[go: up one dir, main page]

KR101381199B1 - Method and System for Content Delivery and Caching - Google Patents

Method and System for Content Delivery and Caching Download PDF

Info

Publication number
KR101381199B1
KR101381199B1 KR1020110095924A KR20110095924A KR101381199B1 KR 101381199 B1 KR101381199 B1 KR 101381199B1 KR 1020110095924 A KR1020110095924 A KR 1020110095924A KR 20110095924 A KR20110095924 A KR 20110095924A KR 101381199 B1 KR101381199 B1 KR 101381199B1
Authority
KR
South Korea
Prior art keywords
content
entity
chunk
chunks
host
Prior art date
Legal status (The legal status 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 status listed.)
Expired - Fee Related
Application number
KR1020110095924A
Other languages
Korean (ko)
Other versions
KR20130032175A (en
Inventor
조기덕
이문영
박건우
권태경
최양희
Original Assignee
서울대학교산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 서울대학교산학협력단 filed Critical 서울대학교산학협력단
Priority to KR1020110095924A priority Critical patent/KR101381199B1/en
Publication of KR20130032175A publication Critical patent/KR20130032175A/en
Application granted granted Critical
Publication of KR101381199B1 publication Critical patent/KR101381199B1/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/462Content or additional data management, e.g. creating a master electronic program guide from data received from the Internet and a Head-end, controlling the complexity of a video stream by scaling the resolution or bit-rate based on the client capabilities
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/433Content storage operation, e.g. storage operation in response to a pause request, caching operations

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Databases & Information Systems (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Tourism & Hospitality (AREA)
  • General Health & Medical Sciences (AREA)
  • Economics (AREA)
  • 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)
  • Theoretical Computer Science (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

본 발명은 청크 분산 알고리즘을 이용하여 컨텐츠를 전달하는 방법 및 시스템이다. 본 발명에서는, 컨텐츠를 전달하는 컨텐츠전달시스템에서, 엔티티를 하나 이상 포함하는 네트워크를 통해, 호스트로 컨텐츠를 전달하는 방법에 있어서, 상기 컨텐츠를 저장하는 엔티티로부터 상기 호스트로 상기 컨텐츠를 전달하는 단계, 및상기 컨텐츠의 인기도에 따라, 다른 엔티티로 상기 컨텐츠를 분산하는 단계를 포함이로 인해, 컨텐츠를 효과적으로 전달할 수 있다.The present invention is a method and system for delivering content using a chunk distribution algorithm. In the present invention, in a content delivery system for delivering content, in a method for delivering content to a host via a network including one or more entities, delivering the content from the entity storing the content to the host, And distributing the content to another entity according to the popularity of the content, thereby effectively delivering the content.

Description

컨텐츠 전달 및 캐싱 방법과 이를 위한 시스템{Method and System for Content Delivery and Caching}Content delivery and caching method and system for same {Method and System for Content Delivery and Caching}

본 발명은 컨텐츠를 전달하는 방법 및 시스템으로서, 보다 구체적으로는 컨텐츠의 인기도에 따라 컨텐츠를 전달하고 분산 (또는 캐싱) 하는 방법 및 시스템이다.The present invention is a method and system for delivering content, and more particularly, a method and system for delivering and distributing (or caching) content according to the popularity of the content.

오늘날, 컨텐츠 요청이 폭발적으로 증가함에 따라 컨텐츠를 효과적으로 서비스하는 것이 중요해지고 있다. 이러한 서비스를 효율적으로 제공하기 위해, CDN (Content Delivery Network) 기법 또는 P2P (Peer to Peer) 기법 등이 대표적인 솔루션으로 제시되었었다.Today, as content requests explode, it is increasingly important to serve content effectively. In order to efficiently provide such a service, a CDN (Content Delivery Network) technique or P2P (Peer to Peer) technique has been suggested as a representative solution.

그러나, P2P 기법의 경우, 인터넷 사업자 (Internet Service Provider; 이하에서는 'ISP' 라 함) 간의 트래픽이 다량으로 발생할 수 있으며, 컨텐츠 유효성 및 다운로드 성능이 불안정해진다는 문제점을 갖는다. 또한, 같은 종류의 컨텐츠를 다운로드하기 위해 중복된 연결이 발생되는 등, 네트워크 자원을 비효율적으로 사용하는 문제점도 있다. 한편, CDN 기법의 경우, 여러 개의 서버를 이용해야 하므로 서비스 비용이 비싸질 수밖에 없으며, 트래픽 엔지니어링 관점에서는 낮은 성능을 갖는 문제점을 갖는다. 따라서, 컨텐츠를 효율적으로 배치함으로써, 네트워크 자원을 효율적으로 사용하고, 사용자의 편의성을 증대시킬 수 있는 개선된 기술이 필요하게 되었다. However, in the case of the P2P scheme, a large amount of traffic between Internet service providers (hereinafter, referred to as 'ISP') may occur, and content validity and download performance may become unstable. In addition, there is a problem in that network resources are inefficiently used, such as a duplicate connection is generated to download the same kind of content. On the other hand, in the case of the CDN scheme, the service cost is inevitably high because several servers must be used, and there is a problem of low performance in terms of traffic engineering. Accordingly, there is a need for an improved technology that can efficiently use network resources and increase user convenience by efficiently placing content.

이러한 필요를 만족시키기 위해, 네트워크 내에 위치하면서 네트워크를 구성하는 네트워크 엔티티 (예를 들어, 라우터) 에 포함된 스토리지 (storage) 를 활용하여, 컨텐츠 복사본을, 복수 개의 엔티티에 위치시키거나, 컨텐츠를 요청하는 말단 호스트들과 가깝게 위치한 엔티티에 위치시켜두는, 정보중심 네트워크 (information-centric network) 기법이 제안되었다. To meet this need, by utilizing the storage contained within a network entity (e.g., a router) constituting the network while in the network, a copy of the content can be placed on a plurality of entities, or a content request can be made. An information-centric network technique has been proposed, which locates entities close to end hosts.

정보중심 네트워크와 관련하여 도 1 을 참조하면, 컨텐츠를 저장하고 있는 컨텐츠 서버 (310) 는, 네트워크 (200) 를 통하여, 호스트 (또는 호스트들 간의 네트워크; 320) 와 연결되고, 네트워크 (200) 는, 스토리지를 포함하거나 부착하고 있는 네트워크 엔티티 (예를 들어, 라우터) 를 포함하고 있다. 정보중심 네트워크 기법에서는, 호스트 (320) 는, 네트워크 엔티티에 포함되거나 부착된 스토리지로부터 컨텐츠 복사본을 획득할 수 있어, 컨텐츠를 빠른 시간 이내에 효과적으로 획득할 수 있다. Referring to FIG. 1 in relation to an information-centric network, a content server 310 that stores content is connected to a host (or network between hosts) 320 via a network 200, and the network 200 is It contains a network entity (eg, a router) that contains or attaches storage. In an information centric network technique, host 320 may obtain a copy of the content from storage included or attached to the network entity, effectively obtaining the content within a short time.

즉, 정보중심 네트워크 기법은, 네트워크 (200) 내에 이미 존재하고 있는 스토리지를 이용하여 컨텐츠 복사본을 호스트에 보다 가깝게 위치시킬 수 있어, 컨텐츠 전달 속도를 높이고 컨텐츠 유효성을 증가시킬 수 있다. That is, the information-centric network technique may use a storage that already exists in the network 200 to place a copy of the content closer to the host, thereby speeding up content delivery and increasing content validity.

다만, 현재까지 제안된 정보중심 네트워크 기법은, 네트워크 엔티티 (또는, 네트워크 엔티티에 포함되거나 부착된 스토리지) 에 컨텐츠를 캐싱할 수 있음을 고려할 뿐 캐싱을 하는 구체적인 방법에 대해 제안하고 있지 않아, 정보중심 네트워크에서 컨텐츠를 네트워크 내에 효과적으로 캐싱할 수 있는 방안의 연구가 필요하다.However, the information-centric network scheme proposed so far does not propose a specific method of caching, considering that it can cache content to a network entity (or storage included or attached to the network entity). In the network, there is a need for a method of effectively caching content in a network.

이와 관련하여, 정보중심 네트워크 기법은, 캐싱 및 분산 기법에 따라, 스토리지 히트율 및 스토리지 활용도와 같은 전체적인 성능이 달라진다. 컨텐츠를 캐싱하기 위해, 상기 컨텐츠를 분산시키는 기존 기법들은, 예를 들어, 트리 또는 계층 구조와 같은 특이한 토폴리지를 가정하거나, 캐시들 간의 협력을 가정하거나, 또는, 컨텐츠 요청 패턴을 사전에 알고 있을 것을 가정하였고, 이러한 가정에 따르면, 정해진 토폴로지를 따라야하거나 사전에 컨텐츠 요청 패턴을 파악해야 하는 등의 제약이 가해지고, 오버헤드가 많이 든다는 문제점이 발생하였다. In this regard, information-centric network schemes vary in overall performance, such as storage hit rates and storage utilization, depending on the caching and distribution schemes. In order to cache content, existing techniques for distributing the content may assume unusual topologies such as, for example, trees or hierarchies, assume cooperation between caches, or know the content request pattern in advance. According to this assumption, there is a problem that a constraint such as having to follow a predetermined topology or grasping a content request pattern in advance is applied, and a lot of overhead occurs.

따라서, 컨텐츠를 효과적으로 캐싱하고 네트워크 내의 스토리지 활용도를 높이는 방법, 즉, 컨텐츠를 효과적으로 전달 및 캐싱/분산시키는 기법이 필요하게 되었다.Therefore, there is a need for a method of effectively caching content and increasing storage utilization in a network, that is, a method of effectively delivering and caching / distributing content.

본 발명은, 컨텐츠를 효과적으로 전달하는 것을 목적으로 한다.An object of the present invention is to effectively deliver content.

또한, 본 발명은, 컨텐츠를 효과적으로 캐싱/분산시키는 것을 목적으로 한다.Moreover, an object of this invention is to cache / distribute content effectively.

또한, 본 발명은 컨텐츠 전달에 따른 지연을 감소시키고, ISP 간 트래픽 량을 감소시키며, 링크들 간의 부하를 밸런싱하는 것을 목적으로 한다.In addition, the present invention aims to reduce the delay caused by content delivery, to reduce the amount of traffic between ISPs, and to balance the load between links.

또한, 본 발명은, 인기도가 높은 컨텐츠를 빠르게 분산시킴으로써 캐시 히트율 (cache hit rate) 을 높이고, 캐시 교체 (cache replacement) 를 감소시키는 것을 목적으로 한다. 나아가 본 발명은, 전체적으로 캐시 사용율을 높이고 캐시 관리에 따른 오버헤드를 감소시키는 것을 목적으로 한다.In addition, the present invention aims to increase cache hit rate and reduce cache replacement by quickly distributing highly popular content. Furthermore, an object of the present invention is to increase the cache utilization rate as a whole and reduce the overhead associated with cache management.

그리고, 본 발명은, 컨텐츠 액세스 패턴을 알 필요없이, 간단한 알고리즘으로 컨텐츠 전달 속도를 높이고 컨텐츠 유효성을 증가시키는 것을 목적으로 한다. 나아가, 본 발명은, 적은 리소스로 신속하게 컨텐츠를 전달하는 것을 목적으로 한다.In addition, the present invention aims to increase the content delivery speed and increase the content validity with a simple algorithm without having to know the content access pattern. Furthermore, an object of the present invention is to deliver content quickly with fewer resources.

또한, 본 발명은, 임의의 라우팅 기법과 부합하여 컨텐츠를 효율적으로 전달하는 것을 목적으로 한다.It is also an object of the present invention to efficiently deliver content in accordance with any routing technique.

그리고, 본 발명은, 각 네트워크 엔티티가 캐싱할 대상 및 캐시 교체할 대상을 독립적으로 결정할 수 있는 것을 목적으로 한다. In addition, an object of the present invention is to allow each network entity to independently determine the object to be cached and the object to be cached.

상기한 바와 같은 목적을 달성하기 위한 본 발명의 특징에 따르면, 컨텐츠를 전달하는 컨텐츠전달시스템에서, 엔티티를 하나 이상 포함하는 네트워크를 통해, 호스트로 컨텐츠를 전달하는 방법에 있어서, 컨텐츠를 저장하는 엔티티로부터, 상기 호스트로 상기 컨텐츠를 전달하는 단계, 및 상기 컨텐츠의 인기도에 따라, 다른 엔티티로 상기 컨텐츠를 분산하는 단계를 포함한다.According to a feature of the present invention for achieving the above object, in a content delivery system for delivering content, in a method for delivering content to a host via a network including one or more entities, the entity for storing the content Delivering the content from the host to the host, and distributing the content to another entity, depending on the popularity of the content.

또한, 본 발명은, 하나 이상의 컨텐츠 청크 (chunk) 로 구성되는 컨텐츠를 전달하는 컨텐츠전달시스템에서, 엔티티를 하나 이상 포함하는 네트워크를 통해, 호스트로 컨텐츠를 전달하는 방법에 있어서, 상기 컨텐츠 청크 중 일부를 저장하는 제 1 엔티티로 컨텐츠 요청을 전달하는 단계, 상기 컨텐츠 요청에 응답하여, 상기 제 1 엔티티로부터 상기 호스트로 상기 저장된 컨텐츠 청크 중 일부를 전달하는 단계, 및 상기 제 1 엔티티로부터 제 2 엔티티로 상기 저장된 컨텐츠 청크 중 일부를 분산하는 단계를 포함하고, 상기 제 1 엔티티는, 상기 컨텐츠를 저장하는 컨텐츠 서버, 또는, 상기 호스트로부터 상기 컨텐츠 서버까지의 상기 컨텐츠 요청을 전달하는 경로 상에 위치하는 엔티티이며, 상기 제 2 엔티티는, 상기 호스트로부터 상기 제 1 엔티티까지의 상기 컨텐츠 요청을 전달하는 경로 상에 위치한 엔티티이다.The present invention also provides a method for delivering content to a host through a network including one or more entities in a content delivery system that delivers content consisting of one or more content chunks, wherein a portion of the content chunks is provided. Forwarding a content request to a first entity that stores a second, in response to the content request, forwarding some of the stored content chunks from the first entity to the host, and from the first entity to a second entity Distributing a portion of the stored content chunks, wherein the first entity is a content server storing the content or an entity located on a path for delivering the content request from the host to the content server. And wherein the second entity is from the host to the first entity An entity located on the line that transmits the contents request.

또한, 본 발명은, 컨텐츠에 포함되는 컨텐츠 청크 (chunk) 를 하나 이상 저장하는 엔티티에서, 상기 엔티티를 포함하는 네트워크를 통해, 상기 엔티티로부터 호스트로 컨텐츠를 전달하는 방법에 있어서, 상기 네트워크를 통해, 상기 저장된 컨텐츠 청크 중 적어도 일부에 대한 요청을 수신하는 단계, 및 상기 요청에 응답하여, 상기 저장된 컨텐츠 청크 중 적어도 일부를 상기 호스트로 전달하는 단계를 포함한다.The present invention also provides a method for delivering content from an entity to a host via a network including the entity in an entity storing one or more content chunks included in the content, via the network, Receiving a request for at least some of the stored content chunks, and in response to the request, delivering at least some of the stored content chunks to the host.

그리고, 본 발명은 컨텐츠를 구성하는 컨텐츠 청크 (chunk) 를 하나 이상 저장하는 제 1 엔티티에서, 상기 제 1 엔티티를 포함하는 네트워크를 통해, 상기 제 1 엔티티로부터 호스트로 상기 컨텐츠를 전달하는 방법에 있어서, 상기 네트워크를 통해 컨텐츠 요청을 수신하는 단계, 및 청크 분산 알고리즘에 기초하여, 상기 컨텐츠를 전달하고 분산하는 단계를 포함한다.In addition, the present invention provides a method for delivering the content from the first entity to the host through a network including the first entity in a first entity storing one or more content chunks constituting content. Receiving a content request over the network, and delivering and distributing the content based on a chunk distribution algorithm.

또한, 본 발명은, 컨텐츠를 요청하는 호스트, 상기 컨텐츠를 저장하는 컨텐츠 서버, 및 상기 컨텐츠 서버와 상기 호스트를 연결하는 네트워크를 포함하는 컨텐츠 전달 시스템으로서, 상기 네트워크는, 상기 컨텐츠를 저장할 수 있는 컨텐츠 저장부를 포함하는 엔티티로 이루어져 있으며, 상기 엔티티는, 저장된 컨텐츠를 상기 호스트로 전달하는 컨텐츠 전달부, 및 상기 컨텐츠의 인기도에 따라, 다른 엔티티로 상기 컨텐츠를 분산하는 컨텐츠 분산부를 더 포함한다.The present invention also provides a content delivery system including a host for requesting content, a content server for storing the content, and a network connecting the content server and the host, wherein the network is a content capable of storing the content. Comprising an entity including a storage unit, the entity further comprises a content delivery unit for delivering the stored content to the host, and a content distribution unit for distributing the content to other entities according to the popularity of the content.

이와 같은 본 발명에 의한 컨텐츠를 전달하는 방법 및 시스템에 따르면 다음과 같은 효과가 있다.According to such a method and system for delivering content according to the present invention, the following effects are obtained.

본 발명은, 컨텐츠를 효과적으로 전달할 수 있고, 컨텐츠를 효과적으로 캐싱/분산시킬 수 있다.The present invention can effectively deliver content and effectively cache / distribute content.

또한, 본 발명은 컨텐츠 전달에 따른 지연을 감소시키고, ISP 간 트래픽 량을 감소시키며, 링크들 간의 부하를 밸런싱할 수 있다.In addition, the present invention can reduce the delay caused by content delivery, reduce the amount of traffic between ISPs, and balance the load between links.

또한, 본 발명은, 인기도가 높은 컨텐츠를 빠르게 분산시킴으로써 캐시 히트율을 높이고, 캐시 교체를 감소시킬 수 있다. 그 결과 본 발명은, 전체적으로 캐시 사용율을 높이고 캐시 관리에 따른 오버헤드를 감소시킬 수 있다.In addition, the present invention can increase the cache hit rate and reduce the cache replacement by quickly distributing the highly popular content. As a result, the present invention can increase cache utilization overall and reduce overhead associated with cache management.

그리고, 본 발명은, 컨텐츠 액세스 패턴을 알 필요없이, 간단한 알고리즘으로 컨텐츠 전달 속도를 높이고 컨텐츠 유효성을 증가시킬 수 있다. 따라서, 본 발명은, 적은 리소스로 신속하게 컨텐츠를 전달할 수 있다.In addition, the present invention can increase content delivery speed and increase content validity with a simple algorithm without having to know content access patterns. Thus, the present invention can deliver content quickly with fewer resources.

또한, 본 발명은, 임의의 라우팅 기법과 부합하여 동작할 수 있다.In addition, the present invention may operate in accordance with any routing technique.

그리고, 본 발명은, 각 네트워크 엔티티는 무엇을 캐싱하고 무엇을 교체할지 여부를 독립적으로 결정할 수 있도록 한다. 따라서, 본 발명은 중앙 집중적인 서버가 존재하지 않아도 효과적으로 컨텐츠를 전달할 수 있다.And, the present invention allows each network entity to independently determine what to cache and what to replace. Therefore, the present invention can effectively deliver content even when there is no central server.

도 1 은 컨텐츠 서버로부터 호스트로, 컨텐츠를 전달되는 모습을 도시한 도면이다.
도 2a 는 컨텐츠를 호스트로 전달하는 컨텐츠전달시스템을 도시한 도면이다.
도 2b 는 컨텐츠전달시스템에 포함되는 네트워크 엔티티의 구성을 나타낸 블럭도이다.
도 3 은 본 발명의 바람직한 일 실시예에 따라 컨텐츠를 인기도에 따라 캐싱하는 네트워크 엔티티의 동작을 나타내는 순서도이다.
도 4 은 본 발명의 바람직한 일 실시예에 따라 컨텐츠를 인기도에 따라 캐싱하는 모습을 도시한 도면이다.
도 5 은 본 발명의 바람직한 일 실시예에 따라, 컨텐츠 청크 i 를 수신한 엔티티의 동작을 나타내는 순서도이다.
도 6a 내지 도 6c 는, 본 발명의 바람직한 일 실시예에 따른 윈도우 상태 및 청크 윈도우를 나타낸 도면이다.
도 7a 내지 도 7d 는, 본 발명의 바람직한 일 실시예에 따라, 컨텐츠를 전달하고 네트워크 엔티티로 분산시키는 모습을 도시한 도면이다.
도 8 내지 도 14 은 본 발명의 바람직한 일 실시예에 따른 성능을 나타낸 도면이다.
1 is a diagram illustrating a state in which content is delivered from a content server to a host.
2A illustrates a content delivery system for delivering content to a host.
2B is a block diagram showing the configuration of a network entity included in a content delivery system.
3 is a flow chart illustrating the operation of a network entity for caching content according to popularity in accordance with one preferred embodiment of the present invention.
4 is a diagram illustrating a content caching according to popularity according to an embodiment of the present invention.
5 is a flowchart illustrating the operation of an entity that has received content chunk i, in accordance with one preferred embodiment of the present invention.
6A to 6C illustrate window states and chunk windows in accordance with one preferred embodiment of the present invention.
7A to 7D are diagrams illustrating how content is delivered and distributed to network entities, in accordance with a preferred embodiment of the present invention.
8 to 14 is a view showing the performance according to an embodiment of the present invention.

이하에서는 본 발명의 실시 예를 도면을 참조하여 상세하게 설명한다. Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.

본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다.Advantages and features of the present invention and methods for achieving them will be apparent with reference to the embodiments described below in detail with the accompanying drawings. The present invention may, however, be embodied in many different forms and should not be construed as limited to the embodiments set forth herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the invention to those skilled in the art. To fully disclose the scope of the invention to those skilled in the art, and the invention is only defined by the scope of the claims.

명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.Like reference numerals refer to like elements throughout the specification.

본 발명의 바람직한 실시 예에서는, 전달하고자 하는 하나의 컨텐츠 파일을 복수개의 청크 (chunk) 로 분할되어 전달될 수 있다. 즉, 예를 들어, 하나의 컨텐츠 파일이 10 개의 청크로 분할되면, 호스트는 컨텐츠 요청에 대해 10 개의 청크를 수신할 수 있다. 하나의 컨텐츠 파일을 청크로 분할하는 방법은 당업자에게 자명하다. 편의상, 도 2a 내지 도 7d 에서는, 호스트가 요청한 컨텐츠는 7 개의 청크로 분할되고, 각 청크마다 식별번호가 할당됨을 가정한다. In a preferred embodiment of the present invention, one content file to be delivered may be divided into a plurality of chunks and delivered. That is, for example, if one content file is divided into 10 chunks, the host may receive 10 chunks for the content request. It is apparent to those skilled in the art how to divide one content file into chunks. For convenience, in FIGS. 2A to 7D, it is assumed that the content requested by the host is divided into seven chunks, and an identification number is assigned to each chunk.

정보중심 네트워크에서는, 네트워크 내에 위치하고 네트워크를 구성하는 엔티티 (예를 들어, 스토리지, 또는 라우터에 부착되거나 포함되는 스토리지, 또는 컨텐츠 서버에 부착되거나 포함되는 스토리지) 로 컨텐츠 파일을 분산하고, 엔티티는 자신에게 분산된 컨텐츠 파일을 캐싱하고, 캐싱된 파일을 호스트의 요청에 따라 호스트로 전달한다.In an information-centric network, content files are distributed among entities located within and constituting the network (e.g., storage or storage attached to or included in a router, or storage attached or included to a content server), and the entity distributes the content files to itself. Cache the distributed content file and deliver the cached file to the host as requested by the host.

본 발명에 따르면, 컨텐츠 청크의 분산 (또는 캐싱) 여부는 컨텐츠의 인기도에 의해 결정된다. 즉, 컨텐츠 요청이 많을수록 인기도가 높은 컨텐츠로 보고 (요청과 인기도는 비례), 인기도가 높은 컨텐츠는, 인기도가 낮은 컨텐츠와 비교하여 상대적으로 네트워크 내의 여러 엔티티로 더 많이 분산 (또는 캐싱) 된다. 이를 통해 컨텐츠 전달 및 스토리지 활용도를 높일 수 있다. According to the present invention, whether to distribute (or cache) content chunks is determined by the popularity of the content. That is, the more content requests, the more popular content (request and popularity are proportional), and the more popular content is more distributed (or cached) to multiple entities in the network relative to the less popular content. This can increase content delivery and storage utilization.

이하에서는, 도 2a 내지 도 7d 를 참조하여, 컨텐츠의 인기도에 따라 컨텐츠를 분산 (또는 캐싱) 하는 방법에 대해 서술한다.Hereinafter, referring to FIGS. 2A to 7D, a method of distributing (or caching) content in accordance with the popularity of the content will be described.

도 2a 에서는 호스트의 컨텐츠 요청에 따라 컨텐츠를 전달하는 컨텐츠전달시스템 (300) 을 도시한다. 컨텐츠전달시스템 (300) 은, 컨텐츠 서버 (310), 네트워크 엔티티 (또는 네트워크 엔티티들의 네트워크; 200) 및 호스트 (또는 호스트들 간의 네트워크; 320) 로 이루어져 있으며, 무선 또는 유선으로 서로 통신 가능하다. 2A illustrates a content delivery system 300 that delivers content in response to a content request from a host. The content delivery system 300 includes a content server 310, a network entity (or a network of network entities; 200), and a host (or a network between hosts; 320), and may communicate with each other wirelessly or by wire.

또한, 네트워크 엔티티 각각은 도 2b 에서 도시된 바와 같이 구성된다. 예를 들어, 네트워크에 포함되는 임의의 네트워크 엔티티 (200) 는, 엔티티 동작제어부 (211), 분산알고리즘 수행부 (212) 및 컨텐츠 저장부 (215) 를 포함한다. 엔티티동작제어부 (211) 는, 엔티티의 동작과 관련된 제반 동작을 수행하며, 예를 들어, 엔티티가 라우터인 경우, 일반적인 라우터에서 수행되는 동작을 수행하기 위해 필요한 구성 모두를 포함하고 상기 동작이 수행되도록 엔티티를 제어를 한다. 한편, 컨텐츠 저장부 (215) 는, 상술된 스토리지로서, 컨텐츠 (또는 컨텐츠 청크) 를 캐싱하며, 특히, 컨텐츠의 인기도에 따라 컨텐츠 (또는 컨텐츠 청크) 를 캐싱할 수 있다. 분산알고리즘수행부 (212) 는 후술되는 청크 분산 알고리즘을 수행한다. 분산알고리즘 수행부 (212) 는 청크 분산 알고리즘을 수행하기 위해, 엔티티가 저장하고 있는 컨텐츠를 다른 엔티티로 전달하는 컨텐츠 전달부 (213), 및 컨텐츠를 다른 엔티티로 분산하는 컨텐츠 분산부 (214) 를 포함한다. In addition, each of the network entities is configured as shown in FIG. 2B. For example, any network entity 200 included in the network includes an entity operation controller 211, a distributed algorithm performer 212, and a content store 215. The entity operation control unit 211 performs all operations related to the operation of the entity. For example, when the entity is a router, the entity operation control unit 211 includes all of the components necessary to perform the operation performed in the general router and to perform the operation. Take control of the entity. Meanwhile, the content storage unit 215 may cache content (or content chunk) as the above-described storage, and in particular, may cache content (or content chunk) according to the popularity of the content. The distributed algorithm performing unit 212 performs a chunk distribution algorithm described below. The distributed algorithm performing unit 212 may include a content delivery unit 213 for delivering content stored by an entity to another entity, and a content distribution unit 214 for distributing the content to another entity, in order to perform a chunk distribution algorithm. Include.

도 3 은 컨텐츠의 인기도에 따라 컨텐츠를 캐싱하는 네트워크 엔티티의 동작을 나타내는 순서도이다. 3 is a flow chart illustrating operation of a network entity caching content in accordance with popularity of the content.

도 3 은 하나의 네트워크 엔티티 (예를 들어, 도 4a의 250) 에서, 컨텐츠의 인기도에 따라 상기 컨텐츠를 캐싱하는 동작을 나타낸다. 본 발명에서는, 앞서 기술된 바와 같이, 컨텐츠 요청이 많을수록 인기도가 높은 컨텐츠로 볼 수 있다 (요청과 인기도는 비례). 동일하게, (컨텐츠 요청에 응답하여) 컨텐츠가 호스트로 많이 전달될수록 상기 컨텐츠는 인기도가 높은 컨텐츠로 볼 수 있으며 이에 착안하여, 해당 네트워크 엔티티에서 컨텐츠의 경유 횟수가 증가할수록 인기도가 높은 컨텐츠로 판단한다. 즉, 네트워크 엔티티는 자신을 경유하는 컨텐츠의 경유횟수에 비례하여 상기 컨텐츠가 인기도가 높다고 판단하고, 인기도가 높을수록 캐싱해두는 (상기 컨텐츠에 포함되는) 컨텐츠 청크의 개수를 증가시킨다. 이후 호스트로부터 컨텐츠 요청을 수신하였을 때, 컨텐츠 서버로 요청을 전달하는 대신, 캐싱하고 있던 컨텐츠 청크를 전달할 수 있다.3 illustrates an operation of caching the content according to the popularity of the content in one network entity (eg, 250 of FIG. 4A). In the present invention, as described above, the more content requests, the more popular content can be viewed (request and popularity proportional). Similarly, as more content is delivered to the host (in response to a content request), the content may be viewed as a highly popular content. Based on this, it is determined that the more popular the content is, the more popular the content is. . That is, the network entity determines that the content has a high popularity in proportion to the number of times of passing through the content, and increases the number of content chunks (included in the content) that are cached as the popularity increases. After receiving the content request from the host, instead of forwarding the request to the content server, the content chunk that was cached can be delivered.

컨텐츠를 구성하는 청크 중 캐싱될 청크는 청크의 식별번호 (i) 에 따라 순차적으로 결정된다. 예를 들어, 도 4a 를 참조하면, 만약 청크가 캐싱된다면 청크1, 청크2,...청크7 의 순서로 캐싱된다. The chunks to be cached among the chunks constituting the content are sequentially determined according to the identification number (i) of the chunk. For example, referring to FIG. 4A, if chunks are cached, they are cached in the order of chunk 1, chunk 2, ... chunk 7.

이때, 캐싱될 청크의 개수를 결정해야하는데, 캐싱될 청크의 개수는 청크 윈도우에 의해 결정된다. 즉, 청크 윈도우는 캐싱될 청크를 구분짓는 윈도우이다. At this time, the number of chunks to be cached must be determined, and the number of chunks to be cached is determined by the chunk window. In other words, a chunk window is a window that distinguishes chunks to be cached.

이러한 청크 윈도우의 사이즈는, 컨텐츠의 경유 횟수가 증가할수록 (즉, 인기가 많은 컨텐츠일수록) 지수적으로 증가한다. 컨텐츠가 처음으로 요청되는 초반에는 청크 윈도우 사이즈를 작게 설정하여 인기도가 낮은 컨텐츠들이 캐싱되는 것을 방지하고, 이후 지속적인 요청에 따라 해당 컨텐츠의 인기도가 높다고 판단되면, 높은 인기도를 갖는 컨텐츠를 캐싱할 수 있도록 지수적으로 청크 윈도우 사이즈를 증가시킨다. 청크 윈도우 사이즈는 분산지수의 승수 값으로 증가하며, 분산지수는 사용자 또는 시스템에 의해 설정될 수 있다. 또한, 승수 값은, 초기에는 0 으로 설정되며, 컨텐츠가 인기가 많다고 판단되면 1 씩 증가한다. 본 발명에서는, 복수개의 윈도우 상태를 식별하기 위해, 윈도우 상태 식별번호로서, 승수 값을 사용한다. The size of this chunk window increases exponentially as the number of times of passage of the content increases (that is, the more popular content). When the content is requested for the first time, the chunk window size is set to be small to prevent the less popular content from being cached, and when the content is determined to be highly popular according to the continuous request, the content having the high popularity can be cached. Exponentially increases the chunk window size. The chunk window size is increased by a multiplier of the dispersion index, which may be set by the user or the system. In addition, the multiplier value is initially set to 0, and increases by one if it is determined that the content is popular. In the present invention, a multiplier value is used as the window state identification number to identify the plurality of window states.

네트워크 엔티티가 컨텐츠 청크를 수신하면, (상기 컨텐츠 청크를 수신하였다는 것은 상기 네트워크 엔티티가 상기 컨텐츠 청크를 캐싱하고 있지 않음을 의미하는 것이므로) 인기도에 따른 컨텐츠 청크 캐싱 동작이 시작된다. 도 3 에서 도시된 바와 같이, 네트워크 엔티티는 상기 수신된 컨텐츠 청크 중 청크 윈도우에 포함되는 청크를 캐싱한다 (s111). 이후, 윈도우 상태 및 캐싱된 마지막 청크의 식별번호를 업데이트하며 (s121), 미래에 컨텐츠 청크가 다시 수신되었을 때, 캐싱될 필요가 있는 컨텐츠 청크를 구분할 수 있도록 한다. 이러한 일련의 과정을 거친 이후에, 상기 네트워크 엔티티는 호스트로 수신된 컨텐츠 청크를 전달한다 (s131).When a network entity receives a content chunk, the content chunk caching operation according to popularity begins (since receiving the content chunk means that the network entity is not caching the content chunk). As shown in FIG. 3, the network entity caches the chunk included in the chunk window among the received content chunks (S111). Thereafter, the window state and the identification number of the last cached chunk are updated (s121), and when the content chunk is received again in the future, the content chunk that needs to be cached can be identified. After this series of processes, the network entity delivers the content chunks received to the host (s131).

도 4a 내지 도 4c 는, 호스트의 컨텐츠 요청에 따라 컨텐츠를 전달하고, 도 3 의 순서도에 따라, 인기도에 따른 컨텐츠를 캐싱하는 컨텐츠전달시스템 (301) 을 도시한다.4A-4C illustrate a content delivery system 301 that delivers content according to a content request from a host and caches content according to popularity, according to the flow chart of FIG. 3.

컨텐츠전달시스템 (301) 은, 컨텐츠 서버 (311), 네트워크 엔티티 (240, 250) 및 호스트들 간의 네트워크 (321) 로 이루어져 있으며, 무선 또는 유선으로 서로 통신 가능하다. 네트워크 엔티티 (240) 에 포함되는 엔티티들은 일반 라우터 또는 스토리지를 포함하는 라우터임을 가정하고, 또 다른 네트워크 엔티티 (250) 는, 예를 들어, 스토리지를 포함하는 액세스 포인트 혹은 액세스 라우터임을 가정한다. 또한, 청크 윈도우의 분산 지수는 2 임을 가정한다.The content delivery system 301 consists of a content server 311, a network entity 240, 250, and a network 321 between hosts, and can communicate with each other wirelessly or by wire. Assume that the entities included in network entity 240 are a generic router or a router that includes storage, and another network entity 250 is, for example, an access point or access router that includes storage. Also assume that the variance index of the chunk window is two.

호스트들 간의 네트워크에 포함되는 일 호스트가 컨텐츠 서버 (311) 로 컨텐츠를 요청할 경우, 컨텐츠 요청은 네트워크 엔티티 (250) 를 거치게 되며, 상기 요청에 따른 컨텐츠의 전달도 네트워크 엔티티 (250) 를 거치게 된다. 또한, 상기 호스트 간의 네트워크에 포함되는 또 다른 호스트가 동일한 컨텐츠를 요청할 경우, 상기 컨텐츠 요청 및 요청에 대한 컨텐츠 전달도 네트워크 엔티티 (250) 를 거치게 된다. When a host included in a network between hosts requests content to the content server 311, the content request passes through the network entity 250, and delivery of the content according to the request also passes through the network entity 250. In addition, when another host included in the network between the hosts requests the same content, the content request and the content delivery for the request also pass through the network entity 250.

즉, 호스트 네트워크 (321) 내에 포함되는 호스트들이 동일 컨텐츠를 여러 번 요청하게 되면, 네트워크 엔티티 (250) 는 동일 컨텐츠를 여러 번 수신하게 된다. 네트워크 엔티티 (250) 는 동일 컨텐츠를 여러 번 수신할수록 상기 컨텐츠의 인기도가 높다고 판단하고 상기 컨텐츠에 포함되는 청크들을 캐싱할 수 있다.That is, when hosts included in the host network 321 request the same content several times, the network entity 250 receives the same content several times. The network entity 250 may determine that the popularity of the content is higher as it receives the same content several times, and may cache chunks included in the content.

보다 구체적으로, 도 4a 내지 도4c 를 참조하여 서술하면, 호스트 (321) 가 컨텐츠를 요청하고, 상기 요청에 따라 컨텐츠가 네트워크 엔티티 (250) 를 경유하여 호스트 (321) 로 전달된다(401). 이 과정에서, 컨텐츠는 네트워크 엔티티 (250) 를 경유하여 엔티티 (321) 로 전달되는데, 네트워크 엔티티 (250) 는 컨텐츠를 수신함에 따라 컨텐츠 청크를 캐싱한다(411). 이때, 윈도우 상태 (승수값) 는 0 이므로, 1 (=20) 개의 청크, 즉, 청크1 이 캐싱된다. 그리고 윈도우 상태는 1 로 업데이트되고, 마지막으로 캐싱된 청크는 청크1 로 업데이트된다. More specifically, with reference to FIGS. 4A-4C, host 321 requests content, and content is delivered to host 321 via network entity 250 in accordance with the request (401). In this process, content is delivered to entity 321 via network entity 250, which caches content chunks 411 as it receives the content. At this time, since the window state (multiplier value) is 0, 1 (= 2 0 ) chunks, that is, chunk 1 are cached. The window state is then updated to 1, and the last cached chunk is updated to chunk 1.

이후, 호스트 (321) 가 상기 컨텐츠를 다시 요청하게 되면, 네트워크 엔티티 (250) 에 캐싱되었던 청크1 이 호스트 (321) 로 전달되며 (421), 나머지 청크 (즉, 청크2 내지 청크7) 는 컨텐츠 서버 (311) 로부터 전달된다 (431). 이 과정에서 상기 나머지 청크 (즉, 청크2 내지 청크7) 가 다시 네트워크 엔티티 (250) 를 경유하게 되는데, 네트워크 엔티티 (250) 는, 윈도우 상태 1 에 포함되는 2 개의 청크, 즉, 청크2 내지 청크3 를 캐싱한다 (441). 이와 함께, 윈도우 상태는 2 로, 마지막으로 캐싱된 청크는 3 으로 업데이트된다.Then, when the host 321 requests the content again, the chunk 1 that was cached in the network entity 250 is passed to the host 321 (421), and the remaining chunks (that is, chunks 2 through 7) are the content. It is forwarded from the server 311 (431). In the process, the remaining chunks (that is, chunks 2 through 7) are again passed through the network entity 250, and the network entity 250 includes two chunks included in the window state 1, that is, chunks 2 through chunks. Cache 3 (441). In addition, the window state is updated to 2, and the last cached chunk is updated to 3.

그 결과, 네트워크 엔티티 (250) 는 청크1 내지 청크3 을 캐싱하고 있으며, 다시금 동일한 컨텐츠가 호스트 (321) 에 의해 요청되면, 네트워크 엔티티 (250) 에 캐싱된 청크1 내지 청크3 이 호스트 (321) 로 전달된다 (451). 물론, 청크4 내지 청크7 은 컨텐츠 서버 (311) 로부터 획득된다 (461). 마찬가지로, 4 개의 청크, 즉, 컨텐츠 청크4 내지 청크7 은 윈도우 상태 2 에 포함되어 있으므로, 네트워크 엔티티 (250) 에 캐싱된다 (471). 이후 호스트 (321) 는 네트워크 엔티티 (250) 로부터 컨텐츠 (청크1 내지 청크7) 를 획득할 수 있다 (481).As a result, network entity 250 is caching chunks 1 through 3, and once again the same content is requested by host 321, chunks 1 through chunk 3 cached by network entity 250 become host 321. Is passed to (451). Of course, chunks 4 through 7 are obtained from content server 311 (461). Similarly, four chunks, that is, content chunks 4 through 7, are included in window state 2 and therefore cached to network entity 250 (471). Host 321 may then obtain content (Chunks 1 through 7) from network entity 250 (481).

이렇듯, 컨텐츠 전달이 네트워크 엔티티 (250) 를 통해 여러 번 이루어지면, 네트워크 엔티티 (250) 는 상기 컨텐츠가 인기가 높다고 판단하여 상기 컨텐츠를 캐싱하게 되며, 그 결과, 호스트 네트워크 (321) 내에 위치한 임의의 호스트는, 상기 컨텐츠를 컨텐츠 서버 (311) 로부터 획득할 필요없이, 액세스 포인트 (250) 로부터 빠르게 획득가능하다.As such, if content delivery occurs multiple times through network entity 250, network entity 250 determines that the content is popular and caches the content, resulting in any location located within host network 321. The host can quickly obtain the content from the access point 250 without having to obtain the content from the content server 311.

이처럼, 하나의 네트워크 엔티티가 자체적으로 컨텐츠의 인기도를 판단하고, 인기도에 따라 컨텐츠를 캐싱할 수 있다. As such, one network entity may determine the popularity of the content itself and cache the content according to the popularity.

반면, 복수 개의 네트워크 엔티티가 서로 협력하여 컨텐츠를 캐싱하는 경우, 상기 복수 개의 네트워크 엔티티가 협력하여 컨텐츠의 인기도를 파악하고 컨텐츠를 캐싱한다. 보다 구체적으로, 청크 분산 알고리즘을 이용하여, 컨텐츠는 컨텐츠 서버로부터 호스트로 전달되고 분산된다. 이와 관련하여서는 도 5 내지 도 7d 와 함께 후술된다.On the other hand, when a plurality of network entities cooperate with each other to cache content, the plurality of network entities cooperate to determine the popularity of the content and cache the content. More specifically, using the chunk distribution algorithm, content is delivered and distributed from the content server to the host. In this regard it will be described later in conjunction with Figures 5-7d.

도 7a 에서는 호스트의 컨텐츠 요청에 따라 컨텐츠를 전달하는 컨텐츠전달시스템 (300) 을 도시한다. 컨텐츠전달시스템 (300) 은, 컨텐츠 서버 (310), 네트워크 엔티티 (210, 220, 230) 및 호스트 (또는 호스트들 간의 네트워크; 320) 로 이루어져 있으며, 무선 또는 유선으로 서로 통신 가능하다. FIG. 7A illustrates a content delivery system 300 that delivers content according to a content request of a host. The content delivery system 300 is comprised of a content server 310, a network entity 210, 220, 230, and a host (or a network between hosts; 320), and can communicate with each other wirelessly or by wire.

한편, 도 7a 내지 도 7d 에서는 편의상, 호스트가 요청한 컨텐츠는 7 개의 청크로 분할되고, 각 청크마다 식별번호가 할당됨을 가정하고, 네트워크 엔티티는 스토리지를 포함하는 라우터임을 가정한다. 또한, 네트워크 엔티티들의 네트워크 (도 1 의 200) 내에 포함되는 네트워크 엔티티 중에서 일부 네트워크 엔티티 (210, 220, 230) 만을 예로 들어 서술하며, 이때, 상기 네트워크 엔티티 (210, 220, 230) 는, 호스트로부터 컨텐츠 서버로, 호스트의 컨텐츠 요청이 이동하는 경로 (또는 컨텐츠 서버로부터 컨텐츠가 전달되는 경로) 상에 위치한 엔티티들이다. 컨텐츠 서버 (310) 에 저장된 컨텐츠는 호스트 (320) 에 요청에 의해, 후술되는 청크 분산 알고리즘에 따라 호스트로 전달되고 네트워크로 분산된다.7A to 7D, for convenience, it is assumed that the content requested by the host is divided into seven chunks, and an identification number is assigned to each chunk, and the network entity is a router including storage. In addition, only some network entities 210, 220, 230 are described as an example among network entities included in the network of network entities (200 of FIG. 1), wherein the network entities 210, 220, 230 are provided from a host. To a content server, these entities are located on the path to which the host's content request travels (or the path from which the content is delivered from the content server). The content stored in the content server 310 is delivered to the host and distributed to the network by a request to the host 320 according to the chunk distribution algorithm described below.

청크 분산 알고리즘 (chunk diffusion algorithm) Chunks distributed algorithm (chunk diffusion algorithm)

1. 분산 방법1. Dispersion Method

컨텐츠를 구성하는 청크 중 분산될 청크는 청크의 식별번호 (i) 에 따라 순차적으로 결정된다. 예를 들어, 도 7a 를 참조하면, 만약 청크가 분산된다면 청크1, 청크2,...청크7 의 순서로 분산된다. 이때, 분산될 청크의 개수를 결정해야하는데, 분산될 청크의 개수는 청크 윈도우에 의해 결정된다. 즉, 청크 윈도우는 분산될 청크를 구분짓는 윈도우로서, 예를 들어, 도 6a 에서 여러개의 청크가 있는 경우 청크 윈도우는 분산될 청크를 구분짓는다.The chunks to be distributed among the chunks constituting the content are sequentially determined according to the identification number (i) of the chunk. For example, referring to FIG. 7A, if the chunks are distributed, they are distributed in the order of chunk 1, chunk 2, ... chunk 7. At this time, the number of chunks to be distributed must be determined, and the number of chunks to be distributed is determined by the chunk window. That is, the chunk window is a window that distinguishes the chunks to be distributed. For example, when there are several chunks in FIG. 6A, the chunk window distinguishes the chunks to be distributed.

이러한 청크 윈도우의 사이즈는, 컨텐츠에 대한 요청 횟수가 증가할수록 (즉, 인기가 많은 컨텐츠일수록) 지수적으로 증가한다. 컨텐츠가 처음으로 요청되는 초반에는 청크 윈도우 사이즈를 작게 설정하여 인기도가 낮은 컨텐츠들이 분산되는 것을 방지하고, 이후 지속적인 요청에 따라 해당 컨텐츠의 인기도가 높다고 판단되면, 높은 인기도를 갖는 컨텐츠가 널리 분산될 수 있도록 지수적으로 청크 윈도우 사이즈를 증가시킨다. 청크 윈도우 사이즈는, 분산지수의 승수 값이다.The size of this chunk window increases exponentially as the number of requests for content increases (ie, the more popular content). When the content is requested for the first time, a small chunk window size is set to prevent the distribution of low-popular contents, and when the content is determined to be highly popular according to continuous requests, the content having high popularity may be widely distributed. To increase the chunk window size exponentially. The chunk window size is a multiplier of the dispersion index.

분산 지수 (양의 정수; 이하에서는 'x'이라 함) 는 청크가 네트워크에서 분산되는 속도를 결정하는데, 분산 지수는 사용자 또는 시스템에 의해 설정될 수 있다. 이하에서는, 편의상 분산지수는 2 로 설정한다.Dispersion index (positive integer; hereinafter referred to as 'x') determines the rate at which the chunk is distributed in the network, which may be set by the user or the system. In the following description, the dispersion index is set to 2 for convenience.

승수 값 (이하에서는 'n'이라 함) 으로 인해 청크 윈도우 사이즈는 지수적으로 증가할 수 있는데, 승수 값은 초기에는 0 으로 설정되며, 컨텐츠가 요청되고 전달될 때마다 (즉, 컨텐츠가 인기가 많다고 판단되면), 승수 값을 1 씩 증가시켜 청크 윈도우 사이즈를 늘린다. 이하에서는, 청크 윈도우의 식별번호로서 승수 값을 사용한다.The multiplier value (hereinafter referred to as 'n') can increase the chunk window size exponentially, where the multiplier value is initially set to 0, and whenever the content is requested and delivered (that is, the content is popular) Increase the multiplier by 1 to increase the chunk window size. Hereinafter, a multiplier value is used as the identification number of the chunk window.

한편, 만약 호스트 (320) 에 의해 요청되는 컨텐츠가, 컨텐츠 서버가 최초로 요청받는 컨텐츠라면, 상기 컨텐츠는 엔티티 (210, 220, 230) 에 저장되어 있지 않음은 자명하다. 따라서, 호스트 (320) 는 컨텐츠 서버로부터 컨텐츠를 획득하게 된다. 이때, 컨텐츠 서버는 상기 컨텐츠가 한번 요청되었던 컨텐츠였음을 감안하여, 상기 컨텐츠의 일부를 엔티티 네트워크 (200) 로 분산한다. 이후, 호스트가 동일 컨텐츠를 요청하게 되면, 상기 요청을 컨텐츠 서버까지 전달하지 않아도, 호스트는 네트워크 (200) 로부터 분산된 청크를 획득할 수 있다. 이러한 컨텐츠 분산 기법은 도 5 을 참조하여 보다 구체적으로 서술된다.On the other hand, if the content requested by the host 320 is a content server first requested, it is obvious that the content is not stored in the entities 210, 220, and 230. Thus, the host 320 obtains the content from the content server. In this case, the content server distributes a part of the content to the entity network 200 in consideration that the content was once requested content. Thereafter, when the host requests the same content, the host may obtain the distributed chunk from the network 200 without transmitting the request to the content server. This content distribution technique is described in more detail with reference to FIG. 5.

도 5 은, 컨텐츠 청크 i 를 수신한 엔티티가 컨텐츠 청크 i 를 전달하고 분산하는 과정을 도시한다. 편의상, 상기 컨텐츠 청크 i 를 수신한 엔티티는 도 7a 의 엔티티 (220) 임을 가정한다.FIG. 5 illustrates a process in which an entity receiving content chunk i delivers and distributes content chunk i. For convenience, assume that the entity that received the content chunk i is the entity 220 of FIG. 7A.

엔티티가 컨텐츠 청크 i 에 대한 요청을 수신하면, 요청된 청크 i 를 캐싱하고 있는지 여부를 판단한다 (s110) 만약 요청된 청크 i 를 캐싱하고 있지 아니하면, 컨텐츠 요청이 전달되는 다음 엔티티 (도 7a 의 210) 로 청크 요청을 전달한다 (s190). 요청된 청크 i 를 캐싱하고 있다면, 요청된 청크 i 를 호스트로 전달한다 (s120). 만약, 호스트로 전달된 컨텐츠 청크 i 가, 캐싱된 청크 중에서 마지막으로 캐싱된 청크 (예를 들어, 캐싱된 청크 중에서 가장 큰 식별번호를 갖는 청크) 라면 (s130)캐싱된 청크 중에서, 청크 윈도우 내에 포함되고 아직 분산되지 아니한 청크들을 상기 요청을 전달한 엔티티로 분산시킨다 (s140). 그리고 분산 결과를 업데이트한다. 즉, 마지막으로 분산된 청크의 식별번호를 업데이트하고, 청크 윈도우 상태를 업데이트한다 (s150). 이때, 청크 윈도우 상태 n 은, 1 씩 증가함으로써 업데이트되고, 마지막으로 분산된 청크의 식별번호는, 마지막으로 캐싱된 청크의 식별번호와,

Figure 112011074043611-pat00001
(즉, 분산된 청크들을 커버하는 청크 윈도우들의 사이즈 총합) 중 작은 값 (둘 다 동일한 값이라면 상기 값) 으로 업데이트된다. 예를 들어, 도 6a 에서 도시된 바와 같이, 윈도우 상태가 1 이고, 마지막으로 분산된 청크가 1 이면, 컨텐츠 청크 2 내지 3 을 전달한 이후, 엔티티는 청크 윈도우 2 내에 포함되는 청크들, 즉, 컨텐츠 청크 2 내지 3 을 분산시킨다. 그 이후 청크 윈도우 상태 및 마지막으로 분산된 청크가 업데이트되는데, 도 6b에서 도시된 바와 같이, 청크 윈도우 상태는 2 (=1+1) 으로 업데이트되며, 마지막으로 분산된 청크의 식별번호는, 마지막으로 캐싱된 청크의 식별번호 3 과, 2i(i=0~1) 의 총합인 3 (=20+21) 중 작은 값인 3 으로 업데이트된다.When the entity receives the request for the content chunk i, it is determined whether the requested chunk i is being cached (s110). If the entity does not cache the requested chunk i, the next entity to which the content request is delivered (see FIG. 7A). In step 210, the chunk request is forwarded. If the requested chunk i is being cached, the requested chunk i is transferred to the host (s120). If the content chunk i delivered to the host is the last cached chunk (eg, the chunk with the largest identification number among the cached chunks) among the cached chunks (s130) among the cached chunks, it is included in the chunk window. And chunks that are not yet distributed are distributed to the entity that delivered the request (s140). Then update the distribution results. That is, the identification number of the last distributed chunk is updated, and the chunk window state is updated (s150). At this time, the chunk window state n is updated by increasing by 1, and the identification number of the last distributed chunk is the identification number of the last cached chunk,
Figure 112011074043611-pat00001
(I.e., the sum of the sizes of the chunk windows covering the distributed chunks) is updated to the smaller of the values (if both are the same value above). For example, as shown in FIG. 6A, if the window state is 1 and the last distributed chunk is 1, after delivering content chunks 2 to 3, the entity has chunks included in chunk window 2, i.e. content Chunks 2-3 are dispersed. The chunk window state and the last distributed chunk are then updated, as shown in FIG. 6B, the chunk window state is updated to 2 (= 1 + 1), and the identification number of the last distributed chunk is, finally, The cached chunk is updated to the smaller of 3, and the smaller of 3 (= 2 0 +2 1 ), which is the sum of 2 i (i = 0-1).

만약 전달된 청크 i 가 캐싱된 청크 중 마지막 청크가 아니라면, 전달된 청크 i 가 이전에 이미 분산된 청크인지 여부를 판단하고 (s160), 판단결과 분산된 청크가 아니라면 프로세스를 종료한다.If the delivered chunk i is not the last chunk of cached chunks, it is determined whether the delivered chunk i is a previously distributed chunk (s160), and if the result is not the distributed chunk, the process ends.

그러나, 만약 전달된 청크 i 가 이전에 이미 분산되었던 청크였다면, 이는, 요청을 전달한 엔티티 (도 7a 의 230) 에 청크 i 가 캐싱되어 있지 않음을 의미한다. 즉, 분산되었다고 판단된 청크 i 가 사실은 엔티티 (230) 로 분산되지 않았음을 의미하는 것이므로, 청크 i 가 다시 분산될 수 있도록, 윈도우 상태 n 을 업데이트하고, 마지막으로 분산된 청크를 업데이트해야 한다. 이때 윈도우 상태 n 은, 분산지수 x 를 이용하여,

Figure 112011074043611-pat00002
로 변경되며 (s170) 마지막으로 분산된 청크의 식별번호는 청크 식별번호 i 에서 1 을 감한 값으로 변경된다 (s180). 예를 들어, 도 6c 에서 도시된 바와 같이, 요청된 청크 i 가 3 이라면, 윈도우 상태 n 은 1 (=
Figure 112011074043611-pat00003
) 로 업데이트되며, 분산된 청크의 식별번호는 2 (=3-1) 로 업데이트된다.However, if the delivered chunk i was a chunk that was previously distributed, this means that chunk i is not cached in the entity that forwarded the request (230 in FIG. 7A). That is, since chunk i determined to be distributed actually means that it is not distributed to entity 230, it is necessary to update window state n so that chunk i can be distributed again, and finally update the distributed chunk. . In this case, the window state n, using the dispersion index x,
Figure 112011074043611-pat00002
The identification number of the last distributed chunk is changed to (s170) and is subtracted from the chunk identification number i by 1 (s180). For example, as shown in FIG. 6C, if the requested chunk i is 3, the window state n is 1 (=
Figure 112011074043611-pat00003
) And the identifier of the distributed chunk is updated to 2 (= 3-1).

상술된 내용을 슈도 코드 (pseudo code) 로 간략히 표현하면 다음과 같다.Briefly expressed as a pseudo code as described above is as follows.

Figure 112011074043611-pat00004
Figure 112011074043611-pat00004

상기 슈도 코드에서 기술된 바와 같이, 각각의 컨텐츠에 대해, 엔티티는, 청크 윈도우 상태 n, 및 마지막으로 분산된 청크 식별번호 sent, 즉, 2 개의 카운터만을 필요로 한다. 즉, 청크 분산 알고리즘은 적은 개수의 카운터를 이용하여 청크를 분산시킬 수 있으므로 리소스가 적게 소모된다. As described in the pseudo code above, for each content, the entity only needs the chunk window state n, and the last distributed chunk identification number sent, ie two counters. In other words, the chunk distribution algorithm can distribute the chunks using a small number of counters, thus consuming less resources.

2. 교체 대상2. Replacement target

스토리지, 예를 들어, 캐시가 꽉 찬 상태에서 새로운 컨텐츠 청크가 도착하면, 새로운 컨텐츠 청크를 캐시에 저장하기 위해 캐시에 원래 저장되어 있던 청크를 퇴출시켜야한다. 이때, 청크 분산 알고리즘에서는, 기존에 사용되는 다양한 기법을 사용하여 캐시를 교체할 수 있다. 가장 적절하게는, 예를 들어, LRU (least recently used) 또는 LRFU (least recently/frequently used) 을 사용할 수 있다. When a new content chunk arrives with storage, for example, with a full cache, the chunk that was originally stored in the cache must be evicted to store the new content chunk. In this case, in the chunk distribution algorithm, the cache may be replaced by using various techniques. Most suitably, for example, LRU (least recently used) or LRFU (least recently / frequently used) may be used.

컨텐츠 청크의 모든 액세스 이력을 유지한다면 많은 오버헤드가 발생하여 리소스가 낭비될 수 있으므로, 본 발명에서는 컨텐츠의 단위로 액세스 히스토리를 저장하고, 교체될 청크를 결정한다.Maintaining all access histories of content chunks can cause a lot of overhead and waste resources. In the present invention, the access history is stored in units of content, and the chunk to be replaced is determined.

3. 캐싱 위치3. Caching Location

스토리지, 예를 들어, 캐시가 복수 개 존재할 경우 (즉, 상기 스토리지를 갖는 엔티티가 복수개 존재하는 경우), 컨텐츠 청크가 캐싱될 캐시를 선택해야한다. 이때 청크 분산 알고리즘은, 공간적 위치를 고려하여 컨텐츠 요청이 수신된 방향에 위치한 엔티티에 컨텐츠 청크를 분산하여 캐싱되도록 한다. 예를 들어, 네트워크 엔티티 (220) 는 상기 컨텐츠 요청이 수신된 방향에 위치한 엔티티 (230) 로 컨텐츠 청크를 분산하여 캐싱되도록 한다.If there is a plurality of storages, for example a plurality of caches (i.e. there are a plurality of entities with the storage), it is necessary to select a cache for which the content chunks will be cached. In this case, the chunk distribution algorithm distributes the content chunks to the entity located in the direction in which the content request is received in consideration of the spatial location so that the chunk distribution is cached. For example, network entity 220 distributes and chunks of content chunks to entity 230 located in the direction in which the content request was received.

컨텐츠 요청을 전달한 엔티티에 컨텐츠 청크를 캐싱할 수도 있으나, 상기 요청이 전달된 방향에 위치한 엔티티들 중에서, 원-홉 분산 (one-hop diffusion), 멀티-홉 분산 (multi-hop diffusion; 예를 들어, 호스트까지 남아있는 홉의 개수의 반에 해당하는 수만큼 홉), ISP 관계 인지 분산 (ISP relationship aware diffusion; 예를 들어, ISP 의 경계로 청크를 분산) 방식 중 일 방식에 따라 선택된 엔티티에 컨텐츠 청크를 캐싱할 수 있다. 바람직하게는 네트워크 내의 스토리지를 충분히 활용하기 위해 홉바이홉 (hop-by-hop) 방식으로 선택된 엔티티에 컨텐츠 청크를 분산시킨다.It is also possible to cache the content chunks to the entity that delivered the content request, but among the entities located in the direction in which the request was delivered, one-hop diffusion, multi-hop diffusion, for example The content of the selected entity according to one of the following schemes, i.e., half the number of hops remaining to the host), ISP relationship aware diffusion (e.g., spreading chunks to the boundaries of the ISP). You can cache chunks. Preferably, content chunks are distributed to selected entities in a hop-by-hop fashion to fully utilize storage in the network.

상술된 청크 분산 알고리즘에 따르면, 네트워크 엔티티는 스스로 무엇을 캐싱하고 무엇을 교체할지 여부를 독립적으로 결정할 수 있음을 알 수 있다.According to the chunk distribution algorithm described above, it can be seen that the network entity can independently determine what to cache and what to replace itself.

도 7a 내지 도 7d 는, 컨텐츠를 네트워크 엔티티로 분산시키는 방법에 관한 본 발명의 일 실시예에 따른 도면이다. 편의상, 도 7a 에 대해 서술된 가정을 따르며, 상술된 청크 분산 알고리즘을 따른다. 7A-7D are diagrams in accordance with one embodiment of the present invention relating to a method for distributing content to network entities. For convenience, it follows the assumption described with respect to FIG. 7A and follows the chunk distribution algorithm described above.

먼저, 컨텐츠 서버 (310) 가 처음으로 요청을 받는 컨텐츠의 경우, 호스트 (320) 는 컨텐츠 서버 (310) 로부터 컨텐츠를 획득할 수 밖에 없다. 즉, 도 7a 에 도시된 바와 같이, 컨텐츠 서버 (310) 가, 컨텐츠에 대한 요청을 네트워크 엔티티 (210, 220, 230)의 경로를 통해 호스트 (310) 로부터 수신하면, 컨텐츠 서버 (320) 는 컨텐츠 파일 전체 (즉, 7 개의 청크) 를 호스트 (310) 로 전송한다 (400). First, when the content server 310 receives a request for the first time, the host 320 has no choice but to acquire the content from the content server 310. That is, as shown in FIG. 7A, when the content server 310 receives a request for content from the host 310 through the path of the network entity 210, 220, 230, the content server 320 receives the content. Send the entire file (ie, seven chunks) to host 310 (400).

이후, 전에 요청되었던 컨텐츠가 다시 요청되면, 도 7b 에서 도시된 바와 같이, 컨텐츠 서버 (310) 는 컨텐츠의 청크1 (510) 을, 컨텐츠 요청이 들어온 경로 상에 위치하고 컨텐츠 서버와 근접한 네트워크 엔티티 (210) 로 분산시킨다 (410). 이후에, 호스트 (320) 로부터 동일한 컨텐츠에 대한 요청이 수신되면, 청크1 은 네트워크 엔티티 (210) 으로부터 호스트 (320) 로 전달되며 (420), 청크1 을 제외한 나머지 청크들은 컨텐츠 서버 (310) 로부터 호스트 (320) 로 전달된다 (430). Then, if the previously requested content is requested again, as shown in FIG. 7B, the content server 310 places the chunk 1 510 of the content on the network entity 210 located on the path where the content request came in and in proximity to the content server. (410). Subsequently, if a request for the same content is received from the host 320, chunk 1 is passed from the network entity 210 to the host 320 and the remaining chunks other than chunk 1 are received from the content server 310. It is forwarded to the host 320 (430).

이후, 도 7c 에서 도시된 바와 같이, 네트워크 엔티티 (210) 는 청크1 을 네트워크 엔티티 (220) 으로 분산하고 (440), 컨텐츠 서버 (310) 는 청크2 및 청크3 을 네트워크 엔티티 (210) 으로 분산한다 (450). 그 결과 네트워크 엔티티 (210) 는 청크1 내지 청크3 을 저장하고 있으며, 네트워크 엔티티 (220) 는 청크1 을 저장하고 있다. Then, as shown in FIG. 7C, network entity 210 distributes chunk 1 to network entity 220 (440), and content server 310 distributes chunk 2 and chunk 3 to network entity 210. (450). As a result, network entity 210 is storing chunks 1 through 3, and network entity 220 is storing chunk 1.

다시금, 호스트 (320) 로부터 컨텐츠 요청이 감지되면, 상기 요청은 컨텐츠 서버로 전달되면서, 전달 경로상에 위치한 네트워크 엔티티 (220) 로부터 청크1 을 (460), 네트워크 엔티티 (210) 로부터 청크2 및 청크3 를 호스트로 전달하며 (461), 그리고 나머지 청크 (청크4 내지 청크7) 은 컨텐츠 서버 (310) 로부터 전달된다 (462). Again, if a content request is detected from the host 320, the request is forwarded to the content server, with chunk 1 460 from the network entity 220 located on the delivery path, chunk 2 and chunk from the network entity 210. 3 passes to the host (461), and the remaining chunks (Chunks 4-7) are passed from the content server 310 (462).

그리고 난 이후, 도 7d 에서 도시된 바와 같이, 마찬가지로, 청크의 분산 동작이 수행되는데, 네트워크 엔티티 (220) 은 청크1 을 네트워크 엔티티 (230) 으로 분산하고 (470), 네트워크 엔티티 (210) 는 청크2 및 청크3 을 네트워크 엔티티 (220) 로 분산하며 (480), 컨텐츠 서버 (310) 는 청크4 내지 청크7 을 네트워크 엔티티 (210) 으로 분산한다 (490). Then, as shown in FIG. 7D, likewise, a chunk distribution operation is performed, in which network entity 220 distributes chunk 1 to network entity 230, and network entity 210 chunks. 2 and chunk 3 are distributed to network entity 220 (480), and content server 310 distributes chunks 4 through 7 to network entity 210 (490).

이로 인해, 호스트 (320) 가 동일한 컨텐츠를 또 요청하게 되면, 호스트 (320)는, 호스트 (320) 와 컨텐츠 서버 (310) 경로 상에 위치한 엔티티들로부터 컨텐츠를 획득할 수 있다. 즉, 청크1 은 네트워크 엔티티 (230) 로부터, 청크2 및 청크3 은 네트워크 엔티티 (220) 로부터, 청크4 내지 청크7 은 네트워크 엔티티 (210) 로부터 획득할 수 있다. 이를 통해 호스트 (320) 는 컨텐츠 서버 (310) 로부터 컨텐츠를 획득하는 것보다 빠른 시간 안에, 컨텐츠를 획득할 수 있다.Because of this, if the host 320 requests the same content again, the host 320 may obtain the content from entities located on the path of the host 320 and the content server 310. That is, chunk 1 can be obtained from the network entity 230, chunks 2 and 3 from the network entity 220, and chunks 4 through 7 can be obtained from the network entity 210. Through this, the host 320 may acquire the content in a faster time than obtaining the content from the content server 310.

이하에서는, 본 발명과 다른 기법과의 성능을 비교한다. 여기서 다른 기법들은, 클라이언트-서버 기법, AllCache 기법 (호스트로 전달된 컨텐츠가, 호스트와 서버 사이에 위치한 모든 라우터에 캐싱됨), UniCache 기법 (호스트로 전달된 컨텐츠가, 호스트와 서버 사이에 위치한 라우터 중 하나에 캐싱됨; 1/홉의 확률로 캐싱됨), 및 ProbCache 기법 (호스트로 전달된 컨텐츠가, 호스트와 서버 사이에 위치한 라우터 중 하나에 일정 확률로 캐싱됨; 본 시뮬레이션에서는 확률이 0.1 로 캐싱됨) 이다. 다음과 같은 환경에서 시뮬레이션이 수행되었다.In the following, the performance of the present invention and other techniques are compared. Other techniques here include client-server techniques, AllCache techniques (content delivered to the host is cached on all routers located between the host and the server), UniCache technique (routers located between the host and the server). Cached in one of; 1 / hop probability cached, and ProbCache technique (content delivered to the host is cached at a certain probability on one of the routers located between the host and server; the probability is 0.1 in this simulation). Cached). The simulation was performed in the following environment.

