KR20220006483A - Cloud streaming server generating cache file and operating method thereof - Google Patents

Cloud streaming server generating cache file and operating method thereof Download PDF

Info

Publication number
KR20220006483A
KR20220006483A KR1020210089734A KR20210089734A KR20220006483A KR 20220006483 A KR20220006483 A KR 20220006483A KR 1020210089734 A KR1020210089734 A KR 1020210089734A KR 20210089734 A KR20210089734 A KR 20210089734A KR 20220006483 A KR20220006483 A KR 20220006483A
Authority
KR
South Korea
Prior art keywords
content
unique value
client
data
processing unit
Prior art date
Application number
KR1020210089734A
Other languages
Korean (ko)
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
Application filed by 주식회사 알티캐스트, 주식회사 알티미디어 filed Critical 주식회사 알티캐스트
Publication of KR20220006483A publication Critical patent/KR20220006483A/en

Links

Images

Classifications

    • 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/231Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
    • H04N21/23106Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion involving caching operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/3004Arrangements for executing specific machine instructions to perform operations on memory
    • G06F9/30047Prefetch instructions; cache control instructions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • 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/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • H04L67/2823
    • H04L67/2842
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/565Conversion or adaptation of application format or content
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • 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/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/2183Cache memory
    • 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/21Server components or server architectures
    • H04N21/222Secondary servers, e.g. proxy server, cable television Head-end
    • H04N21/2223Secondary servers, e.g. proxy server, cable television Head-end being a public access point, e.g. for downloading to or uploading from clients
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/30Compression, e.g. Merkle-Damgard construction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/60Digital content management, e.g. content distribution

Abstract

The present invention relates to a cloud streaming server generating a cache file and an operating method thereof. According to the present invention, the cloud streaming server comprises: a reception unit receiving a key input of a client; a memory; a cache processing unit; and a data processing unit. The reception unit receives a first key input from the client. The data processing unit acquires a first content from a web server based on the first key input, extracts the only value on each area of the first content, processes the data corresponding to each area of the first content, acquires streaming data thereby, generates a first cache file including the only value and the streaming data, stores the only value for each area of the first content in the memory, and transmits the streaming data to the client. The cache processing unit is able to transmit the first cache file to a distribution server. On top of that, other embodiments identified through the specification are possible. The present invention aims to provide a cloud streaming server generating a cache file and an operating method thereof, which are capable of saving resources.

Description

캐시 파일을 생성하는 클라우드 스트리밍 서버 및 그 운용 방법{CLOUD STREAMING SERVER GENERATING CACHE FILE AND OPERATING METHOD THEREOF}A cloud streaming server that generates a cache file and an operating method thereof

본 문서는 캐시 파일을 생성하는 클라우드 스트리밍 서버 및 그 운용 방법에 관한 것이다.This document relates to a cloud streaming server that generates a cache file and an operating method thereof.

클라우드 스트리밍 기술은 클라이언트에게 제공하기 위한 컨텐츠를 처리하는 소프트웨어(예: 웹 브라우저)를 클라우드 스트리밍 서버에서 실행하고 그 결과만 클라이언트로 전송하는 기술로 이해될 수 있다. 클라이언트는 클라우드 스트리밍 서버로부터 수신한 컨텐츠에 대한 사용자 입력(예: 키 입력)을 수신할 수 있다. 클라이언트는 수신된 사용자 입력을 클라우드 스트리밍 서버로 전송하여 사용자 입력에 기반한 컨텐츠 제공을 요청할 수 있다. 클라우드 스트리밍 서버의 소프트웨어는 사용자 입력에 기반한 컨텐츠를 처리하여 클라이언트로 전송할 수 있다. Cloud streaming technology may be understood as a technology that executes software (eg, a web browser) that processes content to be provided to a client on a cloud streaming server and transmits only the result to the client. The client may receive a user input (eg, key input) for the content received from the cloud streaming server. The client may request content provision based on the user input by transmitting the received user input to the cloud streaming server. The cloud streaming server's software can process the content based on user input and transmit it to the client.

클라이언트가 클라우드 스트리밍 서버에 요청한 컨텐츠의 일부 영역은 클라이언트가 이전에 제공 받았던 컨텐츠의 일부 영역과 동일할 수 있다. 클라우드 스트리밍 서버가 동일한 영역의 데이터를 처리하여 클라이언트에 제공하는 동작은 클라우드 스트리밍 서버의 자원을 비효율적으로 점유할 수 있다. 클라우드 스트리밍 서버의 자원을 절약하기 위하여 중복되는 컨텐츠 영역의 데이터를 제공하기 위한 방법이 논의될 수 있다. The partial area of the content requested by the client from the cloud streaming server may be the same as the partial area of the content previously provided by the client. The operation of the cloud streaming server processing data in the same area and providing it to the client may occupy resources of the cloud streaming server inefficiently. A method for providing data of overlapping content areas in order to save resources of the cloud streaming server may be discussed.

본 문서에 개시되는 일 실시 예에 따른 클라우드 스트리밍 서버는 클라이언트의 키 입력을 수신하는 수신부, 메모리, 캐시 처리부, 및 데이터 처리부를 포함하고, 상기 수신부는 상기 클라이언트로부터 제1 키 입력을 수신하고, 상기 데이터 처리부는, 상기 제1 키 입력에 기반하여, 웹 서버로부터 제1 컨텐츠를 획득하고, 상기 제1 컨텐츠의 각 영역에 대한 유일 값을 추출하고, 상기 제1 컨텐츠의 각 영역에 대응하는 데이터를 처리하여 스트리밍 데이터를 획득하고, 상기 유일 값 및 상기 스트리밍 데이터를 포함하는 제1 캐시 파일을 생성하고, 상기 제1 컨텐츠의 각 영역에 대한 유일 값을 상기 메모리에 저장하고, 상기 스트리밍 데이터를 상기 클라이언트 전송하고, 상기 캐시 처리부는, 상기 제1 캐시 파일을 분산 서버로 전송할 수 있다.Cloud streaming server according to an embodiment disclosed in this document is a receiver for receiving the key input of the client, a memory, a cache processing unit, and a data processing unit, wherein the receiving unit receives a first key input from the client, and the data processing unit obtains first content from a web server based on the first key input, Extracting a unique value for each region of the first content, processing data corresponding to each region of the first content to obtain streaming data, and a first cache file including the unique value and the streaming data generated, a unique value for each region of the first content is stored in the memory, the streaming data is transmitted to the client, and the cache processing unit may transmit the first cache file to a distributed server.

또한, 본 문서에 개시되는 일 실시 예에 따른 클라우드 스트리밍 서버의 운용 방법은, 클라이언트로부터 제1 키 입력을 수신하는 동작, 상기 제1 키 입력에 기반하여, 웹 서버로부터 제1 컨텐츠를 획득하는 동작, 상기 제1 컨텐츠의 각 영역에 대한 유일 값을 추출하는 동작, 상기 제1 컨텐츠의 각 영역에 대응하는 데이터를 처리하여 스트리밍 데이터를 획득하는 동작, 상기 유일 값 및 상기 스트리밍 데이터를 포함하는 제1 캐시 파일을 생성하는 동작, 상기 제1 컨텐츠의 각 영역에 대한 유일 값을 메모리에 저장하는 동작, 상기 스트리밍 데이터를 상기 클라이언트 전송하는 동작, 및 상기 제1 캐시 파일을 분산 서버로 전송하는 동작을 포함할 수 있다.In addition, the operating method of the cloud streaming server according to an embodiment disclosed in this document, the operation of receiving the first key input from the client, Based on the first key input, an operation of obtaining a first content from a web server, an operation of extracting a unique value for each region of the first content, and processing data corresponding to each region of the first content The operation of obtaining streaming data, the operation of generating a first cache file including the unique value and the streaming data, the operation of storing a unique value for each area of the first content in a memory, and transferring the streaming data to the client It may include an operation of transmitting, and an operation of transmitting the first cache file to a distributed server.

본 문서에 개시되는 실시 예들에 따르면, 클라우드 스트리밍 서버는 클라이언트가 요청하는 컨텐츠의 처리를 생략하고 분산 서버에 저장된 캐시 파일을 재사용함으로써, 자원을 절약할 수 있다.According to the embodiments disclosed in this document, the cloud streaming server can save resources by omitting the processing of the content requested by the client and reusing the cache file stored in the distributed server.

본 문서에 개시되는 실시 예들에 따르면, 클라우드 스트리밍 서버는 복수의 클라이언트들에 대하여 효율적으로 데이터를 제공할 수 있다.According to the embodiments disclosed in this document, the cloud streaming server can efficiently provide data to a plurality of clients.

이 외에, 본 문서를 통해 직접적 또는 간접적으로 파악되는 다양한 효과들이 제공될 수 있다.In addition, various effects directly or indirectly identified through this document may be provided.

도 1은, 다양한 실시예들에 따른, 클라우드 스트리밍 기술의 시스템을 도시한 것이다.
도 2는 클라우드 스트리밍 서버의 구조를 도시한 블록도이다.
도 3은 클라이언트의 구성을 도시한 블록도이다.
도 4는 분산 서버를 이용한 컨텐츠 제공 방법을 설명한 흐름도이다.
도 5는 유일 값 추출 방법을 도시한 것이다.
도 6a는 일 실시예에 따른 유일 값 추출을 도시한 것이다.
도 6b는 일 실시예에 따른 스트리밍 데이터 전송을 도시한 것이다.
도 7은 분산 서버를 이용한 컨텐츠 제공 방법을 설명한 흐름도이다.
도 8a 및 8b는 분산 서버를 이용한 데이터 전송을 도시한 것이다.
도 9는 복수의 클라이언트가 접속한 경우 일 실시예에 따른 컨텐츠 제공 방법을 도시한 것이다.
도면의 설명과 관련하여, 동일 또는 유사한 구성요소에 대해서는 동일 또는 유사한 참조 부호가 사용될 수 있다.
1 illustrates a system of cloud streaming technology, according to various embodiments.
2 is a block diagram showing the structure of a cloud streaming server.
3 is a block diagram showing the configuration of a client.
4 is a flowchart illustrating a content providing method using a distributed server.
5 shows a unique value extraction method.
6A illustrates unique value extraction according to an embodiment.
6B illustrates streaming data transmission according to an embodiment.
7 is a flowchart illustrating a content providing method using a distributed server.
8A and 8B show data transmission using a distributed server.
9 illustrates a content providing method according to an embodiment when a plurality of clients connect.
In connection with the description of the drawings, the same or similar reference numerals may be used for the same or similar components.

도 1은, 다양한 실시예들에 따른, 클라우드 스트리밍 기술의 시스템을 도시한 것이다. 1 illustrates a system of cloud streaming technology, according to various embodiments.

클라우드 스트리밍 서버(100)는 네트워크를 통하여 클라이언트(110) 또는 웹 서버(130)와 통신할 수 있다. 예를 들어, 네트워크는 각종 전자 장치들의 통신을 제공하는 유무선근거리 통신망, 이동통신망, 위성을 이용한 위성 통신망 및 유무선 통신망 중에서 어느 하나이거나, 둘 이상의 결합으로 이해될 수 있다. Cloud streaming server 100 may communicate with the client 110 or the web server 130 through a network. For example, the network may be understood as any one of a wired/wireless local area network, a mobile communication network, a satellite communication network using a satellite, and a wired/wireless communication network providing communication of various electronic devices, or a combination of two or more.

웹 서버(130)는 클라우드 스트리밍 서버(100)에 포함되거나 클라우드 스트리밍 서버(100)의 외부에 위치하며 클라우드 스트리밍 서버(100)와 네트워크를 통하여 데이터를 송수신할 수 있다. 웹 서버(130)가 클라우드 스트리밍 서버(100)에 포함되는 경우, 웹 서버(130)는 클라우드 스트리밍 서버(100)에 의해 가상으로 구현될 수 있다. The web server 130 is included in the cloud streaming server 100 or located outside the cloud streaming server 100 and may transmit and receive data through the cloud streaming server 100 and the network. When the web server 130 is included in the cloud streaming server 100 , the web server 130 may be implemented virtually by the cloud streaming server 100 .

