KR100507798B1 - apparatus and method for generating database table of Management Information Base - Google Patents

apparatus and method for generating database table of Management Information Base Download PDF

Info

Publication number
KR100507798B1
KR100507798B1 KR10-2003-0010825A KR20030010825A KR100507798B1 KR 100507798 B1 KR100507798 B1 KR 100507798B1 KR 20030010825 A KR20030010825 A KR 20030010825A KR 100507798 B1 KR100507798 B1 KR 100507798B1
Authority
KR
South Korea
Prior art keywords
mib
database
class
type
generating
Prior art date
Application number
KR10-2003-0010825A
Other languages
Korean (ko)
Other versions
KR20040075382A (en
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-2003-0010825A priority Critical patent/KR100507798B1/en
Publication of KR20040075382A publication Critical patent/KR20040075382A/en
Application granted granted Critical
Publication of KR100507798B1 publication Critical patent/KR100507798B1/en

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/024Standardisation; Integration using relational databases for representation of network management data, e.g. managing via structured query language [SQL]
    • 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]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Computer And Data Communications (AREA)

Abstract

본 발명에 따른 MIB 데이터 베이스 테이블 생성 장치 및 그 방법은, 네트워크 관리 시스템의 매니저에서 임의의 MIB을 컴파일하여 MIB 데이터 베이스의 테이블을 생성하는 모듈에 있어서, MIB에 대한 데이터 베이스 관리 작업의 종류와 조건문의 멤버와 그 멤버를 호출하는 멤버함수가 정의된 임의의 기본 클래스에 근거하여, MIB을 컴파일하여 MIB에 존재하는 어트리뷰트에 따라 기본 클래스를 상속하는 각 클래스를 생성하는 MIB 컴파일러와, 생성된 각 클래스에 상응하는 데이터 베이스 테이블을 생성하되, 생성된 각 클래스의 관리 작업종류를 파악하여 그에 따른 데이터 베이스 작업을 수행하는 하나의 API로 구성되어, 하나의 API에서 각각의 클래스를 읽어서 해당 클래스에 정의된 작업의 종류를 파악하고 그에 따라 데이터 베이스에 필요한 문장을 작성함으로써, MIB이 변경되거나 클래스의 종류가 변경되더라도 DB API는 변경하지 않고서도 데이터 베이스를 접근하게 할 수 있다.The apparatus and method for generating a MIB database table according to the present invention are a module for compiling an arbitrary MIB in a manager of a network management system to generate a table of a MIB database. Based on the members of the statement and any base classes that define member functions that call them, the MIB compiler generates a class that compiles the MIB and inherits each class that inherits the base classes based on the attributes that exist in the MIB. It is composed of one API that creates database table corresponding to each class and grasps management type of each generated class and performs database operation accordingly. Determine the type of work and write the necessary statements in the database accordingly As, MIB changes, or even change the type of class DB API can also be accessed the database without changing.

Description

관리 정보 베이스의 데이터 베이스 테이블 생성 장치 및 그 방법{apparatus and method for generating database table of Management Information Base}Apparatus and method for generating database table of Management Information Base}

본 발명은 관리 정보 베이스(Management Information Base)의 데이터 베이스 테이블 생성 장치 및 그 방법에 관한 것이다.The present invention relates to an apparatus and method for generating a database table of a management information base.

네트워크가 대규모화 되면서 많은 분야에서 네트워크 장비에 대한 관리가 필수 불가결한 요소가 되었다.As networks grow in size, management of network equipment has become an indispensable element in many areas.

일반적으로 네트워크 관리시스템에서는 SNMP(Simple Network Management Protocol)을 사용하여 네트워크 장비를 관리 및 모니터링한다.In general, network management systems use the Simple Network Management Protocol (SNMP) to manage and monitor network devices.

SNMP는 IETF(Internet Engineering Task Force)에서 개발된 네트워크 관리 프로토콜로서, 네트워크 시스템 관리 프로그램인 매니저(Manager)(미도시됨)와 네트워크 장비의 최상위 프로그램인 에이전트(Agent)(미도시됨)간에 MIB(management information base)를 상호교환하여 네트워크 장비를 외부에서 관리 가능하도록 해준다.SNMP is a network management protocol developed by the Internet Engineering Task Force (IETF). It is a network management protocol, Manager (not shown), which is a network system management program, and Agent (not shown), which is a top-level program of network equipment. Management information bases are interchangeable, allowing network equipment to be managed externally.

이 프로토콜에는 네가지 기본명령이 있는데, 외부에서 네트워크 장비의 정보를 열람하기 위한 'get'과 'get-next', 정보의 변경을 위한 'set', 네트워크 장비가 외부의 관리시스템에게 특정한 이벤트(event)를 알리기 위한 트랩(Trap) 등이 있다.There are four basic commands in this protocol: 'get' and 'get-next' for viewing network device information from outside, 'set' for changing information, and events specific to the external management system. ) Traps to inform.

MIB은 SNMP나 CMIP에서 네트워크 관리에 필요한 정보를 보관하기 위한 형식적으로 표현한 것을 말한다.MIB is a formal expression for storing network management information in SNMP or CMIP.

MIB의 형식은 SNMP의 일부로서 정의되어 있다. MIB-I은 초기의 MIB 정의를 의미하며, MIB-II는 현재의 정의를 가리킨다. SNMPv2는 MIB-II를 포함하며, 일부 새로운 객체들을 추가하였다. The format of the MIB is defined as part of SNMP. MIB-I refers to the initial MIB definition, and MIB-II refers to the current definition. SNMPv2 includes MIB-II and adds some new objects.

이러한 MIB 정보를 데이터 베이스에 저장하기 위해서는 데이터베이스에 관련된 테이블이 생성되어 있어야 하고, 이런 데이터 베이스 테이블은 프로그래머에 의해 수작업으로 작성된다.In order to store such MIB information in a database, tables related to the database must be created, and these database tables are manually created by a programmer.

SNMP 에이전트에서는 임의의 알람이 발생하는 경우, 해당 알람 정보를 MIB의 형식으로 변환하여 SNMP 매니저에 전송한다. SNMP 매니저에서는 해당 SNMP 에이전트로부터 전달된 임의의 MIB 정보를 해석하여 해당 에이전트의 운용상태를 파악하여 그에 따른 관리를 수행하게 된다.If any alarm occurs, the SNMP agent converts the alarm information into the MIB format and sends it to the SNMP manager. The SNMP manager analyzes any MIB information transmitted from the SNMP agent, identifies the operation status of the agent, and performs management accordingly.

따라서, 매니저는 임의의 에이전트로부터 임의의 관리 정보가 수신되는 경우, 해당 정보를 해석하기 위해서는 MIB 데이터 베이스에 접근할 수 있도록 기반이 이룩되어 있어야 한다.Therefore, when any management information is received from any agent, the manager must have a foundation for accessing the MIB database in order to interpret the information.

도 1은 종래의 매니저에서 MIB 정보를 처리하기 위한 프로그램의 기능 블록도이다. 1 is a functional block diagram of a program for processing MIB information in a conventional manager.

도 1을 참조하여 종래의 매니저에 구현되는 소프트웨어 기능블록을 살펴보면, 임의의 형식으로 정의된 MIB(1)과, 그 MIB를 컴파일하는 컴파일러(2)와, 컴파일러(2)에 의해 생성된 각각의 클래스(3)와, 각 클래스(3)에 상응하여 생성되는 MIB 기반 DB 테이블(5)과, 그 MIB 기반 DB 테이블(5)을 생성하기 위한 각각의 API(Application Program Interface)(4)로 구성된다.Looking at the software functional block implemented in the conventional manager with reference to Figure 1, the MIB (1) defined in any format, the compiler (2) for compiling the MIB, and each of the generated by the compiler (2) Class 3, MIB based DB table 5 generated corresponding to each class 3, and each API (Application Program Interface) 4 for generating the MIB based DB table 5 do.

일반적으로 MIB을 기반으로 한 프로그램에서는 MIB에 정의되어 있는 정보들을 표현하기 위해서는 별도로 정의된 스트럭쳐나 클래스(3)를 이용한다.In general, a MIB-based program uses a separately defined structure or class (3) to represent information defined in the MIB.

이러한 스트럭처나 클래스(3)는 MIB 컴파일러(2)를 이용해서 자동으로 생성하는 것이 일반적이다. MIB 컴파일러(2)에서 MIB(1)에 정의되어 있는 정보들을 컴파일하여 별도로 정의된 스트럭처 또는 클래스(3)를 생성한다. 이렇게 생성된 클래스들(3)은 각각의 DB API(4)를 통하여 임의의 MIB 정보를 저장할 데이터 베이스에 관련된 테이블이 생성되어 있어야 하고, 이런 데이터 베이스 테이블은 프로그래머에 의해 수작업으로 작성된다.Such a structure or class 3 is generally generated automatically by using the MIB compiler 2. The MIB compiler 2 compiles the information defined in the MIB 1 to generate a separately defined structure or class 3. The generated classes 3 should have a table related to a database to store arbitrary MIB information through each DB API 4, and these database tables are created manually by the programmer.

API(4)는 OS(Operating System) 서비스나 프로토콜에 쉽게 액세스할 수 있도록 해주는 추상적 개념으로서, 내부적으로 사용되는 각종 함수를 모아놓은 일종의 라이브러리이다. 응용(Application) 프로그램은 일반적으로 데이터 통신, 데이터 복구, 시스템 자원 액세스와 같은 OS의 로우 레벨(Low Level) 서비스를 요청하기 위해서 API를 사용한다. API (4) is an abstract concept that makes it easy to access an operating system (OS) service or protocol. It is a library of various functions used internally. Application programs typically use APIs to request low-level services of the operating system, such as data communications, data recovery, and system resource access.

이와 같이 각 클래스마다 개별적인 API(4)(A, B, C...)를 두어 각각의 API를 실행시킴으로써 각각의 데이터 베이스 테이블을 구성하게 된다. In this way, each class has a separate API (4) (A, B, C ...) to execute each API to form a respective database table.

따라서, 클래스의 개수가 적을 때는 API를 개별적으로 생성하는 것에 부담이 적지만, 클래스의 개수가 많아지는 경우에는 각각의 API를 생성하는 것은 시스템에 비효율적이다. 즉, 자동으로 생성된 스트럭처나 클래스들을 이용하여 데이터 베이스에 접근하려면, 각각의 스트럭처나 클래스에 해당하는 DB API를 같이 변경해야 함에 따라 클래스의 개수가 늘어나는 경우 일일이 변경해야 하는 DB API가 늘어나게 되어 시스템의 운용상 부담이 되는 문제점이 있다.Therefore, when the number of classes is small, it is less expensive to generate APIs individually. However, when the number of classes is large, generating each API is inefficient for the system. That is, in order to access the database using automatically generated structures or classes, the DB API corresponding to each structure or class must be changed together, so if the number of classes increases, the DB API that must be changed manually increases. There is a problem in the operation of the.

본 발명은 이러한 종래의 문제점을 해결하기 위하여 안출된 것으로, MIB 정보를 관리하는데 있어서 컴파일러에 의해 생성된 클래스의 개수가 늘어나더라도 하나의 API를 통해 각 클래스를 처리할 수 있도록 하는 관리 정보 베이스의 데이터 베이스 테이블 생성 장치 및 그 방법을 제공하는데 그 목적이 있다.The present invention has been made to solve such a conventional problem, and the management information base data that allows each class to be processed through one API even if the number of classes generated by the compiler increases in managing MIB information. An object of the present invention is to provide an apparatus and method for generating a base table.

이러한 목적을 달성하기 위한 본 발명에 따른 네트워크 관리 시스템의 매니저에서 임의의 MIB을 컴파일하여 MIB 데이터 베이스의 테이블을 생성하는 장치의 일 측면에 따르면, MIB에 대한 데이터 베이스 관리 작업의 종류와 조건문의 멤버와 그 멤버를 호출하는 멤버함수가 정의된 임의의 기본 클래스에 근거하여, MIB을 컴파일하여 MIB에 존재하는 어트리뷰트에 따라 기본 클래스를 상속하는 각 클래스를 생성하는 MIB 컴파일러와, 생성된 각 클래스에 상응하는 데이터 베이스 테이블을 생성하되, 생성된 각 클래스의 관리 작업종류를 파악하여 그에 따른 데이터 베이스 작업을 수행하는 하나의 API를 포함한다. 한편, 본 발명에 따른 네트워크 관리 시스템의 매니저에서 임의의 MIB을 컴파일하여 MIB 데이터베이스의 테이블을 생성하는 방법의 일 측면에 따르면, MIB에 대한 데이터베이스 관리 작업의 종류와 조건문의 멤버와 그 멤버를 호출하는 멤버함수가 정의된 임의의 기본 클래스에 근거하여, 상기 MIB을 컴파일하여 상기 MIB에 존재하는 어트리뷰트에 따라 상기 기본 클래스를 상속하는 각 클래스를 생성하는 단계; 상기 생성된 각 클래스에 상응하는 데이터베이스 테이블을 생성하되, 상기 생성된 각 클래스의 관리 작업종류를 파악하여 그에 따른 데이터베이스 작업을 수행하는 단계를 포함한다.According to an aspect of the apparatus for generating a table of the MIB database by compiling any MIB in the manager of the network management system according to the present invention for achieving this object, the type of the database management operation for the MIB and the members of the conditional statement And a MIB compiler that compiles the MIB and generates each class that inherits the base class based on the attributes that exist in the MIB, based on any base class that has a defined member function that calls and its members. It creates a database table, and includes one API that grasps the management work type of each generated class and performs the database work accordingly. On the other hand, according to one aspect of the method for generating a table of the MIB database by compiling any MIB in the manager of the network management system according to the present invention, the type of the database management operation and the member of the conditional statement for the MIB and calling the member Based on any base class in which a member function is defined, compiling the MIB to generate each class that inherits the base class according to attributes present in the MIB; Generating a database table corresponding to each of the generated classes, and identifying a management task type of each of the generated classes and performing a database operation accordingly.

이하, 첨부된 도면을 참조하여 본 발명을 상세히 설명하도록 한다.Hereinafter, the present invention will be described in detail with reference to the accompanying drawings.

도 2는 본 발명에 따른 네트워크 관리 시스템의 매니저에서 MIB 정보를 처리하기 위한 프로그램의 기능 블록도이다.2 is a functional block diagram of a program for processing MIB information in a manager of a network management system according to the present invention.

도 2를 참조하여 본 발명에 따른 매니저에 구현되는 소프트웨어 기능블록을 살펴보면, 임의의 형식으로 정의된 MIB(10)과, 그 MIB를 컴파일하는 컴파일러(20)와, 컴파일러(20)에 의해 생성된 각각의 클래스(30)와, 각 클래스(30)에 상응하여 데이터 베이스 테이블을 생성하기 위한 하나의 API(40)와, 각 클래스(30)에 대응하여 API(40)에 의해 생성되는 각 MIB 기반 DB 테이블(50)로 구성된다.Looking at the software function block implemented in the manager according to the present invention with reference to Figure 2, the MIB 10 defined in any format, the compiler 20 for compiling the MIB, and the generated by the compiler 20 Each class 30, one API 40 for generating a database table corresponding to each class 30, and each MIB base generated by the API 40 corresponding to each class 30 It consists of a DB table 50.

이와 같이 구성된 MIB 데이터 베이스 테이블 생성 모듈을 가지는 매니저에 에이전트로부터 임의의 MIB 정보(예를 들어 알람정보)가 수신되면, 해당 알람 정보를 MIB-based class(30)에 투영시킨다.When any MIB information (for example, alarm information) is received from the agent by the manager having the MIB database table generation module configured as described above, the alarm information is projected onto the MIB-based class 30.

