KR20140009931A - 컨텐츠 이름 기반의 컨텐츠 중심 네트워크에서 컨텐츠 및 실시간 스트리밍 컨텐츠 제공을 위한 컨텐츠 요청자 및 컨텐츠 제공자의 통신 방법 - Google Patents

컨텐츠 이름 기반의 컨텐츠 중심 네트워크에서 컨텐츠 및 실시간 스트리밍 컨텐츠 제공을 위한 컨텐츠 요청자 및 컨텐츠 제공자의 통신 방법 Download PDF

Info

Publication number
KR20140009931A
KR20140009931A KR20130082125A KR20130082125A KR20140009931A KR 20140009931 A KR20140009931 A KR 20140009931A KR 20130082125 A KR20130082125 A KR 20130082125A KR 20130082125 A KR20130082125 A KR 20130082125A KR 20140009931 A KR20140009931 A KR 20140009931A
Authority
KR
South Korea
Prior art keywords
content
request packet
time unit
segment
specific time
Prior art date
Application number
KR20130082125A
Other languages
English (en)
Inventor
박중홍
김재훈
장명욱
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to PCT/KR2013/006272 priority Critical patent/WO2014010992A1/ko
Priority to CN201380012109.0A priority patent/CN104145292A/zh
Priority to JP2015521554A priority patent/JP6329139B2/ja
Publication of KR20140009931A publication Critical patent/KR20140009931A/ko
Priority to US14/263,275 priority patent/US20140237085A1/en

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/80Responding to QoS
    • 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/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/612Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • 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/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/762Media network packet handling at the source 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/567Integrating service provisioning from a plurality of service providers

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Business, Economics & Management (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Tourism & Hospitality (AREA)
  • Human Resources & Organizations (AREA)
  • Theoretical Computer Science (AREA)
  • Strategic Management (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Marketing (AREA)
  • Primary Health Care (AREA)
  • General Health & Medical Sciences (AREA)
  • Economics (AREA)
  • Health & Medical Sciences (AREA)
  • Information Transfer Between Computers (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)

Abstract

컨텐츠를 요청하기 위하여 특정 시간 단위에 기반한 컨텐츠 요청임을 나타내는 식별자를 포함하는 컨텐츠 요청 패킷을 생성하여 전송하고, 특정 시간 단위에 대응하는 컨텐츠의 세그먼트들을 수신하는 컨텐츠 이름 기반의 컨텐츠 중심 네트워크에서 컨텐츠 제공을 위한 컨텐츠 요청자의 통신 방법을 제공할 수 있다.

Description

컨텐츠 이름 기반의 컨텐츠 중심 네트워크에서 컨텐츠 및 실시간 스트리밍 컨텐츠 제공을 위한 컨텐츠 요청자 및 컨텐츠 제공자의 통신 방법{COMMUNICATION METHOD OF CONTENTS REQUESTER AND CONTENTS PROVIDER FOR PROVIDING CONTENTS AND REAL-TIME STREAMING CONTENTS IN A CONTENTS CENTRIC NETWORK BASED ON CONTENTS NAME}
아래의 실시예들은 컨텐츠 이름 기반의 컨텐츠 중심 네트워크에서 특정 시간 단위를 이용하여 컨텐츠 및 실시간 스트리밍 컨텐츠를 제공하는 컨텐츠 요청자 및 컨텐츠 제공자의 통신 방법에 관한 것이다.
컨텐츠 중심 네트워크(Content Centric Networking; 이하, CCN)에서 패킷은 컨텐츠 요청 패킷과 컨텐츠 응답 패킷으로 구분될 수 있다. 컨텐츠 요청 패킷은 요청하는 컨텐츠의 이름을 포함하고, 컨텐츠 응답 패킷은 요청 받은 컨텐츠와 컨텐츠 이름 등을 포함할 수 있다. 컨텐츠 요청 패킷은 인터리스트(Interest)라고도 불릴 수 있다.
네트워크 장비는 컨텐츠 요청 패킷을 수신한 경우, 컨텐츠 요청 패킷의 헤더에 있는 컨텐츠 이름을 기초로 자신의 스토리지를 검색할 수 있다. 그리고, 해당 컨텐츠를 갖고 있을 경우, 네트워크 장비는 해당 컨텐츠를 요청자에게 전달할 수 있다. 따라서, 컨텐츠의 원래(original) 소유자에게까지 가서 컨텐츠를 받아와야 하는 인터넷 프로토콜(Internet Protocol; 이하 IP) 기반의 네트워크에 비해, 컨텐츠 중심 네트워크는 중간의 어느 노드라도 자신의 스토리지에 해당 컨텐츠가 있을 경우 컨텐츠 요청 패킷에 대해 응답(reply)할 수 있다.
일 실시예에 따르면, 컨텐츠 이름 기반의 컨텐츠 중심 네트워크에서 컨텐츠 제공을 위한 컨텐츠 요청자의 통신 방법은 상기 컨텐츠를 요청하기 위하여 특정 시간 단위에 기반한 컨텐츠 요청임을 나타내는 식별자를 포함하는 컨텐츠 요청 패킷을 생성하는 단계; 상기 컨텐츠 요청 패킷을 전송하는 단계; 및 상기 특정 시간 단위에 대응하는 상기 컨텐츠의 세그먼트들을 수신하는 단계를 포함한다.
상기 컨텐츠는 실시간 스트리밍 컨텐츠 또는 일반 컨텐츠 중 어느 하나를 포함할 수 있다.
상기 컨텐츠 요청 패킷을 생성하는 단계는 상기 컨텐츠의 이름을 이용하여 상기 컨텐츠의 세그먼트들을 요청하는 컨텐츠 요청 패킷을 생성하는 단계를 포함할 수 있다.
상기 컨텐츠 요청 패킷을 생성하는 단계는 상기 특정 시간 단위에 기반한 컨텐츠 요청임을 나타내는 식별자를 상기 컨텐츠 요청 패킷의 헤더 또는 상기 컨텐츠의 이름에 추가하는 단계를 포함할 수 있다.
상기 컨텐츠 요청 패킷을 생성하는 단계는 상기 컨텐츠의 전송이 지속되는 상기 특정 시간 단위 및 상기 컨텐츠 중 시작 세그먼트(starting segment)에 대한 정보를 상기 컨텐츠 요청 패킷의 헤더에 부가하는 단계를 포함할 수 있다.
상기 특정 시간 단위가 만료된 경우, 상기 특정 시간 단위의 다음(next) 시간 단위 및 상기 특정 시간 단위에 대응하는 컨텐츠 요청 패킷에 의해 마지막으로 수신한 세그먼트의 다음(next) 세그먼트에 대한 정보를 포함하는 컨텐츠 요청 패킷을 전송하는 단계를 더 포함할 수 있다.
상기 컨텐츠 요청자의 특성 및 네트워크 환경에 기초하여 상기 특정 시간 단위를 조절하는 단계를 더 포함할 수 있다.
펜딩 인터리스트 테이블(Pending Interest Table)에서 상기 컨텐츠 요청 패킷에 대응하여 상기 특정 시간 단위를 저장하는 단계를 더 포함할 수 있다.
상기 컨텐츠의 요청을 취소하도록 하는 취소 응답 패킷을 수신함에 따라 상기 컨텐츠에 해당하는 엔트리를 펜딩 인터리스트 테이블(Pending Interest Table)에서 삭제하는 단계를 더 포함할 수 있다.
상기 삭제하는 단계는 상기 컨텐츠 요청 패킷의 헤더에 포함된 타임 아웃 값을 이용하여 상기 컨텐츠에 해당하는 엔트리를 펜딩 인터리스트 테이블(Pending Interest Table)에서 삭제하는 단계를 포함할 수 있다.
상기 수신한 컨텐츠의 세그먼트들 중 누락(missing)되거나 오류가 발생한 세그먼트가 있는지 여부를 감지하는 단계; 및 상기 누락되거나 오류가 발생한 세그먼트가 감지되면, 소정의 시간 간격 동안 기다리는 단계를 더 포함할 수 있다.
상기 소정의 시간 간격 동안 상기 누락되거나 오류가 발생한 세그먼트가 상기 컨텐츠 요청자에게 전송되었는지 여부를 판단하는 단계; 상기 판단 결과를 기초로, 상기 누락되거나 오류가 발생한 세그먼트를 요청하는 컨텐츠 요청 패킷을 생성하는 단계; 및 상기 누락되거나 오류가 발생한 세그먼트를 요청하는 컨텐츠 요청 패킷을 전송하는 단계를 더 포함할 수 있다.
상기 누락되거나 오류가 발생한 세그먼트를 요청하는 컨텐츠 요청 패킷은, 상기 특정 시간 단위에 기반한 컨텐츠 요청임을 나타내는 식별자를 포함하지 않고, 네임 필드에 상기 누락되거나 오류가 발생한 세그먼트의 번호를 포함할 수 있다.
상기 누락되거나 오류가 발생한 세그먼트를 요청하는 컨텐츠 요청 패킷을 생성하는 단계는 상기 누락되거나 오류가 발생한 세그먼트의 개수와 미리 설정된 개수를 비교하는 단계; 및 상기 비교 결과에 기초하여, 상기 누락되거나 오류가 발생한 세그먼트를 요청하는 서로 다른 형태의 컨텐츠 요청 패킷을 생성하는 단계를 포함할 수 있다.
상기 서로 다른 형태의 컨텐츠 요청 패킷을 생성하는 단계는 상기 비교 결과, 상기 누락되거나 오류가 발생한 세그먼트의 개수가 미리 설정된 개수보다 같거나 작으면, 상기 누락되거나 오류가 발생한 세그먼트의 번호를 포함하는 컨텐츠 요청 패킷을 생성하는 단계를 포함할 수 있다.
상기 서로 다른 형태의 컨텐츠 요청 패킷을 생성하는 단계는 상기 비교 결과, 상기 누락되거나 오류가 발생한 세그먼트의 개수가 미리 설정된 개수보다 크면, 상기 누락되거나 오류가 발생한 세그먼트를 요청하는, 상기 특정 시간 단위에 기반한 컨텐츠 요청임을 나타내는 식별자를 포함하는 컨텐츠 요청 패킷을 생성하는 단계를 포함할 수 있다.
상기 컨텐츠가 실시간 스트리밍 컨텐츠인 경우, 컨텐츠 스토어에 상기 실시간 스트리밍 컨텐츠를 위한 저장 공간을 할당하는 단계를 더 포함할 수 있다.
상기 실시간 스트리밍 컨텐츠를 위한 저장 공간에 상기 수신한 실시간 스트리밍 컨텐츠의 세그먼트들 중 최신 세그먼트를 저장하는 단계를 더 포함할 수 있다.
상기 실시간 스트리밍 컨텐츠의 세그먼트들 중 누락되거나 오류가 발생한 세그먼트가 있는 경우, 상기 최신 세그먼트를 이용하여 상기 실시간 스트리밍 컨텐츠에 대한 재전송을 요청하는 단계를 더 포함할 수 있다.
일 실시예에 따르면, 컨텐츠 이름 기반의 컨텐츠 중심 네트워크에서 컨텐츠 제공을 위한 컨텐츠 제공자의 통신 방법은 특정 시간 단위에 기반한 컨텐츠 요청임을 나타내는 식별자를 포함하는 컨텐츠 요청 패킷을 수신하는 단계; 상기 컨텐츠 제공자의 컨텐츠 스토어 혹은 버퍼(buffer)에 상기 컨텐츠가 있는지 검색하는 단계; 상기 검색 결과를 기초로, 상기 특정 시간 단위에 대응하는 컨텐츠의 세그먼트들을 포함하는 컨텐츠 응답 패킷을 생성하는 단계; 및 상기 컨텐츠 응답 패킷을 전송하는 단계를 포함한다.
상기 컨텐츠는 실시간 스트리밍 컨텐츠 또는 일반 컨텐츠 중 어느 하나를 포함할 수 있다.
상기 컨텐츠가 있는지를 검색하는 단계는 상기 컨텐츠의 이름을 이용하여 상기 컨텐츠 스토어 혹은 상기 버퍼에 상기 컨텐츠가 있는지 검색하는 단계를 포함할 수 있다.
상기 컨텐츠가 종료한 경우, 상기 컨텐츠의 요청을 취소하도록 하는 취소 응답 패킷을 생성하는 단계를 더 포함할 수 있다.
상기 취소 응답 패킷을 생성하는 단계는 상기 컨텐츠의 마지막 세그먼트의 세그먼트 번호에 미리 설정된 정보를 기재하거나, 상기 컨텐츠의 마지막 세그먼트의 페이로드 사이즈를 미리 설정된 값으로 설정하여 상기 취소 응답 패킷을 생성하는 단계를 포함할 수 있다.
상기 취소 응답 패킷을 전송하는 단계를 더 포함할 수 있다.
상기 컨텐츠 요청 패킷을 수신하는 단계는 상기 컨텐츠의 전송이 지속되는 상기 특정 시간 단위 및 상기 컨텐츠 중 시작 세그먼트(starting segment)에 대한 정보를 포함하는 컨텐츠 요청 패킷을 수신하는 단계를 포함할 수 있다.
상기 컨텐츠 요청 패킷을 수신하는 단계는 상기 특정 시간 간격이 만료된 경우, 상기 특정 시간 단위의 다음(next) 시간 단위 및 상기 특정 시간 단위에 대응하는 컨텐츠 요청 패킷에 의해 마지막으로 수신한 세그먼트의 다음(next) 세그먼트에 대한 정보를 포함하는 컨텐츠 요청 패킷을 수신하는 단계를 포함할 수 있다.
상기 컨텐츠 요청 패킷을 수신하는 단계는 중간 노드의 컨텐츠 스토어에 저장되지 않은 상기 컨텐츠의 세그먼트들 중 첫 번째 세그먼트의 세그먼트 번호 및 상기 특정 시간 단위에서, 상기 중간 노드의 컨텐츠 스토어에 저장된 세그먼트의 처리에 소요되는 시간을 뺀 나머지 시간 단위를 포함하는 컨텐츠 요청 패킷을 수신하는 단계를 포함할 수 있다.
상기 컨텐츠의 세그먼트들 중 누락(missing)되거나 오류가 발생한 세그먼트를 요청하는 컨텐츠 요청 패킷을 수신하는 단계를 더 포함할 수 있다.
상기 누락되거나 오류가 발생한 세그먼트를 요청하는 컨텐츠 요청 패킷은, 상기 특정 시간 단위에 기반한 컨텐츠 요청임을 나타내는 식별자를 포함하지 않고, 네임 필드에 상기 누락되거나 오류가 발생한 세그먼트의 번호를 포함할 수 있다.
일 실시예에 따르면, 컨텐츠 이름 기반의 컨텐츠 중심 네트워크에서 컨텐츠 제공을 위한 컨텐츠 제공자의 통신 방법은 컨텐츠 요청 패킷을 수신하는 단계; 상기 컨텐츠 요청 패킷이 특정 시간 단위에 기반하는지 여부를 판단하는 단계; 상기 판단 결과에 따라, 상기 컨텐츠 요청 패킷이 상기 특정 시간 단위에 기반한 실시간 스트리밍 컨텐츠 또는 상기 특정 시간 단위에 기반한 일반 컨텐츠 중 어느 컨텐츠에 대한 요청인지 결정하는 단계; 상기 결정에 기초하여, 컨텐츠 응답 패킷을 생성하는 단계; 및 상기 컨텐츠 응답 패킷을 전송하는 단계를 포함한다.
상기 컨텐츠 요청 패킷이 특정 시간 단위에 기반하는지 여부를 판단하는 단계는 상기 컨텐츠 요청 패킷의 헤더 또는 상기 컨텐츠의 이름에 상기 특정 시간 단위에 기반한 컨텐츠 요청임을 나타내는 식별자가 있는지 여부를 기초로, 상기 컨텐츠 요청 패킷이 특정 시간 단위에 기반하는지 여부를 판단하는 단계를 포함할 수 있다.
상기 어느 컨텐츠에 대한 요청인지 결정하는 단계는 상기 컨텐츠 요청 패킷의 헤더에 포함된 정보를 이용하여 상기 컨텐츠 요청 패킷이 상기 특정 시간 단위에 기반한 실시간 스트리밍 컨텐츠 또는 상기 특정 시간 단위에 기반한 일반 컨텐츠 중 어느 컨텐츠에 대한 요청인지 결정하는 단계를 포함할 수 있다.
상기 컨텐츠 응답 패킷을 생성하는 단계는 상기 컨텐츠 요청 패킷이 상기 특정 시간 단위에 기반한 실시간 스트리밍 컨텐츠에 대한 요청으로 결정되는 경우, 상기 실시간 스트리밍 컨텐츠의 세그먼트들을 포함하는 컨텐츠 응답 패킷을 생성하는 단계를 포함할 수 있다.
상기 컨텐츠 응답 패킷을 생성하는 단계는 상기 컨텐츠 요청 패킷이 상기 특정 시간 단위에 기반한 일반 컨텐츠를 요청하는 것으로 판단되는 경우, 상기 특정 시간 단위에 기반한 일반 컨텐츠를 포함하는 컨텐츠 응답 패킷을 생성하는 단계를 포함할 수 있다.
상기 컨텐츠가 종료한 경우, 상기 컨텐츠의 요청을 취소하도록 하는 취소 응답 패킷을 생성하는 단계를 더 포함할 수 있다.
상기 취소 응답 패킷을 생성하는 단계는 상기 컨텐츠의 마지막 세그먼트의 세그먼트 번호에 미리 설정된 정보를 기재하거나, 상기 컨텐츠의 마지막 세그먼트의 페이로드 사이즈를 미리 설정된 값으로 설정하여 상기 취소 응답 패킷을 생성하는 단계를 포함할 수 있다.
상기 컨텐츠 요청 패킷을 수신하는 단계는 상기 컨텐츠의 전송이 지속되는 특정 시간 단위에 대한 정보를 포함하는 컨텐츠 요청 패킷을 수신하는 단계를 포함할 수 있다.
상기 컨텐츠의 세그먼트들 중 누락(missing)되거나 오류가 발생한 세그먼트를 요청하는 컨텐츠 요청 패킷을 수신하는 단계를 더 포함하고, 상기 누락되거나 오류가 발생한 세그먼트를 요청하는 컨텐츠 요청 패킷은, 상기 특정 시간 단위에 기반한 컨텐츠 요청임을 나타내는 식별자를 포함하지 않고, 네임 필드에 상기 누락되거나 오류가 발생한 세그먼트의 번호를 포함할 수 있다.
상기 컨텐츠 요청 패킷이 특정 시간 단위에 기반하지 않는다고 판단되는 경우, 상기 특정 시간 단위에 기반하지 않는 일반 컨텐츠를 포함하는 컨텐츠 응답 패킷을 생성하는 단계를 더 포함할 수 있다.
도 1은 일 실시예에 따른 컨텐츠 이름 기반의 컨텐츠 중심 네트워크에서 컨텐츠 요청 패킷을 처리하는 과정을 나타낸 도면이다.
도 2는 일 실시예에 따른 컨텐츠 이름 기반의 컨텐츠 중심 네트워크에서 컨텐츠 제공을 위해 시간 기반의 인터리스트 프로토콜(Time-Based Interest Protocol)을 이용하는 컨텐츠 요청자 및 컨텐츠 제공자의 동작을 설명하기 위한 도면이다.
도 3은 일 실시예에 따른 컨텐츠 이름 기반의 컨텐츠 중심 네트워크에서 특정 시간 단위에 기반한 컨텐츠 제공을 위한 컨텐츠 요청자의 통신 방법을 나타낸 플로우 차트이다.
도 4는 일 실시예에 따른 컨텐츠 이름 기반의 컨텐츠 중심 네트워크에서 특정 시간 단위에 기반한 컨텐츠 제공을 위한 컨텐츠 제공자의 통신 방법을 나타낸 플로우 차트이다.
도 5는 다른 실시예에 따른 컨텐츠 이름 기반의 컨텐츠 중심 네트워크에서 특정 시간 단위에 기반한 컨텐츠 제공을 위한 컨텐츠 요청자의 통신 방법을 나타낸 플로우 차트이다.
도 6은 일 실시예에 따른 컨텐츠 이름 기반의 컨텐츠 중심 네트워크에서 특정 시간 단위에 기반한 실시간 스트리밍 컨텐츠 제공을 위한 컨텐츠 요청자의 통신 방법을 나타낸 플로우 차트이다.
도 7은 다른 실시예에 따른 컨텐츠 이름 기반의 컨텐츠 중심 네트워크에서 특정 시간 단위에 기반한 컨텐츠 제공을 위한 컨텐츠 제공자의 통신 방법을 나타낸 플로우 차트이다.
도 8은 일 실시예에 따른 컨텐츠 이름 기반의 컨텐츠 중심 네트워크에서 특정 시간 단위에 기반한 실시간 스트리밍 컨텐츠 제공을 위한 컨텐츠 제공자의 통신 방법을 나타낸 플로우 차트이다.
도 9는 일 실시예에 따른 컨텐츠 이름 기반의 컨텐츠 중심 네트워크에서 컨텐츠의 요청을 종료하는 방법을 나타낸 도면이다.
도 10은 일 실시예에 따른 컨텐츠 이름 기반의 컨텐츠 중심 네트워크에서 컨텐츠의 제공을 위해 시간 기반의 인터리스트 프로토콜(Time-Based Interest Protocol)을 이용하는 컨텐츠 요청자와 컨텐츠 제공자 사이의 노드들의 펜딩 인터리스트 테이블(PIT)의 변화를 설명하기 위한 도면이다.
도 11은 도 6 및 도 8의 방법에 따른 실시간 스트리밍 컨텐츠의 제공 중에 새로운 컨텐츠 요청자에게 실시간 스트리밍 컨텐츠를 제공하는 경우를 설명하기 위한 도면이다.
도 12는 일 실시예에 따른 컨텐츠의 이름을 기반으로 하는 컨텐츠 중심 네트워크에서 특정 시간 단위에 기반한 컨텐츠와 특정 시간 단위에 기반하지 않은 일반 컨텐츠가 혼합되어 전송되는 경우의 컨텐츠 제공자의 통신 방법을 나타낸 플로우 차트이다.
도 13은 일 실시예에 따른 컨텐츠 중심 네트워크에서 시간 기반의 인터리스트 프로토콜(Time-Based Interest Protocol)을 이용하는 컨텐츠 요청자와 컨텐츠 제공자 간의 세그먼트의 전송 중에서 발생하는 홀(hole)을 복구하는 방법을 설명하기 위한 도면이다.
도 14는 일 실시예에 따른 컨텐츠 중심 네트워크에서 시간 기반의 인터리스트 프로토콜(Time-Based Interest Protocol)을 이용하는 네트워크 노드의 컨텐츠 스토어(Content Store) 처리 방법을 설명하기 위한 도면이다.
이하, 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다. 그러나, 본 발명이 일실시예들에 의해 제한되거나 한정되는 것은 아니다. 또한, 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.
이하에서, "컨텐츠 요청자(Content Requester)"는 컨텐츠 중심 네트워크에서 컨텐츠 또는 실시간 스트리밍 컨텐츠를 요청하는 통신 기기 혹은 노드를 의미하며, "컨텐츠 제공자(Content Provider)"는 컨텐츠 요청자가 요청한 컨텐츠 또는 실시간 스트리밍 컨텐츠를 제공하는 통신 기기 혹은 노드로서, 해당 컨텐츠의 최초 생성자(Publisher)뿐만 아니라, 컨텐츠 요청 패킷이 전달되는 경로 상에 있는 중간 노드들 중 해당 컨텐츠의 적어도 일부를 보유한 중간 노드를 포함하는 의미로 이해될 수 있다.
이하에서, 일 실시예에 따른 특정 시간 단위에 기반한 컨텐츠 요청임을 나타내는 식별자를 포함하는 컨텐츠 요청 패킷을 이용하는 컨텐츠 요청 및 컨텐츠 응답 방식을 "시간 기반의 인터리스트 프로토콜(Time-Based Interest Protocol)"으로 표현할 수 있다. '특정 시간 단위'는 특정 시간 간격 혹은 지속 시간(time duration)과 동일한 의미로 이해될 수 있다.
도 1은 일 실시예에 따른 컨텐츠 이름 기반의 컨텐츠 중심 네트워크에서 컨텐츠 요청 패킷을 처리하는 과정을 나타낸 도면이다.
컨텐츠 중심 네트워크에서 컨텐츠의 이름은 컨텐츠가 저장된 노드를 찾아가기 위한 나침반 역할과 해당 컨텐츠를 다른 컨텐츠와 구분해 주는 역할을 할 수 있다. 그러므로, 각 컨텐츠는 고유한(unique) 이름을 사용하며, 두 컨텐츠의 이름이 서로 다르면, 같은 내용의 컨텐츠도 다른 컨텐츠로 취급할 수 있다. 예를 들어, 같은 내용으로 이루어진 두 파일이 각각 /ABC.com/sait/video/intro.avi과 /ABC.com/sait/comm/video/intro.avi의 컨텐츠 이름으로 존재할 경우, 두 파일은 서로 다른 컨텐츠로 처리될 수 있다. 이러한 규칙은 이름이 비슷한 서로 다른 컨텐츠들을 구분함에 있어서 매우 유용하게 사용될 수 있다.
도 1은 이름 기반 네트워크의 일 예인 컨텐츠 중심 네트워크(Content-Centric Networking; CCN)에서 컨텐츠의 계층적 이름을 기반으로 컨텐츠 요청 패킷을 처리하는 과정을 보여준다.
컨텐츠 중심 네트워크에 포함된 노드가 페이스 0(101)로부터 예를 들어, '/ABC.com/철수/abc.avi/v3/s2'에 해당하는 컨텐츠 요청 패킷을 수신했다고 가정하자.
이때, 노드의 네트워크 모듈은 컨텐츠 요청 패킷 내에 있는 컨텐츠의 계층적 이름(여기서는 '/ABC.com/철수/abc.avi/v3/s2')을 참조하여 해당 컨텐츠가 노드의 컨텐츠 스토어(Content Store)(110)에 있는지 확인한다. 이때, 컨텐츠 스토어(110)는 컨텐츠 캐시(Contents Cache)라고도 불릴 수 있다.
확인 결과, 컨텐츠 스토어(110) 내에 해당 컨텐츠가 저장되어 있으면, 노드는 해당 컨텐츠를 컨텐츠 요청 패킷이 수신된 페이스 0(101)로 반환한다. 이때, 페이스(face)는 인터페이스(interface)로도 표현될 수 있다.
해당 컨텐츠가 컨텐츠 스토어(110)에 저장되어 있지 않으면, 노드는 펜딩 인터리스트 테이블(Pending Interest Table; PIT)(130) 내에 동일한 컨텐츠 이름(여기서는 '/ABC.com/철수/abc.avi/v3/s2')으로 저장된 엔트리(entry)가 있는지 여부를 확인할 수 있다.
노드는 동일한 컨텐츠 이름으로 저장된 엔트리가 있으면, 펜딩 인터리스트 테이블(130) 내의 해당 엔트리에 컨텐츠 요청 패킷이 들어온 페이스(여기서는 페이스 0(101))에 대한 정보를 추가할 수 있다.
펜딩 인터리스트 테이블(130) 내에 동일 컨텐츠 이름으로 등록된 엔트리가 없다면, 노드는 포워딩 정보 베이스(Forwarding Information Base; FIB)(150)에서 컨텐츠 이름에 기반한 검색(name lookup)을 수행하여 해당 엔트리(entry)를 찾을 수 있다. 이때, 노드는 최장 프리픽스 매칭(longest prefix matching)에 따라 검색을 수행할 수 있다.
노드는 포워딩 정보 베이스(FIB)(150)에 등록되어 있는 정보에 기초하여 컨텐츠 요청 패킷을 전달할 페이스(예를 들어, 페이스 1(105))를 결정하고, 해당 페이스(페이스 1(105))로 컨텐츠 요청 패킷을 전송할 수 있다.
이 과정에서 노드는 컨텐츠 요청 패킷이 전달되어 온 페이스(페이스 0(101))에 대한 정보('0')를 인터리스트 테이블(PIT)(130)에 등록할 수 있다. 이는 향후 컨텐츠 요청 패킷에 대응되는, 컨텐츠를 포함한 컨텐츠 응답 패킷을 전달할 때, 해당 컨텐츠를 요청한 노드로 컨텐츠 응답 패킷을 라우팅하기 위함이다. 여기서, 포워딩 정보 베이스(150)에 기초하여 컨텐츠 요청 패킷을 전달할 페이스를 선택(결정)할 때, 컨텐츠 요청 패킷이 수신된 페이스(여기서는 페이스 0(101))는 선택 대상에서 제외될 수 있다.
컨텐츠 요청 패킷의 헤더에는 타임 아웃(time-out) 값이 포함될 수 있고, 이에 따라 펜딩 인터리스트 테이블(130)은 컨텐츠 요청 패킷을 일정 시간(예를 들어, 타임 아웃 값)동안 유지할 수 있다. 이하에서 설명하는 일 실시예에 따른 특정 시간 단위에 기반하여 실시간 스트리밍 컨텐츠 및 컨텐츠 제공 방법 및 시스템에서는 타임 아웃 값을 이용할 수 있다.
도 2는 일 실시예에 따른 컨텐츠 이름 기반의 컨텐츠 중심 네트워크에서 컨텐츠 제공을 위해 시간 기반의 인터리스트 프로토콜(Time-Based Interest Protocol)을 이용하는 컨텐츠 요청자 및 컨텐츠 제공자의 동작을 설명하기 위한 도면이다.
일 실시예에서는 컨텐츠의 세그먼트 단위가 아닌 특정 시간 단위로 컨텐츠를 요청함으로써, 한 개의 컨텐츠 요청 패킷에 의해 다수 개의 세그먼트들을 수신할 수 있다.
컨텐츠 요청자(210)는 컨텐츠의 요청 시에 컨텐츠 요청 패킷의 이름에 특정 시간 단위에 기반한 컨텐츠 요청임을 나타내는 식별자를 추가하거나, 컨텐츠 요청 패킷의 헤더에 특별한 식별자를 표시함으로써 특정 시간 단위로 컨텐츠를 요청할 수 있다. 특정 시간 단위에 기반한 컨텐츠 요청임을 나타내는 식별자는 예를 들어, "%TIMEBASED%"일 수 있으며, 이 밖에 미리 약속된 특수 기호 또는 숫자 등으로 표현될 수도 있다. 컨텐츠 요청 패킷의 헤더에 특별한 식별자를 표시함으로써 특정 시간 단위로 컨텐츠를 요청하는 실시예에 대하여는 도 13 내지 도 14를 참조하여 상세히 설명한다.
예를 들어, 해당 식별자를 "%TIMEBASED%"라고 가정하면, 컨텐츠 요청 패킷의 이름은 'GroupA/SubGroupA/UserA/%TIMEBASED%/Broadcast1'와 같은 형태일 수 있다.
식별자 "%TIMEBASED%"를 포함하는 컨텐츠 요청 패킷을 수신한 컨텐츠 제공자(230) 혹은 중간 노드들은 컨텐츠 요청 패킷의 이름(또는 식별자)을 보고 해당 컨텐츠 요청 패킷이 특정 시간 단위에 기반한 컨텐츠 요청임을 파악할 수 있다. 이에 따라, 컨텐츠 제공자(230)는 컨텐츠 요청 패킷에 포함된 특정 시간 단위에 대응하는 컨텐츠의 세그먼트들을 포함하는 컨텐츠 응답 패킷을 생성하여 전송할 수 있다.
식별자 "%TIMEBASED%"를 포함하는 컨텐츠 요청 패킷을 수신한 컨텐츠 제공자(230) 혹은 중간 노드들은 해당 컨텐츠 요청 패킷이 특정 시간 단위로 컨텐츠를 요청하는 패킷임을 고려하여 펜딩 인터리스트 테이블(PIT)을 관리하고, 컨텐츠를 다른 노드 혹은 컨텐츠 요청자(210)에게 포워딩(forwarding)할 수 있다.
또한, 컨텐츠 제공자(230)가 전송하는 컨텐츠 응답 패킷의 이름은, 예를 들어, 'GroupA/SubGroupA/UserA/%TIMEBASED%/Broadcast1/SegmentNum'과 같이 세그먼트의 정보를 포함하거나, 'GroupA/SubGroupA/UserA/%TIMEBASED%/Broadcast1/TimeInfo'와 같이 특정 시간 단위에 대한 정보를 포함할 수 있으며, 'GroupA/SubGroupA/UserA/%TIMEBASED%/Broadcast1/SegmentNum/TimeInfo'와 같이 세그먼트의 정보 및 특정 시간 단위에 대한 정보 모두를 포함할 수도 있다.
도 2를 참조하면, 컨텐츠 요청자(210)가 특정 시간 단위로 컨텐츠를 요청하고, 이에 응답하여 컨텐츠 제공자(230)가 컨텐츠의 세그먼트들을 전달하는 구조가 도시되어 있다.
컨텐츠 요청자(210)는 201, 205 및 209와 같이 특정 시간 단위에 기반하는 컨텐츠의 컨텐츠 이름을 포함하는 한 개의 컨텐츠 요청 패킷을 전송함으로써, 203 및 207과 같이 다수의 세그먼트들을 포함하는 컨텐츠 응답 패킷들을 수신할 수 있다.
일 실시예에서는 특정 시간 단위로 컨텐츠에 대한 요청이 수행되고, 특정 시간 단위에 대응되는 컨텐츠 세그먼트들이 개수에 상관없이 모두 전달될 수 있다. 컨텐츠 요청자(210)는 자신의 장치 특성 혹은 네트워크 환경에 따라 특정 시간 단위를 조절하여 적응적으로(adaptively) 컨텐츠 요청 패킷을 전송할 수 있다.
이하의 도 3 내지 도 8에서는 일 실시예에 따른 특정 시간 단위를 기반으로 컨텐츠 요청자와 컨텐츠 제공자 간에 컨텐츠를 제공하는 다양한 실시예들에 대하여 설명한다.
도 3은 일 실시예에 따른 컨텐츠 이름 기반의 컨텐츠 중심 네트워크에서 특정 시간 단위에 기반한 컨텐츠 제공을 위한 컨텐츠 요청자의 통신 방법을 나타낸 플로우 차트이다.
도 3을 참조하면, 일 실시예에 따른 컨텐츠 요청자는 특정 시간 단위에 기반한 컨텐츠 요청임을 나타내는 식별자(예를 들어, "%TIMEBASED%")를 포함하는 컨텐츠 요청 패킷을 생성할 수 있다(310).
일 실시예에서는 컨텐츠 단위가 아닌 특정 시간 단위로 컨텐츠를 요청할 수 있다. 이를 위해 컨텐츠 요청자는 해당 컨텐츠 요청 패킷이 특정 시간 단위에 기반한 컨텐츠 요청임을 나타내는 식별자를 컨텐츠 요청 패킷의 헤더 또는 컨텐츠의 이름에 추가할 수 있다. 또한, 컨텐츠 요청자는 컨텐츠의 이름을 이용하여 컨텐츠의 세그먼트들을 요청하는 컨텐츠 요청 패킷을 생성할 수 있다.
컨텐츠 요청자는 컨텐츠 요청 패킷을 전송할 수 있다(320). 컨텐츠 요청 패킷에 의해 요청하는 컨텐츠는 실시간 스트리밍 컨텐츠 또는 일반 컨텐츠 중 어느 하나일 수 있다. 여기서, '일반 컨텐츠'는 실시간 스트리밍 컨텐츠가 아닌 컨텐츠를 의미하는 것으로 이해할 수 있다.
컨텐츠 요청자는 특정 시간 단위에 대응하는 컨텐츠의 적어도 하나의 세그먼트를 수신할 수 있다(330). 여기서, '특정 시간 단위에 대응하는 컨텐츠의 적어도 하나의 세그먼트'는 특정 시간 단위 내에 전달되는 컨텐츠의 적어도 하나의 세그먼트로 이해될 수 있다.
컨텐츠 요청자는 330에서 수신한 컨텐츠의 적어도 하나의 세그먼트로부터 전송이 실패인지 여부를 판단할 수 있다. 컨텐츠의 적어도 하나의 세그먼트의 전송이 실패라고 판단되면, 컨텐츠 요청자는 컨텐츠의 적어도 하나의 세그먼트의 재전송을 요청할 수 있다.
컨텐츠 요청자는 330에서 수신한 컨텐츠가 실시간 스트리밍 컨텐츠인 경우, 일반적인 컨텐츠와 다른 방법으로 처리할 수 있다. 예를 들어, 컨텐츠 요청자는 330에서 수신한 컨텐츠가 실시간 스트리밍 컨텐츠인 경우, 실시간 스트리밍 컨텐츠를 위한 저장 공간에 최신 세그먼트를 저장할 수 있다. 실시간 스트리밍 컨텐츠의 세그먼트들 중 누락되거나 오류가 발생한 세그먼트가 있는 경우, 컨텐츠 요청자는 컨텐츠 스토어에 저장된 최신 세그먼트를 이용하여 실시간 스트리밍 컨텐츠에 대한 재전송을 요청할 수 있다. 여기서, '컨텐츠 스토어에 저장된 최신 세그먼트를 이용하여 컨텐츠의 적어도 하나의 세그먼트의 재전송을 요청을 요청한다'는 의미는 다음과 같다. 예를 들어, 7번 세그먼트의 전송이 성공하고, 8, 9번 세그먼트의 전송이 실패한 후, 10번 세그먼트의 전송이 성공한 경우, 컨텐츠 요청자는 컨텐츠 스토어에 저장된 10번 세그먼트를 통해 앞의 8, 9번 세그먼트의 전송이 실패했음을 파악하고, 전송이 실패한 8, 9번 세그먼트의 재전송을 요청한다는 의미로 이해될 수 있다.
도 4는 일 실시예에 따른 컨텐츠 이름 기반의 컨텐츠 중심 네트워크에서 특정 시간 단위에 기반한 컨텐츠 제공을 위한 컨텐츠 제공자의 통신 방법을 나타낸 플로우 차트이다.
도 4를 참조하면, 일 실시예에 따른 컨텐츠 제공자는 컨텐츠 요청을 위하여 특정 시간 단위에 기반한 컨텐츠 요청임을 나타내는 식별자를 포함하는 컨텐츠 요청 패킷을 수신할 수 있다(410).
컨텐츠 제공자는 컨텐츠 스토어 혹은 버퍼에 해당 컨텐츠가 있는지 여부를 판단할 수 있다(420). 이때, 컨텐츠 제공자는 컨텐츠의 이름을 이용하여 컨텐츠 스토어 혹은 버퍼에 컨텐츠가 있는지 여부를 판단할 수 있다.
단계(420)의 판단 결과, 컨텐츠 스토어 혹은 버퍼에 해당 컨텐츠가 있다면, 컨텐츠 제공자는 특정 시간 단위에 대응하는 컨텐츠의 적어도 하나의 세그먼트를 포함하는 컨텐츠 응답 패킷을 생성할 수 있다(430). 단계(420)에서, 컨텐츠 제공자는 예를 들어, 컨텐츠의 이름에 매칭되는 컨텐츠가 응용 프로그램(application) 등에 존재하면 자신이 해당 컨텐츠를 생성할 수 있다. 생성된 컨텐츠는 단계(430)을 통해 컨텐츠 응답 패킷으로 생성될 수 있다.
컨텐츠 제공자는 컨텐츠 응답 패킷을 전송할 수 있다(440).
단계(420)의 판단 결과, 컨텐츠 스토어 혹은 버퍼에 해당 컨텐츠가 없다면, 컨텐츠 제공자는 동작을 종료할 수 있다.
도 5는 다른 실시예에 따른 컨텐츠 이름 기반의 컨텐츠 중심 네트워크에서 특정 시간 단위에 기반한 컨텐츠 제공을 위한 컨텐츠 요청자의 통신 방법을 나타낸 플로우 차트이다.
도 5를 참조하면, 일 실시예에 따른 컨텐츠 요청자는 컨텐츠 요청자의 특성 및 네트워크 환경에 기초하여 특정 시간 단위를 조절할 수 있다(510). 예를 들어, 컨텐츠 요청자가 이동성이 많은 단말인 경우, 컨텐츠 요청자가 고정된 통신 장치인 경우에 비해 특정 시간 단위를 짧게 할 수 있다. 또한, 네트워크 환경이 간섭이 심하거나 손실이 많은 경우, 그렇지 않은 네트워크 환경에 비해 특정 시간 단위를 짧게 할 수 있다. 일 실시예에서는 특정 시간 단위를 조절하는 과정을 처음 단계에서 수행하였지만, 이에 반드시 한정되는 것은 아니고, 실시예에 따라서 이후의 동작 과정 중에 특정 시간 단위를 조절할 수도 있다.
컨텐츠 요청자는 컨텐츠를 요청하기 위하여 특정 시간 단위에 기반한 컨텐츠 요청임을 나타내는 식별자를 포함하는 컨텐츠 요청 패킷을 생성할 수 있다(520).
상술한 바와 같이 일 실시예에서는 하나의 컨텐츠 요청으로 다수의 컨텐츠 세그먼트들을 가져 오기 위해 컨텐츠 단위가 아닌 특정 시간 단위를 이용할 수 있다.
이를 위해 컨텐츠 요청자는 해당 컨텐츠 요청 패킷이 특정 시간 단위에 기반한 컨텐츠 요청임을 나타내는 식별자를 컨텐츠 요청 패킷의 헤더 또는 컨텐츠의 이름에 추가할 수 있다. 또한, 컨텐츠 요청자는 컨텐츠의 이름을 이용하여 컨텐츠의 세그먼트들을 요청하는 컨텐츠 요청 패킷을 생성할 수 있다.
예를 들어, 컨텐츠 요청자가 GroupA 내의 SubGroupA 에 포함된 UserA 이고, Broadcast1이라는 컨텐츠를 요청한다고 하자. 또한, 컨텐츠 요청 패킷이 특정 시간 단위에 기반한 컨텐츠 요청임을 나타내는 식별자는 "%TIMEBASED%"라고 하자. 이 경우, Broadcast1이라는 컨텐츠를 요청하는 컨텐츠 요청 패킷의 이름은 'GroupA/SubGroupA/UserA/%TIMEBASED%/Broadcast1'과 같은 형태일 수 있다.
실시예에 따라서, 컨텐츠 요청자는 이와 같이 특정 시간 단위에 기반한 컨텐츠를 요청하는 컨텐츠 요청 패킷의 헤더에 특정 시간 단위에 대한 정보를 포함시킬 수도 있고, 컨텐츠 요청 패킷의 헤더에 포함된 타임 아웃(timeout) 값을 이용하여 특정 단위 시간(예를 들어, 타임 아웃 값에 해당하는 시간)이 되면 해당 컨텐츠 요청 패킷이 소멸(expire)되도록 할 수도 있다.
컨텐츠 요청자는 컨텐츠 요청 패킷을 전송할 수 있다(530).
이후, 컨텐츠 요청자는 컨텐츠 요청 패킷에 대한 응답을 수신할 수 있다.
컨텐츠 요청자는 컨텐츠 요청 패킷에 대한 응답으로 컨텐츠의 요청을 취소하는 취소 응답 패킷을 수신했는지 여부를 판단할 수 있다(540). 단계(540)에서, 취소 응답 패킷을 수신했다고 판단되면, 컨텐츠 요청자는 해당 컨텐츠에 해당하는 엔트리를 펜딩 인터리스트 테이블(Pending Interest Table)에서 삭제(550)한 후, 동작을 종료할 수 있다.
컨텐츠 요청자 이외에, 컨텐츠 요청 패킷이 전달되는 경로 상에 위치하는 중간 노드들 또한 취소 응답 패킷을 수신했는지 여부를 판단할 수 있다. 중간 노드들은, 취소 응답 패킷을 수신했다고 판단되면, 해당 컨텐츠에 해당하는 엔트리를 펜딩 인터리스트 테이블(Pending Interest Table)에서 삭제할 수 있다.
단계(540)에서, 취소 응답 패킷을 수신하지 않았다면, 컨텐츠 요청자는 특정 시간 단위에 대응하는 컨텐츠의 세그먼트들을 수신할 수 있다(560). 여기서, '특정 시간 단위에 대응하는 컨텐츠의 세그먼트들'은 컨텐츠를 특정 시간 단위 동안 플레이하는 데에 필요한 세그먼트들로 이해될 수 있다.
예를 들어, 특정 시간 단위가 5초라고 하자. 그러면, 컨텐츠 요청자는 컨텐츠(Broadcast1)를 5초 동안 플레이하는 데에 필요한 세그먼트들을 수신할 수 있다. 이때, 5초에 대응하는 세그먼트들의 개수가 도 2의 203과 같이 5개라면 컨텐츠 요청자는 5개의 세그먼트들을 수신할 수 있다. 도 2의 207과 같이 5초에 대응하는 세그먼트들의 개수가 6개라면 컨텐츠 요청자는 6개의 세그먼트들을 수신할 수 있다.
컨텐츠 요청자는 컨텐츠 스토어에 컨텐츠의 세그먼트(들)를 저장할 수 있다(570.
이후, 컨텐츠 요청자는 특정 시간 단위가 종료되었는지를 판단할 수 있다(580).
단계(580)에서, 특정 시간 단위가 종료되었다면, 컨텐츠 요청자는 다시 단계(510)으로 가서 특정 시간 단위를 조절하여 새로운 컨텐츠 요청 패킷을 생성할 수 있다.
단계(580)에서, 특정 시간 단위가 종료되지 않았다면, 컨텐츠 요청자는 단계(540)으로 가서 취소 응답 패킷이 수신되었는지를 판단할 수 있다.이 밖에도, 컨텐츠 요청자는 컨텐츠 중심 네트워크 내의 다른 노드들로부터 미리 설정된 시간 단위에 기초하여 컨텐츠를 요청하는 컨텐츠 요청 패킷을 수신한 경우에 자신의 펜딩 인터리스트 테이블(PIT)에서 컨텐츠 요청 패킷에 대응하여 미리 설정된 시간 단위를 저장할 수 있다. 특정 시간 단위에 기반한 컨텐츠를 요청하는 컨텐츠 요청 패킷을 수신한 경우의 펜딩 인터리스트 테이블(PIT)의 구성에 대하여는 도 10을 참조하여 설명한다.
이상, 도 5에 대한 설명을 통해 상술한 과정은 컨텐츠 요청자 이외에, 컨텐츠 요청 패킷이 전달되는 경로 상에 위치하는 중간 노드들에서도 동일하게 수행될 수 있다.
도 6은 일 실시예에 따른 컨텐츠 이름 기반의 컨텐츠 중심 네트워크에서 특정 시간 단위에 기반한 실시간 스트리밍 컨텐츠 제공을 위한 컨텐츠 요청자의 통신 방법을 나타낸 플로우 차트이다.
도 6을 참조하면, 일 실시예에 따른 컨텐츠 요청자는 컨텐츠 스토어에 실시간 스트리밍 컨텐츠의 세그먼트(들)를 위한 저장 공간을 할당할 수 있다(610).
컨텐츠 요청자의 특성 및 네트워크 환경에 기초하여 특정 시간 단위를 조절할 수 있다(620).
컨텐츠 요청자는 실시간 스트리밍 컨텐츠를 요청하기 위하여 특정 시간 단위에 기반한 컨텐츠 요청임을 나타내는 식별자를 포함하는 컨텐츠 요청 패킷을 생성할 수 있다(630).
상술한 바와 같이 일 실시예에서는 하나의 컨텐츠 요청으로 다수의 컨텐츠 세그먼트들을 가져 오기 위해 컨텐츠 단위가 아닌 특정 시간 단위를 이용할 수 있다.
이를 위해 컨텐츠 요청자는 해당 컨텐츠 요청 패킷이 특정 시간 단위에 기반한 컨텐츠 요청임을 나타내는 식별자를 컨텐츠 요청 패킷의 헤더 또는 실시간 스트리밍 컨텐츠의 이름에 추가할 수 있다. 또한, 컨텐츠 요청자는 실시간 스트리밍 컨텐츠의 이름을 이용하여 실시간 스트리밍 컨텐츠의 세그먼트들을 요청하는 컨텐츠 요청 패킷을 생성할 수 있다.
예를 들어, 컨텐츠 요청자가 GroupA 내의 SubGroupA 에 포함된 UserA 이고, Broadcast1이라는 실시간 스트리밍 컨텐츠를 요청한다고 하자. 또한, 컨텐츠 요청 패킷이 특정 시간 단위에 기반한 컨텐츠 요청임을 나타내는 식별자는 "%TIMEBASED%"라고 하자. 이 경우, Broadcast1이라는 실시간 스트리밍 컨텐츠를 요청하는 컨텐츠 요청 패킷의 이름은 'GroupA/SubGroupA/UserA/%TIMEBASED%/Broadcast1'과 같은 형태일 수 있다.
실시예에 따라서, 컨텐츠 요청자는 이와 같이 특정 시간 단위에 기반한 컨텐츠를 요청하는 컨텐츠 요청 패킷의 헤더에 특정 시간 단위에 대한 정보를 포함시킬 수도 있고, 컨텐츠 요청 패킷의 헤더에 포함된 타임 아웃(timeout) 값을 이용하여 특정 단위 시간(예를 들어, 타임 아웃 값에 해당하는 시간)이 되면 해당 컨텐츠 요청 패킷이 소멸(expire)되도록 할 수도 있다.
컨텐츠 요청자는 컨텐츠 요청 패킷을 전송할 수 있다(640).
이후, 컨텐츠 요청자는 컨텐츠 요청 패킷에 대한 응답을 수신할 수 있다.
컨텐츠 요청자는 컨텐츠 요청 패킷에 대한 응답으로 실시간 스트리밍 컨텐츠의 요청을 취소하는 취소 응답 패킷을 수신했는지 여부를 판단할 수 있다(650). 단계(650)에서, 취소 응답 패킷을 수신했다고 판단되면, 컨텐츠 요청자는 실시간 스트리밍 컨텐츠에 해당하는 엔트리를 펜딩 인터리스트 테이블(Pending Interest Table)에서 삭제(660)한 후, 동작을 종료할 수 있다.
컨텐츠 요청자 이외에, 컨텐츠 요청 패킷이 전달되는 경로 상에 위치하는 중간 노드들 또한 취소 응답 패킷을 수신했는지 여부를 판단할 수 있다. 중간 노드들은, 취소 응답 패킷을 수신했다고 판단되면, 실시간 스트리밍 컨텐츠에 해당하는 엔트리를 펜딩 인터리스트 테이블(Pending Interest Table)에서 삭제할 수 있다.
단계(650)에서, 취소 응답 패킷을 수신하지 않았다면, 컨텐츠 요청자는 특정 시간 단위에 대응하는 실시간 스트리밍 컨텐츠의 세그먼트들을 수신할 수 있다(670). 여기서, '특정 시간 단위에 대응하는 실시간 스트리밍 컨텐츠의 세그먼트들'은 실시간 스트리밍 컨텐츠를 특정 시간 단위 동안 플레이하는 데에 필요한 세그먼트들로 이해될 수 있다.
예를 들어, 특정 시간 단위가 5초라고 하자. 그러면, 컨텐츠 요청자는 실시간 스트리밍 컨텐츠(Broadcast1)를 5초 동안 플레이하는 데에 필요한 세그먼트들을 수신할 수 있다. 이때, 5초에 대응하는 세그먼트들의 개수가 도 2의 203과 같이 5개라면 컨텐츠 요청자는 5개의 세그먼트들을 수신할 수 있다. 도 2의 207과 같이 5초에 대응하는 세그먼트들의 개수가 6개라면 컨텐츠 요청자는 6개의 세그먼트들을 수신할 수 있다.
컨텐츠 요청자는 단계(610)에서 할당된 저장 공간에 수신한 실시간 스트리밍 컨텐츠의 세그먼트들 중 가장 최근에 업데이트된 최신 세그먼트를 저장할 수 있다(680).
이후, 컨텐츠 요청자는 특정 시간 단위가 종료되었는지를 판단할 수 있다(690).
단계(690)에서, 특정 시간 단위가 종료되었다면, 컨텐츠 요청자는 다시 단계(620)으로 가서 특정 시간 단위를 조절하여 새로운 컨텐츠 요청 패킷을 생성할 수 있다.
단계(690)에서, 특정 시간 단위가 종료되지 않았다면, 컨텐츠 요청자는 단계(650)으로 가서 취소 응답 패킷이 수신되었는지를 판단할 수 있다.일반적으로 컨텐츠 중심 네트워크에서는 효율성을 증대시키기 위해 각 노드들에 컨텐츠 스토어를 두어 반복적인 요청에 대한 응답을 하지만, 컨텐츠의 세그먼트들을 모두 컨텐츠 스토어에 저장하는 것은 효율적이지 못하다. 따라서, 일 실시예에서는 일정 개수의 세그먼트 혹은 최신 세그먼트만을 저장함으로써 최소한의 컨텐츠 요청을 통해 네트워크에서 컨트롤 오버헤드(overhead)를 경감하는 동시에 컨텐츠 스토어의 효율성을 극대화시킬 수 있다.
이 밖에도, 컨텐츠 요청자는 컨텐츠 중심 네트워크 내의 다른 노드들로부터 미리 설정된 시간 단위에 기초하여 실시간 스트리밍 컨텐츠를 요청하는 컨텐츠 요청 패킷을 수신한 경우에 자신의 펜딩 인터리스트 테이블(PIT)에서 컨텐츠 요청 패킷에 대응하여 미리 설정된 시간 단위를 저장할 수 있다.
도 7은 다른 실시예에 따른 컨텐츠 이름 기반의 컨텐츠 중심 네트워크에서 특정 시간 단위에 기반한 컨텐츠 제공을 위한 컨텐츠 제공자의 통신 방법을 나타낸 플로우 차트이다.
도 7을 참조하면, 일 실시예에 따른 컨텐츠 제공자는 컨텐츠를 요청하기 위하여 특정 시간 단위에 기반한 컨텐츠 요청임을 나타내는 식별자를 포함하는 컨텐츠 요청 패킷을 수신할 수 있다(710).
컨텐츠 제공자는 컨텐츠 스토어 혹은 버퍼(buffer)에 컨텐츠가 있는지 여부를 검색할 수 있다(720). 단계(720)에서, 컨텐츠 제공자는 컨텐츠의 이름을 이용하여 컨텐츠 스토어 혹은 버퍼(buffer)에 컨텐츠가 있는지 여부를 검색할 수 있다. 단계(720)에서, 컨텐츠 스토어 혹은 버퍼에 컨텐츠가 없다고 판단되면, 컨텐츠 제공자는 동작을 종료할 수 있다. 도 1을 참조하여 상술한 바와 같이, 컨텐츠 중심 네트워크에서 각 노드(예를 들어, 컨텐츠 제공자)는 컨텐츠 스토어에 해당 컨텐츠가 없다고 판단되면, 펜딩 인터리스트 테이블(PIT) 내에 동일한 컨텐츠 이름으로 저장된 엔트리(entry)가 있는지 여부를 확인하고, 그 이후의 동작을 수행할 수 있다. 일 실시예에서는 컨텐츠 중심 네트워크에서의 이러한 일반적인 동작에 대한 설명은 도 1의 설명으로 갈음한다.
단계(720)에서, 컨텐츠 스토어 혹은 버퍼에 컨텐츠가 있다고 판단되면, 컨텐츠 제공자는 특정 시간 단위에 대응하는 컨텐츠의 세그먼트들을 포함하는 컨텐츠 응답 패킷을 생성(730)하고, 생성된 컨텐츠 응답 패킷을 전송할 수 있다(740).
이후, 컨텐츠 제공자는 컨텐츠가 종료했는지 여부를 판단할 수 있다(750).
단계(750)에서, 컨텐츠가 종료했다고 판단되면, 컨텐츠 제공자는 컨텐츠 요청자로 하여금 컨텐츠의 요청을 취소하도록 하는 취소 응답 패킷을 생성하고(760), 취소 응답 패킷을 컨텐츠 요청자에게 전송할 수 있다(770). 이때, 취소 응답 패킷은 컨텐츠 제공자로부터 컨텐츠 요청자까지의 경로 상에 있는 중간 노드들에게 전달될 수 있다.
취소 응답 패킷을 수신한 노드들(예를 들어, 중간 노드 혹은 컨텐츠 요청자)은 예를 들어, 펜딩 인터리스트 테이블(PIT) 등에서 컨텐츠의 엔트리를 삭제하거나, 타임 아웃 값을 '0'으로 설정하는 등의 동작에 의해 자신이 받은 컨텐츠의 요청을 종료시킬 수 있다. 컨텐츠 제공자가 컨텐츠 요청을 종료시키는 방법에 대하여는 도 9를 참조하여 설명한다.
도 8은 일 실시예에 따른 컨텐츠 이름 기반의 컨텐츠 중심 네트워크에서 특정 시간 단위에 기반한 실시간 스트리밍 컨텐츠 제공을 위한 컨텐츠 제공자의 통신 방법을 나타낸 플로우 차트이다.
도 8을 참조하면, 일 실시예에 따른 컨텐츠 제공자는 실시간 스트리밍 컨텐츠를 요청하기 위하여 특정 시간 단위에 기반한 컨텐츠 요청임을 나타내는 식별자를 포함하는 컨텐츠 요청 패킷을 수신할 수 있다(810).
컨텐츠 제공자는 컨텐츠 스토어 혹은 버퍼(buffer)에 실시간 스트리밍 컨텐츠가 있는지 여부를 검색할 수 있다(820). 단계(820)에서, 컨텐츠 제공자는 실시간 스트리밍 컨텐츠의 이름을 이용하여 컨텐츠 스토어 혹은 버퍼(buffer)에 실시간 스트리밍 컨텐츠가 있는지 여부를 검색할 수 있다. 버퍼(buffer)는 스트리밍을 위한 버퍼일 수 있다. 이를 통해, 컨텐츠 제공자는 컨텐츠 스토어뿐만 아니라 컨텐츠 스토어에 없는 컨텐츠, 예를 들어, 스트리밍 서비스를 위한 버퍼 등에 저장된 컨텐츠에 대한 요청에도 응답할 수 있다.
단계(820)에서, 컨텐츠 스토어 혹은 버퍼에 실시간 스트리밍 컨텐츠가 없다고 판단되면, 컨텐츠 제공자는 동작을 종료할 수 있다. 도 1을 참조하여 상술한 바와 같이, 컨텐츠 중심 네트워크에서 각 노드(예를 들어, 컨텐츠 제공자)는 컨텐츠 스토어에 해당 컨텐츠가 없다고 판단되면, 펜딩 인터리스트 테이블(PIT) 내에 동일한 컨텐츠 이름으로 저장된 엔트리(entry)가 있는지 여부를 확인하고, 그 이후의 동작을 수행할 수 있다. 일 실시예에서는 컨텐츠 중심 네트워크에서의 이러한 일반적인 동작에 대한 설명은 도 1의 설명으로 갈음한다.
단계(820)에서, 컨텐츠 스토어 혹은 버퍼에 실시간 스트리밍 컨텐츠가 있다고 판단되면, 컨텐츠 제공자는 특정 시간 단위에 대응하는 실시간 스트리밍 컨텐츠의 세그먼트들을 포함하는 컨텐츠 응답 패킷을 생성(830)하고, 생성된 컨텐츠 응답 패킷을 전송할 수 있다(840).
이후, 컨텐츠 제공자는 실시간 스트리밍 컨텐츠가 종료했는지 여부를 판단할 수 있다(850).
단계(850)에서, 실시간 스트리밍 컨텐츠가 종료했다고 판단되면, 컨텐츠 제공자는 실시간 스트리밍 컨텐츠의 요청을 취소하는 취소 응답 패킷을 생성하고(860), 취소 응답 패킷을 컨텐츠 요청자에게 전송할 수 있다(870). 이때, 취소 응답 패킷은 컨텐츠 제공자로부터 컨텐츠 요청자까지의 경로 상에 있는 중간 노드들에게 전달될 수 있다.
단계(850)에서, 실시간 스트리밍 컨텐츠가 종료하지 않았다고 판단되면, 컨텐츠 제공자는 특정 시간 단위에 대응하는 실시간 스트리밍 컨텐츠의 세그먼트들을 포함하는 컨텐츠 응답 패킷을 생성할 수 있다(830).
취소 응답 패킷을 수신한 노드들(예를 들어, 중간 노드 혹은 컨텐츠 요청자)은 펜딩 인터리스트 테이블(PIT) 등에서 실시간 스트리밍 컨텐츠의 엔트리를 삭제하거나, 타임 아웃 값을 '0'으로 설정하는 등의 동작에 의해 자신이 받은 실시간 스트리밍 컨텐츠의 요청을 종료시킬 수 있다.
도 9는 일 실시예에 따른 컨텐츠 이름 기반의 컨텐츠 중심 네트워크에서 컨텐츠의 요청을 종료하는 방법을 나타낸 도면이다.
도 9를 참조하면, 컨텐츠 중심 네트워크에서 컨텐츠가 종료한 경우에 컨텐츠 제공자(930)는 다음과 같은 방법으로 컨텐츠가 종료되었음을 알릴 수 있다.
컨텐츠 요청자(910)가 전송한 특정 시간 단위 기반의 컨텐츠를 요청하는 컨텐츠 요청 패킷(901)을 수신한 컨텐츠 제공자(930)는 903과 같이 해당 컨텐츠의 세그먼트들을 포함하는 컨텐츠 응답 패킷(들)을 전송할 수 있다. 컨텐츠 요청자(910)가 전송한 컨텐츠 요청 패킷(905)에 응답하는 컨텐츠 응답 패킷(907)이 해당 컨텐츠의 마지막 세그먼트를 포함하고 있다고 가정하자.
이와 같이 컨텐츠의 전송이 종료되는 경우, 컨텐츠 제공자(930)는 컨텐츠의 마지막 세그먼트에 대한 세그먼트 번호에 909과 같이 미리 설정된 정보(예를 들어, END_OF_CONTENT)을 기재하여 전송할 수 있다.
이 밖에도, 컨텐츠 제공자는 컨텐츠의 전송이 종료되는 경우, 컨텐츠의 마지막 세그먼트의 페이로드 사이즈(payload size)를 미리 설정된 값(예를 들어, '0')으로 설정하여 전송할 수 있다. 실시간 스트리밍 컨텐츠의 경우, 이와 같이 실시간 스트리밍 컨텐츠의 마지막 세그먼트의 페이로드 사이즈(payload size)를 '0'으로 설정한 경우, 해당 실시간 스트리밍 컨텐츠가 전송되는 경로 상에 있는 각 노드들의 컨텐츠 스토어에 저장된 실시간 스트리밍 컨텐츠는 자동적으로 타임 아웃(time out)이 되어 삭제될 수 있다.
도 10은 일 실시예에 따른 컨텐츠 이름 기반의 컨텐츠 중심 네트워크에서 컨텐츠의 제공을 위해 시간 기반의 인터리스트 프로토콜(Time-Based Interest Protocol)을 이용하는 컨텐츠 요청자와 컨텐츠 제공자 사이의 노드들의 펜딩 인터리스트 테이블(PIT)의 변화를 설명하기 위한 도면이다.
이하에서 제1 노드(1020), 제2 노드(1030) 및 제2 노드(1040)는 컨텐츠 중심 네트워크에서 컨텐츠 요청자(1010)가 전송한 컨텐츠 요청 패킷을 컨텐츠 제공자(1050)에게 전달하는 노드들이며, 컨텐츠 요청자(1010)가 요청하는 컨텐츠(I)를 포함하지 않는다고 가정한다.
또한, 제1 노드(1020)는 컨텐츠 요청자(1010)로부터 1번 페이스를 통해 컨텐츠 요청 패킷을 수신하고, 제2 노드(1030)는 4번 페이스를 통해 제1 노드(1020)로부터 컨텐츠 요청 패킷을 수신하며, 제3 노드(1040)는 5번 페이스를 통해 제2 노드(1030)로부터 컨텐츠 요청 패킷을 수신했다고 가정한다.
도 10을 참조하면, 컨텐츠 요청자(1010)로부터 특정 시간 단위에 기반한 컨텐츠 요청임을 나타내는 식별자를 포함하는 컨텐츠 요청 패킷을 수신한 제1 노드(1020)는 자신의 펜딩 인터리스트 테이블(PIT)의 엔트리에 컨텐츠 요청자(1010)가 요청하는 실시간 스트리밍 컨텐츠(I)의 이름과 해당 컨텐츠 요청 패킷이 수신된 페이스 '1'을 기재할 수 있다. 이와 함께, 제1 노드(1020)는 컨텐츠(I)를 요청하는 컨텐츠 요청 패킷의 이름 혹은 컨텐츠 요청 패킷의 헤더를 통해 파악된 특정 시간 단위 '5초'를 펜딩 인터리스트 테이블(PIT)에 저장할 수 있다.
제2 노드(1030) 및 제3 노드(1040) 또한 이와 마찬가지의 방식으로 각각의 펜딩 인터리스트 테이블(PIT)을 관리하며 컨텐츠 요청 패킷을 컨텐츠 제공자(1050)에게 전달할 수 있다. 이후, 컨텐츠 제공자(1050)로부터 컨텐츠(I)에 대한 컨텐츠 응답 패킷을 수신하여 제2 노드(1030)로 전달하거나, 컨텐츠의 전송이 종료됨에 따라, 컨텐츠의 요청을 취소하는 취소 응답 패킷을 수신한 제3 노드(1040)는 펜딩 인터리스트 테이블에 기재된 컨텐츠의 엔트리를 삭제할 수 있다.
도 11은 도 6 및 도 8의 방법에 따른 실시간 스트리밍 컨텐츠의 제공 중에 새로운 컨텐츠 요청자에게 실시간 스트리밍 컨텐츠를 제공하는 경우를 설명하기 위한 도면이다.
도 11을 참조하면, 컨텐츠 중심 네트워크의 각 노드(CoN node)들이 새로운 노드의 요청에 따라 실시간 스트리밍 컨텐츠를 제공하는 것을 살펴볼 수 있다.
이하에서는 컨텐츠 제공자(1101)가 컨텐츠 요청자 1(1105)에게 실시간 스트리밍 컨텐츠의 세그먼트들을 제공하는 중에 동일한 실시간 스트리밍 컨텐츠를 전송받기를 희망하는 새로운 컨텐츠 요청자 2(1107)가 있다고 가정한다.
컨텐츠 제공자(1101)는 1110과 같이 컨텐츠 중심 네트워크의 각 노드(CoN node)들을 거쳐 컨텐츠 요청자(1105)에게 실시간 스트리밍 컨텐츠의 세그먼트들을 전송할 수 있다. 이때, 중간 노드(1103)의 컨텐츠 스토어에는 실시간 스트리밍 컨텐츠의 세그먼트들 중 최신 세그먼트인 세그먼트 15가 저장될 수 있다.
이후, 새로운 컨텐츠 요청자 2(1107)가 해당 실시간 스트리밍 컨텐츠를 요청한다고 하면, 컨텐츠 요청자 2(1107)의 실시간 스트리밍 컨텐츠 요청은 1130과 같이 중간 노드(1103)에게 전달될 수 있다. 중간 노드(1103)는 1150과 같이 자신의 컨텐츠 스토어에 저장된 최신 세그먼트인 세그먼트 15를 컨텐츠 요청자 2(1107)에게 전송할 수 있다.
컨텐츠 제공자(1101)로부터 실시간 스트리밍 컨텐츠의 새로운 세그먼트 16이 전송되면, 중간 노드(1103)는 1170과 같이 컨텐츠 요청자 1(1105) 및 컨텐츠 요청자 2(1107) 모두에게 세그먼트 16을 제공할 수 있다.
컨텐츠 중심 네트워크에서 각 노드(CoN node)들의 컨텐츠 스토어는 방대한 정보를 저장할 수 있을지 모르지만, 무한정 저장하는 데에는 한계가 있다. 각 노드들이 실시간 스트리밍 컨텐츠의 세그먼트들을 전부 저장한다면, 컨텐츠 스토어는 대부분 실시간 스트리밍 컨텐츠가 차지하게 된다. 실시간 스트리밍 컨텐츠는 그 특성 상 시간이 지나면 거의 요청되지 않으므로, 컨텐츠 중심 네트워크는 원활하게 운영되기 어렵다.
따라서, 일 실시예에서는 실시간 스트리밍 컨텐츠의 세그먼트들 중 최신 세그먼트만 혹은 일정 개수의 세그먼트만을 컨텐츠 스토어에 저장하여 저장 공간을 효율적으로 사용할 수 있다. 또한, 일 실시예에서는 최신 세그먼트만을 컨텐츠 스토어에 저장함으로써 컨텐츠 요청자가 현재 제공 중인 실시간 스트리밍 컨텐츠의 세그먼트에 대한 정보를 얻어 오는 과정을 필요로 하지 않는다.
이 밖에도, 거미줄처럼 얽힌 네트워크 환경에서 실시간 스트리밍 컨텐츠의 세그먼트들의 순서가 뒤바뀌어 오는 경우에도 컨텐츠 스토어는 최신 세그먼트에 대한 정보를 가지고 있으므로 이미 전달된 이전 세그먼트를 무시하여 세그먼트들의 순서가 바뀌지 않도록 할 수 있다.
도 12는 일 실시예에 따른 컨텐츠의 이름을 기반으로 하는 컨텐츠 중심 네트워크에서 특정 시간 단위에 기반한 컨텐츠와 특정 시간 단위에 기반하지 않은 일반 컨텐츠가 혼합되어 전송되는 경우의 컨텐츠 제공자의 통신 방법을 나타낸 플로우 차트이다.
도 12를 참조하면, 컨텐츠 제공자는 컨텐츠 요청 패킷을 수신(1210)한 뒤, 해당 컨텐츠 요청 패킷이 특정 시간 단위에 기반하는지 여부를 판단할 수 있다(1220).
단계(1220)에서, 컨텐츠 제공자는 컨텐츠 요청 패킷의 헤더 또는 컨텐츠의 이름에 특정 시간 단위에 기반한 컨텐츠 요청임을 나타내는 식별자가 있는지 여부를 기초로, 컨텐츠 요청 패킷이 특정 시간 단위에 기반하는지 여부를 판단할 수 있다.
컨텐츠 제공자는 단계(1220)에서의 판단 결과에 따라, 컨텐츠 요청 패킷이 특정 시간 단위에 기반한 실시간 스트리밍 컨텐츠 또는 특정 시간 단위에 기반한 일반 컨텐츠 중 어느 컨텐츠에 대한 요청인지 결정할 수 있다.
컨텐츠 제공자는 단계(1220)에서, 컨텐츠 요청 패킷이 특정 시간 단위에 기반하는 것으로 판단되면, 해당 컨텐츠 요청 패킷이 실시간 스트리밍 컨텐츠를 요청하는 것인지를 판단할 수 있다(1230).
단계(1230)에서, 컨텐츠 제공자는 컨텐츠 요청 패킷의 헤더에 포함된 정보를 이용하여 컨텐츠 요청 패킷이 특정 시간 단위에 기반한 실시간 스트리밍 컨텐츠 또는 특정 시간 단위에 기반한 일반 컨텐츠 중 어느 컨텐츠에 대한 요청인지 판단할 수 있다. 컨텐츠 제공자는 단계(1230)에서, 컨텐츠 요청 패킷의 헤더에 포함된 정보가 예를 들어, 실시간 스트리밍 컨텐츠임을 표시하는 표시자인 경우, 헤더에 포함된 세그먼트 정보가 널(null)인 경우, 혹은 헤더에 포함된 값이 미리 설정된 값(예를 들어, -1)인 경우에 실시간 스트리밍 컨텐츠에 대한 요청으로 결정할 수 있다.
단계(1230)에서, 컨텐츠 요청 패킷이 실시간 스트리밍 컨텐츠를 요청하는 것으로 판단되면, 컨텐츠 제공자는 특정 시간 단위에 대응하는 실시간 스트리밍 컨텐츠의 세그먼트들을 포함하는 컨텐츠 응답 패킷을 생성할 수 있다(1240).
단계(1230)에서, 컨텐츠 요청 패킷이 실시간 스트리밍 컨텐츠를 요청하지 않는 것으로 판단되면, 컨텐츠 제공자는 일반 컨텐츠를 포함하는 컨텐츠 응답 패킷을 생성할 수 있다(1250).
컨텐츠 제공자는 단계(1240 또는 1250)를 통해 생성된 컨텐츠 응답 패킷을 전송할 수 있다(1260).
단계(1220)에서의 해당 컨텐츠 요청 패킷이 특정 시간 단위에 기반하지 않는 것으로 판단되면, 컨텐츠 제공자는 특정 시간 단위에 기반하지 않는 일반 컨텐츠를 포함하는 컨텐츠 응답 패킷을 생성(1270)하여 컨텐츠 요청자에게 전송한다(1260),
이하에서는 일 실시예에 따른 시간 기반의 인터리스트 프로토콜(Time-Based Interest Protocol)을 이용하여 컨텐츠 요청자와 컨텐츠 제공자 간에 컨텐츠 요청 패킷 및 컨텐츠 응답 패킷을 주고받는 방법을 도 13 및 도 14를 참조하여 설명한다.
도 13은 일 실시예에 따른 컨텐츠 중심 네트워크에서 시간 기반의 인터리스트 프로토콜(Time-Based Interest Protocol)을 이용하는 컨텐츠 요청자와 컨텐츠 제공자 간의 세그먼트의 전송 중에서 발생하는 홀(hole)을 복구하는 방법을 설명하기 위한 도면이다.
일 실시예에 따른 시간 기반의 인터리스트 프로토콜(Time-Based Interest Protocol)에서 전송되는 컨텐츠 요청 패킷은 특정 시간 단위를 나타내는 식별자 혹은 시간 간격(time duration)에 대한 정보를 포함할 수 있다. 시간 기반의 인터리스트 프로토콜에서는 상기 정보를 기초로, 다른 노드(예를 들어, 컨텐츠 제공자(1330))들로부터 생성되거나 전달된 무제한의 컨텐츠 세그먼트들을 특정 시간 단위 혹은 시간 간격 동안 컨텐츠 요청자(1310)에게 전달할 수 있다.
일 실시예에서 컨텐츠 요청자(1310) 및 컨텐츠 제공자(1330)는 세그먼트 단위가 아니라 특정 시간 단위로 세그먼트들을 요청하고 전달하므로 세그먼트들 중 일부가 누락(missing)되거나 오류(out of order)가 발생한 세그먼트가 존재할 수 있다.
컨텐츠 요청자(1310)는 컨텐츠 제공자(1330)로부터 수신한 컨텐츠의 세그먼트들 중 누락(missing)되거나 오류가 발생한 세그먼트가 있는지 여부를 감지할 수 있다.
도 13을 참조하면, 컨텐츠(ccnx://sen/testfile.txt)의 전송 중에 2번 세그먼트(seg 2)에서 (전송) 오류가 발생한 것을 볼 수 있다. 일 실시예에서는 2번 세그먼트(seg 2)와 같이 누락되거나 전송 중 오류가 발생한 세그먼트(들)를 "홀(holes)"이라고 정의한다.
컨텐츠 요청자(1310)는 컨텐츠의 세그먼트(들)를 포함하는 컨텐츠 응답 패킷의 이름 필드(name field)에 기재된 세그먼트 번호를 이용하여 홀(holes)을 감지할 수 있다.
컨텐츠 요청자(1310)는 컨텐츠 제공자(1330)로부터 수신한 모든 컨텐츠 세그먼트들에 대해 누락된 혹은 (전송) 오류가 발생했는지를 체크할 수 있다.
컨텐츠 요청자(1310)는 누락되거나 오류가 발생한 세그먼트, 다시 말해 홀이 처음 감지되면, '홀 타임 아웃(hole timeout)'이라고 불리는 소정의 시간 간격 동안 누락되거나 오류가 발생한 세그먼트가 전송되는지를 기다릴 수 있다. 홀 타임 아웃(hole timeout)은 컨텐츠 요청자(1310)로부터 컨텐츠 제공자(1330)에게 홀 복구 요청 패킷(hole recovery request packet)이 전송되기 전의 네트워크 조건(network condition) 또는 서비스 시나리오(service scenario)에 의해 계산 혹은 특정될 수 있다.
홀 타임 아웃(hole timeout)은 예를 들어, 인접 노드와 해당 노드 간에 지속적으로 측정된 RTT(Round Trip Time)를 이용하여 Hole timeout = (RTT * constant value A)와 같이 계산될 수 있다. constant value A는 예를 들어 1.5, 2.5, 등과 같은 값을 가질 수 있다. 이 밖에도, 홀 타임 아웃(hole timeout)은 컨텐츠 요청자(1310)가 홀을 감지한 이후에 수신한 세그먼트(들)의 개수를 이용하여 결정될 수 있다. 예를 들어, 도 13에서 컨텐츠 요청자(1310)가 홀(예를 들어, 2번 세그먼트(seg 2)에서의 전송 오류)을 감지한 이후에 3번 세그먼트(seg 3) 및 4번 세그먼트(seg 4)의 2개의 세그먼트를 수신했다고 하면, 컨텐츠 요청자(1310)는 2개의 세그먼트를 수신한 시간 간격을 홀 타임 아웃으로 결정할 수 있다.
컨텐츠 요청자(1310)는 소정의 시간 간격(예를 들어, 홀 타임 아웃(hole timeout)) 동안 누락되거나 오류가 발생한 세그먼트가 전송되었는지 여부를 판단할 수 있다. 컨텐츠 요청자(1310)는 판단 결과를 기초로, 누락되거나 오류가 발생한 세그먼트를 요청하는 컨텐츠 요청 패킷을 생성할 수 있다.
예를 들어, 홀 타임 아웃(hole timeout) 동안 누락되거나 오류가 발생한 세그먼트가 전송되지 않은 것으로 판단되면, 컨텐츠 요청자(1310)는 누락되거나 오류가 발생한 세그먼트(예를 들어, 2번 세그먼트)를 요청하는 컨텐츠 요청 패킷을 생성할 수 있다. 이때, 누락되거나 오류가 발생한 세그먼트를 요청하는 컨텐츠 요청 패킷은 특정 시간 단위에 기반한 컨텐츠 요청임을 나타내는 식별자를 포함하지 않는 일반적인 컨텐츠 요청 패킷(예를 들어, ccnx://sen/testfile.txt/seg2)일 수 있다.
누락되거나 오류가 발생한 세그먼트를 요청하는 컨텐츠 요청 패킷은 특정 시간 단위에 기반한 컨텐츠 요청임을 나타내는 식별자를 포함하지 않으며, 이를 대신하여 누락되거나 오류가 발생한 세그먼트(예를 들어, 2번 세그먼트(seg2))의 세그먼트 번호를 네임 필드에 포함할 수 있다. 이때, 누락되거나 오류가 발생한 세그먼트를 요청하는 컨텐츠 요청 패킷은 전술한 '홀 복구 요청 패킷(hole recovery request packet)'에 해당할 수 있다.
컨텐츠 요청자(1310)는 누락되거나 오류가 발생한 세그먼트를 요청하는 컨텐츠 요청 패킷을 컨텐츠 제공자(1330)에게 전송할 수 있다.
실시예에 따라서, 컨텐츠 요청자(1310)는 누락되거나 오류가 발생한 세그먼트의 개수를 기초로 서로 다른 형태의 컨텐츠 요청 패킷을 생성하여 컨텐츠 제공자(1330)에게 전송할 수 있다.
컨텐츠 요청자(1310)는 누락되거나 오류가 발생한 세그먼트의 개수와 미리 설정된 개수를 비교하고, 비교 결과에 기초하여, 누락되거나 오류가 발생한 세그먼트를 요청하는 서로 다른 형태의 컨텐츠 요청 패킷을 생성할 수 있다.
예를 들어, 컨텐츠 요청자(1310)는 누락되거나 오류가 발생한 세그먼트의 개수가 미리 설정된 개수보다 같거나 작으면, 누락되거나 오류가 발생한 세그먼트의 번호를 포함하는 일반적인 컨텐츠 요청 패킷을 생성할 수 있다. 또한, 컨텐츠 요청자(1310)는 누락되거나 오류가 발생한 세그먼트의 개수가 미리 설정된 개수보다 크면, 누락되거나 오류가 발생한 세그먼트를 요청하는, 특정 시간 단위에 기반한 컨텐츠 요청임을 나타내는 식별자를 포함하는 컨텐츠 요청 패킷을 생성할 수 있다. 여기서, 미리 설정된 개수는 네트워크 조건(network condition) 또는 서비스 시나리오(service scenario)에 따라 결정될 수 있으며, 예를 들어, 1개 혹은 2개일 수 있다.
예를 들어, 세그먼트 5번이 누락되거나 오류가 발생했다고 하자. 컨텐츠 요청자(1310)는 누락되거나 오류가 발생한 세그먼트(예를 들어, 5번 세그먼트)의 세그먼트 번호(5 혹은 seg 5)를 일반적인 컨텐츠 요청 패킷에 의해 전송하고, 컨텐츠 제공자(1330)로부터 5번 세그먼트를 재수신할 수 있다.
누락되거나 오류가 발생한 세그먼트의 개수가 10개(예를 들어, 세그먼트 11번부터 20번까지)인 경우, 컨텐츠 요청자(1310)가 세그먼트들 각각을 요청하는 10개의 컨텐츠 요청 패킷을 생성하는 것은 비효율적이다. 이 경우, 컨텐츠 요청자(1310)는 특정 시간 단위에 기반한 컨텐츠 요청임을 나타내는 식별자를 포함하는 하나의 컨텐츠 요청 패킷을 이용하여 11번부터 20번까지의 세그먼트를 한꺼번에 요청할 수 있다. 컨텐츠 제공자(1330)는 11번부터 20번까지의 세그먼트들을 포함하는 컨텐츠 응답 패킷를 컨텐츠 요청자(1310)에게 전송하여 보다 효율적으로 다수 개의 세그먼트들을 전송할 수 있다.
도 14는 일 실시예에 따른 컨텐츠 중심 네트워크에서 시간 기반의 인터리스트 프로토콜(Time-Based Interest Protocol)을 이용하는 네트워크 노드의 컨텐츠 스토어(Content Store) 처리 방법을 설명하기 위한 도면이다.
네트워크 노드의 컨텐츠 스토어(Content Store)는 CCN에서 네트워크 효율성을 향상시킬 수 있다. CCN에서 네트워크 노드의 컨텐츠 스토어(Content Store)에 저장된 컨텐츠 세그먼트의 이름이 인터리스트(Interest), 다시 말해, 컨텐츠 요청 패킷의 이름과 일치하면, 어떠한 노드라도 컨텐츠 요청에 응답할 수 있다.
시간 단위에 기반한 컨텐츠 요청 시에 컨텐츠 요청자는 하나의 컨텐츠 요청 패킷을 이용하여 다수 개의 컨텐츠 세그먼트들을 요청하기 위해, 네임 필드(Name Field)에 세그먼트 번호가 없는 컨텐츠 요청 패킷을 전송한다.
도 14를 참조하면, 일 실시예에 따른 시간 단위에 기반한 컨텐츠 요청 시에 컨텐츠 요청 패킷의 헤더에 포함된 특정 시간 단위 및 시작 세그먼트의 정보를 이용하는 캐시의 처리 과정이 도시되어 있다.
일 실시예에 따르면, 컨텐츠 요청자(1410)는 이웃하는 네트워크 노드(예를 들어, 노드 A(1430))의 컨텐츠 스토어(Content Store)로부터 응답을 얻기 위해, 컨텐츠(ccnx://sen/testfile.txt)의 전송이 지속되는 특정 시간 단위(예를 들어, T1)뿐만 아니라, 컨텐츠 중 전송이 시작되는 시작 세그먼트(예를 들어, seg 0, seg 379 등)에 대한 정보를 컨텐츠 요청 패킷의 헤더(header)에 부가하여 인접 노드(Adjacent node)인 노드 A(1430)에게 전송할 수 있다. 시작 세그먼트에 대한 정보로는 특정 시간 단위(예를 들어, T1)마다 전송이 시작되는 첫 번째 시작 세그먼트의 번호를 일 예로 들 수 있다.
시간 단위에 기반한 컨텐츠 요청 패킷을 수신한 노드 A(1430)는 순차적으로 자신의 캐시(cache)에 있는 모든 컨텐츠 세그먼트들을 응답할 수 있다. 여기서, 노드 A(1430)는 실시간 스트리밍 컨텐츠의 세그먼트들 중 0번부터 204번까지의 세그먼트들(seg 0 ~ seg 204)을 저장하고, 노드 B(1450)는 컨텐츠의 모든 세그먼트들을 저장할 수 있다.
헤더에 특정 시간 단위(예를 들어, T1) 및 시작 세그먼트에 대한 정보(예를 들어, seg 0)가 포함된 컨텐츠 요청 패킷을 수신한 노드 A(1430)은 자신의 캐시에 저장된 컨텐츠 세그먼트들(seg 0 ~ seg 204)을 순차적으로 컨텐츠 요청자(1410)에게 제공할 수 있다.
노드 A(1430)는 자신의 캐시에 저장되지 않은 나머지 컨텐츠 세그먼트들을 요청하는 컨텐츠 요청 패킷을 생성하여 다음(next) 노드 B(1450)에게 전송할 수 있다. 이때, 노드 A(1430)는 캐시 처리 시간에 기인하여 감소된 시간 간격(예를 들어, T1-T2 혹은 T1-T3)과 노드 A(1430)의 캐시에 저장되지 않은 시작 세그먼트의 세그먼트 번호를 포함하는 시간 기반 인터리스트를 다음 노드(next node) B(1450)에게 전송한다. 여기서, '시작 세그먼트'는 컨텐츠 중 자신의 캐시에 저장된 세그먼트들을 제외한 나머지 세그먼트들 중 첫 번째 세그먼트로 이해할 수 있다.
노드 A(1430)로부터, 헤더에 시작 세그먼트(예를 들어, seg 205)의 세그먼트 번호 및 시간 단위(T1-T2)를 포함하는 컨텐츠 요청 패킷을 수신한 노드 B(1450)는 자신의 캐시에 있는 모든 컨텐츠 세그먼트들을 순차로 응답할 수 있다. 노드 B(1450)가 컨텐츠 세그먼트들을 모두 저장하고 있지 않은 경우, 노드 B(1450)는 자신이 저장하고 있지 않은 나머지 세그먼트들을 요청하기 위해 다음 노드(next node)로 또 다른 시간 단위의 컨텐츠 요청 패킷을 전송할 수 있다.
특정 시간 단위(T1)가 만료된 경우, 컨텐츠 요청자(1410)는 특정 시간 단위의 다음(next) 시간 단위(T1) 및 특정 시간 단위에 대응하는 컨텐츠 요청 패킷에 의해 마지막으로 수신한 세그먼트(예를 들어, seg 378)의 다음(next) 세그먼트(seg 379)에 대한 정보를 포함하는 컨텐츠 요청 패킷을 노드 A(1430)로 전송할 수 있다.
컨텐츠 요청자(1410)는 특정 시간 단위(T1)가 만료된 경우, 해당 특정 시간 단위(T1)에서 마지막으로 수신한 컨텐츠 세그먼트 패킷(seg 378)에 의해 다음 세그먼트(seg 379)의 세그먼트 번호를 파악할 수 있다.
컨텐츠 요청자(1410)로부터 특정 시간 단위의 다음(next) 시간 단위((T1)) 및 다음(next) 세그먼트(seg 379)에 대한 정보를 포함하는 컨텐츠 요청 패킷을 수신한 노드 A(1430)는 노드 B(1450)로부터 이미 수신하였으나, 특정 시간 단위(T1)의 만료로 인해 미처 전달하지 못한 세그먼트들(예를 들어, seg 379 ~ seg 381)을 컨텐츠 요청자(1410)에게 전달할 수 있다.
이때, 노드 A(1430)가 컨텐츠 요청자(1410)에게 미처 전달하지 못한, 캐시에 저장되어 있던 세그먼트들(예를 들어, seg 379 ~ seg 381)을 전송하는 데에 걸린 시간 단위를 T3라고 하자. 노드 A(1430)는 캐시 처리 시간에 기인하여 감소된 시간 간격(예를 들어, T1-T3)과 노드 A(1430)의 캐시에 저장되지 않은 시작 세그먼트(seg 382)의 세그먼트 번호를 포함하는 컨텐츠 요청 패킷을 다음 노드(next node) B(1450)에게 전송할 수 있다.
시간 간격(예를 들어, T1-T3)과 세그먼트(seg 382)의 세그먼트 번호를 포함하는 컨텐츠 요청 패킷을 수신한 노드 B(1450)는 해당 세그먼트(seg 382)를 노드 A(1430)를 거쳐 컨텐츠 요청자(1410)에게 전달할 수 있다.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.
110: 컨텐츠 스토어(Content Store)
130: 펜딩 인터리스트 테이블(Pending Interest Table; PIT)
150: 포워딩 정보 베이스(Forwarding Information Base; FIB)

Claims (41)

  1. 컨텐츠 이름 기반의 컨텐츠 중심 네트워크에서 컨텐츠 제공을 위한 컨텐츠 요청자의 통신 방법에 있어서,
    상기 컨텐츠를 요청하기 위하여 특정 시간 단위에 기반한 컨텐츠 요청임을 나타내는 식별자를 포함하는 컨텐츠 요청 패킷을 생성하는 단계;
    상기 컨텐츠 요청 패킷을 전송하는 단계; 및
    상기 특정 시간 단위에 대응하는 상기 컨텐츠의 세그먼트들을 수신하는 단계
    를 포함하는 컨텐츠 요청자의 통신 방법.
  2. 제1항에 있어서,
    상기 컨텐츠는
    실시간 스트리밍 컨텐츠 또는 일반 컨텐츠 중 어느 하나를 포함하는 컨텐츠 요청자의 통신 방법.
  3. 제1항에 있어서,
    상기 컨텐츠 요청 패킷을 생성하는 단계는
    상기 컨텐츠의 이름을 이용하여 상기 컨텐츠의 세그먼트들을 요청하는 컨텐츠 요청 패킷을 생성하는 단계
    를 포함하는 컨텐츠 요청자의 통신 방법.
  4. 제1항에 있어서,
    상기 컨텐츠 요청 패킷을 생성하는 단계는
    상기 특정 시간 단위에 기반한 컨텐츠 요청임을 나타내는 식별자를 상기 컨텐츠 요청 패킷의 헤더 또는 상기 컨텐츠의 이름에 추가하는 단계
    를 포함하는 컨텐츠 요청자의 통신 방법.
  5. 제1항에 있어서,
    상기 컨텐츠 요청 패킷을 생성하는 단계는
    상기 컨텐츠의 전송이 지속되는 상기 특정 시간 단위 및 상기 컨텐츠 중 시작 세그먼트(starting segment)에 대한 정보를 상기 컨텐츠 요청 패킷의 헤더에 부가하는 단계
    를 포함하는 컨텐츠 요청자의 통신 방법.
  6. 제5항에 있어서,
    상기 특정 시간 단위가 만료된 경우, 상기 특정 시간 단위의 다음(next) 시간 단위 및 상기 특정 시간 단위에 대응하는 컨텐츠 요청 패킷에 의해 마지막으로 수신한 세그먼트의 다음(next) 세그먼트에 대한 정보를 포함하는 컨텐츠 요청 패킷을 전송하는 단계
    를 더 포함하는 컨텐츠 요청자의 통신 방법.
  7. 제1항에 있어서,
    상기 컨텐츠 요청자의 특성 및 네트워크 환경에 기초하여 상기 특정 시간 단위를 조절하는 단계
    를 더 포함하는 컨텐츠 요청자의 통신 방법.
  8. 제1항에 있어서,
    펜딩 인터리스트 테이블(Pending Interest Table)에서 상기 컨텐츠 요청 패킷에 대응하여 상기 특정 시간 단위를 저장하는 단계
    를 더 포함하는 컨텐츠 요청자의 통신 방법.
  9. 제1항에 있어서,
    상기 컨텐츠의 요청을 취소하도록 하는 취소 응답 패킷을 수신함에 따라 상기 컨텐츠에 해당하는 엔트리를 펜딩 인터리스트 테이블(Pending Interest Table)에서 삭제하는 단계
    를 더 포함하는 컨텐츠 요청자의 통신 방법.
  10. 제9항에 있어서,
    상기 삭제하는 단계는
    상기 컨텐츠 요청 패킷의 헤더에 포함된 타임 아웃 값을 이용하여 상기 컨텐츠에 해당하는 엔트리를 펜딩 인터리스트 테이블(Pending Interest Table)에서 삭제하는 단계
    를 포함하는 컨텐츠 요청자의 통신 방법.
  11. 제1항에 있어서,
    상기 수신한 컨텐츠의 세그먼트들 중 누락(missing)되거나 오류가 발생한 세그먼트가 있는지 여부를 감지하는 단계; 및
    상기 누락되거나 오류가 발생한 세그먼트가 감지되면, 소정의 시간 간격 동안 기다리는 단계
    를 더 포함하는 컨텐츠 요청자의 통신 방법.
  12. 제11항에 있어서,
    상기 소정의 시간 간격 동안 상기 누락되거나 오류가 발생한 세그먼트가 상기 컨텐츠 요청자에게 전송되었는지 여부를 판단하는 단계;
    상기 판단 결과를 기초로, 상기 누락되거나 오류가 발생한 세그먼트를 요청하는 컨텐츠 요청 패킷을 생성하는 단계; 및
    상기 누락되거나 오류가 발생한 세그먼트를 요청하는 컨텐츠 요청 패킷을 전송하는 단계
    를 더 포함하는 컨텐츠 요청자의 통신 방법.
  13. 제12항에 있어서,
    상기 누락되거나 오류가 발생한 세그먼트를 요청하는 컨텐츠 요청 패킷은,
    상기 특정 시간 단위에 기반한 컨텐츠 요청임을 나타내는 식별자를 포함하지 않고, 네임 필드에 상기 누락되거나 오류가 발생한 세그먼트의 번호를 포함하는 컨텐츠 요청자의 통신 방법.
  14. 제12항에 있어서,
    상기 누락되거나 오류가 발생한 세그먼트를 요청하는 컨텐츠 요청 패킷을 생성하는 단계는
    상기 누락되거나 오류가 발생한 세그먼트의 개수와 미리 설정된 개수를 비교하는 단계; 및
    상기 비교 결과에 기초하여, 상기 누락되거나 오류가 발생한 세그먼트를 요청하는 서로 다른 형태의 컨텐츠 요청 패킷을 생성하는 단계
    를 포함하는 컨텐츠 요청자의 통신 방법.
  15. 제14항에 있어서,
    상기 서로 다른 형태의 컨텐츠 요청 패킷을 생성하는 단계는
    상기 비교 결과, 상기 누락되거나 오류가 발생한 세그먼트의 개수가 미리 설정된 개수보다 같거나 작으면,
    상기 누락되거나 오류가 발생한 세그먼트의 번호를 포함하는 컨텐츠 요청 패킷을 생성하는 단계
    를 포함하는 컨텐츠 요청자의 통신 방법.
  16. 제14항에 있어서,
    상기 서로 다른 형태의 컨텐츠 요청 패킷을 생성하는 단계는
    상기 비교 결과, 상기 누락되거나 오류가 발생한 세그먼트의 개수가 미리 설정된 개수보다 크면,
    상기 누락되거나 오류가 발생한 세그먼트를 요청하는, 상기 특정 시간 단위에 기반한 컨텐츠 요청임을 나타내는 식별자를 포함하는 컨텐츠 요청 패킷을 생성하는 단계
    를 포함하는 컨텐츠 요청자의 통신 방법.
  17. 제1항에 있어서,
    상기 컨텐츠가 실시간 스트리밍 컨텐츠인 경우,
    컨텐츠 스토어에 상기 실시간 스트리밍 컨텐츠를 위한 저장 공간을 할당하는 단계
    를 더 포함하는 컨텐츠 요청자의 통신 방법.
  18. 제17항에 있어서,
    상기 실시간 스트리밍 컨텐츠를 위한 저장 공간에 상기 수신한 실시간 스트리밍 컨텐츠의 세그먼트들 중 최신 세그먼트를 저장하는 단계
    를 더 포함하는 컨텐츠 요청자의 통신 방법.
  19. 제18항에 있어서,
    상기 실시간 스트리밍 컨텐츠의 세그먼트들 중 누락되거나 오류가 발생한 세그먼트가 있는 경우,
    상기 최신 세그먼트를 이용하여 상기 실시간 스트리밍 컨텐츠에 대한 재전송을 요청하는 단계
    를 더 포함하는 컨텐츠 요청자의 통신 방법.
  20. 컨텐츠 이름 기반의 컨텐츠 중심 네트워크에서 컨텐츠 제공을 위한 컨텐츠 제공자의 통신 방법에 있어서,
    특정 시간 단위에 기반한 컨텐츠 요청임을 나타내는 식별자를 포함하는 컨텐츠 요청 패킷을 수신하는 단계;
    상기 컨텐츠 제공자의 컨텐츠 스토어 혹은 버퍼(buffer)에 상기 컨텐츠가 있는지 검색하는 단계;
    상기 검색 결과를 기초로, 상기 특정 시간 단위에 대응하는 컨텐츠의 세그먼트들을 포함하는 컨텐츠 응답 패킷을 생성하는 단계; 및
    상기 컨텐츠 응답 패킷을 전송하는 단계
    를 포함하는 컨텐츠 제공자의 통신 방법.
  21. 제20항에 있어서,
    상기 컨텐츠는
    실시간 스트리밍 컨텐츠 또는 일반 컨텐츠 중 어느 하나를 포함하는 컨텐츠 요청자의 통신 방법.
  22. 제20항에 있어서,
    상기 컨텐츠가 있는지를 검색하는 단계는
    상기 컨텐츠의 이름을 이용하여 상기 컨텐츠 스토어 혹은 상기 버퍼에 상기 컨텐츠가 있는지 검색하는 단계
    를 포함하는 컨텐츠 제공자의 통신 방법.
  23. 제20항에 있어서,
    상기 컨텐츠가 종료한 경우, 상기 컨텐츠의 요청을 취소하도록 하는 취소 응답 패킷을 생성하는 단계
    를 더 포함하는 컨텐츠 제공자의 통신 방법.
  24. 제23항에 있어서,
    상기 취소 응답 패킷을 생성하는 단계는
    상기 컨텐츠의 마지막 세그먼트의 세그먼트 번호에 미리 설정된 정보를 기재하거나, 상기 컨텐츠의 마지막 세그먼트의 페이로드 사이즈를 미리 설정된 값으로 설정하여 상기 취소 응답 패킷을 생성하는 단계
    를 포함하는 컨텐츠 제공자의 통신 방법.
  25. 제23항에 있어서,
    상기 취소 응답 패킷을 전송하는 단계
    를 더 포함하는 컨텐츠 제공자의 통신 방법.
  26. 제20항에 있어서,
    상기 컨텐츠 요청 패킷을 수신하는 단계는
    상기 컨텐츠의 전송이 지속되는 상기 특정 시간 단위 및 상기 컨텐츠 중 시작 세그먼트(starting segment)에 대한 정보를 포함하는 컨텐츠 요청 패킷을 수신하는 단계
    를 포함하는 컨텐츠 제공자의 통신 방법.
  27. 제20항에 있어서,
    상기 컨텐츠 요청 패킷을 수신하는 단계는
    상기 특정 시간 간격이 만료된 경우, 상기 특정 시간 단위의 다음(next) 시간 단위 및 상기 특정 시간 단위에 대응하는 컨텐츠 요청 패킷에 의해 마지막으로 수신한 세그먼트의 다음(next) 세그먼트에 대한 정보를 포함하는 컨텐츠 요청 패킷을 수신하는 단계
    를 포함하는 컨텐츠 제공자의 통신 방법.
  28. 제20항에 있어서,
    상기 컨텐츠 요청 패킷을 수신하는 단계는
    중간 노드의 컨텐츠 스토어에 저장되지 않은 상기 컨텐츠의 세그먼트들 중 첫 번째 세그먼트의 세그먼트 번호 및 상기 특정 시간 단위에서, 상기 중간 노드의 컨텐츠 스토어에 저장된 세그먼트의 처리에 소요되는 시간을 뺀 나머지 시간 단위를 포함하는 컨텐츠 요청 패킷을 수신하는 단계
    를 포함하는 컨텐츠 제공자의 통신 방법.
  29. 제20항에 있어서,
    상기 컨텐츠의 세그먼트들 중 누락(missing)되거나 오류가 발생한 세그먼트를 요청하는 컨텐츠 요청 패킷을 수신하는 단계
    를 더 포함하는 컨텐츠 제공자의 통신 방법.
  30. 제29항에 있어서,
    상기 누락되거나 오류가 발생한 세그먼트를 요청하는 컨텐츠 요청 패킷은,
    상기 특정 시간 단위에 기반한 컨텐츠 요청임을 나타내는 식별자를 포함하지 않고, 네임 필드에 상기 누락되거나 오류가 발생한 세그먼트의 번호를 포함하는 컨텐츠 제공자의 통신 방법.
  31. 컨텐츠 이름 기반의 컨텐츠 중심 네트워크에서 컨텐츠 제공을 위한 컨텐츠 제공자의 통신 방법에 있어서,
    컨텐츠 요청 패킷을 수신하는 단계;
    상기 컨텐츠 요청 패킷이 특정 시간 단위에 기반하는지 여부를 판단하는 단계;
    상기 판단 결과에 따라, 상기 컨텐츠 요청 패킷이 상기 특정 시간 단위에 기반한 실시간 스트리밍 컨텐츠 또는 상기 특정 시간 단위에 기반한 일반 컨텐츠 중 어느 컨텐츠에 대한 요청인지 결정하는 단계;
    상기 결정에 기초하여, 컨텐츠 응답 패킷을 생성하는 단계; 및
    상기 컨텐츠 응답 패킷을 전송하는 단계
    를 포함하는 컨텐츠 제공자의 통신 방법.
  32. 제31항에 있어서,
    상기 컨텐츠 요청 패킷이 특정 시간 단위에 기반하는지 여부를 판단하는 단계는
    상기 컨텐츠 요청 패킷의 헤더 또는 상기 컨텐츠의 이름에 상기 특정 시간 단위에 기반한 컨텐츠 요청임을 나타내는 식별자가 있는지 여부를 기초로, 상기 컨텐츠 요청 패킷이 특정 시간 단위에 기반하는지 여부를 판단하는 단계
    를 포함하는 컨텐츠 제공자의 통신 방법.
  33. 제31항에 있어서,
    상기 어느 컨텐츠에 대한 요청인지 결정하는 단계는
    상기 컨텐츠 요청 패킷의 헤더에 포함된 정보를 이용하여 상기 컨텐츠 요청 패킷이 상기 특정 시간 단위에 기반한 실시간 스트리밍 컨텐츠 또는 상기 특정 시간 단위에 기반한 일반 컨텐츠 중 어느 컨텐츠에 대한 요청인지 결정하는 단계
    를 포함하는 컨텐츠 제공자의 통신 방법.
  34. 제31항에 있어서,
    상기 컨텐츠 응답 패킷을 생성하는 단계는
    상기 컨텐츠 요청 패킷이 상기 특정 시간 단위에 기반한 실시간 스트리밍 컨텐츠에 대한 요청으로 결정되는 경우,
    상기 실시간 스트리밍 컨텐츠의 세그먼트들을 포함하는 컨텐츠 응답 패킷을 생성하는 단계
    를 포함하는 컨텐츠 제공자의 통신 방법.
  35. 제31항에 있어서,
    상기 컨텐츠 응답 패킷을 생성하는 단계는
    상기 컨텐츠 요청 패킷이 상기 특정 시간 단위에 기반한 일반 컨텐츠를 요청하는 것으로 판단되는 경우,
    상기 특정 시간 단위에 기반한 일반 컨텐츠를 포함하는 컨텐츠 응답 패킷을 생성하는 단계
    를 포함하는 컨텐츠 제공자의 통신 방법.
  36. 제31항에 있어서,
    상기 컨텐츠가 종료한 경우, 상기 컨텐츠의 요청을 취소하도록 하는 취소 응답 패킷을 생성하는 단계
    를 더 포함하는 컨텐츠 제공자의 통신 방법.
  37. 제36항에 있어서,
    상기 취소 응답 패킷을 생성하는 단계는
    상기 컨텐츠의 마지막 세그먼트의 세그먼트 번호에 미리 설정된 정보를 기재하거나, 상기 컨텐츠의 마지막 세그먼트의 페이로드 사이즈를 미리 설정된 값으로 설정하여 상기 취소 응답 패킷을 생성하는 단계
    를 포함하는 컨텐츠 제공자의 통신 방법.
  38. 제31항에 있어서,
    상기 컨텐츠 요청 패킷을 수신하는 단계는
    상기 컨텐츠의 전송이 지속되는 특정 시간 단위에 대한 정보를 포함하는 컨텐츠 요청 패킷을 수신하는 단계
    를 포함하는 컨텐츠 제공자의 통신 방법.
  39. 제38항에 있어서,
    상기 컨텐츠의 세그먼트들 중 누락(missing)되거나 오류가 발생한 세그먼트를 요청하는 컨텐츠 요청 패킷을 수신하는 단계
    를 더 포함하고,
    상기 누락되거나 오류가 발생한 세그먼트를 요청하는 컨텐츠 요청 패킷은,
    상기 특정 시간 단위에 기반한 컨텐츠 요청임을 나타내는 식별자를 포함하지 않고, 네임 필드에 상기 누락되거나 오류가 발생한 세그먼트의 번호를 포함하는 컨텐츠 제공자의 통신 방법.
  40. 제31항에 있어서,
    상기 컨텐츠 요청 패킷이 특정 시간 단위에 기반하지 않는다고 판단되는 경우,
    상기 특정 시간 단위에 기반하지 않는 일반 컨텐츠를 포함하는 컨텐츠 응답 패킷을 생성하는 단계
    를 더 포함하는 컨텐츠 제공자의 통신 방법.
  41. 제1항 내지 제40항 중 어느 한 항의 방법을 수행하기 위한 프로그램이 기록된 컴퓨터로 판독 가능한 기록 매체.
KR20130082125A 2012-07-13 2013-07-12 컨텐츠 이름 기반의 컨텐츠 중심 네트워크에서 컨텐츠 및 실시간 스트리밍 컨텐츠 제공을 위한 컨텐츠 요청자 및 컨텐츠 제공자의 통신 방법 KR20140009931A (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
PCT/KR2013/006272 WO2014010992A1 (ko) 2012-07-13 2013-07-12 컨텐츠 이름 기반의 컨텐츠 중심 네트워크에서 컨텐츠 및 실시간 스트리밍 컨텐츠 제공을 위한 컨텐츠 요청자 및 컨텐츠 제공자의 통신 방법
CN201380012109.0A CN104145292A (zh) 2012-07-13 2013-07-12 用于基于内容名称提供内容和实时流传输内容的内容请求器和内容提供器的通信方法
JP2015521554A JP6329139B2 (ja) 2012-07-13 2013-07-12 コンテンツネーム基盤のコンテンツ中心ネットワークにおけるコンテンツ提供のための、コンテンツ要求者、コンテンツ提供者、及びノードの通信方法
US14/263,275 US20140237085A1 (en) 2012-07-13 2014-04-28 Communication method of content requester and content provider to provide content and real-time streaming content in content-centric network (ccn) based on content name

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020120076535 2012-07-13
KR20120076535 2012-07-13

Publications (1)

Publication Number Publication Date
KR20140009931A true KR20140009931A (ko) 2014-01-23

Family

ID=50142912

Family Applications (1)

Application Number Title Priority Date Filing Date
KR20130082125A KR20140009931A (ko) 2012-07-13 2013-07-12 컨텐츠 이름 기반의 컨텐츠 중심 네트워크에서 컨텐츠 및 실시간 스트리밍 컨텐츠 제공을 위한 컨텐츠 요청자 및 컨텐츠 제공자의 통신 방법

Country Status (6)

Country Link
US (1) US20140237085A1 (ko)
EP (1) EP2874116A4 (ko)
JP (1) JP6329139B2 (ko)
KR (1) KR20140009931A (ko)
CN (1) CN104145292A (ko)
WO (1) WO2014010992A1 (ko)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170017583A (ko) 2015-08-07 2017-02-15 주식회사 더아이콘티비 컨텐츠 제공 장치
KR20170026810A (ko) * 2015-08-28 2017-03-09 전자부품연구원 컨텐츠 중심 네트워크 연동을 통한 컨텐츠 제공 방법 및 이를 위한 장치
US10305640B2 (en) 2014-07-18 2019-05-28 Samsung Electronics Co., Ltd. Communication method of node in content centric network (CCN) and the node
WO2022087095A1 (en) * 2020-10-20 2022-04-28 M35Creations, Llc Crowdsourcing platform for on-demand media content creation and sharing
US11470370B2 (en) 2021-01-15 2022-10-11 M35Creations, Llc Crowdsourcing platform for on-demand media content creation and sharing

Families Citing this family (151)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9456054B2 (en) 2008-05-16 2016-09-27 Palo Alto Research Center Incorporated Controlling the spread of interests and content in a content centric network
US8923293B2 (en) 2009-10-21 2014-12-30 Palo Alto Research Center Incorporated Adaptive multi-interface use for content networking
US9280546B2 (en) * 2012-10-31 2016-03-08 Palo Alto Research Center Incorporated System and method for accessing digital content using a location-independent name
US9400800B2 (en) 2012-11-19 2016-07-26 Palo Alto Research Center Incorporated Data transport by named content synchronization
US10430839B2 (en) 2012-12-12 2019-10-01 Cisco Technology, Inc. Distributed advertisement insertion in content-centric networks
US9978025B2 (en) 2013-03-20 2018-05-22 Cisco Technology, Inc. Ordered-element naming for name-based packet forwarding
US9935791B2 (en) 2013-05-20 2018-04-03 Cisco Technology, Inc. Method and system for name resolution across heterogeneous architectures
US9185120B2 (en) 2013-05-23 2015-11-10 Palo Alto Research Center Incorporated Method and system for mitigating interest flooding attacks in content-centric networks
US9444722B2 (en) 2013-08-01 2016-09-13 Palo Alto Research Center Incorporated Method and apparatus for configuring routing paths in a custodian-based routing architecture
US9407549B2 (en) 2013-10-29 2016-08-02 Palo Alto Research Center Incorporated System and method for hash-based forwarding of packets with hierarchically structured variable-length identifiers
US9282050B2 (en) 2013-10-30 2016-03-08 Palo Alto Research Center Incorporated System and method for minimum path MTU discovery in content centric networks
US9276840B2 (en) 2013-10-30 2016-03-01 Palo Alto Research Center Incorporated Interest messages with a payload for a named data network
US9401864B2 (en) * 2013-10-31 2016-07-26 Palo Alto Research Center Incorporated Express header for packets with hierarchically structured variable-length identifiers
KR102131699B1 (ko) * 2013-11-07 2020-07-08 삼성전자주식회사 컨텐츠 송신기 및 컨텐츠 수신기와, 컨텐츠 송신 방법 및 컨텐츠 수신 방법
US10101801B2 (en) 2013-11-13 2018-10-16 Cisco Technology, Inc. Method and apparatus for prefetching content in a data stream
US10129365B2 (en) 2013-11-13 2018-11-13 Cisco Technology, Inc. Method and apparatus for pre-fetching remote content based on static and dynamic recommendations
US9311377B2 (en) 2013-11-13 2016-04-12 Palo Alto Research Center Incorporated Method and apparatus for performing server handoff in a name-based content distribution system
US10089655B2 (en) 2013-11-27 2018-10-02 Cisco Technology, Inc. Method and apparatus for scalable data broadcasting
US9503358B2 (en) 2013-12-05 2016-11-22 Palo Alto Research Center Incorporated Distance-based routing in an information-centric network
US9379979B2 (en) 2014-01-14 2016-06-28 Palo Alto Research Center Incorporated Method and apparatus for establishing a virtual interface for a set of mutual-listener devices
US10098051B2 (en) 2014-01-22 2018-10-09 Cisco Technology, Inc. Gateways and routing in software-defined manets
US10172068B2 (en) 2014-01-22 2019-01-01 Cisco Technology, Inc. Service-oriented routing in software-defined MANETs
US9374304B2 (en) 2014-01-24 2016-06-21 Palo Alto Research Center Incorporated End-to end route tracing over a named-data network
US9954678B2 (en) 2014-02-06 2018-04-24 Cisco Technology, Inc. Content-based transport security
US9531679B2 (en) 2014-02-06 2016-12-27 Palo Alto Research Center Incorporated Content-based transport security for distributed producers
WO2015121342A1 (en) * 2014-02-13 2015-08-20 Koninklijke Kpn N.V. Requesting multiple chunks from a network node on the basis of a single request message
US9678998B2 (en) 2014-02-28 2017-06-13 Cisco Technology, Inc. Content name resolution for information centric networking
US10089651B2 (en) 2014-03-03 2018-10-02 Cisco Technology, Inc. Method and apparatus for streaming advertisements in a scalable data broadcasting system
US9836540B2 (en) 2014-03-04 2017-12-05 Cisco Technology, Inc. System and method for direct storage access in a content-centric network
US9626413B2 (en) 2014-03-10 2017-04-18 Cisco Systems, Inc. System and method for ranking content popularity in a content-centric network
US9391896B2 (en) 2014-03-10 2016-07-12 Palo Alto Research Center Incorporated System and method for packet forwarding using a conjunctive normal form strategy in a content-centric network
US9473405B2 (en) 2014-03-10 2016-10-18 Palo Alto Research Center Incorporated Concurrent hashes and sub-hashes on data streams
US9407432B2 (en) 2014-03-19 2016-08-02 Palo Alto Research Center Incorporated System and method for efficient and secure distribution of digital content
US9916601B2 (en) 2014-03-21 2018-03-13 Cisco Technology, Inc. Marketplace for presenting advertisements in a scalable data broadcasting system
US9363179B2 (en) 2014-03-26 2016-06-07 Palo Alto Research Center Incorporated Multi-publisher routing protocol for named data networks
US9363086B2 (en) 2014-03-31 2016-06-07 Palo Alto Research Center Incorporated Aggregate signing of data in content centric networking
US9716622B2 (en) 2014-04-01 2017-07-25 Cisco Technology, Inc. System and method for dynamic name configuration in content-centric networks
US9390289B2 (en) 2014-04-07 2016-07-12 Palo Alto Research Center Incorporated Secure collection synchronization using matched network names
US10075521B2 (en) 2014-04-07 2018-09-11 Cisco Technology, Inc. Collection synchronization using equality matched network names
US9473576B2 (en) 2014-04-07 2016-10-18 Palo Alto Research Center Incorporated Service discovery using collection synchronization with exact names
US9451032B2 (en) 2014-04-10 2016-09-20 Palo Alto Research Center Incorporated System and method for simple service discovery in content-centric networks
US10692111B1 (en) * 2014-04-25 2020-06-23 Google Llc Systems and methods for reducing online content delivery latency
US9203885B2 (en) 2014-04-28 2015-12-01 Palo Alto Research Center Incorporated Method and apparatus for exchanging bidirectional streams over a content centric network
US9992281B2 (en) 2014-05-01 2018-06-05 Cisco Technology, Inc. Accountable content stores for information centric networks
US9609014B2 (en) 2014-05-22 2017-03-28 Cisco Systems, Inc. Method and apparatus for preventing insertion of malicious content at a named data network router
US9455835B2 (en) 2014-05-23 2016-09-27 Palo Alto Research Center Incorporated System and method for circular link resolution with hash-based names in content-centric networks
US9276751B2 (en) 2014-05-28 2016-03-01 Palo Alto Research Center Incorporated System and method for circular link resolution with computable hash-based names in content-centric networks
US9516144B2 (en) * 2014-06-19 2016-12-06 Palo Alto Research Center Incorporated Cut-through forwarding of CCNx message fragments with IP encapsulation
US9537719B2 (en) 2014-06-19 2017-01-03 Palo Alto Research Center Incorporated Method and apparatus for deploying a minimal-cost CCN topology
US9467377B2 (en) 2014-06-19 2016-10-11 Palo Alto Research Center Incorporated Associating consumer states with interests in a content-centric network
US9426113B2 (en) 2014-06-30 2016-08-23 Palo Alto Research Center Incorporated System and method for managing devices over a content centric network
US9699198B2 (en) 2014-07-07 2017-07-04 Cisco Technology, Inc. System and method for parallel secure content bootstrapping in content-centric networks
US9959156B2 (en) 2014-07-17 2018-05-01 Cisco Technology, Inc. Interest return control message
US9621354B2 (en) 2014-07-17 2017-04-11 Cisco Systems, Inc. Reconstructable content objects
US9729616B2 (en) 2014-07-18 2017-08-08 Cisco Technology, Inc. Reputation-based strategy for forwarding and responding to interests over a content centric network
US9590887B2 (en) * 2014-07-18 2017-03-07 Cisco Systems, Inc. Method and system for keeping interest alive in a content centric network
US9535968B2 (en) 2014-07-21 2017-01-03 Palo Alto Research Center Incorporated System for distributing nameless objects using self-certifying names
US9882964B2 (en) 2014-08-08 2018-01-30 Cisco Technology, Inc. Explicit strategy feedback in name-based forwarding
US9729662B2 (en) 2014-08-11 2017-08-08 Cisco Technology, Inc. Probabilistic lazy-forwarding technique without validation in a content centric network
US9503365B2 (en) 2014-08-11 2016-11-22 Palo Alto Research Center Incorporated Reputation-based instruction processing over an information centric network
US9391777B2 (en) 2014-08-15 2016-07-12 Palo Alto Research Center Incorporated System and method for performing key resolution over a content centric network
US9467492B2 (en) 2014-08-19 2016-10-11 Palo Alto Research Center Incorporated System and method for reconstructable all-in-one content stream
US9800637B2 (en) 2014-08-19 2017-10-24 Cisco Technology, Inc. System and method for all-in-one content stream in content-centric networks
US9497282B2 (en) 2014-08-27 2016-11-15 Palo Alto Research Center Incorporated Network coding for content-centric network
US10204013B2 (en) 2014-09-03 2019-02-12 Cisco Technology, Inc. System and method for maintaining a distributed and fault-tolerant state over an information centric network
US9553812B2 (en) 2014-09-09 2017-01-24 Palo Alto Research Center Incorporated Interest keep alives at intermediate routers in a CCN
JP2016082462A (ja) * 2014-10-20 2016-05-16 セイコーエプソン株式会社 頭部装着型表示装置およびその制御方法、並びにコンピュータープログラム
US10069933B2 (en) 2014-10-23 2018-09-04 Cisco Technology, Inc. System and method for creating virtual interfaces based on network characteristics
EP3232332B1 (en) * 2014-12-09 2021-05-19 Nec Corporation Information processing device, information processing method, and recording medium
US9536059B2 (en) 2014-12-15 2017-01-03 Palo Alto Research Center Incorporated Method and system for verifying renamed content using manifests in a content centric network
US9590948B2 (en) 2014-12-15 2017-03-07 Cisco Systems, Inc. CCN routing using hardware-assisted hash tables
US10237189B2 (en) 2014-12-16 2019-03-19 Cisco Technology, Inc. System and method for distance-based interest forwarding
JP6403566B2 (ja) * 2014-12-16 2018-10-10 Kddi株式会社 コンテンツ配信ネットワークの転送装置、クライアント装置及びプログラム
US20160182680A1 (en) * 2014-12-17 2016-06-23 Cisco Technology, Inc. Interest acknowledgements for information centric networking
US9846881B2 (en) 2014-12-19 2017-12-19 Palo Alto Research Center Incorporated Frugal user engagement help systems
US10270689B2 (en) * 2014-12-19 2019-04-23 Futurewei Technologies, Inc. Multi-nonce enabled interest packet design for named-data networking
US9473475B2 (en) 2014-12-22 2016-10-18 Palo Alto Research Center Incorporated Low-cost authenticated signing delegation in content centric networking
US10003520B2 (en) 2014-12-22 2018-06-19 Cisco Technology, Inc. System and method for efficient name-based content routing using link-state information in information-centric networks
US9660825B2 (en) 2014-12-24 2017-05-23 Cisco Technology, Inc. System and method for multi-source multicasting in content-centric networks
US9954795B2 (en) 2015-01-12 2018-04-24 Cisco Technology, Inc. Resource allocation using CCN manifests
US9602596B2 (en) 2015-01-12 2017-03-21 Cisco Systems, Inc. Peer-to-peer sharing in a content centric network
US9946743B2 (en) 2015-01-12 2018-04-17 Cisco Technology, Inc. Order encoded manifests in a content centric network
US9916457B2 (en) 2015-01-12 2018-03-13 Cisco Technology, Inc. Decoupled name security binding for CCN objects
US9832291B2 (en) 2015-01-12 2017-11-28 Cisco Technology, Inc. Auto-configurable transport stack
US9462006B2 (en) 2015-01-21 2016-10-04 Palo Alto Research Center Incorporated Network-layer application-specific trust model
US9552493B2 (en) 2015-02-03 2017-01-24 Palo Alto Research Center Incorporated Access control framework for information centric networking
US10333840B2 (en) 2015-02-06 2019-06-25 Cisco Technology, Inc. System and method for on-demand content exchange with adaptive naming in information-centric networks
US10075401B2 (en) 2015-03-18 2018-09-11 Cisco Technology, Inc. Pending interest table behavior
US10116605B2 (en) 2015-06-22 2018-10-30 Cisco Technology, Inc. Transport stack name scheme and identity management
US10075402B2 (en) 2015-06-24 2018-09-11 Cisco Technology, Inc. Flexible command and control in content centric networks
US10680922B2 (en) * 2015-07-09 2020-06-09 Panasonic Intellectual Property Corporation Of America Communication control apparatus and communication control method
JP6599263B2 (ja) * 2015-07-09 2019-10-30 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 通信制御装置及び通信制御方法
US10701038B2 (en) 2015-07-27 2020-06-30 Cisco Technology, Inc. Content negotiation in a content centric network
US9986034B2 (en) 2015-08-03 2018-05-29 Cisco Technology, Inc. Transferring state in content centric network stacks
US10610144B2 (en) 2015-08-19 2020-04-07 Palo Alto Research Center Incorporated Interactive remote patient monitoring and condition management intervention system
US9832123B2 (en) 2015-09-11 2017-11-28 Cisco Technology, Inc. Network named fragments in a content centric network
US10355999B2 (en) 2015-09-23 2019-07-16 Cisco Technology, Inc. Flow control with network named fragments
US10313227B2 (en) 2015-09-24 2019-06-04 Cisco Technology, Inc. System and method for eliminating undetected interest looping in information-centric networks
US9977809B2 (en) 2015-09-24 2018-05-22 Cisco Technology, Inc. Information and data framework in a content centric network
US10454820B2 (en) 2015-09-29 2019-10-22 Cisco Technology, Inc. System and method for stateless information-centric networking
US10263965B2 (en) 2015-10-16 2019-04-16 Cisco Technology, Inc. Encrypted CCNx
US9794238B2 (en) 2015-10-29 2017-10-17 Cisco Technology, Inc. System for key exchange in a content centric network
US9807205B2 (en) 2015-11-02 2017-10-31 Cisco Technology, Inc. Header compression for CCN messages using dictionary
US10009446B2 (en) 2015-11-02 2018-06-26 Cisco Technology, Inc. Header compression for CCN messages using dictionary learning
US10021222B2 (en) 2015-11-04 2018-07-10 Cisco Technology, Inc. Bit-aligned header compression for CCN messages using dictionary
US10097521B2 (en) 2015-11-20 2018-10-09 Cisco Technology, Inc. Transparent encryption in a content centric network
US9912776B2 (en) 2015-12-02 2018-03-06 Cisco Technology, Inc. Explicit content deletion commands in a content centric network
US10097346B2 (en) 2015-12-09 2018-10-09 Cisco Technology, Inc. Key catalogs in a content centric network
US10078062B2 (en) 2015-12-15 2018-09-18 Palo Alto Research Center Incorporated Device health estimation by combining contextual information with sensor data
US10257271B2 (en) 2016-01-11 2019-04-09 Cisco Technology, Inc. Chandra-Toueg consensus in a content centric network
US9949301B2 (en) 2016-01-20 2018-04-17 Palo Alto Research Center Incorporated Methods for fast, secure and privacy-friendly internet connection discovery in wireless networks
US10305864B2 (en) 2016-01-25 2019-05-28 Cisco Technology, Inc. Method and system for interest encryption in a content centric network
JP6516692B2 (ja) * 2016-02-10 2019-05-22 Kddi株式会社 コンテンツ配信ネットワークの転送装置及びプログラム
US10043016B2 (en) 2016-02-29 2018-08-07 Cisco Technology, Inc. Method and system for name encryption agreement in a content centric network
US10708828B2 (en) 2016-03-01 2020-07-07 Telefonaktiebolaget Lm Ericsson (Publ) Handover initiated alignment of pending interest tables
US11051355B2 (en) 2016-03-01 2021-06-29 Telefonaktiebolaget Lm Ericsson (Publ) Correlation of user equipment identity to information centric networking request
US10742596B2 (en) 2016-03-04 2020-08-11 Cisco Technology, Inc. Method and system for reducing a collision probability of hash-based names using a publisher identifier
US10003507B2 (en) 2016-03-04 2018-06-19 Cisco Technology, Inc. Transport session state protocol
US10038633B2 (en) 2016-03-04 2018-07-31 Cisco Technology, Inc. Protocol to query for historical network information in a content centric network
US10051071B2 (en) 2016-03-04 2018-08-14 Cisco Technology, Inc. Method and system for collecting historical network information in a content centric network
US9832116B2 (en) 2016-03-14 2017-11-28 Cisco Technology, Inc. Adjusting entries in a forwarding information base in a content centric network
US10212196B2 (en) 2016-03-16 2019-02-19 Cisco Technology, Inc. Interface discovery and authentication in a name-based network
US11436656B2 (en) 2016-03-18 2022-09-06 Palo Alto Research Center Incorporated System and method for a real-time egocentric collaborative filter on large datasets
US10067948B2 (en) 2016-03-18 2018-09-04 Cisco Technology, Inc. Data deduping in content centric networking manifests
US10091330B2 (en) 2016-03-23 2018-10-02 Cisco Technology, Inc. Interest scheduling by an information and data framework in a content centric network
US10033639B2 (en) 2016-03-25 2018-07-24 Cisco Technology, Inc. System and method for routing packets in a content centric network using anonymous datagrams
US10320760B2 (en) 2016-04-01 2019-06-11 Cisco Technology, Inc. Method and system for mutating and caching content in a content centric network
US9930146B2 (en) 2016-04-04 2018-03-27 Cisco Technology, Inc. System and method for compressing content centric networking messages
US10425503B2 (en) 2016-04-07 2019-09-24 Cisco Technology, Inc. Shared pending interest table in a content centric network
US10027578B2 (en) 2016-04-11 2018-07-17 Cisco Technology, Inc. Method and system for routable prefix queries in a content centric network
US10404450B2 (en) 2016-05-02 2019-09-03 Cisco Technology, Inc. Schematized access control in a content centric network
US10320675B2 (en) 2016-05-04 2019-06-11 Cisco Technology, Inc. System and method for routing packets in a stateless content centric network
US10547589B2 (en) 2016-05-09 2020-01-28 Cisco Technology, Inc. System for implementing a small computer systems interface protocol over a content centric network
US10084764B2 (en) 2016-05-13 2018-09-25 Cisco Technology, Inc. System for a secure encryption proxy in a content centric network
US10063414B2 (en) 2016-05-13 2018-08-28 Cisco Technology, Inc. Updating a transport stack in a content centric network
WO2017207072A1 (en) * 2016-06-03 2017-12-07 Telefonaktiebolaget Lm Ericsson (Publ) Improved content delivery in an information centric network
US10103989B2 (en) 2016-06-13 2018-10-16 Cisco Technology, Inc. Content object return messages in a content centric network
US10305865B2 (en) 2016-06-21 2019-05-28 Cisco Technology, Inc. Permutation-based content encryption with manifests in a content centric network
US10148572B2 (en) 2016-06-27 2018-12-04 Cisco Technology, Inc. Method and system for interest groups in a content centric network
US10009266B2 (en) * 2016-07-05 2018-06-26 Cisco Technology, Inc. Method and system for reference counted pending interest tables in a content centric network
US9992097B2 (en) 2016-07-11 2018-06-05 Cisco Technology, Inc. System and method for piggybacking routing information in interests in a content centric network
US10122624B2 (en) 2016-07-25 2018-11-06 Cisco Technology, Inc. System and method for ephemeral entries in a forwarding information base in a content centric network
US10069729B2 (en) 2016-08-08 2018-09-04 Cisco Technology, Inc. System and method for throttling traffic based on a forwarding information base in a content centric network
US10956412B2 (en) 2016-08-09 2021-03-23 Cisco Technology, Inc. Method and system for conjunctive normal form attribute matching in a content centric network
US10033642B2 (en) 2016-09-19 2018-07-24 Cisco Technology, Inc. System and method for making optimal routing decisions based on device-specific parameters in a content centric network
US10212248B2 (en) 2016-10-03 2019-02-19 Cisco Technology, Inc. Cache management on high availability routers in a content centric network
US10447805B2 (en) 2016-10-10 2019-10-15 Cisco Technology, Inc. Distributed consensus in a content centric network
US10135948B2 (en) 2016-10-31 2018-11-20 Cisco Technology, Inc. System and method for process migration in a content centric network
US10243851B2 (en) 2016-11-21 2019-03-26 Cisco Technology, Inc. System and method for forwarder connection information in a content centric network
US20210281667A1 (en) * 2020-03-05 2021-09-09 The Regents Of The University Of California Named content for end-to-end information-centric ip internet
US11496601B2 (en) * 2021-01-13 2022-11-08 Dell Products, L.P. Client driven cloud network access system and method

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2001234532A1 (en) * 2000-01-21 2001-07-31 Sorceron, Inc. System and method for delivering rich media content over a network
US6901437B1 (en) * 2000-10-06 2005-05-31 Verizon Laboratories Inc. Mobile cache for dynamically composing user-specific information
US7460148B1 (en) * 2003-02-19 2008-12-02 Rockwell Collins, Inc. Near real-time dissemination of surveillance video
US8516323B2 (en) * 2004-04-05 2013-08-20 Telefonaktiebolaget L M Ericsson (Publ) Repair function for a broadcast service
JP2007287041A (ja) * 2006-04-19 2007-11-01 Oki Electric Ind Co Ltd ダウンロードシステム及びダウンロード方法
US9380096B2 (en) * 2006-06-09 2016-06-28 Qualcomm Incorporated Enhanced block-request streaming system for handling low-latency streaming
US7729381B2 (en) * 2006-09-15 2010-06-01 At&T Intellectual Property I, L.P. In-band media performance monitoring
WO2010111261A1 (en) * 2009-03-23 2010-09-30 Azuki Systems, Inc. Method and system for efficient streaming video dynamic rate adaptation
KR20100131365A (ko) * 2009-06-05 2010-12-15 한국전자통신연구원 채널 변경 지연을 줄이기 위한 스트리밍 서버, 이동 단말기 및 그 방법
WO2011002901A1 (en) * 2009-06-30 2011-01-06 Fosco Bianchetti Systems and methods for transmission of uninterrupted radio, television programs and additional data services through wireless networks
JP5376317B2 (ja) * 2009-10-02 2013-12-25 富士ゼロックス株式会社 画像通信装置
JP2011087103A (ja) * 2009-10-15 2011-04-28 Sony Corp コンテンツ再生システム、コンテンツ再生装置、プログラム、コンテンツ再生方法、およびコンテンツサーバを提供
US9264342B2 (en) * 2009-12-24 2016-02-16 Samsung Electronics Co., Ltd. Terminal device based on content name, and method for routing based on content name
US8504718B2 (en) * 2010-04-28 2013-08-06 Futurewei Technologies, Inc. System and method for a context layer switch
KR101688857B1 (ko) * 2010-05-13 2016-12-23 삼성전자주식회사 컨텐츠 중심 네트워크(ccn)에서 단말 및 허브의 통신 방법 및 컨텐츠 중심 네트워크를 위한 단말
KR101452269B1 (ko) * 2010-05-25 2014-10-22 (주)주인네트 콘텐트 가상 세그멘테이션 방법과, 이를 이용한 스트리밍 서비스 제공 방법 및 시스템
KR101745367B1 (ko) * 2010-07-07 2017-06-09 주식회사 엘지유플러스 하이퍼텍스트 전송 프로토콜을 이용한 멀티미디어 컨텐츠 스트리밍 시스템 및 방법
KR20120010089A (ko) * 2010-07-20 2012-02-02 삼성전자주식회사 Http 기반의 멀티미디어 스트리밍 서비스의 품질 향상을 위한 방법 및 장치
KR20120058782A (ko) * 2010-11-30 2012-06-08 삼성전자주식회사 컨텐츠 중심 네트워킹 환경에서의 단말, 중간 노드 및 이들의 통신 방법
US9571547B2 (en) * 2011-03-14 2017-02-14 Canon Kabushiki Kaisha Method and device for generating media fragment requests for requesting fragments of an encoded media stream
CN103583040B (zh) * 2011-04-15 2017-03-15 欧朋软件爱尔兰有限责任公司 实时视频检测器
US8885464B2 (en) * 2011-04-28 2014-11-11 Bio-Signal Group Corp. Wireless EEG data recovery
US9219700B2 (en) * 2011-07-06 2015-12-22 Gigamon Inc. Network switch with traffic generation capability
US8694675B2 (en) * 2011-09-01 2014-04-08 Futurewei Technologies, Inc. Generalized dual-mode data forwarding plane for information-centric network
US8751679B2 (en) * 2011-10-07 2014-06-10 Ericsson Television Inc. HTTP adaptive streaming server with automatic rate shaping
US8639718B2 (en) * 2011-12-02 2014-01-28 Cisco Technology, Inc. Systems and methods for client transparent video readdressing
WO2013143137A1 (en) * 2012-03-31 2013-10-03 France Telecom Research & Development Beijing Company Limited Content centric m2m system

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10305640B2 (en) 2014-07-18 2019-05-28 Samsung Electronics Co., Ltd. Communication method of node in content centric network (CCN) and the node
KR20170017583A (ko) 2015-08-07 2017-02-15 주식회사 더아이콘티비 컨텐츠 제공 장치
KR20170026810A (ko) * 2015-08-28 2017-03-09 전자부품연구원 컨텐츠 중심 네트워크 연동을 통한 컨텐츠 제공 방법 및 이를 위한 장치
WO2017039022A1 (ko) * 2015-08-28 2017-03-09 전자부품연구원 컨텐츠 중심 네트워크 연동을 통한 컨텐츠 제공 방법 및 이를 위한 장치
WO2022087095A1 (en) * 2020-10-20 2022-04-28 M35Creations, Llc Crowdsourcing platform for on-demand media content creation and sharing
US11470370B2 (en) 2021-01-15 2022-10-11 M35Creations, Llc Crowdsourcing platform for on-demand media content creation and sharing

Also Published As

Publication number Publication date
WO2014010992A1 (ko) 2014-01-16
US20140237085A1 (en) 2014-08-21
EP2874116A4 (en) 2016-03-09
EP2874116A1 (en) 2015-05-20
CN104145292A (zh) 2014-11-12
JP6329139B2 (ja) 2018-05-23
JP2015528951A (ja) 2015-10-01

Similar Documents

Publication Publication Date Title
KR20140009931A (ko) 컨텐츠 이름 기반의 컨텐츠 중심 네트워크에서 컨텐츠 및 실시간 스트리밍 컨텐츠 제공을 위한 컨텐츠 요청자 및 컨텐츠 제공자의 통신 방법
US11632420B2 (en) Point of presence management in request routing
US10931738B2 (en) Point of presence management in request routing
US9794216B2 (en) Request routing in a networked environment
US8156243B2 (en) Request routing
US20190044787A1 (en) Point of presence management in request routing
US8239571B2 (en) Request routing using network computing components
US9734472B2 (en) Request routing utilizing cost information
US8073940B1 (en) Managing content delivery network service providers
CN103581361A (zh) 一种域名解析代理方法、设备及系统

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application