KR101169041B1 - 캐시서버 및 멀티미디어 컨텐츠 제공 방법 - Google Patents
캐시서버 및 멀티미디어 컨텐츠 제공 방법 Download PDFInfo
- Publication number
- KR101169041B1 KR101169041B1 KR1020100075051A KR20100075051A KR101169041B1 KR 101169041 B1 KR101169041 B1 KR 101169041B1 KR 1020100075051 A KR1020100075051 A KR 1020100075051A KR 20100075051 A KR20100075051 A KR 20100075051A KR 101169041 B1 KR101169041 B1 KR 101169041B1
- Authority
- KR
- South Korea
- Prior art keywords
- content
- client
- shortened
- unit
- cached
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 28
- 230000004044 response Effects 0.000 claims description 16
- 238000010586 diagram Methods 0.000 description 8
- 238000011068 loading method Methods 0.000 description 4
- 230000007423 decrease Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/10—Services
Landscapes
- Business, Economics & Management (AREA)
- Tourism & Hospitality (AREA)
- Health & Medical Sciences (AREA)
- Economics (AREA)
- General Health & Medical Sciences (AREA)
- Human Resources & Organizations (AREA)
- Marketing (AREA)
- Primary Health Care (AREA)
- Strategic Management (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Information Transfer Between Computers (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
본 발명은 캐시서버 및 멀티미디어 컨텐츠 제공 방법에 관한 것으로, 클라이언트가 제1 컨텐츠를 요청하는 경우에 우선적으로 메모리 영역에 상기 제1 컨텐츠의 단축 컨텐츠가 캐싱되어 있는지를 파악한 후, 제1 컨텐츠의 단축 컨텐츠가 있는 경우에 단축 컨텐츠를 클라이언트에게 제공하고, 다음으로 단축 컨텐츠의 바디 길이를 파악하여 단축 컨텐츠의 제공이 종료되는 시점에서 디스크 영역으로부터 제1 컨텐츠의 잔여 컨텐츠를 상기 클라이언트에게 제공한다.
Description
본 발명은 대용량 웹(web) 컨텐츠 처리를 위한 캐시 메모리 시스템(cache memory system)에 관한 것이다. 특히, 본 발명은 캐시 메모리 시스템의 캐시서버 및 멀티미디어 컨텐츠 제공 방법에 관한 것이다.
캐싱(caching) 기술은 잦은 요청이 있는 컨텐츠를 원천 서버에서 복수의 캐시서버로 로드(load)하여 사용자와 비교적 가까이에 있는 캐시서버에서 사용자가 요청한 컨텐츠를 제공하는 기술이다. 이러한 캐싱 기술은 웹 서버 등과 같이 작고 다양한 컨텐츠를 서비스하는 경우에 사용자의 요청에 빠르게 응답하고, 캐시서버의 교체가 빈번하지 않는다면 원천서버의 부하를 획기적으로 줄일 수 있게 된다.
그런데 현재 멀티미디어 컨텐츠의 고화질화로 인해 파일 사이즈(즉, 컨텐츠의 사이즈)가 급격하게 증가하고 있다. 이는 해당 컨텐츠를 저장하기 위한 스토리지(storage) 수요는 물론, 이를 서비스하기 위한 네트워크 대역폭에 영향을 주고 있으며, 긍극적으로는 컨텐츠 요청에 대한 응답시간 저하로 나타난다.
컨텐츠의 사이즈가 증가할수록 컨텐츠 요청에 대한 응답시간 저하로 나타나는 이유는 한정된 캐시서버의 메모리 용량에 수용할 수 있는 컨텐츠의 수가 줄어들기 때문이다.
즉, 컨텐츠 요청에 대한 응답시간을 향상시키기 위해 캐시서버를 이용하지만, 대용량의 컨텐츠를 한정된 메모리 자원에 할당하는 것은 용량에 반비례하여 캐싱할 수 있는 컨텐츠 수에 영향을 주게 된다. 그리고 캐싱된 컨텐츠 수가 줄어서 캐시되지 않은 컨텐츠 요청에 대해 잦아지게 되면 캐시 미스(cache miss)를 유발할 수 있고 캐싱된 데이터의 잦은 교체를 유도하게 된다.
이에 따라 결국 기존의 캐싱 기술은 컨텐츠 요청에 대해 빠른 응답을 하지 못하고 있다. 멀티미디어 컨텐츠는 일반적인 파일과 같이 다운로드만 요청하는 것이 아니라, 다운로드와 동시에 요청한 컨텐츠를 재생하는 경우가 많다.
멀티미디어 컨텐츠가 재생되기 위해서는 재생하기 전에 해당 컨텐츠의 속성이 확인되어야 하며, 컨텐츠의 속성값들은 파일의 헤드(Head) 또는 테일(Tail)에 적재된다. 따라서 컨텐츠를 다운로드와 동시에 재생이 되게 하려면, 한정된 메모리 용량으로는 헤드(Head) 또는 테일(Tail)이 포함되어 있는 많은 수의 컨텐츠를 적재하지 못한다.
또한 기존의 캐싱 기술은 컨텐츠의 속성이 테일(Tail)에 포함되는 멀티미디어 파일의 경우에는 해당 컨텐츠를 모두 캐싱해 놓아야 빠른 응답을 할 수 있다. 이러한 파일들이 많아지게 되면 한정된 메모리 자원을 소량의 멀티미디어 컨텐츠를 캐싱하는 데에 할당하여 자원의 효율성이 낮아지게 된다. 이로 인해 캐시의 적중율(Hit Rate)이 낮아지게 되며, 잦은 캐시 미스(cache miss) 발생으로 응답속도에 영향을 주게 된다.
물론, 캐시서버의 메모리 용량의 매우 크게 증가시켜 증가하는 대용량의 멀티미디어 콘텐츠 사이즈에 대응시킬 수 있지만, 메모리 운영 측면에서 상당히 비효율적이며, 비용적인 문제가 있다.
일반적인 동영상 파일이 1GB 내외이지만, HD(high density) 화질로 제작된 컨텐츠의 경우 편당 20GB를 넘게 된다. 또한 다양한 멀티미디어 컨텐츠와 발달된 네트워크 환경은 인기 컨텐츠의 수요와 변동에 영향을 준다.
오늘 인기가 높아서 요청이 많았던 컨텐츠가 내일도 같은 수의 요청이 있으리란 것을 보장할 수 없다. 어떠한 컨텐츠에 갑작스런 수요가 몰릴지 예견하기도 어려운 상황이다. 이를 보완하기 위해서는 많은 수의 멀티미디어 컨텐츠를 캐싱할 수 있는 시스템이 필요하며, 종래의 캐싱 기법으로는 이러한 요구 사항을 만족시키기에 어려움이 있다.
본 발명이 해결하고자 하는 기술적 과제는 대용량의 멀티미디어 컨텐츠의 요청에 대응하여 사용자에게 빠른 응답을 하는 것을 목적으로 한다.
또한 본 발명이 해결하고자 하는 기술적 과제는 캐시서버에서 한정된 메모리 자원을 효과적으로 활용하여 많은 수의 고용량 멀티미디어 컨텐츠를 적재하는 것을 목적으로 한다.
상기한 기술적 과제를 달성하기 위한 일 특징에 따르면, 본 발명은 클라이언트, 캐시서버 및 원천서버를 포함하는 캐시 메모리 시스템에서의 상기 캐시서버를 제공한다. 이 캐시 서버는 상기 클라이언트로부터 전송한 제1 컨텐츠의 제공 요청을 파악하는 요청 파악부, 상기 원천서버에 저장된 컨텐츠를 복사하여 캐싱하고 있는 디스크부, 상기 디스크부에 저장된 모든 컨텐츠 중 적어도 일부의 컨텐츠에 대한 단축 컨텐츠를 캐싱하고 있는 메모리부, 그리고 상기 요청 파악부의 요청에 따라 우선적으로 상기 메모리부로부터 상기 클라이언트에게 상기 제1 컨텐츠의 단축 컨텐츠를 제공하고, 상기 단축 컨텐츠의 제공이 완료되는 시점에 상기 디스크부로부터 상기 클라이언트에게 잔여 컨텐츠를 제공하는 컨텐츠 관리부를 포함한다.
상기에서, 컨텐츠 관리부는 상기 메모리부와 상기 디스크부에 캐싱된 각 컨텐츠에 대한 관리정보를 기록한 속성 테이블을 이용하여 상기 요청 파악부가 요청한 컨텐츠를 상기 클라이언트에게 제공하되, 상기 속성 테이블은 컨텐츠 식별자, 컨텐츠 타입(Type), 타입별 사이즈(size), 타입별 크기구분 및 컨텐츠의 위치정보를 포함하는 것을 특징으로 한다.
상기 제1 컨텐츠의 단축 컨텐츠는 헤드, 테일 및 바디로 구성되며, 상기 디스크부에 캐싱된 상기 제1 컨텐츠의 바디 길이보다 짧은 바디 길이를 가지되, 상기 제1 컨텐츠의 바디 길이에서 가장 앞부분의 정보를 포함하는 것을 특징으로 한다.
상기 컨텐츠 관리부는 상기 메모리부에 상기 제1 컨텐츠가 존재하지 않는 경우에 상기 디스크부에 캐싱된 상기 제1 컨텐츠를 상기 클라이언트에게 제공하는 것을 특징으로 한다.
상기 컨텐츠 관리부는 상기 메모리부와 상기 디스크부에 상기 제1 컨텐츠가 존재하지 않는 경우에 상기 원천서버로부터 상기 제1 컨텐츠를 제공받아 상기 디스크부에 캐싱한 후 상기 디스크부로부터 상기 클라이언트에게 상기 제1 컨텐츠를 제공하는 것을 특징으로 한다.
상기한 기술적 과제를 달성하기 위한 다른 특징에 따르면, 본 발명은 클라이언트, 캐시서버 및 원천서버를 포함하는 캐시 메모리 시스템에서 상기 캐시서버에서의 멀티미디어 컨텐츠 제공 방법을 제공한다. 이 멀티미디어 컨텐츠 제공 방법은 상기 클라이언트로부터 전송한 제1 컨텐츠의 제공 요청을 파악하는 단계, 메모리 영역에 상기 제1 컨텐츠의 단축 컨텐츠가 캐싱되어 있는지를 파악하는 단계, 상기 메모리 영역에 캐싱된 상기 제1 컨텐츠의 단축 컨텐츠를 상기 클라이언트에게 제공하는 단계, 상기 단축 컨텐츠의 바디 길이를 파악하는 단계, 그리고 상기 단축 컨텐츠의 제공이 종료되는 시점에서 상기 단축 컨텐츠의 바디 길이를 이용하여 상기 디스크 영역으로부터 상기 제1 컨텐츠의 잔여 컨텐츠를 상기 클라이언트에게 제공하는 단계를 포함한다.
본 발명의 실시 예에 따르면, 다양한 고용량 멀티미디어 컨텐츠를 캐싱하도록 헤드(head)/테일(tail) 정보를 캐시서버의 메모리에 적재하여 사용자의 고화질 멀티미디어 컨텐츠 요청에 빠른 응답을 할 수 있게 한다.
또한 본 발명의 실시 예에 따르면, 캐시서버의 한정된 메모리 자원을 효율적인 적재 방법으로 더 많은 컨텐츠를 캐싱할 수 있게 보안하여 캐시의 적중율을 높일 수 있다.
도 1은 본 발명의 개념을 설명하기 위한 도면이다.
도 2는 본 발명의 실시 예에 따른 캐시 메모리 시스템의 네트워크 구성도이다.
도 3은 본 발명의 실시 예에 따른 캐시서버의 내부 구성도이다.
도 4는 본 발명의 실시 예에 따른 컨텐츠 적재 상태 및 컨텐츠 관리 정보를 보인 도면이다.
도 5는 본 발명의 제1 실시 예에 따른 멀티미디어 컨텐츠 제공 방법을 보인 데이터 흐름도이다.
도 6은 본 발명의 제2 실시 예에 따른 멀티미디어 컨텐츠 제공 방법을 보인 데이터 흐름도이다.
도 7은 본 발명의 실시 예에 따른 단축 컨텐츠와 풀 컨텐츠의 간략 구조를 보인 도면이다.
도 2는 본 발명의 실시 예에 따른 캐시 메모리 시스템의 네트워크 구성도이다.
도 3은 본 발명의 실시 예에 따른 캐시서버의 내부 구성도이다.
도 4는 본 발명의 실시 예에 따른 컨텐츠 적재 상태 및 컨텐츠 관리 정보를 보인 도면이다.
도 5는 본 발명의 제1 실시 예에 따른 멀티미디어 컨텐츠 제공 방법을 보인 데이터 흐름도이다.
도 6은 본 발명의 제2 실시 예에 따른 멀티미디어 컨텐츠 제공 방법을 보인 데이터 흐름도이다.
도 7은 본 발명의 실시 예에 따른 단축 컨텐츠와 풀 컨텐츠의 간략 구조를 보인 도면이다.
아래에서는 첨부한 도면을 참고로 하여 본 발명의 실시 예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시 예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
이제, 이하에서 첨부한 도면을 참조로 하여 본 발명의 실시 예에 따른 캐시서버 및 멀티미디어 컨텐츠 제공 방법을 설명한다.
도 1은 본 발명의 개념을 설명하기 위한 도면이다. 도 1에 도시된 바와 같이, 본 발명의 실시 예에 따른 개념은 대용량 웹(web) 컨텐츠 처리를 위한 캐시 메모리 시스템(cache memory system)에 적용된다.
캐시 메모리 시스템에서 클라이언트(100)는 네트워크(예; 인터넷 등)을 통해 컨텐츠 A의 제공을 요청한다(S1).
이에 따라, 캐시서버(200)는 클라이언트(100)의 컨텐츠 A 제공 요청을 수신하고 이에 대응하여 컨텐츠 A를 클라이언트(100)에게 제공하게 되는데, 고속 응답을 위하여 캐시서버(200)는 다음과 같이 클라이언트(100)의 컨텐츠 A 제공 요청을 처리한다.
즉, 캐시서버(200)는 응답 속도가 빠른 메모리(memory) 영역(A)(예; RAM(Random Access Memory) 등)에 저장된 단축 컨텐츠 A를 우선적으로 클라이언트(100)에게 제공한다(S2).
단축 컨텐츠 A는 정상적인 컨텐츠 A(이하 "풀(full) 컨텐츠 A"라 한다)에서 일부 내용만을 포함하고 있는 컨텐츠이다.
단축 컨텐츠 A와 풀 컨텐츠 A를 도 7을 참조로 보다 상세히 설명한다. 도 7은 본 발명의 실시 예에 따른 단축 컨텐츠와 풀 컨텐츠의 간략 구조를 보인 도면이다.
도 7에서, (a)는 단축 컨텐츠의 구조를 보인 도면이고, (b)는 풀 컨텐츠의 구조를 보인 도면이다.
도 7에 도시된 바와 같이, 단축 컨텐츠(c1)와 풀 컨텐츠(c2)는 헤드(head) 영역과 바디(body) 영역 및 테일(tail) 영역으로 구성되어, 그 구조가 서로 동일하다.
그러나 풀 컨텐츠(c2)가 정상적인 컨텐츠 내용 모두를 가지는 반면에, 단축 컨텐츠(c1)는 풀 컨텐츠(c2)의 컨텐츠 내용 중 일부를 가진다. 즉, 풀 컨텐츠(c2)의 바디 길이가 L2이면, 단축 컨텐츠(c1)의 바디 길이는 (L2-L3)인 L1의 바디 길이를 가진다. 그리고 단축 컨텐츠(c1)의 바디 길이(L1)는 풀 컨텐츠(c2)의 바디 길이(L2) 중 가장 앞부분의 정보를 포함한다.
이와 같이, 캐시서버(200)의 메모리 영역(A)에서 단축 컨텐츠 A를 제공하게 되면, 메모리 영역(A)는 풀 컨텐츠(c2)를 저장하는 것에 대비하여 한정된 용량으로 보다 많은 종류의 컨텐츠를 저장할 수 있다. 물론 단축 컨텐츠의 바디 길이를 조절하거나 메모리 영역(A)의 용량을 높이면 캐시서버(200)는 메모리 영역(A)에 디스크 영역(B)에 저장된 모든 컨텐츠 종류를 저장할 수 있다.
메모리 영역(A)에 많은 종류의 컨텐츠를 저장하게 되면, 캐시서버(200)는 디스크 영역(B)에서 컨텐츠를 제공하는 것에 비해, 고속의 응답이 가능하게 된다.
한편, 캐시서버(200)는 메모리 영역(A)에서 단축 컨텐츠 A의 L1을 제공함과 동시에, 단축 컨텐츠 A에 포함되지 않은 잔여 컨텐츠 내용(L2-L1)인 L3의 컨텐츠 내용을 L1이 제공되는 중에 디스크 영역(B)으로부터 파악하고, L1의 컨텐츠 내용의 제공에 이어서 제공한다(S3).
결국, 이에 의해 캐시서버(200)는 클라이언트(100)의 요청에 대응하여 고속으로 그리고, 컨텐츠의 다운로드가 끊김없이 제공할 수 있다.
이하에서는 도 2를 참조로 하여 본 발명의 실시 예에 따른 캐시 메모리 시스템을 설명한다. 도 2는 본 발명의 실시 예에 따른 캐시 메모리 시스템의 네트워크 구성도이다.
도 2에 도시된 바와 같이, 본 발명의 실시 예에 따른 캐시 메모리 시스템은 클라이언트(100), 캐시서버(200)와 원천 서버(300)를 포함한다. 여기서, 캐시서버(200)와 원천 서버(300)는 하나인 것으로 설명하지만, 실질적으로 캐시 메모리 시스템에는 적어도 하나 이상의 캐시서버와 원천 서버를 포함한다.
클라이언트(100)는 자신이 원하는 컨텐츠(멀티미디어, 이미지 등의 각종 데이터)(이하 컨텐츠라 한다)를 요청할 수 있는 사용자 단말이다. 예컨대, 클라이언트(100)는 스마트폰, 핸드폰, 노트북, 데스크탑 컴퓨터 등이다.
클라이언트(100)에서의 컨텐츠 요청 형식은 다양한 형태의 포맷을 사용할 수 있으며, 요청의 형태는 TCP/IP로 표현된다. 요청 내용(즉, 요청 메시지)은 ISP(Internet Service Provider, 컨텐츠를 서비스하는 업체)의 아이디, 요청자 정보(요청 클라이언트의 IP 어드레스), 요청 컨텐츠 정보(컨텐츠를 유니크하게 식별할 수 있는 정보)를 포함한다.
캐시서버(200)는 컨텐츠를 제공하는 공급자 시스템의 일부로서, 클라이언트(100)로부터 요청 빈도가 많은 컨텐츠들을 캐싱하여 요청에 대해 빠른 응답을 하는 가속기 역할을 한다. 캐시서버(200)는 클라이언트(100)로부터 수신되는 컨텐츠 요청에 대응하여, 원천 서버(300)에 저장된 컨텐츠를 복사하여 저장하고 있다.
그리고 캐시서버(200)는 메모리 영역(A)과 디스크 영역(B)을 포함하며, 우선적으로 메모리 영역(A)을 검색하여 해당 단축 컨텐츠가 있는지를 파악하고, 없는 경우에 디스크 영역(B)을 검색하여 컨텐츠를 제공한다.
원천서버(300)는 컨텐츠를 제공하는 공급자 시스템의 일부로 공급되는 컨텐츠의 원천 소스를 공급한다. 특히 클라이언트(100)가 캐시서버(200)에 없는 컨텐츠를 요청하게 될 경우, 원천 서버(300)는 캐시서버(200)의 요청에 따라 해당 컨텐츠를 캐시서버(200)에게 제공한다.
원천서버에 저장된 컨텐츠는 ISP에서 제작한 컨텐츠와 클라이언트(100)가 업로드(upload)한 컨텐츠(예; UCC(User Created Contents) 등)을 포함한다.
한편, 본 발명은 도 2를 참조로 설명한 본 발명의 실시 예에 따른 캐시 메모리 시스템에 한정되지 않으며, 다른 실시 예에 따른 캐시 메모리 시스템은 로드 밸런싱 장치(예; 로드 밸런서, DNS(Domain Name Server) 등)를 더 포함할 수 있다.
이 경우에 로드 밸런싱 장치는 클라이언트(100)로부터 컨텐츠 제공 요청을 수신하고, 복수의 캐시 서버에 부하가 집중되지 않도록 부하가 설정 임계치 이하인 캐시 서버를 선택한 후 선택한 캐시 서버에게 컨텐츠 제공을 요청한다. 그리고, 클라이언트(100)에서 전송하는 요청 내용에는 수신자 정보(로드 밸런싱 장치의 IP 어드레스, 포트)를 더 포함하게 된다.
이하에서는 도 3을 참조로 하여 본 발명의 실시 예에 따른 캐시서버(200)를 보다 상세히 설명한다. 도 3은 본 발명의 실시 예에 따른 캐시서버의 내부 구성도이다.
도 3에 도시된 바와 같이, 본 발명의 실시 예에 따른 캐시서버(200)는 송수신부(210), 요청 파악부(220), 컨텐츠 관리부(230), 메모리부(240)와, 디스크부(250)를 포함한다.
송수신부(210)는 인터넷을 기반으로 클라이언트(100)에서 전송한 컨텐츠 제공 요청을 수신하고, 클라이언트(100)가 요청한 컨텐츠를 전송한다.
요청 파악부(220)는 송수신부(210)에 수신된 컨텐츠 요청 메시지를 분석하여, 요청 컨텐츠 정보(즉, 클라이언트(100)가 요청한 컨텐츠의 식별정보)와 요청자 정보(즉, 클라이언트의 IP 어드레스)를 파악한다.
컨텐츠 관리부(230)는 요청 파악부(220)로부터 컨텐츠 식별정보를 수신하고, 수신한 컨텐츠 식별정보에 대응된 컨텐츠의 제공을 관리한다. 컨텐츠 관리부(230)는 컨텐츠 제공을 위해 우선적으로 속성 테이블(도4 참조)을 이용하여 컨텐츠 식별정보에 대응된 단축 컨텐츠(c1)를 메모리부(240)에서 찾아 클라이언트(100)에게 제공하고, 컨텐츠 식별정보에 대응된 잔여 컨텐츠는 디스크부(250)에서 찾아 클라이언트(100)에게 제공한다. 속성 테이블은 컨텐츠 관리부(230)에 저장되어 있거나 별도의 저장부에 저장되어 있다.
그리고 컨텐츠 관리부(230)는 해당 컨텐츠가 메모리부(240) 또는 디스크부(250)에 존재하지 않는 캐시 미스(cache miss)가 발생되면, 원천서버(300)로부터 해당 컨텐츠가 디스크부(250) 및 메모리부(240)에 캐싱되게 한다. 이때 컨텐츠 관리부(230)는 풀 컨텐츠에 대한 단축 컨텐츠를 생성하여 메모리부(240)에 저장시킨다.
메모리부(240)는 메모리 영역(A)에 해당하며 디스크부(250)에 저장된 각각의 풀 컨텐츠(c2)에 대한 단축 컨텐츠(c1)를 저장하고 있다. 한편 메모리부(240)는 저장 용량이 부족한 경우에 디스크부(250)에 저장된 각각의 풀 컨텐츠(c2) 중 일부에 대한 단축 컨텐츠(c1)만을 저장할 수 있으며, 이 경우에 일부에 대한 단축 컨텐츠(c1)는 클라이언트(100)의 요청이 많은, 즉 사용빈도가 높은 컨텐츠에 대한 단축 컨텐츠(c1)이다.
디스크부(250)는 디스크 영역(B)에 해당하며 원천서버(300)로부터 복사된 풀 컨텐츠(c)를 저장하고 있다. 여기서, 디스크부(250)는 원천서버(300)의 컨텐츠 저장 용량과 동일한 용량으로 하여 원천서버(300)에 저장된 모든 컨텐츠를 저장하는 것이 바람직하다. 그러나 디스크부(250)는 원천서버(300)에 저장된 컨텐츠 중 일부의 컨텐츠만을 저장할 수 있다.
여기서, 도 4를 참조로 하여 컨텐츠 관리부(230)의 속성 테이블과, 메모리부(240)와 디스크부(250)에 저장된 컨텐츠의 적재 상태를 보다 상세히 설명한다.
도 4는 본 발명의 실시 예에 따른 컨텐츠 적재 상태 및 컨텐츠 관리 정보를 보인 도면이다.
컨텐츠 관리부(230)에서 이용하는 속성 테이블(T1)은 메모리부(240)와 디스크부(250)에 적재되는 단축 컨텐츠(c1) 또는 풀 컨텐츠(c2)를 관리하기 위한 것이다.
속성 테이블(T1)은 정보 분류 항목으로, 식별자, 타입(Type), 사이즈(size),위치정보를 포함한다.
식별자는 컨텐츠 검색을 위한 것으로 파일 이름을 의미하고, 타입(Type)은 컨텐츠 특성을 구분하기 위한 것으로 헤드(Head), 테일(Tail), 바디(Body)로 구분한다.
사이즈(Size)는 컨텐츠의 크기로 동일 컨텐츠에 대해 타입별로 임의 설정한다.
크기구분은 헤드 및 테일 정보의 사이즈에 대한 파일 타입(예; 저용량, 고용량)인지를 구분하고 고용량을 멀티미디어 파일로 정의한다. 위치정보는 해당 컨텐츠가 적재되어 있는 메모리부(240) 또는 디스크부(250)의 위치를 기록한다.
메모리부(240)은 디스크부(250)에 저장된 풀 컨텐츠(c1) 중 사용자의 요청이 잦은 일부의 컨텐츠를 메모리가 허락하는 범위(즉, 메모리 용량) 내에서 단축 컨텐츠(c1)의 형태로 저장하고 있다.
단축 컨텐츠(c1)는 컨텐츠의 헤드(head) 영역과 테일(tail) 영역만을 저장하고 있거나, 컨텐츠의 헤드 영역과 테일 영역, 그리고 풀 컨텐츠(c1)의 바디 길이(L2) 중 일부의 바디 길이(L1)를 저장하고 있다.
그리고 메모리부(240)에는 단축 컨텐츠(c1)와 더불어, 인덱스 정보(d1)를 포함한다. 인덱스 정보(d1)는 자주 보기를 하는 컨텐츠의 주요 부분에 대한 정보를 목록화한 정보이다.
디스크부(250)는 원천서버(300)에 저장된 컨텐츠를 그대로 복사한 풀 컨텐츠를 저장하고 있다.
이하에서는 도 5를 참조로 하여 본 발명의 제1 실시 예에 따른 멀티미디어 컨텐츠 제공 방법을 설명한다. 도 5는 본 발명의 제1 실시 예에 따른 멀티미디어 컨텐츠 제공 방법을 보인 데이터 흐름도로서, 메모리 영역에 클라이언트가 요청한 컨텐츠의 단축 컨텐츠가 존재하는 경우이다.
클라이언트(100)가 인터넷을 통해 ISP에게 컨텐츠 A를 요청하면(S501), ISP의 캐시서버(200)가 클라이언트(100)에서 전송한 컨텐츠 A 제공 요청을 수신한다(S502).
그런 다음 캐시서버(200)는 컨텐츠 A 제공 요청에 포함된 컨텐츠 식별정보와 클라이언트(100)의 위치정보(즉 IP 주소 정보)를 확인한 후, 속성 테이블(T1)을 조회하여 메모리부(240)에 컨텐츠 A가 메모리부(240)에 단축 컨텐츠(c1)로 저장되어 있는지를 판단한다(S503).
상기 판단(S503)에서 컨텐츠 A의 단축 컨텐츠(c1)가 메모리부(240)에 저장(즉, 캐싱)되어 있으면, 캐시서버(200)는 메모리부(240)의 해당 단축 컨텐츠(c1)를 클라이언트(100)로 다운로드시킨다(S504).
그리고 상기 다운로드 과정(S504)과 동시에 단축 컨텐츠(c1)의 헤드 영역 또는 테일 영역을 검사하여 단축 컨텐츠(c1)의 바디 길이(L1)을 파악하고(S505), 디스크부(250)에서 컨텐츠 A의 풀 컨텐츠를 파악한다(S506).
그런 다음, 캐시서버(200)는 메모리부(240)에서 클라이언트(100)로 단축 컨텐츠(c1)의 제공이 완료되는지를 감시하여 단축 컨텐츠(c1)의 제공이 완료되는 즉시, 디스크부(250)에서 클라이언트(100)로 컨텐츠 A의 잔여 바디(즉, L2-L1)를 다운로드시킨다(S508).
이하에서는 도 6을 참조로 하여 본 발명의 제2 실시 예에 따른 멀티미디어 컨텐츠 제공 방법을 설명한다. 도 6은 본 발명의 제2 실시 예에 따른 멀티미디어 컨텐츠 제공 방법을 보인 데이터 흐름도로서, 메모리 영역에 클라이언트가 요청한 컨텐츠의 단축 컨텐츠가 존재하지 않는 경우이다.
클라이언트(100)가 인터넷을 통해 ISP에게 컨텐츠 A를 요청하면(S601), ISP의 캐시서버(200)가 클라이언트(100)에서 전송한 컨텐츠 A 제공 요청을 수신한다(S602).
그런 다음 캐시서버(200)는 컨텐츠 A 제공 요청에 포함된 컨텐츠 식별정보와 클라이언트(100)의 위치정보(즉 IP 주소 정보)를 확인한 후, 속성 테이블(T1)을 조회하여 메모리부(240)에 컨텐츠 A가 메모리부(240)에 단축 컨텐츠(c1)로 저장되어 있는지를 판단한다(S603).
상기 판단(S603)에서 컨텐츠 A의 단축 컨텐츠(c1)가 메모리부(240)에 저장(즉, 캐싱)되어 있지 않으면, 캐시서버(200)는 속성 테이블(T1)을 검색하여(S604), 디스크부(250)에 컨텐츠 A가 저장(즉, 캐싱)되어 있는지를 판단한다(S605).
상기 판단(S605)에서 디스크부(250)에 컨텐츠 A가 저장되어 있으면, 캐시서버(200)는 메모리부(240)에 잔여 용량이 있는 경우에 컨텐츠 A에 대한 단축 컨텐츠를 생성하여 메모리부(240)에 캐싱시키고(S609), 이와 동시에 디스크부(250)에 저장된 컨텐츠 A 즉, 풀 컨텐츠를 클라이언트(100)로 다운로드시킨다(S610).
여기서, 컨텐츠 A에 대한 단축 컨텐츠를 생성하고 단축 컨텐츠를 메모리부(240)에 캐싱하는 경우에, 캐시서버(200)의 컨텐츠 관리부(230)는 속성 테이블(T1)에 컨텐츠 A에 대한 단축 컨텐츠가 메모리부(240)에 캐싱되어 있음을 반영한다.
반면에, 상기 판단(S605)에서 디스크부(250)에 컨텐츠 A가 저장되어 있지 않으면, 캐시서버(200)는 원천서버(300)에게 컨텐츠 A를 요청하여 획득하고(S606, S607), 획득한 컨텐츠 A를 디스크부(250)에 캐싱한다(S608).
그리고 캐시서버(200)는 메모리부(240)에 잔여 용량이 있는 경우에 컨텐츠 A에 대한 단축 컨텐츠를 생성하여 메모리부(240)에 캐싱한다(S609).
여기서, S608 과정 및 S609 과정을 수행하는 경우에, 캐시서버(200)의 컨텐츠 관리부(230)는 S608 과정 및 S609 과정의 결과를 속성 테이블(T1)에 반영한다.
이상에서 설명한 본 발명의 실시예는 장치 및 방법을 통해서만 구현이 되는 것은 아니며, 본 발명의 실시예의 구성에 대응하는 기능을 실현하는 프로그램 또는 그 프로그램이 기록된 기록 매체를 통해 구현될 수도 있으며, 이러한 구현은 앞서 설명한 실시예의 기재로부터 본 발명이 속하는 기술분야의 전문가라면 쉽게 구현할 수 있는 것이다. 이상에서 본 발명의 실시예에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속하는 것이다.
100 : 클라이언트 200 : 캐시서버
300 : 원천서버 210 : 송수신부
220 : 요청 파악부 230 : 컨텐츠 관리부
240 : 메모리부 250 : 디스크부
300 : 원천서버 210 : 송수신부
220 : 요청 파악부 230 : 컨텐츠 관리부
240 : 메모리부 250 : 디스크부
Claims (11)
- 클라이언트, 캐시서버 및 원천서버를 포함하는 캐시 메모리 시스템에서의 상기 캐시서버에 있어서,
상기 클라이언트로부터 전송한 제1 컨텐츠의 제공 요청을 파악하는 요청 파악부,
상기 원천서버에 저장된 컨텐츠를 복사하여 캐싱하고 있는 디스크부,
상기 디스크부에 저장된 모든 컨텐츠 중 적어도 일부의 컨텐츠에 대한 단축 컨텐츠를 캐싱하고 있는 메모리부, 그리고
상기 요청 파악부의 요청에 따라 우선적으로 상기 메모리부로부터 상기 클라이언트에게 상기 제1 컨텐츠의 단축 컨텐츠를 제공하고, 상기 단축 컨텐츠의 제공이 완료되는 시점에 상기 디스크부로부터 상기 클라이언트에게 잔여 컨텐츠를 제공하는 컨텐츠 관리부를 포함하며,
상기 컨텐츠 관리부는 상기 메모리부와 상기 디스크부에 캐싱된 각 컨텐츠에 대한 관리정보를 기록한 속성 테이블을 이용하여 상기 요청 파악부가 요청한 컨텐츠를 상기 클라이언트에게 제공하되,
상기 속성 테이블은 컨텐츠 식별자, 컨텐츠 타입(Type), 타입별 사이즈(size), 컨텐츠의 위치정보를 포함하는 것을 특징으로 하는 캐시서버. - 삭제
- 제1항에 있어서,
상기 제1 컨텐츠의 단축 컨텐츠는 헤드, 테일 및 바디로 구성되며, 상기 디스크부에 캐싱된 상기 제1 컨텐츠의 바디 길이보다 짧은 바디 길이를 가지되, 상기 제1 컨텐츠의 바디 길이에서 가장 앞부분의 정보를 포함하는 것을 특징으로 캐시서버. - 제3항에 있어서,
상기 컨텐츠 관리부는 상기 메모리부에 상기 제1 컨텐츠가 존재하지 않는 경우에 상기 디스크부에 캐싱된 상기 제1 컨텐츠를 상기 클라이언트에게 제공하는 것을 특징으로 하는 캐시서버. - 제4항에 있어서,
상기 컨텐츠 관리부는 상기 메모리부와 상기 디스크부에 상기 제1 컨텐츠가 존재하지 않는 경우에 상기 원천서버로부터 상기 제1 컨텐츠를 제공받아 상기 디스크부에 캐싱한 후 상기 디스크부로부터 상기 클라이언트에게 상기 제1 컨텐츠를 제공하는 것을 특징으로 하는 캐시서버. - 클라이언트, 캐시서버 및 원천서버를 포함하는 캐시 메모리 시스템에서 상기 캐시서버에서의 멀티미디어 컨텐츠 제공 방법에 있어서,
(a) 상기 클라이언트로부터 전송한 제1 컨텐츠의 제공 요청을 파악하는 단계,
(b) 메모리 영역에 상기 제1 컨텐츠의 단축 컨텐츠가 캐싱되어 있는지를 파악하는 단계,
(c) 상기 메모리 영역에 캐싱된 상기 제1 컨텐츠의 단축 컨텐츠를 상기 클라이언트에게 제공하는 단계,
(d) 상기 단축 컨텐츠의 바디 길이를 파악하는 단계, 그리고
(e) 상기 단축 컨텐츠의 제공이 종료되는 시점에서 상기 단축 컨텐츠의 바디 길이를 이용하여 디스크 영역으로부터 상기 제1 컨텐츠의 잔여 컨텐츠를 상기 클라이언트에게 제공하는 단계를 포함하며,
상기 (b) 단계는 상기 메모리 영역과 상기 디스크 영역에 캐싱된 각 컨텐츠에 대한 관리정보를 기록한 속성 테이블을 이용하여 상기 제1 컨텐츠의 단축 컨텐츠가 캐싱되어 있는지를 파악하는 것을 특징으로 하되,
상기 속성 테이블은 컨텐츠 식별자, 컨텐츠 타입(Type), 타입별 사이즈(size), 컨텐츠의 위치정보를 포함하는 것을 특징으로 하는 멀티미디어 컨텐츠 제공 방법. - 제6항에 있어서,
상기 (b) 단계의 파악을 통해 상기 메모리 영역에 상기 제1 컨텐츠의 단축 컨텐츠가 캐싱되어 있지 않은 경우에,
(f) 상기 디스크 영역에 상기 제1 컨텐츠가 캐싱되어 있는지를 파악하는 단계와,
(g) 상기 디스크 영역에 상기 제1 컨텐츠가 캐싱되어 있는 경우에 상기 디스크 영역으로부터 상기 클라이언트에게 상기 제1 컨텐츠를 제공하는 단계를 더 포함하는 것을 특징으로 하는 멀티미디어 컨텐츠 제공 방법. - 제7항에 있어서,
상기 (f) 단계의 파악을 통해 상기 디스크 영역에 상기 제1 컨텐츠가 캐싱되어 있지 않은 경우에,
(h) 상기 원천서버로부터 상기 제1 컨텐츠를 제공받아 상기 디스크 영역에 캐싱하는 단계를 더 포함하는 것을 특징으로 하는 멀티미디어 컨텐츠 제공 방법. - 제8항에 있어서,
(i) 상기 (h) 단계 이후에 상기 제1 컨텐츠에 대한 단축 컨텐츠를 생성하여 상기 메모리 영역에 캐싱하는 단계를 더 포함하는 것을 특징으로 하는 멀티미디어 컨텐츠 제공 방법. - 삭제
- 제9항에 있어서,
상기 제1 컨텐츠의 단축 컨텐츠는 헤드, 테일 및 바디로 구성되며, 상기 디스크 영역에 캐싱된 상기 제1 컨텐츠의 바디 길이보다 같거나 짧은 바디 길이를 가지되, 상기 제1 컨텐츠의 바디 길이에서 가장 앞부분의 정보를 포함하는 것을 특징으로 멀티미디어 컨텐츠 제공 방법.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020090071436 | 2009-08-03 | ||
KR20090071436 | 2009-08-03 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20110014120A KR20110014120A (ko) | 2011-02-10 |
KR101169041B1 true KR101169041B1 (ko) | 2012-07-26 |
Family
ID=43773466
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020100075051A KR101169041B1 (ko) | 2009-08-03 | 2010-08-03 | 캐시서버 및 멀티미디어 컨텐츠 제공 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101169041B1 (ko) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101345782B1 (ko) * | 2012-01-13 | 2014-01-10 | (주)판도라티비 | 캐쉬 서버, 이를 포함하는 콘텐츠 전송 서비스 장치, 및 캐쉬 서버의 동작 방법 |
KR101436049B1 (ko) | 2012-06-01 | 2014-09-01 | 에스케이텔레콤 주식회사 | 컨텐츠 캐싱 서비스 제공 방법 및 이를 위한 로컬 캐싱 장치 |
KR101330052B1 (ko) * | 2012-06-01 | 2013-11-15 | 에스케이텔레콤 주식회사 | 적응형 컨텐츠 전송 방식을 지원하는 컨텐츠 캐싱 서비스 제공 방법 및 이를 위한 로컬 캐싱 장치 |
KR101981285B1 (ko) * | 2012-08-10 | 2019-05-22 | 에스케이텔레콤 주식회사 | 컨텐츠 식별 정보를 이용한 컨텐츠 전송 서비스 시스템, 이를 위한 장치 및 그의 컨텐츠 전송 서비스 방법 |
KR102070149B1 (ko) * | 2013-06-10 | 2020-01-28 | 에스케이텔레콤 주식회사 | 통신 네트워크에서 컨텐츠 전달 방법 및 이를 위한 장치 |
-
2010
- 2010-08-03 KR KR1020100075051A patent/KR101169041B1/ko active IP Right Grant
Also Published As
Publication number | Publication date |
---|---|
KR20110014120A (ko) | 2011-02-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10182127B2 (en) | Application-driven CDN pre-caching | |
US8463846B2 (en) | File bundling for cache servers of content delivery networks | |
US8745262B2 (en) | Adaptive network content delivery system | |
US9015275B2 (en) | Partial object distribution in content delivery network | |
US20100235569A1 (en) | Storage Optimization System | |
CN103096126B (zh) | 协作式缓存集群中面向视频点播服务的协作式缓存方法及系统 | |
US8261026B2 (en) | Application cache population from peer application | |
KR101169041B1 (ko) | 캐시서버 및 멀티미디어 컨텐츠 제공 방법 | |
WO2011143946A1 (zh) | 一种cdn中边缘服务器的多级缓存管理方法与系统 | |
CN102546711B (zh) | 流媒体系统中的内容存储调整方法、装置及系统 | |
CN103116552A (zh) | 用于在分布式存储系统中分配存储空间的方法和装置 | |
JP2015509229A5 (ko) | ||
CN102244644A (zh) | 多媒体文件发布方法和装置 | |
AU2011203246A1 (en) | Content processing between locations workflow in content delivery networks | |
US8209711B2 (en) | Managing cache reader and writer threads in a proxy server | |
US20100161585A1 (en) | Asymmetric cluster filesystem | |
JP2009122981A (ja) | キャッシュ配置方法 | |
KR100860076B1 (ko) | 프록시 서버에서 스트리밍 서비스를 제공하기 위한 캐시교체 장치 및 그 방법 | |
WO2015099020A1 (ja) | コンテンツ配信装置、コンテンツ配信システム、コンテンツ配信方法及びプログラム | |
CN110247996A (zh) | 基于智慧课堂的可配置缓存系统的无线路由装置 | |
CN113992653B (zh) | 一种基于边缘缓存的cdn-p2p网络的内容下载、预存和替换方法 | |
JP4736830B2 (ja) | 配信システム、制御装置、配信先装置、ノード装置、制御装置用プログラム、配信先装置用プログラム及びノード装置用プログラム | |
Jayarekha et al. | An Adaptive Dynamic Replacement Approach for a Multicast based Popularity Aware Prefix Cache Memory System | |
KR100931356B1 (ko) | 콘텐츠를 전송하는 콘텐츠 전송장치, 방법 및 기록매체 | |
KR100490410B1 (ko) | 데이터 구조체 기반의 멀티미디어 문서 버퍼링 장치 및 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20150720 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20160720 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20170720 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20180718 Year of fee payment: 7 |