KR100489686B1 - 소프트스위치 개방형 시스템의 이벤트 처리 방법 - Google Patents

소프트스위치 개방형 시스템의 이벤트 처리 방법 Download PDF

Info

Publication number
KR100489686B1
KR100489686B1 KR10-2003-0001139A KR20030001139A KR100489686B1 KR 100489686 B1 KR100489686 B1 KR 100489686B1 KR 20030001139 A KR20030001139 A KR 20030001139A KR 100489686 B1 KR100489686 B1 KR 100489686B1
Authority
KR
South Korea
Prior art keywords
event
capsule
class
function
posting
Prior art date
Application number
KR10-2003-0001139A
Other languages
English (en)
Other versions
KR20040063646A (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-2003-0001139A priority Critical patent/KR100489686B1/ko
Priority to US10/747,283 priority patent/US20040158839A1/en
Priority to CNB2004100014462A priority patent/CN1331373C/zh
Publication of KR20040063646A publication Critical patent/KR20040063646A/ko
Application granted granted Critical
Publication of KR100489686B1 publication Critical patent/KR100489686B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/542Event management; Broadcasting; Multicasting; Notifications

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Quality & Reliability (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Telephonic Communication Services (AREA)

Abstract

본 발명은 서로 다른 기계 또는 서로 다른 프로세스간의 이벤트 처리 인터페이스를 OAMP 운영자가 손쉽게 처리할 수 있도록 하는 소프트스위치 개방형 시스템의 이벤트 처리 방법에 관한 것으로서, 하나의 알람 이벤트가 발생되면, 어플리케이션(100)에서 Relim(300)으로 전송하기 위해, 각 캡슐(100,200,300,X00)들은 이벤트 핸들러(110,210,310,X10)를 포함한 이벤트 관련 클래스, 이벤트 관련 라이브러리, 이벤트 오브젝트의 캡슐간의 포스팅 기능을 수행하는 DataRedirection (130,230,330,X30)관련 클래스 라이브러리를 포함하도록 하고, CM(200) 캡슐은 리모트 서비스를 이용하여 어플리케이션(100)으로부터 전송한 이벤트 오브젝트를 수신하고, Relim(300) 캡슐은 리모트 서비스를 이용하여 이벤트를 포스팅하고, 만약 발생된 이벤트 종류가 알람/폴트가 아닌 임의의 이벤트이면, 해당 이벤트 처리 캡슐(예컨대, X00)로 이벤트를 재포스팅하는 구조로 이루어져, 어플리케이션 사용자 측에서 소프트웨어를 구현하기가 용이하고, 자신의 캡슐에 포함된 이벤트 프로세싱 기능을 이용하여 한번의 호출로 해당 캡슐로 이벤트 전송이 가능하여 해당 캡슐과의 별도의 인터페이스가 필요없는 장점이 있다.

Description

소프트스위치 개방형 시스템의 이벤트 처리 방법 {Method for processing event of softswitch}
본 발명은 소프트스위치 개방형 시스템의 이벤트 처리 방법에 관한 것으로서, 더욱 상세하게는 서로 다른 기계 또는 서로 다른 프로세스간의 이벤트 처리 인터페이스를 OAMP 운영자가 손쉽게 처리할 수 있도록 하는 방법에 관한 것이다.
향후 가입자망, 공중전화망, 기업통신망 등의 다양한 통신서비스들을 연동시키기 위한 통합서비스가 제공될 추세이며, 서로 다른 네트워크간의 연동은 게이트웨이에서 수행되며 이러한 다양한 서비스들을 처리할 수 있는 MG(미디어 게이트웨이)가 필요하다.
이러한 미디어 게이트웨이는 다양한 시그널링 프로토콜 및 시그널링 제어를 제공하여야 하는데, 이러한 기능을 통합적으로 제공하는 장비를 소프트스위치라 한다.
소프트스위치는 미디어 게이트(MG) 들과 IP 단말기들에 부가서비스를 제공하고 가입자와 서비스 사업자에 따라 호처리를 수행하여 각 호에 대한 적절한 서비스를 제공한다. 소프트스위치는 개방형 구조를 바탕으로 개발되고, 호 제어와 미디어 전송부분이 분리되어 상호간의 API(Application Program Interface)와 프로토콜이 정의되어 있다.
이러한 소프트스위치 개방형 시스템에서 각종 이벤트를 처리하기 위해서는 별도의 이벤트 프로세싱이 요구된다.
이하, 이벤트 중 장애 이벤트에 해당하는 알람/폴트 이벤트를 예를 들어 종래의 이벤트 처리방법을 설명한다.
종래에는 장애(알람/폴트) 이벤트를 분산처리환경에서 제공하는 그룹 서비스 기능을 이용하여 처리한다.
모듈간 그룹 서비스 기능을 사용하기 위해서, 어플리케이션 사용자(application user)는 모듈 간 통신을 가능하도록 하는 클라이언트 인터페이스 부분과 서버 인터페이스를 구현하여야 하며, 이 두 클래스들은 그룹 서비스에서 제공하는 다양한 클래스들을 상속받아야 기능구현을 할 수 있으며, 그룹 서비스 기능에서 제공하는 다양한 클래스 사용법을 숙지하여야 한다.
그리고 어플리케이션 사용자는 클라이언트와 서버간에 전송될 오브젝트 클래스를 설계하여야 하고, 그룹 서비스의 여러 관련 클래스들을 상속받아 그룹 서비스 전송단위 클래스인 DTN 메시지 형식으로 변경하여야 하기 때문에 모듈 담당자들이 구현해야할 부분이 많아져 그룹 서비스를 주로 사용하지 않는 OAMP(Operations,Administration,Maintenance and Performance)운영자나 CP(Call Processor) 운영자들이 사용하기에 어려운 부분이 많다.
따라서 본 발명은 상기와 같은 문제점을 해결하기 위해 안출된 것으로서, 운영자가 이벤트를 관리함에 있어서 이벤트 마스터 모듈로 포스팅된 이벤트에서 해당 캡슐 관련 이벤트 오브젝트만을 각 해당 캡슐로 재포스팅하고, 이벤트 프로세싱 기능과 연관하여 필요한 이벤트만을 해당 캡슐의 클래스로 포스팅함으로써 해당 핸들링 클래스를 호출하여 처리하는 기능을 제공하는데 그 목적이 있다.
이러한 목적을 달성하기 위한 본 발명에 따른 소프트스위치 개방형 시스템의 이벤트 처리 방법은 각 어플리케이션에서 이벤트가 감지되면, 리모트 서비스 발생함수를 호출하고, 리모트 서비스에 의해 이벤트가 이벤트 프로세싱 마스터로 지정된 CM(Configuration Management)으로 전송(포스팅)되는 제 1 단계; CM은 포스팅된 이벤트를 어느 기능의 모듈로 포스팅하여야 할지를 판단하고, 포스팅할 모듈이 판정되면 모듈내에서 실질적으로 이벤트를 처리하는 클래스를 판단하여, 리모트 서비스 발생함수를 호출하여 이벤트 종류에 해당하는 기능을 처리하는 해당 모듈의 클래스로 이벤트를 재포스팅하는 제 2 단계; 및 해당 모듈의 클래스로 포스팅된 이벤트를 처리하기 위해 해당 이벤트 핸들링 클래스를 호출하여 처리하는 제 3단계로 이루어지는 특징이 있다.
상기 제 1단계는 어플리케이션에서 이벤트를 감지하는 단계; 이벤트핸들러에서 이벤트를 구성하여 issueEvent를 호출하는 단계; 쓰레드(Thread)를 찾기 위해 eventTransport를 호출하는 단계; DataTransport에 이벤트 포스팅을 요구하는 단계; DataConsumer는 이벤트를 CM(Control Master)으로 포스팅하기 위해 리모트 서비스 발생 함수를 호출하는 단계; 및 리모트 서비스에 의해 이벤트가 CM의 DataConsumer로 포스팅되는 단계를 더 포함하여 이루어지는 특징이 있다.
또한 상기 제 2단계는 이벤트를 DataQueue에 포스팅하는 단계; 이벤트를 eventThread로 전송하는 단계; Thread는 또 다른 이벤트를 수신하기 위해 무한 루프를 수행하고, 프로세스는 DataTransport 클래스로 overriding하는 단계; 이벤트 오브젝트의 포스팅을 요구하는 단계; 이벤트가 어느 기능으로 포스팅되어야 하는지를 판단하는 단계; 포스팅될 클래스가 판정되면, 필터를 통해 이벤트 오브젝트가 해당 캡슐에서 사용되는지의 유효성을 판단하는 단계; 이벤트를 해당 캡슐로 포스팅하기 위해 리모트 서비스 발생 함수를 호출하는 단계: 및 리모트 서비스에 의해 이벤트가 해당 캡슐의 DataConsumer로 포스팅되는 단계를 더 포함하여 이루어지는 특징이 있다.
이하, 본 발명이 속하는 분야에 통상의 지식을 지닌자가 본 발명을 용이하게 실시할 수 있도록 본 발명의 바람직한 실시 예를 첨부된 도면을 참조하여 상세히 설명한다.
먼저 본 발명에서 자주 등장하는 용어들에 대해 다음과 같이 정의한다.
1. 캡슐 : 모듈 단위의 실행 결과 파일(a.out)을 의미한다.
2. CM(Configuration Management) : 소프트스위치 OAMP 캡슐로서 노드별 캡슐의 등록, 삭제 및 관리 등의 기능을 수행하며, 이벤트 프로세싱의 마스터로 동작한다.
3. Relim : Reliability module로서 소프트스위치 시스템에서 발생하는 alarm, fault 등의 처리를 수행하는 캡슐이다.
4. 포스팅(posting) : 서로 다른 캡슐에 존재하는 데이터큐(dataqueue)로 오브젝트(object)를 위치시키는 기능이다.
5. 리모트 서비스(remote service) : 서로 다른 캡슐간에 통신을 위한 그룹 서비스의 일종으로 OAMP 환경하에서 캡슐간의 이벤트통신을 지원한다. 리모트 서비스를 사용하기 위해서 통신간 캡슐은 반드시 동일한 클래스 라이브러리를 링크하여 컴파일되어야 하며 두 캡슐간 마스터/슬레이브 관계를 반드시 정의해 주어야 한다. 마스터 false일 경우 true로 세팅되어 있는 클래스 라이브러리를 링크하고 있는 캡슐로 오브젝트가 전송된다. 리모트 서비스는 주로 OAMP 어플리케이션간의 인터페이스에 사용된다.
6. DataRedirection : OAMP에서 제공하는 프레임 워크로 서로 다른 캡슐간의 오브젝트 전송을 위해 데이터큐간의 포스팅 기능을 제공한다. DataRedirection 기능을 사용하고자 하는 기능은 반드시 DataConsumer의 클래스를 구성하여야 한다.
이하, 여러 가지 이벤트 중 알람/폴트 이벤트를 예를 들어 본 발명의 구성을 설명한다.
도 1은 소프트스위치에서 이벤트(특히 알람/폴트 이벤트)를 각 해당 캡슐로 포스팅하기 위한 이벤트 처리 블록에 관한 개략도이다.
도 1을 참조하면, 이벤트 처리를 위해 이벤트가 각 캡슐로 포스팅하는데 필요한 구성요소는, 이벤트가 감지되면 이벤트를 발생시키는 어플리케이션(110), 이벤트프로세스의 마스터로서의 기능을 수행하는 CM(Configuration Management)(200), 이벤트중 장애(알람/폴트) 이벤트를 최종 수신하여 처리하는 Relim(Reliability Module)(300), 다른 이벤트에 대해 이벤트를 최종 수신하여 처리하는 해당 캡슐(X00)로 구성된다.
상기와 같이 구성된 상태에서, 하나의 알람 이벤트가 발생되면, 어플리케이션(100)에서 Relim(300)으로 전송하기 위해, 각 캡슐(100,200,300,X00)들은 이벤트 핸들러(110,210,310,X10)를 포함한 이벤트 관련 클래스, 이벤트 관련 라이브러리, 이벤트 오브젝트의 캡슐간의 포스팅 기능을 수행하는 DataRedirection (130,230,330,X30)관련 클래스 라이브러리를 포함해야 한다.
CM(200) 캡슐은 리모트 서비스를 이용하여 어플리케이션(100)으로부터 전송한 이벤트 오브젝트를 수신하기 위해 이벤트 핸들러(210)클래스를 master=true로 세팅하며, 이벤트 오브젝트가 filter(250)에 필터링되어 알람/폴트 이벤트로 판별될 경우 Relim(300) 캡슐로 재포스팅하기 위해 RelimRemoteConsumer(220)의 master를 false로 세팅한다.
Relim(300) 캡슐은 알람/폴트 이벤트 포스팅을 위해 이벤트 관련 클래스 및 라이브러리, DataRedirection(330) 관련 클래스, 그리고 알람/폴트 이벤트의 판단 및 필터링 기능을 수행하는 RelimRemoteConsumer(320) 관련 클래스 라이브리러로 구성된다.
Relim(300) 캡슐은 이벤트를 수신하기 위해, 리모트 서비스를 이용하며 이벤트 핸들러(310)의 master를 false로 세팅하고, RelimRemoteConsumer(320)의 master를 true로 세팅한다. CM(200) 캡슐의 리모트 서비스를 위한 마스터 플래그 세팅과는 정반대의 정의된다.
만약 발생된 이벤트 종류가 알람/폴트가 아니면, CM(200) 캡슐은 리모트 서비스를 이용하여 어플리케이션(100)으로부터 전송한 이벤트 오브젝트를 수신하기 위해 이벤트 핸들러(210) 클래스를 master=true로 세팅하며, 이벤트 오브젝트가 filter(250)에 필터링되어 해당 이벤트 처리 캡슐(예컨대, X00)로 재포스팅하기 위해 해당 이벤트 RemoteConsumer(220)의 master를 false로 세팅한다.
임의의 이벤트 처리 캡슐(X00) 캡슐은 해당 이벤트 포스팅을 위해 이벤트 관련 클래스 및 라이브러리, DataRedirection(X30) 관련 클래스, 그리고 해당 이벤트의 판단 및 필터링 기능을 수행하는 해당 이벤트 RemoteConsumer(X20) 관련 클래스 라이브리러로 구성된다.
임의의 이벤트 처리 캡슐(X00) 캡슐은 이벤트를 수신하기 위해, 리모트 서비스를 이용하며 이벤트 핸들러(X10)의 master를 false로 세팅하고, 해당 이벤트 RemoteConsumer(X20)의 master를 true로 세팅한다.
이하, 상기의 알람/폴트 이벤트 관련 클래스 구성관계를 설명하기로 한다.
도 2는 이벤트 중 장애(알람/폴트) 이벤트를 프로세싱하기 위한 클래스 구성 및 상속 관계를 정의한 도면이다.
도 2를 참조하면, 알람/폴트 이벤트를 Relim 캡슐로 포스팅하기 위해서 DataRedirection 프레임 워크(FW1)의 DataConsumer 클래스(C11)를 상속받는 RelimRemoteConsumer 클래스(C1)와 필터 프레임 워크(FW2)의 필터 클래스(C21)를 상속받는 RelimFilter 클래스(C2)와 DOD(Dynamic Object Definition) 클래스(C31)를 상속받는 RelimEventDefinition 클래스(C3)로 구성된다.
각 알람 이벤트를 처리하기 위한 RelimConsumer 프레임 워크 클래스들의 각 기능은 다음과 같다.
RelimFilter(C2)는 필터 프레임 워크(FW2)의 필터 클래스(C21)를 상속받아 CM(200)으로 최초 포스팅된 이벤트 오브젝트가 어느 DataConsumer에서 사용되는지를 판단한다. RelimFilter(C2)는 CM(200)에 포스팅된 이벤트 정보중 알람/폴트 이벤트 오브젝트가 RelimRemoteConsumer(C1)에서 처리되도록 필터링한다.
그리고 Relim 캡슐 동작시 RelimFilter(C2)도 RelimRemoteConsumer(C1) 정보와 함께 DB에 한 쌍으로 저장되어 이벤트 정보 수신시에 사용한다.
RelimEventDefinition(C3)은 Reli-events-dods.ini 파일에 정의된 알람/폴트 오브젝트들을 RelimFilter(C2)에서 필터링시 판별 데이터로 사용한다.
현재 소프트스위치에서 사용되고 있는 알람/폴트 오브젝트 리스트는 표 1과 같다.
Event Name DetectApplication Event Description
E_AMStorageLowAlert Accoserv 과금 디스크 점유율이 임계값 이상 초과할 경우
NedeProcessorFail CM 소프트스위치 구성 노드들의 장애시
CapsuleProcessorFail CM 소프트스위치 구성 캡슐 장애시
NECommunicationFailure nCM 소프트스위치와 연동하는 타 시스템 (AGW/TGW/SS)장애시
E_ChaFileDumpFail AccoServ 과금 파일 덤프 실패시
E_CPU_Overload PaManager CPU 오버로드 사용율이 임계값 초과시
E_BSLinkFail AccoServ 과금센터와의 링크 장애시
E_CGLinkFail AccoServ 과금 게이트웨이와의 링크 장애시
이하, 실제로 알람/폴트 이벤트가 발생되는 경우의 각 캡슐들간의 포스팅과정을 설명하기로 한다.
먼저, CM(200) 캡슐은 알람/폴트 이벤트 뿐만 아니라, 모든 이벤트에 대해 포스팅을 할 수 있도록 이벤트 쓰레드(thread)를 생성한다.
도 3은 알람/폴트 이벤트 포스팅을 위한 쓰레드 생성 및 준비 과정에 관한 도면이고, 도 4는 장애 이벤트 캡슐에서 해당 이벤트를 필터링하여 해당 캡슐에 등록하는 과정에 관한 도면이다.
이중 알람/폴트 이벤트를 예를 들어 설명하면, 도 3에 도시된 바와 같이, RelimRemoteConsumer의 마스터 캡슐인 Relim(300) 캡슐이 master로 되어 있는지를 판단하여(T1), master가 true로 되어 있으면 자신의 이벤트 오브젝트를 처리할 수 있도록 독립적인 쓰레드를 생성할 것을 요구한다(T2). RelimRemoteConsumer의 parent 클래스인 DataRedirection 프레임 워크의 DataConsumer는 RelimRemoteConsumer를 위한 이벤트 포스팅 DataQueue를 생성하며(T3), RelimRemoteConsumer의 DataQueue에 이벤트가 포스팅될 때 이를 실시간으로 처리하기 위한 멤버 함수 프로세스를 실행시킨다(T4,T5).
Relim(300) 캡슐의 DataQueue에 이벤트 오브젝트가 포스팅될 때 RelimRemoteConsumer에 오버라이딩시키기 위해 DataQueue에 오브젝트가 포스팅되었나를 검사한다.
상기와 같이 쓰레드가 생성되면, 도 4에 도시된 바와 같이, RelimRemoteConsumer는 Relim(300) 캡슐에 존재하는 이벤트 핸들러(310)를 이용하여 이벤트가 사용하고 있는 DataTransport에 RelimRemoteConsumer와 RelimFilter를 등록요청한다(P1). 이들 정보는 이벤트 프로세싱 기능의 마스터 캡슐인 CM(200)에 등록되기 위해 리모트 서비스를 이용하여(P2), CM(200)의 DataRedirection 프레임 워크로 보내지며 CM(200)의 이벤트 프로세싱 기능은 Relim(300) 캡슐에서 요구한 RelimDataConsumer를 등록하며(P3), 알람/폴트 이벤트 오브젝트를 필터링할 수 있도록 RelimFilter를 등록한다(P4).
RelimFilter는 CM(200) 캡슐의 이벤트 프로세싱 기능에 이벤트 오브젝트가 포스팅될 경우, 이 이벤트 오브젝트가 DataConsumer를 상속받은 클래스중 어느 기능에서 사용될 지를 결정한다. 알람/폴트 이벤트는 RelimFilter에 의해서 RelimRemoteConsumer에서 사용된다.
이하, 어플리케이션에서 CM 캡슐로, CM캡슐에서 Relim 캡슐로 이벤트가 포스팅되는 전 과정을 설명하기로 한다.
도 5a는 본 발명의 바람직한 실시예에 따라 어플리케이션에서 CM으로 이벤트를 포스팅하는 과정에 관한 흐름도이고, 도 5b는 본 발명의 바람직한 실시예에 따라 CM에서 Relim 캡슐로 이벤트를 재포스팅하는 과정에 관한 흐름도이고, 도 5c는 본 발명의 바람직한 실시예에 따라 Relim 캡슐에서 이벤트 처리과정에 관한 흐름도이다.
도 5a를 참조하면, 어플리케이션(100)에서 CM(200) 캡슐로 이벤트가 포스팅되는 과정(S10)은, 먼저 어플리케이션(100)에서 이벤트를 감지하면(S11), 자신의 캡슐에 존재하는 이벤트핸들러(110)의 issueEvent에 이벤트를 구성하여 호출한다(S12).
이벤트 핸들러(110)는 어플리케이션 캡슐에 존재하는 쓰레드를 찾기 위해 eventTransport를 호출하고(S13), 어플리케이션(100) 캡슐에 생성되어 있는 DataTransport에 이벤트 포스팅을 요구한다(S14).
어플리케이션(100) 캡슐의 DataConsumer는 이벤트를 이벤트 마스터인 CM(200)캡슐로 포스팅하기 위해 리모트 서비스를 발생시키는 receive 함수를 호출한다(S15). 리모트 서비스에 의해 이벤트는 CM(200)에서 처리하도록 CM(200)의 DataRedirection(230)으로 포스팅된다(S16).
도 5b를 참조하면, CM(200)에서 해당 캡슐(X00) 캡슐로 이벤트가 포스팅되는 과정(S20)은, 이벤트를 CM(200)의 이벤트 프로세싱 기능이 생성시킨 DataQueue에 포스팅하고(S21), DataQueue는 할당된 큐(Queue)에 들어온 이벤트를 eventThread로 전송한다(S22).
프로세스는 DataTransport 클래스로 오버라이딩되며 쓰레드(Thread)는 또 다른 이벤트를 수신하기 위해 무한 루프를 수행한다(S23).
CM(200)은 Relim(300)으로 이벤트 오브젝트의 포스팅을 요구하고(S24), CM(200)은 현재 발생한 이벤트가 어느 기능으로 포스팅되어야 하는지를 판단한다(S25).
포스팅될 클래스가 판정되면, 필터(250)를 통해 이벤트 오브젝트가 해당 캡슐에서 사용되는지의 유효성을 판단하여(S26), 이벤트를 해당 캡슐로 포스팅하기 위해 리모트 서비스를 발생시키는 receive 함수를 호출한다(S27). 리모트 서비스에 의해 이벤트는 해당 캡슐의 DataRedirection(X30)으로 포스팅된다(S28).
도 5c를 참조하면, 해당 캡슐(X00)로 포스팅된 이벤트를 처리하는 과정(S30)은, 포스팅된 이벤트의 종류에 따라 해당 이벤트 핸들링 클래스를 호출하여 처리하는데, 만약 포스팅된 이벤트가 알람이면 알람 이벤트 핸들링 클래스를 호출하고, 폴트 이벤트이면 폴트 이벤트 핸들링 클래스를 호출한다.
이상 본 발명의 바람직한 실시예에 대해 상세히 기술되었지만, 본 발명이 속하는 기술분야에 있어서 통상의 지식을 가진 사람이라면, 첨부된 청구 범위에 정의된 본 발명의 정신 및 범위를 벗어나지 않으면서 본 발명을 여러 가지로 변형 또는 변경하여 실시할 수 있음을 알 수 있을 것이다. 따라서 본 발명의 앞으로의 실시예들의 변경은 본 발명의 기술을 벗어날 수 없을 것이다.
이상 설명한 바와 같이, 본 발명에 따라 여러 가지 이벤트 중 장애(알람/폴트)이벤트 인터페이스를 이벤트 프로세싱 기능을 이용하여 구현하면, 어플리케이션 사용자 측에서 구현하기가 용이하고, 어플리케이션 사용자는 정해진 이벤트 포맷대로 데이터를 구성하여 자신의 캡슐에 포함된 이벤트 프로세싱 기능을 이용하여 한번의 호출로 reliability module 캡슐로 이벤트 전송이 가능하여 relim 캡슐과의 별도의 인터페이스가 필요없는 장점이 있다.
또한 알람/폴트 엘리먼트의 추가/삭제가 용이하고, .ini 파일에 정의되어 있는 알람/폴트 이벤트 엘리먼트를 사용하기 때문에 이벤트 추가시 .ini 파일만을 수정하면 알람/폴트 엘리먼트의 추가/삭제가 가능하다. 물론 ini 파일 변경만으로 알람/폴트 이벤트의 데이터 포맷도 변경가능하다.
도 1은 소프트스위치에서 이벤트를 각 해당 캡슐로 포스팅하기 위한 이벤트 처리 블록에 관한 개략도,
도 2는 이벤트 중 장애(알람/폴트) 이벤트를 프로세싱하기 위한 클래스 구성 및 상속 관계를 정의한 도면,
도 3은 알람/폴트 이벤트 포스팅을 위한 쓰레드 생성 및 준비 과정에 관한 도면,
도 4는 장애 이벤트 캡슐에서 해당 이벤트를 필터링하여 해당 캡슐에 등록하는 과정에 관한 도면,
도 5a는 본 발명의 바람직한 실시예에 따라 어플리케이션에서 CM으로 이벤트를 포스팅하는 과정에 관한 흐름도,
도 5b는 본 발명의 바람직한 실시예에 따라 CM에서 Relim 캡슐로 이벤트를 재포스팅하는 과정에 관한 흐름도,
도 5c는 본 발명의 바람직한 실시예에 따라 Relim 캡슐에서 이벤트 처리과정에 관한 흐름도.
<도면의 주요 부분에 대한 부호 설명>
100 : 어플리케이션 200 : Configuration Management(CM)
300 : Reliability Module(Relim)
110, 210, 310, X10 : 이벤트 핸들러
220, 320, X20 : RelimRemoteConsumer
130, 230, 330, X30: DataRedirection
240 : DB 250 : Filter

Claims (5)

  1. 각 어플리케이션에서 이벤트가 감지되면, 리모트 서비스 발생함수를 호출하고, 리모트 서비스에 의해 이벤트가 이벤트 프로세싱 마스터로 지정된 CM(Configuration Management)으로 전송(포스팅)되는 제 1 단계;
    CM은 포스팅된 이벤트를 어느 기능의 모듈로 포스팅하여야 할지를 판단하고, 포스팅할 모듈이 판정되면 모듈내에서 실질적으로 이벤트를 처리하는 클래스를 판단하여, 리모트 서비스 발생함수를 호출하여 이벤트 종류에 해당하는 기능을 처리하는 해당 모듈의 클래스로 이벤트를 재포스팅하는 제 2 단계; 및
    해당 모듈의 클래스로 포스팅된 이벤트를 처리하기 위해 해당 이벤트 핸들링 클래스를 호출하여 처리하는 제 3단계로 이루어지는 것을 특징으로 하는 소프트스위치 개방형 시스템의 이벤트 처리 방법.
  2. 제 1항에 있어서, 상기 제 1단계는,
    어플리케이션에서 이벤트를 감지하는 단계;
    이벤트핸들러에서 이벤트를 구성하여 issueEvent를 호출하는 단계;
    쓰레드(Thread)를 찾기 위해 eventTransport를 호출하는 단계;
    DataTransport에 이벤트 포스팅을 요구하는 단계;
    DataConsumer는 이벤트를 CM(Control Master)으로 포스팅하기 위해 리모트 서비스 발생 함수를 호출하는 단계; 및
    리모트 서비스에 의해 이벤트가 CM의 DataConsumer로 포스팅되는 단계를 더 포함하여 이루어지는 것을 특징으로 하는 소프트스위치의 장애 이벤트 처리 방법.
  3. 제 1항에 있어서, 상기 제 2단계는,
    이벤트를 DataQueue에 포스팅하는 제 21단계;
    이벤트를 eventThread로 전송하는 제 22단계;
    Thread는 또 다른 이벤트를 수신하기 위해 무한 루프를 수행하고, 프로세스는 DataTransport 클래스로 overriding하는 제 23단계;
    이벤트 오브젝트의 포스팅을 요구하는 제 24단계;
    이벤트가 어느 기능으로 포스팅되어야 하는지를 판단하는 제 25단계;
    포스팅될 클래스가 판정되면, 필터를 통해 이벤트 오브젝트가 해당 캡슐에서 사용되는지의 유효성을 판단하는 제 26단계;
    이벤트를 해당 캡슐로 포스팅하기 위해 리모트 서비스 발생 함수를 호출하는 제 27단계: 및
    리모트 서비스에 의해 이벤트가 해당 캡슐의 DataConsumer로 포스팅되는 제 28 단계를 더 포함하여 이루어지는 것을 특징으로 하는 소프트스위치의 장애 이벤트 처리 방법.
  4. 제 3항에 있어서, 제 21단계는,
    해당 이벤트 RemoteConsumer의 마스터 캡슐이 master로 되어 있는지를 판단하는 단계;
    master가 true로 되어 있으면 자신의 이벤트 오브젝트를 처리할 수 있도록 독립적인 쓰레드를 생성할 것을 요구하는 단계;
    해당 이벤트 RemoteConsumer의 parent 클래스인 DataRedirection 프레임 워크의 DataConsumer는 해당 이벤트 RemoteConsumer를 위한 이벤트 포스팅 DataQueue를 생성하는 단계; 및
    해당 이벤트 RemoteConsumer의 DataQueue에 이벤트가 포스팅될 때 이를 실시간으로 처리하기 위한 멤버 함수 프로세스를 실행시키는 단계를 더 포함하여 이루어지는 것을 특징으로 하는 소프트스위치 개방형 시스템의 이벤트 처리 방법.
  5. 제 3항에 있어서, 제 25 및 제 26단계는,
    해당 이벤트 캡슐에서 해당 이벤트를 필터링하여 해당 캡슐에 등록하기 위하여,
    해당 이벤트 RemoteConsumer는 해당 이벤트 캡슐에 존재하는 이벤트 핸들러를 이용하여 이벤트가 사용하고 있는 DataTransport에 해당 이벤트 RemoteConsumer와 해당 이벤트 Filter를 등록요청하는 단계;
    이 정보를 이벤트 프로세싱 기능의 마스터 캡슐에 등록되기 위해 리모트 서비스를 이용하는 단계;
    마스터 캡슐의 DataRedirection 프레임 워크로 보내지며 마스터 캡슐의 이벤트 프로세싱 기능은 해당 이벤트 캡슐에서 요구한 해당 이벤트 DataConsumer를 등록하는 단계; 및
    해당 이벤트 오브젝트를 필터링할 수 있도록 해당 이벤트 Filter를 등록하는 단계를 더 포함하여 이루어지는 것을 특징으로 하는 소프트스위치 개방형 시스템의 이벤트 처리 방법.
KR10-2003-0001139A 2003-01-08 2003-01-08 소프트스위치 개방형 시스템의 이벤트 처리 방법 KR100489686B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR10-2003-0001139A KR100489686B1 (ko) 2003-01-08 2003-01-08 소프트스위치 개방형 시스템의 이벤트 처리 방법
US10/747,283 US20040158839A1 (en) 2003-01-08 2003-12-30 Method and system for processing event of softswitch open type system
CNB2004100014462A CN1331373C (zh) 2003-01-08 2004-01-08 用于处理软交换开放式系统的事件的方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2003-0001139A KR100489686B1 (ko) 2003-01-08 2003-01-08 소프트스위치 개방형 시스템의 이벤트 처리 방법

Publications (2)

Publication Number Publication Date
KR20040063646A KR20040063646A (ko) 2004-07-14
KR100489686B1 true KR100489686B1 (ko) 2005-05-17

Family

ID=32822578

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2003-0001139A KR100489686B1 (ko) 2003-01-08 2003-01-08 소프트스위치 개방형 시스템의 이벤트 처리 방법

Country Status (3)

Country Link
US (1) US20040158839A1 (ko)
KR (1) KR100489686B1 (ko)
CN (1) CN1331373C (ko)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8701123B2 (en) * 2005-09-26 2014-04-15 Samsung Electronics Co., Ltd. Apparatus and method for transmitting events occurring in a controlled device to a control device in a web based system
US8255057B2 (en) 2009-01-29 2012-08-28 Nevro Corporation Systems and methods for producing asynchronous neural responses to treat pain and/or other patient conditions
ES2942684T3 (es) 2009-04-22 2023-06-05 Nevro Corp Sistemas de modulación de la médula espinal para inducir efectos parestésicos y anestésicos
EP3228350A1 (en) 2009-04-22 2017-10-11 Nevro Corporation Selective high frequency spinal cord modulation for inhibiting pain with reduced side effects, and associated systems and methods
US9401813B2 (en) * 2009-12-29 2016-07-26 Iheartmedia Management Services, Inc. Media stream monitor
AU2012304370B2 (en) 2011-09-08 2016-01-28 Nevro Corporation Selective high frequency spinal cord modulation for inhibiting pain, including cephalic and/or total body pain with reduced side effects, and associated systems and methods
CN103685790B (zh) * 2012-09-26 2018-02-13 上海斐讯数据通信技术有限公司 呼叫控制业务建立、管理方法及装置和嵌入式网关
US20140269678A1 (en) * 2013-03-15 2014-09-18 Evan Patrick McGee Method for providing an application service, including a managed translation service
US9895539B1 (en) 2013-06-10 2018-02-20 Nevro Corp. Methods and systems for disease treatment using electrical stimulation
US11590352B2 (en) 2019-01-29 2023-02-28 Nevro Corp. Ramped therapeutic signals for modulating inhibitory interneurons, and associated systems and methods

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH114476A (ja) * 1997-06-11 1999-01-06 Nec Corp 移動通信システム及びそのトラヒック収集制御方法並びにトラヒック収集制御プログラムを記録した記録媒体
DE19814162A1 (de) * 1998-03-30 1999-10-07 Siemens Ag Verfahren und Dienstevermittlungseinheit zur Anforderung von Informationen bei ankommenden, an einen Teilnehmer eines Kommunikationsnetzes gerichteten Anrufen
US6594246B1 (en) * 1998-07-10 2003-07-15 Malibu Networks, Inc. IP-flow identification in a wireless point to multi-point transmission system
US6628629B1 (en) * 1998-07-10 2003-09-30 Malibu Networks Reservation based prioritization method for wireless transmission of latency and jitter sensitive IP-flows in a wireless point to multi-point transmission system
US6590885B1 (en) * 1998-07-10 2003-07-08 Malibu Networks, Inc. IP-flow characterization in a wireless point to multi-point (PTMP) transmission system
US6452915B1 (en) * 1998-07-10 2002-09-17 Malibu Networks, Inc. IP-flow classification in a wireless point to multi-point (PTMP) transmission system
US6301609B1 (en) * 1999-07-07 2001-10-09 Lucent Technologies Inc. Assignable associate priorities for user-definable instant messaging buddy groups
US6363424B1 (en) * 1999-09-01 2002-03-26 Lucent Technologies, Inc. Reuse of services between different domains using state machine mapping techniques
US6622016B1 (en) * 1999-10-04 2003-09-16 Sprint Spectrum L.P. System for controlled provisioning of telecommunications services
US6522876B1 (en) * 1999-10-04 2003-02-18 Sprint Spectrum L.P. System for managing telecommunications services through use of customized profile management codes
US6584186B1 (en) * 2000-01-12 2003-06-24 Lucent Technologies Inc. Protecting communications network integrity
WO2001059999A1 (en) * 2000-02-11 2001-08-16 Convergent Networks, Inc. Service level executable environment for integrated pstn and ip networks and call processing language therefor
WO2001063942A2 (en) * 2000-02-25 2001-08-30 Pulsar Communications, Inc. Enhanced telecommunications services
US20020016820A1 (en) * 2000-05-30 2002-02-07 Jordan Du Val Distributing datacast signals embedded in broadcast transmissions over a computer network
US7185094B2 (en) * 2001-03-30 2007-02-27 Sandcherry, Inc. Media session framework using a control module to direct and manage application and service servers
US20030050983A1 (en) * 2001-09-12 2003-03-13 Johnson Paul A. External event processor system and method
US7254109B2 (en) * 2002-07-12 2007-08-07 Baypackets, Inc. Fault tolerant correlation engine method and system for telecommunications networks

Also Published As

Publication number Publication date
CN1331373C (zh) 2007-08-08
KR20040063646A (ko) 2004-07-14
US20040158839A1 (en) 2004-08-12
CN1518388A (zh) 2004-08-04

Similar Documents

Publication Publication Date Title
US7216350B2 (en) Methods and apparatus for call service processing by instantiating an object that executes a compiled representation of a mark-up language description of operations for performing a call feature or service
EP1402702B1 (en) Web-enabled two-way remote messaging facility
US20150350053A1 (en) Method and system for policy-based control in a distributed network
US20110170505A1 (en) Systems and methods for exposing different service facades of an underlying network
US20070008955A1 (en) Methods, systems, and computer program products for triggering SIP nodes to include SS7 routing information in response messages including information requested by SS7 nodes
US20080120599A1 (en) Provision of services over a common delivery platform such as a mobile telephony network
Hyun et al. Interface to network security functions for cloud-based security services
US9294867B2 (en) Provision of services over a common delivery platform such as a mobile telephony network
US8817609B2 (en) Communications system and method for load management
GB2422218A (en) A system for providing services
KR100489686B1 (ko) 소프트스위치 개방형 시스템의 이벤트 처리 방법
US7212621B1 (en) Feature interactions
EP1274011B1 (en) A method and system for routing and logging a request
GB2422221A (en) Provision of services over a common delivery platform such as a mobile telephony network
WO2019238249A1 (en) A method of and a device for operating network gateway services in a service based telecommunications system
US8498302B2 (en) System and method for exposing third party call functions of the intelligent network application part (INAP) as a web service interface
US20060190539A1 (en) Provision of services over a common delivery platform such as a mobile telephony network
US20080133683A1 (en) Method of processing open asynchronous application service event and open web service gateway implementing the same
US7573899B2 (en) Adaptor module
US7203180B2 (en) Initiating service logic
GB2422219A (en) A software development system
CN115150406A (zh) 跨数据中心分布式esb配置管理系统
CN117768924A (zh) 一种网络容灾方法、装置、客户端和业务控制点
WO2001003447A2 (en) An intelligent network management system
Vannucci Extended call control telecommunications web service

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

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee