KR20200037185A - Method and apparatus for executing application - Google Patents

Method and apparatus for executing application Download PDF

Info

Publication number
KR20200037185A
KR20200037185A KR1020200039002A KR20200039002A KR20200037185A KR 20200037185 A KR20200037185 A KR 20200037185A KR 1020200039002 A KR1020200039002 A KR 1020200039002A KR 20200039002 A KR20200039002 A KR 20200039002A KR 20200037185 A KR20200037185 A KR 20200037185A
Authority
KR
South Korea
Prior art keywords
external device
terminal
application
app
information
Prior art date
Application number
KR1020200039002A
Other languages
Korean (ko)
Other versions
KR102118415B1 (en
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 KR20200037185A publication Critical patent/KR20200037185A/en
Application granted granted Critical
Publication of KR102118415B1 publication Critical patent/KR102118415B1/en

Links

Images

Classifications

    • 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
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/041Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04842Selection of displayed objects or displayed text elements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • 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/445Program loading or initiating

Abstract

The present invention relates to a method for conveniently executing an application and a device thereof. The method comprises the following operations of: establishing a connection between an electronic device and an external device; transmitting a list of a plurality of applications to the external device; receiving a transmission request of state information of an application from the external device, wherein the application is selected by the external device among the plurality of applications; transmitting the state information of the selected application to the external device based on the transmission request; receiving a control signal for the selected application from the external device; changing the state of the selected application based on the control signal; and transmitting state information corresponding to the changed state of the selected application to the external device, wherein the control signal can include coordinate information of an input to the selected application.

Description

애플리케이션 실행 방법 및 장치{METHOD AND APPARATUS FOR EXECUTING APPLICATION}Application execution method and device {METHOD AND APPARATUS FOR EXECUTING APPLICATION}

본 명세서는 애플리케이션 실행 방법 및 장치에 관한 것이다.This specification relates to an application execution method and apparatus.

근거리 통신(Short Range Communication)은 가까운 거리에서의 비접촉식 근거리 무선 통신을 위한 기술이다. 근거리 통신 중 예를 들어 블루투스(Bluetooth), NFC(Near Field Communication) 등이 널리 활용되고 있다. 비교적 간단한 장치를 이용해 데이터 기타 신호를 송수신할 수 있어 휴대 전화 등의 다양한 장치에 근거리 통신 모듈이 포함되는 추세이다.Short range communication is a technology for non-contact short-range wireless communication at a short distance. Among short-range communication, for example, Bluetooth and Near Field Communication (NFC) are widely used. Since a relatively simple device can transmit and receive data and other signals, a short-range communication module is included in various devices such as mobile phones.

스타일러스 펜(Stylus Pen)은 감압방식의 터치스크린에 대한 입력 도구로 주로 사용되었던 펜 타입(Pen Type) 스크린 입력 장치이다. 터치스크린이 정전방식이 주를 이루면서 최근 스타일러스 펜의 사용이 많이 줄어들었다. 하지만 현재도 스타일러스 펜은 디지타이저 등에 대한 정밀한 입력을 위해 사용되고 있다.The Stylus Pen is a pen type screen input device that was mainly used as an input tool for a pressure-sensitive touch screen. The use of stylus pens has been greatly reduced in recent years as the touch screen has become the main method of electrostatics. However, stylus pens are still used for precise input to digitizers.

엔-스크린(N-Screen)은 주로 콘텐츠에 대해 기기간 연동을 지원하는 기술이다. 엔-스크린을 이용하여, 음악, 비디오, 사진 등의 콘텐츠를 대상으로 하나의 콘텐츠를 여러 기기에서 사용하게 하거나, 콘텐츠 및 기기들의 효율성을 고려하여 각 기기에 대해 특성에 맞는 콘텐츠를 이용하도록 하는 애플리케이션이 개발되고 있는 추세이다.N-Screen is a technology that mainly supports inter-device interlocking of contents. An application that uses n-screen to use a single content on multiple devices for content such as music, video, and photos, or to use content that matches characteristics for each device considering the efficiency of the content and devices This is a developing trend.

기존 N-스크린 기술은 기기 간 콘텐츠 등의 공유를 위한 연결 작업을 위해 사용자의 많은 수의 입력 동작을 요구하하는 비직관적인 구조이다. 또한 종래의 N-스크린 기술은 기기에서 지정한 애플리케이션에서 제공하는 기능만을 사용하는 제한적인 형태로 사용자에게 직관적인 끊김 없는 경험(Seamless Experience)을 제공하기 곤란하다.The existing N-screen technology is a non-intuitive structure that requires a large number of input operations by a user for a connection operation for sharing content between devices. In addition, the conventional N-screen technology is difficult to provide an intuitive seamless experience to the user in a limited form using only the functions provided by the application designated by the device.

본 명세서의 일 실시 예는 편리한 애플리케이션 실행 장치 및 방법을 제공하는데 그 목적이 있다.One embodiment of the present specification is to provide a convenient application execution apparatus and method.

본 발명의 다양한 실시예들에 따른 전자 장치는, 복수의 앱(application)들을 저장하는 메모리; 및 프로세서를 포함하고, 상기 프로세서는, 상기 전자 장치와 외부 장치의 연결을 수립(establish)하고, 상기 복수의 앱들의 리스트를 상기 외부 장치로 전송하고, 상기 외부 장치로부터 앱의 상태 정보의 전송 요청을 수신하되, 상기 앱은 상기 외부 장치에 의해 상기 복수의 앱들 중에서 선택된 것이고, 상기 전송 요청에 기반하여, 상기 선택된 앱의 상태 정보를 상기 외부 장치로 전송하고, 상기 외부 장치로부터 상기 선택된 앱에 관한 제어 신호를 수신하고, 상기 제어 신호에 기반하여 상기 선택된 앱의 상태를 변경하고, 및 상기 선택된 앱의 변경된 상태에 대응하는 상태 정보를 상기 외부 장치로 전송하고, 상기 제어 신호는 상기 선택된 앱에 대한 입력의 좌표 정보를 포함할 수 있다.An electronic device according to various embodiments of the present disclosure includes a memory storing a plurality of applications; And a processor, wherein the processor establishes a connection between the electronic device and an external device, transmits a list of the plurality of apps to the external device, and requests to transmit status information of the app from the external device Receiving, wherein the app is selected from among the plurality of apps by the external device, and based on the transmission request, transmits the status information of the selected app to the external device, and relates to the selected app from the external device. A control signal is received, the status of the selected app is changed based on the control signal, and status information corresponding to the changed status of the selected app is transmitted to the external device, and the control signal is generated for the selected app. It may include coordinate information of the input.

본 발명의 다양한 실시예들에 따른 복수의 앱(application)들을 저장하는 전자 장치의 동작 방법은, 상기 전자 장치와 외부 장치의 연결을 수립(establish)하는 동작, 상기 복수의 앱들의 리스트를 상기 외부 장치로 전송하는 동작, 상기 외부 장치로부터 앱의 상태 정보의 전송 요청을 수신하되, 상기 앱은 상기 외부 장치에 의해 상기 복수의 앱들 중에서 선택된 것인 동작, 상기 전송 요청에 기반하여, 상기 선택된 앱의 상태 정보를 상기 외부 장치로 전송하는 동작, 상기 외부 장치로부터 상기 선택된 앱에 관한 제어 신호를 수신하는 동작, 상기 제어 신호에 기반하여 상기 선택된 앱의 상태를 변경하는 동작, 및 상기 선택된 앱의 변경된 상태에 대응하는 상태 정보를 상기 외부 장치로 전송하는 동작을 포함하고, 상기 제어 신호는 상기 선택된 앱에 대한 입력의 좌표 정보를 포함할 수 있다.An operation method of an electronic device storing a plurality of applications according to various embodiments of the present invention includes: establishing a connection between the electronic device and an external device, and listing the plurality of apps in the external An operation for transmitting to a device, a request for transmitting the status information of an app from the external device, wherein the app is selected from among the plurality of apps by the external device, based on the transmission request, of the selected app Transmitting status information to the external device, receiving a control signal for the selected app from the external device, changing a state of the selected app based on the control signal, and changed state of the selected app And transmitting status information corresponding to the external device, and the control signal is input to the selected app. It may include coordinate information of.

본 발명의 다양한 실시예들에 따른 복수의 앱(application)들을 저장하는 전자 장치의 동작을 제어하기 위한 프로그램이 기록되어 있는 기록 매체는, 상기 전자 장치가, 상기 전자 장치와 외부 장치의 연결을 수립(establish)하는 동작, 상기 복수의 앱들의 리스트를 상기 외부 장치로 전송하는 동작, 상기 외부 장치로부터 앱의 상태 정보의 전송 요청을 수신하되, 상기 앱은 상기 외부 장치에 의해 상기 복수의 앱들 중에서 선택된 것인 동작, 상기 전송 요청에 기반하여, 상기 선택된 앱의 상태 정보를 상기 외부 장치로 전송하는 동작, 상기 외부 장치로부터 상기 선택된 앱에 관한 제어 신호를 수신하는 동작, 상기 제어 신호에 기반하여 상기 선택된 앱의 상태를 변경하는 동작, 및 상기 선택된 앱의 변경된 상태에 대응하는 상태 정보를 상기 외부 장치로 전송하는 동작 동작을 하도록 하는 프로그램이 기록되어 있고, 상기 제어 신호는 상기 선택된 앱에 대한 입력의 좌표 정보를 포함할 수 있다.In a recording medium in which a program for controlling the operation of an electronic device storing a plurality of applications according to various embodiments of the present invention is recorded, the electronic device establishes a connection between the electronic device and an external device (establish) operation, transmitting the list of the plurality of apps to the external device, receiving a request to transmit the status information of the app from the external device, wherein the app is selected from the plurality of apps by the external device Operation, transmitting status information of the selected app to the external device based on the transmission request, receiving a control signal for the selected app from the external device, and selecting the selected signal based on the control signal An operation of changing the state of the app, and transmitting state information corresponding to the changed state of the selected app to the external device Has a program recording operation to the operation, the control signal may include coordinate information of the input to the selected app.

본 명세서의 일 실시 예에 따르면 사용자는 편리하게 애플리케이션을 실행할 수 있다.According to an embodiment of the present specification, the user can conveniently run the application.

도 1은 본 명세서의 일 실시 예에 따르는 애플리케이션 실행 및 이전을 수행하는 시스템의 망 구성도이다.
도 2는 본 명세서의 일 실시 예에 따르는 단말의 블록구성도이다.
도 3은 본 명세서의 일 실시 예에 따르는 단말의 블록구성도이다.
도 4는 본 명세서의 일 실시 예에 따르는 외부 장치의 블록구성도이다.
도 5는 본 명세서의 일 실시 예에 따르는 외부 장치의 블록구성도이다.
도 6a는 본 명세서의 제1 실시 예에 따르는 애플리케이션 이전 과정의 순서도이다.
도 6b는 본 명세서의 제1 실시 예에 따르는 애플리케이션 이전 과정의 순서도이다.
도 6c는 본 명세서의 제2 실시 예에 따르는 애플리케이션 이전 과정의 순서도이다.
도 7a 내지 도 7e는 단말의 지시 입력 수신 방식을 나타낸다.
도 8은 본 명세서의 일 실시 예에 따르는 애플리케이션 선택 인터페이스이다.
도 9a 및 도 9b는 본 명세서의 제3 실시 예에 따르는 애플리케이션 이전 과정의 순서도이다.
도 9c는 본 명세서의 제4 실시 예에 따르는 애플리케이션 이전 과정의 순서도이다.
1 is a network configuration diagram of a system for performing application execution and migration according to an embodiment of the present specification.
2 is a block diagram of a terminal according to an embodiment of the present specification.
3 is a block diagram of a terminal according to an embodiment of the present specification.
4 is a block diagram of an external device according to an embodiment of the present specification.
5 is a block diagram of an external device according to an embodiment of the present disclosure.
6A is a flowchart of an application transfer process according to the first embodiment of the present specification.
6B is a flowchart of an application migration process according to the first embodiment of the present specification.
6C is a flowchart of an application transfer process according to a second embodiment of the present specification.
7A to 7E show an instruction input reception method of the terminal.
8 is an application selection interface according to an embodiment of the present specification.
9A and 9B are flowcharts of an application migration process according to a third embodiment of the present specification.
9C is a flowchart of an application transfer process according to a fourth embodiment of the present specification.

이하, 본 명세서의 실시 예를 첨부된 도면을 참조하여 상세하게 설명한다.Hereinafter, embodiments of the present specification will be described in detail with reference to the accompanying drawings.

실시 예를 설명함에 있어서 본 명세서가 속하는 기술 분야에 익히 알려져 있고 본 명세서와 직접적으로 관련이 없는 기술 내용에 대해서는 설명을 생략한다. 이는 불필요한 설명을 생략함으로써 본 명세서의 요지를 흐리지 않고 더욱 명확히 전달하기 위함이다.In describing embodiments, descriptions of technical contents that are well known in the technical field to which this specification belongs and are not directly related to the specification will be omitted. This is to more clearly convey the gist of the present specification by omitting unnecessary description.

마찬가지 이유로 첨부 도면에 있어서 일부 구성요소는 과장되거나 생략되거나 개략적으로 도시되었다. 또한, 각 구성요소의 크기는 실제 크기를 전적으로 반영하는 것이 아니다. 각 도면에서 동일한 또는 대응하는 구성요소에는 동일한 참조 번호를 부여하였다.For the same reason, some components in the accompanying drawings are exaggerated, omitted, or schematically illustrated. Also, the size of each component does not entirely reflect the actual size. The same reference numbers are assigned to the same or corresponding elements in each drawing.

도 1은 본 명세서의 일 실시 예에 따르는 애플리케이션 실행 및 이전을 수행하는 시스템의 망 구성도이다. 도 1의 시스템은 단말들(200, 300) 및 외부 장치들(400, 500)을 포함한다. 1 is a network configuration diagram of a system for performing application execution and migration according to an embodiment of the present specification. The system of FIG. 1 includes terminals 200 and 300 and external devices 400 and 500.

단말(200)은 외부 장치(400)와 연결된다. 단말(200)과 외부 장치(400) 사이의 연결은 예를 들어 근거리 통신 프로토콜을 이용하여 수립(establish)될 수 있다. 단말(200)은 외부 장치(400)로부터 접속 정보를 수신한다. 여기서 접속 정보는 외부 장치(500)에 접속하기 위해 필요한 정보이다. 접속 정보는 예를 들어 외부 장치(500)에 접속하기 위한 아이디, 비밀번호, 외부 장치(400)의 일련 번호 중 적어도 일부를 포함할 수 있다. The terminal 200 is connected to the external device 400. The connection between the terminal 200 and the external device 400 may be established using, for example, a short-range communication protocol. The terminal 200 receives access information from the external device 400. Here, the connection information is information required to access the external device 500. The access information may include, for example, an ID, a password for accessing the external device 500, and at least a part of a serial number of the external device 400.

단말(200)은 수신한 접속 정보를 이용하여 외부 장치(500)에 접속할 수 있다. 단말(200)과 외부 장치(500) 사이의 연결은 유선 연결, 무선 연결 또는 유선 연결과 무선 연결이 혼합된 형태 중 어느 하나를 포함할 수 있다. 단말(200)과 외부 장치(500) 사이의 연결은 예를 들어 무선 랜 프로토콜, 롱 텀 에볼루션(LTE) 프로토콜, LET-A(LTE-Advanced) 프로토콜, WCDMA(Wideband Code Division Multiple Access) 프로토콜, GSM(Global System for Mobile Communication) 프로토콜, TCP/IP(Transmission Control Protocol/Internet Protocol) 중 어느 하나 이상을 이용하여 구현될 수 있다.The terminal 200 may access the external device 500 using the received access information. The connection between the terminal 200 and the external device 500 may include any one of a wired connection, a wireless connection, or a combination of a wired connection and a wireless connection. The connection between the terminal 200 and the external device 500 is, for example, a wireless LAN protocol, a Long Term Evolution (LTE) protocol, a LTE-Advanced (LET-A) protocol, a Wideband Code Division Multiple Access (WCDMA) protocol, GSM (Global System for Mobile Communication) protocol, TCP / IP (Transmission Control Protocol / Internet Protocol), or the like.

단말(200)은 단말(200)이 수행 중인 애플리케이션 중 어느 하나를 외부 장치(500)에게로 이전(transfer)할 것을 요청받을 수 있다. 애플리케이션을 외부 장치(500)에게로 이전하는 것을 "애플리케이션을 외부 장치(500)에 보존(store)한다"라고 표현할 수도 있다. 단말(200)은 애플리케이션을 이전할 것을 요청하는 이전 요청을 수신하면, 상기 애플리케이션의 실행 상태와 관련된 정보를 외부 장치(500)에게 송신한다. 애플리케이션의 실행 상태와 관련된 정보는 애플리케이션의 컨텍스트를 포함할 수 있다. 애플리케이션의 컨텍스트는 예를 들어 입력 좌표, 키보드 입력 정보, 파일 입출력(I/O), 데이터베이스(DB) 액세스 정보, 센서 데이터 및 해당 애플리케이션에 연관된 메모리 상태 중 적어도 일부를 포함할 수 있다. 애플리케이션의 실행 상태와 관련된 정보는 다른 장치에서 단말(200)의 애플리케이션의 실행 상태를 재현하는 데 충분한 정보가 되면 족하다. 대부분의 경우 실행 상태가 모두 메모리에 반영된다. 그러므로 애플리케이션의 실행 상태와 관련된 정보의 송신 과정은 해당 애플리케이션에 관련된 메모리 상태를 그대로 추출하여 외부 장치(500)에게 송신하는 방식으로 구현될 수 있다. 다른 실시 에에 따르면, 애플리케이션의 실행 상태와 관련된 정보의 송신 과정은 초기 상태를 재현할 수 있는 메모리 상태 및 그 초기 상태 이후 입력된 (터치/마우스 등) 입력의 좌표 및/또는 (가상 또는 물리) 키패드의 입력에 관한 정보를 외부 장치(500)에게 송신하는 방식으로 구현될 수 있다.The terminal 200 may be requested to transfer any one of the applications being performed by the terminal 200 to the external device 500. Transferring the application to the external device 500 may also be expressed as "store the application on the external device 500". When the terminal 200 receives a transfer request requesting to transfer the application, it transmits information related to the execution state of the application to the external device 500. Information related to the execution state of the application may include the context of the application. The context of the application may include, for example, input coordinates, keyboard input information, file input / output (I / O), database (DB) access information, sensor data, and at least some of memory states associated with the application. The information related to the execution state of the application is sufficient if it becomes sufficient information to reproduce the execution state of the application of the terminal 200 in another device. In most cases, the execution state is reflected in the memory. Therefore, the process of transmitting information related to the execution state of the application may be implemented by extracting the memory state related to the application as it is and transmitting it to the external device 500. According to another embodiment, the process of transmitting information related to the execution state of the application includes a memory state capable of reproducing the initial state and coordinates of input (touch / mouse, etc.) input after the initial state and / or (virtual or physical) keypad It may be implemented in a manner that transmits information about the input to the external device 500.

애플리케이션의 실행 상태에 관한 정보를 수신한 외부 장치(500)는 이를 저장하고 추후 다른 단말(300)에게 전달할 수 있다. 다른 실시 예에 따르면 외부 장치(500)는 가상 장치를 생성하고 애플리케이션의 실행 상태에 관한 정보를 이용하여 상기 가상 장치 상에 해당 애플리케이션의 실행 상태를 재현할 수 있다. 이후 다른 단말(300)에게 해당 애플리케이션의 실행 상태의 화면을 송신하고, 다른 단말(300)을 통해 입력된 터치 입력 기타 입력을 전달받아 외부 장치(500) 상의 가장 장치에서 해당 입력을 처리하고, 그 이후 변경된 애플리케이션 화면을 다른 단말(300)에게 전달할 수 있다.The external device 500 that has received the information on the execution state of the application may store it and transfer it to another terminal 300 later. According to another embodiment, the external device 500 may create a virtual device and reproduce the execution state of the corresponding application on the virtual device by using information about the execution state of the application. Thereafter, the screen of the execution state of the corresponding application is transmitted to the other terminal 300, the touch input other input input through the other terminal 300 is received, and the impersonation device on the external device 500 processes the corresponding input, and the Thereafter, the changed application screen may be delivered to another terminal 300.

단말(300)은 외부 장치(400)와 연결된다. 단말(300)과 외부 장치(400) 사이의 연결은 예를 들어 근거리 통신 프로토콜을 이용하여 수립(establish)될 수 있다. 단말(300)은 외부 장치(400)로부터 접속 정보를 수신한다. 여기서 접속 정보는 외부 장치(500)에 접속하기 위해 필요한 정보이다. 접속 정보는 예를 들어 외부 장치(500)에 접속하기 위한 아이디, 비밀번호, 액세스 토큰, 임시 접속 정보 및 외부 장치(400)의 일련 번호 중 적어도 일부를 포함할 수 있다. The terminal 300 is connected to the external device 400. The connection between the terminal 300 and the external device 400 may be established using, for example, a short-range communication protocol. The terminal 300 receives access information from the external device 400. Here, the connection information is information required to access the external device 500. The access information may include, for example, an ID, a password for accessing the external device 500, an access token, temporary access information, and at least a part of the serial number of the external device 400.

단말(300)은 수신한 접속 정보를 이용하여 외부 장치(500)에 접속할 수 있다. 단말(300)과 외부 장치(500) 사이의 연결은 유선 연결, 무선 연결 또는 유선 연결과 무선 연결이 혼합된 형태 중 어느 하나를 포함할 수 있다. 단말(300)과 외부 장치(500) 사이의 연결은 예를 들어 무선 랜 프로토콜, LTE 프로토콜, LET-A 프로토콜, WCDMA 프로토콜, GSM 프로토콜, TCP/IP 중 어느 하나 이상을 이용하여 구현될 수 있다.The terminal 300 may access the external device 500 using the received connection information. The connection between the terminal 300 and the external device 500 may include any one of a wired connection, a wireless connection, or a combination of a wired connection and a wireless connection. The connection between the terminal 300 and the external device 500 may be implemented using any one or more of a wireless LAN protocol, LTE protocol, LET-A protocol, WCDMA protocol, GSM protocol, TCP / IP, for example.

단말(300)은 외부 장치(400) 및/또는 외부 장치(500)로부터 재개할 수 있는 애플리케이션의 목록을 전달받을 수 있다. 여기서 재개할 수 있는 애플리케이션은 예를 들어 단말(200)이 외부 장치(500)에게로 이전한 애플리케이션을 포함할 수 있다. 단말(300)은 상기 재개할 수 있는 애플리케이션의 목록 중 하나에 대한 선택 입력을 수신할 수 있다. The terminal 300 may receive a list of applications that can be resumed from the external device 400 and / or the external device 500. Here, the resumable application may include, for example, an application that the terminal 200 has transferred to the external device 500. The terminal 300 may receive a selection input for one of the list of resumable applications.

본 명세서의 일 실시 예에 따르면 단말(300)은 선택된 애플리케이션의 실행 상태에 관한 정보를 외부 장치(500)로부터 수신할 수 있다. 실행 상태에 관한 정보는 예를 들어 해당 애플리케이션에 관련된 메모리 상태, (터치 또는 마우스 등의) 입력의 좌표 중 적어도 일부를 포함할 수 있다. 이 경우 단말(300)은 수신한 실행 상태에 관한 정보를 기초로 단말(300) 내에서 해당 애플리케이션의 실행 상태를 재현하여 사용자에게 제공할 수 있다. 단말(300)이 해당 애플리케이션을 실행하고 그 실행 상태를 재현/재개할 수 있는 성능(capability)을 보유한 경우 이 방식이 활용될 수 있다.According to an embodiment of the present disclosure, the terminal 300 may receive information on the execution state of the selected application from the external device 500. The information regarding the execution state may include, for example, at least a part of a memory state related to a corresponding application and coordinates of an input (such as a touch or mouse). In this case, the terminal 300 may reproduce the execution state of the corresponding application in the terminal 300 based on the received information on the execution state and provide it to the user. This method can be utilized when the terminal 300 has the capability to execute the application and reproduce / resume the execution state.

본 명세서의 다른 실시 예에 따르면 단말(300)은 선택된 애플리케이션의 실행 화면을 외부 장치(500)로부터 수신할 수 있다. 여기서 실행 화면은 외부 장치(500)의 가상 장치에서 실행되고 있는 애플리케이션의 실행 화면이다. 단말(300)은 실행 화면을 단말(300)의 표시부 상에 표시하고, 단말(300)의 입력부를 통해 입력된 입력 신호를 외부 장치(500)에게 전달할 수 있다. 외부 장치(500)는 전달받은 입력 신호를 가상 장치의 입력으로 처리할 수 있다. 애플리케이션의 실행 화면은 실시간적으로, 주기적으로, 또는 실행 화면이 변경될 때마다 외부 장치(500)로부터 단말(300)에게 전달될 수 있다.According to another embodiment of the present specification, the terminal 300 may receive the execution screen of the selected application from the external device 500. Here, the execution screen is an execution screen of an application that is being executed on the virtual device of the external device 500. The terminal 300 may display an execution screen on the display unit of the terminal 300 and transmit an input signal input through the input unit of the terminal 300 to the external device 500. The external device 500 may process the received input signal as an input of the virtual device. The execution screen of the application may be transmitted to the terminal 300 from the external device 500 in real time, periodically, or whenever the execution screen is changed.

외부 장치(400)는 외부 장치(500)에 접속하기 위한 접속 정보를 보유 및/또는 저장할 수 있다. 외부 장치(400)는 접속 정보를 단말(200) 및/또는 단말(300)에게 제공할 수 있다. 또한 외부 장치(400)는 이전된 애플리케이션의 목록을 저장할 수 있다. 상술한 과정에 따라 애플리케이션이 외부 장치(500)에게 이전되는 경우 외부 장치(400)는 애플리케이션이 이전되었음을 통보받고, 외부 장치(400)가 보유한 이전된 애플리케이션의 목록을 통보에 따라 변경한다. 또한 외부 장치(400)가 보유한 애플리케이션이 다른 단말(300)에게로 이동하는 경우 외부 장치(400)는 외부 장치(400)가 보유한 이전된 애플리케이션의 목록으로부터 해당 애플리케이션을 삭제한다.The external device 400 may hold and / or store access information for accessing the external device 500. The external device 400 may provide access information to the terminal 200 and / or the terminal 300. Also, the external device 400 may store a list of migrated applications. When the application is transferred to the external device 500 according to the above-described process, the external device 400 is notified that the application has been transferred, and changes the list of transferred applications held by the external device 400 according to the notification. In addition, when the application held by the external device 400 moves to another terminal 300, the external device 400 deletes the application from the list of transferred applications held by the external device 400.

도 1의 실시 예에서 단말(200)과 단말(300)은 애플리케이션의 송신/수신을 수행하는 것으로 기능이 분리돼 있다. 하지만 실제 실시 예에서는 단말(200)이 단말(300)의 기능을 함께 가지거나 반대로 단말(300)이 단말(200)의 기능을 함께 가질 수 있다. 단말(200)이 사용하는 운영 체제 및 애플리케이션의 버전은 단말(300)이 사용하는 운영 체제 및 애플리케이션의 버전과 동일할 수도 있고, 서로 차이가 있을 수도 있다.In the embodiment of FIG. 1, the terminal 200 and the terminal 300 perform transmission / reception of an application, and functions are separated. However, in an actual embodiment, the terminal 200 may have the functions of the terminal 300 or vice versa, the terminal 300 may also have the functions of the terminal 200. The version of the operating system and application used by the terminal 200 may be the same as the version of the operating system and application used by the terminal 300, or may be different from each other.

단말들(200, 300) 및 외부 장치들(400, 500)의 구체적인 동작은 도 2 내지 도 8을 참조하여 상세히 후술한다.Detailed operations of the terminals 200 and 300 and the external devices 400 and 500 will be described later in detail with reference to FIGS. 2 to 8.

도 2는 본 명세서의 일 실시 예에 따르는 단말(200)의 블록구성도이다.2 is a block diagram of a terminal 200 according to an embodiment of the present specification.

도 2를 참조하면, 본 명세서의 일 실시 예에 따르는 단말(200)은 무선 통신부(210), 오디오처리부(220), 입력부(231), 표시부(232), 저장부(250) 및 제어부(260)를 포함한다. Referring to FIG. 2, the terminal 200 according to an embodiment of the present specification includes a wireless communication unit 210, an audio processing unit 220, an input unit 231, a display unit 232, a storage unit 250, and a control unit 260 ).