클라이언트(110)는 네트워크를 통하여 클라우드 스트리밍 서버(100)에 접속할 수 있다. 클라우드 스트리밍 서버(100)는 클라이언트(110)에 컨텐츠를 제공하기 위하여 소프트웨어(예: 웹 브라우저)를 실행할 수 있다. 클라우드 스트리밍 서버(100)가 실행한 소프트웨어는 웹 서버(130)로부터 클라이언트(110)에 제공할 컨텐츠를 수신할 수 있다. 클라우드 스트리밍 서버(100)는 컨텐츠에 대응하는 데이터를 처리(예: 컨버팅(converting), 인코딩(encoding))한 뒤, 클라이언트(110)로 전송할 수 있다. 클라이언트(110)는 클라우드 스트리밍 서버(100)가 제공하는 컨텐츠에 대한 사용자 입력(예: 키 입력)을 수신할 수 있다. 클라이언트(110)는 수신된 사용자 입력을 클라우드 스트리밍 서버(100)로 전송할 수 있다. 클라우드 스트리밍 서버(110)가 실행한 소프트웨어는 사용자 입력에 기반한 컨텐츠를 웹 서버(130)로부터 수신할 수 있다. 클라우드 스트리밍 서버(100)는 수신된 컨텐츠에 대응하는 데이터를 처리하여 클라이언트(110)로 전송할 수 있다.The client 110 may access the cloud streaming server 100 through a network. The cloud streaming server 100 may execute software (eg, a web browser) to provide content to the client 110 . The software executed by the cloud streaming server 100 may receive the content to be provided to the client 110 from the web server 130 . The cloud streaming server 100 may process (eg, convert, encode) data corresponding to the content, and then transmit it to the client 110 . The client 110 may receive a user input (eg, key input) for the content provided by the cloud streaming server 100 . The client 110 may transmit the received user input to the cloud streaming server 100 . The software executed by the cloud streaming server 110 may receive content based on a user input from the web server 130 . The cloud streaming server 100 may process data corresponding to the received content and transmit it to the client 110 .

클라우드 스트리밍 서버(100)는 웹 서버(130)로부터 수신된 컨텐츠에 대한 캐시 파일을 생성할 수 있다. 예를 들어, 캐시 파일은 스트리밍 데이터 및 유일 값을 포함할 수 있다. 클라우드 스트리밍 서버(100)는 캐시 파일을 분산 서버(120)로 전송할 수 있다. 분산 서버(120)는 클라우드 스트리밍 서버(100)의 외부 서버로 이해될 수 있다. 일 실시예에 따르면, 클라우드 스트리밍 서버(100)는 클라이언트(100)가 요청하는 컨텐츠를 제공하기 위하여 분산 서버(120)에 저장된 캐시 파일을 재사용할 수 있다. 예를 들어, 클라우드 스트리밍 서버(100)는 컨텐츠의 일부 영역에 대한 데이터를 처리(예: 컨버팅, 인코딩)하지 않고, 분산 서버(120)에 저장된 데이터를 수신하여 클라이언트(110)로 전송할 수 있다. 다른 예를 들어, 복수의 클라이언트(예: 클라이언트(110))가 클라우드 스트리밍 서버(100)에 접속하는 경우, 클라우드 스트리밍 서버(100)는 특정 클라이언트에게 제공한 컨텐츠에 대한 캐시 파일을 분산 서버(120)에 전송하고, 다른 클라이언트에게 컨텐츠를 제공하기 위하여 분산 서버(120)에 저장된 캐시 파일을 재사용할 수 있다. Cloud streaming server 100 may create a cache file for the content received from the web server (130). For example, a cache file may contain streaming data and unique values. The cloud streaming server 100 may transmit the cache file to the distributed server 120 . The distributed server 120 may be understood as an external server of the cloud streaming server 100 . According to an embodiment, the cloud streaming server 100 may reuse the cache file stored in the distributed server 120 in order to provide the content requested by the client 100 . For example, the cloud streaming server 100 may receive data stored in the distributed server 120 and transmit it to the client 110 without processing (eg, converting, encoding) data for a partial area of the content. As another example, when a plurality of clients (eg, the client 110 ) accesses the cloud streaming server 100 , the cloud streaming server 100 distributes a cache file for the content provided to a specific client to the distributed server 120 . ) and reuse the cache file stored in the distributed server 120 to provide content to other clients.

도 2는 클라우드 스트리밍 서버의 구조를 도시한 블록도이다.2 is a block diagram showing the structure of a cloud streaming server.

클라우드 스트리밍 서버(100)는 수신부(200), 데이터 처리부(210), 캐시 처리부(220), 및/또는 메모리(230)를 포함할 수 있다. 어떤 실시예에서는, 클라우드 스트리밍 서버(100)에는, 하나 이상의 다른 구성요소(예: 배터리)가 추가될 수 있다. 어떤 실시예에서는, 이 구성요소들 중 일부들(예: 수신부(200), 데이터 처리부(210))은 하나의 구성요소로 통합될 수 있다.Cloud streaming server 100 may include a receiver 200 , a data processing unit 210 , a cache processing unit 220 , and/or a memory 230 . In some embodiments, one or more other components (eg, batteries) may be added to the cloud streaming server 100 . In some embodiments, some of these components (eg, the receiving unit 200 and the data processing unit 210) may be integrated into one component.

수신부(200)는 클라이언트(예: 도 1의 110)로부터 사용자 입력(예: 키 입력)을 수신할 수 있다. 수신부(200)는 무선 통신 회로를 포함할 수 있다. 무선 통신 회로는 네트워크에 접속하여 외부 장치와의 데이터 통신을 제공할 수 있다. 예를 들어, 클라우드 스트리밍 서버(100)는 수신부(200)를 이용하여 클라이언트(예: 110)로부터 사용자 입력(예: 키 입력)을 수신할 수 있다. The receiver 200 may receive a user input (eg, a key input) from a client (eg, 110 of FIG. 1 ). The receiver 200 may include a wireless communication circuit. The wireless communication circuit may connect to a network and provide data communication with an external device. For example, the cloud streaming server 100 may receive a user input (eg, a key input) from a client (eg, 110) using the receiving unit 200 .

데이터 처리부(210) 및 캐시 처리부(220)는 적어도 하나의 프로세서 및 무선 통신 회로를 포함할 수 있다. 데이터 처리부(210) 및 캐시 처리부(220)는 메모리(230)에 저장된 프로그램을 실행하여 클라우드 스트리밍 서버(100)의 구성 요소를 제어할 수 있고, 다양한 데이터 처리 또는 연산을 수행할 수 있다. 데이터 처리부(210) 및 캐시 처리부(220)는 네트워크를 통하여 외부 전자 장치(예: 클라이언트(110), 분산 서버(120), 웹 서버(130))로 데이터를 전송하거나 외부 전자 장치로부터 데이터를 수신할 수 있다.The data processing unit 210 and the cache processing unit 220 may include at least one processor and a wireless communication circuit. The data processing unit 210 and the cache processing unit 220 may control the components of the cloud streaming server 100 by executing a program stored in the memory 230, and may perform various data processing or operations. The data processing unit 210 and the cache processing unit 220 transmit data to or receive data from an external electronic device (eg, the client 110 , the distributed server 120 , and the web server 130 ) through a network. can do.

데이터 처리부(210)는 클라이언트(110)에 컨텐츠를 제공하기 위하여 적어도 하나의 웹 브라우저(예: 소프트웨어)를 실행할 수 있다. 클라이언트(110)는 적어도 하나의 웹 브라우저 중 어느 하나와 연결될 수 있다. 웹 브라우저는 웹 서버(예: 도 1의 130)로부터 사용자 입력에 기반한 컨텐츠를 수신할 수 있다. The data processing unit 210 may execute at least one web browser (eg, software) to provide content to the client 110 . The client 110 may be connected to any one of at least one web browser. The web browser may receive content based on a user input from a web server (eg, 130 of FIG. 1 ).

일 실시예에 따르면, 데이터 처리부(210)는 웹 서버(130)로부터 수신한 컨텐츠를 클라이언트(110)에게 제공하고, 컨텐츠와 관련된 데이터를 재사용하기 위하여 캐시 파일을 생성할 수 있다. 구체적으로, 데이터 처리부(210)는 컨텐츠의 각 영역에 대한 유일 값을 추출할 수 있다. 데이터 처리부(210)는 컨텐츠의 각 영역에 대응하는 데이터를 처리하여 스트리밍 데이터를 생성할 수 있다. 유일 값 추출 및 스트리밍 데이터 생성에 대한 설명은 도 6a 내지 도 6b에 대한 설명에 의해 참조될 수 있다. 데이터 처리부(210)는 유일 값을 메모리(230)에 저장하고, 유일 값 및 스트리밍 데이터를 포함하는 캐시 파일을 생성할 수 있다. 데이터 처리부(210)는 네트워크를 통하여 스트리밍 데이터를 클라이언트(110)로 전송할 수 있다. According to an embodiment, the data processing unit 210 may provide the content received from the web server 130 to the client 110 , and may create a cache file in order to reuse data related to the content. Specifically, the data processing unit 210 may extract a unique value for each area of the content. The data processing unit 210 may generate streaming data by processing data corresponding to each area of the content. The description of extracting the unique value and generating the streaming data may be referred to by the description of FIGS. 6A to 6B . The data processing unit 210 may store the unique value in the memory 230 and generate a cache file including the unique value and streaming data. The data processing unit 210 may transmit streaming data to the client 110 through a network.

캐시 처리부(220)는 네트워크를 통하여 분산 서버(120)로 데이터 처리부(210)가 생성한 캐시 파일을 전송할 수 있다. 클라우드 스트리밍 서버(100)는 캐시 처리부(220)가 분산 서버(120)로 전송한 캐시 파일을 재사용할 수 있다. 예를 들어, 클라이언트(110)가 요청한 컨텐츠의 일부 영역과 동일한 데이터가 분산 서버(120)에 저장되어 있는 경우, 캐시 처리부(220)는 분산 서버(120)로부터 클라이언트(110)가 요청한 컨텐츠의 일부 영역의 스트리밍 데이터를 수신하고, 데이터 처리부(210)는 수신된 스트리밍 데이터를 별도의 처리(예: 컨버팅, 인코딩) 없이 클라이언트(110)로 전송할 수 있다. The cache processing unit 220 may transmit the cache file generated by the data processing unit 210 to the distributed server 120 through a network. The cloud streaming server 100 may reuse the cache file transmitted by the cache processing unit 220 to the distributed server 120 . For example, when the same data as the partial region of the content requested by the client 110 is stored in the distributed server 120 , the cache processing unit 220 may store the part of the content requested by the client 110 from the distributed server 120 . Receives streaming data of the region, and the data processing unit 210 may transmit the received streaming data to the client 110 without separate processing (eg, converting, encoding).

메모리(230)는, 클라우드 스트리밍 서버(100)에 의해 사용되는 다양한 데이터를 저장할 수 있다. 데이터는, 예를 들어, 소프트웨어 및, 이와 관련된 명령에 대한 입력 데이터 또는 출력 데이터를 포함할 수 있다. 메모리(230)는, 휘발성 메모리 또는 비휘발성 메모리를 포함할 수 있다. 데이터 처리부(210)는 컨텐츠의 각 영역에 대한 유일 값을 추출하고, 추출된 유일 값을 메모리(230)에 저장할 수 있다. 데이터 처리부(210)는 컨텐츠의 각 영역에 대한 스트리밍 데이터를 생성하고, 생성된 스트리밍 데이터를 메모리(230)에 저장할 수 있다. 데이터 처리부(210)는 스트리밍 데이터를 클라이언트(110)로 전송한 뒤, 메모리(230)에서 삭제할 수 있다.The memory 230 may store various data used by the cloud streaming server 100 . Data may include, for example, input data or output data for software and instructions related thereto. The memory 230 may include a volatile memory or a non-volatile memory. The data processing unit 210 may extract a unique value for each area of the content and store the extracted unique value in the memory 230 . The data processing unit 210 may generate streaming data for each area of the content and store the generated streaming data in the memory 230 . The data processing unit 210 may delete streaming data from the memory 230 after transmitting the streaming data to the client 110 .

도 3은 클라이언트의 구성을 도시한 블록도이다.3 is a block diagram showing the configuration of a client.

