KR100473270B1 - 이엠에스와 엔이간의 데이터 전송장치와 전송방법 - Google Patents
이엠에스와 엔이간의 데이터 전송장치와 전송방법 Download PDFInfo
- Publication number
- KR100473270B1 KR100473270B1 KR10-2002-0051351A KR20020051351A KR100473270B1 KR 100473270 B1 KR100473270 B1 KR 100473270B1 KR 20020051351 A KR20020051351 A KR 20020051351A KR 100473270 B1 KR100473270 B1 KR 100473270B1
- Authority
- KR
- South Korea
- Prior art keywords
- message
- ems
- packet
- delimiter
- messages
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/02—Standardisation; Integration
- H04L41/0226—Mapping or translating multiple network management protocols
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
본 발명은 EMS와 NE간의 데이터 처리구조 및 방법에 관한 것으로, 더욱 상세하게는 연속적이고 붙어서 전송되는 데이터를 하나의 메시지씩 분리하여 전송하는 EMS와 NE간의 데이터 전송장치 및 전송방법에 관한 것이다.
본 발명에 의한 데이터 전송장치는, TCP/IP프로토콜과 TL1 데이터 포멧을 기반으로 하는 네트웍 시스템에 있어서, Response Message 또는 Event Message를 출력하는 하나 이상의 NE와; 상기 NE에서 출력되는 메시지를 인터페이스하는 COSI와; 상기 COSI에 의해 인터페이스된 메시지를 입력받고, 상기 입력된 메시지를 구분자(;)로 종결되는 하나의 메시지씩 분리하고 분리된 메시지가 응답메시지인지 이벤트메시지인지를 판단하여, 하나씩 이산적으로 출력하는 소켓 API와; 상기 소켓 API에서 출력된 메시지를 입력하고, 입력된 메시지를 기초로 상기 NE의 보수 ·관리 기능을 수행하는 EMS를 포함하여 구성되는 것을 특징으로 한다.
그리고, 본 발명에 의한 데이터 전송방법은, NE에서 출력된 패킷을 수신하는 제1단계와; 상기 수신된 패킷에 구분자(;)가 있는지를 판단하는 제2단계와; 상기 제2단계의 판단결과, 구분자(;)가 없거나, 구분자(;) 있는 패킷이 하나 이상의 메시지를 구성하지 않는 경우, 상기 패킷을 NE별 각각에 대해 이벤트 또는 응답 메시지별로 구분 저장하는 제3단계와; 상기 제2단계 판단결과, 패킷이 둘 이상의 구분자(;)로 종결되는 둘 이상의 메시지인 경우, 상기 메시지를 하나의 메시지로 분리하는 제4단계와; 상기 제4단계에 의해 분리된 하나의 메시지가 또는 상기 제2단계 판단에 의해 패킷이 하나의 구분자(;)로 종결되는 하나의 메시지인 경우의 메시지가, 이벤트 또는 응답 메시지인지를 판단하는 제5단계와; 상기 제3단계에 의해 저장된 패킷이 하나의 메시지를 구성한 경우의 하나의 메시지를, 또는 상기 제5단계에 의해 판단된 하나의 메시지를 EMS로 출력하는 단계로 구성되는 것을 특징으로 한다.
상기와 같은 구성의 결과, NE에서 입력되는 연속된 메시지를 하나씩 분리하여 EMS로 전송할 수 있으므로, 미처리되는 메시지가 없게 된다.
Description
본 발명은 EMS와 NE간의 데이터 전송에 관한 것으로, 더욱 상세하게는 NE에서 출력되는 메시지들이 연속된 스트림으로 붙어서 EMS로 전송되는 경우, 상기 붙어 있는 메시지들을 분리하여 하나씩 전송하기 위한 EMS와 NE간의 데이터 전송장치 및 방법에 관한 것이다.
일반적으로 네트웍 시스템 중, 클라이언트/서버 시스템은, 사용자가 직접 조작하는 컴퓨터(클라이언트)와 클라이언트로부터의 요구에 따라 처리를 행하는 컴퓨터(서버)가 연동해서 서로 역할 분담하는 네트웍 시스템으로서, 데이터의 입력이나 출력 처리 지시는 클라이언트가 행하고, 그 지시에 따른 대량의 데이터 검색이나 배열 변경 등의 처리는 서버에서 행한다.
그리고, 상기 클라이언트/서버 시스템에서는 TCP/IP 프로토콜이 주로 사용되고 있는데, 상기 TCP/IP(Transmission Control Protocol /Internet Protocol)는 네트웍 상에서 데이터를 송수신하기 위한 기본적인 통신 프로토콜이다. 상기 TCP/IP는 계층형 구조(layered architecture)로 되어 있는 바, TCP프로그램 계층과 IP프로그램계층이 그것이다
TCP프로그램 계층은 메시지나 파일들을 좀더 작은 패킷으로 나누어 네트웍을 통해 전송하고, 수신된 패킷들을 원래의 메시지로 재조립하는 일을 담당한다. 서버와 클라이언트 관점에서 다시 기술하면, 서버 내에 있는 TCP프로그램 계층은 파일을 여러개의 패킷들로 나누고, 패킷 번호를 붙인 다음, IP프로그램 계층으로 보낸다. 다른 한쪽 편(사용자 컴퓨터 내의 클라이언트)에 있는 TCP는, 각 패킷들을 재조립하고, 사용자에게 하나의 완전한 파일을 보낼 수 있을 때까지 기다린다.
그리고, 클라이언트/서버 시스템에서 흔히 사용되고 있는 데이터 포멧으로 TL1이 있는데, 상기 TL1(Transaction Language 1)은 통신 장비의 유지/관리 프로토콜로서, ITU-T Z.3XX Series의 MMS(Man-Machine Language)을 기반으로 하여 작성된 EMS(Element Management System,망요소관리시스템)와 NE(Network Element,망요소)간의 메시지 전달 체계로서, 통신장비, 그리고 장비들로 이루어진 통신망을 유지/관리하기 위한 명령어들과, 그 응답 메시지들, 그리고 이러한 명령어와 응답 메시지의 작성 규칙 등에 대해 정의하고 있다.
입력 메시지의 경우에는 블록단위 구조로 각 블록은 콜론(:)을 이용하여 구분한다. 출력 메시지는 Header, Response ID, Text Block로 구성된다. 그리고, Acknowledgement를 제외한 모든 메시지는 세미콜론(;)으로 종결한다.
다음은 종래 기술에 의한 EMS와 NE간의 메시지 전송장치 및 방법에 대하여 설명한다.
도 1은 종래 기술에 의한 EMS와 NE간의 데이터 전송을 나타내는 시스템의 블록구성도이다. 도 1도시된 바와 같이, 망관리의 대상이 되는 복수개의 NE(130)가 있다. 상기 복수개의 NE(130)는 메시지를 EMS(100)로 보내거나, EMS(100)에서 오는 메시지를 받는다.
그리고, 상기 NE(130)가 출력하는 메시지에는 이벤트 메시지(event message, 이하 ‘event’라고도 병용함)와 응답메시지(response message,이하 ‘response’라고도 병용함)가 있다. 상기 이벤트 메시지는, 관련된 요구 명령(request command)없이 NE(130)에서 EMS(100)에 전달되는 메시지로 다음과 같은 경우에 전달된다. 즉, 경보의 보고, 설정된 자체 시험 결과 보고, 성능 데이터 보고, NE(130)의 데이터베이스 변경 보고, 주기적으로 보고되는 NE(130) 상태 정보 보고 등의 경우이다.
그리고, 응답메시지는 EMS(100)의 요구(request)에 대한 결과를 알려주는 응답 메시지이다.
상기 복수개의 NE(130)에는 COSI(Connection - oriented Socket Interface,연결지향형 소켓 인터페이스)(120)가 연결된다. 상기 COSI(120)는 복수개의 NE(130)로 부터 나온 메시지를 소켓 방식으로 인터페이스한다.
상기에서 연결지향(Connection - Oriented 또는 Stream - Oriented)이란, 전송계층 데이터 통신 서비스의 일종으로 일측의 호스트가 다른 일측의 호스트로 연속적인 스트림 데이터를 보내는 것을 말한다. 상기 연결지향 서비스는 전송되는 모든 데이터가 동일한 순서 및 중복없이 수신측에 도달되는 것을 보증한다.
상기 COSI(130)에는 소켓 API(Application Program Interface,응용프로그램인터페이스)(110)가 연결된다. 그리고, 상기 소켓 API(110)는 NE(130)에서 출력되어져 전송된 메시지가 event 메시지인지 response 메시지인지를 판단하여 EMS(100)로 전송한다.
그리고, 상기 소켓 API(110)에는 송수신버퍼(112)가 마련된다. 상기 송수신버퍼 (112)는 상기 NE(130)에서 올라온 메시지를 받아들였다가 EMS(100)로 출력되기 전까지 단순히 임시 저장하는 기능을 수행한다.
그리고, 상기 소켓 API(112)에는 EMS(100)가 연결된다. 상기 EMS(100)는 복수개의 NE(130)로 부터 보내져온 메시지를 기초로 request 메시지를 NE(130)로 보내어 망 관리 유지 보수 기능을 수행한다.
다음은 상기와 같은 구성을 가지는 종래 기술에 의한 EMS와 NE간의 데이터 전송 방법을 설명한다.
상기 NE(130)는 event 또는 response를 패킷 형태로 보낸다.
상기와 같이 NE(130)에서 보내져온 event 또는 response는 COSI(120)에 의해서 인터페이스되어서 소켓 API(110)로 입력된다. 상기 소켓 API(110)로 입력된 event 또는 response는 송수신버퍼(112)에 임시저장된다. 그리고, 상기 송수신버퍼(112)는 event 또는 response의 구분 없이 임시 저장시킨다.
그리고, 상기 소켓 API(110)는 송수신버퍼(112)에 임시저장된 데이터가 event인지 또는 response인지를 판단해서 상기 EMS(100)로 올려보낸다.
그러나, 상기와 같은 구성과 동작 과정을 가지는 종래 기술에 의한 데이터 전송장치 및 방법은 다음과 같은 문제점이 제기된다.
즉, 스트림 소켓(Stream Socket)은 양방향(Bi-directional)성을 가지고, 안정적(Reliable), 순차적(Sequenced)이 데이터의 흐름을 제공하지만, 받는측(즉, EMS(100))에서는 데이터를 연속적 흐름으로 인식하여 패킷(또는 메시지)의 경계선(boundary)을 구별하지 못한다.
따라서, 만약 패킷이 붙어서 연속적으로 오는 경우, 가장 처음 도착하는 데이터만이 처리되고, 나머지 데이터는 무시되어 처리되지 못하는 문제점이 발생한다.
다음과 같은 응답 메시지(Response Message)를 예를 들어서 설명한다.
<cr><lf><lf>^^^RDBKNJNVK01^99-06-15^09:12:11<cr><lf>M^^9904^COMPLD<cr><lf>^^^"5-16:32,NONE"<cr><lf>; |
<cr><lf><lf>^^^RDBKNJNVK01^99-06-15^09:12:11<cr><lf>M^^9904^DENY<cr><lf>^^^RRNG<cr><lf>^^^"5-16:aid2=16:min=0,max=15"<cr><lf>^^^/*Numeric values in the Access Block Must Be <cr><lf>^^^ between 0 and 15.*/<cr><lf>; |
; |
; |
(*3번째와 4번째 응답메시지는 (;)만 기술하고, 메시지 내용은 생략함)
(하나의 박스에 들어 있는 메시지는 하나의 (;)으로 종결되고 있는데, 이하에서는 상기와 같이 하나의 (;)로 종결되는 메시지를 하나의 메시지라고 하겠다. 따라서, 상기 응답메시지의 경우에는 4개의 메시지가 있는 것이다.)
상기에서 예를 들고 있는 응답 메시지에서와 같이, 메시지가 연속적으로 붙어서 올라오는 경우, 첫 번째 세미콜론(;)(이하, ‘구분자’)으로 끝나는 메시지만을 데이터 처리하고, 첫번째 메시지 다음부터의 메시지는 데이터 처리하지 못하게 된다.
상기와 같이 첫번째 메시지 다음부터의 메시지를 처리하지 못하는 이유는, 각각의 NE(130)에서 출력 전송되어져 오는 메시지가 COSI(120)를 통과하면서 붙어져서 전송되어지기 때문이다.
즉, 각각의 NE(130)에서 메시지를 보내는 것은 다른 시간에 보내지만, 보내어진 메세지가 COSI(220)에 의해 인터페이스되면서 메시지가 동시에 오는 경우 붙어서 전송되기 때문이다.
상기와 같은 문제점은 메시지가 하나씩 올라오는 경우에는 발생하지 않으나, 다량의 메시지가 연속적으로 붙어서 올라오는 경우에 특히 발생할 확률이 커진다.
즉, 스트림 소켓의 특성상 NE(130)에서 출력되는 메시지가 다량인 경우에는 짧은 시간에 많은 메시지가 출력되어서 데이터 전송되어지므로, 상기와 같이 메시지가 붙어서 전송되는 경우가 더욱 더 많다.
상기와 같이, NE(130)에서 출력 전송되어온 메시지가 첫번째 메시지를 제외하고는 처리되지 못하는 경우, EMS(100)가 다음 단계의 NE(130) 유지 보수 기능을 올바르게 수행하지 못하는 문제점이 발생한다.
본 발명인 EMS와 NE간의 데이터 전송장치와 전송 방법은, 상기와 같은 종래 기술의 문제점을 해결하기 위해서 안출된 것으로, 다음과 같은 목적을 가지고 있다.
우선, NE에서 출력되어져 전송되는 데이터를 구분자(;)에 의해서 구분하여 데이터를 처리함으로서 처리되지 못하는 데이터가 없도록 하는 EMS와 NE간의 데이터 전송 장치 및 방법을 제공하는 데 있다.
본 발명의 다른 목적은, 서로 다른 NE에서 출력되어서 전송되는 데이터인 경우, 각각의 서로 다른 NE에서 전송되어져 오는 데이터를 저장하기 위한 각각의 버퍼를 마련함으로서, 처리되지 못하는 데이터가 없도록 하는 EMS와 NE간의 데이터 전송 장치 및 방법을 제공하는 데 있다.
본 발명의 또 다른 목적은, 서로 다른 NE에서 전송되어져 오는 데이터를 저장하는 버퍼에 저장된 데이터가 EMS로 보내진 경우에는 즉시 버퍼를 삭제함으로서, 메모리 로스가 최소로 되는 EMS와 NE간의 데이터 전송 장치 및 방법을 제공하는 데 있다.
상기와 같은 목적을 달성하기 위한 본 발명에 의한 EMS와 NE간의 데이터 처리 장치는, TCP/IP프로토콜과 TL1 데이터 포멧을 기반으로 하는 네트웍 시스템에 있어서,응답메시지 또는 이벤트메시지를 출력하는 하나 이상의 NE와, 상기 NE에서 출력되는 메시지를 인터페이스하는 COSI와, 상기 COSI에 의해 인터페이스된 메시지를 구분자(;)로 종결되는 하나의 메시지씩 분리하고 그 분리된 메시지의 종류를 판단한 다음 하나씩 이산적으로 출력하는 소켓 API와, 상기 소켓 API로부터 출력된 메시지를 기초로 하여 상기 다수의 NE의 유지 ·보수 ·관리 기능을 수행하는 EMS를 포함하는 EMS와 NE간의 데이터 전송장치를 제공한다.
상기와 같은 구성에 의하면, NE에서 입력되는 연속된 메시지를 하나씩 분리하여 EMS로 전송할 수 있으므로, 미처리되는 메시지가 없게된다.
본 발명에 의한 EMS와 NE간의 데이터 처리 장치는, 상기 소켓 API는, 상기 코시에 의해 인터페이스된 패킷을 입력 받고, 상기 EMS로 출력전의 하나의 분리된 메시지를 저장하는 송수신버퍼와; 상기 송수신버퍼에 입력되는 패킷이, 구분자(;)를 갖는지 여부, 그리고 몇개의 구분자(;)를 갖는지, 그리고 어느 NE에서 전송되었는가, 그리고, 이벤트메시지인지 응답메시지인지 여부를 판단하며, 버퍼를 생성하는 제어부와; 상기 제어부의 판단에 의해, 패킷이 구분자(;)에 의해 둘 이상의 메시지를 구성하는 경우, 상기 메시지를 구분자(;)로 종결되는 하나의 메시지씩 분리하는 포인트부를 포함하여 구성되는 것을 특징으로 한다.
상기와 같은 구성에 의하면, NE에서 입력되는 메시지를 원활하게 하나씩 분리해서 EMS로 전송할 수 있는 이점이 있다.
본 발명에 의한 EMS와 NE간의 데이터 처리 장치는, 상기 소켓 API는, 상기 패킷이 구분자(;)를 가지고 있지 않거나 또는 하나 이상의 메시지를 구성할 수 없는 경우, 상기 제어부에 의해 생성되어 NE별 각각에 대해 이벤트 또는 응답 메시지별로 구분 저장하는 고유버퍼를 더 포함하여 구성되는 것을 특징으로 한다.
상기와 같은 구성에 의하면, 하나의 메시지를 구성하지 못하는 패킷이 입력되는 경우에도, 하나의 메시지가 구성될 때까지 저장하는 과정을 수행함으로서, 하나의 메시지만을 EMS로 전송할 수 있는 이점이 있다.
본 발명에 의한 EMS와 NE간의 데이터 처리 장치는, 상기 소켓 API는, 상기 패킷에 둘 이상의 메시지가 있는 경우, 상기 제어부에 의해 생성되고, 상기 포인트부에 의해서 분리된 하나의 메시지를 제외한 나머지 메시지를 저장하는 임시버퍼를 더 포함하여 구성되는 것을 특징으로 한다.
상기와 같은 구성에 의하면, 2이상의 메시지가 입력되는 경우에도, 더욱 원활하게 메시지를 분리해서 EMS로 전송할 수 있는 이점이 있다.
본 발명에 의한 EMS와 NE간의 데이터 처리 장치는, 상기 제어부의 고유버퍼 생성은, 동적(dynamic)으로 할당(allocation)하는 것을 특징으로 한다.
상기와 같은 구성에 의하면, 메모리 손실을 최소화할 수 있는 이점이 있다.
본 발명에 의한 EMS와 NE간의 데이터 처리 장치는, 상기 제어부의 임시버퍼 생성은, 동적(dynamic)으로 할당(allocation)하는 것을 특징으로 한다.
상기와 같은 구성에 의하면, 메모리 손실을 치소화할 수 있는 이점이 있다.
상기와 같은 목적을 달성하기 위한 본 발명에 의한 EMS와 NE간의 데이터 전송 방법은, NE에서 출력된 패킷을 수신하여 구분자(;)가 있는지 여부를 또는 몇 개인지를 판단하는 제1단계와; 상기 단계의 판단에 따라서 하나의 구분자(;)로 종결되는 하나의 메시지를 구성하는 제2단계와; 상기 제2단계에서 구성된 하나의 메시지가 이벤트 또는 응답 메시지인지를 판단하는 제3단계와; 상기 제3단계에 의해 판단된 하나의 메시지를 EMS로 출력하는 제4단계로 구성되는 것을 특징으로 한다.
본 발명에 의한 EMS와 NE간의 데이터 전송 방법은, 상기 제 2 단계는, 상기 제 1 단계의 판단 결과, 패킷이 둘 이상의 구분자(;)로 종결되는 둘 이상의 메시지인 경우, 상기 메시지를 구분자(;) 단위로 분리함으로서 하나의 메시지를 구성하는 것을 특징으로 한다.
본 발명에 의한 EMS와 NE간의 데이터 전송 방법은, 상기 제 2 단계는, 상기 제 1 단계의 판단 결과, 패킷에 구분자(;)가 없는 경우, 상기 패킷을 NE별 각각에 대해, 구분자(;)가 있는 패킷이 수신될 때까지 이벤트 또는 응답 메시지별로 구분 저장함으로서 하나의 메시지를 구성하는 것을 특징으로 한다.
상기와 같은 구성에 의하면, NE에서 출력된 메시지가 연속적으로 붙어서 입력되더라도, 하나의 메시지씩으로 분리하여 EMS로 전송함으로, 입력되는 모든 메시지를 처리할 수 있게 된다.
다음은 본 발명인 EMS와 NE간의 데이터 전송장치 및 방법에 대한 실시예를 첨부한 도면을 기초로하여 상세하게 설명한다.
도 2는, 본 발명에 의한 EMS와 NE간의 데이터 전송장치를 도시하고 있는 도면이고, 도 3은 본 발명에 의한 소켓 API의 상세 블록 구성도이다.
본 발명 장치는 도 2에 도시된 바와 같이, 이벤트 메시지(event message) 또는 응답 메시지(response message)를 출력하는 유지 보수 관리의 대상이 되는 예컨대, 전송장비인 하나 또는 복수개의 NE(230;network element)와; 상기 NE(230)에 연결되어 NE(230)로부터 출력되는 메시지를 인터페이스하는 COSI(220;connected-oriented stream socket interface)와; 상기 COSI(220)에 연결되어 이 COSI(220)에 의해 처리된 메시지를 구분자(;)로 종결되는 하나의 메시지씩 분리하고 그 분리된 메시지의 종류 예컨대, 응답메시지인지 혹은 이벤트메시지인지를 판단하여 하나씩 이산적으로 출력하는 소켓 API(210;Application program interface)와; 상기 소켓 API(210)로부터 출력된 메시지를 기초로 하여 상기 NE의 유지, 보수, 관리기능을 수행하는 EMS(200;Element management system)를 포함한다.
삭제
그리고, 상기 소켓 API(213)는 도 3에 도시된 바와같이 COSI(220)에 의해 인터페이스된 패킷을 EMS(200)로 출력전에 분리된 메시지로 저장되는 송수신버퍼(312)와, 상기 송수신버퍼(312)로 입력된 패킷이 어느 NE에서 전송되어져왔는가를 판별하고, 동시에 메시지가 event인지 또는 response인지를 판단하며, 메시지에 구분자(;)가 있는지 여부, 몇개의 구분자(;)로 종결되는 지의 여부를 판단하고, 필요할 경우 버퍼를 생성하는 제어부(300)와; 상기 제어부(300)의 판단에 의해 COSI(220)에서 올라온 패킷(또는 메시지)를 하나의 메시지 단위(즉, 구분자(;))로 분리하는 포인트부(318)를 포함한다. 또한, 상기 소켓 API(213)는 패킷이 구분자(;)를 가지고 있지 않거나 또는 하나 이상의 메시지를 구성할 수 없는 경우 상기 제어부(300)에 의해 생성되어 NE별 각각에 대해 이벤트 또는 응답메시지별로 구분 저장하는 고유버퍼(314)와, 상기 소켓 API(210)의 전송처리를 원활하게 하기 위해 필요한 버퍼로서, 송수신버퍼(312)에 복수개의 메시지가 있는 경우, 상기 포인트부 (318)에 의해서 분리되어지고 남은 메시지를 임시저장하는 임시버퍼(316)를 더 포함한다.여기서, 상기 도 3에서 e는 event를 나타내고, r은 response를 나타낸다. 따라서, 상기 도 3에서 e로 표시되는 버퍼는 event가 저장되는 버퍼이고, r로 표시되는 버퍼는 response가 저장되는 버퍼이다.
그리고, 상기 제어부(300)에서 어느 NE에서 전송되었는지의 판단은 Connection id에 의해서 행해지며, event인지 또는 response인지의 판단은 port 번호에 의해서 알 수 있다.
삭제
삭제
삭제
삭제
삭제
상기 소켓 API(210)에는 EMS(200)가 연결된다.
다음은 상기와 같은 구성을 가지는 본 발명인 EMS와 NE간의 데이터 처리방법에 대하여 기술한다.
도 4는, 본 발명에 의한 EMS와 NE간의 데이터 전송방법을 나타내고 있는 순서도이다.
먼저 상기 한개 또는 복수개의 NE(230)에서 메시지가 출력된다. 상기 NE (230) 메시지에는 event메시지 와 response메시지가 있다. 상기 event메시지는, 관련된 요구 명령(request command)없이 NE(230)에서 EMS(200)에 전달되는 메시지로 다음과 같은 경우에 전달된다. 즉, 경보의 보고, 설정된 자체 시험 결과 보고, 성능 데이터 보고, NE(230)의 데이터베이스 변경 보고, 주기적으로 보고되는 NE(230) 상태 정보 보고 등의 경우이다.
상기 NE(230)에서 출력되어진 메시지는 일반적으로 패킷의 형태로 분해되어서 출력되고, 상기 패킷은 하나의 메시지를 형성할 수도 있다(제412단계).
그리고, NE(230)에서 출력되어진 메시지는 COSI(220)에서 인터페이스 된다 (제414단계).
상기 COSI(220)에서 인터페이스된 패킷은 소켓 API(210)로 입력된다. 상기 소켓 API(210)로 입력되는 패킷은 소켓 API(210)의 송수신버퍼(312)에 의해 받아 들여진다(제416단계).
그리고, 상기 소켓 API(210)의 제어부(300)는 송수신버퍼(312)에 있는 패킷에 구분자(;)가 있는지를 판단한다. 본 실시예서는 제어부(300)가 전송되어온 패킷에 구분자(;)가 있는지 여부를 판단하지만, 상기 포인트부(318)가 구분자(;)의 유무를 판단할 수 있음은 물론이다(제418단게).
상기 제418단계의 판단 결과, 패킷에 구분자(;)가 없는 경우에는, 완전한 하나의 메시지로서 도달될 때까지 패킷을 고유버퍼(314)에 저장해 둔다. 그리고 패킷을 상기 고요버퍼(314)에 저장하는 방법은 각 NE별 그리고, 각 NE에 대한 메시지의 종류별(event메시지인지 또는 response메시지인지)로 저장하는 방법에 의한다.
즉, 상기 제418단계의 판단 결과, 패킷에 구분자(;)가 없는 경우, 패킷이 어느 NE(230)에서 왔는지를 판단하고(제422단계), 각각의 NE(230)에 대한 메시지가 event인지 또는 response인지를 판단한다(제424단계).
상기에서 설명한 바와 같이, 패킷이 어느 NE에서 왔는지의 판단은, 각 NE마다 고요한 커넥션 아이디에 의하며, 패킷이 event인지 또는 response인지의 판단은 port 번호에 의해서 알 수 있다.
상기 제422단계와 제424단계의 판단 결과, 패킷 각각에 대한 고유버퍼(314)를 생성하고, 상기 고유버퍼(314)에 패킷을 저장한다.
예컨대, 패킷의 Connection id가 3이어서 NE3에서 전송되어져 온 패킷이고, 동시에 그 패킷이 response 메시지인 경우, 상기 제어부(300)는 즉시 Connection id 3이고 response 메시지의 고유버퍼(314)(즉, 도 3에 도시된 NE3이고 r로 표시된 버퍼)를 생성하고, 상기 Connection id 3이고 response 메시지의 고유버퍼(314)( 도 3에 도시된 NE3이고 r로 표시된 버퍼)에 상기 패킷을 저장한다.
그리고, 다음에 전송되어져 오는 패킷이 Connection id 5(즉 NE 5)이고, event 메시지인 경우에는 상기 제어부(300)는 즉시 Connection id 5이고 event 메시지의 고유버퍼(314)(즉, 도 3에 도시된 NE5이고 e로 표시된 버퍼)를 생성하고, 상기 Connection id 5이고 event 메시지의 고유버퍼(314)에 상기 패킷을 저장한다.
그리고, 다음에 전송되어져 오는 패킷이 Connection id 3(즉 NE 3)이고, response 메시지인 경우에는, 이미 Connection id 3이고 response 메시지의 고유버퍼(314)가 생성되어 있기 때문에, 새로운 고유버퍼를 생성할 필요는 없고, 따라서 이미 생성해 놓은 Connection id 3이고 response 메시지의 고유버퍼(314)에 상기 패킷을 저장한다.
상기와 같은 과정으로 패킷을 고유버퍼(314)에 저장하다가, 구분자(;)가 있는 패킷이 저장된 경우에는 하나의 메시지가 완성되므로, 상기 제어부(300)는 하나의 메시지가 완성된 경우인지 여부를 판단한다(제428단계).
패킷이 연속적으로 저장되고 결국 구분자(;)가 있는 패킷까지 저장되어서 하나의 메시지가 완성된 경우, 예컨대 Connection id 3이고 response 메시지의 고유버퍼(314)에 저장된 패킷이 하나의 메시지를 완성한 경우, 상기 제어부(300)는 Connection id 3이고 response 메시지의 고유버퍼(314)에 저장된 메시지를 송수신버퍼(312)로 카피(copy)(또는 이동)하고, 상기 Connection id 3이고 response 메시지의 고유버퍼(314)를 프리(free)시키고, connection id를 초기화 시킨다.
즉, 하나의 메시지가 완성된 고유버퍼(314)의 경우, 저장된 메시지를 송수신버퍼(312)로 카피하고, 고유버퍼(314)에 저장되어 있던 메시지를 모두 지우고 메모리에 생성시켰던 고유버퍼(314)까지 모두 지워버린다.
즉, 고유버퍼(314)가 필요한 경우에는 생성시켜서 패킷을 저장시켰다가, 저장된 패킷이 하나의 메시지를 완성한 경우, 메시지를 카피하고, 고유버퍼(314)를 지워버리는 것이다.
다시 말하면, 제어부(300)가 고유버퍼(314)를 생성하고 패킷을 저장하는 방법은 필요한 경우만 버퍼를 생성해서 저장하고 필요 없는 경우는 없애 버리는 동적할당(Dynamic하게 Allocation해서 Assign하는)방법에 의하고 있다.
물론, 상기와 같이 패킷을 메모리에 dynamic하게 assign하게 되면 메모리 손실이 최소로 되게 된다(제430단계,제431단계).
상기와 같이 송수신버퍼(312)로 카피된 하나의 메시지는 상기 EMS(200)로 출력된다(제442단계).
한편, 상기 제418단계의 판단 결과, 패킷에 구분자(;)가 있는 경우에는 제420단계 이후로 이행한다. 상기 패킷에 구분자(;)가 있는 경우라 함은, ① 하나의 패킷만으로 구분자(;)가 있는 경우, ② 하나의 메시지인 경우, ③ 둘 이상의 메시지인 경우가 있다.
제418단계의 판단결과 , 패킷에 구분자(;)가 있는 경우에는 구분자(;)가 있는 패킷이 하나 이상의 메시지를 구성할 수 있는지를 판단한다(제420단계).
상기 제420단계의 판단 결과, 구분자(;) 있는 하나의 패킷이 하나의 메시지를 완성시킬 수 없는 경우(즉, ① 하나의 패킷만으로 구분자(;)가 있는 경우)에는 상기 제422단계로 이행하여 이미 생성되어 있는 고유버퍼(314)에 있는 패킷과 합쳐져서(merging) 하나의 메시지를 완성한다(제422단계 ~ 제431단계).
그리고, 상기 제420단계의 판단 결과, 송수신버퍼(312)가 수신한 패킷이 하나 이상의 메시지를 구성할 수 있는 경우, 구분자(;)의 갯수를 판별한다(제432단계).
상기 제432단계의 판단 결과, 구분자(;)가 하나 있는 경우(즉, 하나의 메시지만이 송수신버퍼(312)에 수신된 경우)에는, 메시지의 종류(즉, event인지 message)만을 판단한(제434단계) 후, 바로 메시지를 EMS(200)로 출력시킨다(제442단계).
그리고, 상기 제432단계의 판단 결과, 둘 이상의 구분자(;)를 가지고 있는 경우(즉, 둘 이상의 메시지를 송수신버퍼(312)에 수신된 경우)에는 우선 제어부(300)가 임시버퍼(316)를 생성시킨(동적(dynamic)으로 할당(allocation)) 후, 연속적으로 붙어 있는 메시지를 분리하는 과정을 수행한다.
즉, 포인트부(318)는 송수신버퍼(312)에 있는 둘 이상의 메시지 중에서 첫번째 메시지(즉, 첫 구분자(;)까지의 메시지)만을 분리하고, 첫번째 메시지를 제외한 나머지 메시지는 임시버퍼(316)에 저장한다(제438단계).
상기 제438단계에서, 포인트부(318)가 첫번째 메시지만을 분리하는 과정을 구체적으로 기술한다.
먼저, 상기 포인트부(318)가 첫번째 메시지를 분리하기 위해서는 먼저, 첫번째 구분자(;)를 찾아야 한다. 즉, 상기 포인트부(318)는 첫번째 구분자(;)까지 모든 데이터와 비교과정을 거치면서 데이터를 스캐닝하고, 상기 스캐닝은 비교과정에서 구분자(;)가 나올 때까지 행한다.
그리고, 상기 비교과정은 구분자(;)를 기록하고 있는 포인터부(318)가 읽어 들인 데이터가 자신이 기록하고 있는 구분자(;)와 같은 지를 판단하고 다른면 다음 단계로 넘어가는 과정으로 구성된다.
상기와 같이 포인트부(318)가 연속적으로 붙어 있는 메시지 중에서 첫번째 메시지를 분리하면, 상기 제어부(300)는 분리된 하나의 메시지의 메시지 종류 (event인지 또는 response인지)를 구분 판단하고(제440단계), 분리된 하나의 메시지를 상기 EMS(200)로 출력한다(제442단계).
상기 포인트부(318)가 첫번째 메시지를 분리하고 나면, 포인트부(318)는 상기 임시버퍼(316)에 남아 있는 메시지 중에서 첫번째 메시지의 첫 데이터를 포인팅하고 있는데, 상기 제436단계에서 행한 비교과정을 수행하면서 임시버퍼 (316)에 저장되어 있는 메시지중에서 첫번째 구분자(;)를 찾아서 분리한다(제446단계).
그리고, 임시버퍼(316)에서 분리된 메시지는 송수신버퍼(312)로 이동하여 상기 제440단계에서 제442단계를 수행한다.
상기 제446단계, 제448단계, 제440단계, 그리고 제442단계는 임시버퍼(316)에 저장된 메시지가 모두 EMS(200)로 출력될 때까지 반복해서 수행된다.
그리고, 임시버퍼(316)에 메시지가 저장되어 있지지 여부를 판단하여(제444단계), 저장된 메시지가 없는 경우에는 상기 제어부(300)는 임시버퍼(316)를 지워버린다(free하게 한다)(제450단계).
따라서, 상기 임시버퍼(316)의 생성과 생성된 임시버퍼(316)에 메시지를 저장시키는 방법도 상기 고유버퍼(314)의 경우와 마찬가지로 dynamic하게 allocation되고 또한 assign된다.
상기에서 설명한 바와 같이, 본 발명에 의한 메시지 전송 방법은, 연속적으로 붙어서 전송되어져 오는 데이터를 하나씩 분리해서, 즉 구분자(;)를 기준으로 해서, 이산적으로 데이터를 전달하는 것을 특징으로 하고 있다.
상기에서 기술한 본 발명의 실시예는 본 발명의 기술적 사상의 일실시예에 불과하며, 동업계의 통상의 기술자에 있어서는 본 발명의 기술적인 사상내에서 다른 변형된 실시가 가능함은 물론이다.
상기와 같은 구성과 동작 과정을 가지는 본 발명인 EMS와 NE간에 데이터 처리장치 및 처리방법은 다음과 같은 효과가 기대된다.
우선, NE로 부터 연속적으로 붙어서 전송되어져 오는 메시지를 소켓 API에서 하나의 메시지씩 분리하여 전송함으로서, 처리되지 못하게 되는 메시지가 없게 되어서, 입력되는 모든 메시지를 처리할 수 있는 효과가 기대된다.
둘째, 메시지를 처리하는 과정에서 소켓 API는 버퍼링과 관련하여 메모리를 dynamic하게 allocation하고, 동시에 assign함으로서, 많은 데이터 처리과정에서 발생될 수 있는 메모리 손실을 예방할 수 있는 효과도 기대된다.
도 1은, 종래 기술에 의한 EMS와 NE간의 데이터 전송을 나타내는 시스템의 블록구성도.
도 2는, 본 발명에 의한 EMS와 NE간의 데이터 전송을 나타내는 시스템의 블록구성도.
도 3은, 본 발명에 의한 소켓 API의 상세 블록 구성도.
도 4는, 본 발명에 의한 EMS와 NE간의 데이터 전송 방법을 나타내는 순서도.
*도면의 주요부분에 대한 부호의 설명*
100,200 : EMS 110,210 : 소켓 API
120,220 : COSI 130,230 : NE
300 : 제어부 112,312 : 송수신버퍼
314 : 고유버퍼 316 : 임시버퍼
318 : 포인터부
Claims (9)
- TCP/IP프로토콜과 TL1 데이터 포멧을 기반으로 하는 네트웍 시스템에 있어서,응답메시지 또는 이벤트메시지를 출력하는 하나 이상의 NE와, 상기 NE에서 출력되는 메시지를 인터페이스하는 COSI와, 상기 COSI에 의해 인터페이스된 메시지를 구분자(;)로 종결되는 하나의 메시지씩 분리하고 그 분리된 메시지의 종류를 판단한 다음 하나씩 이산적으로 출력하는 소켓 API와, 상기 소켓 API로부터 출력된 메시지를 기초로 하여 상기 다수의 NE의 유지 ·보수 ·관리 기능을 수행하는 EMS를 포함하는 것을 특징으로 하는 EMS와 NE간의 데이터 전송장치.
- 제 1 항에 있어서, 상기 소켓 API는 COSI에 의해 인터페이스된 패킷신호를 상기 EMS로 출력하기 전에 하나의 분리된 메시지로 저장하는 송수신버퍼와, 상기 송수신버퍼로부터 입력되는 패킷신호가 구분자(;)를 갖고 있는지의 여부, 몇개의 구분자(;)를 갖고 있는지의 여부, 어느 NE에서 전송되는지의 여부 및 이벤트메시지인지 응답메시지인지의 여부를 확인하고 버퍼를 생성하는 제어부와, 상기 제어부의 확인결정에 따라, 패킷신호에 구분자(;)가 둘 이상 있을 경우 상기 메시지를 구분자(;)로 종결되는 하나의 메시지로 분리하는 포인트부를 포함하는 것을 특징으로 하는 EMS와 NE간의 데이터 전송장치.
- 제 2 항에 있어서, 상기 소켓 API는 패킷신호가 구분자(;)를 가지고 있지 않거나 또는 하나 이상의 메시지를 구성할 수 없을 경우 상기 제어부에 의해 생성되고 NE별 각각에 대해 이벤트 또는 응답 메시지별로 구분 저장하는 고유버퍼를 더 포함하는 것을 특징으로 하는 EMS와 NE간의 데이터 전송장치.
- 제 2 항에 있어서, 상기 소켓 API는 상기 패킷신호에 둘 이상의 메시지가 있는 경우 상기 제어부에 의해 생성되고, 상기 포인트부에 의해서 분리된 하나의 메시지를 제외한 나머지 메시지를 저장하는 임시버퍼를 더 포함하는 것을 특징으로 하는 EMS와 NE간의 데이터 전송장치.
- 제 3 항에 있어서, 상기 제어부의 고유버퍼 생성은 동적(dynamic)으로 할당(allocation)되는 것을 특징으로 하는 EMS와 NE간의 데이터 전송장치.
- 제 4 항에 있어서, 상기 제어부의 임시버퍼 생성은 동적(dynamic)으로 할당(allocation)되는 것을 특징으로 하는 EMS와 NE간의 데이터 전송장치.
- NE에서 출력된 패킷을 수신하여 구분자(;)가 있는지 여부와 구분자가 몇 개인지의 여부를 판단하는 제1단계와; 상기 제1 단계의 판단에 따라 하나의 구분자(;)로 종결되는 하나의 메시지를 구성하는 제2단계와; 상기 제2단계에 의해 구성된 하나의 메시지가 이벤트 또는 응답 메시지인지의 여부를 판단하는 제3단계와; 상기 제3단계에 의해 판단된 하나의 메시지를 EMS로 출력하는 제4단계로 구성되는 것을 특징으로 하는 EMS와 NE간의 데이터 전송 방법.
- 제 7 항에 있어서, 상기 제 2 단계에는 제 1 단계의 판단 결과에 따라 패킷신호에 둘 이상의 구분자(;)로 종결되는 둘 이상의 메시지가 포함된 경우 상기 메시지를 구분자(;) 단위로 분리하여 하나의 메시지를 구성하는 것을 특징으로 하는 EMS와 NE간의 데이터 전송 방법.
- 제 7 항에 있어서, 상기 제 2 단계에는 제 1 단계의 판단 결과에 따라 패킷신호에 구분자(;)가 없는 경우 상기 패킷을 NE별 각각에 대해, 구분자(;)가 있는 패킷이 수신될 때까지 이벤트 또는 응답 메시지별로 구분 저장하여 하나의 메시지를 구성하는 것을 특징으로 하는 EMS와 NE간의 데이터 전송 방법.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2002-0051351A KR100473270B1 (ko) | 2002-08-29 | 2002-08-29 | 이엠에스와 엔이간의 데이터 전송장치와 전송방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2002-0051351A KR100473270B1 (ko) | 2002-08-29 | 2002-08-29 | 이엠에스와 엔이간의 데이터 전송장치와 전송방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20040019678A KR20040019678A (ko) | 2004-03-06 |
KR100473270B1 true KR100473270B1 (ko) | 2005-03-10 |
Family
ID=37324442
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR10-2002-0051351A KR100473270B1 (ko) | 2002-08-29 | 2002-08-29 | 이엠에스와 엔이간의 데이터 전송장치와 전송방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100473270B1 (ko) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR19990061505A (ko) * | 1997-12-31 | 1999-07-26 | 유기범 | 망관리 지역센터에서 트랜잭션 랭귀지 1 파싱 처리방법 |
KR20020040469A (ko) * | 2000-11-24 | 2002-05-30 | 구자홍 | 전송 시스템에서의 대국 티엘 1 관리 메시지 처리 장치 |
KR20040001291A (ko) * | 2002-06-27 | 2004-01-07 | 엘지전자 주식회사 | 망 요소 관리 시스템에서 장치 연동 서버 및 방법 |
-
2002
- 2002-08-29 KR KR10-2002-0051351A patent/KR100473270B1/ko not_active IP Right Cessation
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR19990061505A (ko) * | 1997-12-31 | 1999-07-26 | 유기범 | 망관리 지역센터에서 트랜잭션 랭귀지 1 파싱 처리방법 |
KR20020040469A (ko) * | 2000-11-24 | 2002-05-30 | 구자홍 | 전송 시스템에서의 대국 티엘 1 관리 메시지 처리 장치 |
KR20040001291A (ko) * | 2002-06-27 | 2004-01-07 | 엘지전자 주식회사 | 망 요소 관리 시스템에서 장치 연동 서버 및 방법 |
Non-Patent Citations (1)
Title |
---|
Document 1998.11.10 A. * |
Also Published As
Publication number | Publication date |
---|---|
KR20040019678A (ko) | 2004-03-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0918282B1 (en) | Server and client | |
KR100359960B1 (ko) | 레프리카의 동일성을 유지하는 컴퓨터와 데이타 공유 시스템 및 그 방법 | |
US7672005B1 (en) | Methods and apparatus for scan block caching | |
US6975595B2 (en) | Method and apparatus for monitoring and logging the operation of a distributed processing system | |
US5227778A (en) | Service name to network address translation in communications network | |
CN101147381B (zh) | 数据处理装置 | |
US8082364B1 (en) | Managing state information in a computing environment | |
US20050125798A1 (en) | Method and apparatus for load balancing a distributed processing system | |
JP3149926B2 (ja) | アドレス変換方法及び装置 | |
CN112965839B (zh) | 消息传输方法、装置、设备及存储介质 | |
US6421317B1 (en) | Method and apparatus for an automatic load balancing and back-up of a multi-users network | |
JP7097427B2 (ja) | データ処理システム、及びデータ処理方法 | |
US20080195671A1 (en) | Device Management System Using Log Management Object and Method for Generating and Controlling Logging Data Therein | |
KR102226915B1 (ko) | 소프트웨어 정의 네트워크에서 플로우 룰 데이터베이스를 운영하는 방법, 장치 및 컴퓨터 프로그램 | |
US20080212505A1 (en) | Method and receiving apparatus for processing arq block in wibro system | |
KR100473270B1 (ko) | 이엠에스와 엔이간의 데이터 전송장치와 전송방법 | |
CN115665055A (zh) | 一种报文处理方法及装置 | |
EP1404069A2 (en) | Network relaying device and network relaying method | |
JPH11252165A (ja) | メール削除機能付き電子メールシステム | |
CN109104465B (zh) | 多方文件传输方法及坐席管理系统 | |
JP3839967B2 (ja) | 同報通信方法および通信装置 | |
US7003557B1 (en) | Method and system for racing control of operations in system management | |
US20240219881A1 (en) | Method of communication with a programmable logic controller system | |
US20020143882A1 (en) | Method of and device for exchanging electronic documents, and computer product | |
CN101282201A (zh) | 一种通讯设备中消息监控的方法和设备 |
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: 20100127 Year of fee payment: 6 |
|
LAPS | Lapse due to unpaid annual fee |