JP2014524096A - クラウドコンピューティングのためのシステム及び方法 - Google Patents

クラウドコンピューティングのためのシステム及び方法 Download PDF

Info

Publication number
JP2014524096A
JP2014524096A JP2014523028A JP2014523028A JP2014524096A JP 2014524096 A JP2014524096 A JP 2014524096A JP 2014523028 A JP2014523028 A JP 2014523028A JP 2014523028 A JP2014523028 A JP 2014523028A JP 2014524096 A JP2014524096 A JP 2014524096A
Authority
JP
Japan
Prior art keywords
container
appliance
network
cloud
appliances
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
JP2014523028A
Other languages
English (en)
Other versions
JP6329899B2 (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 JP2014524096A publication Critical patent/JP2014524096A/ja
Application granted granted Critical
Publication of JP6329899B2 publication Critical patent/JP6329899B2/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/5061Partitioning or combining of resources
    • G06F9/5072Grid computing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/10Active monitoring, e.g. heartbeat, ping or trace-route
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0709Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a distributed system consisting of a plurality of standalone computer nodes, e.g. clusters, client-server systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/0757Error or fault detection not based on redundancy by exceeding limits by exceeding a time limit, i.e. time-out, e.g. watchdogs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2035Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant without idle spare hardware
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2043Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant where the redundant components share a common memory address space
    • 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/54Interprogram communication
    • G06F9/547Remote procedure calls [RPC]; Web services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2097Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements maintaining the standby controller/processing unit updated

Abstract

開示される実装方法は、耐障害性及び可用性のあるプライベートクラウドを提供するために、汎用サーバノードと組合わせて構成してもよい、ハードウェアアプライアンス、及び、そのアプライアンスの使用方法、を含む。実装方法は、ソフトウェアコンテナのためのホスト、並びに、外部ネットワーク及びクラウドノードと通信するためのスイッチ、を用いることができる。このようにして、このクラウドコントローラアプライアンスは、企業内部にプライベートクラウドを配置するシステムを、提供することができる。
【選択図】図3

Description

本特許文献に記載される技術は、クラウドコンピューティング、特に、プライベート化されたクラウドの実装に関する。
クラウドコンピューティングは、ユーザにコンピューティングインフラへのリモートアクセスを許可するために確立されたコンピュータネットワークを取り扱う。このように、ユーザは、インフラを購入及び運用する必要はなく、むしろ、ネットワーク上のどこか他の場所に存在するインフラの利用を購入することを許可される。このように、ユーザは、弾力性のあるインフラを利用することが可能となる。
プライベートクラウドネットワークおよびパブリッククラウドネットワークは、様々なレベルのアクセスを提供するために存在する。プライベートクラウドを使うかパブリッククラウドを使うかの決定は、それぞれのパフォーマンスに影響される。
ここで説明されるように、開示される実装方法は、多くの典型的な利益を提供する。当該利益には、例えば、膨大なデータワークロードを組織がより経済的に管理できるようにすること、開発、統合、又は、コンサルティング、を必要としないすぐに使える解決方法を提供すること、汎用のハードウェアを利用してコストを削減することにより実現可能なプライベートクラウドを提供すること、特定のベンダのソリューション内に閉じ込められる企業の窮状を取り除き、代わりに、それら企業が、必要な任意のコンピュートハードウェアおよびストレージハードウェアを選んで簡単に新しいハードウェアに交換できるようにすること、企業がより少ない時間と費用でプライベートクラウドを構築および管理できるようにして、より多くのリソースを事業経営に利用できるよう残せるようにすること、そして、プロバイダが新しいアプリケーションを制作できるようなオープンプラットフォームを提供すること、などが含まれる。
オープンソースのプライベートクラウドプラットフォーム
組織は、ハードウェアとソフトウェアの互換性の問題なしに、つまり高いコストをかけず、プライベートクラウドが提供する柔軟性を求めている。要するに、企業は、「Amazon Web Services (AWS) behind the firewall」、つまり、企業により完全にコントロールされたままであって、柔軟で無制限のストレージ、を求めている。
このビジョンを実現するためには、企業は、オープンソースのソリューションと組み合わされた、入手可能である上に強力な汎用ハードウェアを利用することができなければならない。そのようなハードウェアおよびソフトウェアの組み合わせは、コンサルタントの介在なしに、IT部門によって円滑に管理される必要があり、不具合があった場合に簡単に交換できるコンポーネントが基礎となっているべきである。
理想的なプライベートクラウドプラットフォームは、ビッグデータに対して拡張性があり、ソフトウェアおよびハードウェアと予め一体化されることを含んでおり、トータルの所有コストが小さいために費用が安く、優れた耐障害性(耐障害性)を有しており、そして、安全で準拠している。
マーケット
ここに開示されるシステム及び方法は、プライベートクラウドを開発及び管理する能力が成功のために重要であるような業界において役立つ可能性があり、また、多くの共通の課題に対処することが可能である。例えば、プライベートクラウドは、バイオテック/ライフサイエンス(研究開発のサイクルを短くする、臨床試験の費用および時間を削減する、研究者との共同研究を促進する)、金融サービス(ポートフォリオリスク分析を行う、不正を発見する)、テレコミュニケーション(顧客離れを減らす、ソーシャルメディアやコンタクトセンター(contact center)の情報を分析する)、小売り(サプライチェーンの効率を改善する)、消費者のウェブ環境(コンピュートおよびストレージのリソースを早く提供する、ソフトウェア開発のライフサイクルを短縮する、推薦エンジン(recommendation engines)を改善するデータを分析する)、などで使用することが可能である。
本システムの一例は、プライベートクラウドコンピューティングネットワークを運用するように構成されたシステムであって、少なくとも一つのホスト、および、少なくとも一つのスイッチをそれぞれ備える一つ以上のハードウェアアプライアンスを備え、少なくとも一つのホストが、少なくとも一つのソフトウェアコンテナを管理するように構成され、そして、少なくとも一つのスイッチが、少なくとも一つのクラウドノードと通信するように構成され、かつ、少なくとも一つの外部ネットワークと通信するように構成される、システム、として説明することができる。さらに、前記の一つ以上のアプライアンスは、クラウドネットワークの運用/可用性を維持するように構成される。これは、後述するように、ネットワーク化された際のその冗長性能を通じてなされる。
この例においては、一つ以上のコンテナを、プロビジョニングコンテナ(provisioning container)、ロギングコンテナ(logging container)、データベースコンテナ(database container)、キューコンテナ(queue container)、DNSコンテナ(DNS container)、および、ロードバランサコンテナ(load balancer container)、のリストから選択することができる。
さらに、本例においては、前記一つ以上のアプライアンスは、クラウドコンピューティングシステムを定義づける一つ以上のゾーン内でグループ化され、前記ゾーンにおける前記アプライアンスは、マネジメントネットワーク、ゲストインスタンスネットワーク、及び、外部ネットワーク、の仮想ローカルエリアネットワークのうち一つ以上を通じて互いに通信するように構成され、前記ゾーンにおける前記アプライアンスは、プロビジョニングネットワークによって内部的にノードと通信するように構成されている。
そして、このシステムの例は、さらに、各接続されたデバイスを管理するように、かつ、それらの接続されたデバイスのステータスを提供するように、構成された、ウェブベースのユーザインターフェース、をさらに備えることができる。このアプライアンスの例は、前記クラウドネットワークを、運用、及び/又は、管理、するように構成された、オープンスタックコンテナとしての少なくとも一つのコンテナを有することができる。また、それは、前記クラウドネットワークの運用/可用性を維持するためのコンフィギュレーションであって、ハートビートシステム、及び、オーケストレーションマネージャ、を通じて、少なくとも一つのアプライアンスその他のモニタリングからなるコンフィギュレーションを有することができ、前記ハートビートシステムは、適切な動作を保証するために、アプライアンス、及び/又は、コンテナ、及び、前記オーケストレーションマネージャ、の間において、通信し、及び/又は、ステータスチェックを実行するように、構成された、一つ以上のコンポーネントを含むことができる。
このシステムの例は、それぞれ、冗長性のための同一のコンテナを備える一つ以上のアプライアンスを有することができる。そして、このシステムは、前記ハートビートシステムによって、前記の少なくとも一つのアプライアンス、及び、前記の少なくとも一つのコンテナ、を監視するように、かつ、前記ハートビートシステムが、前記のコンテナ、又は、前記のアプライアンス、が正常に動作していないことを示した場合、ネットワーク化されたアプライアンス内の別のコンテナ、又は、別のアプライアンス、を指定するように、構成された、オーケストレーションマネージャである、前記の一つ以上のコンテナのうちの少なくとも一つを有することができる。
このシステムの例は、前記一つ以上のアプライアンスに由来する一つ以上のコンテナにわたって、ロードを分散するように構成されたロードバランサである、前記ホスト内の前記一つ以上のコンテナの一つを有することができる。そして、少なくとも一つのスイッチは、仮想マシン、ストレージ、及び、計算、のリストから取り込まれるタスクの少なくとも一つに関する、前記の少なくとも一つのクラウドノード、と通信するように、かつ、データを、少なくとも一つの外部ネットワークへ送信、及び、前記少なくとも一つの外部ネットワークから受信、するように、構成されている。
アプライアンスがクラウドノードと通信することのできる別の例は、少なくとも一つのスイッチによって、外部ネットワークから、データリクエストを受信するステップ、少なくとも一つ以上のソフトウェアコンテナにおいて、前記の受信したデータリクエストを処理するステップ、及び、少なくとも一つのスイッチによって、少なくとも一つのクラウドノードへ、クラウドノードデータリクエストを送信するステップ、少なくとも一つのスイッチによって、少なくとも一つのクラウドノードから、クラウドノードデータを受信するステップ、前記少なくとも一つ以上のソフトウェアコンテナにおいて、前記の受信したクラウドノードデータを処理するステップ、及び、前記の受信したデータリクエストへの応答として、前記外部ネットワークへ、前記の処理されたデータを送信するステップ、による。この例では、少なくとも一つのアプライアンスは、別のアプライアンス、又は、多数のアプライアンス、と通信するように、構成される。
この例においては、少なくとも一つのアプライアンスは、冗長性のために構成された二つ以上のネットワーク化されたアプライアンスであり、かつ、前記冗長性は、コンテナタスクを引き継ぐための、冗長コンテナのホスティング、を含む。さらに、前記のバックアップは、前記のネットワーク化されたアプライアンスコンテナの全てとハートビートシステムによって通信するように構成された、オーケストレーションマネージャコンテナを含むことができ、前記オーケストレーションマネージャコンテナは、任意のネットワーク化されたアプライアンス内の少なくとも一つの冗長コンテナであって、前記ハートビートシステムが正常に動作していないと示す少なくとも一つのコンテナの役目を引き継ぐための冗長コンテナを指定する。
さらにこの例について、前記の少なくとも一つのコンテナは、少なくとも一つのコンテナにタスクを割り当てるように構成されたロードバランサであって、前記少なくとも一つのコンテナは、同一のアプライアンス内で、又は、別のネットワーク化されたアプライアンス内で、前記ロードバランサとしてホストされる。そして、この方法は、前記のクラウドネットワークを管理するように構成されたオープンスタックコンテナとしての少なくとも一つのコンテナを有することができる。
再び、この例において、前記のコンテナの少なくとも一つは、前記の少なくとも一つのコンテナからのハートビート情報を受信するように、前記の受信したハートビート情報を処理するように、かつ、前記コンテナが正常に動作していないことを前記ハートビート情報が示している場合、コンテナを交換するための少なくとも一つの他のコンテナを指定するように、構成されたオーケストレーションマネージャコンテナであり、前記少なくとも一つの他のコンテナは、前記のネットワーク化されたアプライアンスのいずれかに含まれる。
そして、これは、マネジメントネットワーク、ゲストインスタンスネットワーク、及び、外部サービスネットワーク、の仮想ローカルエリアネットワークのうちの一つ以上によって通信する、ネットワーク化されたアプライアンスであって、アグリゲーションスイッチによって、外部ネットワークと通信するように構成されたアプライアンスを用いることができる。
最後の一例は、プライベートクラウドコンピューティングネットワークを運用するように構成されたシステムであって、少なくとも一つのスイッチによって、外部ネットワークからデータリクエストを受信し、少なくとも一つ以上のソフトウェアコンテナにおいて、前記の受信したデータリクエストを処理し、少なくとも一つのスイッチによって、少なくとも一つのクラウドノードへクラウドノードデータリクエストを送信し、少なくとも一つのスイッチによって、少なくとも一つのクラウドノードからクラウドノードデータを受信し、前記少なくとも一つ以上のソフトウェアコンテナにおいて、前記の受信したクラウドノードデータを処理し、前記受信したデータリクエストへの応答として、前記外部ネットワークへ前記の処理したデータを送信するように、構成された一つ以上の、コンポーネント、及び/又は、ハードウェアアプライアンス、を備え、前記の少なくとも一つのアプライアンスは、少なくとも一つの他のアプライアンスと接続するように構成されたシステムであってよい。
このシステムの例は、オーケストレーションマネージャとしての少なくとも一つのコンテナを有することができる。当該オーケストレーションマネージャは、ハートビートシステムを用いて前記の少なくとも一つのコンテナの冗長性を管理するように構成され、前記ハートビートシステムは、前記少なくとも一つのコンテナ、及び、前記オーケストレーションマネージャコンテナ、の間の、コンテナのパフォーマンスに関する通信からなり、前記オーケストレーションマネージャは、正常に動作していないコンテナを、別のアプライアンスに含まれる別のコンテナと交換するように構成される。
そして、このシステムの最後の例は、前記のネットワーク化されたアプライアンスのいずれかの内の任意のコンテナにわたって、ロードを分散するように構成されたロードバランサとしての、少なくとも一つのコンテナを有することができる。
本願において説明される実装方法をよりよく理解するために、以下の図面と併せて、下記の詳細な説明が参照されるべきである。参照番号は、図面を通じて、対応する箇所を示している。
最近のデータの成長を示す図である。 パブリッククラウド対プライベートクラウドの長所と短所を示す図である。 開示された実装方法に基づく、代表的な、プライベートクラウドの実装のためのネットワークのコンフィギュレーションを示す図である。 開示された実装方法に基づく代表的なアプライアンスを示す図である。 開示された実装方法に基づく、代表的な、コンポーネント間のネットワーク通信路を示す図である。 開示された実装方法に基づく、代表的な、アプライアンス間のネットワーク通信路を示す図である。 開示された実装方法に基づく、代表的な、コンポーネント間の通信路とプロトコルを示す図である。
実装方法について詳述する。それらは、添付の図において図示されている。以下の詳細な説明においては、ここで示される内容の十分な理解を与えるために、多くの具体的な詳細が説明されている。しかし、当業者にとっては、これらの具体的な詳細がなくとも、当該内容を実施することは可能であると考えられる。さらには、ここで説明される特定の実装方法は、例として与えられるており、本発明の範囲をこれら特定の実装方法に限定するために用いられるべきではない。他の例において、周知のデータ構造、タイミングプロトコル(timing protocols)、ソフトウェアオペレーション(software operations)、プロシージャ(procedures)、および、コンポーネント(components)が、本発明の実装方法の特徴を不必要に不明瞭としないよう、詳細に説明されている。
イントロダクション
情報を、管理、分析、および、理解、する能力は、急速に競争の差異化要素になってきている。データを理解するためにコンピュータの力を利用できない組織は、それら組織が、革新的な躍進を達成できず、顧客にサービスを提供できず、また、グローバルに展開できないことに、気づくであろう。プライベートクラウドは、データ管理において必要とされる、柔軟性、収容力、および、安全性、をつくり出すためのアプローチであるとみなされてきた。しかし、プライベートクラウドテクノロジーの、コスト、および、複雑さ(および未熟さ)が、多くの企業がこれら利益を利用することを妨げてきた。
プライベートクラウド
開示される実装方法は、例えば、企業がデータから重要な躍進や洞察を得ることを妨げている財務的および技術的な障壁を取り除く、プライベートクラウドコンピューティングに対する新規なアプローチを解説している。三つのまとまったトレンドが、プライベートクラウドの採用を現実のものとすることを約束している。
トレンド1:データの爆発
企業は、事業データの急激な成長を経験している。記憶能力および計算能力は、この成長の早さに追いつくことができていない。マッキンゼー(McKinsey)(登録商標)によると、2009年までに、「米国経済のほとんど全ての分野が、1000人以上の従業員を抱える一企業当たり、少なくとも平均200テラバイト(米国の小売業者Wal−Martの1999年のデータウェアハウス(data warehouse)のサイズの2倍)、の保管データを有していた。」とされている(「Big data: the next frontier for innovation, competition, and productivity」マッキンゼー・アンド・カンパニー、2011年5月)。フェイスブック(Facebook)(登録商標)やツイッター(Twitter)(登録商標)などのソーシャルネットワーク(Social networks)は、会員によりアップロードされた莫大な数のデータを、当該データの利用可能性に対するますます高くなる期待を伴って、管理している。このデータの爆発(その一部は、デジタルデバイスおよびビッグデータを中心とする研究が激増することにより引き起こされる)は、新たな分析の、ツール、プロセス、および、プラットフォーム、を生み出しており、これらは、コンピューティングインフラをその性能の限界まで押しやっている。
データの爆発的な増加は、そこから情報が豊富に収集されるため、組織にとって、主としては良いことである。組織は、ビジネストレンドを見抜くため、犯罪行為を発見するため、そして、小さな問題が重大で利益を害する危機になる前にそれらを解決するため、データを利用することができる。
しかしながら、過剰な情報は、ビジネスを促進するものではなく、ビジネスを阻害するものである。企業は、データがますます氾濫するようになっているため、価値ある洞察を得るためのデータ解析ができていない。企業はまた、データの加工用のストレージはおろか、保存用のストレージも有していないのである。
トレンド2:サービスとしてのインフォメーションテクノロジー
企業は、ビジネスのあらゆる部分の効率を最大化する方法を探し求めており、そして、ITも例外ではない。IT部門は、単に技術的サービスを提供するのではなく、コストを管理する、コンプライアンスの要求を満たす、サービスの利用可能性を保証する、−そして、全体的には、ビジネスに価値を付加する、という全体的なビジネスのゴールを共有しなければならない。特に、企業は、ビジネスにおける素早さに対する要求を満たすために、ITサービスに頼っている。
弾力性のある、コンピュート、ストレージ、および、ネットワーク、のサービスをつくり出す必要性のみならず、ビジネスにおける素早さという目的を満たすため、IT部門は、彼らの能力を補うのに資するものとしてクラウドサービスに期待している。例えば、クラウドの利用は、効率や経営を改善し、コストを削減し、そして、成長の機会を増加させる。
他の技術トレンドが、サービスインペラティブ(Service imperative)としてのITに流れ込んでいる。企業は、プライベートクラウドの環境が整うと、突然多くのアプリケーションやコンフィギュレーションメディケーション(configuration medications)を管理するようになる。ガートナー(Gartner)(登録商標)によると、ひとたび組織がプライベートクラウドを採用すると、RFC(request for change)は2,000/月から70,000/月に増加する可能性があり、稼働中のアプリケーションは200から3,000に増加する可能性がある。ガートナーは、「サービス指向アーキテクチャ(SOA)へと傾倒する結果として、ダイナミックな変化要求を伴って、変化量が増加するであろう。」としている。「IT組織がサービス提供者へと進化すると、変化およびコンフィギュレーションへの集中が継続し、ビジネス価値を示すのはより容易になるであろう。」(「Best Practices in Change, Configuration and Release Management」ガートナー、2010年7月)
開示された実装方法は、実装および運用における,コスト、複雑さ、および、パフォーマンス、の問題を解決するのに必要とされるアーキテクチャについての大きな進歩を提供する。金融サービス、バイオテクノロジー、および、エネルギー、などの多様な業界が、劇的に削減されたコストで、かつ、遙かに簡単な技術で、それら業界が有する最大のデータ処理という課題に対処することができる。結果として、常に増え続けるデータの中に見出される豊富な知識や発見を大いに利用することが可能となる。
トレンド3:オープンソース及びコモディティスケールアウトアーキテクチャ
オープンソースソフトウェアへの流れによって、企業は、独自のプライベートクラウドの開発により注視するようになっている。ソフトウェアサービスのレイヤおよびストレージそれ自体がコモディティ化するにつれて、ウェブ企業は−仕方なく−コモディティハードウェアの上に、安価にスケールアウトした独自のアーキテクチャを構築した。フェイスブックやグーグル(Google)(登録商標)などのマーケットリーダーはこの方法を取っており、必要な計算力及びストレージを集中させるため、汎用の機械同士をつなげ、そして、独自のアプリケーションを書いている。オープンソースおよびコモディティスケールアウトアーキテクチャの実質的な利益は、それらがクラウドシステムの安価なスケールアウトを可能にしたという点である。
プライベートクラウドの問題点
上記のトレンドによりプライベートクラウドの採用がますますもたらされる一方で、それらのインプリメンテーションに対するいくつかの問題点が依然として存在する。そのような問題点のいくつかの例は以下の通りである。
問題点1:実証済みのスケールアウト
大量のデータを扱っている非常に大きい企業は、彼らがほぼ無制限のストレージおよび順応性を有するプライベートクラウドをつくり出すことができるということを示している。しかしながら、この種の企ては、非常に多額の予算及び多数のスタッフを有する企業に限られる傾向がある。プライベートクラウドは大抵、複雑で高価なサーバ及びストレージソリューションのインプリメンテーションを必要とし、それら全てが互換性およびインテグレーションの問題を生み出す可能性がある。これらの問題を解決するためには、企業は、それらのクラウドソリューションにおける全てのコンポーネントが協働して必要なコンピューティングプラットフォームをつくり出すようにするために、高額なコンサルタントのサービスを購入しなければならない。このレベルで、システムの、統合、開発、及び、試験、を実行するために要求されるスキルは、高度に専門化され、そして通常は社内で利用することはできない。それゆえに、外部のコンサルタントが必要とされる。
問題点2:コンピュート及びストレージの停滞
データは、プライベートクラウドのストレージ能力よりも速く増大している。下記の図1で示されるように、エコノミスト誌(The Economist)は、インターナショナル・データ・コーポレーション(IDC)によると、世界のデータは2011年末までに1,750エクサバイトに達する見込みであり、一方で利用可能なストレージは750エクサバイトまでしか到達しないと予測されている、と伝えている。
問題点3:システム障害に対する脆弱性及び傾向
システムは、予測不可能で、また、その最も弱い要素と同じ程度に不安定である。システム障害は常に脅威である。企業は、耐障害性を企業のプライベートクラウドに組み込もうと試みることはできる。しかし、サーバが機能しなくなると、交換費用は高く、そして、データは何時間も利用できなくなる可能性がある。図2は、パブリッククラウド対プライベートクラウドの、長所と短所を示している。
オープンソース及びコモディティスケールアウトアーキテクチャ
オープンソースソフトウェアへの流れによって、企業は、独自のプライベートクラウドの開発により注視するようになっている。ソフトウェアサービスのレイヤおよびストレージそれ自体がコモディティ化するにつれて、ウェブ企業は−仕方なく−コモディティハードウェアの上に、安価にスケールアウトした独自のアーキテクチャを構築した。フェイスブック(登録商標)やグーグル(登録商標)などの市場のリーダーはこの方法を取っており、必要な計算力及びストレージを集中させるため、汎用の機械同士をつなげ、独自のアプリケーションを書いている。
アーキテクチャの概観
開示された実装方法の基礎は、耐障害性があり利用可能なプライベートクラウドを提供するために、汎用のサーバノードと一体となるように構成することのできるハードウェアアプライアンス、および、そのアプライアンスの使用方法、である。このクラウドコントローラアプライアンス(cloud contoroller appliance)は、企業内部にプライベートクラウドを配置するシステムを提供することができる。分散コントロールプレーン(distributed control plane)、及び、さらなる高可用性(HA)のプライベートクラウド、をつくり出すため、複数のアプライアンスを併せて使用することが可能である。
図3は、この例では、固有の、ホスト312、及び、スイッチ330、を有する一つのアプライアンス310により構成される、ゾーン300の例の全体像を示している。アプライアンス310は、外部ネットワーク350と通信する。アプライアンス310はまた、クラウドノード360及び370とも通信する。この図3は、単に一実施例にすぎない。アプライアンス、クラウドノード、および、外部ネットワーク、の数は任意の数でよい。
例であるアプライアンス310の内部には、ホスト312およびスイッチ330がある。ホスト312は、一組のクラウドマネジメントソフトウェアコンテナ320、および、一組のオープンスタックコンテナ340、を管理する。スイッチ330は、外部カスタマーネットワーク(external customer network)350および、例360および370として示されているようなクラウドノードと通信するように構成される。
ゾーン
図3では、二つのクラウドノード360および370、並びに、外部カスタマーネットワーク350、と接続するアプライアンス310が一つだけ示されている。この例では、このグルーピングは、ゾーン300と呼ばれる。この配置は単に一例に過ぎない。また、対応するクラウドノードを有し、外部カスタマーネットワークと通信するアプライアンスであって、ゾーン300において協働するアプライアンスは、任意の数である。
ゾーン300は、互いに通信する一組のアプライアンスの周囲における、抽象概念である。クラウドは、一つまたは複数のゾーン300から構成されてもよい。ゾーン内部では、単一のアプライアンスを用いることができる。しかしながら、高可用性(HA)を確実なものとするためには、複数のアプライアンスを伴うコンステレーションアプローチ(constellation approach)が必要とされる。従来の高可用リナックス(Linax−HA)技術を用いることができ(例えば、ハートビート(Heartbeat)/ペースメーカー(Pacemaker))、また、フローティングインターネットプロトコル(IP)アドレスを用いてゾーンを代表させることができる。これら実施例は、この公開中で後述されている。
オープンスタック
この説明中で、「オープンスタック(OpenStack)」の用語は、あるオープンソースプラットフォームを説明するために用いられ、この例においては、プライベートクラウドのソフトウェア基盤として用いられる。この公開の中では、「オープンスタック」の用語が使用される場合はいつでも、任意のクラウドコンピューティングネットワークのソフトウェア基盤として用いられる、後述の、類似のプラットフォームの実施例と、代替することができる。
オープンスタックは、効果的に配置するのが難しいかもしれない。ここで説明されるように、公開される実施例は、プライベートクラウドを効果的に実装および管理すべくオープンスタックの効果的かつ効率的な配置を容易にするために、一つのハードウェアアプライアンス(または複数のハードウェアアプライアンス)を利用しており、それによって、オープンスタックプライベートクラウドの設定および配置の複雑さを排除している。ここで説明されるアプライアンスは、既存のシステムに適合するように構成され、かつ、「プラグアンドプレイ」方式によって使用することができ、また、処理ワークロード、ストレージソリューション、および、ここで説明される追加の特徴、を提供するために、汎用のサーバノードを利用している。図3は、公開される実施例によるプライベートクラウドの実装のための代表的なネットワークコンフィギュレーションを示している。
プライベートクラウドの運用のためのサービスは、ソフトウェアコンテナとしてのアプライアンス内部に収容することができる。これらには、マネジメント・アンド・プロビジョニングダッシュボード(Management and Provisioning Dashboard)、オープンスタックコンピュートネットワークマネジメント(OpenStack Compute Network Management)(IPAM、DNS、DHCP)、オープンスタックコンピュートAPI(OpenStack Compute API)、オープンスタックイメージレジストリAPI(OpenStack Image Registry API)、オープンスタックストレージAPI(OpenStack Storage API)、オープンスタックアイデンティティマネジメント(OpenStack Identity Management)、コンピュート・アンド・ストレージプロビジョニングAPI(Compute and Provisioning API),データベースサービス・アンド・キューイングインフラストラクチャ(DatabaseService and Queuing infrastructure)、ログアグリゲーション・アンド・シッピング(Log aggregation and shipping)、ヘルスモニタリング(Health Monitoring)、および、サービスロードバランシング(Service load balancing)、が含まれ得るが、しかし、これらに限られない。
クラウドノード
アプライアンス310内のスイッチ330は、任意の数のクラウドノードと通信するように構成される。図3におけるこの例では、二つのクラウドノード360および370が示されている。ここで説明されるクラウドノードは、意図された、ワークロード、および、ストレージのニーズ、にとって適切なハードウェアコンフィギュレーションにより構成される、任意の汎用サーバであってよい。適切なクラウドノードサーバは、例えば、OpenCompute、Dell(登録商標)、HP(登録商標)、IBM(登録商標)、などを含むが、しかし、他のものでも同様に機能するかもしれない。クラウドノードは、ライブマイグレーション(live migration)のための稼働中の仮想マシン(virtual machines)を格納するのに用いられる。ノードはまた、より永続的で信頼性のあるストレージのために稼働中の仮想マシンに取り付けられるブロックデバイス(block devices)、をつくるために用いることもできる。
コンステレーションアプローチ
公開される実施例のアプライアンスは、単独で作動させることもできるし、より好ましくは、グループで作動させることもできる。図3では、一つのアプライアンス310のみが示されている。しかしながら、共にネットワーク化された任意の数のアプライアンスが存在し得る。これらアプライアンスが共にネットワーク化されているとき、本公開の他の箇所で説明されるように、それらアプライアンスはゾーンの中でグループ化することができる。プライベートクラウドのロジカルゾーン(logical zone)に、より多くのアプライアンスが追加されるにしたがって、パフォーマンスは向上し、かつ、サービスはより耐障害性を増す。このように、より多くのアプライアンスが「コンステレーション」に追加されるにしたがって、システムの、冗長性、耐障害性、及び、パフォーマンス、が全体として直線的に向上する。
クラウドマネジメントコンテナ
さらに、図3の実施例において、クラウドマネジメントコンテナ320は、アプライアンス310のホスト320の内部に示されている。これらクラウドマネジメントコンテナ320は、クラウド、又は、ゾーン、の内部における、アプライアンス及び他のコンポーネント、及び、ソフトウェアコンテナ、の管理を容易にするために、用いられる。拡張性のある管理ツールを利用することで、しばしば個々の配置それぞれに特有のカスタマイゼーションとともに、複合環境(hybrid environment)での管理が可能となる。マネジメントコンテナ320は、ウェブベースのユーザインターフェースを含むことができ、これは、接続されたデバイスを管理し、かつ、システム内の各デバイスの現在のステータスを提供する。
クラウドコントローラアプライアンス
アプライアンスは、(たとえ、現在、ゾーンコントローラ(zone controller)/ゾーンマスタ(zone master)であっても、)ゾーンの一要素となり得るし、かつ、ゾーンIPから独立した独自のIPを有し得る。下記のように、アプライアンスレベルのオペレーションは、主として、アプライアンスを構成する個々のコンポーネントのプロビジョニングのような機能を中心として展開するであろう。
Figure 2014524096
これらのオペレーションは、主として、コマンドラインインターフェース、又は、ウェブインターフェース、から情報を得るために存在する。したがって、各アプライアンス及び内部のコンテナの状態及び健康状態(health)についての、非常に詳細な情報を得ることができる。
コンテナによる組織化
図4は、図3に示したアプライアンス、及び、それに関連するクラウドノード、の詳細である。図4に示されているように、ここに説明される各アプライアンス400は、様々なソフトウェアコンテナを管理するホスト464、及び、ここに説明されるスイッチ440、を含むことができる。各コンテナは、設定、リスタート、シャットダウン等のカスタムオペレーション(custom operations)を有してもよい。
ホスト
ホスト420は、例えば、多くのソフトウェアコンテナを管理する。いくつかのコンテナは、アプライアンス、及び、クラウド、を管理するために用いることができるが、例えば、ゾーン、アプライアンス、及び、コンテナ、を管理するためのAPIを公開するオーケストレーションマネージャ(OrchestrationManager)424、データベースサービス(DatabaseService)426、及び、分散ストレージサービス(DistributedStorageService)422、などである。他の目的のためには、別のコンテナは用いることができる。それらは任意の様々なソフトウェアであってよく、そして、いくつかの例としては次のものを含んでもよい。
プロビジョニングサービスコンテナ(ProvisioningService container)436は、アプライアンスにつながれたノードのベアメタルオーケストレーション(bare−metal orchestration)を容易にし、オペレーティングシステムのコンフィギュレーションを起動(boot strap)し、そして、アプライアンス内部の各個別のサービスコンテナを構成及び創作するように、構成される。
プロビジョニングサービスコンテナ436は、ベアメタルオーケストレーションに用いられるソフトウェアである。これは、オペレーティングシステムイメージ(operating system image)を取得し、そして、PXEプロトコルのような標準的なプロトコルを使って、ネットワークを超えて、コンピュートノード、又は、ストレージノード、にオペレーティングシステムイメージを適用する。プロビジョニングサービス436はまた、DHCPにより、IPアドレス管理を提供することもできる。オペレーティングシステムイメージは、分散ストレージサービス422を用いて、アプライアンスのグループ内で共有することができる。
ここに説明されるメッセージディスパッチャコンテナ(MessageDispatcher container)は、HTTPベースのメッセージのディスパッチングのシステムである。これは、マネジメントダッシュボード及びコマンドラインインターフェースのツールを用いて、APIリクエストに情報を提供し、かつ、システム管理者及びオーケストレーションマネージャソフトウェアの間を橋渡しするために用いることができる。
データベースサービスコンテナ426は、他のアプライアンスサービスによって使用可能な、高可用性の、ストレージ状態、及び、コンフィギュレーション情報、のデータベースを提供する。データベースは、分散ストレージサービスの上に位置し、高速のフェイルオーバー(failover)及びレプリケーション(replication)の能力を実現している。
ロギングサービス(LoggingService)438コンテナは、プライベートクラウドの外側のシステムへのログシッピング能力だけでなく、rsyslogのようなシステムを通じたロギング能力を提供する。また、ロギングサービス(LoggingService)438コンテナは、ArcSiteやSplunkのような、多くの標準的なセキュリティ及びオペレーションソフトウェアへのアップリンク(uplink)を提供する。
バランササービスコンテナ(BalancerService container)432は、ロードバランサ(load balancer)となるように構成される。バランサコンポーネントは、HAProxyのような技術を用いて、実装することができる。バランササービス432は、SSL terminationのフロントエンド(front end)を、nova−apiやglance−apiなどの様々なウェブベースのAPIに対する、各リクエストに提供することができる。バランササービスは、インテリジェントロードバランシング(intelligent load balancing)を、これらのAPIサービスに提供することができ、より多くのアプライアンスが追加されるにしたがってパフォーマンス及び信頼性が向上する。
モニタリングサービスコンテナ(MonitoringService container)434は、負荷を監視するように構成されたサービスとなるように構成される。モニタリングコンポーネントは、NagiosやGangliaのような技術を含み得る。モニタリングサービスは、汎用ハードウェア又はサービスの障害が多く発生した場合に、イベントベースの警告(alerting)を提供し、かつ、システム管理者がそれらの配置の健康状態の変化へと注意を向けることを可能とする。モニタリングサービスは、リアルタイム及びヒストリカル(historical)なシステムレベル測定基準のモニタリングを提供し、CPUの使用、ディスクI/O、ネットワークI/O、その他をリアルタイムに見ることが可能となる。
ダッシュボードサービスコンテナ(DashboardServices container)464は、ウェブベースのダッシュボードに向かった管理者及びエンドユーザの両者を提供するように構成される。ダッシュボードサービス464は、システム管理者に、自身のプライベートクラウドの高レベルな、コンフィギュレーション、及び、運用ステータス、を見る方法を提供する。ダッシュボードサービスは、エンドユーザに、稼働中の自身のバーチャルインスタンス(virtual instances)を監視する手段、自身のオブジェクトストア(object store)にアクセスする手段、及び、仮想マシンイメージ(virtual machine images)を管理する手段、のような、個人のクラウドアプリケーションを管理する多くの機能を提供する。
この例における最後のコンテナは、オープンスタックの一部である。それらは、glanceコンテナ466、keystoneコンテナ460、及び、Novaコンテナ428、である。環境次第で、他のオープンスタックコンテナをここで用いることもできるし、より少ないオープンスタックを用いてもよい。さらに、オープンスタックの他に、他の類似のタイプのコンテナをこれらの場所で管理してもよい。
この例においては、Glanceコンテナ466(オープンスタックの一部)は、仮想マシンイメージストアとなるように構成される。このコンテナは、システムのユーザが、自身の稼働中の仮想マシンのスナップショット(snapshots)を撮り、かつ、スナップショットをアップロードすることを、可能とするように構成されており、好きなように、そのイメージの多くのインスタンスを素速く提供することを可能とする。Glanceコンポーネントは、glance−api及びglance−registryを含む。Glance−apiは、このサービスに対するHTTPベースAPIのフロントエンドであり、また、glance−registryは、仮想マシンイメージを保存及び取得する、核となるコンポーネントである。
Keystoneコンテナ460(オープンスタックの一部)は、アブストラクションアイデンティティマネジメントシステム(abstraction identity management system)を提供するように構成することができる。このコンテナは、共通の認証(authentication)及び認可(authorization)のフロントエンドとして機能するように構成することができる。このコンポーネントは、keystone−apiを含んでいるが、これは、LDAP、Kerberos、及び、ActiveDirectoryのような、多くの共通の認証システムに対するアイデンティティマネジメントフロントエンドである。これにより、カスタマーが、自身の既存アイデンティティマネジメントシステムを、オープンスタックサービスとともに使用することが、可能となる。
Novaコンテナ428(オープンスタックの一部)は、ノードを支持及び/又は制御する補完的なサービスを提供する。Nova428コンポーネントは、nova−network、nova−scheduler、及び、QueueServices、を含む。Nova−networkは、ノードに対する、IPアドレスマネジメント及びDHCPサービスを提供する。Nova−schedulerは、Nova APIからの仮想マシンプロビジョニングリクエストを受け取り、そして、負荷及び他の要素に基づいて、コンピュートホストを知的に選択する。QueueServicesは、様々なNovaコンピュートサービスの全てに対するキューベースのメッセージ通信を提供し、ゾーンを横断する拡張性のある通信を可能にする。
スイッチ
アプライアンス400のスイッチ440は、様々な、クラウドノード450、及び、外部ネットワーク(図示されていない)、と通信するように構成される。任意の適切なタイプのネットワークスイッチ440を、アプライアンスにおいて、ネットワークスイッチ440として使用することができる。これにより、アプライアンスにつながれた全てのノードに対する、高速で冗長性のあるネットワーク接続性を提供することが可能となる。
クラウドノード
図4の例は、アプライアンス400のスイッチ440とつながった多くのクラウドノードを図示している。一つのアプライアンス400は、任意の数のクラウドノード450を使用することができる。そして、クラウドノード450について、任意のタイプのサーバを用いてもよい。ここで説明されるように、代表的なノードは、nova−computeコンポーネント、及び、分散ストレージサービスコンポーネント、を含むであろう。Nova−compute428は、Nova APIリクエストと、コンピュートノード自体におけるハイパーバイザー(hypervisor)とを、橋渡しするサービスである。このサービスは、nova−apiからnova−schedulerを通じてメッセージを受け取り、かつ、仮想マシンを、作成し、終了し、又は、移行するよう、ハイパーバイザーに指示を出す。分散ストレージサービスは、簡易なライブマイグレーションのための稼働中の仮想マシンを、保存するために用いられる。分散ストレージサービスはまた、より永続的で信頼性のあるストレージのために稼働中の仮想マシンとつなげることのできる、ブロックデバイスを作成するために用いられる。
クラウドノード450はまた、拡張性、信頼性のあるオブジェクトストアを提供することができる。これにより、ユーザは、HTTPインターフェースを超えてオブジェクトを読み書きしたり、あるいは、自身のオブジェクトストアを直接、稼働中の仮想マシンに、標準的なPOSITファイルシステムとして搭載したりすることが可能となる。これらの能力は、ゾーン内の全てのノードによって構成される分散ストレージサービスによって提供される。ここで説明されるように、オブジェクトストレージを提供する代表的なノードは、好ましくは、rsync、swift−account、swift−object、swift−container、swift−container−updater、swift−account−auditor、swift−object−replicator、swift−container−replicator、swift−container−auditor、swift−account−replicator、swift−account−reaper、swift−object−updater、及び、分散ストレージサービスコンポーネント、を含むであろう。
アプライアンスホストO/Sは、好ましくは、以下のロジカルサービス(logical services)を有するが、しかし、環境によって他のものを有したり、より少なくてもよい。データベースサービスのためのストレージを提供する分散ストレージサービス422(ゾーンを横切る共有ストレージ)は、データベースサービス、キューサービス、ログファイル、及び、共有ストレージハートビート/crmを必要とする他の任意のもの、にストレージを提供し、マスター/スタンバイを提供し、フローティングipを管理し、かつ、ロジカルゾーンコントローラを提供する。また、オーケストレーションマネージャ424は、マネージメント、及び、プロビジョニング、の能力を提供する。
ネットワーク接続性
この例におけるアプライアンスは、外部ネットワークと通信するように構成される。これは、カスタマーネットワークであってもよく、あるいは、ここに説明されるシステムの実装のために、任意の種類のコンピューティングネットワークを利用してもよい。適切なネットワーク接続性の代表的な図が、図5に示されている。
図5は、ネットワークがどのようにして、ここに説明されるプライベートクラウドのコンポーネントを接続してよいのかを示した例である。この図では、任意の内部コンテナ(図示されていない)の接続のために、仮想ローカルエリアネットワーク(VLAN)が用いられている。これらのVLANを通じて、コンテナは、隔離したり、外部ネットワークと通信したり、他のコンテナと通信したり、そして、ラック(rack)を下って通信したり、といったことが可能である。
図5はラックが描かれている。当該ラックは、ラック1、つまり522から、任意の数のラック、ここではラック「N」、つまり532までである。これらのラックは、管理ネットワーク540、ゲストインスタンスネットワーク560、及び、外部サービスネットワーク590、によってつながれている。各ラック、つまりラックN(532)及びラック1(522)は、独自のプロビジョニングネットワーク580及び582をそれぞれ有している。これらのネットワークを通じて、ラックは、アグリゲーションスイッチ510及びカスタマーネットワーク514に、VLANトンネル516によって、接続されている。
ここに示される管理ネットワーク(VLAN10)540の例におけるIP範囲は、172.17.0.0/12である。ここに示されるゲストインスタンスネットワーク(VLAN20)560の例におけるIP範囲は10.16.0.0/12である。ここに示されるプロビジョニングネットワーク(LCAN2、Native)580の例におけるIP範囲は192.168.200.0/24である。ここに示される外部サービスネットワーク(VLAN30)590の例におけるIP範囲は、ユーザ定義となる。
高可用性設計
開示される実施例は、ネットワーク化されたアプライアンスの「コンステレーション」アプローチを利用することによって、汎用性サーバのラックを、他のプライベートクラウドソリューションよりも非常に安価なコストで一体として機能する、ノードの組織化されたコンステレーション、に変えてしまうことを可能にする。
アプライアンスの各コンテナは、通信を容易にするために複数のIPアドレス(例えば、10個のIPアドレス)を使ってもよい。グローバルな高可用性メカニズムでは、クラスタリングリソース(clustering resources)のために、追加のIPアドレス(例えば、7個のグローバル(フローティング)IPアドレス)を使用してもよい(例えば、アプライアンス/ゾーンマスタに1つ、内部コンテナ用に6つ)。
図6及び図7は、システムの高可用性(HA)設計の代表的なコンフィギュレーションを示している。図6及び図7は、2つの部分に分けられるが、しかし、線は頁を横切って流れており、断線によってそれが示されている。図6及び図7は、図4に示されているアプライアンスのもう一つの実施例を示しているが、しかし、それに接続可能な様々なアプライアンスの内部、及び、それらアプライアンス間、で通信するコンポーネントコンテナをつなぐ通信線と共に示している。そして、コンテナはアプライアンス内部にある。このようにして、複数のアプライアンスを共にネットワーク化することができ、システムの能力を高めることができる。
特に図6及び図7は、ここでは2つ、すなわち620及び630のみを示すことによって、一連のアプライアンスを描いている。任意の数のアプライアンスが同様に接続され得ると考えられるべきである。
ここで説明されるように、クラウドのHAの側面、つまり冗長性の側面は、(個々のアプライアンスに特有であるのとは対照的に)クラウドに特有のアプライアンス内部のコンテナは、冗長バックアップを必要とするということである。パックアップは、アプライアンスを関連づけることでHAを生み出し、そして、クラウドに特有のコンテナが停止したり、正常に機能していない場合に、別の類似のコンテナが、ロードを取り上げることを保証する。このようにして、アプライアンスは、お互いをバックアップし、アプライアンス内部のコンテナは他のアプライアンスコンテナをゾーン内でバックアップする。
「ハートビート」及び「ペースメーカー」通信
アプライアンスの「コンステレーション」内部で、例えばゾーン内で、各アプライアンスは、ゾーン又はクラウド内部の他の全てのアプライアンスと通信することができる。特に、クラウド内部で共に接続されたアプライアンスは、「ハートビート」シグナルの送信を利用して、他のアプライアンス及びデバイスのステータスを確認し、各々が適切に動作していることを保証すると共に、誤動作がないか確認している。「ハートビート」の利用をより容易にするために、コンテナは好ましくは、「コンステレーション」の内部でマスター又はスレーブの役割を与えられ、リクエストに最も効率よく情報を提供する。
「ハートビート」通信の間に利用するために、フローティングIPアドレスがアプライアンス間で与えられてもよい。データベースサービスのデータレプリケーション(data replication)の持続性において、データベースマスター/スレーブコンフィギュレーションを、データレプリケーションとともに利用することができる。
図6及び図7において、「クラスタip、ペースメーカー+ハートビート」のシンボルが隣に添えられたもの、例えば、データベース664、キュー640、DNS642、及び、バランサ646は全て、クラウドに特有のコンテナの例である。アプライアンスに特有のコンテナの例は、プロビジョニングコンテナ660、又は、ロギングコンテナ662、である。これらは、関連する「クラスタip、ペースメーカー+ハートビート」のシンボルを示していないが、その理由は、これらが、クラウドに特有のコンテナのように高可用性であるように構成されてはいないからである。
アプライアンス620全体もまた、クラスタip、及び、ペースメーカーとハートビートのモニタ622を通じて、隣のアプライアンス630と、その各々の、クラスタip、及び、ペースメーカーとハートビートのモニタ632とに、接続されるように構成されている。このように、アプライアンスも、HAを実現することができる。
この例において、ゾーンを代表するために用いられるフローティングIPは、172.24.1.1.である。IPを用いることで、ゾーンレベルの管理能力が、次のように公開される。
Figure 2014524096
このリストが示すのは、例えばここでは、これらファンクションのうち、どの1アプライアンスにとっても、特別なものはない、ということである。アプライアンスのいずれもが、これらのリクエストに応じることができるが、しかし、論理的な理由から、172.24.1.1.を有する現在のマスターのみである。
バックアップは、アプライアンスのオーケストレーションマネージャ626及び636によって管理される。各オーケストレーションマネージャには、分散ストレージシステム628及び638がそれぞれ関連している。クラウドに特有のコンテナはそれぞれ、オーケストレーションマネージャ626に、それらの「健康状態」を、「クラスタip、ペースメーカー+ハートビート」システムを通して、伝える。コンテナの「健康状態」は、その特定のコンテナが有している適切に動作する能力、として考えることができる。コンテナが意図した通りに機能している場合、コンテナは良い「健康状態」を有している。もしそうでない場合、コンテナは、悪い健康状態を有しており、オーケストレーションマネージャ626によって交換する必要があるかもしれない。この場合、オーケストレーションマネージャ626は、別のネットワーク化されたアプライアンス内の、同じ機能を担う新しいコンテナを指定するであろう。
例えば、図6及び図7に示されるように、データベースコンテナ664のようなクラウドに特有のコンテナが不健康になった場合、第1のアプライアンス620のオーケストレーションマネージャ626は、別のアプライアンス630と通信する。交換が必要な関連するコンテナは、ここではデータベースコンテナ664であるが、それは、次のアプライアンス630内の冗長データベースコンテナ674に交換されるであろう。データベースコンテナの例においては、関連するデータベース自体668もまた、その冗長バックアップ678に交換されるであろう。「クラスタip、ペースメーカー+ハートビート」システムがデータベース668に付随して、その関連するオーケストレーションマネージャ636にその健康状態を報告する。
このようにして、ゾーンを通して利用される全てのコンテナ、及び/又は、クラウドを、高可用にすることができる。キュー640は、そのバックアップ650によって、DNS642はそのバックアップ652によって、バランサ646はそのバックアップ656によって、高可用性にすることができる。それらの「クラスタip、ペースメーカー+ハートビート」システム676、650、654、及び、658それぞれについても、同様のことが当てはまる。そして、ここに示される2つだけよりも多くのアプライアンスを用いることにより、HAを任意の数のアプライアンスにまで広げて、より高い冗長性能を得ることが可能である。
ロードバランシング
第1のアプライアンス620のバランサコンテナ646は、多数の他のコンテナと通信するように構成される。しかし、クラウドレベルに特有のコンテナにおけるHAバックアップシステムとは異なり、ロードバランサは、任意かつ全ての利用可能なオープンスタックコンテナに対するロードを、シャッフル(shuffle)、かつ、分散、するために、用いられる。これは、コンテナの「健康状態」を考えながらなされる。しかし、また、多くの他の要素も考慮される。この例では、ロードバランサは、オープンスタックシステム内のコンテナに対するロードを分散している。これは単に例に過ぎず、任意の種類のコンテナを、オープンスタックシステムの役割をさせるために用いることができる。
アプライアンスの例に示されているオープンスタックコンテナは、glanceコンテナ680、dashboardコンテナ682、keystoneコンテナ684、及び、novaコンテナ686である。しかし、HAシステムにおいては、壊れたコンテナ、又は、不良のコンテナ、を交換するために、オーケストレーションマネージャは、別のアプライアンス内にある冗長コンテナを必要とするが、HAシステムとは異なり、ここでは、ロードバランサ646は、タスクを達成するために、任意の数のオープンスタックコンテナを必要とする。glanceコンテナ680、dashboardコンテナ682、keystoneコンテナ684、及び、novaコンテナ686のような、これらのオープンスタックコンテナを、同じアプライアンス内に置くことができる。または、それらは、glanceコンテナ690、dashboardコンテナ692、keystoneコンテナ694、及び、novaコンテナ696、からなる630の組のように、別のアプライアンスに置くことができる。
したがって、図6及び図7に示されるように、バランサコンテナ646は、ロードを、任意かつ全てのこれらコンテナに、設計された任意の方式で、送ることができる。このように、ロードバランサ646をこれら全てのオープンスタックコンテナにつなげている回路は、それらコンテナへと一斉に向かっている。ロードの送信には、任意の代表的な通信回路を用いることができる。
ロードバランサは、依然、全体的なHAシステムの一部でもある。したがって、アプライアンス630のような別のアプライアンス内のバランサコンテナ656は、マスター又はオリジナルのロードバランサ646の健康状態が悪く、オーケストレーションマネージャ626がその情報をバランサ「クラスタip、ペースメーカー+ハートビート」システム648から受け取った場合にのみ、使われる。その場合、次のアプライアンス内のバランサ、ここでは656が、分散タスクを取り上げ、そして、上記の任意のアプライアンス内の、任意かつ全てのオープンスタックコンテナへのロードの分散を開始する。その代替バランサ656は、また、冗長性及びHAを保証するために、その「クラスタip、ペースメーカー+ハートビート」システム658によって、健康状態の情報を、そのオーケストレーションマネージャ636へ送るであろう。
成長
開示されるアプローチによって、組織は、そのような配置に通常含まれる複雑さを排除することによって、組織のクラウドインフラを設け、そして、それを基礎として拡大することができるようになる。耐障害性及び故障防止のために、内部でサービスを構成することができる。共有ストレージシステムを内部で利用することにより、より多くのアプライアンスが追加され、そして、コンステレーションが成長するにつれて、各アプライアンスの入出力のスピードが増加する。
さらに、「コンステレーション」アプローチを利用することで、クラウド環境は拡張可能となり、そして成長する能力を得る。特に、開示される実施例のシステムは、数ノードからなる小さなシステムから、多数のノードへと拡大し、かつ、クラウド全体にわたってノンブロッキングファブリック(non−blocking fabric)を提供する、能力を有する。
耐障害性
耐障害性は、クラウド環境において重要であろう。「コンステレーション」アプローチ、及び、上述のアプライアンス間の「ハートビート」、を利用することで、開示される実施例のシステムは耐障害性を有している。単一のクラウドを形成するため、アプライアンスのグループを共に関連づけることにより、欠陥のあるアプライアンス又は他のコンポーネントを、特定し、分離し、そして、場合によってはシステムから排除することも、可能となる。欠陥が生じた場合、欠陥のあるアプライアンス又はコンポーネントの機能は、「コンステレーション」内の他のデバイスによって引き継ぐことができる。さらに、各機能は、「コンステレーション」内の複数のアプライアンスにより複製することができ、それによって、単一のアプライアンス又は他のコンポーネントが何らかの理由で故障した場合に、システムのクラッシュ及び他の問題の防止する一助となる。さらに、「コンステレーション」の拡張性により、低コストのコンピュート又はストレージのノード又はデバイスを、既存のシステムのラック内に(すなわち、既存の「コンステレーション」内に)追加することが容易になり、また、それらが機能しなくなったときにサーバのラックを交換することさえ容易になる。
自己修復
「コンステレーション」アプローチ及び上述のアプライアンス間の「ハートビート」を用いることによって、一つ以上のアプライアンス又は他のコンポーネントが、機能しなくなるか、又は、誤って機能したかを、診断することができる。これが起こる場合、他の任意のアプライアンスが、好ましく、欠陥のあるアプライアンス又はコンポーネントを修正することができ、必要であれば、それを初期の(又は、その後修正した)状態に復元することができる。
検疫
さらに、一つ以上のアプライアンス又は他のコンポーネントにおいて、セキュリティの欠陥が生じると、欠陥のあるアプライアンス又はコンポーネントを迅速に検疫することができ、そして、それらアプライアンス及びコンポーネントの機能はクラウド内の他のデバイスに引き継がれる。
代表的なハードウェアのバリエーション
ここに説明されるように、上述の実施例は、ハードウェアデバイス及びソフトウェアの任意の組み合わせ、例えば、コンピューティングデバイス上で実行されるモジュールとともに実装される。ここに説明されるデバイス及びコンポーネントは、様々な機能性を例証しており、かつ、いずれの実施例の構造も制限しない。むしろ、様々なデバイス及びコンポーネントの機能性は、様々に分けてもよく、かつ、様々な設計事情により、実行するデバイス及びコンポーネントはより多くても、より少なくてもよい。
ここに説明されるデバイスは、例えば、ストレージデバイスに保存されコンピュータが読み込むことのできる指示(すなわち、コード)のような指示を処理するように設計された、一つ以上のプロセシングデバイスを含んでもよい。プロセシングデバイスは、指示を処理することによって、ここに開示されるステップ及び機能を実行してもよい。ストレージデバイスは、例えば、非一時的(non−transitory)ストレージデバイスのような、任意のタイプのストレージデバイス(例えば、光学ストレージデバイス、磁気ストレージデバイス、ソリッドステートストレージデバイス等)であってよい。代わりに、指示は一つ以上のリモートストレージデバイス、例えば、ネットワーク又はインターネットを通じてアクセスするストレージデバイスに、保存してもよい。コンピューティングデバイスは、さらに、メモリ、入力コントローラ、及び、出力コントローラ、を備えてもよい。バスが、動作可能なように、プロセッサ、メモリ、ストレージデバイス、入力コントローラ、出力コントローラ、及び、任意の他のデバイス(例えば、ネットワークコントローラ、サウンドコントローラ等)を含む、コンピューティングデバイス及びアプライアンスのコンポーネントを、組み合わせてもよい。(例えば実行されるモジュールへの応答として)出力コントローラがディスプレイデバイス上のディスプレイを変換できるような方法で、出力コントローラを、(例えば、有線接続又は無線接続によって)ディスプレイデバイス(例えば、モニタ、テレビジョン、モバイルデバイススクリーン、タッチディスプレイ等)に動作可能なようにつなげてもよい。ユーザからの入力を受信することができるような方法で、入力コントローラを(例えば、有線接続又は無線接続によって)入力デバイス(例えば、マウス、キーボード、タッチパッド、スクロールボール、タッチディスプレイ等)に動作可能なようにつなげてもよい。
もちろん、コンピューティングデバイス、ディスプレイデバイス、及び、入力デバイスは、特定を容易にするためだけに、別個のデバイスとして説明されている。コンピューティングデバイス、ディスプレイデバイス、及び、入力デバイスは、別個のデバイス(例えば、有線によりモニタ及びマウスにつながれたパーソナルコンピュータ)であってもよいし、単一のデバイス(例えば、スマートフォンやタブレットなどの、タッチディスプレイを備えたモバイルデバイス)の中に統合されてもよいし、あるいは、デバイスの任意の組み合わせ(例えば、タッチスクリーンディスプレイデバイスに動作可能なようにつながれたコンピューティングデバイス、単一のディスプレイデバイス及び入力デバイスに取り付けられた複数のコンピューティングデバイス)であってもよい。コンピューティングデバイスは、一つ以上のサーバ、例えば、ネットワーク化されたサーバのファーム(farm)、クラスタ化されたサーバ環境、又は、コンピューティングデバイスのクラウドネットワーク、であってもよい。
ここでは実施例が開示されている。しかしながら、実施例の範囲から離れることなしに、様々な変更をなすことが可能である。前記の説明は、説明のために、特定の実施例を参照して記述されている。しかしながら、上述の実例の議論は、網羅的であることを意図したものではなく、また、開示された正確な形態に発明を限定することを意図したものではない。上述の説明を踏まえて、多くの変更や変種が可能である。発明の原理及びその実際の応用を最もよく説明し、それによって、当業者が、想定される特定の用途に適合するような様々な変更とともに、発明及び様々な実施例を最適に利用できるように、実施例が選択され、また、記述されている。

Claims (20)

  1. プライベートクラウドコンピューティングネットワークを運用するように構成されたシステムであって、
    少なくとも一つのホスト、及び、少なくとも一つのスイッチ、をそれぞれ有する一つ以上のハードウェアアプライアンスを備え、
    前記少なくとも一つのホストは、少なくとも一つのソフトウェアコンテナを管理するように構成され、かつ、
    前記少なくとも一つのスイッチは、少なくとも一つのサーバノードと通信するように構成され、かつ、少なくとも一つの外部ネットワークと通信するように構成され、
    前記の一つ以上のアプライアンスは、前記のクラウドネットワークの運用/可用性を維持するように構成された、システム。
  2. 前記の一つ以上のコンテナが、プロビジョニングコンテナ、ロギングコンテナ、データベースコンテナ、キューコンテナ、DNSコンテナ、及び、ロードバランサコンテナ、からなるリスト、から選択される、請求項1に記載のシステム。
  3. 前記一つ以上のアプライアンスは、一つ以上のゾーン内で、グループ化され、前記ゾーンは、クラウドコンピューティングシステムを定義し、
    前記ゾーンにおける前記アプライアンスは、マネジメントネットワーク、ゲストインスタンスネットワーク、及び、外部ネットワーク、の仮想ローカルエリアネットワークのうち一つ以上を通じて互いに通信するように、構成され、かつ、
    前記ゾーンにおける前記アプライアンスは、プロビジョニングネットワークによって内部的にノードと通信するように、構成された、請求項1に記載のシステム。
  4. 各接続されたデバイスを管理するように、かつ、それらの接続されたデバイスのステータスを提供するように、構成された、ウェブベースのユーザインターフェース、をさらに備える、請求項1に記載のシステム。
  5. 前記の少なくとも一つのコンテナは、前記クラウドネットワークを、運用、及び/又は、管理、するように構成されたオープンスタックコンテナである、請求項1に記載のアプライアンス。
  6. 前記クラウドネットワークの運用/可用性を維持するためのコンフィギュレーションは、ハートビートシステム、及び、オーケストレーションマネージャ、を通じて、前記の少なくとも一つのアプライアンスその他のモニタリングからなり、
    前記ハートビートシステムは、適切な動作を保証するために、アプライアンス、及び/又は、コンテナ、及び、前記オーケストレーションマネージャ、の間において、通信し、及び/又は、ステータスチェックを実行するように、構成された、一つ以上のコンポーネントを含む、請求項1に記載のシステム。
  7. 前記の一つ以上のアプライアンスは、それぞれ、冗長性のための同一のコンテナを備えている、請求項6に記載のシステム。
  8. 前記の一つ以上のコンテナのうちの少なくとも一つは、オーケストレーションマネージャであって、
    前記オーケストレーションマネージャは、ハートビートシステムによって、前記の少なくとも一つのアプライアンス、及び、前記の少なくとも一つのコンテナ、を監視するように、かつ、前記ハートビートシステムが、前記のコンテナ、又は、前記のアプライアンス、が正常に動作していないことを示した場合、ネットワーク化されたアプライアンス内の別のコンテナ、又は、別のアプライアンス、を指定するように、構成された、請求項1に記載のシステム。
  9. 前記ホスト内の前記一つ以上のコンテナの一つは、前記一つ以上のアプライアンスに由来する一つ以上のコンテナにわたって、ロードを分散するように構成されたロードバランサである、請求項8に記載のシステム。
  10. 前記少なくとも一つのスイッチは、仮想マシン、ストレージ、及び、計算、のリストから取り込まれるタスクの少なくとも一つに関する、前記の少なくとも一つのクラウドノード、と通信するように、かつ、データを、少なくとも一つの外部ネットワークへ送信、及び、前記少なくとも一つの外部ネットワークから受信、するように、構成された、請求項1に記載のシステム。
  11. コンピュータにより実施される、プライベートクラウドコンピューティングネットワークシステムの運用のための方法であって、少なくとも一つのハードウェアアプライアンスにおいて、
    少なくとも一つのスイッチによって、外部ネットワークから、データリクエストを受信するステップ、
    少なくとも一つ以上のソフトウェアコンテナにおいて、前記の受信したデータリクエストを処理するステップ、
    少なくとも一つのスイッチによって、少なくとも一つのクラウドノードへ、クラウドノードデータリクエストを送信するステップ、
    少なくとも一つのスイッチによって、少なくとも一つのクラウドノードから、クラウドノードデータを受信するステップ、
    前記少なくとも一つ以上のソフトウェアコンテナにおいて、前記の受信したクラウドノードデータを処理するステップ、及び、
    前記の受信したデータリクエストへの応答として、前記外部ネットワークへ、前記の処理されたデータを送信するステップ、
    を含み、前記の少なくとも一つのアプライアンスは別のアプライアンスと通信するように構成された方法。
  12. 前記少なくとも一つのアプライアンスは、冗長性のために構成された二つ以上のネットワーク化されたアプライアンスであり、かつ、
    前記冗長性は、コンテナタスクを引き継ぐための、冗長コンテナのホスティング、を含む、請求項11に記載の方法。
  13. 前記のバックアップは、前記のネットワーク化されたアプライアンスコンテナの全てとハートビートシステムによって通信するように構成された、オーケストレーションマネージャコンテナを含み、
    前記オーケストレーションマネージャコンテナは、任意のネットワーク化されたアプライアンス内の少なくとも一つの冗長コンテナであって、前記ハートビートシステムが正常に動作していないと示す少なくとも一つのコンテナの役目を引き継ぐための冗長コンテナを指定する、請求項12に記載の方法。
  14. 前記の少なくとも一つのコンテナは、少なくとも一つのコンテナにタスクを割り当てるように構成されたロードバランサであって、
    前記少なくとも一つのコンテナは、同一のアプライアンス内で、又は、別のネットワーク化されたアプライアンス内で、前記ロードバランサとしてホストされる、請求項11に記載の方法。
  15. 前記の少なくとも一つのコンテナは、前記のクラウドネットワークを管理するように構成されたオープンスタックコンテナである、前記請求項11に記載の方法。
  16. 前記のコンテナの少なくとも一つは、前記の少なくとも一つのコンテナからのハートビート情報を受信するように、前記の受信したハートビート情報を処理するように、かつ、前記コンテナが正常に動作していないことを前記ハートビート情報が示している場合、コンテナを交換するための少なくとも一つの他のコンテナを指定するように、構成されたオーケストレーションマネージャコンテナであり、
    前記少なくとも一つの他のコンテナは、前記のネットワーク化されたアプライアンスのいずれかに含まれる、請求項11に記載の方法。
  17. 前記のネットワーク化されたアプライアンスは、マネジメントネットワーク、ゲストインスタンスネットワーク、及び、外部サービスネットワーク、の仮想ローカルエリアネットワークのうちの一つ以上によって、通信し、
    各アプライアンスは、プロビジョニング仮想ローカルエリアネットワークによって、内部的に通信し、かつ、
    前記ネットワーク化されたアプライアンスは、アグリゲーションスイッチによって、外部ネットワークと通信するように構成された、請求項11に記載の方法。
  18. プライベートクラウドコンピューティングネットワークを運用するように構成されたシステムであって、
    少なくとも一つのスイッチによって、外部ネットワークからデータリクエストを受信し、少なくとも一つ以上のソフトウェアコンテナにおいて、前記の受信したデータリクエストを処理し、少なくとも一つのスイッチによって、少なくとも一つのクラウドノードへクラウドノードデータリクエストを送信し、少なくとも一つのスイッチによって、少なくとも一つのクラウドノードからクラウドノードデータを受信し、前記少なくとも一つ以上のソフトウェアコンテナにおいて、前記の受信したクラウドノードデータを処理し、前記受信したデータリクエストへの応答として、前記外部ネットワークへ前記の処理したデータを送信するように、構成された一つ以上の、コンポーネント、及び/又は、ハードウェアアプライアンス、を備え、
    前記の少なくとも一つのアプライアンスは、少なくとも一つの他のアプライアンスと接続するように構成されたシステム。
  19. 前記のコンテナの少なくとも一つは、ハートビートシステムを用いて前記の少なくとも一つのコンテナの冗長性を管理するように構成されたオーケストレーションマネージャコンテナであって、
    前記ハートビートシステムは、前記少なくとも一つのコンテナ、及び、前記オーケストレーションマネージャコンテナ、の間の、コンテナのパフォーマンスに関する通信からなり、
    前記オーケストレーションマネージャは、正常に動作していないコンテナを、別のアプライアンスに含まれる別のコンテナと交換するように構成された、請求項18に記載のシステム。
  20. 前記のコンテナの少なくとも一つは、前記のネットワーク化されたアプライアンスのいずれかの内の任意のコンテナにわたって、ロードを分散するように構成されたロードバランサである、請求項18に記載のシステム。
JP2014523028A 2011-07-26 2012-07-26 クラウドコンピューティングのためのシステム及び方法 Active JP6329899B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201161511966P 2011-07-26 2011-07-26
US61/511,966 2011-07-26
PCT/US2012/048412 WO2013016584A1 (en) 2011-07-26 2012-07-26 Systems and methods for implementing cloud computing

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2017235889A Division JP2018067332A (ja) 2011-07-26 2017-12-08 クラウドコンピューティングのためのシステム及び方法

Publications (2)

Publication Number Publication Date
JP2014524096A true JP2014524096A (ja) 2014-09-18
JP6329899B2 JP6329899B2 (ja) 2018-05-23

Family

ID=47601545

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2014523028A Active JP6329899B2 (ja) 2011-07-26 2012-07-26 クラウドコンピューティングのためのシステム及び方法
JP2017235889A Withdrawn JP2018067332A (ja) 2011-07-26 2017-12-08 クラウドコンピューティングのためのシステム及び方法

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2017235889A Withdrawn JP2018067332A (ja) 2011-07-26 2017-12-08 クラウドコンピューティングのためのシステム及び方法

Country Status (4)

Country Link
US (1) US20140143401A1 (ja)
EP (1) EP2737411A4 (ja)
JP (2) JP6329899B2 (ja)
WO (1) WO2013016584A1 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019503535A (ja) * 2016-02-25 2019-02-07 華為技術有限公司Huawei Technologies Co.,Ltd. 自動アプリケーション展開のための方法およびクラウド管理ノード
WO2019117593A1 (ko) * 2017-12-13 2019-06-20 주식회사 넥스클라우드 컨테이너 기반의 자원 할당을 지원하는 클라우드 컴퓨팅 장치 및 방법
US10579429B2 (en) 2016-12-16 2020-03-03 Fujitsu Limited Log system and log method
JP2021009604A (ja) * 2019-07-02 2021-01-28 ラトナ株式会社 システム、システムの制御方法、システムの制御に用いるコンピュータプログラム、及び、その記録媒体

Families Citing this family (59)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9223598B1 (en) 2012-11-26 2015-12-29 Parallels IP Holdings GmbH Displaying guest operating system statistics in host task manager
CN104995615B (zh) * 2012-12-27 2018-03-30 英特尔公司 本地计算设备的预订和执行镜像写入
CN103607433B (zh) * 2013-11-01 2018-05-04 北京奇安信科技有限公司 一种在终端分批部署文件的方法及装置
US9769084B2 (en) * 2013-11-02 2017-09-19 Cisco Technology Optimizing placement of virtual machines
EP3090341A1 (en) * 2013-12-30 2016-11-09 Brennan, Edward Colin System and method for allocating resources and managing a cloud based computer system
EP3108365A1 (en) * 2014-02-20 2016-12-28 Telefonaktiebolaget LM Ericsson (publ) Methods, apparatuses, and computer program products for deploying and managing software containers
US20170199770A1 (en) * 2014-06-23 2017-07-13 Getclouder Ltd. Cloud hosting systems featuring scaling and load balancing with containers
US9367344B2 (en) 2014-10-08 2016-06-14 Cisco Technology, Inc. Optimized assignments and/or generation virtual machine for reducer tasks
US10205701B1 (en) 2014-12-16 2019-02-12 Infoblox Inc. Cloud network automation for IP address and DNS record management
US10764357B1 (en) * 2014-12-19 2020-09-01 EMC IP Holding Company LLC Compliance-based application deployment system and method for a cloud computing environment
US9792139B2 (en) 2015-02-25 2017-10-17 Red Hat Israel, Ltd. Service driven virtual machine scheduling
US9846589B2 (en) 2015-06-04 2017-12-19 Cisco Technology, Inc. Virtual machine placement optimization with generalized organizational scenarios
US20180210766A1 (en) * 2015-07-23 2018-07-26 Hewlett Packard Enterprise Development Lp Migration for cloud management systems
US10353599B2 (en) 2015-08-04 2019-07-16 Toshiba Memory Corporation Storage system that has a plurality of managers among which a master manager is switchable
US9942325B2 (en) * 2015-09-22 2018-04-10 Netapp, Inc. Methods and systems for selecting compatible resources in networked storage environments
US10158726B2 (en) 2015-12-02 2018-12-18 International Business Machines Corporation Supporting high availability for orchestrated services
US10404786B2 (en) * 2016-01-22 2019-09-03 Vmware, Inc. Method for managing a software-defined data center that utilizes duplicate API calls
US10885461B2 (en) 2016-02-29 2021-01-05 Oracle International Corporation Unsupervised method for classifying seasonal patterns
US10699211B2 (en) 2016-02-29 2020-06-30 Oracle International Corporation Supervised method for classifying seasonal patterns
US10331802B2 (en) 2016-02-29 2019-06-25 Oracle International Corporation System for detecting and characterizing seasons
US11113852B2 (en) 2016-02-29 2021-09-07 Oracle International Corporation Systems and methods for trending patterns within time-series data
US10073906B2 (en) 2016-04-27 2018-09-11 Oracle International Corporation Scalable tri-point arbitration and clustering
US10198339B2 (en) 2016-05-16 2019-02-05 Oracle International Corporation Correlation-based analytic for time-series data
US10158610B2 (en) 2016-07-06 2018-12-18 Adp, Llc Secure application communication system
US10635563B2 (en) 2016-08-04 2020-04-28 Oracle International Corporation Unsupervised method for baselining and anomaly detection in time-series data for enterprise systems
US11082439B2 (en) 2016-08-04 2021-08-03 Oracle International Corporation Unsupervised method for baselining and anomaly detection in time-series data for enterprise systems
US20180131605A1 (en) * 2016-11-10 2018-05-10 Sap Se Floating internet protocol for private networks
US20180150234A1 (en) * 2016-11-28 2018-05-31 Hewlett Packard Enterprise Development Lp Cloud volume storage
US10394663B2 (en) 2016-12-16 2019-08-27 Red Hat, Inc. Low impact snapshot database protection in a micro-service environment
US10949436B2 (en) 2017-02-24 2021-03-16 Oracle International Corporation Optimization for scalable analytics using time series models
US10915830B2 (en) 2017-02-24 2021-02-09 Oracle International Corporation Multiscale method for predictive alerting
US10817803B2 (en) 2017-06-02 2020-10-27 Oracle International Corporation Data driven methods and systems for what if analysis
US10496396B2 (en) 2017-09-29 2019-12-03 Oracle International Corporation Scalable artificial intelligence driven configuration management
US10963346B2 (en) 2018-06-05 2021-03-30 Oracle International Corporation Scalable methods and systems for approximating statistical distributions
US10997517B2 (en) 2018-06-05 2021-05-04 Oracle International Corporation Methods and systems for aggregating distribution approximations
CN109120450A (zh) * 2018-08-29 2019-01-01 郑州云海信息技术有限公司 一种虚拟化管理平台中neutron网络异常处理的方法及装置
US11811674B2 (en) 2018-10-20 2023-11-07 Netapp, Inc. Lock reservations for shared storage
US11138090B2 (en) 2018-10-23 2021-10-05 Oracle International Corporation Systems and methods for forecasting time series with variable seasonality
US11558409B2 (en) 2018-10-31 2023-01-17 SpyCloud, Inc. Detecting use of passwords that appear in a repository of breached credentials
US11438360B2 (en) 2018-10-31 2022-09-06 SpyCloud, Inc. Determining the intersection of a set of compromised credentials with a set of active credentials with data structures and architectures that expedite comparisons
US11399021B2 (en) 2018-10-31 2022-07-26 SpyCloud, Inc. Filtering passwords based on a plurality of criteria
US11283832B2 (en) 2018-10-31 2022-03-22 SpyCloud, Inc. Detecting use of compromised security credentials in private enterprise networks
CN109361602B (zh) * 2018-11-12 2021-06-22 网宿科技股份有限公司 一种基于OpenStack云平台转发报文的方法和系统
CN109581914A (zh) * 2018-11-21 2019-04-05 无锡文思海辉信息技术有限公司 一种智能物联网服务平台产品生态系统
US11003434B2 (en) 2019-01-29 2021-05-11 Salesforce.Com, Inc. Cloud services release orchestration with a reusable deployment pipeline
US10855548B2 (en) 2019-02-15 2020-12-01 Oracle International Corporation Systems and methods for automatically detecting, summarizing, and responding to anomalies
US11461458B2 (en) 2019-02-28 2022-10-04 SpyCloud, Inc. Measuring data-breach propensity
US11533326B2 (en) 2019-05-01 2022-12-20 Oracle International Corporation Systems and methods for multivariate anomaly detection in software monitoring
US11537940B2 (en) 2019-05-13 2022-12-27 Oracle International Corporation Systems and methods for unsupervised anomaly detection using non-parametric tolerance intervals over a sliding window of t-digests
JP7311335B2 (ja) 2019-07-05 2023-07-19 株式会社野村総合研究所 分散型コンテナ監視システム及び分散型コンテナ監視方法
US11887015B2 (en) 2019-09-13 2024-01-30 Oracle International Corporation Automatically-generated labels for time series data and numerical lists to use in analytic and machine learning systems
US11159610B2 (en) * 2019-10-10 2021-10-26 Dell Products, L.P. Cluster formation offload using remote access controller group manager
KR102122176B1 (ko) * 2020-02-16 2020-06-12 주식회사 케이비시스 향상된 확장성 및 자율성을 갖는 컨테이너 기반 클라우드 시스템 및 클라우드 서비스 제공 방법
CN111343260B (zh) * 2020-02-19 2021-05-28 北京航空航天大学 一种用于多云部署的流处理系统容错方法
US11334453B2 (en) 2020-05-07 2022-05-17 Oracle International Corporation System and method for providing fault tolerance and resiliency in a cloud network
US20220103518A1 (en) * 2020-08-03 2022-03-31 Cazena, Inc. Scalable security for SaaS data lakes
CN112054912B (zh) * 2020-08-31 2023-06-13 北京易捷思达科技发展有限公司 OpenStack开源云平台的资源计费系统和方法
US11734136B1 (en) * 2022-02-11 2023-08-22 International Business Machines Corporation Quick disaster recovery in distributed computing environment
JP2024056548A (ja) * 2022-10-11 2024-04-23 株式会社東芝 制御システム、及び制御装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006129446A (ja) * 2004-10-27 2006-05-18 Morgan Stanley フォールト・トレラント・ネットワーク・アーキテクチャ
US20110040575A1 (en) * 2009-08-11 2011-02-17 Phillip Andrew Wright Appliance and pair device for providing a reliable and redundant enterprise management solution
US20110125894A1 (en) * 2009-11-25 2011-05-26 Novell, Inc. System and method for intelligent workload management
WO2011071624A2 (en) * 2009-12-12 2011-06-16 Microsoft Corporation Cloud computing monitoring and management system

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6104717A (en) * 1995-11-03 2000-08-15 Cisco Technology, Inc. System and method for providing backup machines for implementing multiple IP addresses on multiple ports
US8572249B2 (en) * 2003-12-10 2013-10-29 Aventail Llc Network appliance for balancing load and platform services
US6996502B2 (en) * 2004-01-20 2006-02-07 International Business Machines Corporation Remote enterprise management of high availability systems
US7774485B2 (en) * 2004-05-21 2010-08-10 Bea Systems, Inc. Dynamic service composition and orchestration
WO2009155574A1 (en) * 2008-06-19 2009-12-23 Servicemesh, Inc. Cloud computing gateway, cloud computing hypervisor, and methods for implementing same
US8874749B1 (en) * 2010-02-03 2014-10-28 Citrix Systems, Inc. Network fragmentation and virtual machine migration in a scalable cloud computing environment
US8627426B2 (en) * 2010-04-26 2014-01-07 Vmware, Inc. Cloud platform architecture
US8725891B2 (en) * 2010-07-01 2014-05-13 Red Hat, Inc. Aggregation across cloud providers
US8862933B2 (en) * 2011-02-09 2014-10-14 Cliqr Technologies, Inc. Apparatus, systems and methods for deployment and management of distributed computing systems and applications

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006129446A (ja) * 2004-10-27 2006-05-18 Morgan Stanley フォールト・トレラント・ネットワーク・アーキテクチャ
US20110040575A1 (en) * 2009-08-11 2011-02-17 Phillip Andrew Wright Appliance and pair device for providing a reliable and redundant enterprise management solution
US20110125894A1 (en) * 2009-11-25 2011-05-26 Novell, Inc. System and method for intelligent workload management
US20110126275A1 (en) * 2009-11-25 2011-05-26 Novell, Inc. System and method for discovery enrichment in an intelligent workload management system
WO2011071624A2 (en) * 2009-12-12 2011-06-16 Microsoft Corporation Cloud computing monitoring and management system

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
"Criteria for evaluation of open source cloud computing solutions", INFORMATION TECHNOLOGY INTERFACES (ITI), PROCEEDINGS OF THE ITI 2011 33RD INTERNATIONAL CONFERENCE O, JPN6016011153, 30 June 2011 (2011-06-30), US, pages Pages:137-142 *
新野淳一: "「オープンソースのクラウド基盤「OpenStack」、その経緯と仕組みとは」", [ONLINE], JPN6016011152, 13 June 2011 (2011-06-13), JP *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019503535A (ja) * 2016-02-25 2019-02-07 華為技術有限公司Huawei Technologies Co.,Ltd. 自動アプリケーション展開のための方法およびクラウド管理ノード
US10824408B2 (en) 2016-02-25 2020-11-03 Huawei Technologies, Co., Ltd. Method for automatic application deployment and cloud management node
US10579429B2 (en) 2016-12-16 2020-03-03 Fujitsu Limited Log system and log method
WO2019117593A1 (ko) * 2017-12-13 2019-06-20 주식회사 넥스클라우드 컨테이너 기반의 자원 할당을 지원하는 클라우드 컴퓨팅 장치 및 방법
JP2021009604A (ja) * 2019-07-02 2021-01-28 ラトナ株式会社 システム、システムの制御方法、システムの制御に用いるコンピュータプログラム、及び、その記録媒体
JP7276838B2 (ja) 2019-07-02 2023-05-18 ラトナ株式会社 システム、システムの制御方法、システムの制御に用いるコンピュータプログラム、及び、その記録媒体

Also Published As

Publication number Publication date
JP2018067332A (ja) 2018-04-26
JP6329899B2 (ja) 2018-05-23
EP2737411A4 (en) 2015-10-14
WO2013016584A1 (en) 2013-01-31
EP2737411A1 (en) 2014-06-04
US20140143401A1 (en) 2014-05-22

Similar Documents

Publication Publication Date Title
JP6329899B2 (ja) クラウドコンピューティングのためのシステム及び方法
Verma et al. A survey on network methodologies for real-time analytics of massive IoT data and open research issues
US20240039895A1 (en) Virtual private gateway for encrypted communication over dedicated physical link
US10778756B2 (en) Location of actor resources
Rostanski et al. Evaluation of highly available and fault-tolerant middleware clustered architectures using RabbitMQ
US8909698B2 (en) Grid-enabled, service-oriented architecture for enabling high-speed computing applications
Javed et al. IoTEF: A federated edge-cloud architecture for fault-tolerant IoT applications
US8108461B2 (en) Method and system for processing a request sent over a network
US20170293501A1 (en) Method and system that extends a private data center to encompass infrastructure allocated from a remote cloud-computing facility
US20080126834A1 (en) On-demand provisioning of computer resources in physical/virtual cluster environments
Tusa et al. CLEVER: A cloud-enabled virtual environment
US20160087910A1 (en) Computing migration sphere of workloads in a network environment
US11949559B2 (en) Composed computing systems with converged and disaggregated component pool
CN104679608A (zh) 一种基础设施虚拟化平台构建方法及其镜像管理结构
US9848060B2 (en) Combining disparate applications into a single workload group
US20170161101A1 (en) Modularized automated-application-release-management subsystem
US11336504B2 (en) Intent-based distributed alarm service
US11354204B2 (en) Host multipath layer notification and path switchover following node failure
US11595471B1 (en) Method and system for electing a master in a cloud based distributed system using a serverless framework
Kosińska et al. The concept of application clustering in cloud computing environments: the need for extending the capabilities of virtual networks
Ayanlowo et al. Conceptual Design and Implementation of a Cloud Computing Platform Paradigm
Wang et al. Carrier-grade distributed cloud computing: Demands, challenges, designs, and future perspectives
Tusa et al. How to exploit grid infrastructures for federated cloud purposes with CLEVER
Ali et al. Performance analysis framework to optimize storage infrastructure for cloud computing
Belyaev High Availability Framework for Mix-Cloud Secure Applications

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150724

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160229

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160329

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20160516

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20160516

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160628

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20161129

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170227

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20170808

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171208

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20180116

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20180119

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20180119

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180423

R150 Certificate of patent or registration of utility model

Ref document number: 6329899

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250