KR20070003920A - Cache server network and method of scheduling the distribution of content files - Google Patents

Cache server network and method of scheduling the distribution of content files Download PDF

Info

Publication number
KR20070003920A
KR20070003920A KR1020067018529A KR20067018529A KR20070003920A KR 20070003920 A KR20070003920 A KR 20070003920A KR 1020067018529 A KR1020067018529 A KR 1020067018529A KR 20067018529 A KR20067018529 A KR 20067018529A KR 20070003920 A KR20070003920 A KR 20070003920A
Authority
KR
South Korea
Prior art keywords
request
cache server
content
server
cache
Prior art date
Application number
KR1020067018529A
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 KR1020067018529A priority Critical patent/KR20070003920A/en
Publication of KR20070003920A publication Critical patent/KR20070003920A/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/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/62Establishing a time schedule for servicing the requests
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/2885Hierarchically arranged intermediate devices, e.g. for hierarchical 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/52Network services specially adapted for the location of the user terminal
    • 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/55Push-based network services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

A technique for scheduling distribution of a content file within a content delivery network and a content delivery network adapted to perform the same are disclosed. The technique comprise scheduling distribution of the content file based on delivery location, service time of content requests, and cache server hierarchy. Preferably, a multicasting tree for delivering each content file is dynamically established in the content delivery network based on location and service time considerations. ® KIPO & WIPO 2007

Description

캐시 서버 네트워크 및 콘텐츠 파일의 분배를 스케쥴링하는 방법{CACHE SERVER NETWORK AND METHOD OF SCHEDULING THE DISTRIBUTION OF CONTENT FILES}How to schedule distribution of cache server network and content files {CACHE SERVER NETWORK AND METHOD OF SCHEDULING THE DISTRIBUTION OF CONTENT FILES}

본 발명은 일반적으로 데이터 통신 및 캐시 서버 네트워크 분야에 관한 것으로, 보다 상세하게는, 콘텐츠 전달 네트워크 내에 콘텐츠의 멀티캐스팅 분배를 스케쥴링하는 시스템 및 방법에 관한 것이다.FIELD OF THE INVENTION The present invention generally relates to the field of data communications and cache server networks, and more particularly, to systems and methods for scheduling multicasting distribution of content within a content delivery network.

영화같은 대용량의 콘텐츠에 대하여, 콘텐츠 클라이언트는 일반적으로 보다 나은 품질을 위해 어느 정도의 지연은 묵인한다. 클라이언트는 저품질의 스트리밍 비디오를 즉시 보기보다는 미래의 계획된 시간에 고품질로 다운로드된 비디오를 시청할 수 있다. 예를 들면, 모바일 사용자는 그가 셀룰라 모바일 네트워크에 있는 동안 비디오를 미리 주문할 수 있고, 그 사용자가 핫스폿(hotspot) 무선 LAN 내에 있는 동안 주문한 비디오를 다운로드할 수 있다. 이와 같이, 모바일 사용자는 고품질의 콘텐츠를 저가로 즐길 수 있다. For large amounts of content, such as movies, content clients generally tolerate some delay for better quality. The client can watch the downloaded video in high quality at a planned time in the future, rather than immediately watching the low quality streaming video. For example, a mobile user may pre-order a video while he is in a cellular mobile network, and download the ordered video while that user is in a hotspot wireless LAN. As such, the mobile user can enjoy high quality content at low cost.

최근에, CDN(content delivery network) 기술이 인터넷으로 확산되어 사용됨으로써 웹 페이지의 다운로드가 향상되었다. CDN은 서로 다른 지리적 위치에서의 캐시 서버, 즉, 저장 및 전송 능력을 갖는 네트워크 노드들로 구성된다. CDN 기술의 기본 전제는 캐시 서버와 클라이언트 간 링크가 저비용 및 고 대역폭을 갖는다 는 것이다. 클라이언트가 콘텐츠 파일을 요청하는 때에, 콘텐츠 파일이 캐시 서버 근처의 캐시에 저장되어 있으면, 다운로드가 빠르게 될 것이다. 그렇지 않다면, 클라이언트는 더 긴 지연을 경험할 수 있다. 따라서, 가장 가까운 서버에서 클라이언트가 콘텐츠 파일을 다운로드하는 것이 바람직하다. 클라이언트에 대하여 가까운 캐시 서버를 찾는 기술을 요청-경로지정(request-routing)이라 부른다. 보다 가까운 캐시 서버로 콘텐츠 요청을 재지시하는 과정이 있다. 예를 들면, 원래의 URL로부터 어떤 하나의 URL로 URL을 수정하는 것은 캐시 서버에 의해 미리 결정된다(prefixed). 또 다른 애플리케이션에서, 콘텐츠 타이밍을 갖는 요청-경로지정을 확장함으로써, 캐시 서버 상의 요청된 콘텐츠의 미래의 가용성을 기초로 하여 보다 가까운 캐시 서버에 요청을 재지시하게 된다.Recently, content delivery network (CDN) technology has been spread to the Internet and used to improve download of web pages. The CDN consists of cache servers at different geographical locations, i.e. network nodes having storage and forwarding capabilities. The basic premise of CDN technology is that the link between cache server and client has low cost and high bandwidth. When a client requests a content file, the download will be faster if the content file is stored in a cache near the cache server. If not, the client may experience a longer delay. Therefore, it is desirable for the client to download the content file from the nearest server. The technique of finding a cache server close to a client is called request-routing. There is a process for redirecting content requests to a closer cache server. For example, modifying a URL from the original URL to any one URL is predetermined by the cache server. In another application, by extending request-routing with content timing, the request is redirected to a closer cache server based on the future availability of the requested content on the cache server.

