KR100383407B1 - Method for the adaptive cache replacement - Google Patents

Method for the adaptive cache replacement Download PDF

Info

Publication number
KR100383407B1
KR100383407B1 KR10-2001-0017181A KR20010017181A KR100383407B1 KR 100383407 B1 KR100383407 B1 KR 100383407B1 KR 20010017181 A KR20010017181 A KR 20010017181A KR 100383407 B1 KR100383407 B1 KR 100383407B1
Authority
KR
South Korea
Prior art keywords
proxy cache
value
cache
stored
objects
Prior art date
Application number
KR10-2001-0017181A
Other languages
Korean (ko)
Other versions
KR20010067820A (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 KR10-2001-0017181A priority Critical patent/KR100383407B1/en
Publication of KR20010067820A publication Critical patent/KR20010067820A/en
Application granted granted Critical
Publication of KR100383407B1 publication Critical patent/KR100383407B1/en

Links

Classifications

    • 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/12Replacement control
    • G06F12/121Replacement control using replacement algorithms
    • G06F12/122Replacement control using replacement algorithms of the least frequently used [LFU] type, e.g. with individual count value

Abstract

본 발명은 시간 지역성(temporal locality)과 Zipf 빈도 분포(frequency distribution)의 웹 워크로드(workload)의 특성을 반영하여 미래 참조 가능성을 보다 정확히 예측함으로써 BHR을 높여 사용자 지연 시간을 줄이는 프락시 캐쉬 교체 방법에 관한 것으로,The present invention relates to a proxy cache replacement method that reduces user latency by increasing BHR by more accurately predicting future referability by reflecting the characteristics of web workload of temporal locality and Zipf frequency distribution. About

본 발명의 특징은, F값이 가장 작은 오브젝트를 빅팀 오브젝트로 선정할 것인가 판단하는 단계; 상기 단계에서 상기 F값이 가장 작은 오브젝트가 상기 빅팀 오브젝트로 선정되면 상기 빅팀 오브젝트를 삭제하는 단계; 프락시 캐쉬 내의 모든 오브젝트의 상기 F값을 소정 함수 만큼 감소시키는 단계; 및 상기 F값이 가장 작은 오브젝트가 상기 빅팀 오브젝트로 선정되지 않거나, 상기 모든 오브젝트의 상기 F값이 상기 소정 함수 만큼 감소되면 상기 프락시 캐쉬가 충분한 공간을 확보하는 단계를 포함하는데 있다.A feature of the present invention includes the steps of determining whether to select an object having the smallest F value as a big team object; Deleting the big team object when the object having the smallest F value is selected as the big team object in the step; Decreasing the F value of all objects in the proxy cache by a predetermined function; And if the object having the smallest F value is not selected as the Victim object or if the F value of all the objects is reduced by the predetermined function, the proxy cache secures sufficient space.

이와 같이, 본 발명은 오브젝트의 라이프 타임과 프락시 캐쉬의 액티브 세트 변화율 사이의 관계를 이용하여 LFU의 단점인 캐쉬 오염 문제를 극복하고, LFU에서 고려하지 않은 웹 워크로드 특성인 시간 지역성을 액티브 세트의 변화율(active-set drift)에 따라 반영할 수 있는 이점이 있다.As described above, the present invention overcomes the cache pollution problem, which is a disadvantage of the LFU, by using the relationship between the lifetime of the object and the rate of change of the active set of the proxy cache. There is an advantage that can be reflected according to the active-set drift.

Description

적응형 캐쉬 교체 방법{Method for the adaptive cache replacement}Adaptive cache replacement

본 발명은 적응형 캐쉬 교체 방법에 관한 것으로, 보다 상세하게는 시간 지역성(temporal locality)과 Zipf 빈도 분포(frequency distribution)의 웹 워크로드(workload)의 특성을 반영하여 미래 참조 가능성을 보다 정확히 예측함으로써 BHR을 높여 사용자 지연 시간을 줄이는 적응형 캐쉬 교체 방법에 관한 것이다.The present invention relates to an adaptive cache replacement method, and more particularly, by predicting future reference possibility more accurately by reflecting the characteristics of web workload of temporal locality and Zipf frequency distribution. The present invention relates to an adaptive cache replacement method that increases BHR to reduce user delay time.

일반적으로 서버(100), DB(110), 무선통신망(120), 서브 네트워크(130), 프락시 캐쉬(140) 및 클라이언트컴퓨터(150) 구조를 보인 도 1에 도시된 바와 같은 프락시 캐쉬(140)는 네트워크 트래픽을 줄이고 사용자 지연 시간(User Delay Latency)을 단축하기 위하여 사용자가 자주 요구하는 웹 오브젝트를 한정된 저장 공간에 보관해두었다가 미래에 사용자가 보관되어 있는 웹 오브젝트를 요구하였을 때 빠르게 제공한다. 프락시 캐쉬(140)는 클라이언트컴퓨터(150)를 이용하는 다수의 사용자가 요청한 웹 오브젝트를 한정된 저장 공간에 저장해야 하기 때문에 요청된 모든 오브젝트를 저장할 수 없는 문제점이 있다.In general, the proxy cache 140 as shown in FIG. 1 showing the server 100, the DB 110, the wireless communication network 120, the sub-network 130, the proxy cache 140, and the client computer 150 structure. In order to reduce network traffic and reduce user delay latency, web objects frequently requested by users are stored in a limited storage space, and are quickly provided when a user requests archived web objects in the future. The proxy cache 140 may not store all the requested objects because the web caches requested by a plurality of users using the client computer 150 need to be stored in a limited storage space.

따라서, 본 발명은 이와 같은 문제점을 해결하기 위한 것으로서, 본 발명은 프락시 캐쉬에 보관되어 있지 않은 새로운 오브젝트에 대한 사용자의 참조 요청이 있을 때 보관되어 있는 오브젝트 중에 미래 참조 가능성이 적은 오브젝트를 온라인의 동적으로 선정하여 새로운 오브젝트가 저장될 수 있을 만큼의 공간을 확보할 때까지 프락시 캐쉬에서 삭제하기 위한 적응형 캐쉬 교체 방법을 제공하는데 그 목적이 있다.Accordingly, the present invention has been made to solve such a problem, and the present invention provides a method for dynamically retrieving an object having a low possibility of future reference among the stored objects when a user's request for a new object is not stored in the proxy cache. The purpose is to provide an adaptive cache replacement method for deleting from the proxy cache until the new object has enough space to store it.

본 발명의 다른 목적은 사용자로부터 새로운 오브젝트에 대한 참조 요청이 있을 때 마다 프락시 캐쉬에 보관할 오브젝트와 삭제할 오브젝트를 동적으로 결정하는 적응형 캐쉬 교체 방법을 제공하는데 있다.Another object of the present invention is to provide an adaptive cache replacement method for dynamically determining an object to be kept in a proxy cache and an object to be deleted whenever there is a request for a reference to a new object from a user.

도 1은 일반적인 서버, 프락시 캐쉬 및 클라이언트 구조를 보인 구성도,1 is a block diagram showing a general server, proxy cache and client structure,

도 2는 본 발명에 따른 적응형 캐쉬 교체 방법의 오브젝트 라이프 사이클 관계를 보인 도면,2 is a view illustrating an object life cycle relationship of an adaptive cache replacement method according to the present invention;

도 3은 본 발명에 따른 적응형 캐쉬 교체 방법의 흐름도.3 is a flow chart of an adaptive cache replacement method in accordance with the present invention.

<도면의 주요 부분에 대한 부호의 설명><Explanation of symbols for the main parts of the drawings>

100 : 서버 110 : 데이터베이스100: server 110: database

120 : 무선통신망 130 : 서브 네트워크120: wireless communication network 130: sub network

140 : 프락시 캐쉬 150 : 클라이언트컴퓨터140: proxy cache 150: client computer

이와 같은 목적을 달성하기 위한 본 발명의 특징은, F값이 가장 작은 오브젝트를 빅팀 오브젝트로 선정할 것인가 판단하는 단계; 상기 단계에서 상기 F값이 가장 작은 오브젝트가 상기 빅팀 오브젝트로 선정되면 상기 빅팀 오브젝트를 삭제하는 단계; 프락시 캐쉬 내의 모든 오브젝트의 상기 F값을 소정 함수 만큼 감소시키는 단계; 및 상기 F값이 가장 작은 오브젝트가 상기 빅팀 오브젝트로 선정되지 않거나, 상기 모든 오브젝트의 상기 F값이 상기 소정 함수 만큼 감소되면 상기 프락시 캐쉬가 충분한 공간을 확보하는 단계를 포함하는데 있다.A feature of the present invention for achieving the above object is the step of determining whether to select the object having the smallest F value as the Big Team object; Deleting the big team object when the object having the smallest F value is selected as the big team object in the step; Decreasing the F value of all objects in the proxy cache by a predetermined function; And if the object having the smallest F value is not selected as the Victim object or if the F value of all the objects is reduced by the predetermined function, the proxy cache secures sufficient space.

바람직하게, 상기 F값은 오브젝트의 참조 회수, 액티브 세트 변화율과 관련된 값임을 특징으로 한다.Preferably, the F value is a value related to the reference number of objects and the active set change rate.

바람직하게, 상기 라이프 타임은 오브젝트가 뉴 오브젝트로 프락시 캐쉬에 보관될 때부터 상기 빅팀 오브젝트가 되어 상기 프락시 캐쉬에서 삭제될 때까지를 나타내며, 상기 라이프 타임 내에서 라이프 사이클이 일어나는 타임임을 특징으로 한다.Preferably, the life time represents a time from when an object is stored in the proxy cache as a new object to when the object becomes the Big Team object and is deleted from the proxy cache, and is characterized in that a life cycle occurs within the life time.

바람직하게, 상기 빅팀 오브젝트는 뉴 오브젝트를 상기 프락시 캐쉬에 저장하기 위해서 상기 프락시 캐쉬에 저장되어 있는 오브젝트 중 일부를 상기 프락시 캐쉬에서 삭제해야 하는 대상이 되는 오브젝트임을 특징으로 한다.Preferably, the Victim object is an object to which a part of the objects stored in the proxy cache must be deleted from the proxy cache in order to store the new object in the proxy cache.

바람직하게, 상기 뉴 오브젝트는 사용자로부터 참조 요청이 들어온 오브젝트 중에 상기 프락시 캐쉬에 보관되어 있지 않은 오브젝트이며, 상기 프락시 캐쉬 내에 저장할 수 있는 경우, 상기 사용자에게 제공하면서 상기 프락시 캐쉬에도 저장하며, 상기 프락시 캐쉬에 저장할 수 없는 경우, 상기 프락시 캐쉬에 저장되어 있는 다른 오브젝트를 상기 프락시 캐쉬에서 삭제하여 필요한 공간을 확보하는 오브젝트임을 특징으로 한다.Preferably, the new object is an object for which a reference request is received from a user, which is not stored in the proxy cache. If the new object is stored in the proxy cache, the new object is also stored in the proxy cache while providing the user to the proxy cache. If it can not be stored in the, it is characterized in that the object to secure the necessary space by deleting other objects stored in the proxy cache from the proxy cache.

바람직하게, 상기 프락시 캐쉬 내의 모든 오브젝트는 라이브 오브젝트와 데드 오브젝트임을 특징으로 한다.Preferably, all objects in the proxy cache are a live object and a dead object.

바람직하게, 상기 라이브 오브젝트는 상기 프락시 캐쉬에 저장되어 있는 오브젝트 중에 미래에 다시 참조될 오브젝트로, 미래에 다시 참조될 오브젝트이기 때문에 상기 프락시 캐쉬에 보관할 가치가 있는 오브젝트임을 특징으로 한다.Preferably, the live object is an object to be referred to in the future among the objects stored in the proxy cache, and is an object worth storing in the proxy cache because it is an object to be referred to in the future.

바람직하게, 상기 데드 오브젝트는 상기 프락시 캐쉬에 저장되어 있는 오브젝트 중에 더 이상 참조되지 않을 오브젝트로, 상기 프락시 캐쉬에서 삭제하는 것이 바람직한 오브젝트임을 특징으로 한다.Preferably, the dead object is an object that will no longer be referenced among objects stored in the proxy cache, and the dead object may be an object to be deleted from the proxy cache.

바람직하게, 상기 소정 함수는 라이프 타임에 반비례하는 함수임을 특징으로 한다.Preferably, the predetermined function is a function that is inversely proportional to life time.

이하, 본 발명의 바람직한 실시예에 대하여 첨부 도면을 참조하여 상세히 설명한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.

도 2는 본 발명에 따른 적응형 캐쉬 교체 방법의 오브젝트 라이프 사이클 관계를 보인 도면이며, 도 3은 본 발명에 따른 적응형 캐쉬 교체 방법의 흐름도이다.2 is a view showing the object life cycle relationship of the adaptive cache replacement method according to the present invention, Figure 3 is a flow chart of the adaptive cache replacement method according to the present invention.

도 2 및 도 3에 있어서, 도 1에 도시된 프락시 캐쉬(140)를 이용하여 본 발명의 프락시 캐쉬 교체 방법의 오브젝트 라이프 사이클 관계를 설명하면 다음과 같다.2 and 3, the object life cycle relationship of the proxy cache replacement method of the present invention using the proxy cache 140 illustrated in FIG. 1 will be described below.

도 2의 뉴 오브젝트(new object)(no)는 사용자로부터 참조 요청이 들어온 오브젝트 중에 프락시 캐쉬(140)에 보관되어 있지 않은 오브젝트인데 프락시 캐쉬(140) 내에 저장할 수 있는 경우, 사용자에게 제공하면서 프락시 캐쉬(140)에도 저장한다. 이때, 프락시 캐쉬(140)에 저장할 수 없는 경우 프락시 캐쉬(140)에 저장되어 있는 다른 오브젝트를 프락시 캐쉬(140)에서 삭제하여 필요한 공간을 확보한다.The new object (no) of FIG. 2 is an object that is not stored in the proxy cache 140 among objects for which a reference request is received from the user and can be stored in the proxy cache 140. Also stored in 140. In this case, if the proxy cache 140 cannot be stored, another object stored in the proxy cache 140 is deleted from the proxy cache 140 to secure necessary space.

프락시 캐쉬(140) 내의 라이브 오브젝트(live object)(lo)는 프락시 캐쉬(140)에 저장되어 있는 오브젝트 중에 미래에 다시 참조될 오브젝트로, 미래에 다시 참조될 오브젝트이기 때문에 프락시 캐쉬(140)에 보관할 가치가 있다. 또한, 프락시 캐쉬(140) 내의 데드 오브젝트(dead object)(do)는 프락시 캐쉬(140)에 저장되어 있는 오브젝트 중에 더 이상 참조되지 않을 오브젝트로, 이러한 오브젝트의 경우 프락시 캐쉬(140)에서 삭제하는 것이 바람직하다.The live object lo in the proxy cache 140 is an object to be referred to in the future among the objects stored in the proxy cache 140 and is stored in the proxy cache 140 because it is an object to be referred to in the future again. It is worth it. In addition, the dead object (do) in the proxy cache 140 is an object that will no longer be referenced among the objects stored in the proxy cache 140, and in the case of such an object, the dead object (do) is deleted from the proxy cache 140. desirable.

빅팀 오브젝트(victim object)(vo)는 뉴 오브젝트를 프락시 캐쉬(140)에 저장하기 위해서 프락시 캐쉬(140)에 저장되어 있는 오브젝트 중 일부를 프락시 캐쉬(140)에서 삭제해야 하는 대상이 되는 오브젝트이다.The Victim object vo is an object to which some of the objects stored in the proxy cache 140 must be deleted from the proxy cache 140 in order to store the new object in the proxy cache 140.

한편, 단위 시간의 기본적인 시간 단위를 사용자의 참조 요청으로 하는데, 실제 시간을 기준으로 할 경우 단위 결정의 문제가 발생한다. 이와 같은 단위 결정은 초, 분, 시간 등의 시간 단위 중에 어떤 것을 선택하는냐에 따라 프락시 캐쉬(140)의 교체 정책의 성능은 크게 달라진다. 또한, 프락시 캐쉬(140)마다 초당 처리하는 참조 요청의 수가 다르기 때문에 실제 시간을 기준으로 삼은 프락시 캐쉬(140)의 교체 정책의 경우 예상치 못한 성능 차이가 발생할 수 있다. 사용자의 참조 요청이 없는 경우, 프락시 캐쉬(140)의 상태는 변화하지 않고, 사용자의 참조 요청이 있는 경우 비로소 프락시 캐쉬(140)의 상태가 변할 수 있기 때문에 단위 시간을 사용자의 참조 요청으로 한다.On the other hand, the basic time unit of the unit time is a user's reference request, when the actual time based on the problem of unit determination occurs. The performance of the replacement policy of the proxy cache 140 varies greatly depending on which of the time units such as seconds, minutes, and hours is selected. In addition, since the number of reference requests processed per second for each proxy cache 140 is different, an unexpected performance difference may occur in the case of the replacement policy of the proxy cache 140 based on actual time. If there is no user's reference request, the state of the proxy cache 140 does not change, and if there is a user's reference request, the state of the proxy cache 140 may change, so the unit time is referred to as the user's reference request.

사용자가 참조 요청한 오브젝트가 프락시 캐쉬(140)에 없을 경우 프락시 캐쉬(140)는 다른 프락시 캐쉬나 서버(100)에게 오브젝트를 요청하게 된다. 프락시 캐쉬(140)가 요청한 오브젝트는 뉴 오브젝트(no)가 되어 프락시 캐쉬(140)에 보관된다. 이때, 뉴 오브젝트(no)는 라이브 오브젝트(lo)나 데드 오브젝트(do)가 된다. 60%~70%의 오브젝트가 한 번만 참조되고 더 이상 참조되지 않는 웹 워크로드 특성에 의해 1/3 정도의 뉴 오브젝트(no)는 라이브 오브젝트(lo)가 되고, 나머지 2/3 가량의 뉴 오브젝트(no)는 데드 오브젝트(do)가 된다.When the object requested by the user is not in the proxy cache 140, the proxy cache 140 requests the object from another proxy cache or the server 100. The object requested by the proxy cache 140 becomes a new object no and is stored in the proxy cache 140. In this case, the new object no becomes a live object lo or a dead object do. 60% to 70% of objects are referenced only once and are no longer referenced by web workload characteristics, so about 1/3 of new objects (no) become live objects (lo), and about 2/3 of new objects (no) becomes a dead object (do).

한편, 라이브 오브젝트(lo)의 경우 결국 미래의 어느 시간에 더 이상 참조 요청이 되지 않게 되어 데드 오브젝트(do)가 된다. 실제로는 라이브 오브젝트(lo) 임에도 불구하고 오랫동안 참조되지 않아 뉴 오브젝트(no)에 의해 프락시 캐쉬(140)에서 삭제되었다가 다시 참조 요청되었을 때 뉴 오브젝트(no)로 프락시 캐쉬(140)에 새롭게 보관되는 경우도 있기 때문에 실제로 뉴 오브젝트(no) 중에 라이브 오브젝트(lo)가 되는 경우는 1/3을 넘는다고 볼 수 있다. 라이프 타임(life time)은 오브젝트가 뉴 오브젝트(no)로 프락시 캐쉬(140)에 보관될 때부터 빅팀 오브젝트(vo)가 되어 프락시 캐쉬(140)에서 삭제될 때까지를 나타내며, 라이프 타임 내에서 라이프 사이클(life cycle)이 일어난다. 액티브 세트(active set)는 라이브 오브젝트(lo)의 집합으로 각 오브젝트의 라이프 사이클로 인해 라이브 오브젝트(lo)의 집합인 액티브 세트 역시 계속 변하게 되며, 하나의 프락시 캐쉬의 액티브 세트는 하나이다.On the other hand, in the case of a live object lo, a reference request is no longer made at any time in the future, and becomes a dead object do. In fact, even though it is a live object (lo), it is not referenced for a long time, so it is deleted from the proxy cache 140 by the new object (no), and newly stored in the proxy cache 140 as the new object (no) when the reference is requested again. In some cases, it may be said that more than one third of the new objects no become live objects. The life time represents the time from when an object is stored in the proxy cache 140 as a new object no to when it becomes a Big Team object vo and is deleted from the proxy cache 140. A life cycle occurs. An active set is a set of live objects lo. The active set, which is a set of live objects lo, is continuously changed due to the life cycle of each object, and one active set of one proxy cache is one.

이와 같이, 오브젝트는 반드시 뉴, 라이브, 데드, 빅팀의 네 가지 중 하나의 상태에 있는데, 프락시 캐쉬(140)가 온라인의 동적 결정을 내리는 시점에는 각 오브젝트의 상태를 알 수 없다. 라이프 사이클의 라이브, 데드 상태는 개념을 설명하기 위한 것이지 실제로는 각 오브젝트의 상태를 알 수 없으며, 라이브 오브젝트(lo)를 알 수 없기 때문에 라이브 오브젝트(lo)의 집합인 액티브 세트도 알 수 없다. 이때, 라이브 오브젝트(lo)나 액티브 세트를 프락시 캐쉬(140)의 교체 정책에서 알 수 없는 이유는 프락시 캐쉬(140)가 미래 참조를 알지 못하기 때문이다.As such, the object must be in one of four states: New, Live, Dead, or Big Team, but the state of each object is unknown when the proxy cache 140 makes an online dynamic decision. The live and dead states of the life cycle are intended to illustrate concepts, and in reality, the state of each object is not known, and since the live object lo is not known, the active set, which is a set of live objects, is also unknown. At this time, the reason for not knowing the live object lo or the active set in the replacement policy of the proxy cache 140 is that the proxy cache 140 does not know the future reference.

한편, 액티브 세트는 라이브 오브젝트(lo)의 집합이기 때문에 오브젝트의 라이프 사이클과 밀접한 관련이 있다. 각 오브젝트의 상태가 변할 때마다 액티브 세트 역시 바뀌게 된다. 프락시 캐쉬(140)에 뉴 오브젝트(no)가 많아지면 뉴 오브젝트(no)를 보관하기 위한 공간을 확보해야 하기 때문에 빅팀 오브젝트(vo)도 많아진다. 뉴 오브젝트(no)는 웹 워크로드 특성에 의하면 1/3 이상이 라이브 오브젝트(lo)가 되며, 빅팀 오브젝트(vo)는 빅팀이 되기 전 상태가 라이브일 수도 있고 데드일 수도 있다. 이와 같이, 빅팀으로 선정된 오브젝트가 대부분 데드 오브젝트(do)일수록 좋은 성능의 프락시 캐쉬 교체 정책이라 할 수 있다.On the other hand, since an active set is a collection of live objects lo, it is closely related to the life cycle of the object. As the state of each object changes, so does the active set. When the number of new objects no in the proxy cache 140 increases, the big team object vo also increases because a space for storing the new objects no must be secured. According to the web workload characteristics, the new object no becomes 1/3 of the live object lo, and the big team object vo may be live or dead before becoming the big team. As described above, the most dead objects (do) selected as the big team are the proxy cache replacement policies with better performance.

라이브 오브젝트(lo)가 빅팀으로 선정되었더라도 오랫동안 참조되지 않을 오브젝트일 경우 좋은 성능을 기대할 수 있는 바, 빅팀 오브젝트(vo)로 선정하는 시점에는 미래 참조를 모르기 때문에 오브젝트의 상태의 정확한 상태를 알 수 없다. 프락시 캐쉬 알고리즘은 웹 워크로드의 특성을 파악하여 데드 오브젝트(do)일 가능성이 높은 오브젝트를 빅팀으로 선정하게 된다. LFU의 경우 웹 워크로드의 특성인 오브젝트 Zipf 빈도 분포에 근거하여 참조 회수가 낮은 오브젝트가 데드 오브젝트(do)일 가능성이 높다고 보고 참조 회수가 낮은 오브젝트를 빅팀으로 선정한다.Even if a live object (lo) is selected as a big team, a good performance can be expected if it is an object that will not be referenced for a long time.The exact state of the object's state cannot be known because the future reference is not known at the time of selecting the big team object (vo). . The proxy cache algorithm identifies the characteristics of the web workload and selects the big team that is likely to be a dead object (do). In the case of LFU, the object that has a low reference count is likely to be a dead object (do) based on the distribution of object Zipf frequency, which is a characteristic of a web workload.

한편, 액티브 세트의 변화율과 오브젝트의 라이프 타임은 반비례 관계가 있다. 오브젝트의 라이프 타임은 뉴 오브젝트(no)로 프락시 캐쉬(140)에 보관되는 시점부터 빅팀 오브젝트(vo)로 선정되어 프락시 캐쉬(140)에서 삭제되는 시점까지 이다. 즉, 오브젝트의 라이프 타임은 오브젝트가 프락시 캐쉬(140)에 저장되어 있는 시간이라 할 수 있다. 액티브 세트 변화율이 커질수록 프락시 캐쉬(140) 내의 각 오브젝트의 라이프 타임이 짧아지게 되는데, 액티브 세트의 변화율은 사용자가 프락시 캐쉬(140)에 저장되어 있지 않은 오브젝트를 요구하는 비율이 높을수록 커지기 때문에 프락시 캐쉬(140)에 새롭게 저장되는 뉴 오브젝트(no)가 많아지는 것을 의미한다.On the other hand, there is an inverse relationship between the rate of change of the active set and the life time of the object. The life time of the object is from a time point stored in the proxy cache 140 as a new object no to a time point selected as a big team object vo and deleted from the proxy cache 140. That is, the life time of the object may be referred to as the time that the object is stored in the proxy cache 140. The larger the active set change rate, the shorter the lifetime of each object in the proxy cache 140. The higher the rate at which the user requests an object that is not stored in the proxy cache 140, the larger the proxy. This means that the new object no which is newly stored in the cache 140 increases.

뉴 오브젝트(no)를 위한 공간 확보를 위해 프락시 캐쉬(140)의 교체가 빈번해짐으로써 빅팀 오브젝트(vo) 또한 많아지게 되어 결과적으로 전체적인 오브젝트의 라이프 타임이 짧아진다. 액티브 세트의 변화율이 낮은 경우에는 사용자가 요구하는 오브젝트가 대부분 프락시 캐쉬(140)에 저장되어 있는 오브젝트이기 때문에 뉴 오브젝트(no)가 상대적으로 적다. 이와 같이, 뉴 오프젝트(no)가 적은 경우 프락시 캐쉬(140)의 교체가 상대적으로 적은 빈도로 발생하기 때문에 오브젝트의 라이프 타임은 길어지게 된다.As the proxy cache 140 is frequently replaced to secure a space for the new object no, the big team object vo is also increased, and as a result, the lifetime of the entire object is shortened. When the change rate of the active set is low, since the objects requested by the user are mostly objects stored in the proxy cache 140, there are relatively few new objects (no). As such, when the new object no is small, the replacement of the proxy cache 140 occurs at a relatively low frequency, resulting in a long lifetime of the object.

액티브 세트의 변화율은 웹 워크로드의 특성과 연관시켜 생각할 수 있는 바, 액티브 세트의 변화율이 큰 경우 시간 지역성을 Zipf 빈도 분포보다 우선적으로 고려해야 하며, 참조 회수가 높은 오브젝트라도 액티브 세트의 변화율이 큰 경우 상대적으로 미래 참조 가능성이 낮다고 볼 수 있다. 액티브 세트의 변화율이 큰 상황에서는 시간 지역성을 우선적으로 고려하는 LRU와 같은 교체 정책이 우수한 성능을 보인다. 이와는 다르게 액티브 세트의 변화율이 낮은 경우 Zipf 빈도 분포를 우선적으로 고려하는 것이 바람직한데, 사용자가 요구하는 오브젝트가 대부분 프락시 캐쉬(140) 내에 저장되어 있는 오브젝트이기 때문에 참조 회수가 높은 오브젝트가 미래 참조 가능성이 상대적으로 높기 때문으로 LFU와 같이 Zipf 빈도 분포를 우선적으로 고려하는 교체 정책이 우수한 성능을 보인다.The change rate of the active set can be considered in relation to the characteristics of the web workload. If the change rate of the active set is large, the temporal locality should be considered in preference to the Zipf frequency distribution. Relatively low future references. In situations where the active set has a high rate of change, replacement policies such as LRUs that prioritize time locality perform better. In contrast, if the change rate of the active set is low, it is preferable to first consider the zipf frequency distribution. Since the objects required by the user are mostly stored in the proxy cache 140, objects with high reference counts are unlikely to be referred to in the future. Due to its relatively high performance, replacement policies that prioritize Zipf frequency distribution, such as LFU, perform better.

본 발명의 프락시 캐쉬 교체 방법은 오브젝트의 참조 회수(frequency), 라이프 타임과 관련된 F값을 이용하여 제거할 오브젝트를 결정하는데, F값은 오브젝트의 참조 회수에 근거한다. 프락시 캐쉬(140)에서 교체가 일어날 때, 프락시 캐쉬(140)에 보관되어 있는 모든 오브젝트의 F값에서 교체되는 오브젝트의 1/(라이프 타임)에 비례하는 값을 빼준다. 따라서, F값이 가장 작은 오브젝트를 빅팀 오브젝트(vo)로 선정하였는가 판단하여(단계 S100), S100 단계에서 F값이 가장 작은 오브젝트가 빅팀 오브젝트(vo)로 선정되었으면, F값이 가장 작은 빅팀 오브젝트(S110)가 우선적으로 프락시 캐쉬(140)에서 삭제된다(단계 S110).The proxy cache replacement method of the present invention determines an object to be removed using an F value related to an object's reference frequency and life time, and the F value is based on the object's reference number. When replacement occurs in the proxy cache 140, a value proportional to 1 / (life time) of the object to be replaced is subtracted from the F value of all objects stored in the proxy cache 140. Therefore, it is determined whether the object having the smallest F value is selected as the big team object vo (step S100). If the object having the smallest F value is selected as the big team object vo at step S100, the big team object having the smallest F value is selected. (S110) is first deleted from the proxy cache 140 (step S110).

사용자가 요청한 오브젝트가 프락시 캐쉬(140)에 존재하지 않을 경우, 프락시 캐쉬(140)는 다른 프락시 캐쉬나 서버(100)로부터 사용자가 요청한 오브젝트를가져온다. 이때, 프락시 캐쉬(140)에 새로 가져온 오브젝트를 저장할 공간이 없을 경우, 필요한 공간을 확보할 때까지 프락시 캐쉬(140)에서 F값이 낮은 오브젝트를 삭제하는데, 새롭게 프락시 캐쉬(140)에 저장되는 오브젝트의 F값은 1이다. 이는 F값이 참조 회수에 근거를 둔 값이고, LFU와 동일하게 처음 프락시 캐쉬(140)에 들어온 오브젝트는 참조 회수가 1이기 때문이다. 사용자가 요청한 오브젝트가 프락시 캐쉬(140)에 존재하는 경우엔 참조된 오브젝트의 F값에 1을 더해준다. F값에 1을 더해주는 이유는 F값의 기반이 참조 회수이기 때문에 참조 회수가 높아지는 것을 반영하기 위함이다.If the object requested by the user does not exist in the proxy cache 140, the proxy cache 140 obtains an object requested by the user from another proxy cache or the server 100. In this case, when there is no space to store the newly imported object in the proxy cache 140, the object having a low F value is deleted from the proxy cache 140 until the required space is secured, and the object is newly stored in the proxy cache 140. F value is 1. This is because the F value is based on the reference count, and the object that first enters the proxy cache 140, like the LFU, has a reference count of 1. If the object requested by the user exists in the proxy cache 140, 1 is added to the F value of the referenced object. The reason for adding 1 to the F value is to reflect the increase in the reference count since the basis of the F value is the reference count.

S110 단계에서 새롭게 프락시 캐쉬(140)에 저장될 오브젝트를 위한 저장 공간 확보를 위해 프락시 캐쉬(140)에서 빅팀 오브젝트(vo)가 삭제될 때, 프락시 캐쉬(140)에 저장되어 있는 모든 오브젝트의 F값에서 삭제되는 오브젝트의 1/(라이프 타임)과 비례하는 값을 빼서 감소시킨다(단계 S120). 시간이 t인 시점에서 프락시 캐쉬(140)에서 삭제되는 오브젝트 r의 라이프 타임을 l이라고 하고, 시간이 t인 시점에서 오브젝트 i의 F값을 F(i,t)라고 한다. 시간이 t인 시점에서 오브젝트 r이 프락시 캐쉬(140)에서 삭제되는 경우, 프락시 캐쉬(140)에 저장되어 있는 모든 오브젝트 i에 대해 F값은 아래의 [수학식1]에 의해 다시 계산된다.When the Big Team object vo is deleted from the proxy cache 140 to secure storage space for the object to be newly stored in the proxy cache 140 in step S110, the F values of all objects stored in the proxy cache 140 are stored. A value proportional to 1 / (life time) of the object to be deleted is subtracted and reduced (step S120). The life time of the object r deleted from the proxy cache 140 at the time t is called? R , and the F value of the object i is F (i, t) at the time t. When the object r is deleted from the proxy cache 140 at a time t, the F value is recalculated by Equation 1 below for all objects i stored in the proxy cache 140.

[수학식1]의 소정 함수 f(l)은 라이프 타임에 반비례하는 함수로서 액티브세트 변화율에 따라 시간 지역성과 Zipf 빈도 분포를 액티브 세트 인식 LFU(Active set aware LFU : 이하 A-LFU라 한다)에 반영하는 정도를 맞추어준다. f(l)은 아래의 [수학식2]와 같이 나타낼 수 있으며, p,q는 양의 상수이다.The predetermined function f (l r ) of Equation 1 is inversely proportional to life time. Adjust the degree to reflect. f (l ) can be expressed as Equation 2 below, where p and 이다 are positive constants.

p,q는 액티브 세트 변화율을 반영하는 정도를 결정하는 값이다. A-LFU는 p의 값이 클수록 시간 지역성을 우선적으로 반영하며, 작을 경우 Zipf 빈도 분포를 시간 지역성에 비해 우선적으로 반영한다. q의 값은 액티브 세트 변화율에 따라 시간 지역성과 Zipf 빈도 분포를 반영하는 비율을 변화시키는 정도를 나타낸다. A-LFU는 q의 값이 클수록 시간 지역성과 Zipf 빈도 분포를 반영하는 비율이 액티브 세트의 변화율에 민감하게 변한다. 함수 f(l)의 주요한 특성은 단순 감소이다. 따라서 [수학식2]에서 (라이프 타임)부분은 지수 함수나 로그 함수를 적용할 수도 있다. 이와 같은 경우에도 단조 감소 비율이 큰 함수를 적용할 경우 시간 지역성과 Zipf 빈도 분포를 반영하는 비율이 액티브 세트의 변화율에 민감하게 변하는 것은 동일하다.p, q is a value that determines the degree of reflecting the active set change rate. A-LFU reflects temporal locality preferentially as the value of p is large, and preferentially reflects the Zipf frequency distribution over time locality when smaller. The value of 를 represents the degree to which the rate reflecting the time locality and the Zipf frequency distribution varies according to the active set change rate. For A-LFU, the larger the value of q, the more sensitive the rate reflecting the time locality and the distribution of Zipf frequency to the rate of change of the active set. The main characteristic of the function f (l ) is simple reduction. Therefore, Equation (2) in (lifetime) q part may apply an exponential function or logarithmic function. Even in this case, when a function with a large monotonic reduction ratio is applied, the ratio reflecting the time locality and the zipf frequency distribution is sensitive to the change rate of the active set.

프락시 캐쉬(140)에서 개체가 삭제될 때마다 [수학식1]에 의하여 프락시 캐쉬(140)에 저장되어 있는 모든 오브젝트의 F값이 삭제되는 오브젝트의 1/(라이프 타임)과 비례하게 줄여줌으로써, 기존 LFU가 가지고 있던 단점인 캐쉬 오염(cache pollution) 현상을 극복하고, 장점인 Zipf 빈도 분포를 고려하였다. A-LFU의 경우참조 회수가 높으나 오랜동안 참조되지 않은 오브젝트는 F값이 지속적으로 줄어들기 때문에 프락시 캐쉬(140)에 남아 있을 수 없다.Whenever an object is deleted from the proxy cache 140, the F values of all objects stored in the proxy cache 140 are reduced in proportion to 1 / (life time) of the object to be deleted by Equation 1, Overcoming the cache pollution phenomenon, which is a disadvantage of the existing LFU, and considering the distribution of the frequency of Zipf, an advantage. In the case of A-LFU, an object that has a high reference count but has not been referenced for a long time cannot remain in the proxy cache 140 because the F value is continuously reduced.

LFU의 참조 회수와 같이, 프락시 캐쉬(140)에 새로 저장되는 오브젝트는 참조 회수에 의해 F값이 1이다. LFU의 경우 이전에 프락시 캐쉬(140)에 저장된 오브젝트 중에 참조 회수가 1인 다른 오브젝트와 새롭게 저장된 오브젝트는 모두 참조 회수가 동일하다. A-LFU는 이전에 저장되어 있던 오브젝트는 프락시 캐쉬(140)에서 삭제가 일어날 때 마다 [수학식1]에 의해 F값이 줄어들었기 때문에 F값이 다르다. 즉, 동일한 참조 회수를 가진 오브젝트라 할지라도 프락시 캐쉬(140)에 저장되어 있던 시간과 저장되어 있던 시간 동안의 액티브 세트 변화율에 따라 F값이 다르다. 이로인해 LFU에서 고려하지 못한 시간 지역성을 반영한 프락시 캐쉬 교체 정책이라 할 수 있다.Like the reference count of the LFU, the object newly stored in the proxy cache 140 has an F value of 1 by the reference count. In the case of the LFU, among the objects previously stored in the proxy cache 140, other objects having a reference count of 1 and newly stored objects have the same reference count. In the A-LFU, the F value is different because the F value is reduced by Equation 1 whenever an object previously stored is deleted from the proxy cache 140. That is, even if the object has the same reference count, the F value differs depending on the time stored in the proxy cache 140 and the active set change rate during the stored time. This is a proxy cache replacement policy that reflects the time locality not considered by the LFU.

본 발명의 A-LFU 교체 정책은 꾸준히 참조되지 않는 오브젝트의 F값을 지속적으로 줄인다. F값은 프락시 캐쉬(140)에서 삭제되는 오브젝트의 라이프 타임에 의해 줄어들기 때문에 상수값에 의해 값을 줄이는 경우와는 달리 프락시 캐쉬(140)의 액티브 세트 변화율에 따라 F값의 감소량이 달라진다. 액티브 세트의 변화율이 오브젝트의 라이프 타임과 반비례하는 특성에 의해, 프락시 캐쉬(140)에 저장되어 있지 않은오브젝트를 사용자가 요구하는 비율이 커지는 경우, 프락시 캐쉬(140)에서 삭제되는 오브젝트의 평균 라이프 타임이 자아지기 때문에 프락시 캐쉬(140)에 저장되어 있는 오브젝트의 F값의 감소량은 전반적으로 커지게 된다. 즉, 액티브 세트의 변화율이 커지면 F값의 감소량 역시 커지게 된다. 이와 같은 특성으로 인해A-LFU는 액티브 세트의 변화율을 고려한 프락시 캐쉬 교체 정책으로 볼 수 있다.The A-LFU replacement policy of the present invention continuously reduces the F value of an object that is not steadily referenced. Since the F value is reduced by the life time of the object deleted from the proxy cache 140, unlike the case where the value is reduced by the constant value, the decrease amount of the F value varies according to the active set change rate of the proxy cache 140. When the rate at which the user requests an object not stored in the proxy cache 140 increases due to a property in which the rate of change of the active set is inversely proportional to the life time of the object, the average lifetime of the object deleted from the proxy cache 140 increases. As a result, the amount of decrease in the F value of the object stored in the proxy cache 140 becomes large. In other words, as the change rate of the active set increases, the decrease of the F value also increases. Due to these characteristics, A-LFU can be regarded as a proxy cache replacement policy considering the change rate of the active set.

한편, F값은 오브젝트의 Zipf 빈도 분포에 의해 값이 증가하는데, 프락시 캐쉬(140)에 새로 저장되는 오브젝트의 F값은 1이며, 프락시 캐쉬(140)에 저장되어 있는 오브젝트를 참조할 경우 참조된 오브젝트의 F값은 1씩 증가한다. 이와 같이 F값이 증가하는 부분은 LFU와 동일하다. F값은 오브젝트의 시간 지연성에 의해 값이 감소하는데, 프락시 캐쉬(140)에 공간이 부족할 경우 F값이 가장 작은 오브젝트를 삭제한다. 이때, 삭제되는 오브젝트의 라이프 타임에 반비례하는 값을 프락시 캐쉬(140)에 저장되어 있는 모든 오브젝트의 F값에서 빼준다. 전체적으로 A-LFU의 알고리즘은 LFU에 기반을 두며, F값이 감소하느 부분은 A-LFU가 워크로드 변화에 따라 Zipf 빈도 분포와 시간 지역성을 반영하는 비율을 동적으로 결정할 수 있게 한다.On the other hand, the F value is increased by the Zipf frequency distribution of the object. The F value of the object newly stored in the proxy cache 140 is 1, and is referred to when referring to the object stored in the proxy cache 140. The F value of the object is increased by one. The portion where the F value is increased is the same as that of LFU. The F value decreases due to the time delay of the object. When the proxy cache 140 runs out of space, the F value is deleted. In this case, a value inversely proportional to the life time of the object to be deleted is subtracted from the F values of all objects stored in the proxy cache 140. Overall, A-LFU's algorithm is based on LFU, and the decrease in the F value allows A-LFU to dynamically determine the ratio reflecting the Zipf frequency distribution and time locality as the workload changes.

프락시 캐쉬(140)에 저장되어 있는 모든 오브젝트에 대해 [식1]에 의해 F값을 감소하는 것은 현실적으로 어려움이 있다. 프락시 캐쉬(140)에 저장된 오브젝트의 개수를 n이라 할 때, 매번 프락시 캐쉬(140)에서 오브젝트가 삭제될 때마다 [식1]을 n번 계산해야 하는 프락시 캐쉬 알고리즘은 시간 복잡도 측면에서 사용하기가 힘들다. 따라서, A-LFU 교체 정책을 구현할 때는 모든 오브젝트에 대해 [식1]을 계산하는 방법보다는 팽창 변수인 Inf를 이용하여 프락시 캐쉬(140)에서 오브젝트가 삭제될 때마다 1/(라이프 타임)을 Inf에 더해주는 방법을 쓰면 시간 복잡도가 증가하는 문제를 해결할 수 있다. 프락시 캐쉬(140)에 새롭게 저장되는 캐쉬의 경우, 저장되는 시점의 Inf값을 기억해 두고, 이후 다른 오브젝트와 F값을 비교할 때비교하는 시점의 Inf값과 캐쉬에 저장된 시점의 Inf값을 이용하면 [식1]의 계산을 매번 할 필요가 없다.It is practically difficult to reduce the F value by [Equation 1] for all objects stored in the proxy cache 140. When the number of objects stored in the proxy cache 140 is n, the proxy cache algorithm that requires calculating n times each time an object is deleted from the proxy cache 140 is difficult to use in terms of time complexity. Hard. Therefore, when implementing the A-LFU replacement policy, Inf is increased by 1 / (life time) each time an object is deleted from the proxy cache 140 using the expansion variable Inf rather than calculating [Equation 1] for all objects. Adding a solution to this can solve the problem of increased time complexity. In the case of the cache newly stored in the proxy cache 140, the Inf value at the time of storing the memory is stored, and when the Inf value at the time of comparing the F value with another object is compared with the Inf value at the time stored in the cache, Equation 1] does not need to be calculated every time.

F값은 오브젝트가 참조되는 경우와 프락시 캐쉬(140)에서 오브젝트가 삭제되는 경우에 값이 바뀐다. 프락시 캐쉬(140)에서 오브젝트가 삭제되는 경우, 프락시 캐쉬(140)에 저장되어 있는 모든 오브젝트에서 삭제되는 오브젝트의 1/(라이프 타임)과 비례하여 빼주기 때문에 오브젝트의 삭제로 인해 다른 오브젝트의 대소 관계가 변하지 않는다. 따라서, 프락시 캐쉬(140) 내에 있는 오브젝트 중에서 참조되지 않은 오브젝트들 간에는 F값의 대소 관계가 유지되므로 F값에 따른 힙(heap) 구조를 이용하여 프락시 캐쉬(140) 내의 오브젝트를 관리함으로써 시간 복잡도 O(log N)으로 프락시 캐쉬(140)의 운영이 가능하도록 충분한 공간을 확보한다(단계 S130).The F value changes when the object is referenced and when the object is deleted from the proxy cache 140. When an object is deleted from the proxy cache 140, all objects stored in the proxy cache 140 are subtracted in proportion to 1 / (lifetime) of the object being deleted. Does not change. Therefore, since the magnitude of the F value is maintained among the objects that are not referenced among the objects in the proxy cache 140, the time complexity O is managed by managing the objects in the proxy cache 140 using a heap structure according to the F value. Secure enough space to allow the operation of the proxy cache 140 to (log N) (step S130).

이와 같이, 본 발명의 상세한 설명에서는 구체적인 실시예에 관해 설명하였으나, 본 발명의 범주에서 벗어나지 않는 한도 내에서 여러가지 변형이 가능함은 물론이다. 그러므로, 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 안되며 후술하는 특허청구범위 뿐만 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.As described above, in the detailed description of the present invention, specific embodiments have been described, but various modifications are possible without departing from the scope of the present invention. Therefore, the scope of the present invention should not be limited to the described embodiments, but should be defined by the claims below and equivalents thereof.

결국, 본 발명에 의한 적응형 캐쉬 교체 방법에 따르면 다음과 같은 이점이 발생한다.As a result, according to the adaptive cache replacement method according to the present invention the following advantages occur.

즉, 오브젝트의 라이프 타임과 프락시 캐쉬의 액티브 세트 변화율 사이의 관계를 이용하여 LFU의 단점인 캐쉬 오염 문제를 극복하고, LFU에서 고려하지 않은 웹 워크로드 특성인 시간 지역성을 액티브 세트의 변화율에 따라 반영할 수 있다.In other words, by using the relationship between the lifetime of the object and the active set change rate of the proxy cache, the cache pollution problem, which is a disadvantage of the LFU, is overcome, and the temporal locality, which is a web workload characteristic not considered by the LFU, is reflected according to the change rate of the active set. can do.

Claims (9)

F값이 가장 작은 오브젝트를 빅팀 오브젝트로 선정할 것인가 판단하는 단계;Determining whether to select an object having the smallest F value as a big team object; 상기 단계에서 상기 F값이 가장 작은 오브젝트가 상기 빅팀 오브젝트로 선정되면 상기 빅팀 오브젝트를 삭제하는 단계;Deleting the big team object when the object having the smallest F value is selected as the big team object in the step; 프락시 캐쉬 내의 모든 오브젝트의 상기 F값을 소정 함수 만큼 감소시키는 단계; 및Decreasing the F value of all objects in the proxy cache by a predetermined function; And 상기 F값이 가장 작은 오브젝트가 상기 빅팀 오브젝트로 선정되지 않거나, 상기 모든 오브젝트의 상기 F값이 상기 소정 함수 만큼 감소되면 상기 프락시 캐쉬가 충분한 공간을 확보하는 단계를 포함하는 것을 특징으로 하는 적응형 캐쉬 교체 방법.And if the object having the smallest F value is not selected as the Victim object, or if the F value of all the objects is reduced by the predetermined function, the proxy cache secures a sufficient space. Replacement method. 제 1 항에 있어서, 상기 F값은The method of claim 1, wherein the F value is 오브젝트의 참조 회수, 액티브 세트 변화율과 관련된 값임을 특징으로 하는 적응형 캐쉬 교체 방법.Adaptive cache replacement method characterized in that the value is related to the reference count of the object, the active set change rate. 제 2 항에 있어서, 상기 라이프 타임은The method of claim 2, wherein the life time 상기 오브젝트가 뉴 오브젝트로 상기 프락시 캐쉬에 보관될 때부터 빅팀 오브젝트가 되어 상기 프락시 캐쉬에서 삭제될 때까지를 나타내며, 상기 라이프 타임 내에서 라이프 사이클이 일어나는 타임임을 특징으로 하는 적응형 캐쉬 교체 방법.And a time from when the object is stored in the proxy cache as a new object to when it becomes a big team object and deleted from the proxy cache, wherein the life cycle occurs within the life time. 제 1 항에 있어서, 상기 빅팀 오브젝트는The method of claim 1, wherein the Big Team object 뉴 오브젝트를 상기 프락시 캐쉬에 저장하기 위해서 상기 프락시 캐쉬에 저장되어 있는 오브젝트 중 일부를 상기 프락시 캐쉬에서 삭제해야 하는 대상이 되는 오브젝트임을 특징으로 하는 적응형 캐쉬 교체 방법.Adaptive cache replacement method characterized in that the object to be deleted from the proxy cache of some of the objects stored in the proxy cache in order to store a new object in the proxy cache. 제 4 항에 있어서, 상기 뉴 오브젝트는The method of claim 4, wherein the new object is 사용자로부터 참조 요청이 들어온 오브젝트 중에 상기 프락시 캐쉬에 보관되어 있지 않은 오브젝트이며, 상기 프락시 캐쉬 내에 저장할 수 있는 경우, 상기 사용자에게 제공하면서 상기 프락시 캐쉬에도 저장하며, 상기 프락시 캐쉬에 저장할 수 없는 경우, 상기 프락시 캐쉬에 저장되어 있는 다른 오브젝트를 상기 프락시 캐쉬에서 삭제하여 필요한 공간을 확보하는 오브젝트임을 특징으로 하는 적응형 캐쉬 교체 방법.If a reference request from a user is not stored in the proxy cache and can be stored in the proxy cache, the object is also stored in the proxy cache while being provided to the user and cannot be stored in the proxy cache. Adaptive cache replacement method characterized in that the object to secure the necessary space by deleting another object stored in the proxy cache from the proxy cache. 제 1 항에 있어서,The method of claim 1, 상기 프락시 캐쉬 내의 모든 오브젝트는 라이브 오브젝트와 데드 오브젝트임을 특징으로 하는 적응형 캐쉬 교체 방법.Adaptive cache replacement method, characterized in that all the objects in the proxy cache is a live object and a dead object. 제 6 항에 있어서, 상기 라이브 오브젝트는The method of claim 6, wherein the live object 상기 프락시 캐쉬에 저장되어 있는 오브젝트 중에 미래에 다시 참조될 오브젝트로, 미래에 다시 참조될 오브젝트이기 때문에 상기 프락시 캐쉬에 보관할 가치가 있는 오브젝트임을 특징으로 하는 적응형 캐쉬 교체 방법.Adaptive object replacement method, characterized in that the object stored in the proxy cache to be referenced in the future, the object that will be stored in the proxy cache because it is an object that will be referenced in the future. 제 6 항에 있어서, 상기 데드 오브젝트는The method of claim 6, wherein the dead object 상기 프락시 캐쉬에 저장되어 있는 오브젝트 중에 더 이상 참조되지 않을 오브젝트로, 상기 프락시 캐쉬에서 삭제하는 것이 바람직한 오브젝트임을 특징으로 하는 적응형 캐쉬 교체 방법.Adaptive object replacement method characterized in that the object is no longer referenced among the objects stored in the proxy cache, it is preferable to delete from the proxy cache. 제 1 항에 있어서, 상기 소정 함수는The method of claim 1, wherein the predetermined function is 라이프 타임에 반비례하는 함수임을 특징으로 하는 적응형 캐쉬 교체 방법.Adaptive cache replacement method which is a function inversely proportional to life time.
KR10-2001-0017181A 2001-03-31 2001-03-31 Method for the adaptive cache replacement KR100383407B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR10-2001-0017181A KR100383407B1 (en) 2001-03-31 2001-03-31 Method for the adaptive cache replacement

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2001-0017181A KR100383407B1 (en) 2001-03-31 2001-03-31 Method for the adaptive cache replacement

