KR20150049200A - 컨텐츠 제공을 위한 장치, 이를 위한 방법 및 이 방법이 기록된 컴퓨터 판독 가능한 기록매체 - Google Patents
컨텐츠 제공을 위한 장치, 이를 위한 방법 및 이 방법이 기록된 컴퓨터 판독 가능한 기록매체 Download PDFInfo
- Publication number
- KR20150049200A KR20150049200A KR1020130129445A KR20130129445A KR20150049200A KR 20150049200 A KR20150049200 A KR 20150049200A KR 1020130129445 A KR1020130129445 A KR 1020130129445A KR 20130129445 A KR20130129445 A KR 20130129445A KR 20150049200 A KR20150049200 A KR 20150049200A
- Authority
- KR
- South Korea
- Prior art keywords
- edge
- edge cache
- information
- content
- routing
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/16—Multipoint routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/12—Shortest path evaluation
- H04L45/125—Shortest path evaluation based on throughput or bandwidth
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
- H04L45/742—Route cache; Operation thereof
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
본 발명은 컨텐츠 제공을 위한 장치, 이를 위한 방법 및 이 방법이 기록된 컴퓨터 판독 가능한 기록매체에 관한 것으로, 이러한 본 발명은 사용자 장치로부터 컨텐츠 요청 메시지를 수신하는 인터페이스부와, 복수의 에지 캐시에 대한 라우팅 정보를 수집하는 라우팅 정보 수집 모듈과, 상기 복수의 에지 캐시에 걸린 부하의 정도를 나타내는 상태 정보를 주기적으로 수집하는 상태 정보 수집 모듈과, 상기 라우팅 거리 및 상기 상태 정보에 기초하여 선택된 에지 캐시의 주소 정보를 상기 인터페이스부를 통해 상기 사용자 장치에 전달하는 에지 캐시 선택 모듈을 포함한다.
Description
본 발명은 컨텐츠 제공 기술에 관한 것으로, 더욱 상세하게는, 네트워크 토폴로지와 컨텐츠 전달을 위한 에지 캐시의 상태를 고려하여 컨텐츠를 제공하는 장치, 이를 위한 방법 및 이 방법이 기록된 컴퓨터 판독 가능한 기록매체에 관한 것이다.
최근, 스마트폰(smart phone)과 같은 사용자 장치의 성능 향상 및 이동통신 기술의 발달에 따라, 사용자는 언제 어디서나, 사용자 장치를 통해 컨텐츠 제공자(CP, Contents Provider)가 제공하는 웹 서버에 접속해 사진, 비디오, 오디오, 어플리케이션 등과 같은 다양한 컨텐츠를 이용할 수 있게 되었다. 또한, 사용자의 이동성이 보장되는 모바일 망(예컨대, 이동통신망)을 통해 컨텐츠를 이용하는 빈도 또한 지속적으로 증가하고 있다. 그러나 컨텐츠 제공자(CP)가 제공하는 웹 서버의 수는 한정된 반면, 웹 서버에 접속하고자 하는 사용자는 급속히 증가하고 있어, 이로 인해, 데이터 손실, 병목 현상, 전송 지연, 데이터 끊김과 같은 불안전성 등 다양한 문제가 발생하게 되었다.
이러한, 문제를 해결하기 위해 등장한 것이 바로, CDN(Contents Delivery Network, 컨텐츠 전송 네트워크)이다. CDN이란 사진, 영화, 뮤직 비디오 등과 같은 다양한 종류의 컨텐츠를 사용자 장치로 안정적으로 전달하기 위한 서비스이다. 더 구체적으로 CDN은, 사용자 장치와 멀리 떨어져 있는 컨텐츠 제공자(CP)의 웹 서버에 있는 다양한 컨텐츠, 예컨대, 이미지, 비디오, 오디오 등과 같이 용량이 크거나 사용자 장치의 요구가 빈번한 컨텐츠를 네트워크 상의 주요 지점에 광역적으로 분산 배치된 에지 캐시에 미리 일부 또는 전부를 복사하여 저장한다. 이후, 사용자 장치로부터 컨텐츠 요청 메시지가 수신되면, 상기 사용자 장치와 가장 근접한 곳에 위치한 에지 캐시가 이에 응답하여, 해당 에지 캐시로부터 사용자 장치로 컨텐츠를 전송한다. 그 결과, CDN은 컨텐츠 접속 속도를 개선하고 보다 안정적으로 컨텐츠를 제공할 수 있다.
본 발명의 목적은 컨텐츠를 요청한 사용자 장치의 위치와 에지 캐시가 배치된 네트워크 토폴로지 그리고 에지 캐시의 상태를 모두 고려하여, 최적의 에지 캐시를 통해 사용자 장치에 컨텐츠를 제공할 수 있는 장치, 이를 위한 방법 및 이 방법이 기록된 컴퓨터 판독 가능한 기록매체를 제공함에 있다.
상술한 바와 같은 목적을 달성하기 위한 본 발명의 바람직한 실시예에 따른 컨텐츠 제공을 위한 장치는 사용자 장치로부터 컨텐츠 요청 메시지를 수신하는 인터페이스부; 복수의 에지 캐시에 대한 라우팅 정보를 수집하는 라우팅 정보 수집 모듈; 상기 복수의 에지 캐시에 걸린 부하의 정도를 나타내는 상태 정보를 주기적으로 수집하는 상태 정보 수집 모듈; 및 상기 라우팅 정보에 따라 복수의 에지 캐시와 사용자 장치와의 라우팅 거리를 산출하고, 상기 라우팅 거리 및 상기 상태 정보에 기초하여 선택된 에지 캐시의 주소 정보를 상기 인터페이스부를 통해 상기 사용자 장치에 전달하는 에지 캐시 선택 모듈;을 포함한다.
상술한 바와 같은 목적을 달성하기 위한 본 발명의 바람직한 실시예에 따른 컨텐츠 라우터의 컨텐츠 제공을 위한 방법은, 사용자 장치로부터 컨텐츠 요청 메시지를 수신하는 단계; 미리 수집된 수집된 라우팅 정보를 이용하여 상기 복수의 에지 캐시와 상기 사용자 장치와의 라우팅 거리를 산출하는 단계; 상기 라우팅 거리와 상기 복수의 에지 캐시에 걸린 부하의 정도를 나타내는 상태 정보에 기초하여 복수의 에지 캐시 중 어느 하나의 에지 캐시를 선택하는 단계; 및 상기 선택된 에지 캐시의 주소 정보를 포함하는 경로 재설정 메시지를 상기 사용자 장치에 전달하는 단계;를 포함한다.
본 발명에 따르면, 단순히, 에지 캐시가 배치된 네트워크 토폴로지에 따른 사용자 장치와 에지 캐시의 라우팅 거리만을 고려하는 것이 아니라, 라우팅 거리와 에지 캐시의 부하의 정도를 나타내는 상태 정보를 모두 고려하여, 사용자 장치에 최적의 서비스를 제공할 수 있는 에지 캐시를 통해 컨텐츠를 제공할 수 있다.
도 1은 본 발명의 실시예에 따른 컨텐츠 제공 시스템을 설명하기 위한 도면이다.
도 2는 본 발명의 실시예에 따른 계층 구조로 이루어진 네트워크 토폴로지를 설명하기 위한 도면이다.
도 3은 본 발명의 실시예에 따른 컨텐츠 라우터의 개략적인 구성을 설명하기 위한 블록도이다.
도 4는 본 발명의 실시예에 따른 컨텐츠 제공 방법을 설명하기 위한 흐름도이다.
도 5는 본 발명의 실시예에 따른 컨텐츠 라우터의 에지 캐시에 대한 라우팅 정보를 수집하는 방법을 설명하기 위한 흐름도이다.
도 6a는 본 발명의 제1 실시예에 따른 컨텐츠 라우터의 에지 캐시의 상태 정보를 수집하는 방법을 설명하기 위한 흐름도이다.
도 6b는 본 발명의 제2 실시예에 따른 컨텐츠 라우터의 에지 캐시의 상태 정보를 수집하는 방법을 설명하기 위한 흐름도이다.
도 7은 본 발명의 실시예에 따른 컨텐츠 라우터의 컨텐츠 제공 방법을 설명하기 위한 흐름도이다.
도 2는 본 발명의 실시예에 따른 계층 구조로 이루어진 네트워크 토폴로지를 설명하기 위한 도면이다.
도 3은 본 발명의 실시예에 따른 컨텐츠 라우터의 개략적인 구성을 설명하기 위한 블록도이다.
도 4는 본 발명의 실시예에 따른 컨텐츠 제공 방법을 설명하기 위한 흐름도이다.
도 5는 본 발명의 실시예에 따른 컨텐츠 라우터의 에지 캐시에 대한 라우팅 정보를 수집하는 방법을 설명하기 위한 흐름도이다.
도 6a는 본 발명의 제1 실시예에 따른 컨텐츠 라우터의 에지 캐시의 상태 정보를 수집하는 방법을 설명하기 위한 흐름도이다.
도 6b는 본 발명의 제2 실시예에 따른 컨텐츠 라우터의 에지 캐시의 상태 정보를 수집하는 방법을 설명하기 위한 흐름도이다.
도 7은 본 발명의 실시예에 따른 컨텐츠 라우터의 컨텐츠 제공 방법을 설명하기 위한 흐름도이다.
이하 첨부된 도면을 참조하여 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있는 바람직한 실시예를 상세히 설명한다. 다만, 본 발명의 바람직한 실시예에 대한 동작 원리를 상세하게 설명함에 있어 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 이는 불필요한 설명을 생략함으로써 본 발명의 핵심을 흐리지 않고 더욱 명확히 전달하기 위함이다.
또한, 어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 또한, 본 명세서에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 또한, 본 명세서에서 기술되는 "포함 한다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
그리고, 제1, 제2 등의 용어는 다양한 구성요소들을 설명하기 위해 사용하는 것으로, 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용될 뿐, 상기 구성요소들을 한정하기 위해 사용되지 않는다. 이때, 도면 전체에 걸쳐 유사한 기능 및 작용을 하는 부분에 대해서는 동일한 도면 부호를 사용하며, 이에 대한 중복되는 설명은 생략하기로 한다.
도 1은 본 발명의 실시예에 따른 컨텐츠 제공 시스템을 설명하기 위한 도면이다.
도 1을 참조하면, 본 발명의 실시예에 따른 컨텐츠 제공 시스템은 사용자 장치(100), 에지 캐시(200), 도메인 네임 서버(300), 컨텐츠 라우터(400), 코어 캐시(500) 및 컨텐츠 서버(600)를 포함한다.
접속 네트워크(1)는 유선 접속 네트워크 혹은 무선 접속 네트워크가 될 수 있으며, 사용자 장치(100)가 유선 혹은 무선 매체를 통해 코어 네트워크(2)에 접속하도록 하는 엔티티들로 이루어진다.
유선 혹은 무선으로 접속 네트워크(200)에 접속하기 위해 사용자 장치(100)는 유선 및 무선 중 적어도 하나로 통신 기능을 수행할 수 있는 모듈을 구비한 장치가 될 수 있다. 예컨대, 사용자 장치(100)는 무선으로 접속 네트워크(200)에 연결할 수 있는 이동형 단말기가 될 수 있다. 예컨대, 이동형 단말기는 휴대폰, 스마트 폰(smart phone), 노트북 컴퓨터(laptop computer), 디지털방송용 단말기, 태블릿 PC(Tablet PC), PDA(Personal Digital Assistants), PMP(Portable Multimedia Player), 내비게이션, MP3 플레이어 등을 예시할 수 있다. 또한, 사용자 장치(100)는 유선으로 접속 네트워크(200)에 연결할 수 있는 고정형 단말기가 될 수 있다. 예컨대, 고정형 단말기는 스마트 TV(Smart TV), 셋탑박스(set-top box), 데스크탑 컴퓨터 등이 될 수 있다.
무선 접속 네트워크인 경우, 접속 네트워크(1)는 셀룰러(cellular) 시스템에서 무선 구간 서비스를 제공하는 네트워크 상의 엔티티(entity)들로 이루어진 네트워크가 될 수 있다. 예컨대, 접속 네트워크(1)는 BS(Base Station), BTS(Base Transceiver Station), NodeB, 등과 같은 다수의 기지국과, BSC(Base Station Controller), RNC(Radio Network Controller)와 같은 기지국 제어기로 구현될 수 있다. 다른 예로, eNodeB와 같이 하나의 엔티티로 구현될 수 있다. 또 다른 예로, 접속 네트워크(1)는 디지털 유니트(Digital Unit, 이하 DU라 함)와 무선 유니트(Radio Unit, 이하 RU라 함)로 구성될 수 있다. DU 및 RU는 기지국에 일체로 구현되어 있던 디지털 신호 처리부와 무선 신호 처리부를 각각 구분하여 구성한 것이다. 이때, 다수의 RU는 하나의 DU와 연결되어 구성된다.
접속 네트워크(1)가 유선 접속 네트워크인 경우, 접속 네트워크(1)는 사용자 장치(100)가 코어 네트워크(2)에 유선을 통해 연결될 수 있도록 하는 엔티티들로 이루어진다. 이러한 엔티티는 모뎀, 케이블 모뎀, 라우터, 스위치, 게이트웨이 등을 포함할 수 있다.
코어 네트워크(2)는 통신 서비스를 제공받는 사용자들에 대한 정보인 사용자 정보를 관리하고, 서킷 교환(circuit switching) 혹은 패킷 교환(packet switching)을 수행한다. 또한, 코어 네트워크(2)는 주파수간 이동성을 관리하고, 접속 네트워크(1) 및 코어 네트워크(2) 내의 트래픽 및 다른 네트워크, 예컨대, 공용 네트워크(3)와의 연동을 관리 및 제어한다. 코어 네트워크(2)는 상술한 기능을 수행하는 엔티티들로 이루어진다. 이러한 엔티티들은 MSC(Mobile Switching Center), HLR(Home Location Register), MME(Mobile Mobility Entity), SGW(Serving Gateway), PGW(Packet Data Network Gateway), HSS(Home Subscriber Server) 등을 예시할 수 있다.
공용 네트워크(3)는 TCP/IP 프로토콜에 따라서 정보가 교환되는 통상의 개방형 네트워크이다. 이러한 공용 네트워크(3)는 IP(Internet Protocol)를 사용하는 소위, 인터넷을 예시할 수 있다. 공용 네트워크(3)는 컨텐츠 서버(600)와 연결된다.
컨텐츠 서버(600)는 컨텐츠를 저장하고, 요청에 따라 사용자 장치(100)에게 다양한 컨텐츠, 예컨대, 사진, 비디오, 오디오, 어플리케이션 등과 같은 다양한 컨텐츠를 제공하기 위한 것이다. 컨텐츠 서버(600)는 소위, 컨텐츠 제공자(CP, Contents Provider)가 운영하는 서버이며, 다수의 사용자 장치(100)로 컨텐츠를 제공할 수 있다. 예컨대, 이러한 컨텐츠 서버(600)는 웹 서버(Web Server) 혹은 웹 어플리케이션 서버(WAS, Web Application Server) 등을 예시할 수 있다.
에지 캐시(200)는 접속 네트워크(1)에 배치되며, 코어 캐시(500)는 코어 네트워크(2)에 배치된다. 달리 설명하면, 사용자 장치(100)와 컨텐츠 서버(600) 사이에 에지 캐시(200)와 코어 캐시(500)가 위치한다. 여기서, 사용자 장치(100)와 컨텐츠 서버(600) 간에 송수신되는 모든 데이터가 에지 캐시(200) 및 코어 캐시(500)를 경유하도록 네트워크 토폴로지가 설계되는 것이 바람직하다. 이러한 네트워크 토폴로지로 설계된다면, 에지 캐시(200) 및 코어 캐시(500)는 어떠한 위치에 배치되어 있더라도 무방하다.
에지 캐시(200)는 컨텐츠 서버(600)로부터 컨텐츠의 일부 또는 전부를 복사한 복사본을 수신하여 저장할 수 있다. 일 실시예에 따르면, 에지 캐시(200)는 컨텐츠 서버(600)로부터 사용자 장치(100)로 전송되는 트래픽을 복사하여 저장하는 미러링 방식을 이용할 수 있다. 다른 실시예에 따르면, 에지 캐시(200)는 캐싱 방식을 통해 컨텐츠 서버(600)로부터 컨텐츠를 미리 수신하여 저장할 수도 있다. 컨텐츠 서버(600)의 컨텐츠를 저장한 에지 캐시(200)는 사용자 장치(100)가 컨텐츠를 요청하면, 컨텐츠 서버(600) 대신 컨텐츠를 사용자 장치(100)에 제공할 수 있다.
본 발명의 실시예에 따르면, 도 1에 도시되지는 않았지만, 접속 네트워크(1) 및 코어 네트워크(2)에는 복수의 집속 라우터, 분산 스위치 등이 배치된다. 사용자 장치(100)와 네트워크 엔티티(예컨대, 컨텐트 라우터) 간에 송수신되는 데이터, 메시지 등을 포함하는 패킷은 복수의 집속 라우터, 분산 스위치 등을 거친다.
집속 라우터, 분산 스위치 등은 패킷을 최적의 라우팅 경로로 전송하기 위해 자신과 인접 홉(Next Hop)에 연결된 복수의 집속 라우터, 분산 스위치, 에지 캐시(200) 등의 IP 정보를 저장하는 라우팅 테이블을 가진다. 특히, 본 발명의 실시예에 따르면, 집속 라우터, 분산 스위치 등은 컨텐츠 라우터(400)로 라우팅 정보를 전송한다. 라우팅 정보는 어떤 IP 정보를 가지는 인접 홉의 엔티티로부터 패킷을 수신하여, 어떤 IP 정보를 가지는 인접 홉의 엔티티로 패킷을 전송하는지 나타내는 정보이다. 예컨대, 라우팅 정보는 어느 하나의 집속 라우터가 컨텐츠 라우터(400)를 목적지로 하여 패킷을 전달할 때, 패킷이 라우팅되는 경로의 IP 정보를 나타내며, 상기 하나의 집속 라우터의 인접 홉 IP 정보(Next Hop IP information)를 포함한다. 이때, 컨텐츠 라우터(400)는 에지 캐시(200)와 인접 홉으로 연결된 집속 라우터를 포함하는 복수의 집속 라우터, 분산 스위치 등으로부터 수신된 라우팅 정보를 수집하여, 에지 캐시에 대한 라우팅 정보를 얻을 수 있다.
또한, 컨텐츠 라우터(400)는 주기적으로 각 에지 캐시(200)의 상태 정보를 수집한다. 상태 정보는 에지 캐시(200)에 걸린 부하의 정도를 나타내는 정보이다. 상태 정보는 부하의 정도를 정규화하여 나타낸다. 이는 부하의 정도를 0 내지 1.0의 수를 이용하여 나타내거나, 몇 개의 단계로 구분하여 나타낼 수도 있다.
사용자 장치(100)는 사용자가 요청한 컨텐츠에 대한 주소 정보(URL, Uniform Resource Locater)를 확인하고, 도메인 네임 서버(300)에 질의하면, 해당 주소 정보(URL)에 대응하는 컨텐츠 라우터(400)의 IP 정보를 얻는다. 그리고 사용자 장치(100)는 IP 정보를 이용하여 컨텐츠 라우터(400)에 접속한다. 그러면, 컨텐츠 라우터(400)는 미리 수집된 라우팅 정보를 이용하여 사용자 장치(100)와 에지 캐시(200)의 라우팅 거리를 산출한다. 여기서, 라우팅 거리는 사용자 장치(100)와 에지 캐시(200)와의 네트워크 상의 거리이며, 홉(hop)수로 표현될 수 있다. 그리고 컨텐츠 라우터(400)는 산출된 라우팅 거리와 에지 캐시(200)의 상태 정보를 모두 고려하여, 사용자 장치(100)에 최적의 서비스를 제공할 수 있는 에지 캐시(200)를 선택한다. 그런 다음, 해당 에지 캐시(200)를 통해 컨텐츠를 수신할 수 있도록 해당 에지 캐시(200)에 대한 주소 정보(URL)를 알려준다. 그러면 사용자 장치(100)는 에지 캐시(200)의 주소 정보로 에지 캐시의 IP 정보를 얻고, 해당 에지 캐시(200)를 통해 컨텐츠를 수신할 수 있다.
상술한 바와 같이, 본 발명의 실시예에 따르면, 단순히, 사용자 장치(100)와 에지 캐시(200)의 라우팅 거리만을 이용하여는 것이 아니라, 라우팅 거리와 상태 정보를 모두 고려하여, 사용자 장치(100)에 최적의 서비스를 제공할 수 있는 에지 캐시(200)를 통해 컨텐츠를 제공할 수 있다.
도 2는 본 발명의 실시예에 따른 계층 구조로 이루어진 네트워크 토폴로지를 설명하기 위한 도면이다.
도 2를 참조하면, 본 발명의 실시예에 따른 네트워크는 복수의 계층으로 구분되는 구조로 이루어질 수 있다. 예컨대, 도시된 바와 같이, 네트워크는 최상위 계층, 중간 계층 및 최하위 계층(10, 20, 30)으로 이루어질 수 있다. 복수의 네트워크 엔티티들이 라우팅을 위해 최상위 계층, 중간 계층 및 최하위 계층(10, 20, 30)에 배치된다. 최상위 계층(10)에는 컨텐츠 라우터(400) 등이 배치될 수 있다. 또한, 최상위 계층(10), 중간 계층(20) 및 최하위 계층(30)에는 복수의 분산 스위치(DS, Distribute Switch), 복수의 집속 라우터(AR, Aggregation Router) 등이 배치될 수 있다. 이와 같이, 설명의 편의를 위하여, 분산 스위치 및 집속 라우터를 집속 라우터(50, 60)로 통칭하여 설명하기로 한다.
특히, 최상위 계층(10)에 제1 컨텐츠 라우터(401) 및 제2 컨텐츠 라우터(402)가 배치된다. 여기서, 제1 컨텐츠 라우터(401)의 하위에 복수의 집속 라우터들(50)이 순차로 연결되며, 제2 컨텐츠 라우터(402)의 하위에 복수의 집속 라우터들(60)이 순차로 연결될 수 있다.
제1 및 제2 컨텐츠 라우터(401, 402) 각각은 하위의 복수의 집속 라우터들(50, 60)에 대한 라우팅 정보를 수집한다. 즉, 제1 컨텐츠 라우터(401)는 자신의 하위에 배치된 복수의 집속 라우터들(50)의 라우팅 정보를 수집하고, 제2 컨텐츠 라우터(402)는 자신의 하위에 배치된 복수의 집속 라우터들(60)의 라우팅 정보를 수집한다. 예컨대, 라우팅 정보는 인접 홉 IP 정보(Next Hop IP information)가 될 수 있다. 예컨대, 제1 및 제2 컨텐츠 라우터(401, 402)는 경계 경로 프로토콜(BGP, Border Gateway Protocol)을 이용하여, 라우팅 정보를 수집할 수 있다. 그리고, 제1 및 제2 컨텐츠 라우터(401, 402)는 상호간에 라우팅 정보를 교환한다. 바람직하게는, 제1 및 제2 컨텐츠 라우터(401, 402)는 상호간에 내부 경계 경로 프로토콜(iBGP, Internal BGP)에 따른 세션을 맺고, 상호간에 라우팅 정보를 교환할 수 있다. 이에 따라, 제1 및 제2 컨텐츠 라우터(401, 402) 각각은 자신의 하위에 배치되는 복수의 집속 라우터 뿐만 아니라 다른 컨텐츠 라우터의 하위에 배치되는 복수의 집속 라우터에 대한 라우팅 정보 또한 수집할 수 있다.
상술한 바와 같이, 제1 컨텐츠 라우터(401) 및 제2 컨텐츠 라우터(402)는 복수의 집속 라우터(50, 60)에 대한 라우팅 정보를 수집한다. 그리고 제1 컨텐츠 라우터(401) 및 제2 컨텐츠 라우터(402)는 복수의 집속 라우터(50, 60)의 라우팅 정보를 이용하여 특정 집속 라우터와 인접 홉에 배치된 에지 캐시(200)의 라우팅 정보를 얻을 수 있다.
한편, 중간 계층 및 최하위 계층(20, 30)에 배치되는 복수의 집속 라우터(50, 60) 에는 에지 캐시(200)가 연결될 수 있다. 컨텐츠 라우터(400)는 특정 에지 캐시(200)의 상태 정보를 주기적으로 수집한다. 상태 정보는 에지 캐시(200)에 걸린 부하의 정도를 나타내며, 에지 캐시(200)에서 사용되고 있는 CPU 사용률, 할당된 세션(session) 수, HTTP 응답 속도 등을 고려하여 산출된다. 이러한 상태 정보는 숫자로 표현될 수 있다. 예컨대, 0 내지 1.0 사이의 수를 이용하여 정규화(normalization)할 수 있다. 혹은, 상태 정보는 유휴(idle), 보통(normal), 바쁨(busy) 등의 상태로 표현할 수도 있다.
도 3은 본 발명의 실시예에 따른 컨텐츠 라우터의 개략적인 구성을 설명하기 위한 블록도이다.
도 3을 참조하면, 컨텐츠 라우터(400)는 인터페이스부(410), 저장부(420) 및 제어부(430)를 포함한다. 특히, 제어부(430)는 라우팅 정보 수집 모듈(431), 상태 정보 수집 모듈(433) 및 에지 캐시 선택 모듈(435)을 포함한다.
인터페이스부(410)는 복수의 집속 라우터들을 경유하여 신호를 송수신하기 위한 것이다. 이러한 신호는 본 발명의 실시예에 따른 각 종 메시지를 포함할 수 있다.
저장부(420)는 라우팅 정보 수집 모듈(431)이 수집하는 복수의 에지 캐시(200)의 라우팅 정보를 저장할 수 있다. 이 라우팅 정보는 IP 주소 자체, IP 주소 중 네트워크 주소 혹은 IP 프리픽스(prefix)가 될 수 있다. 또한 저장부(420)는 상태 정보 수집 모듈(433)이 수집한 복수의 에지 캐시(200)의 상태 정보를 저장한다. 이러한 상태 정보는 에지 캐시(200)에 할당된 세션 수, 에지 캐시(200)의 CPU 사용률 등을 통해 산출될 수 있다.
제어부(430)는 컨텐츠 라우터(400)의 전반적인 동작 및 컨텐츠 라우터(400)의 내부 블록들 간 신호 흐름을 제어하는 기능을 수행한다. 이러한 제어부(430)는 중앙 처리 장치(CPU, Central Processing Unit), 등의 프로세서가 될 수 있다.
제어부(430)는 사용자 장치(100)로부터 인터페이스부(410)를 통해 컨텐츠 요청 메시지를 수신하면, 컨텐츠 요청 메시지에 따라 사용자 장치(100)에 컨텐츠를 제공하기 위한 최적의 에지 캐시(200)를 선택한다. 그런 다음, 제어부(430)는 선택된 에지 캐시(200)의 주소 정보를 인터페이스부(410)를 통해 사용자 장치(100)에 제공한다. 이를 위하여, 제어부(430)는 라우팅 정보 수집 모듈(431), 상태 정보 수집 모듈(433) 및 에지 캐시 선택 모듈(435)을 포함한다.
라우팅 정보 수집 모듈(430)은 복수의 집속 라우터(AR)의 라우팅 정보를 수집하여, 집속 라우터(AR)와 인접 홉에 있는 에지 캐시(200)의 라우팅 정보를 도출한 후, 저장부(420)에 저장한다.
상태 정보 수집 모듈(433)은 인터페이스부(410)를 통해 복수의 에지 캐시(200)에 걸린 부하의 정도를 산출하기 위한 파라미터를 복수의 에지 캐시(200)로부터 주기적으로 수집한다. 그리고 상태 정보 수집 모듈(433)은 수집된 파라미터를 이용하여 각 에지 캐시(200)의 상태 정보를 구성한 후, 저장부(420)에 저장한다. 상태 정보를 구성할 때, 상태 정보 수집 모듈(433)은 에지 캐시(200)에 걸린 부하의 정도를 정규화하여 나타낼 수 있다. 다. 가령, 가장 부하가 심하게 걸린 경우, 1.0이라고 나타내고, 가장 부하가 적게 걸린 경우, 0이라고 나타낼 수 있다.
에지 캐시 선택 모듈(435)은 라우팅 정보 수집 모듈(431)이 수집한 라우팅 정보에 따라 복수의 에지 캐시(200)와 사용자 장치(100)와의 라우팅 거리를 산출한다. 그리고 에지 캐시 선택 모듈(435)은 라우팅 거리 및 상태 정보에 기초하여 에지 캐시를 선택한다. 그리고 에지 캐시 선택 모듈(435)은 선택된 에지 캐시(200)의 주소 정보를 포함하는 경로 재설정 메시지를 인터페이스부(410)를 통해 사용자 장치(100)로 전송한다. 이러한 제어부(430)의 각 구성의 동작은 아래에서 더 상세하게 설명될 것이다.
도 4는 본 발명의 실시예에 따른 컨텐츠 제공 방법을 설명하기 위한 흐름도이다.
도 4를 참조하면, 사용자 장치(100)는 S110 단계에서 사용자의 컨텐츠 요청을 감지한다. 그러면, 사용자 장치(100)는 사용자가 요청한 컨텐츠에 대한 주소 정보(예컨대, URL, Uniform Resource Locater)를 확인하고, S115 단계에서 도메인 네임 서버(300)에 질의하여 해당 URL에 대응하여 컨텐츠 요청 메시지를 전송할 IP 정보를 획득할 수 있다. 이때, 도메인 네임 서버(300)는 컨텐츠 서버(600) 대신 컨텐츠 라우터(400)의 IP 정보를 제공한다.
이어서, 사용자 장치(100)는 S120 단계에서 획득한 IP 정보를 이용하여 컨텐츠 요청 메시지를 전송한다. 이러한 컨텐츠 요청은 컨텐츠 라우터(400)로 전달된다.
컨텐츠 라우터(400)는 미리 수집된 라우팅 정보에 따라 복수의 에지 캐시(200)와 사용자 장치(100)와의 라우팅 거리를 산출한다. 그리고 컨텐츠 라우터(400)는 S125 단계에서 라우팅 거리 및 미리 수집된 에지 캐시(200)의 상태 정보에 기초하여 사용자 장치(100)에 최적의 서비스를 제공할 수 있는 에지 캐시(200)를 선택한다.
그런 다음, 컨텐츠 라우터(400)는 S130 단계에서 선택된 에지 캐시(200)의 주소 정보(URL)를 포함하는 경로 재설정 메시지를 전송한다. 경로 재설정 메시지는 HTTP에 따른 redirect 메시지가 될 수 있다. 경로 재설정 메시지를 수신한 사용자 장치(100)는 S135 단계에서 도메인 네임 서버(300)에 질의하여 에지 캐시(200)의 주소 정보에 대응하는 IP 주소를 획득할 수 있다.
그런 다음, 사용자 장치(100)는 S140 단계에서 컨텐츠 요청 메시지를 앞서(S150) 획득한 IP 주소로 전송한다. 즉, 사용자 장치(100)는 컨텐츠 라우터(400)가 선택한 에지 캐시(200)로 컨텐츠 요청 메시지를 전송한다.
S145 단계 내지 S160 단계는 선택적인 단계로 에지 캐시(200)에 사용자 장치(100)가 요청한 컨텐츠가 저장되어 있다면, 수행하지 않을 수 있다. 만약, 에지 캐시(200)에 사용자 장치(100)가 요청한 컨텐츠가 저장되어 있지 않다면, 에지 캐시(200)는 S145 단계에서 코어 캐시(500)에 컨텐츠 요청 메시지를 전달한다. 그러면, 코어 캐시(500)는 S150 단계에서 컨텐츠 서버(600)에 컨텐츠를 요청하고, S155 단계에서 컨텐츠 서버(600)로부터 그 컨텐츠를 수신한 후, S160 단계에서 에지 캐시(200)에 제공할 것이다. 그러면, 에지 캐시(200)는 S165 단계에서 해당 컨텐츠를 사용자 장치(100)에 제공할 것이다.
만약, 에지 캐시(200)가 컨텐츠를 미리 저장하고 있는 경우, S140 단계에서 컨텐츠 요청 메시지를 수신하면, 코어 캐시(500)를 통해 컨텐츠 서버(600)로부터 컨텐츠를 제공 받지 않고, S165 단계에서 미리 저장된 컨텐츠를 사용자 장치(100)에 제공할 수도 있다.
본 발명의 실시예에 따르면, 컨텐츠 라우터(400)는 사용자 장치(100)에 최적의 에지 캐시(200)를 제공하기 위해, 라우팅 거리 및 상태 정보를 이용한다. 이때, 라우팅 거리는 미리 저장된 라우팅 정보를 이용하여 도출된다. 여기서, 라우팅 거리는 에지 캐시(200)와 사용자 장치(100)와의 홉(hop) 수가 될 수 있다. 이러한 컨텐츠 라우터(400)의 라우팅 정보를 수집하는 방법에 대해서 설명하기로 한다.
도 5는 본 발명의 실시예에 따른 컨텐츠 라우터의 에지 캐시에 대한 라우팅 정보를 수집하는 방법을 설명하기 위한 흐름도이다. 도 5에서는 도 2에 도시된 바와 같은 네트워크 토폴로지에 따라 제1 컨텐츠 라우터(401) 및 제2 컨텐츠 라우터(402)가 존재하는 것으로 가정하고, 제1 컨텐츠 라우터(401)의 동작을 설명한다. 이에 따라, 제2 컨텐츠 라우터(402) 또한 동일한 동작을 수행할 수 있음을 이해할 수 있을 것이다. 더욱이, 도 4에서 제1 컨텐츠 라우터(401)의 동작은 제어부(430)의 라우팅 정보 수집 모듈(431)에 의해 수행된다.
제1 컨텐츠 라우터(401)의 라우팅 정보 수집 모듈(431)은 S210 단계에서 인터페이스부(410)를 통해 자신의 하위에 배치된 복수의 집속 라우터의 라우팅 정보를 수집한다.
제1 컨텐츠 라우터(401)에 라우팅 정보를 제공하기 위하여, 집속 라우터(AR)는 제1 컨텐츠 라우터(401)를 목적지로 하여 메시지를 전송할 수 있다. 집속 라우터(AR)는 제1 컨텐츠 라우터(401)를 목적지로 하여 메시지를 전송할 때, 집속 라우터 자신과 연결된 인접의 홉의 집속 라우터 중 최적의 경로로 판단되는 집속 라우터로 메시지를 전달할 것이다. 라우팅 정보는 집속 라우터(AR) 자신의 인접 홉(Next Hop)에 연결된 복수의 집속 라우터 중 그 메시지를 전달하는 집속 라우터의 IP 정보이다.
예를 들면, 라우팅 정보 수집 모듈(431)은 라우팅 정보를 BGP를 이용하여 수집할 수 있다. 복수의 집속 라우터(AR) 각각은 라우팅 정보(인접 홉 IP 정보)를 포함하는 갱신 메시지(BGP Update Message)를 컨텐츠 라우터(400)로 전송할 수 있다. 갱신 메시지는 인접 홉(Next Hop) 필드를 포함하며, 이 인접 홉(Next Hop) 필드는 집속 라우터의 인접 홉의 갱신 메시지가 전달되는 집속 라우터의 IP 정보가 기술된다.
다음의 <표 1>은 집속 라우터가 컨텐츠 라우터로 전달하는 라우팅 정보를 설명하기 위한 것이다.
제1 집속 라우터의 인접 홉(Next Hop) 집속 라우터 | IP 정보(IP prefix) |
제2 집속 라우터 | x.x.x.x / 24 |
제3 집속 라우터 | x.x.x.x / 16 |
<표 1>을 살펴보면, 제1 집속 라우터의 인접 홉 집속 라우터는 제2 및 제3 집속 라우터 등이 존재한다고 가정한다. 또한, 제1 집속 라우터가 컨텐츠 라우터(400)를 목적지로 메시지를 전송할 때, 최적의 경로는 제2 집속 라우터라고 가정한다. 이러한 경우 제1 집속 라우터는 메시지(BGP의 경우를 예를 들면, BGP Update Message)에 라우팅 정보로, <x.x.x.x / 24>를 포함시켜 제2 집속 라우터로 메시지를 전달한다.
다음으로, 라우팅 정보 수집 모듈(431)은 S220 단계에서 인터페이스부(410)를 통해 제2 컨텐츠 라우터(402)와 세션을 연결한다. 이 세션은 iBGP(Internal BGP) 세션이 될 수 있다. 이러한 iBGP 세션을 이용하여 라우팅 정보 수집 모듈(431)은 S230 단계에서 인터페이스부(410)를 통해 제2 컨텐츠 라우터(402)로부터 제2 컨텐츠 라우터(402)의 하위에 배치된 복수의 집속 라우터의 라우팅 정보를 수집한다. 즉, 제2 컨텐츠 라우터(400) 또한 자신의 하위에 배치된 복수의 집속 라우터의 라우팅 정보를 수집할 수 있으며, 제2 컨텐츠 라우터(400)는 수집된 라우팅 정보를 iBGP 세션을 통해 제1 컨텐츠 라우터(401)로 전달한다.
상술한 바와 같이, 제어부(430)는 제1 컨텐츠 라우터(401) 자신의 하위의 복수의 집속 라우터 및 제2 컨텐츠 라우터(402) 하위의 복수의 집속 라우터의 라우팅 정보를 수집할 수 있다. 그런 다음, 라우팅 정보 수집 모듈(431)은 S240 단계에서 라우팅 정보를 이용하여 각 집속 라우터와 연결된 에지 캐시(200)의 라우팅 정보를 도출하고, 이를 저장한다.
상술한 바와 같은 라우팅 정보 수집 방법에 이어, 컨텐츠 라우터(400)의 라우팅 정보를 수집하는 방법에 대해서 설명하기로 한다. 도 6a는 본 발명의 제1 실시예에 따른 컨텐츠 라우터의 에지 캐시의 상태 정보를 수집하는 방법을 설명하기 위한 흐름도이며, 도 6b는 본 발명의 제2 실시예에 따른 컨텐츠 라우터의 에지 캐시의 상태 정보를 수집하는 방법을 설명하기 위한 흐름도이다. 도 6a 및 6b에서는 도 2에 도시된 바와 같은 네트워크 토폴로지에 따라 제1 컨텐츠 라우터(401) 및 제2 컨텐츠 라우터(402)가 존재하는 것으로 가정하고, 제1 컨텐츠 라우터(401)의 동작을 설명한다. 이에 따라, 제2 컨텐츠 라우터(402) 또한 동일한 동작을 수행할 수 있음을 이해할 수 있을 것이다. 더욱이, 도 6a 및 6b에서 설명되는 제1 컨텐츠 라우터(401)의 동작은 제어부(430)의 상태 정보 수집 모듈(433)에 의해 수행되며, 주기적으로 이루어진다.
일 실시예에 따른 도 6a를 참조하면, 제1 컨텐츠 라우터(401)의 상태 정보 수집 모듈(433)은 S310 단계에서 상태 정보 요청 메시지를 생성한다. 그런 다음, 상태 정보 수집 모듈(433)은 S320 단계에서 인터페이스부(410)를 통해 자신(제1 컨텐츠 라우터)의 하위에 배치된 에지 캐시(200)로 상태 정보 요청 메시지를 전송한다. 상태 정보 요청 메시지는 상태 정보를 구성하기 위해 필요한 적어도 하나의 파라미터를 요청하기 위한 것이다. 여기서, 파라미터는 에지 서버(200)가 상태 정보 요청 메시지를 에지 서버(200)에 할당된 세션(Session)의 수, 에지 서버(200)의 CPU 사용률, HTTP 응답 속도 등을 예시할 수 있다. 그 밖에 다른 파라미터 등이 상태 정보를 구성하기 위해 요청될 수 있다. 이러한 상태 정보 요청 메시지는 SNMP get request 메시지가 될 수 있다. 특히, 본 발명의 실시예에 따르면, 상태 정보 요청 메시지를 전송할 때, 필요한 파라미터를 설정하여 전송할 수 있다. 따라서, 정책에 따라 필요한 파라미터를 이용하여 에지 캐시(200)의 상태 정보를 수집할 수 있다.
상태 정보 요청 메시지를 수신한 에지 캐시(200)는 요청된 파라미터를 포함하는 상태 정보 응답 메시지를 컨텐츠 라우터(400)로 전달할 것이다. 그러면, 상태 정보 수집 모듈(433)은 S330 단계에서 상태 정보 응답 메시지를 수신하여, S340 단계에서 자신의 하위에 배치된 에지 캐시(200)의 상태 정보를 구성하고, 이를 저장부(420)에 저장한다. 상태 정보는 상태 정보 응답 메시지에 포함된 파라미터, 즉, CPU 사용률, 할당된 세션 수, HTTP 응답 속도 등에 기초하여 정규화된다. 예컨대, 이러한 상태 정보는 숫자로 표현될 수 있다. 즉, 0 내지 1.0 사이의 수를 이용하여 정규화(normalization)할 수 있다. 여기서, 1.0에 가까울수록 부하가 많이 걸려있는 상태이며, 0에 가까울수록 부하가 적은 상태이다. 혹은, 상태 정보는 부하의 정도를 3개의 단계, 예컨대, 유휴(idle), 보통(normal), 바쁨(busy)으로 나타낼 수도 있다.
제2 컨텐츠 라우터(402) 또한 제1 컨텐츠 라우터(401)와 동일한 방법을 통해 자신의 하위의 에지 캐시(200)에 대한 상태 정보를 수집할 것이다. 따라서, 제1 컨텐츠 라우터(401)의 상태 정보 수집 모듈(433)은 S350 단계에서 인터페이스부(410)를 통해 제2 컨텐츠 라우터(402)로부터 제2 컨텐츠 라우터(402)의 하위에 배치된 에지 캐시(200)의 상태 정보를 수신하고, 이를 저장부(420)에 저장한다.
도 6a의 대안적인 실시예에 따른 도 6b에서, 복수의 에지 캐시(200)는 각각 자신의 상위에 배치된 제1 컨텐츠 라우터(401) 또는 제2 컨텐츠 라우터(402)로 상태 정보 알림 메시지를 주기적으로 전송하도록 설정된다. 상태 정보 알림 메시지는 SNMP Trap 메시지가 될 수 있다. 이러한 상태 정보 알림 메시지는 제1 컨텐츠 라우터(401) 또는 제2 컨텐츠 라우터(402)가 자신의 하위에 배치된 에지 캐시(200)의 상태 정보를 구성하기 위한 적어도 하나의 파라미터를 포함한다. 이 파라미터는 에지 서버(200)에 할당된 세션(Session)의 수, 에지 서버(200)의 CPU 사용률, HTTP 응답 속도 등을 예시할 수 있다. 그 밖에 다른 파라미터 등이 상태 정보를 구성하기 위해 요청될 수 있다.
상술한 바에 따라, 제1 컨텐츠 라우터(401)의 상태 정보 수집 모듈(433)은 S410 단계에서 자신의 하위에 배치된 에지 캐시(200)로부터 상태 정보 알림 메시지를 수신한다. 그런 다음, 상태 정보 수집 모듈(433)은 S420 단계에서 자신의 하위에 배치된 에지 캐시(200)의 상태 정보를 구성하고, 이를 저장부(420)에 저장한다. 상태 정보는 상태 정보 알림 메시지에 포함된 파라미터에 기초하여 정규화된다.
제2 컨텐츠 라우터(402) 또한 제1 컨텐츠 라우터(401)와 동일한 방법을 통해 자신의 하위의 에지 캐시(200)에 대한 상태 정보를 수집할 것이다. 따라서, 제1 컨텐츠 라우터(401)의 상태 정보 수집 모듈(433)은 S430 단계에서 인터페이스부(410)를 통해 제2 컨텐츠 라우터(402)로부터 제2 컨텐츠 라우터(402)의 하위에 배치된 에지 캐시(200)의 상태 정보를 수신하여, 이를 저장부(420)에 저장한다.
상술한 바와 같이, 도 6a에 따른 실시예의 경우, 상태 정보 요청 메시지를 통해 실시간으로 필요한 파라미터를 변경할 수 있다. 반면, 상태 정보 알림 메시지만을 전송하는 도 6b의 대안적인 실시예는 필요한 파라미터를 변경하는 절차가 번거롭다. 또한, 도 6a에 따른 실시예의 경우, 상태 정보 요청 메시지와 상태 정보 응답 메시지를 에지 캐시(200)와 컨텐츠 라우터(400) 간에 교환해야 하기 때문에, 네트워크 상의 트래픽이 늘어난다. 반면, 상태 정보 알림 메시지만을 전송하는 도 6b의 대안적인 실시예는 도 6a에 비해 트래픽의 양을 줄일 수 있다. 따라서 컨텐츠 라우터(400)는 도 6a 및 도 6b와 같은 프로세스를 현재 네트워크의 트래픽의 양에 따라 선택하여 수행할 수도 있다.
다음으로, 컨텐츠 라우터(400)가 수집한 라우팅 정보 및 상태 정보를 이용하여 사용자 장치(100)에 최적의 에지 캐시(200)를 선택하여, 해당 에지 캐시(200)를 통해 컨텐츠를 제공하는 방법에 대해서 설명하기로 한다. 도 7은 본 발명의 실시예에 따른 컨텐츠 라우터의 컨텐츠 제공 방법을 설명하기 위한 흐름도이다.
도 7을 참조하면, 제어부(430)의 에지 캐시 선택 모듈(435)은 S510 단계에서 인터페이스부(510)를 통해 컨텐츠 요청 메시지를 수신한다. 컨텐츠 요청 메시지는 IP 패킷을 통해 전달되며, IP 패킷의 소스 IP 필드를 통해 사용자 장치(100)의 IP 정보를 알 수 있다.
컨텐츠 요청 메시지를 수신하면, 에지 캐시 선택 모듈(435)은 미리 수집된 라우팅 정보 및 상태 정보를 이용하여 복수의 에지 캐시(200) 중 사용자 장치(100)에 최적의 서비스를 제공할 수 있는 어느 하나의 에지 캐시(200)를 선택한다.
이를 위하여, 에지 캐시 선택 모듈(435)은 S520 단계에서 복수의 에지 캐시(200) 중 사용자 장치(100)와의 라우팅 거리가 미리 설정된 기준 이내인 에지 캐시(200)를 도출한다. 미리 설정된 기준 이내라 함은 예컨대, 에지 캐시(200)와 사용자 장치(100)의 IP 정보를 비교하여, 홉(hop)을 기준으로 도출될 수 있다. 예컨대, 사용자 장치(100)와 3 홉 이내에 있는 에지 캐시(200)를 선택할 수 있다. 다른 예로, 에지 캐시(200)와 사용자 장치(100)의 IP 정보를 비교하여, 사용자 장치(100)와 네트워크 주소가 같은 복수의 에지 캐시(200)를 도출할 수 있다. 네트워크 주소가 같은 에지 캐시(200)는 호스트 주소만 다를 뿐 동일한 네트워크 주소를 가지고 있기 때문에, 일정 홉 미만의 라우팅 거리를 가질 것이다. 결국, 사용자 장치(100)와 네트워크 주소가 동일한 에지 캐시(200)들은 모두 사용자 장치(100)와의 라우팅 거리의 차가 크지 않을 것이다.
따라서, 에지 캐시 선택 모듈(435)은 S530 단계에서 미리 설정된 기준 이내의 라우팅 거리를 가지는 에지 캐시(200) 중 상태 정보에 따라 부하의 정도가 가장 낮은 에지 캐시(200)를 선택한다. 이와 같이, 선택된 에지 캐시(200)는 사용자 장치(100)와의 라우팅 거리가 일정 수준 이내로 짧기 때문에, 사용자 장치(100)로의 컨텐츠 전달을 위한 거리가 비교적 짧다. 더욱이, 선택된 에지 캐시(200)는 상태 정보에 따라 그 에지 캐시(200)에 걸린 부하의 정도가 낮기 때문에, 원활하게 컨텐츠를 사용자 장치(100)에 제공할 수 있다.
다음의 <표 2>를 참조하여, 에지 캐시를 선택하는 방법에 대해서 설명하기로 한다.
사용자 장치 IP 정보(IP prefix) | 에지 캐시 | 우선순위 | 라우팅 거리(홉수) | 상태 정보(0~1.0) |
x.x.x.x / 24 | 제1 에지 캐시 | 1 | x.x.x.a (3) | 0.3 |
제2 에지 캐시 | 2 | x.x.x.b (1) | 0.7 |
<표 2>를 살펴보면, 사용자 장치(100)의 IP 정보와 복수의 에지 캐시(200)의 라우팅 정보를 비교하여 사용자 장치(100)와 동일한 네트워크 주소를 가지는 제1 에지 캐시 및 제2 에지 캐시를 선택한다. 그런 다음, 제1 에지 캐시와 제2 에지 캐시의 호스트 주소를 통해 라우팅 거리를 산출한다. 좀 더 상세하게 설명하면, 사용자 장치의 IP 프리픽스가 24이기 때문에, 네트워크 주소는 x.x.x.x에서 3개의 옥텟(octet)이다. 이에 따라, 제1 에지 캐시의 IP 정보 x.x.x.a와 비교하면, 제1 에지 캐시는 호스트 주소 a에 의해 사용자 장치(100)와 3 홉의 라우팅 거리를 가진다고 가정한다. 따라서, 제2 에지 캐시의 IP 정보 x.x.x.a와 비교하면, 제2 에지 캐시는 호스트 주소 b에 의해 사용자 장치(100)와 1 홉의 라우팅 거리를 가진다고 가정한다. 즉, 제2 에지 캐시가 제1 에지 캐시 보다 짧은 라우팅 거리를 가진다. 하지만, 제2 에지 캐시의 상태 정보(0.7)에 따르면 제2 에지 캐시 부하가 많이 걸려 있는 상태이며, 제1 에지 캐시의 상태 정보(0.3)에 따르면 제1 에지 캐시는 부하가 적게 걸려 있는 상태이다. 따라서, 제1 에지 캐시가 선택될 수 있다. 이러한 에지 캐시의 선택 방법은 일 예일 뿐이며, 라우팅 거리에 가중치를 더 두어 에지 캐시를 선택할 수도 있다.
상술한 바와 같이 에지 캐시(200)를 선택한 후, 제어부(430)는 S540 단계에서 선택된 에지 캐시(200)의 주소 정보(URL)를 포함하는 경로 재설정 메시지를 사용자 장치(100)로 전송한다. 여기서, 경로 재설정 메시지는 HTTP에 따른 redirect 메시지가 될 수 있다. 경로 재설정 메시지를 통해 에지 캐시(200)의 주소 정보를 수신한 사용자 장치(100)는 도메인 네임 서버(300)에 질의하여 에지 캐시(200)의 IP 정보를 획득한 후, 해당 에지 캐시(200)를 통해 컨텐츠를 수신할 수 있다.
이러한, 본 발명의 실시 예에 따른 컨텐츠 제공을 위한 방법은 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있으며, 컴퓨터 시스템에 의해 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(Magnetic Media), CD-ROM(Compact Disk Read Only Memory), DVD(Digital Video Disk)와 같은 광기록 매체(Optical Media), 플롭티컬 디스크(Floptical Disk)와 같은 자기-광 매체(Magneto-Optical Media) 및 롬(ROM, Read Only Memory), 램(RAM, Random Access Memory), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치를 포함한다.
또한, 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고, 본 발명을 구현하기 위한 기능적인(functional) 프로그램, 코드 및 코드 세그먼트들은 본 발명이 속하는 기술분야의 프로그래머들에 의해 용이하게 추론될 수 있다.
이상으로 본 발명의 기술적 사상을 예시하기 위한 바람직한 실시 예와 관련하여 설명하고 도시하였지만, 본 발명은 이와 같이 도시되고 설명된 그대로의 구성 및 작용에만 국한되는 것은 아니며, 기술적 사상의 범주를 이탈함없이 본 발명에 대해 다수의 변경 및 수정이 가능함을 당업자들은 잘 이해할 수 있을 것이다. 따라서 그러한 모든 적절한 변경 및 수정과 균등물들도 본 발명의 범위에 속하는 것으로 간주되어야 할 것이다.
본 발명은 컨텐츠 제공을 위한 장치, 이를 위한 방법 및 이 방법이 기록된 컴퓨터 판독 가능한 기록매체에 관한 것으로, 이러한 본 발명에서, 컨텐츠 라우터는 사용자 장치로부터 컨텐츠 요청 메시지를 수신하면, 미리 수집된 라우팅 정보에 따라 복수의 에지 캐시와 사용자 장치와의 라우팅 거리를 산출하고, 사용자 장치와의 라우팅 거리가 일정 거리 미만인 에지 캐시 중 부하가 가장 적게 걸린 에지 캐시를 선택하여, 선택된 에지 캐시의 주소 정보를 사용자 장치에 제공한다. 그러면, 사용자 장치는 최적의 에지 캐시를 통해 컨텐츠를 수신할 수 있다. 상술한 바와 같이, 본 발명은 단순히, 에지 캐시가 배치된 네트워크 토폴로지에 따른 사용자 장치와 에지 캐시의 라우팅 거리만을 고려하는 것이 아니라, 라우팅 거리와 에지 캐시의 부하의 정도를 나타내는 상태 정보를 모두 고려하여, 사용자 장치에 최적의 서비스를 제공할 수 있는 에지 캐시를 통해 컨텐츠를 제공할 수 있다. 이는 시판 또는 영업의 가능성이 충분할 뿐만 아니라 현실적으로 명백하게 반복 실시할 수 있는 정도이므로 산업상 이용가능성이 있다.
1: 접속 네트워크 2: 코어 네트워크
3: 공용 네트워크 10: 최상위 계층
20: 중간 계층 30: 최하위 계층
50: 집속 라우터 60: 집속 라우터
100: 사용자 장치 200: 에지 캐시
300: 도메인 네임 서버 400: 컨텐츠 라우터
410: 인터페이스부 420: 저장부
430: 제어부 431: 라우팅 정보 수집 모듈
433: 상태 정보 수집 모듈 435: 에지 캐시 선택 모듈
500: 코어 캐시 600: 컨텐츠 서버
3: 공용 네트워크 10: 최상위 계층
20: 중간 계층 30: 최하위 계층
50: 집속 라우터 60: 집속 라우터
100: 사용자 장치 200: 에지 캐시
300: 도메인 네임 서버 400: 컨텐츠 라우터
410: 인터페이스부 420: 저장부
430: 제어부 431: 라우팅 정보 수집 모듈
433: 상태 정보 수집 모듈 435: 에지 캐시 선택 모듈
500: 코어 캐시 600: 컨텐츠 서버
Claims (8)
- 사용자 장치로부터 컨텐츠 요청 메시지를 수신하는 인터페이스부;
복수의 에지 캐시에 대한 라우팅 정보를 수집하는 라우팅 정보 수집 모듈;
상기 복수의 에지 캐시에 걸린 부하의 정도를 나타내는 상태 정보를 주기적으로 수집하는 상태 정보 수집 모듈; 및
상기 라우팅 정보에 따라 복수의 에지 캐시와 사용자 장치와의 라우팅 거리를 산출하고, 상기 라우팅 거리 및 상기 상태 정보에 기초하여 선택된 에지 캐시의 주소 정보를 상기 인터페이스부를 통해 상기 사용자 장치에 전달하는 에지 캐시 선택 모듈;을 포함하는 것을 특징으로 하는 컨텐츠 제공을 위한 장치. - 제1항에 있어서,
상기 에지 캐시 선택 모듈은
상기 복수의 에지 캐시 중 상기 사용자 장치와의 라우팅 거리가 미리 설정된 기준 이내인 적어도 하나의 에지 캐시를 도출하고, 도출된 에지 캐시 중 상기 부하의 정도가 가장 낮은 에지 캐시를 선택하는 것을 특징으로 하는 컨텐츠 제공을 위한 장치. - 제1항에 있어서,
상기 라우팅 정보 수집 모듈은
상기 에지 캐시의 인접 홉(Next Hop)에 연결된 집속 라우터를 포함하는 복수의 집속 라우터로부터 라우팅 정보인 인접 홉 IP 정보를 수집하고, 상기 인접 홉 IP 정보를 이용하여 상기 에지 캐시의 라우팅 정보를 도출하는 것을 특징으로 하는 컨텐츠 제공을 위한 장치. - 제1항에 있어서,
상기 상태 정보 수집 모듈은
상기 에지 캐시의 부하의 정도를 산출하기 위한 적어도 하나의 파라미터를 수신하고, 수신된 파라미터에 따라 상기 에지 캐시에 걸린 부하의 정도가 정규화된 상태 정보를 구성하는 것을 특징으로 하는 컨텐츠 제공을 위한 장치. - 제4항에 있어서,
상기 파라미터는
에지 캐시에 할당된 세션 수, CPU 사용률 및 HTTP 응답 속도 중 적어도 하나를 포함하는 것을 특징으로 하는 컨텐츠 제공을 위한 장치. - 사용자 장치로부터 컨텐츠 요청 메시지를 수신하는 단계;
미리 수집된 수집된 라우팅 정보를 이용하여 상기 복수의 에지 캐시와 상기 사용자 장치와의 라우팅 거리를 산출하는 단계;
상기 라우팅 거리와 상기 복수의 에지 캐시에 걸린 부하의 정도를 나타내는 상태 정보에 기초하여 복수의 에지 캐시 중 어느 하나의 에지 캐시를 선택하는 단계; 및
상기 선택된 에지 캐시의 주소 정보를 포함하는 경로 재설정 메시지를 상기 사용자 장치에 전달하는 단계;를 포함하는 것을 특징으로 하는 컨텐츠 라우터의 컨텐츠 제공을 위한 방법. - 제6항에 있어서,
상기 에지 캐시를 선택하는 단계는
상기 복수의 에지 캐시 중 상기 사용자 장치와의 라우팅 거리가 미리 설정된 기준 이내인 적어도 하나의 에지 캐시를 도출하는 단계; 및
상기 도출된 에지 캐시 중 상기 부하의 정도가 가장 낮은 에지 캐시를 선택하는 단계;를 포함하는 것을 특징으로 하는 컨텐츠 라우터의 컨텐츠 제공을 위한 방법. - 제6항 또는 제7항에 따른 컨텐츠 제공을 위한 방법이 기록된 컴퓨터 판독 가능한 기록 매체.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020130129445A KR20150049200A (ko) | 2013-10-29 | 2013-10-29 | 컨텐츠 제공을 위한 장치, 이를 위한 방법 및 이 방법이 기록된 컴퓨터 판독 가능한 기록매체 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020130129445A KR20150049200A (ko) | 2013-10-29 | 2013-10-29 | 컨텐츠 제공을 위한 장치, 이를 위한 방법 및 이 방법이 기록된 컴퓨터 판독 가능한 기록매체 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20150049200A true KR20150049200A (ko) | 2015-05-08 |
Family
ID=53387330
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020130129445A KR20150049200A (ko) | 2013-10-29 | 2013-10-29 | 컨텐츠 제공을 위한 장치, 이를 위한 방법 및 이 방법이 기록된 컴퓨터 판독 가능한 기록매체 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20150049200A (ko) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20180060844A (ko) * | 2016-11-29 | 2018-06-07 | 에스케이텔레콤 주식회사 | 컨텐츠 전송을 위한 최적 네트워크 노드 선택 방법 및 이를 위한 장치 |
KR20220089544A (ko) * | 2020-12-21 | 2022-06-28 | 주식회사 엘지유플러스 | 다단 데이터 처리 방법 및 그 시스템 |
KR102440108B1 (ko) * | 2021-11-30 | 2022-09-05 | 주식회사 제론소프트엔 | 최단 에지 서버 결정 방법 및 시스템 |
WO2024014591A1 (ko) * | 2022-07-15 | 2024-01-18 | 라쿠텐 심포니 코리아 주식회사 | 로컬 네트워크상에서 파일을 전송하기 위한 기술 |
-
2013
- 2013-10-29 KR KR1020130129445A patent/KR20150049200A/ko not_active Application Discontinuation
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20180060844A (ko) * | 2016-11-29 | 2018-06-07 | 에스케이텔레콤 주식회사 | 컨텐츠 전송을 위한 최적 네트워크 노드 선택 방법 및 이를 위한 장치 |
KR20220089544A (ko) * | 2020-12-21 | 2022-06-28 | 주식회사 엘지유플러스 | 다단 데이터 처리 방법 및 그 시스템 |
KR102440108B1 (ko) * | 2021-11-30 | 2022-09-05 | 주식회사 제론소프트엔 | 최단 에지 서버 결정 방법 및 시스템 |
WO2024014591A1 (ko) * | 2022-07-15 | 2024-01-18 | 라쿠텐 심포니 코리아 주식회사 | 로컬 네트워크상에서 파일을 전송하기 위한 기술 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Jin et al. | Information-centric mobile caching network frameworks and caching optimization: a survey | |
EP2088719B1 (en) | Method and device for distributing file data | |
US7457304B2 (en) | Method for service discovery in mobile ad-hoc network | |
EP2704402B1 (en) | Method and node for distributing electronic content in a content distribution network | |
EP2668515B1 (en) | Content delivery network with deep caching infrastructure | |
US20090282160A1 (en) | Method for Constructing Network Topology, and Streaming Delivery System | |
US10064096B2 (en) | Traffic distribution in heterogenous network environment | |
WO2011113390A2 (zh) | 提高移动互联网用户访问速度的方法及设备 | |
WO2012138817A1 (en) | Wireless peer-to-peer network topology | |
KR20130102650A (ko) | 셀룰러 네트워크에서의 피어 투 피어 공유 관리 | |
Alghamdi et al. | A novel fog computing based architecture to improve the performance in content delivery networks | |
WO2017125017A1 (zh) | 缓存内容的调整方法、装置及系统 | |
Zhang et al. | Cache space efficient caching scheme for content-centric mobile ad hoc networks | |
KR101981285B1 (ko) | 컨텐츠 식별 정보를 이용한 컨텐츠 전송 서비스 시스템, 이를 위한 장치 및 그의 컨텐츠 전송 서비스 방법 | |
CN107306279B (zh) | 数据处理方法、内容分发网络节点和常驻网关 | |
KR20150049200A (ko) | 컨텐츠 제공을 위한 장치, 이를 위한 방법 및 이 방법이 기록된 컴퓨터 판독 가능한 기록매체 | |
JP5011433B2 (ja) | 他のペアの近傍にあるペアグループを決定する方法、関連するサーバ及び解析装置 | |
CN105814948B (zh) | 用于通信网络中控制连接的方法和布置 | |
KR101670910B1 (ko) | 콘텐츠 전달 네트워크들 및 사용자 장비들을 위한 효율적 캐시 선택 | |
KR101688835B1 (ko) | 광대역 무선 접속 시스템에서 트래픽 오프로드를 위한 장치 및 방법 | |
KR101441403B1 (ko) | 컨텐츠 전송 서비스 시스템, 그의 장치 및 컨텐츠 전송 서비스 지원 방법 | |
Li et al. | ICN based shared caching in future converged fixed and mobile network | |
Aubry et al. | Green growth in NDN: Deployment of content stores | |
KR20140075829A (ko) | 투명 인터넷 캐시 서버와 콘텐츠 전달망을 결합한 콘텐츠 전달 시스템 및 방법 | |
CN113613290A (zh) | 一种下行数据流传送方法、装置及终端 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E601 | Decision to refuse application |