시뮬레이터Simulator 이산사건기반 시뮬레이터
(Discrete Event-Driven Simulator)
Discrete Event Based Simulator
(Discrete Event-Driven Simulator)
토폴로지Topology GT-ITM (Georgia Tech Internetwork Topology Models) 를 이용하여 생성된
1 개의 전이 도메인 (transit domain) 및 5 개의 스터브 도메인 (stub domain) 으로 구성된 네트워크 토폴로지
Created using GT-ITM (Georgia Tech Internetwork Topology Models)
Network topology consisting of one transit domain and five stub domains
라우터 및 호스트의 개수Number of routers and hosts 105 라우터, 1000 호스트105 routers, 1000 hosts 컨텐츠 분산Content distribution 랜덤하게 분산된 100,000 컨텐츠
(1기가바이트/컨텐츠 당;
100 청크/컨텐츠 당)
100,000 Randomly Distributed Content
(Per gigabyte / content;
Per 100 chunks / content)
컨텐츠 요청 분산Content request distribution 지프 (Zipf) 의 법칙 (파라미터 1.0)Zipf's law (parameter 1.0) 캐시 사이즈Cache size 10 기가바이트/캐시 당10GB / cache 컨텐츠 라우팅Content routing En-route 캐시 모델En-route Cache Model

