(57)【要約】  種々の通信システムは、改善型のクラウド検証プラットホームから利益が得られる。例えば、自動化及び系統的形態においてクラウドアプリケーションに代って基礎的なクラウドインフラストラクチャーをテストしそして検証することのできるクラウド検証プラットホームが有益である。方法は、クラウドインフラストラクチャーをテストするためにクラウド検証サービスに接続することを含む。又、この方法は、クラウドインフラストラクチャー上でのバーチャルネットワーク機能の実行をトリガーすることも含む。更に、この方法は、クラウド検証サービスを使用して実行されるバーチャルネットワーク機能でクラウドインフラストラクチャーの重要属性をテストすることも含む。更に、この方法は、クラウドインフラストラクチャーの重要属性又はバーチャルネットワーク機能のメトリックをユーザ装置へ送出することも含む。【選択図】図１８
2019509681.tif 000002
【特許請求の範囲】
【請求項１】
クラウドインフラストラクチャーをテストするためにクラウド検証サービスに接続し、
前記クラウドインフラストラクチャー上でのバーチャルネットワーク機能の実行をトリガーし、前記クラウド検証サービスを使用して前記実行されるバーチャルネットワーク機能で前記クラウドインフラストラクチャーの重要属性がテストされ、及び
前記クラウドインフラストラクチャーの前記重要属性又は前記バーチャルネットワーク機能のメトリックをユーザ装置で受け取る、
ことを含む方法。
【請求項２】
前記クラウドインフラストラクチャーの重要属性又は前記バーチャルネットワーク機能の前記メトリックは、既にテストされた基準の重要属性又はバーチャルネットワーク機能と比較され、前記基準の重要属性は、同じクラウドからのもの又は異なるクラウドからのものである、請求項１に記載の方法。
【請求項３】
前記メトリックは、ネットワークインフラストラクチャー又はバーチャルネットワーク機能が送信制御プロトコル、ユーザデータグラムプロトコル又はストリーム制御送信プロトコルの少なくとも１つを使用するかどうかテストすることを含む、請求項１に記載の方法。
【請求項４】
前記ユーザ装置のユーザインターフェイスに前記メトリックを表示することを更に含む、請求項１に記載の方法。
【請求項５】
前記クラウドインフラストラクチャーの重要属性又は前記バーチャルネットワーク機能のテスト中に分散型アーキテクチャーが使用される、請求項１に記載の方法。
【請求項６】
前記クラウドインフラストラクチャーの少なくとも２つのコンピューティングノードにおいて前記重要属性のテストを監視することを更に含む、請求項１に記載の方法。
【請求項７】
前記重要属性は、前記クラウドインフラストラクチャーのコンピューティング、ネットワーキング、ストレージ又はサービス能力の少なくとも１つを含む、請求項１に記載の方法。
【請求項８】
前記テストは、前記クラウド内の異なるネットワーク経路又はトポロジーを評価することを含む、請求項１に記載の方法。
【請求項９】
前記メトリックは、前記重要属性を基準クラウドインフラストラクチャーと比較するためのグレードを含む、請求項１に記載の方法。
【請求項１０】
前記メトリックの発生されたレポートを受信し、及び
前記レポートをユーザ装置に表示する、
ことを更に含む、請求項１に記載の方法。
【請求項１１】
クラウドインフラストラクチャーをテストするためにクラウド検証サービスに接続し、
プラットホームデバイスにより前記クラウドインフラストラクチャーの重要属性のテストをスケジューリングし、前記クラウドインフラストラクチャー上でバーチャルネットワーク機能が実行され、
前記スケジュールをテストエージェントへ送出し、及び
前記クラウドインフラストラクチャーの前記重要属性又は前記バーチャルネットワーク機能のメトリックを受け取る、
ことを含む方法。
【請求項１２】
前記メトリックをユーザ装置へ送信することを更に含む、請求項１１に記載の方法。
【請求項１３】
前記メトリックをデータベースに記憶することを更に含む、請求項１１に記載の方法。
【請求項１４】
前記クラウドインフラストラクチャーの重要属性又は前記バーチャルネットワーク機能のテストの進行を監視することを更に含む、請求項１１に記載の方法。
【請求項１５】
クラウドインフラストラクチャーの重要属性についてテストを行うためにプラットホームデバイスから要求を受け取り、クラウドインフラストラクチャー上でバーチャルネットワーク機能が実行され、
前記クラウドインフラストラクチャーの重要属性及び前記バーチャルネットワーク機能についてテストを行い、及び
前記クラウドインフラストラクチャーの重要属性又は前記バーチャルネットワーク機能のメトリックを前記プラットホームデバイスへ送信する、
ことを含む、方法。
【請求項１６】
プラグインを使用してテストを遂行することを更に含む、請求項１５に記載の方法。
【請求項１７】
前記プラットホームデバイスへハートビートを送信し、このハートビートは、テストエージェントが前記クラウドインフラストラクチャーをテストする準備ができたことを前記プラットホームデバイスに通知する、請求項１５に記載の方法。
【請求項１８】
コンピュータプログラムコードを含む少なくとも１つのメモリ、及び
少なくとも１つのプロセッサ、
を備えた装置において、少なくとも１つのメモリ及びコンピュータプログラムコードは、少なくとも１つのプロセッサとで、装置が、少なくとも、請求項１から１７に記載のプロセスを遂行するようにさせるよう構成された、装置。
【請求項１９】
請求項１から１７のいずれかに記載のプロセスを遂行するための手段を備えた装置。
【請求項２０】
ハードウェアで実行されたときに請求項１から１７のいずれかに記載のプロセスを遂行するインストラクションをエンコードする非一時的コンピュータ読み取り可能な媒体。
【請求項２１】
請求項１から１７のいずれかに記載のプロセスを遂行するインストラクションをエンコードするコンピュータプログラム製品。
【発明の詳細な説明】
【技術分野】
【０００１】
［関連技術の相互参照］
本出願は、２０１６年２月２６日に出願された米国プロビジョナル特許出願第６２／３００，５１２号の利益及び優先権を主張するもので、該出願は、参考としてここにそのまま援用される。
【０００２】
種々の通信システムは、改善型のクラウドインフラストラクチャーテストから利益が得られる。例えば、自動化及び系統的形態においてクラウドで実行されるアプリケーションに代ってクラウドインフラストラクチャーをテストしそして検証することのできるクラウド検証プラットホームが有益である。
【０００３】
［関連技術の説明］
クラウドコンピューティングシステムは、情報テクノロジーの時代に益々重要なものとなってきている。クラウドコンピューティングは、多数の異なる産業において多数のタイプのアプリケーションを実行するのに使用される、設立され且つ成熟したテクノロジーである。しかしながら、テレコミュニケーションネットワークでは、クラウドコンピューティングは、テレコミュニケーションネットワークの継続進化において重要な役割を演じることを約束する最先端のテクノロジーである。
【０００４】
クラウドコンピューティングインフラストラクチャー上でのテレコミュニケーションアプリケーションの開発をサポートするためのツール及びサービスの開発は、充分確立されていない。クラウドコンピューティングインフラストラクチャーは、柔軟であるが、複雑であり、クラウドの機能をサポートするために全てが一緒に動作するハードウェア、オペレーティングシステム、ハイパーバイザー、コンテナ、アプリケーション及びサービスを有している。クラウドコンピューターインフラストラクチャーは、柔軟であるにも関わらず、インフラストラクチャーの性能及び相互作用、並びにインフラストラクチャー上で実行されるアプリケーションは、可変であり且つ予想不能である。それ故、クラウドコンピューティングインフラストラクチャー上で実行されるソフトウェアアプリケーションは、予想通りに機能しないことが時々ある。
【０００５】
この予想不可能性は、テレコミュニケーションアプリケーションに種々の問題を引き起こし、その幾つかは、正確なレイテンシー及びネットワーキングのための帯域巾ニーズのような厳格な要求である。クラウドコンピューティングインフラストラクチャー上にテレコミュニケーションアプリケーションを首尾良く配備するため、インフラストラクチャーは、最初に、動作、信頼性及び性能についてテストされねばならない。クラウド振舞いの動的及び可変特性が与えられると、クラウドインフラストラクチャー上でそれらアプリケーションの実行をテストするのは、困難であり且つ時間浪費である。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
クラウドコンピューティングインフラストラクチャー上に多数のテレコミュニケーションアプリケーションを配備する試みがこの問題を複合化する。各アプリケーションは、異なるワークロード、コンピューティング、ストレージ及びネットワーキング要求をクラウドに課す。クラウドインフラストラクチャーをテストするコスト及び時間は、特に、正確な測定を行うために統計学的に顕著な量のデータを収集しなければならないときに大きなものとなる。
【課題を解決するための手段】
【０００７】
方法は、クラウドインフラストラクチャーをテストするためにクラウド検証サービスに接続することを含む。又、この方法は、クラウドインフラストラクチャー上でのバーチャルネットワーク機能の実行をトリガーすることも含む。クラウド検証サービスを使用して実行されるバーチャルネットワーク機能でクラウドインフラストラクチャーの重要属性がテストされる。更に、この方法は、クラウドインフラストラクチャーの重要属性又はバーチャルネットワーク機能のメトリックをユーザ装置で受け取ることを含む。
【０００８】
幾つかの実施形態によれば、装置は、コンピュータプログラムコードを含む少なくとも１つのメモリ、及び少なくとも１つのプロセッサを備えている。少なくとも１つのメモリ及びコンピュータプログラムコードは、少なくとも１つのプロセッサとで、少なくとも、クラウドインフラストラクチャーをテストするためにクラウド検証サービスに接続するように構成される。又、少なくとも１つのメモリ及びコンピュータプログラムコードは、少なくとも１つのプロセッサとで、少なくとも、クラウドインフラストラクチャー上でのバーチャルネットワーク機能の実行をトリガーするように構成される。クラウド検証サービスを使用して実行されるバーチャルネットワーク機能でクラウドインフラストラクチャーの重要属性がテストされる。更に、少なくとも１つのメモリ及びコンピュータプログラムコードは、少なくとも１つのプロセッサとで、少なくとも、クラウドインフラストラクチャーの重要属性又はバーチャルネットワーク機能のメトリックをユーザ装置で受け取るように構成される。
【０００９】
装置は、幾つかの実施形態において、クラウドインフラストラクチャーをテストするためにクラウド検証サービスに接続する手段を備えている。又、この装置は、クラウドインフラストラクチャー上でのバーチャルネットワーク機能の実行をトリガーする手段も備えている。クラウド検証サービスを使用して実行されるバーチャルネットワーク機能でクラウドインフラストラクチャーの重要属性がテストされる。更に、この方法は、クラウドインフラストラクチャーの重要属性又はバーチャルネットワーク機能のメトリックをユーザ装置で受け取ることを含む。
【００１０】
幾つかの実施形態によれば、非一時的コンピュータ読み取り可能な媒体は、ハードウェアで実行されたときに、プロセスを遂行するインストラクションをエンコードしている。このプロセスは、クラウドインフラストラクチャーをテストするためにクラウド検証サービスに接続することを含む。又、このプロセスは、クラウドインフラストラクチャー上でのバーチャルネットワーク機能の実行をトリガーすることも含む。クラウド検証サービスを使用して実行されるバーチャルネットワーク機能でクラウドインフラストラクチャーの重要属性がテストされる。更に、このプロセスは、クラウドインフラストラクチャーの重要属性又はバーチャルネットワーク機能のメトリックをユーザ装置で受け取ることを含む。
【００１１】
幾つかの実施形態によれば、コンピュータプログラム製品は、クラウドインフラストラクチャーをテストするためにクラウド検証サービスに接続することを含む方法によるプロセスを遂行するインストラクションをエンコードしている。又、この方法は、クラウドインフラストラクチャー上でのバーチャルネットワーク機能の実行をトリガーすることも含む。クラウド検証サービスを使用して実行されるバーチャルネットワーク機能でクラウドインフラストラクチャーの重要属性がテストされる。更に、この方法は、クラウドインフラストラクチャーの重要属性又はバーチャルネットワーク機能のメトリックをユーザ装置で受け取ることも含む。
【００１２】
方法は、クラウドインフラストラクチャーをテストするためにクラウド検証サービスに接続することを含む。又、この方法は、プラットホームデバイスによりクラウドインフラストラクチャーの重要属性のテストをスケジューリングすることも含む。クラウドインフラストラクチャー上でバーチャルネットワーク機能が実行される。更に、この方法は、スケジュールをテストエージェントへ送出することも含む。更に、この方法は、クラウドインフラストラクチャーの重要属性又はバーチャルネットワーク機能のメトリックを受け取ることも含む。
【００１３】
幾つかの実施形態によれば、装置は、コンピュータプログラムコードを含む少なくとも１つのメモリ、及び少なくとも１つのプロセッサを備えている。少なくとも１つのメモリ及びコンピュータプログラムコードは、少なくとも１つのプロセッサとで、少なくとも、クラウドインフラストラクチャーをテストするためにクラウド検証サービスに接続するように構成される。又、少なくとも１つのメモリ及びコンピュータプログラムコードは、少なくとも１つのプロセッサとで、少なくとも、プラットホームデバイスによりクラウドインフラストラクチャーの重要属性のテストをスケジューリングするように構成される。クラウドインフラストラクチャー上でバーチャルネットワーク機能が実行される。更に、少なくとも１つのメモリ及びコンピュータプログラムコードは、少なくとも１つのプロセッサとで、少なくとも、スケジュールをテストエージェントへ送出するように構成される。更に、少なくとも１つのメモリ及びコンピュータプログラムコードは、少なくとも１つのプロセッサとで、少なくとも、クラウドインフラストラクチャーの重要属性又はバーチャルネットワーク機能のメトリックを受け取るように構成される。
【００１４】
装置は、幾つかの実施形態において、クラウドインフラストラクチャーをテストするためにクラウド検証サービスに接続する手段を備えている。又、この装置は、プラットホームデバイスによりクラウドインフラストラクチャーの重要属性のテストをスケジューリングする手段も備えている。クラウドインフラストラクチャー上でバーチャルネットワーク機能が実行される。更に、この装置は、スケジュールをテストエージェントへ送出する手段も備えている。更に、この装置は、クラウドインフラストラクチャーの重要属性又はバーチャルネットワーク機能のメトリックを受け取る手段も備えている。
【００１５】
幾つかの実施形態によれば、非一時的コンピュータ読み取り可能な媒体は、ハードウェアで実行されたときに、プロセスを遂行するインストラクションをエンコードしている。このプロセスは、クラウドインフラストラクチャーをテストするためにクラウド検証サービスに接続することを含む。又、このプロセスは、プラットホームデバイスによりクラウドインフラストラクチャーの重要属性のテストをスケジューリングすることも含む。クラウドインフラストラクチャー上でバーチャルネットワーク機能が実行される。更に、このプロセスは、スケジュールをテストエージェントへ送出することも含む。更に、このプロセスは、クラウドインフラストラクチャーの重要属性又はバーチャルネットワーク機能のメトリックを受け取ることも含む。
【００１６】
幾つかの実施形態によれば、コンピュータプログラム製品は、クラウドインフラストラクチャーをテストするためにクラウド検証サービスに接続することを含む方法によるプロセスを遂行するインストラクションをエンコードしている。又、この方法は、プラットホームデバイスによりクラウドインフラストラクチャーの重要属性のテストをスケジューリングすることも含む。クラウドインフラストラクチャー上でバーチャルネットワーク機能が実行される。更に、この方法は、スケジュールをテストエージェントへ送出することも含む。更に、この方法は、クラウドインフラストラクチャーの重要属性又はバーチャルネットワーク機能のメトリックを受け取ることも含む。
【００１７】
方法は、クラウドインフラストラクチャーの重要属性についてテストを行うためにプラットホームデバイスから要求を受け取ることを含む。クラウドインフラストラクチャー上でバーチャルネットワーク機能が実行される。又、この方法は、クラウドインフラストラクチャーの重要属性及びバーチャルネットワーク機能についてテストを行うことも含む。更に、この方法は、クラウドインフラストラクチャーの重要属性又はバーチャルネットワーク機能のメトリックをプラットホームデバイスへ送出することも含む。
【００１８】
幾つかの実施形態によれば、装置は、コンピュータプログラムコードを含む少なくとも１つのメモリ、及び少なくとも１つのプロセッサを備えている。少なくとも１つのメモリ及びコンピュータプログラムコードは、少なくとも１つのプロセッサとで、少なくとも、クラウドインフラストラクチャーの重要属性についてテストを行うためにプラットホームデバイスから要求を受け取るように構成される。クラウドインフラストラクチャー上でバーチャルネットワーク機能が実行される。又、少なくとも１つのメモリ及びコンピュータプログラムコードは、少なくとも１つのプロセッサとで、少なくとも、クラウドインフラストラクチャーの重要属性及びバーチャルネットワーク機能についてテストを行うように構成される。更に、少なくとも１つのメモリ及びコンピュータプログラムコードは、少なくとも１つのプロセッサとで、少なくとも、クラウドインフラストラクチャーの重要属性又はバーチャルネットワーク機能のメトリックをプラットホームデバイスへ送出するように構成される。
【００１９】
装置は、幾つかの実施形態において、クラウドインフラストラクチャーの重要属性についてテストを行うためプラットホームデバイスから要求を受け取る手段を備えている。クラウドインフラストラクチャー上でバーチャルネットワーク機能が実行される。又、この装置は、クラウドインフラストラクチャーの重要属性及びバーチャルネットワーク機能についてテストを行う手段も備えている。更に、この装置は、クラウドインフラストラクチャーの重要属性又はバーチャルネットワーク機能のメトリックをプラットホームデバイスへ送出する手段も備えている。
【００２０】
幾つかの実施形態によれば、非一時的コンピュータ読み取り可能な媒体は、ハードウェアで実行されたときに、プロセスを遂行するインストラクションをエンコードしている。このプロセスは、クラウドインフラストラクチャーの重要属性についてテストを行うためにプラットホームデバイスから要求を受け取ることを含む。クラウドインフラストラクチャー上でバーチャルネットワーク機能が実行される。又、このプロセスは、クラウドインフラストラクチャーの重要属性及びバーチャルネットワーク機能についてテストを行うことも含む。更に、このプロセスは、クラウドインフラストラクチャーの重要属性又はバーチャルネットワーク機能のメトリックをプラットホームデバイスへ送出することも含む。
【００２１】
幾つかの実施形態によれば、コンピュータプログラム製品は、クラウドインフラストラクチャーの重要属性についてテストを行うためにプラットホームデバイスから要求を受け取ることを含む方法によるプロセスを遂行するインストラクションをエンコードしている。クラウドインフラストラクチャー上でバーチャルネットワーク機能が実行される。又、この方法は、クラウドインフラストラクチャーの重要属性及びバーチャルネットワーク機能についてテストを行うことも含む。更に、この方法は、クラウドインフラストラクチャーの重要属性又はバーチャルネットワーク機能のメトリックをプラットホームデバイスへ送出することも含む。
【００２２】
本発明を適切に理解するために、添付図面を参照する。
【図面の簡単な説明】
【００２３】
【図１】幾つかの実施形態によるシステムアーキテクチャーを示す。
【図２】幾つかの実施形態によるフローチャートである。
【図３】幾つかの実施形態によるフローチャートである。
【図４】幾つかの実施形態によるシステムアーキテクチャーを示す。
【図５】幾つかの実施形態によるシステムアーキテクチャーを示す。
【図６】幾つかの実施形態によるユーザインターフェイスを示す。
【図７】幾つかの実施形態によるフローチャートである。
【図８】幾つかの実施形態によるフローチャートである。
【図９Ａ】幾つかの実施形態によるトポロジーを示す。
【図９Ｂ】幾つかの実施形態によるトポロジー図である。
【図９Ｃ】幾つかの実施形態によるトポロジーを示す。
【図１０】幾つかの実施形態によるフローチャートである。
【図１１】幾つかの実施形態によるシステムアーキテクチャーを示す。
【図１２】幾つかの実施形態によるフローチャートである。
【図１３】幾つかの実施形態によるフローチャートである。
【図１４】幾つかの実施形態によるユーザインターフェイスを示す。
【図１５】幾つかの実施形態によるユーザインターフェイスを示す。
【図１６】幾つかの実施形態によるフローチャートである。
【図１７】幾つかの実施形態によるフローチャートである。
【図１８】幾つかの実施形態によるフローチャートである。
【図１９Ａ】幾つかの実施形態によるフローチャートである。
【図１９Ｂ】幾つかの実施形態によるフローチャートである。
【図２０】幾つかの実施形態によるシステムを示す。
【発明を実施するための形態】
【００２４】
幾つかの実施形態は、クラウドインフラストラクチャー上で実行されるテレコミュニケーションアプリケーションの性能を分析できるようにする一貫したテストを提供する。このテストは、テストを互いに比較できるように種々のテレコミュニケーションアプリケーションについて再現することができる。
【００２５】
又、幾つかの実施形態は、システム統合、ネットワークプランニング及び最適化、並びにケアサービスのようなグローバルなサービス組織にも有益である。又、クラウドコンピューティングインフラストラクチャー上で実行するアプリケーションを開発する製品開発組織にも有益である。ある実施形態は、例えば、ＩＭＳ、ＴＡＳ、移動管理エンティティ、ＥＰＣ、Ｆｌｅｘｉ−ＮＧ及びクラウドＲＡＮを含むネットワークコア及び無線アクセスネットワーク（ＲＡＮ）製品に適用される。又、性能要件を満足するために安定した高性能ハードウェア及びソフトウェアプラットホームに依存する他の製品にも有益である。
【００２６】
アプリケーションを、それが実世界のクラウドインフラストラクチャーによりサービスされたかのごとくテストするのを許す所与のモードでクラウド環境の性能を評価するためにテスト及び自動化の方法が使用される。このモードは、サービスモードとして知られている。幾つかの実施形態において、多数のクラウドでのテストは、単一の論理的サービスからオーケストレーションされる。多数のクラウドが変更されてもよい。ある実施形態は、可変インターネットアクセスを伴うか又はインターネットアクセスを伴わないクラウドを含むか、又はプロキシーを通してのインターネットアクセスを含む。
【００２７】
幾つかの実施形態は、サービステストノードを自動選択してそれをクラウドへ再指定することを、それらの利用性及び特定クラウドへの接続能力に基づいて提供する。あるクラウド環境は、ファイアウォールを含むので、幾つかの実施形態は、どのノードがクラウドへの接続を有するか発見するためのサービスを許す。ある所与の接続は、ファイアウォールによりブロックされないことがあり、それらの接続を、自動形態でテストを実行するために選択することができる。
【００２８】
テストは、異なる構成及びファクタでの多数の繰り返しを実行することによりクラウドの配備を最適化するのに使用される。テストの結果は、性能及びコストに対する最適なクラウド構成を決定するのを許す。
【００２９】
ある実施形態において、プロビジョニングテスト環境は、クラウドのタイプとは独立している。換言すれば、テスト環境は、種々のクラウドタイプにわたって適用される単一のテスト定義を有する。単一のテスト定義は、起動されるべきバーチャルインスタンスの構成を参照するために異なるクラウドタイプが異なる方法を使用する場合でも、種々のクラウドタイプにわたるテストを一貫したものにすることができる。
【００３０】
他の実施形態は、動的ホスト構成プロトコルによってクラウドに指定されたプールから幾つかのインターネットプロトコル（ＩＰ）アドレスしか使用できないときでもクラウド環境においてテストを実行することができる。更に別の実施形態では、クラウドサービスにアクセスできないバーチャルマシンは、プロキシー要求を使用してクラウドサービスにアクセスする。幾つかの実施形態では、バーチャルマシンは、クラウド内からクラウドサービステストを実行する。
【００３１】
クラウドにわたるテスト結果は、自動的に比較される。テスト結果を使用してクラウド性能をグレード付けする。ある実施形態では、グレード付けは、多数のテスト結果に基づく自動的スレッシュホールドに従って調整される。他の実施形態では、新たなテストプラグインのオン・ボーディングのために柔軟なメカニズムが設けられる。プラグインの追加は、バーチャルネットワーク機能チームが慣習的な製品より高速で新たなプラグインに貢献するのを許すことによって簡単化される。クラウドインフラストラクチャーアセットの指定を、クラウドインフラストラクチャーに関するあり得るリスク又はギャップについての推奨と共に含むレポートが発生される。
【００３２】
又、幾つかの実施形態は、自動テストベクトルのポートフォリオと共に、利用可能なクラウドサービス、ネットワーキング、計算及びストレージメトリックにわたってテストを行うプラットホームを生成するための方法も包含する。ある実施形態では、ポートフォリオは、１０００を越える自動テストベクトルを含む。又、テレコムソフトウェアに対して割り当てられたクラウドのゾーンにおけるネットワーキング、コンピューティング及びストレージのアクティブな性能のテストを含むクラウドコンピューティング検証サービスも生成される。
【００３３】
ある実施形態では、クラウドテストは、単一又は多数のテナント環境での非常に多数の同時テストにおいて起動され、実行されそして監視される。詳細な測定及び分析の理解を加速するために視覚形態で結果が表示される。測定及び分析を見ることができ、そして観察者が分析を理解できるチャート、テーブル、グラフ、又は他の視覚形態で観察者に提示できるように、ユーザインターフェイスが生成される。
【００３４】
幾つかのテストは、クラウドインフラストラクチャー及びバーチャル化アプリケーションの性能を評価する上で助けとなる。評価は、バーチャル化ネットワーク機能アプリケーションソフトウェア製品に対して最低限の性能要求を保証するためにクラウドコンピューティングインフラストラクチャーをチェックすることを含む。テストは、クラウドインフラストラクチャーにおけるアプリケーションの実行の性能を評価するためにテレコミュニケーションソフトウェアアプリケーションを表わすワークロードをエミュレートすることができる。このエミュレーションは、アプリケーションがクラウドインフラストラクチャーと相互作用する実世界シナリオのバーチャルシミュレーションを許す。
【００３５】
幾つかの実施形態は、バーチャルマシン間の送信制御プロトコル（ＴＣＰ）、ユーザデータグラムプロトコル（ＵＤＰ）及びストリーム制御送信プロトコル（ＳＣＴＰ）のような異なるプロトコルの搬送のネットワーク性能をテストすることを含む。１つのバーチャルスイッチ内で又はバーチャルスイッチ境界を横切って搬送されるレンジパケットサイズを使用して、テスト中にクラウドをベンチマーキングし、そして結果を基準要求と比較する。この要求は、ある実施形態では、事前に決定される。幾つかの実施形態では、クラウドインフラストラクチャーの計算力をテストするためにブラックハッシングアルゴリズムが使用される。
【００３６】
それとは別に、ある実施形態は、バーチャルマシンと外部ゲートウェイ境界との間のＴＣＰ、ＵＤＰ及びＳＣＴＰのような異なるプロトコルの搬送のネットワーク性能をテストすることを含む。ネットワーク性能は、テストされるクラウドのベンチマークとして使用され、そして結果が基準要求と比較される。
【００３７】
上述したテスト実施形態は、アプリケーションの設計及び開発段階におけるアプリケーションの連続テストを許す。それ故、テストは、アプリケーションの全機能と、アプリケーションが適切に機能するために必要なクラウドインフラストラクチャーの最低限の性能要求との間の一致を検証するのに使用される。
【００３８】
幾つかの実施形態は、インフラストラクチャーのクラウドテストから収集されたデータにマシン及びディープラーニングを適用する。比較アプリケーションテストに対してベンチマーク及び重要性能指示子（ＫＰＩ）が記憶される。システムは、マシンラーニングを利用して、クラウドの偏差、異常、及び通常振舞いの複雑な相関及び指示を与える。収集されたデータは、同じインフラストラクチャーの以前のテスト、及び比較のための他のクラウドからのテストと比較される。比較に使用される以前のデータは、単一のテストからのものでもよいし、又は多数の逐次又は並列のテストにわたって累積されてもよく、これは、以前のテストの統計学的な有効性を改善する。又、テストは、クラウド及びその振舞いの幾つかの時間及びコンテキストバリアント特性も捕獲する。
【００３９】
クラウドテストから収集されたデータのリアルタイム分析及びその後の分析も行われる。又、幾つかの実施形態は、トレンド及び将来の異常、或いはクラウドインフラストラクチャー又はアプリケーションレベルにおいて機能的又は性能上の問題を引き起こす将来の潜在的な条件に基づいて監視する必要のある幾つかのパラメータを予想するのにも使用される。
【００４０】
ある実施形態では、クラウドに配置されたセキュリティ手段の正しい機能の評価が遂行される。セキュリティ特徴の存在及び有効化機能が遂行され、そしてレポートが発生される。又、クラウドは、自動脅威攻撃に対するクラウドの弾力性及び頑健性を評価するためにそのような攻撃による分散型サービス拒否及びフィッシングのようなセキュリティ脅威に対してもテストされる。他の実施形態は、種々の欠陥状態を使用することによりクラウドにおいて実行されるアプリケーションの高い利用性をテストする。欠陥状態は、種々のタイプの実世界欠陥をエミュレートする。欠陥及び欠陥状態に対するクラウドの応答が監視されてもよい。
【００４１】
クラウド性能インデックス及びランキングが、多数のインフラストラクチャーテストＫＰＩから発生され、そして比較のために使用される基線又はベンチマークに対して計算される。性能データが使用され、そしてメトリックが監視されて、潜在的なクラウド容量問題をそれが生じる前に予想するために通信ネットワークのトラフィックパターンと相関される。同じクラウド又は異なるクラウドからの多数のテスト結果がユーザインターフェイスに視覚的に表示される。これは、結果のオーバーレイ、及び現在の結果と基線との間の差の評価を許す。
【００４２】
幾つかの実施形態では、テストされるクラウドのデータベース、及びクラウドに関する情報、例えば、ハードウェア、ソフトウェア、ハイパーバイザー、及びその構成が管理される。情報及びテスト結果は、アグリゲートされ、同期され、アーカイブされ、クラスター化され、又はグループ化される。これは、テストが１つの場所から実行されるのではなく、地域的又は現場で行われる場合でも、結果の論理的集中化を許す。又、テスト結果の管理は、基準クラウドとの比較も含めて、現在テストされたデータと、以前のテストとの比較も許す。他方、他の実施形態は、多数のクラウドの結果の分析、並びにクラウド及び構成の変化の表示を許す。
【００４３】
ある実施形態は、ワン・クリックアプローチを使用する。ワン・クリックアプローチでは、ユーザによる単一の開始アクション、例えば、ボタンの押圧又はクリックでテストが開始される。テストは、テストメニューを経て事前に定義又はスケジューリングされ、これにより、単一ボタンの押圧又はクリックでテストを自動的に進めることができる。
【００４４】
又、アプリケーション及びクラウドインフラストラクチャーのテストは、クラウドにおけるトラフィックのスケールアップ及び／又はスケールダウンを評価することも含む。例えば、クラウドは、クラウドインフラストラクチャーにおける急速な需要変化に応答して付加的なバーチャルマシンを発生する能力を有する。そのような評価は、インフラストラクチャー及びアプリケーションがトラフィックのスケールアップについていけることを保証し、そしてインフラストラクチャーがトラフィック変化に対処できない特定の限界又は欠陥点を指示するために有用である。
【００４５】
幾つかの実施形態は、１つ又は多数の売主からの指紋アプリケーション又はバーチャル化ネットワーク機能を使用する。指紋は、ユーザがＫＰＩを分析し、そしてアプリケーションを実際の性能に相関させることを許す。ある実施形態では、性能ＫＰＩを予想するためにマシンラーニングが使用される。例えば、アプリケーションの構成及びハードウェア／ソフトウェアモデル振舞いの変更が、クラウドにおけるアプリケーションの実施の前に行われたらどうであろうか。
【００４６】
性能検証は、幾つかの実施形態では、高い信頼レベルを維持できる間に、必要な時間の一部分において遂行される。この検証アプローチは、所与のクラウドにおいて良く実行される典型的な指紋及び／又はパターンと比較されて一致するアプリケーションの指紋及び／又はパターンを発生できる能力を含む。
【００４７】
幾つかの実施形態では、指紋アプローチは、バーチャルネットワーク機能モデルを発生するように学習するマシンの使用を含む。このマシンは、次いで、ターゲットクラウドのインフラストラクチャー性能を測定し、そして性能データ及び／又は意図されたトラフィックモデルをバーチャルネットワーク機能モデルに適用して、信頼性レベルを決定する。次いで、性能データのフィードバックループが展開され、これは、バーチャルネットワーク機能モデルへデータを返送する。
【００４８】
１つの特定の実施形態では、有効化されるべきバーチャルネットワーク機能は、ＩＰマルチメディアシステム（ＩＭＳ）のコールセッション制御機能（ＣＳＣＦ）サブシステムである。ＩＭＳ  ＣＳＣＦモデルは、以前に収集された性能データ、例えば、顧客クラウド又はラボテストにおける既存の展開から発生される。この性能データは、次いで、ＩＭＳモデルを発生できるマシンラーニングフレームワークを通して処理され、ＩＭＳモデルは、次いで、指紋を発生する。性能データのタイプは、例えば、ＩＭＳ性能ＫＰＩ又はインフラストラクチャー性能ＫＰＩを含む。
【００４９】
次いで、ターゲットクラウドインフラストラクチャーの性能データが収集され及び測定される。次いで、インフラストラクチャー性能データは、予想されるトラフィックモデルと共に、ＩＭＳモデルに与えられ、ターゲットクラウドにおいて意図されたように実行されるＩＭＳの信頼性レベル又は確率を決定する。ＩＭＳが生産に使用できると、性能データがマシンラーニングフレームワークへのフィードバックループとして利用され、モデルを改善することができる。
【００５０】
幾つかの実施形態では、残留バーチャルマシン及びアセットがクラウドに残される。これらの残されたバーチャルマシン及びアセットは、幾つかの実施形態では、自己アクチベートし、そして自動的にテストを遂行し、外部からの介入なく結果を報告する。次いで、バーチャルマシン及びアセットは、より綿密なテスト(in-depth test)体制をトリガーするに充分な変化が検出された場合に報告を行い且つ警報を送信する。監督する運営者は、次いで、いつ及びどんな仕方で綿密なテストを遂行するか判断する。
【００５１】
ある実施形態は、アプリケーションの機能的な分解を許し、これは、分解されたモジュールをクラウドに挿入することを含む。次いで、分解されたモジュールの性能が、モジュールレベル及び全アプリケーションレベルでテストされる。ノイズ性の隣接部を含む状態も評価される。同じクラウドに他のワークロードが存在するときのクラウド性能に対するノイズ性隣接部の影響が査定される。
【００５２】
前記実施形態は、クラウドインフラストラクチャーにおいてテレコミュニケーションアプリケーションをテストすることを含む。種々の結果は、ネットワークプロバイダーが、動的コールをどのように割り当てるか及びクラウドメトリックに基づいてトラフィックをどのように取り扱うか決定するのを許す。
【００５３】
図１は、幾つかの実施形態によるシステムアーキテクチャーを示す。システムアーキテクチャーは、例えば、プラットホーム１１０を備えている。プラットホーム１１０の各部は、それ自身、プロセッサ及びメモリを有するデバイスである。プラットホームのコントローラ部は、クラウド内に配備される。他の実施形態では、プラットホームは、同時にテストされる多数のクラウドをサポートする中央位置に配備される。又、プラットホーム１１０は、論理的に依然１つのクラスターと考えられてもよいマルチノード配備もサポートする。
【００５４】
スケジューラー１１１は、プラットホームのコア部分に設けられる。このスケジューラーは、特定テストのライフサイクルを管理するメインコンポーネントである。テストのライフサイクルは、多数の段階を含む。例えば、１つの段階は、テストインスタンスがテストテンプレートのリストから生成されて特定のクラウドに指定されるテストプランニング段階である。次いで、テストが構成されて、スケジュールされた時間に実行されるようにセットされる。第２段階は、例えば、テストインスタンスが実行されるテスト実行段階である。テストの進行及びそれにより生じるテストメトリックは、テスト期間の少なくとも一部分、又はテストの全期間に対して監視される。
【００５５】
又、プラットホーム１１０は、コレクタ１１２も備えている。コレクタ１１２は、重要なテスト関連データの収集を遂行する。例えば、テスト進行、テスト結果及びテストログがコレクタ１１２により収集される。データの収集は、ある実施形態では、メッセージブローカーソフトウェア、例えば、ＲａｂｂｉｔＭＱ１１３のようなメッセージングインターフェイスを経てリアルタイムで行われる。収集された全てのデータは、ＭｏｎｇｏＤＢのような選択のデータベース１１４に記憶される。
【００５６】
幾つかの実施形態では、プラットホーム１１０は、オーケストレータ１１５を備えている。オーケストレータ１１５は、テストがスタートする前にクラウドにおいて１つ以上のテストクラスターを生成する責任をもつ。オーケストレータ１１５は、バーチャルマシンインスタンスを生成し、インスタンス間のネットワーキングを構成し、そして必要なパッケージをそれらインスタンスにインストールする。プラットホーム１１０は、それ自身の内部オーケストレータ１１５を有し、これは、Ａｐａｃｈｅ２、ＬｉｂＣｌｏｕｄ、及びＡｎｓｉｂｌｅのような外部サーバー又はソフトウェアにより支援される。他の実施形態では、ＣＡＭのような外部オーケストレーション要素がプラットホーム１１０と共に設けられる。この外部オーケストレーション要素では、全てのオペレーションが、種々の異なる実施全体にわたって使用できる単一のオーケストレーションインターフェイスを通して行われる。
【００５７】
又、プラットホーム１１０には、アナライザ・レポーター１１６も含まれる。このアナライザ・レポーター１１６は、収集されたテストデータを分析し、クラウドリソースインデックス及び／又はグレードを発生し、そして最終クラウドレポートを発生する。更に、このコンポーネントは、例えば、クラウドの連続的な低オーバーヘッドテストに基づいてクラウド容量問題を予想するのに使用されるマシンラーニング特徴を含む。ある実施形態では、スケジューラー１１１、コレクタ１１２、オーケストレータ１１５及びアナライザ・レポーター１１６は、プラットホーム１１０のコア機能の一部分である。
【００５８】
幾つかの実施形態では、プラットホーム１１０は、最終的レポートジェネレータ１１７を備えている。コマンドラインツールのセットも含まれ、これは、他の表現状態転送(representational state transfer)（ＲＥＳＴ）コンポーネントと同じノードにインストールされる。最終的レポートジェネレータは、ユーザインターフェイスに表示されるグラフを含めて、テスト結果からレポートを発生するのに必要な機能を与える。レポートは、ワードプロセスソフトウェアとコンパチブルである。ＲＥＳＴアプリケーションプログラムインターフェイス（ＡＰＩ）も設けられる。ＲＥＳＴ  ＡＰＩ  １１８は、クラウドインフラストラクチャー及びテストメタデータを露出させる。ＲＥＳＴ  ＡＰＩ  １１８は、次いで、テストされたメタデータをレポートし、そしてクラウドオペレーション、例えば、テストクラウド接続性を外部アプリケーションに露出させる。ＲＥＳＴ  ＡＰＩは、ある実施形態では、ユーザインターフェイス１１９を外部アプリケーションとみなす。
【００５９】
ユーザインターフェイス１１９（ＵＩ）は、プラットホーム１１０と相互作用するためのインターフェイスを形成する。ＵＩ  １１９は、幾つかの実施形態では、ウェブベースである。ＵＩ  １１９は、ユーザがクラウドのテストを計画し、テストの進行を監視し、そして発生されたレポートを見る及び／又はダウンロードするのを許す。
【００６０】
図１に示す実施形態は、テストエージェント１２０も備えている。テストエージェント１２０は、プラットホーム１１０によりスケジュールされたテストの実行を助ける。テストエージェント１２０は、ランニングテストの場合の１つ以上のバーチャルマシンインスタンスに配置される。テストエージェント１２０にはハートビート（ＨＢｅａｔ）１２１が含まれる。ＨＢｅａｔは、ＩｓＡｌｉｖｅ信号をプラットホーム１１０へ送信する責任がある。この信号は、スケジュールされたテストをエージェントが遂行する準備ができたとの指示としてプラットホーム１１０により解釈される。
【００６１】
又、レポーター１２２も含まれる。レポーター１２２は、メッセージングインターフェイスを経てプラットホーム１１０へテスト進行の更新及びテスト結果を送信する。テスト進行の更新及び結果は、プラットホーム１１０のコレクタ１１２へ送信される。テストエージェント１２０は、テストエージェントのロギング動作を取り扱うロガー１２３も備えている。ロガー１２３は、テストの実行段階中にプラグインを取り扱う。ロガー１２３により集められたログは、メッセージングインターフェイス１１３を経てプラットホーム１１０へ送信される。
【００６２】
幾つかの実施形態において、プラグ可能なエグゼキューターも設けられる。プラグ可能なエグゼキューター１２４は、プラットホーム１１０により送信されたテストインスタンスにおいて定義された全てのテストケースを実行する。エグゼキューター１２４は、テストエージェント１２０のプラグイン能力を経て、付加的な新たなテストケースタイプ、例えば、ＳＰＥＣＣＰＵ２０ｘｘテストをサポートすることができる。換言すれば、新たなテストケースは、テストエージェント１２０のコア部分にタッチする必要なく単に新たなテストプラグインとして開発されてもよい。
【００６３】
テストエージェント１２０には、少なくとも１つのプラグイン１２５が含まれる。プラグイン１２５は、個々のテストケース実行の責任を負う個々のコンポーネントである。そのような個々のテストケース実行は、実行前の準備、テストケース実行、及び／又はテストケース結果の収集と報告を含む。
【００６４】
又、図１に示す実施形態は、モニタリングクライアント１３０も含む。モニタリングクライアント１３０は、テストクラスターに関する幾つかの又は全てのインスタンスに含まれる。モニタリングクライアント１３０は、クラウドインフラストラクチャーのハードウェアに対するリソース使用を収集し、そしてテストモニタリングの目的でＫＰＩを周期的に収集する。テストエージェント及びプラットホームは、主として、システムメトリック収集及び転送のために収集されたライブラリーを使用する。
【００６５】
図２は、幾つかの実施形態によるフローチャートである。ステップ２０１は、クラウド検証サービスの第１ステップである。ステップ２０１は、クラウド接続を設定することを含み、これは、テストプラットホームがクラウド管理レイヤへの接続及びアクセス権を有することを保証するように働く。この段階で問題が生じる場合には、アドミニストレーターに通知がなされる。
【００６６】
幾つかの実施形態において、ステップ２０２は、クラウドインフラストラクチャーにおいてテレコミュニケーションアプリケーションのようなアプリケーションの性能をテストするためにインフラストラクチャーテストを実行することを含む。このテストは、クラウドインフラストラクチャーにおけるアプリケーションの実行をシミュレーションするためにバーチャルマシンの使用を伴う。クラウド検証サービスは、クラウドインフラストラクチャーのコンピュータ、ストレージ及びネットワークサービスの性能を評価し、そしてクラウドサービスの利用性を監視する。クラウド性能のばらつきを考慮するため、各テストは、複数回実行することができる。テストの最終グレードは、時々、有効な実行が少なくとも３回連続的に行われたときしか発生されず、これは、発生データが統計学的に顕著なものであることを保証する上で助けとなる。
【００６７】
ある実施形態では、クラウド検証サービスは、テストの全サイクルを管理して、バーチャルマシンを生成し、それらをプロビジョニングし、それらにおいてテストを実行し、テスト結果を収集し、そして全ての割り当てられたリソースを終了させるようにする。
【００６８】
ステップ２０３は、バーチャル化ネットワーク機能（ＶＮＦ）テスト段階である。ＶＮＦテスト段階では、クラウド検証サービスは、ＶＮＦ特有のＫＰＩを測定するテストを実行して、インストールされたアプリケーションの性能を評価する。次いで、インフラストラクチャー及びＶＮＦテストの結果が与えられて、基準点と比較される。基準は、以前にテストされたクラウドであるか、又はＶＮＦオペレーションに対するベンチマーク基準として予め定義された標準クラウドである。次いで、ステップ２０４に示すように、テストの結果が分析され、そしてそれらの結果に基づいてレポートを発生することができる。
【００６９】
図２において、ステップ２０１は、テストサービスにアクセスするために設定クラウド接続を含む。クラウド検証サービスは、多数のユーザにサービスしそして多数のクラウドを並列にテストするマルチテナントサービスである。ユーザがクラウドインフラストラクチャーをテストするのを許すテストサービスにアクセスするために、ユーザは、ユーザ名及びパスワードを使用してもよい。ユーザが首尾良くサービスにログオンするか又はアクセスすると、ユーザは、次いで、以前に追加されたクラウドを選択すべきかどうか、又は新たなクラウドを選択すべきかどうかを選ぶ。
【００７０】
幾つかの実施形態では、ユーザが、例えば、オープンスタックキーストーン(openstack keystone)サービスＵＲＬを含む新たなクラウドの追加を選択するときに、ユーザが適切なアクセスクレデンシャルを得るための要求がなされる。アクセスクレデンシャルは、テナント名、ユーザ名、及び／又はパスワードを含む。適切なクレデンシャルが与えられると、サービスは、初期ＲＥＳＴ要求をクラウドに送信することができる。ユーザは、失敗又は成功の接続試みに関するフィードバックを受信する。接続試みが成功であった場合には、クラウドＲＥＳＴ  ＡＰＩコールが成功であったことを指示するチェックボックスを設けることができる。接続試みが失敗である場合には、失敗の理由が与えられる。ある実施形態では、セッショントークンが与えられる。
【００７１】
クラウド検証サービスは、ホスト型配備モデルにおいて実行される。この実施形態は、サービスの集中管理ビューを維持しつつ、種々のクラウド接続シナリオに対するサポートを含む。ある実施形態では、サービスの幾つかのノードしかターゲットクラウドに到達しない。これは、あるＩＰプール又は単一のＩＰアドレスからのトラフィックしか許さないファイアウォールが設けられたときに生じる。
【００７２】
別の実施形態は、バーチャルプライベートネットワーク（ＶＰＮ）を通してクラウドに接続することに関するもので、これは、ターゲットクラウドに到達できるサービスのノードを制限するように働く。クラウドへのＶＰＮリンクは、１つ以上の特定ノードに対して設定される。ＶＰＮ接続は、ＶＰＮトンネル終了点ノードの外側からのパケットルートを許さない。ＶＰＮ又はファイアウォールにより生じるアクセス制限のクラウドへの接続を取り扱うために、クラウド検証サービスＲＥＳＴは、図３に示すように、ルーターＲＥＳＴ要求を含む。
【００７３】
図３は、幾つかの実施形態によるフローチャートである。特に、図３は、クラウド検証サービスのＲＥＳＴインターフェイスを示す。このＲＥＳＴインターフェイスは、ユーザインターフェイス３１０により使用されると共に、統合のために他のシステムにより使用される。幾つかの実施形態は、クラウドＡＰＩへ直接的コールを発し、例えば、特定クラウドの画像又はネットワークのリストを要求することを含む。ＲＥＳＴルーターコンポーネントは、クラウドに到達できる少なくとも１つのＲＥＳＴレスポンダーにそのようなＡＰＩコールをルーティングして、クラウドへ直接的要求を行い、その後、応答を返送するという責任がある。メッセージブローカーは、ＲＥＳＴレスポンダーとルーターとの間の通信を容易にするのに使用される。
【００７４】
図３の実施形態において、ユーザインターフェイス３１０は、ＨＴＴＰ負荷バランサー３２０を通してハイパーテキスト転送プロトコル（ＨＴＴＰ）要求を送信する。この要求は、クラウドＡＰＩを呼び出し、少なくとも１つのＲＥＳＴルーター３３０に到達する。ＲＥＳＴルーター３３０は、次いで、全ての登録されたＲＥＳＴレスポンダーノード３４０に、クラウドＡＰＩが要求を発したことをブロードキャストする。ＲＥＳＴレスポンダーは、クラウド３５０に接続するのに使用され、これは、時々、ＶＰＮ又はファイアウォールを経てロックされる。第１のＲＥＳＴレスポンダーノード３４０からの応答は、ユーザインターフェイスへ返送される。ある実施形態では、クラウド識別が最新のレスポンダーノード情報でスケジューラー指定構成を更新し、ノードがクラウドテストを取り扱うための指定のスケジューラーとなるようにする。
【００７５】
幾つかの実施形態では、アクティブに働くルーターが２つ以上なければならない。全てのレスポンダーノードがルーターに登録される。レスポンダーノードは、それ自体を自動的に登録する。ある実施形態では、ルーターノードがレスポンダーノードでもあり、これは、両ノードの機能を１つの物理的ノードに結合できることを意味する。ユーザインターフェイスからの要求を全てのレスポンダーにブロードキャストするのではなく、その後の要求は、既知の良好なレスポンダーへルーティングすることができる。又、レスポンダーは、周期的に更新され、そして接続照合を行う。更に、レスポンダーは、ホワイトリストとして知られたホストのサポートリストを有する。ホワイトリストは、レスポンダーが排他的にサービスできる少なくとも１つの定義されたクラウドを含む。
【００７６】
図４は、幾つかの実施形態によるシステムアーキテクチャーを示す。又、図４は、幾つかの実施形態によるクラウドＲＥＳＴ  ＡＰＩの詳細な図でもある。図４の実施形態において、１つのＲＥＳＴルーター４１０、及び３つのＲＥＳＴレスポンダー（ＲＥＳＴレスポンダーＡ４２０、ＲＥＳＴレスポンダーＢ４３０及びＲＥＳＴレスポンダーＣ４４０）がある。ルーター４１０は、２つのクラウドＡＰＩ  ＲＥＳＴ要求をクラウドＡ４５０へルーティングすることができる。第１のＡＰＩコールは、ネットワークのリストを得ることに関するものであり、一方、第２のＡＰＩコールは、画像のリストを得ることに関するものである。第１コールの取り扱いに関連したオペレーションは、ステップ１、２、３、４、５及び６を含み、一方、第２コールに関連したオペレーションは、ステップ７、８、９、１０及び１１を含む。フローの各ステップは、絵の下に番号を付して記述される。
【００７７】
ステップ０では、ＲＥＳＴルーター４１０は、データベース４７０、例えば、ＭｏｎｇｏＤＢへ接続することによりスタートする。ＲＥＳＴルーター４１０は、次いで、クラウドＡ４５０及びクラウドＢ４６０へのＲＥＳＴレスポンダー４２０、４３０及び４４０のマッピングをデータベース４７０から取得する。ＲＥＳＴレスポンダーＡ４２０は、クラウドＢ４６０への要求を取り扱うことが指定され、ＲＥＳＴレスポンダーＢ４３０は、クラウドＡ４５０及びクラウドＢ４６０に指定され、そしてＲＥＳＴレスポンダーＣ４４０は、クラウドＡ４５０に指定される。ルーティングがスタートすると、ＲＥＳＴルーター４１０は、レスポンダーからのハートビートメッセージの受信をスタートする。ＲＥＳＴレスポンダー４２０、４３０及び４４０は、メッセージキューを経てハートビートをブロードキャストする。
【００７８】
ステップ１において、クラウドＡ４５０のリストネットワーク要求で検証サービスＲＥＳＴ  ＡＰＩをコールすることができる。ＲＥＳＴルーター４１０は、その要求を送信する。ＲＥＳＴルーター４１０は、ステップ２において、レスポンダーから送信されたハードビートメッセージを使用して、クラウドＡに指定されたどのレスポンダーが生きているかチェックすることができる。ＲＥＳＴレスポンダーＢ４３０は、アクティブではないので、リストネットワーク要求は、ＲＥＳＴルーター４１０へハートビートを送信する全てのアクティブなレスポンダーへ送られる。
【００７９】
ステップ３において、レスポンダーＡ４２０及びレスポンダーＣ４４０は、クラウドＡ４５０に要求を行う。幾つかの実施形態では、レスポンダーＡ４２０は、成功のコールをなし得るが、レスポンダーＣ４４０からなされた要求は、ファイアウォール制約のためにクラウドに到達できないので失敗となる。ステップ４において、レスポンダーＡ４２０及びレスポンダーＢ４３０は、それらの結果を返送する。ステップ５において、ＲＥＳＴルーター４１０は、次いで、データベース４７０に記憶されたレスポンダーＡ４２０クラウド指定にクラウドＡ４５０を追加する。レスポンダーＡ４２０からの成功応答は、次いで、ルーター４１０によって戻される。この応答は、クラウドＡ４５０への成功接続が確立されたことを指示し、クラウドＡ４５０が成功裡に追加されたことを意味する。
【００８０】
ステップ７において、画像のリストを要求するためにクラウドＡ４５０への第２コールが開始される。レスポンダーＡ４２０は、クラウドＡ４５０に既に指定されているので、ステップ８において、要求がクラウドＡ４５０へ転送される。クラウドＡ４５０に指定されたレスポンダーが２つ以上ある場合には、他の指定のレスポンダーにも要求が送られる。ステップ９において、レスポンダーＡ４２０によりコールがなされ、そしてステップ１０において、レスポンダーＡ４２０がＲＥＳＴルーター４１０へ要求を返送する。ステップ１１において、レスポンダーＡ４２０からの成功応答がＲＥＳＴルーター４１０により戻される。前記実施形態は、指定のレスポンダーのリスト及び係争中である要求のリストを検索することにより露出されたＲＥＳＴ終了ポイントを監視するように働く。
【００８１】
図４に示すように、クラウドへのクレデンシャルが与えられ、そしてクラウドへの接続が確立されると、ユーザは、クラウド構成の付加的なパラメータを与えることができる。それらパラメータは、テストされるべきクラウドの構成を決定するのに使用される。又、それらパラメータは、インスタンス構成、フレーバー(flavor)マッピング及び接続構成を含む多数のカテゴリーに分割される。構成プロセスを簡単化するために、幾つかの実施形態では、クラウド検証サービスは、ＲＥＳＴインターフェイスを露出させて、利用可能な画像、ネットワーク、ゾーン、キーペア又はフレーバーの少なくとも１つに関するデータを得る。
【００８２】
幾つかの実施形態では、インスタンス構成は、バーチャルマシンのテストの起動に関連したデフォールト値を与えることを含む。インスタンス構成パラメータのリストは、バーチャルマシンのテストを起動できるデフォールト位置である利用ゾーン又はバーチャルデータセンターを含む。又、インスタンス構成パラメータは、画像名、及びバーチャルアプリケーション名も含み、これは、クラウドにおいて起動されるバーチャルマシンのテストに使用される画像の名前である。ある実施形態では、クラウド検証サービスは、ターゲットクラウドに画像がまだ存在しない場合にそのクラウドに画像をアップロードすることもできる。これは、クラウドテストプロセスを簡単化する上で助けとなる。別のインスタンス構成パラメータは、フローティングＩＰプロトコル又は外部ネットワークである。このパラメータによれば、バーチャルマシンは、ルーティング可能なＩＰアドレスをネットワークから受け取る。
【００８３】
図５は、幾つかの実施形態によるフローチャートである。このフローチャートは、クラウドへの画像アップロードのフローを表わす。ステップ１において、クラウドＡ５４０へ画像をアップロードするためのＲＥＳＴ  ＡＰＩ要求がＲＥＳＴルーター５１０に到達する。ＲＥＳＴルーター５１０は、次いで、ステップ２において、クラウドＡ５４０に指定されたレスポンダーへ質問を送って、画像をアップロードできるかどうかチェックする。ステップ３において、ＲＥＳＴレスポンダーＺ５２０及びＲＥＳＴレスポンダーＡ５３０は、これらを使用して画像をアップロードできるかどうかチェックし、これは、アクセスされるディスクに画像ファイルが存在するかどうかレスポンダーがチェックできることを意味する。図５の実施形態では、ＲＥＳＴルーター５１０は、ステップ５において、アップロードを取り扱うためにＲＥＳＴレスポンダーＡ５３０を選択する。他の実施形態では、ＲＥＳＴレスポンダーＺ５２０が選択されてもよい。
【００８４】
ＲＥＳＴレスポンダーＡ５３０は、データベース５５０からのアップロードの状態をチェックすることができる。既存のエントリーがあり、そして例えば、少なくとも１分以内に最後の更新がフレッシュである場合には、データベースは、アップロード要求を無視し、そしてＨＴＴＰアップロードが既に進行中であることを述べるメッセージを返送する。或いは又、エントリーがないか又はエントリーが古い場合には、ＲＥＳＴレスポンダーＡ５３０が、ステップ５に示すように、クラウド５４０へのアップロード手順をスタートする。ステップ６において、ＲＥＳＴレスポンダーＡ５３０は、アップロード手順をスタートすることができる。これは、次いで、最後に更新されたフィールドを含めて、一貫したベースでデータベースのアップロードタスクエントリーを更新する。
【００８５】
ステップ７において、画像アップロード状態に関する質問がＲＥＳＴルーターに到着する。ステップ８において、ＲＥＳＴルーターが画像アップロード状態を求めることにより要求がブロードキャストされる。画像アップロード状態の要求は、ＲＥＳＴレスポンダーＺ５２０及びＲＥＳＴレスポンダーＡ５３０を含む全てのレスポンダーへ送られる。ステップ９において、レスポンダーは、アップロード状態をチェックし、そしてアップロード状態をＲＥＳＴルーター５１０へ送る。ある実施形態では、画像をアップロードするレスポンダーのみが画像アップロード状態ゲット要求に応答する。ステップ１０は、ＲＥＳＴレスポンダーＡが画像アップロードジョブ状態をデータベース５５０からフェッチすることを示す。ワーカー識別が環境識別と同じ値を有する場合には、データベース５５０は、アップロードジョブ状態に応答する。ワーカー識別が環境識別と同じ値でない場合には、データベース５５０は、不良要求を指示するメッセージに応答する。
【００８６】
ある実施形態では、クラウドフレーバーは、バーチャルＣＰＵ、メモリ及びストレージの特定の組み合せに付けられるラベルを含む。パブリック及びプライベートの両クラウドがクラウドフレーバーを使用することができる。しかしながら、特定のフレーバーが何を意味するかについて決まった規格はない。例えば、１つのクラウドフレーバーにおいて、「ｍ１．ｔｉｎｙ」は、１つのバーチャルＣＰＵを伴うバーチャルマシンを意味するが、別のクラウドでは、そのようなフレーバーが定義されなくてもよい。テスト定義が特定のクラウド環境に束縛されるのを回避できるようにするため、ユニバーサルインデックスがバーチャルマシンのフレーバーとして使用されてもよい。それ故、各クラウドは、テストに使用されるユニバーサルインデックスに対して内部フレーバーのそれ自身のマッピングを有する。フレーバーマッピング構成ステップは、ユーザがこの構成を確立できるようにする。
【００８７】
図６は、幾つかの実施形態によるユーザインターフェイスを示す。より詳細には、図６は、ユーザがフレーバーマッピング構成を選択するのを許すユーザインターフェイスを示す。ユーザは、クラウドのフレーバー６１０のリストを、テストに使用できるフレーバー６２０のインデックス型リストへマッピングする。テストは、図６に示すインデックスを使用してフレーバーを参照し、テストがクラウド不可知的であり且つ特定のフレーバーを伴うあるクラウドに束縛されないようにする。テストインスタンスの起動に使用するためのデフォールトフレーバーも定義される。
【００８８】
幾つかの実施形態では、クラウド構成の付加的なステップは、ドメイン名サーバー及びプロキシー設定を特定する。これらの構成は、次いで、テストプロビジョニングステップの一部分としてバーチャルマシンをテストするように注入される。
【００８９】
ある実施形態では、各クラウドは、プランニング段階中にそれに指定された多数のテストを有する。テストは、例えば、クラウドＡＰＩ性能テスト、コンピューティングインフラストラクチャーテスト、ネットワークインフラストラクチャーのスケーリングテスト、及び／又はネットワークインフラストラクチャーテストを含む。図７は、幾つかの実施形態によるフローチャートである。図７の実施形態では、データベースに記憶されたテストテンプレート７１０があり、これは、ユーザにより選択される。テストテンプレートは、どのテストケースを実行すべきか、いつテストを実行すべきか、及び／又はテストされるべきターゲット環境のトポロジー、例えば、バーチャルマシン又は後端ストレージの構成を記述する。
【００９０】
ステップ７２０に示すように、テストテンプレートのコピーが生成され、そしてクラウドに関連付けられる。テストテンプレートのこのコピーは、テストインスタンスドキュメント７３０として知られている。テストインスタンスは、幾つかの実施形態では、ステップ７３０においてカスタマイズされた後に、図１に示すプラットホーム１１０のスケジューラー１１１へとスケジューリングされる。テストインスタンスドキュメントをカスタマイズすることは、異なるテストケースの幾つかの構成を変更し、及び／又はテストケースの幾つかをディスエイブル又は除去することを含む。
【００９１】
幾つかの実施形態では、スケジュール型テスト実行７５０の各々に対して、テスト実行ドキュメントを生成することができる。テストラン７６０は、元々の実行がスケジューリングされたところのテストインスタンスドキュメントのコピーである。それ故、テストラン７６０は、以前のテストランを監査する必要があるとき歴史的な目的で使用される実行時の重要なテスト構成及び環境情報のスナップショットも含む。各テストランの実行は、単一テストの実行のためのテストランドキュメントに関連した多数のテスト結果ドキュメント７７０及びテストログドキュメント７８０を発生する。
【００９２】
ある実施形態では、テストは、クーロン表現(Cron expression)を通して起動されてもよい。各テストインスタンスは、例えば、１つ以上の将来の実行時間について特定された１つのクーロン表現をもつことができる。又、クーロンスケジューリングは、有効期間が特定されたときそのような期間をサポートすることもできる。スケジューリングされたテストランが所与の有効期間外であるときには、テストが実行されない。ユーザは、ユーザインターフェイスにおいて有効期間を特定してもよい。ユーザは、有効期間の日付、時刻及び長さを特定してもよい。又、ユーザは、幾つかの実施形態において、テストケースが並列に実行されること、又は故障に関わらず全てのテストケースを実行しなければならないことを特定してもよい。
【００９３】
幾つかの実施形態において、テストは、一回限りのアドホック実行を通して起動されてもよい。テストは、スケジューラーがテストインスタンススケジュールを受信した後に、短時間実行されてもよい。更に、ある実施形態は、「ワン・クリック」アプローチを使用してもよい。「ワン・クリック」アプローチでは、ユーザによる単一の開始アクション、例えば、ボタンの押圧又はクリックでテストが開始される。テストは、テストメニューを経て事前に定義又はスケジューリングされて、上述したように、単一ボタンの押圧又はクリックでテストを自動的に進めることができる。
【００９４】
図８は、幾つかの実施形態によるフローチャートである。図８の実施形態は、プラットホームの観点からのテスト実行フローを表わす。ステップ８０１において、ユーザは、ユーザ名及びパスワードのような幾つかの要求を入力することによりテストサービスにログインする。ステップ８０２において、ユーザインターフェイスは、テストする新たなクラウドを決定するのに使用される。ユーザは、ある実施形態では、許可ＵＲＬ、テナント、ユーザ名、及び／又はパスワードを含むクラウドのクレデンシャルを入力することが要求される。テストされるクラウドは、次いで、入力されたクレデンシャルを使用して、リモート位置を経てアクセスされる。
【００９５】
幾つかの実施形態において、ステップ８０３に示すように、テストがプランニングされる。テストのプランニングは、クラウドの種々の観点のテストを許すテストテンプレートを使用することを含む。テストは、クラウド、コンピューティング、ネットワーク、ストレージ、及びアプリケーションにおいて実行されるクラウドサービス、例えば、ＩＭＳのようなバーチャル化テレコミュニケーションネットワーク機能に対してプランニングされる。次いで、テンプレートがテストのための構成に入れられる。ステップ８０４において、ユーザは、収集したデータを記憶するために選択データベースを選ぶ。又、ある実施形態では、ユーザは、現在テストを比較するときに使用するためデータベースから基準又はベンチマークを引いてもよい。
【００９６】
ステップ８０５において、ユーザは、テストをスケジューリングする。次いで、ステップ８０６において、ユーザインターフェイスを通してテストスケジュールマニフェストが示される。マニフェストを検討した後に、ユーザは、テストを開始すべきかどうか選択する。ユーザがマニフェストに示すテスト構成の変更を選択する場合には、ユーザは、ステップ８０２、８０３、８０４及び８０５に戻って再構成する。さもなければ、ユーザは、ステップ８０７においてテストを開始する。ある実施形態では、全自動を使用してクラウドをテストすることができる。テストが開始されると、８０８に示すように、実際のテストが行われる前に多数の設定ステップを準備することができる。例えば、バーチャルマシンを生成することができ、そして図１に示されたテストエージェントを配備することができる。
【００９７】
ステップ８０９において、エージェントが生きているかどうかの決定がなされる。この決定は、図１に示されたハートビート１２１がエージェントからテストプラットホームへ送られたかどうかに基づく。幾つかの実施形態では、１つのエージェントが生きていないことがあり、そしてその１つのエージェントにおけるテストの収集及び監視は、エージェントが生きているという指示が受け取られるまで停止される。他の実施形態では、テスト実行監視ステップ８１０に示すように、エージェントは、それらがアクティブであることを指示し、そしてテストをプラットホームにより監視することができる。幾つかの実施形態において、ユーザは、テストの進行及び詳細なログの両方を再検討できるが、最終レポートが発生される前にテストが行われる。次いで、ステップ８１１において、テスト結果が収集される。
【００９８】
ステップ８１２において、テストが完了したかどうかの決定がなされる。もしそうでなければ、テスト、並びにステップ８１０及び８１１におけるデータの監視及び収集が続けられる。テストが完了したときには、ステップ８１３に示すように、テストが終了され、バーチャルマシンが破壊される。次いで、ステップ８１４に示すように、プラットホームによりレポートが発生され、これは、ユーザがテストの結果を容易に再検討できるようにする。レポートは、サービスのユーザインターフェイス内に提示される。
【００９９】
図８のステップ８０３で説明されたネットワークテストは、異なるネットワークトポロジー、例えば、利用ゾーン間トポロジー、利用ゾーン内トポロジー、又は外部ゲートウェイトポロジーにおいて行うことができる。図９Ａは、幾つかの実施形態によるトポロジーを示す。図９Ａの実施形態では、現在クラウド内のノードと、クラウド環境外のノードとの間で性能がテストされる。より詳細には、クラウドのゾーン１  ９０１に配置されたマシン１  ９０３と、外部ノード９０６との間で性能がテストされる。ゲートウェイ９０５は、バーチャルマシン９０３と、外部ノード９０６との間の相互作用を容易にするために使用される。
【０１００】
図９Ｂに示す他の実施形態では、利用ゾーン間トポロジーを導く利用可能な異なるゾーンの２つのノード間で性能がテストされる。ゾーン１  ９０１に配置されたバーチャルマシン１  ９０３は、ゾーン２  ９０２に配置されたバーチャルマシン２  ９０４と相互作用する。図９Ｃに示す更に別の実施形態では、同じ利用ゾーン９０１の２つのバーチャルノード９０３、９０４間の相互作用に対して性能がテストされる。テストは、図９Ａ、９Ｂ及び９Ｃに示されたネットワークトポロジーを使用して繰り返し実行される。
【０１０１】
幾つかの実施形態において、トラフィックは、これらの異なるトポロジーを通して延びる。トラフィックは、異なるパケットサイズを有し、異なるネットワークプロトコル、例えば、ＴＣＰ、ＵＤＰ及びＳＣＴＰを使用する。これは、ネットワークの観点からレイテンシー及び帯域巾を評価できるようにする。
【０１０２】
図１０は、幾つかの実施形態によるフローチャートを示す。特に、このフローチャートは、テストエージェントの観点から示されている。ステップ１０１０において、エージェントがインストールされて構成される。エージェントは、アプリケーションの実行中にクラウドインフラストラクチャーのテストにおいてプラットホームを支援するのに使用される。エージェントサービスは、ステップ１０２０に示すように、スタートされ又は配備される。エージェントは、ステップ１０３０において、プラットホームに「IsAlive」信号を送信して、テストを実行できることをプラットホームに指示する。ステップ１０４０において、エージェントは、テストの実行を開始するためにスケジューラーからのインストラクションを待機する。ある実施形態では、ユーザが進行のためのエージェント許可を与えない場合には、テストが実行されない。次いで、エージェントは、「IsAlive」又はハートビートメッセージをプラットホームへ送り続け、テストを開始できることを指示する。他の実施形態では、スケジューラーは、スケジューラーがプログラム実行要求を送り、これは、エージェントがテストを実行できるようにする。エージェントは、ステップ１０５０において、プラットホームからテストインストラクションを受け取り、そしてステップ１０６０において、テストの実行を開始する。次いで、ステップ１０７０において、テスト結果がプラットホームへ送られる。
【０１０３】
図１１は、幾つかの実施形態によるシステムアーキテクチャーを示す。特に、図１１は、テスト実行中の、図１に示すプラットホーム１１０とテストエージェント１２０との間の相互作用を示す。スケジューラーは、その時間中にスタートされる新たなテストについて周期的にポーリングする。ステップ１において、スケジューラー１１０１は、スタートされるべきテストを見つけると、スケジューラーテストインスタンス１１０４を生成し、これは、ステップ２に示すように、テストのライフサイクルを管理することができる。
【０１０４】
スケジューラーテストインスタンス１１０４内で、異なるテストを処理できる異なるタイプの多数のインスタンスがステップ３において生成される。例えば、インスタンスのタイプは、テストエージェント１１０８との主たる相互作用を取り扱うことのできるテストエージェント仲介者１１０３を含む。オーケストレータ１１０２も生成され、これは、クラウドプロビジョニング及びテストツール構成の責任を負う。更に、テスト結果コレクタ１１０５は、テストからのテスト結果を収集し、そしてテスト進行コレクタ１１０６は、生のテスト進行更新を収集する。
【０１０５】
ステップ４において、スケジューラーテストインスタンス１１０４は、これが初期化されると、先ず、オーケストレータ１１０２に、１つ以上のバーチャルマシンを起動するように命令する。バーチャルマシンは、テストソフトウェア及びテストエージェント１１０８のインストール及び構成を含む。ある実施形態では、テストエージェント１１０８は、ステップ５において、生きた状態となり、そしてテストエージェント仲介者１１０３を通り、メッセージインターフェイス又はバス、例えば、ＲａｂｂｉｔＭＱを経て、ハートビートの送信を開始する。テストエージェント仲介者１１０３は、ステップ６において、ハートビートを確認し、そしてメッセージバスを経てエージェント１１０８にテストスイートドキュメントを送信することができる。テストエージェント１１０８により受け取られたテストスイートドキュメントに基づいて、テストエージェント１１０８は、ステップ７において、テストスイート実行を開始するために少なくとも１つのテストスイートエグゼキューター１１０９を生成する。
【０１０６】
ある実施形態において、テストスイートエグゼキューター１１０９は、更に、ステップ８に示すように、テストケースエグゼキューター１１１０に各テストケースを委任することができる。テストケースエグゼキューター１１１０は、ステップ９において、テストケース仕様に基づいてロードされる必要のあるプラグインを決定し、そしてエグゼキュータープラグインを動的にロードする。テストケースエグゼキューター１１１０は、ある実施形態では、ステップ１０において、コールバックメカニズムを経てテストケース進行更新をテストスイートエグゼキューター１１０９へ直ちに送信し、これは、次いで、メッセージバスを経てその更新をテスト信号コレクタ１１０６へ送信する。テスト進行更新がテスト進行コレクタ１１０６により収集されると、その更新は、データベース１１１３へ送られて記憶される。
【０１０７】
幾つかの実施形態において、テストケースに基づき、エグゼキュータープラグイン１１１１は、ステップ１１において、オーケストレータプロキシー１１１２を経て更なるオーケストレーションを遂行する。ステップ１２において、オーケストレータプロキシー１１１２は、コールバックメカニズムを経てオーケストレーション要求に直ちに応答する。オーケストレータプロキシー１１１２は、ある実施形態では、ステップ１３において、メッセージバスを経て要求をオーケストレータプロキシー後端１１０７へカプセル化し、これは、新たなオーケストレーションインスタンスを生成することができる。ステップ１４において、生成されたオーケストレーションインスタンスは、命令されたクラウドへのオーケストレーションプロセスをスタートする。
【０１０８】
エグゼキュータープラグイン１１１１は、テストケースの実行を終了すると、ステップ１５において、テスト結果をテストケースエグゼキューター１１１０へ送信し、これは、次いで、その結果をテストスイートエグゼキューター１１０９へ転送することができる。次いで、テストスイートエグゼキューター１１０９は、エージェントからのテスト結果を、メッセージインターフェイス又はバスを通して、プラットホームに配置されたテスト結果コレクタ１１０５へ送信することができる。それらの結果は、次いで、データベース１１１３に記憶される。
【０１０９】
図１２は、幾つかの実施形態によるフローチャートである。テストの実行中に、ユーザは、クラウドリソース及び基本的ＫＰＩの使用、例えば、ＣＰＵ、使用又はメモリ使用を監視する。これは、ユーザが、ログを分析及びデバッグする必要なく、テスト及び／又はクラウドインフラストラクチャーに伴う幾つかの基本的な問題を迅速に発見できるようにする。換言すれば、ユーザは、テスト中の生きたメトリックを観察し及び／又は収集することができる。
【０１１０】
図１２は、ユーザが種々のテストメトリックを生で監視できる実施形態を示す。ユーザインターフェイス１２０１は、監視要求を「ａｐａｃｈｅ２」１２０２へ送るのに使用され、これは、プラットホームのオーケストレータと通信するＨＴＴＰサーバーである。この「ａｐａｃｈｅ２」は、プラットホームのオーケストレータに含まれる。監視要求は、クラウドインフラストラクチャーに配置されたグラファイト１２０３及びカーボン１２０４を通して転送される。収集されたデータは、次いで、テストバーチャルマシンの収集されたプラグイン１２０５から、クラウドインフラストラクチャーを通して「ａｐａｃｈｅ２」１２０２へ送られる。次いで、データは、ユーザが見るためにユーザインターフェイス１２０１へ転送される。１つの実施形態において、ＣＰＵ負荷及びメモリ使用量が生きたメトリックとしてプロットされ、これは、テストの実行を監視するのに使用される。
【０１１１】
図１３は、幾つかの実施形態によるフローチャートである。テスト実行の監視を容易にするために、クラウド検証サービスは、分散型ロギングを実施する。分散型ロギングは、各テストバーチャルマシンへのロギングを回避する上で助けとなり、単一ビューのもとに全てのログを与えることができる。
【０１１２】
ある実施形態では、ステップ１において、プラットホームのテストスケジューラーインスタンス１３０１は、テストの開始中にログコレクタ１３０２を生成し、これは、多数のソースからのストリーミングログの受信端として働く。ステップ２において、エージェントのテストターゲット１３０３は、プラットホームへログをストリーミングするため１つ以上の分散型ロガークライアント１３０４インスタンスを生成する。分散型ロガークライアント１３０４は、次いで、ステップ３において、測定インターフェイスを経てプラットホームへのログのストリーミングをスタートする。プラットホーム端において、ログコレクタ１３０２は、ストリーミングされたログを受け取り、そしてそれらをデータベース１３０５に記憶する。幾つかの実施形態において、ログは、受信されたときに直ちに記憶される。又、ログは、多数のバッチで記憶されてもよい。
【０１１３】
図１４は、幾つかの実施形態によるユーザインターフェイス１４０１を示す。ユーザインターフェイスは、テストの開始以来経過した時間量を含む進行概要を含む。又、ユーザインターフェイス１４０１は、実行される各ネットワークテストに対する進行の量を含む進行詳細も示す。ある実施形態では、テストされた進行ログを示す特定のコードが示される。データベースに記憶されたログは、ＲＥＳＴインターフェイスを経て露出され、これは、ユーザインターフェイスにログを表現できるようにする。
【０１１４】
図１５は、幾つかの実施形態によるユーザインターフェイスを示す。特に、図１５に示すユーザインターフェイス１５０１は、クラウド間の結果を比較できるようにする高レベル結果ビューを示す。上述したように、検証サービスは、結果を見るときにベンチマークとして使用される基準クラウドを含む。テストされる各クラウドは、基準クラウド結果に対するクラウドの相対的性能に基づいてグレード決めされる。最初の出力は、クラウドグレードであり、これは、図１５に示す実施形態では、０から５の個別のスコアを伴う単一の数である。インフラストラクチャー及びアプリケーションテストの各々に対してスコアが与えられる。
【０１１５】
このトップレベルビューは、テストのカテゴリーごとに特定の結果に分断することができる。例えば、クラウドの全性能は、サービス１５２０、計算１５３０、ネットワーク１５４０、ストレージ１５５０、又はアプリケーション１５６０の少なくとも１つに分割される。ユーザには、クラウドインフラストラクチャーの全性能を示す０から５のスコアが与えられる。更に、前記カテゴリーの各々は、０から５のスケールでグレード決めされる更なるカテゴリーへと分割される。
【０１１６】
現在テストのコンピレーションスコアは、各カテゴリー内の水平線で示される。例えば、サービス１５２０のもとでのサービス利用性が、５のうちの４のおおよそのグレードを有するものとしてテストされた。更に、幾つかの実施形態は、基準クラウドに対する同じテストについて基準スコアを示す垂直バー又は矢印を含む。これは、クラウドを他のクラウドと比較できるようにするか、或いは又同じクラウドからの以前の結果と比較できるようにする。例えば、サービス１５２０のもとでのサービス利用カテゴリーは、約５の基準クラウドスコアを有する。ユーザは、アーカイブから特定の基準クラウドを選択することができる。
【０１１７】
クラウドグレードの計算は、異なる方法を使用して計算されてもよい。ある実施形態は、例えば、フレーバー、例えば、７−Ｚｉｐテスト当りのテストケースグレードを発生する。フレーバーごとに、各ＫＩＰの平均テスト測定値が計算される。更に、ＫＰＩグレードは、以前に計算された平均値をスレッシュホールド範囲の右へマッピングすることにより計算される。又、計算されたテストケースグレードは、全ての計算されたＫＰＩグレードの重み付けされたグレード平均を使用して計算されてもよい。
【０１１８】
他の実施形態では、テストグループグレードが、クラウドリソース、例えば、圧縮テストごとに計算されてもよい。クラウドリソースのテストグループごとに、全てのフレーバーからのテストケースグレードを平均化することによりテストグループの全てのフレーバーに対するテストケースグレード平均値が計算される。更に、全てのフレーバーに対する計算されたテストグレードの重み付けされた平均化を遂行することによりテストグループグレードが計算される。
【０１１９】
幾つかの実施形態において、クラウドリソースグレードが発生される。クラウドリソースグレードは、計算１５３０カテゴリーに使用される。クラウドリソースグレードは、全てのテストグループグレードを平均化することにより計算される。テストグループの重みが予め決定されるときは、重み付けされた平均値が計算される。そうでない場合には、重みが均一に分割される。ある実施形態では、クラウドリソースグレードの幾つか又は全部を平均化することによりクラウドグレードを発生することができる。
【０１２０】
各カテゴリー内の結果を見ることは、基準クラウドスコアに関して行われる。図１５に示すように、カテゴリーは、サービス１５２０、計算１５４０及びストレージ１５５０、又はアプリケーション１５６０の少なくとも１つである。図１５に示すように、ユーザインターフェイスに示される垂直の矢印は、基準クラウドスコアを表わす。テストされた各メトリックは、基準クラウドスコアとの比較で示される。
【０１２１】
ある実施形態では、図１５に示す垂直線ではなく、クラウドスコアは、水平軸にパーセンテージを有する垂直ヒストグラムとして示される。基準クラウドスコアは、ヒストグラムのゼロパーセンタイルマークであり、ヒストグラムに示されたバーは、ゼロマークの左の負のパーセンタイルから、ゼロマークの右の正のパーセンタイルまでの範囲である。負のパーセンタイルは、現在のテストメトリックが基準クラウドスコアより低いスコアを有することを示す。他方、正のパーセンタイルは、現在のテストメトリックが基準クラウドスコアより高いスコアを有することを示す。パーセンタイルが高いほど、現在テストの性能が良好である。
【０１２２】
別の実施形態では、現在テストのメトリックを報告するために水平性能ヒストグラム又は棒グラフが使用される。これは、例えば、異なるマシンタイプにおけるＧＺＩＰ圧縮のためのレイテンシーを伴う異なるファイルサイズの性能を含めて、メトリックのより特定の評価を許す。これは、上述したクラウドグレード計算より詳細で且つパラメトリックなメトリックビューを許す。別の例において、ネットワークカテゴリー１５４０では、利用ゾーン間トポロジーのスループットは、ＳＣＴＰ、ＴＣＰ又はＵＤＰプロトコルに基づきメガビット／秒で測定される。
【０１２３】
図１５に示すように、テレコミュニケーションネットワークアプリケーションがテストされる。例えば、ＩＭＳがテストされる。ユーザインターフェイスは、ネットワーク加入者の負荷、トラフィック負荷、及び／又はトラフィックパターンを入力するのに使用される。ある実施形態では、アプリケーション性能の一時的なビューが見られる。
【０１２４】
他の実施形態では、いかなるタイプのテストされたメトリックも、それがチャート、例えば、散布図、テーブル、グラフ、リスト、スクリプト又はユーザインターフェイスに適合する他の形態のチャートであるかどうかに関わらず、任意の形態で表すことができる。
【０１２５】
幾つかの実施形態において、新たなテストツールのオン・ボーディングを簡単化するために、クラウド検証サービスは、ユーザインターフェイス側でウィジェット概念を実施する。このウィジェット概念は、ｊａｖａｓｃｒｉｐｔ（登録商標）オブジェクト表記法（ＪＳＯＮ）フォーマットで定義されたダッシュボードで結果を見ることを許す。幾つかの実施形態において、ダッシュボード仕様は、ＪＳＯＮを経て検索され処理される。次いで、テスト結果データが検索され、そしてウィジェットが生成される。
【０１２６】
図１６は、幾つかの実施形態によるフローチャートである。ステップ１６０１において、ユーザは、ダッシュボードを要求する。ユーザインターフェイスのダッシュボードモジュールは、次いで、ステップ１６０２に示すように、ＲＥＳＴ  ＡＰＩを経てダッシュボード仕様を要求する。次いで、ステップ１６０３において、ダッシュボード仕様が、ＭｏｎｇｏＤＣのようなデータベースからＲＥＳＴ  ＡＰＩへ送られる。ユーザインターフェイスへ返送されたダッシュボード仕様に基づき、ステップ１６０４において、ユーザインターフェイスのダッシュボードモジュールは、ステップ１６０５において、ＲＥＳＴ  ＡＰＩを経てテストデータを要求する。次いで、ステップ１６０６において、テスト結果がデータベースからＲＥＳＴ  ＡＰＩへ送られ、そしてステップ１６０７に示すように、テスト結果がユーザインターフェイスへ転送される。
【０１２７】
幾つかの実施形態において、ユーザインターフェイスダッシュボードモジュールは、次いで、ダッシュボード仕様により、ステップ１６０８において、１つ以上のダッシュボードウィジェットを生成する。ダッシュボードウィジェットは、ウィジェット仕様に指定されたフィルタリングされたテスト結果データを含む。ステップ１６０９において、ダッシュボードウィジェットは、そのフィルタリングされたテスト結果データを処理して、ダッシュボードデータジェネレータを経て、ウィジェットを視覚化するために予想される形態へ変換する。幾つかの実施形態において、ダッシュボードデータジェネレータは、アブストラクトシンタックスツリー（ＡＳＴ）表現パースユーティリティを利用して、ウィジェット仕様に存在する表現をパースする。その結果は、ダッシュボードウィジェットデータジェネレータへ転送され、これは、次いで、ウィジェットデータをダッシュボードウィジェットへ送ることができる。
【０１２８】
クラウド検証サービスにより最終レポートが発生され、そしてこのレポートは、テストアクティビティの概要である最終レポートドキュメントを含む。ある実施形態では、最終レポート作成プロセスは、データベースからのクラウドデータの検索及び規定のテンプレート記述子の使用を含み、これは、ドキュメントをどのように組み立てるか、及び／又はどのグラフを作成してレポートに含ませるか定義する上で助けとなる。次いで、レポートデータベースプラグインを処理することができ、そしてレポート変数を生成することができる。最終的に、任意の形態のドキュメントを作成することができる。ある実施形態では、作成されたドキュメントは、暗号又は暗号化されてもよい。又、ドキュメントは、ＨＴＴＰプロトコルを経てユーザのウェブブラウザへストリーミングされてもよい。
【０１２９】
図１７は、幾つかの実施形態によるフローチャートである。ステップ１７０１において、ユーザは、最終レポートを要求する。既定のテンプレート、ＪＳＯＮレポート変数及び／又はＪＳＯＮレポーター記述子の少なくとも１つに従ってドキュメントがアッセンブルされる。次いで、ステップ１７０２において、このドキュメントアッセンブル情報は、データソースプラグインへ転送される。次いで、データソースプラグインは、データベースからデータを収集し及び／又はグラフィックユーザインターフェイスから情報を引き出す。次いで、プラグインは、グラフを発生し、そして最終レポートに表示されるべき付加的なデータソースを処理する。
【０１３０】
次いで、ステップ１７０３において、データソースプラグインは、ドキュメントを発生し、そしてステップ１７０４において、そのドキュメントをユーザへ送信する。しかしながら、ある実施形態では、ドキュメントがユーザに到着する前に、ドキュメントは、パスワードで暗号化され、例えば、ステップ１７０４において、ｄｏｃｘｅｎｃｒｙｐｔｏｒツールを使用して暗号化される。それ故、ある実施形態では、ドキュメントは、ＨＴＴＰを経て暗号化されて、ユーザのブラウザへ送られる。他の実施形態では、暗号ではなく、レポートは、単に、暗号なしのドキュメント、例えば、ＰＤＦドキュメントとして、ＨＴＴＰを経て送られる。
【０１３１】
図１８は、幾つかの実施形態によるフローチャートである。ステップ１８１０に示すように、ユーザは、先ず、クラウドインフラストラクチャーをテストするためクラウド検証サービスに接続する。ステップ１８２０において、ユーザ装置は、クラウドインフラストラクチャー上でのバーチャルネットワーク機能の実行をトリガーする。次いで、クラウド検証サービスを使用して、実行されるバーチャルネットワーク機能でクラウドインフラストラクチャーの重要属性がテストされる。重要属性は、クラウドインフラストラクチャーのカテゴリー、例えば、サービス、計算、ネットワーキング又はストレージを含む。ステップ１８３０において、クラウドインフラストラクチャーの重要属性又はバーチャルネットワーク機能のメトリックをユーザ装置で受け取る。メトリックは、ユーザ装置により表示され、そしてユーザにより評価される。ユーザ装置は、プロセッサ、メモリ及び／又はトランシーバを含めて、図２０に示されたハードウェア及び／又はソフトウェアの全てを含む。
【０１３２】
図１９Ａは、幾つかの実施形態によるフローチャートである。特に、図１９Ａは、プラットホームデバイスによるフローチャートである。ステップ１９０１は、クラウドインフラストラクチャーをテストするためにクラウド検証サービスに接続することを含む。ステップ１９０２において、プラットホームデバイスは、クラウドインフラストラクチャーの重要属性のテストをスケジューリングする。クラウドインフラストラクチャー上でバーチャルネットワーク機能が実行される。ステップ１９０３において、スケジュールがプラットホームデバイスからテストエージェントへ送出される。テストエージェントがテストを開始すると、プラットホームデバイスは、ステップ１９０４に示すように、クラウドインフラストラクチャーの重要属性又はバーチャルネットワーク機能のメトリックを受け取る。プラットホームデバイスは、メトリックをユーザ装置へ送り、ユーザ装置は、メトリックをユーザインターフェイスに表示する。
【０１３３】
図１９Ｂは、幾つかの実施形態によるフローチャートである。特に、図１９Ｂは、テストエージェントによるフローチャートである。テストエージェントは、ステップ１０１１に示すように、クラウドインフラストラクチャーの重要属性についてテストを行うためにプラットホームデバイスから要求を受け取る。ステップ１９１２において、テストエージェントは、クラウドインフラストラクチャーの重要属性及びバーチャルネットワーク機能についてテストを行う。次いで、テストエージェントは、ステップ１９１３に示すように、クラウドインフラストラクチャーの重要属性又はバーチャルネットワーク機能のメトリックをプラットホームデバイスへ送出する。
【０１３４】
図２０は、幾つかの実施形態によるシステムを示す。図１−１８、１９Ａ及び１９Ｂのフローチャートの各ブロック並びにその組み合せは、種々の手段又はそれらの組み合せ、例えば、ハードウェア、ソフトウェア、ファームウェア、１つ以上のプロセッサ及び／又は回路により実施される。１つの実施形態において、システムは、多数のデバイス、例えば、プラットホームデバイス２０１０及びテストエージェントデバイス２０２０を備えている。プラットホームデバイスは、スケジューラー、コレクタ、オーケストレータ、アナライザ・レポーター、最終レポートジェネレータ、又はユーザインターフェイスである。テストエージェントデバイスは、例えば、レポーター、ロガー、又はプラグ可能なエグゼキューターである。
【０１３５】
これらデバイスの各々は、２０２１及び２０１１として各々指示された少なくとも１つのプロセッサ又は制御ユニット又はモジュールを含む。各デバイスには少なくとも１つのメモリが設けられ、２０２２及び２０１２として各々指示されている。メモリには、コンピュータプログラムインストラクション又はコンピュータコードが含まれる。１つ以上のトランシーバ２０２３及び２０１３が設けられ、各デバイスは、２０２４及び２０１４として各々示されたアンテナも含む。各々１つのアンテナしか示されていないが、多数のアンテナ及び多数のアンテナ素子が各デバイスに設けられる。例えば、これらデバイスの他の構成が設けられてもよい。例えば、プラットホームデバイス２０１０及びテストエージェントデバイス２０２０は、ワイヤレス通信に加えて、更に、ワイヤード通信用に構成されてもよく、このような場合には、アンテナ２０２４及び２０１４は、単なるアンテナに限定されず、任意の形態の通信ハードウェアでもよい。
【０１３６】
トランシーバ２０２３及び２０１３は、各々、独立した送信器、受信器、又は送受信器でもよいし、或いは送信及び受信の両方に構成されたユニット又はデバイスでもよい。オペレーション及び機能は、異なるエンティティにおいて遂行されてもよい。又、１つ以上の機能が、サーバー上で実行できるソフトウェアにおいてバーチャルアプリケーションとして実施されてもよい。
【０１３７】
ユーザインターフェイスは、移動電話又はスマートホン又はマルチメディアデバイスのようなユーザデバイス又はユーザ装置、ワイヤレス通信能力が設けられたタブレットのようなコンピュータ、ワイヤレス通信能力が設けられたパーソナルデータ又はデジタルアシスタント（ＰＤＡ）、或いはその組み合せにおいて配置されてもよい。又、ユーザ装置は、少なくとも、プロセッサ、メモリ及びトランシーバも含む。
【０１３８】
ある実施形態において、ノード又はユーザデバイスのような装置は、図１−１８、１９Ａ及び１９Ｂに関連して上述した実施形態を具現化するための手段を備えている。幾つかの実施形態において、コンピュータプログラムコードを含む少なくとも１つのメモリは、少なくとも１つのプロセッサとで、装置が、少なくとも、ここに述べるプロセスのいずれかを遂行するようにさせるよう構成される。
【０１３９】
プロセッサ２０１１及び２０２１は、計算又はデータ処理装置、例えば、中央処理ユニット（ＣＰＵ）、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、プログラマブルロジックデバイス（ＰＬＤ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、デジタル的に改善された回路又は同等のデバイス、或いはその組み合せによって具現化される。プロセッサは、単一のコントローラ、或いは複数のコントローラ又はプロセッサとして具現化されてもよい。
【０１４０】
ファームウェア又はソフトウェアについては、少なくとも１つのチップセットのモジュール又はユニット（例えば、手順、機能、等）が実施に含まれる。メモリ２０１２及び２０２２は、独立した適当なストレージデバイス、例えば、非一時的コンピュータ読み取り可能な媒体である。ハードディスクドライブ（ＨＤＤ）、ランダムアクセスメモリ（ＲＡＭ）、フラッシュメモリ又は他の適当なメモリが使用される。メモリは、単一の集積回路上でプロセッサと結合されてもよいし、又はそこから分離されてもよい。更に、メモリに記憶されてプロセッサにより処理されるコンピュータプログラムインストラクションは、適当な形態のコンピュータプログラムコード、例えば、適当なプログラミング言語で書かれたコンパイル型又は解釈型コンピュータプログラムである。メモリ又はデータストレージエンティティは、典型的に、内部であるが、付加的なメモリ容量がサービスプロバイダーから得られる場合には、外部でもよいし又はその組み合せでもよい。メモリは、固定でもよいし又は取り外し可能でもよい。
【０１４１】
メモリ及びコンピュータプログラムインストラクションは、特定のデバイスのためのプロセッサとで、プラットホームデバイス２０１０及び／又はテストエージェントデバイス２０２０のようなハードウェア装置が、上述した各プロセスのいずれか（例えば、図１−１８、１９Ａ及び１９Ｂを参照）を遂行するようにさせるよう構成される。それ故、幾つかの実施形態において、非一時的コンピュータ読み取り可能な媒体は、ハードウェアで実行されたときに、ここに述べるプロセスの１つのようなプロセスを遂行するコンピュータインストラクション又は１つ以上のコンピュータプログラム（例えば、追加又は更新されたソフトウェアルーチン、アプレット又はマクロ）でエンコードされる。コンピュータプログラムは、Ｏｂｊｅｃｔｉｖｅ−Ｃ、Ｃ、Ｃ＋＋、Ｃ＃、Ｊａｖａ（登録商標）、等の高レベルプログラム言語、或いはマシン言語又はアッセンブラーのような低レベルプログラミング言語であるプログラミング言語によりコード化される。或いは又、幾つかの実施形態は、完全にハードウェアで具現化されてもよい。
【０１４２】
前記実施形態は、クラウドインフラストラクチャーにおけるテレコミュニケーションソフトウェアアプリケーションのテストを許す。テストは、完全自動化及び系統的機能においてバーチャルネットワーク機能のようなクラウドアプリケーションに代って基礎的なクラウドインフラストラクチャーを検証するのに使用される。又、前記実施形態は、供試クラウド内の多数のコンピューティングノードにわたってテスト及びモニタエージェントと共に分散型アーキテクチャーを配備する。これらのエージェントは、実世界に配備されたときのクラウドアプリケーションの振舞いを近似することができ、そして基礎的なコンピューティング、ネットワーク及びストレージ能力の重要属性をテストする。
【０１４３】
本明細書全体にわたって述べる幾つかの実施形態の特徴、構造又は特性は、１つ以上の実施形態において適当な仕方で結合されてもよい。例えば、本明細書全体にわたる「幾つかの実施形態」「ある実施形態」「他の実施形態」という句、又は他の同様の言語の使用は、その実施形態に関連して述べる特定の特徴、構造又は特性が本発明の少なくとも１つの実施形態に包含されることを指す。従って、本明細書全体にわたる「幾つかの実施形態」「ある実施形態」「他の実施形態」という句、又は他の同様の言語の出現は、必ずしも同じグループの実施形態を指すものではなく、ここに述べる特徴、構造又は特性は、１つ以上の実施形態において適当な仕方で結合されてもよい。
【０１４４】
当業者であれば、以上に述べた本発明が、異なる順序のステップで、及び／又はここに開示したものとは異なる構成のハードウェア要素で実施されてもよいことが容易に明らかであろう。それ故、本発明は、これらの好ましい実施形態に基づいて述べたが、本発明の精神及び範囲から逸脱せずに、幾つかの修正、変更及び代替的構造が当業者に明らかであろう。
【０１４５】
略語
ＲＡＮ：無線アクセスネットワーク
ＩＰ：インターネットプロトコル
ＴＣＰ：送信制御プロトコル
ＵＤＰ：ユーザデータグラムプロトコル
ＳＣＴＰ：ストリームコントロール送信プロトコル
ＫＰＩ：重要性能指示子
ＣＳＣＦ：コールセッションコントロール機能
ＩＭＳ：ＩＰマルチメディアシステム
ＲＥＳＴ：表現状態転送
ＡＰＩ：アプリケーションプログラムインターフェイス
ＵＩ：ユーザインターフェイス
ＨＢｅａｔ：ハートビート
ＶＮＦ：バーチャル化ネットワーク機能
ＶＰＮ：バーチャルプライベートネットワーク
ＪＳＯＮ：ｊａｖａｓｃｒｉｐｔ（登録商標）オブジェクト表記法
【符号の説明】
【０１４６】
１１０：プラットホーム
１１１：スケジューラー
１１２：コレクタ
１１３：ＲａｂｂｉｔＭＱ
１１４：ＭｏｎｇｏＤＢ
１１５：オーケストレータ
１１６：アナライザ・レポーター
１１７：最終的レポートジェネレータ
１１８：ＲＥＳＴ  ＡＰＩ
１１９：ユーザインターフェイス（ＵＩ）
１２０：テストエージェント
１２１：ハートビート（ＨＢｅａｔ）
１２２：レポーター
１２３：ロガー
１２４：エグゼキューター
１２５：プラグイン
１３０：モニタリングクライアント
３１０：ユーザインターフェイス（ＵＩ）
３２０：ＨＴＴＰ負荷バランサー
３３０：ＲＥＳＴルーター
３４０：ＲＥＳＴレスポンダー
３５０：リモートクラウド
４１０：ＲＥＳＴルーター
４２０：ＲＥＳＴレスポンダーＡ
４３０：ＲＥＳＴレスポンダーＢ
４４０：ＲＥＳＴレスポンダーＣ
４５０：クラウドＡ
４６０：クラウドＢ
４７０：ＭｏｎｇｏＤＢ
５１０：ＲＥＳＴルーター
５２０：ＲＥＳＴレスポンダーＺ
５３０：ＲＥＳＴレスポンダーＡ
５４０：クラウドＡ
５５０：ＭｏｎｇｏＤＢ
１１０１：テストスケジューラー
１１０２：オーケストレータ
１１０３：テストエージェント仲介者
１１０４：スケジューラーテストインスタンス
１１０５：テスト結果コレクタ
１１０６：テスト進行コレクタ
１１０７：オーケストレータプロキシー後端
１１０８：テストエージェント
１１０９：テストスイートエグゼキューター
１１１０：テストケースエグゼキューター
１１１１：エグゼキュータープラグイン
１１１２：オーケストレータプロキシー
１１１３：ＭｏｎｇｏＤＢ
１３０１：テストスケジューラー
１３０２：ログコレクタ
１３０３：テストエージェント
１３０４：分散型ロガークライアント
１３０５：ＭｏｎｇｏＤＢ
１４０１：ユーザインターフェイス
２０１０：プラットホームデバイス
２０１１：プロセッサ
２０１２：メモリ
２０１３：トランシーバ
２０１４：アンテナ
２０２０：テストエージェントデバイス
２０２１：プロセッサ
２０２２：メモリ
２０２３：トランシーバ
２０２４：アンテナ
【図１】
2019509681.tif 000003
【図２】
2019509681.tif 000004
【図３】
2019509681.tif 000005
【図４】
2019509681.tif 000006
【図５】
2019509681.tif 000007
【図６】
2019509681.tif 000008
【図７】
2019509681.tif 000009
【図８】
2019509681.tif 000010
【図９Ａ】
2019509681.tif 000011
【図９Ｂ】
2019509681.tif 000012
【図９Ｃ】
2019509681.tif 000013
【図１０】
2019509681.tif 000014
【図１１】
2019509681.tif 000015
【図１２】
2019509681.tif 000016
【図１３】
2019509681.tif 000017
【図１４】
2019509681.tif 000018
【図１５】
2019509681.tif 000019
【図１６】
2019509681.tif 000020
【図１７】
2019509681.tif 000021
【図１８】
2019509681.tif 000022
【図１９Ａ】
2019509681.tif 000023
【図１９Ｂ】
2019509681.tif 000024
【図２０】
2019509681.tif 000025
【国際調査報告】
2019509681.tif 000026
2019509681.tif 000027
2019509681.tif 000028