KR101453743B1 - Pre-caching method for web application and device using the same - Google Patents
Pre-caching method for web application and device using the same Download PDFInfo
- Publication number
- KR101453743B1 KR101453743B1 KR1020100078600A KR20100078600A KR101453743B1 KR 101453743 B1 KR101453743 B1 KR 101453743B1 KR 1020100078600 A KR1020100078600 A KR 1020100078600A KR 20100078600 A KR20100078600 A KR 20100078600A KR 101453743 B1 KR101453743 B1 KR 101453743B1
- Authority
- KR
- South Korea
- Prior art keywords
- page
- web application
- pages
- file
- caching
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/957—Browsing optimisation, e.g. caching or content distillation
- G06F16/9574—Browsing optimisation, e.g. caching or content distillation of access to content, e.g. by caching
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24552—Database cache management
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/955—Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
- G06F16/9558—Details of hyperlinks; Management of linked annotations
-
- 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/4401—Bootstrapping
- G06F9/4416—Network booting; Remote initial program loading [RIPL]
-
- 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/445—Program loading or initiating
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Computer Security & Cryptography (AREA)
- Information Transfer Between Computers (AREA)
Abstract
본 발명은 다수의 페이지로 구성되는 웹 어플리케이션의 페이지간 호출 관계를 분석하여, 호출 가능성이 큰 페이지를 미리 캐싱함으로써 웹 어플리케이션의 실행 속도를 개선한 웹 어플리케이션을 위한 사전 캐싱 방법 및 이를 적용한 단말 장치에 관한 것으로서, 다수의 페이지로 구성되는 웹 어플리케이션을 저장한 단말 장치는 웹 어플리케이션의 실행 시, 웹 어플리케이션에 포함된 다수의 페이지 간의 호출 관계를 분석하여, 현재 페이지를 기준으로 호출 가능성이 큰 하나 이상의 페이지를 미리 캐싱함으로써, 추후 페이지 전환 시의 실행 속도를 개선한다.The present invention relates to a pre-caching method for a web application in which the execution speed of a web application is improved by analyzing a page-to-page call relationship of a web application composed of a plurality of pages and caching a page with a high possibility of calling, and a terminal device A terminal device that stores a web application composed of a plurality of pages analyzes a call relationship between a plurality of pages included in a web application when executing a web application and searches for one or more pages The execution speed at the time of page switching is improved.
Description
본 발명은 웹 어플리케이션을 위한 사전 캐싱 방법 및 이를 적용한 단말 장치에 관한 것으로서, 더욱 상세하게는 웹 어플리케이션을 구성하는 페이지 사이의 호출 관계를 분석하여, 호출 가능성이 큰 페이지를 미리 캐싱함으로써 웹 어플리케이션의 실행 속도를 개선한 웹 어플리케이션을 위한 사전 캐싱 방법 및 이를 적용한 단말 장치에 관한 것이다.The present invention relates to a pre-caching method for a web application and a terminal device using the method. More particularly, the present invention relates to a method and system for analyzing a call relationship between pages constituting a web application, And more particularly, to a pre-caching method for a web application having improved speed and a terminal device using the same.
최근 스마트폰의 성장에 따라서, 오픈 환경이 도래하면서, 서비스의 차별화를 위하여 개방형 어플리케이션 및 플랫폼 환경이 요구되고 있다. Recently, with the growth of smart phones, open environment has been required, and an open application and platform environment is required to differentiate services.
더 구체적으로, 사용자가 자신이 원하는 모바일 어플리케이션을 자유롭게 선택하여 설치할 수 있는 스마트폰이 급성장하면서, 이러한 스마트폰에서 이용 가능한 모바일 어플리케이션의 개발 및 이러한 모바일 어플리케이션을 자유롭게 거래할 수 있는 OMP(Open Market Place)가 활성화되고 있다.More specifically, as a smartphone capable of freely selecting and installing a desired mobile application is rapidly growing, development of a mobile application available in such a smart phone and an open market place (OMP) Is activated.
한편, 정적이고 단순한 컨텐츠를 표현하기 위해 시작된 웹은 브라우저라는 클라이언트 어플리케이션을 사용할 수 있는 환경만 갖춰지면 어디서나 동등한 수준의 사용자 인터페이스를 제공할 수 있다는 장점 때문에, 사용자 저변과 서비스 영역을 빠르게 확장해왔다. 이와 함께, 웹 컨텐츠는 특정 내용을 서술하는 단순한 컨텐츠에서, 사용자의 입력에 반응하여 사용자가 원하는 서비스를 제공할 수 있는 웹 어플리케이션으로 진화하고 있다. On the other hand, the web launched to express static and simple contents has been rapidly expanding the user base and service area because it can provide an equal level of user interface wherever the client application of the browser is available. At the same time, web contents are evolving into simple web content that describes a specific content and can provide a desired service in response to user input.
따라서, 스마트폰과 같이 GPOS를 탑재한 이동 통신 단말에 대하여, 표준 웹 기술을 지원하는 서비스 플랫폼을 구현할 경우, 웹 어플리케이션을 모바일 어플리케이션으로 제공할 수 있게 되므로, 기존의 풍부한 웹 개발자 저변과 웹 개발 도구를 이용하여, 더욱 쉽게 모바일 어플리케이션을 개발할 수 있으며, 더하여, 풍부한 사용자 인터페이스를 쉽고 빠르게 개발하여 제공할 수 있을 것으로 기대된다.Accordingly, when a service platform supporting standard web technology is implemented for a mobile communication terminal equipped with a GPOS such as a smart phone, a web application can be provided as a mobile application. Therefore, a rich web developer base and a web development tool It is expected that it will be possible to develop a mobile application more easily and also to develop and provide a rich user interface easily and quickly.
그런데, 웹 어플리케이션은 다수의 페이지가 링크로 연결되어 이루어지기 때문에, 페이지 전환 시마다 단말이 각 페이지의 파일을 읽어와 표시하여야 하기 때문에, 화면 전환 속도가 다른 어플리케이션에 비하여 느리다는 단점이 있다.However, since the web application is made by linking a plurality of pages, the terminal must read and display the file of each page each time the page is switched. Thus, the screen switching speed is slower than other applications.
본 발명은 종래의 문제점을 해결하기 위하여 제안된 것으로서, 다수의 페이지로 구성되는 웹 어플리케이션의 페이지간 호출 관계를 분석하여, 호출 가능성이 큰 페이지를 미리 캐싱함으로써 웹 어플리케이션의 실행 속도를 개선한 웹 어플리케이션을 위한 사전 캐싱 방법 및 이를 적용한 단말 장치를 제공하고자 한다.SUMMARY OF THE INVENTION The present invention has been proposed in order to solve the problems of the related art, and it is an object of the present invention to provide a web application that improves the execution speed of a web application by analyzing a page- And a terminal device using the method.
본 발명은 과제를 해결하기 위한 수단으로서, 사용자 입력에 대응하는 사용자 입력 신호를 출력하는 입력부; 상호 연결된 다수의 페이지로 구성되는 웹 어플리케이션의 파일을 저장하는 저장부; 및 입력부를 통해 웹 어플리케이션 실행이 요청되면, 저장부에서 웹 어플리케이션의 파일을 로딩하여 실행하고, 웹 어플리케이션의 실행 시, 웹 어플리케이션에 포함된 다수의 페이지 간의 호출 관계를 분석하여, 현재 페이지를 기준으로 호출 가능성이 큰 하나 이상의 페이지를 미리 캐싱하는 제어부를 포함하는 단말 장치를 제공한다.According to one aspect of the present invention, there is provided an information processing apparatus comprising: an input unit for outputting a user input signal corresponding to a user input; A storage unit for storing a file of a web application composed of a plurality of interconnected pages; When a web application is requested to be executed through an input unit, a file of the web application is loaded and executed in the storage unit. When the web application is executed, the calling relationship between a plurality of pages included in the web application is analyzed, And a control unit for pre-caching one or more pages which are likely to be called.
본 발명에 의한 단말 장치에 있어서, 제어부는 상호 링크된 다수의 페이지로 구성되는 웹 어플리케이션의 각 페이지 간의 호출 관계를 분석하는 분석 모듈; 분석 모듈의 분석 결과에 기초하여, 현재 페이지에서 호출 가능성이 큰 페이지를 하나 이상 추출하여 페이지 리스트를 생성하는 예측 모듈; 및 예측 모듈에서 생성된 페이지 리스트에 포함된 하나 이상의 페이지를 미리 캐싱하는 실행 모듈을 포함한다.In the terminal device according to the present invention, the control unit may include an analysis module for analyzing a call relation between respective pages of the web application composed of a plurality of mutually linked pages; A prediction module for extracting one or more pages that are likely to be called from the current page and generating a page list based on the analysis result of the analysis module; And an execution module for pre-caching one or more pages included in the page list generated in the prediction module.
본 발명에 의한 단말 장치에 있어서, 분석 모듈은 분석 결과를 이용하여 페이지간 호출 빈도를 저장할 테이블을 더 생성하는 것을 특징으로 한다.In the terminal device according to the present invention, the analysis module may further generate a table for storing the inter-page call frequency using the analysis result.
본 발명에 의한 단말 장치에 있어서, 예측 모듈은 웹 어플리케이션의 실행 중의 페이지 전환 결과를 이용하여, 각 페이지 간의 호출 빈도를 측정하고, 호출 빈도를 기준으로 호출 가능성을 판단하는 것을 특징으로 한다.In the terminal device according to the present invention, the prediction module measures the frequency of calling between pages using the page switching result during execution of the web application, and determines the possibility of calling based on the calling frequency.
본 발명에 의한 단말 장치에 있어서, 예측 모듈은 페이지 전환 이벤트가 발생하면, 현재 생성한 페이지 리스트를 삭제하고, 전환된 페이지를 기준으로 다시 페이지 리스트를 생성하는 것을 특징으로 한다.In the terminal device according to the present invention, when a page switching event occurs, the prediction module deletes the currently generated page list and generates a page list based on the converted page.
본 발명에 의한 단말 장치에 있어서, 실행 모듈은 가용 메모리를 고려하여 캐싱할 페이지의 개수를 정하는 것을 특징으로 한다.In the terminal device according to the present invention, the execution module sets the number of pages to be cached in consideration of the available memory.
본 발명에 의한 단말 장치에 있어서, 제어부는 호출 가능성이 큰 하나 이상의 페이지를 분석 및 구조화하여 바이너리 페이지 데이터로 변경하여 저장하는 것을 특징으로 한다.In the terminal device according to the present invention, the control unit may analyze and / or structure one or more pages which are likely to be called and convert the binary page data into binary page data for storage.
본 발명에 의한 단말 장치에 있어서, 웹 어플리케이션은 웹 어플리케이션의 콘텐츠를 기술하는 콘텐츠 파일과, 웹 어플리케이션에 대한 정보를 기술하는 정보 파일을 포함하여 이루어지는 것을 특징으로 한다.The terminal device according to the present invention is characterized in that the web application includes a content file describing the content of the web application and an information file describing the information about the web application.
본 발명에 의한 단말 장치에 있어서, 콘텐츠 파일은 웹 어플리케이션의 각 페이지를 표현하는 소스 파일 및 소스 파일에 링크로 연결되는 리소스 파일을 포함하여 이루어진다.In the terminal device according to 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 terminal device according to the present invention, the source file includes a markup language in which a tag and an attribute of the tag are described, a style sheet describing a tag and a style in which the attribute of the tag is displayed on the page, And a scripting language.
본 발명에 의한 단말 장치에 있어서, 리소스 파일은 장면 기술, 비디오, 오디오, 이미지, 폰트, 텍스트, 메타데이터, 및 스크립트 파일 중 적어도 하나를 포함할 수 있다.In the terminal device according to the present invention, the resource file may include at least one of a scene description, a video, an audio, an image, a font, text, metadata, and a script file.
본 발명에 의한 단말 장치에 있어서, 정보 파일은 웹 어플리케이션에 포함되는 파일의 목록, 파일 별 공개 여부와 공개 범위 및 웹 어플리케이션의 실행 환경을 설정하기 위한 설정 값을 포함하는 구성 정보가 기술되는 구성 정보 파일과, 웹 어플리케이션이 단말의 운영 체제에 접근할 수 있는 접근 권한의 범위를 지정하기 위한 정책 정보를 기술하는 정책 정보 파일을 포함하는 것을 특징으로 한다.In the terminal device according to the present invention, the information file includes configuration information describing configuration information including a list of files included in the web application, a disclosure status and a disclosure range for each file, and a setting value for setting an execution environment of the web application And a policy information file describing policy information for designating a range of access authority for the web application to access the operating system of the terminal.
더하여, 본 발명은 과제를 해결하기 위한 다른 수단으로서, 다수의 페이지로 구성되는 웹 어플리케이션을 실행하는 단말 장치에서의 웹 어플리케이션을 위한 사전 캐싱 방법에 있어서, 단말 장치가, 웹 어플리케이션을 실행할 때, 웹 어플리케이션을 구성하는 페이지 간의 호출 관계를 분석하는 단계; 분석 결과를 이용하여, 현재 실행 중인 페이지를 기준으로 호출 가능성이 큰 페이지 리스트를 추출하여 저장하는 단계; 및 저장된 페이지 리스트에 포함된 하나 이상의 페이지를 미리 캐싱하는 단계를 포함하는 것을 특징으로 한다.According to another aspect of the present invention, there is provided a pre-caching method for a web application in a terminal device that executes a web application composed of a plurality of pages, the method comprising the steps of: Analyzing a call relationship between pages constituting an application; Extracting and storing a page list having a high possibility of calling on the basis of the page currently being executed using the analysis result; And pre-caching one or more pages included in the stored page list.
본 발명에 의한 웹 어플리케이션을 위한 사전 캐싱 방법에 있어서, 페이지 간의 호출 관계를 분석하는 단계는, 페이지 간의 호출 관계에 대한 분석 결과에 근거하여, 웹 어플리케이션 실행 중에 나타나는 페이지간 호출 빈도를 저장할 테이블을 생성하는 단계; 웹 어플리케이션의 실행 중에 발생하는 페이지 전환 이벤트 결과에 기초하여, 테이블의 페이지 간 호출 빈도를 갱신하는 단계를 포함하는 것을 특징으로 한다.In the pre-caching method for a web application according to the present invention, the step of analyzing a call relation between pages may include generating a table to store a page-to-page call frequency appearing during execution of a web application based on a result of analyzing a call relationship between the pages ; And updating the page-to-page calling frequency based on the page switching event result that occurs during execution of the web application.
본 발명에 의한 웹 어플리케이션을 위한 사전 캐싱 방법은, 페이지 전환 이벤트 발생 여부를 확인하여, 페이지 전환 이벤트가 발생하면, 저장된 페이지 리스트를 삭제하는 단계를 더 포함할 수 있다.The pre-caching method for a web application according to the present invention may further include checking whether a page switching event has occurred and deleting the stored page list when a page switching event occurs.
본 발명에 의한 웹 어플리케이션을 위한 사전 캐싱 방법에 있어서, 캐싱하는 단계는, 가용 메모리를 고려하여 캐싱할 페이지의 개수를 설정하는 것을 특징으로 한다.In the pre-caching method for a web application according to the present invention, the step of caching is characterized by setting the number of pages to be cached in consideration of an available memory.
본 발명에 의한 웹 어플리케이션을 위한 사전 캐싱 방법은, 캐싱한 하나 이상의 페이지를 분석 및 구조화하여 바이너리 페이지 데이터로 변경하는 단계를 더 포함할 수 있다.The method of pre-caching for a web application according to the present invention may further include the step of analyzing and structuring the cached one or more pages into binary page data.
더하여, 본 발명은 상술한 웹 어플리케이션을 위한 사전 캐싱 방법을 실행하는 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체를 제공한다.In addition, the present invention provides a computer-readable recording medium on which a program for executing the pre-caching method for the web application described above is recorded.
본 발명에 따르면, 단말 장치에서 다수의 페이지로 구성되는 웹 어플리케이션을 실행하는데 있어서, 현재 페이지를 기준으로 호출 가능성이 큰 페이지를 미리 캐시 메모리에 캐싱함으로써, 이후 웹 어플리케이션의 실행 중에 링크된 다른 페이지가 호출되면 캐시 메모리에서 사전에 캐싱한 해당 페이지의 데이터를 바로 가져와 화면으로 출력할 수 있으므로, 페이지 전환 속도를 개선할 수 있다. 더하여, 다수의 페이지로 이루어진 웹 어플리케이션을 실행하는데 있어서, 페이지 간의 전환 속도를 개선함으로써, 웹 어플리케이션의 전반적인 실행 성능을 향상시킬 수 있는 우수한 효과가 있다. 더하여, 본 발명은 웹 어플리케이션의 실행 성능을 개선함으로써 기존의 네이티브 어플리케이션에 비하여 화면 전환이 느리다는 웹 어플리케이션의 단점을 해결할 수 있으며, 그 결과, 웹 어플리케이션에 대한 사용자 만족도를 향상시킬 수 있는 우수한 효과가 있다.According to the present invention, in executing a web application composed of a plurality of pages in a terminal device, a page having a high possibility of being called based on the current page is cached in the cache memory in advance, When the page is cached, the data of the corresponding page cached in the cache memory can be directly fetched and output to the screen, so that the page switching speed can be improved. In addition, in executing a web application composed of a plurality of pages, there is an excellent effect that the overall execution performance of the web application can be improved by improving the switching speed between pages. In addition, the present invention can solve the disadvantage of the web application that the screen switching is slow compared to the existing native application by improving the execution performance of the web application, and as a result, it has an excellent effect of improving the user satisfaction with the web application have.
도 1은 본 발명에 적용되는 웹 어플리케이션의 구조를 설명하기 위한 개념도이다.
도 2는 본 발명에 적용되는 웹 어플리케이션의 파일 구조를 설명하기 위한 블럭도이다.
도 3은 본 발명에 적용되는 웹 어플리케이션의 어느 한 페이지를 실행하는 과정을 설명하기 위한 도면이다.
도 4는 본 발명에 따른 단말 장치의 구성을 나타낸 블럭도이다.
도 5는 본 발명에 따른 단말 장치에 있어서, 웹 어플리케이션을 위한 사전 캐싱을 처리하기 위한 제어부의 구성을 나타내는 블럭도이다.
도 6은 본 발명의 일 실시 예에 따른 웹 어플리케이션을 위한 사전 캐싱 방법을 나타낸 순서도이다.
도 7은 본 발명의 일 실시 예에 따른 웹 어플리케이션을 위한 사전 캐싱 방법에 있어서, 페이지간 호출 관계를 분석하는 단계에 대한 상세 처리 과정을 나타낸 순서도이다.
도 8은 본 발명의 일 실시 예에 따른 웹 어플리케이션을 위한 사전 캐싱 방법에 있어서, 페이지간 호출 빈도를 관리하기 위한 테이블의 예시한 도면이다.1 is a conceptual diagram for explaining a structure of a web application applied to the present invention.
2 is a block diagram for explaining a file structure of a web application according to the present invention.
3 is a diagram for explaining a process of executing a page of a web application according to the present invention.
4 is a block diagram showing a configuration of a terminal device according to the present invention.
5 is a block diagram showing the configuration of a control unit for processing pre-caching for a web application in a terminal device according to the present invention.
6 is a flowchart illustrating a pre-caching method for a web application according to an embodiment of the present invention.
FIG. 7 is a flowchart illustrating a detailed process of analyzing a page-to-page call relationship in a pre-caching method for a web application according to an exemplary embodiment of the present invention.
FIG. 8 is a diagram illustrating a table for managing call frequency between pages in a pre-caching method for 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.
먼저, 본 발명에 적용되는 웹 어플리케이션에 대해서 설명하기로 한다. 도 1은 본 발명에 따른 웹 어플리케이션의 구성을 설명하기 위한 도면이다. First, a web application to be applied to the present invention will be described. 1 is a diagram for explaining a configuration of a web application according to the present invention.
도 1을 참조하면, 본 발명의 일 실시 예에 따른 웹 어플리케이션은 페이지를 기본 단위로 동작하는 것으로서, 복수의 페이지(10~13)로 구성된다. 상기 복수의 페이지(10~13)은 하나 이상의 다른 페이지와 링크로 연결된다. 본 실시 예에서는, 페이지(10)는 다른 페이지(11,12)와 링크되며, 페이지(12)는 또 다른 페이지(13)와 링크된다. 이러한 웹 어플리케이션을 실행시키면, 한 페이지(10)가 시작 페이지로 실행되고, 상기 웹 어플리케이션의 실행됨에 따라서 다른 페이지(11,12)를 실행시키는 이벤트가 발생하면, 그 다른 페이지(11,12)가 실행된다.Referring to FIG. 1, a web application according to an exemplary embodiment of the present invention operates on a page as a basic unit, and is composed of a plurality of pages 10-13. The plurality of pages 10-13 are linked with one or more other pages. In this embodiment, the
이러한 웹 어플리케이션은 다수의 페이지(10~13)를 구성하는 파일들을 패키지로 묶어 관리한다.These web applications package and manage the files constituting the plurality of
도 2는 웹 어플리케이션의 파일 구조를 설명하기 위한 도면으로서, 이를 참조하면, 웹 어플리케이션은 다수 페이지의 콘텐츠를 기술하는 콘텐츠 파일(100)과, 웹 어플리케이션에 대한 정보를 기술하는 정보 파일(200)을 포함한다. 여기서, 콘텐츠 파일(100)은 소스 파일(110) 및 리소스 파일(120)을 포함한다. 또한, 정보 파일(200)은 구성 정보 파일(210) 및 정책 정보 파일(220)을 포함한다. 2 is a diagram for explaining a file structure of a web application. Referring to FIG. 2, the web application includes a
상기 소스 파일(110)은 마크업 언어(Markup Language), 스타일시트(Style Sheets), 및 스크립트 언어(scripting language)로 작성된 파일이며, 이중 스타일시트 및 스크립트 언어는 선택적으로 생략 가능하다. 상술한 언어들로 작성된 소스 파일(110)에 의해 웹 어플리케이션의 각 페이지(10~13)가 표현된다. 여기서, 마크업 언어로는 HTML(Hypertext Markup Language), XHTML(extensible Hypertext Markup Language), XML(Extensible Markup Language) 등을 예시할 수 있으며, 이러한 마크업 언어는 다수의 태그(tag)와 각 태그의 속성(attribute) 및 일반적인 텍스트로 이루어진다. 스타일시트는 사용자가 정의한 디자인 속성, 즉, 스타일을 기술하기 위한 언어로서, 태그, 속성, 및 텍스트에 의해 보여지는 페이지(10~13)의 글꼴, 크기, 색상, 레이아웃 등의 스타일을 기술한다. 이러한 스타일시트를 사용한 페이지는 다른 화면 해상도를 가지는 표시 장치와 다른 종류의 브라우저에서도 스타일시트에 기술한 바에 따라 동일하게 보여진다. 이 스타일시트는 대표적으로 CSS(Cascading Style Sheets)를 예시할 수 있다. 스크립트 언어는 프로그래밍 언어로서 웹 어플리케이션을 동적으로 제어하기 위한 언어이다. 대표적으로, 자바 스크립트(Java Script)를 예시할 수 있다. The
리소스 파일(120)은 웹 어플리케이션의 각 페이지(10~13)에 삽입되는 소스 파일(110) 이외의 각종 파일을 말한다. 이 리소스 파일(120)은 소스 파일(110)을 기술하는 프로그래밍 언어를 통해 링크 태그를 이용하여 페이지(10~13)에 삽입될 수 있다. 또한, 이러한 리소스 파일(120)은 웹(Web) 상의 어느 일 디바이스 또는 웹 어플리케이션이 실행되는 로컬 디바이스에 저장될 수 있으며, 이 리소스 파일(120)에 접근하여 다운로드 받을 수 있는 주소(URL)는 마크업 언어를 통해 태그의 속성으로 기술된다. 이러한 리소스 파일(120)로 장면 기술(scene description), 비디오(video), 오디오(audio), 이미지(image), 폰트(font), 텍스트(text), 메타데이터(meta-data) 및 스크립트(script) 파일 등을 예시할 수 있다. 리소스 파일(120)은 앞서 나열한 것 이외에도 다양한 종류가 존재할 수 있으며, 다양한 형식(format)의 파일이 될 수 있다. 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.
더불어 웹 어플리케이션의 각 페이지가 어떻게 처리되고 실행되는지에 대해서 설명하기로 한다. 일반적으로 프로그래밍 언어는 명령형 기술 언어와 선언적 기술 언어로 분류할 수 있다. 명령형 기술 언어는 '어떤 방법'으로 해를 구할 것인지에 중점을 두어 기술되는 언어로, 실행될 알고리즘을 명시하고 목표는 명시하지 않는다. 대표적으로 전통적인 포트란, C, 자바 등이 명령형 기술 언어에 해당한다. 이와 반대로, 선언적 기술 언어는 '해'가 무엇인지를 설명하는 것에 중점을 두어 기술되는 언어로, 목표를 명시하고 알고리즘은 명시하지 않는다. 본 발명의 실시 예에 따른 소스 파일(110)은 선언적 기술 언어로 작성된다. 예를 들어, 소스 파일(110)이 마크업 언어 중 HTML로 작성되었다고 했을 때, 그 HTML의 태그 및 태그의 속성은 HTML 뷰어(Viewer), 즉, 브라우저에서 무엇을 보여주어야 하는지를 선언하는 것이다. 이에 따라, 브라우저 엔진의 절차적 알고리즘이 태그 및 태그의 속성을 해석하여, 화면에 표시할 점들로 변환한다. 이를 위하여, 선언적 기술 언어로 작성된 소스 파일(110)의 구성 성분(태그 및 속성)을 의미 있는 토큰으로 분해(parsing)하여 그들 사이의 위계 관계를 분석한 후, 분석된 위계 관계에 따라 문장의 구조가 이미 결정된 파스 트리(parse tree)를 구성한다. 파스 트리의 각 노드(node)는 태그, 속성 및 일반 텍스트를 포함할 수 있으며, 이는 무엇을 보여주어야 하는지 선언한 것이다. 그리고 각 노드의 선언된 바를 트리 구조의 위계 관계에 따라 표현한다. 이에 대해서 도 3을 참조하여 좀 더 자세히 설명하기로 한다. In addition, we will explain how each page of the web application is processed and executed. In general, a programming language can be classified into an imperative description language and a declarative description language. An imperative description language is a language that is described by emphasizing 'how' the solution is to be sought. It specifies the algorithm to be executed and does not specify the goal. Typically, traditional Fortran, C, Java, etc. correspond to the imperative description language. Conversely, a declarative description language is a language that is described with an emphasis on explaining what the 'solution' is, and it does not specify the algorithm and the goal. A
도 3을 참조하면, 앞서 설명한 바와 같이, 소스 파일(110)은 마크업 언어(111), 스타일시트(113)를 포함한다. 이외에 스크립트 언어를 포함할 수 있으나, 여기서 스크립트 언어를 처리하는 부분에 대한 설명은 생략하기로 한다.Referring to FIG. 3, as described above, 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
이어서 상술한 웹 어플리케이션을 실행하는데 있어서, 본 발명에 따른 사전 캐싱을 수행하는 단말 장치 및 그의 웹 어플리케이션을 위한 사전 캐싱 방법에 대하여 설명한다.Next, in executing the above-described web application, a terminal device that performs dictionary caching according to the present invention and a pre-caching method for the web application thereof will be described.
도 4는 본 발명에 의한 웹 어플리케이션을 위한 사전 캐싱을 수행하는 단말 장치의 구성을 나타낸 블럭도이다.4 is a block diagram illustrating a configuration of a terminal device for performing pre-caching for a web application according to the present invention.
도 4를 참조하면, 본 발명에 의한 단말 장치는 제어부(410)와, 저장부(420)와, 입력부(430)와, 표시부(440)와, 통신부(450)와, 오디오 처리부(460)를 포함한다.4, a terminal device according to the present invention includes a
제어부(410)는 단말 장치의 전반적인 동작을 제어하는 것으로서, 특히 본 발명에 있어서는 사용자의 웹 어플리케이션의 실행 요청에 따라서, 저장부(420)에 저장된 웹 어플리케이션의 파일을 로딩하여 실행하고, 상기 웹 어플리케이션을 실행하는 중에, 웹 어플리케이션에 포함된 다수의 페이지 간의 호출 관계를 분석하여, 현재 화면에 표시되고 있는 페이지를 기준으로 호출 가능성이 큰 하나 이상의 페이지를 메모리에 캐싱한다. 더 구체적으로 설명하면, 제어부(410)는 메모리 접근 시간을 줄이기 위하여 캐시 메모리(411)를 포함한다. 캐시 메모리(411)는 RAM과 같은 주 메모리에서 가장 자주 사용되는 위치의 데이터를 갖는 메인 메모리에 비하여 속도가 빠른 메모리로서, 자주 사용되는 데이터를 캐시 메모리(411)에 복사해 둠으로써 제어부(410)에서 평균 메모리접근 시간을 줄일 수 있으며, 이를 통해 실행 속도를 향상시키게 된다. 이 경우, 제어부(410)는 저장부(420)에서 데이터를 읽거나 쓰고자 할 때, 해당 데이터가 상기 캐시 메모리(411)에 존재하는 지를 확인하고, 해당 데이터가 캐시 메모리(411)에 있으면 캐시 메모리(411)에서 직접 읽어오고, 그렇지 않을 경우, 저장부(420)에 접근하여 데이터를 읽어온다. 여기에 더하여, 본 발명에서 제어부(410)는 웹 어플리케이션을 실행 중에, 웹 어플리케이션에 포함된 다수의 페이지 간의 호출 관계를 분석하여 호출 가능성이 큰 페이지를 캐시 메모리(411)에 미리 복사하여 두고, 페이지 전환 이벤트가 발생하면 먼저 캐시 메모리(411)에서 해당 페이지가 존재하는 지를 확인하여, 존재하면 해당 페이지의 데이터를 가져와 화면에 표시하며, 캐시 메모리(411)에 존재하지 않으면 저장부(420)에 접근하여 해당 페이지의 데이터를 가져와 화면에 표시하게 된다.In the present invention, the
저장부(420)는 단말 장치에서 데이터를 일시적으로 또는 반영구적으로 저장하기 위한 수단으로서, 특히, 웹 어플리케이션의 파일, 즉, 도 2와 같은 구조의 웹 어플리케이션 패키지를 저장한다. 본 발명에서 저장부(420)는 램(RAM, Read Access Memory)과 같은 메인 메모리와, 하드디스크(HDD, Hard Disk Drive)나 플래시 메모리와 같은 스토리지를 포함한다. 여기서, RAM은 어느 위치에 저장된 데이터든지 접근하는데 동일한 시간이 소요되는 것으로서 단말 장치에서 실행 중인 프로그램이나 데이터가 로딩되며, 하드디스크나 플래시 메모리와 같은 보조 기억 장치는 저장된 위치에 따라서 접근하는데 걸리는 시간에 차이가 있으며, 속도가 메모리에 비하여 느린 반면 용량이 크기 때문에, 데이터나 프로그램 등이 보관된다. 본 발명에 있어서, 저장부(420)는 웹 어플리케이션의 파일을 저장하는데, 상기 웹 어플리케이션의 파일은 실질적으로 HDD나 플래시 메모리에 저장되고, 제어부(410)의 제어에 따라서 실행 요청 시 메모리로 로딩된다. The
입력부(430)는 사용자 입력에 대응하는 사용자 입력 신호를 발생하는 수단으로서, 예를 들어, 숫자 또는 문자 정보를 입력 받고 다양한 기능을 설정하기 위한 다수의 입력키 및 기능키를 포함하고, 사용자의 조작에 따라서 해당 입력키 또는 기능키로부터 사용자 입력 신호가 발생하여 제어부(410)로 전달된다. 이러한 입력부(430)는 예를 들어, 키보드, 마우스, 터치 패드와 같은 보편적인 입력 장치 중 하나 이상을 포함하여 구현될 수 있으며, 이외에도 현재 개발 중이거나 앞으로 개발 예정인 다양한 방식의 입력 장치가 포함될 수 있다. 본 발명에서 입력부(430)는 사용자가 웹 어플리케이션의 실행 요청을 입력하는데 이용된다.The
표시부(440)는 제어부(410)의 제어에 따라서 웹 어플리케이션의 실행 결과를 화면으로 표시한다. 즉, 웹 어플리케이션의 실행 결과물에 있어서, 시각적으로 표현되는 부분(예를 들어, 배경, 메뉴, 사진, 동영상, 텍스트, 아이콘 등등)을 표시한다. 이러한 표시부(440)는 LCD(Liquid Crystal Display) 또는 터치스크린으로 구현될 수 있으며, 특히 터치스크린으로 구현되는 경우, 입력부(430)의 기능 중 일부 또는 전부를 수행할 수 있다.The
통신부(450)는 네트워크에 연결하여 통신을 수행하기 위한 수단이다. 일반적인 웹 페이지와 마찬가지로, 웹 어플리케이션의 경우에도 네트워크를 통해 서버와 연동하여 실행될 수 있다. 따라서, 통신부(450)는 제어부(410)의 제어에 따라서 서버와의 연동이 요청되는 경우, 네트워크에 연결하여 서버와 통신을 수행한다. The
오디오 처리부(460)는 제어부(410)의 제어에 따라서 오디오 신호를 스피커(SPK)를 통해 가청음으로 출력하거나, 마이크(MIC)를 통해 가청음을 전기적인 오디오 신호로 변환하여 제어부(410)로 전달한다. 특히, 본 발명에 있어서, 오디오 처리부(460)는 웹 어플리케이션의 실행 결과물에 있어서 청각적으로 표현되는 부분(효과음, 배경음 등등)을 출력한다. The
상술한 바와 같은 구성을 포함하는 단말 장치는, 사용자의 입력에 따라서 입력부(430)로부터 제어부(410)로 웹 어플리케이션의 실행을 요청하는 사용자 입력 신호가 전달되면, 제어부(410)가 저장부(420)에 저장된 웹 어플리케이션의 파일을 로딩하여 실행하여 표시부(440) 및 오디오 처리부(460)를 통해 출력한다. 더불어, 웹 어플리케이션이 실행되는 동안, 제어부(410)가 상기 웹 어플리케이션을 구성하는 각 페이지의 호출 관계를 분석하고, 현재 화면에 표시된 페이지에서 호출 가능성이 큰 하나 이상의 페이지를 캐시 메모리(411)에 미리 복사하여 둠으로써, 페이지 전환 시의 속도를 향상시킬 수 있다. 더불어, 제어부(410)는 상기 호출 가능성이 큰 하나 이상의 페이지에 대하여 해석 및 레이아웃 설정을 수행하여 도 3의 바이너리 페이지 데이터(350) 형태로 저장한다. 이 경우, 페이지 전환 이벤트 발생시, 상기 바이너리 페이지 데이터(350)를 바로 랜더링하여 화면으로 표시할 수 있게 됨으로써, 실행 속도를 더 향상시킬 수 있다.When a user input signal requesting execution of a web application is transmitted from the
도 5는 본 발명에 의한 단말 장치에 있어서, 제어부(410)에서 웹 어플리케이션을 위한 사전 캐싱을 실행하는 구성을 나타낸 기능 블럭도이다.FIG. 5 is a functional block diagram showing a configuration for performing pre-caching for a web application in the
도 5를 참조하면, 제어부(410)는 분석 모듈(510)과 예측 모듈(520)과 실행 모듈(530)을 포함한다.Referring to FIG. 5, the
분석 모듈(510)은 상호 링크된 다수의 페이지로 구성되는 웹 어플리케이션의 각 페이지 간의 호출 관계를 분석한다. 더 구체적으로, 분석 모듈(510)은, 실행 요청된 또는 실행 중인 웹 어플리케이션을 구성하는 페이지간의 호출 관계를 분석하고, 이 분석 관계에 기초하여 해당 웹 어플리케이션의 실행 중에 나타나는 페이지간 호출 빈도를 저장할 테이블을 생성한다. 도 8은 분석 모듈(510)에서 생성되는 페이지 간 호출 빈도를 저장할 테이블의 예를 도시한 것으로서, 상기 테이블은, 현재 실행 중인 페이지를 나타내는 현재 페이지 필드와, 상기 현재 페이지에서 전환될 페이지를 나타내는 전환 페이지 필드와, 상기 현재 페이지에서 전환 페이지가 호출되는 빈도를 기술하는 횟수 필드를 포함한다. 본 실시 예에서, 해당 웹 어플리케이션은 페이지 1~페이지 5를 포함하며, 이때, 페이지 1은 페이지 2,3,4와 링크되어 있고, 페이지 2는 페이지 1, 5, 4와 링크되어 있다. 이러한 호출 관계를 나타내도록 8과 같은 테이블이 생성된다. 상기에서, 횟수 필드에 기록되는 호출 빈도는 웹 어플리케이션의 실행 중에 페이지 전환 이벤트가 발생될 때마다 갱신된다. 분석 모듈(510)은 웹 어플리케이션의 실행 중에, 페이지 전환 이벤트가 발생할 경우, 페이지 전환 결과를 기반으로 도 8과 같은 테이블의 호출 빈도를 갱신한다. 즉, 페이지 전환 이벤트가 발생한 현재 페이지와, 호출된 전환 페이지를 추출하고, 상기 테이블에서 대응하는 인덱스의 횟수 필드에 호출빈도를 증가시킨다. 여기서, 웹 어플리케이션의 한 번의 실행 동안에 발생하는 호출 빈도만을 측정할 수도 있고, 웹 어플리케이션의 실행 시마다 발생하는 호출 빈도를 누적할 수도 있다. 후자의 경우, 상기 분석 모듈(510)은 각 웹 어플리케이션의 최초 실행 시에 한번 만 페이지간 호출 관계를 분석하여 테이블을 생성하면 된다. The
이어서, 예측 모듈(520)은 상기 분석 모듈(510)의 분석 결과에 기초하여, 현재 페이지에서 호출 가능성이 큰 페이지를 하나 이상 추출하여 페이지 리스트를 생성한다. 이와 관련하여, 본 발명의 일 실시 예에서, 예측 모듈(520)은 각 페이지 간의 호출 빈도를 기준으로 호출 가능성을 판단한다. 즉, 예측 모듈(520)은 상기 분석 모듈(510)에서 구성한 테이블에 기록된 호출 빈도에 근거하여 현재 페이지에서 호출 가능성이 큰 페이지를 추출하여 페이지 리스트를 생성한다. 상기 페이지 리스트는, 호출 가능성이 큰 순서대로 페이지를 배열하여 이루어질 수 있다. 도 8에 보인 실시 예에서, 현재 페이지가 페이지 1인 경우, 페이지 3이 호출 가능성이 가장 큰 페이지로 추출되며, 그 다음 페이지 2, 페이지 4 순서로 추출될 수 있다. 더하여, 상기 예측 모듈(520)은 웹 어플리케이션의 실행 중에, 페이지 전환 이벤트가 발생하면, 현재 생성한 페이지 리스트를 삭제하고, 전환된 페이지를 기준으로 다시 페이지 리스트를 생성한다. 즉, 페이지 리스트는 페이지 전환 시마다 현재 페이지를 기준으로 새로 생성된다.Then, the
마지막으로, 실행 모듈(530)은 상기 예측 모듈(520)에서 생성된 페이지 리스트에 포함된 하나 이상의 페이지를 캐시 메모리(411)에 캐싱한다. 상기 캐싱은 실제 페이지 호출이 이루어지기 전에 미리 이루어진다. 따라서, 제어부(410)는 실제 페이지 전환 이벤트가 발생하면, 상기 캐시 메모리(411)에 접근하여 호출된 페이지가 존재하는지 확인하고, 호출된 페이지가 존재하면 캐시 메모리(411)의 해당 페이지의 데이터를 바로 가져올 수 있으므로, 저장부(420)에 접근하는데 소용되는 시간을 단축할 수 있다. 특히, 사전 캐싱에서 해당 페이지가 바이너리 페이지 데이터로 저장되는 경우, 해당 페이지에 대한 해석 및 레이아웃 설정 처리 과정이 생략될 수 있으므로, 화면 전환 속도도 더욱 빨라질 수 있다.Lastly, the
더하여, 상기 실행 모듈(530)은 호출 가능성이 큰 페이지를 미리 캐싱하는데 있어서, 캐시 메모리(411)의 가용 메모리 양을 고려하여, 캐싱할 페이지의 개수를 정할 수 있다. 즉, 상기 페이지 리스트에서, 호출 가능성이 큰 순서대로 캐시 메모리(411)의 가용 메모리 범위 내에서 캐싱이 이루어진다.In addition, the
이어서, 도 6 및 도 7을 참조하여, 본 발명에 의한 웹 어플리케이션을 위한 사전 캐싱 방법을 동작 순서에 따라서 설명한다.Next, with reference to FIG. 6 and FIG. 7, a pre-caching method for a web application according to the present invention will be described according to an operation sequence.
도 6을 참조하면, 다수의 페이지로 구성되는 웹 어플리케이션을 구비한 단말 장치에서, 사용자가 웹 어플리케이션의 실행을 요청할 경우, 단말장치는 해당 웹 어플리케이션의 파일을 메모리로 로딩하여 실행하면서(S610), 상기 웹 어플리케이션을 구성하는 페이지 간의 호출 관계를 분석한다(S620). 이는 웹 어플리케이션의 소스 파일(110)을 분석함으로써 이루어질 수 있으며, 더불어, 웹 어플리케이션의 실행 중에 나타나는 페이지 호출 빈도를 측정하여 이루어질 수 있다. 도 7은 상기 S620 단계에 대한 상세 과정을 나타낸 순서도이다. 도 7를 참조하면, S620 단계에서, 단말 장치는, 실행 중엔 웹 어플리케이션의 소스 파일에서 분석된 페이지 간의 호출 관계를 이용하여 페이지 간 호출 빈도를 저장할 테이블(도 8참조)을 생성한다(S710). 즉, 웹 어플리케이션을 구성하는 각 페이지 별로 호출 가능한 전환 페이지를 추출하여, 도 8과 같이 매핑하여 테이블을 구성한다. 테이블의 초기 생성시에 호출 빈도 필드의 값은 모두 초기화된다.6, when a user requests execution of a web application in a terminal device having a web application composed of a plurality of pages, the terminal device loads the corresponding web application file into a memory and executes the file (S610) The calling relationship between the pages constituting the web application is analyzed (S620). This can be done by analyzing the source file 110 of the web application and also by measuring the page calling frequency that appears during the execution of the web application. FIG. 7 is a flowchart illustrating the detailed procedure of step S620. Referring to FIG. 7, in operation S620, the terminal generates a table (see FIG. 8) for storing the inter-page call frequency using the call relationship between analyzed pages in the source file of the web application during execution (S710). That is, a callable conversion page is extracted for each page constituting the web application, and a table is formed by mapping as shown in FIG. When the table is initially created, all values of the calling frequency field are initialized.
그리고 나서, 단말 장치는, 해당 웹 어플리케이션이 실행되는 동안, 페이지 전환 이벤트가 발생하는 지를 확인한다(S720). 확인 결과, 페이지 전환 이벤트가 발생하면, 단말 장치는, 현재 페이지와 전환 페이지의 정보를 추출하여, 상기 테이블에 대응하는 부분의 호출 빈도를 갱신한다(S730). 상기 S730 단계는 웹 어플리케이션의 실행이 종료되기 전까지(S740), 페이지 전환 이벤트가 발생할 때마다 반복 수행되어, 해당 웹 어플리케이션의 실행 중에 나타나는 페이지 호출 빈도를 측정하게 된다.Then, the terminal device confirms whether a page switching event occurs during execution of the web application (S720). As a result of the confirmation, when the page switching event occurs, the terminal extracts the information of the current page and the conversion page, and updates the calling frequency of the portion corresponding to the table (S730). The step S730 is repeatedly performed every time the page switching event occurs until the execution of the web application is terminated (S740), and the page calling frequency displayed during execution of the corresponding web application is measured.
다시 도 6을 참조하면, 단말 장치는, S620 단계를 수행한 후, 또는 S620단계를 수행하면서, 현재 실행 중인 페이지를 기준으로 호출 가능성이 큰 페이지 리스트를 추출하여 저장한다(S630). 6, after performing step S620 or performing step S620, the terminal extracts and stores a page list having a high possibility of calling based on the page currently being executed (step S630).
그리고, 단말 장치는, 상기 저장한 페이지 리스트에 포함된 하나 이상의 페이지를 미리 캐싱한다(S640). 즉, 저장부(420)에 있는 해당 페이지의 데이터를 제어부(410)의 캐시 메모리(411)에 복사한다(S640). 이렇게 캐시 메모리(411)에 복사된 페이지는 사용자에 의해 호출될 경우, 단말 장치의 제어부(410)에서 바로 읽혀 표시될 수 있다. 더불어, 상기 S640 단계에서는, 캐시 메모리(411)의 사용 가능한 메모리 량을 고려하여 캐싱을 수행한다. 즉, 호출 가능성 및 가용 메모리를 고려한다. 뿐만 아니라 상기 S640 단계에서, 하나 이상의 페이지를 캐싱할 때, 상기 단말 장치는, 상기 하나 이상의 페이지에 대한 분석 및 구조화를 미리 실행하여 바이너리 페이지 데이터로 변경한 후에 캐시 메모리(411)에 저장할 수 있다. 이에 따르면, 실제 해당 페이지가 호출될 때, 해당 페이지의 분석 및 구조화 처리 없이 바로 랜더링이 가능해지므로, 화면 전환 속도가 더 향상될 수 있다.Then, the terminal apparatus caches one or more pages included in the stored page list (S640). That is, the data of the corresponding page in the
더하여, 단말 장치는, 웹 어플리케이션의 실행 중에 페이지 전환 이벤트가 발생하는 지를 더 확인하고(S650), 확인 결과 페이지 전환 이벤트가 발생하면, 전환된 페이지에 대응하는 페이지 리스트를 생성하기 위하여, 앞서 저장한 페이지 리스트를 삭제한다(S660). In addition, the terminal device further checks whether a page switching event occurs during the execution of the web application (S650). If the page switching event occurs as a result of the confirmation, the terminal device generates a page list corresponding to the converted page The page list is deleted (S660).
상술한 S630 단계 내지 S660 단계는 해당 웹 어플리케이션의 실행이 종료되기 전까지 반복된다(S670).The above-described steps S630 to S660 are repeated until execution of the corresponding web application is terminated (S670).
본 발명에 따른 웹 어플리케이션을 위한 사전 캐싱 방법은 다양한 컴퓨터 수단을 통하여 판독 가능한 소프트웨어 형태로 구현되어 컴퓨터로 판독 가능한 기록매체에 기록될 수 있다. 여기서, 기록매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 기록매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 예컨대 기록매체는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(Magnetic Media), CD-ROM(Compact Disk Read Only Memory), DVD(Digital Video Disk)와 같은 광 기록 매체(Optical Media), 플롭티컬 디스크(Floptical Disk)와 같은 자기-광 매체(Magneto-Optical Media), 및 롬(ROM), 램(RAM, Random Access Memory), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치를 포함한다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함할 수 있다. 이러한 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.The pre-caching method for a web application 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 an optical recording medium such as a magnetic medium such as a hard disk, a floppy disk and a magnetic tape, a compact disk read only memory (CD-ROM), a digital video disk (DVD) Includes a hardware device that is specially configured to store and execute program instructions such as a magneto-optical medium such as a floppy disk and a ROM, a random access memory (RAM), a flash memory, do. 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 practical exemplary embodiments, it is to be understood that the invention is not limited to the disclosed embodiments, but, on the contrary, It will be apparent to those skilled in the art. 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.
본 발명은 단말 장치에서의 웹 어플리케이션 실행에적용될 수 있는 것으로서, 상기 단말 장치가 다수의 페이지로 구성되는 웹 어플리케이션을 실행하는데 있어서, 현재 페이지를 기준으로 호출 가능성이 큰 페이지를 미리 캐싱하여 캐시 메모리에 저장함으로써, 웹 어플리케이션의 실행 중에 다음 페이지가 호출된 경우, 하드디스크나 플래시메모리와 같은 로컬 스토리지에 접근할 필요가 없어지므로, 실제 페이지 전환이 더 빠르게 이루어질 수 있으며, 다수의 페이지로 이루어진 웹 어플리케이션에서 페이지 간 전환 속도를 개선함으로써, 웹 어플리케이션의 전반적인 실행 성능을 향상할 수 있다. 더하여, 웨 어플리케이션의 실행 성능을 향상시킴으로써, 기존의 네이티브 어플리케이션에 비하여 화면 전환이 느리다는 웹 어플리케이션의 단점을 개선할 수 있으며, 이를 통해 사용자 만족도를 향상시킬 수 있는 우수한 효과가 있다.The present invention can be applied to web application execution in a terminal device. In executing the web application in which the terminal device is constituted by a plurality of pages, the terminal device caches a page having a high possibility of calling based on the current page, By storing, when the next page is called during the execution of the web application, it becomes unnecessary to access the local storage such as the hard disk or the flash memory, so that the actual page conversion can be performed more quickly. In addition, By improving the page-to-page switching speed, overall execution performance of the web application can be improved. In addition, by improving the execution performance of the web application, it is possible to improve the disadvantage of the web application that the screen switching is slower than the existing native application, and it is possible to improve user satisfaction through the improvement.
410: 제어부
420: 저장부
430: 입력부
440: 표시부
450: 통신부
460: 오디오 처리부
510: 분석 모듈
520: 예측 모듈
530: 실행 모듈410:
420:
430:
440:
450:
460: Audio processor
510: Analysis module
520: prediction module
530: Execution module
Claims (18)
상호 연결된 다수의 페이지로 구성되는 웹 어플리케이션의 파일을 저장하는 저장부; 및
상기 입력부를 통해 웹 어플리케이션 실행이 요청되면, 상기 저장부에서 웹 어플리케이션의 파일을 로딩하여 실행하고, 웹 어플리케이션의 실행 시, 상기 웹 어플리케이션에 포함된 다수의 페이지 간의 호출 관계를 분석하여, 현재 페이지를 기준으로 호출 가능성이 큰 하나 이상의 페이지를 미리 캐싱하는 제어부를 포함하는 단말 장치.An input unit for outputting a user input signal corresponding to a user input;
A storage unit for storing a file of a web application composed of a plurality of interconnected pages; And
Wherein when a web application is requested to be executed through the input unit, the storage unit loads and executes a file of the web application, analyzes a call relationship between a plurality of pages included in the web application when the web application is executed, And a control unit for pre-caching one or more pages which are likely to be called based on the reference.
상호 링크된 다수의 페이지로 구성되는 웹 어플리케이션의 각 페이지 간의 호출 관계를 분석하는 분석 모듈;
상기 분석 모듈의 분석 결과에 기초하여, 현재 페이지에서 호출 가능성이 큰 페이지를 하나 이상 추출하여 페이지 리스트를 생성하는 예측 모듈; 및
상기 예측 모듈에서 생성된 페이지 리스트에 포함된 하나 이상의 페이지를 미리 캐싱하는 실행 모듈을 포함하는 단말 장치.The apparatus of claim 1, wherein the control unit
An analysis module for analyzing a call relation between respective pages of a web application composed of a plurality of mutually linked pages;
A prediction module for extracting one or more pages that are likely to be called from the current page and generating a page list based on the analysis result of the analysis module; And
And an execution module for previously caching one or more pages included in the page list generated by the prediction module.
분석 결과를 이용하여 페이지간 호출 빈도를 저장할 테이블을 더 생성하는 것을 특징으로 하는 단말 장치.3. The system of claim 2, wherein the analysis module
And generates a table for storing the frequency of inter-page calls using the analysis result.
웹 어플리케이션의 실행 중의 페이지 전환 결과를 이용하여, 각 페이지 간의 호출 빈도를 측정하고, 상기 호출 빈도를 기준으로 호출 가능성을 판단하는 것을 특징으로 하는 단말 장치.3. The apparatus of claim 2, wherein the prediction module
Wherein the calling frequency of each page is measured using the page switching result during execution of the web application and the calling possibility is determined based on the calling frequency.
페이지 전환 이벤트가 발생하면, 현재 생성한 페이지 리스트를 삭제하고, 전환된 페이지를 기준으로 다시 페이지 리스트를 생성하는 것을 특징으로 하는 단말 장치.3. The apparatus of claim 2, wherein the prediction module
Deletes the currently generated page list when a page change event occurs, and generates a page list again based on the converted page.
가용 메모리를 고려하여 캐싱할 페이지의 개수를 정하는 것을 특징으로 하는 단말 장치.3. The system of claim 2, wherein the execution module
And determines the number of pages to be cached in consideration of the available memory.
상기 호출 가능성이 큰 하나 이상의 페이지를 분석 및 구조화하여 바이너리 페이지 데이터로 변경하여 저장하는 것을 특징으로 하는 단말 장치.The apparatus of claim 1, wherein the control unit
Wherein the one or more pages having a high possibility of calling are analyzed and structured to be converted into binary page data and stored.
상기 웹 어플리케이션의 콘텐츠를 기술하는 콘텐츠 파일과, 상기 웹 어플리케이션에 대한 정보를 기술하는 정보 파일을 포함하는 것을 특징으로 하는 단말 장치.The method of claim 1, wherein the web application
A content file describing the content of the web application, and an information file describing information about the web application.
상기 웹 어플리케이션의 각 페이지를 표현하는 소스 파일 및 상기 소스 파일에 링크로 연결되는 리소스 파일을 포함하는 것을 특징으로 하는 단말 장치.9. The method of claim 8,
A source file representing each page of the web application, and a resource file linked to the source file by a link.
태그 및 상기 태그의 속성이 기술되는 마크업 언어, 상기 태그 및 상기 태그의 속성이 페이지에 표시되는 스타일을 기술하는 스타일시트 및 상기 웹 어플리케이션을 동적으로 제어하기 위한 스크립트 언어를 포함하는 것을 특징으로 하는 단말 장치.10. The method of claim 9,
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, Terminal device.
장면 기술, 비디오, 오디오, 이미지, 폰트, 텍스트, 메타데이터, 및 스크립트 파일 중 적어도 하나인 것을 특징으로 하는 단말 장치.The method of claim 9, wherein the resource file
A scene description, a video, an audio, an image, a font, a text, a metadata, and a script file.
상기 웹 어플리케이션에 포함되는 파일의 목록, 파일 별 공개 여부와 공개 범위 및 상기 웹 어플리케이션의 실행 환경을 설정하기 위한 설정 값을 포함하는 구성 정보가 기술되는 구성 정보 파일과,
상기 웹 어플리케이션이 단말의 운영 체제에 접근할 수 있는 접근 권한의 범위를 지정하기 위한 정책 정보를 기술하는 정책 정보 파일을 포함하는 것을 특징으로 하는 단말 장치.The information processing apparatus according to claim 8,
A configuration information file describing configuration information including a list of files included in the web application, a disclosure status and a disclosure range for each file, and a setting value for setting an execution environment of the web application,
Wherein the web application includes a policy information file describing policy information for designating a range of access rights to access the operating system of the terminal.
상기 단말 장치가 상기 웹 어플리케이션을 실행할 때, 웹 어플리케이션을 구성하는 페이지 간의 호출 관계를 분석하는 단계;
상기 분석 결과를 이용하여, 현재 실행 중인 페이지를 기준으로 호출 가능성이 큰 페이지 리스트를 추출하여 저장하는 단계; 및
상기 저장된 페이지 리스트에 포함된 하나 이상의 페이지를 미리 캐싱하는 단계를 포함하는 것을 특징으로 하는 웹 어플리케이션을 위한 사전 캐싱 방법.A pre-caching method for a web application in a terminal device that executes a web application composed of a plurality of pages,
Analyzing a call relationship between pages constituting a web application when the terminal device executes the web application;
Extracting and storing a page list having a high possibility of calling based on a page currently being executed using the analysis result; And
And pre-caching one or more pages included in the stored page list.
상기 페이지 간의 호출 관계에 대한 분석 결과에 근거하여, 상기 웹 어플리케이션 실행 중에 나타나는 페이지간 호출 빈도를 저장할 테이블을 생성하는 단계;
웹 어플리케이션의 실행 중에 발생하는 페이지 전환 이벤트 결과에 기초하여, 상기 테이블의 페이지 간 호출 빈도를 갱신하는 단계를 포함하는 것을 특징으로 하는 웹 어플리케이션을 위한 사전 캐싱 방법.14. The method of claim 13, wherein analyzing the call relationship between the pages comprises:
Generating a table to store a page-to-page call frequency appearing during execution of the web application, based on an analysis result of the call relationship between the pages;
Updating the page-to-page calling frequency of the table based on page switching event results that occur during execution of the web application.
페이지 전환 이벤트 발생 여부를 확인하여, 페이지 전환 이벤트가 발생하면, 상기 저장된 페이지 리스트를 삭제하는 단계를 더 포함하는 것을 특징으로 하는 웹 어플리케이션을 위한 사전 캐싱 방법.14. The method of claim 13,
Further comprising checking whether a page change event has occurred and deleting the stored page list when a page change event occurs.
가용 메모리를 고려하여 캐싱할 페이지의 개수를 설정하는 것을 특징으로 하는 웹 어플리케이션을 위한 사전 캐싱 방법.14. The method of claim 13, wherein the caching comprises:
And the number of pages to be cached is set in consideration of the available memory.
상기 캐싱한 하나 이상의 페이지를 분석 및 구조화하여 바이너리 페이지 데이터로 변경하는 단계를 더 포함하는 것을 특징으로 하는 웹 어플리케이션을 위한 사전 캐싱 방법.14. The method of claim 13,
Analyzing and structuring the cached one or more pages into binary page data. ≪ Desc / Clms Page number 21 >
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020100078600A KR101453743B1 (en) | 2010-08-16 | 2010-08-16 | Pre-caching method for web application and device using the same |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020100078600A KR101453743B1 (en) | 2010-08-16 | 2010-08-16 | Pre-caching method for web application and device using the same |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20120016333A KR20120016333A (en) | 2012-02-24 |
KR101453743B1 true KR101453743B1 (en) | 2014-10-21 |
Family
ID=45838619
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020100078600A Active KR101453743B1 (en) | 2010-08-16 | 2010-08-16 | Pre-caching method for web application and device using the same |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101453743B1 (en) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9058402B2 (en) | 2012-05-29 | 2015-06-16 | Limelight Networks, Inc. | Chronological-progression access prioritization |
US9633217B2 (en) | 2009-08-03 | 2017-04-25 | Limelight Networks, Inc. | Indiscriminate virtual containers for prioritized content-object distribution |
WO2013181164A1 (en) * | 2012-05-29 | 2013-12-05 | Limelight Networks, Inc. | Chronological-progression access prioritization |
KR101639993B1 (en) * | 2014-03-25 | 2016-07-15 | 연세대학교 산학협력단 | Pre-loaded data management method and terminal device thereof |
KR102307539B1 (en) * | 2015-04-07 | 2021-09-30 | 에스케이플래닛 주식회사 | System for cloud streaming service, method of image cloud streaming service using process shortering and apparatus for the same |
KR102443069B1 (en) | 2015-08-12 | 2022-09-14 | 삼성전자주식회사 | Apparatus and method for running an application |
US10356200B2 (en) | 2016-12-28 | 2019-07-16 | Google Llc | Optimizing user interface data caching for future actions |
KR102658819B1 (en) | 2018-06-15 | 2024-04-19 | 삼성전자주식회사 | Resource caching method and electronic device supporting the same |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH063246B2 (en) * | 1987-12-21 | 1994-01-12 | 新日本製鐵株式会社 | Fixing method of casting in socket at cable end |
KR20020011016A (en) * | 2000-07-31 | 2002-02-07 | 윤종용 | Pre-caching Algorithm to search for website fast |
JP4063246B2 (en) | 2004-05-11 | 2008-03-19 | 日本電気株式会社 | Page information display device |
KR20090047012A (en) * | 2007-11-07 | 2009-05-12 | (주) 엘지텔레콤 | Server-assisted web acceleration service system of mobile internet and its method |
-
2010
- 2010-08-16 KR KR1020100078600A patent/KR101453743B1/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH063246B2 (en) * | 1987-12-21 | 1994-01-12 | 新日本製鐵株式会社 | Fixing method of casting in socket at cable end |
KR20020011016A (en) * | 2000-07-31 | 2002-02-07 | 윤종용 | Pre-caching Algorithm to search for website fast |
JP4063246B2 (en) | 2004-05-11 | 2008-03-19 | 日本電気株式会社 | Page information display device |
KR20090047012A (en) * | 2007-11-07 | 2009-05-12 | (주) 엘지텔레콤 | Server-assisted web acceleration service system of mobile internet and its method |
Also Published As
Publication number | Publication date |
---|---|
KR20120016333A (en) | 2012-02-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101453743B1 (en) | Pre-caching method for web application and device using the same | |
KR100353585B1 (en) | Method for generating display control information and computer | |
JP4208081B2 (en) | System, web server, method and program for adding personalized value to multiple websites | |
US7707316B2 (en) | Information processing apparatus and method | |
US9405745B2 (en) | Language translation using embeddable component | |
US8775474B2 (en) | Exposing common metadata in digital images | |
US10671698B2 (en) | Language translation using embeddable component | |
US20120173967A1 (en) | Method and device for cascading style sheet (css) selector matching | |
US20090006471A1 (en) | Exposing Specific Metadata in Digital Images | |
JP2023541186A (en) | Visualization page rendering method, device, equipment and storage medium | |
US9117314B2 (en) | Information output apparatus, method, and recording medium for displaying information on a video display | |
US20100023953A1 (en) | Method and apparatus for executing application | |
US20110035433A1 (en) | Webpage display method, computer system, and program | |
CN113495730B (en) | Resource package generation and parsing method and device | |
JP5151696B2 (en) | Program to rewrite uniform resource locator information | |
CN117390326A (en) | Page management method, device, equipment and storage medium | |
CN115659087B (en) | Page rendering method, equipment and storage medium | |
CN102360380A (en) | Method, system, device and terminal for providing webpages | |
CN112905920A (en) | Page display method and device | |
KR20110097300A (en) | Web Browsing System and Method Using Mobile Web Browser and Mobile Terminal Used Thereof | |
KR100676621B1 (en) | Web document conversion method for image and tag processing not supported by browser of mobile communication terminal | |
KR101504088B1 (en) | Apparatus for executing web application, method thereof and computer recordable medium storing the method | |
JP5052058B2 (en) | Information processing apparatus, information processing method, and information processing program | |
Aryal | Design principles for responsive web | |
JP2011065385A (en) | Device, method and program for converting markup language document |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PA0109 | Patent application |
St.27 status event code: A-0-1-A10-A12-nap-PA0109 |
|
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 |
|
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 |
|
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 |
|
R18-X000 | Changes to party contact information recorded |
St.27 status event code: A-3-3-R10-R18-oth-X000 |
|
D13-X000 | Search requested |
St.27 status event code: A-1-2-D10-D13-srh-X000 |
|
D14-X000 | Search report completed |
St.27 status event code: A-1-2-D10-D14-srh-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 |
|
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 |
|
FPAY | Annual fee payment |
Payment date: 20170928 Year of fee payment: 4 |
|
PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 4 |
|
FPAY | Annual fee payment |
Payment date: 20180928 Year of fee payment: 5 |
|
PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 5 |
|
P22-X000 | Classification modified |
St.27 status event code: A-4-4-P10-P22-nap-X000 |
|
P22-X000 | Classification modified |
St.27 status event code: A-4-4-P10-P22-nap-X000 |
|
FPAY | Annual fee payment |
Payment date: 20190916 Year of fee payment: 6 |
|
PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 6 |
|
P22-X000 | Classification modified |
St.27 status event code: A-4-4-P10-P22-nap-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: 7 |
|
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: 8 |
|
PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 9 |
|
PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 10 |
|
PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 11 |
|
PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 12 |