먼저, 도 8 에서 도시된 바와 같이, 호스트와 컨텐츠를 저장하고 있는 엔티티 (예를 들어, 컨텐츠 서버 또는 컨텐츠를 저장하고 있는 스토리지) 간의 평균 홉 카운트가 감소된다. 본 발명에 따르면, 인기도가 높은 컨텐츠를 저장하고 있는 엔티티가 호스트에 가깝게 위치될 수 있기 때문이다. First, as shown in FIG. 8, the average hop count between the host and the entity storing the content (eg, a content server or storage storing the content) is reduced. According to the present invention, the entity storing the highly popular content can be located close to the host.

또한, 도 9 에서 도시된 바와 같이, 특정 링크를 통해 트래픽 양인 링크 스트레스를 다른 기법들과 비교하면, 본원 발명은 다른 기법과 유사한 정도로 링크 스트레스를 가짐을 알 수 있다. In addition, as shown in FIG. 9, comparing the link stress, which is the amount of traffic over a particular link, with other techniques, it can be seen that the present invention has link stress to a similar extent as other techniques.

나아가, 도 10 에서 도시된 바와 같이, ISP 간의 트래픽도 감소됨을 확인할 수 있다. 이하에서 서술되는 캐시 성능을 함께 고려하면, 전체적인 성능은 본원 발명에 따른 기법에 따라 개선될 수 있음을 알 수 있다.Furthermore, as shown in FIG. 10, it can be seen that traffic between ISPs is also reduced. Considering the cache performance described below together, it can be seen that the overall performance can be improved according to the technique according to the present invention.

