KR101249719B1 - 어플리케이션 클론 실행 방법, 컴퓨터로 판독가능한 기록매체, 및 이를 지원하는 클론단말 - Google Patents

어플리케이션 클론 실행 방법, 컴퓨터로 판독가능한 기록매체, 및 이를 지원하는 클론단말 Download PDF

Info

Publication number
KR101249719B1
KR101249719B1 KR1020110042713A KR20110042713A KR101249719B1 KR 101249719 B1 KR101249719 B1 KR 101249719B1 KR 1020110042713 A KR1020110042713 A KR 1020110042713A KR 20110042713 A KR20110042713 A KR 20110042713A KR 101249719 B1 KR101249719 B1 KR 101249719B1
Authority
KR
South Korea
Prior art keywords
clone
application
terminal
execution
program
Prior art date
Application number
KR1020110042713A
Other languages
English (en)
Other versions
KR20120124843A (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 KR1020110042713A priority Critical patent/KR101249719B1/ko
Priority to PCT/KR2011/006427 priority patent/WO2012150744A1/ko
Publication of KR20120124843A publication Critical patent/KR20120124843A/ko
Application granted granted Critical
Publication of KR101249719B1 publication Critical patent/KR101249719B1/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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • 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
    • 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
    • G06F15/161Computing infrastructure, e.g. computer clusters, blade chassis or hardware partitioning
    • 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
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/12Messaging; Mailboxes; Announcements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/50Service provisioning or reconfiguring

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • Human Computer Interaction (AREA)
  • Stored Programmes (AREA)
  • Telephone Function (AREA)

Abstract

본 발명은 스마트폰에서 실행되는 각종의 어플리케이션이나 동영상 화면을 무선통신을 이용하여 대화면 디스플레이 장치에서 원활하게 시청할 수 있도록 해주는 기술을 제공한다. 특히, 본 발명은 본 발명은 스마트폰 운영체제(예: 안드로이드)가 구현된 이동식 클론단말에 스마트폰에 설치된 응용 어플리케이션이나 미디어 파일(동영상, 사진, 음원)과 문서 파일 등을 복제하여 무선으로 전송하여 설치 및 실행하도록 한 후, 스마트폰으로 응용 어플리케이션, 미디어 파일, 문서 파일 등을 제어하며 그 실행 화면을 대화면 디스플레이 장치에 출력하도록 하는 클론 실행 기술을 제공한다. 본 발명에 따르면 클론단말은 비교적 작은 크기로 제작이 가능하여 사용자가 편리하게 휴대 가능하며 회의나 프리젠테이션 등을 시행할 때 스마트폰과 클론단말을 이용하여 문서, 미디어 파일 등을 대화면으로 공유할 수 있는 장점이 있고, 나아가 클론단말에 복수 개의 스마트폰을 중첩하여 연결하여 스마트폰으로 출시된 다인용 어플리케이션(예: 다인용 게임)을 큰 화면에서 여러 사용자들이 편리하게 이용할 수 있는 장점이 있다.

Description

어플리케이션 클론 실행 방법, 컴퓨터로 판독가능한 기록매체, 및 이를 지원하는 클론단말{Method for executing clone applications, computer readable recording medium for the same, and clone devices for the same}
본 발명은 스마트폰에서 실행되는 각종의 어플리케이션이나 동영상 화면을 무선통신을 이용하여 대화면 디스플레이 장치에서 원활하게 시청할 수 있도록 해주는 기술에 관한 것이다. 특히, 본 발명은 본 발명은 스마트폰 운영체제(예: 안드로이드)가 구현된 이동식 클론단말에 스마트폰에 설치된 응용 어플리케이션이나 미디어 파일(동영상, 사진, 음원)과 문서 파일 등을 복제하여 무선으로 전송하여 설치 및 실행하도록 한 후, 스마트폰으로 응용 어플리케이션, 미디어 파일, 문서 파일 등을 제어하며 그 실행 화면을 대화면 디스플레이 장치에 출력하도록 하는 클론 실행 기술에 관한 것이다.
최근들어 아이폰이나 안드로이드 폰과 같은 다양한 기능을 갖는 스마트폰이 폭발적으로 빠르게 보급되고 있다. 스마트폰에서 동영상을 재생하여 얻어지는 화면을 TV나 모니터와 같은 대화면 디스플레이 장치에서 표시하기 위해서는 HDMI, USB, YPbPr, YCbCr 등의 디지탈/아날로그 케이블을 이용하여 스마트폰과 대화면 디스플레이 장치를 연결해야 한다. 또한, 스마트폰에는 일반적으로 이러한 기능이 기본으로 마련되어 있지 않으므로 별도의 악세사리 장치를 추가 구매하여 스마트폰에 부착해 주어야 한다.
한편, 스마트폰에 출력되는 화면을 무선으로 대화면 디스플레이 장치에 출력하기 위해 대화면 디스플레이 장치에 동글(dongle)과 같은 외부 인터페이스 장치를 연결하고 근거리 무선통신(블루투스, IrDA 등)을 통해 스마트폰으로부터 화면을 제공받아 출력하는 장치가 개발되었다. 그러나, 합리적인 비용으로 입수가능한 근거리 무선통신 수단은 전송 속도가 너무 낮아 초당 충분한 프레임의 화면을 전송하는 것이 불가능하다. 그에 따라, 동영상이나 게임 등과 같이 빠르게 움직이는 화면을 갖는 응용분야에는 사용하지 못하고, 사진이나 문서 내용을 대화면 디스플레이 장치에 출력하는 용도로 사용될 뿐이다.
따라서, 스마트폰의 화면을 외부의 디스플레이 장치로 원활하게 제공할 수 있는 기술은 현재로서는 유선 케이블이다. 하지만, 유선 케이블을 이용하여 스마트폰과 디스플레이 장치를 연결하는 것은 상당한 불편함이 따르고, 그로 인해 그 적용분야도 상당히 제한된다. 그에 따라, 무선통신 기술을 이용하여 스마트폰의 화면을 외부의 디스플레이 장치에 원활하게 표시할 수 있는 기술이 종래로부터 요망되어 왔다.
본 발명의 목적은 스마트폰 운영체제(예: 안드로이드)가 구현된 이동식 클론단말에 스마트폰에 설치된 응용 어플리케이션을 비롯하여 각종의 미디어 파일(동영상, 사진, 음원)과 문서 파일을 복제 후 무선으로 전송하여 설치 및 실행하고, 스마트폰으로 응용프로그램, 미디어 파일, 문서 파일 등을 제어하며, 화면을 대화면 디스플레이 장치에 출력함으로써 스마트폰에서 실행되는 모든 컨텐츠를 대화면 디스플레이 장치로 시청 가능하게 하는 기술을 제공하는 것이다.
본 발명에 따른 어플리케이션 클론 실행 방법은 메인단말(100)에 설치된 어플리케이션을 클론단말(200)에 복제하여 실행하기 위하여, (a) 메인단말에서 메인관리 프로그램을 기동하는 단계; (b) 메인관리 프로그램의 제어에 대응하여 어플리케이션의 실행파일이 클론단말로 제공되는 단계; (c) 클론단말이 실행파일을 설치하여 어플리케이션에 대한 클론 어플리케이션을 실행하는 단계; (d) 메인단말과 클론단말 간의 동기화를 설정하는 단계; (e) 메인단말이 어플리케이션에 따른 제어명령과 사용자 조작입력을 클론단말로 제공하는 단계; (f) 클론단말이 제어명령과 사용자 조작입력에 대응하여 클론 어플리케이션 상에서 동작을 실행하는 단계; (g) 클론단말이 클론 어플리케이션의 실행 결과를 메인단말로 피드백 제공하는 단계;를 포함하여 구성된다.
본 발명의 어플리케이션 클론 실행 방법은, (b) 단계 이전에, (ab1) 메인관리 프로그램이 클론단말에 클론 어플리케이션이 이미 설치되어 있는지 여부를 체크하는 단계; (ab2) 클론 어플리케이션이 이미 설치되어 있는 경우, 메인관리 프로그램이 클론단말에서 클론 어플리케이션을 실행시키고 (d) 단계로 진행하는 단계;를 더 포함하는 것이 바람직하다.
본 발명의 어플리케이션 클론 실행 방법에서, (c) 클론 어플리케이션 실행 단계는, (c1) 클론단말에서 클론관리 프로그램을 기동하는 단계; (c2) 클론관리 프로그램이 실행파일을 클론단말에 설치하는 단계; (c3) 클론관리 프로그램이 설치된 실행파일에 따른 클론 어플리케이션을 기동하는 단계;를 포함하여 구성되고, (d) 동기화 단계는, (d1) 메인단말이 어플리케이션에 대응되도록 마련된 클론제어 프로그램을 기동하는 단계; (d2) 클론단말이 클론UI관리 프로그램과 클론어댑터 프로그램을 기동하는 단계; (d3) 메인단말의 클론제어 프로그램과 클론단말의 클론관리 프로그램, 클론UI관리 프로그램, 클론어댑터 프로그램 간에 네트워크 연결을 설정하는 단계;를 포함하여 구성된다.
본 발명의 어플리케이션 클론 실행 방법에서, (e) 제어명령 단계는, (e1) 클론제어 프로그램이 어플리케이션을 위한 제어명령과 데이터를 클론관리 프로그램으로 제공하는 단계; (e2) 클론제어 프로그램이 사용자 조작 입력을 클론UI관리 프로그램으로 제공하는 단계;를 포함하여 구성되고, (f) 동작실행 단계는, (f1) 클론관리 프로그램이 제어명령과 데이터를 클론실행 프로그램으로 제공하는 단계; (f2) 클론실행 프로그램이 제어명령과 데이터를 클론 어플리케이션으로 제공하여 동작이 실행되도록 하는 단계; (f3) 클론UI관리 프로그램이 사용자 조작입력을 에뮬레이션하여 클론 어플리케이션으로 제공함으로써 조작입력에 대응되는 동작이 실행되도록 하는 단계;를 포함하여 구성되고, (g) 피드백 제공 단계는, (g1) 클론어댑터 프로그램이 클론 어플리케이션의 동작 실행에 따른 결과 데이터를 획득하는 단계; (g2) 클론어댑터 프로그램이 결과 데이터를 클론제어 프로그램으로 제공하는 단계;를 포함하여 구성된다.
한편, 본 발명의 어플리케이션 클론 실행 방법은, (h) 제 2 메인단말에서 어플리케이션에 대한 클론제어 프로그램을 기동하는 단계; (i) 제 2 메인단말의 클론제어 프로그램이 클론단말의 클론관리 프로그램으로 네트워크 연결을 설정하여, 제 2 메인단말과 클론단말 간에 동기화가 추가 설정되는 단계; (j) 제 2 메인단말에서 클론단말로 제어명령과 사용자 조작입력을 제공하는 단계; (k) 클론단말이 제 2 메인단말의 제어명령과 사용자 조작입력에 대응하여 클론 어플리케이션 상에서 동작을 실행하는 단계;를 더 포함하여 구성될 수 있다.
본 발명의 어플리케이션 클론 실행 방법에서, (h) 제 2 단말의 클론제어 프로그램 기동 단계는, (h1) 제 2 메인단말이 어플리케이션에 대한 식별정보를 획득하는 단계; (h2) 제 2 메인단말이 식별정보에 기초하여 어플리케이션에 대한 클론제어 프로그램을 획득하는 단계; (h3) 제 2 메인단말이 다운로드한 클론제어 프로그램을 설치하는 단계; (h4) 제 2 메인단말이 클론제어 프로그램을 기동하는 단계;를 포함하여 구성된다. 이때, 클론단말은 클론 어플리케이션의 실행 화면에 식별정보를 디스플레이를 통해 표시하고, (h1) 단계는, (h11) 제 2 메인단말이 디스플레이 상에 표시된 식별정보를 카메라로 캡쳐하는 단계; (h12) 제 2 메인단말이 캡쳐 화면에서 식별정보를 추출하는 단계;를 포함하여 구성된다. 이때, 어플리케이션은 안드로이드 어플리케이션이고, 실행파일은 어플리케이션의 APK 파일(안드로이드 패키지 파일)을 포함하여 구성된다.
또한, 본 발명에 따른 컴퓨터로 판독가능한 기록매체에 기록된 프로그램은, 어플리케이션의 클론실행을 위한 메인관리 프로그램을 기동하는 단계; 어플리케이션의 클론실행을 위한 클론제어 프로그램을 기동하는 단계; 메인관리 프로그램의 제어에 대응하여 어플리케이션의 실행파일이 클론단말로 제공되는 단계; 클론제어 프로그램이 클론단말과 네트워크 연결함으로써 클론단말과의 동기화를 설정하는 단계; 클론제어 프로그램이 어플리케이션을 위한 제어명령과 데이터를 클론단말로 제공하는 단계; 클론제어 프로그램이 어플리케이션 상에서의 사용자 조작입력을 클론단말로 제공하는 단계; 클론단말에서 클론 실행 결과를 클론단말로부터 피드백 수신하는 단계;를 수행한다.
또한, 본 발명에 따른 클론단말은 메인단말(100)에 설치된 어플리케이션을 복제하여 실행하기 위하여, 메인단말의 조작에 따라 어플리케이션의 실행파일을 확보하고 어플리케이션에 대응하는 클론 어플리케이션에 대한 설치, 제거, 실행을 제어하며, 메인단말로부터 어플리케이션을 위한 제어명령과 데이터를 수신하는 클론관리부(214); 클론관리부(214)의 제어에 대응하여 실행파일을 활용하여 클론 어플리케이션에 대한 설치, 제거, 실행을 수행하고, 메인단말로부터 어플리케이션에 대한 제어명령과 데이터를 수신하여 클론 어플리케이션으로 제공함으로서 제어명령과 데이터에 따라 클론 어플리케이션이 동작하도록 보조하는 클론실행부(216); 메인단말로부터 사용자 조작입력을 전달받은 후, 사용자 조작입력이 장치 입력수단을 통해 입력된 것처럼 에뮬레이션하여 클론 어플리케이션으로 제공하는 클론UI관리부(217); 클론 어플리케이션의 동작 실행에 따른 결과 데이터를 획득하여 메인단말로 제공하는 클론어댑터부(212);를 포함하여 구성된다.
본 발명에 따른 클론단말에서, 클론관리부(214)는 클론 어플리케이션의 실행 화면에 어플리케이션에 대한 식별정보를 표시하고, 복수 개의 메인단말과의 네트워크 연결을 관리한다. 이때, 어플리케이션은 안드로이드 어플리케이션이고, 실행파일은 어플리케이션의 APK 파일(안드로이드 패키지 파일)을 포함하는 것이 바람직하다.
본 발명의 어플리케이션 클론 실행 기술에 따르면, 아이폰이나 안드로이드 폰과 같은 각종의 스마트폰을 TV, 모니터와 같은 대화면 디스플레이 장치와 무선통신을 이용하여 편리하게 연결하고, 이를 통해 스마트폰에서 실행되는 각종의 컨텐츠(예: 동영상)를 사용자들이 대화면 디스플레이 장치에서도 원활하게 시청할 수 있게 되는 장점이 있다.
또한, 본 발명의 어플리케이션 클론 실행 기술에 따르면 클론단말에 복수 개의 스마트폰을 중첩하여 연결할 수 있으므로, 스마트폰으로 출시된 다인용 어플리케이션(예: 다인용 게임)을 큰 화면에서 여러 사용자들이 편리하게 이용할 수 있는 장점이 있다.
또한, 본 발명의 어플리케이션 클론 실행 기술에 따르면, 클론단말은 비교적 작은 크기로 제작이 가능하여 사용자가 편리하게 휴대 가능하며, 회의나 프리젠테이션 등을 시행할 때 스마트폰과 클론단말을 이용하여 문서, 미디어 파일 등을 대화면으로 공유할 수 있는 장점이 있다.
[도 1]은 본 발명에 따른 어플리케이션 클론 실행 시스템을 나타낸 도면.
[도 2]는 본 발명에 따른 어플리케이션 클론 실행 시스템의 세부 구성을 나타낸 블록도.
[도 3]은 본 발명에 따른 어플리케이션 클론 실행 방법의 일 실시예를 나타낸 흐름도.
[도 4]는 본 발명에 따른 어플리케이션 클론 실행 방법에서 클론 어플리케이션이 실행되는 과정의 일 실시예를 나타낸 흐름도.
[도 5]는 본 발명에 따른 어플리케이션 클론 실행 방법에서 어플리케이션을 위한 각종 제어명령과 메인단말에서의 사용자 조작입력이 처리되는 과정의 일 실시예를 나타낸 흐름도.
[도 6]은 본 발명에 따른 어플리케이션 클론 실행 시스템에서 복수 개의 메인단말이 사용되는 실시예를 나타낸 도면.
[도 7]은 본 발명에 따른 어플리케이션 클론 실행 시스템에서 복수 개의 메인단말이 사용되는 과정을 나타낸 흐름도.
이하에서는 도면을 참조하여 본 발명을 보다 상세하게 설명한다.
[도 1]은 본 발명에 따른 어플리케이션 클론 실행 시스템의 개념을 나타낸 도면이다. 메인단말(100)은 어플리케이션이 설치되어 원래 구동되어야 하는 장치로서, 바람직하게는 사용자가 손에 들고 조작한다. 메인단말(100)의 실시예로는 안드로이드 스마트폰이다. 클론단말(200)은 대화면 표시장치(300)에 연결된 장치로, 메인단말(100)에서 실행되는 어플리케이션의 화면을 대화면 표시장치(300)에 디스플레이하기 위한 매개체이다. 본 발명에서는 클론단말(200)은 메인단말(100)로부터 어플리케이션을 복제 실행하며, 이를 통해 무선 네트워크의 데이터 전송 부담을 낮춘 상태에서 디스플레이를 구현한다.
메인단말(100)은 예컨대 스마트폰으로서, 자체 설치된 각종의 스마트 어플리케이션을 실행하거나 사용자에게 게임을 제공하거나 인터넷 브라우징을 제공하거나 동영상 재생 화면을 제공하거나 파워포인트와 같은 프리젠테이션이 가능하도록 실행환경을 제공한다. 본 발명에서는 이들을 "어플리케이션"이라고 정의하고 설명을 진행한다. 메인단말(100)에서 이와 같은 동작을 실행할 때, 메인단말(100)과 클론단말(200)이 무선랜(WiFi)을 통해 연결되어 메인단말(100)의 실행화면이 대화면 표시장치(300)에서 디스플레이된다.
사용자가 메인단말(100) 상에서 어플리케이션에 관한 조작(예: 키, 터치)을 입력하면 이들은 무선랜을 통해 클론단말(200)로 제공된다. 마찬가지로 메인단말(100)의 각종 센서 값(예: 자이로센서 값)이나 어플리케이션에 관한 각종 제어명령도 무선랜을 통해 클론단말(200)로 제공된다. 어플리케이션에 관한 각종 제어명령(application-specific controls)은 당해 어플리케이션 프로그램 내에서 무언가 제어를 위해 내려지는 명령으로, 예컨대 팝업메뉴에서 사용자 선택을 받았다거나 특정한 이미지를 제공받았다거나 사용자 개인정보를 제공받아 인증 프로그램을 실행시킨다거나 하는 것을 의미한다.
이어서, 어플리케이션 실행결과에 따른 각종 데이터가 메인단말(100)로 피드백 제공되는데, 예를 들어 게임 실행 결과에 따른 사운드, 바이브레이션 등을 생각할 수 있다. 본 발명에서는 어플리케이션이 메인단말(100)로부터 클론단말(200)로 복제되어 클론단말(200)에서 어플리케이션 실행은 이루어지고, 메인단말(100)은 단순히 사용자 인터페이스(UI)만 담당한다. 따라서, 어플리케이션 실행에 따라 사용자에게 전달되어야 하는 각종 데이터가 메인단말(100)로 전달되며, 이들은 사용자 인터페이스에 반영된다. 한편, 프로그램 실행에 따라 사용자에게 전달될 메세지도 클론단말(200)에서 메인단말(100)로 전달될 수 있다.
[도 2]는 본 발명에 따른 어플리케이션 클론 실행 시스템의 세부 구성을 나타낸 블록도이다. 어플리케이션 클론 실행 시스템은 크게 메인단말(100)과 클론단말(200)로 이루어지는데, 이들 메인단말(100)과 클론단말(200)은 무선 네트워크(예: 무선랜)로 연결되어 있다. 또한, 메인단말(100)과 클론단말(200)은 공통의 어플리케이션 실행 플랫폼(예: 안드로이드 플랫폼)을 구비하는데, 그에 따라 메인단말(100)의 어플리케이션이 복제되어 클론단말(200)에서 설치 및 실행되는 것이 가능해진다.
메인단말(100)에는 각종의 어플리케이션(111)이 설치되어 있다. 이들 어플리케이션(111)은 본 발명의 기술적 사상에 따라 클론 실행이 가능하도록 작성된 것으로, 각자 클론 실행 시에 클론제어부(112)를 기동하기 위한 프로그램 코드를 구비한다. 메인단말(100)의 메인관리부(113)은 이러한 프로그램 코드의 유무에 기초하여 특정 어플리케이션에 대해 클론 실행이 가능한지 여부를 판단할 수 있고, 클론 실행이 가능한 어플리케이션(111)이 실행될 때, 당해 클론제어부(112)를 기동시킨다. 바람직하게는 클론제어부(112)를 실행하기 위한 프로그램 코드는 당해 어플리케이션(111)을 메인단말(100)에 설치할 때 어플리케이션(111)과 함께 제공된 것이다. 또한 클론실행 사실을 메인단말(100)의 디스플레이에 표시하여 사용자가 자체 실행 또는 클론 실행을 결정할 수 있다.
메인단말(100)과 클론단말(200)은 본 발명에 따른 어플리케이션 클론 실행을 위하여 클론연결 프레임워크(115, 215)를 구비한다. 클론연결 프레임워크(115, 215)는 어플리케이션 클론 실행을 위하여 메인단말(100)과 클론단말(200)을 바람직하게는 무선 연결하고 이들 간에 각종의 데이터 송수신이 이루어지도록 한다. 이때, 페어링관리부(114)는 어플리케이션(111)과 클론 어플리케이션(211) 간의 연결, 즉 페어링(pairing)을 관리한다. 후술하는 바와 같이 클론단말(200)에 복수 개의 메인단말(100)이 연결되도록 구성될 수도 있는데, 이 경우에 페어링관리부(114)는 이들 간의 세션관리를 수행한다.
메인단말(100)에서 어플리케이션(111)을 실행하면, 메인관리부(113)는 어플리케이션(111) 내의 프로그램 코드를 이용하여 클론제어부(112)를 기동시킨다. 이어서, 어플리케이션(111)의 실행파일을 클론연결 프레임워크(115, 215)를 통해 클론단말(200)의 클론관리부(214)로 전달한다. 안드로이드 어플리케이션의 경우에 실행파일은 APK 파일(안드로이드 패키지 파일)을 포함하여 구성된다. 다른 플랫폼을 사용한 경우에는 실행파일은 그에 따라 선택된다.
클론관리부(214)는 실행파일을 메인단말(100)로부터 제공받아 클론단말(200)에서 설치하고 기동함으로써 어플리케이션(111)을 복제한 클론 어플리케이션(211)이 클론단말(200)에서 실행되도록 한다. 이후에 메인단말(100)과 클론단말(200) 간의 클론 조작이 종료된 후에는, 클론관리부(214)는 해당 클론 어플리케이션(211)을 클론단말(200)로부터 제거하여 다른 어플리케이션이 실행될 수 있는 공간을 마련하는 것이 바람직하다.
클론관리부(214)는 메인단말(100)의 메인관리부(113)로부터 제어를 받아 특정 어플리케이션에 대한 설치, 제거, 실행을 수행하며 어플리케이션 캐싱도 수행하는 것이 바람직하다. 또한, 클론관리부(214)는 메인관리부(113)로부터 실행파일을 제공받아 클론 어플리케이션(211)을 설치할 뿐만 아니라, 메인관리부(113)로부터 어플리케이션에 관한 식별정보를 제공받은 후 외부(앱스토어)로부터 인스톨 파일을 다운로드하여 설치할 수도 있다. 이는 메인단말(100)과 클론단말(200)이 원격지에 존재하는 경우에 바람직하게 적용할 수 있다. 또한, 후술하는 바와 같이 클론단말(200)에 복수 개의 메인단말(100)이 연결되도록 구성될 수도 있는데, 이 경우에 클론관리부(214)는 페어링관리부(114)와 협력하여 이들 간의 복수 개의 세션관리를 수행한다.
클론실행부(216)는 클론관리부(214)의 제어를 받아 실제로 클론 어플리케이션(211)을 설치하고 제거하며 실행시키는 동작을 수행한다. 클론실행부(216)는 바람직하게는 안드로이드 플랫폼의 패키지 매니저와 액티비티 매니저를 포함하여 구성되는 것이 바람직하다.
한편, 클론제어부(112)는 클론단말(211)에서 실행되고 있는 클론 어플리케이션(211)에 대한 제어가 메인단말(100)에서 가능하도록 해준다. 즉, 어플리케이션에 관련하여 메인단말(100)에서 생성된 각종의 사용자 조작, 제어명령, 데이터를 클론연결 프레임워크(115, 215)를 통해 클론단말(200)로 제공하여 클론 어플리케이션(211)에 반영되도록 한다.
이들 중에서 메인단말(100)에서 입력된 사용자 조작은 클론UI관리부(217)를 통해 클론 어플리케이션(211)으로 전달되고, 어플리케이션 특유의 제어명령이나 각종 데이터(예: 센서 값)는 클론관리부(214)와 클론실행부(216)를 통해 클론 어플리케이션(211)으로 전달되는 것이 바람직하다. 클론 어플리케이션(211)은 이들을 반영하여 동작을 실행한다. 당해 어플리케이션 실행에 따른 사용자 조작이 메인단말(100)에서 입력되면 클론제어부(112)는 입력관리부(116)를 통해 클론단말(200)로 제공한다. 클론UI관리부(217)는 이러한 입력 이벤트 정보를 전달받아 마치 클론단말(200) 내에서 제공된 것처럼 사용자 입력을 제공하며, 클론 어플리케이션(211)은 이러한 정보에 대응하여 동작을 수행한다. 클론UI관리부(217)는 바람직하게는 안드로이드 플랫폼의 윈도우즈 매니저를 포함하여 구성된다.
클론단말(200)에서 클론UI관리부(217)는 전술한 바와 같이 입력 이벤트를 에뮬레이션해주는 역할을 수행하는 것이 바람직하다. 클론 어플리케이션(211)은 어플리케이션(111)의 실행파일이 복제되어 실행된 것인데, 메인단말(100)과 클론단말(200)은 사용자 입력을 제공받는 방식이 완전히 상이하다. 즉, 메인단말(100)에서는 키나 터치를 통하여 사용자 조작입력이 제공되는 반면, 클론단말(200)은 클론연결 프레임워크(115, 215)를 통해 제공된다. 어플리케이션(111)은 키나 터치를 통해 사용자 조작입력이 제공되는 것으로 작성되어 있으므로, 어플리케이션(111)을 복제하여 생성한 클론 어플리케이션(211)도 키나 터치를 통해 사용자 조작입력이 제공될 것으로 기대하게 되며, 그에 따라 클론연결 프레임워크(115, 215)를 통해 제공되는 사용자 조작입력을 인식하는 것이 곤란하다. 클론단말(200)은 클론UI관리부(217)를 통해 클론단말(200)에서 마치 사용자 조작입력이 키 입력이나 터치 입력이 제공되는 것처럼 해준다. 만일 클론UI관리부(217)가 없다면 클론 어플리케이션(211)은 어플리케이션(111)의 실행파일을 복제해서 사용할 수 없고 클론 어플리케이션 용으로 별도로 마련해야 한다.
한편, 클론단말(200)에서 클론 어플리케이션(211)은 캐시를 활용하여 동작하는 것이 바람직하다. 클론단말(200)은 휴대가 간편하도록 비교적 작은 크기로 제작하는 것이 바람직한데, 이 때에는 클론단말(200)에 고성능의 프로세서를 사용하기가 곤란하다. 클론 어플리케이션(211)에 캐시를 적용함으로써 저사양의 프로세서를 사용하여 클론단말(200)을 구현하더라도 클론 어플리케이션(211)의 실행 화면은 매끄럽게 이루어질 수 있다.
한편, 클론 어플리케이션(211)이 실행한 결과에 따른 각종 데이터가 메인단말(100)로 피드백 제공될 수 있다. 예를 들어, 게임 실행 결과에 따른 사운드, 바이브레이션 등이 메인단말(100)로 제공되어 실제로 메인단말(100)에서 음향효과나 진동이 발생하는 것이 바람직하다. 본 발명에서는 어플리케이션 복제를 통해 클론단말(200)에서 어플리케이션이 실행되고 메인단말(100)은 사용자 인터페이스(UI)를 담당한다. 클론 어플리케이션(211)의 실행 결과 메이단말(100)로 피드백하려는 각종 데이터를 클론어댑터(212)가 캐치하여 클론연결 프레임워크(115, 215)를 거쳐 메인단말(100)로 제공한다. 메인단말9100)의 통지관리부(117)가 이러한 정보를 수신하여 클론제어부(112)로 제공하며, 사용자 인터페이스에 반영된다. 한편, 프로그램 실행에 따라 사용자에게 전달될 메세지도 이러한 방식으로 클론단말(200)에서 메인단말(100)로 전달된다.
한편, 메인단말(100)과 클론단말(200) 간에 동기화를 설정하는 것이 바람직하다. 메인단말(100)에는 어플리케이션(111)이 실행되고, 그에 대응하여 클론단말(200)에는 클론 어플리케이션(211)이 실행되는데, 이들 간에는 실행 상태의 동기화가 이루어져야 한다. 어플리케이션 실행 전에 각종의 데이터나 상태를 맞추는 것부터 시작하며, 어플리케이션의 실행 중에도 지속적으로 동기화가 이루어지는 것이 바람직하다.
또한, 메인단말(100)의 주소록이나 일정정보, 또는 개인정보가 클론 어플리케이션(211)으로 제공되어야 클론 어플리케이션(211)이 정상적으로 기능할 수 있는 경우가 많다. 또한, 멀티미디어 재생 어플리케이션을 클론 실행하는 경우를 생각하면, 멀티미디어 재생 어플리케이션은 클론단말(200)에 복제되어 실행되더라도 멀티미디어 파일은 여전히 메인단말(100)에 남아 있으므로, 멀티미디어 파일이 메인단말(100)과 클론단말(200) 간에 동기화되어야 한다. 멀티미디어 파일이 클론단말(200)로 한번에 복사될 수도 있지만 스트리밍 방식으로 그때그때 동기화를 유효하게 달성할 수도 있다. 동기화관리부(118)는 이와 같은 데이터 동기화를 담당한다.
[도 3]은 본 발명에 따른 어플리케이션 클론 실행 방법의 일 실시예를 나타낸 흐름도이다. 중요한 기술적 사항은 [도 1]과 [도 2]을 참조하여 이미 설명하였으므로 [도 3]을 참조해서는 흐름에 대해서만 설명한다. 프로세스의 순서는 [도 3]에 도시된 것에 한정되지 않으며, 발명의 목적을 달성하는 범위 내에서 일부 단계가 서로 순서를 바꾸어 구성될 수 있다.
(S100) 단계 : 메인단말(100)에서 메인관리 프로그램(113)을 기동한다. 본 발명에 따른 어플리케이션 클론 실행을 위해서는 메인단말(100)에서 메인관리 프로그램(113)이 실행되어야 한다.
(S110) 단계 : 메인단말(100)의 메인관리 프로그램(113)은 클론단말(200)의 클론관리 프로그램(214)과 통신하여 클론단말(200)에 당해 어플리케이션(111)에 대한 클론 어플리케이션(211)이 이미 설치되어 있는지 여부를 체크한다.
(S120) 단계 : 클론단말(200)에 클론 어플리케이션(211)이 이미 설치되어 있다면 이후의 설치과정을 스킵하는 것이 바람직하다.
(S130) 단계 : 메인관리 프로그램(113)이 어플리케이션(111)의 실행파일을 클론단말(200)로 제공한다. 전술한 바와 같이, 메인관리 프로그램(113)은 어플리케이션(111)에 클론관련 프로그램 코드가 있는지 여부를 체크함으로써 어플리케이션(111)이 클론 실행을 지원하는지 여부를 파악할 수 있다. 클론 실행을 지원하는 어플리케이션(111)에 대해서는 메인관리 프로그램(113)은 실행파일(예컨대, APK 파일)을 클론단말(200)로 제공한다.
(S140) 단계 : 클론단말(200)이 실행파일을 설치한다. 클론관리부(214)는 메인단말(100)로부터 전달받은 어플리케이션 실행파일을 클론실행부(216)로 제공하여 클론단말(200)에 클론 어플리케이션을 설치하며, 이를 통해 어플리케이션의 클론 실행을 준비한다.
(S150) 단계 : 클론단말(200)이 어플리케이션(111)에 대응하는 클론 어플리케이션(211)을 실행한다. 이로써, 메인단말(100) 상에서 행한 사용자의 어플리케이션(111)의 실행 조작에 대응하여 클론단말(200)에서 클론 어플리케이션(211)이 실행되어 대화면 표시장치(300)에 화면이 나타난다.
(S160) 단계 : 메인단말(100)과 클론단말(200) 간에 동기화를 설정한다. 이로써, 메인단말(100)과 클론단말(200) 간에 상호 제어 및 피드백을 위한 기본 구조가 마련되었다. [도 2]를 참조하여 전술한 바에 따르면 클론연결 프레임워크(115, 215)를 통하여 메인단말(100)과 클론단말(200) 간에 상호 제어 및 피드백을 위한 동기화가 달성된다. 이로써, 클론단말(200)은 클론 어플리케이션(211)을 실행하여 대화면 표시장치(300)에 화면을 출력하는 장치로서 동작하고, 메인단말(100)은 사용자 인터페이스(UI)를 담당하게 된다.
(S170) 단계 : 메인단말(100)이 어플리케이션에 관한 제어명령과 사용자 조작입력을 클론단말(200)로 제공한다.
(S180) 단계 : 클론단말(200)이 제어명령과 사용자 조작입력에 대응하여 클론 어플리케이션(211) 상에서 동작을 실행한다.
(S190) 단계 : 클론단말(200)이 클론 어플리케이션(211)의 실행 결과를 메인단말(100)로 피드백 제공한다.
[도 4]는 본 발명의 어플리케이션 클론 실행 방법에 따라 클론단말(200)에서 클론 어플리케이션(211)이 실행될 때까지 과정의 일 실시예를 좀더 구체적으로 나타낸 흐름도이다. 본 발명의 프로세스의 기본 개념에 대해서는 [도 3]을 참조하여 전술하였으므로, [도 4]를 참조하여서는 [도 3]과 구별되는 특징적인 부분을 중심으로 기술한다.
(S200) 단계 : 메인단말(100)에서 메인관리 프로그램(113)과 클론제어 프로그램(112)을 기동한다. 본 발명에서는 메인단말(100)에서 메인관리 프로그램(113)이 실행되어야 한다. 메인관리 프로그램(113)은 어플리케이션(111)에 클론관련 프로그램 코드(식별자 포함)가 있는지 여부를 체크하여 어플리케이션(111)이 클론 실행을 지원하는지 여부를 파악한다. 클론 실행을 지원하는 어플리케이션(111)에 대해서는 클론제어 프로그램(112)을 기동한다.
(S210) 단계 : 한편, 클론단말(200)에서는 클론관리 프로그램(214), 클론실행 프로그램(216), 클론UI관리 프로그램(217), 클론어댑터 프로그램(212)이 기동된다. 이때, 클론관리 프로그램(214)과 클론실행 프로그램(216)은 클론 어플리케이션(211)의 설치 및 실행을 수행하기 위한 프로그램이고, 클론UI관리 프로그램(217)과 클론어댑터 프로그램(212)은 클론 어플리케이션(211)이 실행되는 동안에 사용자 조작입력의 처리 및 실행결과의 피드백을 위한 프로그램이다.
(S220) 단계 : 메인관리 프로그램(113)이 어플리케이션(111)의 실행파일을 클론단말(200)로 제공한다. 어플리케이션 클론 실행이 가능하려면 클론단말(200)에 클론 어플리케이션(211)이 설치되어야 하므로, 메인단말(100)의 메인관리 프로그램(113)은 실행파일을 클론단말(200)로 제공한다. 이때, 어플리케이션(111)이 안드로이드 어플리케이션인 경우에 실행파일은 안드로이드 패키지 파일(APK 파일)을 포함하여 구성된다. 전술한 바와 같이, 클론관리 프로그램(214)은 메인관리 프로그램(113)으로부터 당해 어플리케이션에 관한 식별정보를 제공받은 후 외부(앱스토어)로부터 인스톨 파일을 다운로드하여 설치할 수도 있다. 메인단말(100)과 클론단말(200)이 원격지에 존재하는 경우에 바람직하다.
(S230) 단계 : 클론단말(200)의 클론관리 프로그램(214)이 메인단말(100)에서 제공한 실행파일을 클론단말(200)에 설치한다. APK 파일의 경우에 안드로이드 어플리케이션을 설치하기 위한 모든 내용물이 포함되어 있으므로, 클론관리 프로그램(214)은 APK 파일을 사용하여 클론단말(200)에 클론 어플리케이션(211)을 설치할 수 있다.
(S240) 단계 : 클론단말(200)의 클론관리 프로그램(214)이 실행파일 설치에 따른 클론 어플리케이션(211)을 기동한다. 이로써, 메인단말(100) 상에서 행한 사용자의 어플리케이션(111)의 실행 조작에 대응하여 클론단말(200)에서 클론 어플리케이션(211)이 실행되어 대화면 표시장치(300)에 화면이 나타난다. 저사양의 클론단말(200)에서 원활한 실행결과를 나타내기 위해 캐쉬(cache)를 이용하여 클론 어플리케이션(211)을 실행하는 것이 바람직하다.
(S250) 단계 : 메인단말(100)의 클론제어 프로그램(112)과 클론단말(200)의 클론관리 프로그램(214) 및 클론실행 프로그램(216) 간에 네트워크 연결을 설정한다. 어플리케이션에 관한 제어명령 및 데이터를 제공하기 위해서 클론제어 프로그램(112)과 클론관리 프로그램(214) 간에 네트워크 연결을 설정한다. 사용자 조작입력을 제공하고 클론 어플리케이션(211)의 실행 결과를 제공받기 위하여 클론제어 프로그램(112)과 클론UI관리 프로그램(217) 및 클론어댑터 프로그램(212) 간에 네트워크 연결을 설정한다. 이렇게 형성된 연결을 클론연결 프레임워크(115, 215)라 하며, 이를 통해 양 단말(100, 200) 간에 동기화가 이루어진다.
[도 5]는 본 발명의 어플리케이션 클론 실행 방법에 따라 어플리케이션의 각종 제어명령과 메인단말(100)에서의 사용자 조작입력에 대응하여 클론단말(200)이 동작을 실행하는 과정의 일 실시예를 구체적으로 나타낸 흐름도이다. 이러한 과정의 기본 개념에 대해서는 [도 3]을 참조하여 전술하였으므로, [도 5]를 참조해서는 [도 3]과 구별되는 특징적인 부분을 중심으로 기술한다.
(S300) 단계 : 먼저, 메인단말(100)에서 클론제어 프로그램(112)이 어플리케이션(111)에 관한 각종 제어명령과 데이터를 클론단말(200)로 제공한다. 어플리케이션에 관한 각종 제어명령(application-specific controls)은 당해 어플리케이션 프로그램 내에서 무언가 제어를 위해 내려지는 명령으로, 예컨대 팝업메뉴에서 사용자 선택을 받았다거나 특정한 이미지를 제공받았다거나 사용자 개인정보를 제공받아 인증 프로그램을 실행시킨다거나 하는 것을 의미한다.
(S310) 단계 : 클론관리 프로그램(214)이 제어명령과 데이터를 클론실행부(216)를 제공하고, 클론실행 프로그램(216)은 다시 이러한 데이터를 클론 어플리케이션(211)으로 제공한다. 현재 어플리케이션 실행은 클론단말(200)의 클론 어플리케이션(211)에서 이루어지고 있으므로, 클론제어 프로그램(112)으로부터 제공된 어플리케이션 관련 제어명령과 데이터를 클론관리 프로그램(214)과 클론실행 프로그램(216)은 클론 어플리케이션(211)으로 전달한다.
(S320) 단계 : 클론 어플리케이션(211)은 클론관리 프로그램(214)과 클론실행 프로그램(216)을 통해 전달받은 어플리케이션 관련 제어명령과 데이터에 따른 동작을 실행한다. 동작의 종류와 방식은 어플리케이션 별로 정의된다.
(S330) 클론제어 프로그램(112)이 메인단말(100)의 어플리케이션 조작 화면 상에서 이루어지는 사용자 조작 입력을 클론단말(200)로 제공한다. 본 발명의 어플리케이션 클론 실행에 따르면, 클론단말(200)에서 실제로 어플리케이션의 실행이 이루어지고, 메인단말(100)은 어플리케이션 실행을 제어하고 그 결과를 피드백받게 된다. 메인단말(100)의 어플리케이션 조작 화면에서 사용자가 어떠한 조작(예: 키, 터치)을 입력하면, 이러한 사항은 바로 클론제어 프로그램(112)을 통하여 클론단말(200)의 클론UI관리 프로그램(217)으로 제공된다.
(S340) 단계 : 클론UI관리 프로그램(217)은 사용자 조작입력을 클론 어플리케이션(211)으로 제공한다. 클론UI관리 프로그램(217)이 제공하는 에뮬레이션을 통하여 사용자 조작입력은 마치 클론단말(200)에서 이루어진 것처럼 클론 어플리케이션(211)으로 제공될 수 있다.
(S350) 단계 : 클론 어플리케이션(211)은 클론UI관리 프로그램(217)으로부터 전달받은 사용자 조작입력에 따른 동작을 실행한다. 동작의 종류와 방식은 어플리케이션 별로 정의된다.
(S360) 단계 : 클론단말(200)에서 클론 어플리케이션(211)의 동작 실행에 따른 결과는 클론어댑터 프로그램(212)과 통지관리 프로그램(117)을 통해 메인단말(100)의 클론제어 프로그램(112)으로 피드백 제공한다.
[도 6]은 본 발명의 어플리케이션 클론 실행 시스템에서 복수 개의 메인단말(100-1, 100-2, 100-3)이 클론단말(200-1, 200-2)을 매개로 사용되는 실시예를 나타낸 도면이며, 이를 통해 "N스크린"에 대응할 수 있게 된다.
사용자가 기본 메인단말(100-1)과 클론단말(200-1)을 사용하여 제 1 표시장치(300-1)에 어플리케이션을 실행하고 있다. 어플리케이션의 종류는 프리젠테이션이며, 프리젠테이션 내용이 클론단말(200-1)을 통해 제 1 표시장치(300-1)에 디스플레이되고, 기본 메인단말(100-1)은 프리젠테이션을 위한 제어단말기로서 사용되고 있다.
이 상태에서, 다른 사용자가 추가 메인단말1(100-2)을 클론단말(200-1) 근처에 가져와서 동일한 어플리케이션을 실행하면서 조인(join)을 요청한다면, 추가 메인단말1(100-2)에서 당해 어플리케이션(프리젠테이션)에 대한 클론제어 프로그램(112)만 기동되면 동작이 가능해진다. 클론단말(200-1)에는 이미 클론관리 프로그램(214)과 클론실행 프로그램(216)이 실행 중이므로, 추가 메인단말1(100-2)의 클론제어 프로그램(112)이 연결만 하면 된다.
한편, 추가 메인단말2(100-3)에는 당해 어플리케이션이 설치되어 있지 않다고 가정하면, 추가 메인단말2(100-3)은 현재의 프리젠테이션 어플리케이션에 조인하는 것이 곤란하다. 이 문제를 해결하기 위하여, 실행화면의 어딘가에 당해 어플리케이션의 식별정보(116)가 표시되어 있다고 가정한다. [도 6]에는 현재 널리 활용되는 QR 코드를 도시하였다. 추가 메인단말2(100-3)에서는 식별정보(116)를 이용하여 현재 어플리케이션에 대한 클론제어 프로그램(112)을 다운로드받아 설치할 수 있고, 그에 따라 조인이 가능해진다.
이때, 추가 메인단말2(100-3)이 다운로드하는 클론제어 프로그램(112)은 추가 메인단말1(100-2)이 사용하는 것과 동일한 기능을 가진 것일 수도 있고, 다소 상이한 기능이 구현된 것일 수도 있다. 즉, [도 6]에 도시된 실시예에서는, 추가 메인단말(100-1, 100-2)에서 구동되는 클론제어 프로그램(112)은 프리젠테이션을 제어하는 기능을 갖는 반면, 추가 메인단말2(100-3)이 다운로드하여 설치한 클론제어 프로그램(112)은 설문조사에 응답하는 기능을 갖는다.
이상에서는 추가 메인단말(100-2, 100-3)이 클론제어 프로그램(112)을 획득하는 방법으로 QR 코드를 인식하여 다운로드받는 실시예를 개시하였다. 본 발명은 이러한 실시예에 한정되지 않으며 추가 메인단말(100-2, 100-3)이 클론제어 프로그램(112)을 획득할 수 있는 다양한 방법을 모두 포함한다. 예를 들어, SMS 푸시 기술을 이용하거나 다운로드 URL을 직접 입력함으로써 추가 메인단말(100-2, 100-3)에 클론제어 프로그램(112)이 설치될 수도 있고, 기본 메인단말(100-1)이나 클론단말(200-1, 200-2)이 추가 메인단말(100-2, 100-3)에 클론제어 프로그램(112)을 제공하도록 구성할 수도 있다.
[도 7]은 본 발명에 따른 어플리케이션 클론 실행 시스템에서 복수 개의 메인단말이 사용되는 과정을 나타낸 흐름도이다. 중요한 기술적 사항은 [도 6]을 참조하여 이미 설명하였으므로 [도 7]을 참조해서는 흐름에 대해서만 설명한다. 프로세스의 순서는 [도 7]에 도시된 것에 한정되지 않으며, 발명의 목적을 달성하는 범위 내에서 일부 단계가 서로 순서를 바꾸어 구성될 수 있다.
(S400) 단계 : 제 2 메인단말(100-3)에서 어플리케이션(111)에 대한 식별정보(116)를 제공받는다. 식별정보(116)는 바람직하게는 클론 어플리케이션(211)의 실행화면의 어딘가에 표시되는데, [도 6]의 실시예에서는 실행화면에 QR 코드를 표시하였다. 제 2 메인단말(100-3)에서 QR 코드를 카메라로 캡쳐한 다음, 이로부터 식별정보(116)를 얻을 수 있다. 전술한 바와 같이, SMS 푸시나 직접 URL 입력, 또는 기본 메인단말(100-1)이나 클론단말(200-1, 200-2)로부터 전송받는 등의 방식을 채택할 수도 있다.
(S410) 단계 : 제 2 메인단말(100-3)이 식별정보(116)에 기초하여 어플리케이션(111)에 대한 클론제어 프로그램(112)을 다운로드한다. 제 2 메인단말(100-3)에 이러한 기능을 수행하는 소프트웨어가 설치되어 있다면 식별정보(116)로부터 클론제어 프로그램(112)을 다운로드할 수 있다.
(S420) 단계 : 제 2 메인단말(100-3)이 다운로드한 클론제어 프로그램(112)을 설치한다.
(S430) 단계 : 제 2 메인단말(100-3)이 위 설치된 클론제어 프로그램(112)을 기동한다. 기존의 클론연결 프레임워크(115, 215)에 조인하기 위해서는 제 2 메인단말(100-3)에서 클론제어 프로그램(112)이 기동되어야 한다.
(S440) 단계 : 제 2 메인단말(100-3)의 클론제어 프로그램(112)이 클론단말(200)의 클론관리 프로그램(214)으로 네트워크 연결을 설정하여 제 2 메인단말(100-2)과 클론단말(200) 간에 동기화가 추가로 설정된다. 이러한 동작을 통하여 기존의 클론연결 프레임워크(115, 215)에 제 2 메인단말(100-3)이 조인하는 작업이 달성된다.
(S450) 단계 : 제 2 메인단말(100-3)에서 클론단말(200)로 제어명령과 사용자 조작입력을 제공한다.
(S460) 단계 : 클론단말(200)이 제 2 메인단말(100-2)의 제어명령과 사용자 조작입력에 대응하여 클론 어플리케이션(211) 상에서 동작을 실행한다.
(S470) 단계 : 클론단말(200)이 클론 어플리케이션(211)의 실행 결과를 제 1 메인단말(100-1)과 제 2 메인단말(100-2)로 피드백 제공한다. 클론단말(200)은 클론연결 프레임워크(115, 215)에 연결된 모든 메인단말(100)에 클론 어플리케이션(211)의 실행 결과를 피드백 제공하는 것이 바람직하다.
이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.

