KR101709017B1 - 응용 소프트웨어 시용 시스템, 방법 및 그 서버와 사용자 장치 - Google Patents

응용 소프트웨어 시용 시스템, 방법 및 그 서버와 사용자 장치 Download PDF

Info

Publication number
KR101709017B1
KR101709017B1 KR1020150137314A KR20150137314A KR101709017B1 KR 101709017 B1 KR101709017 B1 KR 101709017B1 KR 1020150137314 A KR1020150137314 A KR 1020150137314A KR 20150137314 A KR20150137314 A KR 20150137314A KR 101709017 B1 KR101709017 B1 KR 101709017B1
Authority
KR
South Korea
Prior art keywords
application software
server
user device
application
user
Prior art date
Application number
KR1020150137314A
Other languages
English (en)
Other versions
KR20160040999A (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 KR20160040999A publication Critical patent/KR20160040999A/ko
Application granted granted Critical
Publication of KR101709017B1 publication Critical patent/KR101709017B1/ko

Links

Images

Classifications

    • 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/451Execution arrangements for user interfaces
    • G06F9/452Remote windowing, e.g. X-Window System, desktop virtualisation
    • 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
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • 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/08Protocols specially adapted for terminal emulation, e.g. Telnet
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Human Computer Interaction (AREA)
  • Information Transfer Between Computers (AREA)
  • Stored Programmes (AREA)
  • Computer Hardware Design (AREA)
  • Telephonic Communication Services (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

본 발명은 응용 소프트웨어 시용 시스템을 개시한다. 응용 소프트웨어 시용 시스템은 적어도 하나의 사용자 장치 및 사용자 장치와 통신 연결되는 서버를 포함한다. 서버는 응용 소프트웨어를 시용하는 사용자 장치의 입력에 대응되게 발생하는 요청 정보를 수신한다. 서버는 요청 정보에 따라 응용 소프트웨어의 일부를 실행하고, 사용자 장치와 양방향 통신 연결을 셋업한다. 서버와 사용자 장치는 양방향 통신 연결에 의해 적어도 하나의 영상 데이터와 적어도 하나의 제어 데이터를 전송한다. 본 발명은 응용 소프트웨어 시용 시스템의 시용방법, 서버 및 사용자 장치도 개시한다.

Description

응용 소프트웨어 시용 시스템, 방법 및 그 서버와 사용자 장치{SYSTEM, METHOD, SERVER AND DEVICE FOR TRIAL USE OF APPLICATION SOFTWARE}
본 발명은 응용 소프트웨어 시용 시스템, 방법 및 그 서버와 사용자 장치에 관한 것이다.
스마트 폰, 태블릿 컴퓨터의 보급과 더불어 이러한 모바일 사용자 장치와 매칭되는 모바일 응용 프로그램(mobile application, mobile app, app으로 약칭)은 우후죽순마냥 신속하게 생겨났다. 특히 모바일 사용자 장치에 설치되는 것이 적합한 이러한 소프트웨어에서, 사용자는 앱스토어(예를 들면 Google의 play스토어, Apple의 APP Store)를 통해 다운받아 즉시 설치 및 실행할 수 있으므로 매우 신속하고 편리하여 상이한 사용자 사이의 상이한 수요를 만족시킨다.
하지만, 기존의 앱스토어는 사용자가 구매하기 이전의 참조로 단지 정적 문자서술 및 이미지 또는 영상만을 제공할 수 있는 바, 응용 프로그램이 사용 수요에 부합되는지를 정확히 이해하려면 사용자는 선택의 여지가 없이 위험성을 감수하여 비용을 지불하고 다운받아 설치해야 한다. 물론 일부 사용자는 구매 후 수요에 부합되지 않는 것이 두려워 포기하기도 한다.
이런 문제를 극복하기 위하여 일부 업체에서는 사용자가 시용하도록 무료 버전을 제공한다. 이러한 무료 버전은 비록 비용을 지불하는 심리적 장애를 극복하였지만 다운로드, 설치 등 복잡한 단계를 피할 수 없다. 이 밖에, 소프트웨어의 내용에 대하여 만족하지 않으면, 또 별도로 다시 수동 삭제를 해야 하므로 귀찮을 뿐만 아니라 장치의 저장공간 및 컴퓨팅 리소스도 낭비한다.
상기 내용을 고려하여, 본 발명자는 사용자를 협조하여 응용 소프트웨어를 다운로드 및 설치하지 않고 심지어 프로그램을 시용하지 않아도 자신의 장치에서 시용할 수 있으므로 비용을 감소할 수 있을 뿐만아니라 심지어 피할 수 있고 네트워크 또는 하드웨어 리소스의 낭비를 감소할 수도 있으며, 이 밖에, 쓸데없는 조작단계와 다운로드의 대기 시간을 동시에 제거할 수도 있고 더욱 중요한 것은 사용자의 시도하려는 의향을 향상시킬 수 있어 광고 또는 마케팅의 효과를 향상시킬 수 있는 응용 소프트웨어 시용 시스템, 방법 및 그 서버와 사용자 장치를 제공한다.
본 발명은 사용자를 협조하여 응용 소프트웨어를 다운로드 및 설치하지 않고 심지어 프로그램을 시용하지 않아도 자신의 장치에서 시용할 수 있으므로 비용을 감소할 수 있을 뿐만아니라 심지어 피면할 수 있고 네트워크 또는 하드웨어 리소스의 낭비를 감소할 수도 있으며, 이 밖에, 쓸데없는 조작단계와 다운로드의 대기 시간을 동시에 제거할 수도 있고, 더욱 중요한 것은 사용자의 시도하려는 의향을 향상시킬 수 있어 광고 또는 마케팅의 효과를 향상시킬 수 있는 응용 소프트웨어 시용 시스템, 방법 및 그 서버와 사용자 장치를 제공하는 것을 목적으로 한다.
상기 목적을 달성하기 위하여, 본 발명에 따른 응용 소프트웨어 시용 시스템은 적어도 하나의 사용자 장치 및 사용자 장치와 통신 연결되는 서버를 포함한다. 서버는 응용 소프트웨어를 시용하는 사용자 장치의 입력에 대응되게 발생하는 요청 정보를 수신한다. 서버는 요청 정보에 따라 응용 소프트웨어의 일부를 실행하고, 사용자 장치와 양방향 통신 연결을 셋업한다. 서버와 사용자 장치는 양방향 통신 연결에 의해 적어도 하나의 영상 데이터와 적어도 하나의 제어 데이터를 전송한다.
일 실시예에서, 서버는 적어도 하나의 클러스터 노드를 포함하는 적어도 하나의 클러스터 연산 유닛을 포함하고 서버는 클러스터 노드로 응용 소프트웨어를 실행한다.
일 실시예에서, 클러스터 노드는 적어도 하나의 가상 컴퓨터를 포함하고 서버는 가상 컴퓨터로 응용 소프트웨어를 실행한다.
일 실시예에서, 가상 컴퓨터는 응용 소프트웨어에 대응되는 운영체제를 실행하고 운영체제에서 응용 소프트웨어를 실행한다.
일 실시예에서, 클러스터 노드는 각각 상이한 운영체제를 실행하는 복수 개의 가상 컴퓨터를 포함한다.
일 실시예에서, 다른 사용자 장치를 포함하고 서버는 다른 응용 소프트웨어를 시용하는 다른 사용자 장치에서의 입력에 대응되게 발생하는 다른 요청 정보를 수신하며 서버는 다른 요청 정보에 따라 동일한 가상 컴퓨터로 다른 응용 소프트웨어를 실행한다.
일 실시예에서, 가상 컴퓨터는 양방향 통신 연결에 의해 사용자 장치와 데이터를 전송하도록 입출력 에이전트를 실행한다.
일 실시예에서, 가상 컴퓨터가 실행한 입출력 에이전트의 수량은 가상 컴퓨터가 실행한 응용 소프트웨어의 수량과 대응된다.
일 실시예에서, 서버는 서버가 응용 소프트웨어를 실행한 스냅 샷 데이터(snap shot data)를 저장하는 메모리 유닛을 포함한다.
일 실시예에서, 서버는 스냅 샷 데이터에 따라 응용 소프트웨어를 실행한다.
일 실시예에서, 서버는 요청 정보를 수신하는 응용 프로그램 프로그래밍 인터페이스 유닛, 요청 정보에 따라 동작 관리 데이터를 발생하는 동작 관리 유닛 및 동작 관리 데이터에 따라 응용 소프트웨어 실행 관련 데이터를 발생하는 것을 얻는 리소스 할당 유닛을 포함하고, 서버는 응용 소프트웨어 실행 관련 데이터에 따라 응용 소프트웨어를 실행한다.
상기 목적을 달성하기 위하여, 본 발명은 서버 및 적어도 하나의 사용자 장치를 포함하는 응용 소프트웨어 시용 시스템에 응용되고, 사용자 장치에 통신 연결되는 서버에 있어서, 서버는 적어도 하나의 메모리 유닛, 적어도 하나의 전송 유닛 및 메모리 유닛 및 전송 유닛과 각각 통신 연결하는 하나 또는 복수 개의 연산 유닛을 포함하고, 전송 유닛은 사용자 장치의 입력에 대응되게 발생하는 요청 정보를 수신하고 하나 또는 복수 개의 연산 유닛은 요청 정보에 따라 메모리 유닛에 저장된 응용 소프트웨어의 적어도 일부를 실행하며 전송 유닛에 의해 사용자 장치와 양방향 통신 연결을 셋업하고 서버와 사용자 장치는 양방향 통신 연결에 의해 적어도 하나의 영상 데이터와 적어도 하나의 제어 데이터를 전송한다.
일 실시예에서, 적어도 하나의 클러스터 노드를 포함하는 적어도 하나의 클러스터 연산 유닛을 포함하고 서버는 클러스터 노드로 응용 소프트웨어를 실행한다.
일 실시예에서, 클러스터 노드는 적어도 하나의 가상 컴퓨터를 포함하고 서버는 가상 컴퓨터로 응용 소프트웨어를 실행한다.
일 실시예에서, 가상 컴퓨터는 응용 소프트웨어에 대응되는 운영체제를 실행하고 운영체제에서 응용 소프트웨어를 실행한다.
일 실시예에서, 클러스터 노드는 각각 상이한 운영체제를 실행하는 복수 개의 가상 컴퓨터를 포함한다.
일 실시예에서, 다른 응용 소프트웨어를 시용하기 위한 다른 사용자 장치의 입력에 대응되게 발생하는 다른 요청 정보를 수시하고, 서버는 다른 요청 정보에 따라 동일한 가상 컴퓨터러 다른 응용 소프트웨어를 실행한다.
일 실시예에서, 가상 컴퓨터는 양방향 통신 연결에 의해 사용자 장치와 데이터를 전송하도록 입출력 에이전트를 실행한다.
일 실시예에서, 가상 컴퓨터가 실행한 입출력 에이전트의 수량은 가상 컴퓨터가 실행한 응용 소프트웨어의 수량과 대응된다.
일 실시예에서, 메모리 유닛은 서버가 응용 소프트웨어를 실행한 스냅 샷 데이터를 저장한다.
일 실시예에서, 서버는 스냅 샷 데이터에 따라 응용 소프트웨어를 실행한다.
일 실시예에서, 요청 정보를 수신하는 응용 프로그램 프로그래밍 인터페이스 유닛, 요청 정보에 따라 동작 관리 데이터를 발생하는 동작관리 유닛 및 동작 관리 데이터에 따라 응용 소프트웨어 실행 관련 데이터를 발생하는 것을 얻는 리소스 할당 유닛을 포함하고 서버는 응용 소프트웨어 실행 관련 데이터에 따라 응용 소프트웨어를 실행한다.
상기 목적을 달성하기 위하여, 본 발명은 서버 및 사용자 장치를 포함하는 응용 소프트웨어 시용 시스템에 응용되고, 서버와 통신 연결되며 적어도 하나의 저장소자 및 하나 또는 복수 개의 피연산자 조각을 포함하고, 저장소자는 복수 개의 인스트럭션(instruction)을 저장하며 하나 또는 복수 개의 피연산자 조각과 결합되는 사용자 장치에 있어서, 하나 또는 복수 개의 피연산자 조각은 인스트럭션을 실행하기 위하여 입력을 수신하는 동작; 입력에 따라 응용 소프트웨어를 시용하기 위한 요청 정보를 상기 서버에 송출하는 동작; 서버와 양방향 통신 연결을 셋업하는 동작; 및 양방향 통신 연결에 의해 서버에 서버가 응용 소프트웨어의 적어도 일부를 실행하여 발생된 적어도 하나의 영상 데이터와 응용 소프트웨어와 상호 작용하는 적어도 하나의 제어 데이터를 전송하는 동작을 수행한다.
일 실시예에서, 응용 소프트웨어의 일부를 실행하기 이전, 서버는 사용자 장치의 시용환경을 확인한다.
일 실시예에서, 응용 소프트웨어의 일부를 실행하기 이전, 서버는 저장된 응용 소프트웨어의 상태를 확인한다.
일 실시예에서, 하나 또는 복수 개의 피연산자 조각이 이러한 인스트럭션을 실행하기 위하여 영상 데이터의 전송이 종료된 후 응용 소프트웨어의 다운로드 데이터를 로딩하는 동작을 수행한다.
상기 목적을 달성하기 위하여, 본 발명은 적어도 하나의 사용자 장치 및 서버를 포함하는 응용 소프트웨어 시용 시스템에 응용되고, 서버와 사용자 장치가 통신 연결하는 응용 소프트웨어의 시용방법에 있어서, 사용자 장치는 입력과 대응하여 응용 소프트웨어를 시용하는 요청 정보를 발생하는 단계; 서버가 요청 정보를 수신하는 단계; 서버가 요청 정보에 따라 응용 소프트웨어의 적어도 일부를 실행하는 단계; 서버가 사용자 장치와 양방향 통신 연결을 셋업하는 단계; 및 서버와 사용자 장치는 양방향 통신 연결에 의해 적어도 하나의 영상 데이터와 적어도 하나의 제어 데이터를 전송하는 단계를 포함한다.
일 실시예에서, 영상 데이터의 전송이 종료된 후, 사용자 장치는 응용 소프트웨어의 다운로드 데이터를 로딩한다.
요약하면, 본 발명의 응용 소프트웨어 시용 시스템, 방법 및 그 서버와 사용자 장치에서, 응용 소프트웨어는 서버에서 실행되고 다시 네트워크에 의해 사용자 장치와 영상화면과 제어동작의 전송을 수행하므로 사용자로 하여금 다운로드나 설치를 하지 않은 상황에서 시용할 수 있게 하여, 비용에 대한 고려를 해소할 뿐만 아니라 네트워크 또는 하드웨어 리소스의 낭비를 감소시킬 수도 있다. 다운로드나 설치를 하지 않아도 되므로 쓸데없는 조작단계와 다운로드의 대기 시간을 동시에 제거하므로 본 발명의 시용방식은 시용 소프트웨어보다 더 우수하고 사용자의 시도하려는 의향을 더 향상시킬 수 있어 광고 또는 마케팅의 효과를 향상시킴은 물론이다.
또한 응용 소프트웨어는 서버에서 실행되므로 사용자 장치의 하드웨어의 사양에 한정되지 않아 사용자가 원활하게 시용할 수 있도록 한다. 특히 응용 소프트웨어에서의 대량의 게임 소프트웨어에서 이들은 보편적으로 높은 사양의 하드웨어 시스템을 수요하는 바, 본 발명을 통하여 이 문제를 해결할 수 있다.
도1은 본 발명의 응용 소프트웨어 시용 시스템의 일 실시예의 시스템 구조 모식도이다.
도2는 도1에 도시된 서버의 구조 모식도이다.
도3은 도1에 도시된 서버의 다른 실시양태이다.
도4는 본 발명의 응용 소프트웨어 시용 시스템의 서버의 다른 실시예의 구조 모식도이다.
도5 내지 도8은 본 발명의 일 실시예의 시행 상황 모식도이다.
도9는 본 발명의 일 실시예의 응용 소프트웨어의 시용방법의 단계 흐름도이다.
이하 관련 도면을 참조하여 본 발명의 바람직한 실시예의 응용 소프트웨어 시용 시스템, 방법 및 그 서버와 사용자 장치를 설명한다.
우선, 이하 실시예에서의 「응용 소프트웨어」는 사용자의 어떠한 응용 목적에 대하여 작성한 다양한 소프트웨어 또는 프로그램을 포함하는 바, 예를 들면 모바일 응용 프로그램(mobile application; mobile app, app로 약칭할 수 있고 핸드폰 응용 프로그램, 모바일 응용 프로그램, 핸드폰 app으로 부를 수도 있음) 또는 개인용 컴퓨터가 실행한 프로그램일 수 있지만 이에 한정되지 않는다.
도1은 본 발명의 응용 소프트웨어 시용 시스템의 일 실시예의 시스템 구조 모식도인 바, 도1에 도시된 바와 같이, 본 실시예의 응용 소프트웨어 시용 시스템(1)은 사용자 장치(2) 및 서버(3)를 포함하고, 바람직하게는 복수 개의 사용자 장치(2)를 포함한다. 사용자 장치(2)는 스마트 폰, 태블릿 컴퓨터, 모바일 디지털 비서, 네트워크 기능을 구비한 캠코더, 착용형 장치, 데스크톱 컴퓨터, 노트북 컴퓨터 또는 네트워크 기능을 구비한 임의의 장치일 수 있다. 본 실시예에서, 사용자 장치(2)는 스마트 폰을 예로 들어 설명하였고 무선 통신의 방식으로 네트워크에 의해 서버(3)와 통신 연결한다.
사용자가 사용자 장치(2)에서 입력동작을 수행하여 상기 응용 소프트웨어를 시용하는 것과 관련된 아이콘(icon) 또는 객체(object)를 터치할 경우, 사용자 장치(2)는 하나의 응용 소프트웨어를 시용하기 위한 요청 정보를 대응되게 발생함과 아울러 상기 요청 정보를 서버(3)에 전송한다.
본 실시예에서, 서버(3)는 단일적인 독립적인 호스트이다. 도2는 도1에 도시된 서버의 구조 모식도인 바, 도2에 도시된 바와 같이, 서버(3)는 적어도 하나의 메모리 유닛(31)、적어도 하나의 전송 유닛(32) 및 연산 유닛(33)을 구비한다. 본 실시예의 기타 양태에서, 서버(3)는 컴퓨팅 효능을 향상하도록 복수 개의 연산 유닛을 구비함은 물론이다. 서버(3)는 전송 유닛(32)에 의해 요청 정보을 수신하고, 요청 정보의 내용에 따라 연산 유닛(33)과 대응되는 응용 소프트웨어(311)의 적어도 일부를 실행한다. 응용 소프트웨어(311)는 미리 업로드하는 방식으로 메모리 유닛(31) 내에 저장된 것이고 바람직하게는 메모리 유닛(31) 내에 복수 개의 상이한 응용 소프트웨어(311)가 저장되고 이들의 유래는 상이한 응용 소프트웨어 개발어자 또는 광고주이며 사용자가 상이한 응용 소프트웨어(311)를 시용하도록 제공된다.
특별히 설명해야 할 것은, 본 실시예에서 응용 소프트웨어(311)의 적어도 일부를 실행하는 것은 응용 소프트웨어(311) 내용의 하나의 세그먼트(segment)를 전부 실행하는 것을 포함하는 바, 예를 들면 응용 소프트웨어(311)는 10개 레벨을 구비하는 게임이고 일부를 실행하는 것은 단지 제3 레벨의 내용을 실행하는 것이다. 하지만 기타 실시예에서, 일부를 실행하는 것은 일부 기능을 실행하는 것일 수도 있다. 서버(3)는 사용자가 응용 소프트웨어를 완전하게 한번 사용하도록 응용 소프트웨어(311)의 전부를 실행할 수도 있음은 물론이다.
연산 유닛(33)은 요청 정보의 내용에 따라 전송 유닛(32)과 사용자 장치(2)로 하여금 하나의 양방향 통신 연결을 셋업하도록 제어한다. 구체적으로 말하면, 전송 유닛(32)은 Websocket 통신 프로토콜(Protocol)에 의해 사용자 장치(2)와 양방향 통신 연결을 셋업한다. Websocket 통신 프로토콜 이외에, 기타 달성할 수 있는 수단은 UDP 네트워크 프로토콜(network protocol), TCP 네트워크 프로토콜 또는 RTP, RTMP, RTSP 등과 같이 상기 두가지 통신 프로토콜을 기반으로 하는 기타 미디어 전송 프로토콜에 의한 수단을 더 포함할 수 있다. 양방향 통신 연결을 통하여 사용자 장치(2)는 서버(3) 사이에서 실시간(real-time) 데이터 교환을 수행할 수 있어 서버(3)가 응용 소프트웨어(311)를 실행하여 발생된 영상 데이터가 사용자 장치(2)에 전송되어 표시되게 하고 사용자가 사용자 장치(2)에서의 입력제어도 제어 데이터의 방식으로 서버(3)에 전송될 수 있게 된다. 입력 제어는 터치입력 또는 음성입력을 예로 들 수 있지만 이에 한정되지 않는다. 응용 소프트웨어(311)는 서버(3)에서 실행되므로 사용자 장치(2)는 단지 영상화면을 수신하는 것과 입력동작을 응용 소프트웨어(311)에 대한 입력 인스트럭션로 서버(3)에 피드백하는 것만 하면 되므로 사용자 장치단에 다운로드와 설치를 하지 않아도 응용 소프트웨어(311)를 시용하는 효과에 도달할 수 있다.
물론, 양방향 통신 연결 사이에서 전송한 데이터는 응용 소프트웨어를 실행하여 발생한 오디오 데이터 또는 사용자 장치(2)의 센서가 감지한 센싱 데이터 등과 같은 다양한 데이터를 더 포함할 수 있고, 이들은 모두 사용자가 응용 소프트웨어를 시용하는 진실감을 강화시킬 수 있다. 구체적으로 말하면, 전송할 수 있는 데이더는 블루투스 신호, 3축 가속도계 또는 자이로스코프 등 동작 감지 신호, 마이크 음성 입력 신호 또는 카메라가 캡처한 영상 신호를 더 포함한다.
이 밖에 영상 데이터에 대하여 보충 설명하면 아래와 같다. 여기서 영상 데이터는 적어도 2가지 상이한 형태일 수 있다. 하나는 프레임 버퍼(framebuffer)의 내용이고, 이는 서버(3)가 이미 랜더링(render) 완료한 하나 또는 여러개의 영상이다. 프레임 버퍼 내용의 전송은 직접 이미지를 전송하여 달성할 수 있고 코딩과 스트리밍(streaming)의 방식으로 달성할 수도 있는 바, 다시 말하면 서버(3)를 이용하여 영상에 대하여 코딩을 하여 사용자 장치(2)에 전송된 후 다시 디코딩(decoding) 하는 방식이다. 두번째 영상 데이터는 드로잉(drawing) 인스트럭션일 수 있고, 이는 서버(3)를 이용하여 사용자 장치(2)에 전송시키고, 사용자 장치(2)가 드로잉 인스트럭션을 수신한 후, 다시 랜더링 컴퓨팅을 수행해 나타낸다. 다른 전송수단도 서버(3)와 사용자 장치(2) 사이에서 전송되는 오디오 데이터와 같은 기타 다양한 데이터에 사용될 수 있음은 물론이다.
사용자 장치(2)는 영상 데이터를 수신한 후 하나의 영상화면을 나타낼 수 있고 상기 영상화면에서의 입력동작도 대응한 효과를 발생하는 바, 예를 들면 영상화면에서의 목록 아이콘을 터치하면 복수 개의 옵션으로 구성된 리스트를 호출해내는 것이다. 따라서, 응용 소프트웨어 시용 시스템이 사용자 장치(2)에 하나의 인터랙티브 영상 인터페이스(Interactive video interface)를 형성하여 영화만 재생시키는 일반적인 시용 감수와 다른 것으로 볼 수 있다.
도3은 도1에 도시된 서버의 다른 실시양태이다. 본 실시양태에서 서버(3a)는 메모리 유닛, 전송 유닛 및 연산 유닛을 동일하게 구비한 하드웨어 구조이지만 메모리 유닛과 연산 유닛에 대하여 더 진일보로 리소스 할당하여 복수 개의 가상 컴퓨터(312)(도3에서는 3개를 예로 함)를 형성한다. 매 하나의 가상 컴퓨터(312)는 일부 연산 유닛 리소스을 사용하여 메모리 유닛에 저장된 운영체제(3121)를 실행함으로써 상기 운영체제(3121)의 환경에서 시용하고자 하는 응용 소프트웨어(3122)를 실행한다. 운영체제(3121)와 시용하고자 하는 응용 소프트웨어(3122)는 대응되는 관계를 구비해야 하는 바, 다시 말하면 응용 소프트웨어(3122)가 안드로이드(Android) 버전일 경우, 가상 컴퓨터(312) 운행시 반드시 안드로이드의 동작환경을 발생해야 하고 응용 소프트웨어(3122)가 iOS 버전일 경우, 가상 컴퓨터(312) 운행시 반드시 iOS의 동작환경을 발생해야 한다. 이 밖에, 가상 컴퓨터(312)는 전송 유닛(32)에 의해 사용자 장치(2)(도1을 동시에 참조 바람)와 데이터를 교환하는 목적을 달성하도록 전송 유닛(32)(도2를 동시에 참조바람)과 데이터를 전송하기 위한 입출력 에이전트 (Input/Output agent, I/O agent로 약칭) (3123)를 더 실행한다. 또한 본 실시양태에서, 매 하나의 가상 컴퓨터(312)가 실행한 입출력 에이전트(3123)의 수량은 동일한 가상 컴퓨터(312)가 실행한 응용 소프트웨어(3122)의 수량과 대응되고 서로 짝을 짓을 수 있다. 구체적으로 말하면, 만약 하나의 가상 컴퓨터(312) 내에서 2개의 응용 소프트웨어(3122)를 실행해야 해야 할 경우 상기 가상 컴퓨터(312)는 2개의 입출력 에이전트(3123)가 필요하다. 상기 내용에 의하면, 사용자 장치(2)와 서버(3a)의 가상 컴퓨터(312) 사이의 데이터 교환은 혼동되지 않아 단일한 하나의 가상 컴퓨터(312)가 복수 개의 응용 소프트웨어(3122)를 실행할 수 있어 멀티 태스킹(multitasking)의 효과에 도달하고 리소스 사용 효율을 진일보로 더 향상시킨다.
도3을 참고하면, 서버(3a)로 하여금 복수 개의 가상 컴퓨터(312) 사이에서 통신 또는 데이터 교환할 수 있고 개별적으로 독립할 경우의 통합 장애를 극복하도록 상기 가상 구조(313)는 하드웨어 리소스에 대하여 가상화할 수 있어, 복수 개의 가상 컴퓨터(312)는 독립적인 하드웨어 리소스을 공유할 수 있으므로 매개 가상 컴퓨터(312)가 운행하는 플랫폼으로 되는 가상 구조(313)를 더 실행한다. 본 실시예에서, 가상 구조(313)는 소프트웨어 KVM(Kernel-based Virtual Machine)을 운행하는 유사한 운행원리를 기반으로 하는 소프트웨어이고 서버(3a)의 연산 유닛, 메모리 유닛 등 하드웨어 리소스를 가상화시켜 발생한다. 기타 실시예에서, Xen 또는 VMware 등 소프트웨어에 의해 가상 구조를 발생하는 효과에 도달할 수도 있음은 물론인 바 본 발명은 이에 한정되지 않는다.
도4는 본 발명의 응용 소프트웨어 시용 시스템의 서버의 다른 실시예의 구조 모식도인 바, 도4에 도시된 바와 같이, 본 실시예의 서버(3b)는 복수 개의 독립적인 호스트로 네트워크 프로토콜에 의해 서로 통신 연결되어 조성됨으로써 효과적으로 리소스를 이용한다. 서버(3b)는 응용 프로그램 프로그래밍 인터페이스 유닛(또는 API server라고 부름)(34b), 동작관리 유닛(service session manager)(35b), 리소스 할당 유닛(resource pool manager)(36b), 적어도 하나의 연산 유닛(33b), 적어도 하나의 메모리 유닛(31b) 및 전송 유닛(32b)을 포함한다. 상기 유닛과 독립적인 호스트 사이의 관계는 다양한 조합이 있을 수 있고 서로 네트워크 프로토콜에 의해 통신 연결되며 각각 특정의 기능을 운행한다. 예를 들면 본 실시예에서 응용 프로그램 프로그래밍 인터페이스 유닛(34b), 동작관리 유닛(35b)과 리소스 할당 유닛(36b)은 하나의 독립적인 호스트 내에 위치하고 하나의 연산 유닛(33b)은 다수의 독립적인 호스트로 구성된다. 연산 유닛(33b)은 복수 개의 독립적인 호스트를 포함하므로 본 실시예 중의 연산 유닛(33b)은 클러스터 연산 유닛(cluster computing unit)라 불릴 수 있고 그 중의 매 하나의 독립적인 호스트는 클러스터 노드(cluster node)(331)라고 불릴 수 있다. 기타 실시예에서 상기 각 유닛은 각자 독립된 독립적인 호스트일 수 있음은 물론인 바 본 발명은 이에 한정되지 않는다.
응용 프로그램 프로그래밍 인터페이스 유닛(34b)은 사용자 장치 (도1을 동시에 참조바람) (2)에 의해 실행되고 접촉되어 시용 요청을 발송할 수 있는 응용 프로그램과 서로 대응(양자 사이는 app와 API의 관계임)되는 응용 프로그램 프로그래밍 인터페이스(341)를 실행하므로 서버(3b)는 응용 프로그램 프로그래밍 인터페이스 유닛(34b)에 의해 사용자 장치(2)의 요청 정보를 수신할 수 있고 응용 프로그램에 의해 요청 정보를 발송할 수 있다.
요청 정보는 동작관리 유닛(35b)에 전송된다. 동작관리 유닛(35b)은 요청 정보 내용의 판독, 응용 소프트웨어 상태 확인, 정보 가이드, 응용 소프트웨어 운영시간 관리 및 온라인 상태 확인 등을 포함하는 서버(3b)와 관련된 운행 정보를 제어 관리한다. 동작관리 유닛(35b)은 요청 정보의 내용을 분석한 후 동작 관리 데이터를 발생하고 상기 동작 관리 데이터에 의해 리소스 할당 유닛(36b)에 상기 응용 소프트웨어를 준비 실행할 상태를 문의한다. 상태가 비정상이면, 비정상 메시지를 사용자 장치(2)로 반환하는 동시에 리소스 할당 유닛(36b)에 의해 리소스를 조정하고 연산 유닛(33b)에 의해 응용 프로그램을 복구한다. 상태가 정상이면 동작관리 유닛(35b)은 동작 관리 데이터에 리소스 할당 유닛(36b)이 적어도 하나의 연산 유닛(33b) 중의 하나의 클러스터 노드(331)를 할당하도록 통지하고, 리소스 할당 유닛(36b)에 동작 관리 데이터에 따라 응용 소프트웨어 실행 관련 데이터를 발생하며 통지에 근거하여 상기 클러스터 노드(331)는 응용 소프트웨어를 실행한다. 상기의 동작 관리 데이터 또는 응용 소프트웨어 실행 관련 데이터는 하나의 명령 인스트럭션 또는 복수 개의 명령 인스트럭션의 집합일 수 있다.
본 실시예에서, 클러스터 노드(331)가 응용 소프트웨어를 실행하는 방식은 전술한 실시예의 서버(3, 3a)의 2가지 양태를 참조할 수 있는 바, 즉 하드웨어 리소스을 직접 이용하여 응용 소프트웨어를 실행하거나, 또는 가상 컴퓨터의 방식으로 실행하는 것이고, 여기서 단지 가상 컴퓨터로 예제로 대표하여 설명하지만 한정하는 것은 아니다. 상세한 실시 방식은 전술한 내용을 참조할 수 있는 바, 여기서 다시 설명하지 않는다.
본 실시예에서, 서버(3b)의 메모리 유닛(31b)은 하나의 독립적인 독립적인 호스트이고 메모리 유닛(31b)은 응용 소프트웨어의 시용이 요청되기 이전에 서버(3b)가 가상 컴퓨터(3311)로 응용 소프트웨어를 미리 실행하여 하나의 특정 시점에서 스냅 샷(system snapshot)된 이미지 데이터인 스냅 샷 데이터(snapshot data)(314)를 저장한다. 스냅 샷 데이터(314) 내에는 운영체제 이미지(OS image)(3141) 및 응용 소프트웨어 이미지(application software image)(3142)가 포함된다. 이 밖에, 메모리 유닛(31b)은 응용 소프트웨어의 시용을 요청하기 이전에 상기 응용 소프트웨어로 하여금 이미 실행된 과정을 기록하도록 응용 소프트웨어 기록 데이터(315)를 더 저장할 수 있다.
이로써, 응용 소프트웨어의 개발자 또는 서버 관리자는 응용 소프트웨어를 미리 업로드하여 메모리 유닛(31b)에 저장할 수 있고 가상 컴퓨터(3311)를 사용하여 상기 응용 소프트웨어를 실행할 수 있다. 가상 컴퓨터(3311)가 개발자 또는 서버 관리자가 사용자에게 시용을 제공하려는 시작점까지 실행되었을 경우, 스냅 샷을 하고 스냅 샷 데이터(314)를 발생하여 저장한다. 따라서, 클러스터 노드(331)가 가상 구조(3312)에서 응용 소프트웨어를 실행하는 가상 컴퓨터(3311)를 발생하려고 할 경우, 리소스 할당 유닛(36b)은 클러스터 노드(331)로 하여금 메모리 유닛(31b) 중의 하나의 특정 스냅 샷 데이터(314)를 취득하도록 지시하므로 사용자가 시용할 경우 개발자 또는 서버 관리자가 원하는 지점에서 직접 시작할 수 있어 처음부터 시작하지 않아도 되고 사용자가 시용할 때의 매력 정도를 더 증가시킬 수 있다. 이 밖에 설명해야 할 것은, 동작관리 유닛(35b)이 연산 유닛(33b)의 동작시간을 관리할 수 있으므로 응용 소프트웨어를 시용하는 시간의 길이를 설정할 수 있고 이를 통하여 사용자가 응용 소프트웨어를 시용할 때의 종료시점을 설정할 수 있다.
본 실시예에서, 전송 유닛(32b)은 발생된 영상 데이터 및 사용자의 입력 데이트를 포함한 다양한 입출력이 서버(3b)와 사용자 장치(2) 사이에서 교환될 수 있도록 동작관리 유닛(35b)로 하여금 응용 소프트웨어가 정상적으로 실행할 수 있는 것을 확인하도록 한 후 동작관리 유닛(35b)이 사용자 장치(2)와 양방향 통신 연결을 셋업하는 임무를 할당한 것을 책임지고 실행하기 위한 전송 게이트웨이이다. 또한 전송 유닛(32b)이 상기 기능을 구비하므로 입력/출력 게이트웨이 (I/O gateway)라고 부를 수도 있다. 전송 유닛(32b)과 사용자 장치(2)가 양방향 통신 연결을 셋업하는 방식은 Websocket통신 프로토콜에 의하거나 또는 UDP 네트워크 프로토콜, TCP 네트워크 프로토콜 또는 RTSP 등과 같은 기타 두가지 통신 프로토콜을 기반으로 하는 기타 미디어 전송 프로토콜에 의할 수 있는 바, 본 발명은 이에 한정되지 않으며 전송 유닛(32b)은 하나의 단일 독립적인 호스트 또는 복수 개의 독립적인 호스트의 조합일 수 있고 통신 프로토콜의 실시 세부사항은 모두 본 발명이 속하는 기술분야의 통상의 지식을 가진 자가 이해할 수 있으므로 여기서 다시 설명하지 않는다.
양방향 통신 연결을 셋업하고 서버(3b)가 클러스터 노드(331)에 의해 응용 소프트웨어를 실행한 후 사용자가 어떻게 시용하는가 하는 것은 상기 설명을 참조할 수 있다.
본 실시예에서, 서버(3b)는 동시에 복수 개의 상이한 사용자 장치(2)의 요청 정보를 수신할 수 있고 매 하나의 요청 정보는 상이한 응용 소프트웨어를 시용하기 위한 요청일 수 있다. 하지만, 동일한 운영체제 환경에서 실행된 응용 소프트웨어라면, 클러스터 노드(331)는 멀티태스크 또 리소스를 절약하는 효과에 도달하도록 동일한 가상 컴퓨터(3311)를 이용하여 동시에 실행할 수 있다. 다시 말하면, 하나의 가상 컴퓨터(3311)는 하나의 운영체제를 운영할 수 있고 이러한 환경하에서 2개 또는 2개 이상의 상이한 응용 프로그램을 실행할 수 있다.
본 발명의 또 다른 실시예에서, 서버는 개발 보드(development board)를 핵심으로 운행할 수 있어 하드웨어 조합에 유연성을 더 구비한다.
이하, 한 사용자가 사용자 장치를 실제 조작하여 시용 요청을 제출하는 것을 시작으로 본 발명의 실시 세부사항을 진일보로 설명한다. 배합되는 시스템 구조는 도1과 도4에 도시된 것을 동시에 참조하길 바란다.
도5는 본 발명의 일 실시예의 시행 상황 모식도인 바, 도5에 도시된 바와 같이, 사용자가 사용자 장치(2)를 조작하고 브라우저(browser)(21)를 사용할 경우, 브라우저(21)의 웹페이지에는 사용자에게 하나의 응용 소프트웨어를 판매하기 위한 광고객체(22)가 나타난다. 사용자가 광고객체(22)를 터치한 후, 사용자 장치(2)는 요청 정보를 서버 (도4를 동시에 참조바람) (3b)에 발송한다. 서버(3b)의 응용 프로그램 프로그래밍 인터페이스 유닛(34b)은 요청 정보를 수신하고 요청 정보를 동작관리 유닛(35b)으로 전송한다. 동작관리 유닛(35b)은 리소스 할당 유닛(36b)에 의해 응용 프로그램의 상태를 확인하고 상태가 정상이면, 리소스 할당 유닛(36b)이 하나의 가상 컴퓨터(3311)를 할당하여 응용 소프트웨어를 실행하도록 지시한다. 가상 컴퓨터(3311)는 서버(3b)가 요청 정보를 수신하기 이전의 일정 시간에 미리 준비 완성된 것인 바, 즉 가상 컴퓨터(3311)는 스냅 샷 데이터(314)(운영체제 이미지(3141) 및 응용 소프트웨어 이미지(3142)를 포함함)를 미리 탑재하여 언제든 응용 소프트웨어를 실행할 수 있는 것이다. 바람직하게는, 동작관리 유닛(35b)은 설정에 따라 클러스터 노드(331)가 복수 개의 가상 컴퓨터(3311)를 발생하도록 미리 지시할 수 있다.
이 밖에, 동작관리 유닛(35b)도 요청 정보에 휴대된 사용자 장치(2)의 위치 데이터를 분석하고 전송 유닛(32b)로 하여금 사용자 장치(2)와 양방향 통신 연결을 셋업하도록 할당한다. 양방향 통신 연결이 셋업된 후, 응용 소프트웨어는 발생된 영상 데이터와 오디오 데이터가 즉시 실시간 스트리밍하는 방식으로 사용자 장치(2)에 전송되게 실행하고, 하나의 인터랙티브 영상 인터페이스(23)로 나타내는 바, 도6과 같이 이에 도시되는 것은 본 발명의 일 실시예의 시행 상황 모식도이다.
양방향 통신 연결을 기반으로, 사용자가 사용자 장치(2)에서의 입력동작도 가상 컴퓨터(3311)로 피드백할 수 있고, 대응되는 입력효과를 발생할 수 있다. 도7은 본 발명의 일 실시예의 시행 상황 모식도인 바, 도7에 도시된 바와 같이, 사용자가 인터랙티브 영상 인터페이스(23)에서 드래그 입력을 하고, 상기 입력은 밧줄을 자르는 것과 대응되는 효과를 발생하여 시용 목적을 달성한다.
도8에 도시된 바와 같이, 이는 본 발명의 일 실시예의 시행 상황 모식도인 바, 사용자가 터치한 후 상기 응용 소프트웨어를 다운로드할 수 있는 웹페이지와 연결하거나 또는 터치 후 응용 소프트웨어의 다운로드를 직접 수행하도록 시용이 종료된 후 사용자 장치(2)에서 소프트웨어의 다운로드 데이터를 로딩하여 다운로드 화면(24)을 표시한다. 사용자가 다운로드할 의향이 없으면 다운로드 화면(24)을 닫으므로써 사용자 장치(2)는 시용전의 상태로 즉시 복구되어 시용전 브라우저를 사용해 데이터를 검색하는 것과 같은 완료되지 않은 동작을 계속하여 실행할 수 있다.
본 실시예의 기타 양태에서, 서버(도4를 동시에 참조 바람)(3b)는 응용 소프트웨어를 실행하기 이전, 먼저 사용자 장치(2)의 시용 환경을 확인할 수 있다. 시용 환경은 기기의 하드웨어 사용 및/또는 네트워크 온라인 상태를 포함하지만 이에 한정되지 않는다. 사용자 장치(2)의 시용 환경을 확인하는 방식은 적어도 2가지가 있을 수 있는 바, 하나는 서버(3b)에 의해 요청 정보를 수신한 후 사용자 장치로 문의 데이트를 발송하여 사용자 장치(2)가 현재 하드웨어 환경 및/또는 네트워크 온라인의 관련 자료를 제공하도록 요청하는 것이며, 또는 사용자 장치(2)의 하드웨어 환경 및/또는 네트워크 온라인의 관려 데이터를 요청 정보에 포함하여 함께 발송하여 서버(3b)에 의해 분석하는 것이다. 서버(3b)가 사용자 장치(2)의 시용 환경을 요해하는 것은 응용 소프트웨어를 실행하여 사용자가 시용할지 여부를 결정할 수 있고, 만일 적합하지 않으면 사용자가 시용 환경이 좋지 않음으로, 나쁜 시용 체험이 발생하는 것을 방지하도록 사용자 장치에 예외의 데이터를 발송하여 시용할 수 없음을 알린다.
또한 본 실시예의 기타 양태에서 서버가 응용 소프트웨어를 실행하기 이전 메모리 유닛(31b)에 저장된 응용 소프트웨어의 상태를 먼저 확인할 수 있고 상기 응용 소프트웨어가 저장되지 않거나 또는 손상되면 마찬가지로 사용자 장치(2)에 예외 데이터를 발송하여 시용할 수 없음을 알린다.
이 밖에, 광고객체(22)도 사용 중의 응용 프로그램(Application, 즉 app)의 화면의 하방 또는 팝업(pop-up)된 광고화면에 표시될 수 있다. 그 중에서, 사용자는 기본 응용 프로그램(Native application)을 실행할 때에 화면 하방 또는 팝업 화면에서 광고객체(22)를 터치할 수 있다. 기본 응용 프로그램은 사용자 장치에서 직접 운행하는 로컬(Local) 응용 소프트웨어이고, 이는 사용자 장치 중의 카메라, 위치 제어 시스템 등과 같은 모든 기능을 사용할 수 있고 더 빠른 실행속도 및 품질 최적화를 구비하여 오프라인 상태의 조작을 수행할 수 있다. 실행할 때, 기본 응용 프로그램에 광고객체(22)가 이미 삽입되었으므로 사용자가 상기 광고객체(22)를 터치할 경우, 사용자가 관련 기업의 응용 소프트웨어와 같은 것을 시용하도록 할 수 있다. 하지만 설명할 가치가 있는 것은 소프트웨어의 다운로드 데이터의 화면을 닫더라도 기본 응용 프로그램은 여전히 계속하여 실행할 수 있어 시용으로 인해 중단될 수 없다.
본 발명은 적어도 하나의 사용자 장치 및 서버를 포함하는 응용 소프트웨어 시용 시스템에 응용되고, 서버와 상기 사용자 장치가 통신 연결하는 응용 소프트웨어의 시용방법을 개시하였다. 도9에 도시된 것은 본 발명의 일 실시예의 응용 소프트웨어의 시용방법의 단계 흐름도인 바, 도9에 도시된 바와 같이, 시용방법은 사용자 장치가 입력과 대응되는 응용 소프트웨어를 시용하기 위한 요청 정보를 발생하는 단계(S1); 서버가 요청 정보를 수신하는 단계(S2); 서버가 요청 정보에 따라 응용 소프트웨어의 적어도 일부를 실행하는 단계(S3); 서버가 사용자 장치와 양방향 통신 연결을 셋업하는 단계(S4); 및 서버가 사용자 장치와 양방향 통신 연결에 의해 적어도 하나의 영상 데이터와 적어도 하나의 제어 데이터를 전송하는 단계(S5)를 포함한다.
본 발명은 서버 및 적어도 하나의 사용자 장치를 포함하는 응용 소프트웨어 시용 시스템에 응용되고 사용자 장치에 통신 연결되는 서버를 개시한다. 서버는 적어도 하나의 메모리 유닛, 적어도 하나의 전송 유닛 및 메모리 유닛 및 전송 유닛과 각각 통신 연결하는 하나 또는 복수 개의 연산 유닛을 포함한다. 전송 유닛이 사용자 장치에서의 입력에 대응되게 발생하는 요청 정보를 수신하면, 하나 또는 복수 개의 연산 유닛은 요청 정보에 따라 메모리 유닛에 저장된 응용 소프트웨어의 적어도 일부를 실행하고 전송 유닛에 의해 사용자 장치와 양방향 통신 연결을 셋업한다. 서버와 사용자 장치는 양방향 통신 연결에 의해 적어도 하나의 영상 데이터와 적어도 하나의 제어 데이터를 전송한다.
본 발명은 서버 및 사용자 장치를 포함하는 응용 소프트웨어 시용 시스템에 응용되고 서버와 통신 연결하는 사용자 장치를 더 개시한다. 사용자 장치는 적어도 하나의 저장소자 및 하나 또는 복수 개의 피연산자 조각을 포함한다. 저장소자는 복수 개의 인스트럭션을 저장하고 하나 또는 복수 개의 피연산자 조각과 결합되며 하나 또는 복수 개의 피연산자 조각은 인스트럭션을 실행하기 위하여 입력을 수신하는 동작; 상기 입력에 따라 응용 소프트웨어를 시용하기 위한 요청 정보를 상기 서버에 송출하는 동작; 서버와 양방향 통신 연결을 셋업하는 동작; 및 양방향 통신 연결에 의해 서버에 서버가 응용 소프트웨어의 적어도 일부를 실행하여 발생된 적어도 하나의 영상 데이터와 응용 소프트웨어와 상호 작용하는 적어도 하나의 제어 데이터를 전송하는 동작을 수행한다.
상기의 시용방법, 서버 및 사용자 장치의 실시 사항과 상세한 설명은 모두 상술한 내용을 참고할 수 있는 바, 여기서 다시 설명하지 않는다.
상기 내용을 종합하면, 본 발명의 응용 소프트웨어 시용 시스템, 방법 및 그 서버와 사용자 장치에서 응용 소프트웨어는 서버에서 실행되고 다시 네트워크에 의해 사용자 장치와 영상화면과 제어동작의 전송을 수행하므로 사용자로 하여금 다운로드나 설치를 하지 않은 상황에서 시용할 수 있게 하여, 비용에 대한 고려를 해소할 뿐만 아니라 네트워크 또는 하드웨어 리소스의 낭비를 감소시킬 수도 있다. 다운로드나 설치를 하지 않아도 되므로 쓸데없는 조작단계와 다운로드의 대기 시간을 동시에 제거하므로, 본 발명의 시용방식은 시용 소프트웨어보다 더 우수하고 사용자의 시도하려는 의향을 더 향상시킬 수 있어 광고 또는 마케팅의 효과를 향상시킴은 물론이다.
또한 응용 소프트웨어는 서버에서 실행되므로 사용자 장치의 하드웨어의 사양에 한정되지 않아 사용자가 원활하게 시용할 수 있도록 한다. 특히 응용 소프트웨어에서의 대량의 게임 소프트웨어에서 이들은 보편적으로 높은 사양의 하드웨어 시스템을 수요하는 바, 본 발명을 통하여 이 문제를 해결할 수 있다.
상기의 내용은 단지 예시적인 것이며 한정하는 것이 이니다. 본 발명의 사상과 범주를 벗어나지 않은 상황에서 본 발명에 대한 어떠한 동등 보정 또는 개량은 모두 후술한 청구범위에 속한다.
1: 응용 소프트웨어 시용 시스템 2: 사용자 장치
21: 브라우저 22: 광고객체
23: 인터랙티브 영상 인터페이스 24:다운로드 화면
3, 3a, 3b: 서버 31, 31b: 메모리 유닛
311, 3122: 응용 소프트웨어 312, 3311:가상 컴퓨터
3121: 운영체제 313, 3312: 가상 구조
3123: 입출력 에이전트 314: 스냅 샷 자료
3141: 운영체제 이미지 3142: 응용 소프트웨어 이미지
315: 응용 소프트웨어기록 데이터 32, 32b: 전송 유닛
33, 33b: 연산 유닛 331: 클러스터 노드
341: 응용 프로그램 프로그래밍 인터페이스
34b: 응용 프로그램 프로그래밍 인터페이스 유닛
35b: 동작관리 유닛 36b: 리소스 할당 유닛
S1~S5: 단계

Claims (10)

  1. 적어도 하나의 사용자 장치; 및
    사용자 장치에 통신 연결되는 서버를 포함하며,
    상기 서버는 응용 소프트웨어를 시용하는 상기 사용자 장치의 입력에 대응되게 발생하는 요청 정보를 수신하되, 상기 서버는 상기 요청 정보에 따라 상기 응용 소프트웨어의 적어도 일부를 실행하고 상기 사용자 장치와 양방향 통신 연결을 셋업하며, 양방향 통신 연결에 의해 상기 서버가 응용 소프트웨어를 실행하여 발생되는 적어도 하나의 영상 데이터가 사용자 장치에 전송되어 표시되고, 사용자에 의해 사용자 장치에서 발생되는 입력 제어는 제어 데이터의 방식으로 서버에 전송되는, 응용 소프트웨어 시용 시스템.
  2. 제1항에 있어서, 상기 서버는 적어도 하나의 클러스터 노드(cluster node)를 포함하는 적어도 하나의 클러스터 연산 유닛(Cluster operation unit)을 포함하고, 상기 서버는 상기 클러스터 노드로 상기 응용 소프트웨어를 실행하며, 상기 클러스터 노드는 적어도 하나의 가상 컴퓨터를 포함하고, 상기 서버는 가상 컴퓨터로 상기 응용 소프트웨어를 실행하는, 응용 소프트웨어 시용 시스템.
  3. 제2항에 있어서, 상기 가상 컴퓨터는 상기 응용 소프트웨어에 대응되는 운영체제를 실행하고, 상기 운영체제에서 상기 응용 소프트웨어를 실행하고,
    가상 컴퓨터는 복수 개의 입출력 에이전트를 실행하고, 가상 컴퓨터에 의해 실행되는 입출력 에이전트의 수량은 가상 컴퓨터가 실행한 응용 소프트웨어의 수량과 동일하게 대응하고, 가상 컴퓨터는 응용 소프트웨어의 시용을 위한 시작점을 설정하고, 서버에서 스냅 샷 데이터를 발생 및 저장하여 시작점에서 시용이 시작되는, 응용 소프트웨어 시용 시스템.
  4. 제2항에 있어서, 다른 사용자 장치를 포함하고, 상기 서버는 다른 응용 소프트웨어를 시용하는 상기 다른 사용자 장치에서의 입력에 대응되게 발생하는 다른 요청 정보를 수신하며, 상기 서버는 상기 다른 요청 정보에 따라 동일한 상기 가상 컴퓨터로 상기 다른 응용 소프트웨어를 실행하는, 응용 소프트웨어 시용 시스템.
  5. 서버 및 적어도 하나의 사용자 장치를 포함하는 응용 소프트웨어 시용 시스템에 적용되고, 사용자 장치에 통신 연결되는 서버에 있어서,
    적어도 하나의 메모리 유닛;
    적어도 하나의 전송 유닛; 및
    메모리 유닛 및 전송 유닛과 각각 통신 연결되는 하나 또는 복수 개의 연산 유닛을 포함하고,
    상기 전송 유닛은 상기 사용자 장치의 입력에 대응되게 발생하는 요청 정보를 수신하고, 상기 하나 또는 복수 개의 연산 유닛은 상기 요청 정보에 따라 상기 메모리 유닛에 저장된 상기 응용 소프트웨어의 적어도 일부를 실행하며 상기 전송 유닛에 의해 상기 사용자 장치와 양방향 통신 연결을 셋업하고, 사용자에 의해 사용자 장치에서 발생되는 입력 제어를 알기 위해 양방향 통신 연결에 의해, 서버는 사용자 장치로부터 적어도 하나의 제어 데이터를 수신하고, 상기 서버가 응용 소프트웨어를 실행하여 발생되는 적어도 하나의 영상 데이터가 사용자 장치에 표시되도록 전송하는, 서버.
  6. 제5항에 있어서, 적어도 하나의 클러스터 노드를 포함하는 적어도 하나의 클러스터 연산 유닛을 포함하고, 상기 클러스터 노드로 상기 응용 소프트웨어를 실행하며, 상기 클러스터 노드는 적어도 하나의 가상 컴퓨터를 포함하고, 가상 컴퓨터로 상기 응용 소프트웨어를 실행하는 서버.
  7. 제6항에 있어서, 상기 가상 컴퓨터는 상기 응용 소프트웨어에 대응되는 운영체제를 실행하고, 상기 운영체제에서 상기 응용 소프트웨어를 실행하고,
    가상 컴퓨터는 복수 개의 입출력 에이전트를 실행하고, 가상 컴퓨터에 의해 실행되는 입출력 에이전트의 수량은 가상 컴퓨터가 실행한 응용 소프트웨어의 수량과 동일하게 대응하고, 가상 컴퓨터는 응용 소프트웨어의 시용을 위한 시작점을 설정하고, 서버에서 스냅 샷 데이터를 발생 및 저장하여 시작점에서 시용이 시작되는, 서버.
  8. 제6항에 있어서, 다른 응용 소프트웨어를 시용하는 다른 사용자 장치의 입력에 대응되게 발생하는 다른 요청 정보를 수신하고, 상기 다른 요청 정보에 따라 동일한 상기 가상 컴퓨터로 상기 다른 응용 소프트웨어를 실행하는, 서버.
  9. 서버 및 사용자 장치를 포함하는 응용 소프트웨어 시용 시스템에 적용되고, 상기 서버와 통신 연결되며 적어도 하나의 저장소자 및 하나 또는 복수 개의 피연산자 조각을 포함하고, 상기 저장소자는 복수 개의 인스트럭션(instruction)을 저장하며 하나 또는 복수 개의 피연산자 조각과 결합되는 사용자 장치에 있어서,
    상기 하나 또는 복수 개의 피연산자 조각은 인스트럭션을 실행하기 위하여,
    입력을 수신하는 동작;
    상기 입력에 따라 응용 소프트웨어를 시용하기 위한 요청 정보를 상기 서버에 송출하는 동작;
    상기 서버와 양방향 통신 연결을 셋업하는 동작;
    양방향 통신 연결에 의해 상기 서버가 응용 소프트웨어를 실행하여 발생되는 적어도 하나의 영상 데이터를 수신하는 동작;
    영상 데이터를 표시하는 동작; 및
    상기 서버와의 양방향 통신 연결에 의해, 상기 응용 소프트웨어와 상호 작용하는 사용자에 의해 사용자 장치에서 발생되는 입력 제어를 제어 데이터의 방식으로 전송하는 동작을 수행하는, 사용자 장치.
  10. 적어도 하나의 사용자 장치 및 서버를 포함하는 응용 소프트웨어 시용 시스템에 적용되고, 상기 서버와 사용자 장치는 통신 연결되는 응용 소프트웨어의 시용방법에 있어서,
    상기 사용자 장치는 입력과 대응하여 응용 소프트웨어를 시용하는 요청 정보를 발생하는 단계;
    상기 서버가 상기 요청 정보를 수신하는 단계;
    상기 서버가 상기 요청 정보에 따라 상기 응용 소프트웨어의 적어도 일부를 실행하는 단계;
    상기 서버가 상기 사용자 장치와 양방향 통신 연결을 셋업하는 단계;
    양방향 통신 연결에 의해 상기 서버가 응용 소프트웨어를 실행하여 발생되는 적어도 하나의 영상 데이터를 상기 사용자 장치에 표시되도록 전송하는 단계; 및
    상기 서버와의 양방향 통신 연결에 의해, 상기 응용 소프트웨어와 상호 작용하는 사용자에 의해 사용자 장치에서 발생되는 입력 제어를 제어 데이터의 방식으로 전송하는 단계를 포함하는, 응용 소프트웨어의 시용방법.
KR1020150137314A 2014-10-06 2015-09-30 응용 소프트웨어 시용 시스템, 방법 및 그 서버와 사용자 장치 KR101709017B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
TW103134817 2014-10-06
TW103134817A TWI537827B (zh) 2014-10-06 2014-10-06 應用軟體試用系統、方法及其伺服器與使用者裝置

Publications (2)

Publication Number Publication Date
KR20160040999A KR20160040999A (ko) 2016-04-15
KR101709017B1 true KR101709017B1 (ko) 2017-02-21

Family

ID=55633692

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150137314A KR101709017B1 (ko) 2014-10-06 2015-09-30 응용 소프트웨어 시용 시스템, 방법 및 그 서버와 사용자 장치

Country Status (5)

Country Link
US (1) US20160100036A1 (ko)
JP (1) JP2016076216A (ko)
KR (1) KR101709017B1 (ko)
CN (1) CN105487882A (ko)
TW (1) TWI537827B (ko)

Families Citing this family (87)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9600312B2 (en) 2014-09-30 2017-03-21 Amazon Technologies, Inc. Threading as a service
US9830193B1 (en) 2014-09-30 2017-11-28 Amazon Technologies, Inc. Automatic management of low latency computational capacity
US9146764B1 (en) 2014-09-30 2015-09-29 Amazon Technologies, Inc. Processing event messages for user requests to execute program code
US9323556B2 (en) 2014-09-30 2016-04-26 Amazon Technologies, Inc. Programmatic event detection and message generation for requests to execute program code
US10048974B1 (en) 2014-09-30 2018-08-14 Amazon Technologies, Inc. Message-based computation request scheduling
US9715402B2 (en) 2014-09-30 2017-07-25 Amazon Technologies, Inc. Dynamic code deployment and versioning
US9678773B1 (en) 2014-09-30 2017-06-13 Amazon Technologies, Inc. Low latency computational capacity provisioning
US9537788B2 (en) 2014-12-05 2017-01-03 Amazon Technologies, Inc. Automatic determination of resource sizing
US9733967B2 (en) 2015-02-04 2017-08-15 Amazon Technologies, Inc. Security protocols for low latency execution of program code
US9588790B1 (en) 2015-02-04 2017-03-07 Amazon Technologies, Inc. Stateful virtual compute system
US9930103B2 (en) 2015-04-08 2018-03-27 Amazon Technologies, Inc. Endpoint management system providing an application programming interface proxy service
US9785476B2 (en) 2015-04-08 2017-10-10 Amazon Technologies, Inc. Endpoint management system and virtual compute system
US10042660B2 (en) * 2015-09-30 2018-08-07 Amazon Technologies, Inc. Management of periodic requests for compute capacity
US10754701B1 (en) 2015-12-16 2020-08-25 Amazon Technologies, Inc. Executing user-defined code in response to determining that resources expected to be utilized comply with resource restrictions
US10013267B1 (en) 2015-12-16 2018-07-03 Amazon Technologies, Inc. Pre-triggers for code execution environments
US9811434B1 (en) 2015-12-16 2017-11-07 Amazon Technologies, Inc. Predictive management of on-demand code execution
US10002026B1 (en) 2015-12-21 2018-06-19 Amazon Technologies, Inc. Acquisition and maintenance of dedicated, reserved, and variable compute capacity
US9910713B2 (en) 2015-12-21 2018-03-06 Amazon Technologies, Inc. Code execution request routing
US10067801B1 (en) 2015-12-21 2018-09-04 Amazon Technologies, Inc. Acquisition and maintenance of compute capacity
US20170269916A1 (en) * 2016-03-21 2017-09-21 Microsoft Technology Licensing, Llc Selective Application Installation Or Application Running Without Installation
US11132213B1 (en) 2016-03-30 2021-09-28 Amazon Technologies, Inc. Dependency-based process of pre-existing data sets at an on demand code execution environment
US10162672B2 (en) 2016-03-30 2018-12-25 Amazon Technologies, Inc. Generating data streams from pre-existing data sets
US10891145B2 (en) 2016-03-30 2021-01-12 Amazon Technologies, Inc. Processing pre-existing data sets at an on demand code execution environment
TWI603204B (zh) * 2016-05-18 2017-10-21 群邁通訊股份有限公司 雲端裝置、終端裝置及異常處理方法
US10282229B2 (en) 2016-06-28 2019-05-07 Amazon Technologies, Inc. Asynchronous task management in an on-demand network code execution environment
US10102040B2 (en) 2016-06-29 2018-10-16 Amazon Technologies, Inc Adjusting variable limit on concurrent code executions
US10277708B2 (en) 2016-06-30 2019-04-30 Amazon Technologies, Inc. On-demand network code execution with cross-account aliases
US10203990B2 (en) 2016-06-30 2019-02-12 Amazon Technologies, Inc. On-demand network code execution with cross-account aliases
KR101707552B1 (ko) * 2016-07-27 2017-02-16 주식회사 티맥스 소프트 클라우드 환경에서 사용자로 하여금 애플리케이션을 체험할 수 있도록 체험 환경을 제공하는 방법 및 이를 이용한 서버
US10884787B1 (en) 2016-09-23 2021-01-05 Amazon Technologies, Inc. Execution guarantees in an on-demand network code execution system
US10061613B1 (en) 2016-09-23 2018-08-28 Amazon Technologies, Inc. Idempotent task execution in on-demand network code execution systems
US11119813B1 (en) 2016-09-30 2021-09-14 Amazon Technologies, Inc. Mapreduce implementation using an on-demand network code execution system
CN106549824B (zh) * 2016-10-09 2020-08-04 武汉斗鱼网络科技有限公司 一种用于测试软件与服务器连接稳定性的系统和方法
CN106790404A (zh) * 2016-11-25 2017-05-31 珠海市魅族科技有限公司 一种应用试用的处理方法以及移动终端
JP6897136B2 (ja) * 2017-02-10 2021-06-30 富士フイルムビジネスイノベーション株式会社 情報処理装置及びプログラム
CN107203398B (zh) * 2017-05-26 2020-11-13 北京小米移动软件有限公司 应用分发方法及装置
CN107506230B (zh) * 2017-07-27 2020-10-27 努比亚技术有限公司 一种应用程序试用方法、设备及计算机可读存储介质
CN107728918A (zh) * 2017-09-27 2018-02-23 北京三快在线科技有限公司 浏览连续页面的方法、装置及电子设备
CN107911418B (zh) * 2017-10-27 2020-09-25 努比亚技术有限公司 一种应用试用控制方法、服务器及计算机可读存储介质
US10564946B1 (en) 2017-12-13 2020-02-18 Amazon Technologies, Inc. Dependency handling in an on-demand network code execution system
US10303492B1 (en) 2017-12-13 2019-05-28 Amazon Technologies, Inc. Managing custom runtimes in an on-demand code execution system
US10831898B1 (en) 2018-02-05 2020-11-10 Amazon Technologies, Inc. Detecting privilege escalations in code including cross-service calls
US10353678B1 (en) 2018-02-05 2019-07-16 Amazon Technologies, Inc. Detecting code characteristic alterations due to cross-service calls
US10733085B1 (en) 2018-02-05 2020-08-04 Amazon Technologies, Inc. Detecting impedance mismatches due to cross-service calls
US10572375B1 (en) 2018-02-05 2020-02-25 Amazon Technologies, Inc. Detecting parameter validity in code including cross-service calls
US10725752B1 (en) 2018-02-13 2020-07-28 Amazon Technologies, Inc. Dependency handling in an on-demand network code execution system
US10776091B1 (en) 2018-02-26 2020-09-15 Amazon Technologies, Inc. Logging endpoint in an on-demand code execution system
US10853115B2 (en) 2018-06-25 2020-12-01 Amazon Technologies, Inc. Execution of auxiliary functions in an on-demand network code execution system
US10649749B1 (en) 2018-06-26 2020-05-12 Amazon Technologies, Inc. Cross-environment application of tracing information for improved code execution
US11146569B1 (en) 2018-06-28 2021-10-12 Amazon Technologies, Inc. Escalation-resistant secure network services using request-scoped authentication information
US10949237B2 (en) 2018-06-29 2021-03-16 Amazon Technologies, Inc. Operating system customization in an on-demand network code execution system
US11099870B1 (en) 2018-07-25 2021-08-24 Amazon Technologies, Inc. Reducing execution times in an on-demand network code execution system using saved machine states
US11099917B2 (en) 2018-09-27 2021-08-24 Amazon Technologies, Inc. Efficient state maintenance for execution environments in an on-demand code execution system
US11243953B2 (en) 2018-09-27 2022-02-08 Amazon Technologies, Inc. Mapreduce implementation in an on-demand network code execution system and stream data processing system
US11943093B1 (en) 2018-11-20 2024-03-26 Amazon Technologies, Inc. Network connection recovery after virtual machine transition in an on-demand network code execution system
US10884812B2 (en) 2018-12-13 2021-01-05 Amazon Technologies, Inc. Performance-based hardware emulation in an on-demand network code execution system
US20210264390A1 (en) * 2019-01-15 2021-08-26 Square Enix Holdings Co., Ltd. Electronic content utilization system, computer-readable recording medium, and electronic content utilization method
US11010188B1 (en) 2019-02-05 2021-05-18 Amazon Technologies, Inc. Simulated data object storage using on-demand computation of data objects
US11861386B1 (en) 2019-03-22 2024-01-02 Amazon Technologies, Inc. Application gateways in an on-demand network code execution system
US11119809B1 (en) 2019-06-20 2021-09-14 Amazon Technologies, Inc. Virtualization-based transaction handling in an on-demand network code execution system
US11190609B2 (en) 2019-06-28 2021-11-30 Amazon Technologies, Inc. Connection pooling for scalable network services
US11115404B2 (en) 2019-06-28 2021-09-07 Amazon Technologies, Inc. Facilitating service connections in serverless code executions
US11159528B2 (en) 2019-06-28 2021-10-26 Amazon Technologies, Inc. Authentication to network-services using hosted authentication information
US11023416B2 (en) 2019-09-27 2021-06-01 Amazon Technologies, Inc. Data access control system for object storage service based on owner-defined code
US10996961B2 (en) 2019-09-27 2021-05-04 Amazon Technologies, Inc. On-demand indexing of data in input path of object storage service
US11023311B2 (en) 2019-09-27 2021-06-01 Amazon Technologies, Inc. On-demand code execution in input path of data uploaded to storage service in multiple data portions
US11386230B2 (en) 2019-09-27 2022-07-12 Amazon Technologies, Inc. On-demand code obfuscation of data in input path of object storage service
US11394761B1 (en) 2019-09-27 2022-07-19 Amazon Technologies, Inc. Execution of user-submitted code on a stream of data
US11550944B2 (en) 2019-09-27 2023-01-10 Amazon Technologies, Inc. Code execution environment customization system for object storage service
US11263220B2 (en) 2019-09-27 2022-03-01 Amazon Technologies, Inc. On-demand execution of object transformation code in output path of object storage service
US11055112B2 (en) 2019-09-27 2021-07-06 Amazon Technologies, Inc. Inserting executions of owner-specified code into input/output path of object storage service
US11250007B1 (en) 2019-09-27 2022-02-15 Amazon Technologies, Inc. On-demand execution of object combination code in output path of object storage service
US11656892B1 (en) 2019-09-27 2023-05-23 Amazon Technologies, Inc. Sequential execution of user-submitted code and native functions
US11360948B2 (en) 2019-09-27 2022-06-14 Amazon Technologies, Inc. Inserting owner-specified data processing pipelines into input/output path of object storage service
US11106477B2 (en) 2019-09-27 2021-08-31 Amazon Technologies, Inc. Execution of owner-specified code during input/output path to object storage service
US11416628B2 (en) 2019-09-27 2022-08-16 Amazon Technologies, Inc. User-specific data manipulation system for object storage service based on user-submitted code
US10908927B1 (en) 2019-09-27 2021-02-02 Amazon Technologies, Inc. On-demand execution of object filter code in output path of object storage service
US10942795B1 (en) 2019-11-27 2021-03-09 Amazon Technologies, Inc. Serverless call distribution to utilize reserved capacity without inhibiting scaling
US11119826B2 (en) 2019-11-27 2021-09-14 Amazon Technologies, Inc. Serverless call distribution to implement spillover while avoiding cold starts
US11714682B1 (en) 2020-03-03 2023-08-01 Amazon Technologies, Inc. Reclaiming computing resources in an on-demand code execution system
US11188391B1 (en) 2020-03-11 2021-11-30 Amazon Technologies, Inc. Allocating resources to on-demand code executions under scarcity conditions
US11775640B1 (en) 2020-03-30 2023-10-03 Amazon Technologies, Inc. Resource utilization-based malicious task detection in an on-demand code execution system
CN111966275B (zh) * 2020-09-15 2021-07-30 腾讯科技(深圳)有限公司 程序试用方法、系统、装置、设备及介质
US11550713B1 (en) 2020-11-25 2023-01-10 Amazon Technologies, Inc. Garbage collection in distributed systems using life cycled storage roots
US11593270B1 (en) 2020-11-25 2023-02-28 Amazon Technologies, Inc. Fast distributed caching using erasure coded object parts
US11388210B1 (en) 2021-06-30 2022-07-12 Amazon Technologies, Inc. Streaming analytics using a serverless compute system
US11861330B2 (en) 2022-03-25 2024-01-02 Vivun Inc. Machine mediated requirement management in a software trial management system

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63205211A (ja) * 1987-02-20 1988-08-24 Star Seiki:Kk 取出機におけるチヤツク交換方法
US7693961B2 (en) * 2000-06-30 2010-04-06 Sharp Kabushiki Kaisha Method and system for supplying programs
JP2004062515A (ja) * 2002-07-29 2004-02-26 Nec Soft Ltd 性能実体験サービスシステム及びサービス方法
US7574695B2 (en) * 2003-12-23 2009-08-11 Ntt Docomo, Inc. Performing checks on the resource usage of computer programs
JP2006259893A (ja) * 2005-03-15 2006-09-28 Oki Electric Ind Co Ltd 物体認識システム,コンピュータプログラム,および端末装置
EP1768346A1 (en) * 2005-09-23 2007-03-28 Microsoft Corporation Provision of game applications across a network according to the display characteristics of a user terminal
KR100936239B1 (ko) * 2007-12-18 2010-01-12 한국전자통신연구원 스트리밍 기반 이동형 소프트웨어 제공 시스템 및 방법
US8621069B1 (en) * 2010-09-03 2013-12-31 Adobe Systems Incorporated Provisioning a computing application executing on a cloud to a client device
CN102841809B (zh) * 2011-06-22 2016-06-01 联想(北京)有限公司 信息处理方法及装置、模式切换方法以及终端设备
US20130219280A1 (en) * 2012-02-17 2013-08-22 Numira Biosciences Systems and Methods for Software Evaluation in a Cloud Computing Environment
US8997093B2 (en) * 2012-04-17 2015-03-31 Sap Se Application installation management by selectively reuse or terminate virtual machines based on a process status
KR101551706B1 (ko) * 2012-10-30 2015-09-09 삼성에스디에스 주식회사 고가용성 가상머신 구성 시스템 및 방법, 이를 기록한 기록매체

Also Published As

Publication number Publication date
US20160100036A1 (en) 2016-04-07
TW201614489A (en) 2016-04-16
TWI537827B (zh) 2016-06-11
CN105487882A (zh) 2016-04-13
JP2016076216A (ja) 2016-05-12
KR20160040999A (ko) 2016-04-15

Similar Documents

Publication Publication Date Title
KR101709017B1 (ko) 응용 소프트웨어 시용 시스템, 방법 및 그 서버와 사용자 장치
JP6226394B2 (ja) インスタンス化可能なジェスチャオブジェクト
CA2771785C (en) A system and method for pervasive computing
JP5620506B2 (ja) アプリケーション画像の表示方法及び装置
CN103282875B (zh) 多操作系统
US10547682B2 (en) Dynamically scaling application components using microservices
US10469562B2 (en) Virtual machine pixel remoting
CN105453097B (zh) 受约束驱动程序平台在用户模式下在沙箱中运行驱动程序
US9407720B2 (en) Direct file transfer without sending requested file through requesting device
US20160350094A1 (en) Application download emulation
US8793342B2 (en) Interpreting web application content
CN115421846A (zh) 跨设备控制方法、控制装置、电子设备和可读存储介质
US10416855B2 (en) Integrating remote assets from content management service with content developed by content creation applications
KR20160000604A (ko) PaaS 클라우드 시스템에서의 GPU 가상화 기법을 사용한 개발 툴 배포 방법
KR101800801B1 (ko) 소셜 네트워크 서비스를 위한 api 제공 방법, 이를 이용한 단말 장치 및 소셜 네트워크 서비스 시스템
KR20120091601A (ko) 애플리케이션 개발 및 등록을 위한 애플리케이션 자동 개발 툴
TWI520065B (zh) 在可攜式裝置上動態載入客製化人機介面及服務設定之系統及其方法
KR20240003882A (ko) 데스크탑 서비스 제공방법 및 이를 이용하는 운영서버
EP2908499A1 (en) Method, system and software product for delivering interactive invitational content into mobile phone applications
KR20160087287A (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