KR20150010415A - Contents delivery network service method and broker apparatus for distributed caching - Google Patents

Contents delivery network service method and broker apparatus for distributed caching Download PDF

Info

Publication number
KR20150010415A
KR20150010415A KR20130085418A KR20130085418A KR20150010415A KR 20150010415 A KR20150010415 A KR 20150010415A KR 20130085418 A KR20130085418 A KR 20130085418A KR 20130085418 A KR20130085418 A KR 20130085418A KR 20150010415 A KR20150010415 A KR 20150010415A
Authority
KR
South Korea
Prior art keywords
content
cache
relay
hash
requested
Prior art date
Application number
KR20130085418A
Other languages
Korean (ko)
Inventor
이종민
호용환
이경준
Original Assignee
에스케이텔레콤 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 에스케이텔레콤 주식회사 filed Critical 에스케이텔레콤 주식회사
Priority to KR20130085418A priority Critical patent/KR20150010415A/en
Publication of KR20150010415A publication Critical patent/KR20150010415A/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
    • 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/562Brokering proxy services

Abstract

The present invention relates a content delivery network service method and a relay apparatus for distributed caching, which is capable of supporting content to be distributed into a plurality of caches to logically increase a size of the cashes when at least one content provided from a content providing apparatus is stored in the cashes to be provided to a terminal. A content delivery network service method according to the present invention includes the steps of: calculating content identification information about a requested content by using a preset hash algorithm when a content request of a terminal is received; searching a content hash table managing hash keys of each content based on a hash key as the calculation result in order to confirm the requested content; selecting a cache to process the request content based on information about a mapping between the content hash table and the caches; and processing the requested content by the selected cache, so that the distributed processing of caches can be promoted.

Description

분산 캐싱을 위한 컨텐츠 전송 서비스 방법 및 중계 장치{Contents delivery network service method and broker apparatus for distributed caching}[0001] The present invention relates to a content delivery service method and a relay apparatus for distributed caching,

본 발명은 컨텐츠 전송 서비스에 관한 것으로서, 더욱 상세하게는 컨텐츠 제공 장치에서 제공하는 하나 이상의 컨텐츠를 다수의 캐시 장치에 저장하고, 다수의 캐시 장치를 통해서 단말 장치로 제공하는데 있어서, 컨텐츠들을 다수의 캐시 장치에 분산 저장할 수 있도록 함으로써 캐시 사이즈의 논리적인 증가 효과를 얻을 수 있는 분산 캐싱을 위한 컨텐츠 전송 서비스 방법 및 중계 장치에 관한 것이다.The present invention relates to a content transfer service, and more particularly, to a content transfer service, in which one or more contents provided by a content providing apparatus are stored in a plurality of cache apparatuses and provided to a terminal apparatus through a plurality of cache apparatuses, And more particularly, to a content transmission service method and a relay apparatus for distributed caching capable of logically increasing the size of a cache by enabling distributed storage in a device.

최근, 스마트폰과 같이 사용자 단말 장치의 성능이 향상되고, 이동통신 기술이 발달함에 따라서, 사용자는 언제 어디서나 사용자 단말 장치를 통해서 컨텐츠 제공자(CP: Contents Provider)의 컨텐츠 제공 장치에 접속하여 사진, 비디오, 오디오, 어플리케이션 등과 같은 다양한 컨텐츠를 이용할 수 있게 되었다.2. Description of the Related Art [0002] Recently, as a performance of a user terminal device such as a smart phone has been improved and a mobile communication technology has developed, a user accesses a content providing device of a content provider (CP) , Audio, applications, and so on.

그러나 비용 등 다양한 이유로 컨텐츠 제공자가 구축할 수 있는 컨텐츠 제공 장치의 수는 한정된 반면, 사용자는 급속히 증가하고 있기 때문에, 이로 인한 컨텐츠 제공 장치의 부하가 급증하여, 데이터 손실, 병목 현상, 전송 지연, 데이터 끊김 등의 문제가 발생한다.However, the number of content providing apparatuses that can be constructed by the content provider is limited due to various reasons such as cost. On the other hand, since the number of users is rapidly increasing, the load of the content providing apparatus is rapidly increased, Problems such as interruption occur.

이러한 문제를 해결하기 위하여 등장한 기술이 CDN(Contents Delivery Network) 서비스이다. CDN 서비스는 영화, 뮤직 비디오 등과 같은 동영상을 포함하는 다양한 컨텐츠를 사용자에게 안정적으로 전달하기 위한 서비스로서, 통상 네트워크상에 분산 배치된 다수의 캐시 장치에 컨텐츠를 미리 저장하여 두고, GLB(Global Load Balance) 서버와 같은 부하 분산 장치를 통해서 다수의 캐시 장치 중에서 최적의 캐시 장치를 선택하여, 선택된 캐시 장치를 통해 요청된 컨텐츠가 사용자의 단말로 전달하도록 구현된다. 그 결과, CDN 서비스를 통해서 컨텐츠 전송 속도를 향상시키고, 보다 안정적인 컨텐츠 전송이 가능해진다.A CDN (Contents Delivery Network) service is an emerging technology to solve this problem. The CDN service is a service for reliably delivering various contents including moving pictures such as movies and music videos to a user. The CDN service typically stores contents in a plurality of cache devices distributed on a network in advance, ) Server and selects the optimum cache device from among the plurality of cache devices and transmits the requested content to the user terminal through the selected cache device. As a result, the content transmission speed is improved through the CDN service, and more stable content transmission becomes possible.

한편, 최근 인터넷을 통해 제공되는 컨텐츠의 종류가 다양해지고 있으며, 이러한 각 컨텐츠는 서비스 목적에 따라서 서로 다른 서비스 패턴을 가지게 된다.Meanwhile, in recent years, various types of contents provided through the Internet have been diversified, and each of these contents has different service patterns according to service purpose.

예를 들어, 온라인 쇼핑몰 서비스의 경우, 단말 장치의 컨텐츠 요청에 따라서, 작은 사이즈의 컨텐츠를 한번에 다 수개씩 사용자의 단말 장치로 전송하게 된다. 온라인 게임 서비스의 경우, 컨텐츠 전송 시 대용량 파일을 한번에 전송하게 되며, 특히 특정 시간에 다수 사용자로부터 컨텐츠 요청이 집중되는 경향이 있다. 또한, UCC(User Created Contents) 서비스 혹은 SNS(Social Network Service)의 경우, 롱테일(Long-tail)한 사용자 접근 빈도를 갖는다.For example, in the case of the online shopping mall service, a plurality of small-sized contents are transmitted to the user's terminal device at a time according to the contents request of the terminal device. In the case of the online game service, a large-capacity file is transmitted at a time at the time of transmitting the content, and the content request tends to be concentrated from a plurality of users at a particular time. Also, in the case of UCC (User Created Contents) service or SNS (Social Network Service), it has a long-tailed user access frequency.

그러나, 컨텐츠 전송 서비스에 있어서 개별 캐시 장치의 저장 용량을 증가시키는 데는 한계가 있기 때문에, 캐시 장치에 저장될 수 있는 컨텐츠의 수도 제한적이다. 따라서, 기존에는 단순히 요청 빈도 또는 컨텐츠 제공자의 요청에 따라서 컨텐츠 선별하여 캐시 장치에 저장하고 있으며, 그 결과 UCC나 SNS 등에서 제공되는 롱테일한 사용자 접근 빈도를 갖는 컨텐츠들의 경우, 적절한 CDN 서비스를 지원받지 못할 수 있다.However, since there is a limit in increasing the storage capacity of individual cache devices in the content transfer service, the number of contents that can be stored in the cache device is also limited. Therefore, in the past, contents are selectively sorted according to a request frequency or a request of a content provider, and the content is stored in a cache device. As a result, contents having a long-term user access frequency provided by UCC, SNS, .

한국공개특허 제2009-0130615호, 2009년 12월 24일 공개 (명칭: 그리드 팜을 이용한 컨텐츠 전송 방법 및 시스템)Published Korean Patent Application No. 2009-0130615, December 24, 2009 (Name: Method and system for transmitting content using a grid farm)

본 발명은 컨텐츠 제공 장치에서 제공하는 하나 이상의 컨텐츠를 다수의 캐시 장치에 저장하고, 다수의 캐시 장치를 통해서 단말 장치로 제공하는데 있어서, 컨텐츠들을 다수의 캐시 장치에 분산 저장하도록 지원함으로써 캐시 사이즈의 논리적인 증가 효과를 얻을 수 있는 분산 캐싱을 위한 컨텐츠 전송 서비스 방법 및 중계 장치를 제공하고자 한다.The present invention provides one or more contents provided by a content providing apparatus in a plurality of cache apparatuses and provides the same to a terminal apparatus through a plurality of cache apparatuses, A content transmission service method and a relay apparatus for distributed caching which can obtain an increase effect of a content delivery service.

특히, 본 발명은 캐시 사이즈의 물리적인 증가 없이, 다수의 캐시 장치의 분산 캐싱을 통하여 논리적으로 캐시 사이즈를 증가시킴으로써, 롱테일한 사용자 접근 빈도를 갖는 컨텐츠도 캐시 장치를 통해서 서비스될 수 있도록 하는 분산 캐싱을 위한 컨텐츠 전송 서비스 방법 및 중계 장치를 제공하고자 한다.Particularly, the present invention increases the cache size logically through distributed caching of a plurality of cache devices, without physically increasing the size of the cache, so that content with a long tailed user access frequency can also be serviced through the cache device. A content transmission service method and a relay apparatus.

본 발명은 상술한 과제의 해결 수단으로서, 단말 장치 및 다수의 캐시 장치 중 하나 이상과 통신하기 위한 통신 인터페이스부; 컨텐츠별 해쉬 키를 관리하는 컨텐츠 해쉬 테이블과 상기 다수의 캐시 장치를 매핑한 매핑 정보를 저장하는 저장부; 및 상기 단말 장치의 컨텐츠 요청을 수신하면, 요청된 컨텐츠의 컨텐츠 식별 정보를 기 설정된 해쉬 알고리즘을 통해 연산하고, 상기 연산 결과를 해쉬 키로 하여 컨텐츠별 해쉬 키를 관리하는 컨텐츠 해쉬 테이블을 검색하여, 요청된 컨텐츠를 확인하고, 상기 매핑 정보를 기준으로 요청된 컨텐츠를 처리할 캐시 장치를 선택하여, 선택한 캐시 장치에서 상기 컨텐츠 요청을 처리하도록 제어하는 중계 제어부를 포함하는 분산 캐싱을 위한 중계 장치를 제공한다.The present invention provides, as means for solving the above problems, a communication interface unit for communicating with at least one of a terminal device and a plurality of cache devices; A storage unit for storing a content hash table for managing a content-based hash key and mapping information mapping the plurality of cache devices; And a content hash table that manages a content-based hash key by using a result of the operation as a hash key, searches the content hash table for requesting content, And a relay controller for checking contents to be requested, selecting a cache apparatus to process the requested contents based on the mapping information, and controlling the selected cache apparatus to process the contents request .

더하여, 본 발명은 상술한 과제를 해결하기 위한 다른 수단으로서, 중계 장치가, 단말 장치의 컨텐츠 요청 메시지를 수신하는 단계; 상기 컨텐츠 요청 메시지에 포함된 요청된 컨텐츠의 컨텐츠 식별 정보를 기 설정된 해쉬 알고리즘을 이용하여 연산하는 단계; 상기 연산 결과값을 해쉬 키로 하여, 컨텐츠 별 해쉬 키를 관리하는 컨텐츠 해쉬 테이블을 검색하여 요청된 컨텐츠를 확인하는 단계; 상기 컨텐츠 해쉬 테이블과 다수 캐시 장치 간의 매핑 정보를 기반으로, 상기 요청된 컨텐츠를 처리할 캐시 장치를 상기 다수 캐시 장치 중에서 선택하는 제1 선택 단계; 상기 선택한 캐시 장치가 상기 요청된 컨텐츠를 처리하도록 제어하는 단계를 포함하는 분산 캐싱을 위한 컨텐츠 전송 서비스 방법을 제공한다.In addition, according to another aspect of the present invention, there is provided a relay apparatus comprising: a receiving unit for receiving a content request message of a terminal apparatus; Calculating content identification information of the requested content included in the content request message using a preset hash algorithm; Searching the content hash table for managing the content-based hash key by using the operation result value as a hash key, and confirming the requested content; A first selection step of selecting, from among the plurality of cache devices, a cache device to process the requested content based on mapping information between the content hash table and a plurality of cache devices; And controlling the selected cache device to process the requested content. The content delivery service method for distributed caching includes:

본 발명의 분산 캐싱을 위한 컨텐츠 전송 서비스 방법 및 중계 장치에 의하면, 컨텐츠 제공 장치에서 단말 장치로 제공하고자 하는 다수의 컨텐츠를 통신망에 배치된 다수의 캐시 장치에 분산 캐싱하고, 다수의 캐시 장치에서 상기 다수의 컨텐츠에 대한 요청을 분산 처리하도록 함으로써, 캐시 사이즈를 논리적으로 증가시킬 수 있으며, 캐시 사이즈의 증가를 통해서 롱테일한 서비스 패턴을 갖는 컨텐츠에 대해서도 컨텐츠 전송 서비스를 지원받을 수 있는 가능성을 높일 수 있다.According to a content transmission service method and a relay apparatus for distributed caching of the present invention, a content providing apparatus distributes a plurality of contents to be distributed to a terminal apparatus to a plurality of cache apparatuses arranged in a communication network, By distributing requests for a plurality of contents, the cache size can be logically increased, and the possibility of receiving a content transfer service for a content having a long service pattern can be increased by increasing the cache size .

특히, 본 발명은 서로 다른 곳에 위치한 캐시 장치들을 효율적으로 이용함으로써, 큰 비용 추가 없이 컨텐츠 전송 서비스의 서비스 품질을 향상시킬 수 있는 우수한 효과가 있다.Particularly, the present invention has an excellent effect of improving the quality of service of a content transmission service without adding a large cost by efficiently using cache devices located in different places.

또한, 본 발명은 해쉬 알고리즘을 이용하여 생성된 키값을 기반으로 컨텐츠와 캐시 장치를 효율적으로 매핑하여 관리하고, 분산 캐싱에 있어서 캐시 장치의 증설 혹은 감축에 따른 다수 캐시 장치 간 컨텐츠 이동을 효율적으로 관리할 수 있다.In addition, the present invention efficiently manages and manages content and cache devices based on key values generated by using a hash algorithm, efficiently manages content movement among a plurality of cache devices due to expansion or reduction of cache devices in distributed caching can do.

도 1은 본 발명에 따른 컨텐츠 전송 시스템의 전체 구조를 개략적으로 나타낸 블럭도이다.
도 2는 본 발명에 따른 컨텐츠 전송 시스템에 있어서의 캐시 장치와 중계 장치의 연결 구조의 일 예를 나타낸 블럭도이다.
도 3은 본 발명에 따른 컨텐츠 전송 시스템에 있어서의 캐시 장치와 중계 장치의 연결 구조를 다른 예를 나타낸 블럭도이다.
도 4는 본 발명에 따른 컨텐츠 전송 시스템에 있어서, 중계 장치의 구성을 나타낸 블럭도이다.
도 5는 본 발명에 따른 컨텐츠 전송 시스템에 있어서, 캐시 장치의 구성을 나타낸 블럭도이다.
도 6은 본 발명에 따른 컨텐츠 전송 시스템에 있어서, 중앙 관리 장치의 구성을 나타낸 블럭도이다.
도 7은 본 발명에 따른 분산 캐싱을 위한 컨텐츠 전송 서비스 방법에 있어서, 중계 장치의 동작을 나타낸 순서도이다.
도 8은 본 발명에 따른 분산 캐싱을 위한 컨텐츠 전송 서비스 방법에 있어서, 캐시 장치의 동작을 나타낸 순서도이다.
도 9는 본 발명에 따른 분산 캐싱을 위한 컨텐츠 전송 서비스 방법에 있어서, 중앙 관리 장치의 동작을 나타낸 순서도이다.
도 10 및 도 11은 본 발명에 따른 분산 캐싱을 위한 컨텐츠 전송 서비스에 있어서, 캐시 장치의 대수 변동에 따른 캐시 장치 간 컨텐츠 저장 범위 변동 과정을 설명하기 위한 모식도이다.
1 is a block diagram schematically showing the entire structure of a content transmission system according to the present invention.
2 is a block diagram illustrating an example of a connection structure between a cache apparatus and a relay apparatus in a content transmission system according to the present invention.
3 is a block diagram illustrating another example of a connection structure between a cache apparatus and a relay apparatus in the content transmission system according to the present invention.
4 is a block diagram showing a configuration of a relay apparatus in a content transmission system according to the present invention.
5 is a block diagram showing a configuration of a cache apparatus in a content transmission system according to the present invention.
6 is a block diagram showing a configuration of a central management apparatus in a content transmission system according to the present invention.
7 is a flowchart illustrating an operation of a relay apparatus in a content transmission service method for distributed caching according to the present invention.
8 is a flowchart illustrating an operation of a cache apparatus in a content transmission service method for distributed caching according to the present invention.
9 is a flowchart illustrating an operation of a central management apparatus in a content transmission service method for distributed caching according to the present invention.
FIG. 10 and FIG. 11 are schematic diagrams illustrating a process of changing a content storage range between cache devices according to the logarithmic variation of cache devices in the content transfer service for distributed caching according to the present invention.

이하 본 발명의 바람직한 실시 예를 첨부한 도면을 참조하여 상세히 설명한다. 다만, 하기의 설명 및 첨부된 도면에서 본 발명의 요지를 흐릴 수 있는 공지 기능 또는 구성에 대한 상세한 설명은 생략한다. 또한, 도면 전체에 걸쳐 동일한 구성 요소들은 가능한 한 동일한 도면 부호로 나타내고 있음에 유의하여야 한다.Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings. In the following description and the accompanying drawings, detailed description of well-known functions or constructions that may obscure the subject matter of the present invention will be omitted. It should be noted that the same constituent elements are denoted by the same reference numerals as possible throughout the drawings.

도 1은 본 발명에 따른 컨텐츠 전송 서비스가 이루어지는 시스템의 전체 구조를 개략적으로 나타낸 블럭도이다.FIG. 1 is a block diagram schematically showing the overall structure of a system in which a content transmission service according to the present invention is performed.

본 발명에 따른 컨텐츠 전송 서비스는, 컨텐츠 제공 장치(200)에서 제공하는 다양한 종류의 컨텐츠를 통신망(10)을 통해 단말 장치(100)로 전달하기 위한 것이다.The contents transfer service according to the present invention is for transferring various kinds of contents provided by the contents providing apparatus 200 to the terminal apparatus 100 through the communication network 10.

여기서, 단말 장치(100)는 통신망(10)을 통해서 사진, 웹문서, 동영상, 컨텐츠를 요청하고, 요청한 컨텐츠를 수신하는 사용자 측 장치이다. 이러한 단말 장치(100)는 통신망(10)에 접속하여 데이터를 송수신할 수 있는 통신 기능을 구비한 사용자 장치라면 어떠한 것이라도 적용될 수 있으며, 예를 들어, 휴대폰, 스마트폰, 태블릿 PC, PDA(Personal Digital Assistant) 및 노트북 PC와 같은 휴대 혹은 이동형 장치는 물론, 데스크톱 PC, 인터넷 TV(스마트 TV)와 같은 고정형 장치로 포함될 수 있다.Here, the terminal apparatus 100 is a user side apparatus that requests a photograph, a web document, a moving image, and contents through the communication network 10 and receives the requested contents. The terminal device 100 may be any user device having a communication function for connecting to the communication network 10 and transmitting and receiving data. For example, the terminal device 100 may be a mobile phone, a smart phone, a tablet PC, a personal computer Digital assistants and notebook PCs as well as fixed devices such as desktop PCs, Internet TVs (smart TVs).

그리고, 컨텐츠 제공 장치(200)는, 컨텐츠 제공자(CP)가 다수의 컨텐츠를 서비스하기 위한 서버 장치이다. 상기 컨텐츠 제공 장치(200)는 하나 이상의 서버로 이루어질 수 있으며, 특히, 컨텐츠 제공자가 사용자에게 제공하고자 하는 다수 컨텐츠가 저장되는 원본 서버(Origin Server)를 포함한다.The content providing apparatus 200 is a server apparatus for a content provider (CP) to serve a plurality of contents. The content providing apparatus 200 may include one or more servers, and in particular, includes an origin server in which a plurality of contents to be provided to a user by a content provider is stored.

아울러, 통신망(10)은, 사용자측의 단말 장치(100)들과 컨텐츠 제공자 측의 컨텐츠 제공 장치(200)들이 자유롭게 접속하여 데이터를 송수신할 수 있는 통신 매체로서, 현재 상용화되어 있거나 추후 상용화 가능성이 있는 모든 종류의 통신망이 적용될 수 있다. 예를 들어, 통신망(10)은 통신방식에 따라서 구분되는 이동통신망, Wi-Fi 혹은 블루투스와 같은 근거리 통신망을 포함하는 무선망 및 인터넷과 같은 유선망 혹은 이들의 통합망을 포함할 수 있다.In addition, the communication network 10 is a communication medium in which terminal devices 100 on the user side and content providing apparatuses 200 on the content provider side can freely connect and transmit / receive data, Any kind of communication network can be applied. For example, the communication network 10 may include a mobile communication network classified according to a communication method, a wireless network including a local communication network such as Wi-Fi or Bluetooth, and a wired network such as the Internet, or an integrated network thereof.

이러한 컨텐츠 제공 장치(200)에서 제공하는 컨텐츠를 단말 장치(100)에 안정적이고 신속하게 제공하기 위한 컨텐츠 전송 시스템은, 하나 이상의 중계 장치(300)와, 다수의 캐시 장치(400)와, 중앙 관리 장치(500)를 포함하여 이루어진다. 물론, 컨텐츠 전송 시스템은, 상기 구성 이외에 URL 주소를 IP로 매핑하여 전달하는 DNS(Domain Name System) 서버 또는 로드밸런싱을 수행하기 위한 GLB(Global Load Balancing) 서버 등을 더 포함할 수 있으나, 이들은 본 발명에 따른 분산 캐싱 기능과는 직접적인 연관이 없으므로 그 도시 및 설명을 생략한다.The content delivery system for providing the content provided by the content providing apparatus 200 to the terminal apparatus 100 in a stable and prompt manner includes at least one relay apparatus 300, a plurality of cache apparatuses 400, Device 500 as shown in FIG. Of course, the content transmission system may further include a DNS (Domain Name System) server for mapping the URL address to IP and delivering it, or a GLB (Global Load Balancing) server for performing load balancing in addition to the above configuration, Since there is no direct connection with the distributed caching function according to the invention, its illustration and description will be omitted.

