KR20200037185A - Method and apparatus for executing application - Google Patents
Method and apparatus for executing application Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/041—Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction 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/04842—Selection of displayed objects or displayed text elements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/14—Digital output to display device ; Cooperation and interconnection of the display device with other functional units
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
Abstract
Description
본 명세서는 애플리케이션 실행 방법 및 장치에 관한 것이다.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
단말(200)은 외부 장치(400)와 연결된다. 단말(200)과 외부 장치(400) 사이의 연결은 예를 들어 근거리 통신 프로토콜을 이용하여 수립(establish)될 수 있다. 단말(200)은 외부 장치(400)로부터 접속 정보를 수신한다. 여기서 접속 정보는 외부 장치(500)에 접속하기 위해 필요한 정보이다. 접속 정보는 예를 들어 외부 장치(500)에 접속하기 위한 아이디, 비밀번호, 외부 장치(400)의 일련 번호 중 적어도 일부를 포함할 수 있다. The
단말(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
단말(200)은 단말(200)이 수행 중인 애플리케이션 중 어느 하나를 외부 장치(500)에게로 이전(transfer)할 것을 요청받을 수 있다. 애플리케이션을 외부 장치(500)에게로 이전하는 것을 "애플리케이션을 외부 장치(500)에 보존(store)한다"라고 표현할 수도 있다. 단말(200)은 애플리케이션을 이전할 것을 요청하는 이전 요청을 수신하면, 상기 애플리케이션의 실행 상태와 관련된 정보를 외부 장치(500)에게 송신한다. 애플리케이션의 실행 상태와 관련된 정보는 애플리케이션의 컨텍스트를 포함할 수 있다. 애플리케이션의 컨텍스트는 예를 들어 입력 좌표, 키보드 입력 정보, 파일 입출력(I/O), 데이터베이스(DB) 액세스 정보, 센서 데이터 및 해당 애플리케이션에 연관된 메모리 상태 중 적어도 일부를 포함할 수 있다. 애플리케이션의 실행 상태와 관련된 정보는 다른 장치에서 단말(200)의 애플리케이션의 실행 상태를 재현하는 데 충분한 정보가 되면 족하다. 대부분의 경우 실행 상태가 모두 메모리에 반영된다. 그러므로 애플리케이션의 실행 상태와 관련된 정보의 송신 과정은 해당 애플리케이션에 관련된 메모리 상태를 그대로 추출하여 외부 장치(500)에게 송신하는 방식으로 구현될 수 있다. 다른 실시 에에 따르면, 애플리케이션의 실행 상태와 관련된 정보의 송신 과정은 초기 상태를 재현할 수 있는 메모리 상태 및 그 초기 상태 이후 입력된 (터치/마우스 등) 입력의 좌표 및/또는 (가상 또는 물리) 키패드의 입력에 관한 정보를 외부 장치(500)에게 송신하는 방식으로 구현될 수 있다.The
애플리케이션의 실행 상태에 관한 정보를 수신한 외부 장치(500)는 이를 저장하고 추후 다른 단말(300)에게 전달할 수 있다. 다른 실시 예에 따르면 외부 장치(500)는 가상 장치를 생성하고 애플리케이션의 실행 상태에 관한 정보를 이용하여 상기 가상 장치 상에 해당 애플리케이션의 실행 상태를 재현할 수 있다. 이후 다른 단말(300)에게 해당 애플리케이션의 실행 상태의 화면을 송신하고, 다른 단말(300)을 통해 입력된 터치 입력 기타 입력을 전달받아 외부 장치(500) 상의 가장 장치에서 해당 입력을 처리하고, 그 이후 변경된 애플리케이션 화면을 다른 단말(300)에게 전달할 수 있다.The
단말(300)은 외부 장치(400)와 연결된다. 단말(300)과 외부 장치(400) 사이의 연결은 예를 들어 근거리 통신 프로토콜을 이용하여 수립(establish)될 수 있다. 단말(300)은 외부 장치(400)로부터 접속 정보를 수신한다. 여기서 접속 정보는 외부 장치(500)에 접속하기 위해 필요한 정보이다. 접속 정보는 예를 들어 외부 장치(500)에 접속하기 위한 아이디, 비밀번호, 액세스 토큰, 임시 접속 정보 및 외부 장치(400)의 일련 번호 중 적어도 일부를 포함할 수 있다. The
단말(300)은 수신한 접속 정보를 이용하여 외부 장치(500)에 접속할 수 있다. 단말(300)과 외부 장치(500) 사이의 연결은 유선 연결, 무선 연결 또는 유선 연결과 무선 연결이 혼합된 형태 중 어느 하나를 포함할 수 있다. 단말(300)과 외부 장치(500) 사이의 연결은 예를 들어 무선 랜 프로토콜, LTE 프로토콜, LET-A 프로토콜, WCDMA 프로토콜, GSM 프로토콜, TCP/IP 중 어느 하나 이상을 이용하여 구현될 수 있다.The terminal 300 may access the
단말(300)은 외부 장치(400) 및/또는 외부 장치(500)로부터 재개할 수 있는 애플리케이션의 목록을 전달받을 수 있다. 여기서 재개할 수 있는 애플리케이션은 예를 들어 단말(200)이 외부 장치(500)에게로 이전한 애플리케이션을 포함할 수 있다. 단말(300)은 상기 재개할 수 있는 애플리케이션의 목록 중 하나에 대한 선택 입력을 수신할 수 있다. The terminal 300 may receive a list of applications that can be resumed from the
본 명세서의 일 실시 예에 따르면 단말(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
본 명세서의 다른 실시 예에 따르면 단말(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
외부 장치(400)는 외부 장치(500)에 접속하기 위한 접속 정보를 보유 및/또는 저장할 수 있다. 외부 장치(400)는 접속 정보를 단말(200) 및/또는 단말(300)에게 제공할 수 있다. 또한 외부 장치(400)는 이전된 애플리케이션의 목록을 저장할 수 있다. 상술한 과정에 따라 애플리케이션이 외부 장치(500)에게 이전되는 경우 외부 장치(400)는 애플리케이션이 이전되었음을 통보받고, 외부 장치(400)가 보유한 이전된 애플리케이션의 목록을 통보에 따라 변경한다. 또한 외부 장치(400)가 보유한 애플리케이션이 다른 단말(300)에게로 이동하는 경우 외부 장치(400)는 외부 장치(400)가 보유한 이전된 애플리케이션의 목록으로부터 해당 애플리케이션을 삭제한다.The
도 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
도 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
무선통신부(210)는 단말(200)의 무선 통신을 위한 데이터 및 기타 신호의 송수신 기능을 수행한다. 무선통신부(210)는 송신되는 신호의 주파수를 상승 변환 및 증폭하는 RF(Radio Frequency)송신기와, 수신되는 신호를 저 잡음 증폭하고 주파수를 하강 변환하는 RF수신기 및 기타 유사한 통신 모듈 중 하나 이상을 포함할 수 있다. 또한, 무선통신부(210)는 무선 채널을 통해 데이터를 수신하여 제어부(260)에게 출력할 수 있다. 무선통신부(210)는 제어부(260)로부터 출력된 데이터를 무선 채널을 통해 전송할 수 있다. 무선 통신 대신 유선 통신을 이용하는 단말의 경우 무선통신부(210) 대신 유선통신부를 포함할 수도 있다. 무선통신부 및 유선통신부를 통틀어 통신부(Communication Unit)이라고 칭한다.The
특히 본 명세서의 일 실시 예에 따르는 무선통신부(210)는 외부 장치(400)와 연결하여 외부 장치(400)로부터 외부 장치(500)에 접속하는 데 필요한 접속 정보를 수신할 수 있다. 무선통신부(210)는 접속 정보를 이용하여 외부 장치(500)에 접속하고, 선택된 애플리케이션의 실행 상태에 관한 정보를 외부 장치(500)에게 송신할 수 있다.In particular, the
무선통신부(210)는 외부 장치(400)에 연결하기 위해 근거리 통신(Short Range Communication)을 이용할 수 있다. 이를 위해 무선통신부(210)는 근거리 통신 모듈을 포함할 수 있다. 근거리 통신 모듈은 예를 들어 블루투스 및/또는 NFC 통신을 지원할 수 있다.The
오디오처리부(220)는 디지털 오디오 신호를 오디오 코덱을 통해 아날로그 오디오 신호로 변환하여 스피커(SPK)를 통해 재생한다. 오디오처리부(220)는 마이크(MIC)로부터 입력되는 아날로그 오디오 신호를 오디오 코덱을 통해 디지털 오디오 신호로 변환한다. 오디오처리부(220)는 코덱(CODEC)을 포함할 수 있다. 코덱은 패킷 데이터 등을 처리하는 데이터 코덱과 음성 등의 오디오 신호를 처리하는 오디오 코덱을 포함할 수 있다. 오디오 처리가 불필요한 경우 오디오처리부(220)가 생략될 수 있다.The
입력부(231)는 사용자의 입력을 감지하여 그에 상응하는 신호를 제어부(260)에게 전달한다. 입력부(231)는 터치 센서 및/또는 키 입력부를 포함할 수 있다. 터치센서는 사용자의 터치 입력을 감지한다. 터치센서는 정전용량 방식(capacitive overlay), 압력식 저항막 방식(resistive overlay), 적외선 감지 방식(infrared beam) 등의 터치 감지 센서로 구성되거나, 압력 감지 센서(pressure sensor)로 구성될 수도 있다. 상기 센서들 이외에도 물체의 접촉 또는 압력을 감지할 수 있는 모든 종류의 센서 기기가 본 명세서의 일 실시 예에 따르는 터치센서를 구현할 수 있다. 터치센서는 사용자의 터치 입력을 감지하고, 감지 신호를 발생시켜 제어부(260)에게로 전송한다. 상기 감지 신호에는 사용자가 터치를 입력한 좌표 데이터가 포함된다. 사용자가 터치 위치 이동 동작을 입력한 경우에 터치센서는 터치 위치 이동 경로의 좌표 데이터를 포함한 감지 신호를 발생시켜 제어부(260)에게로 전송한다. The
키 입력부는 단말(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
키 입력부 및 터치센서는 모두 사용자의 입력을 수신하여 제어부(260)에게로 전달하는 역할을 한다. The key input unit and the touch sensor both serve to receive a user input and transmit it to the
특히, 입력부(231)는 본 명세서의 실시 예에 따라 외부 장치(500)에게로 이전할 애플리케이션을 선택하는 선택 입력을 감지하여 제어부(260)에게로 전송할 수 있다.In particular, the
본 명세서의 단말(200)은 상기와 같이 터치센서를 포함하여 구성될 수 있지만, 이하에서 기술되는 본 명세서의 실시 예가 반드시 터치센서를 구비하는 단말(200)에만 적용되는 것은 아님에 유의하여야 한다. It should be noted that the
표시부(232)는 단말(200)의 메뉴, 입력된 데이터, 기능 설정 정보 및 기타 다양한 정보를 사용자에게 시각적으로 제공할 수 있다. 표시부(232)는 액정표시장치(LCD, Liquid Crystal Display), 유기 발광 다이오드(OLED, Organic Light Emitting Diodes), 능동형 유기 발광 다이오드(AMOLED, Active Matrix Organic Light Emitting Diodes) 등으로 형성될 수 있으며, 표시부(232)는 단말(200)의 부팅 화면, 대기 화면, 메뉴 화면, 통화 화면, 기타 애플리케이션 화면을 출력하는 기능을 수행한다. 특히 표시부(232)는 외부 장치(500)에게로 이전할 애플리케이션을 선택할 수 있도록 하는 인터페이스를 표시할 수 있다.The
저장부(250)는 단말(200)의 동작에 필요한 프로그램 및 데이터를 저장하는 역할을 수행한다. 저장부(250)는 프로그램 영역과 데이터 영역으로 구분될 수 있다. 프로그램 영역은 단말(200)의 전반적인 동작을 제어하는 프로그램 및 단말(200)를 부팅시키는 운영체제(OS, Operating System), 멀티미디어 컨텐츠 재생 등에 필요한 응용 프로그램, 단말(200)의 기타 옵션 기능, 예컨대, 카메라 기능, 소리 재생 기능, 이미지 또는 동영상 재생 기능에 필요한 응용 프로그램 등을 저장할 수 있다. 데이터 영역은 단말(200)의 사용에 따라 발생하는 데이터가 저장되는 영역으로서, 이미지, 동영상, 폰 북, 오디오 데이터 등을 저장할 수 있다. 특히 저장부(250)는 외부 장치(400)로부터 수신한 접속 정보를 임시적으로, 또는 반영구적으로 저장할 수 있다. 접속 정보는 추후 외부 장치(500)에 접속하기 위해 사용될 수 있다.The
제어부(260)는 단말(200)의 각 구성 요소에 대한 전반적인 동작을 제어한다. 특히, 제어부(260)는 입력부의 입력을 수신하여 그에 따라 표시부(232)를 제어할 수 있다. The
도 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
무선통신부(310)는 단말(300)의 무선 통신을 위한 데이터 및 기타 신호의 송수신 기능을 수행한다. 무선통신부(310)는 송신되는 신호의 주파수를 상승 변환 및 증폭하는 RF(Radio Frequency)송신기와, 수신되는 신호를 저 잡음 증폭하고 주파수를 하강 변환하는 RF수신기 및 기타 유사한 통신 모듈 중 하나 이상을 포함할 수 있다. 또한, 무선통신부(310)는 무선 채널을 통해 데이터를 수신하여 제어부(360)에게 출력할 수 있다. 무선통신부(310)는 제어부(360)로부터 출력된 데이터를 무선 채널을 통해 전송할 수 있다. 무선 통신 대신 유선 통신을 이용하는 단말의 경우 무선통신부(310) 대신 유선통신부를 포함할 수도 있다. 무선통신부 및 유선통신부를 통틀어 통신부(Communication Unit)이라고 칭한다.The
특히 본 명세서의 일 실시 예에 따르는 무선통신부(310)는 외부 장치(400)와 연결하여 외부 장치(400)로부터 외부 장치(500)에 접속하는 데 필요한 접속 정보를 수신할 수 있다. 무선통신부(310)는 접속 정보를 이용하여 외부 장치(500)에 접속할 수 있다. 무선통신부(310)는 외부 장치(400) 및/또는 외부 장치(500)로부터 재개할 수 있는 애플리케이션의 목록을 수신할 수 있다. 어떤 애플리케이션이 재개되도록 선택되는 경우 무선통신부(310)는 외부 장치(500)로부터 애플리케이션의 실행 상태에 관한 정보 및/또는 애플리케이션의 실행 화면을 수신할 수 있다.In particular, the
무선통신부(310)는 외부 장치(400)에 연결하기 위해 근거리 통신(Short Range Communication)을 이용할 수 있다. 이를 위해 무선통신부(310)는 근거리 통신 모듈을 포함할 수 있다. 근거리 통신 모듈은 예를 들어 블루투스 및/또는 NFC 통신을 지원할 수 있다.The
오디오처리부(320)는 디지털 오디오 신호를 오디오 코덱을 통해 아날로그 오디오 신호로 변환하여 스피커(SPK)를 통해 재생한다. 오디오처리부(320)는 마이크(MIC)로부터 입력되는 아날로그 오디오 신호를 오디오 코덱을 통해 디지털 오디오 신호로 변환한다. 오디오처리부(320)는 코덱(CODEC)을 포함할 수 있다. 코덱은 패킷 데이터 등을 처리하는 데이터 코덱과 음성 등의 오디오 신호를 처리하는 오디오 코덱을 포함할 수 있다. 오디오 처리가 불필요한 경우 오디오처리부(320)가 생략될 수 있다.The
입력부(331)는 사용자의 입력을 감지하여 그에 상응하는 신호를 제어부(360)에게 전달한다. 입력부(331)는 터치 센서 및/또는 키 입력부를 포함할 수 있다. 터치센서는 사용자의 터치 입력을 감지한다. 터치센서는 정전용량 방식(capacitive overlay), 압력식 저항막 방식(resistive overlay), 적외선 감지 방식(infrared beam) 등의 터치 감지 센서로 구성되거나, 압력 감지 센서(pressure sensor)로 구성될 수도 있다. 상기 센서들 이외에도 물체의 접촉 또는 압력을 감지할 수 있는 모든 종류의 센서 기기가 본 명세서의 일 실시 예에 따르는 터치센서를 구현할 수 있다. 터치센서는 사용자의 터치 입력을 감지하고, 감지 신호를 발생시켜 제어부(360)에게로 전송한다. 상기 감지 신호에는 사용자가 터치를 입력한 좌표 데이터가 포함된다. 사용자가 터치 위치 이동 동작을 입력한 경우에 터치센서는 터치 위치 이동 경로의 좌표 데이터를 포함한 감지 신호를 발생시켜 제어부(260)에게로 전송한다. The
키 입력부는 단말(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
키 입력부 및 터치센서는 모두 사용자의 입력을 수신하여 제어부(360)에게로 전달하는 역할을 한다. The key input unit and the touch sensor both serve to receive a user input and transmit it to the
특히, 입력부(331)는 본 명세서의 실시 예에 따라 재개할 애플리케이션을 선택하는 선택 입력을 감지하여 제어부(360)에게로 전송할 수 있다.In particular, the
본 명세서의 단말(300)은 상기와 같이 터치센서를 포함하여 구성될 수 있지만, 이하에서 기술되는 본 명세서의 실시 예가 반드시 터치센서를 구비하는 단말(300)에만 적용되는 것은 아님에 유의하여야 한다. It should be noted that the
표시부(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
저장부(350)는 단말(300)의 동작에 필요한 프로그램 및 데이터를 저장하는 역할을 수행한다. 저장부(350)는 프로그램 영역과 데이터 영역으로 구분될 수 있다. 프로그램 영역은 단말(300)의 전반적인 동작을 제어하는 프로그램 및 단말(300)를 부팅시키는 운영체제(OS, Operating System), 멀티미디어 컨텐츠 재생 등에 필요한 응용 프로그램, 단말(300)의 기타 옵션 기능, 예컨대, 카메라 기능, 소리 재생 기능, 이미지 또는 동영상 재생 기능에 필요한 응용 프로그램 등을 저장할 수 있다. 데이터 영역은 단말(300)의 사용에 따라 발생하는 데이터가 저장되는 영역으로서, 이미지, 동영상, 폰 북, 오디오 데이터 등을 저장할 수 있다. 특히 저장부(350)는 외부 장치(400)로부터 수신한 접속 정보를 임시적으로, 또는 반영구적으로 저장할 수 있다. 접속 정보는 추후 외부 장치(500)에 접속하기 위해 사용될 수 있다.The
제어부(360)는 단말(300)의 각 구성 요소에 대한 전반적인 동작을 제어한다. 특히, 제어부(360)는 입력부의 입력을 수신하여 그에 따라 표시부(332)를 제어할 수 있다. The
도 4는 본 명세서의 일 실시 예에 따르는 외부 장치(400)의 블록구성도이다. 4 is a block diagram of an
외부 장치(400)는 통신부(410), 저장부(450) 및 제어부(460)를 포함한다.The
통신부(410)는 단말(200) 및/또는 단말(300)과 접속하여 단말(200) 및/또는 단말(300)에게 접속 정보를 송신한다. 접속 정보는 단말(200) 및/또는 단말(300)이 외부 장치(500)에 접속하기 위한 정보이다. 예를 들면 통신부(410)는 외부 장치(400)과 단말(200) 사이의 거리가 일정 거리 이내가 되어 근거리 무선 통신을 수행하기에 충분한 정도의 신호 세기를 감지하면 단말(200)과 연결하고 단말(200)에게 접속 정보를 송신할 수 있다. 다른 실시 예에 따르면 통신부(410)는 단말(200)로부터 별도의 연결 요청이 있을 때에만 단말(200)과 접속하고, 단말(200)로부터 별도의 접속 정보 제공 요청이 있을 때에만 단말(200)에게 접속 정보를 송신할 수도 있다. 또 다른 실시 예에 따르면 통신부(410)는 외부 장치(400)가 구비한 별도의 전자적/기계적 입력부를 통한 입력에 따라 단말(200)과 연결하고 단말(200)에게 접속 정보를 송신할 수 있다.The
저장부(450)는 접속 정보를 저장한다. 접속 정보는 단말(200) 및/또는 단말(300)이 외부 장치(500)에 접속하기 위한 정보이다.The
제어부(460)는 도 2 및 도 6a 내지 도 8을 참조하여 설명되는 실시 예들 중 적어도 일부에 따라 외부 장치(400)가 동작하도록 외부 장치(400)의 각 구성부를 제어한다.The
외부 장치(400)는 예를 들어 스타일러스 펜의 형태로 구현될 수 있다. 다른 실시 예에 따르면 외부 장치(400)는 스타일러스 펜은 아니지만, 단말(200) 또는 단말(300)에 터치입력을 하기에 편리한 첨단부, 즉 뾰족한 모양의 구성부를 구비할 수도 있다.The
외부 장치(400)는 단말(200) 및/또는 단말(300)의 입력부와 상호작용하여 효과적으로 입력작업을 수행할 수 있는 전자기적 신호 발생 장치 및/또는 전자기적 신호 감지 장치를 더 포함할 수도 있다.The
도 5는 본 명세서의 일 실시 예에 따르는 외부 장치(500)의 블록구성도이다.5 is a block diagram of an
도 5를 참조하면, 외부 장치(500)는 통신부(510), 제어부(560) 및 저장부(550)를 포함한다. Referring to FIG. 5, the
통신부(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
외부 장치(500)는 예를 들어 클라우드 서버의 형태로 구현될 수 있다.The
단말들(200, 300) 및 외부 장치들(400, 500)의 구체적인 동작에 대해서는 도 6a 내지 도 8을 참조하여 후술한다.Detailed operations of the
도 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
단계 605에서 단말(200)은 애플리케이션을 실행하기 시작한다. 애플리케이션은 예를 들어 웹 브라우저, 동영상 재생 애플리케이션, 게임 및 소셜 네트워크 서비스 애플리케이션 중 어느 하나 이상을 포함할 수 있다. 애플리케이션의 실행 시작은 사용자의 명시적인 실행 명령에 의해 수행될 수도 있고, 단말(200) 환경의 변화, 또는 미리 설정된 스케줄에 따라 애플리케이션이 실행 시작될 수도 있다. 일부 애플리케이션은 단말(200)의 부팅과 함께, 또는 부팅이 완료되면 자동적으로 수행될 수도 있다.In
단계 610에서 단말(200)은 애플리케이션의 컨텍스트를 저장한다. 단말(200)은 예를 들어 애플리케이션의 컨텍스트를 실시간적으로, 또는 주기적으로 저장할 수 있다. 여기서 애플리케이션의 컨텍스트는 애플리케이션에 대해 입력된 입력 신호에 관한 정보를 포함할 수 있다. 예를 들어 단말(200)이 터치스크린을 구비한 경우 애플리케이션이 활성화된 상태에서 입력된 터치 좌표가 저장될 수 있다. 터치 좌표의 저장 과정은 애플리케이션의 수행 과정 내내 반복될 수도 있다. 애플리케이션의 컨텍스트는 단말(200)의 컨텍스트, 예를 들어 화면의 해상도 정보를 더 포함할 수 있다. 애플리케이션 컨텍스트는 애플리케이션에 연관된 메모리 상태 정보를 포함할 수 있다.In
변형 예에 따르면, 애플리케이션 컨텍스트 중 터치 좌표는 생략될 수 있다. 이 경우 메모리 상태만으로 해당 애플리케이션의 실행 상태가 외부 장치(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
단계 615에서 단말(200)과 외부 장치(400) 사이의 통신이 연결된다. 외부 장치(400), 예를 들어 스타일러스 펜이 단말(200)과 근거리 무선통신을 할 수 있는 상태가 되면 단말(200)이 외부 장치(400)과의 근거리 통신 연결을 수립할 수 있다. 변형 예에 따르면, 단계 620의 애플리케이션의 이전 명령(지시)를 수신한 경우에만 연결 과정(615)이 수행될 수 있다.In step 615, communication between the terminal 200 and the
단계 620에서 단말(200)의 입력부(231)는 특정 애플리케이션을 외부 장치(500)에게로 이전할 것을 지시하는 지시 입력를 수신한다. 사용자는 단순히 애플리케이션의 실행 중인 화면을 외부 장치(400)를 이용해, 또는 기타 방법으로 선택하여 애플리케이션을 외부 장치(500)에게로 이동할 것을 지시할 수 있다. 변형 예에 따르면, 외부 장치(400)에 구비된 기계적 및/또는 전기적 입력부를 통해 외부 장치(500)에게로 이전할 애플리케이션을 선택하는 지시 입력임을 입력하고, 이후 애플리케이션의 실행 중인 화면을 선택하여 애플리케이션을 외부 장치(500)에게로 이동할 것을 지시할 수 있다. 이 경우 외부 장치(400)는 기계적 및/또는 전기적 입력부를 통해 입력된 신호에 따라 이후의 선택이 이전할 애플리케이션을 선택하는 지시 입력임을 지시하는 지시 정보를 단말(200)에게 전달할 수 있다. 또 다른 변형 예에 따르면 단말(200)의 메뉴/기능 선택을 통해 이전할 애플리케이션을 선택하는 기능을 활성화 한 뒤 애플리케이션의 실행 중인 화면을 선택하여 애플리케이션을 외부 장치(500)에게로 이동할 것을 지시할 수도 있다.In
변형 예에 따르면 단말(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
도 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
도 7b를 참조하면 단말(200)에서 웹 브라우저가 실행 중이다. 사용자는 웹 브라우저 화면의 아무 곳이나 선택하는 방식으로 웹 브라우저 애플리케이션을 외부 장치(500)에게로 이전할 것을 지시할 수 있다. 변형 예에 따르면 단말(200)은 탭 브라우징을 지원하는 웹 브라우저의 특정 탭에 대한 선택을 수신하면 해당 탭에 대한 실행 정보만을 외부 장치(500)에게로 이전할 것을 지시하는 것으로 해석할 수도 있다. 이 경우 단말(200)은 웹 브라우저 중 해당 탭에 관한 애플리케이션 실행 상태에 관한 정보, 예를 들어 웹 페이지 주소와 전체 페이지 중 표시되고 있는 부분의 좌표 정보 등을 외부 장치(500)에게 송신할 수 있다.Referring to FIG. 7B, a web browser is running on the
도 7c를 참조하면 단말(200)에서 게임 애플리케이션이 실행 중이다. 사용자는 외부 장치(400)를 이용해, 또는 기타 방법으로 화면의 아무 곳이나 선택하는 방식으로 게임 애플리케이션을 외부 장치(500)에게로 이전할 것을 지시할 수 있다.Referring to FIG. 7C, a game application is running on the
도 7d를 참조하면, 단말(200)에서 동영상 애플리케이션이 실행 중이다. 사용자는 외부 장치(400)를 이용해, 또는 기타 방법으로 화면의 아무 곳이나 선택하는 방식으로 동영상 애플리케이션을 외부 장치(500)에게로 이전할 것을 지시할 수 있다. 변형 예에 따르면 사용자는 동영상 목록 중 특정한 동영상을 선택할 수 있고, 이 경우 선택된 동영상에 관한 컨텍스트, 예를 들어 해당 동영상, 또는 해당 동영상이 포함된 페이지의 URL을 외부 장치(500)에게로 전달할 수 있다. 외부 장치(500)는 가상 장치를 이용해 해당 동영상 애플리케이션을 실행하고 해당 애플리케이션의 상태를 해당 동영상의 재생 상태, 또는 재생을 시작할 수 있는 인터페이스 화면을 제공하는 상태로 만들 수 있다.Referring to FIG. 7D, a video application is running on the
도 7e를 참조하면 단말(200)이 실행 중인 애플리케이션의 목록(791, 792, 793)이 표시된다. 사용자는 이들 중 특정 애플리케이션을 선택하여 해당 애플리케이션을 외부 장치(500)에게로 이전할 것을 지시할 수 있다.Referring to FIG. 7E, a list of
도 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
단계 630에서 단말(200)의 무선 통신부(210)(또는 통신부)는 접속 정보를 이용해 외부 장치(500)에 접속한다. 만약 접속 정보가 잘못되거나 통신 상태가 불량하여 접속에 실패하는 경우 실패 메시지를 표시하고 과정이 종료된다.In step 630, the wireless communication unit 210 (or communication unit) of the terminal 200 accesses the
단계 635에서 단말(200)의 무선 통신부(210)는 이전해야 하는 애플리케이션의 컨텍스트를 외부 장치(500)에게 전달한다. 애플리케이션 컨텍스트는 예를 들어 애플리케이션의 실행 상태를 재현하는 데 충분한 메모리 상태 정보를 포함할 수 있다. 변형 예에 따르면 애플리케이션 컨텍스트는 단말(200)에서 애플리케이션이 수행되는 도중 입력된 입력 신호들에 관한 정보를 포함할 수 잇다. 애플리케이션 컨텍스트는 단말(200)의 해상도 정보를 더 포함할 수 있다.In step 635, the
단계 640에서 외부 장치(500)는 수신한 애플리케이션 컨텍스트를 처리한다. 예를 들어 제1 실시 예에 따르면 외부 장치(500)는 수신한 애플리케이션 컨텍스트를 저장해 두었다가 단말(300)로부터 요청을 수신하면 저장된 애플리케이션 컨텍스트를 단말(300)에게 전달할 수 있다. 제2 실시 예에 따르면 외부 장치(500)는 외부 장치(500) 내에 가상 장치를 생성할 수 있다. 외부 장치(500)는 수신한 애플리케이션 컨텍스트를 이용해 가상 장치 상에 해당 애플리케이션을 실행하고 단말(200)이 실행 중이던 애플리케이션의 실행 상태를 가상 장치 상에서 복원할 수 있다. 이후 단말(300)로부터 애플리케이션의 화면을 요청받으면 외부 장치(500)의 통신부(510)는 단말(300)에게 애플리케이션의 화면을 반복적으로, 또는 화면의 변경이 있을 때마다 제공할 수 있다. In
도 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
단계 650에서 애플리케이션의 재개 기능이 선택된다. 변형 예에 따르면 단계 650은 생략될 수도 있다.In
단계 655에서 외부 장치(400)는 단말(300)에게 접속 정보를 제공한다. 접속 정보는 외부 장치(500)에 접속하기 위해 필요한 정보이며, 도 6a의 단계 625에서 설명된 접속 정보와 동일하다.In step 655, the
단계 660에서 단말(300)은 접속 정보를 이용해 외부 장치(500)에 접속한다. 단계 665에서 단말(300)은 재개할 수 있는 애플리케이션의 목록, 즉 외부 장치(500)가 보유하고 있는 애플리케이션의 목록을 외부 장치(500)로부터 수신한다. 외부 장치(500)는 당연히 자신이 보유한 애플리케이션의 목록을 확보할 수 있다. 변형 예에 따르면 단말(300)은 외부 장치(500)가 보유하고 있는 애플리케이션의 목록을 외부 장치(400)로부터 수신할 수도 있다. 이 경우 외부 장치(400)는 애플리케이션이 이전될 때 해당 이전에 관한 정보를 단말(200)로부터 통보받고, 외부 장치(500)에게로 이전된 애플리케이션의 목록을 유지하여야 한다.In step 660, the terminal 300 accesses the
단계 670에서 단말(300)은 사용자에게 재개할 애플리케이션을 선택할 수 있는 인터페이스를 제공하고 재개할 애플리케이션의 선택을 수신한다. In
도 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
도 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
단계 685에서 단말(300)의 제어부는 수신한 애플리케이션 컨텍스트를 이용하여 애플리케이션을 재개할 수 있다.In
도 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
단계 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
단계 660 및 670의 과정은 도 6b를 참조하여 상술한 것과 동일하므로 여기서는 자세한 설명을 생략한다.The process of
단계 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
단계 692에서 외부 장치(500)는 획득된 애플리케이션 화면을 단말(300)에게 제공한다.In
단계 693에서 단말(300)은 수신한 애플리케이션 실행 화면을 표시한다. 외부 장치(500)는 애플리케이션의 실행 화면을 실시간적으로, 반복적으로 또는 화면의 변경이 있을 때마다 단말(300)에게 송신하여 단말(300)이 실행 화면을 갱신하도록 할 수 있다.In step 693, the terminal 300 displays the received application execution screen. The
애플리케이션의 실행 화면이 표시되는 도중 단말(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
도 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
도 9a 및 도 9b를 참조하면 단말(200)은 운영 체제 계층(901) 및 프레임워크 계층(902)을 포함한다. 외부 장치(500)는 프레임워크 계층(903) 및 애플리케이션 계층(904)을 포함한다. 도 9b를 참조하면 단말(300)은 운영 체제 계층(905) 및 프레임워크 계층(906)을 포함한다.9A and 9B, the terminal 200 includes an
도 9a를 참조하면, 단계 910에서 애플리케이션 실행이 수행된다. 단계 910은 단계 912, 914 및 916을 포함할 수 있다.9A, application execution is performed in
단계 912에서 단말(200)의 운영 체제 계층(901)은 프레임워크 계층(902)에게 애플리케이션의 실행 및 동작에 관한 명령 및/또는 요청을 송신한다. 단계 914에서 프레임워크 계층(902)은 해당 애플리케이션 실행 도중 해당 애플리케이션의 컨텍스트를 저장한다. 애플리케이션의 컨텍스트는 예를 들어 해당 애플리케이션에 대하여 적용된 입력 좌표, 키보드 입력 정보, 파일 입출력(I/O), 데이터베이스(DB) 액세스 정보, 센서 데이터 및 해당 애플리케이션에 연관된 메모리 상태 중 적어도 일부를 포함할 수 있다. 애플리케이션의 컨텍스트는 외부 장치(500)의 가상 장치에서 해당 애플리케이션의 실행 상태를 재현하기 위해 활용될 수 있다.In
단계 916에서, 단말(200)의 프레임워크 계층(902)은 외부 장치(500)의 프레임워크 계층(903)과 애플리케이션 컨텍스트를 동기화할 수 있다. 예를 들어 단말(200)의 프레임워크 계층(902)은 외부 장치(500)의 프레임워크 계층(903)에게 단계 914에서 저장된 애플리케이션 컨텍스트를 송신하고 외부 장치(500)의 프레임워크 계층(903)은 수신한 애플리케이션 컨텍스트를 저장해 둘 수 있다. 외부 장치(500)와 단말(200) 사이의 연결이 유지되지 않는 경우 추후 외부 장치(500)와 단말(200) 사이의 연결이 이뤄진 뒤에 단계 916의 애플리케이션 컨텍스트를 동기화가 수행될 수 있다.In
단계 920에서 가상 장치 초기화가 수행된다. 단계 920은 단계 922, 924, 926, 928, 930, 932, 934 및 936을 포함할 수 있다.In
단계 922에서 외부 장치(400) 예를 들어 스타일러스 펜과 단말(200)의 운영 체제(901) 사이의 연결이 수립된다. 예를 들어 단말(200)의 운영 체제(901)가 외부 장치(400)의 근거리 통신(short range communication) 신호를 감지하면 단말(200)의 운영 체제(901)는 외부 장치(400)와의 근거리 통신 연결을 시도하여 근거리 통신 연결을 수립할 수 있다. 변형 예에 따르면, 반대로 외부 장치(400)가 단말(200)의 근거리 통신 신호를 감지하면 외부 장치(400)가 단말(200)과의 근거리 통신 연결을 시도하여 근거리 통신 연결을 수립할 수 있다.In
연결 이후 단계 924에서 외부 장치(400)는 외부 장치(400)가 보유한 접속 정보 및/또는 사용자 프로필을 단말(200)의 운영 체제(901)에게 전달한다. 접속 정보는 단말(200)이 외부 장치(500)에 접속하기 위한 정보이다. 단말(200)이 외부 장치(500)에 이미 접속해 있는 경우 접속 정보의 전달은 생략될 수 있다. 사용자 프로필은 예를 들어 외부 장치(500)가 외부 장치(400)를 식별하기 위한 정보를 포함할 수 있다. 사용자 프로필은 이후의 단계 (928, 946, 954)에서 전달되는 요청이 어느 외부 장치(400)와 연관된 정보인지를 표시하기 위해 활용될 수 있다. After the connection, in
단계 926에서 단말(200)의 운영 체제 계층(901)은 단말(200)의 프레임워크 계층(902)에게 가상 장치 생성 요청을 전달한다. 가상 장치 생성 요청은 예를 들어 단계 924에서 획득한 접속 정보 및/또는 프로필을 포함할 수 있다. 가상 장치 생성 요청은 단말(200)의 해상도 기타 단말 성능(capability)에 관한 정보를 더 포함할 수 있다.In
단계 928에서 단말(200)의 프레임워크 계층(902)은 가상 장치 관련 정보를 외부 장치(500)의 프레임워크 계층(903)에게 전달한다. 가상 장치 관련 정보의 전달은 가상 장치의 생성의 요청으로 해석될 수 있다. 가상 장치 관련 정보는 단계 924에서 전달된 사용자 프로필 및/또는 단계 926에서 전달된 해상도 기타 단말 성능(capability)에 관한 정보 중 적어도 일부를 포함할 수 있다. 만약 단계 916이 생략되거나, 전달되지 않은 애플리케이션 컨텍스트가 있다면 단계 928에서 애플리케이션 컨텍스트가 전달될 수도 있다.In
단계 930에서 외부 장치(500)의 프레임워크 계층(903)은 수신한 가상 장치 관련 정보에 따라 가상 장치를 생성한다. 생성된 가상 장치는 단말(200)의 구성, 성능과 연관성을 가진다. In
단계 932, 단계 934에서 가상 장치 생성 응답이 외부 장치의 프레임워크 계층(903)으로부터 단말(200)의 프레임워크 계층(902)을 거쳐 단말(200)의 운영 체제계층(901)에게로 전달된다. 가상 장치 생성 응답은 외부 장치(500) 내에 가상 장치가 생성되었음을 알리는 메시지이다. 가상 장치 생성 응답은 가상 장치의 해상도 및/또는 기타 성능에 관한 정보를 포함할 수 있다. 단계 936에서 단말(200)의 운영 체제 계층(901)은 외부 장치(400)에게 가상 장치 생성 정보를 전달한다. 가상 장치 생성 정보는 외부 장치(500) 내에 가상 장치가 생성되었음을 알리는 지시자, 가상 장치의 해상도 및 기타 성능에 관한 정보 중 적어도 일부를 포함할 수 있다. 외부 장치(400)가 가상 장치에 관한 정보를 획득할 필요가 없다면 단계 936은 생략될 수 있다.In
도 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
단계 942에서 외부 장치(400)는 운영 체제(901)에게 외부 장치(500)에게로 이전될 애플리케이션을 선택하는 선택 입력을 전달한다. 선택 입력은 터치 스크린을 선택하는 방식으로 수행될 수 있다. 외부 장치(500)로 이전될 애플리케이션을 선택하는 입력이 반드시 외부 장치(400)를 통해 이루어져야 하는 것은 아니고 사용자가 손가락을 이용해 단말(200)의 터치스크린을 터치하거나 단말(200)의 물리적 키를 누르는 방식으로도 선택이 수행될 수 있다. 이러한 선택을 위해 상술한 도 7a 내지 도 7e 중 어느 하나, 또는 이와 유사한 인터페이스가 제공될 수 있다.In
단계 944에서 단말(200)의 운영 체제 계층(901)은 단말(200)의 프레임워크 계층(902)에게 선택된 애플리케이션의 재현 요청을 전달한다. In
단계 946에서 단말(200)의 프레임워크 계층(902)은 외부 장치(500)의 프레임워크 계층(903)에게 선택된 애플리케이션의 재현 요청을 송신한다. 선택된 애플리케이션의 재현 요청은 선택된 애플리케이션에 대한 컨텍스트에 따라 해당 애플리케이션의 실행 상태를 외부 장치(500)에서 재현할 것을 요청하는 메시지이다. 해당 애플리케이션의 컨텍스트가 전달되지 않은 경우, 단계 946에서 해당 애플리케이션의 컨텍스트가 프레임워크 계층(902)로부터 외부 장치(500)의 프레임워크 계층(903)에게 전달될 수 있다. In
단계 948에서 외부 장치(500)의 프레임워크 계층(902)은 외부 장치(500)의 가상 장치 상에 해당 애플리케이션을 실행하고, 해당 애플리케이션의 컨텍스트를 적용한다. 예를 들어 애플리케이션 컨텍스트에 포함된 터치입력 기타 입력을 가상 장치 상의 애플리케이션에 대하여 적용된다.In
단계 950에서 외부 장치(400)는 단말(300)의 운영 체제 계층(905)에게 단말(300)의 화면에서 재현할 애플리케이션을 선택 입력을 전달한다. 선택 입력은 터치 스크린을 선택하는 방식으로 수행될 수 있다. 재현될 애플리케이션을 선택하는 입력이 반드시 외부 장치(400)를 통해 이루어져야 하는 것은 아니고 사용자가 손가락을 이용해 단말(300)의 터치스크린을 터치하거나 단말(300)의 물리적 키를 누르는 방식으로도 선택이 수행될 수 있다. 이러한 선택을 위해 상술한 도 8 또는 이와 유사한 인터페이스가 제공될 수 있다. 외부장치(400) 및/또는 외부장치(500)는 단말(300)에게 선택 가능한 애플리케이션의 리스트를 제공할 수 있다.In
단계 922의 연결과 유사하게, 외부 장치(400)가 이동하여 단말(300) 근처에 위치하면, 외부 장치(400)와 단말(300) 간의 근거리 통신 연결이 자동적으로 수립될 수 있다. 마찬가지로 단계 924의 정보 송신과 유사하게 외부 장치(400)는 단말(300)의 운영 체제 계층(905)에게 외부 장치(500)에 접속하기 위한 정보를 송신할 수도 있다. 단말(300)이 외부 장치(500)와 이미 접속해 있거나, 단말(300)이 외부 장치(500)에 접속하기 위한 정보를 보유한 경우 외부 장치(400)는 단말(300)의 운영 체제 계층(905)에게 외부 장치(500)에 접속하기 위한 정보를 송신할 필요가 없다. Similar to the connection of
단계 952에서 단말(300)의 운영체제 계층(905)은 단말(300)의 프레임워크 계층(906)에게 선택된 애플리케이션의 실행 요청(또는 재현 요청)을 송신한다. 애플리케이션의 실행 요청은 프레임워크 계층(906)에게 가상 장치 연계 요청을 송신할 것을 명령하는 메시지가 될 수 있다.In
단계 954에서 단말(300)의 프레임워크 계층(906)은 외부 장치(500)의 프레임워크 계층(903)에게 가상 장치 연계 요청을 송신한다. 가상 장치 연계 요청은 외부 장치(500)에게 가상 장치 상의 해당 애플리케이션의 화면 기타 출력을 요청하고 단말(300)에 대한 입력 신호를 가상 장치 상의 해당 애플리케이션의 입력 신호로 활용할 것을 요청하는 메시지가 될 수 있다. 가상 장치 연계 요청은 단말(300)의 해상도 기타 성능 정보를 포함할 수 있다. 이 경우 외부 장치(500)의 프레임워크 계층(903)은 가상 장치의 해상도 기타 성능을 단말(300)에 맞게 변경하거나, 단말(300)에게 제공하는 애플리케이션 화면의 크기 및/또는 기타 출력 정보를 단말(300)의 해상도 및/또는 성능 정보에 ?도록 변환하여 제공할 수 있다.In
가상 장치 연계 요청을 수신한 외부 장치(500)의 프레임워크 계층(903)은 애플리케이션 계층(904)으로부터 애플리케이션 화면 및/또는 기타 출력(소리 정보 등)을 획득한다. 단계 958 및 단계 960에서 해당 애플리케이션 화면 및/또는 기타 출력이 프레임워크 계층(903)으로부터 프레임워크 계층(906) 및 운영 체제 계층(905)에게 전달될 수 있다. 외부 장치(500)의 프레임워크 계층(903)은 주기적으로, 또는 실시간적으로 애플리케이션의 화면 정보 및/또는 기타 출력을 단말(300)에게 전달할 수 있다. 또한 단말(300)은 수신한 화면 정보 및/또는 기타 출력을 표시부 기타 구성부를 통해 출력할 수 있다. 단말(300)의 입력부를 통해 입력된 입력 신호는 외부 장치(500)에게 전달되고, 외부 장치(500)는 이 입력 신호를 가상 장치 상의 애플리케이션에 대한 입력 신호로 처리할 수 있다. 그에 따라 가상 장치 상의 애플리케이션의 실행 상태가 변경될 수 있으며, 애플리케이션의 화면이 변경되는 경우 실시간적 또는 주기적으로 변경된 화면 정보가 단말(300)에게 전달될 수 있다.The
도 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의 과정이 진행된 이후의 과정을 설명한다.
도 9c의 단계 942, 944, 946 및 948은 도 9b의 단계 942, 944, 946 및 948의 과정과 동일하거나 유사하므로 여기서는 자세한 설명을 생략한다.
단계 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
단계 970에서 사용자는 외부 장치(400)를 이용하여, 또는 기타 방식으로 단말(200)이 외부 장치(500)로부터 이전받을 애플리케이션을 선택할 수 있다. 단계 972에서 단말(200)의 운영 체제 계층(901)은 단말(200)의 프레임워크 계층(902)에게 애플리케이션의 이전을 요청한다. 단계 974에서 단말(200)의 프레임워크 계층(902)는 외부 장치(500)의 프레임워크 계층(903)에게 해당 애플리케이션의 컨텍스트를 요청한다. In
단계 976에서 애플리케이션 컨텍스트 요청을 수힌한 외부 장치(500)의 프레임워크 계층(903)은 외부 장치(500)의 가상 장치 상의 애플리케이션을 종료한다. 단계 978에서 외부 장치(500)의 프레임워크 계층(903)은 해당 애플리케이션의 컨텍스트를 단말(200)의 프레임워크 계층(902)에게 전달한다. 단계 980에서 단말(200)의 프레임워크 계층(902)은 운영 체제(901)에게 해당 애플리케이션 컨텍스트에 기반한 애플리케이션 재개를 요청하고, 애플리케이션은 단말(200)에서 재개된다. 아울러 단계 982에서 외부 장치(500)의 프레임워크 계층(903)은 가상 장치를 종료한다.In
상술한 실시 예들 중 일부에서, 단말(200, 300)은 외부 장치(400)와 자동적으로 연결하고, 단말(200, 300)은 외부 장치(400)로부터 외부 장치(500)에 접속하기 위한 접속 정보를 수신하여 외부 장치(500)에 접속하는 것으로 설명되었다. 하지만 변형 예에 따르면 단말(200, 300)은 외부 장치(400)의 관여 없이 사용자의 외부 장치(500) 접속을 위한 입력에 따라 외부 장치(500)에 접속할 수도 있다.In some of the above-described embodiments, the
상술한 실시 예들 중 일부에서, 주로 사용자에게 화면이 출력되는 내용을 중심으로 설명되었다. 하지만 애플리케이션이 요구하는 연산의 양이 큰(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
변형 예에 따르면, 외부 장치(500)는 해당 소스 동영상의 인코딩을 완료하고, 추후 단말(200)이 외부 장치(500)에게 해당 애플리케이션을 단말(200)에게 다시 이전할 것을 요청하면, 외부 장치(500)는 인코딩이 완료된 결과 동영상 파일(또는 패킷 등)을 포함하는 애플리케이션 관련 데이터를 단말(200)에게 전달할 수 있다.According to a modified example, the
상술한 실시 예들 중 적어도 일부에 따르면 사용자는 애플리케이션의 실행 상태를 유지하면서 편리하게 여러 단말에서 애플리케이션을 공유할 수 있다. 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.
상기 선택된 앱의 상태 정보는 상기 선택된 앱의 실행 화면을 포함하는, 전자 장치.
According to claim 1,
The status information of the selected app includes an execution screen of the selected app.
상기 제어 신호는 상기 선택된 앱의 실행을 재개(resuming)하기 위한 신호를 포함하는, 전자 장치.
According to claim 1,
The control signal includes a signal for resuming execution of the selected app.
상기 제어 신호는 상기 선택된 앱의 상태와 관련하여 상기 외부 장치에 저장된 메모리 정보를 포함하는, 전자 장치.
According to claim 1,
The control signal includes memory information stored in the external device in relation to the state of the selected app.
상기 복수의 앱들은
웹 브라우저, 동영상 재생 앱, 게임 앱, 및 소셜 네트워크 서비스 앱 중에서 어느 하나 이상을 포함하는, 전자 장치.
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.
상기 복수의 앱들은 상기 외부 장치에서 실행 가능한, 전자 장치.
According to claim 1,
The plurality of apps are executable on the external device, an electronic device.
상기 전자 장치와 외부 장치의 연결을 수립(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.
상기 선택된 앱의 상태 정보는 상기 선택된 앱의 실행 화면을 포함하는, 방법.
The method of claim 7,
Method information of the selected app includes the execution screen of the selected app.
상기 제어 신호는 상기 선택된 앱의 실행을 재개(resuming)하기 위한 신호를 포함하는, 방법.
The method of claim 7,
The control signal includes a signal for resuming execution of the selected app.
상기 제어 신호는 상기 선택된 앱의 상태와 관련하여 상기 외부 장치에 저장된 메모리 정보를 포함하는, 방법.
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.
상기 복수의 앱들은
웹 브라우저, 동영상 재생 앱, 게임 앱, 및 소셜 네트워크 서비스 앱 중에서 어느 하나 이상을 포함하는, 방법.
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.
상기 복수의 앱들은 상기 외부 장치에서 실행 가능한, 방법.
The method of claim 7,
The plurality of apps are executable on the external device.
상기 기록 매체는, 상기 전자 장치가:
상기 전자 장치와 외부 장치의 연결을 수립(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.
상기 선택된 앱의 상태 정보는 상기 선택된 앱의 실행 화면을 포함하는, 기록 매체.
The method of claim 13,
The status information of the selected app includes the execution screen of the selected app.
상기 제어 신호는 상기 선택된 앱의 실행을 재개(resuming)하기 위한 신호를 포함하는, 기록 매체.
The method of claim 13,
The control signal includes a signal for resuming execution of the selected app.
상기 제어 신호는 상기 선택된 앱의 상태와 관련하여 상기 외부 장치에 저장된 메모리 정보를 포함하는, 기록 매체.
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.
상기 복수의 앱들은
웹 브라우저, 동영상 재생 앱, 게임 앱, 및 소셜 네트워크 서비스 앱 중에서 어느 하나 이상을 포함하는, 기록 매체.
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.
상기 복수의 앱들은 상기 외부 장치에서 실행 가능한, 기록 매체.The method of claim 13,
The plurality of apps are executable on the external device, recording medium.
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)
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)
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6957095B2 (en) | 2001-10-04 | 2005-10-18 | Kabushiki Kaisha Toshiba | Imaging system for medical diagnosis |
-
2013
- 2013-04-29 KR KR1020130047637A patent/KR102097578B1/en active IP Right Grant
-
2020
- 2020-03-31 KR KR1020200039002A patent/KR102118415B1/en active IP Right Grant
Patent Citations (4)
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 |