Claims (13)

  1. 메인단말에 설치된 어플리케이션을 클론단말에 복제하여 실행하기 위한 어플리케이션 클론 실행 방법으로서,
    (a) 상기 메인단말에서 메인관리 프로그램을 기동하는 단계;
    (b) 상기 메인관리 프로그램의 제어에 대응하여 상기 어플리케이션의 실행파일이 상기 클론단말로 제공되는 단계;
    (c) 상기 클론단말이 상기 실행파일을 설치하여 상기 어플리케이션에 대한 클론 어플리케이션을 실행하는 단계;
    (d) 상기 메인단말과 상기 클론단말 간의 동기화를 설정하는 단계;
    (e) 상기 메인단말이 상기 어플리케이션에 따른 제어명령과 사용자 조작입력을 상기 클론단말로 제공하는 단계;
    (f) 상기 클론단말이 상기 제어명령과 사용자 조작입력에 대응하여 상기 클론 어플리케이션 상에서 동작을 실행하는 단계;
    (g) 상기 클론단말이 상기 클론 어플리케이션의 실행 결과를 상기 메인단말로 피드백 제공하는 단계;
    를 포함하여 구성되는 어플리케이션 클론 실행 방법.
  2. 청구항 1에 있어서,
    상기 (c) 클론 어플리케이션 실행 단계는,
    (c1) 상기 클론단말에서 클론관리 프로그램을 기동하는 단계;
    (c2) 상기 클론관리 프로그램이 상기 실행파일을 상기 클론단말에 설치하는 단계;
    (c3) 상기 클론관리 프로그램이 상기 설치된 실행파일에 따른 클론 어플리케이션을 기동하는 단계;
    를 포함하여 구성되고,
    상기 (d) 동기화 단계는,
    (d1) 상기 메인단말이 상기 어플리케이션에 대응되도록 마련된 클론제어 프로그램을 기동하는 단계;
    (d2) 상기 클론단말이 클론실행 프로그램, 클론UI관리 프로그램, 클론어댑터 프로그램을 기동하는 단계;
    (d3) 상기 메인단말의 클론제어 프로그램과 상기 클론단말의 상기 클론관리 프로그램, 상기 클론실행 프로그램, 상기 클론UI관리 프로그램, 상기 클론어댑터 프로그램 간에 네트워크 연결을 설정하는 단계;
    를 포함하여 구성되는 것을 특징으로 하는 어플리케이션 클론 실행 방법.
  3. 청구항 2에 있어서,
    상기 (e) 제어명령 단계는,
    (e1) 상기 클론제어 프로그램이 상기 어플리케이션을 위한 제어명령과 데이터를 상기 클론관리 프로그램으로 제공하는 단계;
    (e2) 상기 클론제어 프로그램이 상기 사용자 조작 입력을 상기 클론UI관리 프로그램으로 제공하는 단계;
    를 포함하여 구성되고,
    상기 (f) 동작실행 단계는,
    (f1) 상기 클론관리 프로그램이 상기 제어명령과 데이터를 상기 클론실행 프로그램으로 제공하는 단계;
    (f2) 상기 클론실행 프로그램이 상기 제어명령과 데이터를 상기 클론 어플리케이션으로 제공하여 동작이 실행되도록 하는 단계;
    (f3) 상기 클론UI관리 프로그램이 상기 사용자 조작입력을 에뮬레이션하여 상기 클론 어플리케이션으로 제공함으로써 상기 조작입력에 대응되는 동작이 실행되도록 하는 단계;
    를 포함하여 구성되고,
    상기 (g) 피드백 제공 단계는,
    (g1) 상기 클론어댑터 프로그램이 상기 클론 어플리케이션의 동작 실행에 따른 결과 데이터를 획득하는 단계;
    (g2) 상기 클론어댑터 프로그램이 상기 결과 데이터를 상기 클론제어 프로그램으로 제공하는 단계;
    를 포함하여 구성되는 것을 특징으로 하는 어플리케이션 클론 실행 방법.
  4. 청구항 2에 있어서,
    상기 어플리케이션 클론 실행 방법은,
    (h) 제 2 메인단말에서 상기 어플리케이션에 대한 클론제어 프로그램을 기동하는 단계;
    (i) 상기 제 2 메인단말의 클론제어 프로그램이 상기 클론단말의 클론관리 프로그램으로 네트워크 연결을 설정하여, 상기 제 2 메인단말과 상기 클론단말 간에 동기화가 추가 설정되는 단계;
    (j) 상기 제 2 메인단말에서 상기 클론단말로 제어명령과 사용자 조작입력을 제공하는 단계;
    (k) 상기 클론단말이 상기 제 2 메인단말의 제어명령과 사용자 조작입력에 대응하여 상기 클론 어플리케이션 상에서 동작을 실행하는 단계;
    를 더 포함하여 구성되는 어플리케이션 클론 실행 방법.
  5. 청구항 4에 있어서,
    상기 (h) 단계는,
    (h1) 상기 제 2 메인단말이 상기 어플리케이션에 대한 식별정보를 획득하는 단계;
    (h2) 상기 제 2 메인단말이 상기 식별정보에 기초하여 상기 어플리케이션에 대한 클론제어 프로그램을 획득하는 단계;
    (h3) 상기 제 2 메인단말이 상기 획득한 클론제어 프로그램을 설치하는 단계;
    (h4) 상기 제 2 메인단말이 상기 클론제어 프로그램을 기동하는 단계;
    를 포함하여 구성되는 것을 특징으로 하는 어플리케이션 클론 실행 방법.
  6. 청구항 5에 있어서,
    상기 클론단말은 상기 클론 어플리케이션의 실행 화면에 상기 식별정보를 디스플레이를 통해 표시하고,
    상기 (h1) 단계는,
    (h11) 상기 제 2 메인단말이 상기 디스플레이 상에 표시된 상기 식별정보를 카메라로 캡쳐하는 단계;
    (h12) 상기 제 2 메인단말이 상기 캡쳐 화면에서 상기 식별정보를 추출하는 단계;
    를 포함하여 구성되는 것을 특징으로 하는 어플리케이션 클론 실행 방법.
  7. 청구항 4에 있어서,
    상기 제 2 메인단말은 SMS 푸시, 직접 URL 입력, 클론제어 프로그램의 단말간 복사 중 어느 하나를 통해 상기 어플리케이션에 대한 클론제어 프로그램을 획득하고 기동하는 것을 특징으로 하는 어플리케이션 클론 실행 방법.
  8. 청구항 1에 있어서,
    상기 (b) 단계 이전에,
    (ab1) 상기 메인관리 프로그램이 상기 클론단말에 상기 클론 어플리케이션이 이미 설치되어 있는지 여부를 체크하는 단계;
    (ab2) 상기 클론 어플리케이션이 이미 설치되어 있는 경우, 상기 메인관리 프로그램이 상기 클론단말에서 상기 클론 어플리케이션을 실행시키고 상기 (d) 단계로 진행하는 단계;
    를 더 포함하여 구성되는 어플리케이션 클론 실행 방법.
  9. 청구항 1 내지 청구항 8 중 어느 한 항에 있어서,
    상기 어플리케이션은 안드로이드 어플리케이션이고, 상기 실행파일은 상기 어플리케이션의 APK 파일(안드로이드 패키지 파일)을 포함하는 것을 특징으로 하는 어플리케이션 클론 실행 방법.
  10. 어플리케이션의 클론실행을 위한 메인관리 프로그램을 기동하는 단계;
    어플리케이션의 클론실행을 위한 클론제어 프로그램을 기동하는 단계;
    상기 메인관리 프로그램의 제어에 대응하여 상기 어플리케이션의 실행파일이 클론단말로 제공되는 단계;
    상기 클론제어 프로그램이 상기 클론단말과 네트워크 연결함으로써 상기 클론단말과의 동기화를 설정하는 단계;
    상기 클론제어 프로그램이 상기 어플리케이션을 위한 제어명령과 데이터를 상기 클론단말로 제공하는 단계;
    상기 클론제어 프로그램이 상기 어플리케이션 상에서의 사용자 조작입력을 상기 클론단말로 제공하는 단계;
    상기 메인관리 프로그램이 상기 클론 실행 결과를 상기 클론단말로부터 피드백 수신하는 단계;
    를 수행하는 프로그램을 기록한 컴퓨터로 판독가능한 기록매체.
  11. 메인단말(100)에 설치된 어플리케이션을 복제하여 실행하는 클론 실행을 지원하는 클론단말로서,
    상기 메인단말의 조작에 따라 상기 어플리케이션의 실행파일을 확보하고 상기 어플리케이션에 대응하는 클론 어플리케이션에 대한 설치, 제거, 실행을 제어하며, 상기 메인단말로부터 상기 어플리케이션을 위한 제어명령과 데이터를 수신하는 클론관리부(214);
    상기 클론관리부(214)의 제어에 대응하여 상기 실행파일을 활용하여 상기 클론 어플리케이션에 대한 설치, 제거, 실행을 수행하고, 상기 메인단말로부터 상기 어플리케이션에 대한 제어명령과 데이터를 수신하여 상기 클론 어플리케이션으로 제공함으로서 상기 제어명령과 데이터에 따라 상기 클론 어플리케이션이 동작하도록 보조하는 클론실행부(216);
    상기 메인단말로부터 사용자 조작입력을 전달받은 후, 상기 사용자 조작입력이 장치 입력수단을 통해 입력된 것처럼 에뮬레이션하여 상기 클론 어플리케이션으로 제공하는 클론UI관리부(217);
    상기 클론 어플리케이션의 동작 실행에 따른 결과 데이터를 획득하여 상기 메인단말로 제공하는 클론어댑터부(212);
    를 포함하여 구성되는 클론단말.
  12. 청구항 11에 있어서,
    상기 클론관리부(214)는 상기 클론 어플리케이션의 실행 화면에 상기 어플리케이션에 대한 식별정보를 표시하고, 복수 개의 메인단말과의 네트워크 연결을 관리하는 것을 특징으로 하는 클론단말.
  13. 청구항 11 또는 청구항 12에 있어서,
    상기 어플리케이션은 안드로이드 어플리케이션이고, 상기 실행파일은 상기 어플리케이션의 APK 파일(안드로이드 패키지 파일)을 포함하는 것을 특징으로 하는 클론단말.
KR1020110042713A 2011-05-04 2011-05-04 어플리케이션 클론 실행 방법, 컴퓨터로 판독가능한 기록매체, 및 이를 지원하는 클론단말 KR101249719B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020110042713A KR101249719B1 (ko) 2011-05-04 2011-05-04 어플리케이션 클론 실행 방법, 컴퓨터로 판독가능한 기록매체, 및 이를 지원하는 클론단말
PCT/KR2011/006427 WO2012150744A1 (ko) 2011-05-04 2011-08-30 어플리케이션 클론 실행 방법, 컴퓨터로 판독가능한 기록매체, 및 이를 지원하는 클론단말

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110042713A KR101249719B1 (ko) 2011-05-04 2011-05-04 어플리케이션 클론 실행 방법, 컴퓨터로 판독가능한 기록매체, 및 이를 지원하는 클론단말

Publications (2)

Publication Number Publication Date
KR20120124843A KR20120124843A (ko) 2012-11-14
KR101249719B1 true KR101249719B1 (ko) 2013-04-03

Family

ID=47107921

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110042713A KR101249719B1 (ko) 2011-05-04 2011-05-04 어플리케이션 클론 실행 방법, 컴퓨터로 판독가능한 기록매체, 및 이를 지원하는 클론단말

Country Status (2)

