KR102228762B1 - 컨텐츠 중심 네트워크 연동을 통한 컨텐츠 제공 방법 및 이를 위한 장치 - Google Patents

컨텐츠 중심 네트워크 연동을 통한 컨텐츠 제공 방법 및 이를 위한 장치 Download PDF

Info

Publication number
KR102228762B1
KR102228762B1 KR1020150121786A KR20150121786A KR102228762B1 KR 102228762 B1 KR102228762 B1 KR 102228762B1 KR 1020150121786 A KR1020150121786 A KR 1020150121786A KR 20150121786 A KR20150121786 A KR 20150121786A KR 102228762 B1 KR102228762 B1 KR 102228762B1
Authority
KR
South Korea
Prior art keywords
content
ccn
network
terminal
metadata
Prior art date
Application number
KR1020150121786A
Other languages
English (en)
Other versions
KR20170026810A (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 PCT/KR2015/009092 priority Critical patent/WO2017039022A1/ko
Priority to KR1020150121786A priority patent/KR102228762B1/ko
Publication of KR20170026810A publication Critical patent/KR20170026810A/ko
Application granted granted Critical
Publication of KR102228762B1 publication Critical patent/KR102228762B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/40Support for services or applications
    • H04L65/605
    • H04L65/4084
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • 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]

Landscapes

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

Abstract

본 발명은 컨텐츠 제공 방법에 관한 것으로, 더욱 상세하게는 컨텐츠 중심 네트워크(CONTENT CENTRCI NETWORKING)와의 연동을 통해 단말로 컨텐츠를 제공할 수 있는 컨텐츠 중심 네트워크 연동을 통한 컨텐츠 제공 방법 및 이를 위한 장치에 관한 것이다.
이를 위한, 본 발명의 실시 예에 따른 컨텐츠 중심 네트워크 기반 컨텐츠 전송이 가능한 다수의 CCN 노드를 포함하는 CCN 망과, 상기 CCN 망에 연결되며 TCP/IP 기반 컨텐츠 전송이 가능한 스트리밍 서버를 포함하는 컨텐츠 제공 시스템에 있어서, 상기 스트리밍 서버가, 어느 하나의 단말이 요청한 컨텐츠 세그먼트 요청 메시지를 수신하는 단계, 상기 컨텐츠 세그먼트 요청 메시지를 CCN 요청 패킷으로 변환하여 CCN 망으로 전달하는 단계, 상기 CCN 망으로부터 CCN 응답 패킷을 수신하는 단계, 상기 CCN 응답 패킷을 컨텐츠 세그먼트 응답 메시지로 변환하는 단계 및 상기 단말로 상기 컨텐츠 세그먼트 응답 메시지를 전송하는 단계를 포함하여 이뤄질 수 있다.

Description