전형적으로, 클라이언트는 대용량의 콘텐츠 파일에 대하여 자신이 콘텐츠 파일을 검색하고자 하는 시간만큼 자신이 지정하는 예상 서비스 시간까지 지연을 묵인할 수 있다. 따라서, 요청된 콘텐츠 파일이 클라이언트에 가까운 캐시 서버에 현재 저장되어 있지 않더라도, 예상 서비스 시간 전에 다운로드 시스템이 콘텐츠 파일을 캐시 서버로 전송할 수 있으면, 클라이언트는 지연을 경험하지 않게 될 것이다. 클라이언트 검색에 대하여 요청된 콘텐츠 파일의 다운 로드를 적절한 캐시 서버로 적절히 스케쥴링함으로써 상기 지연을 감소시키는 것이 산업의 목표이다.Typically, a client can tolerate a delay for a large amount of content file up to the expected service time that it specifies by the time it wants to retrieve the content file. Thus, even if the requested content file is not currently stored in the cache server close to the client, the client will not experience a delay if the download system can transfer the content file to the cache server before the expected service time. It is an industry goal to reduce this delay by properly scheduling the download of content files requested for client retrieval to the appropriate cache server.

멀티캐스팅 콘텐츠 전달은 서로 다른 캐시 서버에서 요청될 수 있다. 콘텐츠 다운로드 전에, 향상된 콘텐츠 요청 정보의 가용성에 기인하여, 멀티캐스팅 기술을 통해 CDN에서의 콘텐츠 분배를 최적화하는 것이 가능하다. 전형적으로, 다운 로드 서비스는, 콘텐츠 파일에 대한 클라이언트 요청이 도래하는 곳에서 가장 가까운 캐시 서버로 콘텐츠 파일을 분배하기 위해 CDN을 필요로 한다. 콘텐츠 파일은 그 캐시 서버에 저장되어야 하고, 클라이언트가 지정한 예상 서비스 시간보다 늦지 않은 시간에 클라이언트에게 다운로드할 준비가 되어야 한다. 이와 같이, 콘텐츠 파일에 대한 요청과 관계된 캐시 서버로 콘텐츠 파일을 분배하는 것을 스케쥴링하는 향상된 시스템 및 방법이 필요하게 된다. Multicasting content delivery can be requested from different cache servers. Prior to content download, due to the availability of enhanced content request information, it is possible to optimize content distribution in the CDN through multicasting techniques. Typically, the download service requires a CDN to distribute the content file to the cache server closest to where the client request for the content file comes. The content file must be stored on its cache server and ready to be downloaded to the client at a time no later than the client's expected service time. As such, a need exists for an improved system and method for scheduling distribution of content files to cache servers associated with requests for content files.

간략하게는, 본 발명은 캐시된 네트워크 환경 내에서 콘텐츠 파일의 분배를 스케쥴링하는 방법에 관한 것이다. 이러한 방법은: 서비스 시간에 전달될 콘텐츠에 대한 요청을 수신하는 단계, 콘텐츠 파일을 특정 캐시 서버와 관계시키는 단계, 캐시 서버의 멀티캐스팅 트리를 동적으로 확립하는 단계, 및 요청된 콘텐츠를 캐시 서버의 멀티캐스팅 트리로부터 서비스 시간에 전달하는 단계를 포함한다.Briefly, the present invention relates to a method for scheduling distribution of content files within a cached network environment. These methods include: receiving a request for content to be delivered at service time, associating a content file with a particular cache server, dynamically establishing a multicasting tree of the cache server, and requesting the content of the cache server. Passing from the multicasting tree at service time.

도 1은 본 발명의 일 실시예에 따른 콘텐츠 전달 네트워크의 개략도이다.1 is a schematic diagram of a content delivery network according to one embodiment of the invention.

도 2는 캐시 서버의 근접성을 고려하여 본 발명의 일 실시예에 따른 콘텐츠 파일에 대한 다수의 사용자 요청에 기인한 다운로드 및 관련 구조를 도시하는 도 1의 콘텐츠 전달 네트워크의 개략도이다.FIG. 2 is a schematic diagram of the content delivery network of FIG. 1 showing the download and associated structure resulting from multiple user requests for content files in accordance with an embodiment of the present invention in view of the proximity of a cache server.

도 3은 캐시 서버의 근접성을 고려하여 본 발명의 일 실시예에 따른 콘텐츠 전달 네트워크에서 콘텐츠 파일의 분배 및 다운로드를 스케쥴링하는 방법의 플로우 차트이다.3 is a flow chart of a method for scheduling distribution and download of content files in a content delivery network according to an embodiment of the present invention in consideration of proximity of a cache server.

