KR20140073826A - 컨텐츠 중심 네트워크에서 노드가 컨텐츠를 저장하는 방법 및 컨텐츠 제공자가 컨텐츠를 전송하는 방법 - Google Patents

컨텐츠 중심 네트워크에서 노드가 컨텐츠를 저장하는 방법 및 컨텐츠 제공자가 컨텐츠를 전송하는 방법 Download PDF

Info

Publication number
KR20140073826A
KR20140073826A KR1020120141743A KR20120141743A KR20140073826A KR 20140073826 A KR20140073826 A KR 20140073826A KR 1020120141743 A KR1020120141743 A KR 1020120141743A KR 20120141743 A KR20120141743 A KR 20120141743A KR 20140073826 A KR20140073826 A KR 20140073826A
Authority
KR
South Korea
Prior art keywords
content
node
chunk
store
centric network
Prior art date
Application number
KR1020120141743A
Other languages
English (en)
Other versions
KR101978177B1 (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 KR1020120141743A priority Critical patent/KR101978177B1/ko
Priority to US14/099,120 priority patent/US9936038B2/en
Publication of KR20140073826A publication Critical patent/KR20140073826A/ko
Application granted granted Critical
Publication of KR101978177B1 publication Critical patent/KR101978177B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/54Organization of routing tables
    • 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/568Storing data temporarily at an intermediate stage, e.g. caching
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/742Route cache; Operation thereof

Landscapes

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

Abstract

컨텐츠 요청자로부터 제1 청크를 요청하는 컨텐츠 요청 패킷을 수신함에 따라 펜딩 인터레스트 테이블(PIT)에 제1 청크에 대응하는 마크 비트를 설정(setting)하고, 컨텐츠 제공자로부터 제1 청크를 포함하는 데이터 패킷을 수신함에 따라 해당 노드의 컨텐츠 스토어에 제1 청크를 저장하는 컨텐츠 중심 네트워크에서 노드가 컨텐츠를 저장하는 방법이 제공된다.

Description

컨텐츠 중심 네트워크에서 노드가 컨텐츠를 저장하는 방법 및 컨텐츠 제공자가 컨텐츠를 전송하는 방법{METHOD OF CACHING CONTENTS BY NODE AND METHOD OF TRANSMITTING CONTENTS BY CONTENTS PROVIDER IN A CONTENT CENTRIC NETWORK}
아래의 실시예들은 컨텐츠 중심 네트워크에서 노드가 컨텐츠를 저장하는 방법 및 컨텐츠 제공자가 컨텐츠를 전송하는 방법에 관한 것이다.
IP와 달리 컨텐츠 중심 네트워크(CONTENT CENTRIC NETWORK; CCN) 기술은 패킷 헤더에 소스(source) 및 데스티네이션(destination) 주소 대신 필요한 컨텐츠의 이름을 표시한다. 따라서, 각 라우터들은 패킷 헤더에 적혀 있는 컨텐츠의 이름을 보고 해당 컨텐츠가 있는 곳으로 각 패킷을 보낼 수 있도록 라우팅 테이블을 구성한다. 또한, 라우터를 포함하는 모든 네트워킹 장비는 스토리지를 갖고 있어 컨텐츠를 임시 저장할 수 있다. CCN에서 패킷은 컨텐츠 요청 패킷과 컨텐츠 응답 패킷으로 구분되는데, 컨텐츠 요청 패킷은 요청하는 컨텐츠의 이름을 포함하고 있으며, 컨텐츠 응답 패킷은 요청 받은 컨텐츠와 컨텐츠 이름 등을 포함한다. 네트워킹 장비는 컨텐츠 요청 패킷을 받았을 경우 헤더에 있는 컨텐츠 이름으로 자신의 스토리지를 검색하고, 자신이 해당 컨텐츠를 갖고 있을 경우 그 컨텐츠를 요청자에게 전달(응답)한다. 따라서, 컨텐츠의 원래(original) 소유자에게까지 가서 컨텐츠를 받아와야 하는 IP 기반 인터넷에 비해, CCN에서는 중간의 어느 노드라도 자신의 스토리지에 해당 컨텐츠가 있을 경우 응답(reply)할 수 있으므로 평균 전송 경로(path)의 길이가 짧아져 전체적인 네트워크 사용량이 줄어들게 된다.
일 실시예에 따르면, 컨텐츠 중심 네트워크에서 노드가 컨텐츠를 저장하는 방법은 컨텐츠 요청자로부터 제1 청크- 상기 제1 청크는 컨텐츠를 구성하는 일부 세그먼트들의 집합임-를 요청하는 컨텐츠 요청 패킷을 수신하는 단계; 해당 노드의 펜딩 인터레스트 테이블(Pending Interest Table; PIT)에 상기 제1 청크에 대응하는 마크 비트- 상기 마크 비트는 해당 노드가 상기 제1 청크를 수신했을 때 컨텐츠 스토어에 저장할지 여부를 나타냄- 를 설정(setting)하는 단계; 상기 컨텐츠 요청 패킷을 전송함에 응답하여 컨텐츠 제공자로부터 상기 제1 청크를 포함하는 데이터 패킷을 수신하는 단계; 및 상기 해당 노드의 컨텐츠 스토어에 상기 제1 청크를 저장하는 단계를 포함할 수 있다.
다음 노드(next node)에게 상기 제1 청크에 연속하는 제2 청크를 저장하도록 요청하는 부킹 비트(booking bit)가 설정된 컨텐츠 요청 패킷을 생성하는 단계; 및 상기 생성된 컨텐츠 요청 패킷을 상기 다음 노드에게 전송하는 단계를 더 포함할 수 있다.
상기 부킹 비트가 설정된 컨텐츠 요청 패킷을 수신한 상기 다음 노드는 상기 다음 노드의 펜딩 인터레스트 테이블(Pending Interest Table; PIT)에 상기 제2 청크에 대응하는 마크 비트를 설정(setting)하고, 상기 부킹 비트를 해제(clear)한 컨텐츠 요청 패킷을 포워딩할 수 있다.
상기 해당 노드의 컨텐츠 스토어에 상기 제1 청크를 저장하는 단계는 상기 해당 노드의 펜딩 인터레스트 테이블(Pending Interest Table; PIT)에 상기 제1 청크에 대응하는 마크 비트가 설정되어 있는지 여부를 확인하는 단계; 및 상기 확인 결과에 기초하여, 상기 해당 노드의 컨텐츠 스토어에 상기 제1 청크를 저장하는 단계를 포함할 수 있다.
상기 컨텐츠 요청 패킷은 상기 컨텐츠 요청 패킷이 상기 컨텐츠 요청자로부터 중계됨에 따라 증가되는 홉 카운트(hop count) 및 상기 컨텐츠의 정보를 포함할 수 있다.
상기 해당 노드가 상기 홉 카운터를 이용하여 자신이 상기 컨텐츠 요청자에 인접한 노드인지 여부를 판단하는 단계를 더 포함할 수 있다.
상기 컨텐츠의 정보는 상기 컨텐츠의 이름, 상기 컨텐츠의 사이즈 및 상기 컨텐츠를 구성하는 청크들의 개수를 포함할 수 있다.
상기 컨텐츠 제공자로부터 상기 컨텐츠를 구성하는 청크들에 대한 메타 정보를 수신하는 단계를 더 포함할 수 있다.
일 실시예에 따르면, 컨텐츠 중심 네트워크에서 노드가 컨텐츠를 저장하는 방법은 컨텐츠 요청 패킷을 전송함에 응답하여 컨텐츠 제공자가 전송한, 제1 청크- 상기 제1 청크는 컨텐츠를 구성하는 일부 세그먼트들의 집합임-를 포함하는 데이터 패킷을 수신하는 단계; 해당 노드의 컨텐츠 스토어에 상기 제1 청크의 이름을 저장하는 단계; 및 상기 제1 청크에 대한 요청 빈도에 기초하여 상기 해당 노드의 컨텐츠 스토어에 상기 제1 청크를 저장하는 단계를 포함할 수 있다.
상기 해당 노드의 컨텐츠 스토어에 상기 제1 청크를 저장하는 단계는 상기 제1 청크를 요청하는 컨텐츠 요청 패킷을 수신함에 따라 상기 제1 청크에 대한 요청 빈도를 나타내는 카운트를 갱신하는 단계; 상기 갱신된 카운트가 미리 설정된 임계값에 해당하는지 여부를 판단하는 단계; 및 상기 판단 결과에 기초하여, 상기 해당 노드의 컨텐츠 스토어에 상기 제1 청크를 저장하는 단계를 포함할 수 있다.
상기 데이터 패킷은 상기 컨텐츠 제공자로부터 중계됨에 따라 증가되는 홉 카운트(hop count)를 포함할 수 있다.
상기 홉 카운트를 이용하여 상기 해당 노드가 상기 컨텐츠 제공자에 인접한 노드인지 여부를 판단하는 단계를 더 포함할 수 있다.
상기 제1 청크를 포함하는 데이터 패킷을 다음 노드로 포워딩하는 단계를 더 포함할 수 있다.
상기 제1 청크에 연속하는 제2 청크를 포함하는 데이터 패킷을 수신함에 따라 상기 해당 노드의 컨텐츠 스토어에 상기 제2 청크의 이름을 저장하는 단계를 더 포함할 수 있다.
상기 제2 청크의 이름을 저장한 후, 다음 노드에게 상기 해당 노드가 상기 제1 청크를 저장함을 알리는 캐싱 비트(caching bit)가 설정된 데이터 패킷을 생성하는 단계; 및 상기 캐싱 비트(caching bit)가 설정된 데이터 패킷을 상기 다음 노드에게 포워딩하는 단계를 더 포함할 수 있다.
상기 다음 노드는 상기 캐싱 비트(caching bit)가 설정된 데이터 패킷을 수신함에 따라 상기 다음 노드의 컨텐츠 스토어에 상기 제1 청크의 이름을 저장하고, 상기 캐싱 비트를 해제한 데이터 패킷을 포워딩할 수 있다.
일 실시예에 따르면, 컨텐츠 중심 네트워크에서 컨텐츠 제공자가 컨텐츠를 전송하는 방법은 컨텐츠 요청 패킷을 수신함에 응답하여, 컨텐츠 요청자가 요청한 컨텐츠의 일부를 구성하는 청크(chunk)들 중 청크의 인기도에 기초하여 어느 하나의 청크를 선택하는 단계; 및 상기 어느 하나의 청크를 포함하는 데이터 패킷을 상기 컨텐츠 요청자에 인접한 노드에게 전송하는 단계를 포함할 수 있다.
상기 컨텐츠 요청 패킷은 상기 컨텐츠의 정보 및 상기 컨텐츠 요청자로부터 중계됨에 따라 증가되는 홉 카운트(hop count)를 포함할 수 있다.
상기 컨텐츠의 정보는 상기 컨텐츠의 이름, 상기 컨텐츠의 사이즈 및 상기 컨텐츠를 구성하는 청크들의 개수를 포함할 수 있다.
상기 데이터 패킷을 상기 컨텐츠 요청자에 인접한 노드에게 전송하는 단계는 상기 홉 카운트의 값을 이용하여 상기 어느 하나의 청크를 상기 컨텐츠 요청자에 인접한 노드에게 전송하는 단계를 포함할 수 있다.
상기 어느 하나의 청크 및 상기 어느 하나의 청크를 저장하는 노드를 알리는 캐싱 비트(caching bit)를 포함하는 데이터 패킷을 생성하는 단계를 더 포함할 수 있다.
도 1은 컨텐츠 중심 네트워크에서 컨텐츠 요청 및 이에 응답하는 컨텐츠 제공이 수행되는 것을 나타낸 도면이다.
도 2는 일반적인 컨텐츠 중심 네트워크의 각 노드에서 컨텐츠 요청 패킷을 처리하는 과정을 나타낸 도면이다.
도 3은 일 실시예에 따른 컨텐츠 중심 네트워크에서 노드가 컨텐츠를 저장하는 방법을 나타낸 플로우 차트이다.
도 4는 도 3의 실시예에서 노드가 제1 청크를 저장하는 방법을 나타낸 플로우 차트이다.
도 5는 일 실시예에 따른 컨텐츠 중심 네트워크에서 노드가 컨텐츠를 저장하는 방법이 수행되는 과정을 설명하기 위한 도면이다.
도 6은 도 5의 방법에 따를 경우에 파이프 라인화된 캐시 접속(Pipelined cache access)과 같은 효율을 얻을 수 있음을 설명하기 위한 도면이다.
도 7은 다른 실시예에 따른 컨텐츠 중심 네트워크에서 노드가 컨텐츠를 저장하는 방법을 나타낸 플로우 차트이다.
도 8는 도 7의 실시예에서 노드가 제1 청크를 저장하는 방법을 나타낸 플로우 차트이다.
도 9 및 도 10은 다른 실시예에 따른 컨텐츠 중심 네트워크에서 노드가 컨텐츠를 저장하는 방법이 수행되는 과정을 설명하기 위한 도면이다.
도 11은 일 실시예에 따른 컨텐츠 중심 네트워크에서 컨텐츠 제공자가 컨텐츠를 전송하는 방법을 나타낸 플로우 차트이다.
이하, 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다. 그러나, 본 발명이 일실시예들에 의해 제한되거나 한정되는 것은 아니다. 또한, 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.
도 1은 컨텐츠 중심 네트워크에서 컨텐츠 요청 및 이에 응답하는 컨텐츠 제공이 수행되는 것을 나타낸 도면이다.
이하에서 '컨텐츠 제공자'는 '컨텐츠 요청자'가 요청한 컨텐츠를 원래 소유하고 있거나, 저장하고 있는 노드 혹은 라우터를 의미하고, '컨텐츠 요청자'는 해당 컨텐츠를 요청하는 노드 혹은 라우터를 의미한다. 또한, '중간 노드'는 컨텐츠 중심 네트워크에서 포함된 컨텐츠 제공자 및 컨텐츠 요청자를 제외한 나머지 노드들을 의미하며, 이동 단말 및 컨텐츠 라우터 등과 같은 네트워킹 장비 등으로 구성될 수 있다. 실시예에 따라서, 컨텐츠 제공자 및 컨텐츠 요청자 또한 중간 노드가 될 수 있다.
도 1을 참조하면, 컨텐츠 요청자(110)인 사용자 단말이 컨텐츠를 요청하는 컨텐츠 요청 패킷(다시 말해, 인터레스트(Interest))를 네트워크로 전송하고, 이에 응답하여 컨텐츠 제공자(150)인 컨텐츠 서버가 해당 컨텐츠를 포함하는 데이터 패킷을 전송하는 과정을 볼 수 있다. 이 때, 컨텐츠는 하나의 컨텐츠(파일)를 구성하는 복수의 세그먼트들을 포함할 수 있으며, 각 세그먼트들이 경로 상의 중간 노드들(120, 130, 140)에 캐싱될 수 있다.
컨텐츠 요청 패킷을 수신한 컨텐츠 제공자(150)가 해당 컨텐츠를 전송하는 때에 중간 노드들(120, 130, 140)은 컨텐츠 요청 패킷이 수신된 경로(예를 들어, 페이스(face))로 컨텐츠를 전달할 수 있다. 이때, 중간 노드들(120, 130, 140)은 해당 컨텐츠를 전달함과 동시에 자신의 저장 공간(예를 들어, 컨텐츠 스토어(도 2의 210 참조))에 임시적으로 저장할 수 있다. 즉, 컨텐츠 중심 네트워크 내에서 해당 컨텐츠가 전달된 경로 상에 있는 모든 중간 노드들(120, 130, 140)은 각각 컨텐츠를 저장할 수 있다.
만약, 컨텐츠 제공자(150)가 다양한 컨텐츠들을 저장하고 있고, 다수의 컨텐츠 요청자들이 컨텐츠 요청 패킷을 전송하게 되면 네트워크 경로 상의 중간 노드들에는 다양한 컨텐츠들이 저장될 수 있다. 이와 같이 다수의 컨텐츠 요청자들이 다양한 컨텐츠 요청을 하는 경우, 중간 노드들(120, 130, 140)은 많은 양의 컨텐츠를 저장하게 되고, 이 때에는 새로운 컨텐츠를 위주로 저장될 수 있다.
도 2는 컨텐츠 중심 네트워크의 각 노드에서 컨텐츠 요청 패킷을 처리하는 과정을 나타낸 도면이다.
컨텐츠 중심 네트워크에서 컨텐츠의 이름은 컨텐츠가 저장된 노드를 찾아가기 위한 나침판 역할과 해당 컨텐츠를 다른 컨텐츠와 구분해 주는 역할을 한다. 그러므로, 각 컨텐츠는 고유한 이름을 사용하며, 두 컨텐츠의 이름이 서로 다르면, 같은 내용의 컨텐츠도 다른 컨텐츠로 취급할 수 있다.
예를 들어, 같은 내용으로 이루어진 두 파일이 각각 /ABC.com/sait/video/intro.avi과 /ABC.com/sait/comm/video/intro.avi의 컨텐츠 이름으로 존재할 경우, 두 파일은 서로 다른 컨텐츠로 처리될 수 있다. 이러한 규칙은 이름이 비슷한 서로 다른 컨텐츠들을 구분함에 있어서 매우 유용하게 사용될 수 있다.
도 2를 참조하면, 컨텐츠의 계층적 이름을 기반으로 해당 컨텐츠를 가져오는 과정을 설명하기 위해, 이름 기반 네트워크의 일 예인 컨텐츠 중심 네트워크(Content-Centric Networking; CCN)에서 컨텐츠 요청 패킷을 처리하는 과정을 보여준다.
컨텐츠 중심 네트워크에 포함된 노드가 페이스 0(201)로부터 예를 들어, '/ABC.com/철수/abc.avi/v3/s2'에 해당하는 컨텐츠를 요청하는 컨텐츠 요청 패킷을 수신했다고 가정하자.
이때, 노드의 네트워킹 모듈은 컨텐츠 요청 패킷 내에 있는 컨텐츠의 계층적 이름(여기서는 '/ABC.com/철수/abc.avi/v3/s2')을 참조하여 해당 컨텐츠가 노드의 컨텐츠 스토어(Content Store)(210)(혹은 컨텐츠 캐시(Contents Cache))에 있는지 확인할 수 있다.
확인 결과, 컨텐츠 스토어(210) 내에 해당 컨텐츠가 저장되어 있으면, 노드는 해당 컨텐츠를 컨텐츠 요청 패킷이 수신된 페이스 0(201)로 반환할 수 있다. 이때, 페이스(face)는 인터페이스(interface)로도 표현할 수 있다.
반면에, 해당 컨텐츠가 컨텐츠 스토어(210)에 저장되어 있지 않으면, 노드는 펜딩 인터레스트 테이블(Pending Interest Table; PIT)(230) 내에 동일한 컨텐츠 이름(여기서는'/ABC.com/철수/abc.avi/v3/s2')으로 저장된 항목(entry)이 있는지 여부를 확인할 수 있다.
노드는 동일한 컨텐츠 이름으로 저장된 항목이 있으면, 펜딩 인터레스트 테이블(230) 내의 해당 항목에 컨텐츠 요청 패킷이 들어온 페이스(여기서는 페이스 0(201))에 대한 정보를 추가할 수 있다.
펜딩 인터레스트 테이블(230) 내에 동일 컨텐츠 이름으로 등록된 항목이 없다면, 노드는 포워딩 정보 베이스(Forwarding Information Base; FIB)(250)에서 컨텐츠 이름에 기반한 검색(name lookup)을 수행하여 해당 엔트리(entry)를 찾을 수 있다. 이 때, 노드는 최장 프리픽스 매칭(longest prefix matching)에 따라 검색을 수행할 수 있다.
그 후, 노드는 포워딩 정보 베이스(250)에 등록되어 있는 정보에 기초하여 컨텐츠 요청 패킷을 전달할 페이스(여기서는 페이스 1(205))를 결정하고, 해당 페이스(페이스 1(205))로 컨텐츠 요청 패킷을 전송할 수 있다.
이 과정에서 노드는 컨텐츠 요청 패킷이 전달되어 온 페이스(페이스 0(201))에 대한 정보('0')를 인터레스트 테이블(PIT)(230)에 등록할 수 있다. 이는 향후 컨텐츠 요청 패킷에 대응되는 컨텐츠를 포함한 데이터 패킷이 전달되었을 때, 해당 컨텐츠를 요청한 노드에게 데이터 패킷을 전달하기 위함이다. 여기서, 포워딩 정보 베이스 (250)에 기초하여 컨텐츠 요청 패킷을 전달할 페이스를 선택할 때, 컨텐츠 요청 패킷이 수신된 페이스(여기서는 페이스 0(201))는 선택 대상에서 제외될 수 있다.
도 3은 일 실시예에 따른 컨텐츠 중심 네트워크에서 노드가 컨텐츠를 저장하는 방법을 나타낸 플로우 차트이다.
이하, 도 3 내지 도 6에서 '다음 노드(next node)'는 해당 노드보다 컨텐츠 제공자에게 가깝게 위치하는 노드로 이해될 수 있다.
도 3을 참조하면, 일 실시예에 따른 노드는 컨텐츠 요청자로부터 제1 청크를 요청하는 컨텐츠 요청 패킷을 수신할 수 있다(310). 여기서, 청크(chunk)는 하나의 컨텐츠(파일)를 구성하는 복수의 세그먼트들의 집합으로서, 컨텐츠는 복수 개의 청크를 포함하는 청크 블록에 의해 구성될 수 있다.
실시예에 따라서, 노드(혹은 컨텐츠 요청자)는 컨텐츠 제공자로부터 310에 앞서, 컨텐츠를 구성하는 청크들에 대한 메타 정보를 수신하고, 이를 이용하여 해당 청크가 컨텐츠 중 자신이 원하는 세그먼트들을 포함하는지 여부를 확인할 수 있다.
컨텐츠 요청 패킷은 컨텐츠 요청 패킷이 컨텐츠 요청자로부터 컨텐츠 제공자에게 중계됨에 따라 증가되는 홉 카운트(hop count) 및 컨텐츠의 정보를 포함할 수 있다. 따라서, 노드는 홉 카운터(의 값)를 이용하여 자신이 컨텐츠 요청자에 인접한 노드인지 여부를 판단할 수 있다. 예를 들어, 홉 카운터의 값이 클수록 컨텐츠 요청자로부터 멀리 있는 노드이고, 홉 카운터의 값이 작을수록 컨텐츠 요청자에 근접한 노드로 판단할 수 있다.
이때, 컨텐츠의 정보는 컨텐츠의 이름, 컨텐츠의 사이즈 및 컨텐츠를 구성하는 청크들의 개수를 포함할 수 있다. 그리고, 컨텐츠를 구성하는 청크들의 개수는 컨텐츠를 전송하는 사용자 링크의 전송 비트 레이트(transfer bit rate) 및 컨텐츠의 플레잉 비트 레이트(playing bit rate)에 기초하여 결정될 수 있다.
노드는 해당 노드의 펜딩 인터레스트 테이블(Pending Interest Table; PIT)에 제1 청크에 대응하는 마크 비트를 설정(setting)할 수 있다(320). 여기서, 마크 비트는 해당 노드가 제1 청크를 수신했을 때 컨텐츠 스토어에 저장할지 여부를 나타낼 수 있다.
컨텐츠 요청 패킷을 전송함에 응답하여, 노드는 컨텐츠 제공자로부터 제1 청크를 포함하는 데이터 패킷을 수신할 수 있다(330).
노드는 자신의 컨텐츠 스토어에 제1 청크를 저장할 수 있다(340). 노드가 제1 청크를 저장하는 방법은 도 4를 참조하여 설명한다.
이 후, 노드는 부킹 비트(booking bit)가 설정된 컨텐츠 요청 패킷을 생성할 수 있다(350). 여기서, 부킹 비트(booking bit)는 다음 노드(next node)에게 제1 청크에 연속하는 제2 청크를 저장하도록 요청함을 알리는 비트일 수 있다. 예를 들어, 부킹 비트가 '1'로 설정된 경우, 다음 노드(next node)에게 제2 청크를 저장하도록 요청하고, 부킹 비트가 '0'으로 설정된 경우, 다음 노드(next node)에게 제2 청크를 저장하도록 요청하지 않음을 나타낼 수 있다.
노드는 생성된 컨텐츠 요청 패킷을 다음 노드에게 전송할 수 있다(360).
여기서, 부킹 비트가 설정된 컨텐츠 요청 패킷을 수신한 다음 노드는 다음 노드의 펜딩 인터레스트 테이블(Pending Interest Table; PIT)에 제2 청크에 대응하는 마크 비트를 설정(setting)하고, 부킹 비트를 해제(clear)한 컨텐츠 요청 패킷을 컨텐츠 제공자에게 포워딩할 수 있다.
도 4는 도 3의 실시예에서 노드가 제1 청크를 저장하는 방법을 나타낸 플로우 차트이다.
도 4를 참조하면, 일 실시예에 따른 노드는 330에서 제1청크를 포함하는 데이터 패킷을 수신한 다음, 해당 노드의 펜딩 인터레스트 테이블(Pending Interest Table; PIT)에 제1 청크에 대응하는 마크 비트가 설정(setting)되어 있는지 여부를 확인할 수 있다(410).
만약, 410에서 해당 노드의 펜딩 인터레스트 테이블(PIT)에 제1 청크에 대응하는 마크 비트가 설정되어 있지 않다면, 노드는 제1 청크를 저장하지 않고 동작을 종료할 수 있다.
반면에, 410에서 제1 청크에 대응하는 마크 비트가 설정되어 있다면, 노드는 해당 노드의 컨텐츠 스토어에 제1 청크를 저장할 수 있다(420).
도 5는 일 실시예에 따른 컨텐츠 중심 네트워크에서 노드가 컨텐츠를 저장하는 방법이 수행되는 과정을 설명하기 위한 도면이다.
일 실시예에 따른 컨텐츠 제공자는 하나의 컨텐츠(파일)을 동일한 개수를 가지는 청크들로 분할할 수 있다. 그리고, 컨텐츠 제공자 혹은 노드는 컨텐츠에 대한 첫 요청이 있으면 가장 인기 있는 컨텐츠 혹은 청크(예를 들어, 멀티미디어 포어헤드(multimedia forehead))을 컨텐츠 요청자에 근접한 노드의 컨텐츠 스토어에 저장할 수 있다. 컨텐츠 요청자에 근접한 노드는 에지 노드(edge node)라고도 부를 수 있다.
또한, 일실시예에 따른 노드는 컨텐츠에 대한 요청 빈도에 따라 컨텐츠 요청자에 근접한 노드부터 컨텐츠 제공자까지 점진적으로 캐쉬 파이프라인을 구축할 수 있다.
도 5를 참조하면, 컨텐츠를 요청하는 사용자 단말(501)에 인접한 노드(503)는 사용자 단말(501)로부터 컨텐츠 K(혹은, 청크 K1)을 요청하는 컨텐츠 요청 패킷(다시 말해, 인터레스트(Interest))를 수신하고, 이를 각 노드들(505,507)을 거쳐 컨텐츠를 제공하는 컨텐츠 서버(509)에게 전달할 수 있다(510).
이때, 노드(503)는 자신의 펜딩 인터레스트 테이블(PIT)에 청크 K1에 대응하는 마크 비트를 설정(setting)할 수 있다. 마크 비트(mark bit)는 해당 노드(노드(503))가 청크 K1를 수신했을 때 컨텐츠 스토어에 저장할지 여부를 나타낼 수 있다.
510의 요청에 따른 응답으로 컨텐츠 서버(509)로부터 청크 K1 이 전송되면, 노드(503)는 컨텐츠 스토어에 청크 K1을 저장할 수 있다(520).
이후, 사용자 단말(501)로부터 요청된 청크가 청크 K1에 연속하는 청크 K2라면, 노드(503)는 다음 노드(next node)(505)에게 청크 K2를 저장하도록 요청하는 부킹 비트(booking bit)가 설정된 인터레스트를 생성할 수 있다(530).
그리고, 노드(503)는 생성된 인터레스트를 노드들(505, 507)을 통해 컨텐츠 서버(509)에게 포워딩할 수 있다(530). 이때, 부킹 비트(booking bit)가 설정된 인터레스트를 수신한 다음 노드(505)는 자신의 펜딩 인터레스트 테이블(PIT)에 청크 K2에 대응하는 마크 비트를 설정(setting)할 수 있다. 그리고, 청크 K2에 대한 부킹 비트를 해제(clear)한 컨텐츠 요청 패킷을 노드(507)에게 포워딩할 수 있다(530).
청크 K2를 요청하는 인터레스트에 응답하여 컨텐츠 서버(509)로부터 전송된 청크 K2는 노드(505)에 저장된 후, 사용자 단말(501)에게 제공될 수 있다(540).
이하에서, 알고리듬 1은 노드가 인터레스트(Interest)를 처리하는 방법을 슈도 코드(pseudo code) 형태로 나타낸 것이고, 알고리즘 2는 노드가 청크 데이터(chunk data)를 처리하는 방법을 슈도 코드 형태로 나타낸 것이다.
또한, 알고리즘 3은 노드가 청크를 컨텐츠 캐시에 저장하는 다른 방법을 슈도 코드 형태로 나타낸 것이다.
Figure pat00001

Figure pat00002
Figure pat00003

이상의 일 실시예에 따른 노드의 동작은 다음과 같이 정리할 수 있다.
seq. num= i인 데이터 패킷을 수신한 경우, 해당 노드는 자신의 펜딩 인터레스트 테이블에 해당 청크(seq. num= i 인 청크)에 대한 정보가 들어있고, 해당 청크에 대응되는 마크 비트가 설정되어 있으면, 컨텐츠 스토어에 해당 청크를 저장할 수 있다.
또한, 노드는 seq. num= i인 데이터 청크를 요청하는 인터레스트를 수신한 경우, 다음과 같은 경우에 해당하면 자신의 펜딩 인터레스트 테이블에 마크 비트를 설정할 수 있다.
1) 해당 노드가 컨텐츠를 요청하는 컨텐츠 요청자에 인접한 에지 노드(혹은 에지 라우터)이며, i <= m (여기서, m은 컨텐츠(파일) F의 블록에 포함된 청크의 개수)일 경우.
2) 해당 노드가 에지 노드이고, i > m 이며, 현재 1-th 청크부터
Figure pat00004
청크가 모두 컨텐츠 스토어에 저장되어 있는 경우,
3) 해당 노드가 에지 노드는 아니지만, 수신된 인터레스트의 부킹 비트가 1로 설정되고,
Figure pat00005
인 경우.
4) 해당 노드가 에지 노드는 아니지만, 수신된 인터레스트의 부킹 비트가 0이고,
Figure pat00006
이며, 현재
Figure pat00007
-th 청크부터
Figure pat00008
청크까지 모두 저장된 경우(여기서, ni 혹은 n은 사용자 단말로부터 전송되는 인터레스트 i의 홉 카운트 임)
도 6은 도 5의 방법에 따를 경우에 파이프 라인화된 캐시 액세스(Pipelined cache access)과 같은 효율을 얻을 수 있음을 설명하기 위한 도면이다.
도 5와 같이 파이프 라인 형태로 캐시를 액세스함으로써 사용자가 감지하는 지연(delay)는 도 6에서 보는 것과 같이 실질적으로 줄어들 수 있다.
도 6에서 컨텐츠를 제공하는 컨텐츠 서버(609)는 각각 M개의 청크들을 포함하는 세 개의 블록으로 구성된 컨텐츠(파일) K를 가지며, 종단 라우터 a(603)는 컨텐츠 스토어에 이미 K1를 저장한다고 하자.
컨텐츠를 요청하는 사용자 단말(601)은 종단 라우터(다시 말해, 에지 노드(edge node)) a(603)에게 컨텐츠 K를 요청하는 인터레스트(Interest)를 전송할 수 있다(610). 이때, 종단 라우터 a(603)는 이미 K1를 컨텐츠 스토어에 저장하였기에 K2, K3 에 대한 인터레스트를 라우터 b(605) 및 라우터 c(607)등과 같은 다음 노드에게 전송할 수 있다.
K2, K3에 대한 인터레스트 요청을 받을 때, 이미 K2 를 컨텐츠 스토어에 저장했으므로 라우터 b(605)는 K3를 요청하는 인터레스트를 라우터 c(607)로 전송할 수 있다.
K2 , K3에 대한 인터레스트를 라우터 b(605)에게 보내고, 라우터 b(605)로부터 K2를 수신하는 동안, 라우터 a(603)는 K1를 사용자 단말(601)에게 전송할 수 있다. 그리고, 라우터 c(607)로부터 K3를 수신하는 동안 라우터 b(605)는 라우터 a(603)에게 K2를 전송할 수 있다(620).
이러한 파이프 라인화된 캐시 액세스는 사용자 단말(601)이 630 및 640 과정을 통해 컨텐츠 K를 완전히 다운로드한 때에 중단될 수 있다.
사용자 단말(601)과 종단 라우터(603) 간의 대역폭이 사용자 단말(601)과 코어 라우터(core router)(607) 간의 대역폭보다 작기 때문에 사용자는 시작 시의 대기 시간(start-up latency) 이후에 발생하는 지연(delay)을 인지하지 못할 수 있다. 여기서, 코어 라우터는 컨텐츠를 제공하는 컨텐츠 서버(혹은 컨텐츠 제공자)에 인접한 라우터로 이해될 수 있다.
이러한 스트리밍 서비스에서 사용자는 컨텐츠를 다운로드하는 동안 컨텐츠를 플레이할 수 있다.
만약, 컨텐츠(파일)의 플레잉 타임(playing time)이 일반적으로 다운로딩 타임(downloading time)보다 크다면, 파이프라인화된 캐쉬 접근 방식은 보다 효율적으로 사용자가 느끼는 전송 지연을 줄여줄 수 있다.
도 7은 다른 실시예에 따른 컨텐츠 중심 네트워크에서 노드가 컨텐츠를 저장하는 방법을 나타낸 플로우 차트이다. 이하, 도 7 내지 도 10에서 '다음 노드'는 해당 노드보다 컨텐츠 요청자에게 가깝게 위치하는 노드로 이해될 수 있다.
도 7을 참조하면, 일 실시예에 따른 노드는 컨텐츠 요청 패킷을 전송함에 응답하여 컨텐츠 제공자가 전송한, 제1 청크를 포함하는 데이터 패킷을 수신할 수 있다(710). 이때, 데이터 패킷은 컨텐츠 제공자로부터 중계됨에 따라 증가되는 홉 카운트(hop count)를 포함할 수 있다. 따라서, 노드는 홉 카운트를 이용하여 자신이 컨텐츠 제공자에 인접한 노드인지 여부를 판단할 수 있다.
노드는 해당 노드의 컨텐츠 스토어에 제1 청크의 이름을 저장할 수 있다(720).
노드는 제1 청크에 대한 요청 빈도에 기초하여 해당 노드의 컨텐츠 스토어에 제1 청크를 저장할 수 있다(730). 노드가 요청 빈도에 기초하여 제1 청크를 저장하는 구체적인 방법은 도 8을 참조하여 설명한다.
이후, 노드는 제1 청크를 포함하는 데이터 패킷을 다음 노드로 포워딩할 수 있다(740). 여기서, 다음 노드는 해당 노드보다 컨텐츠 요청자에게 가깝게 위치하는 노드로 이해될 수 있다.
노드는 제1 청크에 연속하는 제2 청크를 포함하는 데이터 패킷을 수신함에 따라 해당 노드의 컨텐츠 스토어에 제2 청크의 이름을 저장할 수 있다(750).
노드는 750에서 제2 청크의 이름을 저장한 후, 캐싱 비트(caching bit)가 설정된 데이터 패킷을 생성할 수 있다(760). 여기서, 캐싱 비트(caching bit)는 데이터 패킷(혹은 데이터 청크)에 포함되는 비트로서, 다음 노드에게 해당 노드가 제1 청크를 저장함을 알리는 역할을 할 수 있다.
노드는 캐싱 비트(caching bit)가 설정된 데이터 패킷을 다음 노드에게 포워딩할 수 있다(770).
다음 노드는 캐싱 비트(caching bit)가 설정된 데이터 패킷을 수신함에 따라 컨텐츠 스토어에 제1 청크의 이름을 저장하고, 캐싱 비트를 해제한 데이터 패킷을 컨텐츠 요청자에게 포워딩할 수 있다.
도 8는 도 7의 실시예에서 컨텐츠 제공자에 인접한 노드가 제1 청크를 저장하는 방법을 나타낸 플로우 차트이다.
도 8을 참조하면, 일 실시예에 따른 노드는 720에서 제1 청크의 이름을 저장한 이후, 제1 청크를 요청하는 컨텐츠 요청 패킷을 수신함에 따라 카운트를 갱신할 수 있다(810). 이때, 카운트는 제1 청크에 대한 요청 빈도를 나타낼 수 있다.
노드는 갱신된 카운트가 미리 설정된 임계값에 해당하는지 여부를 판단할 수 있다(820).
820의 판단 결과, 갱신된 카운트가 미리 설정된 임계값보다 같거나 크다면 노드는 해당 노드의 컨텐츠 스토어에 제1 청크를 저장할 수 있다(830).
반면에 820의 판단 결과, 갱신된 카운트가 미리 설정된 임계값보다 작다면, 노드는 컨텐츠 스토어에 제1 청크를 저장하지 않고 동작을 종료할 수 있다.
도 9 및 도 10은 다른 실시예에 따른 컨텐츠 중심 네트워크에서 노드가 컨텐츠를 저장하는 방법이 수행되는 과정을 설명하기 위한 도면이다.
도 9 및 도 10의 각 노드에서 해당 청크의 외부가 점선으로 표시된 것은 해당 청크의 이름이 저장된 것을 나타내고, 해당 청크의 외부가 굵게 표시된 것으로 해당 청크에 대한 캐싱 비트가 설정된 것을 나타낼 수 있다.
도 9 및 도 10을 참조하면, 일 실시예에 따른 노드(905)는 컨텐츠 요청자로부터 노드(903)을 거쳐 전달된 컨텐츠 요청 패킷(다시 말해, 인터레스트(Interest))를 컨텐츠 제공자(907)에게 전달할 수 있다(910). 그리고, 노드(905)는 이에 대한 응답으로 컨텐츠 제공자(907)가 전송한 청크 K1을 포함하는 데이터 패킷을 수신할 수 있다(920). 이때, 노드(905)는 컨텐츠 제공자(907)에 인접한 노드일 수 있으며, 자신의 컨텐츠 스토어에 청크 K1의 이름을 저장할 수 있다. 이때, 청크 K1에 대한 요청 빈도를 나타내는 카운트는 예를 들어, '0'(혹은 '1')로 설정될 수 있다.
이후, 컨텐츠 요청자로부터 컨텐츠 K(예를 들어, 청크 K1)을 요청하는 인터레스트를 수신한 노드(905)는 청크 K1에 대한 요청 빈도를 나타내는 카운트를 갱신할 수 있다(930).
노드(905)는 갱신된 카운트가 미리 설정된 임계값에 해당한다면, 컨텐츠 스토어에 청크 K1을 저장하고, 청크 K1을 포함하는 데이터 패킷을 노드(903)에게 포워딩할 수 있다(940).
이후, 청크 K1에 연속하는 청크 K2를 요청하는 인터레스트가 컨텐츠 요청자로부터 컨텐츠 제공자(907)에게 포워딩될 수 있다(950).
그러면, 컨텐츠 제공자(907)는 청크 K2를 포함하는 데이터 패킷을 노드(905)에게 전송하고, 청크 K2를 수신함에 따라 노드(905)는 컨텐츠 스토어에 청크 K2의 이름을 저장할 수 있다(960). 노드(905)는 다음 노드인 노드(903)에게 노드(905)가 청크 K1을 저장함을 알리는 캐싱 비트(caching bit)가 설정된 데이터 패킷을 포워딩할 수 있다(960).
다음 노드인 노드(903)는 캐싱 비트(caching bit)가 설정된 데이터 패킷을 수신함에 따라 자신(노드(903))의 컨텐츠 스토어에 청크 K1의 이름을 저장하고, 노드(905)가 청크 K1을 저장함을 알리는 캐싱 비트를 해제(clear)할 수 있다. 노드(903)는 캐싱 비트가 해제된 데이터 패킷을 컨텐츠 요청자 쪽으로 포워딩할 수 있다(960).
이후, 컨텐츠 K를 요청하는 인터레스트가 계속적으로 전송(970)됨에 따라, 전술한 960과 동일한 과정을 통해 노드(905)는 청크 K2를 컨텐츠 스토어에 저장하고, 노드(903)은 청크 K1을 각각 자신의 컨텐츠 스토어에 저장할 수 있다(980).
아래의 알고리즘 4와 5는 각각 도 9 및 도 10의 방법에 따라 노드가 인터레스트와 청크(혹은 데이터)를 처리하는 방법을 슈도 코드의 형태로 보여준다.
Figure pat00009

Figure pat00010
상술한 노드의 동작은 다음과 같이 정리할 수 있다.
노드는 데이터(혹은 청크)의 수신 시에 1) 해당 청크에 대한 캐싱 비트가 1이고, i<=m 이거나 첫번째 청크부터
Figure pat00011
번째 청크가 모두 컨텐츠 스토어에 저장되어 있거나, 2) 해당 노드가 컨텐츠 제공자에 인접한 코어 노드이고, i<=m 이거나 첫번째 청크부터
Figure pat00012
번째 청크가 모두 컨텐츠 캐시에 저장되어 있는 경우에 해당하면, 청크의 이름을 컨텐츠 스토어의 네임 테이블(name table)에 저장할 수 있다.
그리고, 해당 청크의 이름이 이미 네임 테이블에 존재할 경우, 노드는 컨텐츠 스토어에 실제 데이터(다시 말해, 해당 청크)를 저장할 수 있다.
실시예에 따라서는 아래의 알고리즘 6 및 알고리즘 7과 같이 인터레스트 및 청크 데이터를 각각 처리할 수도 있다.
Figure pat00013

Figure pat00014

도 11은 일 실시예에 따른 컨텐츠 중심 네트워크에서 컨텐츠 제공자가 컨텐츠를 전송하는 방법을 나타낸 플로우 차트이다.
도 11을 참조하면, 일 실시예에 따른 컨텐츠 제공자는 컨텐츠 요청자로부터 노드들을 거쳐 전송된 컨텐츠 요청 패킷을 수신할 수 있다(1110).
이때, 컨텐츠 요청 패킷은 컨텐츠의 정보 및 컨텐츠 요청자로부터 중계됨에 따라 증가되는 홉 카운트(hop count)를 포함할 수 있다. 그리고, 컨텐츠의 정보는 컨텐츠의 이름, 컨텐츠의 사이즈 및 컨텐츠를 구성하는 청크들의 개수를 포함할 수 있다. 여기서, 컨텐츠를 구성하는 청크들의 개수는 컨텐츠를 전송하는 사용자 링크의 전송 비트 레이트(transfer bit rate) 및 컨텐츠의 플레잉 비트 레이트(playing bit rate)에 기초하여 결정될 수 있다.
컨텐츠 제공자는 컨텐츠 요청자가 요청한 컨텐츠의 일부를 구성하는 청크(chunk)들 중 청크의 인기도에 기초하여 어느 하나의 청크를 선택할 수 있다(1120).
컨텐츠 제공자는 1120에서 선택된 어느 하나의 청크 및 어느 하나의 청크를 저장하는 노드를 알리는 캐싱 비트(caching bit)를 포함하는 데이터 패킷을 생성할 수 있다(1130).
컨텐츠 제공자는 1130에서 생성된 데이터 패킷을 컨텐츠 요청자에 인접한 노드에게 전송할 수 있다(1140). 이때, 컨텐츠 제공자는 홉 카운트의 값을 이용하여 어느 하나의 청크를 컨텐츠 요청자에 인접한 노드에게 전송할 수 있다.
예를 들어, 컨텐츠 제공자는 컨텐츠 요청 패킷에 포함된 홉 카운트의 값을 데이터 패킷에 저장할 수 있다. 그리고, 데이터 패킷이 컨텐츠 제공자로부터 각 노드들(혹은 라우터들)을 통해 컨텐츠 요청자로 포워딩 됨에 따라 각 노드들은 해당 홉 카운트의 값을 감소시킬 수 있다. 이때, 데이터 패킷에 저장된 홉 카운트의 값이 최소가 되는 노드가 컨텐츠 요청자에 인접한 노드(혹은 에지 노드)로 볼 수 있다.
이러한 방식으로 컨텐츠 제공자는 컨텐츠 요청자에 인접한 노드를 찾아 해당 노드에게 어느 하나의 청크를 전송할 수 있다.
본 발명의 일 실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.
그러므로, 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 아니되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.
210: 컨텐츠 스토어(Contents Store)
230: 펜딩 인터레스트 테이블(Pending Interest Table; PIT)
250: 포워딩 정보 베이스(Forwarding; FIB)

Claims (22)

  1. 컨텐츠 요청자로부터 제1 청크 -상기 제1 청크는 컨텐츠를 구성하는 일부 세그먼트들의 집합임- 를 요청하는 컨텐츠 요청 패킷을 수신하는 단계;
    상기 제1 청크에 대응하는 마크 비트- 상기 마크 비트는 해당 노드가 상기 제1 청크를 수신했을 때 컨텐츠 스토어에 저장할지 여부를 나타냄- 를 설정(setting)하는 단계;
    상기 컨텐츠 요청 패킷을 전송함에 응답하여 컨텐츠 제공자로부터 상기 제1 청크를 포함하는 데이터 패킷을 수신하는 단계; 및
    상기 해당 노드의 컨텐츠 스토어에 상기 제1 청크를 저장하는 단계
    를 포함하는 컨텐츠 중심 네트워크에서 노드가 컨텐츠를 저장하는 방법.
  2. 제1항에 있어서,
    다음 노드(next node)에게 상기 제1 청크에 연속하는 제2 청크를 저장하도록 요청하는 부킹 비트(booking bit)가 설정된 컨텐츠 요청 패킷을 생성하는 단계; 및
    상기 생성된 컨텐츠 요청 패킷을 상기 다음 노드에게 전송하는 단계
    를 더 포함하는 컨텐츠 중심 네트워크에서 노드가 컨텐츠를 저장하는 방법.
  3. 제2항에 있어서,
    상기 부킹 비트가 설정된 컨텐츠 요청 패킷을 수신한 상기 다음 노드는
    상기 다음 노드의 펜딩 인터레스트 테이블(Pending Interest Table; PIT)에 상기 제2 청크에 대응하는 마크 비트를 설정(setting)하고, 상기 부킹 비트를 해제(clear)한 컨텐츠 요청 패킷을 포워딩하는 컨텐츠 중심 네트워크에서 노드가 컨텐츠를 저장하는 방법.
  4. 제1항에 있어서,
    상기 해당 노드의 컨텐츠 스토어에 상기 제1 청크를 저장하는 단계는
    상기 해당 노드의 펜딩 인터레스트 테이블(Pending Interest Table; PIT)에 상기 제1 청크에 대응하는 마크 비트가 설정되어 있는지 여부를 확인하는 단계; 및
    상기 확인 결과에 기초하여, 상기 해당 노드의 컨텐츠 스토어에 상기 제1 청크를 저장하는 단계
    를 포함하는 컨텐츠 중심 네트워크에서 노드가 컨텐츠를 저장하는 방법.
  5. 제1항에 있어서,
    상기 컨텐츠 요청 패킷은
    상기 컨텐츠 요청 패킷이 상기 컨텐츠 요청자로부터 중계됨에 따라 증가되는 홉 카운트(hop count) 및 상기 컨텐츠의 정보를 포함하는 컨텐츠 중심 네트워크에서 노드가 컨텐츠를 저장하는 방법.
  6. 제5항에 있어서,
    상기 해당 노드가 상기 홉 카운터를 이용하여 자신이 상기 컨텐츠 요청자에 인접한 노드인지 여부를 판단하는 단계
    를 더 포함하는 컨텐츠 중심 네트워크에서 노드가 컨텐츠를 저장하는 방법.
  7. 제5항에 있어서,
    상기 컨텐츠의 정보는
    상기 컨텐츠의 이름, 상기 컨텐츠의 사이즈 및 상기 컨텐츠를 구성하는 청크들의 개수를 포함하는 컨텐츠 중심 네트워크에서 노드가 컨텐츠를 저장하는 방법.
  8. 제1항에 있어서,
    상기 컨텐츠 제공자로부터 상기 컨텐츠를 구성하는 청크들에 대한 메타 정보를 수신하는 단계
    를 더 포함하는 컨텐츠 중심 네트워크에서 노드가 컨텐츠를 저장하는 방법.
  9. 컨텐츠 요청 패킷을 전송함에 응답하여 컨텐츠 제공자가 전송한, 제1 청크- 상기 제1 청크는 컨텐츠를 구성하는 일부 세그먼트들의 집합임-를 포함하는 데이터 패킷을 수신하는 단계;
    해당 노드의 컨텐츠 스토어에 상기 제1 청크의 이름을 저장하는 단계; 및
    상기 제1 청크에 대한 요청 빈도에 기초하여 상기 해당 노드의 컨텐츠 스토어에 상기 제1 청크를 저장하는 단계
    를 포함하는 컨텐츠 중심 네트워크에서 노드가 컨텐츠를 저장하는 방법.
  10. 제9항에 있어서,
    상기 해당 노드의 컨텐츠 스토어에 상기 제1 청크를 저장하는 단계는
    상기 제1 청크를 요청하는 컨텐츠 요청 패킷을 수신함에 따라 상기 제1 청크에 대한 요청 빈도를 나타내는 카운트를 갱신하는 단계;
    상기 갱신된 카운트가 미리 설정된 임계값에 해당하는지 여부를 판단하는 단계; 및
    상기 판단 결과에 기초하여, 상기 해당 노드의 컨텐츠 스토어에 상기 제1 청크를 저장하는 단계
    를 포함하는 컨텐츠 중심 네트워크에서 컨텐츠 제공자에 인접한 노드가 컨텐츠를 저장하는 방법.
  11. 제9항에 있어서,
    상기 데이터 패킷은
    상기 컨텐츠 제공자로부터 중계됨에 따라 증가되는 홉 카운트(hop count)를 포함하는 컨텐츠 중심 네트워크에서 컨텐츠 제공자에 인접한 노드가 컨텐츠를 저장하는 방법.
  12. 제11항에 있어서,
    상기 홉 카운트를 이용하여 상기 해당 노드가 상기 컨텐츠 제공자에 인접한 노드인지 여부를 판단하는 단계
    를 더 포함하는 컨텐츠 중심 네트워크에서 컨텐츠 제공자에 인접한 노드가 컨텐츠를 저장하는 방법.
  13. 제9항에 있어서,
    상기 제1 청크를 포함하는 데이터 패킷을 다음 노드로 포워딩하는 단계
    를 더 포함하는 컨텐츠 중심 네트워크에서 컨텐츠 제공자에 인접한 노드가 컨텐츠를 저장하는 방법.
  14. 제9항에 있어서,
    상기 제1 청크에 연속하는 제2 청크를 포함하는 데이터 패킷을 수신함에 따라 상기 해당 노드의 컨텐츠 스토어에 상기 제2 청크의 이름을 저장하는 단계
    를 더 포함하는 컨텐츠 중심 네트워크에서 컨텐츠 제공자에 인접한 노드가 컨텐츠를 저장하는 방법.
  15. 제14항에 있어서,
    상기 제2 청크의 이름을 저장한 후, 다음 노드에게 상기 해당 노드가 상기 제1 청크를 저장함을 알리는 캐싱 비트(caching bit)가 설정된 데이터 패킷을 생성하는 단계; 및
    상기 캐싱 비트(caching bit)가 설정된 데이터 패킷을 상기 다음 노드에게 포워딩하는 단계
    를 더 포함하는 컨텐츠 중심 네트워크에서 컨텐츠 제공자에 인접한 노드가 컨텐츠를 저장하는 방법.
  16. 제15항에 있어서,
    상기 다음 노드는
    상기 캐싱 비트(caching bit)가 설정된 데이터 패킷을 수신함에 따라 상기 다음 노드의 컨텐츠 스토어에 상기 제1 청크의 이름을 저장하고, 상기 캐싱 비트를 해제한 데이터 패킷을 포워딩하는 컨텐츠 중심 네트워크에서 컨텐츠 제공자에 인접한 노드가 컨텐츠를 저장하는 방법.
  17. 컨텐츠 요청 패킷을 수신함에 응답하여, 컨텐츠 요청자가 요청한 컨텐츠의 일부를 구성하는 청크(chunk)들 중 청크의 인기도에 기초하여 어느 하나의 청크를 선택하는 단계; 및
    상기 어느 하나의 청크를 포함하는 데이터 패킷을 상기 컨텐츠 요청자에 인접한 노드에게 전송하는 단계
    를 포함하는 컨텐츠 중심 네트워크에서 컨텐츠 제공자가 컨텐츠를 전송하는 방법.
  18. 제17항에 있어서,
    상기 컨텐츠 요청 패킷은
    상기 컨텐츠의 정보 및 상기 컨텐츠 요청자로부터 중계됨에 따라 증가되는 홉 카운트(hop count)를 포함하는 컨텐츠 중심 네트워크에서 컨텐츠 제공자가 컨텐츠를 전송하는 방법.
  19. 제18항에 있어서,
    상기 컨텐츠의 정보는
    상기 컨텐츠의 이름, 상기 컨텐츠의 사이즈 및 상기 컨텐츠를 구성하는 청크들의 개수를 포함하는 컨텐츠 중심 네트워크에서 컨텐츠 제공자가 컨텐츠를 전송하는 방법.
  20. 제18항에 있어서,
    상기 데이터 패킷을 상기 컨텐츠 요청자에 인접한 노드에게 전송하는 단계는
    상기 홉 카운트의 값을 이용하여 상기 어느 하나의 청크를 상기 컨텐츠 요청자에 인접한 노드에게 전송하는 단계
    를 포함하는 컨텐츠 중심 네트워크에서 컨텐츠 제공자가 컨텐츠를 전송하는 방법.
  21. 제18항에 있어서,
    상기 어느 하나의 청크 및 상기 어느 하나의 청크를 저장하는 노드를 알리는 캐싱 비트(caching bit)를 포함하는 데이터 패킷을 생성하는 단계
    를 더 포함하는 컨텐츠 중심 네트워크에서 컨텐츠 제공자가 컨텐츠를 전송하는 방법.
  22. 제1항 내지 제21항 중 어느 한 항의 방법을 수행하기 위한 프로그램이 기록된 컴퓨터로 판독 가능한 기록 매체.
KR1020120141743A 2012-12-07 2012-12-07 컨텐츠 중심 네트워크에서 노드가 컨텐츠를 저장하는 방법 및 컨텐츠 제공자가 컨텐츠를 전송하는 방법 KR101978177B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020120141743A KR101978177B1 (ko) 2012-12-07 2012-12-07 컨텐츠 중심 네트워크에서 노드가 컨텐츠를 저장하는 방법 및 컨텐츠 제공자가 컨텐츠를 전송하는 방법
US14/099,120 US9936038B2 (en) 2012-12-07 2013-12-06 Method of caching contents by node and method of transmitting contents by contents provider in a content centric network

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120141743A KR101978177B1 (ko) 2012-12-07 2012-12-07 컨텐츠 중심 네트워크에서 노드가 컨텐츠를 저장하는 방법 및 컨텐츠 제공자가 컨텐츠를 전송하는 방법

Publications (2)

Publication Number Publication Date
KR20140073826A true KR20140073826A (ko) 2014-06-17
KR101978177B1 KR101978177B1 (ko) 2019-08-28

Family

ID=50882225

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120141743A KR101978177B1 (ko) 2012-12-07 2012-12-07 컨텐츠 중심 네트워크에서 노드가 컨텐츠를 저장하는 방법 및 컨텐츠 제공자가 컨텐츠를 전송하는 방법

Country Status (2)

Country Link
US (1) US9936038B2 (ko)
KR (1) KR101978177B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101635548B1 (ko) * 2015-12-21 2016-07-04 한국과학기술정보연구원 CCN-Helper 프로토콜 수행 장치 및 방법
KR102283903B1 (ko) * 2020-12-15 2021-07-30 동국대학교 경주캠퍼스 산학협력단 모바일 엣지 클라우드 기반 미디어 서비스 방법 및 이를 지원하는 장치

Families Citing this family (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8903973B1 (en) 2008-11-10 2014-12-02 Tanium Inc. Parallel distributed network management
US11172470B1 (en) 2012-12-21 2021-11-09 Tanium Inc. System, security and network management using self-organizing communication orbits in distributed networks
US9246977B2 (en) 2012-12-21 2016-01-26 Tanium Inc. System, security and network management using self-organizing communication orbits in distributed networks
KR101882727B1 (ko) * 2013-08-08 2018-07-27 삼성전자주식회사 컨텐츠 중심 네트워크를 구성하는 단말 장치 및 이의 통신 방법
US9769037B2 (en) 2013-11-27 2017-09-19 Tanium Inc. Fast detection and remediation of unmanaged assets
US10873645B2 (en) 2014-03-24 2020-12-22 Tanium Inc. Software application updating in a local network
US9667738B2 (en) * 2014-03-24 2017-05-30 Tanium Inc. Local data caching for data transfers on a network of computational devices
US9769275B2 (en) 2014-03-24 2017-09-19 Tanium Inc. Data caching and distribution in a local network
US9825860B2 (en) * 2014-05-30 2017-11-21 Futurewei Technologies, Inc. Flow-driven forwarding architecture for information centric networks
EP2953325B1 (en) * 2014-06-06 2019-01-16 Institut Mines-Telecom Method for managing packets in a network of Information Centric Networking (ICN) nodes
US10313415B2 (en) * 2014-07-18 2019-06-04 Cisco Technology, Inc. Using segment routing to access chunks of content
US10237189B2 (en) * 2014-12-16 2019-03-19 Cisco Technology, Inc. System and method for distance-based interest forwarding
US11461208B1 (en) 2015-04-24 2022-10-04 Tanium Inc. Reliable map-reduce communications in a decentralized, self-organizing communication orbit of a distributed network
US9910752B2 (en) 2015-04-24 2018-03-06 Tanium Inc. Reliable map-reduce communications in a decentralized, self-organizing communication orbit of a distributed network
CN105262833B (zh) * 2015-10-30 2018-11-09 北京邮电大学 一种内容中心网络的跨层缓存方法及其节点
US10686702B2 (en) 2015-11-06 2020-06-16 Cable Television Laboratories, Inc. Preemptive caching of content in a content-centric network
US11886229B1 (en) 2016-03-08 2024-01-30 Tanium Inc. System and method for generating a global dictionary and performing similarity search queries in a network
US10498744B2 (en) 2016-03-08 2019-12-03 Tanium Inc. Integrity monitoring in a local network
US11609835B1 (en) 2016-03-08 2023-03-21 Tanium Inc. Evaluating machine and process performance in distributed system
US11153383B2 (en) 2016-03-08 2021-10-19 Tanium Inc. Distributed data analysis for streaming data sources
US10929345B2 (en) 2016-03-08 2021-02-23 Tanium Inc. System and method of performing similarity search queries in a network
US11372938B1 (en) 2016-03-08 2022-06-28 Tanium Inc. System and method for performing search requests in a network
US10482242B2 (en) 2016-03-08 2019-11-19 Tanium Inc. System and method for performing event inquiries in a network
ES2703186T3 (es) * 2016-05-13 2019-03-07 Koninklijke Kpn Nv Nodo de red, nodo terminal y procedimiento de recepción de un mensaje de interés
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
WO2018236723A1 (en) * 2017-06-19 2018-12-27 Northeastern University JOINT CALLING AND ROUTING METHOD FOR CONTENT DELIVERY HAVING OPTIMALITY GUARANTEES FOR ARBITRARY NETWORKS
US10824729B2 (en) 2017-07-14 2020-11-03 Tanium Inc. Compliance management in a local network
US10924540B2 (en) 2018-04-03 2021-02-16 Cisco Technology, Inc. Lightweight naming scheme for aggregating requests in information-centric networking
US10841365B2 (en) * 2018-07-18 2020-11-17 Tanium Inc. Mapping application dependencies in a computer network
US11343355B1 (en) * 2018-07-18 2022-05-24 Tanium Inc. Automated mapping of multi-tier applications in a distributed system
CN109639758B (zh) * 2018-10-31 2020-05-12 中国科学院信息工程研究所 内容中心网络中用户行为隐私的保护方法及装置
US11677625B2 (en) 2019-07-02 2023-06-13 Northeastern University Network and method for servicing a computation request
US11831670B1 (en) 2019-11-18 2023-11-28 Tanium Inc. System and method for prioritizing distributed system risk remediations
US11563764B1 (en) 2020-08-24 2023-01-24 Tanium Inc. Risk scoring based on compliance verification test results in a local network

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080005163A1 (en) * 2006-06-30 2008-01-03 International Business Machines Corporation Method and Apparatus For Caching Broadcasting Information
US7574538B1 (en) * 2004-06-29 2009-08-11 Emc Corporation Contiguous I/O command queuing within a data storage device
US20100195655A1 (en) * 2009-01-30 2010-08-05 Palo Alto Research Center Incorporated Method and system for facilitating forwarding a packet in a content-centric network

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004180092A (ja) 2002-11-28 2004-06-24 Sony Corp 情報処理装置および情報処理方法、並びにコンピュータ・プログラム
US8311543B2 (en) 2005-07-07 2012-11-13 Qualcomm Incorporated Methods and devices for interworking of wireless wide area networks and wireless local area networks or wireless personal area networks
FR2925912B1 (fr) * 2007-12-26 2010-01-22 Toray Plastics Europ Film polyester enroulable comprenant sur au moins l'une de ses faces, un revetement reticule resistant aux rayures, procede d'obtention de ce film polyester
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
US8386622B2 (en) * 2008-05-16 2013-02-26 Palo Alto Research Center Incorporated Method and apparatus for facilitating communication in a content centric network
US8537835B2 (en) * 2008-06-20 2013-09-17 Alcatel Lucent Methods and apparatus for self-organized caching in a content delivery network
KR20100059117A (ko) 2008-11-26 2010-06-04 에스케이텔레콤 주식회사 컨텐츠 분산형 스트리밍 시스템, 캐시서버 및 컨텐츠 스트리밍 방법
KR101088022B1 (ko) 2008-12-19 2011-11-30 에스케이플래닛 주식회사 Vcr기능조작을 사용자 선호도로 반영하는 컨텐츠 분산 저장형 멀티미디어 스트리밍 시스템 및 방법
US8417816B2 (en) 2009-02-20 2013-04-09 Alcatel Lucent Topology aware cache cooperation
KR20110032162A (ko) 2009-09-22 2011-03-30 에스케이 텔레콤주식회사 네트워크에서의 컨텐츠 전송 서비스 방법 및 그 방법을 이용한 캐시 관리 장치
WO2011054377A1 (en) 2009-11-03 2011-05-12 Telefonaktiebolaget Lm Ericsson (Publ) Streaming with optional broadcast delivery of data segments
WO2011054912A1 (en) 2009-11-06 2011-05-12 Alcatel Lucent A system and method for pre-fetching and caching content
KR20120058782A (ko) * 2010-11-30 2012-06-08 삼성전자주식회사 컨텐츠 중심 네트워킹 환경에서의 단말, 중간 노드 및 이들의 통신 방법
US9379970B2 (en) * 2011-05-16 2016-06-28 Futurewei Technologies, Inc. Selective content routing and storage protocol for information-centric network
KR20120136507A (ko) * 2011-06-09 2012-12-20 삼성전자주식회사 네임 기반의 네트워크 시스템에서 펜딩 테이블의 오버플로우를 방지하는 노드 장치 및 방법
KR20130008325A (ko) * 2011-07-12 2013-01-22 삼성전자주식회사 컨텐츠 중심 네트워크에서 컨텐츠 요청자, 중간 노드 및 컨텐츠 소유자의 통신 방법
KR20130031660A (ko) * 2011-09-21 2013-03-29 삼성전자주식회사 컨텐츠 이름 기반의 네트워크 장치 및 컨텐츠 이름 생성 방법, 그리고 인증 방법
US9002921B2 (en) * 2011-12-09 2015-04-07 Futurewei Technologies, Inc. Method for network coding packets in content-centric networking based networks
KR101907932B1 (ko) * 2011-12-27 2018-10-17 한국전자통신연구원 묶음 콘텐츠를 위한 네트워크 기반 콘텐츠 캐싱 지원하는 패킷 포워딩 구조 및 방법
KR20130080626A (ko) * 2012-01-05 2013-07-15 삼성전자주식회사 컨텐츠 중심 네트워크를 위한 도메인들 간의 라우팅 방법 및 컨텐츠 중심 네트워크
KR20130093812A (ko) * 2012-01-12 2013-08-23 삼성전자주식회사 컨텐츠 중심 네트워크에서 트래픽 전송량을 제어하기 위한 컨텐츠 라우터의 통신 방법 및 그 컨텐츠 라우터
KR20130093813A (ko) * 2012-01-12 2013-08-23 삼성전자주식회사 컨텐츠 중심 네트워크에서 컨텐츠의 세그먼트를 프리패칭하는 대상 노드의 통신 방법 및 그 대상 노드
US20130198351A1 (en) * 2012-01-27 2013-08-01 Alcatel-Lucent Usa Inc Flexible Caching in a Content Centric Network
US9237190B2 (en) * 2012-04-18 2016-01-12 Samsung Electronics Co., Ltd. Node and method for generating shortened name robust against change in hierarchical name in content-centric network (CCN)
US9515920B2 (en) * 2012-04-20 2016-12-06 Futurewei Technologies, Inc. Name-based neighbor discovery and multi-hop service discovery in information-centric networks
KR20140044982A (ko) * 2012-09-21 2014-04-16 한국전자통신연구원 홉 카운트 기반 콘텐츠 캐싱 방법 및 그 네트워크 엔티티

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7574538B1 (en) * 2004-06-29 2009-08-11 Emc Corporation Contiguous I/O command queuing within a data storage device
US20080005163A1 (en) * 2006-06-30 2008-01-03 International Business Machines Corporation Method and Apparatus For Caching Broadcasting Information
US20100195655A1 (en) * 2009-01-30 2010-08-05 Palo Alto Research Center Incorporated Method and system for facilitating forwarding a packet in a content-centric network

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101635548B1 (ko) * 2015-12-21 2016-07-04 한국과학기술정보연구원 CCN-Helper 프로토콜 수행 장치 및 방법
KR102283903B1 (ko) * 2020-12-15 2021-07-30 동국대학교 경주캠퍼스 산학협력단 모바일 엣지 클라우드 기반 미디어 서비스 방법 및 이를 지원하는 장치

Also Published As

Publication number Publication date
KR101978177B1 (ko) 2019-08-28
US20140164552A1 (en) 2014-06-12
US9936038B2 (en) 2018-04-03

Similar Documents

Publication Publication Date Title
KR101978177B1 (ko) 컨텐츠 중심 네트워크에서 노드가 컨텐츠를 저장하는 방법 및 컨텐츠 제공자가 컨텐츠를 전송하는 방법
KR102301353B1 (ko) 컨텐츠 중심 네트워크에서 컨텐츠 소유자 및 노드의 패킷 전송 방법
US9998354B2 (en) Server selection for content distribution
US9825860B2 (en) Flow-driven forwarding architecture for information centric networks
EP2813058B1 (en) A method for scalable routing in content-oriented networks
EP2719133B1 (en) A generalized dual-mode data forwarding plane for information-centric network
US9326042B2 (en) Routing method for inter/intra-domain in content centric network
KR102160494B1 (ko) 네트워크 노드, 엔드포인트 노드 및 관심 메시지 수신 방법
JP6601784B2 (ja) 情報指向ネットワークにおいてコンテキスト認識型コンテンツ要求をサポートするための方法、ネットワークコンポーネント、およびプログラム
JP2010178343A (ja) コンピュータ実施方法
JP2016059039A (ja) Ccnにおける中間ルータにおけるインタレストキープアライブ
JP6564852B2 (ja) 情報中心ネットワーキング(icn)ノードのネットワークにおいてパケットを管理する方法
RU2483457C2 (ru) Платформа маршрутизации сообщений
US20170317933A1 (en) Optimized in-network retransmission for information-centric networking protocols
EP2785017A1 (en) Content-centric networking
JP6430849B2 (ja) コンテンツ配信ネットワークの転送装置
KR20130138670A (ko) 컨텐츠 중심 네트워크의 인트라 도메인(intra domain) 및 인터 도메인(inter domain)에서 노드가 컨텐츠를 검색하는 방법 및 그 노드
KR102060907B1 (ko) 데이터 이름 기반 네트워크에서의 fib 테이블 공유 방법 및 데이터 이름 기반 네트워크 시스템
Marandi Bloom Filter-Based Content Discovery and Retrieval for Information-Centric Networks
KR102110524B1 (ko) 컨텐츠 중심 네트워크에서 블룸 필터를 이용하여 라우팅을 수행하는 노드 및 그 방법
KR20130138671A (ko) 컨텐츠 중심 네트워크에서의 인터(inter) 도메인 및 인트라(intra) 도메인 라우팅 방법
JP2008293145A (ja) 情報処理装置、情報処理方法及び情報処理用プログラム

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