KR102210410B1 - 콘텐츠 동기화 방법 및 이를 위한 장치 - Google Patents

콘텐츠 동기화 방법 및 이를 위한 장치 Download PDF

Info

Publication number
KR102210410B1
KR102210410B1 KR1020200055803A KR20200055803A KR102210410B1 KR 102210410 B1 KR102210410 B1 KR 102210410B1 KR 1020200055803 A KR1020200055803 A KR 1020200055803A KR 20200055803 A KR20200055803 A KR 20200055803A KR 102210410 B1 KR102210410 B1 KR 102210410B1
Authority
KR
South Korea
Prior art keywords
content
multicast
cache device
content server
cache
Prior art date
Application number
KR1020200055803A
Other languages
English (en)
Other versions
KR20200054926A (ko
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 KR1020200055803A priority Critical patent/KR102210410B1/ko
Publication of KR20200054926A publication Critical patent/KR20200054926A/ko
Application granted granted Critical
Publication of KR102210410B1 publication Critical patent/KR102210410B1/ko

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/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]
    • 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/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/2183Cache memory
    • 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/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/254Management at additional data server, e.g. shopping server, rights management server
    • H04N21/2543Billing, e.g. for subscription services
    • 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

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 연결 설정부를 포함한다.

Description

콘텐츠 동기화 방법 및 이를 위한 장치 {Method for contents synchronization, device therefor}
본 발명은 컨텐츠 전송 네트워크(CDN: Content Delivery/Distribution Network)에서 콘텐츠 동기화를 수행하기 위한 방법에 관한 것으로서, 보다 상세하게 멀티 캐스트(multicast)를 이용하여 콘텐츠 서버와 캐시 장치 간에 콘텐츠 동기화를 수행하기 위한 방법, 이를 위한 장치에 관한 것이다.
컨텐츠 전송 네트워크(CDN)은 원거리에 있는 콘텐츠 제공자(CP: Contents Provider)의 서버(혹은 근원 서버(Source Server))에서 제공하는 콘텐츠를 사용자에 근접한 캐시 장치(혹은 CDN 서버)에 미리 저장하고, 사용자로부터 콘텐츠 요청이 발생하면 최적의 캐시 장치에서 해당 사용자에게 요청한 콘텐츠를 전송하는 네트워크를 의미한다. CDN은 콘텐츠 제공자(CP)의 서버로부터 사용자 측 노드(예를 들어, 사용자 단말)에 이르는 구간, 즉 미들마일(Middle Mile)을 경유하지 않고 사용자와 가장 가까운 캐시 장치로부터 콘텐츠를 전송하기 때문에 대용량 콘텐츠를 전송하는 경우나 사용자가 일시적으로 폭증하는 경우에도 빠르고 안정적인 전송을 가능하게 한다.
다만, 기존의 CDN에서는 방송 등과 같은 서비스의 경우 콘텐츠의 개시(open)과 동시에 많은 사용자들이 일시적으로 콘텐츠를 요청하게 되면, 각각의 콘텐츠 요청에 대한 각각의 터널이 생성되어 컨텐츠 개시 초기에 일시적으로 백홀(backhaul) 구간에서의 트래픽이 폭증하고, 콘텐츠 서버에 부하가 발생하는 문제점이 있다.
한국공개특허 제10-2011-0092869호, 2013.03.25 공개 (명칭: 무선망을 통한 씨디엔 서비스 방법 및 시스템)
본 발명의 목적은 멀티캐스트를 이용하여 콘텐츠 개시 초기의 콘텐츠 동기화를 진행하기 위한 방법 및 이를 위한 장치를 제안한다.
또한, 본 발명의 목적은 콘텐츠 전송 오류가 발생하는 경우 오류가 발생된 콘텐츠를 재전송하기 위한 방법 및 이를 위한 장치를 제안한다.
본 발명에서 이루고자 하는 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급하지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
본 발명의 일 양상은, 컨텐츠 전송 네트워크(Content Delivery Network)에서 멀티캐스트(multicast)를 이용하여 캐시(cache) 장치와 콘텐츠 동기화(Synchronization)를 지원하는 콘텐츠 서버로서, 캐시 장치와 데이터 송수신을 위한 통신부, 하나 이상의 콘텐츠를 저장하기 위한 저장부 및 통신부 및 저장부를 제어하도록 구성된 제어부를 포함하고, 제어부는, 콘텐츠의 전송을 개시할 때, 복수의 캐시 장치에 멀티캐스트 시작 메시지를 전송하고, 복수의 캐시 장치 중에서 멀티캐스트 그룹 참여를 위한 참여 메시지를 전송한 하나 이상의 캐시 장치로 구성되는 멀티캐스트 그룹을 생성하고, 생성된 멀티캐스트 그룹에 속하는 하나 이상의 캐시 장치로 콘텐츠를 멀티캐스트 방식으로 전송한다.
본 발명의 다른 일 양상은, 컨텐츠 전송 네트워크(Content Delivery Network)에서 멀티캐스트(multicast)를 이용하여 콘텐츠 서버와 콘텐츠 동기화(Synchronization)를 지원하는 캐시(cache) 장치로서, 콘텐츠 서버와 데이터 송수신을 위한 통신부, 하나 이상의 콘텐츠를 저장하기 위한 저장부 및 통신부 및 저장부를 제어하도록 구성된 제어부를 포함하고, 제어부는, 콘텐츠 서버로부터 멀티캐스트 시작 메시지를 수신하고, 멀티캐스트 그룹 참여를 위한 참여 메시지를 캐시 장치와 연결된 스위칭 장치로 전송하여 멀티캐스트 그룹에 참여하고, 콘텐츠 서버로부터 콘텐츠를 멀티캐스트 방식으로 수신한다.
본 발명의 또 다른 일 양상은, 컨텐츠 전송 네트워크(Content Delivery Network)에서 멀티캐스트(multicast)를 이용하여 콘텐츠 서버가 캐시(cache) 장치와 콘텐츠 동기화(Synchronization)를 수행하기 위한 방법으로서, 콘텐츠 서버가 콘텐츠의 전송을 개시할 때, 복수의 캐시 장치에 멀티캐스트 시작 메시지를 전송하는 단계, 콘텐츠 서버가 복수의 캐시 장치 중에서 멀티캐스트 그룹 참여를 위한 참여 메시지를 전송한 하나 이상의 캐시 장치로 구성되는 멀티캐스트 그룹을 생성하는 단계 및 콘텐츠 서버가 생성된 멀티캐스트 그룹에 속하는 하나 이상의 캐시 장치로 콘텐츠를 멀티캐스트 방식으로 전송하는 단계를 포함한다.
본 발명의 실시예에 따르면, 멀티캐스트를 이용하여 콘텐츠 개시 초기에 콘텐츠 서버와 캐시 장치 간의 콘텐츠 동기화를 진행함으로써, 백홀(backhaul) 구간에서의 트래픽과 콘텐츠 서버의 부하를 감소시킬 수 있다.
또한, 본 발명의 실시예에 따르면, 콘텐츠 전송의 오류가 발생하면 별도의 채널을 생성하여 오류가 발생된 콘텐츠의 일부분만을 재전송함으로써 콘텐츠 전송에 대한 신뢰도를 향상시킬 수 있다.
본 발명에서 얻을 수 있는 효과는 이상에서 언급한 효과로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
본 발명에 관한 이해를 돕기 위해 상세한 설명의 일부로 포함되는, 첨부 도면은 본 발명에 대한 실시예를 제공하고, 상세한 설명과 함께 본 발명의 기술적 특징을 설명한다.
도 1은 본 발명의 일 실시예에 따른 콘텐츠 전송 네트워크의 개략적인 구조를 나타내는 도면이다.
도 2는 콘텐츠 전송 네트워크에서 기존의 캐시 동기화 방식과 본 발명의 일 실시예에 따른 캐시 동기화 방식을 비교하여 설명하기 위한 도면이다.
도 3은 본 발명의 일 실시예에 따른 멀티캐스트를 이용한 콘텐츠 동기화 방법을 예시하는 도면이다.
도 4는 본 발명의 일 실시예에 따른 멀티캐스트를 이용한 콘텐츠 동기화 방법을 예시하는 도면이다.
도 5는 본 발명의 일 실시예에 따른 콘텐츠 서버의 구성을 예시하는 도면이다.
도 6은 본 발명의 일 실시예에 따른 캐시 장치의 구성을 예시하는 도면이다.
이하, 본 발명에 따른 바람직한 실시 형태를 첨부된 도면을 참조하여 상세하게 설명한다. 첨부된 도면과 함께 이하에 개시될 상세한 설명은 본 발명의 예시적인 실시형태를 설명하고자 하는 것이며, 본 발명이 실시될 수 있는 유일한 실시형태를 나타내고자 하는 것이 아니다. 이하의 상세한 설명은 본 발명의 완전한 이해를 제공하기 위해서 구체적 세부사항을 포함한다. 그러나, 당업자는 본 발명이 이러한 구체적 세부사항 없이도 실시될 수 있음을 안다.
몇몇 경우, 본 발명의 개념이 모호해지는 것을 피하기 위하여 공지의 구조 및 장치는 생략되거나, 각 구조 및 장치의 핵심기능을 중심으로 한 블록도 형식으로 도시될 수 있다.
명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함(comprising 또는 including)"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다. 또한, 명세서에 기재된 "…부", "…기", "모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다. 또한, "일(a 또는 an)", "하나(one)", "그(the)" 및 유사 관련어는 본 발명을 기술하는 문맥에 있어서(특히, 이하의 청구항의 문맥에서) 본 명세서에 달리 지시되거나 문맥에 의해 분명하게 반박되지 않는 한, 단수 및 복수 모두를 포함하는 의미로 사용될 수 있다.
이하의 설명에서 사용되는 특정 용어들은 본 발명의 이해를 돕기 위해서 제공된 것이며, 이러한 특정 용어의 사용은 본 발명의 기술적 사상을 벗어나지 않는 범위에서 다른 형태로 변경될 수 있다.
본 명세서에서 '단말(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) 등의 용어로 대체될 수 있다.
이하, 본 발명에서는 멀티캐스트(multicast)를 이용한 콘텐츠 전송 네트워크(CDN: Content Delivery/Distribution Network) 콘텐츠 동기화(Synchronization)(혹은 캐시(cache) 동기화) 방안을 제안한다.
도 1은 본 발명의 일 실시예에 따른 콘텐츠 전송 네트워크의 개략적인 구조를 나타내는 도면이다.
도 1을 참조하면, 본 발명의 일 실시예에 따른 콘텐츠 전송 네트워크는 콘텐츠 서버(10), 스위칭 장치(20) 및 캐시 장치(30)로 구성될 수 있다. 콘텐츠 서버(10), 스위칭 장치(20) 및 캐시 장치(30)는 네트워크를 통해 상호 간에 연결될 수 있으며, 또한 네트워크를 구성하는 노드의 일부분으로 구성될 수도 있다. 여기서, 네트워크는 콘텐츠 서버(10), 스위칭 장치(20) 및 캐시 장치(30)들이 데이터를 송수신할 수 있는 통신 매체로서, 현재 상용화되어 있거나 추후 상용화 가능성이 있는 모든 종류의 통신망이 적용될 수 있다. 예를 들어, 이동통신망, 와이파이(Wi-Fi), 와이브로(Wibro) 등과 같은 무선 통신망 및 인터넷과 같은 유선망 혹은 이들의 통합망을 포함할 수 있다.
콘텐츠 서버(10)는 컨텐츠 제공자(CP: Contents Provider)가 운영하는 서버를 의미하며, 컨텐츠 제공자가 사용자에게 제공하기 위한 컨텐츠를 저장하고, 사용자의 요청에 따라 사용자 장치에게 다양한 컨텐츠(예를 들어, 사진, 비디오, 오디오, 어플리케이션 등)를 제공한다. 이러한 콘텐츠 서버(10)의 일례로, 웹 서버(Web Server) 혹은 웹 어플리케이션 서버(WAS, Web Application Server) 등이 해당될 수 있다.
하나 이상의 스위칭 장치(20)는 콘텐츠 서버(10)와 캐시 장치(30) 사이에 위치하여 콘텐츠 서버(10)와 캐시 장치(30) 간에 송수신되는 패킷은 스위칭 장치(20)를 경유하여 송수신된다. 하나 이상의 스위칭 장치(20)는 콘텐츠 서버(10)로부터 캐시 장치(30)에 이르기 까지 계층적(hierarchical) 구조를 가질 수 있다. 즉, 콘텐츠 서버(10)와 연결되는 가장 상위 계층에 위치하는 스위칭 장치(20)는 다음 계층의 하나 이상의 스위칭 장치(20)와 연결되며, 다음 계층의 스위칭 장치(20)는 그 다음 계층의 스위칭 장치(20)에 연결되며, 결국 가장 하위 계층에 위치하는 스위칭 장치(20)는 캐시 장치(30)와 연결된다.
스위칭 장치(20)는 콘텐츠 서버(10) 혹은 상위 계층의 스위칭 장치(20)로부터 패킷이 입력되면, 해당 패킷이 어떤 캐시 장치(30)로 전송되어야 할 것인지를 확인한다. 즉, 패킷에 포함된 정보를 통해 지정된 캐시 장치(30) 혹은 해당 캐시 장치(30)로 연결되는 다음 계층의 스위칭 장치(20)로 패킷을 전달한다. 이러한 스위칭 장치(20)의 일례로, 네트워크 스위치(Switch) 혹은 라우터(Router)가 해당될 수 있다.
캐시 장치(30)는 컨텐츠 서버(10)의 컨텐츠의 사본의 일부 또는 전부를 저장하고, 사용자 단말(40)의 요청이 있는 경우, 저장된 컨텐츠를 컨텐츠 서버(10) 대신 사용자 단말(40)에 제공한다. 또한, 캐시 장치(30)는 컨텐츠 서버(40)로부터 컨텐츠를 미리 수신하여 저장하거나(즉, 콘텐츠 동기화), 컨텐츠 서버(10)가 사용자 단말(40)로 전송하는 컨텐츠를 중간에서 수신하여, 복사한 뒤 저장할 수 있다. 또한, 캐시 장치(30)는 사용자 단말(40)에게 콘텐츠를 제공하기 위하여 사용자 단말(40)로부터 전송되는 컨텐츠 요청을 중간에서 수신할 수 있다.
도 2는 콘텐츠 전송 네트워크에서 기존의 캐시 동기화 방식과 본 발명의 일 실시예에 따른 캐시 동기화 방식을 비교하여 설명하기 위한 도면이다.
도 2의 (a)는 기존의 캐시 동1기화 방식을 예시한다. 콘텐츠 동기화는 컨텐츠 서버에서 콘텐츠 변경(예를 들어, 컨텐츠 제공자로부터 콘텐츠 업로드 등) 시 사용자들이 동시에 동일한 내용의 콘텐츠를 전송 받을 수 있도록 분산된 캐시 장치(30)에 변경된 콘텐츠를 즉각적으로 반영하는 것을 의미한다. 이러한 콘텐츠 동기화 방식의 일례로 도 2의 (a)와 같이 캐시 장치(30)가 사용자가 요청한 콘텐츠에 대하여 콘텐츠 서버(10)로 요청하고, 이에 대한 응답으로 콘텐츠 서버(10)로부터 콘텐츠를 수신함으로써 콘텐츠 서버(10)와 캐시 장치(30) 간에 콘텐츠 동기화를 수행할 수 있다. 이처럼 콘텐츠 동기화가 수행되면, 캐시 장치(30)는 사용자가 요청한 콘텐츠에 대하여 캐시 장치(30)에서 사용자에게 직접 콘텐츠를 제공할 수 있어 콘텐츠 서버(10)의 트래픽을 절감할 수 있다.
다만, 콘텐츠 서버(10)는 각 캐시 장치(30) 별로 세션(session) 혹은 터널(tunnel)을 생성하여 각 캐시 장치(30)에 요청된 콘텐츠를 전송하게 되므로, 콘텐츠가 사용자에게 제공되기 시작(즉, 콘텐츠의 오픈(open))됨과 동시에 사용자들의 요청이 일시적으로 폭증하게 되면, 초기에 콘텐츠 서버(10)에 부하가 발생되는 문제점이 있다. 다시 말해, 콘텐츠 서버(10)는 일시적으로 다수의 캐시 장치(30)로부터 콘텐츠의 요청을 수신함으로써, 다수의 캐시 장치(30)에게 일시적으로 콘텐츠를 전송을 처리해야 하므로 부하가 발생된다.
도 2의 (b)는 본 발명의 일 실시예에 따른 캐시 동기화 방식을 예시한다. 도 2의 (b)를 참조하면, 콘텐츠 서버(10)에서 캐시 장치(30)로 멀티캐스트 시작 명령 혹은 메시지를 전송하면, 각 캐시 장치(30)들은 멀티캐스트에 참여(join)하여 콘텐츠를 동기화하게 된다.
구체적으로, 콘텐츠가 사용자에게 제공되기 시작되면, 콘텐츠 서버(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) 구간의 트래픽을 절감할 수 있다.
도 3은 본 발명의 일 실시예에 따른 멀티캐스트를 이용한 콘텐츠 동기화 방법을 예시하는 도면이다.
도 3을 참조하면, 콘텐츠 서버(10)는 콘텐츠 제공자로부터 신규 콘텐츠가 업로드 되었는지 여부를 판별한다(S301).
한편, 캐시 장치(30)는 멀티캐스트 소켓을 생성하여 대기한다(S303).
S301 단계에서 신규 콘텐츠가 업로드되지 않은 경우, S301 단계 이전으로 분기하여 S301 단계를 수행한다. 즉, 콘텐츠 서버(10)는 신규 콘텐츠가 업로드 되었는지 여부를 판별한다.
반면, S301 단계에서 신규 콘텐츠가 업로드된 경우, 콘텐츠 서버(10)는 멀티캐스트 방식으로 업로드된 신규 콘텐츠의 전송이 시작됨을 캐시 장치(30)에 알리기 위하여 멀티캐스트 시작 메시지를 캐시 장치(30)에 전송한다(S305). 즉, 캐시 장치(30)는 멀티캐스트 소켓을 생성하여 대기하는 중에 콘텐츠 서버(10)로부터 멀티캐스트 시작 메시지를 수신하게 된다. 이때, 멀티캐스트 시작 메시지에는 콘텐츠 서버(10)가 전송하게 되는 콘텐츠를 식별하기 위한 정보가 포함될 수 있다.
콘텐츠 서버(10)로부터 멀티캐스트 시작 메시지를 수신한 캐시 장치(30)는 멀티캐스트로 전송되는 콘텐츠를 수신하기 위하여 자신과 연결된 스위칭 장치(20)의 멀티캐스트 그룹에 참여(join)한다(S307). 즉, 캐시 장치(30)는 S303 단계에서 생성한 멀티캐스트 소켓을 연결된 스위칭 장치(20)의 멀티캐스트 그룹에 참여시킨다.
이때, 캐시 장치(30)는 멀티캐스트 시작 메시지에 포함된 콘텐츠 식별 정보를 확인하고, 해당 콘텐츠의 수신을 원하지 않는 경우에는 멀티캐스트 참여를 수행하지 않을 수 있다. 즉, 해당 콘텐츠의 수신을 원하는 캐시 장치(30)만이 멀티캐스트 참여를 수행할 수 있다.
멀티캐스트 참여는 멀티캐스트 그룹을 생성하기 위하여 캐시 장치(30)가 멀티캐스트 데이터(즉, 콘텐츠)의 수신에 참여하는 것을 해당 캐시 장치(30)가 자신에게 연결된 스위칭 장치(20)로 참여 메시지를 전송하는 것을 의미한다. 멀티캐스트 참여를 수행하기 위하여 스위칭 장치(20)와 캐시 장치(30)는 인터넷 그룹 관리 프로토콜(IGMP: Internet Group Management Protocol) 혹은 멀티캐스트 청취 발견(MLD: Multicast Listener Discovery) 프로토콜을 이용할 수 있다. 예를 들어, 스위칭 장치(20)는 주기적으로 캐시 장치(30)에 멤버쉽 쿼리(Membership Query) 메시지를 보내고, 멀티캐스트 데이터를 수신하기 원하는 캐시 장치(30)는 이에 대한 응답으로 멤버쉽 보고(Membership Report) 메시지(즉, 참여 메시지)로 응답함으로써 멀티캐스트 참여를 수행할 수 있다.
콘텐츠 서버(10)는 콘텐츠를 전송하기 위한 멀티 캐스트 그룹을 생성한다(S309). 앞서 S307 단계에서 하나 이상의 캐시 장치(30)로 구성되는 멀티캐스트 그룹을 생성한 스위칭 장치(20)는 다시 참여 메시지를 상위 계층의 스위칭 장치(20)로 전송하여 상위 계층의 스위칭 장치(20)의 멀티캐스트 그룹에 참여하고, 상위 계층 스위칭 장치(20)를 다음 상위 계층 스위칭 장치(20)에 참여 메시지를 전송함으로써 다음 상위 계층의 스위칭 장치(20)의 멀티캐스트 그룹에 참여하여 가장 상위 계층은 콘텐츠 서버(10)로 구성되고, 가장 하위 계층은 캐시 장치(30)로 구성되는 멀티캐스트 분배 트리를 구성한다. 즉, 콘텐츠 서버(10)는 자신과 연결되어 있는 스위칭 장치(20)로부터 참여 메시지를 수신함으로써 멀티캐스트 그룹을 생성하게 된다.
멀티캐스트 그룹을 생성한 콘텐츠 서버(10)는 멀티캐스트 방식으로 콘텐츠를 캐시 장치(30)에 전송한다(S311). 이때, 콘텐츠는 미리 정해진 데이터 블록 단위로 전송될 수 있다. 예를 들어, 8Kb, 16Kb 등과 같이 고정된 크기의 데이터 블록 단위로 전송되거나 가변적 크기의 데이터 블록 단위로 콘텐츠가 전송될 수도 있다.
멀티캐스트 분배 트리에 속한 스위칭 장치(20)는 자신에게 속한 그룹 멤버(즉, 자신과 연결되어 있는 하위 계층의 스위칭 장치 혹은 캐시 장치)를 판별하여 멀티캐스트 데이터를 전송하게 된다. 즉, 콘텐츠 서버(10)는 자신과 연결된 스위칭 장치(20)에 콘텐츠를 전송하고, 콘텐츠를 수신한 스위칭 장치(20)는 자신이 생성한 멀티캐스트 그룹에 속하는 스위칭 장치(20)에 콘텐츠를 전송함으로써 순차적으로 콘텐츠가 캐시 장치(30)에 전송된다.
이와 같이 콘텐츠를 멀티캐스트 방식으로 캐시 장치(30)에 전송함으로써 초기 콘텐츠 동기화 시 콘텐츠 서버(10)에 발생하는 부하를 줄일 수 있으며, 백홀(backhaul) 구간의 트래픽을 절감할 수 있다.
다만, 멀티캐스트 전송 방식은 접속 지향형(connection-oriented) 전송 방식이 아니므로 콘텐츠 전송의 신뢰성이 낮아질 수도 있다. 따라서, 캐시 장치(30)는 콘텐츠 서버(10)로부터 수신한 콘텐츠가 완전한지 혹은 에러가 있는지를 판별하고, 오류가 있는 경우 오류가 있는 부분만으로 콘텐츠 서버(10)로부터 재수신하여 완전한 콘텐츠를 저장할 수 있다. 이에 대하여 아래 도 4를 참조하여 상세히 설명한다.
도 4는 본 발명의 일 실시예에 따른 멀티캐스트를 이용한 콘텐츠 동기화 방법을 예시하는 도면이다.
도 4를 참조하면, 콘텐츠 서버(10)는 콘텐츠 제공자로부터 신규 콘텐츠가 업로드 되었는지 여부를 판별한다(S401).
한편, 캐시 장치(30)는 멀티캐스트 소켓을 생성하여 대기한다(S403).
S401 단계에서 신규 콘텐츠가 업로드되지 않은 경우, S401 단계 이전으로 분기하여 S401 단계를 수행한다. 즉, 콘텐츠 서버(10)는 신규 콘텐츠가 업로드 되었는지 여부를 판별한다.
반면, S401 단계에서 신규 콘텐츠가 업로드된 경우, 콘텐츠 서버(10)는 멀티캐스트 방식으로 업로드된 신규 콘텐츠의 전송이 시작됨을 캐시 장치(30)에 알리기 위하여 멀티캐스트 시작 메시지를 캐시 장치(30)에 전송한다(S405). 즉, 캐시 장치(30)는 멀티캐스트 소켓을 생성하여 대기하는 중에 콘텐츠 서버(10)로부터 멀티캐스트 시작 메시지를 수신하게 된다. 이때, 멀티캐스트 시작 메시지에는 콘텐츠 서버(10)가 전송하게 되는 콘텐츠를 식별하기 위한 정보가 포함될 수 있다.
콘텐츠 서버(10)로부터 멀티캐스트 시작 메시지를 수신한 캐시 장치(30)는 멀티캐스트로 전송되는 콘텐츠를 수신하기 위하여 자신과 연결된 스위칭 장치(20)의 멀티캐스트 그룹에 참여(join)한다(S407). 즉, 캐시 장치(30)는 S403 단계에서 생성한 멀티캐스트 소켓을 연결된 스위칭 장치(20)의 멀티캐스트 그룹에 참여시킨다.
이때, 캐시 장치(30)는 멀티캐스트 시작 메시지에 포함된 콘텐츠 식별 정보를 확인하고, 해당 콘텐츠의 수신을 원하지 않는 경우에는 멀티캐스트 참여를 수행하지 않을 수 있다. 즉, 해당 콘텐츠의 수신을 원하는 캐시 장치(30)만이 멀티캐스트 참여를 수행할 수 있다.
멀티캐스트 참여는 멀티캐스트 그룹을 생성하기 위하여 캐시 장치(30)가 멀티캐스트 데이터(즉, 콘텐츠)의 수신에 참여하는 것을 해당 캐시 장치(30)가 자신에게 연결된 스위칭 장치(20)로 참여 메시지를 전송하는 것을 의미한다. 멀티캐스트 참여를 수행하기 위하여 스위칭 장치(20)와 캐시 장치(30)는 인터넷 그룹 관리 프로토콜(IGMP) 혹은 멀티캐스트 청취 발견(MLD) 프로토콜을 이용할 수 있다. 예를 들어, 스위칭 장치(20)는 주기적으로 캐시 장치(30)에 멤버쉽 쿼리(Membership Query) 메시지를 보내고, 멀티캐스트 데이터를 수신하기 원하는 캐시 장치(30)는 이에 대한 응답으로 멤버쉽 보고(Membership Report) 메시지(즉, 참여 메시지)로 응답함으로써 멀티캐스트 참여를 수행할 수 있다.
콘텐츠 서버(10)는 콘텐츠를 전송하기 위한 멀티 캐스트 그룹을 생성한다(S409). 앞서 S407 단계에서 하나 이상의 캐시 장치(30)로 구성되는 멀티캐스트 그룹을 생성한 스위칭 장치(20)는 다시 참여 메시지를 상위 계층의 스위칭 장치(20)로 전송하여 상위 계층의 스위칭 장치(20)의 멀티캐스트 그룹에 참여하고, 상위 계층 스위칭 장치(20)를 다음 상위 계층 스위칭 장치(20)에 참여 메시지를 전송함으로써 다음 상위 계층의 스위칭 장치(20)의 멀티캐스트 그룹에 참여하여 가장 상위 계층은 콘텐츠 서버(10)로 구성되고, 가장 하위 계층은 캐시 장치(30)로 구성되는 멀티캐스트 분배 트리를 구성한다. 즉, 콘텐츠 서버(10)는 자신과 연결되어 있는 스위칭 장치(20)로부터 참여 메시지를 수신함으로써 멀티캐스트 그룹을 생성하게 된다.
멀티캐스트 그룹을 생성한 콘텐츠 서버(10)는 멀티캐스트 방식으로 콘텐츠를 캐시 장치(30)에 전송한다(S411). 이때, 콘텐츠는 미리 정해진 데이터 블록 단위로 전송될 수 있다. 예를 들어, 8Kb, 16Kb 등과 같이 고정된 크기의 데이터 블록 단위로 전송되거나 가변적 크기의 데이터 블록 단위로 콘텐츠가 전송될 수도 있다.
멀티캐스트 분배 트리에 속한 스위칭 장치(20)는 자신에게 속한 그룹 멤버(즉, 자신과 연결되어 있는 하위 계층의 스위칭 장치 혹은 캐시 장치)를 판별하여 멀티캐스트 데이터를 전송하게 된다. 즉, 콘텐츠 서버(10)는 자신과 연결된 스위칭 장치(20)에 콘텐츠를 전송하고, 콘텐츠를 수신한 스위칭 장치(20)는 자신이 생성한 멀티캐스트 그룹에 속하는 스위칭 장치(20)에 콘텐츠를 전송함으로써 순차적으로 콘텐츠가 캐시 장치(30)에 전송된다.
캐시 장치(30)는 수신한 콘텐츠가 전송 과정에서 발생되는 오류가 있는지 여부를 판별한다(S413). 이때, 캐시 장치(30)는 데이터 블록 단위로 콘텐츠를 수신하면서 데이터 블록 단위로 데이터의 오류 여부를 판별할 수 있다.
S413 단계에서 수신한 콘텐츠에 오류가 없다고 판단한 경우, S411 단계 이전으로 분기하여 계속하여 다음 콘텐츠를 수신하게 된다. 즉, 캐시 장치(30)는 오류가 없다고 판단된 블록의 다음 블록을 수신할 수 있다.
반면, S413 단계에서 수신한 콘텐츠에 오류가 있다고 판단한 경우, 캐시 장치(30)는 콘텐츠 서버(10)로 콘텐츠 재전송 요청 메시지를 전송한다(S415). 이때, 캐시 장치(30)는 콘텐츠 재전송 요청 메시지에 오류가 발생된 데이터 블록을 특정하기 위한 정보를 포함시켜 해당 데이터 블록만을 요청할 수 있다. 즉, 캐시 장치(30)는 오류가 발생된 데이터 블록을 특정하기 위하여 콘텐츠 재전송 요청 메시지를 통해 해당 데이터 블록에 대한 해쉬 값을 콘텐츠 서버(10)에 전송할 수 있다. 캐시 장치(30)는 오류가 발생된 데이터 블록에 대한 해쉬 값을 MD5(Message-Digest algorithm 5), SHA-1(Secure Hash Algorithm) 등과 같은 해쉬 함수를 통해 산출할 수 있다.
콘텐츠 재전송 요청 메시지를 수신한 콘텐츠 서버(10)는 콘텐츠 재전송을 요청하는 캐시 장치(30)로 해당 콘텐츠를 재전송한다(S417). 여기서, 콘텐츠 서버(10)는 콘텐츠 재전송 요청 메시지에 포함된 소스 주소(source address) 즉, 콘텐츠 재전송을 요청한 캐시 장치(30)의 주소를 확인하고, 해당 캐시 장치(30)로 콘텐츠 재전송은 유니캐스트(Unicast) 방식으로 전송할 수 있다.
콘텐츠 서버(10)는 재전송 요청 메시지에 포함된 오류가 발생된 데이터 블록을 특정하기 위한 정보(예를 들어, 오류가 발생된 데이터 블록의 해쉬값)를 확인하고, 콘텐츠에서 해당 데이터 블록(또는 해쉬값)에 대한 콘텐츠를 전송한다(S417). 여기서, 콘텐츠 서버(10)는 콘텐츠를 미리 정해진 크기의 청크(chunk) 단위로 분할하여 저장하고, 재전송 요청 시 요청된 데이터 블록이 속한 청크(chunk) 단위로 콘텐츠를 전송할 수 있다.
재전송된 콘텐츠를 수신한 캐시 장치(30)는 재전송된 컨텐츠와 기 수신된 컨텐츠를 결합하여 전체 컨텐츠를 완성한다(S419). 상술한 바와 같이, 콘텐츠 서버(10)는 콘텐츠를 미리 정해진 크기의 청크(chunk) 단위로 분할하여 저장할 때, 콘텐츠 서버(10)는 청크 단위 별로 시퀀스 번호(Sequence Number)를 부여함으로써, 캐시 장치(30)는 전체 청크(chunk) 단위를 모두 수신한 후 시퀀스 번호에 따라 청크 단위를 결합하여 전체 콘텐츠를 완성할 수 있다. 또한, 재전송을 요청한 데이터 블록(혹은 해쉬값)에 대한 청크 단위를 수신하면 기 수신된 콘텐츠와 결합하여 전체 콘텐츠를 완성할 수 있다.
도 5는 본 발명의 일 실시예에 따른 콘텐츠 서버의 구성을 예시하는 도면이다.
도 5에서 도시된 콘텐츠 서버(10)의 구성은, 기능적으로 구분되는 기능 요소들을 나타낸 것으로서, 어느 하나 이상의 구성이 실제 물리적으로는 서로 통합되어 구현될 수도 있다.
도 5를 참조하면, 본 발명의 일 실시예에 따른 콘텐츠 서버(10)는 통신부(510), 저장부(520) 및 제어부(530)를 포함하여 구성될 수 있다. 또한, 제어부(530)는 각 기능 별로 콘텐츠 전송 처리부(531) 및 콘텐츠 관리부(533)로 구성될 수 있다. 콘텐츠 서버(10)를 구성하는 통신부(510), 저장부(520) 및 제어부(530)는 본 발명에 따른 기능을 수행하기 위하여 상호 기능적으로 연결될 수 있다.
각 구성 요소에 대해 보다 구체적으로 설명하면, 통신부(510)는 네트워크(50)를 통해 스위칭 장치(20)와 통신을 가능하게 하는 인터페이스를 제공한다. 특히, 본 발명에 있어서, 통신부(510)는 제어부(530)의 제어를 받아 스위칭 장치(20)를 통해 캐시 장치(30)로 멀티캐스트 방식으로 콘텐츠를 전송할 수 있다. 또한, 통신부(510)는 스위칭 장치(20)를 통해 캐시 장치(30)와 다양한 메시지들을 송수신할 수 있다.
저장부(520)는 콘텐츠 서버(10)의 동작에 필요한 데이터 및/또는 프로그램을 저장하는 수단으로서, 제어부(530) 내부 또는 외부에 있을 수 있고, 잘 알려진 다양한 수단으로 제어부(530)와 연결될 수 있다. 특히, 본 발명에 있어서, 저장부(520)는 콘텐츠 제공자로부터 업로드 된 하나 이상의 콘텐츠를 저장할 수 있다.
제어부(530)는 콘텐츠 서버(10)의 전반적인 제어를 수행하는 구성으로, 통신부(510) 및 저장부(520)의 기능 수행을 위한 신호의 흐름을 제어하게 된다. 특히, 본 발명에 있어서, 제어부(530)는 앞서 도 2 내지 도 4에서 제안된 기능, 과정 및/또는 방법을 구현한다.
구체적으로, 제어부(530)의 콘텐츠 전송 처리부(531)는 캐시 장치(30)와 콘텐츠 동기화(혹은 캐시 동기화)를 수행하는 기능부를 의미한다. 콘텐츠 전송 처리부(533)는 콘텐츠 제공자로부터 업로드 된 콘텐츠의 전송을 개시하고자 할 때, 캐시 장치(30)로 멀티캐스트 시작 메시지를 전송할 수 있다. 또한, 콘텐츠 서버(10)와 연결된 스위칭 장치(20)로부터 멀티캐스트 그룹에 참여하기 위한 참여 메시지를 수신하면, 참여 메시지를 전송한 스위칭 장치(20)로 구성된 멀티캐스트 그룹을 생성하고, 콘텐츠의 멀티캐스트 전송을 위하여 생성된 멀티캐스트 그룹에 속한 각각의 스위칭 장치(20)에 콘텐츠를 한번씩 전송할 수 있다. 또한, 캐시 장치(30)로부터 수신한 콘텐츠 재전송 요청 메시지를 통해 재전송이 요청된 데이터 블록이 속한 청크 단위를 확인하고, 해당 청크 단위를 캐시 장치(30)에 전송할 수 있다.
콘텐츠 관리부(533)는 콘텐츠 제공자로부터 업로드 된 하나 이상의 콘텐츠의 저장, 관리 등을 수행하는 기능부를 의미한다. 콘텐츠 관리부(531)는 콘텐츠를 미리 정해진 청크(chunk) 단위로 분할하여 저장부(520)에 저장하며, 각각의 분할된 청크 단위 별로 시퀀스 번호(Sequence Number)를 부여할 수 있다.
도 6은 본 발명의 일 실시예에 따른 캐시 장치의 구성을 예시하는 도면이다.
도 6에서 도시된 캐시 장치(30)의 구성은, 기능적으로 구분되는 기능 요소들을 나타낸 것으로서, 어느 하나 이상의 구성이 실제 물리적으로는 서로 통합되어 구현될 수도 있다.
도 6을 참조하면, 본 발명의 일 실시예에 따른 캐시 장치(30)는 통신부(610), 저장부(620) 및 제어부(630)를 포함하여 구성될 수 있다. 또한, 제어부(630)는 각 기능 별로 콘텐츠 수신 처리부(631) 및 콘텐츠 오류 판별부(633)로 구성될 수 있다. 캐시 장치(30)를 구성하는 통신부(610), 저장부(620) 및 제어부(630)는 본 발명에 따른 기능을 수행하기 위하여 상호 기능적으로 연결될 수 있다.
각 구성 요소에 대해 보다 구체적으로 설명하면, 통신부(610)는 네트워크(50)를 통해 스위칭 장치(20)와 통신을 가능하게 하는 인터페이스를 제공한다. 특히, 본 발명에 있어서, 통신부(610)는 제어부(630)의 제어를 받아 스위칭 장치(20)를 통해 콘텐츠 서버(10)로부터 멀티캐스트 방식으로 콘텐츠를 수신할 수 있다. 또한, 통신부(610)는 스위칭 장치(20)를 통해 콘텐츠 서버(10)와 다양한 메시지들을 송수신할 수 있다.
저장부(620)는 캐시 장치(30)의 동작에 필요한 데이터 및/또는 프로그램을 저장하는 수단으로서, 제어부(630) 내부 또는 외부에 있을 수 있고, 잘 알려진 다양한 수단으로 제어부(630)와 연결될 수 있다. 특히, 본 발명에 있어서, 저장부(620)는 콘텐츠 제공자로부터 수신한 하나 이상의 콘텐츠를 저장할 수 있다.
제어부(630)는 캐시 장치(30)의 전반적인 제어를 수행하는 구성으로, 통신부(610) 및 저장부(620)의 기능 수행을 위한 신호의 흐름을 제어하게 된다. 특히, 본 발명에 있어서, 제어부(630)는 앞서 도 2 내지 도 4에서 제안된 기능, 과정 및/또는 방법을 구현한다.
구체적으로, 제어부(630)의 콘텐츠 수신 처리부(631)는 콘텐츠 서버(10)와 콘텐츠 동기화(혹은 캐시 동기화)를 수행하는 기능부를 의미한다. 콘텐츠 수신 처리부(631)는 콘텐츠 서버(10)로부터 멀티캐스트 시작 메시지를 수신하면, 캐시 장치(30)와 연결된 스위칭 장치(20)의 멀티캐스트 그룹에 참여하기 위하여 참여 메시지를 전송하여 해당 스위칭 장치(20)의 멀티캐스트 그룹에 참여하고, 해당 콘텐츠를 콘텐츠 서버(10)로부터 수신할 수 있다. 또한, 콘텐츠 오류 판별부(633)에서 판별한 콘텐츠에서 오류가 발생된 데이터 블록을 특정하기 위한 정보(예를 들어, 해쉬값)를 생성하고, 해당 정보를 콘텐츠 재전송 요청 메시지를 통해 콘텐츠 서버(10)에 전송하여 콘텐츠 재전송을 요청할 수 있다. 또한, 콘텐츠 수신 처리부(631)는 콘텐츠 서버(10)로부터 재전송된 콘텐츠를 결합함으로써 콘텐츠를 완성할 수 있다.
콘텐츠 오류 판별부(633)는 콘텐츠 수신 처리부(631)에서 수신한 콘텐츠의 오류 여부를 판별하는 기능부를 의미한다. 콘텐츠 오류 판별부(633)는 콘텐츠를 수신하는 단위 즉, 데이터 블록 단위로 콘텐츠의 오류 발생 여부를 판별할 수 있다.
본 발명에 따른 실시예는 다양한 수단, 예를 들어, 하드웨어, 펌웨어(firmware), 소프트웨어 또는 그것들의 결합 등에 의해 구현될 수 있다. 하드웨어에 의한 구현의 경우, 본 발명의 일 실시예는 하나 또는 그 이상의 ASICs(application specific integrated circuits), DSPs(digital signal processors), DSPDs(digital signal processing devices), PLDs(programmable logic devices), FPGAs(field programmable gate arrays), 프로세서, 콘트롤러, 마이크로 콘트롤러, 마이크로 프로세서 등에 의해 구현될 수 있다.
또한, 펌웨어나 소프트웨어에 의한 구현의 경우, 본 발명의 일 실시예는 이상에서 설명된 기능 또는 동작들을 수행하는 모듈, 절차, 함수 등의 형태로 구현되어, 다양한 컴퓨터 수단을 통하여 판독 가능한 기록매체에 기록될 수 있다. 여기서, 기록매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 기록매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 예컨대 기록매체는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(Magnetic Media), CD-ROM(Compact Disk Read Only Memory), DVD(Digital Video Disk)와 같은 광 기록 매체(Optical Media), 플롭티컬 디스크(Floptical Disk)와 같은 자기-광 매체(Magneto-Optical Media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치를 포함한다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함할 수 있다. 이러한 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이, 본 명세서와 도면에는 본 발명의 바람직한 실시예에 대하여 개시하였으나, 여기에 개시된 실시예외에도 본 발명의 기술적 사상에 바탕을 둔 다른 변형 예들이 실시 가능하다는 것은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 자명한 것이다. 또한, 본 명세서와 도면에서 특정 용어들이 사용되었으나, 이는 단지 본 발명의 기술 내용을 쉽게 설명하고 발명의 이해를 돕기 위한 일반적인 의미에서 사용된 것이지, 본 발명의 범위를 한정하고자 하는 것은 아니다. 따라서, 상술한 상세한 설명은 모든 면에서 제한적으로 해석되어서는 아니 되고 예시적인 것으로 고려되어야 한다. 본 발명의 범위는 첨부된 청구항의 합리적 해석에 의해 선정되어야 하고, 본 발명의 등가적 범위 내에서의 모든 변경은 본 발명의 범위에 포함된다.
아울러, 본 발명에 따른 장치나 단말은 하나 이상의 프로세서로 하여금 앞서 설명한 기능들과 프로세스를 수행하도록 하는 명령에 의하여 구동될 수 있다. 예를 들어 그러한 명령으로는, 예컨대 JavaScript나 ECMAScript 명령 등의 스크립트 명령과 같은 해석되는 명령이나 실행 가능한 코드 혹은 컴퓨터로 판독 가능한 매체에 저장되는 기타의 명령이 포함될 수 있다. 나아가 본 발명에 따른 장치는 서버 팜(Server Farm)과 같이 네트워크에 걸쳐서 분산형으로 구현될 수 있으며, 혹은 단일의 컴퓨터 장치에서 구현될 수도 있다.
또한, 본 발명에 따른 장치에 탑재되고 본 발명에 따른 방법을 실행하는 컴퓨터 프로그램(프로그램, 소프트웨어, 소프트웨어 어플리케이션, 스크립트 혹은 코드로도 알려져 있음)은 컴파일 되거나 해석된 언어나 선험적 혹은 절차적 언어를 포함하는 프로그래밍 언어의 어떠한 형태로도 작성될 수 있으며, 독립형 프로그램이나 모듈, 컴포넌트, 서브루틴 혹은 컴퓨터 환경에서 사용하기에 적합한 다른 유닛을 포함하여 어떠한 형태로도 전개될 수 있다. 컴퓨터 프로그램은 파일 시스템의 파일에 반드시 대응하는 것은 아니다. 프로그램은 요청된 프로그램에 제공되는 단일 파일 내에, 혹은 다중의 상호 작용하는 파일(예컨대, 하나 이상의 모듈, 하위 프로그램 혹은 코드의 일부를 저장하는 파일) 내에, 혹은 다른 프로그램이나 데이터를 보유하는 파일의 일부(예컨대, 마크업 언어 문서 내에 저장되는 하나 이상의 스크립트) 내에 저장될 수 있다. 컴퓨터 프로그램은 하나의 사이트에 위치하거나 복수의 사이트에 걸쳐서 분산되어 통신 네트워크에 의해 상호 접속된 다중 컴퓨터나 하나의 컴퓨터 상에서 실행되도록 전개될 수 있다.
아울러, 본 발명에 따른 실시예를 설명하는데 있어서, 특정한 순서로 도면에서 동작들을 묘사하고 있지만, 이는 바람직한 결과를 얻기 위하여 도시된 그 특정한 순서나 순차적인 순서대로 그러한 동작들을 수행하여야 한다거나 모든 도시된 동작들이 수행되어야 하는 것으로 이해되어서는 안 된다. 특정한 경우, 멀티태스킹과 병렬 프로세싱이 유리할 수 있다. 또한, 상술한 실시형태의 다양한 시스템 컴포넌트의 분리는 그러한 분리를 모든 실시형태에서 요구하는 것으로 이해되어서는 안되며, 설명한 프로그램 컴포넌트와 시스템들은 일반적으로 단일의 소프트웨어 제품으로 함께 통합되거나 다중 소프트웨어 제품에 패키징될 수 있다는 점을 이해하여야 한다.
본 발명에 따른 멀티캐스트(multicast)를 이용한 CDN 콘텐츠 동기화 방안은 다양한 통신망을 이용한 컨텐츠 전송 네트워크 시스템에 적용하는 것이 가능하다.
10: 콘텐츠 서버 20: 스위칭 장치
30: 캐시 장치 40: 단말
50: 네트워크 510: 통신부
520: 저장부 530: 제어부
531: 콘텐츠 전송 처리부 533: 콘텐츠 관리부
610: 통신부 620: 저장부
630: 제어부 631: 콘텐츠 수신 처리부
633: 콘텐츠 오류 판별부

Claims (5)

  1. 컨텐츠 전송 네트워크(Content Delivery Network)에서 멀티캐스트(multicast)를 이용하여 콘텐츠 서버와 콘텐츠 동기화(Synchronization)를 지원하는 캐시(cache) 장치로서,
    콘텐츠 서버와 데이터 송수신을 위한 통신부; 및
    상기 통신부를 제어하도록 구성된 제어부를 포함하고,
    상기 제어부는,
    상기 콘텐츠 서버로부터 콘텐츠 개시 초기에 콘텐츠를 식별하기 위한 정보를 포함하는 멀티캐스트 시작 메시지를 수신하고,
    멀티캐스트 그룹 참여를 위한 참여 메시지를 상기 캐시 장치와 연결된 스위칭 장치 또는 상기 콘텐츠 서버로 전송하여 상기 멀티캐스트 그룹에 참여하고,
    상기 콘텐츠 서버로부터 상기 콘텐츠를 멀티캐스트 방식으로 수신하는 캐시 장치.
  2. 제1항에 있어서,
    상기 콘텐츠는 미리 정해진 데이터 블록 단위로 전송되는 캐시 장치.
  3. 제2항에 있어서,
    상기 콘텐츠의 데이터 블록에 오류가 발생되면, 상기 오류가 발생된 데이터 블록을 특정하기 위한 해쉬값을 포함하는 콘텐츠 재전송 요청 메시지를 상기 콘텐츠 서버로 전송하는 캐시 장치.
  4. 제3항에 있어서,
    상기 콘텐츠는 미리 정해진 크기의 청크(chunk) 단위로 분할하여 저장되고,
    상기 제어부는,
    상기 콘텐츠 서버로부터 상기 해쉬 값에 대한 상기 콘텐츠의 청크 단위를 수신하면, 상기 수신한 청크 단위를 기 수신된 콘텐츠와 결합하는 캐시 장치.
  5. 컨텐츠 전송 네트워크(Content Delivery Network)에서 멀티캐스트(multicast)를 이용하여 캐시 장치가 콘텐츠 서버와 콘텐츠 동기화(Synchronization)를 지원하는 방법으로서,
    상기 캐시 장치가 상기 콘텐츠 서버로부터 콘텐츠 개시 초기에 콘텐츠를 식별하기 위한 정보를 포함하는 멀티캐스트 시작 메시지를 수신하는 단계;
    상기 캐시 장치가 멀티캐스트 그룹 참여를 위한 참여 메시지를 상기 캐시 장치와 연결된 스위칭 장치 또는 상기 콘텐츠 서버로 전송하여 상기 멀티캐스트 그룹에 참여하는 단계;
    상기 캐시 장치가 상기 콘텐츠 서버로부터 상기 콘텐츠를 멀티캐스트 방식으로 수신하는 단계;
    를 포함하는 콘텐츠 동기화 방법.
KR1020200055803A 2020-05-11 2020-05-11 콘텐츠 동기화 방법 및 이를 위한 장치 KR102210410B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200055803A KR102210410B1 (ko) 2020-05-11 2020-05-11 콘텐츠 동기화 방법 및 이를 위한 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200055803A KR102210410B1 (ko) 2020-05-11 2020-05-11 콘텐츠 동기화 방법 및 이를 위한 장치

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020130119087A Division KR102111573B1 (ko) 2013-10-07 2013-10-07 콘텐츠 동기화 방법 및 이를 위한 장치

Publications (2)

Publication Number Publication Date
KR20200054926A KR20200054926A (ko) 2020-05-20
KR102210410B1 true KR102210410B1 (ko) 2021-01-29

Family

ID=70919911

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200055803A KR102210410B1 (ko) 2020-05-11 2020-05-11 콘텐츠 동기화 방법 및 이를 위한 장치

Country Status (1)

Country Link
KR (1) KR102210410B1 (ko)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100485974B1 (ko) * 2002-10-10 2005-05-03 엔에이치엔(주) 컨텐츠 제공 방법 및 시스템
JP2010541434A (ja) * 2007-10-02 2010-12-24 パナソニック株式会社 マルチキャストサービス/ブロードキャストサービスのセッション制御シグナリングの管理

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100711829B1 (ko) * 2005-03-25 2007-04-30 노키아 코포레이션 멀티캐스트 데이터 전송
KR101176199B1 (ko) 2010-02-10 2012-08-23 김학호 세정 기능을 갖는 냉온 정수기
KR101469310B1 (ko) * 2011-09-26 2014-12-09 주식회사 케이티 서비스 오버레이 네트워크에서 종단간 QoS 보장형 콘텐츠 전달 방법 및 그 시스템

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100485974B1 (ko) * 2002-10-10 2005-05-03 엔에이치엔(주) 컨텐츠 제공 방법 및 시스템
JP2010541434A (ja) * 2007-10-02 2010-12-24 パナソニック株式会社 マルチキャストサービス/ブロードキャストサービスのセッション制御シグナリングの管理

Also Published As

Publication number Publication date
KR20200054926A (ko) 2020-05-20

Similar Documents

Publication Publication Date Title
JP2013543679A (ja) マルチメディア放送/同報サービス計数方法及びシステム
WO2021098123A1 (en) Multicast and broadcast service continuity during mobility
JP2008118525A (ja) 中継装置、無線通信システム及びマルチキャスト中継方法
AU2020395266B2 (en) Methods and systems for multicast and broadcast service establishment in wireless communication networks
KR20220123436A (ko) 멀티캐스트 서비스 세션 작업 방법, 장치 및 통신 기기
US20230081286A1 (en) Methods and systems for multicast data forwarding during mobility procedures in wireless communication networks
CN102137431A (zh) 一种无线局域网组播传输方法、系统和设备
KR102210410B1 (ko) 콘텐츠 동기화 방법 및 이를 위한 장치
CN110753313A (zh) 一种数据同步方法和系统
US9473317B2 (en) Communication apparatus and communication method
KR20140009061A (ko) 유니캐스트 프로토콜을 이용한 멀티캐스트 전송
KR102111573B1 (ko) 콘텐츠 동기화 방법 및 이를 위한 장치
JP2004228885A (ja) 移動通信システム、移動端末及びマルチキャスト通信制御方法
CN111416760B (zh) 一种信息同步方法、终端及信息同步系统
EP3823323B1 (en) Data transmission method and related apparatus
WO2023065291A1 (en) Lossless multicast and broadcast data transmissions in handovers
WO2023065292A1 (en) Lossless multicast and broadcast data transmissions in handovers
JP5341821B2 (ja) マルチキャスト配信システム及び方法
WO2023060607A1 (zh) 业务接入方法、装置、设备及存储介质
WO2023029537A1 (zh) Ue间业务迁移方法、装置和存储介质
WO2016082067A1 (zh) 资源共享的方法和终端
WO2024051517A1 (zh) 一种通信方法及相关装置
JP4894412B2 (ja) マルチキャスト配信システムおよびマルチキャスト配信方法
KR20230037572A (ko) 통신의 방법, 디바이스 및 컴퓨터 저장 매체
CN110875830A (zh) 一种对讲机的配置方法及系统

Legal Events

Date Code Title Description
A107 Divisional application of patent
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant