KR101539210B1 - 완전―매치 룩업 엔진을 사용하는 계층적으로 구조화된 가변―길이 식별자들을 갖는 패킷들을 전송하기 위한 시스템 - Google Patents

완전―매치 룩업 엔진을 사용하는 계층적으로 구조화된 가변―길이 식별자들을 갖는 패킷들을 전송하기 위한 시스템 Download PDF

Info

Publication number
KR101539210B1
KR101539210B1 KR1020100008220A KR20100008220A KR101539210B1 KR 101539210 B1 KR101539210 B1 KR 101539210B1 KR 1020100008220 A KR1020100008220 A KR 1020100008220A KR 20100008220 A KR20100008220 A KR 20100008220A KR 101539210 B1 KR101539210 B1 KR 101539210B1
Authority
KR
South Korea
Prior art keywords
prefix
match
length
hsvli
fixed
Prior art date
Application number
KR1020100008220A
Other languages
English (en)
Other versions
KR20100088560A (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 팔로 알토 리서치 센터 인코포레이티드
Publication of KR20100088560A publication Critical patent/KR20100088560A/ko
Application granted granted Critical
Publication of KR101539210B1 publication Critical patent/KR101539210B1/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/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering
    • H04L45/74591Address table lookup; Address filtering using content-addressable memories [CAM]
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F9/00Details other than those peculiar to special kinds or types of apparatus
    • G07F9/10Casings or parts thereof, e.g. with means for heating or cooling
    • G07F9/105Heating or cooling means, for temperature and humidity control, for the conditioning of articles and their storage
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F11/00Coin-freed apparatus for dispensing, or the like, discrete articles
    • G07F11/02Coin-freed apparatus for dispensing, or the like, discrete articles from non-movable magazines
    • G07F11/04Coin-freed apparatus for dispensing, or the like, discrete articles from non-movable magazines in which magazines the articles are stored one vertically above the other
    • G07F11/16Delivery means
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F9/00Details other than those peculiar to special kinds or types of apparatus
    • G07F9/02Devices for alarm or indication, e.g. when empty; Advertising arrangements in coin-freed apparatus
    • G07F9/026Devices for alarm or indication, e.g. when empty; Advertising arrangements in coin-freed apparatus for alarm, monitoring and auditing in vending machines or means for indication, e.g. when empty

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

본 발명은 일반적으로 데이터 네트워크를 통해 통신을 용이하게 하는 방법에 관한 것이다. 특히, 본 발명은 완전-매치 룩업 엔진(exact-match lookup engine)을 계층적으로 구조화된 가변-길이 식별자들에 적응시키기 위한 방법에 관한 것이다.

Description

완전―매치 룩업 엔진을 사용하는 계층적으로 구조화된 가변―길이 식별자들을 갖는 패킷들을 전송하기 위한 시스템{SYSTEM FOR FORWARDING PACKETS WITH HIERARCHICALLY STRUCTURED VARIABLE-LENGTH IDENTIFIERS USING AN EXACT-MATCH LOOKUP ENGINE}
본 발명은 일반적으로 데이터 네트워크를 통해 통신을 용이하게 하는 방법에 관한 것이다. 특히, 본 발명은 완전-매치 룩업 엔진(exact-match lookup engine)을 계층적으로 구조화된 가변-길이 식별자들에 적응시키기 위한 방법에 관한 것이다.
본 발명의 목적은 일반적으로 데이터 네트워크를 통해 통신을 용이하게 하는 방법을 제공하는 것이다. 특히, 본 발명의 목적은 완전-매치 룩업 엔진을 계층적으로 구조화된 가변-길이 식별자들에 적응시키기 위한 방법을 제공하는 것이다.
일 실시예는 계층적으로 구조화된 가변-길이 식별자들(HSVLIs)을 가진 패킷들을 전송하기 위한 시스템을 제공하는 것으로 컴퓨터는 프로세서를 포함한다. 동작 동안, 시스템은 HSVLI를 복수의 고정-길이 어드레스들로 변환하며, HSVLI는 한 조각(piece)의 콘텐트를 나타내고, 계층적으로 구조화되고, 가장 일반적인 레벨부터 가장 특정한 레벨로 순서화된 연속적인 구성요소들을 포함한다. 또한, 각각의 HSVLI의 길이는 고정되지 않는다. 시스템은 적어도 고정-길이 어드레스들에 기초하여 복수의 완전-매치 룩업들을 수행함으로써 유효한 최장 프리픽스 매치 룩업을 추가로 수행한다.
이 실시예의 변형에서, HSVLI를 복수의 고정-길이 어드레스들로 변환하는 단계는 HSVLI의 복수의 프리픽스들을 생성하는 단계로서, 각각의 프리픽스는 가장 일반적인 레벨에서의 구성요소부터 시작하는 하나 이상의 연속적인 구성요소들을 나타내는, 상기 HSVLI의 복수의 프리픽스들 생성 단계를 포함한다. 또한, 시스템은 HSVLI의 각 프리픽스를 적어도 하나의 고정-길이 어드레스로 변환한다.
또 다른 변형에서, 각 프리픽스를 변환하는 단계는 프리픽스에 구성요소들의 수를 고정-길이 어드레스 중 미리 결정된 수의 비트들로 나타내는 단계; 및 프리픽스로부터 도출된 해시 값(hash value)을 고정-길이 어드레스의 남은 비트들로 나타내는 단계를 포함한다.
또 다른 변형에서, 유효 최장-프리픽스-매치를 수행하는 단계는 최단 프리픽스에서 최장 프리픽스까지 이하의 동작들, 즉 완전-매치 룩업을 사용하여 각각의 프리픽스에 대응하는 고정-길이 어드레스에 대한 전송 정보를 결정하는 동작; 및 완전-매치 룩업으로 결정된, 가장 많은 구성요소들을 갖는 프리픽스에 관련된 전송 정보를 선택하는 동작을 반복적으로 수행하는 단계를 포함한다.
또 다른 변형에서, 전송 정보는 적어도 하나의 출력 포트를 나타낸다.
또 다른 변형에서, 상기 완전-매치 룩업은 매치가 발견되었는지의 여부의 표시; 매치가 발견되었고 추가의 구성요소들을 갖는 프리픽스에 대해 부가적인 매치가 이용가능한지의 여부의 표시; 추가의 구성요소들을 갖는 프리픽스에 대한 부가적인 매치를 획득하기 위해서 필요한 추가의 구성요소들의 수의 표시; 및 프리픽스에 대한 매치에 대응하는 문자 값(literal value)으로서, 고정-길이 어드레스에 복수의 예비 비트들에 로딩되어, 후속 룩업들을 용이하게 하고 어드레스 충돌들의 기회를 감소시키는, 상기 문자 값의 표시 중에서 하나 이상의 표시들을 포함하는 결과를 리턴(return)시킨다.
이 실시예의 변형에서, 완전-매치 룩업 엔진은 해시 테이블, 직접 룩업 어레이, 및 2진 콘텐트-어드레스가능한 메모리(CAM) 중에서, 하나 이상을 포함한다.
이 실시예의 변형에서, HSVLI의 구성요소는 글로벌적으로 라우팅가능한 명칭, 조직적 명칭, 버전 식별자, 및 다이제스트 중 하나 이상을 포함한다.
도 1은 실시예에 따라 패킷들이 계층적으로 구조화된 가변-길이 식별자들(HSVLIs)를 갖는 일 예시적인 네트워크를 도시한 도면.
도 2는 실시예에 따라 완전-매치 룩업 엔진을 HSVLI들에 적응시키기 위한 일 예시적인 시스템의 아키텍처(architecture)를 도시한 도면.
도 3은 본 발명의 일 실시예에 따라, 완전-매치 룩업 엔진을 사용하여 HSVLI에 대해 유효한 최장 프리픽스 매치 룩업을 수행하는 프로세스를 도시한 흐름도.
도 4는 실시예에 따라 HSVLI를 복수의 고정-길이 어드레스들로 변환하는 프로세스를 도시한 흐름도.
도 5는 실시예에 따라 각각의 프리픽스를 변환하는 프로세스를 도시한 흐름도.
도 6은 실시예에 따라 복수의 고정-길이 어드레스들로 변환된 HSVLI를 도시한 도면.
도 7은 실시예에 따라, 완전-매치 룩업 엔진을 사용하여 유효한 최장 프리픽스 매치를 고정-길이 어드레스들의 수로 수행하는 프로세스를 도시한 흐름도.
도 8a는 실시예에 따라 완전-매치 룩업 엔진의 개념도.
도 8b는 본 발명의 일 실시예에 따라, 룩업을 사용하는 것이 HSVLI에 대한 후속의 룩업들을 용이하게 하는 일 예시적인 메커니즘을 도시한 도면.
도 9는 실시예에 따라 HSVLI들을 가진 패킷들을 전송하기 위한 일 예시적인 장치를 도시한 도면.
본 발명의 실시예들에서, 완전-매치 룩업 엔진을 가변-길이 식별자에 대해 최장 프리픽스(prefix) 매치를 수행하게 하는 문제는 식별자를 복수의 고정-길이 키들에 해시(hash)함으로써 해결된다. 본 발명의 실시예들은 고정-길이 어드레스(이더넷 MAC 어드레스와 같은)를 위한 현존의 완전-매치 룩업 매치를 계층적으로 구조화된 가변-길이 식별자들(HSVLIs)에 대해 최장 프리픽스 매치 룩업을 수행하게 하는 것을 포함한다.
HSVLI는 한 개의 콘텐트를 나타내며, 계층 구조를 가지며, 가장 일반적인 레벨부터 가장 특정한 레벨로 순서화된 연속적인 구성요소들을 포함한다. 각각의 HSVLI의 길이는 고정되지 않는다. 본 발명의 실시예들은 완전-매치 엔진에 사용할 수 있는 다수의 고정-길이 키들에 HSVLI를 해싱하는 것을 포함하며, 그럼으로써 현존의 네트워크 장비를 사용함으로써 빠른 전송을 할 수 있게 한다. 그러므로, 이 시스템은 이더넷 스위치들과 같은 수정된 완전-매치 스위칭 장비를 사용하여, 최장 프리픽스 매치에 기초한 HSVLI들을 가진 패킷들을 전송할 수 있다.
본 발명의 실시예들은 콘텐트-중심적인 네트워크들(CCNs)에도 적용될 수 있다. 콘텐트-중심적인 네트워크들은 라우팅이 어드레스들이 아니라 관심사들(interests)에 기초하는 것으로, 콘텐트 수송에 새로운 방법을 제시한다. 애플리케이션 레벨에서 네트워크 트래픽을 콘텐트가 이동하는 단 대 단 대화들로서 간주하지 않고, 콘텐트는 부분적으로 이에 주어진 명칭에 기초하여 요청 또는 리턴되며, 네트워크는 제공자로부터 고객에 콘텐트를 라우팅한다. 콘텐트는 통신 시스템에서 수송될 수 있는 데이터를 포함하며, 텍스트, 이미지들, 비디오, 및/또는 오디오와 같은 임의의 형태의 데이터일 수 있다. 고객 및 제공자는 컴퓨터에 사람일 수도 있고 또는 네트워크 내 또는 밖의 자동화된 프로세스일 수 있다. 이러하나의 네트워크에서, 한 조각의 콘텐트는 콘텐트 전체 또는 콘텐트의 각각의 부분을 지칭할 수 있다. 예를 들면, 신문 기사는 데이터 패킷들로서 실시된 다수의 피스들의 콘텐트로 표현될 수도 있을 것이다. 한 조각의 콘텐트는 이 피스의 콘텐트를 인증 데이터, 생성일, 콘텐트 소유자, 등과 같은 정보로 기술하거나 증대시키는 메타데이터에 연관될 수도 있다.
통상의 IP 네트워크와는 달리, 콘텐트-중심적인 네트워크들에서, 패킷은 HSVLI에 의해 식별될 수 있다. 예를 들면, "abcd/bob/papers/ccn/news"는 콘텐트의 명칭이 될 수도 있을 것이며 이것은 대응하는 패킷(들)을, "ABCD" 명칭의 단체에 있는 "Bob" 이름을 가진 사용자에 대해 모아놓은 "ccn" 서류들로부터의 "뉴스(news)" 기사로서 식별한다.
한 조각의 콘텐트를 요청하기 위해서, 노드는 콘텐트의 명칭에 의해 이 콘텐트 내 관심사를 표명한다(예를 들면, 브로드캐스트한다). 한 조각의 콘텐트 내 관심사는 콘텐트의 명칭 또는 식별자에 따른 콘텐트에 대한 질의일 수 있다. 콘텐트는 이것이 네트워크에서 입수될 수 있다면, 콘텐트를 저장하고 있는 임의의 노드로부터 이에 다시 라우팅된다. 라우팅 인프라스트럭처(infrastructure)는 정보를 갖고 있을 가능성이 있는 가망이 있는 노드들에 관심사를 합리적으로 전파시키고 이어서 관심사가 거쳐간 경로를 따라 가용 콘텐트를 수송한다.
도 1은 본 발명의 실시예에 따른 네트워크의 아키텍처를 도시한 것이다. 이 예에서, 네트워크(180)는 노드들(100 내지 145)을 포함한다. 네트워크의 각각의 노드는 하나 이상의 다른 노드들에 결합된다. 네트워크 접속(185)은 이러한 접속의 예이다. 네트워크 접속은 실선들로서 도시되었는데, 각각의 선은 하나의 노드를 다른 노드에 결합할 수 있는 서브(sub)-네트워크들 또는 수퍼(super)-네트워크들을 나타낼 수도 있을 것이다. 네트워크(180)는 콘텐트-중심적인, 로컬 네트워크, 수퍼-네트워크, 또는 서브-네트워크일 수 있다. 이들 네트워크들 각각은 하나의 네트워크의 노드가 다른 네트워크들의 노드에 도달할 수 있게 서로 접속될 수 있다. 네트워크 접속은 광대역, 무선, 전화, 위성, 또는 임의의 유형의 네트워크 접속일 수 있다. 노드는 컴퓨터 시스템, 사용자들을 나타내는 종점, 및/또는 관심사들을 생성하거나 콘텐트를 발원할 수 있는 디바이스일 수 있다.
본 발명의 실시예에 따라, 고객은 한 조각의 콘텐트의 관심사를 생성하고 이어서 이 관심사를 네트워크(180)의 노드에 전송할 수 있다. 한 조각의 콘텐트는 네트워크 내 또는 밖에 위치하여 있을 수 있는 발행자 또는 콘텐트 제공자에 의해 네트워크(180) 내 노드에 저장될 수 있다. 예를 들면, 도 1에서, 한 조각의 콘텐트 내 관심사가 노드(105)에서 발원한다. 콘텐트가 노드에서 가용하지 않다면, 관심사는 제 1 노드에 결합된 하나 이상의 노드들로 흐른다. 예를 들면, 도 1에서, 관심사는 가용한 콘텐트를 갖고 있지 않은 노드(115)로 흐른다(관심사 흐름(150)). 다음에, 관심사는 노드(105)에서 콘텐트를 갖고 있지 않은 노드(125)로 흐른다(관심사 흐름(155)), 관심사는 가용한 콘텐트를 갖고 있는 노드(130)로 흐른다(관심사 흐름(160)). 이어서 콘텐트의 흐름은 노드(105)에 도달할 때까지 이의 경로를 역으로 되돌아가며(콘텐트 흐름들(165, 170, 175)), 콘텐트가 전송된다. 인증과 같은 이외의 프로세스들이 콘텐트 흐름에 포함될 수 있다.
네트워크(180)에서, 콘텐트 소유자(노드(130))와 관심사 생성 노드(노드(105)) 간에 경로에 임의의 수의 중간 노드들(노드들(100 내지 145))은 네트워크를 통과할 때 콘텐트의 국부적 카피들을 캐시(cache)하는데 관여할 수 있다. 캐싱은 국부적으로 캐시된 콘텐트로의 액세스를 조건없이 공유함으로써 다른 가입자들에 인접하여 위치한 제 2 가입자에 대하나의 네트워크 부하를 줄인다.
통상의 패킷 전송은 노드들에 할당된 어드레스들에 기초한다(또는 노드들의 인터페이스들). 예를 들면, 이더넷 전송에서, 프레임에 대한 스위치 상에 출력 포트를 결정하기 위해 전송 테이블 내 완전-매치 룩업용으로 이더넷 프레임의 48-비트 MAC 어드레스가 사용된다. 그러나, 이러한 완전-매치 룩업은 HSVLI들을 가진 패킷들을 전송하는 데에는 적합하지 않다. 먼저, 이더넷 스타일의 완전-매치 룩업은 고정-길이 MAC 어드레스들만을 취급할 수 있으나, HSVLI들은 가변-길이들을 가질 수 있다. 두 번째로, 이더넷 스타일의 룩업 엔진들은 완전-매치 룩업들만을 수행할 수 있으나, HSVLI의 계층 구조는 최장 프리픽스 매치 룩업들을 요구한다.
이것은 이더넷 스위치들이 대규모 네트워크(인터넷과 같은)를 거쳐 패킷을 라우팅하게 설계되어 있지 않고 소규모 네트워크들(로컬-영역 네트워크들과 같은)간에 패킷들을 전송하도록 한 것이기 때문이다. 결국, 계층 라우팅은 원 이더넷 프로토콜에선 요건이 아니다. 그러나, HSVLI들을 가진 패킷들은 임의의 크기의 네트워크들(인터넷과 같은)을 통과할 수 있고, 계층 라우팅이 더 적합하다. 계층 라우팅에 있어서, 최장 프리픽스 룩업이 완전-매치 룩업보다 더 효율적이며 확장가능하다(scalable). 이 개시에서, 최장 프리픽스 매치 룩업이라는 것은 HSVLI에서, 최상위 계층에서 최하위 계층으로, 가장 많은 수의 구성요소들에 매치한 결과를 리턴시키는 룩업을 수행하는 프로세스를 말한다.
위에 언급된 바와 같이, HSVLI들은 콘텐트를 참조하며, 콘텐트에 대해 그리고 적어도 부분적으로 사람들에게 의미있는 조직적 구조들을 나타낼 수 있는 것이 바람직하다. HSVLI의 개개의 구성요소는 임의의 길이를 가질 수 있다. 또한, HSVLI들은 명백하게 범위가 정해진 구성요소들을 가질 수 있고, 어떤 바이트열을 포함할 수 있고, 사람이 판독가능한 문자들로 제한되는 것은 아니다.
최장 프리픽스 매치 룩업은 HSVLI들을 가진 패킷들을 전송하는데 있어 중요하다. 예를 들면, "/parc/home/smetters"에서 관심사를 나타내는 HSVLI는 "/parc/home/smetters/test.txt" 및 "/parc/home/smetters/bar.txt" 둘 모두에 매치될 것이다. 명칭 구성요소들의 개수에 관하여, 최장 매치는 이것이 가장 특정하기 때문에 최상인 것으로 간주된다. 본 발명의 실시예들은 현존의 고정-길이 완전-매치 룩업 엔진을, 가변-길이 HSVLI로 최장 프리픽스 매치 룩업을 수행할 수 있게 하는 메커니즘을 제공한다.
도 2는 실시예에 따라 완전-매치 룩업 엔진을 적응시키는 일 예시적인 시스템의 개요도이다. HSVLI들로 패킷들을 전송하기 위한 시스템(200)은 HSVLI 변환기(220) 및 매치기(matcher)(240)를 포함한다. 변환기(220)는 HSLVI(210)를 수신한다. HSVLI는 가장 일반적인 레벨부터 가장 특정한 레벨로 순서화된 연속적인 구성요소들의 계층 구조를 나타낸다. 예를 들면, HSVLI는 "a/b/c/d"일 수도 있을 것이며, 여기서 "/a"는 가장 일반적인 레벨이고 "/a/b/c/d"는 가장 특정한 레벨이다.
다음에, HSVLI의 각각의 구성요소가 스위치에서 수신되는 동안에, HSVLI 변환기(220)는 완전-매치 룩업 엔진(240)에의 입력으로서 복수의 고정-길이 어드레스들(230)을 순차적으로 생성한다. 완전-매치 룩업 엔진(240)은 전송 테이블을 탐색하기 위해 고정-길이 어드레스들을 사용하여 HSVLI에 가장 많은 수의 구성요소들에 매치되는 전송 정보(250)를 생성할 수 있다. 그러므로, HSVLI의 서로 다른 수의 구성요소들에 복수의 완전-매치들을 수행함으로써, 시스템(200)은 HSVLI들에 대한 유효한 최장 프리픽스 매치를 수행할 수 있다. 전송 정보(250)는 패킷이 전송될 수 있는 적어도 하나의 출력 포트를 지정할 수 있다.
일 실시예에서, HSVLI가 수신되고 있을 때, 시스템은 HSVLI의 각 프리픽스에 하나의 고정-길이 어드레스로, HSVLI를 실시간으로 복수의 고정-길이 어드레스들로 변환할 수 있다. 프리픽스는 가장 일반적인 레벨의 구성요소부터 시작하는 하나 이상의 연속적인 구성요소들을 나타낸다. 예를 들면, "a/b"는 "a/b/c/d"의 프리픽스이며, 여기서 "/a"는 가장 일반적인 레벨이고, "a", "b", "c" 및 "d"는 연속적인 구성요소들이다. HSVLI는 하나 이상의 프리픽스를 가질 수 있다. 예를 들면, "/a/b/c"는 "/a/b/c/d"의 프리픽스이기도 하다.
이어서 시스템은 완전-매치 룩업 엔진에서 각 프리픽스의 고정-길이 인코딩을 룩업한다. 최장 프리픽스의 인코딩한 것이 완전-매치 룩업 엔진에서 엔트리에 매치되는 이 최장 프리픽스는 실질적 최장 프리픽스 매치다. 시스템은 완전-매치 룩업 엔진에 의해 어떤 프리픽스가 만약 있다면, 발견될 것인가를 선험적으로 알지 못하기 때문에 다수의 프리픽스들을 발생한다.
도 3은 본 발명의 일 실시예에 따라, 완전-매치 룩업 엔진을 사용하여 HSVLI에 대해 유효한 최장 프리픽스 매치 룩업을 수행하는 프로세스를 도시한 흐름도이다. 동작 동안에, 시스템은 HSVLI를 수신한다(동작 300). 이어서 시스템은 지금까지 수신된 모든 HSVLI 구성요소들에 기초하여 HSVLI를 고정-길이 어드레스로 변환한다(동작 302). 이러한 변환에 대한 상세들은 이하 단락들에 기술된다. 이어서, 시스템은 변환된 고정-길이 어드레스로 완전-매치 룩업을 수행한다(동작 304).
이어서 시스템은 전송 정보를 포함하는 매치가 발견되었는지를 결정한다(동작 306). 그러하다면, 시스템은 매치를 임시 저장장치(R)에 저장한다(동작 308). 또한, 시스템은 HSVLI에 대한 추가의 구성요소가 수신되었는지를 결정한다(동작 310). 그러하다면, 시스템은 새로운 고정-길이 어드레스를 계속하여 생성한다(동작 302). 어떠한 추가의 구성요소도 수신되지 않는다면, 또는 어떠한 매치도 발견되지 않는다면(브랜치 동작 306 참조), 시스템은 R에 저장된 매치를 유효한 최장 프리픽스 매치 룩업의 결과로서 리턴시킨다(동작 312). 임의의 고정-길이 어드레스에 대해 어떠한 매치도 발견되지 않았다면, 시스템은 NULL을 리턴함에 유의한다.
위에 기술된 예에서, HSVLI의 구성요소가 수신될 때 복수의 완전-매치 룩업들이 순차로 실시간으로 수행되는 것으로 가정된다. 또한, 모든 또는 일부 구성요소들이 수신된 후에 룩업들을 수행하는 것도 가능하다. 예를 들면, 시스템은 다수의 완전-매치 룩업들을 수행하기 전에 HSVLI의 모든 구성요소들이 수신될 때까지 기다릴 수 있다. 또한, 시스템은 완전-매치 룩업들을 수행하기 전에 어떤 수의(그러나 전부는 아님) 구성요소들이 수신될 때까지 기다릴 수도 있다.
이전 단락으로부터 시스템이 HSVLI를 복수의 고정-길이 어드레스들로 변환함을 상기한다. 일 실시예에서, 시스템은 구성요소들이 연이어 수신될 때 HSVLI의 프리픽스들을 생성한다. 각각의 프리픽스는 고정-길이 어드레스로 변환된다. 도 4는 실시예에 따라 HSVLI를 복수의 고정-길이 어드레스들로 변환하는 프로세스를 도시한 흐름도이다. 동작 동안에, 시스템은 HSVLI의 구성요소를 수신한다(동작 400). 이어서 시스템은 모든 구성요소들이 수신된 HSVLI에 대한 프리픽스를 발생한다(동작 402). 또한 시스템은 프리픽스를 고정-길이 어드레스로 변환한다(동작 404). 이어서, 시스템은 HSVLI의 더 많은 구성요소들이 수신되는지를 결정한다(동작 406). 그러하다면, 시스템은 위의 프로세스를 반복한다(동작 400). 그렇지않다면, 시스템은 리턴시킨다.
일 실시예에서, 주어진 프리픽스를 고정-길이 어드레스로 변환하기 위해서, 시스템은 다음 동작을 수행한다. 고정-길이 어드레스가 n 비트 긴 것으로 가정한다(예를 들면, 이더넷 MAC 어드레스의 경우 n = 48). 이들 n 비트들 중에서, k 비트들은 프리픽스에 포함된 구성요소들의 수를 표시하기 위해 유보된다. 이어서 시스템은 프리픽스를 해시하고 해시 값을 나머지 n-k 비트들에 둔다. 도 5는 이 프로세스를 도시한 흐름도이다. 동작 동안, 시스템은 n 비트 고정-길이 어드레스에서 k 비트들로 프리픽스에 구성요소들의 수를 나타낸다(동작 500). 예를 들면, 시스템은 프리픽스 "/a/b/c"에 구성요소들의 수로서 k 비트들로 "3"을 표시할 것이다. k 값은 HSVLI들의 구성요소들의 최대 수에 따를 수 있다. 다음에, 시스템은 프리픽스로부터 나온 해시 값을 n 비트 고정-길이 어드레스의 나머지 n-k 비트들로 표시한다(동작 510). 시스템은 프리픽스에 대한 순환용장 체크를 포함한, 다양한 해싱 방법들을 사용할 수 있다.
도 6은 실시예에 따라 복수의 고정-길이 어드레스들로 변환된 HSVLI를 도시한 것이다. HSVLI(600)("a/b/c/d")는 복수의 프리픽스들(620)을 생성할 수 있다. HSVLI(600)의 프리픽스들(620)은 "/a", "a/b", "/a/b/c", 및 "/a/b/c/d"를 포함한다. 이들 프리픽스들 각각은 어드레스(650)와 같은, n 비트 고정-길이 어드레스로 변환될 수 있다. 예를 들면, 시스템은 k 비트들로 나타낸 구성요소들의 수(660)로서 "1"과 n-k 비트들로 나타낸 프리픽스의 해시 값(670)으로서 "h(/a)"로 하여 "/a"를 n 비트 고정-길이 어드레스로 변환한다. "h(/a)"는 프리픽스 "/a"로부터 도출된 해시 값인, "a의 해시"에 대한 단축 표기임에 유의한다. 위에 언급된 바와 같이, 프리픽스로부터 해시 값을 도출하기 위해 다양한 방법들이 사용될 수 있다. 도 6에 다른 프리픽스들이 유사하게 n 비트 고정-길이 어드레스들로 변환될 수 있다.
도 7은 실시예에 따라, 완전-매치 룩업 엔진을 사용하여 유효한 최장 프리픽스 매치를 고정-길이 어드레스들의 수로 수행하는 프로세스를 도시한 흐름도이다. 시스템은 가장 짧은 프리픽스부터 최장 프리픽스로, 다음 동작들을 반복하여 수행한다(동작 700). 먼저 시스템은 각각의 프리픽스에 대응하는 고정-길이 어드레스에 대한 전송 정보를 완전-매치 룩업으로 결정한다(동작 710). 이어서 시스템은 최장 매치된 프리픽스에 연관된 전송 정보를 선택한다(동작 720). 시스템은 최장 매치된 프리픽스에 연관된 전송 정보를 선택하기 때문에, 시스템은 완전-매치 룩업을 사용함으로써 최장 매치 프리픽스를 결정할 수 있다.
시스템은 모든 구성요소들이 수신된 후에 동작 710 및 동작 720을 반복하여 수행할 수 있는 것에 유의한다. 예를 들면, 시스템은 최장 프리픽스부터 가장 짧은 프리픽스로 이들 동작들을 수행할 수 있다. 시스템은 이들 동작들을 병렬로 수행할 수 있다. 프리픽스들이 처리되는 순서에 관계없이, 시스템은 최장 매치된 프리픽스에 연관된 전송 정보를 리턴시키는 것만을 필요로 한다.
도 8a는 실시예에 따라 완전-매치 룩업 엔진의 일 예시적인 개념도이다. 이 도면은 n 비트 고정-길이 어드레스들(800)을 도시한 것으로, 이들 어드레스들은 k 비트들로(요소 810) 구성요소들의 개수 및 n-k 비트들로(요소 820) 프리픽스의 해시 값 둘 모두를 저장할 수 있다. 또한, 도면은 하나 이상의 출력 포트들의 색인들을 나타낼 수 있는 전송 정보(830)를 나타낸다. 예를 들면, "23"은 출력 포트 번호 23을 나타낸다. 엔트리들(840 내지 860)은 룩업 테이블에 저장될 수 있고 완전-매치 룩업 엔진에 의해 탐색될 수 있는 엔트리들을 나타낸다. 예를 들면, 엔트리(840)는 제 1 k 비트들이 "1"을 나타내고 나머지 n-k 비트들이 "h(/a)"를 나타내는 고정된 n 비트 어드레스가 출력 포트 23에 대응함을 나타낸다. 유사하게, 엔트리(850)는 제 1 k 비트들이 "2"를 나타내고 나머지 n-k 비트들이 "h(/a/b)"를 나타내는 고정된 n 비트 어드레스가 출력 포트 60에 대응함을 나타낸다.
룩업 엔진의 이 개념도를 계속하여, HSVLI "/a/b/c/d"가 모든 이의 프리픽스들로부터 복수의 n 비트 고정-길이 어드레스들로 적합하게 변환된 것으로 가정한다. 그러면 시스템은 최장 매치된 프리픽스에 연관된 전송 정보로서 "127"을 리턴할 것이다.
위에 기술된 바와 같이, 시스템은 시스템이 가장 짧은 프리픽스부터 최장 프리픽스까지 완전-매치 룩업을 수행한다면, 단일 메모리 위치(R)를 사용하여 지금까지 발견된 최장 프리픽스 매치를 유지할 수 있다. 시스템이 각각의 프리픽스를 변환한 후에, 룩업을 수행할 수 있고, 매치가 발견된다면, 이전 R 값을 새로운 전송 정보로 대체한다. 시스템이 최장 프리픽스에 대해 룩업을 수행한 후에, R은 최장 프리픽스 매치에 대응하는 전송 정보를 유지할 것이다.
일 실시예에서, 전송 정보는 공통 서브-프리픽스에 기초하여 룩업 엔진에서 다음 가용한 매치의 색인을 포함할 수 있다. 예를 들면, 도 8에서, 엔트리(850)에 대한 전송 정보는 엔트리(860)에 대한 포인터를 포함할 수 있다. 시스템은 룩업 엔진이 주어진 수의 구성요소들에 대한 엔트리를 포함하지 않을 때 이 주어진 수의 구성요소들을 가진 룩업을 회피함으로써 이 다음 가용한 매치를 활용할 수 있다. 예를 들면, 시스템은 3개의 구성요소들을 갖고 있고 룩업 엔진에 존재하지 않는 "a/b/c"의 n 비트 변환을 룩업하는 것을 피할 수 있다. 도 7에서 반복은 전송 정보로 표시된 바와 같이 어떤 프리픽스 길이들을 스킵하게 수정될 수 있다. 일단 룩업 엔진이 2개의 구성요소들을 갖는 "/a/b"의 n 비트 변환에 매치되었다면, 다음 가용한 매치는 4개의 구성요소들을 갖는 "/a/b/c/d"일 수 있다. 전송 정보의 부분으로서 리턴될 때, 다음 가용한 매치의 색인은 3개의 구성요소들을 갖는 "/a/b/c"의 n 비트 변환을 시스템이 룩업하는 것을 피할 수 있게 한다.
일부 실시예들에서, 룩업 결과는 HSVLI의 구성요소들이 수신되었을 때 후속 룩업들을 용이하게 할 수 있는 어떤 피드백 정보를 포함할 수 있다. 예를 들면, 시스템은 n 비트들 중에서 k 비트들을 예비 비트들로서 할당할 수 있다. 룩업 결과는 후속 룩업들을 안내하기 위해 사용될 수 있는 연산자(operator)를 포함할 수 있다. 도 8b는 본 발명의 일 실시예에 따라, 룩업을 사용하는 것이 HSVLI에 대한 후속의 룩업들을 용이하게 하는 일 예시적인 메커니즘을 도시한 것이다. 이 예에서, HSVLI의 구성요소들이 수신될 때, 시스템은 복수의 n 비트 고정-길이 어드레스들을 생성한다. 각각의 어드레스는 k개의 예비 비트들(850), 및 프리픽스의 해시 값을 저장하는 n-k 비트들(860)을 포함한다. 룩업 프로세스는 2개의 부분들로서, 연산자(862) 및 룩업 리턴 값(864)(출력 포트 정보를 포함할 수 있는)을 포함하는 결과를 생성한다. 연산자(862)의 값에 기초하여, 시스템은 HSVLI의 더 많은 구성요소들이 수신될 때 후속 룩업들에 관하여 서로 다른 동작들을 수행할 수 있다.
일 실시예에서, 연산자(862)는 적어도 동작들로서, "매치", "매치 및 완료", "완료", "문자 로딩", 및 "m 구성요소들 필요"을 나타낼 수 있다.
연산자(862)가 "매치"을 나타낼 때, 이것은 매치가 룩업에 의해 식별되었으며 동일 프리픽스를 가진 룩업 테이블에 더 이상의 매치가 있을 수 있음을 의미한다. 즉, 시스템은 룩업으로 더 긴 프리픽스에 대한 매치가 있을 수 있음이 가능하기 때문에, HSVLI의 추가의 구성요소(들)이 수신되었을 때 또 다른 룩업을 수행할 것이 예상된다.
연산자(862)가 "매치 및 완료"을 나타낼 때, 이것은 매치가 식별되었으며 더 긴 프리픽스에 대해 룩업 테이블에서 그외 다른 매치들은 없음을 의미한다. 그러므로, 시스템은 HSVLI의 추가의 구성요소(들)이 수신되었을 때 더 이상의 룩업들을 수행할 필요가 없다. 이 표시는 시스템에 처리 부담을 감소시킬 수 있다.
연산자(862)가 "완료"를 나타낼 때, 이것은 어떠한 매치도 식별되지 않았으며, 더 긴 프리픽스에 대한 룩업 테이블에 다른 매치들은 없음을 의미한다. 그러므로, 시스템은 동일 HSVLI에 대해 더 이상의 룩업들을 수행할 필요가 없다.
연산자(862)가 "문자 로딩"을 나타낼 때, 이것은 현재 프리픽스의 해시가 탐색에 대한 키로서 사용되는 이 현재의 프리픽스가 매치가 있으며 시스템은 후속 룩업들에 대해 생성된 고정-길이 어드레스들에 k 예비 비트들에 미리 결정된 값(즉, 문자 값)을 로딩할 것으로 예상됨을 의미한다. 이 선택은 초기에 매치를 발생하는 하나 이상의 하이-레벨 공통 구성요소들을 프리픽스가 포함할 때 사용될 수 있고, 따라서, 추가의 구성요소들이 수신되었을 때, 후속되는 룩업들은 k 유보 비트들에 로딩된 문자를 포함하는 키에 기초할 것이다. 예를 들면, 시스템이 "/parc.com/" 명칭의 제 1 구성요소를 수신하였을 때, 시스템은 이 프리픽스에 기초하여 정규 룩업을 발행하여 매치를 발견한다. 룩업 결과는 동일 명칭에 대해 생성된 후속의 프리픽스들이 k 유보 비트들에 문자 값을 포함할 것이다. 이렇게 하여, 유보 비트에 로딩된 문자 값은 해시 값 충돌들에 기인한 후속의 룩업들에서 오류 매치들을 방지할 수 있다.
연산자(862)가 "m 구성요소들 필요"를 나타낼 때, 이것은 현재의 프리픽스의 매치가 식별되었고 동일 HSVLI에 대한 더 긴 프리픽스에 대한 다음 매치가 m 구성요소들을 요구할 것임을 의미한다. 대응하여, 시스템은 동일 HSVLI에 대한 m 구성요소들이 수신될 때까지 어떠한 룩업도 수행할 필요가 없다. m 구성요소들에 대해 어떠한 매치도 발견되지 않는다면, 이전 매치는 최상의 매치으로서 간주될 것이며 어떠한 더 이상의 룩업들도 필요하지 않을 것이다.
일 실시예에서, 룩업 엔진은 n 비트 고정-길이 어드레스의 완전-매치 룩업을 수행한다. 룩업 엔진은 해시 테이블, 직접 룩업 어레이, 2진 콘텐트 어드레스가능한 메모리(CAM) 중 하나 이상을 포함할 수 있다. CAM은 CAM이 모든 콘텐트 위치들에 걸쳐 병렬로 입력 값을 탐색하여 연관된 값과의 매치를 하나의 사이클 내에 리턴시킬 수 있도록 각각의 저장위치가 각각의 비트마다 하나의 비교기를 가지는 메모리이다. 2진 CAM은 입력 워드에 대한 완전-매치 룩업을 수행하며, 이것은 예를 들면 주어진 48 비트 MAC 어드레스에 대한 출력 포트를 룩업할 필요가 있는 이더넷 스위치에서 사용될 수 있다. 직접 룩업 어레이는 프리픽스에 연관된 각각의 n 비트 어드레스마다의 전송 정보를 저장한다. 해시 테이블은 다수의 n 비트 어드레스들간에 충돌들을 허용함으로써 이 정보를 더 콤팩트하게 저장한다. 즉, 직접 룩업 어레이는 1-대-1 매치가며, 반면 해시 테이블은 다수-대-1 매치다.
도 9는 실시예에 따라 HSVLI들을 가진 패킷들을 전송하기 위한 일 예시적인 장치를 도시한 것이다. HSVLI들을 가진 패킷들을 전송하기 위한 장치(900)는 프로세서(910), 메모리(920), 저장장치(930), 변환 메커니즘(940), 및 매치 메커니즘(950)을 포함하며, 이들 모두는 다양한 수단을 통해 서로 통신할 수 있다.
일부 실시예들에서, 메커니즘들(940, 950)은 프로세서(910)의 일부일 수 있다. 또한, 일부 실시예들에서, 시스템은 별도의 프로세서 및 메모리를 포함하지 않을 수 있다. 대신, 이들의 특정의 작업들을 수행하는 것 외에, 메커니즘들(940, 950)은 이들이 개별적으로 또는 협력하여, 범용 또는 전용 계산 엔진들의 일부가 될 수도 있다.
저장장치(930)는 프로세서(910)에 의해 실행될 프로그램들을 저장한다. 특히, 저장장치(930)는 완전-매치 룩업 엔진을 HSVLI들에 적응시키기 위한 시스템을 구현하는 프로그램을 저장한다. 동작 동안에, 애플리케이션 프로그램은 저장장치(930)로부터 메모리(920)에 로딩되어 프로세서(910)에 의해 실행될 수 있다. 결국, 장치(900)는 위에 기술된 기능들을 수행할 수 있다. 장치(900)는 선택적인 디스플레이(980), 키보드(960), 및 포인팅 디바이스(970)에 결합될 수 있다.
이 상세한 설명에서 기술된 데이터 구조들 및 코드는 전형적으로, 컴퓨터 시스템에 의한 사용을 위한 코드 및/또는 데이터를 저장할 수 있는 임의의 디바이스 또는 매체일 수 있는 컴퓨터-판독가능한 저장매체 상에 저장된다. 컴퓨터-판독가능한 저장매체는 휘발성 메모리, 비휘발성 메모리, 디스크 드라이브들과 같은 자기 및 광학 저장 디바이스들, 자기 테이프, CD들(컴팩트 디스크들), DVD들(디지털 다기능 디스크들 또는 디지털 비디오 디스크들), 또는 현재 공지된 또는 나중에 개발될 컴퓨터-판독가능한 매체를 저장할 수 있는 그외의 매체들을 포함하는데, 그러나 이들로 국한되는 것은 아니다.
상세한 설명 부분에 기술된 방법들 및 프로세스들은 위에 기술된 컴퓨터-판독가능한 저장 매체에 저장될 수 있는 코드 및/또는 데이터로서 실현될 수 있다. 컴퓨터 시스템이 컴퓨터-판독가능한 저장 매체 상에 저장된 코드 및/또는 데이터를 판독하여 실행할 때, 컴퓨터 시스템은 데이터 구조들 및 코드로서 구현되어 컴퓨터-판독가능한 저장 매체 내에 저장된 방법들 및 프로세스들을 수행한다.
또한, 여기에 기술된 방법들 및 프로세스들은 하드웨어 모듈들 또는 장치에 포함될 수 있다. 이들 모듈들 또는 장치는 ASIC(application-specific integrated circuit) 칩, FPGA(field-programmable gate array), 특정 시간에 특정의 소프트웨어 모듈 또는 한 조각의 코드를 실행하는 전용 또는 공유 프로세서 및/또는 현재 공지된 또는 나중에 개발될 그외 프로그래밍가능한 로직 디바이스들을 포함하는데, 그러나 이들로 국한되는 것은 아니다. 하드웨어 모듈들 또는 장치가 활성화되었을 때, 이들은 이들 내에 포함된 방법들 및 프로세스들을 수행한다.
여러 실시예들의 전술한 설명들은 예시 및 설명의 목적들로만 제시되었다. 이들은 철저하거나 개시된 형태들로 본 발명을 제한하려는 것은 아니다. 따라서, 많은 수정들 및 변형들이 당업자들에게 명백할 것이다. 또한, 위에 개시된 바는 본 발명을 제한하려는 것이 아니다.
위에 설명은 당업자가 실시예들을 제작하여 사용할 수 있게 제시된 것이며 특정 애플리케이션 및 이의 요건들의 맥락에서 제공된 것이다. 개시된 실시예들에 대한 다양한 수정들이 당업자들에게 쉽게 명백할 것이며, 여기에서 규정된 일반적 원리는 본 개시의 사상 및 범위 내에서 다른 실시예들 및 애플리케이션들에 적용될 수 있다. 이에 따라, 본 발명은 도시된 실시예들로 제한되지 않으며, 여기 개시된 원리들 및 특징들과 일관된 최장의 범위에 따르는 것이다.
180: 네트워크
100, 105, 110, 115, 120, 125, 130, 135, 140, 145: 노드
220: 변환기 240: 완전-매치 룩업 엔진
910: 프로세서 920: 메모리
930: 저장장치 940: 변환 메커니즘
950: 매치 메커니즘 960: 키보드
970: 포인팅 디바이스

Claims (24)

  1. 계층적으로 구조화된 가변-길이 식별자들(HSVLIs)을 갖는 패킷들을 전송하기 위한 컴퓨터 실행가능 방법에 있어서:
    컴퓨터에 의해, HSVLI를 복수의 고정-길이 어드레스들로 변환하는 단계로서, 상기 HSVLI는 한 조각(piece)의 콘텐트를 식별하고, 계층의 가장 일반적인 레벨부터 상기 계층의 가장 특정한 레벨까지 상기 계층에서의 순서화된 연속적인 구성요소들을 포함하는, 상기 HSVLI 변환 단계; 및
    적어도 상기 고정-길이 어드레스들에 기초하여 다수의 완전-매치 룩업들(exact-match lookups)을 수행함으로써 상기 조각의 콘텐트와 관련된 패킷을 전송하기 위한 최장-프리픽스-매치 룩업을 수행하는 단계를 포함하는, 계층적으로 구조화된 가변-길이 식별자들을 갖는 패킷들을 전송하기 위한 컴퓨터 실행가능 방법.
  2. 제 1 항에 있어서,
    상기 HSVLI를 복수의 고정-길이 어드레스들로 변환하는 단계는:
    상기 HSVLI의 복수의 프리픽스들을 생성하는 단계로서, 각각의 프리픽스는 상기 가장 일반적인 레벨에서의 구성요소에서 시작된 하나 이상의 연속적인 구성요소들을 나타내는, 상기 HSVLI의 복수의 프리픽스들 생성 단계; 및
    상기 HSVLI의 각 프리픽스를 적어도 하나의 고정-길이 어드레스로 변환하는 단계를 포함하는, 계층적으로 구조화된 가변-길이 식별자들을 갖는 패킷들을 전송하기 위한 컴퓨터 실행가능 방법.
  3. 제 2 항에 있어서,
    상기 각 프리픽스를 변환하는 단계는:
    상기 프리픽스 내의 구성요소들의 수를 상기 고정-길이 어드레스에서의 미리 결정된 수의 비트들로 나타내는 단계; 및
    상기 프리픽스로부터 도출된 해시 값(hash value)을 상기 고정-길이 어드레스의 남은 비트들로 나타내는 단계를 포함하는, 계층적으로 구조화된 가변-길이 식별자들을 갖는 패킷들을 전송하기 위한 컴퓨터 실행가능 방법.
  4. 제 2 항에 있어서,
    상기 최장-프리픽스-매치 룩업을 수행하는 단계는:
    최단 프리픽스에서 최장 프리픽스까지 이하의 동작들, 즉
    완전-매치 룩업을 이용하여 각각의 프리픽스에 대응하는 상기 고정-길이 어드레스에 대한 전송 정보를 결정하는 동작; 및
    상기 완전-매치 룩업으로 결정된, 가장 많은 구성요소들을 갖는 상기 프리픽스와 관련된 전송 정보를 선택하는 동작을 반복적으로 수행하는 단계를 포함하는, 계층적으로 구조화된 가변-길이 식별자들을 갖는 패킷들을 전송하기 위한 컴퓨터 실행가능 방법.
  5. 제 4 항에 있어서,
    상기 완전-매치 룩업은 이하의 표시들, 즉
    매치가 발견되었는지의 표시;
    매치가 발견되었고, 추가의 구성요소들을 갖는 프리픽스를 위해 부가적인 매치가 이용가능한지의 표시;
    추가의 구성요소들을 갖는 프리픽스에 대한 부가적인 매치를 획득하는데 필요한 추가의 구성요소들의 수의 표시; 및
    상기 프리픽스에 대한 매치에 대응하는 문자 값으로서, 상기 문자 값은 상기 고정-길이 어드레스 내의 복수의 예비 비트들에 로딩되어, 후속 룩업들을 용이하게 하고 어드레스 충돌들의 기회를 감소시키는, 상기 문자 값의 표시 중 하나 이상을 포함하는 결과를 리턴시키는, 계층적으로 구조화된 가변-길이 식별자들을 갖는 패킷들을 전송하기 위한 컴퓨터 실행가능 방법.
  6. 제 4 항에 있어서,
    상기 전송 정보는 적어도 하나의 출력 포트에서 나타나는, 계층적으로 구조화된 가변-길이 식별자들을 갖는 패킷들을 전송하기 위한 컴퓨터 실행가능 방법.
  7. 제 1 항에 있어서,
    상기 완전-매치 룩업은 완전-매치 룩업 엔진에 의해 수행되고,
    상기 완전-매치 룩업 엔진은:
    해시 테이블;
    직접 룩업 어레이; 및
    2진 콘텐트-어드레스가능한 메모리(CAM) 중 하나 이상을 포함하는, 계층적으로 구조화된 가변-길이 식별자들을 갖는 패킷들을 전송하기 위한 컴퓨터 실행가능 방법.
  8. 제 1 항에 있어서,
    상기 HSVLI 내의 각각의 연속적인 구성요소들은:
    글로벌적으로 라우팅가능한 명칭;
    조직적 명칭;
    버전 식별자; 및
    다이제스트 중 하나 이상을 포함하는, 계층적으로 구조화된 가변-길이 식별자들을 갖는 패킷들을 전송하기 위한 컴퓨터 실행가능 방법.
  9. 계층적으로 구조화된 가변-길이 식별자들(HSVLIs)을 갖는 패킷들을 전송하기 위한 장치에 있어서:
    프로세서;
    메모리;
    HSVLI를 복수의 고정-길이 어드레스들로 변환하도록 구성된 변환 메커니즘으로서, 상기 HSVLI는 한 조각의 콘텐트를 식별하고, 계층의 가장 일반적인 레벨부터 상기 계층의 가장 특정한 레벨까지 상기 계층에서의 순서화된 연속적인 구성요소들을 포함하는, 상기 변환 메커니즘; 및
    적어도 상기 고정-길이 어드레스들에 기초하여 다수의 완전-매치 룩업들을 수행함으로써 상기 조각의 콘텐트와 관련된 패킷을 전송하기 위한 최장-프리픽스-매치 룩업을 수행하도록 구성된 매칭 메커니즘을 포함하는, 계층적으로 구조화된 가변-길이 식별자들(HSVLIs)을 갖는 패킷들을 전송하기 위한 장치.
  10. 제 9 항에 있어서,
    상기 HSVLI를 복수의 고정-길이 어드레스들로 변환하는 동안, 상기 변환 메커니즘은:
    상기 HSVLI의 복수의 프리픽스들을 생성하고, 각각의 프리픽스는 상기 가장 일반적인 레벨에서의 구성요소에서 시작된 하나 이상의 연속적인 구성요소들을 나타내고,
    상기 HSVLI의 각 프리픽스를 적어도 하나의 고정-길이 어드레스로 변환하도록 구성되는, 계층적으로 구조화된 가변-길이 식별자들(HSVLIs)을 갖는 패킷들을 전송하기 위한 장치.
  11. 제 10 항에 있어서,
    각 프리픽스를 변환하는 동안, 상기 변환 메커니즘은:
    상기 프리픽스 내의 구성요소들의 수를 상기 고정-길이 어드레스에서의 미리 결정된 수의 비트들로 나타내고;
    상기 프리픽스로부터 도출된 해시 값을 상기 고정-길이 어드레스의 남은 비트들로 나타내도록 구성되는, 계층적으로 구조화된 가변-길이 식별자들(HSVLIs)을 갖는 패킷들을 전송하기 위한 장치.
  12. 제 10 항에 있어서,
    상기 최장-프리픽스-매치 룩업을 수행하는 동안, 상기 매칭 메커니즘은:
    최단 프리픽스에서 최장 프리픽스까지 이하의 동작들, 즉
    완전-매치 룩업을 이용하여 각각의 프리픽스에 대응하는 상기 고정-길이 어드레스에 대한 전송 정보를 결정하는 동작; 및
    상기 완전-매치 룩업으로 결정된, 가장 많은 구성요소들을 갖는 상기 프리픽스와 관련된 전송 정보를 선택하는 동작을 반복적으로 수행하도록 구성되는, 계층적으로 구조화된 가변-길이 식별자들(HSVLIs)을 갖는 패킷들을 전송하기 위한 장치.
  13. 제 12 항에 있어서,
    상기 완전-매치 룩업은 이하의 표시들, 즉
    매치가 발견되었는지의 표시;
    매치가 발견되었고, 추가의 구성요소들을 갖는 프리픽스를 위해 부가적인 매치가 이용가능한지의 표시;
    추가의 구성요소들을 갖는 프리픽스에 대한 부가적인 매치를 획득하는데 필요한 추가의 구성요소들의 수의 표시; 및
    상기 프리픽스에 대한 매치에 대응하는 문자 값으로서, 상기 문자 값은 상기 고정-길이 어드레스 내의 복수의 예비 비트들에 로딩되어, 후속 룩업들을 용이하게 하고 어드레스 충돌들의 기회를 감소시키는, 상기 문자 값의 표시 중 하나 이상을 포함하는 결과를 리턴시키는, 계층적으로 구조화된 가변-길이 식별자들(HSVLIs)을 갖는 패킷들을 전송하기 위한 장치.
  14. 제 12 항에 있어서,
    상기 전송 정보는 적어도 하나의 출력 포트에서 나타나는, 계층적으로 구조화된 가변-길이 식별자들(HSVLIs)을 갖는 패킷들을 전송하기 위한 장치.
  15. 제 9 항에 있어서,
    상기 완전-매치 룩업은 완전-매치 룩업 엔진에 의해 수행되고,
    상기 완전-매치 룩업 엔진은:
    해시 테이블;
    직접 룩업 어레이; 및
    2진 콘텐트-어드레스가능한 메모리(CAM) 중 하나 이상을 포함하는, 계층적으로 구조화된 가변-길이 식별자들(HSVLIs)을 갖는 패킷들을 전송하기 위한 장치.
  16. 제 9 항에 있어서,
    상기 HSVLI 내의 각각의 연속적인 구성요소들은:
    글로벌적으로 라우팅가능한 명칭;
    조직적 명칭;
    버전 식별자; 및
    다이제스트 중 하나 이상을 포함하는, 계층적으로 구조화된 가변-길이 식별자들(HSVLIs)을 갖는 패킷들을 전송하기 위한 장치.
  17. 컴퓨터에 의한 실행시, 컴퓨터로 하여금 계층적으로 구조화된 가변-길이 식별자들(HSVLIs)을 갖는 패킷들을 전송하기 위한 방법을 실행하게 하는 명령들을 저장하는 비임시적 컴퓨터-판독가능한 저장 장치에 있어서,
    상기 방법은:
    컴퓨터에 의해, HSVLI를 복수의 고정-길이 어드레스들로 변환하는 단계로서, 상기 HSVLI는 한 조각의 콘텐트를 식별하고, 계층의 가장 일반적인 레벨부터 상기 계층의 가장 특정한 레벨까지 상기 계층에서의 순서화된 연속적인 구성요소들을 포함하는, 상기 HSVLI 변환 단계; 및
    적어도 상기 고정-길이 어드레스들에 기초하여 다수의 완전-매치 룩업들을 수행함으로써 상기 조각의 콘텐트와 관련된 패킷을 전송하기 위한 최장-프리픽스-매치 룩업을 수행하는 단계를 포함하는, 비임시적 컴퓨터-판독가능한 저장 장치.
  18. 제 17 항에 있어서,
    상기 HSVLI를 복수의 고정-길이 어드레스들로 변환하는 단계는:
    상기 HSVLI의 복수의 프리픽스들을 생성하는 단계로서, 각각의 프리픽스는 상기 가장 일반적인 레벨에서의 구성요소에서 시작된 하나 이상의 연속적인 구성요소들을 나타내는, 상기 HSVLI의 복수의 프리픽스들 생성 단계; 및
    상기 HSVLI의 각 프리픽스를 적어도 하나의 고정-길이 어드레스로 변환하는 단계를 포함하는, 비임시적 컴퓨터-판독가능한 저장 장치.
  19. 제 18 항에 있어서,
    상기 각 프리픽스를 변환하는 단계는:
    상기 프리픽스 내의 구성요소들의 수를 상기 고정-길이 어드레스에서의 미리 결정된 수의 비트들로 나타내는 단계; 및
    상기 프리픽스로부터 도출된 해시 값을 상기 고정-길이 어드레스의 남은 비트들로 나타내는 단계를 포함하는, 비임시적 컴퓨터-판독가능한 저장 장치.
  20. 제 18 항에 있어서,
    최단 프리픽스에서 최장 프리픽스까지 이하의 동작들, 즉
    완전-매치 룩업을 이용하여 각각의 프리픽스에 대응하는 상기 고정-길이 어드레스에 대한 전송 정보를 결정하는 동작; 및
    상기 완전-매치 룩업으로 결정된, 가장 많은 구성요소들을 갖는 상기 프리픽스와 관련된 전송 정보를 선택하는 동작을 반복적으로 수행하는 단계를 포함하는, 비임시적 컴퓨터-판독가능한 저장 장치.
  21. 제 20 항에 있어서,
    상기 완전-매치 룩업은 이하의 표시들, 즉
    매치가 발견되었는지의 표시;
    매치가 발견되었고, 추가의 구성요소들을 갖는 프리픽스를 위해 부가적인 매치가 이용가능한지의 표시;
    추가의 구성요소들을 갖는 프리픽스에 대한 부가적인 매치를 획득하는데 필요한 추가의 구성요소들의 수의 표시; 및
    상기 프리픽스에 대한 매치에 대응하는 문자 값으로서, 상기 문자 값은 상기 고정-길이 어드레스 내의 복수의 예비 비트들에 로딩되어, 후속 룩업들을 용이하게 하고 어드레스 충돌들의 기회를 감소시키는, 상기 문자 값의 표시 중 하나 이상을 포함하는 결과를 리턴시키는, 비임시적 컴퓨터-판독가능한 저장 장치.
  22. 제 20 항에 있어서,
    상기 전송 정보는 적어도 하나의 출력 포트에서 나타나는, 비임시적 컴퓨터-판독가능한 저장 장치.
  23. 제 17 항에 있어서,
    상기 완전-매치 룩업은 완전-매치 룩업 엔진에 의해 수행되고,
    상기 완전-매치 룩업 엔진은:
    해시 테이블;
    직접 룩업 어레이; 및
    2진 콘텐트-어드레스가능한 메모리(CAM) 중 하나 이상을 포함하는, 비임시적 컴퓨터-판독가능한 저장 장치.
  24. 제 17 항에 있어서,
    상기 계층적 HSVLI 내의 각각의 연속적인 구성요소들은:
    글로벌적으로 라우팅가능한 명칭;
    조직적 명칭;
    버전 식별자; 및
    다이제스트 중 하나 이상을 포함하는, 비임시적 컴퓨터-판독가능한 저장 장치.
KR1020100008220A 2009-01-30 2010-01-29 완전―매치 룩업 엔진을 사용하는 계층적으로 구조화된 가변―길이 식별자들을 갖는 패킷들을 전송하기 위한 시스템 KR101539210B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US14887109P 2009-01-30 2009-01-30
US61/148,871 2009-01-30
US12/638,478 2009-12-15
US12/638,478 US8243735B2 (en) 2009-01-30 2009-12-15 System for forwarding packets with hierarchically structured variable-length identifiers using an exact-match lookup engine

Publications (2)

Publication Number Publication Date
KR20100088560A KR20100088560A (ko) 2010-08-09
KR101539210B1 true KR101539210B1 (ko) 2015-07-27

Family

ID=42078955

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100008220A KR101539210B1 (ko) 2009-01-30 2010-01-29 완전―매치 룩업 엔진을 사용하는 계층적으로 구조화된 가변―길이 식별자들을 갖는 패킷들을 전송하기 위한 시스템

Country Status (5)

Country Link
US (1) US8243735B2 (ko)
EP (1) EP2214355B1 (ko)
JP (1) JP5525272B2 (ko)
KR (1) KR101539210B1 (ko)
CN (1) CN101819580B (ko)

Families Citing this family (154)

* 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
US8160069B2 (en) * 2009-01-30 2012-04-17 Palo Alto Research Center Incorporated System for forwarding a packet with a hierarchically structured variable-length identifier
US8923293B2 (en) 2009-10-21 2014-12-30 Palo Alto Research Center Incorporated Adaptive multi-interface use for content networking
US8972453B2 (en) 2011-05-12 2015-03-03 Futurewei Technologies, Inc. Method and system for longest prefix matching of variable-sized hierarchical names by treelets
US8713198B2 (en) 2011-06-03 2014-04-29 Telefonaktiebolaget L M Ericsson (Publ) Hierarchical binding and lookup of addresses in inter-process communications systems
KR20130008325A (ko) 2011-07-12 2013-01-22 삼성전자주식회사 컨텐츠 중심 네트워크에서 컨텐츠 요청자, 중간 노드 및 컨텐츠 소유자의 통신 방법
KR101913313B1 (ko) 2011-12-28 2018-10-31 삼성전자주식회사 게이트웨이에서 인터넷 프로토콜 기반 네트워크를 이용하여 컨텐츠 중심 네트워크를 구현하는 방법 및 그 게이트웨이
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)
US9280546B2 (en) * 2012-10-31 2016-03-08 Palo Alto Research Center Incorporated System and method for accessing digital content using a location-independent name
US9400800B2 (en) 2012-11-19 2016-07-26 Palo Alto Research Center Incorporated Data transport by named content synchronization
KR101965794B1 (ko) * 2012-11-26 2019-04-04 삼성전자주식회사 Ip 라우팅 호환을 위한 패킷의 구조, 네트워크 노드의 통신 방법 및 그 네트워크 노드
US10430839B2 (en) 2012-12-12 2019-10-01 Cisco Technology, Inc. Distributed advertisement insertion in content-centric networks
US9049252B2 (en) 2012-12-17 2015-06-02 International Business Machines Corporation Efficient name management for named data networking in datacenter networks
KR101474320B1 (ko) * 2013-02-04 2014-12-18 아주대학교산학협력단 위치기반 컨텐츠를 위한 위치기반 컨텐츠 중심 네트워킹 방법
US9978025B2 (en) * 2013-03-20 2018-05-22 Cisco Technology, Inc. Ordered-element naming for name-based packet forwarding
CN105229980B (zh) 2013-04-11 2018-11-16 马维尔以色列(M.I.S.L.)有限公司 利用可变关键字大小的精确匹配查找的方法及设备
US9935791B2 (en) 2013-05-20 2018-04-03 Cisco Technology, Inc. Method and system for name resolution across heterogeneous architectures
US9185120B2 (en) 2013-05-23 2015-11-10 Palo Alto Research Center Incorporated Method and system for mitigating interest flooding attacks in content-centric networks
US9444722B2 (en) 2013-08-01 2016-09-13 Palo Alto Research Center Incorporated Method and apparatus for configuring routing paths in a custodian-based routing architecture
CN104348728B (zh) * 2013-08-08 2018-03-09 华为技术有限公司 生成转发信息的方法及设备
US9268600B2 (en) * 2013-08-20 2016-02-23 Netronome Systems, Inc. Picoengine pool transactional memory architecture
US9407549B2 (en) * 2013-10-29 2016-08-02 Palo Alto Research Center Incorporated System and method for hash-based forwarding of packets with hierarchically structured variable-length identifiers
US9282050B2 (en) 2013-10-30 2016-03-08 Palo Alto Research Center Incorporated System and method for minimum path MTU discovery in content centric networks
US9276840B2 (en) 2013-10-30 2016-03-01 Palo Alto Research Center Incorporated Interest messages with a payload for a named data network
US9130887B2 (en) * 2013-10-31 2015-09-08 Palo Alto Research Center Incorporated Hash-based forwarding of packets with hierarchically structured variable-length identifiers over ethernet
US9401864B2 (en) 2013-10-31 2016-07-26 Palo Alto Research Center Incorporated Express header for packets with hierarchically structured variable-length identifiers
US9311377B2 (en) 2013-11-13 2016-04-12 Palo Alto Research Center Incorporated Method and apparatus for performing server handoff in a name-based content distribution system
US10129365B2 (en) 2013-11-13 2018-11-13 Cisco Technology, Inc. Method and apparatus for pre-fetching remote content based on static and dynamic recommendations
US10101801B2 (en) 2013-11-13 2018-10-16 Cisco Technology, Inc. Method and apparatus for prefetching content in a data stream
US10089655B2 (en) 2013-11-27 2018-10-02 Cisco Technology, Inc. Method and apparatus for scalable data broadcasting
US9503358B2 (en) 2013-12-05 2016-11-22 Palo Alto Research Center Incorporated Distance-based routing in an information-centric network
US9379979B2 (en) 2014-01-14 2016-06-28 Palo Alto Research Center Incorporated Method and apparatus for establishing a virtual interface for a set of mutual-listener devices
US10172068B2 (en) 2014-01-22 2019-01-01 Cisco Technology, Inc. Service-oriented routing in software-defined MANETs
US10098051B2 (en) 2014-01-22 2018-10-09 Cisco Technology, Inc. Gateways and routing in software-defined manets
US9374304B2 (en) 2014-01-24 2016-06-21 Palo Alto Research Center Incorporated End-to end route tracing over a named-data network
US9954678B2 (en) 2014-02-06 2018-04-24 Cisco Technology, Inc. Content-based transport security
US9531679B2 (en) 2014-02-06 2016-12-27 Palo Alto Research Center Incorporated Content-based transport security for distributed producers
US9678998B2 (en) 2014-02-28 2017-06-13 Cisco Technology, Inc. Content name resolution for information centric networking
US10089651B2 (en) 2014-03-03 2018-10-02 Cisco Technology, Inc. Method and apparatus for streaming advertisements in a scalable data broadcasting system
US9836540B2 (en) 2014-03-04 2017-12-05 Cisco Technology, Inc. System and method for direct storage access in a content-centric network
US9391896B2 (en) 2014-03-10 2016-07-12 Palo Alto Research Center Incorporated System and method for packet forwarding using a conjunctive normal form strategy in a content-centric network
US20150256601A1 (en) * 2014-03-10 2015-09-10 Palo Alto Research Center Incorporated System and method for efficient content caching in a streaming storage
US9473405B2 (en) 2014-03-10 2016-10-18 Palo Alto Research Center Incorporated Concurrent hashes and sub-hashes on data streams
US9626413B2 (en) 2014-03-10 2017-04-18 Cisco Systems, Inc. System and method for ranking content popularity in a content-centric network
US9407432B2 (en) 2014-03-19 2016-08-02 Palo Alto Research Center Incorporated System and method for efficient and secure distribution of digital content
US9916601B2 (en) 2014-03-21 2018-03-13 Cisco Technology, Inc. Marketplace for presenting advertisements in a scalable data broadcasting system
US9363179B2 (en) 2014-03-26 2016-06-07 Palo Alto Research Center Incorporated Multi-publisher routing protocol for named data networks
US9363086B2 (en) * 2014-03-31 2016-06-07 Palo Alto Research Center Incorporated Aggregate signing of data in content centric networking
US9716622B2 (en) 2014-04-01 2017-07-25 Cisco Technology, Inc. System and method for dynamic name configuration in content-centric networks
US10075521B2 (en) 2014-04-07 2018-09-11 Cisco Technology, Inc. Collection synchronization using equality matched network names
US9473576B2 (en) 2014-04-07 2016-10-18 Palo Alto Research Center Incorporated Service discovery using collection synchronization with exact names
US9390289B2 (en) 2014-04-07 2016-07-12 Palo Alto Research Center Incorporated Secure collection synchronization using matched network names
US9451032B2 (en) 2014-04-10 2016-09-20 Palo Alto Research Center Incorporated System and method for simple service discovery in content-centric networks
US9203885B2 (en) 2014-04-28 2015-12-01 Palo Alto Research Center Incorporated Method and apparatus for exchanging bidirectional streams over a content centric network
US9992281B2 (en) 2014-05-01 2018-06-05 Cisco Technology, Inc. Accountable content stores for information centric networks
US9609014B2 (en) 2014-05-22 2017-03-28 Cisco Systems, Inc. Method and apparatus for preventing insertion of malicious content at a named data network router
US9455835B2 (en) 2014-05-23 2016-09-27 Palo Alto Research Center Incorporated System and method for circular link resolution with hash-based names in content-centric networks
US9276751B2 (en) 2014-05-28 2016-03-01 Palo Alto Research Center Incorporated System and method for circular link resolution with computable hash-based names in content-centric networks
US9467377B2 (en) 2014-06-19 2016-10-11 Palo Alto Research Center Incorporated Associating consumer states with interests in a content-centric network
US9516144B2 (en) 2014-06-19 2016-12-06 Palo Alto Research Center Incorporated Cut-through forwarding of CCNx message fragments with IP encapsulation
US9537719B2 (en) 2014-06-19 2017-01-03 Palo Alto Research Center Incorporated Method and apparatus for deploying a minimal-cost CCN topology
US9426113B2 (en) 2014-06-30 2016-08-23 Palo Alto Research Center Incorporated System and method for managing devices over a content centric network
US9699198B2 (en) 2014-07-07 2017-07-04 Cisco Technology, Inc. System and method for parallel secure content bootstrapping in content-centric networks
US9621354B2 (en) 2014-07-17 2017-04-11 Cisco Systems, Inc. Reconstructable content objects
US9959156B2 (en) 2014-07-17 2018-05-01 Cisco Technology, Inc. Interest return control message
US9590887B2 (en) 2014-07-18 2017-03-07 Cisco Systems, Inc. Method and system for keeping interest alive in a content centric network
US10305640B2 (en) 2014-07-18 2019-05-28 Samsung Electronics Co., Ltd. Communication method of node in content centric network (CCN) and the node
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
US9535968B2 (en) 2014-07-21 2017-01-03 Palo Alto Research Center Incorporated System for distributing nameless objects using self-certifying names
US9882964B2 (en) 2014-08-08 2018-01-30 Cisco Technology, Inc. Explicit strategy feedback in name-based forwarding
US9503365B2 (en) 2014-08-11 2016-11-22 Palo Alto Research Center Incorporated Reputation-based instruction processing over an information centric network
US9729662B2 (en) 2014-08-11 2017-08-08 Cisco Technology, Inc. Probabilistic lazy-forwarding technique without validation in a content centric network
US9391777B2 (en) * 2014-08-15 2016-07-12 Palo Alto Research Center Incorporated System and method for performing key resolution over a content centric network
US9800637B2 (en) 2014-08-19 2017-10-24 Cisco Technology, Inc. System and method for all-in-one content stream in content-centric networks
US9467492B2 (en) 2014-08-19 2016-10-11 Palo Alto Research Center Incorporated System and method for reconstructable all-in-one content stream
US9497282B2 (en) 2014-08-27 2016-11-15 Palo Alto Research Center Incorporated Network coding for content-centric network
US10204013B2 (en) 2014-09-03 2019-02-12 Cisco Technology, Inc. System and method for maintaining a distributed and fault-tolerant state over an information centric network
US9553812B2 (en) 2014-09-09 2017-01-24 Palo Alto Research Center Incorporated Interest keep alives at intermediate routers in a CCN
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
US9536059B2 (en) 2014-12-15 2017-01-03 Palo Alto Research Center Incorporated Method and system for verifying renamed content using manifests in a content centric network
US10237189B2 (en) 2014-12-16 2019-03-19 Cisco Technology, Inc. System and method for distance-based interest forwarding
US9846881B2 (en) 2014-12-19 2017-12-19 Palo Alto Research Center Incorporated Frugal user engagement help systems
US9473475B2 (en) 2014-12-22 2016-10-18 Palo Alto Research Center Incorporated Low-cost authenticated signing delegation in content centric networking
US10798000B2 (en) 2014-12-22 2020-10-06 Arista Networks, Inc. Method and apparatus of compressing network forwarding entry information
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
US9916457B2 (en) 2015-01-12 2018-03-13 Cisco Technology, Inc. Decoupled name security binding for CCN objects
US9954795B2 (en) 2015-01-12 2018-04-24 Cisco Technology, Inc. Resource allocation using CCN manifests
US9602596B2 (en) 2015-01-12 2017-03-21 Cisco Systems, Inc. Peer-to-peer sharing in a content centric network
US9462006B2 (en) 2015-01-21 2016-10-04 Palo Alto Research Center Incorporated Network-layer application-specific trust model
US9552493B2 (en) 2015-02-03 2017-01-24 Palo Alto Research Center Incorporated Access control framework for information centric networking
US10333840B2 (en) 2015-02-06 2019-06-25 Cisco Technology, Inc. System and method for on-demand content exchange with adaptive naming in information-centric networks
US9680749B2 (en) * 2015-02-27 2017-06-13 Arista Networks, Inc. System and method of using an exact match table and longest prefix match table as a combined longest prefix match
US10075401B2 (en) 2015-03-18 2018-09-11 Cisco Technology, Inc. Pending interest table behavior
US10116605B2 (en) 2015-06-22 2018-10-30 Cisco Technology, Inc. Transport stack name scheme and identity management
US10075402B2 (en) 2015-06-24 2018-09-11 Cisco Technology, Inc. Flexible command and control in content centric networks
US10701038B2 (en) 2015-07-27 2020-06-30 Cisco Technology, Inc. Content negotiation in a content centric network
US9986034B2 (en) 2015-08-03 2018-05-29 Cisco Technology, Inc. Transferring state in content centric network stacks
US10610144B2 (en) 2015-08-19 2020-04-07 Palo Alto Research Center Incorporated Interactive remote patient monitoring and condition management intervention system
US9832123B2 (en) 2015-09-11 2017-11-28 Cisco Technology, Inc. Network named fragments in a content centric network
US10355999B2 (en) 2015-09-23 2019-07-16 Cisco Technology, Inc. Flow control with network named fragments
US9977809B2 (en) 2015-09-24 2018-05-22 Cisco Technology, Inc. Information and data framework in a content centric network
US10313227B2 (en) 2015-09-24 2019-06-04 Cisco Technology, Inc. System and method for eliminating undetected interest looping in information-centric networks
US10454820B2 (en) 2015-09-29 2019-10-22 Cisco Technology, Inc. System and method for stateless information-centric networking
US10263965B2 (en) 2015-10-16 2019-04-16 Cisco Technology, Inc. Encrypted CCNx
US9794238B2 (en) 2015-10-29 2017-10-17 Cisco Technology, Inc. System for key exchange in a content centric network
US10009446B2 (en) 2015-11-02 2018-06-26 Cisco Technology, Inc. Header compression for CCN messages using dictionary learning
US9807205B2 (en) 2015-11-02 2017-10-31 Cisco Technology, Inc. Header compression for CCN messages using dictionary
US10021222B2 (en) 2015-11-04 2018-07-10 Cisco Technology, Inc. Bit-aligned header compression for CCN messages using dictionary
US10097521B2 (en) 2015-11-20 2018-10-09 Cisco Technology, Inc. Transparent encryption in a content centric network
US9912776B2 (en) 2015-12-02 2018-03-06 Cisco Technology, Inc. Explicit content deletion commands in a content centric network
US10097346B2 (en) 2015-12-09 2018-10-09 Cisco Technology, Inc. Key catalogs in a content centric network
US10078062B2 (en) 2015-12-15 2018-09-18 Palo Alto Research Center Incorporated Device health estimation by combining contextual information with sensor data
US10257271B2 (en) 2016-01-11 2019-04-09 Cisco Technology, Inc. Chandra-Toueg consensus in a content centric network
US9949301B2 (en) 2016-01-20 2018-04-17 Palo Alto Research Center Incorporated Methods for fast, secure and privacy-friendly internet connection discovery in wireless networks
US10305864B2 (en) 2016-01-25 2019-05-28 Cisco Technology, Inc. Method and system for interest encryption in a content centric network
US10043016B2 (en) 2016-02-29 2018-08-07 Cisco Technology, Inc. Method and system for name encryption agreement in a content centric network
US10003507B2 (en) 2016-03-04 2018-06-19 Cisco Technology, Inc. Transport session state protocol
US10038633B2 (en) * 2016-03-04 2018-07-31 Cisco Technology, Inc. Protocol to query for historical network information in a content centric network
US10051071B2 (en) 2016-03-04 2018-08-14 Cisco Technology, Inc. Method and system for collecting historical network information in a content centric network
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
US9832116B2 (en) 2016-03-14 2017-11-28 Cisco Technology, Inc. Adjusting entries in a forwarding information base in a content centric network
US10212196B2 (en) 2016-03-16 2019-02-19 Cisco Technology, Inc. Interface discovery and authentication in a name-based network
US11436656B2 (en) 2016-03-18 2022-09-06 Palo Alto Research Center Incorporated System and method for a real-time egocentric collaborative filter on large datasets
US10067948B2 (en) 2016-03-18 2018-09-04 Cisco Technology, Inc. Data deduping in content centric networking manifests
US10091330B2 (en) 2016-03-23 2018-10-02 Cisco Technology, Inc. Interest scheduling by an information and data framework in a content centric network
US10033639B2 (en) 2016-03-25 2018-07-24 Cisco Technology, Inc. System and method for routing packets in a content centric network using anonymous datagrams
US10320760B2 (en) 2016-04-01 2019-06-11 Cisco Technology, Inc. Method and system for mutating and caching content in a content centric network
US9930146B2 (en) 2016-04-04 2018-03-27 Cisco Technology, Inc. System and method for compressing content centric networking messages
US10425503B2 (en) 2016-04-07 2019-09-24 Cisco Technology, Inc. Shared pending interest table in a content centric network
US10027578B2 (en) 2016-04-11 2018-07-17 Cisco Technology, Inc. Method and system for routable prefix queries in a content centric network
GB201612356D0 (en) 2016-04-19 2016-08-31 Cisco Tech Inc Network monitoring and control system and method
US10404450B2 (en) 2016-05-02 2019-09-03 Cisco Technology, Inc. Schematized access control in a content centric network
US10320675B2 (en) 2016-05-04 2019-06-11 Cisco Technology, Inc. System and method for routing packets in a stateless content centric network
US10547589B2 (en) 2016-05-09 2020-01-28 Cisco Technology, Inc. System for implementing a small computer systems interface protocol over a content centric network
US10063414B2 (en) 2016-05-13 2018-08-28 Cisco Technology, Inc. Updating a transport stack in a content centric network
US10084764B2 (en) 2016-05-13 2018-09-25 Cisco Technology, Inc. System for a secure encryption proxy in a content centric network
US10103989B2 (en) 2016-06-13 2018-10-16 Cisco Technology, Inc. Content object return messages in a content centric network
US10305865B2 (en) 2016-06-21 2019-05-28 Cisco Technology, Inc. Permutation-based content encryption with manifests in a content centric network
US10148572B2 (en) 2016-06-27 2018-12-04 Cisco Technology, Inc. Method and system for interest groups in a content centric network
US10009266B2 (en) 2016-07-05 2018-06-26 Cisco Technology, Inc. Method and system for reference counted pending interest tables in a content centric network
US9992097B2 (en) 2016-07-11 2018-06-05 Cisco Technology, Inc. System and method for piggybacking routing information in interests in a content centric network
US10122624B2 (en) 2016-07-25 2018-11-06 Cisco Technology, Inc. System and method for ephemeral entries in a forwarding information base in a content centric network
US10069729B2 (en) 2016-08-08 2018-09-04 Cisco Technology, Inc. System and method for throttling traffic based on a forwarding information base in a content centric network
US10956412B2 (en) 2016-08-09 2021-03-23 Cisco Technology, Inc. Method and system for conjunctive normal form attribute matching in a content centric network
US10033642B2 (en) 2016-09-19 2018-07-24 Cisco Technology, Inc. System and method for making optimal routing decisions based on device-specific parameters in a content centric network
US10212248B2 (en) 2016-10-03 2019-02-19 Cisco Technology, Inc. Cache management on high availability routers in a content centric network
US10447805B2 (en) 2016-10-10 2019-10-15 Cisco Technology, Inc. Distributed consensus in a content centric network
US10135948B2 (en) 2016-10-31 2018-11-20 Cisco Technology, Inc. System and method for process migration in a content centric network
US10243851B2 (en) 2016-11-21 2019-03-26 Cisco Technology, Inc. System and method for forwarder connection information in a content centric network
US10397115B1 (en) * 2018-04-09 2019-08-27 Cisco Technology, Inc. Longest prefix matching providing packet processing and/or memory efficiencies in processing of packets

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060173831A1 (en) * 2000-04-06 2006-08-03 International Business Machines Corporation Longest prefix match lookup using hash function

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5870605A (en) * 1996-01-18 1999-02-09 Sun Microsystems, Inc. Middleware for enterprise information distribution
US6233646B1 (en) * 1998-08-28 2001-05-15 Electronics And Telecommunications Research Institute Memory interface controller
US6792423B1 (en) * 2000-11-28 2004-09-14 International Business Machines Corporation Hybrid longest prefix match and fixed match searches
US7054855B2 (en) 2001-07-03 2006-05-30 International Business Machines Corporation Method and system for performing a pattern match search for text strings
GB2382962A (en) 2001-12-07 2003-06-11 Altio Ltd Data routing without using an address
CN1218540C (zh) * 2003-08-29 2005-09-07 港湾网络有限公司 组播精确转发的控制方法
US7289979B2 (en) * 2003-12-10 2007-10-30 Alcatel Lucent Parallel asymmetric binary search on lengths

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060173831A1 (en) * 2000-04-06 2006-08-03 International Business Machines Corporation Longest prefix match lookup using hash function