무선통신부(210)는 단말(200)의 무선 통신을 위한 데이터 및 기타 신호의 송수신 기능을 수행한다. 무선통신부(210)는 송신되는 신호의 주파수를 상승 변환 및 증폭하는 RF(Radio Frequency)송신기와, 수신되는 신호를 저 잡음 증폭하고 주파수를 하강 변환하는 RF수신기 및 기타 유사한 통신 모듈 중 하나 이상을 포함할 수 있다. 또한, 무선통신부(210)는 무선 채널을 통해 데이터를 수신하여 제어부(260)에게 출력할 수 있다. 무선통신부(210)는 제어부(260)로부터 출력된 데이터를 무선 채널을 통해 전송할 수 있다. 무선 통신 대신 유선 통신을 이용하는 단말의 경우 무선통신부(210) 대신 유선통신부를 포함할 수도 있다. 무선통신부 및 유선통신부를 통틀어 통신부(Communication Unit)이라고 칭한다.The wireless communication unit 210 transmits and receives data and other signals for wireless communication of the terminal 200. The wireless communication unit 210 includes one or more of a radio frequency (RF) transmitter for up-converting and amplifying the frequency of the transmitted signal, an RF receiver for low-noise amplifying the received signal and down-converting the frequency, and other similar communication modules. can do. Also, the wireless communication unit 210 may receive data through a wireless channel and output the data to the control unit 260. The wireless communication unit 210 may transmit data output from the control unit 260 through a wireless channel. In the case of a terminal using wired communication instead of wireless communication, a wired communication unit may be included instead of the wireless communication unit 210. The wireless communication unit and the wired communication unit are collectively referred to as a communication unit.

특히 본 명세서의 일 실시 예에 따르는 무선통신부(210)는 외부 장치(400)와 연결하여 외부 장치(400)로부터 외부 장치(500)에 접속하는 데 필요한 접속 정보를 수신할 수 있다. 무선통신부(210)는 접속 정보를 이용하여 외부 장치(500)에 접속하고, 선택된 애플리케이션의 실행 상태에 관한 정보를 외부 장치(500)에게 송신할 수 있다.In particular, the wireless communication unit 210 according to an embodiment of the present specification may connect to the external device 400 to receive connection information required to access the external device 500 from the external device 400. The wireless communication unit 210 may access the external device 500 using the connection information, and transmit information regarding the execution state of the selected application to the external device 500.

무선통신부(210)는 외부 장치(400)에 연결하기 위해 근거리 통신(Short Range Communication)을 이용할 수 있다. 이를 위해 무선통신부(210)는 근거리 통신 모듈을 포함할 수 있다. 근거리 통신 모듈은 예를 들어 블루투스 및/또는 NFC 통신을 지원할 수 있다.The wireless communication unit 210 may use short range communication to connect to the external device 400. To this end, the wireless communication unit 210 may include a short-range communication module. The short-range communication module may support Bluetooth and / or NFC communication, for example.

오디오처리부(220)는 디지털 오디오 신호를 오디오 코덱을 통해 아날로그 오디오 신호로 변환하여 스피커(SPK)를 통해 재생한다. 오디오처리부(220)는 마이크(MIC)로부터 입력되는 아날로그 오디오 신호를 오디오 코덱을 통해 디지털 오디오 신호로 변환한다. 오디오처리부(220)는 코덱(CODEC)을 포함할 수 있다. 코덱은 패킷 데이터 등을 처리하는 데이터 코덱과 음성 등의 오디오 신호를 처리하는 오디오 코덱을 포함할 수 있다. 오디오 처리가 불필요한 경우 오디오처리부(220)가 생략될 수 있다.The audio processing unit 220 converts a digital audio signal into an analog audio signal through an audio codec and reproduces it through a speaker SPK. The audio processing unit 220 converts an analog audio signal input from a microphone (MIC) into a digital audio signal through an audio codec. The audio processing unit 220 may include a codec (CODEC). The codec may include a data codec for processing packet data and the like, and an audio codec for processing audio signals such as voice. When audio processing is unnecessary, the audio processing unit 220 may be omitted.

입력부(231)는 사용자의 입력을 감지하여 그에 상응하는 신호를 제어부(260)에게 전달한다. 입력부(231)는 터치 센서 및/또는 키 입력부를 포함할 수 있다. 터치센서는 사용자의 터치 입력을 감지한다. 터치센서는 정전용량 방식(capacitive overlay), 압력식 저항막 방식(resistive overlay), 적외선 감지 방식(infrared beam) 등의 터치 감지 센서로 구성되거나, 압력 감지 센서(pressure sensor)로 구성될 수도 있다. 상기 센서들 이외에도 물체의 접촉 또는 압력을 감지할 수 있는 모든 종류의 센서 기기가 본 명세서의 일 실시 예에 따르는 터치센서를 구현할 수 있다. 터치센서는 사용자의 터치 입력을 감지하고, 감지 신호를 발생시켜 제어부(260)에게로 전송한다. 상기 감지 신호에는 사용자가 터치를 입력한 좌표 데이터가 포함된다. 사용자가 터치 위치 이동 동작을 입력한 경우에 터치센서는 터치 위치 이동 경로의 좌표 데이터를 포함한 감지 신호를 발생시켜 제어부(260)에게로 전송한다. The input unit 231 senses the user's input and transmits a signal corresponding thereto to the control unit 260. The input unit 231 may include a touch sensor and / or a key input unit. The touch sensor detects the user's touch input. The touch sensor may include a touch sensing sensor such as a capacitive overlay, a pressure resistive overlay, an infrared beam, or a pressure sensor. In addition to the sensors, all kinds of sensor devices capable of sensing contact or pressure of an object may implement a touch sensor according to an embodiment of the present specification. The touch sensor detects a user's touch input, generates a detection signal, and transmits it to the control unit 260. The detection signal includes coordinate data input by the user. When the user inputs the touch position movement operation, the touch sensor generates a detection signal including coordinate data of the touch location movement path and transmits it to the control unit 260.

키 입력부는 단말(200)을 제어하기 위한 사용자의 키 조작을 입력받고 입력 신호를 생성하여 제어부(260)에게로 전달한다. 키 입력부는 숫자 키, 방향키를 포함하는 키패드로 구성될 수 있으며, 단말(200)의 일면에 소정의 기능키로 형성될 수 있다. 본 명세서의 실시 예에 따라 터치센서만으로 모든 조작이 가능한 단말의 경우에는 키 입력부가 생략될 수도 있다. The key input unit receives a key operation of a user for controlling the terminal 200, generates an input signal, and transmits it to the control unit 260. The key input unit may be configured with a keypad including a number key and a direction key, and may be formed with a predetermined function key on one surface of the terminal 200. According to an embodiment of the present disclosure, in the case of a terminal capable of all operations using only a touch sensor, a key input unit may be omitted.

키 입력부 및 터치센서는 모두 사용자의 입력을 수신하여 제어부(260)에게로 전달하는 역할을 한다. The key input unit and the touch sensor both serve to receive a user input and transmit it to the control unit 260.

특히, 입력부(231)는 본 명세서의 실시 예에 따라 외부 장치(500)에게로 이전할 애플리케이션을 선택하는 선택 입력을 감지하여 제어부(260)에게로 전송할 수 있다.In particular, the input unit 231 may detect a selection input for selecting an application to be transferred to the external device 500 according to an embodiment of the present specification and transmit it to the control unit 260.

본 명세서의 단말(200)은 상기와 같이 터치센서를 포함하여 구성될 수 있지만, 이하에서 기술되는 본 명세서의 실시 예가 반드시 터치센서를 구비하는 단말(200)에만 적용되는 것은 아님에 유의하여야 한다. It should be noted that the terminal 200 of the present specification may include a touch sensor as described above, but the embodiment of the present specification described below is not necessarily applied only to the terminal 200 having the touch sensor.

표시부(232)는 단말(200)의 메뉴, 입력된 데이터, 기능 설정 정보 및 기타 다양한 정보를 사용자에게 시각적으로 제공할 수 있다. 표시부(232)는 액정표시장치(LCD, Liquid Crystal Display), 유기 발광 다이오드(OLED, Organic Light Emitting Diodes), 능동형 유기 발광 다이오드(AMOLED, Active Matrix Organic Light Emitting Diodes) 등으로 형성될 수 있으며, 표시부(232)는 단말(200)의 부팅 화면, 대기 화면, 메뉴 화면, 통화 화면, 기타 애플리케이션 화면을 출력하는 기능을 수행한다. 특히 표시부(232)는 외부 장치(500)에게로 이전할 애플리케이션을 선택할 수 있도록 하는 인터페이스를 표시할 수 있다.The display unit 232 may visually provide a menu of the terminal 200, input data, function setting information, and various other information to the user. The display unit 232 may be formed of a liquid crystal display (LCD), organic light emitting diodes (OLED), active matrix organic light emitting diodes (AMOLED), etc. 232 performs a function of outputting a boot screen, a standby screen, a menu screen, a call screen, and other application screens of the terminal 200. In particular, the display unit 232 may display an interface to select an application to be transferred to the external device 500.

저장부(250)는 단말(200)의 동작에 필요한 프로그램 및 데이터를 저장하는 역할을 수행한다. 저장부(250)는 프로그램 영역과 데이터 영역으로 구분될 수 있다. 프로그램 영역은 단말(200)의 전반적인 동작을 제어하는 프로그램 및 단말(200)를 부팅시키는 운영체제(OS, Operating System), 멀티미디어 컨텐츠 재생 등에 필요한 응용 프로그램, 단말(200)의 기타 옵션 기능, 예컨대, 카메라 기능, 소리 재생 기능, 이미지 또는 동영상 재생 기능에 필요한 응용 프로그램 등을 저장할 수 있다. 데이터 영역은 단말(200)의 사용에 따라 발생하는 데이터가 저장되는 영역으로서, 이미지, 동영상, 폰 북, 오디오 데이터 등을 저장할 수 있다. 특히 저장부(250)는 외부 장치(400)로부터 수신한 접속 정보를 임시적으로, 또는 반영구적으로 저장할 수 있다. 접속 정보는 추후 외부 장치(500)에 접속하기 위해 사용될 수 있다.The storage unit 250 serves to store programs and data necessary for the operation of the terminal 200. The storage unit 250 may be divided into a program area and a data area. The program area is a program for controlling the overall operation of the terminal 200, an operating system (OS) for booting the terminal 200, an application program required for multimedia content playback, and other optional functions of the terminal 200, such as a camera You can store functions, sound playback functions, and applications required for image or video playback functions. The data area is an area in which data generated according to the use of the terminal 200 is stored, and may store images, videos, phone books, audio data, and the like. In particular, the storage unit 250 may temporarily or semi-permanently store access information received from the external device 400. The connection information may be used to access the external device 500 later.

제어부(260)는 단말(200)의 각 구성 요소에 대한 전반적인 동작을 제어한다. 특히, 제어부(260)는 입력부의 입력을 수신하여 그에 따라 표시부(232)를 제어할 수 있다. The control unit 260 controls the overall operation of each component of the terminal 200. In particular, the control unit 260 may receive input from the input unit and control the display unit 232 accordingly.

도 3은 본 명세서의 일 실시 예에 따르는 단말(300)의 블록구성도이다.3 is a block diagram of a terminal 300 according to an embodiment of the present specification.

도 3을 참조하면, 본 명세서의 일 실시 예에 따르는 단말(300)은 무선 통신부(310), 오디오처리부(320), 입력부(331), 표시부(332), 저장부(350) 및 제어부(360)를 포함한다. Referring to FIG. 3, the terminal 300 according to an embodiment of the present specification includes a wireless communication unit 310, an audio processing unit 320, an input unit 331, a display unit 332, a storage unit 350, and a control unit 360 ).

무선통신부(310)는 단말(300)의 무선 통신을 위한 데이터 및 기타 신호의 송수신 기능을 수행한다. 무선통신부(310)는 송신되는 신호의 주파수를 상승 변환 및 증폭하는 RF(Radio Frequency)송신기와, 수신되는 신호를 저 잡음 증폭하고 주파수를 하강 변환하는 RF수신기 및 기타 유사한 통신 모듈 중 하나 이상을 포함할 수 있다. 또한, 무선통신부(310)는 무선 채널을 통해 데이터를 수신하여 제어부(360)에게 출력할 수 있다. 무선통신부(310)는 제어부(360)로부터 출력된 데이터를 무선 채널을 통해 전송할 수 있다. 무선 통신 대신 유선 통신을 이용하는 단말의 경우 무선통신부(310) 대신 유선통신부를 포함할 수도 있다. 무선통신부 및 유선통신부를 통틀어 통신부(Communication Unit)이라고 칭한다.The wireless communication unit 310 performs a function of transmitting and receiving data and other signals for wireless communication of the terminal 300. The wireless communication unit 310 includes at least one of a radio frequency (RF) transmitter for up-converting and amplifying the frequency of the transmitted signal, an RF receiver for low-noise amplifying the received signal and down-converting the frequency, and other similar communication modules. can do. In addition, the wireless communication unit 310 may receive data through a wireless channel and output it to the control unit 360. The wireless communication unit 310 may transmit data output from the control unit 360 through a wireless channel. In the case of a terminal using wired communication instead of wireless communication, a wired communication unit may be included instead of the wireless communication unit 310. The wireless communication unit and the wired communication unit are collectively referred to as a communication unit.

특히 본 명세서의 일 실시 예에 따르는 무선통신부(310)는 외부 장치(400)와 연결하여 외부 장치(400)로부터 외부 장치(500)에 접속하는 데 필요한 접속 정보를 수신할 수 있다. 무선통신부(310)는 접속 정보를 이용하여 외부 장치(500)에 접속할 수 있다. 무선통신부(310)는 외부 장치(400) 및/또는 외부 장치(500)로부터 재개할 수 있는 애플리케이션의 목록을 수신할 수 있다. 어떤 애플리케이션이 재개되도록 선택되는 경우 무선통신부(310)는 외부 장치(500)로부터 애플리케이션의 실행 상태에 관한 정보 및/또는 애플리케이션의 실행 화면을 수신할 수 있다.In particular, the wireless communication unit 310 according to an embodiment of the present specification may connect to the external device 400 to receive connection information required to access the external device 500 from the external device 400. The wireless communication unit 310 may access the external device 500 using connection information. The wireless communication unit 310 may receive a list of applications that can be resumed from the external device 400 and / or the external device 500. When an application is selected to be resumed, the wireless communication unit 310 may receive information regarding an execution state of the application and / or an execution screen of the application from the external device 500.

무선통신부(310)는 외부 장치(400)에 연결하기 위해 근거리 통신(Short Range Communication)을 이용할 수 있다. 이를 위해 무선통신부(310)는 근거리 통신 모듈을 포함할 수 있다. 근거리 통신 모듈은 예를 들어 블루투스 및/또는 NFC 통신을 지원할 수 있다.The wireless communication unit 310 may use short range communication to connect to the external device 400. To this end, the wireless communication unit 310 may include a short-range communication module. The short-range communication module may support Bluetooth and / or NFC communication, for example.

오디오처리부(320)는 디지털 오디오 신호를 오디오 코덱을 통해 아날로그 오디오 신호로 변환하여 스피커(SPK)를 통해 재생한다. 오디오처리부(320)는 마이크(MIC)로부터 입력되는 아날로그 오디오 신호를 오디오 코덱을 통해 디지털 오디오 신호로 변환한다. 오디오처리부(320)는 코덱(CODEC)을 포함할 수 있다. 코덱은 패킷 데이터 등을 처리하는 데이터 코덱과 음성 등의 오디오 신호를 처리하는 오디오 코덱을 포함할 수 있다. 오디오 처리가 불필요한 경우 오디오처리부(320)가 생략될 수 있다.The audio processing unit 320 converts a digital audio signal into an analog audio signal through an audio codec and reproduces it through a speaker SPK. The audio processor 320 converts the analog audio signal input from the microphone MIC into a digital audio signal through an audio codec. The audio processing unit 320 may include a codec (CODEC). The codec may include a data codec for processing packet data and the like, and an audio codec for processing audio signals such as voice. If audio processing is unnecessary, the audio processing unit 320 may be omitted.

입력부(331)는 사용자의 입력을 감지하여 그에 상응하는 신호를 제어부(360)에게 전달한다. 입력부(331)는 터치 센서 및/또는 키 입력부를 포함할 수 있다. 터치센서는 사용자의 터치 입력을 감지한다. 터치센서는 정전용량 방식(capacitive overlay), 압력식 저항막 방식(resistive overlay), 적외선 감지 방식(infrared beam) 등의 터치 감지 센서로 구성되거나, 압력 감지 센서(pressure sensor)로 구성될 수도 있다. 상기 센서들 이외에도 물체의 접촉 또는 압력을 감지할 수 있는 모든 종류의 센서 기기가 본 명세서의 일 실시 예에 따르는 터치센서를 구현할 수 있다. 터치센서는 사용자의 터치 입력을 감지하고, 감지 신호를 발생시켜 제어부(360)에게로 전송한다. 상기 감지 신호에는 사용자가 터치를 입력한 좌표 데이터가 포함된다. 사용자가 터치 위치 이동 동작을 입력한 경우에 터치센서는 터치 위치 이동 경로의 좌표 데이터를 포함한 감지 신호를 발생시켜 제어부(260)에게로 전송한다. The input unit 331 senses the user's input and transmits a signal corresponding thereto to the control unit 360. The input unit 331 may include a touch sensor and / or a key input unit. The touch sensor detects the user's touch input. The touch sensor may include a touch sensing sensor such as a capacitive overlay, a pressure resistive overlay, an infrared beam, or a pressure sensor. In addition to the sensors, all kinds of sensor devices capable of sensing contact or pressure of an object may implement a touch sensor according to an embodiment of the present specification. The touch sensor detects a user's touch input, generates a detection signal, and transmits it to the controller 360. The detection signal includes coordinate data input by the user. When the user inputs the touch position movement operation, the touch sensor generates a detection signal including coordinate data of the touch location movement path and transmits it to the control unit 260.

키 입력부는 단말(300)을 제어하기 위한 사용자의 키 조작을 입력받고 입력 신호를 생성하여 제어부(360)에게로 전달한다. 키 입력부는 숫자 키, 방향키를 포함하는 키패드로 구성될 수 있으며, 단말(300)의 일면에 소정의 기능키로 형성될 수 있다. 본 명세서의 실시 예에 따라 터치센서만으로 모든 조작이 가능한 단말의 경우에는 키 입력부가 생략될 수도 있다. The key input unit receives a key operation of a user for controlling the terminal 300, generates an input signal, and transmits the input signal to the control unit 360. The key input unit may be configured with a keypad including a number key and a direction key, and may be formed with a predetermined function key on one surface of the terminal 300. According to an embodiment of the present disclosure, in the case of a terminal capable of all operations using only a touch sensor, a key input unit may be omitted.

키 입력부 및 터치센서는 모두 사용자의 입력을 수신하여 제어부(360)에게로 전달하는 역할을 한다. The key input unit and the touch sensor both serve to receive a user input and transmit it to the control unit 360.

특히, 입력부(331)는 본 명세서의 실시 예에 따라 재개할 애플리케이션을 선택하는 선택 입력을 감지하여 제어부(360)에게로 전송할 수 있다.In particular, the input unit 331 may detect a selection input for selecting an application to be resumed according to an embodiment of the present specification and transmit it to the control unit 360.

본 명세서의 단말(300)은 상기와 같이 터치센서를 포함하여 구성될 수 있지만, 이하에서 기술되는 본 명세서의 실시 예가 반드시 터치센서를 구비하는 단말(300)에만 적용되는 것은 아님에 유의하여야 한다. It should be noted that the terminal 300 of the present specification may include a touch sensor as described above, but the embodiment of the present specification described below is not necessarily applied only to the terminal 300 having the touch sensor.

표시부(332)는 단말(300)의 메뉴, 입력된 데이터, 기능 설정 정보 및 기타 다양한 정보를 사용자에게 시각적으로 제공할 수 있다. 표시부(332)는 액정표시장치(LCD, Liquid Crystal Display), 유기 발광 다이오드(OLED, Organic Light Emitting Diodes), 능동형 유기 발광 다이오드(AMOLED, Active Matrix Organic Light Emitting Diodes) 등으로 형성될 수 있으며, 표시부(332)는 단말(300)의 부팅 화면, 대기 화면, 메뉴 화면, 통화 화면, 기타 애플리케이션 화면을 출력하는 기능을 수행한다. 특히 표시부(332)는 재개할 애플리케이션을 선택할 수 있도록 하는 인터페이스를 표시할 수 있다. 또한 표시부(332)는 재개된 애플리케이션의 실행 화면을 표시할 수 있다. 이 때 실행 화면은 단말(300)이 직접 실행한 실행화면 및/또는 외부 장치(500)로부터 수신한 실행화면을 포함할 수 있다.The display unit 332 may visually provide a menu of the terminal 300, input data, function setting information, and various other information to the user. The display unit 332 may be formed of a liquid crystal display (LCD), organic light emitting diodes (OLED), or active matrix organic light emitting diodes (AMOLED), etc. 332 performs a function of outputting a boot screen, a standby screen, a menu screen, a call screen, and other application screens of the terminal 300. In particular, the display unit 332 may display an interface through which an application to be resumed can be selected. Also, the display unit 332 may display an execution screen of the resumed application. At this time, the execution screen may include an execution screen directly executed by the terminal 300 and / or an execution screen received from the external device 500.

저장부(350)는 단말(300)의 동작에 필요한 프로그램 및 데이터를 저장하는 역할을 수행한다. 저장부(350)는 프로그램 영역과 데이터 영역으로 구분될 수 있다. 프로그램 영역은 단말(300)의 전반적인 동작을 제어하는 프로그램 및 단말(300)를 부팅시키는 운영체제(OS, Operating System), 멀티미디어 컨텐츠 재생 등에 필요한 응용 프로그램, 단말(300)의 기타 옵션 기능, 예컨대, 카메라 기능, 소리 재생 기능, 이미지 또는 동영상 재생 기능에 필요한 응용 프로그램 등을 저장할 수 있다. 데이터 영역은 단말(300)의 사용에 따라 발생하는 데이터가 저장되는 영역으로서, 이미지, 동영상, 폰 북, 오디오 데이터 등을 저장할 수 있다. 특히 저장부(350)는 외부 장치(400)로부터 수신한 접속 정보를 임시적으로, 또는 반영구적으로 저장할 수 있다. 접속 정보는 추후 외부 장치(500)에 접속하기 위해 사용될 수 있다.The storage unit 350 serves to store programs and data necessary for the operation of the terminal 300. The storage unit 350 may be divided into a program area and a data area. The program area is a program for controlling the overall operation of the terminal 300, an operating system (OS) for booting the terminal 300, an application program required for multimedia content playback, and other optional functions of the terminal 300, such as a camera You can store functions, sound playback functions, and applications required for image or video playback functions. The data area is an area in which data generated according to the use of the terminal 300 is stored, and may store images, videos, phone books, audio data, and the like. In particular, the storage unit 350 may temporarily or semi-permanently store access information received from the external device 400. The connection information may be used to access the external device 500 later.