도 11 에서는 캐시의 스토리지 사용량을 도시하며, 본원 발명에서는 스토리지 사용량이 눈에 띄게 적음을 알 수 있다. 즉, 본원 발명에서는 캐시 스토리지를 효율적으로 사용하고 있음을 알 수 있다.11 shows the storage usage of the cache, it can be seen that the storage usage is noticeably less in the present invention. In other words, it can be seen that the present invention uses cache storage efficiently.

또한, 도 12 에서는, 캐시 히트 카운트를 스토리지 사용량 나눈 값, 즉, 캐시 히트 카운트 정규화를 도시한다. 도시된 바와 같이, 본원 발명에서는 캐시 히트 수가 눈에 띄게 높음을 알 수 있다.In addition, FIG. 12 shows the cache hit count divided by the storage usage, that is, the cache hit count normalization. As shown, it can be seen in the present invention that the number of cache hits is noticeably high.

그리고, 도 13 에서 도시된 바와 같이, 본원 발명에서는 캐시 교체율이 다른 기법과 비교하여 극명하게 낮음을 보여주며, 이를 통해, 본원 발명은, 스토리지를 효율적으로 사용할 수 있음을 알 수 있다. 나아가, 액세스되지 않고 교체되는 청크들의 개수를 측정하면, 본원 발명에서는 25.8% 의 청크들만이 액세스되지 않고 교체됨을 알 수 있으며, 이를 통해 본원 발명은 효율적인 캐시 관리를 가능하게 한다는 것을 알 수 있다.And, as shown in Figure 13, the present invention shows that the cache replacement rate is significantly lower than other techniques, through which, it can be seen that the present invention, the storage can be used efficiently. Furthermore, by measuring the number of chunks that are not accessed and replaced, it can be seen that only 25.8% of the chunks are replaced without being accessed in the present invention, which indicates that the present invention enables efficient cache management.