멀티캐스팅 분배는 전송 계층이나 애플리케이션 계층에서 구현될 수 있다. 전송 계층 멀티캐스팅과 관련하여서는 결함이 많이 있기 때문에, 본 발명에서는 애플리케이션 계층 멀티캐스팅만을 고려한다. 전송 계층 멀티캐스팅에서는 멀티캐스팅 인에이블 전송 네트워크가 필요하다. 인터넷은 일반적으로 그러한 전송 네트워크를 구비하지 않고 있다. 또한, 멀티캐스팅 인에이블 전송 네트워크가 이용가능할지라도, 멀티캐스팅 트리의 모든 브랜치 상에서 동시에 전송되어야 한다. 이로 인해, 멀티캐스팅 트리 상의 어떠한 네트워크 노드(즉, 캐시 서버)도 멀티캐스팅 세션의 임의의 주기에서 전송 또는 캐시 능력을 갖는다는 것이 가능하지 않다. 그러나, 애플리케이션 계층 멀티캐스팅은 멀티캐스팅 트리 상의 노드에서 노드로의 전송 스케쥴에 있어서 보다 유연할 수 있다. 서로 다른 예상 서비스 시간의 다수의 다운로드 요청이 있는 다운로드 서비스에 대하여, 애플리케이션 계층 멀티캐스팅이 보다 적절할 수 있다. 본 명세서에서 사용되는 바와 같이, 애플리케이션 계층 멀티캐스팅은 멀티캐스팅 트리 상의 각 네트워크 노드에서 스토어(store)/포워드(forward) 액션으로 정의되어 있다. 스토어는 중간 노드 상에서의 캐싱(caching)을 포함하고 포워드는 동일하거나 상이한 시간에 다수의 포트로의 전송을 의미한다.Multicasting distribution can be implemented at the transport layer or at the application layer. Since there are many defects associated with transport layer multicasting, the present invention only considers application layer multicasting. Transport layer multicasting requires a multicasting enabled transport network. The Internet generally does not have such a transport network. In addition, even if a multicasting enabled transport network is available, it must be transmitted simultaneously on all branches of the multicasting tree. Because of this, it is not possible for any network node (ie cache server) on the multicasting tree to have transfer or cache capability in any period of the multicasting session. However, application layer multicasting can be more flexible in the transmission schedule from node to node on the multicasting tree. For download services with multiple download requests of different expected service times, application layer multicasting may be more appropriate. As used herein, application layer multicasting is defined as a store / forward action at each network node on the multicasting tree. The store includes caching on intermediate nodes and forward means transmission to multiple ports at the same or different time.

이제, 도 1을 참조하면, 본 발명의 콘텐츠 전달 시스템(100)의 일 실시예가 도시되어 있다. 시스템(100)은 콘텐츠 서버(S), 및 캐시 서버(A), 캐시 서버(B) 및 캐시 서버(C)를 포함하는 CDN을 포함한다. 단지 세개의 캐시 서버를 구비하는 CDN에 대한 특정 구조를 도시하였지만, 본 발명은 임의의 특정 네트워크 구조나 구성에 한정되지는 않는다. (플랫(flat) 또는 계층적) CDN 네트워크의 구조에 관계없이, 멀티캐스팅 트리는 본 발명에 따른 콘텐츠 파일 분배용으로 확립될 수 있다. 동일한 콘텐츠 파일에 대한 요청이 동일한 예상 서비스 시간을 갖지 않는 한, 다운로드 및 관련 구조(즉, 멀티캐스팅 트리 구조)는 소스와 목적지 간 거리뿐만 아니라 서로 다른 예상 서비스 시간들 간의 갭에 따라 다를 것이다.Referring now to FIG. 1, one embodiment of a content delivery system 100 of the present invention is shown. System 100 comprises a content server S and a CDN comprising a cache server A, a cache server B and a cache server C. Although a particular architecture for a CDN with only three cache servers is shown, the invention is not limited to any particular network architecture or configuration. Regardless of the structure of the (flat or hierarchical) CDN network, a multicasting tree can be established for content file distribution according to the present invention. Unless requests for the same content file have the same expected service time, the download and associated structure (i.e., the multicasting tree structure) will depend on the gap between the different expected service times as well as the distance between the source and destination.

이제, 도 2를 참조하면, 데이터 플로우 화살표로 도시된 컴포넌트들을 연결하는 콘텐츠 전달 시스템(100)이 도시되고, 도 3은 본 발명의 실시예로서, 단계(300)에서, 클라이언트/사용자(A1, B1 및 C1) 각각은 동일한 콘텐츠 파일에 대한 요청을 생성한다. 콘텐츠 파일에 대한 각 요청은 추정된 서비스 시간을 갖는다. 본 명세서에서 사용되는 바와 같이, 요청의 서비스 시간은, 콘텐츠 파일이 클라이언트의 전자 디바이스, 즉, 컴퓨터, 휴대 전화, 또는 개인 휴대 단말 장치로 다운로드하는데 이용가능하다는 것을 클라이언트가 요청하는 시간이다. 서비스 시간은 요청이 이루어질 때 클라이언트(A1, B1 및 C1)에 의해 지정된다. 본 예에서, 클라이언트(A1, B1 및 C1)에 의해 생성된 요청에 대한 서비스 시간은 각각 7 PM, 5 PM 및 8 PM이다. 서비스 시간이 B1-A1-C1의 연대순을 갖더라도, 상기 요청이 클라이언트에 의해 생성되거나 및/또는 시스템(100)에 의해 수신된 순서로 제한되지는 않는다.Referring now to FIG. 2, there is shown a content delivery system 100 that connects the components shown by the data flow arrows, and FIG. 3 is an embodiment of the present invention, in which step 300, a client / user A1, B1 and C1) each make a request for the same content file. Each request for a content file has an estimated service time. As used herein, the service time of a request is the time the client requests that the content file is available for download to the client's electronic device, i.e., a computer, a mobile phone, or a personal digital assistant. The service time is specified by the clients A1, B1 and C1 when the request is made. In this example, the service times for requests generated by clients A1, B1 and C1 are 7 PM, 5 PM and 8 PM, respectively. Although the service time has a chronological order of B1-A1-C1, the request is not limited to the order generated by the client and / or received by the system 100.