Publications (2)

Publication Number Publication Date
KR20010067820A KR20010067820A (en) 2001-07-13
KR100383407B1 true KR100383407B1 (en) 2003-05-12

Family

ID=19707690

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2001-0017181A KR100383407B1 (en) 2001-03-31 2001-03-31 Method for the adaptive cache replacement

Country Status (1)

Country Link
KR (1) KR100383407B1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030055482A (en) * 2001-12-26 2003-07-04 한국전자통신연구원 Method of managing a cache selectively and apparatus
WO2013095639A1 (en) * 2011-12-23 2013-06-27 Intel Corporation Utility and lifetime based cache replacement policy

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030053285A (en) * 2001-12-22 2003-06-28 엘지전자 주식회사 Logic Architecture And Method For Web Cache Alternate
KR101407630B1 (en) 2007-09-07 2014-06-13 삼성전자주식회사 Distribute file system and method for replacing cache data thereof
KR20210130341A (en) 2020-04-22 2021-11-01 에스케이하이닉스 주식회사 Memory system, memory controller, and operating method of memory system

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030055482A (en) * 2001-12-26 2003-07-04 한국전자통신연구원 Method of managing a cache selectively and apparatus
WO2013095639A1 (en) * 2011-12-23 2013-06-27 Intel Corporation Utility and lifetime based cache replacement policy
US9075746B2 (en) 2011-12-23 2015-07-07 Intel Corporation Utility and lifetime based cache replacement policy