그리고, 도 14 에서는, 상대적인 홉 카운트, 즉, 청크가 호스트까지 전달될 때까지의 평균 홉 개수를, 청크의 식별번호에 따라 구분하였다. 본원 발명에서는 식별번호가 작은 청크들이 식별번호 큰 청크들보다 먼저 분산되며, 예를 들어, 첫번째 청크의 경우, 본원 발명은 다른 기법과 비교하여 10% 정도로 호스트에 가깝게 위치될 수 있음을 알 수 있다.In FIG. 14, relative hop counts, that is, average hop counts until the chunks are delivered to the host are divided according to the chunk identification numbers. In the present invention, it can be seen that the chunks with smaller identification numbers are distributed before the chunks with larger identification numbers, for example, in the case of the first chunk, the present invention can be located closer to the host by about 10% compared to other techniques. .

즉, 본원 발명은 다른 기법들과 비교하여, 컨텐츠를 효과적으로 캐싱하고 네트워크 내의 스토리지 활용도를 높인다.That is, the present invention, compared to other techniques, effectively caches content and increases storage utilization in the network.

당업자는 여기에서 개시된 실시형태들과 관련하여 설명된 다양한 예시적인 로직 블록들 및 알고리즘 단계들을 전자 하드웨어, 컴퓨터 소프트웨어, 또는 이들의 조합으로 구현할 수도 있음을 알 수 있다. 하드웨어와 소프트웨어의 이러한 대체 가능성을 분명히 설명하기 위하여, 다양한 예시적인 단계들을 주로 그들의 기능의 관점에서 상술하였다. 그러한 기능이 하드웨어로 구현될지 소프트웨어로 구현될지는 전체 시스템에 부과된 특정 애플리케이션 및 설계 제약 조건들에 의존한다. 당업자는 설명된 기능을 각각의 특정 애플리케이션에 대하여 다양한 방식으로 구현할 수도 있지만, 그러한 구현의 결정이 본 발명의 범주를 벗어나도록 하는 것으로 해석하지는 않아야 한다.Those skilled in the art may appreciate that various example logic blocks and algorithm steps described in connection with the embodiments disclosed herein may be implemented in electronic hardware, computer software, or a combination thereof. To clearly illustrate this possibility of replacing hardware and software, various illustrative steps have been described above primarily in terms of their functionality. Whether such functionality is implemented in hardware or software depends upon the particular application and design constraints imposed on the overall system. Skilled artisans may implement the described functionality in varying ways for each particular application, but should not interpret it as causing a decision of such implementation to fall outside the scope of the present invention.

상기 실시예는 본원발명을 구체적으로 설명하기 위한 예시일 뿐이며, 본 발명은 이들 실시예에 한정되지 않는다. 본 발명의 취지를 일탈하지 않는 범위에서 구성의 부가, 생략, 치환, 및 그 밖의 변경이 가능하다. 본 발명은 전술한 설명에 의해 한정되지 않고, 첨부한 청구범위의 범위에 의해서만 한정된다.The foregoing examples are only illustrative of the present invention in detail, and the present invention is not limited to these examples. Additions, omissions, substitutions, and other modifications can be made without departing from the spirit of the present invention. The present invention is not limited by the foregoing description, but is limited only by the scope of the appended claims.

300 : 컨텐츠전달시스템 310 : 컨텐츠 서버
320 : 호스트 210, 220, 230 : 네트워크 엔티티
300: content delivery system 310: content server
320: host 210, 220, 230: network entity

Claims (37)

컨텐츠를 전달하는 컨텐츠전달시스템에서, 엔티티를 하나 이상 포함하며 상기 컨텐츠 복사본을, 상기 하나 이상의 엔티티에 위치시키거나 상기 컨텐츠를 요청하는 호스트와 가깝게 위치한 엔티티에 위치시켜두는 정보 중심 네트워크(information-centric network)를 통해, 호스트로 컨텐츠를 전달하는 방법에 있어서,
컨텐츠를 저장하는 엔티티로부터, 상기 호스트로 상기 컨텐츠를 전달하는 단계; 및
상기 컨텐츠의 인기도에 따라, 상기 컨텐츠를 상기 네트워크에 포함되는 엔티티에 저장하는 단계를 포함하며,
상기 컨텐츠는 하나 이상의 컨텐츠 청크 (chunk) 로 구성되고,
상기 저장하는 단계는,
상기 컨텐츠의 인기도에 따라, 상기 네트워크에 포함되는 엔티티에, 상기 하나 이상의 컨텐츠 청크 중 일부를 저장하되, 상기 컨텐츠에 대한 요청 횟수가 증가할수록, 저장되는 컨텐츠 청크의 개수는 지수적으로 증가하는 단계를 포함하는, 컨텐츠 전달 방법.
In a content delivery system for delivering content, an information-centric network comprising at least one entity and having a copy of the content located at an entity located at the one or more entities or close to a host requesting the content. In the method of delivering content to the host,
Delivering the content from the entity storing the content to the host; And
Storing the content in an entity included in the network according to the popularity of the content,
The content consists of one or more content chunks,
Wherein the storing step comprises:
Storing some of the one or more content chunks in an entity included in the network according to the popularity of the content, and as the number of requests for the content increases, the number of stored content chunks increases exponentially. Including, content delivery method.
제 1 항에 있어서,
상기 컨텐츠의 인기도는, 상기 컨텐츠에 대한 요청 횟수와 비례하여 결정되는, 컨텐츠 전달 방법.
The method according to claim 1,
The popularity of the content is determined in proportion to the number of requests for the content, content delivery method.
삭제delete 삭제delete 제 1 항에 있어서,
상기 컨텐츠가 저장되는 엔티티는, 상기 네트워크에 포함되는 엔티티 중에서, 상기 컨텐츠에 대한 요청을 전달한 경로 상에 위치한 엔티티 중 하나인, 컨텐츠 전달 방법.
The method according to claim 1,
The entity in which the content is stored is one of the entities included in the network, the entity located on the path that delivered the request for the content.
제 1 항에 있어서,
상기 컨텐츠가 저장되는 엔티티는, 상기 네트워크에 포함되는 엔티티 중에서, 상기 컨텐츠에 대한 요청을 전달한 엔티티인, 컨텐츠 전달 방법.
The method according to claim 1,
The entity in which the content is stored is an entity that has delivered a request for the content among the entities included in the network.
제 1 항에 있어서,
상기 컨텐츠가 저장되는 엔티티로부터 상기 호스트로, 상기 저장된 컨텐츠를 전달하는 단계를 더 포함하는, 컨텐츠 전달 방법.
The method according to claim 1,
Delivering the stored content from the entity in which the content is stored to the host.
컨텐츠를 전달하는 컨텐츠전달시스템에서, 엔티티를 하나 이상 포함하며 상기 컨텐츠 복사본을, 상기 하나 이상의 엔티티에 위치시키거나 상기 컨텐츠를 요청하는 호스트와 가깝게 위치한 엔티티에 위치시켜두는 정보 중심 네트워크(information-centric network)를 통해, 호스트로 컨텐츠를 전달하는 방법에 있어서,
컨텐츠를 저장하는 엔티티로부터, 상기 호스트로 상기 컨텐츠를 전달하는 단계; 및
상기 컨텐츠의 인기도에 따라, 다른 엔티티로 상기 컨텐츠를 분산하는 단계를 포함하고,
상기 컨텐츠는 하나 이상의 컨텐츠 청크 (chunk) 로 구성되고,
상기 분산하는 단계는,
상기 컨텐츠의 인기도에 따라, 상기 다른 엔티티로 상기 하나 이상의 컨텐츠 청크 중 일부를 분산하되, 상기 컨텐츠에 대한 요청 횟수가 증가할수록, 상기 다른 엔티티로 분산되는 컨텐츠 청크의 개수는 지수적으로 증가하는 단계를 포함하는, 컨텐츠 전달 방법.
In a content delivery system for delivering content, an information-centric network comprising at least one entity and having a copy of the content located at an entity located at the one or more entities or close to a host requesting the content. In the method of delivering content to the host,
Delivering the content from the entity storing the content to the host; And
Distributing the content to other entities according to the popularity of the content,
The content consists of one or more content chunks,
The dispersing step,
Distributing some of the one or more content chunks to the other entity according to the popularity of the content, and as the number of requests for the content increases, the number of content chunks distributed to the other entity increases exponentially. Including, content delivery method.
제 8 항에 있어서,
상기 컨텐츠의 인기도는, 상기 컨텐츠에 대한 요청 횟수와 비례하여 결정되는, 컨텐츠 전달 방법.
The method of claim 8,
The popularity of the content is determined in proportion to the number of requests for the content, content delivery method.
삭제delete 삭제delete 제 8 항에 있어서,
상기 다른 엔티티는, 상기 네트워크에 포함되는 엔티티 중에서, 상기 컨텐츠
에 대한 요청을 전달한 경로 상에 위치한 엔티티 중 하나인, 컨텐츠 전달 방법.
The method of claim 8,
The other entity, among the entities included in the network, the content
A method of delivering content that is one of the entities located on the path that delivered the request for.
제 8 항에 있어서,
상기 다른 엔티티는, 상기 네트워크에 포함되는 엔티티 중에서, 상기 컨텐츠에 대한 요청을 전달한 엔티티인, 컨텐츠 전달 방법.
The method of claim 8,
And the other entity is an entity that has delivered a request for the content among the entities included in the network.
제 8 항에 있어서,
상기 분산된 컨텐츠를 저장하는 상기 다른 엔티티로부터 상기 호스트로, 상기 분산된 컨텐츠를 전달하는 단계를 더 포함하는, 컨텐츠 전달 방법.
The method of claim 8,
Delivering the distributed content from the other entity that stores the distributed content to the host.
하나 이상의 컨텐츠 청크 (chunk) 로 구성되는 컨텐츠를 전달하는 컨텐츠전달시스템에서, 엔티티를 하나 이상 포함하는 네트워크를 통해, 호스트로 컨텐츠를 전달하는 방법에 있어서,
상기 컨텐츠 청크 중 일부를 저장하는 제 1 엔티티로 컨텐츠 요청을 전달하는 단계;
상기 컨텐츠 요청에 응답하여, 상기 제 1 엔티티로부터 상기 호스트로 상기 저장된 컨텐츠 청크 중 일부를 전달하는 단계; 및
상기 제 1 엔티티로부터 제 2 엔티티로 상기 저장된 컨텐츠 청크 중 일부를 분산하는 단계를 포함하고,
상기 제 1 엔티티는, 상기 컨텐츠를 저장하는 컨텐츠 서버, 또는, 상기 호스트로부터 상기 컨텐츠 서버까지의 상기 컨텐츠 요청을 전달하는 경로 상에 위치하는 엔티티이며,
상기 제 2 엔티티는, 상기 호스트로부터 상기 제 1 엔티티까지의 상기 컨텐츠 요청을 전달하는 경로 상에 위치한 엔티티인, 컨텐츠 전달 방법.
In a content delivery system for delivering content consisting of one or more content chunks, a method for delivering content to a host through a network including one or more entities,
Forwarding a content request to a first entity that stores some of the content chunks;
In response to the content request, delivering some of the stored content chunks from the first entity to the host; And
Distributing some of the stored content chunks from the first entity to a second entity,
The first entity is a content server for storing the content, or an entity located on a path for delivering the content request from the host to the content server.
And the second entity is an entity located on a path for delivering the content request from the host to the first entity.
제 15 항에 있어서,
상기 컨텐츠 요청을 제 3 엔티티로 전달하는 단계를 더 포함하고,
상기 제 3 엔티티는, 상기 컨텐츠 서버, 또는, 상기 제 1 엔티티로부터 상기 컨텐츠 서버까지의 상기 컨텐츠 요청을 전달하는 경로 상에 위치하는 엔티티인, 컨텐츠 전달 방법.
The method of claim 15,
Forwarding the content request to a third entity;
And the third entity is the content server or an entity located on a path for delivering the content request from the first entity to the content server.
제 15 항 또는 제 16 항에 있어서,
상기 제 2 엔티티 및 상기 제 3 엔티티는, 상기 제 1 엔티티를 기준으로 홉바이홉 (hop-by-hop) 방식에 따라 선택되는 엔티티인, 컨텐츠 전달 방법.
17. The method according to claim 15 or 16,
And the second entity and the third entity are entities selected in a hop-by-hop manner based on the first entity.
컨텐츠에 포함되는 컨텐츠 청크 (chunk) 를 하나 이상 저장하는 엔티티에서, 상기 엔티티를 포함하며 상기 컨텐츠를, 하나 이상의 엔티티에 위치시키거나 상기 컨텐츠를 요청하는 호스트와 가깝게 위치한 엔티티에 위치시켜두는 정보 중심 네트워크(information-centric network)를 통해, 상기 엔티티로부터 호스트로 컨텐츠를 전달하는 방법에 있어서,
상기 네트워크를 통해, 상기 저장된 컨텐츠 청크 중 일 컨텐츠 청크에 대한 요청을 수신하는 단계;
상기 요청된 컨텐츠 청크를 상기 호스트로 전달하는 단계; 및
상기 요청된 컨텐츠 청크가 이미 분산된 컨텐츠 청크라면, 상기 분산된 컨텐츠 청크가 다시 분산될 수 있도록, 청크 윈도우 및 마지막으로 분산된 청크를 업데이트하는 단계를 포함하는, 컨텐츠 전달 방법.
In an entity that stores one or more content chunks of content, an information-centric network comprising the entity and placing the content in an entity located in one or more entities or close to a host requesting the content. In a method for delivering content from the entity to the host via an information-centric network,
Receiving, via the network, a request for one content chunk of the stored content chunks;
Delivering the requested content chunk to the host; And
If the requested content chunk is already a distributed content chunk, updating the chunk window and finally the distributed chunk so that the distributed content chunk is redistributed again.
제 18 항에 있어서,
상기 요청된 컨텐츠 청크의 식별번호가 상기 저장된 컨텐츠 청크의 식별번호 중 최대값과 동일한 경우, 상기 네트워크를 통해, 상기 저장된 컨텐츠 청크 중 일부를 분산하는 단계를 더 포함하는, 컨텐츠 전달 방법.
19. The method of claim 18,
If the identification number of the requested content chunk is equal to the maximum value of the identification numbers of the stored content chunks, distributing some of the stored content chunks through the network.
제 19 항에 있어서,
상기 저장된 컨텐츠 청크 중 일부를 분산하는 단계는,
상기 저장된 컨텐츠 청크 중에서, 청크 윈도우 내에 포함되고 이미 분산된 컨텐츠 청크를 제외한 나머지 컨텐츠 청크를 분산하는 단계를 포함하는, 컨텐츠 전달 방법.
The method of claim 19,
Distributing some of the stored content chunks may include:
Distributing, among the stored content chunks, content chunks other than the content chunks contained in the chunk window and already distributed.
제 20 항에 있어서,
상기 저장된 컨텐츠 청크 중 일부를 분산하는 단계는,
상기 분산에 따른 청크 윈도우를 업데이트하는 단계; 및
상기 분산에 따른 마지막으로 분산된 청크를 업데이트하는 단계를 더 포함하는, 컨텐츠 전달 방법.
21. The method of claim 20,
Distributing some of the stored content chunks may include:
Updating the chunk window according to the distribution; And
Updating the last distributed chunk according to the distribution.
삭제delete 제 18 항에 있어서,
상기 네트워크를 통해, 상기 엔티티로 분산된 컨텐츠 청크를 수신하는 단계; 및
상기 분산된 컨텐츠 청크를 저장하는 단계를 더 포함하는, 컨텐츠 전달 방법.
19. The method of claim 18,
Receiving, via the network, content chunks distributed to the entity; And
Storing the distributed content chunks.
제 23 항에 있어서,
상기 분산된 컨텐츠 청크를 저장하는 단계는,
상기 엔티티의 스토리지가 꽉 찬 상태라면, LRU 방식을 이용하여 상기 분산된 컨텐츠 청크를 저장하는 단계를 포함하는, 컨텐츠 전달 방법.
24. The method of claim 23,
Storing the distributed content chunks,
If the storage of the entity is full, storing the distributed content chunks using an LRU scheme.
컨텐츠를 구성하는 컨텐츠 청크 (chunk) 를 하나 이상 저장하는 제 1 엔티티에서, 상기 제 1 엔티티를 포함하며 상기 컨텐츠를, 하나 이상의 엔티티에 위치시키거나 상기 컨텐츠를 요청하는 호스트와 가깝게 위치한 엔티티에 위치시켜두는 정보 중심 네트워크(information-centric network)를 통해, 상기 제 1 엔티티로부터 호스트로 상기 컨텐츠를 전달하는 방법에 있어서,
상기 네트워크를 통해 컨텐츠 요청을 수신하는 단계; 및
청크 분산 알고리즘에 기초하여, 상기 컨텐츠를 전달하고 분산하는 단계를 포함하며 상기 청크 분산 알고리즘은 x 에 기초하고 상기 x 는 분산 지수로서 양의 정수인, 컨텐츠 전달 방법.
In a first entity that stores one or more content chunks of content, the first entity includes the first entity and places the content in one or more entities or in close proximity to a host requesting the content. A method for delivering the content from the first entity to a host via an information-centric network, the method comprising:
Receiving a content request over the network; And
Based on a chunk distribution algorithm, delivering and distributing the content, wherein the chunk distribution algorithm is based on x and x is a positive integer as the distribution index.
제 25 항에 있어서,
상기 수신하는 단계는,
상기 컨텐츠 청크 i 에 대한 요청을 수신하는 단계를 포함하고,
상기 컨텐츠 청크 i 는 상기 호스트로부터 요청된 컨텐츠 청크로서, i 는 상기 컨텐츠 청크의 식별번호인, 컨텐츠 전달 방법.
The method of claim 25,
Wherein the receiving comprises:
Receiving a request for the content chunk i,
The content chunk i is a content chunk requested from the host, and i is an identification number of the content chunk.
제 26 항에 있어서,
상기 청크 분산 알고리즘은 i 에 기초하는, 컨텐츠 전달 방법.
27. The method of claim 26,
And the chunk distribution algorithm is based on i.
제 26 항에 있어서,
상기 컨텐츠 청크 i 를 저장하고 있지 않다면, 상기 수신된 요청을 제 2 엔티티로 전달하는 단계를 더 포함하고,
상기 제 2 엔티티는, 상기 컨텐츠를 저장하는 컨텐츠 서버, 또는, 상기 제 1 엔티티로부터 상기 컨텐츠 서버까지의 상기 컨텐츠 요청을 전달하는 경로 상에 위치하는 엔티티인, 컨텐츠 전달 방법.
27. The method of claim 26,
If it is not storing the content chunk i, further comprising forwarding the received request to a second entity,
And the second entity is a content server storing the content or an entity located on a path for delivering the content request from the first entity to the content server.
제 26 항에 있어서,
상기 컨텐츠 청크 i 를 저장하고 있다면, 상기 컨텐츠 청크 i 를 상기 호스트로 전달하는 단계를 더 포함하는, 컨텐츠 전달 방법.
27. The method of claim 26,
If the content chunk i is being stored, delivering the content chunk i to the host.
삭제delete 제 26 항에 있어서,
상기 청크 분산 알고리즘은 n 에 기초하고,
상기 n 은 청크 윈도우 상태로서, 0 또는 양의 정수인, 컨텐츠 전달 방법.
27. The method of claim 26,
The chunk variance algorithm is based on n,
N is a chunk window state and is zero or a positive integer.
제 31 항에 있어서,
상기 청크 분산 알고리즘은 sent 에 기초하고,
상기 sent 는 상기 제 1 엔티티에서 마지막으로 분산시킨 컨텐츠 청크의 식별번호인, 컨텐츠 전달 방법.
32. The method of claim 31,
The chunk distribution algorithm is based on sent,
Wherein the sent is an identification number of a content chunk last distributed by the first entity.
제 32 항에 있어서,
상기 청크 분산 알고리즘은 t 에 기초하고,
상기 t 는 상기 제 1 엔티티에 마지막으로 저장된 컨텐츠 청크의 식별번호인, 컨텐츠 전달 방법.
33. The method of claim 32,
The chunk variance algorithm is based on t,
T is an identification number of a content chunk last stored in the first entity.
제 33 항에 있어서,
상기 청크 분산 알고리즘은,
상기 i 가 상기 t 와 동일하다면, 상기 제 1 엔티티에 저장되는 컨텐츠 청크 중에서, sent+1 내지 min(xn+1, t) 까지의 식별번호를 갖는 컨텐츠 청크를 제 3 엔티티로 분산하는 단계를 더 포함하고,
상기 제 3 엔티티는, 상기 호스트로부터 상기 제 1 엔티티까지의 상기 컨텐츠 요청을 전달하는 경로 상에 위치한 엔티티인, 컨텐츠 전달 방법.
34. The method of claim 33,
The chunk distribution algorithm,
If i is equal to the t, distributing the content chunk having an identification number of sent + 1 to min (x n + 1 , t) among the content chunks stored in the first entity to a third entity; Including more,
And the third entity is an entity located on a path for delivering the content request from the host to the first entity.
제 34 항에 있어서,
상기 청크 분산 알고리즘은,
상기 n 을 n+1 로 업데이트하는 단계; 및
상기 sent 를 min(
Figure 112011074043611-pat00005
,t) 로 업데이트하는 단계를 더 포함하는, 컨텐츠 전달 방법.
35. The method of claim 34,
The chunk distribution algorithm,
Updating n to n + 1; And
The sent to min (
Figure 112011074043611-pat00005
, t) updating the content delivery method.
제 33 항에 있어서,
상기 청크 분산 알고리즘은,
상기 i 가 상기 sent 와 동일하거나 작다면, 상기 n 을
Figure 112014017540321-pat00006
로 업데이트하는 단계; 및
상기 sent 를 i-1 로 업데이트하는 단계를 더 포함하는, 컨텐츠 전달 방법.
34. The method of claim 33,
The chunk distribution algorithm,
If i is equal to or less than the sent, then n
Figure 112014017540321-pat00006
Updating to; And
Updating the sent to i-1.
컨텐츠를 요청하는 호스트;
상기 컨텐츠를 저장하는 컨텐츠 서버; 및
상기 컨텐츠 서버와 상기 호스트를 연결하며 상기 컨텐츠 복사본을, 하나 이상의 엔티티에 위치시키거나 상기 컨텐츠를 요청하는 호스트와 가깝게 위치한 엔티티에 위치시켜두는 정보 중심 네트워크(information-centric network)를 포함하는 컨텐츠 전달 시스템으로서,
상기 네트워크는, 상기 컨텐츠의 인기도에 따라, 상기 컨텐츠를 저장할 수 있는 컨텐츠 저장부를 포함하는 엔티티로 이루어져 있으며,
상기 엔티티는,
저장된 컨텐츠를 상기 호스트로 전달하는 컨텐츠 전달부; 및
상기 컨텐츠의 인기도에 따라, 다른 엔티티로 상기 컨텐츠를 분산하는 컨텐츠 분산부를 더 포함하고,
상기 컨텐츠는 하나 이상의 컨텐츠 청크 (chunk) 로 구성되고,
상기 컨텐츠 저장부는,
상기 컨텐츠의 인기도에 따라, 상기 네트워크에 포함되는 엔티티에, 상기 하나 이상의 컨텐츠 청크 중 일부를 저장하되, 상기 컨텐츠에 대한 요청 횟수가 증가할수록, 저장되는 컨텐츠 청크의 개수는 지수적으로 증가하는, 컨텐츠 전달 시스템.
A host requesting content;
A content server storing the content; And
A content delivery system comprising an information-centric network connecting the content server to the host and placing the copy of the content on one or more entities or on an entity located close to the host requesting the content. As
The network may include an entity including a content storage unit capable of storing the content according to the popularity of the content.
The entity is
A content delivery unit delivering the stored content to the host; And
According to the popularity of the content, further comprising a content distribution unit for distributing the content to other entities,
The content consists of one or more content chunks,
The content storage unit,
According to the popularity of the content, at least one of the one or more content chunks are stored in an entity included in the network, and as the number of requests for the content increases, the number of stored content chunks increases exponentially. Delivery system.
KR1020110095924A 2011-09-22 2011-09-22 Method and System for Content Delivery and Caching Expired - Fee Related KR101381199B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020110095924A KR101381199B1 (en) 2011-09-22 2011-09-22 Method and System for Content Delivery and Caching

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110095924A KR101381199B1 (en) 2011-09-22 2011-09-22 Method and System for Content Delivery and Caching

Publications (2)

Publication Number Publication Date
KR20130032175A KR20130032175A (en) 2013-04-01
KR101381199B1 true KR101381199B1 (en) 2014-04-18

Family

ID=48435135

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110095924A Expired - Fee Related KR101381199B1 (en) 2011-09-22 2011-09-22 Method and System for Content Delivery and Caching

Country Status (1)

Country Link
KR (1) KR101381199B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101664188B1 (en) * 2016-02-17 2016-10-11 홍익대학교 산학협력단 Data manage device and data managing method based on peer-to-peer network

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102150530B1 (en) * 2018-08-01 2020-09-01 네이버웹툰 주식회사 Method and apparatus for defending against distributed web-crawler

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030210694A1 (en) 2001-10-29 2003-11-13 Suresh Jayaraman Content routing architecture for enhanced internet services
KR100485974B1 (en) 2002-10-10 2005-05-03 엔에이치엔(주) Method and System for Providing Contents
KR100757765B1 (en) 1999-09-01 2007-09-12 넥스트웨이브 텔레콤 인크. Distributed Cache for Wireless Communication Systems
JP2011134240A (en) * 2009-12-25 2011-07-07 Nec Corp Content replacement system, content replacement method, and content replacement program

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100757765B1 (en) 1999-09-01 2007-09-12 넥스트웨이브 텔레콤 인크. Distributed Cache for Wireless Communication Systems
US20030210694A1 (en) 2001-10-29 2003-11-13 Suresh Jayaraman Content routing architecture for enhanced internet services
KR100485974B1 (en) 2002-10-10 2005-05-03 엔에이치엔(주) Method and System for Providing Contents
JP2011134240A (en) * 2009-12-25 2011-07-07 Nec Corp Content replacement system, content replacement method, and content replacement program

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101664188B1 (en) * 2016-02-17 2016-10-11 홍익대학교 산학협력단 Data manage device and data managing method based on peer-to-peer network

Also Published As

Publication number Publication date
KR20130032175A (en) 2013-04-01

Similar Documents

Publication Publication Date Title
KR102301353B1 (en) Method for transmitting packet of node and content owner in content centric network
Badov et al. Congestion-aware caching and search in information-centric networks
JP7609470B2 (en) Context-aware route computation and selection
EP3032805B1 (en) Method and system for optimal caching of content in an information centric network (icn)
Wang et al. Intra-AS cooperative caching for content-centric networks
CN102263828B (en) Load balanced sharing method and equipment
KR101978177B1 (en) Method of caching contents by node and method of transmitting contents by contents provider in a content centric network
US7808971B2 (en) Routing cache for distributed hash tables
CN104506637B (en) Solve caching method, system and the URL forwarding servers of network congestion
Wang et al. Hop-based probabilistic caching for information-centric networks
CN106031130A (en) Content delivery network architecture with edge proxy
CN110430274A (en) A kind of document down loading method and system based on cloud storage
JP2016531507A (en) Dynamic Interest Transfer Mechanism for Information Oriented Networks
CN101772938A (en) Media streaming with online caching and peer-to-peer forwarding
KR102160494B1 (en) Network nodes, endpoint nodes, and how to receive messages of interest
CN104348849A (en) Instant communication key-value data issuing method, server, client and system
CN111464661A (en) Load balancing method and device, proxy equipment, cache equipment and service node
Lee et al. User-assisted in-network caching in information-centric networking
CN105577537A (en) A multi-path forwarding method and system for an information center network based on historical records
CN103905538A (en) Neighbor cooperation cache replacement method in content center network
Liu et al. A novel cache replacement scheme against cache pollution attack in content-centric networks
Nakajima et al. Color-based cooperative cache and its routing scheme for telco-cdns
KR101381199B1 (en) Method and System for Content Delivery and Caching
KR101546199B1 (en) Cooperative Caching Method on Contents Delivery Network, Content Service Server and Caching Server
JP2010199842A (en) System and method for designing cache, and program

Legal Events

Date Code Title Description
A201 Request for examination
PA0109 Patent application

St.27 status event code: A-0-1-A10-A12-nap-PA0109

PA0201 Request for examination

St.27 status event code: A-1-2-D10-D11-exm-PA0201

P11-X000 Amendment of application requested

St.27 status event code: A-2-2-P10-P11-nap-X000

P13-X000 Application amended

St.27 status event code: A-2-2-P10-P13-nap-X000

AMND Amendment
P11-X000 Amendment of application requested

St.27 status event code: A-2-2-P10-P11-nap-X000

P13-X000 Application amended

St.27 status event code: A-2-2-P10-P13-nap-X000

P22-X000 Classification modified

St.27 status event code: A-2-2-P10-P22-nap-X000

D13-X000 Search requested

St.27 status event code: A-1-2-D10-D13-srh-X000

P22-X000 Classification modified

St.27 status event code: A-2-2-P10-P22-nap-X000

D14-X000 Search report completed

St.27 status event code: A-1-2-D10-D14-srh-X000

R18-X000 Changes to party contact information recorded

St.27 status event code: A-3-3-R10-R18-oth-X000

P22-X000 Classification modified

St.27 status event code: A-2-2-P10-P22-nap-X000

P22-X000 Classification modified

St.27 status event code: A-2-2-P10-P22-nap-X000

E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

St.27 status event code: A-1-2-D10-D21-exm-PE0902

PG1501 Laying open of application

St.27 status event code: A-1-1-Q10-Q12-nap-PG1501

T11-X000 Administrative time limit extension requested

St.27 status event code: U-3-3-T10-T11-oth-X000

T11-X000 Administrative time limit extension requested

St.27 status event code: U-3-3-T10-T11-oth-X000

T11-X000 Administrative time limit extension requested

St.27 status event code: U-3-3-T10-T11-oth-X000

T11-X000 Administrative time limit extension requested

St.27 status event code: U-3-3-T10-T11-oth-X000

AMND Amendment
P11-X000 Amendment of application requested

St.27 status event code: A-2-2-P10-P11-nap-X000

P13-X000 Application amended

St.27 status event code: A-2-2-P10-P13-nap-X000

P22-X000 Classification modified

St.27 status event code: A-2-2-P10-P22-nap-X000

E601 Decision to refuse application
PE0601 Decision on rejection of patent

St.27 status event code: N-2-6-B10-B15-exm-PE0601

X091 Application refused [patent]
T11-X000 Administrative time limit extension requested

St.27 status event code: U-3-3-T10-T11-oth-X000

AMND Amendment
E13-X000 Pre-grant limitation requested

St.27 status event code: A-2-3-E10-E13-lim-X000

P11-X000 Amendment of application requested

St.27 status event code: A-2-2-P10-P11-nap-X000

P13-X000 Application amended

St.27 status event code: A-2-2-P10-P13-nap-X000

PX0901 Re-examination

St.27 status event code: A-2-3-E10-E12-rex-PX0901

PX0701 Decision of registration after re-examination

St.27 status event code: A-3-4-F10-F13-rex-PX0701

X701 Decision to grant (after re-examination)
GRNT Written decision to grant
PR0701 Registration of establishment

St.27 status event code: A-2-4-F10-F11-exm-PR0701

PR1002 Payment of registration fee

St.27 status event code: A-2-2-U10-U11-oth-PR1002

Fee payment year number: 1

PG1601 Publication of registration

St.27 status event code: A-4-4-Q10-Q13-nap-PG1601

PN2301 Change of applicant

St.27 status event code: A-5-5-R10-R13-asn-PN2301

St.27 status event code: A-5-5-R10-R11-asn-PN2301

PN2301 Change of applicant

St.27 status event code: A-5-5-R10-R13-asn-PN2301

St.27 status event code: A-5-5-R10-R11-asn-PN2301

FPAY Annual fee payment

Payment date: 20160224

Year of fee payment: 6

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 4

P22-X000 Classification modified

St.27 status event code: A-4-4-P10-P22-nap-X000

R18-X000 Changes to party contact information recorded

St.27 status event code: A-5-5-R10-R18-oth-X000

R18-X000 Changes to party contact information recorded

St.27 status event code: A-5-5-R10-R18-oth-X000

PN2301 Change of applicant

St.27 status event code: A-5-5-R10-R13-asn-PN2301

St.27 status event code: A-5-5-R10-R11-asn-PN2301

FPAY Annual fee payment

Payment date: 20200302

Year of fee payment: 7

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 7

PN2301 Change of applicant

St.27 status event code: A-5-5-R10-R13-asn-PN2301

St.27 status event code: A-5-5-R10-R11-asn-PN2301

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 8

R18-X000 Changes to party contact information recorded

St.27 status event code: A-5-5-R10-R18-oth-X000

P22-X000 Classification modified

St.27 status event code: A-4-4-P10-P22-nap-X000

R18-X000 Changes to party contact information recorded

St.27 status event code: A-5-5-R10-R18-oth-X000

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 9

R18-X000 Changes to party contact information recorded

St.27 status event code: A-5-5-R10-R18-oth-X000

R18-X000 Changes to party contact information recorded

St.27 status event code: A-5-5-R10-R18-oth-X000

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 10

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 11

R18-X000 Changes to party contact information recorded

St.27 status event code: A-5-5-R10-R18-oth-X000

PC1903 Unpaid annual fee

St.27 status event code: A-4-4-U10-U13-oth-PC1903

Not in force date: 20250329

Payment event data comment text: Termination Category : DEFAULT_OF_REGISTRATION_FEE

R18-X000 Changes to party contact information recorded

St.27 status event code: A-5-5-R10-R18-oth-X000

R18 Changes to party contact information recorded

Free format text: ST27 STATUS EVENT CODE: A-5-5-R10-R18-OTH-X000 (AS PROVIDED BY THE NATIONAL OFFICE)

R18-X000 Changes to party contact information recorded

St.27 status event code: A-5-5-R10-R18-oth-X000

H13 Ip right lapsed

Free format text: ST27 STATUS EVENT CODE: N-4-6-H10-H13-OTH-PC1903 (AS PROVIDED BY THE NATIONAL OFFICE); TERMINATION CATEGORY : DEFAULT_OF_REGISTRATION_FEE

Effective date: 20250329

PC1903 Unpaid annual fee

St.27 status event code: N-4-6-H10-H13-oth-PC1903

Ip right cessation event data comment text: Termination Category : DEFAULT_OF_REGISTRATION_FEE

Not in force date: 20250329