(57)【特許請求の範囲】
【請求項１】
それぞれ互いに異なるストリーミングサーバから受信したアプリケーション実行データを画面に出力するための少なくとも１つの仮想クライアントモジュールと；
前記少なくとも１つの仮想クライアントモジュールから出力されたアプリケーション実行データをキャプチャし、前記キャプチャされたテストイメージを基準イメージと比較する比較部と；
前記テストイメージ及び基準イメージの一致可否によって前記ストリーミングサーバの障害可否を判断するテスト制御部と；を含むことを特徴とするクラウドストリーミングサービスのためのアプリケーションエラー検出装置。
【請求項２】
前記比較部は、
前記少なくとも１つの仮想クライアントモジュールのうちいずれか１つの仮想クライアントモジュールから出力されたアプリケーション実行データをキャプチャし、前記基準イメージとして設定することを特徴とする請求項１に記載のクラウドストリーミングサービスのためのアプリケーションエラー検出装置。
【請求項３】
前記比較部は、
前記アプリケーション実行データのキーフレームをキャプチャし、前記基準イメージとして設定することを特徴とする請求項２に記載のクラウドストリーミングサービスのためのアプリケーションエラー検出装置。
【請求項４】
前記比較部は、
前記少なくとも１つの仮想クライアントモジュールから出力されたアプリケーション実行データのうち互いに一致する画面をキャプチャし、前記基準イメージとして設定することを特徴とする請求項１に記載のクラウドストリーミングサービスのためのアプリケーションエラー検出装置。
【請求項５】
前記比較部は、
前記少なくとも１つの仮想クライアントモジュールから出力されたアプリケーション実行データのキーフレームのうち互いに一致するキーフレームをキャプチャし、前記基準イメージとして設定することを特徴とする請求項４に記載のクラウドストリーミングサービスのためのアプリケーションエラー検出装置。
【請求項６】
前記テスト制御部は、
前記テストイメージ及び基準イメージが互いに一致する場合、前記ストリーミングサーバは障害がないものと判断し、前記テストイメージ及び基準イメージが互いに一致しない場合、前記ストリーミングサーバに障害があるものと判断することを特徴とする請求項１に記載のクラウドストリーミングサービスのためのアプリケーションエラー検出装置。
【請求項７】
前記仮想クライアントモジュールは、
キーフレームだけが含まれた前記アプリケーション実行データを出力することを特徴とする請求項２に記載のクラウドストリーミングサービスのためのアプリケーションエラー検出装置。
【請求項８】
検出サーバが少なくとも１つの仮想クライアントモジュールを介して少なくとも１つのストリーミングサーバから受信したアプリケーション実行データを画面に出力させる段階と；
検出サーバが前記少なくとも１つの仮想クライアントモジュールから出力されたアプリケーション実行データをキャプチャする段階と；
検出サーバが前記キャプチャされたテストイメージを基準イメージと比較する段階と；
検出サーバが前記テストイメージ及び基準イメージの一致可否によって前記ストリーミングサーバの障害可否を判断する段階と；を含むことを特徴とするクラウドストリーミングサービスのためのアプリケーションエラー検出方法。
【請求項９】
クラウドストリーミングサーバから、既定のテストスクリプトキー入力に相当するテスト結果を受信し、テスト結果ビデオを生成する仮想クライアントモジュールと；
前記テスト結果ビデオをキャプチャして生成されたテスト結果イメージのうち比較対象であるレファレンス領域を生成し、前記レファレンス領域を相互比較する比較部と；
前記比較結果によって前記クラウドストリーミングサーバのうちいずれか１つ以上の障害可否を判断するテスト制御部と；を含み、
前記比較部は、
前記クラウドストリーミングサーバのうち基準サーバを定め、前記基準サーバに相当するテスト結果ビデオをキャプチャして生成されたテスト結果イメージと、他のクラウドストリーミングサーバに相当するテスト結果ビデオをキャプチャして生成されたテスト結果イメージを比較し、
前記テスト制御部は、
前記比較結果、比較される２つのイメージが互いに一致すれば、当該クラウドストリーミングサーバは障害がないと判断し、２つのイメージが互いに一致しなければ、当該クラウドストリーミングサーバに障害があると判断することを特徴とするクラウドストリーミングサーバテスト装置。
【請求項１０】
前記比較部は、
前記仮想クライアントモジュールのうちいずれか１つが前記クラウドストリーミングサーバのうちいずれか１つから繰り返された前記テストスクリプトキー入力に相当するテスト結果を受信し、動作ケースビデオを生成するように制御するモジュール制御部と；
前記動作ケースビデオをキャプチャして生成された動作ケースイメージを比較する動作ケース比較部と；
前記動作ケースイメージの比較結果によってレファレンス領域を生成するレファレンス生成部と；を含み、
前記レファレンス生成部は、
前記動作ケースイメージの比較結果、差異がない領域を検出し、前記領域をレファレンス領域として生成し、
前記モジュール制御部は、
前記基準サーバから前記テスト結果を受信するように制御することを特徴とする請求項９に記載のクラウドストリーミングサーバテスト装置。
【請求項１１】
前記他のクラウドストリーミングサーバに相当する前記テスト結果イメージは、
前記基準サーバに相当するテスト結果イメージと同一時点にキャプチャされることを特徴とする請求項９に記載のクラウドストリーミングサーバテスト装置。
【請求項１２】
仮想クライアントモジュールが、クラウドストリーミングサーバから伝送されたテスト結果を受信し、テスト結果ビデオを生成する段階と；
前記テスト結果イメージを比較するとき、比較対象であるレファレンス領域を生成する段階と；
前記テスト結果ビデオをキャプチャして生成されたテスト結果イメージのうち前記レファレンス領域を相互比較する段階と；
前記比較結果によって前記クラウドストリーミングサーバのうちいずれか１つ以上に障害が発生したと判断する段階と；を含むことを特徴とするクラウドストリーミングサーバテスト方法。
【請求項１３】
請求項８または１２に記載の方法を実行するためのプログラムが記録された記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、アプリケーションエラー検出方法に関し、より詳細には、クラウドストリーミングサービスを提供するサーバの正常動作可否を、サーバで実行されるアプリケーション実行データを基準イメージと比較することによって、障害可否を確認できるようにするクラウドストリーミングサービスのためのアプリケーションエラー検出方法、そのための装置及びシステムに関する。
【０００２】
本発明は、２０１４年１月１４日に出願された韓国特許出願第１０−２０１４−０００４４００号、２０１４年１月１４日に出願された韓国特許出願第１０−２０１４−０００４６００号、２０１４年４月２２日に出願された韓国特許出願第１０−２０１４−００４８０５９号及び２０１４年５月２７日に出願された韓国特許出願第１０−２０１４−００６３７８２号の出願日の利益を主張し、その内容の全部は、本明細書に含まれる。
【背景技術】
【０００３】
クラウドコンピューティングというのは、インターネット基盤のコンピュータ技術を意味するもので、ユーザが必要なソフトウェアを自分のコンピュータに設置しなくても、インターネット接続を介していつでも使用でき、ソフトウェア駆動において要求される高価のハードウェアをも容易に共有できるコンピューティングサービスを意味する。すなわち、個人がウェブに接続し、フォトショップ（登録商標）、オフィス等高仕様のソフトウェアを利用でき、これに対するデータ格納もウェブ上で行われる。結局、１つのクラウドコンピューティングサーバ群に多くの人が接続し、個人作業を行うことができる。
【０００４】
ＩＴ技術及びアプリケーション市場が発達するに伴い、ユーザが個人所有の端末装置を介して処理するデータ量が急激に増加している。この場合、クラウドコンピューティングシステムは、このようなデータ処理量の増加に対する解決策になり得る。また、クラウドコンピューティングシステムは、端末装置の小型化の基礎になり得る。
【０００５】
例えば、大容量の映像処理が要求されるソフトウェアを実行するに際して、クラウドコンピューティング基盤のサーバを介して前記ソフトウェアを実行するようにし、当該実行結果画面のみをストリーミング技術を利用してユーザの端末機に伝送することによって、ユーザが端末機を介して高仕様のソフトウェアを利用できる。
【０００６】
このように、ユーザの端末装置を利用して、端末装置は、クラウドコンピューティングサーバにソフトウェア実行に対する要請のみを伝送し、クラウドコンピューティングサーバは、ユーザが要請したソフトウェアの実行画面をストリーミングを介してユーザに提供する技術をクラウドストリーミングサービスと言う。
【０００７】
このようなクラウドストリーミングサービス提供のためには、サーバで実行されるアプリケーションが正確に実行されているか、エラー存在有無を検査する技術の必要性が切実に提起されている。
【０００８】
また、クラウドストリーミングサービスを提供するためには、クラウドストリーミングサーバが同時に多数のアプリケーションを実行し、その結果を提供しなければならない。クラウドストリーミングサーバの性能を測定するために、従来には、手動で実行されるアプリケーションの数を設定し、入力を与えながら実行させ、一定の時間の間に人が使用されるシステム資源の変化を観察して、アプリケーションを増やす方式のテストを行った。しかし、このような方式は、労動力が多く必要であり、管理者の間違いによるテストエラーが頻繁に発生する問題点がある。したがって、自動で行うことができる新しいクラウドストリーミングサーバテスト技術の必要性が切実に提起されている。
【０００９】
また、クラウドストリーミングサービス基盤のコンピューティング環境においては、サーバで主要サービスや機能が実行されるため、サーバの障害可否をあらかじめ感知するための技術開発が要求される。
【００１０】
また、クラウドストリーミング管理サーバに問題が発生しても、迅速にクラウドストリーミングサーバの情報を取り集め、再構成して、サービスを再開できる新しいクラウドストリーミングサーバ管理技術の必要性が切実に提起されている。
【発明の概要】
【発明が解決しようとする課題】
【００１１】
本発明の目的は、ストリーミングサーバで実行されるアプリケーションに対して、アプリケーションの実行画面と基準イメージが一致するか否かを判断することによって、アプリケーションエラーを検出する方法を提供することにある。
【００１２】
また、本発明の目的は、ストリーミングサーバのアプリケーション実行データを仮想クライアントモジュールに受信し、仮想クライアントモジュールから出力されたアプリケーションの実行画面を利用してアプリケーションエラーを検出することによって、よりユーザの立場でアプリケーションエラーを検出できるアプリケーションエラー検出方法を提供することにある。
【００１３】
また、本発明の目的は、アプリケーションの実行画面のうちキーフレームに対してだけアプリケーションエラー検出を行うことによって、一層効率的にアプリケーションエラーを検出できるアプリケーションエラー検出方法を提供することにある。
【００１４】
また、本発明の目的は、クラウドストリーミングサーバの最適の実行可能なアプリケーション数をテストすることにある。
【００１５】
また、本発明の目的は、クラウドストリーミングサーバのテストをオートテスティングスクリプトによって自動化して労動力を節減し、管理者の間違いによるテストエラーを減少させることにある。
【００１６】
また、本発明の目的は、クラウドストリーミングサーバのテスト中にシステム資源の利用率が最大となる最大負荷地点を把握し、最大負荷地点までにテストを行うことによって、全体テスト時間を短縮することにある。
【００１７】
また、本発明の目的は、クラウドストリーミングサーバのテスト結果をクラウドストリーミングサービスに活用して、ユーザに効率的で且つ適切なサービスを提供することにある。
【００１８】
また、本発明の目的は、複数個のクラウドストリーミングサーバからテスト結果画面を提供されて、互いに比較し、クラウドストリーミングサーバに発生した障害を感知するに際して、適切なタイミングにテスト結果画面をキャプチャして、テストエラーを防止することにある。
【００１９】
また、本発明の目的は、キャプチャしたテスト結果画面を比較するとき、同一の入力に対して差異が発生しない領域に対してだけ比較することによって、テストの信頼度を高めることにある。
【００２０】
また、本発明の目的は、クラウドストリーミング管理サーバを利用して効率的にクラウドストリーミングサーバを管理することにある。
【００２１】
また、本発明の目的は、クラウドストリーミングサーバのうち代表サーバを決定して、クラウドストリーミングサーバの情報のバックアップ本を格納するようにすることにある。
【００２２】
また、本発明の目的は、クラウドストリーミング管理サーバのデータベースに問題が発生したとき、代表サーバからバックアップ本を受信して、迅速に復旧することにある。
【００２３】
また、本発明の目的は、クラウドストリーミング管理サーバのデータベースの問題に起因してサービスが中断されたとき、最大限早い時間内にサービスを再開できるようにすることにある。
【課題を解決するための手段】
【００２４】
前記目的を達成するための本発明によるクラウドストリーミングサービスのためのアプリケーションエラー検出装置は、それぞれ互いに異なるストリーミングサーバから受信したアプリケーション実行データを画面に出力するための少なくとも１つの仮想クライアントモジュールと；前記少なくとも１つの仮想クライアントモジュールから出力されたアプリケーション実行データをキャプチャし、前記キャプチャされたテストイメージを基準イメージと比較する比較部と；前記テストイメージ及び基準イメージの一致可否によって前記ストリーミングサーバの障害可否を判断するテスト制御部とを含む。
【００２５】
この際、比較部は、前記少なくとも１つの仮想クライアントモジュールのうちいずれか１つの仮想クライアントモジュールから出力されたアプリケーション実行データをキャプチャし、前記基準イメージとして設定できる。
【００２６】
この際、比較部は、前記アプリケーション実行データのキーフレームをキャプチャし、前記基準イメージとして設定できる。
【００２７】
この際、比較部は、前記少なくとも１つの仮想クライアントモジュールから出力されたアプリケーション実行データのうち互いに一致する画面をキャプチャし、前記基準イメージとして設定できる。
【００２８】
この際、比較部は、前記少なくとも１つの仮想クライアントモジュールから出力されたアプリケーション実行データのキーフレームのうち互いに一致するキーフレームをキャプチャし、前記基準イメージとして設定できる。
【００２９】
この際、テスト制御部は、前記テストイメージ及び基準イメージが互いに一致する場合、前記ストリーミングサーバは障害がないものと判断し、前記テストイメージ及び基準イメージが互いに一致しない場合、前記ストリーミングサーバに障害があるものと判断できる。
【００３０】
この際、仮想クライアントモジュールは、キーフレームだけが含まれた前記アプリケーション実行データを出力できる。
【００３１】
また、本発明によるクラウドストリーミングサービスのためのアプリケーションエラー検出方法は、検出サーバが少なくとも１つの仮想クライアントモジュールを介して少なくとも１つのストリーミングサーバから受信したアプリケーション実行データを画面に出力させる段階と；検出サーバが前記少なくとも１つの仮想クライアントモジュールから出力されたアプリケーション実行データをキャプチャする段階と；検出サーバが前記キャプチャされたテストイメージを基準イメージと比較する段階と；検出サーバが前記テストイメージ及び基準イメージの一致可否によって前記ストリーミングサーバの障害可否を判断する段階とを含む。
【００３２】
この際、テストイメージを基準イメージと比較する段階は、前記少なくとも１つの仮想クライアントモジュールのうちいずれか１つの仮想クライアントモジュールから出力されたアプリケーション実行データをキャプチャし、前記基準イメージとして設定できる。
【００３３】
この際、テストイメージを基準イメージと比較する段階は、前記アプリケーション実行データのキーフレームをキャプチャし、前記基準イメージとして設定できる。
【００３４】
この際、テストイメージを基準イメージと比較する段階は、前記少なくとも１つの仮想クライアントモジュールから出力されたアプリケーション実行データのうち互いに一致する画面をキャプチャし、前記基準イメージとして設定できる。
【００３５】
この際、障害可否を判断する段階は、前記テストイメージ及び基準イメージが互いに一致する場合、前記ストリーミングサーバは障害がないものと判断し、前記テストイメージ及び基準イメージが互いに一致しない場合、前記ストリーミングサーバに障害があるものと判断できる。
【００３６】
この際、仮想クライアントモジュールは、キーフレームだけが含まれた前記アプリケーション実行データを出力できる。
【００３７】
また、本発明によるクラウドストリーミングサービスのためのアプリケーションエラー検出システムは、障害可否をテストのためにアプリケーション実行データを伝送する少なくとも１つのストリーミングサーバと；それぞれ互いに異なるストリーミングサーバからアプリケーション実行データを受信して画面に出力するための少なくとも１つの仮想クライアントモジュールと；を含み、前記少なくとも１つの仮想クライアントモジュールから出力されたアプリケーション実行データをキャプチャし、前記キャプチャされたテストイメージを基準イメージと比較し、前記テストイメージ及び基準イメージの一致可否によって前記ストリーミングサーバの障害可否を判断する検出サーバを含む。
【００３８】
また、前記目的を達成するための本発明によるクラウドストリーミングサーバテスト装置は、テストしようとするテストアプリケーションに相当するオートテスティングスクリプトを既定の初期条件によって自動で繰り返して実行することによって、前記テストアプリケーションを１つ以上実行してテストを繰り返して行うテスト実行部と；テストを繰り返す度にテスト中に実行されるテストアプリケーションの数である実行アプリケーション数の増加及び減少のうちいずれか１つを行うアプリケーション調節部と；テスト終了条件を満足するものと判断される場合、前記テストを終了させ、最適の実行可能なアプリケーション数を算出する適正アプリケーション数算出部とを含む。
【００３９】
この際、初期条件は、最大ＣＰＵ利用率、最大ＧＰＵ利用率、ＣＰＵ利用率とＧＰＵ利用率を確認する確認間隔、最初テストアプリケーション数、最終テストアプリケーション数及びテスト時間のうちいずれか１つ以上を含むことができる。
【００４０】
この際、テスト実行部は、前記テスト時間の間にシステム資源の利用率が最大値を記録する最大負荷地点を把握し、前記最大負荷地点までをテスト時間に再設定できる。
【００４１】
この際、システム資源の利用率は、前記ＣＰＵ利用率及び前記ＧＰＵ利用率のうちいずれか１つ以上を考慮して決定され得る。
【００４２】
この際、テスト実行部は、前記最初テストアプリケーション数が前記最終テストアプリケーション数より小さい場合、アプリケーション増加テストモードに入ることができる。
【００４３】
この際、アプリケーション増加テストモードは、前記テスト終了条件を満足しないものと判断されれば、前記実行アプリケーション数を増加させて前記テストを繰り返すことができる。
【００４４】
この際、テスト終了条件は、前記テスト時間の間に前記ＣＰＵ利用率及び前記ＧＰＵ利用率がそれぞれ前記最大ＣＰＵ利用率及び前記最大ＧＰＵ利用率以下でないか、または実行アプリケーション数が最終テストアプリケーション数と同一である場合、満足できる。
【００４５】
この際、最適の実行可能なアプリケーション数は、前記テスト終了条件を満足したときの実行アプリケーション数より１小さい数であることができる。
【００４６】
この際、テスト実行部は、前記最初テストアプリケーション数が前記最終テストアプリケーション数より大きい場合、アプリケーション減少テストモードに入ることができる。
【００４７】
この際、アプリケーション減少テストモードは、前記テスト終了条件を満足しないものと判断すれば、前記実行アプリケーション数を減少させて前記テストを繰り返すことができる。
【００４８】
この際、テスト終了条件は、前記テスト時間の間に前記ＣＰＵ利用率及び前記ＧＰＵ利用率がそれぞれ前記最大ＣＰＵ利用率及び前記最大ＧＰＵ利用率以下であるか、または実行アプリケーション数が最終テストアプリケーション数と同一である場合、満足できる。
【００４９】
この際、最適の実行可能なアプリケーション数は、前記テスト終了条件を満足したときの実行アプリケーション数であることができる。
【００５０】
また、本発明によるクラウドストリーミングサーバテスト方法は、テストしようとするテストアプリケーションに相当するオートテスティングスクリプトを実行させる初期条件を設定する段階と；前記オートテスティングスクリプトを自動で繰り返して実行することによって、前記テストアプリケーションを１つ以上実行してテストを繰り返して行う段階と；テストを繰り返す度にテスト中に実行されるテストアプリケーションの数である実行アプリケーション数の増加及び減少のうちいずれか１つを行う段階と；テスト終了条件を満足するものと判断される場合、前記テストを終了させる段階と；最適の実行可能なアプリケーション数を算出する段階とを含む。
【００５１】
この際、初期条件は、最大ＣＰＵ利用率、最大ＧＰＵ利用率、ＣＰＵ利用率とＧＰＵ利用率を確認する確認間隔、最初テストアプリケーション数、最終テストアプリケーション数及びテスト時間のうちいずれか１つ以上を含むことができる。
【００５２】
この際、テストを行う段階は、前記テスト時間の間にシステム資源の利用率が最大値を記録する最大負荷地点を把握し、前記最大負荷地点までをテスト時間に再設定できる。
【００５３】
この際、テストを行う段階は、前記最初テストアプリケーション数が前記最終テストアプリケーション数より小さい場合、アプリケーション増加テストモードに入ることができる。
【００５４】
また、前記目的を達成するための本発明によるクラウドストリーミングサーバテスト装置は、クラウドストリーミングサーバから、既定のテストスクリプトキー入力に相当するテスト結果を受信し、テスト結果ビデオを生成する仮想クライアントモジュールと；前記テスト結果ビデオをキャプチャして生成されたテスト結果イメージのうち比較対象であるレファレンス領域を生成し、前記レファレンス領域を相互比較する比較部と；前記比較結果によって前記クラウドストリーミングサーバのうちいずれか１つ以上の障害可否を判断するテスト制御部とを含む。
【００５５】
この際、比較部は、前記クラウドストリーミングサーバのうち基準サーバを定め、前記基準サーバに相当するテスト結果ビデオをキャプチャして生成されたテスト結果イメージと、他のクラウドストリーミングサーバに相当するテスト結果ビデオをキャプチャして生成されたテスト結果イメージを比較できる。
【００５６】
この際、テスト制御部は、前記比較結果、比較される２つのイメージが互いに一致すれば、当該クラウドストリーミングサーバは障害がないと判断し、２つのイメージが互いに一致しなければ、当該クラウドストリーミングサーバに障害があると判断できる。
【００５７】
この際、比較部は、前記仮想クライアントモジュールのうちいずれか１つが前記クラウドストリーミングサーバのうちいずれか１つから繰り返された前記テストスクリプトキー入力に相当するテスト結果を受信して動作ケースビデオを生成するように制御するモジュール制御部と；前記動作ケースビデオをキャプチャして生成された動作ケースイメージを比較する動作ケース比較部と；前記動作ケースイメージの比較結果によってレファレンス領域を生成するレファレンス生成部とを含むことができる。
【００５８】
この際、レファレンス生成部は、前記動作ケースイメージの比較結果、差異がない領域を検出し、前記領域をレファレンス領域として生成できる。
【００５９】
この際、モジュール制御部は、前記基準サーバから前記テスト結果を受信するように制御できる。
【００６０】
この際、他のクラウドストリーミングサーバに相当する前記テスト結果イメージは、前記基準サーバに相当するテスト結果イメージと同一時点にキャプチャされ得る。
【００６１】
また、本発明によるクラウドストリーミングサーバテスト方法は、仮想クライアントモジュールが、クラウドストリーミングサーバから伝送されたテスト結果を受信してテスト結果ビデオを生成する段階と；前記テスト結果イメージを比較するとき、比較対象であるレファレンス領域を生成する段階と；前記テスト結果ビデオをキャプチャして生成されたテスト結果イメージのうち前記レファレンス領域を相互比較する段階と；前記比較結果によって前記クラウドストリーミングサーバのうちいずれか１つ以上に障害が発生したと判断する段階とを含む。
【００６２】
この際、比較する段階は、前記クラウドストリーミングサーバのうち基準サーバを定め、前記基準サーバに相当するテスト結果ビデオをキャプチャして生成されたテスト結果イメージと、他のクラウドストリーミングサーバに相当するテスト結果ビデオをキャプチャして生成されたテスト結果イメージを比較できる。
【００６３】
この際、障害が発生したと判断する段階は、前記比較結果、比較される２つのイメージが互いに一致すれば、当該クラウドストリーミングサーバは障害がないと判断し、２つのイメージが互いに一致しなければ、当該クラウドストリーミングサーバに障害があると判断できる。
【００６４】
この際、レファレンス領域を生成する段階は、前記仮想クライアントモジュールのうちいずれか１つが、前記クラウドストリーミングサーバのうちいずれか１つから繰り返された前記テストスクリプトキー入力に相当するテスト結果を受信して動作ケースビデオを生成する段階と；前記動作ケースビデオをキャプチャして生成された動作ケースイメージを比較する段階と；前記動作ケースイメージの比較結果によってレファレンス領域を生成する段階とを含むことができる。
【００６５】
この際、比較結果によってレファレンス領域を生成する段階は、前記動作ケースイメージの比較結果、差異がない領域を検出し、前記領域をレファレンス領域として生成できる。
【００６６】
この際、動作ケースビデオを生成する段階は、前記基準サーバから前記テスト結果を受信できる。
【００６７】
また、本発明によるクラウドストリーミングサーバのテストシステムは、障害可否テストのために既定のテストスクリプトキー入力に相当するテスト結果を伝送するクラウドストリーミングサーバと；前記テスト結果ビデオをキャプチャして生成されたテスト結果イメージのうち比較対象であるレファレンス領域を生成し、前記レファレンス領域を比較して前記クラウドストリーミングサーバのうち１つ以上の障害可否を判断するテスト装置とを含む。
【００６８】
また、前記目的を達成するための本発明によるクラウドストリーミング管理サーバは、複数のクラウドストリーミングサーバのリアルタイム負荷情報をモニタリングするモニタリング部と；前記複数のクラウドストリーミングサーバのプロパティを格納する格納部と；前記リアルタイム負荷情報に基づいて前記複数のクラウドストリーミングサーバのうち代表サーバと下位サーバを決定する代表サーバ決定部と；前記格納部に問題が発生した場合、前記代表サーバから前記プロパティのバックアップ本を受信し、前記格納部を復元する復元部とを含む。
【００６９】
この際、代表サーバは、前記下位サーバからプロパティを受信し、前記受信したプロパティのバックアップ本を格納できる。
【００７０】
この際、代表サーバ決定部は、前記代表サーバが前記下位サーバのプロパティのバックアップ本を要請できるように、前記代表サーバに前記下位サーバのリストを伝送できる。
【００７１】
この際、代表サーバ決定部は、前記複数のクラウドストリーミングサーバを複数のグループに分け、前記リアルタイム負荷情報に基づいて各グループ別に代表サーバと下位サーバを決定できる。
【００７２】
また、本発明によるクラウドストリーミングサーバは、クラウドストリーミングサーバのプロパティを格納する格納部と；前記プロパティを代表サーバ及びクラウドストリーミング管理サーバのうちいずれか１つ以上に伝送する通信部と；前記代表サーバの要請を受ければ、前記クラウドストリーミングサーバの負荷によって前記プロパティの伝送を制御する制御部とを含む。
【００７３】
この際、クラウドストリーミングサーバは、クラウドストリーミング管理サーバから代表サーバに決定された場合、前記格納部は、下位サーバのプロパティのバックアップ本をさらに格納し、前記通信部は、前記クラウドストリーミング管理サーバの要請を受けて前記バックアップ本を伝送できる。
【００７４】
この際、クラウドストリーミングサーバは、前記クラウドストリーミング管理サーバから前記下位サーバのリストを受信し、前記下位サーバにバックアップ本の伝送を要請できる。
【００７５】
この際、制御部は、前記負荷が既定の程度より低い場合、前記プロパティを前記代表サーバ及び前記クラウドストリーミング管理サーバに伝送するように制御し、そうではない場合、前記プロパティを前記代表サーバにのみ伝送するように制御できる。
【００７６】
また、本発明によるクラウドストリーミングサーバ管理方法は、複数のクラウドストリーミングサーバのリアルタイム負荷情報をモニタリングする段階と；前記複数のクラウドストリーミングサーバのプロパティを格納する段階と；前記リアルタイム負荷情報に基づいて前記複数のクラウドストリーミングサーバのうち代表サーバと下位サーバを決定する段階と；前記格納されたプロパティに問題が発生したか否かを感知する段階と；前記格納されたプロパティに問題が発生した場合、前記代表サーバから前記プロパティのバックアップ本を受信し、前記格納されたプロパティを復元する段階とを含む。
【００７７】
この際、代表サーバと下位サーバを決定する段階は、前記代表サーバが前記下位サーバのプロパティのバックアップ本を要請できるように前記代表サーバに前記下位サーバのリストを伝送できる。
【００７８】
この際、代表サーバと下位サーバを決定する段階は、前記複数のクラウドストリーミングサーバを複数のグループに分け、前記リアルタイム負荷情報に基づいて各グループ別に代表サーバと下位サーバを決定できる。
【００７９】
また、本発明によるクラウドストリーミングサーバ管理方法は、クラウドストリーミングサーバのプロパティを格納する段階と；代表サーバから前記プロパティの要請を受ける段階と；前記クラウドストリーミングサーバの負荷によって前記プロパティの伝送を制御する段階と；前記プロパティを前記代表サーバ及びクラウドストリーミング管理サーバのうちいずれか１つ以上に伝送する段階とを含む。
【００８０】
この際、クラウドストリーミングサーバ管理方法は、下位サーバのプロパティのバックアップ本を格納する段階と；前記クラウドストリーミング管理サーバの要請を受信する段階と；前記バックアップ本を伝送する段階とをさらに含むことができる。
【００８１】
この際、バックアップ本を格納する段階は、前記クラウドストリーミング管理サーバから前記下位サーバのリストを受信し、前記下位サーバにバックアップ本の伝送を要請できる。
【００８２】
この際、制御する段階は、前記負荷が既定の程度より低い場合、前記プロパティを前記代表サーバ及び前記クラウドストリーミング管理サーバに伝送するように制御し、そうではない場合、前記プロパティを前記代表サーバにのみ伝送するように制御できる。
【００８３】
また、本発明によるクラウドストリーミング管理システムは、クラウドストリーミングサーバのプロパティを代表サーバ及びクラウドストリーミング管理サーバのうちいずれか１つ以上に伝送し、且つ前記クラウドストリーミング管理サーバから前記代表サーバに決定されれば、下位サーバのプロパティのバックアップ本を格納し、前記バックアップ本を前記クラウドストリーミング管理サーバに伝送する複数のクラウドストリーミングサーバと；前記複数のクラウドストリーミングサーバのプロパティを格納し、代表サーバと下位サーバを決定し、前記プロパティの格納に問題が発生した場合、前記代表サーバから前記プロパティのバックアップ本を受信して復元するクラウドストリーミング管理サーバとを含む。
【発明の効果】
【００８４】
本発明によれば、ストリーミングサーバで実行されるアプリケーションに対して、アプリケーションの実行画面と基準イメージが一致するか否かを判断することによって、アプリケーションエラーを検出可能である。
【００８５】
また、本発明は、ストリーミングサーバのアプリケーション実行データを仮想クライアントモジュールに受信し、仮想クライアントモジュールから出力されたアプリケーションの実行画面を利用してアプリケーションエラーを検出することによって、よりユーザの立場でアプリケーションエラーを検出できる。
【００８６】
また、本発明は、アプリケーションの実行画面のうちキーフレームに対してだけアプリケーションエラー検出を行うことによって、一層効率的にアプリケーションエラーを検出できる。
【００８７】
また、本発明によれば、クラウドストリーミングサーバの最適の実行可能なアプリケーション数をテストできる。
【００８８】
また、本発明は、クラウドストリーミングサーバのテストをオートテスティングスクリプトによって自動化して労動力を節減し、管理者の間違いによるテストエラーを減少させることができる。
【００８９】
また、本発明は、クラウドストリーミングサーバのテスト中にシステム資源の利用率が最大になる最大負荷地点を把握し、最大負荷地点までにテストを行うことによって、全体テスト時間を短縮できる。
【００９０】
また、本発明は、クラウドストリーミングサーバのテスト結果をクラウドストリーミングサービスに活用してユーザにさらに効率的で且つ適切なサービスを提供できる。
【００９１】
また、本発明は、クラウドストリーミングサービスを提供するサーバの正常動作可否をテストするに際して、実際クライアント端末機と少なくとも一部の機能が同一の仮想クライアントモジュールを少なくとも１つ具備し、少なくとも１つのクラウドストリーミングサーバから伝送される既定のテスト結果を少なくとも１つの仮想クライアントモジュールを介して受信し、画面に出力するようにした後、前記少なくとも１つの仮想クライアントモジュールから出力される結果イメージをキャプチャし、キャプチャした結果イメージをあらかじめ設定された基準イメージと比較し、同一であるか否かによってクラウドストリーミングサーバの正常動作可否を判断するようにすることによって、クラウドストリーミングサーバの障害を一層容易に検出できる利点がある。
【００９２】
また、このようにサーバの正常動作可否を確認できるようにすることによって、クラウドストリーミングサーバのデータ伝送エラーを事前に防止できる効果がある。
【００９３】
また、本発明は、クラウドストリーミングサービスを提供するサーバの障害をあらかじめ検出することによって、安定的なクラウドストリーミングサービスを提供できるようにして、サービス品質を向上させることができる優れた効果がある。
【００９４】
また、本発明は、キャプチャしたテスト結果画面を比較するとき、同一の入力に対して差異が発生しない領域に対してだけ比較することによって、テスト結果にエラーが発生することを防止できる。
【００９５】
また、本発明によれば、クラウドストリーミング管理サーバを利用して効率的にクラウドストリーミングサーバを管理できる。
【００９６】
また、本発明は、クラウドストリーミングサーバのうち代表サーバを決定して、クラウドストリーミングサーバの情報のバックアップ本を格納できる。
【００９７】
また、本発明は、クラウドストリーミング管理サーバのデータベースに問題が発生したとき、代表サーバからバックアップ本を受信し、迅速に復旧できる。
【００９８】
また、本発明は、クラウドストリーミング管理サーバのデータベースの問題に起因してサービスが中断したとき、最大限早い時間内にサービスを再開できる。
【図面の簡単な説明】
【００９９】
【図１】本発明の一実施例によるクラウドストリーミングサービスのためのアプリケーションエラー検出システムを示すブロック図である。
【図２】図１に示された検出サーバの一例を示すブロック図である。
【図３】本発明による仮想クライアントモジュールの一例を示すブロック図である。
【図４】本発明の一実施例によるクラウドストリーミングサービスのためのアプリケーションエラー検出方法を全体的に示す動作流れ図である。
【図５】本発明の一実施例によるクラウドストリーミングサービスのためのアプリケーションエラー検出方法を検出サーバの観点で示す動作流れ図である。
【図６】本発明の一実施例によるクラウドストリーミングサーバテスト装置の一例を示すブロック図である。
【図７】本発明の一実施例によるオートテスティングスクリプトの初期条件の一例を示すコードである。
【図８】本発明の一実施例によるテストの結果の一例を示すグラフである。
【図９】本発明の一実施例によるテストの結果の他の例を示すグラフである。
【図１０】本発明の一実施例によるテストの結果のさらに他の例を示すグラフである。
【図１１】本発明の一実施例によるクラウドストリーミングサーバテスト方法の一例を示す動作流れ図である。
【図１２】図１１に示されたアプリケーション増加テストモードの一例を示す動作流れ図である。
【図１３】図１１に示されたアプリケーション減少テストモードの一例を示す動作流れ図である。
【図１４】本発明の実施例によるクラウドストリーミングサーバのテストシステムを示す図である。
【図１５】本発明の実施例によるクラウドストリーミングサーバテスト装置を示す図である。
【図１６】図１５に示された比較部を示す図である。
【図１７】本発明の実施例によってテスト結果を受信して処理する仮想クライアントモジュールの構成を示す図である。
【図１８】本発明の一実施例によるテスト結果イメージのうちレファレンス領域を示す図である。
【図１９】本発明の実施例によるクラウドストリーミングサーバのテストシステムでのテスト過程を示す流れ図である。
【図２０】本発明の実施例によるクラウドストリーミングサーバテスト方法を示す動作流れ図である。
【図２１】図２０に示されたレファレンス領域を生成する段階を示す動作流れ図である。
【図２２】本発明の一実施例によるクラウドストリーミングサーバ管理システムを示すブロック図である。
【図２３】図２２に示されたクラウドストリーミング管理サーバの一例を示すブロック図である。
【図２４】図２２に示されたクラウドストリーミングサーバの一例を示すブロック図である。
【図２５】本発明の一実施例によるクラウドストリーミングサーバ管理方法（クラウドストリーミング管理サーバの観点）の一例を示す動作流れ図である。
【図２６】本発明の一実施例によるクラウドストリーミングサーバ管理方法（クラウドストリーミングサーバの観点）の一例を示す動作流れ図である。
【図２７】本発明の一実施例によるクラウドストリーミングサーバ管理方法を全体的に示す動作流れ図である。
【発明を実施するための形態】
【０１００】
以下、本発明の好ましい実施例を添付した図面を参照して詳しく説明する。ただし、下記の説明及び添付の図面で本発明の要旨を不明にすることができる公知機能または構成に対する詳細な説明は省略する。また、図面全体にわたって、同一の構成要素は、できるだけ同一の参照符号で示していることに留意しなければならない。
【０１０１】
以下で説明される本明細書及び請求範囲に使用された用語や単語は、通常的や辞書的な意味に限定すべきものではなく、発明者は、自分の発明を最善の方法で説明するための用語の概念で適切に定義できるという原則に即して本発明の技術的思想に符合する意味と概念に解釈すべきである。したがって、本明細書に記載した実施例と図面に示された構成は、本発明の最も好ましい一実施例に過ぎず、本発明の技術的思想をすべて代弁するものではないので、本出願時点においてこれらを代替できる多様な均等物と変形例があり得ることを理解しなければならない。また、第１、第２等の用語は、多様な構成要素を説明するために使用するものであり、１つの構成要素を他の構成要素から区別する目的だけで使用され、構成要素を限定するために使用されない。
【０１０２】
以下では、本発明の実施例による端末装置を通信網に連結され、クラウドコンピューティングシステム基盤でコンテンツをアップロードまたはダウンロードできる移動通信端末機の例を取って説明するが、端末機は、移動通信端末機に限定されたものではなく、すべての情報通信機器、マルチメディア端末機、有線端末機、固定型端末機及びＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）端末機等の多様な端末機に適用され得る。また、端末機は、携帯電話、ＰＭＰ（Ｐｏｒｔａｂｌｅ  Ｍｕｌｔｉｍｅｄｉａ  Ｐｌａｙｅｒ）、ＭＩＤ（Ｍｏｂｉｌｅ  Ｉｎｔｅｒｎｅｔ  Ｄｅｖｉｃｅ）、スマートフォン（Ｓｍａｒｔ  Ｐｈｏｎｅ）、デスクトップ（Ｄｅｓｋｔｏｐ）、タブレットパソコン（Ｔａｂｌｅｔ  ＰＣ）、ノートパソコン（Ｎｏｔｅ  ｂｏｏｋ）、ネットブック（Ｎｅｔ  ｂｏｏｋ）及び情報通信機器等のような多様な移動通信仕様を有するモバイル（Ｍｏｂｉｌｅ）端末機であるとき、有利に活用され得る。
【０１０３】
以下、本発明の一実施例によるクラウドストリーミングサービスのためのアプリケーションエラー検出システムについて説明する。
【０１０４】
図１は、本発明の一実施例によるクラウドストリーミングサービスのためのアプリケーションエラー検出システムを示すブロック図である。
【０１０５】
図１を参照すれば、本発明の一実施例によるクラウドストリーミングサービスのためのアプリケーションエラー検出システムは、通信網１１０を介して連結された多数のクライアント１００、１０１、１０２と多数のストリーミングサーバ１３０、１４０、１５０を含むクラウドストリーミングシステムを含み、本発明は、このようなクラウドストリーミングシステムの正常動作可否をテストするために、多数のストリーミングサーバ１３０、１４０、１５０と通信網１１０を介して連結され、多数のクライアント１００、１０１、１０２の機能のうち一部を行う仮想クライアントモジュールを含む検出サーバ１２０を含む。
【０１０６】
以下の実施例では、３個のストリーミングサーバ１３０、１４０、１５０及び３個の仮想クライアントモジュールを含む検出サーバ１２０を例示して説明するが、ストリーミングサーバの数及び仮想クライアントの数は、これに限定されず、必要及び設計に応じて、多様な組合せで具現され得る。
【０１０７】
クライアント１００、１０１、１０２は、通信網１１０を経由して各種データを送受信できる端末装置を意味し、特にストリーミングサーバ１３０、１４０、１５０に接続してクラウドストリーミングサービスを提供するユーザー側の端末装置を意味する。
【０１０８】
例えば、クライアント１００、１０１、１０２は、ＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）、ノートパソコン、携帯電話（ｍｏｂｉｌｅ  ｐｈｏｎｅ）、タブレットパソコン、ナビゲーション（ｎａｖｉｇａｔｉｏｎ）、スマートフォン（ｓｍａｒｔ  ｐｈｏｎｅ）、ＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔｓ）、ＰＭＰ（Ｐｏｒｔａｂｌｅ  Ｍｕｌｔｉｍｅｄｉａ  Ｐｌａｙｅｒ）またはＤＶＢ（Ｄｉｇｉｔａｌ  Ｖｉｄｅｏ  Ｂｒｏａｄｃａｓｔｉｎｇ）のようなデジタル放送受信機を含むことができる。
【０１０９】
また、クライアント１００、１０１、１０２は、通信網１１０を経由してストリーミングサーバ１３０、１４０、１５０と通信するためのブラウザー、プログラム及びプロトコルを格納するメモリ、各種プログラムを実行して演算及び制御するためのマイクロプロセッサー等を具備している端末装置を意味する。
【０１１０】
すなわち、クライアント１００、１０１、１０２は、ストリーミングサーバ１３０、１４０、１５０と通信が可能であれば、いずれの端末装置も可能であり、ノートパソコン、移動通信端末機、ＰＤＡ等の通信コンピュータ装置をすべて含む広い概念である。
【０１１１】
このようなクライアント１００、１０１、１０２は、例えば、ストリーミングサーバ１３０、１４０、１５０に接続し、ユーザの入力によって特定サービスまたは機能を要請し、要請されたサービスまたは機能の実行による結果画面をストリーミングサーバ１３０、１４０、１５０から受信して出力できる。
【０１１２】
ストリーミングサーバ１３０、１４０、１５０は、通信網１１０を介して多数のクライアント１００、１０１、１０２に特定サービスや機能を提供する構成であって、特にクラウドストリーミングサービスを提供できる。
【０１１３】
例えば、ストリーミングサーバ１３０、１４０、１５０は、クライアント１００、１０１、１０２のＯＳ種類、ＣＰＵ性能、メモリ容量、その他ソフトウェア及びハードウェア仕様に関係なく、所定のサービスや機能を提供できる。
【０１１４】
例えば、高性能のイメージ処理を必要とするサービスや機能を提供できるように、クライアント１００、１０１、１０２から伝送されたユーザ入力によるサービスあるいは機能を行い、その結果画面をクライアント１００、１０１、１０２に伝送できる。このために、ストリーミングサーバ１３０、１４０、１５０は、画面仮想化機能を具備できる。特に、本発明においてストリーミングサーバ１３０、１４０、１５０は、アプリケーションの正常動作可否をテストするために、アプリケーション実行データを検出サーバ１２０の各仮想クライアントモジュールに伝送できる。ここで、正常動作可否というのは、ストリーミングサーバ１３０、１４０、１５０内で実行されるアプリケーションが障害なしに正常に駆動するか否かを意味する。
【０１１５】
この際、通信網１１０は、多様な形態の通信網が利用され得、限定された地域内で各種情報装置の通信を提供する有無線近距離通信網、移動体相互間及び移動体と移動体外部との通信を提供する移動通信網、衛星を利用して地球局と地球局間の通信を提供する衛星通信網であるか、有無線通信網のうちいずれか１つであるか、２つ以上の結合よりなることができる。一方、記述した通信網の伝送方式標準は、既存の伝送方式標準に限定されるものではなく、以後開発されるすべての伝送方式標準を含むことができる。
【０１１６】
また、図１でクライアント１００、１０１、１０２及びストリーミングサーバ１３０、１４０、１５０間の通信網は、ストリーミングサーバ１３０、１４０、１５０及び検出サーバ１２０間の通信網と異なってもよく、または同一であってもよい。
【０１１７】
また、図１でクライアント１００及びストリーミングサーバ１３０間の通信網、クライアント１０１及びストリーミングサーバ１４０間の通信網、クライアント１０２及びストリーミングサーバ１５０間の通信網は、それぞれ互いに異なってもよく、同一であってもよい。
【０１１８】
検出サーバ１２０は、ストリーミングサーバ１３０、１４０、１５０の正常動作可否をテストするための装置である。
【０１１９】
検出サーバ１２０は、クライアント１００、１０１、１０２の機能のうち一部を有する仮想クライアントモジュールを少なくとも１つを含む。
【０１２０】
この際、検出サーバ１２０は、少なくとも１つのストリーミングサーバから伝送されたアプリケーション実行データを利用して当該ストリーミングサーバの障害可否をテストする。
【０１２１】
この際、検出サーバ１２０は、それぞれ互いに異なるストリーミングサーバ１３０、１４０、１５０から受信したアプリケーション実行データを画面に出力するための少なくとも１つの仮想クライアントモジュールを含み、少なくとも１つの仮想クライアントモジュールから出力されたアプリケーション実行データをキャプチャし、キャプチャされたテストイメージを基準イメージと比較し、テストイメージ及び基準イメージの一致可否によってストリーミングサーバの障害可否を判断する。
【０１２２】
より具体的に、検出サーバ１２０は、少なくとも１つの仮想クライアントモジュールが特定ストリーミングサーバ１３０から受信したアプリケーション実行データに対してデコーディング等のデータ処理を行った後、画面に出力すれば、所定のキャプチャ時点にイメージとあらかじめ設定されたイメージを比較し、互いに一致すれば、当該ストリーミングサーバ１３０が正常動作するものと判断する。この際、キャプチャ時点は、少なくとも１つのストリーミングサーバからアプリケーション実行データが伝送される時点を基準に設定され得、検出サーバ１２０にあらかじめ格納されていてもよい。
【０１２３】
このように、本発明によるクラウドストリーミングサービスのためのアプリケーションエラー検出装置は、検出サーバ１２０の仮想クライアントモジュールがそれぞれ互いに異なるストリーミングサーバ１３０、１４０、１５０からアプリケーション実行データを受信して出力したテストイメージを基準イメージと比較し、比較結果によって当該サーバの正常動作可否を判断するものである。すなわち、クライアント１００、１０１、１０２でユーザに提供する画面イメージを基準として各ストリーミングサーバ１３０、１４０、１５０の正常動作可否を判断するものである。このために、検出サーバ１２０は、少なくとも１つのストリーミングサーバに同時にアプリケーション実行データの伝送を要請でき、このような要請信号によって各ストリーミングサーバ１３０、１４０、１５０は、アプリケーション実行データを伝送できる。また、少なくとも１つのストリーミングサーバから伝送されたアプリケーション実行データを受信して処理する仮想クライアントモジュールは、あらかじめ設定されていてもよい。すなわち、少なくとも１つのストリーミングサーバと少なくとも１つの仮想クライアントモジュールは、一対一あるいは多対一でマッピングされ得る。これにより、検出サーバ１２０は、少なくとも１つのストリーミングサーバにアプリケーション実行データ伝送を要請するとき、アプリケーション実行データを伝送する仮想クライアントモジュールに対する情報を一緒に伝送でき、仮想クライアントモジュールが２つ以上のストリーミングサーバとマッピングされる場合、２つ以上のストリーミングサーバからアプリケーション実行データを順に受信して処理できるように、少なくとも１つのストリーミングサーバからのアプリケーション実行データ伝送の要請時点を調整できる。
【０１２４】
このように構成されたシステムにおいて添付の図２及び図３を参照して、本発明の実施例による検出サーバ１２０の構成を具体的に説明する。
【０１２５】
以下、本発明の一実施例によるクラウドストリーミングサービスのためのアプリケーションエラー検出装置について説明する。
【０１２６】
図２は、図１に示された検出サーバ１２０の一例を示すブロック図である。
【０１２７】
図２を参照すれば、図１に示された検出サーバ１２０は、テスト制御部２００、格納部２１０、比較部２２０、入力部２３０、出力部２４０及び少なくとも１つの仮想クライアントモジュール２５０、２５２、２５４を含む。
【０１２８】
本実施例において仮想クライアントモジュール２５０、２５２、２５４の数を３個で例示したが、仮想クライアントモジュール２５０、２５２、２５４の数は、システム運用によって変更され得る。
【０１２９】
テスト制御部２００は、ストリーミングサーバ１３０、１４０、１５０の障害可否判断に必要なすべての制御を行う。
【０１３０】
また、テスト制御部２００は、障害可否の判断の要求時に、比較部２２０を介して行われた比較結果、すなわちテストイメージ及び基準イメージの一致可否によってストリーミングサーバの障害可否を判断する。
【０１３１】
この際、テスト制御部２００は、テストイメージ及び基準イメージが互いに一致する場合、ストリーミングサーバは障害がないものと判断し、テストイメージ及び基準イメージが互いに一致しない場合、ストリーミングサーバに障害があるものと判断できる。
【０１３２】
この際、障害可否判断要求時点は、仮想クライアントモジュール２５０、２５２、２５４にデータ受信が感知され、受信が完了した時点、または入力部２３０を介してユーザから障害可否の判断の要求の入力がある時点、またはあらかじめ設定された周期による時点であることができる。
【０１３３】
このように、障害可否の判断の要求は、設定によって発生し得る。
【０１３４】
また、基準イメージは、あらかじめ格納され得るが、比較部２２０によって、少なくとも１つの仮想クライアントモジュール２５０、２５２、２５４のうち特定の仮想クライアントモジュールから出力されたイメージを基準イメージとして設定できる。
【０１３５】
また、比較部２２０によって、少なくとも１つの仮想クライアントモジュール２５０、２５２、２５４から出力されたイメージのうち互いに一致する第１グループのイメージを基準イメージとして設定できる。
【０１３６】
格納部２１０は、検出サーバ１２０の動作に必要な情報を格納できる。
【０１３７】
この際、格納部２１０は、少なくとも１つのストリーミングサーバ１３０、１４０、１５０から伝送されたアプリケーション実行データを同一の時点にキャプチャするためにキャプチャ時点の情報を格納できる。
【０１３８】
また、格納部２１０は、ストリーミングサーバ１３０、１４０、１５０から伝送されるアプリケーション実行データに対する基本情報を格納し、特にストリーミングサーバ１３０、１４０、１５０の障害可否を判断するための基準となる特定の時点の基準イメージをあらかじめ格納できる。
【０１３９】
この際、格納部２１０は、ハードディスク、プロッピィーディスク及び磁気テープのような磁気媒体（Ｍａｇｎｅｔｉｃ  Ｍｅｄｉａ）、ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｋ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｉｄｅｏ  Ｄｉｓｋ）のような光記録媒体（Ｏｐｔｉｃａｌ  Ｍｅｄｉａ）、フロプティカルディスク（Ｆｌｏｐｔｉｃａｌ  Ｄｉｓｋ）のような磁気−光媒体（Ｍａｇｎｅｔｏ−ｏｐｔｉｃａｌ  Ｍｅｄｉａ）及びロム（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ；ＲＯＭ）、ラム（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ；ＲＡＭ）、フラッシュメモリ（Ｆｌａｓｈ  Ｍｅｍｏｒｙ）を含む。
【０１４０】
比較部２２０は、テスト制御部２００の制御によってそれぞれの仮想クライアントモジュール２５０、２５２、２５４から出力されたアプリケーション実行データをキャプチャし、キャプチャされたテストイメージを基準イメージと比較する。
【０１４１】
この際、比較部２２０は、少なくとも１つの仮想クライアントモジュールのうちいずれか１つの仮想クライアントモジュールから出力されたアプリケーション実行データをキャプチャし、基準イメージとして設定できる。
【０１４２】
この際、比較部２２０は、アプリケーション実行データのキーフレームをキャプチャし、基準イメージとして設定できる。
【０１４３】
この際、比較部２２０は、少なくとも１つの仮想クライアントモジュールから出力されたアプリケーション実行データのうち互いに一致する画面をキャプチャし、基準イメージとして設定できる。
【０１４４】
この際、比較部２２０は、少なくとも１つの仮想クライアントモジュールから出力されたアプリケーション実行データのキーフレームのうち互いに一致するキーフレームをキャプチャし、基準イメージとして設定できる。
【０１４５】
入力部２３０は、サーバ管理者の操作によってサーバ管理者の要請や情報に該当するユーザ入力信号を発生でき、現在商用化されているか、以後商用化が可能な多様な入力手段で具現され得る。
【０１４６】
例えば、入力部２３０は、キーボード、マウス、ジョイスティック、タッチスクリーン、タッチパッド等のような一般的な入力装置だけでなく、ユーザのモーションを感知して特定の入力信号を発生するジェスチャ入力手段を含むことができる。
【０１４７】
出力部２４０は、検出サーバ１２０の動作結果や状態をユーザが認識できるように提供する手段で具現され得る。
【０１４８】
例えば、出力部２４０は、画面を介して視覚的に出力する表示手段や、可聴音を出力するスピーカー等を含むことができる。
【０１４９】
特に、本発明によるクラウドストリーミングサービスのためのアプリケーションエラー検出装置において、出力部２４０は、少なくとも１つの仮想クライアントモジュール２５０、２５２、２５４から処理されて出力されるテストイメージを視覚的に出力でき、テストイメージと基準イメージを比較して出力するか、ストリーミングサーバの障害可否の結果を表示できる。
【０１５０】
仮想クライアントモジュール２５０、２５２、２５４は、ストリーミングサーバ１３０、１４０、１５０に接続し、クラウドストリーミングサービスを提供されるクライアント１００、１０１、１０２を仮想化した構成であって、クライアント１００、１０１、１０２の機能のうち一部を行うことができる。
【０１５１】
例えば、仮想クライアントモジュール２５０、２５２、２５４は、特定のストリーミングサーバ１３０、１４０、１５０に接続し、特定のストリーミングサーバ１３０、１４０、１５０からそれぞれのアプリケーション実行データを受信できる。
【０１５２】
このような仮想クライアントモジュール２５０、２５２、２５４は、ストリーミングサーバ１３０、１４０、１５０から提供されるデータを受信できる端末装置であることができる。
【０１５３】
例えば、仮想クライアントモジュール２５０、２５２、２５４は、携帯電話、ＰＭＰ（Ｐｏｒｔａｂｌｅ  Ｍｕｌｔｉｍｅｄｉａ  Ｐｌａｙｅｒ）、ＭＩＤ（Ｍｏｂｉｌｅ  Ｉｎｔｅｒｎｅｔ  Ｄｅｖｉｃｅ）、スマートフォン（Ｓｍａｒｔ  Ｐｈｏｎｅ）、デスクトップ（Ｄｅｓｋｔｏｐ）、タブレットパソコン（Ｔａｂｌｅｔ  ＰＣ）、ノートパソコン（Ｎｏｔｅ  ｂｏｏｋ）、ネットブック（Ｎｅｔ  ｂｏｏｋ）、個人携帯用情報端末機（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔ；ＰＤＡ）、スマートテレビ及び情報通信機器等のような多様な移動通信仕様を有するモバイル（Ｍｏｂｉｌｅ）端末機のうちいずれか１つを仮想化して具現され得る。
【０１５４】
したがって、仮想クライアントモジュール２５０、２５２、２５４は、どんな種類の端末装置であるかによってその構成が相異に構成される。
【０１５５】
特に、本発明のクラウドストリーミングサービスのためのアプリケーションエラー検出装置において、仮想クライアントモジュール２５０、２５２、２５４は、アプリケーション実行データの受信及び受信画面イメージのデコーディング及び画面出力機能まで行うように具現され得る。
【０１５６】
すなわち、仮想クライアントモジュール２５０、２５２、２５４は、受信されたアプリケーション実行データに対してクライアント１００、１０１、１０２と同一の処理を行って、出力部２４０を介して画面に出力できる。
【０１５７】
例えば、仮想クライアントモジュール２５０、２５２、２５４は、受信されたアプリケーション実行データに対してクライアント１００、１０１、１０２のようにデコーディングを行い、出力部２４０を介して画面に出力できる。
【０１５８】
この際、仮想クライアントモジュール２５０、２５２、２５４は、比較部２２０のキャプチャ要求によって、特定の時点に画面に出力される結果をキャプチャして、比較部２２０に伝達できる。
【０１５９】
この際、キャプチャ時点は、比較部２２０から受信してもよく、あらかじめ設定して格納していてもよい。
【０１６０】
この際、仮想クライアントモジュール２５０、２５２、２５４は、キーフレームだけが含まれたアプリケーション実行データを出力できる。
【０１６１】
この際、キャプチャされたテストイメージは、仮想クライアントモジュール２５０、２５２、２５４のフレームバッファに格納されたイメージデータをキャプチャする方式よりなることができる。
【０１６２】
このような仮想クライアントモジュール２５０、２５２、２５４の内部構成は、図３のように示されることができる。
【０１６３】
それぞれの仮想クライアントモジュールの内部構成は同一なので、図３の説明では、いずれか１つの仮想クライアントモジュール２５０の内部構成を例示して説明する。
【０１６４】
図３は、本発明による仮想クライアントモジュール２５０の一例を示すブロック図である。
【０１６５】
図３を参照すれば、仮想クライアントモジュール２５０は、制御部３００、通信部３０２及び格納部３０４を含む。
【０１６６】
制御部３００は、仮想クライアントモジュール２５０の全般的な制御を行い、比較部２２０の要請に従ってストリーミングサーバ１３０、１４０、１５０から特定の時点に画面に出力されるテストイメージを抽出し、比較部２２０に伝達する。
【０１６７】
また、制御部３００は、通信部３０２を介してストリーミングサーバ１３０、１４０、１５０にアプリケーション実行データ伝送要請信号を伝送できる。
【０１６８】
この際、制御部３００は、アプリケーション実行データ伝送要請信号を伝送するとき、アプリケーション実行データを伝送した仮想クライアントモジュールの識別情報を一緒に伝送でき、多数のストリーミングサーバのスケジュールによって各ストリーミングサーバのアプリケーション実行データ伝送要請信号を順次に伝送できる。
【０１６９】
通信部３０２は、通信網１１０を介してストリーミングサーバ１３０、１４０、１５０から伝送されたアプリケーション実行データを受信する。
【０１７０】
この際、通信部３０２は、有線方式及び無線方式を含んで多様な通信方式を介してデータを送受信できる。
【０１７１】
この際、通信部３０２は、それぞれ互いに異なる通信方式によってデータを送信する複数の通信モジュールを含むことができる。
【０１７２】
格納部３０４は、仮想クライアントモジュール２５０の動作に必要な情報を格納する。
【０１７３】
特に、格納部３０４は、ストリーミングサーバ１３０、１４０、１５０から受信したアプリケーション実行データを格納できる。
【０１７４】
また、格納部３０４は、受信したアプリケーション実行データに対して所定のデータ処理を行い、最終的に画面に出力されたテストイメージを格納できる。
【０１７５】
また、格納部３０４は、設定によってテストイメージのキャプチャ時点情報をあらかじめ格納できる。
【０１７６】
この際、格納部３０４は、ハードディスク、プロッピィーディスク及び磁気テープのような磁気媒体（Ｍａｇｎｅｔｉｃ  Ｍｅｄｉａ）、ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｋ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｉｄｅｏ  Ｄｉｓｋ）のような光記録媒体（Ｏｐｔｉｃａｌ  Ｍｅｄｉａ）、フロプティカルディスク（Ｆｌｏｐｔｉｃａｌ  Ｄｉｓｋ）のような磁気−光媒体（Ｍａｇｎｅｔｏ−ｏｐｔｉｃａｌ  Ｍｅｄｉａ）及びロム（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ；ＲＯＭ）、ラム（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ；ＲＡＭ）、フラッシュメモリ（Ｆｌａｓｈ  Ｍｅｍｏｒｙ）を含む。
【０１７７】
それでは、上記のように構成されたクラウドストリーミングサービスのためのアプリケーションエラー検出システムにおいてサーバの正常動作可否をテストする過程について図４及び図５を参照して具体的に説明する。
【０１７８】
図４は、本発明の一実施例によるクラウドストリーミングサービスのためのアプリケーションエラー検出方法を全体的に示す動作流れ図である。
【０１７９】
本発明の一実施例によるクラウドストリーミングサービスのためのアプリケーションエラー検出方法は、ストリーミングサーバ１３０、１４０、１５０がアプリケーション実行データを検出サーバ１２０の仮想クライアントモジュール２５０、２５２、２５４に同時に伝送する（Ｓ４０２〜Ｓ４０６）。
【０１８０】
すなわち、同時にストリーミングサーバ１３０は、仮想クライアントモジュール２５０にアプリケーション実行データを伝送し、ストリーミングサーバ１４０は、仮想クライアントモジュール２５２にアプリケーション実行データを伝送し、ストリーミングサーバ１５０は、仮想クライアントモジュール２５４にアプリケーション実行データを伝送する。
【０１８１】
また、本発明の一実施例によるクラウドストリーミングサービスのためのアプリケーションエラー検出方法は、アプリケーション実行データを受信した検出サーバ１２０のテスト制御部２００がエラー検出要請に従って比較部２２０にアプリケーション実行データ比較を要請する（Ｓ４０８、Ｓ４１０）。
【０１８２】
また、本発明の一実施例によるクラウドストリーミングサービスのためのアプリケーションエラー検出方法は、比較部２２０がそれぞれの仮想クライアントモジュール２５０、２５２、２５４にストリーミングサーバ１３０、１４０、１５０から受信したアプリケーション画面伝達を要求する（Ｓ４１２、Ｓ４１６、Ｓ４２０）。
【０１８３】
また、本発明の一実施例によるクラウドストリーミングサービスのためのアプリケーションエラー検出方法は、それぞれの仮想クライアントモジュール２５０、２５２、２５４が比較部２２０の要求によって、アプリケーション実行データを比較部２２０に伝達する。
【０１８４】
また、本発明の一実施例によるクラウドストリーミングサービスのためのアプリケーションエラー検出方法は、比較部２２０がアプリケーション実行データを特定の時点にキャプチャしてテストイメージを獲得する（Ｓ４２３）。
【０１８５】
また、本発明の一実施例によるクラウドストリーミングサービスのためのアプリケーションエラー検出方法は、比較部２２０がテストイメージと既定の基準イメージを比較する（Ｓ４２４）。
【０１８６】
また、本発明の一実施例によるクラウドストリーミングサービスのためのアプリケーションエラー検出方法は、段階Ｓ４２４に先立って基準イメージを設定する過程をさらに行うことができる。
【０１８７】
また、本発明の一実施例によるクラウドストリーミングサービスのためのアプリケーションエラー検出方法は、比較結果をテスト制御部２００に伝達する（Ｓ４２６）。
【０１８８】
また、本発明の一実施例によるクラウドストリーミングサービスのためのアプリケーションエラー検出方法は、テスト制御部２００が比較結果によってサーバの障害可否を判断する（Ｓ４２８）。
【０１８９】
この際、段階Ｓ４２８は、テストイメージが基準イメージと互いに一致しなければ、当該ストリーミングサーバは障害があると判断し、互いに一致すれば、当該ストリーミングサーバは障害がないと判断する。
【０１９０】
以下、本発明の一実施例によるクラウドストリーミングサービスのためのアプリケーションエラー検出方法について検出サーバ１２０の観点で説明する。
【０１９１】
図５は、本発明の一実施例によるクラウドストリーミングサービスのためのアプリケーションエラー検出方法を検出サーバ１２０の観点で示す動作流れ図である。
【０１９２】
本発明の一実施例によるクラウドストリーミングサービスのためのアプリケーションエラー検出方法は、検出サーバ１２０がエラー検出時点になれば、具備されたすべての仮想クライアントモジュールを介してストリーミングサーバ１３０、１４０、１５０からアプリケーション実行データを受信し、受信されたアプリケーション実行データを画面に出力してキャプチャする（Ｓ５００〜Ｓ５０４）。
【０１９３】
また、本発明の一実施例によるクラウドストリーミングサービスのためのアプリケーションエラー検出方法は、段階Ｓ５０４でキャプチャしたテストイメージと基準イメージを比較し、比較結果、テストイメージと基準イメージが互いに一致しなければ、当該サーバは障害があると判断し、互いに一致すれば、当該サーバに障害がないと判断する（Ｓ５０６〜Ｓ５１０）。
【０１９４】
本発明によるクラウドストリーミングサービスのためのアプリケーションエラー検出方法は、多様なコンピュータ手段を介して行われることができるプログラムまたはスマートフォンアプリで具現され得る。この際、プログラムまたはスマートフォンアプリは、コンピュータ読み取り可能な媒体に記録され得る。前記コンピュータ読み取り可能な媒体は、プログラム命令、データファイル、データ構造等を単独でまたは組み合わせて含むことができる。前記媒体に記録されるプログラム命令は、本発明のために特別に設計され構成されたものであるか、コンピュータソフトウェア当業者に公知されて使用可能なものであってもよい。コンピュータ読み取り可能な記録媒体の例には、ハードディスク、プロッピィーディスク及び磁気テープのような磁気媒体（ｍａｇｎｅｔｉｃ  ｍｅｄｉａ）、ＣＤ−ＲＯＭ、ＤＶＤのような光記録媒体（ｏｐｔｉｃａｌ  ｍｅｄｉａ）、フロプティカルディスク（ｆｌｏｐｔｉｃａｌ  ｄｉｓｋ）のような磁気−光媒体（ｍａｇｎｅｔｏ−ｏｐｔｉｃａｌ  ｍｅｄｉａ）、及びロム（ＲＯＭ）、ラム（ＲＡＭ）、フラッシュメモリ等のようなプログラム命令を格納し実行するように特別に構成されたすべての形態のハードウェア装置が含まれる。プログラム命令の例には、コンパイラによって作われるもののような機械語コードだけでなく、インタプリタ等を使用してコンピュータによって実行され得る高級言語コードを含むことができる。このようなハードウェア装置は、本発明の動作を行うために１つ以上のソフトウェアモジュールとして作動するように構成され得、その逆も同様である。
【０１９５】
以上のように、本発明によるクラウドストリーミングサービスのためのアプリケーションエラー検出方法、そのための装置及びシステムは、前述した実施例の構成と方法が限定されるように適用され得るものではなく、前記実施例は、多様な変形が行われることができるように各実施例の全部または一部が選択的に組み合わされて構成されてもよい。
【０１９６】
以下では、本発明の一実施例によるクラウドストリーミングサーバテストシステムについて説明する。
【０１９７】
図６は、本発明の一実施例によるクラウドストリーミングサーバテスト装置の一例を示すブロック図である。
【０１９８】
図６を参照すれば、本発明の一実施例によるクラウドストリーミングサーバテスト装置は、テスト実行部１１１０、アプリケーション調節部１１２０及び適正アプリケーション数算出部１１３０を含む。
【０１９９】
テスト実行部１１１０は、テストしようとするテストアプリケーションに相当するオートテスティングスクリプトを既定の初期条件によって自動で繰り返して実行することによって、前記テストアプリケーションを１つ以上実行してテストを繰り返して行う。
【０２００】
この際、オートテスティングスクリプトは、テストを自動化するために前記テストアプリケーションに相当するキー入力を発生させ、テストを繰り返しながらテストアプリケーションを実行アプリケーション数で実行するスクリプトであることができる。
【０２０１】
この際、オートテスティングスクリプトは、ユーザが生成してもよく、自動で生成されてもよい。
【０２０２】
実施例によって、初期条件は、最大ＣＰＵ利用率、最大ＧＰＵ利用率、ＣＰＵ利用率とＧＰＵ利用率を確認する確認間隔、最初テストアプリケーション数、最終テストアプリケーション数及びテスト時間のうちいずれか１つ以上を含むことができる。
【０２０３】
この際、最大ＣＰＵ利用率は、クラウドストリーミングサーバがテストアプリケーションを安定的に実行させることができるＣＰＵ利用率の上限線であることができる。同じく、最大ＧＰＵ利用率は、クラウドストリーミングサーバがテストアプリケーションを安定的に実行させることができるＧＰＵ利用率の上限線であることができる。
【０２０４】
この際、確認間隔は、テスト時間の間にシステム資源の利用率をモニタリングするとき、前記ＣＰＵ利用率と前記ＧＰＵ利用率を確認する間隔であることができる。
【０２０５】
この際、最初テストアプリケーション数は、テストを開始するとき、最初のテストで実行するテストアプリケーションの数であることができる。
【０２０６】
この際、最終テストアプリケーション数は、テスト終了条件の満足可否の判断に使用される数であって、テスト途中に実行されるアプリケーション数の範囲を限定する数であることができる。また、前記最初テストアプリケーション数と前記最終テストアプリケーション数の大小の比較結果によってアプリケーション増加テストモード及びアプリケーション減少テストモードのうちいずれか１つに入ることができる。
【０２０７】
この際、アプリケーション増加テストモードは、少数のアプリケーションを実行して最初のテストを開始し、実行アプリケーション数を増加させながら最適の実行可能アプリケーション数を算出するテストモードであることができる。
【０２０８】
反対に、アプリケーション減少テストモードは、多数のアプリケーションを実行して最初のテストを開始し、実行アプリケーション数を減少させながら最適の実行可能アプリケーション数を算出するテストモードであることができる。
【０２０９】
この際、テスト時間は、１回のテストを進行する時間であることができる。テスト時間が経過すれば、テスト終了条件の満足可否を判断し、テストの繰り返しまたは終了を行う。
【０２１０】
実施例によって、テスト実行部１１１０は、テスト時間の間にシステム資源の利用率が最大値を記録する最大負荷地点を把握し、前記最大負荷地点までの時間をテスト時間に再設定できる。
【０２１１】
例えば、７分のテスト時間の間に５分３０秒の地点にシステム資源の利用率が最大値を記録したら、５分３０秒の地点が最大負荷地点になる。そして、５分３０秒をテスト時間に再設定するので、次のテストからは、５分３０秒の地点までにテストを行い、１分３０秒を節約できる。
【０２１２】
実施例によって、システム資源の利用率は、前記ＣＰＵ利用率及び前記ＧＰＵ利用率のうちいずれか１つ以上を考慮して決定され得る。
【０２１３】
例えば、システム資源の利用率は、ＣＰＵ利用率とＧＰＵ利用率の平均で定められることもでき、各時点でＣＰＵ利用率とＧＰＵ利用率のうちさらに高い数値をシステム資源の利用率として見なすこともできる。または、ＣＰＵ利用率が最大値を記録する地点とＧＰＵ利用率が最大値を記録する地点のうちさらに遅い地点を最大負荷地点として見なすこともできる。
【０２１４】
実施例によって、テスト実行部１１１０は、前記最初テストアプリケーション数が前記最終テストアプリケーション数より小さい場合、アプリケーション増加テストモードに入ることができる。または、前記最初テストアプリケーション数が前記最終テストアプリケーション数より大きい場合、アプリケーション減少テストモードに入ることができる。
【０２１５】
例えば、最初テストアプリケーション数が１であり、最終テストアプリケーション数が５である場合、テスト実行部１１１０は、アプリケーション増加テストモードに入ることができる。反対に、最初テストアプリケーション数が５であり、最終テストアプリケーション数が１である場合、テスト実行部１１１０は、アプリケーション減少テストモードに入ることができる。
【０２１６】
アプリケーション調節部１１２０は、テストを繰り返す度にテスト中に実行されるテストアプリケーションの数である実行アプリケーション数の増加及び減少のうちいずれか１つを行う。
【０２１７】
この際、実行アプリケーション数の増加及び減少は、テスト実行部１１１０のテストモードによって変わる。すなわち、アプリケーション増加テストモードでは、実行アプリケーション数を増加させながらテストが行われ、アプリケーション減少テストモードでは、実行アプリケーション数を減少させながらテストが行われる。
【０２１８】
適正アプリケーション数算出部１１３０は、テスト終了条件を満足するものと判断される場合、前記テストを終了させ、最適の実行可能なアプリケーション数を算出する。
【０２１９】
この際、最適の実行可能なアプリケーション数は、クラウドストリーミングサーバがテストアプリケーションを多数実行させるとき、安定的に実行させることができる上限線を示す数であることができる。
【０２２０】
この際、テスト終了条件及び最適の実行可能なアプリケーション数の算出方法は、テスト実行部１１１０のテストモードによって変わる。
【０２２１】
以下では、アプリケーション増加テストモードについて説明する。
【０２２２】
実施例によって、アプリケーション増加テストモードは、前記テスト終了条件を満足しないものと判断されれば、前記実行アプリケーション数を増加させて前記テストを繰り返すことができる。
【０２２３】
すなわち、テストを行う度にアプリケーションを１つずつさらに実行させて、テスト時間の間にシステム資源の利用率をモニタリングしながら最適の実行可能アプリケーション数を求めることができる。
【０２２４】
この際、テスト終了条件は、前記テスト時間の間に前記ＣＰＵ利用率及び前記ＧＰＵ利用率がそれぞれ前記最大ＣＰＵ利用率及び前記最大ＧＰＵ利用率以下ではない場合、満足できる。または、実行アプリケーション数が最終テストアプリケーション数と同一である場合、満足できる。
【０２２５】
すなわち、テスト時間の間にＣＰＵ利用率が最大ＣＰＵ利用率を超えるか、ＧＰＵ利用率が最大ＧＰＵ利用率を超える場合、テスト終了条件を満足できる。
【０２２６】
この際、超えた時間にかかわらず、一時的に超過しても、テスト終了条件を満足するものと判断することもでき、一定時間以上超える場合、テスト終了条件を満足するものと判断することもできる。
【０２２７】
この際、最適の実行可能なアプリケーション数は、前記テスト終了条件を満足したときの実行アプリケーション数より１小さい数であることができる。
【０２２８】
すなわち、ＣＰＵ利用率及びＧＰＵ利用率がそれぞれ最大ＣＰＵ利用率及び最大ＧＰＵ利用率を超えない最終テストでの実行アプリケーション数が最適の実行可能なアプリケーション数になる。
【０２２９】
例えば、実行アプリケーション数が４であるとき、すなわち４個のテストアプリケーションが実行中であるとき、テスト終了条件を満足したら、最適の実行可能なアプリケーション数は３であることができる。
【０２３０】
以下では、アプリケーション減少テストモードについて説明する。
【０２３１】
実施例によって、アプリケーション減少テストモードは、前記テスト終了条件を満足しないものと判断されれば、前記実行アプリケーション数を減少させて前記テストを繰り返すことができる。
【０２３２】
すなわち、テストを行う度にアプリケーションを１つずつ少なく実行させてテスト時間の間にシステム資源の利用率をモニタリングしながら最適の実行可能アプリケーション数を求めることができる。
【０２３３】
この際、テスト終了条件は、前記テスト時間の間に前記ＣＰＵ利用率及び前記ＧＰＵ利用率がそれぞれ前記最大ＣＰＵ利用率及び前記最大ＧＰＵ利用率以下である場合、満足できる。または、実行アプリケーション数が最終テストアプリケーション数と同一である場合、満足できる。
【０２３４】
すなわち、テスト時間の間にＣＰＵ利用率が最大ＣＰＵ利用率を超えず、ＧＰＵ利用率が最大ＧＰＵ利用率を超えない場合、テスト終了条件を満足できる。
【０２３５】
この際、超えた時間にかかわらず、一時的に超えても、テスト終了条件を満足しないものと判断することもでき、一定時間以上超えた場合、テスト終了条件を満足しないものと判断することもできる。
【０２３６】
この際、最適の実行可能なアプリケーション数は、前記テスト終了条件を満足したときの実行アプリケーション数であることができる。
【０２３７】
すなわち、ＣＰＵ利用率及びＧＰＵ利用率がそれぞれ最大ＣＰＵ利用率及び最大ＧＰＵ利用率を超えない最初のテストでの実行アプリケーション数が最適の実行可能なアプリケーション数になり得る。
【０２３８】
例えば、実行アプリケーション数が４であるとき、すなわち４個のテストアプリケーションが実行中であるとき、テスト終了条件を満足したら、最適の実行可能なアプリケーション数は４であることができる。
【０２３９】
図７は、本発明の一実施例によるオートテスティングスクリプトの初期条件の一例を示すコードである。
【０２４０】
図７を参照すれば、本発明の一実施例によるオートテスティングスクリプトの初期条件は、最大ＣＰＵ利用率１２１０、最大ＧＰＵ利用率１２２０、確認間隔１２３０、最初テストアプリケーション数１２４０、最終テストアプリケーション数１２５０及びテスト時間１２６０を含む。
【０２４１】
最大ＣＰＵ利用率１２１０及び最大ＧＰＵ利用率１２２０は、７０である。すなわち、テスト終了条件の満足可否を判断するときには、ＣＰＵ利用率及びＧＰＵ利用率をそれぞれ７０パーセントと比較する。
【０２４２】
この際、最大ＣＰＵ利用率１２１０は、クラウドストリーミングサーバがテストアプリケーションを安定的に実行させることができるＣＰＵ利用率の上限線であることができる。同じく、最大ＧＰＵ利用率１２２０は、クラウドストリーミングサーバがテストアプリケーションを安定的に実行させることができるＧＰＵ利用率の上限線であることができる。
【０２４３】
この際、最大ＣＰＵ利用率１２１０及び最大ＧＰＵ利用率１２２０の単位は、パーセントであることができる。
【０２４４】
この際、最大ＣＰＵ利用率１２１０と最大ＧＰＵ利用率１２２０は、異なってもよく、同一であってもよいことは自明である。
【０２４５】
確認間隔１２３０は、３秒である。
【０２４６】
この際、確認間隔１２３０は、テスト時間の間にシステム資源の利用率をモニタリングするとき、前記ＣＰＵ利用率と前記ＧＰＵ利用率を確認する間隔であることができる。
【０２４７】
すなわち、テストを行って３秒ごとに前記ＣＰＵ利用率と前記ＧＰＵ利用率を確認できる。
【０２４８】
最初テストアプリケーション数１２４０は、１であり、最終テストアプリケーション数１２５０は、５である。
【０２４９】
この際、最初テストアプリケーション数１２４０は、テストを開始するとき、最初のテストで実行するテストアプリケーションの数であることができる。
【０２５０】
この際、最終テストアプリケーション数１２５０は、テスト終了条件の満足可否の判断に使用される数であって、テスト途中に実行されるテストアプリケーション数の範囲を限定する数であることができる。
【０２５１】
この際、最初テストアプリケーション数１２４０と最終テストアプリケーション数１２５０の大小の比較結果によってアプリケーション増加テストモード及びアプリケーション減少テストモードのうちいずれか１つに入ることができる。
【０２５２】
すなわち、最初テストアプリケーション数１２４０が最終テストアプリケーション数１２５０より小さいため、アプリケーション増加テストモードに入る。
【０２５３】
テスト時間１２６０は、７分である。
【０２５４】
この際、テスト時間１２６０は、１回のテストを進行する時間であることができる。テスト時間が経過すれば、テスト終了条件の満足可否を判断し、テストの繰り返しまたは終了を行う。
【０２５５】
すなわち、テストを繰り返す度に７分間テストを進行する。この際、２番目のテストからは最大負荷地点に基づいてテスト時間が再設定され得、これによって、テスト時間が短縮され得る。
【０２５６】
以下では、図８〜図１０を参照して本発明の一実施例によるテストの結果を示すグラフを例示して説明する。この際、システム資源利用率、ＣＰＵ利用率及びＧＰＵ利用率は、確認間隔によって離散的に確認されるが、これを連結して線で描いたグラフを例示して説明する。
【０２５７】
図８は、本発明の一実施例によるテストの結果の一例を示すグラフである。
【０２５８】
以下では、図８を参照して最大負荷地点の把握及びテスト時間の再設定の一例について説明する。
【０２５９】
図８を参照すれば、本発明の一実施例によるテストの結果は、テスト時間１３１０、システム資源利用率１３２０及び最大負荷地点１３３０を含む。
【０２６０】
テスト時間１３１０は、７分であり、１回のテストは、７分間行われる。
【０２６１】
実施例によって、システム資源利用率１３２０は、ＣＰＵ利用率及びＧＰＵ利用率のうちいずれか１つ以上を考慮して決定され得る。
【０２６２】
例えば、システム資源の利用率は、ＣＰＵ利用率とＧＰＵ利用率の平均で定められることもでき、各時点でＣＰＵ利用率とＧＰＵ利用率のうちさらに高い数値をシステム資源の利用率として見なすこともできる。
【０２６３】
最大負荷地点１３３０は、システム資源利用率１３２０が最大値を記録する時点である。
【０２６４】
すなわち、５分３０秒の地点が最大負荷地点１３３０になる。
【０２６５】
この際、テスト実行部は、テスト時間１３１０の間にシステム資源利用率１３２０が最大値を記録する最大負荷地点１３３０を把握し、前記最大負荷地点１３３０までをテスト時間１３１０に再設定できる。
【０２６６】
すなわち、５分３０秒をテスト時間に再設定するので、次のテストからは５分３０秒の地点までにテストを行い、１分３０秒を節約できる。
【０２６７】
以下では、図９及び図１０を参照してアプリケーション増加テストモードの一例について説明する。
【０２６８】
図９は、本発明の一実施例によるテストの結果の他の例を示すグラフである。
【０２６９】
図９を参照すれば、本発明の一実施例によるテストの結果は、テスト時間１４１０、最大ＣＰＵ利用率及び最大ＧＰＵ利用率１４２０、ＣＰＵ利用率１４３０及びＧＰＵ利用率１４４０を含む。
【０２７０】
この際、最大ＣＰＵ利用率と最大ＧＰＵ利用率が７０パーセントと同一であり、グラフ上で１つで示されたが、最大ＣＰＵ利用率と最大ＧＰＵ利用率が異なる場合、それぞれ図示され得ることは自明である。
【０２７１】
テスト時間１４１０である５分３０秒の間にテストアプリケーションを実行し、システム資源をモニタリングした結果、ＣＰＵ利用率１４３０及びＧＰＵ利用率１４４０を得ることができる。
【０２７２】
この際、テスト時間１４１０の間にＣＰＵ利用率１４３０及びＧＰＵ利用率１４４０がそれぞれ最大ＣＰＵ利用率及び最大ＧＰＵ利用率１４２０を超えなかったので、テスト終了条件を満足しないものと判断される。
【０２７３】
したがって、実行アプリケーション数を増加させてテストを繰り返す。
【０２７４】
図１０は、本発明の一実施例によるテストの結果の他の例を示すグラフである。
【０２７５】
図１０を参照すれば、本発明の一実施例によるテストの結果は、テスト時間１５１０、最大ＣＰＵ利用率及び最大ＧＰＵ利用率１５２０、ＣＰＵ利用率１５３０及びＧＰＵ利用率１５４０を含む。
【０２７６】
この際、最大ＣＰＵ利用率と最大ＧＰＵ利用率が７０パーセントと同一であり、グラフ上で１つで図示されたが、最大ＣＰＵ利用率と最大ＧＰＵ利用率が異なる場合、それぞれ図示され得ることは自明である。
【０２７７】
テスト時間１５１０である５分３０秒の間にテストアプリケーションを実行し、システム資源をモニタリングした結果、ＣＰＵ利用率１５３０及びＧＰＵ利用率１５４０を得ることができる。
【０２７８】
この際、テスト時間１５１０の間にＣＰＵ利用率１５３０が最大ＣＰＵ利用率である７０パーセントを超えたので、テスト終了条件を満足するものと判断される。
【０２７９】
したがって、テストは終了し、最適の実行可能なアプリケーション数が算出される。
【０２８０】
この際、最適の実行可能なアプリケーション数は、前記テスト終了条件を満足したときの実行アプリケーション数より１小さい数であることができる。すなわち、ＣＰＵ利用率及びＧＰＵ利用率がそれぞれ最大ＣＰＵ利用率及び最大ＧＰＵ利用率を超えない最終テストでの実行アプリケーション数が最適の実行可能なアプリケーション数になる。
【０２８１】
例えば、実行アプリケーション数が４であれば、最適の実行可能なアプリケーション数は、１小さい３になる。
【０２８２】
図９及び図１０には示されていないが、アプリケーション減少テストモードは、これと反対にテストを行うことができる。
【０２８３】
この際、テスト時間の間にテストアプリケーションを実行し、システム資源をモニタリングした結果、ＣＰＵ利用率及びＧＰＵ利用率を得ることができる。
【０２８４】
この際、前記テスト時間の間に前記ＣＰＵ利用率及び前記ＧＰＵ利用率がそれぞれ前記最大ＣＰＵ利用率及び前記最大ＧＰＵ利用率以下でない場合、テスト終了条件を満足しないものと判断し、実行アプリケーション数を減少させてテストを繰り返すことができる。
【０２８５】
この際、テスト終了条件を満足するものと判断されれば、テストを終了し、最適の実行可能なアプリケーション数を算出できる。
【０２８６】
この際、最適の実行可能なアプリケーション数は、前記テスト終了条件を満足したときの実行アプリケーション数であることができる。すなわち、ＣＰＵ利用率及びＧＰＵ利用率がそれぞれ最大ＣＰＵ利用率及び最大ＧＰＵ利用率を超えない最初のテストでの実行アプリケーション数が最適の実行可能なアプリケーション数になり得る。
【０２８７】
例えば、実行アプリケーション数が４であるとき、テスト終了条件を満足したら、最適の実行可能なアプリケーション数は４になり得る。
【０２８８】
図１１は、本発明の一実施例によるクラウドストリーミングサーバテスト方法の一例を示す動作流れ図である。
【０２８９】
図１１を参照すれば、本発明の一実施例によるクラウドストリーミングサーバテスト方法は、テストしようとするテストアプリケーションに相当するオートテスティングスクリプトを実行させる初期条件を設定する（Ｓ１６１０）。
【０２９０】
この際、オートテスティングスクリプトは、テストを自動化するために前記テストアプリケーションに相当するキー入力を発生させ、テストを繰り返しながらテストアプリケーションを実行アプリケーション数で実行するスクリプトであることができる。
【０２９１】
この際、オートテスティングスクリプトは、ユーザが生成してもよく、自動で生成されてもよい。
【０２９２】
実施例によって、初期条件は、最大ＣＰＵ利用率、最大ＧＰＵ利用率、ＣＰＵ利用率とＧＰＵ利用率を確認する確認間隔、最初テストアプリケーション数、最終テストアプリケーション数及びテスト時間のうちいずれか１つ以上を含むことができる。
【０２９３】
この際、最大ＣＰＵ利用率は、クラウドストリーミングサーバがテストアプリケーションを安定的に実行させることができるＣＰＵ利用率の上限線であることができる。同じく、最大ＧＰＵ利用率は、クラウドストリーミングサーバがテストアプリケーションを安定的に実行させることができるＧＰＵ利用率の上限線であることができる。
【０２９４】
この際、確認間隔は、テスト時間の間にシステム資源の利用率をモニタリングするとき、前記ＣＰＵ利用率と前記ＧＰＵ利用率を確認する間隔であることができる。
【０２９５】
この際、最初テストアプリケーション数は、テストを開始するとき、最初のテストで実行するテストアプリケーションの数であることができる。
【０２９６】
この際、最終テストアプリケーション数は、テスト終了条件の満足可否の判断に使用される数であって、テスト途中に実行アプリケーション数の範囲を限定する数であることができる。前記最初テストアプリケーション数と前記最終テストアプリケーション数の大小の比較結果によってアプリケーション増加テストモード及びアプリケーション減少テストモードのうちいずれか１つに入ることができる。
【０２９７】
この際、テスト時間は、１回のテストを進行する時間であることができる。テスト時間が経過すれば、テスト終了条件の満足可否を判断し、テストの繰り返しまたは終了を行う。
【０２９８】
また、本発明の一実施例によるクラウドストリーミングサーバテスト方法は、前記最初テストアプリケーション数が前記最終テストアプリケーション数より小さいかを判断する（Ｓ１６２０）。
【０２９９】
また、本発明の一実施例によるクラウドストリーミングサーバテスト方法は、前記最初テストアプリケーション数が前記最終テストアプリケーション数より小さい場合、アプリケーション増加テストモードに入る（Ｓ１６３０）。
【０３００】
例えば、最初テストアプリケーション数が１であり、最終テストアプリケーション数が５である場合、アプリケーション増加テストモードに入ることができる。
【０３０１】
また、本発明の一実施例によるクラウドストリーミングサーバテスト方法は、前記最初テストアプリケーション数が前記最終テストアプリケーション数より大きい場合、アプリケーション減少テストモードに入る（Ｓ１６４０）。
【０３０２】
例えば、最初テストアプリケーション数が５であり、最終テストアプリケーション数が１である場合、アプリケーション減少テストモードに入ることができる。
【０３０３】
図１２は、図１１に示されたアプリケーション増加テストモードの一例を示す動作流れ図である。
【０３０４】
図１２を参照すれば、図１１に示されたアプリケーション増加テストモードは、オートテスティングスクリプトを自動で繰り返して実行する（Ｓ１７１０）。
【０３０５】
また、図１１に示されたアプリケーション増加テストモードは、前記オートテスティングスクリプトによってテストアプリケーションを１つ以上実行し、テストを繰り返して行う（Ｓ１７２０）。
【０３０６】
また、図１１に示されたアプリケーション増加テストモードは、前記テストを行う中にＣＰＵ利用率及びＧＰＵ利用率をモニタリングする（Ｓ１７３０）。
【０３０７】
この際、前記ＣＰＵ利用率及び前記ＧＰＵ利用率は、初期条件の確認間隔によって一定間隔で確認する。
【０３０８】
また、図１１に示されたアプリケーション増加テストモードは、テスト時間が経過すれば（Ｓ１７４０）、テスト終了条件の満足可否を判断する（Ｓ１７５０）。
【０３０９】
この際、テスト終了条件は、前記テスト時間の間に前記ＣＰＵ利用率及び前記ＧＰＵ利用率がそれぞれ前記最大ＣＰＵ利用率及び前記最大ＧＰＵ利用率以下でない場合、満足できる。または、実行アプリケーション数が最終テストアプリケーション数と同一である場合、満足できる。
【０３１０】
すなわち、テスト時間の間にＣＰＵ利用率が最大ＣＰＵ利用率を超えるか、またはＧＰＵ利用率が最大ＧＰＵ利用率を越える場合、テスト終了条件を満足できる。
【０３１１】
この際、超えた時間にかかわらず、一時的に超えても、テスト終了条件を満足するものと判断することもでき、一定時間以上超えた場合、テスト終了条件を満足するものと判断することもできる。
【０３１２】
また、図１１に示されたアプリケーション増加テストモードは、前記テスト終了条件を満足しないものと判断されれば、前記実行アプリケーション数を増加させて前記テストを繰り返すことができる（Ｓ１７６０）。
【０３１３】
すなわち、テストを行う度にアプリケーションを１つずつさらに実行させて、テスト時間の間にシステム資源の利用率をモニタリングしながら最適の実行可能アプリケーション数を求めることができる。
【０３１４】
また、図１１に示されたアプリケーション増加テストモードは、テスト時間の間にシステム資源の利用率が最大値を記録する最大負荷地点を把握し、前記最大負荷地点までをテスト時間に再設定できる。
【０３１５】
例えば、７分のテスト時間の間に５分３０秒の地点にシステム資源の利用率が最大値を記録したら、５分３０秒の地点が最大負荷地点になる。そして、５分３０秒をテスト時間に再設定するので、次のテストからは、５分３０秒の地点までにテストを行い、１分３０秒を節約できる。
【０３１６】
実施例によって、システム資源の利用率は、前記ＣＰＵ利用率及び前記ＧＰＵ利用率のうちいずれか１つ以上を考慮して決定され得る。
【０３１７】
例えば、システム資源の利用率は、ＣＰＵ利用率とＧＰＵ利用率の平均で定められることもでき、各時点でＣＰＵ利用率とＧＰＵ利用率のうちさらに高い数値をシステム資源の利用率として見なすこともできる。または、ＣＰＵ利用率が最大値を記録する地点とＧＰＵ利用率が最大値を記録する地点のうちさらに遅い地点を最大負荷地点として見なすこともできる。
【０３１８】
また、図１１に示されたアプリケーション増加テストモードは、テスト終了条件を満足するものと判断される場合、前記テストを終了させ、最適の実行可能なアプリケーション数を算出する（Ｓ１７８０）。
【０３１９】
この際、最適の実行可能なアプリケーション数は、クラウドストリーミングサーバがテストアプリケーションを多数実行させるとき、安定的に実行させることができる上限線を示す数であることができる。
【０３２０】
この際、最適の実行可能なアプリケーション数は、前記テスト終了条件を満足したときの実行アプリケーション数より１小さい数であることができる。
【０３２１】
例えば、実行アプリケーション数が４であるとき、すなわち４個のテストアプリケーションが実行中であるとき、テスト終了条件を満足したら、最適の実行可能なアプリケーション数は、３であることができる。
【０３２２】
すなわち、ＣＰＵ利用率及びＧＰＵ利用率がそれぞれ最大ＣＰＵ利用率及び最大ＧＰＵ利用率を超えない最終のテストでの実行アプリケーション数が最適の実行可能なアプリケーション数になる。
【０３２３】
図１３は、図１１に示されたアプリケーション減少テストモードの一例を示す動作流れ図である。
【０３２４】
図１３を参照すれば、図１１に示されたアプリケーション減少テストモードは、オートテスティングスクリプトを自動で繰り返して行う（Ｓ１８１０）。
【０３２５】
また、図１１に示されたアプリケーション減少テストモードは、前記オートテスティングスクリプトによってテストアプリケーションを１つ以上実行してテストを繰り返して行う（Ｓ１８２０）。
【０３２６】
また、図１１に示されたアプリケーション減少テストモードは、前記テストを行う中にＣＰＵ利用率及びＧＰＵ利用率をモニタリングする（Ｓ１８３０）。
【０３２７】
この際、前記ＣＰＵ利用率及び前記ＧＰＵ利用率は、初期条件の確認間隔によって一定間隔で確認する。
【０３２８】
また、図１１に示されたアプリケーション減少テストモードは、テスト時間が経過すれば（Ｓ１８４０）、テスト終了条件の満足可否を判断する（Ｓ１８５０）。
【０３２９】
この際、テスト終了条件は、前記テスト時間の間に前記ＣＰＵ利用率及び前記ＧＰＵ利用率がそれぞれ前記最大ＣＰＵ利用率及び前記最大ＧＰＵ利用率以下である場合、満足できる。または、実行アプリケーション数が最終テストアプリケーション数と同一である場合、満足できる。
【０３３０】
すなわち、テスト時間の間にＣＰＵ利用率が最大ＣＰＵ利用率を超えず、ＧＰＵ利用率が最大ＧＰＵ利用率を超えない場合、テスト終了条件を満足できる。
【０３３１】
この際、超えた時間にかかわらず、一時的に超えても、テスト終了条件を満足しないものと判断することもでき、一定時間以上超えた場合、テスト終了条件を満足しないものと判断することもできる。
【０３３２】
また、図１１に示されたアプリケーション減少テストモードは、前記テスト終了条件を満足しないものと判断されれば、前記実行アプリケーション数を減少させて前記テストを繰り返すことができる（Ｓ１８６０）。
【０３３３】
すなわち、テストを行う度にアプリケーションを１つずつ少なく実行させてテスト時間の間にシステム資源の利用率をモニタリングしながら、最適の実行可能アプリケーション数を求めることができる。
【０３３４】
また、図１１に示されたアプリケーション減少テストモードは、テスト時間の間にシステム資源の利用率が最大値を記録する最大負荷地点を把握し、前記最大負荷地点までをテスト時間に再設定できる。
【０３３５】
例えば、７分のテスト時間の間に５分３０秒の地点にシステム資源の利用率が最大値を記録したら、５分３０秒の地点が最大負荷地点になる。そして、５分３０秒をテスト時間に再設定するので、次のテストからは、５分３０秒の地点までにテストを行い、１分３０秒を節約できる。
【０３３６】
実施例によって、システム資源の利用率は、前記ＣＰＵ利用率及び前記ＧＰＵ利用率のうちいずれか１つ以上を考慮して決定され得る。
【０３３７】
例えば、システム資源の利用率は、ＣＰＵ利用率とＧＰＵ利用率の平均で定められることもでき、各時点でＣＰＵ利用率とＧＰＵ利用率のうちさらに高い数値をシステム資源の利用率として見なすこともできる。または、ＣＰＵ利用率が最大値を記録する地点とＧＰＵ利用率が最大値を記録する地点のうちさらに遅い地点を最大負荷地点として見なすこともできる。
【０３３８】
また、図１１に示されたアプリケーション減少テストモードは、テスト終了条件を満足するものと判断される場合、前記テストを終了させ、最適の実行可能なアプリケーション数を算出する（Ｓ１８８０）。
【０３３９】
この際、最適の実行可能なアプリケーション数は、クラウドストリーミングサーバがテストアプリケーションを多数実行させるとき、安定的に実行させることができる上限線を示す数であることができる。
【０３４０】
この際、最適の実行可能なアプリケーション数は、前記テスト終了条件を満足したときの実行アプリケーション数であることができる。
【０３４１】
すなわち、ＣＰＵ利用率及びＧＰＵ利用率がそれぞれ最大ＣＰＵ利用率及び最大ＧＰＵ利用率を超えない最初のテストでの実行アプリケーション数が最適の実行可能なアプリケーション数になり得る。
【０３４２】
例えば、実行アプリケーション数が４であるとき、すなわち４個のテストアプリケーションが実行中であるとき、テスト終了条件を満足したら、最適の実行可能なアプリケーション数は、４であることができる。
【０３４３】
図１１、図１２及び図１３に示された各段階は、図１１、図１２及び図１３に示された手順、その逆順または同時に行われることができる。
【０３４４】
本発明によるクラウドストリーミングサーバテスト方法は、多様なコンピュータ手段を介して行われることができるプログラムまたはスマートフォンアプリで具現され得る。この際、プログラムまたはスマートフォンアプリは、コンピュータ読み取り可能な媒体に記録され得る。前記コンピュータ読み取り可能な媒体は、プログラム命令、データファイル、データ構造等を単独でまたは組み合わせて含むことができる。前記媒体に記録されるプログラム命令は、本発明のために特別に設計され構成されたものであってもよく、コンピュータソフトウェア当業者に公知されて使用可能なものであってもよい。コンピュータ読み取り可能な記録媒体の例には、ハードディスク、プロッピィーディスク及び磁気テープのような磁気媒体（ｍａｇｎｅｔｉｃ  ｍｅｄｉａ）、ＣＤ−ＲＯＭ、ＤＶＤのような光記録媒体（ｏｐｔｉｃａｌ  ｍｅｄｉａ）、フロプティカルディスク（ｆｌｏｐｔｉｃａｌ  ｄｉｓｋ）のような磁気−光媒体（ｍａｇｎｅｔｏ−ｏｐｔｉｃａｌ  ｍｅｄｉａ）、及びロム（ＲＯＭ）、ラム（ＲＡＭ）、フラッシュメモリ等のようなプログラム命令を格納し実行するように特別に構成されたすべての形態のハードウェア装置が含まれる。プログラム命令の例には、コンパイラによって作われるもののような機械語コードだけでなく、インタプリタ等を使用してコンピュータによって実行され得る高級言語コードを含むことができる。このようなハードウェア装置は、本発明の動作を行うために１つ以上のソフトウェアモジュールとして作動するように構成され得、その逆も同様である。
【０３４５】
以上のように、本発明によるクラウドストリーミングサーバテスト方法及びそのための装置は、前述した実施例の構成と方法が限定されるように適用され得るものではなく、前記実施例は、多様な変形が行われるように、各実施例の全部または一部が選択的に組み合わされて構成されてもよい。
【０３４６】
以下では、クラウドストリーミングサーバの正常動作可否を前もって検出し、サーバ障害によるサービス品質低下を防止できるテスト技術について説明する。
【０３４７】
図１４は、本発明の実施例によるクラウドストリーミングサーバのテストシステムを示す図である。
【０３４８】
図１４を参照すれば、本発明が適用されたクラウドストリーミングシステムは、通信網２１１０を介して連結された多数のクライアント２１００、２１０１、２１０２と多数のクラウドストリーミングサーバ２１３０、２１４０、２１５０よりなり、本発明は、このようなクラウドストリーミングシステムの正常動作可否をテストするために、前記多数のクラウドストリーミングサーバ２１３０、２１４０、２１５０と通信網２１１０を介して連結され、前記クライアント２１００、２１０１、２１０２の少なくとも一部の機能を行う仮想クライアントモジュールを含むテスト装置２１２０をさらに含む。
【０３４９】
以下の実施例では、３個のクラウドストリーミングサーバ２１３０、２１４０、２１５０及び３個の仮想クライアントモジュールを含むテスト装置２１２０を示したが、前記クラウドストリーミングサーバの数及び仮想クライアントモジュールの数は、これに限定されず、必要及び設計に応じて多様な組合せで具現され得る。
【０３５０】
前記で、クライアント２１００、２１０１、２１０２は、通信網２１１０を経由して各種データを送受信できる端末機を言い、特に、クラウドストリーミングサーバ２１３０、２１４０、２１５０に接続してクラウドストリーミングサービスを提供するユーザー側の装置を意味する。例えば、クライアント２１００、２１０１、２１０２は、タブレットパソコン（Ｔａｂｌｅｔ  ＰＣ）、ラップトップ（Ｌａｐｔｏｐ）、パソコン（ＰＣ：Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）、スマートフォン（Ｓｍａｒｔ  Ｐｈｏｎｅ）、個人携帯用情報端末機（ＰＤＡ：Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔ）、スマートテレビ及び移動通信端末機（Ｍｏｂｉｌｅ  Ｃｏｍｍｕｎｉｃａｔｉｏｎ  Ｔｅｒｍｉｎａｌ）、セットトップボックスのうちいずれか１つであることができる。
【０３５１】
また、クライアント２１００、２１０１、２１０２は、通信網２１１０を経由してクラウドストリーミングサーバ２１３０、２１４０、２１５０と通信するためのブラウザー、プログラム及びプロトコルを格納するメモリ、各種プログラムを実行して演算及び制御するためのマイクロプロセッサー等を具備している端末機を意味する。すなわち、クライアント２１００、２１０１、２１０２は、クラウドストリーミングサーバ２１３０、２１４０、２１５０と通信が可能であれば、いずれの端末機も可能であり、ノートパソコン、移動通信端末機、ＰＤＡ等の通信コンピュータ装置をすべて含む広い概念である。
【０３５２】
このようなクライアント２１００、２１０１、２１０２は、例えば、クラウドストリーミングサーバ２１３０、２１４０、２１５０に接続し、ユーザの入力によって特定のサービスまたは機能を要請し、前記要請されたサービスまたは機能の実行による結果画面をクラウドストリーミングサーバ２１３０、２１４０、２１５０から受信して出力できる。
【０３５３】
そして、クラウドストリーミングサーバ２１３０、２１４０、２１５０は、通信網２１１０を介して多数のクライアント２１００、２１０１、２１０２に特定のサービスや機能を提供する構成であって、特に、クラウドストリーミングサービスを提供できる。例えば、クラウドストリーミングサーバ２１３０、２１４０、２１５０は、クライアント２１００、２１０１、２１０２のＯＳ種類、ＣＰＵ性能、メモリ容量、その他ソフトウェア及びハードウェア仕様に関係なく、所定のサービスや機能、例えば、高性能のイメージ処理を必要とするサービスや機能を提供できるように、クライアント２１００、２１０１、２１０２から伝送されたユーザ入力によるサービスあるいは機能を行い、その結果画面を前記クライアント２１００、２１０１、２１０２に伝送できる。このために、前記クラウドストリーミングサーバ２１３０、２１４０、２１５０は、画面仮想化機能を具備できる。特に、本発明においてクラウドストリーミングサーバ２１３０、２１４０、２１５０は、正常動作の可否（すなわち、障害の可否）をテストするために、既定のテストスクリプトキー入力を受信し、これに基盤して生成されたテスト結果（テスト結果画面）をテスト装置２１２０の各仮想クライアントモジュールに伝送できる。
【０３５４】
通信網２１１０は、インターネット網、イントラネット網、移動通信網、衛星通信網等多様な有無線通信技術を利用してインターネットプロトコルでデータを送受信できる網を言う。このような通信網２１１０は、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、ＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）等の閉鎖型ネットワーク、インターネット（Ｉｎｔｅｒｎｅｔ）のような開放型ネットワークだけでなく、ＣＤＭＡ（Ｃｏｄｅ  Ｄｉｖｉｓｉｏｎ  Ｍｕｌｔｉｐｌｅ  Ａｃｃｅｓｓ）、ＷＣＤＭＡ（Ｗｉｄｅｂａｎｄ  Ｃｏｄｅ  Ｄｉｖｉｓｉｏｎ  Ｍｕｌｔｉｐｌｅ  Ａｃｃｅｓｓ）（登録商標）、ＧＳＭ（Ｇｌｏｂａｌ  Ｓｙｓｔｅｍ  ｆｏｒ  Ｍｏｂｉｌｅ  Ｃｏｍｍｕｎｉｃａｔｉｏｎｓ）（登録商標）、ＬＴＥ（Ｌｏｎｇ  Ｔｅｒｍ  Ｅｖｏｌｕｔｉｏｎ）、ＥＰＣ（Ｅｖｏｌｖｅｄ  Ｐａｃｋｅｔ  Ｃｏｒｅ）等のネットワークと以後具現される次世代ネットワーク及びコンピューティングネットワークを総称する概念である。
【０３５５】
テスト装置２１２０は、クラウドストリーミングサーバ２１３０、２１４０、２１５０の正常動作可否をテストするための装置である。このようなテスト装置２１２０は、クライアント２１００、２１０１、２１０２の少なくとも一部の機能を有する仮想クライアントモジュールを少なくとも１つ具備する。
【０３５６】
このようなテスト装置２１２０は、少なくとも１つのクラウドストリーミングサーバ２１３０、２１４０、２１５０から伝送されたテスト結果が前記少なくとも１つの仮想クライアントモジュールに受信されれば、前記少なくとも１つの仮想クライアントモジュールが受信されたテスト結果をデータ処理して画面に出力するとき、出力される結果イメージをキャプチャして、キャプチャされた結果イメージをあらかじめ設定された基準結果イメージと比較し、一致する程度によって前記少なくとも１つのクラウドストリーミングサーバの障害可否を判断する。さらに具体的に、テスト装置２１２０は、少なくとも１つの仮想クライアントモジュールが特定クラウドストリーミングサーバ２１３０から受信したテスト結果に対してデコーディング等のデータ処理を行った後、画面に出力させるとき、所定のキャプチャ時点に出力される結果イメージとあらかじめ設定された基準結果イメージ（基準結果イメージは、テスト対象であるクラウドストリーミングサーバのうち１つに相当するものであることができる）を比較し、互いに一致しなければ、当該クラウドストリーミングサーバ２１３０に障害があり、正常動作しないクラウドストリーミングサーバとして判断し、互いに一致すれば、当該クラウドストリーミングサーバ２１３０が正常動作するものと判断する。但し、同一のキースクリプト入力を繰り返して伝送し、そのテスト結果として生成された動作ケースイメージにおいて差異がない領域を検出してレファレンス領域として生成し、レファレンス領域だけに対して比較を行う。この際、キャプチャ時点は、少なくとも１つのクラウドストリーミングサーバ２１３０、２１４０、２１５０からテスト結果が伝送される時点を基準に設定され得、テスト装置２１２０にあらかじめ格納されていてもよい。
【０３５７】
例えば、テスト装置２１２０は、クラウドストリーミングサーバ２１３０、２１４０、２１５０中の１つである基準サーバ２１３０に相当するテスト結果ビデオをキャプチャして生成されたテスト結果イメージと、他のクラウドストリーミングサーバ２１４０、２１５０に相当するテスト結果ビデオをキャプチャして生成されたテスト結果イメージのうちレファレンス領域を比較し、クラウドストリーミングサーバ２１３０、２１４０、２１５０のうち１つ以上の障害可否を判断し、基準サーバ２１３０の変更が必要であると判断される場合（変更条件を満足）、基準サーバ２１３０を他のサーバ２１４０または２１５０に変更できる。
【０３５８】
この際、変更条件は、クラウドストリーミングサーバのうち前記障害があるものと判断されたクラウドストリーミングサーバの数が既定の基準値以上である条件であることができる。
【０３５９】
テスト装置２１２０は、クラウドストリーミングサーバ２１３０、２１４０、２１５０への連結エラーを検出できる。例えば、テスト装置２１２０は、クラウドストリーミングサーバ２１３０、２１４０、２１５０への連結試みの失敗が受信されるか、または既定の時間以上クラウドストリーミングサーバ２１３０、２１４０、２１５０からテスト結果が受信されなければ、連結エラーとして判断できる。すなわち、テスト装置２１２０は、クライアントモジュールがクラウドストリーミングサーバに接続を試みてから失敗するか、またはクラウドストリーミングサーバからクラウドストリーミングサービス画面が伝送されない場合には、画面比較を介したテストとは別個に連結障害を通知できる。
【０３６０】
テスト装置２１２０は、テスト結果イメージのうち同一の入力に対して差異がないレファレンス領域だけに対して比較を行うことができる。
【０３６１】
このために、仮想クライアントモジュールのうちいずれか１つがクラウドストリーミングサーバのうちいずれか１つから繰り返されたテストスクリプトキー入力に相当するテスト結果を受信して動作ケースビデオを生成し、動作ケースビデオをキャプチャして生成された動作ケースイメージを比較し、その結果によってレファレンス領域を生成できる。
【０３６２】
この際、動作ケースイメージの比較結果、差異がない領域を検出し、レファレンス領域として生成できる。
【０３６３】
この際、同一のテストスクリプトキー入力に対して差異が発生する領域は、時計やアニメーション等を表示する領域であることができる。
【０３６４】
このように、本発明では、仮想クライアントモジュールは、それぞれ互いに異なるクラウドストリーミングサーバからテスト結果を受信し、ここで、少なくとも１つの仮想クライアントモジュールがそれぞれ互いに異なるクラウドストリーミングサーバからテスト結果を受信して出力した結果イメージを基準結果イメージと比較し、比較結果によって当該クラウドストリーミングサーバの正常動作可否を判断するものである。すなわち、実際クライアント２１００、２１０１、２１０２でユーザに提供する画面イメージを基準に各クラウドストリーミングサーバ２１３０、２１４０、２１５０の正常動作の可否を判断するものである。但し、同一の入力に対して差異が発生しないレファレンス領域だけに対して比較を行う。このために、前記テスト装置２１２０は、前記少なくとも１つのクラウドストリーミングサーバ２１３０、２１４０、２１５０に同時にテスト結果の伝送を要請でき、このような要請信号によって各クラウドストリーミングサーバ２１３０、２１４０、２１５０は、テスト結果を伝送できる。同時に、少なくとも１つのクラウドストリーミングサーバ２１３０、２１４０、２１５０から伝送されたテスト結果を受信して処理する仮想クライアントモジュールは、あらかじめ設定されていてもよい。すなわち、少なくとも１つのクラウドストリーミングサーバ２１３０、２１４０、２１５０と少なくとも１つの仮想クライアントモジュールは、一対一あるいは多対一でマッピングされ得る。これにより、テスト装置２１２０は、前記少なくとも１つのクラウドストリーミングサーバ２１３０、２１４０、２１５０にテスト結果の伝送を要請するとき、これを受信する仮想クライアントモジュールに対する情報を一緒に伝送でき、また、仮想クライアントモジュールが２つ以上のクラウドストリーミングサーバとマッピングされるとき、２つ以上のクラウドストリーミングサーバからテスト結果を順次受信して処理し得るように、少なくとも１つのクラウドストリーミングサーバ２１３０、２１４０、２１５０へのテスト結果伝送の要請時点を調整できる。
【０３６５】
このように構成されたシステムにおいて添付の図１５、図１６及び図１７を参照して本発明の実施例によるテスト装置２１２０の構成を具体的に説明する。
【０３６６】
まず、図１５を参照すれば、テスト装置２１２０は、テスト制御部２２００、格納部２２１０、比較部２２２０、入力部２２３０、出力部２２４０、少なくとも１つの仮想クライアントモジュール２２５０、２２５２、２２５４を含んで構成できる。本実施例において仮想クライアントモジュール２２５０、２２５２、２２５４の数を３個で例示したが、前記仮想クライアントモジュール２２５０、２２５２、２２５４の数は、システム運用によって変更され得る。
【０３６７】
テスト制御部２２００は、クラウドストリーミングサーバ２１３０、２１４０、２１５０の障害可否を判断するに必要なすべての制御を行い、障害可否の判断の要求時に比較部２２２０を介して行われた比較結果、すなわちテスト結果によって出力された画面をキャプチャした結果イメージとあらかじめ決定された基準結果イメージの一致可否によってクラウドストリーミングサーバの障害可否を判断する。但し、同一の入力に対して差異が発生しないレファレンス領域だけに対して一致するか否かを判断する。この際、障害可否判断要求時点は、仮想クライアントモジュール２２５０、２２５２、２２５４にテスト結果の受信が感知され、受信が完了した時点にすることもでき、入力部２２３０を介して障害可否の判断の要求入力がある時点にすることもでき、あらかじめ設定された周期による時点になることもできる。このように障害可否の判断要求は、設定によって発生する。また、基準結果イメージは、あらかじめ格納されることもできるが、前記少なくとも１つの仮想クライアントモジュール２２５０、２２５２、２２５４のうち特定の仮想クライアントモジュールから出力された結果イメージを基準結果イメージとして設定できる。
【０３６８】
この際、テスト制御部２２００は、比較結果、比較される２つのイメージが互いに一致すれば、当該クラウドストリーミングサーバは障害がないと判断し、２つのイメージが互いに一致しなければ、当該クラウドストリーミングサーバに障害があると判断できる。
【０３６９】
格納部２２１０は、テスト装置２１２０の動作に必要な情報を格納できる。このような格納部２２１０は、少なくとも１つのクラウドストリーミングサーバ２１３０、２１４０、２１５０から伝送されたテスト結果に対する結果ビデオを同一の時点にキャプチャするためにテスト結果ビデオをキャプチャするためのキャプチャ時点情報を格納する。また、格納部２２１０は、クラウドストリーミングサーバから伝送されるテスト結果に対する基本情報を格納し、特にクラウドストリーミングサーバの障害可否を判断するための基準となる特定の時点の基準イメージをあらかじめ格納できる。このような格納部２２１０は、ハードディスク、プロッピィーディスク及び磁気テープのような磁気媒体（Ｍａｇｎｅｔｉｃ  Ｍｅｄｉａ）、ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｋ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｉｄｅｏ  Ｄｉｓｋ）のような光記録媒体（Ｏｐｔｉｃａｌ  Ｍｅｄｉａ）、フロプティカルディスク（Ｆｌｏｐｔｉｃａｌ  Ｄｉｓｋ）のような磁気−光媒体（Ｍａｇｎｅｔｏ−Ｏｐｔｉｃａｌ  Ｍｅｄｉａ）及びロム（ＲＯＭ）、ラム（ＲＡＭ、Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、フラッシュメモリを含む。
【０３７０】
比較部２２２０は、仮想クライアントモジュールのうちいずれか１つが繰り返して受信して画面に出力した動作ケースビデオの伝達を要求でき、動作ケースビデオをキャプチャして生成された動作ケースイメージを相互比較し、レファレンス領域を生成する。
【０３７１】
また、比較部２２２０は、テスト制御部２２００の制御によってそれぞれの仮想クライアントモジュール２２５０、２２５２、２２５４で受信されて画面に出力されたテスト結果ビデオの伝達を要求でき、テスト結果ビデオをキャプチャして生成されたテスト結果イメージを基準結果イメージを比較した後、比較結果をテスト制御部２２００に出力する。このために、前記比較部２２２０は、前記基準結果イメージを設定する過程をさらに行うことができる。すなわち、比較部２２２０は、前記クラウドストリーミングサーバ中の１つである基準サーバに相当するテスト結果ビデオをキャプチャして生成されたテスト結果イメージと、他のクラウドストリーミングサーバに相当するテスト結果ビデオをキャプチャして生成されたテスト結果イメージを比較できる。
【０３７２】
この際、他のクラウドストリーミングサーバに相当するテスト結果イメージは、前記基準サーバに相当するテスト結果イメージと同一時点にキャプチャされたものであることができる。
【０３７３】
この際、テスト結果イメージを比較するときには、レファレンス領域だけに対して比較を行うことができる。
【０３７４】
この際、レファレンス領域は、同一の入力に対して差異が発生しない領域であることができる。例えば、時計やアニメーションを表示する領域を除いた残りの領域であることができる。
【０３７５】
入力部２２３０は、クラウドストリーミングサーバ管理者の操作によってクラウドストリーミングサーバ管理者の要請や情報に該当するユーザ入力信号を発生でき、現在商用化されているか、以後商用化が可能な多様な入力手段で具現され得、例えば、キーボード、マウス、ジョイ・スティック、タッチスクリーン、タッチパッド等のような一般的な入力装置だけでなく、ユーザのモーションを感知して特定入力信号を発生するジェスチャ入力手段を含むことができる。
【０３７６】
出力部２２４０は、テスト装置２１２０の動作結果や状態をユーザが認識できるように提供する手段であって、例えば、画面を介して視覚的に出力する表示部や、可聴音を出力するスピーカー等を含むことができる。特に、本発明において、出力部２２４０は、前記少なくとも１つの仮想クライアントモジュール２２５０、２２５２、２２５４から処理されて出力される結果イメージを視覚的に出力でき、また、結果イメージと基準結果イメージを比較して出力するか、クラウドストリーミングサーバの障害可否結果を表示できる。
【０３７７】
仮想クライアントモジュール２２５０、２２５２、２２５４は、クラウドストリーミングサーバ２１３０、２１４０、２１５０に接続し、クラウドストリーミングサービスを提供されるクライアント２１００、２１０１、２１０２を仮想化した構成であって、実際クライアント２１００、２１０１、２１０２の機能のうち少なくとも一部の機能を行うことができる。例えば、前記仮想クライアントモジュール２２５０、２２５２、２２５４は、特定のクラウドストリーミングサーバ２１３０、２１４０、２１５０に接続して特定のクラウドストリーミングサーバ２１３０、２１４０、２１５０からそれぞれのテスト結果を受信し、前記受信されたテスト結果に対してクライアント２１００、２１０１、２１０２と同一の処理（例えば、デコーディング等）を行って、動作ケースビデオまたはテスト結果ビデオを生成し、これを出力部２２４０を介して画面に出力できる。この際、仮想クライアントモジュール２２５０、２２５２、２２５４は、比較部２２２０の結果イメージ要求によって、特定の時点に画面に出力される結果イメージをキャプチャして比較部２２２０に伝達できる。この際、キャプチャ時点は、比較部２２２０から受信してもよく、あらかじめ設定して格納していてもよい。前記結果イメージのキャプチャは、例えば、仮想クライアントモジュール２２５０、２２５２、２２５４のフレームバッファに格納されたイメージデータをキャプチャする方式よりなることができる。実施例によって、テスト結果ビデオをキャプチャしてテスト結果イメージを生成することまたは動作ケースビデオをキャプチャして動作ケースイメージを生成することは、比較部２２２０で行われることもできる。
【０３７８】
すなわち、仮想クライアントモジュール２２５０、２２５２、２２５４は、クラウドストリーミングサーバにテストスクリプトキー入力を提供し、クラウドストリーミングサーバからテストスクリプトキー入力に相当するテスト結果を提供されて、これをデコーディングして、動作ケースビデオ及びテスト結果ビデオを生成する。この際、テスト結果は、エンコーディングされたストリーミングビデオで見ることができ、動作ケースビデオ及びテスト結果ビデオは、デコーディングされたストリーミングビデオで見ることができる。
【０３７９】
このような仮想クライアントモジュール２２５０、２２５２、２２５４の内部構成は、図１７のように示されることができる。それぞれの仮想クライアントモジュール２２５０、２２５２、２２５４の構成は、同一なので、図１７の説明では、参照符号２２５０の仮想クライアントモジュールを例示して説明する。
【０３８０】
図１６は、図１５に示された比較部を示す図である。
【０３８１】
図１６を参照すれば、図１５に示された比較部は、モジュール制御部２３１０、動作ケース比較部２３２０及びレファレンス生成部２３３０を含む。
【０３８２】
モジュール制御部２３１０は、前記仮想クライアントモジュールのうちいずれか１つが前記クラウドストリーミングサーバのうちいずれか１つから繰り返された前記テストスクリプトキー入力に相当するテスト結果を受信して動作ケースビデオを生成するように制御する。
【０３８３】
実施例によって、モジュール制御部２３１０は、前記基準サーバから前記テスト結果を受信するように制御できる。
【０３８４】
動作ケース比較部２３２０は、動作ケースビデオをキャプチャして生成された動作ケースイメージを比較する。
【０３８５】
この際、動作ケースイメージは、それぞれ同一の時点にキャプチャされ得る。
【０３８６】
この際、同一のテストスクリプトキー入力に相当するテスト結果によって生成された動作ケースビデオなので、同一のイメージがキャプチャされなければならないが、入力と関係なく、変化する領域があり得、このような領域を検出するために比較を実施する。
【０３８７】
レファレンス生成部２３３０は、動作ケースイメージの比較結果によってレファレンス領域を生成する。
【０３８８】
実施例によって、レファレンス生成部２３３０は、前記動作ケースイメージの比較結果、同一のテストスクリプトキー入力に対して差異が発生しない領域を検出し、前記領域をレファレンス領域として生成できる。
【０３８９】
例えば、時計やアニメーション等のような領域を除いた残りの領域をレファレンス領域として生成できる。
【０３９０】
図１７は、本発明の実施例によってテスト結果を受信して処理する仮想クライアントモジュールの構成を示す図である。
【０３９１】
図１７を参照すれば、仮想クライアントモジュール２２５０は、制御部２４００、通信部２４０２、格納部２４０４を含んで構成できる。
【０３９２】
このような仮想クライアントモジュール２２５０は、クラウドストリーミングサーバ２１３０、２１４０、２１５０から提供されるデータを受信できる端末装置、例えば、タブレットパソコン（Ｔａｂｌｅｔ  ＰＣ）、ラップトップ（Ｌａｐｔｏｐ）、パソコン（ＰＣ：Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）、スマートフォン（Ｓｍａｒｔ  Ｐｈｏｎｅ）、個人携帯用情報端末機（ＰＤＡ：Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔ）、スマートテレビ及び移動通信端末機（Ｍｏｂｉｌｅ  Ｃｏｍｍｕｎｉｃａｔｉｏｎ  Ｔｅｒｍｉｎａｌ）、セットトップボックスのうち１つの端末を仮想化して具現され得る。したがって、前記仮想クライアントモジュール２２５０は、どんな種類の端末装置であるかによって、その構成も相異に構成される。特に、本発明において、仮想クライアントモジュール２２５０は、テスト結果の受信及び受信されたテスト結果のデコーディング、テスト結果ビデオ生成及び画面出力機能まで行うように具現され得る。
【０３９３】
制御部２４００は、仮想クライアントモジュール２２５０の全般的な制御を行い、特に比較部２２２０からクラウドストリーミングサーバ２１３０、２１４０、２１５０からの要求によって特定の時点に画面に出力される結果イメージを抽出して比較部２２２０に伝達する。また、制御部２４００は、通信部２４０２を介して特定のクラウドストリーミングサーバ２１３０、２１４０、２１５０にテスト結果伝送要請信号を伝送できる。前記テスト結果の伝送要請信号を伝送するとき、これを受信する仮想クライアントモジュールの識別情報を一緒に伝送でき、また、多数のクラウドストリーミングサーバのテストスケジュールによって、各クラウドストリーミングサーバのテスト結果伝送要請信号を順次に伝送できる。
【０３９４】
通信部２４０２は、通信網２１１０を介してクラウドストリーミングサーバ２１３０、２１４０、２１５０から伝送されたテスト結果を受信する。このような通信部２４０２は、有線方式及び無線方式だけでなく、多様な通信方式を介してデータを送受信できる。また、通信部２４０２は、１つ以上の通信方式を使用してデータを送受信でき、このために、通信部２４０２は、それぞれ互いに異なる通信方式によってデータを送受信する複数の通信モジュールを含むことができる。
【０３９５】
格納部２４０４は、仮想クライアントモジュール２２５０の動作に必要な情報を格納し、特に、クラウドストリーミングサーバ２１３０、２１４０、２１５０から受信したテスト結果を格納できる。また、受信したテスト結果に対して所定のデータ処理を行い、最終的に画面に出力されたテスト結果ビデオを格納でき、また、設定によって結果イメージのキャプチャ時点情報をあらかじめ格納していてもよい。このような格納部２４０４は、ハードディスク、プロッピィーディスク及び磁気テープのような磁気媒体（Ｍａｇｎｅｔｉｃ  Ｍｅｄｉａ）、ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｋ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｉｄｅｏ  Ｄｉｓｋ）のような光記録媒体（ＯｐｔｉｃａｌＭｅｄｉａ）、フロプティカルディスク（Ｆｌｏｐｔｉｃａｌ  Ｄｉｓｋ）のような磁気−光媒体（Ｍａｇｎｅｔｏ−Ｏｐｔｉｃａｌ  Ｍｅｄｉａ）及びロム（ＲＯＭ）、ラム（ＲＡＭ、Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、フラッシュメモリを含む。
【０３９６】
図１８は、本発明の一実施例によるテスト結果イメージのうちレファレンス領域を示す図である。
【０３９７】
図１８を参照すれば、本発明の一実施例によるテスト結果イメージは、３個の領域２５１０、２５１２、２５２０に分けられる。
【０３９８】
モジュール制御部によって仮想クライアントモジュールのうちいずれか１つが、結果が順次に変化するようにキースクリプト入力を繰り返して伝送する。
【０３９９】
仮想クライアントモジュールは、繰り返されたテスト結果を受信し、動作ケースビデオを生成する。
【０４００】
テスト装置は、動作ケースビデオをキャプチャして生成された動作ケースイメージを比較する。
【０４０１】
動作ケースイメージを比較すると、２つの領域２５１０、２５１２は、繰り返す度に同一に変化するが、１つの領域２５２０は、不規則に変化する場合、差異が発生しない領域２５１０、２５１２をレファレンス領域として生成できる。
【０４０２】
この際、入力と関係なく変化する領域２５２０は、時計やアニメーションが表示される領域であることができる。
【０４０３】
それでは、前記のように構成されたテストシステムにおいてクラウドストリーミングサーバの正常動作可否をテストする過程について添付の図１９及び図２０を参照して具体的に説明する。
【０４０４】
図１９は、本発明の実施例によるテストシステムにおいてクラウドストリーミングサーバの正常動作可否をテストするための過程を示す流れ図である。
【０４０５】
クラウドストリーミングサーバ２１３０は、テスト結果をテスト装置２１２０の仮想クライアントモジュール２２５０に繰り返して伝送する（Ｓ２６１０）。
【０４０６】
この際、クラウドストリーミングサーバ２１３０は、仮想クライアントモジュール２２５０のテストスクリプトキー入力に相当してテスト結果を伝送するものであることができる。
【０４０７】
この際、クラウドストリーミングサーバ２１３０は、基準サーバであることができる。
【０４０８】
仮想クライアントモジュール２２５０をクラウドストリーミングサーバ２１３０から受信されたテスト結果をデコーディングして動作ケースビデオを生成し、これを比較部２２２０に提供し（Ｓ２６１１）、比較部２２２０は、動作ケースイメージを生成する（Ｓ２６１３）。
【０４０９】
この際、動作ケースビデオの提供は、テスト制御部２２００からのテスト要求に相当して行われるものであってもよい。この際、比較部２２２０は、仮想クライアントモジュール２２５０にクラウドストリーミングサーバ２１３０から受信したテスト結果伝達を要請できる。この際、前記仮想クライアントモジュール２２５０は、受信したテスト結果を実際クライアント２１００のように処理し、動作ケースビデオを生成した後、画面に出力されるようにし、この際、前記比較部２２２０で要求した時点、または既定の特定の時点に画面に出力される動作ケースビデオをキャプチャして比較部２２２０に伝送できる。すなわち、動作ケースビデオをキャプチャして動作ケースイメージを生成することは、仮想クライアントモジュール２２５０によって行われてもよく、比較部２２２０によって行われてもよい。
【０４１０】
比較部２２２０は、動作ケースイメージを比較してレファレンス領域を生成する（Ｓ２６１４）。
【０４１１】
実施例によって、比較部２２２０は、前記動作ケースイメージの比較結果、同一のテストスクリプトキー入力に対して差異が発生しない領域を検出し、前記領域をレファレンス領域として生成できる。
【０４１２】
例えば、時計やアニメーション等のような領域を除いた残りの領域をレファレンス領域として生成できる。
【０４１３】
クラウドストリーミングサーバ２１３０、２１４０、２１５０は、テスト結果をテスト装置２１２０の仮想クライアントモジュール２２５０、２２５２、２２５４に同時に伝送する（Ｓ２６２０〜Ｓ２６２２）。すなわち、１つのクラウドストリーミングサーバ２１３０は、仮想クライアントモジュール２２５０にテスト結果を伝送し、他のクラウドストリーミングサーバ２１４０は、仮想クライアントモジュール２２５２にテスト結果を伝送し、残りのクラウドストリーミングサーバ２１５０は、仮想クライアントモジュール２２５４にテスト結果を伝送できる。これとは異なって、１つの仮想クライアントモジュールが多数のクラウドストリーミングサーバ２１３０、２１４０、２１５０から時間差をもって順次にテスト結果を受信することもできる。
【０４１４】
この際、クラウドストリーミングサーバ２１３０、２１４０、２１５０は、仮想クライアントモジュール２２５０、２２５２、２２５４のテストスクリプトキー入力に相当してテスト結果を伝送するものであることができる。
【０４１５】
各仮想クライアントモジュール２２５０、２２５２、２２５４は、クラウドストリーミングサーバ２１３０、２１４０、２１５０から受信されたテスト結果をデコーディングしてテスト結果ビデオを生成し、これを比較部２２２０に提供する（Ｓ２６３０〜Ｓ２６３２）。この際、テスト結果ビデオの提供は、テスト制御部２２００からのテスト要求に相当して行われるのであってもよい。この際、比較部２２２０は、各仮想クライアントモジュール２２５０、２２５２、２２５４にクラウドストリーミングサーバ２１３０、２１４０、２１５０から受信したテスト結果伝達を要請できる。この際、前記仮想クライアントモジュール２２５０、２２５２、２２５４は、受信したテスト結果を実際クライアント２１００、２１０１、２１０２）のように処理し、テスト結果ビデオを生成した後、画面に出力されるようにし、この際、前記比較部２２２０で要求した時点、または既定の特定の時点に画面に出力される動作ケースビデオをキャプチャして比較部２２２０に伝送できる。すなわち、動作ケースビデオをキャプチャして動作ケースイメージを生成することは、仮想クライアントモジュール２２５０によって行われてもよく、比較部２２２０によって行われてもよい。
【０４１６】
比較部２２２０は、受信した各テスト結果ビデオをキャプチャしたテスト結果イメージと既定の基準結果イメージを比較した後、比較結果をテスト制御部２２００に伝達する（Ｓ２４２４、Ｓ２４２６）。ここで、基準結果イメージは、テスト結果が正常に伝送されて出力されるときに現われる結果イメージをあらかじめ格納していてもよく、前記仮想クライアントモジュール２２５０、２２５２、２２５４のうち既定の特定仮想クライアントモジュールから出力された結果イメージを基準結果イメージとして設定してもよい。このために、前記比較部２２２０は、比較を行うのに先立って、基準結果イメージを設定する過程をさらに行うことができる。
【０４１７】
この際、テスト結果イメージと基準結果イメージを比較するときには、レファレンス領域だけに対して比較を行う。入力と関係なく変化する領域は、互いに一致しないと言ってエラーがあると見なしくいからである。
【０４１８】
それでは、テスト制御部２２００は、比較結果によってクラウドストリーミングサーバの障害可否を判断し、この際、比較結果、受信したテスト結果でキャプチャした結果イメージとあらかじめ設定された基準結果イメージが互いに一致しなければ、当該クラウドストリーミングサーバは障害があると判断し、互いに一致すれば、当該クラウドストリーミングサーバに障害がないと判断する（Ｓ２４２７）。この際、比較結果は、参照符号２１３０、２１４０、２１５０のクラウドストリーミングサーバそれぞれに対してテスト制御部２２００に伝達され、テスト制御部２２００は、比較結果によって各クラウドストリーミングサーバに対する障害可否を判断するようになる。
【０４１９】
図２０は、本発明の実施例によるテスト装置２１２０においてクラウドストリーミングサーバ２１３０、２１４０、２１５０の正常動作可否をテストするための方法を示す動作流れ図である。
【０４２０】
図２０を参照すれば、本発明の一実施例によるクラウドストリーミングサーバテスト方法は、レファレンス領域を生成する（Ｓ２７１０）。レファレンス領域を生成する段階については、図２１で詳しく説明する。
【０４２１】
また、本発明の一実施例によるクラウドストリーミングサーバテスト方法は、仮想クライアントモジュールによってクラウドストリーミングサーバにテストスクリプトに相当するキー入力を伝送し、クラウドストリーミングサーバから仮想クライアントモジュールがテスト結果を受信し、テスト結果ビデオを生成する（Ｓ２７２０）。
【０４２２】
また、本発明の一実施例によるクラウドストリーミングサーバテスト方法は、テスト結果ビデオをキャプチャしてテスト結果イメージを生成する（Ｓ２７３０）。
【０４２３】
この際、クラウドストリーミングサーバに相当するテスト結果イメージは、いずれも基準サーバに相当するテスト結果イメージと同一時点にキャプチャされ得る。
【０４２４】
この際、段階Ｓ２７３０は、図１５に示された仮想クライアントモジュール２２５０、２２５２、２２５４によって行われてもよく、比較部２２２０によって行われてもよい。
【０４２５】
また、本発明の一実施例によるクラウドストリーミングサーバテスト方法は、基準サーバのテスト結果イメージを他のクラウドストリーミングサーバのテスト結果イメージと比較し、比較結果が一致するかを判断する（Ｓ２７４０、Ｓ２７５０）。
【０４２６】
この際、テスト結果イメージを比較するときには、レファレンス領域だけに対して比較を行う。入力と関係なく変化する領域は、互いに一致しないと言ってエラーがあると見なしにくいからである。
【０４２７】
比較結果が一致すれば、本発明の一実施例によるクラウドストリーミングサーバテスト方法は、当該クラウドストリーミングサーバに障害がないと判断する（Ｓ２７６０）。
【０４２８】
比較結果が一致しなければ、本発明の一実施例によるクラウドストリーミングサーバテスト方法は、当該クラウドストリーミングサーバに障害があると判断する（Ｓ２７７０）。
【０４２９】
図２１は、図２０に示されたレファレンス領域を生成する段階を示す動作流れ図である。
【０４３０】
図２１を参照すれば、図２０に示されたレファレンス領域を生成する段階は、仮想クライアントモジュールのうちいずれか１つが、前記クラウドストリーミングサーバのうちいずれか１つから繰り返された前記テストスクリプトキー入力に相当するテスト結果を受信し、動作ケースビデオを生成する（Ｓ２８１０）。
【０４３１】
この際、仮想クライアントモジュールのうちいずれか１つは、基準サーバから前記テスト結果を受信できる。
【０４３２】
また、図２０に示されたレファレンス領域を生成する段階は、前記動作ケースビデオをキャプチャして生成された動作ケースイメージを比較する（Ｓ２８２０）。
【０４３３】
この際、動作ケースイメージは、それぞれ同一の時点にキャプチャされ得る。
【０４３４】
この際、同一のテストスクリプトキー入力に相当するテスト結果によって生成された動作ケースビデオなので、同一のイメージがキャプチャされなければならないが、入力と関係なく変化する領域があり得、このような領域を検出するために比較を実施する。
【０４３５】
また、図２０に示されたレファレンス領域を生成する段階は、前記動作ケースイメージの比較結果によってレファレンス領域を生成する（Ｓ２８３０）。
【０４３６】
実施例によって、レファレンス生成部２３３０は、前記動作ケースイメージの比較結果、同一のテストスクリプトキー入力に対して差異が発生しない領域を検出し、前記領域をレファレンス領域として生成できる。
【０４３７】
例えば、時計やアニメーション等のような領域を除いた残りの領域をレファレンス領域として生成できる。
【０４３８】
図１９、図２０及び図２１に示された各段階は、図１９、図２０及び図２１に示された手順、その逆順または同時に行われることができる。
【０４３９】
本発明によるクラウドストリーミングサーバテスト方法は、多様なコンピュータ手段を介して行われることができるプログラムまたはスマートフォンアプリで具現され得る。この際、プログラムまたはスマートフォンアプリは、コンピュータ読み取り可能な媒体に記録され得る。前記コンピュータ読み取り可能な媒体は、プログラム命令、データファイル、データ構造等を単独でまたは組み合わせて含むことができる。前記媒体に記録されるプログラム命令は本発明のために特別に設計され構成されたものであるか、コンピュータソフトウェア当業者に公知されて使用可能なものであってもよい。コンピュータ読み取り可能な記録媒体の例には、ハードディスク、プロッピィーディスク及び磁気テープのような磁気媒体（ｍａｇｎｅｔｉｃ  ｍｅｄｉａ）、ＣＤ−ＲＯＭ、ＤＶＤのような光記録媒体（ｏｐｔｉｃａｌ  ｍｅｄｉａ）、フロプティカルディスク（ｆｌｏｐｔｉｃａｌ  ｄｉｓｋ）のような磁気−光媒体（ｍａｇｎｅｔｏ−ｏｐｔｉｃａｌ  ｍｅｄｉａ）、及びロム（ＲＯＭ）、ラム（ＲＡＭ）、フラッシュメモリ等のようなプログラム命令を格納し実行するように特別に構成されたすべての形態のハードウェア装置が含まれる。プログラム命令の例には、コンパイラによって作われるもののような機械語コードだけでなくインタプリタ等を使用してコンピュータによって実行され得る高級言語コードを含むことができる。このようなハードウェア装置は、本発明の動作を行うために１つ以上のソフトウェアモジュールとして作動するように構成され得、その逆も同様である。
【０４４０】
以上のように、本発明によるクラウドストリーミングサーバテスト方法、そのための装置及びシステムは、前述した実施例の構成と方法が限定されるように適用され得るものではなく、前記実施例は、多様な変形が行われるように各実施例の全部または一部が選択的に組み合わされて構成されてもよい。
【０４４１】
以下では、クラウドストリーミングサーバ管理システムについて説明する。
【０４４２】
図２２は、本発明の一実施例によるクラウドストリーミングサーバ管理システムを示すブロック図である。
【０４４３】
図２２を参照すれば、本発明の一実施例によるクラウドストリーミングサーバ管理システムは、クラウドストリーミング管理サーバ３１１０、クラウドストリーミングサーバ３１２０−１、３１２０−２、．．．、３１２０−Ｎ及びネットワーク３１３０を含む。
【０４４４】
クラウドストリーミング管理サーバ３１１０は、複数のクラウドストリーミングサーバ３１２０−１、３１２０−２、．．．、３１２０−Ｎのリアルタイム負荷情報をモニタリングし、前記複数のクラウドストリーミングサーバ３１２０−１、３１２０−２、．．．、３１２０−Ｎのプロパティを格納し、前記リアルタイム負荷情報に基づいて前記複数のクラウドストリーミングサーバ３１２０−１、３１２０−２、．．．、３１２０−Ｎのうち代表サーバと下位サーバを決定し、クラウドストリーミング管理サーバ３１１０の格納部に問題が発生した場合、前記代表サーバから前記プロパティのバックアップ本を受信し、前記格納部を復元する。
【０４４５】
この際、代表サーバは、前記下位サーバからプロパティを受信し、前記受信したプロパティのバックアップ本を格納できる。
【０４４６】
この際、クラウドストリーミング管理サーバ３１１０は、前記代表サーバが前記下位サーバのプロパティのバックアップ本を要請できるように、前記代表サーバに前記下位サーバのリストを伝送できる。
【０４４７】
この際、クラウドストリーミング管理サーバ３１１０は、前記複数のクラウドストリーミングサーバ３１２０−１、３１２０−２、．．．、３１２０−Ｎを複数のグループに分け、前記リアルタイム負荷情報に基づいて各グループ別に代表サーバと下位サーバを決定できる。
【０４４８】
クラウドストリーミングサーバ３１２０−１、３１２０−２、．．．、３１２０−Ｎは、それぞれプロパティを格納し、前記プロパティを代表サーバ及びクラウドストリーミング管理サーバ３１１０のうちいずれか１つ以上に伝送し、前記代表サーバの要請を受ければ、前記クラウドストリーミングサーバの負荷によって前記プロパティの伝送を制御する。
【０４４９】
この際、クラウドストリーミングサーバ３１２０−１、３１２０−２、．．．、３１２０−Ｎは、それぞれクラウドストリーミング管理サーバから代表サーバに決定された場合、下位サーバのプロパティのバックアップ本をさらに格納し、前記クラウドストリーミング管理サーバ３１１０の要請を受けて前記バックアップ本を伝送できる。
【０４５０】
この際、クラウドストリーミングサーバ３１２０−１、３１２０−２、．．．、３１２０−Ｎは、それぞれ前記クラウドストリーミング管理サーバ３１１０から前記下位サーバのリストを受信し、前記下位サーバにバックアップ本の伝送を要請できる。
【０４５１】
この際、クラウドストリーミングサーバ３１２０−１、３１２０−２、．．．、３１２０−Ｎは、それぞれ前記負荷が既定の程度より低い場合、前記プロパティを前記代表サーバ及び前記クラウドストリーミング管理サーバ３１１０に伝送するように制御し、そうではない場合、前記プロパティを前記代表サーバにのみ伝送するように制御できる。
【０４５２】
ネットワーク３１３０は、クラウドストリーミング管理サーバ３１１０及びクラウドストリーミングサーバ３１２０−１、３１２０−２、．．．、３１２０−Ｎの間にデータを伝達する通路を提供するものであって、既存に利用されるネットワーク及び以後に開発可能なネットワークをすべて包括する概念である。例えば、ネットワーク３１３０は、限定された地域内で各種情報装置の通信を提供する有無線近距離通信網、移動体相互間及び移動体と移動体外部との通信を提供する移動通信網、衛星を利用して地球局と地球局間の通信を提供する衛星通信網や有無線通信網のうちいずれか１つであるか、２つ以上の結合よりなることができる。一方、ネットワーク３１３０の伝送方式標準は、既存の伝送方式標準に限定されるものではなく、以後開発されるすべての伝送方式標準を含むことができる。また、図２２でクラウドストリーミング管理サーバ３１１０とクラウドストリーミングサーバ３１２０−１との間に使用されるネットワークは、クラウドストリーミング管理サーバ３１１０及びクラウドストリーミングサーバ３１２０−２の間で使用されるネットワークと異なってもよく、同一であってもよい。また、図２２でクラウドストリーミング管理サーバ３１１０とクラウドストリーミングサーバ３１２０−１またはクラウドストリーミングサーバ３１２０−２の間に使用されるネットワークは、クラウドストリーミングサーバ３１２０−１及びクラウドストリーミングサーバ３１２０−２の間で使用されるネットワークと異なってもよく、同一であってもよい。
【０４５３】
図２３は、図２２に示されたクラウドストリーミング管理サーバの一例を示すブロック図である。
【０４５４】
図２３を参照すれば、図２２に示されたクラウドストリーミング管理サーバは、モニタリング部３２１０、格納部３２２０、代表サーバ決定部３２３０及び復元部３２４０を含む。
【０４５５】
モニタリング部３２１０は、複数のクラウドストリーミングサーバのリアルタイム負荷情報をモニタリングする。
【０４５６】
この際、リアルタイム負荷情報は、クラウドストリーミングサーバの現在ユーザ数、ＣＰＵ使用率、ＧＰＵ使用率及びメモリ使用率のうちいずれか１つであるか、２つ以上の組合であることができる。
【０４５７】
格納部３２２０は、データを格納するための装置であって、主記憶装置及び補助記憶装置を含み、クラウドストリーミング管理サーバの機能動作に必要な応用プログラムを格納する。このような格納部３２２０は、大きく、プログラム領域とデータ領域を含むことができる。この際、格納部３２２０は、ハードディスク、プロッピィーディスク及び磁気テープのような磁気媒体（Ｍａｇｎｅｔｉｃ  Ｍｅｄｉａ）、ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｋ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｉｄｅｏ  Ｄｉｓｋ）のような光記録媒体（Ｏｐｔｉｃａｌ  Ｍｅｄｉａ）、フロプティカルディスク（Ｆｌｏｐｔｉｃａｌ  Ｄｉｓｋ）のような磁気−光媒体（Ｍａｇｎｅｔｏ−ｏｐｔｉｃａｌ  Ｍｅｄｉａ）及びロム（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ；ＲＯＭ）、ラム（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ；ＲＡＭ）、フラッシュメモリ（Ｆｌａｓｈ  Ｍｅｍｏｒｙ）を含む。特に、本発明による格納部３２２０は、複数のクラウドストリーミングサーバのプロパティを格納する。
【０４５８】
この際、クラウドストリーミングサーバのプロパティは、クラウドストリーミングサーバに対するデータであることができる。例えば、クラウドストリーミングサーバのプロパティは、クラウドストリーミングサーバのＩＤ、ＩＰアドレス、ポート番号、使用有無、最大接続者数及びアプリタイプのうちいずれか１つ以上であることができる。
【０４５９】
代表サーバ決定部３２３０は、前記リアルタイム負荷情報に基づいて前記複数のクラウドストリーミングサーバのうち代表サーバと下位サーバを決定する。
【０４６０】
この際、代表サーバとして決定されないクラウドストリーミングサーバを下位サーバに決定できる。
【０４６１】
この際、代表サーバは、１個であってもよいが、複数のクラウドストリーミングサーバが代表サーバとして決定され得る。
【０４６２】
実施例によって、代表サーバ決定部３２３０は、前記代表サーバが前記下位サーバのプロパティのバックアップ本を要請できるように、前記代表サーバに前記下位サーバのリストを伝送できる。
【０４６３】
この際、代表サーバが複数の場合、それぞれの代表サーバに伝送する下位サーバのリストは、異なってもよい。
【０４６４】
この際、代表サーバは、前記リストに含まれた下位サーバにプロパティの伝送を要請できる。
【０４６５】
実施例によって、代表サーバは、前記下位サーバからプロパティを受信し、前記受信したプロパティのバックアップ本を格納できる。
【０４６６】
実施例によって、代表サーバ決定部３２３０は、前記複数のクラウドストリーミングサーバを複数のグループに分け、前記リアルタイム負荷情報に基づいて各グループ別に代表サーバと下位サーバを決定できる。
【０４６７】
この際、各グループで負荷が少ないクラウドストリーミングサーバを代表サーバに決定し、グループの残りのクラウドストリーミングサーバを下位サーバに決定できる。
【０４６８】
復元部３２４０は、前記格納部３２２０に問題が発生した場合、前記代表サーバから前記プロパティのバックアップ本を受信し、前記格納部３２２０を復元する。
【０４６９】
この際、復元部３２４０は、クラウドストリーミングサーバとネットワークを介してデータを送受信するための機能を行うことができる。ここで、復元部３２４０は、送信される信号の周波数を上昇変換及び増幅するＲＦ送信手段と、受信される信号を低雑音増幅し、周波数を下降変換するＲＦ受信手段等を含むことができる。このような復元部３２４０は、無線通信モジュール（図示せず）及び有線通信モジュール（図示せず）のうち少なくとも１つを含むことができる。そして、無線通信モジュールは、無線通信方法によってデータを送受信するための構成であり、クラウドストリーミングサーバが無線通信を利用する場合、無線網通信モジュール、無線ＬＡＮ通信モジュール及び無線ＰＡＮ通信モジュールのうちいずれか１つを利用してデータをクラウドストリーミング管理サーバまたは他のクラウドストリーミングサーバに送受信できる。また、有線通信モジュールは、有線でデータを送受信するためのものである。有線通信モジュールは、有線を介してネットワークに接続し、クラウドストリーミング管理サーバまたは他のクラウドストリーミングサーバにデータを送受信できる。すなわち、クラウドストリーミングサーバは、無線通信モジュールまたは有線通信モジュールを利用してネットワークに接続し、ネットワークを介してクラウドストリーミング管理サーバまたは他のクラウドストリーミングサーバとデータを送受信できる。
【０４７０】
この際、代表サーバは、下位サーバのプロパティのバックアップ本を格納しているので、代表サーバの情報を取り集める場合、全体クラウドストリーミングサーバのプロパティをすべて取集めることができる。すなわち、格納部が格納していたプロパティを早い時間内に復元することができる。
【０４７１】
図２４は、図２２に示されたクラウドストリーミングサーバの一例を示すブロック図である。
【０４７２】
図２４を参照すれば、図２２に示されたクラウドストリーミングサーバは、格納部３３１０、通信部３３２０及び制御部３３３０を含む。
【０４７３】
格納部３３１０は、データを格納するための装置であって、主記憶装置及び補助記憶装置を含み、クラウドストリーミングサーバの機能動作に必要な応用プログラムを格納する。このような格納部３３１０は、大きく、プログラム領域とデータ領域を含むことができる。この際、格納部３３１０は、ハードディスク、プロッピィーディスク及び磁気テープのような磁気媒体（Ｍａｇｎｅｔｉｃ  Ｍｅｄｉａ）、ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｋ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｉｄｅｏ  Ｄｉｓｋ）のような光記録媒体（Ｏｐｔｉｃａｌ  Ｍｅｄｉａ）、フロプティカルディスク（Ｆｌｏｐｔｉｃａｌ  Ｄｉｓｋ）のような磁気−光媒体（Ｍａｇｎｅｔｏ−ｏｐｔｉｃａｌ  Ｍｅｄｉａ）及びロム（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ；ＲＯＭ）、ラム（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ；ＲＡＭ）、フラッシュメモリ（Ｆｌａｓｈ  Ｍｅｍｏｒｙ）を含む。特に、本発明による格納部３３１０は、クラウドストリーミングサーバのプロパティを格納する。
【０４７４】
実施例によって、クラウドストリーミング管理サーバから代表サーバに決定された場合、格納部３３１０は、下位サーバのプロパティのバックアップ本をさらに格納できる。
【０４７５】
通信部３３２０は、クラウドストリーミング管理サーバ及び他のクラウドストリーミングサーバとネットワークを介してデータを送受信するための機能を行う。ここで、通信部３３２０は、送信される信号の周波数を上昇変換及び増幅するＲＦ送信手段と、受信される信号を低雑音増幅して周波数を下降変換するＲＦ受信手段等を含む。このような通信部３３２０は、無線通信モジュール（図示せず）及び有線通信モジュール（図示せず）のうち少なくとも１つを含むことができる。そして、無線通信モジュールは、無線通信方法によってデータを送受信するための構成であり、クラウドストリーミングサーバが無線通信を利用する場合、無線網通信モジュール、無線ＬＡＮ通信モジュール及び無線ＰＡＮ通信モジュールのうちいずれか１つを利用してデータをクラウドストリーミング管理サーバまたは他のクラウドストリーミングサーバに送受信できる。また、有線通信モジュールは、有線でデータを送受信するためのものである。有線通信モジュールは、有線を介してネットワークに接続し、クラウドストリーミング管理サーバまたは他のクラウドストリーミングサーバにデータを送受信できる。すなわち、クラウドストリーミングサーバは、無線通信モジュールまたは有線通信モジュールを利用してネットワークに接続し、ネットワークを介してクラウドストリーミング管理サーバまたは他のクラウドストリーミングサーバとデータを送受信できる。特に、本発明による通信部３３２０は、前記プロパティを代表サーバ及びクラウドストリーミング管理サーバのうちいずれか１つ以上に伝送する。
【０４７６】
この際、通信部３３２０は、有線方式及び無線方式を含んで多様な通信方式を介してデータを送受信できる。
【０４７７】
この際、通信部３３２０は、それぞれ互いに異なる通信方式によってデータを送信する複数の通信モジュールを含むことができる。
【０４７８】
この際、プロパティを代表サーバに伝送する場合、代表サーバは、プロパティを受信してバックアップ本を格納できる。また、クラウドストリーミング管理サーバに伝送する場合、クラウドストリーミング管理サーバは、クラウドストリーミングサービスのためにクラウドストリーミングサーバのプロパティを格納できる。
【０４７９】
実施例によって、クラウドストリーミング管理サーバから代表サーバに決定された場合、通信部３３２０は、前記クラウドストリーミング管理サーバの要請を受けて前記バックアップ本を伝送できる。
【０４８０】
この際、クラウドストリーミング管理サーバの格納に問題が発生し、バックアップ本の伝送を要請するものであることができる。代表サーバがバックアップ本を伝送すれば、クラウドストリーミング管理サーバがバックアップ本を受信して復元することができる。
【０４８１】
実施例によって、代表サーバに決定されたクラウドストリーミングサーバは、前記クラウドストリーミング管理サーバから前記下位サーバのリストを受信し、前記下位サーバにバックアップ本の伝送を要請できる。
【０４８２】
制御部３３３０は、前記代表サーバの要請を受ければ、前記クラウドストリーミングサーバの負荷によって前記プロパティの伝送を制御する。
【０４８３】
実施例によって、制御部３３３０は、前記負荷が既定の程度より低い場合、前記プロパティを前記代表サーバ及び前記クラウドストリーミング管理サーバに伝送するように制御し、そうではない場合、前記プロパティを前記代表サーバにのみ伝送するように制御できる。
【０４８４】
すなわち、負荷が少なくて余裕があるクラウドストリーミングサーバは、代表サーバにプロパティを伝送してバックアップ本を格納するようにする一方で、クラウドストリーミング管理サーバでプロパティを格納するようにすることができる。他方、負荷が多くて余裕がないクラウドストリーミングサーバは、代表サーバにのみプロパティを伝送できる。
【０４８５】
この際、代表サーバにのみプロパティを伝送した場合、代表サーバがクラウドストリーミング管理サーバにプロパティを伝送し、最新の情報に維持するようにすることができる。
【０４８６】
図２５は、本発明の一実施例によるクラウドストリーミングサーバ管理方法（クラウドストリーミング管理サーバの観点）の一例を示す動作流れ図である。
【０４８７】
図２５を参照すれば、本発明の一実施例によるクラウドストリーミングサーバ管理方法は、複数のクラウドストリーミングサーバのリアルタイム負荷情報をモニタリングする（Ｓ３４１０）。
【０４８８】
この際、リアルタイム負荷情報は、クラウドストリーミングサーバの現在ユーザ数、ＣＰＵ使用率、ＧＰＵ使用率及びメモリ使用率のうちいずれか１つであるか、または２つ以上の組合であることができる。
【０４８９】
また、本発明の一実施例によるクラウドストリーミングサーバ管理方法は、前記複数のクラウドストリーミングサーバのプロパティを格納する（Ｓ３４２０）。
【０４９０】
この際、クラウドストリーミングサーバのプロパティは、クラウドストリーミングサーバに対するデータであることができる。例えば、クラウドストリーミングサーバのプロパティは、クラウドストリーミングサーバのＩＤ、ＩＰアドレス、ポート番号、使用有無、最大接続者数及びアプリタイプのうちいずれか１つ以上であることができる。
【０４９１】
本発明の一実施例によるクラウドストリーミングサーバ管理方法は、前記リアルタイム負荷情報に基づいて前記複数のクラウドストリーミングサーバのうち代表サーバと下位サーバを決定する（Ｓ３４３０）。
【０４９２】
この際、代表サーバに決定されないクラウドストリーミングサーバを下位サーバに決定できる。
【０４９３】
この際、代表サーバは、１個であってもよいが、複数のクラウドストリーミングサーバが代表サーバに決定されてもよい。
【０４９４】
実施例によって、代表サーバと下位サーバを決定する段階は、前記代表サーバが前記下位サーバのプロパティのバックアップ本を要請できるように前記代表サーバに前記下位サーバのリストを伝送できる。
【０４９５】
この際、代表サーバが複数の場合、それぞれの代表サーバに伝送する下位サーバのリストは、異なってもよい。
【０４９６】
この際、代表サーバは、前記リストに含まれた下位サーバにプロパティの伝送を要請できる。
【０４９７】
実施例によって、代表サーバは、前記下位サーバからプロパティを受信し、前記受信したプロパティのバックアップ本を格納できる。
【０４９８】
実施例によって、代表サーバと下位サーバを決定する段階は、前記複数のクラウドストリーミングサーバを複数のグループに分け、前記リアルタイム負荷情報に基づいて各グループ別に代表サーバと下位サーバを決定できる。
【０４９９】
この際、各グループで負荷が少ないクラウドストリーミングサーバを代表サーバに決定し、グループの残りのクラウドストリーミングサーバを下位サーバに決定できる。
【０５００】
本発明の一実施例によるクラウドストリーミングサーバ管理方法は、前記格納されたプロパティに問題が発生したか否かを感知する（Ｓ３４４０）。
【０５０１】
前記格納されたプロパティに問題が発生した場合、本発明の一実施例によるクラウドストリーミングサーバ管理方法は、前記代表サーバから前記プロパティのバックアップ本を受信し、前記格納されたプロパティを復元する（Ｓ３４５０）。
【０５０２】
この際、代表サーバは、下位サーバのプロパティのバックアップ本を格納しているので、代表サーバの情報だけを取り集める場合、全体クラウドストリーミングサーバのプロパティをすべて取り集めることができる。すなわち、格納部が格納していたプロパティを早い時間内に復元できる。
【０５０３】
図２６は、本発明の一実施例によるクラウドストリーミングサーバ管理方法（クラウドストリーミングサーバの観点）の一例を示す動作流れ図である。
【０５０４】
図２６を参照すれば、本発明の一実施例によるクラウドストリーミングサーバ管理方法は、プロパティを格納する（Ｓ３５１０）。
【０５０５】
また、本発明の一実施例によるクラウドストリーミングサーバ管理方法は、代表サーバに決定されず、下位サーバに決定された場合（Ｓ３５２０）、代表サーバからプロパティの要請を受ける（Ｓ３５３０）。
【０５０６】
また、本発明の一実施例によるクラウドストリーミングサーバ管理方法は、クラウドストリーミングサーバの負荷を判断し（Ｓ３５４０）、前記負荷が既定の程度より低い場合、前記プロパティを前記代表サーバ及び前記クラウドストリーミング管理サーバに伝送するように制御する（Ｓ３５５０）。
【０５０７】
この際、プロパティを代表サーバに伝送する場合、代表サーバは、プロパティを受信してバックアップ本を格納できる。また、クラウドストリーミング管理サーバに伝送する場合、クラウドストリーミング管理サーバは、クラウドストリーミングサービスのためにクラウドストリーミングサーバのプロパティを格納できる。
【０５０８】
また、本発明の一実施例によるクラウドストリーミングサーバ管理方法は、負荷が既定の程度より低くない場合、前記プロパティを前記代表サーバにのみ伝送するように制御する（Ｓ３５５２）。
【０５０９】
すなわち、負荷が少なくて余裕があるクラウドストリーミングサーバは、代表サーバにプロパティを伝送し、バックアップ本を格納するようにする一方で、クラウドストリーミング管理サーバでプロパティを格納するようにすることができる。他方、負荷が多くて余裕がないクラウドストリーミングサーバは、代表サーバにのみプロパティを伝送できる。
【０５１０】
この際、代表サーバにのみプロパティを伝送した場合、代表サーバがクラウドストリーミング管理サーバにプロパティを伝送し、最新の情報に維持するようにすることができる。
【０５１１】
また、本発明の一実施例によるクラウドストリーミングサーバ管理方法は、代表サーバに決定された場合（Ｓ３５２０）、前記クラウドストリーミング管理サーバから前記下位サーバのリストを受信し、前記下位サーバにバックアップ本の伝送を要請する（Ｓ３５６０）。
【０５１２】
また、本発明の一実施例によるクラウドストリーミングサーバ管理方法は、下位サーバのプロパティのバックアップ本を受信して格納する（Ｓ３５７０）。
【０５１３】
また、本発明の一実施例によるクラウドストリーミングサーバ管理方法は、前記クラウドストリーミング管理サーバの要請を受信する（Ｓ３５８０）。
【０５１４】
また、本発明の一実施例によるクラウドストリーミングサーバ管理方法は、前記バックアップ本を伝送する（Ｓ３５９０）。
【０５１５】
この際、クラウドストリーミング管理サーバの格納に問題が発生し、バックアップ本の伝送を要請するものであることができる。代表サーバがバックアップ本を伝送すれば、クラウドストリーミング管理サーバがバックアップ本を受信して復元することができる。
【０５１６】
図２７は、本発明の一実施例によるクラウドストリーミングサーバ管理方法を全体的に示す動作流れ図である。
【０５１７】
図２７を参照すれば、クラウドストリーミング管理サーバ３１１０がクラウドストリーミングサーバ３１２０−１、３１２０−２のリアルタイム負荷情報をモニタリングする（Ｓ３６１０、Ｓ３６１１）。
【０５１８】
クラウドストリーミングサーバ３１２０−１、３１２０−２がそれぞれプロパティを伝送する（Ｓ３６２０、Ｓ３６２１）。プロパティを受信したクラウドストリーミング管理サーバ３１１０は、プロパティを格納する（Ｓ３６２２）。
【０５１９】
クラウドストリーミング管理サーバ３１１０がリアルタイム負荷情報に基づいてクラウドストリーミングサーバ３１２０−１を代表サーバに決定する（Ｓ３６３０）。代表サーバに決定されなかったクラウドストリーミングサーバ３１２０−２は、下位サーバに決定される（Ｓ３６３１）。
【０５２０】
この際、クラウドストリーミング管理サーバ３１１０が複数のクラウドストリーミングサーバ３１２０−１、３１２０−２を複数のグループに分け、前記リアルタイム負荷情報に基づいて各グループ別に代表サーバと下位サーバを決定できる。
【０５２１】
クラウドストリーミング管理サーバ３１１０は、代表サーバ３１２０−１が下位サーバ３１２０−２のプロパティのバックアップ本を要請できるように、代表サーバ３１２０−１に下位サーバ３１２０−２のリストを伝送できる。
【０５２２】
代表サーバ３１２０−１は、下位サーバ３１２０−２に下位サーバ３１２０−２のプロパティの伝送を要請して、要請を受信した下位サーバ３１２０−２は、プロパティを伝送する（Ｓ３６４０）。
【０５２３】
図２７では、下位サーバ３１２０−２がプロパティを代表サーバ３１２０−１にのみ伝送するものと図示されたが、下位サーバ３１２０−２は、負荷が既定の程度より低い場合、前記プロパティを前記代表サーバ３１２０−１及び前記クラウドストリーミング管理サーバ３１１０に伝送でき、そうではない場合、前記プロパティを前記代表サーバにのみ伝送できる。
【０５２４】
代表サーバ３１２０−１は、プロパティを受信し、バックアップ本を格納する（Ｓ３６４１）。
【０５２５】
クラウドストリーミング管理サーバ３１１０は、格納部に問題が発生したことを感知する（Ｓ３６５０）。
【０５２６】
クラウドストリーミング管理サーバ３１１０は、代表サーバ３１２０−１にプロパティのバックアップ本の伝送を要請する（Ｓ３６５１）。
【０５２７】
代表サーバ３１２０−１は、クラウドストリーミング管理サーバ３１１０にプロパティのバックアップ本を伝送する（Ｓ３６６０）。
【０５２８】
クラウドストリーミング管理サーバ３１１０は、代表サーバ３１２０−１からプロパティのバックアップ本を受信し、格納部を復元する（Ｓ３６６１）。
【０５２９】
図２７では、クラウドストリーミングサーバ３１２０−１、３１２０−２が２つである場合を例示したが、クラウドストリーミングサーバは、ずっと多くてもよい。また、クラウドストリーミング管理サーバ３１１０によって決定された代表サーバ及び下位サーバは、ずっと多くてもよい。
【０５３０】
図２５、図２６及び図２７に示された各段階は、図２５、図２６及び図２７に示された手順、その逆順または同時に行われることができる。
【０５３１】
本発明によるクラウドストリーミングサーバ管理方法は、多様なコンピュータ手段を介して行われることができるプログラムまたはスマートフォンアプリで具現され得る。この際、プログラムまたはスマートフォンアプリは、コンピュータ読み取り可能な媒体に記録され得る。前記コンピュータ読み取り可能な媒体は、プログラム命令、データファイル、データ構造等を単独でまたは組み合わせて含むことができる。前記媒体に記録されるプログラム命令は本発明のために特別に設計され構成されたものであってもよく、コンピュータソフトウェア当業者に公知されて使用可能なものであってもよい。コンピュータ読み取り可能な記録媒体の例には、ハードディスク、プロッピィーディスク及び磁気テープのような磁気媒体（ｍａｇｎｅｔｉｃ  ｍｅｄｉａ）、ＣＤ−ＲＯＭ、ＤＶＤのような光記録媒体（ｏｐｔｉｃａｌ  ｍｅｄｉａ）、フロプティカルディスク（ｆｌｏｐｔｉｃａｌ  ｄｉｓｋ）のような磁気−光媒体（ｍａｇｎｅｔｏ−ｏｐｔｉｃａｌ  ｍｅｄｉａ）、及びロム（ＲＯＭ）、ラム（ＲＡＭ）、フラッシュメモリ等のようなプログラム命令を格納し実行するように特別に構成されたすべての形態のハードウェア装置が含まれる。プログラム命令の例には、コンパイラによって作われるもののような機械語コードだけでなく、インタプリタ等を使用してコンピュータによって実行され得る高級言語コードを含むことができる。このようなハードウェア装置は、本発明の動作を行うために１つ以上のソフトウェアモジュールとして作動するように構成され得、その逆も同様である。
【０５３２】
以上のように、本発明によるクラウドストリーミングサーバ管理システム、クラウドストリーミングサーバ管理方法及びそのための装置は、前述した実施例の構成と方法が限定されるように適用され得るものではなく、前記実施例は、多様な変形が行われるように各実施例の全部または一部が選択的に組み合わされて構成されてもよい。
【産業上の利用可能性】
【０５３３】
本発明は、ストリーミングサーバで実行されるアプリケーションに対して、アプリケーションの実行画面と基準イメージが一致するか否かを判断することによって、アプリケーションエラーを検出し、これにより、サーバでアプリケーションの実行時に発生し得るエラーあるいは障害を事前に防止できるようにし、サーバでのアプリケーション正常動作可否を容易に検出できるようにし、これを通じて、クラウドストリーミングサービスの安定化及びサービス品質の向上を図ることができることに照らして、本発明のクラウドストリーミングサービスのためのアプリケーションエラー検出技術は、その活用度が少なくない。
【０５３４】
また、本発明によれば、クラウドストリーミングサーバのテストをオートテスティングスクリプトによって自動化でき、クラウドストリーミングサーバのテスト中にシステム資源の利用率が最大となる最大負荷地点を把握し、最大負荷地点までにテストを行うことによって、全体テスト時間を短縮できる。さらに、クラウドストリーミングサーバのテスト結果をクラウドストリーミングサービスに活用して、ユーザにさらに効率的で且つ適切なサービスを提供することによって、産業発展に貢献できる。
【０５３５】
また、本発明は、特定のサービスを提供するクラウドストリーミングサーバの正常動作可否をテストするためのシステムに関し、特にクラウドストリーミングサービスを提供するサーバが正常に動作するかどうかを確認できるようにすることによって、クラウドストリーミングサーバでデータの伝送時に発生し得る伝送エラーあるいは障害を前もって防止できるようにし、また、クラウドストリーミングサーバの正常動作可否を容易に検出できるようにし、これを通じて、クラウドストリーミングサービスの安定化及びサービス品質の向上を図ることができ、産業の発展に貢献することができる。
【０５３６】
また、本発明によれば、クラウドストリーミング管理サーバを利用して効率的にクラウドストリーミングサーバを管理できる。
【０５３７】
また、本発明は、クラウドストリーミングサーバのうち代表サーバを決定して、クラウドストリーミングサーバの情報のバックアップ本を格納するようにすることができる。
【０５３８】
また、本発明は、クラウドストリーミング管理サーバのデータベースに問題が発生したとき、代表サーバからバックアップ本を受信し、迅速に復旧できる。
【０５３９】
また、本発明は、クラウドストリーミング管理サーバのデータベースの問題に起因してサービスが中断したとき、最大限早い時間内にサービスを再開できる。
【図１】
0006383424.tif 000002
【図２】
0006383424.tif 000003
【図３】
0006383424.tif 000004
【図４】
0006383424.tif 000005
【図５】
0006383424.tif 000006
【図６】
0006383424.tif 000007
【図７】
0006383424.tif 000008
【図８】
0006383424.tif 000009
【図９】
0006383424.tif 000010
【図１０】
0006383424.tif 000011
【図１１】
0006383424.tif 000012
【図１２】
0006383424.tif 000013
【図１３】
0006383424.tif 000014
【図１４】
0006383424.tif 000015
【図１５】
0006383424.tif 000016
【図１６】
0006383424.tif 000017
【図１７】
0006383424.tif 000018
【図１８】
0006383424.tif 000019
【図１９】
0006383424.tif 000020
【図２０】
0006383424.tif 000021
【図２１】
0006383424.tif 000022
【図２２】
0006383424.tif 000023
【図２３】
0006383424.tif 000024
【図２４】
0006383424.tif 000025
【図２５】
0006383424.tif 000026
【図２６】
0006383424.tif 000027
【図２７】
0006383424.tif 000028