클라이언트(110)는 클라우드 컴퓨팅 시스템 기반으로 웹 브라우저를 실행할 수 있는 장치로 이동통신 단말기, 멀티미디어 단말, 유선 단말, 고정형 단말 및/또는 IP(Internet Protocol) 단말을 포함할 수 있다. 일 실시예에 따르면, 클라이언트(110)는 표시부(300), 통신부(310), 키 입력 수신부(320), 및/또는 웹 브라우저(330)를 포함할 수 있다.The client 110 is a device capable of executing a web browser based on a cloud computing system, and may include a mobile communication terminal, a multimedia terminal, a wired terminal, a fixed terminal, and/or an IP (Internet Protocol) terminal. According to an embodiment, the client 110 may include a display unit 300 , a communication unit 310 , a key input receiving unit 320 , and/or a web browser 330 .

표시부(300)는 클라이언트(110)의 동작에 관련된 정보를 표시할 수 있다. 또한, 표시부(300)는 메뉴 및 사용자 입력에 기반한 컨텐츠 등을 표시할 수 있다. 표시부(300)는 디스플레이 및 클라이언트(110)를 제어하기 위한 제어 회로를 포함할 수 있다. 예를 들어, 표시부(300)는 터치를 감지하도록 설정된 터치 센서, 또는 상기 터치에 의해 발생되는 힘의 세기를 측정하도록 설정된 압력 센서를 포함할 수 있다. 일 실시예에 따르면, 표시부(300)는 선택적인 구성으로 생략될 수도 있다. 이 경우, 클라이언트(110)는 전기적으로 연결된 외부 전자 장치의 디스플레이에서 컨텐츠를 표시할 수 있다.The display unit 300 may display information related to the operation of the client 110 . Also, the display unit 300 may display a menu and content based on a user input. The display unit 300 may include a control circuit for controlling the display and the client 110 . For example, the display unit 300 may include a touch sensor configured to sense a touch or a pressure sensor configured to measure the intensity of a force generated by the touch. According to an embodiment, the display unit 300 may be omitted as an optional configuration. In this case, the client 110 may display the content on the display of the externally electrically connected electronic device.

통신부(310)는 사용자 입력(예: 키 입력)을 클라우드 스트리밍 서버(100)로 전송할 수 있다. 통신부(310)는 무선 통신 회로를 포함할 수 있다. 통신부(310)는 클라이언트(110)와 클라우드 스트리밍 서버(100) 간의 무선 통신 채널을 수립하고 수립된 통신 채널을 통한 통신 수행을 지원할 수 있다. 클라이언트(110)는 통신부(310)를 이용하여 클라우드 스트리밍 서버(100)와 컨텐츠와 관련된 데이터를 송수신할 수 있다.The communication unit 310 may transmit a user input (eg, a key input) to the cloud streaming server 100 . The communication unit 310 may include a wireless communication circuit. The communication unit 310 may establish a wireless communication channel between the client 110 and the cloud streaming server 100 and support performing communication through the established communication channel. The client 110 may transmit/receive data related to the cloud streaming server 100 and content using the communication unit 310 .

키 입력 수신부(320)는 사용자로부터 키 입력을 수신할 수 있다. 키 입력은 사용자 입력의 일 예시로 이해될 수 있다. 예를 들어, 키 입력은 클라이언트(110)에 대한 직접 입력 또는 외부 장치(예: 리모컨)로부터의 신호 수신을 통한 입력을 포함할 수 있다. 클라이언트(110)에 대한 직접 입력은 클라이언트(110) 외부에 탑재된 물리 버튼에 대한 직접 입력 또는 표시부(300)에 대한 터치 입력으로 이해될 수 있다. 키 입력에 대한 설명은 예시적인 것으로, 본 문서의 실시예가 이에 제한되는 것은 아니다.The key input receiving unit 320 may receive a key input from the user. A key input may be understood as an example of a user input. For example, the key input may include a direct input to the client 110 or an input through signal reception from an external device (eg, a remote control). The direct input to the client 110 may be understood as a direct input to a physical button mounted outside the client 110 or a touch input to the display unit 300 . The description of the key input is exemplary, and the embodiment of the present document is not limited thereto.

웹 브라우저(330)는 클라이언트(110)에 의해 구동되는 소프트웨어로 이해될 수 있다. 클라이언트(110)가 클라우드 스트리밍 서버(100)에 접속하는 경우, 클라이언트(110)의 웹 브라우저(330)는 클라우드 스트리밍 서버(100)가 실행한 적어도 하나의 소프트웨어(예: 웹 브라우저) 중 어느 하나와 연결될 수 있다. 웹 브라우저(330)는 네트워크를 통하여 클라우드 스트리밍 서버(100)로부터 스트리밍 데이터를 수신하고, 수신된 스트리밍 데이터를 랜더링(rendering)할 수 있다. 랜더링된 데이터는 표시부(300)에 표시될 수 있다. The web browser 330 may be understood as software driven by the client 110 . When the client 110 accesses the cloud streaming server 100, the web browser 330 of the client 110 is at least one software (eg, a web browser) executed by the cloud streaming server 100 with any one can be connected The web browser 330 may receive streaming data from the cloud streaming server 100 through a network, and render the received streaming data. The rendered data may be displayed on the display unit 300 .

도 4는 분산 서버를 이용한 컨텐츠 제공 방법을 설명한 흐름도이다.4 is a flowchart illustrating a content providing method using a distributed server.

동작 400을 참조하면, 클라우드 스트리밍 서버(예: 도 1의 100)의 수신부(예: 도 2의 200)는 클라이언트(예: 도 1의 110)로부터 제1 키 입력(예: 사용자 입력)을 수신할 수 있다. 예를 들어, 제1 키 입력은 클라이언트(110)에 대한 직접 입력 또는 외부 장치(예: 리모컨)로부터의 신호 수신을 통한 입력으로 이해될 수 있다. 일 실시예에 따르면, 제1 키 입력은 클라이언트(110)가 클라우드 스트리밍 서버(100)로부터 제공 받은 컨텐츠에 대한 사용자의 입력으로 이해될 수 있다.Referring to operation 400 , the receiver (eg, 200 in FIG. 2 ) of the cloud streaming server (eg, 100 in FIG. 1 ) receives a first key input (eg, user input) from the client (eg, 110 in FIG. 1 ) can do. For example, the first key input may be understood as a direct input to the client 110 or an input through signal reception from an external device (eg, a remote control). According to an embodiment, the first key input may be understood as a user input for the content provided by the client 110 from the cloud streaming server 100 .

동작 410에서, 클라우드 스트리밍 서버(100)의 데이터 처리부(예: 도 2의 210)는 제1 키 입력에 기반하여 웹 서버(예: 도 1의 130)로부터 제1 컨텐츠를 획득할 수 있다. 예를 들어, 제1 컨텐츠는 텍스트, 이미지, 및/또는 음성을 포함하는 이미지 또는 동영상으로 참조될 수 있다. In operation 410, the data processing unit (eg, 210 of FIG. 2 ) of the cloud streaming server 100 may acquire the first content from the web server (eg, 130 of FIG. 1 ) based on the first key input. For example, the first content may be referred to as an image or video including text, an image, and/or a voice.

동작 420에서, 데이터 처리부(210)는 제1 컨텐츠의 각 영역에 대한 유일 값을 추출하고 제1 컨텐츠의 각 영역에 대응하는 데이터를 처리하여 스트리밍 데이터를 획득할 수 있다. 데이터 처리부(210)가 유일 값을 추출하는 방법에 대한 설명은 도 6a 내지 도 6b에 대한 설명에 의해 참조될 수 있다. 일 실시예에 따르면, 데이터 처리부(210)는 제1 컨텐츠의 각 영역에 대응하는 데이터를 컨버팅(converting) 및/또는 인코딩(encoding)하여 스트리밍 데이터를 생성할 수 있다. 데이터 처리부(210)는 제1 컨텐츠의 데이터 포맷을 변환할 수 있다. 예를 들어, 제1 컨텐츠가 이미지인 경우, 데이터 처리부(210)는 PNG 형식으로 변환하여 압축률을 높일 수 있다. 다른 예를 들어, 데이터 처리부(210)는 PNG32bit 또는 JPEG 형식으로 변환하여 이미지의 화질을 개선시킬 수 있다. 데이터 처리부(210)는 제1 컨텐츠에 대응하는 데이터를 인코딩하여 데이터의 크기를 압축시킬 수 있다. 압축률이 높을수록 클라이언트(110)로 전송할 때 클라우드 스트리밍 서버(100)에 발생하는 부하가 적은 것으로 이해될 수 있다. 데이터 처리부(210)는 둘 이상의 영역에 대한 스트리밍 데이터를 묶어서 전송할 수도 있다.In operation 420 , the data processing unit 210 extracts a unique value for each region of the first content and processes data corresponding to each region of the first content to obtain streaming data. A description of how the data processing unit 210 extracts the unique value may be referred to with reference to FIGS. 6A to 6B . According to an embodiment, the data processing unit 210 may generate streaming data by converting and/or encoding data corresponding to each region of the first content. The data processing unit 210 may convert the data format of the first content. For example, when the first content is an image, the data processing unit 210 may convert it into a PNG format to increase the compression rate. As another example, the data processing unit 210 may improve the image quality by converting it to PNG32bit or JPEG format. The data processing unit 210 may encode data corresponding to the first content to compress the size of the data. It can be understood that the higher the compression rate, the less the load generated on the cloud streaming server 100 when transmitted to the client 110 . The data processing unit 210 may bundle and transmit streaming data for two or more areas.

동작 430에서, 데이터 처리부(210)는 유일 값 및 스트리밍 데이터를 포함하는 제1 캐시 파일을 생성할 수 있다. In operation 430 , the data processing unit 210 may generate a first cache file including a unique value and streaming data.

동작 440에서, 데이터 처리부(210)는 제1 컨텐츠의 각 영역에 대한 유일 값을 메모리(230)에 저장할 수 있다. 또한, 데이터 처리부(210)는 제1 컨텐츠의 각 영역에 대한 스트리밍 데이터를 메모리(230)에 저장할 수 있으나, 동작 450 이후 메모리(230)에서 삭제할 수 있다. In operation 440 , the data processing unit 210 may store a unique value for each region of the first content in the memory 230 . Also, the data processing unit 210 may store streaming data for each region of the first content in the memory 230 , but may delete it from the memory 230 after operation 450 .

동작 450에서, 데이터 처리부(210)는 제1 컨텐츠에 대한 스트리밍 데이터를 클라이언트(110)로 전송할 수 있다. 클라이언트(110)의 웹 브라우저(예: 도 3의 330)는 스트리밍 데이터를 랜더링하여 표시부(예: 도 3의 300)에 출력할 수 있다.In operation 450 , the data processing unit 210 may transmit streaming data for the first content to the client 110 . The web browser of the client 110 (eg, 330 in FIG. 3 ) may render the streaming data and output it to the display unit (eg, 300 in FIG. 3 ).

동작 460에서, 클라우드 스트리밍 서버(100)의 캐시 처리부(예: 도 2의 220)는 제1 캐시 파일을 분산 서버(예: 도 1의 120)로 전송할 수 있다. 분산 서버(120)에 저장되는 제1 캐시 파일은 재사용될 수 있다. 예를 들어, 웹 서버(130)가 사용자의 키 입력(예: 제2 키 입력)에 기반하여 생성한 컨텐츠(예: 제2 컨텐츠)의 일부 영역이 제1 컨텐츠의 일부 영역과 동일한 경우, 클라우드 스트리밍 서버(100)는 분산 서버(120)에 저장된 제1 캐시 파일에 포함된 스트리밍 데이터를 클라이언트(110)로 전송할 수 있다. 이 경우, 클라우드 스트리밍 서버(100)는 제2 컨텐츠의 일부 영역에 대응하는 데이터에 대한 처리(예: 컨버팅 또는 인코딩)를 생략할 수 있다. 클라우드 스트리밍 서버(100)는 분산 서버(120)에 저장된 캐시 파일을 재사용함으로써 자원을 절약할 수 있다. In operation 460, the cache processing unit of the cloud streaming server 100 (eg, 220 in FIG. 2) may transmit the first cache file to the distributed server (eg, 120 in FIG. 1). The first cache file stored in the distributed server 120 may be reused. For example, when a partial area of the content (eg, second content) generated by the web server 130 based on a user's key input (eg, a second key input) is the same as a partial area of the first content, the cloud The streaming server 100 may transmit streaming data included in the first cache file stored in the distributed server 120 to the client 110 . In this case, the cloud streaming server 100 may omit processing (eg, converting or encoding) data corresponding to a partial area of the second content. Cloud streaming server 100 can save resources by reusing the cache file stored in the distributed server (120).

도 5는 유일 값 추출 방법을 도시한 것이다.5 shows a unique value extraction method.

웹 서버(예: 도 1의 130)는 사용자의 키 입력(예: 도 4의 제1 키 입력)에 기반하여 컨텐츠(500)를 생성할 수 있다. 컨텐츠(500)는 예를 들어, 1280*720의 바이너리 데이터로 이해될 수 있다. 클라우드 스트리밍 서버(예: 도 1의 100)의 데이터 처리부(예: 도 2의 210)는 웹 서버(130)로부터 컨텐츠(500)를 수신할 수 있다. The web server (eg, 130 of FIG. 1 ) may generate the content 500 based on the user's key input (eg, the first key input of FIG. 4 ). The content 500 may be understood as binary data of, for example, 1280*720. The data processing unit (eg, 210 of FIG. 2 ) of the cloud streaming server (eg, 100 in FIG. 1 ) may receive the content 500 from the web server 130 .

데이터 처리부(210)는 컨텐츠(500)를 복수의 영역으로 분할할 수 있다. 예를 들어, 참조 번호 510과 같이, 데이터 처리부(210)는 컨텐츠(500)를 4개의 영역을 분할할 수 있다. 각 영역은 640*360의 바이너리 데이터로 이해될 수 있다. 분할 영역의 개수는 예시적인 것으로, 본 문서의 실시예가 이에 제한되는 것은 아니다. 예를 들어, 분할 영역은 4개 이상일 수 있다.The data processing unit 210 may divide the content 500 into a plurality of regions. For example, as indicated by reference number 510 , the data processing unit 210 may divide the content 500 into four regions. Each area may be understood as binary data of 640*360. The number of divided regions is exemplary, and the embodiment of the present document is not limited thereto. For example, the number of divided regions may be four or more.

데이터 처리부(210)는 컨텐츠(500)의 각 영역을 스캔하여 참조 번호 520과 같이 각 영역에 대한 해쉬 값을 생성할 수 있다. 컨텐츠(500)의 각 영역을 스캔하여 생성된 해쉬 값은 해당 영역에 대한 고유 값으로 이해될 수 있다. 예를 들어, 컨텐츠(예: 제1 컨텐츠)의 일부 영역에 대한 해쉬 값이 다른 컨텐츠(예: 제2 컨텐츠)의 일부 영역에 대한 해쉬 값과 동일한 경우, 양 컨텐츠의 일부 영역에 대응하는 데이터는 동일한 것으로 이해될 수 있다. 이하에서 각 영역에 대한 유일 값은 해당 영역을 스캔하여 생성된 해쉬 값으로 참조될 수 있다. The data processing unit 210 may scan each region of the content 500 and generate a hash value for each region as indicated by reference number 520 . A hash value generated by scanning each region of the content 500 may be understood as a unique value for the corresponding region. For example, when a hash value of a partial region of content (eg, first content) is the same as a hash value of a partial region of another content (eg, second content), data corresponding to a partial region of both content is can be understood as the same. Hereinafter, a unique value for each region may be referred to as a hash value generated by scanning the corresponding region.

도 6a는 일 실시예에 따른 유일 값 추출을 도시한 것이다.6A illustrates unique value extraction according to an embodiment.

참조 번호 600a는 웹 서버(예: 도 1의 130)가 사용자의 키 입력(예: 도 4의 제1 키 입력)에 기반하여 생성한 제1 컨텐츠(예: 도 4의 제1 컨텐츠)로 이해될 수 있다. 데이터 처리부(예: 도 2의 210)는 제1 컨텐츠(600a)를 웹 서버(130)로부터 수신하여 복수의 영역으로 분할할 수 있다. 데이터 처리부(210)는 제1 컨텐츠(600a)의 각 영역에 대하여 참조 번호 600b 내지 참조 번호 600d에 따른 스캔을 수행할 수 있다. 예를 들어, 데이터 처리부(210)는 제1 영역(610)에 대한 스캔을 수행할 수 있다. 데이터 처리부(210)는 제1 영역(610)에 대한 스캔을 수행하여 제1 유일 값을 추출할 수 있다. 데이터 처리부(210)는 제1 영역(610)에 대한 스캔을 완료한 뒤, 제2 영역(612)에 대한 스캔을 수행할 수 있다. 데이터 처리부(210)는 순차적으로 제1 영역 내지 제4 영역(610, 612, 614, 616)에 대한 스캔을 수행하여 각 영역에 대한 유일 값을 추출할 수 있다. Reference number 600a is understood as first content (eg, first content in FIG. 4 ) generated by a web server (eg, 130 in FIG. 1 ) based on a user's key input (eg, first key input in FIG. 4 ) can be The data processing unit (eg, 210 of FIG. 2 ) may receive the first content 600a from the web server 130 and divide it into a plurality of regions. The data processing unit 210 may scan each region of the first content 600a according to reference numerals 600b to 600d. For example, the data processing unit 210 may scan the first area 610 . The data processing unit 210 may perform a scan on the first area 610 to extract the first unique value. The data processing unit 210 may scan the second area 612 after completing the scan of the first area 610 . The data processing unit 210 may sequentially scan the first to fourth regions 610 , 612 , 614 , and 616 to extract a unique value for each region.

도 6b는 일 실시예에 따른 스트리밍 데이터 전송을 도시한 것이다.6B illustrates streaming data transmission according to an embodiment.

참조 번호 650a를 참조하면, 데이터 처리부(예: 도 2의 210)는 도 6a의 제1 컨텐츠의 각 영역에 대한 스캔을 수행하여 제1 유일 값 내지 제4 유일 값(620, 622, 624, 626)을 추출할 수 있다. 데이터 처리부(210)는 각 영역에 대한 제1 유일 값 내지 제4 유일 값(620, 622, 624, 626)을 메모리(예: 도 2의 230)에 저장할 수 있다. Referring to reference numeral 650a , the data processing unit (eg, 210 of FIG. 2 ) scans each region of the first content of FIG. 6A to perform first to fourth unique values 620 , 622 , 624 , and 626 . ) can be extracted. The data processing unit 210 may store the first to fourth unique values 620 , 622 , 624 , and 626 for each region in a memory (eg, 230 of FIG. 2 ).

참조 번호 650b를 참조하면, 데이터 처리부(210)는 각 영역에 대응하는 데이터를 처리(예: 컨버팅 또는 인버팅)하여 스트리밍 데이터(예: 스트리밍 데이터(640))를 생성할 수 있다. 일 실시예에 따르면, 데이터 처리부(210)는 제1 영역(610)에 대응하는 데이터를 처리하여 스트리밍 데이터(640)를 생성할 수 있다. 예를 들어, 데이터 처리부(210)는 제1 영역에 대응하는 데이터의 데이터 포맷을 변환할 수 있다. 다른 예를 들어, 데이터 처리부(210)는 제1 영역에 대응하는 데이터를 인코딩하여 데이터 용량을 압축할 수 있다. 데이터 처리부(210)는 제1 영역에 대한 스트리밍 데이터(640)를 클라이언트(110)로 전송할 수 있다. 일 실시예에 따르면, 데이터 처리부(210)는 네트워크 환경(예: 네트워크 대역폭)에 따라 복수의 스트리밍 데이터들을 묶어서 전송할 수도 있다. 예를 들어, 데이터 처리부(210)는 제1 영역(610) 및 제2 영역(예: 도 6a의 612)에 대한 스트리밍 데이터를 묶어서 클라이언트(110)로 전송할 수 있다. Referring to reference numeral 650b, the data processing unit 210 may generate streaming data (eg, streaming data 640) by processing (eg, converting or inverting) data corresponding to each region. According to an embodiment, the data processing unit 210 may generate streaming data 640 by processing data corresponding to the first region 610 . For example, the data processing unit 210 may convert a data format of data corresponding to the first area. As another example, the data processing unit 210 may compress data capacity by encoding data corresponding to the first region. The data processing unit 210 may transmit the streaming data 640 for the first area to the client 110 . According to an embodiment, the data processing unit 210 may bundle and transmit a plurality of streaming data according to a network environment (eg, network bandwidth). For example, the data processing unit 210 may bundle streaming data for the first area 610 and the second area (eg, 612 of FIG. 6A ) and transmit it to the client 110 .

일 실시예에 따르면, 데이터 처리부(210)는 각 영역(610, 612, 614, 616)에 대한 유일 값 및 스트리밍 데이터를 포함하는 캐시 파일(예: 도 4의 제1 캐시 파일)을 생성할 수 있다. 데이터 처리부(210)는 각 영역에 대한 유일 값을 메모리(예: 도 2의 230)에 저장할 수 있다. 캐시 처리부(예: 도 2의 220)는 캐시 파일을 분산 서버(예: 도 1의 120)로 전송할 수 있다. According to an embodiment, the data processing unit 210 may generate a cache file (eg, the first cache file of FIG. 4 ) including a unique value for each area 610 , 612 , 614 , and 616 and streaming data. have. The data processing unit 210 may store a unique value for each region in a memory (eg, 230 of FIG. 2 ). The cache processing unit (eg, 220 of FIG. 2 ) may transmit the cache file to a distributed server (eg, 120 of FIG. 1 ).

도 7은 분산 서버를 이용한 컨텐츠 제공 방법을 설명한 흐름도이다.7 is a flowchart illustrating a content providing method using a distributed server.

동작 700을 참조하면, 클라우드 스트리밍 서버(예: 도 1의 100)의 수신부(예: 도 2의 200)는 클라이언트(예: 도 1의 110)로부터 제2 키 입력을 수신할 수 있다. 제2 키 입력은 도 4의 제1 키 입력과 다른 키 입력으로 이해될 수 있다. Referring to operation 700 , the receiver (eg, 200 in FIG. 2 ) of the cloud streaming server (eg, 100 in FIG. 1 ) may receive a second key input from the client (eg, 110 in FIG. 1 ). The second key input may be understood as a key input different from the first key input of FIG. 4 .

동작 710에서, 데이터 처리부(예: 도 2의 210)는 웹 서버(예: 도 1의 130)로부터 제2 키 입력에 기반한 제2 컨텐츠를 획득할 수 있다. In operation 710 , the data processing unit (eg, 210 of FIG. 2 ) may obtain second content based on the second key input from the web server (eg, 130 of FIG. 1 ).

동작 720에서, 데이터 처리부(210)는 제2 컨텐츠의 각 영역에 대한 유일 값을 추출할 수 있다. In operation 720, the data processing unit 210 may extract a unique value for each region of the second content.

동작 730에서, 데이터 처리부(210)는 제2 컨텐츠의 각 영역에 대한 유일 값을 메모리(예: 도 2의 230)에 저장된 유일 값과 비교할 수 있다. 예를 들어, 메모리(230)에는 도 4의 제1 컨텐츠의 각 영역에 대한 유일 값이 저장되어 있을 수 있다. 이 경우, 데이터 처리부(210)는 제2 컨텐츠의 각 영역에 대한 유일 값과 제1 컨텐츠의 각 영역에 대한 유일 값을 비교할 수 있다. 동작 730에 대한 설명은 도 8b에 대한 설명에 의해 참조될 수 있다.In operation 730 , the data processing unit 210 may compare the unique value of each region of the second content with the unique value stored in the memory (eg, 230 of FIG. 2 ). For example, a unique value for each region of the first content of FIG. 4 may be stored in the memory 230 . In this case, the data processing unit 210 may compare the unique value of each area of the second content with the unique value of each area of the first content. The description of operation 730 may be referred to as the description of FIG. 8B .

동작 740에서, 데이터 처리부(210)는 제2 컨텐츠의 일부 영역에 대한 유일 값이 메모리(230)에 저장된 유일 값과 동일한지 확인할 수 있다. 예를 들어, 제2 컨텐츠의 제1 영역 내지 제3 영역의 유일 값은 제1 컨텐츠의 제1 영역 내지 제3 영역의 유일 값과 동일할 수 있다. 제2 컨텐츠의 제4 영역의 유일 값은 제1 컨텐츠의 제4 영역의 유일 값과 상이할 수 있다. In operation 740 , the data processing unit 210 may check whether the unique value of the partial region of the second content is the same as the unique value stored in the memory 230 . For example, the unique values of the first to third regions of the second content may be the same as the unique values of the first to third regions of the first content. The unique value of the fourth area of the second content may be different from the unique value of the fourth area of the first content.

