KR20050021751A - Distributed Web Caching System with Client-Based - Google Patents

Distributed Web Caching System with Client-Based Download PDF

Info

Publication number
KR20050021751A
KR20050021751A KR1020030058938A KR20030058938A KR20050021751A KR 20050021751 A KR20050021751 A KR 20050021751A KR 1020030058938 A KR1020030058938 A KR 1020030058938A KR 20030058938 A KR20030058938 A KR 20030058938A KR 20050021751 A KR20050021751 A KR 20050021751A
Authority
KR
South Korea
Prior art keywords
shared cache
server
client
load
cache
Prior art date
Application number
KR1020030058938A
Other languages
Korean (ko)
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 KR1020030058938A priority Critical patent/KR20050021751A/en
Publication of KR20050021751A publication Critical patent/KR20050021751A/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/58Caching of addresses or names
    • 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/468Specific access rights for resources, e.g. using capability register
    • 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/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/2521Translation architectures other than single NAT servers
    • H04L61/2528Translation at a proxy
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/4505Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
    • H04L61/4511Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)

Abstract

PURPOSE: A method for configuring a client-based distributed web caching system to effectively avoid frequent error/accumulation/delay is provided to build the system easy to install and maximize performance without separately installing a DNS(Domain Name Server) server or adding load by applying methods for directly connecting to a shared cache, controlling shared cache load, and transferring load information. CONSTITUTION: A CP(Contents Provider) server group is equipped with a CP helper for the CP servers. A shared cache group is equipped with a proxy helper for analyzing information for the shared cache. A client browser is equipped with a proxy finder to directly connect with the share cache and control the load of the shared cache. If a user inputs a domain name of the CP server on the client browser at first, a client loads an IP(Internet Protocol) address of the CP server by using the DNS on the current Internet, and loads an HTML(HyperText Markup Language) source from the CP server and the shared cache information from the CP helper. The proxy finder parses text data in the source and stores an address of the shared cache to a tree structure by using a hash function.

Description

클라이언트 기반 분산 웹 캐싱 시스템의 구성 방법{Distributed Web Caching System with Client-Based}How to configure a client-based distributed web caching system {Distributed Web Caching System with Client-Based}

본 발명은 인터넷이용의 급증으로 인한 빈번한 오류와 정체 및 지연 효과적으로 피할 수 있는 클라이언트 기반 분산 웹 캐싱 시스템의 구성 방법에 관한 것으로, 상세하게는 네트워크 상에서 정보를 제공하는 웹 서버와 공유된 여러 캐시 서버, 그리고 사용자의 클라이언트를 이용하여 신속하고 안정적으로 정보를 전송할 수 있는 분산 웹 캐싱 시스템 구성이 가능하도록하는 방법과 응용 서버 프로그램들에 관한 것이다. The present invention relates to a method of constructing a client-based distributed web caching system that can effectively avoid frequent errors, congestion, and delays caused by a surge in the use of the Internet. Specifically, the present invention relates to a cache server, which is shared with a web server providing information on a network, In addition, the present invention relates to a method and an application server program for enabling a distributed web caching system that can transmit information quickly and stably using a client of a user.

일반적으로, 분산 웹 캐싱은 인터넷의 부하를 가중하는 큰 크기를 지닌 객체(이미지, 동영상)들의 전송을 정체나 지연이 일어나는 구간 밖에 사용자와 가까운 위치에 캐시 서버 군을 설치하여 객체들을 콘텐츠 제공 서버에서 복사하여 분산 저장하고, 사용자들이 동일 객체에 대한 요청을 하였을 때, 저장된 객체를 제공함으로써 인터넷의 부하를 낮추고 신속하고 안정적인 정보의 전달을 가능하게 하는데 사용하고 있다. In general, distributed web caching installs a cache server group close to the user outside the period of congestion or delay in transmitting large sized objects (images and videos) that increases the load on the Internet. It is used to reduce the load on the Internet and to deliver information quickly and stably by providing stored objects when users make requests for the same object.

이러한 분산 웹 캐싱은 하나의 캐시 서버만을 설치 하였을 때에 사용자의 접속수와 처리 속도, 저장용량등의 한계를 해결하기 위해 다수의 공유 캐시 서버에 객체들을 분산하여 저장하고 그 객체들을 찾는 방법과 각 공유 캐시에서의 부하 조절을 위한 방법을 갖는 특징이 있다. This distributed web caching is designed to distribute and store objects in multiple shared cache servers and find them in order to solve the limitations of user access, processing speed, and storage capacity when only one cache server is installed. There is a feature with a method for load balancing in the cache.

따라서, 최근의 분산 웹 캐싱은 이러한 방법들의 차이로 인하여 구분 할 수 있는데 공유 캐시 들에 배정될 객체들의 찾기위하여 공유 캐시간의 멀티 캐스트 통신인 인터넷 캐싱 프로토콜(ICP)을 사용한 방법, 객체들의 배정을 해시 함수를 사용하여 공유 캐시에 배정하고 찾는 해시 라우팅 방법으로 구분된다. Therefore, recent distributed web caching can be distinguished due to the difference of these methods. Hashing of the allocation of objects and methods using the Internet Caching Protocol (ICP), which is a multicast communication between shared caches, to find the objects to be allocated to the shared caches. Functions are assigned to shared caches and identified by hash routing method.

ICP를 사용한 방법은 도 1과 같이 시스템 구성이 되며, 클라이언트 브라우져가 도 1의 (1)과 같이 객체들을 찾기 위하여 미리 설정 되어진 프라이머리 캐시에 접속을 하면, 공유 캐시들 사이에 도 1의 (2)와 같이 통신을 사용하고, 최악의 경우 객체가 없을 경우 모든 공유캐시에 통신을 통하여 객체의 위치 찾아보고 없으면 도 1의 (3)과 같이 콘텐츠 서버에 접속하여 요청한 객체를 공유 캐시에 저장하고 클라이언트에서 전송을 받게 된다. 즉, 이러한 도 4의 (2)의 과정들은 네트웍의 자원을 낭비하게 하는 요소가된다. 또한, 클라이언트들이 하나의 프라이머리 캐시를 임으로 정하기 때문에 다수의 클라이언트들이 서로 다른 공유 캐시를 프라이머리로 설정 하였다고 가정할 경우, 동일한 오브젝트가 공유 캐시들에 중복하여 배정되므로 공유 캐시의 저장 공간을 낭비하게 된다. The method using the ICP is configured as shown in FIG. 1, and when the client browser accesses the primary cache which is preset to find the objects as shown in FIG. In the worst case, if there is no object, all the shared caches search for the location of the object. If there is no object, the server accesses the content server and stores the requested object in the shared cache as shown in (3) of FIG. You will receive a transmission from. That is, these processes of (2) of FIG. 4 become a waste of network resources. In addition, assuming that multiple clients set different shared caches as primary because clients specify one primary cache, the same object is allocated to shared caches redundantly, which wastes storage space in the shared cache. do.

이러한 문제를 해결한 방법이 해쉬 라우팅 방법으로 마이크로 소프트의 CARP(Cache Array Routing Protocol)를 이용한 방법, 아카마이의 글로벌 호스팅 시스템의 구성을 사용되는 컨시스턴트 해싱 방법들이 있다.The solution to this problem is a hash routing method using Microsoft's Cache Array Routing Protocol (CARP), and a consistent hashing method using the configuration of Akamai's global hosting system.

CARP은 도 2와 같이 시스템이 구성되며, 프라이머리 캐시로 설정된 서버에서 각각의 공유 캐시들에 배정될 객체들이 중복되지 않게 저장되고 찾을 수 있도록 해시 함수를 사용하는 방법이다. 클라이언트가 객체를 요청할 때 도 2의 (1)의 과정으로 도메인 제임 서비스 서버에게 프라이머리 캐시의 IP 주소를 받아와서 정하여진 TTL(Time to Live)시간동안 사용하여, 도 2의 (2)의 과정으로 프라이머리 캐시에 접속하여 객체(엄밀히 말하면 객체의 URL에 대한 해시 값)를 요청하면 프라이머리 캐시는 객체에 해당하는 해시값과 공유 캐시들의 해시 값들을 쌍으로 하여 가장 큰 값을 가지는 공유 캐시에 객체를 배정하게 된다. 즉, 프라이머리 캐시가 요청된 객체가 저장될 캐시가 아니면 도 2의 (3)과정 처럼 해당하는 공유 캐시에 객체를 요청하게 되고 객체가 있으면 프라머리 캐시는 공유 캐시에서 오는 객체를 전송 받아 저장 하지 않고 포워딩하여 클라이언트에 전송한다. 만약 해당 공유 캐시에 객체가 없으면 코텐츠 제공 서버에서 가져와 저장하고 포워딩 한다. 만약 클라이언트가 요청한 객체가 프라이머리 캐시에 해당하고 객체가 프라이머리 캐시에 없다면, 도 2의 (4)의 과정 처럼 콘텐츠 서버에 접속하여 객체를 전송 받아 저장함과 동시에 클라이언트에 전송한다. CARP is a system configured as shown in FIG. 2 and is a method of using a hash function so that objects to be allocated to respective shared caches can be stored and found without being duplicated in a server configured as a primary cache. When the client requests an object, the process of FIG. 2 (2) is used for a time to live (TTL) time determined by receiving the IP address of the primary cache from the domain name service server as the process of FIG. 2 (1). When accessing the primary cache and requesting an object (strictly, the hash value for the URL of the object), the primary cache pairs the hash value of the object with the hash values of the shared caches to the shared cache that has the largest value. You will assign an object. That is, if the primary cache is not a cache to store the requested object, the object is requested to the corresponding shared cache as shown in (3) of FIG. 2, and if there is an object, the primary cache does not receive and store the object from the shared cache. Forward it without sending it to the client. If there is no object in the shared cache, it is retrieved from the content provisioning server and stored and forwarded. If the object requested by the client corresponds to the primary cache and the object does not exist in the primary cache, the client accesses the content server as shown in (4) of FIG.

하지만, CARP의 이런한 방법은 클라이언트의 구성상 하나의 프라이머리 캐시를 설정 할 수 밖에 없으므로 프라이머리 캐시로 설정되는 캐시들의 부하의 균형을 위하여 도 2의 (1)과정 처럼 도메인 네임 서비스 서버(DNS)를 별도로 사용하거나 기존의 도메인 네임 서비스 서버에 부하를 가중하게 되며, 또한 이러한 도메인 네임 서비스 서버에서의 지연 시간이 사용자가 객체를 전송받는데 포함된다. However, this method of CARP has to set a single primary cache in the configuration of the client, so in order to balance the load of the caches set as the primary cache, as shown in (1) of FIG. 2, a domain name service server (DNS) ) Or load on an existing domain name service server, and the delay time in the domain name service server is included in the user's transmission of the object.

이와 유사하게 해시 함수를 사용하는 방법인 아카마이사의 글로벌 호스팅 시스템에 적용된 도 3의 컨시스턴트 해싱 방법은 공유된 캐시들에 객체들을 배정하고 찾는 방법과 각각 공유 캐시들간의 부하 조절을 위하여 도 3의 (1)과 같이 별도 또는 기존의 도메인 네임 서비스 서버를 사용하는 특징있다. 이는 전자의 CARP과 다르게 클라이언트가 공유 캐시에 접속을 하기 위하여 도메인 네임 서비스 서버를 사용하여 캐시의 주소를 매핑하기 때문에 방법에는 다소 차이가 있으나 전자와 동일한 문제점을 갖는다.Similarly, the consistent hashing method of FIG. 3 applied to Akamai's global hosting system, which uses a hash function, is a method of allocating and finding objects in shared caches and load balancing between the shared caches. (1) It is characterized by using a separate or existing domain name service server. Unlike the former CARP, the client uses a domain name service server to map the address of the cache in order to access the shared cache, but the method is somewhat different, but has the same problem as the former.

따라서 두 방법 모두 도메인 네임 서비스 서버의 의존율이 높으며 시스템이 방대해질수록 유지와 관리에 고비용이 들게 되고, 이러한 도메인 네임 서비스 서버에서의 지연시간이나 실패의 확률이 커짐으로 때때로 사용자에게 보다 빠르고 안정적인 서비스를 제공하지 못할수 있다.Therefore, both methods are highly dependent on the domain name service server, and the larger the system is, the more expensive the maintenance and management becomes. May not be provided.

본 발명은 상기와 같은 문제점을 해소하기 위하여 공유 캐시에 객체를 배정하거나 찾기위하여 클라이언트들이 해시 함수를 이용하여 직접적으로 공유 캐시에 연결하는 방법과 공유 캐시들의 부하를 조절하기 위한 방법, 그 부하 정보를 전달하기 위한 방법들 적용하여 기존의 시스템에서 필요했던 도메인 네임 서비스 서버의 별도 설치나 부하 가중이 없는 설치가 용이하고 성능을 최대화 할수 있는 시스템을 구축하는데 목적이 있다.The present invention provides a method for directly connecting to a shared cache using a hash function, a method for adjusting the load of the shared caches, and load information thereof to allocate or find an object in the shared cache to solve the above problems. By applying methods for delivery, the purpose is to build a system that can be easily installed without additional load or domain name service server that was required in the existing system, and can maximize performance.

이와 같은 목적을 위하여 도 4와 같은 클라이언트 기반 분산 웹 캐싱 시스템을 사용자가 사용하는 범용 클라이언트 브라우져에 추가 할수 있는 프로그램과 전용 클라이언트 프로그램을 도 5와 같은 흐름의 알고리즘으로 구현하고 공유 캐시의 부하 정보를 분석하는 프로그램(Proxy Helper)를 도 6와 같은 흐름의 알고리즘으로, 클라이언트들에게 공유된 캐시들의 정보를 전달하기 위한 도7과 같은 흐름으로 프로그램(CP Helper)을 구현한다. 따라서 사용자의 클라이언트에 추가된 Proxy Finder가 객체의 배정위치를 자체적인 해시 함수를 사용하여 콘텐츠 제공 서버에 접속시에 CP Helper로부터 받은 공유 캐시들의 정보를 가지고 직접적으로 공유 캐시에 접속하여 도 4의 (1)과 같이 객체를 요청하여 전송 받게 된다. 이때, 공유 캐시의 정보는 캐시들의 IP 주소, 미리 정하여진 플래그 형식의 부하에 대한 정보, 캐시의 상태 정보등을 포함하여 가지고 있으며 주기적으로 정해진 시간마다 CP Helper에 의해 갱신된다. 따라서, 본 발명은 클라이언트 브라우져에서 기존 시스템의 해시 라우팅과 부하조절을 동시에 해결함으로써 별도의 도메인 네임 서비스 서버의 추가나 기존의 도메인 네임 서비스 서버에 부하의 가중을 가져오지 않고 신속하고 안정적인 정보 전송을 가능하게 하는 특징을 가진다. For this purpose, a program and a dedicated client program that can add a client-based distributed web caching system as shown in FIG. 4 to a general-purpose client browser used by a user are implemented by the flow algorithm as shown in FIG. 5, and the load information of the shared cache is analyzed. A program (Proxy Helper) is implemented with a flow algorithm as shown in FIG. 6, and the program (CP Helper) is implemented with a flow as shown in FIG. 7 for delivering information of shared caches to clients. Therefore, the Proxy Finder added to the user's client can directly access the shared cache with the information of the shared caches received from the CP Helper when accessing the content providing server using its own hash function. As in 1), the object is requested and sent. At this time, the information of the shared cache includes the IP address of the caches, the information on the load in the predetermined flag format, the status information of the cache, etc. and is periodically updated by the CP Helper. Accordingly, the present invention solves the hash routing and load balancing of the existing system at the same time in the client browser, thereby enabling a quick and stable information transmission without adding a separate domain name service server or increasing the load on the existing domain name service server. It has the characteristic to

이하 첨부된 도면에 의해 상세히 설명하면 다음과 같다.Hereinafter, described in detail by the accompanying drawings as follows.

본 발명을 위하여 구성한 시스템은 도 4에서와 같이 콘텐츠 제공 서버를 위한 CP Helper가 설치된 콘텐츠 제공 서버군, 공유 캐시의 정보 분석을 위한 Proxy Helper를 설치한 공유 캐시 군, 공유 캐시의 직접적인 접속과 부하 조절이 가능한 Proxy Finder를 설치한 클라이언트 브라우져등으로 구성된다. 최초 클라이언트 브라우져에서 사용자가 콘텐츠 제공 서버의 도메인 네임을 입력하게 되면 클라이언트는 기존의 인터넷 상의 도메인 네임 서비스를 이용하여 콘텐츠 제공 서버의 IP 주소를 가져오고 콘텐츠 제공 서버로부터 HTML 소스와 CP Helper로부터 공유 캐시의 정보를 가져오게 된다. 이후, 클라이언트에 Proxy Finder는 소스에 있는 텍스트 데이터를 파싱을 하게 되고, 공유 캐시의 주소를 해시 함수를 이용하여 트리 구조에 저장하고 객체들의 URL을 해시하고 나머지 연산을 통하여 객체들에 대한 해시 값 집합을 만든다. 이러한 객체 집합은 각 공유 캐시들에 해당하는 로드 정보와 함께 동일한 트리 구조에 저장한다 (도 5 참조). 이 후, 도 4의 (1)과 같이 객체를 요청할 때 저장된 트리 구조에서 객체 집합을 찾아서 해당 캐시를 찾음과 동시에 로드 정보를 고려하여 객체가 저장 될 공유 캐시의 주소를 찾아서 요청한다. 이러한 도4의 (1)의 요청에 대하여 공유캐시는 객체가 저장 되어 있으면 바로 전송하고 없으면 객체를 지니고 있는 콘텐츠 제공 서버에 도 4의 (2)와 같이 접속하여 객체를 전송 받아 저장함과 동시에 클라이언트에 전송한다. 이러한 도 4의 (1),(2)의 과정들은 한페이지의 모든 객체를 받을 동안 반복된다. The system configured for the present invention is a content providing server group installed CP CP Helper for the content providing server as shown in Figure 4, a shared cache group installed a Proxy Helper for analyzing the information of the shared cache, direct access and load control of the shared cache It consists of a client browser installed with this proxy finder enabled. When the user enters the domain name of the content provisioning server in the first client browser, the client retrieves the IP address of the content provisioning server using the existing domain name service on the Internet, and retrieves the shared cache from the HTML source and the CP Helper from the content provisioning server. Get information. Then, the Proxy Finder parses the text data in the source, stores the address of the shared cache in a tree structure using a hash function, hashes the URLs of the objects, and sets the hash values for the objects through the rest of the operation. Make This set of objects is stored in the same tree structure with load information corresponding to each shared cache (see FIG. 5). Then, when requesting an object as shown in (1) of FIG. 4, the object set is found in the stored tree structure to find the cache, and at the same time, the address of the shared cache where the object is to be stored is considered in consideration of load information. In response to the request of FIG. 4 (1), the shared cache is transmitted immediately if the object is stored. If not, the shared cache is connected to the content providing server having the object as shown in (2) of FIG. send. The processes of (1) and (2) of FIG. 4 are repeated while receiving all objects of one page.

