KR100489686B1 - 소프트스위치 개방형 시스템의 이벤트 처리 방법 - Google Patents
소프트스위치 개방형 시스템의 이벤트 처리 방법 Download PDFInfo
- 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
Links
- 238000012545 processing Methods 0.000 title claims abstract description 36
- 238000000034 method Methods 0.000 title claims abstract description 30
- 239000002775 capsule Substances 0.000 claims abstract description 88
- 238000003672 processing method Methods 0.000 abstract description 4
- 230000005540 biological transmission Effects 0.000 abstract description 3
- 238000010586 diagram Methods 0.000 description 10
- 238000004891 communication Methods 0.000 description 6
- 238000001914 filtration Methods 0.000 description 5
- 238000002360 preparation method Methods 0.000 description 2
- 230000011664 signaling Effects 0.000 description 2
- 239000010749 BS 2869 Class C1 Substances 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/542—Event 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
본 발명은 소프트스위치 개방형 시스템의 이벤트 처리 방법에 관한 것으로서, 더욱 상세하게는 서로 다른 기계 또는 서로 다른 프로세스간의 이벤트 처리 인터페이스를 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)
- 각 어플리케이션에서 이벤트가 감지되면, 리모트 서비스 발생함수를 호출하고, 리모트 서비스에 의해 이벤트가 이벤트 프로세싱 마스터로 지정된 CM(Configuration Management)으로 전송(포스팅)되는 제 1 단계;CM은 포스팅된 이벤트를 어느 기능의 모듈로 포스팅하여야 할지를 판단하고, 포스팅할 모듈이 판정되면 모듈내에서 실질적으로 이벤트를 처리하는 클래스를 판단하여, 리모트 서비스 발생함수를 호출하여 이벤트 종류에 해당하는 기능을 처리하는 해당 모듈의 클래스로 이벤트를 재포스팅하는 제 2 단계; 및해당 모듈의 클래스로 포스팅된 이벤트를 처리하기 위해 해당 이벤트 핸들링 클래스를 호출하여 처리하는 제 3단계로 이루어지는 것을 특징으로 하는 소프트스위치 개방형 시스템의 이벤트 처리 방법.
- 제 1항에 있어서, 상기 제 1단계는,어플리케이션에서 이벤트를 감지하는 단계;이벤트핸들러에서 이벤트를 구성하여 issueEvent를 호출하는 단계;쓰레드(Thread)를 찾기 위해 eventTransport를 호출하는 단계;DataTransport에 이벤트 포스팅을 요구하는 단계;DataConsumer는 이벤트를 CM(Control Master)으로 포스팅하기 위해 리모트 서비스 발생 함수를 호출하는 단계; 및리모트 서비스에 의해 이벤트가 CM의 DataConsumer로 포스팅되는 단계를 더 포함하여 이루어지는 것을 특징으로 하는 소프트스위치의 장애 이벤트 처리 방법.
- 제 1항에 있어서, 상기 제 2단계는,이벤트를 DataQueue에 포스팅하는 제 21단계;이벤트를 eventThread로 전송하는 제 22단계;Thread는 또 다른 이벤트를 수신하기 위해 무한 루프를 수행하고, 프로세스는 DataTransport 클래스로 overriding하는 제 23단계;이벤트 오브젝트의 포스팅을 요구하는 제 24단계;이벤트가 어느 기능으로 포스팅되어야 하는지를 판단하는 제 25단계;포스팅될 클래스가 판정되면, 필터를 통해 이벤트 오브젝트가 해당 캡슐에서 사용되는지의 유효성을 판단하는 제 26단계;이벤트를 해당 캡슐로 포스팅하기 위해 리모트 서비스 발생 함수를 호출하는 제 27단계: 및리모트 서비스에 의해 이벤트가 해당 캡슐의 DataConsumer로 포스팅되는 제 28 단계를 더 포함하여 이루어지는 것을 특징으로 하는 소프트스위치의 장애 이벤트 처리 방법.
- 제 3항에 있어서, 제 21단계는,해당 이벤트 RemoteConsumer의 마스터 캡슐이 master로 되어 있는지를 판단하는 단계;master가 true로 되어 있으면 자신의 이벤트 오브젝트를 처리할 수 있도록 독립적인 쓰레드를 생성할 것을 요구하는 단계;해당 이벤트 RemoteConsumer의 parent 클래스인 DataRedirection 프레임 워크의 DataConsumer는 해당 이벤트 RemoteConsumer를 위한 이벤트 포스팅 DataQueue를 생성하는 단계; 및해당 이벤트 RemoteConsumer의 DataQueue에 이벤트가 포스팅될 때 이를 실시간으로 처리하기 위한 멤버 함수 프로세스를 실행시키는 단계를 더 포함하여 이루어지는 것을 특징으로 하는 소프트스위치 개방형 시스템의 이벤트 처리 방법.
- 제 3항에 있어서, 제 25 및 제 26단계는,해당 이벤트 캡슐에서 해당 이벤트를 필터링하여 해당 캡슐에 등록하기 위하여,해당 이벤트 RemoteConsumer는 해당 이벤트 캡슐에 존재하는 이벤트 핸들러를 이용하여 이벤트가 사용하고 있는 DataTransport에 해당 이벤트 RemoteConsumer와 해당 이벤트 Filter를 등록요청하는 단계;이 정보를 이벤트 프로세싱 기능의 마스터 캡슐에 등록되기 위해 리모트 서비스를 이용하는 단계;마스터 캡슐의 DataRedirection 프레임 워크로 보내지며 마스터 캡슐의 이벤트 프로세싱 기능은 해당 이벤트 캡슐에서 요구한 해당 이벤트 DataConsumer를 등록하는 단계; 및해당 이벤트 오브젝트를 필터링할 수 있도록 해당 이벤트 Filter를 등록하는 단계를 더 포함하여 이루어지는 것을 특징으로 하는 소프트스위치 개방형 시스템의 이벤트 처리 방법.
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)
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 |
US20100274312A1 (en) | 2009-04-22 | 2010-10-28 | Konstantinos Alataris | Spinal cord modulation for inducing paresthetic and anesthetic effects, and associated systems and methods |
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 |
EP2586488B1 (en) | 2009-04-22 | 2017-03-15 | Nevro Corporation | Selective high frequency spinal cord modulation for inhibiting pain with reduced side effects, and associated systems |
US9401813B2 (en) * | 2009-12-29 | 2016-07-26 | Iheartmedia Management Services, Inc. | Media stream monitor |
WO2013036880A1 (en) | 2011-09-08 | 2013-03-14 | Thacker James R | 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)
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 |
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 |
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 |
US6594246B1 (en) * | 1998-07-10 | 2003-07-15 | Malibu Networks, Inc. | IP-flow identification in a wireless point to multi-point 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 |
CA2399720C (en) * | 2000-02-11 | 2013-07-09 | Convergent Networks, Inc. | Service level executable environment for integrated pstn and ip networks and call processing language therefor |
AU2001239880A1 (en) * | 2000-02-25 | 2001-09-03 | Pulsar Communications, Inc. | Apparatus and method for providing 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 |
-
2003
- 2003-01-08 KR KR10-2003-0001139A patent/KR100489686B1/ko not_active IP Right Cessation
- 2003-12-30 US US10/747,283 patent/US20040158839A1/en not_active Abandoned
-
2004
- 2004-01-08 CN CNB2004100014462A patent/CN1331373C/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN1518388A (zh) | 2004-08-04 |
CN1331373C (zh) | 2007-08-08 |
US20040158839A1 (en) | 2004-08-12 |
KR20040063646A (ko) | 2004-07-14 |
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 |