首页 / 专利库 / 软件 / 命令行界面 / 씨엘아이 설정 변경 장치 및 방법

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

阅读:949发布:2020-09-19

专利汇可以提供씨엘아이 설정 변경 장치 및 방법专利检索,专利查询,专利分析的服务。并且본 발명에 따른 CLI 설정 변경 장치 및 방법은 CLI 셀에 추가되는 데몬(Deamon)의 정보를 포함하는 정보 파일; 및 관리자 입력부로부터 새로운 데몬 추가/수정을 위한 DCR(Dynamic Command Register) 명령어가 입력되면, 그 명령어에 대응되는 정보 파일로부터 새로운 데몬의 정보를 리딩한 후 레지스터에 갱신하는 데몬 추가 쓰레드를 포함하는 것으로써 CLI 셀을 사용하여 프로토콜을 개발하는 모든 개발자들이 CLI 셀을 구동중인 상태에서 새로운 명령어의 추가가 가능한 것이다.,下面是씨엘아이 설정 변경 장치 및 방법专利的具体信息内容。

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

    씨엘아이 설정 변경 장치 및 방법{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 셀을 구동중인 상태에서 새로운 명령어의 추가가 가능한 뛰어난 효과가 있다.

    高效检索全球专利

    专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

    我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

    申请试用

    分析报告

    专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

    申请试用

    QQ群二维码
    意见反馈