제어부(360)는 단말(300)의 각 구성 요소에 대한 전반적인 동작을 제어한다. 특히, 제어부(360)는 입력부의 입력을 수신하여 그에 따라 표시부(332)를 제어할 수 있다. The control unit 360 controls the overall operation of each component of the terminal 300. In particular, the control unit 360 may receive the input of the input unit and control the display unit 332 accordingly.

도 4는 본 명세서의 일 실시 예에 따르는 외부 장치(400)의 블록구성도이다. 4 is a block diagram of an external device 400 according to an embodiment of the present specification.

외부 장치(400)는 통신부(410), 저장부(450) 및 제어부(460)를 포함한다.The external device 400 includes a communication unit 410, a storage unit 450, and a control unit 460.

통신부(410)는 단말(200) 및/또는 단말(300)과 접속하여 단말(200) 및/또는 단말(300)에게 접속 정보를 송신한다. 접속 정보는 단말(200) 및/또는 단말(300)이 외부 장치(500)에 접속하기 위한 정보이다. 예를 들면 통신부(410)는 외부 장치(400)과 단말(200) 사이의 거리가 일정 거리 이내가 되어 근거리 무선 통신을 수행하기에 충분한 정도의 신호 세기를 감지하면 단말(200)과 연결하고 단말(200)에게 접속 정보를 송신할 수 있다. 다른 실시 예에 따르면 통신부(410)는 단말(200)로부터 별도의 연결 요청이 있을 때에만 단말(200)과 접속하고, 단말(200)로부터 별도의 접속 정보 제공 요청이 있을 때에만 단말(200)에게 접속 정보를 송신할 수도 있다. 또 다른 실시 예에 따르면 통신부(410)는 외부 장치(400)가 구비한 별도의 전자적/기계적 입력부를 통한 입력에 따라 단말(200)과 연결하고 단말(200)에게 접속 정보를 송신할 수 있다.The communication unit 410 transmits access information to the terminal 200 and / or the terminal 300 in connection with the terminal 200 and / or the terminal 300. The access information is information for the terminal 200 and / or the terminal 300 to access the external device 500. For example, when the distance between the external device 400 and the terminal 200 is within a certain distance and detects a signal strength sufficient to perform short-range wireless communication, the communication unit 410 connects to the terminal 200 and connects the terminal. Connection information may be transmitted to the 200. According to another embodiment, the communication unit 410 accesses the terminal 200 only when there is a separate connection request from the terminal 200, and only when there is a request to provide separate access information from the terminal 200 You can also send the connection information to. According to another embodiment, the communication unit 410 may connect to the terminal 200 according to input through a separate electronic / mechanical input unit provided by the external device 400 and transmit access information to the terminal 200.

저장부(450)는 접속 정보를 저장한다. 접속 정보는 단말(200) 및/또는 단말(300)이 외부 장치(500)에 접속하기 위한 정보이다.The storage unit 450 stores access information. The access information is information for the terminal 200 and / or the terminal 300 to access the external device 500.

제어부(460)는 도 2 및 도 6a 내지 도 8을 참조하여 설명되는 실시 예들 중 적어도 일부에 따라 외부 장치(400)가 동작하도록 외부 장치(400)의 각 구성부를 제어한다.The control unit 460 controls each component of the external device 400 such that the external device 400 operates according to at least some of the embodiments described with reference to FIGS. 2 and 6A to 8.

외부 장치(400)는 예를 들어 스타일러스 펜의 형태로 구현될 수 있다. 다른 실시 예에 따르면 외부 장치(400)는 스타일러스 펜은 아니지만, 단말(200) 또는 단말(300)에 터치입력을 하기에 편리한 첨단부, 즉 뾰족한 모양의 구성부를 구비할 수도 있다.The external device 400 may be implemented, for example, in the form of a stylus pen. According to another embodiment, the external device 400 is not a stylus pen, but may have a tip portion, that is, a pointed shape, which is convenient for a touch input to the terminal 200 or the terminal 300.

외부 장치(400)는 단말(200) 및/또는 단말(300)의 입력부와 상호작용하여 효과적으로 입력작업을 수행할 수 있는 전자기적 신호 발생 장치 및/또는 전자기적 신호 감지 장치를 더 포함할 수도 있다.The external device 400 may further include an electromagnetic signal generation device and / or an electromagnetic signal detection device capable of effectively performing an input operation by interacting with the terminal 200 and / or the input unit of the terminal 300. .

도 5는 본 명세서의 일 실시 예에 따르는 외부 장치(500)의 블록구성도이다.5 is a block diagram of an external device 500 according to an embodiment of the present specification.

도 5를 참조하면, 외부 장치(500)는 통신부(510), 제어부(560) 및 저장부(550)를 포함한다. Referring to FIG. 5, the external device 500 includes a communication unit 510, a control unit 560, and a storage unit 550.

통신부(510)는 단말(200) 및/또는 단말(300)과 연결하고 단말(200) 및/또는 단말(300)로부터 데이터를 수신하며, 단말(200) 및/또는 단말(300)에게 데이터를 송신한다. 특히 통신부(510)는 단말(200)로부터 애플리케이션 실행 상태에 관련된 정보를 수신하고, 단말(300)에게 애플리케이션의 실행 상태에 관련된 정보 및/또는 애플리케이션의 실행 화면을 전달한다. 통신부(510)는 단말(300)로부터 단말(300)에 입력된 입력 신호를 전달받을 수도 있다. 저장부(550)는 단말(200)로부터 전달받은 애플리케이션의 실행 상태에 관한 정보를 저장한다. 제어부(560)는 도 2 또는 도 6a 내지 도 8을 참조하여 후술하는 실시 예에 따라 외부 장치(500)의 각 구성부가 동작하도록 제어한다. 제어부(560)는 특히 단말(200) 및/또는 단말(300)에 상응하는 가상 장치를 생성하고 단말(200)로부터 전달받은 애플리케이션의 컨텍스트 정보를 바탕으로 상기 가상 장치에서 해당 애플리케이션을 실행할 수 있다. 해당 애플리케이션에 대한 입력 신호를 단말(300)로부터 전달받으면 제어부(560)는 해당 입력 신호를 가상 장치에 적용하여 애플리케이션의 실행 상태에 영향을 줄 수 있다.The communication unit 510 connects to the terminal 200 and / or the terminal 300 and receives data from the terminal 200 and / or terminal 300, and transmits data to the terminal 200 and / or terminal 300. Send. In particular, the communication unit 510 receives information related to an application execution state from the terminal 200 and transmits information related to an execution state of the application and / or an execution screen of the application to the terminal 300. The communication unit 510 may receive an input signal input to the terminal 300 from the terminal 300. The storage unit 550 stores information regarding an execution state of an application received from the terminal 200. The control unit 560 controls each component of the external device 500 to operate according to an embodiment described below with reference to FIGS. 2 or 6A to 8. In particular, the controller 560 may create a virtual device corresponding to the terminal 200 and / or the terminal 300 and execute the corresponding application on the virtual device based on context information of the application received from the terminal 200. When an input signal for the corresponding application is received from the terminal 300, the controller 560 may affect the execution state of the application by applying the input signal to the virtual device.

외부 장치(500)는 예를 들어 클라우드 서버의 형태로 구현될 수 있다.The external device 500 may be implemented, for example, in the form of a cloud server.

단말들(200, 300) 및 외부 장치들(400, 500)의 구체적인 동작에 대해서는 도 6a 내지 도 8을 참조하여 후술한다.Detailed operations of the terminals 200 and 300 and the external devices 400 and 500 will be described later with reference to FIGS. 6A to 8.

도 6a는 본 명세서의 제1 실시 예에 따르는 애플리케이션 이전 과정의 순서도이다. 도 6a의 과정은 후술하는 제2 실시 예에 대해서도 동일하게 적용된다.6A is a flowchart of an application transfer process according to the first embodiment of the present specification. The process of FIG. 6A is also applied to the second embodiment described later.

도 6b는 본 명세서의 제1 실시 예에 따르는 애플리케이션 이전 과정의 순서도이다.6B is a flowchart of an application migration process according to the first embodiment of the present specification.

도 6c는 본 명세서의 제2 실시 예에 따르는 애플리케이션 이전 과정의 순서도이다.6C is a flowchart of an application transfer process according to a second embodiment of the present specification.

도 6b 및 도 6c의 과정은 도 6a의 과정 이후에 수행된다. 6B and 6C are performed after the process of FIG. 6A.

단말(300) 및 외부 장치들(400, 500)은 도 6b의 과정과 도 6c의 과정 중 어느 하나를 수행할 수 있다. 변형 예에 따르면 단말(300) 및 외부 장치들(400, 500)은 도 6b의 과정 및 도 6c의 과정을 모두 수행할 수도 있다.The terminal 300 and the external devices 400 and 500 may perform any one of the process of FIG. 6B and the process of FIG. 6C. According to a modified example, the terminal 300 and the external devices 400 and 500 may perform both the process of FIG. 6B and the process of FIG. 6C.

단계 605에서 단말(200)은 애플리케이션을 실행하기 시작한다. 애플리케이션은 예를 들어 웹 브라우저, 동영상 재생 애플리케이션, 게임 및 소셜 네트워크 서비스 애플리케이션 중 어느 하나 이상을 포함할 수 있다. 애플리케이션의 실행 시작은 사용자의 명시적인 실행 명령에 의해 수행될 수도 있고, 단말(200) 환경의 변화, 또는 미리 설정된 스케줄에 따라 애플리케이션이 실행 시작될 수도 있다. 일부 애플리케이션은 단말(200)의 부팅과 함께, 또는 부팅이 완료되면 자동적으로 수행될 수도 있다.In step 605, the terminal 200 starts executing the application. The application may include, for example, any one or more of a web browser, video playback application, game and social network service application. Start of execution of the application may be performed by an explicit execution command of the user, or the application may start execution according to a change in the environment of the terminal 200 or a preset schedule. Some applications may be automatically performed when the terminal 200 is booted or when the booting is completed.

단계 610에서 단말(200)은 애플리케이션의 컨텍스트를 저장한다. 단말(200)은 예를 들어 애플리케이션의 컨텍스트를 실시간적으로, 또는 주기적으로 저장할 수 있다. 여기서 애플리케이션의 컨텍스트는 애플리케이션에 대해 입력된 입력 신호에 관한 정보를 포함할 수 있다. 예를 들어 단말(200)이 터치스크린을 구비한 경우 애플리케이션이 활성화된 상태에서 입력된 터치 좌표가 저장될 수 있다. 터치 좌표의 저장 과정은 애플리케이션의 수행 과정 내내 반복될 수도 있다. 애플리케이션의 컨텍스트는 단말(200)의 컨텍스트, 예를 들어 화면의 해상도 정보를 더 포함할 수 있다. 애플리케이션 컨텍스트는 애플리케이션에 연관된 메모리 상태 정보를 포함할 수 있다.In step 610, the terminal 200 stores the context of the application. The terminal 200 may, for example, store the context of the application in real time or periodically. Here, the context of the application may include information about an input signal input to the application. For example, when the terminal 200 includes a touch screen, touch coordinates input while the application is activated may be stored. The process of storing touch coordinates may be repeated throughout the execution process of the application. The context of the application may further include the context of the terminal 200, for example, the resolution information of the screen. The application context may include memory state information associated with the application.

변형 예에 따르면, 애플리케이션 컨텍스트 중 터치 좌표는 생략될 수 있다. 이 경우 메모리 상태만으로 해당 애플리케이션의 실행 상태가 외부 장치(500)의 가상 장치 상에서 적어도 상당 부분 재현될 수 있어야 한다.According to a modification example, touch coordinates may be omitted from the application context. In this case, the execution state of the corresponding application should be reproduced at least in part on the virtual device of the external device 500 only with the memory state.

단계 615에서 단말(200)과 외부 장치(400) 사이의 통신이 연결된다. 외부 장치(400), 예를 들어 스타일러스 펜이 단말(200)과 근거리 무선통신을 할 수 있는 상태가 되면 단말(200)이 외부 장치(400)과의 근거리 통신 연결을 수립할 수 있다. 변형 예에 따르면, 단계 620의 애플리케이션의 이전 명령(지시)를 수신한 경우에만 연결 과정(615)이 수행될 수 있다.In step 615, communication between the terminal 200 and the external device 400 is connected. When the external device 400, for example, the stylus pen is in a state capable of short-range wireless communication with the terminal 200, the terminal 200 may establish a short-range communication connection with the external device 400. According to a modified example, the connection process 615 may be performed only when a previous command (instruction) of the application of step 620 is received.

단계 620에서 단말(200)의 입력부(231)는 특정 애플리케이션을 외부 장치(500)에게로 이전할 것을 지시하는 지시 입력를 수신한다. 사용자는 단순히 애플리케이션의 실행 중인 화면을 외부 장치(400)를 이용해, 또는 기타 방법으로 선택하여 애플리케이션을 외부 장치(500)에게로 이동할 것을 지시할 수 있다. 변형 예에 따르면, 외부 장치(400)에 구비된 기계적 및/또는 전기적 입력부를 통해 외부 장치(500)에게로 이전할 애플리케이션을 선택하는 지시 입력임을 입력하고, 이후 애플리케이션의 실행 중인 화면을 선택하여 애플리케이션을 외부 장치(500)에게로 이동할 것을 지시할 수 있다. 이 경우 외부 장치(400)는 기계적 및/또는 전기적 입력부를 통해 입력된 신호에 따라 이후의 선택이 이전할 애플리케이션을 선택하는 지시 입력임을 지시하는 지시 정보를 단말(200)에게 전달할 수 있다. 또 다른 변형 예에 따르면 단말(200)의 메뉴/기능 선택을 통해 이전할 애플리케이션을 선택하는 기능을 활성화 한 뒤 애플리케이션의 실행 중인 화면을 선택하여 애플리케이션을 외부 장치(500)에게로 이동할 것을 지시할 수도 있다.In step 620, the input unit 231 of the terminal 200 receives an instruction input instructing to transfer a specific application to the external device 500. The user may simply instruct the external device 500 to move the application to the external device 500 by selecting the running screen of the application using the external device 400 or other method. According to a modified example, the input is an instruction input for selecting an application to be transferred to the external device 500 through a mechanical and / or electrical input provided in the external device 400, and then selects the running screen of the application to apply To the external device 500. In this case, the external device 400 may transmit the instruction information indicating that the subsequent selection is an instruction input for selecting an application to be moved according to a signal input through a mechanical and / or electrical input unit to the terminal 200. According to another modified example, after activating a function of selecting an application to be transferred through a menu / function selection of the terminal 200, a running screen of the application may be selected to instruct the application to be moved to the external device 500. have.

변형 예에 따르면 단말(200)이 애플리케이션의 이전 지시를 수신하거나, 애플리케이션의 이전을 완료한 때 외부 장치(400)에게 애플리케이션이 이전됐음을 통지할 수 있다. 외부 장치(400)는 외부 장치(500)에게로 이전된 애플리케이션의 목록을 보유하고, 해당 통지를 수신하면 그에 따라 애플리케이션 목록을 갱신할 수 있다. According to a modified example, when the terminal 200 receives the transfer instruction of the application or completes the transfer of the application, the external device 400 may be notified that the application has been transferred. The external device 400 holds a list of applications transferred to the external device 500, and upon receiving the corresponding notification, the external device 400 may update the application list.

도 7a 내지 도 7e는 단말(200)의 지시 입력 수신 방식을 나타낸다.7A to 7E show an instruction input reception method of the terminal 200.

도 7a를 참조하면 단말(200)에서 소셜 네트워크 서비스 애플리케이션이 실행 중이다. 사용자는 외부 장치(400)를 이용해, 또는 기타 방법으로 화면의 아무 곳이나 선택하는 방식으로 소셜 네트워크 애플리케이션을 외부 장치(500)에게로 이전할 것을 지시할 수 있다.Referring to FIG. 7A, the social network service application is running on the terminal 200. The user may instruct to transfer the social network application to the external device 500 by using the external device 400 or by selecting anywhere on the screen by other methods.

도 7b를 참조하면 단말(200)에서 웹 브라우저가 실행 중이다. 사용자는 웹 브라우저 화면의 아무 곳이나 선택하는 방식으로 웹 브라우저 애플리케이션을 외부 장치(500)에게로 이전할 것을 지시할 수 있다. 변형 예에 따르면 단말(200)은 탭 브라우징을 지원하는 웹 브라우저의 특정 탭에 대한 선택을 수신하면 해당 탭에 대한 실행 정보만을 외부 장치(500)에게로 이전할 것을 지시하는 것으로 해석할 수도 있다. 이 경우 단말(200)은 웹 브라우저 중 해당 탭에 관한 애플리케이션 실행 상태에 관한 정보, 예를 들어 웹 페이지 주소와 전체 페이지 중 표시되고 있는 부분의 좌표 정보 등을 외부 장치(500)에게 송신할 수 있다.Referring to FIG. 7B, a web browser is running on the terminal 200. The user may instruct to transfer the web browser application to the external device 500 by selecting anywhere on the web browser screen. According to a modified example, the terminal 200 may be interpreted to indicate that, upon receiving a selection for a specific tab of a web browser supporting tab browsing, only the execution information for the tab is transferred to the external device 500. In this case, the terminal 200 may transmit information regarding an application execution state for a corresponding tab among web browsers, for example, a web page address and coordinate information of a portion displayed among all pages to the external device 500. .

도 7c를 참조하면 단말(200)에서 게임 애플리케이션이 실행 중이다. 사용자는 외부 장치(400)를 이용해, 또는 기타 방법으로 화면의 아무 곳이나 선택하는 방식으로 게임 애플리케이션을 외부 장치(500)에게로 이전할 것을 지시할 수 있다.Referring to FIG. 7C, a game application is running on the terminal 200. The user may instruct the user to transfer the game application to the external device 500 by using the external device 400 or by selecting anywhere on the screen by other methods.

도 7d를 참조하면, 단말(200)에서 동영상 애플리케이션이 실행 중이다. 사용자는 외부 장치(400)를 이용해, 또는 기타 방법으로 화면의 아무 곳이나 선택하는 방식으로 동영상 애플리케이션을 외부 장치(500)에게로 이전할 것을 지시할 수 있다. 변형 예에 따르면 사용자는 동영상 목록 중 특정한 동영상을 선택할 수 있고, 이 경우 선택된 동영상에 관한 컨텍스트, 예를 들어 해당 동영상, 또는 해당 동영상이 포함된 페이지의 URL을 외부 장치(500)에게로 전달할 수 있다. 외부 장치(500)는 가상 장치를 이용해 해당 동영상 애플리케이션을 실행하고 해당 애플리케이션의 상태를 해당 동영상의 재생 상태, 또는 재생을 시작할 수 있는 인터페이스 화면을 제공하는 상태로 만들 수 있다.Referring to FIG. 7D, a video application is running on the terminal 200. The user may instruct the user to transfer the video application to the external device 500 by using the external device 400 or by selecting anywhere on the screen by other methods. According to a modification example, the user can select a specific video from the video list, and in this case, the context of the selected video, for example, the video or a URL of a page containing the video may be delivered to the external device 500. . The external device 500 may use a virtual device to execute the corresponding video application and set the state of the application to a state of providing a playback state of the corresponding video or an interface screen for starting playback.

도 7e를 참조하면 단말(200)이 실행 중인 애플리케이션의 목록(791, 792, 793)이 표시된다. 사용자는 이들 중 특정 애플리케이션을 선택하여 해당 애플리케이션을 외부 장치(500)에게로 이전할 것을 지시할 수 있다.Referring to FIG. 7E, a list of applications 791, 792, and 793 in which the terminal 200 is running is displayed. The user may select a specific application among them and instruct the user to transfer the application to the external device 500.

도 6a로 돌아와서, 단계 625에서 단말(200)은 외부 장치(400)로부터 접속 정보를 수신한다. 접속 정보는 외부 장치(500)에 접속하기 위해 필요한 정보이다. 접속 정보는 예를 들어 외부 장치(500)에 접속하기 위한 아이디, 비밀번호 및 외부 장치(400)의 일련 번호 중 적어도 일부를 포함할 수 있다. 단말(200)은 애플리케이션의 이전을 지시하는 입력을 수신하면 외부 장치(400)에게 접속 정보를 요청하여 접속 정보를 수신할 수 있다. 변형 예에 따르면, 외부 장치(400)와 단말(200) 사이의 연결(615)이 수립되면 단말(200)은 곧바로 외부 장치(400)에게 접속 정보를 요청하여 수신할 수도 있다.Returning to FIG. 6A, in step 625, the terminal 200 receives access information from the external device 400. The access information is information required to access the external device 500. The access information may include, for example, an ID, a password for accessing the external device 500, and at least a part of a serial number of the external device 400. Upon receiving the input indicating the transfer of the application, the terminal 200 may request access information to the external device 400 to receive the access information. According to a modified example, when the connection 615 between the external device 400 and the terminal 200 is established, the terminal 200 may immediately request and receive access information from the external device 400.

단계 630에서 단말(200)의 무선 통신부(210)(또는 통신부)는 접속 정보를 이용해 외부 장치(500)에 접속한다. 만약 접속 정보가 잘못되거나 통신 상태가 불량하여 접속에 실패하는 경우 실패 메시지를 표시하고 과정이 종료된다.In step 630, the wireless communication unit 210 (or communication unit) of the terminal 200 accesses the external device 500 using the connection information. If the connection fails due to incorrect connection information or poor communication status, a failure message is displayed and the process ends.

단계 635에서 단말(200)의 무선 통신부(210)는 이전해야 하는 애플리케이션의 컨텍스트를 외부 장치(500)에게 전달한다. 애플리케이션 컨텍스트는 예를 들어 애플리케이션의 실행 상태를 재현하는 데 충분한 메모리 상태 정보를 포함할 수 있다. 변형 예에 따르면 애플리케이션 컨텍스트는 단말(200)에서 애플리케이션이 수행되는 도중 입력된 입력 신호들에 관한 정보를 포함할 수 잇다. 애플리케이션 컨텍스트는 단말(200)의 해상도 정보를 더 포함할 수 있다.In step 635, the wireless communication unit 210 of the terminal 200 transmits the context of the application to be transferred to the external device 500. The application context can include, for example, sufficient memory state information to reproduce the running state of the application. According to a modified example, the application context may include information regarding input signals input while the application is being performed in the terminal 200. The application context may further include resolution information of the terminal 200.

단계 640에서 외부 장치(500)는 수신한 애플리케이션 컨텍스트를 처리한다. 예를 들어 제1 실시 예에 따르면 외부 장치(500)는 수신한 애플리케이션 컨텍스트를 저장해 두었다가 단말(300)로부터 요청을 수신하면 저장된 애플리케이션 컨텍스트를 단말(300)에게 전달할 수 있다. 제2 실시 예에 따르면 외부 장치(500)는 외부 장치(500) 내에 가상 장치를 생성할 수 있다. 외부 장치(500)는 수신한 애플리케이션 컨텍스트를 이용해 가상 장치 상에 해당 애플리케이션을 실행하고 단말(200)이 실행 중이던 애플리케이션의 실행 상태를 가상 장치 상에서 복원할 수 있다. 이후 단말(300)로부터 애플리케이션의 화면을 요청받으면 외부 장치(500)의 통신부(510)는 단말(300)에게 애플리케이션의 화면을 반복적으로, 또는 화면의 변경이 있을 때마다 제공할 수 있다. In step 640, the external device 500 processes the received application context. For example, according to the first embodiment, the external device 500 may store the received application context and then transmit the stored application context to the terminal 300 when receiving the request from the terminal 300. According to the second embodiment, the external device 500 may create a virtual device in the external device 500. The external device 500 may execute the corresponding application on the virtual device using the received application context and restore the execution state of the application that the terminal 200 was running on the virtual device. Thereafter, when a screen of the application is requested from the terminal 300, the communication unit 510 of the external device 500 may repeatedly provide the screen of the application to the terminal 300 or whenever a screen is changed.

도 6b를 참조하면 본 명세서의 제1 실시 예에 따르는 애플리케이션 이전 과정이 도시된다. 도 6b의 과정은 도 6a의 과정이 완료된 후에 수행되는 것으로 가정하여 설명한다. 6B illustrates an application migration process according to the first embodiment of the present specification. The process of FIG. 6B is described on the assumption that the process of FIG. 6A is performed after completion.

단계 645에서 단말(300)과 외부 장치(400)사이의 연결이 수립된다. 도 6a의 단계 615의 연결 과정과 유사한 과정이 수행될 수 있다.In step 645, a connection between the terminal 300 and the external device 400 is established. A process similar to the connection process of step 615 of FIG. 6A may be performed.

단계 650에서 애플리케이션의 재개 기능이 선택된다. 변형 예에 따르면 단계 650은 생략될 수도 있다.In step 650, the resume function of the application is selected. According to a modified example, step 650 may be omitted.

단계 655에서 외부 장치(400)는 단말(300)에게 접속 정보를 제공한다. 접속 정보는 외부 장치(500)에 접속하기 위해 필요한 정보이며, 도 6a의 단계 625에서 설명된 접속 정보와 동일하다.In step 655, the external device 400 provides access information to the terminal 300. The access information is information required to access the external device 500, and is the same as the access information described in step 625 of FIG. 6A.

단계 660에서 단말(300)은 접속 정보를 이용해 외부 장치(500)에 접속한다. 단계 665에서 단말(300)은 재개할 수 있는 애플리케이션의 목록, 즉 외부 장치(500)가 보유하고 있는 애플리케이션의 목록을 외부 장치(500)로부터 수신한다. 외부 장치(500)는 당연히 자신이 보유한 애플리케이션의 목록을 확보할 수 있다. 변형 예에 따르면 단말(300)은 외부 장치(500)가 보유하고 있는 애플리케이션의 목록을 외부 장치(400)로부터 수신할 수도 있다. 이 경우 외부 장치(400)는 애플리케이션이 이전될 때 해당 이전에 관한 정보를 단말(200)로부터 통보받고, 외부 장치(500)에게로 이전된 애플리케이션의 목록을 유지하여야 한다.In step 660, the terminal 300 accesses the external device 500 using the access information. In step 665, the terminal 300 receives a list of applications that can be resumed, that is, a list of applications held by the external device 500 from the external device 500. The external device 500 can naturally obtain a list of applications owned by it. According to a modified example, the terminal 300 may receive a list of applications held by the external device 500 from the external device 400. In this case, when the application is transferred, the external device 400 needs to be notified of the transfer information from the terminal 200 and maintain the list of applications transferred to the external device 500.

단계 670에서 단말(300)은 사용자에게 재개할 애플리케이션을 선택할 수 있는 인터페이스를 제공하고 재개할 애플리케이션의 선택을 수신한다. In step 670, the terminal 300 provides the user with an interface for selecting an application to be resumed and receives a selection of an application to be resumed.

도 8은 본 명세서의 일 실시 예에 따르는 애플리케이션 선택 인터페이스이다.8 is an application selection interface according to an embodiment of the present specification.

도 8을 참조하면 재개할 수 애플리케이션의 목록, 즉 외부 장치(500)에게로 이전된 애플리케이션의 목록(891, 892, 893)이 표시된다. 사용자는 이들 중 어느 하나를 선택하여 해당 애플리케이션이 단말(300)에서 재개되거나, 해당 애플리케이션의 실행 화면이 단말(300)을 통해 표시되도록 할 수 있다.Referring to FIG. 8, a list of applications to be resumed, that is, a list of applications 891, 892 and 893 transferred to the external device 500 is displayed. The user can select one of them to allow the corresponding application to be resumed at the terminal 300 or to display the execution screen of the corresponding application through the terminal 300.

도 6b로 돌아와서, 단계 675에서 단말(300)은 선택된 애플리케이션 컨텍스트를 요청하는 메시지를 외부 장치(500)에게 송신한다. 단계 680에서 외부 장치는 애플리케이션 컨텍스트를 단말(300)에게 제공한다. 이 때 외부 장치(500)는 단말(300)의 해상도 기타 단말(300)의 성능(Capability)에 맞게 애플리케이션의 컨텍스트를 변형 또는 변환하여 단말(300)에게 송신할 수도 있다. 애플리케이션 컨텍스트는 상술한 바와 같이 해당 애플리케이션의 실행 상태를 단말(300)에서 재현/재개하기에 충분한 정보를 포함할 수 있다.Returning to FIG. 6B, in step 675, the terminal 300 transmits a message requesting the selected application context to the external device 500. In step 680, the external device provides the application context to the terminal 300. At this time, the external device 500 may transform or convert the context of the application to the terminal 300 in accordance with the resolution of the terminal 300 and the capability of the terminal 300. The application context may include sufficient information to reproduce / resume the execution state of the application in the terminal 300 as described above.

단계 685에서 단말(300)의 제어부는 수신한 애플리케이션 컨텍스트를 이용하여 애플리케이션을 재개할 수 있다.In step 685, the control unit of the terminal 300 may resume the application using the received application context.

도 6c를 참조하면 본 명세서의 제2 실시 예에 따르는 애플리케이션 이전 과정이 개시된다. Referring to FIG. 6C, an application migration process according to a second embodiment of the present specification is disclosed.

단계 645, 650 및 655의 과정은 도 6b를 참조하여 상술한 것과 동일하므로 여기서는 자세한 설명을 생략한다.The process of steps 645, 650, and 655 is the same as described above with reference to FIG. 6B, so a detailed description is omitted here.

단계 657에서 단말(300)은 외부 장치로부터 재개할 수 있는 애플리케이션의 목록, 즉 외부 장치(500)에게로 이전된 애플리케이션의 목록을 수신한다. 단말(300)은 외부 장치(500)로부터 외부 장치(500)에게로 이전된 애플리케이션의 목록을 수신할 수도 있다.In step 657, the terminal 300 receives a list of applications that can be resumed from the external device, that is, a list of applications transferred to the external device 500. The terminal 300 may receive a list of applications transferred from the external device 500 to the external device 500.

단계 660 및 670의 과정은 도 6b를 참조하여 상술한 것과 동일하므로 여기서는 자세한 설명을 생략한다.The process of steps 660 and 670 is the same as described above with reference to FIG. 6B, so a detailed description is omitted here.

단계 690에서 단말(300)은 선택된 애플리케이션의 실행 화면을 요청하는 메시지를 외부 장치(500)에게 송신한다. 단계 691에서 외부 장치(500)는 가상 장치에서 실행 중인 애플리케이션의 화면을 획득한다. 외부 장치(500)는 도 6a의 과정에서 애플리케이션의 실행 상태에 관한 정보를 수신한 후 바로 가상 장치를 생성하고, 가상 장치에서 해당 애플리케이션을 재현/재개할 수 있다. 반대로 외부 장치(500)는 단계 690에서 해당 애플리케이션의 실행 화면을 요청받을 때 가상 장치에서 해당 애플리케이션을 재현/재개할 수도 있다. 가상 장치의 해상도는 단말(300)의 해상도에 따라 변경될 수 있다. 따라서 단계 690의 애플리케이션 실행 화면 요청 메시지는 단말(300)의 해상도 정보를 더 포함할 수도 있다. 가상 장치의 생성 시점과 가상 장치에서의 애플리케이션의 재개 시점은 실시 예에 따라 달라질 수 있으나, 실제로 실행 화면이 요청되기 전에는 가상 장치가 생성되고 가상 장치에서의 애플리케이션이 재개되어야 할 것이다.In step 690, the terminal 300 transmits a message requesting the execution screen of the selected application to the external device 500. In step 691, the external device 500 acquires a screen of an application running in the virtual device. The external device 500 may generate a virtual device immediately after receiving information on an execution state of the application in the process of FIG. 6A and reproduce / resume the application on the virtual device. Conversely, the external device 500 may reproduce / resume the application in the virtual device when the execution screen of the application is requested in step 690. The resolution of the virtual device may be changed according to the resolution of the terminal 300. Therefore, the application execution screen request message of step 690 may further include resolution information of the terminal 300. The creation time of the virtual device and the restarting time of the application on the virtual device may vary according to embodiments, but the virtual device is generated and the application on the virtual device must be restarted before the execution screen is actually requested.

단계 692에서 외부 장치(500)는 획득된 애플리케이션 화면을 단말(300)에게 제공한다.In step 692, the external device 500 provides the obtained application screen to the terminal 300.

단계 693에서 단말(300)은 수신한 애플리케이션 실행 화면을 표시한다. 외부 장치(500)는 애플리케이션의 실행 화면을 실시간적으로, 반복적으로 또는 화면의 변경이 있을 때마다 단말(300)에게 송신하여 단말(300)이 실행 화면을 갱신하도록 할 수 있다.In step 693, the terminal 300 displays the received application execution screen. The external device 500 may transmit the execution screen of the application in real time, repeatedly, or whenever the screen is changed, to the terminal 300 so that the terminal 300 updates the execution screen.

애플리케이션의 실행 화면이 표시되는 도중 단말(300)은 입력부(331)를 통해 단계 694에서 애플리케이션의 제어를 위한 입력을 수신한다. 즉, 사용자는 단말(300)을 통해 외부 장치(500)의 가상 장치에서 실행 중인 애플리케이션의 실행 화면을 수신하고 그 화면에 대해 제어를 위한 입력을 할 수 있다. 단계 695에서 단말(300)은 수신한 입력 신호를 외부 장치(500)에게 전달한다. 외부 장치(500)는 수신한 입력 신호를 가상 장치에서 실행 중인 애플리케이션을 위한 입력으로 사용한다. 가상 장치에서 실행 중인 애플리케이션은 그에 따라 제어될 수 있다. 그에 따라 애플리케이션의 실행 화면이 변경되면, 단계 697에서 외부 장치(500)는 애플리케이션의 변경된 실행 화면을 단말(300)에게 전달한다. 단말(300)은 단계 698에서 수신한 애플리케이션의 실행 화면을 단말(300)의 표시부(332)를 통해 표시한다.While the execution screen of the application is displayed, the terminal 300 receives an input for controlling the application in step 694 through the input unit 331. That is, the user may receive an execution screen of an application running in the virtual device of the external device 500 through the terminal 300 and input an input for control on the screen. In step 695, the terminal 300 transmits the received input signal to the external device 500. The external device 500 uses the received input signal as an input for an application running on the virtual device. Applications running on the virtual device can be controlled accordingly. When the execution screen of the application is changed accordingly, in step 697, the external device 500 delivers the changed execution screen of the application to the terminal 300. The terminal 300 displays the execution screen of the application received in step 698 through the display unit 332 of the terminal 300.

도 9a 및 도 9b는 본 명세서의 제3 실시 예에 따르는 애플리케이션 이전 과정의 순서도이다.9A and 9B are flowcharts of an application migration process according to a third embodiment of the present specification.

도 9a 및 도 9b는 상술한 제1 실시 예, 제2 실시 예의 설명과 비교하여 단말들(200, 300) 및 외부 장치(500)의 내부 구성요소 또는 계층(layer) 간의 통신까지 더욱 상세하게 설명하기 위한 도면이다. 도 9a 및 도 9b의 실시 예 구성 중 제1 실시 예 및/또는 제2 실시 예의 경우와 조합되어 사용될 수 있는 부분은 제1 실시 예 및/또는 제2 실시 예와 일부 결합하여 활용될 수도 있다.9A and 9B illustrate in more detail the communication between the internal components or layers of the terminals 200 and 300 and the external device 500 in comparison with the description of the first and second embodiments described above. It is a drawing to do. 9A and 9B, a part that can be used in combination with the case of the first embodiment and / or the second embodiment may be used in combination with the first embodiment and / or the second embodiment.

도 9a 및 도 9b를 참조하면 단말(200)은 운영 체제 계층(901) 및 프레임워크 계층(902)을 포함한다. 외부 장치(500)는 프레임워크 계층(903) 및 애플리케이션 계층(904)을 포함한다. 도 9b를 참조하면 단말(300)은 운영 체제 계층(905) 및 프레임워크 계층(906)을 포함한다.9A and 9B, the terminal 200 includes an operating system layer 901 and a framework layer 902. The external device 500 includes a framework layer 903 and an application layer 904. Referring to FIG. 9B, the terminal 300 includes an operating system layer 905 and a framework layer 906.

도 9a를 참조하면, 단계 910에서 애플리케이션 실행이 수행된다. 단계 910은 단계 912, 914 및 916을 포함할 수 있다.9A, application execution is performed in step 910. Step 910 may include steps 912, 914 and 916.

단계 912에서 단말(200)의 운영 체제 계층(901)은 프레임워크 계층(902)에게 애플리케이션의 실행 및 동작에 관한 명령 및/또는 요청을 송신한다. 단계 914에서 프레임워크 계층(902)은 해당 애플리케이션 실행 도중 해당 애플리케이션의 컨텍스트를 저장한다. 애플리케이션의 컨텍스트는 예를 들어 해당 애플리케이션에 대하여 적용된 입력 좌표, 키보드 입력 정보, 파일 입출력(I/O), 데이터베이스(DB) 액세스 정보, 센서 데이터 및 해당 애플리케이션에 연관된 메모리 상태 중 적어도 일부를 포함할 수 있다. 애플리케이션의 컨텍스트는 외부 장치(500)의 가상 장치에서 해당 애플리케이션의 실행 상태를 재현하기 위해 활용될 수 있다.In step 912, the operating system layer 901 of the terminal 200 transmits a command and / or request regarding the execution and operation of the application to the framework layer 902. In step 914, the framework layer 902 stores the context of the application during execution of the application. The context of the application may include, for example, at least some of input coordinates applied to the application, keyboard input information, file input / output (I / O), database (DB) access information, sensor data, and memory status associated with the application. have. The context of the application may be utilized to reproduce the execution state of the application in the virtual device of the external device 500.

단계 916에서, 단말(200)의 프레임워크 계층(902)은 외부 장치(500)의 프레임워크 계층(903)과 애플리케이션 컨텍스트를 동기화할 수 있다. 예를 들어 단말(200)의 프레임워크 계층(902)은 외부 장치(500)의 프레임워크 계층(903)에게 단계 914에서 저장된 애플리케이션 컨텍스트를 송신하고 외부 장치(500)의 프레임워크 계층(903)은 수신한 애플리케이션 컨텍스트를 저장해 둘 수 있다. 외부 장치(500)와 단말(200) 사이의 연결이 유지되지 않는 경우 추후 외부 장치(500)와 단말(200) 사이의 연결이 이뤄진 뒤에 단계 916의 애플리케이션 컨텍스트를 동기화가 수행될 수 있다.In operation 916, the framework layer 902 of the terminal 200 may synchronize the application context with the framework layer 903 of the external device 500. For example, the framework layer 902 of the terminal 200 transmits the application context stored in step 914 to the framework layer 903 of the external device 500 and the framework layer 903 of the external device 500 You can store the received application context. If the connection between the external device 500 and the terminal 200 is not maintained, the application context of step 916 may be synchronized after a connection between the external device 500 and the terminal 200 is made.

단계 920에서 가상 장치 초기화가 수행된다. 단계 920은 단계 922, 924, 926, 928, 930, 932, 934 및 936을 포함할 수 있다.In step 920, virtual device initialization is performed. Step 920 may include steps 922, 924, 926, 928, 930, 932, 934 and 936.

단계 922에서 외부 장치(400) 예를 들어 스타일러스 펜과 단말(200)의 운영 체제(901) 사이의 연결이 수립된다. 예를 들어 단말(200)의 운영 체제(901)가 외부 장치(400)의 근거리 통신(short range communication) 신호를 감지하면 단말(200)의 운영 체제(901)는 외부 장치(400)와의 근거리 통신 연결을 시도하여 근거리 통신 연결을 수립할 수 있다. 변형 예에 따르면, 반대로 외부 장치(400)가 단말(200)의 근거리 통신 신호를 감지하면 외부 장치(400)가 단말(200)과의 근거리 통신 연결을 시도하여 근거리 통신 연결을 수립할 수 있다.In step 922, a connection is established between the external device 400, for example, the stylus pen and the operating system 901 of the terminal 200. For example, when the operating system 901 of the terminal 200 detects a short range communication signal of the external device 400, the operating system 901 of the terminal 200 communicates with the external device 400 You can establish a short-range communication connection by attempting a connection. According to a modified example, on the contrary, when the external device 400 detects a short-range communication signal of the terminal 200, the external device 400 may establish a short-range communication connection by attempting a short-range communication connection with the terminal 200.

연결 이후 단계 924에서 외부 장치(400)는 외부 장치(400)가 보유한 접속 정보 및/또는 사용자 프로필을 단말(200)의 운영 체제(901)에게 전달한다. 접속 정보는 단말(200)이 외부 장치(500)에 접속하기 위한 정보이다. 단말(200)이 외부 장치(500)에 이미 접속해 있는 경우 접속 정보의 전달은 생략될 수 있다. 사용자 프로필은 예를 들어 외부 장치(500)가 외부 장치(400)를 식별하기 위한 정보를 포함할 수 있다. 사용자 프로필은 이후의 단계 (928, 946, 954)에서 전달되는 요청이 어느 외부 장치(400)와 연관된 정보인지를 표시하기 위해 활용될 수 있다. After the connection, in step 924, the external device 400 delivers the access information and / or user profile held by the external device 400 to the operating system 901 of the terminal 200. The access information is information for the terminal 200 to access the external device 500. When the terminal 200 is already connected to the external device 500, transmission of the connection information may be omitted. The user profile may include, for example, information for the external device 500 to identify the external device 400. The user profile can be utilized to indicate which external device 400 is associated with the request that is forwarded in subsequent steps 928, 946, 954.

단계 926에서 단말(200)의 운영 체제 계층(901)은 단말(200)의 프레임워크 계층(902)에게 가상 장치 생성 요청을 전달한다. 가상 장치 생성 요청은 예를 들어 단계 924에서 획득한 접속 정보 및/또는 프로필을 포함할 수 있다. 가상 장치 생성 요청은 단말(200)의 해상도 기타 단말 성능(capability)에 관한 정보를 더 포함할 수 있다.In step 926, the operating system layer 901 of the terminal 200 transmits a virtual device creation request to the framework layer 902 of the terminal 200. The virtual device creation request may include, for example, access information and / or a profile obtained in step 924. The request for creating a virtual device may further include information regarding the resolution of the terminal 200 and terminal capability.

단계 928에서 단말(200)의 프레임워크 계층(902)은 가상 장치 관련 정보를 외부 장치(500)의 프레임워크 계층(903)에게 전달한다. 가상 장치 관련 정보의 전달은 가상 장치의 생성의 요청으로 해석될 수 있다. 가상 장치 관련 정보는 단계 924에서 전달된 사용자 프로필 및/또는 단계 926에서 전달된 해상도 기타 단말 성능(capability)에 관한 정보 중 적어도 일부를 포함할 수 있다. 만약 단계 916이 생략되거나, 전달되지 않은 애플리케이션 컨텍스트가 있다면 단계 928에서 애플리케이션 컨텍스트가 전달될 수도 있다.In step 928, the framework layer 902 of the terminal 200 transmits virtual device related information to the framework layer 903 of the external device 500. The delivery of virtual device related information may be interpreted as a request for creation of a virtual device. The virtual device-related information may include at least some of the user profile transmitted in step 924 and / or the resolution and other terminal capability delivered in step 926. If step 916 is omitted or there is an application context that has not been delivered, the application context may be delivered at step 928.

단계 930에서 외부 장치(500)의 프레임워크 계층(903)은 수신한 가상 장치 관련 정보에 따라 가상 장치를 생성한다. 생성된 가상 장치는 단말(200)의 구성, 성능과 연관성을 가진다. In operation 930, the framework layer 903 of the external device 500 creates a virtual device according to the received virtual device related information. The generated virtual device has a relationship with the configuration and performance of the terminal 200.

단계 932, 단계 934에서 가상 장치 생성 응답이 외부 장치의 프레임워크 계층(903)으로부터 단말(200)의 프레임워크 계층(902)을 거쳐 단말(200)의 운영 체제계층(901)에게로 전달된다. 가상 장치 생성 응답은 외부 장치(500) 내에 가상 장치가 생성되었음을 알리는 메시지이다. 가상 장치 생성 응답은 가상 장치의 해상도 및/또는 기타 성능에 관한 정보를 포함할 수 있다. 단계 936에서 단말(200)의 운영 체제 계층(901)은 외부 장치(400)에게 가상 장치 생성 정보를 전달한다. 가상 장치 생성 정보는 외부 장치(500) 내에 가상 장치가 생성되었음을 알리는 지시자, 가상 장치의 해상도 및 기타 성능에 관한 정보 중 적어도 일부를 포함할 수 있다. 외부 장치(400)가 가상 장치에 관한 정보를 획득할 필요가 없다면 단계 936은 생략될 수 있다.In step 932 and step 934, the virtual device creation response is transmitted from the framework layer 903 of the external device to the operating system layer 901 of the terminal 200 through the framework layer 902 of the terminal 200. The virtual device creation response is a message indicating that a virtual device has been created in the external device 500. The virtual device creation response may include information regarding the resolution and / or other performance of the virtual device. In step 936, the operating system layer 901 of the terminal 200 transmits virtual device creation information to the external device 400. The virtual device creation information may include at least a part of an indicator indicating that a virtual device has been generated in the external device 500, information regarding resolution and other performance of the virtual device. Step 936 may be omitted if the external device 400 does not need to obtain information about the virtual device.

도 9b를 참조하면, 단계 940에서 애플리케이션 선택 과정이 수행된다. 애플리케이션 선택 과정은 단계 942, 단계 944, 단계 946, 단계 948, 단계 950, 단계 952, 단계 954, 단계 956, 단계 958 및 단계 960을 포함한다.Referring to FIG. 9B, in step 940, an application selection process is performed. The application selection process includes step 942, step 944, step 946, step 948, step 950, step 952, step 954, step 956, step 958 and step 960.

단계 942에서 외부 장치(400)는 운영 체제(901)에게 외부 장치(500)에게로 이전될 애플리케이션을 선택하는 선택 입력을 전달한다. 선택 입력은 터치 스크린을 선택하는 방식으로 수행될 수 있다. 외부 장치(500)로 이전될 애플리케이션을 선택하는 입력이 반드시 외부 장치(400)를 통해 이루어져야 하는 것은 아니고 사용자가 손가락을 이용해 단말(200)의 터치스크린을 터치하거나 단말(200)의 물리적 키를 누르는 방식으로도 선택이 수행될 수 있다. 이러한 선택을 위해 상술한 도 7a 내지 도 7e 중 어느 하나, 또는 이와 유사한 인터페이스가 제공될 수 있다.In step 942, the external device 400 transmits a selection input for selecting an application to be transferred to the external device 500 to the operating system 901. The selection input may be performed by selecting a touch screen. The input for selecting an application to be transferred to the external device 500 does not necessarily have to be performed through the external device 400, and the user touches the touch screen of the terminal 200 with a finger or presses a physical key of the terminal 200 Selection can also be performed in a manner. For this selection, any one of the above-described FIGS. 7A to 7E or a similar interface may be provided.

단계 944에서 단말(200)의 운영 체제 계층(901)은 단말(200)의 프레임워크 계층(902)에게 선택된 애플리케이션의 재현 요청을 전달한다. In step 944, the operating system layer 901 of the terminal 200 transmits a request to reproduce the selected application to the framework layer 902 of the terminal 200.

단계 946에서 단말(200)의 프레임워크 계층(902)은 외부 장치(500)의 프레임워크 계층(903)에게 선택된 애플리케이션의 재현 요청을 송신한다. 선택된 애플리케이션의 재현 요청은 선택된 애플리케이션에 대한 컨텍스트에 따라 해당 애플리케이션의 실행 상태를 외부 장치(500)에서 재현할 것을 요청하는 메시지이다. 해당 애플리케이션의 컨텍스트가 전달되지 않은 경우, 단계 946에서 해당 애플리케이션의 컨텍스트가 프레임워크 계층(902)로부터 외부 장치(500)의 프레임워크 계층(903)에게 전달될 수 있다. In step 946, the framework layer 902 of the terminal 200 transmits a request to reproduce the selected application to the framework layer 903 of the external device 500. The request to reproduce the selected application is a message requesting that the execution state of the application is reproduced in the external device 500 according to the context for the selected application. If the context of the application is not delivered, in step 946, the context of the application may be delivered from the framework layer 902 to the framework layer 903 of the external device 500.

단계 948에서 외부 장치(500)의 프레임워크 계층(902)은 외부 장치(500)의 가상 장치 상에 해당 애플리케이션을 실행하고, 해당 애플리케이션의 컨텍스트를 적용한다. 예를 들어 애플리케이션 컨텍스트에 포함된 터치입력 기타 입력을 가상 장치 상의 애플리케이션에 대하여 적용된다.In step 948, the framework layer 902 of the external device 500 executes the application on the virtual device of the external device 500, and applies the context of the application. For example, touch input and other input included in the application context are applied to the application on the virtual device.

단계 950에서 외부 장치(400)는 단말(300)의 운영 체제 계층(905)에게 단말(300)의 화면에서 재현할 애플리케이션을 선택 입력을 전달한다. 선택 입력은 터치 스크린을 선택하는 방식으로 수행될 수 있다. 재현될 애플리케이션을 선택하는 입력이 반드시 외부 장치(400)를 통해 이루어져야 하는 것은 아니고 사용자가 손가락을 이용해 단말(300)의 터치스크린을 터치하거나 단말(300)의 물리적 키를 누르는 방식으로도 선택이 수행될 수 있다. 이러한 선택을 위해 상술한 도 8 또는 이와 유사한 인터페이스가 제공될 수 있다. 외부장치(400) 및/또는 외부장치(500)는 단말(300)에게 선택 가능한 애플리케이션의 리스트를 제공할 수 있다.In step 950, the external device 400 transmits a selection input to an application to be reproduced on the screen of the terminal 300 to the operating system layer 905 of the terminal 300. The selection input may be performed by selecting a touch screen. The input for selecting an application to be reproduced does not necessarily have to be made through the external device 400, and the selection is also performed by a user touching the touch screen of the terminal 300 with a finger or pressing a physical key of the terminal 300 Can be. For this selection, the interface described above in FIG. 8 or similar may be provided. The external device 400 and / or the external device 500 may provide the terminal 300 with a list of selectable applications.

