KR20160045010A - 캐시에서 데이터 이름 기반 네트워킹 객체들에 순위를 매기기 위한 시스템 및 방법 - Google Patents

캐시에서 데이터 이름 기반 네트워킹 객체들에 순위를 매기기 위한 시스템 및 방법 Download PDF

Info

Publication number
KR20160045010A
KR20160045010A KR1020150139489A KR20150139489A KR20160045010A KR 20160045010 A KR20160045010 A KR 20160045010A KR 1020150139489 A KR1020150139489 A KR 1020150139489A KR 20150139489 A KR20150139489 A KR 20150139489A KR 20160045010 A KR20160045010 A KR 20160045010A
Authority
KR
South Korea
Prior art keywords
content object
content
name
interest
exclusion
Prior art date
Application number
KR1020150139489A
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 팔로 알토 리서치 센터 인코포레이티드
Publication of KR20160045010A publication Critical patent/KR20160045010A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/955Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
    • 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
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/1458Denial of Service
    • H04L67/2823
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • G06F16/9574Browsing optimisation, e.g. caching or content distillation of access to content, e.g. by 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
    • H04L61/305
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/1466Active attacks involving interception, injection, modification, spoofing of data unit addresses, e.g. hijacking, packet injection or TCP sequence number attacks
    • H04L67/2842
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

라우터는 순위를 매기기 위해 캐싱된 콘텐트 객체를 선택할 수 있고, 콘텐트 객체에 대해 수신된 배제들의 세트를 결정하기 위해 콘텐트 객체에 대한 이력 사용 정보를 분석한다. 라우터는 그 다음, 콘텐트 객체에 대한 배제들의 세트 및 하나 이상의 미리 결정된 배제 패턴들에 기초하여, 콘텐트 객체에 대한 순위 값을 계산하고, 콘텐트 객체와 연관되는 순위 값을 저장한다. 라우터가 그 이름이 다수의 캐싱된 콘텐트 객체들과 연관되는 관심을 수신할 때, 라우터는 다수의 캐싱된 콘텐트 객체들로부터, 가장 높은 순위 값을 갖는 캐싱된 콘텐트 객체를 선택한다. 라우터는 그 다음, 관심을 만족시키기 위해 선택된 캐싱된 콘텐트 객체를 리턴시킬 수 있다.

Description

캐시에서 데이터 이름 기반 네트워킹 객체들에 순위를 매기기 위한 시스템 및 방법{SYSTEM AND METHOD FOR RANKING NAMED-DATA NETWORKING OBJECTS IN A CACHE}
본 발명은 일반적으로 데이터 이름 기반 네트워킹(named data networking; NDN)에 관한 것이다. 특히, 본 발명은 캐시에서 콘텐트 객체들에 순위를 매기는 것에 관한 것이다.
모바일 계산 및 셀룰러 네트워크들의 확산은 이전보다 더 디지털 콘텐트를 이동하도록 만들고 있다. 사람들은 콘텐트를 생성하거나, 콘텐트를 소비하거나, 심지어 콘텐트를 생성하거나 소비하는 다른 계산 디바이스들에 대한 인터넷 액세스를 제공하기 위해 그들의 스마트폰들을 사용할 수 있다. 종종, 디바이스의 네트워크 위치는 사람이 이 디바이스를 새로운 위치로 가져갈 때 변할 수 있다. 이것은, 디바이스의 새로운 위치가 공지되지 않을 때 전통적인 컴퓨터 네트워크(예로서, 인터넷) 하에서 이 디바이스와 통신하는 것을 어렵게 만든다.
이 문제점을 해결하기 위해, 정보 중심 네트워크(ICN) 아키텍처들은 콘텐트의 물리적 또는 네트워크 위치에 상관없이, 그것의 이름에 기초하여 디지털 콘텐트에 액세스하는 것을 가능하게 하도록 설계되었다. 데이터 이름 기반 네트워킹(NDN)은 정보 중심 네트워킹(ICN)의 하나의 예이다. 패킷들이 종점에 대한 어드레스에 기초하여 포워딩(forwarding)되는 인터넷 프로토콜(IP) 네트워크들과 같은, 전통적인 네트워킹과 달리, NDN 아키텍처는 라우팅가능한 이름(예로서, 어드레스)을 콘텐트 그 자체에 할당하여 그 콘텐트가 콘텐트를 호스팅(hosting)하는 임의의 디바이스로부터 검색될 수 있게 한다.
전형적인 NDN 아키텍처는 2개의 유형들의 패킷들을 포워딩한다: 관심들 및 콘텐트 객체들. 관심들은 이름 기반 데이터의 한 피스(piece)에 대한 이름을 포함하고, 이름 기반 데이터의 피스에 대한 요청의 역할을 한다. 한편, 콘텐트 객체들은 전형적으로 페이로드를 포함하고, 매칭 이름을 갖는 관심에 의해 트래버스(traverse)된 네트워크 경로를 따라 단지 포워딩되며, 관심 패킷에 위해 취해진 역 방향으로 이 경로를 트래버스한다. 전형적인 NDN 아키텍처들은 응답으로서 콘텐트 객체들을 관심 패킷으로 단지 전송한다; 콘텐트 객체들은 요청되지 않은 채로 전송되지 않는다.
NDN 아키텍처들은 공개자들이 콘텐트에 서명하도록 허용함으로써 콘텐트 진정성을 보장할 수 있고, 이는 소비자들이 콘텐트 서명들을 검증하도록 허용한다. 그러나, 전형적인 NDN 라우터들은 부가적인 네트워크 레이턴시(latency)를 초래하는 것을 회피하기 위해 콘텐트 객체에 대한 콘텐트 서명 검증을 수행할 수 없다. 일부 NDN 라우터들은 가능할 때마다 캐싱(caching)된 콘텐트 객체를 리턴(return)시킴으로써, 양방향 지연(round-trip) 지연을 최소화하기 위해 콘텐트를 캐싱하는 콘텐트 저장소를 또한 유지한다. 그러나, 라우터들에서의 콘텐트 캐싱은 서비스 거부(denial-of-service; DoS) 공격들을 위한 기회를 준다.
하나의 이러한 DoS 공격은 콘텐트 오염을 수반하고, 여기서 상대방은 동일한 이름의 합법적인 콘텐트에 대한 액세스를 차단하는 가짜 콘텐트를 NDN 네트워크에 대량으로 보내기 위해 가짜 콘텐트를 라우터의 캐시에 주입한다. 소비자들이 서명 검증을 수행함으로써 가짜 콘텐트를 검출할 수 있을지라도, 전형적인 NDN 아키텍처는 캐시로부터 제거하기 위해 가짜 콘텐트를 검색하지 않는다.
클라이언트들은 자가-인증 콘텐트 이름들의 사용을 강화함으로써 콘텐트 오염 공격들에 대해 피해자가 되는 것을 회피할 수 있다. 클라이언트는 콘텐트의 해시를 포함하는, 콘텐트의 완전한 이름에 의해 콘텐트를 언급하는 관심들을 발행할 수 있다. 그러나, 이것은, 클라이언트가 예정보다 빨리 콘텐트의 해시 값을 아는 경우에 단지 가능하다. 클라이언트는 자주 변할 수 있는 동적으로 생성된 콘텐트(매 분마다 업데이트되는 웹 페이지)에 대해 자가-인증 이름들의 사용을 강화하지 못할 수 있고, 이는 그것의 콘텐트에서의 임의의 변화가 콘텐트에 대한 새로운 해시를 야기하기 때문이다.
하나의 실시예는 순위를 매기기 위해 콘텐트 객체를 선택할 수 있는 라우터를 제공하고, 콘텐트 객체에 대해 수신된 배제(exclusion)들의 세트를 결정하기 위해 콘텐트 객체에 대한 이력 사용 정보를 분석한다. 콘텐트 객체는 로컬 캐시 또는 콘텐트 저장소에 저장된 캐싱된 콘텐트 객체를 포함할 수 있다. 라우터는 그 다음, 콘텐트 객체에 대한 배제들의 세트 및 하나 이상의 미리 결정된 배제 패턴들에 기초하여, 콘텐트 객체에 대한 순위 값을 계산하고, 콘텐트 객체와 연관되는 순위 값을 계산한다.
일부 실시예들에서, 라우터는 정보 중심 네트워크(ICN)의 일례인 데이터 이름 기반 네트워크(NDN)에 속한다. ICN(및 NDN)에서, 콘텐트의 각각의 피스는 개별적으로 명명되고, 데이터의 각각의 피스는 데이터를 동일한 데이터의 다른 버전들 또는 다른 소스들로부터의 데이터와 같은, 데이터의 임의의 다른 피스와 구별하는 고유한 이름에 속해 있다. 이 고유한 이름은 네트워크 디바이스가 고유한 이름을 나타내는 요청 또는 관심을 퍼뜨림으로써 데이터를 요청하도록 허용하고, 네트워크 디바이스는 데이터의 저장 위치, 네트워크 위치, 애플리케이션, 및 전달 수단으로부터 독립적인 데이터를 얻을 수 있다. 다음 용어들은 NDN 아키텍처의 요소들을 설명한다:
콘텐트 객체: 고유한 이름에 속하는 이름 기반 데이터의 단일 피스. 콘텐트 객체들은 "지속적이고(persistent)", 이는 콘텐트 객체가 계산 디바이스 내에서, 또는 상이한 계산 디바이스들에 걸쳐 이동할 수 있지만, 변하지 않음을 의미한다. 콘텐트 객체의 임의의 구성요소가 변하면, 그 변화를 행한 개체는 업데이트된 콘텐트를 포함하는 새로운 콘텐트 객체를 생성하고, 새로운 콘텐트 객체를 새로운 고유한 이름에 결속시킨다.
고유 이름들: NDN에서의 이름은 전형적으로 위치 독립적이고 콘텐트 객체를 고유하게 식별한다. 데이터-포워딩 디바이스는, 콘텐트 객체에 대한 네트워크 어드레스 또는 물리적 위치에 상관 없이, 패킷을 콘텐트 객체를 생성하거나 저장하는 네트워크 노드를 향해 포워딩하기 위해 이름 또는 이름 접두부를 사용할 수 있다. 일부 실시예들에서, 이름은 계층적으로 구조화된 가변-길이 식별자(HSVLI)일 수 있다. HSVLI는 다양한 방식들로 구조화될 수 있는 몇몇 계층적 구성요소들로 분할될 수 있다. 예를 들면, 개별적인 이름 구성요소들(parc, home, ndn, 및 test.txt)은 이름("/parc/home/ndn/test.txt")을 형성하기 위해 좌측-지향 접두부-상위 방식으로 구조화될 수 있다. 따라서, 이름("/parc/home/ndn")은 "/parc/home/ndn/test.txt"의 "부모(parent)" 또는 "접두부"일 수 있다. 부가적인 구성요소들은 공동 문서와 같은, 콘텐트 아이템의 상이한 버전들 사이를 구별하기 위해 사용될 수 있다.
일부 실시예들에서, 이름은 콘텐트 객체의 데이터(예로서, 검사합(checksum))로부터 및/또는 콘텐트 객체의 이름의 요소들로부터 얻어지는 해시 값과 같은, 식별자를 포함할 수 있다. 해시-기반 이름의 설명은 미국 특허 출원 번호 제 13/847,814 호(발명자 Ignacio Solis에 의해 2013년 3월 20일에 출원된, 발명의 명칭이 "이름-기반 패킷 포워딩에 대한 순서화된-요소 네이밍(ORDERED-ELEMENT NAMING FOR NAME-BASED PACKET FORWARDING)"인)에 설명된다. 이름은 또한 플랫 라벨(flat label)일 수 있다. 이하에, "이름"은 계층적 이름 또는 이름 접두부, 플랫 이름, 고정된-길이 이름, 임의의 길이 이름, 또는 라벨(예로서, 다중프로토콜 라벨 스위칭(MPLS) 라벨)과 같은, 이름-데이터 네트워크에서 데이터의 피스에 대한 임의의 이름을 언급하기 위해 사용된다.
관심: 데이터의 피스에 대한 요청을 나타내고, 데이터의 피스에 대한 이름(또는 이름 접두부)을 포함하는 패킷. 데이터 소비자는 정보-중심 네트워크에 걸쳐 요청 또는 관심을 퍼뜨릴 수 있고, 상기 정보-중심 네트워크의 NDN 라우터들은 요청 또는 관심을 만족시키기 위해 요청된 데이터를 제공할 수 있는 저장 디바이스(예로서, 캐시 서버) 또는 데이터 생성기를 향해 전파할 수 있다.
일부 실시예들에서, NDN 또는 ICN 시스템은 콘텐트-중심 네트워킹(CCN) 아키텍처를 포함할 수 있다. 그러나, 본 명세서에 개시된 방법들은 또한 다른 ICN 아키텍처들에도 적용가능하다. CCN 아키텍처의 설명은 미국 특허 출원 번호 제 12/338,175 호(발명자들 Van L. Jacobson 및 Diana K. Smetters에 의해 2008년 12월 18일에 출원된, 발명의 명칭이 "콘텐트 중심 네트워크에서의 관심들 및 콘텐트의 확산의 제어(CONTROLLING THE SPREAD OF INTERESTS AND CONTENT IN A CONTENT CENTRIC NETWORK)"인)에 설명된다.
일부 실시예들에서, 라우터는, 그 이름이 다수의 캐싱된 콘텐트 객체들과 연관되는 관심을 수신하고, 다수의 캐싱된 콘텐트 객체들로부터 가장 높은 순위 값을 갖는 캐싱된 콘텐트 객체를 선택한다. 라우터는 그 다음, 관심을 만족시키기 위해 선택된 캐싱된 콘텐트 객체를 리턴시킨다.
일부 실시예들에서, 라우터는 콘텐트 객체가 새로운 콘텐트 객체라고 결정할 수 있고, 최대 순위 값을 콘텐트 객체에 할당한다. 라우터는 예를 들면, 콘텐트 객체가 관심을 만족시키기 위해 리턴되지 않았다고 결정함으로써, 및/또는 배제가 콘텐트 객체에 대해 수신되지 않았다고 결정함으로써 콘텐트 객체가 새로운 콘텐트 객체라고 결정할 수 있다.
일부 실시예들에서, 라우터는 미리 결정된 배제 패턴들의 세트로부터 콘텐트 객체에 순위를 매기기 위한 하나 이상의 배제 패턴들을 선택한다. 미리 결정된 배제 패턴들의 세트는 배제-레이트 패턴(exclusion-rate pattern), 시간 분포 패턴(time distribution pattern), 및/또는 배제-인터페이스 패턴(excluding-interfaces pattern)을 포함할 수 있다. 배제-레이트 패턴은 콘텐트 객체가 배제들을 수신한 레이트에 기초하여 콘텐트 객체에 순위를 매긴다. 시간 분포 패턴은 콘텐트 객체가 배제를 수신한 이래로 경과된 시간에 기초하여 콘텐트 객체에 순위를 매긴다. 배제-인터페이스 패턴은 콘텐트 객체가 배제들을 수신한 로컬 인터페이스들의 일부에 기초하여 콘텐트 객체에 순위를 매긴다.
일부 실시예들에서, 순위 값을 계산하는 동안, 라우터는 콘텐트 객체에 대한 배제들의 세트에 기초하여, 각각의 배제 패턴에 대한 인자를 계산한다. 라우터는 그 다음, 각각의 배제 패턴에 대한 개별적인 인자들에 기초하여, 전체 인자(F)를 계산하고, 전체 인자(F)를 사용하여 순위 값을 계산한다.
이들 실시예들에 대한 일부 변형들에서, 순위 값을 계산하는 동안, 라우터는:
Figure pat00001
을 계산한다.
여기서,
Figure pat00002
는 콘텐트 객체에 대한 순위 값을 표시하고, t는 캐시에서의 콘텐트 객체의 수명을 표시한다.
도 1은 일 실시예에 따라 관심을 만족시키기 위해 가장 높은 순위의 캐싱된 콘텐트 객체를 선택하는 것을 가능하게 하는 일 예시적인 네트워크 환경을 도시한 도면.
도 2a는 일 실시예에 따라 일 예시적인 관심을 도시한 도면.
도 2b는 일 실시예에 따라 일 예시적인 콘텐트 객체를 도시한 도면.
도 3은 일 실시예에 따라 관심을 처리하기 위한 방법을 도시하는 흐름도.
도 4는 일 실시예에 따라 콘텐트 객체의 순위 값을 업데이트하기 위한 방법을 도시하는 흐름도.
도 5는 일 실시예에 따라 캐싱된 콘텐트 객체에 대한 순위 값을 계산하기 위한 방법을 도시하는 흐름도.
도 6a 및 도 6b는 일 실시예에 따라 예시적인 콘텐트 객체들의 세트에 대한 순위 값들을 도시한 도면들.
도 7은 일 실시예에 따라 관심을 만족시키기 위해 가장 높은 순위의 캐싱된 콘텐트 객체를 선택하는 것을 가능하게 하는 일 예시적인 장치를 도시한 도면.
도 8은 일 실시예에 따라 관심을 만족시키기 위해 가장 높은 순위의 캐싱된 콘텐트 객체를 선택하는 것을 가능하게 하는 일 예시적인 컴퓨터 시스템을 도시한 도면.
도면들에서, 유사한 도면 부호들은 동일한 도면 요소들을 언급한다.
다음 설명은 당업자가 실시예들을 만들고 사용하는 것을 가능하게 하기 위해 제공되고, 특정한 애플리케이션 및 그것의 요구조건들의 맥락으로 제공된다. 개시된 실시예들에 대한 다양한 수정들은 당업자들에게 용이하게 명백할 것이고, 본 명세서에 정의된 일반적인 원리들은 본 발명의 사상 및 범위를 벗어나지 않고 다른 실시예들 및 애플리케이션들에 적용될 수 있다. 따라서, 본 발명은 도시된 실시예들로 제한되지 않지만, 본 명세서에 개시된 원리들 및 특징들과 일치하는 가장 넓은 범위와 부합되어야 한다.
본 발명의 실시예들은 라우터 캐시들에 통계적 콘텐트-순위 알고리즘을 제공함으로써 NDN에서의 콘텐트 오염 공격들을 방해하는 문제점을 해결하는 콘텐트-캐싱 시스템을 제공한다. 시스템은 관심 패킷들의 기존의 필드들로부터 수집된 통계에 기초하여 캐싱된 콘텐트 객체들에 대한 순위 값들을 계산하고, NDN 아키텍처에 대한 임의의 변화들을 요구하지 않는다.
콘텐트 오염 공격에서, 상대방(예로서, 악성 개체)은 가짜 콘텐트로 라우터의 캐시를 오염시킴으로써 서비스 거부(DoS) 공격을 수행하려고 시도한다. 유효 콘텐트 객체들은 정확한 공개 키로 생성된 검증가능한 서명을 포함한다. 따라서, 전형적인 클라이언트 디바이스는, 콘텐트 객체가 유효하지 않은 서명(예로서, 서명 검증 알고리즘은 에러를 리턴시킨다)을 갖거나, 잘못된 키(예로서, 알려진 생성기의 키를 사용하여 서명되지 않은)로 생성되는(서명되는) 유효 서명을 갖거나, 기형의 서명 필드를 가질 때 가짜 콘텐트 객체를 검출할 수 있다. 그러나, 전형적인 라우터들은 라인 속도로 서명 검증을 수행하지 않는데, 이는 그렇게 하는 것이 공개 키들을 인출하고, 파싱(parsing)하며 검증하기 위해 라우터의 처리 리소스들을 이용함으로써 그들에 부담을 줄 것이기 때문이다. 또한, 신뢰는 항상 애플리케이션-의존적이기 때문에, 반드시 라우터들(특히, 백본 라우터들)이 신뢰 관리의 세부사항에 포함되는 것은 아니다. 상대방들은 많은 이들 라우터들로 하여금 이 콘텐트의 가짜 버전들을 캐싱하고 제공하도록 함으로써 실제 데이터에 대한 액세스를 차단하기 위해 NDN 라우터들에 걸쳐 이러한 검증의 부족을 이용하려고 시도한다.
일부 실시예들에서, 라우터의 캐시는 특히, 오염 공격 동안 관심을 만족시킬 수 있는 다수의 콘텐트 객체들을 포함할 수 있다. 이 상황에서, 라우터가, 심지어 합법적인 콘텐트 객체가 캐시에 존재할 때 가짜 콘텐트 객체를 리턴시킬 수 있음이 가능하다. 클라이언트가 가짜 콘텐트 객체를 수신하면, 클라이언트는 콘텐트 객체에 대한 관심을 재발행할 수 있지만, 이 때 관심의 "배제" 필드에서의 가짜 콘텐트 객체를 식별한다. 클라이언트는, 콘텐트 객체가 다른 유효 콘텐트를 운반할지라도, 만족스럽지 못한 콘텐트 객체를 배제하기 위해 관심을 또한 재발행할 수 있다. 콘텐트-캐싱 시스템은, 클라이언트가 그것이 원하지 않음을 아는 콘텐트 객체를 리턴시키는 것을 회피하기 위해 배제 필드를 사용할 수 있다.
일부 실시예들에서, 콘텐트-캐싱 시스템은 캐싱된 콘텐트 객체에 순위를 매기기 위해 하나 이상의 배제 패턴들에 대하여 캐싱된 콘텐트 객체에 대해 수신된 배제들을 분석하고, 가짜 또는 만족스럽지 못한 콘텐트 객체들보다 높게 유효 콘텐트 객체들에 순위를 매기기 위해 그렇게 행한다. 이것은, 가장 높은 순위 값을 갖는 콘텐트 객체를 리턴시킴으로써, 콘텐트 객체를 입증하지 않고, 다수의 매칭 콘텐트 객체들이 캐시에 존재할 때 관심을 최상으로 만족시키도록 허용한다.
이하에, 용어 "가짜" 또는 "가짜 콘텐트"는 악성 개체에 의해 주입된 콘텐트 객체를 언급한다. "상대방"은 콘텐트를 네트워크에 주입할 수 있는 악성 NDN 개체(또는 악성 개체들의 공동 그룹)이다. "콘텐트 오염"은 상대방이 하나 이상의 NDN 라우터들에서 가짜 콘텐트를 라우터 캐시들에 주입하는 공격을 설명한다. 또한, "만족스럽지 못한" 콘텐트 객체는 소비자의 요구를 만족시키지 않은 다른 유효 콘텐트 객체이다.
일부 실시예들에서, 콘텐트-캐싱 시스템은 최대 순위 값(예로서, 1의 순위 값)을 각각의 새로운 콘텐트 객체들에 할당할 수 있고, 시간이 경과함에 따라, 이 순위 값은 점진적으로 감소할 수 있다. 이것은 더 오래된 콘텐트보다 더 새로운 캐싱된 콘텐트에 우선순위를 부여한다. 게다가, 특정 콘텐트 객체의 순위는 그것이 배제된 횟수, 및 그것의 시간 분포에 의존할 수 있다. 예를 들면, 콘텐트-캐싱 시스템은 더 낮은 순위를 더 적고 더 오래된 배제들을 갖는 콘텐트 객체에 보다, 많은 최근의 배제들을 갖는 콘텐트 객체들에 할당할 수 있다. 이것은 콘텐트 객체의 콘텐트 또는 버전(예로서, 더 오래된 콘텐트 버전)에 만족하지 않은 클라이언트들로부터 시간에 따라 더 적은 배제들을 수신할 수 있는 덜-바람직하지만, 유효 콘텐트 객체들을 차단하는 것으로부터 보호한다. 한편, 콘텐트-캐싱 시스템은 다수의 인터페이스들 상에 도달하는 관심들에 의해 배제된 콘텐트 오브젝트를 패널라이즈(penalize)하는데, 이는 이러한 시나리오가 콘텐트 객체에 무언가 잘못될 더 높은 가능성을 나타내기 때문이다.
도 1은 일 실시예에 따라 관심을 만족시키기 위해 가장 높은 순위의 캐싱된 콘텐트 객체를 선택하는 것을 가능하게 하는 일 예시적인 네트워크 환경(100)을 도시한다. 구체적으로, 네트워크 환경(100)은 데이터 이름 기반 네트워크(NDN)(102)를 포함할 수 있고, 상기 데이터 이름 기반 네트워크(NDN)의 멤버 디바이스들은 콘텐트 생성기(106), 개인용 계산 디바이스(108), 및 NDN(102)에 걸쳐 관심들 및 콘텐트 객체들을 포워딩할 수 있는 하나 이상의 NDN 라우팅 노드들(104)을 포함할 수 있다. 패킷들이 통신의 종점에 대한 네트워크 어드레스에 기초하여 포워딩되는 인터넷 프로토콜(IP) 네트워크들과 달리, NDN(102)은 어떤 종점 디바이스가 콘텐트를 호스팅하는지에 상관없이, 콘텐트의 피스에 대한 이름에 기초하여 인터넷 패킷들을 포워딩한다. NDN에 2가지 유형들의 패킷들이 존재한다: 관심들 및 콘텐트 객체들. NDN 통신은 풀 모델(pull model)에 따르고, 여기서 콘텐트 객체는 명시적 요청 시에 소비자들에게 전달된다. 용어들 콘텐트 객체, 콘텐트 패킷, 및 콘텐트는 이하에 상호교환적으로 사용된다.
따라서, NDN(102)은 종점에 대한 목적지 어드레스에 기초하여 패킷들을 포워딩하지 않는다. 오히려, 임의의 NDN 노드(예로서, 콘텐트 생성기(106))는 콘텐트 객체들을 호스팅하고 제공할 수 있다. 생성기에서 기인한(Producer-originated) 콘텐트 서명들은 클라이언트(108)가 이 콘텐트 객체를 제공받는 NDN 노드에 상관없이, 수신된 콘텐트 객체를 인증하도록 허용한다. 상기 언급된 바와 같이, 소비자들은 콘텐트 서명들을 검증해야하는 반면에, 라우터들은 계산적으로 비쌀 수 있는 서명 검증을 포기할 수 있다.
클라이언트(108)(예로서, 콘텐트 소비자)는 콘텐트 객체에 대한 이름 또는 이름 접두부를 규정하는 관심 패킷을 발행함으로써 콘텐트 객체를 요청할 수 있다. 콘텐트 이름은 네트워크에 불분명한 하나 이상의 가변-길이 이름 구성요소들로 구성된다. NDN 노드가 관심을 "만족시키는" 콘텐트 객체를 저장하거나 생성할 수 있으면, 이 NDN 노드는 콘텐트 객체를 리턴시킨다. 그러나, 라우팅 노드(104)가, 이름(n)에 대해 어떠한 미결(pending) 관심도 존재하지 않을 때 그 이름을 갖는 콘텐트 객체를 수신하면, 라우팅 노드는 콘텐트 객체를 "요청되지 않은" 것으로서 해석하고 콘텐트 객체를 폐기한다.
콘텐트 생성기(106)는 콘텐트를 생성하고 공개(뿐만 아니라, 서명)하는 임의의 디바이스를 포함할 수 있고, 클라이언트(108)(예로서, 소비자)는 콘텐트에 대한 관심을 발행하는 임의의 디바이스를 포함할 수 있다. 라우팅 노드들 및 에지 노드들(104)은 관심의 이름과 연관된 콘텐트 생성기를 향해 관심을 라우팅하고, 관심을 퍼뜨린 클라이언트를 향해 대응하는 콘텐트 객체를 포워딩하는 임의의 라우터를 포함할 수 있다. 콘텐트 생성기(106) 및/또는 클라이언트 디바이스(108)가 랩톱 컴퓨터, 태블릿 또는 슬레이트 컴퓨터(slate computer), 스마트폰, 또는 개인 휴대용 정보 단말기(personal digital assistant; PDA)와 같은, 모바일 계산 디바이스, 또는 데스크톱 컴퓨터 또는 홈 매체 서버와 같은, 고정형 계산 디바이스를 포함하는, 임의의 유형의 계산 디바이스일 수 있음에 주의한다.
일부 실시예들에서, CCN 노드들(104)은 포워딩 정보 베이스(forwarding information base; FIB) 및 미결 관심 테이블(pending Interest table; PIT)을 포함할 수 있다. FIB는 이름 접두부들의 라우팅 테이블 및 관심들을 포워딩하기 위해 사용될 수 있는 대응하는 발신 인터페이스(outgoing interface)들을 포함한다. PIT는 미해결(미결) 관심들의 테이블, 및 이들 관심들과 연관된 대응하는 수신 및 발신 인터페이스들의 세트를 포함한다. 또한, 일부 CCN 노드들(예로서, 에지 노드들(104-1 내지 104-3))은 관심들을 만족시키기 위해 사용될 수 있는 콘텐트 객체들을 캐싱하기 위한 캐시 또는 콘텐트 저장소(CS)를 포함할 수 있다. 라우팅 노드(104)에 대한 CS 캐시 크기는 라우팅 노드(104)에서 이용가능한 리소스들에 의존한다. 각각의 라우팅 노드(104)는 어떤 콘텐트를 얼마나 오래 동안 캐싱할 것인지를 독립적으로 결정한다. 일부 실시예들에서, 콘텐트 객체는, CS가 콘텐트 객체를 내보낼 시간을 결정하기 위해 사용될 수 있는, 캐싱된 콘텐트 객체에 대한 타임아웃(timeout)을 규정하는 "프레쉬니스(freshness)" 필드를 포함한다. 관심의 수신 시에, 라우팅 노드는 먼저, 라우팅 노드가 이 관심을 국부적으로 만족시킬 수 있는지의 여부를 결정하기 위해 그것의 CS를 확인한다.
한편, 콘텐트 생성기(106)는 FIB와 PIT 및, 콘텐트 생성기(106)에 의해 호스팅된 콘텐트 객체들의 컬렉션(collection)을 저장하는(예로서, 영구적으로 또는 장기간 동안) 저장소를 포함할 수 있다. 디바이스(108)는 FIB 및 PIT를 포함할 수 있고, 영구적인 콘텐트 객체들을 저장하기 위한 CS 뿐만 아니라, 하나 이상의 저장소들을 포함할 수 있다.
일부 실시예들에서, 악성 개체는 클라이언트(108)에 의해 퍼진 관심들에 대한 이름(n)을 예상함으로써 NDN(102)에 걸쳐 콘텐트 오염 공격을 수행하려고 시도할 수 있다. 이 악성 개체는 에지 노드(104.1)가 로컬 CS로부터 유효 콘텐트 객체를 리턴시키지 못하게 하기 위해, 그리고 유효 매칭 콘텐트 객체가 CS에 존재하지 않을 때 에지 노드(104.1)가 콘텐트 생성자(106)를 향해 관심을 포워딩하지 못하게 하기 위해 에지 노드(104.1)에서 이름(n)의 가짜 콘텐트를 주입할 수 있다. 악성 개체는 손상된 라우터들 또는 다른 악성/손상된 노드들을 통해 가짜 콘텐트를 네트워크에 주입할 수 있다. 예를 들면, 상대방은, 악성 소비자(Cm) 및 악성 생성자(Pm)가 라우터(104.1)의 상이한 인터페이스들에 접속될 수 있도록, 특정 라우터(104.1)를 타겟팅(targeting)한 Cm 및 Pm으로 구성될 수 있다. 공격을 수행하기 위해, 악성 소비자(Cm)는 이름(n)을 가지는 관심을 전송하고, 일단 라우터(104.1)가 이 관심을 수신하며 관심에 대한 PIT 엔트리를 생성하면, 생성자(Pm)는 즉시 캐싱되는 가짜 콘텐트 객체를 라우터(104.1)로 전송한다. 결과로서, 진짜 관심들의 도착을 위한 준비를 하는 라우터(104.1)는 가짜 콘텐트로 사전-오염된다. 악성 생성자(Pm)는 공격의 수명을 최대화하기 위해 가짜 콘텐트의 프레쉬니스를 최대 값으로 설정할 수 있다.
도 2a는 일 실시예에 따라 일 예시적인 관심(200)을 도시한다. 구체적으로, 관심(200)은 적어도 이름 필드(202), MinSuffixComponents 필드(204), MaxSuffixComponents 필드(206), 및 배제 필드(208)를 포함할 수 있다. 이름 필드(202)는 명시적 이름 구성요소들의 시퀀스를 포함하는, 콘텐트 객체 또는 콘텐트의 컬렉션에 대한 이름 또는 이름 접두부를 포함한다. 이름 필드(202)는 원하는 콘텐트 객체의 암시된 요약 구성요소(예로서, 해시 값)를 또한 포함할 수 있고, 상기 암시된 요약 구성요소는 원하는 콘텐트 객체에 대한 고유 이름을 효과적으로 제공한다. 그러나, 요약 구성요소는 일부 관심 패킷들에 존재할 필요는 없는데, 이는 NDN이 콘텐트 객체에 대한 관심을 생성하거나 퍼뜨리기 전에 콘텐트 객체의 해시를 학습하기 위해 보안 메커니즘을 소비자 노드들에 제공하지 않는다.
MinSuffixComponents(204)는 매칭 콘텐트 객체에서 발생하도록 허용되는, 이름에 규정된 것들을 초과하는 이름 구성요소들의 최소 수를 규정한다. MaxSuffixComponents(206)는 매칭 콘텐트에서 발생하도록 허용되는, 이름에 규정된 것들을 초과하는 이름 구성요소들의 최고 수를 규정한다. MinSuffixComponents(204) 및 MaxSuffixComponents(206) 필드들은 가장 긴-접두부 매칭 검색을 수행하는 것을 가능하게 한다.
배제 필드(208)는 리턴된 콘텐트 객체의 이름에서 발생하지 않아야 하는 이름 구성요소들에 관한 정보를 포함한다. 일부 실시예들에서, 배제 필드(208)는 특정 콘텐트 객체의 해시에 기초하여 상기 특정 콘텐트 객체를 배제하기 위해 사용될 수 있고, 상기 해시는 각각의 콘텐트 이름의 암시적인, 마지막 구성요소인 것으로 고려된다.
도 2b는 일 실시예에 따라 일 예시적인 콘텐트 객체(250)를 도시한다. 콘텐트 객체(250)는 이름 필드(252), 프레쉬니스 필드(254), 페이로드(256), 및 서명 필드(258)를 포함할 수 있다. 관심(200)과 유사하게, 이름(252)은 콘텐트 객체(250)에 대한 이름 접두부 및 콘텐트 객체(250)의 요약과 같은, 명시적 이름 구성요소들의 시퀀스를 포함하는, 콘텐트 객체(250)에 대한 이름을 포함한다.
프레쉬니스(252)는 콘텐트 생성기가, 콘텐트 객체(250)가 캐싱되어야 함을 권고하는 시간 지속기간을 포함한다. NDN 라우터들은, 콘텐트 객체(250)가 프레쉬니스 필드(252)에 규정된 시간 지속기간을 초과했을 때 캐시로부터 상기 콘텐트 객체를 내보내기로 결정할 수 있고/있거나 임의의 다른 로컬 기준들을 사용하여 콘텐트 객체(250)를 내보내기로 결정할 수 있다. 페이로드(256)는 이름(252)과 연관된 콘텐트를 포함한다.
서명(258)은 이름(252)의 모든 명시적 구성요소들, 콘텐트 객체(250)의 하나 이상의 필드들(예로서, 프레쉬니스(254), 및 페이로드(256)를 포함하는, 콘텐트 객체(250)에 기초하여 콘텐트 객체(250)의 공개자 또는 콘텐트 생성기에 의해 생성될 수 있는 공개 키 서명을 포함할 수 있다. 서명(258)은, 소비자가 콘텐트 객체(250)를 검증하기 위해 사용할 수 있는 공개 키에 대한 참조(예로서, 공개 키의 NDN 이름에 의해 참조된)을 또한 포함할 수 있다.
일부 실시예들에서, 각각의 생성기는 공개 키를 발행한 신뢰된 개체(예로서, 인증 기관(CA))에 의해 서명된 진짜(bona fide)인 것으로 명명된 콘텐트 객체로서 표현된, 적어도 하나의 공개 키를 가질 수 있다. 공개 키 콘텐트 객체의 이름은 전형적으로 그것의 마지막 명시적 구성요소로서 "키" 구성요소를 포함할 수 있다. 예를 들면, 이름 접두부("/ndn/GothamGazette/PublishedContent")와 연관된 하나 이상의 콘텐트 객체들에 대한 키는 이름("/ndn/GothamGazette/PublishedContent/key")을 갖는 키에 의해 서명될 수 있다. 게다가, 서명(258)이 (단지 검증가능한 것이 아닌) 유효한 것이 되도록 하기 위해, 마지막 명시적 구성요소가 없는 공개 키(그의 개인적인 대응은 콘텐트 객체(250)에 서명하기 위해 사용된다)의 이름은 콘텐트 객체(250)에 대한 이름(252)의 접두부를 형성할 필요가 있다. 예를 들면, 키("/ndn/GothamGazette/PublishedContent/key")는 "/ndn/GothamGazette/PublishedContent/Sports/Headlines"로 명명된 콘텐트 객체에 대해 유효하지만, 이름 접두부("/ndn/GothamGazette/Paywall/Content/") 하의 콘텐트 객체들에 대해 유효하지 않다.
도 3은 일 실시예에 따라 관심을 처리하기 위한 방법(300)을 도시하는 흐름도를 제공한다. 동작 동안, 라우터(또는 임의의 NDN 디바이스)는 콘텐트 객체에 대한 이름 또는 이름 접두부를 규정하는 관심을 수신할 수 있다(동작(302)). 라우터는 관심을 만족시키는 하나 이상의 콘텐트 객체들을 식별하기 위해 로컬 캐시 또는 콘텐트 저장소(CS)에서 가장 긴-접두부-매칭 검색 동작을 수행한다(동작(304)). 동일한 이름 또는 이름 접두부, 및 상이한 페이로드들을 갖는 다수의 콘텐트 객체들과 같은, 다수의 매칭 콘텐트 객체들이 존재할 수 있다. 따라서, 라우터는 캐시 또는 CS에 존재하는 매칭 콘텐트 객체들의 수를 결정한다(동작(306)).
어떠한 매칭 콘텐트 객체들도 존재하지 않으면, 라우터는 관심의 이름과 연관된 인터페이스를 선택하기 위해 포워딩 정보 베이스(FIB)에서 가장 긴-접두부-매칭 검색을 수행함으로써(동작(308)), 그리고 선택된 인터페이스를 통해 관심을 포워딩함으로써(동작(310)) NDN에 걸쳐 관심을 포워딩할 수 있다. 한편, 정확하게 하나의 매칭 콘텐트 객체가 존재하면, 라우터는, 관심이 도달한 인터페이스를 결정함으로써(예로서, 미결 관심 테이블(PIT)에서 검색 동작을 수행함으로써(동작(312)), 그리고 이 인터페이스를 통해 매칭 콘텐트 객체를 리턴시킴으로써(동작(314)) 관심을 만족시키기 위해 매칭 콘텐트 객체를 리턴시킬 수 있다.
그러나, 다수의 매칭 콘텐트 객체들이 존재하면, 라우터는 어떤 콘텐트 객체가 콘텐츠 객체를 리턴시키기 전에 이 관심을 최상으로 만족시킬 수 있는지에 관해 결정한다. 예를 들면, 라우터는 매칭 콘텐트 객체들 각각에 대한 순위를 결정할 수 있고(동작(316)), 매칭 콘텐트 객체들의 세트로부터 가장 높게 순위가 매겨진 콘텐트 객체를 선택한다(동작(318)). 라우터는 그 다음, 관심이 도달한 인터페이스를 결정하고(동작(320)), 이 인터페이스를 통해 가장 높게 순위가 매겨진 콘텐트 객체를 리턴시킨다(동작(322)).
일부 실시예들에서, 라우터는 캐싱된 콘텐트 객체들에 순위를 매겨서 유효 콘텐트 객체들이 가짜 또는 악성 콘텐트 객체들보다 높은 순위 값을 갖도록 한다. 순위 값은 범위[0, 1]와 같은, 미리 결정된 범위 내의 숫자 값이다. 모든 캐싱된 콘텐트는 가장 높은 가능한 값(예로서, 1의 순위 값)으로 시작하고, 시간에 따라 미리 결정된 범위 내에서 감소하고/하거나 증가할 수 있다. 이것은 더 오래된 콘텐트들보다 더 새로운 캐싱된 콘텐트들에 우선순위를 부여한다. 게다가, 특정 콘텐트의 순위는, 콘텐트 객체가 배제될 때, 그리고 인터페이싱하는 관심에 의해 상기 콘텐트 객체가 배제된 횟수와 같은, 하나 이상의 배제 패턴들에 의존한다.
도 4는 일 실시예에 따라 콘텐트 객체의 순위 값을 업데이트하기 위한 방법(400)을 도시하는 흐름도를 제공한다. 동작 동안, 캐시-처리 시스템(예로서, 캐시를 갖는 라우터 또는 임의의 NDN 디바이스)은 순위 값을 계산하기 위한 콘텐트 객체를 선택할 수 있다(동작(402)). 일부 실시예들에서, 각각의 고유 콘텐트 객체는 콘텐트 객체의 이름(n), 및 요약(H(C))의 조합에 의해 식별된다. 따라서, 각각의 고유 콘텐트 객체는 이하에 콘텐트 객체의 이름 및 요약의 연결(concatenation): n|H(C)로서 표시된다.
시스템은 그 다음, 이 콘텐트 객체가 새로운 콘텐트 객체인지를 결정한다(동작(404)). 일부 실시예들에서, 콘텐트 객체가 과거에 캐싱되지 않았으면, 콘텐트 객체의 현재 인스턴스(instance)(및/또는 임의의 이전 인스턴스)가 관심을 만족시키기 위해 사용되지 않았으면, 및/또는 콘텐트 객체의 현재 인스턴스(및/또는 임의의 이전 인스턴스)가 배제를 수신하지 않았으면, 콘텐트 객체(n|H(C))는 새로운 것으로 고려된다.
콘텐트 객체가 새로운 것이면, 시스템은 미리 결정된 초기 순위 값을 콘텐트 객체에 할당한다(동작(406)). 일부 실시예들에서, 이 미리 결정된 초기 순위 값은 허용가능한 순위 값들의 범위에서 가장 높은 가능한 순위 값이다(예로서, 순위 값 범위[0, 1]에서 최대 값(1)). 시스템은 그 다음, 예를 들면, 콘텐트 객체와 연관되는 순위 값을 데이터베이스에 또는 캐시(예로서, 콘텐트 저장소)에 저장한다(동작(408)).
그러나, 콘텐트 객체가 새롭지 않으면, 시스템은 콘텐트 객체에 대한 이력 사용 정보를 분석할 수 있고(동작(410)), 상기 이력 사용 정보는 콘텐트 객체의 이름, 관심들이 수신된 인터페이스들, 및 이들 관심들에 나열된 배제들을 포함하는 과거에 수신된 이들 관심들에 관한 정보를 포함할 수 있다. 시스템은 그 다음, 예를 들면, 선택된 콘텐트 객체의 요약(예로서, 해시 값)을 명시적으로 규정하는 배제들을 선택하고, 선택된 콘텐트 객체의 요약을 규정하지 않은 배제들을 무시함으로써, 선택된 콘텐트 객체에 대해 수신된 배제들의 세트를 결정한다(동작(412)). 일부 실시예들에서, 배제들은 콘텐트 객체의 현재 인스턴스를 위한 것이다. 이들 실시예들에 대한 일부 변형들에서, 배제들은 예를 들면, 콘텐트 객체의 이전 인스턴스가 캐시 또는 CS로부터 내보내지기 전 또는 내보내진 후에 동일한 콘텐트 객체의 이전 인스턴스에 대해 수신된 배제들을 또한 포함할 수 있다.
시스템은 그 다음, 배제들의 세트 및 하나 이상의 배제 패턴들에 기초하여 콘텐트 객체에 대한 업데이트된 순위 값을 계산하고(동작(414)), 콘텐트 객체와 연관되는 순위 값을 저장한다(동작(408)). 일부 실시예들에서, 이들 배제 패턴들은, 콘텐트 객체가 주어진 시간 윈도우 내에서 배제된 복수의 횟수들(예로서, 배제 레이트), 이들 배제들에 대한 시간 분포, 및 배제를 발행한 관련 인터페이스들의 비(예로서, 배제-인터페이스 비)를 포함할 수 있다.
도 5는 일 실시예에 따라 캐싱된 콘텐트 객체에 대한 순위 값을 계산하기 위한 방법(500)을 도시하는 흐름도를 제공한다. 동작 동안, 시스템은 고려할 하나 이상의 배제 패턴들을 선택할 수 있다(동작(502)). 일부 실시예들에서, 가능한 배제 패턴들의 세트는 "배제 레이트", "시간 분포", 및 "배제-인터페이스 비"를 포함할 수 있다. "배제 레이트" 패턴은 콘텐트 객체가 주어진 시간 윈도우 내에서 배제된 복수의 횟수들을 설명하고, "시간 분포" 패턴은 이들 배제들에 대한 시간 분포를 설명하며, "배제-인터페이스 비"는 배제를 발행한 관련 인터페이스들의 비를 설명한다.
시스템이 배제 레이트를 설명하고 있으면(동작(504)), 시스템은 콘텐트 객체에 대한 배제-레이트 인자(α)를 계산하고(동작(506)), 배제-레이트 인자를 전체 인자(F)에 통합시킨다(동작(508)). 예를 들면, 전체 인자(F)는 하나 이상의 인자들({F1, F2,...Fm})의 곱일 수 있다.
배제-레이트 인자(α)를 계산하기 위해, 시스템은 먼저 콘텐트 객체(n|H(C))에 대한 복수의 배제들(E)(이하에, En|H(C)로서 표시된)을 결정한다. 시스템은 (예로서, 시스템이 이름 또는 이름 접두부(n)를 포함하는 임의의 콘텐트 객체들에 대해 수신한 관심들에 기초하여) n|H(C)에 대한 배제를 포함하는 복수의 관심들을 결정함으로써 En|H(C)를 결정할 수 있다.
시스템은 콘텐트 객체(C)에 대한 총 수의 요청들(Qn)을 또한 결정한다(예로서, 요약(H(C))을 갖거나 상기 요약이 없는, 그들 이름이 n을 포함하는 수신된 관심들에 기초하여). 시스템은 그 다음:
Figure pat00003
(1)을 계산함으로써 배제 레이트(Rn|H(C))를 계산할 수 있다.
시스템은 그 다음:
Figure pat00004
(2)를 계산함으로써 배제-레이트 인자(α)를 계산할 수 있다. 표현(2)에서, 배제 레이트(α)는 시간(t□)(예로서, 콘텐트 객체(n|H(C))가 캐시에 부가된 시간)에서의 배제 레이트에 의존함을 주의한다.
일부 실시예들에서, 시스템은 순위 저하 패턴에 대한 모델에 기초하여 αt□를 결정할 수 있다:
Figure pat00005
(3)
표현(3)에서, t는 캐시에서의 콘텐트 객체(n|H(C))의 수명이고,
Figure pat00006
은 콘텐트 객체가 캐시에 부가된 이래로 경과된 시간이다(예로서, 콘텐트 프레쉬니스). 따라서, 시스템은
Figure pat00007
(4)를 계산함으로써 αt□를 계산할 수 있다. 표현(4)에서,
Figure pat00008
은 콘텐트 객체가 캐시에 부가되었을 때 상기 콘텐트 객체에 할당된 순위 값이다(예로서, 최대 순위 값).
시스템이 시간 분포를 설명하고 있으면(동작(516)), 시스템은 콘텐트 객체에 대한 영향 인자(
Figure pat00009
)를 계산하고(동작(518)), 영향 인자를 전체 인자(F)에 통합시킨다(동작(520)). 영향 인자(
Figure pat00010
)를 계산하기 위해, 시스템은
Figure pat00011
(5)를 계산할 수 있다. 표현(5)에서, te는 마지막 배제가 콘텐트 객체(n|H(C))에 대해 수신된 이래로 경과된 시간을 표시하고, β는 콘텐트 객체에 대한 최근의 배제의 효과가 얼마나 빨리 시간에 따라 저하되는지를 반영하는 인자이다.
일부 실시예들에서, 영향 인자는 범위(
Figure pat00012
∈[0, 1])를 갖고, 여기서 최근의 배제가 콘텐트 객체의 순위에 대해 최소 효과를 가질 때,
Figure pat00013
=1이다. 더 큰 β는, 배제가 콘텐트 객체의 순위에 대해 최소 효과를 갖기 전에 더 많은 시간이 경과하도록 요구한다. 따라서, 시스템 관리자는 이 최대 경과된 시간을 tmw로서 미리 구성할 수 있고, 시스템은 t=tmw로 설정하고
Figure pat00014
=1로 설정함으로써 β를 계산할 수 있다.
시스템이 배제-인터페이스 비를 설명하고 있으면(동작(510)), 시스템은 콘텐트 객체에 대한 배제-인터페이스 인자(
Figure pat00015
)를 계산하고(동작(512)), 배제-인터페이스 인자를 전체 인자(F)에 통합시킨다(동작(514)). 시스템은
Figure pat00016
(6)을 계산함으로써 배제-인터페이스 인자(
Figure pat00017
)를 계산한다. 표현(6)에서, fs는 라우터가 이전에 콘텐트 객체(n|H(C))를 제공한 인터페이스들의 수이고, 범위(
Figure pat00018
)를 가지며, 여기서 fn는 라우터의 인터페이스들의 총 수이다. 또한, fe는 라우터가 콘텐트 객체(n|H(C))를 배제하는 관심들을 수신한 인터페이스들의 수이고, 범위(
Figure pat00019
)를 갖는다. 일부 실시예들에서, fe는 0의 값을 가질 수 없는데, 이는 존재할 순위에 대해, 라우터가 관심을 수신할 필요가 있었고 적어도 하나의 인터페이스 상에 콘텐트 객체를 제공할 필요가 있었기 때문이다.
일부 실시예들에서,
Figure pat00020
이고, 여기서,
Figure pat00021
은, 라우터가 콘텐트 객체(n|H(C))에 대한 배제를 수신하지 않았음을 나타낸다. fe가 fs를 초과하는 것이 가능하고, 이는 라우터가, 콘텐트 객체(n|H(C))의 현재 인스턴스를 제공하지 않은 인터페이스 상의 콘텐트 객체를 배제하는 관심을 수신할 때 발생할 수 있다. 이것은 예를 들면, 이전에 콘텐트 객체(n|H(C))를 소비한 클라이언트 디바이스가 새로운 네트워크 위치로 이동했을 때, 네트워크 토폴로지에 걸친 라우팅 변화들, 및/또는 콘텐트 객체의 캐시 대체로 인해 발생할 수 있다. 캐시 대체는, 콘텐트 객체(n|H(C))의 이전 인스턴스가 클라이언트에 의해 이전에 요청되었고, 라우터에 의해 캐싱되었으며(예로서, 관심을 공개자로 포워딩한 후에), 이후에 캐시로부터 유실되었을 때 발생할 수 있다. 표현(6)이 배제-인터페이스 인자(
Figure pat00022
)를 fe>fs일 때 1까지 그 한도를 정함에 주의한다.
일단 시스템이 하나 이상의 선택된 배제 패턴들을 설명했으면, 시스템은 전체 인자(F)에 기초하여 콘텐트 객체의 순위 값을 계산한다(동작(522)). 예를 들면, 시스템은
Figure pat00023
(7)을 계산함으로써 순위 값을 계산할 수 있다. 표현(7)에서, t는 캐시에서의 콘텐트 객체(n|H(C))의 수명이고,
Figure pat00024
은 콘텐트 객체가 캐시에 부가된 이래로 경과된 시간이다(예로서, 콘텐트 프레쉬니스).
예를 들면, 시스템이 단지 배제 레이트를 설명하고 있으면, 전체 인자(F)는
Figure pat00025
(8)이 된다. 따라서, 콘텐트 객체의 순위는
Figure pat00026
(9)가 된다.
또 다른 예로서, 시스템이 배제 레이트 및 시간 분포를 설명하고 있으면, 전체 인자(F)는
Figure pat00027
(10)이 된다. 따라서, 콘텐트 객체의 순위는
Figure pat00028
(11)이 된다.
게다가, 시스템이 3개의 모든 배제 패턴들(예로서, 배제 레이트, 시간 분포, 및 배제-인터페이스 비)을 설명하고 있으면, 전체 인자(F)는
Figure pat00029
(12)가 된다. 따라서, 콘텐트 객체의 순위는
Figure pat00030
(13)이 된다.
도 6a 및 도 6b는 일 실시예에 따라 예시적인 콘텐트 객체들의 세트에 대한 순위 값들을 도시한다. 구체적으로, 도 6a 및 도 6b는 이름(n)을 갖는 5개의 콘텐트 객체들: n|H(C1), n|H(C2), n|H(C3), n|H(C4), 및 n|H(C5)의 순위 저하 패턴들을 도시한다. 이들 순위 저하 패턴들은 라우터가 표현(13)에 따라 순위 값들을 계산하는 결과이고, 이는 캐싱된 콘텐트 객체들에 대한 배제 레이트들, 배제들의 시간 분포, 및 배제-인터페이스 비를 설명한다. 콘텐트 객체들(n|H(C1), n|H(C2), n|H(C3), n|H(C4), 및 n|H(C5))은 표 1에 따라 배제들을 수신한다.
Figure pat00031
일부 실시예들에서, 콘텐트 객체의 순위는, 라우터가 콘텐트 객체에 대한 배제를 수신할 때 매우 낮은 값으로(예로서, 0으로, 또는 0 근처로) 떨어지고, 순위는 표현(5)의 영향 인자(
Figure pat00032
)에 따라 점진적으로 다시 증가한다. 예를 들면, 도 6a에서 t<=50초일 때, n|H(C1) 및 n|H(C2) 둘 모두는 같은 순위 값들을 갖고, 이들은 콘텐트 객체들(n|H(C3), n|H(C4), 및 n|H(C5))에 대한 순위 값들보다 높다. 그러나, 콘텐트 객체(n|H(C2))의 순위는, 라우터가 하나의 인터페이스를 통해 n|H(C2)에 대한 배제를 수신한 후에, t=50초에서 n|H(C1)의 순위보다 많이 감소한다. 또 다른 예로서, 도 6b에서, 10초 간격들로 콘텐트 객체들(n|H(C3), n|H(C4), 및 n|H(C5))의 반복 패턴이 발생하는데, 이는 라우터가 매 10초 마다 이들 콘텐트 객체들에 대한 배제들을 수신하기 때문이다.
도 6b는 표현(6)의 배제-인터페이스 인자(
Figure pat00033
)에 대해 fe가 변화하는 효과를 또한 도시한다. 예를 들면, 라우터는 3개의 상이한 인터페이스들을 통해 콘텐트 객체(n|H(C5))에 대한 배제들을 수신하지만, 단지 하나의 인터페이스를 통해 콘텐트 객체(n|H(C3))에 대한(및 단지 2개의 인터페이스들을 통해 n|H(C4)에 대한) 같은 수 및 레이트의 배제들을 수신한다. 라우터가 더 많은 인터페이스들을 통해 n|H(C5)에 대한 배제들을 수신하기 때문에, 배제-인터페이스 인자(
Figure pat00034
)는 표현(6)으로 하여금 콘텐트 객체들(n|H(C3), n|H(C4))의 순위 값보다 낮은 콘텐트 객체(n|H(C5))에 대한 순위 값을 생성하도록 했다.
따라서, 도 6a 및 도 6b는, 라우터의 캐시가 콘텐트의 유효 버전을 포함하는 동안 만큼, 라우터가 가짜 콘텐트보다 이 콘텐트를 계속해서 제공할 가능성이 있음을 또한 도시한다. 이것은 악성 소비자들보다 상당히 더 많은 유효 소비자들이 존재하는 동안 만큼 사실로 유지되고, 이는 라우터가 전형적으로, 유효 콘텐트에 가짜 콘텐트보다 높게 순위를 매기도록 허용한다. 라우터는 가짜 콘텐트의 순위보다 낮게 유효 콘텐트에 순위를 매기기 위해 충분한 인터페이스들로부터 유효 콘텐트에 대한 충분한 배제들을 수신할 가능성이 없다.
도 7은 일 실시예에 따라 관심을 만족시키기 위해 가장 높은 순위의 캐싱된 콘텐트 객체를 선택하는 것을 가능하게 하는 일 예시적인 장치(700)를 도시한다. 장치(700)는 유선 또는 무선 통신 채널을 통해 서로 통신할 수 있는 복수의 모듈들을 포함할 수 있다. 장치(700)는 하나 이상의 집적 회로들을 사용하여 실현될 수 있고, 도 7에 도시된 모듈들 보다 적거나 많은 모듈들을 포함할 수 있다. 게다가, 장치(700)는 컴퓨터 시스템에 집적될 수 있거나, 다른 컴퓨터 시스템들 및/또는 디바이스들과 통신할 수 있는 별개의 디바이스로서 실현될 수 있다. 구체적으로, 장치(700)는 통신 모듈(702), 캐시 모듈(704), 순위-계산 모듈(706), 순위 저장 모듈(708), 및 관심 처리 모듈(710)을 포함할 수 있다.
일부 실시예들에서, 통신 모듈(702)은 데이터 이름 기반 네트워크와 같은, 정보 중심 네트워크를 통해 관심 메시지들 및 콘텐트 객체들을 수신할 수 있고/있거나 포워딩할 수 있다. 캐시 모듈(704)은 콘텐트 객체들을 캐싱할 수 있고, 순위-계산 모듈(706)은 콘텐트 객체에 대한 순위 값을 계산하기 위해 콘텐트 객체에 대해 수신된 배제들을 분석할 수 있다. 순위 저장 모듈(708)은 콘텐트 객체와 연관되는 순위 값을 저장할 수 있다. 관심 처리 모듈(710)은 하나 이상의 콘텐트 객체들로부터, 그 이름 또는 이름 접두부가 관심의 이름을 포함하는, 가장 높은 순위 값을 가지는 콘텐트 객체를 선택함으로써, 그리고 관심을 만족시키기 위해 이 콘텐트 객체를 리턴시킴으로써 관심을 처리할 수 있다.
도 8은 일 실시예에 따라 관심을 만족시키기 위해 가장 높은 순위의 캐싱된 콘텐트 객체를 선택하는 것을 가능하게 하는 일 예시적인 컴퓨터 시스템(802)을 도시한다. 컴퓨터 시스템(802)은 처리기(804), 메모리(806), 및 저장 디바이스(808)를 포함한다. 메모리(806)는 관리 메모리의 역할을 하는 휘발성 메모리(예로서, RAM)를 포함할 수 있고, 하나 이상의 메모리 풀(pool)들을 저장하기 위해 사용될 수 있다. 또한, 컴퓨터 시스템(802)은 디스플레이 디바이스(810), 키보드(812), 및 포인팅 디바이스(pointing device)(814)에 결합될 수 있다. 저장 디바이스(808)는 운영 체제(816), 콘텐트-캐싱 시스템(818), 및 데이터(830)를 저장할 수 있다.
콘텐트-캐싱 시스템(818)은 컴퓨터 시스템(802)에 의해 실행될 때, 컴퓨터 시스템(802)으로 하여금 본 발명에서 설명된 방법들 및/또는 처리들을 수행하도록 할 수 있는 지시들을 포함할 수 있다. 구체적으로, 콘텐트-캐싱 시스템(818)은 데이터 이름 기반 네트워크와 같은, 정보 중심 네트워크를 통해 관심 메시지들 및 콘텐트 객체들을 수신하고/하거나 포워딩하기 위한 지시들을 포함할 수 있다(통신 모듈(820)). 게다가, 콘텐트-캐싱 시스템(818)은 콘텐트 객체들을 캐싱하기 위한 지시들을 포함할 수 있고(캐시 모듈(822)), 콘텐트 객체에 대한 순위 값을 계산하기 위해 콘텐트 객체에 대해 수신된 배제들을 분석하기 위한 지시들을 포함할 수 있다(순위-계산 모듈(824)).
콘텐트-캐싱 시스템(818)은 콘텐트 객체와 연관되는 순위 값을 저장하기 위한 지시들을 포함할 수 있다(순위 저장 모듈(826)). 콘텐트-캐싱 시스템(818)은 하나 이상의 콘텐트 객체들로부터, 그 이름 또는 이름 접두부가 관심의 이름을 포함하는, 가장 높은 순위 값을 가지는 콘텐트 객체를 선택함으로써, 그리고 관심을 만족시키기 위해 이 콘텐트 객체를 리턴시킴으로써 관심을 처리하기 위한 지시들을 또한 포함할 수 있다(관심 처리 모듈(828)).
데이터(830)는 본 발명에서 설명된 방법들 및/또는 처리들에 의해 입력으로서 요구되거나 출력으로서 생성되는 임의의 데이터를 포함할 수 있다. 구체적으로, 데이터(830)는 캐싱된 콘텐트 객체들의 적어도 세트, 및 각각의 캐싱된 콘텐트 객체에 대한 순위 값을 저장할 수 있다.
상기 발명을 실시하기 위한 구체적인 내용에서 설명된 데이터 구조들 및 코드는 전형적으로, 컴퓨터 시스템에 의해 사용하기 위해 코드 및/또는 데이터를 저장할 수 있는 임의의 디바이스 또는 매체일 수 있는 컴퓨터-판독가능한 저장 매체 상에 저장될 수 있다. 컴퓨터-판독가능한 저장 매체는 휘발성 메모리, 비-휘발성 메모리, 디스크 드라이브들, 자기 테이프, 콤팩트 디스크들(CDs), 디지털 다기능 디스크들 또는 디지털 비디오 디스크들(DVDs)과 같은 자기 및 광학 저장 디바이스들, 또는 이제 공지되거나 이후에 개발된 컴퓨터-판독가능한 매체들을 저장할 수 있는 다른 매체들을 포함하지만, 그들로 제한되지 않는다.
상기 발명을 실시하기 위한 구체적인 내용 섹션에서 설명된 방법들 및 처리들은 상기 설명된 바와 같은 컴퓨터-판독가능한 저장 매체에 저장될 수 있는 코드 및/또는 데이터로서 구현될 수 있다. 컴퓨터 시스템이 컴퓨터-판독가능한 저장 매체 상에 저장된 코드 및/또는 데이터를 판독하고 실행할 때, 컴퓨터 시스템은 데이터 구조들 및 코드로서 구현되고 컴퓨터-판독가능한 저장 매체 내에 저장된 방법들 및 처리들을 수행한다.
또한, 상기 설명된 방법들 및 처리들은 하드웨어 모듈들에 포함될 수 있다. 예를 들면, 하드웨어 모듈들은 주문형 반도체(application-specific integrated circuit; ASIC) 칩들, 필드-프로그래밍가능한 게이트 어레이들(FPGAs), 및 이제 공지되거나 이후에 개발된 다른 프로그래밍가능한-로직 디바이스들을 포함할 수 있지만, 이들로 제한되지 않는다. 하드웨어 모듈들이 활성화될 때, 하드웨어 모듈들은 하드웨어 모듈들 내에 포함된 방법들 및 처리들을 수행한다.

Claims (10)

  1. 컴퓨터-구현 방법에 있어서:
    순위를 매기기 위해 콘텐트 객체를 선택하는 단계;
    포워딩 디바이스(forwarding device)에 의해, 상기 콘텐트 객체에 대한 이력 사용 정보를 분석하는 단계;
    상기 이력 사용 정보로부터, 상기 콘텐트 객체에 대해 수신된 배제(exclusion)들의 세트를 결정하는 단계;
    상기 콘텐트 객체에 대한 상기 배제들의 세트 및 하나 이상의 미리 결정된 배제 패턴에 기초하여, 상기 콘텐트 객체에 대한 순위 값을 계산하는 단계; 및
    상기 콘텐트 객체와 연관되는 상기 순위 값을 저장하는 단계를 포함하는, 컴퓨터-구현 방법.
  2. 컴퓨터에 의해 실행될 때, 상기 컴퓨터로 하여금 방법을 수행하도록 하는 지시들을 저장하는 비-일시적 컴퓨터-판독가능한 저장 매체에 있어서:
    상기 방법은:
    순위를 매기기 위해 콘텐트 객체를 선택하는 단계;
    포워딩 디바이스에 의해, 상기 콘텐트 객체에 대한 이력 사용 정보를 분석하는 단계;
    상기 이력 사용 정보로부터, 상기 콘텐트 객체에 대해 수신된 배제들의 세트를 결정하는 단계;
    상기 콘텐트 객체에 대한 상기 배제들의 세트 및 하나 이상의 미리 결정된 배제 패턴에 기초하여, 상기 콘텐트 객체에 대한 순위 값을 계산하는 단계; 및
    상기 콘텐트 객체와 연관되는 상기 순위 값을 저장하는 단계를 포함하는, 비-일시적 컴퓨터-판독가능한 저장 매체.
  3. 컴퓨터 시스템에 있어서:
    하나 이상의 처리기;
    메모리; 및
    상기 하나 이상의 처리기에 의해 실행될 때, 상기 컴퓨터 시스템으로 하여금 방법을 수행하도록 하는 저장된 지시들을 저장하는 상기 하나 이상의 처리기에 결합된 컴퓨터-판독가능한 매체를 포함하고, 상기 방법은:
    순위를 매기기 위해 콘텐트 객체를 선택하는 단계;
    포워딩 디바이스에 의해, 상기 콘텐트 객체에 대한 이력 사용 정보를 분석하는 단계;
    상기 이력 사용 정보로부터, 상기 콘텐트 객체에 대해 수신된 배제들의 세트를 결정하는 단계;
    상기 콘텐트 객체에 대한 상기 배제들의 세트 및 하나 이상의 미리 결정된 배제 패턴에 기초하여, 상기 콘텐트 객체에 대한 순위 값을 계산하는 단계; 및
    상기 콘텐트 객체와 연관되는 상기 순위 값을 저장하는 단계를 포함하는, 컴퓨터 시스템.
  4. 제 3 항에 있어서,
    캐시에 상기 콘텐트 객체를 저장하는 것;
    관심을 수신하는 것으로서, 상기 관심의 이름은 상기 콘텐트 객체의 이름 또는 이름 접두부에 매칭하는, 상기 관심을 수신하는 것; 및
    상기 콘텐트 객체에 대한 배제를 포함하는 관심을 수신하는 것 중 하나 이상에 응답하여 순위를 매기기 위해 상기 콘텐트 객체를 선택하는 것을 추가로 포함하는, 컴퓨터 시스템.
  5. 제 3 항에 있어서,
    관심을 수신하는 것으로서, 상기 관심의 이름은 다수의 캐싱(caching)된 콘텐트 객체와 연관되는, 상기 관심을 수신하는 것;
    상기 다수의 캐싱된 콘텐트 객체로부터, 가장 높은 순위 값을 갖는 캐싱된 콘텐트 객체를 선택하는 것; 및
    상기 관심을 만족시키기 위해 선택된 상기 캐싱된 콘텐트 객체를 리턴(return)시키는 것을 추가로 포함하는, 컴퓨터 시스템.
  6. 제 3 항에 있어서,
    상기 콘텐트 객체가 새로운 콘텐트 객체라고 결정하는 것; 및
    최대 순위 값을 상기 콘텐트 객체에 할당하는 것을 추가로 포함하는, 컴퓨터 시스템.
  7. 제 6 항에 있어서,
    상기 콘텐트 객체가 새로운 콘텐트 객체라고 결정하는 것은:
    상기 콘텐트 객체가 관심을 만족시키기 위해 리턴되지 않았다고 결정하는 것; 및
    배제가 상기 콘텐트 객체에 대해 수신되지 않았다고 결정하는 것 중 하나 이상을 수반하는, 컴퓨터 시스템.
  8. 제 3 항에 있어서,
    상기 콘텐트 객체가 배제들을 수신한 레이트에 기초하여 상기 콘텐트 객체에 순위를 매기는 배제-레이트 패턴(exclusion-rate pattern);
    상기 콘텐트 객체가 배제를 수신한 이래로 경과된 시간에 기초하여 상기 콘텐트 객체에 순위를 매기는 시간 분포 패턴(time distribution pattern); 및
    상기 콘텐트 객체가 배제들을 수신한 로컬 인터페이스들의 일부에 기초하여 상기 콘텐트 객체에 순위를 매기는 배제-인터페이스 패턴(excluding-interfaces pattern) 중 적어도 하나를 포함하는 미리 결정된 배제 패턴들의 세트로부터, 상기 콘텐트 객체에 순위를 매기기 위한 하나 이상의 배제 패턴을 선택하는 것을 추가로 포함하는, 컴퓨터 시스템.
  9. 제 3 항에 있어서,
    상기 순위 값을 계산하는 단계는:
    상기 콘텐트 객체에 대한 상기 배제들의 세트에 기초하여, 각각의 배제 패턴에 대한 인자를 계산하는 단계;
    각각의 배제 패턴에 대한 개별적인 인자들에 기초하여, 전체 인자(F)를 계산하는 단계; 및
    상기 전체 인자(F)를 사용하여 상기 순위 값을 계산하는 단계를 수반하는, 컴퓨터 시스템.
  10. 제 9 항에 있어서,
    상기 순위 값을 계산하는 단계는:
    Figure pat00035
    을 계산하는 단계를 추가로 수반하고,
    Figure pat00036
    는 상기 콘텐트 객체에 대한 상기 순위 값을 표시하고, t는 상기 캐시에서의 상기 콘텐트 객체의 수명을 표시하는, 컴퓨터 시스템.
KR1020150139489A 2014-10-16 2015-10-05 캐시에서 데이터 이름 기반 네트워킹 객체들에 순위를 매기기 위한 시스템 및 방법 KR20160045010A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/516,450 US20160110466A1 (en) 2014-10-16 2014-10-16 System and method for ranking named-data networking objects in a cache
US14/516,450 2014-10-16

Publications (1)

Publication Number Publication Date
KR20160045010A true KR20160045010A (ko) 2016-04-26

Family

ID=54329378

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150139489A KR20160045010A (ko) 2014-10-16 2015-10-05 캐시에서 데이터 이름 기반 네트워킹 객체들에 순위를 매기기 위한 시스템 및 방법

Country Status (6)

Country Link
US (1) US20160110466A1 (ko)
EP (1) EP3010201B1 (ko)
JP (1) JP2016082583A (ko)
KR (1) KR20160045010A (ko)
CN (1) CN105530286A (ko)
AU (1) AU2015234390A1 (ko)

Families Citing this family (68)

* 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
US10098051B2 (en) 2014-01-22 2018-10-09 Cisco Technology, Inc. Gateways and routing in software-defined manets
US9954678B2 (en) 2014-02-06 2018-04-24 Cisco Technology, Inc. Content-based transport security
US9678998B2 (en) * 2014-02-28 2017-06-13 Cisco Technology, Inc. Content name resolution for information centric networking
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
US9716622B2 (en) 2014-04-01 2017-07-25 Cisco Technology, Inc. System and method for dynamic name configuration in content-centric networks
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
US9699198B2 (en) 2014-07-07 2017-07-04 Cisco Technology, Inc. System and method for parallel secure content bootstrapping in content-centric networks
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
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
US9800637B2 (en) 2014-08-19 2017-10-24 Cisco Technology, Inc. System and method for all-in-one content stream in content-centric networks
US10069933B2 (en) 2014-10-23 2018-09-04 Cisco Technology, Inc. System and method for creating virtual interfaces based on network characteristics
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
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
US9946743B2 (en) 2015-01-12 2018-04-17 Cisco Technology, Inc. Order encoded manifests in a content centric network
US9832291B2 (en) 2015-01-12 2017-11-28 Cisco Technology, Inc. Auto-configurable transport stack
US9954795B2 (en) 2015-01-12 2018-04-24 Cisco Technology, Inc. Resource allocation using CCN manifests
US9916457B2 (en) * 2015-01-12 2018-03-13 Cisco Technology, Inc. Decoupled name security binding for CCN objects
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
US10075402B2 (en) 2015-06-24 2018-09-11 Cisco Technology, Inc. Flexible command and control in content centric networks
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
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
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
US10257271B2 (en) 2016-01-11 2019-04-09 Cisco Technology, Inc. Chandra-Toueg consensus in a content centric network
US10305864B2 (en) 2016-01-25 2019-05-28 Cisco Technology, Inc. Method and system for interest encryption in a content centric network
US10043016B2 (en) 2016-02-29 2018-08-07 Cisco Technology, Inc. Method and system for name encryption agreement 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
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
US10264099B2 (en) 2016-03-07 2019-04-16 Cisco Technology, Inc. Method and system for content closures in a content centric network
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
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
US10063414B2 (en) 2016-05-13 2018-08-28 Cisco Technology, Inc. Updating a transport stack 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
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
CN108449277B (zh) * 2016-12-12 2020-07-24 华为技术有限公司 一种报文发送方法及装置
US20180336201A1 (en) * 2017-05-22 2018-11-22 VividCortex, Inc. Method and Apparatus for Generalized Sketch Ranking
CN109561355B (zh) * 2017-09-27 2020-07-17 中国科学院声学研究所 一种ccn/ndn内容注册、内容位置解析和内容路由的系统及方法
CN107908357B (zh) * 2017-10-13 2020-08-21 天津大学 命名数据网转发平面pit存储结构及其数据检索方法
CN110768952B (zh) * 2019-09-09 2021-07-27 中国科学院上海微系统与信息技术研究所 一种数据验证方法、装置、系统及存储介质
EP3813316A1 (en) * 2019-10-25 2021-04-28 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Web server circuit, method and computer program for preventing parasite attacks
CN112861031B (zh) * 2019-11-27 2024-04-02 北京金山云网络技术有限公司 Cdn中url刷新方法、装置、设备以及cdn节点

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8887238B2 (en) * 2011-12-07 2014-11-11 Time Warner Cable Enterprises Llc Mechanism for establishing reputation in a network environment
US9009465B2 (en) * 2013-03-13 2015-04-14 Futurewei Technologies, Inc. Augmenting name/prefix based routing protocols with trust anchor in information-centric networks

Also Published As

Publication number Publication date
EP3010201B1 (en) 2019-05-15
CN105530286A (zh) 2016-04-27
EP3010201A1 (en) 2016-04-20
JP2016082583A (ja) 2016-05-16
AU2015234390A1 (en) 2016-05-05
US20160110466A1 (en) 2016-04-21

Similar Documents

Publication Publication Date Title
KR20160045010A (ko) 캐시에서 데이터 이름 기반 네트워킹 객체들에 순위를 매기기 위한 시스템 및 방법
CN105100045B (zh) 用于防止插入恶意内容的方法和设备
CN105376211B (zh) 无需内容中心网络中的验证的概率性延迟转发技术
KR20200040722A (ko) 컨텐츠 중심 네트워크에서 컨텐츠 소유자 및 노드의 패킷 전송 방법
EP2975820A1 (en) Reputation-based strategy for forwarding and responding to interests over a content centric network
Chatterjee et al. Security issues in named data networks
EP3176994B1 (en) Explicit content deletion commands in a content centric network
US20160182680A1 (en) Interest acknowledgements for information centric networking
CN105407128B (zh) 在ccn中的中间路由器上兴趣保持活动的方法及系统
EP2863614A1 (en) Method and apparatus for a named data network within an autonomous system
US10148572B2 (en) Method and system for interest groups in a content centric network
CN105791382B (zh) 使用ccn清单进行资源分配的方法、设备及存储介质
Singh et al. A walkthrough of name data networking: Architecture, functionalities, operations and open issues
JP2017063412A (ja) ネットワーク名称付きフラグメントによるフロー制御
Iuchi et al. Detection and blocking of DGA-based bot infected computers by monitoring NXDOMAIN responses
Yang Hybrid single‐packet IP traceback with low storage and high accuracy
KR20150113844A (ko) 네트워크 이름을 이용하는 멀티-오브젝트 인터레스트
Gao et al. Protecting router cache privacy in named data networking
Dogruluk et al. Identifying previously requested content by side-channel timing attack in NDN
Wang Caching, routing and congestion control in a future information-centric internet
Yang Storage‐efficient 16‐bit hybrid IP traceback with single packet
Liu et al. Modelling and simulations for DDoS attacks mitigation in identifier–locator split network
Cho et al. A collision-mitigation hashing scheme utilizing empty slots of cuckoo hash table
Walgampaya et al. Duplicate detection in pay-per-click streams using temporal stateful Bloom filters
JP2016005271A (ja) コンテンツ中心ネットワークにおけるインタレストによる消費者状態の割り当て