그러면, 해당 알람정보로부터 알람시각, 알람의 내용, 알람의 등급, 알람 추가내용(예를 들어, 빨리 복구해주세요)의 형식으로 이루어져 있다는 것을 파악할 수 있고, 데이터 베이스의 어떤 부분들에 이러한 정보가 저장되어 있는지를 매니저는 읽어서 해당 장비의 운용상태를 파악할 수 있게 된다.From this alarm information, you can see that it consists of the alarm time, alarm content, alarm level, alarm addition content (for example, please restore it soon), and store this information in some parts of the database. The manager can read the information about the operation status of the equipment.

도 3은 도 2에서 MIB-based class의 일예를 보여주는 도면으로, 편의상 MBean(이하, 엠빈이라 읽음)이라 칭한다.FIG. 3 is a diagram illustrating an example of a MIB-based class in FIG. 2 and is referred to as an MBean (hereinafter, referred to as an MBean) for convenience.

MIB 컴파일러(20)에 의해 생성되는 각 클래스(30)는 도 3에 도시된 바와 같은 기본 클래스(MBean Class)를 상속한다.Each class 30 generated by the MIB compiler 20 inherits a base class (MBean Class) as shown in FIG.

즉, MBean Class는 MIB의 정보를 포함하는 어트리뷰트(m_Attrs), 어트리뷰트 네임(m_AttrName) , 어트리뷰트 타입(m_AttrType)의 각 멤버와 이들을 접근하는 멤버함수들로 구성되어 있다.That is, MBean Class consists of each member of attribute (m_Attrs), attribute name (m_AttrName), attribute type (m_AttrType) that contains MIB information and member functions that access them.

또한, 데이터 베이스 작업을 위해 작업의 종류를 표시하는 멤버(m_DBJob) , 조건절의 수행이 필요한 조건절 멤버(m_ConditionClause)와 이들을 접근하는 멤버함수들을 가지고 있다.It also has a member (m_DBJob) that indicates the type of job for the database job, a condition clause member (m_ConditionClause) that needs to execute the conditional clause, and a member function that accesses them.

도면에서 상단부는 멤버를 나타내고, 하단부는 그 멤버를 접근하기 위한 멤버함수를 나타낸다.In the figure, the upper part represents a member, and the lower part represents a member function for accessing the member.

여기에서 데이터 베이스 작업을 위한 멤버(m_DBJob)는 삽입(insert)작업, 삭제(delete)작업, 업데이트(update)작업, 선택(select)작업 등이 포함될 수 있다.Here, the member (m_DBJob) for working with the database may include an insert operation, a delete operation, an update operation, and a select operation.

여기에서, MIB 컴파일러에 의해 MIB을 컴파일하여 MIB에 존재하는 어트리뷰트에 따라 각 클래스를 생성할 때, DB를 관리하기 위한 작업의 종류를 표시할 수 있는 멤버를 정의한 것은 API(40)에서 각 MIB-based 클래스(30)를 읽었을 때, 해당 클래스에 하달된 데이터 베이스 관리 명령을 파악하기 위한 것이다.Here, when the MIB compiler compiles the MIB and generates each class according to the attributes present in the MIB, it is defined in the API 40 that each member is able to indicate the type of operation for managing the DB. When you read the based class (30), it is to identify the database management commands issued to that class.

이렇게 함으로써 하나의 API에서 각각의 클래스를 읽어서 해당 클래스에 정의된 작업의 종류를 파악하고 그에 따라 데이터 베이스에 필요한 문장을 작성함으로써, MIB(10)이 변경되거나 MIB-based 클래스(30)의 종류가 변경되더라도 하나의 DB API(40)만으로 각 MIB-based 클래스(30)에 상응하여 데이터 베이스를 접근할 수 있게 된다.This allows the MIB 10 to be changed or the MIB-based class 30 to be modified by reading each class in one API to determine the kind of work defined in that class and writing the necessary statements in the database accordingly. Even if it is changed, it is possible to access the database corresponding to each MIB-based class 30 with only one DB API 40.

아울러, 조건절이 정의된 것은 삭제 작업 또는 업데이트 작업의 경우, 일괄적으로 삭제할 수 없음에 따라 삭제 또는 업데이트를 위한 조건을 설정하기 위한 것이다.In addition, the condition clause is defined in order to set a condition for deletion or update as the deletion or update operation cannot be deleted in a batch.

도 4는 도 2에서 DB API를 보여주는 도면으로, 도면에서 일예로서 SvDB Class로 기재되어 있다. 즉, SvDB Class는 데이터 베이스에 접근하기 위한 공통된 DB API를 제공하는 클래스를 나타낸다. 도시된 바와 같이 SvDB Class는 데이터 베이스에 접근하기 위한 여러 가지 멤버 함수들을 포함하고 있다.FIG. 4 is a diagram illustrating a DB API in FIG. 2, and is described as SvDB Class as an example in the drawing. In other words, SvDB Class represents a class that provides a common DB API for accessing a database. As shown, the SvDB class contains several member functions for accessing the database.