단계 922의 연결과 유사하게, 외부 장치(400)가 이동하여 단말(300) 근처에 위치하면, 외부 장치(400)와 단말(300) 간의 근거리 통신 연결이 자동적으로 수립될 수 있다. 마찬가지로 단계 924의 정보 송신과 유사하게 외부 장치(400)는 단말(300)의 운영 체제 계층(905)에게 외부 장치(500)에 접속하기 위한 정보를 송신할 수도 있다. 단말(300)이 외부 장치(500)와 이미 접속해 있거나, 단말(300)이 외부 장치(500)에 접속하기 위한 정보를 보유한 경우 외부 장치(400)는 단말(300)의 운영 체제 계층(905)에게 외부 장치(500)에 접속하기 위한 정보를 송신할 필요가 없다. Similar to the connection of step 922, when the external device 400 moves and is located near the terminal 300, a short-range communication connection between the external device 400 and the terminal 300 may be automatically established. Similarly, similar to the information transmission in step 924, the external device 400 may transmit information for accessing the external device 500 to the operating system layer 905 of the terminal 300. If the terminal 300 is already connected to the external device 500, or if the terminal 300 has information for accessing the external device 500, the external device 400 is the operating system layer 905 of the terminal 300 ), There is no need to transmit information for accessing the external device 500.

단계 952에서 단말(300)의 운영체제 계층(905)은 단말(300)의 프레임워크 계층(906)에게 선택된 애플리케이션의 실행 요청(또는 재현 요청)을 송신한다. 애플리케이션의 실행 요청은 프레임워크 계층(906)에게 가상 장치 연계 요청을 송신할 것을 명령하는 메시지가 될 수 있다.In step 952, the operating system layer 905 of the terminal 300 transmits a request to execute (or reproduce) a selected application to the framework layer 906 of the terminal 300. The execution request of the application may be a message instructing the framework layer 906 to send a request to associate a virtual device.

단계 954에서 단말(300)의 프레임워크 계층(906)은 외부 장치(500)의 프레임워크 계층(903)에게 가상 장치 연계 요청을 송신한다. 가상 장치 연계 요청은 외부 장치(500)에게 가상 장치 상의 해당 애플리케이션의 화면 기타 출력을 요청하고 단말(300)에 대한 입력 신호를 가상 장치 상의 해당 애플리케이션의 입력 신호로 활용할 것을 요청하는 메시지가 될 수 있다. 가상 장치 연계 요청은 단말(300)의 해상도 기타 성능 정보를 포함할 수 있다. 이 경우 외부 장치(500)의 프레임워크 계층(903)은 가상 장치의 해상도 기타 성능을 단말(300)에 맞게 변경하거나, 단말(300)에게 제공하는 애플리케이션 화면의 크기 및/또는 기타 출력 정보를 단말(300)의 해상도 및/또는 성능 정보에 ?도록 변환하여 제공할 수 있다.In step 954, the framework layer 906 of the terminal 300 transmits a virtual device association request to the framework layer 903 of the external device 500. The virtual device association request may be a message requesting the external device 500 to output the screen of the corresponding application on the virtual device and to use the input signal to the terminal 300 as an input signal of the corresponding application on the virtual device. . The virtual device association request may include resolution and other performance information of the terminal 300. In this case, the framework layer 903 of the external device 500 changes the resolution and other performance of the virtual device to match the terminal 300, or the size and / or other output information of the application screen provided to the terminal 300 The resolution and / or performance information of 300 may be converted and provided.

가상 장치 연계 요청을 수신한 외부 장치(500)의 프레임워크 계층(903)은 애플리케이션 계층(904)으로부터 애플리케이션 화면 및/또는 기타 출력(소리 정보 등)을 획득한다. 단계 958 및 단계 960에서 해당 애플리케이션 화면 및/또는 기타 출력이 프레임워크 계층(903)으로부터 프레임워크 계층(906) 및 운영 체제 계층(905)에게 전달될 수 있다. 외부 장치(500)의 프레임워크 계층(903)은 주기적으로, 또는 실시간적으로 애플리케이션의 화면 정보 및/또는 기타 출력을 단말(300)에게 전달할 수 있다. 또한 단말(300)은 수신한 화면 정보 및/또는 기타 출력을 표시부 기타 구성부를 통해 출력할 수 있다. 단말(300)의 입력부를 통해 입력된 입력 신호는 외부 장치(500)에게 전달되고, 외부 장치(500)는 이 입력 신호를 가상 장치 상의 애플리케이션에 대한 입력 신호로 처리할 수 있다. 그에 따라 가상 장치 상의 애플리케이션의 실행 상태가 변경될 수 있으며, 애플리케이션의 화면이 변경되는 경우 실시간적 또는 주기적으로 변경된 화면 정보가 단말(300)에게 전달될 수 있다.The framework layer 903 of the external device 500 receiving the virtual device association request acquires an application screen and / or other output (such as sound information) from the application layer 904. In step 958 and 960, the corresponding application screen and / or other output may be delivered from the framework layer 903 to the framework layer 906 and the operating system layer 905. The framework layer 903 of the external device 500 may transmit the screen information and / or other output of the application to the terminal 300 periodically or in real time. In addition, the terminal 300 may output the received screen information and / or other output through the display unit or other components. The input signal input through the input unit of the terminal 300 is transmitted to the external device 500, and the external device 500 may process the input signal as an input signal for an application on the virtual device. Accordingly, the execution state of the application on the virtual device may be changed, and when the screen of the application is changed, real-time or periodically changed screen information may be transmitted to the terminal 300.

도 9c는 본 명세서의 제4 실시 예에 따르는 애플리케이션 이전 과정의 순서도이다.9C is a flowchart of an application transfer process according to a fourth embodiment of the present specification.

도 9c의 실시 예는 도 9a 및 도 9b를 참조하는 제3 실시 예의 변형 예이다.The embodiment of FIG. 9C is a modification of the third embodiment with reference to FIGS. 9A and 9B.

제4 실시 예에 대하여 도 9a의 단계 912, 914, 916, 922, 924, 926, 928, 930, 932, 934, 936이 모두 적용될 수 있다. 도 9c의 과정은 도 9a의 과정이 진행된 이후의 과정을 설명한다.Steps 912, 914, 916, 922, 924, 926, 928, 930, 932, 934, and 936 of FIG. 9A may be applied to the fourth embodiment. The process of FIG. 9C describes a process after the process of FIG. 9A has been performed.

도 9c의 단계 942, 944, 946 및 948은 도 9b의 단계 942, 944, 946 및 948의 과정과 동일하거나 유사하므로 여기서는 자세한 설명을 생략한다.Steps 942, 944, 946, and 948 of FIG. 9C are the same or similar to those of steps 942, 944, 946, and 948 of FIG. 9B, and thus detailed descriptions thereof will be omitted.

단계 968에서 단말(200)은 외부 장치(500)로부터 애플리케이션을 되돌려받는다(return). 단계 968은 단계 970, 972, 974, 976, 978, 980, 982 중 적어도 일부를 포함할 수 있다.In step 968, the terminal 200 returns an application from the external device 500 (return). Step 968 may include at least some of steps 970, 972, 974, 976, 978, 980, and 982.

단계 970에서 사용자는 외부 장치(400)를 이용하여, 또는 기타 방식으로 단말(200)이 외부 장치(500)로부터 이전받을 애플리케이션을 선택할 수 있다. 단계 972에서 단말(200)의 운영 체제 계층(901)은 단말(200)의 프레임워크 계층(902)에게 애플리케이션의 이전을 요청한다. 단계 974에서 단말(200)의 프레임워크 계층(902)는 외부 장치(500)의 프레임워크 계층(903)에게 해당 애플리케이션의 컨텍스트를 요청한다. In operation 970, the user may select an application to which the terminal 200 is to be transferred from the external device 500 using the external device 400 or in other ways. In step 972, the operating system layer 901 of the terminal 200 requests the application layer to be transferred to the framework layer 902 of the terminal 200. In step 974, the framework layer 902 of the terminal 200 requests the context of the application to the framework layer 903 of the external device 500.

단계 976에서 애플리케이션 컨텍스트 요청을 수힌한 외부 장치(500)의 프레임워크 계층(903)은 외부 장치(500)의 가상 장치 상의 애플리케이션을 종료한다. 단계 978에서 외부 장치(500)의 프레임워크 계층(903)은 해당 애플리케이션의 컨텍스트를 단말(200)의 프레임워크 계층(902)에게 전달한다. 단계 980에서 단말(200)의 프레임워크 계층(902)은 운영 체제(901)에게 해당 애플리케이션 컨텍스트에 기반한 애플리케이션 재개를 요청하고, 애플리케이션은 단말(200)에서 재개된다. 아울러 단계 982에서 외부 장치(500)의 프레임워크 계층(903)은 가상 장치를 종료한다.In step 976, the framework layer 903 of the external device 500 that made the application context request ends the application on the virtual device of the external device 500. In step 978, the framework layer 903 of the external device 500 delivers the context of the application to the framework layer 902 of the terminal 200. In step 980, the framework layer 902 of the terminal 200 requests the operating system 901 to resume the application based on the application context, and the application is resumed in the terminal 200. In addition, in step 982, the framework layer 903 of the external device 500 ends the virtual device.

상술한 실시 예들 중 일부에서, 단말(200, 300)은 외부 장치(400)와 자동적으로 연결하고, 단말(200, 300)은 외부 장치(400)로부터 외부 장치(500)에 접속하기 위한 접속 정보를 수신하여 외부 장치(500)에 접속하는 것으로 설명되었다. 하지만 변형 예에 따르면 단말(200, 300)은 외부 장치(400)의 관여 없이 사용자의 외부 장치(500) 접속을 위한 입력에 따라 외부 장치(500)에 접속할 수도 있다.In some of the above-described embodiments, the terminals 200 and 300 automatically connect with the external device 400, and the terminals 200 and 300 access information for accessing the external device 500 from the external device 400. It has been described as receiving and connecting to the external device 500. However, according to a modified example, the terminals 200 and 300 may access the external device 500 according to an input for the user to access the external device 500 without involvement of the external device 400.

상술한 실시 예들 중 일부에서, 주로 사용자에게 화면이 출력되는 내용을 중심으로 설명되었다. 하지만 애플리케이션이 요구하는 연산의 양이 큰(heavy) 경우 그 연산 중 일부를 외부 장치(500)가 담당하도록 하기 위해 상술한 실시 예들 중 일부가 활용될 수 있다. 예를 들어, 단말(200)의 애플리케이션이 총 3분 길이의 동영상 인코딩을 시작하여 30초 분량의 인코딩을 완료하였다고 가정한다. 30초 분량의 인코딩이 완료된 시점에 단말은 해당 애플리케이션을 외부 장치(500)에게로 이전한다. 이 경우 이전을 위해 현재 인코딩 진행이 완료된 결과 동영상 중 후속 인코딩을 위하여 필요한 적어도 일부 및 인코딩이 진행되어야 할 소스 동영상 중 후속 인코딩을 위하여 필요한 적어도 일부가 외부 장치(500)에게로 이전될 수 있다. 외부 장치(500)는 상술한 실시 예들 중 일부에 따라 애플리케이션을 이전받는다. 외부 장치(500)는 이전받은 데이터를 이용하여 이미 인코딩이 완료된 시점, 예를 들어 30초 이후의 소스 동영상을 인코딩하여 결과 동영상의 부분을 생성한다. 외부 장치(500)는 소스 동영상에 대해 단말(200)이 인코딩한 부분을 포함하여 2분 30초 분량의 인코딩이 완료된 후 단말(200)로부터 해당 애플리케이션을 단말(200)에게 다시 이전할 것을 요청하는 메시지를 수신한다. 이 경우 외부 장치(500)는 인코딩이 완료된 부분의 결과 동영상을 포함한 애플리케이션 관련 데이터를 단말(200)에게 전달하고, 해당 애플리케이션의 실행을 중단할 수 있다. 애플리케이션을 다시 이전받은 단말(200)은 잔여 부분, 예를 들어 맨 마지막 30초 분량의 인코딩을 수행하여 전체 소스 동영상의 인코딩을 완료할 수 있다.In some of the above-described embodiments, the description has been mainly focused on the content of the screen output to the user. However, if the amount of operation required by the application is heavy (heavy), some of the above-described embodiments may be utilized to cause the external device 500 to handle some of the operations. For example, it is assumed that the application of the terminal 200 has started encoding the video for a total length of 3 minutes and completed the encoding for 30 seconds. When the 30-second encoding is completed, the terminal transfers the corresponding application to the external device 500. In this case, at least a portion required for subsequent encoding and a portion of the source movie to be encoded may be transferred to the external device 500 as a result of completion of the current encoding process for transfer. The external device 500 receives an application according to some of the above-described embodiments. The external device 500 generates a part of the result video by encoding the source video at a time when encoding is already completed, for example, after 30 seconds using the received data. The external device 500 requests to transfer the application back to the terminal 200 from the terminal 200 after the encoding of the source video is completed for 2 minutes 30 seconds, including the portion encoded by the terminal 200. Receive a message. In this case, the external device 500 may transmit application-related data including the result video of the portion where the encoding is completed to the terminal 200 and stop execution of the corresponding application. Upon receiving the application again, the terminal 200 may complete encoding of the entire source video by performing encoding of the remaining portion, for example, the last 30 seconds.

변형 예에 따르면, 외부 장치(500)는 해당 소스 동영상의 인코딩을 완료하고, 추후 단말(200)이 외부 장치(500)에게 해당 애플리케이션을 단말(200)에게 다시 이전할 것을 요청하면, 외부 장치(500)는 인코딩이 완료된 결과 동영상 파일(또는 패킷 등)을 포함하는 애플리케이션 관련 데이터를 단말(200)에게 전달할 수 있다.According to a modified example, the external device 500 completes encoding of the corresponding source video, and later, when the terminal 200 requests the external device 500 to transfer the application to the terminal 200 again, the external device ( 500) may transmit application-related data including a video file (or packet, etc.) as a result of the encoding to the terminal 200.

상술한 실시 예들 중 적어도 일부에 따르면 사용자는 애플리케이션의 실행 상태를 유지하면서 편리하게 여러 단말에서 애플리케이션을 공유할 수 있다. According to at least some of the above-described embodiments, the user can conveniently share the application on multiple terminals while maintaining the execution state of the application.

이 때, 처리 흐름도 도면들의 각 블록과 흐름도 도면들의 조합들은 컴퓨터 프로그램 인스트럭션들에 의해 수행될 수 있음을 이해할 수 있을 것이다. 이들 컴퓨터 프로그램 인스트럭션들은 범용 컴퓨터, 특수용 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서에 탑재될 수 있으므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서를 통해 수행되는 그 인스트럭션들이 흐름도 블록(들)에서 설명된 기능들을 수행하는 수단을 생성하게 된다. 이들 컴퓨터 프로그램 인스트럭션들은 특정 방식으로 기능을 구현하기 위해 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 지향할 수 있는 컴퓨터 이용 가능 또는 컴퓨터 판독 가능 메모리에 저장되는 것도 가능하므로, 그 컴퓨터 이용가능 또는 컴퓨터 판독 가능 메모리에 저장된 인스트럭션들은 흐름도 블록(들)에서 설명된 기능을 수행하는 인스트럭션 수단을 내포하는 제조 품목을 생산하는 것도 가능하다. 컴퓨터 프로그램 인스트럭션들은 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에 탑재되는 것도 가능하므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에서 일련의 동작 단계들이 수행되어 컴퓨터로 실행되는 프로세스를 생성해서 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 수행하는 인스트럭션들은 흐름도 블록(들)에서 설명된 기능들을 실행하기 위한 단계들을 제공하는 것도 가능하다.At this time, it will be understood that each block of the process flow chart drawings and combinations of the flow chart drawings can be performed by computer program instructions. These computer program instructions may be mounted on a processor of a general purpose computer, special purpose computer, or other programmable data processing equipment, so that instructions performed through a processor of a computer or other programmable data processing equipment are described in flowchart block (s). It creates a means to perform functions. These computer program instructions can also be stored in computer readable or computer readable memory that can be oriented to a computer or other programmable data processing equipment to implement a function in a particular way, so that computer readable or computer readable memory It is also possible for the instructions stored in to produce an article of manufacture containing instructions means for performing the functions described in the flowchart block (s). Since computer program instructions may be mounted on a computer or other programmable data processing equipment, a series of operational steps are performed on the computer or other programmable data processing equipment to create a process that is executed by the computer to generate a computer or other programmable data. It is also possible for instructions to perform processing equipment to provide steps for executing the functions described in the flowchart block (s).

또한, 각 블록은 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또, 몇 가지 대체 실행 예들에서는 블록들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들은 사실 실질적으로 동시에 수행되는 것도 가능하고 또는 그 블록들이 때때로 해당하는 기능에 따라 역순으로 수행되는 것도 가능하다.Also, each block may represent a module, segment, or portion of code that includes one or more executable instructions for executing the specified logical function (s). It should also be noted that in some alternative implementations, it is also possible that the functions mentioned in the blocks occur out of sequence. For example, two blocks shown in succession may in fact be executed substantially simultaneously, or it is also possible that the blocks are sometimes executed in reverse order according to a corresponding function.

