KR20160069443A - 웹 어플리케이션 서비스 제공 장치 및 방법, 그리고 이를 위한 사용자 장치 - Google Patents

웹 어플리케이션 서비스 제공 장치 및 방법, 그리고 이를 위한 사용자 장치 Download PDF

Info

Publication number
KR20160069443A
KR20160069443A KR1020150017818A KR20150017818A KR20160069443A KR 20160069443 A KR20160069443 A KR 20160069443A KR 1020150017818 A KR1020150017818 A KR 1020150017818A KR 20150017818 A KR20150017818 A KR 20150017818A KR 20160069443 A KR20160069443 A KR 20160069443A
Authority
KR
South Korea
Prior art keywords
web application
profile
application
web
information
Prior art date
Application number
KR1020150017818A
Other languages
English (en)
Other versions
KR102310780B1 (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 KR20160069443A publication Critical patent/KR20160069443A/ko
Application granted granted Critical
Publication of KR102310780B1 publication Critical patent/KR102310780B1/ko

Links

Images

Classifications

    • 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/51Discovery or management thereof, e.g. service location protocol [SLP] or web services
    • 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/2866Architectures; Arrangements
    • H04L67/30Profiles
    • H04L67/303Terminal profiles
    • 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
    • H04L67/5683Storage of data provided by user terminals, i.e. reverse caching

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Business, Economics & Management (AREA)
  • Tourism & Hospitality (AREA)
  • Human Resources & Organizations (AREA)
  • General Health & Medical Sciences (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Marketing (AREA)
  • Theoretical Computer Science (AREA)
  • Economics (AREA)
  • Health & Medical Sciences (AREA)
  • Multimedia (AREA)
  • Information Transfer Between Computers (AREA)
  • Debugging And Monitoring (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

본 발명은 웹 어플리케이션 서비스 제공 장치 및 방법, 그리고 이를 위한 사용자 장치에 관한 것으로서, 더욱 상세히는 웹 어플리케이션의 종류나 사용자 장치의 상태에 따라 적응적으로 서비스 방식을 선택할 수 있도록 하여 안정적 웹 어플리케이션 서비스를 제공하는 웹 어플리케이션 서비스 제공 장치 및 방법, 그리고 이를 위한 사용자 장치에 관한 것이다. 본 발명은 디바이스 프로파일, 디바이스 가용성 정보 및 어플리케이션 프로파일을 이용하여 웹 어플리케이션을 로컬 브라우저 기반으로 실행할지 클라우드 스트리밍 서버 기반으로 실행할지를 용이하게 적응적으로 결정하여 서비스할 수 있으므로, 사용자 장치의 가용 자원으로 실행이 불가능한 어플리케이션에 대하여도 소프트웨어 및 하드웨어의 제약없이 용이하게 어플리케이션의 실행이 가능하며, 로컬 실행이 가능한 어플리케이션은 로컬에서 실행하여 원할하고 안정적인 웹 어플리케이션 서비스가 제공되도록 하여 사용자 편의성 및 만족도를 높이는 동시에 부하 분산에 따른 웹 어플리케이션 서비스 시스템 효율을 향상시키는 효과가 있다.

Description

웹 어플리케이션 서비스 제공 장치 및 방법, 그리고 이를 위한 사용자 장치{Service providing apparatus and method for web application, user equipment for the same}
본 발명은 웹 어플리케이션 서비스 제공 장치 및 방법, 그리고 이를 위한 사용자 장치에 관한 것으로서, 더욱 상세히는 웹 어플리케이션의 종류나 사용자 장치의 상태에 따라 적응적으로 서비스 방식을 선택할 수 있도록 하여 안정적 웹 어플리케이션 서비스를 제공하는 웹 어플리케이션 서비스 제공 장치 및 방법, 그리고 이를 위한 사용자 장치에 관한 것이다.
현재 다양한 통신망의 발전과 더불어 고속으로 다양한 종류의 데이터를 종단에 구성된 사용자 장치에 전달할 수 있으며, 이에 따라 웹 어플리케이션이나 영상을 가상화하여 제공하는 클라우드 스트리밍 서버 측에서 데이터를 저장한 상태로 사용자 장치에 각종 데이터를 스트리밍 방식으로 전달하여 실시간으로 웹 어플리케이션이나 영상을 이용할 수 있도록 지원하는 클라우드 스트리밍 서비스의 발전이 두드러지고 있다.
이때, 웹 어플리케이션은 대부분 사용자 장치(셋톱박스나 사용자 단말 장치)가 서비스 제공 장치(서비스 서버)에 온라인으로 연결된 상태에서 동작하는 것으로, 클라우드 스트리밍 서비스를 포함하는 클라우드 컴퓨팅 기술을 이용하여 웹 어플리케이션 서비스를 제공하는 경우 사용자가 필요한 소프트웨어를 자신의 컴퓨터에 설치하지 않고도 인터넷 접속을 통해 언제든 사용할 수 있고 동시에 각종 정보통신 기기로 데이터를 손쉽게 공유할 수 있는 사용 환경을 제공할 수 있다.
즉, 개인이 웹에 접속해서 포토샵, 오피스 같은 프로그램을 작업할 수 있고 그 작업에 대한 저장도 웹에서 하게 된다. 결국 가상공간에 한 서버(컴퓨터)만을 놓고 이러한 컴퓨터를 통해 여러 사람이 개인 작업을 할 수 있는 것이다.
그러나, 기술이 발전함에 따라 사용자는 점차 웹 어플리케이션에 다양한 기능을 요구하고 있으며, 이러한 기능을 반영한 웹 프로그램의 복잡도가 점진적으로 증가되고 있어, 웹 어플리케이션의 프로그램 자체 용량이 증가하고 있을 뿐 아니라 자연히 이러한 웹 어플리케이션을 통해 처리되는 데이터량 또한 급격히 증가하고 있는 추세이다.
이에 더하여, 웹 어플리케이션을 사용하는 사용자수가 증가하고 있어 웹 어플리케이션을 서비스하는 서버에 대한 부하가 급증하여 서버 부담을 가중시키고 있는 문제점이 있다.
따라서, 웹 어플리케이션의 종류와 사용자 장치의 가용 자원 상태에 따라 적응적으로 서비스하여 상술한 데이터 전송량에 따른 부하를 경감시키기 위한 대안의 마련이 요구되고 있다.
한국공개특허 제10-2012-0111187호 [발명의 명칭: 온라인 상에서의 웹 어플리케이션 공유 시스템]
본 발명은 웹 어플리케이션의 종류를 구분하여 웹 어플리케이션의 종류에 따라 사용자 장치에 웹 어플리케이션 서비스를 제공하되, 웹 어플리케이션의 요구사항에 따라 웹 캐싱을 통해 오프라인에서도 웹 어플리케이션 서비스가 가능하도록 하고, 어플리케이션의 자원 요구사항을 정의한 어플리케이션 프로파일과 사용자 장치의 자원 상황에 따른 디바이스 프로파일을 기준으로 사용자 장치의 로컬 브라우저를 이용하거나 클라우드 스트리밍을 통해 선택적으로 웹 어플리케이션 서비스를 수행하도록 하여 원활한 서비스 상태를 유지하면서 효율적으로 웹 어플리케이션 서비스를 제공할 수 있도록 하는데 그 목적이 있다.
또한, 본 발명은 사용자 장치의 디바이스 프로파일 외에 현재 사용 가능한 자원에 대한 현재 디바이스 가용성 정보를 더 활용하여 어플리케이션 프로파일과 비교하는 것으로 로컬 브라우저 이용과 클라우드 스트리밍 이용을 지능적으로 선택할 수 있도록 하여 효율적으로 웹 어플리케이션 이용이 가능하도록 지원하는데 그 목적이 있다.
본 발명의 실시예에 따른 웹 어플리케이션 서비스 제공 장치는 사용자 장치로부터 웹 어플리케이션의 실행에 할당 가능한 가용 자원 정보인 디바이스 프로파일을 수신하는 디바이스 프로파일 수집부와, 웹 어플리케이션의 실행에 필요한 요구 자원 정보를 어플리케이션 프로파일로 생성하고 저장하는 어플리케이션 프로파일 관리부와, 사용자 장치로부터 웹 어플리케이션의 실행 요청 수신 시, 실행 요청된 어플리케이션에 대응하는 디바이스 프로파일과 어플리케이션 프로파일을 비교하여 로컬 실행이 가능한지 여부를 판단하는 판단부 및 판단 결과, 로컬 실행이 불가능할 때, 클라우드 스트리밍 서버가 실행 요청된 웹 어플리케이션을 실행하고 실행에 따른 결과정보를 스트리밍 방식으로 사용자 장치에 전송하도록 클라우드 스트리밍 서버를 제어하는 서비스 제공부를 포함할 수 있다.
본 발명과 관련된 일 예로서, 서비스 제공부는, 판단 결과, 로컬 실행이 가능할 때, 실행 요청된 웹 어플리케이션과 관련된 데이터를 사용자 장치로 전송하는 것을 특징으로 할 수 있다.
본 발명과 관련된 일 예로서, 디바이스 프로파일은 웹 어플리케이션에 사용할 수 있는 사용자 장치에 구성된 메인 프로세서, 메모리, 그래픽 프로세서에 대한 자원별 가용도 및 웹 어플리케이션의 실행을 위해 지원 가능한 HTML5 기능 중 적어도 하나를 포함하는 가용 자원에 대한 정보를 포함하며, 어플리케이션 프로파일은 웹 어플리케이션의 실행시 메인 프로세서, 메모리, 그래픽 프로세서에 대한 자원별 점유도 및 웹 어플리케이션의 구동을 위해 필요한 HTML5 기능 중 적어도 하나를 포함하는 요구 자원에 대한 정보를 포함하는 것을 특징으로 할 수 있다.
본 발명과 관련된 일 예로서, 판단부는 어플리케이션 프로파일을 기초로 웹 어플리케이션이 오프라인으로 구동되어야 하거나 미리 설정된 기준치 이상의 서비스 동접률이 필요한 오프라인 웹 어플리케이션인지를 판단하며, 서비스 제공부는 판단부의 판단 결과 오프라인 웹 어플리케이션인 경우 사용자 장치에서 웹 캐싱을 통해 웹 어플리케이션의 실행에 필요한 파일을 생성하도록 하기 위한 제어정보를 사용자 장치로 전송하는 것을 특징으로 할 수 있다.
본 발명과 관련된 일 예로서, 디바이스 프로파일 수집부는 가용 자원 중 사용자 장치의 현재 구동 상태에 따라 가용 자원 중 웹 어플리케이션에 할당할 수 있는 여유 자원에 대한 디바이스 가용성 정보를 수집하여 판단부에 제공하며, 판단부는 비교에 따라 가용 자원이 요구 자원 이상인 경우 디바이스 가용성 정보와 어플리케이션 프로파일을 비교하여 로컬 실행 여부를 판단하는 것을 특징으로 할 수 있다.
본 발명과 관련된 일 예로서, 클라우드 스트리밍 서버는 실행 요청된 웹 어플리케이션의 실행에 따라 출력되는 영상 및 음성을 인코딩하여 결과정보로 생성하고, 결과정보를 실시간 스트리밍으로 사용자 장치에 제공하는 것을 특징으로 할 수 있다.
본 발명의 실시예에 따른 웹 어플리케이션 서비스를 위한 사용자 장치는 웹 어플리케이션을 실행하기 위해 필요한 가용 자원에 대한 정보인 디바이스 프로파일을 생성하여 관리하는 디바이스 프로파일 관리부와, 웹 어플리케이션을 제공하는 웹 어플리케이션 서비스 제공 장치로 접속시 웹 어플리케이션의 실행에 필요한 요구 자원에 대한 정보인 어플리케이션 프로파일을 웹 어플리케이션 서비스 제공 장치로부터 수집하는 수집부 및 디바이스 프로파일과 어플리케이션 프로파일을 상호 비교하여 로컬 실행이 가능한지 여부를 판단하며, 판단 결과 로컬 실행이 가능한 경우 웹 브라우저를 통해 웹 어플리케이션 관련 데이터를 수신하여 실행하고, 판단 결과 로컬 실행이 불가능한 경우 웹 어플리케이션 서비스 제공 장치와 연동하여 웹 어플리케이션의 실행에 따라 생성한 결과정보를 실시간 스트리밍으로 제공하는 클라우드 스트리밍 서버에 접속하여 결과정보를 실시간 스트리밍 방식으로 수신하여 출력하는 서비스 제어부를 포함할 수 있다.
본 발명과 관련된 일 예로서, 서비스 제어부는 어플리케이션 프로파일에 정의된 내용을 기초로 오프라인에서 실행되어야 하는 오프라인 웹 어플리케이션인 경우 웹 캐싱을 통해 생성된 캐시 파일을 이용하여 오프라인 웹 어플리케이션을 실행하는 것을 특징으로 할 수 있다.
본 발명과 관련된 일 예로서, 디바이스 프로파일 관리부는 현재 사용 상태에 따라 가용 자원 중 웹 어플리케이션의 실행에 할당 가능한 여유 자원에 대한 디바이스 가용성 정보를 생성하고, 서비스 제어부는 비교에 따라 가용 자원이 요구 자원 이상인 경우 디바이스 가용성 정보를 어플리케이션 프로파일과 비교하여 로컬 실행 여부를 판단하는 것을 특징으로 할 수 있다.
본 발명의 실시예에 따른 웹 어플리케이션 서비스 제공 방법은 웹 어플리케이션을 제공하는 웹 어플리케이션 서비스 제공 장치가 사용자 장치로부터 가용 자원에 대한 정보인 디바이스 프로파일을 수신하는 디바이스 프로파일 수집 단계와, 웹 어플리케이션 서비스 제공 장치가 사용자 장치에 의해 선택된 웹 어플리케이션의 실행 요청 수신시 웹 어플리케이션의 실행에 필요한 요구 자원에 대한 정보인 어플리케이션 프로파일과 디바이스 프로파일을 비교하여 사용자 장치에서 로컬 실행이 가능한지 여부를 판단하는 판단 단계 및 웹 어플리케이션 제공 장치가 판단 결과 로컬 실행이 가능한 경우 사용자 장치의 웹 브라우저를 통해 웹 어플리케이션이 실행되도록 웹 어플리케이션 관련 데이터를 사용자 장치로 전송하고, 로컬 실행이 불가능한 경우 웹 어플리케이션의 실행에 따른 결과정보를 스트리밍 방식으로 전송하는 클라우드 스트리밍 서버를 통해 웹 어플리케이션을 실행하여 사용자 장치로 결과정보를 실시간 스트리밍 방식으로 전송하는 서비스 단계를 포함할 수 있다.
본 발명과 관련된 일 예로서, 판단 단계는 웹 어플리케이션 서비스 제공 장치가 비교에 따라 가용 자원이 요구 자원 이상인 경우 가용 자원 중 사용자 장치의 현재 사용 상태에 따라 웹 어플리케이션에 할당할 수 있는 여유 자원에 대한 디바이스 가용성 정보를 수집하는 단계 및 웹 어플리케이션 제공 장치가 디바이스 가용성 정보를 어플리케이션 프로파일과 비교하여 로컬 실행이 가능한지 여부를 판단하는 단계를 더 포함하는 것을 특징으로 할 수 있다.
본 발명은 디바이스 프로파일, 디바이스 가용성 정보 및 어플리케이션 프로파일을 이용하여 웹 어플리케이션을 로컬 브라우저 기반으로 실행할지 클라우드 스트리밍 서버 기반으로 실행할지를 용이하게 적응적으로 결정하여 서비스할 수 있으므로, 사용자 장치의 가용 자원으로 실행이 불가능한 어플리케이션에 대하여도 소프트웨어 및 하드웨어의 제약없이 용이하게 어플리케이션의 실행이 가능하며, 로컬 실행이 가능한 어플리케이션은 로컬에서 실행하여 원할하고 안정적인 웹 어플리케이션 서비스가 제공되도록 하여 사용자 편의성 및 만족도를 높이는 동시에 부하 분산에 따른 웹 어플리케이션 서비스 시스템 효율을 향상시키는 효과가 있다.
또한, 본 발명은 웹 어플리케이션 서비스시 사용자 장치의 현재 운용 상황을 파악하여 이를 기반으로 여유자원으로 웹 어플리케이션의 실행이 가능한지 여부를 판단하여 적응적으로 서비스 형태를 결정할 수 있으며, 이를 통해 원활한 웹 어플리케이션 서비스 제공이 가능한 동시에 통신 부하를 줄이는 효과가 있다.
더불어, 본 발명은 웹 어플리케이션 서비스 제공 장치와의 접속이 차단되어도 오프라인 실행이 요구되는 오프라인 웹 어플리케이션에 대하여 적응적으로 반응하여, 웹 캐싱을 통해 오프라인 상태에서 웹 어플리케이션을 실행할 수 있도록 제공함으로써 원할한 서비스가 지속될 수 있도록 지원하여 사용자 편의성 및 만족도를 높이는 효과가 있다.
도 1은 본 발명의 실시예에 따른 웹 어플리케이션 서비스 제공 시스템의 구성도.
도 2는 본 발명의 실시예에 따른 웹 어플리케이션 서비스 제공 장치의 구성도.
도 3은 본 발명의 실시예에 따른 웹 어플리케이션 서비스 제공 장치의 디바이스 프로파일 및 어플리케이션 프로파일을 이용한 웹 어플리케이션 서비스 제공 방식에 대한 예시도.
도 4는 본 발명의 실시예에 따른 클라우드 스트리밍 서버와 사용자 장치의 동작 예시도.
도 5는 본 발명의 실시예에 따른 웹 어플리케이션 서비스 제공 장치의 디바이스 가용성 정보 및 어플리케이션 프로파일을 이용한 웹 어플리케이션 서비스 제공 방식에 대한 예시도.
도 6은 본 발명의 실시예에 따른 웹 어플리케션 서비스를 위한 사용자 장치의 구성도.
도 7은 본 발명의 실시예에 따른 웹 어플리케이션 서비스를 위한 사용자 장치의 동작 예시도.
도 8은 본 발명의 다른 실시예에 따른 웹 어플리케이션 서비스를 위한 사용자 장치의 동작 예시도.
도 9는 본 발명의 실시예에 따른 웹 어플리케이션 서비스 제공 방법에 대한 순서도.
본 발명에서 사용되는 기술적 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아님을 유의해야 한다. 또한, 본 발명에서 사용되는 기술적 용어는 본 발명에서 특별히 다른 의미로 정의되지 않는 한, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 의미로 해석되어야 하며, 과도하게 포괄적인 의미로 해석되거나, 과도하게 축소된 의미로 해석되지 않아야 한다. 또한, 본 발명에서 사용되는 기술적인 용어가 본 발명의 사상을 정확하게 표현하지 못하는 잘못된 기술적 용어일 때에는, 당업자가 올바르게 이해할 수 있는 기술적 용어로 대체되어 이해되어야 할 것이다.
또한, 본 발명에서 사용되는 일반적인 용어는 사전에 정의되어 있는 바에 따라, 또는 전후 문맥상에 따라 해석되어야 하며, 과도하게 축소된 의미로 해석되지 않아야 한다.
또한, 본 발명에서 사용되는 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한 복수의 표현을 포함한다. 본 발명에서, "구성된다" 또는 "포함한다" 등의 용어는 발명에 기재된 여러 구성 요소들, 또는 여러 단계를 반드시 모두 포함하는 것으로 해석되지 않아야 하며, 그 중 일부 구성 요소들 또는 일부 단계들은 포함되지 않을 수도 있고, 또는 추가적인 구성 요소 또는 단계들을 더 포함할 수 있는 것으로 해석되어야 한다.
또한, 본 발명에서 사용되는 제 1, 제 2 등과 같이 서수를 포함하는 용어는 구성 요소들을 설명하는데 사용될 수 있지만, 구성 요소들은 용어들에 의해 한정되어서는 안 된다. 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제 1 구성 요소는 제 2 구성 요소로 명명될 수 있고, 유사하게 제 2 구성 요소도 제 1 구성 요소로 명명될 수 있다.
이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 실시 예를 상세히 설명하되, 도면 부호에 관계없이 동일하거나 유사한 구성 요소는 동일한 참조 번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다.
또한, 본 발명을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 첨부된 도면은 본 발명의 사상을 쉽게 이해할 수 있도록 하기 위한 것일 뿐, 첨부된 도면에 의해 본 발명의 사상이 제한되는 것으로 해석되어서는 아니 됨을 유의해야 한다.
도 1은 본 발명의 실시예에 따른 웹 어플리케이션 서비스를 제공하기 위한 웹 어플리케이션 서비스 제공 시스템의 구성 환경도이다.
도시된 바와 같이, 사용자 장치(200)와 통신망을 통해 연결되어 사용자 장치(200)로 웹 어플리케이션을 사용자 장치(200)에 전송하는 웹 어플리케이션 서비스 제공 장치(100) 및 웹 어플리케이션 서비스 제공 장치(100)로부터 제공되는 웹 어플리케이션 관련 데이터를 수신하는 사용자 장치(200)를 포함할 수 있다.
상술한 구성에서, 웹 어플리케이션 서비스 제공 장치(100)는 사용자 장치(200)의 자원 가용 상태에 따라 웹 어플리케이션을 서비스하기에 필요한 자원을 만족시키기 못하는 경우 웹 어플리케이션 서비스 제공 장치(100)와 연동하여 사용자 장치(200)가 원하는 웹 어플리케이션을 실행하고, 실행에 따른 영상 및 음성을 캡처하여 생성한 결과정보를 실시간 스트리밍(live streaming) 방식으로 사용자 장치(200)에 전송하는 클라우드 스트리밍 서버(300)를 통해 웹 어플리케이션의 실행에 따른 결과정보를 사용자 장치(200)로 전송하여 웹 어플리케이션을 서비스할 수 있다.
이때, 사용자 장치(200)는 웹 어플리케이션에 사용할 수 있는 사용자 장치(200)에 구성된 메인 프로세서(CPU), 메모리, 그래픽 프로세서(GPU) 등에 대한 자원별 가용도 및 웹 어플리케이션의 실행을 위해 지원 가능한 HTML5 기능 등을 포함하는 가용 자원에 대한 정보를 디바이스 프로파일로 저장하며, 이를 웹 어플리케이션 서비스 제공 장치(100)로 제공할 수 있다.
또한, 웹 어플리케이션 서비스 제공 장치(100)는 서비스 대상인 웹 어플리케이션별로 웹 어플리케이션의 실행(구동)시 메인 프로세서(CPU), 메모리, 그래픽 프로세서(GPU) 등에 대한 자원별 점유도 및 웹 어플리케이션의 구동을 위해 필요한 HTML5 기능 등을 포함하는 요구 자원에 대한 정보를 어플리케이션 프로파일로 저장(기록)할 수 있다.
이때, 상술한 디바이스 프로파일에 따른 자원별 가용도와 어플리케이션 프로파일에 따른 자원별 점유도는 수치로 나타내어질 수 있다.
이에 따라, 웹 어플리케이션 서비스 제공 장치(100)는 사용자 장치(200)에 디바이스 프로파일을 요청하여 수신한 디바이스 프로파일과, 사용자 장치(200)로부터 실행 요청된 웹 어플리케이션의 어플리케이션 프로파일을 상호 비교하여 가용 자원이 요구 자원을 만족하는지(가용자원이 요구자원 이상인지) 판단하며, 판단 결과에 따라 웹 어플리케이션을 사용자 장치(200)의 웹 브라우저를 통해 실행시키거나 클라우드 스트리밍 서버(300)를 통해 웹 어플리케이션의 실행에 따른 결과정보를 스트리밍 방식으로 제공할 수 있다.
다시 말해, 웹 어플리케이션 서비스 제공 장치(100)는 사용자 장치(200)의 가용 자원에 기반하여 웹 어플리케이션의 서비스 방식을 적응적으로 가변하여 서비스할 수 있다.
이를 통해, 웹 어플리케이션 서비스 제공 장치(100)는 가용 자원이 충분한 사용자 장치(200)에 대해서는 사용자 장치(200)에서 직접 웹 어플리케이션의 실행이 이루어지도록 하여 다수의 사용자 장치(200)의 서비스 요청에 따른 부하를 줄일 수 있는 동시에, 가용자원이 부족한 사용자 장치(200)에 대해서는 소프트웨어 및 하드웨어의 제약 없이 클라우드 스트리밍을 기반으로 웹 어플리케이션을 서비스할 수 있다.
또한, 웹 어플리케이션 서비스 제공 장치(100)는 오프라인 구동이 요구되거나 높은 서비스 동접률(Concurrent Service User Rate:CSUR)이 필요한 웹 어플리케이션의 경우, 사용자 장치(200)를 통해 웹 캐싱(web caching)을 활성화하여 웹 어플리케이션 관련 데이터 전송시 웹 캐싱을 통해 생성된 캐시(cache) 파일을 생성하도록 할 수 있다.
이에 따라, 사용자 장치(200)는 웹 어플리케이션 서비스 제공 장치(100)와의 접속이 불가한 경우라 하더라도 웹 캐싱된 캐시 파일을 이용하여 오프라인 상태에서 웹 어플리케이션을 실행할 수 있다.
이와 같이, 본 발명의 실시예에 따른 웹 어플리케이션 서비스 시스템은 웹 어플리케이션의 종류를 구분하여 웹 어플리케이션의 종류에 따라 사용자 장치(200)에 웹 어플리케이션 서비스를 제공하되, 웹 어플리케이션의 요구사항에 따라 웹 캐싱을 통해 오프라인에서도 웹 어플리케이션 서비스가 가능하도록 하고, 웹 어플리케이션의 자원 요구사항을 정의한 어플리케이션 프로파일과 사용자 장치(200)의 자원 상황에 따른 디바이스 프로파일을 기준으로 사용자 장치(200)의 로컬 브라우저(웹 브라우저)를 이용하거나 클라우드 스트리밍을 통해 선택적으로 웹 어플리케이션 서비스를 제공할 수 있다.
다시 말해, 본 발명은 웹 어플리케이션을 오프라인 웹 어플리케이션, 사용자 장치(200)의 로컬 브라우저(웹 브라우저) 기반 온라인 웹 어플리케이션, 클라우드 스트리밍 서버(300) 기반 온라인 웹 어플리케이션으로 적응적으로 구분하여 서비스할 수 있다.
이때, 오프라인 웹 어플리케이션은 W3C(World Wide Web Consortium)의 오프라인 어플리케이션 표준에 따라 구현된 웹 어플리케이션을 의미할 수 있으며, 오프라인 시의 구동이 필요하거나 높은 서비스 동접률(Concurrent Service User Rate:CSUR)이 필요한 웹 어플리케이션은 W3C의 오프라인 웹 어플리케이션으로 구성되는 것이 바람직하다.
또한, 로컬 브라우저 기반 온라인 웹 어플리케이션은 사용자 장치(200)(예컨대, 셋톱박스)가 웹 서버에 접속하여 웹 브라우저를 통해 서비스받는 모든 웹 어플리케이션을 의미한다.
더하여, 클라우드 스트리밍 서버(300) 기반 온라인 웹 어플리케이션은 사용자 장치(200)가 클라우드 스트리밍 서버(300)에 접속하여 서비스받는 웹 어플리케이션을 의미하며, 이러한 클라우드 스트리밍 기반 웹 가상화를 통해 사용자 장치(200)의 메인 프로세서, 그래픽 프로세서, 메모리 등의 제약이 있거나 사용자 장치(200)에서 지원하지 않는 기능을 이용해야 하는 경우에도 웹 어플리케이션의 구동이 가능하다.
본 발명의 실시예에서, 웹 어플리케이션은 웹 캐싱 로직에 의해 관리될 수 있는데, 웹 어플리케이션은 웹 서버를 통해 별도의 다운로드 로직으로 사용자 장치(200)에 전송되며 인스톨되지 않는다. 웹 서버에 접속되지 않는 경우에도 구동되어야 하는 요구사항을 가지는 웹 어플리케이션의 경우, W3C에서 규정한 오프라인 웹 어플리케이션으로 구현되어 웹 캐싱된 파일을 통해 웹 서버 접속 불가시에도 웹 어플리케이션이 동작된다.
이와 같은 방식으로 어플리케이션을 관리하는 것으로 온라인 시 해당 어플리케이션의 최신성을 유지하면서 오프라인 시에는 캐싱 파일을 통해 해당 웹 어플리케이션을 이용할 수 있으며, 온라인 웹 어플리케이션의 경우 로컬 브라우저에서 동작하거나 클라우드 스트리밍 서비스를 통해 제공되는 경우를 적응적으로 결정할 수 있도록 하여 서비스 품질과 사용자 만족도를 높일 수 있다.
한편, 상술한 구성에서 웹 어플리케이션 서비스 제공 장치(100)는 예시적으로 웹 서버를 포함하도록 구성될 수 있으나, 이에 한정되지 않으며 웹 어플리케이션 서버, 데이터베이스 서버, 프록시 서버 등과 같은 다양한 서버 중 적어도 하나를 포함할 수 있으며, 서버 상호간에 통신 가능하도록 연결될 수 있음은 물론이다. 또한, 웹 어플리케이션 서비스 제공 장치(100)는 웹 서버, 웹 어플리케이션 서버, 데이터베이스 서버, 프록시 서버 등과 같은 다양한 서버를 하나의 서버로 통합한 통합 서버로 구성될 수도 있다.
또한, 웹 어플리케이션 서비스 제공 장치(100) 및 클라우드 스트리밍 서버(300)에는 네트워크 부하 분산 메커니즘, 내지 인터넷 또는 다른 네트워크 상에서 동작할 수 있도록 하는 다양한 소프트웨어 중 하나 이상이 설치될 수 있으며, 이를 통해 컴퓨터화된 시스템으로 구현될 수 있다.
또한, 네트워크는 http 네트워크일 수 있으며, 전용 회선(private line), 인트라넷 또는 임의의 다른 네트워크일 수 있다. 나아가, 웹 어플리케이션 서비스 제공 장치(100)와 클라우드 스트리밍 서버(300) 및 사용자 장치(200)의 연결은 데이터가 임의의 해커 또는 다른 제3자에 의한 공격을 받지 않도록 보안 네트워크로 연결될 수 있다. 또한, 웹 어플리케이션 서비스 제공 장치(100) 및 클라우드 스트리밍 서버(300)는 복수의 데이터베이스 서버를 포함할 수 있으며, 이러한 데이터베이스 서버가 분산 데이터베이스 서버 아키텍쳐를 비롯한 임의의 유형의 네트워크 연결을 통해 별도로 연결되는 방식으로 구현될 수 있다.
또한, 사용자 장치(200)는 셋톱박스(Set-top Box: STB)로 구성될 수 있으며, 이외에도 통신 기능을 구비한 스마트 폰(Smart Phone), 휴대 단말기(Portable Terminal), 이동 단말기(Mobile Terminal), 개인 정보 단말기(Personal Digital Assistant: PDA), PMP(Portable Multimedia Player) 단말기, 텔레매틱스(Telematics) 단말기, 내비게이션(Navigation) 단말기, 개인용 컴퓨터(Personal Computer), 노트북 컴퓨터, 슬레이트 PC(Slate PC), 태블릿 PC(Tablet PC), 울트라북(ultrabook), 웨어러블 디바이스(Wearable Device, 예를 들어, 워치형 단말기(Smartwatch), 글래스형 단말기(Smart Glass), HMD(Head Mounted Display) 등 포함), 와이브로(Wibro) 단말기, IPTV(Internet Protocol Television) 단말기, 스마트 TV, 디지털방송용 단말기, AVN(Audio Video Navigation) 단말기, A/V(Audio/Video) 시스템, 플렉시블 단말기(Flexible Terminal) 등과 같은 다양한 단말기를 포함할 수 있다.
또한, 웹 어플리케이션 서비스 제공 장치(100)와 클라우드 스트리밍 서버(300) 및 사용자 장치(200)는 유/무선 통신망을 통해 상호 통신할 수 있으며, 이러한 무선 통신망의 일례로 무선랜(Wireless LAN: WLAN), DLNA(Digital Living Network Alliance), 와이브로(Wireless Broadband: Wibro), 와이맥스(World Interoperability for Microwave Access: Wimax), GSM(Global System for Mobile communication), CDMA(Code Division Multi Access), CDMA2000(Code Division Multi Access 2000), EV-DO(Enhanced Voice-Data Optimized or Enhanced Voice-Data Only), WCDMA(Wideband CDMA), HSDPA(High Speed Downlink Packet Access), HSUPA(High Speed Uplink Packet Access), IEEE 802.16, 롱 텀 에볼루션(Long Term Evolution: LTE), LTE-A(Long Term Evolution-Advanced), 광대역 무선 이동 통신 서비스(Wireless Mobile Broadband Service: WMBS), 블루투스(Bluetooth), RFID(Radio Frequency Identification), 적외선 통신(Infrared Data Association: IrDA), UWB(Ultra Wideband), 지그비(ZigBee), 인접 자장 통신(Near Field Communication: NFC), 초음파 통신(Ultra Sound Communication: USC), 가시광 통신(Visible Light Communication: VLC), 와이 파이(Wi-Fi), 와이 파이 다이렉트(Wi-Fi Direct) 등이 포함될 수 있다. 또한, 유선 통신망으로는 전력선 통신(Power Line Communication: PLC), USB 통신, 이더넷(Ethernet), 시리얼 통신(serial communication), 광/동축 케이블 등이 포함될 수 있다.
이하, 웹 어플리케이션 서비스 제공 장치(100)의 상세 구성을 도 2를 참고하여 상세히 설명한다.
도 2에 도시된 바와 같이 웹 어플리케이션 서비스 제공 장치(100)는 디바이스 프로파일 수집부(110), 어플리케이션 프로파일 관리부(120), 판단부(130) 및 서비스 제공부(140)를 포함할 수 있다.
우선, 디바이스 프로파일 수집부(110)는 사용자 장치(200)로부터 사용자 장치(200)의 가용 자원에 대한 정보인 디바이스 프로파일을 수집하여 디바이스 프로파일 DB(102)에 사용자 장치(200)의 식별정보와 매칭하여 저장할 수 있다. 이 경우, 사용자 장치(200)는 웹 어플리케이션 서비스 제공 장치(100)에 디바이스 프로파일 id등으로 디바이스 프로파일을 가리킬 수도 있으며, 이를 통해 웹 어플리케이션 서비스 제공 장치(100)는 사용자 장치(200)에 대응되는 디바이스 프로파일을 추출할 수 있다.
이때, 디바이스 프로파일 수집부(110)는 웹 어플리케이션 서비스 제공 장치(100)로 사용자 장치(200)의 접속시마다 사용자 장치(200)로 디바이스 프로파일을 요청하여 디바이스 프로파일 DB(102)에 저장된 기존 디바이스 프로파일을 갱신할 수도 있다.
이를 통해, 사용자 장치(200)를 구성하는 자원 변경에 따른 가용 자원 상태를 지속적으로 업데이트할 수 있다.
한편, 어플리케이션 프로파일 관리부(120)는 웹 어플리케이션 서비스 제공 장치(100)로 업로드되는 다양한 웹 어플리케이션을 어플리케이션 DB(101)에 저장하여 보유하며, 웹 어플리케이션 업로드시 웹 어플리케이션에 요구되는 요구 자원에 대한 정보인 어플리케이션 프로파일을 생성할 수 있으며, 해당 어플리케이션 프로파일을 어플리케이션 DB(101)에 웹 어플리케이션 관련 데이터로 저장할 수 있다.
또한, 판단부(130)는 웹 어플리케이션 서비스 제공 장치(100)에 접속한 사용자 장치(200)의 웹 브라우저로부터 사용자가 실행하고자 하는 웹 어플리케이션에 대한 선택정보를 수신하며, 사용자 장치(200)의 식별정보를 기초로 디바이스 프로파일 DB(102)에서 디바이스 프로파일을 추출하고, 어플리케이션 프로파일 DB(101)로부터 선택정보에 대응되는 웹 어플리케이션 관련 어플리케이션 프로파일을 추출하여 디바이스 프로파일과 상호 비교할 수 있다.
즉, 판단부(130)는 디바이스 프로파일에 따른 가용 자원과 어플리케이션 프로파일에 정의된 요구 자원을 비교하여, 가용 자원이 요구 자원 이상인지 여부에 따라 웹 어플리케이션의 로컬 실행이 가능한지 여부를 판단하여 판단 결과정보를 서비스 제공부(140)로 제공할 수 있다.
한편, 서비스 제공부(140)는 판단 결과정보를 토대로 로컬 실행이 가능한 경우 판단부(130)에 수신된 사용자 장치(200)의 선택정보에 대응되는 웹 어플리케이션을 실행하여 관련 데이터를 사용자 장치(200)의 웹 브라우저로 전송할 수 있다.
이때, 서비스 제공부(140)는 사용자 장치(200)의 웹 브라우저로부터 웹 어플리케이션의 실행을 위한 사용자 입력 데이터를 수신하여 직접 웹 브라우저를 실행시키고 웹 어플리케이션의 실행에 따른 데이터를 사용자 장치(200)의 웹 브라우저로 전송하거나, 웹 어플리케이션 관련 데이터를 사용자 장치(200)의 웹 브라우저로 전송하여 웹 브라우저 상에서 웹 어플리케이션이 실행되도록 할 수도 있다.
또한, 서비스 제공부(140)는 판단부(130)의 판단 결과정보를 토대로 로컬 실행이 불가능한 경우 웹 어플리케이션의 실행을 위한 클라우드 스트리밍 서버(300)로의 접속 주소를 링크하여 사용자 장치(200)가 클라우드 스트리밍 서버(300)로 접속되도록 할 수 있다.
이후, 서비스 제공부(140)는 클라우드 스트리밍 서버(300)와 연동하여 웹 어플리케이션을 실행하며, 클라우드 스트리밍 서버(300)는 웹 어플리케이션의 실행에 따른 출력 영상 및 음성을 캡처하여 미리 설정된 코덱으로 인코딩한 결과정보를 생성하고, 해당 결과정보를 실시간 스트리밍으로 사용자 장치(200)의 웹 브라우저를 통해 제공할 수 있다.
이때, 서비스 제공부(140)는 압축 효율을 높이기 위하여 웹 어플리케이션의 실행에 따른 영상 및 음성을 H.264로 인코딩할 수 있으나, 이에 제한되지 않으며 다양한 코덱을 적용할 수 있다.
도 3은 상술한 웹 어플리케이션 서비스 제공 장치(100)의 구성에 따라 상세 동작 실시예를 도시한 도면이다.
도시된 바와 같이, 판단부(130)는 디바이스 프로파일과 어플리케이션 프로파일을 상호 비교하여 사용자 장치(200)의 가용 자원이 웹 어플리케이션의 실행에 필요한 요구 자원 이상인지 여부를 판단할 수 있다.
이때, 어플리케이션 프로파일에 정의된 요구 자원에 대한 정보에는 웹 어플리케이션의 실행에 필요한 메인 프로세서, 메모리, 그래픽 프로세서에 대한 자원 사용량, 사용자 장치(200)에서 미지원할 가능성이 큰 기능에 대한 사용 여부 등이 포함될 수 있다. 예시적으로, 사용자 장치(200)에서 미지원할 가능성이 큰 기능은 HTML 5 기능 즉, WebGL. 하드웨어 자원 접근(튜너, A/V 디코더, 저장소, 트랜스 코더), CSS, 캔버스 애니메이션(Canvas animation) 등이 있을 수 있다.
또한, 디바이스 프로파일에는 상술한 바와 같이 웹 어플리케이션의 구동에 사용할 수 있는 메인 프로세서, 메모리, 그래픽 프로세서에 대한 정보, 사용자 장치(200)에서 웹 어플리케이션의 실행을 위해 지원 가능한 HTML5 기능에 대한 설명(description) 정보 등이 포함될 수 있다.
따라서, 판단부(130)는 디바이스 프로파일에 따른 가용 자원에 대한 정보가 어플리케이션 프로파일에 따른 요구 자원에 대한 정보에 포함된 자원별 요구 사양 이상인지와 웹 어플리케이션의 실행에 필요한 기능을 포함하는지 여부에 따라 로컬 실행 가능 여부를 판단하며, 이에 따른 판단 결과정보를 생성하여 서비스 제공부(140)로 제공할 수 있다.
한편, 서비스 제공부(140)는 상술한 바와 같이 판단 결과정보에 따라 로컬 실행이 가능한 경우 웹 어플리케이션 관련 데이터를 사용자 장치(200)의 웹 브라우저로 전송하여 웹 브라우저에서 로컬 실행이 가능하도록 제공할 수 있다.
또한, 서비스 제공부(140)는 판단 결과정보에 따라 사용자 장치(200)의 가용 자원이 요구 자원을 만족시키지 못해 로컬 실행이 불가능한 경우 사용자 장치(200)를 클라우드 스트리밍 서버(300)로 접속되도록 유도하고, 클라우드 스트리밍 서버(300)로 웹 어플리케이션 관련 데이터를 전송하여 웹 어플리케이션이 실행되도록 할 수 있다.
이때, 클라우드 스트리밍 서버(300)는 웹 어플리케이션의 실행을 위한 웹 브라우저가 포함될 수 있으며, 어플리케이션 프로파일에 정의된 요구 자원을 모두 충족할 수 있는 가용 자원이 마련됨은 물론이다.
이에 따라, 클라우드 스트리밍 서버(300)는 웹 어플리케이션의 실행에 따라 영상 및 음성을 출력하고, 해당 영상 및 음성을 캡처하여 미리 설정된 코덱으로 인코딩하여 생성한 결과정보를 실시간으로 생성하여 사용자 장치(200)에 실시간 스트리밍 방식으로 제공할 수 있다.
이에 대한 예시를 도 4를 통해 상세히 설명하면, 우선 클라우드 스트리밍 서버(300)는 웹 어플리케이션 프로그램을 구동하고, 웹 어플리케이션 구동에 따라 출력되는 영상정보 및 음성정보를 실시간으로 압축하여 결과정보를 생성한 후 사용자 장치(200)에 실시간 스트리밍(live streaming) 방식으로 전송할 수 있다. 이때, 클라우드 스트리밍 서버(300)는 압축 효율을 높이기 위하여 H.264로 인코딩할 수 있으나, 이에 제한되지 않으며 다양한 압축 알고리즘(코덱)을 적용할 수 있다.
이에 따라, 사용자 장치(200)는 실시간으로 전송(live streaming)되는 결과정보를 수신하여 영상정보와 음성정보를 분리하며, 영상정보와 음성정보에 포함된 동기 정보를 기초로 영상정보 및 음성정보를 동기화하여 사용자 장치(200)의 웹 브라우저를 통해 재생할 수 있다.
이때, 사용자 장치(200)는 영상정보 및 음성정보의 압축 방식에 대응되는 디코딩 방식으로 영상정보 및 음성정보를 디코딩한 후 렌더링 과정을 거친 영상정보 및 음성정보를 출력하여 재생할 수 있다.
한편, 사용자 장치(200)는 웹 어플리케이션의 구동에 따라 실시간 전송되는 영상정보를 화면을 통해 실시간으로 출력하며, 화면 상에서 출력되는 웹 어플리케이션의 구동 상황을 확인하면서 웹 어플리케이션을 조작하기 위한 터치 입력이나 키 입력을 수신하면 이에 대한 사용자 입력정보를 생성하여 클라우드 스트리밍 서버(300)로 실시간으로 전송할 수 있다.
이에 따라, 클라우드 스트리밍 서버(300)는 사용자 입력정보에 대응되는 웹 어플리케이션과 관련된 기능을 실행한 후 실행 결과에 대한 영상정보 및 음성정보를 다시 스트리밍 방식으로 실시간으로 사용자 장치(200)에 전송할 수 있다.
이와 같이, 클라우드 스트리밍 서버(300)는 웹 어플리케이션의 실행에 따른 결과를 영상으로 제공하면서, 사용자 장치(200)로부터 웹 어플리케이션의 조작에 대한 사용자 입력정보가 수신되면 사용자 입력정보에 대응되어 웹 어플리케이션을 실행하여 다시 그 결과를 영상으로 실시간 스트리밍으로 제공하여, 웹 어플리케이션을 가상화하여 제공할 수 있다.
따라서, 본 발명은 사용자 장치(200)의 가용 자원이 웹 어플리케이션의 실행에 필요한 요구 자원을 만족시키지 못하는 경우 웹 어플리케이션을 클라우드 스트리밍 서버(300) 기반 온라인 웹 어플리케이션의 형태로 제공할 수 있으며, 클라우드 스트리밍을 기반으로 웹을 가상화하여 제공하므로 사용자 장치(200)의 메인 프로세서, 그래픽 프로세서, 메모리 등의 제약 없는 서비스가 가능하다.
한편, 상술한 구성에 더하여 사용자 장치(200)가 사용중인 상황이라면 가용 자원에 변화가 생길 수 있으므로 이러한 상황에 따라 적응적으로 웹 어플리케이션을 로컬 브라우저에서 구동하거나 클라우드 스트리밍 방식으로 서비스받도록 하는 것이 바람직하다.
이를 위한 구성을 도 5를 통해 상세히 설명하면, 도시된 바와 같이 사용자 장치(200)는 디바이스 프로파일 외에 현재 구동 상태(현재 사용 상태)에 따라 갱신되는 현재 디바이스 가용성 정보를 마련할 수 있다.
예를 들어, 도시된 바와 같이 사용자 장치(200)는 가용 자원에서 웹 어플리케이션 이외에 현재 사용자 장치(200)에서 실행 중인 다른 서비스에 할당한 자원을 판단하여, 가용 자원 중에서 사용자 장치(200)의 구동 상태에 따라 웹 어플리케이션에 할당할 수 있는 여유 자원에 대한 정보를 디바이스 가용성 정보로 저장할 수 있다.
이때, 사용자 장치(200)는 실시간 또는 주기적으로 디바이스 가용성 정보를 가변할 수 있음은 물론이다.
한편, 웹 어플리케이션 서비스 제공 장치(100)의 디바이스 프로파일 수집부(110)는 디바이스 프로파일에 따른 가용 자원이 어플리케이션 프로파일의 요구 자원을 만족시키는 경우 사용자 장치(200)로 디바이스 가용성 정보의 전송을 요청할 수 있다.
이후, 디바이스 프로파일 수집부(110)는 수신된 디바이스 가용성 정보를 디바이스 프로파일 대신 판단부(130)로 제공할 수 있다.
이에 따라, 판단부(130)는 사용자 장치(200)에서 실행을 요청한 웹 어플리케이션의 어플리케이션 프로파일과 디바이스 가용성 정보를 상호 비교할 수 있으며, 디바이스 가용성 정보에 따른 여유 자원이 어플리케이션 프로파일에 정의된 요구 자원을 만족시키는지 여부를 판단할 수 있으며, 이에 대한 판단 결과정보를 서비스 제공부(140)로 제공할 수 있다.
서비스 제공부(140)는 판단 결과정보를 기초로 요구 자원 이상의 여유 자원이 존재하는 경우 로컬 실행이 가능한 것으로 판단하고, 사용자 장치(200)의 웹 브라우저로 웹 어플리케이션 관련 데이터를 전송하여 사용자 장치(200)의 웹 브라우저에서 웹 어플리케이션이 실행되도록 하여, 로컬 브라우저 기반 온라인 웹 어플리케이션으로 서비스할 수 있다.
한편, 서비스 제공부(140)는 판단 결과정보를 기초로 여유 자원이 요구 자원을 만족시키지 못하는 경우 로컬 실행이 불가능한 것으로 판단하고, 클라우드 스트리밍 서버(300)를 통해 웹 어플리케이션을 실행하고 이에 따른 결과정보를 실시간 스트리밍으로 사용자 장치(200)에 제공하여, 클라우드 스트리밍 서버(300) 기반의 온라인 웹 어플리케이션으로 서비스할 수 있다.
상술한 바와 같이, 서비스 제공부(140)는 사용자 장치(200)의 현재 운용 상황을 파악하여 이를 기반으로 여유자원으로 웹 어플리케이션의 실행이 가능한지 여부를 판단하여 적응적으로 서비스 형태를 결정할 수 있으며, 이를 통해 원활한 웹 어플리케이션 서비스 지원이 가능한 동시에 통신 부하를 줄일 수 있다.
한편, 웹 어플리케이션 서비스 제공 장치(100)로 접속이 되지 않는 경우에도 구동되어야 하는 오프라인 구동이 요구되는 웹 어플리케이션이나 높은 동시접속이 필요한 웹 어플리케이션의 경우, 전체적인 서비스 운영이나 사용자의 만족도를 고려하여 적절한 서비스 제공 방식의 선택이 필요하다.
이를 위해, 오프라인 구동이 요구되거나 미리 설정된 기준치 이상의 동시접속이 필요한 웹 어플리케이션의 어플리케이션 프로파일에는 오프라인 구동 여부에 대한 정보가 더 포함할 수 있다.
이에 따라, 판단부(130)는 사용자 장치(200)가 선택한 웹 어플리케이션의 어플리케이션 프로파일을 참조하여 오프라인 구동이 요구되는 오프라인 웹 어플리케이션인 경우 이에 대한 정보를 서비스 제공부(140)로 제공할 수 있다.
한편, 서비스 제공부(140)는 판단부(130)에서 제공된 정보를 기초로 사용자 장치(200)로 제공되는 웹 어플리케이션이 오프라인 웹 어플리케이션인 경우 사용자 장치(200)로 웹 어플리케이션 관련 데이터와 더불어 웹 캐싱을 활성화하기 위한 제어 정보를 사용자 장치(200)로 전송할 수 있다.
이에 따라, 사용자 장치(200)의 웹 브라우저는 오프라인 웹 어플리케이션 관련 데이터와 함께 수신되는 제어 정보를 기초로 웹 캐싱에 대한 활성화 여부를 판단하고, 웹 캐싱을 활성화하여 오프라인 웹 어플리케이션의 실행시 웹 캐싱을 통해 생성된 파일을 사용자 장치(200)의 버퍼 메모리(캐시 메모리)에 저장할 수 있다.
이를 통해, 사용자 장치(200)에서 웹 어플리케이션 서비스 제공 장치(100)로의 접속이 불가한 경우에도 웹 캐싱을 통해 생성된 파일을 통해 웹 브라우저에서 웹 어플리케이션을 실행시킬 수 있다.
한편, 상술한 웹 어플리케이션의 로컬 실행 여부에 대한 판단과 웹 어플리케이션 서비스 방식은 웹 어플리케이션 서비스 제공 장치(100) 외에도 사용자 장치(200)에서 이러한 판단과 방식의 선택을 수행할 수도 있는데, 이를 이하 도면을 통해 상세히 설명한다.
도 6은 본 발명의 실시예에 따른 웹 어플리케이션 서비스를 위한 사용자 장치(200)의 구성도로서, 도시된 바와 같이 제어부(210), 저장부(220), 통신부(230), 출력부(240), 사용자 인터페이스부(250)를 포함할 수 있다.
우선, 사용자 인터페이스부(250)는 사용자에 의한 버튼 조작 또는 임의의 기능 선택에 따른 신호를 수신하거나, 디스플레이되는 화면을 터치/스크롤하는 등의 조작에 의해 생성된 명령 또는 제어 신호를 수신하거나, 사용자에 의해 입력된 정보에 대응하는 신호를 수신하며, 키 패드(Key Pad), 돔 스위치 (Dome Switch), 터치 패드(정압/정전), 터치 스크린(Touch Screen), 조그 휠, 조그 스위치, 조그 셔틀(Jog Shuttle), 마우스(mouse), 스타일러스 펜(Stylus Pen), 터치 펜(Touch Pen) 등의 다양한 장치가 사용될 수 있다.
더하여, 출력부(240)는 제어부(210)의 제어에 의해 저장부(220)에 저장된 사용자 인터페이스 및/또는 그래픽 사용자 인터페이스를 이용하여 다양한 메뉴 화면 등과 같은 다양한 콘텐츠를 표시할 수 있다.
여기서, 출력부(240)에 표시되는 콘텐츠는 다양한 텍스트 또는 이미지 데이터(각종 정보 데이터 포함)와 아이콘, 리스트 메뉴, 콤보 박스 등의 데이터를 포함하는 메뉴 화면 등을 포함한다. 또한, 출력부(240)는 터치 스크린 일 수 있다. 이때, 사용자의 터치 제스쳐를 감지하기 위한 터치 센서가 포함될 수 있다.
터치 센서는 정전식이나, 감압식, 압전식 등과 같은 다양한 형태 중 하나일 수 있다. 정전식인 경우 터치 스크린 표면에 코팅된 유전체를 이용하여, 사용자의 신체 일부가 터치 스크린 표면에 터치되었을 때 사용자의 인체로 여기되는 미세 전기를 감지하여 터치 좌표가 산출된다. 감압식인 경우 터치 스크린에 두 개의 전극 판이 내장되며, 사용자가 화면을 터치하면 터치된 위치의 상하 전극 판이 접촉되어 전류가 흐르게 되며, 이러한 전류의 흐름이 감지되어 터치 좌표가 산출된다.
이외에도, 사용자 장치(200)가 펜 입력 기능을 지원할 수 있으며, 이 경우 사용자의 신체 일부가 아닌 펜과 같은 입력 수단을 활용한 사용자의 제스쳐도 감지될 수 있다. 예로서, 입력 수단이 코일을 내부에 포함하는 스타일러스 펜인 경우, 사용자 장치(200)는 스타일러스 펜 내부의 코일에 의해 변화되는 자기장을 감지하기 위한 자기장 감지 센서를 포함할 수 있다. 이 경우 사용자의 터치 제스쳐 뿐만 아니라 호버링(hovering)과 같은 사용자의 근접 제스쳐도 감지할 수 있다.
또한, 출력부(240)는 액정 디스플레이(Liquid Crystal Display: LCD), 박막 트랜지스터 액정 디스플레이(Thin Film Transistor-Liquid Crystal Display: TFT LCD), 유기 발광 다이오드(Organic Light-Emitting Diode: OLED), 플렉시블 디스플레이(Flexible Display), 3차원 디스플레이(3D Display), 전자잉크 디스플레이(e-ink display), LED(Light Emitting Diode) 중에서 적어도 하나의 형태로 구현될 수 있으며, 이를 위한 구동회로, 백라이트 유닛 등을 함께 포함할 수 있다.
또한, 출력부(240)는 스피커와 같은 음성 출력과 관련된 다양한 모듈을 포함할 수 있으며 제어부(210)의 제어에 따라 음성정보를 수신하여 출력할 수 있다.
통신부(230)는 유/무선 통신망을 통해 내부의 임의의 구성 요소 또는 외부의 임의의 적어도 하나의 단말기와 통신 연결한다. 이때, 상기 외부의 임의의 단말기는 네트워크 서비스 시스템, 서버 등을 포함할 수 있다. 또한, 통신부(230)는 무선랜(Wireless LAN: WLAN), DLNA(Digital Living Network Alliance), 와이브로(Wireless Broadband: Wibro), 와이맥스(World Interoperability for Microwave Access: Wimax), GSM(Global System for Mobile communication), CDMA(Code Division Multi Access), CDMA2000(Code Division Multi Access 2000), EV-DO(Enhanced Voice-Data Optimized or Enhanced Voice-Data Only), WCDMA(Wideband CDMA), HSDPA(High Speed Downlink Packet Access), HSUPA(High Speed Uplink Packet Access), IEEE 802.16, 롱 텀 에볼루션(Long Term Evolution: LTE), LTE-A(Long Term Evolution-Advanced), 광대역 무선 이동 통신 서비스(Wireless Mobile Broadband Service: WMBS), 블루투스(Bluetooth), RFID(Radio Frequency Identification), 적외선 통신(Infrared Data Association: IrDA), UWB(Ultra Wideband), 지그비(ZigBee), 인접 자장 통신(Near Field Communication: NFC), 초음파 통신(Ultra Sound Communication: USC), 가시광 통신(Visible Light Communication: VLC), 와이 파이(Wi-Fi), 와이 파이 다이렉트(Wi-Fi Direct) 등과 같은 무선통신 방식을 지원할 수 있다. 또한, 통신부(230)(160)는 전력선 통신(Power Line Communication: PLC), USB 통신, 이더넷(Ethernet), 시리얼 통신(serial communication), 광/동축 케이블 등과 같은 유선통신 방식을 지원할 수 있다.
또한, 저장부(220)는 사용자 장치(200)가 동작하는데 필요한 데이터와 프로그램 등을 저장한다.
또한, 저장부(220)는 플래시 메모리 타입(Flash Memory Type), 하드 디스크 타입(Hard Disk Type), 멀티미디어 카드 마이크로 타입(Multimedia Card Micro Type), 카드 타입의 메모리(예를 들면, SD 또는 XD 메모리 등), 자기 메모리, 자기 디스크, 광디스크, 램(Random Access Memory: RAM), SRAM(Static Random Access Memory), 롬(Read-Only Memory: ROM), EEPROM(Electrically Erasable Programmable Read-Only Memory), PROM(Programmable Read-Only Memory) 중 적어도 하나의 저장매체를 포함할 수 있다. 또한, 사용자 장치(200)는 인터넷(internet)상에서 저장부(220)의 저장 기능을 수행하는 웹 스토리지(web storage)를 운영하거나, 또는 웹 스토리지와 관련되어 동작할 수도 있다.
한편, 제어부(210)는 저장부(220)에 저장된 프로그램 및 데이터를 이용하여 사용자 장치(200)의 전반적인 제어 기능을 실행한다. 제어부(210)는 RAM, ROM, CPU, GPU, 버스를 포함할 수 있으며, RAM, ROM, CPU, GPU 등은 버스를 통해 서로 연결될 수 있다. 제어부(210)는 저장부(220)에 액세스하여, 저장부(220)에 저장된 O/S(Operating System)를 이용하여 부팅을 수행할 수 있으며, 저장부(220)에 저장된 각종 프로그램, 컨텐츠, 데이터 등을 이용하여 다양한 동작을 수행할 수 있다.
상술한 구성을 토대로, 제어부(210)는 도시된 바와 같이 디바이스 프로파일 관리부(211), 어플리케이션 프로파일 수집부(212), 서비스 제어부(213)를 포함할 수 있다.
이때, 제어부(210)를 구성하는 각 부는 하드웨어 회로(예를 들어, CMOS 기반 로직 회로), 펌웨어, 소프트웨어 또는 이들의 조합에 의해 구현될 수 있다. 예를 들어, 다양한 전기적 구조의 형태로 트랜지스터, 로직게이트 및 전자회로를 활용하여 구현될 수 있다.
우선, 디바이스 프로파일 관리부(211)는 사용자 장치(200)에 구성된 메인 프로세서, 메모리, 그래픽 프로세서, 사용자 장치(200)에서 지원 가능한 HTML5 기능을 대상으로 가용 자원에 대한 정보인 디바이스 프로파일을 생성하여 저장부(220)에 저장할 수 있다.
또한, 어플리케이션 프로파일 수집부(212)는 어플리케이션 서비스 제공 장치로 접속시 사용자 장치(200)에 의해 선택된 웹 어플리케이션에 대한 어플리케이션 프로파일을 요청하고, 어플리케이션 프로파일을 수신하여 서비스 제어부(213)로 제공하는 기능을 수행할 수 있다.
한편, 서비스 제어부(213)는 해당 어플리케이션 프로파일 수집부(212)를 통해 웹 어플리케이션 서비스 제공 장치(100)로부터 전송된 어플리케이션 프로파일을 통해서 오프라인 어플리케이션 동작을 위한 웹 캐싱 로직을 이용할 것인지, 디바이스 프로파일이나 현재 디바이스 가용성 정보와 어플리케이션 프로파일을 비교하여 로컬에서 웹 브라우저를 통해 웹 어플리케이션을 수행할지 클라우드 스트리밍 서버(300)를 통해 클라우드 스트리밍 방식으로 웹 어플리케이션 서비스를 제공받을지를 판단할 수 있는데, 이를 도 7 및 도 8을 통해 설명한다.
우선, 도 7에 도시된 바와 같이, 서비스 제어부(213)는 웹 브라우저를 로드하여 통신부(230)를 통해 웹 어플리케이션 서비스 제공 장치(100)로 접속할 수 있으며, 실행하고자 하는 웹 어플리케이션에 대한 선택정보를 웹 어플리케이션 서비스 제공 장치(100)로 전송하고, 어플리케이션 프로파일 수집부(212)를 통해 선택정보에 대응되는 웹 어플리케이션에 대한 어플리케이션 프로파일을 수신할 수 있다.
이후, 서비스 제어부(213)는 어플리케이션 프로파일과 저장부(220)에 저장된 디바이스 로파일을 상호 비교하여 디바이스 프로파일에 따른 가용 자원이 어플리케이션 프로파일에 따른 요구 자원을 만족시키는지(가용 자원이 요구 자원 이상인지) 여부에 따라 로컬에서 웹 브라우저를 통해 웹 어플리케이션을 수행할지 클라우드 스트리밍 서버(300)를 통해 클라우드 스트리밍 방식으로 웹 어플리케이션 서비스를 제공받을지를 판단할 수 있다.
서비스 제어부(213)는 판단 결과에 따라 로컬에서 웹 브라우저를 통해 웹 어플리케이션을 실행하는 경우 웹 브라우저를 통해 웹 어플리케이션 서비스 제공 장치(100)로부터 선택정보에 대응되는 웹 어플리케이션 관련 데이터를 수신하여 웹 어플리케이션을 실행할 수 있다.
한편, 서비스 제어부(213)는 판단 결과에 따라 클라우드 스트리밍 방식으로 웹 어플리케이션을 실행하고자 하는 경우 통신부(230)를 통해 클라우드 스트리밍 서버(300)로 접속하며, 클라우드 스트리밍 서버(300)로부터 선택정보에 대응되는 웹 어플리케이션의 실행에 따라 실시간 스트리밍으로 제공되는 결과정보를 수신할 수 있다.
이때, 서비스 제어부(213)는 웹 브라우저를 통한 웹 어플리케이션의 실행에 따른 출력정보를 생성하여 출력부(240)를 통해 출력하거나, 클라우드 스트리밍 서버(300)로부터 실시간으로 제공되는 결과정보를 출력부(240)를 통해 출력할 수 있다.
한편, 디바이스 프로파일 관리부(211)는 사용자 장치(200)의 구동 상태에 따라 가용 자원 중 웹 어플리케이션에 할당 가능한 여유 자원에 대한 정보인 디바이스 가용성 정보를 생성하여 저장부(220)에 저장할 수 있다.
이때, 디바이스 가용성 정보는 메인 프로세서, 메모리, 그래픽 프로세서에 대한 가용도 및 사용자 장치(200)에서 웹 어플리케이션의 실행을 위해 지원 가능한 HTML5 기능 등을 포함하는 가용 자원 중 사용자 장치(200)의 구동 상태에 따라 웹 어플리케이션에 할당 가능한 여유 자원에 대한 정보를 포함할 수 있다.
이때, 디바이스 프로파일 관리부(211)는 디바이스 가용성 정보를 디바이스 프로파일과 별도로 관리하여 저장부(220)에 저장하거나, 디바이스 프로파일을 디바이스 가용성 정보로 대체하여 갱신할 수도 있음은 물론이다.
이에 따라, 서비스 제어부(213)는 사용자 장치(200)의 디바이스 프로파일이 어플리케이션 프로파일의 조건을 만족시킬 경우, 사용자 장치(200)의 디바이스 프로파일을 현재 구동 상태에 따라 갱신한 현재 디바이스 가용성(Current Device Capability) 정보와 어플리케이션 프로파일을 비교할 수 있다.
이후, 서비스 제어부(213)는 현재 디바이스 가용성 정보가 어플리케이션 프로파일을 만족시키지 못하는 경우(디바이스 가용성 정보에 따른 여유자원이 어플리케이션 프로파일에 따른 요구 자원보다 작은 경우) 웹 어플리케이션을 클라우드 스트리밍 서버(300)를 통해 실행하여 실시간 스트리밍 방식으로 서비스받고, 만족시킬 경우(디바이스 가용성 정보에 따른 여유자원이 어플리케이션 프로파일에 따른 요구 자원보다 큰 경우) 로컬에서 웹 브라우저를 통해 실행할 수 있다.
한편, 웹 어플리케이션이 상술한 실시예에서 설명한 바와 같이 오프라인 웹 어플리케이션으로 구현되어 있는 경우에는 서비스 제어부(213)는 웹 캐싱 로직 기반의 오프라인 웹 어플리케이션으로 실행할 수 있는데 이를 도 8을 통해 설명한다.
도 8에 도시된 바와 같이, 서비스 제어부(213)는 어플리케이션 프로파일에 정의된 내용을 참조하여 실행하고자 하는 웹 어플리케이션이 오프라인에서 실행되어야 하는 오프라인 웹 어플리케이션인지를 판단할 수 있다.
이에 따라, 도 8(a)에 도시된 바와 같이 서비스 제어부(213)는 오프라인 웹 어플리케이션인 경우 웹 어플리케이션 서비스 제공 장치(100)로부터 수신되는 웹 어플리케이션 관련 데이터를 웹 캐싱을 통해 캐시 파일을 생성하여 저장할 수 있다.
이때, 서비스 제어부(213)는 제어부(210)의 내부 또는 외부에 구성되는 버퍼 메모리(캐시 메모리)에 웹 캐싱을 통해 생성된 캐시 파일을 저장할 수 있다.
이후, 도 8(b)에 도시된 바와 같이 서비스 제어부(213)는 웹 어플리케이션 서비스 제공 장치(100)와의 접속이 끊긴 경우 웹 캐싱을 통해 생성된 캐시 파일을 이용하여 오프라인 상태에서 웹 어플리케이션을 실행할 수 있다.
상술한 바와 같은 구성을 통해, 사용자 장치(200)는 디바이스 프로파일, 디바이스 가용성 정보 및 어플리케이션 프로파일을 이용하여 웹 어플리케이션을 로컬 브라우저 기반으로 실행할지 클라우드 스트리밍 서버(300) 기반으로 실행할지를 용이하게 적응적으로 결정하여 서비스할 수 있으므로, 사용자 장치(200)의 가용 자원으로 실행이 불가능한 어플리케이션에 대하여도 소프트웨어 및 하드웨어의 제약없이 용이하게 어플리케이션의 실행이 가능하며, 로컬 실행이 가능한 어플리케이션은 로컬에서 실행하여 원할한 웹 어플리케이션 서비스가 제공되도록 할 수 있다.
더불어, 사용자 장치(200)는 웹 어플리케이션 서비스 제공 장치(100)와의 접속이 끊겨도 오프라인 실행이 요구되는 오프라인 웹 어플리케이션을 적응적으로 구분하여, 웹 캐싱을 통해 오프라인 상태에서 웹 어플리케이션을 실행할 수 있도록 제공함으로써 원할한 서비스가 지속될 수 있도록 지원할 수 있다.
도 9는 본 발명의 실시예에 따른 웹 어플리케이셔 서비스 제공 장치의 웹 어플리케이션 제공 방법에 대한 순서도이다.
도시된 바와 같이, 웹 어플리케이션 서비스 제공 장치(100)는 웹 어플리케이션을 서비스받고자 접속한 사용자 장치(200)로부터 가용 자원에 대한 정보인 디바이스 프로파일을 요청하고, 사용자 장치(200)로부터 디바이스 프로파일을 수신할 수 있다(S1, S2).
이때, 웹 어플리케이션 서비스 제공 장치(100)는 디바이스 프로파일이 이미 저장되어 있는 경우 사용자 장치(200)에 대응되는 식별정보를 기초로 디바이스 프로파일을 추출할 수 있다.
이후, 웹 어플리케이션 서비스 제공 장치(100)는 사용자 장치(200)에 의해 선택된 웹 어플리케이션에 대응되어 미리 저장된 어플리케이션 프로파일을 추출할 수 있다.
다음, 웹 어플리케이션 서비스 제공 장치(100)는 디바이스 프로파일과 어플리케이션 프로파일을 비교할 수 있으며(S3), 디바이스 프로파일에 따른 가용 자원이 어플리케이션 프로파일에 따른 요구 자원 이상인지 여부를 판단하여 사용자 장치(200)에서 로컬 실행이 가능한지 여부를 판단할 수 있다(S4).
이후, 웹 어플리케이션 서비스 제공 장치(100)는 판단부(130)의 판단 결과 로컬 실행이 가능한 경우 사용자 장치(200)의 웹 브라우저를 통해 웹 어플리케이션이 실행되도록 웹 어플리케이션 관련 데이터를 사용자 장치(200)로 전송할 수 있다(S5).
한편, 웹 어플리케이션 서비스 제공 장치(100)는 로컬 실행이 불가능한 경우 웹 어플리케이션의 실행에 따른 결과정보를 실시간 스트리밍 방식으로 전송하는 클라우드 스트리밍 서버(300)를 통해 웹 어플리케이션을 실행하여(S6) 사용자 장치(200)로 결과정보를 실시간 스트리밍 방식으로 전송할 수 있다(S7).
상술한 구성에서, 웹 어플리케이션 서비스 제공 장치(100)는 디바이스 프로파일에 따른 가용 자원이 어플리케이션 프로파일의 요구 자원을 만족시키는 경우 사용자 장치(200)로 디바이스 가용성 정보의 전송을 요청할 수 있다.
이후, 웹 어플리케이션 서비스 제공 장치(100)는 수신된 디바이스 가용성 정보를 어플리케이션 프로파일과 상호 비교할 수 있으며, 디바이스 가용성 정보에 따른 여유 자원이 어플리케이션 프로파일에 정의된 요구 자원을 만족시키는지 여부를 판단할 수 있다.
웹 어플리케이션 서비스 제공 장치(100)는 판단 결과를 기초로 요구 자원 이상의 여유 자원이 존재하는 경우 로컬 실행이 가능한 것으로 판단하고, 사용자 장치(200)의 웹 브라우저로 웹 어플리케이션 관련 데이터를 전송하여 사용자 장치(200)의 웹 브라우저에서 웹 어플리케이션이 실행되도록 하여, 로컬 브라우저 기반 온라인 웹 어플리케이션으로 서비스할 수 잇다.
한편, 웹 어플리케이션 서비스 제공 장치(100)는 판단 결과를 기초로 여유 자원이 요구 자원을 만족시키지 못하는 경우 로컬 실행이 불가능한 것으로 판단하고, 클라우드 스트리밍 서버(300)를 통해 웹 어플리케이션을 실행하고 이에 따른 결과정보를 실시간 스트리밍으로 사용자 장치(200)에 제공하여, 클라우드 스트리밍 서버(300) 기반의 온라인 웹 어플리케이션으로 서비스할 수 있다.
또한, 웹 어플리케이션 서비스 제공 장치(100)는 사용자 장치(200)가 선택한 웹 어플리케이션의 어플리케이션 프로파일을 참조하여 오프라인 구동이 요구되는 오프라인 웹 어플리케이션인 경우 사용자 장치(200)로 웹 어플리케이션 관련 데이터와 더불어 웹 캐싱을 활성화하기 위한 제어 정보를 사용자 장치(200)로 전송할 수 있다.
이에 따라, 사용자 장치(200)의 웹 브라우저는 오프라인 웹 어플리케이션 관련 데이터와 함께 수신되는 제어 정보를 기초로 웹 캐싱에 대한 활성화 여부를 판단하고, 웹 캐싱을 활성화하여 오프라인 웹 어플리케이션의 실행시 웹 캐싱을 통해 생성된 파일을 버퍼 메모리(캐시 메모리)에 저장할 수 있다.
이를 통해, 사용자 장치(200)는 웹 어플리케이션 서비스 제공 장치(100)의 접속이 끊긴 경우에도 웹 캐싱을 통해 생성된 파일을 통해 웹 브라우저에서 웹 어플리케이션을 실행시킬 수 있다.
본 명세서에 기술된 다양한 장치 및 구성부는 하드웨어 회로(예를 들어, CMOS 기반 로직 회로), 펌웨어, 소프트웨어 또는 이들의 조합에 의해 구현될 수 있다. 예를 들어, 다양한 전기적 구조의 형태로 트랜지스터, 로직게이트 및 전자회로를 활용하여 구현될 수 있다.
상술한 바와 같이, 본 발명은 디바이스 프로파일, 디바이스 가용성 정보 및 어플리케이션 프로파일을 이용하여 웹 어플리케이션을 로컬 브라우저 기반으로 실행할지 클라우드 스트리밍 서버 기반으로 실행할지를 용이하게 적응적으로 결정하여 서비스할 수 있으므로, 사용자 장치의 가용 자원으로 실행이 불가능한 어플리케이션에 대하여도 소프트웨어 및 하드웨어의 제약없이 용이하게 어플리케이션의 실행이 가능하며, 로컬 실행이 가능한 어플리케이션은 로컬에서 실행하여 원할하고 안정적인 웹 어플리케이션 서비스가 제공되도록 하여 사용자 편의성 및 만족도를 높이는 동시에 부하 분산에 따른 웹 어플리케이션 서비스 시스템 효율을 향상시킬 수 있다.
또한, 본 발명은 웹 어플리케이션 서비스시 사용자 장치의 현재 운용 상황을 파악하여 이를 기반으로 여유자원으로 웹 어플리케이션의 실행이 가능한지 여부를 판단하여 적응적으로 서비스 형태를 결정할 수 있으며, 이를 통해 원활한 웹 어플리케이션 서비스 제공이 가능한 동시에 통신 부하를 줄일 수 있으며, 웹 어플리케이션 서비스 제공 장치와의 접속이 차단되어도 오프라인 실행이 요구되는 오프라인 웹 어플리케이션에 대하여 적응적으로 반응하여, 웹 캐싱을 통해 오프라인 상태에서 웹 어플리케이션을 실행할 수 있도록 제공함으로써 원할하고 안정적인 서비스가 지속될 수 있도록 지원할 수 있다.
상술한 실시예에서 설명한 본 발명의 실시예에 따른 웹 어플리케이션 서비스 제공 방법은 컴퓨터 프로그램으로 작성 가능하며, 컴퓨터 프로그램을 구성하는 코드들 및 코드 세그먼트들은 당해 분야의 컴퓨터 프로그래머에 의하여 용이하게 추론될 수 있다. 또한, 해당 컴퓨터 프로그램은 컴퓨터가 읽을 수 있는 정보저장매체(computer readable media)에 저장되고, 컴퓨터나 본 발명의 실시예에 따른 사용자 장치, 웹 어플리케이션 서비스 제공 장치, 클라우드 스트리밍 서버 등에 의하여 읽혀지고 실행됨으로써 웹 어플리케이션 서비스 제공 방법을 구현할 수 있다.
정보저장매체는 자기 기록매체, 광 기록매체 및 캐리어 웨이브 매체를 포함한다. 본 발명의 실시예에 따른 웹 어플리케이션 서비스 제공 방법을 구현하는 컴퓨터 프로그램은 사용자 장치, 웹 어플리케이션 서비스 제공 장치, 클라우드 스트리밍 서버의 내장 메모리에 저장 및 설치될 수 있다. 또는, 본 발명의 실시예에 따른 웹 어플리케이션 서비스 제공 방법을 구현하는 컴퓨터 프로그램을 저장 및 설치한 스마트 카드 등의 외장 메모리가 인터페이스를 통해 사용자 장치, 웹 어플리케이션 서비스 제공 장치, 클라우드 스트리밍 서버에 장착될 수도 있다.
전술된 내용은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 수정 및 변형이 가능할 것이다. 따라서, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
본 발명은 디바이스 프로파일, 디바이스 가용성 정보 및 어플리케이션 프로파일을 이용하여 웹 어플리케이션을 로컬 브라우저 기반으로 실행할지 클라우드 스트리밍 서버 기반으로 실행할지를 용이하게 적응적으로 결정하여 서비스할 수 있어 사용자 장치의 가용 자원으로 실행이 불가능한 어플리케이션에 대하여도 소프트웨어 및 하드웨어의 제약없이 용이하게 어플리케이션의 실행이 가능하며, 로컬 실행이 가능한 어플리케이션은 로컬에서 실행하여 원할하고 안정적인 웹 어플리케이션 서비스를 제공하는 것으로서, 클라우드 컴퓨팅 서비스 분야, 웹 어플리케이션 서비스 분야 등에서 광범위하게 이용될 수 있다.
100: 웹 어플리케이션 서비스 제공 장치
110: 디바이스 프로파일 수집부 120: 어플리케이션 프로파일 관리부
130: 판단부 140: 서비스 제공부
200: 사용자 장치 210: 제어부
211: 디바이스 프로파일 관리부 212: 어플리케이션 프로파일 수집부
213: 서비스 제어부 220: 저장부
230: 통신부 240: 출력부
250: 사용자 인터페이스부

Claims (11)

  1. 사용자 장치로부터 웹 어플리케이션의 실행에 할당 가능한 가용 자원 정보인 디바이스 프로파일을 수신하는 디바이스 프로파일 수집부;
    상기 웹 어플리케이션의 실행에 필요한 요구 자원 정보를 어플리케이션 프로파일로 생성하고 저장하는 어플리케이션 프로파일 관리부;
    상기 사용자 장치로부터 상기 웹 어플리케이션의 실행 요청 수신 시, 상기 실행 요청된 어플리케이션에 대응하는 디바이스 프로파일과 어플리케이션 프로파일을 비교하여 로컬 실행이 가능한지 여부를 판단하는 판단부; 및
    상기 판단 결과, 로컬 실행이 불가능할 때, 클라우드 스트리밍 서버가 상기 실행 요청된 웹 어플리케이션을 실행하고 상기 실행에 따른 결과정보를 스트리밍 방식으로 상기 사용자 장치에 전송하도록 상기 클라우드 스트리밍 서버를 제어하는 서비스 제공부를 포함하는 웹 어플리케이션 서비스 제공 장치.
  2. 청구항 1에 있어서,
    상기 서비스 제공부는, 상기 판단 결과, 로컬 실행이 가능할 때, 상기 실행 요청된 웹 어플리케이션과 관련된 데이터를 상기 사용자 장치로 전송하는 것을 특징으로 하는 웹 어플리케이션 서비스 제공 장치.
  3. 청구항 1에 있어서,
    상기 디바이스 프로파일은 웹 어플리케이션에 사용할 수 있는 상기 사용자 장치에 구성된 메인 프로세서, 메모리, 그래픽 프로세서에 대한 자원별 가용도 및 웹 어플리케이션의 실행을 위해 지원 가능한 HTML5 기능 중 적어도 하나를 포함하는 가용 자원에 대한 정보를 포함하며, 상기 어플리케이션 프로파일은 상기 웹 어플리케이션의 실행시 상기 메인 프로세서, 상기 메모리, 상기 그래픽 프로세서에 대한 자원별 점유도 및 웹 어플리케이션의 구동을 위해 필요한 HTML5 기능 중 적어도 하나를 포함하는 요구 자원에 대한 정보를 포함하는 것을 특징으로 하는 웹 어플리케이션 서비스 제공 장치.
  4. 청구항 1에 있어서,
    상기 판단부는 상기 어플리케이션 프로파일을 기초로 상기 웹 어플리케이션이 오프라인으로 구동되어야 하거나 미리 설정된 기준치 이상의 서비스 동접률이 필요한 오프라인 웹 어플리케이션인지를 판단하며,
    상기 서비스 제공부는 상기 판단부의 판단 결과 상기 오프라인 웹 어플리케이션인 경우 상기 사용자 장치에서 웹 캐싱을 통해 상기 웹 어플리케이션의 실행에 필요한 파일을 생성하도록 하기 위한 제어정보를 상기 사용자 장치로 전송하는 것을 특징으로 하는 웹 어플리케이션 서비스 제공 장치.
  5. 청구항 1에 있어서,
    상기 디바이스 프로파일 수집부는 상기 가용 자원 중 상기 사용자 장치의 현재 구동 상태에 따라 상기 가용 자원 중 웹 어플리케이션에 할당할 수 있는 여유 자원에 대한 디바이스 가용성 정보를 수집하여 상기 판단부에 제공하며,
    상기 판단부는 상기 비교에 따라 상기 가용 자원이 상기 요구 자원 이상인 경우 상기 디바이스 가용성 정보와 상기 어플리케이션 프로파일을 비교하여 상기 로컬 실행 여부를 판단하는 것을 특징으로 하는 웹 어플리케이션 서비스 제공 장치.
  6. 청구항 1에 있어서,
    상기 클라우드 스트리밍 서버는 상기 실행 요청된 웹 어플리케이션의 실행에 따라 출력되는 영상 및 음성을 인코딩하여 상기 결과정보로 생성하고, 상기 결과정보를 실시간 스트리밍으로 상기 사용자 장치에 제공하는 것을 특징으로 하는 웹 어플리케이션 서비스 제공 장치.
  7. 웹 어플리케이션을 실행하기 위해 필요한 가용 자원에 대한 정보인 디바이스 프로파일을 생성하여 관리하는 디바이스 프로파일 관리부;
    상기 웹 어플리케이션을 제공하는 웹 어플리케이션 서비스 제공 장치로 접속시 상기 웹 어플리케이션의 실행에 필요한 요구 자원에 대한 정보인 어플리케이션 프로파일을 상기 웹 어플리케이션 서비스 제공 장치로부터 수집하는 수집부; 및
    상기 디바이스 프로파일과 상기 어플리케이션 프로파일을 상호 비교하여 로컬 실행이 가능한지 여부를 판단하며, 판단 결과 로컬 실행이 가능한 경우 웹 브라우저를 통해 웹 어플리케이션 관련 데이터를 수신하여 실행하고, 판단 결과 로컬 실행이 불가능한 경우 상기 웹 어플리케이션 서비스 제공 장치와 연동하여 웹 어플리케이션의 실행에 따라 생성한 결과정보를 실시간 스트리밍으로 제공하는 클라우드 스트리밍 서버에 접속하여 상기 결과정보를 실시간 스트리밍 방식으로 수신하여 출력하는 서비스 제어부를 포함하는 웹 어플리케이션 서비스를 위한 사용자 장치.
  8. 청구항 7에 있어서,
    상기 서비스 제어부는 상기 어플리케이션 프로파일에 정의된 내용을 기초로 오프라인에서 실행되어야 하는 오프라인 웹 어플리케이션인 경우 웹 캐싱을 통해 생성된 캐시 파일을 이용하여 오프라인 웹 어플리케이션을 실행하는 것을 특징으로 하는 웹 어플리케이션 서비스를 위한 사용자 장치.
  9. 청구항 7에 있어서,
    상기 디바이스 프로파일 관리부는 현재 사용 상태에 따라 상기 가용 자원 중 상기 웹 어플리케이션의 실행에 할당 가능한 여유 자원에 대한 디바이스 가용성 정보를 생성하고,
    상기 서비스 제어부는 상기 비교에 따라 상기 가용 자원이 상기 요구 자원 이상인 경우 상기 디바이스 가용성 정보를 상기 어플리케이션 프로파일과 비교하여 상기 로컬 실행 여부를 판단하는 것을 특징으로 하는 웹 어플리케이션 서비스를 위한 사용자 장치.
  10. 웹 어플리케이션을 제공하는 웹 어플리케이션 서비스 제공 장치가 상기 사용자 장치로부터 가용 자원에 대한 정보인 디바이스 프로파일을 수신하는 디바이스 프로파일 수집 단계;
    상기 웹 어플리케이션 서비스 제공 장치가 상기 사용자 장치에 의해 선택된 상기 웹 어플리케이션의 실행 요청 수신시 상기 웹 어플리케이션의 실행에 필요한 요구 자원에 대한 정보인 어플리케이션 프로파일과 디바이스 프로파일을 비교하여 상기 사용자 장치에서 로컬 실행이 가능한지 여부를 판단하는 판단 단계; 및
    상기 웹 어플리케이션 제공 장치가 상기 판단 결과 로컬 실행이 가능한 경우 상기 사용자 장치의 웹 브라우저를 통해 상기 웹 어플리케이션이 실행되도록 상기 웹 어플리케이션 관련 데이터를 상기 사용자 장치로 전송하고, 로컬 실행이 불가능한 경우 상기 웹 어플리케이션의 실행에 따른 결과정보를 스트리밍 방식으로 전송하는 클라우드 스트리밍 서버를 통해 상기 웹 어플리케이션을 실행하여 상기 사용자 장치로 상기 결과정보를 실시간 스트리밍 방식으로 전송하는 서비스 단계를 포함하는 웹 어플리케이션 서비스 제공 방법.
  11. 청구항 10에 있어서,
    상기 판단 단계는 상기 웹 어플리케이션 서비스 제공 장치가 상기 비교에 따라 상기 가용 자원이 상기 요구 자원 이상인 경우 상기 가용 자원 중 상기 사용자 장치의 현재 사용 상태에 따라 상기 웹 어플리케이션에 할당할 수 있는 여유 자원에 대한 디바이스 가용성 정보를 수집하는 단계; 및
    상기 웹 어플리케이션 제공 장치가 상기 디바이스 가용성 정보를 상기 어플리케이션 프로파일과 비교하여 상기 로컬 실행이 가능한지 여부를 판단하는 단계를 더 포함하는 것을 특징으로 하는 웹 어플리케이션 서비스 제공 방법.
KR1020150017818A 2014-12-08 2015-02-05 웹 어플리케이션 서비스 제공 장치 및 방법, 그리고 이를 위한 사용자 장치 KR102310780B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020140175369 2014-12-08
KR20140175369 2014-12-08

Publications (2)

Publication Number Publication Date
KR20160069443A true KR20160069443A (ko) 2016-06-16
KR102310780B1 KR102310780B1 (ko) 2021-10-12

Family

ID=56354928

Family Applications (4)

Application Number Title Priority Date Filing Date
KR1020150016044A KR102261910B1 (ko) 2014-12-08 2015-02-02 클라우드 스트리밍 서비스를 위한 서비스 에러 검출 장치 및 이를 포함하는 종단간 서비스 모니터링 시스템 및 방법
KR1020150017818A KR102310780B1 (ko) 2014-12-08 2015-02-05 웹 어플리케이션 서비스 제공 장치 및 방법, 그리고 이를 위한 사용자 장치
KR1020150020700A KR102312354B1 (ko) 2014-12-08 2015-02-11 클라우드 스트리밍 서비스를 위한 서비스 품질 모니터링 시스템 및 방법, 그리고 컴퓨터 프로그램이 기록된 기록매체
KR1020150025970A KR102354803B1 (ko) 2014-12-08 2015-02-24 웹 어플리케이션 관리를 위한 사용자 장치 및 그 방법

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020150016044A KR102261910B1 (ko) 2014-12-08 2015-02-02 클라우드 스트리밍 서비스를 위한 서비스 에러 검출 장치 및 이를 포함하는 종단간 서비스 모니터링 시스템 및 방법

Family Applications After (2)

Application Number Title Priority Date Filing Date
KR1020150020700A KR102312354B1 (ko) 2014-12-08 2015-02-11 클라우드 스트리밍 서비스를 위한 서비스 품질 모니터링 시스템 및 방법, 그리고 컴퓨터 프로그램이 기록된 기록매체
KR1020150025970A KR102354803B1 (ko) 2014-12-08 2015-02-24 웹 어플리케이션 관리를 위한 사용자 장치 및 그 방법

Country Status (1)

Country Link
KR (4) KR102261910B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180055342A (ko) * 2016-11-17 2018-05-25 에스케이테크엑스 주식회사 클라우드 스트리밍 서비스 제공 방법 및 이를 위한 장치

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108023746B (zh) * 2016-11-02 2020-01-17 杭州海康威视数字技术股份有限公司 一种视频数据处理方法、装置及系统
KR101971013B1 (ko) * 2016-12-13 2019-04-22 나무기술 주식회사 빅데이터 기반의 클라우드 인프라 실시간 분석 시스템 및 그 제공방법
KR102013579B1 (ko) 2017-03-07 2019-08-23 한국전자통신연구원 스트리밍 서비스의 성능 확장 방법 및 이를 위한 장치
KR101763394B1 (ko) * 2017-04-24 2017-07-31 주식회사 모비젠 스트리밍 데이터 고속처리시스템을 모니터링하는 모니터링장치 및 그 방법
KR102410709B1 (ko) * 2017-06-30 2022-06-20 주식회사 넥슨코리아 컨텐츠 사용자의 로그 정보 생성 방법 및 장치
KR102016238B1 (ko) * 2017-12-05 2019-08-29 숭실대학교산학협력단 도커 컨테이너 관리 시스템 및 방법, 이를 수행하기 위한 기록매체
KR101869490B1 (ko) * 2018-01-11 2018-06-21 주식회사 모비젠 스트리밍 데이터 처리시스템의 이상동작 분석 장치 및 그 방법
KR101856543B1 (ko) * 2018-02-26 2018-05-11 주식회사 리앙커뮤니케이션즈 인공지능 기반의 장애 예측 시스템
KR101864291B1 (ko) * 2018-04-10 2018-07-13 강무진 페이지스피드인사이츠 연동 페이지최적화 관리방법
CN110852537A (zh) * 2018-07-26 2020-02-28 北京京东金融科技控股有限公司 服务质量检测方法和装置
KR102214609B1 (ko) * 2019-10-16 2021-02-09 에스케이브로드밴드주식회사 장애처리지원장치 및 그 동작 방법
KR20210065691A (ko) 2019-11-27 2021-06-04 삼성전자주식회사 서버 및 그 제어 방법
KR102083666B1 (ko) * 2019-12-04 2020-03-02 대한민국 클라우드 컴퓨팅 기반 서버 모니터링 시스템 및 방법
KR102188987B1 (ko) * 2019-12-18 2020-12-09 (주)비앤에스컴 서버 관리 장치를 구비한 클라우드 서버 및 로컬 서버를 이용하는 제로클라이언트 단말기용 클라우드 컴퓨팅 시스템의 운영 방법
CN112532972B (zh) * 2020-11-26 2023-10-03 北京百度网讯科技有限公司 直播业务的故障检测方法、装置、电子设备及可读存储介质
CN112654060B (zh) * 2020-12-18 2023-03-24 中国计量大学 一种装置异常检测方法及系统
KR102590136B1 (ko) * 2021-03-19 2023-10-16 주식회사 엘지유플러스 라이브 영상의 모니터링을 위한 클라우드 서버 및 그 동작방법
CN113312233A (zh) * 2021-04-30 2021-08-27 上海英众信息科技有限公司 一种电脑状态监控系统
KR20230099443A (ko) * 2021-12-27 2023-07-04 주식회사 이노그리드 인공지능을 이용한 엣지 클라우드 모니터링 데이터 수집 시스템 및 방법

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120016335A (ko) * 2010-08-16 2012-02-24 에스케이플래닛 주식회사 오프라인 실행을 위한 웹 페이지 사전 캐싱 시스템 및 방법
KR20120111187A (ko) 2011-03-31 2012-10-10 박정환 온라인 상에서의 웹 어플리케이션 공유 시스템
KR20140049449A (ko) * 2012-10-16 2014-04-25 한국전자통신연구원 홈 네트워크에서의 애플리케이션 이동성 관리 장치
KR20140099040A (ko) * 2013-02-01 2014-08-11 에스케이플래닛 주식회사 클라우드 스트리밍 기반의 데이터 전송 제어 방법, 시스템, 클라이언트 단말기 및 서비스장치

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100346185B1 (ko) * 2000-12-01 2002-07-26 삼성전자 주식회사 네트워크 관리 시스템의 장애관리 시스템 및 방법
KR20010035171A (ko) 2001-01-10 2001-05-07 정창욱 네트워크를 통한 어플리케이션 서비스 및 원격지 저장서비스 통합 관리 시스템 및 방법
US7814234B2 (en) * 2006-10-30 2010-10-12 Microsoft Corporation Offline execution of web based applications
KR20110045204A (ko) * 2009-10-26 2011-05-04 주식회사 엘지유플러스 웹사이트의 업데이트 정보 수신을 위한 이동통신 단말기, 그를 이용한 웹사이트의 업데이트 정보 제공시스템 및 제공방법
KR101482150B1 (ko) * 2010-05-10 2015-01-14 에스케이플래닛 주식회사 웹 어플리케이션 실행 장치 및 그의 웹 어플리케이션 관리 방법
KR101773908B1 (ko) * 2010-12-16 2017-09-01 에스케이플래닛 주식회사 애플리케이션 검증 시스템, 단말기 및 단말기에서의 화면 캡쳐 방법
KR20130053803A (ko) * 2011-11-16 2013-05-24 삼성전자주식회사 사용자 디바이스의 디버그 정보 제공 방법 및 시스템
KR20140011530A (ko) 2012-06-29 2014-01-29 한국전자통신연구원 클라우드 컴퓨팅 데이터 센터간 연결 경로 장애 관리 방법 및 그 장치
KR20140061629A (ko) * 2012-11-14 2014-05-22 주식회사 지벤파크 클라우드 서버 모니터링 시스템 및 방법
KR101445539B1 (ko) * 2013-02-04 2014-09-29 에스케이플래닛 주식회사 클라우드 스트리밍 서비스를 위한 서버의 테스트 방법, 이를 위한 장치 및 시스템
KR101403321B1 (ko) * 2013-02-12 2014-06-03 에스케이플래닛 주식회사 클라우드 스트리밍 서비스를 위한 서버의 테스트 방법, 이를 위한 시스템 및 장치

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120016335A (ko) * 2010-08-16 2012-02-24 에스케이플래닛 주식회사 오프라인 실행을 위한 웹 페이지 사전 캐싱 시스템 및 방법
KR20120111187A (ko) 2011-03-31 2012-10-10 박정환 온라인 상에서의 웹 어플리케이션 공유 시스템
KR20140049449A (ko) * 2012-10-16 2014-04-25 한국전자통신연구원 홈 네트워크에서의 애플리케이션 이동성 관리 장치
KR20140099040A (ko) * 2013-02-01 2014-08-11 에스케이플래닛 주식회사 클라우드 스트리밍 기반의 데이터 전송 제어 방법, 시스템, 클라이언트 단말기 및 서비스장치

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180055342A (ko) * 2016-11-17 2018-05-25 에스케이테크엑스 주식회사 클라우드 스트리밍 서비스 제공 방법 및 이를 위한 장치
US10560501B2 (en) 2016-11-17 2020-02-11 Sk Planet Co., Ltd. Method and apparatus for cloud streaming service

Also Published As

Publication number Publication date
KR102354803B1 (ko) 2022-01-25
KR20160069444A (ko) 2016-06-16
KR102261910B1 (ko) 2021-06-08
KR20160069442A (ko) 2016-06-16
KR102312354B1 (ko) 2021-10-15
KR20160069445A (ko) 2016-06-16
KR102310780B1 (ko) 2021-10-12

Similar Documents

Publication Publication Date Title
KR102310780B1 (ko) 웹 어플리케이션 서비스 제공 장치 및 방법, 그리고 이를 위한 사용자 장치
US10635379B2 (en) Method for sharing screen between devices and device using the same
WO2022156368A1 (zh) 推荐信息展示方法及装置
KR102279600B1 (ko) 휴대 기기에서의 동작 방법, 컨텐츠 재생 장치에서의 동작 방법, 휴대 기기 및 컨텐츠 재생 장치
KR102194795B1 (ko) 전력 제어를 위한 전자 장치 및 방법
US8904051B2 (en) Controlling multiple external device coupled to user equipment
US20130254291A1 (en) Method for sharing home screen
US10402222B2 (en) Task migration method and apparatus
KR20150032554A (ko) 무선 연결을 통한 콘텐트의 에너지 효율적 전송 기법
US10798153B2 (en) Terminal apparatus and server and method of controlling the same
US9497565B1 (en) Interface display method, device, terminal, server and system
KR20140073243A (ko) Http 메시지 처리 방법 및 장치
KR102090745B1 (ko) 전자장치에서 외부 디스플레이 장치를 이용하여 멀티태스킹을 수행하는 방법 및 장치
EP2963935A1 (en) Multi screen display controlled by a plurality of remote controls
WO2014089114A1 (en) Distributed cross-platform user interface and application projection
KR102509071B1 (ko) 전자 장치 및 이의 외부 장치를 제어하는 방법
US20160259611A1 (en) Method and apparatus for implementing a multi-screen system
CN112104905B (zh) 服务器、显示设备及数据传输方法
KR101749891B1 (ko) 클라우드 스트리밍 서비스에서의 자원 상황 기반 프레임 레이트 조절 방법 및 이를 위한 장치
US9326306B2 (en) Interactive remote windows between applications operating within heterogeneous operating systems on mobile and stationary devices
CN105122179A (zh) 显示接收的用户界面的设备
CN108464008B (zh) 电子设备和由电子设备控制的内容再现方法
CN105320532A (zh) 显示交互界面的方法、装置及终端
CN111782606A (zh) 显示设备、服务器和文件管理方法
KR20190084808A (ko) 기기의 어플리케이션에 선택적으로 네트워크 기능을 제공하는 기술 및 방법

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right