KR20040075382A - module for generating database table of Management Information Base - Google Patents

module for generating database table of Management Information Base Download PDF

Info

Publication number
KR20040075382A
KR20040075382A KR1020030010825A KR20030010825A KR20040075382A KR 20040075382 A KR20040075382 A KR 20040075382A KR 1020030010825 A KR1020030010825 A KR 1020030010825A KR 20030010825 A KR20030010825 A KR 20030010825A KR 20040075382 A KR20040075382 A KR 20040075382A
Authority
KR
South Korea
Prior art keywords
mib
class
database
api
type
Prior art date
Application number
KR1020030010825A
Other languages
Korean (ko)
Other versions
KR100507798B1 (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

PURPOSE: A module for generating a database table of an MIB(Management Information Base) is provided to process each class through one API(Application Program Interface) even if a number of the classes generated by a complier is increased. CONSTITUTION: An MIB compiler(20) succeeds to the basic class depending on an attribute existing in the MIB(10) by compiling the MIB based on a sort of a database management task for the MIB, a member of the MIB, and the basic class that a member function calling the member is defined. While generating the database table matched with each generated class(30), a table generating module comprises one API(40) executing the database task by understanding the sort of a management task of each generated class.

Description

관리 정보 베이스의 데이터 베이스 테이블 생성 모듈{module for generating database table of Management Information Base}Module for generating database table of Management Information Base

본 발명은 관리 정보 베이스(Management Information Base)의 데이터 베이스 테이블 생성 모듈에 관한 것이다.The present invention relates to a database table generation module 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, the management information base database to manage each class through a single API even if the number of classes generated by the compiler in managing the MIB information increases Its purpose is to provide a table creation method and a system therefor.

도 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.

이러한 목적을 달성하기 위한 본 발명의 일측면에 따르면, 네트워크 관리 시스템의 매니저에서 임의의 MIB을 컴파일하여 MIB 데이터 베이스의 테이블을 생성하는 모듈에 있어서, MIB에 대한 데이터 베이스 관리 작업의 종류와 조건문의 멤버와 그 멤버를 호출하는 멤버함수가 정의된 임의의 기본 클래스에 근거하여, MIB을 컴파일하여 MIB에 존재하는 어트리뷰트에 따라 기본 클래스를 상속하는 각 클래스를 생성하는 MIB 컴파일러와, 생성된 각 클래스에 상응하는 데이터 베이스 테이블을 생성하되, 생성된 각 클래스의 관리 작업종류를 파악하여 그에 따른 데이터 베이스 작업을 수행하는 하나의 API로 구성된 MIB의 데이터 베이스 테이블 생성 모듈을 제공한다.According to an aspect of the present invention for achieving this object, in a module for compiling any MIB in the manager of the network management system to generate a table of the MIB database, the type and conditional statement of the database management operation for the MIB Based on any base class that has a member and a member function that calls that member, a MIB compiler that compiles the MIB and generates each class that inherits the base class based on the attributes present in the MIB, and each generated class Provides a database table generation module of a MIB composed of one API that creates a corresponding database table and grasps management type of each generated class and performs 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 by SvDB Class is to make the Mbean value itself call, not the value specified 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 each MIB-based class (30) has the same name. 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, the data command required by the MIB-based class (30) that inherits the MBean class is set 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도 설정한다.On the other hand, 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.

Claims (5)

네트워크 관리 시스템의 매니저에서 임의의 MIB을 컴파일하여 MIB 데이터 베이스의 테이블을 생성하는 모듈에 있어서,A module for compiling an arbitrary MIB in a manager of a network management system to generate a table of a MIB database. MIB에 대한 데이터 베이스 관리 작업의 종류와 조건문의 멤버와 그 멤버를 호출하는 멤버함수가 정의된 임의의 기본 클래스에 근거하여, 상기 MIB을 컴파일하여 상기 MIB에 존재하는 어트리뷰트에 따라 상기 기본 클래스를 상속하는 각 클래스를 생성하는 MIB 컴파일러와,Compile the MIB and inherit the base class according to the attributes present in the MIB, based on the type of database management work for the MIB, the member of the condition statement, and any base class that defines the member function that calls the member. A MIB compiler that generates each class 상기 생성된 각 클래스에 상응하는 데이터 베이스 테이블을 생성하되, 상기 생성된 각 클래스의 관리 작업종류를 파악하여 그에 따른 데이터 베이스 작업을 수행하는 하나의 API로 구성된 MIB의 데이터 베이스 테이블 생성 모듈.A database table generation module of the MIB, comprising one API that generates a database table corresponding to each of the generated classes, and grasps a management task type of each generated class and performs a database operation accordingly. 제 1항에 있어서, 상기 관리작업의 종류는,The method of claim 1, wherein the type of management operation is 삽입(insert), 삭제(delete), 업데이트(update), 선택(select)을 포함하는 MIB의 데이터 베이스 테이블 생성 모듈.Module for creating database tables in the MIB, including inserts, deletes, updates, and selects. 제 1항에 있어서, 상기 기본 클래스는,The method of claim 1, wherein the base class, 어트리 뷰트와, 어트리 뷰트 네임과, 어트리 뷰트 타입과, 관리 작업의 종류와, 조건절을 포함하는 멤버와,A member containing an assertion, an assertion name, an assertion type, a type of administrative task, a conditional clause, 상기 멤버를 호출하는 멤버함수를 포함하는 MIB의 데이터 베이스 테이블 생성 모듈.A database table generation module of a MIB including a member function for calling the member. 제 1항에 있어서, 상기 API는,The method of claim 1, wherein the API, 해당 클래스의 관리 작업종류에 따라 데이터 베이스를 업데이트를 수행하거나, 리스트를 생성하는 쿼리 작업을 수행하는 멤버함수를 포함하는 MIB의 데이터 베이스 테이블 생성 모듈.Database table generation module of MIB including member function to update the database or query the list according to the management task of the class. 제 4항에 있어서, 상기 관리 작업 종류가 삽입(insert), 삭제(delete), 업데이트(update)중의 하나일때는 상기 업데이트를 수행하는 멤버 함수를 호출하고, 상기 관리 작업종류가 선택(select)일 경우에는 리스트를 생성하는 쿼리 작업을 수행하는 멤버함수를 호출하는 MIB의 데이터 베이스 테이블 생성 모듈.The method of claim 4, wherein when the management task type is one of insert, delete, and update, a member function for performing the update is called, and the management task type is select. The database table generation module of the MIB, in which case it calls a member function that performs a query operation to generate a list.
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 true KR20040075382A (en) 2004-08-30
KR100507798B1 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
KR100507798B1 (en) 2005-08-17

Similar Documents

Publication Publication Date Title
US5787437A (en) Method and apparatus for shared management information via a common repository
KR100243717B1 (en) Method and apparatus for enabling a persistent metastate for objects in an object-oriented environment
US6078741A (en) Automatic generation of reconfiguration scripts for telecommunication devices
US5732257A (en) Object conversion method from a flat object space to a class structured space
US6061721A (en) Bean-based management system
US6851118B1 (en) Remote object access
Wies Using a classification of management policies for policy specification and policy transformation
US6721880B1 (en) Method and apparatus for maintaining configuration information in a computing environment
US6490255B1 (en) Network management system
US7047524B1 (en) Object oriented ADN and method of converting a non-object oriented computer language to an object oriented computer language
ES2311193T3 (en) MIB GENERATION FROM WMI CLASSES.
JPH11232239A (en) Network management frame work
JPH11288395A (en) Method and system for remote browsing of object
US6286025B1 (en) Method and system of process identification by user defined process variables
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
Vassila et al. Active objects in TMN
JPH06259358A (en) Application control method using standard protocol
KR100507798B1 (en) apparatus and method for generating database table of Management Information Base
Yoda et al. Object oriented TMN based operations systems development platform
EP0750253B1 (en) Method and apparatus for shared management information via a common repository
KR100624477B1 (en) Configuration management system and method using representative object instances
Cao et al. The unification management of HFC network by using HP Openview
EP1031080A1 (en) Knowledge module

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