(이해를 간단히 하기 위해 요청 A1, B1 및 C1으로 칭해지는) 클라이언트(A1, B1 및 C1)에 의해 생성된 요청은 캐시 서버(A, B, C) 각각에 관련되고, 단계(310) 가 완료된다. 요청(A1, B1 및 C1)과 캐시 서버(A, B 및 C)의 관계는 도 2에서 라인 1, 2 및 3으로 지정된다. 정적인 계층적 구조 또는 동적인 요청-경로지정 프로세스를 통해 CDN에 의해 관계가 결정된다. 어느 캐시 서버가 각각의 요청과 관계되어 있는지의 선택은 클라이언트에 대한 캐시 서버의 근접성에 의해 결정된다. 요청은, 콘텐츠 파일에 대한 요청을 하는 클라이언트에 가장 가까운 캐시 서버와 관계되는 것이 바람직하다. 본 명세서에서 사용되는 바와 같이, 대역폭 비용 및/또는 혼잡도를 고려하는 물리적 집약성(locality) 및/또는 네트워크 집약성을 사용하여 결정된다. 그러한 관계를 수행하는데 사용되는 기술은 요청-경로지정 기술로 공지되어 있다. 어느 캐시 서버가 요청과 관련되는지의 결정은 정적으로, 즉, 다수의 프록시 서버에서의 사전에 확립된 계층적 구조가 존재하거나, 동적으로 학습될 수 있다. 대안으로, 클라이언트는 핫스폿에서 원격 사이트 다운로드 기능과 같은 클라이언트 요청이 관계되는 특정 캐시 서버를 지정할 수 있다. The request generated by the clients A1, B1 and C1 (referred to as requests A1, B1 and C1 for simplicity of understanding) relates to each of the cache servers A, B and C, and step 310 is completed. do. The relationship between requests A1, B1 and C1 and cache servers A, B and C is designated as lines 1, 2 and 3 in FIG. Relationships are determined by the CDN through a static hierarchical structure or a dynamic request-routing process. The choice of which cache server is associated with each request is determined by the cache server's proximity to the client. The request is preferably associated with a cache server closest to the client making the request for the content file. As used herein, the determination is made using physical locality and / or network locality, taking into account bandwidth cost and / or congestion. The technique used to perform such a relationship is known as a request-route technique. Determination of which cache server is associated with the request can be statically, i.e., a pre-established hierarchical structure at multiple proxy servers, or can be learned dynamically. Alternatively, the client may specify a particular cache server to which the client request relates, such as the remote site download function at the hotspot.

캐시 서버로의 요청의 관계가 요청-경로지정 기술에 의해 동적으로 결정되는 경우에는, 확장된 요청-경로지정 기술이 사용되어야 한다. 이 경우에, 요청된 콘텐츠 파일이 현재 캐시 서버 상에서 이용할 수 없더라도, 요청-경로지정은 상기 관계가 콘텐츠 파일을 미래 시간에 캐시 서버로 전달하는 것을 의미하기 때문에 그 요청을 캐시 서버에 여전히 관계시킬 수 있다.If the relationship of the request to the cache server is dynamically determined by the request-routing technique, an extended request-routing technique should be used. In this case, even if the requested content file is not currently available on the cache server, the request-pathing can still relate the request to the cache server because the relationship means delivering the content file to the cache server in the future. have.

요청(A1, B1 및 C1)은 콘텐츠 서버(S)에 B1, C1 및 A1 순서로 전송된다. 멀티캐스팅 트리는 초기에 단지 하나의 노드, 콘텐츠 서버(S)를 가질 것이다. 요청(B1)이 콘텐츠 서버(S)로 전송된 제1 요청이기 때문에, 단계(320)에서는 우선적 으로 캐시 서버(B)에 대하여 실행된다. 단계(320)에서, 캐시 서버(B)가 멀티캐스팅 트리 상에 있는지가 결정된다. 그 답이 (이 경우에 있어서) NO라면, 시스템은 노드(B)를 멀티캐스팅 트리에 부가하고 단계(330)로 진행한다. 단계(330)에서, 시스템은 가장 가까운 업스트림 캐시 서버의 존재에 대하여 체크하고, 이 경우에 업스트림 캐시 서버(C)를 찾는다. 이것은 정적 계층 또는 요청-경로지정을 통해 행해진다. 요청 경로지정이 도시되어 있다. 요청(B1)은 다음에 캐시 서버(c)에 관련되고, 단계(340)를 완료한다. 캐시 서버(C)에 대한 요청(B1)의 관계는 도 2에서 라인 4로 도시되어 있다.Requests A1, B1 and C1 are sent to content server S in the order B1, C1 and A1. The multicasting tree will initially have only one node, the content server (S). Since the request B1 is the first request sent to the content server S, step 320 is executed first with respect to the cache server B. In step 320, it is determined whether cache server B is on the multicasting tree. If the answer is NO (in this case), the system adds node B to the multicasting tree and proceeds to step 330. In step 330, the system checks for the presence of the nearest upstream cache server and finds the upstream cache server C in this case. This is done through static hierarchy or request-pathing. Request routing is shown. Request B1 is then associated with cache server c and completes step 340. The relationship of the request B1 to the cache server C is shown by line 4 in FIG.

