KR102111573B1 - Method for contents synchronization, device therefor - Google Patents

Method for contents synchronization, device therefor Download PDF

Info

Publication number
KR102111573B1
KR102111573B1 KR1020130119087A KR20130119087A KR102111573B1 KR 102111573 B1 KR102111573 B1 KR 102111573B1 KR 1020130119087 A KR1020130119087 A KR 1020130119087A KR 20130119087 A KR20130119087 A KR 20130119087A KR 102111573 B1 KR102111573 B1 KR 102111573B1
Authority
KR
South Korea
Prior art keywords
content
multicast
cache
content server
cache device
Prior art date
Application number
KR1020130119087A
Other languages
Korean (ko)
Other versions
KR20150040501A (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 KR1020130119087A priority Critical patent/KR102111573B1/en
Publication of KR20150040501A publication Critical patent/KR20150040501A/en
Application granted granted Critical
Publication of KR102111573B1 publication Critical patent/KR102111573B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/64Addressing
    • H04N21/6405Multicasting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/231Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
    • H04N21/23106Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion involving caching operations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/242Synchronization processes, e.g. processing of PCR [Program Clock References]

Abstract

본 발명에서는 패킷 데이터 네트워크(Packet Date Network) 연결 설정 방법 및 이를 위한 장치가 개시된다. 구체적으로, 본 발명에 따른 이동성 관리 장치(Mobility Management Entity)는 단말에서 지원하는 PDN 타입을 판별하는 PDN 타입 판별부, 홈 가입자 서버(Home Subscriber Server)로부터 수신한 단말의 가입 정보(Subscription data)를 통해 단말에게 허용되는 PDN 타입을 확인하는 PDN 타입 확인부, 단말에서 지원하는 PDN 타입과 단말에게 허용되는 PDN 타입을 통해 단말의 PDN 타입을 결정하는 PDN 타입 결정부 및 결정된 PDN 타입을 지원하는 전용 PDN 게이트웨이(PDN Gateway) 및 전용 과금 처리 시스템을 통해 단말의 PDN 연결을 설정하는 PDN 연결 설정부를 포함한다. Disclosed is a method for establishing a packet data network connection and an apparatus therefor. Specifically, the mobility management device according to the present invention (Mobility Management Entity) is a PDN type discrimination unit for determining the PDN type supported by the terminal, the subscription information (Subscription data) of the terminal received from the home subscriber server (Home Subscriber Server) PDN type checking unit to check the PDN type allowed to the terminal through, PDN type determination unit to determine the PDN type of the terminal through the PDN type supported by the terminal and the PDN type allowed to the terminal, and a dedicated PDN supporting the determined PDN type It includes a PDN connection setting unit for establishing a PDN connection of the terminal through a gateway (PDN Gateway) and a dedicated billing processing system.

Description

콘텐츠 동기화 방법 및 이를 위한 장치 {Method for contents synchronization, device therefor}Method for contents synchronization, device therefor

본 발명은 컨텐츠 전송 네트워크(CDN: Content Delivery/Distribution Network)에서 콘텐츠 동기화를 수행하기 위한 방법에 관한 것으로서, 보다 상세하게 멀티 캐스트(multicast)를 이용하여 콘텐츠 서버와 캐시 장치 간에 콘텐츠 동기화를 수행하기 위한 방법, 이를 위한 장치에 관한 것이다.The present invention relates to a method for performing content synchronization in a content delivery network (CDN: Content Delivery / Distribution Network), and more specifically, for performing content synchronization between a content server and a cache device using multicast The method relates to a device for this.

컨텐츠 전송 네트워크(CDN)은 원거리에 있는 콘텐츠 제공자(CP: Contents Provider)의 서버(혹은 근원 서버(Source Server))에서 제공하는 콘텐츠를 사용자에 근접한 캐시 장치(혹은 CDN 서버)에 미리 저장하고, 사용자로부터 콘텐츠 요청이 발생하면 최적의 캐시 장치에서 해당 사용자에게 요청한 콘텐츠를 전송하는 네트워크를 의미한다. CDN은 콘텐츠 제공자(CP)의 서버로부터 사용자 측 노드(예를 들어, 사용자 단말)에 이르는 구간, 즉 미들마일(Middle Mile)을 경유하지 않고 사용자와 가장 가까운 캐시 장치로부터 콘텐츠를 전송하기 때문에 대용량 콘텐츠를 전송하는 경우나 사용자가 일시적으로 폭증하는 경우에도 빠르고 안정적인 전송을 가능하게 한다.A content delivery network (CDN) pre-stores content provided by a server (or a source server) of a remote content provider (CP), in a cache device (or CDN server) close to the user, and When a request for content occurs from, it means a network that transmits the requested content from the optimal cache device to the user. The CDN transmits content from a content provider (CP) server to a user-side node (for example, a user terminal), that is, a middle mile, without passing through the content from a cache device closest to the user. It enables fast and stable transmission even in the case of transmitting data or when the user temporarily increases.

다만, 기존의 CDN에서는 방송 등과 같은 서비스의 경우 콘텐츠의 개시(open)과 동시에 많은 사용자들이 일시적으로 콘텐츠를 요청하게 되면, 각각의 콘텐츠 요청에 대한 각각의 터널이 생성되어 컨텐츠 개시 초기에 일시적으로 백홀(backhaul) 구간에서의 트래픽이 폭증하고, 콘텐츠 서버에 부하가 발생하는 문제점이 있다.However, in the case of a service such as broadcasting, in the existing CDN, when many users temporarily request content at the same time as the content is opened, each tunnel for each content request is created to temporarily backhaul the content at the beginning. There is a problem in that traffic in the (backhaul) section explodes and a load is generated on the content server.

한국공개특허 제10-2011-0092869호, 2013.03.25 공개 (명칭: 무선망을 통한 씨디엔 서비스 방법 및 시스템)Published Korean Patent No. 10-2011-0092869, March 25, 2013 (Name: CDN service method and system via wireless network)

본 발명의 목적은 멀티캐스트를 이용하여 콘텐츠 개시 초기의 콘텐츠 동기화를 진행하기 위한 방법 및 이를 위한 장치를 제안한다.An object of the present invention is to propose a method and an apparatus therefor for performing content synchronization in the initial stage of content start using multicast.

또한, 본 발명의 목적은 콘텐츠 전송 오류가 발생하는 경우 오류가 발생된 콘텐츠를 재전송하기 위한 방법 및 이를 위한 장치를 제안한다. In addition, an object of the present invention is to propose a method and an apparatus therefor for retransmitting an error-prone content when a content transmission error occurs.

본 발명에서 이루고자 하는 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급하지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.The technical problems to be achieved in the present invention are not limited to the technical problems mentioned above, and other technical problems that are not mentioned will be clearly understood by those skilled in the art from the following description. Will be able to.

본 발명의 일 양상은, 컨텐츠 전송 네트워크(Content Delivery Network)에서 멀티캐스트(multicast)를 이용하여 캐시(cache) 장치와 콘텐츠 동기화(Synchronization)를 지원하는 콘텐츠 서버로서, 캐시 장치와 데이터 송수신을 위한 통신부, 하나 이상의 콘텐츠를 저장하기 위한 저장부 및 통신부 및 저장부를 제어하도록 구성된 제어부를 포함하고, 제어부는, 콘텐츠의 전송을 개시할 때, 복수의 캐시 장치에 멀티캐스트 시작 메시지를 전송하고, 복수의 캐시 장치 중에서 멀티캐스트 그룹 참여를 위한 참여 메시지를 전송한 하나 이상의 캐시 장치로 구성되는 멀티캐스트 그룹을 생성하고, 생성된 멀티캐스트 그룹에 속하는 하나 이상의 캐시 장치로 콘텐츠를 멀티캐스트 방식으로 전송한다.An aspect of the present invention is a content server that supports content synchronization (Synchronization) with a cache device using a multicast in a content delivery network (Content Delivery Network), a communication unit for data transmission and reception with a cache device , A storage unit for storing one or more contents, and a control unit configured to control the communication unit and the storage unit, wherein the control unit transmits a multicast start message to a plurality of cache devices when initiating transmission of the content, and the plurality of caches Among the devices, a multicast group consisting of one or more cache devices that have transmitted a message for joining a multicast group is generated, and content is transmitted in a multicast manner to one or more cache devices belonging to the generated multicast group.

본 발명의 다른 일 양상은, 컨텐츠 전송 네트워크(Content Delivery Network)에서 멀티캐스트(multicast)를 이용하여 콘텐츠 서버와 콘텐츠 동기화(Synchronization)를 지원하는 캐시(cache) 장치로서, 콘텐츠 서버와 데이터 송수신을 위한 통신부, 하나 이상의 콘텐츠를 저장하기 위한 저장부 및 통신부 및 저장부를 제어하도록 구성된 제어부를 포함하고, 제어부는, 콘텐츠 서버로부터 멀티캐스트 시작 메시지를 수신하고, 멀티캐스트 그룹 참여를 위한 참여 메시지를 캐시 장치와 연결된 스위칭 장치로 전송하여 멀티캐스트 그룹에 참여하고, 콘텐츠 서버로부터 콘텐츠를 멀티캐스트 방식으로 수신한다.Another aspect of the present invention is a cache device that supports content synchronization with a content server by using multicast in a content delivery network (Content Delivery Network), for transmitting and receiving data with a content server And a communication unit, a storage unit for storing one or more contents, and a control unit configured to control the communication unit and the storage unit, the control unit receiving a multicast start message from the content server, and receiving a multicast group participation message for joining the multicast group with the cache device It transmits to a connected switching device to participate in a multicast group, and receives content from a content server in a multicast manner.

본 발명의 또 다른 일 양상은, 컨텐츠 전송 네트워크(Content Delivery Network)에서 멀티캐스트(multicast)를 이용하여 콘텐츠 서버가 캐시(cache) 장치와 콘텐츠 동기화(Synchronization)를 수행하기 위한 방법으로서, 콘텐츠 서버가 콘텐츠의 전송을 개시할 때, 복수의 캐시 장치에 멀티캐스트 시작 메시지를 전송하는 단계, 콘텐츠 서버가 복수의 캐시 장치 중에서 멀티캐스트 그룹 참여를 위한 참여 메시지를 전송한 하나 이상의 캐시 장치로 구성되는 멀티캐스트 그룹을 생성하는 단계 및 콘텐츠 서버가 생성된 멀티캐스트 그룹에 속하는 하나 이상의 캐시 장치로 콘텐츠를 멀티캐스트 방식으로 전송하는 단계를 포함한다.Another aspect of the present invention, as a method for performing a content synchronization (Synchronization) with the content server using a multicast (multicast) in the content delivery network (Content Delivery Network), the content server, the content server When initiating the transmission of content, the step of transmitting a multicast start message to a plurality of cache devices, the multicast consisting of one or more cache devices that the content server transmitted a participation message for joining a multicast group among a plurality of cache devices Creating a group and transmitting the content in a multicast manner to one or more cache devices belonging to the created multicast group.

본 발명의 실시예에 따르면, 멀티캐스트를 이용하여 콘텐츠 개시 초기에 콘텐츠 서버와 캐시 장치 간의 콘텐츠 동기화를 진행함으로써, 백홀(backhaul) 구간에서의 트래픽과 콘텐츠 서버의 부하를 감소시킬 수 있다. According to an embodiment of the present invention, by performing content synchronization between a content server and a cache device at the beginning of content start using multicast, traffic in a backhaul section and a load of the content server can be reduced.

또한, 본 발명의 실시예에 따르면, 콘텐츠 전송의 오류가 발생하면 별도의 채널을 생성하여 오류가 발생된 콘텐츠의 일부분만을 재전송함으로써 콘텐츠 전송에 대한 신뢰도를 향상시킬 수 있다. In addition, according to an embodiment of the present invention, when an error in content transmission occurs, a separate channel is generated to retransmit only a part of the error-generated content, thereby improving reliability of content transmission.

본 발명에서 얻을 수 있는 효과는 이상에서 언급한 효과로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.The effects obtainable in the present invention are not limited to the above-mentioned effects, and other effects not mentioned will be clearly understood by those skilled in the art from the following description. .

본 발명에 관한 이해를 돕기 위해 상세한 설명의 일부로 포함되는, 첨부 도면은 본 발명에 대한 실시예를 제공하고, 상세한 설명과 함께 본 발명의 기술적 특징을 설명한다.
도 1은 본 발명의 일 실시예에 따른 콘텐츠 전송 네트워크의 개략적인 구조를 나타내는 도면이다.
도 2는 콘텐츠 전송 네트워크에서 기존의 캐시 동기화 방식과 본 발명의 일 실시예에 따른 캐시 동기화 방식을 비교하여 설명하기 위한 도면이다.
도 3은 본 발명의 일 실시예에 따른 멀티캐스트를 이용한 콘텐츠 동기화 방법을 예시하는 도면이다.
도 4는 본 발명의 일 실시예에 따른 멀티캐스트를 이용한 콘텐츠 동기화 방법을 예시하는 도면이다.
도 5는 본 발명의 일 실시예에 따른 콘텐츠 서버의 구성을 예시하는 도면이다.
도 6은 본 발명의 일 실시예에 따른 캐시 장치의 구성을 예시하는 도면이다.
BRIEF DESCRIPTION OF THE DRAWINGS The accompanying drawings, which are included as part of the detailed description to aid understanding of the present invention, provide embodiments of the present invention, and describe the technical features of the present invention together with the detailed description.
1 is a diagram showing a schematic structure of a content delivery network according to an embodiment of the present invention.
2 is a diagram for comparing and explaining an existing cache synchronization method and a cache synchronization method according to an embodiment of the present invention in a content delivery network.
3 is a diagram illustrating a content synchronization method using multicast according to an embodiment of the present invention.
4 is a diagram illustrating a content synchronization method using multicast according to an embodiment of the present invention.
5 is a diagram illustrating a configuration of a content server according to an embodiment of the present invention.
6 is a diagram illustrating a configuration of a cache device according to an embodiment of the present invention.

이하, 본 발명에 따른 바람직한 실시 형태를 첨부된 도면을 참조하여 상세하게 설명한다. 첨부된 도면과 함께 이하에 개시될 상세한 설명은 본 발명의 예시적인 실시형태를 설명하고자 하는 것이며, 본 발명이 실시될 수 있는 유일한 실시형태를 나타내고자 하는 것이 아니다. 이하의 상세한 설명은 본 발명의 완전한 이해를 제공하기 위해서 구체적 세부사항을 포함한다. 그러나, 당업자는 본 발명이 이러한 구체적 세부사항 없이도 실시될 수 있음을 안다. Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings. DETAILED DESCRIPTION The following detailed description, together with the accompanying drawings, is intended to describe exemplary embodiments of the present invention, and is not intended to represent the only embodiments in which the present invention may be practiced. The following detailed description includes specific details to provide a thorough understanding of the present invention. However, one skilled in the art knows that the present invention may be practiced without these specific details.

몇몇 경우, 본 발명의 개념이 모호해지는 것을 피하기 위하여 공지의 구조 및 장치는 생략되거나, 각 구조 및 장치의 핵심기능을 중심으로 한 블록도 형식으로 도시될 수 있다.In some cases, in order to avoid obscuring the concept of the present invention, well-known structures and devices may be omitted, or block diagrams centered on the core functions of each structure and device may be illustrated.

명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함(comprising 또는 including)"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다. 또한, 명세서에 기재된 "…부", "…기", "모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다. 또한, "일(a 또는 an)", "하나(one)", "그(the)" 및 유사 관련어는 본 발명을 기술하는 문맥에 있어서(특히, 이하의 청구항의 문맥에서) 본 명세서에 달리 지시되거나 문맥에 의해 분명하게 반박되지 않는 한, 단수 및 복수 모두를 포함하는 의미로 사용될 수 있다.Throughout the specification, when a part "comprising or including" a certain component, this means that other components may be further included instead of excluding other components, unless otherwise specified. do. In addition, terms such as “… unit”, “… group”, and “module” described in the specification mean a unit that processes at least one function or operation, which may be implemented by hardware or software or a combination of hardware and software. have. In addition, "a (a or an)", "one (one)," "the (the)" and similar related terms in the context of describing the present invention (especially in the context of the following claims) is different herein. It may be used in a sense including both singular and plural unless indicated or clearly contradicted by context.

이하의 설명에서 사용되는 특정 용어들은 본 발명의 이해를 돕기 위해서 제공된 것이며, 이러한 특정 용어의 사용은 본 발명의 기술적 사상을 벗어나지 않는 범위에서 다른 형태로 변경될 수 있다.Certain terms used in the following description are provided to help understanding of the present invention, and the use of these specific terms may be changed to other forms without departing from the technical spirit of the present invention.

본 명세서에서 '단말(Terminal)'은 UE(User Equipment), MS(Mobile Station), MSS(Mobile Subscriber Station), SS(Subscriber Station), AMS(Advanced Mobile Station), WT(Wireless terminal), MTC(Machine-Type Communication) 장치, M2M(Machine-to-Machine) 장치, D2D 장치(Device-to-Device), 스테이션(STA: Station) 등의 용어로 대체될 수 있다. In this specification, 'Terminal' refers to User Equipment (UE), Mobile Station (MS), Mobile Subscriber Station (MSS), Subscriber Station (SS), Advanced Mobile Station (AMS), Wireless terminal (WT), MTC It may be replaced with terms such as a machine-type communication (M2M) device, a machine-to-machine (M2M) device, a device-to-device (D2D) device, or a station (STA).

이하, 본 발명에서는 멀티캐스트(multicast)를 이용한 콘텐츠 전송 네트워크(CDN: Content Delivery/Distribution Network) 콘텐츠 동기화(Synchronization)(혹은 캐시(cache) 동기화) 방안을 제안한다. Hereinafter, the present invention proposes a content delivery / distribution network (CDN) content synchronization (or cache synchronization) scheme using multicast.

도 1은 본 발명의 일 실시예에 따른 콘텐츠 전송 네트워크의 개략적인 구조를 나타내는 도면이다.1 is a diagram showing a schematic structure of a content delivery network according to an embodiment of the present invention.

도 1을 참조하면, 본 발명의 일 실시예에 따른 콘텐츠 전송 네트워크는 콘텐츠 서버(10), 스위칭 장치(20) 및 캐시 장치(30)로 구성될 수 있다. 콘텐츠 서버(10), 스위칭 장치(20) 및 캐시 장치(30)는 네트워크를 통해 상호 간에 연결될 수 있으며, 또한 네트워크를 구성하는 노드의 일부분으로 구성될 수도 있다. 여기서, 네트워크는 콘텐츠 서버(10), 스위칭 장치(20) 및 캐시 장치(30)들이 데이터를 송수신할 수 있는 통신 매체로서, 현재 상용화되어 있거나 추후 상용화 가능성이 있는 모든 종류의 통신망이 적용될 수 있다. 예를 들어, 이동통신망, 와이파이(Wi-Fi), 와이브로(Wibro) 등과 같은 무선 통신망 및 인터넷과 같은 유선망 혹은 이들의 통합망을 포함할 수 있다.Referring to FIG. 1, a content delivery network according to an embodiment of the present invention may include a content server 10, a switching device 20, and a cache device 30. The content server 10, the switching device 20, and the cache device 30 may be connected to each other through a network, or may be configured as a part of nodes constituting the network. Here, the network is a communication medium through which the content server 10, the switching device 20, and the cache device 30 can transmit and receive data, and all types of communication networks that are currently commercialized or have future commercialization potential may be applied. For example, it may include a mobile communication network, a wireless communication network such as Wi-Fi, Wibro, and a wired network such as the Internet or an integrated network thereof.

콘텐츠 서버(10)는 컨텐츠 제공자(CP: Contents Provider)가 운영하는 서버를 의미하며, 컨텐츠 제공자가 사용자에게 제공하기 위한 컨텐츠를 저장하고, 사용자의 요청에 따라 사용자 장치에게 다양한 컨텐츠(예를 들어, 사진, 비디오, 오디오, 어플리케이션 등)를 제공한다. 이러한 콘텐츠 서버(10)의 일례로, 웹 서버(Web Server) 혹은 웹 어플리케이션 서버(WAS, Web Application Server) 등이 해당될 수 있다. The content server 10 refers to a server operated by a content provider (CP), and stores content for a content provider to provide to a user, and a variety of content (eg, Photo, video, audio, applications, etc.). As an example of such a content server 10, a web server (Web Server) or a web application server (WAS, Web Application Server) may be applicable.

하나 이상의 스위칭 장치(20)는 콘텐츠 서버(10)와 캐시 장치(30) 사이에 위치하여 콘텐츠 서버(10)와 캐시 장치(30) 간에 송수신되는 패킷은 스위칭 장치(20)를 경유하여 송수신된다. 하나 이상의 스위칭 장치(20)는 콘텐츠 서버(10)로부터 캐시 장치(30)에 이르기 까지 계층적(hierarchical) 구조를 가질 수 있다. 즉, 콘텐츠 서버(10)와 연결되는 가장 상위 계층에 위치하는 스위칭 장치(20)는 다음 계층의 하나 이상의 스위칭 장치(20)와 연결되며, 다음 계층의 스위칭 장치(20)는 그 다음 계층의 스위칭 장치(20)에 연결되며, 결국 가장 하위 계층에 위치하는 스위칭 장치(20)는 캐시 장치(30)와 연결된다. One or more switching devices 20 are located between the content server 10 and the cache device 30, and packets transmitted and received between the content server 10 and the cache device 30 are transmitted and received via the switching device 20. The one or more switching devices 20 may have a hierarchical structure from the content server 10 to the cache device 30. That is, the switching device 20 positioned at the highest layer connected to the content server 10 is connected to one or more switching devices 20 of the next layer, and the switching device 20 of the next layer switches to the next layer It is connected to the device 20, and eventually the switching device 20 located at the lowest layer is connected to the cache device 30.

스위칭 장치(20)는 콘텐츠 서버(10) 혹은 상위 계층의 스위칭 장치(20)로부터 패킷이 입력되면, 해당 패킷이 어떤 캐시 장치(30)로 전송되어야 할 것인지를 확인한다. 즉, 패킷에 포함된 정보를 통해 지정된 캐시 장치(30) 혹은 해당 캐시 장치(30)로 연결되는 다음 계층의 스위칭 장치(20)로 패킷을 전달한다. 이러한 스위칭 장치(20)의 일례로, 네트워크 스위치(Switch) 혹은 라우터(Router)가 해당될 수 있다. When a packet is input from the content server 10 or the switching device 20 of a higher layer, the switching device 20 checks to which cache device 30 the packet should be transmitted. That is, the packet is transferred to the designated cache device 30 or the next layer switching device 20 connected to the cache device 30 through the information included in the packet. As an example of such a switching device 20, a network switch (Switch) or a router (Router) may be applicable.

캐시 장치(30)는 컨텐츠 서버(10)의 컨텐츠의 사본의 일부 또는 전부를 저장하고, 사용자 단말(40)의 요청이 있는 경우, 저장된 컨텐츠를 컨텐츠 서버(10) 대신 사용자 단말(40)에 제공한다. 또한, 캐시 장치(30)는 컨텐츠 서버(40)로부터 컨텐츠를 미리 수신하여 저장하거나(즉, 콘텐츠 동기화), 컨텐츠 서버(10)가 사용자 단말(40)로 전송하는 컨텐츠를 중간에서 수신하여, 복사한 뒤 저장할 수 있다. 또한, 캐시 장치(30)는 사용자 단말(40)에게 콘텐츠를 제공하기 위하여 사용자 단말(40)로부터 전송되는 컨텐츠 요청을 중간에서 수신할 수 있다.The cache device 30 stores a part or all of a copy of the content of the content server 10 and, when requested by the user terminal 40, provides the stored content to the user terminal 40 instead of the content server 10 do. In addition, the cache device 30 receives and stores the content from the content server 40 in advance (that is, content synchronization), or the content server 10 receives the content transmitted to the user terminal 40 in the middle, and copies You can save it after you do it. In addition, the cache device 30 may receive a content request transmitted from the user terminal 40 in the middle to provide content to the user terminal 40.

도 2는 콘텐츠 전송 네트워크에서 기존의 캐시 동기화 방식과 본 발명의 일 실시예에 따른 캐시 동기화 방식을 비교하여 설명하기 위한 도면이다.2 is a diagram for comparing and explaining an existing cache synchronization method and a cache synchronization method according to an embodiment of the present invention in a content delivery network.

도 2의 (a)는 기존의 캐시 동1기화 방식을 예시한다. 콘텐츠 동기화는 컨텐츠 서버에서 콘텐츠 변경(예를 들어, 컨텐츠 제공자로부터 콘텐츠 업로드 등) 시 사용자들이 동시에 동일한 내용의 콘텐츠를 전송 받을 수 있도록 분산된 캐시 장치(30)에 변경된 콘텐츠를 즉각적으로 반영하는 것을 의미한다. 이러한 콘텐츠 동기화 방식의 일례로 도 2의 (a)와 같이 캐시 장치(30)가 사용자가 요청한 콘텐츠에 대하여 콘텐츠 서버(10)로 요청하고, 이에 대한 응답으로 콘텐츠 서버(10)로부터 콘텐츠를 수신함으로써 콘텐츠 서버(10)와 캐시 장치(30) 간에 콘텐츠 동기화를 수행할 수 있다. 이처럼 콘텐츠 동기화가 수행되면, 캐시 장치(30)는 사용자가 요청한 콘텐츠에 대하여 캐시 장치(30)에서 사용자에게 직접 콘텐츠를 제공할 수 있어 콘텐츠 서버(10)의 트래픽을 절감할 수 있다. 2 (a) illustrates an existing cache synchronization method. Content synchronization means that when the content is changed in the content server (for example, uploading content from a content provider, etc.), the changed content is immediately reflected in the distributed cache device 30 so that users can receive the same content at the same time. do. As an example of such a content synchronization method, as shown in FIG. 2 (a), the cache device 30 requests the content requested by the user from the content server 10, and receives the content from the content server 10 in response thereto. Content synchronization may be performed between the content server 10 and the cache device 30. When content synchronization is performed as described above, the cache device 30 can directly provide content to the user from the cache device 30 for the content requested by the user, thereby reducing traffic of the content server 10.

다만, 콘텐츠 서버(10)는 각 캐시 장치(30) 별로 세션(session) 혹은 터널(tunnel)을 생성하여 각 캐시 장치(30)에 요청된 콘텐츠를 전송하게 되므로, 콘텐츠가 사용자에게 제공되기 시작(즉, 콘텐츠의 오픈(open))됨과 동시에 사용자들의 요청이 일시적으로 폭증하게 되면, 초기에 콘텐츠 서버(10)에 부하가 발생되는 문제점이 있다. 다시 말해, 콘텐츠 서버(10)는 일시적으로 다수의 캐시 장치(30)로부터 콘텐츠의 요청을 수신함으로써, 다수의 캐시 장치(30)에게 일시적으로 콘텐츠를 전송을 처리해야 하므로 부하가 발생된다. However, since the content server 10 creates a session or a tunnel for each cache device 30 to transmit the requested content to each cache device 30, the content starts to be provided to the user ( That is, when the user's request temporarily increases while the content is opened, there is a problem in that a load is generated in the content server 10 initially. In other words, the content server 10 temporarily receives a request for content from a plurality of cache devices 30, and thus, a load is generated because the content needs to be temporarily transferred to the plurality of cache devices 30.

도 2의 (b)는 본 발명의 일 실시예에 따른 캐시 동기화 방식을 예시한다. 도 2의 (b)를 참조하면, 콘텐츠 서버(10)에서 캐시 장치(30)로 멀티캐스트 시작 명령 혹은 메시지를 전송하면, 각 캐시 장치(30)들은 멀티캐스트에 참여(join)하여 콘텐츠를 동기화하게 된다. Figure 2 (b) illustrates a cache synchronization scheme according to an embodiment of the present invention. Referring to (b) of FIG. 2, when the multicast start command or message is transmitted from the content server 10 to the cache device 30, each cache device 30 joins the multicast to synchronize the content. Is done.

구체적으로, 콘텐츠가 사용자에게 제공되기 시작되면, 콘텐츠 서버(10)는 캐시 장치(30)로 멀티캐스트 시작 메시지를 전송하여 캐시 장치(30)에게 콘텐츠 동기화의 시작을 알린다. 그리고, 콘텐츠 서버(10)로부터 멀티캐시트 시작 메시지를 수신한 캐시 장치(30)는 해당 캐시 장치(30)가 연결된 스위칭 장치(20)에 멀티캐스트 참여를 수행함으로써, 멀티캐스트 그룹이 형성된다. 계층적인 구조로 구성되는 하나 이상의 스위칭 장치(20) 중에서 가장 하위 계층에 위치하는 스위칭 장치(20)는 하나 이상의 캐시 장치(30)로 구성되는 멀티캐스트 그룹을 생성한다. 반면, 자신과 연결된 캐시 장치(30) 중에서 멀티캐스트 참여하는 캐시 장치(30)가 하나도 없는 경우, 해당 스위칭 장치(20)는 멀티캐스트 그룹을 생성하지 않을 수 있다. 그리고, 콘텐츠 서버(10)는 컨텐츠를 연결된 스위칭 장치(20)에 한 번 전송하고, 이를 수신한 스위칭 장치(20)는 자신이 생성한 멀티캐스트 그룹에 속하는 다음 계층의 각 스위칭 장치(20)로 콘텐츠를 전송하며, 이를 수신한 스위칭 장치(20) 또한 자신이 생성한 멀티캐스트 그룹에 속하는 다음 계층의 각 스위칭 장치(20)로 콘텐츠를 전송하게 된다. 콘텐츠 서버(10)와 캐시 장치(30)의 사이에 위치하는 스위칭 장치(20)는 다음에 전송해야 하는 수신단(예를 들어, 다음 계층에 위치하는 스위칭 장치 혹은 캐시 장치)의 수만큼 수신한 콘텐츠를 복제하여 전송한다. 즉, 콘텐츠 장치와 스위칭 장치 간, 스위칭 장치(20)와 스위칭 장치(20) 간의 각 링크 별로 콘텐츠는 1회 전송된다. 이러한 방식으로 순차적으로 콘텐츠가 전송됨으로써 캐시 장치(30)에 콘텐츠가 도달된다. 이와 같이, 콘텐츠 장치는 콘텐츠를 요청하는 캐시 장치(30)의 수만큼 콘텐츠를 다수 전송하는 것이 아니라 한 번의 콘텐츠를 멀티캐스트 방식으로 전송함으로써 해당 콘텐츠를 동시에 다수의 캐시 장치(30)로 전송할 수 있다. 이처럼, 멀티캐스트를 이용한 콘텐츠 동기화를 수행함으로써, 초기 콘텐츠 동기화 시 콘텐츠 서버(10)에 발생하는 부하를 줄일 수 있으며, 백홀(backhaul) 구간의 트래픽을 절감할 수 있다. Specifically, when the content starts to be provided to the user, the content server 10 sends a multicast start message to the cache device 30 to notify the cache device 30 of the start of content synchronization. In addition, the multicast group is formed by performing multicast participation on the switching device 20 to which the corresponding cache device 30 is connected, by the cache device 30 that has received the multicast start message from the content server 10. Among the one or more switching devices 20 having a hierarchical structure, the switching device 20 positioned at the lowest layer creates a multicast group consisting of the one or more cache devices 30. On the other hand, if there is not one cache device 30 participating in multicast among the cache devices 30 connected to itself, the corresponding switching device 20 may not create a multicast group. Then, the content server 10 transmits the content once to the connected switching device 20, and the receiving switching device 20 receives the content to each switching device 20 of the next layer belonging to the multicast group that it has created. The content is transmitted, and the switching device 20 that received the content also transmits the content to each switching device 20 in the next layer belonging to the multicast group that it generates. The switching device 20 located between the content server 10 and the cache device 30 receives the content received by the number of receiving terminals (eg, switching devices or cache devices located in the next layer) to be transmitted next. It is copied and transmitted. That is, content is transmitted once for each link between the content device and the switching device, and between the switching device 20 and the switching device 20. Content is transmitted sequentially to the cache device 30 in this manner. In this way, the content device may transmit the content to multiple cache devices 30 simultaneously by transmitting one content in a multicast manner, rather than transmitting as many content as the number of cache devices 30 requesting the content. . As described above, by performing content synchronization using multicast, load generated on the content server 10 during initial content synchronization can be reduced, and traffic in a backhaul section can be reduced.

도 3은 본 발명의 일 실시예에 따른 멀티캐스트를 이용한 콘텐츠 동기화 방법을 예시하는 도면이다.3 is a diagram illustrating a content synchronization method using multicast according to an embodiment of the present invention.

도 3을 참조하면, 콘텐츠 서버(10)는 콘텐츠 제공자로부터 신규 콘텐츠가 업로드 되었는지 여부를 판별한다(S301).Referring to FIG. 3, the content server 10 determines whether new content has been uploaded from a content provider (S301).

한편, 캐시 장치(30)는 멀티캐스트 소켓을 생성하여 대기한다(S303). Meanwhile, the cache device 30 waits by creating a multicast socket (S303).

S301 단계에서 신규 콘텐츠가 업로드되지 않은 경우, S301 단계 이전으로 분기하여 S301 단계를 수행한다. 즉, 콘텐츠 서버(10)는 신규 콘텐츠가 업로드 되었는지 여부를 판별한다.If the new content has not been uploaded in step S301, branching is performed before step S301 to perform step S301. That is, the content server 10 determines whether new content has been uploaded.

반면, S301 단계에서 신규 콘텐츠가 업로드된 경우, 콘텐츠 서버(10)는 멀티캐스트 방식으로 업로드된 신규 콘텐츠의 전송이 시작됨을 캐시 장치(30)에 알리기 위하여 멀티캐스트 시작 메시지를 캐시 장치(30)에 전송한다(S305). 즉, 캐시 장치(30)는 멀티캐스트 소켓을 생성하여 대기하는 중에 콘텐츠 서버(10)로부터 멀티캐스트 시작 메시지를 수신하게 된다. 이때, 멀티캐스트 시작 메시지에는 콘텐츠 서버(10)가 전송하게 되는 콘텐츠를 식별하기 위한 정보가 포함될 수 있다.On the other hand, when the new content is uploaded in step S301, the content server 10 sends a multicast start message to the cache device 30 to inform the cache device 30 that the transmission of the new content uploaded in the multicast method starts. Transmit (S305). That is, the cache device 30 receives a multicast start message from the content server 10 while creating and waiting for a multicast socket. At this time, the multicast start message may include information for identifying content to be transmitted by the content server 10.

콘텐츠 서버(10)로부터 멀티캐스트 시작 메시지를 수신한 캐시 장치(30)는 멀티캐스트로 전송되는 콘텐츠를 수신하기 위하여 자신과 연결된 스위칭 장치(20)의 멀티캐스트 그룹에 참여(join)한다(S307). 즉, 캐시 장치(30)는 S303 단계에서 생성한 멀티캐스트 소켓을 연결된 스위칭 장치(20)의 멀티캐스트 그룹에 참여시킨다. The cache device 30 that has received the multicast start message from the content server 10 joins the multicast group of the switching device 20 connected to itself in order to receive the content transmitted by the multicast (S307) . That is, the cache device 30 joins the multicast socket created in step S303 to the multicast group of the connected switching device 20.

이때, 캐시 장치(30)는 멀티캐스트 시작 메시지에 포함된 콘텐츠 식별 정보를 확인하고, 해당 콘텐츠의 수신을 원하지 않는 경우에는 멀티캐스트 참여를 수행하지 않을 수 있다. 즉, 해당 콘텐츠의 수신을 원하는 캐시 장치(30)만이 멀티캐스트 참여를 수행할 수 있다.At this time, the cache device 30 may check the content identification information included in the multicast start message, and if it is not desired to receive the content, the multicast participation may not be performed. That is, only the cache device 30 that wants to receive the corresponding content can perform multicast participation.

멀티캐스트 참여는 멀티캐스트 그룹을 생성하기 위하여 캐시 장치(30)가 멀티캐스트 데이터(즉, 콘텐츠)의 수신에 참여하는 것을 해당 캐시 장치(30)가 자신에게 연결된 스위칭 장치(20)로 참여 메시지를 전송하는 것을 의미한다. 멀티캐스트 참여를 수행하기 위하여 스위칭 장치(20)와 캐시 장치(30)는 인터넷 그룹 관리 프로토콜(IGMP: Internet Group Management Protocol) 혹은 멀티캐스트 청취 발견(MLD: Multicast Listener Discovery) 프로토콜을 이용할 수 있다. 예를 들어, 스위칭 장치(20)는 주기적으로 캐시 장치(30)에 멤버쉽 쿼리(Membership Query) 메시지를 보내고, 멀티캐스트 데이터를 수신하기 원하는 캐시 장치(30)는 이에 대한 응답으로 멤버쉽 보고(Membership Report) 메시지(즉, 참여 메시지)로 응답함으로써 멀티캐스트 참여를 수행할 수 있다.In order to create a multicast group, the cache device 30 transmits a participation message to the switching device 20 connected to the cache device 30 to indicate that the cache device 30 participates in reception of multicast data (that is, content). It means to transmit. In order to perform multicast participation, the switching device 20 and the cache device 30 may use Internet Group Management Protocol (IGMP) or Multicast Listener Discovery (MLD) protocol. For example, the switching device 20 periodically sends a membership query message to the cache device 30, and the cache device 30 that wants to receive multicast data reports a membership in response to this (Membership Report) ) You can perform multicast participation by responding with a message (ie, a participation message).

콘텐츠 서버(10)는 콘텐츠를 전송하기 위한 멀티 캐스트 그룹을 생성한다(S309). 앞서 S307 단계에서 하나 이상의 캐시 장치(30)로 구성되는 멀티캐스트 그룹을 생성한 스위칭 장치(20)는 다시 참여 메시지를 상위 계층의 스위칭 장치(20)로 전송하여 상위 계층의 스위칭 장치(20)의 멀티캐스트 그룹에 참여하고, 상위 계층 스위칭 장치(20)를 다음 상위 계층 스위칭 장치(20)에 참여 메시지를 전송함으로써 다음 상위 계층의 스위칭 장치(20)의 멀티캐스트 그룹에 참여하여 가장 상위 계층은 콘텐츠 서버(10)로 구성되고, 가장 하위 계층은 캐시 장치(30)로 구성되는 멀티캐스트 분배 트리를 구성한다. 즉, 콘텐츠 서버(10)는 자신과 연결되어 있는 스위칭 장치(20)로부터 참여 메시지를 수신함으로써 멀티캐스트 그룹을 생성하게 된다. The content server 10 creates a multicast group for transmitting content (S309). In step S307, the switching device 20 that has generated the multicast group consisting of one or more cache devices 30 transmits the participating message back to the switching device 20 of the upper layer, thereby switching the switching device 20 of the upper layer. Join the multicast group, and send the join message to the next higher layer switching device 20 to the next higher layer switching device 20 to participate in the multicast group of the next higher layer switching device 20 so that the highest layer is content Consisting of a server 10, the lowest layer constitutes a multicast distribution tree composed of a cache device 30. That is, the content server 10 creates a multicast group by receiving a participation message from the switching device 20 connected to it.

멀티캐스트 그룹을 생성한 콘텐츠 서버(10)는 멀티캐스트 방식으로 콘텐츠를 캐시 장치(30)에 전송한다(S311). 이때, 콘텐츠는 미리 정해진 데이터 블록 단위로 전송될 수 있다. 예를 들어, 8Kb, 16Kb 등과 같이 고정된 크기의 데이터 블록 단위로 전송되거나 가변적 크기의 데이터 블록 단위로 콘텐츠가 전송될 수도 있다. The content server 10 that has created the multicast group transmits the content to the cache device 30 in a multicast method (S311). At this time, the content may be transmitted in units of predetermined data blocks. For example, content may be transmitted in units of data blocks of fixed size, such as 8Kb, 16Kb, or data blocks of variable size.

멀티캐스트 분배 트리에 속한 스위칭 장치(20)는 자신에게 속한 그룹 멤버(즉, 자신과 연결되어 있는 하위 계층의 스위칭 장치 혹은 캐시 장치)를 판별하여 멀티캐스트 데이터를 전송하게 된다. 즉, 콘텐츠 서버(10)는 자신과 연결된 스위칭 장치(20)에 콘텐츠를 전송하고, 콘텐츠를 수신한 스위칭 장치(20)는 자신이 생성한 멀티캐스트 그룹에 속하는 스위칭 장치(20)에 콘텐츠를 전송함으로써 순차적으로 콘텐츠가 캐시 장치(30)에 전송된다.The switching device 20 belonging to the multicast distribution tree determines the group member belonging to the multicast distribution tree (that is, the switching device or cache device of a lower layer connected to it) and transmits the multicast data. That is, the content server 10 transmits the content to the switching device 20 connected to it, and the switching device 20 receiving the content transmits the content to the switching device 20 belonging to the multicast group created by the content server. By doing so, the contents are sequentially transmitted to the cache device 30.

이와 같이 콘텐츠를 멀티캐스트 방식으로 캐시 장치(30)에 전송함으로써 초기 콘텐츠 동기화 시 콘텐츠 서버(10)에 발생하는 부하를 줄일 수 있으며, 백홀(backhaul) 구간의 트래픽을 절감할 수 있다.As described above, by transmitting the content to the cache device 30 in a multicast manner, load generated on the content server 10 during initial content synchronization can be reduced, and traffic in a backhaul section can be reduced.

다만, 멀티캐스트 전송 방식은 접속 지향형(connection-oriented) 전송 방식이 아니므로 콘텐츠 전송의 신뢰성이 낮아질 수도 있다. 따라서, 캐시 장치(30)는 콘텐츠 서버(10)로부터 수신한 콘텐츠가 완전한지 혹은 에러가 있는지를 판별하고, 오류가 있는 경우 오류가 있는 부분만으로 콘텐츠 서버(10)로부터 재수신하여 완전한 콘텐츠를 저장할 수 있다. 이에 대하여 아래 도 4를 참조하여 상세히 설명한다. However, since the multicast transmission method is not a connection-oriented transmission method, reliability of content transmission may be lowered. Accordingly, the cache device 30 determines whether the content received from the content server 10 is complete or has an error, and if there is an error, re-receives from the content server 10 only with the error part and stores the complete content. Can be. This will be described in detail with reference to FIG. 4 below.

도 4는 본 발명의 일 실시예에 따른 멀티캐스트를 이용한 콘텐츠 동기화 방법을 예시하는 도면이다. 4 is a diagram illustrating a content synchronization method using multicast according to an embodiment of the present invention.

도 4를 참조하면, 콘텐츠 서버(10)는 콘텐츠 제공자로부터 신규 콘텐츠가 업로드 되었는지 여부를 판별한다(S401).Referring to FIG. 4, the content server 10 determines whether new content has been uploaded from a content provider (S401).

한편, 캐시 장치(30)는 멀티캐스트 소켓을 생성하여 대기한다(S403).Meanwhile, the cache device 30 waits by creating a multicast socket (S403).

S401 단계에서 신규 콘텐츠가 업로드되지 않은 경우, S401 단계 이전으로 분기하여 S401 단계를 수행한다. 즉, 콘텐츠 서버(10)는 신규 콘텐츠가 업로드 되었는지 여부를 판별한다.If the new content has not been uploaded in step S401, branching is performed before step S401 to perform step S401. That is, the content server 10 determines whether new content has been uploaded.

반면, S401 단계에서 신규 콘텐츠가 업로드된 경우, 콘텐츠 서버(10)는 멀티캐스트 방식으로 업로드된 신규 콘텐츠의 전송이 시작됨을 캐시 장치(30)에 알리기 위하여 멀티캐스트 시작 메시지를 캐시 장치(30)에 전송한다(S405). 즉, 캐시 장치(30)는 멀티캐스트 소켓을 생성하여 대기하는 중에 콘텐츠 서버(10)로부터 멀티캐스트 시작 메시지를 수신하게 된다. 이때, 멀티캐스트 시작 메시지에는 콘텐츠 서버(10)가 전송하게 되는 콘텐츠를 식별하기 위한 정보가 포함될 수 있다.On the other hand, when new content is uploaded in step S401, the content server 10 sends a multicast start message to the cache device 30 to inform the cache device 30 that the transmission of the new content uploaded in the multicast method starts. And transmit (S405). That is, the cache device 30 receives a multicast start message from the content server 10 while creating and waiting for a multicast socket. At this time, the multicast start message may include information for identifying content to be transmitted by the content server 10.

콘텐츠 서버(10)로부터 멀티캐스트 시작 메시지를 수신한 캐시 장치(30)는 멀티캐스트로 전송되는 콘텐츠를 수신하기 위하여 자신과 연결된 스위칭 장치(20)의 멀티캐스트 그룹에 참여(join)한다(S407). 즉, 캐시 장치(30)는 S403 단계에서 생성한 멀티캐스트 소켓을 연결된 스위칭 장치(20)의 멀티캐스트 그룹에 참여시킨다. The cache device 30 that has received the multicast start message from the content server 10 joins the multicast group of the switching device 20 connected to itself to receive the content transmitted through the multicast (S407). . That is, the cache device 30 joins the multicast socket created in step S403 to the multicast group of the connected switching device 20.

이때, 캐시 장치(30)는 멀티캐스트 시작 메시지에 포함된 콘텐츠 식별 정보를 확인하고, 해당 콘텐츠의 수신을 원하지 않는 경우에는 멀티캐스트 참여를 수행하지 않을 수 있다. 즉, 해당 콘텐츠의 수신을 원하는 캐시 장치(30)만이 멀티캐스트 참여를 수행할 수 있다.At this time, the cache device 30 may check the content identification information included in the multicast start message, and if it is not desired to receive the content, the multicast participation may not be performed. That is, only the cache device 30 that wants to receive the corresponding content can perform multicast participation.

멀티캐스트 참여는 멀티캐스트 그룹을 생성하기 위하여 캐시 장치(30)가 멀티캐스트 데이터(즉, 콘텐츠)의 수신에 참여하는 것을 해당 캐시 장치(30)가 자신에게 연결된 스위칭 장치(20)로 참여 메시지를 전송하는 것을 의미한다. 멀티캐스트 참여를 수행하기 위하여 스위칭 장치(20)와 캐시 장치(30)는 인터넷 그룹 관리 프로토콜(IGMP) 혹은 멀티캐스트 청취 발견(MLD) 프로토콜을 이용할 수 있다. 예를 들어, 스위칭 장치(20)는 주기적으로 캐시 장치(30)에 멤버쉽 쿼리(Membership Query) 메시지를 보내고, 멀티캐스트 데이터를 수신하기 원하는 캐시 장치(30)는 이에 대한 응답으로 멤버쉽 보고(Membership Report) 메시지(즉, 참여 메시지)로 응답함으로써 멀티캐스트 참여를 수행할 수 있다.In order to create a multicast group, the cache device 30 transmits a participation message to the switching device 20 connected to the cache device 30 to indicate that the cache device 30 participates in reception of multicast data (that is, content). It means to transmit. In order to perform multicast participation, the switching device 20 and the cache device 30 may use Internet Group Management Protocol (IGMP) or Multicast Listening Discovery (MLD) protocol. For example, the switching device 20 periodically sends a membership query message to the cache device 30, and the cache device 30 that wants to receive multicast data reports a membership in response to this (Membership Report) ) You can perform multicast participation by responding with a message (ie, a participation message).