데이터 처리부(210)는 제2 컨텐츠의 일부 영역(예: 제1 영역 내지 제3 영역)의 유일 값이 메모리(230)에 저장된 유일 값과 동일한 경우, 동작을 종료할 수 있다(740-YES). 이 경우, 데이터 처리부(210)는 제2 컨텐츠의 일부 영역(예: 제1 영역 내지 제3 영역)에 대한 스트리밍 데이터를 클라이언트(110)로 전송하지 않을 수 있다. 예를 들어, 클라이언트(110)는 표시부(예: 도 3의 300)의 제1 영역 내지 제3 영역에서 기존과 동일한 이미지(또는 텍스트)를 표시할 수 있다. The data processing unit 210 may end the operation when the unique value of the partial region (eg, the first to third regions) of the second content is the same as the unique value stored in the memory 230 ( 740 - YES). . In this case, the data processing unit 210 may not transmit streaming data for a partial region (eg, the first region to the third region) of the second content to the client 110 . For example, the client 110 may display the same image (or text) in the first to third areas of the display unit (eg, 300 in FIG. 3 ).

데이터 처리부(210)는 제2 컨텐츠의 일부 영역(예: 제4 영역)의 유일 값이 메모리(230)에 저장된 유일 값과 동일하지 않은 경우(740-NO), 동작 750으로 진행할 수 있다. 동작 750에서, 캐시 처리부(예: 도 2의 230)는 분산 서버(예: 도 1의 120)를 통하여 제2 컨텐츠의 일부 영역(예: 제4 영역)의 유일 값과 동일한 유일 값을 검색할 수 있다. 예를 들어, 클라우드 스트리밍 서버(100)가 클라이언트(110) 또는 다른 클라이언트에게 제2 컨텐츠의 일부 영역(예: 제4 영역)이 포함된 컨텐츠를 제공한 이력이 있는 경우, 분산 서버(120)에는 제2 컨텐츠의 일부 영역(예: 제4 영역)의 유일 값이 저장되어 있을 수 있다. 제2 컨텐츠의 일부 영역(예: 제4 영역)의 유일 값은 제2 컨텐츠의 일부 영역(예: 제4 영역)의 스트리밍 데이터와 함께 분산 서버(120)에 캐시 파일로 저장될 수 있다. When the unique value of the partial region (eg, the fourth region) of the second content is not the same as the unique value stored in the memory 230 ( 740 - NO), the data processing unit 210 may proceed to operation 750 . In operation 750, the cache processing unit (eg, 230 in FIG. 2 ) searches for a unique value equal to the unique value of a partial region (eg, a fourth region) of the second content through a distributed server (eg, 120 in FIG. 1 ). can For example, if the cloud streaming server 100 has a history of providing content including a partial area (eg, a fourth area) of the second content to the client 110 or other clients, the distributed server 120 includes A unique value of a partial area (eg, a fourth area) of the second content may be stored. The unique value of the partial region (eg, the fourth region) of the second content may be stored as a cache file in the distribution server 120 together with streaming data of the partial region (eg, the fourth region) of the second content.

동작 760에서, 캐시 처리부(220)는 분산 서버(120)를 통하여 제2 컨텐츠의 일부 영역과 동일한 유일 값을 확인할 수 있다. 캐시 처리부(220)는 분산 서버(120)를 통하여 제2 컨텐츠의 일부 영역(예: 제4 영역)과 동일한 유일 값이 확인되는 경우(760-YES), 동작 770으로 진행할 수 있다. In operation 760 , the cache processing unit 220 may check the same unique value as the partial region of the second content through the distributed server 120 . When the same unique value as the partial region (eg, the fourth region) of the second content is checked through the distributed server 120 , the cache processing unit 220 may proceed to operation 770 (760-YES).

동작 770에서, 캐시 처리부(220)는 분산 서버(120)로부터 제2 컨텐츠의 일부 영역에 대한 스트리밍 데이터를 수신할 수 있다. 제2 컨텐츠의 일부 영역(예: 제4 영역)에 대한 스트리밍 데이터는 유일 값과 함께 캐시 파일로 분산 서버(120)에 저장되어 있을 수 있다. 캐시 처리부(220)는 스트리밍 데이터를 수신한 뒤, 동작 790으로 진행할 수 있다.In operation 770 , the cache processing unit 220 may receive streaming data for a partial area of the second content from the distributed server 120 . Streaming data for a partial area (eg, the fourth area) of the second content may be stored in the distributed server 120 as a cache file together with a unique value. After receiving the streaming data, the cache processing unit 220 may proceed to operation 790 .

데이터 처리부(210)는 분산 서버(120)를 통하여 제2 컨텐츠의 일부 영역과 동일한 유일 값이 확인되지 않는 경우(760-NO), 동작 780으로 진행할 수 있다. 동작 780에서, 데이터 처리부(210)는 제2 컨텐츠의 일부 영역(예: 제4 영역)에 대응하는 데이터를 처리하여 제2 컨텐츠의 일부 영역(예: 제4 영역)에 대한 스트리밍 데이터를 생성할 수 있다. 스트리밍 데이터 생성에 대한 설명은 도 6a 내지 도 6b에 대한 설명에 의해 참조될 수 있다. 데이터 처리부(210)는 스트리밍 데이터를 생성한 뒤, 동작 790으로 진행할 수 있다. When the same unique value as the partial region of the second content is not confirmed through the distributed server 120 (760-NO), the data processing unit 210 may proceed to operation 780 . In operation 780, the data processing unit 210 processes data corresponding to a partial region (eg, a fourth region) of the second content to generate streaming data for a partial region (eg, a fourth region) of the second content. can The description of generating streaming data may be referred to by the description of FIGS. 6A to 6B . After generating the streaming data, the data processing unit 210 may proceed to operation 790 .

동작 790에서, 데이터 처리부(210)는 제2 컨텐츠의 일부 영역에 대한 스트리밍 데이터를 클라이언트(110)로 전송할 수 있다. 예를 들어, 제2 컨텐츠의 일부 영역(예: 제4 영역)에 대한 스트리밍 데이터는 캐시 처리부(220)가 분산 서버(120)로부터 수신한 것으로 이해될 수 있다. 다른 예를 들어, 제2 컨텐츠의 일부 영역(예: 제4 영역)에 대한 스트리밍 데이터는 데이터 처리부(210)가 제2 컨텐츠의 일부 영역(예: 제4 영역)에 대응하는 데이터를 처리하여 생성된 것으로 이해될 수 있다. In operation 790 , the data processing unit 210 may transmit streaming data for a partial area of the second content to the client 110 . For example, it may be understood that streaming data for a partial area (eg, a fourth area) of the second content is received by the cache processing unit 220 from the distributed server 120 . As another example, streaming data for a partial region (eg, fourth region) of the second content is generated by the data processing unit 210 processing data corresponding to a partial region (eg, fourth region) of the second content can be understood as being

동작 730 내지 동작 790을 통하여, 클라우드 스트리밍 서버(100)는 분산 서버(120)에 저장된 캐시 파일을 재사용될 수 있다.Through operations 730 to 790 , the cloud streaming server 100 may reuse the cache file stored in the distributed server 120 .

도 8a 및 8b는 분산 서버를 이용한 데이터 전송을 도시한 것이다.8A and 8B show data transmission using a distributed server.

도 8a를 참조하면, 참조 번호 800a는 웹 서버(예: 도 1의 130)가 사용자의 키 입력(예: 도 7의 제2 키 입력)에 기반하여 생성한 제2 컨텐츠(예: 도 7의 제2 컨텐츠)로 이해될 수 있다. 데이터 처리부(예: 도 2의 210)는 제2 컨텐츠(800a)의 각 영역(810, 812, 814, 816)에 대하여 참조 번호 800b 내지 800d에 따른 스캔을 수행하고 각 영역에 대한 유일 값을 추출할 수 있다. 예를 들어, 제2 컨텐츠(800a)의 제1 영역 내지 제3 영역(810, 812, 814)에 대응하는 데이터는 도 6a의 제1 영역 내지 제3 영역(610, 612, 614)에 대응하는 데이터와 동일한 것으로 이해될 수 있다. 제2 컨텐츠(800a)의 제4 영역(816)에 대응하는 데이터는 도 6a의 제4 영역(616)과 상이한 것으로 이해될 수 있다. 예를 들어, 제2 컨텐츠(800a)의 제4 영역(816)은 도 6a의 제4 영역과 1 비트(818)에 있어 상이할 수 있다. 1 비트(818) 차이로 인하여, 제2 컨텐츠의 제4 영역(816)의 유일 값은 제1 컨텐츠(예: 도 6a의 600a)의 제4 영역의 유일 값과 상이할 수 있다.Referring to FIG. 8A , reference numeral 800a denotes second content (eg, in FIG. 7 ) generated by the web server (eg, 130 in FIG. 1 ) based on the user's key input (eg, the second key input in FIG. 7 ). second content). The data processing unit (eg, 210 in FIG. 2 ) performs a scan according to reference numerals 800b to 800d on each region 810 , 812 , 814 , and 816 of the second content 800a and extracts a unique value for each region can do. For example, data corresponding to the first to third areas 810 , 812 , and 814 of the second content 800a may correspond to the first to third areas 610 , 612 , and 614 of FIG. 6A . It can be understood as the same as data. Data corresponding to the fourth area 816 of the second content 800a may be understood to be different from the fourth area 616 of FIG. 6A . For example, the fourth region 816 of the second content 800a may be different from the fourth region 818 of FIG. 6A in one bit 818 . Due to the 1-bit 818 difference, the unique value of the fourth region 816 of the second content may be different from the unique value of the fourth region of the first content (eg, 600a in FIG. 6A ).

도 8b를 참조하면, 데이터 처리부(210)는 제2 컨텐츠(800a)의 각 영역에 대한 유일 값(820, 822, 824, 826)을 메모리(예: 도 2의 230)에 저장된 유일 값과 비교할 수 있다. 참조 번호 850a를 참조하면, 제1 컨텐츠(600a)의 각 영역에 대한 유일값(620, 622, 624, 626)은 메모리(230)에 저장되어 있을 수 있다. Referring to FIG. 8B , the data processing unit 210 compares the unique values 820 , 822 , 824 , and 826 for each area of the second content 800a with the unique values stored in the memory (eg, 230 in FIG. 2 ). can Referring to reference numeral 850a , unique values 620 , 622 , 624 , and 626 for each region of the first content 600a may be stored in the memory 230 .

제2 컨텐츠(800a)의 일부 영역(810, 812, 814)의 유일 값(820, 822, 824)은 제1 컨텐츠(600a)의 일부 영역(610, 612, 614)의 유일 값(610, 612, 614)과 동일할 수 있다. 제2 컨텐츠(800a)의 일부 영역(816)의 유일 값(826)은 제1 컨텐츠(600a)의 일부 영역(616)의 유일 값(616)과 상이할 수 있다. 이 경우, 데이터 처리부(210)는 제2 컨텐츠(800a)의 일부 영역(826)의 유일 값(826)과 동일한 유일 값을 메모리(230)에서 확인하지 못할 수 있다. Unique values 820 , 822 , and 824 of partial regions 810 , 812 , and 814 of second content 800a are unique values 610 , 612 of partial regions 610 , 612 , 614 of first content 600a , 614). The unique value 826 of the partial area 816 of the second content 800a may be different from the unique value 616 of the partial area 616 of the first content 600a. In this case, the data processing unit 210 may not be able to check the same unique value as the unique value 826 of the partial region 826 of the second content 800a in the memory 230 .

