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