KR102123414B1 - 컨텐츠 제공 방법, 이를 위한 노드 제어 서버 - Google Patents

컨텐츠 제공 방법, 이를 위한 노드 제어 서버 Download PDF

Info

Publication number
KR102123414B1
KR102123414B1 KR1020140144959A KR20140144959A KR102123414B1 KR 102123414 B1 KR102123414 B1 KR 102123414B1 KR 1020140144959 A KR1020140144959 A KR 1020140144959A KR 20140144959 A KR20140144959 A KR 20140144959A KR 102123414 B1 KR102123414 B1 KR 102123414B1
Authority
KR
South Korea
Prior art keywords
content
server
ccn
node
information
Prior art date
Application number
KR1020140144959A
Other languages
English (en)
Other versions
KR20160048390A (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 KR1020140144959A priority Critical patent/KR102123414B1/ko
Publication of KR20160048390A publication Critical patent/KR20160048390A/ko
Application granted granted Critical
Publication of KR102123414B1 publication Critical patent/KR102123414B1/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/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • H04N21/2381Adapting the multiplex stream to a specific network, e.g. an Internet Protocol [IP] network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • 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/226Characteristics of the server or Internal components of the server
    • H04N21/2265Server identification by a unique number or address, e.g. serial number
    • 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
    • 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/235Processing of additional data, e.g. scrambling of additional data or processing content descriptors
    • H04N21/2355Processing of additional data, e.g. scrambling of additional data or processing content descriptors involving reformatting operations of additional data, e.g. HTML pages
    • 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/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • H04N21/23605Creation or processing of packetized elementary streams [PES]

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

본 발명은 컨텐츠 제공 방법에 관한 것으로, 더욱 상세하게는 컨텐츠 중심 네트워크(CCN; Content Centric Networking) 기반 컨텐츠 제공 방법을 스트리밍 서비스에 적용함으로써, 보다 신속하게 스트리밍 서비스를 제공할 수 있는 컨텐츠 제공 방법, 이를 위한 노드 제어 서버에 관한 것이다.
이를 위한 본 발명의 일 실시 예에 따른 컨텐츠 제공 방법은 컨텐츠 중심 네트워크 기반 컨텐츠 전송이 가능한 다수의 CCN 노드와, 상기 CCN 노드 및 TCP/IP 기반 컨텐츠 전송이 가능한 컨텐츠 서버와 정보를 송수신하는 노드 제어 서버를 포함하는 컨텐츠 제공 시스템에 있어서, 상기 노드 제어 서버가 상기 컨텐츠 서버로부터 컨텐츠를 포함하는 컨텐츠 응답 메시지를 수신하는 단계, 상기 노드 제어 서버가 상기 컨텐츠 응답 메시지를 상기 CCN 노드로 전달하기 위해, 기 설정된 형식의 데이터 패킷으로 변환하는 단계 및 상기 노드 제어 서버가 상기 변환된 데이터 패킷을 상기 CCN 노드로 전달하는 단계를 포함하여 이뤄질 수 있다.

Description

컨텐츠 제공 방법, 이를 위한 노드 제어 서버{METHOD FOR PROVIDING OF CONTENTS, NODE CONTROL SERVER FOR THE SAME}
본 발명은 컨텐츠 제공 방법에 관한 것으로, 더욱 상세하게는 컨텐츠 중심 네트워크(CCN; Content Centric Networking) 기반 컨텐츠 제공 방법을 스트리밍 서비스에 적용함으로써, 보다 신속하게 스트리밍 서비스를 제공할 수 있는 컨텐츠 제공 방법, 이를 위한 노드 제어 서버에 관한 것이다.
이 부분에 기술된 내용은 단순히 본 실시 예에 대한 배경 정보를 제공할 뿐 종래기술을 구성하는 것은 아니다.
스트리밍(streaming)은 인터넷과 같은 네트워크를 통해 서버에서 클라이언트로 비디오 또는 오디오와 같은 컨텐츠를 전송하는 것을 의미한다. 전송되는 데이터가 마치 물이 흐르는 것처럼 처리된다고 해서 스트리밍이라고 한다. 서버는 비디오를 네트워크로 보낼 수 있도록 패킷으로 분리하며, 클라이언트는 그 패킷들을 다시 모아서 원래 형태로 복원한 후에 재생한다. 이때, 재생과 패킷 수신은 동시에 일어나며, 연관된 일련의 패킷들을 스트림(stream)이라고 한다.
최근에는 HTTP 라이브 스트리밍(HTTP Live Streaming, 이하 HLS라고 명명함) 방식이 주로 사용되고 있다. HLS 방식을 지원하는 서버는 컨텐츠를 청크 단위로 저장하고, 사용자의 단말이 사용자의 환경에 따라 적절하게 컨텐츠를 요청하는 방식이다. 예를 들어, HLS 방식을 지원하는 서버는 컨텐츠를 일반적으로 5초에서 15초 정도의 작은 길이를 가지는 청크 단위로 구분하여 저장하며, 재생 목록 파일을 단말로 제공하면, 단말은 자신의 상황에 따라 적절하게 컨텐츠를 요청하게 된다.
그러나, 현재까지의 스트리밍 서비스는 TCP 기반 통신을 지원함으로써, 초기 접속 지연이 발생되며, 주기적으로 TCP 세션을 맺고 끊는 절차의 반복으로 인한 비효율성과 세션 정보 유지를 위한 리소스 낭비가 발생된다는 문제점이 있다. 또한, 컨텐츠를 청크 단위로 구분하여 저장 시 고정된 크기로 저장된다는 문제점이 있다.
한국공개특허 제2011-0053178호, 2011년 5월 19일 공개 (명칭: 적응적인 스트리밍 방법 및 장치)
본 발명은 상기한 종래의 문제점을 해결하기 위해 제안된 것으로서, 특히 컨텐츠 중심 네트워크(CCN; Content Centric Networking) 기반 컨텐츠 전송 방법을 스트리밍 서비스에 적용함으로써, 보다 신속하게 스트리밍 서비스를 제공할 수 있는 컨텐츠 제공 방법, 이를 위한 노드 제어 서버를 제공하는 데 목적이 있다.
또한, 본 발명은 다수의 CCN 노드를 제어하는 노드 제어 서버가 컨텐츠 서버로부터 컨텐츠를 수신하여 CCN 노드로 제공 시 컨텐츠의 청크 크기를 가변하여 제공할 수 있는 컨텐츠 제공 방법, 이를 위한 노드 제어 서버를 제공하는 데 그 목적이 있다.
그러나, 이러한 본 발명의 목적은 상기의 목적으로 제한되지 않으며, 언급되지 않은 또 다른 목적들은 아래의 기재로부터 명확하게 이해될 수 있을 것이다.
상술한 바와 같은 목적을 달성하기 위한 본 발명의 실시 예에 따른 컨텐츠 제공 방법은 컨텐츠 중심 네트워크 기반 컨텐츠 전송이 가능한 다수의 CCN 노드와, 상기 CCN 노드 및 TCP/IP 기반 컨텐츠 전송이 가능한 컨텐츠 서버와 정보를 송수신하는 노드 제어 서버를 포함하는 컨텐츠 제공 시스템에 있어서, 상기 노드 제어 서버가 상기 컨텐츠 서버로부터 컨텐츠를 포함하는 컨텐츠 응답 메시지를 수신하는 단계; 상기 노드 제어 서버가 상기 컨텐츠 응답 메시지를 상기 CCN 노드로 전달하기 위해, 기 설정된 형식의 데이터 패킷으로 변환하는 단계; 및 상기 노드 제어 서버가 상기 변환된 데이터 패킷을 상기 CCN 노드로 전달하는 단계;를 포함하여 이뤄질 수 있다.
이때, 상기 수신하는 단계 이전에, 상기 노드 제어 서버가 단말이 요청한 컨텐츠에 대한 컨텐츠 이름을 포함하는 컨텐츠 요청 패킷을 상기 CCN 노드를 거쳐 수신하는 단계; 상기 노드 제어 서버가 상기 컨텐츠 요청 패킷을 해당하는 컨텐츠 서버로 전달하기 위해, 기 설정된 형식의 컨텐츠 요청 메시지로 변환하는 단계; 및 상기 노드 제어 서버가 상기 변환된 컨텐츠 요청 메시지를 해당하는 컨텐츠 서버로 전달하는 단계;를 더 포함하여 이뤄질 수 있다.
또한, 상기 CCN 노드를 거쳐 수신되는 상기 컨텐츠 요청 패킷은 출발지 주소 정보와 목적지 주소 정보를 포함하는 IP 정보, UDP(User Datagram Protocol) 정보, CCN 헤더 및 컨텐츠 이름에 대한 CCN 데이터를 포함하는 CCN 정보를 포함하여 구성될 수 있다.
이때, 상기 컨텐츠 요청 메시지로 변환하는 단계는 상기 노드 제어 서버가 상기 컨텐츠 이름에 대한 컨텐츠 서버를 확인하는 단계; 및 상기 노드 제어 서버가 상기 컨텐츠 요청 패킷의 목적지 주소 정보를 상기 컨텐츠 서버의 주소 정보로 변경하고, 상기 UDP 정보를 TCP 정보로 변경하며, 상기 CCN 정보를 컨텐츠 요청(HTTP REQUEST)에 정의된 형식에 따라 변환하여 바디(body) 정보를 구성하여 컨텐츠 요청 메시지로 변환하는 단계;를 포함하여 이뤄질 수 있다.
또한, 상기 변환하는 단계 또는 상기 전달하는 단계에서, 상기 노드 제어 서버는 상기 컨텐츠 응답 메시지 또는 상기 데이터 패킷의 청크 크기를 가변하여 조정한 후 상기 데이터 패킷으로 변환하거나, 상기 데이터 패킷을 상기 CCN 노드로 전달할 수 있다.
이때, 상기 노드 제어 서버는 사용자 링크의 전송 비트레이트(bit rate), 상기 컨텐츠에 대한 플레이(play) 단위, 상기 컨텐츠에 대한 장면(scene)의 변화 중 적어도 어느 하나를 이용하여 상기 청크 크기를 가변하여 조정할 수 있다.
또한, 상기 데이터 패킷으로 변환하는 단계는 상기 노드 제어 서버가 상기 컨텐츠 서버에 대한 주소 정보, 컨텐츠 식별자 및 청크 식별자로 구성되는 상기 컨텐츠 이름을 정의하는 단계; 및 상기 노드 제어 서버가 상기 컨텐츠 응답 메시지의 바디(body) 정보를 상기 정의된 컨텐츠 이름을 포함하는 CCN 정보로 변경하고, 출발지 주소 정보와 목적지 주소 정보를 포함하는 IP 정보, UDP 정보를 포함하는 데이터 패킷으로 변환하는 단계;를 포함하여 이뤄질 수 있다.
아울러, 상기 전달하는 단계 이전에, 상기 노드 제어 서버가 상기 컨텐츠 서버로부터 수신된 컨텐츠를 저장하는 단계;를 더 포함하여 이뤄질 수 있다.
추가로 본 발명은 상술한 바와 같은 본 발명의 실시 예에 따른 컨텐츠 제공 방법을 실행하는 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체를 제공할 수 있다.
상술한 바와 같은 목적을 달성하기 위한 본 발명의 실시 예에 따른 컨텐츠 중심 네트워크 기반 컨텐츠 전송이 가능한 다수의 CCN 노드와, 상기 CCN 노드 및 TCP/IP 기반 컨텐츠 전송이 가능한 컨텐츠 서버와 정보를 송수신하는 노드 제어 서버를 포함하는 컨텐츠 제공 시스템에 있어서, 상기 노드 제어 서버는 상기 CCN 노드 및 상기 컨텐츠 서버와 정보를 송수신하는 서버 통신부; 및 상기 서버 통신부를 통해 어느 하나의 CCN 노드로부터 컨텐츠 요청 패킷이 전달되면, 상기 컨텐츠 요청 패킷을 해당하는 컨텐츠 서버로 전달하기 위해, 기 설정된 형식의 컨텐츠 요청 메시지로 변환하고, 상기 변환된 컨텐츠 요청 메시지를 상기 서버 통신부를 통해 해당 컨텐츠 서버로 전송한 이후에 상기 컨텐츠 서버로부터 컨텐츠 응답 메시지가 수신되면, 상기 컨텐츠 응답 메시지를 상기 컨텐츠 요청 패킷의 응답인 데이터 패킷 형태로 변환하고, 변환된 상기 데이터 패킷을 상기 서버 통신부를 통해 상기 CCN 노드로 전달되도록 제어하는 서버 제어부;를 포함하여 구성될 수 있다.
본 발명의 컨텐츠 제공 방법, 이를 위한 노드 제어 서버에 의하면, 컨텐츠 중심 네트워크(CCN; Content Centric Networking) 기반 컨텐츠 전송 방법을 스트리밍 서비스에 적용함으로써, 복잡한 세션 처리 과정 없이 보다 신속하세 스트리밍 서비스를 제공할 수 있게 된다.
또한, 본 발명에 의하면, 다수의 CCN 노드를 제어하는 노드 제어 서버가 원본 컨텐츠를 보유하고 있는 컨텐츠 서버로부터 컨텐츠를 수신하여 CCN 노드로 제공 시 컨텐츠의 청크 크기를 가변하여 제공함으로써, 망 환경 등 다양한 요인을 고려하여 유동적인 스트리밍 서비스를 제공할 수 있다.
아울러, 상술한 효과 이외의 다양한 효과들이 후술될 본 발명의 실시 예에 따른 상세한 설명에서 직접적 또는 암시적으로 개시될 수 있다.
도 1은 본 발명의 실시 예에 따른 컨텐츠 제공 시스템을 설명하기 위한 시스템 예시도이다.
도 2는 본 발명의 실시 예에 따른 컨테츠 중심 네트워크에서의 컨텐츠 요청 패킷을 처리하는 과정을 설명하기 위한 예시도이다.
도 3은 본 발명의 실시 예에 따라 통신망을 경유하여 송수신되는 정보를 설명하기 위한 예시도이다.
도 3은 본 발명의 실시 예에 따라 통신망을 경유하여 송수신되는 정보를 설명하기 위한 예시도이다.
도 4는 본 발명의 실시 예에 따른 노드 제어 서버의 주요 구성을 도시한 블록도이다.
도 5는 본 발명의 실시 예에 따른 컨텐츠 제공 방법을 개략적으로 설명하기 위한 흐름도이다.
도 6은 본 발명의 실시 예에 따른 컨텐츠 제공 방법을 보다 구체적으로 설명한 일 데이터 흐름도이다.
도 7은 본 발명의 실시 예에 따른 컨텐츠 제공 방법을 보다 구체적으로 설명한 다른 데이터 흐름도이다.
이하 첨부된 도면을 참조하여 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있는 바람직한 실시예를 상세히 설명한다. 다만, 본 발명의 바람직한 실시예에 대한 동작 원리를 상세하게 설명함에 있어 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략한다. 이는 불필요한 설명을 생략함으로써 본 발명의 핵심을 흐리지 않고 더욱 명확히 전달하기 위함이다. 또한 본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시 예를 가질 수 있는 바, 특정 실시 예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 하나, 이는 본 발명을 특정한 실시 형태로 한정하려는 것은 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
또한, 제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성요소들을 설명하기 위해 사용하는 것으로, 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용될 뿐, 상기 구성요소들을 한정하기 위해 사용되지 않는다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제2 구성요소는 제1 구성요소로 명명될 수 있고, 유사하게 제1 구성요소도 제2 구성요소로 명명될 수 있다.
더하여, 어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급할 경우, 이는 논리적 또는 물리적으로 연결되거나, 접속될 수 있음을 의미한다. 다시 말해, 구성요소가 다른 구성요소에 직접적으로 연결되거나 접속되어 있을 수 있지만, 중간에 다른 구성요소가 존재할 수도 있으며, 간접적으로 연결되거나 접속될 수도 있다고 이해되어야 할 것이다.
또한, 본 명세서에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 또한, 본 명세서에서 기술되는 "포함 한다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
이제 본 발명의 실시 예에 따른 컨텐츠 제공 방법, 이를 위한 노드 제어 서버에 대하여 도면을 참조하여 상세하게 설명하도록 한다. 이때, 도면 전체에 걸쳐 유사한 기능 및 작용을 하는 부분에 대해서는 동일한 도면 부호를 사용하며, 이에 대한 중복되는 설명은 생략하기로 한다.
설명에 앞서, 본 발명의 명세서에서 기술되는 단말은 다양한 형태로 구현될 수 있다. 예를 들어, 스마트 폰(smart phone), 타블렛 PC(Tablet PC), PDA(Personal Digital Assistants), PMP(Portable Multimedia Player), MP3 Player 등의 이동 단말기는 물론, 스마트 TV(Smart TV), 데스크탑 컴퓨터 등과 같은 고정 단말기가 사용될 수 있으며, 네트워크를 통해 컨텐츠 제공 장치로 컨텐츠를 요청하고, 이를 수신하여 이용할 수 있는 단말이라면, 그 어떠한 단말도 본 발명의 단말로 적용 가능하다.
또한, 본 발명의 명세서에서 기술되는 컨텐츠 서버는 단말로 다양한 종류의 컨텐츠, 예컨대, 사진, 비디오, 오디오, 어플리케이션 등과 같은 컨텐츠를 제공하기 위한 것으로, 컨텐츠 제공자(CP; Contents Provider)로부터 적어도 하나의 컨텐츠를 제공받아 관리하고, 단말의 요청에 따라 해당되는 컨텐츠를 전송할 수 있다. 이러한, 컨텐츠 서버는 웹 서버(web server) 또는 웹 어플리케이션 서버(WAS; Web Application Server) 등을 예시할 수 있다.
또한, 상술한 컨텐츠는 네트워크 상에서 특정 주소(예컨대, URL)로 표현될 수 있는 것이라면 그 어떠한 것도 본 발명의 컨텐츠에 포함될 수 있다. 예컨대, 웹 사이트 전체도 하나의 URL로 표현되는 경우, 하나의 컨텐츠로써, 본 발명의 컨텐츠 제공 시스템을 통해 배포될 수 있다.
이하, 본 발명의 실시 예에 따른 컨텐츠 제공 방법을 지원하는 컨텐츠 제공 시스템에 대해 설명하도록 한다.
도 1은 본 발명의 실시 예에 따른 컨텐츠 제공 시스템을 설명하기 위한 시스템 예시도이다.
도 1을 참조하면, 본 발명의 실시 예에 따른 컨텐츠 제공 시스템(1000)은 단말(100), 다수의 CCN 노드(200) 및 노드 제어 서버(300)를 포함하는 통신망(500), 그리고 컨텐츠 서버(400)를 포함하여 구성될 수 있다.
각 구성 요소에 대해 개략적으로 설명하면, 먼저 단말(100)은 사용자의 조작에 따라 각종 데이터를 송수신할 수 있는 사용자의 장치를 의미한다. 특히, 본 발명의 실시 예에 따른 단말(100)은 컨텐츠 중심 네트워크(CCN; Content Centric Networking) 기반 컨텐츠 제공 과정을 처리할 수 있다. 예컨대, 단말(100)은 CCN 노드(200)로 관련 패킷이 전달되도록 CCN 노드(200)에서 인식할 수 있는 컨텐츠 요청 패킷을 생성하여 전달할 수 있으며, CCN 노드(200)를 거쳐 제공되는 데이터 패킷을 수신하는 과정을 수행할 수 있다.
컨텐츠 서버(400)는 단말(100)로 다양한 컨텐츠, 예컨대, 사진, 비디오, 오디오, 어플리케이션 등과 같은 다양한 컨텐츠를 제공하기 위한 것으로, 컨텐츠 제공자(CP; Contents Provider)로부터 적어도 하나의 컨텐츠를 제공받아 관리하며, 통신망(500)을 통해서 다수의 단말(100)로 컨텐츠를 제공할 수 있다.
본 발명의 실시 예에 따른 컨텐츠 제공 시스템(1000)은 컨텐츠 중심 네트워크를 스트리밍 서비스에 접목하는 것에 그 특징이 있다. 이를 위해서는 컨텐츠 중심 네트워크 기반 컨텐츠 요청 및 이에 대한 응답으로 컨텐츠를 제공할 수 있는 CCN 노드(200)가 통신망(500) 상에 분산 배치될 수 있다.
CCN 노드(200)를 통한 컨텐츠 전송은 CCN 패킷을 통해 이뤄지게 된다. CCN 패킷은 컨텐츠의 이름을 패킷의 주소로 이용하여 컨텐츠를 송수신하게 되는데, 이러한 CCN 패킷은 컨텐츠를 요청하는 컨텐츠 요청 패킷(Interest Packet)과 이에 대한 응답 패킷은 데이터 패킷(Data Packet)을 포함하여 구성된다.
이때, 데이터 패킷은 컨텐츠 요청 패킷이 전달된 경로를 역순으로 전송되므로 별도의 라우팅 과정이 불필요하나, 컨텐츠 요청 패킷은 어떤 CCN 노드(200)들을 거쳐 전송될 것인지 라우팅 정보를 저장하고 관리하는 과정이 필요하다. 이를 위해, CCN 노드(200)들은 FIB(Forwarding Information Base)를 저장하고 있어야 한다.
CCN 노드(200) 간의 컨텐츠 제공 방법에 대해 도 2를 참조하여 개략적으로 설명하도록 한다.
도 2는 본 발명의 실시 예에 따른 컨테츠 중심 네트워크에서의 컨텐츠 요청 패킷을 처리하는 과정을 설명하기 위한 예시도이다.
컨텐츠 중심 네트워크에서 컨텐츠의 이름은 컨텐츠가 저장된 노드를 찾아가기 위한 나침반 역할과 해당 컨텐츠를 다른 컨텐츠와 구분해 주는 역할을 할 수 있다. 그러므로, 각 컨텐츠는 고유한(unique) 이름을 사용하며, 두 컨텐츠의 이름이 서로 다르면, 같은 내용의 컨텐츠도 다른 컨텐츠로 취급할 수 있다. 예를 들어, 같은 내용으로 이루어진 두 파일이 각각 서로 다른 이름으로 존재할 경우, 두 파일은 서로 다른 컨텐츠로 처리될 수 있다.
도 2에서, 어느 하나의 CCN 노드(200)가 페이스 0(101)으로부터 예를 들어, '/ABC.com/SK/abc.avi/v3/s3/'에 해당하는 컨텐츠 요청 패킷을 수신하게 되면, 상기 컨텐츠 요청 패킷의 컨텐츠의 계층적 이름을 참조하여 해당 컨텐츠가 자신의 컨텐츠 스토어(Content Store)(110)에 있는 지 확인할 수 있다. 여기서, 컨텐츠 스토어(110)는 컨텐츠 캐시(Contents Cache)라고 불릴 수 있다. 확인 결과, 컨텐츠 스토어(110) 내에 해당 컨텐츠가 저장되어 있으면, CCN 노드(200)는 해당 컨텐츠를 컨텐츠 요청 패킷이 수신된 페이스 0(101)로 반환한다. 이때, 페이스(face)는 인터페이스(interface)로도 표현될 수 있다.
해당 컨텐츠가 컨텐츠 스토어(110)에 저장되어 있지 않으면, CCN 노드(200)는 펜딩 인터리스트 테이블(Pending Interest Table; PIT)(130) 내에 동일한 컨텐츠 이름(여기서는 '/ABC.com/SK/abc.avi/v3/s2')으로 저장된 엔트리 (entry)가 있는지 여부를 확인할 수 있다. CCN 노드(200)는 동일한 컨텐츠 이름으로 저장된 엔트리가 있으면, 펜딩 인터리스트 테이블(130) 내의 해당 엔트리에 컨텐츠 요청 패킷이 들어온 페이스(여기서는 페이스 0(101))에 대한 정보를 추가할 수 있다.
반면, 펜딩 인터리스트 테이블(130) 내에 동일 컨텐츠 이름으로 등록된 엔트리가 없다면, CCN 노드(200)는 포워딩 정보 베이스(Forwarding Information Base; FIB)(150)에서 컨텐츠 이름에 기반한 검색(name lookup)을 수행하여 해당 엔트리(entry)를 찾을 수 있다. 이때, CCN 노드(200)는 최장 프리픽스 매칭(longest prefix matching)에 따라 검색을 수행할 수 있다.
CCN 노드(200)는 포워딩 정보 베이스(FIB)(150)에 등록되어 있는 정보에 기초하여 컨텐츠 요청 패킷을 전달할 페이스(예를 들어, 페이스 1(105))를 결정하고, 해당 페이스(페이스 1(105))로 컨텐츠 요청 패킷을 전송할 수 있다. 이 과정에서 CCN 노드(200)는 컨텐츠 요청 패킷이 전달되어 온 페이스(페이스 0(101))에 대한 정보('0')를 인터리스트 테이블(PIT)(130)에 등록할 수 있다. 이는 향후 컨텐츠 요청 패킷에 대응되는, 컨텐츠를 포함하는 컨텐츠 응답 패킷인 데이터 패킷을 단말(100)로 전달할 때, 해당 컨텐츠를 요청한 노드로 데이터 패킷을 라우팅하기 위함이다. 여기서, 포워딩 정보 베이스(150)에 기초하여 컨텐츠 요청 패킷을 전달할 페이스를 선택(결정)할 때, 컨텐츠 요청 패킷이 수신된 페이스(여기서는 페이스 0(101))는 선택 대상에서 제외될 수 있다.
다시 도 1을 참조하면, 다수의 CCN 노드(200)는 전술한 바와 같이 FIB를 참조하여 컨텐츠 요청 패킷을 전달하고자 하는 다른 CCN 노드(200)를 결정하고, PIT를 이용하여 데이터 패킷에 대한 라우팅 과정 없이 단말(100)로 데이터 패킷을 전달할 수 있다.
그런데, 모든 CCN 노드(200)에 단말(100)이 요청한 컨텐츠가 없을 경우, 마지막 CCN 노드, 즉, 노드 제어 서버(300)와 물리적 또는 논리적으로 연결되는 에지 CCN 노드는 컨텐츠 요청 패킷을 노드 제어 서버(300)로 전달하여, 노드 제어 서버(300)에서 상기 컨텐츠 요청 패킷이 처리되도록 한다.
노드 제어 서버(300)는 코어망(520) 및 인터넷망(530) 사이에 위치하며, 다수의 CCN 노드(200)와 컨텐츠 서버(400) 간의 연동을 지원하는 역할을 수행한다. 여기서, 노드 제어 서버(300)는 다수의 CCN 노드(200) 중 최상위 CCN 노드로써 동작할 수 있다. 즉, 통신망(500) 상에 분산 배치된 다수의 CCN 노드(200) 중 어느 하나의 CCN 노드, 즉 전술한 자신과 물리적 또는 논리적으로 연결되는 에지 CCN 노드로부터 단말(100)이 전송한 컨텐츠 요청 패킷을 수신할 수 있다. 이를 수신한 노드 제어 서버(300)는 먼저, 컨텐츠 요청 패킷에 해당하는 컨텐츠를 자신이 보유하고 있는 지 확인할 수 있다. 확인 결과, 자신 또한 해당 컨텐츠를 보유하고 있지 않을 경우, 노드 제어 서버(300)는 컨텐츠 서버(400)로 컨텐츠 요청 패킷을 전달하여 원본 컨텐츠를 보유하고 있는 컨텐츠 서버(400)로부터 컨텐츠를 가져오는 과정을 지원할 수 있다.
그리고, 컨텐츠 서버(400)로부터 컨텐츠가 수신되면, 수신된 컨텐츠를 CCN 노드(200)로 전달하여, 컨텐츠 요청 패킷이 전달된 경로를 역행하여 단말(100)로 전달되는 과정을 지원할 수 있다.
특히, 본 발명의 실시 예에 따른 노드 제어 서버(300)는 상술한 과정을 수행하기 위해, CCN 노드(200)로부터 전달된 컨텐츠 요청 패킷을 컨텐츠 서버(400)가 인식할 수 있는 메시지 형태로 변환하고, 컨텐츠 서버(400)로부터 전달되는 컨텐츠 응답 메시지를 CCN 노드(200)가 인식할 수 있는 CCN 패킷 형태로 변환하는 과정을 수행할 수 있다.
이에 대해 도 3을 참조하여 설명하도록 한다.
도 3은 본 발명의 실시 예에 따라 통신망을 경유하여 송수신되는 정보를 설명하기 위한 예시도이다.
설명의 앞서, RU(511)와 DU(512)는 접속망(510)을 구성하는 요소로, 기지국에 일체로 구현되어 있던 디지털 신호 처리부와 무선 신호 처리부를 각각 디지털 유니트(DU; Digital Unit)과, 무선 유니트(RU; Radio Unit)으로 구현하고, 다수의 영역에 각각 다수의 RU(511)를 설치하고, 다수의 RU(511)를 집중화된 DU(512)와 연결하여 구성한 것이다. 그러나, 접속망(510)은 상기 구성에 한정되는 것은 아니다.
아울러, DU(512)와 RU(511)는 동일 장소에 일체로 구현될 수 있으나, 전술한 바와 같이, 서로 분리되어 구현될 수도 있다. 이때, DU(512)는 통상적으로 국사에 집중하여 운용되며, RU(511)는 이로부터 멀리 떨어진 서비스 대상 지역에 설치 되고, DU(512)와 RU(511)는 물리적으로 광 링크나 UTP(Unshielded Twisted Pair) 등과 같은 유선으로 서로 연결될 수 있으며, DU(512)와 RU(511) 사이에는 일반적으로 복수의 FA(Frequency Assignment) 및 섹터 신호가 먹싱(muxing)될 수 있다. 다수의 DU가 집중화된 형태로 구현되는 DU(512)는 서비스 대상 지역을 통신 커버리지 단위로 분할한 다수의 셀 각각에 설치되어 해당 셀의 통신 커버리지에 위치한 단말(100)과의 무선 접속 처리 과정을 수행하는 복수의 RU(511)와 연결되며, 해당 RU(511)를 통해 무선 송수신되는 단말(100)로부터 수신한 신호 또는 단말(100)로 송신할 신호의 디지털 처리를 수행하게 된다.
아울러, 집중화된 DU(512)에 연결되는 복수의 RU(511)는 일정 셀(cell) 내에서의 무선 신호를 처리한다. 예를 들어, 주파수 상향 변환, 주파수 하향 변환 등의 처리 과정을 수행할 수 있다. 아울러, 각각의 RU(511)가 커버하는 셀 커버리지는 다시 복수의 셀 영역으로 구분될 수 있으며, 각각의 셀 영역은 서로 구분 가능한 셀 정보(Cell ID)를 포함할 수 있다.
이러한 접속망(510)의 구조에서, 단말(100)은 특정 컨텐츠에 대한 컨텐츠 요청 패킷을 RU(511)로 전달한다. 여기서, 본 발명의 실시 예에 따른 단말(100)은 사전에 지정된 형식의 컨텐츠 요청 패킷을 전송하고, 이에 대한 응답 패킷인 데이터 패킷을 수신하도록 설정된 상태이다. 여기서, 컨텐츠 요청 패킷은 컨텐츠에 대한 이름을 포함하는 CCN 인터레스트 패킷을 의미한다.
특히, 본 발명의 실시 예에 따른 단말(100)이 RU(511)로 전달하는 컨텐츠 요청 패킷은 도면의 ①이 지시하는 바와 같이, 출발지 주소 정보와 목적지 주소 정보를 포함하는 IP 필드, 통신 프로토콜의 종류에 대한 정보, CCN 정보를 포함하여 구성될 수 있다. 여기서, CCN 정보는 컨텐츠에 대한 컨텐츠 이름 정보를 포함하는 CCN 데이터와, 이와 관련된 정보를 포함하는 CCN 헤더로 구성될 수 있다. 특히 본 발명의 실시 예에 따른 CCN 노드(200)는 UDP 프로토콜 기반으로 통신을 수행하는 것이 특징이 있다. UDP 프로토콜 기반으로 통신을 수행함으로써, TCP 프로토콜 기반으로 통신을 수행하는 것에 비해 세션 처리 절차가 간소화되어 보다 신속한 정보의 송수신이 가능하게 된다.
단말(100)이 RU(511)로 전달한 컨텐츠 요청 패킷은 ②, ③이 지시하는 바와 같이 RU(511)를 거쳐 DU(512)로 전달된다. 이때, RU(511)를 거치게 되면, 상기 컨텐츠 요청 패킷은 터널링되어 전송될 수 있다. 예컨대, GTP(GPRS Tunneling Protocol) 터널링, GRE 터널링 등 공지된 구성을 이용하여 터널링되어 전송될 수 있으며, 터널링 과정은 공지된 구성을 이용하므로, 구체적인 설명은 생략하도록 한다.
RU(511)를 거쳐 DU(512)로 컨텐츠 요청 패킷이 전달되면, DU(512)는 해당 패킷이 CCN 노드(200)에서 처리가 가능한 패킷임을 인지하고, CCN 노드(200)로 전달할 수 있다. 여기서, DU(512)는 물리적 또는 논리적으로 연결된 에지 CCN 노드로 컨텐츠 요청 패킷을 전달한다.
다수의 CCN 노드(200)는 전술한 바와 같이, 컨텐츠 요청 패킷에 해당하는 컨텐츠를 자신이 보유하고 있는 지 확인하고, 보유하고 있을 경우, 상기 컨텐츠를 포함하는 데이터 패킷을 상기 컨텐츠 요청 패킷이 전달된 경로를 역행하여 단말(100)로 제공할 수 있다. 반면, 모든 CCN 노드(200)가 해당 컨텐츠를 보유하고 있지 않을 경우, 다수의 CCN 노드(200) 중 노드 제어 서버(300)와 물리적 또는 논리적으로 연결되는 에지 CCN 노드는 ④가 지시하는 바와 같이, 노드 제어 서버(300)로 해당 컨텐츠 요청 패킷을 전달한다. 이때, CCN 노드(200)는 ①의 경로를 통해 전송되는 컨텐츠 요청 패킷과 동일한 형태의 컨텐츠 요청 패킷을 노드 제어 서버(300)로 전달할 수 있다.
이를 수신한 노드 제어 서버(300)는 자신 또한 CCN 노드로 동작할 수 있으므로, 먼저 해당 컨텐츠를 자신이 보유하고 있는 지 확인하고, 자신이 보유하고 있을 경우 컨텐츠 요청 패킷이 전달된 경로를 역행하여 상기 컨텐츠를 포함하는 데이터 패킷을 상기 단말(100)로 전달할 수 있다. 반면, 자신 또한 해당 컨텐츠를 보유하고 있지 않을 경우, 노드 제어 서버(300)는 상기 컨텐츠 요청 패킷에서 해당하는 컨텐츠 서버를 확인하고, 확인된 컨텐츠 서버(400)로 상기 컨텐츠 요청 패킷을 전달하게 된다. 그런데 이때, 노드 제어 서버(300)와 컨텐츠 서버(400)는 일반적인 TCP/IP 패킷을 통해 통신을 수행하므로, CCN 패킷인 상기 컨텐츠 요청 패킷을 컨텐츠 서버(400)로 전달할 수 없다. 따라서, 노드 제어 서버(300)는 ⑤가 지시하는 바와 같이 상기 컨텐츠 요청 패킷을 컨텐츠 서버(400)로 전달되도록 컨텐츠 요청 메시지로 변환하는 과정을 수행하게 된다.
즉, 노드 제어 서버(300)는 IP 정보에 포함된 목적지 주소 정보를 컨텐츠 서버(400)에 대한 주소 정보로 변경하고, UDP 정보를 TCP 정보로 변경하며, CCN 형식의 CCN 정보는 컨텐츠 요청 메시지(HTTP REQUEST MESSAGE)를 포함하는 바디(BODY) 정보로 변경하여 컨텐츠 요청 메시지로 변환하는 과정을 수행하고, 변환된 컨텐츠 요청 메시지를 컨텐츠 서버(400)로 전달하게 된다.
또한, 노드 제어 서버(300)는 컨텐츠 서버(400)로부터 상기 컨텐츠 요청 메시지에 대한 응답으로 컨텐츠 응답 메시지가 수신되면, 수신되는 컨텐츠 응답 메시지는 TCP/IP 패킷이므로, 마찬가지로, CCN 노드(200)에서 처리 가능하도록 CCN 패킷으로 변환하는 과정을 수행하게 된다. 이때, 변환되는 CCN 패킷은 상기 컨텐츠 요청 패킷에 대한 응답 패킷인 데이터 패킷 형태을 의미한다.
노드 제어 서버(300)는 상기 변환된 데이터 패킷을 CCN 노드(200)로 전달하게 되면, CCN 노드(200)는 컨텐츠 요청 패킷이 전달된 경로를 역행하여 단말(100)로 해당 데이터 패킷을 전달할 수 있게 된다.
본 발명의 실시 예에 따른 노드 제어 서버(300)는 상술한 바와 같이 CCN 패킷을 처리하는 CCN 노드(200)와 TCP/IP 패킷을 처리하는 컨텐츠 서버(400) 간의 정보의 전달 및 수신 과정을 제어하게 된다. 아울러, 본 발명의 실시 예에 따른 노드 제어 서버(300)는 컨텐츠 서버(400)로부터 수신된 컨텐츠 응답 메시지를 CCN 노드(200)가 인지할 수 있는 데이터 패킷으로 변환하여 상기 CCN 노드(200)로 전달 시 청크 크기를 가변적으로 조정하여 전송할 수도 있다.
보다 구체적인 노드 제어 서버(300)의 주요 구성 및 동작 방법에 대해서는 후술하도록 하며, 다시 도 1을 참조하여, 본 발명의 다수의 CCN 노드(200)가 주요 지점에 분산 배치되어 있는 통신망(500)는 단일의 통신망 형태보다는 다양한 종류, 예컨대 인트라넷망, 이동통신망, 위성 통신망 등 다양한 종류의 유무선 통신 기술을 이용하여 구현된 통신망이 혼합된 형태일 수 있다.
여기서, 통신망(500)는 다수의 접속망(510) 및 코어망(520)을 포함하는 모바일 망과, 연결된 외부망, 예컨대 인터넷망(530)을 포함하여 구성될 수 있다. 여기서, 모바일 망을 구성하는 접속망(510)은 단말(100)과 유무선 통신을 수행하는 접속망으로서, 예를 들어, BS(Base Station), BTS(Base Transceiver Station), NodeB, eNodeB 등과 같은 다수의 기지국과, BSC(Base Station Controller), RNC(Radio Network Controller)와 같은 기지국 제어기로 구현될 수 있다. 또한, 전술한 바와 같이, 상기 기지국에 일체로 구현되어 있던 디지털 신호 처리부와 무선 신호 처리부를 각각 디지털 유니트(Digital Unit, 이하 DU라 함과 무선 유니트(Radio Unit, 이하 RU라 함)으로 구분하여, 다수의 영역에 각각 다수의 RU(미도시)를 설치하고, 다수의 RU(미도시)를 집중화된 DU(미도시)와 연결하여 구성할 수도 있다.
또한, 접속망(510)과 함께 모바일 망을 구성하는 코어망(520)은 접속망(510)과 외부 망, 예컨대, 인터넷망(530)을 연결하는 역할을 수행한다.
이러한 코어망(520)은 앞서 설명한 바와 같이, 접속망(510) 간의 이동성 제어 및 스위칭 등의 이동통신 서비스를 위한 주요 기능을 수행하는 네트워크 시스템으로서, 서킷 교환(circuit switching) 또는 패킷 교환(packet switching)을 수행하며, 모바일 망 내에서의 패킷 흐름을 관리 및 제어한다. 또한, 코어망(520)은 주파수간 이동성을 관리하고, 접속망(510) 및 코어망(520) 내의 트래픽 및 다른 네트워크, 예컨대 인터넷망(530)과의 연동을 위한 역할을 수행할 수도 있다. 이러한 코어망(520)은 SGW(Serving GateWay), PGW(PDN GateWay), MSC(Mobile Switching Center), HLR(Home Location Register), MME(Mobile Mobility Entity)와 HSS(Home Subscriber Server) 등을 더 포함하여 구성될 수도 있다.
또한, 인터넷망(530)은 TCP/IP 프로토콜에 따라서 정보가 교환되는 통상의 공개된 통신망, 즉 공용망을 의미하는 것으로, 컨텐츠 서버(400)와 연결되어, 컨텐츠 서버(400)로부터 제공되는 컨텐츠를 코어망(520) 및 접속망(510)을 거쳐, 단말(100)로 제공할 수 있다.
아울러, 도 1에서는 본 발명의 CCN 노드(200)가 접속망(510) 인근에 배치되는 것으로 도시하였으나, CCN 노드(200)의 위치가 이에 한정되는 것은 아니다.
이상으로 본 발명의 통신망(500) 구조에 대해 간략히 설명하였으며, 이러한 통신망(500)는 CCN 노드(200)와 결합되어 하드웨어, 소프트웨어 등의 컴퓨팅 자원을 저장하고, 클라이언트가 필요로 하는 컴퓨팅 자원을 해당 단말기로 제공할 수 있는 클라우드 컴퓨팅망을 포함할 수 있다. 여기서, 클라우드 컴퓨팅이란 정보가 인터넷 상의 서버에 영구적으로 저장되고, 데스크톱, 태블릿 컴퓨터, 노트북, 넷북, 스마트폰 등의 클라이언트 단말기에는 일시적으로 보관되는 컴퓨터 환경을 의미하며, 클라우드 컴퓨팅은 이용자의 모든 정보를 인터넷 상의 서버에 저장하고, 이 정보를 각종 IT 기기를 통하여 언제 어디서든 이용할 수 있도록 하는 컴퓨터 환경 접속망을 의미한다. 이러한, 통신망(500)는 LAN(Local Area Network), WAN(Wide Area Network) 등의 폐쇄형 네트워크, 인터넷(Internet)과 같은 개방형 네트워크뿐만 아니라, CDMA(Code Division Multiple Access), WCDMA(Wideband Code Division Multiple Access), GSM(Global System for Mobile Communications), 최근 주목 받고 있는 LTE(Long Term Evolution), EPC(Evolved Packet Core) 등의 네트워크와 향후 구현될 차세대 네트워크 및 클라우드 컴퓨팅 네트워크를 모두 포함하는 개념이다.
이하, 본 발명의 실시 예에 따른 노드 제어 서버(300)의 주요 구성 및 동작 방법에 대해 설명하도록 한다.
도 4는 본 발명의 실시 예에 따른 노드 제어 서버의 주요 구성을 도시한 블록도이다.
도 1 및 도 4를 참조하면, 본 발명의 실시 예에 따른 노드 제어 서버(300)는 서버 통신부(310), 서버 제어부(320) 및 서버 저장부(330)를 포함하여 구성될 수 있다.
각 구성 요소에 대해 보다 구체적으로 설명하면, 서버 통신부(310)는 CCN 노드(200)와 정보를 송수신하며, 인터넷망(530)을 통해 연결된 컨텐츠 서버(400)와 정보를 송수신하는 역할을 수행한다. 이때, 서버 통신부(310)는 CCN 노드(200)와는 CCN 패킷을 송수신하게 되며, 컨텐츠 서버(400)와는 TCP/IP 패킷을 송수신할 수 있게 된다. 이러한 서버 통신부(310)는 도면에는 도시하지 않았으나 CCN 패킷 및 TCP/IP 패킷 처리를 위한 통신 모듈을 각각 구비할 수 있다.
서버 제어부(320)는 본 발명의 실시 예에 따른 노드 제어 서버(300)의 전반적인 동작을 제어하는 것으로서, 먼저 서버 제어부(320)는 서버 통신부(310)를 통해 CCN 패킷인 컨텐츠 요청 패킷을 수신할 수 있다. 이를 수신한 서버 제어부(320)는 먼저, 상기 컨텐츠 요청 패킷에 해당하는 컨텐츠가 서버 저장부(330)에 저장되는 지 확인하는 과정을 수행한다. 즉, 본 발명의 노드 제어 서버(300) 또한 최상위 CCN 노드(200)로 동작할 수 있으므로, 컨텐츠 요청 패킷을 처리하기 이전에 서버 저장부(330)에 해당하는 컨텐츠가 있으면, 이를 데이터 패킷 형태로 컨텐츠 요청 패킷을 전달한 CCN 노드(200)로 전달할 수 있다.
반면, 서버 저장부(330)에 해당하는 컨텐츠가 없을 경우, 서버 제어부(320)는 CCN 패킷인 컨텐츠 요청 패킷을 인터넷망(530)을 통해 연결된 컨텐츠 서버(400)로 전달하기 위해, TCP/IP 패킷으로 변환하는 과정을 수행해야 한다. 이를 위해, 먼저 서버 제어부(320)는 상기 컨텐츠 요청 패킷에 해당하는 컨텐츠 서버의 주소를 확인한다. 그리고, 컨텐츠 요청 패킷을 TCP/IP 패킷 형태의 컨텐츠 요청 메시지로 변환한다. 이를 위해, 서버 제어부(320)는 상기 컨텐츠 요청 패킷의 목적지 주소를 컨텐츠 서버(400)의 주소로 변경하고, UDP 프로토콜 방식을 TCP 프로토콜 방식으로 변경하며, 컨텐츠 이름에 대한 CCN 정보를 컨텐츠 요청 메시지를 포함하도록 변경하여 컨텐츠 서버(400)가 수신할 수 있는 컨텐츠 요청 메시지로 변환되도록 한다. 이후, TCP/IP 패킷으로 변환된 컨텐츠 요청 메시지를 서버 통신부(310)를 통해 컨텐츠 서버(400)로 전달할 수 있다.
이후, 컨텐츠 서버(400)로부터 컨텐츠 요청 메시지에 대한 응답 메시지인 컨텐츠 응답 메시지(예컨대, HTTP RESPONSE MESSAGE)가 수신되면, 서버 제어부(320)는 상기 수신된 컨텐츠 응답 메시지를 CCN 노드(200)에서 처리 가능하도록 CCN 패킷인 데이터 패킷으로 변환하는 과정을 수행한다.
이때, 서버 제어부(320)는 컨텐츠 응답 메시지의 통신 프로토콜을 UDP 프로토콜로 변경하고, 컨텐츠 응답 메시지의 목적지 주소를 단말(100)의 주소 정보로 변경하며, 컨텐츠 응답 메시지의 바디 부분에는 상기 컨텐츠 응답 메시지에 포함된 컨텐츠와 컨텐츠 이름이 포함되도록 변경하게 된다. 이를 위해 서버 제어부(320)는 컨텐츠에 대한 이름을 먼저 정의하게 된다. 컨텐츠 이름은 컨텐츠 서버에 대한 주소 정보, 컨텐츠 식별자 및 청크 식별자로 구성될 수 있다. 여기서, 주소 정보, 컨텐츠 식별자는 원래의 컨텐츠 요청 패킷의 컨텐츠 이름에 포함된 정보와 동일할 수 있다. 그러나, 청크 식별자는 달라질 수 있으므로, 청크 식별자가 달라진 경우, 서버 제어부(320)는 달라진 청크 식별자에 대한 정보를 포함하는 데이터 패킷을 구성할 수 있다. 이를 수신한 CCN 노드(200)들은 자신이 요청한 컨텐츠 요청 패킷에 포함된 컨텐츠 이름에서 청크 식별자가 달라지더라도 자신이 요청한 컨텐츠임을 인지할 수 있게 된다.
이후, 서버 제어부(320)는 상기 컨텐츠 응답 메시지가 컨텐츠 요청 패킷의 응답 형태인 데이터 패킷으로 변환되면, 변환된 데이터 패킷을 연결된 CCN 노드(200)로 전달하고, CCN 노드(200)는 컨텐츠 요청 패킷이 수신된 경로에 따라 해당 데이터 패킷을 단말(100)로 전송할 수 있게 된다.
아울러, 본 발명의 실시 예에 따른 서버 제어부(320)는 컨텐츠 서버(400)로부터 컨텐츠 응답 메시지를 수신 시 컨텐츠 서버(400)에 의해 청크 단위로 구분된 컨텐츠 응답 메시지를 수신할 수 있다.
이를 수신한 서버 제어부(320)는 상기 컨텐츠 응답 메시지를 전술한 바와 같이 데이터 패킷으로 변환하고, 변환된 데이터 패킷을 CCN 노드(200)로 전달할 수 있으며, CCN 노드(200)로 데이터 패킷을 전달 시 청크 크기를 가변적으로 설정하여 전솔할 수도 있다.
예를 들어, 현재 CCN 노드(200)의 상황이 복잡하거나 단말(100)이 접속된 접속망(510)의 통신 환경이 불량할 경우, 또는 CCN 노드(200)의 요청에 따라 서버 제어부(320)는 변환된 데이터 패킷의 청크 크기를 최소한으로 조정하거나, 데이터 패킷으로 변환하기 이전에 청크 크기를 최소한으로 조정하여 CCN 노드(200)로 전달할 수 있다. 반면, 통신 환경이 양호할 경우, 최소한의 청크 크기 단위로 컨텐츠가 수신될 경우, 완전한 컨텐츠를 수신하기까지 시간이 다소 소요될 수 있으므로, 청크 크기를 보다 크게 설정하여 CCN 노드(200)로 제공할 수 있다.
여기서, 청크 단위는 단말(100)과 연결된 사용자 링크에서의 전송 비트 레이트, 컨텐츠에 대한 플레이 단위, 컨텐츠에 대한 장면 변화 중 적어도 어느 하나를 이용하여 서버 제어부(320)에 설정될 수 있다. 이중 컨텐츠에 대한 플레이 단위, 장면 변화는 컨텐츠에 대한 메타 정보를 이용하여 구분 가능한 정보로, 서버 제어부(320)는 단순히 사용자의 시청 흐름을 최대한 방해하지 않도록 플레이 단위 또는 장면 변화에 따라 청크 크기를 가변적으로 조정할 수 있다.
아울러, 본 발명의 일 실시 예에서는 서버 제어부(320)가 CCN 노드(200)로 데이터 패킷 전달 시 청크 크기를 가변적으로 조정하여 전달하는 것을 예로 들어 설명하였으나, 시스템 구현 방식에 따라 서버 제어부(320)가 컨텐츠 서버(400)로 컨텐츠 요청 패킷에 대한 변환된 패킷인 컨텐츠 요청 메시지를 전송 시 청크 크기를 가변적으로 설정하여 요청할 수도 있다.
이러한 과정을 수행하기 위해, 본 발명의 서버 제어부(320)는 컨텐츠 수신 제어 모듈(321) 및 컨텐츠 배포 관리 모듈(322)를 포함하여 구성될 수 있다.
서버 저장부(330)는 컨텐츠 전송 제어를 위한 다양한 정보를 저장하는 것으로서, 컨텐츠 서버(400)로부터 전송된 컨텐츠를 저장할 수 있으며, CCN 노드(200)로 컨텐츠를 전달하기 위한 다양한 정보를 저장할 수 있다. 아울러, 본 발명의 노드 제어 서버(300)는 최상위 CCN 노드로 동작할 수 있으므로, 다른 CCN 노드(200)와 마찬가지로, FIB, CS, PIT의 형태로 구현될 수도 있다.
이상으로 본 발명의 실시 예에 따른 노드 제어 서버(300)의 주요 구성 및 동작 방법에 대해 설명하였다.
본 발명의 노드 제어 서버(300)에 탑재되는 메모리는 그 장치 내에서 정보를 저장한다. 일 구현예의 경우, 메모리는 컴퓨터로 판독 가능한 매체이다. 일 구현 예에서, 메모리는 휘발성 메모리 유닛 일 수 있으며, 다른 구현예의 경우, 메모리는 비휘발성 메모리 유닛 일 수도 있다. 일 구현예의 경우, 저장장치는 컴퓨터로 판독 가능한 매체이다. 다양한 서로 다른 구현 예에서, 저장장치는 예컨대 하드디스크 장치, 광학디스크 장치, 혹은 어떤 다른 대용량 저장장치를 포함할 수도 있다.
아울러, 본 발명의 실시 예에서 사용되는 '~모듈'이라는 용어는 소프트웨어 구성요소를 의미하며, '~모듈'은 어떤 역할들을 수행한다. 일 예로서 '~모듈'은 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들, 및 변수들을 포함한다. 또한, 구성요소들과 '~모듈'들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 '~모듈'들로 결합되거나 추가적인 구성요소들과 '~모듈'들로 더 분리될 수 있다.
비록 본 명세서와 도면에서는 예시적인 장치 구성을 기술하고 있지만, 본 명세서에서 설명하는 기능적인 동작과 주제의 구현물들은 다른 유형의 디지털 전자 회로로 구현되거나, 본 명세서에서 개시하는 구조 및 그 구조적인 등가물들을 포함하는 컴퓨터 소프트웨어, 펌웨어 혹은 하드웨어로 구현되거나, 이들 중 하나 이상의 결합으로 구현 가능하다. 본 명세서에서 설명하는 주제의 구현물들은 하나 이상의 컴퓨터 프로그램 제품, 다시 말해 본 발명에 따른 장치의 동작을 제어하기 위하여 혹은 이것에 의한 실행을 위하여 유형의 프로그램 저장매체 상에 인코딩된 컴퓨터 프로그램 명령에 관한 하나 이상의 모듈로서 구현될 수 있다. 컴퓨터로 판독 가능한 매체는 기계로 판독 가능한 저장 장치, 기계로 판독 가능한 저장 기판, 메모리 장치, 기계로 판독 가능한 전파형 신호에 영향을 미치는 물질의 조성물 혹은 이들 중 하나 이상의 조합일 수 있다.
이하, 본 발명의 실시 예에 따른 컨텐츠 제공 방법에 대해 설명하도록 한다.
도 5는 본 발명의 실시 예에 따른 컨텐츠 제공 방법을 개략적으로 설명하기 위한 흐름도이다.
도 5를 참조하면, 노드 제어 서버(300)는 CCN 노드(200)로부터 단말(100)이 전송한 컨텐츠 요청 패킷을 수신한다(S101). 여기서 상기 CCN 노드(200)는 노드 제어 서버(300)와 물리적 또는 논리적으로 연결되는 에지 CCN 노드를 의미하며, 다수의 CCN 노드(200)에 컨텐츠가 없을 경우, 노드 제어 서버(300)는 에지 CCN 노드로부터 컨텐츠 요청 패킷을 수신할 수 있다.
이후, 노드 제어 서버(200)는 상기 컨텐츠 요청 패킷에 해당하는 컨텐츠를 자신이 보유하고 있는 지 확인하고, 보유하고 있을 경우, 상기 컨텐츠 요청 패킷이 전달된 경로를 역행하여 데이커 패킷을 단말(100)로 전송할 수 있다. 반면, 자신 또한 컨텐츠를 보유하고 있지 않을 경우, CCN 패킷인 컨텐츠 요청 패킷을 컨텐츠 서버(400)가 처리 가능하도록 TCP/IP 패킷 형태의 컨텐츠 요청 메시지로 변환하게 된다(S103).
그리고, 노드 제어 서버(300)는 변환된 컨텐츠 요청 메시지를 컨텐츠 서버(400)로 전송하고(S105), 컨텐츠 서버로부터 이에 대한 응답인 컨텐츠 응답 메시지가 수신되면(S107), 수신된 컨텐츠 응답 메시지를 CCN 노드(200)에서 처리 가능한 CCN 패킷으로 변환하기 위해 상기 컨텐츠 요청 패킷에 대한 데이터 패킷으로 변환하는 과정을 수행한다(S1099). 그리고, 노드 제어 서버(300)는 변환된 데이터 패킷을 CCN 노드(200)로 전달한다.
상기 과정에 대해 도 6 및 도 7을 참조하여 보다 구체적으로 설명하도록 한다.
도 6은 본 발명의 실시 예에 따른 컨텐츠 제공 방법을 보다 구체적으로 설명한 일 데이터 흐름도이며, 도 7은 본 발명의 실시 예에 따른 컨텐츠 제공 방법을 보다 구체적으로 설명한 다른 데이터 흐름도이다.
먼저, 도 6을 참조하면, 단말(100)은 이용하고자 하는 컨텐츠에 대한 컨텐츠 요청 패킷을 생성하여 도 1에 도시된 연결된 접속망(510)으로 전달한다(S201). 이때, 본 발명의 단말(100)은 CCN 노드(200)에서 처리 가능한 CCN 패킷을 생성할 수 있는 단말(100)이다. 단말(100)이 생성한 컨텐츠 요청 패킷은 CCN 패킷이므로, 이를 수신한 접속망(510)은 CCN 노드(200)로 해당 패킷을 전달하여 다른 패킷과 구분되게 처리할 수 있다.
이를 수신한 CCN 노드(200)는 상기 컨텐츠 요청 패킷에 해당하는 컨텐츠를 저장하고 있는 자신의 컨텐츠 스토어를 확인하게 된다(S203). 상기 확인 결과, 자신이 해당하는 컨텐츠를 보유하고 있을 경우, CCN 노드(200)는 상기 컨텐츠 요청 패킷에 대한 응답으로 데이터 패킷을 단말(100)로 전송할 수 있다(S205).
반면, S203 단계에서, 컨텐츠 요청 패킷을 수신한 CCN 노드(200)는 자신의 컨텐츠 스토어에 해당 컨텐츠가 없을 경우, 다른 CCN 노드(200)로 해당 컨텐츠 요청 패킷을 전달할 수 있다. CCN 노드(200)는 정해진 규칙에 따라 컨텐츠 요청 패킷을 전달할 수 있으며, 그렇지 않을 경우 브로드캐스팅 방식으로 컨텐츠 요청 패킷을 전달할 수도 있다. 아울러, 모든 CCN 노드(200)를 거쳐 컨텐츠 요청 패킷이 전달되고, 모든 CCN 노드(200)에 해당 컨텐츠가 없을 경우, 경로 상의 마지막 CCN 노드, 즉 노드 제어 서버(300)와 논리적 또는 물리적으로 연결되는 에지 CCN 노드는 해당 컨텐츠 요청 패킷을 노드 제어 서버(300)로 전달한다(S207).
이를 수신한 노드 제어 서버(300)는 자신 또한 CCN 노드로 동작할 수 있으며, 자신의 컨텐츠 스토어에 해당하는 컨텐츠가 저장되어 있는 지 확인한다. 확인 결과, 해당하는 컨텐츠가 없을 경우, 노드 제어 서버(300)는 컨텐츠에 대한 컨텐츠 서버를 확인하고(S209). 확인된 컨텐츠 서버로 컨텐츠 요청 패킷을 전달하기 위해, 컨텐츠 요청 메시지로 변환하는 과정을 수행할 수 있다(S211).
그리고 나서 노드 제어 서버(300)는 변환된 컨텐츠 요청 메시지를 컨텐츠 서버(400)로 전송하여 컨텐츠를 요청한다(S213).
이후의 과정에 대해 도 7을 참조하여 설명하면, 노드 제어 서버(300)는 컨텐츠 서버(400)로부터 컨텐츠 요청 메시지에 대한 응답인 컨텐츠 응답 메시지를 수신한다(S215).
여기서, 수신되는 컨텐츠 응답 메시지는 CCN 노드(200)가 인식할 수 있는 패킷이므로, 노드 제어 서버(300)는 CCN 노드(200)로 전달되도록 상기 컨텐츠 응답 메시지를 데이터 패킷으로 변환하게 된다(S217). 이때, 노드 제어 서버(300)는 자신 또한 CCN 노드로 동작하므로, 상기 컨텐츠를 저장할 수도 있다.
이때, 노드 제어 서버(300)는 데이터 패킷으로 변환 시, 컨텐츠 이름을 먼저 정의한 후 컨텐츠 이름을 포함하는 데이터 패킷을 생성할 수 있다. 여기서, 컨텐츠 이름은 컨텐츠 서버에 대한 주소 정보, 컨텐츠 식별자 및 청크 식별자로 구성될 수 있다. 여기서, 주소 정보, 컨텐츠 식별자는 원래의 컨텐츠 요청 패킷의 컨텐츠 이름에 포함된 정보와 동일할 수 있다. 그러나, 청크 식별자는 달라질 수 있으므로, 청크 식별자가 달라진 경우, 노드 제어 서버(300)는 달라진 청크 식별자에 대한 정보를 포함하는 데이터 패킷을 구성할 수 있다. 이를 수신한 CCN 노드(200)들은 자신이 요청한 컨텐츠 요청 패킷에 포함된 컨텐츠 이름에서 청크 식별자가 달라지더라도 자신이 요청한 컨텐츠임을 인지할 수 있게 된다.
아울러, 본 발명의 노드 제어 서버(300)는 데이터 패킷으로 변환 시 컨텐츠 서버(400)로부터 청크 크기로 구분되어 전송되는 컨텐츠 응답 메시지와 다르게 청크 크기를 가변적으로 조정하여 데이터 패킷으로 변환할 수 있다. 여기서, 청크 크기는 사용자 링크의 전송 비트레이트(bit rate), 상기 컨텐츠에 대한 플레이(play) 단위, 상기 컨텐츠에 대한 장면(scene)의 변화 중 적어도 어느 하나를 이용하여 설정될 수 있다.
다시 말해, 노드 제어 서버(300)는 컨텐츠 서버(400)로부터 컨텐츠 응답 메시지 수신 시 컨텐츠 서버(400)에 의해 설정된 청크 크기에 따라 각각의 분할된 청크 크기에 해당하는 컨텐츠 응답 메시지를 수신할 수 있다. 그리고, 노드 제어 서버(300)는 상기 분할된 청크 크기에 해당하는 각각의 데이터 패킷으로 변환하여 CCN 노드(200)로 전달할 수 있으나, 통신망(500)의 환경에 따라 또는 CCN 노드(200)의 요청에 따라 컨텐츠 서버(400)로부터 수신되는 청크 크기와 다르게 청크 크기를 조정하여 CCN 노드(200)로 전달할 수도 있다.
그리고 노드 제어 서버(300)는 변환된 데이터 패킷을 순차적으로 CCN 노드(200)로 전달하고(S219), CCN 노드(200)는 전달되는 데이터 패킷을 컨텐츠 스토어에 저장하고(S221), 단말(100)로 전달할 수 있게 된다(S223).
이상으로 본 발명의 실시 예에 따른 컨텐츠 제공 방법에 대해 설명하였다.
상술한 바와 같은 본 발명의 컨텐츠 제공 방법은 컴퓨터 프로그램 명령어와 데이터를 저장하기에 적합한 컴퓨터로 판독 가능한 매체의 형태로 제공될 수도 있다. 본 발명의 일 실시 예에 따른 컨텐츠 제공 방법을 구현하기 위한 기록매체에 기록되는 프로그램은 컨텐츠 중심 네트워크 기반 컨텐츠 전송이 가능한 다수의 CCN 노드와, 상기 CCN 노드 및 TCP/IP 기반 컨텐츠 전송이 가능한 컨텐츠 서버와 정보를 송수신하는 노드 제어 서버를 포함하는 컨텐츠 제공 시스템에 있어서, 상기 노드 제어 서버가 상기 컨텐츠 서버로부터 컨텐츠를 포함하는 컨텐츠 응답 메시지를 수신하는 단계, 상기 노드 제어 서버가 상기 컨텐츠 응답 메시지를 상기 CCN 노드로 전달하기 위해, 기 설정된 형식의 데이터 패킷으로 변환하는 단계 및 상기 노드 제어 서버가 상기 변환된 데이터 패킷을 상기 CCN 노드로 전달하는 단계 등을 실행할 수 있다.
이때, 기록매체에 기록된 프로그램은 컴퓨터에서 읽히어 설치되고 실행됨으로써 전술한 기능들을 실행할 수 있다.
여기서, 컴퓨터가 기록매체에 기록된 프로그램을 읽어 들여 프로그램으로 구현된 기능들을 실행시키기 위하여, 전술한 프로그램은 컴퓨터의 프로세서(CPU)가 컴퓨터의 장치 인터페이스(Interface)를 통해 읽힐 수 있는 C, C++, JAVA, 기계어 등의 컴퓨터 언어로 코드화된 코드(Code)를 포함할 수 있다.
이러한 코드는 전술한 기능들을 정의한 함수 등과 관련된 기능적인 코드(Function Code)를 포함할 수 있고, 전술한 기능들을 컴퓨터의 프로세서가 소정의 절차대로 실행시키는데 필요한 실행 절차 관련 제어 코드를 포함할 수도 있다. 또한, 이러한 코드는 전술한 기능들을 컴퓨터의 프로세서가 실행시키는데 필요한 추가 정보나 미디어가 컴퓨터의 내부 또는 외부 메모리의 어느 위치(주소 번지)에서 참조 되어야 하는지에 대한 메모리 참조 관련 코드를 더 포함할 수 있다. 또한, 컴퓨터의 프로세서가 전술한 기능들을 실행시키기 위하여 원격(Remote)에 있는 어떠한 다른 컴퓨터나 서버 등과 통신이 필요한 경우, 코드는 컴퓨터의 프로세서가 컴퓨터의 통신 모듈을 이용하여 원격(Remote)에 있는 어떠한 다른 컴퓨터나 서버 등과 어떻게 통신해야만 하는지, 통신 시 어떠한 정보나 미디어를 송수신해야 하는지 등에 대한 통신 관련 코드를 더 포함할 수도 있다.
이러한, 컴퓨터 프로그램 명령어와 데이터를 저장하기에 적합한 컴퓨터로 판독 가능한 매체는, 예컨대 기록매체는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(Magnetic Media), CD-ROM(Compact Disk Read Only Memory), DVD(Digital Video Disk)와 같은 광 기록 매체(Optical Media), 플롭티컬 디스크(Floptical Disk)와 같은 자기-광 매체(Magneto-Optical Media), 및 롬(ROM, Read Only Memory), 램(RAM, Random Access Memory), 플래시 메모리, EPROM(Erasable Programmable ROM), EEPROM(Electrically Erasable Programmable ROM)과 같은 반도체 메모리를 포함한다. 프로세서와 메모리는 특수 목적의 논리 회로에 의해 보충되거나, 그것에 통합될 수 있다.
또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고, 본 발명을 구현하기 위한 기능적인(Functional) 프로그램과 이와 관련된 코드 및 코드 세그먼트 등은, 기록매체를 읽어서 프로그램을 실행시키는 컴퓨터의 시스템 환경 등을 고려하여, 본 발명이 속하는 기술분야의 프로그래머들에 의해 용이하게 추론되거나 변경될 수도 있다.
본 명세서는 다수의 특정한 구현물의 세부사항들을 포함하지만, 이들은 어떠한 발명이나 청구 가능한 것의 범위에 대해서도 제한적인 것으로서 이해되어서는 안되며, 오히려 특정한 발명의 특정한 실시형태에 특유할 수 있는 특징들에 대한 설명으로서 이해되어야 한다. 개별적인 실시형태의 문맥에서 본 명세서에 기술된 특정한 특징들은 단일 실시형태에서 조합하여 구현될 수도 있다. 반대로, 단일 실시형태의 문맥에서 기술한 다양한 특징들 역시 개별적으로 혹은 어떠한 적절한 하위 조합으로도 복수의 실시형태에서 구현 가능하다. 나아가, 특징들이 특정한 조합으로 동작하고 초기에 그와 같이 청구된 바와 같이 묘사될 수 있지만, 청구된 조합으로부터의 하나 이상의 특징들은 일부 경우에 그 조합으로부터 배제될 수 있으며, 그 청구된 조합은 하위 조합이나 하위 조합의 변형물로 변경될 수 있다.
마찬가지로, 특정한 순서로 도면에서 동작들을 묘사하고 있지만, 이는 바람직한 결과를 얻기 위하여 도시된 그 특정한 순서나 순차적인 순서대로 그러한 동작들을 수행하여야 한다거나 모든 도시된 동작들이 수행되어야 하는 것으로 이해되어서는 안 된다. 특정한 경우, 멀티태스킹과 병렬 프로세싱이 유리할 수 있다. 또한, 상술한 실시형태의 다양한 시스템 컴포넌트의 분리는 그러한 분리를 모든 실시형태에서 요구하는 것으로 이해되어서는 안되며, 설명한 프로그램 컴포넌트와 시스템들은 일반적으로 단일의 소프트웨어 제품으로 함께 통합되거나 다중 소프트웨어 제품에 패키징 될 수 있다는 점을 이해하여야 한다.
본 발명은 컨텐츠 제공 방법에 관한 것으로, 더욱 상세하게는 컨텐츠 중심 네트워크(CCN; Content Centric Networking) 기반 컨텐츠 제공 방법을 스트리밍 서비스에 적용함으로써, 보다 신속하게 스트리밍 서비스를 제공할 수 있는 컨텐츠 제공 방법, 이를 위한 노드 제어 서버에 관한 것이다.
본 발명에 의하면, 복잡한 세션 처리 과정 없이 보다 신속하세 스트리밍 서비스를 제공할 수 있다는 장점이 있으며, 이를 통해 서비스 산업의 발전에 이바지할 수 있다.
더불어, 본 발명은 시판 또는 영업의 가능성이 충분할 뿐만 아니라 현실적으로 명백하게 실시할 수 있는 정도이므로 산업상 이용가능성이 있다.
100: 단말 200: CCN 노드 300: 노드 제어 서버
310: 서버 통신부 320: 서버 제어부
321: 컨텐츠 수신 제어 모듈 322: 컨텐츠 배포 관리 모듈
330: 서버 저장부 500: 통신망 510: 접속망
520: 코어망 530: 인터넷망 400: 컨텐츠 서버
1000: 컨텐츠 제공 시스템

Claims (10)

  1. 컨텐츠 중심 네트워크 기반 컨텐츠 전송이 가능한 다수의 CCN 노드와, 상기 CCN 노드 및 TCP/IP 기반 컨텐츠 전송이 가능한 컨텐츠 서버와 정보를 송수신하는 노드 제어 서버를 포함하는 컨텐츠 제공 시스템에 있어서,
    상기 노드 제어 서버가 단말이 요청한 컨텐츠에 대한 컨텐츠 이름을 포함하는 컨텐츠 요청 패킷을 상기 CCN 노드를 거쳐 수신하는 단계;
    상기 노드 제어 서버가 상기 컨텐츠 요청 패킷을 해당하는 컨텐츠 서버로 전달하기 위해, 기 설정된 형식의 컨텐츠 요청 메시지로 변환하는 단계; 및
    상기 노드 제어 서버가 상기 변환된 컨텐츠 요청 메시지를 해당하는 컨텐츠 서버로 전달하는 단계;
    상기 노드 제어 서버가 상기 컨텐츠 서버로부터 컨텐츠를 포함하는 컨텐츠 응답 메시지를 수신하는 단계;
    상기 노드 제어 서버가 상기 컨텐츠 응답 메시지를 상기 CCN 노드로 전달하기 위해, 기 설정된 형식의 데이터 패킷으로 변환하는 단계; 및
    상기 노드 제어 서버가 상기 변환된 데이터 패킷을 상기 CCN 노드로 전달하는 단계; 를 포함하고,
    상기 CCN 노드를 거쳐 수신되는 상기 컨텐츠 요청 패킷은 출발지 주소 정보와 목적지 주소 정보를 포함하는 IP 정보, UDP(User Datagram Protocol) 정보, CCN 헤더 및 컨텐츠 이름에 대한 CCN 데이터를 포함하는 CCN 정보를 포함하는 것을 특징으로 하는 컨텐츠 제공 방법.
  2. 삭제
  3. 삭제
  4. 제1 항에 있어서,
    상기 컨텐츠 요청 메시지로 변환하는 단계는
    상기 노드 제어 서버가 상기 컨텐츠 이름에 대한 컨텐츠 서버를 확인하는 단계; 및
    상기 노드 제어 서버가 상기 컨텐츠 요청 패킷의 목적지 주소 정보를 상기 컨텐츠 서버의 주소 정보로 변경하고, 상기 UDP 정보를 TCP 정보로 변경하며, 상기 CCN 정보를 컨텐츠 요청(HTTP REQUEST)에 정의된 형식에 따라 변환하여 바디(body) 정보를 구성하여 컨텐츠 요청 메시지로 변환하는 단계;
    를 포함하는 것을 특징으로 하는 컨텐츠 제공 방법.
  5. 제1 항에 있어서,
    상기 변환하는 단계 또는 상기 전달하는 단계에서,
    상기 노드 제어 서버는 상기 컨텐츠 응답 메시지 또는 상기 데이터 패킷의 청크 크기를 가변하여 조정한 후 상기 데이터 패킷으로 변환하거나, 상기 데이터 패킷을 상기 CCN 노드로 전달하는 것을 특징으로 하는 컨텐츠 제공 방법.
  6. 제5 항에 있어서,
    상기 노드 제어 서버는
    사용자 링크의 전송 비트레이트(bit rate), 상기 컨텐츠에 대한 플레이(play) 단위, 상기 컨텐츠에 대한 장면(scene)의 변화 중 적어도 어느 하나를 이용하여 상기 청크 크기를 가변하여 조정하는 것을 특징으로 하는 컨텐츠 제공 방법.
  7. 제1 항에 있어서,
    상기 데이터 패킷으로 변환하는 단계는
    상기 노드 제어 서버가 상기 컨텐츠 서버에 대한 주소 정보, 컨텐츠 식별자 및 청크 식별자로 구성되는 상기 컨텐츠 이름을 정의하는 단계; 및
    상기 노드 제어 서버가 상기 컨텐츠 응답 메시지의 바디(body) 정보를 상기 정의된 컨텐츠 이름을 포함하는 CCN 정보로 변경하고, 출발지 주소 정보와 목적지 주소 정보를 포함하는 IP 정보, UDP 정보를 포함하는 데이터 패킷으로 변환하는 단계;
    를 포함하는 것을 특징으로 하는 컨텐츠 제공 방법.
  8. 제1 항에 있어서,
    상기 전달하는 단계 이전에,
    상기 노드 제어 서버가 상기 컨텐츠 서버로부터 수신된 컨텐츠를 저장하는 단계;
    를 더 포함하는 것을 특징으로 하는 컨텐츠 제공 방법.
  9. 제1항, 제4항 내지 제8항 중 어느 하나의 항에 기재된 컨텐츠 제공 방법을 실행하는 프로그램을 기록한 컴퓨터 판독 가능한 기록매체.
  10. 컨텐츠 중심 네트워크 기반 컨텐츠 전송이 가능한 다수의 CCN 노드와, 상기 CCN 노드 및 TCP/IP 기반 컨텐츠 전송이 가능한 컨텐츠 서버와 정보를 송수신하는 노드 제어 서버를 포함하는 컨텐츠 제공 시스템에 있어서,
    상기 노드 제어 서버는
    상기 CCN 노드 및 상기 컨텐츠 서버와 정보를 송수신하는 서버 통신부; 및
    상기 CCN 노드 및 상기 컨텐츠 서버와 정보를 송수신하는 서버 통신부; 및
    상기 서버 통신부를 통해 어느 하나의 CCN 노드로부터 컨텐츠 요청 패킷이 전달되면, 상기 컨텐츠 요청 패킷을 해당하는 컨텐츠 서버로 전달하기 위해, 기 설정된 형식의 컨텐츠 요청 메시지로 변환하고, 상기 변환된 컨텐츠 요청 메시지를 상기 서버 통신부를 통해 해당 컨텐츠 서버로 전송한 이후에 상기 컨텐츠 서버로부터 컨텐츠 응답 메시지가 수신되면, 상기 컨텐츠 응답 메시지를 상기 컨텐츠 요청 패킷의 응답인 데이터 패킷 형태로 변환하고, 변환된 상기 데이터 패킷을 상기 서버 통신부를 통해 상기 CCN 노드로 전달되도록 제어하는 서버 제어부; 를 포함하고,
    상기 CCN 노드로부터 전달된 컨텐츠 요청 패킷은
    출발지 주소 정보와 목적지 주소 정보를 포함하는 IP 정보, UDP(User Datagram Protocol) 정보, CCN 헤더 및 컨텐츠 이름에 대한 CCN 데이터를 포함하는 CCN 정보를 포함하여 구성되는 것을 특징으로 하는 노드 제어 서버.
KR1020140144959A 2014-10-24 2014-10-24 컨텐츠 제공 방법, 이를 위한 노드 제어 서버 KR102123414B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020140144959A KR102123414B1 (ko) 2014-10-24 2014-10-24 컨텐츠 제공 방법, 이를 위한 노드 제어 서버

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140144959A KR102123414B1 (ko) 2014-10-24 2014-10-24 컨텐츠 제공 방법, 이를 위한 노드 제어 서버

Publications (2)

Publication Number Publication Date
KR20160048390A KR20160048390A (ko) 2016-05-04
KR102123414B1 true KR102123414B1 (ko) 2020-06-16

Family

ID=56021924

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140144959A KR102123414B1 (ko) 2014-10-24 2014-10-24 컨텐츠 제공 방법, 이를 위한 노드 제어 서버

Country Status (1)

Country Link
KR (1) KR102123414B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102031896B1 (ko) * 2017-10-27 2019-10-14 에스케이텔레콤 주식회사 Udp 캡슐화에 기반한 대역폭 정보 제공 방법 및 이를 위한 장치

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101750049B1 (ko) 2009-11-13 2017-06-22 삼성전자주식회사 적응적인 스트리밍 방법 및 장치
KR20120078289A (ko) * 2010-12-31 2012-07-10 서울대학교산학협력단 미래 네트워크 간 연동 구조

Also Published As

Publication number Publication date
KR20160048390A (ko) 2016-05-04

Similar Documents

Publication Publication Date Title
US10136363B2 (en) Facilitation of mobility management across various radio technologies
WO2020259509A1 (zh) 一种应用迁移方法及装置
KR102072344B1 (ko) 적응형 스트리밍 서비스 제공 방법 및 이를 위한 장치
JP6279621B2 (ja) インターネットプロトコル(ip)マルチメディア・サブシステム(ims)ベースのピアツーピア(p2p)コンテンツ配信
US9883000B2 (en) Server-push service in heterogeneous network environment
CN108702359B (zh) 用于增强mbms内容提供和内容摄取的方法和装置
US9288708B2 (en) System and method for delivering push message
KR20150110103A (ko) 전송 경로 최적화를 위한 컨텐츠 서버 간 핸드오버 방법 및 장치
KR101981285B1 (ko) 컨텐츠 식별 정보를 이용한 컨텐츠 전송 서비스 시스템, 이를 위한 장치 및 그의 컨텐츠 전송 서비스 방법
US9585052B2 (en) Determining a traffic bearer for data traffic between a terminal and a content data source of a content data network
JP2018515960A (ja) マルチメディアブロードキャストマルチキャストサービスに基づくフレキシブルブロードキャストサービスのための方法及び装置
KR20140021372A (ko) 컨텐츠 식별 정보를 이용한 컨텐츠 전송 서비스 방법 및 로컬 캐싱 장치
WO2018103613A1 (zh) 一种业务数据处理的方法和装置
KR102123414B1 (ko) 컨텐츠 제공 방법, 이를 위한 노드 제어 서버
KR102485601B1 (ko) 컨텐츠 전송을 위한 최적 네트워크 노드 선택 방법 및 이를 위한 장치
Vassilakis et al. Toward information-centric software-defined cellular networks
KR102169717B1 (ko) 컨텐츠 캐싱 방법 및 이를 위한 캐시 장치
KR102412988B1 (ko) 컨텐츠 전송 제어 방법, 이를 위한 장치, 이를 기록한 컴퓨터 판독 가능한 기록 매체 및 프로그램
US8811344B1 (en) Methods and apparatus for assigning same sequence number to multiple GTP messages
KR102519390B1 (ko) 캐시 장치, 상기 캐시 장치에서의 mmt 컨텐츠 전송 방법
CN113169936A (zh) 用于数据流处理的服务链机制
KR102157516B1 (ko) 컨텐츠 업로드 처리 방법, 이를 지원하는 캐시 장치
EP2436167A1 (en) Content sharing system performance improvement
US9667728B2 (en) Controller offloading
US20220338095A1 (en) Base station assisted information centric network

Legal Events

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