단계(320)는 다음에 캐시 서버(C)에 대하여 실행된다. 단계(320)에 따라, 캐시 서버(C)가 멀티캐스팅 트리 상에 있는지가 결정된다. 그 답이 이 경우에 있어서 NO라면, 시스템은 노드(C)를 멀티캐스팅 트리에 부가한다. 그러면, 캐시 서버(C)는 콘텐츠 서버(S)인 가장 가까운 업스트림 노드를 찾고 단계(330)를 완료한다. 다음에, 요청(C1)은 단계(340)에서 콘텐츠 서버(S)와 관계되고, 이것은 도 2에서 라인 5로 도시되어 있다. Step 320 is then executed for the cache server C. According to step 320, it is determined whether cache server C is on the multicasting tree. If the answer is NO in this case, then the system adds node C to the multicasting tree. The cache server C then finds the closest upstream node that is the content server S and completes step 330. Next, request C1 is associated with content server S at step 340, which is shown by line 5 in FIG.

다음에, 단계(320)는 콘텐츠 서버(S)에 대하여 실행된다. 단계(320)에 따라, 콘텐츠 서버(S)가 멀티캐스팅 트리 상에 있기 때문에, 그 답이 YES이고 단계(350)로 진행한다. 현재 서버가 콘텐츠 서버이기 때문에, 단계(350)에서의 답이 NO이고 그 다음 요청을 프로세싱하기 위해 진행한다.Next, step 320 is executed for the content server S. FIG. According to step 320, since the content server S is on the multicasting tree, the answer is YES and proceeds to step 350. Since the current server is a content server, the answer at step 350 is NO and then proceeds to process the request.

이제, 요청(C1)을 고려하면, 요청(C1)은 단계(300)에서 (요청(B1)에 후속하여) 생성되고, 단계(310)에서 캐시 서버(C)와 관계된다. 요청(B1)에 대한 프로세 스 실행 시에 이미 멀티캐스팅 트리에 노드(C)가 부가되었기 때문에, 단계(320)에서의 답이 YES이고 프로세스는 단계(350)으로 진행한다. C1의 서비스 시간(8 PM)이 B1의 서비스 시간(5 PM)보다 늦기 때문에, 단계(350)에서의 답은 NO이다. 다음에, 프로세스는 다시 시작하여 그 다음 요청을 처리한다.Considering request C1, request C1 is now generated (following request B1) at step 300 and associated with cache server C at step 310. Since node C has already been added to the multicasting tree when executing the process for request B1, the answer at step 320 is YES and the process proceeds to step 350. Since the service time of C1 (8 PM) is later than the service time of 5 (5 PM), the answer at step 350 is NO. The process then restarts and processes the next request.

이제, 요청(C1)에 후속하여 수신된 요청(A1)을 참고하면, 요청(A1)은 단계(300)에서 생성되고 단계(310)에서 캐시 서버(A)와 관계된다. 단계(320)에 따라, 캐시 서버(A)가 멀티캐스팅 트리 상에 있는지 결정된다. 이 경우에, 그 답이 NO이고 프로세스는 단계(330)에서 계속된다. 이 때, 노드(A)는 멀티캐스팅 트리에 우선적으로 부가되고, 캐시 서버(A)는 업스트림 캐시 서버(B)를 찾고, 단계(330)를 완료한다. 다음에, 단계(340)에서 요청(A1)은 캐시 서버(B)에 관계된다. 이 관계된 도 2에 라인 6으로 도시되어 있다. 노드(B)가 이미 멀티캐스팅 트리 상에 있고, A1의 서비스 시간이 노드(B) 상의 서비스 시간보다 늦기 때문에, 단계(350)에서의 답은 NO이다. 다음에, 프로세스는 다시 시작하여 그 다음 요청을 처리한다.Referring now to the request A1 received following request C1, request A1 is generated at step 300 and associated with cache server A at step 310. According to step 320, it is determined whether cache server A is on the multicasting tree. In this case, the answer is NO and the process continues at step 330. At this time, node A is preferentially added to the multicasting tree, and cache server A finds upstream cache server B, and completes step 330. Next, in step 340, request A1 relates to cache server B. This is illustrated by line 6 in FIG. 2. Since node B is already on the multicasting tree and the service time of A1 is later than the service time on node B, the answer at step 350 is NO. The process then restarts and processes the next request.

캐시 서버들 간의 거리를 결정하는데 사용되는 알고리즘은 지리적 거리뿐만 아니라 캐시 능력, 네트워크 링크의 부하 밸런스 등의 기타 인자에도 기초한다. 예를 들면, 노드(B)에서 5 PM부터 7 PM까지 콘텐츠를 캐싱하는 비용이 링크 7과 링크 6 사이의 비용 차보다 더 클 수 있기 때문에, 노드(A)는 자신의 업스트림 노드인 노드(C)를 찾는다. The algorithm used to determine the distance between cache servers is based on geographic distance as well as other factors such as cache capacity, load balancing of network links, and the like. For example, because the cost of caching content at node B from 5 PM to 7 PM may be greater than the cost difference between link 7 and link 6, node A is node C, which is its upstream node. Find).

본 발명을 본 분야에 능숙한 당업자가 용이하게 구성하고 사용하기에 충분히 상세히 설명하고 도시되었지만, 본 발명의 사상 및 범위에서 벗어나지 않고 다양한 대체, 수정 및 개선을 용이하게 할 수 있다는 것은 자명하다. While the invention has been described and illustrated in sufficient detail to enable those skilled in the art to readily construct and use the invention, it will be apparent that various substitutions, modifications, and improvements may be made without departing from the spirit and scope of the invention.

Claims (17)

콘텐츠 전달 네트워크 시스템으로부터 콘텐츠 파일에 대한 요청(request)을 처리하는 방법으로서,A method of processing a request for a content file from a content delivery network system, the method comprising: 서비스 시간에 전달될 콘텐츠에 대한 요청을 수신하는 단계,Receiving a request for content to be delivered at service time, 상기 콘텐츠 파일을 특정 캐시 서버와 관계시키는 단계,Associating the content file with a particular cache server; 캐시 서버들의 멀티캐스팅 트리를 동적으로 확립하는 단계, 및Dynamically establishing a multicasting tree of cache servers, and 요청된 콘텐츠를 캐시 서버들의 멀티캐스팅 트리로부터 상기 서비스 시간에 전달하는 단계Delivering the requested content from the multicasting tree of cache servers at the service time 를 포함하는 방법.How to include. 제1항에 있어서,The method of claim 1, 상기 관계시키는 단계는 상기 요청을 가장 가까운 캐시 서버와 관계시키는 단계를 더 포함하는 방법.The associating further comprises associating the request with the nearest cache server. 제1항에 있어서,The method of claim 1, 상기 동적으로 확립하는 단계는 캐시 서버가 멀티캐스팅 트리와 아직 관계되어 있지 않으면 요청과 관계된 캐시 서버를 부가하는 단계를 더 포함하는 방법.The dynamically establishing further includes adding a cache server associated with the request if the cache server is not yet associated with the multicasting tree. 제1항에 있어서,The method of claim 1, 상기 관계시키는 단계는 상기 요청이 이전 요청보다 더 빠른 서비스 시간을 갖는다면 상기 요청을 가장 가까운 서버와 관계시키는 단계를 더 포함하는 방법.The associating further comprises associating the request with the nearest server if the request has a faster service time than a previous request. 콘텐츠 전달 네트워크 시스템으로부터 콘텐츠 파일에 대한 요청을 처리하는 방법으로서,A method of processing a request for a content file from a content delivery network system. (a) 제1 서비스 시간을 갖는 콘텐츠 파일에 대한 제1 요청을 수신하는 단계,(a) receiving a first request for a content file having a first service time, (b) 검색을 위해 상기 제1 요청을 캐시 서버와 관계시키는 단계,(b) associating the first request with a cache server for retrieval, (c) 상기 관계된 캐시 서버가 콘텐츠 파일의 기원(origin)인 콘텐츠 서버에 기원을 둔 멀티캐스팅 트리 상에 있는지를 판정하는 단계,(c) determining whether the relevant cache server is on a multicasting tree originating in a content server that is the origin of the content file, (d) 상기 관계된 캐시 서버가 상기 멀티캐스팅 트리 상에 있지 않다고 판단되면, 상기 관계된 캐시 서버를 상기 멀티캐스팅 트리에 부가하고, 상기 콘텐츠 서버로 향하는 업스트림 캐시 서버를 찾고, 찾아진 업스트림 캐시 서버와 상기 제1 요청을 관계시켜 상기 업스트림 캐시 서버가 상기 관계된 캐시 서버가 되도록 하며, 상기 콘텐츠 서버에 도달하고 상기 제1 요청이 상기 콘텐츠 서버와 관계될 때까지 상기 단계(c)를 반복하는 단계 - 상기 제1 요청은 콘텐츠 서버와 관계되고, 단계(a)에서 시작하는 상기 콘텐츠 파일에 대한 그 다음 요청을 처리함 -,(d) if it is determined that the relevant cache server is not on the multicasting tree, add the relevant cache server to the multicasting tree, find an upstream cache server destined for the content server, and find the found upstream cache server and the Associating a first request such that the upstream cache server becomes the associated cache server and repeating step (c) until reaching the content server and the first request is associated with the content server. 1 the request relates to a content server and processes the next request for the content file starting at step (a)-, (e) 상기 관계된 캐시 서버가 상기 멀티캐스팅 트리 상에 있다고 판정되면, 상기 제1 서비스 시간이 상기 관계된 캐시 서버 상에 이미 존재하는 콘텐츠 파일에 대한 요청의 모든 서비스 시간보다 더 빠른지를 판정하는 단계,(e) if it is determined that the relevant cache server is on the multicasting tree, determining if the first service time is earlier than all service times of a request for a content file that already exists on the related cache server, (f) 상기 제1 서비스 시간이 상기 관계된 캐시 서버 상에 이미 존재하는 요 청의 다른 모든 서비스 시간보다 빠르지 않다고 판정되면, 상기 제1 요청을 상기 캐시 서버와 관계시키고 단계(a)에서 시작하여 콘텐츠 파일에 대한 그 다음 요청을 처리하는 단계, 및(f) if it is determined that the first service time is not earlier than all other service times of requests already present on the associated cache server, the first request is associated with the cache server and the content file begins at step (a). Processing the next request for, and (g) 상기 제1 서비스 시간이 상기 관계된 캐시 서버 상에 이미 존재하는 요청의 다른 모든 서비스 시간보다 빠르다고 판정되면, 상기 멀티캐스팅 트리 상의 콘텐츠 서버로 향하는 업스트림 캐시 서버라고 판정된 캐시 서버와 관계시켜, 이 캐시 서버가 상기 관계된 캐시 서버가 되도록 하고, 상기 제1 요청이 상기 콘텐츠 서버와 관계될 때까지 단계(c)로 리턴하는 단계 - 상기 제1 요청이 상기 콘텐츠 서버와 관계되면, 단계(a)에서 시작하여 콘텐츠 파일에 대한 그 다음 요청을 처리함 -(g) if it is determined that the first service time is earlier than all other service times of a request already present on the associated cache server, in association with a cache server determined to be an upstream cache server directed to a content server on the multicasting tree, Causing this cache server to be the associated cache server and returning to step (c) until the first request is associated with the content server, if the first request is associated with the content server, step (a) Processed the next request for a content file, starting at- 을 포함하는 방법.How to include. 제5항에 있어서,The method of claim 5, 업스트림 캐시 서버를 찾는 상기 단계는 요청 경로지정 과정을 사용하여 가장 가까운 업스트림 캐시 서버를 찾는 것을 포함하는 방법.Finding the upstream cache server comprises finding the nearest upstream cache server using a request routing process. 제6항에 있어서,The method of claim 6, 지리적 거리, 캐시 점유도 및 네트워크 링크의 부하 밸런스로 구성되는 그룹으로부터 선택된 적어도 하나의 인자를 사용하여 근접성이 결정되는 방법.The proximity is determined using at least one factor selected from the group consisting of geographic distance, cache occupancy, and load balance of the network link. 제5항에 있어서,The method of claim 5, 업스트림 캐시 서버를 찾는 상기 단계는 계층적 관계를 사용하여 업스트림 캐시 서버를 찾는 방법.The step of finding an upstream cache server is a method of finding an upstream cache server using a hierarchical relationship. 콘텐츠 서버 및 CDN 네트워크를 포함하고, 콘텐츠 파일에 대한 요청을 처리하는 콘텐츠 전달 네트워크 시스템으로서,A content delivery network system comprising a content server and a CDN network and processing a request for a content file, (a) 클라이언트로부터 콘텐츠 파일에 대한 제1 요청을 수신하고, (b) 검색을 위해 상기 제1 요청을 캐시 서버와 관계시키며, (c) 상기 관계된 캐시 서버가 멀티캐스팅 트리 상에 있는지를 판정하고, 있지 않다면, 상기 캐시 서버를 멀티캐스팅 트리에 관계시키도록 적응된 적어도 하나의 캐시 서버(a) receive a first request for a content file from a client, (b) associate the first request with a cache server for retrieval, (c) determine whether the associated cache server is on a multicasting tree, and At least one cache server adapted to relate the cache server to a multicasting tree, if not 를 구비하는 콘텐츠 전달 네트워크 시스템.Content delivery network system comprising a. 제9항에 있어서,The method of claim 9, 제1 서비스 시간이 멀티캐스팅 트리 상의 상기 관계된 캐시 서버 상에 이미 존재하는 요청의 다른 모든 서비스 시간보다 빠른지를 판정하고, 빠르지 않다면, 상기 제1 요청을 상기 트리 상에 있는 캐시 서버와 관계시키고, 빠르다면, 업스트림 캐시 서버를 찾고, 상기 제1 서비스 시간이 상기 멀티캐스팅 트리 상의 관계된 캐시 서버 상에 이미 존재하는 요청의 다른 모든 서비스 시간보다 빠르거나 상기 제1 요청이 콘텐츠 서버에 관계될 때까지 상기 제1 요청을 업스트림 캐시 서버에 관계시키는 수단을 구비하는 콘텐츠 전달 네트워크 시스템. Determine if the first service time is earlier than all other service times of requests already present on the related cache server on the multicasting tree, and if not fast, associate the first request with a cache server on the tree, and If so, locate an upstream cache server, and wherein the first service time is earlier than all other service times of a request already present on the associated cache server on the multicasting tree or until the first request is associated with a content server. And a means for associating the 1 request to the upstream cache server. 제9항에 있어서,The method of claim 9, 제1 서비스 시간이 상기 트리 상의 관계된 캐시 서버 상에 이미 존재하는 요청의 다른 모든 서비스 시간보다 빠르지 않다면 상기 멀티캐스팅 트리 상에 있다고 판정된 캐시 서버와 상기 제1 요청을 관계시키는 수단을 구비하는 콘텐츠 전달 네트워크 시스템.Means for associating the first request with a cache server determined to be on the multicasting tree if a first service time is not earlier than all other service times of a request already present on the associated cache server on the tree. Network system. 제9항에 있어서, The method of claim 9, 요청 경로지정에 의해 가장 가까운 업스트림 캐시 서버를 찾는 수단을 구비하는 콘텐츠 전달 네트워크 시스템.Means for finding the nearest upstream cache server by request routing. 제12항에 있어서, The method of claim 12, 지리적 거리, 캐시 점유도 및 네트워크 링크의 부하 밸런스로 구성되는 그룹으로부터 선택된 적어도 하나의 인자를 사용하여 가장 가까운 업스트림 캐시 서버를 찾는 수단을 구비하는 콘텐츠 전달 네트워크 시스템.Means for finding the nearest upstream cache server using at least one factor selected from the group consisting of geographic distance, cache occupancy, and load balance of the network link. 제9항에 있어서,The method of claim 9, 계층적 관계를 사용하여 업스트림 캐시 서버를 찾는 수단을 구비하는 콘텐츠 전달 네트워크 시스템.And a means for locating an upstream cache server using a hierarchical relationship. 제9항에 있어서,The method of claim 9, 요청 경로지정을 위한 정보를 제공하도록 적응되어 그 결과가 콘텐츠 서버에 의해 사용되도록 하는 콘텐츠 전달 네트워크 브로커(broker)를 더 포함하고, 상기 정보는 콘텐츠 전달 네트워크에 있는 하나 이상의 캐시 서버 상에 요청된 콘텐츠 파일의 이용가능성에 관한 것인 콘텐츠 전달 네트워크 시스템.And further comprising a content delivery network broker adapted to provide information for request routing so that the result is used by the content server, the information being requested on one or more cache servers in the content delivery network. A content delivery network system that relates to the availability of a file. 제9항에 있어서,The method of claim 9, 요청 경로지정을 위한 정보를 제공하도록 적응되어 그 결과가 콘텐츠 서버에 의해 사용되도록 하는 콘텐츠 전달 네트워크 브로커를 더 포함하고, 상기 정보는 콘텐츠 전달 네트워크에 있는 하나 이상의 캐시 서버 상에 요청된 콘텐츠 파일의 이용 가능성에 관한 것이거나 또는 하나 이상의 캐시 서버(13)에서의 콘텐츠 파일의 미래의 이용가능성을 스케쥴링하는 것인 콘텐츠 전달 네트워크 시스템.And further comprising a content delivery network broker adapted to provide information for request routing so that the results are used by the content server, the information using the requested content file on one or more cache servers in the content delivery network. A content delivery network system that relates to the possibility or to schedule future availability of a content file at one or more cache servers (13). 제9항에 있어서,The method of claim 9, 하나 이상의 캐시 서버 및 콘텐츠 전달 네트워크 브로커를 더 포함하고, 상기 브로커, 캐시 서버, 및/또는 미래의 시간 주기를 결정하기 위한 콘텐츠 서버 및 클라이언트가 상기 파일을 요청할 수 있는 서버를 위한 수단을 더 포함하는 콘텐츠 전달 네트워크 시스템.Further comprising one or more cache servers and a content delivery network broker, further comprising means for the broker, cache server, and / or a content server for determining a future time period and a server from which a client can request the file. Content Delivery Network System.
KR1020067018529A 2006-09-11 2004-03-12 Cache server network and method of scheduling the distribution of content files KR20070003920A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020067018529A KR20070003920A (en) 2006-09-11 2004-03-12 Cache server network and method of scheduling the distribution of content files

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020067018529A KR20070003920A (en) 2006-09-11 2004-03-12 Cache server network and method of scheduling the distribution of content files

Publications (1)

Publication Number Publication Date
KR20070003920A true KR20070003920A (en) 2007-01-05

Family

ID=37870422

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020067018529A KR20070003920A (en) 2006-09-11 2004-03-12 Cache server network and method of scheduling the distribution of content files

Country Status (1)

Country Link
KR (1) KR20070003920A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101066871B1 (en) * 2008-10-16 2011-09-26 에스케이텔레콤 주식회사 System and method for content delivery using cache server and browser cache
KR101104727B1 (en) * 2008-10-16 2012-01-11 에스케이플래닛 주식회사 System and method for content delivery using cache server and browser cache

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101066871B1 (en) * 2008-10-16 2011-09-26 에스케이텔레콤 주식회사 System and method for content delivery using cache server and browser cache
KR101104727B1 (en) * 2008-10-16 2012-01-11 에스케이플래닛 주식회사 System and method for content delivery using cache server and browser cache

Similar Documents

Publication Publication Date Title
US20070208737A1 (en) Cache Server Network And Method Of Scheduling The Distribution Of Content Files Within The Same
US11805184B2 (en) Content delivery systems and methods
US11425088B2 (en) Content delivery network optimization system
CN106031130B (en) Content distribution network framework with edge proxies
US8984056B2 (en) Inter point of presence split architecture
EP2704402B1 (en) Method and node for distributing electronic content in a content distribution network
US6622157B1 (en) Extending network services using mobile agents
US8612588B1 (en) Point of presence to point of presence web page compression
US20130132544A1 (en) Precise geolocation for content caching in evolved packet core networks
JP2008544690A (en) Multicast download using route information
JP2007529072A (en) Download scheduling system and method in cache network environment
KR20040032106A (en) A system and method for reducing the time to deliver information from a communications network to a user
US20140108674A1 (en) Anycast redirect to unicast content download
CN108293023B (en) System and method for supporting context-aware content requests in information-centric networks
EP2785017B1 (en) Content-centric networking
KR20070003920A (en) Cache server network and method of scheduling the distribution of content files
US20070185971A1 (en) Method and system for accelerating data communication that is using multipart
EP2400749B1 (en) Access network controls distributed local caching upon end-user download
Bosunia et al. Content-centric distribution in wireless networks
KR20060126819A (en) System and method for scheduling downloading in a cached network environment
WO2014025972A2 (en) Inter point of presence split architecture
Shigeyasu Introduction to content centric network architectures replacing traditional location centric network
Yunpeng Research on the mobile P2P VOD system of JXME
Tsige ENERGY CONSUMPTION OF CONTENT DELIVERY NETWORK (CDN) BASED ON A REAL INTERNET MODEL

Legal Events

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