KR20100048469A - Method for content caching using cache server and browser cache, and cache server thereof - Google Patents

Method for content caching using cache server and browser cache, and cache server thereof Download PDF

Info

Publication number
KR20100048469A
KR20100048469A KR1020080107645A KR20080107645A KR20100048469A KR 20100048469 A KR20100048469 A KR 20100048469A KR 1020080107645 A KR1020080107645 A KR 1020080107645A KR 20080107645 A KR20080107645 A KR 20080107645A KR 20100048469 A KR20100048469 A KR 20100048469A
Authority
KR
South Korea
Prior art keywords
content
cache
browser
server
client
Prior art date
Application number
KR1020080107645A
Other languages
Korean (ko)
Other versions
KR101091982B1 (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 KR1020080107645A priority Critical patent/KR101091982B1/en
Publication of KR20100048469A publication Critical patent/KR20100048469A/en
Application granted granted Critical
Publication of KR101091982B1 publication Critical patent/KR101091982B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/565Conversion or adaptation of application format or content

Abstract

PURPOSE: A method for content caching using a cache server and a browser cache, and a cache server thereof are provided to use updated contents through data communication between clients by storing the updated contents having validity after grouping plural client browser cache. CONSTITUTION: If a first client(110-1) requests contents, a cache server(130) transmits contents. The first client stores the contents as a browser cache(120-1), and the cache server classifies the 2nd to nth browser cache(120-2 to 120-n) including the first browser cache into browser cache group. The cache server inspects the validity of contents of the 1st browser cache periodically. Unless the contents have validity, the cache server requests the updated contents from the content server.

Description

캐시서버와 브라우저캐시를 이용한 컨텐츠 캐싱방법 및 그 캐시서버{Method for content caching using cache server and browser cache, and cache server thereof}Method for content caching using cache server and browser cache, and cache server

본 발명은 컨텐츠 캐싱방법 및 그 캐시서버에 관한 것으로, 특히, 캐시서버가 클라이언트의 브라우저캐시에 저장된 컨텐츠의 유효성을 검사하여 갱신된 컨텐츠를 브라우저캐시에 저장하고 각 클라이언트가 인접한 하나 이상의 브라우저캐시를 이용하여 갱신된 컨텐츠를 수신하고 이용할 수 있도록 하는 캐시서버와 브라우저캐시를 이용한 컨텐츠 캐싱방법 및 그 캐시서버에 관한 것이다.The present invention relates to a content caching method and a cache server thereof. In particular, the cache server validates the content stored in the client's browser cache to store updated content in the browser cache, and each client uses one or more adjacent browser caches. A cache server and a content caching method using a browser cache and a cache server for receiving and using updated content are provided.

일반적으로 컨텐츠 제공자(CP: Content Provider)의 웹 서버가 클라이언트에 제공할 컨텐츠(예컨대, 동영상, 음악, 파일 등)의 수는 매우 많다. 웹 서버가 이들의 일부 또는 전부를 다수의 클라이언트들 각각에게 일대일로 제공하기에는 많은 부하가 발생한다. 왜냐하면, 웹 서버는 단일의 ISP(Internet Service Provider)에 연결되어 있는데 반하여 컨텐츠를 요구하는 클라이언트는 다수의 ISP에 존재하기 때문이다.In general, the number of contents (eg, videos, music, files, etc.) that a content provider (CP) provides to a client is very large. There is a heavy load for a web server to provide some or all of these to each of the multiple clients one-to-one. This is because a web server is connected to a single Internet Service Provider (ISP), whereas clients requesting content exist in multiple ISPs.

따라서 ISP들 간의 트래픽은 컨텐츠 제공자와 클라이언트가 늘어남에 따라 기하급수적으로 증가하게 되고, 트래픽 혼잡으로 인한 전송지연 및/또는 전송실패율이 높아진다. 최악의 경우에는 웹 서버의 기능장애(fail-over)가 발생하기도 한다.Therefore, traffic between ISPs increases exponentially as the number of content providers and clients increases, and transmission delay and / or transmission failure rate due to traffic congestion increases. In the worst case, the web server may fail over.

이러한 문제점을 극복하기 위해 도입된 것이 CDN이다. CDN이란 클라이언트들로부터 멀리 떨어져 있는 컨텐츠 제공자의 웹 서버에 집중되어 있는 컨텐츠, 예를 들어 그림, 배너, 비디오 또는 오디오와 같이 용량이 크거나 클라이언트들의 요구가 빈번한 컨텐츠를 다수의 ISP 상호 접속점(PoP: Point of Presence)에 광역적으로 분산 배치된 호스트 서버에 미리 저장해 놓고, 클라이언트의 요구가 있을 경우 해당 이용자와 가장 근접한 호스트 서버의 경로를 반환함으로써 클라이언트가 그 반환된 경로를 통해 호스트 서버에 접속한 후 컨텐츠를 제공받을 수 있도록 한 서비스이다. 여기서 호스트 서버는 캐시서버, 복제서버 또는 고스트서버(이하, 캐시서버로 칭함)로 다양하게 일컬어진다.The CDN was introduced to overcome this problem. A CDN is a collection of content that is concentrated on a content provider's web server that is remote from clients, such as pictures, banners, video, or audio. Point-of-presence is stored in the host server which is widely distributed, and the client connects to the host server through the returned path by returning the path of the host server closest to the user when requested by the client. This service allows you to receive content. The host server is variously referred to as a cache server, a replication server, or a ghost server (hereinafter referred to as a cache server).

그런데 CDN 사업자가 전세계의 모든 지역에 클라이언트가 만족한 만한 용량 및 응답시간을 갖는 캐시서버를 설치하고 운용하는 데는 많은 비용 및 시간이 들어가게 된다. 또한, 현재 상용화된 CDN 서비스는 클라이언트의 IP(Internet Protocol) 어드레스에 대응되는 캐시서버를 지정해 놓고, 해당 클라이언트로부터 컨텐츠 요청이 있을 경우 대응되는 캐시서버에 해당 컨텐츠가 저장되어 있는지 확인한 후, 저장되어 있지 않다면 컨텐츠 서버에 요청하여 전송하도록 하는 방법을 사용하고 있다.However, it is expensive and time-consuming for CDN operators to install and operate cache servers with capacity and response time that clients can satisfy in all regions of the world. In addition, the currently commercialized CDN service designates a cache server corresponding to the IP (Internet Protocol) address of the client, and if there is a content request from the client, checks whether the corresponding content is stored in the corresponding cache server, and is not stored. If not, it uses a method of sending a request to a content server.

그러나 이러한 방식을 사용할 경우, 클라이언트에 대응되는 캐시서버에 특정 컨텐츠가 저장되어 있지 않다면, 해당 컨텐츠를 제공하는 원시(origin) 컨텐츠 서버로 컨텐츠 요청(request)이 몰리게 되는 현상이 발생하게 된다는 문제가 있다. 이에, 캐시서버를 증설하지 않고도 클라이언트로부터 요청된 컨텐츠를 제공할 수 있는 방법이 요구된다.However, there is a problem that if a specific content is not stored in the cache server corresponding to the client, content requests are crowded to the origin content server providing the content. . Accordingly, there is a need for a method capable of providing content requested from a client without adding a cache server.

본 발명은 상기한 종래의 문제점을 해결하기 위해 제안된 것으로서, 캐시서버가 클라이언트로부터의 컨텐츠 요청에 응답하여 컨텐츠를 전송하고 클라이언트의 브라우저캐시에 저장하도록 한 경우, 해당 컨텐츠가 시간 경과 등으로 인해 유효성을 상실하였음을 확인하고 해당 클라이언트 및 인접한 클라이언트의 브라우저캐시에 갱신된 컨텐츠를 전송하여 복수의 클라이언트가 갱신된 컨텐츠를 수신하고 이용하도록 하는 캐시서버와 브라우저캐시를 이용한 컨텐츠 캐싱방법 및 그 캐시서버를 제공하는데 그 목적이 있다.The present invention has been proposed to solve the above-mentioned problems. When the cache server transmits content in response to a request for a content from a client and stores the content in a browser cache of the client, the content is valid due to elapsed time. It provides a cache server and a content caching method using a cache server and a browser cache to ensure that a plurality of clients receive and use the updated content by transmitting the updated content to the browser cache of the client and the adjacent client to confirm that the Its purpose is to.

상기와 같은 목적을 달성하기 위한 본 발명의 캐시서버와 브라우저캐시를 이용한 컨텐츠 캐싱방법은, 캐시서버가 컨텐츠서버로부터 컨텐츠를 수신하여 상기 컨텐츠 및 상기 컨텐츠에 대한 유효성 정보를 저장하는 수신단계, 상기 캐시서버가 특정 브라우저캐시에 대응되는 클라이언트로부터 상기 컨텐츠에 대한 요청을 수신하면 상기 컨텐츠를 상기 클라이언트로 전송하여 상기 특정 브라우저캐시에 저장하도록 하는 제1저장단계, 상기 캐시서버가 상기 특정 브라우저캐시를 포함한 복수의 브라우저캐시를 하나의 브라우저캐시 그룹으로 그룹핑하는 그룹핑단계, 및 상기 캐시서버가 상기 특정 브라우저캐시에 저장된 상기 컨텐츠의 유효성이 없음을 확인하면 상기 컨텐츠서버로 상기 컨텐츠에 대한 갱신된 컨텐츠를 요청하여 수신하고 상기 그룹에 속한 하나 이상의 브라우저캐시에 대응되는 클라이언트로 상기 갱신된 컨텐츠를 전송하여 상기 하나 이상의 브라우저캐시에 저장하도록 하는 제2저장단계를 포함한다.Contents caching method using a cache server and a browser cache of the present invention for achieving the above object, the cache server receives the content from the content server to receive the content and the validity information for the content, the cache When the server receives a request for the content from a client corresponding to a specific browser cache, a first storage step of transmitting the content to the client to store the specific browser cache, a plurality of cache server including the specific browser cache Grouping the browser cache into a single browser cache group, and when the cache server determines that the content stored in the specific browser cache is not valid, requests and receives updated content for the content from the content server. To the group To the client that corresponds to the at least one browser cache includes a second storage step of storing to the at least one browser cache by transferring the updated content.

본 발명의 캐시서버와 브라우저캐시를 이용한 컨텐츠 캐싱방법에 있어서, 상기 수신단계에서 상기 컨텐츠에 대한 유효성 정보는, 상기 컨텐츠의 헤더에 포함된 정보인 것을 특징으로 한다.In the content caching method using the cache server and the browser cache of the present invention, the validity information of the content in the receiving step is characterized in that the information contained in the header of the content.

본 발명의 캐시서버와 브라우저캐시를 이용한 컨텐츠 캐싱방법에 있어서, 상기 수신단계에서, 상기 컨텐츠에 대한 유효성 정보는 상기 컨텐츠의 타임 스탬프 정보 및 유효기간 정보 중 하나 이상의 정보를 포함하는 것을 특징으로 한다.In the content caching method using the cache server and the browser cache of the present invention, in the receiving step, the validity information of the content is characterized in that it comprises one or more information of the time stamp information and the validity period information of the content.

본 발명의 캐시서버와 브라우저캐시를 이용한 컨텐츠 캐싱방법에 있어서, 상기 그룹핑단계는, 상기 복수의 브라우저캐시 각각에 대응되는 클라이언트의 IP(Internet Protocol) 어드레스를 참조하여 지역적으로 인접한 상기 복수의 브라우저캐시를 상기 하나의 브라우저캐시 그룹으로 그룹핑하는 것을 특징으로 한다.In the content caching method using the cache server and the browser cache of the present invention, the grouping step may include: browsing the plurality of locally cached browser caches by referring to an Internet Protocol (IP) address of a client corresponding to each of the plurality of browser caches; Grouping into one browser cache group.

본 발명의 캐시서버와 브라우저캐시를 이용한 컨텐츠 캐싱방법에 있어서, 상기 그룹핑단계에서 상기 하나의 브라우저캐시 그룹은, 다른 브라우저캐시 그룹과 중첩적으로 브라우저캐시를 포함하도록 그룹핑한 것을 특징으로 한다.In the content caching method using the cache server and the browser cache of the present invention, in the grouping step, the one browser cache group is grouped to include the browser cache overlapping with another browser cache group.

본 발명의 캐시서버와 브라우저캐시를 이용한 컨텐츠 캐싱방법에 있어서, 상기 제2저장단계는, 기설정된 주기에 따라 상기 컨텐츠의 유효성을 검사하여 상기 컨텐츠의 유효성이 없음을 확인하는 것을 특징으로 한다.In the content caching method using the cache server and the browser cache of the present invention, the second storing step is characterized in that the validity of the content is checked by checking the validity of the content according to a predetermined period.

본 발명의 캐시서버와 브라우저캐시를 이용한 컨텐츠 캐싱방법에 있어서, 상기 제2저장단계는, 상기 브라우저캐시 그룹에 속한 임의의 브라우저캐시에 대응되 는 클라이언트로부터 상기 갱신된 컨텐츠에 대한 요청이 있기 전에 상기 갱신된 컨텐츠를 미리 전송하는 것을 특징으로 한다.In the content caching method using the cache server and the browser cache of the present invention, the second storing step is performed before the request for the updated content is received from a client corresponding to any browser cache belonging to the browser cache group. The updated content may be transmitted in advance.

상기와 같은 목적을 달성하기 위한 본 발명의 캐시서버는, 데이터 송수신을 위한 입출력부, 컨텐츠, 상기 컨텐츠에 대한 유효성 정보 및 복수의 브라우저캐시를 포함한 브라우저캐시 그룹 정보를 저장한 데이터베이스부, 및 컨텐츠서버로부터 상기 입출력부를 통해 상기 컨텐츠를 수신하면 상기 데이터베이스부에 상기 컨텐츠 및 상기 컨텐츠에 대한 유효성 정보를 저장하고, 클라이언트로부터 상기 컨텐츠에 대한 요청을 수신하면 상기 컨텐츠를 상기 클라이언트로 전송하여 상기 클라이언트에 대응되는 특정 브라우저캐시에 저장하도록 하며, 상기 특정 브라우저캐시를 포함한 복수의 브라우저캐시를 하나의 브라우저캐시 그룹으로 그룹핑하여 상기 데이터베이스부에 상기 그룹 정보를 저장하고, 상기 데이터베이스부에 저장된 상기 컨텐츠에 대한 유효성 정보를 참조하여 상기 컨텐츠의 유효성이 없음을 확인하면 상기 컨텐츠서버로 상기 입출력부를 통해 상기 컨텐츠에 대한 갱신된 컨텐츠를 요청하여 수신하며, 상기 입출력부를 통해 상기 그룹에 속한 하나 이상의 브라우저캐시에 대응되는 클라이언트로 상기 갱신된 컨텐츠를 전송하여 상기 하나 이상의 브라우저캐시에 저장하도록 하는 제어부를 포함한다.The cache server of the present invention for achieving the above object, the database unit for storing the input and output unit for transmitting and receiving data, the content, the validity information for the content and the browser cache group information including a plurality of browser cache, and the content server When the content is received through the input and output unit from the store the content and the validity information about the content in the database unit, when receiving a request for the content from the client to transmit the content to the client corresponding to the client Store the group information in the database unit by grouping a plurality of browser caches including the specific browser cache into a single browser cache group, and storing the group information in the database unit. If it is determined that the contents are not valid by referring to the Hyosung information, the content server requests and receives updated contents of the contents through the input / output unit, and corresponds to one or more browser caches belonging to the group through the input / output unit. And a controller for transmitting the updated contents to a client and storing the updated contents in the one or more browser caches.

본 발명의 캐시서버에 있어서, 상기 제어부는, 상기 컨텐츠서버로부터 상기 입출력부를 통해 상기 갱신된 컨텐츠를 수신하여 상기 데이터베이스부에 저장함과 동시에 상기 갱신된 컨텐츠를 전송하는 것을 특징으로 한다.In the cache server of the present invention, the controller may receive the updated content from the content server through the input / output unit, store the updated content, and simultaneously transmit the updated content.

본 발명의 캐시서버에 있어서, 상기 컨텐츠에 대한 유효성 정보는, 상기 컨텐츠에 대한 타임 스탬프 정보 및 유효기간 정보 중 하나 이상의 정보를 포함하는 것을 특징으로 한다.In the cache server of the present invention, the validity information on the content may include one or more of time stamp information and validity period information on the content.

본 발명의 캐시서버에 있어서, 상기 제어부는, 기설정된 주기에 따라 상기 컨텐츠의 유효성을 검사하여 상기 컨텐츠의 유효성이 없음을 확인하는 것을 특징으로 한다.In the cache server of the present invention, the controller checks the validity of the content according to a predetermined period, and confirms that the content is not valid.

본 발명에 의하면, 인접한 복수의 클라이언트 브라우저캐시를 그룹핑하고 유효성이 있는 갱신된 컨텐츠를 저장하도록 함으로써 클라이언트 서로 간에 데이터 통신 등을 통하여 갱신된 컨텐츠를 이용하도록 할 수 있으며, 이를 통해, 캐시서버로 집중되는 데이터 트래픽을 분산하고 네트워크 효율적인 사용이 가능하게 된다.According to the present invention, by grouping a plurality of adjacent client browser caches and storing the updated updated content, it is possible to use the updated content through data communication between the clients, through which the centralized cache server is concentrated. It distributes data traffic and enables network efficient use.

이하 첨부된 도면을 참조하여 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있는 바람직한 실시예를 상세히 설명한다. 다만, 본 발명의 바람직한 실시예에 대한 동작 원리를 상세하게 설명함에 있어 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략한다. 또한, 도면 전체에 걸쳐 유사한 기능 및 작용을 하는 부분에 대해서는 동일한 도면 부호를 사용한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings. However, in describing in detail the operating principle of the preferred embodiment of the present invention, if it is determined that the detailed description of the related known functions or configurations may unnecessarily obscure the subject matter of the present invention, the detailed description thereof will be omitted. In addition, the same reference numerals are used for parts having similar functions and functions throughout the drawings.

도 1은 본 발명의 일 실시예에 따른 컨텐츠 전송시스템의 구성도이다. 도 1 을 참조하면, 본 실시예의 컨텐츠 전송시스템은 제1 클라이언트 내지 제n 클라이언트(110-1, ..., 110-n), 제1 브라우저캐시 내지 제n 브라우저캐시(120-1, ..., 120-n), 캐시서버(130), 컨텐츠서버(140) 및 네트워크(150)를 포함하여 구성된다.1 is a block diagram of a content delivery system according to an embodiment of the present invention. Referring to Figure 1, the content delivery system of the present embodiment is the first client to the n-th client (110-1, ..., 110-n), the first browser cache to the n-th browser cache (120-1, .. , 120-n), cache server 130, content server 140, and network 150.

제1 클라이언트 내지 제n 클라이언트(110-1, ..., 110-n)는 네트워크(150)로 연결된 서버로부터 정보를 제공받는 컴퓨터 등의 단말을 의미한다. 제1 클라이언트 내지 제n 클라이언트(110-1, ..., 110-n)는 브라우저(browser)에 특정 컨텐츠를 요청(request)하는 URL(Uniform Resource Locater) 등이 입력되면, DNS(Domain Name Server) 등에 액세스(access)하여 도메인명을 해당 컨텐츠를 제공하는 컨텐츠서버(140) 또는 캐시서버(130)의 IP 주소로 변환하고 해당 IP 주소에 대응되는 서버로 접속하여 컨텐츠를 전송받는 역할을 한다.The first to nth clients 110-1,..., And 110-n refer to a terminal such as a computer that receives information from a server connected to the network 150. When the first client to the n-th client 110-1,..., 110-n receives a Uniform Resource Locater (URL) for requesting specific content from a browser, a DNS (Domain Name Server) Access to the IP address of the content server 140 or the cache server 130 that provides the content, and access the server corresponding to the IP address to receive the content.

제1 브라우저캐시(browser cache) 내지 제n 브라우저캐시(120-1, ..., 120-n)는 각각 제1 클라이언트 내지 제n 클라이언트(110-1, ..., 110-n)의 브라우저에 대응되는 컨텐츠 저장소이다. 즉, 각각의 브라우저가 컨텐츠서버(140) 또는 캐시서버(130)로부터 특정 컨텐츠를 수신하면, 제1 브라우저캐시 내지 제n 브라우저캐시(120-1, ..., 120-n) 중 대응되는 클라이언트의 브라우저캐시에 저장하여, 브라우저 창 등을 통해 디스플레이하는데 활용하게 된다.The first browser cache to n-th browser caches 120-1 to 120-n are browsers of the first to n-th clients 110-1 to 110-n, respectively. The content repository corresponding to. That is, when each browser receives specific content from the content server 140 or the cache server 130, the corresponding client of the first browser cache to n-th browser cache (120-1, ..., 120-n) It is stored in the browser cache and used to display through the browser window.

캐시서버(130)는 예를 들어, 복제서버(copy server) 또는 고스트 서버(ghost server) 등으로 불리며, 컨텐츠서버(140)가 저장 및 관리하는 컨텐츠 데이터의 복사본을 저장하는 저장소이다. 캐시서버(130)는 제1 클라이언트 내지 제n 클라이언트(110-1, ..., 110-n) 중 어느 한 클라이언트로부터의 컨텐츠 요청이 있을 경우 신속하게 응답하는 역할을 한다.The cache server 130 is called, for example, a copy server or a ghost server, and is a storage for storing a copy of content data stored and managed by the content server 140. The cache server 130 quickly responds to a content request from any one of the first to n-th clients 110-1,..., 110-n.

컨텐츠서버(140)는 컨텐츠 제공자가 제공하는 웹페이지 및 객체(object) 등을 저장하고 있다가 제1 클라이언트 내지 제n 클라이언트(110-1, ..., 110-n) 중 어느 한 클라이언트로부터의 컨텐츠 요청이 있을 경우 응답하는 역할을 하는 서버이다. 즉, 컨텐츠서버(140)는 특정 클라이언트로부터 요청된 컨텐츠를 전송하는 역할을 하며, 컨텐츠서버(140)가 보유한 컨텐츠 중 일부를 캐시서버(130)로 전송하여 저장하도록 한다. 이를 통해, 캐시서버(130)에서 특정 클라이언트의 요청에 따른 컨텐츠를 신속하게 제공하는 것이 가능하게 된다.The content server 140 stores a web page and an object provided by the content provider, and then stores the web page and the object from one of the first to n-th clients 110-1,..., 110-n. Server that responds to content requests. That is, the content server 140 plays a role of transmitting content requested from a specific client, and transmits and stores some of the content held by the content server 140 to the cache server 130. Through this, it is possible to quickly provide the content according to the request of the specific client in the cache server (130).

네트워크(150)는 제1 클라이언트 내지 제n 클라이언트(110-1, ..., 110-n), 캐시서버(130), 및 컨텐츠서버(140) 간의 데이터 전송, 정보 교환을 위한 데이터 통신망을 의미한다.The network 150 refers to a data communication network for data transmission and information exchange between the first to nth clients 110-1,..., 110-n, the cache server 130, and the content server 140. do.

예를 들어, 캐시서버(130)가 컨텐츠서버(140)로부터 컨텐츠를 수신하여 저장하고 있는 중에 제1 클라이언트(110-1)로부터 컨텐츠 요청을 수신하면 해당 컨텐츠를 전송하고, 제1 클라이언트(110-1)는 해당 컨텐츠를 수신하여 제1 브라우저캐시(120-1)에 저장한다.For example, when the cache server 130 receives a content request from the first client 110-1 while receiving and storing the content from the content server 140, the cache server 130 transmits the corresponding content, and the first client 110-. 1) receives the corresponding content and stores it in the first browser cache 120-1.

그리고 캐시서버(130)는 제1 브라우저캐시(120-1)를 포함한 제2 브라우저캐시 내지 제n 브라우저캐시(120-2, ..., 120-n)를 하나의 브라우저캐시 그룹(group)으로 그룹핑(grouping)한다. The cache server 130 converts the second browser cache to the n-th browser cache 120-2,..., 120-n including the first browser cache 120-1 into one browser cache group. Grouping

그리고 캐시서버(130)는 타임 스탬프(time stamp) 등을 이용하여 제1 브라우저캐시(120-1)에 저장된 컨텐츠의 유효성을 주기적으로 검사한다. 만일 타임 스탬 프가 생성된 시간으로부터 일정시간이 경과하여 유효성이 없는 것으로 판단되면, 캐시서버(130)는 컨텐츠서버(140)로 해당 컨텐츠의 갱신된 컨텐츠를 요청하여 수신한다.The cache server 130 periodically checks the validity of the content stored in the first browser cache 120-1 by using a time stamp. If a predetermined time elapses from the time when the time stamp is generated, the cache server 130 requests and receives updated content of the corresponding content from the content server 140.

수신된 갱신된 컨텐츠는 제1 클라이언트 내지 제n 클라이언트(110-1, ..., 110-n) 중 하나 이상의 클라이언트로 전송되어 제1 브라우저캐시 내지 제n 브라우저캐시(120-1, ..., 120-n) 중 대응되는 브라우저캐시에 저장된다.The received updated content is transmitted to one or more clients of the first to n th clients 110-1,..., 110-n to transmit the first to n th browser caches 120-1, ... , 120-n) is stored in the corresponding browser cache.

브라우저캐시 그룹으로 그룹핑되는 제1 브라우저캐시 내지 제n 브라우저캐시(120-1, ..., 120-n)는 지역적으로 인접한 클라이언트(110-1, ..., 110-n)에 대응되는 브라우저캐시일 수 있다. 일반적으로 지역적으로 인접한 클라이언트 간의 데이터 송수신 속도가 상대적으로 빠르기 때문에, 캐시서버(130)로부터 특정 컨텐츠를 수신하지 않고도, 제1 클라이언트 내지 제n 클라이언트(110-1, ..., 110-n) 서로 간의 데이터 송수신을 통해 갱신된 컨텐츠를 수신하고 이용하는 것이 가능해 진다.The first browser cache, n-th browser cache 120-1, ..., 120-n, which is grouped into a browser cache group, corresponds to the locally adjacent clients 110-1, ..., 110-n. It may be a cache. In general, since data transmission / reception rates are relatively fast between locally adjacent clients, the first to n-th clients 110-1,..., 110-n are not connected to each other without receiving specific content from the cache server 130. It is possible to receive and use updated contents through data transmission and reception between them.

특히, 갱신된 컨텐츠가 대용량이고 캐시서버(130)의 네트워크 상태가 좋지 않은 경우, 피투피(P2P: Peer to Peer) 방식 등으로 인접한 클라이언트의 브라우저캐시로부터 갱신된 컨텐츠를 직접 수신하여 이용하도록 하는 것이 가능하다.In particular, when the updated content is large and the network status of the cache server 130 is not good, it is possible to directly receive and use the updated content from the browser cache of an adjacent client by using Peer to Peer (P2P) method. Do.

본 발명의 일 실시예에 따른 캐시서버(130)의 구성 및 동작에 대해서는 도 2를 참조하여 좀 더 상세하게 설명하기로 한다.The configuration and operation of the cache server 130 according to an embodiment of the present invention will be described in more detail with reference to FIG. 2.

도 2는 본 발명의 일 실시예에 따른 도 1에 도시된 캐시서버(130)의 구성도 이다. 도 2를 참조하면, 본 실시예에 따른 캐시서버(130)는 입출력부(210), 제어부(220) 및 데이터베이스부(230)를 포함하여 구성된다.2 is a configuration diagram of the cache server 130 shown in FIG. 1 according to an embodiment of the present invention. Referring to FIG. 2, the cache server 130 according to the present exemplary embodiment includes an input / output unit 210, a controller 220, and a database unit 230.

입출력부(210)는 네트워크(150)를 통하여 데이터를 송수신하기 위한 인터페이스를 갖는다.The input / output unit 210 has an interface for transmitting and receiving data through the network 150.

데이터베이스부(230)는 컨텐츠, 컨텐츠에 대한 유효성 정보 및 복수의 브라우저캐시를 포함한 브라우저캐시 그룹 정보를 저장한 저장소이다. 데이터베이스부(230)는 제1 브라우저캐시 내지 제n 브라우저캐시(120-1, ..., 120-n)에 저장된 컨텐츠 정보를 포함한다. The database unit 230 is a storage storing browser cache group information including content, validity information of the content, and a plurality of browser caches. The database unit 230 includes content information stored in the first browser cache to n-th browser cache 120-1,..., 120-n.

제어부(220)는 입출력부(210)를 통해 컨텐츠서버(140)로부터 컨텐츠를 수신하면 해당 컨텐츠 및 해당 컨텐츠에 대한 유효성 정보를 데이터베이스부(230)에 저장한다. 예를 들어, 수신된 컨텐츠 데이터의 헤더는 컨텐츠의 타임 스탬프 정보 및 유효기간 정보 등의 유효성 정보를 포함할 수 있다.When the controller 220 receives the content from the content server 140 through the input / output unit 210, the controller 220 stores the content and validity information about the content in the database unit 230. For example, the header of the received content data may include validity information such as time stamp information and expiration date information of the content.

이후, 제어부(220)가 입출력부(210)를 통해 특정 클라이언트로부터 컨텐츠 요청을 수신하면, 데이터베이스부(230)에 저장된 해당 컨텐츠를 클라이언트로 전송하여 대응되는 브라우저캐시에 저장하도록 한다.Thereafter, when the controller 220 receives a content request from a specific client through the input / output unit 210, the controller 220 transmits the corresponding content stored in the database unit 230 to the client to store the corresponding browser cache.

그리고 제어부(220)는 컨텐츠를 수신한 특정 클라이언트를 비롯하여 복수의 클라이언트에 대응되는 브라우저캐시들을 하나의 브라우저캐시 그룹으로 그룹핑하고 브라우저캐시 그룹 정보를 데이터베이스부(230)에 저장한다. 이때, 그룹핑되는 브라우저캐시들은 지역적으로 서로 인접한 브라우저캐시들일 수 있으며, 지역적으로 인접한 브라우저캐시에 대응되는 클라이언트 간의 전송속도가 일반적으로 빠르 기 때문임은 상기한 바와 같다. 그룹핑 되는 브라우저캐시 그룹은 다른 브라우저캐시 그룹과 중첩적으로 브라우저캐시를 포함하도록 그룹핑될 수 있다.The controller 220 groups the browser caches corresponding to the plurality of clients including the specific client that has received the content into one browser cache group, and stores the browser cache group information in the database unit 230. In this case, the browser caches that are grouped may be browser caches that are locally adjacent to each other, and the reason is that transmission rates between clients corresponding to browser caches that are locally adjacent are generally fast. Groups of browser caches that are grouped may be grouped to include the browser cache, overlapping with other browser cache groups.

그리고 제어부(220)는 데이터베이스부(230)에 저장된 컨텐츠에 대한 유효성 정보를 참조하여 해당 컨텐츠가 유효성이 있는지 검사한다. 상기한 바와 같이, 컨텐츠에 대한 유효성 정보는 컨텐츠에 대한 타임 스탬프 정보 및 유효기간 정보 등을 포함할 수 있는데, 이때, 제어부(230)는 컨텐츠의 타임 스탬프 생성 시각으로부터 유효기간이 경과하였는지를 확인하여 컨텐츠의 유효성을 검사할 수 있다. 컨텐츠에 대한 유효성 검사는 일정 시간 간격을 두고 주기적으로 이루어질 수 있다.The controller 220 refers to the validity information of the content stored in the database 230 to check whether the corresponding content is valid. As described above, the validity information on the content may include time stamp information and expiration date information on the content, etc. In this case, the controller 230 checks whether the validity period has elapsed from the time stamp generation time of the content. You can check the validity of Validation of the content may be performed periodically at regular time intervals.

제어부(220)는 컨텐츠에 대한 유효성 검사 결과 타임 스탬프 생성 시각으로부터 유효기간이 경과하여 유효성이 없음이 확인되면, 입출력부(210)를 통해 컨텐츠서버(140)로 해당 컨텐츠에 대응되는 갱신된 컨텐츠를 요청하고 이를 수신하여 데이터베이스부(230)에 저장한다.If the validity period has elapsed since the validity check result of the timestamp generation time for the content, and the control unit 220 determines that the validity is not corrected, the controller 220 transmits the updated content corresponding to the corresponding content to the content server 140 through the input / output unit 210. The request is received and stored in the database unit 230.

이후, 제어부(220)는 데이터베이스부(230)에 저장된 갱신된 컨텐츠를 브라우저캐시 그룹에 속한 하나 이상의 브라우저캐시에 대응되는 클라이어언트로 전송하여 각 브라우저캐시에 갱신된 컨텐츠를 저장하도록 한다.Thereafter, the controller 220 transmits the updated content stored in the database 230 to a client corresponding to one or more browser caches belonging to the browser cache group to store the updated content in each browser cache.

이때, 브라우저캐시에의 갱신된 컨텐츠 저장은, 브라우저캐시 그룹에 속한 브라우저캐시에 대응되는 임의의 클라이언트로부터 갱신된 컨텐츠에 대한 요청이 있기 전에, 미리 이루어질 수 있다. 이렇게 하여, 갱신된 컨텐츠에 대한 전송이 캐시서버(130)가 아니라 인접한 다른 클라이언트의 브라우저캐시에서 이루어질 수 있다. 이때, 갱신된 컨텐츠의 전송은, 예를 들어, 피투피(P2P: Peer to Peer) 방식으 로 이루어질 수 있을 것이다.At this time, the updated content storage in the browser cache may be made in advance before a request for updated content is received from any client corresponding to the browser cache belonging to the browser cache group. In this way, the transmission of the updated content may be made in the browser cache of another client, not the cache server 130. In this case, the updated content may be transmitted, for example, in a Peer to Peer (P2P) manner.

본 발명의 일 실시예에 따른 데이터베이스부(230)가 보유한 정보에 대해서는 도 3 및 도 4를 참조하여 좀 더 상세하게 설명하기로 한다.Information held by the database unit 230 according to an embodiment of the present invention will be described in more detail with reference to FIGS. 3 and 4.

도 3은 본 발명의 일 실시예에 따른 도 2의 데이터베이스부(230)에 저장된 유효성 정보테이블(300)의 예시도이다. 도 3을 참조하면, 유효성 정보테이블(300)은 컨텐츠, 타임 스탬프, 유효기간, 유효성의 항목을 포함하여 이루어진다.3 is an exemplary diagram of a validity information table 300 stored in the database unit 230 of FIG. 2 according to an embodiment of the present invention. Referring to FIG. 3, the validity information table 300 includes items of contents, time stamps, validity periods, and validity.

컨텐츠 항목은 캐시서버(130) 또는 제1 브라우저캐시 내지 제n 브라우저캐시(120-1, ..., 120-n)에 저장된 컨텐츠 정보를 포함한 필드이다.The content item is a field including content information stored in the cache server 130 or the first through n-th browser caches 120-1, ..., 120-n.

타임 스탬프 항목은 각 컨텐츠가 생성된 시각 정보 등을 포함한 필드이다.The time stamp item is a field including time information of each content generated.

유효기간 항목은 타임 스탬프가 나타내는 시점부터 해당 컨텐츠가 유효성을 갖는 기간 정보를 포함한 필드이다.The validity period item is a field including duration information that the corresponding content has validity from the time indicated by the time stamp.

유효성 항목은 각 컨텐츠가 유효성이 있는지에 대한 정보를 포함한 필드이다.The validity item is a field containing information on whether each content is valid.

컨텐츠 항목을 참조하면, 캐시서버(130) 또는 제1 브라우저캐시 내지 제n 브라우저캐시(120-1, ..., 120-n)에 저장된 컨텐츠가 'image1.gif', 'image2.gif', 'image3.gif', ... 등임을 알 수 있다.Referring to the content item, the content stored in the cache server 130 or the first browser cache to n-th browser cache (120-1, ..., 120-n) is 'image1.gif', 'image2.gif', You can see that it is 'image3.gif', ... and so on.

'image1.gif' 컨텐츠의 타임 스탬프는 'xxxx-xx-xx-xx'이고 유효기간이 타임 스탬프 생성 시각으로부터 30분(min: minute)임을 알 수 있다. 그리고 대응되는 유효성 항목을 참조하면, 'N(none)'로 되어 있으므로, 타임 스탬프 생성 시각으로부 터 유효기간이 경과하여 유효성이 없는 컨텐츠 임을 알 수 있다. 이는, 해당 컨텐츠에 대한 신뢰성이 없거나, 컨텐츠서버(140)에 해당 컨텐츠에 대응되는 갱신된 컨텐츠가 존재함을 의미한다.It can be seen that the time stamp of the content of 'image1.gif' is 'xxxx-xx-xx-xx' and the validity period is 30 minutes (min: minute) from the time stamp generation time. When the corresponding validity item is referred to as 'N (none)', the validity period elapses from the time stamp generation time, indicating that the content is invalid. This means that there is no reliability of the corresponding content or there is updated content corresponding to the corresponding content in the content server 140.

반면, 'image2.gif' 컨텐츠의 타임 스탬프는 'yyyy-yy-yy-yy'이고 유효기간이 타임 스탬프 생성 시각으로부터 20분이며, 대응되는 유효성 항목이 'Y(yes)'로 되어 있으므로, 유효성이 있는 컨텐츠임을 알 수 있다. 마찬가지로, 'image3.gif' 컨텐츠의 타임 스탬프는 'zzzz-zz-zz-zz'이고 유효기간이 타임 스탬프 생성 시각으로부터 20분이며, 유효성 항목이 'Y'로 되어 있어 유효성이 있는 컨텐츠임을 알 수 있다.On the other hand, the time stamp of the 'image2.gif' content is 'yyyy-yy-yy-yy', and the validity period is 20 minutes from the time stamp generation time, and the corresponding validity item is 'Y (yes)'. You can see that this is content. Similarly, the time stamp of the 'image3.gif' content is 'zzzz-zz-zz-zz', the validity period is 20 minutes from the time stamp generation time, and the validity item is 'Y', indicating that the content is valid. have.

도 4는 본 발명의 일 실시예에 따른 도 2의 데이터베이스부(230)에 저장된 브라우저캐시 그룹테이블(410) 및 링크 정보테이블(420)의 예시도이다. 4 is an exemplary diagram of a browser cache group table 410 and a link information table 420 stored in the database unit 230 of FIG. 2 according to an embodiment of the present invention.

도 4에서 브라우저캐시 그룹테이블(410)을 참조하면, 클라이언트 IP 어드레스와 브라우저캐시 그룹 항목으로 이루어져 있다. 또한, 링크 정보테이블(420)은 브라우저캐시 그룹, 클라이언트 IP 어드레스 및 저장 컨텐츠 항목으로 이루어져 있다.Referring to the browser cache group table 410 in FIG. 4, the client IP address and the browser cache group item are configured. The link information table 420 also consists of a browser cache group, a client IP address, and a stored content item.

브라우저캐시 그룹테이블(410)에서 클라이언트 IP 어드레스 항목은 각각의 클라이언트에 대응되는 IP 어드레스 정보를 포함한 필드이다. 그리고 브라우저캐시 그룹 항목은 각각의 클라이언트 IP 어드레스에 대응되는 브라우저캐시가 속한 브라우저캐시 그룹의 정보를 포함한 필드이다.In the browser cache group table 410, a client IP address item is a field including IP address information corresponding to each client. The browser cache group item is a field including information of the browser cache group to which the browser cache corresponding to each client IP address belongs.

링크 정보테이블(420)에서 브라우저캐시 그룹 항목은, 브라우저캐시 그룹테이블(410)의 각 브라우저캐시 그룹 항목과 링크된(linked) 정보 필드이며, 정보의 링크는, 예를 들어, 연결 리스트(linked list) 형태로 이루어질 수 있다. 클라이언트 IP 어드레스 항목은 각 브라우저캐시 그룹에 속하는 클라이언트의 IP 어드레스 정보를 포함한 필드이다. 저장 컨텐츠 항목은 각 클라이언트의 브라우저캐시에 저장된 컨텐츠의 정보를 나타내는 필드이다.In the link information table 420, the browser cache group item is an information field linked to each browser cache group item in the browser cache group table 410, and the link of the information is, for example, a linked list. It may be made in the form of). The client IP address item is a field containing IP address information of clients belonging to each browser cache group. The stored content item is a field indicating information of content stored in the browser cache of each client.

브라우저캐시 그룹테이블(410)을 참조하면, IP 어드레스가 '111.111.111.110'인 클라이언트의 브라우저캐시는 제1그룹에 속하는 것을 알 수 있다. 그리고 제1그룹 항목에 링크된 링크 정보테이블(420)의 항목에는 제1그룹에 속하는 클라이언트 브라우저캐시의 IP 어드레스가 '111.111.111.110', '111.111.111.111', '111.111.111.112', ... 등임을 알 수 있다.Referring to the browser cache group table 410, it can be seen that the browser cache of the client whose IP address is '111.111.111.110' belongs to the first group. In the item of the link information table 420 linked to the first group item, the IP address of the client browser cache belonging to the first group is '111.111.111.110', '111.111.111.111', '111.111.111.112', ... It can be seen that.

이때, IP 어드레스가 '111.111.111.110'인 클라이언트의 브라우저캐시에 저장된 컨텐츠는 'image1.gif' 및 'image2.gif' 이며, 마찬가지로, IP 어드레스가 '111.111.111.111'인 클라이언트의 브라우저캐시에는 'image1.gif' 및 'image3.gif'의 컨텐츠가 저장되어 있고, IP 어드레스가 '111.111.111.112'인 클라이언트의 브라우저캐시에는 'image2.gif' 및 'image3.gif'의 컨텐츠가 저장되어 있음을 알 수 있다.At this time, the contents stored in the browser cache of the client whose IP address is '111.111.111.110' are 'image1.gif' and 'image2.gif'. Similarly, the image of the client having the IP address of '111.111.111.111' is 'image1.' You can see that the contents of '.gif' and 'image3.gif' are stored and the contents of 'image2.gif' and 'image3.gif' are stored in the browser cache of the client whose IP address is '111.111.111.112'. have.

예를 들어, IP 어드레스가 '111.111.111.110'인 클라이언트가 캐시서버(130)로 'image1.gif'의 컨텐츠를 요청하면, 캐시서버(130)는 해당 컨텐츠를 '111.111.111.110'인 클라이언트로 전송하여 대응되는 브라우저캐시에 저장하도록 한다.For example, when a client having an IP address of '111.111.111.110' requests a content of 'image1.gif' from the cache server 130, the cache server 130 transmits the content to a client having '111.111.111.110'. To store the corresponding browser cache.

그리고 IP 어드레스가 '111.111.111.110'인 클라이언트에 대응되는 브라우저캐시를 포함하여 복수의 브라우저캐시를 제1그룹으로 그룹핑하고, 브라우저캐시 그룹테이블(410) 및 링크 정보테이블(420)을 생성 또는 갱신한다.A plurality of browser caches are grouped into a first group, including a browser cache corresponding to a client having an IP address of '111.111.111.110', and a browser cache group table 410 and a link information table 420 are generated or updated. .

이후, 캐시서버(130)는 기설정된 시각 또는 일정 주기에 따라 데이터베이스부(230)에 저장된 유효성 정보테이블(300)을 참조하여, 'image1.gif'의 유효성을 검사한다. 그리고, 'image1.gif'가 유효성이 없는 컨텐츠로 확인되면, 컨텐츠서버(140)로 'image1.gif'에 대응되는 갱신된 컨텐츠를 요청하고 수신한다.Thereafter, the cache server 130 checks the validity of 'image1.gif' with reference to the validity information table 300 stored in the database unit 230 according to a preset time or a predetermined period. If 'image1.gif' is identified as an invalid content, the content server 140 requests and receives updated content corresponding to 'image1.gif'.

그리고 캐시서버(130)는 브라우저캐시 그룹테이블(410)에서 IP 어드레스가 '111.111.111.110'인 클라이언트에 대응되는 브라우저캐시가 제1그룹에 속함을 확인하며, 제1그룹에 링크된 링크 정보테이블(420)의 정보를 확인하여 제1그룹에 속한 클라이언트의 IP 어드레스가 '111.111.111.110', '111.111.111.111', '111.111.111.112', ... 등이고, 그 중 'image1.gif'의 컨텐츠를 저장한 브라우저캐시에 대응되는 클라이언트의 IP 어드레스가 '111.111.111.110' 및 '111.111.111.112' 임을 확인한다.In addition, the cache server 130 confirms that the browser cache corresponding to the client having the IP address '111.111.111.110' belongs to the first group in the browser cache group table 410, and the link information table linked to the first group ( 420), the IP addresses of the clients belonging to the first group are '111.111.111.110', '111.111.111.111', '111.111.111.112', ... and the like, and the contents of 'image1.gif' Confirm that the client IP addresses corresponding to the saved browser cache are '111.111.111.110' and '111.111.111.112'.

이후, 캐시서버(130)는 제1그룹에 속한 하나 이상의 브라우저캐시로 갱신된 컨텐츠를 전송하여 저장하도록 한다. 예를 들어, IP 어드레스 '111.111.111.110'에 대응되는 브라우저캐시에만 갱신된 컨텐츠가 저장된 경우, IP 어드레스가 '111.111.111.112'인 클라이언트로가 갱신된 컨텐츠를 요청하면, 캐시서버(130)는 IP 어드레스 '111.111.111.110'를 IP 어드레스가 '111.111.111.112'인 클라이언트 로 반환하여, 양 클라이언트 간에 링크를 설정하고 데이터를 수신하도록 할 수 있다.Thereafter, the cache server 130 transmits and stores the updated content to one or more browser caches belonging to the first group. For example, when the updated content is stored only in the browser cache corresponding to the IP address '111.111.111.110', when the client having the IP address '111.111.111.112' requests the updated content, the cache server 130 requests the IP. The address '111.111.111.110' can be returned to the client with the IP address '111.111.111.112' to establish a link between both clients and receive data.

본 발명의 일 실시예에 따른 컨텐츠 캐싱과정에 대해서는 도 5를 참조하여 좀 더 상세하게 설명하기로 한다.A content caching process according to an embodiment of the present invention will be described in more detail with reference to FIG. 5.

도 5는 본 발명의 일 실시예에 따른 컨텐츠 캐싱방법의 흐름도이다. 도 1 및 도 5를 참조하면, 캐시서버(130)가 컨텐츠서버(140)로부터 컨텐츠를 수신하여 컨텐츠 및 컨텐츠의 유효성 정보를 저장한다(S510). 예를 들어, 컨텐츠의 유효성 정보는 단계(S510)에서 수신한 컨텐츠 데이터의 헤더에 포함된 정보일 수 있다. 그리고 컨텐츠의 유효성 정보는 컨텐츠의 타임 스탬프 정보 및 유효기간 정보 중 하나 이상의 정보를 포함할 수 있다.5 is a flowchart of a content caching method according to an embodiment of the present invention. 1 and 5, the cache server 130 receives the content from the content server 140 and stores the content and the validity information of the content (S510). For example, the validity information of the content may be information included in a header of the content data received in operation S510. The validity information of the content may include at least one of time stamp information and validity period information of the content.

이후, 캐시서버(130)가 제1 브라우저캐시(120-1)에 대응되는 제1 클라이언트(110-1)로부터 컨텐츠요청을 수신하면(S520), 캐시서버(130)가 해당 컨텐츠를 제1 클라이언트(110-1)로 전송하여 제1 브라우저캐시(120-1)에 저장되도록 한다(S530).Thereafter, when the cache server 130 receives a content request from the first client 110-1 corresponding to the first browser cache 120-1 (S520), the cache server 130 transmits the corresponding content to the first client. The data is transmitted to 110-1 to be stored in the first browser cache 120-1 (S530).

그리고 캐시서버(130)는 제1 브라우저캐시(120-1)를 포함한 복수의 브라우저캐시를 하나의 브라우저캐시 그룹으로 그룹핑한다(S540). 예를 들어, 단계(S540)에서의 그룹핑은, 제1 클라이언트(110-1)의 IP 어드레스를 참조하여, 제1 클라이언트(110-1)와 지역적으로 인접한 하나 이상의 클라이언트를 선택하고, 각각의 클라이언트에 대응되는 브라우저캐시를 하나의 브라우저캐시 그룹으로 그룹핑하는 방식 으로 이루어질 수 있다.The cache server 130 groups the plurality of browser caches including the first browser cache 120-1 into one browser cache group (S540). For example, the grouping in step S540 may refer to the IP address of the first client 110-1, select one or more clients locally adjacent to the first client 110-1, and select each client. This may be achieved by grouping the browser cache corresponding to the group into one browser cache group.

이후, 캐시서버(130)는 제1 브라우저캐시(120-1)로 전송하여 저장한 컨텐츠에 대한 유효성을 확인한다(S550). 예를 들어, 단계(S550)에서의 유효성 확인은 단계(S510)에서 저장된 각 컨텐츠의 타임 스탬프 및 유효기간 정보를 참조하여 이루어질 수 있다. Thereafter, the cache server 130 checks the validity of the stored content transmitted to the first browser cache 120-1 (S550). For example, the validity check in step S550 may be performed by referring to time stamps and valid period information of each content stored in step S510.

단계(S550)에서의 유효성 확인결과 컨텐츠의 유효기간이 지나 유효성이 없는 것으로 확인되면, 캐시서버(130)는 컨텐츠서버(140)로 갱신된 컨텐츠를 요청하고(S560) 수신한다(S570). 이때, 수신한 갱신된 컨텐츠는 캐시서버(130) 내의 데이터베이스 등에 저장된다.If it is determined that the validity period of the content is not valid after the validity verification step (S550), the cache server 130 requests the updated content to the content server 140 (S560) and receives it (S570). In this case, the received updated content is stored in a database or the like in the cache server 130.

그리고 캐시서버(130)는 제1 클라이언트(110-1)를 포함한 하나 이상의 클라이언트에 갱신된 컨텐츠를 전송하여 브라우저캐시 그룹에 속하는 브라우저캐시 중 제1 브라우저캐시(120-1)를 포함한 하나 이상의 브라우저캐시에 갱신된 컨텐츠가 저장되도록 한다(S580). The cache server 130 transmits the updated contents to one or more clients including the first client 110-1, and the one or more browser caches including the first browser cache 120-1 among the browser caches belonging to the browser cache group. The updated content is stored in step S580.

단계(S580)에서의 갱신된 컨텐츠 전송 및 저장은, 단계(S540)에서 그룹핑된 브라우저캐시 중 임의의 브라우저캐시에 대응되는 클라이언트로부터 갱신된 컨텐츠에 대한 요청이 있기 전에, 미리 이루어질 수 있다. 이를 통해, 캐시서버(130)가 임의의 클라이언트로부터 갱신된 컨텐츠에 대한 요청을 수신하면, 갱신된 컨텐츠를 저장한 브라우저캐시에 대응되는 클라이언트의 IP 어드레스를 반환하여, 갱신된 컨텐츠를 전송받도록 할 수 있다.The updated content transmission and storage in step S580 may be made in advance before a request for updated content is received from a client corresponding to any browser cache among the browser caches grouped in step S540. Through this, when the cache server 130 receives a request for updated content from any client, the cache server 130 may return the IP address of the client corresponding to the browser cache storing the updated content to receive the updated content. have.

본 발명에 의하면, 캐시서버가 클라이언트의 브라우저캐시에 저장된 컨텐츠가 유효성이 없음을 확인하고 해당 브라우저캐시를 포함한 복수의 브라우저캐시 중 하나 이상의 브라우저캐시에 갱신된 컨텐츠를 전송하여 저장하도록 함으로써, 이후 특정 클라이언트로부터 갱신된 컨텐츠에 대한 요청이 있으면 갱신된 컨텐츠를 저장한 클라이언트의 브라우저캐시로부터 갱신된 컨텐츠를 수신하도록 할 수 있다. 이를 통해, 캐시서버로 집중되는 트래픽을 분산할 수 있으며, 전송속도 향상을 위한 캐시서버의 증설 및 관리에 따른 비용을 절약할 수 있다.According to the present invention, the cache server confirms that the content stored in the browser cache of the client is not valid and transmits and stores updated content in one or more browser caches among a plurality of browser caches including the corresponding browser cache, thereby storing the specific client. If there is a request for updated content from the client, the updated content may be received from the browser cache of the client storing the updated content. Through this, the traffic concentrated on the cache server can be distributed, and the cost of the expansion and management of the cache server for the transmission speed can be reduced.

도 1은 본 발명의 일 실시예에 따른 컨텐츠 전송시스템의 구성도이다.1 is a block diagram of a content delivery system according to an embodiment of the present invention.

도 2는 도 1에 도시된 캐시서버의 구성도이다.FIG. 2 is a configuration diagram of the cache server shown in FIG. 1.

도 3은 도 2의 데이터베이스부에 저장되는 유효성 정보테이블의 예시도이다.3 is an exemplary diagram of a validity information table stored in a database unit of FIG. 2.

도 4는 도 2의 데이터베이스부에 저장되는 브라우저캐시 그룹테이블 및 링크 정보테이블의 예시도이다.4 is an exemplary diagram of a browser cache group table and a link information table stored in the database unit of FIG. 2.

도 5는 본 발명의 일 실시예에 따른 컨텐츠 캐싱방법의 흐름도이다.5 is a flowchart of a content caching method according to an embodiment of the present invention.

Claims (11)

캐시서버가 컨텐츠서버로부터 컨텐츠를 수신하여 상기 컨텐츠 및 상기 컨텐츠에 대한 유효성 정보를 저장하는 수신단계;Receiving step of the cache server receives the content from the content server to store the content and the validity information for the content; 상기 캐시서버가 특정 브라우저캐시에 대응되는 클라이언트로부터 상기 컨텐츠에 대한 요청을 수신하면 상기 컨텐츠를 상기 클라이언트로 전송하여 상기 특정 브라우저캐시에 저장하도록 하는 제1저장단계;A first storage step of transmitting the content to the client and storing the content in the specific browser cache when the cache server receives a request for the content from the client corresponding to the specific browser cache; 상기 캐시서버가 상기 특정 브라우저캐시를 포함한 복수의 브라우저캐시를 하나의 브라우저캐시 그룹으로 그룹핑하는 그룹핑단계; 및A grouping step of the cache server grouping a plurality of browser caches including the specific browser cache into one browser cache group; And 상기 캐시서버가 상기 특정 브라우저캐시에 저장된 상기 컨텐츠의 유효성이 없음을 확인하면 상기 컨텐츠서버로 상기 컨텐츠에 대한 갱신된 컨텐츠를 요청하여 수신하고 상기 그룹에 속한 하나 이상의 브라우저캐시에 대응되는 클라이언트로 상기 갱신된 컨텐츠를 전송하여 상기 하나 이상의 브라우저캐시에 저장하도록 하는 제2저장단계; 를 포함하는 캐시서버와 브라우저캐시를 이용한 컨텐츠 캐싱방법.If the cache server determines that the content stored in the specific browser cache is invalid, the cache server requests and receives updated content for the content from the content server, and updates the client to one or more browser caches belonging to the group. A second storage step of transmitting the stored contents and storing the at least one browser cache; Content caching method using a cache server and browser cache comprising a. 제1항에 있어서, 상기 수신단계에서The method of claim 1, wherein in the receiving step 상기 컨텐츠에 대한 유효성 정보는 상기 컨텐츠의 헤더에 포함된 정보인 것을 특징으로 하는 캐시서버와 브라우저캐시를 이용한 컨텐츠 캐싱방법.Validity information for the content is a content caching method using a cache server and a browser cache, characterized in that the information contained in the header of the content. 제1항에 있어서, 상기 수신단계에서 The method of claim 1, wherein in the receiving step 상기 컨텐츠에 대한 유효성 정보는 상기 컨텐츠의 타임 스탬프 정보 및 유효기간 정보 중 하나 이상의 정보를 포함하는 것을 특징으로 하는 캐시서버와 브라우저캐시를 이용한 컨텐츠 캐싱방법.The validity information of the content includes a cache server and a browser cache, characterized in that it comprises at least one of time stamp information and validity information of the content. 제1항에 있어서, 상기 그룹핑단계는The method of claim 1, wherein the grouping step 상기 복수의 브라우저캐시 각각에 대응되는 클라이언트의 IP(Internet Protocol) 어드레스를 참조하여 지역적으로 인접한 상기 복수의 브라우저캐시를 상기 하나의 브라우저캐시 그룹으로 그룹핑하는 것을 특징으로 하는 캐시서버와 브라우저캐시를 이용한 컨텐츠 캐싱방법.Contents using a cache server and a browser cache, characterized by grouping the plurality of locally cached browser caches into the one browser cache group with reference to the IP (Internet Protocol) address of the client corresponding to each of the plurality of browser caches Caching method. 제1항에 있어서, 상기 그룹핑단계에서The method of claim 1, wherein in the grouping step 상기 하나의 브라우저캐시 그룹은 다른 브라우저캐시 그룹과 중첩적으로 브라우저캐시를 포함하도록 그룹핑한 것을 특징으로 하는 캐시서버와 브라우저캐시를 이용한 컨텐츠 캐싱방법.And the one browser cache group is grouped to include the browser cache overlapping with the other browser cache group. 제1항에 있어서, 상기 제2저장단계는The method of claim 1, wherein the second storage step 기설정된 주기에 따라 상기 컨텐츠의 유효성을 검사하여 상기 컨텐츠의 유효성이 없음을 확인하는 것을 특징으로 하는 캐시서버와 브라우저캐시를 이용한 컨텐츠 캐싱방법.The content caching method using a cache server and a browser cache, characterized in that to verify the validity of the content by checking the validity of the content according to a predetermined period. 제1항에 있어서, 상기 제2저장단계는The method of claim 1, wherein the second storage step 상기 브라우저캐시 그룹에 속한 임의의 브라우저캐시에 대응되는 클라이언트로부터 상기 갱신된 컨텐츠에 대한 요청이 있기 전에 상기 갱신된 컨텐츠를 미리 전송하는 것을 특징으로 하는 캐시서버와 브라우저캐시를 이용한 컨텐츠 캐싱방법.And a cache server and a browser cache, wherein the updated content is transmitted in advance before a request for the updated content is received from a client corresponding to any browser cache belonging to the browser cache group. 데이터 송수신을 위한 입출력부;Input and output unit for transmitting and receiving data; 컨텐츠, 상기 컨텐츠에 대한 유효성 정보 및 복수의 브라우저캐시를 포함한 브라우저캐시 그룹 정보를 저장한 데이터베이스부; 및A database unit which stores contents, browser cache group information including a plurality of browser cache information and validity information about the contents; And 컨텐츠서버로부터 상기 입출력부를 통해 상기 컨텐츠를 수신하면 상기 데이터베이스부에 상기 컨텐츠 및 상기 컨텐츠에 대한 유효성 정보를 저장하고, 클라이언트로부터 상기 컨텐츠에 대한 요청을 수신하면 상기 컨텐츠를 상기 클라이언트로 전송하여 상기 클라이언트에 대응되는 특정 브라우저캐시에 저장하도록 하며, 상기 특정 브라우저캐시를 포함한 복수의 브라우저캐시를 하나의 브라우저캐시 그룹으로 그룹핑하여 상기 데이터베이스부에 상기 그룹 정보를 저장하고, 상기 데이터베이스부에 저장된 상기 컨텐츠에 대한 유효성 정보를 참조하여 상기 컨텐츠의 유효성이 없음을 확인하면 상기 컨텐츠서버로 상기 입출력부를 통해 상기 컨텐츠에 대한 갱신된 컨텐츠를 요청하여 수신하며, 상기 입출력부를 통해 상기 그룹에 속한 하나 이상의 브라우저캐시에 대응되는 클라이언트로 상기 갱신된 컨텐츠를 전송하여 상기 하나 이상의 브라우저캐시에 저장하도록 하는 제어부; 를 포함하는 캐시서버.When the content is received from the content server through the input / output unit, the content is stored in the database unit and the validity information about the content, and when the client receives a request for the content, the content is transmitted to the client to the client. Store the group information in the database unit by grouping a plurality of browser caches including the specific browser cache into one browser cache group, and validating the contents stored in the database unit. If it is determined that the content is not valid with reference to the information, the content server requests and receives updated content for the content through the input / output unit, and receives one or more blocks belonging to the group through the input / output unit. A control unit for the transmitting the updated content to the client cache corresponding to distributors or more to store the browser cache; Cache server comprising a. 제8항에 있어서, 상기 제어부는 The method of claim 8, wherein the control unit 상기 컨텐츠서버로부터 상기 입출력부를 통해 상기 갱신된 컨텐츠를 수신하여 상기 데이터베이스부에 저장함과 동시에 상기 갱신된 컨텐츠를 전송하는 것을 특징으로 하는 캐시서버.The cache server, characterized in that for receiving the updated content from the content server via the input and output unit and storing the updated content at the same time and the updated content. 제8항에 있어서, 상기 컨텐츠에 대한 유효성 정보는The method of claim 8, wherein the validity information of the content is 상기 컨텐츠에 대한 타임 스탬프 정보 및 유효기간 정보 중 하나 이상의 정보를 포함하는 것을 특징으로 하는 캐시서버.And at least one of time stamp information and expiration date information for the content. 제8항에 있어서, 상기 제어부는The method of claim 8, wherein the control unit 기설정된 주기에 따라 상기 컨텐츠의 유효성을 검사하여 상기 컨텐츠의 유효성이 없음을 확인하는 것을 특징으로 하는 캐시서버.The cache server, characterized in that for checking the validity of the content according to a predetermined period to confirm that the validity of the content.
KR1020080107645A 2008-10-31 2008-10-31 Method for content caching using cache server and browser cache, and cache server thereof KR101091982B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020080107645A KR101091982B1 (en) 2008-10-31 2008-10-31 Method for content caching using cache server and browser cache, and cache server thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020080107645A KR101091982B1 (en) 2008-10-31 2008-10-31 Method for content caching using cache server and browser cache, and cache server thereof

Publications (2)

Publication Number Publication Date
KR20100048469A true KR20100048469A (en) 2010-05-11
KR101091982B1 KR101091982B1 (en) 2011-12-08

Family

ID=42275230

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080107645A KR101091982B1 (en) 2008-10-31 2008-10-31 Method for content caching using cache server and browser cache, and cache server thereof

Country Status (1)

Country Link
KR (1) KR101091982B1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017119869A1 (en) * 2016-01-05 2017-07-13 Entit Software Llc Resource requests
CN114531489A (en) * 2022-01-14 2022-05-24 北京字节跳动网络技术有限公司 Request response method and device

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017119869A1 (en) * 2016-01-05 2017-07-13 Entit Software Llc Resource requests
US10701174B2 (en) 2016-01-05 2020-06-30 Micro Focus Llc Resource requests
CN114531489A (en) * 2022-01-14 2022-05-24 北京字节跳动网络技术有限公司 Request response method and device

Also Published As

Publication number Publication date
KR101091982B1 (en) 2011-12-08

Similar Documents

Publication Publication Date Title
US11108729B2 (en) Managing request routing information utilizing client identifiers
EP2263163B1 (en) Content management
US7953792B2 (en) Method and system for content distribution network performance and quality measurement
US20140330924A1 (en) Efficient Cache Validation and Content Retrieval in a Content Delivery Network
US20100121914A1 (en) Contents delivery system and method based on content delivery network provider and replication server thereof
US20100042725A1 (en) Contents provider participation type contents delivery system and method, and contents delivery network domain name system server thereof
WO2009144688A2 (en) System, method and device for locally caching data
KR101091982B1 (en) Method for content caching using cache server and browser cache, and cache server thereof
EP2237518A1 (en) Pre-pushing of popular content in a network of end-user equipments
KR101104727B1 (en) System and method for content delivery using cache server and browser cache
KR101066871B1 (en) System and method for content delivery using cache server and browser cache
KR101091980B1 (en) System and method for content delivery using cache server and browser cache
KR101091981B1 (en) System and method for security content delivery using cache server and browser cache
KR101140636B1 (en) System and method for contents delivery using data segment information, and proxy server thereof
KR101135032B1 (en) System and method for content delivery using cache server and settop box data storage
KR20180067936A (en) System and for wordpress content delivery using cache server and browser cache
KR20100053372A (en) System and method for contents delivery based on content delivery network provider, and replication server thereof
KR20150045891A (en) Method and apparatus for providing streaming contents

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
N231 Notification of change of applicant
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20141201

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20151130

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20161201

Year of fee payment: 6