이 때, 본 실시 예에서 사용되는 '~부'라는 용어는 소프트웨어 또는 FPGA또는 ASIC과 같은 하드웨어 구성요소를 의미하며, '~부'는 어떤 역할들을 수행한다. 그렇지만 '~부'는 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. '~부'는 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 '~부'는 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들, 및 변수들을 포함한다. 구성요소들과 '~부'들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 '~부'들로 결합되거나 추가적인 구성요소들과 '~부'들로 더 분리될 수 있다. 뿐만 아니라, 구성요소들 및 '~부'들은 디바이스 또는 보안 멀티미디어카드 내의 하나 또는 그 이상의 CPU들을 재생시키도록 구현될 수도 있다.At this time, the term '~ unit' used in the present embodiment means a hardware component such as software or an FPGA or an ASIC, and '~ unit' performs certain roles. However, '~ wealth' is not limited to software or hardware. The '~ unit' may be configured to be in an addressable storage medium or may be configured to reproduce one or more processors. Thus, as an example, '~ unit' refers to components such as software components, object-oriented software components, class components and task components, processes, functions, attributes, and procedures. , Subroutines, segments of program code, drivers, firmware, microcode, circuitry, data, database, data structures, tables, arrays, and variables. The functions provided within components and '~ units' may be combined into a smaller number of components and '~ units', or further separated into additional components and '~ units'. In addition, the components and '~ unit' may be implemented to play one or more CPUs in the device or secure multimedia card.

본 명세서의 일 실시 예에 따른 단말은 휴대폰, PDA(Personal Digital Assistant), 내비게이션(navigation), 디지털 방송 수신기, PMP(Portable Multimedia Player) 등과 같은 휴대용 장치 중 어느 하나 이상을 포함할 수 있다. A terminal according to an embodiment of the present specification may include any one or more of a portable device such as a mobile phone, a personal digital assistant (PDA), navigation, a digital broadcast receiver, and a portable multimedia player (PMP).

본 명세서의 일 실시 예에 따른 단말은 텔레비전, 컴퓨터 기타 고정형 장치 중 어느 하나 이상을 포함할 수 있다. The terminal according to one embodiment of the present specification may include any one or more of a television, a computer, and other fixed devices.

본 명세서가 속하는 기술분야의 통상의 지식을 가진 자는 본 명세서가 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시 예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 본 명세서의 범위는 상기 상세한 설명보다는 후술하는 특허청구의 범위에 의하여 나타내어지며, 특허청구의 범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 명세서의 범위에 포함되는 것으로 해석되어야 한다.Those of ordinary skill in the art to which the present specification pertains will appreciate that the present specification may be implemented in other specific forms without changing the technical spirit or essential characteristics. Therefore, it should be understood that the embodiments described above are illustrative in all respects and not restrictive. The scope of the present specification is indicated by the scope of the claims, which will be described later, rather than the detailed description, and all the changed or modified forms derived from the meaning and scope of the claims and equivalent concepts thereof are included in the scope of the specification. Should be interpreted.

한편, 본 명세서와 도면에는 본 명세서의 바람직한 실시 예에 대하여 개시하였으며, 비록 특정 용어들이 사용되었으나, 이는 단지 본 명세서의 기술 내용을 쉽게 설명하고 발명의 이해를 돕기 위한 일반적인 의미에서 사용된 것이지, 본 명세서의 범위를 한정하고자 하는 것은 아니다. 여기에 개시된 실시 예 외에도 본 명세서의 기술적 사상에 바탕을 둔 다른 변형 예들이 실시 가능하다는 것은 본 명세서가 속하는 기술 분야에서 통상의 지식을 가진 자에게 자명한 것이다.On the other hand, in this specification and the drawings have been described with respect to preferred embodiments of the present specification, although specific terms have been used, it is merely used in a general sense to easily describe the technical contents of the present specification and help understanding of the present invention. It is not intended to limit the scope of the specification. It is obvious to those skilled in the art to which the present disclosure pertains that other modifications based on the technical spirit of the present specification can be implemented in addition to the embodiments disclosed herein.

Claims (18)

전자 장치에 있어서,
복수의 앱(application)들을 저장하는 메모리; 및
프로세서를 포함하고, 상기 프로세서는,
상기 전자 장치와 외부 장치의 연결을 수립(establish)하고,
상기 복수의 앱들의 리스트를 상기 외부 장치로 전송하고,
상기 외부 장치로부터 앱의 상태 정보의 전송 요청을 수신하되, 상기 앱은 상기 외부 장치에 의해 상기 복수의 앱들 중에서 선택된 것이고,
상기 전송 요청에 기반하여, 상기 선택된 앱의 상태 정보를 상기 외부 장치로 전송하고,
상기 외부 장치로부터 상기 선택된 앱에 관한 제어 신호를 수신하고,
상기 제어 신호에 기반하여 상기 선택된 앱의 상태를 변경하고, 및
상기 선택된 앱의 변경된 상태에 대응하는 상태 정보를 상기 외부 장치로 전송하고,
상기 제어 신호는 상기 선택된 앱에 대한 입력의 좌표 정보를 포함하는, 전자 장치.
In the electronic device,
A memory for storing a plurality of applications; And
It includes a processor, the processor,
Establishing a connection between the electronic device and an external device,
The list of the plurality of apps is transmitted to the external device,
Receiving a request to transmit the status information of the app from the external device, the app is selected from the plurality of apps by the external device,
Based on the transmission request, the status information of the selected app is transmitted to the external device,
Receiving a control signal for the selected app from the external device,
Change the state of the selected app based on the control signal, and
Send status information corresponding to the changed status of the selected app to the external device,
The control signal includes coordinate information of an input to the selected app.
제 1 항에 있어서,
상기 선택된 앱의 상태 정보는 상기 선택된 앱의 실행 화면을 포함하는, 전자 장치.
According to claim 1,
The status information of the selected app includes an execution screen of the selected app.
제 1 항에 있어서,
상기 제어 신호는 상기 선택된 앱의 실행을 재개(resuming)하기 위한 신호를 포함하는, 전자 장치.
According to claim 1,
The control signal includes a signal for resuming execution of the selected app.
제 1 항에 있어서,
상기 제어 신호는 상기 선택된 앱의 상태와 관련하여 상기 외부 장치에 저장된 메모리 정보를 포함하는, 전자 장치.
According to claim 1,
The control signal includes memory information stored in the external device in relation to the state of the selected app.
제 1 항에 있어서,
상기 복수의 앱들은
웹 브라우저, 동영상 재생 앱, 게임 앱, 및 소셜 네트워크 서비스 앱 중에서 어느 하나 이상을 포함하는, 전자 장치.
According to claim 1,
The plurality of apps
An electronic device comprising one or more of a web browser, a video playback app, a game app, and a social network service app.
제 1 항에 있어서,
상기 복수의 앱들은 상기 외부 장치에서 실행 가능한, 전자 장치.
According to claim 1,
The plurality of apps are executable on the external device, an electronic device.
복수의 앱(application)들을 저장하는 전자 장치의 동작 방법에 있어서,
상기 전자 장치와 외부 장치의 연결을 수립(establish)하는 동작,
상기 복수의 앱들의 리스트를 상기 외부 장치로 전송하는 동작,
상기 외부 장치로부터 앱의 상태 정보의 전송 요청을 수신하되, 상기 앱은 상기 외부 장치에 의해 상기 복수의 앱들 중에서 선택된 것인 동작,
상기 전송 요청에 기반하여, 상기 선택된 앱의 상태 정보를 상기 외부 장치로 전송하는 동작,
상기 외부 장치로부터 상기 선택된 앱에 관한 제어 신호를 수신하는 동작,
상기 제어 신호에 기반하여 상기 선택된 앱의 상태를 변경하는 동작, 및
상기 선택된 앱의 변경된 상태에 대응하는 상태 정보를 상기 외부 장치로 전송하는 동작을 포함하고,
상기 제어 신호는 상기 선택된 앱에 대한 입력의 좌표 정보를 포함하는, 방법.
In the operation method of the electronic device to store a plurality of apps (application),
Establishing a connection between the electronic device and an external device,
Transmitting the list of the plurality of apps to the external device,
Receiving an request to transmit the status information of the app from the external device, wherein the app is selected from the plurality of apps by the external device,
Transmitting status information of the selected app to the external device based on the transmission request,
Receiving a control signal for the selected app from the external device,
Changing the state of the selected app based on the control signal, and
And transmitting state information corresponding to the changed state of the selected app to the external device,
The control signal includes coordinate information of an input to the selected app.
제 7 항에 있어서,
상기 선택된 앱의 상태 정보는 상기 선택된 앱의 실행 화면을 포함하는, 방법.
The method of claim 7,
Method information of the selected app includes the execution screen of the selected app.
제 7 항에 있어서,
상기 제어 신호는 상기 선택된 앱의 실행을 재개(resuming)하기 위한 신호를 포함하는, 방법.
The method of claim 7,
The control signal includes a signal for resuming execution of the selected app.
제 7 항에 있어서,
상기 제어 신호는 상기 선택된 앱의 상태와 관련하여 상기 외부 장치에 저장된 메모리 정보를 포함하는, 방법.
The method of claim 7,
The control signal comprises memory information stored in the external device in relation to the state of the selected app.
제 7 항에 있어서,
상기 복수의 앱들은
웹 브라우저, 동영상 재생 앱, 게임 앱, 및 소셜 네트워크 서비스 앱 중에서 어느 하나 이상을 포함하는, 방법.
The method of claim 7,
The plurality of apps
A method comprising any one or more of a web browser, a video playback app, a game app, and a social network service app.
제 7 항에 있어서,
상기 복수의 앱들은 상기 외부 장치에서 실행 가능한, 방법.
The method of claim 7,
The plurality of apps are executable on the external device.
복수의 앱(application)들을 저장하는 전자 장치의 동작을 제어하기 위한 프로그램이 기록되어 있는 기록 매체에 있어서,
상기 기록 매체는, 상기 전자 장치가:
상기 전자 장치와 외부 장치의 연결을 수립(establish)하는 동작,
상기 복수의 앱들의 리스트를 상기 외부 장치로 전송하는 동작,
상기 외부 장치로부터 앱의 상태 정보의 전송 요청을 수신하되, 상기 앱은 상기 외부 장치에 의해 상기 복수의 앱들 중에서 선택된 것인 동작,
상기 전송 요청에 기반하여, 상기 선택된 앱의 상태 정보를 상기 외부 장치로 전송하는 동작,
상기 외부 장치로부터 상기 선택된 앱에 관한 제어 신호를 수신하는 동작,
상기 제어 신호에 기반하여 상기 선택된 앱의 상태를 변경하는 동작, 및
상기 선택된 앱의 변경된 상태에 대응하는 상태 정보를 상기 외부 장치로 전송하는 동작 동작을 하도록 하는 프로그램이 기록되어 있고,
상기 제어 신호는 상기 선택된 앱에 대한 입력의 좌표 정보를 포함하는, 기록 매체.
In the recording medium is recorded a program for controlling the operation of the electronic device for storing a plurality of apps (application),
The recording medium, the electronic device:
Establishing a connection between the electronic device and an external device,
Transmitting the list of the plurality of apps to the external device,
Receiving an request to transmit the status information of the app from the external device, wherein the app is selected from the plurality of apps by the external device,
Transmitting status information of the selected app to the external device based on the transmission request,
Receiving a control signal for the selected app from the external device,
Changing the state of the selected app based on the control signal, and
A program for performing an operation to transmit status information corresponding to the changed state of the selected app to the external device is recorded,
And the control signal includes coordinate information of an input to the selected app.
제 13 항에 있어서,
상기 선택된 앱의 상태 정보는 상기 선택된 앱의 실행 화면을 포함하는, 기록 매체.
The method of claim 13,
The status information of the selected app includes the execution screen of the selected app.
제 13 항에 있어서,
상기 제어 신호는 상기 선택된 앱의 실행을 재개(resuming)하기 위한 신호를 포함하는, 기록 매체.
The method of claim 13,
The control signal includes a signal for resuming execution of the selected app.
제 13 항에 있어서,
상기 제어 신호는 상기 선택된 앱의 상태와 관련하여 상기 외부 장치에 저장된 메모리 정보를 포함하는, 기록 매체.
The method of claim 13,
The control signal includes memory information stored in the external device in relation to the state of the selected app.
제 13 항에 있어서,
상기 복수의 앱들은
웹 브라우저, 동영상 재생 앱, 게임 앱, 및 소셜 네트워크 서비스 앱 중에서 어느 하나 이상을 포함하는, 기록 매체.
The method of claim 13,
The plurality of apps
A recording medium comprising one or more of a web browser, a video playback app, a game app, and a social network service app.
제 13 항에 있어서,
상기 복수의 앱들은 상기 외부 장치에서 실행 가능한, 기록 매체.
The method of claim 13,
The plurality of apps are executable on the external device, recording medium.
KR1020200039002A 2012-12-10 2020-03-31 Method and apparatus for executing application KR102118415B1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201261735200P 2012-12-10 2012-12-10
US61/735,200 2012-12-10

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020130047637A Division KR102097578B1 (en) 2012-12-10 2013-04-29 Method and apparatus for executing application

Publications (2)

Publication Number Publication Date
KR20200037185A true KR20200037185A (en) 2020-04-08
KR102118415B1 KR102118415B1 (en) 2020-06-03

Family

ID=51127799

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020130047637A KR102097578B1 (en) 2012-12-10 2013-04-29 Method and apparatus for executing application
KR1020200039002A KR102118415B1 (en) 2012-12-10 2020-03-31 Method and apparatus for executing application

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020130047637A KR102097578B1 (en) 2012-12-10 2013-04-29 Method and apparatus for executing application

Country Status (1)

Country Link
KR (2) KR102097578B1 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102306536B1 (en) * 2015-04-01 2021-09-29 삼성전자주식회사 System and method for providing widget
KR102430271B1 (en) 2015-07-14 2022-08-08 삼성전자주식회사 Method for operating electronic apparatus and electronic apparatus
KR102527330B1 (en) * 2015-09-17 2023-05-02 삼성전자주식회사 Input apparatus and the controlling method thereof
KR102275320B1 (en) * 2019-09-10 2021-07-09 주식회사 엔씨소프트 Method for sharing service and computing device for executing the method

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004265003A (en) * 2003-02-28 2004-09-24 Dainippon Printing Co Ltd Recognition server, program and recognition system
JP2005293240A (en) * 2004-03-31 2005-10-20 Fujitsu Ltd System for transferring information between terminals
KR20110113844A (en) * 2010-04-12 2011-10-19 엘지전자 주식회사 Mobile terminal and method for controlling thereof
KR20120049374A (en) * 2009-08-27 2012-05-16 네트 파워 앤드 라이트 인코포레이티드 A system and method for pervasive computing

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6957095B2 (en) 2001-10-04 2005-10-18 Kabushiki Kaisha Toshiba Imaging system for medical diagnosis

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004265003A (en) * 2003-02-28 2004-09-24 Dainippon Printing Co Ltd Recognition server, program and recognition system
JP2005293240A (en) * 2004-03-31 2005-10-20 Fujitsu Ltd System for transferring information between terminals
KR20120049374A (en) * 2009-08-27 2012-05-16 네트 파워 앤드 라이트 인코포레이티드 A system and method for pervasive computing
KR20110113844A (en) * 2010-04-12 2011-10-19 엘지전자 주식회사 Mobile terminal and method for controlling thereof

Also Published As

Publication number Publication date
KR102097578B1 (en) 2020-04-07
KR102118415B1 (en) 2020-06-03
KR20140074799A (en) 2014-06-18

Similar Documents

Publication Publication Date Title
KR102118415B1 (en) Method and apparatus for executing application
US11196781B2 (en) Application execution method and apparatus
US11829584B2 (en) Apparatus and methods for facilitating context handoff between devices in a cloud based wireless personal area network
JP6339263B2 (en) Transfer of state information between electronic devices
US10331202B2 (en) System and methods for content handoffs between devices
US11269487B2 (en) Method and apparatus for recommending content based on activities of a plurality of users
US20200128003A1 (en) Method, apparatus, and system for controlling intelligent device, and storage medium
US9906692B2 (en) Media stream sharing method and terminal
US9185742B2 (en) System and methods for a cloud based wireless personal area network service enabling context activity handoffs between devices
JP6588017B2 (en) Seamless call transition
US10675541B2 (en) Control method of scene sound effect and related products
EP3429176B1 (en) Scenario-based sound effect control method and electronic device
JP2016164769A (en) Method for implementing multi-screen by distributing plural screens and sharing input interface between user apparatuses, and user apparatuses for setting up as multi-screen
WO2022042233A1 (en) Application interface migration system, method, and related device
US9674686B2 (en) Apparatus and method for pairing mobile devices
US20120182981A1 (en) Terminal and method for synchronization
CN111367444A (en) Application function execution method and device, electronic equipment and storage medium
US20150089370A1 (en) Method and device for playing media data on a terminal
CN107015874B (en) Data transmission control method, device and terminal
US10853412B2 (en) Scenario-based sound effect control method and electronic device
KR101401526B1 (en) Method for sharing service profile between heterogeneous devices, mobile terminal, and recording medium thereof

Legal Events

Date Code Title Description
A107 Divisional application of patent
E701 Decision to grant or registration of patent right
GRNT Written decision to grant