(57)【特許請求の範囲】
【請求項１】
クラウド・ベース・サービスの可用性を障害から回復させるためにコンピューティング・デバイス上で実行される方法であって、
前記クラウド・ベース・サービスの健全性監視に関連する１組の顧客体験から顧客体験を選択するステップを含み、前記顧客体験が、使用頻度、過去の使用分布、および使用の新しさという１組からの少なくとも１つを含む判断基準に基づいて選択されるステップと、
前記顧客体験に関連する顧客トランザクションをシミュレートするステップと、
前記顧客トランザクションの出力から、前記クラウド・ベース・サービスに関連する障害を検出するステップと、
前記障害に関連付けられた回復アクションを決定するステップと、
前記回復アクションを実行するステップと、
前記回復アクションを監視して、前記回復アクションに関連する成功ステータスを判定するステップと、
を含む、方法。
【請求項２】
請求項１に記載の方法であって、更に、
前記クラウド・ベース・サービスの健全性監視に関連する１組の顧客体験から、前記顧客体験の選択を受けるステップを含み、前記選択が、前記顧客体験に関連する１組の顧客からの一人、および前記クラウド・ベース・サービスの管理者を含む利害関係者によって行われる、
方法。
【請求項３】
請求項１又は２に記載の方法であって、更に、
前記顧客トランザクションを１つ以上の他の顧客トランザクションと共に格納する前記顧客体験を判定するステップと、
前記１つ以上の他の顧客トランザクションをシミュレートして、前記クラウド・ベース・サービスに関連する前記障害または１つ以上の他の障害を検出するステップと、
を含む、方法。
【請求項４】
請求項１〜３のいずれか一項に記載の方法であって、更に、
前記障害を、前記クラウド・ベース・サービスに関連するサブシステムにマッピングするステップと、
前記サブシステムを健全ステータスに復元するために、前記サブシステム上で前記回復アクションを実行するステップと、
を含む、方法。
【請求項５】
請求項１〜４のいずれか一項に記載の方法であって、更に、
前記障害を、前記クラウド・ベース・サービスに関連する障害サブシステムにマッピングするステップと、
前記障害サブシステムに関連する１つ以上のプロセスを、フェイルオーバー機能を備える健全なサブシステムに切り替えるために、前記回復アクションを実行するステップと、
を含む、方法。
【請求項６】
請求項１〜５のいずれか一項に記載の方法であって、更に、
前記回復アクションを監視しつつ、前記顧客体験に関連する１つ以上のメトリックを追跡して、前記１つ以上のメトリックが、前記成功ステータスに関連する１つ以上の閾値よりも大きいことを判定するステップを含む、
方法。
【請求項７】
請求項１〜６のいずれか一項に記載の方法であって、更に、
前記障害を前記回復アクションに、回復アクションのリストから引き合わせるステップを含む、
方法。
【請求項８】
請求項１〜７のいずれか一項に記載の方法であって、更に、
前記成功ステータスが負であるという判定に応答して、前記障害に関連付けられた他の回復アクションを決定するステップと、
前記他の回復アクションを実行するステップと、
前記他の回復アクションを監視して、前記他の回復アクションに関連する成功ステータスを判定するステップと、
を含む、方法。
【請求項９】
請求項１〜８のいずれか一項に記載の方法であって、更に、
前記出力を分析することによって前記出力から前記障害を生成し、前記クラウド・ベース・サービスに関連する１つ以上の障害サブシステムを区別する(differentiate)ステップを含む、
方法。
【請求項１０】
クラウド・ベース・サービスの可用性を障害から回復させるコンピューティング・デバイスであって、
メモリーと、
前記メモリーに結合されたプロセッサーであって、前記メモリーに格納された命令と共に管理アプリケーションを実行する、プロセッサーと、
を含み、
前記管理アプリケーションが、
前記クラウド・ベース・サービスの健全性監視に関連する１組の顧客体験から顧客体験を選択するステップを含み、前記顧客体験が、使用頻度、過去の使用分布、および使用の新しさという１組からの少なくとも１つを含む判断基準に基づいて選択されるステップと、
前記顧客体験に関連する顧客トランザクションをシミュレートし、前記顧客体験が前記顧客トランザクションを格納するステップと、
前記クラウド・ベース・サービスに関連する障害を、前記顧客トランザクションの出力から検出するステップと、
前記障害に関連付けられた回復アクションを決定するステップと、
前記回復アクションを実行するステップと、
前記回復アクションを監視して、前記回復アクションに関連する成功ステータスを判定するステップと、
を含むように構成される、コンピューティング・デバイス。
【請求項１１】
請求項１０に記載のコンピューティング・デバイスにおいて、前記管理アプリケーションが、更に、
前記障害に関連する情報を含む報告を生成するステップと、
前記クラウド・ベース・サービスに関連する利害関係者に前記報告を送信するステップとを含み、
前記利害関係者が、前記顧客体験に関連する顧客、および前記クラウド・ベース・サービスの管理者を含む、
コンピューティング・デバイス。
【請求項１２】
請求項１０又は１１に記載のコンピューティング・デバイスにおいて、前記管理アプリケーションが、更に、
前記出力を分析して、前記クラウド・ベース・サービスに関連し障害を起こしている１つ以上のサブシステムの識別情報、障害を起こしている前記１つ以上のサブシステムの数、および障害を起こしている前記１つ以上のサブシステムに関連するパターンという１組からの少なくとも１つを含む、１つ以上の判断基準を決定するステップと、
前記１つ以上の判断基準を前記障害に含ませるステップと、
前記判断基準に基づいて、前記障害を前記回復アクションにマッピングするステップとを、
含むように構成される、コンピューティング・デバイス。
【請求項１３】
請求項１０〜１２のいずれか一項に記載のコンピューティング・デバイスにおいて、前記管理アプリケーションが、更に、
前記出力内において前記クラウド・ベース・サービスの１つ以上のサブシステムに関連するメトリックから可用性数値を生成するステップと、
前記可用性数値が閾値未満であるという判定に応答して前記障害を判定するステップとを含み、
前記閾値が前記クラウド・ベース・サービスの管理者によって設定可能である、
コンピューティング・デバイス。
【請求項１４】
請求項１〜９のいずれか一項に記載の方法を実行するためのコンピュータ・プログラムを記録したコンピューター読み取り可能な記録媒体。
【発明の詳細な説明】
【背景技術】
【０００１】
[0001]  分散型コンピューティング技術は、複数のコンピューティング・リソースを調整して別個のソリューションを提供することを可能にした。分散型コンピューティングの一例、クラウド・コンピューティングは複数のシステムを纏めて、ユーザーの要望に合ったソリューションを提供する。クラウド・コンピューティングは、莫大なコンピューティング・リソースに及ぶことができる。クラウド・コンピューティング・アプリケーションおよびサービスにおいて利用されるコンピューティング・リソースは、ネットワークおよび場所を跨がって散在する。散在するコンピューティング・リソースは、離れたところから制御および管理される。通常、クラウド・コンピューティング・アセットに対する設置(installation)および構成(configuration)のサポートは、手作業のソリューションによって提供される。広く散在するコンピューティング・リソースの人間構成員(human component)による手作業の設置ソリューションは、価格効率的でない。
【０００２】
[0002]  クラウド・コンピューティング・システムに対する従来の回復ソリューションには欠点がある。従来の回復ソリューションは、クラウド・コンピューティング・システムの個々のコンポーネントにおける障害に取り組むのが通例となっている。個々のコンポーネントの健全性がローカルに監視される。個々のコンポーネントの健全性についての通知が中央コントローラーに送信される。また、従来の回復ソリューションはコンポーネントのクラスターも監視する。クラスターにおける個々のコンポーネントに関連する障害を解決するために、回復アクションがクラスターに送信され実行される。
【発明の概要】
【課題を解決するための手段】
【０００３】
[0003]  この摘要は、詳細な説明において以下で更に説明する概念から選択したものを、簡略化した形態で紹介するために設けられている。この摘要は、特許請求する主題の主要な特徴や必須の特徴のみを特定することを意図するのではなく、特許請求する主題の範囲を判断するときの補助として意図するのでもない。
【０００４】
[0004]  実施形態は、システム障害からクラウド・ベース・サービスの可用性を回復させることを目的とする。ある実施形態例では、クラウド・ベース・サービスの管理アプリケーションが、顧客体験に関連する顧客トランザクションをシミュレートする(simulate)することができる。顧客体験は、クラウド・ベース・サービスに関連するユーザー・シナリオを形成する１つ以上の顧客トランザクションを含むことができる。クラウド・ベース・サービスに関連する障害は、シミュレートされた顧客トランザクションの出力から検出することができる。この障害を分析し、障害を回復アクションにマッピングすることによって、回復アクションを決定することができる。回復アクションを実行および監視して、成功ステータスを判定することができる。
【０００５】
[0005]  これらおよびその他の特徴ならびに利点は、以下の詳細な説明を読み、添付図面を検討することによって明らかになるであろう。尚、以上の概略的な説明および以下の詳細な説明は解説のためであり、特許請求する態様を限定するのではないことは理解されよう。
【図面の簡単な説明】
【０００６】
【図１】図１は、実施形態にしたがって、顧客体験に基づいて、クラウド・ベース・サービスを回復させる例を示す概念図である。
【図２】図２は、実施形態にしたがって、顧客体験に基づいてクラウド・ベース・サービスを回復させる方式のコンポーネントを示す。
【図３】図３は、実施形態にしたがって、顧客体験に基づいてクラウド・ベース・サービスを回復させる方式の追加のコンポーネントを示す。
【図４】図４は、実施形態にしたがって、顧客体験に基づいてクラウド・ベース・サービスを回復させる方式の報告機能(reporting feature)を示す。
【図５】図５は、実施形態によるシステムを実現することができるネットワーク接続環境を簡略化したものである。
【図６】図６は、システム障害からクラウド・ベース・サービスの可用性を回復させるように構成することができる汎用コンピューティング・デバイスを示す。
【図７】図７は、実施形態にしたがって、システム障害からクラウド・ベース・サービスの可用性を回復させるプロセスの論理流れ図を示す。
【発明を実施するための形態】
【０００７】
[0013]  以上で端的に説明したように、クラウド・ベース・サービスに付随する管理アプリケーションによって、システム障害からクラウド・ベース・サービスの可用性を回復させることができる。顧客体験に関連する顧客トランザクションをシミュレートして、顧客体験をシミュレートすることができる。クラウド・ベース・サービスに伴う障害は、顧客トランザクションの出力から検出することができる。この障害に関連付けられる回復アクションを決定することができる。この回復アクションを実行および監視して、成功ステータスを判定することができる。
【０００８】
[0014]  以下の詳細な説明では、その一部を形成する添付図面を参照する。添付図面では、具体的な実施形態または例を例示として示す。本開示の主旨や範囲から逸脱することなく、これらの態様を組み合わせることもでき、他の態様を利用することもでき、構造的変更を行うこともできる。したがって、以下の詳細な説明は、限定的な意味で捕らえてはならず、本発明の範囲は、添付する特許請求の範囲およびその均等物によって定められるものとする。
【０００９】
[0015]  実施形態について、コンピューティング・デバイスのオペレーティング・システム上で実行するアプリケーション・プログラムと共に実行するプログラム・モジュールという一般的なコンテキストで説明するが、他のプログラム・モジュールと組みあわせて態様が実現されてもよいことは当業者には認められよう。
【００１０】
[0016]  一般に、プログラム・モジュールは、ルーチン、プログラム、コンポーネント、データー構造、および他のタイプの構造を含み、特定のタスクを実行するか、または特定の抽象データー型を実装する。更に、実施形態は他のコンピューター・システム構成でも実施できることは、当業者には認められよう。他のコンピューター・システム構成には、ハンドヘルド・デバイス、マルチプロセッサー・システム、マイクロプロセッサー・ベースまたはプログラマブル消費者用電子機器、ミニコンピューター、メインフレーム・コンピューター、および相当のコンピューティング・デバイスが含まれる。また、実施形態は分散型コンピューティング環境においても実施することができ、この場合、通信ネットワークを通じてリンクされたリモート処理デバイスによってタスクが実行される。分散型コンピューティング環境では、プログラム・モジュールは、ローカルおよびリモート双方のメモリー記憶デバイスに配置されてもよい。
【００１１】
[0017]  実施形態は、コンピューター実装プロセス（方法）、コンピューティング・システム、あるいはコンピューター・プログラム製品またはコンピューター読み取り可能媒体のような製品として実現することもできる。コンピューター・プログラム製品とは、コンピューター・システムによって読み取り可能であり、プロセス例（１つまたは複数）をコンピューターまたはコンピューティング・システムに実行させるための命令を含むコンピューター・プログラムをエンコードしたコンピューター記憶媒体とすることができる。コンピューター読み取り可能記憶媒体とは、コンピューター読み取り可能メモリー・デバイスである。コンピューター読み取り可能記憶媒体は、例えば、揮発性コンピューター・メモリー、不揮発性メモリー、ハード・ドライブ、およびフラッシュ・ドライブの内の１つ以上によって実現することができる。
【００１２】
[0018]  本明細書全体を通じて、「プラットフォーム」という用語は、システム障害からクラウド・ベース・サービスの可用性を回復させるためのソフトウェアおよびハードウェア・コンポーネントの組み合わせとすることができる。プラットフォームの例には、複数のサーバーにまたがってホストされ実行されるサービス、１つのコンピューティング・デバイス上で実行されるアプリケーション、および相当するシステムが含まれるが、これらに限定されるのではない。「サーバー」という用語は、一般に、１つ以上のソフトウェア・プログラムを通例ネットワーク接続環境において実行するコンピューティング・デバイスを指す。しかしながら、サーバーは、１つ以上のコンピューティング・デバイス上で実行されネットワーク上でサーバーと見なされる仮想サーバー（ソフトウェア・プログラム）として実現することもできる。これらの技術および実施形態例についてのこれ以上の詳細は、以下の説明において見出すことができる。
【００１３】
[0019]  図１は、実施形態にしたがって、顧客体験に基づいてクラウド・ベース・サービスを回復させる例を示す概念図である。
[0020]  ブロック・ダイアグラム１００に示すように、クラウド・ベース・サービス１０６はクライアント・デバイス１０２を介してサービスを顧客１０８に提供することができる。クラウド・ベース・サービス１０６は、クライアント・デバイス１０２においてクライアント・インターフェースを介して幅広い種々のサービスを提供することができる。サービスは、とりわけ、文書共有、電子メール・サービス、ストレージ・サービスを含むことができる。加えて、顧客１０８（クライアント・デバイス１０２とインターフェースすることを許可されている）は、とりわけ、１人の人、複数の人、人のグループ、組織を含むエンティティとすることができる。
【００１４】
[0021]  クラウド・ベース・サービス１０６は、分散型アプリケーションの１つ以上のコンポーネントを実行する１つ以上のコンピューティング・デバイスを介してサービスを提供する分散型アプリケーションであってもよい。１つ以上のコンピューティング・デバイスは、有線またはワイヤレス・インフラストラクチャを使用する１つ以上のネットワークを通じて接続することができる。クラウド・ベース・サービス１０６の例には、電子メール・サービスを含むことができる。電子メール・サービスは複数のコンピューティング・デバイスにホストすることができる。電子メール・サービスは、各コンピューティング・デバイスの利用可能な処理容量に基づいて、コンピューティング・デバイス間で分割されてもよい。他のシナリオ例では、クラウド・ベース・サービス１０６が文書共有サービスを含むこともできる。文書共有サービスは、各コンピューティング・デバイスの利用可能な記憶容量に基づいて、格納されている文書を複数のコンピューティング・デバイスに跨がって分散することができる。電子メール・サービスおよび文書共有サービスとしてのクラウド・ベース・サービス１０６の例は、限定の意味で提示されたのではない。クラウド・ベース・サービス１０６は、顧客１０８のような１つ以上の顧客にサービスを提供する、任意の分散型コンピューティング・ソリューションを含むことができる。
【００１５】
[0022]  クライアント・デバイス１０２を介して、顧客１０８がクラウド・ベース・サービス１０６と対話処理することを可能にすることができる。クライアント・デバイス１０２は、とりわけ、デスクトップ・コンピューター、スマート・フォン、ノートブック・コンピューター、タブレット・コンピューターのような、多数のコンピューティング・デバイスを含むことができる。顧客１０８は、クライアント・デバイス１０２によって設けられるクラウド・ベース・サービス１０６のクライアント・インターフェースを介して、クラウド・ベース・サービス１０６と対話処理することができる。あるいは、クラウド・ベース・サービス１０６がクライアント・インターフェースを設けてもよく、クライアント・デバイス１０２はクライアント・アプリケーション内にクライアント・インターフェースをレンダリングするのでもよい。顧客１０８は、多数の入力様式(modality)によって、クライアント・インターフェースと対話処理することができる。入力様式には、とりわけ、タッチ・ベース・アクション(touch-based action)１１０、キーボード・ベース入力、マウス・ベース入力を含むことができる。タッチ系アクション１１０は、とりわけ、タッチ・アクション、スワイプ・アクションのような多数のジェスチャを含むことができる。
【００１６】
[0023]  顧客１０８とクラウド・ベース・サービス１０６のクライアント・インターフェースとの１つ以上の対話処理は、顧客体験１０４の範囲に含むことができる。顧客体験１０４は、１つ以上の顧客タスクのためのコンテナと考えてもよい。顧客体験１０４の例には、顧客１０８が電子メール・サービスのクライアント・インターフェースを起動し、顧客１０８のユーザー・アカウントに関連する１つ以上の電子メールを読み出すことを含んでもよい。顧客体験１０４の他の例には、顧客１０８が文書共有サービスの編集クライアント・インターフェースを起動して文書を編集することを含んでもよい。また、顧客体験１０４は、顧客１０８が文書を編集しその文書を保存することを含んでもよい。
【００１７】
[0024]  図１におけるシステム例では、クラウド・ベース・サービス１０６および顧客体験１０４を含む具体的なコンポーネントを用いて説明したが、実施形態はこれらのコンポーネントやシステム構成に限定されるのではなく、これらよりも少ないまたは多いコンポーネントを採用する他のシステム構成でも実現することができる。
【００１８】
[0025]  図２は、実施形態にしたがって、顧客体験に基づいてクラウド・ベース・サービスを回復させる方式のコンポーネントを示す。
[0026]  ブロック・ダイアグラム２００において、顧客体験２０４に基づいてクラウド・ベース・サービス２０６を回復させる方式について説明する。管理アプリケーション２１０は、クラウド・ベース・サービス２０６のサブシステム２０８に関連する障害２１２を判定するために、顧客トランザクション２０２をシミュレートすることができる。
【００１９】
[0027]  管理アプリケーション２１０は、クラウド・ベース・サービス２０６を監視し管理するアプリケーションを含むことができる。管理アプリケーション２１０は、クラウド・ベース・サービス２０６のコンポーネントであってもよい。あるいは、管理アプリケーション２１０は、クラウド・ベース・サービス２０６と相互作用することが許可されることが可能な単体アプリケーションであってもよい。
【００２０】
[0028]  管理アプリケーション２１０は、クラウド・ベース・サービス２０６の健全性監視に関連する１組の顧客体験から、顧客体験を選択することができる。クラウド・ベース・サービス２０６の健全性監視は、クラウド・ベース・サービス２０６によって提供される連続動作のためのプロセス（崩壊した機能の監視および解決のような）を含むことができる。加えて、顧客体験２０４は、使用頻度、過去の使用分布、および顧客体験２０４の使用の新しさ(recentness)を含む判断基準に基づいて選択されてもよい。シナリオ例では、管理アプリケーション２１０が、最も頻繁に使用されている顧客体験２０４を、使用頻度に基づいてソートされた１組の顧客体験から選択するのでもよい。他のシナリオ例では、管理アプリケーション２１０が、１組の顧客体験の過去の使用分布の最上位にある顧客体験２０４を選択するのでもよい。更に他のシナリオ例では、管理アプリケーション２１０が、使用の新しさに基づいてソートされた１組の顧客体験から、最後に使用された顧客体験２０４を選択するのでもよい。
【００２１】
[0029]  あるいは、管理アプリケーション２１０が、クラウド・ベース・サービス２０６の健全性監視に関連する１組の顧客体験から、顧客体験２０４の選択を受けてもよい。この選択は、顧客体験２０４に関連する顧客を含む利害関係者(stakeholder)またはクラウド・ベース・サービス２０６の管理者によって行われてもよい。
【００２２】
[0030]  更に、顧客体験２０４は顧客トランザクション２０２を格納することもできる。顧客トランザクション２０２は、サブシステム２０８を介してクラウド・ベース・サービス２０６によって実行することができる１つ以上のコマンドを含むことができる。サブシステム２０８は、顧客トランザクション２０２のシミュレーション中に出力を生成することができる。この出力は、顧客トランザクション２０２に関連する障害を判定するために使用することができる。
【００２３】
[0031]  また、顧客体験２０４が、顧客トランザクション２０２と共に、１つ以上の他の顧客トランザクションも格納できることを、管理アプリケーション２１０が判断することもできる。１つ以上の他の顧客トランザクションも、障害２１２またはクラウド・ベース・サービス２０６に関連する１つ以上の他の障害を検出するために、シミュレートすることができる。クラウド・ベース・サービス２０６の例として、電子メール・サービスにおける顧客体験２０４のシミュレーションを含む例も可能である。顧客トランザクション２０２は、電子メール・インターフェース起動アクションを含むことができる。１つ以上の他の顧客トランザクションは、電子メールの引き出し、および顧客体験２０４に関連する電子メールのレンダリングを含むことができる。
【００２４】
[0032]  クラウド・ベース・サービス２０６のサブシステム２０８は、顧客トランザクション２０２をシミュレートすることができる。障害２１２は、顧客トランザクション２０２のシミュレーション中に検出することができる。サブシステム２０８は、顧客トランザクション２０２の出力を通じて、障害２１２を報告することができる。
【００２５】
[0033]  あるいは、障害２１２は、利用状況データー(usage data)から外挿補間することもできる。利用状況データーは受動データーと呼ばれることもある。利用状況データーは、クラウド・ベース・サービス２０６の使用シナリオの１つ以上の顧客トランザクションの測定値を含むことができる。測定値は、クラウド・ベース・サービス２０６の使用シナリオに関連するエラーを捕らえることができる。クラウド・ベース・サービス２０６に関連するクライアント・デバイスは、利用状況データーを取り込み、管理アプリケーション２１０のような分析アプリケーションにこの利用状況データーを送信することができる。管理アプリケーション２１０は、利用状況データーを処理して、閾値を超える利用状況データーによって報告されるエラーの数に基づいて、障害２１２を検出することができる。この閾値は、クラウド・ベース・サービス２０６の利害関係者によって設定されてもよい。また、利用状況データーを匿名にするために、個人データーを利用状況データーから除去してもよい。個人データーの例には、とりわけ、顧客の場所を含むことができる。また、とりわけ、障害を起こしているクラウド・ベース・サービス２０６に関連する１つ以上のサブシステムの識別情報のような、共通の判断基準に基づいて、利用状況データーを集計することもできる。
【００２６】
[0034]  クライアント・デバイスによって、利用状況データーをログ・ファイル内に取り込み、管理アプリケーション２１０に送信することができる。管理アプリケーション２１０は、ログ・ファイルを解析して、障害２１２に関連する情報を抽出することができる。また、管理アプリケーション２１０は、クラウド・ベース・サービス２０６のデバイスのような他のソースから、利用状況データーを引き出すこともできる。クラウド・ベース・サービス２０６は、顧客に関連する使用シナリオの測定値を取り込むためにリソースを割り当てることができる。測定値は、利用状況データーとして格納して、障害２１２の監視および分析のために、管理アプリケーション２１０のような分析アプリケーションに利用可能にすることができる。
【００２７】
[0035]  図３は、実施形態にしたがって、顧客体験に基づいてクラウド・ベース・サービスを回復させる方式の追加のコンポーネントを示す。
[0036]  ブロック・ダイアグラム３００に示すように、管理アプリケーション３１０は、クラウド・ベース・サービス３０６上でシミュレートされた顧客トランザクションの出力３１４から障害３１２を判定することができる。また、とりわけ、障害を起こしているクラウド・ベース・サービス３０６に関連する１つ以上のサブシステムの識別情報のような、共通の判断基準に基づいて、出力３１４を集計することもできる。障害３１２を回復アクション３１６にマッピングすることができ、回復アクション３１６は、障害３１２に関連するサブシステム３０８上で実行することができる。回復アクション３１６を監視して、回復アクション３１６の成功ステータス３１８を判定することができる。
【００２８】
[0037]  管理アプリケーション３１０は、サブシステム３０８を健全ステータスに復元する(restore)ために、サブシステム３０８上で回復アクション３１６を実行することができる。あるいは、サブシステム３０８（障害を起こしたサブシステム）に関連する１つ以上のプロセスを、フェイルオーバー機能を備える健全なサブシステムに切り替える(reroute)ために、回復アクション３１６を実行することもできる。
【００２９】
[0038]  ある例によれば、回復アクション３１６を監視しながら、顧客体験に関連する１つ以上のメトリックを追跡することもできる。１つ以上のメトリックは、クラウド・ベース・サービス３０６の１つ以上のサブシステム上でシミュレートされた１つ以上の顧客トランザクションに関連する測定値を含むことができる。回復アクション３１６の間これらのメトリックを監視して、１つ以上のメトリックが成功ステータス３１８に関連する１つ以上の閾値よりも高いことを判定することができる。
【００３０】
[0039]  サブシステム３０８が顧客体験をシミュレートしているならば、これに関連するメトリックから、可用性数値(availability number)を生成することができる。メトリックは、出力３１４から判定することができる。障害３１２は、可用性数値が閾値未満であるという他の判定に応答して判定することもできる。閾値は、クラウド・ベース・サービス３０６の管理者によって設定することができる。
【００３１】
[0040]  また、管理アプリケーション３１０は、成功ステータス３１８が負(negative)であるという判定に応答して、障害３１２に関連付けられた他の回復アクションを決定することもできる。回復アクション３１６がサブシステム３０８を健全ステータスに復元することに失敗した場合、管理アプリケーション３１０は、回復アクションのリストから、障害３１２に適合する(match)他の回復アクションを引き出し、この他の回復アクションを実行することができる。また、他の回復アクションを監視し、成功ステータス３１８を判定して、サブシステム３０８を健全ステータスに復元することもできる。回復アクション３１６は、第１回復アクションであってもよい。他の回復アクションは第２回復アクションであってもよい。
【００３２】
[0041]  他の例によれば、管理アプリケーション３１０が、１つ以上の判断基準を判定するために、出力３１４を分析することができる。判断基準は、とりわけ、障害を起こしているクラウド・ベース・サービス３０６に関連する１つ以上のサブシステムの識別情報、障害を起こしている１つ以上のサブシステムの数、障害を起こしている１つ以上のサブシステムに関連するパターンを含むことができる。この判断基準を障害３１２に含めることもできる。判断基準に基づいて、障害３１２を回復アクション３１６にマッピングすることができる。
【００３３】
[0042]  図４は、実施形態にしたがって、顧客体験に基づいてクラウド・ベース・サービスを回復させる方式の報告機能を示す。
[0043]  ブロック・ダイアグラム４００に示すように、管理アプリケーション４１０は、クラウド・ベース・サービスにおける１つ以上の障害を判定するために、クラウド・ベース・サービスにおける顧客体験のシミュレーションに基づいて、報告４２０を生成することができる。報告４２０は、障害４１２に関連する情報、回復アクション４１６、または成功ステータス４１８を含むことができる。報告４２０は、利害関係者４２２によって要求されるような、報告様式に一致するように定式化することもできる。
【００３４】
[0044]  利害関係者４２２は、顧客体験に関連する顧客を含むことができる。また、利害関係者４２２はクラウド・ベース・システムの管理者を含むこともできる。報告４２０は、スケジュールに基づいて送信することができる。あるいは、ユーザー体験のシミュレーションの結末、および障害４１２の解決に基づいて動的に報告４２０を送信することもできる。
【００３５】
[0045]  システム障害からクラウド・ベース・サービスの可用性を回復させることの技術的効果は、サービスの１つ以上のサブシステムで障害状態が検出されたときにおける、クラウド・ベース・サービスの復元の強化(enhancement)を含むことができる。
【００３６】
[0046]  図２および図４におけるシナリオ例や方式は、具体的なコンポーネント、データー型、および構成で示されている。実施形態は、これらの構成例によるシステムに限定されるのではない。システム障害からのクラウド・ベース・サービスの可用性の回復は、アプリケーションおよびユーザー・インターフェースにおいてこれらよりも少ないまたは多いコンポーネントを採用する構成においても実現することができる。更に、図２および図４に示す方式およびコンポーネントの例、ならびにそれらのサブコンポーネントは、本明細書において説明する原理を使用して、他の値を用いても同様に実現することができる。
【００３７】
[0047]  図５は、実施形態を実現することができるネットワーク接続環境例を示す。クラウド・ベース・サービスの顧客に基づく回復に備えるように構成された管理アプリケーションは、ホスト型サービス(hosted service)のような１つ以上のサーバー５１４にわたって実行されるソフトウェアによって実現することができる。このプラットフォームは、スマート・フォン５１３、ラップトップ・コンピューター５１２、またはデスクトップ・コンピューター５１１（「クライアント・デバイス」）のような個々のコンピューティング・デバイス上のクライアント・アプリケーションと、ネットワーク（１つまたは複数）５１０を通じて通信することができる。
【００３８】
[0048]  クライアント・デバイス５１１〜５１３の内任意のものにおいて実行されるクライアント・アプリケーションは、サーバー５１４によって実行されるアプリケーション（１つまたは複数）を介した通信、または個々のサーバー５１６上における通信を容易にすることができる。管理アプリケーションは、クラウド・ベース・サービスにおける１つ以上の障害を判定するために、顧客体験をシミュレートすることができる。障害を回復アクションにマッピングすることができ、回復アクションを実行し監視して、回復アクションの成功状態を判定することができる。管理アプリケーションは、障害および回復アクションに関連するデーターをデーター・ストア（１つまたは複数）５１９に、直接またはデーターベース・サーバー５１８を介して格納することができる。
【００３９】
[0049]  ネットワーク（１つまたは複数）５１０は、サーバー、クライアント、インターネット・サービス・プロバイダー、および通信媒体の任意のトポロジーを含むことができる。実施形態によるシステムは、固定または動的トポロジーを有することができる。ネットワーク（１つまたは複数）５１０は、企業ネットワークのような安全なネットワーク、ワイヤレス・オープン・ネットワークのような安全でないネットワーク、またはインターネットを含むことができる。また、ネットワーク（１つまたは複数）５１０は、公衆電話交換網（ＰＳＴＮ）またはセルラ・ネットワークのような他のネットワークを通じた通信を調整することもできる。更に、ネットワーク（１つまたは複数）５１０は、Ｂｌｕｅｔｏｏｔｈ（登録商標）または同様のもののような短距離ワイヤレス・ネットワークを含むことができる。ネットワーク（１つまたは複数）５１０は、本明細書において説明したノード間に通信を提供する。一例として、そして限定ではなく、ネットワーク（１つまたは複数）５１０は、音響、ＲＦ、赤外線、およびその他のワイヤレス媒体のような、ワイヤレス媒体を含むことができる。
【００４０】
[0050]  コンピューティング・デバイス、アプリケーション、データー・ソース、およびデーター分散システムの多くの他の構成も、システム障害からクラウド・ベース・サービスの可用性を回復させるために採用することができる。更に、図５において論じたネットワーク接続環境は、例示を目的とするに過ぎない。実施形態は、これらのアプリケーション、モジュール、またはプロセスの例に限定されるのではない。
【００４１】
[0051]  図６は、本明細書において説明した少なくともいくつかの実施形態にしたがって配置され(arranged)、システム障害からクラウド・ベース・サービスの可用性を回復させるように構成する(configure)ことができる汎用コンピューティング・デバイスを示す。
【００４２】
[0052]  例えば、コンピューティング・デバイス６００は、システム障害からクラウド・ベース・サービスの可用性を回復させるために使用することができる。基本構成６０２の例では、コンピューティング・デバイス６００は１つ以上のプロセッサー６０４とシステム・メモリー６０６とを含むことができる。プロセッサー６０４とシステム・メモリー６０６との間の通信のために、メモリー・バス６０８を使用することができる。基本構成６０２は、図６では、内側の破線内にあるコンポーネントによって例示することができる。
【００４３】
[0053]  所望の構成に応じて、プロセッサー６０４は任意のタイプにすることができ、マイクロプロセッサー（μＰ）、マイクロコントローラー（μＣ）、ディジタル信号プロセッサー（ＤＳＰ）、またはこれらの任意の組み合わせを含むが、これらに限定されるのではない。プロセッサー６０４は、レベル・キャッシュ・メモリー６１２のような１つ以上のレベルのキャッシング(caching)、プロセッサー・コア６１４、およびレジスター６１６を含むことができる。プロセッサー・コア６１４は、算術論理ユニット（ＡＬＵ）、浮動小数点ユニット（ＦＰＵ）、ディジタル信号処理コア（ＤＳＰコア）、またはこれらの任意の組み合わせを含むことができる。また、メモリー・コントローラー６１８は、プロセッサー６０４と共に使用することもでき、またはある実施態様では、メモリー・コントローラー６１８はプロセッサー６０４の一体部分であってもよい。
【００４４】
[0054]  所望の構成に応じて、システム・メモリー６０６は、任意のタイプにすることができ、揮発性メモリー（ＲＡＭのような）、不揮発性メモリー（ＲＯＭ、フラッシュ・メモリー等のような）、またはこれらの任意の組み合わせを含むが、これらに限定されるのではない。システム・メモリー６０６は、オペレーティング・システム６２０、管理アプリケーション６２２、およびプログラム・データー６２４を含むことができる。管理アプリケーション６２２は、顧客体験をシミュレートして、クラウド・ベース・サービスにおける１つ以上の障害を判定することができる。管理アプリケーション６２２は、障害を回復アクションにマッピングし、この回復アクションを実行して、障害に関連するサブシステムを復元することができる。本明細書において説明したように、プログラム・データー６２４は、データーの中でもとりわけ、シミュレーション・データー６２８等を含むことができる。シミュレーション・データー６２８は、障害および回復アクションに関連する情報を含むことができる。
【００４５】
[0055]  コンピューティング・デバイス６００は、基本構成６０２と任意の所望のデバイスおよびインターフェースとの間の通信を容易にするために、追加の機構(feature)または機能(functionality)および追加のインターフェースを有することもできる。例えば、基本構成６０２と１つ以上のデーター記憶デバイス６３２との間におけるストレージ・インターフェース・バス６３４を通じた通信を容易にするために、バス／インターフェース・コントローラー６３０を使用することもできる。データー記憶デバイス６３２は、１つ以上のリムーバブル記憶デバイス６３６、１つ以上の非リムーバブル記憶デバイス６３８、またはこれらの組み合わせとすることができる。リムーバブル記憶デバイスおよび非リムーバブル記憶デバイスの例には、フレキシブル・ディスク・ドライブおよびハード・ディスク・ドライブ（ＨＤＤ）のような磁気ディスク・デバイス、コンパクト・ディスク（ＣＤ）ドライブまたはディジタル・バーサタイル・ディスク（ＤＶＤ）ドライブのような光ディスク・ドライブ、ソリッド・ステート・ドライブ（ＳＳＤ）、ならびにテープ・ドライブ、更にその他数多くを含むことができる。コンピューター記憶媒体の例には、揮発性および不揮発性、リムーバブル、ならびに非リムーバブル媒体を含むことができ、コンピューター読み取り可能命令、データー構造、プログラム・モジュール、またはその他のデーターのような情報の格納のための任意の方法または技術で実現される。
【００４６】
[0056]  システム・メモリー６０６、リムーバブル記憶デバイス６３６、および非リムーバブル記憶デバイス６３８は、コンピューター記憶媒体の例としてもよい。コンピューター記憶媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュ・メモリーまたは他のメモリー技術、ＣＤ−ＲＯＭ、ディジタル・バーサタイル・ディスク（ＤＶＤ）、ソリッド・ステート・ドライブ、あるいは他の光ストレージ、磁気カセット、磁気テープ、磁気ディスク記憶デバイスまたはその他の磁気記憶デバイス、あるいは所望の情報を格納するために使用することができ、コンピューティング・デバイス６００によってアクセスすることができる任意の他の媒体を含むことができるが、これらに限定されなくてよい。任意のこのようなコンピューター記憶媒体が、コンピューティング・デバイス６００の一部であってもよい。
【００４７】
[0057]  また、コンピューティング・デバイス６００は、種々のインターフェース・デバイス（例えば、１つ以上の出力デバイス６４２、１つ以上の周辺インターフェース６４４、および１つ以上の通信デバイス６６６）から基本構成６０２への、バス／インターフェース・コントローラー６３０を介した通信を容易にするために、インターフェース・バス６４０も含むことができる。出力デバイス例６４２の一部は、グラフィクス処理ユニット６４８およびオーディオ処理ユニット６５０を含むことができ、これらは、ディスプレイまたはスピーカーのような種々の外部デバイスに、１つ以上のＡ／Ｖポート６５２を介して通信するように構成することができる。１つ以上の周辺インターフェース例６４４には、シリアル・インターフェース・コントローラー６５４またはパラレル・インターフェース・コントローラー６５６を含むことができ、これらは、入力デバイス（例えば、キーボード、マウス、ペン、音声入力デバイス、タッチ入力デバイス等）または他の周辺デバイス（例えば、プリンター、スキャナー等）のような外部デバイスと、１つ以上のＩ／Ｏポート６５８を介して通信するように構成することができる。通信デバイス例６６６はネットワーク・コントローラー６６０を含むことができ、ネットワーク・コントローラー６６０は、１つ以上の他のコンピューティング・デバイス６６２と、ネットワーク通信リンクを通して、１つ以上の通信ポート６６４を介して通信し易くするように構成することができる。１つ以上の他のコンピューティング・デバイス６６２には、サーバー、クライアント機器、および相当するデバイスを含むことができる。
【００４８】
[0058] ネットワーク通信リンクは、通信媒体の一例としてもよい。通信媒体は、搬送波のような変調データー信号または他の移送メカニズムにおいて、コンピューター読み取り可能命令、データー構造、プログラム・モジュール、または他のデーターによって具体化することができ、任意の情報配信媒体を含むことができる。「変調データー信号」とは、その信号内に情報をエンコードするような方法で、変調データー信号特性の内１つ以上が設定または変更された信号とすることができる。一例として、そして限定ではなく、通信媒体は、有線ネットワークまたは直接有線接続のような有線媒体、ならびに音響、無線周波数（ＲＦ）、マイクロ波、赤外線（ＩＲ）、およびその他のワイヤレス媒体のようなワイヤレス媒体を含むことができる。コンピューター読み取り可能媒体という用語は、本明細書において使用される場合、記憶媒体および通信媒体の双方を含むことができる。
【００４９】
[0059]  コンピューティング・デバイス６００は、以上の機能の内任意のものを含む汎用または特殊サーバー、メインフレーム、あるいは同様のコンピューターの一部として実現することもできる。また、コンピューティング・デバイス６００は、ラップトップ・コンピューターおよびラップトップ以外のコンピューター構成の双方を含むパーソナル・コンピューターとして実現することもできる。
【００５０】
[0060]  また、実施形態例は、システム障害からクラウド・ベース・サービスの可用性の回復も含むことができる。これらの方法は、本明細書において説明した構造を含む、任意の数の方法で実現することができる。このような方法の１つは、本開示において説明したタイプのデバイスを使用する、機械動作によるものでもよい。他の随意の方法は、動作の一部を実行する１人以上の人の操作者と共に実行される方法の個々の動作の内１つ以上のためであってもよく、一方他の動作は機械によって実行されてもよい。これらの人の操作者は互いに同じ場所にいる必要はないが、各々が、プログラムの一部を実行する機械と一緒にいればよい。他の例では、機械で自動化することができる判断基準を予め選択しておくことによってというようにして、人の対話処理を自動化することもできる。
【００５１】
[0061]  図７は、実施形態にしたがって、システム障害からクラウド・ベース・サービスの可用性を回復させるプロセスの論理流れ図を示す。プロセス７００は、クラウド・ベース・サービスの管理アプリケーション上に実装することができる。
【００５２】
[0062]  プロセス７００は、動作７１０から開始し、顧客体験に関連する顧客トランザクションをシミュレートすることができる。顧客トランザクションは、クラウド・ベース・サービスにおいて顧客体験をシミュレートする１つ以上のコマンドを含むことができる。動作７２０において、クラウド・ベース・サービスに関連する障害を、顧客トランザクションの出力から検出することができる。動作７３０において、障害に関連する回復アクションを決定することができる。回復アクションのリストにおける照合に基づいて、障害を回復アクションにマッピングすることができる。次に、動作７４０において回復アクションを実行することができる。動作７５０において、回復アクションを監視して、回復アクションに関連する成功ステータスを判定することができる。
【００５３】
[0063]  プロセス７００に含まれる動作は、例示を目的とするに限る。実施形態による管理アプリケーションは、それよりも少ないステップまたは多いステップを有する同様のプロセスによって実現することもでき、更に、本明細書において説明した原理を使用して、異なる順序の動作で実現することもできる。
【００５４】
[0064]  ある例によれば、クラウド・ベース・サービスの可用性を障害から回復させるためにコンピューティング・デバイス上で実行される方法について記載することができる。この方法は、顧客体験に関連する顧客トランザクションをシミュレートするステップと、顧客トランザクションの出力から、クラウド・ベース・サービスに関連する障害を検出するステップと、障害に関連付けられた回復アクションを決定するステップと、回復アクションを実行するステップと、回復アクションを監視して、回復アクションに関連する成功ステータスを判定するステップとを含むことができる。
【００５５】
[0065]  他の例によれば、クラウド・ベース・サービスの健全性監視に関連する１組の顧客体験から顧客体験を選択するのでもよく、顧客体験は、使用頻度、過去の使用分布、および使用の新しさという１組からの少なくとも１つを含む判断基準に基づいて選択される。クラウド・ベース・サービスの健全性監視に関連する１組の顧客体験から、顧客体験の選択を受けてもよく、この選択は、顧客体験に関連する１組の顧客からの一人、およびクラウド・ベース・サービスの管理者を含む利害関係者によって行われてもよい。前述の顧客トランザクションを１つ以上の他の顧客トランザクションと共に格納する顧客体験を判定してもよい。１つ以上の他の顧客トランザクションをシミュレートして、クラウド・ベース・サービスに関連する障害または１つ以上の他の障害を検出してもよい。
【００５６】
[0066]  更に他の例によれば、この方法は、更に、障害を、クラウド・ベース・サービスに関連するサブシステムにマッピングするステップと、サブシステムを健全ステータスに復元するために、サブシステム上で回復アクションを実行するステップとを含んでもよい。更に、この方法は、障害を、クラウド・ベース・サービスに関連する障害サブシステムにマッピングするステップと、障害サブシステムに関連する１つ以上のプロセスを、フェイルオーバー機能を備える健全なサブシステムに切り替えるために、回復アクションを実行するステップとを含んでもよい。回復アクションを監視しつつ、顧客体験に関連する１つ以上のメトリックを追跡して、１つ以上のメトリックが、成功ステータスに関連する１つ以上の閾値よりも大きいことを判定してもよい。回復アクションのリストから、障害を回復アクションに引き合わせてもよい。
【００５７】
[0067]  他の例によれば、この方法は、 更に、成功ステータスが負であるという判定に応答して、障害に関連付けられた他の回復アクションを決定するステップと、他の回復アクションを実行するステップとを含んでもよい。他の回復アクションを監視して、他の回復アクションに関連する成功ステータスを判定してもよい。出力を分析することによって、出力から障害を生成し、クラウド・ベース・サービスに関連する１つ以上の障害サブシステムを区別してもよい。
【００５８】
[0068]  ある例によれば、クラウド・ベース・サービスの可用性を障害から回復させるコンピューティング・デバイスについて記載することができる。このコンピューティング・デバイスは、メモリーと、メモリーに結合されたプロセッサーとを含むことができる。プロセッサーは、メモリーに格納された命令と共に管理アプリケーションを実行するように構成することができる。管理アプリケーションは、顧客体験に関連する顧客トランザクションをシミュレートし、顧客体験が顧客トランザクションを格納し、クラウド・ベース・サービスに関連する障害を、顧客トランザクションの出力から検出し、障害に関連付けられた回復アクションを決定し、回復アクションを実行し、回復アクションを監視して、回復アクションに関連する成功ステータスを判定するように構成することができる。
【００５９】
[0069]  他の例によれば、管理アプリケーションが、更に、障害に関連する情報を含む報告を生成し、クラウド・ベース・システムに関連する利害関係者に報告を送信するように構成され、利害関係者が、顧客体験に関連する顧客、およびクラウド・ベース・システムの管理者を含む。管理アプリケーションは、更に、回復アクションに関連する情報および成功ステータスを含む報告を生成し、この報告を、クラウド・ベース・システムに関連する利害関係者に送信するように構成され、利害関係者が、顧客体験に関連する顧客、およびクラウド・ベース・システムの管理者を含む。
【００６０】
[0070]  ある例によれば、管理アプリケーションは、更に、出力を分析して１つ以上の判断基準を決定するように構成され、判断基準が、クラウド・ベース・サービスに関連し障害を起こしている１つ以上のサブシステム、障害を起こしている１つ以上のサブシステムの数、および障害を起こしている１つ以上のサブシステムに関連するパターンという１組から少なくとも１つを含む。１つ以上の判断基準が障害に含まれてもよく、判断基準に基づいて、障害を回復アクションにマッピングすることもできる。出力内においてクラウド・ベース・サービスの１つ以上のサブシステムに関連するメトリックから可用性数値を生成してもよい。可用性数値が閾値未満であるという判定に応答して障害を判定してもよく、閾値はクラウド・ベース・サービスの管理者によって設定可能である。
【００６１】
[0071]  ある例によれば、クラウド・ベース・サービスの可用性を障害から回復させるための命令が格納されたコンピューター読み取り可能メモリー・デバイスについて記載することができる。命令は、以上で説明した方法と同様のアクションを含むことができる。
【００６２】
[0072]  以上の明細書、例、およびデーターは、実施形態の組成(composition)の製造および使用の完全な説明を提供する。構造的特徴および／または方法論的アクトに特定的な文言で主題について説明したが、添付する特許請求の範囲において定められる主題は、必ずしも以上で説明した具体的な特徴やアクトに限定されるのではないことは理解されよう。逆に、以上で説明した具体的な特徴およびアクトは、特許請求の範囲および実施形態を実現する形態例として開示したまでである。
【図１】
0006581648.tif 000002
【図２】
0006581648.tif 000003
【図３】
0006581648.tif 000004
【図４】
0006581648.tif 000005
【図５】
0006581648.tif 000006
【図６】
0006581648.tif 000007
【図７】
0006581648.tif 000008