KR20150118843A - Apparatus and method for caching processed resources using non-volatile memory - Google Patents

Apparatus and method for caching processed resources using non-volatile memory Download PDF

Info

Publication number
KR20150118843A
KR20150118843A KR1020140045007A KR20140045007A KR20150118843A KR 20150118843 A KR20150118843 A KR 20150118843A KR 1020140045007 A KR1020140045007 A KR 1020140045007A KR 20140045007 A KR20140045007 A KR 20140045007A KR 20150118843 A KR20150118843 A KR 20150118843A
Authority
KR
South Korea
Prior art keywords
resource
processed
cache
caching
retrieved
Prior art date
Application number
KR1020140045007A
Other languages
Korean (ko)
Other versions
KR101589369B1 (en
Inventor
김태석
남태호
Original Assignee
광운대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 광운대학교 산학협력단 filed Critical 광운대학교 산학협력단
Priority to KR1020140045007A priority Critical patent/KR101589369B1/en
Publication of KR20150118843A publication Critical patent/KR20150118843A/en
Application granted granted Critical
Publication of KR101589369B1 publication Critical patent/KR101589369B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5016Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0893Caches characterised by their organisation or structure
    • G06F12/0897Caches characterised by their organisation or structure with two or more cache hierarchy levels

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

Disclosed are an apparatus and a method for caching processed resources using a non-volatile memory. The method may include the steps of: caching an original resource to a first cache; processing the original resource to generate a processed resource; and caching the processed resource to a second cache different from the first cache.

Description

비 휘발성 메모리를 이용한 처리된 자원 캐싱 장치 및 방법{APPARATUS AND METHOD FOR CACHING PROCESSED RESOURCES USING NON-VOLATILE MEMORY}[0001] APPARATUS AND METHOD FOR CACHING PROCESSED RESOURCES USING NON-VOLATILE MEMORY [0002]

본 발명은 캐싱 장치 및 방법에 관한 것으로, 보다 상세하게는 효율적으로 자원을 캐싱하는 캐싱 장치 및 방법에 관한 것이다. The present invention relates to a caching apparatus and method, and more particularly, to a caching apparatus and method for effectively caching resources.

종래의 웹 브라우저는 웹 서버로부터 수신한 웹 페이지의 원본 자원을 하드 디스크와 같은 저장 장치에 캐싱하고, 사용자가 동일 웹 페이지에 접속할 경우, 저장 장치에 캐싱된 원본 자원을 이용하여 웹 페이지를 표시함으로써, 웹 페이지를 표시하기 위하여 필요한 시간을 감소하였다.A conventional web browser caches original resources of a web page received from a web server in a storage device such as a hard disk, and when a user accesses the same web page, the web page is displayed using the original resource cached in the storage device , Reducing the time required to display the web page.

이때, 웹 브라우저가 웹 서버로 수신한 원본 자원은 웹 서버가 네트워크를 통하여 전송하기 위하여 부호화, 또는 변환한 자원일 수 있다. 따라서, 원본 자원을 처리하여 웹 페이지를 표시하기 위한 처리된 자원을 생성하는 과정이 필요하였다.At this time, the original resource received by the web browser through the web server may be a resource encoded or converted by the web server for transmission through the network. Thus, there was a need for a process to process the original resource and create a processed resource for displaying the web page.

즉, 종래의 웹 브라우저가 저장 장치에 캐싱한 자원은 원본 자원이므로, 캐싱된 자원을 이용하여 웹 페이지를 표시할 경우, 원본 자원을 처리하는 과정이 요구된다. That is, since the resource cached by the conventional web browser in the storage device is the original resource, when the web page is displayed using the cached resource, a process of processing the original resource is required.

본 발명은 네트워크로부터 수신한 원본 자원을 사용자에게 제공하기 위하여 처리한 처리된 자원을 캐싱하고, 사용자의 요청에 따라 처리된 자원을 제공함으로써 원본 자원을 처리하는 과정을 생략하여 사용자에게 자원을 제공하기 위하여 필요한 시간을 단축 하는 장치 및 방법을 제공할 수 있다.The present invention provides a resource to a user by omitting the process of processing the original resource by caching the processed resource processed to provide the original resource received from the network to the user and providing the processed resource according to the request of the user It is possible to provide an apparatus and a method for shortening the time required for the operation.

또한, 본 발명은 처리된 자원을 비휘발성 메모리에 캐싱함으로써, 웹 브라우저의 종료, 또는 일정 시간의 경과에 따라 소멸되는 처리된 자원을 지속적으로 사용하는 장치 및 방법을 제공할 수 있다.In addition, the present invention can provide an apparatus and method for continuously using processed resources that are terminated at the end of a web browser or a certain period of time by caching processed resources in a nonvolatile memory.

본 발명의 일실시예에 따른 캐싱 방법은 원본 자원을 처리하여 처리된 자원을 생성하는 단계; 및 처리된 자원을 비휘발성 메모리에 캐싱하는 단계를 포함할 수 있다.According to an embodiment of the present invention, there is provided a caching method comprising: processing an original resource to generate a processed resource; And caching the processed resource in a non-volatile memory.

본 발명의 일실시예에 따른 캐싱 방법의 생성하는 단계는 원본 자원을 파싱, 또는 복호화하여 처리된 자원을 생성할 수 있다.The generating of the caching method according to an embodiment of the present invention may generate the processed resource by parsing or decoding the original resource.

본 발명의 일실시예에 따른 캐싱 방법의 원본 자원은 화면에 표시할 문서 구조를 나타내는 구조 정보, 부호화된 이미지, 및 화면에 표시할 문자의 폰트 정보 중 적어도 하나를 포함할 수 있다.The source resource of the caching method according to an exemplary embodiment of the present invention may include at least one of structure information indicating a document structure to be displayed on a screen, a coded image, and font information of a character to be displayed on the screen.

본 발명의 일실시예에 따른 캐싱 방법의 상기 비휘발성 메모리에 캐싱하는 단계는, 처리된 자원의 유효성 판단 기준이 되는 유효성 정보를 처리된 자원과 함께 비휘발성 메모리에 캐싱할 수 있다.The step of caching in the non-volatile memory of the caching method according to an embodiment of the present invention may cache the validity information serving as a criterion for judging the validity of the processed resource in the nonvolatile memory together with the processed resource.

본 발명의 일실시예에 따른 캐싱 방법은 상기 처리된 자원의 크기, 지역성(locality), 및 유효 시간 중 적어도 하나에 기초하여 비휘발성 메모리에 캐싱된 처리된 자원의 우선 순위를 설정하는 단계; 및 상기 우선 순위에 기초하여 비휘발성 메모리에 캐싱된 처리된 자원을 관리하는 단계를 더 포함할 수 있다.A caching method according to an embodiment of the present invention includes: setting a priority of a processed resource cached in a non-volatile memory based on at least one of a size, a locality, and a validity time of the processed resource; And managing the cached resources cached in the non-volatile memory based on the priority.

본 발명의 일실시예에 따른 캐싱 방법의 생성하는 단계는 상기 처리된 자원을 생성하여 휘발성 메모리에 저장하고, 상기 비휘발성 메모리에 캐싱하는 단계는 상기 휘발성 메모리의 남은 용량이 상기 처리된 자원의 크기보다 작은 경우, 상기 처리된 자원을 비휘발성 메모리에 캐싱할 수 있다.The generating of the caching method according to an embodiment of the present invention may include generating the processed resource and storing the processed resource in a volatile memory, and caching the non-volatile memory, wherein the remaining capacity of the volatile memory includes a size of the processed resource , The processed resource can be cached in the nonvolatile memory.

본 발명의 일실시예에 따른 캐싱 방법은 원본 자원을 비휘발성 메모리의 제1 캐시에 캐싱하는 단계를 더 포함하고, 상기 비휘발성 메모리에 캐싱하는 단계는, 비휘발성 메모리의 제1 캐시와 다른 제2 캐시에 처리된 자원을 캐싱할 수 있다.The method of caching in accordance with an embodiment of the present invention further comprises caching source resources in a first cache of non-volatile memory, wherein caching in the non-volatile memory comprises: 2 Cached resources can be cached in the cache.

본 발명의 일실시예에 따른 캐싱 방법은 처리된 자원이 캐싱된 제2 캐시에서 사용자의 요청에 대응하는 처리된 자원을 검색하는 단계; 제2 캐시에서 사용자의 요청에 대응하는 처리된 자원이 검색되지 않은 경우, 원본 자원이 캐싱된 제1 캐시에서 사용자의 요청에 대응하는 원본 자원을 검색하는 단계; 제1 캐시에서 검색한 원본 자원을 처리하여 사용자의 요청에 대응하는 처리된 자원을 생성하는 단계; 및 제2 캐시에서 검색한 처리된 자원, 또는 제1 캐시에서 검색한 원본 자원을 처리하여 생성한 처리된 자원을 제공하는 단계를 포함할 수 있다.A method of caching according to an embodiment of the present invention includes: searching for a processed resource corresponding to a request of a user in a second cache where the processed resource is cached; If the processed resource corresponding to the user's request is not retrieved from the second cache, retrieving the original resource corresponding to the user's request from the first cache where the original resource is cached; Processing the original resource retrieved from the first cache to generate a processed resource corresponding to the request of the user; And processing the processed resource retrieved from the second cache, or the processed resource generated by processing the original resource retrieved from the first cache.

본 발명의 일실시예에 따른 캐싱 방법은 제1 캐시에서 사용자의 요청에 대응하는 원본 자원이 검색되지 않은 경우, 네트워크에서 사용자의 요청에 대응하는 원본 자원을 검색하는 단계; 및 네트워크에서 검색한 원본 자원을 제1 캐시에 캐싱하는 단계를 더 포함할 수 있다.According to another aspect of the present invention, there is provided a caching method comprising: searching for a source resource corresponding to a user request in a network when a source resource corresponding to a user's request is not searched in a first cache; And caching the original resource retrieved from the network in the first cache.

본 발명의 일실시예에 따른 캐싱 방법은 유효성 정보를 기초로 제2 캐시에서 검색한 처리된 자원의 유효 여부를 판단하는 단계; 및 검색한 처리된 자원이 유효하지 않은 경우, 제2 캐시에서 사용자의 요청에 대응하는 처리된 자원이 검색되지 않은 것으로 판단하는 단계를 더 포함할 수 있다.A caching method according to an embodiment of the present invention includes: determining whether a processed resource retrieved from a second cache is valid based on validity information; And determining that the processed resource corresponding to the user's request is not retrieved from the second cache if the retrieved processed resource is not valid.

본 발명의 일실시예에 따른 캐싱 방법의 유효성 정보는 처리된 자원의 캐싱 허용 여부, 처리된 자원의 캐싱이 허용되는 시간, 및 처리된 자원이 캐싱되지 위한 조건 중 적어도 하나를 포함할 수 있다.The validity information of the caching method according to an embodiment of the present invention may include at least one of whether or not caching of the processed resource is permitted, the time when the caching of the processed resource is allowed, and the condition for the processed resource not to be cached.

본 발명의 일실시예에 따른 캐싱 방법은 유효성 정보를 기초로 제1 캐시에서 검색한 원본 자원의 유효 여부를 판단하는 단계; 및 검색한 원본 자원이 유효하지 않은 경우, 제1 캐시에서 사용자의 요청에 대응하는 원본 자원이 검색되지 않은 것으로 판단하는 단계를 포함할 수 있다.A caching method according to an embodiment of the present invention includes: determining whether an original resource retrieved from a first cache is valid based on validity information; And determining that the original resource corresponding to the user's request is not retrieved from the first cache if the retrieved original resource is not valid.

본 발명의 일실시예에 따른 캐싱 방법은 비휘발성 메모리의 제2 캐시에 캐싱된 처리된 자원을 휘발성 메모리에 선반입(prefetching)하는 단계; 휘발성 메모리에서 사용자의 요청에 대응하는 처리된 자원을 검색하는 단계; 휘발성 메모리에서 사용자의 요청에 대응하는 처리된 자원이 검색되지 않은 경우, 원본 자원이 캐싱된 비휘발성 메모리의 제1 캐시에서 사용자의 요청에 대응하는 원본 자원을 검색하는 단계; 상기 제1 캐시에서 검색한 원본 자원을 처리하여 사용자의 요청에 대응하는 처리된 자원을 생성하는 단계; 및 상기 휘발성 메모리에서 검색한 처리된 자원, 또는 상기 제1 캐시에서 검색한 원본 자원을 처리하여 생성한 처리된 자원을 제공하는 단계를 포함할 수 있다.A caching method according to an embodiment of the present invention includes prefetching processed resources cached in a second cache of a non-volatile memory into a volatile memory; Retrieving a processed resource corresponding to a user's request from the volatile memory; Retrieving a source resource corresponding to a user's request from a first cache of non-volatile memory where the source resource is cached, if the processed resource corresponding to the user's request is not found in the volatile memory; Processing the original resource retrieved from the first cache to generate a processed resource corresponding to the request of the user; And providing a processed resource generated by processing the processed resource retrieved from the volatile memory or the original resource retrieved from the first cache.

본 발명의 일실시예에 따른 캐싱 장치는 원본 자원을 처리하여 처리된 자원을 생성하는 자원 처리부; 및 처리된 자원을 비휘발성 메모리에 캐싱하는 캐싱부를 포함할 수 있다.According to an aspect of the present invention, there is provided a caching apparatus comprising: a resource processor for processing an original resource to generate a processed resource; And a caching unit for caching the processed resource in the nonvolatile memory.

본 발명의 일실시예에 따른 캐싱 장치의 자원 처리부는 원본 자원을 파싱, 또는 복호화하여 처리된 자원을 생성할 수 있다.The resource processing unit of the caching apparatus according to an embodiment of the present invention may generate the processed resource by parsing or decoding the original resource.

본 발명의 일실시예에 따른 캐싱 장치의 캐싱부는 처리된 자원의 유효성 판단 기준이 되는 유효성 정보를 처리된 자원과 함께 비휘발성 메모리에 캐싱할 수 있다.The caching unit of the caching apparatus according to an embodiment of the present invention can cache the validity information serving as a criterion for judging the validity of the processed resource in the nonvolatile memory together with the processed resource.

본 발명의 일실시예에 따른 캐싱 장치의 캐싱부는 상기 처리된 자원의 크기, 지역성(locality), 및 유효 시간 중 적어도 하나에 기초하여 비휘발성 메모리에 캐싱된 처리된 자원의 우선 순위를 설정하고, 상기 우선 순위에 기초하여 비휘발성 메모리에 캐싱된 처리된 자원을 관리할 수 있다.The caching unit of the caching apparatus according to an embodiment of the present invention sets the priority of the processed resource cached in the nonvolatile memory based on at least one of the size, locality, and validity time of the processed resource, And manage the processed resources cached in the non-volatile memory based on the priority.

본 발명의 일실시예에 따른 캐싱 장치의 자원 처리부는 상기 처리된 자원을 생성하여 휘발성 메모리에 저장하고, 캐싱부는 상기 휘발성 메모리의 남은 용량이 상기 처리된 자원의 크기보다 작은 경우, 상기 처리된 자원을 제2 캐시에 캐싱할 수 있다.The resource processor of the caching apparatus according to an embodiment of the present invention generates the processed resource and stores the processed resource in a volatile memory. When the remaining capacity of the volatile memory is smaller than the size of the processed resource, May be cached in the second cache.

본 발명의 일실시예에 따른 캐싱 장치는 원본 자원을 비휘발성 메모리의 제1 캐시에 캐싱하고, 처리된 자원을 비휘발성 메모리의 제1 캐시와 다른 제2 캐시에 캐싱할 수 있다.The caching device according to an embodiment of the present invention may cache original resources in a first cache of non-volatile memory and cache the processed resources in a second cache different from a first cache of non-volatile memory.

본 발명의 일실시예에 따른 캐싱 장치는 처리된 자원이 캐싱된 제2 캐시에서 사용자의 요청에 대응하는 처리된 자원을 검색하고, 제2 캐시에서 사용자의 요청에 대응하는 처리된 자원이 검색되지 않은 경우, 원본 자원이 캐싱된 제1 캐시에서 사용자의 요청에 대응하는 원본 자원을 검색하는 검색부; 및 제1 캐시에서 검색한 원본 자원을 처리하여 사용자의 요청에 대응하는 처리된 자원을 생성하는 자원 처리부를 포함하고, 상기 검색부는 제2 캐시에서 검색한 처리된 자원, 또는 제1 캐시에서 검색한 원본 자원을 처리하여 생성한 처리된 자원을 제공할 수 있다.The caching device according to an embodiment of the present invention searches the second cache for the processed resource corresponding to the user's request in the second cache where the processed resource is cached and does not search for the processed resource corresponding to the user's request in the second cache A retrieval unit for retrieving an original resource corresponding to a request of the user from the first cache where the original resource is cached; And a resource processing unit for processing the original resource retrieved from the first cache and generating a processed resource corresponding to the request of the user, wherein the retrieving unit retrieves the processed resource retrieved from the second cache, It can process the original resource and provide the processed resource that it created.

본 발명의 일실시예에 따른 캐싱 장치는 네트워크에서 검색한 원본 자원을 제1 캐시에 캐싱하는 제1 캐싱부를 더 포함하고, 상기 검색부는, 제1 캐시에서 사용자의 요청에 대응하는 원본 자원이 검색되지 않은 경우, 네트워크에서 사용자의 요청에 대응하는 원본 자원을 검색할 수 있다.The cache apparatus according to an exemplary embodiment of the present invention may further include a first cache unit for caching original resources retrieved from a network in a first cache, If not, the network can retrieve the original resource corresponding to the user's request.

본 발명의 일실시예에 따른 캐싱 장치의 검색부는 유효성 정보를 기초로 제2 캐시에서 검색한 처리된 자원의 유효 여부를 판단하고, 검색한 처리된 자원이 유효하지 않은 경우, 제2 캐시에서 사용자의 요청에 대응하는 처리된 자원이 검색되지 않은 것으로 판단할 수 있다.The searching unit of the caching apparatus according to an embodiment of the present invention determines whether the processed resource retrieved from the second cache is valid based on the validity information and if the retrieved processed resource is invalid, It can be determined that the processed resource corresponding to the request of the mobile terminal is not found.

본 발명의 일실시예에 따른 캐싱 장치의 유효성 정보는 처리된 자원의 캐싱 허용 여부, 처리된 자원의 캐싱이 허용되는 시간, 및 처리된 자원이 캐싱되지 위한 조건 중 적어도 하나를 포함할 수 있다.The validity information of the caching device according to an embodiment of the present invention may include at least one of whether to allow caching of the processed resource, a time when caching of the processed resource is allowed, and a condition for the processed resource to be not cached.

본 발명의 일실시예에 따른 캐싱 장치는 비휘발성 메모리의 제2 캐시에 캐싱된 처리된 자원을 휘발성 메모리에 선반입(prefetching)하는 제2 캐싱부; 휘발성 메모리에서 사용자의 요청에 대응하는 처리된 자원을 검색하고, 휘발성 메모리에서 사용자의 요청에 대응하는 처리된 자원이 검색되지 않은 경우, 원본 자원이 캐싱된 비휘발성 메모리의 제1 캐시에서 사용자의 요청에 대응하는 원본 자원을 검색하는 검색부; 및 상기 제1 캐시에서 검색한 원본 자원을 처리하여 사용자의 요청에 대응하는 처리된 자원을 생성하는 자원 처리부를 포함하고, 상기 검색부는 상기 휘발성 메모리에서 검색한 처리된 자원, 또는 상기 제1 캐시에서 검색한 원본 자원을 처리하여 생성한 처리된 자원을 제공할 수 있다.A caching apparatus according to an embodiment of the present invention includes a second caching unit for prefetching processed resources cached in a second cache of a non-volatile memory into a volatile memory; Retrieves a processed resource corresponding to a user's request from the volatile memory and, if the processed resource corresponding to the user's request is not found in the volatile memory, A search unit for searching for a source resource corresponding to the source resource; And a resource processing unit for processing the original resource retrieved from the first cache and generating a processed resource corresponding to a request of the user, wherein the retrieving unit retrieves the processed resource retrieved from the volatile memory, The retrieved original resource can be processed to provide the processed resource that has been generated.

본 발명의 일실시예에 의하면, 네트워크로부터 수신한 원본 자원을 사용자에게 제공하기 위하여 처리한 처리된 자원을 캐싱하고, 사용자의 요청에 따라 처리된 자원을 제공함으로써 원본 자원을 처리하는 과정을 생략하여 사용자에게 자원을 제공하기 위하여 필요한 시간을 단축할 수 있다.According to an embodiment of the present invention, the process of processing the original resource received from the network is cached in order to provide the original resource to the user, and the process of processing the original resource by providing the processed resource according to the request of the user is omitted The time required to provide resources to the user can be shortened.

또한, 본 발명은 처리된 자원을 비휘발성 메모리에 캐싱함으로써, 웹 브라우저의 종료, 또는 일정 시간의 경과에 따라 소멸되는 처리된 자원을 지속적으로 사용할 수 있다.In addition, the present invention caches the processed resource in the nonvolatile memory, thereby making it possible to continuously use the processed resource which is extinguished at the end of the web browser or a certain period of time.

도 1은 본 발명의 일실시예에 따른 캐싱 장치를 나타내는 도면이다.
도 2는 웹 페이지를 처리하는 과정의 타임 라인의 일례이다.
도 3은 본 발명의 일실시예에 따른 캐싱 과정을 나타내는 도면이다.
도 4는 본 발명의 일실시예에 따라 원본 자원을 처리하는 과정의 일례이다.
도 5는 본 발명의 일실시예에 따라 원본 자원을 처리하는 과정의 다른 일례이다.
도 6은 본 발명의 일실시예에 따른 캐싱 과정을 나타내는 도면이다.
도 7은 본 발명의 일실시예에 따른 비휘발성 메모리와 휘발성 메모리 간의 자원 이동 일례이다.
도 8은 본 발명의 일실시예에 따른 캐싱 방법을 도시한 플로우차트이다.
도 9는 본 발명의 일실시예에 따른 캐싱 방법을 도시한 플로우차트이다.
도 10은 본 발명의 일실시예에 따른 캐싱 방법을 도시한 플로우차트이다.
1 is a diagram illustrating a caching apparatus according to an embodiment of the present invention.
Figure 2 is an example of a timeline of the process of processing a web page.
3 is a diagram illustrating a caching process according to an embodiment of the present invention.
4 is an example of a process of processing an original resource according to an embodiment of the present invention.
5 is another example of a process of processing an original resource according to an embodiment of the present invention.
6 is a diagram illustrating a caching process according to an embodiment of the present invention.
7 is an example of resource movement between a non-volatile memory and a volatile memory according to an embodiment of the present invention.
8 is a flowchart illustrating a caching method according to an embodiment of the present invention.
9 is a flowchart illustrating a caching method according to an embodiment of the present invention.
10 is a flowchart illustrating a caching method according to an embodiment of the present invention.

이하, 본 발명의 실시예를 첨부된 도면을 참조하여 상세하게 설명한다. 본 발명의 일실시예에 따른 캐싱 방법은 캐싱 장치에 의해 수행될 수 있다. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings. The caching method according to an embodiment of the present invention can be performed by a caching apparatus.

도 1은 본 발명의 일실시예에 따른 캐싱 장치를 나타내는 도면이다. 1 is a diagram illustrating a caching apparatus according to an embodiment of the present invention.

도 1을 참고하면, 본 발명의 일실시예에 따른 캐싱 장치(110)는 제1 캐싱부(111), 자원 처리부(112), 제2 캐싱부(113), 및 검색부(114)를 포함할 수 있다. 예를 들어, 캐싱 장치(110)는 웹 브라우저 자원을 처리하여 표시하는 웹 브라우저에 포함될 수 있다.1, a caching apparatus 110 according to an embodiment of the present invention includes a first caching unit 111, a resource processing unit 112, a second caching unit 113, and a search unit 114 can do. For example, the caching device 110 may be included in a web browser that processes and displays web browser resources.

제1 캐싱부(111)는 원본 자원(Raw resources)을 비휘발성 메모리(120)의 제1 캐시(121)에 캐싱할 수 있다. 이때, 원본 자원은 화면에 표시할 문서 구조를 나타내는 구조 정보, 부호화된 이미지, 및 화면에 표시할 문자의 폰트 정보 중 적어도 하나를 포함할 수 있다.The first caching unit 111 may cache the raw resources in the first cache 121 of the nonvolatile memory 120. [ At this time, the original resource may include at least one of structure information indicating a document structure to be displayed on the screen, an encoded image, and font information of a character to be displayed on the screen.

예를 들어, 원본 자원은 웹 브라우저가 웹 페이지를 표시하기 위하여 네트워크로부터 수신한 자원일 수 있다. 이때, 원본 자원은 문서 구조를 나타내는 HTML(Hyper Text Marup Language) 문서, 전송을 위하여 부호화된 웹 페이지의 이미지, CSS(Cascading Style Sheet), 및 스크립트(script) 중 적어도 하나를 포함할 수 있다.For example, the source resource may be a resource received from the network by a web browser to display a web page. At this time, the original resource may include at least one of a Hyper Text Markup Language (HTML) document representing a document structure, an image of a web page encoded for transmission, a CSS (Cascading Style Sheet), and a script.

또한, 제1 캐싱부(111)는 처리된 자원의 유효성 판단 기준이 되는 유효성 정보를 처리된 자원과 함께 제1 캐시(121)에 캐싱할 수 있다.In addition, the first caching unit 111 may cache the validity information, which is a criterion for determining the validity of the processed resource, in the first cache 121 together with the processed resource.

자원 처리부(112)는 원본 자원을 처리하여 처리된 자원(Processed resources)을 생성할 수 있다. 처리된 자원(processed resource)은 원본 자원(raw resource)이 처리되어 생성된 자원으로서, 예를 들어, 원본 자원이 HTML 문서인 경우, 상기 HTML 문서를 파싱하여 생성한 DOM Tree 구조가 처리된 자원이 될 수 있다. 따라서, 원본 자원이 아닌 처리된 자원을 캐싱하는 경우, 캐싱된 자원이 이미 처리된 자원이므로, 원본 자원을 재생할 때와 같은 처리 과정을 생략할 수 있다. The resource processing unit 112 may process the original resource to generate processed resources. A processed resource is a resource created by processing a raw resource. For example, when the original resource is an HTML document, the processed resource is a DOM tree structure generated by parsing the HTML document. . Therefore, in the case of caching the processed resource other than the original resource, since the cached resource is the already processed resource, the same process as that of the reproduction of the original resource can be omitted.

이때, 자원 처리부(112)가 생성한 처리된 자원은 휘발성 메모리(130)에 저장될 수 있다. 예를 들어, 휘발성 메모리(130)는 웹 브라우저가 처리된 자원을 이용하여 웹 페이지를 화면에 표시하기 전에 임시로 처리된 자원을 저장하는 DRAM(dynamic random access memory)일 수 있다. 그리고, 화면에 웹 페이지가 표시되거나, 일정 시간이 경과하면, 휘발성 메모리(130)에 저장된 처리된 자원이 소멸될 수 있다.At this time, the processed resource generated by the resource processing unit 112 may be stored in the volatile memory 130. For example, the volatile memory 130 may be a dynamic random access memory (DRAM) that stores resources temporarily processed before a web page is displayed on the screen using a processed resource random access memory . Then, when a web page is displayed on the screen or a predetermined time elapses, the processed resources stored in the volatile memory 130 may be destroyed.

예를 들어, 원본 자원이 웹 페이지를 표시하기 위하여 네트워크로부터 수신한 자원인 경우, 자원 처리부(112)는 전송을 위하여 부호화, 또는 변환된 원본 자원을 처리하여 웹 페이지를 표시하기 위한 처리된 자원을 생성할 수 있다. For example, when the original resource is a resource received from the network to display a web page, the resource processing unit 112 processes the encoded or transformed original resource for transmission to process the processed resource for displaying the web page Can be generated.

이때, 자원 처리부(112)는 HTML 문서 및 스크립트를 파싱하여 DOM(Document Object Model) 트리를 생성할 수 있다. 자원 처리부(112)가 원본 자원을 파싱하는 과정은 이하 도 4를 참조하여 상세히 설명한다.At this time, the resource processing unit 112 can generate a DOM (Document Object Model) tree by parsing an HTML document and a script. The process of the resource processor 112 parsing the original resource will be described in detail with reference to FIG.

또한, 자원 처리부(112)는 부호화된 이미지를 복호화하여 복호화된 이미지를 생성할 수 있다. 이때, 이미지는 정지 영상과 동영상 중 적어도 하나를 포함할 수 있다. 예를 들어, 원본 자원이 이미지인 경우, 상기 이미지가 디코딩된 데이터가 처리된 자원일 수 있다. 또한, 원본 자원이 비디오인 경우, 상기 비디오 가 디코딩된 데이터가 처리된 자원일 수 있다. 자원 처리부(112)가 부호화된 이미지를 복호화하는 과정은 이하 도 5를 참조하여 상세히 설명한다.Also, the resource processing unit 112 may decode the encoded image to generate a decoded image. At this time, the image may include at least one of a still image and a moving image. For example, if the source resource is an image, then the image may be the processed resource from which the decoded data is processed. Also, if the source resource is video, the video may be the processed resource of the decoded data. The process by which the resource processing unit 112 decodes the encoded image will be described in detail with reference to FIG.

그리고, 자원 처리부(112)는 CSS(Cascading Style Sheet)를 스타일 룰(style rules)로 변환할 수 있다. 예를 들어, 원본 자원이 문서 포맷과 관련된 CSS(Cascading Style Sheet)인 경우, 처리된 자원은 상기 CSS가 처리된 스타일 규칙(style rule)일 수 있다. 또 다른 예로는 원본 자원이 자바 스크립트(java script)인 경우, 처리된 자원은 상기 자바 스크립트가 처리된 텍스트 데이터일 수 있다.The resource processing unit 112 can convert a CSS (Cascading Style Sheet) into a style rule. For example, if the original resource is a Cascading Style Sheet (CSS) associated with the document format, the processed resource may be a style rule processed by the CSS. As another example, if the source resource is a java script, the processed resource may be text data processed by the JavaScript.

제2 캐싱부(113)는 자원 처리부(112)가 생성한 처리된 자원을 비휘발성 메모리(120)의 제2 캐시(122)에 캐싱할 수 있다. 이때, 제2 캐싱부(113)는 처리된 자원의 유효성 판단 기준이 되는 유효성 정보를 처리된 자원과 함께 제2 캐시(122)에 캐싱할 수 있다. 예를 들어, 유효성 정보는 처리된 자원의 캐싱 허용 여부, 처리된 자원의 캐싱이 허용되는 시간, 및 처리된 자원이 캐싱되지 위한 조건 중 적어도 하나를 포함할 수 있다.The second caching unit 113 may cache the processed resources generated by the resource processing unit 112 in the second cache 122 of the nonvolatile memory 120. [ At this time, the second caching unit 113 may cache the validity information, which is a criterion for judging the validity of the processed resource, in the second cache 122 together with the processed resource. For example, the validity information may include at least one of whether or not caching of the processed resource is allowed, the time when the caching of the processed resource is allowed, and the condition for the processed resource not to be cached.

또한, 제2 캐싱부(113)는 처리된 자원의 크기, 지역성(locality), 및 유효 시간 중 적어도 하나에 기초하여 제2 캐시(122)에 캐싱된 처리된 자원의 우선 순위를 설정하고, 우선 순위에 기초하여 제2 캐시(122)에 캐싱된 처리된 자원을 관리할 수 있다. 예를 들어, 제2 캐시(122)에 처리된 자원을 추가로 캐싱할 경우, 제2 캐싱부(113)는 우선 순위가 낮은 처리된 자원을 삭제하여 저장 용량을 확보할 수 있다. 그리고, 제2 캐싱부(113)는 확보된 저장 용량에 처리된 자원을 추가로 캐싱할 수 있다.The second caching unit 113 also sets the priority of the processed resource cached in the second cache 122 based on at least one of the size, the locality, and the effective time of the processed resource, And manage the cached resources cached in the second cache 122 based on the rankings. For example, when the processed resource is further cached in the second cache 122, the second caching unit 113 may delete the low-priority processed resource to secure the storage capacity. The second caching unit 113 may further cache the processed resource in the secured storage capacity.

제2 캐시(122)에 캐싱된 처리된 자원의 크기가 클수록 제2 캐시(122)에 캐싱 가능한 처리된 자원의 개수가 감소할 수 있다. 따라서, 제2 캐싱부(113)는 제2 캐시(122)에 캐싱된 처리된 자원의 크기가 클수록 제2 캐시(122)에 캐싱된 처리된 자원의 우선 순위를 낮게 설정할 수 있다. The larger the size of the processed resource cached in the second cache 122, the smaller the number of processed resources that can be cached in the second cache 122 may be. Accordingly, the second caching unit 113 may set the priority of the processed resource cached in the second cache 122 to be lower as the size of the processed resource cached in the second cache 122 increases.

또한, 제2 캐시(122)에 캐싱된 처리된 자원의 지역성이 높을 수록 제2 캐시(122)에 캐싱 가능된 처리된 자원이 요청될 가능성이 높을 수 있다. 따라서, 제2 캐싱부(1130)는 제2 캐시(122)에 캐싱된 처리된 자원의 지역성이 높을수록 제2 캐시(122)에 캐싱된 처리된 자원의 우선 순위를 높게 설정할 수 있다. Also, the higher the locality of the cached processed resource in the second cache 122, the more likely it is that the cached processed resource in the second cache 122 is requested. Accordingly, the second caching unit 1130 can set the priority of the processed resource cached in the second cache 122 to be higher as the locality of the processed resource cached in the second cache 122 is higher.

그리고, 제2 캐시(122)에 캐싱된 처리된 자원의 유효 시간이 짧을 경우, 처리된 자원이 요청된 시점에서 유효 시간을 초과하여 제2 캐시(122)에 캐싱된 처리된 자원이 유효하지 않다고 판단될 가능성이 높다. 이때, 검색부(114)는 제1 캐시(121)에서 처리된 자원에 대응하는 원본 자원을 검색해야 한다. 즉, 제2 캐시(122)에 캐싱된 처리된 자원 중 유효 시간이 초과된 처리된 자원은 사용할 수 없으면서 제2 캐시(122)의 용량만 차지할 수 있다. 따라서, 제2 캐싱부(1130)는 캐싱된 처리된 자원의 유효 시간이 짧을 수록 제2 캐시(122)에 캐싱된 처리된 자원의 우선 순위를 낮게 설정함으로써, 유효 시간이 초과된 처리된 자원이 먼저 삭제되도록 할 수 있다.If the effective time of the processed resource cached in the second cache 122 is short, the processed resource cached in the second cache 122 exceeds the valid time at the time of the requested resource is not valid It is highly likely to be judged. At this time, the search unit 114 searches for an original resource corresponding to the processed resource in the first cache 121. [ That is, the processed resource cached in the second cache 122 may be occupied only by the capacity of the second cache 122, while the processed resource whose validity time has been exceeded can not be used. Accordingly, the second caching unit 1130 sets the priority of the processed resource cached in the second cache 122 to a lower value as the effective time of the cached processed resource becomes shorter, It can be deleted first.

그리고, 제2 캐싱부(113)는 처리된 자원에 대응하는 어플리케이션이 종료되거나, 휘발성 메모리(130)의 남은 용량이 처리된 자원의 크기보다 작은 경우, 처리된 자원을 제2 캐시에 캐싱할 수 있다.If the application corresponding to the processed resource is terminated or the remaining capacity of the volatile memory 130 is smaller than the size of the processed resource, the second caching unit 113 may cache the processed resource in the second cache have.

검색부(114)는 사용자의 요청에 따라 제2 캐시(122)에서 사용자의 요청에 대응하는 처리된 자원을 검색할 수 있다. 이때, 사용자의 요청은 검색부(114)가 사용자로부터 수신한 자원 요청(resource request)일 수 있다.The retrieving unit 114 may retrieve the processed resource corresponding to the user's request in the second cache 122 according to the request of the user. At this time, the request of the user may be a resource request received from the user by the search unit 114.

또한, 제2 캐시(122)에서 사용자의 요청에 대응하는 처리된 자원이 검색되지 않은 경우, 검색부(114)는 제1 캐시(121)에서 사용자의 요청에 대응하는 원본 자원을 검색할 수 있다. 검색부(114)가 제1 캐시(121)에서 원본 자원을 검색하는 경우, 자원 처리부(112)는 검색부(114)가 검색한 원본 자원을 처리하여 사용자의 요청에 대응하는 처리된 자원을 생성할 수 있다. If the processed resource corresponding to the user's request is not retrieved from the second cache 122, the retrieving unit 114 may retrieve the original resource corresponding to the user's request from the first cache 121 . When the retrieving unit 114 retrieves the original resource from the first cache 121, the resource processing unit 112 processes the original resource retrieved by the retrieving unit 114 and generates a processed resource corresponding to the request of the user can do.

그리고, 검색부(114)는 제2 캐시(122)에서 검색한 처리된 자원, 또는 제1 캐시(121)에서 검색한 원본 자원을 처리하여 생성한 처리된 자원을 자원 제공 장치(140)에 제공할 수 있다. 이때, 자원 제공 장치(140)는 웹 브라우저에 캐싱 장치(110)와 함께 포함되며, 처리된 자원에 따라 화면에 웹 페이지를 표시할 수 있다. The retrieving unit 114 provides the resource provided by the processed resource retrieved from the second cache 122 or the processed resource generated by processing the original resource retrieved from the first cache 121 to the resource providing apparatus 140 can do. At this time, the resource providing device 140 is included in the web browser together with the caching device 110, and can display the web page on the screen according to the processed resource.

또한, 제1 캐시(121)에서 사용자의 요청에 대응하는 원본 자원이 검색되지 않은 경우, 검색부(114)는 네트워크에서 사용자의 요청에 대응하는 원본 자원을 검색할 수 있다. 그리고, 제1 캐싱부(111)는 검색부(114)가 네트워크에서 검색한 원본 자원을 제1 캐시(121)에 캐싱할 수 있다. If the original resource corresponding to the user's request is not found in the first cache 121, the searching unit 114 may search for the original resource corresponding to the user's request in the network. The first caching unit 111 may cache the original resource retrieved from the network by the retrieving unit 114 in the first cache 121.

이때, 자원 처리부(112)는 검색부(114)가 네트워크에서 검색한 원본 자원을 처리하여 처리된 자원을 생성할 수 있다. 그리고, 자원 처리부(112)는 생성한 처리된 자원을 휘발성 메모리(130)에 저장할 수 있다. 이때, 자원 제공 장치(140)는 휘발성 메모리(130)에 저장된 처리된 자원을 이용하여 웹 페이지를 표시할 수 있다. 또한, 제2 캐싱부(113)는 자원 처리부(112)가 생성한 처리된 자원을 제2 캐시(122)에 캐싱할 수 있다.At this time, the resource processing unit 112 can process the original resource retrieved from the network by the retrieval unit 114 and generate the processed resource. The resource processing unit 112 can store the generated processed resource in the volatile memory 130. [ At this time, the resource providing apparatus 140 can display a web page using the processed resource stored in the volatile memory 130. [ In addition, the second caching unit 113 may cache the processed resources generated by the resource processing unit 112 in the second cache 122.

그리고, 검색부(114)는 제2 캐시(122)에 처리된 자원과 함께 캐싱된 유효성 정보를 기초로 제2 캐시(122)에서 검색한 처리된 자원의 유효 여부를 판단할 수 있다. 검색한 처리된 자원이 유효하지 않은 경우, 검색부(114)는 제2 캐시(122)에서 사용자의 요청에 대응하는 처리된 자원이 검색되지 않은 것으로 판단할 수 있다. 이때, 검색부(114)는 제1 캐시(121)에서 사용자의 요청에 대응하는 원본 자원을 검색할 수 있다.The retrieving unit 114 may determine whether the processed resource retrieved from the second cache 122 is valid based on the validity information cached with the processed resource in the second cache 122. [ If the retrieved processed resource is not valid, the retrieving unit 114 may determine that the processed resource corresponding to the request of the user is not retrieved from the second cache 122. At this time, the search unit 114 may search the first cache 121 for the original resource corresponding to the user's request.

또한, 검색부(114)는 제1 캐시(121)에 원본 자원과 함께 캐싱된 유효성 정보를 기초로 제1 캐시(121)에서 검색한 원본 자원의 유효 여부를 판단할 수 있다. 검색한 원본 자원이 유효하지 않은 경우, 검색부(114)는 제1 캐시(121)에서 사용자의 요청에 대응하는 원본 자원이 검색되지 않은 것으로 판단할 수 있다. 이때, 검색부(114)는 네트워크에서 사용자의 요청에 대응하는 원본 자원을 검색할 수 있다.The retrieval unit 114 may determine whether the original resource retrieved from the first cache 121 is valid based on the validity information cached with the original resource in the first cache 121. [ If the retrieved original resource is not valid, the retrieving unit 114 may determine that the original resource corresponding to the request of the user is not retrieved from the first cache 121. At this time, the search unit 114 may search for an original resource corresponding to a user's request in the network.

제2 캐싱부(140)는 제2 캐시(122)에 캐싱된 처리된 자원과 관련된 어플리케이션이 수행되는 경우, 제2 캐시(122)에 캐싱된 처리된 자원 중 일부, 또는 전부를 휘발성 메모리(130)에 선반입(prefetching)할 수 있다. 예를 들어, 웹 브라우저가 실행되는 경우, 제2 캐싱부(140)는 제2 캐시(122)에 캐싱된 처리된 자원을 휘발성 메모리(130)에 선반입할 수 있다.The second caching unit 140 may allocate some or all of the processed resources cached in the second cache 122 to the volatile memory 130 when the application related to the processed resource cached in the second cache 122 is performed Quot; prefetching "). For example, when the web browser is executed, the second caching unit 140 may execute the cached processed resource in the second cache 122 into the volatile memory 130. [

그리고, 사용자로부터 자원 요청을 수신하는 경우, 검색부(114)는 휘발성 메모리(130)에서 사용자의 요청에 대응하는 처리된 자원을 검색할 수 있다.When receiving the resource request from the user, the retrieving unit 114 may search the volatile memory 130 for the processed resource corresponding to the request of the user.

또한, 휘발성 메모리(130)에서 사용자의 요청에 대응하는 처리된 자원이 검색되지 않은 경우, 검색부(114)는 제1 캐시(121)에서 사용자의 요청에 대응하는 원본 자원을 검색할 수 있다. 그리고, 자원 처리부(112)는 제1 캐시(121)에서 검색한 원본 자원을 처리하여 사용자의 요청에 대응하는 처리된 자원을 생성할 수 있다. 이때, 검색부(114)는 휘발성 메모리(130)에서 검색한 처리된 자원, 또는 제1 캐시에서 검색한 원본 자원을 처리하여 생성한 처리된 자원을 자원 제공 장치(140)에게 제공할 수 있다.If the processed resource corresponding to the user's request is not found in the volatile memory 130, the searching unit 114 may search the first cache 121 for the original resource corresponding to the user's request. The resource processing unit 112 may process the original resource retrieved from the first cache 121 and generate the processed resource corresponding to the request of the user. At this time, the retrieving unit 114 may provide the resource providing apparatus 140 with the processed resource generated by processing the processed resource retrieved from the volatile memory 130 or the original resource retrieved from the first cache.

본 발명의 일실시예에 따른 캐싱 장치(110)는 원본 자원을 사용자에게 제공하기 위하여 처리한 처리된 자원을 캐싱할 수 있다. 원본 자원을 캐싱하는 경우, 사용자가 동일 자원을 요청하면, 원본 자원을 처리하여 처리된 자원을 생성하는 과정을 필요로 한다. 반면, 본 발명의 일실시예에 따른 캐싱 장치(110)는 사용자가 동일 자원을 요청하면, 캐싱한 처리된 자원을 제공하여 원본 자원을 처리하는 과정을 생략할 수 있다. 따라서, 캐싱 장치(110)는 사용자에게 자원을 제공하기 위하여 필요한 시간을 단축할 수 있다.The caching device 110 according to an embodiment of the present invention may cache the processed resources processed to provide the original resource to the user. When caching the original resource, if the user requests the same resource, it is necessary to process the original resource to generate the processed resource. On the other hand, when the user requests the same resource, the caching apparatus 110 according to the embodiment of the present invention can skip the process of processing the original resource by providing the cached processed resource. Thus, the caching device 110 may shorten the time required to provide resources to the user.

그리고, 캐싱 장치(110)는 처리된 자원을 비휘발성 메모리(120)에 캐싱함으로써, 웹 브라우저의 종료, 또는 일정 시간의 경과에 따라 소멸되는 처리된 자원을 지속적으로 사용할 수 있다.The caching apparatus 110 can cache the processed resource in the nonvolatile memory 120, thereby allowing the cached resource to be continuously used until the end of the web browser or a predetermined period of time.

도 2는 웹 페이지를 처리하는 과정의 타임 라인의 일례이다.Figure 2 is an example of a timeline of the process of processing a web page.

도 2는 <img src="http://www.test.com/imgA.jpg">가 HTML에 포함되어, 웹 브라우저가 웹 페이지를 표시하기 위하여 imgA.jpg를 다운로드하는 경우, 타인 라인(timeline)의 일례이다.2 shows a case where <img src = "http://www.test.com/imgA.jpg"> is included in the HTML and the web browser downloads imgA.jpg to display the web page, ).

이때, 타임 라인은 웹 브라우저가 네트워크 상에서 imgA.jpg가 저장된 웹 서버를 탐색하고, 다운로드를 요청하는 지연 시간(latency time)(210)과 웹 브라우저가 네트워크 상에서 imgA.jpg를 다운로드하는 다운로드 시간(download time)(220)을 포함할 수 있다. 이때, 웹 브라우저가 다운로드하는 원본 자원인 imgA.jpg는 전송 용량 최소화를 위하여 부호화된 이미지일 수 있다.At this time, the timeline searches for a Web server where a web browser stores imgA.jpg on the network, and calculates a latency time 210 for requesting a download and a download time (download (download) time for a web browser to download imgA.jpg on the network time (220). At this time, the original resource imgA.jpg downloaded by the web browser may be an image encoded for minimizing the transmission capacity.

또한, 웹 브라우저는 다운로드한 원본 자원들을 비휘발성 메모리에 캐싱할 수 있다. 이때, 지연 시간(210)는 웹 브라우저가 캐시에서 imgA.jpg를 탐색하는 시간과, 웹 서버에 imgA.jpg의 유효성 여부를 확인하는 시간을 포함할 수 있다.In addition, the web browser can cache the downloaded original resources in nonvolatile memory. At this time, the delay time 210 may include a time at which the web browser searches for imgA.jpg in the cache and a time at which the web server confirms whether the imgA.jpg is valid.

본 발명의 일실시예에 따른 캐싱 장치(110)는 imgA.jpg를 복호화한 처리된 자원을 캐싱함으로써, imgA.jpg를 복호화하는 시간 및 다운로드 시간(220)을 단축할 수 있다. 또한, 본 발명의 일실시예에 따른 캐싱 장치(110)는 imgA.jpg를 복호화한 처리된 자원을 imgA.jpg의 유효성 정보와 함께 캐싱함으로써, 지연 시간(210)에서 웹 서버에 imgA.jpg의 유효성 여부를 확인하는 시간을 단축할 수 있다.The caching device 110 according to an embodiment of the present invention can shorten the time and the downloading time 220 of decrypting imgA.jpg by caching the processed resources that have decrypted imgA.jpg. In addition, the caching apparatus 110 according to the embodiment of the present invention caches the processed resource decoded by imgA.jpg together with the validity information of imgA.jpg, The time for confirming the validity can be shortened.

도 3은 본 발명의 일실시예에 따른 캐싱 과정을 나타내는 도면이다. 3 is a diagram illustrating a caching process according to an embodiment of the present invention.

먼저, 웹 브라우저의 캐싱 장치(110)는 사용자로부터 자원 요청(310)을 수신할 수 있다. First, the web browser's caching device 110 may receive a resource request 310 from a user.

다음으로, 캐싱 장치(110)는 네트워크 상의 웹 서버로부터 자원 요청(310)에 대응하는 웹 브라우저 관련 정보의 원본 자원(Raw resources)(320)을 수신할 수 있다. 이때, 캐싱 장치(110)는 수신한 원본 자원(320)을 비휘발성 메모리(120)의 제1 캐시(121)에 캐싱할 수 있다.Next, the caching device 110 may receive raw resources 320 of web browser related information corresponding to the resource request 310 from the web server on the network. At this time, the caching apparatus 110 may cache the received original resource 320 in the first cache 121 of the nonvolatile memory 120. [

그 다음으로, 캐싱 장치(110)는 원본 자원(320)을 처리하여 처리된 자원(Processed resources)(330)을 생성할 수 있다. 예를 들어, 캐싱 장치(110)는 도 3에 도시된 바와 같이 원본 자원(320) 중 HTML 문서 및 스크립트를 파싱하여 DOM 트리를 생성할 수 있다. 또한, 캐싱 장치(110)는 원본 자원(320) 중 부호화된 이미지(321)를 복호화하여 복호화된 이미지(331)를 생성할 수 있다. 그리고, 캐싱 장치(110)는 원본 자원(320) 중 CSS를 스타일 룰(style rules)로 변환할 수 있다.The caching device 110 may then process the original resource 320 to generate the processed resources 330. [ For example, the caching device 110 may generate a DOM tree by parsing an HTML document and a script among the original resources 320 as shown in FIG. In addition, the caching device 110 may generate the decoded image 331 by decoding the encoded image 321 of the original resource 320. [ The caching device 110 may convert CSS among the original resources 320 into style rules.

이때, 캐싱 장치(110)는 처리된 자원(330)을 비휘발성 메모리(120)의 제2 캐시(122)에 캐싱할 수 있다. 또한, 처리된 자원(330)는 휘발성 메모리(130)에 저장될 수 있다.At this time, the caching device 110 may cache the processed resources 330 in the second cache 122 of the non-volatile memory 120. [ Also, the processed resource 330 may be stored in the volatile memory 130.

마지막으로 웹 브라우저의 자원 제공 장치(140)는 휘발성 메모리(130)에 저장된 처리된 자원(330)을 이용하여 웹 페이지(340)를 사용자에게 제공할 수 있다.Finally, the resource providing apparatus 140 of the web browser can provide the web page 340 to the user using the processed resource 330 stored in the volatile memory 130. [

이때, 처리된 자원(330)은 비휘발성 메모리(120)의 제2 캐시(122)에 캐싱되므로, 일정 시간이 경과하거나, 웹 브라우저가 종료되더라도, 소멸하지 않을 수 있다. 따라서, 사용자가 자원 요청(310)을 다시 입력하는 경우, 캐싱 장치(110)는 시간의 경과하거나, 또는 웹 브라우저가 중간에 종료되었더라도 제2 캐시(122)에 캐싱된 처리된 자원(330)을 자원 제공 장치(140)에 제공할 수 있다.At this time, since the processed resource 330 is cached in the second cache 122 of the nonvolatile memory 120, it may not disappear even if a predetermined time elapses or the web browser is terminated. Thus, if the user re-enters the resource request 310, the caching device 110 may determine that the processed resource 330 cached in the second cache 122 has expired, To the resource providing apparatus 140. [

그리고, 캐싱 장치(110)는 처리된 자원(330)을 캐싱하므로, 캐싱 장치(110)를 포함하는 웹 브라우저는 원본 자원(320)을 캐싱하는 과정 없이 바로 웹 페이지(340)를 표시할 수 있다. 따라서, 캐싱 장치(110)를 포함하는 웹 브라우저는 종래의 웹 브라우저보다 빠르게 웹 페이지(340)를 표시할 수 있다.Since the caching device 110 caches the processed resource 330, the web browser including the caching device 110 can display the web page 340 directly without caching the original resource 320 . Accordingly, the web browser including the caching device 110 can display the web page 340 faster than the conventional web browser.

도 4는 본 발명의 일실시예에 따라 원본 자원을 처리하는 과정의 일례이다. 4 is an example of a process of processing an original resource according to an embodiment of the present invention.

HTML은 웹 페이지의 문서구조를 설명하는 자원이지만, 텍스트의 형태로 구성되어 있으므로, HTML 문서에 따라 웹 페이지를 표시하기 위해서는 트리 형태로 변환할 필요가 있다.HTML is a resource describing the document structure of a web page, but it is composed in the form of text. Therefore, in order to display a web page according to an HTML document, it is necessary to convert it into a tree form.

따라서, 자원 처리부(112)는 도 4에 도시된 바와 같이 텍스트의 형태의 HTML 문서(410)을 파싱하여 트리 형태의 DOM 트리(tree)(420)를 생성할 수 있다. 이때, 웹 페이지 안에 포함된 텍스트(411)들은 HTML 문서(410)에 포함될 수 있다. 따라서, DOM 트리(420) 안에 텍스트(411)에 대응하는 텍스트(421)들이 포함될 수 있다.Accordingly, the resource processing unit 112 can generate a tree-shaped DOM tree 420 by parsing an HTML document 410 in the form of text as shown in FIG. At this time, the texts 411 included in the web page may be included in the HTML document 410. Thus, the text 421 corresponding to the text 411 may be included in the DOM tree 420.

도 5는 본 발명의 일실시예에 따라 원본 자원을 처리하는 과정의 다른 일례이다. 5 is another example of a process of processing an original resource according to an embodiment of the present invention.

웹 서버가 웹 페이지에 포함된 이미지를 변환 없이 전송하는 경우, 전송하는 자원의 크기가 증가할 수 있다. 따라서, 웹 서버는 전송하는 자원의 크기를 최소화하기 위하여 이미지를 부호화한 원본 자원을 전송할 수 있다.When a web server transmits an image included in a web page without conversion, the size of the resource to be transmitted may increase. Accordingly, the web server can transmit the original resource obtained by encoding the image in order to minimize the size of the resource to be transmitted.

자원 처리부(112)는 이미지 복호화기(image decoder)(500)로 원본 자원의 부호화된 이미지(Encoded image)(510)을 복호화하여 처리된 자원의 복호화된 이미지(Decoded image)(560)을 생성할 수 있다.The resource processing unit 112 decodes the encoded image 510 of the original resource to the image decoder 500 to generate a decoded image 560 of the processed resource .

구체적으로, 자원 처리부(112)는 부호화된 이미지(510)에 허프만 복호화(Huffman decoding)(520)를 수행하여 정보(521)을 복호화할 수 있다.In detail, the resource processing unit 112 may perform Huffman decoding 520 on the encoded image 510 to decode the information 521.

다음으로 자원 처리부(112)는 역 지그재그 스캐닝(Inverse ZigZag scanning)(530)으로 정보(521)을 가로 및 세로가 8px인 정방형 행렬 데이터(531)로 변환할 수 있다.Next, the resource processing unit 112 may convert the information 521 into square matrix data 531 having a horizontal and vertical length of 8 px by an inverse ZigZag scanning 530. [

그 다음으로, 자원 처리부(112)는 행렬 데이터(531)에 역양자화(Dequantizing)(540)를 수행하여 행렬 데이터(531)의 행렬값 그래프(532)를 행렬값 그래프(541)로 변화시킬 수 있다.Next, the resource processing unit 112 may perform dequantizing 540 on the matrix data 531 to change the matrix value graph 532 of the matrix data 531 to the matrix value graph 541 have.

마지막으로 자원 처리부(112)는 행렬값 그래프(541)를 가지는 행렬 데이터(542)에 역 DCT(Inverse Discrete cosine transform를 수행함으로써 가로 및 세로가 8px인 원 이미지의 1개 블록(551)을 복원할 수 있다. 그리고, 자원 처리부(112)는 상기 과정을 반복함으로써, 복호화된 이미지(560)을 생성할 수 있다.Finally, the resource processing unit 112 performs an inverse discrete cosine transform (DCT) on the matrix data 542 having the matrix value graph 541 to restore one block 551 of the original image of 8 px in the horizontal and vertical directions And the resource processing unit 112 can generate the decoded image 560 by repeating the above process.

도 6은 본 발명의 일실시예에 따른 캐싱 과정을 나타내는 도면이다. 6 is a diagram illustrating a caching process according to an embodiment of the present invention.

본 발명의 일실시예에 따른 캐싱 장치(110)와 자원 제공 장치(140)를 포함하는 웹 브라우저는 UI(user interface)를 통하여 사용자로부터 자원 요청(610)을 입력 받을 수 있다. 이때, 자원 요청(610)은 웹 페이지의 주소, 웹 페이지의 CSS, JavaScript, 웹 페이지의 이미지, 및 웹 페이지의 폰트 중 적어도 하나를 포함할 수 있다.Web browsers including the caching apparatus 110 and the resource providing device 140 according to one embodiment of the present invention (user UI interface 610 of the resource request from the user. At this time, the resource request 610 may include at least one of the address of the web page, the CSS of the web page, the image of the web page, and the font of the web page.

다음으로, 웹 브라우저의 캐싱 장치(110)는 처리된 자원이 캐싱된 제2 캐시(122)에서 자원 요청(610)에 대응하는 처리된 자원을 검색할 수 있다. 처리된 자원이 검색된 경우(Hit), 자원 제공 장치(140)는 검색된 처리된 자원을 렌더링하여 웹 페이지를 표시할 수 있다.Next, the web browser's caching device 110 may retrieve the processed resource corresponding to the resource request 610 in the second cache 122 where the processed resource is cached. If the processed resource is found (Hit), the resource providing device 140 can display the web page by rendering the retrieved processed resource.

처리된 자원이 검색되지 않은 경우(Miss), 캐싱 장치(110)는 원본 자원이 캐싱된 제1 캐시(121)에서 자원 요청(610)에 대응하는 원본 자원을 검색할 수 있다. 원본 자원이 검색된 경우(Hit), 캐싱 장치(110)는 검색된 원본 자원을 처리하여 처리된 자원을 생성할 수 있다. 그리고, 자원 제공 장치(140)는 생성된 처리된 자원을 렌더링하여 웹 페이지를 표시할 수 있다.If the processed resource is not found (Miss), the caching device 110 may retrieve the original resource corresponding to the resource request 610 in the first cache 121 where the original resource is cached. If a source resource is found (Hit), the caching device 110 may process the retrieved source resource to generate the processed resource. Then, the resource providing apparatus 140 can display the web page by rendering the generated processed resource.

원본 자원이 검색되지 않은 경우(Miss), 캐싱 장치(110)는 네트워크(620)의 웹 서버에서 자원 요청(610)에 대응하는 원본 자원을 검색할 수 있다. 그리고, 캐싱 장치(110)는 웹 서버에서 검색된 원본 자원을 처리하여 처리된 자원을 생성할 수 있다. 이때, 캐싱 장치(110)는 웹 서버에서 검색된 원본 자원을 제1 캐시(121)에 캐싱하고, 생성한 처리된 자원을 제2 캐시(122)에 캐싱할 수 있다.If the source resource is not found (Miss), the caching device 110 may retrieve the source resource corresponding to the resource request 610 at the web server of the network 620. The caching device 110 may process the original resource retrieved from the web server to generate the processed resource. At this time, the caching apparatus 110 may cache the original resource retrieved from the web server in the first cache 121, and cache the generated processed resource in the second cache 122.

그리고, 자원 제공 장치(140)는 생성된 처리된 자원을 렌더링하여 웹 페이지를 표시할 수 있다.Then, the resource providing apparatus 140 can display the web page by rendering the generated processed resource.

도 7은 본 발명의 일실시예에 따른 비휘발성 메모리와 휘발성 메모리 간의 자원 이동 일례이다. 7 is an example of resource movement between a non-volatile memory and a volatile memory according to an embodiment of the present invention.

캐싱 장치(110)는 원본 자원을 처리하여 스타일 룰(style rule), 폰트(font), 스크립트(Scripts), 복호화된 이미지(decoded image) 중 적어도 하나를 포함하는 처리된 자원(720)을 생성할 수 있다. The caching device 110 processes the original resource to generate a processed resource 720 that includes at least one of a style rule, a font, a script, and a decoded image .

그리고, 캐싱 장치(110)는 처리된 자원(720)을 DRAM 과 같은 휘발성 메모리(130)에 저장할 수 있다. 또한, 캐싱 장치(110)는 휘발성 메모리(130)에 저장한 처리된 자원(720)을 비휘발성 메모리(120)의 제2 캐시(122)에 캐싱할 수 있다. 이때, 캐싱 장치(110)는 처리된 자원(720)의 유효성 판단 기준이 되는 유효성 정보(710)를 처리된 자원(720)의 헤더 정보로 설정하여 처리된 자원(720)과 함께 제2 캐시(122)에 캐싱할 수 있다.The caching device 110 may then store the processed resources 720 in a volatile memory 130, such as a DRAM. The caching device 110 may also cache the processed resources 720 stored in the volatile memory 130 in the second cache 122 of the non-volatile memory 120. [ At this time, the caching device 110 sets the validity information 710, which is a criterion for judging the validity of the processed resource 720, as the header information of the processed resource 720, 122).

예를 들어, 유효성 정보(710)는 HTTP 응답(Response)에 포함된 캐시 제어(Cache-Control) 항목일 수 있다. 이때, 캐시 제어 항목은 처리된 자원의 캐싱 허용 여부, 및 처리된 자원의 캐싱이 허용되는 조건을 포함할 수 있다.For example, the validity information 710 may be a Cache-Control item included in an HTTP response. At this time, the cache control item may include whether or not caching of the processed resource is allowed, and a condition in which caching of the processed resource is allowed.

이때, 캐시 제어 항목이 public인 처리된 자원은 제2 캐시(122)에 캐싱이 허용되는 처리된 자원일 수 있다. 또한, 캐시 제어 항목이 no-cache인 처리된 자원은 제2 캐시(122)에 캐싱이 허용되지 않는 자원일 수 있다. 이때, 캐싱 장치(110)는 캐시 제어 항목이 no-cache인 처리된 자원을 제외한 나머지 처리된 자원을 제2 캐시(122)에 캐싱할 수 있다.At this time, the processed resource whose cache control item is public may be a processed resource which is allowed to be cached in the second cache 122. [ Also, the processed resource whose cache control entry is no-cache may be a resource that is not allowed to be cached in the second cache 122. [ At this time, the caching device 110 may cache the remaining processed resources in the second cache 122, excluding the processed resources whose cache control items are no-cache.

그리고, 캐시 제어 항목이 max-age=sec인 처리된 자원은 지정한 시간 이내의 캐시만 허용하는 자원일 수 있다. 캐시 제어 항목이 max-age=sec인 처리된 자원이 사용자의 자원 요청에 대응하는 경우, 캐싱 장치(110)는 자원 요청을 수신한 시간이 지정한 시간보다 늦은지 여부를 확인할 수 있다. 그리고, 자원 요청을 수신한 시간이 지정한 시간보다 늦은 경우, 제2 캐시(122)에 캐싱된 처리된 자원이 유효하지 않은 것으로 판단할 수 있다.And, the processed resource whose cache control item is max-age = sec may be a resource that allows only the cache within the specified time. If the processed resource whose cache control item is max-age = sec corresponds to the resource request of the user, the caching device 110 can check whether or not the time when the resource request was received is later than the specified time. If the time of receiving the resource request is later than the specified time, it can be determined that the processed resource cached in the second cache 122 is invalid.

또한, 캐시 제어 항목이 must-revalidate인 처리된 자원은 웹 서버에 검증 요청을 한 뒤, 캐시의 허용 여부를 결정하는 처리된 자원일 수 있다. 이때, 캐싱 장치(110)는 웹 서버에 검증 요청을 하고, 검증 결과에 따라 처리된 자원을 제2 캐시(122)에 캐싱할 수 있다.Also, the processed resource whose cache control item is must-revalidate may be a processed resource that determines whether to permit the cache after making a verification request to the web server. At this time, the caching device 110 may make a verification request to the web server, and cache the processed resource in the second cache 122 according to the verification result.

웹 브라우저가 실행될 경우, 캐싱 장치(110)는 비휘발성 메모리(120)의 제2 캐시(122)에 캐싱된 처리된 자원(720)을 휘발성 메모리(130)에 선반입하여 복원(Restore)시킬 수 있다. 이때, 캐싱 장치(110)는 자원 요청에 대응하는 처리된 자원을 제2 캐시(122)가 아닌 휘발성 메모리(130)에서 검색하므로, 검색 속도가 더 증가할 수 있다.When the web browser is executed, the caching device 110 may cause the cached resource 720 cached in the second cache 122 of the non-volatile memory 120 to be restored to the volatile memory 130 have. At this time, since the caching device 110 searches the volatile memory 130 for the processed resource corresponding to the resource request, not the second cache 122, the search speed can be further increased.

도 8은 본 발명의 일실시예에 따른 캐싱 방법을 도시한 플로우차트이다.8 is a flowchart illustrating a caching method according to an embodiment of the present invention.

도 8은 캐싱 장치(110)가 웹 서버로부터 제1 캐시(121), 및 제2 캐시(122)에 캐싱되지 않은 원본 자원을 수신한 경우, 원본 자원과 처리된 자원을 제1 캐시(121) 및 제2 캐시(122)에 각각 캐싱하는 방법을 도시한 플로우차트이다.8 is a flow chart illustrating a method of processing a source resource and a processed resource in a first cache 121 when the caching apparatus 110 receives an original resource not cached from the web server in the first cache 121 and the second cache 122. [ And the second cache 122, respectively.

단계(810)에서 제1 캐싱부(111)는 웹 서버로부터 원본 자원을 수신할 수 있다. 그리고, 제1 캐싱부(111)는 웹 서버로부터 수신한 원본 자원을 비휘발성 메모리(120)의 제1 캐시(121)에 캐싱할 수 있다. 또한, 제1 캐싱부(111)는 처리된 자원의 유효성 판단 기준이 되는 유효성 정보를 처리된 자원과 함께 제1 캐시(121)에 캐싱할 수 있다.In step 810, the first caching unit 111 may receive the original resource from the web server. The first caching unit 111 may cache the original resource received from the web server in the first cache 121 of the nonvolatile memory 120. [ In addition, the first caching unit 111 may cache the validity information, which is a criterion for determining the validity of the processed resource, in the first cache 121 together with the processed resource.

단계(820)에서 자원 처리부(112)는 단계(810)에서 수신한 원본 자원을 처리하여 처리된 자원을 생성할 수 있다. 구체적으로, 자원 처리부(112)는 원본 자원을 파싱, 또는 복호화하여 처리된 자원을 생성할 수 있다. 이때, 자원 처리부(112)가 생성한 처리된 자원은 휘발성 메모리(130)에 저장될 수 있다. In step 820, the resource processing unit 112 may process the original resource received in step 810 and generate the processed resource. Specifically, the resource processing unit 112 may generate the processed resource by parsing or decoding the original resource. At this time, the processed resource generated by the resource processing unit 112 may be stored in the volatile memory 130.

단계(830)에서 제2 캐싱부(113)는 단계(820)에서 생성한 처리된 자원을 비휘발성 메모리(120)의 제2 캐시(122)에 캐싱할 수 있다. 이때, 제2 캐싱부(113)는 처리된 자원의 유효성 판단 기준이 되는 유효성 정보를 처리된 자원과 함께 제2 캐시(122)에 캐싱할 수 있다. 또한, 단계(830)는 처리된 자원에 대응하는 어플리케이션이 종료되거나, 휘발성 메모리(130)의 남은 용량이 처리된 자원의 크기보다 작은 경우, 수행될 수 있다.In step 830, the second caching unit 113 may cache the processed resources generated in step 820 in the second cache 122 of the non-volatile memory 120. At this time, the second caching unit 113 may cache the validity information, which is a criterion for judging the validity of the processed resource, in the second cache 122 together with the processed resource. Step 830 may also be performed if the application corresponding to the processed resource is terminated, or if the remaining capacity of the volatile memory 130 is less than the size of the processed resource.

단계(840)에서 제2 캐싱부(113)는 단계(830)에서 캐싱한 처리된 자원의 크기, 지역성(locality), 및 유효 시간 중 적어도 하나에 기초하여 제2 캐시(122)에 캐싱된 처리된 자원의 우선 순위를 설정할 수 있다.In step 840, the second caching unit 113 performs a cached process on the second cache 122 based on at least one of the size, locality, and validity time of the processed resource cached in step 830 The priority of the resource can be set.

단계(850)에서 제2 캐싱부(113)는 우선 순위에 기초하여 제2 캐시(122)에 캐싱된 처리된 자원을 관리할 수 있다. 예를 들어, 제2 캐시(122)에 처리된 자원을 추가로 캐싱할 경우, 제2 캐싱부(113)는 우선 순위가 낮은 처리된 자원을 삭제하여 저장 용량을 확보할 수 있다. 그리고, 제2 캐싱부(113)는 확보된 저장 용량에 처리된 자원을 추가로 캐싱할 수 있다.In step 850, the second caching unit 113 may manage the cached resources cached in the second cache 122 based on the priority. For example, when the processed resource is further cached in the second cache 122, the second caching unit 113 may delete the low-priority processed resource to secure the storage capacity. The second caching unit 113 may further cache the processed resource in the secured storage capacity.

이때, 단계(840) 및 단계(850)는 캐싱 장치(110)에 따라 생략될 수도 있다.At this time, steps 840 and 850 may be omitted depending on the caching device 110.

도 9는 본 발명의 일실시예에 따른 캐싱 방법을 도시한 플로우차트이다.9 is a flowchart illustrating a caching method according to an embodiment of the present invention.

도 9는 캐싱 장치(110)가 사용자로부터 자원 요청을 수신한 경우, 자원 요청에 대응하는 처리된 자원의 제공 방법을 도시한 플로우차트이다.9 is a flowchart showing a method of providing a processed resource corresponding to a resource request when the caching apparatus 110 receives a resource request from the user.

단계(910)에서 검색부(114)는 사용자로부터 자원 요청을 수신할 수 있다. 이때, 검색부(114)는 수신한 자원 요청에 대응하는 처리된 자원을 제2 캐시(122)에서 검색할 수 있다. In step 910, the search unit 114 may receive a resource request from the user. At this time, the searching unit 114 may search the second cache 122 for the processed resource corresponding to the received resource request.

단계(920)에서 검색부(114)는 단계(910)에서 처리된 자원이 검색되었는지 여부를 확인할 수 있다. 단계(910)에서 자원 요청에 대응하는 처리된 자원이 검색되지 않은 경우, 검색부(114)는 단계(930)을 수행할 수 있다. 또한, 단계(910)에서 자원 요청에 대응하는 처리된 자원이 검색된 경우, 검색부(114)는 단계(925)를 수행할 수 있다.In step 920, the retrieving unit 114 can check whether the processed resource is retrieved in step 910. FIG. If the processed resource corresponding to the resource request is not retrieved in step 910, the retrieving unit 114 may perform step 930. [ Also, if the processed resource corresponding to the resource request is retrieved in step 910, the retrieving unit 114 may perform step 925. [

단계(925)에서 검색부(114)는 제2 캐시(122)에 처리된 자원과 함께 캐싱된 유효성 정보를 기초로 단계(910)에서 검색한 처리된 자원의 유효 여부를 판단할 수 있다. 단계(910)에서 검색한 처리된 자원이 유효하지 않은 경우, 검색부(114)는 제2 캐시(122)에서 자원 요청에 대응하는 처리된 자원이 검색되지 않은 것으로 판단하여 단계(930)을 수행할 수 있다. 또한, 단계(910)에서 검색한 처리된 자원이 유효한 경우, 검색부(114)는 단계(980)을 수행할 수 있다.In step 925, the retrieval unit 114 may determine whether the processed resource retrieved in step 910 is valid based on the validity information cached with the processed resource in the second cache 122. If the processed resource retrieved in step 910 is not valid, the retrieving unit 114 determines that the processed resource corresponding to the resource request is not retrieved from the second cache 122, and performs step 930 can do. Also, if the processed resource retrieved in step 910 is valid, the retrieval unit 114 may perform step 980. [

단계(930)에서 검색부(114)는 제1 캐시(121)에서 자원 요청에 대응하는 원본 자원을 검색할 수 있다. In step 930, the retrieval unit 114 may retrieve the original resource corresponding to the resource request in the first cache 121.

단계(940)에서 검색부(114)는 단계(930)에서 원본 자원이 검색되었는지 여부를 확인할 수 있다. 단계(930)에서 원본 자원이 검색된 경우, 검색부(114)는 단계(945)을 수행할 수 있다. 또한, 단계(930)에서 원본 자원이 검색되지 않은 경우, 검색부(114)는 단계(950)을 수행할 수 있다.In step 940, the search unit 114 may check in step 930 whether the original resource is searched. If the source resource is retrieved in step 930, the retrieval unit 114 may perform step 945. [ If the source resource is not found in step 930, the search unit 114 may perform step 950. [

단계(945)에서 검색부(114)는 제1 캐시(121)에 처리된 자원과 함께 캐싱된 유효성 정보를 기초로 단계(930)에서 검색한 원본 자원의 유효 여부를 판단할 수 있다. 단계(930)에서 검색한 원본 자원이 유효하지 않은 경우, 검색부(114)는 제1 캐시(121)에서 자원 요청에 대응하는 원본 자원이 검색되지 않은 것으로 판단하여 단계(950)을 수행할 수 있다. 또한, 단계(930)에서 검색한 처리된 자원이 유효한 경우, 검색부(114)는 단계(970)을 수행할 수 있다.In step 945, the retrieval unit 114 may determine whether the original resource retrieved in step 930 is valid based on the validity information cached with the processed resource in the first cache 121. If the original resource retrieved in step 930 is not valid, the retrieval unit 114 determines that the original resource corresponding to the resource request has not been retrieved from the first cache 121 and can perform step 950 have. Also, if the processed resource retrieved in step 930 is valid, the retrieving unit 114 may perform step 970. [

단계(950)에서 검색부(114)는 네트워크에서 자원 요청에 대응하는 원본 자원을 검색할 수 있다. In step 950, the retrieval unit 114 may retrieve the original resource corresponding to the resource request in the network.

단계(960)에서 제1 캐싱부(111)는 단계(950)에서 검색한 원본 자원을 제1 캐시(121)에 캐싱할 수 있다. In step 960, the first caching unit 111 may cache the original resource retrieved in step 950 in the first cache 121.

단계(970)에서 자원 처리부(112)는 단계(930), 또는 단계(950)에서 검색부(114)가 검색한 원본 자원을 처리하여 자원 요청에 대응하는 처리된 자원을 생성할 수 있다.In step 970, the resource processing unit 112 may process the original resource retrieved by the retrieving unit 114 in step 930 or step 950 to generate a processed resource corresponding to the resource request.

단계(975)에서 제2 캐싱부(113)는 단계(970)에서 생성한 처리된 자원을 제2 캐시(122)에 캐싱할 수 있다.In step 975, the second caching unit 113 may cache the processed resources generated in step 970 in the second cache 122. [

단계(980)에서 검색부(114)는 단계(910)에서 검색한 처리된 자원, 또는 단계(970)에서 생성한 처리된 자원을 자원 제공 장치(140)에 제공할 수 있다. 이때, 자원 제공 장치(140)는 제공받은 처리된 자원에 따라 화면에 웹 페이지를 표시할 수 있다. In step 980, the retrieval unit 114 may provide the resource providing apparatus 140 with the processed resource retrieved in step 910, or the processed resource generated in step 970. At this time, the resource providing apparatus 140 may display a web page on the screen according to the provided processed resource.

도 10은 본 발명의 일실시예에 따른 캐싱 방법을 도시한 플로우차트이다.10 is a flowchart illustrating a caching method according to an embodiment of the present invention.

단계(1010)에서 제2 캐싱부(140)는 처리된 자원과 관련된 어플리케이션이 수행되는 경우, 제2 캐시(122)에 캐싱된 처리된 자원 중 일부, 또는 전부를 휘발성 메모리(130)에 선반입(prefetching)할 수 있다. 예를 들어, 웹 브라우저가 실행되는 경우, 제2 캐싱부(140)는 제2 캐시(122)에 캐싱된 처리된 자원을 휘발성 메모리(130)에 선반입할 수 있다.In step 1010, the second caching unit 140 fetches some or all of the processed resources cached in the second cache 122 into the volatile memory 130 when an application related to the processed resource is performed. (prefetching). For example, when the web browser is executed, the second caching unit 140 may execute the cached processed resource in the second cache 122 into the volatile memory 130. [

단계(1020)에서 검색부(114)는 사용자로부터 자원 요청을 수신할 수 있다. 이때, 검색부(114)는 수신한 자원 요청에 대응하는 처리된 자원을 휘발성 메모리(130)에서 검색할 수 있다. 또한, 단계(1010)에서 제2 캐싱부(140)가 제2 캐시(122)에 캐싱된 처리된 자원 중 일부를 선반입하고, 휘발성 메모리(130)에서 처리된 자원이 검색되지 않은 경우, 검색부(114)는 수신한 자원 요청에 대응하는 처리된 자원을 제2 캐시(122)에서 검색할 수도 있다.In step 1020, the search unit 114 may receive a resource request from a user. At this time, the search unit 114 can search the volatile memory 130 for the processed resource corresponding to the received resource request. In step 1010, if the second caching unit 140 replaces some of the processed resources cached in the second cache 122 and no resources are processed in the volatile memory 130, The unit 114 may search the second cache 122 for the processed resource corresponding to the received resource request.

단계(1030)에서 검색부(114)는 단계(1020)에서 처리된 자원이 검색되었는지 여부를 확인할 수 있다. 단계(1020)에서 자원 요청에 대응하는 처리된 자원이 검색되지 않은 경우, 검색부(114)는 단계(1040)을 수행할 수 있다. 또한, 단계(1020)에서 자원 요청에 대응하는 처리된 자원이 검색된 경우, 검색부(114)는 단계(1035)를 수행할 수 있다.In operation 1030, the search unit 114 may check whether the resource processed in operation 1020 has been retrieved. If the processed resource corresponding to the resource request is not retrieved in step 1020, the retrieving unit 114 may perform step 1040. [ Also, if the processed resource corresponding to the resource request is retrieved in step 1020, the retrieving unit 114 may perform step 1035. [

단계(1035)에서 검색부(114)는 제2 캐시(122)에 처리된 자원과 함께 캐싱된 유효성 정보를 기초로 단계(1020)에서 검색한 처리된 자원의 유효 여부를 판단할 수 있다. 단계(1020)에서 검색한 처리된 자원이 유효하지 않은 경우, 검색부(114)는 제2 캐시(122)에서 자원 요청에 대응하는 처리된 자원이 검색되지 않은 것으로 판단하여 단계(1040)을 수행할 수 있다. 또한, 단계(1020)에서 검색한 처리된 자원이 유효한 경우, 검색부(114)는 단계(980)을 수행할 수 있다.In step 1035, the retrieval unit 114 may determine whether the processed resource retrieved in step 1020 is valid based on the cached validity information with the processed resource in the second cache 122. If the processed resource retrieved in step 1020 is not valid, the retrieving unit 114 determines that the processed resource corresponding to the resource request is not retrieved from the second cache 122 and performs step 1040 can do. Also, if the processed resource retrieved in step 1020 is valid, the retrieval unit 114 may perform step 980.

단계(1040)에서 검색부(114)는 제1 캐시(121)에서 자원 요청에 대응하는 원본 자원을 검색할 수 있다. In operation 1040, the searching unit 114 may search the first cache 121 for an original resource corresponding to the resource request.

단계(1050)에서 검색부(114)는 단계(1040)에서 원본 자원이 검색되었는지 여부를 확인할 수 있다. 단계(1040)에서 원본 자원이 검색된 경우, 검색부(114)는 단계(1055)을 수행할 수 있다. 또한, 단계(1040)에서 원본 자원이 검색되지 않은 경우, 검색부(114)는 단계(1060)을 수행할 수 있다.In step 1050, the search unit 114 may check in step 1040 whether the original resource is searched. If the source resource is retrieved in step 1040, the retrieval unit 114 may perform step 1055. [ If the source resource is not found in step 1040, the search unit 114 may perform step 1060. [

단계(1055)에서 검색부(114)는 제1 캐시(121)에 처리된 자원과 함께 캐싱된 유효성 정보를 기초로 단계(1040)에서 검색한 원본 자원의 유효 여부를 판단할 수 있다. 단계(1040)에서 검색한 원본 자원이 유효하지 않은 경우, 검색부(114)는 제1 캐시(121)에서 자원 요청에 대응하는 원본 자원이 검색되지 않은 것으로 판단하여 단계(1060)을 수행할 수 있다. 또한, 단계(1040)에서 검색한 처리된 자원이 유효한 경우, 검색부(114)는 단계(970)을 수행할 수 있다.In step 1055, the retrieval unit 114 may determine whether the original resource retrieved in step 1040 is valid based on the cached validity information with the processed resource in the first cache 121. If the original resource retrieved in step 1040 is not valid, the retrieving unit 114 determines that the original resource corresponding to the resource request is not retrieved from the first cache 121 and can perform step 1060 have. Also, if the processed resource retrieved in step 1040 is valid, the retrieving unit 114 may perform step 970.

단계(1060)에서 검색부(114)는 네트워크에서 자원 요청에 대응하는 원본 자원을 검색할 수 있다. In step 1060, the retrieval unit 114 may retrieve the original resource corresponding to the resource request in the network.

단계(1070)에서 제1 캐싱부(111)는 단계(1060)에서 검색한 원본 자원을 제1 캐시(121)에 캐싱할 수 있다. In step 1070, the first caching unit 111 may cache the original resource retrieved in step 1060 in the first cache 121.

단계(1080)에서 자원 처리부(112)는 단계(1040), 또는 단계(1060)에서 검색부(114)가 검색한 원본 자원을 처리하여 자원 요청에 대응하는 처리된 자원을 생성할 수 있다.In step 1080, the resource processing unit 112 may process the original resource searched by the search unit 114 in step 1040 or step 1060 to generate a processed resource corresponding to the resource request.

단계(1085)에서 제2 캐싱부(113)는 단계(1080)에서 생성한 처리된 자원을 제2 캐시(122)에 캐싱할 수 있다.In step 1085, the second caching unit 113 may cache the processed resources generated in step 1080 in the second cache 122. [

단계(1090)에서 검색부(114)는 단계(1020)에서 검색한 처리된 자원, 또는 단계(1080)에서 생성한 처리된 자원을 자원 제공 장치(140)에 제공할 수 있다. 이때, 자원 제공 장치(140)는 제공받은 처리된 자원에 따라 화면에 웹 페이지를 표시할 수 있다. At step 1090, the retrieval unit 114 may provide the resource providing apparatus 140 with the processed resource retrieved at step 1020 or the processed resource generated at step 1080. At this time, the resource providing apparatus 140 may display a web page on the screen according to the provided processed resource.

본 발명은 네트워크로부터 수신한 원본 자원을 사용자에게 제공하기 위하여 처리한 처리된 자원을 캐싱하고, 사용자의 요청에 따라 처리된 자원을 제공함으로써 원본 자원을 처리하는 과정을 생략하여 사용자에게 자원을 제공하기 위하여 필요한 시간을 단축할 수 있다.The present invention provides a resource to a user by omitting the process of processing the original resource by caching the processed resource processed to provide the original resource received from the network to the user and providing the processed resource according to the request of the user The time required for the operation can be shortened.

또한, 본 발명은 처리된 자원을 비휘발성 메모리(120)에 캐싱함으로써, 웹 브라우저의 종료, 또는 일정 시간의 경과에 따라 소멸되는 처리된 자원을 지속적으로 사용할 수 있다.In addition, the present invention caches the processed resource in the nonvolatile memory 120, so that the processed resource that is consumed can be continuously used at the end of a web browser or a certain period of time.

이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.While the invention has been shown and described with reference to certain preferred embodiments thereof, it will be understood by those of ordinary skill in the art that various changes in form and details may be made therein without departing from the spirit and scope of the invention as defined by the appended claims. This is possible.

그러므로, 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.Therefore, the scope of the present invention should not be limited to the described embodiments, but should be determined by the equivalents of the claims, as well as the claims.

110: 캐싱 장치
111: 제1 캐싱부
112: 자원 처리부
113: 제2 캐싱부
120: 비휘발성 메모리
130: 휘발성 메모리
110: Caching device
111: first caching unit
112: Resource processor
113: second caching unit
120: Nonvolatile memory
130: volatile memory

Claims (10)

원본 자원을 처리하여 처리된 자원을 생성하는 단계; 및
처리된 자원을 비휘발성 메모리에 캐싱하는 단계
를 포함하는 캐싱 방법.
Processing the original resource to generate a processed resource; And
The step of caching the processed resource in non-volatile memory
Lt; / RTI &gt;
제1항에 있어서,
상기 생성하는 단계는,
원본 자원을 파싱, 또는 복호화하여 처리된 자원을 생성하는 캐싱 방법.
The method according to claim 1,
Wherein the generating comprises:
A method of caching that parses or decodes source resources to generate processed resources.
제1항에 있어서,
상기 비휘발성 메모리에 캐싱하는 단계는,
처리된 자원의 유효성 판단 기준이 되는 유효성 정보를 처리된 자원과 함께 비휘발성 메모리에 캐싱하는 웹 페이지 캐싱 방법.
The method according to claim 1,
Wherein caching the non-volatile memory comprises:
And caching the validity information serving as a criterion for judging the validity of the processed resource in the nonvolatile memory together with the processed resource.
제1항에 있어서,
상기 처리된 자원의 크기, 지역성(locality), 및 유효 시간 중 적어도 하나에 기초하여 비휘발성 메모리에 캐싱된 처리된 자원의 우선 순위를 설정하는 단계; 및
상기 우선 순위에 기초하여 비휘발성 메모리에 캐싱된 처리된 자원을 관리하는 단계
를 더 포함하는 캐싱 방법.
The method according to claim 1,
Setting a priority of the processed resource cached in the non-volatile memory based on at least one of the size, the locality, and the validity time of the processed resource; And
Managing the cached resources cached in the non-volatile memory based on the priority
&Lt; / RTI &gt;
제1항에 있어서,
원본 자원을 비휘발성 메모리의 제1 캐시에 캐싱하는 단계
를 더 포함하고,
상기 비휘발성 메모리에 캐싱하는 단계는,
비휘발성 메모리의 제1 캐시와 다른 제2 캐시에 처리된 자원을 캐싱하는 캐싱 방법.
The method according to claim 1,
Caching the original resource in a first cache of non-volatile memory
Further comprising:
Wherein caching the non-volatile memory comprises:
And caching the processed resource in a second cache different from the first cache in the non-volatile memory.
처리된 자원이 캐싱된 제2 캐시에서 사용자의 요청에 대응하는 처리된 자원을 검색하는 단계;
제2 캐시에서 사용자의 요청에 대응하는 처리된 자원이 검색되지 않은 경우, 원본 자원이 캐싱된 제1 캐시에서 사용자의 요청에 대응하는 원본 자원을 검색하는 단계;
제1 캐시에서 검색한 원본 자원을 처리하여 사용자의 요청에 대응하는 처리된 자원을 생성하는 단계; 및
제2 캐시에서 검색한 처리된 자원, 또는 제1 캐시에서 검색한 원본 자원을 처리하여 생성한 처리된 자원을 제공하는 단계
를 포함하는 캐싱 방법.
Retrieving a processed resource corresponding to a user's request in a second cache where the processed resource is cached;
If the processed resource corresponding to the user's request is not retrieved from the second cache, retrieving the original resource corresponding to the user's request from the first cache where the original resource is cached;
Processing the original resource retrieved from the first cache to generate a processed resource corresponding to the request of the user; And
Providing a processed resource generated by processing the processed resource retrieved from the second cache or the original resource retrieved from the first cache,
Lt; / RTI &gt;
제6항에 있어서,
제1 캐시에서 사용자의 요청에 대응하는 원본 자원이 검색되지 않은 경우, 네트워크에서 사용자의 요청에 대응하는 원본 자원을 검색하는 단계; 및
네트워크에서 검색한 원본 자원을 제1 캐시에 캐싱하는 단계
를 더 포함하는 캐싱 방법.
The method according to claim 6,
Retrieving a source resource corresponding to a user's request in the network if the source resource corresponding to the user's request is not retrieved from the first cache; And
Caching source resources retrieved from the network into a first cache
&Lt; / RTI &gt;
제6항에 있어서,
유효성 정보를 기초로 제2 캐시에서 검색한 처리된 자원의 유효 여부를 판단하는 단계; 및
검색한 처리된 자원이 유효하지 않은 경우, 제2 캐시에서 사용자의 요청에 대응하는 처리된 자원이 검색되지 않은 것으로 판단하는 단계
를 더 포함하는 캐싱 방법.
The method according to claim 6,
Determining whether the processed resource retrieved from the second cache is valid based on the validity information; And
If the retrieved processed resource is not valid, determining that the processed resource corresponding to the request of the user is not retrieved from the second cache
&Lt; / RTI &gt;
제10항에 있어서,
상기 유효성 정보는,
처리된 자원의 캐싱 허용 여부, 처리된 자원의 캐싱이 허용되는 시간, 및 처리된 자원이 캐싱되지 위한 조건 중 적어도 하나를 포함하는 캐싱 방법.
11. The method of claim 10,
The validity information includes:
Wherein at least one of the following conditions is satisfied: whether or not to permit caching of the processed resource; a time at which caching of the processed resource is allowed; and a condition for the processed resource not to be cached.
원본 자원을 처리하여 처리된 자원을 생성하는 자원 처리부; 및
처리된 자원을 비휘발성 메모리에 캐싱하는 캐싱부
를 포함하는 캐싱 장치.
A resource processing unit for processing the original resource and generating a processed resource; And
A cache unit for caching the processed resource in a nonvolatile memory
Lt; / RTI &gt;
KR1020140045007A 2014-04-15 2014-04-15 Apparatus and method for caching processed resources using non-volatile memory KR101589369B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020140045007A KR101589369B1 (en) 2014-04-15 2014-04-15 Apparatus and method for caching processed resources using non-volatile memory

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140045007A KR101589369B1 (en) 2014-04-15 2014-04-15 Apparatus and method for caching processed resources using non-volatile memory

Publications (2)

Publication Number Publication Date
KR20150118843A true KR20150118843A (en) 2015-10-23
KR101589369B1 KR101589369B1 (en) 2016-01-28

Family

ID=54427289

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140045007A KR101589369B1 (en) 2014-04-15 2014-04-15 Apparatus and method for caching processed resources using non-volatile memory

Country Status (1)

Country Link
KR (1) KR101589369B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019240404A1 (en) * 2018-06-15 2019-12-19 삼성전자 주식회사 Resource caching method and electronic device supporting same

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100065071A (en) * 2008-12-05 2010-06-15 한국전자통신연구원 Svg image output apparatus using caching techniques and method thereof
KR20140012747A (en) * 2011-04-28 2014-02-03 퀄컴 인코포레이티드 Memoizing web- browsing computation with dom-based isomorphism

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100065071A (en) * 2008-12-05 2010-06-15 한국전자통신연구원 Svg image output apparatus using caching techniques and method thereof
KR20140012747A (en) * 2011-04-28 2014-02-03 퀄컴 인코포레이티드 Memoizing web- browsing computation with dom-based isomorphism

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019240404A1 (en) * 2018-06-15 2019-12-19 삼성전자 주식회사 Resource caching method and electronic device supporting same
US11809313B2 (en) 2018-06-15 2023-11-07 Samsung Electronics Co., Ltd. Resource caching method and electronic device supporting the same

Also Published As

Publication number Publication date
KR101589369B1 (en) 2016-01-28

Similar Documents

Publication Publication Date Title
US10210145B2 (en) Partial website optimization for a web publisher
US9178934B1 (en) Modifying web content at a client
US9509764B1 (en) Updating cached web content
KR102151457B1 (en) Method and apparatus for reducing page load time in a communication system
CN108804707B (en) Page processing method and device and related equipment
US10009439B1 (en) Cache preloading
US10291738B1 (en) Speculative prefetch of resources across page loads
JP6091579B2 (en) Method and apparatus for handling nested fragment caching of web pages
US9916285B2 (en) Generating a preview of a web page for a mobile terminal
KR100881668B1 (en) Apparatus and method for prefetching web page
US7873706B2 (en) System and method for seamlessly providing video content to client systems over a network
US9401949B1 (en) Client web content cache purge
CN105760405A (en) Methods and devices for obtaining network resource for loading web page and method and device for caching network resource
US9531829B1 (en) Smart hierarchical cache using HTML5 storage APIs
JP2011108102A (en) Web server, web browser and web system
US20170199850A1 (en) Method and system to decrease page load time by leveraging network latency
US9648119B2 (en) Methods and devices for exchanging data
US11330075B2 (en) One-time cache
ES2717462T3 (en) Collaborative edition
CN103152367A (en) Cache dynamic maintenance updating method and system
KR20120016333A (en) Pre-caching method for web application and device using the same
JP5251701B2 (en) Server device, server-based computing system, and server control program
KR101589369B1 (en) Apparatus and method for caching processed resources using non-volatile memory
KR101525519B1 (en) Method for web browsing on offline based HTML5
KR101574893B1 (en) Apparatus and method for caching web page layout using non-volatile memory

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20190114

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20200115

Year of fee payment: 5