KR100258153B1 - 에이티엠 피엔엔아이 라우팅 프로토콜에서 피에이티알아이씨아이에이 트리를 이용한 토폴로지 정보검색 방법 - Google Patents
에이티엠 피엔엔아이 라우팅 프로토콜에서 피에이티알아이씨아이에이 트리를 이용한 토폴로지 정보검색 방법 Download PDFInfo
- Publication number
- KR100258153B1 KR100258153B1 KR1019970079019A KR19970079019A KR100258153B1 KR 100258153 B1 KR100258153 B1 KR 100258153B1 KR 1019970079019 A KR1019970079019 A KR 1019970079019A KR 19970079019 A KR19970079019 A KR 19970079019A KR 100258153 B1 KR100258153 B1 KR 100258153B1
- Authority
- KR
- South Korea
- Prior art keywords
- node
- tree
- information
- atm
- topology information
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 20
- 241000712062 Patricia Species 0.000 claims abstract description 27
- 241001125929 Trisopterus luscus Species 0.000 claims description 2
- 230000006870 function Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 238000003780 insertion Methods 0.000 description 2
- 230000037431 insertion Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
- H04L45/10—Routing in connection-oriented networks, e.g. X.25 or ATM
-
- 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/48—Routing tree calculation
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
본 발명은 PNNI(Private Network Node Interface) 라우팅 프로토콜(Routing Protocol)을 구현함에 있어 연결된 ATM(Asynchronous Transfer Mode) 스위치들의 토폴로지(Topology) 상태(State)에 대한 정보검색에 관한 것으로서, 특히 PATRICIA(Practical Algorithm To Retrieve Information Coded In Alphanumeric) 트리를 이용한 토폴로지 정보검색에 관한 것이다.
본 발명은, PATRICIA 트리를 이용하여 토폴로지 정보검색 방법에 있어서, ATM 노드가 처음으로 시작(Start up)되는 단계, 상기 ATM 노드가 속한 파우팅 영역에 대한 토폴로지 정보를 담은 PTSP를 교환하는 단계, 상기 PTSP를 교환한 후에 PATRICIA 트리를 구성해 가는 단계, 상기 구성 단계에서의 과정 중 먼저 해당 노드에 대한 정보가 있는지 검색하는 단계 및 상기 검색 결과 FAIL을 리턴하면 트리에 없는 새로운 정보이므로 PATRICIA 트리에 새로운 PTSE 정보로서 삽입하는 단계를 포함한다.
Description
본 발명은 PNNI 라우팅 프로토콜을 구현함에 있어 연결된 ATM 스위치들의 토폴로지 상태에 대한 정보검색에 관한 것으로서, 특히 PATRICIA 트리를 이용한 토폴로지 정보검색에 관한 것이다.
종래의 기술에 대하여 살펴보면 다음과 같다. PNNI 라우팅 프로토콜은 ATM 스위칭 시스템 사이에서는 물리적 링크(Physical Link) 또는 VPC(Virtual Path Connection)를 통해, 피어 그룹(Peer Group)을 대표하는 상위 계층의 로지컬 그룹 노드(Logical Group Node)들의 경우에는 SVC(Switched Virtual Channel)로 맺어진 RCC(Routing Control Channel)를 통해 일정한 시간 주기와 토폴로지에 변화가 생겼을 때 사건 중심(event-driven)의 형식으로 연결된 라우팅 도메인 상의 다른 ATM 스위치들의 토폴로지 정보를 PTSE(PNNI Topology State Element)의 형태로 교환하여 저장하고 이 정보를 근거로 연결 요구시 요구된 QoS(Quality of Service)를 만족하는 최적의 라우트를 계산해 낸다.
정보의 검색(Search) 방법으로 가장 많이 사용되고 있고, 구현하기 쉬운 검색 방법으로 바이너리 검색 트리(Binary Search Tree) 방법이 있다.
상기의 바이너리 검색 방법은 미국 특허 번호 5613110에 제시되어 있으며, 간단하게 설며하면 다음과 같다.
바이너리 검색은 정보 검색 후에 인덱스(Index) 항목의 옵셋을 이용하여 검색어(Search query) 내에 포함된 키(Key)를 위하여 수행된다.
상기의 바이너리 검색은 먼저 항목의 옵셋을 비교하고, 그 다음에 각 항목들의 값을 비교하고, 범위의 체크는 검색 키가 검색하고자 하는 인덱스 파일 내의 키 범위밖에 있는지를 판단 결정하는 바이너리 검색 전에 수행된다.
상기와 같은 방법으로 검색어에 포함되지 않은 불필요한 검색어의 수행을 방지한다.
그러나, 상기와 같은 검색방법은 시간 주기를 주기로 링크가 업 되어있는 한 끊임없이 교환되는 해당 스위치의 노드 그룹의 토폴로지 정보를 찾기 위해 매번 많은 비교 연산을 필요로 하게 되어 검색 효율이 떨어지는 문제점이 있다.
본 발명은 상기와 같은 종래 기술의 문제점을 해결하기 위하여 창안된 것으로서, 한 번의 비교연산(Compare)으로 특정 키 값에 대한 토폴로지 정보를 검색하면서 모든 정보를 트리의 에지 노드(ege node)에만 저장하고 가지 노드(branch node)는 단지 정보를 검색하기 위한 포인터로서 이용하는 래딕스 노드(radix node)보다 작은 메모리를 사용하도록 정보 검색에 필요한 가지 노드와 데이터 항목(또는 데이터 메모리 영역에 대한 포인터)를 결합한 자료 구조를 가지는 PATRICIA 트리로 구현함으로서 특정 스위치나 노드 그룹의 토폴로지 정보를 검색하는데 데이터의 저장에 필요한 메모리를 최소화 하고, N개의 노드들의 정보 검색시 1회의 노드 아이디 비교연산으로 검색할 수 있도록 하여 PNNI 라우팅 프로토콜을 운영하는 ATM 스위치의 성능을 최대화할 수 있도록 하는 거이 목적이다.
도 1 은 본 발명에 따른 PATRICIA 트리의 예제이다.
도 2 는 본 발명에 따른 PATRICIA 트리의 자료구조이다.
도 3 은 본 발명에 따른 PATRICIA 트리의 검색 의사 코드이다.
도 4 는 PTSP와 PTSE의 헤더이다.
도 5 는 노드 식별자이다.
도 6 은 본 발명에 따른 소프트웨어의 플로우 다이어그램이다.
도 7 은 PATRICA 트리 내의 삽입 예제이다.
상기와 같은 목적을 달성하기 위하여 본 발명에 따른 PATRICIA 트리를 이용하여 토폴로지 정보검색 방법의 바람직한 일 실시예는,
ATM 노드가 처음으로 시작(Start up)되는 제 1 단계;
상기 ATM 노드가 속한 파우팅 영역에 대한 토폴로지 정보를 담은 PTSP를 교환하는 제 2 단계;
상기 PTSP를 교환한 후에 PATRICIA 트리를 구성해 가는 제 3 단계;
상기 제 3 단계에서의 과정 중 먼저 해당 노드에 대한 정보가 있는지 검색하는 제 4 단계; 및
상기 검색 결과 FAIL을 리턴하면 트리에 없는 새로운 정보이므로 PATRICIA 트리에 새로운 PTSE 정보로서 삽입하는 제 5 단계를 포함한다.
본 발명에 대하여 도면을 참조하여 상세하게 설명하면 다음과 같다. 도 1 은 본 발명에 따른 PATRICIA 트리의 예제이고, 도 2 는 본 발명에 따른 PATRICIA 트리의 자료구조이고, 도 3 은 본 발명에 따른 PATRICIA 트리의 검색 의사 코드이고, 도 4 는 PTSP와 PTSE의 헤더이고, 도 5 는 노드 식별자이다.
예를 들어 6대의 ATM 스위치의 ATM 노드 아이디가 각각 1.1.0.0, 0.0.0.0, 0.0.1.0, 0.0.0.1, 1.0.0.1, 1.0.0.0 이고(도 5 에 도시된 바와같이 설명의 편의를 위해 x.x.x.x의 4 비트 항목의 형태로 나타냈으며 실제 프로토콜에서 사용되는 노드 아이디는 22 옥테트로 구성되어있다.), PATRICIA 트리가 상기 도 1 에 도시된 바와 같이 구성되어 있으며, 각각의 ATM 스위치들에 대한 노드 아이디를 검색 키 값으로 하여 트리를 검색할 때 PATRICIA 노드는 상기 도 2 의 자료구조(Data structure)를 가지고, 상기 도 3 에 도시된 바와 같이 의사 코드로 구성된 검색 함수를 사용하여 노드 아이디가 1.0.0.0인 ATM 노드의 토폴로지 정보를 검색하고자 할 때 검색 함수((PATRICIA) 헤드, (ATM 노드 아이디) 1.0.0.0)를 호출하면 검색 함수 내에서는 먼저 헤드가 가리키고 있는 PATRICIA 트리가 비어있는지 검사하여 비어있을 경우 찾을 노드의 정보가 없는 경우이므로 FAIL을 리턴한다.
상기와 같지 않은 경우에는 트리를 검색하기 위해 현재 트리 내에서 검색하고 있는 노드에 대한 포인터를 나타내는 커런트(Current) 포인터와 트리 구조에서커런트를 지시하고 부모 노드인 패런트 포인터를 선언한다.
상기 포인터 변수들을 선언한 후에 패런트가 함수 검색의 호출시 파라미터인 PATRICIA 트리의 헤드 노드에 대한 포인터를 가르키게 하고, 커런트는 헤드 노드의 left_child를 가르키게 한 후, 커런트의 비트 항목 번호가 패런트의 비트 항목 번호보다 큰 조건을 만족하는 동안 찾고자 하는 노드 아이디의 해당 비트 항목이 1 이면 right_child를 따르고, 해당 비트 항목이 0 이면 left_child를 따라 커런트 포인터가 이동하는 과정을 반복한다.
상기 커런트의 비트 번호가 패런트의 비트 항목 번호보다 크지 않으면 반복문을 벗어나 커런트가 가리키고 있는 노드의 노드 아이디와 ATM 노드 아이디와 1.0.0.0을 비교하여 같으면 노드 아이디 1.0.0.0에 대한 토폴로지 정보이므로 노드 정보에 대한 포인터를 리턴하고, 다르면 토폴로지 정보가 존재하지 않는 것이므로 FAIL을 리턴한다.
도 6 은 본 발명에 따른 소프트웨어의 플로우 다이어그램이다. 상기 도 3 에 대한 소프트웨어 플로우 다이어그램은 상기 도 6 에 도시하였다.
상기와 같이 검색을 하기 위해서는 각각의 ATM 노드가 시작 될 때 연결된 노드들의 토폴로지 정보를 교환하여 데이터 베이스 동기화 과정을 거치게 되고, 새로이 처음 널(Null) 상태의 PATRICIA의 형태로 토폴로지 데이터를 구축하여야 한다.
도 7 은 PATRICA 트리 내의 삽입 예제로서, 상기 PATRICIA 트리 형태로 토폴로지 데이터를 구축하는 순서에 대하여 도시하였다.
만약, 토드 아이디 100, 0010, 1001, 1100 순서로 토폴로지 데이터가 삽입된다면 다음의 순서를 따른다.
처음 새로운 노드(1000)에 대한 데이터를 삽입할 때 PATRICIA 트리는 널 상태이므로 비트 항목 번호는 0, 노드 아이디는 1000으로 하여 삽인한 후, 검색 키 값을 0010으로 검색하면 헤드 노드인 1000에서 검색이 끝나는데 킷값이 다른 첫 번재 비트가 비트 1(0020 중 첫 번째 0)이고 상기 비트의 값이 0이므로 0010은 1000의 left_dhild로 새로이 생성 된다.
삽입시에는 상기와 같은 과정을 반복하여 삽입하여 PATRICIA 트리가 생성도고 검색시에나 삽입시 22 바이트 노드 아이디를 전체 비교하는 비교연산은 1회(N개의 노드를 대상으로 바이너리 검색시 노드 아이디 비교연산이 로그 N회 반복)로 삽입과 검색을 수행하며 검색 시간을 줄이 수 있다.
상기와 같이 구성된 본 발명은 PNNI 라우팅 프로토콜을 구현함에 있어 각각의 노드에 부여된 ATM 노드가 지닌 비트 또는 바이트 단위 비교연산의 용이성과 PNNI 프로토콜의 반복되는 토폴로지 정보 검색을 간능하게 함으로써, PNNI 라우팅 프로토콜 구현시 성느을 높일 수 있는 효과가 있다.
Claims (5)
- ATM 노드가 처음으로 시작(Start up)되는 제 1 단계;상기 ATM 노드가 속한 파우팅 영역에 대한 토폴로지 정보를 담은 PTSP를 교환하는 제 2 단계;상기 PTSP를 교환한 후에 PATRICIA 트리를 구성해 가는 제 3 단계;상기 제 3 단계에서의 과정 중 먼저 해당 노드에 대한 정보가 있는지 검색하는 제 4 단계; 및상기 검색 결과 FAIL을 리턴하면 트리에 없는 새로운 정보이므로 PATRICIA 트리에 새로운 PTSE 정보로서 삽입하는 제 5 단계를 포함하는, 토폴로지 정보검색 방법.
- 제 1 항에 있어서, 검색 함수를 호출하게 되는 경우, 검색 함수 내에서 먼저 헤드가 가리키고 있는 PATRICIA 트리가 비어 있는지를 검사하여 비어있는 경우 FAIL을 리턴하고, 비어있지 않은 경우 트리 검색을 위해 커런트 포인터와 패런트 포인트를 선언하는, 검색 함수를 이용한, 토폴로지 정보검색 방법.
- 제 2 항에 있어서, 커런트의 비트 항목 번호가 패런트의 비트 항목 번호보다 큰 조건을 만족하는 동안 찾고자 하는 노드 아이디의 해당 비트 항목이 1인 경우에는 right_child를, 0인 경우에는 left_child를 따라 커런트 포인터가 이동하는, 검색 함수를 이용한, 토폴로지 정보검색 방법.
- 제 2 항에 있어서, 커런트의 비트 항목 번호가 패런트의 비트 항목 번호보다 크지 않은 경우 반복문을 벗어나 커런트가 가리키고 있는 노드의 노드 아이디와 ATM 노드 아이디와 1.0.0.0을 비교하여 같으면 노드 정보에 대한 포인터를 리턴하고, 다르면 FAIL을 리턴하는, 검색 함수를 이용한, 토폴로지 정보검색 방법.
- 제 1 항에 있어서, 처음 새로운 노드(1000)에 대한 데이터를 삽입할 때 PATRICIA 트리는 널 상태이므로 비트 항목 번호는 0, 노드 아이디는 1000으로 하여 삽입한 후 검색 키 값을 0010으로 하여 검색하는 경우 헤드 노드인 1000에서 검색이 끝나는데 키 값이 일치하지 않으므로 0010에 대한 노드는 존재하지 않는 것이며, 1000과 0010이 다른 첫 번째 비트가 비트 0 이고 상기 비트의 값이 0 이므로 0010이 1000의 left_child로 새로이 생성되는, 토폴로지 정보검색 방법.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019970079019A KR100258153B1 (ko) | 1997-12-30 | 1997-12-30 | 에이티엠 피엔엔아이 라우팅 프로토콜에서 피에이티알아이씨아이에이 트리를 이용한 토폴로지 정보검색 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019970079019A KR100258153B1 (ko) | 1997-12-30 | 1997-12-30 | 에이티엠 피엔엔아이 라우팅 프로토콜에서 피에이티알아이씨아이에이 트리를 이용한 토폴로지 정보검색 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR19990058845A KR19990058845A (ko) | 1999-07-26 |
KR100258153B1 true KR100258153B1 (ko) | 2000-06-01 |
Family
ID=19530000
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019970079019A KR100258153B1 (ko) | 1997-12-30 | 1997-12-30 | 에이티엠 피엔엔아이 라우팅 프로토콜에서 피에이티알아이씨아이에이 트리를 이용한 토폴로지 정보검색 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100258153B1 (ko) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100317992B1 (ko) * | 2000-01-27 | 2001-12-22 | 오길록 | 파라메타 그룹핑 스킴을 이용한 피엔엔아이 계층 토폴로지축약 방법 |
-
1997
- 1997-12-30 KR KR1019970079019A patent/KR100258153B1/ko not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
KR19990058845A (ko) | 1999-07-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5787430A (en) | Variable length data sequence backtracking a trie structure | |
CN100409618C (zh) | 确定网元的连接性解决方案的技术 | |
Doeringer et al. | Routing on longest-matching prefixes | |
US6396842B1 (en) | Method of searching using longest match based Randix Search Trie with variable length keys and having prefix capability | |
Aggarwal et al. | A simple method for reliability evaluation of a communication system | |
WO1996021324A2 (en) | Method for comparing attribute values of controllable object expressions in a network element | |
JPH03139936A (ja) | 経路選択方法 | |
US20030177263A1 (en) | Routing in a communications network | |
US6201755B1 (en) | Method and system for storing and retrieving information in a communications node | |
JP2008167464A (ja) | Tlvに基づいたリンク状態のパケットの処理方法及び装置 | |
KR100258153B1 (ko) | 에이티엠 피엔엔아이 라우팅 프로토콜에서 피에이티알아이씨아이에이 트리를 이용한 토폴로지 정보검색 방법 | |
US7065085B2 (en) | Method for summarizing default address of PNNI lowest level node in ATM switching system | |
Jaffe et al. | Subtle design issues in the implementation of distributed, dynamic routing algorithms | |
US6246686B1 (en) | Method for associating data with ATM cells | |
Itai et al. | Scheduling transmissions in a network | |
JPH0969839A (ja) | Atm交換機及びatm交換機におけるvpi・vciの管理方法 | |
US6822941B1 (en) | Method and network element for relaying event messages | |
KR19990042386A (ko) | 다중 균형 트리 구조를 이용한 관리정보 트리에서의 노드 검색,생성 및 삭제 방법 | |
US5893103A (en) | Method of reconstructing a managed information tree | |
KR100459033B1 (ko) | 에이티엠 교환기의 프레임릴레이 연결 관리 구조 및 방법 | |
KR100378371B1 (ko) | 교환시스템의 유휴 중계선 탐색방법 | |
Cohen et al. | Label swapping routing with self-termination | |
KR0173379B1 (ko) | 해쉬 함수와 증가함수를 이용한 테이블 데이타 삭제방법 | |
Yener et al. | Convergence routing on disjoint spanning trees | |
KR100456975B1 (ko) | 에이티엠 망에서 피브이씨 연결을 위한 자원 할당 시스템 및 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20080211 Year of fee payment: 9 |
|
LAPS | Lapse due to unpaid annual fee |