Also Published As

Publication number Publication date
KR20010067820A (en) 2001-07-13

Similar Documents

Publication Publication Date Title
EP3195130B1 (en) Method and system for smart object eviction for proxy cache
US7984112B2 (en) Optimizing batch size for prefetching data over wide area networks
US6901484B2 (en) Storage-assisted quality of service (QoS)
US7051161B2 (en) Memory admission control based on object size or request frequency
US6266742B1 (en) Algorithm for cache replacement
US8391295B2 (en) Temporal affinity-based routing of workloads
US6425057B1 (en) Caching protocol method and system based on request frequency and relative storage duration
US7076544B2 (en) Caching techniques for streaming media
EP3519974B1 (en) System and method for improvements to a content delivery network
US6823374B2 (en) Adjusting the cacheability of web documents according to the responsiveness of its content server
US7251649B2 (en) Method for prioritizing content
US8447948B1 (en) Dynamic selective cache compression
US20090094200A1 (en) Method for Admission-controlled Caching
US20090083494A1 (en) Probabilistic technique for consistency checking cache entries
CN111309650B (en) Cache control method, device, storage medium and equipment
US6775695B1 (en) Client session depth based caching in proxy servers
US20230367484A1 (en) Automated tuning of a quality of service setting for a distributed storage system based on internal monitoring
KR100383407B1 (en) Method for the adaptive cache replacement
US7376792B2 (en) Variable cache data retention system
JP2005092862A (en) Load distribution method and client-server system
JP2013156766A (en) Information processing device, memory management method, and memory management program
US6915386B2 (en) Processing service level agreement (SLA) terms in a caching component of a storage system
CN116756190A (en) Data cache management method, device, terminal equipment and storage medium
Kanrar et al. Dynamic page replacement at the cache memory for the video on demand server
Kangasharju et al. Implementation of optimized cache replenishment algorithms in a soft caching system

Legal Events

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

Payment date: 20130419

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20140318

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20150313

Year of fee payment: 13

FPAY Annual fee payment

Payment date: 20160311

Year of fee payment: 14

FPAY Annual fee payment

Payment date: 20170426

Year of fee payment: 15

LAPS Lapse due to unpaid annual fee