콘텐츠 서버(10)는 콘텐츠를 전송하기 위한 멀티 캐스트 그룹을 생성한다(S409). 앞서 S407 단계에서 하나 이상의 캐시 장치(30)로 구성되는 멀티캐스트 그룹을 생성한 스위칭 장치(20)는 다시 참여 메시지를 상위 계층의 스위칭 장치(20)로 전송하여 상위 계층의 스위칭 장치(20)의 멀티캐스트 그룹에 참여하고, 상위 계층 스위칭 장치(20)를 다음 상위 계층 스위칭 장치(20)에 참여 메시지를 전송함으로써 다음 상위 계층의 스위칭 장치(20)의 멀티캐스트 그룹에 참여하여 가장 상위 계층은 콘텐츠 서버(10)로 구성되고, 가장 하위 계층은 캐시 장치(30)로 구성되는 멀티캐스트 분배 트리를 구성한다. 즉, 콘텐츠 서버(10)는 자신과 연결되어 있는 스위칭 장치(20)로부터 참여 메시지를 수신함으로써 멀티캐스트 그룹을 생성하게 된다. The content server 10 creates a multicast group for transmitting content (S409). In step S407, the switching device 20 that has generated the multicast group consisting of one or more cache devices 30 transmits the participating message back to the switching device 20 of the upper layer, and the switching device 20 of the higher layer switching device 20. Join the multicast group, and send the join message to the next higher layer switching device 20 to the next higher layer switching device 20 to participate in the multicast group of the next higher layer switching device 20 so that the highest layer is content Consisting of a server 10, the lowest layer constitutes a multicast distribution tree composed of a cache device 30. That is, the content server 10 creates a multicast group by receiving a participation message from the switching device 20 connected to it.

