KR20030019842A - 해시 테이블을 이용한 에스아이피 메시지 처리 방법 - Google Patents

해시 테이블을 이용한 에스아이피 메시지 처리 방법 Download PDF

Info

Publication number
KR20030019842A
KR20030019842A KR1020010053200A KR20010053200A KR20030019842A KR 20030019842 A KR20030019842 A KR 20030019842A KR 1020010053200 A KR1020010053200 A KR 1020010053200A KR 20010053200 A KR20010053200 A KR 20010053200A KR 20030019842 A KR20030019842 A KR 20030019842A
Authority
KR
South Korea
Prior art keywords
call
hash key
message
linked list
sip
Prior art date
Application number
KR1020010053200A
Other languages
English (en)
Other versions
KR100381999B1 (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-2001-0053200A priority Critical patent/KR100381999B1/ko
Publication of KR20030019842A publication Critical patent/KR20030019842A/ko
Application granted granted Critical
Publication of KR100381999B1 publication Critical patent/KR100381999B1/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1101Session protocols
    • H04L65/1104Session initiation protocol [SIP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Power Engineering (AREA)
  • Computer Security & Cryptography (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Multimedia (AREA)
  • Telephonic Communication Services (AREA)

Abstract

본 발명은 WIP(Wireless IP)의 SIP(Session Initiation Protocol 세션 개시 프로토콜) 인터페이스(Interface) 구현시 문자열(string)을 키(Key)로 하여 구별하여야 할 경우, 해시(Hash)를 이용하고, 해시 키 아래의 연결 리스트(Linked List)로 해당 데이터를 저장하는 방법에 관한 것으로서, 이러한 본 발명은 해시 테이블(Hash Table)을 이용함으로써, 문자열(string) 비교에 있어 성능을 높일 수 있으며, 상기 SIP와 같이 문자열을 많이 비교하는 분야에서 해시 테이블을 이용하여 보다 높은 성능을 가질 수 있도록 한 해시 테이블을 이용한 에스아이피 메시지 처리 방법에 관한 것이다.

Description

해시 테이블을 이용한 에스아이피 메시지 처리 방법{SIP Message Processing Method Using Hash Table}
본 발명은 WIP(Wireless IP) 시스템에서 SIP(Session Initiation Protocol ; 세션 개시 프로토콜)와 같이 문자열(string)을 많이 비교하는 분야에서 해시 테이블(Hash Table)을 이용하여 보다 높은 성능을 가질 수 있도록 한 해시 테이블을 이용한 에스아이피 메시지 처리 방법에 관한 것으로, 특히 호 아이디(Call ID)로 해시 키(Hash Key)를 생성하고, 상기 생성한 해시 키 아래의 연결 리스트(Linked List)로 데이터를 저장하며, 현재 진행중인 호(Call)에 대한 특정 문자열만을 비교함으로써, 신속하게 문자열 처리 및 SIP 메시지 처리할 수 있도록 한 해시 테이블을 이용한 에스아이피 메시지 처리 방법에 관한 것이다.
일반적으로, WIP 시스템의 신호(signal) 규격인 SIP(세션 개시 프로토콜)는 첨부한 <표 1>과 같이 문자열로 구성된 프로토콜(protocol)이며, 현재의 메시지를 진행중인 호(Call)의 상태를 비교하는데 이용된다.
INVITE sip://02-123-4567From: aaa@abc.ac.krContent-Type: applicatior/sdpv=0o=user1 IN IP4 123.234.345.111c=AIN E.164 02-123-4567t=0 0m=ausio 0 RTP/AVP 0
이러한 문자열 비교는 단순한 값의 비교보다 로드(load)가 많이 걸리기 때문에 보다 빠르고 로드가 작은 비교가 필요하다.
종래 기술에 의하면 세션 개시 프로토콜(Session Initiation Protocol, 이하 "SIP"라 약칭한다) 메시지를 현재 진행중인 호(Call)의 상태와 비교하기 위해서 먼저, 호 아이디(이하 "Call ID"라 칭한다)를 비교한다. 여기서, 상기 Call ID의 길이는 제한이 없으며 유일(unique)한 문자열(string)로만 구성된다.
상기 Call ID 비교 후 현재 진행중인 모든 Call ID와 비교하여 만약 같은 Call ID가 발견되었을 경우는 from, to(이하 '특정 문자열'이라 칭한다)와 같은 특정 문자열의 헤더(header)를 또 비교한다. 상기 비교 결과 같은 특정 문자열의 헤더를 찾았을 경우는 Cseq 헤더를 비교하는 방식이 사용되었다.
즉, 이러한 문자열을 비교할 경우 먼저, SIP 메시지에서 Call ID의 문자열을 현재 진행중인 모든 호에서 검색하여 특정 문자열(from, to)의 문자열이 같은지 비교하고, 상기 비교 결과 문자열이 같으면 필요 메시지를 만들어서 호 프로세스(Call process)에 전달하는 과정으로 이루어졌다.
따라서, Call ID의 문자열을 모든 호와 비교할 경우 진행되고 있는 호에 비례하여 성능이 느려지게 되며, 동시에 많은 메시지를 처리하지 못하는 문제점이 발생하게 된다.
첨부한 도면 도 1은 종래 기술에 의한 단순 문자열 비교에 의한 SIP 메시지 처리 방법을 보인 흐름도이다.
이에 도시된 바와 같이, 단계 ST11에서 SIP 메시지를 수집한 후, 단계 ST12에서 현재 진행중인 호(Call)의 Call ID 문자열을 호출한다. 다음으로 단계 ST13에서는 상기 호출한 Call ID와 현재 진행중인 모든 Call ID가 동일한지 비교하여 그 결과 Call ID가 동일하지 않으면 단계 ST14로 진행하고, 상기 비교 결과 Call ID가 동일하면 단계 ST15로 진행한다.
상기 단계 ST14로 진행되면, 현재 진행중인 다른 호에 상기 호출한 Call ID와 동일한 Call ID가 있는지 검색하여 동일한 Call ID가 있으면 단계 ST12로 리턴하고, 상기 검색 결과 현재 진행중인 다른 호에도 존재하지 않으면 그대로 종료한다.
다음으로, 상기 단계 ST15로 진행되면, 동일한 Call ID에 대한 특정 문자열(from, to)이 동일한지 비교하여, 동일하지 않을 경우 상기 단계 ST14로 진행하고, 상기 비교 결과 특정 문자열이 동일하면 단계 ST16에서 호 프로세서로 메시지를 전달한다.
따라서, 이러한 문자열 비교는 많은 로드(load)가 발생할 수 있으므로 WIP 시스템의 SIP 인터페이스(interface)를 구현하더라도 성능에 문제가 생길 수 있다. 예를 들어, 문자열의 길이가 32byte라고 할 경우 모두 32개의 바이트(byte)를 다른 값이 나올 때 까지 비교하여야 하는 문제가 발생한다.
또한, 현재 진행중인 모든 세션(session)에 대해서 비교를 수행해야 하므로 SIP 메시지 처리 성능에 영향을 미칠 수 있다.
이에 본 발명은 상기와 같은 종래 기술의 제반 문제점을 해결하기 위해서 제안된 것으로서,
본 발명의 목적은 호 아이디(Call ID)로 해시 키(Hash Key)를 생성하고, 상기 생성한 해시 키 아래의 연결 리스트(Linked List)로 데이터를 저장하며, 상기 연결 리스트에 저장되어 있는 현재 진행중인 호(Call)에 대한 특정 문자열만을 비교함으로써, SIP 메시지 처리에 있어서 보다 신속하게 문자열을 비교할 수 있도록 한 해시 테이블을 이용한 에스아이피 메시지 처리 방법을 제공하는 데 있다.
상기와 같은 목적을 달성하기 위한 본 발명은,
SIP(Session Initiation Protocol) 메시지를 수집 후 Call ID(호 아이디)를 이용하여 해시 키(Hash Key)를 생성하고, 상기 생성된 해시 키 아래의 연결 리스트(Linked List)에 저장되어 있는 현재 진행중인 호(Call)의 Call ID를 호출하는 단계와,
상기 Call ID 호출 후 상기 진행중인 호에 대응하는 Call ID의 문자열(string)만을 비교하고, 그 결과 동일한 값이 존재할 경우, 상기 문자열 내의 특정 문자열(from, to)이 동일한지 비교하는 단계와,
상기 문자열 및 특정 문자열 비교 단계에서 동일한 값이 없을 경우, 다음 호(Call)에서 상기 값과 동일한 값의 존재를 검색하는 단계와,
상기 특정 문자열 비교 결과 동일한 값이 존재할 경우, 호 프로세서(Call processor)로 메시지를 전달하는 단계로 구성됨을 그 방법적 구성상의 특징으로 한다.
도 1은 종래 기술에 의한 단순 문자열 비교에 의한 SIP 메시지 처리 방법을 보인 흐름도이고,
도 2는 본 발명에 의한 해시를 이용한 SIP 메시지 처리 방법을 보인 흐름도이며,
도 3은 도 2에 따른 해시 키를 이용한 SIP 메시지 처리 과정을 보인 간략한 구성도이다.
이하, 상기와 같은 기술적 사상에 따른 본 발명의 해시 테이블을 이용한 에스아이피 메시지 처리 방법의 바람직한 실시 예를 첨부된 도면에 의거 상세히 설명하면 다음과 같다.
도 2는 본 발명에 의한 해시를 이용한 SIP 메시지 처리 방법을 보인 흐름도로서, 먼저, Call ID로 해시 키(Hash Key)를 생성하고, 상기 해시 키값에 따라 해당 키 아래의 연결 리스트(Linked List)에서 검색하여 비교하고, 현재 진행중인 호에 대한 모든 필요 정보를 Call ID의 해시 키값을 이용하여 메모리(memory)에 저장한다.
도 2에 도시된 바와 같이, 단계 ST21에서 SIP 메시지 수집 후 단계 ST22에서 Call ID로 해시 키(Hash Key)를 생성하여 단계 ST23에서 상기 해시 키 아래의 연결 리스트(Linked List)에 저장되어 있는 현재 진행중인 호(Call)의 Call ID를 호출하여 단계 ST24에서 상기 진행중인 호에 대한 문자열을 비교한다.
상기 비교 결과 동일한 Call ID가 존재하지 않으면 단계 ST25로 진행하여 다음 호에 동일한 Call ID가 있는지 검색하고, 상기 검색 결과 다음 호에 동일한 값이 존재하면, 단계 ST23으로 진행하여 상기 과정을 반복수행하고, 다음 호에서도 존재하지 않을 경우는 그대로 종료한다.
다음으로, 상기 동일한 Call ID가 존재할 경우 단계 ST26에서 from, to(특정 문자열)의 문자열이 동일한지 비교하여, 그 결과 동일하지 않을 경우 단계 ST25로 진행하고, 상기 비교 결과 from, to의 문자열이 동일할 경우 필요 메시지를 생성하여 단계 ST27에서 호 프로세서(Call processor)로 상기 생성한 메시지를 전달한다.
또한, 상기 from, to의 문자열에 대해서도 해시 키를 이용할 수 있다. 즉, from, to 문자열의 해시 키를 생성한 다음, 해시 키값을 비교하여 동일하면 문자열을 비교하고, 동일하지 않으면 다음 연결 리스트에 저장된 from, to 문자열의 해시키값과 비교한다.
이상 상술한 바와 같이, WIP의 호 에이전트(Call Agent)의 경우에는 프록시(proxy)와 같은 역할을 해야 함으로 착신 MCF(Meta Content Framework)에서 전달받은 메시지를 참고로 하여 필요할 경우 새로운 메시지를 생성하여 발신 MCF에 전송하고, 하나의 호에 대하여 2개의 다른 메시지를 처리한다.
즉, Call ID는 동일한 반면 from, to의 문자열이 바뀔 수가 있는데, 이럴 경우 상기 from, to 문자열도 해시 키를 사용함으로써 생성할 수 있다.
여기서, 상술된 해시 키(Hash Key) 값의 범위는 시스템이 얼마나 많은 진행 호(call)를 처리해야 하느냐에 따라 달라질 수 있다. 따라서, 해시 키값의 범위가 크면 클수록 해당 키 값 아래의 링크 리스트의 개수가 작아서 문자열 비교 연산을 줄일 수 있지만 메모리(memory)를 조금 많이 차지할 수가 있으며, 또한 범위가 작으면 반대로 메모리는 작게 차지할 수 있지만 문자열 비교 연산을 많이 수행해야 하는 단점이 있으므로, 시스템 최적화(optimize)시 상황에 맞게 설정해야 한다.
도 3은 도 2에 따른 해시 키를 이용한 SIP 메시지 처리 과정을 보인 간략한 구성도로서, SIP의 Call ID 문자열로 해시 키를 생성하고, 해당 해시 키 아래의 연결 리스트에 저장되어 있는 현재 진행중인 호(Call)에 대한 문자열을 비교한다.
여기서, 현재 진행중인 호에 대한 비교는 상기 해시 키값에 따라 해당 키 아래의 연결 리스트에서만 검색한다. 즉, 해당 해시 키 아래의 연결 리스트로 데이터를 저장하고, 해당 연결 리스트(Linked List)가 하나일 경우는 Call ID로 해시 키를 바로 생성하여 현재 진행중인 호에 대한 비교 없이 해당 연결 리스트에 바로 액세스(access)하고, 해당 해시 키에 대해 여러 개의 연결 리스트가 있을 경우는 현재 진행중인 호에 대해 비교를 수행한다.
이상에서 상술한 본 발명 "해시 테이블을 이용한 에스아이피 메시지 처리 방법"에 따르면, WIP(Wireless IP) 시스템에서 SIP(Session Initiation Protocol)와 같이 문자열을 많이 비교하는 분야에서 해시 테이블(Hash Table)을 이용하여 해당 해시 키 아래의 연결 리스트로 데이터를 저장하고, 호 아이디(Call ID)로 해시 키(Hash Key)를 생성하여 해당 연결 리스트에 바로 액세스(access)할 수 있도록 함으로써, 현재 진행중인 호(Call)에 대해 성능을 높일 수 있는 이점을 가진다.
또한, 상기 해시 키를 비교한 다음 특정 문자열 비교를 수행함으로써, 정확도가 높아지는 이점을 가진다.

Claims (2)

  1. SIP(세션 개시 프로토콜) 메시지 처리 방법에 있어서,
    상기 SIP(Session Initiation Protocol) 메시지를 수집하는 단계와;
    상기 메시지 수집 후 Call ID(호 아이디)를 이용하여 해시 키(Hash Key)를 생성하는 단계와;
    상기 해시 키 생성 후 상기 해시 키 아래의 연결 리스트(Linked List)에 저장되어 있는 현재 진행중인 호(Call)의 Call ID를 호출하는 단계와;
    상기 호출 후 상기 진행중인 호에 대응하는 Call ID의 문자열(string)만을 비교하는 단계와;
    상기 비교 결과 동일한 값이 존재할 경우, 특정 문자열(from, to)이 동일한지 비교하는 단계와;
    상기 문자열 및 특정 문자열 비교 단계에서 동일한 값이 없을 경우, 다음 호(Call)에서 상기 값과 동일한 값의 존재를 검색하는 단계와;
    상기 특정 문자열 비교 결과 동일한 값이 존재할 경우, 호 프로세서(Call processor)로 메시지를 전달하는 단계를 포함하여 이루어짐을 특징으로 하는 해시 테이블을 이용한 에스아이피 메시지 처리 방법.
  2. 제 1 항에 있어서, 상기 해당 연결 리스트(Linked List)가 하나일 경우, Call ID로 해시 키(Hash Key)를 바로 생성하여 현재 진행중인 호(Call)에 대한 비교 없이 해당 연결 리스트에 바로 액세스(access)하는 단계와, 상기 해당 해시 키에 대해 여러 개의 연결 리스트가 있을 경우, 현재 진행중인 호에 대해 비교를 수행하는 단계를 더 포함하여 이루어짐을 특징으로 하는 해시 테이블을 이용한 에스아이피 메시지 처리 방법.
KR10-2001-0053200A 2001-08-31 2001-08-31 해시 테이블을 이용한 에스아이피 메시지 처리 방법 KR100381999B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR10-2001-0053200A KR100381999B1 (ko) 2001-08-31 2001-08-31 해시 테이블을 이용한 에스아이피 메시지 처리 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2001-0053200A KR100381999B1 (ko) 2001-08-31 2001-08-31 해시 테이블을 이용한 에스아이피 메시지 처리 방법

Publications (2)

Publication Number Publication Date
KR20030019842A true KR20030019842A (ko) 2003-03-07
KR100381999B1 KR100381999B1 (ko) 2003-05-09

Family

ID=27721804

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2001-0053200A KR100381999B1 (ko) 2001-08-31 2001-08-31 해시 테이블을 이용한 에스아이피 메시지 처리 방법

Country Status (1)

Country Link
KR (1) KR100381999B1 (ko)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040046465A (ko) * 2002-11-27 2004-06-05 한국전자통신연구원 다단계 해시함수를 이용하여 검색시간 한계를 보장하는분리 체이닝 구조의 데이터 처리 시스템 및 그 처리방법
KR100487124B1 (ko) * 2002-11-12 2005-05-03 삼성전자주식회사 세션 이니세이션 프로토콜 시스템의 세션 정보 처리 방법및 그 기록매체
KR100645298B1 (ko) * 2005-09-03 2006-11-14 에스케이 텔레콤주식회사 워드 다이얼링에서의 문자열 검색 시스템 및 방법
KR100713625B1 (ko) * 2005-09-02 2007-05-02 삼성전자주식회사 부하 분산 시스템의 과부하 제어 방법 및 그 장치
KR100786505B1 (ko) * 2006-03-02 2007-12-17 엘지전자 주식회사 휴대용 단말기의 파일 관리 방법

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100487124B1 (ko) * 2002-11-12 2005-05-03 삼성전자주식회사 세션 이니세이션 프로토콜 시스템의 세션 정보 처리 방법및 그 기록매체
KR20040046465A (ko) * 2002-11-27 2004-06-05 한국전자통신연구원 다단계 해시함수를 이용하여 검색시간 한계를 보장하는분리 체이닝 구조의 데이터 처리 시스템 및 그 처리방법
KR100713625B1 (ko) * 2005-09-02 2007-05-02 삼성전자주식회사 부하 분산 시스템의 과부하 제어 방법 및 그 장치
KR100645298B1 (ko) * 2005-09-03 2006-11-14 에스케이 텔레콤주식회사 워드 다이얼링에서의 문자열 검색 시스템 및 방법
KR100786505B1 (ko) * 2006-03-02 2007-12-17 엘지전자 주식회사 휴대용 단말기의 파일 관리 방법

Also Published As

Publication number Publication date
KR100381999B1 (ko) 2003-05-09

Similar Documents

Publication Publication Date Title
US20070133593A1 (en) Searching Strings Representing a Regular Expression
US6411705B2 (en) Signaling state management system for packet network gateways
US7936750B2 (en) Packet transfer device and communication system
US8601139B2 (en) Multiple core session initiation protocol (SIP)
US20040213209A1 (en) Processing of communication session request messages
US6438555B1 (en) Method and apparatus for accessing an ordered array structure
US20070258451A1 (en) Message-Based Processing
CN1954578B (zh) 在基于消息的通信中的改进
JP4716909B2 (ja) ネットワーク接続テーブルを提供するための方法および装置
US20080225874A1 (en) Stateful packet filter and table management method thereof
JP3627697B2 (ja) パケットの宛先検索システム
EP1393496A2 (en) System and methods for providing differentiated services within a network communication system
US20080144609A1 (en) Method for Providing Function of Registering in Session Initiation Protocol and Sip Load Balancer of Enabling the Method
JP3958211B2 (ja) 静的な情報知識を用いたバイナリー圧縮方法
KR100381999B1 (ko) 해시 테이블을 이용한 에스아이피 메시지 처리 방법
US6968395B1 (en) Parsing messages communicated over a data network
KR20090058569A (ko) Sip 파싱 성능을 개선시키기 위한 방법 및 장치
US7002953B2 (en) Multimedia data transfer system between computers associated with terminals
JP4063718B2 (ja) ボタン電話システム、その主装置、及びその着信方法
EP1564960A1 (en) System and methods for providing differentiated services within a network communication system
KR20120009587A (ko) Sip 서비스 시스템 및 그 제어방법
US20020097729A1 (en) Processing messages in a gatekeeper of an internet protocol network
KR100778348B1 (ko) IPv6 라우터의 라인 카드에서 터널 포워딩 정보 구축방법
CN113438220B (zh) 在软交换通信系统中转换ip地址的方法及软交换通信系统
JPH09261275A (ja) 音声通信システムにおけるゲートウェイ選択制御システム

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20070406

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee