KR20150001332A - Method for distributing data in content delivery system and apparatus thereof - Google Patents
Method for distributing data in content delivery system and apparatus thereof Download PDFInfo
- Publication number
- KR20150001332A KR20150001332A KR20130074372A KR20130074372A KR20150001332A KR 20150001332 A KR20150001332 A KR 20150001332A KR 20130074372 A KR20130074372 A KR 20130074372A KR 20130074372 A KR20130074372 A KR 20130074372A KR 20150001332 A KR20150001332 A KR 20150001332A
- Authority
- KR
- South Korea
- Prior art keywords
- packet
- classification information
- content
- cdn
- packets
- 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
Description
본 발명은 컨텐츠 전송 기술에 관한 것으로, 더욱 상세하게는, 컨텐츠 전송 시스템에서 복수의 CDN(Content Delivery Network) 노드로 패킷을 분산하는 데이터 분산을 위한 장치 및 이를 위한 방법에 관한 것이다. BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a content transmission technology, and more particularly, to a device for data distribution for distributing packets to a plurality of Content Delivery Network (CDN) nodes in a content transmission system and a method therefor.
최근, 스마트폰(smart phone)과 같은 사용자 장치의 성능 향상 및 이동통신 기술의 발달에 따라, 사용자는 언제 어디서나, 사용자 장치를 통해 컨텐츠 제공자(CP, Contents Provider)가 제공하는 웹 서버에 접속해 사진, 비디오, 오디오, 어플리케이션 등과 같은 다양한 컨텐츠를 이용할 수 있게 되었다. 또한, 사용자의 이동성이 보장되는 이동성 네트워크(예컨대, 이동통신망)을 통해 컨텐츠를 이용하는 빈도 또한 지속적으로 증가하고 있다. 2. Description of the Related Art [0002] In recent years, with the improvement of performance of a user device such as a smart phone and development of mobile communication technology, a user can access a web server provided by a content provider (CP) , Video, audio, and applications. In addition, the frequency of using contents through a mobility network (e.g., mobile communication network) in which mobility of users is guaranteed is also continuously increasing.
그러나 컨텐츠 제공자(CP)가 제공하는 웹 서버의 수는 한정된 반면, 웹 서버에 접속하고자 하는 사용자는 급속히 증가하고 있어, 이로 인해, 데이터 손실, 병목 현상, 전송 지연, 데이터 끊김과 같은 불안전성 등 다양한 문제가 발생하게 되었다. 이러한, 문제를 해결하기 위해 등장한 것이 바로, CDN(Contents Delivery Network, 컨텐츠 전송 네트워크)이다. However, while the number of Web servers provided by a content provider (CP) is limited, the number of users wishing to access the web server is rapidly increasing. As a result, various problems such as data loss, bottleneck, transmission delay, . The CDN (Contents Delivery Network) is one that has emerged to solve this problem.
CDN이란 사진, 영화, 뮤직 비디오 등과 같은 다양한 종류의 컨텐츠를 사용자 장치로 안정적으로 전달하기 위한 서비스이다. 더 구체적으로 CDN은, 사용자 장치와 멀리 떨어져 있는 컨텐츠 제공자(CP)의 웹 서버에 있는 다양한 컨텐츠, 예컨대, 이미지, 비디오, 오디오 등과 같이 용량이 크거나 사용자 장치의 요구가 빈번한 컨텐츠를 네트워크 상의 주요 지점에 광역적으로 분산 배치된 캐시 장치에 미리 일부 또는 전부를 복사하여 저장한다. 이후, 사용자 장치로부터 컨텐츠 요청 메시지가 수신되면, 상기 사용자 장치와 가장 근접한 곳에 위치한 캐시 장치가 이에 응답하여, 해당 캐시 장치로부터 사용자 장치로 컨텐츠를 전송한다. 그 결과, CDN은 컨텐츠 접속 속도를 개선하고 보다 안정적으로 컨텐츠를 제공할 수 있다. CDN is a service for reliably delivering various types of contents such as photographs, movies, music videos, etc. to a user device. More specifically, the CDN may be configured to transmit various contents such as image, video, audio, etc., which are located in a Web server of a content provider (CP) remote from the user apparatus, In the cache apparatus in a distributed manner. Thereafter, when a content request message is received from the user device, the cache device located closest to the user device transmits the content from the cache device to the user device in response. As a result, the CDN improves the content access speed and can provide contents more stably.
본 발명의 목적은 컨텐츠 전송 시스템에서 데이터 처리를 위한 수 많은 패킷을 서로 다른 CDN 노드로 분산하는 데이터 분산을 위한 장치 및 이를 위한 방법을 제공함에 있다. It is an object of the present invention to provide an apparatus and method for data distribution for distributing a large number of packets for data processing in a content transmission system to different CDN nodes.
상술한 바와 같은 목적을 달성하기 위한 본 발명의 바람직한 실시예에 따른 데이터 분산을 위한 스위칭 장치는 입력되는 복수의 패킷을 복수의 CDN 노드 중 어느 하나에 대응하도록 분류하는 분류 정보를 생성하고, 분류 정보를 상기 패킷에 포함시키는 프로세서부와, 패킷을 링크 장치로 전달하여, 링크 장치가 분류 정보에 따라 패킷이 대응하는 CDN 노드로 전송되도록 하는 스위칭부를 포함한다. According to an aspect of the present invention, there is provided a switching apparatus for data distribution, the apparatus including: a classification unit configured to generate classification information for classifying a plurality of input packets corresponding to one of a plurality of CDN nodes, And a switching unit for transmitting the packet to the link device and causing the link device to transmit the packet to the corresponding CDN node according to the classification information.
상술한 바와 같은 목적을 달성하기 위한 본 발명의 바람직한 실시예에 따른 스위칭 장치의 데이터 분산을 위한 방법은 입력되는 복수의 패킷을 복수의 CDN 노드에 대응하도록 분류하는 분류 정보를 생성하는 단계와, 분류 정보를 패킷에 포함시키는 단계와, 복수의 CDN 노드와 연결된 링크 장치가 분류 정보에 따라 패킷을 대응하는 CDN 노드로 전송하도록 패킷을 링크 장치로 전달하는 단계를 포함한다. According to an aspect of the present invention, there is provided a method for distributing data in a switching device, the method comprising: generating classification information for classifying a plurality of input packets corresponding to a plurality of CDN nodes; And transmitting the packet to the link device so that the link device connected to the plurality of CDN nodes transmits the packet to the corresponding CDN node according to the classification information.
상술한 바와 같이 본 발명은 복수의 컨텐츠 서버로부터 수신되는 패킷을 복수의 CDN 노드로 분산시킨다. 이에 따라, 트래픽이 분산된다. 이는 또한 복수의 CDN 노드의 부하를 분산시킬 수 있다. As described above, the present invention distributes packets received from a plurality of content servers to a plurality of CDN nodes. As a result, traffic is distributed. It can also load-balance multiple CDN nodes.
그리고 특정 컨텐츠 서버로부터 유입되는 패킷은 특정 CDN 노드에 전용으로 할당할 수도 있어, 네트워크 운영자의 의도에 따라 CDN 노드를 활용할 수 있다. Packets coming from a specific content server can be allocated to a specific CDN node, and the CDN node can be utilized according to the intention of the network operator.
도 1은 본 발명의 실시예에 따른 컨텐츠 전송 시스템을 설명하기 위한 도면이다.
도 2는 본 발명의 실시예에 따른 컨텐츠 전송 시스템에서 스위칭 장치의 구성을 설명하기 위한 블록도이다.
도 3은 본 발명의 실시예에 따른 컨텐츠 전송 시스템에서 CDN 노드의 구성을 설명하기 위한 블록도이다.
도 4는 본 발명의 실시예에 따른 데이터 분산 방법을 설명하기 위한 흐름도이다.
도 5는 본 발명의 실시예에 따른 스위칭 장치의 데이터 분산 방법을 설명하기 위한 흐름도이다.
도 6은 본 발명의 실시예에 따른 스위칭부의 데이터 분산 방법을 설명하기 위한 흐름도이다.
도 7은 본 발명의 실시예에 따른 프로세서부의 데이터 분산 방법을 설명하기 위한 흐름도이다. 1 is a view for explaining a content transmission system according to an embodiment of the present invention.
2 is a block diagram illustrating a configuration of a switching device in a content transmission system according to an embodiment of the present invention.
3 is a block diagram illustrating a configuration of a CDN node in a content transmission system according to an embodiment of the present invention.
4 is a flowchart illustrating a data distribution method according to an embodiment of the present invention.
5 is a flowchart illustrating a data distribution method of a switching device according to an embodiment of the present invention.
6 is a flowchart illustrating a data distribution method of a switching unit according to an embodiment of the present invention.
7 is a flowchart illustrating a data distribution method of a processor according to an embodiment of the present invention.
이하 첨부된 도면을 참조하여 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있는 바람직한 실시예를 상세히 설명한다. 다만, 본 발명의 바람직한 실시예에 대한 동작 원리를 상세하게 설명함에 있어 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 이는 불필요한 설명을 생략함으로써 본 발명의 핵심을 흐리지 않고 더욱 명확히 전달하기 위함이다. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings. However, in the following description of the operation principle of the preferred embodiment of the present invention, a detailed description of known functions and configurations incorporated herein will be omitted when it may make the gist of the present invention unnecessarily obscure. This is to omit the unnecessary description so as to convey the key of the present invention more clearly without fading.
또한, 어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 또한, 본 명세서에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 또한, 본 명세서에서 기술되는 "포함 한다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다. Also, when an element is referred to as being "connected" or "connected" to another element, it may be directly connected or connected to the other element, but other elements may be present in between . Also, the terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention. The singular expressions include plural expressions unless the context clearly dictates otherwise. It is also to be understood that the terms such as " comprising "or" having ", as used herein, are intended to specify the presence of stated features, integers, It should be understood that the foregoing does not preclude the presence or addition of other features, numbers, steps, operations, elements, parts, or combinations thereof.
그리고, 제1, 제2 등의 용어는 다양한 구성요소들을 설명하기 위해 사용하는 것으로, 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용될 뿐, 상기 구성요소들을 한정하기 위해 사용되지 않는다. 이때, 도면 전체에 걸쳐 유사한 기능 및 작용을 하는 부분에 대해서는 동일한 도면 부호를 사용하며, 이에 대한 중복되는 설명은 생략하기로 한다. The terms first, second, etc. are used to describe various components, and are used only for the purpose of distinguishing one component from another component, and are not used to define the components. Here, the same reference numerals are used for similar functions and functions throughout the drawings, and a duplicate description thereof will be omitted.
도 1은 본 발명의 실시예에 따른 컨텐츠 제공 시스템을 설명하기 위한 도면이다. 1 is a view for explaining a content providing system according to an embodiment of the present invention.
도 1을 참조하면, 본 발명의 실시예에 따른 컨텐츠 제공 시스템은 사용자 장치(100), 기지국 장치(200), 스위칭 장치(300), 링크 장치(400), 복수의 CDN 노드(500), 서빙 게이트웨이(600), 데이터 게이트웨이(700) 및 컨텐츠 서버(800)를 포함한다. Referring to FIG. 1, a content providing system according to an embodiment of the present invention includes a
사용자 장치(100)는 접속 네트워크(10), 코어 네트워크(20) 및 공용 네트워크(30)를 통해 컨텐츠 서버(800)에 접근할 수 있다. 다시 말해서, 사용자 장치(100)는 기지국 장치(200), 스위칭 장치(300), 서빙 게이트웨이(600), 데이터 게이트웨이(700)를 통해 컨텐츠 서버(800)에 접근할 수 있다. The
접속 네트워크(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)는 상술한 무선 구간 서비스를 제공하는 하나 이상의 엔티티로 구성된다. The
코어 네트워크(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)가 될 수 있다. The
공용 네트워크(30)는 TCP/IP 프로토콜에 따라서 정보가 교환되는 통상의 개방형 네트워크로, IP(internet protocol)를 사용하는 소위, 인터넷을 예시할 수 있다. 공용 네트워크(30)는 컨텐츠 서버(800)가 위치한다. 컨텐츠 서버(800)는 컨텐츠를 저장하고, 요청에 따라 사용자 장치(100)에게 다양한 컨텐츠, 예컨대, 사진, 비디오, 오디오, 어플리케이션 등과 같은 다양한 컨텐츠를 제공하기 위한 것이다. 컨텐츠 서버(800)는 소위, 컨텐츠 제공자(CP, Contents Provider)가 운영하는 서버이며, 다수의 사용자 장치(100)로 컨텐츠를 제공할 수 있다. 예컨대, 이러한 컨텐츠 서버(800)는 웹 서버(Web Server) 혹은 웹 어플리케이션 서버(WAS, Web Application Server) 등을 예시할 수 있다. The
사용자 장치(100)는 사용자의 요청에 따라 컨텐츠 서버(800)로부터 컨텐츠를 수신하여 재생하기 위한 것이다. 예컨대, 사용자 장치(100)는 사용자가 요청한 컨텐츠에 대한 URL(Uniform Resource Locater)을 확인하고, DNS(Domain Name System) 등을 통해, 해당 URL에 대응하는 컨텐츠 서버(800)의 주소 정보(IP address)를 획득할 수 있다. 그리고 사용자 장치(100)는 해당 주소 정보에 대응하는 컨텐츠 서버(800)로 컨텐츠를 요청하며, 이에 따라, 컨텐츠 서버(800)가 전송하는 컨텐츠를 수신할 수 있다. The
복수의 CDN 노드(500)는 컨텐츠를 사용자 장치(100)에 제공하기 위한 네트워크 상의 엔티티이다. 이러한 CDN 노드는 컨텐츠를 미디어 스트리밍 서버, 웹 서버, 캐시 장치 등을 예시할 수 있다. 미디어 스트리밍 서버는 스트리밍 방식으로 컨텐츠를 사용자 장치(100)에 에게 제공할 수 있다. 웹 서버는 웹 페이지 등을 통해 사용자 장치(100)의 요청을 수신하고, 컨텐츠를 사용자 장치(100)에 제공할 수 있다. 캐시 장치는 컨텐츠 서버(800)의 컨텐츠의 사본의 일부 또는 전부를 저장하고, 사용자 장치(100)의 요청이 있는 경우, 저장된 컨텐츠를 컨텐츠 서버(800) 대신 사용자 장치(100)에 제공할 수 있다. 캐시 장치는 사용자 장치(100)로부터 컨텐츠 요청을 중간에서 수신할 수 있어야 한다. 또한, 캐시 장치는 컨텐츠 서버(800)가 사용자 장치(100)로 전송하는 컨텐츠를 중간에서 수신하여, 복사한 뒤 저장하거나, 컨텐츠 서버(800)로부터 컨텐츠를 미리 수신하여 저장할 수 있어야 한다. A plurality of
이하에서, CDN 노드(500)는 주로 캐시 장치를 가정하여 설명할 것이나, 이 분야에서 통상의 지식을 가진자라면, CDN 노드(500)가 미디어 스트리밍 서버, 웹 서버 등과 같이 컨텐츠를 저장하고, 요청에 따라 컨텐츠를 송수신하는 기능을 가지는 어떠한 엔티티에도 적용될 수 있음을 이해할 수 있을 것이다.In the following, the
컨텐츠 서버(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 패킷이 될 수 있다. The
제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 형식 패킷은 네트워크 내에서 데이터 송수신을 위한 트래픽을 처리하기 위해 사용되며, 음성을 위한 패킷과 구분된다. The second type packet can not be recognized by the
한편, 스위칭 장치(300)는 접속 네트워크(10)와 코어 네트워크(20) 사이에 위치한다. 그리고 스위칭 장치(300)에는 CDN 노드(500)가 연결된다. 스위칭 장치(300)가 위치한 접속 네트워크(10)의 모든 상향링크(UPLINK) 혹은 하향링크(DOWNLINK) 패킷은 스위칭 장치(300)를 경유한다. 이때, 스위칭 장치(300)는 자신을 경유하는 패킷이 제2 형식 패킷인 경우, 데이터 송수신을 위한 트래픽인 것으로 판단하고, 이를 처리한다. 그렇지 않은 경우, 스위칭 장치(300)는 해당 패킷을 바이패스(bypass)한다. On the other hand, the
스위칭 장치(300)는 자신을 경유하는 패킷이 제2 형식 패킷인 경우, 패킷에 포함된 정보에 기초하여, 해당 패킷을 분류한다. 그리고 스위칭 장치(300)는 이러한 분류에 따라 분류 정보를 생성하고, 생성된 분류 정보를 패킷에 포함시킨다. 분류 정보는 복수의 CDN 노드(500) 중 어느 하나를 지정하는 식별자를 포함한다. 그런 다음, 스위칭 장치(300)는 분류 정보가 포함된 패킷을 링크 장치(400)로 전달한다. The
링크 장치(400)는 스위칭 장치(300)로부터 패킷이 입력되면, 분류 정보를 판독하여, 해당 패킷이 어떤 CDN 노드(500)로 전송되어야 할 것인지를 확인한다. 그런 다음, 링크 장치(400)는 분류 정보에 따라 지정된 CDN 노드(500)로 패킷을 전달한다. 이러한 링크 장치(400)는 네트워크 스위치가 될 수 있으며, 대표적으로 L2 스위치(데이터링크 스위치)를 예시할 수 있다. When a packet is input from the
상술한 바와 같이, 스위칭 장치(300)는 분류 정보를 통해 복수의 패킷을 복수의 CDN 노드(500) 중 어느 하나에 대응하도록 분류한다. 이로써, 트래픽이 분산되며, 복수의 CDN 노드(500)의 부하를 분산시킬 수 있다. 또한, 스위칭 장치(300)는 특정 컨텐츠 서버(800)로부터 유입되는 패킷을 특정 CDN 노드(500)에 대응하도록 분류할 수 있다. 이에 따라, 네트워크 운영자는 목적에 따라 전용의 CDN 노드(500)를 운영할 수 있다. As described above, the
도 2는 본 발명의 실시예에 따른 컨텐츠 전송 시스템에서 스위칭 장치의 구성을 설명하기 위한 블록도이다. 2 is a block diagram illustrating a configuration of a switching device in a content transmission system according to an embodiment of the present invention.
도 2를 참조하면, 스위칭 장치(300)는 인터페이스부(310), 스위칭부(320) 및 프로세서부(330)를 포함한다. Referring to FIG. 2, the
인터페이스부(310)는 패킷이 송수신되는 경로들이며, 인터페이스부(310)는 복수개의 인터페이스를 포함한다. 즉, 패킷은 인터페이스부(310)를 통해 송수신된다. 상향링크 혹은 하향링크로부터 수신되는 패킷은 인터페이스부(310)를 통해 스위칭부(320)로 입력된다. 또한, 스위칭부(320)로부터 출력되는 패킷은 인터페이스부(310)를 통해 상향링크 혹은 하향링크로 전송된다. 또한, 특정 패킷은 스위칭부(320)로부터 인터페이스부(310)를 통해 링크 장치(400)로 출력된다. The
스위칭부(320)는 인터페이스부(310)를 통해 상향링크 혹은 하향링크로부터 패킷이 입력되면, 입력된 패킷이 데이터의 송수신을 위한 패킷인지 여부를 판단한다. 즉 스위칭부(320)는 입력된 패킷이 제2 형식 패킷인지 여부를 판단한다. 이는 제2 형식 헤더를 통해 판단할 수 있다. 예컨대, 스위칭부(320)는 입력된 패킷에 GTP 헤더가 포함되어 있을 경우, 제2 형식 패킷으로 판단할 수 있다. 입력된 패킷이 터널링 통신을 위한 제2 형식 패킷인 것으로 판단되면, 스위칭부(320)는 해당 패킷을 프로세서부(330)로 입력한다. 그렇지 않은 경우, 스위칭부(320)는 입력된 패킷을 바이패스하여 인터페이스부(310)를 통해 출력한다. 또한, 스위칭부(320)는 프로세서부(330)로부터 분류 정보가 포함된 패킷이 입력되면, 해당 패킷을 인터페이스부(310)를 통해 링크 장치(400)로 전달한다. When a packet is input from the uplink or the downlink through the
또한, 스위칭부(320)는 스위칭 장치(300) 혹은 스위칭 장치(300)와 연결된 링크 장치(400) 및 CDN 노드(500)의 장애 상황이 발생하는 경우, 광학 선로와 같이 역할을 수행한다. 즉, CDN 노드(500)를 경유하는 모든 상향링크 패킷 혹은 하향링크 패킷은 바이패스된다. 더욱이, 스위칭 장치(300)에 전원이 들어오지 않는 경우에도, 스위칭부(320)는 광학 선로의 역할을 하기 때문에 네트워크 트래픽이 정체되지 않는다. The
프로세서부(330)는 스위칭부(320)로부터 패킷이 입력되면, 입력된 패킷의 컨텐츠를 복수의 CDN 노드(500)에 분산하여 저장하기 위하여, 분류 정보를 생성한다. 이 분류 정보는 해당 패킷을 어떤 CDN 노드(500)로 전달할 것인지를 나타낸다. 이를 위하여, 분류 정보는 복수의 CDN 노드(500) 중 어느 하나를 식별할 수 있는 식별자를 포함할 수 있다. When a packet is input from the
한편, 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개로 분류한다. Meanwhile, the
입력된 패킷이 전용으로 할당된 CDN 노드(500)가 없는 컨텐츠 서버(800)로부터 전송되는 패킷인 경우, 프로세서부(330)는 입력된 패킷을 범용으로 사용되는 복수의 CDN 노드(500) 중 어느 하나에 대응하도록 분류한다. 달리 설명하면, 복수의 패킷이 프로세서부(330)에 입력될 것이며, 프로세서부(330)는 입력되는 복수의 패킷을 범용으로 할당된 CDN 노드(500)의 수로 분류한다. 프로세서부(330)는 이러한 분류에 따라 분류 정보를 생성할 수 있다. 이 분류 정보는 패킷 분류의 결과에 따라 해당하는 CDN 노드(500)를 식별할 수 있는 식별자를 포함할 수 있다. When the input packet is a packet transmitted from the
일 실시예에 따르면, 프로세서부(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)를 식별할 수 있는 식별자를 포함한다. According to one embodiment, the
한편, 전용으로 할당된 CDN 노드(500)가 있는 컨텐츠 서버(800)로부터 전송되는 패킷이 입력되면, 프로세서부(330)는 전용으로 할당된 CDN 노드(500)에 대한 식별자를 포함하는 분류 정보를 생성한다. Meanwhile, when a packet transmitted from the
상술한 바와 같이, 분류 정보를 생성한 후, 프로세서부(330)는 분류 정보를 패킷에 포함시킨다. 예컨대, 복수의 CDN 노드(500)는 VLAN(Virtual Local Area Network)으로 구축될 수 있다. 이러한 경우, 분류 정보는 VLAN 태그가 될 수 있고, 복수의 CDN 노드(500)는 VLAN 태그 내의 각 VLAN을 식별하는 식별자(12 bit의 VLAN ID 필드)를 통해 구분될 수 있다. 따라서 프로세서부(330)는 패킷에 분류 정보로 VLAN 태그를 포함시켜 출력할 수 있다. As described above, after generating the classification information, the
도 3은 본 발명의 실시예에 따른 컨텐츠 전송 시스템에서 CDN 노드의 구성을 설명하기 위한 블록도이다. 3 is a block diagram illustrating a configuration of a CDN node in a content transmission system according to an embodiment of the present invention.
도 3에서 설명되는 CDN 노드(500)의 구성은 CDN 노드(500)가 캐시 장치인 경우의 바람직한 실시예이지만, 미디어 스트리밍 서버, 웹 서버 등의 경우에도 유사한 구성을 적용할 수 있을 것이다. The configuration of the
도 3을 참조하면, CDN 노드(500)는 인터페이스 모듈(510), 저장 모듈(520) 및 제어 모듈(530)를 포함한다. Referring to FIG. 3, the
인터페이스 모듈(510)은 접속 네트워크(10) 혹은 코어 네트워크(20)를 통해 송수신되는 패킷을 수신하거나, CDN 노드(500)에 저장된 패킷을 전송하기 위한 것이다. 특히, 인터페이스 모듈(510)은 사용자 장치(100) 및 컨텐츠 서버(800)와 통신을 수행할 수 있다. 이를 위하여, 인터페이스 모듈(510)은 패킷을 스위칭 장치(300) 및 링크 장치(400)를 통해 수신할 수 있다. 또한, 인터페이스 모듈(510)은 제어 모듈(530)로부터 컨텐츠를 포함하는 패킷을 전달받아 스위칭 장치(300) 및 링크 장치(400)를 통해 전송할 수 있다. The
저장 모듈(520)은 컨텐츠를 저장하기 위한 저장 공간을 가지며, 적어도 하나의 컨텐츠 서버(800)에 저장된 컨텐츠의 사본의 일부 또는 전부를 저장할 수 있다. 제어 모듈(530)은 인터페이스 모듈(510)을 통해 컨텐츠 서버(800)로부터 사용자 장치(100)로 전송되는 패킷을 수신하고, 수신된 패킷의 컨텐츠를 복사하여 저장 모듈(520)에 저장할 수 있다. 또한, 제어 모듈(530)은 미리 설정된 정책에 따라 컨텐츠 서버(800)에 컨텐츠를 요청하고, 컨텐츠 서버(800)가 컨텐츠를 포함하는 패킷을 전송하면, 이를 수신하여 저장할 수도 있다. The
저장 모듈(520)의 저장 공간에 저장된 컨텐츠는 요청의 빈도에 따라 유지되거나, 삭제될 수 있다. 저장 공간에 저장되는 컨텐츠는 선입 선출 방식의 큐 방식으로 저장될 수 있다. 저장 공간은 컨텐츠에 대한 요청이 있을 때, 컨텐츠가 저장되어 있지 않다면, 원본 서버, 즉, 컨텐츠 서버(800)로부터 해당 컨텐츠를 수신하여 큐에 입력하여 저장한다. 이때, 저장 공간이 선입 선출 방식이기 때문에 가장 먼저 저장된 컨텐츠는 새로운 컨텐츠가 저장될 때, 저장 공간이 부족하다면 삭제된다. 반면, 컨텐츠에 대한 요청이 있을 때, 해당 컨텐츠가 저장되어 있다면, 해당 컨텐츠를 새로 저장하는 것과 같이, 큐에 새로 입력한다. 이와 같이, 저장 공간에 저장된 컨텐츠는 컨텐츠에 대한 요청의 빈도에 따라 삭제되거나, 유지될 수 있다. The contents stored in the storage space of the
제어 모듈(530)는 CDN 노드(500)의 전반적인 동작을 제어하기 위한 것이다. 제어 모듈(530)는 인터페이스 모듈(510)을 통해 컨텐츠가 포함된 패킷을 수신하면, 해당 컨텐츠를 저장 모듈(320)에 저장할 수 있다. 혹은, 제어 모듈(530)은 특정 이벤트가 발생하면, 저장 모듈(320)에 저장된 컨텐츠를 컨텐츠 서버(800) 대신 인터페이스 모듈(510)을 통해 사용자 장치(100)로 전송할 수 있다. The
도 4는 본 발명의 실시예에 따른 데이터 분산 방법을 설명하기 위한 흐름도이다. 4 is a flowchart illustrating a data distribution method according to an embodiment of the present invention.
도 4에 제1 내지 제n CDN 노드(501 내지 50n)가 도시되었다. 제1 내지 제n CDN 노드(501 내지 50n) 각각은 미리 설정된 규칙에 따라 컨텐츠 서버(800)로부터 컨텐츠를 수신하여 저장하는 프리로딩을 수행할 수 있다. 도 4는 이러한 상황을 가정한다. The first to n < th >
도 4를 참조하면, 컨텐츠 서버(800)는 S410 단계에서 컨텐츠가 포함된 패킷을 전송한다. 도 4에서 데이터 게이트웨이(700) 및 서빙 게이트웨이(600)는 도시되지 않았다. 하지만, 컨텐츠 서버(800)가 전송한 패킷은 데이터 게이트웨이(700) 및 서빙 게이트웨이(600)를 통해 스위칭 장치(300)로 수신될 것이다. 패킷을 수신한 스위칭 장치(300)는 S420 단계에서 분류 정보를 생성하여 생성된 분류 정보를 패킷에 포함시킨다. 여기서, 분류 정보는 패킷으로부터 추출된 근원지 주소, 목적지 주소, 근원지 포트 번호, 목적지 포트 번호 및 프로토콜 중 적어도 하나를 미리 결정된 해시 함수에 적용하여 얻을 수 있다. 이러한 분류 정보는 제1 내지 제n CDN 노드(501 내지 50n) 중 어느 하나를 식별하는 식별자를 포함할 수 있다. 다음으로, 스위칭 장치(300)는 S430 단계에서 분류 정보가 포함된 패킷을 링크 장치(400)로 전달한다. Referring to FIG. 4, the
링크 장치(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)로 해당 패킷을 전송할 수 있다. When receiving the packet, the
제2 CDN 노드(502)는 패킷을 수신하면, S450 단계에서 패킷에 포함된 컨텐츠를 저장할 수 있다. 도 5는 본 발명의 실시예에 따른 스위칭 장치의 데이터 분산 방법을 설명하기 위한 흐름도이다. When the
도 5를 참조하면, 스위칭부(320)는 S510 단계에서 네트워크(서빙 게이트웨이)로부터 패킷을 수신한다. 이 패킷은 컨텐츠 서버(800)로부터 전송된 패킷이라고 가정한다. Referring to FIG. 5, the
또한, 수신된 패킷은 컨텐츠를 포함하며 터널링 통신을 위한 제2 형식 패킷이라고 가정한다. 그러면, 스위칭부(320)는 S520 단계에서 패킷을 프로세서부(330)로 전달한다. 만약, 수신된 패킷이 음성 패킷이라면, 스위칭부(320)는 해당 패킷을 바이패스 하여 네트워크로 전송할 것이다. It is also assumed that the received packet includes content and is a second type packet for tunneling communication. Then, the
프로세서부(330)는 패킷이 입력되면, 분류 정보를 생성한다. 이 분류 정보는 입력된 패킷에 포함된 컨텐츠를 복수의 CDN 노드(500)에 분산하여 저장하기 위한 것이며, 해당 패킷을 어떤 CDN 노드(500)로 전달할 것인지를 나타낸다. 예컨대, 프로세서부(330)는 패킷의 필드로부터 추출된 적어도 하나의 필드값을 해시 함수에 입력하고, 해시 함수로부터 출력된 해시값을 이용하여 분류 정보를 생성할 수 있다. 여기서, 패킷의 필드로부터 추출된 필드값은 근원지 주소, 목적지 주소, 근원지 포트 번호, 목적지 포트 번호 및 프로토콜 중 적어도 하나가 될 수 있다. 한편, 프로세서부(330)에 입력된 패킷이 전용으로 할당된 CDN 노드(500)가 있는 컨텐츠 서버(800)로부터 전송된 것일 수 있다. 이러한 경우, 프로세서부(330)는 전용으로 할당된 CDN 노드(500)의 식별자를 포함하는 분류 정보를 생성할 수 있다. 예컨대, 복수의 CDN 노드(500)는 VLAN으로 구성되어 있다고 가정하면, 분류 정보는 VLAN 태그가 될 수 있다. 여기서, VLAN 태그는 복수의 CDN 노드(500) 중 어느 하나를 식별할 수 있는 VLAN ID 값을 포함한다. The
분류 정보를 생성한 후, 프로세서부(330)는 S530 단계에서 분류 정보를 패킷에 포함시킨다. 예컨대, 분류 정보가 VLAN 태그 형태로 생성된 경우, 프로세서부(330)는 패킷의 헤더에 VLAN 태그를 태깅할 수 있다. 그런 다음, 프로세서부(330)는 S540 단계에서 분류 정보가 포함된 패킷을 스위칭부(320)로 전달한다 After generating the classification information, the
스위칭부(320)는 S550 단계에서 분류 정보가 포함된 패킷을 인터페이스부(310)를 통해 링크 장치(400)로 전달한다. 그러면, 링크 장치(400)는 패킷의 분류 정보를 통해 대응하는 CDN 노드(500)로 패킷을 전송할 것이다. In step S550, the
도 6은 본 발명의 실시예에 따른 스위칭부의 데이터 분산 방법을 설명하기 위한 흐름도이다. 6 is a flowchart illustrating a data distribution method of a switching unit according to an embodiment of the present invention.
도 6을 참조하면, 스위칭부(320)는 S610 단계에서 네트워크(서빙 게이트웨이)로부터 패킷을 수신한다. 그러면, 스위칭부(320)는 S620 단계에서 해당 패킷이 데이터(컨텐츠) 송수신을 위한 패킷인지 혹은 음성을 위한 패킷인지 여부를 판단한다. S620 단계의 판단 결과, 데이터 송수신을 위한 제2 형식 패킷이면, S630 단계로 진행하고, 음성 송수신을 위한 패킷이면, S660 단계로 진행한다. Referring to FIG. 6, the
수신된 패킷이 터널링을 통해 데이터 전송을 위한 제2 형식 패킷인 경우, 스위칭부(320)는 S630 단계에서 패킷을 프로세서부(330)로 전달한다. 그러면, 프로세서부(330)는 패킷에 분류 정보를 포함시켜 출력할 것이다. 예컨대, 복수의 CDN 노드(500)가 VLAN으로 구성되어 있다고 가정한다. 또한, 분류 정보는 VLAN 태그라고 가정한다. 그러면, 프로세서부(330)는 패킷에 분류 정보인 VLAN 태그를 태깅하여 출력할 수 있다. 여기서, VLAN 태그는 복수의 CDN 노드(500) 중 어느 하나를 식별할 수 있는 VLAN ID 값을 포함한다. If the received packet is a second type packet for data transmission through tunneling, the
그러면, 스위칭부(320)는 S640 단계에서 분류 정보를 포함하는 패킷을 수신하고, S650 단계에서 분류 정보를 포함하는 패킷을 링크 장치(400)로 전달한다. 그러면, 링크 장치(400)는 패킷의 분류 정보를 통해 해당하는 CDN 노드(500)로 패킷을 전송할 것이다. 예컨대, 링크 장치(400)는 VLAN 태그의 VLAN ID를 통해 CDN 노드(500)를 식별하고, 식별된 CDN 노드(500)로 패킷을 전송할 수 있다. In step S640, the
한편, 수신된 패킷이 음성 전송을 위한 패킷인 경우, 스위칭부(320)는 S660 단계에서 해당 패킷을 바이패스하여 인터페이스부(310)를 통해 네트워크로 출력할 것이다. If the received packet is a packet for voice transmission, the
도 7은 본 발명의 실시예에 따른 프로세서부의 데이터 분산 방법을 설명하기 위한 흐름도이다. 7 is a flowchart illustrating a data distribution method of a processor according to an embodiment of the present invention.
도 7을 참조하면, 프로세서부(330)는 S710 단계에서 스위칭부(320)로부터 패킷을 입력 받는다. 그러면, 프로세서부(330)는 S720 단계에서 입력된 패킷이 전용의 CDN 노드(500)가 배정된 컨텐츠 서버(800)로부터 전송된 패킷인지 여부를 확인한다. Referring to FIG. 7, the
상기 확인 결과, 전용의 CDN 노드(500)가 배정된 컨텐츠 서버(800)로부터 전송된 패킷이면, S740 단계로 진행하고, 그렇지 않은 경우, S730 단계로 진행한다. As a result of checking, if the
전용의 CDN 노드(500)가 배정된 컨텐츠 서버(800)로부터 전송된 패킷이 아닌 경우, 프로세서부(330)는 S730 단계에서 입력된 패킷에 대해 범용으로 사용되는 복수의 CDN 노드(500) 중 어느 하나에 대응하는 분류 정보를 생성한다. 이러한 분류를 위해 프로세서부(330)는 패킷의 특정 필드 값을 이용할 수 있다. 예컨대, 프로세서부(330)는 패킷으로부터 근원지 주소, 목적지 주소, 근원지 포트 번호, 목적지 포트 번호 및 프로토콜(protocol) 중 적어도 하나의 필드 값을 추출한다. 그런 다음, 프로세서부(330)는 추출된 필드 값을 이용하여, 미리 설정된 알고리즘을 이용하여 패킷을 분류할 수 있다. 이 알고리즘은 해시 알고리즘이 될 수 있다. 즉, 프로세서부(330)는 추출된 근원지 주소, 목적지 주소, 근원지 포트 번호, 목적지 포트 번호 및 프로토콜 중 적어도 하나의 필드값을 해시 함수에 입력하여 해시값을 얻는다. 그리고 프로세서부(330)는 그 해시값에 따라 패킷을 분류하는 분류 정보를 생성할 수 있다. 일 예로, 분류 정보를 생성할 때, 패킷을 전송하는 컨텐츠 서버(800)를 분류의 기준으로 하기 위해서, 해시 함수의 입력 파라미터로 근원지 주소, 근원지 포트 번호 등을 이용할 수 있다. 다른 예로, 패킷을 수신하는 사용자 장치(100)를 분류의 기준으로 하기 위해서, 해시 함수의 입력 파라미터로 목적지 주소, 목적지 포트 번호 등을 이용할 수 있다. 또한, 어플리케이션별로 다른 프로토콜을 사용하기 때문에, 어플리케이션을 분류의 기준으로 하기 위해서, 해시 함수의 입력 파라미터로 프로토콜을 이용할 수 있다. 예컨대, VOD(Video On Demand)와 관련된 컨텐츠만을 전용으로 저장하는 CDN 노드(500)를 적용하는 경우, VOD를 위한 어플리케이션은 다른 어플리케이션과 다른 프로토콜을 사용하기 때문에, 해시 함수의 입력 파라미터로 프로토콜을 입력하여, 해당 컨텐츠를 분류할 수 있다. 물론, 상술한 5가지 파라미터를 모두 사용할 수도 있다. If the
한편, 전용의 CDN 노드(500)가 배정된 컨텐츠 서버(800)로부터 전송된 패킷이면, 프로세서부(330)는 S740 단계에서 전용으로 할당된 CDN 노드(500)의 식별자를 포함하는 분류 정보를 생성한다. On the other hand, if the
상술한 바와 같이, S730 단계 또는 S740 단계에서 분류 정보를 생성한 후, 프로세서부(330)는 S750 단계에서 분류 정보를 패킷에 포함시킨다. 예컨대, 복수의 CDN 노드(500)는 VLAN으로 구축될 수 있다. 이러한 경우, 분류 정보는 VLAN 태그가 될 수 있다. 여기서, VLAN 태그는 각 VLAN을 식별하는 식별자를 포함한다. 이에 따라, 복수의 CDN 노드(500)는 구분될 수 있다. 따라서 프로세서부(330)는 패킷의 헤더에 분류 정보로 VLAN 태그를 태깅할 수 있다. As described above, after generating the classification information in step S730 or S740, the
다음으로, 프로세서부(330)는 S760 단계에서 분류 정보가 포함된 패킷을 스위칭부(320)로 출력한다. In step S760, the
한편, 지금까지 설명된 실시예에서는 컨텐츠 서버(800)에서 전송된 패킷이 스위칭 장치(300)에 의해 CDN 노드(500)에 저장되는 절차에 대해서 설명했지만, 본 발명이 이에 한정되는 것은 아니다. 도 1에 도시된 바와 같이, 스위칭 장치(300)는 코어 네트워크(20) 및 접속 네트워크(10) 사이에 위치하여, 코어 네트워크(20) 및 접속 네트워크(10) 간에 송수신되는 패킷들을 수신할 수 있다. 예컨대, 스위칭 장치(300)는 사용자 장치(100)와 컨텐츠 서버(800) 간에 교환되는 상향링크 혹은 하향링크 패킷을 수신할 수 있다. 또한, 스위칭 장치(300)는 이러한 패킷을 상술한 실시예들에 따라 분류하여 대응하는 CDN 노드(500)에 제공할 수 있다. In the above-described embodiment, the procedure is described in which the packet transmitted from the
이러한, 본 발명의 실시 예에 따른 데이터 분산을 위한 방법은 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있으며, 컴퓨터 시스템에 의해 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(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), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치를 포함한다.The method for data distribution according to an embodiment of the present invention can be implemented as a computer-readable code on a computer-readable recording medium. The computer readable recording medium may include program instructions, data files, data structures, and the like, alone or in combination, and includes all kinds of recording apparatuses in which data that can be read by a computer system is stored. Examples of the computer-readable recording medium include an optical recording medium such as a magnetic medium such as a hard disk, a floppy disk and a magnetic tape, a compact disk read only memory (CD-ROM), and a digital video disk (ROM), random access memory (RAM), flash memory, and the like, such as a magneto-optical medium such as a magneto-optical medium and a floppy disk, And hardware devices that are specifically configured to perform the functions described herein.
또한, 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고, 본 발명을 구현하기 위한 기능적인(functional) 프로그램, 코드 및 코드 세그먼트들은 본 발명이 속하는 기술분야의 프로그래머들에 의해 용이하게 추론될 수 있다. In addition, the computer-readable recording medium may be distributed over network-connected computer systems so that computer readable codes can be stored and executed in a distributed manner. In addition, functional programs, codes, and code segments for implementing the present invention can be easily inferred by programmers of the technical field to which the present invention belongs.
이상으로 본 발명의 기술적 사상을 예시하기 위한 바람직한 실시 예와 관련하여 설명하고 도시하였지만, 본 발명은 이와 같이 도시되고 설명된 그대로의 구성 및 작용에만 국한되는 것은 아니며, 기술적 사상의 범주를 이탈함없이 본 발명에 대해 다수의 변경 및 수정이 가능함을 당업자들은 잘 이해할 수 있을 것이다. 따라서 그러한 모든 적절한 변경 및 수정과 균등물들도 본 발명의 범위에 속하는 것으로 간주되어야 할 것이다.While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is to be understood that the invention is not limited to the disclosed exemplary embodiments, but, on the contrary, It will be appreciated by those skilled in the art that numerous changes and modifications can be made to the invention. And all such modifications and changes as fall within the scope of the present invention are therefore to be regarded as being within the scope of the present invention.
본 발명은 컨텐츠 전송 시스템에서 데이터 분산을 위한 장치 및 이를 위한 방법에 관한 것이다. 이러한 본 발명은 스위칭 장치가 수신되는 복수의 패킷을 복수의 CDN 노드 중 어느 하나에 대응하도록 분류하는 분류 정보를 생성하고, 상기 분류 정보를 상기 패킷에 포함시켜 링크 장치로 전달한다. 그러면, 링크 장치는 분류 정보에 따라 패킷을 대응하는 CDN 노드로 전송한다. 상술한 바와 같이 본 발명은 복수의 컨텐츠 서버로부터 수신되는 패킷을 미리 결정된 수로 구분된 CDN 노드의 수에 따라 분산하여 제공할 수 있다 따라서 트래픽이 분산되며, 복수의 CDN 노드의 부하 또한 분산된다. 또한, 본 발명은 임의의 CDN 노드가 전용으로 배정된 컨텐츠 서버로부터 수신된 패킷인 경우, 전용으로 할당된 CDN 노드에 대응하는 분류 정보를 생성하여 링크 장치로 전송한다. 그러면, 링크 장치는 분류 정보에 따라 패킷을 대응하는 CDN 노드로 전송한다. 이와 같이, 본 발명은 특정 컨텐츠 서버로부터 유입되는 패킷은 특정 CDN 노드에 전용으로 할당할 수도 있어, 네트워크 운영자의 의도에 따라 CDN 노드를 활용할 수 있다. 이러한 본 발명은 시판 또는 영업의 가능성이 충분할 뿐만 아니라 현실적으로 명백하게 반복 실시할 수 있는 정도이므로 산업상 이용가능성이 있다. The present invention relates to an apparatus and method for data distribution in a content transmission system. The present invention generates classification information that classifies a plurality of packets received by the switching device to correspond to any one of a plurality of CDN nodes, and transmits the classification information to the link device by including the classification information in the packet. Then, the link device transmits the packet to the corresponding CDN node according to the classification information. As described above, according to the present invention, packets received from a plurality of content servers can be distributed according to the number of CDN nodes divided by a predetermined number. Accordingly, traffic is distributed and loads of a plurality of CDN nodes are distributed. In addition, when the present invention is a packet received from a content server dedicated to a CDN node, classification information corresponding to a dedicated CDN node is generated and transmitted to the link device. Then, the link device transmits the packet to the corresponding CDN node according to the classification information. As described above, the present invention can allocate a packet received from a specific content server to a specific CDN node, and utilize the CDN node according to the intention of the network operator. The present invention has a possibility of being commercially available or operating, and is industrially applicable since it is practically possible to repeatedly carry out clearly.
10: 접속 네트워크 20: 코어 네트워크
30: 공용 네트워크 100: 사용자 장치
200: 기지국 장치 300: 스위칭 장치
310: 인터페이스부 320: 스위칭부
330: 프로세서부 400: 링크 장치
500: CDN 노드 510: 인터페이스 모듈
520: 저장 모듈 530: 제어 모듈
600: 서빙 게이트웨이 700: 데이터 패킷 게이트웨이
800: 컨텐츠 서버 10: access network 20: core network
30: Public network 100: User device
200: base station apparatus 300: switching device
310: interface unit 320: switching unit
330: processor unit 400: link device
500: CDN node 510: Interface module
520: storage module 530: control module
600: Serving gateway 700: Data packet gateway
800: Content server
Claims (7)
상기 패킷을 링크 장치로 전달하여, 상기 링크 장치가 상기 분류 정보에 따라 상기 패킷을 대응하는 CDN 노드로 전송하도록 하는 스위칭부;를 포함하는 것을 특징으로 하는 데이터 분산을 위한 스위칭 장치. A processor for generating classification information for classifying a plurality of input packets so as to correspond to any one of the plurality of CDN nodes and including the classification information in the packet; And
And a switching unit for transmitting the packet to the link device, and causing the link device to transmit the packet to the corresponding CDN node according to the classification information.
상기 프로세서부는
상기 패킷의 근원지 주소, 목적지 주소, 근원지 포트 번호, 목적지 포트 번호 및 프로토콜 중 적어도 하나를 미리 결정된 해시 함수에 입력하여 얻어진 해시값을 이용하여 상기 분류 정보를 생성하는 것을 특징으로 하는 데이터 분산을 위한 스위칭 장치. The method according to claim 1,
The processor unit
Wherein the classification information is generated using a hash value obtained by inputting at least one of a source address, a destination address, a source port number, a destination port number, and a protocol of the packet into a predetermined hash function, Device.
상기 프로세서부는
상기 패킷이 상기 복수의 CDN 노드 중 어느 하나의 CDN 노드가 전용으로 할당된 컨텐츠 서버로부터 수신된 패킷이면, 상기 하나의 CDN 노드에 대응하는 분류 정보를 생성하는 것을 특징으로 하는 데이터 분산을 위한 스위칭 장치. The method according to claim 1,
The processor unit
And generates classification information corresponding to the one CDN node if the packet is a packet received from a content server to which one of the plurality of CDN nodes is dedicatedly allocated. .
상기 분류 정보를 상기 패킷에 포함시키는 단계; 및
상기 복수의 CDN 노드와 연결된 링크 장치가 상기 분류 정보에 따라 상기 패킷을 대응하는 CDN 노드로 전송하도록, 상기 패킷을 상기 링크 장치로 전달하는 단계;를 포함하는 것을 특징으로 하는 스위칭 장치의 데이터 분산을 위한 방법. Generating classification information for classifying a plurality of input packets to correspond to a plurality of CDN nodes;
Including the classification information in the packet; And
And forwarding the packet to the link device so that the link device connected to the plurality of CDN nodes transmits the packet to the corresponding CDN node according to the classification information. Way.
상기 분류 정보를 생성하는 단계는
상기 패킷의 근원지 주소, 목적지 주소, 근원지 포트 번호, 목적지 포트 번호 및 프로토콜 중 적어도 하나를 미리 결정된 해시 함수에 입력하여 얻어진 해시값을 이용하여 상기 분류 정보를 생성하는 것을 특징으로 하는 스위칭 장치의 데이터 분산을 위한 방법. 5. The method of claim 4,
The step of generating the classification information
And generates the classification information by using a hash value obtained by inputting at least one of a source address, a destination address, a source port number, a destination port number, and a protocol of the packet into a predetermined hash function. Lt; / RTI >
상기 스위칭 장치는 코어 네트워크 및 접속 네트워크 사이에 위치하며,
상기 입력되는 복수의 패킷은 상기 코어 네트워크 및 상기 접속 네트워크 간에 송수신되는 패킷인 것을 특징으로 하는 스위칭 장치의 데이터 분산을 위한 방법. 5. The method of claim 4,
Wherein the switching device is located between a core network and an access network,
Wherein the plurality of input packets are packets transmitted and received between the core network and the access network.
상기 입력되는 복수의 패킷은 GTP(General Packet Radio Service Tunneling Protocol) 패킷인 것을 특징으로 하는 스위칭 장치의 데이터 분산을 위한 방법. The method according to claim 4 or 6,
Wherein the plurality of input packets are General Packet Radio Service Tunneling Protocol (GTP) packets.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020130074372A KR102130301B1 (en) | 2013-06-27 | 2013-06-27 | Method for distributing data in content delivery system and apparatus thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020130074372A KR102130301B1 (en) | 2013-06-27 | 2013-06-27 | Method for distributing data in content delivery system and apparatus thereof |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20150001332A true KR20150001332A (en) | 2015-01-06 |
KR102130301B1 KR102130301B1 (en) | 2020-07-08 |
Family
ID=52475112
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020130074372A KR102130301B1 (en) | 2013-06-27 | 2013-06-27 | Method for distributing data in content delivery system and apparatus thereof |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102130301B1 (en) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20090128847A (en) * | 2008-06-11 | 2009-12-16 | (주)엔텔스 | Method and apparatus for processing data packet in large scale distributed billing |
KR20110092869A (en) | 2010-02-10 | 2011-08-18 | 명창배 | The coldness and warmth water purifier which has a tax administration function |
JP2012034279A (en) * | 2010-08-02 | 2012-02-16 | Nec Corp | Distribution system and distribution method |
US20120263186A1 (en) * | 2009-09-25 | 2012-10-18 | Hiroshi Ueno | Contents base switching system and contents base switching method |
-
2013
- 2013-06-27 KR KR1020130074372A patent/KR102130301B1/en active IP Right Grant
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20090128847A (en) * | 2008-06-11 | 2009-12-16 | (주)엔텔스 | Method and apparatus for processing data packet in large scale distributed billing |
US20120263186A1 (en) * | 2009-09-25 | 2012-10-18 | Hiroshi Ueno | Contents base switching system and contents base switching method |
KR20110092869A (en) | 2010-02-10 | 2011-08-18 | 명창배 | The coldness and warmth water purifier which has a tax administration function |
JP2012034279A (en) * | 2010-08-02 | 2012-02-16 | Nec Corp | Distribution system and distribution method |
Also Published As
Publication number | Publication date |
---|---|
KR102130301B1 (en) | 2020-07-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11223500B2 (en) | Traffic acceleration in mobile network | |
CN109547417B (en) | Code stream transmission method and device | |
CN109067578B (en) | Method and device for multicast fast switching | |
KR101981285B1 (en) | Contents delivery service system using contents identification, apparatus therefor and contents delivery service method thereof | |
CN110572433B (en) | Video scheduling method, system and device | |
CN109769123B (en) | Method and system for processing video networking data | |
JP5962943B2 (en) | Method and apparatus for transmitting streaming media data | |
CN110035005B (en) | Data processing method and device | |
CN109450982B (en) | Network communication method and system | |
CN110719258B (en) | Server access method and system | |
US10594803B2 (en) | Method for delivering content in communication network and apparatus therefor | |
WO2015100593A1 (en) | Message transmission method, apparatus and communication system | |
KR20140021372A (en) | Contents delivery service method and local cache apparatus using contents identification | |
CN111092863A (en) | Method, client, server, device and medium for accessing internet website | |
JP6044020B2 (en) | Data packet processing method, system, and device | |
CN110519331B (en) | Method and device for processing resources of video network | |
KR102129481B1 (en) | Method for processing data in content delivery system and apparatus thereof | |
AU2011269990A1 (en) | Apparatus and method for traffic offload in a broadband wireless access system | |
CN110198384B (en) | Communication method based on video networking and transfer server | |
KR20160099958A (en) | Computer readable recording medium recorded program for providing content adapted for network, and APPARATUS FOR PROVIDING CONTENT ADAPTED FOR NETWORK | |
KR102130301B1 (en) | Method for distributing data in content delivery system and apparatus thereof | |
CN110049227B (en) | Camera operation method and device | |
CN110351247B (en) | Parameter acquisition method, device and system | |
WO2012000165A1 (en) | Network entity and method for providing data to at least one user entity in a communication network | |
KR102485601B1 (en) | Method of selecting optimal network node for contents delivery service and apparatus therefor |
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 |