KR20130138670A - 컨텐츠 중심 네트워크의 인트라 도메인(intra domain) 및 인터 도메인(inter domain)에서 노드가 컨텐츠를 검색하는 방법 및 그 노드 - Google Patents
컨텐츠 중심 네트워크의 인트라 도메인(intra domain) 및 인터 도메인(inter domain)에서 노드가 컨텐츠를 검색하는 방법 및 그 노드 Download PDFInfo
- Publication number
- KR20130138670A KR20130138670A KR1020130053778A KR20130053778A KR20130138670A KR 20130138670 A KR20130138670 A KR 20130138670A KR 1020130053778 A KR1020130053778 A KR 1020130053778A KR 20130053778 A KR20130053778 A KR 20130053778A KR 20130138670 A KR20130138670 A KR 20130138670A
- Authority
- KR
- South Korea
- Prior art keywords
- content
- node
- domain
- search
- request packet
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/16—Multipoint routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
- H04L45/742—Route cache; Operation thereof
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
컨텐츠 중심 네트워크에 포함된 노드가 요청하는 컨텐츠를 검색할 검색 영역(discovery area)이 설정된 컨텐츠 요청 패킷을 생성하고, 생성된 컨텐츠 요청 패킷을 전송하는 노드가 컨텐츠를 검색하는 방법 및 노드를 제공할 수 있다.
Description
아래의 실시예들은 컨텐츠 중심 네트워크의 인트라 도메인(intra domain) 및 인터 도메인(inter domain)에서 노드가 컨텐츠를 검색하는 방법 및 그 노드에 관한 것이다.
컨텐츠 중심 네트워크(Contents Centric Network; 이하, CCN)에서 패킷은 컨텐츠를 요청하는 컨텐츠 요청 패킷(다시 말해, 인터레스트(interest))과 데이터 응답 패킷으로 구분될 수 있다. 컨텐츠 요청 패킷은 요청하는 컨텐츠의 이름을 포함하고 있으며, 데이터 응답 패킷은 요청 받은 컨텐츠와 컨텐츠 이름 등을 포함할 수 있다.
네트워킹 장비는 컨텐츠 요청 패킷을 수신한 경우, 컨텐츠 요청 패킷의 헤더(Header)에 있는 컨텐츠 이름으로 자신의 스토리지를 검색할 수 있다. 해당 컨텐츠를 갖고 있을 경우, 네트워킹 장비는 해당 컨텐츠를 요청자에게 전달할 수 있다.
따라서, 컨텐츠의 원래(original) 소유자에게까지 가서 컨텐츠를 받아와야 하는 인터넷 프로토콜(Internet Protocol; 이하 IP) 기반 인터넷에 비해, 중간의 어느 노드라도 자신의 스토리지에 해당 컨텐츠가 있을 경우 응답(reply)할 수 있다. 그러므로, 평균 전송 경로(path)의 길이가 짧아져 전체적인 네트워크 사용량이 줄어들 수 있다.
일 실시예에 따르면, 컨텐츠 중심 네트워크(Contents Centric Network; CCN)의 인트라(intra)-도메인에서 노드가 컨텐츠를 검색하는 방법은 상기 컨텐츠 중심 네트워크에 포함된 노드가 요청하는 컨텐츠를 검색할 검색 영역(discovery area)이 설정된 컨텐츠 요청 패킷을 생성하는 단계; 및 상기 컨텐츠 요청 패킷을 전송하는 단계를 포함할 수 있다.
상기 검색 영역(discovery area)을 설정하는 단계를 더 포함할 수 있다.
상기 검색 영역(discovery area)을 설정하는 단계는 상기 컨텐츠 중심 네트워크에 포함된 고객 장치로부터 입력된 영역 또는 디폴트(default)로 설정된 영역에 따라 상기 검색 영역을 설정하는 단계를 포함할 수 있다.
포워딩 정보 베이스(Forwarding Information Base; FIB)의 엔트리(entry)를 기초로, 컨텐츠 요청자가 요청한 컨텐츠가 광고(advertise) 되었는지 여부를 판단하는 단계를 더 포함할 수 있다.
상기 판단 결과를 기초로, 상기 컨텐츠 요청자가 속한 검색 영역 내로 상기 컨텐츠 요청 패킷을 브로드캐스트(Broadcast)하는 단계를 포함할 수 있다.
상기 컨텐츠가 광고된 것으로 판단된 경우, 상기 컨텐츠 요청 패킷을 상기 포워딩 정보 베이스의 해당 페이스(face)를 통해 전달하는 단계를 더 포함할 수 있다.
상기 브로드캐스트(Broadcast)에 대한 응답을 수신하지 못한 경우, 상기 컨텐츠의 퍼블리셔(publisher)에게 상기 컨텐츠 요청 패킷을 전달하는 단계를 더 포함할 수 있다.
상기 컨텐츠 요청 패킷을 전달하는 단계는 최장 프리픽스 매칭(longest prefix matching) 방법에 의해 상기 컨텐츠의 퍼블리셔(publiusher)에게 직접 상기 컨텐츠 요청 패킷을 전달할 수 있다.
상기 컨텐츠의 대중성 여부에 기초하여 광고되는 컨텐츠에 대한 정보를 수신하는 단계; 및 상기 컨텐츠에 대한 정보에 기초하여 상기 컨텐츠에 대한 포워딩 정보 베이스(FIB)의 엔트리를 생성하는 단계를 더 포함할 수 있다.
상기 컨텐츠에 대한 정보는 컨텐츠 제공자의 컨텐츠 캐시에 저장된 컨텐츠 이름들의 리스트를 포함할 수 있다.
상기 컨텐츠의 대중성 여부는 상기 컨텐츠에 대한 접근 횟수(access count)에 기초하여 결정될 수 있다.
상기 컨텐츠 요청 패킷은 상기 컨텐츠 요청 패킷을 수신한 노드가 상기 검색 영역에서 수행할 제어 동작을 지정하는 동작 아이디(Operation ID; OID)를 더 포함할 수 있다.
상기 검색 영역(discovery area)은 상기 노드가 요청한 컨텐츠와 동일 또는 유사한 분야에 대한 컨텐츠를 포함하는 다른 노드로부터 코어 라우터(Core Router)- 상기 코어 라우터는 인터넷 코어(Internet Core)와 계층적으로 연결됨 -까지의 영역을 포함할 수 있다.
상기 노드는 상기 컨텐츠 중심 네트워크를 위한 어플리케이션이 설치된 고객 장치(Customer Equipment) 및 상기 어플리케이션이 설치된 액세스 포인트(Access Point)를 포함할 수 있다.
상기 액세스 포인트는 계층적 이름(hierarchical name)을 가질 수 있다.
상기 액세스 포인트로부터 등록을 요청받는 등록 패킷(registration packet)을 수신하는 단계; 및 상기 등록 패킷에 포함된 정보를 이용하여 포워딩 인포메이션 베이스(Forwarding Information Base; FIB)의 엔트리를 생성하는 단계를 더 포함할 수 있다.
상기 등록 패킷은 상기 고객 장치에게 등록을 요청하는 액세스 포인트의 계층적 이름 및 상기 등록 패킷이 전달되는 검색 영역에 대한 정보를 포함할 수 있다.
상기 액세스 포인트의 계층적 이름을 프리픽스(prefix)로 이용하여 상기 고객 장치와 상기 액세스 포인트 간의 연계(association)를 수행하는 단계를 더 포함할 수 있다.
일 실시예에 따르면, 컨텐츠 중심 네트워크의 인터(inter)-도메인에서 노드가 컨텐츠를 검색하는 방법은 컨텐츠 요청 패킷(Packet)을 전송한 타 도메인이 미리 합의된 정책(policy)에 따른 도메인에 해당하는지 여부를 판단하는 단계; 상기 판단 결과에 기초하여, 해당 노드의 컨텐츠 캐시(Contents Cache)에 저장된 컨텐츠를 검색하는 단계; 및 상기 컨텐츠 캐시에 저장된 컨텐츠가 상기 타 도메인이 요청하는 컨텐츠에 해당하면, 상기 컨텐츠 캐시에 저장된 컨텐츠를 전송하는 단계를 포함할 수 있다.
상기 컨텐츠 요청 패킷은 상기 컨텐츠 요청 패킷을 생성한 도메인을 표시하는 필드를 포함할 수 있다.
상기 미리 합의된 정책에 따른 도메인은 상기 해당 노드가 속한 도메인과 캐시 룩-업(cache look-up) 계약, 캐시 히트율(Cache hit ratio)에 대한 계약 및 할당할 캐시 사이즈(cache size)에 대한 계약 중 적어도 하나의 계약이 이루어진 도메인을 포함할 수 있다.
상기 타 도메인이 미리 합의된 정책(policy)에 따른 도메인에 해당하는지 여부를 판단하는 단계는 상기 컨텐츠 요청 패킷(Packet)에 포함된, 도메인을 표시하는 필드를 이용하여 상기 타 도메인이 상기 미리 합의된 정책(policy)에 따른 도메인에 해당하는지 여부를 판단할 수 있다.
상기 해당 노드가 속한 도메인과 상기 타 도메인 사이의 연결 정보를 포함하는 싱크 트리(sync tree)를 이용하여 상기 타 도메인과 상기 미리 합의된 정책(policy)에 따른 라우팅 정보를 교환하는 단계를 더 포함할 수 있다.
일 실시예에 따르면, 컨텐츠 중심 네트워크(Information Centric Network; ICN)의 인트라(intra)-도메인에서 컨텐츠를 검색하는 노드는 상기 컨텐츠 중심 네트워크에 포함된 노드가 요청한 컨텐츠를 검색할 검색 영역(discovery area)을 설정한 컨텐츠 요청 패킷을 생성하는 패킷 생성부; 및 상기 컨텐츠 요청 패킷을 전송하는 전송부를 포함할 수 있다.
상기 컨텐츠 중심 네트워크에 포함된 노드가 요청한 컨텐츠를 검색할 검색 영역(discovery area)을 설정하는 설정부를 더 포함할 수 있다.
상기 설정부는 상기 컨텐츠 중심 네트워크에 포함된 고객 장치로부터 입력된 영역 또는디폴트(default)로 설정된 영역에 따라 상기 검색 영역을 설정할 수 있다.
상기 컨텐츠 요청 패킷은 상기 컨텐츠 요청 패킷을 수신한 노드가 상기 검색 영역에서 수행할 제어 동작을 지정하는 동작 아이디(Operation ID; OID)를 더 포함할 수 있다.
상기 검색 영역(discovery area)은 상기 노드가 요청한 컨텐츠와 동일 또는 유사한 분야에 대한 컨텐츠를 포함하는 다른 노드로부터 코어 라우터(Core Router)- 상기 코어 라우터는 계층적으로 인터넷 코어(Internet Core)와 연결됨 -까지의 영역을 포함할 수 있다.
상기 노드는 상기 컨텐츠 중심 네트워크를 위한 어플리케이션이 설치된 고객 장치(Customer Equipment) 및 상기 어플리케이션이 설치된 액세스 포인트(Access Point)를 포함할 수 있다.
상기 액세스 포인트로부터 등록을 요청받는 등록 패킷(registration packet)을 수신하는 수신부; 및 상기 등록 패킷에 포함된 정보를 이용하여 포워딩 인포메이션 베이스(Forwarding Information Base; FIB)의 엔트리를 생성하는 엔트리 생성부를 더 포함할 수 있다.
상기 등록 패킷은 상기 고객 장치에게 등록을 요청하는 액세스 포인트의 계층적 이름 및 상기 등록 패킷이 전달되는 검색 영역에 대한 정보를 포함할 수 있다.
상기 액세스 포인트의 계층적 이름을 프리픽스(prefix)로 이용하여 상기 고객 장치와 상기 액세스 포인트 간의 연계(association)를 수행하는 연계부를 더 포함할 수 있다.
도 1은 컨텐츠 중심 네트워크에서 컨텐츠 요청 및 이에 응답하는 컨텐츠 제공이 수행되는 것을 나타낸 도면이다.
도 2는 일 실시예에 따른 컨텐츠 중심 네트워크에서 컨텐츠 검색을 위한 인터(inter)/인트라(intra) 도메인 라우팅 방법이 수행되는 네트워크 구성을 나타낸 도면이다.
도 3은 일 실시예에 따른 인터 도메인(Inter-Domain) 네트워크의 구성을 나타낸 도면이다.
도 4는 일 실시예에 따른 컨텐츠 중심 네트워크에서 컨텐츠 검색을 위한 라우팅 방법이 인터 도메인(Inter-Domain) 네트워크에서 수행되는 과정을 나타낸 플로우 차트이다.
도 5는 다른 실시예에 따른 컨텐츠 중심 네트워크에서 컨텐츠 검색을 위한 라우팅 방법이 인터 도메인(Inter-Domain) 네트워크에서 수행되는 과정을 나타낸 플로우 차트이다.
도 6은 일 실시예에 따른 컨텐츠 중심 네트워크에서 노드가 컨텐츠를 검색하는 방법이 실행되는 인트라 도메인 네트워크 환경을 나타낸 도면이다.
도 7은 도 6의 환경과 같은 인트라 도메인(Intra-Domain) 네트워크의 구성 및 그 영역 계층 구조(area hierarchy)를 나타낸 도면이다.
도 8은 일 실시예에 따른 컨텐츠 중심 네트워크에서 컨텐츠 검색을 위한 라우팅 방법이 인트라 도메인(Intra-Domain) 네트워크에서 수행되는 과정을 나타낸 플로우 차트이다.
도 9는 일 실시예에 따른 컨텐츠 중심 네트워크에서 노드가 컨텐츠를 검색하는 방법을 나타낸 플로우 차트이다.
도 10은 일 실시예에 따른 컨텐츠 중심 네트워크에서 노드가 연계(association)를 수행하는 방법을 나타낸 플로우 차트이다.
도 11은 일 실시예에 따른 컨텐츠 중심 네트워크에서 노드가 컨텐츠를 검색하는 방법이 native L2 상(over)에서 수행되는 경우의 동작을 설명하기 위한 도면이다.
도 12는 일 실시예에 따른 컨텐츠 중심 네트워크에서 노드가 컨텐츠를 검색하는 방법에 따라 전송되는 컨텐츠 요청 패킷의 구조를 나타낸 도면이다.
도 13은 일 실시예에 따른 컨텐츠 중심 네트워크에서 노드가 컨텐츠를 검색하는 방법이 IP 상(over)에서 수행되는 경우의 동작을 설명하기 위한 도면이다.
도 14는 일 실시예에 따른 컨텐츠 중심 네트워크에서 컨텐츠를 검색하는 노드의 블록도이다.
도 2는 일 실시예에 따른 컨텐츠 중심 네트워크에서 컨텐츠 검색을 위한 인터(inter)/인트라(intra) 도메인 라우팅 방법이 수행되는 네트워크 구성을 나타낸 도면이다.
도 3은 일 실시예에 따른 인터 도메인(Inter-Domain) 네트워크의 구성을 나타낸 도면이다.
도 4는 일 실시예에 따른 컨텐츠 중심 네트워크에서 컨텐츠 검색을 위한 라우팅 방법이 인터 도메인(Inter-Domain) 네트워크에서 수행되는 과정을 나타낸 플로우 차트이다.
도 5는 다른 실시예에 따른 컨텐츠 중심 네트워크에서 컨텐츠 검색을 위한 라우팅 방법이 인터 도메인(Inter-Domain) 네트워크에서 수행되는 과정을 나타낸 플로우 차트이다.
도 6은 일 실시예에 따른 컨텐츠 중심 네트워크에서 노드가 컨텐츠를 검색하는 방법이 실행되는 인트라 도메인 네트워크 환경을 나타낸 도면이다.
도 7은 도 6의 환경과 같은 인트라 도메인(Intra-Domain) 네트워크의 구성 및 그 영역 계층 구조(area hierarchy)를 나타낸 도면이다.
도 8은 일 실시예에 따른 컨텐츠 중심 네트워크에서 컨텐츠 검색을 위한 라우팅 방법이 인트라 도메인(Intra-Domain) 네트워크에서 수행되는 과정을 나타낸 플로우 차트이다.
도 9는 일 실시예에 따른 컨텐츠 중심 네트워크에서 노드가 컨텐츠를 검색하는 방법을 나타낸 플로우 차트이다.
도 10은 일 실시예에 따른 컨텐츠 중심 네트워크에서 노드가 연계(association)를 수행하는 방법을 나타낸 플로우 차트이다.
도 11은 일 실시예에 따른 컨텐츠 중심 네트워크에서 노드가 컨텐츠를 검색하는 방법이 native L2 상(over)에서 수행되는 경우의 동작을 설명하기 위한 도면이다.
도 12는 일 실시예에 따른 컨텐츠 중심 네트워크에서 노드가 컨텐츠를 검색하는 방법에 따라 전송되는 컨텐츠 요청 패킷의 구조를 나타낸 도면이다.
도 13은 일 실시예에 따른 컨텐츠 중심 네트워크에서 노드가 컨텐츠를 검색하는 방법이 IP 상(over)에서 수행되는 경우의 동작을 설명하기 위한 도면이다.
도 14는 일 실시예에 따른 컨텐츠 중심 네트워크에서 컨텐츠를 검색하는 노드의 블록도이다.
이하, 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다. 그러나, 본 발명이 일실시예들에 의해 제한되거나 한정되는 것은 아니다. 또한, 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.
도 1은 컨텐츠 중심 네트워크에서 컨텐츠 요청 및 이에 응답하는 컨텐츠 제공이 수행되는 것을 나타낸 도면이다.
컨텐츠 중심 네트워크에서 컨텐츠의 이름은 컨텐츠가 저장된 노드를 찾아가기 위한 나침판 역할과 해당 컨텐츠를 다른 컨텐츠와 구분해 주는 역할을 할 수 있다. 그러므로, 각 컨텐츠는 고유한 이름을 가지며, 두 컨텐츠의 이름이 서로 다르면, 같은 내용의 컨텐츠도 다른 컨텐츠로 취급될 수 있다. 예를 들어, 같은 내용으로 이루어진 두 파일이 각각 /ABC.com/sait/video/intro.avi과 /ABC.com/sait/comm/video/intro.avi의 컨텐츠 이름으로 존재할 경우, 두 파일은 서로 다른 컨텐츠로 처리될 수 있다. 이러한 규칙은 이름이 비슷한 서로 다른 컨텐츠들을 구분함에 있어서 매우 유용하게 사용될 수 있다.
도 1은 정보 중심 네트워크(Information-Centric Network)의 일 예인 컨텐츠 중심 네트워크(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)가 있는지 여부를 확인할 수 있다.
노드는 펜딩 인터레스트 테이블(PIT)(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))는 선택 대상에서 제외될 수 있다.
도 2는 일 실시예에 따른 컨텐츠 중심 네트워크에서 컨텐츠 검색을 위한 인터(inter)/인트라(intra) 도메인 라우팅 방법이 수행되는 네트워크 구성을 나타낸 도면이다.
도 2를 참조하면, 일 실시예에 따른 컨텐츠 중심 네트워크에서의 라우팅 방법은 IP 기반 인터넷과 같은 영역 계층 구조(area-based hierarchy)를 이용할 수 있다.
컨텐츠 중심 네트워크에서 영역 계층 구조(area-based hierarchy)는 라우팅 영역에 따라 크게 인터-도메인(Inter-Domain) 및 인트라-도메인(Intra Domain)으로 나눌 수 있으며, 라우팅 방법 또한 라우팅 영역에 따라 인터-도메인(Inter-Domain) 라우팅 및 인트라-도메인(Intra Domain) 라우팅으로 구분할 수 있다.
인터-도메인(Inter-Domain) 라우팅은 예를 들어, 도메인 A와 도메인 B와 같이 서로 다른 도메인들 간의 라우팅을 의미하고, 인트라-도메인(Intra Domain) 라우팅은 예를 들어, 하나의 도메인 A 내에 포함된 여러 개의 네트워크 장치(예를 들어, 라우터)들 간의 라우팅을 의미할 수 있다. 도메인(Domain)은 AS(Autonomous System)이라고도 표현될 수 있으며, 인터넷 서비스 제공자(Internet Service Provider; ISP) 등의 단위로 운영될 수 있다.
일 실시예에서는 인터 도메인(Inter-Domain) 및 인트라-도메인(Intra Domain)의 구분에 따라 서로 다른 라우팅 방법이 수행될 수 있다. 특히, 인트라-도메인(Intra Domain)의 경우에는 '하이브리드 라우팅(Hybrid Routing)'을 이용할 수 있다.
여기서, '하이브리드 라우팅'이란 컨텐츠 레벨 라우팅(Contents-level Routing) 및 퍼블리셔 레벨 라우팅(Publisher-level Routing)의 두 가지 개념을 경우에 따라 적용하는 것을 의미한다. 하이브리드 라우팅에 대하여는 후술하는 도 7 및 도 8을 참조하여 설명한다.
컨텐츠 중심 네트워크는 IP 오버레이(overlay) 형태로 구성되거나 혹은 CCN 레이어(layer)가 네이티브(native) L2 위에 구현되는 형태로 구성될 수도 있으며, 일 실시예에 따른 도메인을 위한 라우팅 방법은 이 두 가지 형태에 공통적으로 적용될 수 있다.
도 3은 일 실시예에 따른 인터 도메인(Inter-Domain) 네트워크의 구성을 나타낸 도면이다.
도 3을 참조하면, 인터 도메인(Inter-Domain) 네트워크의 각 도메인들은 AS(Autonomous System)이라 불릴 수 있으며, 0 에서 65,535의 자연수를 ID로 가질 수 있다.
도 3에서 인터넷 코어(Internet Core)(310)와 연결하기 위해 다른 AS를 통해야 하는 경우 그 AS 간의 연결을 '트랜싯(Transit)'이라 부를 수 있다. 예를 들어, AS 1(320)과 AS 4(350)간의 연결 혹은 AS 2(330)과 AS 5(360)간의 연결이 트랜싯(Transit)에 해당할 수 있다.
또한, 인터넷 코어(310)와의 연결과는 상관없는 연결을 '피어링(peering)'이라 부를 수 있다. 예를 들어, AS 3(340)과 AS 4(350)간의 연결 혹은 AS 4(350)와 AS 5(360)간의 연결이 '피어링(peering)'에 해당할 수 있다.
일 실시예에서 설명하는 라우팅 방법은 주로 트랜싯(Transit) 연결을 위한 것이다. AS 간의 트랜싯(Transit) 연결은 인터넷 코어(310)에 연결된 AS가 그렇지 않은 AS에 대해 인터넷 코어(310)로의 연결(connectivity)을 제공하는 것이므로, 소비자(customer)와 제공자(provider)의 관계로 일?어질 수도 있다.
예를 들어, 연결(connectivity)를 제공하는 AS 1(320)이 제공자(provider)가 되고, AS 1(320)을 인터넷 코어(310)로의 트랜싯(Transit) AS로 사용하는 AS 3(340)와 AS 4(350)가 소비자(customer) AS가 될 수 있다.
일반적으로, IP 기반 인터넷에서 AS 1(320)은 IP 패킷(packet)을 전달하는 역할만 수행하면 된다. 즉, AS 간의 정책(policy)에 따라 소비자(customer)의 패킷을 전달할 것인지 여부를 결정하고, 이를 위해 AS는 서로 간에 정책을 정하며, 이를 서로 교환하여 패킷의 전달 여부를 결정할 수 있다.
하지만, 일 실시예에 따른 컨텐츠 중심 네트워크에서는 패킷의 전달뿐만 아니라 컨텐츠 캐시(Contents Cache)에 대한 캐시 히트(cache hit) 여부도 역시 중요하다. 이때, 트랜싯 AS에서 컨텐츠 캐시에 대한 캐시 히트(cache hit)를 허용하느냐의 여부는, 트랜싯 AS와 인터넷 코어 사이의 링크 사용량을 결정하는 요소이므로 얼핏 트랜싯 AS 만의 문제로만 보일 수도 있다. 하지만, 컨텐츠 캐시에 대한 캐시 히트(cache hit)를 허용하는 경우에, 소비자(customer) AS의 요청(request)에 대한 응답 시간(response time)을 줄여주어 소비자(customer) AS 내에 포함된 사용자(user)의 만족도를 높여줄 수 있다.
그러므로, 일 실시예에서는 트랜싯(Transit) AS의 컨텐츠 캐시에 대한 캐시 히트(cache hit)를 허용할 것인지 여부, 트랜싯(Transit) AS의 컨텐츠 캐시에서의 캐시 히트율(cache hit ratio)을 어느 정도로 유지하느냐 및 특정 AS를 위한 캐시 사이즈(cache size)를 얼마나 확보하느냐를 중요한 정책(policy) 중의 하나로 삼을 수 있다.
인터-도메인 라우팅에 있어 도메인(AS) 서로 간의 정책(policy) 정보를 포함하는 라우팅 정보는 싱크 트리(Sync tree)를 이용하여 교환할 수 있다. 싱크 트리(Sync tree)는 해당 노드가 속한 도메인과 타 도메인 간의 연결 정보(예를 들어, 라우팅 정보)를 포함할 수 있다.
이 밖에도, 도메인 서로 간의 라우팅 정보를 교환하거나, 정책을 적용하는 방법은 IP 기반 인터넷에서의 방식을 동일하게 이용할 수 있으므로 이에 대한 구체적인 설명은 생략한다.
도 4는 일 실시예에 따른 컨텐츠 중심 네트워크에서 컨텐츠 검색을 위한 라우팅 방법이 인터 도메인(Inter-Domain) 네트워크에서 수행되는 과정을 나타낸 플로우 차트이다.
도 4를 참조하면, 일 실시예에 따른 인터 도메인(Inter-Domain) 네트워크에 포함된 노드는 타 도메인으로부터 컨텐츠 요청 패킷을 수신하면, 타 도메인이 미리 합의된 정책(policy)에 따른 도메인에 해당하는지 여부를 판단할 수 있다(410).
이때, '미리 합의된 정책에 따른 도메인'은 해당 노드가 속한 도메인과 캐시 룩-업(cache look-up) 계약, 캐시 히트율(Cache hit ratio) 및 확보할 캐시 사이즈(cache size)에 대한 계약 중 적어도 하나의 계약이 이루어진 도메인을 포함할 수 있다.
여기서, 캐시 룩-업(cache look-up) 계약은 해당 노드의 컨텐츠 캐시에 저장된 컨텐츠에 대한 접근, 즉 캐시 히트(Cache Hit)를 허용할 것인지 여부에 대한 계약을 의미할 수 있다. 또한, 캐시 히트율(Cache hit ratio)에 대한 계약은 예를 들어, A 도메인이 음악 컨텐츠와 영화 컨텐츠를 포함한다고 할 때, A 도메인과 계약된 B 도메인으로 음악 컨텐츠를 40% 제공하고, 영화 컨텐츠를 60% 제공하는 등과 같이 제공하는 컨텐츠에 대한 히트율을 의미할 수 있다.
일 실시예에서 컨텐츠 요청 패킷은 해당 패킷을 생성한 도메인을 표시하는 필드를 포함할 수 있다.
따라서, 컨텐츠 요청 패킷(Packet)에 포함된, 도메인을 표시하는 필드를 이용하여 타 도메인이 미리 합의된 정책(policy)에 따른 도메인에 해당하는지 여부를 판단할 수 있다. 예를 들어, A 도메인이 X 노드가 속한 도메인(예를 들어, B 도메인)과 캐시 룩-업(cache look-up) 계약(또는 캐시 히트율(Cache hit ratio)에 대한 계약)을 했다고 하자. 그러면, A 도메인은 컨텐츠 요청 패킷을 전송하는 때에 해당 패킷이 도메인 A가 전송한 패킷임을 알릴 수 있도록 컨텐츠 요청 패킷에 포함된 도메인을 표시하는 필드에 A 혹은 도메인 A와 관련된 정보를 표시할 수 있다.
도메인을 표시하는 필드에 A 혹은 도메인 A와 관련된 정보가 표시된 컨텐츠 요청 패킷을 수신한 다른 도메인에서는 필드에 기재된 정보에 의해 해당 패킷이 A 도메인에 의해 전송된 것임을 파악하여 해당 패킷에 대한 캐시 룩-업(cache look-up)(또는 캐시 히트율(Cache hit ratio)에 대한 계약)을 허용할 수 있다.
이에 앞서, 노드 X는 해당 노드가 속한 도메인(예를 들어, B 도메인)과 타 도메인(예를 들어, A 도메인) 사이의 연결 정보를 포함하는 싱크 트리(sync tree)를 이용하여 타 도메인과 미리 합의된 정책(policy)에 따른 라우팅 정보 및 기타의 정보를 교환할 수 있다.
노드는 410의 판단 결과에 기초하여, 해당 노드의 컨텐츠 캐시(Contents Cache)에 저장된 컨텐츠를 검색할 수 있다(420). 보다 구체적으로 410에서 타 도메인이 미리 합의된 정책(policy)에 따른 도메인에 해당하면, 노드는 자신의 컨텐츠 캐시에 저장된 컨텐츠를 검색할 수 있다. 하지만, 타 도메인이 미리 합의된 정책(policy)에 따른 도메인에 해당하지 않으면, 노드는 해당 패킷(타 도메인이 전송한 컨텐츠 요청 패킷)을 다음 노드로 전달하지 않고 버린(450) 후, 동작을 종료할 수 있다.
노드는 컨텐츠 캐시에 저장된 컨텐츠가 타 도메인이 요청하는 컨텐츠와 일치하는지 여부를 판단할 수 있다(430).
430의 판단 결과, 컨텐츠 캐시에 저장된 컨텐츠가 타 도메인이 요청하는 컨텐츠와 일치하면, 노드는 컨텐츠 캐시에 저장된 컨텐츠를 전송할 수 있다(440).
반면에, 430의 판단 결과, 컨텐츠 캐시에 저장된 컨텐츠가 타 도메인이 요청하는 컨텐츠와 일치하지 않는다면, 노드는 컨텐츠 요청 패킷을 다음 노드로 전송할 수 있다(460). 이때, 다음 노드는 해당 노드와 동일한 도메인 내에 속한 노드일 수도 있고, 다른 도메인에 속한 노드일 수도 있다.
이 밖에도, 노드는 해당 노드가 속한 도메인과 타 도메인 사이의 연결 정보를 포함하는 싱크 트리(sync tree)를 이용하여 타 도메인과 미리 합의된 정책(policy)에 따른 라우팅 정보를 교환할 수 있다.
도 5는 다른 실시예에 따른 컨텐츠 중심 네트워크에서 컨텐츠 검색을 위한 라우팅 방법이 인터 도메인(Inter-Domain) 네트워크에서 수행되는 과정을 나타낸 플로우 차트이다.
도 5를 참조하면, 노드는 다른 도메인으로부터 패킷을 수신하고(510), 해당 패킷이 도메인들 간에 전달되는 인터 도메인(Inter-Domain) 패킷인지 여부를 판단할 수 있다(520).
520의 판단 결과, 해당 패킷이 인터 도메인(Inter-Domain) 패킷이라면, 노드는 인터 도메인(Inter-Domain) 패킷이 (패킷에 대한) 전달 계약이 이루어진 도메인으로부터 전송된 것인지 여부를 판단할 수 있다(530).
530에서의 판단 결과, 인터 도메인(Inter-Domain) 패킷이 전달 계약이 이루어지지 않은 도메인으로부터 전송된 것이라면, 노드는 인터 도메인(Inter-Domain) 패킷을 버릴 수 있다(540).
그러나 인터 도메인(Inter-Domain) 패킷이 전달 계약이 이루어진 도메인으로부터 전송된 것이라면, 노드는 다시 인터 도메인(Inter-Domain) 패킷이 캐시 룩-업(cache look-up) 계약이 된 도메인으로부터 전송된 것인지 여부를 판단할 수 있다(550).
550에서 인터 도메인(Inter-Domain) 패킷이 캐시 룩-업(cache look-up) 계약이 된 도메인으로부터 전송된 것으로 판단되면, 노드는 자신의 컨텐츠 캐시를 검색(룩-업(look up))할 수 있다(560).
560에서 컨텐츠 캐시에 저장된 컨텐츠가 타 도메인이 요청하는 컨텐츠에 해당하면(즉, Cache hit에 해당하면)(570), 노드는 컨텐츠 요청 패킷에 대한 응답으로서 컨텐츠 캐시에 저장된 컨텐츠를 해당 패킷을 전송한 도메인으로 전송할 수 있다(580). 반면에, 컨텐츠 캐시에 저장된 컨텐츠가 타 도메인이 요청하는 컨텐츠에 해당하지 않으면, 노드는 컨텐츠 요청 패킷을 다음 노드로 전달할 수 있다(590).
도 6은 일 실시예에 따른 컨텐츠 중심 네트워크에서 노드가 컨텐츠를 검색하는 방법이 실행되는 인트라 도메인 네트워크 환경을 나타낸 도면이다.
도 6을 참조하면, 다수의 액세스 포인트(Access Point)가 설치된 일반 가정의 네트워크 구성을 살펴볼 수 있다. 도 6에서 각 액세스 포인트에 연계(association)된 디바이스, 다시 말해 노드들은 각 액세스 포인트로부터 사설 IP 주소를 할당 받을 수 있다. 이 때, 각 액세스 포인트는 IP(Internet Protocol) 공유기로 사용되어 브로드캐스트(broadcast) 및 멀티캐스트(multicast) 트래픽(traffic)을 차단할 수 있다.
대부분의 디바이스 및 서비스 탐색 프로토콜(Device/Service discovery protocol) 역시 브로드캐스트(broadcast) 또는 멀티캐스트(multicast) 트래픽을 사용하므로 IP 공유기에서 차단될 수 있다.
예를 들면, Home(600)의 Room 1(610)에 있는 액세스 포인트 1(AP1)(613)은 자신에 연계된 폰(phone)(615)이 전송하는 패킷(예를 들어, multicast/broadcast discovery packet)을 차단할 수 있다. 이 경우, 폰(phone)(615)은 액세스 포인트 1(AP1)(613)에 연계된 랩탑(Laptop)(617)과는 연결될 수 있지만, 액세스 포인트 2(AP2)(653)에 연계된 TV(655)와 연결될 수 없다. 이러한 상황은 디바이스를 검색하는 데에 이용되는 멀티캐스트 및 브로드캐스트 트래픽(multicast/broadcast traffic)이 특정 장비에 의해 차단되는 성질 때문에 발생할 수 있다.
또한, AllShare 서비스의 경우에 UPnP(Universal Plug and Play)를 사용한 검색 범위(discovery scope)는 멀티캐스트 방식의 특성에 의해, 각 IP 공유기인 액세스 포인트의 영역인 Room 1(610) 및 Room 2(650)로 각각 제한될 수 있다.
따라서, 일 실시예에서는 Room 1(610)과 Room 2(650)를 구분하는 동시에 하나의 홈(Home)(600) 내에 존재하는 서로 다른 액세스 포인트에 연계되어 있는 다른 디바이스들에 대한 검색을 수행할 수 있는 방법을 제공할 수 있다. 이 밖에도, 일 실시예에서는 하나의 홈(Home)(600) 내에서 Room 1(610) 및 Room 2(650)와 같이 세부적인 영역 또한 구분할 수 있는 방법을 제공할 수 있다.
도 7은 도 6의 환경과 같은 인트라 도메인(Intra-Domain) 네트워크의 구성 및 그 영역 계층 구조(area hierarchy)를 나타낸 도면이다.
도 7을 참조하면, 도 6의 네트워크 환경을 간략화한 네트워크의 구성을 살펴볼 수 있다. 도 7에서 705는 도메인 내부의 네트워크 구성, 다시 말해 인트라 도메인(Intra-Domain) 네트워크의 구성을 나타내고, 750은 인트라 도메인(Intra-Domain) 네트워크의 영역 계층 구조(area hierarchy)를 나타낸다.
일반적으로 IP 기반 인트라 도메인(Intra-Domain) 네트워크에서는 라우터들을 영역(area) 별로 나누고, 각 영역(area)내에서만 라우팅 정보를 교환할 수 있다.
즉, 도 7에서 영역(Area) 0(710)은 백본(backbone)에 해당하는 코어 라우터(Core Router)의 영역이고, 영역 1(720)은 IP 라우터의 영역에 해당할 수 있다.
이러한 영역(area)의 구분은 컨텐츠 중심 네트워크(CCN)(혹은 정보 중심 네트워크(ICN))에서도 여전히 필요할 수 있다. 이는 도메인의 크기가 현재 IP 기반에 비해 줄어든다고 보기 어려울 뿐만 아니라 라우팅 정보 교환에 대한 인트라 도메인(Intra-Domain) 라우팅의 확장성(scalability)을 확보하기 위해서이다. 따라서, 일 실시예에서는 영역(area)에 기반한 계층 구조(hierarchy)를 사용할 수 있다.
하지만, 컨텐츠 중심 네트워크에서는 컨텐츠 요청 패킷(인터레스트(Interest))의 전송을 위해 포워딩 정보 베이스(Forwarding Information Base; FIB)를 구축할 수 있다. 이 포워딩 정보 베이스(FIB)는 컨텐츠에 대한 검색(discovery)(혹은 광고(advertise), 등록(registration) 정보)를 받아 구축하지만, 모든 컨텐츠에 대하여 광고하는 것은 확장성(scalability)의 확보 측면에서 불가능하다. 왜냐하면 컨텐츠의 종류는 엄청나게 많고, 현재에도 계속 증가하고 있으므로 모든 컨텐츠에 대해 검색(discovery)(혹은 광고(advertisement))를 할 경우, 광고 정보만으로도 네트워크가 마비 상태에 이를 수 있기 때문이다.
따라서, 일 실시예에서는 검색(혹은 광고)을 검색 영역(discovery area)(혹은 Ad-영역(Advertisement-area))이라 불리는 특정 영역으로 제한함으로써, 확장성을 확보할 수 있도록 한다.
'검색 영역(discovery area)(혹은 Ad-영역(Advertisement-area))'은 예를 들어, 캠퍼스 내의 단과 대학들, 아파트 단지, 학원가 등 비슷한 컨텐츠에 관심이 많은 사람들이 모여있다고 가정할 수 있는 영역 및 그 영역에서 인터넷 코어(Internet core)로 연결되는 코어(core) 라우터까지의 영역으로 규정할 수 있다. 예를 들어, 검색 영역 1(730)은 교육 관련 컨텐츠에 대한 관심이 많은 사람들이 모인 영역이고, 검색 영역 2(740)는 스포츠 및 여행 관련 컨텐츠에 대한 관심이 많은 사람들이 모인 영역으로 볼 수 있다. 이와 같이 한정된 검색 영역(discovery area) 내에서 컨텐츠를 검색함으로써 좁은 지역 내에서의 컨텐츠 공유 효율을 높일 수 있다.
또한, 일 실시예에서 검색 영역(discovery area)은 검색을 요청하지 않은 컨텐츠를 찾아 가기 위해 사용할 수도 있다. 일 실시예에 따르면 검색 영역(discovery area) 내에서의 브로드캐스트(Broadcast)을 허용함으로써, 인터레스트의 브로드캐스트 영역(Broadcast area)를 국부화(localize)시킬 수 있다.
이 밖에도, 검색 영역(discovery area)은 컨텐츠 중심 네트워크의 확장성(scalability)을 유지하는 데에 이용될 수 있다.
컨텐츠를 검색하는 방법과 관련된 다양한 실시예들은 다음과 같다.
우선, 라우터 및 단말에서 컨텐츠 맵(Contents map)을 구성하는 경우, 컨텐츠에 대한 검색(discovery)가 필요하다. 이때, 컨텐츠에 대한 검색 범위는 대중적인(Popular) 일부 컨텐츠로 한정할 수 있다.
컨텐츠를 집적(aggregation)하여 검색할 것인지 여부는 개별 컨텐츠 단위로 결정하거나, 컨텐츠의 속성에 따라 결정할 수 있다.
또한, 일시적(Transient)으로 캐시된 컨텐츠에 대하여는 일정 기간 이상의 라이프 타임(life time)을 가진 컨텐츠만을 검색하거나, 임시적(temporarily)으로 캐시된 모든 컨텐츠는 검색하지 않을 수도 있다.
이 밖에도, 검색 메시지의 양을 조절하기 위해 검색 메시지의 양에 따라 검색할 컨텐츠의 대중성(popularity) 정도를 조절하는 방법을 이용할 수도 있다. 이 경우, 컨텐츠 검색에 의한 제어 트래픽(control traffic)의 양을 일정하게 유지할 수 있다.
일 실시예에 따른 인트라 도메인(Intra-Domain) 네트워크에서 검색된 컨텐츠는 예를 들어, 현재 인터넷(Internet)에서 사용중인 OSPF(Open Shortest Path First)의 최단 경로 우선(shortest path first) 알고리즘을 사용하여 라우팅할 수 있다.
도 8은 일 실시예에 따른 컨텐츠 중심 네트워크에서 컨텐츠 검색을 위한 라우팅 방법이 인트라 도메인(Intra-Domain) 네트워크에서 수행되는 과정을 나타낸 플로우 차트이다.
도 8을 참조하면, 노드는 컨텐츠의 대중성 여부에 기초하여 광고되는 컨텐츠에 대한 정보를 수신할 수 있다(810). 이때, 컨텐츠의 대중성(popularity) 여부는 컨텐츠에 대한 접근 횟수(access count)에 기초하여 결정될 수 있다. 즉, 해당 컨텐츠 요청 패킷의 개수가 미리 설정된 값 이상이면, 해당 컨텐츠를 대중성이 있는 컨텐츠 즉, 대중적인 컨텐츠(popular contents)로 결정할 수 있다.
컨텐츠에 대한 정보는 컨텐츠 제공자의 컨텐츠 캐시에 저장된 컨텐츠 이름들의 리스트를 포함할 수 있다.
노드는 컨텐츠에 대한 정보에 기초하여 컨텐츠에 대한 포워딩 정보 베이스(FIB)의 엔트리를 생성할 수 있다(820).
노드는 포워딩 정보 베이스(Forwarding Information Base; FIB)의 엔트리(entry)를 기초로, 컨텐츠 요청자가 요청한 컨텐츠가 광고(advertise) 되었는지 여부를 판단할 수 있다(830).
830에서 컨텐츠 요청자가 요청한 컨텐츠가 광고된 것으로 판단된 경우, 노드는 포워딩 정보 베이스(FIB)의 해당 페이스(face)를 통해 컨텐츠 요청 패킷을 광고를 한 컨텐츠 제공자에게 전달할 수 있다(840). 여기서, 해당 페이스는 포워딩 정보 베이스(FIB)에서 컨텐츠 요청자가 요청한 컨텐츠에 해당하는 엔트리의 페이스를 의미할 수 있다.
840과 같이 컨텐츠 요청자가 요청한 컨텐츠가 광고된 경우, 컨텐츠 요청 패킷을 광고를 한 컨텐츠 제공자에게 전달하는 것을 '컨텐츠 레벨(contents-level) 라우팅'이라고 할 수 있다. 이때, 컨텐츠는 전술한 바와 같이 그 속성 등 여러 가지 기준에 의해 집적(aggregation)될 수 있다.
그러나 830에서 컨텐츠 요청자가 요청한 컨텐츠가 광고되지 않은 것으로 판단된 경우, 노드는 컨텐츠 요청자가 속한 검색 영역(Advertisement area) 내로 컨텐츠 요청 패킷을 브로드캐스트(broadcast)할 수 있다(850).
검색 영역(Advertisement area)은 컨텐츠 요청자가 요청한 컨텐츠와 동일 또는 유사한 분야에 대한 컨텐츠를 포함하는 적어도 하나의 노드로부터 계층적으로 인터넷 코어(Internet Core)와 연결되는 코어 라우터(Core Router)까지의 영역을 포함할 수 있다. 따라서, 검색 영역(Advertisement area)은 대중적인 컨텐츠에 대한 광고 범위를 제어하는 데에 이용될 수 있다.
'브로드캐스트(Broadcast)'는 임의의 노드로부터 전송된 하나의 패킷을 라우터에 접속되어 있는 다른 모든 노드로 전달하는 것을 의미하며, 하나의 원천 노드로부터 실제 네트워크 또는 가상 네트워크의 많은 특정 노드로 패킷들을 멀티캐스트하는 용도로 사용될 수도 있다.
이후, 노드는 브로드캐스트(Broadcast)에 대한 응답이 수신되었는지를 판단할 수 있다(860). 860에서 브로드캐스트(Broadcast)에 대한 응답을 수신한 경우, 노드는 컨텐츠 요청자가 요청한 컨텐츠를 전달할 수 있다(870).
반면에, 860에서 브로드캐스트(Broadcast)에 대한 응답을 수신하지 못한 경우, 노드는 컨텐츠의 퍼블리셔(publisher)에게 컨텐츠 요청 패킷을 전달할 수 있다(880). 이때, 노드는 최장 프리픽스 매칭(longest prefix matching) 방법에 의해 컨텐츠의 퍼블리셔(publiusher)에게 직접 컨텐츠 요청 패킷을 전달할 수 있다.
880과 같이 컨텐츠의 퍼블리셔(contents publisher)에게 컨텐츠 요청 패킷을 전달하는 것을 '퍼블리셔 레벨(publisher-level) 라우팅'이라 할 수 있다.
즉, 퍼블리셔 레벨(publisher-level) 라우팅에서는 컨텐츠 레벨 라우팅을 수행하지 않는 대중적이지 않은 컨텐츠(unpopular contents)에 대해서는 광고하지 않고, 컨텐츠의 퍼블리셔까지 최단 경로(shortest path) 라우팅을 통해 컨텐츠 요청 패킷을 전달할 수 있다. 이때, 컨텐츠는 퍼블리셔의 구성 계층 구조(organization hierarchy)에 의해 집적(aggregation)될 수 있다.
이와 같이 퍼블리셔 레벨(publisher-level) 라우팅은 도메인 내의 로컬 영역(예를 들어, 검색 영역) 내에 해당 컨텐츠가 없다고 판명될 경우, 퍼블리셔(publisher)에게 컨텐츠 요청 패킷을 보내어 컨텐츠 전송을 요청하는 방법이다. 여기서, '퍼블리셔(publisher)'는 컨텐츠의 원 저자(author) 또는 원 소유자(owner)를 말한다.
예를 들어, user 노드에서 라우터 Ra, Rb, Rc를 통해 youtube 서버인 Sy에 연결되고, 그 user 노드가 abc.avi 컨텐츠를 youtube에서 찾으려고 할 경우에는 youtube 서버인 Sy가 퍼블리셔(publisher)가 될 수 있다. 이때, 라우터 Ra, Rb, Rc의 컨텐츠 캐시(cache)에 abc.avi 파일이 존재한다고 하더라도, 라우터 Ra, Rb, Rc는 원저자가 아니므로 abc.avi 파일의 퍼블리셔가 될 수 없다.
컨텐츠 레벨(contents-level) 라우팅 및 퍼블리셔 레벨(publisher-level) 라우팅에 대한 보다 구체적인 설명은 다음과 같다.
예를 들어, 노드 A가 /kbs.com/art/music/1st week/#1song.mp3 라는 컨텐츠(혹은 파일)를 소유한다고 할 때, 노드 A는 해당 컨텐츠가 매우 대중적이라면 해당 컨텐츠에 대한 정보를 광고할 수 있다. 그리고, 노드 A와 동일한 도메인 내에 있는 노드 B는 컨텐츠에 대한 광고를 수신할 수 있다.
이때, 노드 B가 해당 컨텐츠(/kbs.com/art/music/1st week/#1song.mp3)를 요청하는 패킷을 수신했다면, 노드 B는 노드 A로 컨텐츠(/kbs.com/art/music/1st week/#1song.mp3)를 요청하는 패킷을 전달할 수 있다.
여기서, 컨텐츠 자체가 광고 되었고, 컨텐츠에 대한 광고를 이용하여 컨텐츠 요청 패킷을 라우팅하기 때문에 이를 컨텐츠 레벨(contents-level) 라우팅이라고 할 수 있다.
이후, 노드 A가 /kbs.com/art/music/1st week/#1song.mp3 라는 컨텐츠(혹은 파일)를 광고한 지 2주가 지났고, 해당 컨텐츠가 더 이상 대중적이지 않아 A 노드가 이 파일을 지웠다고 가정하자.
그러면, 노드 B는 /kbs.com/art/music/1st week/#1song.mp3라는 컨텐츠 요청 패킷을 수신했다고 하더라도, 노드 A에 의해 해당 컨텐츠에 대한 광고가 이루어지지 않았으므로 컨텐츠 요청 패킷을 어디로 보내야 할 지 모른다.
이때, B 노드는 아래와 같은 순서로 그 컨텐츠의 이름에 대해 라우팅 경로가 있는지 여부를 검사할 수 있다.
/kbs.com/art/music/1st week/#1song.mp3
/kbs.com/art/music/1st week/
/kbs.com/art/music/
/kbs.com/art/
/kbs.com/
만약 위의 어떤 이름에 대해서도 라우팅 경로가 없다면, 결국에는 B 노드는 컨텐츠 요청 패킷을 해당 컨텐츠의 최초 생성자(즉, 퍼블리셔(publisher)인 /kbs.com/ 으로 보내게 된다. 이와 같이 컨텐츠의 퍼블리셔에게 컨텐츠 요청 패킷을 직접 전달하는 것을 퍼블리셔 레벨(publisher-level) 라우팅이라고 한다.
해당 컨텐츠가 광고되지 않은 때에 상술한 바와 같은 순서로 해당 컨텐츠의 이름에 대해 라우팅 경로가 있는지 여부를 검사하는 최장 프리픽스 매칭(longest prefix matching)을 수행하여 라우팅 경로를 찾을 수 있다.
일 실시예에서는 컨텐츠 레벨 라우팅에 의해 사용자가 찾고자 하는 컨텐츠를 로컬(local)(도메인 내)에서 찾을 수 없는 경우는 퍼블리셔 레벨 라우팅으로 전환하여 보다 효율적으로 도메인 내에서의 라우팅을 수행할 수 있다.
도 9는 일 실시예에 따른 컨텐츠 중심 네트워크에서 노드가 컨텐츠를 검색하는 방법을 나타낸 플로우 차트이다.
도 9를 참조하면, 일 실시예에 따른 노드는 컨텐츠 중심 네트워크에 포함된 노드가 요청하는 컨텐츠를 검색할 검색 영역(discovery area)을 설정할 수 있다(910).
여기서, 컨텐츠는 노드가 요청한 컨텐츠뿐만 아니라, 컨텐츠 중심 네트워크에 포함된 디바이스(device) 및 각 디바이스에서 제공되는 서비스(service)에 대한 정보 등을 모두 포함하는 의미로 이해할 수 있다.
910에서 노드는 컨텐츠 중심 네트워크에 포함된 고객 장치로부터 입력된 영역 또는 디폴트(default)로 설정된 영역에 따라 검색 영역을 설정할 수 있다.
여기서, 검색 영역(discovery area)은 노드가 요청한 컨텐츠와 동일 또는 유사한 분야에 대한 컨텐츠를 포함하는 다른 노드로부터 코어 라우터(Core Router)까지의 영역을 포함할 수 있다. 코어 라우터는 인터넷 코어(Internet Core)와 계층적으로 연결될 수 있다. 또한, 검색 영역은 유저가 요청하는 범위로 예를 들면, Home 또는 Home/Room1 또는 Home/Room2와 같이 자유롭게 설정할 수 있다.
노드는 검색 영역(discovery area)이 설정된 컨텐츠 요청 패킷을 생성할 수 있다(930). 이때, 컨텐츠 요청 패킷은 컨텐츠 요청 패킷을 수신한 노드가 검색 영역에서 수행할 제어 동작을 지정하는 동작 아이디(Operation ID; OID)를 더 포함할 수 있다.
노드는 동작 아이디를 이용하여 예를 들어, 컨텐츠의 검색, 컨텐츠의 저장, 컨텐츠의 삭제, 컨텐츠의 복제, 컨텐츠의 갱신, 컨텐츠의 포워딩, 컨텐츠의 분할, 컨텐츠의 병합, 컨텐츠의 인코딩, 컨텐츠의 디코딩, 및 컨텐츠의 암호화 등과 같은 제어 동작을 지정할 수 있다.
노드는 930에서 생성된 컨텐츠 요청 패킷을 전송할 수 있다(950).
일 실시예에서 노드는 고객 장치(Customer Equipment) 및 액세스 포인트(Access Point) 등과 같이 컨텐츠 중심 네트워크에 포함된 디바이스들일 수 있다. 고객 장치의 일 예로는 스마트 폰과 같은 사용자 단말, 스마트 TV, PC, 노트북, 로봇 청소기 등을 들 수 있다. 이때, 각 노드에는 컨텐츠 중심 네트워크를 위한 어플리케이션이 설치될 수 있다.
일 실시예에서 액세스 포인트를 포함하는 모든 오버레이 CCN 디바이스(overlay CCN device)에는 예를 들어, ccn://Home/Room1/AP1과 같은 계층적 이름(hierarchical name)이 부여될 수 있다. 그리고, 고객 장치에는 예를 들어, phone, laptop, device 등과 같이 계층(hierarchy)이 없는 이름이 부여될 수 있다.
도 10은 일 실시예에 따른 컨텐츠 중심 네트워크에서 노드가 연계(association)를 수행하는 방법을 나타낸 플로우 차트이다. 이하에서 노드는 고객 장치에 해당할 수 있으며, 도 10의 실시예는 도 9의 과정에 앞서 수행될 수 있다.
도 10을 참조하면, 일 실시예에 따른 노드는 액세스 포인트로부터 등록을 요청받는 등록 패킷(registration packet)을 수신할 수 있다(1010). 이때, 등록 패킷은 고객 장치에게 등록을 요청하는 액세스 포인트의 계층적 이름 및 등록 패킷이 전달되는 검색 영역에 대한 정보를 포함할 수 있다.
노드는 등록 패킷에 포함된 정보를 이용하여 포워딩 인포메이션 베이스(Forwarding Information Base; FIB)의 엔트리를 생성할 수 있다(1030).
1030에서 노드는 등록 패킷에 포함된 액세스 포인트의 계층적 이름을 자신의 포워딩 인포메이션 베이스(FIB)의 엔트리로 등록할 수 있다.
이후, 노드는 액세스 포인트의 계층적 이름을 프리픽스(prefix)로 이용하여 고객 장치와 액세스 포인트 간의 연계(association)를 수행할 수 있다(1050).
예를 들어, 노드에게 부여된 이름이 phone이고, 해당 노드가 연계를 수행하려고 하는 액세스 포인트의 계층적 이름이 'ccn://Home/Room1/AP1'라고 하자.
이 경우, 노드는 액세스 포인트의 계층적 이름('ccn://Home/Room1/AP1')을 자신의 이름의 프리픽스로 이용하여 자신의 전체 이름(full name)을 'ccn://Home/Room1/AP1/phone'로 생성할 수 있다. 노드는 이렇게 생성된 이름에 의해 액세스 포인트와 서로 페이스(face)를 생성할 수 있다.
도 11은 일 실시예에 따른 컨텐츠 중심 네트워크에서 노드가 컨텐츠를 검색하는 방법이 native L2 상(over)에서 수행되는 경우의 동작을 설명하기 위한 도면이다.
도 11을 참조하면, 일 실시예에 따른 컨텐츠 중심 네트워크에 포함된 액세스 포인트를 포함하는 모든 디바이스가 CCN over native L2 stack, 다시 말해 CCN 스택(stack)을 탑재한 어플리케이션을 설치한 경우를 살펴볼 수 있다.
이때, Room 1(1110)의 액세스 포인트 1(AP1)(1113)에 연결된 폰(phone)(1115)은 Room 2(1150)의 액세스 포인트 2(AP2)(1153)에 연결된 TV(1155)를 아래와 같은 절차를 통해 찾을 수 있다.
이에 앞서, 사용자는 컨텐츠 중심 네트워크 내에 포함된 액세스 포인트를 비롯한 모든 디바이스들에 적절한 계층(hierarchy)을 준 이름을 부여할 수 있다. 다만, 이때 고객 장치에는 예를 들어, 폰(phone), 랩탑(laptop) 및 TV 등과 같이 계층이 없는 이름이 부여될 수 있다.
Room 1(1110)에 있는 액세스 포인트 1(AP1)(1113)과 Room 2(1150)에 있는 액세스 포인트 2(AP2)(1153)는 서로 간에 페이스(face)를 생성할 수 있다.
이때, 각 액세스 포인트(예를 들어, 액세스 포인트 1(AP1)(1113) 및 액세스 포인트 2(AP2)(1153))는 자신에 대한 등록 패킷(registration packet)을 전송할 수 있다. 이때, 각 액세스 포인트는 CCN 브로드캐스트(broadcast)를 사용하여 등록 패킷을 전송할 수 있다.
여기서, CCN 브로드캐스트(broadcast)는 등록(registration) 대상의 이름 및 등록 범위를 설정한 컨텐츠 요청 패킷, 다시 말해 인터레스트(Interest)를 전송하는 것이다. 이때, 등록 대상의 이름을 예를 들어, 'ccn://Home/Room 1/AP1'와 같을 수 있고, 등록 범위는 예를 들어, 'ccn://Home'와 같이 설정될 수 있다.
액세스 포인트와 고객 장치가 연계될 때, 각 고객 장치는 액세스 포인트의 이름을 자신의 이름의 프리픽스로 사용할 수 있다. 예를 들어, 고객 장치인 폰(phone)(1115)의 풀 네임(full name)은 ccn://Home/Room 1/AP1/phone이 될 수 있다.
액세스 포인트 및 액세스 포인트에 연계된 고객 장치는 서로 간의 컨텐츠 요청 패킷이 전송되는 페이스(face)를 생성할 수 있다.
이후, 폰(phone)(1115)은 디바이스 검색을 위한 컨테츠 요청 패킷을 전송할 수 있다. 이때, 폰(phone)(1115)(혹은 폰의 사용자)은 검색을 요청하는 컨텐츠의 이름을 필요에 따라 'ccn://Home' 또는 'ccn://Home/Room 1' 등으로 유연(flexible)하게 설정할 수 있다. 이때, 컨텐츠 요청 패킷에 포함되는 동작 아이디(OID)는 'DEVICE_DISCOVERY'로 설정될 수 있다.
예를 들어, 폰(phone)(1115)이 'ccn://Home/Room 1'으로 검색(discovery)을 요청하는 컨텐츠 요청 패킷을 전송한 경우, Room 1(1110)에 포함된 랩탑(laptop)만 응답할 수 있다. 또한, 폰(phone)(1115)이 'ccn://Home'으로 검색(discovery)을 요청하는 컨텐츠 요청 패킷을 전송한 경우, Room 1(1110)에 포함된 랩탑(laptop)과 Room 2(1150)에 포함된 TV(1155)가 응답할 수 있다.
이러한 응답에 따라 폰(phone)은 Home(1100)에 포함된 TV(1155)를 찾을 수 있다.
이와 같이 일 실시예에서는 컨텐츠 중심 네트워크 내에 포함된 노드들에 CCN 스택을 탑재한 어플리케이션을 설치함으로써 로컬 환경의 액세스 포인트 및 기타 디바이스가 서로 다른 액세스 포인트에 연계된(associated) 디바이스에 대해서도 유연하게 컨텐츠(혹은 디바이스, 정보 등)를 발견할 수 있다.
이때, 사용자는 필요에 따라 컨텐츠 요청 패킷의 이름을 설정함으로써 검색 영역을 유연하게 설정 혹은 변경할 수 있다.
도 12는 일 실시예에 따른 컨텐츠 중심 네트워크에서 노드가 컨텐츠를 검색하는 방법에 따라 전송되는 컨텐츠 요청 패킷의 구조를 나타낸 도면이다.
도 12를 참조하면, 일 실시예에 따른 컨텐츠 중심 네트워크에서 사용하는 컨텐츠 요청 패킷의 포맷을 살펴볼 수 있다. 일 실시예에 따른 컨텐츠 요청 패킷은 컨텐츠 이름(Contents name) 필드(1210), 동작 ID(Operation ID) 필드(1230) 및 Ad-영역(Ad-area) 필드(1250)을 포함할 수 있다.
컨텐츠 이름(Contents name) 필드(1210)는 컨텐츠 요청 패킷을 통해 요청하는 컨텐츠(혹은 디바이스, 정보 등)의 이름을 포함할 수 있다. 일 실시예에서 컨텐츠 이름은 사용자가 요청하는 컨텐츠(혹은 디바이스, 정보 등)의 위치를 나타내는 동시에 해당 컨텐츠를 검색할 영역을 지정하는 역할 또한 수행할 수 있다.
동작 ID(Operation ID) 필드(1230)는 컨텐츠 요청 패킷의 목적 혹은 컨텐츠 요청 패킷을 수신한 디바이스가 검색 영역에서 수행할 제어 동작을 지정하는 데에 이용될 수 있다.
동작 ID 필드(1230)는 예를 들어, 'DEVICE_DISCOVERY'와 같이 설정될 수 있다.
Ad-영역 필드(1250)는 예를 들어, 'ccn://Home'와 같이 해당 패킷이 적용되는 범위, 다시 말해 해당 패킷을 수신한 노드가 동작 ID에 따른 제어 동작을 수행할 범위를 나타낼 수 있다. 일 실시예에서 Ad-영역은 '검색 영역(discovery area)'과 동일한 영역으로 이해될 수 있다.
검색 영역(discovery area)은 컨텐츠의 이름에 의해 사용자가 유연하게 설정할 수 있다. 또한, 사용자는 컨텐츠 요청 패킷(다시 말해, 인터레스트(Interest)의 헤더 필드(header field)에 검색하고자 하는 범위를 '이름'으로 표시하여, 유연하게 검색 영역을 변경할 수 있다.
도 13은 일 실시예에 따른 컨텐츠 중심 네트워크에서 노드가 컨텐츠를 검색하는 방법이 IP 상(over)에서 수행되는 경우의 동작을 설명하기 위한 도면이다.
도 13을 참조하면, 일 실시예에 따른 컨텐츠 중심 네트워크에 포함된 모든 디바이스(device)에 CCN over IP stack을 설치한 경우, 다시 말해 CCN 어플리케이션을 설치한 경우를 살펴볼 수 있다.
이때, Room 1(1310)의 액세스 포인트 1(AP1)(1313)에 연결된 폰(phone)(1315)은 Room 2(1350)의 액세스 포인트 2(AP2)(1353)에 연결된 TV(1355)를 아래와 같은 절차를 통해 찾을 수 있다.
사용자는 컨텐츠 중심 네트워크 내에 포함된 액세스 포인트를 포함하는 고객 장치(Customer Equipment; CE)의 이름을 설정할 수 있다.
컨텐츠 중심 네트워크 내에 포함된 액세스 포인트를 비롯한 모든 디바이스들에 적절한 계층(hierarchy)을 준 이름을 부여할 수 있다. 다만, 이때 고객 장치에는 예를 들어, 폰(phone), 랩탑(laptop) 및 TV 등과 같이 계층이 없는 이름이 부여될 수 있다.
이후, Room 1(1310)에 있는 액세스 포인트 1(AP1)(1313)과 Room 2(1350)에 있는 액세스 포인트 2(AP2)(1353)는 서로 간에 페이스(face)를 생성할 수 있다.
각 액세스 포인트(예를 들어, 액세스 포인트 1(AP1)(1313) 및 액세스 포인트 2(AP2)(1353))는 자신에 대한 등록 패킷(registration packet)을 전송할 수 있다. 각 액세스 포인트는 IP 브로드캐스트(broadcast)를 사용하여 등록 패킷을 전송할 수 있다.
각 액세스 포인트는 액세스 포인트의 외부 IP(external IP)를 종단점(endpoint)으로 설정할 수 있다. 이때, 종단점(endpoint)은 실제 레이어 3(layer 3)에서의 주소를 나타낼 수 있다. 이 경우 IP 레이어를 사용하므로 IP 주소가 종단점이 될 수 있다.
두 액세스 포인트의 외부 IP는 같은 LAN 세그먼트(segment)에 속하므로 브로드캐스트 트래픽(broadcast traffic)이 전달될 수 있다.
액세스 포인트와 고객 장치가 연계(association)될 때, 각 고객 장치는 액세스 포인트의 이름을 자신의 이름의 프리픽스로 사용할 수 있다. 예를 들어, 고객 장치인 폰(phone)(1315)의 풀 네임(full name)은 ccn://Home/Room 1/AP1/phone이 될 수 있다.
액세스 포인트 및 액세스 포인트에 연계된 고객 장치는 서로 간의 컨텐츠 요청 패킷이 전송되는 페이스(face)를 생성할 수 있다.
이후, 폰(phone)(1315)은 디바이스 검색을 위한 컨텐츠 요청 패킷을 전송할 수 있다.
이때, 폰(phone)(1315)(혹은 폰의 사용자)은 검색을 요청하는 컨텐츠의 이름을 필요에 따라 'ccn://Home' 또는 'ccn://Home/Room 1' 등으로 유연(flexible)하게 설정할 수 있다. 이때, 컨텐츠 요청 패킷에 포함되는 동작 아이디(Operation ID; OID) 는 'DEVICE_DISCOVERY'로 설정될 수 있다.
예를 들어, 폰(phone)(1315)이 ccn://Home/Room1으로 검색(discovery)을 요청하는 컨텐츠 요청 패킷을 전송한 경우, Room 1(1310)에 포함된 랩탑(laptop)만 응답할 수 있다. 또한, 폰(phone)(1315)이 ccn://Home으로 검색(discovery)을 요청하는 컨텐츠 요청 패킷을 전송한 경우, Room 1(1310)에 포함된 랩탑(laptop)과 Room 2(1350)에 포함된 TV가 응답할 수 있다.
이에 따라 폰(phone)은 Home(1300)에 포함된 TV를 찾을 수 있다.
일 실시예에 따르면, 도 13과 같은 환경에서 IP 공유기를 사용하는 경우에 기기 간 상호 연결을 위한 SIP(Session Initiation Protocol) 서버가 없이도 패킷을 전달할 수 있다.
액세스 포인트 1(AP1)과 액세스 포인트 2(AP2)의 외부 IP(external IP)가 같을 경우, IP 충돌 방지를 위해 제 3의 CCN 디바이스가 2개 이상 액세스 포인트 1(AP1)(1313)과 액세스 포인트 2(AP2)(1353) 사이에 존재할 수 있다.
도 14는 일 실시예에 따른 컨텐츠 중심 네트워크에서 컨텐츠를 검색하는 노드의 블록도이다.
도 14를 참조하면, 일 실시예에 따른 노드는 수신부(1410), 엔트리 생성부(1420), 연계부(1430), 설정부(1440), 패킷 생성부(1450) 및 전송부(1460)를 포함할 수 있다.
여기서, 노드는 고객 장치(Customer Equipment) 및 액세스 포인트(Access Point) 등을 포함하는 디바이스들일 수 있다. 고객 장치의 일 예로는 스마트 폰과 같은 사용자 단말, 스마트 TV, PC, 노트북, 로봇 청소기 등을 들 수 있다.
노드에는 컨텐츠 중심 네트워크를 위한 어플리케이션이 설치될 수 있다.
수신부(1410)는 액세스 포인트로부터 등록을 요청받는 등록 패킷(registration packet)을 수신할 수 있다. 등록 패킷은 고객 장치에게 등록을 요청하는 액세스 포인트의 계층적 이름 및 등록 패킷이 전달되는 검색 영역에 대한 정보를 포함할 수 있다.
엔트리 생성부(1420)는 등록 패킷에 포함된 정보를 이용하여 포워딩 인포메이션 베이스(Forwarding Information Base; FIB)의 엔트리를 생성할 수 있다.
연계부(1430)는 액세스 포인트의 계층적 이름을 프리픽스(prefix)로 이용하여 고객 장치와 액세스 포인트 간의 연계(association)를 수행할 수 있다. 이때, 연계부(1430)는 수신부(1410)에서 수신한 등록 패킷 혹은 엔트리 생성부(1420)에서 생성한 포워딩 인포메이션 베이스의 엔트리로부터 액세스 포인트의 계층적 이름을 획득할 수 있다.
설정부(1440)는 컨텐츠 중심 네트워크에 포함된 노드가 요청한 컨텐츠를 검색할 검색 영역(discovery area)을 설정할 수 있다.
설정부(1440)는 컨텐츠 중심 네트워크에 포함된 고객 장치로부터 입력된 영역 또는 디폴트(default)로 설정된 영역에 따라 검색 영역을 설정할 수 있다.
패킷 생성부(1450)는 컨텐츠 중심 네트워크에 포함된 노드가 요청한 컨텐츠를 검색할 검색 영역(discovery area)을 설정한 컨텐츠 요청 패킷을 생성할 수 있다.
여기서, 컨텐츠는 노드가 요청한 컨텐츠뿐만 아니라, 컨텐츠를 포함하는 디바이스에 대한 정보 및 서비스에 대한 정보를 포함하는 의미로 이해할 수 있다.
이때, 컨텐츠 요청 패킷은 컨텐츠 요청 패킷을 수신한 노드가 검색 영역에서 수행할 제어 동작을 지정하는 동작 아이디(Operation ID; OID)를 더 포함할 수 있다.
노드는 동작 아이디를 이용하여 예를 들어, 컨텐츠의 검색, 컨텐츠의 저장, 컨텐츠의 삭제, 컨텐츠의 복제, 컨텐츠의 갱신, 컨텐츠의 포워딩, 컨텐츠의 분할, 컨텐츠의 병합, 컨텐츠의 인코딩, 컨텐츠의 디코딩, 및 컨텐츠의 암호화 등과 같은 제어 동작을 지정할 수 있다.
또한, 검색 영역(discovery area)은 노드가 요청한 컨텐츠와 동일 또는 유사한 분야에 대한 컨텐츠를 포함하는 다른 노드로부터 코어 라우터(Core Router)까지의 영역을 포함할 수 있다. 코어 라우터는 계층적으로 인터넷 코어(Internet Core)와 연결될 수 있다.
전송부(1460)는 패킷 생성부(1450)에서 생성된 컨텐츠 요청 패킷을 전송할 수 있다.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.
101,105: 페이스(face)
110: 컨텐츠 스토어(Contents Store)
130: 펜딩 인터레스트 테이블(Pending Interest Table; PIT)
150: 포워딩 정보 베이스(Forwarding Base; FIB)
110: 컨텐츠 스토어(Contents Store)
130: 펜딩 인터레스트 테이블(Pending Interest Table; PIT)
150: 포워딩 정보 베이스(Forwarding Base; FIB)
Claims (33)
- 컨텐츠 중심 네트워크(Contents Centric Network; CCN)의 인트라(intra)-도메인에서 노드가 컨텐츠를 검색하는 방법에 있어서,
상기 컨텐츠 중심 네트워크에 포함된 노드가 요청하는 컨텐츠를 검색할 검색 영역(discovery area)이 설정된 컨텐츠 요청 패킷을 생성하는 단계; 및
상기 컨텐츠 요청 패킷을 전송하는 단계
를 포함하는 노드가 컨텐츠를 검색하는 방법. - 제1항에 있어서,
상기 검색 영역(discovery area)을 설정하는 단계
를 더 포함하는 노드가 컨텐츠를 검색하는 방법. - 제2항에 있어서,
상기 검색 영역(discovery area)을 설정하는 단계는
상기 컨텐츠 중심 네트워크에 포함된 고객 장치로부터 입력된 영역 또는 디폴트(default)로 설정된 영역에 따라 상기 검색 영역을 설정하는 단계
를 포함하는 노드가 컨텐츠를 검색하는 방법. - 제1항에 있어서,
포워딩 정보 베이스(Forwarding Information Base; FIB)의 엔트리(entry)를 기초로, 컨텐츠 요청자가 요청한 컨텐츠가 광고(advertise) 되었는지 여부를 판단하는 단계
를 더 포함하는 노드가 컨텐츠를 검색하는 방법. - 제4항에 있어서,
상기 판단 결과를 기초로, 상기 컨텐츠 요청자가 속한 검색 영역 내로 상기 컨텐츠 요청 패킷을 브로드캐스트(Broadcast)하는 단계
를 포함하는 노드가 컨텐츠를 검색하는 방법. - 제4항에 있어서,
상기 컨텐츠가 광고된 것으로 판단된 경우, 상기 컨텐츠 요청 패킷을 상기 포워딩 정보 베이스의 해당 페이스(face)를 통해 전달하는 단계
를 더 포함하는 노드가 컨텐츠를 검색하는 방법. - 제5항에 있어서,
상기 브로드캐스트(Broadcast)에 대한 응답을 수신하지 못한 경우, 상기 컨텐츠의 퍼블리셔(publisher)에게 상기 컨텐츠 요청 패킷을 전달하는 단계
를 더 포함하는 노드가 컨텐츠를 검색하는 방법. - 제7항에 있어서,
상기 컨텐츠 요청 패킷을 전달하는 단계는
최장 프리픽스 매칭(longest prefix matching) 방법에 의해 상기 컨텐츠의 퍼블리셔(publiusher)에게 직접 상기 컨텐츠 요청 패킷을 전달하는 노드가 컨텐츠를 검색하는 방법. - 제5항에 있어서,
상기 컨텐츠의 대중성 여부에 기초하여 광고되는 컨텐츠에 대한 정보를 수신하는 단계; 및
상기 컨텐츠에 대한 정보에 기초하여 상기 컨텐츠에 대한 포워딩 정보 베이스(FIB)의 엔트리를 생성하는 단계
를 더 포함하는 노드가 컨텐츠를 검색하는 방법. - 제9항에 있어서,
상기 컨텐츠에 대한 정보는
컨텐츠 제공자의 컨텐츠 캐시에 저장된 컨텐츠 이름들의 리스트를 포함하는 노드가 컨텐츠를 검색하는 방법. - 제9항에 있어서,
상기 컨텐츠의 대중성 여부는
상기 컨텐츠에 대한 접근 횟수(access count)에 기초하여 결정되는 노드가 컨텐츠를 검색하는 방법. - 제1항에 있어서,
상기 컨텐츠 요청 패킷은
상기 컨텐츠 요청 패킷을 수신한 노드가 상기 검색 영역에서 수행할 제어 동작을 지정하는 동작 아이디(Operation ID; OID)를 더 포함하는 노드가 컨텐츠를 검색하는 방법. - 제1항에 있어서,
상기 검색 영역(discovery area)은
상기 노드가 요청한 컨텐츠와 동일 또는 유사한 분야에 대한 컨텐츠를 포함하는 다른 노드로부터 코어 라우터(Core Router)- 상기 코어 라우터는 인터넷 코어(Internet Core)와 계층적으로 연결됨 -까지의 영역을 포함하는 노드가 컨텐츠를 검색하는 방법. - 제1항에 있어서,
상기 노드는
상기 컨텐츠 중심 네트워크를 위한 어플리케이션이 설치된 고객 장치(Customer Equipment) 및 상기 어플리케이션이 설치된 액세스 포인트(Access Point)를 포함하는 노드가 컨텐츠를 검색하는 방법. - 제14항에 있어서,
상기 액세스 포인트는
계층적 이름(hierarchical name)을 가지는 노드가 컨텐츠를 검색하는 방법. - 제14항에 있어서,
상기 액세스 포인트로부터 등록을 요청받는 등록 패킷(registration packet)을 수신하는 단계; 및
상기 등록 패킷에 포함된 정보를 이용하여 포워딩 인포메이션 베이스(Forwarding Information Base; FIB)의 엔트리를 생성하는 단계
를 더 포함하는 노드가 컨텐츠를 검색하는 방법. - 제16항에 있어서,
상기 등록 패킷은
상기 고객 장치에게 등록을 요청하는 액세스 포인트의 계층적 이름 및 상기 등록 패킷이 전달되는 검색 영역에 대한 정보를 포함하는 노드가 컨텐츠를 검색하는 방법. - 제14항에 있어서,
상기 액세스 포인트의 계층적 이름을 프리픽스(prefix)로 이용하여 상기 고객 장치와 상기 액세스 포인트 간의 연계(association)를 수행하는 단계
를 더 포함하는 노드가 컨텐츠를 검색하는 방법. - 컨텐츠 중심 네트워크의 인터(inter)-도메인에서 노드가 컨텐츠를 검색하는 방법에 있어서,
컨텐츠 요청 패킷(Packet)을 전송한 타 도메인이 미리 합의된 정책(policy)에 따른 도메인에 해당하는지 여부를 판단하는 단계;
상기 판단 결과에 기초하여, 해당 노드의 컨텐츠 캐시(Contents Cache)에 저장된 컨텐츠를 검색하는 단계; 및
상기 컨텐츠 캐시에 저장된 컨텐츠가 상기 타 도메인이 요청하는 컨텐츠에 해당하면, 상기 컨텐츠 캐시에 저장된 컨텐츠를 전송하는 단계
를 포함하는 노드가 컨텐츠를 검색하는 방법. - 제19항에 있어서,
상기 컨텐츠 요청 패킷은
상기 컨텐츠 요청 패킷을 생성한 도메인을 표시하는 필드를 포함하는 노드가 컨텐츠를 검색하는 방법. - 제19항에 있어서,
상기 미리 합의된 정책에 따른 도메인은
상기 해당 노드가 속한 도메인과 캐시 룩-업(cache look-up) 계약, 캐시 히트율(Cache hit ratio)에 대한 계약 및 할당할 캐시 사이즈(cache size)에 대한 계약 중 적어도 하나의 계약이 이루어진 도메인을 포함하는 노드가 컨텐츠를 검색하는 방법. - 제21항에 있어서,
상기 타 도메인이 미리 합의된 정책(policy)에 따른 도메인에 해당하는지 여부를 판단하는 단계는
상기 컨텐츠 요청 패킷(Packet)에 포함된, 도메인을 표시하는 필드를 이용하여 상기 타 도메인이 상기 미리 합의된 정책(policy)에 따른 도메인에 해당하는지 여부를 판단하는 노드가 컨텐츠를 검색하는 방법. - 제19항에 있어서,
상기 해당 노드가 속한 도메인과 상기 타 도메인 사이의 연결 정보를 포함하는 싱크 트리(sync tree)를 이용하여 상기 타 도메인과 상기 미리 합의된 정책(policy)에 따른 라우팅 정보를 교환하는 단계
를 더 포함하는 노드가 컨텐츠를 검색하는 방법. - 제1항 내지 제23항 중 어느 한 항의 방법을 수행하기 위한 프로그램이 기록된 컴퓨터로 판독 가능한 기록 매체.
- 컨텐츠 중심 네트워크의 인트라(intra)-도메인에서 컨텐츠를 검색하는 노드에 있어서,
상기 컨텐츠 중심 네트워크에 포함된 노드가 요청한 컨텐츠를 검색할 검색 영역(discovery area)을 설정한 컨텐츠 요청 패킷을 생성하는 패킷 생성부; 및
상기 컨텐츠 요청 패킷을 전송하는 전송부
를 포함하는 컨텐츠를 검색하는 노드. - 제25항에 있어서,
상기 컨텐츠 중심 네트워크에 포함된 노드가 요청한 컨텐츠를 검색할 검색 영역(discovery area)을 설정하는 설정부
를 더 포함하는 컨텐츠를 검색하는 노드. - 제26항에 있어서,
상기 설정부는
상기 컨텐츠 중심 네트워크에 포함된 고객 장치로부터 입력된 영역 또는디폴트(default)로 설정된 영역에 따라 상기 검색 영역을 설정하는 컨텐츠를 검색하는 노드. - 제25항에 있어서,
상기 컨텐츠 요청 패킷은
상기 컨텐츠 요청 패킷을 수신한 노드가 상기 검색 영역에서 수행할 제어 동작을 지정하는 동작 아이디(Operation ID; OID)를 더 포함하는 컨텐츠를 검색하는 노드. - 제25항에 있어서,
상기 검색 영역(discovery area)은
상기 노드가 요청한 컨텐츠와 동일 또는 유사한 분야에 대한 컨텐츠를 포함하는 다른 노드로부터 코어 라우터(Core Router)- 상기 코어 라우터는 계층적으로 인터넷 코어(Internet Core)와 연결됨 -까지의 영역을 포함하는 컨텐츠를 검색하는 노드. - 제25항에 있어서,
상기 노드는
상기 컨텐츠 중심 네트워크를 위한 어플리케이션이 설치된 고객 장치(Customer Equipment) 및 상기 어플리케이션이 설치된 액세스 포인트(Access Point)를 포함하는 컨텐츠를 검색하는 노드. - 제30항에 있어서,
상기 액세스 포인트로부터 등록을 요청받는 등록 패킷(registration packet)을 수신하는 수신부; 및
상기 등록 패킷에 포함된 정보를 이용하여 포워딩 인포메이션 베이스(Forwarding Information Base; FIB)의 엔트리를 생성하는 엔트리 생성부
를 더 포함하는 컨텐츠를 검색하는 노드. - 제31항에 있어서,
상기 등록 패킷은
상기 고객 장치에게 등록을 요청하는 액세스 포인트의 계층적 이름 및 상기 등록 패킷이 전달되는 검색 영역에 대한 정보를 포함하는 컨텐츠를 검색하는 노드. - 제30항에 있어서,
상기 액세스 포인트의 계층적 이름을 프리픽스(prefix)로 이용하여 상기 고객 장치와 상기 액세스 포인트 간의 연계(association)를 수행하는 연계부
를 더 포함하는 컨텐츠를 검색하는 노드.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/914,891 US20130339481A1 (en) | 2012-06-11 | 2013-06-11 | Method for content discovery of node in intra-domain and inter-domain in content centric network and node therefor |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020120062147 | 2012-06-11 | ||
KR20120062147 | 2012-06-11 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20130138670A true KR20130138670A (ko) | 2013-12-19 |
Family
ID=49984315
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020130053778A KR20130138670A (ko) | 2012-06-11 | 2013-05-13 | 컨텐츠 중심 네트워크의 인트라 도메인(intra domain) 및 인터 도메인(inter domain)에서 노드가 컨텐츠를 검색하는 방법 및 그 노드 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20130138670A (ko) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101431390B1 (ko) * | 2013-07-30 | 2014-08-18 | 홍익대학교세종캠퍼스산학협력단 | Ccn에서 주기적 announce를 이용한 fib 운영 방법 |
US10728355B2 (en) | 2017-07-26 | 2020-07-28 | Electronics And Telecommunications Research Institute | Distributed forwarding system and method for service stream |
-
2013
- 2013-05-13 KR KR1020130053778A patent/KR20130138670A/ko active IP Right Grant
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101431390B1 (ko) * | 2013-07-30 | 2014-08-18 | 홍익대학교세종캠퍼스산학협력단 | Ccn에서 주기적 announce를 이용한 fib 운영 방법 |
US10728355B2 (en) | 2017-07-26 | 2020-07-28 | Electronics And Telecommunications Research Institute | Distributed forwarding system and method for service stream |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10924448B2 (en) | Content delivery from home networks | |
US20130339481A1 (en) | Method for content discovery of node in intra-domain and inter-domain in content centric network and node therefor | |
JP5536362B2 (ja) | コンテンツセントリックネットワークにおける通信を円滑化するための方法 | |
US9326042B2 (en) | Routing method for inter/intra-domain in content centric network | |
US9485288B2 (en) | Peer-to-peer communication method in content centric network environment | |
US8837483B2 (en) | Mapping private and public addresses | |
US10104633B1 (en) | Active position driven mobility content delivery in information centric networks | |
JP5847185B2 (ja) | コンテンツ中心のネットワーク環境でグループ変更に関する情報を用いるコンテンツ共有方法及び装置 | |
WO2011150830A1 (zh) | 获取内容的方法、节点及内容网络 | |
WO2011000289A1 (zh) | 一种p2p流媒体数据分发的方法、系统及proxy节点 | |
WO2014000558A1 (zh) | 一种cdn路由实现方法和系统 | |
EP3446460B1 (en) | Content routing in an ip network that implements information centric networking | |
Li et al. | MWBS: An efficient many-to-many wireless big data delivery scheme | |
KR20130138670A (ko) | 컨텐츠 중심 네트워크의 인트라 도메인(intra domain) 및 인터 도메인(inter domain)에서 노드가 컨텐츠를 검색하는 방법 및 그 노드 | |
Azgin et al. | On-demand mobility support with anchor chains in Information Centric Networks | |
KR20130033252A (ko) | 서비스 오버레이 네트워크에서 종단간 QoS 보장형 콘텐츠 전달 방법 및 그 시스템 | |
Sadiku et al. | Named data networking | |
Hong et al. | CCN networking architecture for mobile applications | |
KR20160002154A (ko) | Ccn 이름 구성 방법과 ccn 이름 기반 라우팅 방법 및 장치 | |
Naeem et al. | Future internet architectures | |
Alduán et al. | Architectures for future media Internet | |
KR102121983B1 (ko) | 컨텐츠 중심 네트워크에서의 인터(inter) 도메인 및 인트라(intra) 도메인 라우팅 방법 | |
Banerjee et al. | The survey, research challenges, and opportunities in ICN | |
KR20210071255A (ko) | 정보 중심 네트워킹(icn)에서 컨텐츠 내용 기반 관리 및 전송을 위한 시스템 및 방법 | |
Bosunia et al. | Efficient data delivery based on content-centric networking |
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 |