KR100732088B1 - 멀티 스레드 환경에서의 호 처리 스케줄링 방법 - Google Patents

멀티 스레드 환경에서의 호 처리 스케줄링 방법 Download PDF

Info

Publication number
KR100732088B1
KR100732088B1 KR1020050081911A KR20050081911A KR100732088B1 KR 100732088 B1 KR100732088 B1 KR 100732088B1 KR 1020050081911 A KR1020050081911 A KR 1020050081911A KR 20050081911 A KR20050081911 A KR 20050081911A KR 100732088 B1 KR100732088 B1 KR 100732088B1
Authority
KR
South Korea
Prior art keywords
bcsm
call
call processing
dispatcher
processing
Prior art date
Application number
KR1020050081911A
Other languages
English (en)
Other versions
KR20070025588A (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 KR1020050081911A priority Critical patent/KR100732088B1/ko
Publication of KR20070025588A publication Critical patent/KR20070025588A/ko
Application granted granted Critical
Publication of KR100732088B1 publication Critical patent/KR100732088B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M3/00Automatic or semi-automatic exchanges
    • H04M3/22Arrangements for supervision, monitoring or testing

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Telephonic Communication Services (AREA)
  • Exchange Systems With Centralized Control (AREA)

Abstract

본 발명은 멀티 스레드 환경에서 효율적인 호 처리 스케줄링 방법을 제공하는 것을 목적으로 한다.
본 발명에 따른 호 스케줄링 방법은 BCSM 생성단계, BCSM 할당단계, BCSM 처리단계 및 BCSM 삭제단계를 포함하는 것을 특징으로 하고, O-BCSM과 T-BCSM을 한 쌍으로 취급하여 스케줄링하는 것을 기본적인 기술적 사상으로 한다.
본 발명은 BCSM 별로 특정 스레드 별로의 스케쥴링이 자유롭고 스레드 생성 및 종료에 대한 부하가 줄어들고 이중화가 용이하며 멀티 프로세스 환경의 효율을 극대화한다는 이점이 있다.
BCSM, 멀티 스레드, 호 처리, 스케줄링

Description

멀티 스레드 환경에서의 호 처리 스케줄링 방법{A Method for Scheduling Multi-thread Calls}
도 1은 본 발명에 따른 호 스케줄링 방법의 구성요소를 나타내는 블록도이다.
도 2는 본 발명에 따른 호 스케줄러의 동작을 나타내는 흐름도이다.
도 3은 본 발명에 따른 호 디스패쳐의 동작을 나타내는 흐름도이다.
본 발명은 멀티 스레드(multi-thread) 환경에서 이용되는 호 처리 스케줄링 방법에 관한 것이다.
호 처리에서 사용되는 BCSM(Basic Call State Model)은 지능망에서 출발한 모델이지만, 현재 전반적인 호 처리의 기본으로 사용되고 있다. 이러한 호 처리 블록은 다양한 하드웨어 플랫폼에 내장되어, 통신망에 적용되어 서비스되고 있다. 통신망의 성장으로 인한 가입자 수의 증가, 대량의 호 처리를 요하는 새로운 서비스의 제공 등으로 인하여, 호 처리 하드웨어 및 소프트웨어는 다수의 가입자와 대용량의 호를 처리할 수 있도록 요구되어 지고 있는 것이 현재의 추세이다. 실제 망 사업자의 요구 사항도 그러하다. 이에 따라 호 처리 하드웨어의 경우, CPU의 클럭 속도를 증가시키고 탑재되는 CPU의 개수를 증가시키는 방향으로 개선되고 있다. 따라서, 이에 탑재되는 호 처리 소프트웨어도 이러한 멀티 프로세싱 환경에 맞도록 발전되어야 한다.
그러나, 이와 같은 종래의 기술에서는 다음과 같은 문제점이 있다.
종래의 호 처리 소프트웨어의 경우, 멀티 스레드 환경을 고려하지 않고 구현되었거나, 멀티 스레드 환경을 고려하고 구현하였다고 해도, 호 처리 기본 모델인 BCSM 구조의 특성을 최대한 이용하지 않은 방법으로 구현되었기 때문에, 멀티 스레드 환경을 효율적으로 사용하여 호 처리 소프트웨어를 구현하였다고 하기는 어렵다.
종래 기술의 경우, 호를 처리하기 위한 각각의 BCSM에 따라 각각 프로세스를 생성하기 때문에 프로세스 생성 및 종료에 따른 불필요한 부하가 발생한다. 특히, 일반적인 호의 경우, 발신과 착신이 한 쌍으로 이루어지는데, 종래의 기술에서는 발신과 착신이 각각 다른 스레드에 의해 처리될 수 있으므로, 이로 인해 발신이 처리되는 스레드와 착신이 처리되는 스레드 사이에서 발신과 착신에 공유되는 데이터(호 처리 데이터, 전화 번호, 발신 착신 상태)의 전달이 이루어지므로, 비효율적이다.
따라서, 주어진 멀티 스레드 환경에서의 호 처리 스케쥴링이 원활하게 이루어 지지 못해서, 전체적인 호 처리 성능 저하의 결과를 초래하는 문제점이 있다.
본 발명은 상기와 같은 종래 기술의 문제점을 해결하기 위해 창안된 것이다. 즉, 본 발명은 멀티 스레드 환경에서 효율적인 호 처리 스케줄링 방법을 제공하는 것을 목적으로 한다.
상기와 같은 목적을 달성하기 위한 본 발명에 따른 호 스케줄링 방법은 가입자의 호 시도가 있는 경우 한 쌍의 O-BCSM 개체와 T-BCSM 개체를 생성하는 BCSM 생성단계; 여러 개의 디스패쳐 중 하나의 디스패쳐를 선택하여 한 쌍의 O-BCSM 개체와 T-BCSM 개체를 모두 삽입하는 BCSM 할당단계; 상기 디스패쳐에서 BCSM 개체를 처리하는 BCSM 처리단계; 및 호가 완료된 경우 상기 디스패쳐에서 BCSM 개체를 삭제하는 BCSM 삭제단계를 포함하는 것을 특징으로 한다.
그리고, 상기 BCSM 할당단계에서 하나의 디스패쳐를 선택하는 방법은 각각의 호 처리 디스패쳐 중에서 호 처리 부하가 가장 적은 디스패쳐를 선택하는 것을 특징으로 하며 상기 호 처리 부하는 현재 해당 호 처리 디스패쳐가 처리하고 있는 BCSM 개체의 개수에 의해 결정되는 것을 특징으로 한다.
본 발명은 호 처리 기본 모델인 BCSM 구조의 특성을 멀티 스레드 환경에 적용하여 효율적인 호 처리 스케줄링을 구현함으로써, 이를 적용한 통신망 요소(교환기, 소프트스위치, IMS 서버 등)의 성능 향상을 그 목적으로 한다.
통신망에서 가입자의 호를 처리하기 위해서는, 기본적으로 두 개의 가입자 처리부가 존재한다. 호를 시도한(전화를 건) 가입자를 담당하는 발신호 처리부와, 호를 수신한(전화를 받는) 가입자를 담당하는 착신호 처리부가 이에 해당한다. 즉 가입자가 통화를 하는 순간, 호 처리 소프트웨어는, 두 개의 가입자 처리부를 생성하여, 가입자의 호가 원활히 진행될 수 있도록 한다.
이와 같이 호 처리 소프트웨어는 두 개의 가입자 처리부를 생성하여 하나의 호를 처리하는데 이러한 호를 동시에 많이 처리할 수 있는 통신망이 경쟁력있는 통신망이다.
앞서 언급하였지만, 하나의 호를 제공하기 위해서는 두 개의 가입자 처리부가 생기며, 각각 발신호 처리부, 착신호 처리부라고 하면, 이 두 개의 호 처리부는 서로 밀접하게 데이터를 공유하고 이벤트를 전달하는 등 호를 원활하게 수행하도록 한다. 이러한 호 모델을 지능망에서 최초로 BCSM이라는 모델로 정의하였으며, 이 호 모델은 이제, 지능망 호 모델이 아닌, 일반적인 호 모델로 대표되어 진다.
이러한 호 모델은 다음과 같은 특징을 가지고 있다.
일반적인 가입자의 호가 생성될 경우, 발신을 위한 O-BCSM(Originating - BCSM)과 착신을 위한 T-BCSM(Terminating - BCSM)이 하나의 쌍으로 생성된다. 한 쌍의 BCSM은 데이터를 공유하고 양자 간에 이벤트 통신도 빈번하게 일어나서 가입자의 호를 원활하게 수행한다. 또한 각각의 BCSM은 호의 상태에 따라, 고유한 상태를 가지며, 어떤 한 쌍의 BCSM은 별다른 목적이 없는 한 다른 쌍의 BCSM과는 데이터 공유 및 이벤트 통신을 거의 하지 않는다.
이러한 특성을 이용하여, 보다 효율적인 호 스케줄링 방법을 도입할 경우, 통신망 요소의 성능 향상을 기대할 수 있다. 즉, 본 발명은 상기 O-BCSM과 T-BCSM을 한 쌍으로 취급하여 스케줄링하는 것을 기본적인 기술적 사상으로 한다.
이하에서는 본 발명에 따른 호 스케줄링 방법에 대해 도면을 참조하며 상세히 설명한다.
도 1은 본 발명에 따른 호 스케줄링 방법의 구성요소를 나타내는 블록도이다.
도 1을 참조하면 본 발명에 따른 호 스케줄링 방법을 구현하는 데는 다음과 같은 구성요소가 필요하다.
본 발명에 따른 호 스케줄링 장치는 n개의 CPU를 가지는 하드웨어 플랫폼, 1개의 호 처리 스케줄러, n개의 호 처리 디스패쳐로 구성된다.
이하 각 구성요소에 대해 설명한다.
상기 하드웨어 플랫폼은 호 처리 소프트웨어가 탑재되는 하드웨어로서, 호 처리 디스패쳐의 개수는 해당 하드웨어의 CPU의 개수에 의해 결정된다. 즉 n개의 CPU가 존재한다면, n개의 호 처리 디스패쳐가 존재한다. 각각의 호 처리 디스패쳐는 각각의 CPU에 바인딩되어 있다.
다음으로, 상기 호 처리 스케줄러는 가입자가 호 서비스를 요구하는 경우 해당 BCSM을 생성하는 기능, 호 처리에 필요한 디스패쳐를 생성하는 기능, BCSM을 삽입할 호 처리 디스패쳐를 선택하는 기능을 수행한다. 즉, 호 처리 스케줄러의 기능은 호 처리 디스패쳐를 생성하고 가입자의 호 서비스 요구가 있는 경우 O-BCSM과 T-BCSM 개체들을 생성하여 호 처리 디스패쳐에 할당하는 것이다. 호 처리 스케줄러는 O-BCSM과 T-BCSM 개체 한 쌍 모두를 단일한 호 처리 디스패쳐가 처리하도록 할당하며, 할당은 각각의 호 처리 디스패쳐의 호 처리 부하를 고려하여 이루어진다.
호 처리 스케줄러는 우선순위 및 스레드의 부하를 고려하여 호 처리 디스패쳐에 할당한다. 이는 특정 스레드에 과도한 호 서비스를 할당하여 전체적인 성능이 저하되는 것을 방지하기 위해서이다. 호 처리 스케줄러는 호 처리 디스패쳐의 할당을 위해서 디스패쳐의 부하를 고려하여 해당 호 서비스 요구를 처리할 호 처리 디스패쳐를 선택하게 된다.
호 처리 디스패쳐의 선택은 각각의 호 처리 디스패쳐의 부하를 비교하여 부하가 가장 적은 호 처리 디스패쳐를 선택하게 된다. 여기서 부하는 부하 값에 의해 결정되는데 이러한 부하 값은 현재 해당 호 처리 디스패쳐가 처리하고 있는 BCSM의 개수를 나타낸다. 상기 부하 값은 호 처리 스케줄러가 해당 호 처리 디스패쳐로 호를 할당한 때마다 1씩 증가하며, 해당 호가 종료될 때마다, 1씩 감소한다.
다음으로, 상기 호 처리 디스패쳐는 디스패쳐 큐를 가지고 있으며, 이 디스패쳐 큐로부터 O-BCSM과 T-BCSM을 패치해서 호 처리를 수행하는 역할을 한다. 호 처리 디스패쳐는 O-BCSM 개체와 T-BCSM 개체가 가지고 있는 상태정보와 호 처리 데이터를 이용하여, 특정 이벤트 발생시 적절한 역할을 수행하며, 해당 O-BCSM 개체와 T-BCSM 개체의 상태를 변경하거나, 호 데이터를 변경한다. 호 처리 디스패쳐가 실제적인 호 처리 역할을 수행하는 가장 중요한 구성요소이다. 호 처리 디스패쳐가 제공하는 기능들은 주로 O-BCSM 및 T-BCSM을 처리하기 위한 것이며, 이러한 기능에는 BCSM 삽입기능, BCSM 삭제기능, 이벤트 처리기능, 부하 값 계산기능 등이 있다.
상기 BCSM 삽입기능은 특정 호를 특정 디스패쳐가 처리하도록 하는 기능이다. 이 기능이 수행되면, 해당 디스패쳐가 이 BCSM 개체에 대한 호 처리를 담당한다. 최초 호 생성시 혹은, 호의 스레드 이동시에 이 기능이 수행된다.
상기 BCSM 삭제기능은 특정 호의 종료(정상적인 종료, 비정상적인 종료 포함)를 처리하기 위한 기능으로 이 기능이 수행되면 해당 디스패쳐는 더 이상 해당 호에 대한 처리를 하지 않는다.
상기 이벤트 처리기능은 특정 BCSM 개체에 대하여, 이벤트가 발생시, 그 이벤트에 해당하는 처리를 위한 기능이다. 여기서 이벤트란, 호 처리시에 발생되는 외부 입력을 의미하며, 전화번호 입력, 통화 종료, 가입자 Busy, 착신자 off hook 등이 이에 해당한다. 상기 호 처리 디스패쳐는 BCSM 개체가 제공하는 호 처리 데이터와 이 메소드에 의해 발생된 이벤트를 바탕으로 호 처리를 수행한다.
상기 부하 값 계산기능은 해당 디스패쳐에서 현재 처리하고 있는 BCSM의 개수를 저장하고 이 값을 리턴하는 기능이다. 이 부하 값은 호 처리 스케줄러에서 참조하며, 호 처리 부하에 따른 호 할당에 사용된다.
이하에서는 본 발명에 따른 호 스케줄링 장치의 호 스케줄러와 호 디스패쳐의 기능에 대해 설명한다.
먼저, 호 처리 스케줄러의 기능에 대해 설명한다.
호 처리 스케줄러는 가입자가 호를 시도하는 시점에 해당 호를 처리하기 위한 O-BCSM 개체와 T-BCSM 개체를 생성한다. 호 처리 스케줄러는 이미 생성되어 있는 호 처리 디스패쳐 중 디스패쳐 큐 사이즈가 가장 작은 즉, 앞서 설명하였듯이 부하 값이 가장 작은 디스패쳐를 선택하여, 해당 디스패쳐 큐에 O-BCSM 개체와 T-BCSM 개체를 삽입한다.
이렇게 호 처리 스케줄러가 가입자의 호를 처리하기 위한 O-BCSM 개체와 T-BCSM 개체를 단일 디스패쳐에 할당하는 이유는 O-BCSM 개체와 T-BCSM 개체 사이에는 데이터 공유 및 시그널 통신이 빈번하게 발생하기 때문이다. 즉, O-BCSM 개체와 T-BCSM 개체의 디스패쳐가 다른 경우, O-BCSM 개체와 T-BCSM 개체를 각각 다른 스레드에서 처리하므로 스레드 간의 데이터 공유 및 시그널 통신이 발생하기 때문에, 그에 따른 오버 헤드가 발생한다. 따라서, O-BCSM 개체와 T-BCSM 개체를 단일 디스패쳐에 할당함으로써, 이러한 오버 헤드를 최소화하여야 한다. 단일 디스패쳐에 할당하는 방법으로 전체적인 성능 향상을 꾀할 수 있고 스레드 간의 데드락과 같은 문제점을 원천적으로 해결할 수 있다. 이러한 장점들은 통신망 시스템의 성능 향상과 안정성 확보에 많은 도움을 준다.
다음으로, 호 처리 디스패쳐의 기능에 대해 설명한다.
호 처리 디스패쳐는 자신의 디스패쳐 큐와 이벤트 큐를 감시하고 있다. 디스패쳐 큐를 감시하여 새롭게 처리할 O-BCSM 개체 및 T-BCSM 개체의 유무를 확인하며, 이벤트 큐를 감시하여 기존에 처리하고 있는 O-BCSM 개체 및 T-BCSM 개체에 대한 이벤트(링백, 호 종료, 예외 발생 등) 발생 여부를 확인한다.
호 처리 디스패쳐가 디스패쳐 큐로부터 한 쌍의 BCSM 개체를 추출한 경우, 해당 BCSM 개체 대한 이벤트를 수행하고, 각각의 호 처리 데이터 및 상태를 변경시키며 다음 이벤트가 발생할 때까지 해당 변경된 상태를 유지하도록 한다.
또한 호 처리 디스패쳐는 이벤트 큐로부터 이벤트가 발생한 경우, 해당 이벤트를 이벤트 큐로부터 추출한 다음, 발생한 이벤트에 해당하는 BCSM 개체에 대한 이벤트를 수행하고, 그에 따른 호 처리 데이터 및 상태를 변경시키며 다음 이벤트가 발생할 때까지 변경된 상태를 유지한다.
해당 이벤트에 의해, 가입자 호가 완료된 경우 호 처리 디스패쳐는 해당 BCSM를 삭제한다. 상기 가입자 호가 완료된 경우란, 가입자가 전화를 끊은 경우는 물론 예외 상황이 발생하여 인한 호가 종료된 경우도 포함한다.
호 처리 디스패쳐는 통신망 가입자의 호를 스레드 별로 수행하기 위한 기반을 제공한다. 즉 여러 개의 CPU가 존재하는 경우, 해당 CPU의 개수만큼 디스패쳐를 생성하여, 서로 독립적으로 호를 처리할 수 있도록 한다. 멀티 CPU 환경에서 서로 다른 호가 독립적으로 서로 다른 CPU에서 병렬적으로 수행하도록 하여 전체 호 처리 성능을 향상시키는 것을 목적으로 한다. 각각의 디스패쳐는 디스패쳐 큐, 이벤트 큐 및 현재 관리되고 있는 BCSM 개체로 구성된다. 해당 디스패쳐에 포함되는 BCSM 개체는 동일한 CPU에 의해서 처리된다. 이렇게 하드웨어 플랫폼의 OS에서 제공하는 스레드 대신 호 처리 디스패쳐를 사용하는 경우 다음과 같은 장점이 존재한다.
OS에서 제공하는 스레드를 사용하는 것보다 호 처리 전용 디스패쳐를 사용함으로, 호 처리 스케줄링을 보다 유연하게 수행할 수 있으며, 결과적으로 효율적인 스케줄링이 가능하다.
예를 들어, 각각의 다른 스레드에서 호가 수행되는 기존 방식의 경우, 삼자 통화나 회의 통화 등 부가 서비스의 발동으로 인해, 데이터 공유 및 이벤트 공유가 필요해진 경우, 다른 스레드 간의 데이터 공유 및 이벤트 전달로 인한, 성능 저하 요인이 발생한다. 하지만, 호 처리 전용 디스패쳐를 사용하는 경우, 해당 BCSM 개체를 타 디스패쳐로 이동만 시키면 이러한 문제점이 해결된다. 한 번의 BCSM 개체 이동으로 유연하게 스레드를 변경시킴으로써 여전히 단일 스레드에서의 호 처리가 가능하기 때문이다.
다음으로 O-BCSM 개체와 T-BCSM 개체에 대해 설명한다.
각각의 호는 한 쌍의 O-BCSM 개체 과 T-BCSM 개체에 의해 처리된다. O-BCSM 개체와 T-BCSM 개체는 가입자의 호 처리를 위해 생성되는 개체로서, 해당 호 처리에 필요한 호 데이터(발신 번호, 착신 번호, 부가 서비스 정보) 및 호 처리 상태(BCSM 모델에서 제안하는 호 상태)를 가지고 있다. O-BCSM 개체와 T-BCSM 개체는 호 처리에 필요한 데이터 값을 반환하는 기능, 호 처리에 필요한 데이터 값을 설정하는 기능, BCSM 개체의 타입을 결정하는 기능, BCSM 개체의 타입을 출력하는 기능 등을 수행한다.
O-BCSM 개체와 T-BCSM 개체는 가입자의 호 처리 요구에 의해, 호 처리 스케줄러에 의해 생성된다. 상기 O-BCSM 개체는 발신 가입자에 대한 호를 처리하기 위해 필요한 호 처리 상태 및 호 처리 데이터, 가입자 데이터를 가지고 있으며 상기 T-BCSM 개체는 착신 가입자에 대한 호를 처리하기 위해 필요한 호 처리 상태 및 호 처리 데이터, 가입자 데이터를 가지고 있다. 각각의 개체는 호 처리 디스패쳐에 의해 관리된다. 가입자의 호 처리가 정상적으로 혹은 비정상적으로 종료될 때, 이에 해당하는 O-BCSM 개체 및 T-BCSM 개체는 종료된다.
이러한 O-BCSM 개체와 T-BCSM 개체는 소프트웨어적으로 클래스 혹은 데이터 구조체로 구현이 가능하다.
다음으로, 호 처리 데이터에 대해 설명한다.
호 처리 데이터는 O-BCSM 및 T-BCSM이 호 처리를 수행하는데 있어서 필요한 데이터를 포함한다. 또한, O-BCSM 및 T-BCSM의 상태를 포함하고 있다. 이 호 처리 데이터는 호 처리 디스패쳐에 의해 가입자 호 처리를 위해 사용된다. 호 처리 데이터의 일부를 아래의 표에 열거하였다.
데이터 이름 설 명
Calling Address 발신자 전화번호
Called Address 착신자 전화번호
Call_state 현재의 호 처리 상태
발신자 부가 서비스 정보 발신자가 가입한 부가 서비스 정보 (발신번호표시 거부 서비스, 삼자통화 등)
착신자 부가 서비스 정보 착신자가 가입한 부가 서비스 정보 (부재중안내서비스,호전환서비스,필링서비스 등)
이하에서는 도면을 참조하여 본 발명에 따른 호 스케줄러와 호 디스패쳐의 동작을 설명한다.
먼저, 호 스케줄러의 동작을 도 2를 참조하여 설명한다.
도 2는 본 발명에 따른 호 스케줄러의 동작을 나타내는 흐름도이다.
가입자의 호 시도가 있는지 판단하여(S210) 호 시도가 없으면 호 시도가 있을 때까지 호 시도 여부를 확인하고, 호 시도가 있으면 스케줄러에서 가입자가 시도한 호에 해당하는 O-BCSM 개체와 T-BCSM 개체를 생성한다(S220). 스케줄러에서는 각 디시패쳐로부터 부하 값을 전송받는다(S230). 부하 값은 각 디스패쳐 큐에 있는 BCSM 개체의 개수이다. 그러면 스케줄러는 부하 값이 가장 작은 디스패쳐에 상기 생성한 한 쌍의 O-BCSM 개체와 T-BCSM 개체를 삽입한다(S240). 이상으로 호 시도가 있는 경우 BCSM개체를 생성하여 디스패쳐에 할당하는 호 스케줄러의 동작에 대해 살펴보았다.
다음으로, 호 디스패쳐의 동작을 도 3을 참조하여 설명한다.
도 3은 본 발명에 따른 호 디스패쳐의 동작을 나타내는 흐름도이다.
디스패쳐 큐를 감시하여(S310), 새롭게 처리할 BCSM 개체가 발생하는지 판단한다(S320). 새롭게 처리할 BCSM 개체가 발생하지 않는다면 상기 S310단계로 궤환하여 계속해서 디스패쳐 큐를 감시하고, 새롭게 처리할 BCSM 개체가 발생한다면 다스패쳐 큐에서 BCSM 개체를 추출한다(S330).
BCSM 개체를 추출하였다면 해당 BCSM 개체의 이벤트 큐를 감시하여(S340), 이벤트가 발생하는지 판단한다(S350). 이벤트가 발생하였다면 해당 이벤트를 수행하고(S360), 이에 맞게 호 처리 데이터 및 호 처리 상태를 변경한다(S370). 이벤트가 발생하지 않았다면 상기 S360 단계와 S370 단계를 거치지 않고 후술할 S380 단계로 넘어간다.
S380 단계에서는 가입자 호가 완료되었는지 판단하여 가입자 호가 완료되지 않았다면 상기 S340 단계로 궤환하여 이벤트 큐를 감시한다. 가입자 호가 완료되었다면 해당 BCSM 개체를 삭제하고(S390) 상기 S310 단계로 궤환하여 디스패쳐 큐를 감시한다.
이상으로 본 발명에 따른 호 처리 스케줄링 방법에 대해 살펴보았다. 본 발명은 본 명세서에서 설명된 부분에 한정되지 않고 명세서와 첨부된 청구항들의 기 술적 사상에 속하는 모든 변형된 형태와 수정된 형태를 포함한다. 일례로 본 발명에 따른 호 처리 스케줄링 방법 및 장치는 통신망 요소 중, BCSM 모델을 사용하는 모든 경우에 적용이 가능하다. 즉, 가입자 호뿐만 아니라 중계 호와 타 서버 간의 호 등에도 적용이 가능하다.
본 발명에 의하면 다음과 같은 이점이 있다.
BCSM 별로 특정 스레드 별로의 스케쥴링이 자유롭다. 즉, BCSM이 프로세스가 아닌 스레드에 할당할 수 있는, 데이터 구조(객체)의 형식으로 구현되기 때문에, 특정 스레드로의 할당이 자유로우며, 스레드 간의 이동이 자유롭다.
스레드 생성 및 종료에 대한 부하가 줄어든다. 즉, 호가 생성되고, 종료됨에 따라, 스레드 자체가 생성되고 종료되는 것이 아니라, 스레드에서 동작하고 있는 호 처리 모델의 데이터(객체)가 생성되고 종료됨으로, 이에 따른 스레드 생성, 종료 부하가 거의 존재하지 않는다. 스레드 자체는 계속 유지된다.
이중화가 용이하다. 즉, 종래의 기술의 경우 호 처리 모델별로 스레드를 할당하는 경우, 이에 대한 이중화에 어려움이 있었으나, 호 처리 모델별로 데이터 구조(객체)를 가지고 있는 본 발명의 경우 이 데이터 구조에 대한 이중화 처리만을 수행하면 이중화가 가능하기 때문에 이중화가 용이하다.
멀티 프로세스 환경의 효율을 극대화한다. 즉, 멀티 프로세스 환경에서 해당 멀티 프로세스에 호 처리 할당을 OS 레벨이 아닌 호 처리 스케줄러가 할당하기 때문에 호 처리에 가장 최적화되게 호를 할당할 수 있다.

Claims (3)

  1. 멀티스레드 환경에서의 호 처리에 있어서,
    가입자의 호 시도가 있는 경우 한 쌍의 O-BCSM 개체와 T-BCSM 개체를 생성하는 BCSM 생성단계;
    여러 개의 디스패쳐 중 하나의 디스패쳐를 선택하여 한 쌍의 O-BCSM 개체와 T-BCSM 개체를 모두 삽입하는 BCSM 할당단계;
    상기 디스패쳐에서 BCSM 개체를 처리하는 BCSM 처리단계; 및
    호가 완료된 경우 상기 디스패쳐에서 BCSM 개체를 삭제하는 BCSM 삭제단계를 포함하는 것을 특징으로 하는 호 처리 스케줄링 방법.
  2. 청구항 1에 있어서,
    상기 BCSM 할당단계에서 하나의 디스패쳐를 선택하는 방법은 여러 개의 호 처리 디스패쳐 중에서 호 처리 부하가 가장 적은 디스패쳐를 선택하는 것을 특징으로 하는 호 처리 스케줄링 방법.
  3. 청구항 2에 있어서,
    상기 호 처리 부하는 현재 해당 호 처리 디스패쳐가 처리하고 있는 BCSM 개체의 개수에 의해 결정되는 것을 특징으로 하는 호 처리 스케줄링 방법.
KR1020050081911A 2005-09-02 2005-09-02 멀티 스레드 환경에서의 호 처리 스케줄링 방법 KR100732088B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020050081911A KR100732088B1 (ko) 2005-09-02 2005-09-02 멀티 스레드 환경에서의 호 처리 스케줄링 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020050081911A KR100732088B1 (ko) 2005-09-02 2005-09-02 멀티 스레드 환경에서의 호 처리 스케줄링 방법

Publications (2)

Publication Number Publication Date
KR20070025588A KR20070025588A (ko) 2007-03-08
KR100732088B1 true KR100732088B1 (ko) 2007-06-27

Family

ID=38099843

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050081911A KR100732088B1 (ko) 2005-09-02 2005-09-02 멀티 스레드 환경에서의 호 처리 스케줄링 방법

Country Status (1)

Country Link
KR (1) KR100732088B1 (ko)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07302246A (ja) * 1994-05-09 1995-11-14 Toshiba Corp スケジューリング方式
WO1997036431A1 (en) 1996-03-25 1997-10-02 Nokia Telecommunications Oy Method for controlling an intelligent network call
KR20000045106A (ko) * 1998-12-30 2000-07-15 이계철 다중접속 클라이언트와 단일접속 서버간의 통신방법
KR20050066632A (ko) * 2003-12-26 2005-06-30 한국전자통신연구원 이동통신망에서의 자원 할당 시스템 및 그 방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07302246A (ja) * 1994-05-09 1995-11-14 Toshiba Corp スケジューリング方式
WO1997036431A1 (en) 1996-03-25 1997-10-02 Nokia Telecommunications Oy Method for controlling an intelligent network call
KR20000045106A (ko) * 1998-12-30 2000-07-15 이계철 다중접속 클라이언트와 단일접속 서버간의 통신방법
KR20050066632A (ko) * 2003-12-26 2005-06-30 한국전자통신연구원 이동통신망에서의 자원 할당 시스템 및 그 방법

Also Published As

Publication number Publication date
KR20070025588A (ko) 2007-03-08

Similar Documents

Publication Publication Date Title
US5570410A (en) Dynamic resource allocation process for a service control point in an advanced intelligent network system
US5381546A (en) Control process for allocating services in communications systems
US5978465A (en) Method and apparatus for allocating resources in a call center
EP2371086B1 (en) Network node and method for controlling resources in a communication network
US8006005B2 (en) Centralized polling service
KR20180011222A (ko) 메시지 프로세싱 방법, 장치 및 시스템
US20030158883A1 (en) Message processing
US6647431B1 (en) Method and apparatus for handling I/O messages
US5325426A (en) Method for overload prevention in a switching center of a communications network
CN111741079A (zh) 一种基于微服务架构的接口处理方法及系统
US5327419A (en) Communication system having a multiprocessor system serving the purpose of central control
CN105208317B (zh) 基于预约的召开级联会议的方法、装置及系统
CN102243653A (zh) 一种数据库连接的管理方法及装置
CN1225105C (zh) 一种适用于应用服务器的呼叫处理方法
KR100732088B1 (ko) 멀티 스레드 환경에서의 호 처리 스케줄링 방법
CN106161194A (zh) 一种基于xmpp协议的在线客服中心即时消息交换系统
CN116074553A (zh) 视频流传输方法、装置、电子设备及存储介质
CN1082307C (zh) 在通信网络内呼叫分配的方法
JPH08280047A (ja) 通信システム
CN1135471C (zh) 管理进程的方法
JPS60253396A (ja) ル−テイング制御方式
US20030065701A1 (en) Multi-process web server architecture and method, apparatus and system capable of simultaneously handling both an unlimited number of connections and more than one request at a time
CN1143590C (zh) 呼叫和连接控制
KR100364170B1 (ko) 지능망시스템에서 서비스별 우선순위 조절이 가능한서비스 처리 방법
JP4054294B2 (ja) 高度インテリジェントネットワーク及びサービス制御モジュール

Legal Events

Date Code Title Description
A201 Request for examination
N231 Notification of change of applicant
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: 20130516

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20140520

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20150518

Year of fee payment: 9

LAPS Lapse due to unpaid annual fee