(57)【要約】クラウドコンピューティングのモニタリングシステムはアラートキャプチャリングシステムおよびメッセージ転送システムを有し、そのメッセージ転送システムがパフォーマンストラッキングとアラート管理をローカルモニタリングシステムに提供している。アラートキャプチャリングシステムはマネージコードフレームワークの一部として動作することがあり、オペレーティングシステムに伝送されることのあるアラートをキャプチャし、そのアラートをアプリケーション例外およびデバッギング情報と共にルーティングすることがある。メッセージキューイングシステムはこれらのアラートをローカルモニタリングシステムに伝送することがあり、そのローカルモニタリングシステムはクラウドシステムのメッセージキューイングシステムに加入するコネクタを有することがある。
2013513860.tif 000002
【特許請求の範囲】
【請求項１】
クラウドコンピューティング環境であって、
ハードウェアファブリックと、
アプリケーションを実行するように構成されたランタイム管理システムと、
リンク可能なライブラリであるモニタリングフレームワークと、を備え、
前記モニタリングフレームワークは、
前記アプリケーションから情報を受信し、モニタリングアプリケーションによって実行可能な事前定義フォーマットでメッセージを作成するように構成されたメッセージ構成機能と、
前記メッセージを前記モニタリングアプリケーションに伝送するように構成されたメッセージ伝送機能と、
を含むことを特徴とするクラウドコンピューティング環境。
【請求項２】
前記メッセージ伝送機能によってコールされるメッセージキューイングシステムをさらに含み、前記メッセージキューイングシステムは前記モニタリングフレームワークからメッセージを受信し、前記メッセージを前記モニタリングアプリケーションに伝送するように構成されていることを特徴とする請求項１に記載のクラウドコンピューティング環境。
【請求項３】
前記メッセージキューイングシステムは、前記メッセージを前記モニタリングアプリケーションに伝送するまで前記メッセージをストアしておくように構成されたメッセージキューを含むことを特徴とする請求項２に記載のクラウドコンピューティング環境。
【請求項４】
前記メッセージキューイングシステムは複数のメッセージキューに対する加入メカニズムを有していることを特徴とする請求項３に記載のクラウドコンピューティング環境。
【請求項５】
前記モニタリングアプリケーションは前記メッセージキューへの加入をリクエストすることを特徴とする請求項４に記載のクラウドコンピューティング環境。
【請求項６】
前記メッセージキューイングシステムは前記加入のために前記モニタリングアプリケーションを認証することを特徴とする請求項５に記載のクラウドコンピューティング環境。
【請求項７】
前記ランタイム管理システムはマネージコード環境を備えたことを特徴とする請求項１に記載のクラウドコンピューティング環境。
【請求項８】
前記モニタリングフレームワークは前記アプリケーションにダイナミックにリンクされることを特徴とする請求項７に記載のクラウドコンピューティング環境。
【請求項９】
前記モニタリングフレームワークはランタイムバージョンと開発バージョンとを含み、前記開発バージョンが従来のコンピューティング環境で実行可能であることを特徴とする請求項８に記載のクラウドコンピューティング環境。
【請求項１０】
前記情報は前記アプリケーションによって投入され、前記アプリケーションによってキャプチャされる例外を含むことを特徴とする請求項１に記載のクラウドコンピューティング環境。
【請求項１１】
前記情報は前記アプリケーションによって生成されるパフォーマンス情報を含むことを特徴とする請求項１に記載のクラウドコンピューティング環境。
【請求項１２】
前記情報は前記アプリケーションによって生成されるデバッギング情報を含むことを特徴とする請求項１に記載のクラウドコンピューティング環境。
【請求項１３】
前記デバッギング情報は、前記アプリケーションがデバッギングモードで動作しているときに生成されることを特徴とする請求項１２に記載のクラウドコンピューティング環境。
【請求項１４】
クラウドベースのランタイム環境によって実行される方法であって、
クラウド環境で実行されるクラウドアプリケーションにリンクするステップと、
モニタリングアプリケーションに伝送する情報を受信するステップであって、前記モニタリングアプリケーションがリモートデバイス上に置かれているステップと、
情報タイプを決定するために前記情報を評価するステップと、
少なくとも前記情報の一部分を含むメッセージを作成するステップであって、前記メッセージが事前定義フォーマットを有しているステップと、
前記メッセージを前記モニタリングアプリケーションに伝送するステップと、
を備えることを特徴とする方法。
【請求項１５】
前記クラウドベースのランタイム環境は、前記クラウドアプリケーションによって直接的にアクセス可能なオペレーティングシステムを有しないことを特徴とする請求項１４に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、クラウドコンピューティング環境に関する。
【背景技術】
【０００２】
クラウドコンピューティングは、従来のコンピュータの多数の側面を抽象化するコンピューティングパラダイムである。クラウド環境では、ハードウェアコンポーネントがハードウェアファブリック(hardware fabric)に抽象化されることがある。ハードウェアファブリックは１つまたは複数のデータセンタに置かれた多数のサーバコンポーネントであることがあり、データセンタは地理的に分散化されていることがある。
【０００３】
多くのクラウド環境では、オペレーティングシステムの従来の考え方(notion)も、アプリケーションがランタイム環境で動作するように抽象化されることがあるが、オペレーティングシステム機能へのアクセスが制限されている。
【０００４】
クラウド環境は高度にスケーラブルである態様でアプリケーションを実行することがある。開発者は実行するアプリケーションを提供することがあり、管理システムは、どれだけの量のコンピューティングリソースを割り振るべきか、そしてこれらのリソースの地理的ロケーションを判断することがあり、さらに、どのハードウェアプラットフォーム上でアプリケーションを実行させるかを判断することがある。いくつかのケースでは、アドミニストレータはコンピューティングリソースに対してなんらかの上限と下限を決定できることがあるが、クラウド管理システムは、特定のリソースの割り振りとアプリケーションの実行の管理を取り扱うことがある。
【０００５】
クラウド管理システムが高負荷期間にリソースを割り振り、低負荷期間にリソースを解放することがあるように、クラウド環境はアプリケーションが負荷と共にスケールアップとスケールダウンするのを可能にすることがある。
【発明の概要】
【０００６】
クラウドコンピューティングのモニタリングシステムはイベントキャプチャリングシステム(event capturing system)とメッセージ転送システム(message transfer system)を有し、そのメッセージ転送システムがパフォーマンストラッキングとアラート管理をローカルモニタリングシステムに提供している。イベントキャプチャリングシステムはマネージコードフレームワーク(managed code framework)の一部として動作することがあり、モニタリングシステムに伝送されることのあるアラートをキャプチャし、そのアラートをアプリケーション例外およびデバッギング情報と共にルーティングすることがある。メッセージキューイングシステム(message queuing system)はこれらのイベントをローカルモニタリングシステムに伝送することがあり、このローカルモニタリングシステムは、クラウドシステムのメッセージキューイングシステムに加入するコネクタを有していることがある。モニタリングシステムは、アプリケーションにリンクされ、そのアプリケーションによってコール可能であるフレームワークまたは実行可能コードライブラリであることがある。
【０００７】
この概要説明は、以下の「詳細な説明」の個所に詳しく記載されているコンセプト(概念)を選んで簡単な形で紹介したものである。この概要説明は請求項に記載の主題のキーとなる特徴または必須の特徴を特定するものでも、請求項に記載の主題の範囲を限定するために使用されるものでもない。
【図面の簡単な説明】
【０００８】
【図１】モニタリングシステムがクラウドコンピューティング環境と共に動作しうるネットワーク環境を示す実施形態を説明する図である。
【図２】モニタされるイベントをキャプチャし、伝送し、使用する方法を示す実施形態のタイムラインを説明する図である。
【図３】クラウド環境をモニタリングフレームワークと共に示す実施形態を説明する図である。
【発明を実施するための形態】
【０００９】
クラウドコンピューティングのランタイム環境は、エラー、デバッギング情報、パフォーマンス情報、ステータス、および集中モニタリングアプリケーションに転送されることのある他の情報をキャプチャして、リポートする実行可能ルーチンを含むモニタリングフレームワークを有していることがある。集中モニタリングアプリケーションは複数の実行中アプリケーションから情報を収集して、アラートする機能と管理機能をアドミニストレータに提供することがある。一部の実施形態では、モニタリングアプリケーションは、リアルタイムネットワークとアプリケーションモニタリングのためのネットワーク運用センタ(network operations center)で使用されることがある。
【００１０】
モニタリングフレームワークは、アプリケーションから情報をキャプチャし、その情報をモニタリングアプリケーションに伝達する機能を含んでいることがある。モニタリングフレームワークは伝送する情報を受信し、その情報からメッセージを準備し、モニタリングシステムが実行することのあるフォーマットでこれらのメッセージをモニタリングシステムに伝送することがある。一部の実施形態では、メッセージキューイングシステムは、モニタリングシステムがメッセージキューに加入するときに使用するコネクタまたは他のメカニズムをもつモニタリングシステムにメッセージを伝送するために使用されることがある。
【００１１】
モニタリングフレームワークは、一部の実施形態では、クラウドコンピューティング環境用にランタイム環境に含まれていることがある。ランタイム環境は、リアルタイムリンキング、ガーベージコレクションおよびその他のサービスを含んでいることがあるマネージコード環境であることがある。一部の実施形態では、モニタリングフレームワークは、アプリケーションがクラウド環境においてそれと付き合わせて開発され、テストされ、デプロイ(deploy)されることのあるソフトウェア開発キットまたはその他の事前定義の実行可能コード(executables)のセットに含まれていることがある。
【００１２】
本明細書の全体を通して、同様の参照符号は添付図面の記載を通して同じエレメントを示している。
【００１３】
エレメントが「接続(connected)」または「結合(coupled)」されていると言及されているときは、これらのエレメントは直接に接続または１つに結合可能であるか、あるいは１つまたは複数の介在エレメント(intervening element)が存在していることもある。これとは対照的に、エレメントが「直接に接続(directly connected)」または「直接に結合(directly coupled)」されていると言及されているときは、介在エレメントが存在していない。
【００１４】
主題はデバイス、システム、方法および／またはコンピュータプログラムプロダクトとして具現化することができる。従って、主題の一部または全部は、ハードウェアで具現化されることもおよび／またはソフトウェア（ファームウェア、常駐ソフトウェア、マイクロコード、ステートマシン、ゲートアレイなどを含む）で具現化されることもある。さらに、主題は、コンピュータ使用可能またはコンピュータ可読プログラムコードが命令実行システムによってまたはそのシステムに関連して使用される媒体に具現化されているコンピュータ使用可能またはコンピュータ可読記憶媒体上のコンピュータプログラムプロダクトの形態になっていることがある。本明細書のコンテキストでは、コンピュータ使用可能またはコンピュータ可読媒体は、命令実行システム、装置またはデバイスによってまたはそれに関連して使用されるプログラムを収容し、ストアし、通信し、伝播し、またはトランスポートすることが可能ならば、どのような媒体であってもよい。
【００１５】
コンピュータ使用可能またはコンピュータ可読媒体は、例えば、電子的、磁気的、光学的、電磁気的、赤外線または半導体システム、装置、デバイス、または伝播媒体であってもよいが、これらに限定されない。例を挙げると、コンピュータ可読媒体はコンピュータ記憶媒体および通信媒体を含むことがあるが、これらに限定されない。
【００１６】
コンピュータ記憶媒体は、コンピュータ可読命令、データ構造、プログラムモジュール、またはその他のデータのような情報をストアするためのいずれかの方法またはテクノロジで実現された揮発性および不揮発性で、取り外し可能および取り外し不能の媒体を含んでいる。コンピュータ記憶媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリまたはその他のメモリテクノロジ、ＣＤ−ＲＯＭ、ＤＶＤ(digital versatile disk)またはその他の光学ストレージ、磁気カセット、磁気テープ、磁気ディスクストレージまたはその他の磁気ストレージデバイス、または所望の情報をストアするために使用可能で、命令実行システムによってアクセス可能な任意の他の媒体を含んでいるが、これらに限定されない。なお、コンピュータ使用可能またはコンピュータ可読媒体は、例えば、ペーパまたは他の適当な媒体を光学的にスキャンすることによってプログラムが電子的にキャプチャされ、そのあとコンパイル、インタプリートまたは必要ならば、適当な方法で他の処理がされたあと、コンピュータメモリにストア可能であるように、そこにプログラムがプリントされるペーパまたは他の適当な媒体にすることができる。
【００１７】
通信媒体は、コンピュータ可読命令、データ構造、プログラムモジュールまたはその他のデータを、搬送波(carrier wave)またはその他のトランスポート媒体などの変調データ信号(modulated data signal)で具現化しており、いずれかの情報配信媒体を含んでいるのが代表的である。「変調データ信号」の用語は、その信号において情報を符号化するような形でその特性の１つまたは複数がセットまたは変更されている信号として定義することができる。例を挙げると、通信媒体はワイヤードネットワークまたは直接ワイヤードコネクションなどのワイヤードと媒体、および音響、ＲＦ、赤外線およびその他のワイヤレス媒体などのワイヤレス媒体を含んでいるが、これらに限定されない。上記に挙げたもののいずれかを組み合わせたものもコンピュータ可読媒体の範囲内に含まれることは当然である。
【００１８】
主題がコンピュータ実行可能命令という一般的なコンテキストで具現化されるときは、その実施形態は１つまたは複数のシステム、コンピュータまたはその他のデバイスによって実行されるプログラムモジュールを含むことがある。一般的に、プログラムモジュールには、特定のタスクを実行し、または特定の抽象データ型を実現するルーチン、プログラム、オブジェクト、コンポーネント、データ構造などが含まれている。代表例として、プログラムモジュールの機能性は、種々の実施形態において望まれるように組み合わされることも、分散されていることもある。
【００１９】
図１は、一実施形態１００を示す図であり、そこにはクラウド環境がモニタリングシステムと共に示されている。この実施形態１００は、クラウド環境でアプリケーションと協働可能なモニタリングシステムと共にデバイスを示す単純化した例であり、クラウドアプリケーションがモニタリングフレームワークを使用して、モニタリングアプリケーションによって実行されるメッセージをキャプチャし、伝送することができる。
【００２０】
図１の図はシステムの機能コンポーネントを例示している。いくつかのケースでは、これらのコンポーネントはハードウェアコンポーネント、ソフトウェアコンポーネント、またはハードウェアとソフトウェアの組み合わせであることがある。コンポーネントのいくつかはアプリケーションレベルのソフトウェアであることがあるのに対し、他のコンポーネントはオペレーティングシステムレベルのコンポーネントであることがある。いくつかのケースでは、あるコンポーネントと他のコンポーネントとの接続は、２つ以上のコンポーネントが単一のハードウェアプラットフォームで動作している密接続(close connection)であることがある。他のケースでは、これらの接続は長距離に渡るネットワークコネクションを通じて行なわれることがある。各々の実施形態は、異なるハードウェア、ソフトウェアおよび相互接続アーキテクチャを使用して、上述した機能を達成することがある。
【００２１】
実施形態１００は、クラウドアプリケーションをモニタ可能なモニタリングシステムの一例である。モニタリングシステムは多数の異なるデバイス、アプリケーションおよびその他のコンポーネントをモニタし、そのあとこれらのコンポーネントのステータスをユーザインタフェースに統合(consolidate)することができる。モニタリングシステムは、企業の情報テクノロジインフラストラクチャの健全性(health)とステータスを集中化した態様でモニタするために使用されることがある。
【００２２】
情報インフラストラクチャは多数の異なるサーバ、サービス、アプリケーションおよびその他のコンポーネントを含むことがある。コンポーネントの一部は、モニタリングデバイス上で実行されるアプリケーションのほかに、ローカルエリアネットワーク内のデバイス上で実行されるアプリケーションのように、ローカルコンポーネントであることも、オンプレミス(on premise)コンポーネントであることもある。その他のコンポーネントは、クラウドアプリケーションのようにリモートコンポーネントであることがある。
【００２３】
クラウドコンピューティング環境には、種々のバージョンがある。あるタイプのクラウドコンピューティング環境では、バーチャルマシンがリモートハードウェアファブリック上で作成され、実行されることがある。このバーチャルマシンは、モニタリングシステムとのインタフェースになるように構成され、インストルメント化されることのあるオペレーティングシステムまたはその他の機能を備えていることがある。
【００２４】
別のタイプのクラウドコンピューティング環境では、ハードウェアファブリックは、各々がオペレーティングシステムをもつ複数のサーバデバイスを有していることがあり、その各々はオペレーティングシステムの上で動作するクラウドレイヤ(cloud layer)を備えていることもある。クラウドレイヤはオペレーティングシステムをアプリケーションから抽象化し、多数の自動化管理機能を提供することがある。クラウドレイヤはロードバランシング(load balancing)、冗長性(redundancy)、異なる地理的エリアにおけるレプリケーション(replication)、リソース管理およびその他の機能を提供することがある。多くの実装では、クラウドレイヤは、クラウドアプリケーションの実行のために使用されるリソースを自動的に管理することがある。
【００２５】
多くのクラウドコンピューティング環境はモニタリングフレームワークを実現することができる。モニタリングフレームワークは、情報をキャプチャし、その情報をモニタリングシステムに伝送するためにアプリケーションによってコール可能である機能のセットであることがある。モニタリングフレームワークは、伝送される情報をカプセル化するメッセージを作成することがあり、この場合、これらのメッセージはフォーマットと配信の両方においてモニタリングシステムと互換性をもっている。
【００２６】
デバイス１０２は、種々のコンポーネントをモニタするために使用されることがあり、その中にはクラウド環境で実行されるアプリケーションも含まれている。デバイス１０２はハードウェアプラットフォーム１０４と種々のソフトウェアコンポーネント１０６を有していることがある。デバイス１０２は、モニタリングアプリケーションがそこで動作可能なスタンドアロンデバイスとして図示されている。
【００２７】
ハードウェアプラットフォーム１０４は、サーバやデスクトップコンピュータのように代表的なコンピューティングプラットフォームであることがある。ハードウェアプラットフォーム１０４は、プロセッサ１０８、ランダムアクセスメモリ１１０および不揮発性ストレージ１１２を含むことがある。ハードウェアプラットフォーム１０４は、ネットワークインタフェース１１４のほかにユーザインタフェース１１６を含むこともある。
【００２８】
多くの実施形態では、ハードウェアプラットフォーム１０４はサーバコンピュータであることがあるが、他の実施形態では、ハードウェアプラットフォーム１０４はどのタイプのコンピューティングデバイスであってもよい。例えば、ハードウェアプラットフォーム１０４はサーバコンピュータ、デスクトップコンピュータ、ラップトップコンピュータ、ネットブック(netbook)コンピュータまたはその他のデバイスであることがある。いくつかのケースでは、ハードウェアプラットフォーム１０４は、パーソナルデジタルアシスタント(personal digital assistant)、ポータブルコンピュータ、モバイル電話、またはその他のモバイルデバイスのようなモバイルデバイスであることがある。
【００２９】
ソフトウェアコンポーネント１０６は、その上でモニタリングアプリケーション１２０が実行可能なオペレーティングシステム１１８を含むことがある。モニタリングアプリケーション１２０は、特定のデバイス、アプリケーションまたはその他のモニタ対象のコンポーネントから情報を収集することのある複数のコネクタ１２２を有していることがある。
【００３０】
モニタリングアプリケーション１２０は他のコンポーネントから情報を収集し、その情報をユーザインタフェースに集約することができる。１つの使用シナリオでは、モニタリングアプリケーション１２０は、会社またはその他の企業内のハードウェアとソフトウェアコンポーネントのパフォーマンス、構成および使用をモニタするために使用されることがある。モニタリングアプリケーション１２０は、モニタ対象のコンポーネントのいずれかで問題が起こるおそれのあるときアドミニストレータにアラート(警告)すると共に、コンポーネントのステータスを示すことがある。多くの実施形態では、モニタリングアプリケーション１２０は、モニタ対象のコンポーネントの更新(update)とステータスをリアルタイムまたはほぼリアルタイム(near-real time)で知らせることがある。
【００３１】
一部の実施形態では、モニタリングアプリケーション１２０は、モニタ対象のコンポーネントのステータスおよびアラートがあればそのアラートがそこから提示されることのあるユーザインタフェースを備えていることがある。モニタリングアプリケーション１２０は、アラートまたはその他のメッセージを、ｅメール、音声メール(voicemail)またはその他のメカニズムを使用して種々のコンポーネントに伝送するためにメッセージングシステムを使用することがある。アラートは、例えば、緊急イベントが検出されるとき伝送されることがある緊急メッセージであることがある。
【００３２】
モニタリングアプリケーション１２０は複数のコネクタ１２２を有していることがある。これらのコネクタは、モニタ対象のコンポーネントに関する情報をコレクトし、収集するために種々の情報ソースと接続することがある。情報ソースは、モニタリングアプリケーション１２０によって実行されることのあるアラート、イベント、パフォーマンスデータまたはその他の情報を生成することのあるアプリケーション、機能、デバイスまたはその他のコンポーネントであれば、どのようなものであってもよい。これらのコネクタ１２２は、あるソースに情報を要求することのある能動型(active)機能であることも、定期的にまたは情報が利用可能であるとき情報を受信することのある受動型(passive)機能であることもある。
【００３３】
能動型コネクタ１２２は定期的にデータコレクションを開始することがある。一部の実施形態では、コネクタ１２２は、要求した情報を返すことがあるサービスに情報のリクエストをサービスに伝送することがある。別の実施形態では、コネクタ１２２は、リモートのデータストレージデバイスにアクセスして、そのストレージデバイスにストアされたデータをダウンロードまたは検索(retrieve)することがある。
【００３４】
受動型コネクタ１２２は、別のデバイスまたはサービスによって開始されることのある伝送を受信することがある。その別のデバイスまたはサービスはメッセージまたは他の形態の情報を定期的にまたは伝送する情報があるときコネクタ１２２に伝送することがある。
【００３５】
一部のコネクタ１２２は情報の更新を受信するためにメッセージキューに加入することがある。コネクタ１２２は、ＵＲＩ(Uniform Resource Identifier)またはその他のＩＤやアドレスを使用してキューイングシステムまたはその他のメッセージングシステムにアクセスすることによって加入を開始することがある。一部の実施形態では、このようなコネクタ１２２はメッセージの受信を可能にするためにメッセージングシステムにクリデンシャル(credential)を提示することがある。
【００３６】
いくつかのメッセージングシステムは、１つまたは複数のメッセージングシステムがそこに加入することのある複数の加入を作成することがある。例えば、クラウドアプリケーションは、複数の加入が使用可能になっていることがある。そのような加入の１つは高優先度のアラート用であり、もう１つは動作状態のステータス用であり、さらにもう１つはデバッギング情報用である。いくつかのケースでは、モニタリングアプリケーション１２０は使用可能な加入の１つまたは複数に加入することがある。
【００３７】
モニタリングアプリケーション１２０は、多数の異なるタイプの情報をモニタ対象のコンポーネントから収集することがある。この情報には、一般的ステータス情報、パフォーマンス情報、アラートと緊急ステータス、デバッギング情報およびその他の情報が含まれることがある。一部の実施形態では、異なるメカニズムで異なるタイプの情報を取り扱うことがあり、その中には異なる態様で情報を収集し、ストアし、処理し、提示することが含まれている。
【００３８】
ステータス情報はコンポーネントのカレント動作状態ステータスを示すことがある。このステータス情報は、コンポーネントが始動され、休止され、停止され、またはその他のステート変更がなされたとき更新されることがある。多くのケースでは、ステータス情報はリアルタイムまたはほぼリアルタイムで提供されることがある。ステータス情報は種々のモニタ対象コンポーネントのハイレベル概要を提示するために使用されることがある。例えば、モニタ対象アプリケーション群のダッシュボードビュー(dashboard view)は、動作状態のステータスを表すグリーンのアイコンで、および停止中または休止中ステータスを表す赤のアイコンで提示されることがある。シングルユーザインタフェースは多数の異なるモニタ対象コンポーネントのカレントステータスを、ユーザインタフェースをスキャンし易いような形で提供することがある。
【００３９】
パフォーマンス情報はコンポーネントのオペレーションに関する種々の要約(summary)または詳細(detailed)統計を含んでいることがある。モニタ対象のハードウェアコンポーネントについては、パフォーマンス情報には、プロセッサ使用状況、ネットワーク活動状況、メモリ使用状況およびその他の情報が含まれることがある。モニタ対象ソフトウェアアプリケーションについては、パフォーマンス情報には、処理されたリクエストの数、伝送されたデータの量またはその他のパフォーマンスメトリックス(performance metrics)が含まれることがある。パフォーマンス情報のタイプは、アプリケーションのタイプが異なると共に異なることがある。いくつかのパフォーマンス情報は、タイムセンシティブ(time sensitive)な態様で伝送され、表示されることのあるリアルタイム情報であることがある。その他のパフォーマンス情報は、遅延した形(delayed basis)でモニタ対象アプリケーションに伝送されることのあるヒストリカル情報であることがある。
【００４０】
パフォーマンス情報は要約統計並びにその要約統計を生成するために使用される詳細情報であることがある。一部の実施形態では、要約統計は詳細情報とは異なるた態様で伝送されることがある。例えば、要約統計は、その要約統計をモニタリングアプリケーション１２０にプッシュ(push)するメッセージ通知システム(message notification system)を使用して頻繁に更新されることがあり、その間に、詳細情報がリモートデータベースにストアされて、情報が要求されることがあるときにモニタリングアプリケーションによってプル(pull)されことがある。
【００４１】
一部の実施形態では、要約統計は詳細パフォーマンス情報からモニタリングフレームワークによって生成されることがある。その他の実施形態では、詳細パフォーマンス情報がモニタリングアプリケーション１２０に伝送されることがあり、要約統計がモニタリングアプリケーション１２０によって生成されることがある。
【００４２】
アラートおよび緊急情報には、とられることのあるアクションを特定するために使用されることのある高優先度メッセージが含まれていることがある。例えば、アラートは使用可能なストレージスペースが非常に低い限度まで減少したときや端末エラーがアプリケーションで発生したとき生成されることがある。一部の実施形態では、アラートはモニタリングアプリケーション１２０によって処理され、ｅメール、音声メール(voicemail)またはその他のメカニズムを使用してアドミニストレータに伝送されることがある。
【００４３】
デバッギング情報は、問題を突き止めて解決するために開発者によって使用される情報であることがある。デバッギング情報は非常に詳細で、非常に大量になることがある。例えば、デバッギング情報には、ある関数がその関数に引き渡されるか、あるいはその関数から引き出されるパラメータと共にコールされるときのインジケータが含まれていることがある。
【００４４】
一部の実施形態では、モニタリングシステム１２０に伝送される情報は、ポリシと構成セッティング(configuration setting)の両方によって定義されていることがある。ポリシは、コレクトされて伝送されることのある情報をハイレベルに定義したものであることがある。一部の実施形態では、ポリシは、子ポリシ(child policy)が親ポリシ(parent policy)からプロパティを継承する階層構造になっていることがある。構成セッティングには、どの情報をコレクトして伝送するかを判断するために調整されることのある特定のパラメータ、アルゴリズムまたは条件が含まれていることがある。一部の実施形態では、コレクトされ、伝送されることのある情報が他のメカニズムで定義されることがある。
【００４５】
モニタリングアプリケーション１２０は、コレクトした情報をヒストリデータベース(history database)１２１にストアすることがある。ヒストリデータベース１２１は、一定の時間期間にコレクトされた情報を収めておくことがある。一部の実施形態では、ヒストリデータベース１２１はユーザインタフェース１２３から表示されることのある要約情報を生成するほかに、情報を詳細レベルまで掘り下げる(drill down)ことによってユーザが表示することのある詳細データを生成するためにも使用されることがある。
【００４６】
モニタリングアプリケーション１２０は多数の異なるソースから情報をコレクトする
ことがある。デバイス１０２はローカルエリアネットワーク１２４に接続されると共に、そのローカルエリアネットワークに接続された複数のデバイス１２６に接続されることがある。デバイス１２６は、モニタリングアプリケーション１２０によってコレクトされ、管理され、表示される情報のソースを有していることがある。
【００４７】
デバイス１２６はハードウェアプラットフォーム１２８のほかに、オペレーティングシステム１３０および種々のアプリケーション１３２を有していることがある。ハードウェアプラットフォーム１２８はデバイス１０２のハードウェアプラットフォーム１０４に類似していることがあり、デバイス１２６はサーバコンピュータ、デスクトップコンピュータ、ラップトップコンピュータ、パーソナルデジタルアシスタント、セルラ電話、ネットワークアプライアンスまたはその他のいずれかのコンピューティングデバイスであることがある。
【００４８】
アプリケーション１３２は、コレクトする情報を特定し、その情報をイベントマネージャ１３４にストアさせることのあるインストルメンテーション(instrumentation)１３６を有していることがある。イベントマネージャ１３４は、オペレーティングシステム１３０またはアプリケーションに発生する種々のイベントを管理目的またはその他の使用のためにコレクトするアプリケーションまたはオペレーティングシステムレベルの機能であることがある。コネクタ１３８は、イベントマネージャ１３４によってコレクトされた情報を伝えるためにコネクタ１２２と通信し、その情報をモニタリングアプリケーション１２０に伝送することがある。
【００４９】
インストルメンテーション１３６は情報をコレクトするためにアプリケーション１３２に追加され、またはそのアプリケーションによってコールされる機能であることがある。インストルメンテーション１３６は、デバッギング情報、パフォーマンス情報、ステータス情報またはその他の情報を収集するルーチンであることがある。いくつかのケースでは、インストルメンテーション１３６はアプリケーションまたはオペレーティングシステム機能をモニタし、そのアプリケーションまたはオペレーティングシステム機能によって直接にコールされることなくステータス、パフォーマンスおよびその他の情報を収集することがある。
【００５０】
クラウドコンピューティング環境１４４もモニタリングアプリケーションによってモニタされることがある。デバイス１０２は、ワイドエリアネットワーク１４２へのゲートウェイ１４０に通じるローカルエリアネットワーク１２４に接続されることがある。ワイドエリアネットワーク１４２は、例えば、インターネットであることがある。クラウドコンピューティング環境１４４はインターネットまたはワイドエリアネットワーク１４２に接続されることがある。
【００５１】
クラウドコンピューティング環境１４４は、ユーザ、開発者またはアドミニストレータから抽象化されたハードウェアファブリック１４６を有していることがある。多くのケースでは、ハードウェアファブッリク１４６は、数百、数千、さらには数十万の多数のコンピューティングデバイスを可能な大きなデータセンタまたは大きなデータセンタのグループであることがある。多くのデータセンタには、冗長の電源、冗長のネットワークコネクションおよび多くのフェールオーバ(failover)メカニズムがあり、その結果として非常に高いアベイラビリティと非常に高い稼働時間(uptime)が達成されている。
【００５２】
クラウドコンピューティング環境１４４は、ロードバランシング、クラスタリング、およびある種のプロセッサまたは機能に容量を割り振り、またはその割り振りを解除することを可能にする他の機能を実行する内部管理システムを含んでいることがある。多くのケースでは、クラウドコンピューティング環境１４４は、エンドユーザ、開発者またはアドミニストレータとやりとりすることなく、ある種のプロセスまたは機能を特定の地理的領域に移動したり、プロセスをあるデータセンタから別のデータセンタに転送したり、プロセスをあるハードウェアプラットフォームから別のハードウェアプラットフォームに移動したり、その他の割り振りプロセスを実行したりすることがある。
【００５３】
いくつかのクラウドコンピューティング環境は共用環境(shared environment)であることがあり、そこではデータセンタのオペレータが多数の異なるカスタマからのアプリケーションを実行するためのクラウドコンピューティングインフラストラクチャを提供することがある。各カスタマは、そのカスタマのために実行され、そのカスタマによって管理されるアプリケーションを持っていることがある。アプリケーションがカスタマによって管理される場合であっても、基礎となるデータセンタ運用はデータセンタオペレータによって管理されることがある。カスタマは、そのアプリケーションに関するパフォーマンス、ステータス、デバッギングおよびその他の情報を、データセンタオペレータによって実行されることのあるモニタリングと管理オペレーションから切り離して収集するためにモニタリングフレームワークを使用することがある。
【００５４】
クラウドコンピューティング環境１４４は、ランタイム環境１５４をもつインスタンス１４８を抽象化することのあるクラウドレイヤ抽象化(cloud layer abstraction)１４７を有することがある。このクラウドレイヤ抽象化１４７は、複数のハードウェアデバイスをシステムに結合するソフトウェアレイヤであることがあり、そこでは、オペレーティングシステムの従来の考え方なしでアプリケーションが実行されることがある。
【００５５】
ランタイム環境１５４では、アプリケーション１５８がランタイムエグゼクタ(runtime executor)１５６を使用して実行されることがある。このランタイムエグゼクタ１５６はアプリケーション１５８のリンキングと実行制御を行なうことがあり、ランタイム環境１５４は、ガーベージコレクション、コンパイルおよびその他の機能などの追加の管理機能を提供することがある。
【００５６】
モニタリングフレームワーク１６０はアプリケーションにリンクされ、そのアプリケーションからコールされることがある。モニタリングフレームワーク１６０は、情報をコレクトし、処理し、そのアプリケーションからモニタリングアプリケーション１２０に伝送する機能のセットであることがある。
【００５７】
一部の実施形態では、モニタリングフレームワーク１６０は、情報をモニタリングアプリケーション１２０に伝送するためにメッセージキューイングシステム１６２を使用することがある。メッセージキューイングシステム１６２は各種のソースからメッセージをコレクトし、そのメッセージを加入者に使用可能にすることがある。いくつかの側面では、メッセージキューイングシステム１６２はｅメールまたはその他のメッセージシステムのように動作することがあり、そこでは、受信側がメッセージを受信する準備状態にあるときアクセス可能であるキュー内にメッセージがまとめて収集されることがある。
【００５８】
メッセージキューイングシステム１６２は、受信側がそれによってメッセージを受信することが可能な加入サービスを有していることがある。意図する受信側はメッセージキューイングシステム１５２に連絡してメッセージを受信することがあり、これらのメッセージは受信側にプッシュ(push)されることも、受信側によってプル(pull)されることもある。モニタリングアプリケーション１２０のケースでは、コネクタ１２２はメッセージキューに加入し、メッセージキューイングシステム１６２と通信して情報を受信するように構成されることがある。
【００５９】
いくつかのメッセージキューイングシステムは、特定のメッセージキューへ一人または一人のみの加入者だけを許可することがある。その他のメッセージキューイングシステムは単一キューへの複数の加入者を許可することがある。
【００６０】
多くの実施形態では、クラウドコンピューティング環境は、複数のインスタンス１４８が多数の異なる物理マシン上で、時には、地球上で地理的に分散されている多くの異なるデータセンタで動作していることがある。このような実施形態では、メッセージキューイングシステム１６２は、種々のインスタンスによって作成されるメッセージがあれば、これらのメッセージの中央リポジトリの働きをし、アプリケーション１５８の種々のインスタンスのすべてを単一グループまたは単位としてモニタリングアプリケーション１２６がモニタするのを可能にすることがある。
【００６１】
一部の実施形態では、加入者はクリデンシャルを提示することもあれば、さもなければメッセージキューイングシステム１６２に認証されることもある。この認証(authentication)は多くの異なる態様で行われることがある。いくつかのケースでは、コネクタ１２２は認証されたトークンを認証メカニズム１７８から取得し、その認証されたトークンを加入するメッセージキューイングシステム１６２に提示することがある。
【００６２】
いくつかのクラウドコンピューティング環境１４４はバーチャルマシンパラダイムを使用することがある。バーチャルマシン１６４は、オペレーティングシステム１６７を実行することのあるバーチャルデバイス１６６を有していることがある。種々のアプリケーション１７０はオペレーティングシステム１６７内で実行されることがある。
【００６３】
バーチャルマシン１６４によって図示されたバーチャルマシンパラダイムは、オペレーティングシステム１６７が種々のアプリケーションの開発者またはアドミニストレータに開示され、その開発者などによって選択可能で、管理されることがある点でインスタンスのクラウドレイヤ抽象化とは異なっている。インスタンス１４８のケースでは、オペレーティングシステムはアプリケーションの開発者またはアドミニストレータによってアクセスされないことがあるが、バーチャルマシン１６４のケースでは、オペレーティングシステム１６７はアプリケーション１７０の開発者またはアドミニストレータによってアクセスされることがある。
【００６４】
アプリケーション１７０はインストルメンテーション１７２を有していることがあり、モニタリングネットワークにアクセスすることがある。一部の実施形態では、モニタリングフレームワーク１７３はモニタリングフレームワーク１６０と同じであることがある。
【００６５】
モニタリングフレームワーク１７３は、種々のイベント１７６がストアされることのあるストレージ１７４に情報を出力するものとして例示されている。ストレージ１７４はコネクタ１２２によってプルされることのある情報をストアすることがある。コネクタ１２２はストレージ１７４にアクセスして、モニタリングフレームワーク１７３によって生成される情報を収めている可能性のあるイベント１７６をダウンロードすることがある。
【００６６】
ストレージ１７４は、メッセージキューイングシステム１６２とは異なる伝送メカニズムを例示していることがある。メッセージキューイングシステム１６２は、メッセージを使用して情報がコネクタ１２２に伝送されるときのメカニズムを例示することがある。このような多くのシステムでは、メッセージキューイングシステム１６２は、コミュニケーションとセキュリティを容易にする多くの特徴を有していることがある。これらの中には、認証、暗号化、メッセージ保管およびその他の特徴が含まれていることがある。メッセージキューイングシステム１６２の伝送メカニズムはプッシュ型(push type)伝送であることがあり、そこでは、メッセージが使用可能であるときメッセージキューイングシステム１６２がコネクタ１２２にメッセージを伝送することがある。一部のメッセージキューイングシステムはコネクタ１２２がメッセージを要求するのを可能にすることがあり、プル型(pull type)伝送として働くことがある。ストレージ１７４は、コネクタ１２２がストレージ１７４に連絡してイベント１７６を検索(retrieve)することのあるプル型(pull type)伝送であることがある。
【００６７】
一部の実施形態では、モニタリングフレームワークは情報の伝送にメッセージキューイングシステムとストレージメカニズムの両方を使用することがある。このような一部の実施形態では、ある種の分類またはタイプのデータが一方のメカニズムを使用して伝送されことがあるのに対し、その他のタイプのデータが他方のメカニズムを使用して伝送されることがある。例えば、モニタリングフレームワークはメッセージキューイングシステムを使用してアラートおよび緊急メッセージを伝送するが、ストレージメカニズムを使用してデバッギング情報を伝送することがある。
【００６８】
図２は、アプリケーションによって出力される情報を生成し、伝送し、使用するための方法を示す実施形態２００のタイムラインを説明する図である。実施形態２００には、左側カラムのアプリケーション２０２、中央カラムのモニタリングフレームワーク２０４および右側のモニタリングアプリケーション２０６によって実行されることのあるオペレーションが例示されている。実施形態２００には、アプリケーション１５８または１７０、モニタリングフレームワーク１６０または１７３、および実施形態１００のモニタリングアプリケーション１２０によって実行される機能の一部が例示されている。
【００６９】
その他の実施形態では、異なるシーケンスステップ、追加ステップまたはより少ないステップおよび異なる命名法(nomenclature)またはテクノロジを使用して類似の機能を実行することがある。一部の実施形態では、種々のオペレーションまたはオペレーションのセットが他のオペレーションと並行し、同期または非同期のどちらかの方式で実行されることがある。ここで選択したステップは、オペレーションのいくつかの原理を単純化して示すために選ばれたものである。
【００７０】
アプリケーション２０２は多数の異なる態様で情報を生成することがある。例えば、アプリケーション２０２はブロック２０８で例外を投入し、ブロック２１０でプロセスを開始または停止し、またはブロック２１２でパフォーマンスデータを生成することがある。その他の例には、デバッギング情報を生成し、データ値をキャプチャし、または事前定義の条件に遭遇することが含まれている。アプリケーション２０２によって生成される情報はアプリケーション自身内で作成されることも、実行可能なアプリケーションにリンクされてそのアプリケーションからコールされることのあるインストルメンテーションフレームワークの一部として作成されることもある。
【００７１】
ブロック２０８−２１２で生成される情報のいずれも、ブロック２１４でイベントを生成するために使用されることがある。ブロック２１４のイベントはアプリケーション２０２によって伝送されることのある情報であることがあり、モニタリングアプリケーション２０６によって実行されることがある。イベントはアプリケーション２０２によって伝送され、ブロック２１６でモニタリングフレームワーク２０４によって受信されることがある。
【００７２】
モニタリングフレームワーク２０４はイベントに対してなんらかの処理を実行してからそのイベントをモニタリングアプリケーション２０６に伝送することがある。この処理には、ブロック２１８でイベントをフィルタリングすることのほかに、イベントを集約される (aggregate)ことが含まれることがある。
【００７３】
ブロック２１８でのフィルタリングはイベントを分類し、その分類に基づいてイベントがどのように取り扱われるかを判断することがある。例えば、一部のイベントは高優先度イベントとして特定されことがあり、モニタリングアプリケーション２０６に急送されることがあるのに対し、その他のイベントはポリシまたは構成セッティングに基づいて無視され、全く転送されないことがある。
【００７４】
イベントがブロック２２０で伝送されない場合は、そのイベントはブロック２２２でストアされることがある。一部の実施形態では、イベントがデータストレージシステムにストアされて、モニタリングアプリケーションが後刻に情報をそのデータストレージスステムからプルすることがある。事情によっては、イベントが破棄されることがある。
【００７５】
イベントがブロック２００で伝送され、ブロック２２４で集約されない場合は、メッセージがブロック２２７でフォーマッティングされることがあり、そしてそのイベントがブロック２２８で伝送されることがある。
【００７６】
イベントがブロック２２４で集約される場合は、そのイベントは、ブロック２２６で集約伝送(aggregated transmission)に備えて他のイベントと共にストアされることがある。集約伝送はいくつかの態様で行なわれることがある。あるケースでは、イベントのセットが単一メッセージに統合されて伝送されることがある。このようなイベントは同一イベントの反復インスタンス(repeated instance)であることもあれば、類似イベントまたは無関係イベントのグループであることもある。別のケースでは、何度も再出現するイベントが単一イベントに統合され、その単一イベントがイベントの出現回数のカウントを含んでいることがある。例えば、そのイベントが１００回現れて受信されたあと単一メッセージが伝送されるように既知のエラーイベントが集約されることがある。
【００７７】
モニタリングアプリケーション２０６はブロック２３０でイベントを受信することがある。ブロック２２８でイベントを伝送し、ブロック２３０でそのイベントを受信するために種々のメカニズムが使用されることがある。このようなメカニズムの中には、モニタリングフレームワーク２０４からモニタリングアプリケーション２０６にイベントをプッシュするメカニズムのほかに、モニタリングフレームワーク２０４からモニタリングアプリケーション２０６にイベントをプルするメカニズムが含まれている。これらのメカニズムには、メッセージキューイングシステム２０４、データストレージシステムおよびその他の通信メカニズムが含まれることがある。
【００７８】
ブロック２３０でイベントを受信したあと、イベントはブロック２３２でストアされることがある。イベントはブロック２３４で分類されることがあり、そのイベントがブロック２３６で高重要度イベント(high importance event)であれば、アラートがブロック２３８で送信されることがある。イベントがブロック２３６で高重要度イベントでなければ、そのイベントがブロック２４０で表示されることがある。
【００７９】
図３は、モニタリングシステムと共にクラウド環境を示す実施形態３３０の図である。実施形態３００は、モニタリングフレームワークと共にアプリケーションを実行することのあるランタイムインスタンスの単純化した例である。
【００８０】
図３の図はシステムの機能コンポーネントを例示している。いくつかのケースでは、コンポーネントはハードウェアコンポーネント、ソフトウェアコンポーネントまたはハードウェアとソフトウェアの組み合わせであることがある。これらのコンポーネントの一部はアプリケーションレベルのソフトウェアであることがあるのに対し、他のコンポーネントはオペレーティングシステムレベルのコンポーネントであることがある。いくつかのケースでは、あるコンポーネントと別のコンポーネントとの接続は、２つ以上のコンポーネントが単一ハードウェアプラットフォームで動作しているような密接続(close connection)であることがある。その他のケースでは、これらの接続は長距離に渡るネットワークコネクションを通じて行なわれることがある。各実施形態は異なるハードウェア、ソフトウェアおよび相互接続アーキテクチャを使用して上述した機能を達成することがある。
【００８１】
実施形態３００は、クラウドコンピューティング環境として動作可能なシステムの一例である。ハードウェアファブリック３０２は、抽象化したクラウドコンピューティングレイヤを提供するソフトウェアファブリック３０４を動作させることがある。このクラウドコンピューティングレイヤには、実施形態１００に図示するインスタンス１４８のように、複数のインスタンスを持つことがあるランタイム環境３０６が含まれていることがある。
【００８２】
ランタイム環境３０６は、アプリケーション３１２をマネージコードとして実行させることのある実行エンジン(execution engine)３１０を含むことがある。一部の実施形態では、コンパイラ３１４がソースコードまたは中間コードからアプリケーション３１２を実行可能コードにコンパイルすることがある。リンカ３１６は種々のフレームワーク、ダイナミックリンクライブラリ(dynamic linked libraries)、またはその他のコードエレメントをアプリケーション３１２にリンクすることがある。一部の実施形態では、アプリケーション３１２は解釈型言語(interpreted language)で定義されていることがある。
【００８３】
ランタイム環境３０６は、ダイナミックリンキング、ガーベージコレクション３１８、メモリ管理、リソース管理、エラーキャプチャリングおよびその他の特徴のように、種々のマネージコード機能を含むことがある。
【００８４】
アプリケーション３１２には、ある種の条件、データ、エラー、パフォーマンスメトリックスまたはその他のイベントや情報を特定し、キャプチャすることのあるインストルメンテーション３２０が含まれることがある。インストルメンテーション３２０は、いくつかの機能を収めていることのあるモニタリングフレームワーク３２２をコールすることがある。モニタリングフレームワーク３２２はアプリケーション３１２から受信した情報を処理し、モニタリングシステムに伝送される情報を準備することがある。
【００８５】
モニタリングフレームワーク３２２は、アプリケーション３１２から情報を受信することがある受信機能３２４を有していることがある。この受信機能３２４は、受信した情報を、他の機能のためにモニタリングフレームワーク３２２によって使用されることのあるフォーマットにし、さらにはモニタリングアプリケーションによって使用されることのあるフォーマットにするといったように、情報の初期処理を実行することがある。一部の実施形態では、受信機能３２４はアプリケーション３１２とのある種のシェークハンディングを実行することがある。
【００８６】
受信機能３２４は、アプリケーション３１２から受信した情報に加えてその他の情報を収集することがある。例えば、受信機能３２４はアプリケーション３１２からエラー条件を受信することがある。受信機能３２４は、タイムスタンプ、いくつかの構成セッティングの値、ある種の変数の値、またはその他の情報のように、その他の情報を収集することがある。受信機能３２４は、モニタリングフレームワーク３２２内のその他の機能によって使用されることのあるフォーマットに情報を集約し、編成することがある。
【００８７】
一部の実施形態では、構成セッティング３４０は、アプリケーション３１２がデバッギングモードで動作していることを示すことがある。デバッギングモードは、モニタリングフレームワーク３２２によってキャプチャされることのあるハイレベルのデバッギング情報を定義していることがある。いくつかのケースでは、デバッギングモードはハイレベルのディーテル(詳細)をキャプチャするためにモニタリングフレームワーク３２２によって使用されるセッティングであることがある。その他のケースでは、アプリケーション３１２がデバッギングモードで実行され、その結果としてそのアプリケーション３１２が大量のイベントを生成し、あるいは通常のオペレーションよりもハイレベルで生成することがある。
【００８８】
分類機能３２６はモニタリングフレームワーク３２２の一部であることがあり、イベントを分類するように動作することがある。この分類は、イベントがどのように取り扱われるかを判断するためにポリシ３８８および構成セッティング３４０と関連して使用されることがある。一部のイベントは高優先度で伝送されることがあるのに対し、その他のイベントは集約されるか、あるいは破棄されることさえある。
【００８９】
メッセージ生成機能(message generation function)３２８は、メッセージキューイングシステム３３４を使用してトランスポートされるか、またはデータストレージシステム３３６にストアされることのあるメッセージにイベントおよびその他の情報をフォーマッティングすることがある。
【００９０】
メッセージ集約機能(message aggregation function)３３０は、メッセージを一緒に単一メッセージに統合することがある。いくつかのケースでは、単一メッセージの複数のインスタンスが単一メッセージに統合されることがある。その他のケースでは、異なるメッセージが一緒に単一メッセージにまとめられることがある。
【００９１】
メッセージトランスポート機能(message transportation function)３３２は、メッセージをモニタリングフレームワーク３２２からモニタリングアプリケーションにトランスポートさせることがある。メッセージトランスポート機能３３２はメッセージキューイングシステム３３４、データストレージシステム３３６またはその他のメカニズムを使用してメッセージをトランスポートすることがある。
【００９２】
一部の実施形態では、モニタリングフレームワーク３２２は、アプリケーション開発のために使用されることのあるモニタリングフレームワークと同じであるか、類似していることがある。アプリケーション開発のために使用されるときは、モニタリングフレームワーク３２２はローカルアプリケーション開発プラットフォームに一体化され、コンパイルされ、アプリケーションにリンクされることがある。アプリケーションは、開発者がアプリケーションをテストし、改良できるようにデバッグまたは開発モードでローカルデバイス上に実行されることがある。アプリケーションがクラウド上にデプロイ(deploy)される準備状態になると、アプリケーションはクラウドにアップロードされ、コンパイルされて、クラウド内のモニタリングフレームワークにリンクされることがある。
【００９３】
上述した主題の記載は例示と説明の目的のために提示されたものである。この記載は網羅的でも、開示した正確な形体に主題を限定するものでもなく、上記の教示事項に照らしてその他の改良および変形が可能である。実施形態は、本発明の原理と本発明の実際の応用を最も理解しやすく解説することにより、この分野の他の精通者が、意図する特定の使用に適した形で種々の実施形態および種々の変形において本発明を最善に利用できるように選択され、説明されたものである。請求項の記載は、従来技術によって制限されている場合を除き、他の代替的実施形態も含むものと解されるものである。
【図１】
2013513860.tif 000003
【図２】
2013513860.tif 000004
【図３】
2013513860.tif 000005
【国際調査報告】
2013513860.tif 000006
2013513860.tif 000007