컨텐츠 중심 네트워크 연동을 통한 컨텐츠 제공 방법 및 이를 위한 장치{METHOD FOR PROVIDING OF CONTENTS WITHD CONTENT CENTRCI NETWORKING AND APPARATUS THEREFOR}
본 발명은 컨텐츠 제공 방법에 관한 것으로, 더욱 상세하게는 컨텐츠 중심 네트워크(CONTENT CENTRCI NETWORKING)와의 연동을 통해 단말로 컨텐츠를 제공할 수 있는 컨텐츠 중심 네트워크 연동을 통한 컨텐츠 제공 방법 및 이를 위한 장치에 관한 것이다.
이 부분에 기술된 내용은 단순히 본 실시 예에 대한 배경 정보를 제공할 뿐 종래기술을 구성하는 것은 아니다.
스트리밍(streaming)은 인터넷과 같은 네트워크를 통해 서버에서 클라이언트로 비디오 또는 오디오와 같은 컨텐츠를 전송하는 것을 의미한다. 전송되는 데이터가 마치 물이 흐르는 것처럼 처리된다고 해서 스트리밍이라고 한다. 서버는 비디오를 네트워크로 보낼 수 있도록 패킷으로 분리하며, 클라이언트는 그 패킷들을 다시 모아서 원래 형태로 복원한 후에 재생한다. 이때, 재생과 패킷 수신은 동시에 일어나며, 연관된 일련의 패킷들을 스트림(stream)이라고 한다.
최근에는 HTTP 라이브 스트리밍(HTTP Live Streaming, 이하 HLS라고 명명함) 방식이 주로 사용되고 있다. HLS 방식을 지원하는 서버는 컨텐츠를 청크 단위로 저장하고, 사용자의 단말이 사용자의 환경에 따라 적절하게 컨텐츠를 요청하는 방식이다. 예를 들어, HLS 방식을 지원하는 서버는 컨텐츠를 일반적으로 5초에서 15초 정도의 작은 길이를 가지는 청크 단위로 구분하여 저장하며, 재생 목록 파일을 단말로 제공하면, 단말은 자신의 상황에 따라 적절하게 컨텐츠를 요청하게 된다.
그러나, 현재까지의 스트리밍 서비스는 TCP 기반 통신을 지원함으로써, 초기 접속 지연이 발생되며, 주기적으로 TCP 세션을 맺고 끊는 절차의 반복으로 인한 비효율성과 세션 정보 유지를 위한 리소스 낭비가 발생된다는 문제점이 있다.
따라서 이러한 문제점을 해결하기 위해 스트리밍 서비스에 컨텐츠 중심 네트워크(CCN; Content Centric Networking)를 적용하고자 하는 시도가 이뤄지고 있으나, 컨텐츠 중심 네트워크를 스트리밍 서비스에 적용하기 위해서는 단말이 컨텐츠 중심 네트워크 기술을 지원할 수 있는 모듈을 포함하고 있어야 한다는 문제점이 있다.
한국공개특허 제2011-0053178호, 2011년 5월 19일 공개 (명칭: 적응적인 스트리밍 방법 및 장치)
본 발명은 상기한 종래의 문제점을 해결하기 위해 제안된 것으로서, 특히 컨텐츠를 이용하고자 하는 단말에 대한 별도의 설계 변경 없이 스트리밍 서비스에 컨텐츠 중심 네트워크를 접목하여 컨텐츠 제공 시스템을 제공할 수 있는 컨텐츠 중심 네트워크 연동을 통한 컨텐츠 제공 방법 및 이를 위한 장치를 제공하는 데 목적이 있다.
그러나, 이러한 본 발명의 목적은 상기의 목적으로 제한되지 않으며, 언급되지 않은 또 다른 목적들은 아래의 기재로부터 명확하게 이해될 수 있을 것이다.
상술한 바와 같은 목적을 달성하기 위한 본 발명의 실시 예에 따른 컨텐츠 중심 네트워크 연동을 통한 컨텐츠 제공 방법은 컨텐츠 중심 네트워크 기반 컨텐츠 전송이 가능한 다수의 CCN 노드를 포함하는 CCN 망과, 상기 CCN 망에 연결되며 TCP/IP 기반 컨텐츠 전송이 가능한 스트리밍 서버를 포함하는 컨텐츠 제공 시스템에 있어서, 상기 스트리밍 서버가, 어느 하나의 단말이 요청한 컨텐츠 세그먼트 요청 메시지를 수신하는 단계; 상기 컨텐츠 세그먼트 요청 메시지를 CCN 요청 패킷으로 변환하여 CCN 망으로 전달하는 단계; 상기 CCN 망으로부터 CCN 응답 패킷을 수신하는 단계; 상기 CCN 응답 패킷을 컨텐츠 세그먼트 응답 메시지로 변환하는 단계; 및 상기 단말로 상기 컨텐츠 세그먼트 응답 메시지를 전송하는 단계;를 포함하여 이뤄질 수 있다.
이때, 상기 CCN 망으로 전달하는 단계는 상기 컨텐츠에 대응하는 메타데이터의 컨텐츠 이름을 확인하는 단계; 및 상기 확인된 컨텐츠 이름을 포함하는 CCN 요청 패킷으로 변환하여 CCN 망으로 전달하는 단계;를 포함하여 이뤄질 수 있다.
또한, 상기 컨텐츠에 대응하는 메타데이터의 컨텐츠 이름이 존재하지 않을 경우, 상기 컨텐츠 이름을 정의하는 단계;를 더 포함하여 이뤄질 수 있다.
이때, 상기 CCN 응답 패킷을 수신하는 단계는 상기 컨텐츠 세그먼트에 대한 컨텐츠 이름을 확인하는 단계; 및 상기 확인된 컨텐츠 이름이 상기 컨텐츠의 메타데이터에 반영되도록 상기 메타데이터를 수정하는 단계;를 더 포함하여 이뤄질 수 있다.
또한, 상기 컨텐츠 이름은 해당 컨텐츠 세그먼트를 저장하고 있는 CCN 노드의 이름 정보, 컨텐츠 식별자 및 컨텐츠 세그먼트 식별자 중 적어도 어느 하나 이상을 포함하여 구성될 수 있다.
추가로 본 발명은 상술한 바와 같은 컨텐츠 중심 네트워크 연동을 통한 컨텐츠 제공 방법을 실행하는 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체를 제공할 수 있다.
상술한 바와 같은 목적을 달성하기 위한 본 발명의 실시 예에 따른 컨텐츠 중심 네트워크 기반 컨텐츠 전송이 가능한 다수의 CCN 노드를 포함하는 CCN 망과, 상기 CCN 망에 연결되며 TCP/IP 기반 컨텐츠 전송이 가능한 스트리밍 서버를 포함하는 컨텐츠 제공 시스템에 있어서, 상기 스트리밍 서버는, 어느 하나의 단말이 요청한 컨텐츠 세그먼트 요청 메시지를 수신하고, 상기 컨텐츠 세그먼트 요청 메시지를 CCN 요청 패킷으로 변환하여 상기 CCN 망으로 전달하며, 상기 CCN 망으로부터 CCN 응답 패킷을 수신하고, 상기 CCN 응답 패킷을 컨텐츠 세그먼트 응답 메시지로 변환한 후 상기 단말로 전송하는 변환 처리 모듈; 및 상기 CCN 망으로부터 전달된 상기 CCN 응답 패킷의 컨텐츠 이름을 확인하고, 상기 컨텐츠 이름이 상기 컨텐츠에 대한 메타데이터에 반영되도록 메타데이터를 수정하는 MPD 구성 모듈;을 포함하여 구성될 수 있다.
이때, 상기 변환 처리 모듈은 상기 컨텐츠 세그먼트 요청 메시지를 상기 CCN 요청 패킷으로 변환 시 상기 컨텐츠에 대한 메타데이터에 기재된 컨텐츠 이름을 확인한 후 상기 컨텐츠 이름을 포함하는 CCN 요청 패킷으로 변환하여 상기 CCN 망으로 전달할 수 있다.
본 발명의 컨텐츠 중심 네트워크 연동을 통한 컨텐츠 제공 방법 및 이를 위한 장치에 의하면, 스트리밍 서버 또는 스트리밍 서버와 연동가능한 별도의 모듈 장치가 컨텐츠 세그먼트 요청 메시지를 CCN 요청 패킷으로 변환 처리하고, CCN 응답 패킷을 컨텐츠 세그먼트 응답 메시지로 변환 처리함으로써, 단말에 대한 별도의 설계 변경 없이 컨텐츠 중심 네트워크와 접목된 스트리밍 서비스를 제공할 수 있게 된다.
또한, CCN 망에서 실시간 변경되는 CCN 노드에 대한 정보를 전달받아 이를 메타데이터에 반영한 후 단말로 배포함으로써, 컨텐츠를 저장하고 있는 CCN 노드가 변경되더라도 보다 신속하게 해당 CCN 노드로부터 컨텐츠 세그먼트를 수신하여 이용할 수 있게 된다.
아울러, 상술한 효과 이외의 다양한 효과들이 후술될 본 발명의 실시 예에 따른 상세한 설명에서 직접적 또는 암시적으로 개시될 수 있다.
도 1은 본 발명의 실시 예에 따른 컨텐츠 전송 시스템을 도시한 구성도이다.
도 2는 본 발명의 실시 예에 따른 컨테츠 중심 네트워크에서의 CCN 요청 패킷을 처리하는 과정을 설명하기 위한 예시도이다.
도 3은 본 발명의 실시 예에 따른 단말의 주요 구성을 도시한 블록도이다.
도 4는 본 발명의 실시 예에 따른 스트리밍 서버의 주요 구성을 도시한 블록도이다.
도 5는 본 발명의 실시 예에 따른 단말에서의 컨텐츠 이용 방법을 설명하기 위한 흐름도이다.
도 6은 본 발명의 실시 예에 따른 컨텐츠 중심 네트워크 연동을 통한 컨텐츠 제공 방법을 설명하기 위한 흐름도이다.
도 7은 본 발명의 실시 예에 따른 컨텐츠 중심 네트워크 연동을 통한 컨텐츠 제공 방법을 보다 더 구체적으로 설명한 데이터 흐름도이다.
도 8은 본 발명의 실시 예에 따른 메타데이터의 구조를 설명하기 위한 예시도이다.
본 발명의 과제 해결 수단의 특징 및 이점을 보다 명확히 하기 위하여, 첨부된 도면에 도시된 본 발명의 특정 실시 예를 참조하여 본 발명을 더 상세하게 설명한다.
다만, 하기의 설명 및 첨부된 도면에서 본 발명의 요지를 흐릴 수 있는 공지 기능 또는 구성에 대한 상세한 설명은 생략한다. 또한, 도면 전체에 걸쳐 동일한 구성 요소들은 가능한 한 동일한 도면 부호로 나타내고 있음에 유의하여야 한다.
이하의 설명 및 도면에서 사용된 용어나 단어는 통상적이거나 사전적인 의미로 한정해서 해석되어서는 아니 되며, 발명자는 그 자신의 발명을 가장 최선의 방법으로 설명하기 위한 용어의 개념으로 적절하게 정의할 수 있다는 원칙에 입각하여 본 발명의 기술적 사상에 부합하는 의미와 개념으로 해석되어야만 한다. 따라서 본 명세서에 기재된 실시 예와 도면에 도시된 구성은 본 발명의 가장 바람직한 일 실시 예에 불과할 뿐이고, 본 발명의 기술적 사상을 모두 대변하는 것은 아니므로, 본 출원시점에 있어서 이들을 대체할 수 있는 다양한 균등물과 변형 예들이 있을 수 있음을 이해하여야 한다.
또한, 제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성요소들을 설명하기 위해 사용하는 것으로, 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용될 뿐, 상기 구성요소들을 한정하기 위해 사용되지 않는다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제2 구성요소는 제1 구성요소로 명명될 수 있고, 유사하게 제1 구성요소도 제2 구성요소로 명명될 수 있다.
더하여, 어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급할 경우, 이는 논리적 또는 물리적으로 연결되거나, 접속될 수 있음을 의미한다. 다시 말해, 구성요소가 다른 구성요소에 직접적으로 연결되거나 접속되어 있을 수 있지만, 중간에 다른 구성요소가 존재할 수도 있으며, 간접적으로 연결되거나 접속될 수도 있다고 이해되어야 할 것이다.
또한, 본 명세서에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 또한, 본 명세서에서 기술되는 "포함 한다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
아울러, 본 발명의 범위 내의 실시 예들은 컴퓨터 실행가능 명령어 또는 컴퓨터 판독가능 매체에 저장된 데이터 구조를 가지거나 전달하는 컴퓨터 판독가능 매체를 포함한다. 이러한 컴퓨터 판독가능 매체는, 범용 또는 특수 목적의 컴퓨터 시스템에 의해 액세스 가능한 임의의 이용 가능한 매체일 수 있다. 예로서, 이러한 컴퓨터 판독가능 매체는 RAM, ROM, EPROM, CD-ROM 또는 기타 광 디스크 저장장치, 자기 디스크 저장장치 또는 기타 자기 저장장치, 또는 컴퓨터 실행가능 명령어, 컴퓨터 판독가능 명령어 또는 데이터 구조의 형태로 된 소정의 프로그램 코드 수단을 저장하거나 전달하는 데에 이용될 수 있고, 범용 또는 특수 목적 컴퓨터 시스템에 의해 액세스 될 수 있는 임의의 기타 매체와 같은 물리적 저장 매체를 포함할 수 있지만, 이에 한정되지 않는다.
이하의 설명 및 특허 청구 범위에서, "네트워크"는 컴퓨터 시스템들 및/또는 모듈들 간의 전자 데이터를 전송할 수 있게 하는 하나 이상의 데이터 링크로서 정의된다. 정보가 네트워크 또는 다른 (유선, 무선, 또는 유선 또는 무선의 조합인) 통신 접속을 통하여 컴퓨터 시스템에 전송되거나 제공될 때, 이 접속은 컴퓨터-판독가능매체로서 이해될 수 있다. 컴퓨터 판독가능 명령어는, 예를 들면, 범용 컴퓨터 시스템 또는 특수 목적 컴퓨터 시스템이 특정 기능 또는 기능의 그룹을 수행하도록 하는 명령어 및 데이터를 포함한다. 컴퓨터 실행가능 명령어는, 예를 들면, 어셈블리어, 또는 심지어는 소스코드와 같은 이진, 중간 포맷 명령어일 수 있다.
아울러, 본 발명은 퍼스널 컴퓨터, 랩탑 컴퓨터, 핸드헬드 장치, 멀티프로세서 시스템, 마이크로프로세서-기반 또는 프로그램 가능한 가전제품(programmable consumer electronics), 네트워크 PC, 미니컴퓨터, 메인프레임 컴퓨터, 모바일 전화, PDA, 페이저(pager) 등을 포함하는 다양한 유형의 컴퓨터 시스템 구성을 가지는 네트워크 컴퓨팅 환경에서 실시될 수 있다.
또한 본 발명의 명세서에서 기술되는 단말은 다양한 형태로 구현될 수 있다. 예를 들어, 스마트 폰(smart phone), 타블렛 PC(Tablet PC), PDA(Personal Digital Assistants), PMP(Portable Multimedia Player), MP3 Player 등의 이동 단말기는 물론, 스마트 TV(Smart TV), 데스크탑 컴퓨터 등과 같은 고정 단말기가 사용될 수 있으며, 네트워크를 통해 컨텐츠 서버로 컨텐츠를 업로드하거나 다운로드를 요청하여 이용할 수 있는 단말이라면, 그 어떠한 단말도 본 발명의 단말로 적용 가능하다.
또한, 본 발명의 명세서에서 기술하는 컨텐츠는 네트워크 상에서 특정 주소(예컨대, URL)로 표현될 수 있는 것이라면 그 어떠한 것도 본 발명의 컨텐츠에 포함될 수 있다. 예컨대, 웹 사이트 전체도 하나의 URL로 표현되는 경우, 하나의 컨텐츠로써, 본 발명의 시스템을 통해 배포될 수 있다.
본 발명은 또한 네트워크를 통해 유선 데이터 링크, 무선 데이터 링크, 또는 유선 및 무선 데이터 링크의 조합으로 링크된 로컬 및 원격 컴퓨터 시스템 모두가 태스크를 수행하는 분산형 시스템 환경에서 실행될 수 있다. 분산형 시스템 환경에서, 프로그램 모듈은 로컬 및 원격 메모리 저장 장치에 위치될 수 있다.
이제, 본 발명의 실시 예에 따른 컨텐츠 중심 네트워크 연동을 통한 컨텐츠 제공 방법 및 이를 위한 장치에 대하여 도면을 참조하여 상세하게 설명하도록 한다.
먼저, 본 발명의 실시 예에 따른 컨텐츠 중심 네트워크 연동을 통한 컨텐츠 제공 방법을 지원하는 컨텐츠 전송 시스템에 대해 설명하도록 한다.
도 1은 본 발명의 실시 예에 따른 컨텐츠 전송 시스템을 도시한 구성도이다.
도 1을 참조하면, 본 발명의 실시 예에 따른 컨텐츠 전송 시스템은 단말(100) 및 스트리밍 서버(200)를 포함하여 구성될 수 있다.
먼저, 단말(100)은 사용자의 요청에 따라 스트리밍 서버(200)로 컨텐츠를 요청하고 수신하여 이용할 수 있는 사용자의 장치를 의미한다. 이를 위해 본 발명의 단말(100)은 일정 반경 내 위치하는 기지국 장치(310)와 연결되고, 상기 기지국 장치(310)를 통해 코어망을 거쳐 인터넷망(300)에 연결되는 과정을 지원할 수 있다. 그리고 사용자의 요청에 따라 인터넷망(300)을 거쳐 스트리밍 서버(200)로 컨텐츠를 요청하고 이를 수신하여 재생할 수 있다. 이때, 상기 컨텐츠에 대한 요청은 상기 스트리밍 서버(200)가 제공하는 컨텐츠를 수신하여 이용할 수 있는 브라우저, 재생 어플리케이션 등의 실행 과정을 포함할 수 있다. 이후 단말(100)은 스트리밍 서버(200)로부터 컨텐츠에 대한 메타데이터를 수신하며, 상기 메타데이터를 기초로 해당 컨텐츠를 보유하고 있는 저장 장소의 위치를 확인하고, 해당 저장 장소로 컨텐츠를 요청하여 수신하는 과정을 포함할 수 있다.
또한, 본 발명의 실시 예에 따른 단말(100)은 컨텐츠를 요청하여 수신 시 세그먼트 단위로 요청하고 이를 수신할 수 있으며, 세그먼트의 복수 개의 집합인 프래그먼트 단위로 컨텐츠를 모아 재생할 수도 있다. 또한, 상기 각 컨텐츠 세그먼트가 인코딩된 상태로 전송되는 경우 이를 디코딩하여 재생하는 과정을 지원할 수 있다.
스트리밍 서버(200)는 단말(100)로 다양한 컨텐츠, 예컨대, 사진, 비디오, 오디오, 어플리케이션 등과 같은 다양한 컨텐츠를 제공하거나, 컨텐츠를 수신하고 이와 관련된 서비스를 제공하기 위한 것으로, 컨텐츠 제공자(CP; Contents Provider)로부터 적어도 하나의 컨텐츠를 제공받아 관리하며, 인터넷망(300)를 통해서 다수의 단말(100)로 컨텐츠를 제공하는 역할을 수행할 수 있다. 이때, 본 발명의 스트리밍 서버(200)는 CCN 어댑터 장치(250)와 연동하여 단말(100)로 컨텐츠를 제공하는 과정을 지원할 수 있다. 다시 말해, 본 발명의 컨텐츠를 저장하고 있는 위치가 CCN 망(400) 상의 위치하는 복수 개의 CCN 노드(410)에 분산 배치된 경우, 단말(100)의 컨텐츠 요청은 HTTP 프로토콜을 따르므로, CCN망(400)으로 전달될 수 없다. 따라서, 본 발명의 스트리밍 서버(200)는 CCN 어댑터 장치(250)와 연동하여 단말의 컨텐츠 세그먼트 요청 메시지를 CCN 요청 패킷으로 변환하고, CCN 망(400)으로부터 전달되는 컨텐츠 응답 패킷을 컨텐츠 세그먼트 응답 메시지로 변환하여 단말(100)로 전달하는 과정을 지원할 수 있다.
또한, 본 발명의 스트리밍 서버(200)는 컨텐츠에 대한 메타데이터를 저장하고 관리하는 역할을 수행할 수 있다. 그리고 CCN 망(400)을 거쳐 컨텐츠 세그먼트에 대한 컨텐츠 이름이 전달되면, 전달된 컨텐츠 이름이 해당 컨텐츠의 메타데이터에 반영되도록 메타데이터를 수정 및 배포하는 과정을 지원할 수 있다.
CCN 어댑터 장치(250)는 인터넷망(300)과 CCN 망(400)을 연동하는 역할을 수행하는 것으로, HTTP 프로토콜을 따르는 메시지를 CCN 프로토콜을 지원하는 CCN 패킷으로 변환처리하는 기능을 수행할 수 있다. 아울러, 도면에서는 스트리밍 서버(200)와 CCN 어댑터 장치(250)를 독립적 장치 형태로 각각 도시하였으나, 이에 한정되는 것은 아니며 CCN 어댑터 장치(250)는 스트리밍 서버(200) 내의 일 모듈 형태로 존재할 수도 있다.
CCN 망(400)은 컨텐츠 중심 네트워크 기반 컨텐츠 요청 및 이에 대한 응답으로 컨텐츠를 배포하고 제공할 수 있는 형태의 네트워크로, 이를 위해서는 CCN 노드(410)가 CCN 망(400) 상에 분산 배치될 수 있다.
CCN 노드(410)를 통한 컨텐츠 전송은 CCN 패킷을 통해 이뤄지게 된다. CCN 패킷은 컨텐츠의 이름을 패킷의 주소로 이용하여 컨텐츠를 송수신하게 되는데, 이러한 CCN 패킷은 컨텐츠를 요청하는 CCN 요청 패킷(Interest Packet)과 이에 대한 응답 패킷인 CCN 응답 패킷(Data Packet)을 포함하여 구성된다.
이때, CCN 응답 패킷은 CCN 요청 패킷이 전달된 경로를 역순으로 전송되므로 별도의 라우팅 과정이 불필요하나, CCN 요청 패킷은 어떤 CCN 노드(410)들을 거쳐 전송될 것인지 라우팅 정보를 저장하고 관리하는 과정이 필요하다. 이를 위해, CCN 노드(410)들은 FIB(Forwarding Information Base)를 저장하고 있어야 한다.
CCN 망(400)에서의 컨텐츠 제공 방법에 대해 도 2를 참조하여 개략적으로 설명하도록 한다.
도 2는 본 발명의 실시 예에 따른 컨테츠 중심 네트워크에서의 CCN 요청 패킷을 처리하는 과정을 설명하기 위한 예시도이다.
컨텐츠 중심 네트워크에서 컨텐츠의 이름은 컨텐츠가 저장된 노드를 찾아가기 위한 나침반 역할과 해당 컨텐츠를 다른 컨텐츠와 구분해 주는 역할을 할 수 있다. 그러므로, 각 컨텐츠는 고유한(unique) 이름을 사용하며, 두 컨텐츠의 이름이 서로 다르면, 같은 내용의 컨텐츠도 다른 컨텐츠로 취급할 수 있다. 예를 들어, 같은 내용으로 이루어진 두 파일이 각각 서로 다른 이름으로 존재할 경우, 두 파일은 서로 다른 컨텐츠로 처리될 수 있다.
도 2에서, 어느 하나의 CCN 노드(400)가 페이스 0(101)으로부터 예를 들어, '/ABC.com/SSS/abc.avi/v3/s3/'에 해당하는 CCN 요청 패킷을 수신하게 되면, 상기 CCN 요청 패킷의 컨텐츠의 계층적 이름을 참조하여 해당 컨텐츠가 자신의 컨텐츠 스토어(Content Store)(110)에 있는 지 확인할 수 있다. 여기서, 컨텐츠 스토어(110)는 컨텐츠 캐시(Contents Cache)라고 불릴 수 있다. 확인 결과, 컨텐츠 스토어(110) 내에 해당 컨텐츠가 저장되어 있으면, CCN 노드(410)는 해당 컨텐츠를 CCN 요청 패킷이 수신된 페이스 0(101)로 반환한다. 이때, 페이스(face)는 인터페이스(interface)로도 표현될 수 있다.
해당 컨텐츠가 컨텐츠 스토어(110)에 저장되어 있지 않으면, CCN 노드(410)는 펜딩 인터리스트 테이블(Pending Interest Table; PIT)(130) 내에 동일한 컨텐츠 이름(여기서는 '/ABC.com/SSS/abc.avi/v3/s2')으로 저장된 엔트리 (entry)가 있는지 여부를 확인할 수 있다. CCN 노드(410)는 동일한 컨텐츠 이름으로 저장된 엔트리가 있으면, 펜딩 인터리스트 테이블(130) 내의 해당 엔트리에 CCN 요청 패킷이 들어온 페이스(여기서는 페이스 0(101))에 대한 정보를 추가할 수 있다.
반면, 펜딩 인터리스트 테이블(130) 내에 동일 컨텐츠 이름으로 등록된 엔트리가 없다면, CCN 노드(410)는 포워딩 정보 베이스(Forwarding Information Base; FIB)(150)에서 컨텐츠 이름에 기반한 검색(name lookup)을 수행하여 해당 엔트리(entry)를 찾을 수 있다. 이때, CCN 노드(410)는 최장 프리픽스 매칭(longest prefix matching)에 따라 검색을 수행할 수 있다.
CCN 노드(410)는 포워딩 정보 베이스(FIB)(150)에 등록되어 있는 정보에 기초하여 CCN 요청 패킷을 전달할 페이스(예를 들어, 페이스 1(105))를 결정하고, 해당 페이스(페이스 1(105))로 CCN 요청 패킷을 전송할 수 있다. 이 과정에서 CCN 노드(410)는 CCN 요청 패킷이 전달되어 온 페이스(페이스 0(101))에 대한 정보('0')를 인터리스트 테이블(PIT)(130)에 등록할 수 있다. 이는 향후 CCN 요청 패킷에 대응되는, 컨텐츠를 포함하는 컨텐츠 응답 패킷인 CCN 응답 패킷을 단말(100)로 전달할 때, 해당 컨텐츠를 요청한 노드로 CCN 응답 패킷을 라우팅하기 위함이다. 여기서, 포워딩 정보 베이스(150)에 기초하여 CCN 요청 패킷을 전달할 페이스를 선택(결정)할 때, CCN 요청 패킷이 수신된 페이스(여기서는 페이스 0(101))는 선택 대상에서 제외될 수 있다.
다시 도 1을 참조하면, 다수의 CCN 노드(410)는 전술한 바와 같이 FIB를 참조하여 CCN 요청 패킷을 전달하고자 하는 다른 CCN 노드(410)를 결정하고, PIT를 이용하여 CCN 응답 패킷에 대한 라우팅 과정 없이 단말(100)로 CCN 응답 패킷을 전달할 수 있다.
이러한 과정을 거쳐 CCN 응답 패킷은 CCN 어댑터 장치(250)로 전달될 수 있으며, CCN 어댑터 장치(250)는 CCN 응답 패킷을 컨텐츠 세그먼트 응답 메시지로 변환 처리한 후 단말(100)로 전송되는 과정을 지원할 수 있다.
또한, 해당 컨텐츠 세그먼트의 저장 장소가 변경되거나 오리진 서버로부터 전달되는 컨텐츠 세그먼트를 어느 하나의 CCN 노드(410)가 저장하는 경우, 이에 대한 컨텐츠 이름을 정의할 수 있는 정보를 스트리밍 서버(200)로 전달하고 스트리밍 서버(200)는 컨텐츠 이름을 정의한 후 메타데이터에 추가 또는 수정하는 과정을 수행할 수 있게 된다.
본 발명의 인터넷망(300)은 다수의 기지국 장치(310)를 통해 연결되는 접속망(미도시) 및 코어망(미도시)을 거쳐 연결될 수 있다. 접속망(미도시)은 단말(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(미도시)와 연결하여 구성할 수도 있다.
또한, 접속망(미도시)와 함께 망을 구성하는 코어망(미도시)은 접속망(미도시)과 외부 망, 예컨대, 인터넷망(300)을 연결하는 역할을 수행한다.
이러한 코어망(미도시)은 앞서 설명한 바와 같이, 접속망(미도시) 간의 이동성 제어 및 스위칭 등의 이동통신 서비스를 위한 주요 기능을 수행하는 네트워크 시스템으로서, 서킷 교환(circuit switching) 또는 패킷 교환(packet switching)을 수행하며, 모바일 망 내에서의 패킷 흐름을 관리 및 제어한다. 또한, 코어망(미도시)은 주파수간 이동성을 관리하고, 접속망(미도시) 및 코어망(미도시) 내의 트래픽 및 다른 네트워크, 예컨대 인터넷망(310)과의 연동을 위한 역할을 수행할 수도 있다. 코어망(미도시)은 상술한 구성 이외도 MSC(Mobile Switching Center), HLR(Home Location Register), MME(Mobile Mobility Entity)와 HSS(Home Subscriber Server) 등을 더 포함하여 구성될 수도 있다.
또한, 인터넷망(310)은 TCP/IP 프로토콜에 따라서 정보가 교환되는 통상의 공개된 통신망, 즉 공용망을 의미하는 것으로, 스트리밍 서버(200)와 연결되어, 스트리밍 서버(200)로부터 제공되는 컨텐츠를 코어망(미도시) 및 유무선 접속망(미도시)을 거쳐, 단말(100)로 제공하며, 단말(100)의 요청을 스트리밍 서버(200)로 전달하는 역할을 수행할 수 있다.
이상으로 본 발명의 컨텐츠 제공 시스템에 대해 간략히 설명하였으며, 이러한 컨텐츠 제공 시스템은 하드웨어, 소프트웨어 등의 컴퓨팅 자원을 저장하고, 클라이언트가 필요로 하는 컴퓨팅 자원을 해당 단말기로 제공할 수 있는 클라우드 컴퓨팅망을 포함할 수 있다. 여기서, 클라우드 컴퓨팅이란 정보가 인터넷 상의 서버에 영구적으로 저장되고, 데스크톱, 태블릿 컴퓨터, 노트북, 넷북, 스마트폰 등의 클라이언트 단말기에는 일시적으로 보관되는 컴퓨터 환경을 의미하며, 클라우드 컴퓨팅은 이용자의 모든 정보를 인터넷 상의 서버에 저장하고, 이 정보를 각종 IT 기기를 통하여 언제 어디서든 이용할 수 있도록 하는 컴퓨터 환경 접속망을 의미한다. 이러한, 인터넷망(300)은 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) 등의 네트워크와 향후 구현될 차세대 네트워크 및 클라우드 컴퓨팅 네트워크를 모두 포함하는 개념이다.
또한, 본 발명의 실시 예에 따른 각 장치에 탑재되는 프로세서는 본 발명에 따른 방법을 실행하기 위한 프로그램 명령을 처리할 수 있다. 일 구현 예에서, 이 프로세서는 싱글 쓰레드(Single-threaded) 프로세서일 수 있으며, 다른 구현 예에서 본 프로세서는 멀티 쓰레드(Multithreaded) 프로세서일 수 있다. 나아가 본 프로세서는 메모리 혹은 저장 장치 상에 저장된 명령을 처리하는 것이 가능하다.
이하, 본 발명의 실시 예에 따른 단말(100)의 구성 및 동작 방법에 대해 도 3을 참조하여 설명하도록 한다.
도 3은 본 발명의 실시 예에 따른 단말의 주요 구성을 도시한 블록도이다.
도 1 및 도 3을 참조하면, 본 발명의 실시 예에 따른 단말(100)은 통신부(110), 입력부(120), 제어부(130), 출력부(140) 및 저장부(150)를 포함하여 구성될 수 있다.
각 구성 요소에 대해 보다 구체적으로 설명하면, 먼저, 통신부(110)는 인터넷망(300)을 통해 스트리밍 서버(200)와 정보를 송수신하는 역할을 수행한다. 이를 위해 본 발명의 통신부(110)는 인터넷망(300)에 접속하는 절차를 수행할 수 있는데, 일정 반경 내 위치하는 기지국 장치(310)을 탐색하고, 탐색된 기지국 장치(310)의 접속 요청을 하여, 기지국 장치(310)에 접속되는 과정을 지원함으로써 접속망(미도시)에 접속될 수 있다. 여기서, 단말(100)의 통신부(110)가 접속망(미도시)의 기지국 장치(310)에 접속되는 과정은 공지된 다양한 구성을 채용할 수 있으므로, 구체적인 설명은 생략하도록 한다. 아울러, 통신부(110)가 기지국 장치(310)과 통신 절차를 수행 시 사용자 정보를 전송할 수 있다. 기본적으로 IMSI(International Mobile Subscriber Identity) 등과 같은 단말 식별번호 등을 기지국 장치(310)에 전송할 수 있으며, 기지국 장치(310)이 코어망(미도시)과의 접속 절차를 수행하는 동안, 단말 식별번호 등을 이용하여 가입자 정보를 확인할 수 있게 된다.
아울러, 본 발명의 실시 예에 따른 통신부(110)은 접속망(미도시)의 기지국 장치(310)을 통해 정상적으로 코어망(미도시)에 접속하게 되면, 컨텐츠를 요청하고 이를 수신할 수 있게 된다.
입력부(120)는 사용자로부터 입력되는 숫자 및 문자 정보 등의 다양한 정보, 각종 기능 설정 및 단말(100)의 기능 제어와 관련하여 입력되는 신호를 제어부(130)로 전달한다. 특히, 본 발명의 입력부(120)는 스트리밍 서버(200)에 접속하기 위한 필요한 사용자 입력을 지원할 수 있다.
이러한 입력부(120)는 상술한 바와 같이, 키보드나 키패드와 같은 키 입력 수단, 터치센서나 터치 패드와 같은 터치 입력 수단, 음성 입력 수단, 자이로 센서, 지자기 센서, 가속도 센서와 근접 센서, 그리고 카메라 중 적어도 하나 이상을 포함하여 이루어지는 제스처 입력 수단을 포함할 수도 있다.
이 외에도 현재 개발 중이거나 향후 개발될 수 있는 모든 형태의 입력 수단이 포함될 수 있다.
제어부(130)는 단말(100)의 전반적인 제어를 수행하는 것으로, 하드웨어적으로 CPU(Central Processing Unit)를 포함하는 적어도 하나 이상의 프로세서와 적어도 하나 이상의 메모리 로딩 데이터가 로딩되는 실행 메모리(예컨대, 레지스터 및/또는 RAM(Random Access Memory)) 및 상기 프로세서와 메모리로 적어도 하나 이상의 데이터들을 입출력하는 버스(BUS)를 포함하여 이루어질 수 있다. 또한 소프트웨어적으로 단말(100)에 정의된 기능을 수행하기 위해 소정의 기록매체로부터 상기 실행 메모리로 로딩되어 상기 프로세서에 의해 연산 처리되는 소정의 프로그램 루틴(Routine) 또는 프로그램 데이터를 포함하여 이루어질 수 있다. 다시 말해, 본 발명의 실시 예에 따른 컨텐츠 수신 및 재생 처리를 위해 단말(100)에 구비되는 기능 중 소프트웨어적으로 처리가 가능한 구성 요소를 제어부(130)의 기능으로 판단할 수 있다.
이러한, 본 발명의 제어부(130)는 본 발명의 실시 예에 따른 컨텐츠 전송 및 재생 처리를 위해 구비되는 적어도 하나 이상의 구성 요소와 기능적으로 연결된다. 즉, 제어부(130)는 통신부(110), 입력부(120), 저장부(140) 및 출력부(150)와 기능적으로 연결되며, 상기 각 구성 요소에 전원 공급 및 기능 수행을 위한 신호의 흐름을 제어하게 된다.
특히, 본 발명의 실시 예에 따른 제어부(130)는 컨텐츠 재생 처리 모듈(131)을 포함하여 구성될 수 있다.
컨텐츠 재생 처리 모듈(131)은 컨텐츠 요청 및 수신, 재생과 관련된 전반을 제어한다. 예컨대, 컨텐츠 재생 처리 모듈(131)은 재생 어플리케이션을 실행을 수행할 수 있다. 여기서 재생 어플리케이션은 스트리밍 서버(200)가 제공하는 컨텐츠를 재생할 수 있는 기능을 수행한다. 예를 들어, 스트리밍 서버(200)가 제공하는 고화질의 컨텐츠를 재생할 수 있는 어플리케이션이 될 수 있다. 그러나 이에 한정되는 것은 아니며 스트리밍 서버(200)가 제공하는 컨텐츠를 재생할 수 있는 것이라면 그 어떠한 어플리케이션(예컨대 브라우저)도 본 발명의 재생 어플리케이션이 될 수 있다.
그리고 컨텐츠 재생 처리 모듈(131)은 메타데이터인 MPD 정보를 확인한다. 상기 MPD를 통해 본 발명의 컨텐츠 재생 처리 모듈(131)은 각 세그먼트에 대한 주소 정보(URL)을 확인할 수 있으며, 해당 스트리밍 서버(200)로 컨텐츠 세그먼트를 요청하여 수신할 수 있다. 이때, 본 발명의 컨텐츠 재생 처리 모듈(131)은 각 세그먼트에 대한 식별 정보를 확인하고 식별 정보가 동일한 경우 동시에 서브스트림을 요청하여 수신하고, 이를 재생 처리하는 과정을 수행할 수 있다.
아울러, 본 발명의 제어부(130)는 디코딩 모듈(미도시)을 더 포함하여 구성될 수 있으며, 컨텐츠 재생 처리 모듈(131)로부터 전달되는 세그먼트를 디코딩 수행하고 이에 대한 결과를 컨텐츠 재생 처리 모듈(131)로 전달하여 컨텐츠가 재생되도록 지원하게 된다.
저장부(140)는 본 발명의 실시 예에 따른 기능 동작에 필요한 응용 프로그램을 비롯하여, 그 응용 프로그램 실행 중에 발생되는 다양한 데이터를 일시적으로 저장할 수 있다. 특히, 본 발명의 실시 예에 따른 저장부(140)는 스트리밍 서버(200)가 제공하는 컨텐츠를 실행할 수 있는 재생 어플리케이션(151)과 관련된 정보를 저장하고 관리할 수 있으며, 수신되는 컨텐츠 세그먼트를 저장하고 관리할 수 있다.
이러한 저장부(140)는 크게 프로그램 영역과 데이터 영역을 포함할 수 있다. 프로그램 영역은 단말(100)을 부팅시키는 운영체제(OS)와 같은 단말(100) 구동을 위한 관련된 정보들을 저장한다. 데이터 영역은 단말(100)의 사용에 따라 발생되는 데이터가 저장되는 영역으로, 상술한 바와 같이 재생 어플리케이션 및 인터넷망(300)로부터 전달되는 컨텐츠 세그먼트가 저장될 수 있다. 이러한, 저장부(140)는 플래시 메모리(flash memory), 하드디스크(hard disk), 멀티미디어 카드 마이크로(multimedia card micro) 타입의 메모리(예컨대, SD 또는 XD 메모리 등), 램(RAM), 롬(ROM) 등의 저장매체를 포함하여 구성될 수 있다.
출력부(150)는 단말(100)의 기능 수행 중에 발생하는 일련의 동작 상태 및 동작 결과 등에 대한 정보를 표시한다. 특히, 본 발명의 출력부(150)는 재생 어플리케이션 실행과 관련된 다양한 정보를 표시할 수 있다.
이러한, 출력부(150)는 상술한 바와 같이 입력부(120)와 함께 하나의 터치패널(또는 터치스크린)의 형태로 구현될 수도 있으며, 상기 입력부(120)와 함께 구현되는 경우, 사용자의 터치 동작에 따라 발생되는 다양한 정보들을 표시할 수 있다.
또한, 상술한 바와 같은 본 발명의 출력부(150)는 LCD(Liquid Crystal Display), TFT-LCD(Thin Film Transistor LCD), OLED(Organic Light Emitting Diodes), 발광다이오드(LED), AMOLED(Active Matrix Organic LED), 플렉시블 디스플레이(Flexible display) 및 3차원 디스플레이(3 Dimension) 등으로 구성될 수 있다. 또한 이들 중 일부 디스플레이는 그를 통해 외부를 볼 수 있도록 투명형 또는 광투과형으로 구성될 수 있다. 이는 TOLED(Transparant OLED)를 포함하는 투명 디스플레이 형태로 구성될 수 있다.
이와 같이, 도 3을 통해 단말(100)의 주요 구성요소에 대해 설명하였다. 그러나 도 3을 통해 도시된 구성요소가 모두 필수 구성요소인 것은 아니며, 도시된 구성요소보다 많은 구성 요소에 의해 단말(100)이 구현될 수도 있고, 그 보다 적은 구성요소에 의해 단말(100)이 구현될 수도 있다. 예컨대, 단말(100)은 전기적인 신호인 음원을 아날로그 신호로 변환하여 출력하는 음원 출력부(미도시)를 더 포함하여 구성될 수도 있다.
또한, 도 3을 통해 도시된 단말(100)의 주요 구성요소의 위치는 얼마든지 편의상 또는 다른 이유로 바뀔 수 있음이 물론이다.
또한, 본 발명의 실시 예에 따른 단말(100)의 구체적인 동작은 후술하는 흐름도를 통해 보다 명확하게 이해될 수 있을 것이다.
이하, 본 발명의 실시 예에 따른 스트리밍 서버(200)의 주요 구성 및 동작 방법에 대해 설명하도록 한다.
도 4는 본 발명의 실시 예에 따른 스트리밍 서버의 주요 구성을 도시한 블록도이다.
먼저, 도 1 및 도 4를 참조하면, 본 발명의 실시 예에 따른 스트리밍 서버(200)는 서버 통신부(210), 서버 제어부(220) 및 서버 저장부(230)를 포함하여 구성될 수 있다.
각 구성 요소에 대해 보다 구체적으로 설명하면, 서버 통신부(210)는 통신망(300)을 통해 단말(100)과 필요한 정보를 송수신하는 역할을 수행한다.
서버 제어부(220)는 MPD 구성 모듈(221), 변환 처리 모듈(222) 및 서비스 지원 모듈(223)을 포함하여 구성된다.
여기서, ‘모듈’은 각각 소정의 기능을 수행하는 구성 요소로서, 하드웨어, 소프트웨어, 혹은 하드웨어와 소프트웨어의 조합으로 구현될 수 있다. 예를 들어, 상기 ‘모듈’은 프로그램 모듈을 의미할 수 있으며, 이는 프로세서(Processor)에 의해 실행되어 소정의 기능을 수행하는, 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들, 및 변수들을 포함한다. 또한, 구성요소들과 '~모듈'들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 '~모듈'들로 결합되거나 추가적인 구성요소들과 '~모듈'들로 더 분리될 수 있다.
먼저 MPD 구성 모듈(221)은 컨텐츠에 대한 메타데이터를 생성하고 관리한다. 또한 메타데이터를 수정하고 단말(100)로 배포되는 과정을 제어할 수 있다.
변환 처리 모듈(222)은 도 1에 도시된 CCN 어댑터 장치(250)의 기능이 모듈화하여 서버 제어부(220)내 포함되는 실시 예를 설명하기 위한 것으로, 단말(100)의 HTTP 프로토콜에 따른 요청을 CCN 프로토콜에 대한 요청으로 변환처리하고, CCN 프로토콜에 대한 응답을 HTTP 프로토콜에 따른 응답으로 변환처리하는 과정 전반을 제어할 수 있다.
이러한 본 발명의 변환 처리 모듈(222)은 도 1에 도시된 바와 같이 독립된 CCN 어댑터 장치(250)로 구현되는 경우 생략될 수 있다.
서비스 지원 모듈(223)은 단말(100)의 요청에 따라 상기 단말(100)로 컨텐츠를 전송하기 위한 과정 전반을 제어할 수 있다. 예를 들어, 등록된 사용자를 대상으로 컨텐츠를 전송한다면 회원 가입 인증을 수행할 수 있다. 또한, 단말(100)로 메타데이터를 전달하는 역할을 수행하며, 컨텐츠 세그먼트가 단말(100)로 원활히 전달되는 과정을 지원할 수 있다.
아울러, 본 발명의 서버 제어부(220)는 인코딩 과정을 수행하는 경우, 인코딩 모듈을 더 포함하여 구성될 수도 있다.
서버 저장부(230)는 본 발명의 스트리밍 서버(200)의 동작 수행과 관련된 정보를 저장하는 것으로 특히, MPD 정보(231)을 저장하고 관리할 수 있다.
또한, 도면에는 도시되지 않았으나, 본 발명의 스트리밍 서버(200)가 등록된 사용자를 대상으로 서비스를 제공하는 경우, 회원 가입 및 인증을 위한 인적 정보 등을 저장하고 관리할 수 있다. 또한 본 발명의 스트리밍 서버(2000 내 저장 장소에 컨텐츠 세그먼트를 저장하고 관리할 경우, 해당 서브스트림을 포함할 수 있다.
이러한 본 발명의 실시 예에 따른 스트리밍 서버(200)의 구체적인 동작은 후술하는 흐름도를 통해 보다 명확하게 이해될 수 있을 것이다.
이하, 본 발명의 실시 예에 따른 컨텐츠 중심 네트워크 연동을 통한 컨텐츠 제공 방법을 설명하도록 한다.
도 5는 본 발명의 실시 예에 따른 단말에서의 컨텐츠 이용 방법을 설명하기 위한 흐름도이다.
도 1 및 도 5를 참조하면, 본 발명의 단말(100)은 스트리밍 서버(200)가 제공하는 컨텐츠를 이용하기 위해 먼저 재생 어플리케이션을 실행한다(S101).
여기서 재생 어플리케이션은 스트리밍 서버(200)가 제공하는 컨텐츠를 재생할 수 있는 기능을 수행한다. 예를 들어, 스트리밍 서버(200)가 제공하는 고화질의 컨텐츠를 재생할 수 있는 어플리케이션이 될 수 있다. 그러나 이에 한정되는 것은 아니며 스트리밍 서버(200)가 제공하는 컨텐츠를 재생할 수 있는 것이라면 그 어떠한 어플리케이션(예컨대 브라우저)도 본 발명의 재생 어플리케이션이 될 수 있다.
아울러, 본 발명의 재생 어플리케이션은 미리 스트리밍 서버(200) 또는 별도의 컨텐츠 스토어로부터 미리 다운로드 받아 단말(100) 내 설치된 상태인 것이 바람직하나 이에 한정되는 것은 아니며, 클라우드 방식으로 상기 재생 어플리케이션을 실행할 수도 있다.
이후에 본 발명의 단말(100)은 메타데이터인 MPD 정보를 확인한다(S203). 상기 MPD를 통해 본 발명의 단말(100)은 각 컨텐츠 세그먼트별로 주소 정보(URL)를 확인할 수 있으며(S105), 해당 주소 정보에 대응하는 장치로 컨텐츠 세그먼트 요청 메시지(HTTP REQUEST)를 전송한다(S107).
이때, 상기 컨텐츠 세그먼트 요청 메시지는 스트리밍 서버(200)를 목적지 주소로 하여 전송될 수 있으며, 이후에 스트리밍 서버(200)로부터 컨텐츠 세그먼트 응답 메시지(HTTP RESPONSE)를 수신하여(S109), 이를 재생할 수 있게 된다(S111). 이때, 본 발명의 단말(100)은 상기 컨텐츠 세그먼트 응답 메시지가 인코딩된 경우 이를 디코딩하는 과정을 처리할 수 있다. 또한 본 발명의 단말(100)은 컨텐츠 세그먼트 단위로 컨텐츠를 요청하여 수신할 수 있는데, 본 발명에서 기술하는 세그먼트는 컨텐츠 서브스트림의 일정 집합을 의미하는 것으로, 특정 기준(예컨대 씬(scene)의 변화 등)에 따라 그룹핑된 서브스트림의 집합을 의미할 수 있다. 본 발명의 단말(100)은 이러한 세그먼트 단위로 컨텐츠를 요청하여 수신할 수 있으며, 이는 전술한 컨텐츠의 메타데이터를 기초로 이뤄질 수 있다. 또한, 본 발명의 단말(100)은 컨텐츠의 메타데이터를 이용하여 선택적으로 컨텐츠 세그먼트를 요청할 수도 있다. 예를 들어 단말(100)의 상태 또는 네트워크 상태가 불안정한 경우, 단말(100)은 컨텐츠의 메타데이터를 확인하여 고용량의 컨텐츠라 하더라도 저용량의 컨텐츠만 수신되어 재생되도록 선택적으로 컨텐츠 세그먼트를 요청할 수 있다.
이하, 본 발명의 실시 예에 따른 스트리밍 서버에서의 컨텐츠 중심 네트워크 연동을 통한 컨텐츠 제공 방법을 설명하도록 한다.
도 6은 본 발명의 실시 예에 따른 컨텐츠 중심 네트워크 연동을 통한 컨텐츠 제공 방법을 설명하기 위한 흐름도이다.
도 6을 참조하여 설명하기에 앞서, 설명의 편의를 위해 본 발명의 스트리밍 서버(200)가 CCN 어댑터 장치(250)의 기능을 포함하여 구성되는 것을 가정하여 설명하도록 하나, 이에 한정되는 것은 아니며, CCN 어댑터 장치(250)에서 해당 단계가 구현될 수도 있다.
도 1 및 도 6을 참조하면, 본 발명의 스트리밍 서버(200)는 단말(100)로부터 컨텐츠 세그먼트 요청 메시지를 수신한다(S201). 본 발명의 스트리밍 서버(200)는 수신된 컨텐츠 세그먼트 요청 메시지를 CCN 망(400)으로 전달하기 위해 CCN 요청 패킷으로 변환한다(S203).
이때, 본 발명의 스트리밍 서버(200)는 먼저 상기 컨텐츠 세그먼트 요청 메시지에 대응하는 컨텐츠 세그먼트를 자신이 보유하고 있는 지 확인하고, 보유하고 있을 경우, 해당 컨텐츠 세그먼트를 포함하는 컨텐츠 세그먼트 응답 메시지를 상기 단말(100)로 전송하는 과정을 수행할 수 있다.
아울러, 본 발명의 스트리밍 서버(200)는 해당 컨텐츠 세그먼트를 자신이 저장하고 있지 않을 경우, 이를 CCN 망(400)에서 처리 가능하도록 CCN 패킷인 CCN 요청 패킷으로 변환하게 된다. 이를 위해 본 발명의 스트리밍 서버(200)는 컨텐츠의 메타데이터를 확인하여, 해당 컨텐츠 세그먼트에 대응하는 컨텐츠 이름을 확인하고 컨텐츠 이름을 포함하는 CCN 요청 패킷을 생성하게 된다. 여기서 컨텐츠 이름은 해당 컨텐츠 세그먼트를 저장하고 있는 저장 장소의 이름 정보, 컨텐츠 식별자 및 컨텐츠 세그먼트 식별자로 구성될 수 있다.
CCN 요청 패킷이 CCN 망(400)으로 전달되면(S205), CCN 망(400)에 위치하는 복수 개의 CCN 노드들은 라우팅 과정을 수행할 수 있다. 즉, 상기 컨텐츠 이름에 대응하는 컨텐츠 세그먼트를 자신이 저장하고 있는 지 여부를 확인한 후 저장하고 있을 경우 이를 스트리밍 서버(200)로 전달하며 그렇지 않을 경우, 오리진(origin) 서버인 컨텐츠 제공자(CP; Contents Provider)의 저장 장소까지 해당 CCN 요청 패킷은 전달될 수 있다. 그리고 컨텐츠 제공자로부터 CCN 응답 패킷을 전달받은 CCN 노드들은 이를 스트리밍 서버(200)론 전달하게 된다.
스트리밍 서버(200)는 CCN 요청 패킷에 대한 응답 패킷인 CCN 응답 패킷을 CCN 망(400)으로부터 수신하게 되면(S207), 이를 단말(100)로 전송하기 위해 컨텐츠 세그먼트 응답(HTTP RESPONSE) 메시지로 변환하게 되고(S209), 단말(100)로 컨텐츠 세그먼트 응답 메시지를 전송할 수 있다(S211).
아울러, 본 발명의 스트리밍 서버(200)는 S207 단계에서 해당 컨텐츠 세그먼트를 보유하고 있는 CCN 노드들에 대한 정보를 상기 CCN 응답 패킷의 컨텐츠 이름을 통해 확인할 수 있으며, 상기 컨텐츠 이름을 상기 컨텐츠의 메타데이터에 저장할 수 있다. 그리고 변경된 메타데이터를 단말(100)로 전송하여 보다 신속한 컨텐츠 제공이 가능하도록 지원할 수 있다.
본 발명의 실시 예에 따른 컨텐츠 중심 네트워크 연동을 통한 컨텐츠 제공 방법은 스트리밍 서버(200)와 CCN 어댑터 장치(250) 간의 연동을 통해 이뤄질 수 있다. 즉, 도 6에서는 CCN 어댑터 장치(250)의 기능이 스트리밍 서버(200) 내에 포함된 형태로 동작하는 것을 기술하였는데, 본 발명의 CCN 어댑터 장치(250)의 기능은 독립적으로 동작할 수도 있다.
이에 대해 도 7을 참조하여 설명하도록 한다.
도 7은 본 발명의 실시 예에 따른 컨텐츠 중심 네트워크 연동을 통한 컨텐츠 제공 방법을 보다 더 구체적으로 설명한 데이터 흐름도이다.
도 7을 참조하면, 먼저 단말(100)은 스트리밍 서버(200)가 제공하는 컨텐츠를 이용하기 위해 재생 어플리케이션을 실행한다(S301).
여기서 재생 어플리케이션은 스트리밍 서버(200)가 제공하는 컨텐츠를 재생할 수 있는 기능을 수행한다. 예를 들어, 스트리밍 서버(200)가 제공하는 고화질의 컨텐츠를 재생할 수 있는 어플리케이션이 될 수 있다. 그러나 이에 한정되는 것은 아니며 스트리밍 서버(200)가 제공하는 컨텐츠를 재생할 수 있는 것이라면 그 어떠한 어플리케이션(예컨대 브라우저)도 본 발명의 재생 어플리케이션이 될 수 있다.
아울러, 본 발명의 재생 어플리케이션은 미리 스트리밍 서버(200) 또는 별도의 컨텐츠 스토어로부터 미리 다운로드 받아 단말(100) 내 설치된 상태인 것이 바람직하나 이에 한정되는 것은 아니며, 클라우드 방식으로 상기 재생 어플리케이션을 실행할 수도 있다.
이후에 본 발명의 단말(100)은 메타데이터인 MPD 정보를 확인한다(S303). 상기 MPD를 통해 본 발명의 단말(100)은 각 컨텐츠 세그먼트별로 주소 정보(URL)를 확인할 수 있으며(S305), 해당 주소 정보에 대응하는 스트리밍 서버(200)로 컨텐츠 세그먼트 요청 메시지(HTTP REQUEST)를 전송한다(S307).
이를 수신한 스트리밍 서버(200)는 CCN 어댑터 장치(250)로 전달하게 된다(S309). 본 발명의 CCN 어댑터 장치(250)는 인터넷망(300)과 CCN 망(400)을 연결하는 역할을 수행하는 것으로, HTTP 프로토콜을 따르는 메시지를 CCN 프로토콜을 따르는 패킷 형태로 변환 처리할 수 있는 장치이다.
이러한 본 발명의 CCN 어댑터 장치(250)는 스트리밍 서버(200)로부터 전달된 컨텐츠 세그먼트 요청 메시지를 CCN 요청 패킷으로 변환하기 위해, 먼저 CCN 컨텐츠 이름을 확인한다(S311). 상기 이름 정보는 상기 컨텐츠의 메타데이터를 확인하여 이뤄질 수 있다.
그리고 CCN 어댑터 장치(250)는 확인된 컨텐츠 이름을 포함하여 CCN 요청 패킷으로 변환하고(S313), 이를 CCN 망(400)으로 전달한다. CCN 망(400)을 구성하는 복수 개의 CCN 노드들은 상기 컨텐츠 이름에 해당하는 컨텐츠 세그먼트를 저장하고 있는 CCN 노드들을 찾아 라우팅 과정을 수행하게 된다(S317). 그리고 어느 하나의 CCN 노드에 해당 컨텐츠 세그먼트가 존재하거나 컨텐츠 제공자에 상기 컨텐츠 세그먼트가 존재하는 경우(S319), 다시 라우팅 과정을 거쳐 CCN 어댑터 장치(250)로 CCN 응답 패킷이 전송될 수 있다. 반면, 상기 CCN 망(400)으로부터 전달되는 CCN 응답 패킷은 컨텐츠 세그먼트가 아닌 상기 컨텐츠 세그먼트를 포함하는 컨텐츠 자체가 전달될 수 있으며, 이 경우, CCN 어댑터 장치(250)는 상기 컨텐츠를 세그먼트 단위로 분할하여 단말(100)이 요청한 해당 컨텐츠 세그먼트만이 단말(100)로 전달되도록 제어할 수도 있다.
아울러, 본 발명의 CCN 어댑터 장치(250)는 CCN 망(400)으로부터 전달된 CCN 응답 패킷을 컨텐츠 세그먼트 응답 메시지로 변환하게 되며(S323), 변환된 컨텐츠 세그먼트 응답 메시지를 스트리밍 서버(200)로 전송하게 된다(S325). 아울러, 상기 CCN 응답 패킷은 상기 컨텐츠 세그먼트의 저장 장소에 대한 정보를 포함하는 컨텐츠 이름을 포함하며, 본 발명의 스트리밍 서버(200)는 전달되는 컨텐츠 이름을 상기 컨텐츠에 대한 메타데이터에 반영되도록 메타데이터를 수정하는 과정을 수행하게 된다.
그리고 수행된 메타데이터를 단말(100)로 배포하여 추후 변경된 메타데이터에 따라 컨텐츠 제공이 이뤄지도록 지원할 수 있다.
아울러, 본 발명의 단말(100)은 스트리밍 서버(200)로부터 컨텐츠 세그먼트 응답 메시지가 전송되면(S327), 이를 수신하여 컨텐츠를 재생할 수 있다(S329).
본 발명의 스트리밍 서버(200)는 CCN 어댑터 장치(250)로부터 전달되는 컨텐츠 이름이 상기 컨텐츠에 대한 메타데이터에 반영되도록 메타데이터를 수정하는 과정을 수행하게 되는 데 이에 대해 도 8을 참조하여 부연 설명하도록 한다.
도 8은 본 발명의 실시 예에 따른 메타데이터의 구조를 설명하기 위한 예시도이다.
도 8을 참조하면, 본 발명의 메타데이터는 컨텐츠의 미디어 정보(MPD; Media Presentation description)를 의미한다. 여기서 MPD는 미디어 프리젠테이션의 양식화된 설명(description)을 의미하는 것으로, 본 발명의 MPD는 MPEG의 동적 및 적응적 HTTP 스트리밍(DASH; Dynamic and Adaptive HTTP Streaming of MEPG)의 MPD일 수 있다.
MPD는 전술한 바와 같이 단말(100)에 전달하고자 하는 미디어의 리프리젠테이션(representation, 705)(또는, 표현)의 설명(description)을 포함할 수 있다. 즉, MPD는 단말(100)이 접근할 수 있는 비디오, 오디오 및 언어 등의 조합들을 설명하고 있다.
MPD는 세그먼트(segment)를 위한 자원 식별자들을 알리기 위한 포맷(707)을 정의할 수 있다. MPD는 미디어 프리젠테이션 내에서의 식별된 자원들에 대한 컨텍스트(context)를 제공할 수 있으며 이때의 자원 식별자들은 HTTP-URL이며, 바이트 범위(byte range) 속성에 의해 제한될 수 있다.
각 주기(period)는 프래그먼트(fragment)들로 나뉘어지며, 여기서 프래그먼트는 세그먼트(segment)는 동일한 의미로 사용될 수 있다. 세그먼트는 3GPP(Generation Partnership Project) 적응적 HTTP 스트리밍의 용어이다.
프래그먼트(세그먼트, 707)는 예컨대 RFC 2616에서 정의된, HTTP-URL에 대한 HTTP/1.1 GET 요청(또는, 바이트 범위(range)에 의해 가리켜진(indicated) 일부에 대한 GET 요청)에 대한 응답(response)의 객체(entity) 바디(body)를 의미하며, 부(sub)-세그먼트는 세그먼트 레벨에서의 세그먼트 인덱스(index)에 의해 인덱스될 수 있는 세그먼트들 내의 가장 작은(smallest) 유닛(unit)을 의미할 수 있다.
또한 하나의 주기(period, 703)는 두 개 이상의 프래그먼트 집합을 포함할 수 있으며, 프래그먼트의 집합들 각각을 리프리젠테이션(Representation)으로 지칭할 수 있다. 아울러 상기 리프리젠테이션(representation)은 대안(alternative)으로 지칭될 수도 있다.
리프리젠테이션은 하나의 주기 내의 하나 이상의 미디어 컴포넌트들의 구조화된(structured) 컬렉션이다. 리프리젠테이션은, 비트레이트(bitrate), 해상도(resolution), 언어(language) 및 코덱(codec) 등과 같은 인코딩(encoding) 선택(choice)이 상이한, 미디어 콘텐츠 또는 미디어 콘텐츠의 부분집합의 대안적인(alternative) 선택(choice)들 중 하나일 수 있다. 즉, 리프리젠테이션은 미디어를 구성할 수 있는 비디오, 오디오 및 언어 등의 조합을 나타낼 수 있다.
MPD(또는, MPD 요소)는 단말(100)이 하나 이상의 리프리젠테이션을 선택하는 것을 가능하게 하는 설명적인 정보를 제공하는 것으로, 다시 말해, 세그먼트들을 접근하고, 사용자에게 스트리밍 서비스를 제공하기 위해 적합한(appropriate) HTTP-URL들을 구성하기 위해 DASH 클라이언트에게 요구되는 메타데이터를 포함하는 문서이다. HTTP-URL들은 절대적이거나 상대적일 수 있다. 이러한 MPD는 XML-문서 형태로 구현될 수 있으며, MPD는 상술한 바와 같은 다양한 MPD 요소(element)를 포함할 수 있으며, 반면에 어느 하나의 MPD 요소만을 포함할 수도 있다.
이러한 메타데이터 생성이 완료되면, 본 발명의 스트리밍 서버(200)는 해당 단말(100)로 메타데이터를 전송할 수 있다. 이때, 본 발명의 스트리밍 서버(200)는 CCN 어댑터 장치(250)로부터 전달되는 컨텐츠 이름이 상기 메타데이터에 반영되도록 수정하는 과정을 수행할 수 있다. 즉, 709 및 711이 지시하는 바와 같이 각 메타데이터에 컨텐츠 이름을 명시할 수 있으며, 711이 지시하는 바와 같이 컨텐츠 세그먼트 식별 정보와 709가 지시하는 바와 같이 컨텐츠 식별 정보를 컨텐츠 이름으로 정의하여 메타데이터에 기재할 수 있다.
아울러, 본 발명의 실시 예에 따른 스트리밍 서버(200)는 수정된 메타데이터를 단말(100)로 배포하여 추후 이를 확인한 단말(100)로부터 컨텐츠 세그먼트 전송 요청이 전달되는 경우, 해당 메타데이터의 컨텐츠 이름 정보를 확인하여 CCN 망(400)에서의 라우팅 과정없이 즉시 CCN 노드에서 해당 컨텐츠 세그먼트가 단말(100)로 전송되는 과정을 지원할 수 있게 된다.
아울러, 본 발명의 실시 예에 따른 스트리밍 서버(200)는 어느 하나의 컨텐츠에 대응하여 복수 개의 메타데이터를 생성할 수도 있다. 예를 들어 본 발명의 스트리밍 서버(200)가 컨텐츠를 복수 개의 레이어로 계층화하여 비트스트림을 생성하는 스케일러블 인코딩 방식을 지원하는 경우, 단말(100)의 성능 또는 네트워크 상태에 따라 선택적으로 디코딩이 수행되도록 이에 대한 정보를 메타데이터에 기술할 수 있다.
이상으로 본 발명의 실시 예에 따른 컨텐츠 중심 네트워크 연동을 통한 컨텐츠 제공 방법에 대해 설명하였다.
본 발명의 컨텐츠 중심 네트워크 연동을 통한 컨텐츠 제공 방법은 컨텐츠 중심 네트워크 기반 컨텐츠 전송이 가능한 다수의 CCN 노드를 포함하는 CCN 망과, 상기 CCN 망에 연결되며 TCP/IP 기반 컨텐츠 전송이 가능한 스트리밍 서버를 포함하는 컨텐츠 제공 시스템에 있어서, 상기 스트리밍 서버가, 어느 하나의 단말이 요청한 컨텐츠 세그먼트 요청 메시지를 수신하는 단계, 상기 컨텐츠 세그먼트 요청 메시지를 CCN 요청 패킷으로 변환하여 CCN 망으로 전달하는 단계, 상기 CCN 망으로부터 CCN 응답 패킷을 수신하는 단계, 상기 CCN 응답 패킷을 컨텐츠 세그먼트 응답 메시지로 변환하는 단계 및 상기 단말로 상기 컨텐츠 세그먼트 응답 메시지를 전송하는 단계 등을 실행할 수 있다.
이러한, 컴퓨터 프로그램 명령어와 데이터를 저장하기에 적합한 컴퓨터로 판독 가능한 매체는, 예컨대 기록매체는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(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) 프로그램과 이와 관련된 코드 및 코드 세그먼트 등은, 기록매체를 읽어서 프로그램을 실행시키는 컴퓨터의 시스템 환경 등을 고려하여, 본 발명이 속하는 기술분야의 프로그래머들에 의해 용이하게 추론되거나 변경될 수도 있다.
아울러, 상술한 바와 같은 컴퓨터가 읽을 수 있는 기록매체에 기록된 컴퓨터 프로그램은 상술한 바와 같은 기능을 수행하는 명령어를 포함하며 기록매체를 통해 배포되고 유통되어 특정 장치, 특정 컴퓨터에 읽히어 설치되고 실행됨으로써 전술한 기능들을 실행할 수 있다.
여기서, 컴퓨터가 기록매체에 기록된 프로그램을 읽어 들여 프로그램으로 구현된 기능들을 실행시키기 위하여, 전술한 컴퓨터 프로그램은 컴퓨터의 프로세서(CPU)가 컴퓨터의 장치 인터페이스(Interface)를 통해 읽힐 수 있는 C, C++, JAVA, 기계어 등의 컴퓨터 언어로 코드화된 프로그램 명령어에 대한 코드(Code)를 포함할 수 있다.
이러한 코드는 전술한 기능들을 정의한 함수 등과 관련된 기능적인 코드(Function Code)를 포함할 수 있고, 전술한 기능들을 컴퓨터의 프로세서가 소정의 절차대로 실행시키는데 필요한 실행 절차 관련 제어 코드를 포함할 수도 있다. 또한, 이러한 코드는 전술한 기능들을 컴퓨터의 프로세서가 실행시키는데 필요한 추가 정보나 미디어가 컴퓨터의 내부 또는 외부 메모리의 어느 위치(주소 번지)에서 참조 되어야 하는지에 대한 메모리 참조 관련 코드를 더 포함할 수 있다. 또한, 컴퓨터의 프로세서가 전술한 기능들을 실행시키기 위하여 원격(Remote)에 있는 어떠한 다른 컴퓨터나 서버 등과 통신이 필요한 경우, 코드는 컴퓨터의 프로세서가 컴퓨터의 통신 모듈을 이용하여 원격(Remote)에 있는 어떠한 다른 컴퓨터나 서버 등과 어떻게 통신해야만 하는지, 통신 시 어떠한 정보나 미디어를 송수신해야 하는지 등에 대한 통신 관련 코드를 더 포함할 수도 있다.
본 명세서는 다수의 특정한 구현물의 세부사항들을 포함하지만, 이들은 어떠한 발명이나 청구 가능한 것의 범위에 대해서도 제한적인 것으로서 이해되어서는 안되며, 오히려 특정한 발명의 특정한 실시형태에 특유할 수 있는 특징들에 대한 설명으로서 이해되어야 한다. 개별적인 실시형태의 문맥에서 본 명세서에 기술된 특정한 특징들은 단일 실시형태에서 조합하여 구현될 수도 있다. 반대로, 단일 실시형태의 문맥에서 기술한 다양한 특징들 역시 개별적으로 혹은 어떠한 적절한 하위 조합으로도 복수의 실시형태에서 구현 가능하다. 나아가, 특징들이 특정한 조합으로 동작하고 초기에 그와 같이 청구된 바와 같이 묘사될 수 있지만, 청구된 조합으로부터의 하나 이상의 특징들은 일부 경우에 그 조합으로부터 배제될 수 있으며, 그 청구된 조합은 하위 조합이나 하위 조합의 변형물로 변경될 수 있다.
마찬가지로, 특정한 순서로 도면에서 동작들을 묘사하고 있지만, 이는 바람직한 결과를 얻기 위하여 도시된 그 특정한 순서나 순차적인 순서대로 그러한 동작들을 수행하여야 한다거나 모든 도시된 동작들이 수행되어야 하는 것으로 이해되어서는 안 된다. 특정한 경우, 멀티태스킹과 병렬 프로세싱이 유리할 수 있다. 또한, 상술한 실시형태의 다양한 시스템 컴포넌트의 분리는 그러한 분리를 모든 실시형태에서 요구하는 것으로 이해되어서는 안되며, 설명한 프로그램 컴포넌트와 시스템들은 일반적으로 단일의 소프트웨어 제품으로 함께 통합되거나 다중 소프트웨어 제품에 패키징 될 수 있다는 점을 이해하여야 한다.
본 발명은 컨텐츠 제공 방법에 관한 것으로, 더욱 상세하게는 컨텐츠 중심 네트워크(CONTENT CENTRCI NETWORKING)와의 연동을 통해 단말로 컨텐츠를 제공할 수 있는 컨텐츠 중심 네트워크 연동을 통한 컨텐츠 제공 방법 및 이를 위한 장치에 관한 것이다.
본 발명에 의하면, 스트리밍 서버 또는 스트리밍 서버와 연동가능한 별도의 모듈 장치가 컨텐츠 세그먼트 요청 메시지를 CCN 요청 패킷으로 변환 처리하고, CCN 응답 패킷을 컨텐츠 세그먼트 응답 메시지로 변환 처리함으로써, 단말에 대한 별도의 설계 변경 없이 컨텐츠 중심 네트워크와 접목된 스트리밍 서비스를 제공할 수 있으며, 이를 통해 서비스 산업의 발전에 이바지할 수 있다.
더불어, 본 발명은 시판 또는 영업의 가능성이 충분할 뿐만 아니라 현실적으로 명백하게 실시할 수 있는 정도이므로 산업상 이용가능성이 있다.
100: 단말 110: 통신부
120: 입력부 130: 제어부
131: 컨텐츠 재생 처리 모듈 140: 출력부
150: 저장부 151: 재생 어플리케이션
200: 스트리밍 서버 210: 서버 통신부
220: 서버 제어부 221: MPD 구성 모듈
222: 변환 처리 모듈 223: 서비스 지원 모듈
250: CCN 어댑터 장치 300: 인터넷망
310: 기지국 장치 400: CCN 망
410: CCN 노드

Claims (8)

  1. 컨텐츠 중심 네트워크 기반 컨텐츠 전송이 가능한 다수의 CCN 노드를 포함하는 CCN 망과, 상기 CCN 망에 연결되며 TCP/IP 기반 컨텐츠 전송이 가능한 스트리밍 서버를 포함하는 컨텐츠 제공 시스템에 있어서,
    상기 스트리밍 서버가,
    어느 하나의 단말이 요청한 컨텐츠 세그먼트 요청 메시지를 수신하는 단계;
    상기 컨텐츠 세그먼트 요청 메시지를 CCN 요청 패킷으로 변환하여 CCN 망으로 전달하는 단계;
    상기 CCN 망으로부터 CCN 응답 패킷을 수신하는 단계;
    상기 CCN 응답 패킷을 컨텐츠 세그먼트 응답 메시지로 변환하는 단계; 및
    상기 단말로 상기 컨텐츠 세그먼트 응답 메시지를 전송하는 단계;를 포함하고,
    상기 CCN 응답 패킷을 수신하는 단계는
    컨텐츠 세그먼트에 대한 컨텐츠 이름을 확인하는 단계; 및
    상기 확인된 컨텐츠 이름이 상기 컨텐츠의 메타데이터에 반영되도록 상기 메타데이터를 수정하는 단계;를 포함하며,
    상기 메타데이터를 수정하는 단계는
    상기 컨텐츠 세그먼트의 식별 정보를 상기 컨텐츠 이름으로 정의하여 상기 메타데이터에 기재하고,
    컨텐츠를 복수 개의 레이어로 계층화하여 비트스트림을 생성하는 스케일러블 인코딩 방식을 지원하는 경우, 상기 단말의 성능 또는 네트워크 상태에 따라 선택적으로 디코딩이 수행되도록 상기 단말의 성능 또는 네트워크 상태에 대한 정보를 메타데이터에 포함시켜 어느 하나의 컨텐츠에 대응하는 복수 개의 메타데이터를 생성하는 것을 특징으로 하는 컨텐츠 중심 네트워크 연동을 통한 컨텐츠 제공 방법.
  2. 제1항에 있어서,
    상기 CCN 망으로 전달하는 단계는
    상기 컨텐츠에 대응하는 메타데이터의 컨텐츠 이름을 확인하는 단계; 및
    상기 확인된 컨텐츠 이름을 포함하는 CCN 요청 패킷으로 변환하여 CCN 망으로 전달하는 단계;
    를 포함하는 것을 특징으로 하는 컨텐츠 중심 네트워크 연동을 통한 컨텐츠 제공 방법.
  3. 제2항에 있어서,
    상기 컨텐츠에 대응하는 메타데이터의 컨텐츠 이름이 존재하지 않을 경우, 상기 컨텐츠 이름을 정의하는 단계;
    를 더 포함하는 것을 특징으로 하는 컨텐츠 중심 네트워크 연동을 통한 컨텐츠 제공 방법.
  4. 삭제
  5. 제1항에 있어서,
    상기 컨텐츠 이름은
    해당 컨텐츠 세그먼트를 저장하고 있는 CCN 노드의 이름 정보, 컨텐츠 식별자 및 컨텐츠 세그먼트 식별자 중 적어도 어느 하나 이상을 포함하여 구성되는 것을 특징으로 하는 컨텐츠 중심 네트워크 연동을 통한 컨텐츠 제공 방법.
  6. 제1항 내지 제3항, 제5항 중 어느 하나의 항에 기재된 컨텐츠 중심 네트워크 연동을 통한 컨텐츠 제공 방법을 실행하는 프로그램을 기록한 컴퓨터 판독 가능한 기록매체.
  7. 컨텐츠 중심 네트워크 기반 컨텐츠 전송이 가능한 다수의 CCN 노드를 포함하는 CCN 망과, 상기 CCN 망에 연결되며 TCP/IP 기반 컨텐츠 전송이 가능한 스트리밍 서버를 포함하는 컨텐츠 제공 시스템에 있어서,
    상기 스트리밍 서버는,
    어느 하나의 단말이 요청한 컨텐츠 세그먼트 요청 메시지를 수신하고, 상기 컨텐츠 세그먼트 요청 메시지를 CCN 요청 패킷으로 변환하여 상기 CCN 망으로 전달하며, 상기 CCN 망으로부터 CCN 응답 패킷을 수신하고, 상기 CCN 응답 패킷을 컨텐츠 세그먼트 응답 메시지로 변환한 후 상기 단말로 전송하는 변환 처리 모듈; 및
    상기 CCN 망으로부터 전달된 상기 CCN 응답 패킷의 컨텐츠 이름을 확인하고, 상기 컨텐츠 이름이 상기 컨텐츠에 대한 메타데이터에 반영되도록 메타데이터를 수정하는 MPD 구성 모듈;를 포함하고,
    상기 MPD 구성 모듈은
    상기 컨텐츠 세그먼트의 식별 정보를 상기 컨텐츠 이름으로 정의하여 상기 메타데이터에 기재하고,
    컨텐츠를 복수 개의 레이어로 계층화하여 비트스트림을 생성하는 스케일러블 인코딩 방식을 지원하는 경우, 상기 단말의 성능 또는 네트워크 상태에 따라 선택적으로 디코딩이 수행되도록 상기 단말의 성능 또는 네트워크 상태에 대한 정보를 메타데이터에 포함시켜 어느 하나의 컨텐츠에 대응하는 복수 개의 메타데이터를 생성하는 것을 특징으로 하는 스트리밍 서버.
  8. 제7항에 있어서,
    상기 변환 처리 모듈은 상기 컨텐츠 세그먼트 요청 메시지를 상기 CCN 요청 패킷으로 변환 시 상기 컨텐츠에 대한 메타데이터에 기재된 컨텐츠 이름을 확인한 후 상기 컨텐츠 이름을 포함하는 CCN 요청 패킷으로 변환하여 상기 CCN 망으로 전달하는 것을 특징으로 하는 스트리밍 서버.

KR1020150121786A 2015-08-28 2015-08-28 컨텐츠 중심 네트워크 연동을 통한 컨텐츠 제공 방법 및 이를 위한 장치 KR102228762B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
PCT/KR2015/009092 WO2017039022A1 (ko) 2015-08-28 2015-08-28 컨텐츠 중심 네트워크 연동을 통한 컨텐츠 제공 방법 및 이를 위한 장치
KR1020150121786A KR102228762B1 (ko) 2015-08-28 2015-08-28 컨텐츠 중심 네트워크 연동을 통한 컨텐츠 제공 방법 및 이를 위한 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150121786A KR102228762B1 (ko) 2015-08-28 2015-08-28 컨텐츠 중심 네트워크 연동을 통한 컨텐츠 제공 방법 및 이를 위한 장치

Publications (2)

Publication Number Publication Date
KR20170026810A KR20170026810A (ko) 2017-03-09
KR102228762B1 true KR102228762B1 (ko) 2021-03-18

Family

ID=58187755

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150121786A KR102228762B1 (ko) 2015-08-28 2015-08-28 컨텐츠 중심 네트워크 연동을 통한 컨텐츠 제공 방법 및 이를 위한 장치

Country Status (2)

Country Link
KR (1) KR102228762B1 (ko)
WO (1) WO2017039022A1 (ko)

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101750049B1 (ko) 2009-11-13 2017-06-22 삼성전자주식회사 적응적인 스트리밍 방법 및 장치
US8694675B2 (en) * 2011-09-01 2014-04-08 Futurewei Technologies, Inc. Generalized dual-mode data forwarding plane for information-centric network
EP2874116A4 (en) * 2012-07-13 2016-03-09 Samsung Electronics Co Ltd COMMUNICATION PROCEDURE BETWEEN A CONTENT REQUESTER AND A CONTENT PROVIDER FOR PROVISION OF CONTENT AND REAL-TIME STREAMING CONTENT IN A CONTENT-CENTER NETWORK ON THE BASIS OF CONTENT NAMES
KR20140035801A (ko) * 2012-09-14 2014-03-24 한국전자통신연구원 스위치 기반 icn 노드 및 이를 통한 네트워크 프로세스
KR101548822B1 (ko) * 2013-11-07 2015-08-31 경희대학교 산학협력단 콘텐츠 기반 네트워크의 콘텐츠 송신 방법
KR102184492B1 (ko) * 2013-11-19 2020-11-30 삼성전자주식회사 스트리밍 데이터 서비스를 위한 서버, 사용자 단말 장치 및 방법

Also Published As

Publication number Publication date
KR20170026810A (ko) 2017-03-09
WO2017039022A1 (ko) 2017-03-09

Similar Documents

Publication Publication Date Title
ES2731948T3 (es) Método y aparato para almacenamiento en caché flexible de medios distribuidos
WO2020043208A1 (zh) 网络切片选择方法、设备及***
US9226137B2 (en) Method and apparatus for real-time sharing of multimedia content between wireless devices
US11823675B2 (en) Display mode dependent response generation with latency considerations
US20220322323A1 (en) Method and apparatus for configuring 5g application servers in connected uplink-to-downlink streaming
US11122106B2 (en) Method and apparatus for providing web service using edge computing service
CN116261707A (zh) 通过在5g边缘服务器/云上运行包括动态场景更新的ar/mr处理向5g设备提供ar/mr应用的过程
JP2018081695A (ja) クラウドストリーミングサービス提供方法及びそのための装置
CN114586325B (zh) 用于媒体流式传输网络的内容准备的方法、设备和介质
KR20160102683A (ko) 클라우드 스트리밍 서비스를 위한 프락시 서버, 이를 이용한 클라우드 스트리밍 시스템 및 클라우드 스트리밍 서비스 제공 방법
US20120072549A1 (en) Method and system for optimizing cpns enabler
US9313613B2 (en) Method, apparatus, and system for performing unsolicited location-based download
KR102310070B1 (ko) 클라우드 스트리밍 서비스 제공을 위한 어플리케이션 캐싱 방법 및 이를 위한 장치
KR102228762B1 (ko) 컨텐츠 중심 네트워크 연동을 통한 컨텐츠 제공 방법 및 이를 위한 장치
KR102193481B1 (ko) 프록시 서버, 상기 프록시 서버에서의 페이지 재구성 방법
JP2023547836A (ja) ピアツーピア・メディア・パラメータ・ネゴシエーションのためのバーティカルアプリケーション層サーバの動作可能化
KR102209784B1 (ko) Mmt 패킷 캐싱 처리 방법 및 이를 위한 장치, 캐싱 처리를 위한 mmt 패킷 생성 방법 및 이를 위한 장치
JP2020194988A (ja) 通信制御方法および通信システム
US9596185B2 (en) Selection of data offer
KR102209782B1 (ko) 스트리밍 서비스 제공 방법 및 이를 위한 장치
KR102209785B1 (ko) Mmt 패킷 캐싱 처리 방법 및 이를 위한 장치, 캐싱 처리를 위한 mmt 패킷 생성 방법 및 이를 위한 장치
KR102055849B1 (ko) 도메인 네임 시스템들을 사용하는 멀티캐스트/브로드캐스트 리소스들의 주소 결정을 위한 방법 및 장치
KR102123414B1 (ko) 컨텐츠 제공 방법, 이를 위한 노드 제어 서버
KR20160102682A (ko) 클라우드 스트리밍 시스템 및 그 시스템에서의 데이터 캐싱을 위한 장치
KR20170026809A (ko) 스케일러블 인코딩을 지원하는 컨텐츠 전송 방법 및 이를 위한 스트리밍 서버

Legal Events

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