KR100612251B1 - 씨엘아이 설정 변경 장치 및 방법 - Google Patents

씨엘아이 설정 변경 장치 및 방법 Download PDF

Info

Publication number
KR100612251B1
KR100612251B1 KR1020040114334A KR20040114334A KR100612251B1 KR 100612251 B1 KR100612251 B1 KR 100612251B1 KR 1020040114334 A KR1020040114334 A KR 1020040114334A KR 20040114334 A KR20040114334 A KR 20040114334A KR 100612251 B1 KR100612251 B1 KR 100612251B1
Authority
KR
South Korea
Prior art keywords
daemon
command
node
register
dcr
Prior art date
Application number
KR1020040114334A
Other languages
English (en)
Other versions
KR20060075531A (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 삼성전자주식회사
Priority to KR1020040114334A priority Critical patent/KR100612251B1/ko
Publication of KR20060075531A publication Critical patent/KR20060075531A/ko
Application granted granted Critical
Publication of KR100612251B1 publication Critical patent/KR100612251B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명에 따른 CLI 설정 변경 장치 및 방법은 CLI 셀에 추가되는 데몬(Deamon)의 정보를 포함하는 정보 파일; 및 관리자 입력부로부터 새로운 데몬 추가/수정을 위한 DCR(Dynamic Command Register) 명령어가 입력되면, 그 명령어에 대응되는 정보 파일로부터 새로운 데몬의 정보를 리딩한 후 레지스터에 갱신하는 데몬 추가 쓰레드를 포함하는 것으로써 CLI 셀을 사용하여 프로토콜을 개발하는 모든 개발자들이 CLI 셀을 구동중인 상태에서 새로운 명령어의 추가가 가능한 것이다.

Description

씨엘아이 설정 변경 장치 및 방법{Method and apparatus for changing set Command Line Interface}
도 1a는 종래의 네트워크 시스템에서 텔넷을 이용하여 어플리케이션 데몬을 접속하는 모습을 나타낸 기능블록도,
도 1b는 종래의 네트워크 시스템에서 CLI 셀을 이용하여 하나의 텔넷과 다수개의 어플리케이션 데몬을 접속하는 모습을 나타낸 기능블록도,
도 2는 본 발명의 일 실시예에 따른 CLI 설정 변경 장치의 구성을 나타낸 기능블록도,
도 3은 본 발명의 일 실시예에 따른 CLI 설정 변경 방법을 나타낸 플로우차트,
도 4는 도 3에 따른 CLI 설정 변경 방법 중 레지스터 갱신 단계의 세부 구성을 나타낸 플로우차트,
도 5는 도 2 및 도 3에 따른 CLI 설정 변경 장치 및 방법에서 각 노드의 단계를 나타낸 도면,
도 6은 도 2 및 도 3에 따른 CLI 설정 변경 장치 및 방법에서 레지스터의 데몬, 노드, 및 명령어의 구성을 나타낸 도면이다.
<도면의 주요 부분에 대한 부호의 설명>
100 : 데몬 추가 쓰레드 200 : 정보 파일
300 : 레지스터
본 발명은 CLI 설정 변경 장치 및 방법에 관한 것으로, 더욱 상세하게는 새로운 어플리케이션 데몬, 노드, 및 명령어를 추가할 경우 CLI 셀을 종료하지 않고 설정변경이 가능하도록 해주는 CLI 설정 변경 장치 및 방법에 관한 것이다.
일반적으로, 네트워크 시스템은 여러 다른 시스템을 접속해주기 위한 시스템으로 프로토콜을 이용한다.
즉, 도 1a에 도시된 바와 같이 네트워크 시스템은 관리자 입력부(1)가 텔넷(2)을 통해 각 RIP 데몬(3), OSPF 데몬(3), 및 BGP 데몬(3)들과 각각 1:1로 매칭되어 접속된다.
이 때, 상기 텔넷(2)이란 네트워크상의 한 시스템 관리자가 자기 시스템(로컬 시스템)의 자원에 접속하는 것처럼 다른 시스템(원격지 시스템)에 접속할 수 있게 해주는 것을 말하며, 상기 어플리케이션 데몬(3)은 각 프로토콜을 실제로 수행 하는 프로세서들이다.
이 때, 관리자는 관리자 입력부(1)를 통해 텔넷(2)에 명령어를 입력하고, 그 입력된 명령어에 의해 상응하는 어플리케이션 데몬(3)들이 상응하는 동작들을 수행하게 된다. 즉, 텔넷(2)을 통해 각 어플리케이션 데몬과 접속되면 관리자는 상기 어플리케이션 데몬(3)의 시작, 종료, 리셋, 표시 및 변경과 같은 설정을 변경할 수 있다.
이와 같은, 어플리케이션 데몬(3)은 도 5 및 도 6에 도시된 바와 같이 여러 모드(노드)들의 계층적인 구조의 명령체계를 가지며 각 노드들은 자기 자신의 특별한 명령어들을 가진다.
이러한 어플리케이션 데몬의 계층적 구조는 도 5에 도시된 바와 같으며, 그 실직적인 구조는 도 6에 도시된 바와 같다.
먼저, 기본 모드인 "Exec" 모드는 VIEW 노드라고 불리며, 사용자들이 show, exit, quit, help, list, 및 enable과 같은 기본 명령들을 수행할 수 있는 기본 모드이다. 기본적으로 모든 어플리케이션 데몬들은 이 모드를 가진다.
그리고, "Priviledged Exec" 모드는 관리자가 패스워드(Password)를 거쳐야만 관리가 가능한 것으로 Enable 노드라고 불리며, 사용자들은 디버깅 명령들, 라이트(Write) 명령들(설정을 저장하고 보기 위한), Show 명령들 등등을 수행하는 모드이다. 이 또한 기본적으로 모든 어플리케이션 데몬들은 이 모드를 가지고 있다.
또한, "Configure" 모드는 Configure Terminal로 참조되며, 이 모드는 인터페이스, 라우터, 라인, 라우터 맵, 키 캐인 및 어드레스 패밀리 모드들로의 게이트 웨이의 역할을 한다. 이 또한 기본적으로 모든 어플리케이션 데몬들은 이 모드를 가지고 있다.
그리고, "인터페이스" 모드는 특정 인터페이스에 대해 프로토콜 지정 값들을 설정하기 위해 사용되며, 설정된 어떤 값들은 라우터 모드에서 설정된 속성들보다 우선한다.
종래의 어플리케이션 데몬의 관리 방법은 각 어플리케이션 데몬과 텔넷이 1:1로 매칭되어 있기 때문에 새로운 어플리케이션 데몬이 추가될 경우 어플리케이션 데몬에 비례하게 텔넷 또한 증가해야하는 문제점을 가지고 있었다.
따라서, 상기와 같은 문제점을 보완하기 위해 도 1b에 도시된 바와 같이 하나의 텔넷(2)에 다수개의 어플리케이션 데몬(3)이 접속할 수 있는 CLI 셀(11)을 개발하게 되었다.
상기 CLI 셀(11)은 다음과 같은 생성 방법을 갖는다.
먼저, CLI 셀(11)이 실행되어 있으면 종료한 후, 개발자가 새로운 명령어를 코딩하여 코드를 컴파일 함으로써 실행 파일이 생성된다.
이 때, 각 어플리케이션 데몬(3)의 정보들은 레지스터에 생성되고, 상기 레지스터는 도 5 및 도 6에 도시된 바와 같이 데몬, 데몬 이하의 각 노드, 각 노드에서 사용 가능한 명령어 문자열, 및 도움말 문자열을 포함하고 있다.
따라서, 컴파일된 파일을 실행하면 관리자는 텔넷(2) 세션을 통해 데몬(3)과 접속되고, 상기 텔넷(2) 세션을 통해 적어도 하나 이상의 데몬(3)과 접속하여 관리 할 수 있다.
그러나, 종래의 CLI 셀을 수정하는 방법은 반드시 구동중인 CLI 셀을 중지한 후 새로 추가되는 어플리케이션 데몬, 각 데몬의 노드, 및 명령어들을 추가하고 재 컴파일을 수행한 후 다시 CLI 셀을 구동하는 것으로, 반드시 CLI 셀을 종료해야한다는 문제점을 가지고 있었다.
그 뿐만 아니라, 각 데몬들에 해당 명령어를 구현하고 똑같은 명령어가 CLI 셀에도 구현되어져야 하는 이중 구현의 문제가 있었다. 그리고, 개발자에게는 빠른 시간 대비 구현을 실현하기 위해 이러한 이중구현의 문제는 해결해야 한다.
따라서, 본 발명은 상기와 같은 종래의 문제점을 해결하기 위해 이루어진 것으로서, 본 발명의 목적은 새로운 데몬, 노드, 및 명령어들을 등록하거나, 수정, 추가할 경우 현재 실행되고 있는 CLI 셀을 종료하지 않고 추가할 수 있는 CLI 설정 변경 장치 및 방법을 제공하는 데 있다.
상기한 목적을 달성하기 위한 본 발명에 따른 CLI 설정 변경 장치 및 방법의 일 측면에 따르면, 추가되는 데몬(Daemon)의 정보를 포함하는 정보 파일; 및 관리자 입력부로부터 새로운 데몬 추가/수정을 위한 DCR 명령어가 입력되면, 그 명령어에 상응하는 정보 파일로부터 새로운 데몬의 정보를 리딩한 후 레지스터에 갱신하 는 데몬 추가 쓰레드를 포함한다.
이 때, 상기 DCR 명령어는 정보 파일명을 더 포함하며, 상기 DCR 명령어에 상응하는 정보 파일은, 노드 이름, 데몬 이름, 및 명령어 문자열, 및 도움말 문자열을 적어도 하나 이상 포함하는 것을 특징으로 한다.
또한, 상기 데몬 추가 쓰레드는, 매크로 작업을 통해 상기 정보 파일에 포함된 정보들을 레지스터에 갱신하는 것을 특징으로 한다.
한편, 본 발명에 따른 CLI 설정 변경 방법의 일 측면에 따르면, 추가되는 데몬의 정보 파일을 생성하는 단계; 및 관리자 입력부로부터 새로운 데몬 추가/수정을 위한 DCR 명령어가 입력되면, 그 명령어에 대응되는 정보 파일로부터 새로운 데몬의 정보를 리딩한 후 레지스터에 갱신하는 단계를 포함한다.
이하, 본 발명의 일 실시예에 의한 CLI 설정 변경 장치 및 방법에 대하여 첨부된 도면을 참조하여 상세히 설명하기로 한다.
도 2는 본 발명의 일 실시예에 의한 CLI 설정 변경 장치의 기능블록도로서, 본 발명의 일 실시예에 의한 CLI 설정 변경 장치는 관리자 입력부(10), 데몬 관리 쓰레드(20), 데몬 추가 쓰레드(100), 정보 파일(200), 및 레지스터(300)를 포함한다.
상기 관리자 입력부(10)는 CLI 셀이 실행되면, 각 데몬의 시작, 종료, 기타 동작을 수행하도록 명령어를 입력하는 역할을 한다.
그리고, 상기 데몬 관리 쓰레드(20)는 상기 관리자 입력부(10)를 통해 관리자가 명령어를 처리하는 역할을 한다.
즉, 관리자가 View 모드에 접속한 후 copy와 같은 명령어를 내리면 그 copy와 같은 명령어에 상응하는 데몬을 구동시킨다.
또한, 상기 데몬 추가 쓰레드(100)는 관리자 입력부(10)로부터 새로운 데몬 추가/수정을 위한 DCR 명령어가 입력되면, 그 명령어에 상응하는 정보 파일(200)로부터 새로운 데몬의 정보를 리딩한 후 레지스터(300)에 갱신하는 역할을 한다. 이 때, 상기 데몬 추가 쓰레드(100)는 매크로 작업을 통해 상기 정보 파일(200)에 포함된 정보들을 레지스터(300)에 갱신한다.
그리고, 상기 관리자 입력부(10)로부터 입력되는 상기 DCR 명령어는, 정보 파일명을 더 포함한다.
그리고, 상기 정보 파일(200)은 추가되는 데몬(Deamon)의 정보를 포함하여 저장하는 역할을 한다.
이 때, 상기 정보 파일(200)은, 노드 이름, 데몬 이름, 및 명령어 문자열, 및 도움말 문자열을 포함하고 있다.
먼저, CLI 셀 변경 방법을 설명하기에 앞서 CLI 셀 생성 방법에 대해 설명하면, 상기 CLI 셀은 개발자가 새로운 명령어를 코딩하여 코드를 컴파일 함으로써 실행 파일이 생성된다.
즉, 개발자는 다음과 같은 코드를 통해 CLI 셀의 코드를 코딩하게 된다.
vtysh.h
#define VTYSH_ALL
VTYSH_ZEBRA|VTYSH_RIPD|VTYSH_RIPNGD|VTYSH_OSPFD| VTYSH_OSPF6D | VTYSH_BGPD
-> #define VTYSH_ALL 0xFFFFFFFF
< VTYSH_ALL 상수는 모든 데몬에서 사용되는 명령어를 처리하기 위함이며, 32bit로 bit and 연산을 사용하기 위해 "0xFFFFFFFF"로 세팅한다. >
#define VTYSH_INDEX_MAX 7
< #define VTYSH_INDEX_MAX 32는, 셀 내에 등록할 수 있는 데몬의 최대 개수를 의미하며, 최대 32개로 한정되는데 그 이유는 int가 32bit이기 때문에 bit and 연산을 가능하게 하기 위해 bit당 하나씩의 데몬이 매핑되기 때문이다. >
vtysh.c <새로운 상수, 배열, 함수 정의>
- #define BUFSIZE 512
- extern vector cmdvec;
- char *node_name_array[35] = {
< char *node_name_array[VTYSH_NODE_MAX]; 셀 내에 이미 등록되어 있는 노드들의 이름에 대한 배열이다. 이와 같은 배열은 현재 35개의 노드가 등록되어 있다. >
- char *daemon_name_array[32] = {
< char *daemon_name_array[VTYSH_DAEMON_MAX]; 셀 내에 이미 등록되어 있는 데몬들의 이름에 대한 배열이다. 이와 같은 배열은 현재 6개의 데몬이 등록되어 있다. >
- struct cmd_node *get_node(char *node_name)
< struct cmd_node *get_node(char *node_name); 노드의 이름을 string으로 주면 그에 해당하는 cmd_node 구조체를 리턴하는 함수이다. >
- int get_node_index(char *node_name)
< int get_node_index(char *node_name); 노드의 이름을 string으로 주면 이 node가 node_name_arrary에서 몇 번째에 해당하는 것인지 그 인덱스를 리턴하는 함수이다. >
- int get_daemon_index(char *daemon_name)
< int get_daemon_index(char *daemon_name): 데몬의 이름을 string으로 주면 이 데몬이 daemon_name_array에서 몇 번째에 해당하는 것인지 그 인덱스를 리턴하는 함수이다. >
- int get_max_daemon_index()
< daemon_name_array의 최대 인덱스 + 1이다. 즉 새로운 daemon_name 이 저장될 인덱스를 말한다. >
- int node_change_func(struct cmd_element *self, struct vty *vty, int agrc, char **argv)
< int node_change_func(struct cmd_element *self, struct vty *vty, int agrc, char **argv): 새로 생성된 노드로 이동하기 위한 함수이다. >
- int node_exit_func(struct cmd_element *self, struct vty *vty, int agrc, char **argv)
< int node_exit_func(struct cmd_element *self, struct vty *vty, int agrc, char **argv): 새로 생성된 노드에서 빠져나오기 위한 함수이며, 현재는 무조건 CONFIG_NODE로 빠져나온다. >
그리고, DCR 매크로를 등록하게 된다.
- DEFUN (vtysh_dcr, vtysh_dcr_cmd, "dcr FILENAME", "Dynamic Command Registration\n" "File name containing command list\n").
< DEFUN (vtysh_dcr, vtysh_dcr_cmd, "dcr FILENAME", "Dynamic Command Registration\n" "File name containing command list\n"): DCR 명령어를 셀 내에 등록하기 위한 DEFUN 매크로를 이용한다. 따라서, 파일 이름은 등록될 명령어들을 담고 있는 "configuration 파일의 이름이다.
그리고, DCR 명령어 수행 시 configuration 파일에 있는 명령어들이 셀에 등록되어 바로 사용할 수 있게 된다. >
void vtysh_execute_func (char *line, int pager) 함수
- max_daemon_index = get_max_daemon_index();
< 새로운 데몬을 등록하기 위한 인덱스를 구함이다. >
- for(i=0; i<max_daemon_index; i++)
{ cmd_stat = vtysh_client_execute (&vtysh_client[i], line, fp);
if( cmd_stat == CMD_WARNING)
break; }
< 등록된 데몬들이 configure terminal mode 인 것을 알림이다. >
- for(i=0; i<max_daemon_index; i++)
{ daemon_bit = 1 << i;
if( cmd->daemon & daemon_bit){
ret_stat = vtysh_client_execute (&vtysh_client[i], line, fp);
if( ret_stat != CMD_SUCCESS) break; } }
< 각 명령어들을 자신이 속한 데몬들로 전송하기 위한 것이다. >
void vtysh_init_vty () 함수
- install_element (VIEW_NODE, &vtysh_dcr_cmd);
: VIEW_NODE에 dcr 명령어 install
이 때, 텔넷을 통해 각 데몬을 관리할 수 있도록 각 데몬의 정보들은 레지스터(300)에 생성/저장되며, 상기 레지스터(300)는 도 5 및 도 6에 도시된 바와 같이 데몬, 데몬 이하의 각 노드, 각 노드에서 사용 가능한 명령어 문자열, 및 도움말 문자열을 등록된다. 즉, 각 데몬별로는 단계별 노드를 가지며 각 노드별로 상응하는 명령어를 갖는다.
그리고, 데몬별로 등록되는 노드와 명령어들은 상기와 같은 동일한 규칙에 의해 코딩된다.
이 후, 개발자가 컴파일하여 실행 파일을 생성한다.
그러면, 관리자는 실행 파일을 실행시켜 텔넷 세션을 통해 데몬과 접속하고, 그 텔넷 세션을 통해 적어도 하나 이상의 데몬과 접속하여 관리할 수 있다.
이 후, 관리자는 모니터를 통해 각 데몬에 접속하게 되는데 일반적으로 도스형태를 가지며, 관리자는 텔넷을 통해 각 데몬과 접속하기 위해서는 명령어를 순차적으로 입력해야만 관리가 가능하다.
그러면, 상기와 같은 구성을 가지는 CLI 설정 변경 방법에 대한 동작과정에 대해 설명하기로 한다.
상기 CLI 셀은 각 데몬을 관리하기 위한 데몬 관리 쓰레드(20)와, 데몬 추가 쓰레드(100)를 형성한다. 이 때, 개발자가 각 쓰레드를 형성하기 위해서는 일반적으로 프로그램 언어를 통해서 이루어진다.
이 중, 데몬 추가 쓰레드(100)는 다음과 같은 형식으로 프로그래밍 되어지고 있다.
관리자가 텔넷을 통해 각 데몬을 관리할 수 있도록 각 데몬의 정보들은 레지스터(300)에 생성/저장하며, 상기 레지스터(300)는 도 6에 도시된 바와 같이 데몬, 데몬 이하의 각 노드, 각 노드에서 사용 가능한 명령어 문자열, 및 도움말 문자열을 등록된다. 즉, 각 데몬별로는 단계별 노드를 가지며 각 노드 별로 상응하는 명령어를 갖는다.
그리고, 데몬별로 등록되는 노드와 명령어들은 동일한 규칙에 의해 코딩된다.
이 후, 컴파일하면 실행 파일이 생성되며, 그 실행 파일을 실행시키면 관리 자는 텔넷 세션을 통해 데몬과 접속 가능하게 되고, 상기 텔넷 세션을 통해 적어도 하나 이상의 데몬과 접속하여 관리할 수 있다.
이 후, 관리자는 모니터를 통해 각 데몬에 접속하게 되는데 일반적으로 도스형태를 갖는다.
따라서, 관리자가 텔넷을 통해 각 데몬과 접속하기 위해서는 명령어를 순차적으로 데몬, 노드, 명령어를 입력해야만 관리가 가능하다.
그러면, 상기와 같은 구성을 가지는 CLI 설정 변경 방법에 대해 도 3을 참조하여 설명하기로 한다.
만약, 관리자가 새로운 데몬을 추가하기 위한 CLI 설정 변경 방법을 설명하면 먼저 추가되는 데몬의 정보 파일(200)을 생성한다(S1).
이 때, 상기 데몬의 정보 파일은 DCR Configuration 파일로써 dcr.conf : configuration 파일의 default 이름(name)이며, 각 데몬에서 수행되어야 하는 명령어들을 셀 내에 등록하고자 할 때 "dcr.conf" 파일에 저장하면 된다. 그리고, 파일 포맷(format)은 노드 이름, 데몬 이름, 및 명령어 문자열, 및 도움말 문자열을 포함하고 있다. 그리고, 한 줄에 한 명령어씩만 등록해야 하며, 도움말 문자열의 개수는 명령어 문자열의 piece의 개수와 같다.
이어서, 관리자 입력부(10)로부터 새로운 데몬 추가/수정을 위한 DCR 명령어가 입력되면, 그 명령어에 대응되는 정보 파일(200)로부터 새로운 데몬의 정보를 리딩한 후 레지스터(300)에 갱신한다(S2).
이 때, 상기 레지스터(300) 갱신 단계는 매크로 작업을 통해 상기 정보 파일(200)에 포함된 정보들을 레지스터(300)에 갱신한다. DCR 등록 매크로 상세 설명하며, configuration 파일을 열어 한 줄씩 읽어온다. 읽어온 한 라인을 두 부분(node name, daemon name),(command string, help string)으로 나누며, 각각의 piece들을 분리하여 처리한다.
이 때, 명령어 문자열과 도움말 문자열은 : 버퍼(buffer)에 저장한다.
그리고, 데몬 이름은 데몬이 기존 daemon 이름(name) 배열(array)에 존재하는지 아니면 새로운 daemon인지를 검사하여 기존에 있는 데몬일 경우에는 그 배열(array)의 인덱스를 가져와 bit shift한다.
만약, 새로운 데몬인 경우에는 배열(array)의 max index 다음에 추가하고 vtysh_connect 한다.
또한, 노드 이름은 노드가 기존에 존재하는 노드인지 새로운 노드인지를 검사한다. 만약, 기존에 존재하는 노드일 경우에는 cmd 구조체를 그 노드에 install_element 한다.
만약, 새로운 노드일 경우에는 새 노드에 대한 구조체를 세팅하고 cmd를 install 한다
이 후, node change cmd와 node exit cmd를 install 한다
이하, 하기에서는 상술한 제 2 단계(S2)의 세부 동작과정에 대해 도 4를 참조하여 좀 더 상세히 설명하기로 한다.
먼저, 상기 관리자 입력부(10)로부터 데몬 추가/수정을 위한 DCR(Dynamic Command Register) 명령어를 입력받는다(S21).
이 때, 상기 DCR 명령어는 C> DCR "정보 파일(200)" 과 같은 형식으로 입력한다. 여기서, DCR은 명령 리스트를 포함하는 파일(정보 파일(200))을 읽어서 명령 추가 매크로를 실행하도록 구현된 명령어이다.
그러면, 상기 DCR 명령어에 대응되는 정보 파일(200)로부터 데몬 정보를 통해 변경/생성하고자 하는 데몬이 존재하는지를 판단한다(S22).
만약, 상기 데몬 판단 단계(S22)에서 DCR 명령어에 상응하는 데몬이 존재하면(YES), 노드가 존재하는지를 판단한다(S23).
이 때, 상기 노드 판단 단계(S23)에서 노드가 존재하면(YES), 상기 정보 파일(200)에 저장된 명령어 문자열, 및 도움말 문자열을 레지스터(300)에 추가로 저장한다(S24).
반면에, 상기 데몬 판단 단계(S22)에서 DCR 명령어에 상응하는 데몬이 존재하지 않으면(NO), 상기 레지스터(300)에 새로운 데몬 인덱스를 생성한다(S25).
이어서, 상기 생성된 새로운 데몬 인덱스에 노드 이름, 명령어 문자열, 도움말 문자열을 하위에 저장한다(S26).
이 후, 새로운 데몬의 소켓을 생성하여 새로운 데몬과 연결시킨다(S27).
한편, 상기 노드 판단 단계(S23)에서 노드가 존재하지 않으면(NO), 레지스터(300)의 데몬 인덱스 하위에 노드를 생성한다(S28).
이어서, 생성된 노드에 명령어 문자열 및 도움말 문자열을 생성한다(S29).
이상에서 본 발명은 기재된 구체적인 실시예에 대해서만 상세히 설명하였지만 본 발명의 기술 사상 범위 내에서 다양한 변형 및 수정이 가능함은 당업자에게 있어서 명백한 것이며, 이러한 변형 및 수정이 첨부된 특허청구범위에 속함은 당연한 것이다.
상술한 바와 같이 본 발명에 의한 CLI 설정 변경 장치 및 방법에 의하면, CLI 셀을 사용하여 프로토콜을 개발하는 모든 개발자들이 CLI 셀을 구동중인 상태에서 새로운 명령어의 추가가 가능한 뛰어난 효과가 있다.

Claims (10)

  1. 네트워크 시스템에서의 CLI(Communication Line Interface)의 설정 변경 장치에 있어서,
    CLI 셀에 추가되는 데몬(Deamon)의 정보를 포함하는 정보 파일; 및
    관리자 입력부로부터 새로운 데몬 추가/수정을 위한 DCR(Dynamic Command Register) 명령어가 입력되면, 그 명령어에 대응되는 정보 파일로부터 새로운 데몬의 정보를 리딩한 후 레지스터에 갱신하는 데몬 추가 쓰레드를 포함하는 CLI 설정 변경 장치.
  2. 제 1항에 있어서,
    상기 DCR 명령어는, 정보 파일명을 더 포함하는 것을 특징으로 하는 CLI 설정 변경 장치.
  3. 제 1항에 있어서,
    상기 DCR 명령어에 상응하는 정보 파일은, 노드 이름, 데몬 이름, 및 명령어 문자열, 및 도움말 문자열을 적어도 하나 이상 포함하는 CLI 설정 변경 장치.
  4. 제 1항에 있어서,
    상기 데몬 추가 쓰레드는, 매크로 작업을 통해 상기 정보 파일에 포함된 정보들을 레지스터에 갱신하는 것을 특징으로 하는 CLI 설정 변경 장치.
  5. 네트워크 시스템에서의 CLI(Communication Line Interface) 설정 변경 방법에 있어서,
    추가되는 데몬의 정보 파일을 생성하는 단계; 및
    관리자 입력부로부터 새로운 데몬 추가/수정을 위한 DCR 명령어가 입력되면, 그 명령어에 대응되는 정보 파일로부터 새로운 데몬의 정보를 리딩한 후 레지스터에 갱신하는 단계를 포함하는 CLI 설정 변경 방법.
  6. 제 5항에 있어서,
    상기 레지스터 갱신 단계는,
    상기 관리자 입력부로부터 데몬 추가/수정을 위한 DCR(Dynamic Command Register) 명령어를 입력받는 단계;
    상기 DCR 명령어에 대응되는 정보 파일로부터 데몬 정보를 통해 변경/생성하고자 하는 데몬이 존재하는지를 판단하는 단계;
    상기 데몬 판단 단계에서 DCR 명령어에 상응하는 데몬이 존재하면, 노드가 존재하는지를 판단하는 단계; 및
    상기 노드 판단 단계에서 노드가 존재하면, 상기 정보 파일에 저장된 명령어 문자열, 및 도움말 문자열을 레지스터에 추가로 저장하는 단계를 포함하는 CLI 설정 변경 방법.
  7. 제 6항에 있어서,
    상기 데몬 판단 단계에서 DCR 명령어에 상응하는 데몬이 존재하지 않으면, 상기 레지스터에 새로운 데몬 인덱스를 생성하는 단계;
    상기 생성된 새로운 데몬 인덱스에 노드 이름, 명령어 문자열, 도움말 문자열을 하위에 저장하는 단계; 및
    새로운 데몬의 소켓을 생성하여 새로운 데몬과 연결시키는 단계를 포함하는 CLI 설정 변경 방법.
  8. 제 6항에 있어서,
    상기 노드 판단 단계에서 노드가 존재하지 않으면, 레지스터의 데몬 인덱스 하위에 노드를 생성하는 단계; 및
    생성된 노드에 명령어 문자열 및 도움말 문자열을 생성하는 단계를 포함하는 CLI 설정 변경 방법.
  9. 제 5항에 있어서,
    상기 DCR 명령어에 상응하는 정보 파일은, 노드 이름, 데몬 이름, 및 명령어 문자열, 및 도움말 문자열을 적어도 하나 이상 포함하는 CLI 설정 변경 방법.
  10. 제 5항에 있어서,
    상기 레지스터 갱신 단계는, 매크로 작업을 통해 상기 정보 파일에 포함된 정보들을 레지스터에 갱신하는 것을 특징으로 하는 CLI 설정 변경 방법.
KR1020040114334A 2004-12-28 2004-12-28 씨엘아이 설정 변경 장치 및 방법 KR100612251B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020040114334A KR100612251B1 (ko) 2004-12-28 2004-12-28 씨엘아이 설정 변경 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020040114334A KR100612251B1 (ko) 2004-12-28 2004-12-28 씨엘아이 설정 변경 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20060075531A KR20060075531A (ko) 2006-07-04
KR100612251B1 true KR100612251B1 (ko) 2006-08-14

Family

ID=37168053

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020040114334A KR100612251B1 (ko) 2004-12-28 2004-12-28 씨엘아이 설정 변경 장치 및 방법

Country Status (1)

Country Link
KR (1) KR100612251B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101249486B1 (ko) 2011-12-09 2013-04-01 주식회사 시큐아이 데몬(daemon) 관리 방법 및 시스템

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030083491A (ko) * 2002-04-23 2003-10-30 한국전자통신연구원 Cli기반 네트워크 장비 관리 시스템과 네트워크 장비간정책 정보 일관성을 유지를 위한 망 관리 인터페이스운용장치 및 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030083491A (ko) * 2002-04-23 2003-10-30 한국전자통신연구원 Cli기반 네트워크 장비 관리 시스템과 네트워크 장비간정책 정보 일관성을 유지를 위한 망 관리 인터페이스운용장치 및 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101249486B1 (ko) 2011-12-09 2013-04-01 주식회사 시큐아이 데몬(daemon) 관리 방법 및 시스템

Also Published As

Publication number Publication date
KR20060075531A (ko) 2006-07-04

Similar Documents

Publication Publication Date Title
US6490255B1 (en) Network management system
US7712085B2 (en) Use of attribution to describe management information
US7676560B2 (en) Using URI&#39;s to identify multiple instances with a common schema
US8112744B2 (en) Method and system for creating self-assembling components through component languages
US7337435B2 (en) Efficient configuration data migration technique
WO2003102767A2 (en) Method and system for providing a command-line interface syntax from an xml specification
CA2335218C (en) File system locking
US20020188643A1 (en) Method and system for a model-based approach to network management
US8903965B2 (en) Method and apparatus for re-generating configuration commands of a network device using an object-based approach
Ciobanu et al. Flexible software architecture and language for mobile agents
Berson et al. Introduction to the ABone
Polakovic et al. Experience with safe dynamic reconfigurations in component-based embedded systems
US6615250B1 (en) Agent for communication between a manager and at least one resource of a data processing system
KR100612251B1 (ko) 씨엘아이 설정 변경 장치 및 방법
KR100724943B1 (ko) 통신장비 관리 장치 및 방법
KR100744377B1 (ko) 설정 정보 관리 방법 및 장치
KR100270915B1 (ko) 망 관리 플랫폼 및 방법
Deri A Component-based Architecture for Open, Independently Extensible Distributed Systems
US20050076343A1 (en) Persistent storage of network management data using object references
Heckel et al. Behavior-preserving refinement relations between dynamic software architectures
Boutaba et al. Active networks as a developing and testing environment for network protocols
Kakkar et al. Specifying the PLAN Network Programming Langauge
Mokdad et al. The computational object approach for network and systems management
Ban Extending CORBA for multi-domain management
Abdelnur BGP Module Documentation for the PYenca Agent

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: 20120730

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20130730

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20140730

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20150730

Year of fee payment: 10

LAPS Lapse due to unpaid annual fee