KR101504088B1 - Apparatus for executing web application, method thereof and computer recordable medium storing the method - Google Patents
Apparatus for executing web application, method thereof and computer recordable medium storing the method Download PDFInfo
- Publication number
- KR101504088B1 KR101504088B1 KR1020100053649A KR20100053649A KR101504088B1 KR 101504088 B1 KR101504088 B1 KR 101504088B1 KR 1020100053649 A KR1020100053649 A KR 1020100053649A KR 20100053649 A KR20100053649 A KR 20100053649A KR 101504088 B1 KR101504088 B1 KR 101504088B1
- Authority
- KR
- South Korea
- Prior art keywords
- web application
- file
- page
- resource
- resource file
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
- G06F8/62—Uninstallation
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
- G06F8/63—Image based installation; Cloning; Build to order
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/451—Execution arrangements for user interfaces
- G06F9/453—Help systems
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/541—Interprogram communication via adapters, e.g. between incompatible applications
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Information Transfer Between Computers (AREA)
Abstract
본 발명은 웹 어플리케이션 실행 장치, 이의 웹 어플리케이션 실행 방법 및 이 방법이 기록된 컴퓨터로 판독 가능한 기록 매체에 관한 것으로, 웹 어플리케이션의 리소스 파일을 웹 어플리케이션의 실행 전에 미리 다운로드 받고, 사용자의 웹 어플리케이션 실행 요청이 있는 때에 그 다운로드 받은 리소스 파일을 이용하여 웹 어플리케이션을 실행시킴으로써, 웹 어플리케이션 실행 시, 리소스 파일을 다운로드 받는 시간을 절약할 수 있으므로, 그 웹 어플리케이션의 응답 속도를 향상시킬 수 있다. The present invention relates to a web application execution device, a web application execution method of the web application execution method, and a computer readable recording medium on which the method is recorded, wherein the resource file of the web application is downloaded in advance before execution of the web application, The time required for downloading the resource file can be saved when the web application is executed by executing the web application using the downloaded resource file. Therefore, the response speed of the web application can be improved.
Description
본 발명은 웹 어플리케이션 실행 기술에 관한 것으로, 보다 상세하게는, 웹 어플리케이션 실행에 필요한 리소스를 미리 다운로드 받은 후, 웹 어플리케이션을 실행하여 응답 속도의 향상을 가져올 수 있는 웹 어플리케이션 실행 장치, 이의 웹 어플리케이션 실행 방법 및 이 방법이 기록된 컴퓨터로 판독 가능한 기록 매체에 관한 것이다. The present invention relates to a web application execution technology, and more particularly, to a web application execution apparatus capable of executing a web application and downloading resources necessary for executing the web application in advance to improve the response speed, And a computer-readable recording medium on which the method is recorded.
최근 이동 통신 단말에 대한 오픈 환경이 제공되면서, 서비스의 차별화를 위하여 개방형 어플리케이션 및 플랫폼 환경이 요구되고 있다. 초기의 클라이언트-서버(client-server) 컴퓨팅 환경에서 각 어플리케이션들은 각 어플리케이션 별로 다른 저만의 사용자 인터페이스를 가지고 있었고, 각 사용자의 컴퓨터에 각각 따로 설치하여야 했다. 서버 환경이 바뀌면 클라이언트에 인스톨된 어플리케이션도 이에 맞춰 업그레이드해야 했다. 이에 따라 기술 지원 비용은 증가하고 생산성은 떨어지게 되었다.Recently, an open application and a platform environment have been required for differentiating services while providing an open environment for a mobile communication terminal. In the initial client-server computing environment, each application had its own unique user interface for each application and had to be installed separately on each user's computer. When the server environment changed, the applications installed on the client had to be upgraded accordingly. As a result, technical support costs have increased and productivity has decreased.
반면, 단순한 콘텐츠를 표현하기 위해 시작된 웹 페이지는 브라우저라는 클라이언트 어플리케이션을 사용할 수 있는 환경만 갖춰지면 어디서나 동등한 수준의 사용자 인터페이스를 제공할 수 있다는 장점 때문에, 사용자 저변과 서비스 영역을 빠르게 확장해왔다. 이와 함께, 웹 페이지는 특정 내용을 개시하는 단순한 콘텐츠에서 사용자의 입력에 반응하여 사용자가 원하는 서비스를 제공할 수 있는 웹 어플리케이션으로 진화하고 있다. 하지만, 단말은 복수의 페이지로 이루어진 웹 어플리케이션을 실행할 때, 각 페이지에 삽입되는 리소스 파일을 다운로드 받은 후, 그 다운로드 받은 파일을 브라우저를 통해 표시해야 함으로, 웹 어플리케이션의 실행의 응답 속도가 느려지는 문제가 있다. On the other hand, Web pages started to express simple contents have been rapidly expanding the user base and service area because they can provide an equal level of user interface wherever the user can use a client application called a browser. At the same time, web pages are evolving into web applications that can provide users with desired services in response to user input from simple content that starts specific content. However, when executing a web application composed of a plurality of pages, the terminal must download the resource file inserted in each page and then display the downloaded file through the browser, so that the response speed of execution of the web application is slow .
따라서 상술한 바와 같은 문제를 감안한 본 발명의 목적은 웹 어플리케이션의 페이지에 삽입되는 리소스 파일을 미리 다운로드 하여 웹 어플리케이션의 실행 시. 리소스 파일의 다운로드 시간을 절약함으로써 응답 속도를 향상시킬 수 있는 웹 어플리케이션 실행 장치, 이의 웹 어플리케이션 실행 방법 및 이 방법이 기록된 컴퓨터로 판독 가능한 기록 매체를 제공함에 있다. SUMMARY OF THE INVENTION Accordingly, the present invention has been made keeping in mind the above problems occurring in the prior art, and an object of the present invention is to provide a method and apparatus for downloading a resource file, A web application executing method, a computer readable recording medium on which the method is executed, and a web application executing apparatus capable of improving a response speed by saving download time of a resource file.
상술한 바와 같은 목적을 달성하기 위한 본 발명의 바람직한 실시예에 따른 웹 어플리케이션 실행 장치는, 네트워크에 연결해 통신을 수행하기 위한 네트워크 연결부; 상기 웹 어플리케이션을 패키지 단위인 웹 어플리케이션 패키지로 저장하는 저장부; 및 상기 웹 어플리케이션의 실행 전, 상기 웹 어플리케이션의 소스 파일을 분석하여, 웹 어플리케이션 실행시 필요한 리소스 파일 중 미리 다운로드 받을 수 있는 리소스 파일의 목록인 다운로드 리소스 목록을 작성하여 상기 저장부에 저장하고, 대기 모드에서 상기 네트워크 연결부를 통해 상기 다운로드 리소스 목록의 리소스 파일을 다운로드 하여 상기 저장부에 저장하며, 사용자의 웹 어플리케이션 실행 요청이 있는 경우, 상기 다운로드 받은 리소스 파일을 이용하여 상기 웹 어플리케이션을 실행하는 제어부;를 포함한다.According to another aspect of the present invention, there is provided an apparatus for executing a web application, the apparatus comprising: a network connection unit for connecting to a network and performing communication; A storage unit for storing the web application as a web application package as a package unit; And analyzing a source file of the web application before execution of the web application to create a download resource list which is a list of resource files that can be downloaded in advance among the resource files necessary for executing the web application, A control unit for downloading the resource file of the download resource list through the network connection unit and storing the resource file in the storage unit in the mode, and executing the web application using the downloaded resource file when the user requests to execute the web application; .
본 발명의 웹 어플리케이션 실행 장치에 있어서, 상기 다운로드 리소스 목록은 상기 소스 파일에서 태그 및 상기 태그의 속성이 리소스 파일의 링크를 지시하는 주소인 경우, 상기 주소를 등록한 것임을 특징으로 한다.In the web application execution apparatus of the present invention, the download resource list is registered when the tag in the source file and the attribute of the tag indicate the link of the resource file.
본 발명의 웹 어플리케이션 실행 장치에 있어서, 상기 대기 모드는 상기 네트워크 연결부의 네트워크 트래픽이 기 설정된 용량 미만인 경우임을 특징으로 한다.In the web application execution apparatus of the present invention, the idle mode is a case where the network traffic of the network connection unit is less than a predetermined capacity.
본 발명의 웹 어플리케이션 실행 장치에 있어서, 상기 제어부는 상기 다운로드 받은 리소스 파일을 이용하여 상기 웹 어플리케이션의 각 페이지에 대해 바이너리 페이지 데이터를 미리 생성한 후, 사용자의 웹 어플리케이션 실행 요청이 있는 경우, 상기 바이너리 페이지 데이터를 랜더링하여 웹 어플리케이션을 실행하는 것을 특징으로 한다.In the web application execution apparatus of the present invention, the control unit may previously generate binary page data for each page of the web application using the downloaded resource file, and if there is a request for executing a web application of the user, And executes the web application by rendering the page data.
본 발명의 웹 어플리케이션 실행 장치에 있어서, 상기 저장부는 상기 웹 어플리케이션 패키지에 대한 정보, 상기 웹 어플리케이션을 다른 웹 어플리케이션과 구분하여 실행시키기 위한 실행 정보 및 상기 다운로드 리소스 목록을 저장하는 레지스트리를 포함한다.In the web application execution apparatus of the present invention, the storage unit may include information on the web application package, execution information for executing the web application differently from other web applications, and a registry for storing the download resource list.
본 발명의 웹 어플리케이션 실행 장치에 있어서, 상기 실행 정보는, 프로토콜 스킴(protocol scheme) 및 상기 프로토콜 스킴에 이어서 기술되는 주소로 이루어지는 것을 특징으로 한다.In the web application execution apparatus of the present invention, the execution information may be a protocol scheme and an address described in the protocol scheme.
본 발명의 웹 어플리케이션 실행 장치에 있어서, 상기 프로토콜 스킴은 "httpa://"의 형식을 가지는 것을 특징으로 한다.In the web application execution apparatus of the present invention, the protocol scheme is characterized by having a format of "http: //".
본 발명의 웹 어플리케이션 실행 장치에 있어서, 상기 주소는 상기 웹 어플리케이션을 제작한 제작사 또는 상기 웹 어플리케이션을 제공하는 콘텐츠 제공자의 도메인 명칭, 상기 웹 어플리케이션을 이루는 패키지의 명칭인 웹 어플리케이션 패키지 명칭 및 상기 웹 어플리케이션을 실행할 때 가장 먼저 실행시키는 소스 파일의 명칭인 시작 페이지를 포함한다.In the web application execution apparatus of the present invention, the address may be a domain name of a manufacturer who produced the web application or a content provider providing the web application, a web application package name which is a name of a package constituting the web application, The start page, which is the name of the source file to be executed first.
본 발명의 웹 어플리케이션 실행 장치에 있어서, 상기 제어부는 상기 웹 어플리케이션을 설치할 시, 상기 레지스트리에 상기 실행 정보를 등록하는 것을 특징으로 한다.In the web application execution apparatus of the present invention, when the web application is installed, the control unit registers the execution information in the registry.
본 발명의 웹 어플리케이션 실행 장치에 있어서, 상기 저장부는 상기 다운로드 리소스 목록을 만들 시 상기 웹 어플리케이션의 각 페이지가 선입선출 방식에 따라 순차로 입력되고 출력되는 큐를 포함하는 것을 특징으로 한다.In the web application execution apparatus of the present invention, the storage unit may include a queue in which each page of the web application is sequentially input and output according to a first-in first-out method when the download resource list is created.
본 발명의 웹 어플리케이션 실행 장치에 있어서, 상기 제어부는 상기 다운로드 리소스 목록을 작성할 시, 상기 큐에 상기 웹 어플리케이션을 구성하는 적어도 하나의 페이지를 순차로 입력하여, 상기 큐가 먼저 입력된 페이지를 먼저 출력함에 따라, 출력되는 페이지 순으로 상기 다운로드 리소스 목록을 작성하는 것을 특징으로 한다.In the web application execution apparatus of the present invention, when generating the download resource list, the control unit sequentially inputs at least one page constituting the web application into the queue, , The download resource list is created in the order of outputted pages.
본 발명의 웹 어플리케이션 실행 장치에 있어서, 상기 웹 어플리케이션 패키지는 상기 웹 어플리케이션의 콘텐츠를 기술하는 콘텐츠 파일과 상기 웹 어플리케이션 및 상기 웹 어플리케이션의 패키지에 대한 정보를 기술하는 정보 파일을 포함하는 것을 특징으로 한다.In the web application execution apparatus of the present invention, the web application package may include a content file describing the content of the web application, and an information file describing information about the web application and the package of the web application .
본 발명의 웹 어플리케이션 실행 장치에 있어서, 상기 콘텐츠 파일은, 상기 웹 어플리케이션의 각 페이지를 표현하는 소스 파일 및 상기 소스 파일에 링크로 연결되는 리소스 파일을 포함한다.In the web application execution device of the present invention, the content file includes a source file representing each page of the web application and a resource file linked to the source file by a link.
본 발명의 웹 어플리케이션 실행 장치에 있어서, 상기 소스 파일은 태그 및 상기 태그의 속성이 기술되는 마크업 언어, 상기 태그 및 상기 태그의 속성이 페이지에 표시되는 스타일을 기술하는 스타일시트 및 상기 웹 어플리케이션을 동적으로 제어하기 위한 스크립트 언어를 포함하는 것을 특징으로 한다.In the web application execution apparatus of the present invention, the source file may include a markup language in which tags and attributes of the tags are described, a style sheet describing the styles in which the tags and the attributes of the tags are displayed on the page, And a script language for dynamically controlling the script language.
본 발명의 웹 어플리케이션 실행 장치에 있어서, 상기 리소스 파일은 상기 리소스 파일의 형식에 맞는 형태로 링크를 통해 상기 페이지에 삽입되는 개별 파일인 것을 특징으로 한다.In the web application execution apparatus of the present invention, the resource file may be an individual file inserted into the page through a link in a form corresponding to the format of the resource file.
본 발명의 웹 어플리케이션 실행 장치에 있어서, 상기 리소스 파일은 장면 기술, 비디오, 오디오, 이미지, 폰트, 텍스트, 메타데이터, 및 스크립트 파일 중 적어도 하나인 것을 특징으로 한다.In the web application execution apparatus of the present invention, the resource file is at least one of a scene description, a video, an audio, an image, a font, text, metadata, and a script file.
본 발명의 웹 어플리케이션 실행 장치에 있어서, 상기 정보 파일은 상기 웹 어플리케이션의 패키지에 포함되는 파일의 목록, 파일 별 공개 여부와 공개 범위, 및 상기 웹 어플리케이션의 실행 환경을 설정하기 위한 설정 값을 포함하는 구성 정보가 기술되는 구성 정보 파일과, 상기 웹 어플리케이션이 단말의 운영 체제에 접근할 수 있는 접근 권한의 범위를 지정하기 위한 정책 정보를 기술하는 정책 정보 파일을 포함한다.In the web application execution apparatus of the present invention, the information file may include a list of files included in the package of the web application, a disclosure status and disclosure range for each file, and a setting value for setting an execution environment of the web application A configuration information file describing the configuration information, and a policy information file describing policy information for specifying a range of access authority for the web application to access the operating system of the terminal.
본 발명의 웹 어플리케이션 실행 장치에 있어서, 상기 웹 어플리케이션 패키지는 상기 저장부에 데이터베이스 구조로 저장되는 것을 특징으로 한다. 상술한 바와 같은 목적을 달성하기 위한 본 발명의 바람직한 실시예에 따른 웹 어플리케이션 실행 방법은, 상기 웹 어플리케이션의 실행 전, 상기 웹 어플리케이션의 소스 파일을 분석하여, 상기 소스 파일에 포함된 리소스 파일 중 미리 다운로드 받을 수 있는 리소스 파일의 목록인 다운로드 리소스 목록을 작성하는 단계; 대기 모드이면, 상기 다운로드 리소스 목록의 리소스 파일을 다운로드 하는 단계; 및 사용자의 웹 어플리케이션 실행 요청이 있는 경우, 상기 다운로드 받은 리소스 파일을 이용하여 상기 웹 어플리케이션을 실행하는 단계;를 포함한다.In the web application execution apparatus of the present invention, the web application package is stored in the storage unit as a database structure. According to another aspect of the present invention, there is provided a method for executing a web application, the method comprising: analyzing a source file of the web application before execution of the web application; Creating a download resource list that is a list of downloadable resource files; Downloading a resource file of the download resource list if the resource file is in a standby mode; And executing the web application using the downloaded resource file when the user requests to execute the web application.
본 발명의 웹 어플리케이션 실행 방법에 있어서, 상기 작성하는 단계는, 상기 웹 어플리케이션의 시작 페이지의 태그 및 상기 태그의 속성을 분석하는 단계; 및 상기 분석 결과, 상기 태그의 속성이 리소스 파일의 링크를 나타내는 주소이면, 상기 주소를 상기 다운로드 리소스 목록에 등록하는 단계;를 포함한다.In the web application execution method of the present invention, the creating may include: analyzing a tag of a start page of the web application and an attribute of the tag; And registering the address in the download resource list if the attribute of the tag is an address indicating a link of the resource file as a result of the analysis.
본 발명의 웹 어플리케이션 실행 방법에 있어서, 상기 분석하는 단계 후, 상기 분석 결과, 상기 태그의 속성이 상기 웹 어플리케이션을 구성하는 다른 페이지의 링크인 경우, 상기 다른 페이지에 대해 상기 분석하는 단계 및 상기 등록하는 단계를 수행하는 단계를 더 포함한다.In the web application execution method of the present invention, when the attribute of the tag is a link of another page constituting the web application, the analyzing step and the registration The method comprising the steps of:
본 발명의 웹 어플리케이션 실행 방법에 있어서, 상기 작성하는 단계는 다운로드 리소스 목록의 용량이 기 설정된 용량을 초과할 것으로 판단되는 경우 또는 상기 웹 어플리케이션을 구성하는 모든 페이지의 모든 태그를 분석한 경우 종료하는 것을 특징으로 한다.In the web application execution method of the present invention, the creating step may be terminated when it is determined that the capacity of the download resource list exceeds the preset capacity or when all tags of all the pages constituting the web application are analyzed .
본 발명의 웹 어플리케이션 실행 방법에 있어서, 상기 다운로드 하는 단계는, 상기 대기 모드인지 판단하는 단계; 상기 판단 결과 대기 모드이면, 상기 다운로드 리소스 목록의 리소스 파일이 이미 다운로드 되었는지 확인하는 단계; 및 상기 확인 결과, 다운로드 되지 않은 리소스 파일을 다운로드 하는 단계;를 포함한다.In the web application execution method of the present invention, the downloading step may include: determining whether the web application is in the standby mode; Checking whether the resource file of the download resource list has already been downloaded if the determination result is the standby mode; And downloading the resource file that has not been downloaded as a result of the checking.
본 발명의 웹 어플리케이션 실행 방법에 있어서, 상기 대기 모드는, 네트워크 트래픽이 기 설정된 용량 미만인 경우임을 특징으로 한다.In the web application execution method of the present invention, the idle mode is characterized in that the network traffic is less than a predetermined capacity.
본 발명의 웹 어플리케이션 실행 방법에 있어서, 상기 다운로드 하는 단계는, 상기 다운로드 리소스 목록의 모든 리소스 파일을 다운로드 하였거나, 상기 대기 모드가 종료될 때까지 수행하는 것을 특징으로 한다.In the web application execution method of the present invention, the downloading may be performed until all the resource files of the download resource list are downloaded or the standby mode is terminated.
본 발명의 웹 어플리케이션 실행 방법에 있어서, 상기 실행하는 단계는 상기 다운로드 받은 리소스 파일을 이용하여 상기 웹 어플리케이션의 각 페이지에 대해 바이너리 페이지 데이터를 생성하는 단계; 및 사용자의 웹 어플리케이션 실행 요청이 있는 경우, 상기 바이너리 페이지 데이터를 랜더링하여 웹 어플리케이션을 실행하는 단계;를 포함한다.In the web application execution method of the present invention, the executing step may include generating binary page data for each page of the web application using the downloaded resource file; And executing the web application by rendering the binary page data when the user requests to execute the web application.
본 발명의 웹 어플리케이션 실행 방법에 있어서, 상기 바이너리 페이지 데이터를 생성하는 단계는, 상기 다운로드 리소스 목록을 참조하여 해당 페이지의 속성 중 리소스 파일의 속성을 상기 미리 다운로드 받은 리소스 파일이 저장된 경로로 변경하는 단계; 상기 웹 어플리케이션의 각 페이지의 소스 파일을 분석하여, DOM 트리 및 스타일 트리를 생성하는 단계; 상기 DOM 트리 및 스타일 트리를 결합하여 랜더러 트리를 생성하는 단계; 상기 랜더러 트리를 해석하여 페이지 데이터를 생성하는 단계; 및 상기 페이지 데이터를 바이너리 형태로 변환하여 바이너리 페이지 데이터를 생성하는 단계를 포함한다.In the web application execution method of the present invention, the step of generating the binary page data may include the step of changing the attribute of the resource file among the attributes of the page to the path where the previously downloaded resource file is stored with reference to the download resource list ; Analyzing a source file of each page of the web application to generate a DOM tree and a style tree; Combining the DOM tree and the style tree to generate a renderer tree; Analyzing the renderer tree to generate page data; And converting the page data into a binary form to generate binary page data.
그리고, 상술한 웹 어플리케이션 실행 방법을 실행하는 프로그램이 기록된 컴퓨터 판독 가능한 기록 매체를 제공한다. There is also provided a computer readable recording medium on which a program for executing the above-described web application executing method is recorded.
본 발명에 따르면, 웹 어플리케이션 실행 시 필요한 리소스 파일을 미리 다운로드 받아 저장함으로써, 웹 어플리케이션 실행 시, 필요한 리소스 파일을 다운로드 하는 시간을 절약할 수 있으므로, 사용자의 입력에 대한 웹 어플리케이션의 응답 속도를 향상시킬 수 있다. 이에 따라, 사용자의 입력에 대한 응답 속도를 향상시킬 수 있어, 웹 어플리케이션 실행 시, 브라우저 없이 동작하는 일반 어플리케이션에 비해 응답 속도에서 차이가 없는 사용자 경험을 제공할 수 있다. According to the present invention, it is possible to save time for downloading a necessary resource file when executing a web application by previously downloading and storing a resource file necessary for executing the web application, thereby improving the response speed of the web application to the input of the user . Accordingly, it is possible to improve the response speed to the input of the user, and to provide a user experience with no difference in the response speed as compared with the general application operating without the browser when executing the web application.
도 1은 본 발명의 실시예에 따른 웹 어플리케이션의 페이지를 설명하기 위한 도면.
도 2a 및 도 2b는 본 발명의 실시예에 따른 웹 어플리케이션 패키지를 설명하기 위한 도면.
도 3은 본 발명의 실시예에 따른 웹 어플리케이션의 어느 일 페이지를 해석하고 실행하는 방법을 설명하기 위한 도면.
도 4는 본 발명의 실시예에 따른 소스 파일을 설명하기 위한 도면.
도 5는 도 4의 소스 파일로부터 구성된 DOM 트리를 설명하기 위한 도면.
도 6은 도 4의 소스 파일로부터 실행된 웹 어플리케이션의 페이지를 설명하기 위한 도면.
도 7은 본 발명의 실시예에 따른 웹 어플리케이션 실행 장치를 설명하기 위한 도면.
도 8은 본 발명의 실시예에 따른 웹 어플리케이션 실행 방법을 개략적으로 설명하기 위한 흐름도.
도 9는 본 발명의 실시예에 따른 다운로드 리소스 목록을 작성하는 방법을 설명하기 위한 흐름도.
도 10은 본 발명의 실시예에 따른 웹 어플리케이션 실행을 위한 리소스 파일을 미리 다운로드 받는 방법을 설명하기 위한 흐름도.
도 11은 본 발명의 실시예에 따른 웹 어플리케이션의 각 페이지 데이터를 생성하는 방법을 설명하기 위한 흐름도.
도 12는 본 발명의 실시예에 따른 웹 어플리케이션 실행 방법을 설명하기 위한 흐름도. BRIEF DESCRIPTION OF THE DRAWINGS Fig. 1 is a diagram for describing a page of a web application according to an embodiment of the present invention; Fig.
2A and 2B illustrate a web application package according to an embodiment of the present invention.
3 is a diagram illustrating a method for interpreting and executing a page of a web application according to an embodiment of the present invention;
4 is a diagram for describing a source file according to an embodiment of the present invention;
FIG. 5 is a diagram for explaining a DOM tree constructed from the source files of FIG. 4; FIG.
6 is a diagram for describing a page of a web application executed from the source file of Fig. 4; Fig.
FIG. 7 illustrates a web application execution apparatus according to an embodiment of the present invention; FIG.
8 is a flowchart schematically illustrating a method of executing a web application according to an embodiment of the present invention.
FIG. 9 is a flowchart illustrating a method of creating a download resource list according to an embodiment of the present invention; FIG.
10 is a flowchart illustrating a method for downloading a resource file in advance for executing a web application according to an embodiment of the present invention.
11 is a flowchart illustrating a method of generating each page data of a web application according to an embodiment of the present invention.
12 is a flowchart illustrating a method of 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 should be noted that the same constituent elements are denoted by the same reference numerals as possible throughout the drawings.
더하여, 본 명세서 및 청구범위에 사용된 용어나 단어는 통상적이거나 사전적인 의미로 한정해서 해석되어서는 아니 되며, 발명자는 그 자신의 발명을 가장 최선의 방법으로 설명하기 위해 용어의 개념으로 적절하게 정의할 수 있다는 원칙에 입각하여 본 발명의 기술적 사상에 부합하는 의미와 개념으로 해석되어야만 한다. 따라서 본 명세서에 기재된 실시 예와 도면에 도시된 구성은 본 발명의 가장 바람직한 일 실시 예에 불과할 뿐이고, 본 발명의 기술적 사상을 모두 대변하는 것은 아니므로, 본 출원시점에 있어서 이들을 대체할 수 있는 다양한 균등물과 변형 예들이 있을 수 있음을 이해하여야 한다.In addition, terms and words used in the present specification and claims should not be construed to be limited to ordinary or dictionary meanings, and the inventor should properly define the terms of a term in order to describe its own invention in the best way possible. It should be construed 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은 본 발명의 실시예에 따른 웹 어플리케이션의 페이지를 설명하기 위한 도면이다.First, a web application according to an embodiment of the present invention will be described. 1 is a diagram for explaining pages of a web application according to an embodiment of the present invention.
도 1을 참조하면, 본 발명의 실시예에 따른 웹 어플리케이션은 적어도 하나의 페이지(10)로 이루어진다. 도 1에서는 복수의 페이지(10)로 이루어진 웹 어플리케이션을 도시하였다. 웹 어플리케이션은 페이지(10)를 기본 단위로 동작한다. 웹 어플리케이션이 복수의 페이지(10)로 이루어진 경우, 웹 어플리케이션을 실행시키면, 어느 하나의 페이지(10)가 시작 페이지로 실행된다. 그리고 복수의 페이지(10)는 개발자의 의도에 따라 링크로 연결되며, 웹 어플리케이션이 실행됨에 따라 어느 하나의 페이지(10)의 실행 중 다른 페이지(10)를 실행시키는 이벤트가 발생하면 그 다른 페이지(10)가 실행된다.Referring to FIG. 1, a web application according to an embodiment of the present invention includes at least one
도 2a 및 도 2b는 본 발명의 실시예에 따른 웹 어플리케이션 패키지를 설명하기 위한 도면이다.2A and 2B are views for explaining a web application package according to an embodiment of the present invention.
도 2a에 본 발명의 실시예에 따른 웹 어플리케이션 패키지를 도시하였다. 도 1 및 도 2a를 참조하면, 웹 어플리케이션 패키지는 적어도 하나의 페이지(10)로 이루어지며, 각 페이지(10)의 콘텐츠를 기술하는 콘텐츠 파일(100)과 웹 어플리케이션 및 웹 어플리케이션의 패키지에 대한 정보를 기술하는 정보 파일(200)을 포함한다. 여기서, 콘텐츠 파일(100)은 소스 파일(110) 및 리소스 파일(120)을 포함한다. 또한, 정보 파일(200)은 구성 정보 파일(210) 및 정책 정보 파일(220)을 포함한다. FIG. 2A illustrates a web application package according to an embodiment of the present invention. 1 and 2A, a web application package includes at least one
도 2b에 본 발명의 실시예에 따른 소스 파일(110)의 일 예를 도시하였다. 도 1, 도 2a 및 도 2b를 참조하면, 소스 파일(110)은 마크업 언어(Markup Language, 111), 스타일시트(Style Sheets, 113), 및 스크립트 언어(scripting language, 115)로 작성된 파일이며, 이중 스타일시트(113) 및 스크립트 언어(115)는 선택적으로 생략 가능하다. 상술한 언어들로 작성된 소스 파일(110)에 의해 페이지(10)가 표현된다. 마크업 언어(111)는 HTML(Hypertext Markup Language), XHTML(extensible Hypertext Markup Language), XML(Extensible Markup Language) 등을 예시할 수 있으며, 이러한 마크업 언어(111)는 다수의 태그(tag)와 각 태그의 속성(attribute) 및 일반적인 텍스트로 이루어진다. 스타일시트(113)는 사용자가 정의한 디자인 속성, 즉, 스타일을 기술하기 위한 언어이다. 스타일시트(113)는 태그, 속성, 및 텍스트에 의해 보여지는 페이지(10)의 글꼴, 크기, 색상, 레이아웃 등의 스타일을 기술한다. 이러한 스타일시트(113)를 사용한 페이지(10)는 다른 화면 해상도를 가지는 표시 장치와 다른 종류의 브라우저에서도 스타일시트(113)에 기술한 바에 따라 동일하게 보여진다. 이 스타일시트(113)는 대표적으로 CSS(Cascading Style Sheets)를 예시할 수 있다. 스크립트 언어(115)는 프로그래밍 언어로서 웹 어플리케이션을 동적으로 제어하기 위한 언어이다. 대표적으로, 자바 스크립트(Java Script)를 예시할 수 있다.FIG. 2B illustrates an example of a
리소스 파일(120)은 페이지(10)에 삽입되는 각종의 파일이다. 이 리소스 파일(120)은 소스 파일(110)을 기술하는 프로그래밍 언어를 통해 링크 태그를 이용하여 페이지(10)에 삽입될 수 있다. 리소스 파일(120)은 웹(Web) 상의 어느 일 디바이스에 저장될 수 있으며, 이 리소스 파일(120)에 접근하여 다운로드 받을 수 있는 주소(URL)는 마크업 언어(111)에서 태그의 속성으로 기술된다. 이러한 리소스 파일(120)은 장면 기술(scene description), 비디오(video), 오디오(audio), 이미지(image), 폰트(font), 텍스트(text), 메타데이터(meta-data) 및 스크립트(script) 파일 등을 예시할 수 있다. 이하로는, 보다 정확한 이해와 설명의 편의를 위해, 리소스 파일(120)을 이미지 파일의 관점에 맞춰 설명할 것이나 리소스 파일(120)을 이미지 파일로 한정하는 것은 아니다. 또한, 리소스 파일(120)은 앞서 나열한 것 이외에도 다양한 종류가 존재할 수 있으며, 다양한 형식(format)의 파일이 될 수 있다. 특히, 다른 웹 페이지 또는 다른 웹 어플리케이션의 어느 일 페이지(10)도 리소스 파일(120)이 될 수 있다. 즉, 리소스 파일(120)은 각 리소스 파일(120)의 형식에 맞는 형태로 링크를 통해 웹 어플리케이션의 페이지(10)에 삽입되는 개별 파일을 모두 포함하는 의미이다.The
구성(Configuration) 정보는 구성 정보 파일(210)에 기술되는 내용으로, 해당 웹 어플리케이션의 패키지에 포함되는 파일의 목록, 그 파일 별 공개 여부와 공개 범위, 및 웹 어플리케이션의 실행 환경을 설정하기 위한 설정 값이 저장된다. 여기서, 실행 환경은 웹 어플리케이션이 실행되기 위해 요구되는 사양과 그 설정을 기술하는 것으로, 화면 크기, CPU, 그 CPU의 클럭 속도, 운영 체제, 입력 및 출력을 위한 버퍼(buffer)의 형태 및 크기 등이 될 수 있다.The configuration information is the contents described in the
정책 정보는 정책 정보 파일(220)에 기술되는 내용으로, 해당 웹 어플리케이션이 단말의 운영 체제에 접근할 수 있는 접근 권한의 범위를 지정하기 위한 정보로, 해쉬 코드 등을 예로 들 수 있다. 해쉬 코드(Hash code)는 웹 어플리케이션의 무결성(integrity)을 검증하기 위한 것으로, 이 해쉬 코드를 이용하여 해당 웹 어플리케이션이 단말의 운영 체제에 접근할 수 있는 권한이 있는지 여부를 확인할 수 있다.The policy information is information described in the policy information file 220 and is information for designating a range of access authority for the corresponding web application to access the operating system of the terminal, for example, a hash code. The hash code is used to verify the integrity of the web application. The hash code can be used to confirm whether or not the corresponding web application is authorized to access the operating system of the terminal.
그러면, 상술한 소스 파일(110) 및 리소스 파일(120)이 어떻게 해석되고 화면으로 표현되는지 살펴보기로 한다. 프로그래밍 언어는 명령형 기술 언어와 선언적 기술 언어로 분류할 수 있다. 명령형 기술 언어는 "어떤 방법"으로 해를 구할 것인지에 중점을 두어 기술되는 언어로, 실행될 알고리즘을 명시하고 목표는 명시하지 않는다. 대표적으로 전통적인 포트란, C, 자바 등이 명령형 기술 언어에 해당한다. 이와 반대로, 선언적 기술 언어는 "해"가 무엇인지를 설명하는 것에 중점을 두어 기술되는 언어로, 목표를 명시하고 알고리즘은 명시하지 않는다. 본 발명의 실시예에 따른 소스 파일(110)은 선언적 기술 언어로 작성된다. 예를 들어, 소스 파일(110)이 마크업 언어 중 HTML로 작성되었다고 했을 때, 그 HTML의 태그 및 태그의 속성은 HTML 뷰어(Viewer), 즉, 브라우저에서 무엇을 보여주어야 하는지를 선언하는 것이다. 이에 따라, 실제 브라우저를 동작하는 브라우저 엔진의 절차적 알고리즘이 태그 및 태그의 속성을 해석하여, 화면에 표시할 점들로 변환한다. 이를 위하여, 선언적 기술 언어로 작성된 소스 파일(110)의 구성 성분(태그 및 속성)을 의미 있는 토큰으로 분해(parsing)하여 그들 사이의 위계 관계를 분석한 후, 분석된 위계 관계에 따라 문장의 구조가 이미 결정된 파스 트리(parse tree)를 구성한다. 파스 트리의 각 노드(node)는 태그, 속성 및 일반 텍스트를 포함할 수 있으며, 이는 무엇을 보여주어야 하는지 선언한 것이다. 그러므로, 브라우저는 각 노드의 선언된 바를 트리 구조의 위계 관계에 따라 표현한다. 이에 대해서 좀 더 자세히 설명하기로 한다.Hereinafter, how the source file 110 and the
도 3은 본 발명의 실시예에 따른 웹 어플리케이션의 어느 일 페이지를 해석하고 실행하는 방법을 설명하기 위한 도면이다.3 is a diagram for explaining a method of interpreting and executing a page of a web application according to an embodiment of the present invention.
도 3을 참조하면, 앞서 설명한 바와 같이, 소스 파일(110)은 마크업 언어(111), 스타일시트(113) 및 스크립트 언어(115)로 이루어진다. 여기서, 스크립트 언어(115)를 해석하는 방법에 대한 설명은 발명의 요지를 명확히 하기 위해 생략하기로 한다.Referring to FIG. 3, the source file 110 includes a
S301 단계에서, 마크업 언어(111) 및 스타일시트(113)는 선언적 기술 언어의 해석 방법에 따라, 구성 성분을 의미 있는 토큰으로 분해하여 그들 사이의 위계 관계의 분석을 거쳐 문장의 구조가 이미 결정된 파스 트리를 구성한다. 여기서, 파스 트리는 DOM(Document Object Model) 트리(310) 및 스타일 트리(320)를 포함한다. 즉, 마크업 언어(111)는 태그, 그 태그의 속성 및 일반 텍스트로 이루어지며, 이 마크업 언어(111)는 분해된 후, 각각의 위계 관계에 따라 DOM 트리(310)를 구성한다. 스타일시트(113)는 마크업 언어(111)에 의해 표현되는 페이지(10)의 글자, 여백, 레이아웃 등을 지정하는 스타일을 가지며, 이 스타일시트(113)는 분해되어 복수의 스타일이 위계 관계에 따라 트리 구조로 정리된 스타일 트리(320)를 구성한다. In step S301, the
그런 다음, S303 단계에서 DOM 트리(310) 및 스타일 트리(320)가 결합되어 랜더러 트리(330)를 구성한다. 이어서, S305 단계에서 랜더러 트리(330)의 해석을 통해 스타일에 맞는 레이아웃을 설정하고, 각 속성의 값을 해당 레이아웃에 배치하여 페이지 데이터(340)를 생성한다. 이 페이지 데이터(340)는 랜더링되어 페이지(10)로 표시되기 전의 데이터이다.Then, in step S303, the
다음으로, S307 단계에서 페이지 데이터(340)의 구조를 변경(serialization)하여 바이너리 형태로 저장한다. 이와 같이, 바이너리 형태로 저장된 페이지 데이터를 바이너리 페이지 데이터(350)라고 칭하기로 한다. 이와 같은 상태에서 사용자가 해당 페이지(10)를 실행시키는 요청이 있으면, S309 단계에서 바이너리 페이지 데이터(350)를 랜더링하여 출력한다. 필요에 따라, 데이터 구조를 변경시키는 S307 단계는 생략할 수 있다. 즉, 페이지 데이터(340)에서 직접 랜더링하여 페이지(10)로 출력할 수 있다.Next, in step S307, the structure of the
리소스 파일(120)은 마크업 언어(111)의 속성으로 페이지(10)에 삽입된다. 이에 따라, 본 발명의 실시예에 따르면, 마크업 언어(111)의 속성을 분석하여 리소스 파일(120)을 미리 다운로드 받고, 저장한 후, 저장된 파일의 위치 값으로 그 속성을 변경한다. 이에 따라, 웹 어플리케이션 실행 시, 리소스 파일(120)을 다운로드 하는 시간을 절약할 수 있다. 이에 대해서 더 자세히 살펴보기로 한다.The
도 4는 본 발명의 실시예에 따른 소스 파일을 설명하기 위한 도면이며, 도 5는 도 4의 소스 파일로부터 구성된 DOM 트리를 설명하기 위한 도면이고, 도 6은 도 4의 소스 파일로부터 실행된 웹 어플리케이션의 페이지를 설명하기 위한 도면이다.FIG. 4 is a diagram for explaining a source file according to an embodiment of the present invention, FIG. 5 is a diagram for explaining a DOM tree constructed from the source files of FIG. 4, Fig. 8 is a diagram for explaining a page of an application. Fig.
도 4에 마크업 언어(111)로만 기술된 소스 파일(110)의 예를 개시하였다. 개시된 바와 같이, 웹 표준 언어인 HTML에 따른 태그 및 그 태그의 속성이 기술되었다.An example of the source file 110 described only in the
도면 부호 41은 태그 <img>와 속성 "src"를 나타낸다. 여기서, 태그 <img>는 리소스 파일(120)인 이미지 파일을 표시하도록 선언한 것이며, 그 속성 "src"은 그 이미지 파일의 링크(주소)를 선언한 것이다. 이는 이미지 파일인 "resource01.jpg"를 그 속성인 주소 "http://img_server.com/resource/ resource01.jpg"에서 다운로드 하여 페이지(10)에 표시하도록 선언한 것이다.
도면 부호 43은 태그 <a>, 속성 "href" 및 텍스트 "페이지 링크"를 나타낸다. 여기서, 태그 <a>는 페이지의 링크를 나타내도록 선언한 것이며, 그 속성 "href"는 그 페이지의 링크(주소)를 선언한 것이다. 그리고 이 링크는 텍스트 "페이지 링크"에 연동된다. 이는 텍스트 "페이지 링크"를 선택하면, 링크된 페이지의 소스 파일(110)인 "page02.html"를 그 속성인 주소 "file://app-storage/page02.html"에서 불러온 후, 그 소스 파일(110)을 해석하여 새로운 페이지(10)를 표시하도록 선언한 것이다.
도면 부호 45의 태그 <h1>은 텍스트의 크기를 조절하기 위한 것이며, 이에 따라, 이 태그 <h1>은 단순히 텍스트 "리소스 파일 링크도 아니고 다른 페이지의 링크도 아닌 경우"를 페이지(10)에 표시하도록 선언한 것이다.The tag <h1> of the
상술한 바와 같이 마크업 언어(111)에 기술된 태그 및 그 속성 및 단순 텍스트 등은 파싱되어 DOM 트리(310)로 변환된다. 도 5에 도 4의 소스 파일(110)의 마크업 언어(111)를 변환시킨 DOM 트리(310)를 도시하였다. 도시된 바와 같이, DOM 트리(310)는 의미 있는 구성 성분, 즉, 태그, 속성, 텍스트 등을 각각 하나의 노드(node)로 변환시킨다. 예컨대, 도 4의 도면 부호 41의 태그 <img>와 속성 "src"는 도면 부호 51과 같이 각각 하나의 노드로 변환된다. 또한, 도 4의 도면 부호 43의 태그 <a>와 속성 "href" 및 단순 텍스트인 "페이지 링크"는, 도면 부호 53과 같이 각각 하나의 노드로 변환된다. 그리고 도면 부호 45의 태그 <h1> 및 단순 텍스트 "리소스 링크도 아니고 다른 페이지의 링크도 아닌 경우"는 도면 부호 55와 같이 각각 하나의 노드로 변환된다. 한편, DOM 트리(310)에서는 태그가 변환된 노드를 요소(Element)라고 칭하기도 한다.As described above, the tag described in the
앞서 설명한 바와 같이, 변환된 DOM 트리(310)는 스타일시트(113)가 변환된 스타일 트리(320)와 결합되어 랜더러 트리(330)가 되며, 랜더러 트리(330)를 해석하여 페이지(10)를 구성하기 위한 페이지 데이터(340)를 형성한다. 또한, 페이지 데이터(340)는 이진화되어 바이너리 페이지 데이터(350)가 될 수 있다. 페이지 데이터(340) 또는 바이너리 페이지 데이터(350)는 랜더링되어 실제 페이지(10)로 표시될 수 있다. 도 6에 페이지(10)를 표시한 화면 예를 도시하였다. 이 페이지(10)와 DOM 트리(310)와의 상관 관계를 살펴본다.The transformed
도면 부호 51의 DOM 트리(310)는 도면 부호 61과 같은 이미지를 표시한다. 일반적으로 리소스 파일(120)은 웹 어플리케이션이 실행될 때, 그 속성인 주소 "http://img_server.com/resource/resource01.jpg"로부터 다운로드 되어 페이지(10)에 표시된다. 반면, 본 발명의 실시예에 따르면 리소스 파일(120)을 미리 다운로드 받아 저장한다. 그런 다음, 속성을 그 리소스 파일(120)이 저장된 경로로 변경하여, DOM 트리(310)를 구성한다. 이에 따라, 웹 어플리케이션 실행 시, 리소스 파일(120)을 다운로드 하는 과정을 생략하고 바로 리소스 파일(120)인 이미지를 화면에 표시할 수 있다. 따라서 리소스 파일(120)을 다운로드 하는 시간을 절약할 수 있으므로 사용자의 반응에 대한 응답 속도의 향상을 가져올 수 있다.The
도면 부호 53의 DOM 트리(310)는 해석되어 도면 부호 63과 같은 링크로 표시된다. 이때, 사용자가 텍스트 "페이지 링크"를 선택하면, 그 속성에 따라 file://app-storage/page02.html"로 링크된 페이지의 소스 파일(110)인 "page02.html"을 실행시킨다.The
도면 부호 55의 DOM 트리(310)는 해석되어 도면 부호 65와 같은 텍스트를 표시한다.The
다음으로, 상술한 바와 같이 웹 어플리케이션을 실행시키는 장치에 대해서 설명하기로 한다. 도 7은 본 발명의 실시예에 따른 웹 어플리케이션 실행 장치를 설명하기 위한 도면이다.Next, an apparatus for executing a web application as described above will be described. 7 is a diagram for explaining a web application execution apparatus according to an embodiment of the present invention.
도 7을 참조하면, 본 발명의 실시예에 따른 웹 어플리케이션 실행 장치는, 네트워크 연결부(710), 저장부(720), 표시부(730), 입력부(740) 및 제어부(750)를 포함한다.7, the apparatus for executing a web application according to an exemplary embodiment of the present invention includes a
네트워크 연결부(710)는 네트워크에 연결해 통신을 수행하기 위한 장치이다. 웹 어플리케이션 실행 장치는 네트워크를 통해 웹에 연결된다. 따라서 네트워크 연결부(710)는 네트워크에 연결해 본 발명의 실시예에 따른 리소스 파일(120)을 다운로드 하여 제어부(750)에 제공한다. 이러한 네트워크 연결부(710)는 무선 및 유선 연결 중 적어도 하나를 이용하여 네트워크에 연결될 수 있다.The
저장부(720)는 데이터를 일시 또는 반영구적으로 저장하기 위한 장치로, 하드디스크(HDD, Hard Disk Drive)와 같은 스토리지 및 램(RAM, Read Access Memory)과 같은 메모리(Memory)를 통칭한다.The
저장부(720)는 본 발명의 실시예에 따른 웹 어플리케이션 패키지를 저장한다. 이때, 웹 어플리케이션의 소스 파일(110) 및 리소스 파일(120)을 포함하는 콘텐츠 파일(100)은 일반 영역에 저장되며, 구성 정보 파일(210) 및 정책 정보 파일(220)을 포함하는 정보 파일(200)은 보안 영역에 저장될 수 있다. 여기서, 보안 영역은 접근에 제한을 두는 영역이며, 일반 영역은 보안 영역에 반해 접근에 제한을 두지 않는 영역이다.The
특히, 본 발명의 실시예에 따른 소스 파일(110) 및 리소스 파일(120), 구성 정보 파일(210) 및 정책 정보 파일(220)은 데이터베이스(DB, Database) 구조로 저장될 수 있다. 이러한 경우, 데이터베이스의 구조는 도 2a에 도시된 바와 같이, 하나의 웹 어플리케이션 패키지 별로 접근할 수 있도록 구현됨이 바람직하다. 즉, 웹 어플리케이션 패키지는 콘텐츠 파일(100), 정보 파일(200)로 구성되며, 콘텐츠 파일(100)은 소스 파일(110) 및 리소스 파일(120)을 포함하고, 정보 파일(200)은 구성 정보 파일(210) 및 정책 정보 파일(220)을 포함한다. 이에 따라, 어느 하나의 리소스 파일(120)에 접근하기 위해서는 웹 어플리케이션 패키지, 콘텐츠 파일(100) 및 리소스 파일(120) 순으로 접근할 수 있도록 데이터베이스 구조를 구현함이 바람직하다. 저장부(720)는 저장되는 영역을 기능적으로 구분할 수 있다. 즉, 저장부(720)는 레지스트리(registry) 및 큐(Queue) 등으로 기능 분류될 수 있다.In particular, the
레지스트리에는 웹 어플리케이션 패키지에 대한 정보 및 그 웹 어플리케이션이 실행 정보가 저장되며, 이에 따라, 웹 어플리케이션이 레지스트리에 등록된다. 앞서 설명한 바와 같이, 웹 어플리케이션 패키지는 소스 파일(110), 리소스 파일(120), 구성 정보 파일(210) 및 접근 정보 파일(220)로 이루어지며, 레지스트리에는 이 소스 파일(110), 리소스 파일(120), 구성 정보 파일(210) 및 접근 정보 파일(220) 등이 실제 저장된 위치 또는 접근 경로가 기술될 수 있다. 그리고 레지스트리에는 본 발명의 실시예에 따른 웹 어플리케이션의 실행 정보가 등록된다. 본 발명의 실시예에 따른 웹 어플리케이션은 설치될 때, 그 웹 어플리케이션의 실행 정보가 레지스트리에 등록된다. 실행 정보는 해당 웹 어플리케이션을 실행시키기 위한 정보이며, 프로토콜 스킴(protocol scheme) 및 그 프로토콜 스킴에 이어서 기술되는 주소로 이루어진다. 여기서, 주소는 도메인 명칭(domain name) 및 웹 어플리케이션 패키지 명칭 및 시작 페이지를 포함한다. 도메인 명칭은 웹 어플리케이션을 제작한 제작사 또는 웹 어플리케이션을 제공하는 콘텐츠 제공자의 도메인 명칭이며, 웹 어플리케이션 패키지 명칭은 해당 웹 어플리케이션을 이루는 패키지의 명칭이고, 시작 페이지는 해당 웹 어플리케이션을 실행할 때 가장 먼저 실행시키는 페이지(10)를 기술하는 소스 파일(110)의 명칭이다. 이때, 시작 페이지는 생략될 수 있으며, 시작 페이지가 생략되는 경우, 기 설정된 페이지가 디폴트 값(default value)으로 시작 페이지를 대신한다. 또한, 레지스트리에는 다운로드 리소스 목록이 저장된다. 이 다운로드 리소스 목록은 각 웹 어플리케이션 별로 다운로드 받기 위한 리소스 파일(120)의 목록이며, 그 리소스 파일을 다운로드 하여 저장한 위치(주소) 및 그 리소스 파일의 다운로드 여부 등이 추가로 기술된다. 다운로드 리소스 목록은 웹 어플리케이션의 모든 페이지로부터 추출한다. 여기서, 주소는 소스 파일(110)에서 리소스 파일(110)을 나타내는 태그의 속성을 추출한 것이다.The registry stores information about the web application package and the execution information of the web application, and the web application is registered in the registry accordingly. As described above, the web application package includes a
큐(Queue)는 본 발명의 실시예에 따른 다운로드 리소스 목록을 작성할 때, 각 페이지를 순차로 검색하기 위해 사용된다. 이러한 큐는 입력되는 순서로 출력하는 선입선출(FIFO, First In First Out) 방식에 따라 데이터를 입력받고 출력한다.A queue is used to sequentially search each page when creating a download resource list according to an embodiment of the present invention. These queues receive and output data in accordance with a first-in first-out (FIFO) scheme that outputs the queues in the input order.
표시부(730)는 제어부(750)로부터 출력되는 신호를 화면으로 표시하는 역할을 수행한다. 특히, 표시부(730)는 본 발명의 실시예에 따른 페이지(10)를 화면으로 표시한다. 표시부(730)는 터치스크린(touch screen)이 될 수 있다. 이와 같이, 터치스크린으로 표시부(730)가 형성된 경우, 표시부(730)는 입력부(740)의 기능 중 일부 또는 전부를 수행할 수 있다.The
입력부(740)는 숫자 또는 문자 정보를 입력 받고 다양한 기능을 설정하기 위한 다수의 입력키 및 기능키를 포함할 수 있다. 그리고 입력부(740)는 사용자의 키 입력을 감지하여, 감지된 키 입력에 따른 입력 신호를 제어부(750)로 전달한다.The
제어부(750)는 본 발명의 실시예에 따른 웹 어플리케이션을 설치할 시, 레지스트리에 해당 웹 어플리케이션의 실행 정보를 등록한다. 실행 정보는 해당 웹 어플리케이션을 실행시키기 위한 정보이며, 프로토콜 스킴 및 그 프로토콜 스킴에 이어서 기술되는 주소로 이루어진다. 여기서, 주소는 도메인 명칭, 웹 어플리케이션 패키지 명칭 및 시작 페이지를 포함한다. 시작 페이지가 생략되는 경우, 기 설정된 페이지가 디폴트 값(default value)으로 시작 페이지로 실행된다. 본 발명의 실시예에 따른 프로토콜 스킴은 "httpa://"의 형식으로 정의한다. 제어부(750)는 이 프로토콜 스킴을 해석할 때, 이 프로토콜 스킴 이후에 기술되는 주소를 참조하여 웹 어플리케이션을 실행시킨다. 브라우저에서는 "file://", "http://", "https://"와 같은 프로토콜 스킴을 통해 자원에 접근할 수 있다. 프로토콜 스킴이 "file://"인 경우, 프로토콜 스킴에 이어서 기술되는 경로에 따라 파일 시스템에 접근하여 페이지를 실행시키며, 프로토콜 스킴이 "http://"와 "https://"인 경우, 프로토콜 스킴에 이어서 기술되는 주소를 통해 해당 페이지(10)를 다운로드 하여 실행시킬 수 있다. 이와 마찬가지로, 본 발명의 실시예에 따른 프로토콜 스킴 "httpa://"를 사용하는 경우, 제어부(750)는 프로토콜 스킴에 이어서 기술되는 주소 또는 경로를 통해 저장부(720)에서 해당 페이지(10)를 불러와서 실행시킨다.When installing the web application according to the embodiment of the present invention, the
예를 들면, 웹 어플리케이션 패키지 명칭이 "application1.swa"라고 하고, 콘텐츠 제공자의 도메인 명칭이 "www.abc.com"이라 할 때, 그 주소는 "www.abc.com/application1.swa"로 표현될 수 있다. 이 경우, 해당 웹 어플리케이션의 실행 정보는 "httpa://www.abc.com/application1.swa"가 된다. 이에 따라, 제어부(750)는 저장부(720)에서 웹 어플리케이션 패키지 명칭이 "application1.swa"인 웹 어플리케이션을 검색하여 이를 실행시킨다. 이때, 제어부(750)는 시작 페이지를 미리 설정된 디폴트 값(default value)으로 하여 웹 어플리케이션을 실행시킨다. 또한, 웹 어플리케이션 시작 페이지의 소스 파일의 명칭이 "page01.html"인 경우, 그 주소는 "www.abc.com/application1.swa/page01.html"로 표현될 수 있다. 이러한 경우, 해당 웹 어플리케이션의 실행 정보는 "httpa://www.abc.com/application1.swa/page01.html"가 된다. 이에 따라, 제어부(750)는 저장부(720)에서 웹 어플리케이션 패키지 명칭이 application1.swa인 웹 어플리케이션을 검색하여 이를 실행시킨다. 특히, 제어부(750)는 시작 페이지를 "page01.html"로 하여 웹 어플리케이션을 실행시킨다. 한편, 확장자 "swa"는 웹 어플리케이션 패키지임을 나타내는 확장자로서, 임의로 지정된 이름이다.For example, when the name of the web application package is "application1.swa" and the content provider's domain name is "www.abc.com", the address is expressed as "www.abc.com/application1.swa" . In this case, the execution information of the corresponding web application is "http: //www.abc.com/application1.swa ". Accordingly, the
한편, 본 발명의 실시예에 따른 웹 어플리케이션 패키지가 데이터베이스 구조로 저장된 경우, 제어부(750)는 상술한 프로토콜 스킴 대신 쿼리(Query)를 이용하여 페이지(10)를 기술하는 소스 파일(110) 또는 리소스 파일(120)을 데이터베이스로부터 불러와서 실행시키거나, 다운로드 받은 리소스 파일(120)을 데이터베이스에 저장시킬 수 있다. 예컨대, 쿼리는 명령어(저장 또는 불러오기) 및 소스 파일(110) 또는 리소스 파일(120)의 저장 위치를 기술하는 주소의 쌍으로 이루어질 수 있다. 제어부(750)는 본 발명의 실시예에 따라 웹 어플리케이션이 레지스트리에 등록되면, 다운로드 리소스 목록을 작성한다. 그리고 제어부(750)는 대기 모드에서 다운로드 리소스 목록에 따라, 해당 웹 어플리케이션의 리소스 파일(120)을 네트워크 연결부(710)를 통해 미리 다운로드 받는다. 여기서, 대기 모드는 네트워크 연결부(710)의 네트워크와의 연결을 통한 데이터의 업로드 또는 다운로드 트래픽(traffic)이 기 설정된 크기 미만인 경우를 의미하며, 네트워크를 사용하고 있지 않은 경우를 의미한다. 즉, 어느 하나 웹 어플리케이션이 실행 중인 경우에도, 네트워크의 트래픽이 기 설정된 크기 미만인 경우에는 다른 웹 어플리케이션은 리소스 파일(120)을 다운로드 받을 수 있다.If the web application package according to the embodiment of the present invention is stored in a database structure, the
그런 다음, 제어부(750)는 미리 다운로드 받은 리소스 파일(120)을 이용하여 웹 어플리케이션을 실행한다. 이에 따라, 실제 웹 어플리케이션 실행 시, 리소스 파일(120)을 다운로드 받는 시간을 절약할 수 있으므로, 웹 어플리케이션의 응답 속도를 향상시킬 수 있다.Then, the
다음으로, 상술한 웹 어플리케이션 실행 장치를 이용한 웹 어플리케이션 실행 방법에 대해서 살펴보기로 한다. 도 8은 본 발명의 실시예에 따른 웹 어플리케이션 실행 방법을 개략적으로 설명하기 위한 흐름도이다.Next, a method of executing a web application using the above-described web application execution apparatus will be described. FIG. 8 is a flowchart illustrating a method of executing a web application according to an embodiment of the present invention.
도 8을 참조하면, 제어부(750)는 S801 단계에서 웹 어플리케이션의 다운로드 리소스 목록을 작성한다. 이 다운로드 리소스 목록은 웹 어플리케이션의 소스 파일(110)에 링크로 포함된 리소스 파일(120)들의 목록이다.Referring to FIG. 8, the
그런 다음, 제어부(750)는 S803 단계에서 대기 모드인 경우, 다운로드 리소스 목록의 리소스 파일(120)을 순차로 다운로드 한다. 여기서, 대기 모드는 네트워크 연결부(710)의 네트워크와의 연결을 통한 데이터의 업로드 또는 다운로드 트래픽이 기 설정된 크기 미만인 경우를 의미하며, 사용자가 네트워크를 사용하고 있지 않은 경우를 의미한다.In step S803, the
상술한 바와 같이, 대기 모드에서 리소스 파일(120)을 다운로드 받은 후, 사용자의 웹 어플리케이션 실행 요청이 있으면, 제어부(750)는 S805 단계에서 앞서 미리 다운로드 받은 리소스 파일(120)을 이용하여 웹 어플리케이션을 실행시킨다. 이와 같이, 미리 다운로드 받은 리소스 파일(120)을 이용하여, 웹 어플리케이션을 실행시킴으로써, 리소스 파일(120)을 다운로드 받는 시간을 절약할 수 있다. 이에 따라, 웹 어플리케이션 실행의 응답 속도를 향상시킬 수 있다.After the
상술한 바와 같이, 웹 어플리케이션의 리소스 파일(120)을 미리 다운로드 받기 전, 각 웹 어플리케이션 별로 다운로드 받기 위한 리소스 파일(120)의 목록인 다운로드 리소스 목록을 작성한다. 이러한 다운로드 리소스 목록 작성 방법에 대해서 설명하기로 한다. 도 9는 본 발명의 실시예에 따른 다운로드 리소스 목록을 작성하는 방법을 설명하기 위한 흐름도이다. 여기서, 각 웹 어플리케이션에 대해 다음과 같이 기술되는 과정을 통해 다운로드 리소스 목록을 작성할 수 있다.As described above, before downloading the
도 9를 참조하면, 제어부(750)는 S901 단계에서 웹 어플리케이션 실행시 시작 페이지를 큐(Queue)에 입력한다. 이때, 제어부(750)는 레지스트리의 실행 정보를 참조하여, 웹 어플리케이션의 시작 페이지 및 그 시작 페이지가 저장된 위치를 알 수 있다. 또한, 큐는 선입선출(FIFO) 방식에 의해 먼저 입력된 페이지(10)를 제일 처음 출력한다.Referring to FIG. 9, in step S901, the
제어부(750)는 S903 단계에서 큐에서 선입선출 방식에 따라 순차로 페이지(10)를 출력하고, S921 단계에서 큐에 페이지(10)가 존재하지 않음을 확인할 때까지 S903 내지 S921 단계를 반복한다. 또한, 제어부(750)는 S905 내지 S919 단계를 통해 큐로부터 출력된 페이지(10)에 대해 다운로드 리소스 목록을 작성한다. 이 다운로드 리소스 목록 작성 과정은 제어부(750)가 S917 단계에서 다운로드 리소스 목록의 용량이 기 설정된 용량을 초과할 것으로 판단하는 경우 다른 페이지의 존재 여부에 상관 없이 종료 될 수 있다. 다운로드 리소스 목록의 용량은 저장부(720)의 용량에 따라 달리 설정한다. 또한, 이 S905 내지 S919 단계는 제어부(750)가 S919 단계에서 그 페이지(10)의 모든 태그를 읽었음을 확인할 때까지 반복된다.The
하나의 페이지(10)에 대한 다운로드 리소스 목록 작성 방법을 살펴보면 다음과 같다. 먼저, 제어부(750)는 S905 단계에서 큐로부터 출력된 페이지(10) 내에서 순차로 한 줄씩 태그를 읽어 그 태그의 속성을 분석한 후, S907 단계에서 제어부(750)는 태그의 속성이 리소스 파일(120)의 링크인지 여부를 판단한다. 이때, 태그의 속성이 리소스 파일(120)인 경우, 제어부(750)는 S909 단계에서 해당 링크를 나타내는 주소(URL)를 다운로드 리소스 목록에 등록(추가)한다. 예컨대, 도 4를 참조하면, 도면 부호 41과 같은 태그가 존재하면, 해당 태그의 속성(주소)을 다운로드 리소스 목록에 등록한다.A method of creating a download resource list for one
해당 태그의 속성이 리소스 파일(120)의 링크가 아닌 경우, 제어부(750)는 S911 단계에서 태그의 속성이 웹 어플리케이션을 구성하는 다른 페이지(10)의 링크인지 여부를 판단한다. 다른 페이지(10)의 링크이면, 이 페이지(10)는 저장부(720)에 저장되어 있는 상태이다. 따라서 제어부(750)는 S913 단계에서 해당 페이지(10)를 큐에 입력한다. 예컨대, 도 4의 도면 부호 43과 같은 태그가 존재하면, 해당 태그의 속성이 나타내는 페이지(10)를 큐에 입력한다.If the attribute of the tag is not a link of the
한편, S907 및 S911 단계의 판단 결과, 해당 태그의 속성이 리소스 파일(120)의 링크도 아니며, 다른 페이지(10)의 링크도 아닌 경우, 제어부(750)는 S915 단계에서 해당 태그에 대해 아무런 처리도 수행하지 않는다. 이 경우는 도 4의 도면 부호 45와 같은 태그를 예시할 수 있다.On the other hand, if it is determined in step S907 and step S911 that the attribute of the corresponding tag is neither a link of the
그런 다음, 제어부(750)는 S917 단계에서 다운로드 리소스 목록이 기 설정된 용량을 초과하였는지 판단한다. S917 단계의 판단 결과 기 설정된 용량을 초과하면 분석할 태그 또는 다른 페이지(10)가 남아 있는 경우에도, 제어부(750)는 프로세스를 종료한다. 반면, S917 단계의 판단 결과 기 설정된 용량을 초과하지 않는 경우, 제어부(750)는 S919 단계로 진행한다. S919 단계에서 제어부(750)는 해당 페이지(10)의 모든 태그를 분석하였는지 판단한다. 이러한 S919 단계의 판단 결과 페이지(10)의 모든 태그를 분석한 경우, 제어부(750)는 S921 단계로 진행한다. 반면, S919 단계의 판단 결과 분석할 태그가 아직 남아 있는 경우, 제어부(750)는 S905 내지 S919 단계를 반복한다.Then, in step S917, the
S921 단계에서 제어부(750)는 큐에 페이지(10)가 존재하는지 확인하여, 큐에 페이지(10)가 존재하면, S903 내지 S921 단계를 반복하며, 큐에 페이지(10)가 없는 경우, 프로세스를 종료한다.In step S921, the
그러면, 상술한 바와 같이 작성된 다운로드 리소스 목록을 이용하여 해당 리소스 파일(120)을 다운로드 받는 방법에 대해서 설명하기로 한다. 리소스 파일(120)의 다운로드는 해당 웹 어플리케이션의 실행 전에 수행된다. 도 10은 본 발명의 실시예에 따른 웹 어플리케이션 실행을 위한 리소스 파일을 미리 다운로드 받는 방법을 설명하기 위한 흐름도이다.A method of downloading the
도 10을 참조하면, 제어부(750)는 S1001 단계에서 현재 대기 모드에 진입하였다고 가정한다. 대기 모드인 경우, 제어부(750)는 S1003 단계에서 다운로드 리소스 목록을 불러와서, S1005 단계에서 다운로드 리소스 목록의 각 리소스 파일(120)을 순차로 검사한다. 이때, 제어부(750)는 S1007 단계에서 해당 리소스 파일(120)이 이미 다운로드 되어 저장되어 있는지 확인한다. 확인 결과, 다운로드 되지 않았으면, 제어부(750)는 S1009 단계에서 해당 리소스 파일(120)이 저장된 주소에 접속하여 리소스 파일(120)을 다운로드 하고, S1011 단계에서 다운로드한 리소스 파일(120)을 저장부(720)에 저장한다. 반면, 확인 결과 이미 다운로드 되었으면, 제어부(750)는 S1013 단계로 진행한다.Referring to FIG. 10, the
S1013 단계에서 제어부(750)는 저장부(720)에 리소스 파일(120)을 저장할 용도로 할당된 저장 용량의 여분이 있는지 판단한다. S1013 단계의 판단 결과 리소스 파일(120)을 더 저장할 수 없으면, 제어부(750)는 프로세스를 종료한다. 반면, S1013 단계의 판단 결과 리소스 파일(120)을 더 저장할 수 있으면, 제어부(750)는 S1015 단계로 진행한다.In step S1013, the
제어부(750)는 S1015 단계에서 대기 모드가 종료되었는지 판단한다. 대기 모드가 종료된 경우, 제어부(750)는 리소스 파일(120)의 다운로드 프로세스를 종료한다. 아직 대기 모드인 경우, 제어부(750)는 S1017 단계에서 다운로드 리소스 목록의 리소스 파일(120)을 모두 다운로드 하였는지 판단한다. 이 판단 결과, 리소스 파일(120)을 모두 다운로드 한 경우, 제어부(750)는 프로세스를 종료한다. 반면, 다운로드 하지 않은 리소스 파일(120)이 남아 있는 경우, 제어부(750)는 S1005 단계로 진행한 후, 상술한 S1005 내지 1015 단계를 반복한다.The
상술한 바와 같이, 다운로드된 리소스 파일(120)은 미리 저장되므로, 웹 어플리케이션 실행 중에 상술한 리소스 파일(120)을 다운로드 할 필요 없이 해당 리소스 파일(120)을 그대로 사용할 수 있다. 이에 따라, 리소스 파일(120) 다운로드 시간이 절약되므로, 웹 어플리케이션 실행시 그 응답 속도가 향상된다. 그러면, 다운로드된 리소스 파일(120)을 이용한 웹 어플리케이션 실행 방법에 대해서 설명하기로 한다.As described above, since the downloaded
본 발명의 실시예에 따르면, 랜더링되어 화면에 표시되기 전, 페이지 데이터(340) 또는 바이너리 페이지 데이터(350)를 생성한다. 도 11은 본 발명의 실시예에 따른 웹 어플리케이션의 각 페이지 데이터(340)를 생성하는 방법을 설명하기 위한 흐름도이다.According to the embodiment of the present invention,
도 11을 참조하면, 제어부(750)는 S1101 단계에서, 웹 어플리케이션의 시작 페이지를 기술하는 소스 파일(110)을 불러온다. 그런 다음, 제어부(750)는 S1103 단계에서 다운로드 리소스 목록을 참조하여, 미리 다운로드 받아 저장한 리소스 파일(120)이 존재하는 경우, 리소스 파일(120)을 나타내는 태그의 속성을 다운로드 받아 저장한 리소스 파일(120)이 저장된 위치로 변경한다. 예컨대, 도 4의 도면 부호 41에서 설명한 바와 같이, 주소 "http://img_server.com/resource/resource01.jpg"로부터 리소스 파일(120)인 이미지 파일(resource01.jpg)을 다운로드 받아 미리 저장한 경우, 그 저장 경로가 "file://down_resource_storage/img_resource/resource01.jpg"라고 가정하면, 해당 태그의 속성을 "file://down_resource_storage/img_resource/ resource01.jpg"로 변경한다.Referring to FIG. 11, in step S1101, the
이어서, 제어부(750)는 S1105 단계에서 선언적 기술 언어의 해석 방법에 따라, 마크업 언어(111) 및 스타일시트(113)의 구성 성분을 의미 있는 토큰으로 분해(parsing)하여 그들 사이의 위계 관계의 분석을 거쳐 문장의 구조가 이미 결정된 파스 트리(parse tree)를 구성한다. 즉, 제어부(750)는 마크업 언어(111)를 분해하여 DOM 트리(310)를 구성하고, 스타일시트(113)를 분해하여 스타일 트리(320)를 구성한다. 마크업 언어(111)의 구성 성분은 태그, 속성, 텍스트 등이며, 스타일시트(113)의 구성 성분은 스타일이다.In step S1105, the
그런 다음, 제어부(750)는 S1107 단계에서 DOM 트리(310) 및 스타일 트리(320)를 결합하여 랜더러 트리(330)를 구성한다. 이어서, 제어부(750)는 S1109 단계에서 랜더러 트리(330)의 해석을 통해 스타일에 맞는 레이아웃을 설정하고 각 속성의 값을 해당 레이아웃에 배치하여 페이지 데이터(340)를 생성한다. 다음으로, 제어부(750)는 S1111 단계에서 페이지 데이터(340)의 데이터 구조를 변경하여 바이너리 페이지 데이터(350)를 생성한다.In step S1107, the
이어서, 제어부(750)는 S1113 단계에서 웹 어플리케이션의 모든 페이지(10)에 대해 바이너리 페이지 데이터(350)를 생성하였는지 판단한다. S1113 단계의 판단 결과, 모든 페이지(10)의 바이너리 페이지 데이터(350)를 생성하였으면, 제어부(750)는 프로세스를 종료한다. 반면, S1113 단계의 판단 결과, 바이너리 페이지 데이터(350)를 생성하지 못한 페이지(10)가 존재하면, 제어부(750)는 S1115 단계에서 바이너리 페이지 데이터(350)를 생성하지 못한 페이지(10)의 소스 파일(110)을 불러와서, 상술한 S1103 내지 S1113 단계를 반복한다. 즉, 이러한 반복은 S1113 단계에서 모든 페이지(10)를 기술하는 소스 파일(110)을 이용하여 바이너리 페이지 데이터(350)를 생성할 때까지 계속된다.In step S1113, the
다음으로, 본 발명의 실시예에 따른 웹 어플리케이션 실행 방법을 살펴본다. 도 12는 본 발명의 실시예에 따른 웹 어플리케이션 실행 방법을 설명하기 위한 흐름도이다.Next, a method of executing a web application according to an embodiment of the present invention will be described. 12 is a flowchart illustrating a method of executing a web application according to an embodiment of the present invention.
도 12를 참조하면, 제어부(750)는 S1201 단계에서 입력부(740)를 통해 웹 어플리케이션의 실행 요청을 수신한다. 이에 따라, 제어부(750)는 S1203 단계에서 해당 웹 어플리케이션이 사용할 윈도우를 생성한다. 이어서, 제어부(750)는 S1205 단계에서 해당 웹 어플리케이션의 시작 페이지의 바이너리 페이지 데이터(350)를 불러온다.12, the
S1207 단계에서 제어부(750)는 바이너리 페이지 데이터(350)를 랜더링하여 페이지를 생성하고, 생성된 페이지를 앞서(S1203 단계) 생성한 윈도우에 표시한다.In step S1207, the
이러한 랜더링 중, 사용자는 해당 페이지에 표시된 다른 페이지의 링크 등을 선택할 수 있다. 이러한 선택에 따라 다른 페이지를 표시하는 이벤트가 발생할 수 있다. 따라서, 제어부(750)는 S1209 단계에서 다른 페이지를 표시하도록 하는 이벤트가 발생되는지 판단한다. S1209 단계에서 제어부(750)가 다른 페이지를 표시하도록 하는 이벤트 발생을 감지하면, S1211 단계로 진행하여 해당되는 다른 페이지를 불러온 후, 상술한 S1207 및 S1209 단계를 반복한다. 반면, S1209 단계에서 이벤트를 감지하지 못하면, 제어부(750)는 S1213 단계로 진행한다.During such rendering, the user can select a link of another page displayed on the page. Depending on this selection, an event may occur that displays a different page. Accordingly, the
제어부(750)는 S1213 단계에서 웹 어플리케이션을 종료하는 이벤트가 있는지 판단한다. 이때, 웹 어플리케이션을 종료하는 이벤트가 발생하면, 제어부(750)는 프로세스를 종료한다. 그렇지 못한 경우, 제어부(750)는 S1207 단계로 진행하여 상술한 S1209 내지 S1213 단계를 반복한다.The
상술한 바와 같이, 본 발명의 실시예에 따르면 소스 파일을 분석하여, 태그의 속성이 지시하는 주소에서 리소스 파일을 미리 다운로드 받아, 저장한 후, 그 저장된 경로로 속성을 변경한다. 그런 다음, 이를 이용하여 각 페이지에 대해 바이너리 페이지 데이터를 미리 생성한다. 사용자의 웹 어플리케이션의 실행 요청이 있는 경우, 미리 생성한 바이너리 페이지 데이터를 랜더링하여 웹 어플리케이션을 실행한다. 이러한 본 발명의 실시예에 따르면, 리소스 파일을 미리 다운로드 함으로써, 웹 어플리케이션 실행 시, 리소스 파일을 다운로드 하는 시간을 절약할 수 있다. 또한, 웹 어플리케이션 실행시, 바이너리 페이지 데이터를 생성하여 미리 저장함으로써, 페이지 데이터를 생성하는데 걸리는 시간을 절약할 수 있다. 이에 따라, 웹 어플리케이션 실행 시, 그 응답 속도를 향상시킬 수 있다.As described above, according to the embodiment of the present invention, the source file is analyzed, the resource file is downloaded in advance from the address indicated by the attribute of the tag, and the attribute is changed to the stored path after storing the resource file. Then, using this, binary page data is generated in advance for each page. When there is a request to execute the user's web application, the web application is rendered by rendering the binary page data generated in advance. According to the embodiment of the present invention, it is possible to save time for downloading the resource file when the web application is executed by downloading the resource file in advance. In addition, when the web application is executed, binary page data is generated and stored in advance, which saves time for generating page data. Accordingly, when the web application is executed, its response speed can be improved.
본 발명에 따른 웹 어플리케이션 실행 방법은 다양한 컴퓨터 수단을 통하여 판독 가능한 소프트웨어 형태로 구현되어 컴퓨터로 판독 가능한 기록매체에 기록될 수 있다. 여기서, 기록매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 기록매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 예컨대 기록매체는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광 기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치를 포함한다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함할 수 있다. 이러한 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.The web application execution method according to the present invention may be implemented in a form of software readable by various computer means and recorded in a computer-readable recording medium. Here, 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.
한편, 본 명세서와 도면에는 본 발명의 바람직한 실시 예에 대하여 개시하였으나, 여기에 개시된 실시 예외에도 본 발명의 기술적 사상에 바탕을 둔 다른 변형 예들이 실시 가능하다는 것은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 자명한 것이다. 또한, 본 명세서와 도면에서 특정 용어들이 사용되었으나, 이는 단지 본 발명의 기술 내용을 쉽게 설명하고 발명의 이해를 돕기 위한 일반적인 의미에서 사용된 것이지, 본 발명의 범위를 한정하고자 하는 것은 아니다.While the present invention has been described in connection with what is presently considered to be the most practical and preferred embodiment, it is to be understood that the invention is not limited to the disclosed embodiments, but, on the contrary, It is self-evident to those who have knowledge. Furthermore, although specific terms are used in this specification and the drawings, they are used in a generic sense only to facilitate the description of the invention and to facilitate understanding of the invention, and are not intended to limit the scope of the invention.
본 발명은 이동통신 단말기, PMP, PDA, 노트북, MP3 플레이어와 같은 다양한 종류의 사용자 장치에 적용되는 웹 어플리케이션 실행 장치, 이의 웹 어플리케이션 실행 방법 및 이 방법이 기록된 컴퓨터로 판독 가능한 기록 매체에 관한 것으로, 리소스 파일을 웹 어플리케이션의 실행 전에 미리 다운로드하여, 저장함으로써, 그 웹 어플리케이션 실행 중에 상술한 리소스 파일을 다운로드 할 필요 없이 해당 리소스 파일을 그대로 사용하면 되므로, 웹 어플리케이션 실행시 그 응답 속도가 향상된다. 이는 사용자에게 응답 속도가 향상된 사용자 경험을 제공할 수 있어, 시판 또는 영업의 가능성이 충분할 뿐만 아니라 현실적으로 명백하게 실시할 수 있는 정도이므로 산업상 이용가능성이 있다.The present invention relates to a web application execution device applied to various types of user devices such as a mobile communication terminal, a PMP, a PDA, a notebook, and an MP3 player, a web application execution method thereof, and a computer readable recording medium on which the method is recorded , The resource file can be downloaded and stored before execution of the web application in advance so that the corresponding resource file can be used directly without downloading the resource file during execution of the web application. This can provide a user experience with an improved response speed to the user, which is not only a possibility of commercialization or sales, but also can be practically and practically applicable.
10: 페이지
100: 콘텐츠 파일 110: 소스 파일
111: 마크업 언어 113: 스타일시트
115: 스크립트 언어 120: 리소스 파일
200: 정보 파일 210: 구성 정보 파일
220: 정책 정보 파일
310: DOM(Document Object Model) 트리 320: 스타일 트리
330: 랜더러 트리 340: 페이지 데이터
350: 바이너리 페이지 데이터
710: 네트워크 연결부 720: 저장부
730: 표시부 740: 입력부
750: 제어부10: Page
100: Content file 110: Source file
111: Markup Language 113: Style Sheets
115: Scripting language 120: Resource file
200: information file 210: configuration information file
220: Policy information file
310: Document Object Model (DOM) tree 320: Style tree
330: renderer tree 340: page data
350: Binary page data
710: Network connection unit 720: Storage unit
730: Display section 740: Input section
750:
Claims (28)
네트워크에 연결해 통신을 수행하기 위한 네트워크 연결부;
상기 웹 어플리케이션을 패키지 단위인 웹 어플리케이션 패키지로 저장하는 저장부; 및
상기 웹 어플리케이션의 실행 전, 상기 웹 어플리케이션의 소스 파일을 분석하여, 웹 어플리케이션 실행시 필요한 리소스 파일 중 미리 다운로드 받을 수 있는 리소스 파일의 목록인 다운로드 리소스 목록을 작성하여 상기 저장부에 저장하고, 대기 모드에서 상기 네트워크 연결부를 통해 상기 다운로드 리소스 목록의 리소스 파일을 다운로드 하여 상기 저장부에 저장하며, 사용자의 웹 어플리케이션 실행 요청이 있는 경우, 상기 다운로드 받은 리소스 파일을 이용하여 상기 웹 어플리케이션을 실행하는 제어부;를 포함하는 것을 특징으로 하는 웹 어플리케이션 실행 장치. A web application execution apparatus comprising:
A network connection unit for performing communication by connecting to a network;
A storage unit for storing the web application as a web application package as a package unit; And
Before execution of the web application, a source file of the web application is analyzed, and a download resource list, which is a list of resource files that can be downloaded in advance among resource files necessary for executing a web application, is created and stored in the storage unit, A control unit for downloading the resource file of the download resource list through the network connection unit and storing the downloaded resource file in the storage unit and executing the web application using the downloaded resource file when the user requests to execute the web application; The web application executing apparatus comprising:
상기 소스 파일에서 태그 및 상기 태그의 속성이 리소스 파일의 링크를 지시하는 주소인 경우, 상기 주소를 등록한 것임을 특징으로 하는 웹 어플리케이션 실행 장치.The method of claim 1,
And the address is registered when the attribute of the tag and the tag in the source file indicate the link of the resource file.
상기 네트워크 연결부의 네트워크 트래픽이 기 설정된 용량 미만인 경우임을 특징으로 하는 웹 어플리케이션 실행 장치.2. The method of claim 1,
And the network traffic of the network connection unit is less than a preset capacity.
상기 다운로드 받은 리소스 파일을 이용하여 상기 웹 어플리케이션의 각 페이지에 대해 바이너리 페이지 데이터를 미리 생성한 후, 사용자의 웹 어플리케이션 실행 요청이 있는 경우, 상기 바이너리 페이지 데이터를 랜더링하여 웹 어플리케이션을 실행하는 것을 특징으로 하는 웹 어플리케이션 실행 장치. The apparatus of claim 1, wherein the control unit
Generating binary page data for each page of the web application by using the downloaded resource file and then rendering the binary page data when the user requests execution of the web application to execute the web application. A web application execution unit.
상기 웹 어플리케이션 패키지에 대한 정보, 상기 웹 어플리케이션을 다른 웹 어플리케이션과 구분하여 실행시키기 위한 실행 정보 및 상기 다운로드 리소스 목록을 저장하는 레지스트리를 포함하는 것을 특징으로 하는 웹 어플리케이션 실행 장치.The apparatus of claim 1, wherein the storage unit
And a registry for storing information on the web application package, execution information for executing the web application differently from other web applications, and a list of download resources.
프로토콜 스킴(protocol scheme) 및 상기 프로토콜 스킴에 이어서 기술되는 주소로 이루어지는 것을 특징으로 하는 웹 어플리케이션 실행 장치.6. The method according to claim 5,
A protocol scheme, and an address described subsequently to the protocol scheme.
"httpa://"의 형식을 가지는 것을 특징으로 하는 웹 어플리케이션 실행 장치.7. The method of claim 6,
and has a format of "http: // ".
상기 웹 어플리케이션을 제작한 제작사 또는 상기 웹 어플리케이션을 제공하는 콘텐츠 제공자의 도메인 명칭,
상기 웹 어플리케이션을 이루는 패키지의 명칭인 웹 어플리케이션 패키지 명칭 및
상기 웹 어플리케이션을 실행할 때 가장 먼저 실행시키는 소스 파일의 명칭인 시작 페이지를 포함하는 것을 특징으로 하는 웹 어플리케이션 실행 장치.7. The method of claim 6,
A domain name of a manufacturer who produced the web application or a content provider that provides the web application,
A name of a web application package which is a name of a package constituting the web application,
And a start page which is a name of a source file to be executed first when the web application is executed.
상기 웹 어플리케이션을 설치할 시, 상기 레지스트리에 상기 실행 정보를 등록하는 것을 특징으로 하는 웹 어플리케이션 실행 장치.7. The apparatus of claim 6, wherein the control unit
And registers the execution information in the registry when the web application is installed.
상기 다운로드 리소스 목록을 만들 시 상기 웹 어플리케이션의 각 페이지가 선입선출 방식에 따라 순차로 입력되고 출력되는 큐를 포함하는 것을 특징으로 하는 웹 어플리케이션 실행 장치.The apparatus of claim 1, wherein the storage unit
And a queue in which each page of the web application is sequentially input and output according to a first-in first-out method when the download resource list is created.
상기 다운로드 리소스 목록을 작성할 시, 상기 큐에 상기 웹 어플리케이션을 구성하는 적어도 하나의 페이지를 순차로 입력하여, 상기 큐가 먼저 입력된 페이지를 먼저 출력함에 따라, 출력되는 페이지 순으로 상기 다운로드 리소스 목록을 작성하는 것을 특징으로 하는 웹 어플리케이션 실행 장치.11. The apparatus of claim 10, wherein the control unit
When generating the download resource list, sequentially inputting at least one page constituting the web application into the queue, and outputting the download resource list in order of outputted pages as the queue first outputs the inputted page The web application executing apparatus comprising:
상기 웹 어플리케이션 패키지는 상기 웹 어플리케이션의 콘텐츠를 기술하는 콘텐츠 파일과 상기 웹 어플리케이션 및 상기 웹 어플리케이션의 패키지에 대한 정보를 기술하는 정보 파일을 포함하는 것을 특징으로 하는 웹 어플리케이션 실행 장치.The method according to claim 1,
Wherein the web application package includes a content file describing the content of the web application, and an information file describing information about the web application and the package of the web application.
상기 웹 어플리케이션의 각 페이지를 표현하는 소스 파일 및 상기 소스 파일에 링크로 연결되는 리소스 파일을 포함하는 것을 특징으로 하는 웹 어플리케이션 실행 장치.13. The content distribution system according to claim 12,
A source file representing each page of the web application, and a resource file linked to the source file by a link.
태그 및 상기 태그의 속성이 기술되는 마크업 언어, 상기 태그 및 상기 태그의 속성이 페이지에 표시되는 스타일을 기술하는 스타일시트 및 상기 웹 어플리케이션을 동적으로 제어하기 위한 스크립트 언어를 포함하는 것을 특징으로 하는 웹 어플리케이션 실행 장치.14. The method of claim 13,
And a script language for dynamically controlling the web application. The method of claim 1, wherein the attribute of the tag is an attribute of the tag, Web application execution device.
상기 리소스 파일의 형식에 맞는 형태로 링크를 통해 상기 페이지에 삽입되는 개별 파일인 것을 특징으로 하는 웹 어플리케이션 실행 장치.14. The method of claim 13,
Wherein the web application is an individual file inserted into the page through a link in a form corresponding to the format of the resource file.
장면 기술, 비디오, 오디오, 이미지, 폰트, 텍스트, 메타데이터, 및 스크립트 파일 중 적어도 하나인 것을 특징으로 하는 웹 어플리케이션 실행 장치.14. The method of claim 13,
A scene description, a video, an audio, an image, a font, text, metadata, and a script file.
상기 웹 어플리케이션의 패키지에 포함되는 파일의 목록, 파일 별 공개 여부와 공개 범위 및 상기 웹 어플리케이션의 실행 환경을 설정하기 위한 설정 값을 포함하는 구성 정보가 기술되는 구성 정보 파일과,
상기 웹 어플리케이션이 단말의 운영 체제에 접근할 수 있는 접근 권한의 범위를 지정하기 위한 정책 정보를 기술하는 정책 정보 파일을 포함하는 것을 특징으로 하는 웹 어플리케이션 실행 장치.13. The information processing apparatus according to claim 12,
A configuration information file describing configuration information including a list of files included in the package of the web application, a disclosure status and a disclosure range for each file, and configuration values for setting an execution environment of the web application,
Wherein the web application includes a policy information file describing policy information for specifying a range of access rights for the web application to access the operating system of the terminal.
상기 저장부에 데이터베이스 구조로 저장되는 것을 특징으로 하는 웹 어플리케이션 실행 장치.The method of claim 1, wherein the web application package
Wherein the web application is stored in the storage unit in a database structure.
상기 웹 어플리케이션의 실행 전, 상기 웹 어플리케이션의 소스 파일을 분석하여, 상기 소스 파일에 포함된 리소스 파일 중 미리 다운로드 받을 수 있는 리소스 파일의 목록인 다운로드 리소스 목록을 작성하는 단계;
대기 모드이면, 상기 다운로드 리소스 목록의 리소스 파일을 다운로드 하는 단계; 및
사용자의 웹 어플리케이션 실행 요청이 있는 경우, 상기 다운로드 받은 리소스 파일을 이용하여 상기 웹 어플리케이션을 실행하는 단계;를 포함하는 것을 특징으로 하는 웹 어플리케이션 실행 방법. In a web application execution method,
Analyzing a source file of the web application before execution of the web application and creating a download resource list that is a list of resource files that can be downloaded in advance among the resource files included in the source file;
Downloading a resource file of the download resource list if the resource file is in a standby mode; And
And executing the web application using the downloaded resource file when the user requests to execute the web application.
상기 웹 어플리케이션의 시작 페이지의 태그 및 상기 태그의 속성을 분석하는 단계; 및
상기 분석 결과, 상기 태그의 속성이 리소스 파일의 링크를 나타내는 주소이면, 상기 주소를 상기 다운로드 리소스 목록에 등록하는 단계;를 포함하는 것을 특징으로 하는 웹 어플리케이션 실행 방법.20. The method of claim 19, wherein the creating comprises:
Analyzing a tag of a start page of the web application and an attribute of the tag; And
And registering the address in the download resource list if the attribute of the tag is an address indicating a link of the resource file as a result of the analysis.
상기 분석 결과, 상기 태그의 속성이 상기 웹 어플리케이션을 구성하는 다른 페이지의 링크인 경우, 상기 다른 페이지에 대해 상기 분석하는 단계 및 상기 등록하는 단계를 수행하는 단계를 더 포함하는 것을 특징으로 하는 웹 어플리케이션 실행 방법.21. The method of claim 20,
Further comprising the step of analyzing and registering the other page if the attribute of the tag is a link of another page constituting the web application as a result of the analysis How to do it.
다운로드 리소스 목록의 용량이 기 설정된 용량을 초과할 것으로 판단되는 경우 또는 상기 웹 어플리케이션을 구성하는 모든 페이지의 모든 태그를 분석한 경우 종료하는 것을 특징으로 하는 웹 어플리케이션 실행 방법.20. The method of claim 19, wherein the creating comprises:
When the capacity of the download resource list is judged to exceed the preset capacity or when all the tags of all the pages constituting the web application are analyzed, the method ends.
상기 대기 모드인지 판단하는 단계;
상기 판단 결과 대기 모드이면, 상기 다운로드 리소스 목록의 리소스 파일이 이미 다운로드 되었는지 확인하는 단계; 및
상기 확인 결과, 다운로드 되지 않은 리소스 파일을 다운로드 하는 단계;를 포함하는 것을 특징으로 하는 웹 어플리케이션 실행 방법.20. The method of claim 19, wherein the downloading comprises:
Determining whether the mode is the standby mode;
Checking whether the resource file of the download resource list has already been downloaded if the determination result is the standby mode; And
And downloading a resource file that has not been downloaded as a result of the checking.
네트워크 트래픽이 기 설정된 용량 미만인 경우임을 특징으로 하는 웹 어플리케이션 실행 방법.24. The method of claim 23, wherein the standby mode
Wherein the network traffic is less than a predetermined amount.
상기 다운로드 리소스 목록의 모든 리소스 파일을 다운로드 하였거나, 상기 대기 모드가 종료될 때까지 수행하는 것을 특징으로 하는 웹 어플리케이션 실행 방법.20. The method of claim 19, wherein the downloading comprises:
Wherein the downloading of the resource file is performed until all resource files of the download resource list are downloaded or the standby mode is terminated.
상기 다운로드 받은 리소스 파일을 이용하여 상기 웹 어플리케이션의 각 페이지에 대해 바이너리 페이지 데이터를 생성하는 단계; 및
사용자의 웹 어플리케이션 실행 요청이 있는 경우, 상기 바이너리 페이지 데이터를 랜더링하여 웹 어플리케이션을 실행하는 단계;를 포함하는 것을 특징으로 하는 웹 어플리케이션 실행 방법.20. The method of claim 19, wherein the performing
Generating binary page data for each page of the web application using the downloaded resource file; And
And executing the web application by rendering the binary page data when the user requests to execute the web application.
상기 다운로드 리소스 목록을 참조하여 페이지의 속성 중 리소스 파일의 속성을 상기 미리 다운로드 받은 리소스 파일이 저장된 경로로 변경하는 단계;
상기 웹 어플리케이션의 각 페이지의 소스 파일을 분석하여, DOM 트리 및 스타일 트리를 생성하는 단계;
상기 DOM 트리 및 스타일 트리를 결합하여 랜더러 트리를 생성하는 단계;
상기 랜더러 트리를 해석하여 페이지 데이터를 생성하는 단계; 및
상기 페이지 데이터를 바이너리 형태로 변환하여 바이너리 페이지 데이터를 생성하는 단계를 포함하는 것을 특징으로 하는 웹 어플리케이션 실행 방법.27. The method of claim 26, wherein generating the binary page data comprises:
Changing an attribute of the resource file among the attributes of the page to a path where the resource file is downloaded before referring to the download resource list;
Analyzing a source file of each page of the web application to generate a DOM tree and a style tree;
Combining the DOM tree and the style tree to generate a renderer tree;
Analyzing the renderer tree to generate page data; And
And converting the page data into a binary form to generate binary page data.
A computer-readable recording medium having recorded thereon a program for executing the web application execution method according to any one of claims 19 to 27.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020100053649A KR101504088B1 (en) | 2010-06-08 | 2010-06-08 | Apparatus for executing web application, method thereof and computer recordable medium storing the method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020100053649A KR101504088B1 (en) | 2010-06-08 | 2010-06-08 | Apparatus for executing web application, method thereof and computer recordable medium storing the method |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20110133950A KR20110133950A (en) | 2011-12-14 |
KR101504088B1 true KR101504088B1 (en) | 2015-03-19 |
Family
ID=45501430
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020100053649A Expired - Fee Related KR101504088B1 (en) | 2010-06-08 | 2010-06-08 | Apparatus for executing web application, method thereof and computer recordable medium storing the method |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101504088B1 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101328047B1 (en) * | 2012-01-02 | 2013-11-13 | 네이버 주식회사 | Apparatus, method and computer readable recording medium for improving loading speed of images in a webpage having a plurality of images |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10222541A (en) * | 1997-01-21 | 1998-08-21 | Internatl Business Mach Corp <Ibm> | Pre-load device for web page corresponding to link designated in html and method therefor |
US20070300244A1 (en) * | 2000-02-04 | 2007-12-27 | Robert Kieffer | Optimized delivery of web application code |
KR20100028313A (en) * | 2008-09-04 | 2010-03-12 | 에스케이 텔레콤주식회사 | Resource installation and management system and resource installation and management method |
-
2010
- 2010-06-08 KR KR1020100053649A patent/KR101504088B1/en not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10222541A (en) * | 1997-01-21 | 1998-08-21 | Internatl Business Mach Corp <Ibm> | Pre-load device for web page corresponding to link designated in html and method therefor |
US20070300244A1 (en) * | 2000-02-04 | 2007-12-27 | Robert Kieffer | Optimized delivery of web application code |
KR20100028313A (en) * | 2008-09-04 | 2010-03-12 | 에스케이 텔레콤주식회사 | Resource installation and management system and resource installation and management method |
Also Published As
Publication number | Publication date |
---|---|
KR20110133950A (en) | 2011-12-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10289649B2 (en) | Webpage advertisement interception method, device and browser | |
JP5911304B2 (en) | Handling fonts for viewing documents on the web | |
US8769050B2 (en) | Serving font files in varying formats based on user agent type | |
US8074167B2 (en) | Cross domain presence of web user interface and logic | |
RU2459238C2 (en) | Managed execution environment for software application interfacing | |
US20130227398A1 (en) | Page based navigation and presentation of web content | |
US20190171697A1 (en) | System and method for web content presentation management | |
CN106294658B (en) | Webpage quick display method and device | |
US20130145252A1 (en) | Page based navigation and presentation of web content | |
US8522132B2 (en) | Widget behavior customization via cascaded style sheets | |
KR20150079867A (en) | Html5-protocol-based webpage presentation method and device | |
KR101453743B1 (en) | Pre-caching method for web application and device using the same | |
CN101909082A (en) | A model-driven grid portal configuration system and configuration method | |
US20100023888A1 (en) | Method and apparatus for controlling focus of application | |
KR101504088B1 (en) | Apparatus for executing web application, method thereof and computer recordable medium storing the method | |
CN115659087B (en) | Page rendering method, equipment and storage medium | |
CN117675238A (en) | Data access method, device, electronic equipment and storage medium | |
US20130111433A1 (en) | Method and apparatus for generating application programs | |
US20030028849A1 (en) | Display of a document on a client computer | |
CN115062255B (en) | Website adaptation method and device, electronic equipment and computer readable storage medium | |
Aryal | Design principles for responsive web | |
KR20110139446A (en) | Device for transmitting / receiving status information of a terminal for seamless web application execution, method, and computer readable recording medium recording the method | |
CN102253950A (en) | Automatic quick access network application program method | |
Northwood | Front End | |
TANGNING | FROM STATIC TO DYNAMIC TO BECOME INTELLIGENT: THE WEB PAGES |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PA0109 | Patent application |
St.27 status event code: A-0-1-A10-A12-nap-PA0109 |
|
PN2301 | Change of applicant |
St.27 status event code: A-3-3-R10-R11-asn-PN2301 |
|
R19-X000 | Request for party data change rejected |
St.27 status event code: A-3-3-R10-R19-oth-X000 |
|
PN2301 | Change of applicant |
St.27 status event code: A-3-3-R10-R11-asn-PN2301 |
|
R19-X000 | Request for party data change rejected |
St.27 status event code: A-3-3-R10-R19-oth-X000 |
|
N231 | Notification of change of applicant | ||
PN2301 | Change of applicant |
St.27 status event code: A-3-3-R10-R13-asn-PN2301 St.27 status event code: A-3-3-R10-R11-asn-PN2301 |
|
PG1501 | Laying open of application |
St.27 status event code: A-1-1-Q10-Q12-nap-PG1501 |
|
A201 | Request for examination | ||
PA0201 | Request for examination |
St.27 status event code: A-1-2-D10-D11-exm-PA0201 |
|
PN2301 | Change of applicant |
St.27 status event code: A-3-3-R10-R13-asn-PN2301 St.27 status event code: A-3-3-R10-R11-asn-PN2301 |
|
D13-X000 | Search requested |
St.27 status event code: A-1-2-D10-D13-srh-X000 |
|
R18-X000 | Changes to party contact information recorded |
St.27 status event code: A-3-3-R10-R18-oth-X000 |
|
D14-X000 | Search report completed |
St.27 status event code: A-1-2-D10-D14-srh-X000 |
|
PE0902 | Notice of grounds for rejection |
St.27 status event code: A-1-2-D10-D21-exm-PE0902 |
|
P11-X000 | Amendment of application requested |
St.27 status event code: A-2-2-P10-P11-nap-X000 |
|
P13-X000 | Application amended |
St.27 status event code: A-2-2-P10-P13-nap-X000 |
|
E701 | Decision to grant or registration of patent right | ||
PE0701 | Decision of registration |
St.27 status event code: A-1-2-D10-D22-exm-PE0701 |
|
GRNT | Written decision to grant | ||
PR0701 | Registration of establishment |
St.27 status event code: A-2-4-F10-F11-exm-PR0701 |
|
PR1002 | Payment of registration fee |
St.27 status event code: A-2-2-U10-U11-oth-PR1002 Fee payment year number: 1 |
|
PG1601 | Publication of registration |
St.27 status event code: A-4-4-Q10-Q13-nap-PG1601 |
|
R18-X000 | Changes to party contact information recorded |
St.27 status event code: A-5-5-R10-R18-oth-X000 |
|
L13-X000 | Limitation or reissue of ip right requested |
St.27 status event code: A-2-3-L10-L13-lim-X000 |
|
U15-X000 | Partial renewal or maintenance fee paid modifying the ip right scope |
St.27 status event code: A-4-4-U10-U15-oth-X000 |
|
P22-X000 | Classification modified |
St.27 status event code: A-4-4-P10-P22-nap-X000 |
|
PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 4 |
|
P22-X000 | Classification modified |
St.27 status event code: A-4-4-P10-P22-nap-X000 |
|
LAPS | Lapse due to unpaid annual fee | ||
PC1903 | Unpaid annual fee |
St.27 status event code: A-4-4-U10-U13-oth-PC1903 Not in force date: 20190314 Payment event data comment text: Termination Category : DEFAULT_OF_REGISTRATION_FEE |
|
PC1903 | Unpaid annual fee |
St.27 status event code: N-4-6-H10-H13-oth-PC1903 Ip right cessation event data comment text: Termination Category : DEFAULT_OF_REGISTRATION_FEE Not in force date: 20190314 |