JP6467503B2 - クラウドストリーミングサービスシステム、メモリボトルネックを防止するためのデータ圧縮方法及びそのための装置 - Google Patents

クラウドストリーミングサービスシステム、メモリボトルネックを防止するためのデータ圧縮方法及びそのための装置 Download PDF

Info

Publication number
JP6467503B2
JP6467503B2 JP2017519439A JP2017519439A JP6467503B2 JP 6467503 B2 JP6467503 B2 JP 6467503B2 JP 2017519439 A JP2017519439 A JP 2017519439A JP 2017519439 A JP2017519439 A JP 2017519439A JP 6467503 B2 JP6467503 B2 JP 6467503B2
Authority
JP
Japan
Prior art keywords
cloud streaming
service
streaming service
buffer
screen
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2017519439A
Other languages
English (en)
Other versions
JP2017526311A (ja
Inventor
− メオン ペ、テ
− メオン ペ、テ
− シク ナ、ヒュン
− シク ナ、ヒュン
− ソ ユン、ホン
− ソ ユン、ホン
− グン ヤン、チョン
− グン ヤン、チョン
− ス イ、ドン
− ス イ、ドン
Original Assignee
エスケー テックス カンパニー、リミテッド
エスケー テックス カンパニー、リミテッド
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from KR1020140088548A external-priority patent/KR102199296B1/ko
Priority claimed from KR1020140099994A external-priority patent/KR102063093B1/ko
Priority claimed from KR1020140108120A external-priority patent/KR102199276B1/ko
Application filed by エスケー テックス カンパニー、リミテッド, エスケー テックス カンパニー、リミテッド filed Critical エスケー テックス カンパニー、リミテッド
Publication of JP2017526311A publication Critical patent/JP2017526311A/ja
Application granted granted Critical
Publication of JP6467503B2 publication Critical patent/JP6467503B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0805Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
    • H04L43/0817Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking functioning
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0823Errors, e.g. transmission errors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/50Testing arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/30Flow control; Congestion control in combination with information about buffer occupancy at either end or at transit nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/70Media network packetisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/24Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Environmental & Geological Engineering (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Information Transfer Between Computers (AREA)
  • Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

本発明は、クラウドストリーミングサービスシステム、メモリボトルネックを防止するためのデータ圧縮方法及びそのための装置(SYSTEM FOR CLOUD STREAMING SERVICE、METHOD OF COMPRESSING DATA FOR PREVENTING MEMORY BOTTLENECK AND APPARATUS FOR THE SAME)に関し、より詳細には、システムメモリ帯域幅を基盤として原本バッファデータの伝送量が基準値を超過する場合、データを圧縮し、メモリボトルネックを防止でき、クラウドストリーミングサービス時に一つのサーバで処理し得る同時接続者数による処理限界到達可否によってサービスの類型別に優先順位を適用し、クラウドストリーミングサービスを提供でき、クラウドストリーミングサービスを提供するサーバの正常動作可否及び連結エラー発生有無をテストできる技術に関する。
本発明は、2014年7月14日に出願された韓国特許出願第10−2014−0088548号、2014年8月4日に出願された韓国特許出願第10−2014−0099994号及び2014年8月20日に出願された韓国特許出願第10−2014−0108120号の出願日の利益を主張し、その内容の全部は、本明細書に含まれる。
インターネットの急速な発達は、個人の通信速度を急激に向上させる結果をもたらし、このような通信速度の向上は、遠隔地に位置するコンピュータに接続し、大容量のデータをダウンロードまたはアップロードするか、または、遠隔地コンピュータ制御プログラムを使用してまるで遠隔地コンピュータにローカルログインしたことの如き遠隔地コンピュータを利用できる環境を提供している。
また、アプリケーションをサーバで駆動させ、駆動画面は、ビデオエンコーディング(encoding)を用いて圧縮し、クライアントに伝送し、クライアントは、伝送されたビデオを再生し、まるで自分の端末でアプリケーションが駆動されることのような効果を奏する画面仮想化基盤のクラウドストリーミングサービスが注目されている。
このようなクラウドストリーミング時にキャプチャ端では、原本バッファデータをエンコーダ端に伝達し、エンコーダ端では、入力バッファデータからエンコーディングされたデータを伝送端に伝達し、クライアントにサービスする。この際、同時セッション数が多くなって、送受信されるデータ量がシステムメモリ帯域幅限界値に到逹すれば、行き交うデータによるメモリボトルネックが発生し、他の資源が残っていても、これ以上サービスを行うことができない。特に、キャプチャ端で得る原本バッファデータの場合、RGBAとしてピクセル当たり4バイトを占めるようになり、横*縦*4になり、1フレーム当たりエンコーダ端に伝達されなければならないデータ量が多くなる。したがって、セッション数やフレームレートが増加すれば、速くシステムメモリ帯域幅の限界値に到逹するようになる。
また、アプリケーションをサーバで駆動させ、駆動画面を、ビデオエンコーディング(encoding)を用いて圧縮し、クライアントに伝送させることによって、クライアントは、伝送されたビデオを再生し、まるで自分の端末でアプリケーションが駆動されることのような効果を奏する画面仮想化基盤のクラウドストリーミングサービスを提供され得る。
このようなクラウドストリーミングサービスシステムにおいて、同時にサービスが可能な同時接続者の数をふやすために、クラウドストリーミングサービスを段階別に同時に処理するためのストリーミングパイプラインを利用してサービスを並列的に処理し得る。しかしながら、同時接続者数に相当分のアプリケーションがサーバで駆動されて動作するため、ストリーミングパイプラインを利用しても、サーバの中央処理装置(Central Processing Unit)と、CPUとメモリバス(Memory BUS)の利用が集中し、当該区間にボトルネック現象が発生しやすくなることがある。このようにボトルネック現象が発生すれば、システム不安定を引き起こすので、最大処理可能な同時接続者数が制限され得る。
また、このようなクラウドストリーミングサービス基盤のコンピュータ環境においては、サーバで主要サービスや機能が実行されるため、サーバの障害可否をあらかじめ感知するための技術開発が要求される。
関連先行技術としては、韓国公開特許第10−2013−0025987号、2013年03月13日公開(名称:画面変化適応型映像処理システム)、韓国公開特許第10−2012−0062758号、2012年06月14日公開(名称:オーディオ客体を適応的にストリーミングするためのシステム)及び韓国公開特許第10−2011−0012740号、2011年04月12日公開(名称:重複コンテンツ検出装置及び検出方法)がある。
本発明の目的は、クラウドストリーミングサービス時にデータの伝送過多によるボトルネック現象を防止し、同時サービスユーザ数を増加させることにある。
また、本発明の目的は、ユーザの端末にクラウドストリーミングサービス画面を提供するとき、同じフレームを省略し、変化のあるフレームを圧縮し、提供することによって、一層効率的に資源を利用してデータを伝達することにある。
また、発明の目的は、クラウドストリーミングサービスの提供時に、サービス品質に影響を与えることなく、ボトルネック現象なしに、さらに多い数のアプリケーションをサービスし得るようにすることにある。
また、本発明の目的は、クラウドストリーミングサービスの提供時に、クライアントからサービス要請が集中されるときと、そうでないときとを区分して、サービス方法を調節することによって、一層効率的にクラウドストリーミングサービスを提供することにある。
また、本発明は、前述した従来の問題点を解決するために提案されたものであって、クラウドストリーミングサービスを提供するサーバの正常動作可否をテストし得るクラウドストリーミングサーバのテスト方法、そのための装置及びシステムを提供する。
特に、本発明の目的は、クラウドストリーミングシステムの正常動作に相当する結果を基準にテスト結果を比較し、クラウドストリーミングサーバに発生した障害を感知するに際して、一台のクラウドストリーミングサーバだけで効果的に障害可否のテストを行い、基準結果のエラーによるテストエラーの拡散を防止することにある。
前記目的を達成するために、本発明によるクラウドストリーミングサーバは、クラウドストリーミングサービス画面をキャプチャするキャプチャ部と、前記キャプチャされたクラウドストリーミングサービス画面を臨時格納するバッファから前記クラウドストリーミングサービス画面をロードし、エンコーディングするエンコーディング部と、前記エンコーディングされたクラウドストリーミングサービス画面を端末装置に伝送する通信部と、前記バッファのボトルネック発生有無を判断し、該判断結果によって前記クラウドストリーミングサービス画面を圧縮する圧縮部を含む。
この際、圧縮部は、前記バッファのデータ格納率に基づいて前記ボトルネック発生有無を決定し得る。
この際、圧縮部は、前記バッファのデータ格納率が既設定の基準格納率を超過する場合、前記バッファにボトルネックが発生し得る。
この際、圧縮部は、前記クラウドストリーミングサービス画面に相当するフレームのうち以前フレームと同じ一つ以上の同一フレームを選別し、前記一つ以上の同一フレームを前記一つ以上の同一フレームの以前フレームと同じであるというフラグに変換し得る。
この際、圧縮部は、前記クラウドストリーミングサービス画面に相当するイメージデータのフォーマットを、容量を低減できるフォーマットにエンコーディングし得る。
この際、圧縮部は、前記バッファのデータ増加率に基づいて前記ボトルネック発生有無を決定し得る。
この際、圧縮部は、既設定の単位時間ごとに前記データ増加率を計算し、前記データ増加率が既設定の基準増加率を超過する場合、前記バッファにボトルネックが発生し得る。
この際、エンコーディング部は、前記バッファからロードした前記クラウドストリーミングサービス画面が圧縮された状態である場合、圧縮を解除し、前記クラウドストリーミングサービス画面をエンコーディングし得る。
また、本発明によるクラウドストリーミングサービスのデータ圧縮方法は、クラウドストリーミングサービス画面をキャプチャ(capture)する段階と、前記キャプチャされたクラウドストリーミングサービス画面を臨時格納するバッファのボトルネック発生有無を判断し、該判断結果によって前記クラウドストリーミングサービス画面を圧縮する段階と、前記バッファから前記圧縮されたクラウドストリーミングサービス画面をロードし、エンコーディングする段階と、前記エンコーディングされたクラウドストリーミングサービス画面を端末装置に伝送する段階を含む。
この際、圧縮する段階は、前記バッファのデータ格納率に基づいて前記ボトルネック発生有無を決定し得る。
この際、圧縮する段階は、前記バッファのデータ格納率が既設定の基準格納率を超過する場合、前記バッファにボトルネックが発生したものと判断し得る。
この際、圧縮する段階は、前記クラウドストリーミングサービス画面に相当するフレームのうち以前フレームと同じ一つ以上の同一フレームを選別する段階を含み、前記一つ以上の同一フレームを前記一つ以上の同一フレームの以前フレームと同じであるというフラグに変換し得る。
この際、圧縮する段階は、前記クラウドストリーミングサービス画面に相当するイメージデータのフォーマットを、容量を低減できるフォーマットにエンコーディングし得る。
この際、圧縮する段階は、前記バッファのデータ増加率に基づいて前記ボトルネック発生有無を決定し得る。
この際、圧縮する段階は、既設定の単位時間ごとに前記データ増加率を計算する段階を含み、前記データ増加率が既設定の基準増加率を超過する場合、前記バッファにボトルネックが発生したものと判断し得る。
この際、エンコーディングする段階は、前記バッファからロードした前記クラウドストリーミングサービス画面の圧縮状態を判断する段階を含み、前記判断結果、前記クラウドストリーミングサービス画面が圧縮された状態の場合、前記圧縮を解除し、エンコーディングし得る。
また、本発明によるクラウドストリーミングサービスシステムは、クラウドストリーミングサービス画面をキャプチャし、バッファから前記クラウドストリーミングサービス画面をロードし、エンコーディングし、前記エンコーディングされたクラウドストリーミングサービス画面を端末装置に伝送し、前記バッファのボトルネック発生有無を判断し、前記クラウドストリーミングサービス画面を圧縮するクラウドストリーミングサーバと、前記クラウドストリーミングサーバからクラウドストリーミングサービスに相当するアプリケーション実行結果画面を受信する端末装置を含む。
また、前記目的を達成するために、本発明による他のクラウドストリーミングサーバは、ユーザの端末装置からサービス要請を受信する受信部と、前記サービス要請に相当するクラウドストリーミングサービスの類型を感知するサービス類型感知部と、前記クラウドストリーミングサービスの類型に基づいて前記クラウドストリーミングサービスに優先順位を付与するサービス順位設定部と、前記クラウドストリーミングサービスを並列的に同時に処理し得るストリーミングパイプラインがサービス同時処理限界に到逹したか否かを判断し、前記判断結果によって前記優先順位に相当するように前記クラウドストリーミングサービスを提供するサービス提供部を含む。
この際、サービス類型感知部は、前記クラウドストリーミングサービスでオーディオデバイスを設定するためのOPENコマンドを感知し、前記クラウドストリーミングサービスの類型が動画であるか否かを感知し得る。
この際、サービス類型感知部は、前記OPENコマンドが感知された場合、前記動画が再生中のものと判断し、前記クラウドストリーミングサービスの類型を前記動画と感知し得る。
この際、サービス類型感知部は、前記サービス要請に相当するアプリケーションの実行初期に前記サービス要請を受信しない状態で感知された前記OPENコマンドは無視し、前記サービス要請を受信した後、前記OPENコマンドが感知された場合、前記クラウドストリーミングサービスの類型を前記動画で感知し得る。
この際、サービス類型感知部は、前記サービス要請に相当するアプリケーションをキャプチャする過程でSound Open関数が感知される場合、前記クラウドストリーミングサービスの類型を前記動画で感知し得る。
この際、サービス順位設定部は、前記類型が前記動画でないクラウドストリーミングサービスの優先順位より、前記類型が前記動画であるクラウドストリーミングサービスの優先順位を低く付与し得る。
この際、サービス提供部は、前記ストリーミングパイプラインが前記サービス同時処理限界に到逹しない場合、前記優先順位と関係なく、前記サービスの要請時に、前記クラウドストリーミングサービスを前記端末装置にすぐ提供できる。
この際、サービス提供部は、前記ストリーミングパイプラインで同時に処理する前記クラウドストリーミングサービスの個数が既設定の同時処理個数以上であれば、前記ストリーミングパイプラインが前記サービス同時処理限界に到逹したものと判断し得る。
この際、既設定の同時処理個数は、前記ストリーミングパイプラインで前記クラウドストリーミングサービスを同時に処理し得る最大個数より小さいことがある。
また、本発明によるクラウドストリーミングサービス類型によるサービス処理方法は、ユーザの端末装置からサービス要請を受信する段階と、前記サービス要請に相当するクラウドストリーミングサービスの類型を感知する段階と、前記クラウドストリーミングサービスの類型に基づいて前記クラウドストリーミングサービスに優先順位を付与する段階と、前記クラウドストリーミングサービスを並列的に同時に処理し得るストリーミングパイプラインがサービス同時処理限界に到逹したか否かを判断し、前記判断結果によって前記優先順位に相当するように前記クラウドストリーミングサービスを提供する段階を含む。
この際、類型を感知する段階は、前記クラウドストリーミングサービスのオーディオデバイスを設定するためのOPENコマンドを感知し、前記クラウドストリーミングサービスの類型が動画であるか否かを感知し得る。
この際、類型を感知する段階は、前記OPENコマンドが感知された場合、前記動画が再生中のものと判断し、前記クラウドストリーミングサービスの類型を前記動画で感知し得る。
この際、前記類型を感知する段階は、前記サービス要請に相当するアプリケーションの実行初期に前記サービス要請を受信しない状態で感知された前記OPENコマンドは無視し、前記サービス要請を受信した後、前記OPENコマンドが感知された場合、前記クラウドストリーミングサービスの類型を前記動画で感知し得る。
この際、類型を感知する段階は、前記サービス要請に相当するアプリケーションをキャプチャする過程でSound Open関数が感知される場合、前記クラウドストリーミングサービスの類型を前記動画で感知し得る。
この際、優先順位を付与する段階は、前記類型が前記動画でないクラウドストリーミングサービスの優先順位より、前記類型が前記動画であるクラウドストリーミングサービスの優先順位を低く付与し得る。
この際、クラウドストリーミングサービスを提供する段階は、前記ストリーミングパイプラインが前記サービス同時処理限界に到逹しない場合、前記優先順位と関係なく、前記サービスの要請時に、前記クラウドストリーミングサービスを前記端末装置にすぐ提供できる。
この際、クラウドストリーミングサービスを提供する段階は、前記ストリーミングパイプラインで同時に処理する前記クラウドストリーミングサービスの個数が既設定の同時処理個数以上であれば、前記ストリーミングパイプラインが前記サービス同時処理限界に到逹したものと判断し得る。
この際、既設定の同時処理個数は、前記ストリーミングパイプラインで前記クラウドストリーミングサービスを同時に処理し得る最大個数より小さいことがある。
また、本発明の課題解決のためのさらに他の手段として、前述した方法を実行させるために媒体に格納されたコンピュータプログラムを提供する。
また、本発明による他のクラウドストリーミングサービスシステムは、ユーザから受信したサービス要請に相当するクラウドストリーミングサービスの類型を感知し、前記クラウドストリーミングサービスの類型に基づいて前記クラウドストリーミングサービスに優先順位を付与し、ストリーミングパイプラインがサービス同時処理限界に到逹したか否かを判断した結果によって前記優先順位に相当するように前記クラウドストリーミングサービスを提供するクラウドストリーミングサーバと、前記クラウドストリーミングサーバから前記クラウドストリーミングサービスに相当するアプリケーション実行結果画面を受信する端末を含む。
また、前記目的を達成するために、本発明によるクラウドストリーミングサーバテスト装置は、クラウドストリーミングサーバから、既設定のテストスクリプトキー入力に相当するテスト結果を受信し、テスト結果ビデオを生成する仮想クライアントモジュールと、前記クラウドストリーミングサーバの正常動作に相当する基準イメージと前記テスト結果ビデオをキャプチャして生成されたテスト結果イメージとを比較する比較部と、前記比較結果によって前記クラウドストリーミングサーバの障害可否を判断するテスト制御部を含むことを特徴とするクラウドストリーミングサーバテスト装置を含む。
この際、基準イメージは、前記クラウドストリーミングサーバの正常動作に相当し、前記既設定のテストスクリプトキー入力に相当する正常動作結果を利用して生成された、正常動作結果ビデオがキャプチャされたものであることができる。
この際、既設定のテストスクリプトキー入力によってアプリケーションで生成される画面は、アニメーション効果が排除された画面であることができる。
この際、テスト制御部は、前記比較結果、前記基準イメージと前記テスト結果イメージが互いに一致すれば、前記クラウドストリーミングサーバは、障害がないと判断し、前記基準イメージと前記テスト結果イメージが互いに一致しなければ、前記クラウドストリーミングサーバに障害があると判断し得る。
この際、テスト結果イメージは、前記基準イメージと同一時点にキャプチャされ得る。
また、本発明によるクラウドストリーミングサーバテスト方法は、クラウドストリーミングサーバの正常動作に相当する基準イメージを生成する段階と、仮想クライアントモジュールが、前記クラウドストリーミングサーバから伝送された、既設定のテストスクリプトキー入力に相当するテスト結果を受信し、テスト結果ビデオを生成する段階と、前記基準イメージと前記テスト結果ビデオをキャプチャして生成されたテスト結果イメージとを比較する段階と、前記比較結果によって前記クラウドストリーミングサーバに障害が発生したと判断する段階とを含む。
この際、基準イメージは、前記クラウドストリーミングサーバの正常動作に相当し、前記既設定のテストスクリプトキー入力に相当する正常動作結果を利用して生成された、正常動作結果ビデオがキャプチャされたものであることができる。
この際、既設定のテストスクリプトキー入力によってアプリケーションで生成される画面は、アニメーション効果が排除された画面であることができる。
この際、障害が発生したと判断する段階は、前記比較結果、前記基準イメージと前記テスト結果イメージが互いに一致すれば、前記クラウドストリーミングサーバは、障害がないと判断し、前記基準イメージと前記テスト結果イメージが互いに一致しなければ、前記クラウドストリーミングサーバに障害があると判断し得る。
この際、テスト結果イメージは、前記基準イメージと同一時点にキャプチャされ得る。
また、本発明によるクラウドストリーミングサーバのテストシステムは、障害可否のテストのために既設定のテストスクリプトキー入力に相当するテスト結果を伝送するクラウドストリーミングサーバと、前記クラウドストリーミングサーバの正常動作に相当する基準イメージと前記クラウドストリーミングサーバに相当するテスト結果ビデオをキャプチャして生成されたテスト結果イメージとを比較し、前記クラウドストリーミングサーバの障害可否を判断するテスト装置とを含む。
また、本発明の課題解決のためのさらに他の手段として、前述したクラウドストリーミングサーバテスト方法を実行させるためにコンピュータで読み取り可能な媒体に格納されたコンピュータプログラムを提供する。
本発明によれば、クラウドストリーミングサービス時に、データの伝送過多によるボトルネック現象を防止でき、クラウドストリーミングシステムにおいて同時サービスユーザ数を増加させることができる。
また、本発明は、ユーザの端末にクラウドストリーミングサービス画面を提供するとき、同じフレームを省略し、変化のあるフレームを圧縮し、提供することによって、一層効率的に資源を利用してデータを伝達し得る。
また、本発明は、クラウドストリーミングサービスの提供時に、サービス品質に影響を与えることなく、ボトルネック現象なしにさらに多い数のアプリケーションをサービスし得る。
また、本発明は、クラウドストリーミングサービスの提供時に、クライアントからサービス要請が集中されるときとそうでないときとを区分してサービス方法を調節することによって、一層効率的にクラウドストリーミングサービスを提供できる。
また、本発明は、クラウドストリーミングサービスを提供するサーバの正常動作可否をテストするにあたって、実際クライアント端末機と少なくとも一部の機能が同じ仮想クライアントモジュールを具備し、クラウドストリーミングサーバから伝送される既設定のテスト結果を、仮想クライアントモジュールを介して受信し、画面に出力するようにした後、仮想クライアントモジュールから出力される結果イメージをキャプチャし、キャプチャした結果イメージをクラウドストリーミングサーバが正常動作するときに生成された基準イメージと比較し、同じか否かによってクラウドストリーミングサーバの正常動作可否を判断することによって、クラウドストリーミングサーバの障害を一層容易に検出し得るという利点がある。
また、このようにサーバの正常動作可否を確認できるようにして、クラウドストリーミングサーバのデータ伝送エラーを前もって防止できる効果がある。
また、本発明は、クラウドストリーミングサービスを提供するサーバの障害をあらかじめ検出することによって、安定的なクラウドストリーミングサービスを提供できるようにして、サービス品質を向上させることができるという優れた効果がある。
また、クラウドストリーミングサーバの正常動作に相当する基準イメージを利用して障害可否のテストを行うことによって、一台のクラウドストリーミングサーバだけでテスト実行が可能であり、比較の基準となる結果のエラーによるテストエラーの拡散を防止する効果がある。
本発明の一実施形態によるクラウドストリーミングサービスシステムを示すブロック図である。 図1に示されたクラウドストリーミングサーバの一例を示すブロック図である。 図1に示された端末の一例を示すブロック図である。 本発明の一実施形態によるデータ圧縮方法を示す図である。 本発明の一実施形態によるクラウドストリーミングサービスのデータ圧縮方法を示す動作流れ図である。 本発明の一実施形態によるクラウドストリーミングサービス過程を示す動作流れ図である。 本発明の一実施形態による他のクラウドストリーミングサービスシステムを示すブロック図である。 図7に示されたクラウドストリーミングサーバの一例を示すブロック図である。 本発明の一実施形態によるクラウドストリーミングサービス類型によるサービス処理方法を示す動作流れ図である。 本発明の一実施形態によるクラウドストリーミングサービス類型によるサービス処理方法を詳細に示す動作流れ図である。 本発明の実施形態によるクラウドストリーミングサーバのテストシステムを示す図である。 本発明の実施形態によるクラウドストリーミングサーバテスト装置を示す図である。 本発明の実施形態によってテスト結果を受信して処理する仮想クライアントモジュールの構成を示す図である。 本発明の実施形態によるクラウドストリーミングサーバのテストシステムにおいてのテスト過程を示す流れ図である。 は、本発明の実施形態によるクラウドストリーミングサーバテスト方法を示す動作流れ図である。
以下、本発明を添付の図面を参照して詳しく説明する。ここで、繰り返される説明、本発明の要旨を不明にすることができる公知機能、及び構成に対する詳細な説明は省略する。本発明の実施形態は、当業界において平均的な知識を有する者に本発明を一層完全に説明するために提供されるものである。したがって、図面において要素の形状及びサイズなどは、より明確な説明のために誇張されることがある。
以下、本発明による好ましい実施形態を添付の図面を参照して詳細に説明する。
図1は、本発明の一実施形態によるクラウドストリーミングサービスシステムを示すブロック図である。
図1を参照すれば、本発明の一実施形態によるクラウドストリーミングサービスシステムは、クラウドストリーミングサーバ110、端末装置120−1、...、120−N及びネットワーク130を含む。
クラウドストリーミングサーバ110は、端末装置120−1、...、120−Nのうちいずれか一つの要請に応じてアプリケーションを実行し、アプリケーション実行結果に該当するアプリケーション実行結果画面を端末装置120−1、...、120−Nのうちいずれか一つに提供する。この際、クラウドストリーミングサーバ110は、クラウドストリーミングサービス画面、すなわちアプリケーション実行画面をキャプチャし得る。
クラウドストリーミングサーバ110は、キャプチャした実行画面をバッファに臨時格納してから、エンコーダ端に伝達し、エンコーディングを行った後、端末装置120−1、...、120−Nに伝送し得る。
クラウドストリーミングサーバ110は、バッファのボトルネック発生有無を判断し、バッファにボトルネックが発生したら、キャプチャされた画面を圧縮し、バッファに格納し得る。バッファのボトルネック発生有無は、バッファのデータ格納率及びデータ増加量によって判断できる。
例えば、基準格納率をバッファの全体データ格納率の90パーセントに設定した後、実際にバッファのデータ格納率が90パーセントを超過したら、バッファにボトルネックが発生したものと予想し、キャプチャされた画面を圧縮し得る。
また、既設定の単位時間ごとにバッファに格納されたデータ格納量をチェックし、データ増加率を計算し、既設定の基準増加率よりバッファのデータ増加率が高い場合、バッファにボトルネックが発生したものと予想し、キャプチャされた画面を圧縮し得る。
このようにクラウドストリーミングサーバ110は、端末装置120−1、...、120−Nの同時多発的要請によって発生し得るボトルネック現象を前もって防止することによって、クラウドストリーミングサービスを一層円滑に提供でき、ボトルネック現象によって発生し得るシステムエラーを前もって防止できる。
端末装置120−1、...、120−Nは、クラウドストリーミングサーバ110からクラウドストリーミングサービスに相当するアプリケーション実行結果画面を受信し、ユーザに提供する。
端末装置120−1、...、120−Nは、それぞれ通信網に連結され、クラウドコンピュータシステム基盤でアプリケーションを実行できる装置であって、移動体通信端末に限定されるものではなく、すべての情報通信機器、マルチメディア端末、有線端末、固定型端末及びIP(Internet Protocol)端末などの多様な端末であることができる。また、端末装置120−1、...、120−Nは、それぞれ、携帯電話、PMP(Portable Multimedia Played)、MID(Mobile Internet Device)、スマートフォン(Smart Phone)、デスクトップ(Desktop)、タブレットパソコン(Tablet PC)、ノート・パソコン(Note book)、ネットブック(Net Book)、個人携帯情報端末(Personal Digital Assistant;PDA)、スマートテレビ及び情報通信機器などのような多様な移動通信遠慮を有するモバイル(Mobile)端末であることができる。
ネットワーク130は、クラウドストリーミングサーバ110及び端末装置120−1、...、120−Nの間にデータを伝達する通路を提供するものであって、従来利用されるネットワーク及び今後開発可能なネットワークをすべて包括する概念である。例えば、ネットワーク130は、限定された地域内で各種情報装置の通信を提供する有無線近距離通信網、移動体相互間及び移動体と移動体外部との通信を提供する移動通信網、衛星を利用して地球局と地球局間の通信を提供する衛星通信網であるか、有無線通信網のうちいずれか一つであるか、二つ以上の結合よりなることができる。一方、ネットワーク130の伝送方式標準は、従来の伝送方式標準に限定されるものではなく、今後開発されるすべての伝送方式標準を含むことができる。また、図1で、クラウドストリーミングサーバ110と端末装置120−1、...、120−Nとの間に使用されるネットワークは、端末装置120−1、...、120−Nの相互間に使用されるネットワークと異なるものであってもよく、同じものであってもよい。
図2は、図1に示されたクラウドストリーミングサーバの一例を示すブロック図である。
図2を参照すれば、図2に示されたクラウドストリーミングサーバは、キャプチャ部210、エンコーディング部220、通信部230、圧縮部240及び格納部250を含む。
キャプチャ部210は、クラウドストリーミングサービス画面をキャプチャする。例えば、ネットワークを介してクラウドストリーミングサーバ110に接続した一つ以上の端末装置によってアプリケーション実行要請が受け付けられた場合、端末装置の要請に応じてクラウドストリーミングサーバ110でアプリケーションを実行し、アプリケーション実行経過に該当する実行結果画面を一つ以上の端末装置に提供できる。
エンコーディング部220は、キャプチャされたクラウドストリーミングサービス画面を臨時格納するバッファからクラウドストリーミングサービス画面をロードし、エンコーディングする。例えば、一つ以上の端末装置によるアプリケーション実行要請を受けてキャプチャしたアプリケーション実行結果画面は、キャプチャ部210とエンコーディング部220の間のデータ処理のためのバッファに格納され得る。したがって、エンコーディング部220は、バッファに格納されたアプリケーション実行結果画面をロードし、エンコーディングを行い、エンコーディングされたアプリケーション実行結果画面を一つ以上の端末装置に伝達し得る。
この際、バッファからロードしたクラウドストリーミングサービス画面が圧縮された状態である場合、圧縮を解除し、クラウドストリーミングサービス画面をエンコーディングし得る。例えば、エンコーディング部220がバッファでクラウドストリーミングサービス画面をロードするとき、クラウドストリーミングサービス画面が圧縮された状態であるか否かを確認し得る。もし圧縮された状態である場合には、圧縮を解除し、エンコーディングを行うことができる。
通信部230は、エンコーディングされたクラウドストリーミングサービス画面を端末装置に伝送する。また、通信部230は、図1に示されたネットワークのような通信網を介して多数の端末と関連した情報を送受信する役目をする。特に、本発明の実施形態による通信部230は、クラウドストリーミングサービスに対する要請を端末装置から受信し、端末装置が要請したクラウドストリーミングサービスに相当するアプリケーションの実行結果画面を端末装置に提供する。
圧縮部240は、バッファのボトルネック発生有無を判断し、該判断結果によってクラウドストリーミングサービス画面を圧縮する。
この際、バッファのデータ格納率に基づいてボトルネック発生有無を決定し得る。
この際、バッファのデータ格納率が既設定の基準格納率を超過する場合、バッファにボトルネックが発生したものと判断し得る。例えば、既設定の基準格納率をバッファの全体データ格納率の90パーセントに設定し、バッファのデータ格納率が90パーセントを超過する場合には、バッファにボトルネックが発生したものと判断し得る。
また、バッファのデータ増加率に基づいてボトルネック発生有無を決定することもできる。
この際、既設定の単位時間ごとにデータ増加率を計算し、データ増加率が既設定の基準増加率を超過する場合、バッファにボトルネックが発生したものと判断し得る。例えば、1分ごとにバッファに格納されたデータ格納量をチェックし、データ増加率を計算し、データが増加する比率が既設定の増加率を超過する場合には、バッファにボトルネックが発生したものと判断し得る。
この際、クラウドストリーミングサービス画面に相当するフレームのうち以前フレームと同じ一つ以上の同一フレームを選別し、一つ以上の同一フレームを一つ以上の同一フレームの以前フレームと同じであるというフラグに変換し得る。例えば、1番から10番までの10個のフレームのうち1番と7番のフレームだけを以前フレームと比較し、変化があり、残りの8個のフレームは、以前フレームと変化がない同じフレームであると仮定し得る。この際、1番と7番フレームだけに対して実データを伝達し得る。また、2番から6番フレームは、1番フレームと同じであるというフラグを生成し、8番から10番フレームは、7番フレームと同じであるというフラグを生成し、1番と7番の実データとともに伝達され得る。
この際、クラウドストリーミングサービス画面に相当するイメージデータのフォーマットを、容量を低減できるフォーマットにエンコーディングし得る。イメージ基盤クラウドストリーミングサービスは、ビデオ基盤クラウドストリーミングサービスに比べて圧縮率が劣るので、伝送遅延が発生する可能性が大きく、それぞれのフレームをどんなスチールイメージコーデックを利用して圧縮するかによって、伝達されるデータ量及びクラウドストリーミングサーバの負荷が大きく変わることができる。例えば、パレット基盤PNGエンコーディングの場合には、画質の劣化をもたらすことができるが、データのサイズを低減できるので、バッファのボトルネック発生の防止に役に立つことができる。
格納部250は、前述したように、本発明の実施形態によるクラウドストリーミングサービス過程で発生する多様な情報を格納する。
実施形態によって、格納部250は、クラウドストリーミングサーバ110と独立して構成され、クラウドストリーミングサービスのための機能を支援し得る。この際、格納部250は、別途の大容量ストレージで動作することができ、動作実行のための制御機能を含むことができる。
また、前述したように構成されるクラウドストリーミングサーバ110は、一つ以上のサーバで具現され得る。
一方、クラウドストリーミングサーバ110は、メモリが搭載され、その装置内で情報を格納し得る。一具現例の場合、メモリは、コンピュータで読み取り可能な媒体である。一具現例で、メモリは、揮発性メモリユニットであってもよく、他の具現例の場合、メモリは、揮発性メモリユニットであってもよい。一具現例の場合、格納装置は、コンピュータで読み取り可能な媒体である。多様な異なる具現例で、格納装置は、例えばハードディスク装置、光学ディスク装置、あるいは任意の他の大容量格納装置を含むこともできる。
図3は、図1に示された端末装置の一例を示すブロック図である。
図3を参照すれば、端末は、制御部310、通信部320、入力部330、表示部340及び格納部350を含む。
入力部330は、数字及び文字情報などの多様な情報を入力され、各種機能を設定及び端末の機能制御と関連して入力される信号を制御部310に伝達する。また、入力部330は、ユーザのタッチまたは操作による入力信号を発生するキーパッドとタッチパッドのうち少なくとも一つを含んで構成され得る。この際、入力部330は、表示部340とともに一つのタッチパネル(またはタッチスクリーン(Touch Screen))の形態で構成され、入力と表示機能を同時に行うこともできる。また、入力部330は、キーボード、キーパッド、マウス、ジョイ・スティックなどのような入力装置以外にも、今後開発され得るすべての形態の入力手段が使用され得る。特に、本発明による入力部330は、クラウドストリーミングサービスをクラウドストリーミングサーバ110に要請するか、またはクラウドストリーミングサーバ110からアプリケーション実行結果画面を提供されるための入力信号を制御部310に伝達する。
表示部340は、端末の機能実行中に発生する一連の動作状態及び動作結果などに対する情報を表示する。また、表示部340は、端末のメニュー及びユーザが入力したユーザデータなどを表示し得る。ここで、表示部340は、液晶表示装置(LCD、Liquid Crystal Display)、超薄膜液晶表示装置(TFT−LCD、Thin Film Transistor LCD)、発光ダイオード(LED、Light Emitting Diode)、有機発光ダイオード(OLED、Organic LED)、能動型有機発光ダイオード(AMOLED、Active Matrix OLED)、レチナディスプレイ(Retina Display)、フレキシブルディスプレイ(Flexible Display)及び3次元(3 Dimension)ディスプレイなどで構成され得る。この際、表示部340がタッチスクリーン形態で構成される場合、表示部340は、入力部330の機能のうち一部または全部を行うことができる。特に、本発明による表示部340は、クラウドストリーミングサービスと関連した情報を画面に表示する。
格納部350は、データを格納するための装置であって、主記憶装置及び補助記憶装置を含み、端末の機能動作に必要な応用プログラムを格納する。このような格納部350は、大きく、プログラム領域とデータ領域を含むことができる。ここで、端末は、ユーザの要請に応じて各機能を活性化する場合、制御部310の制御の下に当該応用プログラムを実行し、各機能を提供する。特に、本発明による格納部350は、端末を起動させる運営体制、クラウドストリーミングサービスをクラウドストリーミングサーバ110に要請するか、またはアプリケーション実行結果をクラウドストリーミングサーバ110から受信するためのプログラムなどを格納する。
通信部320は、クラウドストリーミングサーバ110とネットワークを介してデータを送受信するための機能を行う。ここで、通信部320は、送信される信号の周波数を上昇変換及び増幅するRF送信手段と、受信される信号を低雑音増幅し、周波数を下降変換するRF受信手段などを含むことができる。このような通信部320は、無線通信モジュール(図示せず)及び有線通信モジュール(図示せず)のうち少なくとも一つを含むことができる。また、無線通信モジュールは、無線通信方法によってデータを送受信するための構成であり、端末が無線通信を利用する場合、無線網通信モジュール、無線LAN通信モジュール及び無線LAN通信モジュールのうちいずれか一つを利用してデータをクラウドストリーミングサーバ110に送受信し得る。また、有線通信モジュールは、有線でデータを送受信するためのものである。有線通信モジュールは、有線を介して通信網に接続し、クラウドストリーミングサーバ110にデータを送受信し得る。特に、本発明による通信部320は、クラウドストリーミングサーバ110と通信し、アプリケーション実行を要請し、アプリケーション実行結果画面を受信するのに必要なデータを送受信する。
制御部310は、運営体制(OS、Operation System)及び各構成を駆動させるプロセス装置になり得る。例えば、制御部310は、クラウドストリーミングサーバ110に接続する過程全般を制御し得る。例えば、別途のサービスアプリケーションを介してクラウドストリーミングサーバ110に接続する場合、ユーザの要請に従ってサービスアプリケーションが実行される過程全般を制御でき、実行と同時にクラウドストリーミングサーバ110にサービス利用要請が伝送されるように制御でき、この際、ユーザ認証に必要な端末情報が一緒に伝送されるように制御し得る。
図4は、本発明の一実施形態によるデータ圧縮方法を示す図である。
図4を参照すれば、本発明の一実施形態によるデータ圧縮方法は、クラウドストリーミングサービス画面に相当する1からNまでのフレーム401〜405をそれぞれ以前フレームと比較し、同一フレーム410を選別してフラグに変換し得る。例えば、図4で、フレーム401からフレーム403まで同一フレーム410と言ったら、フレーム401だけに対して実データを伝送し、フレーム402とフレーム403に対しては、フレーム401と同じであるというフラグのみを生成し、圧縮し得る。また、フレーム404は、同一フレーム410に属しない変化したフレームであるため、フレーム404も、実データをエンコーダ端に送ることができる。
このようにバッファにボトルネックが発生するものと予想されたとき、キャプチャされたクラウドストリーミングサービス画面を前記の方法のように圧縮することによって、ボトルネックによるクラウドストリーミングサービスのエラーを前もって防止できる。
図5は、本発明の一実施形態によるクラウドストリーミングサービスのデータ圧縮方法を示す動作流れ図である。
図5を参照すれば、本発明の一実施形態によるクラウドストリーミングサービスのデータ圧縮方法は、クラウドストリーミングサービス画面をキャプチャする(S510)。例えば、ネットワークを介してクラウドストリーミングサーバに接続した一つ以上の端末装置によってアプリケーション実行要請が受け付けられた場合、端末装置の要請に応じてクラウドストリーミングサーバでアプリケーションを実行し、アプリケーション実行経過に該当する実行結果画面を一つ以上の端末装置に提供できる。
また、本発明の一実施形態によるクラウドストリーミングサービスのデータ圧縮方法は、キャプチャされたクラウドストリーミングサービス画面を臨時格納するバッファのボトルネック発生有無を判断し、該判断結果によってクラウドストリーミングサービス画面を圧縮する(S520)。
この際、バッファのデータ格納率に基づいてボトルネック発生有無を決定し得る。
この際、バッファのデータ格納率が既設定の基準格納率を超過する場合、バッファにボトルネックが発生したものと判断し得る。例えば、既設定の基準格納率をバッファの全体データ格納率の90パーセントに設定し、バッファのデータ格納率が90パーセントを超過する場合には、バッファにボトルネックが発生したものと判断し得る。
また、バッファのデータ増加率に基づいてボトルネック発生有無を決定することもできる。
この際、既設定の単位時間ごとにデータ増加率を計算し、データ増加率が既設定の基準増加率を超過する場合、バッファにボトルネックが発生したものと判断し得る。例えば、1分ごとにバッファに格納されたデータ格納量をチェックし、データ増加率を計算し、データが増加する比率が既設定の増加率を超過する場合には、バッファにボトルネックが発生したものと判断し得る。
この際、クラウドストリーミングサービス画面に相当するフレームのうち以前フレームと同じ一つ以上の同一フレームを選別し、一つ以上の同一フレームを一つ以上の同一フレームの以前フレームと同じであるというフラグに変換し得る。例えば、1番から10番までの10個のフレームのうち1番と7番フレームだけを以前フレームと比較し、変化があり、残りの8個のフレームは、以前フレームと変化がない同じフレームであると仮定し得る。この際、1番と7番フレームだけに対して実データを伝達し得る。また、2番から6番フレームは、1番フレームと同じであるというフラグを生成し、8番から10番フレームは、7番フレームと同じであるというフラグを生成し、1番と7番の実データとともに伝達され得る。
この際、クラウドストリーミングサービス画面に相当するイメージデータのフォーマットを、容量を低減できるフォーマットにエンコーディングし得る。イメージ基盤クラウドストリーミングサービスは、ビデオ基盤クラウドストリーミングサービスに比べて圧縮率が劣るので、伝送遅延が発生する可能性が大きく、それぞれのフレームをどんなスチールイメージコーデックを利用して圧縮するかによって、伝達されるデータ量及びクラウドストリーミングサーバの負荷が大きく変わることができる。例えば、パレット基盤PNGエンコーディングの場合には、画質の劣化をもたらすことができるが、データの大きさを低減できるので、バッファのボトルネック発生の防止に役に立つことができる。
また、本発明の一実施形態によるクラウドストリーミングサービスのデータ圧縮方法は、バッファから圧縮されたクラウドストリーミングサービス画面をロードし、エンコーディングする(S530)。例えば、一つ以上の端末装置によるアプリケーション実行要請を受けてキャプチャしたアプリケーション実行結果画面は、キャプチャ部とエンコーディング部の間のデータ処理のためのバッファに格納され得る。したがって、エンコーディング部は、バッファに格納されたアプリケーション実行結果画面をロードし、エンコーディングを行い、エンコーディングされたアプリケーション実行結果画面を一つ以上の端末装置に伝達し得る。
この際、バッファからロードしたクラウドストリーミングサービス画面が圧縮された状態である場合、圧縮を解除し、クラウドストリーミングサービス画面をエンコーディングし得る。例えば、エンコーディング部がバッファでクラウドストリーミングサービス画面をロードするとき、クラウドストリーミングサービス画面が圧縮された状態であるか否かを確認し得る。もし圧縮された状態である場合には、圧縮を解除し、エンコーディングを行うことができる。
また、本発明の一実施形態によるクラウドストリーミングサービスのデータ圧縮方法は、エンコーディングされたクラウドストリーミングサービス画面を端末装置に伝送する(S540)。この際、ネットワークのような通信網を介して多数の端末装置と関連した情報を送受信し得る。
図6は、本発明の一実施形態によるクラウドストリーミングサービス過程を示す動作流れ図である。
図6を参照すれば、本発明の一実施形態によるクラウドストリーミングサービス過程は、まず、一つ以上の端末装置からクラウドストリーミングサービスに相当する要請を受信する(S610)。
クラウドストリーミングサーバは、一つ以上の端末装置の要請に該当するクラウドストリーミングサービス画面をキャプチャする(S620)。クラウドストリーミングサーバは、要請に応じてアプリケーションを実行し、アプリケーション実行結果に該当するアプリケーション実行結果画面をキャプチャし得る。
クラウドストリーミングサーバは、キャプチャ部からエンコーディング部にクラウドストリーミングサービス画面を伝達する過程でクラウドストリーミングサービス画面を臨時格納するバッファにボトルネックが発生したか否かを判断する(S625)。
この際、バッファのボトルネック発生有無は、バッファのデータ格納率及びデータ増加量によって判断し得る。
例えば、基準格納率をバッファの全体データ格納率の90パーセントに設定した後、実際にバッファのデータ格納率が90パーセントを超過したら、バッファにボトルネックが発生したものと予想し、キャプチャされた画面を圧縮し得る。
また、既設定の単位時間ごとにバッファに格納されたデータ格納量をチェックし、データ増加率を計算し、既設定の基準増加率よりバッファのデータ増加率が高い場合、バッファにボトルネックが発生したものと予想し、キャプチャされた画面を圧縮し得る。
段階S625の判断結果、バッファにボトルネックが発生したら、クラウドストリーミングサービス画面を圧縮する(S630)。
この際、クラウドストリーミングサービス画面に相当するフレームのうち以前フレームと同じ一つ以上の同一フレームを選別し、一つ以上の同一フレームを一つ以上の同一フレームの以前フレームと同じであるというフラグに変換し得る。
この際、クラウドストリーミングサービス画面に相当するイメージデータのフォーマットを、容量を低減できるフォーマットにエンコーディングし得る。
段階S625の判断結果、バッファにボトルネックが発生しなかったら、エンコーダでバッファに格納されたクラウドストリーミングサービス画面をロードし、エンコーディングする(S640)。また、バッファでボトルネックが発生して圧縮されたクラウドストリーミングサービス画面をロードし、エンコーディングすることもできる。
クラウドストリーミングサーバは、エンコーディングされたクラウドストリーミングサービス画面を端末装置に伝送する(S650)。
図7は、本発明の一実施形態による他のクラウドストリーミングサービスシステムを示すブロック図である。
図7を参照すれば、本発明の一実施形態による他のクラウドストリーミングサービスシステムは、クラウドストリーミングサーバ710、端末装置720−1、...、720−N及びネットワーク730を含む。
クラウドストリーミングサーバ710は、ユーザの端末装置720−1、...、720−Nからサービス要請を受信する。端末装置720−1、...、720−Nでアプリケーションを駆動させるには、多くの格納空間と処理能力を必要とするため、クラウドストリーミングサーバ710で駆動されたアプリケーションの駆動画面を圧縮して提供を受けるために、クラウドストリーミングサーバ710にアプリケーションを実行するためのサービスを要請し得る。
また、クラウドストリーミングサーバ710は、サービス要請に相当するクラウドストリーミングサービスの類型を感知する。この際、クラウドストリーミングサービスでオーディオデバイスを設定するためのOPENコマンドを感知し、クラウドストリーミングサービスの類型が動画であるか否かを感知し得る。この際、OPENコマンドが感知された場合には、動画が再生中のものと判断し、クラウドストリーミングサービスの類型を動画で感知し得る。この際、サービス要請に相当するアプリケーションの実行初期にサービス要請を受信しない状態で感知されたOPENコマンドは無視し、サービス要請を受信した後、OPENコマンドが感知された場合、クラウドストリーミングサービスの類型を動画で感知し得る。また、サービス要請に相当するアプリケーションをキャプチャする過程でSound Open関数が感知される場合にも、クラウドストリーミングサービスの類型を動画で感知し得る。
また、クラウドストリーミングサーバ710は、クラウドストリーミングサービスの類型に基づいてクラウドストリーミングサービスに優先順位を付与する。この際、類型が動画でないクラウドストリーミングサービスの優先順位より、類型が動画であるクラウドストリーミングサービスの優先順位を低く付与し得る。
また、クラウドストリーミングサーバ710は、クラウドストリーミングサービスを並列的に同時に処理し得るストリーミングパイプラインがサービス同時処理限界に到逹したか否かを判断し、該判断結果によって優先順位に相当するようにクラウドストリーミングサービスを提供する。この際、ストリーミングパイプラインがサービス同時処理限界に到逹しない場合には、優先順位と関係なく、サービス要請時に、クラウドストリーミングサービスを端末装置にすぐ提供できる。また、ストリーミングパイプラインで同時に処理するクラウドストリーミングサービスの個数が既設定の同時処理個数以上であれば、ストリーミングパイプラインがサービス同時処理限界に到逹したものと判断し得る。この際、既設定の同時処理個数は、ストリーミングパイプラインでクラウドストリーミングサービスを同時に処理し得る最大個数より小さいことがある。
端末装置720−1、...、720−Nは、クラウドストリーミングサーバ710からクラウドストリーミングサービスに相当するアプリケーション実行結果画面を受信し、ユーザに提供する。
端末装置720−1、...、720−Nは、それぞれ通信網に連結され、クラウドコンピュータシステム基盤でアプリケーションを実行できる装置であって、移動体通信端末に限定されるものではなく、すべての情報通信機器、マルチメディア端末、有線端末、固定型端末及びIP(Internet Protocol)端末などの多様な端末であることができる。また、端末装置720−1、...、720−Nは、それぞれ、携帯電話、PMP(Portable Multimedia Player)、MID(Mobile Internet Device)、スマートフォン(Smart Phone)、デスクトップ(Desktop)、タブレットパソコン(Tablet PC)、ノート・パソコン(Note book)、ネットブック(Net book)、個人携帯情報端末(Personal Digital Assistant;PDA)、スマートテレビ及び情報通信機器などのような多様な移動通信遠慮を有するモバイル(Mobile)端末であることができる。
ネットワーク730は、クラウドストリーミングサーバ710及び端末装置720−1、...、720−Nの間にデータを伝達する通路を提供するものであって、従来利用されるネットワーク及び今後開発可能なネットワークをすべて包括する概念である。例えば、ネットワーク730は、限定された地域内で各種情報装置の通信を提供する有無線近距離通信網、移動体相互間及び移動体と移動体外部との通信を提供する移動通信網、衛星を利用して地球局と地球局間の通信を提供する衛星通信網であるか、有無線通信網のうちいずれか一つであるか、二つ以上の結合よりなることができる。一方、ネットワーク130の伝送方式標準は、従来の伝送方式標準に限定されるものではなくて、今後開発されるすべての伝送方式標準を含むことができる。また、図7で、クラウドストリーミングサーバ710と端末装置720−1、...、720−Nとの間に使用されるネットワークは、端末装置720−1、...、720−N相互間に使用されるネットワークと異なってもよく、同じでもよい。
図8は、図7に示されたクラウドストリーミングサーバの一例を示すブロック図である。
図8を参照すれば、図7に示されたクラウドストリーミングサーバ710は、受信部810、サービス類型感知部820、サービス順位設定部830及びサービス提供部840を含む。
受信部810は、ユーザの端末装置からサービス要請を受信する。端末装置でアプリケーションを駆動させるには、端末装置が多い格納空間と高い処理能力を必要とすることができる。したがって、クラウドストリーミングサーバ710でアプリケーションを駆動させた後、アプリケーションの駆動画面を圧縮して提供を受けるために、クラウドストリーミングサーバ710にアプリケーションを実行させるためのサービスを要請し得る。
サービス類型感知部820は、サービス要請に相当するクラウドストリーミングサービスの類型を感知する。クラウドストリーミングサーバ710に要請されるサービスの中には、サービス要請を受信する直ちに反応し、サービスを提供しなければならない類型がある一方で、サービス要請を受信しても、直ちに反応しなくてもよい類型が存在し得る。例えば、ゲームのような場合には、ユーザからサービス要請が受信される場合、すぐサービスを提供しなければならず、ユーチューブで動画を再生する場合には、設定FPS(frame per second)を調整できると、当該サービスの処理手順を延ばすことができる余地が生ずることができる。したがって、クラウドストリーミングサービスの類型によってサービスを処理する手順をスケジュールし、一層円滑にクラウドストリーミングサーバを運営し得る。
この際、クラウドストリーミングサービスでオーディオデバイスを設定するためのOPENコマンドを感知し、クラウドストリーミングサービスの類型が動画であるか否かを感知し得る。動画には、ビデオとともにオーディオが含まれていてもよく、動画でオーディオを支援するためには、オーディオを支援するデバイスを設定する必要がある。したがって、OPEN及びCLOSEなどのコマンドを利用してオーディオを支援するデバイスを設定できる。例えば、OPENコマンドを介してオーディオとビデオ再生を支援するMCI(Media Control Interface)デバイスを呼び出して設定し、CLOSEコマンドを介して設定を終了することによって、MCIデバイスの設定に相当する動画ファイルを再生し得る。したがって、オーディオデバイスを設定するためのOPENコマンド感知を介して当該クラウドストリーミングサービスの類型が動画であるかを確認できる。
この際、OPENコマンドが感知された場合、動画が再生中のものと判断し、クラウドストリーミングサービスの類型を動画で感知し得る。例えば、特定のクラウドストリーミングサービスでオーディオデバイスを設定するためのOPENコマンドが感知されると、当該クラウドストリーミングサービスの類型がオーディオの含まれた動画ファイルであると判断し得る。
この際、サービス要請に相当するアプリケーションの実行初期にサービス要請を受信しない状態で感知されたOPENコマンドは無視し、サービス要請を受信した後、OPENコマンドが感知された場合、クラウドストリーミングサービスの類型を動画で感知し得る。例えば、クラウドストリーミングサービスの類型がゲームである場合にも、アプリケーション実行初期には、オーディオデバイスを設定するためのOPENコマンドが感知され得、本発明による感知方式は、ユーザからサービス要請を受信した後に感知されるOPENコマンドだけに対してクラウドストリーミングサービスの類型を動画で感知するに使用され得る。したがって、クラウドストリーミングサービスの類型を感知するためのものであって、アプリケーション実行初期にユーザからのサービス要請が受信されない状態で感知されるOPENコマンドは、無視し得る。
また、クラウドストリーミングサービスの類型がゲームである場合にも、アプリケーションを実行させた後、ユーザからサービス要請を受信した後、オーディオデバイスを支援するためのOPENコマンドが感知されると、当該サービス要請に対してはクラウドストリーミングサービスの類型を動画で感知し、処理し得る。
この際、サービス要請に相当するアプリケーションをキャプチャする過程でSound Open関数が感知される場合、クラウドストリーミングサービスの類型を動画で感知し得る。例えば、クラウドストリーミングサービスを介して提供されるアプリケーションがクラウドストリーミングの用途に製作されないため、動画を再生するかを把握し、感知し得る。このような場合には、ユーザが端末装置でサービス要請のためのクリックイベントを発生させた後、クラウドストリーミングサーバ710で当該アプリケーションをキャプチャする過程でSound Open関数が存在するか否かを感知し得る。Sound Open関数が感知される場合には、当該クラウドストリーミングサービスの類型を動画に区分し得る。
サービス順位設定部830は、クラウドストリーミングサービスの類型に基づいてクラウドストリーミングサービスに優先順位を付与する。前記で説明したように、クラウドストリーミングサーバ710に要請されるサービスには、サービス要請を受信する直ちに反応しなければならないゲームのような類型と、サービス要請を受信しても、実際サービスを提供するまである程度処理を延ばすことができる動画のような類型が存在し得る。したがって、サービスの類型によって直ちに処理しなければならないクラウドストリーミングサービスには、優先順位を高く付与し、直ちに処理しなくてもよいクラウドストリーミングサービスは、優先順位を低く付与する方式でサービスを処理するストリーミングパイプラインをスケジューリングすることによって、一層円滑なクラウドストリーミングサービスを提供できる。
この際、類型が動画でないクラウドストリーミングサービスの優先順位より、類型が動画であるクラウドストリーミングサービスの優先順位を低く付与し得る。例えば、ゲームのような類型のクラウドストリーミングサービスは、動画より優先順位を高く付与することによって、ユーザに一層迅速にサービスを提供できる。
サービス提供部840は、クラウドストリーミングサービスを並列的に同時に処理し得るストリーミングパイプラインがサービス同時処理限界に到逹したか否かを判断し、該判断結果によって優先順位に相当するようにクラウドストリーミングサービスを提供する。
パイプラインは、コンピュータの中央処理装置を最適化して使用できるデータ処理過程であって、一つのプロセッサを異なる機能を有する多数のサブプロセッサーに分けて、それぞれのサブプロセッサーが同時に異なるデータを処理するように設計する方式である。例えば、コンピュータコマンドは、一般的に引出、分析、内容引出及び実行の4段階を進行し、パイプライン方式を適用しなければ、コンピュータプロセッサがコマンドを入力された順に一つずつ段階によって処理するしかない。しかし、パイプライン方式では、コマンドを並列処理し得るので、処理速度を高めることができる。したがって、このようなパイプラインをクラウドストリーミングサーバ710に適用し、クラウドストリーミングサービスを段階別に並列処理することによって、クラウドストリーミングサーバ710のサービス速度を向上させることができる。
このようなストリーミングパイプラインにも、同時にサービスを処理し得る限界点があり、この限界を超過するように、サービス処理を行うと、当該処理区間の性能が低下するか、麻痺されるボトルネック現象が発生し得る。したがって、ボトルネック現象が発生すると、全体システムの効率低下をもたらすことができるため、ストリーミングパイプラインがサービス同時処理限界に到逹するようであると予想されれば、処理すべきクラウドストリーミングサービスの数を低減し、ボトルネック現象を防止できる。この際、クラウドストリーミングサービスに付与された優先順位を利用して直ちに処理するサービスの数を減少させることができる。
この際、ストリーミングパイプラインがサービス同時処理限界に到逹しない場合、優先順位と関係なく、サービス要請時に、クラウドストリーミングサービスを端末装置にすぐ提供できる。ユーザによってサービス要請が行われたクラウドストリーミングサービスの優先順位が低いとしても、ストリーミングパイプラインでサービスを処理し得るほど余裕があったら、優先順位によって処理を延ばすことなく、すぐ処理し、サービスを提供できる。
この際、ストリーミングパイプラインで同時に処理するクラウドストリーミングサービスの個数が既設定の同時処理個数以上であれば、ストリーミングパイプラインがサービス同時処理限界に到逹したものと判断し得る。
この際、既設定の同時処理個数は、ストリーミングパイプラインでクラウドストリーミングサービスを同時に処理し得る最大個数より小さいことがある。例えば、ストリーミングパイプラインの限界を予測する基準値がストリーミングパイプラインでクラウドストリーミングサービスを同時に処理し得る最大個数に設定されたら、予測と同時に、ボトルネック現象が発生し得る。したがって、ボトルネック現象を予測し得る基準値である既設定の同時処理個数を、ストリーミングパイプラインでクラウドストリーミングサービスを同時に処理し得る最大個数よりも小さく設定し、予測と同時にボトルネック現象が発生することを防止できる。また、既設定の同時処理個数は、クラウドストリーミングサーバ710の管理者によって自由に設定され得る。
図9は、本発明の一実施形態によるクラウドストリーミングサービス類型によるサービス処理方法を示す動作流れ図である。
図9を参照すれば、本発明の一実施形態によるクラウドストリーミングサービス類型によるサービス処理方法は、ユーザ端末装置からサービス要請を受信する(S910)。端末装置でアプリケーションを駆動させるには、端末装置が多い格納空間と高い処理能力を必要とすることができる。したがって、クラウドストリーミングサーバでアプリケーションを駆動させた後、アプリケーションの駆動画面を圧縮し、提供を受けるために、クラウドストリーミングサーバにアプリケーションを実行するためのサービスを要請し得る。
また、本発明の一実施形態によるクラウドストリーミングサービス類型によるサービス処理方法は、サービス要請に相当するクラウドストリーミングサービスの類型を感知する(S920)。クラウドストリーミングサーバに要請されるサービスの中には、サービス要請を受信する直ちに反応し、サービスを提供しなければならない類型がある一方で、サービス要請を受信しても、直ちに反応しなくてもよい類型も存在し得る。例えば、ゲームのような場合には、ユーザからサービス要請が受信される場合、すぐサービスを提供しなければならず、ユーチューブで動画を再生する場合には、設定FPS(frame per second)を調整できると、当該サービスの処理手順を延ばすことができる余地が生ずることができる。したがって、クラウドストリーミングサービスの類型によってサービスを処理する手順をスケジューリングし、一層円滑にクラウドストリーミングサーバを運営し得る。
この際、クラウドストリーミングサービスでオーディオデバイスを設定するためのOPENコマンドを感知し、クラウドストリーミングサービスの類型が動画であるか否かを感知し得る。動画には、ビデオとともにオーディオが含まれていてもよく、動画からオーディオを支援するためには、オーディオを支援するデバイスを設定する必要がある。したがって、OPEN及びCLOSEなどのコマンドを利用してオーディオを支援するデバイスを設定できる。例えば、OPENコマンドを介してオーディオとビデオ再生を支援するMCI(Media Control Interface)デバイスを呼び出して設定し、CLOSEコマンドを介して設定を終了することによって、MCIデバイスの設定に相当する動画ファイルを再生し得る。したがって、オーディオデバイスを設定するためのOPENコマンド感知を介して当該クラウドストリーミングサービスの類型が動画であるかを確認できる。
この際、OPENコマンドが感知された場合、動画が再生中のものと判断し、クラウドストリーミングサービスの類型を動画で感知し得る。例えば、特定のクラウドストリーミングサービスでオーディオデバイスを設定するためのOPENコマンドが感知されたら、当該クラウドストリーミングサービスの類型がオーディオの含まれた動画ファイルであると判断し得る。
この際、サービス要請に相当するアプリケーションの実行初期にサービス要請を受信しない状態で感知されたOPENコマンドは無視し、サービス要請を受信した後、OPENコマンドが感知された場合、クラウドストリーミングサービスの類型を動画で感知し得る。例えば、クラウドストリーミングサービスの類型がゲームである場合にも、アプリケーション実行初期には、オーディオデバイスを設定するためのOPENコマンドが感知され得、本発明による感知方式は、ユーザからサービス要請を受信した後に感知されるOPENコマンドだけに対してクラウドストリーミングサービスの類型を動画で感知するに使用され得る。したがって、クラウドストリーミングサービスの類型を感知するためのものであって、アプリケーション実行初期にユーザからのサービス要請が受信されない状態で感知されるOPENコマンドは無視し得る。
また、クラウドストリーミングサービスの類型がゲームである場合にも、アプリケーションを実行させた後、ユーザからサービス要請を受信した後、オーディオデバイスを支援するためのOPENコマンドが感知されたら、当該サービス要請に対してはクラウドストリーミングサービスの類型を動画で感知し、処理し得る。
この際、サービス要請に相当するアプリケーションをキャプチャする過程でSound Open関数が感知される場合、クラウドストリーミングサービスの類型を動画で感知し得る。例えば、クラウドストリーミングサービスを介して提供されるアプリケーションがクラウドストリーミングの用途に製作されないため、動画を再生するかを把握し、感知し得る。このような場合には、ユーザが端末装置でサービス要請のためのクリックイベントを発生させた後、クラウドストリーミングサーバで当該アプリケーションをキャプチャする過程でSound Open関数が存在するか否かを感知し得る。Sound Open関数が感知される場合には、当該クラウドストリーミングサービスの類型を動画に区分し得る。
また、本発明の一実施形態によるクラウドストリーミングサービス類型によるサービス処理方法は、クラウドストリーミングサービスの類型に基づいてクラウドストリーミングサービスに優先順位を付与する(S930)。前記で説明したように、クラウドストリーミングサーバに要請されるサービスには、サービス要請を受信する直ちに反応しなければならないゲームのような類型と、サービス要請を受信しても、実際サービスを提供するまである程度処理を延ばすことができる動画のような類型が存在し得る。したがって、サービスの類型によって直ちに処理しなければならないクラウドストリーミングサービスには、優先順位を高く付与し、直ちに処理しなくてもよいクラウドストリーミングサービスは、優先順位を低く付与する方式で、サービスを処理するストリーミングパイプラインをスケジューリングすることによって、一層円滑なクラウドストリーミングサービスを提供できる。
この際、類型が動画でないクラウドストリーミングサービスの優先順位より、類型が動画であるクラウドストリーミングサービスの優先順位を低く付与し得る。例えば、ゲームのような類型のクラウドストリーミングサービスは、動画より優先順位を高く付与することによって、ユーザに一層迅速にサービスを提供できる。
また、本発明の一実施形態によるクラウドストリーミングサービス類型によるサービス処理方法は、クラウドストリーミングサービスを並列的に同時に処理し得るストリーミングパイプラインがサービス同時処理限界に到逹したか否かを判断し、該判断結果によって優先順位に相当するようにクラウドストリーミングサービスを提供する(S940)。
パイプラインは、コンピュータの中央処理装置を最適化して使用することができるデータ処理過程であって、一つのプロセッサを異なる機能を有する複数のサブプロセッサーに分けて、それぞれのサブプロセッサーが同時に異なるデータを処理するように設計する方式である。例えば、コンピュータコマンドは、一般的に、引出、分析、内容引出及び実行の4段階を進行し、パイプライン方式を適用しなければ、コンピュータプロセッサがコマンドを入力された順に一つずつ段階によって処理するしかない。しかし、パイプライン方式では、コマンドを並列処理し得るので、処理速度を高めることができる。したがって、このようなパイプラインをクラウドストリーミングサーバに適用し、クラウドストリーミングサービスを段階別に並列処理することによって、クラウドストリーミングサーバのサービス速度を向上させることができる。
このようなストリーミングパイプラインにも同時にサービスを処理し得る限界点があり、この限界を超過するようにサービス処理を行うと、当該処理区間の性能が低下するか、麻痺されるボトルネック現象が発生し得る。したがって、ボトルネック現象が発生すれば、全体システムの効率低下をもたらすことができるから、ストリーミングパイプラインがサービス同時処理限界に到逹するようであると予想されれば、処理すべきクラウドストリーミングサービスの数を低減し、ボトルネック現象を防止できる。この際、クラウドストリーミングサービスに付与された優先順位を利用して直ちに処理するサービスの数を減少させることができる。
この際、ストリーミングパイプラインがサービス同時処理限界に到逹しない場合、優先順位と関係なく、サービス要請時にクラウドストリーミングサービスを端末装置にすぐ提供できる。ユーザによってサービス要請が入ったクラウドストリーミングサービスの優先順位が低いとしても、ストリーミングパイプラインでサービスを処理し得るほど余裕があったら、優先順位によって処理を延ばすことなく、すぐ処理し、サービスを提供できる。
この際、ストリーミングパイプラインで同時に処理するクラウドストリーミングサービスの個数が既設定の同時処理個数以上であれば、ストリーミングパイプラインがサービス同時処理限界に到逹したものと判断し得る。
この際、既設定の同時処理個数は、ストリーミングパイプラインでクラウドストリーミングサービスを同時に処理し得る最大個数より小さいことがある。例えば、ストリーミングパイプラインの限界を予測する基準値がストリーミングパイプラインでクラウドストリーミングサービスを同時に処理し得る最大個数に設定されたら、予測と同時にボトルネック現象が発生し得る。したがって、ボトルネック現象を予測し得る基準値である既設定の同時処理個数をストリーミングパイプラインでクラウドストリーミングサービスを同時に処理し得る最大個数よりは小さく設定し、予測と同時にボトルネック現象が発生することを防止できる。また、既設定の同時処理個数は、クラウドストリーミングサーバの管理者によって自由に設定され得る。
図10は、本発明の一実施形態によるクラウドストリーミングサービス類型によるサービス処理方法を詳細に示す動作流れ図である。
図10を参照すれば、本発明の一実施形態によるクラウドストリーミングサービス類型によるサービス処理方法は、まず、クラウドストリーミングサーバがユーザ端末装置からサービス要請を受信する(S1010)。
その後、クラウドストリーミングサーバでユーザのサービス要請に相当するクラウドストリーミングサービスの類型を感知する(S1020)。
クラウドストリーミングサーバは、ユーザのサービス要請に相当するクラウドストリーミングサービスが動画であるか否かを把握するために、オーディオデバイスを設定するためのOPENコマンドが感知されるか否かを判断する(S1025)。
段階S1025の判断結果、OPENコマンドが感知されなかったら、クラウドストリーミングサービスの類型が動画でないものと感知する(S1030)。
段階S1025の判断結果、OPENコマンドが感知されたら、クラウドストリーミングサービスの類型を動画で感知する(S1040)。
その後、クラウドストリーミングサーバは、感知されたクラウドストリーミングサービスの類型によって優先順位を付与する(S1050)。
クラウドストリーミングサーバは、ストリーミングパイプラインで同時に処理するクラウドストリーミングサービスの個数が既設定の同時処理個数以上であるかを判断する(S1055)。
段階S1055の判断結果、ストリーミングパイプラインで同時に処理するクラウドストリーミングサービスの個数が既設定の同時処理個数以上であれば、クラウドストリーミングサービスに付与された優先順位によってサービスを処理し、ユーザに提供する(S1060)。
段階S1055の判断結果、ストリーミングパイプラインで同時に処理するクラウドストリーミングサービスの個数が既設定の同時処理個数未満であれば、ユーザからサービス要請を受信する直ちに、クラウドストリーミングサービスを処理し、提供する(S1070)。
図11は、本発明の実施形態によるクラウドストリーミングサーバのテストシステムを示す図である。
図11を参照すれば、本発明が適用されたクラウドストリーミングシステムは、通信網1110を介して連結された多数のクライアント1100、1101、1102及び多数のクラウドストリーミングサーバ1130、1140、1150で構成され、本発明は、このようなクラウドストリーミングシステムの正常動作可否をテストするために、前記多数のクラウドストリーミングサーバ1130、1140、1150と通信網1110を介して連結され、前記クライアント1100、1101、1102の少なくとも一部機能を行う仮想クライアントモジュールを含むテスト装置1120をさらに含む。
以下の実施形態では、三つのクラウドストリーミングサーバ1130、1140、1150及び三つの仮想クライアントモジュールを含むテスト装置1120を示したが、前記クラウドストリーミングサーバの数及び仮想クライアントモジュールの数は、これに限定されず、必要及び設計によって多様な組合で具現され得る。
前記で、クライアント1100、1101、1102は、通信網1110を経由して各種データを送受信し得る端末機を言うもので、特に、クラウドストリーミングサーバ1130、1140、1150に接続し、クラウドストリーミングサービスを提供するユーザ側の装置を意味する。例えば、クライアント1100、1101、1102は、タブレットパソコン(Tablet PC)、ラップトップ(Laptop)、パソコン(PC:Personal Computer)、スマートフォン(Smart Phone)、個人携帯情報端末(PDA:Personal Digital Assistant)、スマートテレビ及び移動体通信端末(Mobile Communication Terminal)、セットトップボックスのうちいずれか一つであることができる。
また、クライアント1100、1101、1102は、通信網1110を経由してクラウドストリーミングサーバ1130、1140、1150と通信するためのブラウザー、プログラム及びプロトコルを格納するメモリ、各種プログラムを実行し、演算及び制御するためのマイクロプロセッサーなどを具備している端末機を意味する。すなわち、クライアント1100、1101、1102は、クラウドストリーミングサーバ1130、1140、1150と通信が可能であれば、いずれの端末機も使用可能であり、ノート・パソコン、移動体通信端末、PDAなどの通信コンピュータ装置をすべて含む広い概念である。
このようなクライアント1100、1101、1102は、例えば、クラウドストリーミングサーバ1130、1140、1150に接続し、ユーザ入力によって特定のサービスまたは機能を要請し、前記要請されたサービスまたは機能の実行による結果画面をクラウドストリーミングサーバ1130、1140、1150から受信し、出力し得る。
また、クラウドストリーミングサーバ1130、1140、1150は、通信網1110を介して多数のクライアント1100、1101、1102に特定のサービスや機能を提供する構成であって、特に、クラウドストリーミングサービスを提供できる。例えば、クラウドストリーミングサーバ1130、1140、1150は、クライアント1100、1101、1102のOS種類、CPU性能、メモリ容量、その他ソフトウェア及びハードウェア仕様に関係なく、所定のサービスや機能、例えば、高性能のイメージ処理を必要とするサービスや機能を提供できるように、クライアント1100、1101、1102から伝送されたユーザ入力によるサービスあるいは機能を行い、その結果画面を前記クライアント1100、1101、1102に伝送し得る。このために、前記クラウドストリーミングサーバ1130、1140、1150は、画面仮想化機能を具備し得る。特に、本発明でクラウドストリーミングサーバ1130、1140、1150は、正常動作可否(すなわち障害可否)をテストするために、既設定のテストスクリプトキー入力を受信し、これに基づいて生成されたテスト結果(テスト結果画面)をテスト装置1120の各仮想クライアントモジュールに伝送し得る。
通信網1110は、インターネット網、イントラネット網、移動通信網、衛星通信網など多様な有無線通信技術を利用してインターネットプロトコルでデータを送受信し得る網を言う。このような、通信網1110は、LAN(Local Area Network)、WAN(Wide Area Network)などの閉鎖型ネットワーク、インターネット(Internet)のような開放型ネットワークだけでなく、CDMA(Code Division Multiple Access)、WCDMA(登録商標)(Wideband Code Division Multiple Access)、GSM(登録商標)(Global System for Mobile Communications)、LTE(Long Term Evolution)、EPC(Evolved Packet Core)などのネットワークと今後具現される次世代ネットワーク及びコンピュータネットワークを総称する概念である。
テスト装置1120は、クラウドストリーミングサーバ1130、1140、1150の正常動作可否をテストするための装置である。このようなテスト装置1120は、クライアント1100、1101、1102の少なくとも一部機能を有する仮想クライアントモジュールを少なくとも一つ具備する。
このようなテスト装置1120は、少なくとも一つのクラウドストリーミングサーバ1130、1140、1150から伝送されたテスト結果が前記少なくとも一つの仮想クライアントモジュールに受信されれば、前記少なくとも一つの仮想クライアントモジュールが受信されたテスト結果をデータ処理し、画面に出力するとき、出力される結果イメージをキャプチャし、キャプチャされた結果イメージをクラウドストリーミングサーバ1130、1140、1150の正常動作に相当する基準イメージと比較し、一致する程度によって前記少なくとも一つのクラウドストリーミングサーバの障害可否を判断する。より具体的に、テスト装置1120は、特定のクラウドストリーミングサーバ1130が正常動作するとき、受信した結果に対してデコーディングなどのデータ処理を行った後、画面に出力させるとき、所定のキャプチャ時点に出力される基準イメージとクライアントモジュールが特定のクラウドストリーミングサーバ1130から受信したテスト結果に対してデコーディングなどのデータ処理を行った後、画面に出力させるとき、所定のキャプチャ時点に出力される結果イメージを比較し、互いに一致しなければ、特定のクラウドストリーミングサーバ1130に障害があって正常動作しないクラウドストリーミングサーバと判断し、互いに一致すれば、当該クラウドストリーミングサーバ1130が正常動作するものと判断する。この際、キャプチャ時点は、少なくとも一つのクラウドストリーミングサーバ1130、1140、1150からテスト結果が伝送される時点を基準に設定され得、テスト装置1120にあらかじめ格納されていてもよい。
この際、基準イメージは、少なくとも一つのクラウドストリーミングサーバ1130、1140、1150の正常動作に相当し、前記既設定のテストスクリプトキー入力に相当する正常動作結果を利用して生成された、正常動作結果ビデオがキャプチャされたものであることができる。基準イメージは、少なくとも一つのクラウドストリーミングサーバ1130、1140、1150をあらかじめ実行して生成した実行結果ビデオを仮想クライアントモジュールで受けて、キャプチャして生成されてもよく、少なくとも一つのクラウドストリーミングサーバ1130、1140、1150で実行結果ビデオをキャプチャした結果を仮想クライアントモジュールに送ることもできる。また、基準イメージは、少なくとも一つのクラウドストリーミングサーバ1130、1140、1150以外の他のサーバまたは他のクライアントモジュールから提供されることもできる。この際、既設定のテストスクリプトキー入力によってアプリケーションで生成される画面は、アニメーション効果が排除された画面であることができる。このように既設定のテストスクリプトキー入力を利用してテストを行い、アニメーションなどによるテスト結果のエラーが発生を防止でき、信頼し得るテストの実行が可能である。
このように本発明では、一つの仮想クライアントモジュールが少なくとも一つ以上のクラウドストリーミングサーバからテスト結果を受信し得、一つの仮想クライアントモジュールが少なくとも一つ以上のクラウドストリーミングサーバからテスト結果を受信して出力した結果イメージをそれぞれのクラウドストリーミングサーバに相当する基準イメージと比較し、該比較結果によって前記特定のクラウドストリーミングサーバの正常動作可否を判断する。すなわち、実際クライアント1100、1101、1102のうちいずれか一つでユーザに提供する画面イメージを基準に特定のクラウドストリーミングサーバ1130の正常動作可否を判断する。このために、前記テスト装置1120は、前記少なくとも一つのクラウドストリーミングサーバ1130、1140、1150にそれぞれテスト結果の伝送を要請でき、このような要請信号によって各クラウドストリーミングサーバ1130、1140、1150は、テスト結果を伝送し得る。また、少なくとも一つのクラウドストリーミングサーバ1130、1140、1150から伝送されたテスト結果を受信し処理する仮想クライアントモジュールは、あらかじめ設定されていてもよい。すなわち、少なくとも一つのクラウドストリーミングサーバ1130、1140、1150と少なくとも一つの仮想クライアントモジュールは、一対一あるいは多対一でマッピングされ得る。これより、テスト装置1120は、前記少なくとも一つのクラウドストリーミングサーバ1130、1140、1150にテスト結果の伝送を要請するとき、これを受信する仮想クライアントモジュールに対する情報を一緒に伝送でき、また、仮想クライアントモジュールが二つ以上のクラウドストリーミングサーバとマッピングされるとき、二つ以上のクラウドストリーミングサーバ各々に基準イメージを生成するための正常動作結果を要請し得る。また、二つ以上のクラウドストリーミングサーバからテスト結果を順に受信し処理することができるように、少なくとも一つのクラウドストリーミングサーバ1130、1140、1150へのテスト結果伝送の要請時点を調整し得る。
このように構成されたシステムにおいて添付の図12及び図13を参照して本発明の実施形態によるテスト装置1120の構成を具体的に説明する。
まず、図12を参照すれば、テスト装置1120は、テスト制御部1200、格納部1210、比較部1220、入力部1230、出力部1240、仮想クライアントモジュール1250を含んで構成し得る。本実施形態で、仮想クライアントモジュール1250の数を1個に例示したが、前記仮想クライアントモジュール1250の数は、システム運用によって変更され得る。
テスト制御部1200は、クラウドストリーミングサーバ1130、1140、1150の障害可否を判断するに必要なすべての制御を行い、障害可否の判断要求時に、比較部1220を介して行われた比較結果、すなわちテスト結果によって出力された画面をキャプチャした結果イメージと正常動作に相当する基準イメージの一致可否によってクラウドストリーミングサーバの障害可否を判断する。この際、障害可否判断の要求時点は、仮想クライアントモジュール1250にテスト結果受信が感知され、受信が完了した時点にしてもよく、入力部1230を介して障害可否の判断要求入力がある時点にしてもよく、あらかじめ設定された周期による時点にしてよい。このように障害可否の判断要求は、設定によって発生する。
この際、テスト制御部1200は、比較結果、比較される基準イメージとテスト結果イメージが互いに一致すれば、当該クラウドストリーミングサーバは障害がないと判断し、基準イメージとテスト結果イメージが互いに一致しなければ、当該クラウドストリーミングサーバに障害があると判断し得る。
格納部1210は、テスト装置1120の動作に必要な情報を格納し得る。このような格納部1210は、少なくとも一つのクラウドストリーミングサーバ1130、1140、1150から伝送されたテスト結果に対する結果ビデオを基準イメージと同じ時点にキャプチャするためにテスト結果ビデオをキャプチャするためのキャプチャ時点情報を格納する。また、格納部1210は、クラウドストリーミングサーバから伝送されるテスト結果に対する基本情報を格納し、特にクラウドストリーミングサーバの障害可否を判断するための基準になる特定時点の基準イメージをあらかじめ格納し得る。このような格納部1210は、ハードディスク、プロッピィーディスク及び磁気テープのような磁気媒体(Magnetic Media)、CD−ROM(Compact Disk Read Only Memory)、DVD(Digital Video Disk)のような光記録媒体(Optical Media)、フロプチカルディスク(Floptical Disk)のような磁気−光媒体(Magneto−Optical Media)及びロム(ROM)、ラム(RAM、Random Access Memory)、フラッシュメモリを含む。
比較部1220は、テスト制御部1200の制御によって仮想クライアントモジュール1250で受信され、画面に出力されたテスト結果ビデオの伝達を要求でき、テスト結果ビデオをキャプチャして生成されたテスト結果イメージを基準イメージと比較した後、比較結果をテスト制御部1200に出力する。このために、前記比較部1220は、前記基準イメージを生成して格納する過程をさらに行うことができる。すなわち、比較部1220は、前記クラウドストリーミングサーバの正常動作に相当する正常動作結果ビデオをキャプチャして生成された基準イメージと、前記クラウドストリーミングサーバのテストのためのテスト結果ビデオをキャプチャして生成されたテスト結果イメージとを比較し得る。
この際、クラウドストリーミングサーバに相当するテスト結果イメージは、前記基準イメージと同一時点にキャプチャされたものであることができる。
入力部1230は、クラウドストリーミングサーバ管理者の操作によってクラウドストリーミングサーバ管理者の要請や情報に該当するユーザ入力信号を発生し得、現在商用化されているか、今後商用化が可能な多様な入力手段で具現され得、例えば、キーボード、マウス、ジョイ・スティック、タッチスクリーン、タッチパッドなどのような一般的な入力装置だけでなく、ユーザのモーションを感知し、特定の入力信号を発生するジェスチャー入力手段を含むことができる。
出力部1240は、テスト装置1120の動作結果や状態をユーザが認識できるように提供する手段であって、例えば、画面を介して視覚的に出力する表示部や、可聴音を出力するスピーカーなどを含むことができる。特に、本発明において、出力部1240は、前記仮想クライアントモジュール1250から処理されて出力される結果イメージを視覚的に出力することができ、また結果イメージと基準イメージを比較して出力するか、クラウドストリーミングサーバの障害可否結果を表示し得る。
仮想クライアントモジュール1250は、クラウドストリーミングサーバ1130、1140、1150に接続し、クラウドストリーミングサービスを提供されるクライアント1100、1101、1102を仮想化した構成であって、実際クライアント1100、1101、1102の機能のうち少なくとも一部の機能を行うことができる。例えば、前記仮想クライアントモジュール1250は、特定のクラウドストリーミングサーバ1130、1140、1150に接続し、特定のクラウドストリーミングサーバ1130、1140、1150からそれぞれのテスト結果を受信し、前記受信されたテスト結果に対してクライアント1100、1101、1102と同じ処理(例えば、デコーディングなど)を行い、テスト結果ビデオを生成し、これを、出力部1240を介して画面に出力し得る。この際、仮想クライアントモジュール1250は、比較部1220の結果イメージ要求によって、特定の時点に画面に出力される結果イメージをキャプチャし、比較部1220に伝達し得る。この際、キャプチャ時点は、比較部1220から受信してもよく、あらかじめ設定して格納していてもよい。前記結果イメージのキャプチャは、例えば、仮想クライアントモジュール1250のフレームバッファに格納されたイメージデータをキャプチャする方式で行われることができる。実施形態によって、テスト結果ビデオをキャプチャし、テスト結果イメージを生成することは、比較部1220で行われることもできる。
すなわち、仮想クライアントモジュール1250は、クラウドストリーミングサーバに既設定のテストスクリプトキー入力を提供し、クラウドストリーミングサーバから既設定のテストスクリプトキー入力に相当するテスト結果を提供されて、これをデコーディングし、テスト結果ビデオを生成する。この際、テスト結果は、エンコーディングされたストリーミングビデオで見ることができ、テスト結果ビデオは、デコーディングされたストリーミングビデオで見ることができる。
特に、仮想クライアントモジュール1250は、クラウドストリーミングサーバ1130、1140、1150に既設定のテストスクリプトキー入力を伝送し、クラウドストリーミングサーバ1130、1140、1150から既設定のテストスクリプトキー入力に相当するテスト結果を受信し、テスト結果ビデオを生成し得る。この際、既設定のテストスクリプトキー入力によってアプリケーションで生成される画面は、アニメーション効果が排除された画面であることができる。アニメーション効果が排除された画面を生成する既設定のテストスクリプトキー入力を使用することによって、テスト結果エラーを防止できる。
このような仮想クライアントモジュール1250の内部構成は、図13のように図示することができる。
図13を参照すれば、仮想クライアントモジュール1250は、制御部1300、通信部1302、格納部1304を含んで構成し得る。
このような仮想クライアントモジュール1250は、クラウドストリーミングサーバ1130、1140、1150から提供されるデータを受信し得る端末装置、例えば、タブレットパソコン(Tablet PC)、ラップトップ(Laptop)、パソコン(PC:Personal Computer)、スマートフォン(Smart Phone)、個人携帯情報端末(PDA:Personal Digital Assistant)、スマートテレビ及び移動体通信端末(Mobile Communication Terminal)、セットトップボックスのうち一つの端末を仮想化して具現され得る。したがって、前記仮想クライアントモジュール1250は、どんな種類の端末であるかによってその構成も異なるように構成される。特に、本発明において、仮想クライアントモジュール1250は、テスト結果の受信及び受信されたテスト結果のデコーディング、テスト結果ビデオ生成及び画面出力機能まで行うように具現され得る。
制御部1300は、仮想クライアントモジュール1250の全般的な制御を行い、特に比較部1220からクラウドストリーミングサーバ1130、1140、1150からの要求によって特定の時点に画面に出力される結果イメージを抽出し、比較部1220に伝達する。また、制御部1300は、通信部1302を介して特定のクラウドストリーミングサーバ1130、1140、1150にテスト結果伝送要請信号を伝送し得る。前記テスト結果伝送要請信号の伝送時、これを受信する仮想クライアントモジュールの識別情報を一緒に伝送し得、また、多数のクラウドストリーミングサーバのテストスケジュールによって、クラウドストリーミングサーバ別にテスト結果伝送要請信号を順次に伝送し得る。
通信部1302は、通信網1110を介してクラウドストリーミングサーバ1130、1140、1150から伝送されたテスト結果を受信する。このような通信部1302は、有線方式及び無線方式だけでなく、多様な通信方式を介してデータを送受信し得る。これに加えて、通信部1302は、一つ以上の通信方式を使用してデータを送受信し得、このために、通信部1302は、それぞれ異なる通信方式によってデータを送受信する複数の通信モジュールを含むことができる。
格納部1304は、仮想クライアントモジュール1250の動作に必要な情報を格納し、特に、クラウドストリーミングサーバ1130、1140、1150から受信したテスト結果を格納し得る。また、受信したテスト結果に対して所定のデータ処理を行い、最終的に画面に出力されたテスト結果ビデオを格納でき、また、設定によって結果イメージのキャプチャ時点情報をあらかじめ格納していてもよい。このような格納部1304は、ハードディスク、プロッピィーディスク及び磁気テープのような磁気媒体(Magnetic Media)、CD−ROM(Compact Disk Read Only Memory)、DVD(Digital Video Disk)のような光記録媒体(Optical Media)、フロップチカルディスク(Floptical Disk)のような磁気−光媒体(Magneto−Optical Media)及びロム(ROM)、ラム(RAM、Random Access Memory)、フラッシュメモリを含む。
それでは、前記のように構成されたテストシステムにおいてクラウドストリーミングサーバの正常動作可否をテストする過程について添付の図14及び図15を参照して具体的に説明する。
図14は、本発明の実施形態によるテストシステムにおいてクラウドストリーミングサーバの正常動作可否をテストするための過程を示す流れ図である。
クラウドストリーミングサーバ1130の正常動作に相当する基準イメージを生成する(S1402)。すなわち、クラウドストリーミングサーバ1130が正常動作するとき、既設定のテストスクリプトキー入力に相当する正常動作結果を利用して生成された、正常動作結果ビデオをキャプチャして基準イメージを生成し得る。この際、正常動作結果、ビデオのキャプチャ時点は、クラウドストリーミングサーバ1130から正常動作結果が伝送される時点を基準に設定され得、テスト装置1120にあらかじめ格納されていてもよい。
クラウドストリーミングサーバ1130は、テスト結果をテスト装置1120の仮想クライアントモジュール1250に伝送する(S1412)。また、一つの仮想クライアントモジュールが多数のクラウドストリーミングサーバから時間差をもって順次にテスト結果を受信することもできる。
この際、クラウドストリーミングサーバ1130は、仮想クライアントモジュール1250の既設定のテストスクリプトキー入力に相当してテスト結果を伝送するものであることができる。この際、既設定のテストスクリプトキー入力によってアプリケーションで生成される画面は、アニメーション効果が排除された画面であることができる。
仮想クライアントモジュール1250は、クラウドストリーミングサーバ1130から受信されたテスト結果をデコーディングしてテスト結果ビデオを生成し、これを比較部1220に提供する(S1422)。この際、テスト結果ビデオの提供は、テスト制御部1200からのテスト要求に応じて行われるものであってもよい。この際、比較部1220は、仮想クライアントモジュール1250にクラウドストリーミングサーバ1130から受信したテスト結果伝達を要請し得る。この際、前記仮想クライアントモジュール1250は、受信したテスト結果を実際クライアント1100、1101、1102のように処理して、テスト結果ビデオを生成した後、画面に出力し、この際、前記比較部1220で要求した時点、または既設定の特定時点に画面に出力されるテスト結果ビデオをキャプチャし、比較部1220に伝送し得る。すなわち、テスト結果ビデオをキャプチャし、テスト結果イメージを生成することは、仮想クライアントモジュール1250によって行われることもでき、比較部1220によって行われることもできる。
テスト制御部1200は、外部入力や内部の実行条件満足などに基づいて比較部1220に基準イメージとテスト結果イメージの比較要請をする(S1432)。
基準イメージとテスト結果イメージの比較要請を受信した比較部1220は、受信したテスト結果ビデオをキャプチャしたテスト結果イメージと基準イメージを比較した後、比較結果をテスト制御部1200に伝達する(S1434、S1436)。
それでは、テスト制御部1200は、比較結果及び連結エラー発生有無によってクラウドストリーミングサーバの障害可否を判断し、この際、比較結果、受信したテスト結果でキャプチャした結果イメージと正常動作に相当する基準イメージが互いに一致しなければ、当該クラウドストリーミングサーバは障害があると判断し、互いに一致すれば、当該クラウドストリーミングサーバに障害がないと判断する(S1437)。
図15は、本発明の実施形態によるテスト装置1120においてクラウドストリーミングサーバ1130、1140、1150の正常動作可否をテストするための方法を示す動作流れ図である。
図15を参照すれば、本発明の一実施形態によるクラウドストリーミングサーバテスト方法は、まず、クラウドストリーミングサーバの正常動作に相当する基準イメージを生成する(S1510)。
この際、基準イメージは、クラウドストリーミングサーバの正常動作に相当し、既設定のテストスクリプトキー入力に相当する正常動作結果を利用して生成された、正常動作結果ビデオがキャプチャされて生成されたものであることができる。
この際、既設定のテストスクリプトキー入力によってアプリケーションで生成される画面は、アニメーション効果が排除された画面であることができる。
また、本発明の一実施形態によるクラウドストリーミングサーバテスト方法は、クラウドストリーミングサーバから仮想クライアントモジュールが前記既設定のテストスクリプトキー入力に相当するテスト結果を受信し、テスト結果ビデオを生成する(S1520)。
また、本発明の一実施形態によるクラウドストリーミングサーバテスト方法は、テスト結果ビデオをキャプチャしてテスト結果イメージを生成し、テスト結果イメージを基準イメージと比較する(S1530)。
この際、クラウドストリーミングサーバに相当するテスト結果イメージは、基準イメージと同一時点にキャプチャされ得る。
この際、段階S1530でテスト結果イメージを生成する過程は、図12に示された仮想クライアントモジュール1250によって行われることもでき、比較部1220によって行われることもできる。
また、本発明の一実施形態によるクラウドストリーミングサーバテスト方法は、段階S1530の比較結果、テスト結果イメージと基準イメージが一致するかを判断する(S1540)。
比較結果が一致すれば、本発明の一実施形態によるクラウドストリーミングサーバテスト方法は、当該クラウドストリーミングサーバに障害がないと判断する(S1550)。
比較結果が一致しなければ、本発明の一実施形態によるクラウドストリーミングサーバテスト方法は、当該クラウドストリーミングサーバに障害があると判断する(S1560)。
図15に示された各段階は、図15に示された手順、その逆順または同時に行われることができる。
コンピュータプログラムコマンドとデータを格納するに適したコンピュータで読み取り可能な媒体は、例えば、記録媒体は、ハードディスク、プロッピィーディスク及び磁気テープのような磁気媒体(Magnetic Media)、CD−ROM(Compact Disk Read Only Memory)、DVD(Digital Video Disk)のような光記録媒体(Optical Media)、フロップチカルディスク(Floptical Disk)のような磁気−光媒体(Magneto−Optical Media)、及びロム(ROM、Read Only Memory)、ラム(RAM、Random Access Memory)、フラッシュメモリ、EPROM(Erasable Programmable ROM)、EEPROM(Electrically Erasable Programmable ROM)のような半導体メモリを含む。プロセッサとメモリは、特殊目的の論理回路によって補充されるか、それに統合され得る。プログラム命令の例には、コンパイラーによって作われるもののような機械語コードだけでなく、インタプリターなどを使用してコンピュータによって実行され得る高級言語コードを含むことができる。このようなハードウェア装置は、本発明の動作を行うために一つ以上のソフトウェアモジュールとして作動するように構成され得、その逆も同様である。
本明細書は、多数の特定の具現物の詳細事項を含むが、これらは、どんな発明や請求可能なものの範囲に対しても制限的なものとして理解されてはならず、むしろ特定の発明の特定の実施形態に特有な特徴に対する説明として理解されなければならない。個別的な実施形態の文脈で本明細書に記述された特定の特徴は、単一実施形態で組み合わせて具現されることもできる。反対に、単一実施形態の文脈で記述した多様な特徴も個別的にあるいはどんな適切な下位組合でも複数の実施形態で具現可能である。さらに、特徴が特定の組合で動作し、初期にそのように請求されたもののように描写され得るが、請求された組合からの一つ以上の特徴は、一部の場合にその組合から排除され得、その請求された組合は、下位組合や下位組合の変形物に変更され得る。
同様に、特定の手順で図面により動作を描いているが、これは、好ましい結果を得るために示された特定の手順や順次な順にそのような動作を行わなければならないか、すべての図示された動作が行われなければならないものと理解されてはならない。特定の場合、マルチタスキングと並列プロセッシングが有利であることができる。また、前述した実施形態の多様なシステムコンポネントの分離は、そのような分離をすべての実施形態で要求するものと理解されてはならず、説明したプログラムコンポネントとシステムは、一般的に単一のソフトウェア製品に一緒に統合されるか、多重ソフトウェア製品にパッケージングされ得るという点を理解しなければならない。
なお、本明細書と図面に開示された本発明の実施例は、理解を助けるために特定の例を提示したものに過ぎず、本発明の範囲を限定しようとするものではない。ここに開示された実施例以外にも、本発明の技術的思想に基づく他の変形例が実施可能であることは、本発明の属する技術分野における通常の知識を有する者に自明である。
本発明によれば、クラウドストリーミングサービス画面をキャプチャし、キャプチャされたクラウドストリーミングサービス画面に相当するデータを臨時格納するバッファからデータをロードしてエンコーディングし、バッファのボトルネック発生有無を判断し、該判断結果によってバッファに臨時格納されたデータを圧縮し得る。さらに、データ伝送量の増加によりクラウドストリーミングサービスシステムで発生し得るボトルネック現象を前もって防止でき、サービスユーザに円滑なストリーミングサービスが可能であり、別途の費用を支払うことなく、データ伝送量を調節し得る。
また、本発明によれば、ユーザの端末装置からサービス要請を受信し、サービス要請に相当するクラウドストリーミングサービスの類型を感知し、クラウドストリーミングサービスの類型に基づいてクラウドストリーミングサービスに優先順位を付与し、クラウドストリーミングサービスを並列的に同時に処理し得るストリーミングパイプラインがサービス同時処理限界に到逹したか否かによって優先順位に相当するようにクラウドストリーミングサービスを提供できる。さらに、サーバでは、さらに多い数のクライアントにサービスを円滑に提供することが可能で、サーバを増築することなく、クラウドストリーミングサービスをより多く提供できるので、費用を節約する効果をもたらすことができる。
また、本発明は、特定のサービスを提供するクラウドストリーミングサーバの正常動作可否をテストするためのシステムに関し、特にクラウドストリーミングサービスを提供するサーバが正常に動作するかどうかを確認し得る。これにより、クラウドストリーミングサーバでデータ伝送時に発生し得る伝送エラーあるいは障害を前もって防止でき、また、テスト結果にエラーが拡散することを防止でき、クラウドストリーミングサービスの安定化及びサービス品質向上をはかって、産業の発展に貢献し得る。

Claims (10)

  1. クラウドストリーミングサービス画面をキャプチャするキャプチャ部と、
    前記キャプチャされたクラウドストリーミングサービス画面を臨時格納するバッファから前記クラウドストリーミングサービス画面をロードし、エンコーディングするエンコーディング部と、
    前記エンコーディングされたクラウドストリーミングサービス画面を端末装置に伝送する通信部と、
    前記バッファのボトルネック発生有無を判断し、該判断結果によって前記クラウドストリーミングサービス画面を圧縮する圧縮部と、
    を含むことを特徴とするクラウドストリーミングサーバ。
  2. 前記圧縮部は、
    前記バッファのデータ格納率に基づいて前記ボトルネック発生有無を決定することを特徴とする請求項1に記載のクラウドストリーミングサーバ。
  3. 前記圧縮部は、
    前記バッファのデータ格納率が既設定の基準格納率を超過する場合、前記バッファにボトルネックが発生したものと判断することを特徴とする請求項2に記載のクラウドストリーミングサーバ。
  4. 前記圧縮部は、
    前記クラウドストリーミングサービス画面に相当するフレームのうち以前フレームと同じ一つ以上の同一フレームを選別し、前記一つ以上の同一フレームを前記一つ以上の同一フレームの以前フレームと同じであるというフラグに変換することを特徴とする請求項3に記載のクラウドストリーミングサーバ。
  5. 前記圧縮部は、
    前記クラウドストリーミングサービス画面に相当するイメージデータのフォーマットを、容量を低減できるフォーマットにエンコーディングすることを特徴とする請求項4に記載のクラウドストリーミングサーバ。
  6. 前記圧縮部は、
    前記バッファのデータ増加率に基づいて前記ボトルネック発生有無を決定することを特徴とする請求項1に記載のクラウドストリーミングサーバ。
  7. クラウドストリーミングサービス画面をキャプチャする段階と、
    前記キャプチャされたクラウドストリーミングサービス画面を臨時格納するバッファのボトルネック発生有無を判断し、該判断結果によって前記クラウドストリーミングサービス画面を圧縮する段階と、
    前記バッファから前記圧縮されたクラウドストリーミングサービス画面をロードし、エンコーディングする段階と、
    前記エンコーディングされたクラウドストリーミングサービス画面を端末装置に伝送する段階と、
    を含むことを特徴とするクラウドストリーミングサービスのデータ圧縮方法。
  8. 前記圧縮する段階は、
    前記バッファのデータ格納率に基づいて前記ボトルネック発生有無を決定することを特徴とする請求項7に記載のクラウドストリーミングサービスのデータ圧縮方法。
  9. 前記圧縮する段階は、
    前記バッファのデータ格納率が既設定の基準格納率を超過する場合、前記バッファにボトルネックが発生したものと判断することを特徴とする請求項8に記載のクラウドストリーミングサービスのデータ圧縮方法。
  10. 前記圧縮する段階は、
    前記クラウドストリーミングサービス画面に相当するフレームのうち以前フレームと同じ一つ以上の同一フレームを選別する段階を含み、
    前記一つ以上の同一フレームを前記一つ以上の同一フレームの以前フレームと同じであるというフラグに変換することを特徴とする請求項9に記載のクラウドストリーミングサービスのデータ圧縮方法。
JP2017519439A 2014-07-14 2015-07-13 クラウドストリーミングサービスシステム、メモリボトルネックを防止するためのデータ圧縮方法及びそのための装置 Active JP6467503B2 (ja)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
KR1020140088548A KR102199296B1 (ko) 2014-07-14 2014-07-14 클라우드 스트리밍 서버 테스트 방법, 이를 위한 장치 및 시스템
KR10-2014-0088548 2014-07-14
KR10-2014-0099994 2014-08-04
KR1020140099994A KR102063093B1 (ko) 2014-08-04 2014-08-04 클라우드 스트리밍 서비스 시스템, 메모리 병목 현상을 방지하기 위한 데이터 압축 방법 및 이를 위한 장치
KR1020140108120A KR102199276B1 (ko) 2014-08-20 2014-08-20 클라우드 스트리밍 서비스 시스템, 클라우드 스트리밍 서비스 유형에 따른 서비스 처리 방법 및 이를 위한 장치
KR10-2014-0108120 2014-08-20
PCT/KR2015/007261 WO2016010319A2 (ko) 2014-07-14 2015-07-13 클라우드 스트리밍 서비스 시스템, 메모리 병목 현상을 방지하기 위한 데이터 압축 방법 및 이를 위한 장치

Publications (2)

Publication Number Publication Date
JP2017526311A JP2017526311A (ja) 2017-09-07
JP6467503B2 true JP6467503B2 (ja) 2019-02-13

Family

ID=55079143

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017519439A Active JP6467503B2 (ja) 2014-07-14 2015-07-13 クラウドストリーミングサービスシステム、メモリボトルネックを防止するためのデータ圧縮方法及びそのための装置

Country Status (5)

Country Link
US (2) US10397288B2 (ja)
EP (1) EP3171601A4 (ja)
JP (1) JP6467503B2 (ja)
CN (2) CN106797487B (ja)
WO (1) WO2016010319A2 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106797487B (zh) * 2014-07-14 2021-03-02 Sk 普兰尼特有限公司 云流服务器
US10313223B2 (en) * 2016-12-14 2019-06-04 Level 3 Communications, Llc Object integrity verification in a content delivery network (CDN)
US10172022B1 (en) * 2017-06-29 2019-01-01 Pearson Education, Inc. Diagnostic analyzer for content receiver using wireless execution device
US10423432B2 (en) * 2017-08-23 2019-09-24 Bank Of America Corporation Dynamic cloud stack testing
CN108521581A (zh) * 2018-03-05 2018-09-11 西安万像电子科技有限公司 多媒体数据显示方法、终端和系统
CN112383742B (zh) * 2020-09-27 2022-11-22 国网山西省电力公司忻州供电公司 一种基于云计算的用于架空送电工程中的音视频调度方法
CN112306780B (zh) * 2020-11-20 2024-08-27 上海达龙信息科技有限公司 云应用服务器的自检方法、装置、存储介质及电子设备
CN112770071B (zh) * 2020-12-29 2023-06-27 北京奕斯伟计算技术股份有限公司 数据处理方法、云屏设备和云屏
CN112800001B (zh) * 2021-04-13 2021-08-17 北京乐研科技有限公司 一种基于arm平台架构的高性能物联网硬件平台及方法

Family Cites Families (46)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2588925B2 (ja) * 1988-03-11 1997-03-12 富士通株式会社 可変ビットレート画像符号化装置
JPH08102940A (ja) * 1994-09-29 1996-04-16 Sanyo Electric Co Ltd 動画像処理装置及び方法
JPH08280009A (ja) * 1995-04-06 1996-10-22 Matsushita Electric Ind Co Ltd 画像符号化装置および画像復号化装置および光ディスク
AU2002357144A1 (en) * 2001-12-15 2003-06-30 Thomson Licensing S.A. Quality of service setup on a time reservation basis
US8694677B2 (en) * 2002-07-30 2014-04-08 Nippon Telegraph And Telephone Corporation Retry communication control method and system
US9138644B2 (en) * 2002-12-10 2015-09-22 Sony Computer Entertainment America Llc System and method for accelerated machine switching
KR100648659B1 (ko) * 2004-08-03 2006-11-23 주식회사 케이티프리텔 스트리밍 비디오 율 제어 방법 및 장치
JP4301193B2 (ja) 2005-03-31 2009-07-22 ソニー株式会社 画像比較装置及び方法、画像検索装置及び方法、並びにプログラム及び記録媒体
US7616821B2 (en) * 2005-07-19 2009-11-10 International Business Machines Corporation Methods for transitioning compression levels in a streaming image system
US7623459B2 (en) * 2005-12-02 2009-11-24 Intel Corporation Methods and apparatus for providing a flow control system for traffic flow in a wireless mesh network based on traffic prioritization
CN101043441A (zh) * 2006-03-24 2007-09-26 华为技术有限公司 服务类型值确定方法及其装置、以及分组网络
CN101226525B (zh) * 2007-01-19 2012-02-15 国际商业机器公司 控制web页面的下载和显示的方法、服务器、客户端及系统
CN101299808B (zh) * 2007-04-30 2011-11-16 北京希格玛和芯微电子技术有限公司 一种实时图像数据传输方法及装置
KR100823522B1 (ko) * 2007-06-18 2008-04-21 주식회사 셀런 실시간 스트리밍 시스템에서 스토리지와 서버 사이의병목을 줄이기 위한 캐싱 방법
US7975071B2 (en) * 2008-01-18 2011-07-05 Microsoft Corporation Content compression in networks
US8893009B2 (en) * 2009-01-28 2014-11-18 Headwater Partners I Llc End user device that secures an association of application to service policy with an application certificate check
US8578076B2 (en) * 2009-05-01 2013-11-05 Citrix Systems, Inc. Systems and methods for establishing a cloud bridge between virtual storage resources
KR100924309B1 (ko) 2009-06-04 2009-11-02 전자부품연구원 시간확장성과 버퍼상태판단을 통한 품질 적응적 멀티미디어 데이터 스트리밍 방법 및 시스템
KR101030130B1 (ko) 2009-07-31 2011-04-20 주식회사 다음커뮤니케이션 중복 콘텐츠 검출 장치 및 검출 방법
PL2465114T3 (pl) 2009-08-14 2020-09-07 Dts Llc System do adaptacyjnej transmisji potokowej obiektów audio
CN101635635B (zh) * 2009-08-25 2011-12-07 北京原力创新科技有限公司 云模式流媒体服务平台
US8171154B2 (en) 2009-09-29 2012-05-01 Net Power And Light, Inc. Method and system for low-latency transfer protocol
CN102238073A (zh) * 2010-04-30 2011-11-09 华为技术有限公司 网络业务流管理的方法和设备
US9319433B2 (en) * 2010-06-29 2016-04-19 At&T Intellectual Property I, L.P. Prioritization of protocol messages at a server
US8738736B2 (en) * 2010-11-23 2014-05-27 Edgecast Networks, Inc. Scalable content streaming system with server-side archiving
WO2012079825A1 (en) * 2010-12-15 2012-06-21 International Business Machines Corporation Hardware accelerated graphics for network enabled applications
KR101263669B1 (ko) 2011-02-16 2013-05-22 에스케이플래닛 주식회사 화면 변화 적응형 영상처리 시스템
CN102904914B (zh) * 2011-07-27 2017-04-12 中兴通讯股份有限公司 一种业务请求处理方法及装置
JP2013126185A (ja) * 2011-12-15 2013-06-24 Fujitsu Ltd 情報処理装置、画像送信方法及び画像送信プログラム
US9560011B2 (en) * 2012-02-28 2017-01-31 Raytheon Company System and method for protecting service-level entities
JP5895671B2 (ja) * 2012-03-30 2016-03-30 富士通株式会社 情報処理装置、画像送信方法及び画像送信プログラム
US8838826B2 (en) * 2012-04-04 2014-09-16 Google Inc. Scalable robust live streaming system
US11700211B2 (en) * 2012-04-10 2023-07-11 Comcast Cable Communications, Llc Data network traffic management
CN103514920A (zh) 2012-06-21 2014-01-15 联发科技股份有限公司 缓冲图像至缓冲器装置的方法及装置
KR101392246B1 (ko) * 2012-08-03 2014-05-07 에스케이텔레콤 주식회사 데이터 서비스 유형별 호 처리 장치 및 방법
US9246929B2 (en) * 2012-09-07 2016-01-26 Polytechnic Institute Of New York University Providing a fast, remote security service using hashlists of approved web objects
GB2507294A (en) * 2012-10-25 2014-04-30 Ibm Server work-load management using request prioritization
CN103888418B (zh) * 2012-12-21 2017-09-15 中国电信股份有限公司 策略认证方法及系统
KR101403321B1 (ko) * 2013-02-12 2014-06-03 에스케이플래닛 주식회사 클라우드 스트리밍 서비스를 위한 서버의 테스트 방법, 이를 위한 시스템 및 장치
CN103152794B (zh) * 2013-02-22 2015-08-19 中国联合网络通信集团有限公司 业务接入方法及接入控制器
CN103179384A (zh) * 2013-03-21 2013-06-26 鸿富锦精密工业(深圳)有限公司 用于视频监控中的视频数据处理系统及视频播放系统
US10142259B2 (en) * 2014-03-03 2018-11-27 Ericsson Ab Conflict detection and resolution in an ABR network
CN103905537A (zh) * 2014-03-20 2014-07-02 冶金自动化研究设计院 分布式环境下管理工业实时数据存储的系统
US9792294B2 (en) * 2014-07-02 2017-10-17 Panzura, Inc Using byte-range locks to manage multiple concurrent accesses to a file in a distributed filesystem
CN106797487B (zh) * 2014-07-14 2021-03-02 Sk 普兰尼特有限公司 云流服务器
JP6527579B2 (ja) * 2014-07-30 2019-06-05 エスケー テックス カンパニー、リミテッド クラウドストリーミングサービスシステム、スチールイメージ基盤クラウドストリーミングサービス方法及びそのための装置

Also Published As

Publication number Publication date
US10397288B2 (en) 2019-08-27
US10904304B2 (en) 2021-01-26
US20190334965A1 (en) 2019-10-31
JP2017526311A (ja) 2017-09-07
CN112929234A (zh) 2021-06-08
EP3171601A2 (en) 2017-05-24
EP3171601A4 (en) 2018-05-16
CN106797487A (zh) 2017-05-31
WO2016010319A3 (ko) 2016-03-03
WO2016010319A2 (ko) 2016-01-21
CN112929234B (zh) 2024-04-30
US20170126763A1 (en) 2017-05-04
CN106797487B (zh) 2021-03-02

Similar Documents

Publication Publication Date Title
JP6467503B2 (ja) クラウドストリーミングサービスシステム、メモリボトルネックを防止するためのデータ圧縮方法及びそのための装置
Lu et al. Virtualized screen: A third element for cloud–mobile convergence
KR101471366B1 (ko) 단말기에 따른 적응적 화면 가상화 방법 및 시스템
EP3187996B1 (en) Method and apparatus for peripheral context management
US10462200B2 (en) System for cloud streaming service, method for still image-based cloud streaming service and apparatus therefor
KR102426670B1 (ko) 클라우드 스트리밍 서비스 시스템, 프로세스 단축을 이용한 이미지 클라우드 스트리밍 서비스 방법 및 이를 위한 장치
KR102247886B1 (ko) 클라우드 스트리밍 서비스 시스템, 이미지 타입에 따른 클라우드 스트리밍 서비스 방법 및 이를 위한 장치
KR102398976B1 (ko) 클라우드 스트리밍 서비스 시스템, 동시 인코딩을 이용한 이미지 클라우드 스트리밍 서비스 방법 및 이를 위한 장치
KR102273143B1 (ko) 클라우드 스트리밍 서비스 시스템, 스틸 이미지 기반 클라우드 스트리밍 서비스 방법 및 이를 위한 장치
KR102284685B1 (ko) 클라우드 스트리밍 서비스 시스템, 단말의 성능에 기반한 이미지 클라우드 스트리밍 서비스 방법 및 이를 위한 장치
KR20210133229A (ko) 클라우드 스트리밍 서비스에서의 사용자 인터페이스 세션 복구 방법 및 이를 위한 장치
KR102063093B1 (ko) 클라우드 스트리밍 서비스 시스템, 메모리 병목 현상을 방지하기 위한 데이터 압축 방법 및 이를 위한 장치
KR102247887B1 (ko) 클라우드 스트리밍 서비스 시스템, 소스 정보를 이용한 클라우드 스트리밍 서비스 방법 및 이를 위한 장치
KR102313531B1 (ko) 클라우드 스트리밍 서비스 시스템, 동일 세션 다중 접속 방식을 이용한 클라우드 스트리밍 서비스 방법 및 이를 위한 장치
US12052447B1 (en) Dynamically moving transcoding of content between servers
KR102313530B1 (ko) 클라우드 스트리밍 서비스 시스템, 화면 분할을 이용한 이미지 클라우드 스트리밍 서비스 방법 및 이를 위한 장치
KR102199276B1 (ko) 클라우드 스트리밍 서비스 시스템, 클라우드 스트리밍 서비스 유형에 따른 서비스 처리 방법 및 이를 위한 장치
KR102247888B1 (ko) 클라우드 스트리밍 서비스 시스템, 선택적 스트리밍 파이프라인 방식에 기반한 이미지 클라우드 스트리밍 서비스 방법 및 이를 위한 장치
KR20160087255A (ko) 클라우드 스트리밍 서비스 시스템, 전체 화면 변화를 고려한 이미지 클라우드 스트리밍 서비스 방법 및 이를 위한 장치
KR20160039887A (ko) 클라우드 스트리밍 서비스 시스템, 선택적 인코딩 처리 유닛을 이용한 클라우드 스트리밍 서비스 방법 및 이를 위한 장치

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20171218

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20171221

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180618

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180725

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181022

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20181213

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190111

R150 Certificate of patent or registration of utility model

Ref document number: 6467503

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250