하나 이상의 중계 장치(300)는 다수의 캐시 장치(400) 간에 컨텐츠 전송 서비스가 분산 처리될 수 있도록 제어하기 위한 수단이다. 구체적으로, 상기 하나 이상의 중계 장치(300)는 다수의 캐시 장치(400) 별로 각각 설정된 컨텐츠 저장 범위에 대한 정보를 가진다. 이는 기 설정된 해쉬 알고리즘을 이용하여 산출된 각 컨텐츠의 해쉬 키를 관리하는 컨텐츠 해쉬 테이블과 다수 캐시 장치(400) 각각을 매핑한 매핑 정보로 관리될 수 있다. 아울러, 하나 이상의 중계 장치(300)는 단말 장치(100)와 다수의 캐시 장치(400) 사이에 위치하여 컨텐츠 요청을 수신하면, 상기 컨텐츠 저장 범위에 따라서 다수의 캐시 장치(400) 중 상기 컨텐츠 요청을 전달할 캐시 장치(400)를 선택하고, 상기 선택한 캐시 장치(400)로 상기 컨텐츠 요청을 전달한다. 특히, 상기 중계 장치(300)는 컨텐츠 요청을 처리할 캐시 장치(400)를 선택하는데 있어서, 요청된 컨텐츠의 컨텐츠 식별 정보를 기반으로 컨텐츠를 구분하기 위한 해쉬 키를 산출한다. 중계 장치(300)는 산출한 해쉬 키를 기준으로 컨텐츠 해쉬 테이블을 비교하여, 요청된 컨텐츠 및 그에 매핑된 캐시 장치(400)를 확인할 수 있다. 특히, 본 발명에 있어서, 컨텐츠의 효율적인 전송을 위하여, 인기도, 즉, 사용자의 접근 빈도가 기준값 이상인 컨텐츠에 대해서는 다수의 캐시 장치(400)에 중복 저장하여, 다수의 캐시 장치(400)가 분산 처리할 수 있도록 한다. 이때, 캐시 장치(400)는 부하가 작은 측이 선택되거나, 라운드 로빈 방식 등에 따라서 선택될 수 있다.The at least one relay device 300 is a means for controlling the content transfer service to be distributed among the plurality of cache devices 400. [ More specifically, the at least one relay device 300 has information on a content storage range set for each of the plurality of cache devices 400. The content hash table managing the hash key of each content calculated using the predetermined hash algorithm and the mapping information mapping each of the plurality of cache devices 400 may be managed. In addition, when at least one of the relay apparatuses 300 is located between the terminal apparatus 100 and the plurality of cache apparatuses 400 and receives a content request, And transmits the content request to the selected cache apparatus 400. The cache apparatus 400 transmits the content request to the cache apparatus 400. [ In particular, when the relay apparatus 300 selects the cache apparatus 400 to process the content request, the relay apparatus 300 calculates a hash key for identifying the content based on the content identification information of the requested content. The relay apparatus 300 can compare the content hash table based on the calculated hash key to identify the requested content and the cache apparatus 400 mapped thereto. Particularly, in the present invention, in order to efficiently transmit contents, content having a popularity, that is, a content whose user's access frequency is equal to or higher than a reference value is redundantly stored in a plurality of cache devices 400, . At this time, the cache apparatus 400 may be selected on the side with a smaller load, or may be selected in accordance with the round robin method or the like.

참고로, 상기 컨텐츠 요청은 HTTP REQUEST 메시지를 통해 전달될 수 있다. 또한, 상기 하나 이상의 중계 장치(300)는 DNS 서버 혹은 GLB 서버의 개입에 따라서 상기 단말 장치(100)의 컨텐츠 요청을 수신할 수 있다. 예를 들어, 단말 장치(100)는 사용자가 원하는 컨텐츠를 나타내는 URL을 상기 DNS 서버 혹은 GLB 서버로 전송하여 IP 주소를 질의하고, 상기 DNS 서버 혹은 GLB 서버로부터 중계 장치(300)의 IP 주소를 수신하여, 수신된 IP 주소에 대응하는 중계 장치(300)로 컨텐츠 요청을 전송할 수 있다.For reference, the content request can be delivered through an HTTP REQUEST message. Also, the one or more relay apparatuses 300 may receive the content request of the terminal apparatus 100 according to the intervention of the DNS server or the GLB server. For example, the terminal device 100 transmits a URL indicating content desired by the user to the DNS server or the GLB server, queries the IP address, and receives the IP address of the relay device 300 from the DNS server or the GLB server And transmit the content request to the relay apparatus 300 corresponding to the received IP address.

상기 다수의 캐시 장치(400)는 컨텐츠 제공 장치(200)에서 단말 장치(100)로 제공하고자 하는 컨텐츠들 중에서, 각각의 설정된 컨텐츠 저장 범위에 해당하는 컨텐츠를 저장한다. 여기서, 캐시 장치(400)에 컨텐츠를 저장하는 방식은, 서비스 시행 전에 컨텐츠 제공 장치(200)에서 캐시 장치(400)로 미리 전송하여 저장시키거나, 트랜스페어런트 캐싱(Transparent caching) 기술에 따라서, 컨텐츠 제공 장치(200)로부터 단말 장치(100)로 전송되는 컨텐츠를 복사하여 저장하는 등, 다양한 방식으로 이루어질 수 있다.The plurality of cache devices 400 store content corresponding to each content storage range among the contents to be provided to the terminal device 100 from the content providing device 200. [ Here, the method of storing contents in the cache apparatus 400 may be performed by previously transmitting the contents from the contents providing apparatus 200 to the cache apparatus 400 and storing the contents in the cache apparatus 400 before the service is executed, The content transmitted from the providing apparatus 200 to the terminal apparatus 100 is copied and stored.

그리고, 상기 중계 장치(300)의 개입에 따라서 단말 장치(100)의 컨텐츠 요청을 수신하면, 요청된 컨텐츠를 자신이 저장하고 있는 지 여부를 판단하고, 저장하고 있는 경우, 저장된 컨텐츠를 상기 단말 장치(100)로 전송한다. Upon receiving the content request of the terminal device 100 in response to the intervention of the relay device 300, it is determined whether or not the requested content is stored therein, and if the stored content is stored, (100).

이러한 캐시 장치(400)들은 통신망(10) 상에 분산 배치되는데, 예를 들어, 이동통신망의 경우, 무선 액세스망(RAN)의 연결 지점에 배치될 수 있다. 더 구체적으로, 무선 액세스망(RAN)이 연결되는 지점에 스위칭 장치를 통해 연결될 수 있다.These cache devices 400 are distributed on the communication network 10, for example, in the case of a mobile communication network, they may be disposed at a connection point of a radio access network (RAN). More specifically, it may be connected through a switching device to a point where the radio access network (RAN) is connected.

아울러, 상기 하나 이상의 중계 장치(300)와 다수의 캐시 장치(400)는 Redirect 방식, Proxy 방식 등 다양한 방식으로 연동할 수 있다.In addition, the one or more relay apparatuses 300 and the plurality of cache apparatuses 400 may be interworked in various ways such as a redirect method and a proxy method.

도 2 및 도 3은 본 발명에 따른 컨텐츠 전송 시스템에 있어서, 하나 이상의 중계 장치(300)와 다수의 캐시 장치(400) 간의 연동 구조를 예시한 도면이다.2 and 3 are views illustrating an interworking structure between one or more relay apparatuses 300 and a plurality of cache apparatuses 400 in a content transmission system according to the present invention.

도 2는 리다이렉트 기법을 이용한 컨텐츠 전송 시스템에 있어서의 중계 장치와 캐시 장치의 연동 구조를 설명하기 위한 블럭도이다. 본 실시 예에서는, 하나의 중계 장치(300a)와 다수의 캐시 장치(400a~400c)가 연동한다. 상기 하나의 중계 장치(300a)는 다수의 캐시 장치(400a~400)와는 직접적으로 연결되지 않으며 독립적으로 동작할 수 있다.2 is a block diagram illustrating an interworking structure of a relay device and a cache device in a content transmission system using a redirect technique. In this embodiment, one relay device 300a and a plurality of cache devices 400a to 400c are interlocked. The one relay device 300a is not directly connected to the plurality of cache devices 400a to 400 and can operate independently.

본 실시 예에서, 중계 장치(300a)는 다수의 캐시 장치(400a~400c) 각각의 컨텐츠 저장 범위에 대한 정보를 구비한다. 상기 컨텐츠 저장 범위는, 컨텐츠 식별 정보(예를 들어, URL 정보)로부터 해쉬 연산을 통해 산출된 키 값을 기준으로 설정될 수 있다. 구체적으로, 컨텐츠별 해쉬 키를 관리하는 컨텐츠 해쉬 테이블과 상기 다수의 캐시 장치를 매핑한 매핑 정보로 설정될 수 있다.In this embodiment, the relay apparatus 300a has information on the content storage range of each of the plurality of cache apparatuses 400a to 400c. The content storage range may be set based on a key value calculated through hash calculation from content identification information (e.g., URL information). Specifically, a content hash table for managing a content-based hash key and mapping information mapping the plurality of cache devices may be set.

상기 중계 장치(300a)는 단말 장치(100)로부터 컨텐츠 요청을 수신하면, 다수의 캐시 장치(400a~400c) 각각의 기 설정된 컨텐츠 저장 범위와 비교하여, 다수의 캐시 장치(400a~400c) 중 하나를 선택한다. 그리고, 중계 장치(300a)는 선택된 캐시 장치(예를 들어 400a)의 IP 주소를 포함하는 리다이레션 메시지(예를 들어, HTTP REDIRECT MESSAGE)를 단말 장치(100)로 전송한다. 이에 단말 장치(100)는 다수의 캐시 장치(400a~400c) 중에서 상기 선택된 캐시 장치(400a)로 컨텐츠 요청 메시지를 다시 전송한다. The relay device 300a receives a content request from the terminal device 100 and compares it with a predetermined content storage range of each of the plurality of cache devices 400a to 400c, . The relay apparatus 300a transmits a redirection message (for example, HTTP REDIRECT MESSAGE) including the IP address of the selected cache apparatus (for example, 400a) to the terminal apparatus 100. [ The terminal device 100 transmits the content request message again to the selected cache device 400a among the plurality of cache devices 400a to 400c.

이렇게 컨텐츠 요청 메시지를 수신한 캐시 장치(400a)는 저장하고 있는 해당 컨텐츠를 단말 장치(100)로 전송한다. 특히, 트랜스페어런트 캐싱 방식이 적용된 경우, 상기 캐시 장치(400a)는 요청된 컨텐츠가 저장되어 있는 지를 확인하고, 저장되어 있으며 자신이 보유한 컨텐츠를 단말 장치(100)로 전송하며, 저장되어 있지 않으면, 컨텐츠 요청 메시지를 컨텐츠 제공 장치(200)로 전송한 후, 컨텐츠 제공 장치(300)로부터 단말 장치(100)로 전송되는 컨텐츠를 복사하여 저장한다. 따라서, 상기 중계 장치(300a)에 의해 컨텐츠 요청이 분산 전달됨으로써, 캐시 장치(400a~400c)로의 컨텐츠의 분산 캐싱 및 컨텐츠 요청의 분산 처리가 구현된다.The cache apparatus 400a receiving the content request message transmits the stored content to the terminal device 100. [ In particular, when the transparent caching scheme is applied, the cache apparatus 400a checks whether the requested content is stored, transmits the stored content to the terminal device 100, and if not, After the content request message is transmitted to the content providing apparatus 200, the content transmitted from the content providing apparatus 300 to the terminal apparatus 100 is copied and stored. Accordingly, the content request is distributed and transmitted by the relay device 300a, thereby implementing distributed caching of content to the cache devices 400a to 400c and distribution processing of the content request.

도 3은 본 발명의 다른 실시 예에 따른 컨텐츠 전송 시스템에 있어서, 프록시 방식이 적용된 캐시 장치와 중계 장치의 연동 구조를 설명하기 위한 블럭도이다. 본 실시 예에서는 다수의 중계 장치(300a~300c)와 다수의 캐시 장치(400a~400c)가 구비되는데, 상기 다수의 중계 장치(300a~300c)는 단말 장치(100)와 다수의 캐시 장치(400a~400c) 사이에 구비되며, 다수의 캐시 장치(400a~400c)와 모두 연결되어, 프록시(Proxy) 서버처럼 동작한다. 여기서, 중계 장치(300a~300c)는 단말 장치(100) 들에 필요한 대역폭에 대응하여 구성될 수 있다. 또한, 중계 장치(300a~300c)들과 캐시 장치(400a~400c) 사이의 네트워크 구간은 매우 혼잡해질 수 있으므로, 별도의 내부 네트워크를 이용하여 구현될 수 있다. 더하여, 상기 다수의 중계 장치(300a~300c)와 다수의 캐시 장치(400a~400c)는 1:1 매핑될 수 있다. 본 발명의 다른 실시 예에 있어서, 1:1로 매핑된 중계 장치(300a~300c)와 캐시 장치(400a~400c)는 하나의 서버 장치로 구현되고, 루프백 인터페이스를 통해서 서로 연결될 수 있다. 반면, 중계 장치(300a~300c)는 매핑되지 않은 다른 캐시 장치(400a~400c)와는 네트워크를 통해서 연결될 수 있다.3 is a block diagram illustrating an interworking structure of a cache apparatus and a relay apparatus to which a proxy scheme is applied in a content transmission system according to another embodiment of the present invention. A plurality of relay apparatuses 300a to 300c and a plurality of cache apparatuses 400a to 400c are provided in the present embodiment. The plurality of relay apparatuses 300a to 300c include a plurality of relay apparatuses 300a to 300c and a plurality of cache apparatuses 400a to 400c, And 400c and is connected to all of the plurality of cache devices 400a to 400c and operates as a proxy server. Here, the relay apparatuses 300a to 300c may be configured to correspond to bandwidths required for the terminal apparatuses 100. [ In addition, since the network interval between the relay apparatuses 300a to 300c and the cache apparatuses 400a to 400c may be very congested, it may be implemented using a separate internal network. In addition, the plurality of relay devices 300a to 300c and the plurality of cache devices 400a to 400c may be mapped 1: 1. In another embodiment of the present invention, the relay apparatuses 300a to 300c and the cache apparatuses 400a to 400c mapped to 1: 1 may be implemented as one server apparatus and connected to each other through a loopback interface. On the other hand, the relay apparatuses 300a to 300c may be connected to other unmapped cache apparatuses 400a to 400c through a network.

도 3과 같은 구조에서, 다수의 중계 장치(300a~300c)는 앞서 도 2의 실시 예에서와 마찬가지로, 다수의 캐시 장치(400a~400c) 각각의 컨텐츠 저장 범위에 대한 정보를 구비한다. 상기 컨텐츠 저장 범위는, 컨텐츠 식별 정보(예를 들어, URL 정보)로부터 해쉬 연산을 통해 산출된 키 값을 기준으로 설정될 수 있다. 구체적으로, 컨텐츠별 해쉬 키를 관리하는 컨텐츠 해쉬 테이블과 상기 다수의 캐시 장치를 매핑한 매핑 정보로 설정될 수 있다.3, the plurality of relay apparatuses 300a to 300c includes information on the content storage ranges of the plurality of cache apparatuses 400a to 400c, respectively, as in the embodiment of FIG. The content storage range may be set based on a key value calculated through hash calculation from content identification information (e.g., URL information). Specifically, a content hash table for managing a content-based hash key and mapping information mapping the plurality of cache devices may be set.

그리고, 다수의 중계 장치(300a~300c) 중 어느 하나가 단말 장치(100)로부터 전송된 컨텐츠 요청을 수신하게 된다. 구체적으로 설명하면, 단말 장치(100)가 DNS 서버 혹은 GLB 서버로 수신을 원하는 컨텐츠에 대응하는 URL을 전송하여 IP 주소를 질의하고, 그에 대한 응답으로 다수의 중계 장치(300a~300c) 중에서 한 중계 장치(예를 들어, 300a)의 IP 주소를 제공받는다. 이에 단말 장치(100)는 상기 IP 주소에 대응하는 중계 장치(300a)로 컨텐츠 요청 메시지를 전송하게 된다. 여기서 DNS 서버 혹은 GLB 서버의 동작은 기존 CDN 기술 분야에서 잘 알려져 있으며, 본 발명에 따른 분산 캐싱과는 직접적인 관련이 없으므로 구체적인 설명을 생략한다.One of the plurality of relay apparatuses 300a to 300c receives the content request transmitted from the terminal apparatus 100. [ Specifically, the terminal device 100 transmits the URL corresponding to the content desired to be received by the DNS server or the GLB server to inquire the IP address, and in response to the inquiry, the relay device 300a to 300c And receives the IP address of the device (for example, 300a). Accordingly, the terminal device 100 transmits a content request message to the relay device 300a corresponding to the IP address. Here, the operation of the DNS server or the GLB server is well known in the conventional CDN technology field, and is not directly related to the distributed caching according to the present invention, so a detailed description will be omitted.

이와 같이, 단말 장치(100)의 컨텐츠 요청 메시지를 수신한 중계 장치(300a)는 다수의 캐시 장치(400a~400c) 각각의 기 설정된 컨텐츠 저장 범위와 비교하여, 다수의 캐시 장치(400a~400c) 중 하나를 선택한다. 그리고, 중계 장치(300a)는 선택된 캐시 장치(예를 들어 400a)로 상기 단말 장치(100)의 컨텐츠 요청 메시지를 전송한다. 상기 컨텐츠 요청 메시지는, 상기 중계 장치(300a)와 캐시 장치(400a)가 하나의 서버로 구현된 경우에는 루프백 인터페이스를 통해서 전달되며, 서로 다른 서버로 구현되어 있는 경우에는 네트워크를 통해서 전달될 수 있다.The relay device 300a receiving the content request message of the terminal device 100 compares the content storage ranges of the plurality of cache devices 400a to 400c with the predetermined content storage ranges, . Then, the relay apparatus 300a transmits the contents request message of the terminal apparatus 100 to the selected cache apparatus (for example, 400a). The content request message is delivered through a loopback interface when the relay apparatus 300a and the cache apparatus 400a are implemented as a single server and may be delivered through a network if the relay apparatus 300a and the cache apparatus 400a are implemented as different servers .

이렇게 중계 장치(300a)를 통해서 컨텐츠 요청 메시지를 수신한 캐시 장치(400a)는 저장하고 있는 해당 컨텐츠를 단말 장치(100)로 전송한다. 이때, 상기 컨텐츠는 중계 장치(300a)를 통해서 단말 장치(100)로 전송될 수 있다. 더하여, 트랜스페어런트 캐싱 방식이 적용된 경우, 상기 캐시 장치(400a)는 요청된 컨텐츠가 저장되어 있는 지를 확인하고, 저장되어 있으며 자신이 보유한 컨텐츠를 단말 장치(100)로 전송하며, 저장되어 있지 않으면, 컨텐츠 요청 메시지를 컨텐츠 제공 장치(200)로 전송한 후, 컨텐츠 제공 장치(300)로부터 단말 장치(100)로 전송되는 컨텐츠를 복사하여 저장한다.The cache apparatus 400a receiving the content request message through the relay apparatus 300a transmits the stored content to the terminal apparatus 100. [ At this time, the content may be transmitted to the terminal device 100 through the relay device 300a. In addition, when the transparent caching scheme is applied, the cache apparatus 400a checks whether the requested content is stored, transmits the stored content to the terminal device 100, and if not, After the content request message is transmitted to the content providing apparatus 200, the content transmitted from the content providing apparatus 300 to the terminal apparatus 100 is copied and stored.

한편, 상술한 도 2 및 도 3과 같이 중계 장치(300) 및 캐시 장치(400)가 연동하는 경우, 사용자의 증가 혹은 서버 장애 등으로 캐시 장치(400)에 대수 변동이 발생할 수 있다. 이와 같이 캐시 장치의 대수 변동이 발생하면, 다수의 캐시 장치(400)에 설정된 컨텐츠 저장 범위를 조정하여야 한다. 도 1에 도시된 중앙 관리 장치(500)는 이러한 캐시 장치의 변동에 따라서 캐시 장치(400)들간의 컨텐츠 저장 범위를 효율적으로 조정하기 위한 구성이다.Meanwhile, when the relay apparatus 300 and the cache apparatus 400 are interlocked with each other as in the above-described FIG. 2 and FIG. 3, logarithmic variation may occur in the cache apparatus 400 due to an increase in the number of users or a server failure. When the logarithmic variation of the cache apparatus occurs as described above, the content storage range set in the plurality of cache apparatuses 400 must be adjusted. The central management apparatus 500 shown in FIG. 1 is a configuration for efficiently adjusting the content storage range between the cache apparatuses 400 according to the variation of the cache apparatus.

다시 도 1을 참조하면, 상기 중앙 관리 장치(500)는 본 발명에 따른 컨텐츠 전송 시스템에 있어서, 다수의 캐시 장치(400)를 모니터링하여, 대수 변동이 발생하는 경우, 캐시 장치(400)들 간의 컨텐츠 저장 범위를 조정하기 위한 수단이다. 구체적으로, 중앙 관리 장치(500)는 다수의 캐시 장치(400)와 컨텐츠 저장 범위에 대한 매핑 정보, 그리고, 다수의 캐시 장치(400)들의 컨텐츠 저장 범위의 변경 사항에 대한 히스토리 정보를 저장한다. 그리고, 중앙 관리 장치(500)는 다수의 캐시 장치(400)의 상태를 모니터링하여 대수 변동 여부를 확인한다. 확인 결과, 새로운 캐시 장치가 증설되는 경우, 중앙 관리 장치(500)는 현재 동작하는 캐시 장치(400)들의 컨텐츠 저장 범위를 나누어 상기 새로운 캐시 장치에 분배하여야 한다. 구체적으로, 중앙 관리 장치(500)는 현재 동작중인 캐시 장치(400)들의 수와 상기 새로운 캐시 장치의 저장 용량 등을 고려하여, 다수의 캐시 장치(400)로부터 새로운 캐시 장치로 분배할 분산 단위를 산출한다. 그리고, 중앙 관리 장치(500)는 다수의 캐시 장치(400)의 컨텐츠 저장 범위 중에, 상기 산출된 분산 단위씩을 추출하여, 새로운 캐시 장치에 설정한다. 이때, 각 캐시 장치(400)의 컨텐츠 저장 범위 중에서 끝부분에서 분산 단위만큼을 추출할 수 있다. 그리고, 중앙 관리 장치(500)는 컨텐츠 저장 범위의 변경사항을 반영하여 상기 다수의 캐시 장치(400)와 컨텐츠 저장 범위에 대한 매핑 정보를 변경하고, 변경된 매핑 정보를 하나 이상의 중계 장치(300)로 전송하여, 중계 장치(300)가 변경된 매핑 정보를 기반으로 동작하도록 한다. 1, the central management unit 500 monitors a plurality of cache devices 400 in the content transmission system according to the present invention, and when a logarithmic change occurs, It is a means for adjusting the content storage range. Specifically, the central management apparatus 500 stores mapping information on a plurality of cache devices 400 and content storage ranges, and history information on changes in content storage ranges of a plurality of cache devices 400. The central management unit 500 monitors the statuses of the plurality of cache devices 400 and confirms whether the number of cache devices 400 has changed. As a result, when a new cache apparatus is added, the central management apparatus 500 divides the content storage range of currently operating cache apparatuses 400 into the new cache apparatus. In detail, the central management apparatus 500 calculates a distribution unit to be distributed from the plurality of cache apparatuses 400 to the new cache apparatus in consideration of the number of currently operating cache apparatuses 400, the storage capacity of the new cache apparatus, . Then, the central management apparatus 500 extracts each of the calculated distributed units from among the content storage ranges of the plurality of cache apparatuses 400, and sets the extracted distributed units in a new cache apparatus. At this time, it is possible to extract as many distributed units from the end of the content storage range of each cache apparatus 400. The central management apparatus 500 changes mapping information on the content storage range with the plurality of cache devices 400 by reflecting changes in the content storage range and transmits the changed mapping information to one or more relay apparatuses 300 So that the relay apparatus 300 operates based on the changed mapping information.

반대로, 상기 중앙 관리 장치(500)는 다수의 캐시 장치(400) 중 감축이 발생한 경우, 감축되는 캐시 장치에 설정된 컨텐츠 저장 범위를 나머지 캐시 장치들(400)의 수 및 저장 용량을 고려하여, 균등 분할한다. 그리고, 균등 분할된 컨텐츠 저장 범위를 나머지 캐시 장치(400)들 중 하나 이상에 배정하여, 해당 나머지 캐시 장치(400)들의 컨텐츠 저장 범위를 변경한다. 그리고, 앞서와 마찬가지로, 중앙 관리 장치(500)는 상기 변경 사항을 반영하여 다수의 캐시 장치(400)와 컨텐츠 저장 범위의 매핑 정보를 변경하고, 변경된 매핑 정보를 하나 이상의 중계 장치(300)로 전송하여, 중계 장치(300)가 변경된 매핑 정보를 기반으로 동작할 수 있도록 한다.On the other hand, when a reduction occurs among a plurality of cache apparatuses 400, the central management apparatus 500 considers the content storage range set in the cache apparatus to be reduced to be equal to the number of remaining cache apparatuses 400, . Then, the content storage range of the remaining cache devices 400 is changed by allocating the uniformly divided content storage range to at least one of the remaining cache devices 400. [ In the same way as described above, the central management apparatus 500 changes mapping information of the content storage range with a plurality of cache devices 400 by reflecting the change, and transmits the changed mapping information to one or more relay apparatuses 300 So that the relay apparatus 300 can operate based on the changed mapping information.

다음으로, 본 발명에 따른 컨텐츠 전송 시스템에 구비되는 중계 장치(300), 캐시 장치(400) 및 중앙 관리 장치(500)의 상세 구성 및 작용을 개별적으로 살펴보기로 한다.Next, detailed configurations and operations of the relay device 300, the cache device 400, and the central management device 500 included in the content transmission system according to the present invention will be individually examined.

도 4는 본 발명에 따른 컨텐츠 전송 시스템에 있어서, 중계 장치(300)의 구성을 나타낸 블럭도이다.4 is a block diagram showing a configuration of a relay apparatus 300 in a content transmission system according to the present invention.

도 4를 참조하면, 본 발명에 따른 중계 장치(300)는 통신 인터페이스부(310), 저장부(320) 및 중계 제어부(330)를 포함하여 이루어질 수 있다.Referring to FIG. 4, the relay apparatus 300 according to the present invention may include a communication interface unit 310, a storage unit 320, and a relay control unit 330.

통신 인터페이스부(310)는 단말 장치(100) 및 다수의 캐시 장치(400) 중에서 하나 이상과 데이터를 송수신하기 위한 수단이다. 구체적으로 상기 통신 인터페이스부(310)는 통신망(10)에 접속하여 단말 장치(100)로부터의 컨텐츠 요청 메시지를 수신하고, 단말 장치(100)로 리다이렉트 요청을 전송하거나 통신망(10) 혹은 별도의 내부 네트워크 혹은 루프백 인터페이스를 통해서 캐시 장치(400) 중 하나로 컨텐츠 요청 메시지를 전달할 수 있다.The communication interface unit 310 is a means for transmitting and receiving data with at least one of the terminal apparatus 100 and the plurality of cache apparatuses 400. Specifically, the communication interface unit 310 connects to the communication network 10, receives a content request message from the terminal device 100, transmits a redirect request to the terminal device 100, The content request message can be delivered to one of the cache devices 400 via the network or the loopback interface.

저장부(320)는 상기 중계 장치(300)의 동작 운용에 필요한 데이터 및 프로그램을 저장하기 위한 것으로서, 기본적으로 중계 장치(300)의 운영 프로그램 및 도 6의 과정을 처리하도록 구현된 프로그램을 저장할 수 있다. 특히, 저장부(320)는 다수의 캐시 장치(400)와 각각의 컨텐츠 저장 범위를 매핑한 매핑 정보를 저장한다. 이는 기 설정된 해쉬 알고리즘(수학식 1 참조)에 따라서 산출된 컨텐츠별 해쉬 키값을 관리하는 컨텐츠 해쉬 테이블과 다수 캐시 장치(400) 간을 매핑하는 형태로 저장될 수 있다.The storage unit 320 stores data and programs necessary for operation of the relay device 300 and basically stores the operating program of the relay device 300 and the program implemented to process the process of FIG. have. In particular, the storage unit 320 stores a plurality of cache devices 400 and mapping information mapping the respective content storage ranges. This can be stored as a mapping between the content hash table managing the hash key value for each content calculated according to the preset hash algorithm (see Equation 1) and the multiple cache devices 400.

마지막으로, 중계 제어부(330)는, 본 발명에 따른 중계 장치(300)의 동작 전반을 제어하는 수단으로서, 특히, 다수 캐시 장치(400)에 대한 서비스 분산 처리를 제어할 수 있다.Lastly, the relay control unit 330 is a means for controlling the overall operation of the relay apparatus 300 according to the present invention, in particular, can control the service distribution processing for the multiple cache apparatuses 400. [

구체적으로, 중계 제어부(330)는, 통신 인터페이스부(310)를 통해서 단말 장치(100)의 컨텐츠 요청을 수신하면, 이를 상기 저장부(320)에 저장된 캐시 장치와 컨텐츠 저장 범위의 매핑 정보를 비교하여, 다수의 캐시 장치(400) 중 해당 컨텐츠 요청을 처리할 캐시 장치(400)를 선택하고, 선택된 캐시 장치(400)로 상기 단말 장치(100)의 컨텐츠 요청이 전달되도록 제어한다. 구체적으로, 중계 제어부(330)는 선택된 캐시 장치(400)의 IP 주소로의 리다이렉션 요청을 단말 장치(100)로 전송하거나, 상기 단말 장치(100)의 컨텐츠 요청을 상기 선택된 캐시 장치(400)에 직접 전송할 수 있다.Specifically, the relay control unit 330, when receiving the content request of the terminal device 100 through the communication interface unit 310, compares the cache information stored in the storage unit 320 with the mapping information of the content storage range Selects a cache apparatus 400 to process a corresponding content request among a plurality of cache apparatuses 400 and controls the selected cache apparatus 400 to transmit a content request of the terminal apparatus 100. [ Specifically, the relay control unit 330 transmits a redirection request to the IP address of the selected cache apparatus 400 to the terminal apparatus 100, or transmits a content request of the terminal apparatus 100 to the selected cache apparatus 400 You can send it directly.

더하여, 인기 있는 일부 컨텐츠에 대한 요청을 다수의 캐시 장치(400)에서 함께 처리하도록 하는 경우, 중계 제어부(330)는, 요청된 컨텐츠의 인기도를 확인한다. 그리고, 인기도가 기준 레벨 이상인 경우, 중계 제어부(330)는 다수의 캐시 장치(400)를 기 설정된 순서에 따라서 한 캐시 장치(400)를 선택한다. 구체적으로, 중계 제어부(330)는 인기도가 기준 레벨 이상인 컨텐츠가 요청된 경우, 상기 기 설정된 컨텐츠 저장 범위에 대한 정보를 고려하지 않고, 다수의 캐시 장치(400) 중 하나를 라운드 로빈 방식에 따라서 순차적으로 선택한다. 이에 따르면, 다수의 캐시 장치(400)가 교대로 상기 인기 있는 컨텐츠의 요청을 처리할 수 있게 된다.In addition, when a request for some popular content is to be processed in a plurality of cache apparatuses 400, the relay control unit 330 confirms the popularity of the requested content. If the popularity is equal to or higher than the reference level, the relay control unit 330 selects a plurality of cache apparatuses 400 in accordance with a predetermined order. More specifically, when content having a popularity level equal to or higher than a reference level is requested, the relay control unit 330 sequentially selects one of the plurality of cache devices 400 in accordance with the round robin method without considering information on the predetermined content storage range . Accordingly, a plurality of cache apparatuses 400 can alternately process requests for the popular content.

더하여, 상기 중계 제어부(330)는 기 설정된 컨텐츠 저장 범위와 비교하여 캐시 장치(400)를 선택하는데 있어서, 해쉬 알고리즘을 이용할 수 있다.In addition, the relay control unit 330 may use the hash algorithm in selecting the cache apparatus 400 in comparison with the predetermined content storage range.

구체적으로, 상기 중계 제어부(330)는 요청된 컨텐츠의 컨텐츠 식별 정보(예를 들어, URL)을 하기의 수학식 1에 적용하여 요청된 컨텐츠에 대응하는 해쉬 키값(Range)을 산출한다.Specifically, the relay control unit 330 calculates a hash key value (Range) corresponding to the requested content by applying the content identification information (e.g., URL) of the requested content to Equation (1).

Figure pat00001
Figure pat00001

여기서, Range_Count는 컨텐츠의 중복을 최소화하기 위한 단위로서, 임의로 설정될 수 있다. 따라서, 중계 제어부(330)는 요청된 컨텐츠의 컨텐츠 식별 정보를 기 설정된 해쉬 함수로 해쉬 연산 한 후, 연산 결과를 제1 기준값(Range_Count)으로 모듈러 연산하고, 모듈러 연산 결과값을 해쉬 키값으로 산출한다.Here, Range_Count is a unit for minimizing duplication of contents, and can be arbitrarily set. Accordingly, the relay control unit 330 performs hash operation on the content identification information of the requested content with a predetermined hash function, modulo the operation result with the first reference value (Range_Count), and calculates the moduler operation result value as a hash key value .

상기 중계 제어부(330)는 산출된 해쉬 키 값을 이용하여 컨텐츠 별 해쉬 키값을 관리하는 컨텐츠 해쉬 테이블을 검색하여, 요청된 컨텐츠를 확인하고, 요청된 컨텐츠의 인기도를 측정하거나 확인할 수 있다. 아울러, 요청된 컨텐츠에 매핑된 캐시 장치(400)를 확인하여 선택할 수 있다.The relay control unit 330 can search the content hash table managing the hash key value for each content using the calculated hash key value, check the requested content, and measure or check the popularity of the requested content. In addition, the cache device 400 mapped to the requested content can be checked and selected.

상술한 중계 제어부(330)의 동작은 후술하는 도 7의 설명을 참조함으로써, 더 쉽게 이해될 수 있을 것이다.The operation of the relay control unit 330 described above may be more easily understood by referring to the description of FIG. 7 to be described later.

다음으로, 도 5는 본 발명에 따른 컨텐츠 전송 시스템에 있어서, 캐시 장치(400)의 구성을 나타낸 블럭도이다.Next, Fig. 5 is a block diagram showing the configuration of the cache apparatus 400 in the content transmission system according to the present invention.

도 5를 참조하면, 캐시 장치(400)는 통신 인터페이스부(410), 저장부(420) 및 캐시 제어부(430)를 포함하여 이루어질 수 있다.5, the cache apparatus 400 may include a communication interface unit 410, a storage unit 420, and a cache control unit 430.

상기 캐시 장치(400)의 통신 인터페이스부(410)는 단말 장치(100), 중계 장치(300) 및 컨텐츠 제공 장치(200) 중 하나 이상과 데이터를 송수신하기 위한 수단이다. 이러한 통신 인터페이스부(410)는 통신망(10) 및/또는 별도의 내부 네트워크를 통해서, 단말 장치(100), 중계 장치(300) 및 컨텐츠 제공 장치(200) 중 어느 하나와 통신할 수 있도록 구현될 수 있다. 특히, 상기 캐시 장치(400)가 특정 중계 장치(300)와 하나의 서버로 구현된 경우, 상기 통신 인터페이스부(410)는 루프백 인터페이스를 통해서 해당 중계 장치(300)와 통신할 수 있도록 구현될 수 있다.The communication interface unit 410 of the cache apparatus 400 is a means for transmitting and receiving data with at least one of the terminal apparatus 100, the relay apparatus 300 and the content providing apparatus 200. The communication interface unit 410 may be configured to communicate with any one of the terminal device 100, the relay device 300, and the content providing device 200 through the communication network 10 and / . In particular, when the cache apparatus 400 is implemented as a specific relay apparatus 300 and a single server, the communication interface unit 410 may be implemented to communicate with the relay apparatus 300 through a loopback interface have.

저장부(420)는 캐시 장치(400)의 운용에 필요한 데이터 및 프로그램을 저장하기 위한 수단으로서, 특히, 하나 이상의 컨텐츠의 일부 혹은 전부를 저장한다.The storage unit 420 is a means for storing data and programs necessary for the operation of the cache apparatus 400, and in particular, stores a part or all of one or more contents.

캐시 제어부(430)는 캐시 장치(400)의 동작 전반을 제어하여, 컨텐츠를 저장부(420)에 저장하거나, 요청된 컨텐츠를 단말 장치(100)로 전송하도록 제어한다.The cache control unit 430 controls the entire operation of the cache apparatus 400 to store the content in the storage unit 420 or to control the transmission of the requested content to the terminal device 100.

특히, 캐시 제어부(430)의 동작은 캐싱 방식에 따라서 달라질 수 있다. 특히, 트랜스페어런트 캐싱 방식의 경우, 상기 중계 장치(300)의 개입에 따라서 단말 장치(100)의 컨텐츠 요청을 수신하면, 요청된 컨텐츠를 자신이 저장하고 있는 지 여부를 판단하고, 저장하고 있는 경우, 저장된 컨텐츠를 상기 단말 장치(100)로 전송한다. 반대로 저장되지 않은 경우, 상기 컨텐츠 요청을 컨텐츠 제공 장치(200)로 전송한 후, 이에 대한 응답으로 컨텐츠 제공 장치(200)로부터 전송되는 컨텐츠를 복사하여 저장부(420)에 저장할 수 있다. 상술한 캐시 제어부(430)의 동작은 후술하는 도 8의 설명을 참조하여 더 쉽게 이해될 수 있다.In particular, the operation of the cache controller 430 may vary according to the caching scheme. Particularly, in the case of the transparent caching scheme, when the content request of the terminal device 100 is received according to the intervention of the relay device 300, it is determined whether or not the requested content is stored therein, , And transmits the stored contents to the terminal device (100). In contrast, if the content is not stored, the content request may be transmitted to the content providing apparatus 200, and the content transmitted from the content providing apparatus 200 may be copied in the storage unit 420 in response to the content request. The operation of the cache control unit 430 described above can be more easily understood with reference to the description of FIG. 8 to be described later.

다음으로, 도 6은 본 발명에 따른 컨텐츠 전송 시스템에 있어서, 중앙 관리 장치(500)의 구성을 나타낸 블럭도이다.Next, Fig. 6 is a block diagram showing the configuration of the central management apparatus 500 in the content transmission system according to the present invention.

도 6을 참조하면, 중앙 관리 장치(500)는 통신 인터페이스부(510)와, 저장부(520)와, 분산 관리부(530)를 포함하여 이루어질 수 있다.6, the central management apparatus 500 may include a communication interface unit 510, a storage unit 520, and a distribution management unit 530. [

중앙 관리 장치(500)의 통신 인터페이스부(510)는 중계 장치(300) 및 캐시 장치(400)들 중 하나 이상과 통신하기 위한 수단으로서, 예를 들어, 통신망(10)에 접속하여 데이터를 송수신하도록 구현될 수 있다.The communication interface unit 510 of the central management apparatus 500 is a means for communicating with at least one of the relay apparatus 300 and the cache apparatus 400. The communication interface unit 510 is connected to the communication network 10, . ≪ / RTI >

저장부(520)는 중앙 관리 장치(500)의 동작을 위해 필요한 데이터 및 분산 관리부(530)에 의해 수행되는 프로그램을 저장하는 수단으로서, 특히, 다수의 캐시 장치(400)와 컨텐츠 저장 범위에 대한 매핑 정보, 그리고, 다수의 캐시 장치(400)들의 컨텐츠 저장 범위의 변경 사항에 대한 히스토리 정보를 저장한다.The storage unit 520 is a means for storing data necessary for the operation of the central management apparatus 500 and a program executed by the distribution management unit 530. In particular, Mapping information, and history information on changes in the content storage range of a plurality of cache devices 400. [

그리고, 분산 관리부(530)는 상기 통신 인터페이스부(510) 및 저장부(520)와 연동하여 본 발명에 따른 캐시 장치(400)의 변동에 따른 컨텐츠 분산 캐싱을 관리하는 기능을 수행한다.The distributed management unit 530 performs a function of managing content distributed caching according to the variation of the cache apparatus 400 according to the present invention in cooperation with the communication interface unit 510 and the storage unit 520. [

구체적으로, 분산 관리부(530)는, 다수의 캐시 장치(400)를 모니터링하여, 대수 변동이 발생하는지를 확인한다. 확인 결과, 새로운 캐시 장치가 증설되는 경우, 분산 관리부(530)는 현재 동작중인 캐시 장치(400)들의 수와 상기 새로운 캐시 장치의 저장 용량 등을 고려하여, 다수의 캐시 장치(400)로부터 새로운 캐시 장치로 분배할 분산 단위를 산출하고, 다수의 캐시 장치(400)의 컨텐츠 저장 범위 중에, 상기 산출된 분산 단위씩을 추출하여, 새로운 캐시 장치에 설정한다. 이때, 각 캐시 장치(400)의 컨텐츠 저장 범위 중에서 끝부분(예를 들어, 저장 위치, 혹은 해쉬 키 값 등을 기준으로)에서 분산 단위만큼을 추출할 수 있다. 반대로, 상기 분산 관리부(530)는 다수의 캐시 장치(400) 중 감축이 발생한 경우, 감축되는 캐시 장치에 설정된 컨텐츠 저장 범위를 나머지 캐시 장치들(400)의 수 및 저장 용량을 고려하여, 균등 분할한다. 그리고, 균등 분할된 컨텐츠 저장 범위를 나머지 캐시 장치(400)들 중 하나 이상에 배정하여, 해당 나머지 캐시 장치(400)들의 컨텐츠 저장 범위를 변경한다. Specifically, the distribution management unit 530 monitors a plurality of cache devices 400 to check if logarithmic variation occurs. As a result, when a new cache device is added, the distribution manager 530 receives a new cache from the plurality of cache devices 400 in consideration of the number of currently operating cache devices 400 and the storage capacity of the new cache device, Calculates the distributed unit to be distributed to the apparatus, extracts each of the calculated distributed units in the content storage range of the plurality of cache apparatuses 400, and sets the extracted distributed units in the new cache apparatus. At this time, it is possible to extract only the distribution unit from the end portion (for example, a storage location, a hash key value, etc.) of the content storage range of each cache apparatus 400. On the contrary, when the reduction of the plurality of cache devices 400 occurs, the distributed management unit 530 performs the equalization division in consideration of the number of the remaining cache devices 400 and the storage capacity, do. Then, the content storage range of the remaining cache devices 400 is changed by allocating the uniformly divided content storage range to at least one of the remaining cache devices 400. [

그리고, 분산 관리부(530)는 상술한 바에 따른 컨텐츠 저장 범위의 변경사항을 반영하여 저장부(520)에 저장된 매핑 정보를 변경하고, 변경된 매핑 정보를 하나 이상의 중계 장치(300)로 전송하여, 중계 장치(300)가 변경된 매핑 정보를 기반으로 동작하도록 한다. The distribution management unit 530 changes the mapping information stored in the storage unit 520 by reflecting the changes of the content storage range according to the above and transmits the changed mapping information to the one or more relay apparatuses 300, Thereby allowing the device 300 to operate based on the changed mapping information.

더하여, 분산 관리부(530)는 경우에 따라서, 변경된 매핑 정보에 따라서, 캐시 장치(400)들 간에 컨텐츠 이동을 제어할 수 있다.In addition, the distribution manager 530 may control the content movement between the cache devices 400, depending on the changed mapping information, as the case may be.

다음으로, 상술한 바와 같이 구성된 컨텐츠 전송 시스템의 분산 캐싱을 위한 컨텐츠 전송 서비스 방법을 도 7 내지 도 9를 참조하여 설명한다.Next, a content transmission service method for distributed caching of the content transmission system configured as described above will be described with reference to FIGS. 7 to 9. FIG.

도 7은 본 발명에 따른 컨텐츠 전송 시스템에 있어서, 중계 장치(300)에 의해 구현되는 분산 캐싱을 위한 컨텐츠 전송 서비스 방법을 나타낸 순서도이다. 도 7의 실시 예에서, 컨텐츠 별 인기도를 기준으로 인기 있는 컨텐츠는 다수 캐시 장치(400)에 동시에 저장하고, 나머지 컨텐츠는 다수의 캐시 장치(400)에 분산 저장하는 것으로 가정한다.7 is a flowchart illustrating a content transmission service method for distributed caching implemented by the relay apparatus 300 in the content transmission system according to the present invention. In the embodiment of FIG. 7, it is assumed that popular contents are stored in a plurality of cache devices 400 at the same time, and the remaining contents are stored in a plurality of cache devices 400 in a distributed manner.

도 7을 참조하면, 중계 장치(300)는 다수의 캐시 장치(400) 별로 각각 컨텐츠 저장 범위를 설정하여 저장한다(S105). 이를 위하여 중계 장치(300)는 중앙 관리 장치(500)로부터 기 설정된 캐시 장치와 컨텐츠 저장 범위의 매핑 정보를 수신할 수 있다. 상기 컨텐츠 저장 범위는, 컨텐츠 식별 정보, 구체적으로 컨텐츠의 네트워크 상의 위치를 정의하는 URL값을 일정 범위로 나누어 설정할 수 있다. 특히, 본 발명에서는 효율적인 관리 및 신속한 비교가 가능하도록 컨텐츠 식별 정보(예를 들어, URL)를 기 설정된 해쉬 알고리즘을 이용하여 연산하여 얻어진 해쉬 키 값을 이용하여 설정될 수 있다. 즉, 컨텐츠 저장 범위는 컨텐츠 별 기 설정된 해쉬 알고리즘을 이용하여 산출된 해쉬 키 값을 관리하는 컨텐츠 해쉬 테이블로 정의되고, 이러한 컨텐츠 해쉬 테이블은 다수의 캐시 장치와 매핑되어 설정될 수 있다.Referring to FIG. 7, the relay apparatus 300 sets and stores a content storage range for each of the plurality of cache apparatuses 400 (S105). For this, the relay apparatus 300 may receive the mapping information of the content storage range from the cache apparatus and the preset cache apparatus from the central management apparatus 500. The content storage range can be set by dividing a URL value defining the content identification information, specifically, the location of the content on the network into a predetermined range. In particular, the present invention can be set using a hash key value obtained by calculating content identification information (e.g., URL) using a predetermined hash algorithm so that efficient management and quick comparison are possible. That is, the content storage range is defined as a content hash table that manages a hash key value calculated using a predetermined hash algorithm for each content, and the content hash table can be mapped with a plurality of cache devices.

상기 키 값의 연산 과정은 추후 설명될 S115 단계 내지 S120 단계를 통해 더 자세히 이해될 수 있다.The computation of the key value can be understood in more detail through steps S115 to S120.

그리고, 중계 장치(300)는, 단말 장치(100)로부터 컨텐츠 요청이 수신되는 지를 확인한다(S110).Then, the relay apparatus 300 confirms whether a content request is received from the terminal device 100 (S110).

확인 결과, 단말 장치(100)의 컨텐츠 요청을 수신하면, 중계 장치(300)는, 상기 기 저장된 캐시 장치와 컨텐츠 저장 범위의 매핑 정보와 상기 요청된 컨텐츠를 비교하여, 다수의 캐시 장치(400) 중 상기 컨텐츠 요청을 전달할 캐시 장치(400)를 선택한다. 이는 S115 단계 내지 S140 단계를 통해서 이루어질 수 있다.Upon receipt of the content request from the terminal device 100, the relay device 300 compares the previously stored content with the previously stored content and maps the requested content to the cache devices 400, The cache device 400 to which the content request is to be transmitted is selected. This can be done through steps S115 to S140.

더 구체적으로 설명하면, 중계 장치(300)는 단말 장치(100)가 요청한 컨텐츠의 컨텐츠 식별 정보를 기 설정된 해쉬 함수를 통해 연산한다(S115).More specifically, the relay apparatus 300 calculates content identification information of the content requested by the terminal device 100 through a predetermined hash function (S115).

그리고 상기 해쉬 연산한 함수를 기 설정된 제1 기준값(Range_Count)으로 모듈러 연산한다(S120). Then, the hash-computed function is modulo-computed with a predetermined first reference value (Range_Count) (S120).

상술한 S120 단계의 모듈러 연산 결과를 해쉬 키값으로 하여, 컨텐츠별 해쉬 키값을 관리하는 컨텐츠 해쉬 테이블을 검색하고, 요청된 컨텐츠를 확인한다(S125). 여기서, 본 발명의 중계 장치(300)는 요청된 컨텐츠의 인기도를 더 확인할 수 있다. 이를 위하여, 본 발명의 중계 장치(300)는 상기 컨텐츠 해쉬 테이블을 검색하여 확인된 컨텐츠가 가장 최근에 요청된 컨텐츠이므로, 인기도 LRU(Least Requested Used) 테이블의 최상위에 기록한다.In step S125, the content hash table managing the hash key value for each content is searched for the modulo operation result of step S120 described above as the hash key value, and the requested content is confirmed. Here, the relay apparatus 300 of the present invention can further confirm the popularity of the requested content. To this end, the relay apparatus 300 of the present invention searches for the content hash table, and the confirmed content is the most recently requested content, so that the popularity is recorded at the top of the Least Requested Used (LRU) table.

그리고, 중계 장치(300)는 요청된 컨텐츠의 인기도가 지정된 레벨 이상인지를 확인한다(S130). 더 구체적으로, 중계 장치(300)는 인기도 LRU 테이블을 확인하여, 요청된 컨텐츠가 기준 레벨 이상의 인기도를 갖는 것인지를 확인한다.Then, the relay apparatus 300 confirms whether the popularity of the requested content is equal to or higher than a specified level (S130). More specifically, the relay apparatus 300 checks the popularity LRU table to confirm whether the requested content has a popularity higher than a reference level.

확인 결과, 요청된 컨텐츠가 기준 레벨 이상의 인기도를 갖는 경우, 중계 장치(300)는 기 설정된 순서로 다수의 캐시 장치(400) 중 하나를 선택한다(S135). 예를 들어, 중계 장치(300)는 라운드 로빈 방식에 따라서 캐시 장치(400)를 선택할 수 있다. 이는 요청된 컨텐츠의 요청 빈도가 높은 경우, 다수의 캐시 장치(400)에게 균등하게 분배함으로써, 부하를 분산시키기 위한 선택이다.If it is determined that the requested content has a popularity higher than the reference level, the relay device 300 selects one of the plurality of cache devices 400 in a predetermined order (S135). For example, the relay apparatus 300 can select the cache apparatus 400 according to the round robin scheme. This is a selection for distributing the load evenly by allocating the requested content to the plurality of cache devices 400 when the requested frequency of the requested content is high.

반대로, 요청된 컨텐츠가 기준 레벨 이상의 인기도를 갖지 않은 경우, 중계 장치(300)는 상기 컨텐츠 저장 범위 및 캐시 장치 간의 매핑 정보를 참고하여, 다수의 캐시 장치(400) 중에서, 요청된 컨텐츠에 매핑된 컨텐츠 저장 범위를 갖는 캐시 장치를 선택한다(S140).On the contrary, when the requested content does not have a popularity higher than the reference level, the relay apparatus 300 refers to the mapping information between the content storage range and the cache apparatus, A cache apparatus having a content storage range is selected (S140).

이와 같이, 캐시 장치가 선택되면, 중계 장치(300)는 상기 단말 장치(100)의 컨텐츠 요청이 상기 선택된 캐시 장치(400)로 전송되도록 처리한다(S145). 상기 선택된 캐시 장치(400)로의 전송은, 리다이렉트 방식에 따라서 단말 장치(100)로 선택된 캐시 장치(400)의 IP 주소와 함께 리다이렉션을 요청함에 의해 이루어지거나, 중계 장치(300)가 프록시 서버로서 동작하여 컨텐츠 요청을 직접 선택된 캐시 장치(400)로 전송하는 형태로 이루어질 수 있다.When the cache device is selected, the relay device 300 processes the content request of the terminal device 100 to be transmitted to the selected cache device 400 (S145). The transmission to the selected cache apparatus 400 may be performed by requesting redirection together with the IP address of the cache apparatus 400 selected by the terminal apparatus 100 according to the redirect method or the relay apparatus 300 may operate as a proxy server And transmit the content request directly to the selected cache device 400. [

이와 같은, 중계 장치(300)의 동작을 통해, 다수의 캐시 장치(400)에 적절히 컨텐츠 요청이 분배될 수 있다. 그리고, 상기 다수의 캐시 장치(400)는 컨텐츠 요청 메시지를 수신하면, 요청된 컨텐츠를 추출하여 단말 장치(100)로 전송한다.Through the operation of the relay device 300, a content request can be appropriately distributed to a plurality of cache devices 400. [ Upon receiving the content request message, the plurality of cache devices 400 extract the requested content and transmit the extracted content to the terminal device 100.

이때 트랜스페어런트 캐싱 방식의 경우, 컨텐츠 캐싱이 서비스 수행 중에 실시간으로 이루어지는 것으로서, 이를 위해서 상기 캐시 장치(400)는 컨텐츠의 저장 여부를 더 확인하여야 한다.In this case, in the case of the transparent caching method, content caching is performed in real time during service execution. To this end, the cache apparatus 400 should further check whether content is stored.

도 8은 트랜스페어런트 캐싱 방식이 적용된 캐시 장치(400)에 의해 이루어지는 분산 캐싱을 위한 컨텐츠 전송 서비스 방법을 나타낸 순서도이다.8 is a flowchart illustrating a content transmission service method for distributed caching performed by the cache apparatus 400 to which the transparent caching scheme is applied.

도 8을 참조하면, 캐시 장치(400)는 상술한 바와 같이 중계 장치(300)의 개입을 통해서 단말 장치(100)의 컨텐츠 요청을 수신할 수 있다(S205).Referring to FIG. 8, the cache apparatus 400 may receive a content request of the terminal device 100 through the intervention of the relay apparatus 300 as described above (S205).

그리고, 캐시 장치(400)는 컨텐츠 요청을 수신하면, 요청된 컨텐츠를 자신이 저장하고 있는 지를 먼저 확인한다(S210). 여기서, 저장 여부를 확인하는 방식은, 저장된 컨텐츠의 URL과 상기 요청된 컨텐츠의 URL을 비교하는 방식, 요청된 컨텐츠의 일부 데이터(예를 들어, Prefix 데이터)를 수신하여, 수신된 데이터를 비교하는 방식, 이들을 조합한 방식 등 다양한 방식이 이용될 수 있다.Upon receiving the content request, the cache apparatus 400 first confirms whether the requested content is stored (S210). Here, the method of confirming whether or not to store the content may include a method of comparing the URL of the stored content with the URL of the requested content, a method of receiving a part of the requested content (e.g., Prefix data) Method, or a combination thereof may be used.

확인 결과, 요청된 컨텐츠를 저장하고 있는 경우, 앞서 설명한 바와 같이, 캐시 장치(400)는 저장된 컨텐츠를 단말 장치(100)로 전송한다(S230).As a result, if the requested content is stored, the cache device 400 transmits the stored content to the terminal device 100 (S230), as described above.

반면에, 요청된 컨텐츠를 저장하고 있지 않은 경우, 캐시 장치(400)는 상기 수신한 컨텐츠 요청을 원본 서버인 컨텐츠 제공 장치(400)로 전송한다(S215).On the other hand, if the requested content is not stored, the cache apparatus 400 transmits the received content request to the content providing apparatus 400 as a source server (S215).

이에 컨텐츠 제공 장치(400)로부터 요청된 컨텐츠가 단말 장치(100)로 전송되면, 상기 캐시 장치(400)는 컨텐츠 제공 장치(400)로부터 전송된 컨텐츠를 복사하여 저장하고, 아울러 상기 컨텐츠가 단말 장치(100)로 전송되도록 처리할 수 있다(S225). 이렇게 저장된 컨텐츠는 다음 번 컨텐츠 요청 시 해당 단말 장치로 제공되도록 이용될 수 있다.When the content requested by the content providing apparatus 400 is transmitted to the terminal apparatus 100, the cache apparatus 400 copies and stores the content transmitted from the content providing apparatus 400, (Step S225). The stored contents can be used to be provided to the corresponding terminal device in the next content request.

마지막으로, 도 9는 본 발명에 따른 중앙 관리 장치에서의 분산 캐싱을 위한 컨텐츠 전송 서비스 방법을 나타낸 순서도이다.Finally, FIG. 9 is a flowchart illustrating a content transmission service method for distributed caching in the central management apparatus according to the present invention.

도 9를 참조하면, 상기 중앙 관리 장치(500)는, 다수의 캐시 장치(400)와 컨텐츠 저장 범위에 대한 매핑 정보, 그리고, 다수의 캐시 장치(400)들의 컨텐츠 저장 범위의 변경 사항에 대한 히스토리 정보를 저장한다(S305).Referring to FIG. 9, the central management apparatus 500 includes mapping information on a plurality of cache devices 400 and content storage ranges, and a history of changes in content storage ranges of a plurality of cache devices 400 Information is stored (S305).

그리고, 상기 중앙 관리 장치(500)는 본 발명에 따른 컨텐츠 전송 시스템에 있어서, 다수의 캐시 장치(400)를 모니터링하여, 캐시 장치(400)의 대수에 변동이 발생하는 지를 확인한다(S310).In the content transmission system according to the present invention, the central management unit 500 monitors a plurality of cache devices 400 and determines whether a change occurs in the number of cache devices 400 (S310).

확인 결과, 새로운 캐시 장치가 증설되는 경우(S315), 중앙 관리 장치(500)는 현재 동작하는 캐시 장치(400)들의 컨텐츠 저장 범위를 나누어 상기 새로운 캐시 장치에 분산하기 위해, 현재 동작중인 캐시 장치(400)들의 수와 상기 새로운 캐시 장치의 저장 용량 등을 고려하여, 다수의 캐시 장치(400)로부터 새로운 캐시 장치로 분배할 분산 단위를 산출한다(S320).As a result, when a new cache apparatus is added (S315), the central management apparatus 500 divides the content storage range of the currently operating cache apparatuses 400 and distributes the content storage range to the new cache apparatus, 400, and the storage capacity of the new cache apparatus, the distributed unit to be distributed from the plurality of cache apparatuses 400 to the new cache apparatus is calculated (S320).

그리고, 중앙 관리 장치(500)는 다수의 캐시 장치(400)의 컨텐츠 저장 범위 중에, 상기 산출된 분산 단위만큼을 컨텐츠 분산 범위로 추출한다(S325). 특히, 상기 중앙 관리 장치(500)는 다수 캐시 장치(400)의 컨텐츠 저장 범위 중 끝부분으로부터 분산 단위만큼의 컨텐츠들을 컨텐츠 분산 범위로 추출한다. In step S325, the central management apparatus 500 extracts the calculated distribution unit from the content storage range of the plurality of cache apparatuses 400 as a content distribution range. In particular, the central management unit 500 extracts contents of a distributed unit from the end of the content storage range of the multiple cache devices 400 as a content distribution range.

중앙 관리 장치(500)는 다수의 캐시 장치(400)의 컨텐츠 저장 범위로부터 추출된 각 컨텐츠 분산 범위를 새로 증설된 캐시 장치에 배정하여 설정한다(S330).The central management apparatus 500 allocates each content distribution range extracted from the content storage range of the plurality of cache apparatuses 400 to the newly added cache apparatus and sets the content distribution range (S330).

반대로, 다수의 캐시 장치(400) 중 감축이 발생한 경우, 감축되는 캐시 장치(400)에 설정된 컨텐츠 저장 범위를 나머지 캐시 장치들(400)의 수 및 저장 용량을 고려하여 나누어, 다수의 컨텐츠 분산 범위로 분할한다(S335). On the contrary, when a reduction occurs among a plurality of cache devices 400, the content storage range set in the cache device 400 to be reduced is divided according to the number of remaining cache devices 400 and the storage capacity, (S335).

그리고, 균등 분할된 컨텐츠 분산 범위를 나머지 캐시 장치(400)들 중 하나 이상에 추가 배정한다(S340).Then, the uniform distribution of content distribution is further allocated to one or more of the remaining cache devices 400 (S340).

이와 같이, 캐시 장치(400)들간의 컨텐츠 저장 범위가 변경되면, 중앙 관리 장치(500)는 컨텐츠 저장 범위의 변경사항을 반영하여 상기 다수의 캐시 장치(400)와 컨텐츠 저장 범위에 대한 매핑 정보를 변경한다(S345).When the content storage range of the cache devices 400 is changed, the central management unit 500 reflects the change of the content storage range and stores the mapping information for the content storage range with the plurality of cache devices 400 (S345).

그리고, 변경된 매핑 정보를 하나 이상의 중계 장치(300)로 전송하여, 중계 장치(300)가 변경된 매핑 정보를 기반으로 동작하도록 한다(S350). 트랜스페어런트 캐싱 방식의 경우, 상기 변경된 매핑 정보를 기반으로 중계 장치(300)가 컨텐츠 요청을 다수 캐시 장치(400)에 분배함에 의하여, 상기 다수의 캐시 장치(400)에는 변경된 매핑 정보에 대응하는 컨텐츠가 도 7과 같은 처리를 통해 저장된다.Then, the changed mapping information is transmitted to the one or more relay apparatuses 300 so that the relay apparatus 300 operates based on the changed mapping information (S350). In the case of the transparent caching scheme, the relay apparatus 300 distributes the content request to the plurality of cache apparatuses 400 based on the changed mapping information, and thereby, the plurality of cache apparatuses 400 receive the content corresponding to the changed mapping information Is stored through the processing as shown in Fig.

반대로, 트랜스페어런트 캐싱 방식이 아닌 경우, 상기 중앙 관리 장치(500)는 상기 변경된 매핑 정보에 따라서, 컨텐츠를 다수의 캐시 장치(400)에 다시 분배 전송하는 기능을 더 수행할 수 있다. 즉, 중앙 관리 장치(500)는 변경된 매핑 정보에 맞추어, 다수의 캐시 장치(400)가 컨텐츠 분산 범위에 대응하는 컨텐츠를 다른 캐시 장치로 전송하거나, 삭제하거나, 다른 캐시 장치로부터 수신하여 저장하도록 제어할 수 있다. 상기 다수 캐시 장치(400) 간의 컨텐츠 이동은, 캐시 장치(400) 간의 직접 통신을 통해 이루어질 수 도 있고, 중계 장치(300)를 통해서 이루어질 수 도 있으며, 상기 중앙 관리 장치(500)를 통해서 이루어질 수 도 있다.On the contrary, when the method is not the transparency caching method, the central management unit 500 may further perform a function of distributing contents to the plurality of cache devices 400 according to the changed mapping information. That is, the central management apparatus 500 controls the plurality of cache devices 400 to transmit, delete, or receive contents corresponding to the content distribution range to or from another cache device in accordance with the changed mapping information can do. The content transfer between the plurality of cache devices 400 may be performed through direct communication between the cache devices 400 or may be performed through the relay device 300, There is also.

도 10 및 도 11은 본 발명에 따른 분산 캐싱을 위한 컨텐츠 전송 서비스에 있어서, 캐시 장치의 대수 변동에 따른 캐시 장치 간 컨텐츠 저장 범위 변동 과정을 설명하기 위한 모식도이다.FIG. 10 and FIG. 11 are schematic diagrams illustrating a process of changing a content storage range between cache devices according to the logarithmic variation of cache devices in the content transfer service for distributed caching according to the present invention.

도 10은 캐시 장치(400)의 증설에 따른 컨텐츠의 분산 과정을 예시한 도면으로서, 하나의 캐시 장치(S1)에 컨텐츠 1~9, A~I를 저장하는 것으로 컨텐츠 저장 범위가 설정된 상태에서, 캐시 장치(S2)가 더 증설되는 경우, 상기 컨텐츠 저장 범위 중 1/2에 해당하는 9개의 컨텐츠 A~I가 새로운 캐시 장치(S2)에 분배된다.FIG. 10 is a diagram illustrating a distribution process of contents according to the extension of the cache apparatus 400, wherein contents 1 to 9 and A to I are stored in one cache apparatus S1, When the cache apparatus S2 is further expanded, nine contents A to I corresponding to 1/2 of the contents storage range are distributed to the new cache apparatus S2.

여기에, 다시 캐시 장치(S3)가 증설되는 경우, 전체 18 개의 컨텐츠를 세 개의 캐시 장치로 분산 캐싱하여야 하므로, 캐시 장치별로 6개의 컨텐츠를 저장할 수 있다. 따라서, 캐시 장치(S1, S2)로부터 각각 3 개의 컨텐츠 7~9, G~I를 추출하여 새로운 캐시 장치(S3)에 분배한다.If the cache device S3 is added again, all 18 contents must be distributed to three cache devices. Therefore, six contents can be stored for each cache device. Therefore, three contents 7 to 9 and G to I are respectively extracted from the cache apparatuses S1 and S2 and distributed to the new cache apparatus S3.

또한, 다시 캐시 장치(S4)가 증설되면, 전체 18개의 컨텐츠를 4개의 캐시 장치로 분산 캐싱하여야 하므로, 캐시 장치(S1, S2)로부터 각각 하나의 컨텐츠 6, F를 추출하고, 캐시 장치(S3)로부터 두 개의 컨텐츠 H, I를 추출하여 새로운 캐시 장치(S4)에 배분한다.In addition, when the cache device S4 is again installed, all 18 contents are distributed to four cache devices. Therefore, one content 6 and F are extracted from the cache devices S1 and S2, , And distributes the extracted contents H and I to the new cache apparatus S4.

따라서, 캐시 장치의 증설 시, 원래의 캐시 장치는 자신에게 설정된 컨텐츠 저장 범위를 최대한 유지하면서, 컨텐츠 분산이 이루어질 수 있다.Therefore, when the cache apparatus is added, the original cache apparatus can distribute contents while maintaining the maximum content storage range set for itself.

한편, 도 11은 캐시 장치(400)가 감소되는 경우의 컨텐츠 분산 과정을 예시한 도면으로서, 6 개의 캐시 장치에서 단계적으로 하나씩 감소되는 경우를 나타낸다.Meanwhile, FIG. 11 is a diagram illustrating a content distribution process when the cache apparatus 400 is reduced, and shows a case where the cache apparatuses 400 are decremented step by step in six cache apparatuses.

도 11을 참조하면, 6개의 캐시 장치(S1~S6)이 각각 3개씩의 컨텐츠를 저장하고 있는 상태에서, 캐시 장치(S1)가 장애 등에 의하여 제거되는 경우, 상기 캐시 장치(S1)에서 저장하던 컨텐츠 1,2,3은 각각 캐시 장치(S2, S3, S4)에 하나씩 분배된다.11, when six cache devices S1 to S6 store three contents, respectively, when the cache device S1 is removed due to a failure or the like, The contents 1, 2, and 3 are distributed to the cache devices S2, S3, and S4, respectively.

이후 다시 캐시 장치(S6)가 제거되는 경우, 상기 캐시 장치(S6)에 저장된 컨텐츠 4, D, G는 각각 하나씩 캐시 장치(S2, S3, S5)에 분배된다.When the cache device S6 is removed again, the contents 4, D, and G stored in the cache device S6 are distributed to the cache devices S2, S3, and S5, respectively.

그리고, 다시 캐시 장치(S3)이 제거되는 경우, 상기 캐 장치(S3)에 저장된 컨텐츠 7~9, 2, G는 캐시 장치(S2, S4, S5)에 분배된다.When the cache device S3 is removed again, the contents 7 to 9, 2, and G stored in the cache device S3 are distributed to the cache devices S2, S4, and S5.

마찬가지로, 상술한 과정을 통해 캐시 장치(S3)가 감소되는 경우도, 남아있는 캐시 장치(S3)의 컨텐츠 저장 범위는 그대로 유지되면서 컨텐츠 분산이 적절히 이루어질 수 있게 된다.Likewise, in the case where the cache apparatus S3 is reduced through the above-described process, the content storage range of the remaining cache apparatus S3 remains unchanged, and content distribution can be properly performed.

본 발명에 따른 컨텐츠 전송 서비스 방법은 다양한 컴퓨터 수단을 통하여 판독 가능한 소프트웨어 형태로 구현되어 컴퓨터로 판독 가능한 기록매체에 기록될 수 있다. 여기서, 기록매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 기록매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 예컨대 기록매체는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(Magnetic Media), CD-ROM(Compact Disk Read Only Memory), DVD(Digital Video Disk)와 같은 광 기록 매체(Optical Media), 플롭티컬 디스크(Floptical Disk)와 같은 자기-광 매체(Magneto-Optical Media), 및 롬(ROM), 램(RAM, Random Access Memory), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치를 포함한다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함할 수 있다. 이러한 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.The content transmission service method according to the present invention can be implemented in a form of software readable by various computer means and recorded in a computer-readable recording medium. Here, the recording medium may include program commands, data files, data structures, and the like, alone or in combination. Program instructions to be recorded on a recording medium may be those specially designed and constructed for the present invention or may be available to those skilled in the art of computer software. For example, the recording medium may be an optical recording medium such as a magnetic medium such as a hard disk, a floppy disk and a magnetic tape, a compact disk read only memory (CD-ROM), a digital video disk (DVD) Includes a hardware device that is specially configured to store and execute program instructions such as a magneto-optical medium such as a floppy disk and a ROM, a random access memory (RAM), a flash memory, do. Examples of program instructions may include machine language code such as those generated by a compiler, as well as high-level language code that may be executed by a computer using an interpreter or the like. Such a hardware device may be configured to operate as one or more software modules to perform the operations of the present invention, and vice versa.

아울러, 본 발명에 따른 장치에 탑재되고 본 발명에 따른 방법을 실행하는 컴퓨터 프로그램(프로그램, 소프트웨어, 소프트웨어 어플리케이션, 스크립트 혹은 코드로도 알려져 있음)은 컴파일 되거나 해석된 언어나 선험적 혹은 절차적 언어를 포함하는 프로그래밍 언어의 어떠한 형태로도 작성될 수 있으며, 독립형 프로그램이나 모듈, 컴포넌트, 서브루틴 혹은 컴퓨터 환경에서 사용하기에 적합한 다른 유닛을 포함하여 어떠한 형태로도 전개될 수 있다. 컴퓨터 프로그램은 파일 시스템의 파일에 반드시 대응하는 것은 아니다. 프로그램은 요청된 프로그램에 제공되는 단일 파일 내에, 혹은 다중의 상호 작용하는 파일(예컨대, 하나 이상의 모듈, 하위 프로그램 혹은 코드의 일부를 저장하는 파일) 내에, 혹은 다른 프로그램이나 데이터를 보유하는 파일의 일부(예컨대, 마크업 언어 문서 내에 저장되는 하나 이상의 스크립트) 내에 저장될 수 있다. 컴퓨터 프로그램은 하나의 사이트에 위치하거나 다수의 사이트에 걸쳐서 분산되어 통신 네트워크에 의해 상호 접속된 다중 컴퓨터나 하나의 컴퓨터 상에서 실행되도록 전개될 수 있다.In addition, computer programs (also known as programs, software, software applications, scripts, or code) that are embedded in an apparatus in accordance with the present invention and that perform the methods of the present invention include compiled or interpreted languages, a priori or procedural languages , And may be deployed in any form including standalone programs or modules, components, subroutines, or other units suitable for use in a computer environment. A computer program does not necessarily correspond to a file in the file system. The program may be stored in a single file provided to the requested program, or in multiple interactive files (e.g., a file storing one or more modules, subprograms, or portions of code) (E.g., one or more scripts stored in a markup language document). A computer program may be deployed to run on multiple computers or on one computer, located on one site or distributed across multiple sites and interconnected by a communications network.

이상과 같이, 본 명세서와 도면에는 본 발명의 바람직한 실시 예에 대하여 개시하였으나, 여기에 개시된 실시 예외에도 본 발명의 기술적 사상에 바탕을 둔 다른 변형 예들이 실시 가능하다는 것은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 자명한 것이다. 또한, 본 명세서와 도면에서 특정 용어들이 사용되었으나, 이는 단지 본 발명의 기술 내용을 쉽게 설명하고 발명의 이해를 돕기 위한 일반적인 의미에서 사용된 것이지, 본 발명의 범위를 한정하고자 하는 것은 아니다.While the present invention has been described in connection with what is presently considered to be practical exemplary embodiments, it is to be understood that the invention is not limited to the disclosed embodiments, but, on the contrary, It will be apparent to those skilled in the art. Furthermore, although specific terms are used in this specification and the drawings, they are used in a generic sense only to facilitate the description of the invention and to facilitate understanding of the invention, and are not intended to limit the scope of the invention.

따라서 본 발명의 범위는 설명된 실시 예에 의하여 정할 것이 아니고 특허청구범위에 의해 정하여져야 한다.Therefore, the scope of the present invention should not be limited by the described embodiments but should be defined by the claims.

본 발명의 분산 캐싱을 위한 컨텐츠 전송 서비스 방법 및 중계 장치에 의하면, 중계 장치를 통해서, 컨텐츠 제공 장치에서 단말 장치로 제공하고자 하는 다수의 컨텐츠를 통신망에 배치된 다수의 캐시 장치에 분산 캐싱하고, 다수의 캐시 장치에서 상기 다수의 컨텐츠에 대한 요청을 분산 처리할 수 있도록 함으로써, 캐시 사이즈를 논리적으로 증가시킬 수 있으며, 캐시 사이즈의 증가를 통해서 롱테일한 서비스 패턴을 갖는 컨텐츠에 대해서도 CDN 서비스를 지원받도록 할 수 있다.According to a content transmission service method and a relay apparatus for distributed caching of the present invention, a plurality of contents to be provided from a content providing apparatus to a terminal apparatus are distributed cached to a plurality of cache apparatuses arranged in a communication network through a relay apparatus, It is possible to logically increase the cache size by distributing the requests for the plurality of contents in the cache apparatus of the server 200. The CDN service is also supported for the contents having the long service pattern through the increase of the cache size .

특히, 본 발명은 서로 다른 곳에 위치한 캐시 장치들을 효율적으로 이용함으로써, 큰 비용 추가 없이 CDN의 서비스 품질을 향상시킬 수 있는 우수한 효과가 있다.In particular, the present invention has an excellent effect of improving the quality of service of a CDN without adding a large cost by efficiently using cache devices located at different locations.

또한, 본 발명은 해쉬 알고리즘을 이용하여 생성된 키값을 기반으로 컨텐츠와 캐시 장치를 효율적으로 매핑하여 관리하고, 분산 캐싱에 있어서 캐시 장치의 증설 혹은 감축에 따른 다수 캐시 장치 간 컨텐츠 이동을 효율적으로 관리할 수 있다.In addition, the present invention efficiently manages and manages content and cache devices based on key values generated by using a hash algorithm, efficiently manages content movement among a plurality of cache devices due to expansion or reduction of cache devices in distributed caching can do.

10: 통신망
100: 단말 장치
200: 컨텐츠 제공 장치
300: 중계 장치
400: 캐시 장치
500: 중앙 관리 장치
10: Network
100: terminal device
200: Content providing device
300: Relay device
400: cache device
500: central management unit

Claims (11)

단말 장치 및 다수의 캐시 장치 중 하나 이상과 통신하기 위한 통신 인터페이스부;
컨텐츠별 해쉬 키를 관리하는 컨텐츠 해쉬 테이블과 상기 다수의 캐시 장치를 매핑한 매핑 정보를 저장하는 저장부;
상기 단말 장치의 컨텐츠 요청을 수신하면, 요청된 컨텐츠의 컨텐츠 식별 정보를 기 설정된 해쉬 알고리즘을 이용하여 연산하고, 상기 연산 결과를 해쉬 키로 하여 컨텐츠별 해쉬 키를 관리하는 컨텐츠 해쉬 테이블을 검색하여, 요청된 컨텐츠를 확인하고, 상기 매핑 정보를 기준으로 요청된 컨텐츠를 처리할 캐시 장치를 선택하여, 선택한 캐시 장치에서 상기 컨텐츠 요청을 처리하도록 제어하는 중계 제어부를 포함하는 분산 캐싱을 위한 중계 장치.
A communication interface for communicating with at least one of a terminal device and a plurality of cache devices;
A storage unit for storing a content hash table for managing a content-based hash key and mapping information mapping the plurality of cache devices;
Upon receiving the content request of the terminal, the content identification information of the requested content is calculated using a predetermined hash algorithm, the content hash table managing the hash key for each content by using the calculation result as a hash key, And selecting a cache apparatus to process the requested content on the basis of the mapping information and controlling the selected cache apparatus to process the content request.
제1항에 있어서, 상기 중계 제어부는
요청된 컨텐츠의 인기도를 확인하고, 확인된 인기도가 기준 레벨 이상이면, 상기 다수의 캐시 장치 중 하나의 캐시 장치를 기 설정된 순서에 따라서 순차적으로 선택하는 것을 특징으로 하는 분산 캐싱을 위한 중계 장치.
The apparatus of claim 1, wherein the relay control unit
And sequentially selects one cache device of the plurality of cache devices according to a predetermined order if the determined popularity is equal to or higher than a reference level.
제1항에 있어서,
상기 해쉬 키는, 상기 컨텐츠 식별 정보를 기 설정된 해쉬 함수로 해쉬 연산한 후, 해쉬 연산 결과를 제1 기준값으로 모듈러 연산한 결과값인 것을 특징으로 하는 분산 캐싱을 위한 중계 장치.
The method according to claim 1,
Wherein the hash key is a result obtained by performing a hash operation on the content identification information with a predetermined hash function and a modulo operation on a hash operation result with a first reference value.
제1항에 있어서, 상기 중계 제어부는
상기 단말 장치가 상기 선택한 캐시 장치로 컨텐츠 요청 메시지를 전송하도록, 상기 통신 인터페이스부를 통해서 상기 단말 장치에 상기 선택한 캐시 장치로의 리다이렉션을 요청하는 것을 특징으로 하는 분산 캐싱을 위한 중계 장치.
The apparatus of claim 1, wherein the relay control unit
The redirection to the selected cache device is requested to the terminal device through the communication interface so that the terminal device transmits a content request message to the selected cache device.
제1항에 있어서, 상기 중계 제어부는
상기 통신 인터페이스부를 통해서, 상기 선택한 캐시 장치로 상기 단말 장치의 컨텐츠 요청을 직접 전송하는 것을 특징으로 하는 분산 캐싱을 위한 중계 장치.
The apparatus of claim 1, wherein the relay control unit
And transmits the content request of the terminal apparatus directly to the selected cache apparatus through the communication interface unit.
제1항에 있어서, 상기 중계 제어부는
중앙 관리 장치로부터 상기 다수의 캐시 장치의 대수 변동에 따라 컨텐츠 해쉬 테이블과 다수의 캐시 장치간의 매핑 정보를 상기 통신 인터페이스부로부터 수신하여, 상기 저장부의 매핑 정보를 변경하는 것을 특징으로 하는 분산 캐싱을 위한 중계 장치.
The apparatus of claim 1, wherein the relay control unit
And the mapping information of the storage unit is changed by receiving mapping information between the content hash table and the plurality of cache devices from the communication interface unit according to the logarithmic variation of the plurality of cache devices from the central management device Relay device.
제1항에 있어서,
상기 중계 장치는 상기 다수의 캐시 장치 중 어느 하나와 매핑되어 하나의 서버로 구현되는 것을 특징으로 하는 분산 캐싱을 위한 중계 장치.
The method according to claim 1,
Wherein the relay device is mapped to any one of the plurality of cache devices and implemented as one server.
제1항에 있어서,
상기 중계 장치는 상기 단말 장치와 상기 캐시 장치들 사이에 배치되는 프록시 서버로 구현되는 것을 특징으로 하는 분산 캐싱을 위한 중계 장치.
The method according to claim 1,
Wherein the relay device is implemented as a proxy server disposed between the terminal device and the cache devices.
중계 장치가,
단말 장치의 컨텐츠 요청 메시지를 수신하는 단계;
상기 컨텐츠 요청 메시지에 포함된 요청 컨텐츠의 컨텐츠 식별 정보를 기 설정된 해쉬 알고리즘을 이용하여 연산하는 단계;
상기 연산 결과값을 해쉬 키로 하여, 컨텐츠 별 해쉬 키를 관리하는 컨텐츠 해쉬 테이블을 검색하여 요청된 컨텐츠를 확인하는 단계;
상기 컨텐츠 해쉬 테이블과 다수 캐시 장치 간의 매핑 정보를 기반으로, 상기 요청된 컨텐츠를 처리할 캐시 장치를 상기 다수 캐시 장치 중에서 선택하는 제1 선택 단계;
상기 선택한 캐시 장치가 상기 요청된 컨텐츠를 처리하도록 제어하는 단계를 포함하는 분산 캐싱을 위한 컨텐츠 전송 서비스 방법.
The relay device,
Receiving a content request message of the terminal device;
Calculating content identification information of the requested content included in the content request message using a predetermined hash algorithm;
Searching the content hash table for managing the content-based hash key by using the operation result value as a hash key, and confirming the requested content;
A first selection step of selecting, from among the plurality of cache devices, a cache device to process the requested content based on mapping information between the content hash table and a plurality of cache devices;
And controlling the selected cache device to process the requested content.
제9항에 있어서, 상기 제어하는 단계 이전에,
상기 요청된 컨텐츠의 인기도를 확인하는 단계;
상기 요청된 컨텐츠의 인기도가 기준 레벨 이상이면, 기 설정된 순서에 따라서 상기 다수의 캐시 장치 중 하나를 선택하는 제2 선택 단계를 더 포함하는 것을 특징으로 하는 분산 캐싱을 위한 컨텐츠 전송 서비스 방법.
10. The method of claim 9,
Confirming the popularity of the requested content;
Further comprising a second selection step of selecting one of the plurality of cache devices according to a predetermined order if the popularity of the requested content is higher than a reference level.
제9항에 있어서, 상기 제어하는 단계는,
상기 선택한 캐시 장치로 상기 컨텐츠 요청을 리다이렉션하도록 상기 단말 장치에 요청하거나, 상기 선택한 캐시 장치로 상기 컨텐츠 요청을 직접 전송하는 것을 특징으로 하는 분산 캐싱을 위한 컨텐츠 전송 서비스 방법.
10. The method of claim 9,
Requesting the terminal device to redirect the content request to the selected cache device, or directly transmitting the content request to the selected cache device.
KR20130085418A 2013-07-19 2013-07-19 Contents delivery network service method and broker apparatus for distributed caching KR20150010415A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR20130085418A KR20150010415A (en) 2013-07-19 2013-07-19 Contents delivery network service method and broker apparatus for distributed caching

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR20130085418A KR20150010415A (en) 2013-07-19 2013-07-19 Contents delivery network service method and broker apparatus for distributed caching

Publications (1)

Publication Number Publication Date
KR20150010415A true KR20150010415A (en) 2015-01-28

Family

ID=52482255

Family Applications (1)

Application Number Title Priority Date Filing Date
KR20130085418A KR20150010415A (en) 2013-07-19 2013-07-19 Contents delivery network service method and broker apparatus for distributed caching

Country Status (1)

Country Link
KR (1) KR20150010415A (en)

Similar Documents

Publication Publication Date Title
US10798203B2 (en) Method and apparatus for reducing network resource transmission size using delta compression
US20200084268A1 (en) Content distribution network
US10341700B2 (en) Dynamic binding for use in content distribution
US10182127B2 (en) Application-driven CDN pre-caching
US11044335B2 (en) Method and apparatus for reducing network resource transmission size using delta compression
KR101330052B1 (en) Method for providing content caching service in adapted content streaming and local caching device thereof
CN102882939B (en) Load balancing method, load balancing equipment and extensive domain acceleration access system
CN106031130A (en) Content delivery network architecture with edge proxy
KR101436049B1 (en) Method for providing content caching service and local caching device thereof
US11159642B2 (en) Site and page specific resource prioritization
CN109873855A (en) A kind of resource acquiring method and system based on block chain network
KR20150011087A (en) Distributed caching management method for contents delivery network service and apparatus therefor
KR101574074B1 (en) Cloud cdn system and contents providing method using the same
US10341454B2 (en) Video and media content delivery network storage in elastic clouds
CN109716731A (en) For providing the system and method for functions reliably and efficiently data transmission
CN115883657A (en) Cloud disk service accelerated scheduling method and system
KR20150010415A (en) Contents delivery network service method and broker apparatus for distributed caching
KR101969869B1 (en) Private caching network system and method for providing private caching service
KR20190119497A (en) Offering system for large scale multi vod streaming service based on distributed file system and method thereof
KR20130134911A (en) Method for providing content caching service in adapted streaming service and local caching device thereof
US20200402115A1 (en) Serving an Online Advertisement Asynchronously
CN108574714B (en) Internet resource acquisition method and device and internet cache system
JP2008293281A (en) Cache device, server, cache system, cache method, and program

Legal Events

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