또한, 콘텐츠 제공 서버에서 동작하는 CP Helper의 공유 캐시에 대한 정보는 도 4의 (3)처럼 주기적으로 공유 캐시에 설치되어 있는 Prosy Helper에 의해서 공유 캐시의 상태와 부하 정보를 분석하여 갱신된다. 이러한 공유 캐시에서의 부하 정보는 단위 시간당 최대 처리할 수 있는 용청량에 의해서 정하여지고 세 단계의 수준을 나타내는 부하 정보 플래그, 과도한 요청을 받는 객체 집합(Hot Page)에 해당하는 해시 값들의 순차적인 배열, 현재 요청량이 높지는 않지만 과도한 요청을 가지는 개체 집합의 비중이 클 경우 최적화를 하기 위한 최적화 플래그로 구성되어 있다. 따라서 클라이언트의 Proxy Finder는 객체의 해시 값이 부하가 높은 플래그를 지닌 공유 캐시에 해당하고 과도한 요청을 받는 객체 집합에 해당한다면 부하가 가장 낮은 공유 캐시에 요청을 함으로써 부하를 분산 시킨다. 이러한 과정들이 다수의 클라이언트에서 동시에 작동함으로써 공유 캐시들의 부하는 균형을 이루어 진다. 따라서 과도한 요청을 받는 객체 집합에 수를 조절하여 보다 많은 부하를 분산 시킬 수도 있으며, 각 공유 캐시의 부하 수준이 모두 낮지만 과도한 요청을 받는 객체 집합의 요청량이 현재 요청량에 미치는 비중이 클 경우 이 객체 집합의 수를 줄여 세밀하고 점진적으로 요청량을 분산 시킨다. 이것은 필요하지 않은 객체 집합들을 분산시켜 오히려 저장 공간을 낭비하는 것을 방지하게 된다.In addition, the information on the shared cache of the CP Helper operating in the content providing server is updated by analyzing the state and load information of the shared cache by the Prosy Helper periodically installed in the shared cache as shown in (3) of FIG. The load information in this shared cache is determined by the maximum amount of processing capacity per unit time, load information flag indicating three levels, and a sequential array of hash values corresponding to a hot page. However, it consists of optimization flags to optimize when the weight of the set of objects with excessive requests is not high but the demand is high. Therefore, the Proxy Finder of the client distributes the load by making a request to the shared cache with the lowest load if the hash value of the object corresponds to a shared cache with a high load flag and a set of objects that receive excessive requests. As these processes work simultaneously on multiple clients, the load on shared caches is balanced. Therefore, it is possible to distribute more load by adjusting the number of object sets that receive excessive requests.If the load level of each shared cache is all low, but the request volume of the object sets that receive excessive requests is high in the current request volume, Reduce the number of object sets to distribute the request granularly and incrementally. This will distribute unnecessary sets of objects, rather than wasting storage space.

이상에서 상술한 바와같이 본 발명은 각 서버 구성군들에 도움을 주는 응용 프로그램들(CP Helper, Proxy Helper)과 범용 클라이언트 브라우져에 추가할수 있는 Proxy Finder를 이용하여 클라이언트가 직접적으로 공유 캐시에 접속하고 부하 조절을 함으로써 기존의 시스템과 같이 도메인 네임 서비스 서버의 별도의 추가나 기존 도메인 네임 서비스 서버에 부하를 가중하지 않으므로 분산 웹 캐싱 시스템의 구축이 간단하여 시스템 구축 비용절감의 효과와 또한 네임 서비스 서버에서의 지연이 있지 않기 때문에 사용자에게는 보다 안정적이고 신속한 정보의 전달을 효과적으로 할 수 있는 것이다. As described above, the present invention allows a client to directly access a shared cache by using applications (CP Helper, Proxy Helper) that help each server group and a Proxy Finder that can be added to a general-purpose client browser. Load balancing does not add additional domain name service server like existing system or adds load to existing domain name service server. Therefore, it is easy to construct distributed web caching system. Since there is no delay, the user can be more efficiently and effectively transmit information.

도 1은 일반 인터넷 캐싱 프로토콜(ICP)을 사용한 시스템 구성도.1 is a system configuration diagram using a general Internet caching protocol (ICP).

도 2는 마이크로 소프트사의 CARP(Cache Array Routing Protocol)에 대한 시스템 구성도.Figure 2 is a system configuration diagram for the Cache Array Routing Protocol (CARP) of Microsoft Corporation.

도 3은 아카마이사의 글로벌 호스팅 시스템의 콘시스턴트 해싱에 대한 시스템 구성도.3 is a system configuration diagram for consistent hashing of Akamai's global hosting system.

도 4는 발명된 클라이언트 기반 분산 웹 캐싱 시스템 구성도.4 is a schematic diagram of a client-based distributed web caching system invented.

도 5는 범용 클라이언트에 추가 되는 Proxy Finder 프로그램의 흐름도.5 is a flow diagram of a Proxy Finder program added to a universal client.

도 6는 공유 캐시 군에 설치되는 Proxy Helper 프로그램의 흐름도.6 is a flowchart of a Proxy Helper program installed in a shared cache group.

도 7은 콘텐츠 제공 서버 군에 설치 되는 CP Helper 프로그램의 흐름도.7 is a flowchart of a CP Helper program installed in a content providing server group.

Claims (1)

발명된 시스템을 구성하는 방법과 구성 프로그램들의 알고리즘.A method of configuring the invention system and an algorithm of the configuration programs.
KR1020030058938A 2003-08-26 2003-08-26 Distributed Web Caching System with Client-Based KR20050021751A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020030058938A KR20050021751A (en) 2003-08-26 2003-08-26 Distributed Web Caching System with Client-Based

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020030058938A KR20050021751A (en) 2003-08-26 2003-08-26 Distributed Web Caching System with Client-Based

Publications (1)

Publication Number Publication Date
KR20050021751A true KR20050021751A (en) 2005-03-07

Family

ID=37229934

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020030058938A KR20050021751A (en) 2003-08-26 2003-08-26 Distributed Web Caching System with Client-Based

Country Status (1)

Country Link
KR (1) KR20050021751A (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101023622B1 (en) * 2008-12-16 2011-03-22 지에스네오텍(주) Adaptive high-performance proxy cache server and Caching method
KR101363164B1 (en) * 2011-12-29 2014-02-18 인텔렉추얼디스커버리 주식회사 Method and apparatus for sharing media content using modified url
US20150172405A1 (en) * 2013-12-13 2015-06-18 Oracle International Corporation System and method for providing data interoperability in a distributed data grid
KR101589870B1 (en) * 2015-04-23 2016-02-01 광운대학교 산학협력단 Apparatus and method for caching web page display image using non-volatile memory
KR20160016443A (en) 2014-08-05 2016-02-15 엔트릭스 주식회사 System for servicing cloud streaming, method of servicing cloud streaming and server for the same

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101023622B1 (en) * 2008-12-16 2011-03-22 지에스네오텍(주) Adaptive high-performance proxy cache server and Caching method
KR101363164B1 (en) * 2011-12-29 2014-02-18 인텔렉추얼디스커버리 주식회사 Method and apparatus for sharing media content using modified url
US20150172405A1 (en) * 2013-12-13 2015-06-18 Oracle International Corporation System and method for providing data interoperability in a distributed data grid
US9497283B2 (en) * 2013-12-13 2016-11-15 Oracle International Corporation System and method for providing data interoperability in a distributed data grid
KR20160016443A (en) 2014-08-05 2016-02-15 엔트릭스 주식회사 System for servicing cloud streaming, method of servicing cloud streaming and server for the same
KR101589870B1 (en) * 2015-04-23 2016-02-01 광운대학교 산학협력단 Apparatus and method for caching web page display image using non-volatile memory

Similar Documents

Publication Publication Date Title
US11805184B2 (en) Content delivery systems and methods
US9667516B2 (en) Integrated adaptive anycast for content distribution
EP2361475B1 (en) Hybrid unicast/anycast content distribution network
US8527635B2 (en) Contents delivery system and method, web server and contents provider DNS server thereof
CN102067094B (en) cache optimization
EP2356577B1 (en) Request routing and updating routing information utilizing client location information
EP2263164B1 (en) Request routing based on class
JP4753052B2 (en) Content delivery method and system
CA2726915C (en) Request routing using network computing components
US8510372B2 (en) Gateway system and control method
US8296458B2 (en) Adaptive routing of content requests using multiple anycast addresses
US8156214B2 (en) System and method to discover clients associated with local domain name server using sampling
US20110282993A1 (en) Hierarchical load balancing
US8745122B2 (en) System and method for providing an adjunct device in a content delivery network
EP2523423B1 (en) Method and system for providing a distributed scalable hosting environment for web services
WO2002025463A1 (en) Method and apparatus for dynamic determination of optimum connection of a client to content servers
KR20050021751A (en) Distributed Web Caching System with Client-Based
US10924579B2 (en) System and method for metro mid-tier mapping in a content delivery network
KR20120041317A (en) Delivering contents by using storage of network
KR100450605B1 (en) A web application sever and method for providing dynamic contents thereof

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application