KR20160140048A - 클라우드 스트리밍 시스템 및 그 시스템에서의 웹 형식이 아닌 데이터 참조를 위한 장치 및 방법 - Google Patents

클라우드 스트리밍 시스템 및 그 시스템에서의 웹 형식이 아닌 데이터 참조를 위한 장치 및 방법 Download PDF

Info

Publication number
KR20160140048A
KR20160140048A KR1020150076134A KR20150076134A KR20160140048A KR 20160140048 A KR20160140048 A KR 20160140048A KR 1020150076134 A KR1020150076134 A KR 1020150076134A KR 20150076134 A KR20150076134 A KR 20150076134A KR 20160140048 A KR20160140048 A KR 20160140048A
Authority
KR
South Korea
Prior art keywords
data
server
format
web
cloud streaming
Prior art date
Application number
KR1020150076134A
Other languages
English (en)
Other versions
KR102310069B1 (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 엔트릭스 주식회사
Priority to KR1020150076134A priority Critical patent/KR102310069B1/ko
Publication of KR20160140048A publication Critical patent/KR20160140048A/ko
Application granted granted Critical
Publication of KR102310069B1 publication Critical patent/KR102310069B1/ko

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/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • H04N21/2381Adapting the multiplex stream to a specific network, e.g. an Internet Protocol [IP] network
    • 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
    • H04N21/23418Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving operations for analysing video streams, e.g. detecting features or characteristics
    • 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
    • H04N21/2402Monitoring of the downstream path of the transmission network, e.g. bandwidth available
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/61Network physical structure; Signal processing
    • H04N21/6106Network physical structure; Signal processing specially adapted to the downstream path of the transmission network
    • H04N21/6125Network physical structure; Signal processing specially adapted to the downstream path of the transmission network involving transmission via Internet

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

본 발명은 클라우드 스트리밍 시스템 및 그 시스템에서의 웹 형식이 아닌 데이터 참조를 위한 장치 및 방법에 관한 것으로, 클라우드 스트리밍 서버에서의 데이터 요청에 대하여 실시간으로 데이터를 제공하기 위하여, 데이터를 제공하는 네이티브 데이터 서버와 에이전트 서버가 일정 주기로 통신하여, 에이전트 서버는 네이티브 데이터 서버로부터 업데이트 된 데이터를 수신하여 실시간으로 압축 해제하고, 수신한 데이터의 형식이 웹 형식인지 여부를 확인하여 웹 형식이 아닌 경우, 웹 형식으로의 변환 처리를 수행하여 클라우드 스트리밍 서버의 요청에 실시간으로 제공할 수 있는 클라우드 스트리밍 시스템 및 그 시스템에서의 웹 형식이 아닌 데이터 참조를 위한 장치 및 방법에 관한 것이다.

Description

클라우드 스트리밍 시스템 및 그 시스템에서의 웹 형식이 아닌 데이터 참조를 위한 장치 및 방법{CLOUD STREAMING SYSTEM AND APPARATUS AND METHOD FOR NOT A WEB FORMAT DATA REFERENCE IN THE SYSTEM}
본 발명은 클라우드 스트리밍 시스템 및 그 시스템에서의 웹 형식이 아닌 데이터 참조를 위한 장치 및 방법에 관한 것으로, 클라우드 스트리밍 서버를 통해서 클라우드 스트리밍 서비스를 제공하는데 있어서, 웹 형식이 아닌 네이티브 형식의 데이터의 형식을 웹 형식으로 변환하여 클라우드 스트리밍 서버로 제공함으로써, 웹 형식이 아닌 데이터의 서비스도 가능하게 하기 위한 클라우드 스트리밍 시스템 및 그 시스템에서의 웹 형식이 아닌 데이터 참조를 위한 장치 및 방법에 관한 것이다.
이 부분에 기술된 내용은 단순히 본 실시 예에 대한 배경 정보를 제공할 뿐 종래기술을 구성하는 것은 아니다.
컴퓨터 네트워크의 기술 발전에 따라, 각 단말의 독립적인 하드웨어 성능에 의존하던 기존의 컴퓨팅 환경은 네트워크 상의 모든 컴퓨팅 자원을 활용하여 단말의 요청에 따라 해당 서비스를 제공하는 클라우드 컴퓨팅(Cloud Computing)형태로 진화하고 있다.
클라우드 컴퓨팅이란, 인터넷과 같은 정보 통신망을 통한 '컴퓨팅 자원의 온 디맨드 아웃소싱 서비스'라고 정의할 수 있다. 클라우드 컴퓨팅 환경에서, 서비스 제공자는 여러 곳에 분산되어 있는 데이터 센터를 가상화 기술로 통합하여 사용자들에게 필요로 하는 서비스를 제공한다. 서비스 사용자는 어플리케이션(Application), 스토리지(Storage), 운영체제(OS), 보안(Security) 등의 컴퓨팅 자원을 각 사용자 소유의 단말에 설치하여 사용하는 것이 아니라, 가상화 기술을 통해 생성된 가상 공간상의 서비스를 원하는 시점에 원하는 만큼 골라서 사용한다.
다시 말하면, 클라우드 컴퓨팅은 구름(cloud)과 같이 무형의 형태로 존재하는 하드웨어/소프트웨어 등의 컴퓨팅 자원을 자신이 필요한 만큼 빌려 쓰고 이에 대한 사용요금을 지급하는 방식의 컴퓨팅 서비스로, 서로 다른 물리적인 위치에 존재하는 컴퓨팅 자원을 가상화 기술로 통합해 제공하는 기술을 말한다.
이러한 클라우드 컴퓨팅에 따르면, 사용자는 네트워크 접속과 기본적인 연산 기능만을 수행하는 사용자의 단말을 통해 클라우드 망에 접속하여 대용량의 저장 장치와 고성능 컴퓨팅 리소스가 필요한 작업들을 수행하고, 다양한 서비스를 제공받을 수 있다.
클라우드 스트리밍 서비스는 이러한 클라우드 컴퓨팅 환경을 기반으로 한 서비스로서, 서버 자원을 활용하여 웹 어플리케이션 등의 컨텐츠를 서버측에서 실행한 후, 그 실행 화면을 GUI 화면으로 캡쳐 및 인코딩하여 실시간으로 단말로 전송하고, 단말 측에서는 입력 및 출력만 이루지도록 함으로써, 단말 사양에 관계없이 고성능 컴퓨팅 리소스가 요구되는 어플리케이션이나 컨텐츠를 사용자가 이용할 수 있도록 하는 것이다.
한편, 텔레비젼과 같은 디스플레이 장치에 연결되는 셋탑박스는 네트워크를 통해 IPTV 서버등으로부터 전송된 데이터를 원래의 영상 및 음성 신호로 복원하는데, 이러한 셋탑박스를 통해 보다 다양한 서비스를 제공하기 위해 상술한 클라우드 스트리밍 서비스가 적용되고 있다.
그런데, IPTV 서버 등으로부터 제공되는 데이터는 웹 형식이 아닌 경우가 많은데, 상기 클라우드 스트리밍 서버는 웹 기반으로 구축되어 있어 기존의 IPTV 서버에서 제공하는 모든 데이터를 처리할 수 없는 문제가 있었다.
한국공개특허 제 2011-0097190호, 2011년 08월 31일 공개 (명칭: 데이터 전송 방법 및 게이트웨이 서버)
본 발명은 상기한 종래의 문제점을 해결하기 위해 제안된 것으로서, 특히 클라우드 스트리밍 서버가 웹 형식이 아닌 데이터를 처리할 수 있도록 에이전트 서버에서 네이티브 데이터 서버로부터 네이티브 데이터를 수신하여 웹 형식으로 변환한 후 웹 서버를 통해 클라우드 스트리밍 서버에 제공함으로써, 클라우드 스트리밍 서버가 웹 형식으로 변환된 데이터를 참조할 수 있도록 하는 클라우드 스트리밍 시스템 및 그 시스템에서의 웹 형식이 아닌 데이터 참조를 위한 장치 및 방법을 제공하는 데 목적이 있다.
특히, 본 발명은 에이전트 서버가 주기적으로 네이티브 데이터 서버를 확인하여 업데이트 파일 데이터를 수신하고, 수신한 데이터를 실시간으로 웹 형식으로 변환하여 웹 서버의 기 설정된 경로에 저장함으로써, 네이티브 데이터 서버로부터 제공받는 웹 형식이 아닌 데이터의 형식을 웹 형식으로 실시간 변환하여 웹 서버에 저장하고, 클라우드 스트리밍 서비스를 통해 사용자로 하여금 실시간으로 서비스를 제공받을 수 있도록 하는 클라우드 스트리밍 시스템 및 그 시스템에서의 웹 형식이 아닌 데이터 참조를 위한 장치 및 방법을 제공하는 데 그 목적이 있다.
그러나, 이러한 본 발명의 목적은 상기의 목적으로 제한되지 않으며, 언급되지 않은 또 다른 목적들은 아래의 기재로부터 명확하게 이해될 수 있을 것이다.
상술한 바와 같은 목적을 달성하기 위한 본 발명의 실시 예에 따른 클라우드 스트리밍 시스템은 네이티브 데이터 서버와 일정 주기로 통신하여, 상기 네이티브 데이터 서버에서 업데이트 된 데이터를 수신하고, 상기 데이터의 형식을 웹 형식으로 변환하여 웹 서버의 기 설정된 경로에 저장하는 에이전트 서버; 및 클라우드 스트리밍 서버로부터의 요청에 따라서, 기 설정된 경로에 저장된 데이터를 로딩하여 상기 클라우드 스트리밍 서버로 제공하는 웹 서버;를 포함하여 구성될 수 있다.
이때, 상기 에이전트 서버는 상기 수신한 데이터를 압축 파일 형식으로 수신하여 실시간으로 압축 해제하는 것을 더 포함할 수 있다.
또한, 상기 에이전트 서버는 상기 수신한 데이터의 형식이 웹 형식인지 여부를 더 확인하여 웹 형식인 경우에는 상기 데이터의 형식을 유지하고, 상기 데이터의 형식이 웹 형식이 아닌 경우, 웹 형식으로 변환 처리할 수 있다.
상술한 바와 같은 목적을 달성하기 위한 본 발명의 실시 예에 따른 에이전트 서버는 네이티브 데이터 서버와 통신하여 데이터를 송수신하는 통신 모듈; 상기 통신 모듈을 통해 일정 주기 마다 상기 네이티브 데이터 서버에서의 업데이트 된 데이터를 수신하고, 상기 수신한 데이터를 웹 형식으로 변환 처리하는 데이터 처리 모듈; 및 상기 통신모듈을 통해 상기 데이터를 웹 서버의 기 설정된 경로에 저장하는 데이터 전달 모듈; 을 포함하여 구성될 수 있다.
이때, 상기 데이터 처리 모듈은 상기 데이터의 형식이 웹 형식인지 여부를 더 확인하여, 웹 형식인 경우에는 상기 데이터의 형식을 유지하고, 상기 데이터의 형식이 웹 형식이 아닌 경우, 웹 형식으로 변환 처리할 수 있다.
여기서, 상기 데이터 처리 모듈은 상기 수신한 데이터를 웹 형식으로 변환 처리 할 때, 기 설정된 전송규약에 따라 실시간 변환할 수 있다.
또한, 상기 데이터 처리 모듈은 상기 네이티브 데이터 서버로부터 압축 파일 형식의 데이터를 수신하여 실시간으로 압축을 해제하는 기능을 더 수행할 수 있다.
상술한 바와 같은 목적을 달성하기 위한 본 발명의 실시 예에 따른 클라우드 스트리밍 서비스 방법은 에이전트 서버가 네이티브 데이터 서버와 일정 주기로 통신하여 네이티브 데이터 서버 내에 업데이트 된 데이터가 있는지 확인하는 단계; 상기 에이전트 서버가 상기 네이티브 데이터 서버로부터 업데이트 된 데이터를 수신하는 단계; 상기 에이전트 서버가 상기 수신한 데이터의 형식을 확인하여 웹 형식인 경우 상기 데이터의 형식을 유지하고, 웹 형식이 아닌 경우, 상기 데이터의 형식을 웹 형식으로 변환하는 단계; 및 상기 에이전트 서버가 상기 웹 형식의 데이터를 웹 서버의 기 설정된 경로에 제공하는 단계;를 포함하여 구성될 수 있다.
이때, 상기 변환하는 단계에서, 상기 데이터가 압축 파일 형식의 데이터인 경우, 상기 데이터를 실시간으로 압축 해제하는 단계;를 더 포함할 수 있다.
또한, 상기 변환하는 단계는, 상기 수신한 데이터를 기 설정된 전송규약에 따라 실시간 변환할 수 있다.
본 발명의 클라우드 스트리밍 시스템 및 그 시스템에서의 웹 형식이 아닌 데이터 참조를 위한 장치 및 방법에 의하면, 네이티브 데이터 서버로부터 제공되는 웹 형식이 아닌 네이티브 형식의 데이터를 에이전트 서버에서 웹 형식으로 실시간 변환하여 웹 서버에 저장하여 클라우드 스트리밍 서버와 통신할 수 있다.
또한, 에이전트 서버가 네이티브 데이터 서버와 일정 주기로 통신하여 업데이트 된 데이터를 수신하고, 데이터를 웹 형식으로 변환 처리하여 웹 서버에 저장하고, 클라우드 스트리밍 서버와 통신함으로써, 클라이언트 장치에서의 요청에 대해 실시간 서비스를 제공할 수 있으며 데이터 요청 시, 미리 변환되어 저장된 데이터를 실시간으로 제공할 수 있다.
또한, 에이전트 서버에서 네이티브 데이터 서버로부터 수신한 데이터의 형식을 변환 처리를 수행하므로 클라이언트 장치는 복잡한 처리를 수행할 필요가 없으며 클라이언트 장치 사양에 관계없이 고성능 컴퓨팅 리소스가 요구되는 어플리케이션이나 컨텐츠를 이용할 수 있다.
아울러, 상술한 효과 이외의 다양한 효과들이 후술될 본 발명의 실시 예에 따른 상세한 설명에서 직접적 또는 암시적으로 개시될 수 있다.
도 1은 종래의 클라이언트 장치가 데이터를 참조하는 시스템의 일반적인 구성을 나타낸 도면이다.
도 2는 본 발명의 실시 예에 따른 클라우드 스트리밍 시스템의 개략적인 구성을 나타낸 도면이다.
도 3은 본 발명의 실시 예에 따른 에이전트 서버의 주요 구성을 나타낸 도면이다.
도 4는 본 발명의 실시 예에 따른 에이전트 서버에서의 서비스 제공 방법을 보다 더 구체적으로 설명하기 위한 흐름도이다.
도 5는 본 발명의 실시 예에 따른 웹 서버에서의 서비스 제공 방법을 보다 더 구체적으로 설명하기 위한 흐름도이다.
도 6은 본 발명의 실시 예에 따른 클라우드 스트리밍 서비스 절차를 설명하기 위한 흐름도이다.
도 7~9는 본 발명의 실시 예에 따른 클라우드 스트리밍 서비스 방법을 보다 더 구체적으로 설명하기 위한 예시도이다.
도 10은 본 발명의 실시 예에 따른 클라우드 스트리밍 서비스 제공을 위한 장치의 오퍼레이팅 환경을 나타낸 도면이다.
본 발명의 과제 해결 수단의 특징 및 이점을 보다 명확히 하기 위하여, 첨부된 도면에 도시된 본 발명의 특정 실시 예를 참조하여 본 발명을 더 상세하게 설명한다.
다만, 하기의 설명 및 첨부된 도면에서 본 발명의 요지를 흐릴 수 있는 공지 기능 또는 구성에 대한 상세한 설명은 생략한다. 또한, 도면 전체에 걸쳐 동일한 구성 요소들은 가능한 한 동일한 도면 부호로 나타내고 있음에 유의하여야 한다.
이하의 설명 및 도면에서 사용된 용어나 단어는 통상적이거나 사전적인 의미로 한정해서 해석되어서는 아니 되며, 발명자는 그 자신의 발명을 가장 최선의 방법으로 설명하기 위한 용어의 개념으로 적절하게 정의할 수 있다는 원칙에 입각하여 본 발명의 기술적 사상에 부합하는 의미와 개념으로 해석되어야만 한다. 따라서 본 명세서에 기재된 실시 예와 도면에 도시된 구성은 본 발명의 가장 바람직한 일 실시 예에 불과할 뿐이고, 본 발명의 기술적 사상을 모두 대변하는 것은 아니므로, 본 출원시점에 있어서 이들을 대체할 수 있는 다양한 균등물과 변형 예들이 있을 수 있음을 이해하여야 한다.
또한, 제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성요소들을 설명하기 위해 사용하는 것으로, 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용될 뿐, 상기 구성요소들을 한정하기 위해 사용되지 않는다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제2 구성요소는 제1 구성요소로 명명될 수 있고, 유사하게 제1 구성요소도 제2 구성요소로 명명될 수 있다.
더하여, 어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급할 경우, 이는 논리적 또는 물리적으로 연결되거나, 접속될 수 있음을 의미한다. 다시 말해, 구성요소가 다른 구성요소에 직접적으로 연결되거나 접속되어 있을 수 있지만, 중간에 다른 구성요소가 존재할 수도 있으며, 간접적으로 연결되거나 접속될 수도 있다고 이해되어야 할 것이다.
또한, 본 명세서에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 또한, 본 명세서에서 기술되는 "포함 한다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
아울러, 본 발명의 범위 내의 실시 예들은 컴퓨터 실행가능 명령어 또는 컴퓨터 판독가능 매체에 저장된 데이터 구조를 가지거나 전달하는 컴퓨터 판독가능 매체를 포함한다. 이러한 컴퓨터 판독가능 매체는, 범용 또는 특수 목적의 컴퓨터 시스템에 의해 액세스 가능한 임의의 이용 가능한 매체일 수 있다. 예로서, 이러한 컴퓨터 판독가능 매체는 RAM, ROM, EPROM, CD-ROM 또는 기타 광 디스크 저장장치, 자기 디스크 저장장치 또는 기타 자기 저장장치, 또는 컴퓨터 실행가능 명령어, 컴퓨터 판독가능 명령어 또는 데이터 구조의 형태로 된 소정의 프로그램 코드 수단을 저장하거나 전달하는 데에 이용될 수 있고, 범용 또는 특수 목적 컴퓨터 시스템에 의해 액세스 될 수 있는 임의의 기타 매체와 같은 물리적 저장 매체를 포함할 수 있지만, 이에 한정되지 않는다.
컴퓨터 판독가능 명령어는, 예를 들면, 범용 컴퓨터 시스템 또는 특수 목적 컴퓨터 시스템이 특정 기능 또는 기능의 그룹을 수행하도록 하는 명령어 및 데이터를 포함한다. 컴퓨터 실행가능 명령어는, 예를 들면, 어셈블리어, 또는 심지어는 소스코드와 같은 이진, 중간 포맷 명령어일 수 있다.
아울러, 본 발명은 퍼스널 컴퓨터, 랩탑 컴퓨터, 핸드헬드 장치, 멀티프로세서 시스템, 마이크로프로세서-기반 또는 프로그램 가능한 가전제품(programmable consumer electronics), 네트워크 PC, 미니컴퓨터, 메인프레임 컴퓨터, 모바일 전화, PDA, 페이저(pager) 등을 포함하는 다양한 유형의 컴퓨터 시스템 구성을 가지는 네트워크 컴퓨팅 환경에서 실시될 수 있다. 본 발명은 또한 네트워크를 통해 유선 데이터 링크, 무선 데이터 링크, 또는 유선 및 무선 데이터 링크의 조합으로 링크된 로컬 및 원격 컴퓨터 시스템 모두가 태스크를 수행하는 분산형 시스템 환경에서 실행될 수 있다. 분산형 시스템 환경에서, 프로그램 모듈은 로컬 및 원격 메모리 저장 장치에 위치될 수 있다.
설명에 앞서, 본 발명은 웹 형식이 아닌 데이터를 웹 형식으로 변환함으로써 웹 서버를 통해 클라우드 스트리밍 서버로 데이터를 제공할 수 있도록 하는 클라우드 스트리밍 서비스에 관한 것이다. 이러한 본 발명의 명세서에서 기술하는 데이터는 UI(User Interface)에 대한 웹 어플리케이션, 실시간 방송, VOD 서비스, 게임 서비스 등 다양한 형태의 컨텐츠 데이터를 포함할 수 있으며, 복수의 데이터의 집합을 의미할 수도 있다.
아울러, 이하에서 셋탑박스와 같은 사용자 측 장치를 클라이언트 장치로 통칭하고, IPTV 서버와 같이 기존의 셋탑박스 등에 컨텐츠를 제공하는 서버를 네이티브 데이터 서버라 통칭하여 설명한다.
이제, 본 발명의 실시 예에 따른 클라우드 스트리밍 시스템 및 그 시스템에서의 웹 형식이 아닌 데이터 참조를 위한 장치 및 방법에 대하여 도면을 참조하여 상세하게 설명하도록 한다.
도 1은 일반적인 컨텐츠 서비스 시스템의 구성을 나타낸 도면이다.
도 1을 참조하면, 기존의 컨텐츠 서비스 시스템은 복수의 클라이언트 장치(100), 컨텐츠 데이터를 제공하는 네이티브 데이터 서버(200) 및 통신망(600)을 포함하여 구성될 수 있다.
일반적인 클라이언트 장치(100)는 컨텐츠를 제공하는 네이티브 데이터 서버(200)와 통신망(600)을 통해 통신하여 컨텐츠 데이터를 요청하고, 수신할 수 있다.
각 구성요소에 대해 개략적으로 설명하면, 먼저 일반적인 클라이언트 장치(100)는 사용자의 조작에 따라 통신망(600)을 경유하여 각종 데이터를 송수신할 수 있는 사용자의 장치를 의미한다.
이러한 클라이언트 장치(100)는 통신망(600)을 통해 네이티브 데이터 서버(200)가 제공하는 다양한 컨텐츠 데이터를 수신하고, 사용자의 입력을 네이티브 데이터 서버(200)로 전송할 수 있다.
특히, 클라이언트 장치(100)는 통신망(600)을 거쳐 네이티브 데이터 서버(200)로부터 상기 네이티브 데이터 서버(200)가 제공하는 다수의 데이터를 수신함으로써, 클라이언트 장치(100)의 사용자는 해당 데이터를 이용할 수 있게 된다.
이러한 클라이언트 장치(100)는 특정 시간에 네이티브 데이터 서버(200)로부터 데이터를 수신하고, 사용자로부터 특정 데이터에 대한 요청을 입력 받으면, 특정 데이터에 대한 수신한 네이티브 형식의 데이터를 적절히 변환하여 영상 출력 장치(도시생략)로 표시할 수 있다.
예를 들어, IPTV 서비스 시스템의 경우, 상기 클라이언트 장치(100)는 셋탑박스이고, 상기 네이티브 데이터 서버(200)는 IPTV 서비스 서버가 될 수 있다.
본 발명은 이러한 컨텐츠 서비스 시스템에 있어서, 클라우드 스트리밍 서비스를 적용하고자 한 것이다.
도 2는 본 발명의 실시 예에 따른 클라우드 스트리밍 서비스 시스템의 개략적인 구성을 나타낸 도면이다.
도 2를 참조하면, 본 발명의 실시 예에 따른 클라우드 스트리밍 시스템은, 복수의 클라이언트 장치(100), 컨텐츠 데이터를 제공하는 네이티브 데이터 서버(200), 화면 가상화 방식의 클라우드 스트리밍 서비스 제공을 지원하는 클라우드 스트리밍 서버(300), 웹 서버(400), 네이티브 데이터 서버로부터 컨텐츠 데이터를 수신하여 데이터의 형식을 웹 형식으로 변환하는 에이전트 서버(500)를 포함하여 구성될 수 있다.
그리고, 클라이언트 장치(100) 및 클라우드 스트리밍 서버(300) 간의 정보의 송수신을 지원하는 통신망(600)을 포함하여 구성될 수 있다.
각 구성요소에 대해 개략적으로 설명하면, 먼저, 본 발명의 클라이언트 장치(100)는 사용자의 조작에 따라 통신망(600)을 경유하여 각종 데이터를 송수신할 수 있는 사용자의 장치를 의미하며, 통신망(600)을 통해 데이터 통신을 수행할 수 있으며, 클라우드 스트리밍 서버(300)에 접근하여 클라우드 스트리밍 서비스 방식으로 클라우드 스트리밍 서버(300)가 제공하는 다양한 정보를 수신하고, 사용자의 입력을 클라우드 스트리밍 서버(300)로 전송할 수 있다.
이를 위한 본 발명의 클라이언트 장치(100)는 정보의 송수신을 위한 브라우저, 프로그램 및 프로토콜을 저장하는 메모리, 각종 프로그램을 실행하여 연산 및 제어하기 위한 마이크로프로세서 등을 구비할 수 있다.
특히, 본 발명의 실시 예에 따른 클라이언트 장치(100)는 통신망(600)을 거쳐 클라우드 스트리밍 서버(300)에 접속하여 상기 클라우드 스트리밍 서버(300)가 제공하는 다수의 데이터 중 특정 데이터의 실행을 요청하고, 클라우드 스트리밍 서버(300)로부터 데이터 실행에 따른 결과 정보를 스트리밍 방식으로 수신함으로써, 클라이언트 장치(100)의 사용자는 해당 데이터를 이용할 수 있게 된다.
이때, 실제 데이터의 실행은 클라이언트 장치(100)의 원격지에 위치하는 클라우드 스트리밍 서버(300)에서 실행되는 것이나, 클라이언트 장치(100)의 사용자는 자신의 클라이언트 장치(100)에서 해당 데이터가 실행되는 것과 똑같이 컨텐츠 데이터를 이용할 수 있게 된다.
이때의 데이터는 예컨대 메뉴 어플리케이션과 같은 UI어플리케이션을 포함하는 개념이 될 수 있다.
이러한 본 발명의 클라이언트 장치(100)는 기본적으로 인코딩된 스트리밍 데이터를 수신하여 디코딩하는 기능을 구비할 수 있으며, 여기에 더하여 디코딩된 비디오 데이터를 랜더링하여 출력하는 기능을 포함할 수 있다.
이러한 본 발명의 실시 예에 따른 클라이언트 장치(100)는 다양한 형태로 구현될 수 있다. 예를 들어, 본 명세서에서 기술되는 클라이언트 장치(100)는 셋탑박스는 물론 스마트 폰(smart phone), 타블렛 PC(Tablet PC), PDA(Personal Digital Assistants), PMP(Portable Multimedia Player), MP3 Player 등의 이동 단말기, 스마트 TV(Smart TV), 데스크탑 컴퓨터 등과 같은 고정 단말기가 사용될 수도 있다.
또한, 본 발명의 실시 예에 따른 클라이언트 장치(100)는 디스플레이 기능을 보유한 장치와, 디스플레이 기능을 보유하지 않은 장치로 구분될 수 있으며, 상기 디스플레이 기능을 보유하지 않은 장치는, TV, 모니터, 프로젝터와 같은 다른 영상 출력 장치(도시생략)과 연결되어, 상기 영상 출력 장치로 데이터를 전송함으로써, 상기 영상 출력 장치를 통해서 클라우드 스트리밍 서버(300)로부터 스트리밍 방식으로 수신한 데이터를 재생하여 출력할 수 있다.
이러한 본 발명의 클라이언트 장치(100)는 디지털 기기의 컨버전스(convergence) 추세에 따라 휴대 기기의 변형이 매우 다양하여 모두 열거할 수는 없으나, 상기 언급된 유닛들과 동등한 수준의 유닛이 본 발명에 따른 클라이언트 장치(100)로 사용될 수 있으며, 통신망(600)을 통해 클라우드 스트리밍 서버(300)와 정보를 송수신하면, 클라우드 스트리밍 서버(300)로부터 스트리밍 방식으로 전달되는 인코딩 데이터를 디코딩하여 재생할 수 있는 장치라면, 그 어떠한 장치도 본 발명의 실시 예에 따른 클라이언트 장치(100)로 이용될 수 있다.
클라우드 스트리밍 서버(300)는 본 발명의 클라우드 스트리밍 서비스를 제공하는 구성으로, 화면 가상화 기능을 통해 클라이언트 장치(100)에서 요청된 서비스 혹은 기능을 클라이언트 장치(100)로 제공하는 역할을 수행한다.
여기서, 화면 가상화는 클라이언트 장치(100)에서 실행된 것과 같이 특정 데이터의 실행 화면을 통신망(600)을 통해 연결된 서버 측, 즉, 클라우드 스트리밍 서버(300)에서 구현하여 클라이언트 장치(100)로 제공하는 것을 의미한다.
이를 위하여, 상기 클라우드 스트리밍 서버(300)는 자신이 보유하거나 이용 가능한 다양한 데이터, 예컨대, UI 어플리케이션, 게임 어플리케이션 등 다양한 데이터를 실행하고, 그 실행 화면을 브라우저 단위로 캡쳐하여 캡쳐 이미지를 생성한 후, 이를 인코딩하여 스트리밍 방식으로 클라이언트 장치(100)로 전송한다.
이때, 상기 클라우드 스트리밍 서버(300)는 상기 데이터를 클라이언트 장치(100)로부터 전송되는 사용자 입력에 따라서 구동시키며, 변경된 실행 화면을 상기 스트리밍 방식으로 클라이언트 장치(100)로 전송함으로써, 클라이언트 장치(100)의 사용자는 자신의 클라이언트 장치(100)에서 직접 데이터를 실행하는 것과 동일한 사용자 경험을 제공받을 수 있다.
특히, 본 발명의 실시 예에 따른 클라우드 스트리밍 서버(300)는 클라이언트 장치(100)로부터 특정 데이터의 요청이 수신되면, 웹 서버(400)로 데이터 요청을 전송한다.
그리고, 웹 서버(400)로부터 해당 데이터를 전달 받아 이를 스트리밍 방식으로 클라이언트 장치(100)로 전달하는 과정 전반을 제어할 수 있다.
여기서 웹 서버(400)는 네이티브 데이터 서버(200)로부터 데이터를 제공받는 에이전트 서버(500)의 접근을 제어하고 클라우드 스트리밍 서버(300)로 다양한 데이터를 제공할 수 있는 것으로, 특히 다수의 웹 페이지의 집합인 웹 어플리케이션을 제공할 수 있는 웹 어플리케이션 서버(WAS; Web Application Server)를 의미할 수 있다.
이러한 웹 서버(400)는 예컨대, IPTV Head-End system 또는 케이블 TV의 QAM Transmitter 등이 될 수 있으며, 이때 웹 서버(400)에 클라우드 스트리밍 서버(300)가 연결되는 경우, 웹 서버(400)는 클라우드 스트리밍 서버(300)로 데이터를 전달하여 클라우드 스트리밍 서버(300)에 의해 자신이 제공하는 데이터의 클라우드 스트리밍 서비스를 지원할 수 있다.
이때, 웹 서버(400)와 클라우드 스트리밍 서버(300)는 웹 기반의 웹 형식의 데이터만을 송수신할 수 있으며, 본 발명의 실시 예에 따른 웹 형식은 JSON(Javascript Object Notation)을 대표적으로 사용하지만 JSON 외에 HTML(Hypertext Markup Language), XHTML(eXtensible Hypertext Markup Language), XML(eXtensible Markup Language), HTTP(Hyper Text Transfer Protocol) 등을 포함할 수 있다.
본 발명의 실시 예에 따른 웹 형식은 대표적으로 JSON 형식으로 사용될 수 있으며, 상기 JSON은 인터넷에서 자료를 주고 받을 때, 그 자료를 표현하는 방식 중 하나이다.
그리고, 웹 기반 데이터 전송은 HTTP 규약을 기반으로 이루어질 수 있으며, 이는 웹 상에서 정보를 주고받기 위해 TCP와 UDP통신 규약을 사용하며 어플리케이션 레벨과 연결을 하기 위해 80포트를 사용한다. HTTP는 클라이언트와 서버 사이에 요청과 응답방식으로 데이터를 주고 받는 방식이므로 사용자가 웹 브라우저를 통해 그림이나 링크를 클릭할 경우 웹 브라우저가 HTTP를 통하여 서버로 요청을 보내며, 서버는 해당 요청에 해당하는 응답을 HTTP규약을 통해 사용자에게 전달한다.
본 발명의 실시 예에 따르면, 클라이언트 장치(100)에서의 사용자 요청에 따라서 클라우드 스트리밍 서버(300)는 해당 요청에 해당하는 응답, 즉 해당 데이터를 웹 서버로 요청하여 수신하고 HTTP 규약을 통해 클라이언트 장치(100)로 제공할 수 있다.
본 발명의 실시 예에 따른 네이티브 데이터 서버(200)는 웹 서버(400) 및 에이전트 서버(500)를 통해 클라이언트 장치(100)로 특정 데이터를 제공하는 장치를 의미한다. 예컨대, VOD 컨텐츠 등을 제공하는 장치가 될 수 있다.
이때, 네이티브 데이터 서버(200)에서 제공하는 컨텐츠는 웹 형식을 따르는 데이터와, 웹 형식에 어긋난 형식을 갖는 데이터를 가질 수 있다.
이때, 웹 형식을 따르는 데이터의 경우에는 네이티브 데이터 서버(200)가 웹 서버(400) 및 클라우드 스트리밍 서버(300)를 통해 클라이언트 장치(100)로 데이터를 제공하는 것에 문제가 없다. 따라서, 웹 형식을 따르는 데이터의 경우에는 특별한 변환 과정을 거치지 않고 압축 파일 해제 후 클라이언트 장치(100)로 제공될 수 있다.
그러나, 이러한 네이티브 데이터 서버(200)가 제공하는 웹 형식이 아닌 네이티브 형식의 데이터는 웹 서버를 통해 클라우드 스트리밍 서버(300) 및 클라이언트 장치(100)에 제공하기 어렵다.
따라서, 에이전트 서버(500)는 네이티브 데이터 서버(200)로부터 제공되는 네이티브 형식의 데이터가 웹 형식이 아니라고 판단되면, 데이터의 형식을 웹 형식으로 변환 처리하는 작업을 수행할 수 있다.
이러한 에이전트 서버(500)는 네이티브 데이터 서버(200)에 일정 주기로 업데이트 된 데이터를 확인하여 수신하고, 업데이트 된 데이터를 실시간으로 웹 형식으로 변환하여 웹 서버의 기 설정된 경로에 저장할 수 있다.
이때, 업데이트 된 데이터를 수신하여 실시간으로 압축 해제를 더 수행할 수 있다.
상기 에이전트 서버(500)가 웹 서버(400)로 저장한 업데이트 된 데이터를 기반으로, 클라우드 스트리밍 서버(300)는 웹 서버(400)의 데이터를 참조하여 클라이언트 장치(100)로 제공할 수 있다.
보다 구체적인 클라우드 스트리밍 시스템을 구성하는 각 장치의 구조에 대해서는 후술하도록 하며, 본 발명의 실시 예에 따른 클라우드 스트리밍 서버(300)는 웹 서버(400), 에이전트 서버(500)를 통해 네이티브 데이터 서버(200)와 연동하여 클라이언트 장치(100)로 클라우드 스트리밍 서비스를 제공할 수 있다.
이러한 네이티브 데이터 서버(200), 클라우드 스트리밍 서버(300), 웹 서버(400) 및 에이전트 서버(500)는 서로 다른 주체에 의해 운용될 수 있으며, 동일한 주체에 의해 운용될 수도 있다
상술한 바와 같은 본 발명의 웹 서버(400) 및 에이전트 서버(500)의 주요 구성 및 보다 구체적인 동작 방법에 대해서는 후술하여 설명하도록 하며, 본 발명의 실시 예에 따른 클라이언트 장치(100) 및 클라우드 스트리밍 서버(300)에 탑재되는 프로세서는 본 발명에 따른 방법을 실행하기 위한 프로그램 명령을 처리할 수 있다.
일 구현 예에서, 이 프로세서는 싱글 쓰레드(Single-threaded) 프로세서일 수 있으며, 다른 구현 예에서 본 프로세서는 멀티 쓰레드(Multithreaded) 프로세서일 수 있다.
나아가 본 프로세서는 메모리 혹은 저장 장치 상에 저장된 명령을 처리하는 것이 가능하다.
아울러, 본 발명의 실시 예에 따른 통신망(600)은 WLAN(Wireless LAN), 와이파이(Wi-Fi), 와이브로(Wibro), 와이맥스(Wimax), HSDPA(High Speed Downlink Packet Access) 등의 무선 통신 방식을 이용하는 것이 바람직하나, 이에 한정되는 것은 아니며, 시스템 구현 방식에 따라 이더넷(Ethernet), xDSL(ADSL, VDSL), HFC(Hybrid Fiber Coaxial Cable), FTTC(Fiber to The Curb), FTTH(Fiber To The Home) 등의 유선 통신 방식을 이용할 수도 있다.
아울러, 본 발명의 통신망(600)은 예컨대, 다수의 접속망(도시생략) 및 코어망(도시생략)을 포함하며, 외부망, 예컨대 인터넷망(도시생략)을 포함하여 구성될 수 있다.
여기서, 접속망(도시생략)은 클라이언트 장치(100)와 유무선 통신을 수행하는 접속망으로서, 예를 들어, BS(Base Station), BTS(Base Transceiver Station), NodeB, eNodeB 등과 같은 다수의 기지국과, BSC(Base Station Controller), RNC(Radio Network Controller)와 같은 기지국 제어기로 구현될 수 있다. 또한, 전술한 바와 같이, 상기 기지국에 일체로 구현되어 있던 디지털 신호 처리부와 무선 신호 처리부를 각각 디지털 유니트(Digital Unit, 이하 DU라 함과 무선 유니트(Radio Unit, 이하 RU라 함)으로 구분하여, 다수의 영역에 각각 다수의 RU(도시생략)를 설치하고, 다수의 RU(도시생략)를 집중화된 DU(도시생략)와 연결하여 구성할 수도 있다.
또한, 접속망(도시생략)과 함께 모바일 망을 구성하는 코어망(도시생략)은 접속망(도시생략)과 외부 망, 예컨대, 인터넷망(도시생략)을 연결하는 역할을 수행한다.
이러한 코어망(도시생략)은 앞서 설명한 바와 같이, 접속망(도시생략) 간의 이동성 제어 및 스위칭 등의 이동통신 서비스를 위한 주요 기능을 수행하는 네트워크 시스템으로서, 서킷 교환(circuit switching) 또는 패킷 교환(packet switching)을 수행하며, 모바일 망 내에서의 패킷 흐름을 관리 및 제어한다. 또한, 코어망(도시생략)은 주파수간 이동성을 관리하고, 접속망(도시생략) 및 코어망(도시생략) 내의 트래픽 및 다른 네트워크, 예컨대 인터넷망(도시생략)과의 연동을 위한 역할을 수행할 수도 있다.
이러한 코어망(도시생략)은 SGW(Serving GateWay), PGW(PDN GateWay), MSC(Mobile Switching Center), HLR(Home Location Register), MME(Mobile Mobility Entity)와 HSS(Home Subscriber Server) 등을 더 포함하여 구성될 수도 있다.
또한, 인터넷망(도시생략)은 TCP/IP 프로토콜에 따라서 정보가 교환되는 통상의 공개된 통신망, 즉 공용망을 의미하는 것으로, 클라우드 스트리밍 서버(300)과 연결되며, 클라우드 스트리밍 서버(300)로부터 제공되는 정보를 코어망(도시생략) 및 접속망(도시생략)을 거쳐 클라이언트 장치(100)로 제공할 수 있으며, 클라이언트 장치(100)로부터 제공되는 정보를 접속망(도시생략) 및 코어망(도시생략)을 거쳐 클라우드 스트리밍 서버(300)으로 제공할 수도 있다. 그러나, 이에 한정되는 것은 아니며, 클라우드 스트리밍 서버(300)은 코어망(도시생략)과 일체로 구현될 수도 있다.
또한, 상술한 통신 방식 이외에도 기타 널리 공지되었거나 향후 개발될 모든 형태의 통신 방식을 포함할 수 있다.
이하, 본 발명의 실시 예에 따른 에이전트 서버(500)의 주요 구성 및 동작 방법에 대하여 설명하도록 한다.
도 3은 본 발명의 실시 예에 따른 에이전트 서버의 주요 구성을 나타낸 도면이다.
도 3을 참조하면, 본 발명의 실시 예에 따른 에이전트 서버(500)는 통신 모듈(510), 데이터 처리 모듈(520), 데이터 전달 모듈(530)을 포함하여 구성될 수 있다.
본 발명의 실시 예에 따른 각 구성은 모듈을 포함하여 구성될 수 있는데, 여기서, ‘모듈’은 각각 소정의 기능을 수행하는 구성 요소로서, 하드웨어, 소프트웨어, 혹은 하드웨어와 소프트웨어의 조합으로 구현될 수 있다. 예를 들어, 상기 ‘모듈’은 프로그램 모듈을 의미할 수 있으며, 이는 프로세서(Processor)에 의해 실행되어 소정의 기능을 수행하는, 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들, 및 변수들을 포함한다. 또한, 구성요소들과 '~모듈'들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 '~모듈'들로 결합되거나 추가적인 구성요소들과 '~모듈'들로 더 분리될 수 있다.
이하, 본 발명의 각 구성을 보다 구체적으로 설명하면, 먼저, 통신 모듈(510)은 네이티브 데이터 서버(200)와의 통신을 위한 것으로, 본 발명의 실시 예에 따른 에이전트 서버(500)의 통신 모듈(510)은, 일정 주기로 네이티브 데이터 서버(200)에 version정보를 요청하여 제공받을 수 있다.
이때, version 정보는 데이터의 개발 단계 및 순서를 번호로 표시한 것으로서, 본 발명의 실시 예에 따른 version 정보는 JSON 형식의 파일로 제공할 수 있다.
상술한 바와 같이, 본 발명의 실시 예에 따른 에이전트 서버(500)는 통신 모듈(510)을 통해 네이티브 데이터 서버(200)에서 제공하는 version 정보 파일을 수신하여 확인하며, 네이티브 데이터 서버(200)에서 업데이트 된 데이터가 있는지를 확인한다.
확인 결과, 업데이트 된 데이터가 있으면, 상기 네이티브 데이터 서버(200)로부터 업데이트 된 데이터를 압축 파일 형식(예컨대, *.zip)으로 제공받을 수 있다.
이때, 압축 파일은 소스 볼륨과 미디어 정보, 파일 디렉터리 구조, 오류 감지, 복구 정보, 파일 설명을 포함할 수 있는 메타데이터가 포함된 하나 이상의 파일로 이루어진 파일을 말하며, 보통 무손실 데이터 압축의 형태를 가진다.
압축 파일은 일부나 전체로 암호화할 수 있으며, 압축 파일은 여러 개의 데이터 파일을 하나의 파일로 묶어 갖고 다니거나 보관을 쉽게 하기 위해 쓰일 수 있다. 압축 파일은 *.zip, *.rar, *.7z, *.tar 등의 확장자를 가지며 여기서 *.tar은 압축 기능을 포함하지 않는다.
본 발명의 실시 예에 따른 에이전트 서버(500)는 통신 모듈(510)을 통해 전달받은 데이터를 실시간으로 압축 해제하고, 압축 해제한 데이터를 데이터 전달 모듈(530)에 의하여 웹 서버(400)의 기 설정된 경로에 저장할 수 있다.
이때, 기 설정된 경로는 네이티브 데이터 서버(200)로부터 제공받은 version 정보를 통해 알 수 있다.
또한, 본 발명의 실시 예에 따른 에이전트 서버(500)는 네이티브 데이터 서버(200)로부터 전달받은 데이터가 웹 형식인지 여부를 더 확인하여 웹 형식인 경우, 데이터 전달 모듈(530)에 의하여 상기 데이터를 웹 서버(400)의 기 설정된 경로에 저장한다.
만약, 네이티브 데이터 서버(200)로부터 전달받은 데이터가 웹 형식이 아닌 경우, 상기 데이터를 웹 형식에 맞는 데이터(예컨대, JSON형식)으로 변형하고, 데이터 전달 모듈(530)에 의하여 상기 웹 형식으로 변환한 데이터를 웹 서버(400)의 기 설정된 경로에 저장한다.
이때, 웹 형식으로의 변형은 지정된 전송 규약에 맞추어 실시간으로 변형한다.
예컨대, 네이티브 데이터 서버(200)로부터 전달 받은 데이터의 형식이 *.conf 인 경우, *.conf 형식의 파일은 웹 형식의 맞지 않는 데이터 형식이므로 웹 서버로 저장할 수 없다. 따라서, 에이전트 서버(500)의 데이터 처리 모듈(520)의 제어 하에 *.conf 형식의 파일을 *.json파일 형식으로 변환하여야 한다.
이때, 지정된 전송 규약은 일반적으로 수신한 데이터의 형식과 변환하려는 형식(예컨대, JSON형식)에 따라 각각 다를 수 있다. 본 발명의 실시 예에 따른 전송 규약은 수신한 데이터의 구조에서 JSON 형식의 데이터로 변형하기 위한 단계, 방법, 순서 중 어느 하나가 될 수 있다. 즉, 데이터의 형식 변형에 있어서 일반적인 규칙이 될 수 있다.
대표적인 웹과의 데이터 교환 방식으로 사용될 수 있는 JSON은, 인터넷에서 자료를 주고 받을 때 그 자료를 표현하는 방법이며, 자료의 종류에 큰 제한이 없는 특징이 있다. 또한 JSON은, 객체를 텍스트로 표현한 방법 중 하나로써, 경량의 DATA교환 형식이다.
JSON은 텍스트로 이루어져 있어 사람과 기계 모두 읽고 쓰기 쉬우며, 프로그래밍 언어와 플랫폼에 독립적이기 때문에 서로 다른 시스템간에 객체를 교환하기에 좋으며, 용량이 적고 가독성이 좋다는 장점을 갖는다. 최근에는 모질라 파이어폭스 3.5, 인터넷 익스플로러 8, 오페라 10.5, 사파리, 구글 크롬 등 대부분의 최신 웹 브라우저에 이러한 JSON 전용 파서 기능을 내장하고 있다.
즉, 본 발명의 실시 예에 따른 에이전트 서버(500)는 통신 모듈(510)을 통해 일정 주기로 네이티브 데이터 서버(200)로 version 정보를 요청하고, 네이티브 데이터 서버(200)로부터 version 정보 파일을 제공받아 업데이트가 된 데이터가 있는지를 확인한다.
확인 결과, 업데이트 된 데이터가 있으면, 업데이트 된 데이터를 압축 파일 형식으로 제공받을 수 있다.
이때, 데이터 처리 모듈(520)은 데이터를 수신하면서 실시간으로 압축 해제할 수 있다.
또한, 제공받은 데이터가 웹 형식을 따르는지 여부를 더 확인하여 웹 형식을 따르는 경우에는 상기 데이터를 데이터 전달 모듈(530)의 제어 하에 웹 서버(400)의 기 설정된 경로에 저장한다.
반면, 웹 형식을 따르지 않는 데이터인 경우에는 데이터 처리 모듈(520)이 상기 데이터를 웹 형식에 맞는 데이터로 변환처리 하여, 데이터 전달 모듈(530)에 의하여 웹 서버(400)의 기 설정된 경로에 저장할 수 있다.
이제, 상술한 에이전트 서버(500)에서의 동작을 구체적으로 설명하도록 한다.
도 4는 본 발명의 실시 예에 따른 에이전트 서버에서의 서비스 제공 방법을 보다 더 구체적으로 설명하기 위한 흐름도이다.
도 4를 참조하면, 본 발명의 실시 예에 따른 에이전트 서버에서의 서비스 제공 방법은, 에이전트 서버(500)가 일정 주기로 네이티브 데이터 서버(200) 내의 업데이트 된 데이터를 확인한다(S101). 여기서, 본 발명의 에이전트 서버(500)는 일정 주기로 네이티브 데이터 서버(200)로 version 정보를 요청하여, version 정보 파일 제공받는다.
본 발명의 실시 예에 따른 에이전트 서버(500)는 제공받은 version 정보 파일을 통해서 네이티브 데이터 서버(200)의 업데이트 된 데이터가 있는지를 확인할 수 있다. 이때, version 파일은 version.json 의 형식으로 제공될 수 있다.
이후, 에이전트 서버(500)는 업데이트 된 데이터가 존재하는지 여부를 확인하여(S103) 업데이트 된 데이터가 있으면, 네이티브 데이터 서버(200)로부터 상기 데이터를 압축 파일 형식으로 수신할 수 있다(S105).
에이전트 서버(500)는 압축 파일 형식으로 수신한 데이터를 실시간으로 압축 해제하여(S107), 수신한 데이터의 형식이 웹 형식인지 아닌지 여부를 더 확인하는 작업을 수행한다(S109).
에이전트 서버(500)가 수신한 데이터의 형식이 웹 형식인지 아닌지 여부를 확인한 결과, 웹 형식을 따르지 않는다고 판단되면, 상기 데이터의 형식을 JSON 형식과 같은 웹 형식으로 변환 처리하고(S111), 웹 형식으로 변환한 데이터를 웹 서버에 기 설정된 경로에 저장할 수 있다(S113).
이때, 본 발명의 실시 예에 따른 에이전트 서버(500)는 웹 형식으로 변환한 데이터를 version 정보 파일을 참조하여, 기 설정된 경로에 저장할 수 있다.
예를 들어, 본 발명의 실시 예에 따른 네이티브 데이터 서버(200)에서 오늘의 날씨 정보가 업데이트 된 경우에, version 정보 파일은 이러한 정보들이 포함되어 구성되어 있으며, 에이전트 서버가 version 정보 파일을 기반으로 하여 웹 서버(400)에서 날씨에 대한 정보를 저장하고 있는 경로에 상기 업데이트 된 정보를 저장할 수 있다. 이와 관련된 설명은 도 7~9의 예시도를 보면서 더 구체적으로 설명하도록 한다.
이러한 정보는 웹 서버(400)와 클라우드 스트리밍 서버(300)의 통신으로 클라이언트 장치(100)에 제공될 수 있으며, 사용자는 클라이언트 장치(100)를 통해서 컨텐츠 데이터를 이용할 수 있다.
만약, 본 발명의 에이전트 서버(500)가 네이티브 데이터 서버(200) 내의 업데이트 된 데이터가 있는지를 확인하여(S101), 업데이트 된 데이터가 존재하지 않는 경우에는 그대로 종료하게 되며, 이후 주기적으로 업데이트 데이터가 있는지 여부를 확인하는 과정을 반복하게 된다.
도 5는 본 발명의 실시 예에 따른 웹 서버에서의 서비스 제공 방법을 보다 더 구체적으로 설명하기 위한 흐름도이다.
도 5를 참조하면, 본 발명의 실시 예에 따른 웹 서버(400)는 에이전트 서버(500)에 의하여 네이티브 데이터 서버(200)가 제공하는 업데이트 데이터를 기 설정된 경로에 저장할 수 있다.
이후, 클라우드 스트리밍 서버(300)로부터 특정 데이터에 대한 요청을 수신하면(S201), 에이전트 서버(500)에 의하여 특정 경로에 저장한 웹 형식의 데이터를 로딩할 수 있다(S203). 이후, 웹 서버(400)는 로딩한 데이터를 클라우드 스트리밍 서버(300)로 실시간으로 제공할 수 있다.
본 발명의 실시 예에 따른 클라우드 스트리밍 서버(300)는 통신망(600)을 통해 클라이언트 장치(100)와 통신하여, 사용자에 의하여 클라이언트 장치(100)로 입력되는 특정 데이터의 요청 신호를 수신하여 웹 서버(400)로 제공할 수 있다.
본 발명의 실시 예에 따른 웹 서버(400)에서의 동작은 실시간으로 동작할 수 있다. 즉, 클라우드 스트리밍 서버(300)로부터 데이터 요청을 수신하면 해당 데이터를 로딩하여 클라우드 스트리밍 서버(300)로 실시간 제공할 수 있다.
이제, 본 발명의 실시 예에 따른 클라우드 스트리밍 서비스 절차를 구체적으로 설명하도록 한다.
도 6은 본 발명의 실시 예에 따른 클라우드 스트리밍 서비스 절차를 설명하기 위한 흐름도이다.
도 6을 참조하면, 본 발명의 실시 예에 따른 클라우드 스트리밍 서비스는 에이전트 서버(500)가 일정 주기로 네이티브 서버(200)로 version 정보를 요청하고(S301), 네이티브 데이터 서버는 상기 요청에 대응하여 version 정보를 에이전트 서버(500)로 제공할 수 있다(S303).
이때, version 정보는 JSON 형식의 파일이 될 수 있으며, 네이티브 데이터 서버(200)의 데이터에 관련한 정보와 함께 업데이트 버전 정보를 포함할 수 있다.
본 발명의 실시 예에 따른 에이전트 서버(500)는 네이티브 데이터 서버(200)로부터 수신한 version 정보 파일을 기반으로 네이티브 데이터 서버(200)에서의 업데이트가 된 데이터를 확인하다(S305).
확인 결과, 업데이트 된 데이터가 있는 경우, 업데이트 데이터를 네이티브 데이터 서버(200)로 요청할 수 있다(S307).
네이티브 데이터 서버(200)는 이러한 요청에 대응하여 업데이트 데이터를 압축 파일 형식으로 에이전트 서버(500)로 제공할 수 있으며, 에이전트 서버(500)는 네이티브 데이터 서버(200)로부터 제공받은 압축 형식의 업데이트 데이터 파일을 실시간으로 압축 해제하여(S311), 상기 제공받은 데이터가 웹 형식을 따르는지 여부를 더 확인할 수 있다(S312).
에이전트 서버(500)가 네이티브 데이터 서버(200)로부터 제공받은 데이터가 웹 형식을 따르는지 여부를 확인한 결과, 웹 형식을 따르는 경우에는 상기 S303단계에서 수신한 version 정보 파일을 참조하여 웹 서버(400)의 기 설정된 경로에 상기 웹 형식의 데이터를 저장할 수 있다(S313).
반면, 에이전트 서버(500)가 네이티브 데이터 서버(200)로부터 제공받은 데이터가 웹 형식을 따르는지 여부를 확인한 결과, 웹 형식을 따르지 않는 경우에는 상기 데이터를 웹 형식을 따르도록 변환하고(S315), 변환한 데이터를 상기 S303단계에서 수신한 version 정보 파일을 참조하여 웹 서버(400)의 기 설정된 경로에 상기 웹 형식으로 변환한 데이터를 저장할 수 있다(S317).
이후, 웹 서버(400)는 이러한 클라우드 스트리밍 서버(300)로부터 특정 데이터 제공 요청을 수신하면(S319), 에이전트 서버(500)에 의하여 기 저장한 데이터를 실시간으로 제공할 수 있다(S321).
이제, 본 발명의 실시 예에 따라 클라이언트 장치(100)와 연동된 영상 출력 장치에서 표시되는 화면과, 웹 서버(400)의 기 설정된 경로에 대하여 예시도를 통해 설명하기로 한다.
도 7~9는 본 발명의 실시 예에 따른 클라우드 스트리밍 서비스 방법을 보다 더 구체적으로 설명하기 위한 예시도이다.
도 7~9를 참조하면, 도 7~9는 본 발명의 실시 예에 따른 클라우드 스트리밍 서비스에서, 클라이언트 장치(100)의 내부 또는 외부에 연결된 영상 출력 장치(도시생략)를 통해 표시되는 예시도를 나타낸 것이다.
도 7의 사용자가 본 발명의 실시 예에 따른 클라우드 스트리밍 서비스를 실행한 화면(50)을 나타낸 것으로, 본 서비스를 이용하기 위한 메뉴가 도시되어 있다.
본 예시도의 왼쪽을 보면, 본 발명의 실시 예에 따른 클라이언트 장치(100)에서 제공하는 서비스 메뉴는 최신영화관, VOD다시보기, 채널가이드, 게임&노래방 등으로 구성되어 있다.
또한, 본 예시도의 (가)를 참조하면, 사용자가 상술한 메뉴 중에서 VOD다시보기를 선택한 것임을 알 수 있다.
또한, 사용자가 VOD다시보기를 선택하여 나타난 메뉴는 [오늘의 인기추천], 영화, 드라마, 방송국A, 방송국 B를 포함하여 구성될 수 있으며, 본 발명에서의 사용자는 방송국 A를 선택(나)했음을 알 수 있다.
(나)를 참조하면, 사용자는 방송국 A를 선택하였으며, 본 발명의 실시 예에 따른 클라우드 스트리밍 서비스는 방송국 A에서 상영하는 컨텐츠 데이터의 목록을 드라마, 예능, 다큐멘터리/교양 등을 포함하여 구성할 수 있다.
본 발명의 실시 예에 따른 사용자는 방송국 A에서 상영한 컨텐츠 중에서 드라마를 선택하였으며, 이후의 실행 화면은 도 8을 통해 설명하기로 한다.
도 8을 참조하면, 도 8은 본 발명의 실시 예에 따른 클라우드 스트리밍 서비스에서 도 7에서 사용자의 선택 VOD다시보기(가), 방송국A(나), 드라마 (다)의 순서 이후 나타난 실행 화면(60)을 나타낸 예시도이다.
도 8을 다시 참조하면, 사용자가 본 발명의 실시 예에서 VOD다시보기, 방송국 A, 드라마 순서대로 컨텐츠의 경로를 선택하면, 방송국 A에서의 드라마들이 나열되어 있음을 알 수 있다.
도 8은 본 발명의 실시 예에 따른 사용자는 방송국 A에서의 드라마 a, b, c, d, e, f 중 드라마 a를 선택(라)한 실행 화면을 나타낸 것이다.
이후의 실행 화면은 도9의 예시도를 통해 확인할 수 있는데, 도 9는 도 8의 (라)에 따라서 드라마 a(라)를 선택한 경우의 실행 화면(70)을 나타낸 것이다.
도 9를 참조하면, 드라마 a의 컨텐츠 데이터가 1회, 2회, 3회……10회, 11회로 나타나 있으며, 이는 드라마 a의 회차 별 컨텐츠 데이터를 제공할 수 있게 한다.
이후, 본 발명의 실시 예에 따른 사용자는 클라이언트 장치(100)를 통해 도9와 같은 화면을 제공받아 출력할 수 있다.
본 발명의 실시 예에 따른 사용자는 본 실행화면(70)에서 11회(마)를 선택하여 오른쪽에 보이는 것과 같이 드라마 a의 11화에 관련한 정보를 확인할 수 있다. 이때, 상기 11화에 관련한 정보는 줄거리, 출연/감독 등을 포함하여 구성될 수 있다.
도7~9에 나타낸 예시도는 클라우드 스트리밍 서버(300)를 통해 클라이언트 장치(100)로 제공되어 영상 출력 장치에서 사용자에게 표시되는 실행화면 (50, 60, 70)을 나타낸 것이다.
또한, 사용자가 선택한 컨텐츠 데이터 VOD다시보기(가), 방송국A(나), 드라마(다), 드라마a(라)는 본 발명의 실시 예에 따른 에이전트 서버(500)가 네이티브 데이터 서버(200)로부터 제공받은 업데이트 된 데이터를 웹 서버(400)의 기 설정한 경로에 저장하는 동작과 관련하여, 상기 업데이트 된 데이터가 드라마 a의 11화 인 경우에, 기 설정한 경로는 상술한 (가), (나), (다), (라)가 되어 최종적으로 도9의 11회(라)에 업데이트 될 수 있다.
즉, 본 발명의 실시 예에 따르면, 네이티브 데이터 서버(200)로부터 제공받아 웹 형식으로 변환한 데이터를 웹 서버(400)의 기 설정한 경로에 저장함에 있어서, 상기 기 설정한 정보는 version 정보 파일을 통해서 확인할 수 있으며, 이러한 기 설정한 정보는 구체적으로 상술한 내용으로 설명할 수 있다.
이상으로 본 발명의 실시 예에 따른 클라우드 스트리밍 서비스 방법에 대해 설명하였다.
상술한 바와 같은 본 발명의 실시 예에 따른 클라우드 스트리밍 서비스 방법은 컴퓨터 프로그램 명령어와 데이터를 저장하기에 적합한 컴퓨터로 판독 가능한 매체의 형태로 제공될 수도 있다.
이때, 기록매체에 기록된 프로그램은 컴퓨터에서 읽혀 설치되고 실행됨으로써 전술한 기능들을 실행할 수 있다.
여기서, 컴퓨터가 기록매체에 기록된 프로그램을 읽어 들여 프로그램으로 구현된 기능들을 실행시키기 위하여, 전술한 프로그램은 컴퓨터의 프로세서(CPU)가 컴퓨터의 장치 인터페이스(Interface)를 통해 읽힐 수 있는 C, C++, JAVA, 기계어 등의 컴퓨터 언어로 코드화된 코드(Code)를 포함할 수 있다.
이러한 코드는 전술한 기능들을 정의한 함수 등과 관련된 기능적인 코드(Function Code)를 포함할 수 있고, 전술한 기능들을 컴퓨터의 프로세서가 소정의 절차대로 실행시키는데 필요한 실행 절차 관련 제어 코드를 포함할 수도 있다. 또한, 이러한 코드는 전술한 기능들을 컴퓨터의 프로세서가 실행시키는데 필요한 추가 정보나 미디어가 컴퓨터의 내부 또는 외부 메모리의 어느 위치(주소 번지)에서 참조 되어야 하는지에 대한 메모리 참조 관련 코드를 더 포함할 수 있다. 또한, 컴퓨터의 프로세서가 전술한 기능들을 실행시키기 위하여 원격(Remote)에 있는 어떠한 다른 컴퓨터나 서버 등과 통신이 필요한 경우, 코드는 컴퓨터의 프로세서가 컴퓨터의 통신 모듈을 이용하여 원격(Remote)에 있는 어떠한 다른 컴퓨터나 서버 등과 어떻게 통신해야만 하는지, 통신 시 어떠한 정보나 미디어를 송수신해야 하는지 등에 대한 통신 관련 코드를 더 포함할 수도 있다.
도 10은 본 발명의 실시 예에 따른 클라우드 스트리밍 서비스 제공을 위한 장치의 오퍼레이팅 환경을 나타낸 도면이다.
도 10은 본 발명의 실시 예에 따른 클라우드 스트리밍 서비스 제공 방법 구성을 위한 장치의 오퍼레이팅 환경을 도시한 도면이다.
도 10 및 이하의 설명은 본 발명이 구현될 수 있는 적절한 컴퓨팅 환경의 간단하고, 일반적인 설명을 제공하고자 한다.
요구사항은 아니지만, 본 발명은 컴퓨터 시스템에 의해 실행되고 있는 프로그램 모듈과 같은 컴퓨터 실행가능 명령어와 관련하여 기술될 수 있다. 일반적으로, 프로그램 모듈은 특정 태스크를 수행하거나 특정 추상 데이터 유형을 구현하는 루틴, 프로그램, 오브젝트, 컴포넌트, 데이터 구조 등을 포함한다. 컴퓨터 실행가능 명령어, 관련 데이터 구조, 및 프로그램 모듈은 본 명세서에 개시된 발명의 행위를 실행하는 프로그램 코드 수단의 예를 나타낸다.
도 10을 참조하면, 본 발명을 구현하는 예시적인 컴퓨팅 시스템은 프로세싱 유닛(11), 시스템 메모리(12), 및 상기 시스템 메모리(12)를 포함하는 다양한 시스템 컴포넌트를 상기 프로세싱 유닛(11)에 연결시키는 시스템 버스(10)를 포함하는 형태로된 컴퓨팅 장치를 포함한다.
프로세싱 유닛(11)은 본 발명의 특징을 구현하도록 설계된 컴퓨터-실행가능 명령어를 실행시킬 수 있다.
시스템 버스(10)는 다양한 버스 아키텍처 중의 임의의 것을 사용하는 로컬 버스, 주변 버스, 및 메모리 버스 또는 메모리 컨트롤러를 포함하는 몇 가지 유형의 버스 구조 중의 임의의 것일 수 있다. 시스템 메모리(12)는 ROM(Read Only Memory)(12a) 및 RAM(Random Access Memory)(12b)을 포함한다. 시동중과 같은 때에 컴퓨팅 시스템 내의 구성요소들 간에 정보를 전송하는 것을 돕는 기본 루틴을 포함하는 기본 입출력 시스템(BIOS)(13a)은 일반적으로 ROM(12a)에 저장될 수 있다.
컴퓨팅 시스템은 저장 수단을 포함할 수 있는데, 예를 들어, 하드 하드 디스크로부터 정보를 판독하거나 그 하드 디스크에 정보를 기록하는 하드 디스크 드라이브(15), 자기 디스크로부터 정보를 판독하거나 그 자기 디스크에 정보를 기록하는 자기 디스크 드라이브(16), 및 예를 들면, CD-ROM 또는 기타 광 매체 등의 광 디스크로부터 정보를 판독하거나 그 광 디스크에 정보를 기록하는 광 디스크 드라이브(17)를 포함할 수 있다. 하드 디스크 드라이브(15), 자기 디스크 드라이브(16), 및 광 디스크 드라이브(17)는 각각 하드 디스크 드라이브 인터페이스(18), 자기 디스크 드라이브-인터페이스(19), 및 광 드라이브 인터페이스(20)에 의해 시스템 버스(10)에 접속된다.
또한, 컴퓨팅 시스템은, 저장 수단으로서 외장 메모리(21)를 더 구비할 수 있다. 상기 외장 메모리(21)는 입출력 인터페이스(24)를 통해서 시스템 버스(10)에 접속될 수 있다.
상술한 드라이브 및 그 드라이브에 의해 판독 및 기록되는 관련 컴퓨터 판독가능 매체는 컴퓨터 실행가능 명령어, 데이터 구조, 프로그램 모듈 및 기타 데이터의 비휘발성 저장을 제공한다. 본 명세서에서 기술된 예시적인 환경은 하드 디스크(15), 자기 디스크(16) 및 광 디스크(17)를 예시하고 있으나, 이외에 자기 카세트, 플래쉬 메모리 카드, DVD, 베루누이 카트리지(Bernoulli cartridge), RAM, ROM, 등을 포함하는, 데이터를 저장하는 다른 유형의 컴퓨터 판독가능 매체가 이용될 수 있다.
상기 프로세싱 유닛(11)에 의해 로딩되어 실행되는, 오퍼레이팅 시스템(13b), 하나 이상의 애플리케이션 프로그램(13c), 기타 프로그램 모듈(13d), 및 프로그램 데이터(13c)를 포함하는 하나 이상의 프로그램 모듈을 포함하는 프로그램 코드 수단은 하드 디스크(15), 자기 디스크(16), 광 디스크(17), ROM(12a) 또는 RAM(12b)에 저장될 수 있다.
아울러, 상기 컴퓨팅 시스템은, 키보드, 포인팅 장치, 마이크로폰, 조이 스틱, 게임 패드, 스캐너, 등과 같은 기타 입력 장치(22)를 통해 사용자로부터 명령 및 정보를 입력받을 수 있다. 이들 입력 장치(22)는 시스템 버스(10)에 연결된 입출력 인터페이스(24)를 통해 프로세싱 유닛(11)에 접속될 수 있다. 입출력 인터페이스(24)는 예를 들면, 직렬 포트 인터페이스, PS/2 인터페이스, 병렬 포트 인터페이스, USB 인터페이스, IEEE(Institute of Electrical and Electronics Engineers) 1394 인터페이스(즉, 파이어와이어(FireWire) 인터페이스)와 같은 매우 다양한 서로 다른 인터페이스 중 임의의 것을 논리적으로 나타내거나, 다른 인터페이스의 조합까지도 논리적으로 나타낼 수 있다.
더하여, 본 발명이 적용되는 컴퓨팅 시스템은, 모니터 혹은 LCD와 같은 디스플레이 장치(26) 또는 스피커나 마이크로폰과 같은 오디오 장치(27)를 더 포함할 수 있으며, 이들은, 비디오/오디오 인터페이스(25)를 통해서 시스템 버스(10)에 접속된다. 예를 들면, 스피커 및 프린터 등의 (도시되지 않은) 기타 주변 출력 장치가 컴퓨터 시스템(420)에 또한 접속될 수 있다. 상기 비디오/오디오 인터페이스부(25)는 HDMI(High Definition Multimedia Interface), GDI(Graphics Device Interface) 등을 포함할 수 있다.
또한, 본 발명을 실행하는 컴퓨팅 시스템은, 예를 들면, 사무실-광역 또는 기업-광역 컴퓨터 네트워크, 홈 네트워크, 인트라넷, 및/또는 인터넷과 같은 네트워크에 접속 가능하다. 컴퓨터 시스템은 이러한 네트워크를 통해, 예를 들면, 원격 컴퓨터 시스템, 원격 애플리케이션, 및/또는 원격 데이터베이스와 같은 외부 소스들과의 데이터를 교환할 수 있다.
이를 위해 본 발명이 적용되는 컴퓨팅 시스템은 외부 소스로부터 데이터를 수신하고/거나 외부 소스로 데이터를 전송하는 네트워크 인터페이스(27)를 포함한다.
본 발명에 있어서, 이러한 컴퓨팅 시스템은, 네트워크 인터페이스(27)를 통해서 원격지에 위치한 장치와 정보를 송수신할 수 있다. 예컨대, 컴퓨팅 시스템이 클라이언트 장치(100)를 의미하는 경우, 네트워크 인터페이스(27)를 통해 클라우드 스트리밍 서버(300)와 정보를 송수신할 수 있다. 반면, 컴퓨팅 시스템이 클라우드 스트리밍 서버(300)를 의미하는 경우, 네트워크 인터페이스(27)를 통해 클라이언트 장치(100)과 정보를 송수신할 수 있다. 네트워크 인터페이스(27)는, 예를 들면, 네트워크 인터페이스 카드 및 대응하는 네트워크 드라이버 인터페이스 사양(Network Driver Interface Specification: "NDIS") 스택과 같은 하나 이상의 소프트웨어 및/또는 하드웨어 모듈의 논리적 조합으로 나타낼 수 있다.
마찬가지로, 컴퓨터 시스템은 입출력 인터페이스(24)를 통해 외부 소스로부터 데이터를 수신하거나 외부 소스로 데이터를 전송한다. 입출력 인터페이스(24)는 모뎀(23)(예를 들면, 표준 모뎀, 케이블 모뎀, 또는 디지털 가입자선(digital subscriber line: “DSL”) 모뎀)에 연결될 수 있으며, 이러한 모뎀(23)을 통해 외부 소스로부터 데이터를 수신하고/거나 외부 소스로 데이터를 전송할 수 있다.
도 10은 본 발명에 적절한 오퍼레이팅 환경을 나타내지만, 본 발명의 원리는, 필요하다면 적절한 수정으로, 본 발명의 원리를 구현할 수 있는 임의의 시스템에 채용될 수 있다. 도 10에 도시된 환경은 단지 예시적이며 본 발명의 원리가 구현될 수 있는 매우 다양한 환경의 작은 일부도 나타내지 못한다.
아울러, 본 발명의 클라우드 스트리밍 서비스 제공 시 발생되는 다양한 정보는 도 10과 같은 컴퓨팅 시스템에 관련된 임의의 컴퓨터 판독가능 매체에 저장되고 액세스될 수 있다. 예를 들면, 이러한 프로그램 모듈들의 일부 및 관련 프로그램 데이터의 일부는, 시스템 메모리(12)에 저장하기 위해, 오퍼레이팅 시스템(13b), 애플리케이션 프로그램(13c), 프로그램 모듈(13d), 및/또는 프로그램 데이터(13e)에 포함될 수 있다.
또한, 하드 디스크와 같은 대용량(mass) 저장 장치가 컴퓨팅 시스템에 연결되면, 이러한 프로그램 모듈 및 관련 프로그램 데이터는 대용량 저장 장치에 저장될 수 있다. 네트워크 환경에서, 본 발명과 관련된 프로그램 모듈 또는 그 일부는 입출력 인터페이스(24)의 모뎀(23) 또는 네트워크 인터페이스(25)를 통해 연결된 원격 컴퓨터 시스템에 관련된 시스템 메모리 및/또는 대용량 저장 장치와 같은 원격 메모리 저장 장치에 저장될 수 있다. 이러한 모듈의 실행은 전술한 바와 같이 분산형 환경에서 수행될 수 있다.
이상에서 설명한 바와 같이, 본 명세서는 다수의 특정한 구현물의 세부사항들을 포함하지만, 이들은 어떠한 발명이나 청구 가능한 것의 범위에 대해서도 제한적인 것으로서 이해되어서는 안되며, 오히려 특정한 발명의 특정한 실시형태에 특유할 수 있는 특징들에 대한 설명으로서 이해되어야 한다. 개별적인 실시형태의 문맥에서 본 명세서에 기술된 특정한 특징들은 단일 실시형태에서 조합하여 구현될 수도 있다. 반대로, 단일 실시형태의 문맥에서 기술한 다양한 특징들 역시 개별적으로 혹은 어떠한 적절한 하위 조합으로도 복수의 실시형태에서 구현 가능하다.
나아가, 특징들이 특정한 조합으로 동작하고 초기에 그와 같이 청구된 바와 같이 묘사될 수 있지만, 청구된 조합으로부터의 하나 이상의 특징들은 일부 경우에 그 조합으로부터 배제될 수 있으며, 그 청구된 조합은 하위 조합이나 하위 조합의 변형물로 변경될 수 있다.
마찬가지로, 특정한 순서로 도면에서 동작들을 묘사하고 있지만, 이는 바람직한 결과를 얻기 위하여 도시된 그 특정한 순서나 순차적인 순서대로 그러한 동작들을 수행하여야 한다거나 모든 도시된 동작들이 수행되어야 하는 것으로 이해되어서는 안 된다. 특정한 경우, 멀티태스킹과 병렬 프로세싱이 유리할 수 있다.
또한, 상술한 실시형태의 다양한 시스템 컴포넌트의 분리는 그러한 분리를 모든 실시형태에서 요구하는 것으로 이해되어서는 안되며, 설명한 프로그램 컴포넌트와 시스템들은 일반적으로 단일의 소프트웨어 제품으로 함께 통합되거나 다중 소프트웨어 제품에 패키징될 수 있다는 점을 이해하여야 한다.
본 명세서에서 설명한 주제의 특정한 실시형태를 설명하였다. 기타의 실시형태들은 이하의 청구항의 범위 내에 속한다.
예컨대, 청구항에서 인용된 동작들은 상이한 순서로 수행되면서도 여전히 바람직한 결과를 성취할 수 있다. 일 예로서, 첨부도면에 도시한 프로세스는 바람직한 결과를 얻기 위하여 반드시 그 특정한 도시된 순서나 순차적인 순서를 요구하지 않는다. 특정한 구현예에서, 멀티태스킹과 병렬 프로세싱이 유리할 수 있다.
본 기술한 설명은 본 발명의 최상의 모드를 제시하고 있으며, 본 발명을 설명하기 위하여, 그리고 당업자가 본 발명을 제작 및 이용할 수 있도록 하기 위한 예를 제공하고 있다. 이렇게 작성된 명세서는 그 제시된 구체적인 용어에 본 발명을 제한하는 것이 아니다.
따라서, 상술한 예를 참조하여 본 발명을 상세하게 설명하였지만, 당업자라면 본 발명의 범위를 벗어나지 않으면서도 본 예들에 대한 개조, 변경 및 변형을 가할 수 있다.
따라서 본 발명의 범위는 설명된 실시 예에 의하여 정할 것이 아니고 특허청구범위에 의해 정하여져야 한다.
본 발명은 클라우드 스트리밍 시스템 및 그 시스템에서의 웹 형식이 아닌 데이터 참조를 위한 장치 및 방법에 관한 것으로, 클라우드 스트리밍 서비스를 제공하는 웹 서버와 클라우드 스트리밍 서버 사이의 에이전트 서버가, 웹 형식이 아닌 네이티브 형식의 데이터를 웹 형식에 맞게 변경하여 실시간으로 클라우드 스트리밍 서비스를 제공할 수 있는 클라우드 스트리밍 시스템 및 그 시스템에서의 웹 형식이 아닌 데이터 참조를 위한 장치 및 방법에 관한 것이다.
본 발명에 의하면, 클라우드 스트리밍 서버를 통해 데이터 제공 시, 웹 형식이 아닌 데이터인 경우, 웹 형식으로 변환하여 웹 서버를 통해 데이터를 제공하고 참조할 수 있도록 할 수 있어 클라우드 스트리밍 자원을 보다 효율적으로 사용함과 동시에 실시간으로 고객에게 제공할 수 있으며, 이를 통해 클라우드 서비스 산업의 발전에 이바지할 수 있다.
더불어, 본 발명은 시판 또는 영업의 가능성이 충분할 뿐만 아니라 현실적으로 명백하게 실시할 수 있는 정도이므로 산업상 이용가능성이 있다.
100: 클라이언트 장치 200: 네이티브 데이터 서버
300: 클라우드 스트리밍 서버 400: 웹 서버
500: 에이전트 서버 510: 통신 모듈
520: 데이터 처리 모듈 530: 데이터 전달 모듈
600: 통신망

Claims (10)

  1. 네이티브 데이터 서버와 일정 주기로 통신하여, 상기 네이티브 데이터 서버에서 업데이트 된 데이터를 수신하고, 상기 데이터의 형식을 웹 형식으로 변환하여 웹 서버의 기 설정된 경로에 저장하는 에이전트 서버; 및
    클라우드 스트리밍 서버로부터의 요청에 따라서, 기 설정된 경로에 저장된 데이터를 로딩하여 상기 클라우드 스트리밍 서버로 제공하는 웹 서버;
    를 포함하는 것을 특징으로 하는 클라우드 스트리밍 시스템.
  2. 제1항에 있어서, 상기 에이전트 서버는
    상기 수신한 데이터를 압축 파일 형식으로 수신하여 실시간으로 압축 해제하는 것을 더 포함하는 것을 특징으로 하는 클라우드 스트리밍 시스템.
  3. 제1항에 있어서, 상기 에이전트 서버는
    상기 수신한 데이터의 형식이 웹 형식인지 여부를 더 확인하여 웹 형식인 경우에는 상기 데이터의 형식을 유지하고, 상기 데이터의 형식이 웹 형식이 아닌 경우, 웹 형식으로 변환 처리하는 것을 특징으로 하는 클라우드 스트리밍 시스템.
  4. 네이티브 데이터 서버와 통신하여 데이터를 송수신하는 통신 모듈;
    상기 통신 모듈을 통해 일정 주기 마다 상기 네이티브 데이터 서버에서의 업데이트 된 데이터를 수신하고, 상기 수신한 데이터를 웹 형식으로 변환 처리하는 데이터 처리 모듈; 및
    상기 통신모듈을 통해 상기 데이터를 웹 서버의 기 설정된 경로에 저장하는 데이터 전달 모듈;
    을 포함하는 것을 특징으로 에이전트 서버.
  5. 제4항에 있어서, 상기 데이터 처리 모듈은
    상기 데이터의 형식이 웹 형식인지 여부를 더 확인하여, 웹 형식인 경우에는 상기 데이터의 형식을 유지하고, 상기 데이터의 형식이 웹 형식이 아닌 경우, 웹 형식으로 변환 처리하는 것을 특징으로 하는 에이전트 서버.
  6. 제5항에 있어서, 상기 데이터 처리 모듈은
    상기 수신한 데이터를 웹 형식으로 변환 처리 할 때, 기 설정된 전송규약에 따라 실시간 변환하는 것을 특징으로 하는 에이전트 서버.
  7. 제4항에 있어서, 상기 데이터 처리 모듈은
    상기 네이티브 데이터 서버로부터 압축 파일 형식의 데이터를 수신하여 실시간으로 압축을 해제하는 기능을 더 수행하는 것을 특징으로 하는 에이전트 서버.
  8. 에이전트 서버가 네이티브 데이터 서버와 일정 주기로 통신하여 네이티브 데이터 서버 내에 업데이트 된 데이터가 있는지 확인하는 단계;
    상기 에이전트 서버가 상기 네이티브 데이터 서버로부터 업데이트 된 데이터를 수신하는 단계;
    상기 에이전트 서버가 상기 수신한 데이터의 형식이 웹 형식인지 여부를 확인하여 웹 형식인 경우 상기 데이터의 형식을 유지하고, 웹 형식이 아닌 경우, 상기 데이터의 형식을 웹 형식으로 변환하는 단계; 및
    상기 에이전트 서버가 상기 웹 형식의 데이터를 웹 서버의 기 설정된 경로에 제공하는 단계;
    를 포함하는 것을 특징으로 하는 클라우드 스트리밍 서비스 방법.
  9. 제8항에 있어서, 상기 변환하는 단계에서,
    상기 데이터가 압축 파일 형식의 데이터인 경우, 상기 데이터를 실시간으로 압축 해제하는 단계를 더 포함하는 것을 특징으로 하는 클라우드 스트리밍 서비스 방법.
  10. 제8항에 있어서, 상기 변환하는 단계는,
    상기 수신한 데이터를 기 설정된 전송규약에 따라 실시간 변환하는 것을 특징으로 하는 클라우드 스트리밍 서비스 방법.
KR1020150076134A 2015-05-29 2015-05-29 클라우드 스트리밍 시스템 및 그 시스템에서의 웹 형식이 아닌 데이터 참조를 위한 장치 및 방법 KR102310069B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020150076134A KR102310069B1 (ko) 2015-05-29 2015-05-29 클라우드 스트리밍 시스템 및 그 시스템에서의 웹 형식이 아닌 데이터 참조를 위한 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150076134A KR102310069B1 (ko) 2015-05-29 2015-05-29 클라우드 스트리밍 시스템 및 그 시스템에서의 웹 형식이 아닌 데이터 참조를 위한 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20160140048A true KR20160140048A (ko) 2016-12-07
KR102310069B1 KR102310069B1 (ko) 2021-10-08

Family

ID=57572953

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150076134A KR102310069B1 (ko) 2015-05-29 2015-05-29 클라우드 스트리밍 시스템 및 그 시스템에서의 웹 형식이 아닌 데이터 참조를 위한 장치 및 방법

Country Status (1)

Country Link
KR (1) KR102310069B1 (ko)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110055526A (ko) * 2008-07-28 2011-05-25 소니 주식회사 네트워크화된 서비스에 액세스하는 클라이언트 장치, 정보 처리 시스템 및 관련 방법
KR20110097190A (ko) 2010-02-25 2011-08-31 유비벨록스(주) 데이터 전송 방법 및 게이트웨이 서버
JP2011204237A (ja) * 2010-03-24 2011-10-13 Fisher-Rosemount Systems Inc プロセスデータを表示するための方法および装置
KR20140052355A (ko) * 2012-10-24 2014-05-07 주식회사 케이티 Ip 카메라를 이용하는 클라우드 환경의 영상 감시 시스템 및 영상 감시 방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110055526A (ko) * 2008-07-28 2011-05-25 소니 주식회사 네트워크화된 서비스에 액세스하는 클라이언트 장치, 정보 처리 시스템 및 관련 방법
KR20110097190A (ko) 2010-02-25 2011-08-31 유비벨록스(주) 데이터 전송 방법 및 게이트웨이 서버
JP2011204237A (ja) * 2010-03-24 2011-10-13 Fisher-Rosemount Systems Inc プロセスデータを表示するための方法および装置
KR20140052355A (ko) * 2012-10-24 2014-05-07 주식회사 케이티 Ip 카메라를 이용하는 클라우드 환경의 영상 감시 시스템 및 영상 감시 방법

Also Published As

Publication number Publication date
KR102310069B1 (ko) 2021-10-08

Similar Documents

Publication Publication Date Title
CN108337545B (zh) 用于同步再现视频和音频的媒体重放设备和媒体服务设备
US20080195698A1 (en) Method and System for Transforming and Delivering Video File Content for Mobile Devices
KR101780782B1 (ko) 클라우드 스트리밍 서비스 제공 방법 및 이를 위한 장치
US9848032B2 (en) Method and apparatus for streaming metadata between devices using JavaScript and HTML5
US11089349B2 (en) Apparatus and method for playing back and seeking media in web browser
US20050204393A1 (en) Home network server
EP3654607A1 (en) Data transmission method, device, server and storage medium
CN109785939A (zh) 基于云技术的医学影像显示方法、装置、设备及存储介质
KR101942269B1 (ko) 웹 브라우저에서 미디어를 재생하고 탐색하는 장치 및 방법
WO2015176648A1 (zh) 将智能终端上的数据传输至电视终端的方法、装置
JP2015530633A (ja) 複数の異なるビデオ圧縮技術に対応する単一のkvmクライアントに対するシステムおよび方法
WO2014089114A1 (en) Distributed cross-platform user interface and application projection
EP3408767A1 (en) Delivering auto-play media content element from cross origin resources
CN104349177A (zh) 一种在桌面云下转向播放多媒体文件的方法、虚拟机及系统
WO2021042936A1 (zh) 视频数据的处理方法、装置、电子设备及计算机可读介质
KR102050735B1 (ko) 클라우드 스트리밍 서비스를 위한 프락시 서버, 이를 이용한 클라우드 스트리밍 시스템 및 클라우드 스트리밍 서비스 제공 방법
US10073688B2 (en) Method and apparatus for executing application
KR20160097957A (ko) 캐시 장치를 이용한 클라우드 컴퓨팅 시스템 및 캐시 장치를 이용한 클라우드 스트리밍 서비스 제공 방법
KR102310070B1 (ko) 클라우드 스트리밍 서비스 제공을 위한 어플리케이션 캐싱 방법 및 이를 위한 장치
CN111971673A (zh) 在显示器-服务器计算系统中重定向音频和视频数据流的系统和方法
KR102310069B1 (ko) 클라우드 스트리밍 시스템 및 그 시스템에서의 웹 형식이 아닌 데이터 참조를 위한 장치 및 방법
KR102286430B1 (ko) 클라우드 스트리밍 서비스 제공 방법 및 이를 위한 장치
CN103200154B (zh) 媒体内容的处理装置与处理方法
KR102050736B1 (ko) 클라우드 스트리밍 시스템 및 그 시스템에서의 데이터 캐싱을 위한 장치
CN202261681U (zh) 一种集成网络功能的电视及电视网络系统

Legal Events

Date Code Title Description
N231 Notification of change of applicant
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right