Country Link
KR (1) KR101249719B1 (ko)
WO (1) WO2012150744A1 (ko)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102069748B1 (ko) * 2013-02-13 2020-01-23 삼성전자주식회사 모바일 장치, 디스플레이 장치, 그의 ui 표시 방법 및 컴퓨터 판독가능 기록매체
US9924215B2 (en) * 2014-01-09 2018-03-20 Hsni, Llc Digital media content management system and method
KR101594105B1 (ko) * 2015-03-06 2016-02-16 주식회사 와이젯 사용자 장치 간에 여러 화면을 분배하고 입력 인터페이스를 공유하는 멀티 스크린 구현 방법 및 장치
KR102403338B1 (ko) * 2015-07-02 2022-05-27 엘지전자 주식회사 이동 단말기
CN107925791B (zh) * 2015-07-02 2021-12-14 Lg电子株式会社 图像显示设备和移动终端
KR102444150B1 (ko) * 2015-07-02 2022-09-15 엘지전자 주식회사 영상표시장치
CN108874400A (zh) * 2017-05-15 2018-11-23 深圳市伊特利网络科技有限公司 终端app分身的实现方法及系统
CN109947508B (zh) * 2019-03-07 2023-02-17 Oppo广东移动通信有限公司 分屏显示方法、装置、电子设备及计算机可读取存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1997004389A1 (en) 1995-07-20 1997-02-06 Novell, Inc. Transaction synchronization in a disconnectable computer and network
KR20000028677A (ko) * 1998-10-23 2000-05-25 포만 제프리 엘 클라이언트와 적응형 동기 및 변형 서버를 위한 방법,장치, 프로그램 저장장치

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5434994A (en) * 1994-05-23 1995-07-18 International Business Machines Corporation System and method for maintaining replicated data coherency in a data processing system
FR2843209B1 (fr) * 2002-08-02 2006-01-06 Cimai Technology Procede de replication d'une application logicielle dans une architecture multi-ordinateurs, procede pour realiser une continuite de fonctionnement mettant en oeuvre ce procede de replication, et systeme multi-ordinateurs ainsi equipe.

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1997004389A1 (en) 1995-07-20 1997-02-06 Novell, Inc. Transaction synchronization in a disconnectable computer and network
KR20000028677A (ko) * 1998-10-23 2000-05-25 포만 제프리 엘 클라이언트와 적응형 동기 및 변형 서버를 위한 방법,장치, 프로그램 저장장치

