(57)【特許請求の範囲】
【請求項１】
ブラウザーで動画が再生されるか否かを判断する動画再生判断部と；
前記動画の再生が感知される場合、システム資源状況に基盤して決定された動画デコーディング主体を利用して前記動画をデコーディングするデコーディング部と；
デコーディングされた前記動画に対してキャプチャ、エンコーディング及びセンディングに相当するストリーミング手続を行い、ユーザの端末にクラウドストリーミングサービスを提供する制御部と；を含み、
前記デコーディング部は、
少なくとも二つ以上のグラフィック処理ユニット（Ｇｒａｐｈｉｃｓ Ｐｒｏｃｅｓｓｉｎｇ Ｕｎｉｔ；ＧＰＵ）の使用率を測定するＧＰＵ使用率測定部と；
前記少なくとも二つ以上のグラフィック処理ユニットの使用率を基盤に前記少なくとも二つ以上のグラフィック処理ユニットのうち前記使用率が最も低いグラフィック処理ユニットを前記動画デコーディング主体として決定するＧＰＵ決定部と；
を含み,
前記ＧＰＵ決定部は、前記少なくとも二つ以上のグラフィック処理ユニットの使用率がいずれも既定の基準使用率より低い場合、前記少なくとも二つ以上のグラフィック処理ユニットのうちデコーディングを行う性能が最も良いメイングラフィック処理ユニットを利用して前記動画をデコーディングすることを特徴とするクラウドストリーミングサーバー。
【請求項２】
前記ＧＰＵ使用率測定部は、
前記少なくとも二つ以上のグラフィック処理ユニットの負荷量を計算し、前記負荷量が大きいほど前記使用率を高く測定することを特徴とする請求項１に記載のクラウドストリーミングサーバー。
【請求項３】
前記動画再生判断部は
前記ブラウザーで発生する動画再生に相当するイベントを感知し、前記動画が再生されるか否かを判断することを特徴とする請求項２に記載のクラウドストリーミングサーバー。
【請求項４】
ブラウザーで動画が再生されるか否かを判断する段階と；
前記動画の再生が感知される場合、システム資源状況に基盤して決定された動画デコーディング主体を利用して前記動画をデコーディングする段階と；
デコーディングされた前記動画に対してキャプチャ、エンコーディング及びセンディングに相当するストリーミング手続を行い、ユーザの端末にクラウドストリーミングサービスを提供する段階と；を含み、
前記デコーディングする段階は、
少なくとも二つ以上のグラフィック処理ユニット（Ｇｒａｐｈｉｃｓ Ｐｒｏｃｅｓｓｉｎｇ Ｕｎｉｔ；ＧＰＵ）の使用率を測定する段階と；
前記少なくとも二つ以上のグラフィック処理ユニットの使用率を基盤に前記少なくとも二つ以上のグラフィック処理ユニットのうち前記使用率が最も低いグラフィック処理ユニットを前記動画デコーディング主体として決定する段階と；
を含み、
前記決定する段階は、前記少なくとも二つ以上のグラフィック処理ユニットの使用率がいずれも既定の基準使用率より低い場合、前記少なくとも二つ以上のグラフィック処理ユニットのうちデコーディングを行う性能が最も良いメイングラフィック処理ユニットを利用して前記動画をデコーディングすることを特徴とする最適ＧＰＵを利用したクラウドストリーミングサービス方法。
【請求項５】
前記使用率を測定する段階は、
前記少なくとも二つ以上のグラフィック処理ユニットの負荷量を計算し、前記負荷量が大きいほど前記使用率を高く測定することを特徴とする請求項４に記載の最適ＧＰＵを利用したクラウドストリーミングサービス方法。
【請求項６】
前記判断する段階は、
前記ブラウザーで発生する動画再生に相当するイベントを感知し、前記動画が再生されるか否かを判断することを特徴とする請求項５に記載の最適ＧＰＵを利用したクラウドストリーミングサービス方法。
【請求項７】
請求項４〜６のいずれかに記載の方法を実行させるために媒体に格納されたコンピュータプログラム。
【請求項８】
ブラウザーで動画が再生されるか否かを判断し、前記動画の再生が感知される場合、システム資源状況に基盤して決定された動画デコーディング主体を利用して前記動画をデコーディングし、デコーディングされた前記動画に対してキャプチャ、エンコーディング及びセンディングに相当するストリーミング手続を行い、ユーザの端末にクラウドストリーミングサービスを提供するクラウドストリーミングサーバーと；
前記クラウドストリーミングサーバーから前記クラウドストリーミングサービスに相当するアプリケーション実行結果画面を受信する端末と；を含み、
前記クラウドストリーミングサーバーは、
少なくとも二つ以上のグラフィック処理ユニットの使用率を基盤に前記少なくとも二つ以上のグラフィック処理ユニットのうち前記使用率が最も低いグラフィック処理ユニットを前記動画デコーディング主体として決定し、
前記少なくとも二つ以上のグラフィック処理ユニットの使用率がいずれも既定の基準使用率より低い場合、前記少なくとも二つ以上のグラフィック処理ユニットのうちデコーディングを行う性能が最も良いメイングラフィック処理ユニットを利用して前記動画をデコーディングすることを特徴とするクラウドストリーミングシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
クラウドストリーミングサービスシステム、最適ＧＰＵを利用したクラウドストリーミングサービス方法及びそのための装置に関し、特に、クラウドストリーミングサービス時、システムに具備されたマルチＧＰＵのうちサービスに最適なＧＰＵを選択し、ウェブアプリケーションの動画をストリーミングし得るクラウドストリーミングサービスシステム、最適ＧＰＵを利用したクラウドストリーミングサービス方法及び装置に関する。
【０００２】
本発明は、２０１４年１０月２日に出願された韓国特許出願第１０−２０１４−０１３３１７７号の出願日の利益を主張し、その内容の全部は、本明細書に含まれる。
【背景技術】
【０００３】
クラウドストリーミングサービスが普遍化され、クラウドシステムを介してサービスし得る媒体が多様に開発され、このように多様な媒体に対するサービスの要請は、クラウドシステムの中央処理ユニット（Ｃｅｎｔｒａｌ Ｐｒｏｃｅｓｓｉｎｇ Ｕｎｉｔ；ＣＰＵ）だけでは処理しにくい状況に至った。このような問題を解決するために、グラフィック処理ユニット（Ｇｒａｐｈｉｃｓ Ｐｒｏｃｅｓｓｉｎｇ Ｕｎｉｔ；ＧＰＵ）を利用して中央処理ユニットにおいてのパケット処理を分散させることによって、より効率的にシステムの資源を活用してクラウドサービスを提供できる技術が開発され、活発に使用されている。
【０００４】
この際、ブラウザーの出力結果を利用する動画クラウドストリーミングサービス時に、ブラウザーの汎用性によって当該システムの最適デコーダーを使用するものではなく、自分だけの方法でデコーダーを決定し、動画をデコーディングする場合が発生する。例えば、クロムブラウザーの場合、２６４動画のデコーディングのために、システム要求によってソフトウェアデコーディングを行うか、グラフィック処理ユニットが複数個存在する場合、メイングラフィック処理ユニットを固定として使用するなど、最適化されたシステム資源の使用がなされない場合が多い。
【０００５】
韓国公開特許第１０−２０１２−０１３８５６７号には、携帯電話でコンテンツ再生機器を撮影し、サーバーに伝送すると、サーバーで撮影された映像からコンテンツ再生機器のコードを抽出し、抽出されたコードに基盤してコンテンツを変換して提供する技術が開示されている。
【０００６】
関連先行技術としては、韓国特許公開第１０−２０１２−００１９７１１号、２０１２年０３月０７日公開（名称：ネットワークアキテクチャー及びこれを利用したパケット処理方法）がある。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】韓国公開特許第１０−２０１２−０１３８５６７号
【特許文献２】韓国特許公開第１０−２０１２−００１９７１１号
【発明の概要】
【発明が解決しようとする課題】
【０００８】
本発明の目的は、クラウドストリーミングサービスを介して動画を提供するとき、クラウドストリーミングシステムに具備された複数のグラフィック処理ユニットを効率的に分配し、サービスを処理することによって、クラウドストリーミングシステムの資源をより効果的に使用することにある。
【０００９】
また、本発明の目的は、クラウドストリーミングシステムに具備された資源を最適で使用して少ない費用で最大の効果を出すことができるクラウドストリーミングサービス方法を提供することにある。
【００１０】
また、本発明の目的は、クラウドストリーミングシステムの効果的な資源運用を基礎にユーザに円滑なサービスを提供することにある。
【課題を解決するための手段】
【００１１】
前記目的を達成するために、本発明によるクラウドストリーミングサーバーは、ブラウザーで動画が再生されるか否かを判断する動画再生判断部と；前記動画の再生が感知される場合、システム資源状況に基盤して決定された動画デコーディング主体を利用して前記動画をデコーディングするデコーディング部と；デコーディングされた前記動画に対してキャプチャ、エンコーディング及びセンディングに相当するストリーミング手続を行い、ユーザの端末にクラウドストリーミングサービスを提供する制御部と；を含む。
【００１２】
この際、デコーディング部は、少なくとも二つ以上のグラフィック処理ユニット（Ｇｒａｐｈｉｃｓ Ｐｒｏｃｅｓｓｉｎｇ Ｕｎｉｔ；ＧＰＵ）の使用率を測定するＧＰＵ使用率測定部と；前記少なくとも二つ以上のグラフィック処理ユニットの使用率を基盤に前記少なくとも二つ以上のグラフィック処理ユニットのうち前記使用率が最も低いグラフィック処理ユニットを前記動画デコーディング主体として決定するＧＰＵ決定部と；を含むことができる。
【００１３】
この際、ＧＰＵ使用率測定部は、前記少なくとも二つ以上のグラフィック処理ユニットの負荷量を計算し、前記負荷量が大きいほど前記使用率を高く測定できる。
【００１４】
この際、動画再生判断部は、前記ブラウザーで発生する動画再生に相当するイベントを感知し、前記動画が再生されるか否かを判断できる。
【００１５】
この際、ＧＰＵ決定部は、前記少なくとも二つ以上のグラフィック処理ユニットの使用率がいずれも既定の基準使用率より低い場合、前記少なくとも二つ以上のグラフィック処理ユニットのうちメイングラフィック処理ユニットを利用して前記動画をデコーディングすることができる。
【００１６】
この際、メイングラフィック処理ユニットは、前記少なくとも二つ以上のグラフィック処理ユニットのうち前記デコーディングを行う性能が最も良いグラフィック処理ユニットであることができる。
【００１７】
また、本発明による最適ＧＰＵを利用したクラウドストリーミングサービス方法は、ブラウザーで動画が再生されるか否かを判断する段階と；前記動画の再生が感知される場合、システム資源状況に基盤して決定された動画デコーディング主体を利用して前記動画をデコーディングする段階と；デコーディングされた前記動画に対してキャプチャ、エンコーディング及びセンディングに相当するストリーミング手続を行い、ユーザの端末にクラウドストリーミングサービスを提供する段階と；を含む。
【００１８】
この際、デコーディングする段階は、少なくとも二つ以上のグラフィック処理ユニット（Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ；ＧＰＵ）の使用率を測定する段階と；前記少なくとも二つ以上のグラフィック処理ユニットの使用率を基盤に前記少なくとも二つ以上のグラフィック処理ユニットのうち前記使用率が最も低いグラフィック処理ユニットを前記動画デコーディング主体として決定する段階と；を含むことができる。
【００１９】
この際、使用率を測定する段階は、前記少なくとも二つ以上のグラフィック処理ユニットの負荷量を計算し、前記負荷量が大きいほど前記使用率を高く測定できる。
【００２０】
この際、判断する段階は、前記ブラウザーで発生する動画再生に相当するイベントを感知し、前記動画が再生されるか否かを判断できる。
【００２１】
この際、決定する段階は、前記少なくとも二つ以上のグラフィック処理ユニットの使用率がいずれも既定の基準使用率より低い場合、前記少なくとも二つ以上のグラフィック処理ユニットのうちメイングラフィック処理ユニットを利用して前記動画をデコーディングすることができる。
【００２２】
この際、メイングラフィック処理ユニットは、前記少なくとも二つ以上のグラフィック処理ユニットのうち前記デコーディングを行う性能が最も良いグラフィック処理ユニットであることができる。
【００２３】
また、本発明の課題解決のための他の手段として、前述した方法を実行させるために媒体に格納されたコンピュータプログラムを提供する。
【００２４】
また、本発明によるクラウドストリーミングサービスシステムは、ブラウザーで動画が再生されるか否かを判断し、前記動画の再生が感知される場合、システム資源状況に基盤して決定された動画デコーディング主体を利用して前記動画をデコーディングし、デコーディングされた前記動画に対してキャプチャ、エンコーディング及びセンディングに相当するストリーミング手続を行い、ユーザの端末にクラウドストリーミングサービスを提供するクラウドストリーミングサーバーと；前記クラウドストリーミングサーバーから前記クラウドストリーミングサービスに相当するアプリケーション実行結果画面を受信する端末と；を含む。
【発明の効果】
【００２５】
本発明によれば、クラウドストリーミングサービスを介して動画を提供するとき、クラウドストリーミングシステムに具備された複数のグラフィック処理ユニットを効率的に分配し、サービスを処理することによって、クラウドストリーミングシステムの資源をより効果的に使用できる。
【００２６】
また、本発明は、クラウドストリーミングシステムに具備された資源を最適で使用して少ない費用で最大の効果を出すことができるクラウドストリーミングサービス方法を提供できる。
【００２７】
また、本発明は、クラウドストリーミングシステムの効果的な資源運用を基礎にユーザに円滑なサービスを提供できる。
【図面の簡単な説明】
【００２８】
【図１】図１は、本発明の一実施例によるクラウドストリーミングサービスシステムを示すブロック図である。
【図２】図２は、図１に示されたクラウドストリーミングサーバーの一例を示すブロック図である。
【図３】図３は、図２に示されたデコーディング部の一例を示すブロック図である。
【図４】図４は、本発明の一実施例による複数のグラフィック処理ユニットを示す図である。
【図５】図５は、本発明の一実施例による最適ＧＰＵを利用したクラウドストリーミングサービス方法を示す動作流れ図である。
【図６】図６は、本発明の一実施例による最適ＧＰＵを利用したクラウドストリーミングサービス方法を詳細に示す動作流れ図である。
【発明を実施するための形態】
【００２９】
以下、本発明の好ましい実施例を添付の図面を参照して詳しく説明する。但し、下記の説明及び添付の図面において本発明の要旨を不明にすることができる公知機能又は構成に対する詳細な説明は省略する。また、図面全体にわたって、同一の構成要素は、できるだけ、同一の参照符号で示していることに留意しなければならない。
【００３０】
以下で説明される本明細書及び請求範囲に使用された用語や単語は、通常的または辞書的な意味に限定して解釈されてはならず、発明者は、自分の発明を最も最善の方法で説明するための用語の概念として適切に定義できるという原則に基づいて、本発明の技術的思想に符合する意味と概念として解釈されなければならない。したがって、本明細書に記載された実施形態と図面に示された構成は、本発明の最も好ましい一実施形態に過ぎず、本発明の技術的思想をすべて代弁するものではないので、本出願時点においてこれらを代替できる多様な均等物と変形例があり得ることを理解しなければならない。また、第１、第２等のように序数を含む用語は、多様な構成要素を説明するために使用するものであって、１つの構成要素を他の構成要素から区別する目的だけで使用され、前記構成要素を限定するために使用するものではない。
【００３１】
図１は、本発明の一実施例によるクラウドストリーミングサービスシステムを示すブロック図である。
【００３２】
図１を参照すると、本発明の一実施例によるクラウドストリーミングサービスシステムは、クラウドストリーミングサーバー１１０、端末装置１２０−１、．．．、１２０−Ｎ、アプリケーションサーバー１３０及びネットワーク１４０を含む。
【００３３】
クラウドストリーミングサーバー１１０は、端末装置１２０−１、．．．、１２０−Ｎからクラウドストリーミングサービス要請を受け、アプリケーションサーバー１３０で実行されるアプリケーション実行結果画面を端末装置１２０−１、．．．、１２０−Ｎに提供する。
【００３４】
クラウドストリーミングサーバー１１０は、ブラウザーで動画が再生されるか否かを判断する。この際、ブラウザーで発生する動画再生に相当するイベントを感知し、動画が再生されるか否かを判断できる。
【００３５】
また、クラウドストリーミングサーバー１１０は、動画の再生が感知される場合、システム資源状況に基盤して決定された動画デコーディング主体を利用して動画をデコーディングする。この際、少なくとも二つ以上のグラフィック処理ユニット（Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ；ＧＰＵ）の使用率を測定できる。この際、少なくとも二つ以上のグラフィック処理ユニットの使用率を基盤に少なくとも二つ以上のグラフィック処理ユニットのうち使用率が最も低いグラフィック処理ユニットを動画デコーディング主体として決定できる。この際、少なくとも二つ以上のグラフィック処理ユニットの負荷量を計算し、負荷量が大きいほど使用率を高く測定できる。この際、少なくとも二つ以上のグラフィック処理ユニットの使用率がいずれも既定の基準使用率より低い場合、少なくとも二つ以上のグラフィック処理ユニットのうちメイングラフィック処理ユニットを利用して動画をデコーディングすることができる。この際、メイングラフィック処理ユニットは少なくとも二つ以上のグラフィック処理ユニットのうちデコーディングを行う性能が最も良いグラフィック処理ユニットであることができる。
【００３６】
また、クラウドストリーミングサーバー１１０は、デコーディングされた動画に対してキャプチャ、エンコーディング及びセンディングに相当するストリーミング手続を行い、端末装置１２０−１、．．．、１２０−Ｎにクラウドストリーミングサービスを提供する。
【００３７】
端末装置１２０−１、．．．、１２０−Ｎは、クラウドストリーミングサーバー１１０からクラウドストリーミングサービスに相当するアプリケーション実行結果画面を受信し、ユーザに提供する。
【００３８】
端末装置１２０−１、．．．、１２０−Ｎは、それぞれ通信網に連結され、クラウドコンピュータシステム基盤でアプリケーションを実行できる装置であって、移動通信端末機に限定されるものではなく、すべての情報通信機器、マルチメディア端末、有線端末、固定型端末及びＩＰ（Ｉｎｔｅｒｎｅｔ Ｐｒｏｔｏｃｏｌ）端末などの多様な端末であることができる。また、端末装置１２０−１、．．．、１２０−Ｎは、それぞれ携帯電話、ＰＭＰ（Ｐｏｒｔａｂｌｅ Ｍｕｌｔｉｍｅｄｉａ Ｐｌａｙｅｄ）、ＭＩＤ（Ｍｏｂｉｌｅ Ｉｎｔｅｒｎｅｔ Ｄｅｖｉｃｅ）、スマートフォン（Ｓｍａｒｔ Ｐｈｏｎｅ）、デスクトップ（Ｄｅｓｋｔｏｐ）、タブレットパソコン（Ｔａｂｌｅｔ ＰＣ）、ノートパソコン（Ｎｏｔｅｂｏｏｋ）、ネットブック（ＮｅｔＢｏｏｋ）、個人携帯用情報端末（Ｐｅｒｓｏｎａｌ Ｄｉｇｉｔａｌ Ａｓｓｉｓｔａｎｔ；ＰＤＡ）、スマートテレビ及び情報通信機器などのような多様な移動通信仕様を有するモバイル（Ｍｏｂｉｌｅ）端末であることができる。
【００３９】
アプリケーションサーバー１３０は、クラウドストリーミングサーバー１１０が端末装置１２０−１、．．．、１２０−Ｎから受信した要請に応じてアプリケーションの機能を処理し、処理に対する応答をウェブサーバーに伝達できる。この際、アプリケーションサーバー１３０は、ウェブサーバーで要請を処理するために使用するか、またはウェブサーバーを介して直接呼び出されることができる。ウェブサーバーでは、アプリケーションサーバー１３０から受信した応答をウェブブラウザーを介してクラウドストリーミングサーバー１１０に伝送できる。この際、ウェッブブラウザー（ｗｅｂ ｂｒｏｗｓｅｒ）は、インターネット網で情報を検索するのに使用する応用プログラムであって、ブラウザーあるいはインターネットブラウザーとも呼ぶことができ、従来利用されるインターネットエクスプローラ、グーグルクロム、ファイアフォックス、サファリ及び将来開発可能なウェブブラウザーをすべて包括する概念である。
【００４０】
ネットワーク１４０は、クラウドストリーミングサーバー１１０と端末装置１２０−１、．．．、１２０−Ｎとの間にデータを伝達する通路を提供するものであって、従来利用されるネットワーク及び将来開発可能なネットワークをすべて包括する概念である。例えば、ネットワーク１４０は、限定された地域内で各種情報装置の通信を提供する有無線近距離通信網、移動体相互間及び移動体と移動体外部との通信を提供する移動通信網、衛星を利用して地区局と地区局間の通信を提供する衛星通信網であるか、有無線通信網のうちいずれか一つであるか、二つ以上の結合よりなることができる。なお、ネットワーク１３０の伝送方式標準は、従来の伝送方式標準に限定されるものではなく、将来開発されるすべての伝送方式標準を含むことができる。また、図１で、クラウドストリーミングサーバー１１０と端末装置１２０−１、．．．、１２０−Ｎとの間に使用されるネットワークは、端末装置１２０−１、．．．、１２０−Ｎ相互間に使用されるネットワークと異なっていてもよく、同一であってもよい。
【００４１】
図２は、図１に示されたクラウドストリーミングサーバーの一例を示すブロック図である。
【００４２】
図２を参照すると、図１に示されたクラウドストリーミングサーバー１１０は、動画再生判断部２１０、デコーディング部２２０、制御部２３０及び格納部２４０を含む。
【００４３】
動画再生判断部２１０は、ブラウザーで動画が再生されるか否かを判断する。
【００４４】
クラウドストリーミングサーバー１１０は、ユーザの端末からサービス要請を受信し、ブラウザーを介してアプリケーションサーバーにサービス要請を伝達できる。この際、アプリケーションサーバーにおいてサービス要請に相当する応答の伝達も、ブラウザーを介してクラウドストリーミングサーバー１１０に伝達され得る。
【００４５】
この際、ブラウザーで発生する動画再生に相当するイベントを感知し、動画が再生されるか否かを判断できる。この際、各種コンピュータプログラムにおいてソフトウェア構成要素間に発生する関数呼出、メッセージ及びイベントなどを中間で替えるか、横取りするフッキング（Ｈｏｏｋｉｎｇ）方法、またはオープンソースの環境の場合には、ソースを変更する方法で動画再生可否を判断できる。例えば、ブラウザーでイベントをフッキングしたとき、動画再生に相当するイベントが含まれた場合には、ユーザ端末のサービス要請に従って動画が再生されるものと判断できる。また、ユーザ端末のサービス要請を処理するアプリケーションがオープンソースで構成されると、アプリケーションサーバーでサービス要請に相当する動画を出力するとき、クラウドストリーミングサーバー１１０がデコーディングを行う前に、あらかじめ感知できるように、動画再生に相当するシグナルを発生させるソースを追加することができる。
【００４６】
デコーディング部２２０は、動画の再生が感知される場合、システム資源状況に基盤して決定された動画デコーディング主体を利用して動画をデコーディングする。ブラウザーを介して動画が再生される場合、クラウドストリーミングサーバー１１０は、当該動画をデコーディング及びレンダリングして受信し得る。この際、クラウドストリーミングサーバー１１０に具備され、動画のデコーディングを行うことができるシステム資源のうちシステム資源状況を考慮したとき、最も効率的な資源を動画デコーディング主体として決定し、デコーディングを行うことができる。
【００４７】
この際、少なくとも二つ以上のグラフィック処理ユニット（Ｇｒａｐｈｉｃｓ Ｐｒｏｃｅｓｓｉｎｇ Ｕｎｉｔ；ＧＰＵ）の使用率を測定できる。また、少なくとも二つ以上のグラフィック処理ユニットの使用率を基盤に少なくとも二つ以上のグラフィック処理ユニットのうち使用率が最も低いグラフィック処理ユニットを動画デコーディング主体として決定できる。
【００４８】
グラフィック処理ユニット（Ｇｒａｐｈｉｃｓ Ｐｒｏｃｅｓｓｉｎｇ Ｕｎｉｔ；ＧＰＵ）は、３Ｄグラフィックが本格的に導入された後、ディスプレイ画面をより現実的に作るための各種光源効果及び質感表現技法を処理するために開発された３Ｄグラフィック演算専用のプロセッサである。このようなグラフィック処理ユニットは、システム構成上、複数個が具備され得るため、複数個のグラフィック処理ユニットをどのように活用するかによってシステムの性能を大きく左右できる。例えば、Ａ、Ｂ及びＣ三つのグラフィック処理ユニットがクラウドストリーミングシステムに具備されており、それぞれのグラフィック処理ユニットの使用率を測定したとき、Ａの使用率が８０％、Ｂの使用率が５０％、そしてＣの使用率が３０％と仮定できる。この際、ユーザのサービス要請によってブラウザーで動画が再生されると、三つのグラフィック処理ユニットのうち使用率が最も低いＣに相当するグラフィック処理ユニットで動画のデコーディングを行うことによって、クラウドストリーミングサービスを提供するためのシステムの負荷量を均等に配分できる。また、このようにシステム負荷量を均等に配分し、クラウドストリーミングサービスを提供することによって、提供者の立場では、システム資源を具備する費用を節約でき、サービスの提供を受けるユーザの立場では、サービスの遅延なしに円滑なサービスの提供を受けることができる。
【００４９】
この際、少なくとも二つ以上のグラフィック処理ユニットの負荷量を計算し、負荷量が大きいほど使用率を高く測定できる。例えば、それぞれのグラフィック処理ユニットでは、処理量が多いほど負荷量が高くなることができ、処理量が多くて、負荷量が限界に到逹すると、グラフィック処理ユニットでボトルネック現象が発生し、サービス処理に遅延が発生する可能性がある。したがって、負荷量が一定水準以上のグラフィック処理ユニットには、過度にサービス処理のための実行を要求せず、より負荷量が少ない、すなわちグラフィック処理ユニットの使用率が少ないユニットに追加的なサービス処理やデコーディング実行を要請することによって、万が一発生し得るサービス遅延を事前に防止できる。
【００５０】
この際、少なくとも二つ以上のグラフィック処理ユニットの使用率がいずれも既定の基準使用率より低い場合、少なくとも二つ以上のグラフィック処理ユニットのうちメイングラフィック処理ユニットを利用して動画をデコーディングすることができる。例えば、既定の基準使用率が５０％であるとすると、少なくとも二つ以上のグラフィック処理ユニットの使用率がこれより低い場合、二つ以上のグラフィック処理ユニットのうちいずれかを使用してデコーディングを行っても、当該グラフィック処理ユニットでボトルネックが発生する可能性が非常に低いことがある。したがって、このような場合には、あらかじめ指定されたメイングラフィック処理ユニットを利用して動画のデコーディングを行うことができる。
【００５１】
この際、メイングラフィック処理ユニットは、少なくとも二つ以上のグラフィック処理ユニットのうちデコーディングを行う性能が最も良いグラフィック処理ユニットであることができる。例えば、グラフィック処理ユニットの製造社やモデルによってそれぞれの処理性能が異なることができる。もし、クラウドストリーミングサーバー１１０にＡとＢに相当する二つのグラフィック処理ユニットが具備されており、ＡがＢより性能に優れたグラフィック処理ユニットであれば、ＡとＢの使用率が同一である場合、Ａを利用して動画のデコーディングを行うことが、Ｂを利用してデコーディングを行うことよりもさらに効率的である。
【００５２】
したがって、クラウドストリーミングサーバー１１０に複数のグラフィック処理ユニットが具備された場合には、性能に最も優れたグラフィックユニットをメイングラフィック処理ユニットに設定し、前記のようにメールグラフィック処理ユニットを含む複数のグラフィック処理ユニットの使用率がいずれも既定の基準使用率より低い場合には、性能に優れたメイングラフィック処理ユニットを利用して動画のデコーディングを行うことができる。
【００５３】
また、メイングラフィック処理ユニットを含む複数のグラフィック処理ユニットの使用率がいずれも既定の基準使用率より低い場合のうちでも、メイングラフィック処理ユニットではなく、グラフィック処理ユニットの使用率が０％である場合、すなわち現在処理しているサービスがない場合には、当該グラフィック処理ユニットを利用して動画のデコーディングを行うことができる。いくらメイングラフィック処理ユニットの性能に優れていても、全然サービス処理をしていないグラフィック処理ユニットが存在すると、グラフィック処理ユニットの負荷量分配のために、使用率が０％であるグラフィック処理ユニットを利用して動画のデコーディングを行うことができる。
【００５４】
制御部２３０は、デコーディングされた動画に対してキャプチャ、エンコーディング及びセンディングに相当するストリーミング手続を行い、ユーザの端末にクラウドストリーミングサービスを提供する。この際、キャプチャ（ｃａｐｔｕｒｅ）、エンコーディング（ｅｎｃｏｄｉｎｇ）及びセンディング（ｓｅｎｄｉｎｇ）に相当するストリーミングパイプライン手続（ｓｔｒｅａｍｉｎｇ ｐｉｐｅｌｉｎｅ ｐｒｏｃｅｄｕｒｅ）には、レンダリング（ｒｅｎｄｅｒｉｎｇ）まで含み、レンダリング、キャプチャ、エンコーディング及びセンディングよりなるものと見ることができる。
【００５５】
格納部２４０は、前述したように、本発明の実施例によるクラウドストリーミングサービス過程で発生する多様な情報を格納する。
【００５６】
実施例によって、格納部２４０は、クラウドストリーミングサーバー１１０と独立的に構成され、クラウドストリーミングサービスのための機能を支援できる。この際、格納部２４０は、別途の大容量ストレージとして動作でき、動作実行のための制御機能を含むことができる。
【００５７】
また、前述したように構成されるクラウドストリーミングサーバー１１０は、一つ以上のサーバーで具現され得る。
【００５８】
なお、クラウドストリーミングサーバー１１０は、メモリが搭載され、当該装置内で情報を格納できる。一具現例の場合、メモリは、コンピュータで読み取り可能な媒体である。一具現例で、メモリは、揮発性メモリユニットであってもよく、他の具現例の場合、メモリは、非揮発性メモリユニットであってもよい。一具現例の場合、格納装置は、コンピュータで読み取り可能な媒体である。多様な互いに異なる具現例で、格納装置は、例えばハードディスク装置、光学ディスク装置、あるいはいずれの他の大容量格納装置を含むこともできる。
【００５９】
図３は、図２に示されたデコーディング部の一例を示すブロック図である。
【００６０】
図３を参照すると、図２に示されたデコーディング部２２０は、ＧＰＵ使用率測定部３１０及びＧＰＵ決定部３２０を含む。
【００６１】
ＧＰＵ使用率測定部３１０は、少なくとも二つ以上のグラフィック処理ユニットの使用率を測定する。グラフィック処理ユニットは、クラウドストリーミングサーバーの構成によって複数個が具備され得る。したがって、複数個のグラフィック処理ユニットのうちどんなグラフィック処理ユニットを使用するかを分別できる基準としてグラフィック処理ユニットの使用率を測定して使用し得る。
【００６２】
ＧＰＵ決定部３２０は、少なくとも二つ以上のグラフィック処理ユニットの使用率を基盤に少なくとも二つ以上のグラフィック処理ユニットのうち使用率が最も低いグラフィック処理ユニットを動画デコーディング主体として決定する。グラフィック処理ユニットの使用率は、当該グラフィック処理ユニットでサービス要請を処理することによって発生し得る負荷量と比例できる。したがって、使用率が高いグラフィック処理ユニットは、負荷量が高いため、ボトルネック現象による遅延が発生し得るので、使用率が最も低いグラフィック処理ユニットを動画デコーディング主体として決定し、デコーディングを行うことができる。
【００６３】
図４は、本発明の一実施例による複数のグラフィック処理ユニットを示す図である。
【００６４】
図４を参照すると、第１グラフィック処理ユニット４１０、第２グラフィック処理ユニット４２０、第Ｎグラフィック処理ユニット４３０のように、クラウドストリーミングサーバーには、Ｎ個のグラフィック処理ユニットが具備され得る。
【００６５】
グラフィック処理ユニットは、中央処理ユニット（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ；ＣＰＵ）と一緒に、クラウドストリーミングサーバーでユーザのサービス要請の処理を行うことができる。グラフィック処理ユニットは、３Ｄグラフィックが本格的に導入された後、ディスプレイ画面をより現実的に作るための各種光源効果及び質感表現技法を処理するために開発された３Ｄグラフィック演算専用のプロセッサであって、グラフィック処理ユニットは、システム構成上、複数個が具備され得るため、複数個のグラフィック処理ユニットをどのように活用するかによってシステムの性能を大きく左右できる。
【００６６】
また、クラウドストリーミングサーバーに図４のようにＮ個のグラフィック処理ユニットが具備された場合、Ｎ個のグラフィック処理ユニットのうちメイングラフィック処理ユニットを設定して使用し得る。メイングラフィック処理ユニットは、Ｎ個のグラフィック処理ユニットのうち処理性能が最も良いグラフィック処理ユニットであることができる。
このようにメイングラフィック処理ユニットを設定する理由は、次の通りである。例えば、図４のように、Ｎ個のグラフィック処理ユニットを具備したクラウドストリーミングサーバーにおいてユーザのサービス要請によって動画のデコーディングを行わなければならない場合を仮定できる。この際、第１グラフィック処理ユニット４１０から第Ｎグラフィック処理ユニット４３０まですべてのグラフィック処理ユニットの使用率を測定し、最も使用率が低いグラフィック処理ユニットを選択し、動画のデコーディングを行うことができる。この際、もし第１グラフィック処理ユニット４１０から第Ｎグラフィック処理ユニット４３０まですべてのグラフィック処理ユニットの使用率が既定の基準使用率より低いとすると、どんなグラフィック処理ユニットを利用して動画のデコーディングを行っても、クラウドストリーミングサーバーにおいてサービスの遅延が発生する可能性が少ない。したがって、このように第１グラフィック処理ユニット４１０から第Ｎグラフィック処理ユニット４３０まですべてのグラフィック処理ユニットのうちいずれかを使用しても構わない場合、処理能力が最も良いメイングラフィック処理ユニットを利用して動画のデコーディングを行うことによって、ユーザに一層円滑にクラウドストリーミングサービスを提供できる。
【００６７】
図５は、本発明の一実施例による最適ＧＰＵを利用したクラウドストリーミングサービス方法を示す動作流れ図である。
【００６８】
図５を参照すると、本発明の一実施例による最適ＧＰＵを利用したクラウドストリーミングサービス方法は、ブラウザーで動画が再生されるか否かを判断する（Ｓ５１０）。
クラウドストリーミングサーバーは、ユーザの端末からサービス要請を受信し、ブラウザーを介してアプリケーションサーバーにサービス要請を伝達できる。この際、アプリケーションサーバーでサービス要請に相当する応答の伝達も、ブラウザーを介してクラウドストリーミングサーバーに伝達され得る。
【００６９】
この際、ブラウザーで発生する動画再生に相当するイベントを感知し、動画が再生されるか否かを判断できる。この際、各種コンピュータプログラムでソフトウェア構成要素間に発生する関数呼出、メッセージ及びイベントなどを中間で替えるか、横取りするフッキング（Ｈｏｏｋｉｎｇ）方法、又はオープンソースの環境の場合には、ソースを変更する方法で動画再生可否を判断できる。例えば、ブラウザーでイベントをフッキングしたとき、動画再生に相当するイベントが含まれた場合には、ユーザ端末のサービス要請に従って動画が再生されるものと判断できる。また、ユーザ端末のサービス要請を処理するアプリケーションがオープンソースで構成されると、アプリケーションサーバーでサービス要請に相当する動画を出力するとき、クラウドストリーミングサーバーがデコーディング実行前にあらかじめ感知できるように動画再生に相当するシグナルを発生させるソースを追加できる。
【００７０】
また、本発明の一実施例による最適ＧＰＵを利用したクラウドストリーミングサービス方法は、動画の再生が感知される場合、システム資源状況に基盤して決定された動画デコーディング主体を利用して動画をデコーディングする（Ｓ５２０）。ブラウザーを介して動画が再生される場合、クラウドストリーミングサーバーは、当該動画をデコーディング及びレンダリングして受信し得る。この際、クラウドストリーミングサーバーに具備され、動画のデコーディングを行うことができるシステム資源のうちシステム資源状況を考慮したとき、最も効率的な資源を動画デコーディング主体として決定し、デコーディングを行うことができる。
【００７１】
この際、少なくとも二つ以上のグラフィック処理ユニット（Ｇｒａｐｈｉｃｓ Ｐｒｏｃｅｓｓｉｎｇ Ｕｎｉｔ；ＧＰＵ）の使用率を測定できる。また、少なくとも二つ以上のグラフィック処理ユニットの使用率を基盤に少なくとも二つ以上のグラフィック処理ユニットのうち使用率が最も低いグラフィック処理ユニットを動画デコーディング主体として決定できる。
【００７２】
グラフィック処理ユニット（Ｇｒａｐｈｉｃｓ Ｐｒｏｃｅｓｓｉｎｇ Ｕｎｉｔ；ＧＰＵ）は、３Ｄグラフィックが本格的に導入された後、ディスプレイ画面をより現実的に作るための各種光源効果及び質感表現技法を処理するために開発された３Ｄグラフィック演算専用のプロセッサである。このようなグラフィック処理ユニットは、システム構成上、複数個が具備され得るため、複数個のグラフィック処理ユニットをどのように活用するかによってシステムの性能を大きく左右できる。例えば、Ａ、Ｂ及びＣ三つのグラフィック処理ユニットがクラウドストリーミングシステムに具備されており、それぞれのグラフィック処理ユニットの使用率を測定したとき、Ａの使用率が８０％、Ｂの使用率が５０％、そしてＣの使用率が３０％であると仮定できる。この際、ユーザのサービス要請によってブラウザーで動画が再生されると、三つのグラフィック処理ユニットのうち使用率が最も低いＣに相当するグラフィック処理ユニットで動画のデコーディングを行うことによって、クラウドストリーミングサービスを提供するためのシステムの負荷量を均等に配分できる。また、このようにシステム負荷量を均等に配分し、クラウドストリーミングサービスを提供することによって、提供者の立場では、システム資源を具備する費用を節約でき、サービスの提供を受けるユーザの立場では、サービスの遅延なしに円滑なサービスの提供を受けることができる。
【００７３】
この際、少なくとも二つ以上のグラフィック処理ユニットの負荷量を計算し、負荷量が大きいほど使用率を高く測定できる。例えば、それぞれのグラフィック処理ユニットでは、処理量が多いほど負荷量が高くなることができ、処理量が多くて、負荷量が限界に到逹すると、グラフィック処理ユニットでボトルネック現象が発生し、サービス処理に遅延が発生する可能性がある。したがって、負荷量が一定水準以上のグラフィック処理ユニットには、過度にサービス処理のための実行を要求せず、より負荷量が少ない、すなわちグラフィック処理ユニットの使用率が少ないユニットに追加的なサービス処理やデコーディング実行を要請することによって、万が一発生し得るサービス遅延を事前に防止できる。
【００７４】
この際、少なくとも二つ以上のグラフィック処理ユニットの使用率がいずれも既定の基準使用率より低い場合、少なくとも二つ以上のグラフィック処理ユニットのうちメイングラフィック処理ユニットを利用して動画をデコーディングすることができる。例えば、既定の基準使用率が５０％であるとすると、少なくとも二つ以上のグラフィック処理ユニットの使用率がこれより低い場合、二つ以上のグラフィック処理ユニットのうちいずれかを使用してデコーディングを行っても、当該グラフィック処理ユニットでボトルネックが発生する可能性が非常に低いことがある。したがって、このような場合には、あらかじめ指定されたメイングラフィック処理ユニットを利用して動画のデコーディングを行うことができる。
【００７５】
この際、メイングラフィック処理ユニットは、少なくとも二つ以上のグラフィック処理ユニットのうちデコーディングを行う性能が最も良いグラフィック処理ユニットであることができる。例えば、グラフィック処理ユニットの製造社やモデルによってそれぞれの処理性能が異なってもよい。もし、クラウドストリーミングサーバーにＡとＢに相当する二つのグラフィック処理ユニットが具備されていて、ＡがＢより性能に優れたグラフィック処理ユニットであれば、ＡとＢの使用率が同一である場合、Ａを利用して動画のデコーディングを行うことが、Ｂを利用してデコーディングを行うことよりもさらに効率的である。
【００７６】
したがって、クラウドストリーミングサーバーに複数のグラフィック処理ユニットが具備された場合には、性能に最も優れたグラフィックユニットをメイングラフィック処理ユニットに設定し、前記のように、メールグラフィック処理ユニットを含む複数のグラフィック処理ユニットの使用率がいずれも既定の基準使用率より低い場合には、性能に優れたメイングラフィック処理ユニットを利用して動画のデコーディングを行うことができる。
また、メイングラフィック処理ユニットを含む複数のグラフィック処理ユニットの使用率がいずれも既定の基準使用率より低い場合のうちでも、メイングラフィック処理ユニットではなく、グラフィック処理ユニットの使用率が０％の場合、すなわち現在処理しているサービスがない場合には、当該グラフィック処理ユニットを利用して動画のデコーディングを行うことができる。いくらメイングラフィック処理ユニットの性能に優れていても、全然サービス処理をしていないグラフィック処理ユニットが存在すると、グラフィック処理ユニットの負荷量分配のためにも、使用率が０％であるグラフィック処理ユニットを利用して動画のデコーディングを行うことができる。
【００７７】
また、本発明の一実施例による最適ＧＰＵを利用したクラウドストリーミングサービス方法は、デコーディングされた動画に対してキャプチャ、エンコーディング及びセンディングに相当するストリーミング手続を行い、ユーザの端末にクラウドストリーミングサービスを提供する（Ｓ５３０）。この際、キャプチャ（ｃａｐｔｕｒｅ）、エンコーディング（ｅｎｃｏｄｉｎｇ）及びセンディング（ｓｅｎｄｉｎｇ）に相当するストリーミングパイプライン手続（ｓｔｒｅａｍｉｎｇ ｐｉｐｅｌｉｎｅ ｐｒｏｃｅｄｕｒｅ）には、レンダリング（ｒｅｎｄｅｒｉｎｇ）まで含み、レンダリング、キャプチャ、エンコーディング及びセンディングよりなるものと見ることができる。
【００７８】
また、図５には示されていないが、本発明による最適ＧＰＵを利用したクラウドストリーミングサービス方法は、前述したように、本発明の実施例によるクラウドストリーミングサービス過程で発生する多様な情報を格納する。
【００７９】
図６は、本発明の一実施例による最適ＧＰＵを利用したクラウドストリーミングサービス方法を詳細に示す動作流れ図である。
【００８０】
図６を参照すると、本発明の一実施例による最適ＧＰＵを利用したクラウドストリーミングサービス方法は、まず、ブラウザーで発生するイベントを感知する（Ｓ６１０）。
【００８１】
その後、ブラウザーで動画再生イベントが発生するかを判断する（Ｓ６１５）。
【００８２】
段階Ｓ６１５の判断結果、動画再生イベントが発生しなければ、持続的にブラウザーで発生するイベントを感知する（Ｓ６１０）。
【００８３】
段階Ｓ６１５の判断結果、動画再生イベントが発生すれば、クラウドストリーミングサーバーに具備された少なくとも二つ以上のグラフィック処理ユニットの使用率を測定する（Ｓ６２０）。
【００８４】
その後、少なくとも二つ以上のグラフィック処理ユニットの使用率がいずれも既定の基準使用率より低いか否かを判断する（Ｓ６２５）。
【００８５】
段階Ｓ６２５の判断結果、低いと、メイングラフィック処理ユニットを動画デコーディング主体として決定する（Ｓ６４０）。
【００８６】
段階Ｓ６２５の判断結果、そうではなければ、少なくとも二つ以上のグラフィック処理ユニットのうち使用率が最も低いグラフィック処理ユニットを動画デコーディング主体として決定する（Ｓ６３０）。
【００８７】
その後、決定された動画デコーディング主体を利用して動画をデコーディングする（Ｓ６５０）。
【００８８】
その後、デコーディングされた動画をレンダリング、キャプチャ、エンコーディング及びセンディングに相当するストリーミングパイプライン手続を行い、ユーザの端末にクラウドストリーミングサービスを提供する（Ｓ６６０）。
【００８９】
本発明による最適ＧＰＵを利用したクラウドストリーミングサービス方法は、多様なコンピュータ手段を用いて行われることができるプログラム命令形態で具現され、コンピュータ読み取り可能な媒体に記録され得る。前記コンピュータ読み取り可能な媒体は、プログラム命令、データファイル、データ構造などを単独でまたは組み合わせて含むことができる。前記媒体に記録されるプログラム命令は、本発明のために特別に設計され、構成されたものであるか、コンピュータソフトウェア当業者に公知されて使用可能なものであってもよい。コンピュータ読み取り可能な記録媒体の例には、ハードディスク、フロッピィーディスク及び磁気テープのような磁気媒体（ｍａｇｎｅｔｉｃ ｍｅｄｉａ）、ＣＤ−ＲＯＭ、ＤＶＤのような光記録媒体（ｏｐｔｉｃａｌ ｍｅｄｉａ）、フロップチカルディスク（ｆｌｏｐｔｉｃａｌ ｄｉｓｋ）のような磁気−光媒体（ｍａｇｎｅｔｏ−ｏｐｔｉｃａｌ ｍｅｄｉａ）、及びロム（ＲＯＭ）、ラム（ＲＡＭ）、フラッシュメモリなどのようなプログラム命令を格納し実行するように特別に構成されたすべての形態のハードウェア装置が含まれる。プログラム命令の例には、コンパイラーによって作われるもののような機械語コードだけでなく、インタプリターなどを使用してコンピュータによって実行され得る高級言語コードを含むことができる。このようなハードウェア装置は、本発明の動作を行うために一つ以上のソフトウェアモジュールとして作動するように構成され得、その逆も同様である。
【００９０】
以上のように、本発明によるクラウドストリーミングサービスシステム、最適ＧＰＵを利用したクラウドストリーミングサービス方法及びそのための装置は、前述したように説明された実施例の構成と方法が限定されるように適用され得るものではなく、前記実施例は、多様な変形が行われることができるように、各実施例の全部または一部が選択的に組合されて構成されることもできる。
【産業上の利用可能性】
【００９１】
本発明によれば、ブラウザーで動画が再生されるか否かを判断し、動画の再生が感知される場合、システム資源状況に基盤して決定された動画デコーディング主体を利用して動画をデコーディングし、デコーディングされた動画に対してキャプチャ、エンコーディング及びセンディングに相当するストリーミング手続を行い、ユーザの端末にクラウドストリーミングサービスを提供できる。また、クラウドストリーミングシステムに具備された資源を最適で使用することによって、サービス提供者は、少ない費用で最大の効果を出すことができるクラウドストリーミングサービスシステムを構成できる。
【図１】
0006466574.tif 000002
【図２】
0006466574.tif 000003
【図３】
0006466574.tif 000004
【図４】
0006466574.tif 000005
【図５】
0006466574.tif 000006
【図６】
0006466574.tif 000007