멀티캐스트 그룹을 생성한 콘텐츠 서버(10)는 멀티캐스트 방식으로 콘텐츠를 캐시 장치(30)에 전송한다(S411). 이때, 콘텐츠는 미리 정해진 데이터 블록 단위로 전송될 수 있다. 예를 들어, 8Kb, 16Kb 등과 같이 고정된 크기의 데이터 블록 단위로 전송되거나 가변적 크기의 데이터 블록 단위로 콘텐츠가 전송될 수도 있다.The content server 10 that has created the multicast group transmits the content to the cache device 30 in a multicast manner (S411). At this time, the content may be transmitted in units of predetermined data blocks. For example, content may be transmitted in units of data blocks of fixed size, such as 8Kb, 16Kb, or data blocks of variable size.

멀티캐스트 분배 트리에 속한 스위칭 장치(20)는 자신에게 속한 그룹 멤버(즉, 자신과 연결되어 있는 하위 계층의 스위칭 장치 혹은 캐시 장치)를 판별하여 멀티캐스트 데이터를 전송하게 된다. 즉, 콘텐츠 서버(10)는 자신과 연결된 스위칭 장치(20)에 콘텐츠를 전송하고, 콘텐츠를 수신한 스위칭 장치(20)는 자신이 생성한 멀티캐스트 그룹에 속하는 스위칭 장치(20)에 콘텐츠를 전송함으로써 순차적으로 콘텐츠가 캐시 장치(30)에 전송된다.The switching device 20 belonging to the multicast distribution tree determines the group member belonging to the multicast distribution tree (that is, the switching device or cache device of a lower layer connected to it) and transmits the multicast data. That is, the content server 10 transmits the content to the switching device 20 connected to it, and the switching device 20 receiving the content transmits the content to the switching device 20 belonging to the multicast group created by the content server. By doing so, the contents are sequentially transmitted to the cache device 30.

캐시 장치(30)는 수신한 콘텐츠가 전송 과정에서 발생되는 오류가 있는지 여부를 판별한다(S413). 이때, 캐시 장치(30)는 데이터 블록 단위로 콘텐츠를 수신하면서 데이터 블록 단위로 데이터의 오류 여부를 판별할 수 있다. The cache device 30 determines whether or not there is an error in the received content in the transmission process (S413). In this case, the cache device 30 may determine whether there is an error in data in units of data blocks while receiving content in units of data blocks.

S413 단계에서 수신한 콘텐츠에 오류가 없다고 판단한 경우, S411 단계 이전으로 분기하여 계속하여 다음 콘텐츠를 수신하게 된다. 즉, 캐시 장치(30)는 오류가 없다고 판단된 블록의 다음 블록을 수신할 수 있다.If it is determined in step S413 that there is no error in the received content, the process proceeds to branch before step S411 to continue to receive the next content. That is, the cache device 30 may receive the next block of blocks determined that there are no errors.

반면, S413 단계에서 수신한 콘텐츠에 오류가 있다고 판단한 경우, 캐시 장치(30)는 콘텐츠 서버(10)로 콘텐츠 재전송 요청 메시지를 전송한다(S415). 이때, 캐시 장치(30)는 콘텐츠 재전송 요청 메시지에 오류가 발생된 데이터 블록을 특정하기 위한 정보를 포함시켜 해당 데이터 블록만을 요청할 수 있다. 즉, 캐시 장치(30)는 오류가 발생된 데이터 블록을 특정하기 위하여 콘텐츠 재전송 요청 메시지를 통해 해당 데이터 블록에 대한 해쉬 값을 콘텐츠 서버(10)에 전송할 수 있다. 캐시 장치(30)는 오류가 발생된 데이터 블록에 대한 해쉬 값을 MD5(Message-Digest algorithm 5), SHA-1(Secure Hash Algorithm) 등과 같은 해쉬 함수를 통해 산출할 수 있다. On the other hand, if it is determined that there is an error in the content received in step S413, the cache device 30 transmits a content retransmission request message to the content server 10 (S415). At this time, the cache device 30 may request only the corresponding data block by including information for specifying the data block in which an error occurred in the content retransmission request message. That is, the cache device 30 may transmit the hash value for the corresponding data block to the content server 10 through the content retransmission request message to specify the data block in which the error occurred. The cache device 30 may calculate the hash value for the data block in which an error occurs through a hash function such as Message-Digest algorithm 5 (MD5), Secure Hash Algorithm (SHA-1), and the like.

콘텐츠 재전송 요청 메시지를 수신한 콘텐츠 서버(10)는 콘텐츠 재전송을 요청하는 캐시 장치(30)로 해당 콘텐츠를 재전송한다(S417). 여기서, 콘텐츠 서버(10)는 콘텐츠 재전송 요청 메시지에 포함된 소스 주소(source address) 즉, 콘텐츠 재전송을 요청한 캐시 장치(30)의 주소를 확인하고, 해당 캐시 장치(30)로 콘텐츠 재전송은 유니캐스트(Unicast) 방식으로 전송할 수 있다. Upon receiving the content retransmission request message, the content server 10 retransmits the content to the cache device 30 that requests the content retransmission (S417). Here, the content server 10 checks the source address included in the content retransmission request message, that is, the address of the cache device 30 that requested the content retransmission, and the content retransmission to the cache device 30 is unicast. (Unicast) method.

콘텐츠 서버(10)는 재전송 요청 메시지에 포함된 오류가 발생된 데이터 블록을 특정하기 위한 정보(예를 들어, 오류가 발생된 데이터 블록의 해쉬값)를 확인하고, 콘텐츠에서 해당 데이터 블록(또는 해쉬값)에 대한 콘텐츠를 전송한다(S417). 여기서, 콘텐츠 서버(10)는 콘텐츠를 미리 정해진 크기의 청크(chunk) 단위로 분할하여 저장하고, 재전송 요청 시 요청된 데이터 블록이 속한 청크(chunk) 단위로 콘텐츠를 전송할 수 있다. The content server 10 checks information (for example, a hash value of the data block in which an error occurs) included in the retransmission request message, and checks the corresponding data block (or hash in content) Value) is transmitted (S417). Here, the content server 10 may divide and store the content in chunk units of a predetermined size, and transmit the content in chunk units to which the requested data block belongs when requesting retransmission.

재전송된 콘텐츠를 수신한 캐시 장치(30)는 재전송된 컨텐츠와 기 수신된 컨텐츠를 결합하여 전체 컨텐츠를 완성한다(S419). 상술한 바와 같이, 콘텐츠 서버(10)는 콘텐츠를 미리 정해진 크기의 청크(chunk) 단위로 분할하여 저장할 때, 콘텐츠 서버(10)는 청크 단위 별로 시퀀스 번호(Sequence Number)를 부여함으로써, 캐시 장치(30)는 전체 청크(chunk) 단위를 모두 수신한 후 시퀀스 번호에 따라 청크 단위를 결합하여 전체 콘텐츠를 완성할 수 있다. 또한, 재전송을 요청한 데이터 블록(혹은 해쉬값)에 대한 청크 단위를 수신하면 기 수신된 콘텐츠와 결합하여 전체 콘텐츠를 완성할 수 있다.The cache device 30 receiving the retransmitted content combines the retransmitted content with the previously received content to complete the entire content (S419). As described above, when the content server 10 divides and stores the content in chunk units of a predetermined size, the content server 10 assigns a sequence number for each chunk unit, thereby providing a cache device ( 30) can receive the entire chunk (chunk) unit and then complete the entire content by combining the chunk units according to the sequence number. In addition, when a chunk unit for a data block (or hash value) requesting retransmission is received, the entire content can be completed by combining with the previously received content.

도 5는 본 발명의 일 실시예에 따른 콘텐츠 서버의 구성을 예시하는 도면이다. 5 is a diagram illustrating a configuration of a content server according to an embodiment of the present invention.

도 5에서 도시된 콘텐츠 서버(10)의 구성은, 기능적으로 구분되는 기능 요소들을 나타낸 것으로서, 어느 하나 이상의 구성이 실제 물리적으로는 서로 통합되어 구현될 수도 있다.The configuration of the content server 10 illustrated in FIG. 5 shows functional elements that are functionally divided, and any one or more components may be physically integrated and implemented.

도 5를 참조하면, 본 발명의 일 실시예에 따른 콘텐츠 서버(10)는 통신부(510), 저장부(520) 및 제어부(530)를 포함하여 구성될 수 있다. 또한, 제어부(530)는 각 기능 별로 콘텐츠 전송 처리부(531) 및 콘텐츠 관리부(533)로 구성될 수 있다. 콘텐츠 서버(10)를 구성하는 통신부(510), 저장부(520) 및 제어부(530)는 본 발명에 따른 기능을 수행하기 위하여 상호 기능적으로 연결될 수 있다.Referring to FIG. 5, the content server 10 according to an embodiment of the present invention may include a communication unit 510, a storage unit 520, and a control unit 530. In addition, the control unit 530 may be composed of a content transmission processing unit 531 and a content management unit 533 for each function. The communication unit 510, the storage unit 520, and the control unit 530 constituting the content server 10 may be functionally connected to each other in order to perform a function according to the present invention.

각 구성 요소에 대해 보다 구체적으로 설명하면, 통신부(510)는 네트워크(50)를 통해 스위칭 장치(20)와 통신을 가능하게 하는 인터페이스를 제공한다. 특히, 본 발명에 있어서, 통신부(510)는 제어부(530)의 제어를 받아 스위칭 장치(20)를 통해 캐시 장치(30)로 멀티캐스트 방식으로 콘텐츠를 전송할 수 있다. 또한, 통신부(510)는 스위칭 장치(20)를 통해 캐시 장치(30)와 다양한 메시지들을 송수신할 수 있다. In more detail for each component, the communication unit 510 provides an interface that enables communication with the switching device 20 through the network 50. Particularly, in the present invention, the communication unit 510 may transmit content in a multicast manner to the cache device 30 through the switching device 20 under the control of the control unit 530. In addition, the communication unit 510 may transmit and receive various messages with the cache device 30 through the switching device 20.

저장부(520)는 콘텐츠 서버(10)의 동작에 필요한 데이터 및/또는 프로그램을 저장하는 수단으로서, 제어부(530) 내부 또는 외부에 있을 수 있고, 잘 알려진 다양한 수단으로 제어부(530)와 연결될 수 있다. 특히, 본 발명에 있어서, 저장부(520)는 콘텐츠 제공자로부터 업로드 된 하나 이상의 콘텐츠를 저장할 수 있다. The storage unit 520 is a means for storing data and / or programs necessary for the operation of the content server 10, and may be inside or outside the control unit 530, and may be connected to the control unit 530 by various well-known means. have. In particular, in the present invention, the storage unit 520 may store one or more contents uploaded from a content provider.

제어부(530)는 콘텐츠 서버(10)의 전반적인 제어를 수행하는 구성으로, 통신부(510) 및 저장부(520)의 기능 수행을 위한 신호의 흐름을 제어하게 된다. 특히, 본 발명에 있어서, 제어부(530)는 앞서 도 2 내지 도 4에서 제안된 기능, 과정 및/또는 방법을 구현한다. The control unit 530 is configured to perform overall control of the content server 10, and controls the flow of signals for performing functions of the communication unit 510 and the storage unit 520. In particular, in the present invention, the control unit 530 implements the functions, processes, and / or methods previously proposed in FIGS. 2 to 4.

구체적으로, 제어부(530)의 콘텐츠 전송 처리부(531)는 캐시 장치(30)와 콘텐츠 동기화(혹은 캐시 동기화)를 수행하는 기능부를 의미한다. 콘텐츠 전송 처리부(533)는 콘텐츠 제공자로부터 업로드 된 콘텐츠의 전송을 개시하고자 할 때, 캐시 장치(30)로 멀티캐스트 시작 메시지를 전송할 수 있다. 또한, 콘텐츠 서버(10)와 연결된 스위칭 장치(20)로부터 멀티캐스트 그룹에 참여하기 위한 참여 메시지를 수신하면, 참여 메시지를 전송한 스위칭 장치(20)로 구성된 멀티캐스트 그룹을 생성하고, 콘텐츠의 멀티캐스트 전송을 위하여 생성된 멀티캐스트 그룹에 속한 각각의 스위칭 장치(20)에 콘텐츠를 한번씩 전송할 수 있다. 또한, 캐시 장치(30)로부터 수신한 콘텐츠 재전송 요청 메시지를 통해 재전송이 요청된 데이터 블록이 속한 청크 단위를 확인하고, 해당 청크 단위를 캐시 장치(30)에 전송할 수 있다.Specifically, the content transmission processing unit 531 of the control unit 530 means a function unit that performs content synchronization (or cache synchronization) with the cache device 30. The content transmission processing unit 533 may transmit a multicast start message to the cache device 30 when it is desired to start transmission of the uploaded content from the content provider. In addition, when a participation message for joining a multicast group is received from the switching device 20 connected to the content server 10, a multicast group consisting of the switching device 20 that transmitted the participation message is generated, and the content is multiplied. Content may be transmitted to each switching device 20 belonging to the multicast group created for the transmission of the cast once. In addition, through the content retransmission request message received from the cache device 30, the chunk unit to which the data block for which retransmission is requested belongs may be identified, and the chunk unit may be transmitted to the cache device 30.

콘텐츠 관리부(533)는 콘텐츠 제공자로부터 업로드 된 하나 이상의 콘텐츠의 저장, 관리 등을 수행하는 기능부를 의미한다. 콘텐츠 관리부(531)는 콘텐츠를 미리 정해진 청크(chunk) 단위로 분할하여 저장부(520)에 저장하며, 각각의 분할된 청크 단위 별로 시퀀스 번호(Sequence Number)를 부여할 수 있다.The content management unit 533 means a function unit that performs storage, management, or the like of one or more contents uploaded from a content provider. The content management unit 531 divides the content into predetermined chunk units and stores the content in the storage unit 520, and may provide a sequence number for each divided chunk unit.

도 6은 본 발명의 일 실시예에 따른 캐시 장치의 구성을 예시하는 도면이다. 6 is a diagram illustrating a configuration of a cache device according to an embodiment of the present invention.

도 6에서 도시된 캐시 장치(30)의 구성은, 기능적으로 구분되는 기능 요소들을 나타낸 것으로서, 어느 하나 이상의 구성이 실제 물리적으로는 서로 통합되어 구현될 수도 있다.The configuration of the cache device 30 shown in FIG. 6 shows functionally divided functional elements, and any one or more components may be physically integrated with each other.

도 6을 참조하면, 본 발명의 일 실시예에 따른 캐시 장치(30)는 통신부(610), 저장부(620) 및 제어부(630)를 포함하여 구성될 수 있다. 또한, 제어부(630)는 각 기능 별로 콘텐츠 수신 처리부(631) 및 콘텐츠 오류 판별부(633)로 구성될 수 있다. 캐시 장치(30)를 구성하는 통신부(610), 저장부(620) 및 제어부(630)는 본 발명에 따른 기능을 수행하기 위하여 상호 기능적으로 연결될 수 있다.Referring to FIG. 6, the cache device 30 according to an embodiment of the present invention may include a communication unit 610, a storage unit 620, and a control unit 630. In addition, the control unit 630 may be configured with a content reception processing unit 631 and a content error determination unit 633 for each function. The communication unit 610, the storage unit 620, and the control unit 630 constituting the cache device 30 may be functionally connected to each other to perform functions according to the present invention.

각 구성 요소에 대해 보다 구체적으로 설명하면, 통신부(610)는 네트워크(50)를 통해 스위칭 장치(20)와 통신을 가능하게 하는 인터페이스를 제공한다. 특히, 본 발명에 있어서, 통신부(610)는 제어부(630)의 제어를 받아 스위칭 장치(20)를 통해 콘텐츠 서버(10)로부터 멀티캐스트 방식으로 콘텐츠를 수신할 수 있다. 또한, 통신부(610)는 스위칭 장치(20)를 통해 콘텐츠 서버(10)와 다양한 메시지들을 송수신할 수 있다.In more detail for each component, the communication unit 610 provides an interface that enables communication with the switching device 20 through the network 50. In particular, in the present invention, the communication unit 610 may receive content in a multicast manner from the content server 10 through the switching device 20 under the control of the control unit 630. In addition, the communication unit 610 may transmit and receive various messages to and from the content server 10 through the switching device 20.

저장부(620)는 캐시 장치(30)의 동작에 필요한 데이터 및/또는 프로그램을 저장하는 수단으로서, 제어부(630) 내부 또는 외부에 있을 수 있고, 잘 알려진 다양한 수단으로 제어부(630)와 연결될 수 있다. 특히, 본 발명에 있어서, 저장부(620)는 콘텐츠 제공자로부터 수신한 하나 이상의 콘텐츠를 저장할 수 있다.The storage unit 620 is a means for storing data and / or programs necessary for the operation of the cache device 30, and may be inside or outside the control unit 630, and may be connected to the control unit 630 by various well-known means. have. In particular, in the present invention, the storage unit 620 may store one or more contents received from a content provider.

제어부(630)는 캐시 장치(30)의 전반적인 제어를 수행하는 구성으로, 통신부(610) 및 저장부(620)의 기능 수행을 위한 신호의 흐름을 제어하게 된다. 특히, 본 발명에 있어서, 제어부(630)는 앞서 도 2 내지 도 4에서 제안된 기능, 과정 및/또는 방법을 구현한다. The control unit 630 is configured to perform overall control of the cache device 30, and controls the flow of signals for performing functions of the communication unit 610 and the storage unit 620. In particular, in the present invention, the control unit 630 implements the functions, processes, and / or methods proposed in FIGS. 2 to 4 above.

구체적으로, 제어부(630)의 콘텐츠 수신 처리부(631)는 콘텐츠 서버(10)와 콘텐츠 동기화(혹은 캐시 동기화)를 수행하는 기능부를 의미한다. 콘텐츠 수신 처리부(631)는 콘텐츠 서버(10)로부터 멀티캐스트 시작 메시지를 수신하면, 캐시 장치(30)와 연결된 스위칭 장치(20)의 멀티캐스트 그룹에 참여하기 위하여 참여 메시지를 전송하여 해당 스위칭 장치(20)의 멀티캐스트 그룹에 참여하고, 해당 콘텐츠를 콘텐츠 서버(10)로부터 수신할 수 있다. 또한, 콘텐츠 오류 판별부(633)에서 판별한 콘텐츠에서 오류가 발생된 데이터 블록을 특정하기 위한 정보(예를 들어, 해쉬값)를 생성하고, 해당 정보를 콘텐츠 재전송 요청 메시지를 통해 콘텐츠 서버(10)에 전송하여 콘텐츠 재전송을 요청할 수 있다. 또한, 콘텐츠 수신 처리부(631)는 콘텐츠 서버(10)로부터 재전송된 콘텐츠를 결합함으로써 콘텐츠를 완성할 수 있다. Specifically, the content reception processing unit 631 of the control unit 630 means a function unit that performs content synchronization (or cache synchronization) with the content server 10. When receiving the multicast start message from the content server 10, the content reception processing unit 631 transmits a participation message in order to participate in the multicast group of the switching device 20 connected to the cache device 30. 20) can participate in the multicast group, and receive the corresponding content from the content server 10. In addition, the content server 10 generates information (for example, a hash value) for specifying an error-occurring data block from the content determined by the content error determination unit 633, and transmits the information through the content retransmission request message. ) To request retransmission of content. In addition, the content receiving processing unit 631 can complete the content by combining the retransmitted content from the content server 10.

콘텐츠 오류 판별부(633)는 콘텐츠 수신 처리부(631)에서 수신한 콘텐츠의 오류 여부를 판별하는 기능부를 의미한다. 콘텐츠 오류 판별부(633)는 콘텐츠를 수신하는 단위 즉, 데이터 블록 단위로 콘텐츠의 오류 발생 여부를 판별할 수 있다. The content error determination unit 633 means a function unit that determines whether or not the content received by the content reception processing unit 631 is an error. The content error determination unit 633 may determine whether an error occurs in the content in units of receiving content, that is, in data block units.

본 발명에 따른 실시예는 다양한 수단, 예를 들어, 하드웨어, 펌웨어(firmware), 소프트웨어 또는 그것들의 결합 등에 의해 구현될 수 있다. 하드웨어에 의한 구현의 경우, 본 발명의 일 실시예는 하나 또는 그 이상의 ASICs(application specific integrated circuits), DSPs(digital signal processors), DSPDs(digital signal processing devices), PLDs(programmable logic devices), FPGAs(field programmable gate arrays), 프로세서, 콘트롤러, 마이크로 콘트롤러, 마이크로 프로세서 등에 의해 구현될 수 있다.Embodiments according to the present invention may be implemented by various means, for example, hardware, firmware, software, or a combination thereof. For implementation by hardware, one embodiment of the present invention includes one or more application specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs), FPGAs ( field programmable gate arrays), processors, controllers, microcontrollers, microprocessors, and the like.

또한, 펌웨어나 소프트웨어에 의한 구현의 경우, 본 발명의 일 실시예는 이상에서 설명된 기능 또는 동작들을 수행하는 모듈, 절차, 함수 등의 형태로 구현되어, 다양한 컴퓨터 수단을 통하여 판독 가능한 기록매체에 기록될 수 있다. 여기서, 기록매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 기록매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 예컨대 기록매체는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(Magnetic Media), CD-ROM(Compact Disk Read Only Memory), DVD(Digital Video Disk)와 같은 광 기록 매체(Optical Media), 플롭티컬 디스크(Floptical Disk)와 같은 자기-광 매체(Magneto-Optical Media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치를 포함한다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함할 수 있다. 이러한 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.In addition, in the case of implementation by firmware or software, one embodiment of the present invention is implemented in the form of a module, procedure, function, etc. that performs the functions or operations described above, and is recorded on a record carrier readable through various computer means. Can be recorded. Here, the recording medium may include program instructions, data files, data structures, or the like alone or in combination. The program instructions recorded on the recording medium may be specially designed and configured for the present invention or may be known and usable by those skilled in computer software. For example, recording media include magnetic media such as hard disks, floppy disks, and magnetic tapes (Magnetic Media), compact disk read only memory (CD-ROM), optical media such as DVD (Digital Video Disk), and optical media. It includes a magneto-optical media such as a disk (Floptical Disk), and a hardware device specially configured to store and execute program instructions such as ROM, RAM, flash memory, and the like. Examples of program instructions may include high-level language code that can be executed by a computer using an interpreter, etc., as well as machine language codes made by a compiler. Such a hardware device may be configured to operate as one or more software modules to perform the operation of the present invention, and vice versa.

이상과 같이, 본 명세서와 도면에는 본 발명의 바람직한 실시예에 대하여 개시하였으나, 여기에 개시된 실시예외에도 본 발명의 기술적 사상에 바탕을 둔 다른 변형 예들이 실시 가능하다는 것은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 자명한 것이다. 또한, 본 명세서와 도면에서 특정 용어들이 사용되었으나, 이는 단지 본 발명의 기술 내용을 쉽게 설명하고 발명의 이해를 돕기 위한 일반적인 의미에서 사용된 것이지, 본 발명의 범위를 한정하고자 하는 것은 아니다. 따라서, 상술한 상세한 설명은 모든 면에서 제한적으로 해석되어서는 아니 되고 예시적인 것으로 고려되어야 한다. 본 발명의 범위는 첨부된 청구항의 합리적 해석에 의해 선정되어야 하고, 본 발명의 등가적 범위 내에서의 모든 변경은 본 발명의 범위에 포함된다.As described above, in the specification and drawings, preferred embodiments of the present invention have been disclosed, but it is possible in the technical field to which the present invention pertains that other modified examples based on the technical spirit of the present invention may be implemented in addition to the embodiments disclosed herein. It is obvious to those with ordinary knowledge. In addition, although specific terms are used in the present specification and drawings, they are merely used in a general sense to easily describe the technical content of the present invention and to understand the present invention, and are not intended to limit the scope of the present invention. Therefore, the above detailed description should not be construed as limiting in all respects, but should be considered illustrative. The scope of the invention should be selected by rational interpretation of the appended claims, and all changes within the equivalent scope of the invention are included in the scope of the invention.

아울러, 본 발명에 따른 장치나 단말은 하나 이상의 프로세서로 하여금 앞서 설명한 기능들과 프로세스를 수행하도록 하는 명령에 의하여 구동될 수 있다. 예를 들어 그러한 명령으로는, 예컨대 JavaScript나 ECMAScript 명령 등의 스크립트 명령과 같은 해석되는 명령이나 실행 가능한 코드 혹은 컴퓨터로 판독 가능한 매체에 저장되는 기타의 명령이 포함될 수 있다. 나아가 본 발명에 따른 장치는 서버 팜(Server Farm)과 같이 네트워크에 걸쳐서 분산형으로 구현될 수 있으며, 혹은 단일의 컴퓨터 장치에서 구현될 수도 있다.In addition, the device or terminal according to the present invention can be driven by instructions that cause one or more processors to perform the functions and processes described above. For example, such instructions may include interpreted instructions such as script instructions such as JavaScript or ECMAScript instructions, executable code, or other instructions stored on a computer-readable medium. Furthermore, the device according to the present invention may be implemented in a distributed manner over a network, such as a server farm, or may be implemented in a single computer device.

또한, 본 발명에 따른 장치에 탑재되고 본 발명에 따른 방법을 실행하는 컴퓨터 프로그램(프로그램, 소프트웨어, 소프트웨어 어플리케이션, 스크립트 혹은 코드로도 알려져 있음)은 컴파일 되거나 해석된 언어나 선험적 혹은 절차적 언어를 포함하는 프로그래밍 언어의 어떠한 형태로도 작성될 수 있으며, 독립형 프로그램이나 모듈, 컴포넌트, 서브루틴 혹은 컴퓨터 환경에서 사용하기에 적합한 다른 유닛을 포함하여 어떠한 형태로도 전개될 수 있다. 컴퓨터 프로그램은 파일 시스템의 파일에 반드시 대응하는 것은 아니다. 프로그램은 요청된 프로그램에 제공되는 단일 파일 내에, 혹은 다중의 상호 작용하는 파일(예컨대, 하나 이상의 모듈, 하위 프로그램 혹은 코드의 일부를 저장하는 파일) 내에, 혹은 다른 프로그램이나 데이터를 보유하는 파일의 일부(예컨대, 마크업 언어 문서 내에 저장되는 하나 이상의 스크립트) 내에 저장될 수 있다. 컴퓨터 프로그램은 하나의 사이트에 위치하거나 복수의 사이트에 걸쳐서 분산되어 통신 네트워크에 의해 상호 접속된 다중 컴퓨터나 하나의 컴퓨터 상에서 실행되도록 전개될 수 있다.In addition, a computer program (also known as a program, software, software application, script or code) mounted on a device according to the present invention and executing the method according to the present invention includes a compiled or interpreted language or a priori or procedural language. It can be written in any form of programming language, and can be deployed in any form, including standalone programs or modules, components, subroutines, or other units suitable for use in a computer environment. Computer programs do not necessarily correspond to files in the file system. The program is in a single file provided to the requested program, or in multiple interactive files (e.g., one or more modules, files storing subprograms or parts of code), or part of a file holding other programs or data (Eg, one or more scripts stored in a markup language document). The computer program can be deployed to be executed on one computer or on multiple computers that are located at one site or distributed across multiple sites and interconnected by a communication network.

아울러, 본 발명에 따른 실시예를 설명하는데 있어서, 특정한 순서로 도면에서 동작들을 묘사하고 있지만, 이는 바람직한 결과를 얻기 위하여 도시된 그 특정한 순서나 순차적인 순서대로 그러한 동작들을 수행하여야 한다거나 모든 도시된 동작들이 수행되어야 하는 것으로 이해되어서는 안 된다. 특정한 경우, 멀티태스킹과 병렬 프로세싱이 유리할 수 있다. 또한, 상술한 실시형태의 다양한 시스템 컴포넌트의 분리는 그러한 분리를 모든 실시형태에서 요구하는 것으로 이해되어서는 안되며, 설명한 프로그램 컴포넌트와 시스템들은 일반적으로 단일의 소프트웨어 제품으로 함께 통합되거나 다중 소프트웨어 제품에 패키징될 수 있다는 점을 이해하여야 한다.In addition, in describing the embodiment according to the present invention, operations are depicted in the drawings in a specific order, but it is necessary to perform such operations in the specific order or sequential order shown in order to obtain a desired result or all illustrated actions They should not be understood as to be performed. In certain cases, multitasking and parallel processing may be advantageous. In addition, the separation of various system components of the above-described embodiments should not be understood as requiring such separation in all embodiments, and the described program components and systems will generally be integrated together into a single software product or packaged in multiple software products. You should understand that you can.

본 발명에 따른 멀티캐스트(multicast)를 이용한 CDN 콘텐츠 동기화 방안은 다양한 통신망을 이용한 컨텐츠 전송 네트워크 시스템에 적용하는 것이 가능하다. The CDN content synchronization method using multicast according to the present invention can be applied to a content delivery network system using various communication networks.

10: 콘텐츠 서버 20: 스위칭 장치
30: 캐시 장치 40: 단말
50: 네트워크 510: 통신부
520: 저장부 530: 제어부
531: 콘텐츠 전송 처리부 533: 콘텐츠 관리부
610: 통신부 620: 저장부
630: 제어부 631: 콘텐츠 수신 처리부
633: 콘텐츠 오류 판별부
10: content server 20: switching device
30: cache device 40: terminal
50: network 510: communication unit
520: storage unit 530: control unit
531: content transmission processing unit 533: content management unit
610: communication unit 620: storage unit
630: control unit 631: content receiving processing unit
633: content error determination unit

Claims (8)

컨텐츠 전송 네트워크(Content Delivery Network)에서 멀티캐스트(multicast)를 이용하여 캐시(cache) 장치와 콘텐츠 동기화(Synchronization)를 지원하는 콘텐츠 서버로서,
캐시 장치와 데이터 송수신을 위한 통신부;
하나 이상의 콘텐츠를 저장하기 위한 저장부; 및
상기 통신부 및 상기 저장부를 제어하도록 구성된 제어부를 포함하고,
상기 제어부는,
상기 콘텐츠의 전송을 개시할 때, 복수의 캐시 장치에 전송하게 되는 콘텐츠를 식별하기 위한 정보를 포함하는 멀티캐스트 시작 메시지를 전송하고,
상기 멀티캐스트 시작 메시지를 전송받은 상기 복수의 캐시 장치 중에서 멀티캐스트 그룹 참여를 위한 참여 메시지를 전송한 하나 이상의 캐시 장치로 구성되는 멀티캐스트 그룹을 생성하고,
상기 생성된 멀티캐스트 그룹에 속하는 하나 이상의 캐시 장치로 상기 콘텐츠를 멀티캐스트 방식으로 전송하는 콘텐츠 서버.
A content server that supports content synchronization and a cache device using a multicast in a content delivery network.
Communication unit for transmitting and receiving data with the cache device;
A storage unit for storing one or more contents; And
And a control unit configured to control the communication unit and the storage unit,
The control unit,
When starting to transmit the content, a multicast start message including information for identifying content to be transmitted to a plurality of cache devices is transmitted,
Create a multicast group consisting of one or more cache devices that have transmitted a participation message for joining a multicast group among the plurality of cache devices that have received the multicast start message,
A content server that transmits the content to one or more cache devices belonging to the generated multicast group in a multicast method.
제1항에 있어서,
상기 콘텐츠는 미리 정해진 데이터 블록 단위로 전송되는 콘텐츠 서버.
According to claim 1,
The content server is transmitted in a predetermined data block unit.
제2항에 있어서,
상기 콘텐츠는 미리 정해진 크기의 청크(chunk) 단위로 분할하여 저장되고,
상기 제어부는,
상기 캐시 장치로부터 상기 콘텐츠의 특정 데이터 블록에 대한 해쉬값을 포함하는 콘텐츠 재전송 요청 메시지를 수신하면, 상기 콘텐츠에서 상기 해쉬 값에 대한 상기 콘텐츠의 청크 단위를 상기 캐시 장치로 재전송하는 콘텐츠 서버.
According to claim 2,
The content is divided into chunks of a predetermined size and stored.
The control unit,
Upon receiving a content retransmission request message including a hash value for a specific data block of the content from the cache device, the content server retransmits the chunk unit of the content for the hash value from the content to the cache device.
컨텐츠 전송 네트워크(Content Delivery Network)에서 멀티캐스트(multicast)를 이용하여 콘텐츠 서버와 콘텐츠 동기화(Synchronization)를 지원하는 캐시(cache) 장치로서,
콘텐츠 서버와 데이터 송수신을 위한 통신부;
하나 이상의 콘텐츠를 저장하기 위한 저장부; 및
상기 통신부 및 상기 저장부를 제어하도록 구성된 제어부를 포함하고,
상기 제어부는,
상기 콘텐츠 서버로부터 콘텐츠를 식별하기 위한 정보를 포함하는 멀티캐스트 시작 메시지를 수신하고,
멀티캐스트 그룹 참여를 위한 참여 메시지를 상기 캐시 장치와 연결된 스위칭 장치로 전송하여 상기 멀티캐스트 그룹에 참여하고,
상기 콘텐츠 서버로부터 상기 콘텐츠를 멀티캐스트 방식으로 수신하는 캐시 장치.
As a cache device that supports content synchronization with a content server using multicast in a content delivery network,
Communication unit for data transmission and reception with the content server;
A storage unit for storing one or more contents; And
And a control unit configured to control the communication unit and the storage unit,
The control unit,
Receiving a multicast start message including information for identifying content from the content server,
Participate in the multicast group by sending a participation message for multicast group participation to a switching device connected to the cache device,
A cache device that receives the content from the content server in a multicast manner.
제4항에 있어서,
상기 콘텐츠는 미리 정해진 데이터 블록 단위로 전송되는 캐시 장치.
The method of claim 4,
The content is a cache device that is transmitted in a predetermined data block unit.
제5항에 있어서,
상기 콘텐츠의 데이터 블록에 오류가 발생되면, 상기 오류가 발생된 데이터 블록을 특정하기 위한 해쉬값을 포함하는 콘텐츠 재전송 요청 메시지를 상기 콘텐츠 서버로 전송하는 캐시 장치.
The method of claim 5,
When an error occurs in the data block of the content, a cache device that transmits a content retransmission request message including a hash value for specifying the error occurred data block to the content server.
제6항에 있어서,
상기 콘텐츠는 미리 정해진 크기의 청크(chunk) 단위로 분할하여 저장되고,
상기 제어부는,
상기 콘텐츠 서버로부터 상기 해쉬 값에 대한 상기 콘텐츠의 청크 단위를 수신하면, 상기 수신한 청크 단위를 기 수신된 콘텐츠와 결합하는 캐시 장치.
The method of claim 6,
The content is divided into chunks of a predetermined size and stored.
The control unit,
When the chunk unit of the content for the hash value is received from the content server, the cache device combines the received chunk unit with the previously received content.
컨텐츠 전송 네트워크(Content Delivery Network)에서 멀티캐스트(multicast)를 이용하여 콘텐츠 서버가 캐시(cache) 장치와 콘텐츠 동기화(Synchronization)를 수행하기 위한 방법으로서,
상기 콘텐츠 서버가 콘텐츠의 전송을 개시할 때, 복수의 캐시 장치에 콘텐츠를 식별하기 위한 정보를 포함하는 멀티캐스트 시작 메시지를 전송하는 단계;
상기 콘텐츠 서버가 상기 멀티캐스트 시작 메시지를 전송받은 상기 복수의 캐시 장치 중에서 멀티캐스트 그룹 참여를 위한 참여 메시지를 전송한 하나 이상의 캐시 장치로 구성되는 멀티캐스트 그룹을 생성하는 단계; 및
상기 콘텐츠 서버가 상기 생성된 멀티캐스트 그룹에 속하는 하나 이상의 캐시 장치로 상기 콘텐츠를 멀티캐스트 방식으로 전송하는 단계를 포함하는 콘텐츠 동기화 방법.
As a method for performing content synchronization (Synchronization) with the content server by the content server using a multicast in the content delivery network (Content Delivery Network),
When the content server starts to transmit the content, transmitting a multicast start message including information for identifying the content to a plurality of cache devices;
Generating, by the content server, a multicast group consisting of one or more cache devices that have transmitted a message for joining a multicast group among the plurality of cache devices that have received the multicast start message; And
And the content server transmitting the content to one or more cache devices belonging to the created multicast group in a multicast manner.
KR1020130119087A 2013-10-07 2013-10-07 Method for contents synchronization, device therefor KR102111573B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020130119087A KR102111573B1 (en) 2013-10-07 2013-10-07 Method for contents synchronization, device therefor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130119087A KR102111573B1 (en) 2013-10-07 2013-10-07 Method for contents synchronization, device therefor

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020200055803A Division KR102210410B1 (en) 2020-05-11 2020-05-11 Method for contents synchronization, device therefor

Publications (2)

Publication Number Publication Date
KR20150040501A KR20150040501A (en) 2015-04-15
KR102111573B1 true KR102111573B1 (en) 2020-05-15

Family

ID=53031824

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130119087A KR102111573B1 (en) 2013-10-07 2013-10-07 Method for contents synchronization, device therefor

Country Status (1)

Country Link
KR (1) KR102111573B1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004507159A (en) 2000-08-16 2004-03-04 セマンデックス ネットワークス インコーポレーティッド Method of high performance addressing and routing of data packets with semantic descriptive labels in computer networks
JP2008537258A (en) 2005-04-20 2008-09-11 マイクロソフト コーポレーション System and method for distributed and decentralized data storage and retrieval

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100485974B1 (en) * 2002-10-10 2005-05-03 엔에이치엔(주) Method and System for Providing Contents
KR100711829B1 (en) * 2005-03-25 2007-04-30 노키아 코포레이션 Multicast data transfer
KR101176199B1 (en) 2010-02-10 2012-08-23 김학호 The coldness and warmth water purifier which has a tax administration function

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004507159A (en) 2000-08-16 2004-03-04 セマンデックス ネットワークス インコーポレーティッド Method of high performance addressing and routing of data packets with semantic descriptive labels in computer networks
JP2008537258A (en) 2005-04-20 2008-09-11 マイクロソフト コーポレーション System and method for distributed and decentralized data storage and retrieval

Also Published As

Publication number Publication date
KR20150040501A (en) 2015-04-15

Similar Documents

Publication Publication Date Title
CN107548550B (en) Managing MBMS membership in service capability open function
US9622049B2 (en) Method and apparatus for providing dual protocol MBMS for facilitating IPV4 to IPV6 migration in E-UTRAN
WO2021098123A1 (en) Multicast and broadcast service continuity during mobility
AU2020395266B2 (en) Methods and systems for multicast and broadcast service establishment in wireless communication networks
JP6321824B2 (en) Service definition signaling for eMBMS services using different bearers in different areas
US20230017217A1 (en) Multicast or broadcast session establishment and management
US11095747B2 (en) Method and apparatus for receiving response information in M2M system
JP2013543679A (en) Multimedia broadcasting / broadcasting service counting method and system
JP6407893B2 (en) Method, apparatus, and computer program for broadcasting a multicast session in wireless communication
WO2020098622A1 (en) Message notification method, apparatus, network element and system and storage medium
RU2595606C2 (en) Method of collecting information and base station
US20230081286A1 (en) Methods and systems for multicast data forwarding during mobility procedures in wireless communication networks
KR102031696B1 (en) Network location reporting for broadcast bearer management
KR20220123436A (en) How multicast service sessions work, devices and communication devices
KR102111573B1 (en) Method for contents synchronization, device therefor
KR102210410B1 (en) Method for contents synchronization, device therefor
JP2020527881A (en) Message transmission method and device
WO2018108168A1 (en) Method for implementing multicast service of packet transmission network, device thereof and communication system
CN113261249A (en) Data transmission method, related equipment and computer storage medium
CN102334369B (en) Message transmitting method and device thereof
JP6802585B2 (en) How to get system messages, devices, terminals and base stations
CN104735106A (en) Node transmission method and device
WO2023029537A1 (en) Method and apparatus for service migration between ues, and storage medium
CN106464304A (en) Resource sharing method and terminal
JP6485719B2 (en) Communication processing system and group message processing method

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
A107 Divisional application of patent
GRNT Written decision to grant