KR101599713B1 - Apparatus for transmitting and receiving the status for executing web application seamlessly in a terminal, method thereof and computer recordable medium storing the method - Google Patents
Apparatus for transmitting and receiving the status for executing web application seamlessly in a terminal, method thereof and computer recordable medium storing the method Download PDFInfo
- Publication number
- KR101599713B1 KR101599713B1 KR1020100059550A KR20100059550A KR101599713B1 KR 101599713 B1 KR101599713 B1 KR 101599713B1 KR 1020100059550 A KR1020100059550 A KR 1020100059550A KR 20100059550 A KR20100059550 A KR 20100059550A KR 101599713 B1 KR101599713 B1 KR 101599713B1
- Authority
- KR
- South Korea
- Prior art keywords
- web application
- terminal
- page
- execution
- operating system
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
-
- 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/0304—Detection arrangements using opto-electronic 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/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/0304—Detection arrangements using opto-electronic means
- G06F3/0325—Detection arrangements using opto-electronic means using a plurality of light emitters or reflectors or a plurality of detectors forming a reference frame from which to derive the orientation of the object, e.g. by triangulation or on the basis of reference deformation in the picked up image
-
- 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/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1202—Dedicated interfaces to print systems specifically adapted to achieve a particular effect
- G06F3/1203—Improving or facilitating administration, e.g. print management
- G06F3/1204—Improving or facilitating administration, e.g. print management resulting in reduced user or operator actions, e.g. presetting, automatic actions, using hardware token storing data
-
- 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/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1202—Dedicated interfaces to print systems specifically adapted to achieve a particular effect
- G06F3/1203—Improving or facilitating administration, e.g. print management
- G06F3/1205—Improving or facilitating administration, e.g. print management resulting in increased flexibility in print job configuration, e.g. job settings, print requirements, job tickets
-
- 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/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1223—Dedicated interfaces to print systems specifically adapted to use a particular technique
- G06F3/1229—Printer resources management or printer maintenance, e.g. device status, power levels
- G06F3/1234—Errors handling and recovery, e.g. reprinting
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/52—Protection of memory contents; Detection of errors in memory contents
Abstract
본 발명은 끊김 없는 웹 어플리케이션 실행을 위한 단말의 상태 정보 송수신 장치, 그 방법 및 그 방법이 기록된 컴퓨터로 판독 가능한 기록 매체에 관한 것으로, 운영 체제의 종류에 무관하게 운영 체제가 관장하는 단말의 기능을 실행할 수 있는 플랫폼을 제공하며, 적어도 2개의 단말 각각에 이식된 운영 체제의 종류에 무관하게 제1 단말에서 실행 중이던 웹 어플리케이션을 제2 단말에 전송하여 제1 단말에서 실행하던 웹 어플리케이션을 제1 단말에서 실행하던 상태 그대로 끊김 없이(seamless) 제2 단말에서 실행할 수 있도록 하여, 사용자는 어떠한 종류의 운영 체제가 이식된 단말인지 여부에 무관하게 동일한 웹 어플리케이션을 제1 단말에서 실행하던 상태 그대로 제2 단말에서 실행할 수 있다. The present invention relates to a device for transmitting and receiving status information of a terminal for seamless web application execution, a method thereof, and a computer-readable recording medium on which the method is recorded. And transmits the web application, which is being executed in the first terminal, to the second terminal regardless of the type of the operating system implanted in each of the at least two terminals, So that the user can execute the same web application seamlessly in the same state as it was executed in the terminal so that the user is able to execute the same web application on the first terminal regardless of the type of operating system And can be executed in the terminal.
Description
본 발명은 웹 어플리케이션 실행을 위한 상태 정보 송수신 기술에 관한 것으로, 더욱 상세하게는, 적어도 2개의 단말 각각에 이식된 운영 체제의 종류에 무관하게 어느 하나의 단말에서 실행 중이던 웹 어플리케이션을 다른 단말에 전송하여 상기 하나의 단말에서 실행하던 웹 어플리케이션을 실행하던 상태 그대로 끊김 없이(seamless) 다른 단말에서 실행할 수 있는 단말의 상태 정보 송수신 장치, 그 방법 및 그 방법이 기록된 컴퓨터로 판독 가능한 기록 매체에 관한 것이다. The present invention relates to a state information transmission / reception technology for executing a web application, and more particularly, to a state information transmission / reception technology for transferring a web application, which is being executed in one terminal, to another terminal regardless of the type of an operating system To a state information transmitting and receiving apparatus of a terminal capable of being seamlessly executed in another terminal in a state of executing a web application executed in the one terminal, a method thereof, and a computer readable recording medium on which the method is recorded .
운영 체제(Operating System)는 그 자신이 이식(porting)된 단말의 자원(resource) 및 기능 등을 관리하며, 그 단말에 이식된 어플리케이션 (Application)이 요청하는 경우, 단말의 자원 및 기능의 일부 또는 전부의 접근을 어플리케이션에 허여할 수 있다. 이는 운영 체제가 어플리케이션 프로그래밍 인터페이스(API, Application Programming Interface)를 제공함으로써 이루어진다. 바꿔 말하면, 웹 어플리케이션은 운영 체제가 제공하는 API를 참조하여 장치의 자원 및 기능에 접근한다. 따라서 개발자들은 특정 운영 체제가 이식된 장치의 어플리케이션을 개발하기 위해서는 운영 체제가 제공하는 API의 형식에 따라 개발하여야 한다. 근래에는 다양한 기능들이 단말에 추가로 구현되고 있으며, 이에 따라, 추가로 구현되는 기능들을 제공하는 다양한 형태의 주변 장치들이 단말에 추가되고 있다. 이러한 주변 장치들의 기능은 운영 체제가 관리한다. 따라서 개발자들이 이러한 주변 장치들을 이용할 수 있는 어플리케이션을 개발하기 위해서 운영 체제가 관리하는 주변 장치들에 기능에 접근하기 위한 API들이 추가로 요구되고 있다. 더욱이, 근래의 단말은 다양한 종류의 운영 체제가 이식되고 있다. 운영 체제가 다른 단말에서는 웹 어플리케이션이 실행되지 않으므로, 단말의 어플리케이션 개발자들은 동일한 어플리케이션을 각 운영 체제의 API에 따라 따로 제작해야 하는 문제가 있다. 한편, 어느 하나의 단말에서 실행 중인 어플리케이션을 다른 단말에서 실행시키고자 하는 경우, 다른 단말에도 이와 동일한 웹 어플리케이션이 설치되어 있어야 한다. 하지만, 그 운영 체제가 다른 경우, 해당 웹 어플리케이션을 다른 단말에서 실행시킬 수 없다. 게다가, 동일한 운영 체제를 운영 체제를 가지는 서로 다른 단말이라고 할지라도, 동일한 웹 어플리케이션을 어느 하나의 단말에서 실행시키던 상태 그대로 다른 단말에서 구동할 수 없다. An operating system manages resources and functions of a terminal that is itself ported and when an application implanted in the terminal requests an application, a part of resources and functions of the terminal, All access can be granted to the application. This is accomplished by the operating system providing an application programming interface (API). In other words, a web application refers to the API provided by the operating system to access the resources and functions of the device. Developers must therefore develop their applications in accordance with the format of the API provided by the operating system in order to develop applications for the device on which the particular operating system is being ported. Various functions have been recently implemented in the terminal, and various types of peripheral devices providing additional implemented functions are added to the terminal. The functions of these peripheral devices are managed by the operating system. Therefore, APIs are required to access functions of peripheral devices managed by the operating system in order to develop an application in which developers can utilize such peripheral devices. Moreover, various types of operating systems are being ported in recent terminals. Since the web application is not executed in the terminal having the operating system, the application developer of the terminal has to issue the same application separately according to the API of each operating system. On the other hand, when an application running on one of the terminals is to be executed on another terminal, the same web application must be installed on the other terminal. However, if the operating system is different, the web application can not be executed on another terminal. In addition, even if the same operating system is a different terminal having an operating system, the same web application can not be driven in another terminal in a state in which the same web application is executed in any one terminal.
따라서 상술한 바와 같은 종래의 문제를 감안한 본 발명의 목적은 운영 체제에 무관하게 동일한 웹 어플리케이션을 서로 다른 단말에서 실행시킬 수 있는 끊김 없는 웹 어플리케이션 실행을 위한 단말의 상태 정보 송수신 장치, 그 방법 및 그 방법이 기록된 컴퓨터로 판독 가능한 기록 매체를 제공함에 있다.SUMMARY OF THE INVENTION Accordingly, the present invention has been made keeping in mind the above problems occurring in the prior art, and it is an object of the present invention to provide an apparatus and method for transmitting and receiving state information of a terminal for executing a seamless web application capable of executing the same web application in different terminals, There is provided a computer-readable recording medium on which a method is recorded.
또한, 본 발명의 다른 목적은 어느 하나의 단말에서 실행 중인 상태 그대로 다른 단말에서 웹 어플리케이션을 끊김 없이 실행할 수 있는 끊김 없는 웹 어플리케이션 실행을 위한 단말의 상태 정보 송수신 장치, 그 방법 및 그 방법이 기록된 컴퓨터로 판독 가능한 기록 매체를 제공함에 있다. It is another object of the present invention to provide an apparatus and method for transmitting and receiving status information of a terminal for executing a seamless web application capable of seamlessly executing a web application in another terminal in a state of being executed in any terminal, And a computer readable recording medium.
상술한 바와 같은 목적을 달성하기 위한 본 발명에 따른 끊김 없는 웹 어플리케이션 실행을 위한 단말의 상태 정보 송수신 장치는, 이동통신망을 통해 데이터를 송수신하기 위한 무선 통신부; 무선 랜 방식에 따라 데이터를 송수신하기 위한 무선 랜 통신부; 무선 팬 방식에 따라 데이터를 송수신하기 위한 무선 팬 통신부; 및 웹 어플리케이션의 단말 기능 실행 요청이 있으면, 상기 기능 실행을 수행하도록 운영 체제의 형식에 맞게 요청하는 플랫폼을 구동하며, 상기 웹 어플리케이션의 실행 중 상기 웹 어플리케이션의 실행 상태에 대한 정보인 상태 정보를 다른 단말에 전송하도록 상기 무선 통신부, 무선 랜 통신부 및 무선 팬 통신부 중 어느 하나를 제어하는 제어부;를 포함한다.According to another aspect of the present invention, there is provided a device for transmitting and receiving status information of a terminal for executing seamless web application, including: a wireless communication unit for transmitting and receiving data through a mobile communication network; A wireless LAN communication unit for transmitting and receiving data according to a wireless LAN system; A wireless fan communication unit for transmitting and receiving data according to a wireless fan scheme; And a step of operating a platform for requesting a terminal function of the web application according to the format of the operating system so as to perform the function execution and transmitting status information, And a controller for controlling any one of the wireless communication unit, the wireless LAN communication unit, and the wireless fan communication unit to transmit to the terminal.
본 발명에 따른 단말의 상태 정보 송수신 장치에 있어서, 상기 제어부는 상기 다른 단말에 상기 웹 어플리케이션과 동일한 웹 어플리케이션이 설치 되어 있지 않으면, 상기 상태 정보 전송 전, 상기 웹 어플리케이션을 전송하도록 상기 무선 통신부를 제어하는 것을 특징으로 한다.In the apparatus for transmitting and receiving status information of a terminal according to the present invention, if the same web application as the web application is not installed in the other terminal, the control unit controls the wireless communication unit to transmit the web application .
본 발명에 따른 단말의 상태 정보 송수신 장치에 있어서, 상기 제어부는 다른 단말로부터 웹 어플리케이션의 실행 상태에 대한 정보인 상태 정보를 수신하여, 다른 단말에서 실행 중이던 웹 어플리케이션의 실행 상태 그대로 웹 어플리케이션을 실행시키는 것을 특징으로 한다.In the apparatus for transmitting / receiving status information of a terminal according to the present invention, the controller receives status information, which is information on the execution status of the web application, from another terminal and executes the web application in the execution state of the web application .
본 발명에 따른 단말의 상태 정보 송수신 장치에 있어서, 상기 제어부는 자기 자신에 상기 다른 단말과 동일한 웹 어플리케이션이 설치되어 있지 않으면, 상기 상태 정보 수신 전, 상기 동일한 웹 어플리케이션을 수신하여 설치하는 것을 특징으로 한다.In the apparatus for transmitting and receiving status information of a terminal according to the present invention, the control unit receives and installs the same web application before receiving the status information, if the same web application as the other terminal is not installed in itself do.
본 발명에 따른 단말의 상태 정보 송수신 장치에 있어서, 상기 상태 정보는 상기 웹 어플리케이션이 실행되고 있는 현재의 실행 상태를 나타내는 정보이며, 페이지 식별자, 레지스트리 값, UI 컴포넌트 값, 및 포워드 및 백워드 페이지 리스트를 포함하는 것을 특징으로 한다.The state information is information indicating a current execution state in which the web application is being executed and includes a page identifier, a registry value, a UI component value, and a forward and backward page list And a control unit.
본 발명에 따른 단말의 상태 정보 송수신 장치에 있어서, 상기 페이지 식별자는 상기 웹 어플리케이션이 실행 중인 페이지의 식별자임을 특징으로 한다.In the apparatus for transmitting and receiving status information of a terminal according to the present invention, the page identifier is an identifier of a page on which the web application is executing.
본 발명에 따른 단말의 상태 정보 송수신 장치에 있어서, 상기 레지스트리 값은 웹 어플리케이션에서 취급하는 파일 타입 및 매개변수를 포함하는 것을 특징으로 한다.In the apparatus for transmitting and receiving status information of a terminal according to the present invention, the registry value includes a file type and parameters handled in a web application.
본 발명에 따른 단말의 상태 정보 송수신 장치에 있어서, 상기 UI 컴포넌트는 버튼, 라디오 버튼, 체크 박스, 리스트 박스, 콤보 박스 및 텍스트 에디터 중 적어도 하나를 포함하는 것을 특징으로 한다.The UI component may include at least one of a button, a radio button, a check box, a list box, a combo box, and a text editor.
본 발명에 따른 단말의 상태 정보 송수신 장치에 있어서, 상기 UI 컴포넌트 값은 상기 웹 어플리케이션 실행에 따라 사용자가 입력한 값임을 특징으로 한다.In the apparatus for transmitting and receiving status information of a terminal according to the present invention, the UI component value is a value input by a user in accordance with execution of the web application.
본 발명에 따른 단말의 상태 정보 송수신 장치에 있어서, 상기 포워드 및 백워드 페이지 리스트는 웹 어플리케이션 실행 시, 시간상 앞과 뒤에 실행된 페이지들의 리스트이며, 시간상 앞과 뒤에 실행된 페이지들의 링크를 포함하는 것을 특징으로 한다.The forward and backward page list is a list of pages executed before and after the time when the web application is executed, and includes a link of pages executed before and after the time .
본 발명에 따른 단말의 상태 정보 송수신 장치에 있어서, 상기 플랫폼은 상기 웹 어플리케이션으로부터 운영 체제의 종류에 무관하게 상기 운영 체제가 관장하는 기능 실행의 요청을 수신하여, 수신된 기능 실행의 요청을 전달하는 실행 계층부; 및 상기 기능 실행 요청을 상기 운영 체제의 종류에 맞게 변경하여 상기 운영 체제가 상기 기능 실행 요청에 따른 기능을 실행하도록 하는 이식 계층부;를 포함한다.In the apparatus for transmitting / receiving status information of a terminal according to the present invention, the platform receives a request for executing a function supervised by the operating system regardless of the type of the operating system from the web application, An execution layer; And an implantation layer unit for causing the operating system to execute a function corresponding to the function execution request by changing the function execution request according to the type of the operating system.
본 발명에 따른 단말의 상태 정보 송수신 장치에 있어서, 상기 이식 계층부는 적어도 하나의 인터페이스 모듈을 포함하며, 상기 인터페이스 모듈 각각은 상기 기능 실행의 종류에 따른 인터페이스를 가지는 것을 특징으로 한다.In the apparatus for transmitting and receiving status information of a terminal according to the present invention, the transplantation layer unit includes at least one interface module, and each of the interface modules has an interface according to the type of the function execution.
본 발명에 따른 단말의 상태 정보 송수신 장치에 있어서, 상기 인터페이스는 상기 운영 체제의 종류에 따라, 상기 운영 체제를 통해 상기 기능을 실행하도록 하거나, 상기 웹 어플리케이션의 요청을 각 운영 체제에 맞게 형식을 변환하여 상기 운영 체제에 전달하는 것을 특징으로 한다.In the apparatus for transmitting / receiving status information of a terminal according to the present invention, the interface may be configured to execute the function through the operating system according to the type of the operating system, or to convert the request of the web application into a format To the operating system.
본 발명에 따른 단말의 상태 정보 송수신 장치에 있어서, 상기 실행 계층부는 웹 어플리케이션을 실행시키고, 웹 어플리케이션이 실행되면, 실행된 웹 어플리케이션을 관리하며, 레지스트리 및 UI 컴포넌트를 관리하는 런타임 모듈; 상기 런타임 모듈의 제어에 따라 상기 웹 어플리케이션을 해석하여 랜더링하는 브라우저 엔진 모듈; 및 웹 어플리케이션의 인증을 위한 인증 모듈을 포함하는 것을 특징으로 한다.The execution layer includes a runtime module that executes a web application, manages an executed web application when the web application is executed, and manages a registry and a UI component; A browser engine module for interpreting and rendering the web application under the control of the runtime module; And an authentication module for authentication of the web application.
본 발명에 따른 단말의 상태 정보 송수신 장치에 있어서, 상기 브라우저 엔진 모듈은 마크 업 랭귀지와 스타일시트 등을 처리하기 위한 브라우저 엔진과 스크립트 언어를 처리하기 위한 인터프리터인 스크립트 엔진을 포함하는 것을 특징으로 한다.The browser engine module includes a browser engine for processing a markup language, a style sheet, and the like, and a script engine, which is an interpreter for processing a script language, according to the present invention.
본 발명에 따른 단말의 상태 정보 송수신 장치에 있어서, 상기 인증 모듈은 상기 웹 어플리케이션의 전송, 수신, 설치 및 실행 시, 정당한 절차에 의해 수행되는지 여부를 인증하는 것을 특징으로 한다.In the apparatus for transmitting and receiving a status information of a terminal according to the present invention, the authentication module authenticates whether or not the web application is performed by a proper procedure when transmitting, receiving, installing and executing the web application.
상술한 바와 같은 목적을 달성하기 위한 본 발명에 따른 끊김 없는 웹 어플리케이션 실행을 위한 단말의 상태 정보 송신 방법은, 웹 어플리케이션 실행 중, 다른 단말과 연결을 설정하는 단계; 및 상기 다른 단말에 상기 웹 어플리케이션의 현재 실행 상태를 나타내는 정보인 상태 정보를 전송하는 단계;를 포함한다.According to another aspect of the present invention, there is provided a method of transmitting a state information of a terminal for seamless web application execution, the method comprising: establishing a connection with another terminal during execution of a web application; And transmitting status information, which is information indicating a current execution state of the web application, to the other terminal.
본 발명에 따른 단말의 상태 정보 송신 방법에 있어서, 상기 상태 정보는 상기 웹 어플리케이션의 현재 실행 중인 페이지를 나타내는 페이지 식별자, 상기 웹 어플리케이션이 취급하는 파일 타입 및 매개변수를 포함하는 레지스트리 값, 상기 웹 어플리케이션 실행에 따라 사용자가 UI 컴포넌트에 입력한 값인 UI 컴포넌트 값, 및 웹 어플리케이션 실행 시, 시간상 앞과 뒤에 실행된 페이지들의 리스트들의 링크인 포워드 및 백워드 페이지 리스트를 포함한다.The status information may include at least one of a page identifier indicating a currently executing page of the web application, a registry value including a file type handled by the web application and a parameter, A UI component value that is a value entered by the user into the UI component according to the execution, and a forward and backward page list, which is a list of pages executed before and after the time when the web application is executed.
본 발명에 따른 단말의 상태 정보 송신 방법에 있어서, 상기 설정하는 단계 후, 상기 전송하는 단계 전, 상기 다른 단말에 상기 웹 어플리케이션과 동일한 웹 어플리케이션이 설치되어 있는지 확인하는 단계; 및 상기 확인 결과, 동일한 웹 어플리케이션이 존재하지 않으면, 상기 웹 어플리케이션을 전송하는 단계;를 더 포함한다.The method of transmitting a status information of a terminal according to the present invention may further comprise the steps of: checking whether the same web application as the web application is installed in the other terminal before the transmitting after the setting; And transmitting the web application if the same web application does not exist as a result of the checking.
그리고 상술한 본 발명에 따른 단말의 상태 정보 송신 방법이 기록된 컴퓨터로 판독 가능한 기록매체를 제공한다.And a method of transmitting status information of a terminal according to the present invention described above.
상술한 바와 같은 목적을 달성하기 위한 본 발명에 따른 끊김 없는 웹 어플리케이션 실행을 위한 단말의 상태 정보 수신 방법은, 다른 단말로부터 상기 다른 단말의 웹 어플리케이션의 실행 상태를 나타내는 정보인 상태 정보를 수신하는 단계; 및 상기 상태 정보에 따라 상기 웹 어플리케이션을 실행하는 단계;를 포함한다.According to another aspect of the present invention, there is provided a method for receiving status information of a terminal for executing a seamless web application, the method comprising: receiving status information, which is information indicating an execution status of a web application of another terminal from another terminal ; And executing the web application according to the status information.
본 발명에 따른 단말의 상태 정보 수신 방법에 있어서, 상기 상태 정보는 상기 웹 어플리케이션 현재 실행 중인 페이지를 나타내는 페이지 식별자, 상기 웹 어플리케이션이 취급하는 파일 타입 및 매개변수를 포함하는 레지스트리 값, 상기 웹 어플리케이션 실행에 따라 사용자가 입력한 값인 UI 컴포넌트 값, 및 웹 어플리케이션 실행 시, 시간상 앞과 뒤에 실행된 페이지들의 리스트들의 링크인 포워드 및 백워드 페이지 리스트를 포함한다.The status information may include a page identifier indicating a page currently being executed by the web application, a registry value including a file type handled by the web application and a parameter, And a list of forward and backward pages, which are links of lists of pages executed before and after the time when the web application is executed.
본 발명에 따른 단말의 상태 정보 수신 방법에 있어서, 상기 실행하는 단계는 상기 레지스트리 값이 지시하는 파일 형식 및 매개변수를 이용하여 상기 페이지 식별자의 페이지를 실행시키며, 상기 UI 컴포넌트 값을 상기 페이지의 UI 컴포넌트에 적용하는 것을 특징으로 한다.In the method of receiving status information of a terminal according to the present invention, the executing step executes a page of the page identifier using a file format and parameters indicated by the registry value, To the component.
본 발명에 따른 단말의 상태 정보 수신 방법에 있어서, 상기 실행하는 단계는 상기 포워드 및 백워드 페이지 리스트를 저장하였다가, 사용자의 요청이 있을 시, 상기 포워드 및 백워드 페이지 리스트의 링크에 따라 포워드 또는 백워드 페이지를 실행시키는 것을 특징으로 한다.The method of the present invention for receiving status information of a terminal according to the present invention is characterized in that the executing step stores the forward and backward page lists and, when requested by the user, forward or backward according to the links of the forward and backward page lists And a backward page is executed.
본 발명에 따른 단말의 상태 정보 수신 방법에 있어서, 상기 수신하는 단계 후, 상기 실행하는 단계 전, 상기 다른 단말의 웹 어플리케이션과 동일한 웹 어플리케이션이 설치되어 있는지 확인하는 단계; 및 상기 확인 결과, 동일한 웹 어플리케이션이 설치되어 있지 않으면, 상기 동일한 웹 어플리케이션을 수신하여 설치하는 단계;를 더 포함한다.The method of receiving status information of a terminal according to the present invention may further comprise: confirming whether the same web application as the web application of the other terminal is installed before the executing step after the receiving step; And receiving and installing the same web application if the same web application is not installed as a result of the checking.
그리고 상술한 본 발명에 따른 단말의 상태 정보 수신 방법이 기록된 컴퓨터로 판독 가능한 기록매체를 제공한다. And a method of receiving status information of a terminal according to the present invention described above.
본 발명에 따르면, 운영 체제의 종류에 무관하게 웹 어플리케이션이 동일한 방법으로 단말의 기능 실행을 요청할 수 있으며, 이 요청을 운영 체제에 맞게 변환하여 운영 체제가 해당 기능을 실행할 수 있도록 하는 플랫폼을 제공하여, 서로 다른 운영 체제를 가지는 단말이라 할 지라도 동일한 웹 어플리케이션을 실행시킬 수 있도록 한다. 이에 따라, 어느 하나의 단말이 웹 어플리케이션 실행 중, 본 발명에 따른 상태 정보를 다른 단말에 전송함으로써, 상기 하나의 단말에서 실행 중인 상태 그대로 다른 단말에서 해당 웹 어플리케이션을 실행시킬 수 있다. 따라서 개발자들은 운영 체제의 종류에 무관하게 동일한 형식으로 웹 어플리케이션을 제작할 수 있다. 그리고 사용자들은 동일한 웹 어플리케이션을 운영 체제의 종류에 무관하게 끊김 없이 동일한 사용자 경험에 의해 사용할 수 있다.According to the present invention, a web application can request a function of a terminal to be executed in the same manner regardless of the type of an operating system, and a platform for converting the request to an operating system so that the operating system can execute the corresponding function is provided , The same web application can be executed even though the terminal has a different operating system. Accordingly, while one of the terminals transmits the status information according to the present invention to another terminal during the execution of the web application, the other terminal can execute the corresponding web application while still running in the one terminal. Therefore, developers can build web applications in the same format regardless of the operating system. And users can seamlessly use the same web application regardless of operating system type by the same user experience.
도 1은 본 발명의 실시예에 따른 웹 어플리케이션을 설명하기 위한 도면.
도 2는 본 발명의 실시예에 따른 단말의 구성을 설명하기 위한 도면.
도 3은 본 발명의 실시예에 따른 웹 어플리케이션 실행을 위한 플랫폼을 설명하기 위한 도면.
도 4는 본 발명의 실시예에 따른 플랫폼을 이용하여 서로 다른 단말에서 웹 어플리케이션을 실행시키기 위한 실행 환경을 설명하기 위한 도면.
도 5는 본 발명의 실시예에 따른 플랫폼의 세부 구조를 도시한 도면.
도 6은 본 발명의 실시예에 따른 서로 다른 단말에서 상태 정보 송수신을 통한 웹 어플리케이션 실행 방법을 설명하기 위한 흐름도.
도 7은 본 발명의 실시예에 따른 서로 다른 운영 체제가 이식된 단말에서 동일한 웹 어플리케이션의 실행 환경을 제공하는 방법을 설명하기 위한 도면.
도 8은 본 발명의 실시예에 따라 송수신되는 웹 어플리케이션의 상태 정보를 설명하기 위한 도면.
도 9는 본 발명의 실시예에 따른 단말의 상태 정보 송신 방법을 설명하기 위한 흐름도.
도 10은 본 발명의 실시예에 따른 웹 어플리케이션 실행을 위한 전송 방법을 설명하기 위한 흐름도. 1 is a diagram for explaining a web application according to an embodiment of the present invention;
2 is a diagram for explaining a configuration of a terminal according to an embodiment of the present invention.
3 is a diagram illustrating a platform for executing a web application according to an embodiment of the present invention;
4 is a view for explaining an execution environment for executing a web application in different terminals using a platform according to an embodiment of the present invention;
5 is a view showing a detailed structure of a platform according to an embodiment of the present invention;
6 is a flowchart illustrating a method of executing a web application by transmitting and receiving status information in different terminals according to an embodiment of the present invention.
FIG. 7 illustrates a method of providing an execution environment of the same web application in a terminal having different operating systems according to an embodiment of the present invention. FIG.
8 is a diagram illustrating state information of a web application transmitted and received according to an embodiment of the present invention.
9 is a flowchart illustrating a method of transmitting status information of a UE according to an embodiment of the present invention.
10 is a flowchart illustrating a transmission method for executing a web application according to an embodiment of the present invention.
이하 본 발명의 바람직한 실시 예를 첨부한 도면을 참조하여 상세히 설명한다. 다만, 하기의 설명 및 첨부된 도면에서 본 발명의 요지를 흐릴 수 있는 공지 기능 또는 구성에 대한 상세한 설명은 생략한다. 또한, 도면 전체에 걸쳐 동일한 구성 요소들은 가능한 동일한 도면 부호로 나타내고 있음에 유의하여야 한다.Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings. In the following description and the accompanying drawings, detailed description of well-known functions or constructions that may obscure the subject matter of the present invention will be omitted. It is to be noted that the same constituent elements are denoted by the same reference numerals as possible throughout the drawings.
이하에서 설명되는 본 명세서 및 청구범위에 사용된 용어나 단어는 통상적이거나 사전적인 의미로 한정해서 해석되어서는 아니 되며, 발명자는 그 자신의 발명을 가장 최선의 방법으로 설명하기 위해 용어의 개념으로 적절하게 정의할 수 있다는 원칙에 입각하여 본 발명의 기술적 사상에 부합하는 의미와 개념으로 해석되어야만 한다. 따라서 본 명세서에 기재된 실시 예와 도면에 도시된 구성은 본 발명의 가장 바람직한 일 실시 예에 불과할 뿐이고, 본 발명의 기술적 사상을 모두 대변하는 것은 아니므로, 본 출원시점에 있어서 이들을 대체할 수 있는 다양한 균등물과 변형 예들이 있을 수 있음을 이해하여야 한다.The terms and words used in the present specification and claims should not be construed as limited to ordinary or dictionary meanings and the inventor is not limited to the meaning of the terms in order to describe his invention in the best way. It should be interpreted as meaning and concept consistent with the technical idea of the present invention. Therefore, the embodiments described in the present specification and the configurations shown in the drawings are merely the most preferred embodiments of the present invention, and not all of the technical ideas of the present invention are described. Therefore, It is to be understood that equivalents and modifications are possible.
먼저, 본 발명의 실시예에 따른 동일한 웹 어플리케이션을 끊김 없이 실행하기 위한 단말들에 대해서 설명하기로 한다. 본 발명의 실시예에서, 웹 어플리케이션을 실행하던 중 웹 어플리케이션의 상태 정보를 전송하는 단말을 제1 단말이라고 가정하며, 제1 단말로부터 상태 정보를 수신하여 제1 단말에서 실행 중인 상태 그대로 웹 어플리케이션을 실행하는 단말을 제2 단말이라고 가정한다. 제1 단말 및 제2 단말은 운영 체제 및 본 발명의 실시예에 따른 플랫폼이 이식되어 있으며, 제1 및 제2 단말에 이식된 운영 체제는 동종의 것이 아닐 수 있다. 본 발명의 실시예에 따른 플랫폼은 운영 체제에 무관하게 동일한 웹 어플리케이션의 실행 환경을 제공한다. 이에 따라, 제1 및 제2 단말이 웹 어플리케이션을 플랫폼을 통해 실행시키면, 제1 및 제2 단말은 서로 다른 운영 체제가 이식되어 있더라도 플랫폼을 통해 동일한 웹 어플리케이션을 실행시킬 수 있다.First, terminals for seamlessly executing the same web application according to an embodiment of the present invention will be described. In the embodiment of the present invention, it is assumed that the terminal transmitting the status information of the web application during the execution of the web application is the first terminal, receives the status information from the first terminal, And the terminal to be executed is assumed to be the second terminal. The first terminal and the second terminal are implanted with an operating system and a platform according to an embodiment of the present invention, and the operating systems implanted in the first and second terminals may not be of the same type. The platform according to the embodiment of the present invention provides an execution environment of the same web application regardless of the operating system. Accordingly, when the first and second terminals execute the web application through the platform, the first and second terminals can execute the same web application through the platform even if different operating systems are implanted.
따라서 제1 단말에서 실행 중인 웹 어플리케이션의 상태 정보를 제2 단말에 전송하면, 제2 단말에서 동일한 웹 어플리케이션을 제1 단말의 실행 상태 그대로 실행 시킬 수 있다. 이와 같이 끊김 없는 웹 어플리케이션 실행 환경을 제공하는 상태 정보에 대해서 설명하기로 한다. 다음의 <표 1>은 본 발명의 실시예에 따른 상태 정보를 설명하기 위한 것이다. Therefore, if the status information of the web application being executed in the first terminal is transmitted to the second terminal, the same web application can be executed in the second terminal in the execution state of the first terminal. The state information providing the seamless execution environment of the web application will be described below. Table 1 below is for explaining state information according to an embodiment of the present invention.
상태 정보는 웹 어플리케이션이 현재 실행 중인 상태에 대한 정보이다. 이러한 상태 정보는, <표 1>에 개시된 바와 같이, 페이지 식별자, 레지스트리 값, UI(User Interface) 컴포넌트 값, 및 포워드 및 백워드 페이지 리스트(forward/backward page list) 등을 포함한다.The status information is information about the state in which the web application is currently running. This state information includes a page identifier, a registry value, a UI (User Interface) component value, and a forward / backward page list, as described in Table 1. [
페이지 식별자는 현재 실행 중인 페이지를 식별하기 위한 정보로 제1 단말은 현재 실행 중인 페이지가 무엇인지 상태 정보로 전송하면, 제2 단말은 이를 수신하여, 제1 단말에서 실행 중이던 페이지를 실행시킨다.The page identifier is information for identifying a page currently being executed. When the first terminal transmits status information indicating what page is currently being executed, the second terminal receives the page and executes the page that was being executed by the first terminal.
레지스트리 값은 레지스트리에 저장되어 있는 웹 어플리케이션 관련된 데이터를 의미한다. 레지스트리(registry)는 운영체계 안에서 작동하는 모든 프로그램의 시스템 정보를 담고 있는 데이터베이스이며, 해당 시스템에 대한 프로세서의 종류, 주기억장치의 용량, 접속된 주변장치의 정보, 시스템 매개변수 등을 저장한다. 특히, 레지스트리는 본 발명의 실시예에 따른 웹 어플리케이션에서 취급하는 파일의 타입과 각종 매개변수(parameter) 등을 저장하며, 이를 상태 정보로 전송한다. 본 발명의 실시예에 따르면, 제1 단말에서 실행 중인 웹 어플리케이션을 제2 단말에서 실행시키고자 할 때, 제1 단말은 제2 단말에게 상태 정보 중의 하나로 이 레지스트리 값을 전송하며, 제2 단말은 이 레지스트리 값을 수신하여 자신의 레지스트리에 기록한다. 특히, 제1 단말이 웹 어플리케이션의 스크립트 언어 실행에 따른 레지스트리 값을 전송함으로써, 제2 단말은 이 레지스트리 값을 이용해서 제1 단말이 실행 중인 상태 그대로 웹 어플리케이션을 실행시킬 수 있다.The registry value refers to the web application related data stored in the registry. A registry is a database containing system information of all programs operating in the operating system. It stores the type of processor, the capacity of main memory, the information of connected peripheral devices, and the system parameters for the system. In particular, the registry stores the types of files handled by the web application according to the embodiment of the present invention, various parameters, and transmits the status information. According to an embodiment of the present invention, when the web application executing in the first terminal is to be executed in the second terminal, the first terminal transmits the registry value to one of the status information to the second terminal, It receives this registry value and writes it to its registry. In particular, the first terminal transmits a registry value according to the script language execution of the web application, so that the second terminal can execute the web application while the first terminal is running using the registry value.
UI 컴포넌트는 버튼, 라디오 버튼, 체크 박스, 리스트 박스, 콤보 박스, 텍스트 에디터 등을 통칭하며, UI 컴포넌트 값은 웹 어플리케이션 실행에 따라 사용자가 이 UI 컴포넌트에 입력한 값을 의미한다. 예컨대, 체크 박스가 3개 있으며, 3개의 체크 박스가 하나의 UI 컴포넌트라고 가정한다.The UI component is collectively referred to as a button, a radio button, a check box, a list box, a combo box, and a text editor. A UI component value means a value that a user inputs to the UI component according to execution of a web application. For example, assume that there are three checkboxes and that three checkboxes are one UI component.
현재, 3개의 체크 박스 중 첫 번째 및 두 번째 체크 박스가 선택된 경우, UI 컴포넌트 값은 첫 번째 및 두 번째 체크 박스가 선택되었음을 나타내는 값이다. 또한, 라디오 버튼이 3개 있으며, 3개의 라디오 버튼이 하나의 UI 컴포넌트라고 가정한다. 현재, 3개의 라디오 버튼 중 두 번째 버튼이 선택된 경우, UI 컴포넌트 값은 두 번째 라디오 버튼이 선택되었음을 나타내는 값이다. 또한, 텍스트 에디터가 하나의 UI 컴포넌트라고 가정하면, UI 컴포넌트 값은 텍스트 에디터에 입력된 텍스트이다. 본 발명의 실시예에 따르면, 제1 단말에서 실행 중인 웹 어플리케이션을 제2 단말에서 실행시키고자 할 때, 제1 단말은 제2 단말(102)에게 상태 정보 중의 하나로 UI 컴포넌트 값을 전송한다. 제2 단말은 UI 컴포넌트 값을 수신하여, 수신된 UI 컴포넌트 값을 그대로 이용함으로써, 제1 단말에서 실행 중이던 상태 그대로 웹 어플리케이션을 계속해서 실행할 수 있다.Currently, if the first and second check boxes of the three check boxes are selected, the UI component value is a value indicating that the first and second check boxes are selected. It is also assumed that there are three radio buttons and three radio buttons are one UI component. Currently, if the second of the three radio buttons is selected, the UI component value is a value indicating that the second radio button is selected. Also, assuming that the text editor is a UI component, the UI component value is the text entered in the text editor. According to the embodiment of the present invention, when the web application executing in the first terminal is to be executed in the second terminal, the first terminal transmits the UI component value to one of the status information to the
웹 어플리케이션의 실행에 따라 복수의 페이지가 실행될 수 있으며, 이 실행된 순서에 따라 이미 열어본 페이지의 링크가 저장된다. 이 링크는 실행된 순서대로 연결된다. 포워드 및 백워드 페이지 리스트는 각 페이지에서 시간상 앞과 뒤에 실행된 페이지들의 리스트이며 이를 링크로 제공한다. 즉, 포워드 및 백워드 페이지 리스트는 각 페이지에서 시간상 앞과 뒤에 실행된 페이지들을 링크 형태로 제공한다. 본 발명의 실시예에 따르면, 제1 단말에서 실행 중인 웹 어플리케이션을 제2 단말에서 실행시키고자 할 때, 제1 단말은 제2 단말에게 상태 정보 중의 하나로 포워드 및 백워드 페이지 리스트를 전송한다. 제2 단말은 포워드 및 백워드 페이지 리스트를 수신하여, 수신된 포워드 및 백워드 페이지 리스트를 통해 실행 했던 상태 그대로 제2 단말에서 페이지의 링크를 제공할 수 있다.A plurality of pages can be executed according to the execution of the web application, and the link of the page that has already been opened is stored according to the execution order. These links are linked in the order in which they were executed. The forward and backward page lists are lists of pages executed before and after each page in time and provide them as links. That is, the forward and backward page lists provide the pages executed before and after the time in each page in a link form. According to an embodiment of the present invention, when the web application executing in the first terminal is to be executed in the second terminal, the first terminal transmits the forward and backward page lists to one of the status information to the second terminal. The second terminal may receive the forward and backward page lists and may provide the links of the pages at the second terminal as they were through the received forward and backward page lists.
도 1은 본 발명의 실시예에 따른 웹 어플리케이션을 설명하기 위한 도면이다.1 is a diagram for explaining a web application according to an embodiment of the present invention.
도 1을 참조하면, 본 발명의 실시예에 따른 웹 어플리케이션(200)은 적어도 하나의 페이지로 이루어진다. 웹 어플리케이션(200)은 페이지를 기본 단위로 동작한다. 웹 어플리케이션(200)이 복수의 페이지로 이루어진 경우, 웹 어플리케이션(200)을 실행시키면, 어느 하나의 페이지가 시작 페이지로 실행된다. 그리고 복수의 페이지는 개발자의 의도에 따라 링크로 연결된다. 사용자의 의도에 따라 링크를 통해 다른 페이지가 실행된다. 웹 어플리케이션(200)이 실행 중, 상술한 링크를 통해 웹 어플리케이션(200)을 구성하는 다수의 페이지가 실행될 수 있다. 이때, 웹 어플리케이션(200)은 사용자의 웹 어플리케이션(200) 사용에 따라 이동한 페이지(포워드, 백워드 페이지)의 히스토리를 저장한다.Referring to FIG. 1, a
각 페이지의 콘텐츠는 소스 파일(210) 및 리소스 파일(220)을 통해 표현될 수 있다. 소스 파일(210)은 마크업 언어(Markup Language), 스타일시트(Style Sheets) 및 스크립트 언어(scripting language)로 작성된 파일이며, 이중 스타일시트 및 스크립트 언어는 선택적으로 생략 가능하다. 마크업 언어는 HTML(Hypertext Markup Language), XHTML(extensible Hypertext Markup Language), XML(Extensible Markup Language) 등을 예시할 수 있으며, 이러한 마크업 언어는 다수의 태그(tag)와 각 태그의 속성(attribute) 및 일반적인 텍스트로 이루어진다. 스타일시트는 사용자가 정의한 디자인 속성, 즉, 스타일을 기술하기 위한 언어이다. 스타일시트는 태그, 속성, 및 텍스트에 의해 보여지는 페이지의 글꼴, 크기, 색상, 레이아웃 등의 스타일을 기술한다. 이러한 스타일시트를 사용한 페이지는 다른 화면 해상도를 가지는 표시 장치와 다른 종류의 브라우저에서도 스타일시트에 기술한 바에 따라 동일하게 보여진다. 이 스타일시트는 대표적으로 CSS(Cascading Style Sheets)를 예시할 수 있다. 스크립트 언어는 프로그래밍 언어로서 웹 어플리케이션(200)을 동적으로 제어하기 위한 언어이다. 대표적으로, 자바 스크립트(Java Script)를 예시할 수 있다. 리소스 파일(220)은 페이지에 삽입되는 각종의 파일이다. 이 리소스 파일(220)은 소스 파일(210)을 기술하는 프로그래밍 언어를 통해 링크 태그를 이용하여 페이지에 삽입될 수 있다. 리소스 파일(220)은 웹(Web) 상의 어느 하나의 디바이스에 저장될 수 있으며, 이 리소스 파일(220)에 접근하여 다운로드 받을 수 있는 주소(URL, Uniform Resource Locator)는 마크업 언어에서 태그의 속성으로 기술된다. 이러한 리소스 파일(220)은 장면 기술(scene description), 비디오(video), 오디오(audio), 이미지(image), 폰트(font), 텍스트(text), 메타데이터(meta-data) 및 스크립트(script) 파일 등을 예시할 수 있다. 특히, 다른 웹 페이지 또는 다른 웹 어플리케이션(200)의 어느 하나의 페이지도 리소스 파일(220)이 될 수 있다. 리소스 파일(220)은 앞서 나열한 것 이외에도 다양한 종류가 존재할 수 있으며, 다양한 형식(format)의 파일이 될 수 있다. 즉, 리소스 파일(220)은 각 리소스 파일(220)의 형식에 맞는 형태로 웹 어플리케이션(200)의 페이지에 삽입되는 개별 파일을 모두 포함하는 의미이다.The content of each page may be represented through a
그러면, 본 발명의 실시예에 따른 단말의 구성에 대해서 설명하기로 한다. 도 3은 본 발명의 실시예에 따른 단말의 구성을 설명하기 위한 도면이다.Hereinafter, a configuration of a terminal according to an embodiment of the present invention will be described. 3 is a diagram for explaining a configuration of a terminal according to an embodiment of the present invention.
도 3을 참조하면, 본 발명의 실시예에 따른 단말(100)은 앞서 설명한 바와 같이, 웹 어플리케이션(200) 실행 중, 상태 정보를 전송하는 제1 단말과, 이러한 상태 정보를 수신하여, 상태 정보에 따라 웹 어플리케이션(200)을 실행하는 제2 단말 중 어느 하나가 될 수 있다.3, a terminal 100 according to an embodiment of the present invention includes a first terminal for transmitting status information during execution of the
도 3을 참조하면, 본 발명의 실시예에 따른 단말(100)은 무선 통신부(110), 무선 랜(WLAN, Wireless Local Area Network) 통신부(120), 무선 팬(WLAN, Wireless Personal Area Network) 통신부(130), 저장부(140), 표시부(150), 입력부(160) 및 제어부(170)를 포함한다. 이 밖에 본 발명의 실시예에 따른 단말(100)은 기타 주변 장치를 더 포함할 수 있다.3, a terminal 100 according to an embodiment of the present invention includes a
본 발명의 실시예에 따르면, 단말(100)은 무선 통신부(110), 무선 랜 통신부(120) 및 무선 팬 통신부(130) 중 어느 하나를 이용하여 웹 어플리케이션 또는 웹 어플리케이션의 상태 정보를 다른 단말에 전송하거나, 다른 단말로부터 웹 어플리케이션 또는 웹 어플리케이션의 상태 정보를 수신할 수 있다.According to an embodiment of the present invention, the terminal 100 may transmit status information of a web application or a web application to another terminal using one of the
무선 통신부(110)는 이동통신망에 의해 데이터를 송수신하기 위한 것이다. 무선 통신부(110)는 제어부(170)로부터 웹 어플리케이션 또는 웹 어플리케이션의 상태 정보를 수신하면, 기지국을 통해 패킷 망 또는 서킷 망에 접속하여, 웹 어플리케이션 또는 웹 어플리케이션의 상태 정보를 다른 단말로 전송할 수 있다. 또한, 무선 통신부(110)는 기지국을 통해 패킷 망 또는 서킷 망에 접속하여, 웹 어플리케이션 또는 웹 어플리케이션의 상태 정보를 다른 단말로부터 수신하여, 수신된 웹 어플리케이션 또는 웹 어플리케이션의 상태 정보를 제어부(160)로 제공한다.The
무선 랜 통신부(120)는 무선 랜 방식에 따른 통신을 수행하기 위한 것이다. 무선 랜 통신부(120)는 제어부(170)로부터 웹 어플리케이션 또는 웹 어플리케이션의 상태 정보를 수신하면, 접속 포인트(AP, Access Point)를 통해 IP 망에 접속하여, 웹 어플리케이션 또는 웹 어플리케이션의 상태 정보를 다른 단말로 전송할 수 있다. 또한, 무선 랜 통신부(120)는 접속 포인트를 통해 IP 망에 접속하여, 웹 어플리케이션 또는 웹 어플리케이션의 상태 정보를 다른 단말로부터 수신하여, 수신된 웹 어플리케이션 또는 웹 어플리케이션의 상태 정보를 제어부(170)로 제공한다.The wireless
무선 팬 통신부(130)는 무선 팬 방식에 따라 데이터를 송수신하기 위한 것으로, 무선 통신부(110) 및 무선 랜 통신부(120)에 비해 짧은 거리의 무선 통신을 통해 단말간에 직접 데이터를 주고 받기 위한 것이다. 다른 단말과 PAN(Personal Area Network)을 구성하여, 다른 단말과 직접 웹 어플리케이션 또는 웹 어플리케이션의 상태 정보를 송수신하기 위한 것이다. 이러한 무선 팬 통신부(130)는 블루투스(Bluetooth), 적외선 통신(IrDA), 지그비(ZigBee) 등에 따른 통신을 예시할 수 있다.The wireless
저장부(140)는 데이터를 저장하기 위한 장치로, 주 기억 장치 및 보조 기억 장치를 포함한다. 저장부(140)는 운영 체제, 플랫폼 및 웹 어플리케이션(200)을 저장하며, 단말(100)의 기능 실행에 따라 발생하는 각종 데이터를 저장한다.The
저장부(140)는 다른 단말로부터 수신한 상태 정보 또는 다른 단말에 전송하기 위한 상태 정보를 저장할 수 있다. 상태 정보는 <표 1>에서 설명한 바와 같이, 페이지 식별자, 레지스트리 값, UI 컴포넌트 값 및 포워드 및 백워드 페이지 리스트를 포함한다. 표시부(150)는 웹 어플리케이션의 실행 시, 그 실행 화면을 표시한다. 표시부(150)는 터치스크린(touch screen)이 될 수 있다. 이와 같이, 터치스크린 형태로 표시부(150)가 형성된 경우, 표시부(150)는 입력부(160)의 기능 중 일부 또는 전부를 수행할 수 있다.The
입력부(160)는 숫자 또는 문자 정보를 입력 받고 다양한 기능을 설정하기 위한 다수의 입력키 및 기능키를 포함할 수 있다. 그리고 입력부(160)는 사용자의 키 입력을 감지하여, 감지된 키 입력에 따른 입력 신호를 제어부(170)로 전달한다.The
제어부(170)는 운영 체제, 플랫폼 및 웹 어플리케이션(200)을 실제로 구동시키는 프로세스 장치이다. 예컨대, 제어부(170)는 중앙처리장치(CPU, Central Processing Unit)가 될 수 있다. 제어부(170)는 단말(100)의 전원이 켜지면, 운영 체제를 보조 기억 장치로부터 주 기억 장치로 이동시킨 후, 운영 체제를 구동하는 부팅(booting)을 수행한다. 또한, 제어부(170)는 사용자의 조작에 따른 웹 어플리케이션(200)의 실행 요청이 있는 경우, 계층 구조상 운영 체제 상위에서 플랫폼을 구동시키고, 플랫폼은 그 상위에서 웹 어플리케이션(200)을 실행시킨다. 이와 같이, 제어부(170)는 플랫폼을 저장부(140)로부터 불러 와서 실행시키지만, 플랫폼은 제어부(170) 내에 하나의 모듈로 구성될 수 있다.The
제어부(170)는 운영 체제의 요청에 따라 주변 장치를 제어한다. 즉, 운영 체제는 제어부(170)를 통해 단말(100)의 기능 실행을 관장한다. 여기서, 단말(100)의 기능을 실행하는 것은 주변 장치의 개별 기능 및 이 개별 기능 실행에 따른 자원(resource)의 사용을 포함하며, 운영 체제의 자체 기능 실행과, 운영 체제의 자체 기능 실행에 따른 자원의 사용을 더 포함한다.The
본 발명의 실시예에 따른 제어부(170)는 다른 단말과 운영 체제가 서로 다름에도 불구하고 플랫폼을 통해 다른 단말의 웹 어플리케이션(200)을 다른 단말에서 실행 중인 상태에서 이어서 끊김 없이 수행할 수 있다. 이는 다른 단말로부터 무선 통신부(110), 무선 랜 통신부(120) 및 무선 팬 통신부(130) 중 어느 하나를 통해 상태 정보를 수신하여 수신된 상태 정보를 이용하여 웹 어플리케이션(200)을 실행시킴으로써 가능하다. 또한, 제어부(170)는 다른 단말로 자신이 실행 중이던 상태 정보를 무선 통신부(110), 무선 랜 통신부(120) 및 무선 팬 통신부(130) 중 어느 하나를 통해 전송하여, 다른 단말이 자신이 실행 중이던 웹 어플리케이션(200)의 실행 상태 그대로 이어서 끊김 없이 웹 어플리케이션을 실행할 수 있도록 한다.The
그러면, 본 발명의 실시예에 따른 서로 다른 운영 체제를 가지는 단말에서 동일한 웹 어플리케이션 실행을 위한 플랫폼에 대해서 설명하기로 한다. 도 3은 본 발명의 실시예에 따른 웹 어플리케이션 실행을 위한 플랫폼을 설명하기 위한 도면이다.A platform for executing the same web application in a terminal having different operating systems according to an embodiment of the present invention will now be described. 3 is a diagram for explaining a platform for executing a web application according to an embodiment of the present invention.
도 3을 참조하면, 단말(100)의 제어부(170)는 운영 체제(400) 및 플랫폼(300)을 구동시킨 상태에서 웹 어플리케이션(200)을 실행시킨다. 즉, 단말(100)의 전원이 켜진 후, 제어부(170)에서 운영 체제(400)가 구동되면, 운영 체제(400) 상위에서 플랫폼(300)이 구동된다. 그리고 사용자의 웹 어플리케이션(200) 실행 요청이 있으면, 웹 어플리케이션(200)은 플랫폼(300)의 상위에서 실행된다.3, the
웹 어플리케이션(200)의 실행 중 웹 어플리케이션(200)이 플랫폼(300)을 통해 상술한 단말(100) 기능의 실행을 운영 체제(400)에 요청하면, 운영 체제(400)는 이를 실행한다. 이때, 웹 어플리케이션(200)이 플랫폼(300)을 통해 운영 체제(400)에 기능을 실행하도록 요청하기 위해서는 플랫폼(300)의 인터페이스를 이용하며, 이러한 인터페이스는 웹 어플리케이션(200) 프로그래밍 인터페이스(API, Application Programming Interface)가 될 수 있다. 이 인터페이스는 라이브러리 형태로 구현되며, 운영 체제(400) 별로 라이브러리는 고유한 형식으로 구현된다. 따라서 플랫폼(300)은 운영 체제(400)가 제공하는 단말(100) 기능 실행을 위한 인터페이스를 웹 어플리케이션(200)이 이용할 수 있도록 제공하되, 운영 체제(400)의 종류에 무관하게 사용할 수 있는 인터페이스를 제공한다. 이를 위하여, 플랫폼(300)은 동일한 기능을 제공하는 인터페이스를 운영 체제(400)의 종류별로 구비한다. 이에 따라, 웹 어플리케이션(200)이 플랫폼(300)을 통해 단말(100) 기능 실행을 요청하면, 플랫폼(300)은 이 요청을 각 운영 체제(400)의 형식에 따른 인터페이스를 이용하여 운영 체제(400)에 전달하고, 운영 체제(400)는 이 요청에 따른 단말(100)의 기능을 실행한다. 이와 같이, 웹 어플리케이션(200)은 플랫폼(300)이 제공하는 인터페이스를 통해 운영 체제(400)의 종류에 무관하게 단말(100)의 자원 또는 기능에 접근하여 이를 제어할 수 있다.When the
도 4는 본 발명의 실시예에 따른 플랫폼을 이용하여 서로 다른 단말에서 웹 어플리케이션을 실행시키기 위한 실행 환경을 설명하기 위한 도면이다.4 is a diagram illustrating an execution environment for executing a web application in different terminals using a platform according to an embodiment of the present invention.
도 4에 본 발명의 실시예에 따른 제1 단말(101) 및 제2 단말(102)이 도시되었다. 제1 단말(101) 및 제2 단말(102)은 각각 제1 운영 체제(401)와 제2 운영 체제(402)가 이식되어 있다. 여기서, 제1 운영 체제(401) 및 제2 운영 체제(402)는 서로 다른 운영 체제(400)가 될 수 있다. 또한, 제1 단말(101) 및 제2 단말(102) 각각은 본 발명의 실시예에 따른 플랫폼(300)을 각각의 운영 체제(401, 402) 상위에서 구동시킨다.FIG. 4 illustrates a
앞서 설명한 바와 같이, 플랫폼(300)은 각 운영 체제(401, 402)에 따라 단말(100)의 기능 실행을 위한 인터페이스를 웹 어플리케이션(200)이 이용할 수 있도록 제공하므로, 서로 다른 운영 체제(401, 402)를 가지는 제1 단말(101) 및 제2 단말(102)에서 동일한 웹 어플리케이션(200)을 플랫폼(300)의 상위에서 실행시킬 수 있다.As described above, the
따라서 제1 단말(101)이 웹 어플리케이션(200)을 제2 단말(102)에 전송하면, 제2 단말(102)의 제2 운영 체제(402)가 제1 단말(101)의 제1 운영 체제(401)와 동종의 것이 아니어도, 제2 단말(102)은 웹 어플리케이션(200)을 설치하고 실행시킬 수 있다.Thus, when the
또한, 제1 단말(101)과 제2 단말(102)에 동종의 웹 어플리케이션이 설치되어 있는 경우, 제1 단말(101)이 해당 웹 어플리케이션(200)의 실행 중 웹 어플리케이션(200)의 실행 상태를 나타내는 상태 정보를 제2 단말(102)에 전송하면, 제2 단말(102)은 이 상태 정보를 이용하여 제1 단말(101)에서 실행 중인 상태 그대로 웹 어플리케이션을 실행 시킬 수 있다.When the
그러면, 보다 상세히 본 발명의 실시예에 따른 플랫폼(300)에 대해서 설명하기로 한다. 도 5는 본 발명의 실시예에 따른 플랫폼의 세부 구조를 도시한 도면이다.Hereinafter, the
도 5를 참조하면, 플랫폼(300)은 실행 계층(executing layer)부(310) 및 이식 계층(porting layer)부(320)를 포함한다. 또한, 실행 계층부(310)는 런타임(run time) 모듈(311), 브라우저 엔진(browser engine) 모듈(313) 및 인증 모듈(315)을 포함할 수 있다.Referring to FIG. 5, the
플랫폼(300) 구조를 살펴보면, 이식 계층부(320)는 운영 체제(400) 상위에서 운영 체제(400)와 직접 연결되어 동작하며, 실행 계층부(310)는 웹 어플리케이션(200)의 하위에서 동작하여 웹 어플리케이션(200)을 실행시킨다. 그리고 이식 계층부(320) 상위에 실행 계층부(310)가 연결되어 동작한다. 따라서 웹 어플리케이션(200)은 실행 계층부(310) 및 이식 계층부(320)를 통해 운영 체제(400)에 접근할 수 있다.The
웹 어플리케이션(200)이 단말(100)의 기능 실행을 요청하면, 실행 계층부(310)는 이 기능 실행 요청을 이식 계층부(320)로 전달하며, 운영 체제(400)에 맞게 구현된 이식 계층부(320)는 이 요청을 운영 체제(400)에 맞게 전달함으로써, 운영 체제(400)가 해당 기능을 실행하도록 한다. 운영 체제(400)와 이식 계층부(320) 간의 인터페이스는 운영 체제(400)의 형식에 맞춰 각 운영 체제(400) 별로 구현된다. 또한, 이식 계층부(320)와 실행 계층부(310) 간의 인터페이스는 실행 계층부(310)의 형식에 맞춰 구현되며, 이 인터페이스는 운영 체제(400)와 무관한 형식으로 구현된다. 그리고 실행 계층부(310)와 웹 어플리케이션(200) 간의 인터페이스 또한 운영 체제(400)와 무관한 형식으로 구현된다. 따라서 웹 어플리케이션(200)은 실행 계층부(310)와의 인터페이스를 통해 단말(100)의 기능 실행을 요청하면, 실행 계층부(310) 및 이식 계층부(320)를 통해 운영 체제(400)가 해당 기능을 수행할 수 있도록 할 수 있다.When the
그러면, 플랫폼(300) 각각의 세부 구성의 각 기능에 대해서 설명하기로 한다.Each function of the detailed configuration of each of the
먼저, 본 발명의 실시예에 따른 실행 계층부(310)에 대해서 설명하기로 한다. 앞서 설명한 바와 같이, 실행 계층부(310)는 런타임 모듈(311), 브라우저 엔진 모듈(313) 및 인증 모듈(315)을 포함한다.First, an
런타임 모듈(311)은 웹 어플리케이션(200) 실행 환경을 제공하며, 플랫폼(300)의 커널(Kernel) 역할을 수행한다. 런타임 모듈(311)은 웹 어플리케이션(200)을 실행시키고, 웹 어플리케이션(200)이 실행되면, 실행된 웹 어플리케이션(200)을 관리하며, 웹 어플리케이션(200) 실행을 위한 레지스트리 및 UI 컴포넌트를 관리한다.The
런타임 모듈(311)은 웹 어플리케이션(200)의 컨텍스트(CONTEXT)를 관리한다. 즉, 런타임 모듈(311)은 브라우저 엔진 모듈(313)의 렌더러(Renderer)와 윈도우의 생성 및 소멸을 관장한다. 웹 어플리케이션(200)의 실행이 요청되면, 런타임 모듈(311)은 해당 웹 어플리케이션(200)이 실행될 윈도우를 생성한다. 이어서, 런타임 모듈(311)은 브라우저 엔진 모듈(313)에 브라우저를 실행시키도록 제어하고, 브라우저가 실행되면, 브라우저 엔진 모듈(313)에 렌더러(Renderer)를 생성하도록 제어한다. 그런 다음, 런타임 모듈(311)은 생성된 렌더러를 제어하여 웹 어플리케이션(200)의 어느 하나의 페이지를 렌더링하여 랜더링된 결과를 생성된 윈도우에 표시한다. 런타임 모듈(311)은 브라우저를 종료할 것을 지시하는 명령이나, 윈도우 소멸시킬 것을 지시하는 명령을 수신할 수 있다. 이러한 경우, 런타임 모듈(311)은 브라우저 엔진 모듈(313)의 렌더러 및 윈도우 자원을 회수한 후, 웹 어플리케이션(200)을 종료하거나 윈도우를 소멸시킨다. 또한, 런타임 모듈(311)은 웹 어플리케이션(200)이 실행되고 있는 모든 윈도우가 소멸되었을 경우 해당 웹 어플리케이션(200)을 종료시킨다.The
또한, 런타임 모듈(311)은 웹 어플리케이션(200) 실행시 발생하는 이벤트를 처리한다.In addition, the
런타임 모듈(311)은 웹 어플리케이션(200) 및 그 웹 어플리케이션(200)의 윈도우 및 페이지의 라이프 사이클을 관리한다. 웹 어플리케이션(200)은 복수의 페이지로 구성될 수 있다. 또한, 웹 어플리케이션(200) 마다 적어도 하나의 윈도우를 생성하여 시작되며, 적어도 하나의 페이지가 윈도우를 통해 표시된다. 다른 페이지로 이동하는 경우, 이전 페이지는 그 표시가 사라질 수 있다. 또한, 웹 어플리케이션(200)과 관련된 모든 윈도우가 닫히면 그 웹 어플리케이션(200)은 종료된다. 이처럼, 웹 어플리케이션(200), 그 웹 어플리케이션(200)의 윈도우 및 페이지의 라이프 사이클이 존재하며, 런타임 모듈(311)은 이를 관리한다.The
특히, 런타임 모듈(311)은 복수의 페이지가 실행될 때, 실행된 순서에 따라 이미 열어본 페이지의 링크를 저장하며, 이에 따른 포워드 및 백워드 페이지 리스트를 저장한다. 이 포워드 및 백워드 페이지 리스트는 상태 정보로 다른 단말에 전송될 수 있다.In particular, the
런타임 모듈(311)은 레지스트리를 관리한다. 레지스트리는 저장부(140)의 일부 영역을 차지하며, 런타임 모듈(311)은 이 레지스트리에 특정 값을 저장하고, 필요한 경우 불러온다. 특히, 런타임 모듈(311)은 웹 어플리케이션(200)의 스크립트 언어가 실행되는 경우, 이 스크립트 언어의 스크립트 실행에 따른 파일의 타입과 각종 매개변수(parameter) 등을 레지스트리에 저장한다. 이 밖에, 런타임 모듈(311)은 웹 어플리케이션(200)을 대상으로 하는 기능으로, 웹 어플리케이션(200)의 설치, 삭제 및 업데이트 등이 일어 날 때, 이 정보를 레지스트리에 저장한다.The
브라우저 엔진 모듈(313)은 웹 어플리케이션(200)을 해석하여 랜더링을 통해 화면에 표시하고 실행시키는 역할을 수행한다. 이를 위하여, 브라우저 엔진 모듈(313)은 마크 업 랭귀지(Markup Language)와 스타일시트 등을 처리하기 위한 브라우저 엔진과 스크립트 언어를 처리하기 위한 인터프리터인 스크립트 엔진을 포함한다. The
또한, 브라우저 엔진 모듈(313)은 프로토콜 처리기, XML 처리기, 윈도우(Window) 처리기, 폰트(Font) 처리기, 이미지 디코더(Image Decoder) 처리기, 국제화(Internationalization) 처리기 및 시스템(System) 처리기를 포함한다. The
프로토콜 처리기는 HTTP, HTTPS 프로토콜 기능을 제공하며, HTTP 기능 동작을 위해 필요한 업로드(upload), 프록시들(proxies), 쿠키(cookie) 등에 대한 관리 기능을 제공한다. XML 처리기는 XML 파서 기능 및 XSLT(Extensible Style sheet Language Transformations) 변환 기능을 제공한다. 윈도우 처리기는 브라우저 엔진 모듈(313)이 사용할 윈도우 시스템을 제공하며, 브라우저 엔진이 사용할 버튼, 리스트 박스, 콤보 박스, 텍스트 에디터 등의 UI를 컴포넌트로 제공한다. UI가 컴포넌트로 제공되는 것을 UI 컴포넌트라 한다. 각 운영 체제(400)에 따라 개별적인 윈도우 시스템 및 UI 컴포넌트를 가질 수 있다. 본 발명의 실시예에 따르면, 웹 어플리케이션(200)의 상태 정보를 타 단말로 전송할 때, 상태 정보로 UI 컴포넌트의 값을 전송할 수 있다. 폰트 처리기는 브라우저 엔진이 사용할 폰트 시스템을 제공한다. The protocol handler provides HTTP and HTTPS protocol functions and provides management functions such as uploads, proxies, and cookies required for HTTP function operations. The XML processor provides XML parser functionality and Extensible Style Sheet Language Transformations (XSLT) transformation. The window handler provides a window system to be used by the
이미지 디코더 처리기는 브라우저 엔진이 사용할 이미지 디코더 기능을 제공한다. 국제화 처리기는 다국어 처리를 위해 필요한 문자열 변환 기능을 제공한다. 시스템 처리기는 타이머 등의 시스템 기능을 제공한다. The image decoder handler provides an image decoder function to be used by the browser engine. The internationalization processor provides the string conversion function necessary for multilingual processing. The system handler provides system functions such as a timer.
상술한 프로토콜 처리기, XML 처리기, 윈도우(Window) 처리기, 폰트(Font) 처리기, 이미지 디코더(Image Decoder) 처리기, 국제화(Internationalization) 처리기 및 시스템(System) 처리기는 웹 어플리케이션의 실행에 따라 기능이 요청되면, 이식 계층부(320)를 통해 운영 체제에 해당 기능을 수행하도록 요청할 수 있다.The protocol processor, the XML processor, the window processor, the font processor, the image decoder processor, the internationalization processor, and the system processor may be implemented as a function of the web application , And may request the operating system to perform a corresponding function through the
인증 모듈(315)은 웹 어플리케이션(200)의 전송, 수신, 설치 및 실행 시 인증을 수행한다. 여기서, 인증은 웹 어플리케이션(200)이 정당한 절차에 의해서 전송, 수신, 설치 및 실행되는지 여부를 확인하는 절차이다. 이러한 인증을 위하여, 인증 모듈(315)은 해싱 알고리즘(hashing algorithm) 및 각종 보안 라이브러리를 구비하며, 이에 따라 인증 기능을 수행한다. 다음으로, 본 발명의 실시예에 따른 이식 계층부(320)에 대해서 설명하기로 한다. The
이식 계층부(320)는 실행 계층부(310)에 의해 웹 어플리케이션(200)이 운영 체제(400)의 종류에 무관하게 구현되고 동작할 수 있도록, 인터페이스를 제공한다. 이를 위하여, 이식 계층부(320)의 인터페이스는 단말에 이식된 운영 체제(400)의 종류에 따라 구현된다. 이에 따라, 웹 어플리케이션(200)이 실행 계층부(310)에 기능 실행을 요청하면, 실행 계층부(310)는 이식 계층부(320)에 이를 전달할 수 있다. 이식 계층부(320)는 실행 계층부(310)로부터 전달 받은 기능 실행 요청을 통해 운영 체제(400)에 해당 기능을 실행하도록 지시할 수 있다. The
이식 계층부(320)는 다수개의 인터페이스 모듈을 포함하며, 각 인터페이스 모듈은 기능별로 서로 관련된 복수개의 인터페이스로 이루어진다. 각 인터페이스는 운영 체제(400)의 종류에 따라 단말의 기능을 실행시킬 수 있도록 운영 체제(400)에 요청하기 위한 것이다. The
인터페이스 모듈의 인터페이스는 각각 라이브러리 형태로 구현되고 관리될 수 있다. 이후에 추가된 기능을 실행하는 인터페이스를 추가로 제공하고 싶다면, 별도의 인터페이스를 정의하고 라이브러리 형태로 구현한 후, 해당하는 인터페이스 모듈에 링크시킬 수 있다. 이러한 인터페이스는 운영 체제(400)의 종류에 따라, 운영 체제(400)를 통해 해당 기능을 실행하도록 구현할 수도 있고, 웹 어플리케이션(200)의 요청을 각 운영 체제(400)에 맞게 형식만 변환하여 운영 체제(400)에 바이패스(bypass)하는 스터브(stub)일 수도 있다. The interfaces of the interface module can be implemented and managed in the form of a library, respectively. If you want to provide additional interfaces to execute additional functions, you can define a separate interface, implement it as a library, and link it to the corresponding interface module. Such an interface may be implemented to execute the corresponding function through the
특정 기능을 수행하기 위한 명령으로, 제1 운영 체제(401)가 해석할 수 있는 구문(Syntax)을 제1 구문이라고 하며, 제2 운영 체제(402)가 해석할 수 있는 구문을 제2 구문이라고 가정한다. 또한, 해당 특정 기능을 수행하도록 하는 이식 계층부(320)의 인터페이스 모듈의 라이브러리가 제공하는 구문은 제3 구문이라고 가정한다. 본 발명의 실시예에 따르면, 웹 어플리케이션(200)의 소스 파일(210)은 제3 구문에 따라 작성된다. Syntax that can be interpreted by the
제1 운영 체제(401)가 이식된 제1 단말(101)에서 웹 어플리케이션이 실행되어, 제3 구문이 실행되면, 인터페이스 모듈은 제1 운영 체제(401)가 해당 기능을 수행하도록 제1 운영 체제(401)가 해석할 수 있는 제1 구문으로 변경하여, 운영 체제에 제공한다. 이에 따라, 제1 운영 체제(401)는 해당 기능을 수행할 수 있다. When the web application is executed in the
제2 운영 체제(402)가 이식된 제2 단말(102)에서 웹 어플리케이션(200)이 실행되어, 제3 구문이 실행되면, 인터페이스 모듈은 제2 운영 체제(402)가 해당 기능을 수행하도록 제2 운영 체제(402)가 해석할 수 있는 제2 구문으로 변경하여, 제2 운영 체제(401)에 제공한다. 이에 따라, 제1 운영 체제(401)는 해당 기능을 수행할 수 있다. When the
이에 따라, 서로 다른 운영 체제(400)를 가지는 제1 단말(101) 및 제2 단말(102)에서 웹 어플리케이션(200)을 동일하게 실행할 수 있다. Accordingly, the first and
이와 같이, 인터페이스 모듈은 특정 기능을 수행하기 위한 구문을 그 기능의 종류별로 제공한다. 즉, 인터페이스 모듈은 HTTP(hypertext transfer protocol) 관련 기능을 수행하는 모듈, XML(eXtensible Markup Language) 관련 기능을 수행하는 모듈, 스레드(Thread) 관련 기능을 수행하는 모듈, UI 관련 기능을 수행하는 모듈, 스토리지(storage) 관련 기능을 수행하는 모듈, 리소스 관리를 수행하는 모듈 등을 포함할 수 있다. 도 6은 본 발명의 실시예에 따른 서로 다른 단말에서 상태 정보 송수신을 통한 웹 어플리케이션 실행 방법을 설명하기 위한 흐름도이다. As described above, the interface module provides a syntax for performing a specific function for each type of the function. That is, the interface module includes a module that performs a hypertext transfer protocol (HTTP) related function, a module that performs XML (eXtensible Markup Language) related functions, a module that performs a thread related function, a module that performs a UI related function, A module for performing storage related functions, a module for performing resource management, and the like. 6 is a flowchart illustrating a method of executing a web application by transmitting and receiving status information in different terminals according to an embodiment of the present invention.
도 6을 참조하면, 제1 단말(101)은 S601 단계에서 웹 어플리케이션(200)을 실행 중이다. 웹 어플리케이션(200) 실행 중 사용자의 웹 어플리케이션(200) 전송 요청을 감지하면, 제1 단말(101)은 S603 단계에서 제2 단말(102)에 제1 단말(101)에서 실행 중이던 웹 어플리케이션(200)과 동일한 웹 어플리케이션(200)이 설치되어 있지 않은 경우, 해당 웹 어플리케이션(200)을 전송한다. 이러한 웹 어플리케이션(200)을 수신한 제2 단말(102)은 S605 단계에서 해당 웹 어플리케이션(200)을 설치한다. Referring to FIG. 6, the
한편, 동일한 웹 어플리케이션(200)이 존재하거나 동일한 웹 어플리케이션(200)을 전송한 경우, 제1 단말(101)은 S607 단계에서 실행 중이던 웹 어플리케이션(200)의 상태 정보를 제2 단말(102)에 전송한다. 이 상태 정보를 수신한 제2 단말(102)은 S609 단계에서 상태 정보에 따라 웹 어플리케이션(200)을 실행한다. If the
상태 정보는 웹 어플리케이션(200)이 현재 실행 중인 상태에 대한 정보이며, 현재 실행중인 페이지, 레지스트리 값, UI(User Interface) 컴포넌트 값, 및 포워드 및 백워드 페이지 리스트(forward/backward page list) 등을 포함한다. 이러한 상태 정보를 통해 웹 어플리케이션(200)을 실행시킴에 따라 사용자는 다양한 단말에서 실행 중인 상태 그대로 웹 어플리케이션(200)을 실행시킬 수 있다. The status information is information on a state in which the
도 7은 본 발명의 실시예에 따른 서로 다른 운영 체제가 이식된 단말에서 동일한 웹 어플리케이션의 실행 환경을 제공하는 방법을 설명하기 위한 도면이다. 7 is a diagram for explaining a method for providing an execution environment of the same web application in a terminal having different operating systems according to an embodiment of the present invention.
도 7에서, 도 7에 웹 어플리케이션(200) 중 어느 하나의 페이지(700)를 도시하였다. 도면 부호 (a)는 제1 단말(101)에서 윈도우(710)에 표시되는 페이지(700)를 도시하였으며, 도면 부호 (b)는 제2 단말(102)에서 윈도우(710)에 표시되는 페이지(700)를 도시하였다. 페이지(700)는 윈도우(710) 상에 표시되며, 페이지(700)에 UI 컴포넌트(720)가 표시된다. 여기서, UI 컴포넌트(720)는 예시적으로 에디트 박스(721)와, 버튼(723)을 나타내었다. In FIG. 7, one of the
운영 체제(400) 별로 서로 다른 형식의 윈도우 시스템 및 UI 시스템을 채용할 수 있으며, 본 발명의 실시예에 따른 플랫폼(300)은 각 운영 체제(400)에 따른 윈도우(710) 및 UI 컴포넌트(720)를 호출할 수 있다. 이러한 이유로, 운영 체제(400)가 서로 다른 제1 단말(101) 및 제2 단말(102)에서 동일한 웹 어플리케이션을 실행시킬 수 있다. 이를 더 자세히 설명하면, 다음과 같다. The
제1 단말(101) 및 제2 단말(102)에서 웹 어플리케이션(200)의 페이지(700)를 실행시키는 경우, 웹 어플리케이션(200)은 플랫폼(300)에 윈도우(710)를 호출하여 표시하며, 호출된 윈도우(710)에 페이지(700)를 표시하되, 그 페이지(700)에 UI 컴포넌트(720)를 표시하도록 플랫폼(300)에 요청한다. 이는 제1 단말(101) 및 제2 단말(102)의 경우 모두 동일하다. 다만, 제1 단말(101)의 경우, 플랫폼(300)은 제1 운영 체제(401)에 따른 인터페이스를 이용하여 윈도우(710)를 화면에 표시하고, 그 윈도우(710)에 표시되는 페이지(700)에 UI 컴퍼넌트(720)를 표시하도록 제1 운영 체제(401)에 요청하며, 제2 단말(102)의 경우, 플랫폼(300)은 제2 운영 체제(402)의 인터페이스를 이용하여 윈도우(710)를 호출하여 페이지(700)를 표시하고, 그 윈도우(710)의 페이지(700)에 UI 컴퍼넌트(720)를 표시하도록 제2 운영 체제(402)에 요청한다. When the
예를 들면, 윈도우(710)를 표시하기 위해 플랫폼(300)이 제공하는 구문은 제3 구문 "OpenWindows()"라고 가정하며, 웹 어플리케이션(200)은 윈도우(701)를 표시하기 위해서 제3 구문 "OpenWindows()"에 따라 작성된다. 이에 따라, 운영 체제(400)가 다른 제1 단말(101) 또는 제2 단말(102)에서 웹 어플리케이션(200) 실행되면, 플랫폼(300) 상에서 제3 구문 "Open.Windows()"이 동일하게 실행된다. For example, the syntax provided by the
한편, 제1 운영 체제(401)에 따라 윈도우(710)를 호출하는 구문은 제1 구문 "OPEN_WINDOWS()"라고 가정하며, 제2 운영 체제(401)에 따라 윈도우(710)를 호출하는 구문은 제2 구문 "Show.Windows()"라고 가정한다. On the other hand, the syntax for calling the
이에 따라, 제1 운영 체제(401)가 이식된 제1 단말(101)의 경우, 플랫폼(300)은 웹 어플리케이션(200)의 실행 중, 제3 구문 "OpenWindows()"가 실행되면, "Open.Windows()"를 "OPEN_WINDOWS()"와 같이 변경하여, 이를 제1 운영 체제(401)에 제공한다. 이에 따라, 제1 운영 체제(401)는 윈도우(710)를 호출하여 화면에 표시한다.Accordingly, in the case of the
또한, 제2 운영 체제(402)가 이식된 제1 단말(102)의 경우, 플랫폼(300)은 웹 어플리케이션의 실행 중, 페이지(700)을 표시하도록 하는 "OpenWindows()"가 실행되면, "Open.Windows()"를 "Show.Windows()"와 같이 변경하여, 이를 제1 운영 체제(401)에 제공하면, 제1 운영 체제(401)는 윈도우(701)를 호출하여 화면에 표시한다. In addition, in the case of the
윈도우(710)의 호출의 경우, 각 운영 체제(401, 402)의 윈도우 시스템이 다르므로, 표시되는 윈도우(710)의 형태는 운영 체제(401, 402)에 따라 달라진다. 예컨대, 도면 부호 (a) 및 (b)를 비교하면, 윈도우를 최소화하거나, 최대화 하거나 단기 위한 최소화, 최대화, 닫기 버튼(711)의 형태가 달리 표시됨을 알 수 있다. 플랫폼(300)은 윈도우(710) 호출의 경우와 마찬가지로, UI 컴포넌트(720)의 경우에도 UI 컴포넌트(720)를 호출하는 인터페이스(제3 구문)가 존재하며, 플랫폼(300)은 웹 어플리케이션(200)에 각각의 UI 컴포넌트(720)를 호출하는 인터페이스(제3 구문)를 제공하며, 웹 어플리케이션(200)이 이러한 인터페이스(제3 구문)를 이용하여 UI 컴포넌트(720)를 호출하면, 플랫폼(300)은 각 운영 체제(400)에 따른 인터페이스(제1 구문 또는 제2 구문)로 변경하여 운영 체제(400)에 맞게 UI 컴포넌트(720)를 호출할 수 있다. In the case of a call to
다만, UI 컴포넌트(720)의 형태는 도면 부호 (a) 및 (b)에 도시된 바와 같이, 각 운영 체제(401, 402)에 따른 형태로 달리 표시된다. However, the form of the
또한, 앞서 설명한 바와 같이, 플랫폼(300)은 상술한 바와 같은 역할을 수행하는 인터페이스를 이식 계층부(320)의 인터페이스 모듈을 통해 제공하며, 이러한 인터페이스 모듈은 HTTP(hypertext transfer protocol) 관련 기능을 수행하는 모듈, XML(eXtensible Markup Language) 관련 기능을 수행하는 모듈, 스레드(Thread) 관련 기능을 수행하는 모듈, UI 관련 기능을 수행하는 모듈, 스토리지(storage) 관련 기능을 수행하는 모듈, 리소스 관리를 수행하는 모듈 등을 포함하여, 운영 체제(400)의 종류에 상관 없이 동일한 기능을 수행하는 인터페이스를 웹 어플리케이션(200)에 제공한다. In addition, as described above, the
도 8은 본 발명의 실시예에 따라 송수신되는 웹 어플리케이션의 상태 정보를 설명하기 위한 도면이다. 8 is a diagram for explaining status information of a web application transmitted and received according to an embodiment of the present invention.
도 8에서, 실시예로 제시되는 웹 어플리케이션(200)은 사용자들에게 설문을 하고, 설문에 응답한 사용자들에게 설문 응답에 대한 급부로 쿠폰을 제공하는 기능을 수행한다고 가정한다. In FIG. 8, it is assumed that the
도시된 바와 같이, 제1 내지 제3 페이지(810, 820, 830)의 3개의 페이지로 이루어지며, 3개의 페이지는 설문의 순서에 따라 순차로 링크된다. 사용자는 이전 버튼, 다음 버튼(801)을 이용하여 링크로 연결되는 페이지로 이동할 수 있다. As shown in the figure, the first to
사용자는 제1 단말(101)에서 이 웹 어플리케이션(200)의 제1, 제2 및 제3 페이지(810)를 순차로 실행시켜 제1 및 제2 페이지(810, 820)에 기술된 설문을 작성하고, 제3 페이지(830)의 설문을 작성하다가, 제2 페이지(820)의 설문을 수정하기 위해, 제2 페이지(820)를 실행시킨 상태라고 가정한다. 이때, 사용자는 이 웹 어플리케이션(200)을 제2 단말(102)에서 실행하기 위해 제1 단말(101)에 제2 단말(102)에서 이 웹 어플리케이션(200)을 실행하도록 하는 요청을 입력하였다고 가정한다. 여기서, 제1 단말(101)은 제2 단말(102)에 동일한 웹 어플리케이션(200)이 존재하지 않는 경우, 동일한 웹 어플리케이션(200)을 전송한다. 제2 단말(102)이 웹 어플리케이션(200)을 설치하거나, 제1 단말(101)과 동일한 웹 어플리케이션(200)이 이미 설치되어 있는 경우, 제1 단말(101)은 상태 정보를 전송한다. The user sequentially executes the first, second, and
상태 정보는 현재 실행중인 페이지, 레지스트리 값, UI(User Interface) 컴포넌트 값, 및 포워드 및 백워드 페이지 리스트 등을 포함한다. The status information includes a currently running page, a registry value, a UI (User Interface) component value, and a forward and backward page list.
제1 단말(101)은 페이지 식별자로, 제2 페이지(820)의 식별자를 제2 단말(102)에 전송한다. The
제1 단말(101)은 레지스트리 값으로, 현재 제2 페이지(820)에서 실행 중인 스크립트 언어의 파일의 타입과 매개변수(parameter) 등을 제2 단말(102)에 전송한다. The
제1 단말(101)은 UI 컴포넌트의 값으로, 제1 페이지(810)에서 성별을 묻는 설문 항목의 여자임을 체크한 라디오 버튼(802)의 값, 나이를 묻는 설문 항목의 20대임을 체크한 라디오 버튼(803)의 값, 제2 페이지(820)에서 매장을 이용하는 빈도를 묻는 설문 항목에서 한 달에 2번을 체크한 라디오 버튼(804)의 값, 및 제3 페이지(830)의 에디트 박스(805)에 입력된 텍스트 "주말 할인 시간대를 늘려 주세요."를 제2 단말(102)에 전송한다. The
포워드 및 백워드 페이지 리스트는 제1, 제2 및 제3 페이지(810, 830, 840)의 순서로 페이지가 실행되었으므로, 제1 단말(101)은 포워드 및 백워드 페이지 리스트로 제2 페이지(820)의 포워드 페이지는 제3 페이지(830)이며, 제2 페이지(820)의 백워드 페이지는 제1 페이지(810)임을 알리는 정보를 제2 단말(102)에 전송한다. Since the forward and backward page lists have been executed in the order of the first, second and
상술한 상태 정보를 수신한 제2 단말(102)은 제2 페이지(820)를 실행시키며, 이 실행 방법은 앞서 도 7에서 설명한 바와 같이, 제1 단말(101)과 동일하다. 또한, 제2 단말(102)는 제2 페이지(820)의 포워드 및 백워드 페이지로 제3 및 제1 페이지(830, 810)를 각각 링크로 연결하며, UI 컴포넌트 값을 통해 각 페이지에 라디오 버튼 및 텍스트 에디터의 값을 입력한다. 그리고, 스크립트 언어의 실행에 따른 레지스트리 값을 통해 파일 타입과 그 타입에 따른 매개변수를 저장하기 위한 저장 공간을 메모리에 할당한다. The
도 9는 본 발명의 실시예에 따른 단말의 상태 정보 송신 방법을 설명하기 위한 흐름도이다. 도 9에서는 도 6의 제1 단말(101)의 웹 어플리케이션(200)의 상태 정보 송신 방법에 대해서 설명하고자 한다. 9 is a flowchart illustrating a method of transmitting status information of a terminal according to an embodiment of the present invention. In FIG. 9, a description will be given of a method of transmitting status information of the
도 9를 참조하면, 제어부(170)는 S901 단계에서 웹 어플리케이션(200)을 실행 중이다. 앞서 설명한 바와 같이, 제어부(170)는 플랫폼(300)을 구동시키고, 이 플랫폼(300)을 통해 웹 어플리케이션(200)을 실행시킨다. 웹 어플리케이션(200)의 실행은, 앞서 도 7에서 설명한 바와 같이 이루어진다. 즉, 웹 어플리케이션(200)은 플랫폼(300)의 인터페이스를 이용하여 특정 기능의 실행을 플랫폼(300)에 요청한다. 그러면, 플랫폼(300)은 제1 단말(101)의 제1 운영 체제(401)에 따른 인터페이스를 이용하여 해당 기능을 수행하도록 제1 운영 체제(401)에 요청하며, 이에 따라, 제1 운영 체제(401)는 해당 기능을 수행한다. Referring to FIG. 9, the
이때, 사용자가 다른 단말에서 웹 어플리케이션(200)을 실행시키도록 요청하였다고 가정한다. 그러면, 제어부(170)는 S903 단계에서 이를 감지하고, S905 단계에서 무선 통신부(110), 무선 랜 통신부(120) 및 무선 팬 통신부(130) 중 어느 하나를 통해 웹 어플리케이션(200)을 전송할 수 있는 단말(100)이 주변에 존재하는지 검색한다. 그런 다음, 제어부(170)는 S907 단계에서 검색된 단말(100)의 식별자를 표시부(150)를 통해 표시한다. At this time, it is assumed that the user requests the other terminal to execute the
사용자는 표시된 단말(100) 중 자신이 원하는 단말(100)을 선택할 수 있다. 사용자가 웹 어플리케이션(200)을 전송하고자 하는 단말(100)을 선택하면, 제어부(170)는 S909 단계에서 이를 감지하고, S911 단계에서 해당 단말(100)에 연결을 요청한다. 여기서, 사용자가 선택한 단말(100)은 제2 단말(102)이라고 가정한다. 이러한 이유로, 제어부(170)는 S913 단계에서 제2 단말(102)과의 연결이 성공하였는지 확인한다. 연결이 성공한 경우, 제2 단말(102)로부터 연결 성공 메시지를 수신하며, 연결이 실패한 경우, 기 설정된 시간 내에 연결 성공 메시지를 수신할 수 없다. The user can select the desired terminal 100 among the displayed terminals 100. When the user selects the terminal 100 to which the
S913 단계의 확인 결과, 기 설정된 시간 내에 연결 성공 메시지를 수신하지 못한 경우, 제어부(170)는 S915 단계에서 연결 실패로 인해 웹 어플리케이션(200)을 전송할 수 없음을 표시부(150)를 통해 표시하고, 프로세스를 종료한다. 반면, S913 단계의 확인 결과, 연결이 성공한 경우, 제어부(170)는 S917 단계에서 제2 단말(102)에 동일한 웹 어플리케이션(200)이 이미 설치되어 있는지 여부를 확인한다. 이는 제2 단말(102)로부터 웹 어플리케이션(200)을 요청하는 메시지의 수신 여부를 통해 확인할 수 있다. If it is determined in step S913 that the connection success message is not received within a predetermined time, the
S917 단계의 확인 결과, 동일한 웹 어플리케이션(200)이 설치되어 있지 않으면, 제어부(170)는 S919 단계에서 해당 웹 어플리케이션(200)을 전송한다. 이에 따라, 제2 단말(102)에서는 수신 받은 웹 어플리케이션(200)을 설치할 것이다. 반면, S917 단계의 확인 결과, 동일한 웹 어플리케이션(200)이 이미 설치되어 있으면, 제어부(170)는 S921 단계로 진행한다. If it is determined in step S917 that the
웹 어플리케이션(200)을 전송하였거나, 제2 단말(102)에 웹 어플리케이션(200)이 이미 설치되어 있는 경우, 제어부(170)는 S921 단계에서 웹 어플리케이션(200)의 상태 정보를 전송한다. If the
상태 정보는 웹 어플리케이션(200)이 현재 실행 중인 상태에 대한 정보이며, 페이지 식별자, 레지스트리 값, UI(User Interface) 컴포넌트 값, 및 포워드 및 백워드 페이지 리스트 등을 포함한다. The status information is information on a state in which the
예컨대, 도 8을 참조하면, 제1 단말(101)은 페이지 식별자로 제2 페이지(820)의 식별자를 전송하며, 레지스트리 값으로 현재 제2 페이지(820)에서 실행 중인 스크립트 언어의 파일의 타입과 매개변수 등을 제2 단말(102)에 전송한다. 또한, 제1 단말(101)은 UI 컴포넌트의 값으로, 제1 페이지(810)에서 성별을 묻는 설문 항목의 여자임을 체크한 라디오 버튼(802)의 값, 나이를 묻는 설문 항목의 20대임을 체크한 라디오 버튼(803)의 값, 제2 페이지(820)에서 매장을 이용하는 빈도를 묻는 설문 항목에서 한 달에 2번을 체크한 라디오 버튼(804)의 값, 및 제3 페이지(830)의 에디트 박스(805)에 입력된 텍스트 "주말 할인 시간대를 늘려 주세요"를 제2 단말(102)에 전송한다. 그리고 제1 단말(101)은 포워드 및 백워드 페이지 리스트로 제2 페이지(820)의 포워드 페이지는 제3 페이지(830)이며, 제2 페이지(830)의 백워드 페이지는 제1 페이지(810)임을 알리는 정보를 전송한다. For example, referring to FIG. 8, the
상술한 바와 같이, 제1 단말(101)이 상태 정보를 전송한 경우, 제2 단말(102)이 상태 정보를 이용하여 웹 어플리케이션(200)을 실행시키는 방법에 대해서 설명하기로 한다. As described above, a method for the
도 10은 본 발명의 실시예에 따른 웹 어플리케이션 실행을 위한 전송 방법을 설명하기 위한 흐름도이다. 10 is a flowchart illustrating a transmission method for executing a web application according to an embodiment of the present invention.
도 10에서는 도 6의 제2 단말(102)의 경우에 해당하는 웹 어플리케이션(200) 전송 방법에 대해서 설명하고자 한다. In FIG. 10, a method of transmitting the
도 10을 참조하면, 제어부(170)는 S1001 단계에서 연결 요청을 제1 단말(101)로부터 수신한다. 이 연결 요청은 웹 어플리케이션(200) 및 상태 정보를 수신하기 위한 연결을 설정하기 위한 요청이다. Referring to FIG. 10, the
제어부(170)는 S1003 단계에서 해당 연결이 가능한지 여부를 판단한다. S1003 단계의 판단 결과, 해당 연결이 불가능한 경우, 제어부(170)는 S1005 단계에서 연결 실패 메시지를 전송하고, 프로세스를 종료한다. 반면, 해당 연결이 가능한 경우, 제어부(170)는 S1007 단계에서 연결이 성공되었음을 알리는 연결 성공 메시지를 전송한다. The
그런 다음, 제어부(170)는 S1009 단계에서 제1 단말(101)로부터 수신한 연결 요청에 의거한 웹 어플리케이션(200)이 존재하는지 판단한다. Then, the
이때, 해당 웹 어플리케이션(200)이 존재하지 않으면, 제어부(170)는 S1011 단계에서 해당 웹 어플리케이션(200)을 요청하고, S1013 단계에서 이 웹 어플리케이션(200)을 수신하여 설치한다. 반면, 해당 웹 어플리케이션(200)이 존재하면, 제어부(170)는 S1015 단계에서 해당 웹 어플리케이션(200)이 이미 설치되어 있음을 알리는 메시지를 전송한다. At this time, if the
웹 어플리케이션(200)이 설치된 경우, 제어부(170)는 S1017 단계에서 상태 정보를 수신하고, S1019 단계에서 수신한 상태 정보에 따라 웹 어플리케이션(200)을 실행한다. When the
즉, 제1 단말(101)이 도 8에서 설명한 바와 같은 상태 정보를 전송하였다고 가정하면, 제어부(170)는 실행 중인 페이지 식별자로 제2 페이지(820)의 식별자를 수신하여, 제2 페이지(820)을 실행시킨다. 이때, 제어부(170)는 제2 페이지(820)에서 실행 중인 스크립트 언어의 파일의 타입과 매개변수 등을 이용하여 제2 페이지(820)를 실행시킨다. 8, the
예컨대, 제어부(170)는 도 6에서 설명한 바와 같이, 제2 페이지를 실행시키기 위해, 플랫폼(300)이 제공하는 인터페이스를 이용하여, 제2 페이지를 표시하기 위한 윈도우를 실행하도록 플랫폼(300)에 요청하며, 이는 제1 단말(101)과 동일하다. 다만, 제2 단말(102)의 제어부(170)에서 구동하는 플랫폼(300)은 제2 운영 체제(402)에 맞는 형식의 인터페이스를 이용하여, 윈도우를 실행하도록 제2 운영 체제(402)에 요청하며, 이에 따라, 운영 체제(402)는 윈도우를 실행시킨다. 그런 다음, 제어부(170)는 플랫폼(300)에 제2 페이지의 UI 컴포넌트를 표시하도록 요청한다. 이에 따라, 플랫폼(300)은 UI 컴포넌트를 표시하도록 제2 운영 체제(402)에 요청한다. 이에 따라, 제2 운영 체제(402)는 제2 페이지의 UI 컴포넌트인 라디오 버튼을 표시한다. 그런 다음, 도 7에서 설명한 바와 같이, 그리고 제어부(170)는 수신한 UI 컴포넌트 값에 의거하여, 제2 페이지(820)의 매장을 이용하는 빈도를 묻는 설문 항목에서 한 달에 2번을 지시하는 라디오 버튼(804)을 체크한 상태로 표시한다. For example, the
한편, 제어부(170)는 제1 페이지(810)에서 성별을 묻는 설문 항목에서 여자임을 체크한 라디오 버튼(802)의 값, 나이를 묻는 설문 항목에서 20대임을 체크한 라디오 버튼(803)의 값 및 제3 페이지(830)의 에디트 박스(805)에 입력된 텍스트 "주말 할인 시간대를 늘려 주세요."는 저장하였다가 해당 페이지가 실행될 때 해당 값을 적용한다.On the other hand, the
그리고 포워드 및 백워드 페이지 리스트로 제2 페이지(820)의 포워드 페이지는 제3 페이지(830)이며, 제2 페이지(820)의 백워드 페이지는 제1 페이지(810)임을 알리는 정보를 저장하였다가 사용자가 포워드 페이지 또는 백워드 페이지를 실행하도록 요청하는 경우, 각각 제3 페이지(830) 및 제1 페이지(810)를 실행시킨다. And the forward page of the
본 발명의 실시예에 따른 끊김 없는 웹 어플리케이션 실행을 위한 단말의 상태 정보 송수신 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터로 판독 가능한 기록 매체에 기록될 수 있다. 기록 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 기록 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 예컨대 기록 매체는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치를 포함한다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함할 수 있다. 이러한 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.A method of transmitting and receiving status information of a terminal for seamless web application execution according to an embodiment of the present invention may be implemented in the form of a program command that can be executed through various computer means and recorded in a computer readable recording medium. The recording medium may include program commands, data files, data structures, and the like, alone or in combination. Program instructions to be recorded on a recording medium may be those specially designed and constructed for the present invention or may be available to those skilled in the art of computer software. For example, the recording medium may be a magnetic medium such as a hard disk, a floppy disk and a magnetic tape, an optical medium such as a CD-ROM or a DVD, a magneto-optical medium such as a floppy disk magneto-optical media, and hardware devices that are specially configured to store and execute program instructions such as ROM, RAM, flash memory, and the like. Examples of program instructions may include machine language code such as those generated by a compiler, as well as high-level language code that may be executed by a computer using an interpreter or the like. Such a hardware device may be configured to operate as one or more software modules to perform the operations of the present invention, and vice versa.
한편, 본 명세서와 도면에 개시된 본 발명의 실시 예들은 이해를 돕기 위해 특정 예를 제시한 것에 지나지 않으며, 본 발명의 범위를 한정하고자 하는 것은 아니다. 여기에 개시된 실시 예들 이외에도 본 발명의 기술적 사상에 바탕을 둔 다른 변형 예들이 실시 가능하다는 것은, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 자명한 것이다.It should be noted that the embodiments of the present invention disclosed in the present specification and drawings are only illustrative of specific examples for the purpose of understanding and are not intended to limit the scope of the present invention. It will be apparent to those skilled in the art that other modifications based on the technical idea of the present invention are possible in addition to the embodiments disclosed herein.
본 발명은 이동통신 단말기, PMP, PDA, 노트북, MP3 플레이어와 같은 다양한 종류의 사용자 장치에 적용되는 끊김 없는 웹 어플리케이션 실행을 위한 단말의 상태 정보 송수신 장치, 그 방법 및 그 방법이 기록된 컴퓨터로 판독 가능한 기록 매체에 관한 것으로, 운영 체제 별로 다른 형식을 가지는 단말의 자원 및 기능에 접근할 수 있는 플랫폼을 통해 적어도 2개의 단말 각각에 이식된 운영 체제의 종류에 무관하게 어느 하나의 단말에서 실행 중이던 웹 어플리케이션을 다른 단말에 전송하여 어느 하나의 단말에서 실행하던 웹 어플리케이션을 실행하던 상태 그대로 끊김 없이(seamless) 다른 단말에서 실행할 수 있도록 함으로써, 사용자들이 동일한 웹 어플리케이션을 서로 다른 운영 체제를 가지는 단말에서 끊김 없이 이어서 동일한 웹 어플리케이션을 실행 중인 상태 그대로 사용할 수 있는 사용자 경험을 제공할 수 있어, 시판 또는 영업의 가능성이 충분할 뿐만 아니라 현실적으로 명백하게 실시할 수 있는 정도이므로 산업상 이용가능성이 있다.The present invention relates to an apparatus and method for transmitting and receiving a state information of a terminal for executing seamless web applications applied to various types of user devices such as a mobile communication terminal, a PMP, a PDA, a notebook computer, an MP3 player, The present invention relates to a recording medium capable of accessing resources and functions of a terminal having different formats for different operating systems, The application can be transmitted to other terminals and can be seamlessly executed in another terminal in a state in which the web application executed in one terminal is executed. Thus, the users can execute the same web application seamlessly Then run the same web application It is possible to provide a user experience that can be used as it is in the state in which it is being used.
100: 단말 101: 제1 단말
102: 제2 단말 110: 무선 통신부
120: 무선 랜 통신부 130: 무선 팬 통신부
140: 저장부 150: 표시부
160: 입력부 170: 제어부
200: 웹 어플리케이션 210: 소스 파일
220: 리소스 파일
300: 플랫폼 310: 실행 계층부
320: 이식 계층부 311: 런타임 모듈
313: 브라우저 엔진 모듈 315: 인증 모듈
400: 운영 체제 700: 페이지
710: 윈도우 711: 최소화, 최대화 닫기 버튼
720: UI 컴포넌트 721: 에디트 박스
723: 저장 버튼
810: 제1 페이지 820: 제2 페이지
830: 제3 페이지 801: 버튼
802, 803, 804: 라디오 버튼 805: 에디트 박스100: terminal 101: first terminal
102: second terminal 110: wireless communication section
120: wireless LAN communication unit 130: wireless fan communication unit
140: storage unit 150: display unit
160: input unit 170:
200: Web application 210: source file
220: Resource file
300: platform 310: execution layer
320: Portion Hierarchy Unit 311: Runtime Module
313: Browser engine module 315: Authentication module
400: Operating System 700: Page
710: Windows 711: Minimize, Maximize Close Button
720: UI component 721: edit box
723: Save button
810: 1st page 820: 2nd page
830: third page 801: button
802, 803, 804: radio button 805: edit box
Claims (26)
이동통신망을 통해 데이터를 송수신하기 위한 무선 통신부;
무선 랜 방식에 따라 데이터를 송수신하기 위한 무선 랜 통신부;
무선 팬 방식에 따라 데이터를 송수신하기 위한 무선 팬 통신부;
웹 어플리케이션의 단말 기능 실행 요청이 있으면, 상기 기능 실행을 수행하도록 운영 체제의 형식에 맞게 요청하는 플랫폼을 구동하며, 상기 웹 어플리케이션의 실행 중 상기 웹 어플리케이션의 실행 상태에 대한 정보인 상태 정보를 다른 단말에 전송하도록 상기 무선 통신부, 무선 랜 통신부 및 무선 팬 통신부 중 어느 하나를 제어하는 제어부;를 포함하고,
상기 상태 정보는 상기 웹 어플리케이션이 실행되고 있는 현재의 실행 상태를 나타내는 정보이며, 페이지 식별자, 레지스트리 값, UI컴포넌트 값, 포워드 및 백워드 페이지 리스트 중 하나 이상을 포함하는 것을 특징으로 하는 단말의 상태 정보 송수신 장치.A device for transmitting and receiving status information of a terminal for seamless web application execution,
A wireless communication unit for transmitting and receiving data through a mobile communication network;
A wireless LAN communication unit for transmitting and receiving data according to a wireless LAN system;
A wireless fan communication unit for transmitting and receiving data according to a wireless fan scheme;
The method comprising the steps of: if the request for executing the terminal function of the web application is requested, driving a platform that requests the function according to the format of the operating system to perform the function, And a controller for controlling the wireless communication unit, the wireless LAN communication unit, and the wireless fan communication unit,
Wherein the status information includes at least one of a page identifier, a registry value, a UI component value, and a forward and backward page list, the information indicating a current execution state in which the web application is being executed. Transceiver.
상기 다른 단말에 상기 웹 어플리케이션과 동일한 웹 어플리케이션이 설치 되어 있지 않으면, 상기 상태 정보 전송 전, 상기 웹 어플리케이션을 전송하도록 상기 무선 통신부, 무선 랜 통신부 및 무선 팬 통신부 중 어느 하나를 제어하는 것을 특징으로 하는 단말의 상태 정보 송수신 장치. The apparatus of claim 1, wherein the control unit
And controls the wireless communication unit, the wireless LAN communication unit, and the wireless fan communication unit to transmit the web application before the status information is transmitted, if the same web application as the web application is not installed in the other terminal A device for transmitting and receiving status information of a terminal.
다른 단말로부터 웹 어플리케이션의 실행 상태에 대한 정보인 상태 정보를 수신하여, 상기 다른 단말에서 실행 중이던 웹 어플리케이션의 실행 상태 그대로 웹 어플리케이션을 실행시키는 것을 특징으로 하는 단말의 상태 정보 송수신 장치. The apparatus of claim 1, wherein the control unit
Receiving state information, which is information on the execution state of the web application from another terminal, and executing the web application as it is in the execution state of the web application being executed by the other terminal.
자기 자신에 상기 다른 단말과 동일한 웹 어플리케이션이 설치되어 있지 않으면, 상기 상태 정보 수신 전, 상기 동일한 웹 어플리케이션을 수신하여 설치하는 것을 특징으로 하는 단말의 상태 정보 송수신 장치. 4. The apparatus of claim 3, wherein the control unit
Wherein the same web application is received and installed before reception of the status information if the same web application as the other terminal is not installed on the terminal itself.
상기 웹 어플리케이션이 실행 중인 페이지의 식별자임을 특징으로 하는 단말의 상태 정보 송수신 장치. The method of claim 1, wherein the page identifier
Wherein the web application is an identifier of a page on which the web application is executing.
웹 어플리케이션에서 취급하는 파일 타입 및 매개변수를 포함하는 것을 특징으로 하는 단말의 상태 정보 송수신 장치. 2. The method of claim 1, wherein the registry value
And a file type and parameters handled by the web application.
버튼, 라디오 버튼, 체크 박스, 리스트 박스, 콤보 박스 및 텍스트 에디터 중 적어도 하나를 포함하는 것을 특징으로 하는 단말의 상태 정보 송수신 장치. The method of claim 1, wherein the UI component
A radio button, a check box, a list box, a combo box, and a text editor.
상기 웹 어플리케이션 실행에 따라 사용자가 입력한 값임을 특징으로 하는 단말의 상태 정보 송수신 장치. The method of claim 1, wherein the UI component value
And a value input by the user according to execution of the web application.
웹 어플리케이션 실행 시, 시간상 앞과 뒤에 실행된 페이지들의 리스트이며, 시간상 앞과 뒤에 실행된 페이지들의 링크를 포함하는 것을 특징으로 하는 단말의 상태 정보 송수신 장치. 2. The method of claim 1, wherein the forward and backward page lists
A list of pages executed before and after the time when the web application is executed, and a link of pages executed before and after the time.
상기 웹 어플리케이션으로부터 운영 체제의 종류에 무관하게 상기 운영 체제가 관장하는 기능 실행의 요청을 수신하여, 수신된 기능 실행의 요청을 전달하는 실행 계층부; 및
상기 기능 실행 요청을 상기 운영 체제의 종류에 맞게 변경하여 상기 운영 체제가 상기 기능 실행 요청에 따른 기능을 실행하도록 하는 이식 계층부;를 포함하는 것을 특징으로 하는 단말의 상태 정보 송수신 장치. The system of claim 1, wherein the platform
An execution layer for receiving a request for executing a function supervised by the operating system from the web application regardless of the type of the operating system and transmitting a request for executing the received function; And
And a port layer for changing the function execution request according to the type of the operating system and causing the operating system to execute a function corresponding to the function execution request.
적어도 하나의 인터페이스 모듈을 포함하며, 상기 인터페이스 모듈 각각은 상기 기능 실행의 종류에 따른 인터페이스를 가지는 것을 특징으로 하는 단말의 상태 정보 송수신 장치. 12. The apparatus of claim 11, wherein the implantation layer
And at least one interface module, wherein each of the interface modules has an interface according to a type of the execution of the function.
상기 운영 체제의 종류에 따라, 상기 운영 체제를 통해 상기 기능을 실행하도록 하거나, 상기 웹 어플리케이션의 요청을 각 운영 체제에 맞게 형식을 변환하여 상기 운영 체제에 전달하는 것을 특징으로 하는 단말의 상태 정보 송수신 장치. 13. The system of claim 12, wherein the interface
Wherein the server is configured to execute the function through the operating system according to the type of the operating system or to transfer the request of the web application to the operating system by converting the format according to each operating system. Device.
웹 어플리케이션을 실행시키고, 웹 어플리케이션이 실행되면 실행된 웹 어플리케이션을 관리하며, 레지스트리 및 UI 컴포넌트를 관리하는 런타임 모듈;
상기 런타임 모듈의 제어에 따라 상기 웹 어플리케이션을 해석하여 랜더링하는 브라우저 엔진 모듈; 및
웹 어플리케이션의 인증을 위한 인증 모듈을 포함하는 것을 특징으로 하는 단말의 상태 정보 송수신 장치. 12. The apparatus of claim 11, wherein the execution layer
A runtime module for executing a web application, managing a web application executed when the web application is executed, and managing a registry and a UI component;
A browser engine module for interpreting and rendering the web application under the control of the runtime module; And
And an authentication module for authentication of the web application.
마크 업 랭귀지와 스타일시트 등을 처리하기 위한 브라우저 엔진과 스크립트 언어를 처리하기 위한 인터프리터인 스크립트 엔진을 포함하는 것을 특징으로 하는 단말의 상태 정보 송수신 장치. 15. The system of claim 14, wherein the browser engine module
A browser engine for processing a markup language, a style sheet, and the like; and a script engine as an interpreter for processing a script language.
상기 웹 어플리케이션의 전송, 수신, 설치 및 실행 시, 정당한 절차에 의해 수행되는지 여부를 인증하는 것을 특징으로 하는 단말의 상태 정보 송수신 장치. 15. The system of claim 14, wherein the authentication module
Wherein the authenticating means verifies whether or not the web application is performed by a proper procedure when transmitting, receiving, installing and executing the web application.
웹 어플리케이션 실행 중, 다른 단말과 연결을 설정하는 단계; 및
상기 다른 단말에 상기 웹 어플리케이션의 현재 실행 상태를 나타내는 정보인 상태 정보를 전송하는 단계;를 포함하고,
상기 상태 정보는 상기 웹 어플리케이션이 실행되고 있는 현재의 실행 상태를 나타내는 정보이며, 상기 웹 어플리케이션의 현재 실행 중인 페이지를 나타내는 페이지 식별자, 상기 웹 어플리케이션이 취급하는 파일 타입 및 매개변수를 포함하는 레지스트리 값, 상기 웹 어플리케이션 실행에 따라 사용자가 UI 컴포넌트에 입력한 값인 UI컴포넌트 값, 웹 어플리케이션 실행 시, 시간상 앞과 뒤에 실행된 페이지들의 리스트들의 링크인 포워드 및 백워드 페이지 리스트 중 하나 이상을 포함하는 것을 특징으로 하는 단말의 상태 정보 송신 방법. A method for transmitting status information of a terminal for seamless web application execution,
Establishing a connection with another terminal during execution of the web application; And
And transmitting status information, which is information indicating a current execution state of the web application, to the other terminal,
The status information is information indicating a current execution status in which the web application is being executed. The status information includes a page identifier indicating a currently executing page of the web application, a registry value including a file type handled by the web application, A UI component value that is a value input by the user to the UI component according to the execution of the web application, a forward and backward page list that is a list of pages executed before and after the web application at the time of executing the web application, And transmitting the status information of the terminal.
상기 다른 단말에 상기 웹 어플리케이션과 동일한 웹 어플리케이션이 설치되어 있는지 확인하는 단계; 및
상기 확인 결과, 동일한 웹 어플리케이션이 존재하지 않으면, 상기 웹 어플리케이션을 전송하는 단계;를 더 포함하는 단말의 상태 정보 송신 방법. 18. The method of claim 17, further comprising, after the establishing step,
Checking whether the same web application as the web application is installed in the other terminal; And
And transmitting the web application if the same web application does not exist as a result of the checking.
다른 단말로부터 상기 다른 단말의 웹 어플리케이션의 실행 상태를 나타내는 정보인 상태 정보를 수신하는 단계; 및
상기 상태 정보에 따라 상기 웹 어플리케이션을 실행하는 단계;를 포함하고,
상기 상태 정보는,
상기 웹 어플리케이션이 현재 실행 중인 페이지를 나타내는 페이지 식별자,
상기 웹 어플리케이션이 취급하는 파일 타입 및 매개변수를 포함하는 레지스트리 값,
상기 웹 어플리케이션 실행에 따라 사용자가 입력한 값인 UI 컴포넌트 값 및
상기 웹 어플리케이션 실행 시, 시간상 앞과 뒤에 실행된 페이지들의 리스트들의 링크인 포워드 및 백워드 페이지 리스트 중 하나 이상을 포함하는 것을 특징으로 하는 단말의 상태 정보 수신 방법.A method for receiving state information of a terminal for seamless web application execution,
Receiving status information, which is information indicating an execution status of the web application of the other terminal, from another terminal; And
And executing the web application according to the status information,
The status information may include:
A page identifier indicating a page currently being executed by the web application,
A registry value including file types and parameters handled by the web application,
A UI component value that is a value input by the user in accordance with the execution of the web application,
And a list of forward and backward pages, which are links of lists of pages executed before and after the web application in execution of the web application.
상기 레지스트리 값이 지시하는 파일 형식 및 매개변수를 이용하여 상기 페이지 식별자의 페이지를 실행시키며, 상기 UI 컴포넌트 값을 상기 페이지의 UI 컴포넌트에 적용하는 것을 특징으로 하는 단말의 상태 정보 수신 방법. 22. The method of claim 21,
Executing a page of the page identifier using a file format and parameters indicated by the registry value, and applying the UI component value to a UI component of the page.
상기 포워드 및 백워드 페이지 리스트를 저장하였다가, 사용자의 요청이 있을 시, 상기 포워드 및 백워드 페이지 리스트의 링크에 따라 포워드 또는 백워드 페이지를 실행시키는 것을 특징으로 하는 단말의 상태 정보 수신 방법. 22. The method of claim 21,
Storing the forward and backward page lists, and executing a forward or backward page according to a link of the forward and backward page lists when a user requests.
상기 다른 단말의 웹 어플리케이션과 동일한 웹 어플리케이션이 설치되어 있는지 확인하는 단계; 및
상기 확인 결과, 동일한 웹 어플리케이션이 설치되어 있지 않으면, 상기 동일한 웹 어플리케이션을 수신하여 설치하는 단계;를 더 포함하는 단말의 상태 정보 수신 방법. 22. The method of claim 21, further comprising, after said receiving,
Confirming whether the same web application as the web application of the other terminal is installed; And
And receiving and installing the same web application if the same web application is not installed as a result of the checking.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020100059550A KR101599713B1 (en) | 2010-06-23 | 2010-06-23 | Apparatus for transmitting and receiving the status for executing web application seamlessly in a terminal, method thereof and computer recordable medium storing the method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020100059550A KR101599713B1 (en) | 2010-06-23 | 2010-06-23 | Apparatus for transmitting and receiving the status for executing web application seamlessly in a terminal, method thereof and computer recordable medium storing the method |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20110139446A KR20110139446A (en) | 2011-12-29 |
KR101599713B1 true KR101599713B1 (en) | 2016-03-04 |
Family
ID=45504934
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020100059550A KR101599713B1 (en) | 2010-06-23 | 2010-06-23 | Apparatus for transmitting and receiving the status for executing web application seamlessly in a terminal, method thereof and computer recordable medium storing the method |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101599713B1 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11210147B2 (en) | 2016-02-03 | 2021-12-28 | Samsung Electronics Co., Ltd. | Electronic device for performing application-related interoperation, and method therefor |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004015692A (en) | 2002-06-11 | 2004-01-15 | Nippon Telegr & Teleph Corp <Ntt> | Method and system for sharing/processing status information between communication applications |
KR100689660B1 (en) | 2005-12-20 | 2007-03-08 | (주) 엘지텔레콤 | Portable equipment and sharing condition service system and service providing method using the same |
KR100957020B1 (en) | 2007-10-17 | 2010-05-13 | 에스케이 텔레콤주식회사 | Method and Smartphone for Operating Heterogeneous Application |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100911298B1 (en) * | 2007-09-10 | 2009-08-11 | 에스케이 텔레콤주식회사 | System and Method for Controlling Application, and Mobile Communication Terminal therefor |
-
2010
- 2010-06-23 KR KR1020100059550A patent/KR101599713B1/en active IP Right Grant
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004015692A (en) | 2002-06-11 | 2004-01-15 | Nippon Telegr & Teleph Corp <Ntt> | Method and system for sharing/processing status information between communication applications |
KR100689660B1 (en) | 2005-12-20 | 2007-03-08 | (주) 엘지텔레콤 | Portable equipment and sharing condition service system and service providing method using the same |
KR100957020B1 (en) | 2007-10-17 | 2010-05-13 | 에스케이 텔레콤주식회사 | Method and Smartphone for Operating Heterogeneous Application |
Also Published As
Publication number | Publication date |
---|---|
KR20110139446A (en) | 2011-12-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101482149B1 (en) | Apparatus for executing application, method thereof and computer recordable medium storing the method | |
KR101599713B1 (en) | Apparatus for transmitting and receiving the status for executing web application seamlessly in a terminal, method thereof and computer recordable medium storing the method | |
CN110399040A (en) | Multi-modal exchange method, ustomer premises access equipment, server and system | |
KR101460515B1 (en) | Apparatus for executing application, method thereof and computer recordable medium storing the method | |
KR20150099016A (en) | A system for providing an application developing environment | |
KR20150097190A (en) | A system for providing an application developing environment | |
KR20150099136A (en) | A method for providing an application developing environment | |
KR20150099279A (en) | A system for providing an application developing environment | |
KR20150099021A (en) | A system for providing an application developing environment | |
KR20150099028A (en) | A system for providing an application developing environment | |
KR20150098917A (en) | A method for providing an application developing environment | |
KR20150098907A (en) | A method for providing an application developing environment | |
KR20150098919A (en) | A method for providing an application developing environment | |
KR20150098995A (en) | A recording media specialized for an application developing environment program recording recognized by computer | |
KR20150099011A (en) | A system for providing an application developing environment | |
KR20150099031A (en) | A system for providing an application developing environment | |
KR20150099029A (en) | A system for providing an application developing environment | |
KR20150099047A (en) | A method for providing an application developing environment | |
KR20150099253A (en) | A system for providing an application developing environment | |
KR20150099260A (en) | A system for providing an application developing environment | |
KR20150099012A (en) | A system for providing an application developing environment | |
KR20150099018A (en) | A system for providing an application developing environment | |
KR20150099032A (en) | A system for providing an application developing environment | |
KR20150099015A (en) | A system for providing an application developing environment | |
KR20150098999A (en) | A recording media specialized for an application developing environment program recording recognized by computer |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
N231 | Notification of change of applicant | ||
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E90F | Notification of reason for final refusal | ||
E701 | Decision to grant or registration of patent right | ||
FPAY | Annual fee payment |
Payment date: 20200122 Year of fee payment: 5 |