Also Published As

Publication number Publication date
JP2010178341A (ja) 2010-08-12
CN101819580A (zh) 2010-09-01
JP5525272B2 (ja) 2014-06-18
KR20100088560A (ko) 2010-08-09
EP2214355B1 (en) 2012-08-29
EP2214355A1 (en) 2010-08-04
US8243735B2 (en) 2012-08-14
CN101819580B (zh) 2013-10-30
US20100195654A1 (en) 2010-08-05

Similar Documents

Publication Publication Date Title
KR101539210B1 (ko) 완전―매치 룩업 엔진을 사용하는 계층적으로 구조화된 가변―길이 식별자들을 갖는 패킷들을 전송하기 위한 시스템
KR101539211B1 (ko) 계층적으로 구조화된 가변―길이 식별자를 갖는 패킷을 전송하기 위한 시스템
US10257092B2 (en) CCN routing using hardware-assisted hash tables
JP6386468B2 (ja) Ipルーティング互換のためのネットワークノードのパケットフォーマットと通信方法及びそのネットワークノード
US7760720B2 (en) Translating native medium access control (MAC) addresses to hierarchical MAC addresses and their use
JP5624331B2 (ja) コンピュータ実施方法
JP5987690B2 (ja) ネームデータベースサーバ、名前解決システム、エントリ検索方法およびエントリ検索プログラム
EP2159708B1 (en) Method for selecting hash function, method for storing and searching routing table and devices thereof
KR101434065B1 (ko) 최장 프리픽스 매치의 확장성을 개선하기 위한 방법 및 장치
WO2010000201A1 (zh) 存储、查找路由表的方法及装置
Pao et al. Efficient hardware architecture for fast IP address lookup
US20180109454A1 (en) Forwarding information base architecture for a hybrid ip and content centric network router
WO2012053163A1 (ja) ネームデータベースサーバ、名前解決システム、エントリ検索方法およびエントリ検索プログラム
US9485179B2 (en) Apparatus and method for scalable and flexible table search in a network switch
US20050265340A1 (en) Network address-port translation apparatus and method
JP5050978B2 (ja) 伝送情報転送装置及び方法
Hemalatha et al. Real time prefix matching based IP lookup and update mechanism for efficient routing in networks
Tan et al. Efficient name lookup scheme based on hash and character trie in named data networking
KR102060907B1 (ko) 데이터 이름 기반 네트워크에서의 fib 테이블 공유 방법 및 데이터 이름 기반 네트워크 시스템
JP2013038536A (ja) 半導体装置
JP2012216959A (ja) ネットワークアドレス参照方法及び装置及びプログラム
Wang et al. High-performance IP routing table lookup
KR20210044730A (ko) 콘텐츠 중심 네트워크의 패킷 포워딩 장치 및 방법
KR20050043035A (ko) 복수의 해슁 함수를 이용한 ip 어드레스 검색 방법 및하드웨어 구조

Legal Events

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

Payment date: 20180711

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20190710

Year of fee payment: 5