KR100455523B1 - Snmp를 이용한 네트워크 관리프로그램 소스코드 생성방법, 장치 및 기록매체 - Google Patents

Snmp를 이용한 네트워크 관리프로그램 소스코드 생성방법, 장치 및 기록매체 Download PDF

Info

Publication number
KR100455523B1
KR100455523B1 KR10-2002-0058974A KR20020058974A KR100455523B1 KR 100455523 B1 KR100455523 B1 KR 100455523B1 KR 20020058974 A KR20020058974 A KR 20020058974A KR 100455523 B1 KR100455523 B1 KR 100455523B1
Authority
KR
South Korea
Prior art keywords
source code
mib
management
snmp
file
Prior art date
Application number
KR10-2002-0058974A
Other languages
English (en)
Other versions
KR20040027199A (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 KR10-2002-0058974A priority Critical patent/KR100455523B1/ko
Publication of KR20040027199A publication Critical patent/KR20040027199A/ko
Application granted granted Critical
Publication of KR100455523B1 publication Critical patent/KR100455523B1/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/02Standardisation; Integration
    • H04L41/0213Standardised network management protocols, e.g. simple network management protocol [SNMP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code

Abstract

SNMP를 이용한 네트워크 관리시스템에서의 네트워크 관리프로그램의 작성 및 갱신을 보다 용이하게 하기 위하여, 하나 이상의 MIB파일이름을 포함하는 기초데이터를 설정하는 기초데이터 설정단계; 상기 하나 이상의 MIB파일이름에 대응되는 MIB파일을 판독하는 단계; 상기 판독된 MIB파일로부터 MIB정보 트리를 생성하는 MIB정보트리 생성단계; 및 상기 구축된 MIB정보의 관리객체들에 대한 하나 이상의 SNMP연산을 수행하기 위한 소스코드를 포함하는 네트워크 관리프로그램 소스코드를 생성하는 소스코드 생성단계를 포함하는 과정에 의해 상기 관리프로그램의 소스코드를 생성하는 방법을 제공한다. 이러한 방법을 수행하기 위한 일련의 명령은 컴퓨터 프로그램 제품으로 공급되고, 상기 컴퓨터 프로그램 제품에는 생성되는 네트워크 관리프로그램 소스코드의 수행에 필요한 라이브러리 파일 및 통용되는 MIB저장파일을 포함한다.

Description

SNMP를 이용한 네트워크 관리프로그램 소스코드 생성 방법, 장치 및 기록매체{METHOD AND APPARATUS FOR GENERATING SOURCE-CODES OF PROGRAM FOR NETWORK MANAGEMENT USING SNMP AND COMPUTER SOFTWARE PRODUCTS THEREOF}
본 발명은 컴퓨터 네트워크에 관한 것으로, 더욱 상세하게는, 네트워크 관리 프로토콜인 SNMP(Simple Network Management Protocol)를 이용한 네트워크 관리프로그램의 소스코드를 생성하는 방법, 장치 및 그 방법을 수행하는 컴퓨터 프로그램 제품에 관한 것이다.
주지하는 바와 같이, 컴퓨터 네트워크에는 허브(Hub), 라우터(Router), 프린터(Printer), 서버(Server), 교환기(switch), 브리지(bridge) 등과 같은 다양한 장치들이 상호 연결되어 데이터를 호환하고 있다. 이렇게 네트워크에 연결된 다양한 장치(이하 "네트워크 구성요소(Network Element)"라 한다)들은 네트워크 관리자의 요구(중단없는 기능수행, 효율성의 극대화를 위한 설정, 고장시 대처, 새로운 이용자의 추가 등)에 적합하게 기능하도록 관리되어야 하는데, 이를 네트워크 관리(Network Management)라 한다.
이러한 네트워크 관리를 수행하는 서버를 네트워크 관리서버라고 하고, 네트워크 관리서버와 상기 네트워크 관리서버에 의해 관리되는 네트워크 구성요소를 포함하는 네트워크 시스템을 네트워크 관리시스템(Network Management System)이라 한다. 이러한 네트워크 관리서버는 네트워크 구성요소(Network Element)로부터 장애 데이터, 구성 데이터(configuration data), 통계 데이터(statistical data) 등과 같이 그 네트워크 구성요소의 현재의 운용상태에 관련된 데이터를 실시간으로 수집한다. 이에 따라 네트워크 관리서버는, 수집된 데이터를 설정된 로직에 의해 분석하거나, 네트워크 구성요소의 이상 상황을 신속히 네트워크 관리자에게 통보하는 등, 네트워크 관리자로 하여금 수집된 자료들을 토대로 현재의 네트워크를 분석하거나, 향후의 네트워크 운용계획을 수립할 수 있도록 기초자료를 제공한다.
이러한 네트워크 관리시스템 상에서 네트워크 관리서버가 다양한 네트워크 구성요소와 관리방법을 호환하기 위해서는, 관리의 대상이 되는 객체(이하 "관리객체(Managed Object)"라 한다)가 상호 호환되도록 정의되어야 하는데, 이와 같이 관리객체(Managed Object)를 호환하기 위한 규약(protocol)으로서 SNMP(Simple Network Management Protocol)이 대표적이다. 상기 관리객체(Managed Object)는 네트워크 장애에 관한 데이터이거나, 구성 변수(configuration parameter)이거나, 성능에 관한 통계자료(performance statistics) 등 다양한 형태를 띌 수 있으나, 그 객체가 무엇이든 간에 하나 이상의 변수(parameter; 이하 "관리변수(managed parameter)"라 한다)에 대응되게 된다.
관리객체를 특정하기 위한 고유부호들을 OID(Object IDentifier)라고 하는데, OID는 국제적으로 통일된 방식으로 부여된다. (RFC1155에 따른 관리정보구조 (SMI; Structure of Management Information) 참조) 따라서, 관리객체를 특정하는 것은 OID를 특정하는 것과 동등한 의미이다.
특정한 OID에 대응되는 관리객체의 상세 내역은 MIB(Management Information Base) 파일에 저장되는데, 이러한 MIB는 퍼블릭MIB(Public MIB; "인터넷MIB"라고도 한다) 및 엔터프라이즈MIB(Enterprise MIB)로 대별된다.
상기 퍼블릭MIB는 표준화되어 정의된 것으로, 각 네트워크 구성요소의 제작사들이 지원해야 하는 관리객체(Managed Object)들을 정의하고 있다. 상기 퍼블릭MIB는 일예로, 국제표준기구(ISO; International Organization for Standardization) 기타 임의의 표준화 기구에 의해 정의된 것으로 할 수 있다. 상기 엔터프라이즈MIB는 특정한 네트워크 구성요소의 제작사가 그 제작된 네트워크 구성요소의 특수성에 맞게 제공하는 관리객체(Managed Object)를 정의한다.
또한, 상기 SNMP에는 관리객체(Managed Object)에 대하여 수행할 수 있는 연산(이하 "SNMP연산"이라 한다)이 정의되어 있다. 이러한 SNMP연산에는 관리객체의 관리변수(managed parameter)를 검출(retrieve)하기 위한 Get, GetNext, Bulk 등의 연산과, 관리객체의 관리변수(managed parameter)를 설정하기 위한 Set 연산, 그리고 상기 관리객체에 관한 이벤트(event)를 관리서버로 전송하기 위한 Trap 연산이 포함된다. 관리객체에 따라서 그 관리객체가 지원하는 연산이 제한적일 수 있다. 즉, 어떤 관리객체는 그 관리변수의 설정은 불가능하고 관리변수의 검출만이 가능한 경우도 있음은 자명하다.
이와 같은 체계의 SNMP를 이용한 네트워크 관리시스템에서, 필요한 관리대상 장치(managed device)를 관리하기 위해서는 네트워크 관리를 위한 프로그램(이하 "관리프로그램(management program)"이라 한다)의 개발작업이 선행되어야 하는데, 이러한 관리프로그램 개발작업에서 관리프로그램 개발자(developer)에게 많은 코딩(coding)작업이 요구되고 있는 상황이다.
즉, 관리 대상이 되는 네트워크 구성요소에 대한 관리객체(Managed Object)의 상세내역은 MIB파일에 기술되어 있지만, SNMP연산을 위해서는 각 MIB파일에서 관리객체(Managed Object)의 상세내역을 도출하고, 도출된 관리객체의 OID에 관하여 그 OID가 지원하는 SNMP연산을 구현하기 위한 프로그램 소스코드를 입력하여야 한다.
특정한 하나의 관리객체에 관한 하나의 SNMP연산을 구현하기 위한 이러한 과정은 각 관리객체에 대하여 이루어져야 한다. 따라서, 하나의 네트워크 관리시스템에서 이에 포함된 관리대상 장치의 각 관리객체를 충분히 관리하기 위한 코딩작업은, 관리대상 장치가 많을수록, 그리고 하나의 관리대상 장치에서 제공하는 관리객체가 증가할수록 이에 비례하여 증가하게 된다. 이러한 코딩작업은 많은 시간을 요하게 될 뿐만 아니라, 매우 복잡해지게 되어 정작 작성된 네트워크 관리 소스코드들에는 논리적 오류(흔히 버그라 한다)들을 포함할 가능성이 매우 크다.
따라서, 본 발명의 목적은, SNMP를 이용한 네트워크 관리시스템에 필요한 관리프로그램을 보다 쉽게 작성할 수 있고, 따라서 네트워크 구성요소의 추가/삭제 등과 같은 네트워크 상태변화에 의해 수반하여 관리객체가 변경되는 경우에도 변화된 네트워크 상태에 적합한 관리프로그램을 쉽게 재작성할 수 있도록, SNMP를 이용한 관리프로그램의 소스코드를 생성하는 방법, 장치 및 그 방법을 수행하는 컴퓨터 프로그램 제품을 제공하는 것이다.
도 1은 본 발명의 실시예에 의한 네트워크 관리프로그램 소스코드 생성장치의 구성도이다.
도 2는 본 발명의 실시예에 의한 네트워크 관리프로그램 소스코드 생성방법을 도시한 흐름도이다.
도 3은 본 발명의 실시예에 의한 네트워크 관리프로그램 소스코드 생성방법에서 네트워크 관리프로그램 소스코드의 보디부분을 생성하는 과정의 상세 흐름도이다.
상기 목적을 달성하기 위하여 본 발명에 의한 SNMP를 이용한 네트워크 관리프로그램 소스코드 생성장치는, 하나 이상의 프로세서를 포함하는 중앙처리유닛 및 복수개의 데이터 파일을 저장하는 데이터 저장유닛을 포함하되, 상기 복수개의 데이터 파일은, 생성될 네트워크 관리프로그램 소스코드에 관한 정보를 저장하는 관리프로그램 소스코드 정보 파일; 상기 네트워크 관리시스템에 포함된 네트워크 구성요소에 관한 하나 이상의 MIB파일; 설정된 MIB들을 저장하는 MIB저장파일; 기설정된 명령의 소스코드를 저장하는 템플릿 파일; 및 생성된 네트워크 관리프로그램 소스코드의 수행에 필요한 SNMP연산에 관한 명령어를 포함하는 라이브러리 파일을포함하고, 상기 중앙처리유닛은, 후술하는 본 발명의 SNMP를 이용한 네트워크 관리프로그램 소스코드 생성방법을 수행하기 위한 일련의 명령을 수행하는 것을 특징으로 한다.
본 발명에 의한 SNMP를 이용한 네트워크 관리프로그램 소스코드 생성방법은, 하나 이상의 MIB파일이름을 포함하는 기초데이터를 설정하는 기초데이터 설정단계; 상기 하나 이상의 MIB파일이름에 대응되는 MIB파일을 판독하는 단계; 상기 판독된 MIB파일로부터 MIB정보 트리를 생성하는 MIB정보트리 생성단계; 및 상기 구축된 MIB정보의 관리객체들에 대한 하나 이상의 SNMP연산을 수행하기 위한 소스코드를 포함하는 네트워크 관리프로그램 소스코드를 생성하는 소스코드 생성단계를 포함하는 것을 특징으로 한다.
상기 기초데이터 설정단계는, 상기 기초데이터가 저장된 파일을 판독하여 상기 기초데이터를 추출하는 것이 바람직하다.
본 발명에 의한 SNMP를 이용한 네트워크 관리프로그램 소스코드 생성방법은, 판독된 MIB파일로부터 추출되는 MIB정보의 상위 MIB정보의 필요 여부를 판단하는 단계; 및 상위 MIB정보가 필요한 경우에 설정된 MIB저장파일로부터 상기 상위 MIB정보를 추출하는 상위 MIB정보 추출단계를 더 포함하는 것이 바람직하고, 이 때 상기 상위MIB정보 추출단계 후에는 상기 MIB정보트리 생성단계가 수행되어 추출된 상위MIB정보를 포함하는 MIB정보 트리를 생성하는 것이 바람직하다.
상기 하나 이상의 SNMP연산을 수행하기 위한 소스코드는, 기설정된 라이브러리의 명령을 호출하는 것이 바람직하다.
상기 소스코드 생성단계는, 단일관리객체의 관리변수들을 하나의 프로그램변수열로서 정의하는 명령의 소스코드를 생성하는 단계를 포함함과 아울러, 상기 단일관리객체에 대한 Get 또는 Set연산을 수행하기 위한 소스코드는, 상기 하나의 프로그램변수열의 특정 프로그램변수를 참조하도록 생성하는 것이 바람직하다.
상기 소스코드 생성단계는, 엔트리관리객체의 관리변수들을 상기 엔트리관리객체의 개수만큼의 복수개의 프로그램변수열로서 정의하는 명령의 소스코드를 생성하는 단계를 포함함과 아울러, 상기 엔트리관리객체에 대한 Get 또는 Set연산을 수행하기 위한 소스코드는, 상기 복수개의 프로그램변수열중 특정 프로그램변수열을 참조하도록 생성하는 것이 바람직하다.
상기 기초데이터에 관리객체이름 데이터 및 상기 이름의 관리객체에 대한 SNMP Set연산에 대한 소스코드의 생성 여부에 관한 데이터를 포함할 수 있도록 하여, 이 경우 상기 소스코드 생성단계는, SNMP Set연산에 대한 소스코드를 생성할 것으로 지정된 관리객체에 대하여 SNMP Set연산을 수행하기 위한 소스코드를 생성하는 것이 바람직하다.
상기 소스코드 생성단계는, 상기 관리객체의 관리변수의 값들 중에 포함된 수치형의 값을 문자열로 변환하는 명령의 소스코드를 생성하는 단계를 포함하는 것이 바람직하다.
상기 소스코드 생성단계는, 상기 네트워크 관리프로그램 소스코드는 중 하나 이상의 명령의 소스코드는 기설정된 파일에 포함된 소스코드를 기초로 생성하는 것이 바람직하다.
이러한 본 발명의 네트워크 관리프로그램 소스코드 생성방법은 이를 수행하기 위한 일련의 명령을 포함하는 컴퓨터 프로그램 제품으로 제작되어 공급될 수 있다.
상기 컴퓨터 프로그램 제품은, 생성된 네트워크 관리프로그램 소스코드에서 호출되는 명령을 수행하기 위한 라이브러리 파일을 포함하는 것이 바람직하다.
이하, 본 발명의 실시예를 첨부된 도면을 참조로 상세히 설명한다.
도 1은 본 발명의 실시예에 의한 네트워크 관리프로그램 소스코드 생성장치의 구성도이다.
도 1에 도시된 바와 같이 본 발명의 실시예에 의한 네트워크 관리프로그램 소스코드 생성장치(100)는, 상기 네트워크 관리프로그램 소스코드 생성장치(100)의 기능을 총괄하는 중앙처리유닛(110; Central Processing Unit; 이하 "CPU"라 한다), 상기 CPU(110)의 기능 수행 과정에 필요한 데이터를 저장하는 데이터 저장유닛(120; data storage unit), 상기 CPU(110)로부터 전송되는 신호를 화면상에 표시하는 표시장치(190), 그리고 상기 CPU(110)의 기능 수행 시작을 입력하기 위한 입력장치(180)를 포함한다.
상기 CPU(110)은 설정된 프로그램에 의해 동작하는 하나 이상의 프로세서로 할 수 있으며, 상기 설정된 프로그램은 후술하는 본 발명의 실시예의 네트워크 관리프로그램 소스코드 생성 방법에 포함된 각 과정을 수행하기 위한 일련의 명령(이하 "소스생성 프로그램"이라 한다)으로 할 수 있다. 이를 위하여, 상기 CPU(110)에는 메모리(115)가 포함되고 상기 메모리(115)는 상기 소스생성 프로그램이 저장되어 상기 CPU(110)은 상기 메모리(115)에 저장된 소스생성 프로그램에 포함된 일련의 명령을 수행하는 것으로 할 수 있다. 상기 "CPU"라는 용어는 하나의 프로세서만을 지칭하는 사용예도 있으나, 본 발명의 상세한 설명에 있어서는 상기 기재한 기능을 수행하기 위한 컴퓨터 내부구성 단위(unit)로서 넓은 의미로 이해되어야 한다.
상기 데이터 저장유닛(120)은, 하드디스크, 플로피 디스크 등과 같이 데이터를 저장하기 위한 임의의 데이터 저장매체로 할 수 있다.
상기 데이터 저장유닛(120)에는 생성될 관리프로그램 소스코드 에 관한 정보를 저장하는 관리프로그램 소스코드 정보 파일(125), 상기 네트워크 관리시스템에 포함된 네트워크 구성요소에 관한 MIB파일(130)들, 널리 통용되는 MIB들을 저장하는 MIB저장파일(135; MIB repository file), 관리프로그램 소스코드 생성에 이용되는 헤더 템플릿(header template) 파일(140) 및 테일 템플릿(tail template) 파일(145)이 저장되고, 상기 CPU(110)의 소스생성 프로그램의 수행결과 생성되는 관리프로그램 소스코드 파일(155), 그리고, 생성된 관리프로그램 소스코드의 수행에 필요한 SNMP연산에 관한 명령어를 포함하는 라이브러리 파일(150)이 저장된다.
상기 생성되는 관리프로그램 소스코드는, 임의의 상위레벨언어(high level language)를 기반으로 하여도 무방하다. 다만, 이하에서는 설명의 편의상 객체지향언어(Object-Oriented Language)를 전제하여 설명하기로 한다. 따라서 별다른 기재가 없는 한, 이하에서 사용되는 "메소드(method)"의 용어는 객체지향언어가 아닌 경우 함수(function) 혹은 프로시저(procedure)로 이해될 수 있고, 따라서 본 발명의 실시예 및 특허청구범위의 기재에서 "메소드"의 용어는 이들을 포괄하는 넓은 의미로 이해되어야 한다. 마찬가지로, 본 발명의 실시예 및 특허청구범위의 기재에서 사용되는 객체지향언어에 관한 용어는, 객체지향언어가 아닌 언어에서 이에 대응되는 용어를 포함하는 넓은 의미로 이해되어야 한다.
상기 관리프로그램 소스코드 정보 파일(125)에는, 생성될 관리프로그램 소스코드 파일(155)의 명칭, 관리프로그램 개발자가 지정하고자 하는 네트워크 구성요소의 MIB파일 명칭, 상기 네트워크 구성요소에 관한 관리객체의 명칭, Set SNMP연산에 관한 메소드(method)의 생성여부, MIB에 포함된 특정한 수치데이터를 문자데이터와 상호 전환(conversion)하는 메소드(이하 "enumeration 메소드"라 한다)의 생성여부를 표시하는 데이터가 저장된다.
상기 MIB파일(130)들에는, 상기 관리될 네트워크 구성요소의 관리객체에 관한 MIB파일들이 저장되어 있다.
상기 MIB저장파일(135)에 저장되는 상기 널리 통용되는 MIB들은 퍼블릭MIB 혹은 엔터프라이즈MIB인가를 가리지 아니한다. 이는, 본 발명의 실시예에 의한 소스생성 프로그램의 수행의 편의를 위한 것으로서, 널리 통용되는 MIB들로 포함될 MIB들은 본 발명의 실시하고자 하는 당업자의 임의로 선택될 수 있다.
상기 헤더 템플릿 파일(140) 및 테일 템플릿 파일(145)은 생성되는 관리프로그램 소스코드의 언어에 부합되는 전제부 및 종료부를 정형화한 파일들로서, 이는 생성될 프로그램의 언어를 고려하여 당업자가 자명하게 설정할 수 있다.
상기 라이브러리 파일(150)에는 각 OID에 관해, 각 SNMP연산이 바이너리 코드로 저장되어 있으며, 따라서 특정한 OID의 특정한 연산에 관해서는 상기 라이브러리 파일을 호출함으로써 수행 가능하다.
특정한 OID에 관해 특정한 SNMP연산을 수행하기 위한 명령어의 작성은 본 발명을 실시하고자 하는 당업자에게 자명하고, 따라서 각 OID에 관한 각 SNMP연산의 수행명령어의 집합은 당업자가 자명하게 작성할 수 있으며, 따라서 그 수행명령어의 바이너리 코드 집합인 상기 라이브러리 파일 또한 본 발명을 실시하고자 하는 당업자에게 자명하다.
상기 입력장치(180)는 키보드, 마우스 등과 같이, 네트워크 관리프로그램 소스코드 생성장치(100)의 CPU(110)에 관리프로그램 개발자의 명령을 입력하기 위한 임의의 입력장치로 할 수 있다.
상기 표시장치(190)는 CRT모니터, LCD모니터 등과 같이 CPU(110)의 신호를 출력하는 임의의 장치로 할 수 있다.
이하 본 발명의 실시예의 네트워크 관리프로그램 소스코드 생성방법을 상세히 설명한다.
먼저, 입력장치(180)를 통한 관리프로그램 개발자의 명령에 의해 소스생성프로그램의 수행이 시작되면, CPU(110)는 생성될 관리프로그램 소스코드에 관하여, 하나 이상의 MIB파일이름을 포함하는 기초데이터를 설정한다(S210).
상기 MIB파일이름은 일예로 "c:/mib/rfc1213.mib" 등과 같이 관리프로그램 소스코드 생성장치(100) 내에서 MIB파일이 저장된 절대주소로 하는 것이 바람직하다
보다 바람직하게 본 발명의 실시예에서는, 상기 기초데이터에는 전술한 MIB파일이름 외에도, 생성되는 관리프로그램 소스코드의 명칭, 상기 MIB파일에 대응되는 관리객체이름, 상기 MIB파일에 대응되는 관리객체에 대한 Set메소드 생성여부 및 Enumeration메소드 생성여부 데이터를 더 포함한다.
상기 기초데이터 설정과정(S210)은, 소스생성프로그램의 수행에 필요한 기초데이터를 관리프로그램 개발자로부터 입력받아 설정하는 과정으로서, 일예로 입력장치(180)를 통해 관리프로그램 개발자가 각 기초데이터를 입력하는 것으로 할 수 있으나, 보다 바람직하게 본 발명의 실시예에서는, 관리프로그램 개발자가 미리 생성하여 저장한 상기 관리프로그램 소스코드 정보 파일(125)로부터 각 기초 데이터를 추출한다.
MIB파일이름을 설정한 CPU(110)는, 상기 기초데이터 설정과정(S210)에서 설정된 상기 하나 이상의 MIB파일이름에 대응되는 MIB파일을 판독하고(S215), 판독된 상기 MIB파일로부터 트리구조의 MIB정보 데이터를 생성한다(S220).
상기 MIB정보 데이터 생성과정은, 판독한 각 MIB파일들에 의한 관리객체들을 트리(tree)형태로 구성하여, 각 관리객체의 OID를 상기 트리(tree) 상에서 차지하는 노드(node)의 위치로 부여하는 과정이다.
이와 같이 관리프로그램 개발자가 지정한 MIB파일들로부터 생성되는 MIB정보 데이터 생성과정에서 각 관리객체에 대한 OID를 추출하게 되는데, 상기 관리프로그램 개발자가 지정한 MIB파일들이 하나의 완성된 트리구조를 형성하는 경우에는 상기 OID는 국제규격인 정수화된 숫자열(일예로, ".1.3.6.1.2.1.1.1")로 표시된다.
따라서 CPU(110)는 생성된 MIB정보로부터 추출된 OID들 중에 정수로 변환가능한 문자열이 있는지, 즉, 판독된 MIB파일들의 상위MIB정보가 필요한지를 판단한다(S225). 상기 상위MIB정보가 필요한 경우에는, 해당되는 상위MIB정보를 상기 MIB repository(135)로부터 추출하고(S230), MIB정보 데이터를 다시 생성한다(S220).
이와 같이 완전한 규격의 OID를 추출한 후에는, 생성될 관리프로그램 소스코드의 헤더부분을 생성한다(S235).
본 발명의 실시예에 의하면, 상기 생성될 프로그램은 헤더(Header), 보디(Body), 및 테일(Tail) 부분들로 구분된다. 상기 헤더 부분은 관리프로그램 소스코드의 명칭 및 필요한 변수의 정의 등과 같이, 관리프로그램 소스코드의 전제부에 미리 정의하게 되는 부분을 말한다. 상기 보디 부분은 네트워크 관리자가 지정한 각 관리객체에 관하여 관리프로그램 소스코드에서 제공할 SNMP명령을 위한 각 메소드에 관한 소스 코드들을 포함한다. 테일(Tail) 부분은 디버깅(Debugging)을 위한 설정된 메소드에 관한 소스 코드들을 포함한다.
이러한 구성의 관리프로그램 소스코드를 생성하기 위해, 먼저, CPU(110)는 상기 관리프로그램 소스코드의 헤더 부분을 생성(S235)하게 되는데, 보다 구체적으로는 상기 헤더 템플릿을 이용하여 생성하는 것이다. 생성되는 관리프로그램 소스코드는 그 프로그램 언어(Program Language)마다 특정한 문법(Syntax)을 만족하여야 하는데, 헤더 부분은 관리대상이 되는 네트워크의 구성(일예로, 관리객체의 개수 및 종류)에 크게 의존하지 않는다. 따라서 본 발명의 실시예의 소스생성 프로그램은 특정된 언어에 관한 헤더 템플릿을 읽어(read), 지정된 관리객체에 대응되는일부 코드들을 변경함으로써 상기 관리프로그램 소스코드의 헤더부분을 생성하게 되는 것이다.
각 프로그램 언어에 대한 헤더 템플릿의 코드는 당업자가 자명하게 구성할 수 있고, 구성된 헤더 템플릿을 지정된 관리객체에 대응되도록 일부 코드를 변경하는 과정 또한 당업자에게 자명하다.
아래 표[1]은 자바 언어에 의한 관리프로그램 소스코드의 헤더 부분의 일예를 나타낸 것이다.
관리프로그램 소스코드의 헤더 부분의 일예
line# 소스코드
1 // GALIM SNMP JAVA SOURCE GENERATOR 1.0
2 import java.lang.*;
3 import java.io.*;
4 import java.net.*;
5 import java.util.*;
6 import com.galim.net.snmp.*;
7 import com.galim.net.snmpapp.*;
제2라인 내지 제5라인은 자바컴파일러에서 제공되는 라이브러리를 호출하기 위한 명령의 소스코드들이고, 제6라인 및 제7라인은 본 발명의 실시예에서 제공되는 라이브러리를 호출하기 위한 명령의 소스코드들이다.
관리프로그램 소스코드의 헤더부분을 생성(S235)한 후, CPU(110)는 상기 관리프로그램 소스코드의 헤더부분의 말미로부터 보디 부분을 생성하고(S240), 상기 보디 부분의 말미에 테일 부분을 생성(S245)함으로써 관리프로그램 소스코드의 생성을 완료한다.
상기 테일 부분 생성과정(S245)은 헤더 부분 생성과정과 마찬가지로, 기 설정된 테일 템플릿 파일을 이용하여 작성하게 되는데, 전술한 바와 같이 상기 테일 템플릿에는 디버깅을 위한 설정된 메소드에 관한 소스코드들을 포함한다. 상기 설정된 메소드는 각 관리객체의 관리변수의 값들을 출력하는 일련의 명령에 관한 소스코드들 포함하는 것이 바람직하다.
관리프로그램 소스코드의 생성이 완료된 후에는 생성된 관리프로그램 소스코드를 데이터 저장유닛(120)에 저장(S250)하여 관리프로그램 소스코드 파일(155)을 생성함으로써 본 발명의 실시예의 관리프로그램 소스코드 생성방법은 종료된다.
이하에서는, 도 3을 참조로 상기 보디부분 생성과정(S240)을 더욱 상세히 설명한다.
전술한 바와 같이 하나의 관리객체에는 하나 이상의 관리변수가 대응되는데, 이하에서는, 하나의 관리변수가 대응되는 관리객체를 단일관리객체(simple Managed Object)라 하고, 복수개의 관리변수가 대응되는 관리객체를 엔트리관리객체(entry Managed Object)라 한다. 즉, 단일관리객체는 그 관리를 위해 하나의 값(value)을 처리하게 되는 관리객체이며, 엔트리관리객체는 복수개의 값들을 처리하게 되는 관리객체이다. 엔트리관리객체의 관리를 위해 처리되는 복수개의 관리변수 값들은 변수열(array)로 이해될 수 있으며, 복수개의 엔트리관리객체에 관한 복수개의 관리변수열들은 테이블(즉, 2차원 array)로 이해될 수 있다.
먼저 CPU(110)는 관리프로그램 소스코드의 명칭 및 각 관리변수에 관한 프로그램변수(variable)를 정의하는 소스코드를 생성한다(S310,S315).
상기 "프로그램변수(variable)"의 용어는, 프로그램 상에서 사용되는 변수(variable)를 지칭하는 것으로서 관리객체(Managed Object)에 대응되는 관리변수(managed parameter)와 구분하여 이해되어야 한다.
보다 구체적으로 프로그램변수 정의 소스코드 생성과정(S310, S315)에서는, 먼저, 단일관리객체들의 관리변수에 관한 프로그램변수들을 하나의 변수열로서 정의하는 소스코드를 생성한다(S310). 일예로 객체지향언어로서 관리프로그램 소스코드를 생성하는 경우에, 단일관리객체들의 관리변수에 관한 프로그램변수들에 관해서는 하나의 클래스를 구성하는 소스코드를 생성하게 된다.
또한, 엔트리관리객체의 관리변수에 관한 프로그램변수들을 각각 하나의 변수열로서 정의하는 소스코드를 생성한다(S315). 일예로, 객체지향언어로서 관리프로그램 소스코드를 생성하는 경우에 엔트리관리객체가 10개 존재한다면, 10개의 클래스가 정의되고 이 10개의 클래스들의 데이터구조는 하나의 테이블로 이해될 수 있다.
이와 같이 프로그램변수를 정의하는 소스코드의 일예로, 아래 [표2]에는 자바언어에 해당하는 프로그램변수 정의를 위한 소스코드의 일예를 나타내었다.
관리프로그램 소스코드의 프로그램변수 정의 부분의 일예
line# 소스코드
18 public class SnmpTesttest implements SnmpUserGroup
19 {
20 private SnmpEntry m_localEntry = null;
21 private SnmpEntry[] m_ifTable = null;
제18라인은 프로그램의 명칭 및 이에 따른 클래스를 정의하는 소스코드이며, 제20라인은 단일관리객체의 프로그램변수열을 생성하는 명령의 소스코드이며, 제21라인은 엔트리관리객체의 프로그램변수열을 생성하는 명령의 소스코드이다.
상기 [표2]에서 알 수 있는 바와 같이, 본 발명의 실시예에 의해 작성된 자바 소스코드는 단일관리객체의 프로그램변수로서 "m_localEntry"를, 그리고 엔트리관리객체의 프로그램변수로서 "m_ifTable"을 사용하고 있으며, 이들 각각은 변수열로서 그 타입을 정의하는 "SnmpEntry"는 관리프로그램 소스코드의 다른 부분 혹은 라이브러리로서 당업자가 자명하게 정의할 수 있다.
프로그램변수들을 정의하기 위한 소스코드들을 생성한 후에는, 생성된 프로그램변수들의 변수값을 출력하는 인터페이스 함수(function)를 정의하기 위한 소스코드를 생성하고(S320), 단일관리객체에 대응되는 프로그램객체를 생성하는 함수를 호출하는 소스코드를 생성하며(S325), 또한 엔트리관리객체에 대응되는 프로그램객체를 생성하는 함수를 호출하는 소스코드를 생성한다(S330).
상기 변수값을 출력하는 함수는, 일예로, 자바(java) 언어의 소스코드에 의할 경우 일예로 아래 [표3]과 같이 작성될 수 있다.
관리프로그램 소스코드의 변수값 출력함수(메소드)의 일예
line# 소스코드
25 // interface method implementation
26 public void getSnmpUserGroup(SnmpManager mgr)
27 throws SnmpException
28 {
29 m_localEntry = mgr.getSnmpGetGroup(new innerClass());
30 m_ifTable = mgr.getSnmpEntrySet(new ifTable());
31 }
제26라인 및 제27라인의 소스코드가 인터페이스 함수를 정의하기 위한 소스코드이며, 제29라인 및 제30라인은 각각 단일관리객체 및 엔트리관리객체의 프로그램객체를 생성하는 함수를 호출하는 소스코드에 해당한다.
상기 "innerClass" 및 "ifTable"의 클래스이름(class-name)들은 단일/엔트리 관리객체와 그에 대한 SNMP 연산을 매개하기 위한 상기 단일/엔트리 관리객체에 대한 내부클래스(inner class)의 명칭들로서 이러한 내부클래스의 명칭은 당업자가 자유로이 변경 실시할 수 있다. 이들 내부클래스들에 관하여는, 이들의 소소코드 생성에 관한 과정들(S350 및 S355)의 설명에서 보다 상세히 후술한다.
이와 같이 프로그램변수들의 값을 출력하는 인터페이스 함수를 정의한 후에는, 각 단일관리객체에 관하여 SNMP Get연산을 수행하기 위한 메소드의 소스코드를 생성한다(S325).
자바(java)언어의 소스코드에 의할 경우, 일예로 "sysContact"이라는 관리객체에 관하여 Get연산을 수행하기 위한 메소드의 소스코드의 일예는 아래 [표4]와 같이 생성될 수 있다.
관리프로그램 소스코드의 단일관리객체의 Get연산 호출함수(메소드)의 일예
line# 소스코드
35 /*sysContact OBJECT-IDENTIFIER
36 SYNTAX: [DisplayString [0 .. 255]]
37 ACCESS: read-write
38 STATUS: mandatory
39 DESCRIPTION: "....."::= { system.4 } ::= .1.3.6.1.2.1.1.4 */
40 public SnmpPdu sysContact()
41 {
42 return m_localEntry.getAt(innerClass.N_SYSCONTACT);
43 }
상기 일예의 소스코드에서 제35라인 내지 제39라인의 코드들은 MIB파일로부터 추출된 관리객체의 속성을 텍스트 코드로 배열한 코멘트(comments)이고, 상기 "sysContact" 관리객체의 Get 연산은 제42라인의 소스코드에 의해 정의된다.
이와 같이 생성된 제42라인의 소스코드가 컴파일되어 수행될 때에는 "innerClass.N_SYSCONTACT"에 저장된 구체적인 값들을 기초로 라이브러리(150)의 "m_localEntry.getAt"명령이 수행되어 "innerClass.N_SYSCONTACT"에 대응되는 관리객체에 대한 SNMP Get연산이 실행되게 된다.
각 단일관리객체에 관하여 SNMP Get연산을 수행하기 위한 메소드의 소스코드를 생성(S325)한 후에는, 엔트리관리객체의 개수를 출력하는 소스코드를 생성한다(S330). 자바언어에 의할 경우 이러한 개수출력을 위한 소스코드의 일예를 아래 [표5]에 나타내었다.
관리프로그램 소스코드의 엔트리관리객체의 개수출력 메소드의 일예
line# 소스코드
104 /* get ifTable size. */
105 public int ifTableSize()
106 {
107 if (m_ifTable == null) return 0;
108 return m_ifTable.length;
109 }
다음으로는, 각 엔트리관리객체에 관하여 SNMP Get연산을 수행하기 위한 메소드의 소스코드를 생성한다(S335). 자바(java)언어의 소스코드에 의할 경우 "N_IFINDEX"이라는 엔트리관리객체에 관하여 Get연산을 수행하기 위한 메소드의 소스코드의 일예는 아래 [표6]과 같이 생성될 수 있다.
관리프로그램 소스코드의 엔트리관리객체의 Get연산 호출함수(메소드)의 일예
line# 소스코드
240 /*ifAdminStatus OBJECT-IDENTIFIER
241 SYNTAX: [INTEGER [1:up] [2:down] [3:testing] ]
242 ACCESS: read-write
243 STATUS: mandatory
244 DESCRIPTION: "....."::= { ifEntry.7 } ::= .1.3.6.1.2.1.2.2.1.7 */
245 public SnmpPdu ifAdminStatus(int index)
246 {
247 try
248 {
249 return m_ifTable[index].getAt(ifTable.N_IFADMINSTATUS);
250 }
251 catch (Exception e)
252 {// NullPointerException or ArrayIndexOutOfBoundsException
253 return null;
254 }
255 }
상기 일예의 소스코드에서 제240라인 내지 제244라인의 코드들은 MIB파일로부터 추출된 관리객체의 속성을 텍스트 코드로 배열한 코멘트(comments)이고, 상기 "ifAdminStatus" 관리객체의 Get 연산은 제249라인의 소스코드에 의해 정의된다.
이와 같이 생성된 제123라인의 소스코드가 컴파일되어 수행될 때에는"ifTable.N_IFADMINSTATUS"에 저장된 구체적인 값들을 기초로 라이브러리(150)의 "m_ifTable[index].getAt"명령이 수행되어 "ifTable.N_IFADMINSTATUS"에 대응되는 관리객체에 대한 SNMP Get연산이 실행되게 된다.
이와 같이, 관리객체들에 대한 SNMP Get연산을 위한 소스코드들이 생성된 후에는, SNMP Set연산을 위한 소스코드를 생성할 관리객체를 선택한다(S340).
상기 선택(S340)은, 지정된 관리객체들 중에서, Set연산을 지원하고, 관리프로그램 개발자가 상기 관리프로그램 소스코드 정보 파일(125)을 통해 Set연산의 생성할 것으로 지정한 관리객체들로 선택된다.
관리객체를 선택(S340)한 후에는 선택된 관리객체 각각에 관하여 SNMP Set연산을 위한 소스코드를 생성한다(S345). 자바언어에 의할 경우 "sysContact"의 관리객체에 대한 SNMP Set연산을 위한 소스코드의 일예를 아래 [표7]에 나타내었다.
관리프로그램 소스코드의 관리객체의 Set연산 호출함수(메소드)의 일예
line# 소스코드
578 /* sysContact에 대한 SNMP SET연산 method */
579 public static SnmpPdu sysContact(SnmpManager mgr, String leafno, Object value)
580 throws Exception
581 {
582 String setoid = ".1.3.6.1.2.1.1.4";
583 if (leafno == null || leafno.length() == 0)
584 setoid += ".0";
585 else
586 setoid += "." + leafno.trim();
587
588 SnmpSetPduHandler handler = new SnmpSetPduHandler();
589 handler.addPdu(new SnmpPdu(setoid,SnmpAPI.SMI_OCTETSTRING,value));
590 SnmpPdu[] pdus = mgr.syncRunning(handler);
591 return pdus[0];
592 }
상기 일예의 소스코드에서 제582라인에서 설정되는 OID 값은, MIB트리로부터 추출된 값으로 설정하여 자동 생성되므로, 관리프로그램 개발자는 설정된 SnmpManager 타입의 변수, 스트링(string) 타입의 변수, 그리고 프로그램객체를 토큰(token)으로 하여 상기 sysContact 함수를 호출함으로써 "sysContact" 관리객체의 관리변수를 Set연산할 수 있게 된다.
보다 구체적으로, 상기 mgr 토큰은 라이브러리(150)에 정의된 클래스로서 상기 "mgr" 클래스 내에는 "syncRunning"메소드가 정의되어 있다. 그리고, 상기 "sysContact" 관리객체의 Set 연산은 제590라인의 소스코드에 의해 수행된다. [표7]의 일예에 따르면, 관리프로그램 개발자는, "leafno" 토큰의 값으로 "0" 또는 null을 설정하여 단일관리객체의 Set연산 호출함수를 호출하는 명령문을 구성함으로써 그 단일관리객체의 Set연산을 수행하는 명령을 작성할 수 있게 된다.
이와 같이 생성된 제590라인의 소스코드가 컴파일되어 수행될 때에는 "setoid", "SnmpAPI.SMI_OCTETSTRING", 및 "value"에 저장된 구체적인 값들을 기초로 라이브러리(150)의 "mgr.syncRunning" 명령이 수행되어 "sysContact"에 대응되는 관리객체에 대한 SNMP Set연산이 실행되게 된다.
엔트리관리객체의 Set연산 호출함수는 [표7]의 예와 유사하게 생성된다. 다만, 호출함수의 명칭은 "sysContact" 대신 다른 명칭(일예로, 해당하는 엔트리관리객체의 명칭)으로 생성된다.
관리프로그램 개발자는 엔트리관리객체의 관리변수 번호(즉, 일예로, 관리변수 번호가 0,1,2로 각각 표시되는 세 관리변수 중 두 번째의 관리변수 번호는 "1"이다)에 해당하는 문자를 "leafno" 토큰의 값으로 하여 엔트리관리객체의 Set연산 호출함수를 호출하는 명령문을 구성함으로써 그 엔트리관리객체의 Set연산을 수행하는 명령을 작성할 수 있게 된다.
인터페이스 함수에 관련된 S320 내지 S330 단계에 관한 설명에서, "innerClass" 및 "ifTable"이라는 내부클래스(inner class)를 언급한 바 있다.
전술한 바와 같이 이러한 내부클래스는, 단일/엔트리 관리객체와 그에 대한 SNMP 연산을 매개하기 위한 것이다.
먼저, CPU(110)는 단일관리객체에 관한 내부클래스를 정의하는 소스코드를 생성한다(S350). 자바언어로 생성된 이러한 내부클래스 정의 소스코드의 일예를 아래 [표8]에 나타내었다.
관리프로그램 소스코드의 단일관리객체의 SNMP연산을 매개하기 위한 내부클래스의 소스코드의 일예
line# 소스코드
635 class innerClass extends SnmpGetGroup
636 {
637 // strings for specific table entries
638 public final static String S_SYSCONTACT = "sysContact";
... ......
647 // lookup index for specific table entries
648 public final static int N_SYSCONTACT = 0;
... ......
654 // max entry size
655 public final static int MAX_INDEX_SIZE = 5;
656 // local info. storage
657 private SnmpMibParam[] innerParams = null;
664 public innerClass()
665 {
666 int index = 0;innerParams = new SnmpMibParam[MAX_INDEX_SIZE];
667 innerParams[index++] =new SnmpMibParam(SnmpAPI.SMI_OCTETSTRING, S_SYSCONTACT, ".1.3.6.1.2.1.1.4");
... ......
676 }
677 public SnmpObjectId getRootObjectId()
678 { return null; }
679 public SnmpMibParam[] toParamArray()
680 { return innerParams; }
681 }
이러한 내부클래스 정의 소스코드에서는, 관리객체의 이름(일예로 제638라인의 "sysContact")에 대응되는 문자열상수(일예로 제638라인의 "S_SYSCONTACT")들을 광역상수로 정의하고, 상기 관리객체(일예로 "sysContact")에 대응되는 상수(일예로, 제648라인의 "N_SYSCONTACT")들을 광역상수로 정의한다.
이와 같은 정의에 의하여 생성된 관리프로그램 소스코드의 Get 및 Set 메소드들의 소스코드가 보다 용이하게 판독가능하게 작성될 수 있다. 즉, 일예로, Get 메소드의 소스코드의 일예인 [표4]의 제42라인에서는 "N_SYSCONTACT"의 상수를 호출할 수 있게 되는 것이다.
마찬가지로, CPU(110)는 엔트리관리객체에 관한 내부클래스를 정의하는 소스코드를 생성한다(S355).
다음으로 CPU(110)는, 관리프로그램 소스코드 정보 파일(125)에 관리프로그램 개발자의 enumeration메소드의 생성요구 데이터가 포함되어 있는가를 판단하고(S360), enumeration 메소드의 생성이 요구되는 경우에는 관리객체의 관리변수의 값들 중에 포함된 수치형의 값을 문자열로 변환해주기 위한 일련의 명령어(즉, enumeration 메소드)의 소스코드들을 생성한다(S365).
아래 [표9]에는 일예로 "ifAdminStatus" 관리객체에 관한 enumeration 메소드의 자바언어로 작성된 일예를 도시하였다.
관리프로그램 소스코드의 단일관리객체의 SNMP연산을 매개하기 위한 내부클래스의 소스코드의 일예
line# 소스코드
1261 // ifAdminStatus의 INTEGER값에 대한 문자열을 제공한다.
1262 public static String ifAdminStatusString(int code)
1263 {
1264 switch (code)
1265 {
1266 case 1: return "up";
1267 case 2: return "down";
1268 case 3: return "testing";
1269 default:
1270 break;
1271 }
1272 return "unknown";
1273 }
[표9]에서 알 수 있는 바와 같이, "ifAdminStatus"관리객체의 enumeration메소드는 정수입력에 대하여 문자열상수를 출력하는 광역(public) 메소드로서, MIB파일(130)로부터 얻어지지 못한 정수의 입력에 대하여는 "unknown"의 문자열을 출력하게 된다.
이와 같은 enumeration 메소드의 소스코드 생성은 숫자-문자 변환이 가능한 모든 관리객체에 대하여 수행된다.
요구되는 enumeration 메소드의 소스코드 생성이 완료됨으로써, 관리프로그램 소스코드의 보디 부분의 생성(S240)이 완료된다.
이러한 본 발명의 실시예의 소스생성 프로그램 및 상기 소스생성 프로그램에 의해 생성된 소스프로그램의 수행에 필요한 라이브러리, 그리고 상기 MIB저장파일은 컴퓨터 프로그램 제품으로서 컴퓨터로 판독가능한 기록매체에 저장되어 공급된다.
이상으로 본 발명의 SNMP를 이용한 네트워크관리용 소스프로그램 생성방법, 장치 및 그 방법을 수행하기 위한 컴퓨터 프로그램 제품에 관한 바람직한 실시예를 설명하였으나, 본 발명은 상기 실시예에 한정되지 아니하며, 본 발명의 실시예로부터 당해 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의한 용이하게 변경되어 균등하다고 인정되는 범위의 모든 변경을 포함한다.
본 발명의 실시예에 의하면, 네트워크 관리를 위한 관리프로그램 개발자는 상기 네트워크 관리시스템에 포함된 네트워크 구성요소의 관리객체에 관한 데이터만을 지정함으로써, 각 관리객체에 관한 SNMP연산들에 필요한 네트워크 관리프로그램 소스코드를 자동 생성할 수 있다. 따라서 상기 관리프로그램 개발자는, 관리하고자 하는 관리객체를 어떤 로직에 의해 관리할 것인가에 관한 관리로직만을 염두에 두어 관리프로그램을 설계할 수 있으므로, 관리프로그램의 개발에 소요되는 시간을 줄일 수 있다. 또한, 네트워크 구성이 복잡한 경우에도 자동 생성되는 관리프로그램 소스코드 코드에는 오류가 제거된 상태이므로 SNMP연산의 구현과정에서 발생되는 논리적 오류가 제거되어, 결과적으로 네트워크 관리프로그램의 개발 과정에서 발생되는 오류를 감소할 수 있다.
또한, 관리프로그램 소스코드는 메소드 형태로 생성되므로, 네트워크 관리자는 생성된 관리프로그램 소스코드의 일부 혹은 전부를 컴파일하여 라이브러리(library)화 하여 둠으로써, 후속되는 다른 관리프로그램의 개발에도 쉽게 응용할 수 있게 된다. 즉, 본 발명의 실시예에 의해 생성된 관리프로그램 소스코드를 이용하게 되면, 관리대상이 되는 네트워크의 관리에 필요한 API(Application Programming Interface)를 쉽게 생성할 수 있게 되는 것이다.
또한, 특정한 관리객체에 대하여 Set메소드의 생성여부를 설정할 수 있으므로, 변경되지 않을 필요가 있는 관리변수에 관해 Set메소드의 생성자체를 하지 않도록 함으로써, 후발되는 관리프로그램의 작성시 실수에 의한 변경을 막을 수 있다.
또한, Enum.메소드의 생성여부를 설정함으로써, 수치화된 MIB데이터로부터 호환되는 문자화된 데이터를 설정할 수 있고, 따라서 후발되는 관리프로그램의 작성 및 검토시 보다 편리하게 작성 및 검토할 수 있다.

Claims (12)

  1. 하나 이상의 MIB파일이름을 포함하는 기초데이터를 설정하는 기초데이터 설정단계;
    상기 하나 이상의 MIB파일이름에 대응되는 MIB파일을 판독하는 단계;
    상기 판독된 MIB파일로부터 MIB정보 트리를 생성하는 MIB정보트리 생성단계; 및
    상기 구축된 MIB정보의 관리객체들에 대한 하나 이상의 SNMP연산을 수행하기 위한 소스코드를 포함하는 네트워크 관리프로그램 소스코드를 생성하는 소스코드 생성단계를 포함하는 SNMP를 이용한 네트워크 관리프로그램 소스코드 생성방법.
  2. 제1항에서,
    상기 기초데이터 설정단계는, 상기 기초데이터가 저장된 파일을 판독하여 상기 기초데이터를 추출하는 것을 특징으로 하는 SNMP를 이용한 네트워크 관리프로그램 소스코드 생성방법.
  3. 제1항에서,
    판독된 MIB파일로부터 추출되는 MIB정보의 상위 MIB정보의 필요 여부를 판단하는 단계; 및
    상위 MIB정보가 필요한 경우에 설정된 MIB저장파일로부터 상기 상위 MIB정보를 추출하는 상위 MIB정보 추출단계를 더 포함하고,
    상기 상위MIB정보 추출단계 후에는 상기 MIB정보트리 생성단계가 수행되어 추출된 상위MIB정보를 포함하는 MIB정보 트리를 생성하는 것을 특징으로 하는 SNMP를 이용한 네트워크 관리프로그램 소스코드 생성방법.
  4. 제1항에서,
    상기 하나 이상의 SNMP연산을 수행하기 위한 소스코드는, 기설정된 라이브러리의 명령을 호출하는 것을 특징으로 하는 SNMP를 이용한 네트워크 관리프로그램 소스코드 생성방법.
  5. 제1항에서,
    상기 소스코드 생성단계는, 단일관리객체의 관리변수들을 하나의 프로그램변수열로서 정의하는 명령의 소스코드를 생성하는 단계를 포함하고,
    상기 단일관리객체에 대한 Get 또는 Set연산을 수행하기 위한 소스코드는, 상기 하나의 프로그램변수열의 특정 프로그램변수를 참조하도록 생성하는 것을 특징으로 하는 SNMP를 이용한 네트워크 관리프로그램 소스코드 생성방법.
  6. 제1항에서,
    상기 소스코드 생성단계는, 엔트리관리객체의 관리변수들을 상기 엔트리관리객체의 개수만큼의 복수개의 프로그램변수열로서 정의하는 명령의 소스코드를 생성하는 단계를 포함하고,
    상기 엔트리관리객체에 대한 Get 또는 Set연산을 수행하기 위한 소스코드는, 상기 복수개의 프로그램변수열중 특정 프로그램변수열을 참조하도록 생성하는 것을 특징으로 하는 SNMP를 이용한 네트워크 관리프로그램 소스코드 생성방법.
  7. 제1항에서,
    상기 기초데이터는, 관리객체이름 데이터 및 상기 이름의 관리객체에 대한 SNMP Set연산에 대한 소스코드의 생성 여부에 관한 데이터를 포함하고
    상기 소스코드 생성단계는,
    SNMP Set연산에 대한 소스코드를 생성할 것으로 지정된 관리객체에 대하여 SNMP Set연산을 수행하기 위한 소스코드를 생성하는 단계를 포함하는 SNMP를 이용한 네트워크 관리프로그램 소스코드 생성방법.
  8. 제1항에서,
    상기 소스코드 생성단계는,
    상기 관리객체의 관리변수의 값들 중에 포함된 수치형의 값을 문자열로 변환하는 명령의 소스코드를 생성하는 단계를 포함하는 SNMP를 이용한 네트워크 관리프로그램 소스코드 생성방법.
  9. 제1항에서,
    상기 소스코드 생성단계는,
    상기 네트워크 관리프로그램 소스코드는 중 하나 이상의 명령의 소스코드는 기설정된 파일에 포함된 소스코드를 기초로 생성되는 것을 특징으로 하는 SNMP를 이용한 네트워크 관리프로그램 소스코드 생성방법.
  10. 하나 이상의 프로세서를 포함하는 중앙처리유닛; 및
    복수개의 데이터 파일을 저장하는 데이터 저장유닛을 포함하되,
    상기 복수개의 데이터 파일은, 생성될 네트워크 관리프로그램 소스코드에 관한 정보를 저장하는 관리프로그램 소스코드 정보 파일; 상기 네트워크 관리시스템에 포함된 네트워크 구성요소에 관한 하나 이상의 MIB파일; 설정된 MIB들을 저장하는 MIB저장파일; 기설정된 명령의 소스코드를 저장하는 템플릿 파일; 및 생성된 네트워크 관리프로그램 소스코드의 수행에 필요한 SNMP연산에 관한 명령어를 포함하는 라이브러리 파일을 포함하고,
    상기 중앙처리유닛은, 제1항 내지 제9항 중 어느 한 항의 방법을 수행하기 위한 일련의 명령을 수행하는 것을 특징으로 하는 SNMP를 이용한 네트워크 관리프로그램 소스코드 생성장치.
  11. 제1항 내지 제9항 중 어느 한 항의 방법을 수행하기 위한 일련의 명령을 포함하는 컴퓨터 프로그램 제품.
  12. 제11항에서,
    상기 컴퓨터 프로그램 제품은,
    생성된 네트워크 관리프로그램 소스코드에서 호출되는 명령을 수행하기 위한 라이브러리 파일을 포함하는 컴퓨터 프로그램 제품.
KR10-2002-0058974A 2002-09-27 2002-09-27 Snmp를 이용한 네트워크 관리프로그램 소스코드 생성방법, 장치 및 기록매체 KR100455523B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR10-2002-0058974A KR100455523B1 (ko) 2002-09-27 2002-09-27 Snmp를 이용한 네트워크 관리프로그램 소스코드 생성방법, 장치 및 기록매체

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2002-0058974A KR100455523B1 (ko) 2002-09-27 2002-09-27 Snmp를 이용한 네트워크 관리프로그램 소스코드 생성방법, 장치 및 기록매체

Publications (2)

Publication Number Publication Date
KR20040027199A KR20040027199A (ko) 2004-04-01
KR100455523B1 true KR100455523B1 (ko) 2004-11-06

Family

ID=37329788

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2002-0058974A KR100455523B1 (ko) 2002-09-27 2002-09-27 Snmp를 이용한 네트워크 관리프로그램 소스코드 생성방법, 장치 및 기록매체

Country Status (1)

Country Link
KR (1) KR100455523B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100882877B1 (ko) * 2007-01-23 2009-02-10 전자부품연구원 호스트 서버와 임베디드 기기간 상호 인터페이스 정의 언어 구조가 저장된 컴퓨터 판독 가능한 기록 매체 및 소스코드 생성 방법

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5561769A (en) * 1994-05-10 1996-10-01 Lucent Technologies Inc. Method and apparatus for executing a distributed algorithm or service on a simple network management protocol based computer network
JP2000134203A (ja) * 1998-10-28 2000-05-12 Nec Shizuoka Ltd ネットワーク管理システム及びその管理方法
KR20020034703A (ko) * 2000-11-03 2002-05-09 윤종용 케이블모뎀 관리 방법
KR20030021394A (ko) * 2001-09-06 2003-03-15 엘지전자 주식회사 이엠에스에서 관리 정보 접근 방법
KR20030021536A (ko) * 2001-09-06 2003-03-15 삼성전자주식회사 네트워크 통신시스템의 관리정보 동기화 방법
KR20030058025A (ko) * 2001-12-29 2003-07-07 엘지전자 주식회사 에이티엠 망에서 망 관리 시스템 및 방법
KR20030066028A (ko) * 2002-02-04 2003-08-09 윤영선 가상 망관리 모듈 개발 시스템

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5561769A (en) * 1994-05-10 1996-10-01 Lucent Technologies Inc. Method and apparatus for executing a distributed algorithm or service on a simple network management protocol based computer network
JP2000134203A (ja) * 1998-10-28 2000-05-12 Nec Shizuoka Ltd ネットワーク管理システム及びその管理方法
KR20020034703A (ko) * 2000-11-03 2002-05-09 윤종용 케이블모뎀 관리 방법
KR20030021394A (ko) * 2001-09-06 2003-03-15 엘지전자 주식회사 이엠에스에서 관리 정보 접근 방법
KR20030021536A (ko) * 2001-09-06 2003-03-15 삼성전자주식회사 네트워크 통신시스템의 관리정보 동기화 방법
KR20030058025A (ko) * 2001-12-29 2003-07-07 엘지전자 주식회사 에이티엠 망에서 망 관리 시스템 및 방법
KR20030066028A (ko) * 2002-02-04 2003-08-09 윤영선 가상 망관리 모듈 개발 시스템

Also Published As

Publication number Publication date
KR20040027199A (ko) 2004-04-01

Similar Documents

Publication Publication Date Title
KR100459300B1 (ko) 네트워크 환경에서 스크립트의 매개 변수 확장, 생성 및 실행을 하기 위한 방법, 시스템 및 프로그램 제품
US7631227B2 (en) Automated testing and control of networked devices
US7668953B1 (en) Rule-based network management approaches
RU2375744C2 (ru) Основанное на модели управление компьютерными системами и распределенными приложениями
US5996012A (en) Application development process for use in a distributed computer enterprise environment
US7010780B2 (en) Method and system for software modularization and automatic code generation for embedded systems
KR100326745B1 (ko) 통합오토메이션개발시스템및그통합방법
US20140075242A1 (en) Testing rest api applications
US8695006B2 (en) Resource management method
US7337435B2 (en) Efficient configuration data migration technique
JPH05282230A (ja) コンピュータネットワーク及びコンピュータネットワーク管理方法
US6738781B1 (en) Generic command interface for multiple executable routines having character-based command tree
US7210120B2 (en) CLI configuration dump command support generation
Vieira et al. Analyzing dependencies in large component-based systems
CN110543427A (zh) 测试用例存储方法、装置、电子设备及存储介质
US20070220159A1 (en) Tool for data generation for Simple Network Management Protocol (SNMP)
US7603650B2 (en) Methods and systems for managing networks
US20070220157A1 (en) Simple network management protocol (SNMP) agent system and method
US8356085B2 (en) Automated transformation of specifications for devices into executable modules
US20040153878A1 (en) System and method for implementing a dynamic logger
KR100455523B1 (ko) Snmp를 이용한 네트워크 관리프로그램 소스코드 생성방법, 장치 및 기록매체
Andrzejak et al. Confguru-A system for fully automated debugging of configuration errors
CN117850914A (zh) 基本输入输出系统配置选项测试方法、装置、设备及介质
CN115048150A (zh) 拼写提示方法、装置、设备及存储介质
WO2022214200A1 (en) Method and network element for pre-upgrade use case validation

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

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20121025

Year of fee payment: 9

LAPS Lapse due to unpaid annual fee