KR102130301B1 - 컨텐츠 전송 시스템에서 데이터 분산을 위한 장치 및 이를 위한 방법 - Google Patents
컨텐츠 전송 시스템에서 데이터 분산을 위한 장치 및 이를 위한 방법 Download PDFInfo
- Publication number
- KR102130301B1 KR102130301B1 KR1020130074372A KR20130074372A KR102130301B1 KR 102130301 B1 KR102130301 B1 KR 102130301B1 KR 1020130074372 A KR1020130074372 A KR 1020130074372A KR 20130074372 A KR20130074372 A KR 20130074372A KR 102130301 B1 KR102130301 B1 KR 102130301B1
- Authority
- KR
- South Korea
- Prior art keywords
- packet
- classification information
- cdn
- content
- cdn node
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/12—Avoiding congestion; Recovering from congestion
- H04L47/125—Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/12—Avoiding congestion; Recovering from congestion
- H04L47/122—Avoiding congestion; Recovering from congestion by diverting traffic away from congested entities
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
본 발명은 컨텐츠 전송 시스템에서 데이터 분산을 위한 장치 및 이를 위한 방법에 관한 것으로, 이러한 본 발명은 스위칭 장치가 수신되는 복수의 패킷을 복수의 CDN 노드 중 어느 하나에 대응하도록 분류하는 분류 정보를 생성하고, 상기 분류 정보를 상기 패킷에 포함시켜 링크 장치로 전달한다. 그러면, 링크 장치는 분류 정보에 따라 패킷을 대응하는 CDN 노드로 전송한다. 상술한 바와 같이 본 발명은 복수의 컨텐츠 서버로부터 수신되는 패킷을 미리 결정된 수로 구분된 CDN 노드의 수에 따라 분산하여 제공할 수 있어, 트래픽을 분산시킬 수 있고, 복수의 CDN 노드의 부하를 분산시킬 수 있다.
Description
본 발명은 컨텐츠 전송 기술에 관한 것으로, 더욱 상세하게는, 컨텐츠 전송 시스템에서 복수의 CDN(Content Delivery Network) 노드로 패킷을 분산하는 데이터 분산을 위한 장치 및 이를 위한 방법에 관한 것이다.
최근, 스마트폰(smart phone)과 같은 사용자 장치의 성능 향상 및 이동통신 기술의 발달에 따라, 사용자는 언제 어디서나, 사용자 장치를 통해 컨텐츠 제공자(CP, Contents Provider)가 제공하는 웹 서버에 접속해 사진, 비디오, 오디오, 어플리케이션 등과 같은 다양한 컨텐츠를 이용할 수 있게 되었다. 또한, 사용자의 이동성이 보장되는 이동성 네트워크(예컨대, 이동통신망)을 통해 컨텐츠를 이용하는 빈도 또한 지속적으로 증가하고 있다.
그러나 컨텐츠 제공자(CP)가 제공하는 웹 서버의 수는 한정된 반면, 웹 서버에 접속하고자 하는 사용자는 급속히 증가하고 있어, 이로 인해, 데이터 손실, 병목 현상, 전송 지연, 데이터 끊김과 같은 불안전성 등 다양한 문제가 발생하게 되었다. 이러한, 문제를 해결하기 위해 등장한 것이 바로, CDN(Contents Delivery Network, 컨텐츠 전송 네트워크)이다.
CDN이란 사진, 영화, 뮤직 비디오 등과 같은 다양한 종류의 컨텐츠를 사용자 장치로 안정적으로 전달하기 위한 서비스이다. 더 구체적으로 CDN은, 사용자 장치와 멀리 떨어져 있는 컨텐츠 제공자(CP)의 웹 서버에 있는 다양한 컨텐츠, 예컨대, 이미지, 비디오, 오디오 등과 같이 용량이 크거나 사용자 장치의 요구가 빈번한 컨텐츠를 네트워크 상의 주요 지점에 광역적으로 분산 배치된 캐시 장치에 미리 일부 또는 전부를 복사하여 저장한다. 이후, 사용자 장치로부터 컨텐츠 요청 메시지가 수신되면, 상기 사용자 장치와 가장 근접한 곳에 위치한 캐시 장치가 이에 응답하여, 해당 캐시 장치로부터 사용자 장치로 컨텐츠를 전송한다. 그 결과, CDN은 컨텐츠 접속 속도를 개선하고 보다 안정적으로 컨텐츠를 제공할 수 있다.
본 발명의 목적은 컨텐츠 전송 시스템에서 데이터 처리를 위한 수 많은 패킷을 서로 다른 CDN 노드로 분산하는 데이터 분산을 위한 장치 및 이를 위한 방법을 제공함에 있다.
상술한 바와 같은 목적을 달성하기 위한 본 발명의 바람직한 실시예에 따른 데이터 분산을 위한 스위칭 장치는 입력되는 복수의 패킷을 복수의 CDN 노드 중 어느 하나에 대응하도록 분류하는 분류 정보를 생성하고, 분류 정보를 상기 패킷에 포함시키는 프로세서부와, 패킷을 링크 장치로 전달하여, 링크 장치가 분류 정보에 따라 패킷이 대응하는 CDN 노드로 전송되도록 하는 스위칭부를 포함한다.
상술한 바와 같은 목적을 달성하기 위한 본 발명의 바람직한 실시예에 따른 스위칭 장치의 데이터 분산을 위한 방법은 입력되는 복수의 패킷을 복수의 CDN 노드에 대응하도록 분류하는 분류 정보를 생성하는 단계와, 분류 정보를 패킷에 포함시키는 단계와, 복수의 CDN 노드와 연결된 링크 장치가 분류 정보에 따라 패킷을 대응하는 CDN 노드로 전송하도록 패킷을 링크 장치로 전달하는 단계를 포함한다.
상술한 바와 같이 본 발명은 복수의 컨텐츠 서버로부터 수신되는 패킷을 복수의 CDN 노드로 분산시킨다. 이에 따라, 트래픽이 분산된다. 이는 또한 복수의 CDN 노드의 부하를 분산시킬 수 있다.
그리고 특정 컨텐츠 서버로부터 유입되는 패킷은 특정 CDN 노드에 전용으로 할당할 수도 있어, 네트워크 운영자의 의도에 따라 CDN 노드를 활용할 수 있다.
도 1은 본 발명의 실시예에 따른 컨텐츠 전송 시스템을 설명하기 위한 도면이다.
도 2는 본 발명의 실시예에 따른 컨텐츠 전송 시스템에서 스위칭 장치의 구성을 설명하기 위한 블록도이다.
도 3은 본 발명의 실시예에 따른 컨텐츠 전송 시스템에서 CDN 노드의 구성을 설명하기 위한 블록도이다.
도 4는 본 발명의 실시예에 따른 데이터 분산 방법을 설명하기 위한 흐름도이다.
도 5는 본 발명의 실시예에 따른 스위칭 장치의 데이터 분산 방법을 설명하기 위한 흐름도이다.
도 6은 본 발명의 실시예에 따른 스위칭부의 데이터 분산 방법을 설명하기 위한 흐름도이다.
도 7은 본 발명의 실시예에 따른 프로세서부의 데이터 분산 방법을 설명하기 위한 흐름도이다.
도 2는 본 발명의 실시예에 따른 컨텐츠 전송 시스템에서 스위칭 장치의 구성을 설명하기 위한 블록도이다.
도 3은 본 발명의 실시예에 따른 컨텐츠 전송 시스템에서 CDN 노드의 구성을 설명하기 위한 블록도이다.
도 4는 본 발명의 실시예에 따른 데이터 분산 방법을 설명하기 위한 흐름도이다.
도 5는 본 발명의 실시예에 따른 스위칭 장치의 데이터 분산 방법을 설명하기 위한 흐름도이다.
도 6은 본 발명의 실시예에 따른 스위칭부의 데이터 분산 방법을 설명하기 위한 흐름도이다.
도 7은 본 발명의 실시예에 따른 프로세서부의 데이터 분산 방법을 설명하기 위한 흐름도이다.
이하 첨부된 도면을 참조하여 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있는 바람직한 실시예를 상세히 설명한다. 다만, 본 발명의 바람직한 실시예에 대한 동작 원리를 상세하게 설명함에 있어 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 이는 불필요한 설명을 생략함으로써 본 발명의 핵심을 흐리지 않고 더욱 명확히 전달하기 위함이다.
또한, 어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 또한, 본 명세서에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 또한, 본 명세서에서 기술되는 "포함 한다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
그리고, 제1, 제2 등의 용어는 다양한 구성요소들을 설명하기 위해 사용하는 것으로, 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용될 뿐, 상기 구성요소들을 한정하기 위해 사용되지 않는다. 이때, 도면 전체에 걸쳐 유사한 기능 및 작용을 하는 부분에 대해서는 동일한 도면 부호를 사용하며, 이에 대한 중복되는 설명은 생략하기로 한다.
도 1은 본 발명의 실시예에 따른 컨텐츠 제공 시스템을 설명하기 위한 도면이다.
도 1을 참조하면, 본 발명의 실시예에 따른 컨텐츠 제공 시스템은 사용자 장치(100), 기지국 장치(200), 스위칭 장치(300), 링크 장치(400), 복수의 CDN 노드(500), 서빙 게이트웨이(600), 데이터 게이트웨이(700) 및 컨텐츠 서버(800)를 포함한다.
사용자 장치(100)는 접속 네트워크(10), 코어 네트워크(20) 및 공용 네트워크(30)를 통해 컨텐츠 서버(800)에 접근할 수 있다. 다시 말해서, 사용자 장치(100)는 기지국 장치(200), 스위칭 장치(300), 서빙 게이트웨이(600), 데이터 게이트웨이(700)를 통해 컨텐츠 서버(800)에 접근할 수 있다.
접속 네트워크(10)는 셀룰러(cellular) 시스템에서 무선 구간 서비스를 제공하는 네트워크 상의 엔티티(entity)들로 이루어진 네트워크이다. 예컨대, 접속 네트워크(10)는 BS(Base Station), BTS(Base Transceiver Station), NodeB, 등과 같은 다수의 기지국과, BSC(Base Station Controller), RNC(Radio Network Controller)와 같은 기지국 제어기로 구현될 수 있다. 다른 예로, eNodeB와 같이 하나의 엔티티로 구현될 수 있다. 또 다른 예로, 접속 네트워크(10)는 디지털 유니트(Digital Unit, 이하 DU라 함)와 무선 유니트(Radio Unit, 이하 RU라 함)로 구성될 수 있다. DU 및 RU는 기지국에 일체로 구현되어 있던 디지털 신호 처리부와 무선 신호 처리부를 각각 구분하여 구성한 것이다. 이때, 다수의 RU는 하나의 DU와 연결되어 구성된다. 따라서 기지국 장치(200)는 상술한 무선 구간 서비스를 제공하는 하나 이상의 엔티티로 구성된다.
코어 네트워크(20)는 네트워크가 제공하는 통신 서비스에 가입한 사용자 정보를 관리하고, 서킷 교환(circuit switching) 혹은 패킷 교환(packet switching)을 수행한다. 또한, 코어 네트워크(20)는 주파수간 이동성을 관리하고, 접속 네트워크(10) 및 코어 네트워크(20) 내의 트래픽 및 다른 네트워크, 예컨대, 공용 네트워크(30)와의 연동을 관리 및 제어한다. 코어 네트워크(20)는 상술한 기능을 수행하는 엔티티들로 이루어진다. 이러한 엔티티들은 MSC(Mobile Switching Center), HLR(Home Location Register), MME(Mobile Mobility Entity)와 HSS(Home Subscriber Server) 등을 예시할 수 있다. 특히, 서빙 게이트웨이(600) 및 데이터 게이트웨이(700)는 상술한 코어 네트워크(20)의 엔티티가 될 수 있다. 서빙 게이트웨이(600)는 복수의 기지국 장치(200)에 대한 트래픽을 처리한다. 여기서, 서빙 게이트웨이(600)는 S-GW(Serving GateWay)가 될 수 있다. 데이터 게이트웨이(700)는 자신이 속한 코어 네트워크(20)와 자신이 속한 코어 네트워크(20)가 아닌 다른 네트워크(예컨대, 공용 네트워크) 사이의 트래픽을 처리한다. 이러한 데이터 게이트웨이(700)는 P-GW(Packet data network GateWay)가 될 수 있다.
공용 네트워크(30)는 TCP/IP 프로토콜에 따라서 정보가 교환되는 통상의 개방형 네트워크로, IP(internet protocol)를 사용하는 소위, 인터넷을 예시할 수 있다. 공용 네트워크(30)는 컨텐츠 서버(800)가 위치한다. 컨텐츠 서버(800)는 컨텐츠를 저장하고, 요청에 따라 사용자 장치(100)에게 다양한 컨텐츠, 예컨대, 사진, 비디오, 오디오, 어플리케이션 등과 같은 다양한 컨텐츠를 제공하기 위한 것이다. 컨텐츠 서버(800)는 소위, 컨텐츠 제공자(CP, Contents Provider)가 운영하는 서버이며, 다수의 사용자 장치(100)로 컨텐츠를 제공할 수 있다. 예컨대, 이러한 컨텐츠 서버(800)는 웹 서버(Web Server) 혹은 웹 어플리케이션 서버(WAS, Web Application Server) 등을 예시할 수 있다.
사용자 장치(100)는 사용자의 요청에 따라 컨텐츠 서버(800)로부터 컨텐츠를 수신하여 재생하기 위한 것이다. 예컨대, 사용자 장치(100)는 사용자가 요청한 컨텐츠에 대한 URL(Uniform Resource Locater)을 확인하고, DNS(Domain Name System) 등을 통해, 해당 URL에 대응하는 컨텐츠 서버(800)의 주소 정보(IP address)를 획득할 수 있다. 그리고 사용자 장치(100)는 해당 주소 정보에 대응하는 컨텐츠 서버(800)로 컨텐츠를 요청하며, 이에 따라, 컨텐츠 서버(800)가 전송하는 컨텐츠를 수신할 수 있다.
복수의 CDN 노드(500)는 컨텐츠를 사용자 장치(100)에 제공하기 위한 네트워크 상의 엔티티이다. 이러한 CDN 노드는 컨텐츠를 미디어 스트리밍 서버, 웹 서버, 캐시 장치 등을 예시할 수 있다. 미디어 스트리밍 서버는 스트리밍 방식으로 컨텐츠를 사용자 장치(100)에 에게 제공할 수 있다. 웹 서버는 웹 페이지 등을 통해 사용자 장치(100)의 요청을 수신하고, 컨텐츠를 사용자 장치(100)에 제공할 수 있다. 캐시 장치는 컨텐츠 서버(800)의 컨텐츠의 사본의 일부 또는 전부를 저장하고, 사용자 장치(100)의 요청이 있는 경우, 저장된 컨텐츠를 컨텐츠 서버(800) 대신 사용자 장치(100)에 제공할 수 있다. 캐시 장치는 사용자 장치(100)로부터 컨텐츠 요청을 중간에서 수신할 수 있어야 한다. 또한, 캐시 장치는 컨텐츠 서버(800)가 사용자 장치(100)로 전송하는 컨텐츠를 중간에서 수신하여, 복사한 뒤 저장하거나, 컨텐츠 서버(800)로부터 컨텐츠를 미리 수신하여 저장할 수 있어야 한다.
이하에서, CDN 노드(500)는 주로 캐시 장치를 가정하여 설명할 것이나, 이 분야에서 통상의 지식을 가진자라면, CDN 노드(500)가 미디어 스트리밍 서버, 웹 서버 등과 같이 컨텐츠를 저장하고, 요청에 따라 컨텐츠를 송수신하는 기능을 가지는 어떠한 엔티티에도 적용될 수 있음을 이해할 수 있을 것이다.
컨텐츠 서버(800) 혹은 사용자 장치(100)는 제1 형식 패킷을 이용하여 통신을 수행한다. 제1 형식 패킷은 제1 형식 헤더와 페이로드를 포함한다. 여기서, 제1 형식 패킷은 IP(Internet Protocol) 패킷이 될 수 있다. 따라서 제1 형식 헤더는 IP 헤더가 될 수 있다. 반면, 기지국 장치(200), 서빙 게이트웨이(600) 및 데이터 게이트웨이(700) 간에는 터널링을 통해 통신을 수행한다. 이러한 터널링을 위해 사용되는 패킷은 제2 형식 패킷이며, 제2 형식 패킷은 제1 형식 패킷에 제2 형식 헤더를 캡슐화하여 생성된다. 예컨대, 제2 형식 헤더는 GTP(General Packet Radio Service Tunneling Protocol) 헤더가 될 수 있다. 이에 따라, 제2 형식 패킷은 GTP 패킷이 될 수 있다.
제2 형식 패킷은 사용자 장치(100) 및 컨텐츠 서버(800)가 인식할 수 없다. 또한, 기지국 장치(200), 서빙 게이트웨이(600) 및 데이터 게이트웨이(700)는 터널링을 통한 통신을 수행해야 한다. 따라서 기지국 장치(200) 및 데이터 게이트웨이(700)는 다음과 같은 동작을 수행한다. 기지국 장치(200)는 사용자 장치(100)로부터 수신되는 제1 형식 패킷을 제2 형식 헤더로 캡슐화하여 제2 형식 패킷을 생성한다. 이어서, 기지국 장치(200)는 제2 형식 패킷을 서빙 게이트웨이(600)로 전달한다. 또한, 기지국 장치(200)는 서빙 게이트웨이(600)로부터 수신되는 제2 형식 패킷으로부터 제2 형식 헤더를 제거하여 제1 형식 패킷으로 복원한다. 그런 다음, 기지국 장치(200)는 제1 형식 패킷을 사용자 장치(100)로 전달한다. 이와 동일하게, 데이터 게이트웨이(700)는 컨텐츠 서버(800)로부터 수신되는 제1 형식 패킷을 제2 형식 헤더로 캡슐화하여 제2 형식 패킷을 생성한다. 그런 다음, 데이터 게이트웨이(700)는 생성된 제2 형식 패킷을 서빙 게이트웨이(600)로 전달한다. 그리고 데이터 게이트웨이(700)는 서빙 게이트웨이(600)로부터 수신되는 제2 형식 패킷으로부터 제2 형식 헤더를 제거하여 제1 형식 패킷으로 복원한다. 그런 다음, 데이터 게이트웨이(700)는 제1 형식 패킷을 컨텐츠 서버(800)로 전달한다. 상술한 바와 같은 제2 형식 패킷은 네트워크 내에서 데이터 송수신을 위한 트래픽을 처리하기 위해 사용되며, 음성을 위한 패킷과 구분된다.
한편, 스위칭 장치(300)는 접속 네트워크(10)와 코어 네트워크(20) 사이에 위치한다. 그리고 스위칭 장치(300)에는 CDN 노드(500)가 연결된다. 스위칭 장치(300)가 위치한 접속 네트워크(10)의 모든 상향링크(UPLINK) 혹은 하향링크(DOWNLINK) 패킷은 스위칭 장치(300)를 경유한다. 이때, 스위칭 장치(300)는 자신을 경유하는 패킷이 제2 형식 패킷인 경우, 데이터 송수신을 위한 트래픽인 것으로 판단하고, 이를 처리한다. 그렇지 않은 경우, 스위칭 장치(300)는 해당 패킷을 바이패스(bypass)한다.
스위칭 장치(300)는 자신을 경유하는 패킷이 제2 형식 패킷인 경우, 패킷에 포함된 정보에 기초하여, 해당 패킷을 분류한다. 그리고 스위칭 장치(300)는 이러한 분류에 따라 분류 정보를 생성하고, 생성된 분류 정보를 패킷에 포함시킨다. 분류 정보는 복수의 CDN 노드(500) 중 어느 하나를 지정하는 식별자를 포함한다. 그런 다음, 스위칭 장치(300)는 분류 정보가 포함된 패킷을 링크 장치(400)로 전달한다.
링크 장치(400)는 스위칭 장치(300)로부터 패킷이 입력되면, 분류 정보를 판독하여, 해당 패킷이 어떤 CDN 노드(500)로 전송되어야 할 것인지를 확인한다. 그런 다음, 링크 장치(400)는 분류 정보에 따라 지정된 CDN 노드(500)로 패킷을 전달한다. 이러한 링크 장치(400)는 네트워크 스위치가 될 수 있으며, 대표적으로 L2 스위치(데이터링크 스위치)를 예시할 수 있다.
상술한 바와 같이, 스위칭 장치(300)는 분류 정보를 통해 복수의 패킷을 복수의 CDN 노드(500) 중 어느 하나에 대응하도록 분류한다. 이로써, 트래픽이 분산되며, 복수의 CDN 노드(500)의 부하를 분산시킬 수 있다. 또한, 스위칭 장치(300)는 특정 컨텐츠 서버(800)로부터 유입되는 패킷을 특정 CDN 노드(500)에 대응하도록 분류할 수 있다. 이에 따라, 네트워크 운영자는 목적에 따라 전용의 CDN 노드(500)를 운영할 수 있다.
도 2는 본 발명의 실시예에 따른 컨텐츠 전송 시스템에서 스위칭 장치의 구성을 설명하기 위한 블록도이다.
도 2를 참조하면, 스위칭 장치(300)는 인터페이스부(310), 스위칭부(320) 및 프로세서부(330)를 포함한다.
인터페이스부(310)는 패킷이 송수신되는 경로들이며, 인터페이스부(310)는 복수개의 인터페이스를 포함한다. 즉, 패킷은 인터페이스부(310)를 통해 송수신된다. 상향링크 혹은 하향링크로부터 수신되는 패킷은 인터페이스부(310)를 통해 스위칭부(320)로 입력된다. 또한, 스위칭부(320)로부터 출력되는 패킷은 인터페이스부(310)를 통해 상향링크 혹은 하향링크로 전송된다. 또한, 특정 패킷은 스위칭부(320)로부터 인터페이스부(310)를 통해 링크 장치(400)로 출력된다.
스위칭부(320)는 인터페이스부(310)를 통해 상향링크 혹은 하향링크로부터 패킷이 입력되면, 입력된 패킷이 데이터의 송수신을 위한 패킷인지 여부를 판단한다. 즉 스위칭부(320)는 입력된 패킷이 제2 형식 패킷인지 여부를 판단한다. 이는 제2 형식 헤더를 통해 판단할 수 있다. 예컨대, 스위칭부(320)는 입력된 패킷에 GTP 헤더가 포함되어 있을 경우, 제2 형식 패킷으로 판단할 수 있다. 입력된 패킷이 터널링 통신을 위한 제2 형식 패킷인 것으로 판단되면, 스위칭부(320)는 해당 패킷을 프로세서부(330)로 입력한다. 그렇지 않은 경우, 스위칭부(320)는 입력된 패킷을 바이패스하여 인터페이스부(310)를 통해 출력한다. 또한, 스위칭부(320)는 프로세서부(330)로부터 분류 정보가 포함된 패킷이 입력되면, 해당 패킷을 인터페이스부(310)를 통해 링크 장치(400)로 전달한다.
또한, 스위칭부(320)는 스위칭 장치(300) 혹은 스위칭 장치(300)와 연결된 링크 장치(400) 및 CDN 노드(500)의 장애 상황이 발생하는 경우, 광학 선로와 같이 역할을 수행한다. 즉, CDN 노드(500)를 경유하는 모든 상향링크 패킷 혹은 하향링크 패킷은 바이패스된다. 더욱이, 스위칭 장치(300)에 전원이 들어오지 않는 경우에도, 스위칭부(320)는 광학 선로의 역할을 하기 때문에 네트워크 트래픽이 정체되지 않는다.
프로세서부(330)는 스위칭부(320)로부터 패킷이 입력되면, 입력된 패킷의 컨텐츠를 복수의 CDN 노드(500)에 분산하여 저장하기 위하여, 분류 정보를 생성한다. 이 분류 정보는 해당 패킷을 어떤 CDN 노드(500)로 전달할 것인지를 나타낸다. 이를 위하여, 분류 정보는 복수의 CDN 노드(500) 중 어느 하나를 식별할 수 있는 식별자를 포함할 수 있다.
한편, CDN 노드(500)는 컨텐츠 서버(800) 대신 컨텐츠를 사용자 장치(100)에 전달하기 위해 컨텐츠 서버(800)에 저장된 컨텐츠의 사본을 저장한다. 복수의 CDN 노드(500) 중 일부는 특정 컨텐츠 서버(800)에 전용으로 할당될 수 있다. 또한, 복수의 CDN 노드(500) 중 다른 일부는 범용으로 사용될 수 있다. 프로세서부(330)는 패킷이 입력되면, 입력된 패킷이 전용으로 할당된 CDN 노드(500)가 있는 컨텐츠 서버(800)로부터 전송된 패킷인지 여부를 확인한다. 이는 패킷에 포함된 정보를 통해 확인할 수 있다. 이는 예컨대, 근원지 주소(source IP address)를 통해 확인할 수 있다. 즉, 프로세서부(330)는 근원지 주소를 통해 컨텐츠 서버(800)를 판별하고, 해당 컨텐츠 서버(800)에 특정 CDN 노드(500)가 할당되어 있는지 여부를 확인할 수 있다. 예컨대, 범용으로 할당된 CDN 노드(500)의 수가 10개라면, 프로세서부(330)는 입력되는 복수의 패킷을 10개로 분류한다.
입력된 패킷이 전용으로 할당된 CDN 노드(500)가 없는 컨텐츠 서버(800)로부터 전송되는 패킷인 경우, 프로세서부(330)는 입력된 패킷을 범용으로 사용되는 복수의 CDN 노드(500) 중 어느 하나에 대응하도록 분류한다. 달리 설명하면, 복수의 패킷이 프로세서부(330)에 입력될 것이며, 프로세서부(330)는 입력되는 복수의 패킷을 범용으로 할당된 CDN 노드(500)의 수로 분류한다. 프로세서부(330)는 이러한 분류에 따라 분류 정보를 생성할 수 있다. 이 분류 정보는 패킷 분류의 결과에 따라 해당하는 CDN 노드(500)를 식별할 수 있는 식별자를 포함할 수 있다.
일 실시예에 따르면, 프로세서부(330)는 상술한 분류를 위해 플로우(flow) 분석을 통해 패킷을 분류할 수 있다. 즉, 프로세서부(330)는 패킷이 입력되면, 입력되는 패킷으로부터 근원지 주소(source IP address), 목적지 주소(destination IP address), 근원지 포트 번호(source port number), 목적지 포트 번호(destination port number) 및 프로토콜(protocol)을 포함하는 5 튜플(tuple) 중 적어도 하나의 필드 값을 추출하고, 추출된 필드 값을 이용하여, 패킷을 분류할 수 있다. 예컨대, 프로세서부(330)는 복수의 패킷 각각으로부터 추출된 근원지 주소, 목적지 주소, 근원지 포트 번호, 목적지 포트 번호 및 프로토콜 중 적어도 하나의 필드값을 해시 함수에 입력하여, 그 해시값을 얻는다. 여기서, 해시 함수에서 출력되는 해시값의 수는 범용으로 할당된 CDN 노드(500)의 수에 대응하는 것이 바람직하다. 예컨대, 범용으로 할당된 CDN 노드(500)가 10개라면, 10개의 CDN 노드(500)에 대응하도록 해시값의 종류가 10개가 되는 것이 바람직하다. 프로세서부(330)는 해시 함수의 해시값이 출력되면, 그 해시값에 상응하는 CDN 노드(500)를 식별할 수 있는 분류 정보를 생성한다. 즉, 이 분류 정보는 각 패킷이 해시 함수를 통해 분류된 바에 따라 대응하는 CDN 노드(500)를 식별할 수 있는 식별자를 포함한다.
한편, 전용으로 할당된 CDN 노드(500)가 있는 컨텐츠 서버(800)로부터 전송되는 패킷이 입력되면, 프로세서부(330)는 전용으로 할당된 CDN 노드(500)에 대한 식별자를 포함하는 분류 정보를 생성한다.
상술한 바와 같이, 분류 정보를 생성한 후, 프로세서부(330)는 분류 정보를 패킷에 포함시킨다. 예컨대, 복수의 CDN 노드(500)는 VLAN(Virtual Local Area Network)으로 구축될 수 있다. 이러한 경우, 분류 정보는 VLAN 태그가 될 수 있고, 복수의 CDN 노드(500)는 VLAN 태그 내의 각 VLAN을 식별하는 식별자(12 bit의 VLAN ID 필드)를 통해 구분될 수 있다. 따라서 프로세서부(330)는 패킷에 분류 정보로 VLAN 태그를 포함시켜 출력할 수 있다.
도 3은 본 발명의 실시예에 따른 컨텐츠 전송 시스템에서 CDN 노드의 구성을 설명하기 위한 블록도이다.
도 3에서 설명되는 CDN 노드(500)의 구성은 CDN 노드(500)가 캐시 장치인 경우의 바람직한 실시예이지만, 미디어 스트리밍 서버, 웹 서버 등의 경우에도 유사한 구성을 적용할 수 있을 것이다.
도 3을 참조하면, CDN 노드(500)는 인터페이스 모듈(510), 저장 모듈(520) 및 제어 모듈(530)를 포함한다.
인터페이스 모듈(510)은 접속 네트워크(10) 혹은 코어 네트워크(20)를 통해 송수신되는 패킷을 수신하거나, CDN 노드(500)에 저장된 패킷을 전송하기 위한 것이다. 특히, 인터페이스 모듈(510)은 사용자 장치(100) 및 컨텐츠 서버(800)와 통신을 수행할 수 있다. 이를 위하여, 인터페이스 모듈(510)은 패킷을 스위칭 장치(300) 및 링크 장치(400)를 통해 수신할 수 있다. 또한, 인터페이스 모듈(510)은 제어 모듈(530)로부터 컨텐츠를 포함하는 패킷을 전달받아 스위칭 장치(300) 및 링크 장치(400)를 통해 전송할 수 있다.
저장 모듈(520)은 컨텐츠를 저장하기 위한 저장 공간을 가지며, 적어도 하나의 컨텐츠 서버(800)에 저장된 컨텐츠의 사본의 일부 또는 전부를 저장할 수 있다. 제어 모듈(530)은 인터페이스 모듈(510)을 통해 컨텐츠 서버(800)로부터 사용자 장치(100)로 전송되는 패킷을 수신하고, 수신된 패킷의 컨텐츠를 복사하여 저장 모듈(520)에 저장할 수 있다. 또한, 제어 모듈(530)은 미리 설정된 정책에 따라 컨텐츠 서버(800)에 컨텐츠를 요청하고, 컨텐츠 서버(800)가 컨텐츠를 포함하는 패킷을 전송하면, 이를 수신하여 저장할 수도 있다.
저장 모듈(520)의 저장 공간에 저장된 컨텐츠는 요청의 빈도에 따라 유지되거나, 삭제될 수 있다. 저장 공간에 저장되는 컨텐츠는 선입 선출 방식의 큐 방식으로 저장될 수 있다. 저장 공간은 컨텐츠에 대한 요청이 있을 때, 컨텐츠가 저장되어 있지 않다면, 원본 서버, 즉, 컨텐츠 서버(800)로부터 해당 컨텐츠를 수신하여 큐에 입력하여 저장한다. 이때, 저장 공간이 선입 선출 방식이기 때문에 가장 먼저 저장된 컨텐츠는 새로운 컨텐츠가 저장될 때, 저장 공간이 부족하다면 삭제된다. 반면, 컨텐츠에 대한 요청이 있을 때, 해당 컨텐츠가 저장되어 있다면, 해당 컨텐츠를 새로 저장하는 것과 같이, 큐에 새로 입력한다. 이와 같이, 저장 공간에 저장된 컨텐츠는 컨텐츠에 대한 요청의 빈도에 따라 삭제되거나, 유지될 수 있다.
제어 모듈(530)는 CDN 노드(500)의 전반적인 동작을 제어하기 위한 것이다. 제어 모듈(530)는 인터페이스 모듈(510)을 통해 컨텐츠가 포함된 패킷을 수신하면, 해당 컨텐츠를 저장 모듈(320)에 저장할 수 있다. 혹은, 제어 모듈(530)은 특정 이벤트가 발생하면, 저장 모듈(320)에 저장된 컨텐츠를 컨텐츠 서버(800) 대신 인터페이스 모듈(510)을 통해 사용자 장치(100)로 전송할 수 있다.
도 4는 본 발명의 실시예에 따른 데이터 분산 방법을 설명하기 위한 흐름도이다.
도 4에 제1 내지 제n CDN 노드(501 내지 50n)가 도시되었다. 제1 내지 제n CDN 노드(501 내지 50n) 각각은 미리 설정된 규칙에 따라 컨텐츠 서버(800)로부터 컨텐츠를 수신하여 저장하는 프리로딩을 수행할 수 있다. 도 4는 이러한 상황을 가정한다.
도 4를 참조하면, 컨텐츠 서버(800)는 S410 단계에서 컨텐츠가 포함된 패킷을 전송한다. 도 4에서 데이터 게이트웨이(700) 및 서빙 게이트웨이(600)는 도시되지 않았다. 하지만, 컨텐츠 서버(800)가 전송한 패킷은 데이터 게이트웨이(700) 및 서빙 게이트웨이(600)를 통해 스위칭 장치(300)로 수신될 것이다. 패킷을 수신한 스위칭 장치(300)는 S420 단계에서 분류 정보를 생성하여 생성된 분류 정보를 패킷에 포함시킨다. 여기서, 분류 정보는 패킷으로부터 추출된 근원지 주소, 목적지 주소, 근원지 포트 번호, 목적지 포트 번호 및 프로토콜 중 적어도 하나를 미리 결정된 해시 함수에 적용하여 얻을 수 있다. 이러한 분류 정보는 제1 내지 제n CDN 노드(501 내지 50n) 중 어느 하나를 식별하는 식별자를 포함할 수 있다. 다음으로, 스위칭 장치(300)는 S430 단계에서 분류 정보가 포함된 패킷을 링크 장치(400)로 전달한다.
링크 장치(400)는 패킷을 수신하면, 수신된 패킷의 분류 정보에 따라 제1 내지 제n CDN 노드(501 내지 50n) 중 어느 하나로 전송할 수 있다. 여기서, 분류 정보로 식별되는 CDN 노드(500)는 제2 CDN 노드(502)라고 가정한다. 그러면, 링크 장치(400)는 S440 단계에서 패킷을 제2 CDN 노드(502)로 전달한다. 예컨대, 분류 정보는 앞서 설명된 바와 같은 VLAN 태그라고 가정한다. 링크 장치(400)는 VLAN 태그의 식별자와 제1 내지 제n CDN 노드(501 내지 50n)의 VLAN 주소가 매핑된 룩업(lookup) 테이블을 저장할 수 있다. 따라서 링크 장치(400)는 수신된 패킷의 분류 정보, 즉, VLAN 태그의 식별자와 룩업 테이블을 비교하여 제2 CDN 노드(502)를 식별할 수 있다. 그리고 링크 장치(400)는 제2 CDN 노드(502)로 해당 패킷을 전송할 수 있다.
제2 CDN 노드(502)는 패킷을 수신하면, S450 단계에서 패킷에 포함된 컨텐츠를 저장할 수 있다. 도 5는 본 발명의 실시예에 따른 스위칭 장치의 데이터 분산 방법을 설명하기 위한 흐름도이다.
도 5를 참조하면, 스위칭부(320)는 S510 단계에서 네트워크(서빙 게이트웨이)로부터 패킷을 수신한다. 이 패킷은 컨텐츠 서버(800)로부터 전송된 패킷이라고 가정한다.
또한, 수신된 패킷은 컨텐츠를 포함하며 터널링 통신을 위한 제2 형식 패킷이라고 가정한다. 그러면, 스위칭부(320)는 S520 단계에서 패킷을 프로세서부(330)로 전달한다. 만약, 수신된 패킷이 음성 패킷이라면, 스위칭부(320)는 해당 패킷을 바이패스 하여 네트워크로 전송할 것이다.
프로세서부(330)는 패킷이 입력되면, 분류 정보를 생성한다. 이 분류 정보는 입력된 패킷에 포함된 컨텐츠를 복수의 CDN 노드(500)에 분산하여 저장하기 위한 것이며, 해당 패킷을 어떤 CDN 노드(500)로 전달할 것인지를 나타낸다. 예컨대, 프로세서부(330)는 패킷의 필드로부터 추출된 적어도 하나의 필드값을 해시 함수에 입력하고, 해시 함수로부터 출력된 해시값을 이용하여 분류 정보를 생성할 수 있다. 여기서, 패킷의 필드로부터 추출된 필드값은 근원지 주소, 목적지 주소, 근원지 포트 번호, 목적지 포트 번호 및 프로토콜 중 적어도 하나가 될 수 있다. 한편, 프로세서부(330)에 입력된 패킷이 전용으로 할당된 CDN 노드(500)가 있는 컨텐츠 서버(800)로부터 전송된 것일 수 있다. 이러한 경우, 프로세서부(330)는 전용으로 할당된 CDN 노드(500)의 식별자를 포함하는 분류 정보를 생성할 수 있다. 예컨대, 복수의 CDN 노드(500)는 VLAN으로 구성되어 있다고 가정하면, 분류 정보는 VLAN 태그가 될 수 있다. 여기서, VLAN 태그는 복수의 CDN 노드(500) 중 어느 하나를 식별할 수 있는 VLAN ID 값을 포함한다.
분류 정보를 생성한 후, 프로세서부(330)는 S530 단계에서 분류 정보를 패킷에 포함시킨다. 예컨대, 분류 정보가 VLAN 태그 형태로 생성된 경우, 프로세서부(330)는 패킷의 헤더에 VLAN 태그를 태깅할 수 있다. 그런 다음, 프로세서부(330)는 S540 단계에서 분류 정보가 포함된 패킷을 스위칭부(320)로 전달한다
스위칭부(320)는 S550 단계에서 분류 정보가 포함된 패킷을 인터페이스부(310)를 통해 링크 장치(400)로 전달한다. 그러면, 링크 장치(400)는 패킷의 분류 정보를 통해 대응하는 CDN 노드(500)로 패킷을 전송할 것이다.
도 6은 본 발명의 실시예에 따른 스위칭부의 데이터 분산 방법을 설명하기 위한 흐름도이다.
도 6을 참조하면, 스위칭부(320)는 S610 단계에서 네트워크(서빙 게이트웨이)로부터 패킷을 수신한다. 그러면, 스위칭부(320)는 S620 단계에서 해당 패킷이 데이터(컨텐츠) 송수신을 위한 패킷인지 혹은 음성을 위한 패킷인지 여부를 판단한다. S620 단계의 판단 결과, 데이터 송수신을 위한 제2 형식 패킷이면, S630 단계로 진행하고, 음성 송수신을 위한 패킷이면, S660 단계로 진행한다.
수신된 패킷이 터널링을 통해 데이터 전송을 위한 제2 형식 패킷인 경우, 스위칭부(320)는 S630 단계에서 패킷을 프로세서부(330)로 전달한다. 그러면, 프로세서부(330)는 패킷에 분류 정보를 포함시켜 출력할 것이다. 예컨대, 복수의 CDN 노드(500)가 VLAN으로 구성되어 있다고 가정한다. 또한, 분류 정보는 VLAN 태그라고 가정한다. 그러면, 프로세서부(330)는 패킷에 분류 정보인 VLAN 태그를 태깅하여 출력할 수 있다. 여기서, VLAN 태그는 복수의 CDN 노드(500) 중 어느 하나를 식별할 수 있는 VLAN ID 값을 포함한다.
그러면, 스위칭부(320)는 S640 단계에서 분류 정보를 포함하는 패킷을 수신하고, S650 단계에서 분류 정보를 포함하는 패킷을 링크 장치(400)로 전달한다. 그러면, 링크 장치(400)는 패킷의 분류 정보를 통해 해당하는 CDN 노드(500)로 패킷을 전송할 것이다. 예컨대, 링크 장치(400)는 VLAN 태그의 VLAN ID를 통해 CDN 노드(500)를 식별하고, 식별된 CDN 노드(500)로 패킷을 전송할 수 있다.
한편, 수신된 패킷이 음성 전송을 위한 패킷인 경우, 스위칭부(320)는 S660 단계에서 해당 패킷을 바이패스하여 인터페이스부(310)를 통해 네트워크로 출력할 것이다.
도 7은 본 발명의 실시예에 따른 프로세서부의 데이터 분산 방법을 설명하기 위한 흐름도이다.
도 7을 참조하면, 프로세서부(330)는 S710 단계에서 스위칭부(320)로부터 패킷을 입력 받는다. 그러면, 프로세서부(330)는 S720 단계에서 입력된 패킷이 전용의 CDN 노드(500)가 배정된 컨텐츠 서버(800)로부터 전송된 패킷인지 여부를 확인한다.
상기 확인 결과, 전용의 CDN 노드(500)가 배정된 컨텐츠 서버(800)로부터 전송된 패킷이면, S740 단계로 진행하고, 그렇지 않은 경우, S730 단계로 진행한다.
전용의 CDN 노드(500)가 배정된 컨텐츠 서버(800)로부터 전송된 패킷이 아닌 경우, 프로세서부(330)는 S730 단계에서 입력된 패킷에 대해 범용으로 사용되는 복수의 CDN 노드(500) 중 어느 하나에 대응하는 분류 정보를 생성한다. 이러한 분류를 위해 프로세서부(330)는 패킷의 특정 필드 값을 이용할 수 있다. 예컨대, 프로세서부(330)는 패킷으로부터 근원지 주소, 목적지 주소, 근원지 포트 번호, 목적지 포트 번호 및 프로토콜(protocol) 중 적어도 하나의 필드 값을 추출한다. 그런 다음, 프로세서부(330)는 추출된 필드 값을 이용하여, 미리 설정된 알고리즘을 이용하여 패킷을 분류할 수 있다. 이 알고리즘은 해시 알고리즘이 될 수 있다. 즉, 프로세서부(330)는 추출된 근원지 주소, 목적지 주소, 근원지 포트 번호, 목적지 포트 번호 및 프로토콜 중 적어도 하나의 필드값을 해시 함수에 입력하여 해시값을 얻는다. 그리고 프로세서부(330)는 그 해시값에 따라 패킷을 분류하는 분류 정보를 생성할 수 있다. 일 예로, 분류 정보를 생성할 때, 패킷을 전송하는 컨텐츠 서버(800)를 분류의 기준으로 하기 위해서, 해시 함수의 입력 파라미터로 근원지 주소, 근원지 포트 번호 등을 이용할 수 있다. 다른 예로, 패킷을 수신하는 사용자 장치(100)를 분류의 기준으로 하기 위해서, 해시 함수의 입력 파라미터로 목적지 주소, 목적지 포트 번호 등을 이용할 수 있다. 또한, 어플리케이션별로 다른 프로토콜을 사용하기 때문에, 어플리케이션을 분류의 기준으로 하기 위해서, 해시 함수의 입력 파라미터로 프로토콜을 이용할 수 있다. 예컨대, VOD(Video On Demand)와 관련된 컨텐츠만을 전용으로 저장하는 CDN 노드(500)를 적용하는 경우, VOD를 위한 어플리케이션은 다른 어플리케이션과 다른 프로토콜을 사용하기 때문에, 해시 함수의 입력 파라미터로 프로토콜을 입력하여, 해당 컨텐츠를 분류할 수 있다. 물론, 상술한 5가지 파라미터를 모두 사용할 수도 있다.
한편, 전용의 CDN 노드(500)가 배정된 컨텐츠 서버(800)로부터 전송된 패킷이면, 프로세서부(330)는 S740 단계에서 전용으로 할당된 CDN 노드(500)의 식별자를 포함하는 분류 정보를 생성한다.
상술한 바와 같이, S730 단계 또는 S740 단계에서 분류 정보를 생성한 후, 프로세서부(330)는 S750 단계에서 분류 정보를 패킷에 포함시킨다. 예컨대, 복수의 CDN 노드(500)는 VLAN으로 구축될 수 있다. 이러한 경우, 분류 정보는 VLAN 태그가 될 수 있다. 여기서, VLAN 태그는 각 VLAN을 식별하는 식별자를 포함한다. 이에 따라, 복수의 CDN 노드(500)는 구분될 수 있다. 따라서 프로세서부(330)는 패킷의 헤더에 분류 정보로 VLAN 태그를 태깅할 수 있다.
다음으로, 프로세서부(330)는 S760 단계에서 분류 정보가 포함된 패킷을 스위칭부(320)로 출력한다.
한편, 지금까지 설명된 실시예에서는 컨텐츠 서버(800)에서 전송된 패킷이 스위칭 장치(300)에 의해 CDN 노드(500)에 저장되는 절차에 대해서 설명했지만, 본 발명이 이에 한정되는 것은 아니다. 도 1에 도시된 바와 같이, 스위칭 장치(300)는 코어 네트워크(20) 및 접속 네트워크(10) 사이에 위치하여, 코어 네트워크(20) 및 접속 네트워크(10) 간에 송수신되는 패킷들을 수신할 수 있다. 예컨대, 스위칭 장치(300)는 사용자 장치(100)와 컨텐츠 서버(800) 간에 교환되는 상향링크 혹은 하향링크 패킷을 수신할 수 있다. 또한, 스위칭 장치(300)는 이러한 패킷을 상술한 실시예들에 따라 분류하여 대응하는 CDN 노드(500)에 제공할 수 있다.
이러한, 본 발명의 실시 예에 따른 데이터 분산을 위한 방법은 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있으며, 컴퓨터 시스템에 의해 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(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) 프로그램, 코드 및 코드 세그먼트들은 본 발명이 속하는 기술분야의 프로그래머들에 의해 용이하게 추론될 수 있다.
이상으로 본 발명의 기술적 사상을 예시하기 위한 바람직한 실시 예와 관련하여 설명하고 도시하였지만, 본 발명은 이와 같이 도시되고 설명된 그대로의 구성 및 작용에만 국한되는 것은 아니며, 기술적 사상의 범주를 이탈함없이 본 발명에 대해 다수의 변경 및 수정이 가능함을 당업자들은 잘 이해할 수 있을 것이다. 따라서 그러한 모든 적절한 변경 및 수정과 균등물들도 본 발명의 범위에 속하는 것으로 간주되어야 할 것이다.
본 발명은 컨텐츠 전송 시스템에서 데이터 분산을 위한 장치 및 이를 위한 방법에 관한 것이다. 이러한 본 발명은 스위칭 장치가 수신되는 복수의 패킷을 복수의 CDN 노드 중 어느 하나에 대응하도록 분류하는 분류 정보를 생성하고, 상기 분류 정보를 상기 패킷에 포함시켜 링크 장치로 전달한다. 그러면, 링크 장치는 분류 정보에 따라 패킷을 대응하는 CDN 노드로 전송한다. 상술한 바와 같이 본 발명은 복수의 컨텐츠 서버로부터 수신되는 패킷을 미리 결정된 수로 구분된 CDN 노드의 수에 따라 분산하여 제공할 수 있다 따라서 트래픽이 분산되며, 복수의 CDN 노드의 부하 또한 분산된다. 또한, 본 발명은 임의의 CDN 노드가 전용으로 배정된 컨텐츠 서버로부터 수신된 패킷인 경우, 전용으로 할당된 CDN 노드에 대응하는 분류 정보를 생성하여 링크 장치로 전송한다. 그러면, 링크 장치는 분류 정보에 따라 패킷을 대응하는 CDN 노드로 전송한다. 이와 같이, 본 발명은 특정 컨텐츠 서버로부터 유입되는 패킷은 특정 CDN 노드에 전용으로 할당할 수도 있어, 네트워크 운영자의 의도에 따라 CDN 노드를 활용할 수 있다. 이러한 본 발명은 시판 또는 영업의 가능성이 충분할 뿐만 아니라 현실적으로 명백하게 반복 실시할 수 있는 정도이므로 산업상 이용가능성이 있다.
10: 접속 네트워크 20: 코어 네트워크
30: 공용 네트워크 100: 사용자 장치
200: 기지국 장치 300: 스위칭 장치
310: 인터페이스부 320: 스위칭부
330: 프로세서부 400: 링크 장치
500: CDN 노드 510: 인터페이스 모듈
520: 저장 모듈 530: 제어 모듈
600: 서빙 게이트웨이 700: 데이터 패킷 게이트웨이
800: 컨텐츠 서버
30: 공용 네트워크 100: 사용자 장치
200: 기지국 장치 300: 스위칭 장치
310: 인터페이스부 320: 스위칭부
330: 프로세서부 400: 링크 장치
500: CDN 노드 510: 인터페이스 모듈
520: 저장 모듈 530: 제어 모듈
600: 서빙 게이트웨이 700: 데이터 패킷 게이트웨이
800: 컨텐츠 서버
Claims (7)
- 입력되는 복수의 패킷을 복수의 CDN 노드 중 어느 하나에 대응하도록 분류하는 분류 정보를 생성하고, 상기 분류 정보를 상기 패킷에 포함시키는 프로세서부; 및
상기 패킷을 링크 장치로 전달하여, 상기 링크 장치가 상기 분류 정보에 따라 상기 패킷을 대응하는 CDN 노드로 전송하도록 하는 스위칭부;를 포함하되,
상기 프로세서부는
상기 패킷이 전용의 CDN 노드로 할당된 패킷이면 전용으로 할당된 CDN 노드의 식별자가 포함된 분류 정보를 생성하고,
상기 패킷이 전용의 CDN 노드로 할당된 패킷이 아니면 상기 복수의 CDN 노드에서 범용으로 사용되는 복수의 CDN 노드 중 어느 하나에 대응하는 분류 정보를 생성하는 것을 특징으로 하는 데이터 분산을 위한 스위칭 장치. - 제1항에 있어서,
상기 프로세서부는
상기 패킷의 근원지 주소, 목적지 주소, 근원지 포트 번호, 목적지 포트 번호 및 프로토콜 중 적어도 하나를 미리 결정된 해시 함수에 입력하여 얻어진 해시값을 이용하여 상기 분류 정보를 생성하는 것을 특징으로 하는 데이터 분산을 위한 스위칭 장치. - 삭제
- 입력되는 복수의 패킷을 복수의 CDN 노드에 대응하도록 분류하는 분류 정보를 생성하는 단계;
상기 분류 정보를 상기 패킷에 포함시키는 단계; 및
상기 복수의 CDN 노드와 연결된 링크 장치가 상기 분류 정보에 따라 상기 패킷을 대응하는 CDN 노드로 전송하도록, 상기 패킷을 상기 링크 장치로 전달하는 단계;를 포함하되,
상기 분류 정보를 생성하는 단계는
상기 패킷이 전용의 CDN 노드로 할당된 패킷이면 전용으로 할당된 CDN 노드의 식별자가 포함된 분류 정보를 생성하는 단계; 및
상기 패킷의 전용의 CDN 노드로 할당된 패킷이 아니면 상기 복수의 CDN 노드에서 범용으로 사용되는 복수의 CDN 노드 중 어느 하나에 대응하는 분류 정보를 생성하는 단계;
를 포함하는 것을 특징으로 하는 스위칭 장치의 데이터 분산을 위한 방법. - 제4항에 있어서,
상기 분류 정보를 생성하는 단계는
상기 패킷의 근원지 주소, 목적지 주소, 근원지 포트 번호, 목적지 포트 번호 및 프로토콜 중 적어도 하나를 미리 결정된 해시 함수에 입력하여 얻어진 해시값을 이용하여 상기 분류 정보를 생성하는 것을 특징으로 하는 스위칭 장치의 데이터 분산을 위한 방법. - 제4항에 있어서,
상기 스위칭 장치는 코어 네트워크 및 접속 네트워크 사이에 위치하며,
상기 입력되는 복수의 패킷은 상기 코어 네트워크 및 상기 접속 네트워크 간에 송수신되는 패킷인 것을 특징으로 하는 스위칭 장치의 데이터 분산을 위한 방법. - 제4항 또는 제6항에 있어서,
상기 입력되는 복수의 패킷은 GTP(General Packet Radio Service Tunneling Protocol) 패킷인 것을 특징으로 하는 스위칭 장치의 데이터 분산을 위한 방법.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020130074372A KR102130301B1 (ko) | 2013-06-27 | 2013-06-27 | 컨텐츠 전송 시스템에서 데이터 분산을 위한 장치 및 이를 위한 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020130074372A KR102130301B1 (ko) | 2013-06-27 | 2013-06-27 | 컨텐츠 전송 시스템에서 데이터 분산을 위한 장치 및 이를 위한 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20150001332A KR20150001332A (ko) | 2015-01-06 |
KR102130301B1 true KR102130301B1 (ko) | 2020-07-08 |
Family
ID=52475112
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020130074372A KR102130301B1 (ko) | 2013-06-27 | 2013-06-27 | 컨텐츠 전송 시스템에서 데이터 분산을 위한 장치 및 이를 위한 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102130301B1 (ko) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012034279A (ja) * | 2010-08-02 | 2012-02-16 | Nec Corp | 配信システムおよび配信方法 |
US20120263186A1 (en) * | 2009-09-25 | 2012-10-18 | Hiroshi Ueno | Contents base switching system and contents base switching method |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20090128847A (ko) * | 2008-06-11 | 2009-12-16 | (주)엔텔스 | 대용량 분산구조 과금을 위한 데이터 패킷 처리방법 및장치 |
KR101176199B1 (ko) | 2010-02-10 | 2012-08-23 | 김학호 | 세정 기능을 갖는 냉온 정수기 |
-
2013
- 2013-06-27 KR KR1020130074372A patent/KR102130301B1/ko active IP Right Grant
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120263186A1 (en) * | 2009-09-25 | 2012-10-18 | Hiroshi Ueno | Contents base switching system and contents base switching method |
JP2012034279A (ja) * | 2010-08-02 | 2012-02-16 | Nec Corp | 配信システムおよび配信方法 |
Also Published As
Publication number | Publication date |
---|---|
KR20150001332A (ko) | 2015-01-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6606516B2 (ja) | 効率的なピア支援ストリーミングのためのキャッシュマニフェスト | |
JP2016521059A (ja) | マルチメディアトランスポートネットワークにおけるメディア配信の制御方法及び装置 | |
WO2019101041A1 (zh) | 一种通信方法及其装置 | |
KR101981285B1 (ko) | 컨텐츠 식별 정보를 이용한 컨텐츠 전송 서비스 시스템, 이를 위한 장치 및 그의 컨텐츠 전송 서비스 방법 | |
WO2012079396A1 (zh) | 一种带宽控制的方法、设备和系统 | |
JP5962943B2 (ja) | ストリーミング・メディア・データを送信するための方法および装置 | |
CN109769123B (zh) | 一种视联网数据的处理方法及系统 | |
CN109474715B (zh) | 一种基于视联网的资源配置方法和装置 | |
US10594803B2 (en) | Method for delivering content in communication network and apparatus therefor | |
KR20140021372A (ko) | 컨텐츠 식별 정보를 이용한 컨텐츠 전송 서비스 방법 및 로컬 캐싱 장치 | |
WO2015100593A1 (zh) | 一种报文传输方法、设备及通信系统 | |
KR102129481B1 (ko) | 컨텐츠 전송 시스템에서 데이터 처리를 위한 장치 및 이를 위한 방법 | |
US11570079B2 (en) | Quality-of-service in cellular information centric network | |
CN110519331B (zh) | 一种视联网资源处理方法及装置 | |
JP6044020B2 (ja) | データパケット処理の方法、システム、およびデバイス | |
CN110198384B (zh) | 一种基于视联网的通讯方法和中转服务器 | |
KR102130301B1 (ko) | 컨텐츠 전송 시스템에서 데이터 분산을 위한 장치 및 이를 위한 방법 | |
US20170187674A1 (en) | Streaming service providing method and device | |
CN110351247B (zh) | 一种参数采集方法、装置及系统 | |
CN110049227B (zh) | 一种摄像头的操作方法和装置 | |
KR102485601B1 (ko) | 컨텐츠 전송을 위한 최적 네트워크 노드 선택 방법 및 이를 위한 장치 | |
KR102123414B1 (ko) | 컨텐츠 제공 방법, 이를 위한 노드 제어 서버 | |
KR102193480B1 (ko) | 미디어 콘텐츠 전송 제어를 위한 방법 및 장치 | |
KR20180110565A (ko) | 컨텐츠 전송 제어 방법, 이를 위한 장치, 이를 기록한 컴퓨터 판독 가능한 기록 매체 및 프로그램 | |
CN110149496B (zh) | 一种视联网的控制方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |