KR101539211B1 - 계층적으로 구조화된 가변―길이 식별자를 갖는 패킷을 전송하기 위한 시스템 - Google Patents
계층적으로 구조화된 가변―길이 식별자를 갖는 패킷을 전송하기 위한 시스템 Download PDFInfo
- Publication number
- KR101539211B1 KR101539211B1 KR1020100008221A KR20100008221A KR101539211B1 KR 101539211 B1 KR101539211 B1 KR 101539211B1 KR 1020100008221 A KR1020100008221 A KR 1020100008221A KR 20100008221 A KR20100008221 A KR 20100008221A KR 101539211 B1 KR101539211 B1 KR 101539211B1
- Authority
- KR
- South Korea
- Prior art keywords
- hsvli
- fixed
- length
- components
- prefix
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
- H04L45/745—Address table lookup; Address filtering
- H04L45/74591—Address table lookup; Address filtering using content-addressable memories [CAM]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
- H04L67/63—Routing a service request depending on the request content or context
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
본 발명은 일반적으로 데이터 네트워크를 통해 통신을 용이하게 하는 방법에 관한 것이다. 특히, 본 발명은 데이터 전송을 위한 계층적으로 구조화된 가변-길이 식별자들을 수용하기 위해 최장-프리픽스-매치 룩업 엔진(longest-prefix-match lookup engine)을 적응시키기 위한 방법에 관한 것이다.
Description
본 발명은 일반적으로 데이터 네트워크를 통해 통신을 용이하게 하는 방법에 관한 것이다. 특히, 본 발명은 데이터 전송을 위한 계층적으로 구조화된 가변-길이 식별자들을 수용하기 위해 최장-프리픽스-매치 룩업 엔진(longest-prefix-match lookup engine)을 적응시키기 위한 방법에 관한 것이다.
본 발명의 목적은 일반적으로 데이터 네트워크를 통해 통신을 용이하게 하는 방법을 제공하는 것이다. 특히, 본 발명은 데이터 전송을 위한 계층적으로 구조화된 가변-길이 식별자들을 수용하기 위해 최장-프리픽스-매치 룩업 엔진을 적응시키기 위한 방법을 제공하는 것이다.
일 실시예는 계층적으로 구조화된 가변-길이 식별자(HSVLI)를 갖는 패킷을 수신하는 시스템을 제공한다. HSVLI는 한 조각(piece)의 콘텐트를 나타내며 가장 일반적 레벨에서 가장 특정한 레벨로 순서화된 연속적인 구성요소들의 계층 구조를 나타낸다. 각각의 식별자의 길이는 고정되지 않는다. 동작 동안, 시스템은 HSVLI를 고정-길이 키로 변환한다. 이어서, 시스템은 고정-길이 키를 사용하여 최장-프리픽스-매치 룩업 엔진으로 하나 이상의 최장-프리픽스-매치들에 기초하여 전송 정보를 획득한다. 다음에, 시스템은 전송 정보에 기초하여 출력 포트에 패킷을 전송한다.
일부 실시예들에서, HSVLI를 고정-길이 키로 변환하는 단계는 고정-길이 키를 c 세그먼트들(s1,...,sc)로 분할하는 단계; HSVLI의 제 1의 c-1 구성요소들에 대한 구성요소 해시들을 세그먼트들(s1,...,sc -1)로 나타내는 단계; 및 HSVLI의 나머지 구성요소들에 대한 해시를 세그먼트(sc)로 나타내는 단계를 포함한다.
일부 실시예들에서, c 세그먼트들의 길이들은 동일하지 않으며, 각각의 세그먼트의 길이는 동적으로 재구성될 수 있다.
일부 실시예들에서, 시스템은 c 세그먼트들의 길이들 각 세그먼트에 해시된 HSVLI 구성요소들의 수, 및/또는 고정-길이 키에 산술적으로 결합될 값을, HSVLI의 초기 구성요소들 중 적어도 하나 이상에 기초하여, 동적으로 결정한다.
일부 실시예들에서, 최장-프리픽스-매치 룩업 엔진은 인터넷 프로토콜(IP) 라우터이다.
일부 실시예들에서, 고정-길이 키는 인터넷 프로토콜 버전 4(IPv4) 또는 인터넷 프로토콜 버전 6(IPv6) 어드레스이다.
일부 실시예들에서, 전송 정보는 적어도 하나의 출력 포트를 포함한다.
일부 실시예들에서, 계층 구조는 글로벌적으로(globally) 라우팅가능한 명칭, 조직적 명핑, 버전 식별자, 및 다이제스트 중 하나 이상을 포함한다.
도 1은 일 실시예에 따라 패킷들이 HSVLI들을 가지는 일 예시적인 네트워크를 도시한 도면.
도 2는 일 실시예에 따라 HSVLI을 갖는 패킷을 전송하기 위한 시스템의 아키텍처를 도시한 도면.
도 3은 일 실시예에 따라 HSVLI을 갖는 패킷을 전송하는 프로세스 도시한 흐름도.
도 4는 일 실시예에 따라 HSVLI을 고정-길이 키로 변환하는 프로세스를 도시한 흐름도.
도 5는 실시예에 따라, 몇 개의 서로 다른 고정-길이 키들로 변환된 HSVLI를 도시한 도면.
도 6은 실시예에 따라 HSVLI를 갖는 패킷을 전송하기 위한 장치를 도시한 도면.
도 2는 일 실시예에 따라 HSVLI을 갖는 패킷을 전송하기 위한 시스템의 아키텍처를 도시한 도면.
도 3은 일 실시예에 따라 HSVLI을 갖는 패킷을 전송하는 프로세스 도시한 흐름도.
도 4는 일 실시예에 따라 HSVLI을 고정-길이 키로 변환하는 프로세스를 도시한 흐름도.
도 5는 실시예에 따라, 몇 개의 서로 다른 고정-길이 키들로 변환된 HSVLI를 도시한 도면.
도 6은 실시예에 따라 HSVLI를 갖는 패킷을 전송하기 위한 장치를 도시한 도면.
도면들에서, 동일한 참조 부호들은 동일한 도면 소자들을 참조한다.
현존의 최장-프리픽스-매치 룩업 엔진들은 비교적 작은 고정된 길이들의 어드레스들만을 취급할 수 있다. 본 발명의 실시예들은 현존의 최장-프리픽스-매치 룩업 엔진들을 더 긴 가변-길이 패킷 식별자들에 적응시키는 단계를 포함한다. 구체적으로, 본 발명의 실시예들은 긴 가변-길이 패킷 식별자들을 현존의 룩업 엔진들에 사용할 수 있는 복수의 짧은 키들에 해싱(hashing)시켜, 현존의 하드웨어 구축 블록들을 사용함으로써 콘텐트-중심적인 네트워크들에서 고속 전송을 용이하게 하는 단계를 포함한다. 본 발명의 실시예들은 인터넷 프로토콜 버전 4(IPv4) 및 인터넷 프로토콜 버전 6(IPv6) 어드레스들과 같은 고정-길이 어드레스들에 최장-프리픽스-매치 룩업 엔진들을 사용하는 IP(인터넷 프로토콜) 라우터에서 HSVLI들을 갖는 패킷들을 전송할 수 있게 한다.
콘텐트-중심적인 네트워크들은 콘텐트 수송에 새로운 방법을 제시한다. 애플리케이션 레벨에서 네트워크 트래픽을 콘텐트가 이동하는 단-대-단 대화들로서 간주하지 않고, 콘텐트는 부분적으로 이에 주어진 명칭에 기초하여 요청 또는 리턴되며, 네트워크는 제공자로부터 고객에 콘텐트를 라우팅한다. 콘텐트는 텍스트, 이미지들, 비디오, 및/또는 오디오와 같은 임의의 형태의 데이터를 포함하는, 통신 시스템에서 수송될 수 있는 데이터를 포함한다. 고객 및 제공자는 컴퓨터에 사람일 수도 있고 또는 네트워크 내 또는 밖의 자동화된 프로세스일 수 있다. 이러한 네트워크에서, 한 조각의 콘텐트는 콘텐트 전체 또는 콘텐트의 각각의 부분을 지칭할 수 있다. 예를 들면, 신문 기사는 데이터 패킷들로서 실시된 다수의 피스들의 콘텐트로 표현될 수도 있을 것이다. 한 조각의 콘텐트는 이 콘텐트를 인증 데이터, 생성일, 콘텐트 소유자, 등과 같은 정보로 기술하거나 증대시키는 메타데이터에 연관될 수도 있다.
통상의 IP 네트워크와는 달리, 콘텐트-중심적인 네트워크들에서, 패킷은 구조화된 것이거나 구조화되지 않은 것일 수 있는 HSVLI에 의해 식별될 수 있다. 예를 들면, "abcd/bob/papers/ccn/news"는 콘텐트의 명칭이 될 수도 있을 것이며 이것은 대응하는 패킷(들)을, "ABCD" 명칭의 단체에 있는 "Bob" 이름을 가진 사용자에 대해 모아놓은 "ccn" 서류들로부터의 "뉴스(news)" 기사로서 식별한다.
한 조각의 콘텐트를 요청하기 위해서, 노드는 콘텐트의 명칭에 의해 이 콘텐트 내 관심사를 등록한다(예를 들면, 브로드캐스트한다). 한 조각의 콘텐트 내 관심사는 콘텐트의 명칭 또는 식별자에 따른 콘텐트에 대한 질의일 수 있다. 콘텐트는 이것이 네트워크에서 입수될 수 있다면, 콘텐트를 저장하고 있는 임의의 노드로부터 이에 다시 라우팅된다. 라우팅 인프라스트럭처(routing infrastructure)는 정보를 갖고 있을 가능성이 있는 가망이 있는 노드들에 관심사를 합리적으로 전파시키고 이어서 관심사가 거쳐간 경로를 따라 가용 콘텐트를 수송한다.
도 1은 본 발명의 일 실시예에 따른 네트워크의 일 예시적인 아키텍처(architecture)를 도시한 것이다. 이 예에서, 네트워크(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))은 네트워크를 통과할 때 콘텐트의 국부적 카피들을 캐시하는데(caching) 관여할 수 있다. 캐싱은 국부적으로 캐시된 콘텐트로의 액세스를 조건없이 공유함으로써 다른 가입자들에 인접하여 위치한 제 2 가입자에 대한 네트워크 부하를 줄인다.
통상의 패킷 전송은 노드들에 할당된 어드레스들에 기초한다(또는 노드들의 인터페이스들). IP 어드레싱에서, 어드레스의 제 1 부분은 네트워크를 식별하고, 나중 부분들은 이 네트워크 내의 서브-네트워크를 확인하고 어드레스의 끝은 서브-네트워크 내의 특정의 호스트를 식별하도록 어드레스들의 계층적 분할이 사용된다. 이 배열은 인터넷이 세계적 크기로 확장될 수 있도록 고유 어드레스들을 할당하는 책무가 위임되고 그럼으로써 분산될 수 있게 한다. 그것은 패킷을 출력 포트에 전송할 때 IP 라우터가 처리하기 위해 필요한 정보의 량을 제한함으로써 스케일링(scaling)이 또한 가능하게 한다.
일 실시예에서, 패킷은 계층 구조를 갖는 HSVLI에 의해 식별된다. 이 HSVLI의 계층 구조는 IP 어드레스의 계층 구조에 비해 몇가지 잇점들을 제공한다. 이러한 식별자는 막연하게 서브네트 마스크를 포함하는 IP 라우팅 엔트리를 통해서가 아니라, 분명하게 명칭을 통해 구조를 기술할 수 있다. 이에 따라, HSVLI에서 계층에 명명 실수는 조사를 통해 검출될 수 있는 반면, IP 기반 서브네트 마스크 실수는 패킷을 틀린 어드레스에 라우팅할 수도 있어 검출하기가 더 어렵다.
일반적으로, IP 전송자에 룩업 엔진은 하나 이상의 룩업 엔진 엔트리가 목적지 어드레스와 매치할 수 있기 때문에 최장-프리픽스-매치를 사용한다. 가장 특정한 엔트리 - 가장 긴 서브네트 마스크를 갖는 것- 를 최장-프리픽스-매치라고 한다. 예를 들면, 룩업 엔진이 다음 IPv4 엔트리들로서, 192.168.20.16/28 및 192.168.0.0/16을 갖는 것으로 가정한다. 들어오는 패킷의 목적지 어드레스 192.168.20.19는 두 엔트리들에 매치한다. 그러나, 최장-프리픽스-매치는 서브네트 마스크 "/28"이 다른 엔트리의 서브네트 마스크 "/16"보다 길기 때문에 192.168.20.16/28이다. 서브네트 마스크는 이의 대응하는 어드레스와 매치할 때 사용되는 선두 비트들(즉, 서브네트 마스크에 "1"로 설정되는 것들)을 명시함에 유의한다. 더 많은 선두 비트들이 "1"로 설정될수록, 매치는 더 특정해진다.
최장-프리픽스-매치는 국부적 환경에 따라 데이터그램의 목적지 어드레스를 서로 다른 "레졸루션들(resolutions)"로 해석될 수 있게 한다. 예를 들면, 목적지 13.1.64.93(alpha.parc.xerox.com)에서 먼 곳에는 최근접 네트 13(Xerox) 보더 게이트웨이(border gateway)에 대한 데이터그램을 얻는 서브네트 어드레스 "13/8"(서브네트 마스크 255.0.0.0에 대응하는)에 대한 IPv4 엔트리만이 있을 수도 있을 것이다. 이 보더 게이트웨이에는 최근접 서브네트 13.1(parc.xerox.com) 보더 게이트웨이에 대한 데이터그램을 얻는 서브네트 주소 "13.1/16" 및 아마도 "13.2/16,"...(서브네트 마스크 255.255.0.0에 대응하는)에 대한 엔트리가 있을 수도 있다. 이 게이트웨이에는 PARC의 13.1.64 서브네트에 대한 데이터그램을 얻는 서브네트 어드레스 "13.1.64/24"(서브네트 마스크 255.255.255.0에 대응하는)에 대한 엔트리, 등이 있을 수도 있다. 최장-프리픽스-매치는 동일 라우팅 테이블에 낮은 분해능 전역 정보(/8 프리픽스)를 고 레졸루션 로컬 정보(/16 및 /24 프리픽스들)로 대체할 수 있게 한다.
완전 매치(exact match)와는 반대로, 최장-프리픽스-매치는 어드레스의 부분들간의 분할들을 (글로벌) 네트워크에 걸쳐 다양하게 할 수 있게 하며 매우 다양한 토폴로지들에 대한 융통성을 지원한다. 여기에 기술된 HSVLI들 또한 계층적이어서 명명 책무의 위임 및 최소 전송 상태를 가능하게 한다. 그러나, IP 어드레스들(및 그외 통상적 네트워크 어드레스들)인 비교적 짧다. 예를 들면, IPv4 어드레스는 사람이 이해하게 192.9.200.6로서 그러나 내부적으로는 항시 32-비트 숫자로 고쳐 쓸 수 있으나, IPv6은 128 비트로 길다.
모든 현존의 IP 라우터들에서, 처리되는 어드레스들은 고정-길이들을 갖는다. 그러므로, 통상의 어드레스들과는 달리, 여기에 기술된 패킷 식별자의 고정된 길이는 없다. 실제로, HSVLI의 개개의 구성요소는 임의의 길이를 가질 수 있다. 이러한 HSVLI은 명백하게 범위가 정해진 구성요소들을 가질 수 있고, 임의의 시퀀스의 바이트들을 포함할 수 있고, 사람이 판독가능한 문자들로 제한되는 것은 아니다.
최장-프리픽스-매치 룩업은 HSVLI들을 가진 패킷들을 전송하는데 있어 잇점이 있다. 예를 들면, "/parc/home/smetters"에서 관심사(interest)는 "/parc/home/smetters/test.txt" 및 "/parc/home/smetters/bar.txt"(즉, 이들 명칭들 둘 모두에 의해 식별된 패킷들) 둘 모두에 매치될 것이다. 명칭 구성요소들의 개수에 관하여, 최장 매치는 이것이 가장 특정하기 때문에 최상인 것으로 간주된다. 본 발명의 실시예들은 가변-길이 패킷 식별자로 최장-프리픽스-매치 룩업을 수행할 수 있게 최장-프리픽스-매치 룩업 엔진을 적응시키는 메커니즘을 제공한다.
도 2는 일 실시예에 따라 HSVLI을 가진 패킷을 전송하기 위한 일 예시적인 시스템의 개요도이다. HSVLI을 가진 패킷을 전송하기 위한 시스템(200)은 패킷 수신기(220), 변환기(240), 전송-정보 획득기(260), 및 패킷 전송기(280)를 포함한다. 패킷 수신기(220)는 입력 포트로부터 패킷(210)을 수신한다. 패킷(210)은 HSVLI(230)를 포함하는데, 이것은 한 조각의 콘텐트를 나타내며 가장 일반적 레벨부터 가장 특정한 레벨로 순서화된 연속적인 구성요소들의 계층 구조를 나타낸다. 예를 들면, HSVLI는 "a/b/c/d"일 수도 있을 것이며, 여기서 "a"는 가장 일반적 레벨이고 "a/b/c/d"는 가장 특정한 레벨이다.
다음에, 변환기(240)는 입력으로서 HSVLI(230)을 취하여 고정-길이 키(250)를 생성한다. 변환기(240)는 HSVLI(230)을 최장-프리픽스-매치 룩업 엔진에 의해 사용될 수 있는 고정-길이 포맷으로 변환한다. 전송-정보 획득기(260)는 고정-길이 키(250)를 사용하여 전송 정보(270)를 생성하고, 이어서 이것은 패킷 전송기(280)에 입력된다. 전송 정보는 적어도 하나의 출력 포트를 지정할 수 있고 이 포트에 패킷 전송기(280)가 패킷을 전송한다. 노드는 하나 이상의 입력 및 출력 포트들을 포함하며, 이들 포트들은 다른 노드들에 결합된다. 일반적으로, 시스템(노드에 존재할 수 있는)은 패킷 이동 시간 또는 노드들 간에 홉들의 개수와 같은 어떤 기준을 최적화하는 출력 포트들을 선택하기를 시도한다. 전형적인 최장-프리픽스-매치 전송기는 고정-길이 어드레스의 최장-프리픽스-매치에 기초하여 패킷을 전송할 것임에 유의한다. 반대로, 여기에서 기술된 전송기는 패킷을 어드레스가 아니라 HSVLI에 기초하여 전송한다. 본 발명의 실시예들은 전형적인 최장-프리픽스-매치 전송 엔진이 가변-길이 패킷 식별자로 최장-프리픽스-매치를 수행할 수 있게 한다.
도 3은 일 실시예에 따라 HSVLI을 가진 패킷을 전송하는 프로세스를 도시한 흐름도이다. 동작 동안에, 시스템은 입력 포트에서 패킷을 수신한다(동작 300). 패킷은 가장 일반적 레벨부터 가장 특정한 레벨로 순서화된 연속적인 구성요소들의 계층 구조를 나타내는 HSVLI를 포함한다. 계층 구조의 구성요소는 글로벌적으로 라우팅가능한 명칭, 조직적 명칭, 버전 식별자, 서명, 다이제스트, 발행자, 순환용장 체크, 구성요소들의 수에 관한 길이, 구성요소당 복수의 비트 또는 바이트, 또는 활성 시간(time-to-live; TTL)을 포함할 수 있다.
일단 시스템이 패킷을 수신하였으면(동작 300), 패킷에 의해 나타내어진 HSVLI를 고정-길이 키로 변환하다(동작 310). HSVLI는 가장 일반적 레벨의 구성요소부터 시작하는 하나 이상의 연속적인 구성요소들을 포함하는 것에 유의한다. 예를 들면, "a/b"는 "a/b/c/d"의 프리픽스이다. 이 예에서, "a"는 가장 일반적 레벨이고 "a", "b", "c", "d"는 인접 요소들이다.
다음에, 시스템은 고정-길이 키를 사용하여 최장-프리픽스-매치 룩업 엔진에서 하나 이상의 최장-프리픽스-매치 룩업들을 기초하여 전송 정보를 획득한다(동작 320). 이어서, 시스템은 전송 정보에 기초하여 출력 포트에 패킷을 전송한다(동작 330). 시스템은 패킷이 전송될 수 있는 포트로서 입력 포트를 제외시킬 수 있다. 이것은 HSVLI에 매치되는 콘텐트를 포함하는 노드로의 최단 경로 루트가 입력 포트를 통해 같은 경로로 되돌아오는 루트일 수 없기 때문이다.
일 실시예에서, 전송기는 패킷을 전송하기 전에 콘텐트 명칭의 부분으로서 TTL 값을 감소시킬 수 있다. TTL은 패킷이 유포되는 상태에 있을 수 있는 시간 또는 홉들의 수에 관한 제한이다. TTL이 제로에 도달할 때, 패킷은 폐기될 수 있다. 이에 따라 TTL은 유포되는 전송불가한 패킷들의 수를 감소시킬 수 있다. 전송기는 전송 전에 패킷에 대한 임의의 변경 후에 체크섬(checksum)을 재계산할 수도 있다(예를 들면, 순환용장 체크섬). 일반적으로, 전송기는 전송 전에 패킷의 임의의 양태를 수정할 수 있다.
도 4는 일 실시예에 따라 HSVLI를 변환시키는 프로세스를 도시한 흐름도이다. 먼저, 시스템은 고정-길이 키를 세그먼트들(s1,...sc)로 분할한다(동작 400). 다음에, 시스템은 HSVLI의 제 1의 (c - 1) 구성요소들에 대한 해시들을 계산하고 이들 해시 값들을 세그먼트들(s1,...sc)에 넣는다(동작 410). 이어서, 시스템은 HSVLI의 나머지 구성요소들에 대해 해시를 계산하고 이 해시를 세그먼트(sc)에 넣는다(동작 420).
도 5는 일 실시예에 따라, 몇 개의 서로 다른 고정-길이 키들로 변환된 일 예시적인 HSVLI를 도시한 것이다. 도 5는 "a/b/c/d"로서 HSVLI(500)를 도시한 것이다. HSVLI(500)는 많은 서로 다른 방법들로 변환될 수 있는데, 도 5는 HSVLI(500)가 변환될 수 있는 몇개의 방식들만을 도시한 것이다. 도 5에 도시된 모든 변환들은 고정-길이 32-비트 키(32-비트 키들(510))을 사용한다. IPv6 128-비트 어드레스들과 같은, 그외 다른 고정-길이 키들이 가능하다.
변환(520)은 단지 하나의 세그먼트만으로, 즉 c=1, 분할된 고정-길이 키에 대응한다. c = 1이기 때문에 c - 1 = 0임에 유의한다. 그러므로, 변환(520)은 제 1 (c - 1) (0) 구성요소들에 대한 구성요소 해시들을 보여주지 않는다. 함수 "h(a/b/c/d)"는 "a/b/c/d"로부터 도출된 해시 값인 "a/b/c/d"의 해시에 대한 약칭이다. c = 1이기 때문에, 변환(520)은 모든 32 비트들이 "h(a/b/c/d)"를 저장하는데 사용됨을 보여준다.
변환(530)은 2개의 세그먼트들로, 즉 c = 2, 분할된 고정-길이 키에 대응한다. 이 변환에서 c - 1 = 1임에 유의한다. 그러므로, 변환(530)은 18 비트들로 저장되는 제 1 세그먼트에 의해 나타내어진 바와 같이 "a"(즉, "h(a)")에 대한 구성요소 해시만을 보여준다. 변환(530)은 14 비트들로 저장되는 마지막 세그먼트에 의해 나타내어진 HSVLI(즉, "h(b/c/d)")에 나머지 구성요소들에 대한 해시를 보여준다.
변환(540)은 3개의 세그먼트들로, 즉 c = 3, 분할된 고정-길이 키에 대응한다. 이 변환에서 c - 1 = 2임에 유의한다. 그러므로, 변환(540)은 12 비트들로 저장되는 제 1 세그먼트에 의해 나타내어진 바와 같이, "a"에 대한 구성요소 해시(즉, "h(a)"); 및 12 비트들로 저장되는 제 2 세그먼트로 나타내어진 바와 같이, "b"에 대한 구성요소 해시(즉, "h(b)")를 보여준다. 또한, 변환(540)은 8 비트들로 저장되는 마지막 세그먼트로 나타내어진 바와 같이, HSVLI의 나머지 구성요소들에 대한 해시를 보여준다.
변환(550)은 4개의 세그먼트들로, 즉 c = 4, 분할된 고정-길이 키에 대응한다. 이 변환에서 c - 1 = 3임에 유의한다. 그러므로, 변환(550)은 14 비트들로 저장되는 제 1 세그먼트에 의해 나타내어진 바와 같이, "a"에 대한 구성요소 해시(즉, "h(a)"); 4 비트들로 저장되는 제 2 세그먼트에 의해 나타내어진 바와 같이, "b"에 대한 구성요소 해시(즉, "h(b)"); 및 6 비트들로 저장되는 제 3 세그먼트로 나타내어진 바와 같이 "c"에 대한 구성요소 해시(즉, "h(c)")를 보여준다. 변환(550)은 8 비트들로 저장되는 마지막 세그먼트로 나타내어진 바와 같이, HSVLI의 나머지 구성요소에 대한 해시(즉, "h(d)")를 보여준다.
세그먼트들의 길이(즉, 비트들의 수)는 동일할 필요가 없으며, 각각의 세그먼트의 길이는 동적으로 재구성될 수 있는 것에 유의한다. 예를 들면, 변환(530)은 18 비트들로 저장된 "h(a)"를 보여주며, 변환(540)은 12 비트들로 저장된 "h(a)"를 보여주며, 변환(550)은 14 비트들로 저장된 "h(a)"를 보여준다. 비트들의 수는 제 1 구성요소가 서로 다른 애플리케이션들에서 발생하는 서로 다른 구성요소 구조들의 일부일 수 있음을 예시하기 위해 변환들(530 내지 550)에서 "h(a)"마다 다르다. 예를 들면, 변환(530)에서 제 1 구성요소 해시는 18 비트들의 가능한 값들을 갖는다. 변환(540)에서 제 1 구성요소 해시 12 비트들의 가능한 값들을 갖는다. 변환(550)에서 제 1 구성요소 해시는 14 비트들의 가능한 값들을 갖는다. 일반적으로, 각 구성요소 해시에 연관된 비트들의 수는 각 구성요소의 그 엔트로피(entropy)에서 필요하게 될 각 구성요소에 대한 가능한 값들의 수에 적어도 기초할 수 있다.
최장-매치 전송의 "국부적 정보의 높은 레졸루션" 특징을 유지하기 위해서, 세그먼트들의 수 및 이들의 길이들은 HSVLI의 하나 이상의 초기 구성요소들을 사용하여 동적으로 결정될 수 있음에 유의한다. c의 선택은 전송 테이블이 채워질 때 세트의 룩업 엔트리들에 관한 통계들을 계산한 것으로부터 결정될 수 있는, 그 전송점에서 필요로 하게 될 식별자들의 분포에 의해 영향을 받을 수 있다. 일 실시예에서, c의 선택 및 고정-길이 키 내에 비트들의 할당은 HSVLI의 앞 부분들의 콘텐트들에 기초하여 동적으로 결정될 수 있다. 이것은 일 범위의 프리픽스들(예를 들면, "parc.com"과 같은 단지 단일 값을 포함하는 것)이 다르게 취급될 수 있게 한다. 결국, HSVLI에서 고정-길이 키로의 매핑은 서로 다른 부류들의 프리픽스들에 연관된 엔트로피 분포에 감응하게 할 수 있다. 예를 들면, 인트라넷 명칭들에 대응하는 HSVLI은 나중의 HSVLI 구성요소들이 더 의미있는 정보를 지니기 때문에, 대부분의 비트들을 나중 구성요소들에 할당해야 한다(예를 들면, 도 5에서 변환(550)). 반대로, 외부 명칭에 대응하는 HSVLI는 제 1 HSVLI 구성요소에 대부분의 비트들을 할당해야 하는데, 이 경우 서로 다른 엔트리들을 구별하기 위해 대부분의 변형이 사용될 것이다(도 5에서 변환(530)). 테이블 인스턴스 당(또는 테이블 당 부하 당) 단일 매핑 방식의 경우를 취하기보다는, 방식은 먼저, 패킷이 들어올 때 각 패킷의 제 1 구성요소(프리픽스의 복수의 구성요소들)을 조사함으로써 결정될 수 있다. 흐름에 관하여, 이 프로세스는 전에 수행된 특별화된 룩업으로서, 또는 주 테이블 룩업용으로 사용될 고정-길이 키를 획득하기 위해 사용되는 매핑의 부분으로서 볼 수 있다.
또한, 와이어로부터 단절될 때 많은 HSVLI 변환을 증분적으로 행하는 것이 가능하다. 현존의 최장-프리픽스-매치 구현들의 일부는 증분적으로 동작할 수 있고 따라서 HSVLI 패킷들의 "컷-스루(cut-through)" 전송을 수행할 수 있다. 그외 다른 것들은 전체 어드레스/키를 요구하나, 본 발명에서, HSVLI를 고정-길이-키로의 변환은 룩업이 행해지기 전에, 비트들이 수신될 때 여전히 수행될 수도 있을 것이다.
룩업 엔진은 3원 콘텐트-어드레스가능한 메모리(TCAM), 트리 구조들, 및 블룸(Bloom) 필터들 중 하나 이상을 포함할 수 있다. 보다 일반적으로, 최장-프리픽스-매치에 적응될 수 있는 임의의 룩업 엔진이든 사용될 수 있다.
CAM은 모든 콘텐트 위치들에 걸쳐 병렬로 입력 값을 탐색하여 연관된 값과의 매치를 하나의 사이클 내에 리턴할 수 있도록 각각의 저장 위치가 각각의 비트마다 하나의 비교기를 포함하는 메모리이다. TCAM은 부분 매치들을 행할 수 있게 각각의 값마다 캐어/돈 캐어 비트(care/don't care bit)를 메모리 위치에 저장한다. 이것은 각각의 엔트리가 워드의 몇 개의 초기 비트들에 관해 완전 매치로 설정되고 나머지 비트들에 대해선 "돈 캐어"로 설정될 수 있기 때문에 최근의 "클래스레스(classless)" IP 어드레싱을 위해 요구되는 프리픽스 매칭을 할 수 있게 한다. 다수의 매칭 프리픽스들의 경우에, 일반적으로 제 1 매치가 리턴되고, 따라서 최장-프리픽스-매치는 프리픽스 길이를 감소시키는 순서로 TCAM를 로딩시킴으로써 달성될 수 있다.
트리 구조들은 최장-프리픽스-매치를 트리에 프리픽스로서(트라이(trie)라고도 함) 구현하기 위해 사용될 수 있다. 트리의 기본 형태는 프리픽스에 모든 문자에 대해 노드 브랜치를 갖는다(알파벳이 0,1인 IP 어드레스 콘텍스트에서 모든 비트). 트리를 사용할 때, 룩업은 와이어로부터 어드레스가 디코딩(비트씩)될 때 수행될 수 있다. 지금까지 최장 매치들은 트리를 거쳐감에 따라 스택 상에 유지될 수 있고, 따라서 완전한 매치가 없다면, 최장-프리픽스-매치는 신속히 발견될 수 있다.
라딕스 트라이(radix trie)에서, 각 레벨에서 서브(sub)-트리를 선택하기 위해 몇 개의 비트들이 사용될 수 있다. 예를 들면, 8-비트 라딕스에서, 첫 번째 8 비트들은 루트의 256개의 가능한 서브-트리들 중 하나를 색인하며, 다음 8 비트들은 제 2 레벨에 256개의 가능한 서브-트리들 중 하나를 색인한다.
패트리시아 트리(Patricia Tree)는 최소 엔트로피 프리픽스 탐색 트리이며, 노드들은 서로 다른 엔트리들 간에 판별자들인 그들 비트들을 표현한다. 각 노드는 서로 다른 프리픽스 엔트리들을 구별하는 그 레벨에서 조사하기 위해 비트 위치를 식별한다.
블룸 필터는 m 비트들의 비트 어레이와, 원소로부터 m 어레이 위치들 중 하나로(무작위로, 균일 분포로부터 선택된다) 매핑하는 k 개의 서로 다른 해시 함수들을 포함한다. 초기에, 블룸 필터의 모든 비트들은 0으로 설정된다. 원소를 블룸 필터에 추가하는 것은 k 어레이 위치들을 얻기 위해서 k 해시 함수들 각각을 사용하여 원소에 해싱하는 단계를 포함한다. 모든 이들 위치들에서 비트들 각각은 1로 설정된다. 원소의 멤버쉽을 결정하는 단계는(즉, 블룸 필터를 포함하는 세트에 있는지의 여부를 테스트하는 단계) k 위치들을 얻기 위해 k 해시 함수들 각각으로 원소를 해시하는 단계를 포함한다. 모든 위치들이 1을 나타낸다면, 이 원소는 세트에 있다. 그렇지 않다면, 이 원소는 세트에 있지 않다. 블룸 필터는 있다고 틀리게 결과는 낼 수 있으나(즉, 세트 내에 없는 아이템에 대해 있다는 결과가 획득될 수 있다) 없다고 틀리게 결과를 내진 않는다(즉, 블룸 필터는 아이템이 세트의 멤버가 아닐 때 확실하게 말할 수 있다). 각 프리픽스 길이마다 하나씩인 그룹의 블룸 필터들은 병렬로 질의될 수 있어 매치를 발견하는 각 필터에 대해 해시 테이블에 2차 룩업이 된다. 매우 적은 엔트리들을 가질 수 있는 제 1의 몇 개의 프리픽스 길이들에 대한 초기 직접 룩업 어레이와 같은, 서로 다른 프리픽스 분포들에 적응하기 위해서 다양한 최적화들이 사용될 수도 있다.
도 6은 일 실시예에 따라 HSVLI를 가진 패킷을 전송하기 위한 일 예시적인 장치를 도시한 것이다.
HSVLI를 가진 패킷들을 전송하기 위한 장치(600)는 프로세서(610), 메모리(620), 저장장치(630), 패킷-수신 메커니즘(640), HSVLI 변환 메커니즘(650), 전송-정보-획득 메커니즘(660), 및 패킷-전송 메커니즘(670)을 포함하며, 이들 모두는 다양한 수단을 통해 서로 통신할 수 있다.
일부 실시예들에서, 메커니즘들(640 내지 670)은 프로세서(610)의 일부일 수 있다. 또한, 일부 실시예들에서, 시스템은 별도의 프로세서 및 메모리를 포함하지 않을 수 있다. 대신, 이들의 특정의 작업들을 수행하는 것 외에, 메커니즘들(640 내지 670)은 이들이 개별적으로 또는 협력하여, 범용 계산 엔진의 일부가 될 수도 있다.
저장장치(630)는 프로세서(610)에 의해 실행될 프로그램들을 저장한다. 특히, 저장장치(630)는 HSVLI을 가진 패킷을 전송하기 위한 시스템을 구현하는 프로그램을 저장한다. 동작 동안에, 애플리케이션 프로그램은 저장장치(630)로부터 메모리(620)에 로딩되어 프로세서(610)에 의해 실행될 수 있다. 결국, HSVLI을 가진 패킷을 전송하기 위한 장치(600)는 위에 기술된 기능들을 수행할 수 있다. HSVLI을 가진 패킷을 전송하기 위한 장치(600)는 선택적인 디스플레이(685), 키보드(675), 및 포인팅 디바이스(680)에 결합될 수 있다. 장치(600)는 콘텐트-중심적인 네트워크(690)에도 결합된다.
일 실시예에서, 프로세서(610)는 패킷-수신 메커니즘(640)을 활성화하여 이에 패킷을 공급한다. 다음에, 프로세서(610)는 변환 메커니즘(650)을 활성화하며 이에 패킷에 의해 나타내어진 HSVLI를 공급한다. 이어서, 프로세서(610)는 전송-정보-획득 메커니즘(660)을 활성화하여 이에 변환 메커니즘(650)으로부터 획득된 적어도 하나의 고정-길이 키를 공급한다. 다음에, 프로세서(610)는 패킷-전송 메커니즘(670)을 활성화하여 이에 전송-정보-획득 메커니즘(660)으로부터 획득된 전송 정보를 공급한다.
이 상세한 설명에서 기술된 데이터 구조들 및 코드는 전형적으로, 컴퓨터 시스템에 의한 사용을 위한 코드 및/또는 데이터를 저장할 수 있는 임의의 디바이스 또는 매체일 수 있는 컴퓨터-판독가능한 저장 매체 상에 저장된다. 컴퓨터-판독가능한 저장 매체는 휘발성 메모리, 비휘발성 메모리, 디스크 드라이브들과 같은 자기 및 광학 저장 디바이스들, 자기 테이프, CD들(컴팩트 디스크들), DVD들(디지털 다기능 디스크들 또는 디지털 비디오 디스크들), 또는 현재 공지된 또는 나중에 개발될 컴퓨터-판독가능한 매체를 저장할 수 있는 그외의 매체들을 포함하는데, 그러나 이들로 국한되는 것은 아니다.
상세한 설명에 기술된 방법들 및 프로세스들은 위에 기술된 컴퓨터-판독가능한 저장 매체에 저장될 수 있는 코드 및/또는 데이터로서 실현될 수 있다. 컴퓨터 시스템이 컴퓨터-판독가능한 저장 매체 상에 저장된 코드 및/또는 데이터를 판독하여 실행할 때, 컴퓨터 시스템은 데이터 구조들로서 구현되어 컴퓨터-판독가능한 저장 매체 내에 저장되는 방법들 및 프로세스들을 수행한다.
또한, 여기에 기술된 방법들 및 프로세스들은 하드웨어 모듈들 또는 장치에 포함될 수 있다. 이들 모듈들 또는 장치는 ASIC(application-specific integrated circuit) 칩, FPGA(field-programmable gate array), 특정 시간에 특정의 소프트웨어 모듈 또는 한 조각의 코드를 실행하는 전용 또는 공유 프로세스 및/또는 현재 공지된 또는 나중에 개발될 그외 프로그래밍가능한-로직 디바이스들을 포함하는데, 그러나 이들로 국한되는 것은 아니다. 하드웨어 모듈들 또는 장치가 활성화되었을 때, 이들은 이들 내에 포함된 방법들 및 프로세스들을 수행한다.
180: 네트워크
100, 105, 110, 115, 120, 125, 130, 135, 140, 145: 노드
210: 패킷 220: 패킷 수신기
240: 변환기 260: 전송-정보 획득기
280: 패킷 전송기 610: 프로세서
620: 메모리 630: 저장장치
640: 패킷-수신 메커니즘 650: HSVLI 변환 메커니즘
660: 전송-정보 획득 메커니즘 670: 패킷-전송 메커니즘
675: 키보드 680: 포인팅 디바이스
685: 디스플레이 690: 콘텐트-중심적인 네트워크
970: 포인팅 디바이스
100, 105, 110, 115, 120, 125, 130, 135, 140, 145: 노드
210: 패킷 220: 패킷 수신기
240: 변환기 260: 전송-정보 획득기
280: 패킷 전송기 610: 프로세서
620: 메모리 630: 저장장치
640: 패킷-수신 메커니즘 650: HSVLI 변환 메커니즘
660: 전송-정보 획득 메커니즘 670: 패킷-전송 메커니즘
675: 키보드 680: 포인팅 디바이스
685: 디스플레이 690: 콘텐트-중심적인 네트워크
970: 포인팅 디바이스
Claims (24)
- 계층적으로 구조화된 가변-길이 식별자(HSVLI)를 갖는 패킷을 컴퓨터의 입력 포트 상에서 수신하는 단계로서, 상기 HSVLI는 한 조각(piece)의 콘텐트를 나타내고, 계층적으로 구조화될 수 있고, 가장 일반적 레벨부터 가장 특정한 레벨까지 순서화된 연속적인 구성요소들을 포함하고, 각각의 식별자의 길이는 고정되지 않은, 상기 패킷 수신 단계;
상기 HSVLI를 고정-길이 키로 변환하는 단계;
상기 고정-길이 키를 사용하는 최장-프리픽스-매치 룩업 엔진(longest-prefix-match lookup engine)으로 하나 이상의 최장-프리픽스-매치들에 기초하여 전송 정보를 획득하는 단계; 및
상기 전송 정보에 기초하여 상기 패킷을 출력 포트에 전송하는 단계를 포함하는 방법. - 제 1 항에 있어서,
상기 HSVLI를 상기 고정-길이 키로 변환하는 단계는:
상기 고정-길이 키를 c 세그먼트들(s1,...,sc)로 분할하는 단계;
상기 HSVLI의 제 1의 c-1 구성요소들에 대한 구성요소 해시들을 세그먼트들(s1,...,sc-1)로 나타내는 단계; 및
상기 HSVLI의 나머지 구성요소들에 대한 해시를 세그먼트(sc)로 나타내는 단계를 포함하는, 방법. - 제 2 항에 있어서,
상기 c 세그먼트들의 길이들은 동일하지 않고, 각각의 세그먼트의 길이는 동적으로 재구성될 수 있는, 방법. - 제 2 항에 있어서,
상기 HSVLI의 초기 구성요소들 중 적어도 하나 이상에 기초하여, 상기 c 세그먼트들의 길이, 각 세그먼트에 해시(hash)된 HSVLI 구성요소들의 수, 및 상기 고정-길이 키에 산술적으로 결합될 값 중 적어도 하나를 동적으로 결정하는 단계를 더 포함하는, 방법. - 제 1 항에 있어서,
상기 최장-프리픽스-매치 룩업 엔진은 인터넷 프로토콜(IP) 라우터인, 방법. - 제 1 항에 있어서,
상기 고정-길이 키는 인터넷 프로토콜 버전 4(IPv4) 또는 인터넷 프로토콜 버전 6(IPv6) 어드레스 포맷을 갖는, 방법. - 제 1 항에 있어서,
상기 전송 정보는 적어도 하나의 출력 포트를 포함하는, 방법. - 제 1 항에 있어서,
상기 계층 구조 내의 구성요소는:
글로벌적으로 라우팅가능한 명칭;
조직적 명칭;
버전 식별자; 및
다이제스트 중 하나 이상을 포함하는, 방법. - 계층적으로 구조화된 가변-길이 식별자(HSVLI)를 갖는 패킷을 컴퓨터의 입력 포트 상에서 수신하도록 구성된 수신 메커니즘으로서, 상기 HSVLI는 한 조각의 콘텐트를 나타내고, 계층적으로 구조화될 수 있고, 가장 일반적 레벨부터 가장 특정한 레벨까지 순서화된 연속적인 구성요소들을 포함하고, 각각의 식별자의 길이는 고정되지 않은, 상기 수신 메커니즘;
상기 HSVLI를 고정-길이 키로 변환하도록 구성된 변환 메커니즘;
상기 고정-길이 키를 사용하는 최장-프리픽스-매치 룩업 엔진으로 하나 이상의 최장-프리픽스-매치들에 기초하여 전송 정보를 획득하도록 구성된 전송 정보 획득 메커니즘; 및
상기 전송 정보에 기초하여 상기 패킷을 출력 포트에 전송하도록 구성된 패킷 전송 메커니즘을 포함하는 장치. - 제 9 항에 있어서,
상기 HSVLI를 고정-길이 키로 변환하는 동안, 상기 변환 메커니즘은:
상기 고정-길이 키를 c 세그먼트들(s1,...,sc)로 분할하고;
상기 HSVLI의 제 1의 c-1 구성요소들에 대한 구성요소 해시들을 세그먼트들(s1,...,sc-1)로 나타내고;
상기 HSVLI의 나머지 구성요소들에 대한 해시를 세그먼트(sc)로 나타내도록 구성되는, 장치. - 제 10 항에 있어서,
상기 c 세그먼트들의 길이들은 동일하지 않고, 각각의 세그먼트의 길이는 동적으로 재구성될 수 있는, 장치. - 제 10 항에 있어서,
상기 변환 메커니즘은 또한 상기 HSVLI의 초기 구성요소들 중 적어도 하나 이상에 기초하여, 상기 c 세그먼트들의 길이, 각 세그먼트에 해시된 HSVLI 구성요소들의 수, 및 상기 고정-길이 키에 산술적으로 결합될 값 중 적어도 하나를 동적으로 결정하도록 구성되는, 장치. - 제 9 항에 있어서,
상기 최장-프리픽스-매치 룩업 엔진은 인터넷 프로토콜(IP) 라우터인, 장치. - 제 9 항에 있어서,
상기 고정-길이 키는 인터넷 프로토콜 버전 4(IPv4) 또는 인터넷 프로토콜 버전 6(IPv6) 어드레스 포맷을 갖는, 장치. - 제 9 항에 있어서,
상기 전송 정보는 적어도 하나의 출력 포트를 포함하는, 장치. - 제 9 항에 있어서,
상기 계층 구조 내의 구성요소는:
글로벌적으로 라우팅가능한 명칭;
조직적 명칭;
버전 식별자; 및
다이제스트 중 하나 이상을 포함하는, 장치. - 컴퓨터에 의한 실행시, 컴퓨터로 하여금,
계층적으로 구조화된 가변-길이 식별자(HSVLI)를 갖는 패킷을 컴퓨터의 입력 포트 상에서 수신하는 것으로서, 상기 HSVLI는 한 조각의 콘텐트를 나타내고, 계층적으로 구조화될 수 있고, 가장 일반적 레벨부터 가장 특정한 레벨까지 순서화된 연속적인 구성요소들을 포함하고, 각각의 식별자의 길이는 고정되지 않은, 상기 수신하는 것;
상기 HSVLI를 고정-길이 키로 변환하는 것;
상기 고정-길이 키를 사용하는 최장-프리픽스-매치 룩업 엔진으로 하나 이상의 최장-프리픽스-매치들에 기초하여 전송 정보를 획득하는 것; 및
상기 전송 정보에 기초하여 상기 패킷을 출력 포트에 전송하는 것을 수행하게 하는 명령들을 저장하는 컴퓨터-판독가능한 저장 장치. - 제 17 항에 있어서,
상기 HSVLI를 상기 고정-길이 키로 변환하는 것은:
상기 고정-길이 키를 c 세그먼트들(s1,...,sc)로 분할하는 것;
상기 HSVLI의 제 1의 c-1 구성요소들에 대한 구성요소 해시들을 세그먼트들(s1,...,sc-1)로 나타내는 것; 및
상기 HSVLI의 나머지 구성요소들에 대한 해시를 세그먼트(sc)로 나타내는 것을 포함하는, 컴퓨터-판독가능한 저장 장치. - 제 18 항에 있어서,
상기 c 세그먼트들의 길이들은 동일하지 않고, 각각의 세그먼트의 길이는 동적으로 재구성될 수 있는, 컴퓨터-판독가능한 저장 장치. - 제 18 항에 있어서,
상기 HSVLI의 초기 구성요소들 중 적어도 하나 이상에 기초하여, 상기 c 세그먼트들의 길이, 각 세그먼트에 해시된 HSVLI 구성요소들의 수, 및 상기 고정-길이 키에 산술적으로 결합될 값 중 적어도 하나를 동적으로 결정하는 것을 더 포함하는, 컴퓨터-판독가능한 저장 장치. - 제 17 항에 있어서,
상기 최장-프리픽스-매치 룩업 엔진은 인터넷 프로토콜(IP) 라우터인, 컴퓨터-판독가능한 저장 장치. - 제 17 항에 있어서,
상기 고정-길이 키는 인터넷 프로토콜 버전 4(IPv4) 또는 인터넷 프로토콜 버전 6(IPv6) 어드레스 포맷을 갖는, 컴퓨터-판독가능한 저장 장치. - 제 17 항에 있어서,
상기 전송 정보는 적어도 하나의 출력 포트를 포함하는, 컴퓨터-판독가능한 저장 장치. - 제 17 항에 있어서,
상기 계층 구조 내의 구성요소는:
글로벌적으로 라우팅가능한 명칭;
조직적 명칭;
버전 식별자; 및
다이제스트 중 하나 이상을 포함하는, 컴퓨터-판독가능한 저장 장치.
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/565,005 US8160069B2 (en) | 2009-01-30 | 2009-09-23 | System for forwarding a packet with a hierarchically structured variable-length identifier |
US12/565,005 | 2009-09-23 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20100088561A KR20100088561A (ko) | 2010-08-09 |
KR101539211B1 true KR101539211B1 (ko) | 2015-07-27 |
Family
ID=42077031
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020100008221A KR101539211B1 (ko) | 2009-01-30 | 2010-01-29 | 계층적으로 구조화된 가변―길이 식별자를 갖는 패킷을 전송하기 위한 시스템 |
Country Status (5)
Country | Link |
---|---|
US (1) | US8160069B2 (ko) |
EP (1) | EP2214356B1 (ko) |
JP (1) | JP5525273B2 (ko) |
KR (1) | KR101539211B1 (ko) |
CN (1) | CN101795229B (ko) |
Families Citing this family (173)
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 |
CN102158388B (zh) * | 2010-02-12 | 2014-12-24 | 国际商业机器公司 | 极值路由确定引擎和方法 |
US8364700B2 (en) * | 2010-05-21 | 2013-01-29 | Vonage Network Llc | Method and apparatus for rapid data access and distribution using structured identifiers |
US8964528B2 (en) * | 2010-07-06 | 2015-02-24 | Nicira, Inc. | Method and apparatus for robust packet distribution among hierarchical managed switching elements |
US9680750B2 (en) | 2010-07-06 | 2017-06-13 | Nicira, Inc. | Use of tunnels to hide network addresses |
US8743888B2 (en) | 2010-07-06 | 2014-06-03 | Nicira, Inc. | Network control apparatus and method |
US8578049B2 (en) * | 2010-10-04 | 2013-11-05 | Futurewei Technologies, Inc. | Content router forwarding plane architecture |
US8825900B1 (en) | 2011-04-05 | 2014-09-02 | Nicira, Inc. | Method and apparatus for stateless transport layer tunneling |
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 |
EP2532329B1 (en) | 2011-06-10 | 2018-09-19 | The Procter and Gamble Company | Method and apparatus for making absorbent structures with absorbent material |
KR20130008325A (ko) | 2011-07-12 | 2013-01-22 | 삼성전자주식회사 | 컨텐츠 중심 네트워크에서 컨텐츠 요청자, 중간 노드 및 컨텐츠 소유자의 통신 방법 |
KR101913313B1 (ko) | 2011-12-28 | 2018-10-31 | 삼성전자주식회사 | 게이트웨이에서 인터넷 프로토콜 기반 네트워크를 이용하여 컨텐츠 중심 네트워크를 구현하는 방법 및 그 게이트웨이 |
EP2634991B1 (en) | 2012-02-28 | 2017-08-02 | Alcatel Lucent | Content-centric networking |
US9729669B2 (en) * | 2012-03-15 | 2017-08-08 | Alcatel Lucent | Method and system for fast and large-scale longest prefix matching |
EP2654269B1 (en) * | 2012-04-18 | 2015-03-25 | Samsung Electronics Co., Ltd | Node and method for generating shortened name robust against change in hierarchical name in content-centric network (CCN) |
US9237190B2 (en) | 2012-04-18 | 2016-01-12 | Samsung Electronics Co., Ltd. | Node and method for generating shortened name robust against change in hierarchical name in content-centric network (CCN) |
US9515920B2 (en) * | 2012-04-20 | 2016-12-06 | Futurewei Technologies, Inc. | Name-based neighbor discovery and multi-hop service discovery in information-centric networks |
US20130339481A1 (en) * | 2012-06-11 | 2013-12-19 | Samsung Electronics Co., Ltd. | Method for content discovery of node in intra-domain and inter-domain in content centric network and node therefor |
US9276850B2 (en) * | 2012-07-18 | 2016-03-01 | Electronics And Telecommunications Research Institute | Packet processing device for IP-based information-centric network |
EP2693717B1 (en) | 2012-07-29 | 2015-05-06 | Verint Systems Limited | System and method of high volume rule engine related applications |
US20140105215A1 (en) * | 2012-10-15 | 2014-04-17 | Hewlett-Packard Development Company, L.P. | Converting addresses for nodes of a data center network into compact identifiers for determining flow keys for received data packets |
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 |
US9978025B2 (en) | 2013-03-20 | 2018-05-22 | Cisco Technology, Inc. | Ordered-element naming for name-based packet forwarding |
US9935791B2 (en) | 2013-05-20 | 2018-04-03 | Cisco Technology, Inc. | Method and system for name resolution across heterogeneous architectures |
US9185120B2 (en) | 2013-05-23 | 2015-11-10 | Palo Alto Research Center Incorporated | Method and system for mitigating interest flooding attacks in content-centric networks |
CN104429038B (zh) | 2013-06-08 | 2018-03-13 | 华为技术有限公司 | 路由转发方法、装置及系统 |
KR102052520B1 (ko) | 2013-06-11 | 2019-12-05 | 삼성전자주식회사 | 컨텐츠 중심 네트워크에서 컨텐츠의 이동성을 지원하기 위한 노드의 통신 방법 및 노드 |
US9350657B2 (en) | 2013-07-08 | 2016-05-24 | Nicira, Inc. | Encapsulating data packets using an adaptive tunnelling protocol |
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 |
KR101882727B1 (ko) | 2013-08-08 | 2018-07-27 | 삼성전자주식회사 | 컨텐츠 중심 네트워크를 구성하는 단말 장치 및 이의 통신 방법 |
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 |
US9276840B2 (en) | 2013-10-30 | 2016-03-01 | Palo Alto Research Center Incorporated | Interest messages with a payload for a named data network |
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 |
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 |
US10101801B2 (en) | 2013-11-13 | 2018-10-16 | Cisco Technology, Inc. | Method and apparatus for prefetching content in a data stream |
US10129365B2 (en) | 2013-11-13 | 2018-11-13 | Cisco Technology, Inc. | Method and apparatus for pre-fetching remote content based on static and dynamic recommendations |
US9311377B2 (en) | 2013-11-13 | 2016-04-12 | Palo Alto Research Center Incorporated | Method and apparatus for performing server handoff in a name-based content distribution system |
US10089655B2 (en) | 2013-11-27 | 2018-10-02 | Cisco Technology, Inc. | Method and apparatus for scalable data broadcasting |
US9503358B2 (en) | 2013-12-05 | 2016-11-22 | Palo Alto Research Center Incorporated | Distance-based routing in an information-centric network |
US20150195764A1 (en) * | 2014-01-07 | 2015-07-09 | Electronics And Telecommunications Research Institute | Network service system and method for providing network service in multiple mobile network environment |
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 |
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 |
US20150281376A1 (en) | 2014-04-01 | 2015-10-01 | Palo Alto Research Center Incorporated | System and method for device registration and discovery in content-centric networks |
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 |
US9390289B2 (en) | 2014-04-07 | 2016-07-12 | Palo Alto Research Center Incorporated | Secure collection synchronization using matched network names |
US9473576B2 (en) | 2014-04-07 | 2016-10-18 | Palo Alto Research Center Incorporated | Service discovery using collection synchronization with exact names |
US9451032B2 (en) | 2014-04-10 | 2016-09-20 | Palo Alto Research Center Incorporated | System and method for simple service discovery in content-centric networks |
CN105024969B (zh) * | 2014-04-17 | 2018-04-03 | 北京启明星辰信息安全技术有限公司 | 一种实现恶意域名识别的方法及装置 |
US9203885B2 (en) | 2014-04-28 | 2015-12-01 | Palo Alto Research Center Incorporated | Method and apparatus for exchanging bidirectional streams over a content centric network |
US9992281B2 (en) * | 2014-05-01 | 2018-06-05 | Cisco Technology, Inc. | Accountable content stores for information centric networks |
US9609014B2 (en) | 2014-05-22 | 2017-03-28 | Cisco Systems, Inc. | Method and apparatus for preventing insertion of malicious content at a named data network router |
US9455835B2 (en) | 2014-05-23 | 2016-09-27 | Palo Alto Research Center Incorporated | System and method for circular link resolution with hash-based names in content-centric networks |
US9276751B2 (en) | 2014-05-28 | 2016-03-01 | Palo Alto Research Center Incorporated | System and method for circular link resolution with computable hash-based names in content-centric networks |
US9516144B2 (en) * | 2014-06-19 | 2016-12-06 | Palo Alto Research Center Incorporated | Cut-through forwarding of CCNx message fragments with IP encapsulation |
US9537719B2 (en) | 2014-06-19 | 2017-01-03 | Palo Alto Research Center Incorporated | Method and apparatus for deploying a minimal-cost CCN topology |
US9467377B2 (en) * | 2014-06-19 | 2016-10-11 | Palo Alto Research Center Incorporated | Associating consumer states with interests in a content-centric network |
KR102203489B1 (ko) * | 2014-06-30 | 2021-01-14 | 에스케이텔레콤 주식회사 | Ccn 이름 구성 방법과 ccn 이름 기반 라우팅 방법 및 장치 |
US9426113B2 (en) | 2014-06-30 | 2016-08-23 | Palo Alto Research Center Incorporated | System and method for managing devices over a content centric network |
US9699198B2 (en) | 2014-07-07 | 2017-07-04 | Cisco Technology, Inc. | System and method for parallel secure content bootstrapping in content-centric networks |
US9959156B2 (en) | 2014-07-17 | 2018-05-01 | Cisco Technology, Inc. | Interest return control message |
US20160021170A1 (en) | 2014-07-17 | 2016-01-21 | Palo Alto Research Center Incorporated | Difference based content networking |
US9621354B2 (en) | 2014-07-17 | 2017-04-11 | Cisco Systems, Inc. | Reconstructable content objects |
US9590887B2 (en) | 2014-07-18 | 2017-03-07 | Cisco Systems, Inc. | Method and system for keeping interest alive in a content centric network |
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 |
US9729662B2 (en) | 2014-08-11 | 2017-08-08 | Cisco Technology, Inc. | Probabilistic lazy-forwarding technique without validation in a content centric network |
US9503365B2 (en) | 2014-08-11 | 2016-11-22 | Palo Alto Research Center Incorporated | Reputation-based instruction processing over an information centric network |
US9391777B2 (en) | 2014-08-15 | 2016-07-12 | Palo Alto Research Center Incorporated | System and method for performing key resolution over a content centric network |
US9467492B2 (en) | 2014-08-19 | 2016-10-11 | Palo Alto Research Center Incorporated | System and method for reconstructable all-in-one content stream |
US9800637B2 (en) | 2014-08-19 | 2017-10-24 | Cisco Technology, Inc. | System and method for all-in-one content stream in content-centric networks |
US9497282B2 (en) | 2014-08-27 | 2016-11-15 | Palo Alto Research Center Incorporated | Network coding for content-centric network |
US10204013B2 (en) | 2014-09-03 | 2019-02-12 | Cisco Technology, Inc. | System and method for maintaining a distributed and fault-tolerant state over an information centric network |
US9553812B2 (en) | 2014-09-09 | 2017-01-24 | Palo Alto Research Center Incorporated | Interest keep alives at intermediate routers in a CCN |
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 |
US10003520B2 (en) * | 2014-12-22 | 2018-06-19 | Cisco Technology, Inc. | System and method for efficient name-based content routing using link-state information in information-centric networks |
US9660825B2 (en) | 2014-12-24 | 2017-05-23 | Cisco Technology, Inc. | System and method for multi-source multicasting in content-centric networks |
US9954795B2 (en) | 2015-01-12 | 2018-04-24 | Cisco Technology, Inc. | Resource allocation using CCN manifests |
US9946743B2 (en) | 2015-01-12 | 2018-04-17 | Cisco Technology, Inc. | Order encoded manifests in a content centric network |
US9916457B2 (en) | 2015-01-12 | 2018-03-13 | Cisco Technology, Inc. | Decoupled name security binding for CCN objects |
US9602596B2 (en) | 2015-01-12 | 2017-03-21 | Cisco Systems, Inc. | Peer-to-peer sharing in a content centric network |
US9832291B2 (en) | 2015-01-12 | 2017-11-28 | Cisco Technology, Inc. | Auto-configurable transport stack |
US9462006B2 (en) | 2015-01-21 | 2016-10-04 | Palo Alto Research Center Incorporated | Network-layer application-specific trust model |
US9552493B2 (en) | 2015-02-03 | 2017-01-24 | Palo Alto Research Center Incorporated | Access control framework for information centric networking |
US10333840B2 (en) | 2015-02-06 | 2019-06-25 | Cisco Technology, Inc. | System and method for on-demand content exchange with adaptive naming in information-centric networks |
US10075401B2 (en) | 2015-03-18 | 2018-09-11 | Cisco Technology, Inc. | Pending interest table behavior |
US10116605B2 (en) | 2015-06-22 | 2018-10-30 | Cisco Technology, Inc. | Transport stack name scheme and identity management |
US10075402B2 (en) | 2015-06-24 | 2018-09-11 | Cisco Technology, Inc. | Flexible command and control in content centric networks |
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 |
US20170093713A1 (en) | 2015-09-28 | 2017-03-30 | Palo Alto Research Center Incorporated | Information-centric networking with small multi-path or single-path forwarding state |
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 |
US10038633B2 (en) | 2016-03-04 | 2018-07-31 | Cisco Technology, Inc. | Protocol to query for historical network information in a content centric network |
US10003507B2 (en) | 2016-03-04 | 2018-06-19 | Cisco Technology, Inc. | Transport session state protocol |
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 |
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 |
US10067948B2 (en) | 2016-03-18 | 2018-09-04 | Cisco Technology, Inc. | Data deduping in content centric networking manifests |
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 |
US10091330B2 (en) | 2016-03-23 | 2018-10-02 | Cisco Technology, Inc. | Interest scheduling by an information and data framework in a content centric network |
US10033639B2 (en) | 2016-03-25 | 2018-07-24 | Cisco Technology, Inc. | System and method for routing packets in a content centric network using anonymous datagrams |
US10320760B2 (en) | 2016-04-01 | 2019-06-11 | Cisco Technology, Inc. | Method and system for mutating and caching content in a content centric network |
US9930146B2 (en) | 2016-04-04 | 2018-03-27 | Cisco Technology, Inc. | System and method for compressing content centric networking messages |
US10425503B2 (en) | 2016-04-07 | 2019-09-24 | Cisco Technology, Inc. | Shared pending interest table in a content centric network |
US10027578B2 (en) | 2016-04-11 | 2018-07-17 | Cisco Technology, Inc. | Method and system for routable prefix queries in a content centric network |
US10404450B2 (en) | 2016-05-02 | 2019-09-03 | Cisco Technology, Inc. | Schematized access control in a content centric network |
US10320675B2 (en) | 2016-05-04 | 2019-06-11 | Cisco Technology, Inc. | System and method for routing packets in a stateless content centric network |
US10547589B2 (en) | 2016-05-09 | 2020-01-28 | Cisco Technology, Inc. | System for implementing a small computer systems interface protocol over a content centric network |
US10084764B2 (en) | 2016-05-13 | 2018-09-25 | Cisco Technology, Inc. | System for a secure encryption proxy in a content centric network |
US10063414B2 (en) | 2016-05-13 | 2018-08-28 | Cisco Technology, Inc. | Updating a transport stack in a content centric network |
US10103989B2 (en) | 2016-06-13 | 2018-10-16 | Cisco Technology, Inc. | Content object return messages in a content centric network |
US10432509B2 (en) * | 2016-06-14 | 2019-10-01 | Cisco Technology, Inc. | Flow classification for information centric network protocols |
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 |
US10348684B2 (en) | 2016-09-01 | 2019-07-09 | Hewlett Packard Enterprise Development Lp | Filtering of packets for packet types at network devices |
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 |
US10462052B2 (en) * | 2017-12-26 | 2019-10-29 | Futurewei Technologies, Inc. | Method and apparatus for incremental deployment of information centric network |
CN109815225B (zh) * | 2018-12-11 | 2021-07-09 | 中国科学院计算技术研究所 | 基于前缀树结构的并行化前缀数据检索方法和系统 |
CN113670643B (zh) * | 2021-08-30 | 2023-05-12 | 四川虹美智能科技有限公司 | 智能空调测试方法及系统 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100195654A1 (en) * | 2009-01-30 | 2010-08-05 | Palo Alto Research Center Incorporated | System for forwarding packets with hierarchically structured variable-length identifiers using an exact-match lookup engine |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5870605A (en) * | 1996-01-18 | 1999-02-09 | Sun Microsystems, Inc. | Middleware for enterprise information distribution |
US6091724A (en) * | 1997-11-20 | 2000-07-18 | International Business Machines Corporation | Routing messages within a network using the data content of the message |
US7089240B2 (en) * | 2000-04-06 | 2006-08-08 | International Business Machines Corporation | Longest prefix match lookup using hash function |
US20020199014A1 (en) * | 2001-03-26 | 2002-12-26 | Accton Technology Corporation | Configurable and high-speed content-aware routing method |
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 |
US20080287142A1 (en) * | 2004-07-22 | 2008-11-20 | Keighran Benjamin W | Location Dependent Content Provision |
US8204060B2 (en) * | 2009-01-30 | 2012-06-19 | Palo Alto Research Center Incorporated | Method and system for facilitating forwarding a packet in a content-centric network |
-
2009
- 2009-09-23 US US12/565,005 patent/US8160069B2/en active Active
-
2010
- 2010-01-29 EP EP10152134.2A patent/EP2214356B1/en active Active
- 2010-01-29 KR KR1020100008221A patent/KR101539211B1/ko active IP Right Grant
- 2010-02-01 JP JP2010019987A patent/JP5525273B2/ja active Active
- 2010-02-01 CN CN201010109070.2A patent/CN101795229B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100195654A1 (en) * | 2009-01-30 | 2010-08-05 | Palo Alto Research Center Incorporated | System for forwarding packets with hierarchically structured variable-length identifiers using an exact-match lookup engine |
Also Published As
Publication number | Publication date |
---|---|
EP2214356A1 (en) | 2010-08-04 |
US20100195653A1 (en) | 2010-08-05 |
KR20100088561A (ko) | 2010-08-09 |
US8160069B2 (en) | 2012-04-17 |
JP5525273B2 (ja) | 2014-06-18 |
CN101795229B (zh) | 2014-10-29 |
JP2010178342A (ja) | 2010-08-12 |
EP2214356B1 (en) | 2016-05-25 |
CN101795229A (zh) | 2010-08-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101539211B1 (ko) | 계층적으로 구조화된 가변―길이 식별자를 갖는 패킷을 전송하기 위한 시스템 | |
EP2214355B1 (en) | Method and apparatus for forwarding packets with hierarchically structured variable-length identifiers using an exact-match lookup engine | |
US10999241B2 (en) | Mapping database system for use with content chunks and methods of routing to content in an IP network | |
EP2214357B1 (en) | Method and system for facilitating forwarding a packet in a content-centric network | |
US9825860B2 (en) | Flow-driven forwarding architecture for information centric networks | |
EP2869536B1 (en) | System and method for hash-based forwarding of packets with hierarchically structured variable-length identifiers | |
US20060098644A1 (en) | Translating native medium access control (MAC) addresses to hierarchical MAC addresses and their use | |
US11438427B2 (en) | Discovery of resources in a local network | |
EP2869510B1 (en) | Express header for packets with hierarchically structured variable-length identifiers | |
EP2869511A1 (en) | Hash-based forwarding of packets with hierarchically structured variable-length identifiers over ethernet | |
CN104917681B (zh) | 用于内容中心网络中的包转发的系统和方法 | |
US20170373974A1 (en) | Method and system for interest groups in a content centric network | |
CN109347850B (zh) | 实现icn与tcp/ip网络互通的融合网络及方法 | |
CN104539538B (zh) | 路由器的ip地址匹配方法和路由器的数据包转发方法 | |
KR100862195B1 (ko) | 내용 번지 메모리를 이용한 구간 매칭 검색 방법 및 장치 | |
Hwang et al. | Resource name-based routing in the network layer | |
Li et al. | An Open Unified Addressing System for 6G Communication Networks | |
JP2012216959A (ja) | ネットワークアドレス参照方法及び装置及びプログラム | |
McLaughlin et al. | Implementing high speed IP address lookups in hardware | |
Yang et al. | Hardware Based Routing Lookup for IPv4 | |
Kuczynski et al. | Research Project 2 |
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 |