이 멤버 함수의 특징은 업데이트나 쿼리 작업을 수행할 때(+execute Update, +execute Query) Mbean값을 호출하도록 한다. 즉, SvDB Class에서 호출하는 값은 삽입(insert)작업, 삭제(delete)작업, 업데이트(update)작업, 선택(select)작업중 특정된 값이 아니라, Mbean값 자체를 호출할 수 있도록 하는 것이다.The characteristic of this member function is to call Mbean value when performing update or query operation (+ execute Update, + execute Query). In other words, the value called in SvDB Class is to make Mbean value itself not to be called during insert, delete, update, and select.

따라서, Mbean값을 읽어서 그 클래스에 수행하는 작업이 삽입(insert)작업이면 삽입작업을 수행하고, 삭제(delete)작업인 경우에는 삭제작업을 수행하고, 업데이트(update)작업 또는 선택(select)작업인 경우에는 그에 상응하는 작업을 수행할 수 있도록 하는 것이다.Therefore, if the operation to read Mbean value and execute to the class is insert operation, insert operation is executed. If delete operation is performed, delete operation is executed, and update operation or select operation is performed. If is to be able to perform the corresponding operation.

즉, SvDB Class는 Mbean값을 호출하도록 정의된다. 이에 따라, Mbean 클래스를 상속하는 각각의 MIB-based class들이 데이터 베이스를 접근할 때에 필요한 멤버함수들을 제공하며, 실제로 데이터 베이스를 연동할 때에 MIB-based class들을 받아서 데이터베이스에 필요한 문장을 생성하는 것이다.That is, SvDB Class is defined to call Mbean value. Accordingly, each MIB-based classes inheriting the Mbean class provide the member functions necessary for accessing the database, and when the database is interworked, the MIB-based classes are received to generate the necessary statements in the database.

따라서, 특정한 하나의 클래스에는 이러한 작업의 종류에 상응하여 그 값이 정해진다. 예를 들어, 도 5를 참조하면, 각 클래스에 대하여 선택(select)작업을 수행하는 MBean의 예를 보여준다. Thus, a particular class is assigned a value corresponding to this type of task. For example, referring to FIG. 5, an example of an MBean that selects each class is shown.

즉, 도 5에 도시되어 있는 MIB에서 파생된 모든 class는 System class와 같이 MBean class를 상속받아서 구성될 경우, mib-2 의 system의 하위 어트리뷰트(attribute)들이 MBean class를 상속받아서 System class로 정의되는가를 나타낸다.That is, when all classes derived from the MIB shown in FIG. 5 are configured by inheriting the MBean class like the System class, are the sub-attributes of the system of mib-2 defined as the System class by inheriting the MBean class? Indicates.

아울러, 도 5에 도시된 MIB-based DB Table(도면에서 하단에 sytem Table로 도시됨)은 MIB에 정의되어 있는 것과 동일한 이름을 가지는 DB Table로 존재한다.In addition, the MIB-based DB table shown in FIG. 5 (shown as a sytem table at the bottom of the figure) exists as a DB table having the same name as defined in the MIB.

이상과 같이 하나의 MIB이 주어질 때에 이 MIB에 존재하는 어트리뷰트(attribute)들에 따라서 MBean class를 상속받는 MIB-based class(30)들이 정의되며, 이들 각각의 MIB-based class(30)마다 동일한 이름과 타입(type)을 가지는 MIB-based DB Table이 존재한다. As described above, MIB-based classes (30) inheriting the MBean class are defined according to the attributes present in the MIB when one MIB is given, and the same name for each MIB-based class (30) is defined. There is a MIB-based DB Table with type and type.

이들은 모두 MIB 컴파일러(20)를 이용하여 미리 정의된 포맷으로 자동 생성되며, 데이터 베이스의 연동이 필요할 시에는 SvDB class를 이용해서 필요한 데이터 베이스 작업을 수행할 수 있다.These are all automatically generated in a predefined format using the MIB compiler 20, and when necessary to interwork with the database, the necessary database work can be performed using the SvDB class.

그러면, MIB 컴파일러의 동작을 설명하도록 한다.Next, the operation of the MIB compiler will be described.

우선, MBean class를 상속받은 MIB-based class(30)에서 필요한 데이터 명령을 setDB Job 멤버함수를 이용해서 설정한다.First, set the data command required by the MIB-based class (30) that inherits the MBean class using the setDB job member function.

그 다음 설정한 데이터 베이스 명령에 따라 필요한 각 어트리뷰트(attribute)들을 설정한다.Next, set each required attribute according to the database command you set.

즉, 인서트(Insert) 명령어일 경우, 데이터 베이스에 삽입하기 위한 모든 어트리뷰트(attribute)들을 setXXX 멤버함수들을 이용해서 설정한다.That is, in the case of an Insert command, all attributes for inserting into the database are set using the setXXX member functions.

한편, 삭제(Delete) 명령어일 경우에는 , 데이터 베이스에서 삭제하기 위해서 필요한 조건문을 m_ConditonClause 에 설정한다.On the other hand, in the case of the Delete command, m_ConditonClause sets a conditional statement for deleting from the database.

한편, Update 명령어일 경우, 데이터 베이스에 업데이트하기 위해서 필요한 모든 어트리뷰트들의 값을 setXXX 멤버함수를 이용해서 설정하고, 필요한 경우에는 m_ConditionClause도 설정한다.On the other hand, in the case of the Update command, the setXXX member function sets the values of all the attributes required to update the database, and m_ConditionClause if necessary.

한편, 선택(Select) 명령어일 경우, 데이터 베이스에서 선택하려는 모든 어트리뷰트(attribute)들을 getXXX 멤버함수로 설정하고, 필요한 경우에는 m_CondtionClause도 설정한다.In the case of the Select command, all attributes to be selected in the database are set to the getXXX member function, and m_CondtionClause is also set if necessary.

그 다음, 임의의 MIB-based class(30)에 설정된 데이터 베이스 명령에 따라 SvDB의 멤버함수 호출이 이루어진다. 즉, 인서트(Insert), 삭제(Delete), 업데이트 명령어일 경우에는 SvDB의 executeUpdate 멤버함수를, Select 명령어일 경우에는 SvDB의 executeQuery 멤버함수를 호출한다.Then, the member function call of SvDB is made according to the database command set in any MIB-based class 30. That is, in the case of Insert, Delete, and update commands, the executeUpdate member function of SvDB is called, and in the case of Select command, the executeQuery member function of SvDB is called.

여기에서, SvDB의 executeUpdate 함수는, 전달받은 MIB-based class의 선택된 attribute의 이름, type, 값들을 MBean class의 getName , getAttrName, getAttrType, getValueAt 함수들을 이용해서 얻는다. Here, SvDB's executeUpdate function obtains the name, type, and value of the selected attribute of the MIB-based class, by using the getName, getAttrName, getAttrType, and getValueAt functions of the MBean class.

또한, condition clause 가 선택된 경우에는 m_ConditionClause의 값도 얻는다. Also, if the condition clause is selected, the value of m_ConditionClause is also obtained.

이렇게 얻어진 값들을 조합해서 데이터 베이스에 필요한 문장을 완성한다.Combine these values to complete the statements you need for your database.

그 완성된 데이터 베이스 문장을 이용해서 SvDB class는 데이터 베이스 명령을 수행하고 결과를 반환한다.Using the completed database statement, the SvDB class executes the database command and returns the result.

한편, SvDB의 executeQuery 함수는 전달받은 MIB-based class의 선택된 attribute의 이름, type, 값들을 MBean class의 getName , getAttrName, getAttrType 함수들을 이용해서 얻는다. On the other hand, SvDB's executeQuery function gets the name, type, and value of the selected attribute of the MIB-based class by using getName, getAttrName, and getAttrType functions of the MBean class.

또한, condition clause가 선택된 경우에는 m_ConditionClause의 값도 얻는다. In addition, when the condition clause is selected, the value of m_ConditionClause is also obtained.

이렇게 얻어진 값들을 조합해서 데이터 베이스에 필요한 문장을 완성한다.Combine these values to complete the statements you need for your database.

그 완성된 데이터 베이스 문장을 이용해서 SvDB class는 데이터 베이스 명령을 수행하고 결과를 리스트에 저장해서 반환한다.Using the completed database statement, the SvDB class executes database commands and stores the results in a list and returns them.

한편, MIB(10)에 존재하는 어트리뷰트들에 변경이 생기는 경우, MIB 컴파일러(20)는 기본 클래스를 상속하여 그에 따라 MIB-based class(30)를 생성하여 그 생성되는 MIB-based class(30)의 구성내용과 그 개수가 변경될 수 도 있다.On the other hand, when a change occurs in the attributes present in the MIB 10, the MIB compiler 20 inherits the base class and generates the MIB-based class 30 accordingly, thereby creating the MIB-based class 30 The content of the configuration and the number thereof may be changed.

그러나, 이러한 경우에도 API(30)에 정의된 멤버함수는 기본 클래스인 Mbean값을 호출하도록 정의되어 있음에 따라, 해당 MIB-based class(30)를 읽어 해당 MIB-based class(30)에 요청된 데이터 베이스 관리 작업을 수행할 수 있게 된다.However, even in this case, the member function defined in the API 30 is defined to call the base class Mbean value, so that the corresponding MIB-based class 30 is read to request the corresponding MIB-based class 30. You will be able to perform database management tasks.

본 발명에 의하면, MIB 컴파일러에 의해 MIB을 컴파일하여 MIB에 존재하는 어트리뷰트에 따라 각 클래스를 생성할 때, DB를 관리하기 위한 작업의 종류를 표시할 수 있는 멤버와, 삭제 작업 또는 업데이트 작업에 필요한 조건절 멤버가 정의된 기본 클래스를 이용하여, 하나의 API에서 각각의 클래스를 읽어서 해당 클래스에 정의된 작업의 종류를 파악하고 그에 따라 데이터 베이스에 필요한 문장을 작성함으로써, MIB이 변경되거나 클래스의 종류가 변경되더라도 DB API는 변경하지 않고서도 데이터 베이스를 접근할 수 있게 된다.According to the present invention, when the MIB compiler compiles the MIB and generates each class according to the attributes present in the MIB, a member capable of indicating the type of operation for managing the DB, and a deletion or update operation are required. Using the base class where conditional member is defined, by reading each class in one API, grasping the kind of work defined in the class, and writing the necessary statements in the database accordingly, the MIB is changed or the kind of class is changed. If changed, the database API can be accessed without changing the DB API.

도 1은 종래의 네트워크 관리 시스템의 매니저에서 MIB 정보를 처리하기 위한 프로그램의 기능 블록도.1 is a functional block diagram of a program for processing MIB information in a manager of a conventional network management system.

도 2는 본 발명에 따른 네트워크 관리 시스템의 매니저에서 MIB 정보를 처리하기 위한 프로그램의 기능 블록도.2 is a functional block diagram of a program for processing MIB information in a manager of a network management system according to the present invention.

도 3은 도 2에서 MIB-based class의 일예를 보여주는 도면.FIG. 3 is a diagram illustrating an example of a MIB-based class in FIG. 2. FIG.

도 4는 도 2에서 DB API를 보여주는 도면.4 is a view showing a DB API in FIG.

도 5는 도2에 도시된 MIB의 구조와 MIB-based class와 MIB-based DB 테이블의 일예를 보여주는 도면.FIG. 5 is a diagram illustrating an example of a structure of a MIB, a MIB-based class, and a MIB-based DB table shown in FIG. 2; FIG.

Claims (10)

네트워크 관리 시스템의 매니저에서 임의의 MIB을 컴파일하여 MIB 데이터베이스의 테이블을 생성하는 장치에 있어서,An apparatus for generating a table of a MIB database by compiling arbitrary MIBs in a manager of a network management system, MIB에 대한 데이터베이스 관리 작업의 종류와 조건문의 멤버와 그 멤버를 호출하는 멤버함수가 정의된 임의의 기본 클래스에 근거하여, 상기 MIB를 컴파일하여 상기 MIB에 존재하는 어트리뷰트에 따라 상기 기본 클래스를 상속하는 각 클래스를 생성하는 MIB 컴파일러와,The MIB is compiled and inherited from the base class according to the attributes present in the MIB based on a type of database management operation for the MIB, a member of a conditional statement, and a member class that calls a member function. A MIB compiler that generates each class, 상기 생성된 각 클래스에 상응하는 데이터베이스 테이블을 생성하되, 상기 생성된 각 클래스의 관리 작업종류를 파악하여 그에 따른 데이터베이스 작업을 수행하는 하나의 API를 포함하는 MIB의 데이터베이스 테이블 생성 장치.An apparatus for generating a database table of a MIB, comprising: an API for generating a database table corresponding to each of the generated classes, and grasping a management task type of each generated class and performing a database operation accordingly. 제 1항에 있어서, 상기 관리작업의 종류는,The method of claim 1, wherein the type of management operation is 삽입(insert), 삭제(delete), 업데이트(update), 선택(select) 작업 중 적어어도 하나의 작업을 포함하는 MIB의 데이터베이스 테이블 생성 장치.A device for generating a database table in a MIB that includes at least one of insert, delete, update, and select operations. 제 1항에 있어서, 상기 기본 클래스는,The method of claim 1, wherein the base class, 어트리 뷰트와, 어트리 뷰트 네임과, 어트리 뷰트 타입과, 관리 작업의 종류와, 조건절을 포함하는 멤버와, 상기 멤버를 호출하는 멤버함수 중 적어도 하나를 포함하는 MIB의 데이터베이스 테이블 생성 장치.And at least one of an attrit, an attrit name, an attrit type, a type of management task, a member including a conditional clause, and a member function for calling the member. 제 1항에 있어서, 상기 API는, The method of claim 1, wherein the API, 해당 클래스의 관리 작업종류에 따라 데이터 베이스 업데이트를 수행하거나, 리스트를 생성을 위한 쿼리 작업을 수행하는 멤버함수를 포함하는 MIB의 데이터베이스 테이블 생성 장치.A device for generating a database table of a MIB including a member function that performs a database update or a query for generating a list according to a management task type of a corresponding class. 제 4항에 있어서, 상기 API에서, The method of claim 4, wherein in the API, 상기 관리 작업 종류가 삽입(insert), 삭제(delete), 업데이트(update)중의 하나의 작업 일 때는 상기 업데이트를 수행하는 멤버 함수를 호출하고, 상기 관리 작업종류가 선택(select) 작업일 경우에는 리스트를 생성하기 위한 쿼리 작업을 수행하는 멤버함수를 호출하는 MIB의 데이터베이스 테이블 생성 장치.When the management task type is one of insert, delete, and update, a member function for performing the update is called. If the management task type is a select task, a list is provided. Database table generation device of the MIB that calls a member function that performs a query operation to create a. 네트워크 관리 시스템의 매니저에서 임의의 MIB을 컴파일하여 MIB 데이터베이스의 테이블을 생성하는 방법에 있어서, In the method of generating a table of the MIB database by compiling any MIB in the manager of the network management system, MIB에 대한 데이터베이스 관리 작업의 종류와 조건문의 멤버와 그 멤버를 호출하는 멤버함수가 정의된 임의의 기본 클래스에 근거하여, 상기 MIB을 컴파일하여 상기 MIB에 존재하는 어트리뷰트에 따라 상기 기본 클래스를 상속하는 각 클래스를 생성하는 단계; Compile the MIB and inherit the base class according to the attributes that exist in the MIB based on the type of database management work for the MIB, the member of the conditional statement, and any base class that defines the member function that calls the member. Generating each class; 상기 생성된 각 클래스에 상응하는 데이터베이스 테이블을 생성하되, 상기 생성된 각 클래스의 관리 작업종류를 파악하여 그에 따른 데이터베이스 작업을 수행하는 단계를 포함하는 MIB의 데이터베이스 테이블 생성 방법.Generating a database table corresponding to each of the generated classes, and identifying a management task type of each of the generated classes and performing a database operation according to the generated class table. 제 6항에 있어서, 상기 관리작업의 종류는,The method of claim 6, wherein the type of management operation, 삽입(insert), 삭제(delete), 업데이트(update), 선택(select) 작업 중 적어어도 하나의 작업을 포함하는 MIB의 데이터베이스 테이블 생성 방법.A method of creating a database table in a MIB that includes at least one of insert, delete, update, and select operations. 제 6항에 있어서, 상기 기본 클래스는,The method of claim 6, wherein the base class, 어트리 뷰트와, 어트리 뷰트 네임과, 어트리 뷰트 타입과, 관리 작업의 종류와, 조건절을 포함하는 멤버와, 상기 멤버를 호출하는 멤버함수 중 적어도 하나를 포함하는 MIB의 데이터베이스 테이블 생성 방법.A method of creating a database table for a MIB, comprising at least one of an assertion, an assertion name, an assertion type, a type of management task, a member including a conditional clause, and a member function that calls the member. 제 6항 또는 제8항에 있어서, 상기 데이터 베이스 작업을 수행하는 단계는, The method of claim 6 or 8, wherein performing the database operation comprises: 상기 멤버 함수를 이용하여 해당 클래스의 관리 작업종류에 따라 데이터 베이스 업데이트를 수행하거나, 리스트를 생성을 위한 쿼리 작업을 수행하는 MIB의 데이터베이스 테이블 생성 방법.A method of creating a database table of a MIB by performing a database update or a query for generating a list according to the management operation type of the class by using the member function. 제 9항에 있어서, 상기 데이터베이스 작업을 수행하는 단계에서, The method of claim 9, wherein in the step of performing the database operation: 상기 관리 작업 종류가 삽입(insert), 삭제(delete), 업데이트(update)중의 하나의 작업 일 때는 상기 업데이트를 수행하는 멤버 함수를 호출하고, 상기 관리 작업종류가 선택(select) 작업일 경우에는 리스트를 생성하기 위한 쿼리 작업을 수행하는 멤버함수를 호출하는 MIB의 데이터베이스 테이블 생성 방법.When the management task type is one of insert, delete, and update, a member function for performing the update is called. If the management task type is a select task, a list is provided. How to create a database table in the MIB that calls a member function that performs a query operation to create a query.
KR10-2003-0010825A 2003-02-20 2003-02-20 apparatus and method for generating database table of Management Information Base KR100507798B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR10-2003-0010825A KR100507798B1 (en) 2003-02-20 2003-02-20 apparatus and method for generating database table of Management Information Base

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2003-0010825A KR100507798B1 (en) 2003-02-20 2003-02-20 apparatus and method for generating database table of Management Information Base

