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 PDF

Info

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
Application number
KR20130074372A
Other languages
Korean (ko)
Other versions
KR102130301B1 (en
Inventor
이종민
이경준
호용환
Original Assignee
에스케이텔레콤 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 에스케이텔레콤 주식회사 filed Critical 에스케이텔레콤 주식회사
Priority to KR1020130074372A priority Critical patent/KR102130301B1/en
Publication of KR20150001332A publication Critical patent/KR20150001332A/en
Application granted granted Critical
Publication of KR102130301B1 publication Critical patent/KR102130301B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • H04L47/125Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • H04L47/122Avoiding 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

The present invention relates to an apparatus for distributing data in a content transmission system and a method thereof. A switching device generates classification information classifying a plurality of received packets to correspond to any one of a plurality of content delivery nodes (CDN), includes the classification information in the packets, and transmits the same to a link device. The link device transmits the packets to corresponding CDN nodes according to the classification information. Since the packets received from a plurality of content servers are distributedly provided according to the number of CDNs divided by a predetermined number, traffic can be distributed and loads of the plurality of CDN nodes can be distributed.

Description

컨텐츠 전송 시스템에서 데이터 분산을 위한 장치 및 이를 위한 방법 {Method for distributing data in content delivery system and apparatus thereof}FIELD OF THE INVENTION The present invention relates to a device for distributing data in a content transmission system,

본 발명은 컨텐츠 전송 기술에 관한 것으로, 더욱 상세하게는, 컨텐츠 전송 시스템에서 복수의 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.

한국공개특허 제10-2011-0092869호, 2013.03.25 공개 (명칭: 무선망을 통한 씨디엔 서비스 방법 및 시스템)Korean Patent Laid-Open No. 10-2011-0092869, published on Mar. 31, 2013 (name: CDN Service Method and System via Wireless Network)

본 발명의 목적은 컨텐츠 전송 시스템에서 데이터 처리를 위한 수 많은 패킷을 서로 다른 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 user apparatus 100, a base station apparatus 200, a switching apparatus 300, a link apparatus 400, a plurality of CDN nodes 500, A gateway 600, a data gateway 700, and a content server 800.

사용자 장치(100)는 접속 네트워크(10), 코어 네트워크(20) 및 공용 네트워크(30)를 통해 컨텐츠 서버(800)에 접근할 수 있다. 다시 말해서, 사용자 장치(100)는 기지국 장치(200), 스위칭 장치(300), 서빙 게이트웨이(600), 데이터 게이트웨이(700)를 통해 컨텐츠 서버(800)에 접근할 수 있다. The user device 100 may access the content server 800 via the access network 10, the core network 20 and the public network 30. [ In other words, the user apparatus 100 can access the content server 800 through the base station apparatus 200, the switching apparatus 300, the serving gateway 600, and the data gateway 700.

접속 네트워크(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 access network 10 is a network made up of entities on the network that provide wireless interval services in a cellular system. For example, the access network 10 may be implemented with a plurality of base stations such as a base station (BS), a base transceiver station (BTS), a NodeB, etc. and a base station controller such as a base station controller (BSC) . As another example, it may be implemented as an entity, such as an eNodeB. As another example, the access network 10 may be composed of a digital unit (hereinafter referred to as DU) and a radio unit (hereinafter referred to as an RU). The DU and the RU are configured by separating the digital signal processing unit and the radio signal processing unit which are integrally implemented in the base station. At this time, a plurality of RUs are connected to one DU. Therefore, the base station apparatus 200 is configured with one or more entities that provide the above-described wireless section service.

코어 네트워크(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 core network 20 manages user information subscribed to the communication service provided by the network, and performs circuit switching or packet switching. The core network 20 also manages inter-frequency mobility and manages and controls the traffic in the access network 10 and the core network 20 and interworking with other networks, e.g., the public network 30. [ The core network 20 comprises entities that perform the functions described above. These entities can be exemplified by MSC (Mobile Switching Center), HLR (Home Location Register), MME (Mobile Mobility Entity) and HSS (Home Subscriber Server). In particular, the serving gateway 600 and the data gateway 700 may be entities of the core network 20 described above. The serving gateway 600 processes traffic for a plurality of base station apparatuses 200. [ Here, the serving gateway 600 may be an S-GW (Serving GateWay). The data gateway 700 processes traffic between the core network 20 to which it belongs and a network (e.g., a public network) other than the core network 20 to which it belongs. The data gateway 700 may be a 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) 등을 예시할 수 있다. The public network 30 is an ordinary open network in which information is exchanged in accordance with the TCP / IP protocol, and can exemplify the so-called Internet using IP (internet protocol). The public network 30 is located in the content server 800. The content server 800 stores contents and provides various contents such as photographs, video, audio, applications, and the like to the user apparatus 100 according to a request. The content server 800 is a server operated by a so-called content provider (CP), and can provide content to a plurality of user devices 100. For example, the content server 800 may exemplify a Web server or a web application server (WAS).

사용자 장치(100)는 사용자의 요청에 따라 컨텐츠 서버(800)로부터 컨텐츠를 수신하여 재생하기 위한 것이다. 예컨대, 사용자 장치(100)는 사용자가 요청한 컨텐츠에 대한 URL(Uniform Resource Locater)을 확인하고, DNS(Domain Name System) 등을 통해, 해당 URL에 대응하는 컨텐츠 서버(800)의 주소 정보(IP address)를 획득할 수 있다. 그리고 사용자 장치(100)는 해당 주소 정보에 대응하는 컨텐츠 서버(800)로 컨텐츠를 요청하며, 이에 따라, 컨텐츠 서버(800)가 전송하는 컨텐츠를 수신할 수 있다. The user device 100 is for receiving and reproducing content from the content server 800 at the request of the user. For example, the user device 100 confirms the URL (Uniform Resource Locator) of the content requested by the user, and transmits the address information (IP address) of the content server 800 corresponding to the URL Can be obtained. The user device 100 requests content from the content server 800 corresponding to the corresponding address information, and can receive the content transmitted by the content server 800. [

복수의 CDN 노드(500)는 컨텐츠를 사용자 장치(100)에 제공하기 위한 네트워크 상의 엔티티이다. 이러한 CDN 노드는 컨텐츠를 미디어 스트리밍 서버, 웹 서버, 캐시 장치 등을 예시할 수 있다. 미디어 스트리밍 서버는 스트리밍 방식으로 컨텐츠를 사용자 장치(100)에 에게 제공할 수 있다. 웹 서버는 웹 페이지 등을 통해 사용자 장치(100)의 요청을 수신하고, 컨텐츠를 사용자 장치(100)에 제공할 수 있다. 캐시 장치는 컨텐츠 서버(800)의 컨텐츠의 사본의 일부 또는 전부를 저장하고, 사용자 장치(100)의 요청이 있는 경우, 저장된 컨텐츠를 컨텐츠 서버(800) 대신 사용자 장치(100)에 제공할 수 있다. 캐시 장치는 사용자 장치(100)로부터 컨텐츠 요청을 중간에서 수신할 수 있어야 한다. 또한, 캐시 장치는 컨텐츠 서버(800)가 사용자 장치(100)로 전송하는 컨텐츠를 중간에서 수신하여, 복사한 뒤 저장하거나, 컨텐츠 서버(800)로부터 컨텐츠를 미리 수신하여 저장할 수 있어야 한다. A plurality of CDN nodes 500 is an entity on the network for providing content to the user device 100. Such a CDN node may exemplify a content streaming server, a web server, a cache device, and the like. The media streaming server may provide the content to the user device 100 in a streaming manner. The web server may receive a request from the user device 100 via a web page or the like, and may provide the content to the user device 100. The cache device may store some or all of a copy of the content of the content server 800 and may provide the stored content to the user device 100 instead of the content server 800 when requested by the user device 100 . The cache device must be able to receive content requests from the user device 100 in the middle. In addition, the cache device must be able to receive content from the content server 800 to the user device 100 in an intermediate manner, copy the content, or receive and store content from the content server 800 in advance.

이하에서, CDN 노드(500)는 주로 캐시 장치를 가정하여 설명할 것이나, 이 분야에서 통상의 지식을 가진자라면, CDN 노드(500)가 미디어 스트리밍 서버, 웹 서버 등과 같이 컨텐츠를 저장하고, 요청에 따라 컨텐츠를 송수신하는 기능을 가지는 어떠한 엔티티에도 적용될 수 있음을 이해할 수 있을 것이다.In the following, the CDN node 500 will mainly be described on the assumption of a cache apparatus. However, those skilled in the art will recognize that the CDN node 500 stores content such as a media streaming server, a web server, It will be understood that the present invention can be applied to any entity having a function of transmitting and receiving contents according to the content.

컨텐츠 서버(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 content server 800 or the user device 100 performs communication using the first type packet. The first type packet includes a first type header and a payload. Here, the first type packet may be an IP (Internet Protocol) packet. Thus, the first type header may be an IP header. Meanwhile, the base station 200, the serving gateway 600, and the data gateway 700 perform communication through tunneling. The packet used for this tunneling is a second type packet, and the second type packet is generated by encapsulating the second type header in the first type packet. For example, the second type header may be a GTP (General Packet Radio Service Tunneling Protocol) header. Accordingly, the second type packet can be a GTP packet.

제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 user device 100 and the content server 800. [ In addition, the base station apparatus 200, the serving gateway 600, and the data gateway 700 must perform communication through tunneling. Therefore, the base station apparatus 200 and the data gateway 700 perform the following operations. The base station apparatus 200 encapsulates the first type packet received from the user apparatus 100 into a second type header to generate a second type packet. Then, the base station apparatus 200 forwards the second type packet to the serving gateway 600. In addition, the base station apparatus 200 removes the second type header from the second type packet received from the serving gateway 600 and restores the first type packet. The base station device 200 then forwards the first type packet to the user device 100. Similarly, the data gateway 700 encapsulates the first format packet received from the content server 800 into the second format header to generate the second format packet. The data gateway 700 then forwards the generated second type packet to the serving gateway 600. The data gateway 700 removes the second type header from the second type packet received from the serving gateway 600 and restores the first type packet. The data gateway 700 then forwards the first type packet to the content server 800. The second type packet as described above is used for processing traffic for data transmission and reception in the network, and is distinguished from packets for voice.

한편, 스위칭 장치(300)는 접속 네트워크(10)와 코어 네트워크(20) 사이에 위치한다. 그리고 스위칭 장치(300)에는 CDN 노드(500)가 연결된다. 스위칭 장치(300)가 위치한 접속 네트워크(10)의 모든 상향링크(UPLINK) 혹은 하향링크(DOWNLINK) 패킷은 스위칭 장치(300)를 경유한다. 이때, 스위칭 장치(300)는 자신을 경유하는 패킷이 제2 형식 패킷인 경우, 데이터 송수신을 위한 트래픽인 것으로 판단하고, 이를 처리한다. 그렇지 않은 경우, 스위칭 장치(300)는 해당 패킷을 바이패스(bypass)한다. On the other hand, the switching device 300 is located between the access network 10 and the core network 20. The CDN node 500 is connected to the switching device 300. All the UPLINK or DOWNLINK packets of the access network 10 in which the switching device 300 is located pass through the switching device 300. [ At this time, when the packet passing through the switching device 300 is the second type packet, the switching device 300 determines that it is traffic for data transmission / reception and processes the packet. Otherwise, the switching device 300 bypasses the packet.

스위칭 장치(300)는 자신을 경유하는 패킷이 제2 형식 패킷인 경우, 패킷에 포함된 정보에 기초하여, 해당 패킷을 분류한다. 그리고 스위칭 장치(300)는 이러한 분류에 따라 분류 정보를 생성하고, 생성된 분류 정보를 패킷에 포함시킨다. 분류 정보는 복수의 CDN 노드(500) 중 어느 하나를 지정하는 식별자를 포함한다. 그런 다음, 스위칭 장치(300)는 분류 정보가 포함된 패킷을 링크 장치(400)로 전달한다. The switching device 300 classifies the packet based on the information included in the packet when the packet passing through the switching device 300 is the second type packet. The switching device 300 generates classification information according to this classification, and includes the generated classification information in the packet. The classification information includes an identifier that designates any one of the plurality of CDN nodes 500. Then, the switching device 300 delivers the packet including the classification information to the link device 400. [

링크 장치(400)는 스위칭 장치(300)로부터 패킷이 입력되면, 분류 정보를 판독하여, 해당 패킷이 어떤 CDN 노드(500)로 전송되어야 할 것인지를 확인한다. 그런 다음, 링크 장치(400)는 분류 정보에 따라 지정된 CDN 노드(500)로 패킷을 전달한다. 이러한 링크 장치(400)는 네트워크 스위치가 될 수 있으며, 대표적으로 L2 스위치(데이터링크 스위치)를 예시할 수 있다. When a packet is input from the switching device 300, the link device 400 reads the classification information and confirms to which CDN node 500 the packet is to be transmitted. The link device 400 then forwards the packet to the CDN node 500 specified in accordance with the classification information. The link device 400 may be a network switch, and may represent an L2 switch (data link switch).

상술한 바와 같이, 스위칭 장치(300)는 분류 정보를 통해 복수의 패킷을 복수의 CDN 노드(500) 중 어느 하나에 대응하도록 분류한다. 이로써, 트래픽이 분산되며, 복수의 CDN 노드(500)의 부하를 분산시킬 수 있다. 또한, 스위칭 장치(300)는 특정 컨텐츠 서버(800)로부터 유입되는 패킷을 특정 CDN 노드(500)에 대응하도록 분류할 수 있다. 이에 따라, 네트워크 운영자는 목적에 따라 전용의 CDN 노드(500)를 운영할 수 있다. As described above, the switching apparatus 300 classifies a plurality of packets to correspond to any one of the plurality of CDN nodes 500 through classification information. As a result, the traffic is dispersed and the loads of the plurality of CDN nodes 500 can be dispersed. In addition, the switching device 300 may classify packets received from a specific content server 800 to correspond to a specific CDN node 500. [ Accordingly, the network operator can operate the dedicated CDN node 500 according to the purpose.

도 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 switching device 300 includes an interface unit 310, a switching unit 320, and a processor unit 330.

인터페이스부(310)는 패킷이 송수신되는 경로들이며, 인터페이스부(310)는 복수개의 인터페이스를 포함한다. 즉, 패킷은 인터페이스부(310)를 통해 송수신된다. 상향링크 혹은 하향링크로부터 수신되는 패킷은 인터페이스부(310)를 통해 스위칭부(320)로 입력된다. 또한, 스위칭부(320)로부터 출력되는 패킷은 인터페이스부(310)를 통해 상향링크 혹은 하향링크로 전송된다. 또한, 특정 패킷은 스위칭부(320)로부터 인터페이스부(310)를 통해 링크 장치(400)로 출력된다. The interface unit 310 is a path through which packets are transmitted and received, and the interface unit 310 includes a plurality of interfaces. That is, the packet is transmitted and received through the interface unit 310. The packet received from the uplink or the downlink is input to the switching unit 320 through the interface unit 310. The packet output from the switching unit 320 is transmitted through the interface unit 310 in the uplink or downlink. Also, a specific packet is output from the switching unit 320 to the link device 400 via the interface unit 310.

스위칭부(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 interface unit 310, the switching unit 320 determines whether the input packet is a packet for transmitting and receiving data. That is, the switching unit 320 determines whether the input packet is a second type packet. This can be determined through the second type header. For example, when the GTP header is included in the input packet, the switching unit 320 can determine that the packet is a second type packet. If it is determined that the input packet is a second type packet for tunneling communication, the switching unit 320 inputs the packet to the processor unit 330. Otherwise, the switching unit 320 bypasses the input packet and outputs the bypassed packet through the interface unit 310. When a packet including classification information is inputted from the processor 330, the switching unit 320 transmits the packet to the link device 400 through the interface unit 310. [

또한, 스위칭부(320)는 스위칭 장치(300) 혹은 스위칭 장치(300)와 연결된 링크 장치(400) 및 CDN 노드(500)의 장애 상황이 발생하는 경우, 광학 선로와 같이 역할을 수행한다. 즉, CDN 노드(500)를 경유하는 모든 상향링크 패킷 혹은 하향링크 패킷은 바이패스된다. 더욱이, 스위칭 장치(300)에 전원이 들어오지 않는 경우에도, 스위칭부(320)는 광학 선로의 역할을 하기 때문에 네트워크 트래픽이 정체되지 않는다. The switching unit 320 acts as an optical line when a fault condition occurs in the link device 400 and the CDN node 500 connected to the switching device 300 or the switching device 300. That is, all the uplink packets or downlink packets via the CDN node 500 are bypassed. Furthermore, even when power is not supplied to the switching apparatus 300, the switching unit 320 serves as an optical line, so that network traffic is not stalled.

프로세서부(330)는 스위칭부(320)로부터 패킷이 입력되면, 입력된 패킷의 컨텐츠를 복수의 CDN 노드(500)에 분산하여 저장하기 위하여, 분류 정보를 생성한다. 이 분류 정보는 해당 패킷을 어떤 CDN 노드(500)로 전달할 것인지를 나타낸다. 이를 위하여, 분류 정보는 복수의 CDN 노드(500) 중 어느 하나를 식별할 수 있는 식별자를 포함할 수 있다. When a packet is input from the switching unit 320, the processor unit 330 generates classification information for distributing the contents of the input packet to the plurality of CDN nodes 500 and storing the distributed contents. This classification information indicates to which CDN node 500 the packet is to be transmitted. For this, the classification information may include an identifier capable of identifying any one of the plurality of CDN nodes 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개로 분류한다. Meanwhile, the CDN node 500 stores a copy of the content stored in the content server 800 in order to deliver the content to the user device 100 instead of the content server 800. Some of the plurality of CDN nodes 500 may be dedicated to a particular content server 800. In addition, some of the plurality of CDN nodes 500 may be used for general purposes. When the packet is input, the processor unit 330 determines whether the input packet is a packet transmitted from the content server 800 having the dedicated CDN node 500. This can be verified through the information contained in the packet. This can be confirmed, for example, by a source IP address. That is, the processor unit 330 can identify the content server 800 through the source address, and determine whether a specific CDN node 500 is allocated to the content server 800. For example, if the number of CDN nodes 500 allocated for general use is ten, the processor unit 330 classifies a plurality of incoming packets into ten.

입력된 패킷이 전용으로 할당된 CDN 노드(500)가 없는 컨텐츠 서버(800)로부터 전송되는 패킷인 경우, 프로세서부(330)는 입력된 패킷을 범용으로 사용되는 복수의 CDN 노드(500) 중 어느 하나에 대응하도록 분류한다. 달리 설명하면, 복수의 패킷이 프로세서부(330)에 입력될 것이며, 프로세서부(330)는 입력되는 복수의 패킷을 범용으로 할당된 CDN 노드(500)의 수로 분류한다. 프로세서부(330)는 이러한 분류에 따라 분류 정보를 생성할 수 있다. 이 분류 정보는 패킷 분류의 결과에 따라 해당하는 CDN 노드(500)를 식별할 수 있는 식별자를 포함할 수 있다. When the input packet is a packet transmitted from the content server 800 without the dedicated CDN node 500, the processor unit 330 transmits the input packet to one of the plurality of CDN nodes 500 And classifies them so as to correspond to one. In other words, a plurality of packets will be input to the processor unit 330, and the processor unit 330 classifies a plurality of input packets into the number of the universally allocated CDN nodes 500. The processor unit 330 may generate classification information according to this classification. This classification information may include an identifier that identifies the corresponding CDN node 500 according to the result of packet classification.

일 실시예에 따르면, 프로세서부(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 processor unit 330 may classify the packets through a flow analysis for the classification described above. That is, when a packet is input, the processor unit 330 extracts a source IP address, a destination IP address, a source port number, a destination port number, And five tuples including a protocol, and classify the packets using the extracted field values. For example, the processor unit 330 inputs at least one field value of a source address, a destination address, a source port number, a destination port number, and a protocol extracted from each of the plurality of packets to a hash function to obtain the hash value. Here, it is preferable that the number of hash values output from the hash function corresponds to the number of CDN nodes 500 allocated for general use. For example, if there are ten CDN nodes 500 allocated for general use, it is preferable that the number of types of hash values is ten so as to correspond to ten CDN nodes 500. When the hash value of the hash function is output, the processor unit 330 generates classification information that can identify the CDN node 500 corresponding to the hash value. That is, the classification information includes an identifier capable of identifying the corresponding CDN node 500 as each packet is classified through the hash function.

한편, 전용으로 할당된 CDN 노드(500)가 있는 컨텐츠 서버(800)로부터 전송되는 패킷이 입력되면, 프로세서부(330)는 전용으로 할당된 CDN 노드(500)에 대한 식별자를 포함하는 분류 정보를 생성한다. Meanwhile, when a packet transmitted from the content server 800 having the dedicated CDN node 500 is input, the processor unit 330 transmits classification information including an identifier for the dedicated CDN node 500 .

상술한 바와 같이, 분류 정보를 생성한 후, 프로세서부(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 processor unit 330 includes the classification information in the packet. For example, the plurality of CDN nodes 500 may be constructed as a VLAN (Virtual Local Area Network). In this case, the classification information may be a VLAN tag, and a plurality of CDN nodes 500 may be distinguished through an identifier (12-bit VLAN ID field) identifying each VLAN in the VLAN tag. Therefore, the processor unit 330 can include the VLAN tag as the classification information in the packet and output it.

도 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 CDN node 500 illustrated in FIG. 3 is a preferred embodiment when the CDN node 500 is a cache apparatus, but a similar configuration may be applied to a media streaming server, a web server, and the like.

도 3을 참조하면, CDN 노드(500)는 인터페이스 모듈(510), 저장 모듈(520) 및 제어 모듈(530)를 포함한다. Referring to FIG. 3, the CDN node 500 includes an interface module 510, a storage module 520, and a control module 530.

인터페이스 모듈(510)은 접속 네트워크(10) 혹은 코어 네트워크(20)를 통해 송수신되는 패킷을 수신하거나, CDN 노드(500)에 저장된 패킷을 전송하기 위한 것이다. 특히, 인터페이스 모듈(510)은 사용자 장치(100) 및 컨텐츠 서버(800)와 통신을 수행할 수 있다. 이를 위하여, 인터페이스 모듈(510)은 패킷을 스위칭 장치(300) 및 링크 장치(400)를 통해 수신할 수 있다. 또한, 인터페이스 모듈(510)은 제어 모듈(530)로부터 컨텐츠를 포함하는 패킷을 전달받아 스위칭 장치(300) 및 링크 장치(400)를 통해 전송할 수 있다. The interface module 510 is for receiving a packet transmitted or received through the access network 10 or the core network 20 or transmitting a packet stored in the CDN node 500. In particular, the interface module 510 may communicate with the user device 100 and the content server 800. To this end, the interface module 510 may receive the packet through the switching device 300 and the link device 400. The interface module 510 receives the packet including the content from the control module 530 and transmits the packet through the switching device 300 and the link device 400.

저장 모듈(520)은 컨텐츠를 저장하기 위한 저장 공간을 가지며, 적어도 하나의 컨텐츠 서버(800)에 저장된 컨텐츠의 사본의 일부 또는 전부를 저장할 수 있다. 제어 모듈(530)은 인터페이스 모듈(510)을 통해 컨텐츠 서버(800)로부터 사용자 장치(100)로 전송되는 패킷을 수신하고, 수신된 패킷의 컨텐츠를 복사하여 저장 모듈(520)에 저장할 수 있다. 또한, 제어 모듈(530)은 미리 설정된 정책에 따라 컨텐츠 서버(800)에 컨텐츠를 요청하고, 컨텐츠 서버(800)가 컨텐츠를 포함하는 패킷을 전송하면, 이를 수신하여 저장할 수도 있다. The storage module 520 has a storage space for storing contents and may store a part or all of a copy of contents stored in at least one content server 800. [ The control module 530 receives a packet transmitted from the content server 800 to the user device 100 through the interface module 510 and may copy the content of the received packet and store the copied content in the storage module 520. In addition, the control module 530 requests content from the content server 800 according to a predetermined policy, and when the content server 800 transmits a packet including the content, the control module 530 may receive and store the packet.

저장 모듈(520)의 저장 공간에 저장된 컨텐츠는 요청의 빈도에 따라 유지되거나, 삭제될 수 있다. 저장 공간에 저장되는 컨텐츠는 선입 선출 방식의 큐 방식으로 저장될 수 있다. 저장 공간은 컨텐츠에 대한 요청이 있을 때, 컨텐츠가 저장되어 있지 않다면, 원본 서버, 즉, 컨텐츠 서버(800)로부터 해당 컨텐츠를 수신하여 큐에 입력하여 저장한다. 이때, 저장 공간이 선입 선출 방식이기 때문에 가장 먼저 저장된 컨텐츠는 새로운 컨텐츠가 저장될 때, 저장 공간이 부족하다면 삭제된다. 반면, 컨텐츠에 대한 요청이 있을 때, 해당 컨텐츠가 저장되어 있다면, 해당 컨텐츠를 새로 저장하는 것과 같이, 큐에 새로 입력한다. 이와 같이, 저장 공간에 저장된 컨텐츠는 컨텐츠에 대한 요청의 빈도에 따라 삭제되거나, 유지될 수 있다. The contents stored in the storage space of the storage module 520 may be maintained or deleted according to the frequency of the request. Contents stored in the storage space can be stored in a first-in first-out method. When there is a request for content, if the content is not stored, the storage space receives the content from the source server, that is, the content server 800, and stores the content in a queue. At this time, since the storage space is first-in first-out, the first stored content is deleted when the new content is stored, if the storage space is insufficient. On the other hand, when there is a request for the content, if the corresponding content is stored, the content is newly entered into the queue, such as newly storing the content. Thus, the content stored in the storage space can be deleted or maintained according to the frequency of the request for the content.

제어 모듈(530)는 CDN 노드(500)의 전반적인 동작을 제어하기 위한 것이다. 제어 모듈(530)는 인터페이스 모듈(510)을 통해 컨텐츠가 포함된 패킷을 수신하면, 해당 컨텐츠를 저장 모듈(320)에 저장할 수 있다. 혹은, 제어 모듈(530)은 특정 이벤트가 발생하면, 저장 모듈(320)에 저장된 컨텐츠를 컨텐츠 서버(800) 대신 인터페이스 모듈(510)을 통해 사용자 장치(100)로 전송할 수 있다. The control module 530 is for controlling the overall operation of the CDN node 500. When the control module 530 receives the packet containing the content through the interface module 510, the control module 530 may store the content in the storage module 320. [ Alternatively, when a specific event occurs, the control module 530 may transmit the content stored in the storage module 320 to the user device 100 through the interface module 510 instead of the content server 800.

도 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 > CDN nodes 501 to 50n are shown in Fig. Each of the first to n < th > CDN nodes 501 to 50n may perform preloading to receive and store contents from the contents server 800 according to preset rules. Figure 4 assumes this situation.

도 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 content server 800 transmits a packet including content in step S410. In FIG. 4, data gateway 700 and serving gateway 600 are not shown. However, the packet transmitted by the content server 800 will be received by the switching device 300 through the data gateway 700 and the serving gateway 600. [ Upon receiving the packet, the switching device 300 generates classification information in step S420 and includes the generated classification information in the packet. Here, the classification information can be obtained by applying at least one of the source address, the destination address, the source port number, the destination port number, and the protocol extracted from the packet to a predetermined hash function. This classification information may include an identifier that identifies any one of the first through n th CDN nodes 501 through 50n. Next, in step S430, the switching device 300 transmits the packet including the classification information to the link device 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)로 해당 패킷을 전송할 수 있다. When receiving the packet, the link device 400 may transmit the packet to any one of the first to nth CDN nodes 501 to 50n according to the classification information of the received packet. Here, it is assumed that the CDN node 500 identified by the classification information is the second CDN node 502. The link device 400 then forwards the packet to the second CDN node 502 in step S440. For example, it is assumed that the classification information is a VLAN tag as described above. The link device 400 may store a lookup table in which the identifiers of the VLAN tags and the VLAN addresses of the first to nth CDN nodes 501 to 50n are mapped. Accordingly, the link device 400 can identify the second CDN node 502 by comparing the classification information of the received packet, that is, the identifier of the VLAN tag and the lookup table. The link device 400 may then transmit the packet to the second CDN node 502.

제2 CDN 노드(502)는 패킷을 수신하면, S450 단계에서 패킷에 포함된 컨텐츠를 저장할 수 있다. 도 5는 본 발명의 실시예에 따른 스위칭 장치의 데이터 분산 방법을 설명하기 위한 흐름도이다. When the second CDN node 502 receives the packet, the second CDN node 502 may store the content included in the packet in step S450. 5 is a flowchart illustrating a data distribution method of a switching device according to an embodiment of the present invention.

도 5를 참조하면, 스위칭부(320)는 S510 단계에서 네트워크(서빙 게이트웨이)로부터 패킷을 수신한다. 이 패킷은 컨텐츠 서버(800)로부터 전송된 패킷이라고 가정한다. Referring to FIG. 5, the switching unit 320 receives a packet from the network (serving gateway) in step S510. It is assumed that this packet is a packet transmitted from the content server 800.

또한, 수신된 패킷은 컨텐츠를 포함하며 터널링 통신을 위한 제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 switching unit 320 transfers the packet to the processor unit 330 in step S520. If the received packet is a voice packet, the switching unit 320 will bypass the packet and transmit the packet to the network.

프로세서부(330)는 패킷이 입력되면, 분류 정보를 생성한다. 이 분류 정보는 입력된 패킷에 포함된 컨텐츠를 복수의 CDN 노드(500)에 분산하여 저장하기 위한 것이며, 해당 패킷을 어떤 CDN 노드(500)로 전달할 것인지를 나타낸다. 예컨대, 프로세서부(330)는 패킷의 필드로부터 추출된 적어도 하나의 필드값을 해시 함수에 입력하고, 해시 함수로부터 출력된 해시값을 이용하여 분류 정보를 생성할 수 있다. 여기서, 패킷의 필드로부터 추출된 필드값은 근원지 주소, 목적지 주소, 근원지 포트 번호, 목적지 포트 번호 및 프로토콜 중 적어도 하나가 될 수 있다. 한편, 프로세서부(330)에 입력된 패킷이 전용으로 할당된 CDN 노드(500)가 있는 컨텐츠 서버(800)로부터 전송된 것일 수 있다. 이러한 경우, 프로세서부(330)는 전용으로 할당된 CDN 노드(500)의 식별자를 포함하는 분류 정보를 생성할 수 있다. 예컨대, 복수의 CDN 노드(500)는 VLAN으로 구성되어 있다고 가정하면, 분류 정보는 VLAN 태그가 될 수 있다. 여기서, VLAN 태그는 복수의 CDN 노드(500) 중 어느 하나를 식별할 수 있는 VLAN ID 값을 포함한다. The processor unit 330 generates classification information when a packet is input. This classification information is for distributing the contents included in the input packet to a plurality of CDN nodes 500 and storing the contents, and indicates to which CDN node 500 the packet is to be delivered. For example, the processor 330 may input at least one field value extracted from the field of the packet into the hash function, and generate the classification information using the hash value output from the hash function. Here, the field value extracted from the field of the packet may be at least one of a source address, a destination address, a source port number, a destination port number, and a protocol. Meanwhile, the packet input to the processor unit 330 may be transmitted from the content server 800 having the CDN node 500 to which the packet is exclusively allocated. In this case, the processor unit 330 may generate classification information including an identifier of the dedicated CDN node 500. For example, assuming that a plurality of CDN nodes 500 are composed of VLANs, the classification information may be a VLAN tag. Here, the VLAN tag includes a VLAN ID value capable of identifying any one of the plurality of CDN nodes 500.

분류 정보를 생성한 후, 프로세서부(330)는 S530 단계에서 분류 정보를 패킷에 포함시킨다. 예컨대, 분류 정보가 VLAN 태그 형태로 생성된 경우, 프로세서부(330)는 패킷의 헤더에 VLAN 태그를 태깅할 수 있다. 그런 다음, 프로세서부(330)는 S540 단계에서 분류 정보가 포함된 패킷을 스위칭부(320)로 전달한다 After generating the classification information, the processor unit 330 includes the classification information in the packet in step S530. For example, when the classification information is generated in the form of a VLAN tag, the processor unit 330 may tag the VLAN tag in the header of the packet. In step S540, the processor unit 330 transmits the packet including the classification information to the switching unit 320

스위칭부(320)는 S550 단계에서 분류 정보가 포함된 패킷을 인터페이스부(310)를 통해 링크 장치(400)로 전달한다. 그러면, 링크 장치(400)는 패킷의 분류 정보를 통해 대응하는 CDN 노드(500)로 패킷을 전송할 것이다. In step S550, the switching unit 320 transmits the packet including the classification information to the link apparatus 400 through the interface unit 310. [ Then, the link device 400 will transmit the packet to the corresponding CDN node 500 through the classification information of the packet.

도 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 switching unit 320 receives a packet from the network (serving gateway) in step S610. Then, in step S620, the switching unit 320 determines whether the packet is a packet for data transmission or reception or a packet for voice. If it is determined in step S620 that the packet is a second format packet for data transmission / reception, the process proceeds to step S630. If the packet is a voice transmission / reception packet, the process proceeds to step S660.

수신된 패킷이 터널링을 통해 데이터 전송을 위한 제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 switching unit 320 forwards the packet to the processor unit 330 in step S630. Then, the processor unit 330 will include classification information in the packet and output it. For example, it is assumed that a plurality of CDN nodes 500 are configured as VLANs. It is also assumed that the classification information is a VLAN tag. Then, the processor 330 can tag and output the VLAN tag, which is classification information, in the packet. Here, the VLAN tag includes a VLAN ID value capable of identifying any one of the plurality of CDN nodes 500.

그러면, 스위칭부(320)는 S640 단계에서 분류 정보를 포함하는 패킷을 수신하고, S650 단계에서 분류 정보를 포함하는 패킷을 링크 장치(400)로 전달한다. 그러면, 링크 장치(400)는 패킷의 분류 정보를 통해 해당하는 CDN 노드(500)로 패킷을 전송할 것이다. 예컨대, 링크 장치(400)는 VLAN 태그의 VLAN ID를 통해 CDN 노드(500)를 식별하고, 식별된 CDN 노드(500)로 패킷을 전송할 수 있다. In step S640, the switching unit 320 receives the packet including the classification information, and transmits the packet including the classification information to the link apparatus 400 in step S650. Then, the linking device 400 will transmit the packet to the corresponding CDN node 500 through the classification information of the packet. For example, the link device 400 may identify the CDN node 500 and transmit the packet to the identified CDN node 500 via the VLAN ID of the VLAN tag.

한편, 수신된 패킷이 음성 전송을 위한 패킷인 경우, 스위칭부(320)는 S660 단계에서 해당 패킷을 바이패스하여 인터페이스부(310)를 통해 네트워크로 출력할 것이다. If the received packet is a packet for voice transmission, the switching unit 320 bypasses the packet in step S660 and outputs the packet to the network through the interface unit 310. [

도 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 processor 330 receives a packet from the switching unit 320 in step S710. Then, the processor unit 330 determines whether the packet input in step S720 is a packet transmitted from the content server 800 to which the dedicated CDN node 500 is assigned.

상기 확인 결과, 전용의 CDN 노드(500)가 배정된 컨텐츠 서버(800)로부터 전송된 패킷이면, S740 단계로 진행하고, 그렇지 않은 경우, S730 단계로 진행한다. As a result of checking, if the dedicated CDN node 500 is a packet transmitted from the assigned content server 800, the process proceeds to step S740. Otherwise, the process proceeds to step S730.

전용의 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 dedicated CDN node 500 is not the packet transmitted from the assigned content server 800, the processor unit 330 may determine which of the plurality of CDN nodes 500 And generates classification information corresponding to one. For this classification, the processor unit 330 can use the specific field value of the packet. For example, the processor unit 330 extracts at least one of a source address, a destination address, a source port number, a destination port number, and a protocol from a packet. Then, the processor unit 330 can classify the packets using the preset algorithm using the extracted field values. This algorithm can be a hash algorithm. That is, the processor unit 330 obtains a hash value by inputting at least one field value of the extracted source address, destination address, source port number, destination port number, and protocol into a hash function. The processor unit 330 may generate classification information for classifying packets according to the hash value. For example, when generating classification information, a source address, a source port number, and the like may be used as input parameters of the hash function in order to set the content server 800 that transmits the packet as a classification reference. As another example, a destination address, a destination port number, and the like may be used as input parameters of the hash function in order to make the user device 100 receiving the packet a reference for classification. In addition, since different protocols are used for each application, a protocol can be used as an input parameter of a hash function in order to make an application a classification reference. For example, when a CDN node 500 for exclusive use only of contents related to VOD (Video On Demand) is applied, since an application for VOD uses a protocol different from other applications, a protocol is input as an input parameter of a hash function So that the content can be classified. Of course, all of the above-mentioned five parameters can be used.

한편, 전용의 CDN 노드(500)가 배정된 컨텐츠 서버(800)로부터 전송된 패킷이면, 프로세서부(330)는 S740 단계에서 전용으로 할당된 CDN 노드(500)의 식별자를 포함하는 분류 정보를 생성한다. On the other hand, if the dedicated CDN node 500 is a packet transmitted from the assigned content server 800, the processor unit 330 generates classification information including the identifier of the CDN node 500 allocated exclusively in step S740 do.

상술한 바와 같이, 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 processor unit 330 includes the classification information in the packet in step S750. For example, a plurality of CDN nodes 500 may be constructed as VLANs. In this case, the classification information may be a VLAN tag. Here, the VLAN tag includes an identifier for identifying each VLAN. Accordingly, a plurality of CDN nodes 500 can be distinguished. Therefore, the processor unit 330 can tag the VLAN tag as classification information in the header of the packet.

다음으로, 프로세서부(330)는 S760 단계에서 분류 정보가 포함된 패킷을 스위칭부(320)로 출력한다. In step S760, the processor unit 330 outputs the packet including the classification information to the switching unit 320. [

한편, 지금까지 설명된 실시예에서는 컨텐츠 서버(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 content server 800 is stored in the CDN node 500 by the switching device 300, but the present invention is not limited thereto. 1, the switching device 300 is located between the core network 20 and the access network 10 and can receive packets transmitted between the core network 20 and the access network 10 . For example, the switching device 300 may receive the uplink or downlink packet exchanged between the user device 100 and the content server 800. [ In addition, the switching device 300 may classify such packets according to the embodiments described above and provide them to the corresponding CDN node 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), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치를 포함한다.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 노드 중 어느 하나에 대응하도록 분류하는 분류 정보를 생성하고, 상기 분류 정보를 상기 패킷에 포함시키는 프로세서부; 및
상기 패킷을 링크 장치로 전달하여, 상기 링크 장치가 상기 분류 정보에 따라 상기 패킷을 대응하는 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.
제1항에 있어서,
상기 프로세서부는
상기 패킷의 근원지 주소, 목적지 주소, 근원지 포트 번호, 목적지 포트 번호 및 프로토콜 중 적어도 하나를 미리 결정된 해시 함수에 입력하여 얻어진 해시값을 이용하여 상기 분류 정보를 생성하는 것을 특징으로 하는 데이터 분산을 위한 스위칭 장치.
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.
제1항에 있어서,
상기 프로세서부는
상기 패킷이 상기 복수의 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 노드와 연결된 링크 장치가 상기 분류 정보에 따라 상기 패킷을 대응하는 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.
제4항에 있어서,
상기 분류 정보를 생성하는 단계는
상기 패킷의 근원지 주소, 목적지 주소, 근원지 포트 번호, 목적지 포트 번호 및 프로토콜 중 적어도 하나를 미리 결정된 해시 함수에 입력하여 얻어진 해시값을 이용하여 상기 분류 정보를 생성하는 것을 특징으로 하는 스위칭 장치의 데이터 분산을 위한 방법.
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 >
제4항에 있어서,
상기 스위칭 장치는 코어 네트워크 및 접속 네트워크 사이에 위치하며,
상기 입력되는 복수의 패킷은 상기 코어 네트워크 및 상기 접속 네트워크 간에 송수신되는 패킷인 것을 특징으로 하는 스위칭 장치의 데이터 분산을 위한 방법.
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.
제4항 또는 제6항에 있어서,
상기 입력되는 복수의 패킷은 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.
KR1020130074372A 2013-06-27 2013-06-27 Method for distributing data in content delivery system and apparatus thereof KR102130301B1 (en)

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)

* Cited by examiner, † Cited by third party
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

Patent Citations (4)

* Cited by examiner, † Cited by third party
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