KR102086731B1 - 클라우드 스트리밍 서비스 제공 방법, 이를 위한 장치 및 시스템, 그리고 이를 위한 클라우드 스트리밍용 스크립트 코드를 기록한 컴퓨터 판독 가능한 기록매체 - Google Patents

클라우드 스트리밍 서비스 제공 방법, 이를 위한 장치 및 시스템, 그리고 이를 위한 클라우드 스트리밍용 스크립트 코드를 기록한 컴퓨터 판독 가능한 기록매체 Download PDF

Info

Publication number
KR102086731B1
KR102086731B1 KR1020140077925A KR20140077925A KR102086731B1 KR 102086731 B1 KR102086731 B1 KR 102086731B1 KR 1020140077925 A KR1020140077925 A KR 1020140077925A KR 20140077925 A KR20140077925 A KR 20140077925A KR 102086731 B1 KR102086731 B1 KR 102086731B1
Authority
KR
South Korea
Prior art keywords
web page
cloud
script code
service
terminal
Prior art date
Application number
KR1020140077925A
Other languages
English (en)
Other versions
KR20160000912A (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 KR1020140077925A priority Critical patent/KR102086731B1/ko
Priority to PCT/KR2014/011749 priority patent/WO2015199293A1/ko
Priority to EP14895905.9A priority patent/EP3163531B1/en
Priority to JP2016570814A priority patent/JP6445050B2/ja
Priority to US15/314,090 priority patent/US10171542B2/en
Priority to CN201480080199.1A priority patent/CN106462911B/zh
Publication of KR20160000912A publication Critical patent/KR20160000912A/ko
Application granted granted Critical
Publication of KR102086731B1 publication Critical patent/KR102086731B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/70Media network packetisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/612Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
    • 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/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
    • G06F9/45529Embedded in an application, e.g. JavaScript in a Web browser
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • 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]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Business, Economics & Management (AREA)
  • Software Systems (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Theoretical Computer Science (AREA)
  • Tourism & Hospitality (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • Strategic Management (AREA)
  • Primary Health Care (AREA)
  • Marketing (AREA)
  • Human Resources & Organizations (AREA)
  • General Health & Medical Sciences (AREA)
  • Economics (AREA)
  • Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

본 발명은 클라우드 스트리밍 서비스 제공 방법, 이를 위한 장치 및 시스템, 그리고 이를 위한 클라우드 스트리밍용 스크립트 코드를 기록한 컴퓨터 판독 가능한 기록매체에 관한 것으로서, 웹 페이지 로딩 시 기 정의된 클라우드 스트리밍용 스크립트 코드를 삽입하여 로딩함으로써, 상기 웹 페이지가 클라우드 스트리밍 서비스 제공이 가능하도록 처리할 수 있는 클라우드 스트리밍 서비스 제공 방법, 이를 위한 장치 및 시스템, 그리고 이를 위한 클라우드 스트리밍용 스크립트 코드를 기록한 컴퓨터 판독 가능한 기록매체에 관한 것이다.
이를 위한 본 발명의 일 실시 예에 따른 클라우드 서비스 장치는 하나 이상의 단말 및 웹 페이지를 제공하는 컨텐츠 제공 장치와 정보를 송수신하는 서비스 통신부; 기 정의된 클라우드 스트리밍용 스크립트 코드를 저장하는 서비스 저장부; 및 단말로부터 컨텐츠 제공 장치가 제공하는 웹 페이지의 요청이 상기 서비스 통신부를 통해 수신됨에 따라, 상기 컨텐츠 제공 장치로부터 제공되는 웹 페이지에 상기 서비스 저장부에 기 정의된 클라우드 스트리밍용 스크립트 코드를 삽입하고, 상기 스크립트 코드가 삽입된 상기 웹 페이지를 캡쳐하여 캡쳐 이미지를 생성한 후, 상기 캡쳐 이미지를 인코딩하여 상기 서비스 통신부를 상기 단말로 제공되도록 제어하는 서비스 제어부;를 포함하여 구성될 수 있다.

Description

클라우드 스트리밍 서비스 제공 방법, 이를 위한 장치 및 시스템, 그리고 이를 위한 클라우드 스트리밍용 스크립트 코드를 기록한 컴퓨터 판독 가능한 기록매체{METHOD FOR PROVIDING OF CLOUD STREAMMING SERVICE, APPARATUS AND SYSTEM FOR THE SAME, AND COMPUTER READABLE STORAGE MEDIUM STORING SCRIPT CODE FOR THE SAME}
본 발명은 클라우드 스트리밍 서비스 제공 방법, 이를 위한 장치 및 시스템, 그리고 이를 위한 클라우드 스트리밍용 스크립트 코드를 기록한 컴퓨터 판독 가능한 기록매체에 관한 것으로서, 웹 페이지 로딩 시 기 정의된 클라우드 스트리밍용 스크립트 코드를 삽입하여 로딩함으로써, 상기 웹 페이지가 클라우드 스트리밍 서비스 제공이 가능하도록 처리할 수 있는 클라우드 스트리밍 서비스 제공 방법, 이를 위한 장치 및 시스템, 그리고 이를 위한 클라우드 스트리밍용 스크립트 코드를 기록한 컴퓨터 판독 가능한 기록매체에 관한 것이다.
이 부분에 기술된 내용은 단순히 본 실시 예에 대한 배경 정보를 제공할 뿐 종래기술을 구성하는 것은 아니다.
이 부분에 기술된 내용은 단순히 본 실시 예에 대한 배경 정보를 제공할 뿐 종래기술을 구성하는 것은 아니다.
컴퓨터 네트워크의 기술 발전에 따라, 각 단말기의 독립적인 하드웨어 성능에 의존하던 기존의 컴퓨팅 환경은 네트워크상의 모든 컴퓨팅 자원을 활용하여 단말의 요청에 따라 해당 서비스를 제공하는 클라우드 컴퓨팅(Cloud Computing) 형태로 진화하고 있다.
클라우드 컴퓨팅이란, 인터넷과 같은 정보 통신망을 통한 '컴퓨팅 자원의 온 디맨드 아웃소싱 서비스'라고 정의할 수 있다. 클라우드 컴퓨팅 환경에서, 서비스 제공자는 여러 곳에 분산되어 있는 데이터 센터를 가상화 기술로 통합하여 사용자들에게 필요로 하는 서비스를 제공한다. 서비스 사용자는 어플리케이션(Application), 스토리지(Storage), 운영체제(OS), 보안(Security) 등의 컴퓨팅 자원을 각 사용자 소유의 단말에 설치하여 사용하는 것이 아니라, 가상화 기술을 통해 생성된 가상 공간상의 서비스를 원하는 시점에 원하는 만큼 골라서 사용한다. 다시 말하면, 클라우트 컴퓨팅은 구름(cloud)과 같이 무형의 형태로 존재하는 하드웨어/소프트웨어 등의 컴퓨팅 자원을 자신이 필요한 만큼 빌려 쓰고 이에 대한 사용요금을 지급하는 방식의 컴퓨팅 서비스로, 서로 다른 물리적인 위치에 존재하는 컴퓨팅 자원을 가상화 기술로 통합해 제공하는 기술을 말한다.
이러한 클라우드 컴퓨팅에 따르면, 사용자는 네트워크 접속과 기본적인 연산 기능만을 수행하는 단말기를 통해 클라우드 망에 접속하여 대용량의 저장 장치와 고성능 컴퓨팅 리소스가 필요한 작업들을 수행하고, 다양한 서비스를 제공받을 수 있다.
클라우드 스트리밍 서비스는 이러한 클라우드 컴퓨팅 환경을 기반으로 한 서비스로서, 서버 자원을 활용하여 웹 어플리케이션 등의 컨텐츠를 서버측에서 실행한 후, 그 실행 화면을 GUI 화면으로 캡쳐 및 인코딩하여 실시간으로 단말로 전송하고, 단말 측에서는 입력 및 출력만 이루지도록 함으로써, 단말 사양에 관계없이 고성능 컴퓨팅 리소스가 요구되는 어플리케이션이나 컨텐츠를 사용자가 이용할 수 있도록 하는 것이다.
현재까지의 클라우드 스트리밍 서비스는 브라우저 동작 중 새창에서 열기, 팝업 윈도우 표시 등 메인 윈도우 외에 별도의 윈도우에서의 서비스 제공이 불가능하다. 이를 해결하기 위해서는 브라우저 자체를 별도로 개발해야 하나, 이는 많은 시간과 비용을 야기한다는 문제점이 있다.
한국공개특허 제10-2013-0026609호, 2013년 3월 14일 공개 (명칭: 멀티미디어 클라우드 시스템의 클라이언트에서 멀티미디어 클라우드 서비스 제공 장치 및 방법, 그리고 멀티미디어 클라우드 시스템의 소셜 네트워크 서비스 서버에서 멀티미디어 클라우드 서비스 제공 방법)
본 발명은 상기한 종래의 문제점을 해결하기 위해 제안된 것으로서, 특히 웹 페이지 로딩 시 상기 웹 페이지에 기 정의된 클라우드 스트리밍용 스크립트 코드를 삽입하여 로딩함으로써, 상기 웹 페이지가 클라우드 스트리밍 서비스 제공이 가능하도록 처리할 수 있는 클라우드 스트리밍 서비스 제공 방법, 이를 위한 장치 및 시스템, 그리고 이를 위한 클라우드 스트리밍용 스크립트 코드를 기록한 컴퓨터 판독 가능한 기록매체를 제공하는 데 목적이 있다.
그러나, 이러한 본 발명의 목적은 상기의 목적으로 제한되지 않으며, 언급되지 않은 또 다른 목적들은 아래의 기재로부터 명확하게 이해될 수 있을 것이다.
상술한 바와 같은 목적을 달성하기 위한 본 발명의 실시 예에 따른 클라우드 서비스 장치는 하나 이상의 단말 및 웹 페이지를 제공하는 컨텐츠 제공 장치와 정보를 송수신하는 서비스 통신부; 기 정의된 클라우드 스트리밍용 스크립트 코드를 저장하는 서비스 저장부; 및 단말로부터 컨텐츠 제공 장치가 제공하는 웹 페이지의 요청이 상기 서비스 통신부를 통해 수신됨에 따라, 상기 컨텐츠 제공 장치로부터 제공되는 웹 페이지에 상기 서비스 저장부에 기 정의된 클라우드 스트리밍용 스크립트 코드를 삽입하고, 상기 스크립트 코드가 삽입된 상기 웹 페이지를 캡쳐하여 캡쳐 이미지를 생성한 후, 상기 캡쳐 이미지를 인코딩하여 상기 서비스 통신부를 상기 단말로 제공되도록 제어하는 서비스 제어부;를 포함하여 구성될 수 있다.
이때, 상기 서비스 제어부는 상기 웹 페이지에서의 자바 스크립트 코드 영역을 검색한 후, 상기 검색된 자바 스크립트 코드 영역에 기 정의된 클라우드 스트리밍용 스크립트 코드가 삽입되어 있는 지 여부를 판단하여 삽입되어 있지 않을 경우, 상기 스크립트 코드가 삽입될 위치를 확인한 후, 상기 확인된 위치에 상기 스크립트 코드를 삽입할 수 있다.
또한, 상기 서비스 제어부는 상기 스크립트 코드가 삽입된 상기 웹 페이지를 캡쳐하여 캡쳐 이미지 생성 시, 상기 웹 페이지에 삽입된 스크립트 코드를 실행하고, 상기 스크립트 코드가 실행됨에 따라 상기 웹 페이지에서의 지정된 메시지가 메인 윈도우에서 표시되도록 상기 웹 페이지에서의 지정된 객체를 재정의한 후 상기 웹 페이지를 캡쳐하여 캡쳐 이미지를 생성할 수 있다.
여기서, 상기 지정된 메시지는 경고(alert) 메시지, 확인(confirm) 메시지, 입력(prompt) 메시지 중 적어도 하나 이상의 메시지일 수 있다.
또한, 상기 서비스 제어부는 상기 스크립트 코드가 실행됨에 따라 상기 웹 페이지에서의 윈도우 객체의 오픈 메소드 속성 정보 또는 이동 태그 객체의 속성 정보를 셀프(self)로 재정의할 수 있다.
또한, 상기 서비스 제어부는 상기 웹 페이지에서의 지정된 메시지가 상기 메인 윈도우 내에서의 해당 위치에 삽입 포함되도록 상기 웹 페이지에서의 지정된 객체를 재정의할 수 있다.
상술한 바와 같은 목적을 달성하기 위한 본 발명의 실시 예에 따른 클라우드 시스템은 단말로부터 컨텐츠 제공 장치가 제공하는 웹 페이지의 요청이 통해 수신됨에 따라, 상기 컨텐츠 제공 장치로부터 제공되는 웹 페이지에 기 정의된 클라우드 스트리밍용 스크립트 코드를 삽입하고, 상기 스크립트 코드가 삽입된 상기 웹 페이지를 캡쳐하여 캡쳐 이미지를 생성하여 인코딩한 후, 상기 단말로 제공되도록 제어하는 클라우드 서비스 장치; 및 상기 클라우드 서비스 장치로 컨텐츠 제공 장치가 제공하는 웹 페이지를 요청하고, 이에 대한 응답으로 상기 클라우드 서비스 장치로부터 상기 렌더링된 웹 페이지를 수신하는 단말;을 포함하여 구성될 수 있다.
상술한 바와 같은 목적을 달성하기 위한 본 발명의 실시 예에 따른 클라우드 스트리밍 서비스 제공 방법은 클라우드 서비스 장치가 단말로부터 컨텐츠 제공 장치가 제공하는 웹 페이지의 요청을 수신하는 단계; 상기 클라우드 서비스 장치가 상기 컨텐츠 제공 장치로부터 제공되는 웹 페이지에 기 정의된 클라우드 스트리밍용 스크립트 코드를 삽입하는 단계; 상기 클라우드 서비스 장치가 상기 스크립트 코드가 삽입된 상기 웹 페이지를 캡쳐하여 캡쳐 이미지를 생성하는 단계; 및 상기 클라우드 서비스 장치가 상기 캡쳐 이미지를 인코딩하여 상기 단말로 제공하는 단계;을 포함하여 이뤄질 수 있다.
이때, 상기 웹 페이지의 요청을 수신하는 단계 이후에, 상기 클라우드 서비스 장치가 상기 컨텐츠 제공 장치에 접속하여, 해당 웹 페이지를 수신하는 단계;를 더 포함하여 이뤄질 수 있다.
또한, 상기 스크립트 코드를 삽입하는 단계는 상기 클라우드 서비스 장치가 상기 웹 페이지에서의 자바 스크립트 코드 영역을 검색하는 단계; 상기 클라우드 서비스 장치가 상기 자바 스크립트 코드 영역에 기 정의된 클라우드 스트리밍용 스크립트 코드가 삽입되어 있는 지 여부를 판단하는 단계; 삽입되어 있지 않을 경우, 상기 클라우드 서비스 장치가 상기 자바 스크립트 코드 영역에서 상기 스크립트 코드가 삽입될 위치를 확인하는 단계; 및 상기 클라우드 서비스 장치가 상기 확인된 위치에 상기 스크립트 코드를 삽입하는 단계;를 포함하여 이뤄질 수 있다.
또한, 상기 렌더링하는 단계는 상기 클라우드 서비스 장치가 상기 웹 페이지에 삽입된 스크립트 코드를 실행하는 단계; 상기 클라우드 서비스 장치가 상기 웹 페이지에서의 지정된 메시지가 메인 윈도우에서 표시되도록 상기 웹 페이지에서의 지정된 객체를 재정의하는 단계; 및 상기 클라우드 서비스 장치가 상기 재정의된 웹 페이지의 실행에 따른 결과 화면을 캡쳐하여 캡쳐 이미지를 생성하는 단계;를 포함하여 이뤄질 수 있다.
여기서, 상기 재정의하는 단계는 상기 클라우드 서비스 장치가 상기 웹 페이지에서의 윈도우 객체의 오픈 메소드 속성 정보 또는 이동 태그 객체의 속성 정보를 셀프(self)로 재정의할 수 있다.
또한, 상기 단말로 제공하는 단계 이후에, 상기 클라우드 서비스 장치가 상기 단말로부터 상기 지정된 메시지에 대한 활성화 이벤트가 수신되면, 상기 재정의된 객체에 따라 상기 지정된 메시지를 메인 윈도우에서 표시한 후 상기 표시에 따른 결과 화면을 캡쳐하여 캡쳐 이미지를 생성하고, 상기 캡쳐 이미지를 인코딩하여 상기 단말로 제공할 수 있다.
추가로 본 발명은 상술한 바와 같은 클라우드 스트리밍 서비스 제공 방법을 실행하는 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체를 제공할 수 있다.
상술한 바와 같은 목적을 달성하기 위한 본 발명의 실시 예에 따른 클라우드 스트리밍용 스크립트 코드를 기록한 컴퓨터 판독 가능한 기록매체는 삽입된 웹 페이지에서 경고(alert) 메시지, 확인(confirm) 메시지, 입력(prompt) 메시지 중 적어도 하나 이상의 메시지가 발생되는 지 여부를 판단하는 기능; 및 상기 메시지의 발생에 따라 생성되는 팝업 윈도우를 메인 윈도우에서 표시되도록 처리하는 기능;을 포함하여 기록할 수 있다.
본 발명의 클라우드 스트리밍 서비스 제공 방법, 이를 위한 장치 및 시스템, 그리고 이를 위한 클라우드 스트리밍용 스크립트 코드를 기록한 컴퓨터 판독 가능한 기록매체에 의하면, 웹 페이지 로딩 시 상기 웹 페이지에 기 정의된 클라우드 스트리밍용 스크립트 코드를 삽입하여 로딩함으로써, 브라우저 엔진 내부에 대한 별다른 수정 없이, 클라우드 스트리밍 서비스 제공이 불가능한 팝업 창 이벤트 등을 용이하게 처리할 수 있게 된다.
아울러, 상술한 효과 이외의 다양한 효과들이 후술될 본 발명의 실시 예에 따른 상세한 설명에서 직접적 또는 암시적으로 개시될 수 있다.
도 1은 본 발명의 실시 예에 따른 클라우드 서비스 시스템의 개략적인 구성도이다.
도 2는 도 1에 도시된 본 발명의 실시 예에 따른 단말의 주요 구성을 도시한 블록도이다.
도 3은 도 1에 도시된 본 발명의 실시 예에 따른 클라우드 서비스 장치의 주요 구성을 도시한 블록도이다.
도 4는 본 발명의 실시 예에 따른 웹 페이지의 소스 파일 구조를 도시한 블록도이다.
도 5는 본 발명의 실시 예에 따른 클라우드 스트리밍 서비스 제공 방법을 설명하기 위한 흐름도이다.
도 6은 본 발명의 실시 예에 따른 클라우드 스트리밍 서비스 제공 방법을 보다 더 구체적으로 설명하기 위한 데이터 흐름도이다.
도 7은 본 발명의 실시 예에 따른 클라우드 스트리밍 서비스 제공 방법을 지원하는 코드 예를 도시한 것이다.
도 8은 본 발명의 실시 예에 따른 클라우드 스트리밍용 스크립트 코드의 예를 도시한 것이다.
이하 첨부된 도면을 참조하여 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있는 바람직한 실시예를 상세히 설명한다. 다만, 본 발명의 바람직한 실시예에 대한 동작 원리를 상세하게 설명함에 있어 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략한다. 이는 불필요한 설명을 생략함으로써 본 발명의 핵심을 흐리지 않고 더욱 명확히 전달하기 위함이다. 또한 본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시 예를 가질 수 있는 바, 특정 실시 예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 하나, 이는 본 발명을 특정한 실시 형태로 한정하려는 것은 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
또한, 제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성요소들을 설명하기 위해 사용하는 것으로, 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용될 뿐, 상기 구성요소들을 한정하기 위해 사용되지 않는다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제2 구성요소는 제1 구성요소로 명명될 수 있고, 유사하게 제1 구성요소도 제2 구성요소로 명명될 수 있다.
더하여, 어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급할 경우, 이는 논리적 또는 물리적으로 연결되거나, 접속될 수 있음을 의미한다. 다시 말해, 구성요소가 다른 구성요소에 직접적으로 연결되거나 접속되어 있을 수 있지만, 중간에 다른 구성요소가 존재할 수도 있으며, 간접적으로 연결되거나 접속될 수도 있다고 이해되어야 할 것이다.
또한, 본 명세서에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 또한, 본 명세서에서 기술되는 "포함 한다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
이제 본 발명의 실시 예에 따른 클라우드 스트리밍 서비스 제공 방법, 이를 위한 장치 및 시스템, 그리고 이를 위한 클라우드 스트리밍용 스크립트 코드를 기록한 컴퓨터 판독 가능한 기록매체에 대하여 도면을 참조하여 상세하게 설명하도록 한다. 이때, 도면 전체에 걸쳐 유사한 기능 및 작용을 하는 부분에 대해서는 동일한 도면 부호를 사용하며, 이에 대한 중복되는 설명은 생략하기로 한다.
설명에 앞서, 본 발명은 클라우드 컴퓨팅 환경을 기반으로 화면 가상화를 통해 사용자가 단말의 성능에 관계 없이 소정의 서비스 혹은 기능을 이용할 수 있도록 하는 클라우드 스트리밍 서비스에 관한 것이다. 특히, 본 발명은 컨텐츠 제공 장치가 제공하는 웹 페이지(또는 다수의 웹 페이지로 구성되는 웹 어플리케이션)을 클라우드 스트리밍용 서비스에 적합하도록 변환한 후 단말로 제공하는 기능을 포함할 수 있다.
먼저, 본 발명의 실시 예에 따른 클라우드 서비스 시스템에 대해 설명하도록 한다.
도 1은 본 발명의 실시 예에 따른 클라우드 서비스 시스템의 개략적인 구성도이다.
도 1을 참조하면, 본 발명의 실시 예에 따른 클라우드 서비스 시스템(1000)은 단말(100) 및 클라우드 서비스 장치(200), 그리고 상기 단말(100) 및 클라우드 서비스 장치(200) 간의 정보의 송수신을 지원하는 통신망(300)을 포함하여 구성될 수 있다. 더하여, 본 발명의 실시 예에 따른 클라우드 서비스 시스템(1000)은 다수의 컨텐츠 제공 장치(400)와 연동하여 동작할 수 있다.
각 구성 요소에 대해 보다 구체적으로 설명하면, 먼저, 단말(100)은 사용자의 조작에 따라 통신망(300)을 경유하여 각종 데이터를 송수신할 수 있는 사용자의 장치를 의미한다. 이러한 단말(100)은 통신망(300)을 통해 음성 또는 데이터 통신을 수행할 수 있으며, 클라우드 서비스 장치(200)와 다양한 정보를 송수신할 수 있다. 이를 위한 본 발명의 단말(100)은 정보의 송수신을 위한 브라우저, 프로그램 및 프로토콜을 저장하는 메모리, 각종 프로그램을 실행하여 연산 및 제어하기 위한 마이크로프로세서 등을 구비할 수 있다.
특히, 본 발명의 실시 예에 따른 단말(100)은 클라우드 서비스 장치(200) 및 컨텐츠 제공 장치(400) 중 하나 이상으로 소정의 서비스 혹은 기능을 요청하고, 이에 대응하여 상기 클라우드 서비스 장치(200)로부터 스트리밍 데이터를 수신하여 재생한 후 출력할 수 있다. 이러한 단말(100)은 기본적으로 인코딩된 스트리밍 데이터를 수신하여 디코딩하는 기능을 구비할 수 있으며, 여기에 더하여 디코딩된 비디오 데이터를 랜더링하여 출력하는 기능을 더 포함할 수 있다.
이러한 본 발명의 실시 예에 따른 단말(100)은 다양한 형태로 구현될 수 있다. 예를 들어, 본 명세서에서 기술되는 단말(100)은 스마트 폰(smart phone), 타블렛 PC(Tablet PC), PDA(Personal Digital Assistants), PMP(Portable Multimedia Player), MP3 Player 등의 이동 단말기는 물론, 스마트 TV(Smart TV), 데스크탑 컴퓨터 등과 같은 고정 단말기가 사용될 수도 있다.
또한, 본 발명의 실시 예에 따른 단말(100)은 디스플레이 기능을 보유한 장치와, 디스플레이 기능을 보유하지 않은 장치로 구분될 수 있으며, 상기 디스플레이 기능을 보유하지 않은 장치는, TV, 모니터, 프로젝터와 같은 다른 영상 출력 장치(도시생략)과 연결되어, 상기 영상 출력 장치로 데이터를 전송함으로써, 상기 영상 출력 장치를 통해서 서비스 화면을 출력할 수 있다.
이러한 본 발명의 단말(100)은 디지털 기기의 컨버전스(convergence) 추세에 따라 휴대 기기의 변형이 매우 다양하여 모두 열거할 수는 없으나, 상기 언급된 유닛들과 동등한 수준의 유닛이 본 발명에 따른 단말(100)로 사용될 수도 있으며, 통신망(300)을 통해 클라우드 서비스 장치(200)가 제공하는 스트리밍 데이터를 수신할 수 있는 장치라면 그 어떠한 장치도 본 발명의 단말(100)로 적용 가능하다.
클라우드 서비스 장치(200)는 본 발명의 클라우드 스트리밍 서비스를 제공하는 구성으로, 화면 가상화 기능을 통해 단말(100)에서 요청된 서비스 혹은 기능을 단말(100)로 제공하는 역할을 수행한다. 여기서, 화면 가상화는 단말(100)에서 실행된 것과 같이 특정 어플리케이션의 실행 화면을 통신망(300)을 통해 연결된 서버 측, 즉, 클라우드 서비스 장치(200)에서 구현하여 단말(100)에 제공하는 것을 의미한다. 이를 위하여, 상기 클라우드 서비스 장치(200)는 자신이 보유한 자원, 예를 들어, 사용자 인터페이스(UI) 어플리케이션, 게임 어플리케이션 등 다양한 어플리케이션을 실행하고, 그 실행 화면을 캡쳐하여 캡쳐 이미지를 생성한 후, 이를 인코딩하여 스트리밍 방식으로 단말(100)로 전송한다. 이때, 상기 클라우드 서비스 장치(200)는 상기 어플리케이션을 단말(100)로부터 전송되는 사용자 입력에 따라서 구동시키며, 변경된 실행 화면을 상기 스트리밍 방식으로 단말(100)로 전송함으로써, 단말(100)의 사용자는 자신의 단말(100)에서 직접 어플리케이션을 실행하는 것과 같은 사용자 경험을 제공받을 수 있다.
보다 구체적인 클라우드 서비스 장치(200)의 주요 구성 및 동작 방법에 대해서는 후술하도록 하며, 본 발명의 실시 예에 따른 클라우드 서비스 장치(200)에 탑재되는 프로세서는 본 발명에 따른 방법을 실행하기 위한 프로그램 명령을 처리할 수 있다. 일 구현 예에서, 이 프로세서는 싱글 쓰레드(Single-threaded) 프로세서일 수 있으며, 다른 구현 예에서 본 프로세서는 멀티 쓰레드(Multithreaded) 프로세서일 수 있다. 나아가 본 프로세서는 메모리 혹은 저장 장치 상에 저장된 명령을 처리하는 것이 가능하다.
마지막으로, 컨텐츠 제공 장치(400)는 상기 클라우드 서비스 장치(200)와는 별도로 소정의 컨텐츠를 제공하는 장치로서, 예컨대, 단말(100)이 요청한 웹 페이지를 클라우드 서비스 장치(200)를 통해 제공하는 역할을 수행할 수 있다. 또한, 컨텐츠 제공 장치(400)는 다수의 웹 페이지의 집합인 웹 어플리케이션을 미리 클라우드 서비스 장치(200)로 제공할 수도 있다. 또한, 컨텐츠 제공 장치(400)는 웹 페이지 외에, 실시간 방송 혹은 VOD와 같은 동영상으로 이루어진 컨텐츠 또는 이러한 컨텐츠를 포함하는 웹 페이지를 클라우드 서비스 장치(200)와 연동하여 단말(100)로 제공할 수도 있다. 이러한 컨텐츠 제공 장치(400)는 상기 클라우드 서비스 장치(200)와는 다른 주체(서비스 제공자)에 의해서 운영될 수 있다. 구체적으로, 상기 컨텐츠 제공 장치(400)는 IPTV Head-End system 또는 케이블 TV의 QAM Transmitter 등이 될 수 있다.
아울러, 본 발명의 실시 예에 따른 통신망(300)은 단말(100)과 클라우드 서비스 장치(200) 간, 클라우드 서비스 장치(200)와 컨텐츠 제공 장치(400) 간, 단말(100)과 컨텐츠 제공 장치(400) 사이를 연결하여, 데이터를 전달하기 위한 구성으로서, 다양한 형태의 통신망으로 구현될 수 있다.
예컨대, 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) 등의 유선 통신 방식을 이용할 수 있다. 또한, 상술한 통신 방식 이외에도 기타 널리 공지되었거나 향후 개발될 모든 형태의 통신 방식을 포함할 수 있다.
또한, 단말(100)과 클라우드 서비스 장치(200), 단말(100)과 컨텐츠 제공 장치(400), 클라우드 서비스 장치(200)와 컨텐츠 제공 장치(400) 각각은 서로 다른 통신매체 혹은 통신 방식으로 연결될 수 있다. 예를 들어, 단말(100)과 클라우드 서비스 장치(200), 단말(100)과 컨텐츠 제공 장치(400)는 공용 통신망으로 연결되고, 상기 컨텐츠 제공 장치(400)와 클라우드 서비스 장치(300)는 전용 통신망을 통해 연결될 수 있다.
본 발명은 상술한 단말(100)과 클라우드 스트리밍 장치(200)와 컨텐츠 제공 장치(400)와의 연동을 통해, 컨텐츠 제공 장치(400)로부터 제공되는 컨텐츠 데이터를 클라우드 서비스 장치(200)에서 제공하는 컨텐츠 데이터와 융합하여, 단말(100)로 제공할 수 있다. 컨텐츠 간의 융합은, 예를 들어, 컨텐츠 제공 장치(400)가 제공하는 실시간 방송 또는 VOD의 비디오 영상에, 클라우드 스트리밍 장치(200)가 제공하는 사용자 조작을 위한 사용자 인터페이스 어플리케이션의 융합이 될 수 있다. 그러나, 상술한 예는 단순한 예시에 불과하며, 본 발명에 따른 클라우드 스트리밍 서비스에 따르면 다양한 종류의 서로 다른 컨텐츠 간의 융합이 가능해진다.
이하에서는 설명의 편의를 위해, 컨텐츠 제공 장치(400)는 클라우드 서비스 장치(200)를 통해 단말(100)로 웹 페이지를 제공하는 구성을 중심으로 설명하도록 한다.
이하, 본 발명의 실시 예에 따른 단말(100)의 주요 구성 및 동작 방법에 대해 설명하도록 한다.
도 2는 도 1에 도시된 본 발명의 실시 예에 따른 단말의 주요 구성을 도시한 블록도이다.
도 1 및 도 2를 참조하면, 본 발명의 실시 예에 단말(100)은 통신부(110), 입력부(120), 제어부(130), 저장부(140) 및 표시부(150)를 포함하여 구성될 수 있다.
이 중, 상기 통신부(110)는 통신망(400)을 통해 클라우드 서비스 장치(200) 및 컨텐츠 제공 장치(300) 중 하나 이상에 접속하여, 클라우드 스트리밍 서비스와 관련된 데이터를 송수신하기 위한 구성이다. 보다 구체적으로, 통신부(110)는 클라우드 서비스 장치(200)로 웹 페이지를 요청하고, 이에 따라 상기 웹 페이지에 대응하여 캡쳐되어 인코딩된 이미지를 스트리밍 방식으로 상기 클라우드 서비스 장치(200)로부터 수신할 수 있다.
이러한 통신부(110)는 단말(100)이 접속한 통신망(400)의 종류에 대응하여 데이터를 송수신할 수 있도록 다양한 방식의 통신 모듈로 구현될 수 있다. 예를 들어, 통신부(110)는 WCDMA, LTE, LTE-A 등의 이동통신망에 접속하여 데이터를 송수신하기 위한 이동통신 모듈, TCP/IP 기반의 유선 인터넷과 같은 유선 통신망과 접속하여 유선 통신망을 통해서 데이터를 송수신하기 위한 유선 통신 모듈, Wi-Fi 등의 무선 통신 기술을 통해 통신망(400)에 접속하여 데이터를 송수신하기 위한 무선 통신 모듈, 블루투스나 NFC(Near Field Commucation)과 같은 근거리 통신 기술을 통해서 데이터를 송수신하는 근거리 통신 모듈 등 하나 이상의 서로 다른 통신 모듈을 포함할 수 있다. 상기 통신부(110)는 이러한 하나 이상의 통신 모듈을 구비함으로써, 상기 클라우드 서비스 장치(200)와 컨텐츠 제공 장치(300)에 대하여 서로 다른 경로를 통해서 데이터를 송수신할 수 있다.
입력부(120)는 사용자로부터 숫자 및 문자 정보 등의 다양한 정보를 입력 받기 위한 것으로서, 사용자 조작에 따라서 단말(100)에 대한 각종 기능을 설정 및 제어와 관련된 사용자 입력 신호를 생성하여 제어부(130)로 전달한다. 특히, 본 발명의 입력부(120)는 사용자가 클라우드 스트리밍 서비스를 요청할 수 있도록 지원한다.
이러한, 입력부(120)는 키보드나 키패드와 같은 키 입력 수단, 터치센서나 터치 패드와 같은 터치 입력 수단, 자이로 센서, 지자기 센서, 가속도 센서와 근접 센서, 그리고 카메라 중 적어도 하나 이상을 포함하여 이루어지는 제스처 입력 수단 또는 음성 입력 수단 중 하나 이상을 포함하여 구현될 수 있다. 상기 입력부(120)에는 이 외에도 현재 개발 중이거나 향후 개발될 수 있는 모든 형태의 입력 수단이 포함될 수 있다. 이때, 입력부(120)가 터치스크린의 형태로 구성될 경우, 입력 기능과 표시 기능을 동시에 수행할 수 있다.
제어부(130)는 본 발명에 따른 단말(100)의 동작 전반을 제어하기 위한 것으로서, 기본적으로, 상기 단말(100)를 구성하는 각 구성 요소의 전원 공급 및 기능 수행을 위한 제어를 수행한다. 이때 제어부(130)는 운영 체제(OS, Operation System) 및 각 구성을 구동시키는 프로세스 장치, 예컨대, 중앙처리장치(CPU, Central Processing Unit)를 결합으로 구현될 수 있다. 즉, 제어부(130)는 단말(100)의 전원 온 시, OS 프로그램을 로딩하여 실행함으로써, 다양한 응용 프로그램들의 실행을 위한 운영체제를 구축하고, 이를 기반으로 하나 이상의 응용 프로그램을 실행하거나, 구성 요소들의 기능을 제어할 수 있다.
특히, 본 발명에 따른 단말(100)의 제어부(130)는 클라우드 스트리밍 서비스와 관련된 사용자 요청에 대응하여 상기 통신부(110)를 통해서 클라우드 서비스 장치(200) 및 컨텐츠 제공 장치(300) 중 하나 이상에 접속하여 서비스를 요청한다. 예컨대, 제어부(130)는 컨텐츠 제공 장치(400)가 제공하는 웹 페이지를 클라우드 서비스 장치(200)로 요청할 수 있으며, 상기 클라우드 서비스 장치(200)로부터 제공되는 데이터를 디코딩하여 출력하는 과정을 지원할 수 있다. 또한, 별도의 영상 출력 장치(미도시)와 연결된 경우, 상기 영상 출력 장치(미도시)로 디코딩된 데이터를 전달하는 과정을 지원할 수도 있다.
상술한 과정을 수행하기 위해 제어부(130)는 디코딩 모듈(130a)을 포함하여 구성될 수 있다. 더하여, 도면에는 도시하지 않았으나, 스트리밍 데이터 융합을 위한 믹싱 모듈(미도시), 데이터 출력을 위한 렌더링 모듈(미도시) 등을 더 포함하여 구성될 수도 있다.
다음으로, 저장부(140)는 본 발명의 실시 예에 따른 단말(100)의 동작에 필요한 프로그램 및 데이터를 저장한다. 구체적으로, 상기 저장부(140)은 상기 제어부(130)에 의해 로딩되어 실행될 OS 프로그램 및 하나 이상의 응용 프로그램을 저장하고, 아울러, 상기 하나 이상의 응용 프로그램에 의해 생성되거나 이용될 데이터를 더 저장할 수 있다. 이러한, 저장부(140)는 플래시 메모리(flash memory), 하드디스크(hard disk), 멀티미디어 카드 마이크로(multimedia card micro) 타입의 메모리(예컨대, SD 또는 XD 메모리 등), 램(RAM), 롬(ROM) 등의 저장매체를 포함하여 구성될 수 있다.
표시부(150)는 단말(100)의 기능 수행 중에 발생하는 일련의 동작 상태 및 동작 결과 등에 대한 정보를 표시한다. 특히, 본 발명의 표시부(150)는 상기 제어부(130)의 제어에 따라서 두 컨텐츠가 융합된 컨텐츠를 디스플레이할 수 있다. 이러한 표시부(150)는 LCD(Liquid Crystal Display), TFT-LCD(Thin Film Transistor LCD), OLED(Organic Light Emitting Diodes), 발광다이오드(LED), AMOLED(Active Matrix Organic LED), 플렉시블 디스플레이(Flexible display) 및 3차원 디스플레이(3 Dimension) 등으로 구현될 수 있다.
이와 같이, 도 2를 통해 단말(100)의 주요 구성요소에 대해 설명하였다. 그러나 도 2를 통해 도시된 구성요소가 모두 필수 구성요소인 것은 아니며, 도시된 구성요소보다 많은 구성 요소에 의해 단말(100)이 구현될 수도 있고, 그 보다 적은 구성요소에 의해 단말(100)이 구현될 수도 있다. 예컨대, 단말(100)은 전기적인 신호인 음원을 아날로그 신호로 변환하여 출력하는 음원 출력부(미도시)를 더 포함하여 구성될 수 있다. 또한, 외부의 다른 장치와 연결하여 신호를 전달할 수 있는 접속 인터페이스부(미도시)를 더 포함하여 구성될 수 있다. 이때, 접속 인터페이스부(미도시)는 TV, 모니터, 프로젝터와 같은 영상 출력 장치(미도시)와 접속되어 영상 및 음성 신호 및 제어 신호를 입출력할 수 있도록 한다. 이때의 접속 인터페이스부(미도시)는 HDMI(High-Definition Multimedia Interface: 고선명 멀티미디어 인터페이스)를 포함하는 다양한 AV 인터페이스가 될 수 있다.
또한, 접속 인터페이스부(미도시) 또는 표시부(150)는 선택적으로 단말(100)에 구비될 수 있다. 예컨대, 단말(100)이 셋탑박스로 구현되는 경우, 단말(100)은 표시부(150) 대신 접속 인터페이스부(미도시)를 구비할 수 있으며, 스마트폰, 태블릿 PC로 구현되는 경우, 접속 인터페이스부(미도시) 대신 표시부(150)가 구비될 수 있다.
또한, 도 2를 통해 도시된 단말(100)의 주요 구성요소의 위치는 얼마든지 편의상 또는 다른 이유로 바뀔 수 있음이 물론이다.
이하, 본 발명의 실시 예에 따른 클라우드 서비스 장치(200)의 주요 구성 및 동작 방법에 대해 설명하도록 한다.
도 3은 도 1에 도시된 본 발명의 실시 예에 따른 클라우드 서비스 장치의 주요 구성을 도시한 블록도이며, 도 4는 본 발명의 실시 예에 따른 웹 페이지의 소스 파일 구조를 도시한 블록도이다.
먼저, 도 1 및 도 3을 참조하면, 본 발명의 실시 예에 따른 클라우드 서비스 장치(200)는 서비스 통신부(210), 서비스 제어부(220) 및 서비스 저장부(230)를 포함하여 구성될 수 있다.
각 구성 요소에 대해 보다 구체적으로 설명하면, 먼저 서비스 통신부(210)는 하나 이상의 단말(100) 및 컨텐츠 제공 장치(400)와 정보를 송수신할 수 있다. 이를 위해, 서비스 통신부(210)는 단말 통신 모듈(210a) 및 장치 통신 모듈(210b)을 포함하여 구성될 수 있으며, 단말 통신 모듈(210a)은 단말(100)과의 정보의 송수신을 지원하며, 장치 통신 모듈(210b)은 컨텐츠 제공 장치(400)와의 정보의 송수신을 지원한다.
서비스 제어부(220)는 본 발명의 실시 예에 따른 클라우드 서비스 장치(200)의 전반적인 제어를 수행하는 것으로, 서비스 통신부(210)를 통해 단말(100)로부터 컨텐츠 제공 장치(400)가 제공하는 웹 페이지의 요청을 수신한다. 그리고, 서비스 통신부(210)를 통해 컨텐츠 제공 장치(400)로 웹 페이지를 요청할 수 있다. 이에 따라 서비스 통신부(210)를 통해 컨텐츠 제공 장치(400)로부터 웹 페이지가 수신되면, 수신된 웹 페이지에 대한 결과 화면을 캡쳐하여 캡쳐 이미지를 생성하고, 이를 인코딩한 후 단말(100)로 제공하는 과정 전반을 지원하게 된다.
그러나, 상기 웹 페이지가 클라우드 스트리밍 서비스 용으로 정의되지 않은 웹 페이지일 경우, 상기 웹 페이지에 팝업 윈도우 활성화 이벤트 등이 존재하는 경우, 이에 따른 정상적은 클라우드 스트리밍 서비스 제공이 어렵다는 문제점이 있다. 이를 해결하기 위해, 본 발명의 서비스 제어부(220)는 컨텐츠 제공 장치(400)로부터 제공되는 웹 페이지에 기 정의된 클라우드 스트리밍용 스크립트 코드를 삽입하고, 상기 스크립트 코드가 삽입된 웹 페이지를 실행하여, 실행에 따른 결과 화면을 캡쳐하여 캡쳐 이미지를 생성하고, 이를 인코딩하여 상기 서비스 통신부(210)를 통해 단말(100)로 제공하게 된다.
본 발명의 실시 예에 따른 1 페이지의 웹 페이지를 의미하는 것으로, 다수 개의 웹 페이지의 집합을 웹 어플리케이션으로 지칭할 수 있다. 이러한 웹 페이지는 마크업 언어(Markup Language), 스타일시트(Style Sheets), 및 스크립트 언어(scripting language) 등의 웹 코드를 이용하여 구현될 수 있다. 이중 스타일시트 및 스크립트 언어는 선택적으로 생략 가능하다. 또한, 마크업 언어로는 HTML(Hypertext Markup Language), XHTML(extensible Hypertext Markup Language), XML(Extensible Markup Language) 등을 예시할 수 있으며, 이러한 마크업 언어는 다수의 태그(tag)와 각 태그의 속성 (attribute) 및 일반적인 텍스트로 이루어진다. 스타일시트는 사용자가 정의한 디자인 속성, 즉, 스타일을 기술하기 위한 언어로서, 태그, 속성, 및 텍스트에 의해 보여지는 페이지의 글꼴, 크기, 색상, 레이아웃 등의 스타일을 기술한다. 이러한 스타일시트를 사용한 페이지는 다른 화면 해상도를 가지는 표시 장치와 다른 종류의 브라우저에서도 스타일시트에 기술한 바에 따라 동일하게 보여진다. 이 스타일시트는 대표적으로 CSS(Cascading Style Sheets)를 예시할 수 있다. 스크립트 언어는 프로그래밍 언어로서 웹 어플리케이션을 동적으로 제어하기 위한 언어이다. 대표적으로, 자바 스크립트(Java Script)를 예시할 수 있다. 또한 웹 페이지는 리소스 파일을 포함할 수 있다. 리소스 파일은 소스 파일을 기술하는 프로그래밍 언어를 통해 링크 태그를 이용하여 웹 페이지에 삽입될 수 있다. 이러한 리소스 파일은 바람직하게는 컨텐츠 제공 장치(400) 또는 웹 상의 일 디바이스 상에 저장될 수 있으며, 이 리소스 파일에 접근할 수 있는 주소(URL)는 상술한 마크업 언어를 이용하여 기술될 수 있다. 이러한 리소스 파일은 장면 기술(scene description), 비디오(video), 오디오(audio), 이미지(image), 폰트(font), 텍스트(text), 메타데이터(metadata) 및 스크립트(script) 파일 등을 예시할 수 있다. 리소스 파일(120)은 앞서 나열한 것 이외에도 다양한 종류가 존재할 수 있으며, 다양한 형식(format)의 파일이 될 수 있다.
더하여, 웹 페이지의 소스 파일 영역(500)은 도 4에 도시된 바와 같이, 자바 스크립트 코드 영역(501) 및 웹 디자인 코드 영역(502)을 포함하여 구성될 수 있다. 여기서, 상기 자바 스크립트 코드 영역(501) 및 웹 디자인 코드 영역(502)은 뒤섞여 혼재될 수 있으나, 편의 상 이를 구분하도록 하며, 자바 스크립트 코드 영역(501)에 자바 스크립트 함수들을 정의하고, 이를 웹 디자인 코드 영역(502)에서 호출하여 적용하는 방식으로 동적인 요소가 부여된 웹 페이지의 구현이 가능하다.
본 발명의 서비스 제어부(220)는 컨텐츠 제공 장치(20)로부터 제공되는 웹 페이지에서 자바 스크립트 코드 영역을 검색한 후, 검색된 자바 스크립트 코드 영역에 기 정의된 클라우드 스트리밍용 스크립트 코드가 삽입되어 있는 지 여부를 판단하여, 삽입되어 있지 않을 경우, 스크립트 코드가 삽입될 위치를 확인한 후 확인된 위치에 스크립트 코드를 삽입하게 된다.
그리고, 서비스 제어부(220)는 상기 웹 페이지를 캡쳐하여 캡쳐 이미지 생성 시, 상기 웹 페이지에 삽입된 스크립트 코드를 실행하고, 스크립트 코드가 실행됨에 따라 웹 페이지에서의 지정된 메시지가 메인 윈도우에서 표시되도록 웹 페이지에서의 지정된 객체를 재정의한 후, 웹 페이지를 캡쳐하여 캡쳐 이미지를 생성하게 된다.
이때, 지정된 메시지는 경고(alert) 메시지, 확인(confirm) 메시지, 입력(prompt) 메시지 중 적어도 하나 이상의 메시지일 수 있다. 또한, 서비스 제어부(220)는 상기 웹 페이지에서의 지정된 객체, 예컨대 윈도우(window) 객체의 오픈(open) 메소드 속성 정보 또는 이동 태그(HTML <a> 태그) 객체의 속성 정보를 셀프(self)로 재정의한 후, 웹 페이지를 캡쳐하여 캡쳐 이미지를 생성할 수 있다.
아울러, 본 발명의 실시 예에 따른 서비스 제어부(220)는 스크립트 처리 모듈(220a) 및 인코딩 모듈(220b)을 포함하여 구성될 수 있다. 스크립트 처리 모듈(220a)은 상술한 바와 같은 컨텐츠 제공 장치(200)로부터 제공되는 웹 페이지에 기 정의된 클라우드 스트리밍용 스크립트 코드를 삽입하는 역할을 수행할 수 있다.
그리고, 인코딩 모듈(220b)은 상기 스크립트 코드가 삽입되어 실행된 상기 웹 페이지의 실행 화면을 캡쳐하여 캡쳐 이미지를 생성하고, 이를 인코딩한 후, 서비스 통신부(210)를 통해 단말(100)로 제공하는 과정 전반을 제어할 수 있다. 이때, 다수의 웹 페이지는 스트리밍 방식으로 단말(100)로 제공될 수 있다.
서비스 저장부(230)는 클라우드 서비스 장치(200)의 기능 실행에 따른 모든 프로그램을 저장한다. 특히, 본 발명에 따른 서비스 저장부(230)는 단말(100)로 서비스 제공에 따른 다양한 정보를 저장하게 된다. 예컨대, 서비스 저장부(230)는 기 정의된 클라우드 스트리밍용 스크립트 코드(230a)를 저장하고 관리할 수 있다.
이러한, 본 발명의 서비스 저장부(230)는 클라우드 서비스 장치(20) 내 위치하는 저장소일 수 있고, 클라우드 서비스 장치(200) 외부에 위치하여 클라우드 서비스 장치(200)와 데이터 송수신이 가능한 데이터 저장 서버가 될 수도 있다.
이상으로 본 발명의 실시 예에 따른 클라우드 서비스 장치(200)의 주요 구성 및 동작 방법에 대해 설명하였다.
본 발명의 실시 예에 따른 클라우드 서비스 장치(200)는 하드웨어적으로는 통상적인 웹서버(Web Server) 또는 네트워크 서버와 동일한 구성을 하고 있다. 그러나, 소프트웨어적으로는 C, C++, Java, Visual Basic, Visual C 등과 같은 언어를 통하여 구현되는 프로그램 모듈(Module)을 포함한다.
클라우드 서비스 장치(200)는 전술한 바와 같이 웹서버 또는 네트워크 서버의 형태로 구현될 수 있으며, 웹서버는 일반적으로 인터넷과 같은 개방형 컴퓨터 네트워크를 통하여 불특정 다수 클라이언트 및/또는 다른 서버와 연결되어 있고, 클라이언트 또는 다른 웹서버의 작업수행 요청을 접수하고 그에 대한 작업 결과를 도출하여 제공하는 컴퓨터 시스템 및 그를 위하여 설치되어 있는 컴퓨터 소프트웨어(웹서버 프로그램)를 뜻하는 것이다. 그러나, 전술한 웹서버 프로그램 이외에도, 웹서버 상에서 동작하는 일련의 응용 프로그램(Application Program)과 경우에 따라서는 내부에 구축되어 있는 각종 데이터베이스를 포함하는 넓은 개념으로 이해되어야 할 것이다. 이러한 클라우드 서비스 장치(200)는 일반적인 서버용 하드웨어에 도스(DOS), 윈도우(Windows), 리눅스(Linux), 유닉스(UNIX), 매킨토시(Macintosh) 등의 운영체제에 따라 다양하게 제공되고 있는 웹서버 프로그램을 이용하여 구현될 수 있으며, 대표적인 것으로는 윈도우 환경에서 사용되는 웹사이트(Website), IIS(Internet Information Server)와 유닉스환경에서 사용되는 CERN, NCSA, APPACH 등이 이용될 수 있다. 또한, 클라우드 서비스 장치(200)는 서비스 가입 정보를 분류하여 회원 데이터베이스(Database)에 저장시키고 관리할 수 있으며, 이러한 데이터베이스는 클라우드 서비스 장치(200)의 내부 또는 외부에 구현될 수 있다.
또한, 본 발명의 실시 예에 따른 클라우드 서비스 장치(200)는 하나의 슈퍼 컴퓨터 또는 여러 대의 컴퓨터가 하나의 컴퓨터처럼 작동하도록 연결된 동일한 하드웨어 플랫폼상에서 복수의 사용자에게 독립적인 가상 머신(Virtual Machine:VM)을 제공하는 분산 컴퓨팅 시스템의 형태로 구현될 수 있다.
한편, 단말(100) 또는 클라우드 서비스 장치(200)에 탑재되는 메모리는 그 장치 내에서 정보를 저장한다. 일 구현예의 경우, 메모리는 컴퓨터로 판독 가능한 매체이다. 일 구현 예에서, 메모리는 휘발성 메모리 유닛 일 수 있으며, 다른 구현예의 경우, 메모리는 비휘발성 메모리 유닛 일 수도 있다. 일 구현예의 경우, 저장장치는 컴퓨터로 판독 가능한 매체이다. 다양한 서로 다른 구현 예에서, 저장장치는 예컨대 하드디스크 장치, 광학디스크 장치, 혹은 어떤 다른 대용량 저장장치를 포함할 수도 있다.
아울러, 본 발명의 실시 예에서 사용되는 '~모듈'이라는 용어는 소프트웨어 구성요소를 의미하며, '~모듈'은 어떤 역할들을 수행한다. 일 예로서 '~모듈'은 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들, 및 변수들을 포함한다. 또한, 구성요소들과 '~모듈'들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 '~모듈'들로 결합되거나 추가적인 구성요소들과 '~모듈'들로 더 분리될 수 있다.
비록 본 명세서와 도면에서는 예시적인 장치 구성을 기술하고 있지만, 본 명세서에서 설명하는 기능적인 동작과 주제의 구현물들은 다른 유형의 디지털 전자 회로로 구현되거나, 본 명세서에서 개시하는 구조 및 그 구조적인 등가물들을 포함하는 컴퓨터 소프트웨어, 펌웨어 혹은 하드웨어로 구현되거나, 이들 중 하나 이상의 결합으로 구현 가능하다. 본 명세서에서 설명하는 주제의 구현물들은 하나 이상의 컴퓨터 프로그램 제품, 다시 말해 본 발명에 따른 장치의 동작을 제어하기 위하여 혹은 이것에 의한 실행을 위하여 유형의 프로그램 저장매체 상에 인코딩된 컴퓨터 프로그램 명령에 관한 하나 이상의 모듈로서 구현될 수 있다. 컴퓨터로 판독 가능한 매체는 기계로 판독 가능한 저장 장치, 기계로 판독 가능한 저장 기판, 메모리 장치, 기계로 판독 가능한 전파형 신호에 영향을 미치는 물질의 조성물 혹은 이들 중 하나 이상의 조합일 수 있다.
이하, 본 발명의 실시 예에 따른 클라우드 스트리밍 서비스 제공 방법에 대해 설명하도록 한다.
도 5는 본 발명의 실시 예에 따른 클라우드 스트리밍 서비스 제공 방법을 설명하기 위한 흐름도이다.
도 1 및 도 5를 참조하면, 본 발명의 실시 예에 따른 클라우드 스트리밍 서비스 제공 방법은 먼저, 클라우드 서비스 장치(200)가 단말(100)로부터 컨텐츠 제공 장치(400)가 제공하는 웹 페이지의 요청을 수신한다(S101).
그리고, 제공되는 웹 페이지에 기 정의된 클라우드 스트리밍용 스크립트 코드를 삽입한다(S103).
이후, 클라우드 서비스 장치(200)는 상기 스크립트 코드가 삽입된 웹 페이지를 실행하여 로딩을 완료하고, 웹 페이지의 실행 화면을 캡쳐하여 캡쳐 이미지를 생성한 후, 생성된 캡쳐 이미지를 인코딩하여(S105), 단말(100)로 제공되는 과정을 수행하게 된다(S107).
이하, 본 발명의 실시 예에 따른 클라우드 스트리밍 서비스 제공 방법에 대해 보다 더 구체적으로 설명하도록 한다.
도 6은 본 발명의 실시 예에 따른 클라우드 스트리밍 서비스 제공 방법을 보다 더 구체적으로 설명하기 위한 데이터 흐름도이며, 도 7은 본 발명의 실시 예에 따른 클라우드 스트리밍 서비스 제공 방법을 지원하는 코드 예를 도시한 것이며, 도 8은 본 발명의 실시 예에 따른 클라우드 스트리밍용 스크립트 코드의 예를 도시한 것이다.
먼저, 도 6을 참조하면, 본 발명의 실시 예에 따른 클라우드 스트리밍 서비스 제공 방법은 먼저, 단말(100)이 클라우드 서비스 장치(200)로 컨텐츠 제공 장치(400)가 제공하는 웹 페이지의 제공을 요청하게 된다(S201).
본 발명의 실시 예에서는 상기 과정이, 클라우드 서비스 장치(200)를 연동하여 이뤄지는 것을 예로 들어 설명하나, 이에 한정되는 것은 아니며, 클라우드 서비스 장치(200)와 컨텐츠 제공 장치(400)가 미리 협약된 상태에서, 컨텐츠 제공 장치(400)로 제공되는 단말(100)의 요청을 클라우드 서비스 장치(200)가 모니터링하여 검출하여 이뤄질 수도 있다.
이후, 클라우드 서비스 장치(200)는 컨텐츠 제공 장치(400)로 해당 웹 페이지를 요청하고(S203), 이를 수신한 수 있다(S205).
여기서, 클라우드 서비스 장치(200)가 컨텐츠 제공 장치(400)로부터 웹 페이지를 수신 받는 과정은 로딩 과정을 의미하며, 웹 페이지가 로딩되는 동안, 클라우드 서비스 장치(200)는 상기 웹 페이지에서 자바 스크립트 코드 영역을 검색하고(S207), 상기 영역에 기 정의된 클라우드 스트리밍용 스크립트 코드가 삽입되어 있는 지 여부를 판단하고(S207), 삽입되지 않은 것으로 판단되면(S211), 스크립트 코드 삽입 위치를 확인하여 기 정의된 클라우드 스트리밍용 스크립트 코드를 삽입하게 된다(S215).
이후에, 클라우드 서비스 장치(200)는 삽입된 스크립트 코드를 실행한다(S219).
상술한 과정 또한, 코드 형태로 컨텐츠 제공 장치(400)로부터 제공되는 웹 페이지에 삽입될 수 있다. 상술한 스크립트 코드가 삽입되어 있는 지 체크하는 과정, 스크립트 코드 삽입 위치를 확인하는 과정, 스크립트 코드를 실행하는 과정에 대한 코드 예는 도 7에 도시되어 있다.
또한, 도 8에 도시된 코드 예는 기 정의된 클라우드 스트리밍용 스크립트 코드를 의미한다. 이러한, 스크립트 코드가 웹 페이지에 삽입되어 실행되면, 웹 페이지는 로딩과 동시에 지정된 메시지가 메인 윈도우에서 표시되도록 지정된 객체를 재정의하는 과정을 수행할 수 있다(S219).
여기서, 지정된 메시지는 경고(alert) 메시지, 확인(confirm) 메시지, 입력(prompt) 메시지 중 어느 하나가 될 수 있으며, 이러한 지정된 메시지에 따라 발생되는 팝업 윈도우가 활성화되지 않고, 메인 윈도우 상에서 표시되도록 지정된 객체, 예컨대 도 8에 도시된 바와 같이, 윈도우(window) 객체의 오픈(open) 메소드가 'self'로 재정의되도록 제어하거나, HTML의 <a> 태그의 속성이 'self'로 재정의되도록 제어하게 된다.
그리고, 로딩이 완료되면, 클라우드 서비스 장치(200)는 웹 페이지의 실행 화면을 캡쳐하여 캡쳐 이미지를 생성한 후 이를 인코딩하고(S221), 인코딩된 웹 페이지를 단말(100)로 전송한다(S223).
그리고, 단말(100)은 이를 디코딩하여 출력할 수 있으며, 해당 웹 페이지에서 지정된 메시지 활성화 이벤트가 발생되면(S225), 다시 말해, 경고 메시지 팝업 창 활성화가 설정된 버튼의 입력 이벤트가 발생되면, 이를 클라우드 서비스 장치(200)로 전송하고, 클라우드 서비스 장치(200는 상기 입력 이벤트에 대한 처리 결과가 메인 윈도우에서 표시되도록, 다시 말해 경고 메시지 팝업 창이 팝업 창 형태가 아닌 메인 윈도우에서 표시되도록 처리한 후(S229), 처리 결과에 대한 화면을 캡쳐하여 캡쳐 이미지를 생성하고, 이를 인코딩하여(S231), 단말(100)로 제공하며(S233), 단말(100)은 제공된 웹 페이지를 출력하게 된다(S235).
상술한 과정은 실시간으로 이뤄질 수 있으며, 클라우드 서비스 장치(200)가 단말(100)로 제공하는 인코딩된 웹 페이지는 실시간, 즉 스트리밍 방식으로 제공될 수 있다.
이상으로 본 발명의 실시 예에 따른 클라우드 스트리밍 서비스 제공 방법에 대해 설명하였다.
상술한 바와 같은 본 발명의 클라우드 스트리밍 서비스 제공 방법은 컴퓨터 프로그램 명령어와 데이터를 저장하기에 적합한 컴퓨터로 판독 가능한 매체의 형태로 제공될 수도 있다. 이때, 컴퓨터 프로그램 명령어와 데이터를 저장하기에 적합한 컴퓨터로 판독 가능한 매체는, 예컨대 기록매체는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(Magnetic Media), CD-ROM(Compact Disk Read Only Memory), DVD(Digital Video Disk)와 같은 광 기록 매체(Optical Media), 플롭티컬 디스크(Floptical Disk)와 같은 자기-광 매체(Magneto-Optical Media), 및 롬(ROM, Read Only Memory), 램(RAM, Random Access Memory), 플래시 메모리, EPROM(Erasable Programmable ROM), EEPROM(Electrically Erasable Programmable ROM)과 같은 반도체 메모리를 포함한다. 프로세서와 메모리는 특수 목적의 논리 회로에 의해 보충되거나, 그것에 통합될 수 있다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함할 수 있다. 이러한 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
본 명세서는 다수의 특정한 구현물의 세부사항들을 포함하지만, 이들은 어떠한 발명이나 청구 가능한 것의 범위에 대해서도 제한적인 것으로서 이해되어서는 안되며, 오히려 특정한 발명의 특정한 실시형태에 특유할 수 있는 특징들에 대한 설명으로서 이해되어야 한다. 개별적인 실시형태의 문맥에서 본 명세서에 기술된 특정한 특징들은 단일 실시형태에서 조합하여 구현될 수도 있다. 반대로, 단일 실시형태의 문맥에서 기술한 다양한 특징들 역시 개별적으로 혹은 어떠한 적절한 하위 조합으로도 복수의 실시형태에서 구현 가능하다. 나아가, 특징들이 특정한 조합으로 동작하고 초기에 그와 같이 청구된 바와 같이 묘사될 수 있지만, 청구된 조합으로부터의 하나 이상의 특징들은 일부 경우에 그 조합으로부터 배제될 수 있으며, 그 청구된 조합은 하위 조합이나 하위 조합의 변형물로 변경될 수 있다.
마찬가지로, 특정한 순서로 도면에서 동작들을 묘사하고 있지만, 이는 바람직한 결과를 얻기 위하여 도시된 그 특정한 순서나 순차적인 순서대로 그러한 동작들을 수행하여야 한다거나 모든 도시된 동작들이 수행되어야 하는 것으로 이해되어서는 안 된다. 특정한 경우, 멀티태스킹과 병렬 프로세싱이 유리할 수 있다. 또한, 상술한 실시형태의 다양한 시스템 컴포넌트의 분리는 그러한 분리를 모든 실시형태에서 요구하는 것으로 이해되어서는 안되며, 설명한 프로그램 컴포넌트와 시스템들은 일반적으로 단일의 소프트웨어 제품으로 함께 통합되거나 다중 소프트웨어 제품에 패키징 될 수 있다는 점을 이해하여야 한다.
본 발명은 클라우드 스트리밍 서비스 제공 방법, 이를 위한 장치 및 시스템, 그리고 이를 위한 클라우드 스트리밍용 스크립트 코드를 기록한 컴퓨터 판독 가능한 기록매체에 관한 것으로서, 웹 페이지 로딩 시 기 정의된 클라우드 스트리밍용 스크립트 코드를 삽입하여 로딩함으로써, 상기 웹 페이지가 클라우드 스트리밍 서비스 제공이 가능하도록 처리할 수 있는 클라우드 스트리밍 서비스 제공 방법, 이를 위한 장치 및 시스템, 그리고 이를 위한 클라우드 스트리밍용 스크립트 코드를 기록한 컴퓨터 판독 가능한 기록매체에 관한 것이다.
본 발명에 의하면, 웹 페이지 로딩 시 상기 웹 페이지에 기 정의된 클라우드 스트리밍용 스크립트 코드를 삽입하여 로딩함으로써, 브라우저 엔진 내부에 대한 별다른 수정 없이, 클라우드 스트리밍 서비스 제공이 불가능한 팝업 창 이벤트 등을 용이하게 처리할 수 있게 된다.
더불어, 본 발명은 시판 또는 영업의 가능성이 충분할 뿐만 아니라 현실적으로 명백하게 실시할 수 있는 정도이므로 산업상 이용가능성이 있다.
100: 단말 110: 통신부
120: 입력부 130: 제어부
130a: 디코딩 모듈 140: 저장부
150: 표시부 200: 클라우드 서비스 장치
210: 서비스 통신부 210a: 단말 통신 모듈
210b: 장치 통신 모듈 220: 서비스 제어부
220a: 스크립트 처리 모듈 220b: 인코딩 모듈
230: 서비스 저장부 230a: 스크립트 코드
300: 통신망 400: 컨텐츠 제공 장치

Claims (15)

  1. 하나 이상의 단말 및 웹 페이지를 제공하는 컨텐츠 제공 장치와 정보를 송수신하는 서비스 통신부;
    기 정의된 클라우드 스트리밍용 스크립트 코드를 저장하는 서비스 저장부; 및
    단말로부터 컨텐츠 제공 장치가 제공하는 웹 페이지의 요청이 상기 서비스 통신부를 통해 수신됨에 따라, 상기 컨텐츠 제공 장치로부터 제공되는 웹 페이지에 상기 서비스 저장부에 기 정의된 클라우드 스트리밍용 스크립트 코드를 삽입하고, 상기 스크립트 코드가 삽입된 상기 웹 페이지를 캡쳐하여 캡쳐 이미지를 생성한 후, 상기 캡쳐 이미지를 인코딩하여 상기 서비스 통신부가 상기 단말로 제공되도록 제어하는 서비스 제어부; 를 포함하고,
    상기 서비스 제어부는,
    상기 스크립트 코드가 삽입된 웹 페이지를 캡쳐하여 캡쳐 이미지 생성 시, 상기 웹 페이지에 삽입된 스크립트 코드를 실행하고, 상기 스크립트 코드가 실행됨에 따라 상기 웹 페이지에서의 지정된 메시지가 메인 윈도우에서 표시되도록 상기 웹 페이지에서의 지정된 객체를 재정의 한 후 상기 웹페이지를 캡쳐하여 캡쳐 이미지를 생성하고,
    상기 스크립트 코드가 실행됨에 따라 상기 웹 페이지에서의 윈도우 객체의 오픈 메소드 정보 또는 이동 태그 객체의 속성 정보를 셀프(self)로 재정의 하는 것을 특징으로 하는 클라우드 서비스 장치.
  2. 제1 항에 있어서,
    상기 서비스 제어부는
    상기 웹 페이지에서의 자바 스크립트 코드 영역을 검색한 후, 상기 검색된 자바 스크립트 코드 영역에 기 정의된 클라우드 스트리밍용 스크립트 코드가 삽입되어 있는 지 여부를 판단하여 삽입되어 있지 않을 경우, 상기 스크립트 코드가 삽입될 위치를 확인한 후, 상기 확인된 위치에 상기 스크립트 코드를 삽입하는 것을 특징으로 하는 클라우드 서비스 장치.
  3. 삭제
  4. ◈청구항 4은(는) 설정등록료 납부시 포기되었습니다.◈
    제1 항에 있어서,
    상기 지정된 메시지는
    경고(alert) 메시지, 확인(confirm) 메시지, 입력(prompt) 메시지 중 적어도 하나 이상의 메시지인 것을 특징으로 하는 클라우드 서비스 장치.
  5. 삭제
  6. 제1 항에 있어서,
    상기 서비스 제어부는
    상기 웹 페이지에서의 지정된 메시지가 상기 메인 윈도우 내에서의 해당 위치에 삽입 포함되도록 상기 웹 페이지에서의 지정된 객체를 재정의하는 것을 특징으로 하는 클라우드 서비스 장치.
  7. 단말로부터 컨텐츠 제공 장치가 제공하는 웹 페이지의 요청이 수신됨에 따라, 상기 컨텐츠 제공 장치로부터 제공되는 웹 페이지에 기 정의된 클라우드 스트리밍용 스크립트 코드를 삽입하고, 상기 스크립트 코드가 삽입된 상기 웹 페이지를 캡쳐하여 캡쳐 이미지를 생성하여 인코딩한 후, 상기 단말로 제공되도록 제어하는 클라우드 서비스 장치; 및
    상기 클라우드 서비스 장치로 컨텐츠 제공 장치가 제공하는 웹 페이지를 요청하고, 이에 대한 응답으로 상기 클라우드 서비스 장치로부터 상기 인코딩된 웹 페이지를 수신하는 단말; 을 포함하고,
    상기 서비스 장치는,
    상기 스크립트 코드가 삽입된 웹 페이지를 캡쳐하여 캡쳐 이미지 생성 시, 상기 웹 페이지에 삽입된 스크립트 코드를 실행하고, 상기 스크립트 코드가 실행됨에 따라 상기 웹 페이지에서의 지정된 메시지가 메인 윈도우에서 표시되도록 상기 웹 페이지에서의 지정된 객체를 재정의 한 후 상기 웹페이지를 캡쳐하여 캡쳐 이미지를 생성하고,
    상기 스크립트 코드가 실행됨에 따라 상기 웹 페이지에서의 윈도우 객체의 오픈 메소드 정보 또는 이동 태그 객체의 속성 정보를 셀프(self)로 재정의 하는 것을 특징으로 하는 클라우드 시스템.
  8. 클라우드 서비스 장치가 단말로부터 컨텐츠 제공 장치가 제공하는 웹 페이지의 요청을 수신하는 단계;
    상기 클라우드 서비스 장치가 상기 컨텐츠 제공 장치로부터 제공되는 웹 페이지에 기 정의된 클라우드 스트리밍용 스크립트 코드를 삽입하는 단계;
    상기 클라우드 서비스 장치가 상기 스크립트 코드가 삽입된 상기 웹 페이지를 캡쳐하여 캡쳐 이미지를 생성하는 단계; 및
    상기 클라우드 서비스 장치가 상기 캡쳐 이미지를 인코딩하여 상기 단말로 제공하는 단계; 를 포함하고,
    상기 캡쳐 이미지를 생성하는 단계는
    상기 클라우드 서비스 장치가 상기 웹 페이지에 삽입된 스크립트 코드를 실행하는 단계;
    상기 클라우드 서비스 장치가 상기 웹 페이지에서의 지정된 메시지가 메인 윈도우에서 표시되도록 상기 웹 페이지에서의 지정된 객체를 재정의 하는 단계;
    상기 클라우드 서비스 장치가 상기 재정의된 웹 페이지의 실행에 따른 결과 화면을 캡쳐하여 캡쳐 이미지를 생성하는 단계; 를 포함하고,
    상기 재정의 하는 단계는
    상기 클라우드 서비스 장치가 상기 웹 페이지에서의 윈도우 객체의 오픈 매소드 속성 정보 또는 이동 태그 객체의 속성 정보를 셀프(self)로 재정의 하는 것을 특징으로 하는 클라우드 스트리밍 서비스 제공 방법.
  9. ◈청구항 9은(는) 설정등록료 납부시 포기되었습니다.◈
    제8 항에 있어서,
    상기 웹 페이지의 요청을 수신하는 단계 이후에,
    상기 클라우드 서비스 장치가 상기 컨텐츠 제공 장치에 접속하여, 해당 웹 페이지를 수신하는 단계;
    를 더 포함하는 것을 특징으로 하는 클라우드 스트리밍 서비스 제공 방법.
  10. ◈청구항 10은(는) 설정등록료 납부시 포기되었습니다.◈
    제8 항에 있어서,
    상기 스크립트 코드를 삽입하는 단계는
    상기 클라우드 서비스 장치가 상기 웹 페이지에서의 자바 스크립트 코드 영역을 검색하는 단계;
    상기 클라우드 서비스 장치가 상기 자바 스크립트 코드 영역에 기 정의된 클라우드 스트리밍용 스크립트 코드가 삽입되어 있는지 여부를 판단하는 단계;
    삽입되어 있지 않을 경우, 상기 클라우드 서비스 장치가 상기 자바 스크립트 코드 영역에서 상기 스크립트 코드가 삽입될 위치를 확인하는 단계; 및
    상기 클라우드 서비스 장치가 상기 확인된 위치에 상기 스크립트 코드를 삽입하는 단계;
    를 포함하는 것을 특징으로 하는 클라우드 스트리밍 서비스 제공 방법.
  11. 삭제
  12. 삭제
  13. ◈청구항 13은(는) 설정등록료 납부시 포기되었습니다.◈
    제8 항에 있어서,
    상기 단말로 제공하는 단계 이후에,
    상기 클라우드 서비스 장치가 상기 단말로부터 상기 지정된 메시지에 대한 활성화 이벤트가 수신되면, 상기 재정의된 객체에 따라 상기 지정된 메시지를 메인 윈도우에서 표시한 후 상기 표시에 따른 결과 화면을 캡쳐하여 캡쳐 이미지를 생성하고, 상기 캡쳐 이미지를 인코딩하여 상기 단말로 제공하는 것을 특징으로 하는 클라우드 스트리밍 서비스 제공 방법.
  14. ◈청구항 14은(는) 설정등록료 납부시 포기되었습니다.◈
    제8 항 내지 제10 항, 제13 항 중 어느 하나의 항에 기재된 클라우드 스트리밍 서비스 제공 방법을 실행하는 프로그램을 기록한 컴퓨터 판독 가능한 기록매체.
  15. 삭제
KR1020140077925A 2014-06-25 2014-06-25 클라우드 스트리밍 서비스 제공 방법, 이를 위한 장치 및 시스템, 그리고 이를 위한 클라우드 스트리밍용 스크립트 코드를 기록한 컴퓨터 판독 가능한 기록매체 KR102086731B1 (ko)

Priority Applications (6)

Application Number Priority Date Filing Date Title
KR1020140077925A KR102086731B1 (ko) 2014-06-25 2014-06-25 클라우드 스트리밍 서비스 제공 방법, 이를 위한 장치 및 시스템, 그리고 이를 위한 클라우드 스트리밍용 스크립트 코드를 기록한 컴퓨터 판독 가능한 기록매체
PCT/KR2014/011749 WO2015199293A1 (ko) 2014-06-25 2014-12-03 클라우드 스트리밍 서비스 제공 방법, 이를 위한 장치 및 시스템, 그리고 이를 위한 클라우드 스트리밍용 스크립트 코드를 기록한 컴퓨터 판독 가능한 기록매체
EP14895905.9A EP3163531B1 (en) 2014-06-25 2014-12-03 Method for providing cloud streaming service, device and system for same, and computer-readable recording medium having, recorded thereon, cloud streaming script code for same
JP2016570814A JP6445050B2 (ja) 2014-06-25 2014-12-03 クラウドストリーミングサービス提供方法、そのための装置及びシステム、並びにそのためのクラウドストリーミング用スクリプトコードを記録したコンピュータ読み取り可能な記録媒体
US15/314,090 US10171542B2 (en) 2014-06-25 2014-12-03 Method for providing cloud streaming service, device and system for same, and computer-readable recording medium having, recorded thereon, cloud streaming script code for same
CN201480080199.1A CN106462911B (zh) 2014-06-25 2014-12-03 提供云流服务的方法及其装置和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140077925A KR102086731B1 (ko) 2014-06-25 2014-06-25 클라우드 스트리밍 서비스 제공 방법, 이를 위한 장치 및 시스템, 그리고 이를 위한 클라우드 스트리밍용 스크립트 코드를 기록한 컴퓨터 판독 가능한 기록매체

Publications (2)

Publication Number Publication Date
KR20160000912A KR20160000912A (ko) 2016-01-06
KR102086731B1 true KR102086731B1 (ko) 2020-04-14

Family

ID=54938358

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140077925A KR102086731B1 (ko) 2014-06-25 2014-06-25 클라우드 스트리밍 서비스 제공 방법, 이를 위한 장치 및 시스템, 그리고 이를 위한 클라우드 스트리밍용 스크립트 코드를 기록한 컴퓨터 판독 가능한 기록매체

Country Status (6)

Country Link
US (1) US10171542B2 (ko)
EP (1) EP3163531B1 (ko)
JP (1) JP6445050B2 (ko)
KR (1) KR102086731B1 (ko)
CN (1) CN106462911B (ko)
WO (1) WO2015199293A1 (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6468293B2 (ja) * 2015-01-22 2019-02-13 富士通株式会社 アプリケーション機能拡張方法、アプリケーション機能拡張プログラム、及びアプリケーション機能拡張装置
JP7387596B2 (ja) * 2017-07-20 2023-11-28 ラーバ アイディー プロプライアタリー リミティド 安全タグ
CN112769877A (zh) * 2019-10-21 2021-05-07 比亚迪股份有限公司 团雾预警方法、云端服务器及车辆和介质
CN113703889A (zh) * 2021-08-10 2021-11-26 上海原圈网络科技有限公司 一种第三方平台显示页面停留功能扩展方法和装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130013671A1 (en) 2011-07-08 2013-01-10 Rohan Relan System and method for providing interactive content to non-native application environments
US20140019534A1 (en) 2012-07-10 2014-01-16 Cwmn, Llc Systems and methods for enabling internet co-browsing

Family Cites Families (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07191854A (ja) * 1993-12-27 1995-07-28 Canon Inc 複合周辺装置
US7281199B1 (en) * 1999-04-14 2007-10-09 Verizon Corporate Services Group Inc. Methods and systems for selection of multimedia presentations
US6895557B1 (en) * 1999-07-21 2005-05-17 Ipix Corporation Web-based media submission tool
JP2003281093A (ja) * 2002-03-26 2003-10-03 Rikogaku Shinkokai ブラウザにおけるリンク先情報の閲覧方法及び装置
US20150135214A1 (en) * 2002-05-10 2015-05-14 Convergent Media Solutions Llc Method and apparatus for browsing using alternative linkbases
US7269792B2 (en) * 2003-04-24 2007-09-11 International Business Machines Corporation System and method for generating high-function browser widgets with full addressability
US20060075088A1 (en) * 2004-09-24 2006-04-06 Ming Guo Method and System for Building a Client-Side Stateful Web Application
US8156176B2 (en) * 2005-04-20 2012-04-10 Say Media, Inc. Browser based multi-clip video editing
US20070180147A1 (en) * 2006-02-01 2007-08-02 Connect It, Llc System for insertion of advertising content in user-requested internet web pages
US7941525B1 (en) * 2006-04-01 2011-05-10 ClickTale, Ltd. Method and system for monitoring an activity of a user
US8260845B1 (en) * 2007-11-21 2012-09-04 Appcelerator, Inc. System and method for auto-generating JavaScript proxies and meta-proxies
US20090157727A1 (en) * 2007-12-18 2009-06-18 Nokia Corporation Method, Apparatus and Computer Program Product for Providing Native Broadcast Support for Hypermedia Formats and/or Widgets
US8635701B2 (en) * 2008-03-02 2014-01-21 Yahoo! Inc. Secure browser-based applications
KR100930631B1 (ko) * 2008-03-24 2009-12-09 강민수 유무선 네트워크를 통하여 디지털 발행물 서비스를 수행하는 디지털 발행물 서비스 시스템의 정보 처리 방법
US8506402B2 (en) * 2009-06-01 2013-08-13 Sony Computer Entertainment America Llc Game execution environments
US8812959B2 (en) * 2009-06-30 2014-08-19 International Business Machines Corporation Method and system for delivering digital content
US9058489B2 (en) * 2010-01-25 2015-06-16 Samsung Electronics Co., Ltd. Marking documents with executable text for processing by computing systems
JP5413357B2 (ja) * 2010-11-30 2014-02-12 カシオ計算機株式会社 サーバ装置、シンクライアントシステムおよびプログラム
KR20120072113A (ko) * 2010-12-23 2012-07-03 주식회사 케이티 클라우드 서비스 기반의 pc를 이용하여 메시지 서비스를 제공하는 시스템 및 방법
US9146909B2 (en) * 2011-07-27 2015-09-29 Qualcomm Incorporated Web browsing enhanced by cloud computing
KR20130026609A (ko) 2011-08-18 2013-03-14 (주)필링크 멀티미디어 클라우드 시스템의 클라이언트에서 멀티미디어 클라우드 서비스 제공 장치 및 방법, 그리고 멀티미디어 클라우드 시스템의 소셜 네트워크 서비스 서버에서 멀티미디어 클라우드 서비스 제공 방법
WO2013035089A2 (en) * 2011-09-08 2013-03-14 Double Verify Inc. System and method for enhanced interaction between an iframe or a web page and an embedded iframe from a different domain
US9270718B2 (en) * 2011-11-25 2016-02-23 Harry E Emerson, III Internet streaming and the presentation of dynamic content
KR101467430B1 (ko) * 2011-12-12 2014-12-01 주식회사 케이티 클라우드 컴퓨팅 기반 어플리케이션 제공 방법 및 시스템
US8972568B2 (en) * 2012-02-21 2015-03-03 Telefonaktiebolaget L M Ericsson (Publ) Quantifying user quality of experience by passive monitoring
KR20140000373A (ko) * 2012-06-22 2014-01-03 에스코어 주식회사 컴파일된 자바스크립트 코드를 이용한 웹 페이지 표시 방법 및 장치
US9854280B2 (en) * 2012-07-10 2017-12-26 Time Warner Cable Enterprises Llc Apparatus and methods for selective enforcement of secondary content viewing
CN108629041A (zh) * 2012-07-19 2018-10-09 格兰斯电讯网络有限公司 协同浏览与其他形式的信息共享的集成
KR102038962B1 (ko) * 2012-08-13 2019-10-31 삼성전자주식회사 클라우드 서버를 이용하여 단말 장치에서 웹 인텐트 메시지 및 이벤트를 처리하는 방법 및 장치
US20140072223A1 (en) * 2012-09-13 2014-03-13 Koepics, Sl Embedding Media Content Within Image Files And Presenting Embedded Media In Conjunction With An Associated Image
US9411782B2 (en) * 2012-11-09 2016-08-09 Adobe Systems Incorporated Real time web development testing and reporting system
US9549024B2 (en) * 2012-12-07 2017-01-17 Remote Media, Llc Routing and synchronization system, method, and manager
KR101430928B1 (ko) * 2012-12-12 2014-08-18 에스케이플래닛 주식회사 클라우드 스트리밍 기반의 데이터 이동 방법, 시스템, 클라이언트 단말기 및 서비스장치
KR20140076073A (ko) * 2012-12-12 2014-06-20 에스케이플래닛 주식회사 클라우드 서비스 제공 방법, 이를 위한 시스템 및 장치
KR102292193B1 (ko) * 2013-02-28 2021-08-23 엘지전자 주식회사 멀티미디어 커머스 서비스 처리 장치 및 방법
US9081473B2 (en) * 2013-03-14 2015-07-14 Google Inc. Indicating an object at a remote location
WO2014152865A1 (en) * 2013-03-14 2014-09-25 Citta LLC System and method of content stream utilization
KR20140117122A (ko) * 2013-03-26 2014-10-07 삼성전자주식회사 전자장치에서 동적으로 변하는 웹페이지 내용을 제어하는 방법 및 장치
US9292323B2 (en) * 2013-05-17 2016-03-22 Citrix Systems, Inc. Context aware virtual desktop
US20150244814A1 (en) * 2014-02-24 2015-08-27 Oracle International Corporation Adaptive co-browsing
US9576070B2 (en) * 2014-04-23 2017-02-21 Akamai Technologies, Inc. Creation and delivery of pre-rendered web pages for accelerated browsing
FR3022657A1 (fr) * 2014-06-20 2015-12-25 Orange Procede de partage de navigation sur une page web affichee par un navigateur web

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130013671A1 (en) 2011-07-08 2013-01-10 Rohan Relan System and method for providing interactive content to non-native application environments
US20140019534A1 (en) 2012-07-10 2014-01-16 Cwmn, Llc Systems and methods for enabling internet co-browsing

Also Published As

Publication number Publication date
EP3163531A1 (en) 2017-05-03
CN106462911B (zh) 2020-04-10
JP2017527872A (ja) 2017-09-21
US10171542B2 (en) 2019-01-01
CN106462911A (zh) 2017-02-22
JP6445050B2 (ja) 2018-12-26
EP3163531B1 (en) 2019-01-30
EP3163531A4 (en) 2017-12-06
WO2015199293A1 (ko) 2015-12-30
US20170187777A1 (en) 2017-06-29
KR20160000912A (ko) 2016-01-06

Similar Documents

Publication Publication Date Title
US20200089719A1 (en) Rule and filter-based deeplinking between applications
US11882180B2 (en) Dynamic content and cloud based content within collaborative electronic content creation and management tools
US10469562B2 (en) Virtual machine pixel remoting
US9959192B1 (en) Debugging interface for inserted elements in a resource
US20180048929A1 (en) Method and apparatus for displaying information-presentation-item, and multimedia playback device
US11662872B1 (en) Providing content presentation elements in conjunction with a media content item
US20120204093A1 (en) Providing web-based content to local device
US20200133617A1 (en) Interface display method and apparatus
EP4145373A1 (en) Interactive ad rendering application for low-bandwidth communication environments
KR102086731B1 (ko) 클라우드 스트리밍 서비스 제공 방법, 이를 위한 장치 및 시스템, 그리고 이를 위한 클라우드 스트리밍용 스크립트 코드를 기록한 컴퓨터 판독 가능한 기록매체
EP3249554A1 (en) Systems and methods for client-side dynamic information resource activation and deactivation
US20140324623A1 (en) Display apparatus for providing recommendation information and method thereof
US9426202B2 (en) Transforming application cached template using personalized content
JP2014522517A (ja) マークアップベースの文書中でのデータの分割の通知
US10547711B2 (en) Using off-screen user interface data during remote sessions
US20180367552A1 (en) Systems and methods for dynamically restricting the rendering of unauthorized content included in information resources
US10747755B2 (en) Method for providing immediate result for user input, and apparatus therefor
Helal et al. Mobile platforms and development environments
KR102179768B1 (ko) 3차원 캐릭터에 기반하여 정보를 제공하는 전자 장치 및 방법
KR101678389B1 (ko) 클라우드 스트리밍 기반의 영상데이터 제공 방법, 이를 위한 장치 및 시스템
KR20160000911A (ko) 클라우드 서비스 제공 방법, 이를 지원하는 웹 어플리케이션을 기록한 컴퓨터 판독 가능한 기록매체, 그리고 클라우드 서비스 시스템 및 이에 따른 장치
US20140067903A1 (en) Media query engine system and method
KR102119401B1 (ko) 상품 평가 정보를 이용한 상품 구매를 위한 장치
CN113287092B (zh) 在应用打开操作期间添加数字内容的系统和方法
US20170244649A1 (en) Method of and a system for providing access to a file to a web resource

Legal Events

Date Code Title Description
N231 Notification of change of applicant
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant