KR101218828B1 - 요청배정장치를 이용한 상호협력캐시 방법 및 컨텐츠 제공 방법 - Google Patents

요청배정장치를 이용한 상호협력캐시 방법 및 컨텐츠 제공 방법 Download PDF

Info

Publication number
KR101218828B1
KR101218828B1 KR1020100062841A KR20100062841A KR101218828B1 KR 101218828 B1 KR101218828 B1 KR 101218828B1 KR 1020100062841 A KR1020100062841 A KR 1020100062841A KR 20100062841 A KR20100062841 A KR 20100062841A KR 101218828 B1 KR101218828 B1 KR 101218828B1
Authority
KR
South Korea
Prior art keywords
cache
cache server
content
request
server
Prior art date
Application number
KR1020100062841A
Other languages
English (en)
Other versions
KR20110002808A (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 PCT/KR2010/004285 priority Critical patent/WO2011002245A2/ko
Priority to US13/381,065 priority patent/US8959225B2/en
Publication of KR20110002808A publication Critical patent/KR20110002808A/ko
Application granted granted Critical
Publication of KR101218828B1 publication Critical patent/KR101218828B1/ko

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/2866Architectures; Arrangements
    • H04L67/288Distributed intermediate devices, i.e. intermediate devices for interaction with other intermediate devices on the same level
    • 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
    • H04L67/5682Policies or rules for updating, deleting or replacing the stored data

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명은 요청배정장치를 이용한 상호협력캐시 방법 및 컨텐츠 제공 방법에 관한 것으로, 상기 요청배정장치가 각 캐시 클러스터 내의 각 캐시 서버에 대한 할당 이력 정보, 서버 부하 정보와 임계부하 관리정보-객체 서비스 임계부하와 상호협력 임계부하 포함-를 수집하고 관리하는 상태에서, 상기 할당 이력 정보와 상기 서버 부하 정보를 이용하여 제1 캐시 클러스터 내의 각 캐시 서버 중에서 제1 컨텐츠를 보유한 캐시 서버(제1 캐시 서버)에 대한 부하 등급을 파악하고, 임계부하 관리정보를 이용하여 제1 캐시 서버 중 상기 객체 서비스 임계부하 이하인 캐시 서버가 존재하는 지를 파악하여, 객체 서비스 임계부하 이하인 상기 제1 캐시 서버가 존재하지 않는 경우에, 제1 캐시 서버 중 상기 상호협력 임계부하 이하인 캐시 서버(제2 캐시 서버)가 존재하는 지를 파악한 후, 제2 캐시 서버가 존재하는 경우에 제2 캐시 서버 중 하나의 캐시 서버(제3 캐시 서버)를 선택한다. 다음으로 요청배정장치는 객체 서비스 임계부하 이하인 상기 제1 캐시 서버가 존재하지 않는 경우에 할당 이력 정보와 서버 부하 정보를 이용하여 상기 제1 캐시 클러스터 내에서 상기 객체 서비스 임계 부하 이하인 하나의 캐시 서버(제4 캐시 서버)을 선택하여, 제3 캐시 서버와 제4 캐시 서버 간에 상기 제1 컨텐츠에 대한 상호협력캐시가 이루어지게 하고, 또한 제1 컨텐츠를 제공하게 한다.

Description

요청배정장치를 이용한 상호협력캐시 방법 및 컨텐츠 제공 방법{Cooperative cache method and contents providing method and using request proportion apparatus}
본 발명은 클러스터(cluster)화 된 애플리케이션(application) 아키텍처(architecture)에서 요청배정장치를 이용한 상호협력캐시 방법 및 컨텐츠 제공 방법에 관한 것이다.
일반적으로 클러스터화 된 애플리케이션 아키텍처에서 로드 밸런서 장치 혹은 DNS(Domain Name Server)는 서비스 특성에 맞는 로드 밸런스 알고리즘 즉, 라운드 로빈(Round Robin), 리스트 커넥션(Least Connection), 해쉬(Hash)나 가중치를 기반으로 한 스케줄링 방법 등을 이용하여 하나의 캐시 클러스터 내에 특정의 하위 캐시 서버에 부하가 집중되지 않게 로드 밸런싱(Load Balancing)하여 임의의 하나의 캐시 서버에게 컨텐츠 제공을 요청한다.
이때 컨텐츠 제공 요청을 받은 캐시 서버는 해당 컨텐츠를 가지고 있거나 그렇지 않을 수 있는데, 해당 컨텐츠를 가지고 있지 않는 경우에 상호협력 캐시를 통해서 해당 컨텐츠를 캐싱한다.
상호협력 캐시(cache)는 캐시 클러스터(cache cluster) 내의 캐시 서버간에 컨텐츠의 캐시를 공유하도록 하는 것이다.
이러한 상호협력 캐시를 위해서 종래에는 컨텐츠를 가지지 않은 캐시 서버가 동일 캐시 클러스터 내의 다른 캐시 서버 각각에게 해당 컨텐츠의 소유 여부를 문의하여 해당 컨텐츠를 소유한 캐시 서버를 찾고, 해당 컨텐츠를 소유한 캐시 서버에서 컨텐츠 내용 전달을 요청하였다. 물론 동일 캐시 클러스터내에 다른 캐시 서버 모두가 해당 컨텐츠를 소유하고 있지 않으면 원천 서버로부터 해당 컨텐츠를 다운받아 소유한다.
그런데 종래의 상호협력 캐시 방법은 캐시 클러스터 내의 캐시 서버가 많지 않은 경우이면 컨텐츠 공유를 위한 상호협력이 짧은 시간에 이루어지나, 캐시 서버가 많은 경우에는 컨텐츠를 소유한 캐시 서버를 찾기 위해 많은 시간이 소요되는 문제가 있다. 결국, 종래에는 캐시 클러스터 내의 캐시 서버가 많은 경우에 컨텐츠 제공 시간이 길어지는 문제가 발생한다.
본 발명이 해결하고자 하는 기술적 과제는 빠른 시간 내에 클라이언트가 요청한 컨텐츠가 임의의 캐시 서버를 통해 제공될 수 있게 하는 요청배정장치를 이용한 상호협력캐시 방법 및 컨텐츠 제공 방법을 제공하는 것이다.
상기 기술적 과제를 달성하기 위한 본 발명의 특징에 따르면, 복수의 원천서버, 복수의 캐시 서버를 가진 복수의 캐시 클러스터, 클라이언트의 컨텐츠 전송 요청에 따라 해당 컨텐츠를 전송할 캐시 서버를 선택하는 요청배정장치를 이용한 상호협력캐시 방법을 제공한다.
이 요청배정장치를 이용한 상호협력캐시 방법은 (a) 상기 요청배정장치가 각 캐시 클러스터 내의 각 캐시 서버에 대한 할당 이력 정보, 서버 부하 정보와 임계부하 관리정보-객체 서비스 임계부하와 상호협력 임계부하 포함-를 수집하고 관리하는 단계, (b) 상기 요청배정장치가 상기 할당 이력 정보와 상기 서버 부하 정보를 이용하여 제1 캐시 클러스터 내의 각 캐시 서버 중에서 제1 컨텐츠를 보유한 캐시 서버("제1 캐시 서버"라 함)에 대한 부하 등급을 파악하는 단계, (c) 상기 요청배정장치가 상기 임계부하 관리정보를 이용하여 상기 제1 캐시 서버 중 상기 객체 서비스 임계부하 이하인 캐시 서버가 존재하는 지를 파악하는 단계, (d) 상기 객체 서비스 임계부하 이하인 상기 제1 캐시 서버가 존재하지 않는 경우에, 상기 요청배정장치가 상기 제1 캐시 서버 중 상기 상호협력 임계부하 이하인 캐시 서버("제2 캐시 서버"라 함)가 존재하는 지를 파악하는 단계, (e) 상기 제2 캐시 서버가 존재하는 경우에, 상기 요청배정장치가 상기 제2 캐시 서버 중 하나의 캐시 서버("제3 캐시 서버"라 함)를 선택하는 단계, (f) 상기 객체 서비스 임계부하 이하인 상기 제1 캐시 서버가 존재하지 않는 경우에, 상기 요청배정장치가 상기 할당 이력 정보와 상기 서버 부하 정보를 이용하여 상기 제1 캐시 클러스터 내에서 상기 객체 서비스 임계 부하 이하인 하나의 캐시 서버("제4 캐시 서버"라 함)을 선택하는 단계, 그리고 (g) 상기 요청배정장치가 상기 제3 캐시 서버와 상기 제4 캐시 서버 간에 상기 컨텐츠 A에 대한 상호협력캐시가 이루어지게 지시하는 단계를 포함하되, 상기 객체 서비스 임계부하는 상기 상호협력 임계부하보다 낮은 것을 특징으로 한다.
상기 기술적 과제를 달성하기 위한 본 발명의 다른 특징에 따르면, 복수의 원천서버, 복수의 캐시 서버를 가진 복수의 캐시 클러스터, 클라이언트의 컨텐츠 전송 요청에 따라 해당 컨텐츠를 전송할 캐시 서버를 선택하는 요청배정장치를 이용한 컨텐츠 제공 방법을 제공한다.
이 요청배정장치를 이용한 컨텐츠 제공 방법은 (a) 상기 요청배정장치가 클라이언트로부터 수신된 제1 컨텐츠의 전송 요청에 따라 하나의 캐시 클러스터("제1 캐시 클러스터"라 함) 내에 각 캐시 서버에 대하여 할당 이력 정보를 기초로 상기 제1 컨텐츠를 보유한 캐시 서버("제1 캐시 서버"라 함)를 파악하는 단계, (b) 상기 요청배정장치가 서버 부하 정보를 이용하여 상기 제1 캐시 서버 중에서 객체 서비스 임계부하 이하인 캐시 서버("제2 캐시 서버"라 함)를 파악하는 단계, (c) 상기 요청배정장치가 상기 제2 캐시 서버 중 하나의 캐시 서버("제3 캐시 서버"라 함)에서 상기 클라이언트로 상기 제1 컨텐츠의 전송이 이루어지게 하는 단계, (d) 상기 요청배정장치가 설정 기간 내에 상기 제1 컨텐츠의 전송 요청 횟수가 설정치 이상인지를 파악하는 단계, (e) 상기 설정 기간 내에 상기 제1 컨텐츠의 전송 요청 횟수가 설정치 이상인 경우에 상기 요청배정장치가 상기 제1 캐시 클러스터 내에서 상기 객체 서비스 임계부하 이하인 하나의 non-제1 캐시 서버("제4 캐시 서버"라 함)를 선택하는 단계, (f) 상기 설정 기간 내에 상기 제1 컨텐츠의 전송 요청 횟수가 설정치 이상인 경우에 상기 요청배정장치가 상기 제1 캐시 서버 중 상호협력 임계부하 이하인 하나의 캐시 서버("제5 캐시 서버"라 함)를 선택하는 단계, 그리고 (g) 상기 요청 배정 장치가 상기 제4 캐시 서버와 상기 제5 캐시 서버 간에 상호 협력 캐시를 지시하여 상기 제4 캐시 서버에 상기 제1 컨텐츠가 캐싱되게 하는 단계를 포함하되, 상기 객체 서비스 임계부하는 상기 상호협력 임계부하보다 낮은 것을 특징으로 한다.
상기 기술적 과제를 달성하기 위한 본 발명의 또 다른 특징에 따르면, 복수의 원천서버, 복수의 캐시 서버를 가진 복수의 캐시 클러스터, 클라이언트의 컨텐츠 전송 요청에 따라 해당 컨텐츠를 전송할 캐시 서버를 선택하는 요청배정장치를 이용한 컨텐츠 제공 방법을 제공한다.
이 요청배정장치를 이용한 컨텐츠 제공 방법은 (a) 상기 요청배정장치가 상기 할당 이력 정보와 상기 서버 부하 정보를 이용하여 제1 캐시 클러스터 내의 각 캐시 서버 중에서 제1 컨텐츠를 보유한 캐시 서버("제1 캐시 서버"라 함)에 대한 부하 등급을 파악하는 단계, (b) 상기 요청배정장치가 상기 임계부하 관리정보를 이용하여 상기 제1 캐시 서버 중 상기 객체 서비스 임계부하 이하인 캐시 서버가 존재하는 지를 파악하는 단계, (c) 상기 객체 서비스 임계부하 이하인 상기 제1 캐시 서버가 존재하지 않는 경우에, 상기 요청배정장치가 상기 제1 캐시 서버 중 상기 상호협력 임계부하 이하인 캐시 서버("제2 캐시 서버"라 함)가 존재하는 지를 파악하는 단계, (d) 상기 제2 캐시 서버가 존재하는 경우에, 상기 요청배정장치가 상기 제2 캐시 서버 중 하나의 캐시 서버("제3 캐시 서버"라 함)를 선택하는 단계, (e) 상기 요청배정장치가 상기 할당 이력 정보와 상기 서버 부하 정보를 이용하여 상기 제1 캐시 클러스터 내에서 상기 객체 서비스 임계 부하 이하인 하나의 캐시 서버("제4 캐시 서버"라 함)을 선택하는 단계, (f) 상기 요청배정장치가 상기 제3 캐시 서버와 상기 제4 캐시 서버 간에 상기 컨텐츠 A에 대한 상호협력캐시가 이루어지게 지시하는 단계, 그리고 (g) 상기 요청배정장치가 상기 제4 캐시 서버에서 상기 클라이언트로 상기 제1 컨텐츠의 전송이 이루어지게 하는 단계를 포함하되, 상기 객체 서비스 임계부하는 상기 상호협력 임계부하보다 낮은 것을 특징으로 한다.
본 발명에 따르면, 각 캐시 서버의 할당 이력과 부하 정보를 관리하는 요청배정장치를 통해 캐시 클러스터 내 각 캐시 서버 간의 상호 협력 캐시를 제어하여, 클라이언트의 컨텐츠 전송 요청에 빠르게 대응할 수 있게 하는 효과가 있다.
도 1은 본 발명의 실시 예에 따른 요청배정장치를 이용한 컨텐츠 제공 방법 이 적용되는 컨텐츠 제공 시스템의 구성도이다.
도 2는 본 발명의 실시 예에 따른 요청배정로직에서 이용하는 할당 이력 테이블을 보인 도면이다.
도 3은 본 발명의 실시 예에 따른 요청배정로직에서 이용하는 서버 부하(load) 테이블을 보인 도면이다.
도 4는 본 발명의 실시 예에 따른 요청배정로직에서 이용하는 임계부하 관리 테이블을 보인 도면이다.
도 5는 본 발명의 제1 실시 예에 따른 요청배정장치를 이용한 상호협력캐시방법 및 상호협력캐시를 이용한 컨텐츠 제공 방법을 보인 순서도이다.
도 6은 본 발명의 제2 실시 예에 따른 요청배정장치를 이용한 상호협력캐시 방법 및 상호협력캐시를 이용한 컨텐츠 제공 방법을 보인 순서도이다.
도 7은 본 발명의 제3 실시 예에 따른 요청배정장치를 이용한 상호협력캐시방법 및 상호협력캐시를 이용한 컨텐츠 제공 방법을 보인 순서도이다.
도 8은 본 발명의 제4 실시 예에 따른 요청배정장치를 이용한 컨텐츠 제공 방법을 보인 순서도이다.
도 9는 본 발명의 실시 예에 따른 요청배정장치를 이용한 상호협력캐시 방법 및 컨텐츠 제공 방법의 개념을 보인 도면이다.
아래에서는 첨부한 도면을 참고로 하여 본 발명의 실시 예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시 예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
이제, 도면을 참조하여 본 발명의 실시 예에 따른 요청배정장치를 이용한 컨텐츠 제공 방법에 대하여 상세히 설명하기로 한다.
도 1은 본 발명의 실시 예에 따른 요청배정장치를 이용한 컨텐츠 제공 방법 이 적용되는 컨텐츠 제공 시스템의 구성도이다.
도 1에 도시된 바와 같이 본 발명의 실시 예에 따른 컨텐츠 제공 시스템은 월드와이드웹(WWW) 상에서 캐시 클러스터 내의 캐시 서버들 각각에 대한 임계 부하를 기반으로 캐시 서버들 간에 상호협력 캐시를 하여 컨텐츠를 빠르게 제공할 수 있게 하는데 적합한 시스템이다. 이러한 본 발명의 실시 예에 따른 컨텐츠 제공 시스템은 클라이언트(100)와 인터페이스하는 요청 배정 장치(200), 복수의 캐시 클러스터(301, 302, … 30n)를 가지는 캐시 클러스터군(300)와, 복수의 원천서버 클러스터(401, 402, … 40n)을 가지는 원천서버 클러스터군(400)을 포함한다.
여기서, 로드 밸런싱 시스템에서 요청 배정 장치는 적어도 하나 이상이 구축되어 있으나, 설명의 편의를 위해 하나의 요청 배정 장치만 도시하였다.
클라이언트(100)는 자신이 원하는 객체(멀티미디어, 이미지 등의 각종 데이터)(이하 컨텐츠라 한다)를 요청 배정 장치(200)에 접속하여 요청할 수 있는 사용자 단말이다.
클라이언트(100)에서의 컨텐츠 요청 형식은 html, xml 및 사용자 정의 포맷을 사용할 수 있으며, 요청의 형태는 TCP/IP로 표현된다. 그리고 요청 내용은 ISP(Internet Service Provider, 컨텐츠를 서비스하는 업체)의 아이디, 송신자 정보(요청 클라이언트의 IP 어드레스), 요청 컨텐츠 정보(컨텐츠를 유니크하게 식별할 수 있는 정보), 수신자 정보(요청 배정 장치의 IP 어드레스, 포트) 등을 포함한다.
캐시 클러스터군(300)은 복수의 캐시 클러스터(301, 302, …, 30n)를 포함하고 있으며, 각 캐시 클러스터(301, 302, …, 30n)는 요청 배정 장치(200)에 연결되어 있다. 그리고 각 캐시 클러스터(301, 302, …,30n)는 복수의 캐시 서버를 포함하고 있다. 예컨대, 캐시 클러스터(301)는 복수의 캐시 서버(310, …, 320)을 포함하고 있다. 각 캐시 서버(310, …, 320)는 클라이언트(100)로 제공한 임의의 컨텐츠 또는 클라이언트와의 근거리 위치에 따른 정보 분산에 의해 저장된 임의의 컨텐츠 등을 로컬 내에 저장하고 있다.
이러한 각 캐시 서버는 자신의 부하 상태 정보(CPU 사용율, I/O사용율, 메모리 사용율, 스토리지 여유 용량 등)를 서버 모니터(230)에 제공하여 서버 모니터(230)가 부하 정도를 알 수 있게 한다.
원천서버 클러스터군(400)은 복수의 원천서버 클러스터(401, 402, …, 40n)를 포함하고 있으며, 각 원천서버 클러스터(401, 402, …, 40n)는 복수의 원천서버를 포함한다. 예컨데, 원천서버 클러스터(401)는 복수의 원천서버(410, 420, …, 430)를 포함한다. 각 원천서버(410, 420, …, 430)는 고유의 컨텐츠를 저장하고 있으며, 캐시 서버 또는/및 요청 배정 장치(200)의 요구에 있는 경우에 저장된 특정 컨텐츠를 해당 캐시 서버에 제공한다.
이러한 각 원천서버 또한 자신의 부하 상태 정보를 서버 모니터(230)에 제공하여 자신의 부하 정도를 알게 한다.
마지막으로, 요청 배정 장치(200)는 클라이언트(100)로부터 수신되는 컨텐츠 전송 요청을 수신하면, 데이터베이스(240)의 할당 이력 테이블(T1)과 서버 부하 테이블(T2) 및 임계부하 관리 테이블(T3)을 이용하여 클라이언트(100)가 요청한 해당 컨텐츠를 제공할 수 있는 하나의 캐시 서버를 선택하고, 선택한 캐시 서버와 클라이언트(200) 간에 컨텐츠 전송이 이루어지게 한다.
요청 배정 장치(200)는 컨텐츠를 전송할 하나의 캐시 서버를 선택할 때에, 필요에 따라 하나의 캐시 클러스터 내의 캐시 서버 간에 상호 협력 캐시가 이루어지게 하여 클라이언트(100)가 요청한 컨텐츠를 객체 서비스 임계 부하 이하인 캐시 서버에서 제공할 수 있게 한다.
즉, 본 발명의 실시 예에 따른 요청배정장치(200)은 다음의 특징에 따라 하나의 캐시 클러스터 내에서 상호협력 캐시를 수행하여 하나의 캐시 서버에서 컨텐츠를 제공할 수 있게 한다.
1. 요청배정장치(200)는 특정 컨텐츠에 대한 클라이언트의 요청이 폭증하더라도 미리 정의된 정책에 의하여 해당 컨텐츠를 로컬에 가지고 있는 객체서비스 임계 부하 이하의 캐시 서버에서 클라이언트의 전송요청을 받아들인다.
2. 요청배정장치(200)는 컨텐츠를 다수의 캐시서버가 가지고 있더라도 해당 캐시 서버들 중에 부하가 가장 적은 캐시 서버로 클라이언트 요청을 연결시킨다
3. 요청배정장치(200)는 클러스터 내의 캐시 서버가 클라이언트(100)가 요청한 컨텐츠에 대한 전송에 대해 캐시미스를 한 경우, 원천 서버에 해당 컨텐츠를 요구하기 전에 다른 캐시서버의 컨텐츠를 먼저 확인하며, 컨텐츠를 소유한 캐시 서버 중에 부하가 가장 적은 서버에서 상호협력캐시를 통해 컨텐츠를 복제(즉, 캐싱)하게 한다.
4. 요청배정장치(200)는 요청된 컨텐츠를 소유하고 있는 캐시 서버들이 모두 임계부하 이상인 경우, 해당 컨텐츠를 소유하고 있지 않은 캐시서버에게 클라이언트 요청을 배정하여 상호협력캐시를 통해 해당 컨텐츠를 복제하면서 클라이언트 요청에 대응한다.
5. 컨텐츠를 소유하고 있는 캐시 서버의 할당 정보는 실시간으로 변화될 수 있으며, 이에 따라 요청배정장치(200)는 실시간으로 파악되는 컨텐츠 요청량에 따라 요청 컨텐츠를 소유하고 있지 않은 피어 캐시 서버에 요청량이 많은 컨텐츠가 캐싱되게 한다.
6. 증가하는 컨텐츠 수요에 맞춰서 컨텐츠를 공급할 수 있는 캐시 서버를 H/W(Hard/ware)가 수용 가능한 부분까지 능동적으로 증설시킨다.
7. 컨텐츠 분배이력과 시스템 정보는 지속적으로 요청배정장치와 커뮤니케이션함으로서 새로운 클라이언트에게 컨텐츠 제공이 가능한 캐시 서버로 리다이렉션 시킴으로 해서 전체 서비스의 안정성과 부하 분산에 기여한다.
이러한 특징을 가지는 요청 배정 장치(200)는 요청배정로직(210), 할당이력 모니터(220), 서버 모니터(230) 및 데이터베이스(240)를 포함한다.
데이터베이스(240)는 할당 이력 정보가 테이블값으로 저장된 할당 이력 테이블(도 2 참조), 각 캐시 서버의 부하 등급 정보가 테이블값으로 저장된 서버 부하 테이블(도 3 참조)와, 각 캐시 서버의 관리포인트별 부하 임계치가 테이블값으로 저장된 임계부하 관리 테이블(도 4 참조)을 저장하고 있다.
상기 캐시 서버의 부하 등급 정보는 해당 캐시 서버의 현재 부하가 어느 정도인지를 나타낸 정보로서, 적어도 설정 임계 부하 이상인지 또는 이하인지를 구별할 수 있게 하는 정보이다. 여기서, 부하 등급 정보가 설정 임계 부하 이상이면 부하가 심하다고 판단하고, 설정 임계 부하 이하이면 서비스가 어렵다고 판단한다.
캐시 클러스터의 부하 등급 정보는 복수의 캐시 클러스터 중 부하가 작은 캐시 클러스터를 찾는데 이용된다. 할당 이력 정보는 특정 컨텐츠별로 매칭되어 있으며, 해당 컨텐츠를 처리한 캐시 서버들의 이력 정보 즉, 캐시 서버들에 대한 배정 정보이다. 할당 이력 정보는 요청 받은 컨텐츠를 포함할 가능성이 있는 캐시 서버를 찾는데 이용된다. 그리고 캐시 서버의 부하 정보는 해당 캐시 서버의 부하 정도를 나타낸 정보이다.
그리고 데이터베이스(240)는 클라이언트의 IP에 매칭된 ISP(Internet Service Provider)의 식별 정보를 포함할 수 있다. 이때 ISP는 클라이언트에 네트워크적으로 가까운 위치에 있는 ISP이다. 여기서 ISP의 식별정보는 캐시 서버, 원천 서버 등이 ISP에 분산되어 구축되어 있는 경우에 이용된다.
요청배정로직(210)은 클라이언트(100)로부터 수신된 컨텐츠 전송 요청의 전문을 분석하고, 캐시 서버의 부하 등급 정보와 시구간 내의 할당 이력 정보를 기초로 하여 복수의 캐시 서버 중 로드가 가장 작은 캐시 서버를 찾아 선택한다.
할당이력 모니터(220)는 요청배정로직(210)에서 사용될 할당 이력 정보를 제공하는 것으로, 시스템 내의 각 요청 배정 장치에 기록되어 있는 캐시서버 할당 이력을 수집하고 이를 통합된 형태로 가공하여 전체 요청 배정 장치에 배포한다.
서버 모니터(230)는 각 캐시 서버와 각 원천서버의 부하 정보를 수집하고 이렇게 수집한 부하 상태 정보를 요청배정로직(210)에 제공한다. 이때 서버 모니터(230)는 각 캐시 서버의 부하 정보를 이용하여 각 캐시 서버의 부하 등급 정보를 만들어 제공한다.
여기서, 할당 이력 모니터(220)와 서버 모니터(230)는 요청 배정 장치(200) 내에 포함될 수 있고, 필요에 따라서는 개별 장치로 독립적으로 구성할 수 있다.
한편, 각 캐시 클러스터를 주요 ISP(Internet Service Provider)에 분산하여 설치하고 사용자가 요청하는 컨텐츠를 사용자와 가장 가까운 ISP에 설치된 캐시 클러스터를 통해 서비스 받을 있도록 하는 경우에, 요청 배정 로직(210)은 사용자의 IP(Internet Protocol) 정보를 해석하고 사용자와 가장 가까운 ISP내의 캐시 클러스터로 요청을 전달하는 토폴로지(topology)에 따른 할당 기능을 가질 수 있다. 이는 사용자와 캐시 클러스터간의 네트워크 구간을 최소화 할 수 있어, 컨텐츠 전송 속도를 최대한으로 높일 수 있게 된다.
이하에서는 요청배정로직(210)에서 이용하는 각종 정보를 도 2 내지 도 4을 참조로 하여 설명한다.
요청배정로직(210)에서 사용하는 정보는 각 캐시 서버별 컨텐츠 소유 여부를 알리는 할당 이력 정보, 각 캐시 서버의 부하 등급 정보, 각 캐시 서버의 관리포인트별 임계 부하 정보 등이 있다. 이러한 각 정보는 도 2 내지 도 4에 도시된 바와 같이 테이블로 관리된다.
도 2는 본 발명의 실시 예에 따른 요청 배정 로직에서 이용하는 할당 이력 테이블을 보인 도면이다. 도 2에 도시된 할당 이력 테이블(T1)은 요청 배정 장치(200)가 클라이언트(100)로부터 받은 컨텐츠 요청의 처리를 위해 이전에 캐시 서버에 할당한 컨텐츠 소유 이력을 기록하는 테이블이며, 객체 식별 정보(즉, 컨텐츠 식별 정보), 캐시서버 식별 정보, 타임스탬프(time stamp)로 이루어진다. 할당 이력 테이블(T1)은 요청배정로직(210)이 요청된 해당 컨텐츠를 전송했던 캐시 서버들을 식별하는데 이용된다.
도 3은 본 발명의 실시 예에 따른 요청 배정 로직에서 이용하는 서버 부하 테이블을 보인 도면이다. 도 3에 도시된 서버 부하 테이블(T2)은 캐시 서버 및 원천 서버의 부하 등급을 기록하는 테이블이며, 서버 식별 정보, 부하등급, 타임스탬프(630)로 이루어진다. 서버 부하 테이블(T2)은 요청배정로직(210)이 캐시 서버를 선택하는데 필요한데 이용된다.
여기서, 부하 등급은 서버 모니터(230)에 의해 기록되는데, 서버 모니터(230)로 전송된 캐시 서버의 부하 상태 정보를 기반으로 부하 상태 정보에 포함된 각 항목의 값이 미치는 영향도에 가중치를 곱한 후 백분율로 환산하여 더한 값이다. 서버 부하 테이블(600)에 타임스탬프가 시구간 이전에 기록되어 있는 캐시 서버는 작동하지 않는 서버로 간주할 수 있으며, 이외에 기록된 캐시 서버는 요청배정로직(210)이 컨텐츠를 서비스할 수 있는 가능성이 있는 대상 캐시 서버로 간주한다.
도 4는 본 발명의 실시 예에 따른 요청 배정 로직에서 이용하는 임계부하 관리 테이블을 보인 도면이다. 도 4에 도시된 임계부하 관리테이블(T3)은 캐시 서버의 임계 부하을 정의하는 테이블이며, 관리포인트, 임계부하로 이루어진다.
임계부하 테이블(T3)은 요청배정로직(210)이 캐시 서버의 부하등급과 비교하여 해당 캐시 서버가 컨텐츠 제공 서비스에 투입될 수 있는지, 그리고 상호협력캐시를 할 수 있는지를 판단하는데 사용된다.
관리포인트는 임계 부하의 특성을 나타내는 것으로, 상호협력캐시 시에 적용되는 임계 부하를 나타내는 상호협력, 컨텐츠 전송시에 적용되는 임계 부하를 나타내는 객체 서비스, 사용자의 접속에 대한 임계 부하를 나타내는 업로드를 포함한다.
여기서, 상호협력 임계 부하는 객체 서비스 임계 부하보다 높게 설정된다. 이는 캐시 서버의 부하가 객체 서비스의 임계 부하 이상인 경우에 상호협력캐시를 할 수 있도록 하기 위한 것이다. 물론 캐시 서버의 부하가 상호협력 임계 부하 이상인 경우에는 원천 서버로부터 해당 컨텐츠를 캐싱한다.
여기서, 클라이언트(100)가 컨텐츠를 요청 캐시 서버로부터 컨텐츠를 전송 받은, 본 발명의 실시 예에 따른 3가지의 컨텐츠 제공 방법을 설명한다.
제1 방법 : 요청 배정 장치(200)는 클라이언트(100)로부터 특정 컨텐츠에 대한 요청을 수신하면, 요청배정로직(210)에서 부하가 낮은 캐시 서버를 선택하고 선택한 캐시 서버로 직접 컨텐츠를 요청한다. 이때 요청배정로직(210)은 컨텐츠 요청시 컨텐츠의 식별 정보와 클라이언트의 식별 정보를 제공한다. 그러면, 캐시 서버는 클라이언트(100)가 요청한 컨텐츠를 요청배정장치(200)에 제공하고, 요청배정장치(200)는 캐시 서버로부터 수신한 컨텐츠를 클라이언트(100)에게 제공한다.
제2 방법 : 요청 배정 장치(200)는 클라이언트(100)로부터 특정 컨텐츠의 요청을 수신하면, 요청배정로직(210)에서 특정 캐시 서버를 선택하고 선택한 캐시 서버의 경로 정보(예; 캐시 서버의 IP 어드레스)를 클라이언트(100)에게 전송한다. 그러면 클라이언트(100)는 캐시 서버의 식별 정보를 이용하여 캐시 서버에 접속하고 캐시 서버에게 컨텐츠를 요청한다. 그러면 캐시 서버(200)는 이렇게 클라이언트(100)가 요청한 해당 컨텐츠를 클라이언트(100)에게 제공한다. 여기서, 컨텐츠 요청을 할당할 캐시 서버를 찾아낸 요청배정로직(210)은 요청 배정 이력에 컨텐츠 식별 정보 및 캐시 서버의 IP 어드레스를 로컬의 데이터베이스(240)에 기록을 하여 후속 요청시에 해당 기록을 참조할 수 있도록 한다. 그리고 ISP 정보는 인터넷 상에 캐시 서버가 분산되어 있는 경우에 사용될 수 있으나, 분산되어 있지 않은 경우에는 캐시 서버 정보를 얻는데 사용할 필요가 없으며, 정책상 ISP 정보를 배제할 수 있다.
제3 방법 : 요청 배정 장치(200)는 클라이언트(100)로부터 특정 컨텐츠에 대한 요청을 수신하면, 요청배정로직(210)에서 특정 캐시 서버를 선택하고, 선택한 특정 캐시 서버에게 클라이언트(100)의 경로 정보(예; 클라이언트의 IP 어드레스)를 제공한다. 그러면 특정 캐시 서버는 클라이언트의 IP 어드레스를 이용하여 특정 컨텐츠를 클라이언트(100)에게 제공한다.
제4 방법 : 다이렉트 라우팅(direct routing) 방법을 이용한다. 이를 위해 요청 배정 장치(200)와 각 캐시 서버가 가상 IP(Internet Protocol) 주소를 공유한다. 이때 요청 배정 장치(200)와 캐시 서버 간에는 네트워크 인터페이스에 가상 IP가 설정되어 있다. 이런 상태에서 클라이언트(100)로부터 특정 컨텐츠에 대한 요청을 수신하면, 요청배정로직(210)은 특정 캐시 서버를 선택하여 컨텐츠를 요청한다. 그러면 특정 캐시 서버는 요청 배정 장치(200)와 동일한 가상 IP를 가지고 있으므로 요청 배정 장치(200)를 거치지 않고 클라이언트(100)로 직접 컨텐츠를 제공한다.
이하에서는 도 5 내지 도 9를 참조로 하여 본 발명의 실시 예에 따른 요청배정장치를 이용한 상호협력캐시 방법 및 컨텐츠 제공 방법을 설명한다.
우선 도 9을 참조로 하여 본 발명의 실시 예에 따른 요청배정장치를 이용한 상호협력캐시 방법의 개념을 설명한다. 도 9는 본 발명의 실시 예에 따른 요청배정장치를 이용한 상호협력캐시 방법 및 컨텐츠 제공 방법의 개념을 보인 도면이다.
도 9에 도시된 바와 같이, 하나의 캐시 클러스터에 컨텐츠 A를 보유한 4개의 캐시 서버(10 내지 40) 및 컨텐츠 A를 보유하고 있지 않은 복수의 캐시 서버(미도시)가 있다고 한다. 이때 제1 캐시 서버(10)의 부하 등급은 90%이고, 제2 캐시 서버(20)의 부하 등급은 80%이며, 제3 캐시 서버(30)의 부하 등급은 75%이고, 제4 캐시 서버(40)의 부하 등급은 55%라고 한다.
그리고 임계부하 관리 테이블(T3)에는 객체 서비스 임계 부하가 60%이고, 상호협력 임계 부하가 80%로 등록되어 있다고 한다.
이러한 전제에 따르면, 클라이언트(100)가 컨텐츠 A를 요청하는 경우에 제1 캐시 서버(10) 내지 제3 캐시 서버(30)는 부하 등급이 객체 서비스 임계 부하인 60%보다 높기 때문에 컨텐츠를 제공할 캐시 서버의 선택에서 제외되고 객체 서비스 임계 부하이하인 제4 캐시 서버(40)만이 컨텐츠를 제공할 캐시 서버로 선택된다. 물론 객체 서비스 임계부하 이하인 캐시 서버가 2 이상이면, 요청배정장치(200)는 2 이상의 캐시 서버 중 임의의 하나 또는, 부하 등급이 가장 낮은 하나의 캐시 서버를 선택한다.
한편, 요청배정장치(200)는 제4 캐시 서버(40)가 점선과 같이 부하 등급이 70%로 올라가게 되면, 제1 내지 제4 캐시 서버(10 내지 40) 모두가 객체 서비스 임계부하 이상이 되기 때문에 동일 클러스터 내 다른 캐시 서버(컨텐츠 A를 보유하지 않은 캐시 서버)로 컨텐츠 A를 캐싱하기 위하여 상호협력 캐시가 이루어지게 한다.
이때 요청배정장치(200)는 각 캐시 서버(10 내지 40) 중에 부하 등급이 상호협력 임계부하 이하인 캐시 서버를 찾게 되는데, 도 9에 따르면 제3 캐시 서버(30)와 제4 캐시 서버(40)를 상호헙력캐시가 가능한 캐시 서버로 판단한다.
그리고 제3 및 제4 캐시 서버(30, 40) 중 임의의 하나 또는, 부하등급이 가장 낮은 제4 캐시 서버(40)를 선택하여 상호협력캐시를 지시한다. 물론, 요청배정장치(200)는 동일 캐시 클러스터 내에 컨텐츠 A를 보유하지 않은 캐시 서버 중에서 부하 등급이 객체 서비스 임계부하 이하인 하나의 캐시 서버를 선택하여 상호협력캐시가 이루어지게 한다. 이에 따라, 상기 상호협력캐시를 위해 선택한 제3 및 제4 캐시 서버(30, 40) 중 하나와 컨텐츠 A를 보유하지 않은 캐시 서버 중 객체 서비스 임계부하 이하인 하나의 캐시 서버 간에 상호협력캐시가 이루어지게 된다.
한편, 제1 내지 제4 캐시 서버(10 내지 40) 중에 상호협력 임계부하 이하인 캐시 서버가 존재하지 않으면, 요청배정장치(200)는 컨텐츠 A를 보유하지 않은 캐시 서버 중 객체 서비스 임계부하 이하인 하나의 캐시 서버에게 원천서버로부터 컨텐츠 A를 캐싱하게 한다.
도 5는 본 발명의 제1 실시 예에 따른 요청배정장치를 이용한 상호협력캐시방법 및 상호협력캐시 방법을 이용한 컨텐츠 제공 방법을 보인 순서도로서, 객체 서비스 임계부하가 70%이고, 상호협력 임계부하가 80%인 경우에 대한 것이다.
도 5에서 캐시 클러스터군(300)에서 캐시 클러스터(301)를 클라이언트(100)와 근거리에 위치한 캐시 클러스터라 하고, 컨텐츠 A를 보유하고 있는 캐시 서버를 A 캐시 서버라 하고, 컨텐츠 B를 보유하고 있는 캐시 서버를 B 캐시 서버라 한다. B 클러스터는 컨텐츠 A를 보유하고 있지 않다.
클라이언트(100)가 컨텐츠 A를 요청하고, 요청배정장치(200)가 클라이언트(100)의 컨텐츠 전송 요청을 수신한다(S501).
요청배정장치(200)의 요청배정로직(210)은 클라이언트(100)로부터 컨텐츠 전송 요청을 수신하면, 객체 전송 요청의 전문을 분석하여 파라미터 즉, 클라이언트(100)의 IP어드레스, 요청 컨텐츠 식별 정보를 추출한다(S502).
그런 다음 요청배정로직(210)은 데이터베이스(240) 내의 IP 어드레스, ISP 맵핑 테이블에서 네트워크 상에서 클라이언트(100)에 가까운 캐시 클러스터를 알아낸다(S503).
다음으로, 요청배정로직(210)은 T1 테이블 즉, 할당 이력 테이블(T1)을 참조하여 S503 과정에서 파악한 캐시 클러스터 내에서 컨텐츠 A를 보유하고 있는 A 캐시 서버를 파악하고 A 캐시 서버의 IP 어드레스 목록(즉, 캐시 목록)을 추출한다(S504). 여기서 S504 과정에서는 A 캐시 서버의 IP 어드레스 목록이 존재한다고 한다.
요청배정로직(210)은 서버 부하 테이블(T2)를 이용하여 상기 추출한 캐시 목록의 A 캐시 서버 중에서 설정된 객체 서비스 임계부하(예; 70%) 이하의 A 캐시 서버가 존재하는지를 판단한다(S505).
요청배정로직(210)은 추출한 캐시 목록의 A 캐시 서버 중에 임계부하 이하인 A 캐시 서버가 존재하지 않으면, 설정 시간주기마다 A 캐시 서버의 임계부하를 파악하며, 이러한 파악은 임계부하 이하인 A 캐시 서버가 존재할 때까지 반복한다.
한편, 요청배정로직(210)은 추출한 캐시 목록의 A 캐시 서버 중에 임계부하 이하인 A 캐시 서버가 존재하면, 임계부하 이하인 임의의 하나의 A 캐시 서버 또는 임계부하가 가장 낮은 하나의 A 캐시 서버를 선택한다(S506).
여기서, 도 5에 도시된 캐시 클러스터(301)를 예로 하면, 캐시 클러스터(301)에는 A 캐시 서버가 4개가 존재하고 B 캐시 서버(350)가 존재하며, A 캐시 서버(310)는 부하가 50%이고, A 캐시 서버(320)는 부하가 80%이며, A 캐시 서버(330)는 부하가 80%이고, A 캐시 서버(340)는 부하가 80%이다. 그리고 B 캐시 서버(350)는 부하가 40%이다.
따라서, S506 과정의 경우에 요청배정로직은 캐시 클러스터(301) 내의 A 캐시 서버(310 내지 340) 중에서 A 캐시 서버(310)를 선택한다.
요청배정로직(210)은 A 캐시 서버(310)를 선택하면, 선택한 A 캐시 서버(310)의 경로 정보를 생성하여 클라이언트(100)에게 제공한다(S507).
이에 클라이언트(100)는 수신한 A 캐시 서버(310)의 경로 정보에 따라 해당 A 캐시 서버(310)에 접속하여, 컨텐츠 A에 대한 전송 요청을 한다(S508).
A 캐시 서버(310)는 클라이언트(100)로부터 컨텐츠 A의 전송 요청을 수신하면, 보유하고 있는 컨텐츠 A를 클라이언트(100)에게 제공한다(S509).
한편, 요청배정로직(210)은 S509 과정을 통해 컨텐츠 A에 대한 전송 요청에 대응한 동작을 수행한 후에, 컨텐츠 A에 대한 전송 요청이 지속적으로 수신되는지를 파악한다.
즉, 요청배정로직(210)은 설정 기간 내에 컨텐츠 A에 대한 전송 요청 횟수가 설정치(예; 10회 또는 100회 등) 이상인지를 파악한다(S510).
상기 파악 과정(S510)에서, 클라이언트로부터의 컨텐츠 A에 대한 전송 요청이 설정치 이하이면, 요청배정로직(210)은 설정된 다음 동작 즉, 설정된 일반 동작(예; 컨텐츠 전송 요청 감시 등)을 수행한다(S511).
반면에 상기 파악 과정(S510)에서, 클라이언트로부터의 컨텐츠 A에 대한 전송 요청이 설정치 이상이면, 요청배정로직(210)은 A 캐시 서버의 수를 증가시키기 위해 상호 협력 캐시가 이루어지게 하다.
즉, 요청배정로직(210)은 컨텐츠 A에 대한 전송 요청이 설정치 이상이면 할당 이력테이블(T1)을 이용하여 캐시 클러스터(301) 내에 B 캐시 서버, C 캐시 서버 등과 같이 컨텐츠 A를 보유하지 않은 캐시 서버(이하 "non-A 캐시 서버"라 한다)의 부하를 파악한다(S512).
그리고 요청배정로직(210)은 서버 부하 테이블(T2)와 임계부하 관리테이블(T3)를 이용하여 A 캐시 서버(310 내지 340) 중에서 상호협력 임계부하 이하인 하나의 캐시 서버인 A 캐시 서버(310)을 선택한다(S513). 그런 다음 요청배정로직(210)은 non-A 캐시 서버 중에서 부하가 임계 부하인 임의의 하나의 캐시 서버 또는 부하가 가장 낮은 부하의 캐시 서버를 선택한다(S514). 도 5에서는 S514 과정에서 선택한 캐시 서버가 B 캐시 서버(350)라고 도시하였다.
요청배정로직(210)은 S514 과정에서 B 캐시 서버(350)를 선택하면, 부하가 낮은 A 캐시 서버(310)에게 B 캐시 서버(350)로 컨텐츠 A가 캐싱되게 요청하며(S515), 이에 A 캐시 서버(310)은 B 캐시 서버(350)에게 컨텐츠 A를 제공하여 B 캐시 서버(350)가 컨텐츠 A를 캐싱하게 한다(S516).
물론, S514 및 S515 과정은 다음과 같이 변경이 가능하다. 즉, 요청배정로직(210)은 B 캐시 서버(350)에게 A 캐시 서버(310)로부터 컨텐츠 A를 제공받아 캐싱하도록 요청하고, 이에 B 캐시 서버(350)가 A 캐시 서버(310)에게 컨텐츠 A를 요청하고 수신하여 컨텐츠 A를 캐싱한다.
이하에서는 도 6을 참조로 하여 본 발명의 제2 실시 예에 따른 요청배정장치를 이용한 컨텐츠 제공 방법을 설명한다.
도 6은 본 발명의 제2 실시 예에 따른 요청배정장치를 이용한 컨텐츠 제공 방법을 보인 순서도로서, 객체 서비스 임계부하가 70%이고, 상호협력 임계부하가 80%인 경우에 대한 것이다.도 6에서 캐시 클러스터군(300)에서 캐시 클러스터(301)를 클라이언트(100)와 근거리에 위치한 캐시 클러스터라 하고, 컨텐츠 A를 보유하고 있는 캐시 서버를 A 캐시 서버라 하고, 컨텐츠 B를 보유하고 있는 캐시 클러스터를 B 캐시 서버라 한다. B 캐시 서버는 컨텐츠 A를 보유하고 있지 않다.
클라이언트(100)가 컨텐츠 A를 요청하고, 요청배정장치(200)가 클라이언트(100)의 컨텐츠 전송 요청을 수신한다(S601).
요청배정장치(200)의 요청배정로직(210)은 클라이언트(100)로부터 컨텐츠 전송 요청을 수신하면, 객체 전송 요청의 전문을 분석하여 파라미터 즉, 클라이언트(100)의 IP어드레스, 요청 컨텐츠 식별 정보를 추출한다(S602).
그런 다음 요청배정로직(210)은 데이터베이스(240) 내의 IP 어드레스, ISP 맵핑 테이블에서 네트워크 상에서 클라이언트(100)에 가까운 캐시 클러스터를 알아낸다(S603).
다음으로, 요청배정로직(210)은 T1 테이블 즉, 할당 이력 테이블(T1)을 참조하여 S603 과정에서 파악한 캐시 클러스터 내에서 컨텐츠 A를 보유하고 있는 A 캐시 서버의 IP 어드레스 목록(즉, 캐시 목록)을 추출한다(S604). 여기서 S604 과정에서는 A 캐시 서버의 IP 어드레스 목록이 존재한다고 한다.
그리고 요청배정로직(210)은 서버 부하 테이블(T2)를 이용하여 캐시 목록의 A 캐시 서버 중에서 객체 서비스 임계부하(예; 70%) 이하인 A 캐시 서버가 존재하는지를 판단한다(S605).
상기 판단 과정(S605)에서, 요청배정로직(210)은 추출한 캐시 목록의 A 캐시 서버 중에 객체 서비스 임계부하 이하인 A 캐시 서버가 존재하면 도 5를 참조로 설명한 본 발명의 제1 실시 예에 따른 과정 중 S506 과정을 수행하고, S506 과정 후에 S507 과정 내지 S516 과정을 수행한다.
반면에 상기 판단 과정(S605)에서, 요청배정로직(210)은 추출한 캐시 목록의 A 캐시 서버 중에 객체 서비스 임계부하 이하인 A 캐시 서버가 존재하지 않으면, 임계부하 관리테이블(T3)를 이용하여 A 캐시 서버(310 내지 340) 중에서 상호협력 임계부하 이하인 하나의 캐시 서버인 A 캐시 서버(320)을 선택한다(S606).
그리고 요청배정로직(210)은 할당이력 테이블(T1)과 서버 부하 테이블(T2)을 이용하여 캐시 클러스터(301) 내의 모든 캐시 서버의 부하 등급을 파악하고(S607), 객체 서비스 임계부하 이하인 하나의 캐시 서버를 선택한다(S608).
여기서, 도 6에 도시된 캐시 클러스터(301)를 예로 하면, 캐시 클러스터(301)에는 A 캐시 서버가 4개가 존재하는데, A 캐시 서버(310)는 부하가 80%이고, A 캐시 서버(320)는 부하가 75%이며, A 캐시 서버(330)는 부하가 80%이고, A 캐시 서버(340)는 부하가 80%이다. 또한 캐시 클러스터(301)에는 B 캐시 서버(350)가 존재하는데, B 캐시 서버(350)의 부하는 50%이다.
따라서, S607 과정 및 S608 과정의 경우에 요청배정로직(210)은 임계 부하보다 낮은 부하를 가진 B 캐시 서버(350)가 존재함을 파악하고, B 캐시 서버(350)를 선택한다.
요청배정로직(210)은 B 캐시 서버(350)를 선택하면, 선택한 B 캐시 서버(350)의 경로 정보를 생성하여 클라이언트(100)에게 제공한다(S609).
이와 동시에 요청배정로직(210)은 A 캐시 서버(320)에게 컨텐츠 A의 식별정보와 B 캐시 서버(350)의 경로 정보(즉, IP 주소)를 제공하여 상호 협력 캐시를 통해 컨텐츠 A를 B 캐시 서버(350)에 제공할 것을 요청한다(S610)
물론, 요청배정로직(210)은 B 캐시 서버(350)에게 컨텐츠 A의 식별정보와 A 캐시 서버(320)의 IP 주소를 제공하여 상호 협력 캐시를 통해 컨텐츠 A를 캐싱할 것을 요청도록 할 수 있다.
A 캐시 서버(320)는 요청배정로직(210)의 요청에 따라 컨텐츠 A를 B 캐시 서버(350)에 제공하고, B 캐시 서버(350)는 컨텐츠 A를 수신하고 캐싱한다(S611).
이런 상태에서, 클라이언트(100)는 S608 과정을 통해 요청배정로직(210)로부터 수신한 B 캐시 서버(350)로의 경로 정보에 따라 B 캐시 서버(350)에 접속하여 컨텐츠 A를 요청하고(S612), B 캐시 서버(350)는 클라이언트(100)의 요청에 대응하여 컨텐츠 A를 클라이언트(100)에게 제공한다(S613).
이하에서는 도 7을 참조로 하여 본 발명의 제3 실시 예에 따른 요청배정장치를 이용한 컨텐츠 제공 방법을 설명한다.
도 7은 본 발명의 제3 실시 예에 따른 요청배정장치를 이용한 컨텐츠 제공 방법을 보인 순서도 로서, 객체 서비스 임계부하가 70%이고, 상호협력 임계부하가 80%인 경우에 대한 것이다.
도 7에서 캐시 클러스터군(300)에서 캐시 클러스터(301)를 클라이언트(100)와 근거리에 위치한 캐시 클러스터라 하고, 컨텐츠 B를 보유하고 있는 캐시 서버를 B 캐시 서버라 하고, 컨텐츠 C를 보유하고 있는 캐시 서버를 C 캐시 서버라 하며, 컨텐츠 D를 보유하고 있는 캐시 서버를 D 캐시 서버라 하고, 컨텐츠 E를 보유하고 있는 캐시 서버를 E 캐시 서버라 하며, 컨텐츠 F를 보유하고 있는 캐시 서버를 F 캐시 서버라 한다. 여기서, B, C, D, E, F 캐시 서버는 컨텐츠 A를 보유하고 있지 않다.
클라이언트(100)가 컨텐츠 A를 요청하고, 요청배정장치(200)가 클라이언트(100)의 컨텐츠 전송 요청을 수신한다(S701).
요청배정장치(200)의 요청배정로직(210)은 클라이언트(100)로부터 컨텐츠 전송 요청을 수신하면, 객체 전송 요청의 전문을 분석하여 파라미터 즉, 클라이언트(100)의 IP어드레스, 요청 컨텐츠 식별 정보를 추출한다(S702).
그런 다음 요청배정로직(210)은 데이터베이스(240) 내의 IP 어드레스, ISP 맵핑 테이블에서 네트워크 상에서 클라이언트(100)에 가까운 캐시 클러스터를 알아낸다(S703).
다음으로, 요청배정로직(210)은 할당 이력 테이블(T1)을 참조하여(S704), S703 과정에서 파악한 캐시 클러스터 내에서 컨텐츠 A를 보유하고 있는 A 캐시 서버의 IP 어드레스 목록(즉, 캐시 목록)가 존재하는지를 판단한다(S705).
S705 과정에서, 요청배정로직(210)은 캐시 목록이 존재하면, 전술한 S505 과정 또는 S605 과정을 수행한다.
반면에 S705 과정에서, 요청배정로직(210)은 캐시 목록이 존재하지 않으면 할당이력 테이블(T1)과 서버 부하 테이블(T2)를 이용하여 캐시 클러스터(301) 내의 모든 캐시 서버의 부하 등급을 파악한다(S706).
여기서, 도 7에 도시된 캐시 클러스터(301)를 예로 하면, 캐시 클러스터(301)에는 B, C, D, E, F 캐시 서버가 존재하는데, B 캐시 서버(350)는 부하가 80%이고, C 캐시 서버(360)는 부하가 80%이며, D 캐시 서버(370)는 부하가 80%이고, E 캐시 서버(380)는 부하가 80%이다. 또한 F 캐시 서버(390)는 부하가 50%이다.
따라서, S706 과정의 경우에 요청배정로직(210)은 객체 서비스 임계부하보다 낮은 부하를 가진 F 캐시 서버(350)가 존재함을 파악하고, F 캐시 서버(390)를 선택한다(S707). 물론 F 캐시 서버(350) 이외에 임계 부하 이하의 캐시 서버가 존재하면 요청배정로직(210)은 이 중에서 하나 또는 가장 낮은 부하의 캐시 서버를 선택하게 된다.
요청배정로직(210)은 F 캐시 서버(390)를 선택하면, 선택한 F 캐시 서버(390)의 경로 정보를 생성하여 클라이언트(100)에게 제공한다(S708).
이와 동시에 요청배정로직(210)은 F 캐시 서버(390)에게 컨텐츠 A의 식별정보와 원천 서버(410)의 경로 정보(즉, IP 주소)를 제공하여 컨텐츠 A를 원천 서버(410)를 통해 캐싱할 것을 요청한다(S709).
물론, 요청배정로직(210)은 원천 서버(410)에게 컨텐츠 A의 식별정보와 F 캐시 서버(370)의 IP 주소를 제공하여 컨텐츠 A를 F 캐시 서버(370)에게 제공할 것을 요청할 수 있다.
F 캐시 서버(390)는 요청배정로직(210)의 요청에 따라 원천 서버(410)에 접속하여 컨텐츠 A를 요청하고(S710), 원천 서버(410)로부터 컨텐츠 A를 수신하여 캐싱한다(S711, S712).
이런 상태에서, 클라이언트(100)는 S707 과정을 통해 요청배정로직(210)로부터 수신한 F 캐시 서버(390)로의 경로 정보에 따라 F 캐시 서버(390)에 접속하여 컨텐츠 A를 요청하고(S713), F 캐시 서버(390)는 클라이언트(100)의 요청에 대응하여 컨텐츠 A를 클라이언트(100)에게 제공한다(S714).
이하에서는 도 8을 참조로 하여 본 발명의 제4 실시 예에 따른 요청배정장치를 이용한 컨텐츠 제공 방법을 설명한다.
도 8은 본 발명의 제4 실시 예에 따른 요청배정장치를 이용한 컨텐츠 제공 방법을 보인 순서도이다.
클라이언트(100)가 컨텐츠 A를 요청하고, 요청배정장치(200)가 클라이언트(100)의 컨텐츠 전송 요청을 수신한다(S801).
요청배정장치(200)의 요청배정로직(210)은 클라이언트(100)로부터 컨텐츠 전송 요청을 수신하면, 객체 전송 요청의 전문을 분석하여 파라미터 즉, 클라이언트(100)의 IP어드레스, 요청 컨텐츠 식별 정보를 추출한다(S802).
그런 다음 요청배정로직(210)은 데이터베이스(240) 내의 IP 어드레스, ISP 맵핑 테이블에서 네트워크 상에서 클라이언트(100)에 가까운 캐시 클러스터를 알아낸다(S803).
다음으로, 요청배정로직(210)은 할당 이력 테이블(T1)을 참조하여 S703 과정에서 파악한 캐시 클러스터 내에서 컨텐츠 A를 보유하고 있는 A 캐시 서버의 IP 어드레스 목록(즉, 캐시 목록)의 존재를 확인한다(S804).
그런 다음 요청배정로직(210)은 서버 부하 테이블(T2)를 이용하여 캐시 목록의 A 캐시 서버 중에서 설정된 임계부하(예; 80%) 이하의 A 캐시 서버가 존재하는지를 판단한다(S805).
상기 판단 과정(S805)에서, 요청배정로직(210)은 추출한 캐시 목록의 A 캐시 서버 중에 객체 서비스 임계부하 이하인 A 캐시 서버가 존재하지 않으면, 전술한 S705 과정을 수행한다.
반면에, 판단 과정(S805)에서, 요청배정로직(210)은 추출한 캐시 목록의 A 캐시 서버 중에 객체 서비스 임계부하 이하인 A 캐시 서버가 존재하면 임의의 하나의 A 캐시 서버 또는 부하 등급이 가장 낮은 하나의 A 캐시 서버를 선택한다(S806).
그리고 요청배정로직(210)은 클라이언트(100)의 IP 주소와 컨텐츠 A의 식별정보를 포함하는 경로 정보를 생성하고(S807), 생성한 클라이언트(100)로의 경로 정보를 포함하는 컨텐츠 A의 제공 요청을 S806 과정에서 선택한 A 캐시 서버에게 제공한다(S808).
이에 A 캐시 서버는 수신한 컨텐츠 A의 제공 요청에 포함된 클라이언트(100)의 IP 주소에 따라 클라이언트(100)로 컨텐츠 A를 제공한다(S809).
한편, 도 8을 참조로 한 실시 예에서는 클라이언트(100)의 경로 정보를 이용하여 특정 캐시 서버가 요청배정장치(200)를 거치지 않고 직접 컨텐츠를 제공한다. 이와 동일한 효과로, 본 발명의 다른 실시 예에 따르면 다이렉트 라우팅 방법을 이용하면 특정 캐시 서버는 요청배정장치(200)와 동일한 가상 IP를 가지고, 네트워크 인터페이스에 가상 IP가 설정되므로, 요청배정장치(200)를 거치지 않고 직접 클라이언트(100)에게 컨텐츠를 제공할 수 있다.
이상에서 설명한 본 발명의 실시예는 장치 및 방법을 통해서만 구현이 되는 것은 아니며, 본 발명의 실시예의 구성에 대응하는 기능을 실현하는 프로그램 또는 그 프로그램이 기록된 기록 매체를 통해 구현될 수도 있으며, 이러한 구현은 앞서 설명한 실시예의 기재로부터 본 발명이 속하는 기술분야의 전문가라면 쉽게 구현할 수 있는 것이다.
이상에서 본 발명의 실시예에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속하는 것이다.
100 : 클라이언트 200 : 요청 배정 장치
210 : 요청 배정 로직 220 : 할당이력 모니터
230 : 서버 모니터 300 : 캐시 클러스터군
301, 302, 30n : 캐시 클러스터 400 : 원천서버 클러스터군
410, 420, 430 : 원천서버

Claims (19)

  1. 복수의 원천서버, 복수의 캐시 서버를 가진 복수의 캐시 클러스터, 클라이언트의 컨텐츠 전송 요청에 따라 해당 컨텐츠를 전송할 캐시 서버를 선택하는 요청배정장치를 이용한 상호협력캐시 방법에 있어서,
    (a) 상기 요청배정장치가 각 캐시 클러스터 내의 각 캐시 서버에 대한 할당 이력 정보, 부하 정보와 임계부하 관리정보-객체 서비스 임계부하와 상호협력 임계부하 포함-를 수집하고 관리하는 단계,
    (b) 상기 요청배정장치가 상기 클라이언트로부터 컨텐츠 A의 전송을 요청받으면 상기 할당 이력 정보와 상기 서버 부하 정보를 이용하여 제1 캐시 클러스터 내의 각 캐시 서버 중에서 상기 컨텐츠 A를 보유한 캐시 서버(이하 "제1 캐시 서버"라 함)에 대한 부하 등급을 파악하는 단계,
    (c) 상기 요청배정장치가 상기 임계부하 관리정보를 이용하여 상기 제1 캐시 서버 중 상기 객체 서비스 임계부하 이하인 캐시 서버가 존재하는 지를 파악하는 단계,
    (d) 상기 객체 서비스 임계부하 이하인 상기 제1 캐시 서버가 존재하지 않는 경우에, 상기 요청배정장치가 상기 제1 캐시 서버 중 상기 상호협력 임계부하 이하인 캐시 서버(이하 "제2 캐시 서버"라 함)가 존재하는 지를 파악하는 단계,
    (e) 상기 제2 캐시 서버가 존재하는 경우에, 상기 요청배정장치가 상기 제2 캐시 서버 중 하나의 캐시 서버(이하 "제3 캐시 서버"라 함)를 선택하는 단계,
    (f) 상기 객체 서비스 임계부하 이하인 상기 제1 캐시 서버가 존재하지 않는 경우에, 상기 요청배정장치가 상기 할당 이력 정보와 상기 서버 부하 정보를 이용하여 상기 제1 캐시 클러스터 내에서 상기 객체 서비스 임계 부하 이하인 하나의 캐시 서버(이하 "제4 캐시 서버"라 함)를 선택하는 단계, 그리고
    (g) 상기 요청배정장치가 상기 제3 캐시 서버와 상기 제4 캐시 서버 간에 상기 컨텐츠 A에 대한 상호협력 캐시가 이루어지게 지시하는 단계를 포함하되,
    상기 객체 서비스 임계부하는 상기 상호협력 임계부하보다 낮은 것을 특징으로 하는 요청배정장치를 이용한 상호협력캐시 방법.
  2. 제1항에 있어서,
    상기 (d) 단계의 판단 결과로 상기 제2 캐시 서버가 존재하지 않는 경우에, (h) 상기 요청배정장치가 상기 (e) 단계를 생략하고 상기 (f) 단계를 수행한 후에, 상기 제4 캐시 서버에게 상기 컨텐츠 A를 보유한 원천 서버로부터 상기 컨텐츠 A를 캐싱할 것을 지시하는 단계를 더 포함하는 것을 특징으로 하는 요청배정장치를 이용한 상호협력캐시 방법.
  3. 제1항에 있어서,
    상기 제1 캐시 클러스터에서 상기 제1 캐시 서버가 존재하지 않는 경우에, (i) 상기 요청배정장치가 상기 (b) 단계 내지 상기 (e) 단계를 생략하고 상기 (f) 단계를 수행한 후에 상기 제4 캐시 서버에게 상기 컨텐츠 A를 보유한 원천 서버로부터 상기 컨텐츠 A를 캐싱할 것을 지시하는 단계를 더 포함하는 것을 특징으로 하는 요청배정장치를 이용한 상호협력캐시 방법.
  4. 제1항에 있어서,
    상기 (g) 단계에서, 상기 요청배정장치는 상기 제4 캐시 서버가 상기 제3 캐시 서버에게 상기 컨텐츠 A를 요청하도록 지시하여 상기 제4 캐시 서버에서 상기 컨텐츠 A의 캐싱이 이루어지게 하는 것을 특징으로 하는 요청배정장치를 이용한 상호렵력캐시 방법.
  5. 제1항에 있어서,
    상기 (g) 단계에서, 상기 요청배정장치는 상기 제3 캐시 서버가 상기 제4 캐시 서버에게 상기 컨텐츠 A를 제공하여 상기 제4 캐시 서버에서 상기 컨텐츠 A의 캐싱이 이루어지게 하는 것을 특징으로 하는 요청배정장치를 이용한 상호렵력캐시 방법.
  6. 복수의 원천서버, 복수의 캐시 서버를 가진 복수의 캐시 클러스터, 클라이언트의 컨텐츠 전송 요청에 따라 해당 컨텐츠를 전송할 캐시 서버를 선택하는 요청배정장치를 이용한 컨텐츠 제공 방법에 있어서,
    (a) 상기 요청배정장치가 클라이언트로부터 수신된 제1 컨텐츠의 전송 요청에 따라 상기 복수의 캐시 클러스터 중 제1 캐시 클러스터 내의 각 캐시 서버에 대하여 할당 이력 정보를 기초로 상기 제1 컨텐츠를 보유한 캐시 서버(이하 "제1 캐시 서버"라 함)를 파악하는 단계,
    (b) 상기 요청배정장치가 서버 부하 정보를 이용하여 상기 제1 캐시 서버 중에서 객체 서비스 임계부하 이하인 캐시 서버(이하 "제2 캐시 서버"라 함)를 파악하는 단계,
    (c) 상기 요청배정장치가 상기 제2 캐시 서버 중 하나의 캐시 서버(이하 "제3 캐시 서버"라 함)에서 상기 클라이언트로 상기 제1 컨텐츠의 전송이 이루어지게 하는 단계,
    (d) 상기 요청배정장치가 설정 기간 내에 상기 제1 컨텐츠의 전송 요청 횟수가 설정치 이상인지를 파악하는 단계,
    (e) 상기 설정 기간 내에 상기 제1 컨텐츠의 전송 요청 횟수가 설정치 이상인 경우에 상기 요청배정장치가 상기 제1 캐시 클러스터 내에서 상기 객체 서비스 임계부하 이하인 하나의 non-제1 캐시 서버(이하 "제4 캐시 서버"라 함)를 선택하는 단계,
    (f) 상기 설정 기간 내에 상기 제1 컨텐츠의 전송 요청 횟수가 설정치 이상인 경우에 상기 요청배정장치가 상기 제1 캐시 서버 중 상호협력 임계부하 이하인 하나의 캐시 서버(이하 "제5 캐시 서버"라 함)를 선택하는 단계, 그리고
    (g) 상기 요청 배정 장치가 상기 제4 캐시 서버와 상기 제5 캐시 서버 간에 상호 협력 캐시를 지시하여 상기 제4 캐시 서버에 상기 제1 컨텐츠가 캐싱되게 하는 단계를 포함하되,
    상기 객체 서비스 임계부하는 상기 상호협력 임계부하보다 낮은 것을 특징으로 하는 요청배정장치를 이용한 컨텐츠 제공 방법.
  7. 제6항에 있어서,
    상기 (e) 단계에서 선택한 상기 하나의 제4 캐시 서버는 상기 제1 캐시 클러스터 내에서 상기 객체 서비스 임계부하 이하이면서 부하 등급이 가장 낮은 non-제1 캐시 서버인 것을 특징으로 하는 요청배정장치를 이용한 컨텐츠 제공 방법.
  8. 제7항에 있어서,
    상기 (f) 단계에서 선택한 상기 제5 캐시 서버는 상기 제1 캐시 서버 중에서 상기 상호협력 임계부하 이하이면서 부하 등급이 가장 낮은 캐시 서버인 것을 특징으로 하는 요청배정장치를 이용한 컨텐츠 제공 방법.
  9. 제6항 또는 제8항에 있어서,
    상기 (g) 단계에서, 상기 요청배정장치는 상기 제4 캐시 서버가 상기 제5 캐시 서버에게 상기 제1 컨텐츠를 요청하도록 지시하여 상기 제4 캐시 서버에서 상기 제1 컨텐츠의 캐싱이 이루어지게 하는 것을 특징으로 하는 요청배정장치를 이용한 컨텐츠 제공 방법.
  10. 제6항 또는 제8항에 있어서,
    상기 (g) 단계에서, 상기 요청배정장치는 상기 제5 캐시 서버가 상기 제4 캐시 서버에게 상기 제1 컨텐츠를 제공하여 상기 제4 캐시 서버에서 상기 제1 컨텐츠의 캐싱이 이루어지게 하는 것을 특징으로 하는 요청배정장치를 이용한 컨텐츠 제공 방법.
  11. 복수의 원천서버, 복수의 캐시 서버를 가진 복수의 캐시 클러스터, 클라이언트의 컨텐츠 전송 요청에 따라 해당 컨텐츠를 전송할 캐시 서버를 선택하는 요청 배정 장치를 이용한 컨텐츠 제공 방법에 있어서,
    (a) 상기 요청배정장치가 할당 이력 정보와 서버 부하 정보를 이용하여 제1 캐시 클러스터 내의 각 캐시 서버 중에서 제1 컨텐츠를 보유한 캐시 서버(이하 "제1 캐시 서버"라 함)에 대한 부하 등급을 파악하는 단계,
    (b) 상기 요청배정장치가 임계부하 관리정보-객체 서비스 임계부하와 상호협력 임계부하 포함-를 이용하여 상기 제1 캐시 서버 중 상기 객체 서비스 임계부하 이하인 캐시 서버가 존재하는 지를 파악하는 단계,
    (c) 상기 객체 서비스 임계부하 이하인 상기 제1 캐시 서버가 존재하지 않는 경우에, 상기 요청배정장치가 상기 제1 캐시 서버 중 상기 상호협력 임계부하 이하인 캐시 서버(이하 "제2 캐시 서버"라 함)가 존재하는 지를 파악하는 단계,
    (d) 상기 제2 캐시 서버가 존재하는 경우에, 상기 요청배정장치가 상기 제2 캐시 서버 중 하나의 캐시 서버(이하 "제3 캐시 서버"라 함)를 선택하는 단계,
    (e) 상기 요청배정장치가 상기 할당 이력 정보와 상기 서버 부하 정보를 이용하여 상기 제1 캐시 클러스터 내에서 상기 객체 서비스 임계 부하 이하인 하나의 캐시 서버(이하 "제4 캐시 서버"라 함)을 선택하는 단계,
    (f) 상기 요청배정장치가 상기 제3 캐시 서버와 상기 제4 캐시 서버 간에 상기 제1 컨텐츠에 대한 상호협력캐시가 이루어지게 지시하는 단계, 그리고
    (g) 상기 요청배정장치가 상기 제4 캐시 서버에서 상기 클라이언트로 상기 제1 컨텐츠의 전송이 이루어지게 하는 단계를 포함하되,
    상기 객체 서비스 임계부하는 상기 상호협력 임계부하보다 낮은 것을 특징으로 하는 요청배정장치를 이용한 컨텐츠 제공 방법.
  12. 제11항에 있어서,
    상기 (c) 단계의 판단 결과로 상기 제2 캐시 서버가 존재하지 않는 경우에, (h) 상기 요청배정장치가 상기 (d) 단계를 생략하고 상기 (e) 단계를 수행한 후에, 상기 제4 캐시 서버에게 상기 제1 컨텐츠를 보유한 원천 서버로부터 상기 제1 컨텐츠를 캐싱할 것을 지시하는 단계를 더 포함하는 것을 특징으로 하는 요청배정장치를 이용한 컨텐츠 제공 방법.
  13. 제11항에 있어서,
    상기 제1 캐시 클러스터에서 상기 제1 캐시 서버가 존재하지 않는 경우에, (i) 상기 요청배정장치가 상기 (a) 단계 내지 상기 (d) 단계를 생략하고 상기 (e) 단계를 수행한 후에 상기 제4 캐시 서버에게 상기 제1 컨텐츠를 보유한 원천 서버로부터 상기 제1 컨텐츠를 캐싱할 것을 지시하는 단계를 더 포함하는 것을 특징으로 하는 요청배정장치를 이용한 컨텐츠 제공 방법.
  14. 제11항에 있어서,
    상기 (f) 단계에서, 상기 요청배정장치는 상기 요청배정장치는 상기 제4 캐시 서버가 상기 제3 캐시 서버에게 상기 제1 컨텐츠를 요청하도록 지시하여 상기 제4 캐시 서버에서 상기 제1 컨텐츠의 캐싱이 이루어지게 하는 것을 특징으로 하는 요청배정장치를 이용한 컨텐츠 제공 방법.
  15. 제11항에 있어서,
    상기 (f) 단계에서, 상기 요청배정장치는 상기 제3 캐시 서버가 상기 제4 캐시 서버에게 상기 제1 컨텐츠를 제공하여 상기 제4 캐시 서버에서 상기 제1 컨텐츠의 캐싱이 이루어지게 하는 것을 특징으로 하는 요청배정장치를 이용한 컨텐츠 제공 방법.
  16. 제14항 또는 제15항에 있어서,
    상기 (g) 단계는,
    상기 요청배정장치가 상기 클라이언트에게 상기 제1 컨텐츠를 제공받을 상기 제4 캐시 서버에 대한 경로 정보를 제공하는 단계와,
    상기 클라이언트가 상기 경로 정보에 따라 상기 제4 캐시 서버에 접속하여 상기 제1 컨텐츠를 요구하고 제공 받는 단계를 포함하는 것을 특징으로 하는 요청배정장치를 이용한 컨텐츠 제공 방법.
  17. 제14항 또는 제15항에 있어서,
    상기 (g) 단계는,
    상기 요청배정장치가 상기 제4 캐시 서버로부터 상기 제1 컨텐츠를 제공받는 단계와, 상기 요청배정장치가 상기 제1 컨텐츠를 상기 클라이언트에게 제공하는 단계를 포함하는 것을 특징으로 하는 요청배정장치를 이용한 컨텐츠 제공 방법.
  18. 제14항 또는 제15항에 있어서,
    상기 (g) 단계는,
    상기 요청배정장치가 상기 클라이언트의 경로 정보를 상기 제4 캐시 서버에게 제공하는 단계와, 상기 제4 캐시 서버가 상기 클라이언트의 경로 정보에 따라 상기 클라이언트에게 상기 제1 컨텐츠를 제공하는 단계를 포함하는 것을 특징으로 하는 요청배정장치를 이용한 컨텐츠 제공 방법.
  19. 제14항 또는 제15항에 있어서,
    상기 (g) 단계는,
    상기 요청배정장치와 상기 제4 캐시 서버가 동일한 가상 IP를 공유하고, 상기 요청배정장치와 상기 제4 캐시 서버 간 네트워크 인터페이스에 상기 가상 IP가 설정된 상태에서, 상기 요청배정장치가 상기 제4 캐시 서버에게 상기 제1 컨텐츠의 전송을 요청하는 단계와, 상기 제4 캐시 서버가 상기 클라이언트에게 직접 상기 제1 컨텐츠를 제공하는 단계를 포함하는 것을 특징으로 하는 요청배정장치를 이용한 컨텐츠 제공 방법.
KR1020100062841A 2009-07-02 2010-06-30 요청배정장치를 이용한 상호협력캐시 방법 및 컨텐츠 제공 방법 KR101218828B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
PCT/KR2010/004285 WO2011002245A2 (ko) 2009-07-02 2010-07-01 요청배정장치를 이용한 상호협력캐시 방법 및 컨텐츠 제공 방법
US13/381,065 US8959225B2 (en) 2009-07-02 2010-07-01 Cooperative caching method and contents providing method using request apportioning device

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020090060368 2009-07-02
KR20090060368 2009-07-02

Publications (2)

Publication Number Publication Date
KR20110002808A KR20110002808A (ko) 2011-01-10
KR101218828B1 true KR101218828B1 (ko) 2013-01-04

Family

ID=43610946

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100062841A KR101218828B1 (ko) 2009-07-02 2010-06-30 요청배정장치를 이용한 상호협력캐시 방법 및 컨텐츠 제공 방법

Country Status (2)

Country Link
US (1) US8959225B2 (ko)
KR (1) KR101218828B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190139095A (ko) * 2018-06-07 2019-12-17 주식회사 티맥스 소프트 분산 캐시 환경에서 니어 캐시를 제어하는 방법 및 이를 이용한 분산 캐시 서버

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101511098B1 (ko) * 2011-10-10 2015-04-10 네이버 주식회사 분산된 컨테이너들을 사용하여 데이터를 관리하는 시스템 및 방법
KR101434887B1 (ko) * 2012-03-21 2014-09-02 네이버 주식회사 네트워크 스위치를 이용한 캐시 시스템 및 캐시 서비스 제공 방법
KR101366031B1 (ko) * 2012-05-11 2014-03-03 와인소프트 (주) 캐시 서버 관리 방법 및 그 장치
JP6102108B2 (ja) * 2012-07-24 2017-03-29 富士通株式会社 情報処理装置、データ提供方法、及びデータ提供プログラム
US10104165B1 (en) * 2012-08-30 2018-10-16 Amazon Technologies, Inc. Sharing network connections to content sources
US9560694B2 (en) 2013-01-17 2017-01-31 The Hong Kong University Of Science And Technology Cache-induced opportunistic MIMO cooperation for wireless networks
KR102147053B1 (ko) * 2013-10-10 2020-08-21 에스케이텔레콤 주식회사 컨텐츠 전송 서비스 기반의 api 제공 방법 및 이를 위한 캐시 장치
US10129356B2 (en) 2013-11-15 2018-11-13 The Hong Kong University Of Science And Technology Physical layer caching for flexible MIMO cooperation in wireless networks
KR102212973B1 (ko) * 2014-01-07 2021-02-04 인터디지털 브이씨 홀딩스 인코포레이티드 멀티미디어 컨텐츠의 컨텐츠 부분을 클라이언트 단말기, 대응 캐시에 제공하는 방법
KR20150108167A (ko) * 2014-03-17 2015-09-25 한국전자통신연구원 부하 분산 장치 및 그 방법
WO2016099356A1 (en) * 2014-12-18 2016-06-23 Telefonaktiebolaget Lm Ericsson (Publ) Method and content management module for managing content in a content distribution network
US10001932B2 (en) * 2015-06-09 2018-06-19 Western Digital Technologies, Inc. Enhanced redundant caching for shingled magnetic recording devices in data storage drive assemblies
CN106453460B (zh) * 2015-08-12 2021-01-08 腾讯科技(深圳)有限公司 一种文件分发方法、装置和***
WO2017042813A1 (en) * 2015-09-10 2017-03-16 Vimmi Communications Ltd. Content delivery network
CN105897832A (zh) * 2015-12-01 2016-08-24 乐视网信息技术(北京)股份有限公司 用于提供服务数据的服务器、方法及***
KR102361648B1 (ko) * 2016-03-03 2022-02-10 에스케이텔레콤 주식회사 컨텐츠 제공 방법 및 이를 위한 프로그램을 기록한 컴퓨터 판독 가능한 기록매체
CN106161644B (zh) * 2016-08-12 2021-11-02 珠海格力电器股份有限公司 数据处理的分布式***及其数据处理方法
CN107888633B (zh) * 2016-09-29 2020-10-20 上海帝联信息科技股份有限公司 文件分发方法及装置
US10721719B2 (en) * 2017-06-20 2020-07-21 Citrix Systems, Inc. Optimizing caching of data in a network of nodes using a data mapping table by storing data requested at a cache location internal to a server node and updating the mapping table at a shared cache external to the server node
US10498696B2 (en) * 2018-01-31 2019-12-03 EMC IP Holding Company LLC Applying a consistent hash to a distributed domain name server cache
CN108551490B (zh) * 2018-05-14 2021-06-18 西京学院 一种工业流数据编码解码***及方法
KR102235622B1 (ko) * 2020-11-30 2021-04-01 연세대학교 산학협력단 IoT 환경에서의 협력 에지 캐싱 방법 및 그를 위한 장치
US11704033B1 (en) 2021-09-30 2023-07-18 Amazon Technologies, Inc. Request routing management for a distributed storage system
US11640240B1 (en) 2021-09-30 2023-05-02 Amazon Technologies, Inc. Transaction management for monotonic write consistency in a distributed storage system
US11741078B1 (en) 2021-09-30 2023-08-29 Amazon Technologies, Inc. Witness service for ensuring data consistency in a distributed storage system
US11537516B1 (en) * 2021-09-30 2022-12-27 Amazon Technologies, Inc. Multi-tier cache for a distributed storage system

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20080082227A (ko) * 2007-03-08 2008-09-11 (주)에임투지 로드 밸런싱 시스템의 요청 배정 장치 및 로드 밸런싱 방법

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6345041B1 (en) * 1996-10-24 2002-02-05 Hewlett-Packard Company Method and apparatus for automatic load-balancing on multisegment devices
US7203747B2 (en) * 2001-05-25 2007-04-10 Overture Services Inc. Load balancing system and method in a multiprocessor system
US6944678B2 (en) * 2001-06-18 2005-09-13 Transtech Networks Usa, Inc. Content-aware application switch and methods thereof
US7912954B1 (en) * 2003-06-27 2011-03-22 Oesterreicher Richard T System and method for digital media server load balancing
US7934216B2 (en) * 2005-10-03 2011-04-26 International Business Machines Corporation Method and system for load balancing of computing resources
US7844839B2 (en) * 2006-12-07 2010-11-30 Juniper Networks, Inc. Distribution of network communications based on server power consumption
KR20090000028A (ko) 2006-12-15 2009-01-07 주식회사 케이티 가변 성능 컨텐츠 전송 네트워크 서비스 제어 방법
US7979504B2 (en) * 2007-08-07 2011-07-12 Ticketmaster, Llc Systems and methods for providing resource allocation in a networked environment
US8171124B2 (en) * 2008-11-25 2012-05-01 Citrix Systems, Inc. Systems and methods for GSLB remote service monitoring
US8135850B2 (en) * 2008-11-25 2012-03-13 Citrix Systems, Inc. Systems and methods for load balancing real time streaming

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20080082227A (ko) * 2007-03-08 2008-09-11 (주)에임투지 로드 밸런싱 시스템의 요청 배정 장치 및 로드 밸런싱 방법

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190139095A (ko) * 2018-06-07 2019-12-17 주식회사 티맥스 소프트 분산 캐시 환경에서 니어 캐시를 제어하는 방법 및 이를 이용한 분산 캐시 서버
KR102103782B1 (ko) * 2018-06-07 2020-04-24 주식회사 티맥스소프트 분산 캐시 환경에서 니어 캐시를 제어하는 방법 및 이를 이용한 분산 캐시 서버
US10783081B2 (en) 2018-06-07 2020-09-22 Tmaxsoft. Co., Ltd. Method for controlling near caches in distributed cache environment, and distributed cache server using the same

Also Published As

Publication number Publication date
US8959225B2 (en) 2015-02-17
KR20110002808A (ko) 2011-01-10
US20120110113A1 (en) 2012-05-03

Similar Documents

Publication Publication Date Title
KR101218828B1 (ko) 요청배정장치를 이용한 상호협력캐시 방법 및 컨텐츠 제공 방법
US11811657B2 (en) Updating routing information based on client location
CN106031130B (zh) 具有边缘代理的内容传送网络架构
EP2356577B1 (en) Request routing and updating routing information utilizing client location information
US9002850B2 (en) Balancing caching load in a peer-to-peer based network file system
JP4677482B2 (ja) アクセス振分システム、サーバ装置、共通管理装置、アクセス振分装置、アクセス振分方法、及び、コンピュータプログラム
US8028019B2 (en) Methods and apparatus for data transfer in networks using distributed file location indices
US20090006531A1 (en) Client request based load balancing
WO2003026220A1 (en) Parallel information delivery method based on peer-to-peer enabled distributed computing technology and the system thereof
JPH11224219A (ja) 分散キャッシュ制御方法及び分散制御装置及び分散キャッシュシステム及び分散キャッシュ制御プログラムを格納した記憶媒体
KR20120113976A (ko) 푸시 알림 서비스를 위한 서버 클러스터 및 방법
US9781033B2 (en) Providing requested content in an overlay information centric networking (O-ICN) architecture
KR100892885B1 (ko) 로드 밸런싱 시스템의 요청 배정 장치 및 로드 밸런싱 방법
JP5871908B2 (ja) ネットワーク内部のデータ通信を制御するための方法およびシステム
EP2695362B1 (en) Multi-user cache system
US7711780B1 (en) Method for distributed end-to-end dynamic horizontal scalability
Moreno et al. On content delivery network implementation
US20100030851A1 (en) Load balancer, load-balancing method, and recording medium with load-balancing program
EP3685567A1 (en) Load shedding of traffic based on current load state of target capacity
JP2013105227A (ja) P2P型Webプロキシネットワークシステム
JP2006127262A (ja) コンテンツ配信システムにおける負荷分散方法及び負荷分散システム

Legal Events

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

Payment date: 20151228

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20161228

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20180904

Year of fee payment: 7