데이터 처리부(210)가 메모리(230)에서 제2 컨텐츠(800a)의 일부 영역(816)의 유일 값(826)과 동일한 유일 값을 확인하지 못하는 경우, 캐시 처리부(예: 도 2의 220)는 분산 서버(120)를 통하여 제5 유일 값(826)과 동일한 유일 값을 검색할 수 있다. 캐시 처리부(220)는 분산 서버(120)에 제5 유일 값(826)과 동일한 유일 값이 확인되는 경우, 제2 컨텐츠(800a)의 제4 영역(816)에 대한 스트리밍 데이터를 수신할 수 있다. 제2 컨텐츠(800a)의 제4 영역(816)에 대한 스트리밍 데이터는 제5 유일 값과 함께 분산 서버(120)에 캐시 파일로 저장되어 있을 수 있다. 데이터 처리부(210)는 분산 서버(120)로부터 수신된 스트리밍 데이터를 클라이언트(110)로 전송할 수 있다.When the data processing unit 210 does not check the unique value that is the same as the unique value 826 of the partial region 816 of the second content 800a in the memory 230, the cache processing unit (eg, 220 in FIG. 2 ) The same unique value as the fifth unique value 826 may be retrieved through the distributed server 120 . The cache processing unit 220 may receive streaming data for the fourth region 816 of the second content 800a when the same unique value as the fifth unique value 826 is confirmed in the distributed server 120 . . Streaming data for the fourth area 816 of the second content 800a may be stored as a cache file in the distributed server 120 together with the fifth unique value. The data processing unit 210 may transmit streaming data received from the distributed server 120 to the client 110 .

캐시 처리부(220)는 분산 서버(120)를 통하여 제5 유일 값(826)과 동일한 유일 값이 확인되지 않는 경우, 검색을 종료할 수 있다. 이 경우, 데이터 처리부(210)는 제2 컨텐츠(800a)의 제4 영역(816)에 대응하는 데이터를 처리(예: 컨버팅 또는 인코딩)하여 스트리밍 데이터를 생성할 수 있다. 데이터 처리부(210)는 생성된 스트리밍 데이터를 클라이언트(110)로 전송할 수 있다. When a unique value identical to the fifth unique value 826 is not confirmed through the distributed server 120 , the cache processing unit 220 may terminate the search. In this case, the data processing unit 210 may generate streaming data by processing (eg, converting or encoding) data corresponding to the fourth region 816 of the second content 800a. The data processing unit 210 may transmit the generated streaming data to the client 110 .

데이터 처리부(210)는 제2 컨텐츠의 제4 영역(816)에 대한 스트리밍 데이터 및 제5 유일 값(826)을 포함하는 제2 캐시 파일을 생성할 수 있다. 데이터 처리부(210)는 제5 유일 값(826)을 메모리(230)에 저장할 수 있다. 캐시 처리부(220)는 제2 캐시 파일을 분산 서버(120)로 전송할 수 있다. 제2 캐시 파일은 컨텐츠 제공을 위하여 재사용될 수 있다. The data processing unit 210 may generate a second cache file including streaming data for the fourth region 816 of the second content and the fifth unique value 826 . The data processing unit 210 may store the fifth unique value 826 in the memory 230 . The cache processing unit 220 may transmit the second cache file to the distributed server 120 . The second cache file may be reused to provide content.

도 9는 복수의 클라이언트가 접속한 경우 일 실시예에 따른 컨텐츠 제공 방법을 도시한 것이다.9 illustrates a content providing method according to an embodiment when a plurality of clients connect.

클라우드 스트리밍 서버(예: 도 1의 100)는 복수의 클라이언트(110a, 110b)(예: 도 1의 110)와 네트워크를 통하여 연결될 수 있다. 클라우드 스트리밍 서버(100)는 복수의 소프트웨어(예: 웹 브라우저)를 실행하고, 복수의 클라이언트(110a, 110b)를 각각 복수의 소프트웨어와 연결할 수 있다. 예를 들어, 클라우드 스트리밍 서버(100)는 제1 웹 브라우저(910)와 제2 웹 브라우저(915)를 실행할 수 있다. 클라우드 스트리밍 서버(100)는 제1 클라이언트(110a)를 제1 웹 브라우저(910)에, 제2 클라이언트(110b)를 제2 웹 브라우저(915)에 연결할 수 있다. 제1 클라이언트(110a) 및 제2 클라이언트(110b)는 제1 웹 브라우저(910) 및 제2 웹 브라우저(915)에 각각 연결되어, 웹 서버(예: 도 1의 130)가 생성한 컨텐츠를 제공 받을 수 있다. The cloud streaming server (eg, 100 in FIG. 1 ) may be connected to a plurality of clients 110a and 110b (eg, 110 in FIG. 1 ) through a network. The cloud streaming server 100 may execute a plurality of software (eg, a web browser) and connect a plurality of clients 110a and 110b with a plurality of software, respectively. For example, the cloud streaming server 100 may execute a first web browser 910 and a second web browser 915 . Cloud streaming server 100 may connect the first client 110a to the first web browser 910 and the second client 110b to the second web browser 915 . The first client 110a and the second client 110b are respectively connected to the first web browser 910 and the second web browser 915 to provide content generated by the web server (eg, 130 in FIG. 1 ). can receive

클라우드 스트리밍 서버(100)는 제1 클라이언트(110a) 및/또는 제2 클라이언트(110b)에게 컨텐츠를 제공하기 위하여 분산 서버(예: 도 1의 120)에 저장된 캐시 파일을 재사용할 수 있다. The cloud streaming server 100 may reuse a cache file stored in a distributed server (eg, 120 in FIG. 1 ) in order to provide content to the first client 110a and/or the second client 110b.

일 실시예에 따르면, 클라우드 스트리밍 서버(100)의 데이터 처리부(예: 도 2의 210)는 제1 클라이언트(110a)의 키 입력에 기반하여 웹 서버(130)가 생성한 제1 컨텐츠를 제1 클라이언트(110a)에게 제공할 수 있다. 예를 들어, 데이터 처리부(210)는 제1 컨텐츠의 각 영역에 대한 유일 값을 추출하고 각 영역에 대응하는 데이터를 처리하여 스트리밍 데이터를 생성할 수 있다. 데이터 처리부(210)는 유일 값 및 스트리밍 데이터를 포함하는 제1 캐시 파일을 생성하고, 캐시 처리부(예: 도 2의 220)는 제1 캐시 파일을 분산 서버(120)로 전송할 수 있다.According to an embodiment, the data processing unit (eg, 210 in FIG. 2 ) of the cloud streaming server 100 generates the first content generated by the web server 130 based on the key input of the first client 110a first It may be provided to the client 110a. For example, the data processing unit 210 may generate streaming data by extracting a unique value for each region of the first content and processing data corresponding to each region. The data processing unit 210 may generate a first cache file including a unique value and streaming data, and the cache processing unit (eg, 220 of FIG. 2 ) may transmit the first cache file to the distributed server 120 .

데이터 처리부(210)는 제2 클라이언트(110b)의 키 입력에 기반하여 웹 서버(130)가 생성한 제2 컨텐츠를 제2 클라이언트(110b)에게 제공할 수 있다. 제2 컨텐츠의 일부 영역(예: 제1 영역)은 제1 컨텐츠의 일부 영역(예: 제1 영역)과 동일한 것으로 이해될 수 있다. 제2 컨텐츠의 일부 영역(예: 제2 영역)은 제1 컨텐츠의 일부 영역(예: 제2 영역)과 상이한 것으로 이해될 수 있다. 데이터 처리부(210)는 제2 컨텐츠의 각 영역에 대한 유일 값을 추출할 수 있다. 일 실시예에 따르면, 캐시 처리부(220)는 분산 서버(120)를 통하여 제2 컨텐츠의 일부 영역(예: 제1 영역)과 동일한 유일 값을 검색할 수 있다. 예를 들어, 캐시 처리부(220)는 분산 서버(120)에 저장된 제1 캐시 파일의 유일 값 중 일부가 제2 컨텐츠의 일부 영역(예: 제1 영역)의 유일 값과 동일한 것을 확인할 수 있다. 캐시 처리부(220)는 분산 서버(120)로부터 제2 컨텐츠의 일부 영역(예: 제1 영역)의 스트리밍 데이터를 수신할 수 있다. 데이터 처리부(210)는 제2 컨텐츠의 일부 영역(예: 제1 영역)의 스트리밍 데이터를 제2 클라이언트(110b)로 전송할 수 있다. 일 실시예에 따르면, 캐시 처리부(220)는 분산 서버(120)를 통하여 제2 컨텐츠의 일부 영역(예: 제2 영역)과 동일한 유일 값을 검색할 수 있다. 캐시 처리부(220)는 분산 서버(120)에서 제2 컨텐츠의 일부 영역(예: 제2 영역)의 유일 값과 동일한 유일 값을 확인하지 못할 수 있다. 이 경우, 캐시 처리부(220)는 검색을 종료하고, 데이터 처리부(210)는 제2 컨텐츠의 일부 영역(예: 제2 영역)에 대응하는 데이터를 처리하여 스트리밍 데이터를 생성할 수 있다. 데이터 처리부(210)는 생성된 스트리밍 데이터를 제2 클라이언트(110b)로 전송할 수 있다. 데이터 처리부(210)는 제2 컨텐츠의 일부 영역(예: 제1 영역)의 스트리밍 데이터와 제2 컨텐츠의 일부 영역(예: 제2 영역)의 스트리밍 데이터를 묶어서 전송할 수도 있다. The data processing unit 210 may provide the second content generated by the web server 130 to the second client 110b based on the key input of the second client 110b. A partial area (eg, the first area) of the second content may be understood to be the same as the partial area (eg, the first area) of the first content. It may be understood that the partial area (eg, the second area) of the second content is different from the partial area (eg, the second area) of the first content. The data processing unit 210 may extract a unique value for each area of the second content. According to an embodiment, the cache processing unit 220 may search for the same unique value as a partial area (eg, the first area) of the second content through the distributed server 120 . For example, the cache processing unit 220 may confirm that some of the unique values of the first cache file stored in the distributed server 120 are the same as the unique values of a partial area (eg, the first area) of the second content. The cache processing unit 220 may receive streaming data of a partial area (eg, the first area) of the second content from the distributed server 120 . The data processing unit 210 may transmit streaming data of a partial area (eg, the first area) of the second content to the second client 110b. According to an embodiment, the cache processing unit 220 may search for the same unique value as a partial area (eg, the second area) of the second content through the distributed server 120 . The cache processing unit 220 may not be able to check the unique value that is the same as the unique value of a partial region (eg, the second region) of the second content in the distributed server 120 . In this case, the cache processing unit 220 may end the search, and the data processing unit 210 may generate streaming data by processing data corresponding to a partial area (eg, the second area) of the second content. The data processing unit 210 may transmit the generated streaming data to the second client 110b. The data processing unit 210 may bundle streaming data of a partial region (eg, first region) of the second content and streaming data of a partial region (eg, second region) of the second content and transmit the bundled data.

클라이언트의 수는 예시적인 것으로, 하나 이상의 클라이언트(예: 도 1의 클라이언트(110))가 클라우드 스트리밍 서버(100)에 더 접속할 수 있다. 클라우드 스트리밍 서버(100)는 분산 서버(120)를 이용하여 다른 클라이언트에게 제공했던 컨텐츠의 스트리밍 데이터를 재사용할 수 있다. 예를 들어, 클라우드 스트리밍 서버(100)는 과거에 특정 클라이언트에게 제공했던 컨텐츠의 일부 영역을 포함하는 컨텐츠를 다른 클라이언트에게 제공하는 경우, 분산 서버(120)에 저장된 캐시 파일을 재사용함으로써 자원을 절약할 수 있다.The number of clients is exemplary, and one or more clients (eg, the client 110 of FIG. 1 ) may further connect to the cloud streaming server 100 . The cloud streaming server 100 may reuse streaming data of content provided to other clients by using the distributed server 120 . For example, the cloud streaming server 100 may save resources by reusing the cache file stored in the distributed server 120 when providing other clients with content including a partial area of the content provided to a specific client in the past. can

일 실시예에 따르면, 제2 클라이언트(110b)는 제1 클라이언트(110a)와 제1 웹 브라우저(910)의 연결이 해제된 이후 클라우드 스트리밍 서버(100)에 접속할 수 있다. 도 9에 도시된 바와 달리, 클라우드 스트리밍 서버(100)는 제2 클라이언트(110b)를 제1 웹 브라우저(910)와 연결할 수 있다. 이 경우에도, 클라우드 스트리밍 서버(100)는 제2 클라이언트(110b)가 요청하는 컨텐츠를 제공하기 위하여 분산 서버(120)에 저장된 캐시 파일을 재사용할 수 있다.According to an embodiment, the second client 110b may access the cloud streaming server 100 after the connection between the first client 110a and the first web browser 910 is released. Contrary to that shown in FIG. 9 , the cloud streaming server 100 may connect the second client 110b with the first web browser 910 . Even in this case, the cloud streaming server 100 may reuse the cache file stored in the distributed server 120 in order to provide the content requested by the second client 110b.

Claims (28)

클라우드 스트리밍 서버에 있어서,
클라이언트의 키 입력을 수신하는 수신부;
메모리;
캐시 처리부; 및
데이터 처리부;를 포함하고,
상기 수신부는 상기 클라이언트로부터 제1 키 입력을 수신하고,
상기 데이터 처리부는, 상기 제1 키 입력에 기반하여, 웹 서버로부터 제1 컨텐츠를 획득하고, 상기 제1 컨텐츠의 각 영역에 대한 유일 값을 추출하고, 상기 제1 컨텐츠의 각 영역에 대응하는 데이터를 처리하여 스트리밍 데이터를 획득하고, 상기 유일 값 및 상기 스트리밍 데이터를 포함하는 제1 캐시 파일을 생성하고, 상기 제1 컨텐츠의 각 영역에 대한 유일 값을 상기 메모리에 저장하고, 상기 스트리밍 데이터를 상기 클라이언트 전송하고,
상기 캐시 처리부는, 상기 제1 캐시 파일을 분산 서버로 전송하는,
클라우드 스트리밍 서버.
In the cloud streaming server,
a receiver for receiving a key input from a client;
Memory;
cache processing unit; and
data processing unit;
The receiving unit receives a first key input from the client,
The data processing unit may be configured to obtain first content from a web server based on the first key input, extract a unique value for each area of the first content, and data corresponding to each area of the first content to obtain streaming data, generate a first cache file including the unique value and the streaming data, store a unique value for each region of the first content in the memory, and store the streaming data in the memory send the client,
The cache processing unit transmits the first cache file to a distributed server,
Cloud streaming server.
제1 항에 있어서,
상기 수신부는 상기 클라이언트로부터 제2 키 입력을 수신하고,
상기 데이터 처리부는, 상기 제2 키 입력에 기반하여 상기 웹 서버로부터 제2 컨텐츠를 획득하고, 상기 제2 컨텐츠의 각 영역에 대한 유일 값을 추출하고, 상기 제2 컨텐츠의 각 영역에 대한 유일 값을 상기 메모리에 저장된 유일 값과 비교하고,
상기 캐시 처리부는 상기 제2 컨텐츠의 일부 영역의 유일 값이 상기 메모리에 저장된 유일 값과 상이한 경우, 상기 분산 서버를 통하여 상기 제2 컨텐츠의 일부 영역의 유일 값과 동일한 유일 값을 검색하는,
클라우드 스트리밍 서버.
According to claim 1,
The receiving unit receives a second key input from the client,
The data processing unit obtains second content from the web server based on the second key input, extracts a unique value for each area of the second content, and a unique value for each area of the second content is compared with the unique value stored in the memory,
When the unique value of the partial region of the second content is different from the unique value stored in the memory, the cache processing unit searches for a unique value equal to the unique value of the partial region of the second content through the distributed server;
Cloud streaming server.
제2 항에 있어서,
상기 캐시 처리부는, 상기 분산 서버를 통하여 상기 제2 컨텐츠의 일부 영역의 유일 값과 동일한 유일 값이 확인되면, 상기 분산 서버로부터 상기 제2 컨텐츠의 일부 영역에 대한 스트리밍 데이터를 수신하고,
상기 데이터 처리부는, 상기 제2 컨텐츠의 일부 영역에 대한 스트리밍 데이터를 상기 클라이언트로 전송하는,
클라우드 스트리밍 서버.
3. The method of claim 2,
The cache processing unit, when the same unique value as the unique value of the partial region of the second content is confirmed through the distributed server, receives streaming data for the partial region of the second content from the distributed server,
The data processing unit transmits streaming data for a partial area of the second content to the client,
Cloud streaming server.
제2 항에 있어서,
상기 캐시 처리부는, 상기 분산 서버를 통하여 상기 제2 컨텐츠의 일부 영역의 유일 값과 동일한 유일 값이 확인되지 않으면, 상기 검색을 종료하고,
상기 데이터 처리부는, 상기 제2 컨텐츠의 일부 영역에 대응하는 데이터를 처리하여 상기 제2 컨텐츠의 일부 영역에 대한 스트리밍 데이터를 생성하고, 상기 제2 컨텐츠의 일부 영역에 대한 스트리밍 데이터를 상기 클라이언트로 전송하는,
클라우드 스트리밍 서버.
3. The method of claim 2,
The cache processing unit terminates the search if a unique value identical to the unique value of the partial region of the second content is not confirmed through the distributed server;
The data processing unit generates streaming data for a partial region of the second content by processing data corresponding to a partial region of the second content, and transmits streaming data for a partial region of the second content to the client doing,
Cloud streaming server.
제4 항에 있어서,
상기 데이터 처리부는 상기 제2 컨텐츠의 일부 영역의 유일 값 및 상기 제2 컨텐츠의 일부 영역에 대한 스트리밍 데이터를 포함하는 제2 캐시 파일을 생성하고,
상기 데이터 처리부는 상기 제2 컨텐츠의 일부 영역의 유일 값을 상기 메모리에 저장하고,
상기 캐시 처리부는 상기 제2 캐시 파일을 상기 분산 서버로 전송하는,
클라우드 스트리밍 서버.
5. The method of claim 4,
The data processing unit generates a second cache file including a unique value of a partial region of the second content and streaming data for a partial region of the second content,
The data processing unit stores the unique value of the partial region of the second content in the memory,
The cache processing unit transmits the second cache file to the distributed server,
Cloud streaming server.
제1 항에 있어서,
상기 데이터 처리부는 상기 제1 컨텐츠의 각 영역에 대응하는 데이터에 대하여 컨버팅(converting) 및 인코딩(enconding) 중 적어도 하나를 수행하여 상기 스트리밍 데이터를 획득하는,
클라우드 스트리밍 서버.
According to claim 1,
The data processing unit obtains the streaming data by performing at least one of converting and encoding on data corresponding to each area of the first content,
Cloud streaming server.
제6 항에 있어서,
상기 데이터 처리부는 상기 컨버팅(converting)을 수행하여 상기 제1 컨텐츠의 각 영역에 대응하는 데이터를 PNG, PNG32bit, 및 JPEG 중 적어도 하나로 변환하는,
클라우드 스트리밍 서버.
7. The method of claim 6,
The data processing unit converts data corresponding to each area of the first content by performing the converting into at least one of PNG, PNG32bit, and JPEG;
Cloud streaming server.
제6 항에 있어서,
상기 데이터 처리부는,
상기 스트리밍 데이터를 상기 메모리에 저장하고,
상기 스트리밍 데이터를 상기 클라이언트로 전송한 뒤, 상기 메모리에 저장된 스트리밍 데이터를 삭제하는,
클라우드 스트리밍 서버.
7. The method of claim 6,
The data processing unit,
storing the streaming data in the memory;
After transmitting the streaming data to the client, deleting the streaming data stored in the memory,
Cloud streaming server.
제4 항에 있어서,
상기 데이터 처리부는, 상기 제2 컨텐츠의 일부 영역의 유일 값 및 스트리밍 데이터를 포함하는 제2 캐시 파일을 생성하고, 상기 제2 컨텐츠의 일부 영역의 유일 값을 상기 메모리에 저장하고,
상기 캐시 처리부는, 상기 제2 캐시 파일을 상기 분산 서버로 전송하는,
클라우드 스트리밍 서버.
5. The method of claim 4,
The data processing unit generates a second cache file including a unique value of a partial region of the second content and streaming data, and stores the unique value of a partial region of the second content in the memory;
The cache processing unit transmits the second cache file to the distributed server,
Cloud streaming server.
제1 항에 있어서,
신규 클라이언트가 상기 클라우드 스트리밍 서버에 접속하고,
상기 수신부는 상기 신규 클라이언트로부터 제3 키 입력을 수신하고,
상기 데이터 처리부는, 상기 제3 키 입력에 기반하여 상기 웹 서버로부터 제3 컨텐츠를 획득하고, 상기 제3 컨텐츠의 각 영역에 대한 유일 값을 추출하고,
상기 캐시 처리부는, 상기 분산 서버를 통하여 상기 제3 컨텐츠의 일부 영역의 유일 값과 동일한 유일 값을 검색하고,
상기 신규 클라이언트는 상기 클라이언트와 상이한,
클라우드 스트리밍 서버.
According to claim 1,
A new client accesses the cloud streaming server,
The receiving unit receives a third key input from the new client,
The data processing unit obtains third content from the web server based on the third key input, extracts a unique value for each area of the third content,
The cache processing unit searches for a unique value identical to the unique value of the partial region of the third content through the distributed server,
the new client is different from the client;
Cloud streaming server.
제10 항에 있어서,
상기 캐시 처리부는, 상기 분산 서버를 통하여 상기 제3 컨텐츠의 일부 영역의 유일 값과 동일한 유일 값이 확인되면, 상기 분산 서버로부터 상기 제3 컨텐츠의 일부 영역에 대한 스트리밍 데이터를 수신하고,
상기 데이터 처리부는, 상기 제3 컨텐츠의 일부 영역에 대한 스트리밍 데이터를 상기 신규 클라이언트로 전송하는,
클라우드 스트리밍 서버.
11. The method of claim 10,
The cache processing unit, when the same unique value as the unique value of the partial region of the third content is confirmed through the distributed server, receives streaming data for the partial region of the third content from the distributed server,
The data processing unit transmits streaming data for a partial area of the third content to the new client,
Cloud streaming server.
제10 항에 있어서,
상기 캐시 처리부는, 상기 분산 서버를 통하여 상기 제3 컨텐츠의 일부 영역의 유일 값과 동일한 유일 값이 확인되지 않으면, 상기 검색을 종료하고,
상기 데이터 처리부는, 상기 제3 컨텐츠의 일부 영역에 대응하는 데이터를 처리하여 상기 제3 컨텐츠의 일부 영역에 대한 스트리밍 데이터를 생성하고, 상기 제3 컨텐츠의 일부 영역에 대한 스트리밍 데이터를 상기 클라이언트로 전송하는,
클라우드 스트리밍 서버.
11. The method of claim 10,
The cache processing unit terminates the search if a unique value identical to the unique value of the partial region of the third content is not confirmed through the distributed server;
The data processing unit generates streaming data for a partial region of the third content by processing data corresponding to a partial region of the third content, and transmits streaming data for a partial region of the third content to the client doing,
Cloud streaming server.
제10 항에 있어서,
상기 데이터 처리부는,
제1 웹 브라우저 및 제2 웹 브라우저를 포함하는 복수의 웹 브라우저를 실행하고,
상기 클라이언트를 상기 제1 웹 브라우저에 연결하고, 상기 신규 클라이언트를 상기 제2 웹 브라우저에 연결하는,
클라우드 스트리밍 서버.
11. The method of claim 10,
The data processing unit,
Execute a plurality of web browsers including a first web browser and a second web browser,
connecting the client to the first web browser and connecting the new client to the second web browser,
Cloud streaming server.
제10 항에 있어서,
상기 데이터 처리부는,
제1 웹 브라우저를 실행하고,
상기 클라이언트를 상기 제1 웹 브라우저에 연결하고,
상기 제1 웹 브라우저와 상기 클라이언트의 연결이 해제된 경우, 상기 신규 클라이언트를 상기 제1 웹 브라우저와 연결하는,
클라우드 스트리밍 서버.
11. The method of claim 10,
The data processing unit,
Run a first web browser,
connecting the client to the first web browser;
When the connection between the first web browser and the client is disconnected, connecting the new client with the first web browser,
Cloud streaming server.
클라우드 스트리밍 서버의 운용 방법에 있어서,
클라이언트로부터 제1 키 입력을 수신하는 동작;
상기 제1 키 입력에 기반하여, 웹 서버로부터 제1 컨텐츠를 획득하는 동작;
상기 제1 컨텐츠의 각 영역에 대한 유일 값을 추출하는 동작;
상기 제1 컨텐츠의 각 영역에 대응하는 데이터를 처리하여 스트리밍 데이터를 획득하는 동작;
상기 유일 값 및 상기 스트리밍 데이터를 포함하는 제1 캐시 파일을 생성하는 동작;
상기 제1 컨텐츠의 각 영역에 대한 유일 값을 메모리에 저장하는 동작;
상기 스트리밍 데이터를 상기 클라이언트 전송하는 동작; 및
상기 제1 캐시 파일을 분산 서버로 전송하는 동작;을 포함하는,
방법.
In the operating method of the cloud streaming server,
receiving a first key input from a client;
obtaining first content from a web server based on the input of the first key;
extracting a unique value for each area of the first content;
processing data corresponding to each area of the first content to obtain streaming data;
generating a first cache file including the unique value and the streaming data;
storing a unique value for each area of the first content in a memory;
transmitting the streaming data to the client; and
Including; transmitting the first cache file to a distributed server;
Way.
제15 항에 있어서,
상기 클라이언트로부터 제2 키 입력을 수신하는 동작;
상기 제2 키 입력에 기반하여 상기 웹 서버로부터 제2 컨텐츠를 획득하는 동작;
상기 제2 컨텐츠의 각 영역에 대한 유일 값을 추출하는 동작;
상기 제2 컨텐츠의 각 영역에 대한 유일 값을 상기 메모리에 저장된 유일 값과 비교하는 동작; 및
상기 제2 컨텐츠의 일부 영역의 유일 값이 상기 메모리에 저장된 유일 값과 상이한 경우, 상기 분산 서버를 통하여 상기 제2 컨텐츠의 일부 영역의 유일 값과 동일한 유일 값을 검색하는 동작;을 더 포함하는,
방법.
16. The method of claim 15,
receiving a second key input from the client;
obtaining second content from the web server based on the second key input;
extracting a unique value for each area of the second content;
comparing the unique value of each region of the second content with the unique value stored in the memory; and
When the unique value of the partial region of the second content is different from the unique value stored in the memory, the operation of searching for a unique value identical to the unique value of the partial region of the second content through the distributed server;
Way.
제16 항에 있어서,
상기 분산 서버를 통하여 상기 제2 컨텐츠의 일부 영역의 유일 값과 동일한 유일 값이 확인되면, 상기 분산 서버로부터 상기 제2 컨텐츠의 일부 영역에 대한 스트리밍 데이터를 수신하는 동작; 및
상기 제2 컨텐츠의 일부 영역에 대한 스트리밍 데이터를 상기 클라이언트로 전송하는 동작;을 더 포함하는,
방법.
17. The method of claim 16,
receiving streaming data for the partial region of the second content from the distributed server when a unique value identical to the unique value of the partial region of the second content is confirmed through the distributed server; and
The method further comprising: transmitting streaming data for a partial area of the second content to the client;
Way.
제16 항에 있어서,
상기 분산 서버를 통하여 상기 제2 컨텐츠의 일부 영역의 유일 값과 동일한 유일 값이 확인되지 않으면, 상기 검색을 종료하는 동작;
상기 제2 컨텐츠의 일부 영역에 대응하는 데이터를 처리하여 상기 제2 컨텐츠의 일부 영역에 대한 스트리밍 데이터를 생성하는 동작; 및
상기 제2 컨텐츠의 일부 영역에 대한 스트리밍 데이터를 상기 클라이언트로 전송하는 동작;을 더 포함하는,
방법.
17. The method of claim 16,
terminating the search when a unique value identical to the unique value of the partial region of the second content is not identified through the distributed server;
generating streaming data for the partial region of the second content by processing data corresponding to the partial region of the second content; and
The method further comprising: transmitting streaming data for a partial area of the second content to the client;
Way.
제18 항에 있어서,
상기 제2 컨텐츠의 일부 영역의 유일 값 및 상기 제2 컨텐츠의 일부 영역에 대한 스트리밍 데이터를 포함하는 제2 캐시 파일을 생성하는 동작;
상기 제2 컨텐츠의 일부 영역의 유일 값을 상기 메모리에 저장하는 동작; 및
상기 제2 캐시 파일을 상기 분산 서버로 전송하는 동작;을 더 포함하는,
방법.
19. The method of claim 18,
generating a second cache file including a unique value of a partial region of the second content and streaming data for a partial region of the second content;
storing a unique value of a partial region of the second content in the memory; and
Transmitting the second cache file to the distributed server; further comprising,
Way.
제15 항에 있어서,
상기 제1 컨텐츠의 각 영역에 대응하는 데이터를 처리하여 스트리밍 데이터를 획득하는 동작은 상기 제1 컨텐츠의 각 영역에 대응하는 데이터에 대하여 컨버팅(converting) 및 인코딩(enconding) 중 적어도 하나를 수행하는 동작을 포함하는,
방법.
16. The method of claim 15,
The operation of processing data corresponding to each area of the first content to obtain streaming data is an operation of performing at least one of converting and encoding data corresponding to each area of the first content containing,
Way.
제20 항에 있어서,
상기 컨버팅(converting)을 수행하는 동작은 상기 제1 컨텐츠의 각 영역에 대응하는 데이터를 PNG, PNG32bit, 및 JPEG 중 적어도 하나로 변환하는 동작을 포함하는,
방법.
21. The method of claim 20,
The performing of the converting includes converting data corresponding to each region of the first content into at least one of PNG, PNG32bit, and JPEG,
Way.
제20 항에 있어서,
상기 스트리밍 데이터를 상기 메모리에 저장하는 동작; 및
상기 스트리밍 데이터를 상기 클라이언트로 전송한 뒤, 상기 메모리에 저장된 스트리밍 데이터를 삭제하는 동작;을 더 포함하는,
방법.
21. The method of claim 20,
storing the streaming data in the memory; and
After transmitting the streaming data to the client, the operation of deleting the streaming data stored in the memory; further comprising,
Way.
제18 항에 있어서,
상기 제2 컨텐츠의 일부 영역의 유일 값 및 스트리밍 데이터를 포함하는 제2 캐시 파일을 생성하는 동작;
상기 제2 컨텐츠의 일부 영역의 유일 값을 상기 메모리에 저장하는 동작; 및
상기 제2 캐시 파일을 상기 분산 서버로 전송하는 동작;을 더 포함하는,
방법.
19. The method of claim 18,
generating a second cache file including a unique value of a partial region of the second content and streaming data;
storing a unique value of a partial region of the second content in the memory; and
Transmitting the second cache file to the distributed server; further comprising,
Way.
제15 항에 있어서,
신규 클라이언트가 상기 클라우드 스트리밍 서버에 접속하는 동작;
상기 신규 클라이언트로부터 제3 키 입력을 수신하는 동작;
상기 제3 키 입력에 기반하여 상기 웹 서버로부터 제3 컨텐츠를 획득하는 동작;
상기 제3 컨텐츠의 각 영역에 대한 유일 값을 추출하는 동작; 및
상기 분산 서버를 통하여 상기 제3 컨텐츠의 일부 영역의 유일 값과 동일한 유일 값을 검색하는 동작;을 더 포함하고,
상기 신규 클라이언트는 상기 클라이언트와 상이한,
방법.
16. The method of claim 15,
The operation of a new client accessing the cloud streaming server;
receiving a third key input from the new client;
obtaining third content from the web server based on the third key input;
extracting a unique value for each area of the third content; and
The method further includes: an operation of searching for a unique value that is the same as the unique value of the partial region of the third content through the distributed server;
the new client is different from the client;
Way.
제24 항에 있어서,
상기 분산 서버를 통하여 상기 제3 컨텐츠의 일부 영역의 유일 값과 동일한 유일 값이 확인되면, 상기 분산 서버로부터 상기 제3 컨텐츠의 일부 영역에 대한 스트리밍 데이터를 수신하는 동작; 및
상기 제3 컨텐츠의 일부 영역에 대한 스트리밍 데이터를 상기 신규 클라이언트로 전송하는 동작;을 더 포함하는,
방법.
25. The method of claim 24,
receiving streaming data for the partial region of the third content from the distributed server when a unique value identical to the unique value of the partial region of the third content is confirmed through the distributed server; and
Transmitting streaming data for a partial area of the third content to the new client; further comprising
Way.
제24 항에 있어서,
상기 분산 서버를 통하여 상기 제3 컨텐츠의 일부 영역의 유일 값과 동일한 유일 값이 확인되지 않으면, 상기 검색을 종료하는 동작;
상기 제3 컨텐츠의 일부 영역에 대응하는 데이터를 처리하여 상기 제3 컨텐츠의 일부 영역에 대한 스트리밍 데이터를 생성하는 동작; 및
상기 제3 컨텐츠의 일부 영역에 대한 스트리밍 데이터를 상기 클라이언트로 전송하는 동작;을 더 포함하는,
방법.
25. The method of claim 24,
terminating the search when the same unique value as the unique value of the partial region of the third content is not confirmed through the distributed server;
generating streaming data for the partial region of the third content by processing data corresponding to the partial region of the third content; and
The method further comprising: transmitting streaming data for a partial area of the third content to the client;
Way.
제24 항에 있어서,
제1 웹 브라우저 및 제2 웹 브라우저를 포함하는 복수의 웹 브라우저를 실행하는 동작; 및
상기 클라이언트를 상기 제1 웹 브라우저에 연결하고, 상기 신규 클라이언트를 상기 제2 웹 브라우저에 연결하는 동작;을 더 포함하는,
방법.
25. The method of claim 24,
executing a plurality of web browsers including a first web browser and a second web browser; and
connecting the client to the first web browser and connecting the new client to the second web browser; further comprising
Way.
제24 항에 있어서,
제1 웹 브라우저를 실행하는 동작;
상기 클라이언트를 상기 제1 웹 브라우저에 연결하는 동작; 및
상기 제1 웹 브라우저와 상기 클라이언트의 연결이 해제된 경우, 상기 신규 클라이언트를 상기 제1 웹 브라우저와 연결하는 동작;을 더 포함하는,
방법.

25. The method of claim 24,
executing a first web browser;
connecting the client to the first web browser; and
When the connection between the first web browser and the client is disconnected, the operation of connecting the new client with the first web browser; further comprising
Way.

KR1020210089734A 2020-07-08 2021-07-08 Cloud streaming server generating cache file and operating method thereof KR20220006483A (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20200084177 2020-07-08
KR1020200084177 2020-07-08

Publications (1)

Publication Number Publication Date
KR20220006483A true KR20220006483A (en) 2022-01-17

Family

ID=80051755

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210089734A KR20220006483A (en) 2020-07-08 2021-07-08 Cloud streaming server generating cache file and operating method thereof

Country Status (1)

Country Link
KR (1) KR20220006483A (en)

Similar Documents

Publication Publication Date Title
JP2002215503A (en) Device and method for conversion, charging method, and system and method for script conversion
CN112379949B (en) Data processing method, device, equipment and storage medium
CN104054068A (en) Improved bandwidth optimization for remote desktop protocol
WO2022135369A1 (en) Printing method and apparatus, and electronic device
CN111756847B (en) Method and device for supporting https protocol by website
WO2017114190A1 (en) File uploading processing method and device
KR102064284B1 (en) Device, system, and method to perform real-time communication
KR100624142B1 (en) Gateway apparatus and method for wireless data service
KR102426670B1 (en) System for cloud streaming service, method of image cloud streaming service using process shortering and apparatus for the same
CN108810475B (en) Android video monitoring device based on Onvif standard and Sip protocol
CN106332556B (en) Method and terminal for transmitting cloud files and cloud server
KR100750907B1 (en) Apparatus and method for processing image which is transferred to and displayed on mobile communication devices
KR20220006483A (en) Cloud streaming server generating cache file and operating method thereof
CN111542033A (en) Near-field data transmission method and device and computer readable storage medium
CN107318129B (en) Data processing method and device and terminal
CN116055143A (en) Encryption method and device for sharing links
CN114430496B (en) Cross-equipment video searching method and related equipment
KR20220006482A (en) Cloud streaming server providing contents and operating method thereof
CN112714068A (en) Method, device and system for processing coded image, storage medium and electronic device
US11086822B1 (en) Application-based compression
KR101703963B1 (en) Method and system for providing multimedia service using cash server
CN110636374A (en) Method and device for searching information
CN114513544B (en) Local area network wireless screen-throwing method, equipment and computer readable storage medium
WO2024065605A1 (en) Method for sharing data
KR100438573B1 (en) Method for monitering video phone