Publications (2)

Publication Number Publication Date
KR20040075382A KR20040075382A (en) 2004-08-30
KR100507798B1 true KR100507798B1 (en) 2005-08-17

Family

ID=37361676

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2003-0010825A KR100507798B1 (en) 2003-02-20 2003-02-20 apparatus and method for generating database table of Management Information Base

Country Status (1)

Country Link
KR (1) KR100507798B1 (en)

Also Published As

Publication number Publication date
KR20040075382A (en) 2004-08-30

Similar Documents

Publication Publication Date Title
JP4603106B2 (en) Object remote browsing method and system
US6078741A (en) Automatic generation of reconfiguration scripts for telecommunication devices
US5787437A (en) Method and apparatus for shared management information via a common repository
US6175866B1 (en) Method and system for generating unsupported network monitoring objects
US6490255B1 (en) Network management system
US6061721A (en) Bean-based management system
Wies Using a classification of management policies for policy specification and policy transformation
JP2915842B2 (en) System and method for controlling and managing a distributed object server using first class distributed objects
US6981266B1 (en) Network management system and method
US6134581A (en) Method and system for remotely browsing objects
US6851118B1 (en) Remote object access
ES2311193T3 (en) MIB GENERATION FROM WMI CLASSES.
US6990518B1 (en) Object-driven network management system enabling dynamically definable management behavior
US8356085B2 (en) Automated transformation of specifications for devices into executable modules
KR100429514B1 (en) Method and system for data base access of information memory useing management information base in network management protocol
US8032504B2 (en) Mechanism for enabling new task types to be added to a system for managing distributed nodes
JPH06259358A (en) Application control method using standard protocol
Vassila et al. Active objects in TMN
KR100507798B1 (en) apparatus and method for generating database table of Management Information Base
Yoda et al. Object oriented TMN based operations systems development platform
Cao et al. The unification management of HFC network by using HP Openview
Pavlou et al. High-level access APIs in the OSIMIS TMN platform: Harnessing and hiding
JPH11327936A (en) Data base management method and device therefor and network management method and device therefor
KR100270920B1 (en) Network Management Platform and Methods Using Threads
Keller Systems Management with Distributed Objects: Porting SNMP Agents to a CORBA Environment NM M

Legal Events

Date Code Title Description
A201 Request for 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: 20080704

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee