JP5898207B2 - ネットワーク化アプリケーションの弾力性検証 - Google Patents

ネットワーク化アプリケーションの弾力性検証 Download PDF

Info

Publication number
JP5898207B2
JP5898207B2 JP2013529422A JP2013529422A JP5898207B2 JP 5898207 B2 JP5898207 B2 JP 5898207B2 JP 2013529422 A JP2013529422 A JP 2013529422A JP 2013529422 A JP2013529422 A JP 2013529422A JP 5898207 B2 JP5898207 B2 JP 5898207B2
Authority
JP
Japan
Prior art keywords
virtual machine
application component
instance
application
computer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2013529422A
Other languages
English (en)
Other versions
JP2013537344A5 (ja
JP2013537344A (ja
Inventor
エス オーゼル,グレゴリー
エス オーゼル,グレゴリー
イズライレヴスカイ,ユリー
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Netflix Inc
Original Assignee
Netflix Inc
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 Netflix Inc filed Critical Netflix Inc
Publication of JP2013537344A publication Critical patent/JP2013537344A/ja
Publication of JP2013537344A5 publication Critical patent/JP2013537344A5/ja
Application granted granted Critical
Publication of JP5898207B2 publication Critical patent/JP5898207B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/008Reliability or availability analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3055Monitoring arrangements for monitoring the status of the computing system or of the computing system component, e.g. monitoring if the computing system is on, off, available, not available
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/815Virtual
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/865Monitoring of software
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0893Assignment of logical groups to network elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0805Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
    • H04L43/0817Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking functioning
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • H04L47/125Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering

Landscapes

  • Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)
  • Computer And Data Communications (AREA)

Description

関連出願の相互参照
本出願は、2010年9月20日に出願された米国特許出願第12/886,138号明細書の利益を主張するものであり、この出願を参照により本明細書に援用する。
本発明の実施形態は、包括的には、対話するサーバの集まりにより提供される分散計算サービスの弾力性を評価する技法に関する。
広範囲の計算アプリケーションが、コンピュータネットワークを介してユーザに提供されている。往々にして、ネットワーク化アプリケーションは、複数の対話する計算サーバを使用して提供し得る。例えば、ウェブサイトは、ユーザからウェブページ要求を受信するウェブサーバ(1つの計算システムで実行される)を使用して提供し得る。要求はアプリケーションサーバ(別の計算システムで実行される)に渡すことができ、アプリケーションサーバは要求を処理し、ウェブサーバ、そして最終的にはユーザに返される応答を生成する。
別の例としては、ネットワークを介してアクセスをメディアタイトルに提供するために使用されるコンテンツ配信システムが挙げられる。通常、コンテンツ配信システムは、ゲームコンソール、計算システム、計算タブレット、携帯電話、ネットワークアウェアDVDプレーヤ等のコンテンツプレーヤを使用してクライアントが接続するアクセスサーバ、コンテンツサーバ等を含み得る。コンテンツサーバは、コンテンツサーバからコンテンツプレーヤにダウンロードするために利用可能なファイル(又は「ストリーム」)を記憶する。各ストリームは、映画、テレビ番組、スポーツイベント、ユーザ生成コンテンツ、録画ビデオで捕捉されたステージ又はライブイベント等のデジタル版を提供し得る。ユーザは、コンテンツリストが利用可能なウェブサーバに接続することにより、サービスにアクセスする。特定のタイトルへの要求が受信されると、利用可能なコンテンツサーバへの接続を介してクライアントシステムにストリーミングし得る。
これらのようなシステムで実行中のソフトウェアアプリケーションは、脆弱性又はエラーを修正するパッチでの進行中の開発結果並びに新しい特徴を提供するアップグレードとしてしばしば更新される。同時に、ネットワーク化アプリケーション内のサーバは、予測できず、又は非意図的なように互いに依存してもよく、一方のシステムの変更は、他方への非意図的な依存に繋がり得る。これが発生する場合、サーバが故障したとき、ネットワーク化アプリケーションへのアクセスが中断するおそれがある。
本明細書に開示される本発明の一実施形態は、ネットワーク化アプリケーションの弾力性を検証するコンピュータ実施方法を提供する。この方法は一般に、ネットワーク化アプリケーションの提供に使用されるネットワーク内の複数のアクティブアプリケーション構成要素を識別すること、及び1つ又は複数の選択基準に基づいて、識別されたアプリケーション構成要素のうちの少なくとも1つを選択することを含む。この方法は、選択されたアクティブアプリケーション構成要素を終了すること、及び選択されたアクティブアプリケーション構成要素の終了に続き、ネットワーク内の1つ又は複数の残りのアクティブアプリケーション構成要素を監視することを含むこともできる。
他の実施形態は、限定ではなく、処理ユニットが開示される方法の1つ又は複数の態様並びに開示される方法の1つ又は複数の態様を実施するように構成されたシステムを実施できるようにする命令を含むコンピュータ可読媒体を含む。
本発明の上記特徴を詳細に理解することができるように、上で簡単に要約された本発明のより具体的な説明を、実施形態を参照して行うことができ、その実施形態のうちのいくつかが添付図面に示される。しかし、添付の図面は、本発明の典型的な実施形態だけを示し、したがって、本発明の範囲を制限するものとみなされるべきでなく、本発明は、他の同等で有効な実施形態を許容することができると理解されたい。
本発明の1つ又は複数の態様を実施するように構成された計算基盤を示す。 本発明の一実施形態による、クラウド計算環境で対話する複数のサーバインスタンスを示す。 本発明の一実施形態による、弾力性監視アプリケーションを含む計算システムの図である。 本発明の一実施形態による、ネットワーク化アプリケーションの弾力性を検証する方法をさらに示す。
本発明の実施形態は、対話するサーバの集まりを使用して提供されるネットワーク化アプリケーションの弾力性を検証する技法を提供する。例えば、ネットワーク監視アプリケーションは、実行中のアプリケーションのインスタンスを終了させて、偶然の予期せぬ故障後に、故障したサーバに依存するシステムがなお正確に機能可能であるか否かを判断するように構成し得る。したがって、監視アプリケーションは、ネットワーク化アプリケーション内の他のシステムへのサーバ故障の影響を制御下で観測し得る。この手法は、任意のサーバが随時消えるおそれがあるクラウドに基づく展開で有用であり得る。
一実施形態では、ネットワーク監視アプリケーションは、実行中の各サーバ(又はアプリケーション)を非指定間隔で監視し、1つのサーバを選び、そのサーバを終了させる。クラウドに基づく展開の場合、これは、仮想マシンインスタンスの終了、サーバで実行中のプロセスの終了等を含み得る。データセンターでの物理的なサーバの場合、サーバをシャットダウンすること、サーバで実行中のプロセスを終了すること、サーバでのネットワーク接続を閉じること等を含み得る。しかし、実行されれば、選択されたサーバのネットワークアプリケーションへの参加は終了し、サーバ(又はアプリケーション)を残りのネットワークアプリケーションから遮断する。
残りのネットワークアプリケーションへの故障サーバの影響を観測することにより、プロバイダは、各構成要素が警告なしでの任意の単一インスタンス消失に耐えることができることを保証することができる。一実施形態では、ネットワーク監視アプリケーションは、アップデート又はパッチを実稼働環境でのサーバ(又はアプリケーション)に展開する前に、テスト環境で使用し得る。そうすることで、実稼働環境に展開せずに、アップデート又はパッチの影響を評価することができる。さらに、除外/包含リストを使用して、終了候補から特定のアプリケーション(又はホスト、又はシステム)を除外(又は包含)することができる。同様に、クラウドに基づく展開では、ネットワーク監視アプリケーションは、自動スケーリンググループのメンバであるサーバインスタンスを終了させるように構成することができる。そうすることで、自動スケーリングプロセスの機能を、ランダムに発生するサーバ故障に対して評価することができる。したがって、様々な実施形態では、ネットワーク監視アプリケーションは、実稼働システムがアップグレードされ、パッチ適用され、又は非意図的又は不要な依存性を生み出すようにその他の様式で変更された場合、本発明を用いない場合には時間の経過に伴って失われる可能性がある、対故障性の要件の実施に役立つ。より一般には、本明細書に記載のネットワーク監視アプリケーションによりシステムの任意の論理グループを定義し、テストし得る。
以下の説明において、本発明のより完全な理解を提供するために、多くの特定の詳細が記される。しかし、これらの特定の詳細の1つ又は複数なしで本発明を実施し得ることが当業者には明らかであろう。他の場合では、本発明を曖昧にするのを避けるために、周知の特徴については説明しなかった。
さらに、本発明の特定の実施形態について、データ通信ネットワークを介して映画、音楽、テレビ番組、ユーザ生成コンテンツ等をエンドユーザクライアント装置にストリーミングするために使用されるネットワーク化アプリケーションの例を使用して説明する。しかし、広範囲のネットワーク化アプリケーション又はサービスで個々のシステム故障に対する弾力性を検証するように、本発明の実施形態を適合し得ることを理解されたい。したがって、ストリーミングメディアサービスへの参照は単なる例示であり、限定ではない。
図1は、本発明の1つ又は複数の態様を実施するように構成される計算基盤100を示す。この例では、計算基盤100は、ネットワーク化アプリケーション又はサービスをクライアントシステムに提供するために使用される基盤を表す。示されるように、データセンター130におけるサーバシステム137及びクラウドプロバイダ140で実行中の仮想マシンインスタンス145を使用して、ネットワーク120を介してネットワークアプリケーション又はサービスをクライアント1051〜4に提供する。さらに、データセンター130は、可用性/信頼性監視システム135を含む。
上述したように、本発明の実施形態を使用して、クラウドプロバイダ140により提供されるクラウド計算基盤を使用して展開される仮想マシンインスタンス145の弾力性を評価し得る。クラウド計算とは一般に、ネットワークを介したサービスとしてスケーリング可能な計算リソースの提供を指す。より正式には、クラウド計算は、計算リソースと基底となる技術アーキテクチャ(例えば、サーバ、記憶装置、ネットワーク)との間での抽象化を提供し、最小の管理努力又はサービスプロバイダ介入で高速でプロビジョニングし解放可能な構成可能計算リソースプールへの好都合でオンデマンドなネットワークアクセスを可能にする計算能力として定義し得る。したがって、クラウド計算では、ユーザは、計算リソースの提供に使用される基底となる物理的システム(またはこれらシステムの配置)に関わりなく、「クラウド」内の、仮想計算リソース(例えば、記憶装置、データ、アプリケーション、さらには完全に仮想化された計算システム)にアクセスすることができる。
通常、クラウド計算リソースは、利用回数毎に料金を支払う形でユーザに提供され、その場合、ユーザには、実際に使用した計算リソース(例えば、ユーザが消費した記憶領域量又はユーザが生成した仮想マシンインスタンス数)に対しての料金のみが課される。ユーザは、クラウドに常駐する任意のリソースに任意の時間にどこからでもアクセスすることができる。プロビジョニングされると、仮想マシンインスタンス145は計算サーバの抽象化を提供し、ユーザは一般に、仮想マシンインスタンス145で表される物理的な計算サーバを制御する場合と同じように、アプリケーションを仮想マシンインスタンス145にインストールし実行することができる。
本発明の文脈の中では、サービスプロバイダは、サーバ又はアプリケーションを仮想マシンインスタンス145に展開し、クライアント105が、データセンター130内の物理的なサーバシステム137にアクセスするのと同じように、アプリケ−ション(例えば、ストリーミングメディアサービス)に接続し、アクセスできるようにする。同時に、サービスプロバイダは、単に追加の仮想マシンインスタンス145を生成することによりサービスを素早くスケーリングすることができる。これにより、プロバイダは、データセンター130に大きな計算基盤を構築して維持する必要なく、ピーク需要期間に対応することができる。クラウドプロバイダ140は、任意の所与の時間でのニーズに基づいて、所与のアプリケーション(又はアプリケーション構成要素)に割り振られる仮想マシンインスタンス145の数を自動的に拡大又は縮小するために使用される自動スケーリング特徴を提供し得る。
しかし、サービスプロバイダは、基底をなす計算ハードウェアを制御しないため、仮想マシンインスタンス145で実行中のサーバ又はアプリケーションは、警告なしでのあらゆる単一仮想インスタンス(又は仮想マシンインスタンスにより提供されるサービス)消失に耐えるように構成されるべきである。したがって、さらに詳細に後述するように、監視システム135は、サーバシステム137又は仮想マシンインスタンス145で実行中のアプリケーションのインスタンスを定期的に終了し、サービス全体への影響を観測する(実稼働環境又はテスト環境のいずれかで)ように構成されたアプリケーションプログラムを含み得る。仮想マシンインスタンスの終了に続き、自動スケーリンググループに関連付けられたインスタンスが適宜スケーリングされることを保証することもできる。未知又は不要な依存性が識別される場合、アプリケーションを適宜リファクタリングし得る。
図2は、本発明の一実施形態による計算クラウド200内の対話する複数のサーバインスタンスを示す。例示的のために、計算クラウド200は、クライアントシステムへのストリーミングメディアサービスの提供に使用される計算基盤の例を提供する。当然、上述したように、計算クラウド200を使用して、広範囲の計算サービスをクライアント105に提供することができる。
示されるように、計算クラウド200は、4つの異なる自動スケーリンググループ2051〜4に割り振られた仮想マシンインスタンス(220、225、230、及び235)を含む。各自動スケーリンググループには、サービスに対する需要に基づいて、プロビジョニングすべきインスタンスの最小数及び/又は最大数を関連付けることができる。この例では、第1の自動スケーリンググループ205は、クライアントシステム105からの初期要求の受信に使用されるウェブサーバインスタンス220を含む。受信されると、要求は、第2の自動スケーリンググループ205内のアプリケーションサーバインスタンス235の1つに渡され、そのアプリケーションサーバインスタンス235はウェブページのコンテンツを生成し得、コンテンツは元のウェブサーバインスタンス220に渡され、要求側クライアントシステム105に提供される。例えば、初期ウェブページは、ストリーミングメディアコンテンツにアクセスするために、ユーザが信用情報を提出することができる書式を含み得る。そのような場合、信用情報はウェブサーバインスタンス220及びアプリケーションサーバインスタンス235に渡される。そして次に、アプリケーションサーバ235は、第3の自動スケーリンググループ205内のデータベースサーバインスタンス230の1つと通信することにより、信用情報を検証し得る。例えば、データベースサーバインスタンス230は、信用情報を使用して特定されるユーザの加入状態を示す情報をデータベース210から検索し得る。認証されると、アプリケーションサーバインスタンス235は、クライアント105又はウェブサーバインスタンス220に渡されるストリーミングに利用可能なメディアタイトルを示すウェブページを生成する。
その後、クライアントがタイトルのストリーミングを要求する場合、コンテンツストリーミングインスタンス225(第4の自動スケーリンググループ205内)の1つは、ストリーミングメディアデータをコンテンツデータベース215から検索し、要求側クライアントシステム105に送信する。ストリーミングメディアサービスがプロバイダのデータセンターからホストされる場合、仮想マシンインスタンス220、225、230、及び235は一般に、データセンター内の物理的な計算システムに対応する。
一実施形態では、監視システム135は、計算クラウド200(又はプロバイダのデータセンター内のシステム/アプリケーション)により提供されるストリーミングメディアサービスの弾力性を評価するように構成し得る。例えば、監視システム135は、インスタンス220、225、230、又は235(又は自動スケーリンググループ2051〜4のうちの指定された1つから選択されるインスタンス)の1つの終了を選択し得る。選択は、ランダムな間隔で行ってもよく、又はスケジュールに基づいて行ってもよい。インスタンスの終了により、プロバイダは、終了されたインスタンスに依存するシステムが、ランダムな予期しない故障後に正しく機能し続ける(又は穏やかに退行する)か否かを評価することができる。例えば、アプリケ−ションサーバインスタンス235の1つが終了した場合、コンテンツをクライアント105にストリーミングし続けるコンテンツストリーミングインスタンス225の能力を観測し得る。したがって、監視システム135では、ユーザは、ネットワーク化アプリケーション内の他のシステムへのサーバ故障の影響を制御下で観測することができる。
一実施形態では、インスタンス220、225、230、及び235のうちのいくつかは、監視システム135による終了に適格とされるものから除外し得る。個々のインスタンスは、除外リストを使用して除外し得る。そのようなリストは、インスタンスIDを使用して終了適格から個々のインスタンスを除外し得る。例えば、認証サーバとして使用されるインスタンスを終了適格から除外し得る。同様に、1つのインスタンス(又はそのインスタンスにより提供されるアプリケ−ション)の故障が他にとって破滅的であることが分かっている場合、そのインスタンスを終了適格から除外し得る。
さらに、インスタンスは、グループメンバシップに基づいて適用除外し得る。例えば、監視システム135は、指定された自動スケーリンググループ内のすべてのインスタンスを除外するように構成し得る。別の例は、特定のセキュリティグループに属するすべてのインスタンスを除外することである。この文脈の中では、セキュリティグループそのグループのメンバである任意のインスタンスにファイアウォールのようなアクセス規則グループ適用されるシステムのグループであることに留意する。例えば、データベースサーバインスタンス230は、アプリケーションサーバインスタンス235へのアクセスは許可するが、ウェブサーバインスタンス220へのアクセスを遮断する「データベース」グループのメンバであることができる。同様に、ウェブサーバインスタンス220は、「ウェブグループ」に属することができ、指定されたポート(例えば、HTTPトラフィックの場合はポート80)での公衆インターネットへのアクセスを認めることができる。当然、上で考察される自動スケーリング及びセキュリティグループの例から離れて、ネットワーク監視アプリケーションにより、システムの他の論理グループを定義し、テストすることもできる。
監視システム135は、計算クラウド200の外部に示されるが、それ自体が、計算クラウド200で生成される仮想マシンインスタンスを実行してもよいことに留意する。
図3は、本発明の一実施形態による、弾力性監視アプリケーションを含む監視システム135の図である。示されるように、監視システム135は、限定ではなく、中央演算処理装置(CPU)205、ネットワークインタフェース315、相互接続320、メモリ325、及び記憶装置330を含む。監視システム135は、I/O装置212(例えば、キーボード、ディスプレイ、及びマウス装置)を監視システム135に接続するI/O装置インタフェース310も含み得る。
一般に、CPU305は、メモリ325に記憶されたプログラミング命令を検索して実行する。同様に、CPU305は、メモリ325にアプリケーションデータを記憶するとともに、メモリ325に常駐するアプリケ−ションデータを検索する。相互接続320は、CPU305、I/O装置インタフェース310、記憶装置330、ネットワークインタフェース315、及びメモリ325の間でのプログラミング命令及びアプリケーションデータの伝送に役立つ。CPU305は、単一のCPU、複数のCPU、複数の処理コアを有する単一のCPU等を表すために含まれる。そして、メモリ325は一般に、ランダムアクセスメモリを表すために含まれる。記憶装置330はディスクドライブ記憶装置であり得る。記憶装置330は、単一のユニットとして示されるが、固定ディスクドライブ、フロッピー(登録商標)ディスクドライブ、テープドライブ、リムーバブルメモリカード、光学記憶装置、ネットワーク接続ストレージ(NAS)、又はストレージエリアネットワーク(SAN)等の固定記憶装置及び/又はリムーバブル記憶装置の組合せであり得る。
例示的に、メモリ325は監視アプリケーション321を含み、記憶装置330は監視ログ335を含む。示されるように、監視アプリケーション321は、終了構成要素323、復元モニタ327、及びインスタンス監視パラメータ329を含む。上述したように、監視アプリケーション321は、実行中の仮想マシンインスタンス、サーバ、アプリケーション、又はネットワーク化アプリケーションで使用される他の構成要素(例えば、計算クラウド200内の仮想マシンインスタンス220、225、230、又は235の1つ又はプロバイダのデータセンター内のサーバで実行中のアプリケーション)を定期的に選択し終了させるように構成されたソフトウェアアプリケーションを提供し得る。便宜上、「インスタンス」の終了を参照するが、他の任意の構成要素の終了も意図されることが理解されよう。
一実施形態では、終了構成要素323は、監視パラメータ329に従ってどのインスタンスを終了するか(並びにインスタンスをいつ終了するか)を選択する。選択パラメータは、終了構成要素323が終了選択を行うために使用し得る除外インスタンス、除外インスタンスグループ、日時等の基準を指定し得る。例えば、監視パラメータ329は、任意の時間又は指定された時間間隔中にインスタンスをランダムに選択する(又はグループからランダムに選択する)ことを指定し得る。
インスタンスが選択される(且つ終了される)と、復元モニタ327は、ネットワーク化アプリケーションの残りのインスタンスの動作を観測し、対応する情報を生成し得、次に、復元モニタ327は情報をログ335に記憶する。ログ335の内容は、監視パラメータ329により指定される情報を含むとともに、インスタンス(又はインスタンスで実行中のアプリケーション)によりネイティブに作成されたログデータを含み得る。すなわち、インスタンスで実行中のアプリケーションは、そこで実行中のアプリケーションに応じてログ(例えば、ウェブサーバのアクセス履歴ログ)を生成し得る。
図4は、本発明の一実施形態によるネットワーク化アプリケーションの弾力性を検証する方法400を示す。示されるように、方法400はステップ405において開始され、監視アプリケーションが、監視パラメータにより指定される構成に従って初期化される。例えば、構成パラメータは、終了するインスタンスをいつ選択するかを決定する基準並びにどのインスタンス、アプリケーション、又はサーバを終了するものとして選択するかを決定する基準を指定し得る。ステップ410において、監視アプリケーションは、実行中のインスタンスを終了する時間に達するまで待つ。終了する時間に達すると、ステップ415において、監視アプリケーションは、ネットワークアプリケーションの提供に使用されている複数のアクティブアプリケーション構成要素(例えば、アクティブな仮想マシンインスタンス、アプリケーション、又はプロセス)を識別する。
ステップ420において、監視アプリケーションは、終了する仮想マシンインスタンス(又はプロセス、又はアプリケーション)を選択する。選択されると、監視アプリケーションは、選択されたインスタンスをキルするメッセージを送信する。例えば、仮想マシンインスタンスの場合、監視アプリケーションは、インスタンス終了メッセージをクラウドネットワークに送信し得る。或いは、監視アプリケーションは、仮想マシンインスタンス(またはデータセンターサーバ)のサーバプログラム(例えば、HTTPウェブサーバ)をシャットダウンするか、又はオペレーティングシステムによって提供されるメカニズムを使用して、プロセスをキルし得る。
ステップ425において、監視アプリケーションは、選択されたインスタンスの終了(又は他の様式でのシャットダウン若しくは実行停止)を待つ。選択されたインスタンスの終了に続き、ステップ430において、監視アプリケーションは、残りのインスタンス(又はアプリケーション)の挙動を観測し、ログデータを記録して、終了したインスタンスの消失がネットワークアプリケーションの残りの部分にどのように影響するかを捕捉する。ネットワークアプリケーションの残りの部分に対する終了の影響を観測することにより、プロバイダは、各構成要素が警告なしでのいかなる単一インスタンス消失に耐えることが可能なことを保証することができる。
有利なことに、本発明の実施形態は、対話するサーバの集まりを使用して提供されるネットワーク化アプリケーションの弾力性を検証する技術を提供する。一実施形態では、ネットワーク監視アプリケーションは、実行中の各サーバ(又はアプリケーション)を観測し、非指定間隔で1つのサーバを選び、そのサーバを終了させる。クラウドに基づく展開の場合、これは、仮想マシンインスタンスを終了すること又はサーバで実行中のプロセスを終了することを含み得る。そうすることで、クラウドサービスプロバイダにより提供される自動スケーリング(又はシステムの他の論理グループ)の有効性をテストし得る。さらに、いくつかのシステム(又はシステムグループ)(例えば、セキュリティグループに属するシステム)を、ネットワーク監視アプリケーションによる終了定格から除外し得る。
上記は本発明の実施形態に向けられるが、本発明の基本範囲から逸脱せずに、本発明の他及びさらなる実施形態を考案し得る。例えば、本発明の態様は、ハードウェア、ソフトウェア、又はハードウェアとソフトウェアとの組合せで実施し得る。本発明の一実施形態は、コンピュータシステムと併用されるプログラム製品として実施し得る。プログラム製品のプログラムは、実施形態(本明細書に記載の方法を含む)の機能を定義し、様々なコンピュータ可読記憶媒体に含めることができる。例示的なコンピュータ可読記憶媒体は、(i)情報が永久的に記憶される非書き込み可能記憶媒体(例えば、CD−ROMドライブにより読み取り可能なCD−ROMディスク等のコンピュータ内の読み取り専用メモリ装置、フラッシュメモリ、ROMチップ、又は任意の種類の固体状態不揮発性半導体メモリ)及び(ii)変更可能な情報が記憶される書き込み可能記憶媒体(例えば、ディスクドライブ内の「フロッピー」ディスク、又はハードディスクドライブ、又は任意の種類の固体状態ランダムアクセス半導体メモリ)を含むが、これらに限定されない。そのようなコンピュータ可読記憶媒体は、本発明の機能を指示するコンピュータ可読命令を有する場合、本発明の実施形態である。
したがって、本発明の範囲は以下の特許請求の範囲により決定される。

Claims (18)

  1. コンピュータにより実施される、ネットワーク化アプリケーションの弾力性を検証する方法であって、
    前記コンピュータが、前記ネットワーク化アプリケーションの提供に使用されるネットワーク内の複数のアクティブなアプリケーション構成要素を識別すること、
    前記コンピュータが、1つ又は複数の選択基準に基づいて、前記識別されたアプリケーション構成要素のうちの少なくとも1つを選択すること、
    前記コンピュータが、前記選択されたアプリケーション構成要素に関連付けられたインスタンスIDに基づいて、該選択されたアプリケーション構成要素が除外リストに含まれていないことを確認することであって、前記除外リストにインスタンスIDが含まれるすべてのアプリケーション構成要素は、終了適格を有さないものであること、
    前記コンピュータが、前記選択されたアプリケーション構成要素を終了すること、及び
    前記コンピュータが、前記選択されたアプリケーション構成要素の前記終了に続き、前記ネットワーク内の1つ又は複数の残りのアクティブなアプリケーション構成要素を監視すること、
    を含むことを特徴とする方法。
  2. 前記複数のアクティブなアプリケーション構成要素のそれぞれは、クラウドコンピューティングで実行中の仮想マシンインスタンスを含み、前記アプリケーション構成要素を選択することは前記実行中の仮想マシンインスタンスのうちの少なくとも1つを選択することを含むことを特徴とする、請求項1に記載の方法。
  3. 前記仮想マシンインスタンスは、自動スケーリンググループ内で生成される仮想マシンインスタンスの最小数又は最大数を指定する前記自動スケーリンググループ内のメンバシップに基づいて選択されることを特徴とする、請求項2に記載の方法。
  4. 前記選択されたアプリケーション構成要素を終了することは、前記クラウドコンピューティング内の前記選択された仮想マシンインスタンスの実行を終了することを含むことを特徴とする、請求項2に記載の方法。
  5. 前記選択されたアプリケーション構成要素は、仮想マシンインスタンスで実行中の指定プロセスを含み、前記選択されたアプリケーション構成要素を終了することは、前記指定プロセスの実行を中断することを含むことを特徴とする、請求項1に記載のコンピュータ実施方法。
  6. 前記コンピュータが、前記選択されたアプリケーション構成要素の終了に起因する残りのアクティブなアプリケーション構成要素に対する影響を記録する1つ又は複数のログエントリを作成することをさらに含むことを特徴とする、請求項1に記載のコンピュータ実施方法。
  7. 処理ユニットにより実行されると、前記処理ユニットに、ネットワーク化アプリケーションの弾力性を検証する動作を実行させる命令を含むコンピュータ可読記憶媒体であって、前記動作は、
    前記ネットワーク化アプリケーションの提供に使用されるネットワーク内の複数のアクティブなアプリケーション構成要素を識別すること、
    1つ又は複数の選択基準に基づいて、前記識別されたアプリケーション構成要素のうちの少なくとも1つを選択すること、
    前記選択されたアプリケーション構成要素に関連付けられたインスタンスIDに基づいて、該選択されたアプリケーション構成要素が除外リストに含まれていないことを確認することであって、前記除外リストにインスタンスIDが含まれるすべてのアプリケーション構成要素は、終了適格を有さないものであること、
    前記選択されたアプリケーション構成要素を終了すること、及び
    前記選択されたアプリケーション構成要素の前記終了に続き、前記ネットワーク内の1つ又は複数の残りのアクティブなアプリケーション構成要素を監視すること、
    を含むことを特徴とする、コンピュータ可読記憶媒体。
  8. 前記複数のアクティブなアプリケーション構成要素のそれぞれは、クラウドコンピューティングで実行中の仮想マシンインスタンスを含み、前記アプリケーション構成要素を選択することは前記実行中の仮想マシンインスタンスのうちの少なくとも1つを選択することを含むことを特徴とする、請求項に記載のコンピュータ可読記憶媒体。
  9. 前記仮想マシンインスタンスは、自動スケーリンググループ内で生成される仮想マシンインスタンスの最小数又は最大数を指定する前記自動スケーリンググループ内のメンバシップに基づいて選択されることを特徴とする、請求項に記載のコンピュータ可読記憶媒体。
  10. 前記選択されたアプリケーション構成要素を終了することは、前記クラウドコンピューティング内の前記選択された仮想マシンインスタンスの実行を終了することを含むことを特徴とする、請求項に記載のコンピュータ可読記憶媒体。
  11. 前記選択されたアプリケーション構成要素は、仮想マシンインスタンスで実行中の指定プロセスを含み、前記選択されたアプリケーション構成要素を終了することは、前記指定プロセスの実行を中断することを含むことを特徴とする、請求項に記載のコンピュータ可読記憶媒体。
  12. 前記動作は、前記選択されたアプリケーション構成要素の終了に起因する残りのアクティブなアプリケーション構成要素に対する影響を記録する1つ又は複数のログエントリを作成することをさらに含むことを特徴とする、請求項に記載のコンピュータ可読記憶媒体。
  13. システムであって、
    プロセッサと、
    プログラムを含むメモリと、
    を備え、前記プログラムは、前記プロセッサで実行されると、ネットワーク化アプリケーションの弾力性を検証する動作を実行し、前記動作は、
    前記ネットワーク化アプリケーションの提供に使用されるネットワーク内の複数のアクティブなアプリケーション構成要素を識別すること、
    1つ又は複数の選択基準に基づいて、前記識別されたアプリケーション構成要素のうちの少なくとも1つを選択すること、
    前記選択されたアプリケーション構成要素に関連付けられたインスタンスIDに基づいて、該選択されたアプリケーション構成要素が除外リストに含まれていないことを確認することであって、前記除外リストにインスタンスIDが含まれるすべてのアプリケーション構成要素は、終了適格を有さないものであること、
    前記選択されたアプリケーション構成要素を終了すること、及び
    前記選択されたアプリケーション構成要素の前記終了に続き、前記ネットワーク内の1つ又は複数の残りのアクティブなアプリケーション構成要素を監視すること、
    を含むことを特徴とする、システム。
  14. 前記複数のアクティブアプリケーション構成要素のそれぞれは、クラウドコンピューティングで実行中の仮想マシンインスタンスを含み、前記アプリケーション構成要素を選択することは、前記実行中の仮想マシンインスタンスのうちの少なくとも1つを選択することを含むことを特徴とする、請求項13に記載のシステム。
  15. 前記仮想マシンインスタンスは、自動スケーリンググループ内で生成される仮想マシンインスタンスの最小数又は最大数を指定する前記自動スケーリンググループ内のメンバシップに基づいて選択されることを特徴とする、請求項14に記載のシステム。
  16. 前記選択されたアプリケーション構成要素を終了することは、前記クラウドコンピューティング内の前記選択された仮想マシンインスタンスの実行を終了することを含むことを特徴とする、請求項14に記載のシステム。
  17. 前記選択されたアプリケーション構成要素は、仮想マシンインスタンスで実行中の指定プロセスを含み、前記選択されたアプリケーション構成要素を終了することは、前記指定プロセスの実行を中断することを含むことを特徴とする、請求項13に記載のシステム。
  18. 前記動作は、前記選択されたアプリケーション構成要素の終了に起因する残りのアクティブなアプリケーション構成要素に対する影響を記録する1つ又は複数のログエントリを作成することをさらに含むことを特徴とする、請求項13に記載のシステム。
JP2013529422A 2010-09-20 2011-09-20 ネットワーク化アプリケーションの弾力性検証 Active JP5898207B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/886,138 2010-09-20
US12/886,138 US9858133B2 (en) 2010-09-20 2010-09-20 Techniques for assessing the resiliency of a distribution computing service provided by a collection of interacting servers
PCT/US2011/052413 WO2012040241A1 (en) 2010-09-20 2011-09-20 Validating the resiliency of networked applications

Publications (3)

Publication Number Publication Date
JP2013537344A JP2013537344A (ja) 2013-09-30
JP2013537344A5 JP2013537344A5 (ja) 2014-11-13
JP5898207B2 true JP5898207B2 (ja) 2016-04-06

Family

ID=45818723

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013529422A Active JP5898207B2 (ja) 2010-09-20 2011-09-20 ネットワーク化アプリケーションの弾力性検証

Country Status (7)

Country Link
US (1) US9858133B2 (ja)
EP (1) EP2619664B1 (ja)
JP (1) JP5898207B2 (ja)
KR (1) KR101575010B1 (ja)
CA (1) CA2811415C (ja)
DK (1) DK2619664T3 (ja)
WO (1) WO2012040241A1 (ja)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8175888B2 (en) 2008-12-29 2012-05-08 Motorola Mobility, Inc. Enhanced layered gain factor balancing within a multiple-channel audio coding system
US8621058B2 (en) * 2010-10-28 2013-12-31 Hewlett-Packard Development Company, L.P. Providing cloud-based computing services
US9448824B1 (en) * 2010-12-28 2016-09-20 Amazon Technologies, Inc. Capacity availability aware auto scaling
US9043785B1 (en) * 2011-05-23 2015-05-26 Open Invention Network, Llc Dynamic consolidation of virtual machines
US9015289B2 (en) 2012-04-12 2015-04-21 Netflix, Inc. Method and system for evaluating the resiliency of a distributed computing service by inducing a latency
US9201916B2 (en) * 2012-06-13 2015-12-01 Infosys Limited Method, system, and computer-readable medium for providing a scalable bio-informatics sequence search on cloud
US10440132B2 (en) 2013-03-11 2019-10-08 Amazon Technologies, Inc. Tracking application usage in a computing environment
JP6383799B2 (ja) * 2014-03-10 2018-08-29 エスケー テックス カンパニー、リミテッド クラウドストリーミングサーバーテスト方法、そのための装置及びシステム
KR101997649B1 (ko) * 2014-03-10 2019-07-09 에스케이플래닛 주식회사 클라우드 스트리밍 서버를 테스트하기 위한 기준 서버 변경 방법, 이를 위한 장치 및 시스템
KR101997540B1 (ko) * 2014-03-10 2019-07-09 에스케이플래닛 주식회사 클라우드 스트리밍 서버 테스트 방법, 이를 위한 장치 및 시스템
US10228958B1 (en) * 2014-12-05 2019-03-12 Quest Software Inc. Systems and methods for archiving time-series data during high-demand intervals
US9848041B2 (en) * 2015-05-01 2017-12-19 Amazon Technologies, Inc. Automatic scaling of resource instance groups within compute clusters
US9747153B2 (en) * 2015-06-22 2017-08-29 Microsoft Technology Licensing, Llc Resilience as a service
US11243755B1 (en) * 2016-06-22 2022-02-08 Amazon Technologies, Inc. Resource aware patching service
US10061652B2 (en) 2016-07-26 2018-08-28 Microsoft Technology Licensing, Llc Fault recovery management in a cloud computing environment
US11146474B2 (en) * 2018-09-28 2021-10-12 Atlassian Pty Ltd. Systems and methods for testing resilience of a distributed network
KR20230151676A (ko) * 2022-04-26 2023-11-02 쿠팡 주식회사 전자 장치 및 그의 동작 방법
US12009975B2 (en) 2022-07-22 2024-06-11 Dell Products L.P. Method and system for generating an upgrade recommendation for a communication network
US12032473B2 (en) * 2022-11-28 2024-07-09 Dell Products Moving an application context to the cloud during maintenance
US12093744B2 (en) 2023-01-25 2024-09-17 Dell Products L.P. System and method for instantiating twin applications

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6694346B1 (en) 1999-04-30 2004-02-17 International Business Machines Corporation Long running, reusable, extendible, virtual machine
US7529822B2 (en) * 2002-05-31 2009-05-05 Symantec Operating Corporation Business continuation policy for server consolidation environment
JP4189854B2 (ja) 2003-07-28 2008-12-03 新日鉄ソリューションズ株式会社 障害時動作検証装置及び障害時動作検証方法
GB2443229B (en) 2006-08-23 2009-10-14 Cramer Systems Ltd Capacity management for data networks
JP4631858B2 (ja) 2007-02-14 2011-02-16 富士通株式会社 論理システムの障害検証方法、障害検証装置、および障害検証プログラム
WO2009126154A1 (en) 2008-04-10 2009-10-15 Hewlett-Packard Development Company, L.P. Virtual machine migration according to environmental data
US8145471B2 (en) * 2008-04-30 2012-03-27 International Business Machines Corporation Non-destructive simulation of a failure in a virtualization environment
US8577845B2 (en) * 2008-06-13 2013-11-05 Symantec Operating Corporation Remote, granular restore from full virtual machine backup
US20100220622A1 (en) * 2009-02-27 2010-09-02 Yottaa Inc Adaptive network with automatic scaling
US8606897B2 (en) * 2010-05-28 2013-12-10 Red Hat, Inc. Systems and methods for exporting usage history data as input to a management platform of a target cloud-based network
US8631406B2 (en) * 2010-06-30 2014-01-14 Sap Ag Distributed cloud computing architecture

Also Published As

Publication number Publication date
US9858133B2 (en) 2018-01-02
CA2811415C (en) 2019-04-23
EP2619664A4 (en) 2016-05-25
US20120072571A1 (en) 2012-03-22
DK2619664T3 (da) 2022-03-07
WO2012040241A1 (en) 2012-03-29
KR101575010B1 (ko) 2015-12-08
KR20130075777A (ko) 2013-07-05
JP2013537344A (ja) 2013-09-30
EP2619664B1 (en) 2021-12-22
CA2811415A1 (en) 2012-03-29
EP2619664A1 (en) 2013-07-31

Similar Documents

Publication Publication Date Title
JP5898207B2 (ja) ネットワーク化アプリケーションの弾力性検証
US9015289B2 (en) Method and system for evaluating the resiliency of a distributed computing service by inducing a latency
US9760420B1 (en) Fleet host rebuild service implementing vetting, diagnostics, and provisioning pools
JP7398000B2 (ja) ブロックチェーンに基づくデータ検出方法及び装置並びにコンピュータ装置及びプログラム
US10171463B1 (en) Secure transport layer authentication of network traffic
US10798017B2 (en) Method and system for reclaiming unused resources in a networked application environment
EP2651099B1 (en) Method and system for improving security and reliability in a networked application environment
US11507439B1 (en) Application programming interface as a service
KR101461217B1 (ko) 클라우드 환경에서의 성능 테스트 비용 절감을 위한 테스트 시스템 및 테스트 방법
JP2014505931A (ja) 仮想アプリケーションのライセンシングおよびメータリング
CN105939491A (zh) 视频播放方法及装置
WO2015180293A1 (zh) 云桌面的监控方法及装置
AU2015271911B2 (en) Method and system for evaluating the resiliency of a distributed computing service by inducing latency

Legal Events

Date Code Title Description
A524 Written submission of copy of amendment under article 19 pct

Free format text: JAPANESE INTERMEDIATE CODE: A524

Effective date: 20140922

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140922

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150409

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150428

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20150728

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150818

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160303

R150 Certificate of patent or registration of utility model

Ref document number: 5898207

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

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