Also Published As

Publication number Publication date
WO2012150744A1 (ko) 2012-11-08
KR20120124843A (ko) 2012-11-14

Similar Documents

Publication Publication Date Title
KR101249719B1 (ko) 어플리케이션 클론 실행 방법, 컴퓨터로 판독가능한 기록매체, 및 이를 지원하는 클론단말
TWI470455B (zh) 媒體內容與用戶訂閱內容的無線同步
US8732691B2 (en) Method for installing application in portable terminal
KR102058465B1 (ko) 전자기기 원격제어 시스템 및 이의 운용방법
US20150067536A1 (en) Gesture-based Content Sharing Between Devices
KR101921276B1 (ko) 휴대단말기의 멀티태스킹 수행 장치 및 방법
JP5307276B2 (ja) Usb装置の遠隔制御方法及びこれを実行するシステム
CN102325271A (zh) 移动终端发送文件给电视机共享的方法、装置及移动终端
KR20160050336A (ko) 단말장치 및 그 제어 방법
CN102117640A (zh) 一种用于控制媒体播放设备的方法和装置
TWI688866B (zh) 一種資料共用系統及方法
CN114286165A (zh) 一种显示设备、移动终端及投屏数据传输方法
CN113992958A (zh) 一种多窗口同屏互动方法、终端及存储介质
JP2017213192A (ja) 情報処理システム、情報処理装置およびデータ取得方法
KR20160124403A (ko) 테마 어플리케이션을 로딩하기 위한 방법 및 디바이스
CN103365061A (zh) 云投影系统
US20170168796A1 (en) Method and electronic apparatus for transferring application program from pc to mobile apparatus
WO2022037212A1 (zh) 显示设备、文件传输方法
KR102162086B1 (ko) 휴대단말기의 데이터 공유 장치 및 방법
CN111796786A (zh) 投屏方法、装置、终端及存储介质
EP3748492A1 (en) Downloading and launching an app on a second device from a first device
JP2011118506A (ja) コンテンツ選択システム、提供装置、転送装置、コンテンツ選択方法、およびコンテンツ選択プログラム
CN103365062A (zh) 云投影方法
TWI461925B (zh) 分享資料方法及系統
WO2022160612A1 (zh) 与车辆的车载系统交互方法、存储介质和移动终端

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
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20160322

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20170308

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee