KR100426306B1 - 인트라 도메인내에서의 sip 서버간 로드 분산 처리 방법 - Google Patents
인트라 도메인내에서의 sip 서버간 로드 분산 처리 방법 Download PDFInfo
- Publication number
- KR100426306B1 KR100426306B1 KR10-2001-0078193A KR20010078193A KR100426306B1 KR 100426306 B1 KR100426306 B1 KR 100426306B1 KR 20010078193 A KR20010078193 A KR 20010078193A KR 100426306 B1 KR100426306 B1 KR 100426306B1
- Authority
- KR
- South Korea
- Prior art keywords
- server
- sip
- response message
- load
- sld
- Prior art date
Links
- 238000012545 processing Methods 0.000 title claims abstract description 22
- 238000000034 method Methods 0.000 title claims description 45
- 230000000977 initiatory effect Effects 0.000 title abstract 2
- 238000003672 processing method Methods 0.000 claims abstract description 19
- 230000004044 response Effects 0.000 claims description 86
- 230000008569 process Effects 0.000 claims description 24
- 230000009467 reduction Effects 0.000 claims description 4
- 238000012512 characterization method Methods 0.000 abstract 1
- 238000007726 management method Methods 0.000 description 12
- 238000010586 diagram Methods 0.000 description 10
- 230000008901 benefit Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 1
- 238000012958 reprocessing Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/42—Loop networks
- H04L12/427—Loop networks with decentralised control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/1066—Session management
- H04L65/1101—Session protocols
- H04L65/1104—Session initiation protocol [SIP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1008—Server selection for load balancing based on parameters of servers, e.g. available memory or workload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/1066—Session management
- H04L65/1101—Session protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1036—Load balancing of requests to servers for services different from user content provisioning, e.g. load balancing across domain name servers
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Business, Economics & Management (AREA)
- General Business, Economics & Management (AREA)
- Multimedia (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Telephonic Communication Services (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
인트라 도메인내에서의 SIP(Session Initiation Protocol) 서버간 로드 분산 처리 방법을 개시한다.
본 발명은 분산 처리와 기능별 서버 특성화를 통하여 하나의 대표 프락시(proxy)로 집중되는 부하들을 분산시킴으로써 최대 콜 처리 용량을 극대화시킴과 동시에 기존 프락시 서버와의 상호 운용성을 보장할 수 있다.
Description
본 발명은 인트라 도메인내에서의 SIP 서버간 로드 분산 처리 기술에 관한 것으로, 특히, DB 검색 기능과 서버간 부하 분산 기법을 취합하여 대용량 SIP 트래픽을 신속히 처리하는데 용이한 인트라 도메인내에서의 SIP 서버간 로드 분산 처리 방법에 관한 것이다.
현재, IETF RFC2543의 SIP 표준에서는 한 도메인내에서의 대용량 콜 처리 또는 프락시 서버의 부하를 분산시키기 위한 목적으로 리-다이렉트(Redirect) 서버를 이용한 사용자 위치 정보 검색 기능이 제시되고 있다.
특정 도메인에 도달한 콜이 처리되는 방식은, 하나의 프락시에 의한 일괄처리 기법과, 리-다이렉트 서버를 이용한 기능 분산 기법으로 나뉠 수 있다.
먼저, 하나의 프락시에 의해 일괄처리 되는 경우에는 구성이 간단하고 비용이 적게 드는 장점이 있는 반면, 대용량 트래픽 처리가 불가능하고 많은 수의 사용자에게 서비스를 제공할 수 없다는 단점을 지니고 있다. 특히, 이러한 기법은 사용자 위치 정보 DB가 크면 클수록 그 성능은 저하될 수밖에 없다는 치명적인 문제를 지니고 있다.
나머지 리-다이렉트 서버를 사용한 기능 분산 기법은, 콜에 대한 상태 관리 및 전송은 프락시 서버에 일임하고, 해당 사용자의 위치 검색을 리-다이렉트 서버에서 수행토록 하는 역할 분담 기법을 의미한다. 즉, 서버의 부하가 많이 걸리고 처리 시간이 상대적으로 많이 요구되는 DB 관리 루틴을 리-다이렉트 서버에게 맡기고 프락시 서버에서는 콜에 대한 관리만을 수행하도록 기능을 분산시킴으로써 서비스 처리 속도를 향상시킬 수 있다.
대용량 SIP 트래픽을 처리하기 위해서는 후자의 방식이 선호되고 있으나, 후자의 경우 '3xx' 계열 리-다이렉트 메시지를 프락시가 다시 재처리하는데 따른 시간상의 손실 및 프락시의 부하 증가 등의 문제점이 발생될 수 있으며, 동시에 여러 대의 서버를 구동시키기 위해서 표준에서 제시되지 않은 다른 방법들을 적용할 수밖에 없다는 문제가 제기되었다.
본 발명은 상술한 문제를 해결하기 위해 안출한 것으로, 기존 프락시 서버들과의 호환성 및 확장성을 유지한 상태에서 DB 검색 기능과 서버간 부하 분산 기능을 취합하여 대용량 SIP 트래픽을 처리함으로써, 동시에 여러 대의 서버를 구동시키면서도 서비스 성능을 향상시키도록 한 인트라 도메인에서의 SIP 서버간 로드 분산 처리 방법을 제공하는데 그 목적이 있다.
이러한 목적을 달성하기 위한 본 발명의 일 실시예에 따르면, DB 검색 기능과 서버간 부하 분산 기능을 취합하여 SIP 요청 메시지를 처리하는 SLD 서버를 구비하는 인트라 도메인내에서의 SIP 서버간 로드 분산 처리 방법에 있어서, 임의의 도메인의 대표 프락시 서버에서 SIP 요청 메시지가 수신되는지를 판단하고, SIP 요청 메시지가 수신되면 수신한 요청 메시지를 대표 프락시 서버에서 SLD 서버로 전송하는 단계와; SLD 서버에서 해당 사용자의 위치 정보들을 검색하고, 검색 결과가 존재하는 경우, SIP 요청 메시지에 검색 결과 레코드를 추가하는 단계와; 사전 데이터베이스화된 부하 관리 테이블(Load Management Table)에서 부하가 가장 낮은 서버를 검색하고, 검색되는 서버의 레코드에 대하여 SIP 요청 메시지에 대한 부하 증가분을 반영하는 단계와; 검색된 서버로 SIP 요청 메시지를 전송하는 단계를 포함하는 것을 특징으로 하는 인트라 도메인에서의 SIP 서버간 로드 분산 처리 방법을 제공한다.
본 발명의 목적을 달성하기 위한 다른 실시예에 따르면, DB 검색 기능과 서버간 부하 분산 기능을 취합하여 SIP 응답 메시지를 처리하는 SLD 서버를 구비하는인트라 도메인내에서의 SIP 서버간 로드 분산 처리 방법에 있어서, 임의의 대표 프락시 서버로부터 SLD 서버로 SIP 응답 메시지가 수신되면, 수신되는 SIP 응답 메시지의 응답 코드를 판단하는 단계와; 단계의 판단 결과, 응답 코드가 최종 응답(Final Response) 메시지이면, 대표 프락시 서버에 대해서 테이블의 부하 관련 정보를 변경하고, 대표 프락시 서버에 대한 부하 감소분을 적용한 후, 대표 프락시 서버로 SIP 응답 메시지를 전송하는 단계와; 단계의 판단 결과, 응답 코드가 최종 응답 메시지가 아니고 '420' 계열 응답 메시지이면, 인바이트(INVITE) 요청 메시지를 생성하여 하위 프락시 서버로 전송하고, 하위 프락시 서버에 대한 부하 증가분을 적용한 후, 하위 프락시 서버로 상기 SIP 응답 메시지를 전송하는 단계와; 단계의 판단 결과, 응답 코드가 최종 응답 메시지도 아니면서 '420' 계열의 응답 메시지도 아니면 대표 프락시 서버로 SIP 응답 메시지를 전송하는 단계를 포함하는 것을 특징으로 하는 인트라 도메인내에서의 SIP 서버간 로드 분산 처리 방법을 제공한다.
도 1은 본 발명의 일 실시예에 따른 SIP 요청 메시지 수신시의 SIP 서버간 로드 분산 처리 과정의 흐름도,
도 2는 본 발명의 다른 실시예에 따른 SIP 응답 메시지 수신시의 SIP 서버간 로드 분산 처리 과정의 흐름도,
도 3은 본 발명에 따른 인트라 도메인내에서의 SIP 서버간 로드 분산 처리 방법을 설명하기 위한 예시 도면으로서, 대표 프락시 서버로 인바이트 요청 메시지 전송시 SLD(SIP Load Distributor) 서버에 의해 인바이트 요청 메시지가 UA로 전달되는 과정을 설명하기 위한 도면,
도 4는 본 발명에 따른 인트라 도메인내에서의 SIP 서버간 로드 분산 처리 방법을 설명하기 위한 도면으로서, 대표 프락시 서버로 최종 응답 메시지 전송시 SLD 서버에 의해 최종 응답 메시지가 상위 서버로 전달되는 과정을 설명하기 위한 도면,
도 5는 본 발명에 따른 인트라 도메인내에서의 SIP 서버간 로드 분산 처리 방법을 설명하기 위한 도면으로서, 대표 프락시 서버로 정보 응답(InformationalResponse) 메시지 전송시 SLD 서버에 의해 정보 응답 메시지가 상위 서버로 전달되는 과정을 설명하기 위한 도면,
도 6은 본 발명에 따른 인트라 도메인내에서의 SIP 서버간 로드 분산 처리 방법을 설명하기 위한 도면으로서, 대표 프락시 서버로 베드 익스텐션 응답(Bad Extension Response) 메시지 전송시 SLD 서버에 의해 베드 익스텐션 응답 메시지가 처리되어 새로운 인바이트 메시지를 생성하여 보내는 과정을 설명하기 위한 도면.
<도면의 주요부분에 대한 부호의 설명>
10 : 대표 프락시 서버
20 : SLD 서버
30 : 콘택트 리스트 테이블
40 : 로드 메니지먼트 테이블
50, 52 : UA
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예에 대하여 상세하게 설명한다.
설명에 앞서, 본 발명은 기존 프락시 서버들과의 호환성 및 확장성을 유지한 상태에서 리-다이렉트 서버를 사용하는 경우의 장점인 DB 기능 전담 부분과 부하 분산 기법의 장점인 서버간 부하 균형 기법을 취합하여 대용량 SIP 트래픽을 최대한 빨리 처리한다는 것으로, 이러한 기술 사상으로부터 본 발명에서 목적으로 하는바를 용이하게 달성할 수 있을 것이다.
즉, 본 발명은 여러 대의 서버로 부하를 분산시켜 한 서버에 콜 요청이 집중되지 않도록 한다는 것으로, 단순한 복수개의 서버로 인한 분산 뿐 아니라 기능상의 분담을 통해 전문적으로 DB를 검색하고, 서버간 부하를 관리하는 서버와 콜 요청에 대한 관리/처리 기능을 전담하는 프락시 서버로 기능 분담 및 동시 처리하여 대용량 콜에 대한 신속한 서비스 처리를 구현한 것을 특징으로 한다.
이때, 본 발명에서는 인트라 도메인내 각 서버들의 환경이 다음과 같이 설정된 것으로 가정한다.
먼저, 대표되는 SIP 프락시 서버는 수신한 콜 요청들을 SLD 서버에게로 전송한다. 즉, 해당 요청에 비아 헤더(Via Header)를 추가함으로써 요청에 대한 응답 메시지가 SLD 서버를 거쳐 갈 수 있도록 한다.
또한, SLD 서버에 수신된 응답 메시지는 대표 SIP 프락시 서버로 전송된다. 즉, 수신된 응답의 비아 헤더내에 기록된 주소를 토대로 해당 도메인의 대표 SIP 프락시 서버로 수신 응답 메시지가 전송된다.
또한, SLD 서버는 하위 프락시 서버들의 정보들을 모두 인지하고 있다. 이는 관리자의 설정을 통해서 이루어질 수 있으며, SLD 서버는 하위 프락시 서버들의 특성 정보, 주소 정보 등을 사전 인지하고 있는 것으로 가정한다.
도 1은 본 발명의 일 실시예에 따른 SIP 요청 메시지(Require-message) 수신시의 SIP 서버간 로드 분산 처리 과정의 흐름도이다.
먼저, 단계(S100)에서는 해당 도메인의 대표 프락시에서 SIP 요청 메시지가수신되는지를 판단하고, SIP 요청 메시지가 수신되면 해당 도메인의 대표 프락시는 수신한 요청 메시지를 SLD 서버로 전송한다.
SLD 서버가 요청 메시지를 수신한 경우, 단계(S102)로 진행한다.
단계(S102)에서 SLD 서버는 요청-URI에 기록된 주소에 의거하여 레지스트라 DB(Registrar DB)를 검색하여 해당 사용자의 위치 정보들을 검색하고 단계(S104)로 진행하여 검색 결과 존재 유무를 판단한다.
단계(S104)에서의 판단 결과, 검색 결과가 존재하지 않을 경우, SLD 서버는 단계(S106)로 진행하여 '404' 계열 응답 메시지, 예컨대, "Not found" 응답 메시지를 생성하고 생성된 응답 메시지를 상위 서버인 대표 프락시 서버로 전송한다.
그러나, 단계(S104)에서의 판단 결과, 검색 결과가 존재하는 경우, SLD 서버는 단계(S108)로 진행하여 SIP 요청 메시지에 검색 결과 레코드를 추가한다.
즉, 프록시 요청(Proxy-Require) 헤더를 추가하고(Proxy-Require : PreLoadedContact), 추가된 헤더의 내용에 검색된 사용자 위치 정보를 등록하며, 비아 헤더를 추가한다.
단계(S110)에서는 로드 메니지먼트 테이블(Load Management Table : 부하 관리 테이블)에서 현재 가장 부하가 낮은 서버를 검색하고 단계(S112)로 진행한다.
단계(S112)에서는 검색 결과, 즉, 부하가 가장 낮은 검색 서버에 대한 레코드에 대하여 지나간 요청 메시지에 대한 부하 증가분 A를 반영한다. 즉, 로드 메니지먼트 테이블에서 검색된 해당 서버에 대한 테이블의 부하 관련 정보를 변경하고, 해당 서버에 대한 부하 증가분 A를 반영하는 것이다.
끝으로 단계(S114)에서는 검색된 서버로 SIP 요청 메시지를 전송하고 도 1의 과정을 종료한다.
도 2는 본 발명의 다른 실시예에 따른 SIP 응답 메시지(Response message) 수신시의 SIP 서버간 로드 분산 처리 과정의 흐름도이다.
먼저, 단계(S200)에서 SLD 서버가 대표 프락시 서버로부터 응답 메시지를 수신한 경우, SLD 서버는 단계(S202)로 진행하여 자신의 콜 관리 테이블을 검색한 후, 단계(S204)로 진행하여 검색 결과 존재 유무를 판단한다.
단계(S204)의 판단 결과, 검색 결과가 존재하면 SLD 서버는 단계(S208)로 진행하여 비아 헤더 및 레코드 라우트 헤더를 삭제한 후, 단계(S210)로 진행하여 응답 코드를 판단한다.
단계(S210)에서의 응답 코드 판단 결과, 최종 응답(Final Response) 메시지를 수신한 경우로 판단되면, 단계(S212)로 진행하여 응답을 전송한 서버에 대해서 테이블의 부하 관련 정보를 변경하고, 해당 서버에 대한 부하 감소분 A를 적용한 후, 단계(S214)로 진행한다.
단계(S214)에서는 상위 서버인 대표 프락시 서버로 SIP 응답 메시지를 전송한다.
만일, 단계(S210)에서의 응답 코드 판단 결과, 최종 응답 메시지를 수신한 경우가 아니면서 '420' 계열의 응답 메시지, 예컨대, "Bad Extension" 응답 메시지인 경우에는 단계(S216) 및 단계(S218)로 진행하여 인바이트(INVITE) 요청 메시지를 생성하거나 전에 수신하여 유지한 원래 요청 메시지를 하위 프락시 서버로 전송하고, 해당 서버에 대한 부하 증가분 B를 적용한 후, 단계(S220)로 진행한다.
단계(S220)에서는 하위 프락시 서버로 SIP 응답 메시지를 전송한다.
그러나, 단계(S210)에서의 응답 코드 판단 결과, 최종 응답이 아니면서 '420' 계열의 응답 메시지를 수신한 경우가 아닐 경우에는 상위 서버인 대표 프락시로 SIP 응답 메시지를 전송한다.
한편, SLD 서버로부터 "PreLoadedContact"가 적용된 메시지를 수신한 경우, 프락시 서버의 내부 동작 과정은 다음과 같다.
먼저, "PreLoadedContact" 헤더를 지원하는 경우에는, "PreLoadedContact" 헤더에 명시된 주소들에 대하여 "PreLoadedContact" 헤더와 프록시 요청 헤더를 삭제한 상태에서 비아 헤더만 추가하여 메시지를 송신하고, 포킹(Forking)을 지원할 경우 명시된 모든 주소에 대해 동시 또는 순차적으로 메시지를 전송한다.
만일, "PreLoadedContact" 헤더를 지원하지 않는 경우에는 '420' 계열의 응답 메시지, 예컨대, "Not supported" 응답 메시지를 생성하여 SLD 서버로 전송한다.
이하에서는, 본 발명에 따른 인트라 도메인내에서의 SIP 서버간 로드 분산 처리 방법을 메시지 전달 과정에 따른 실시예들을 참조하여 보다 상세히 설명하기로 한다.
도 3은 본 발명에 따른 인트라 도메인내에서의 SIP 서버간 로드 분산 처리 방법을 설명하기 위한 예시 도면으로서, 대표 프락시 서버로 인바이트 요청 메시지 전송시 SLD 서버에 의해 인바이트 요청 메시지가 UA로 전달되는 과정을 설명하기위한 도면이다.
도 3에 도시한 바와 같이, 해당 도메인의 대표 프락시(a.com)(10)에 수신된 인바이트 요청 메시지는 비아 헤더만 추가한 상태로 SLD 서버(20)로 전송되며, 이때의 메시지 전달 정보는 다음과 같다.
INVITEuser@a.com
Via : a.com
Via : caller_ID@caller_IP
인바이트 요청 메시지를 수신한 SLD 서버(20)는 도 1에서 설명한 바와 같이, 해당 요청-URI에 기록된 user@a.com의 주소에 대한 콘택트 주소들을 콘택트 리스트 테이블(30)에서 검색하고, 검색 결과에 따라 수신한 메시지에 "PreLoadedContact" 헤더 형태를 부가한다.
이때, 본 실시예에 따른 "PreLoadedContact" 헤더는 다음 프락시 서버로 이 헤더의 지원 유무를 알려주기 위해 프락시-요청 헤더를 추가한다.
그리고, SLD 서버(20)는 SLD 서버(20)의 내부 데이터베이스의 로드 메니지먼트 테이블(40)을 검색하여 현재 시점에서 가장 부하가 낮게 걸려있는 서버를 검색하고, 해당 서버가 검색되면 해당 테이블 값에 대하여 새로운 메시지 처리를 위해 걸리는 부하 증가분 A를 반영한 다음 해당 서버의 주소로 인바이트 요청 메시지를 전송한다.
이때의 메시지 전달 정보는 다음과 같다.
INVITE user@a.com
Proxy-Require : PreLoadedContact
PreLoadedContact : IP1, IP2
Via : sl.a.com
Via : a.com
Via : caller_ID@caller_IP
이러한 메시지를 수신한 내부 프락시 서버는, 메시지내에 상술한 바와 같은 "PreLoadedContact" 헤더 정보가 부가되어 있으므로, 사용자 위치 정보를 찾기 위한 DB 검색 과정을 거치지 않고 헤더 정보에 명기된 주소 정보를 이용하여 포킹(Forking) 과정을 통해 명기된 주소들에 대해 인바이트 요청 메시지를 전송하게 된다. 이하의 과정은 일반 프락시 서버에서 수행되는 동작 과정과 동일한 바, 구체적인 설명은 생략하기로 한다.
도 4는 본 발명에 따른 인트라 도메인내에서의 SIP 서버간 로드 분산 처리 방법을 설명하기 위한 도면으로서, 대표 프락시 서버로 최종 응답(Final Response) 메시지 전송시 SLD 서버에 의해 최종 응답 메시지가 상위 서버로 전달되는 과정을 설명하기 위한 도면이다.
먼저, 포킹을 통해 여러 곳으로 보내진 메시지에 대하여 한 곳에서 '200' 계열의 응답 메시지, 즉, 최종 응답 메시지가 UA(50)에서 내부 프락시 서버(proxy1.a.com)로 전송되면, 이러한 '200' 계열 응답 메시지는 상위 서버인 SLD 서버(20)로 즉시 전송된다. 또한, 내부 프락시 서버는 나머지 UA(52)로 취소(cancel) 메시지를 전송한다. 이때의 메시지 전달 정보는 다음과 같다.
200 OK
Via : sl.a.com
Via : caller_ID@caller_IP
이러한 최종 응답 메시지를 수신한 SLD 서버(20)는 해당 응답 메시지를 상위 서버로 올려줌과 동시에 내부 프락시들의 부하를 관리하는 로드 메니지먼트 테이블(40)에서 해당 응답의 처리로 인한 부하 감소분 A를 적용하여 해당 서버의 부하가 낮아졌음을 내부 데이터베이스에 기록한다. 이후, 응답 메시지는 비아만 제거된 상태에서 상위 서버인 대표 프락시 서버(10)로 전달된다. 이때의 메시지 전달 정보는 다음과 같다.
200 OK
Via : a.com
Via : caller_ID@caller_IP
이러한 응답 메시지를 수신한 대표 프락시 서버(10)는 도시 생략된 상위 서버로 다음과 같은 메시지를 전달한다.
200 OK
Via : caller_ID@caller_IP
도 5는 본 발명에 따른 인트라 도메인내에서의 SIP 서버간 로드 분산 처리 방법을 설명하기 위한 도면으로서, 대표 프락시 서버로 정보 응답(Informational Response) 메시지 전송시 SLD 서버에 의해 정보 응답 메시지가 상위 서버로 전달되는 과정을 설명하기 위한 도면이다.
먼저, UA(50)로부터 '180' 계열 메시지, 예컨대, 링 응답 메시지가 내부 프락시 서버(proxy1.a.com)로 전송되면, 내부 프락시 서버는 이러한 메시지를 상위 서버, 즉, SLD 서버(20)로 지체 없이 전송한다.
SLD 서버(20)에서는 내부 DB에 대한 작업 없이 이러한 링 응답 메시지를 상위 서버인 대표 프락시 서버(a.com)(10)로 전송한다.
이후, 대표 프락시 서버(10)는 도시 생략된 상위 서버로 링 응답 메시지를 전송한다.
도 6은 본 발명에 따른 인트라 도메인내에서의 SIP 서버간 로드 분산 처리 방법을 설명하기 위한 도면으로서, 대표 프락시 서버로 '420' 계열 응답 메시지, 예컨대, 베드 익스텐션 응답(Bad Extension Response) 메시지 전송시 SLD 서버에 의해 베드 익스텐션 응답 메시지가 하위 서버로 전달되는 과정을 설명하기 위한 도면이다.
도 6에 도시한 바와 같이, 내부 프락시 서버(프락시 1)가 새로 정의된 "PreLoadedContact" 헤더를 추가하지 않고 원래 수신한 인바이트 메시지에 자신의 주소인 비아만 추가한 상태로 전송을 하게 되며, 내부 프락시 서버(프락시 1)가 직접 콘택트 리스트 테이블(30)에 액세스하여 'user@a.com'에 대한 콘택트 주소들을 검색한 후 나머지 과정을 처리하게 된다.
이상, 본 발명을 실시예에 근거하여 구체적으로 설명하였지만, 본 발명은 이러한 실시예에 한정되는 것이 아니라, 그 요지를 벗어나지 않는 범위내에서 여러 가지 변형이 가능한 것은 물론이다.
이상 설명한 바와 같이 본 발명에 따르면, 대용량의 SIP를 사용한 통화 요청을 동시에 처리할 수 있는 서버군의 생성 및 기능별 부하 분담을 통하여 각 서버들의 특징을 특성화할 수 있으며, SLD 서버에서 데이터베이스에 대한 접근 및 내부 프락시 서버들의 상태를 관리해 줌으로써 서비스 관리의 편리성 및 효율성을 증진시키는 효과가 있다.
Claims (8)
- DB 검색 기능과 서버간 부하 분산 기능을 취합하여 SIP 요청 메시지를 처리하는 SLD(SIP Load Distributor) 서버를 구비하는 인트라 도메인내에서의 SIP 서버간 로드 분산 처리 방법에 있어서,임의의 도메인의 대표 프락시 서버에서 SIP 요청 메시지가 수신되는지를 판단하고, 상기 SIP 요청 메시지가 수신되면 상기 수신한 요청 메시지를 상기 대표 프락시 서버에서 상기 SLD 서버로 전송하는 단계와;상기 SLD 서버에서 해당 사용자의 위치 정보들을 검색하고, 검색 결과가 존재하는 경우, 상기 SIP 요청 메시지에 검색 결과 레코드를 추가하는 단계와;사전 데이터베이스화된 부하 관리 테이블(Load Management Table)에서 부하가 가장 낮은 서버를 검색하고, 검색되는 서버의 레코드에 대하여 상기 SIP 요청 메시지에 대한 부하 증가분을 반영하는 단계와;상기 검색된 서버로 SIP 요청 메시지를 전송하는 단계를 포함하는 것을 특징으로 하는 인트라 도메인에서의 SIP 서버간 로드 분산 처리 방법.
- 제 1 항에 있어서,상기 방법은,상기 사용자 위치 정보 검색 결과, 검색 결과가 존재하지 않을 경우, 상기 SLD 서버에서 '404' 계열 응답 메시지를 생성하여 상위 서버인 대표 프락시 서버로전송하는 단계를 더 포함하는 것을 특징으로 하는 인트라 도메인에서의 SIP 서버간 로드 분산 처리 방법.
- 제 1 항에 있어서,상기 검색 결과 레코드 추가 단계는,프록시 요청(Proxy-Require) 헤더를 추가하고, 추가된 헤더의 내용에 상기 검색된 사용자 위치 정보를 등록하며, 비아 헤더(Via Header)를 추가하는 단계인 것을 특징으로 하는 인트라 도메인에서의 SIP 서버간 로드 분산 처리 방법.
- 제 1 항에 있어서,상기 부하 증가분 반영 단계는,상기 부하 관리 테이블에서 검색되는 해당 서버에 대한 테이블의 부하 관련 정보를 변경하고, 상기 서버에 대한 부하 증가분을 반영하는 단계인 것을 특징으로 하는 인트라 도메인에서의 SIP 서버간 로드 분산 처리 방법.
- 제 2 항에 있어서,상기 '404' 계열 응답 메시지는 "Not Found" 응답 메시지인 것을 특징으로 하는 인트라 도메인에서의 SIP 서버간 로드 분산 처리 방법.
- DB 검색 기능과 서버간 부하 분산 기능을 취합하여 SIP 응답 메시지를 처리하는 SLD 서버를 구비하는 인트라 도메인내에서의 SIP 서버간 로드 분산 처리 방법에 있어서,임의의 대표 프락시 서버로부터 상기 SLD 서버로 SIP 응답 메시지가 수신되면, 수신되는 SIP 응답 메시지의 응답 코드를 판단하는 단계와;상기 단계의 판단 결과, 상기 응답 코드가 최종 응답(Final Response) 메시지이면, 상기 대표 프락시 서버에 대해서 테이블의 부하 관련 정보를 변경하고, 상기 대표 프락시 서버에 대한 부하 감소분을 적용한 후, 상기 대표 프락시 서버로 상기 SIP 응답 메시지를 전송하는 단계와;상기 단계의 판단 결과, 상기 응답 코드가 최종 응답 메시지가 아니고 '420' 계열 응답 메시지이면, 인바이트(INVITE) 요청 메시지를 생성하여 상기 하위 프락시 서버로 전송하고, 상기 하위 프락시 서버에 대한 부하 증가분을 적용한 후, 상기 하위 프락시 서버로 상기 SIP 응답 메시지를 전송하는 단계와;상기 단계의 판단 결과, 상기 응답 코드가 최종 응답 메시지도 아니면서 상기 '420' 계열의 응답 메시지도 아니면, 상위 대표 프락시 서버로 상기 SIP 응답 메시지를 전송하는 단계를 포함하는 것을 특징으로 하는 인트라 도메인내에서의 SIP 서버간 로드 분산 처리 방법.
- 제 6 항에 있어서,상기 방법은,상기 대표 프락시 서버로부터 상기 SLD 서버로 상기 SIP 응답 메시지가 수신되면, 상기 SLD 서버에서 콜 관리 테이블을 검색하고, 검색 결과가 존재하면 상기 SLD 서버는 비아 헤더 및 레코드 라우트 헤더를 삭제하는 단계를 더 포함하는 것을 특징으로 하는 인트라 도메인내에서의 SIP 서버간 로드 분산 처리 방법.
- 제 6 항에 있어서,상기 '420' 계열 응답 메시지는 "Bad Extension" 응답 메시지인 것을 특징으로 하는 인트라 도메인내에서의 SIP 서버간 로드 분산 처리 방법.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2001-0078193A KR100426306B1 (ko) | 2001-12-11 | 2001-12-11 | 인트라 도메인내에서의 sip 서버간 로드 분산 처리 방법 |
US10/314,940 US20030110257A1 (en) | 2001-12-11 | 2002-12-10 | Method for performing a load distribution between session initiation protocol servers within an intra domain |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2001-0078193A KR100426306B1 (ko) | 2001-12-11 | 2001-12-11 | 인트라 도메인내에서의 sip 서버간 로드 분산 처리 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20030047543A KR20030047543A (ko) | 2003-06-18 |
KR100426306B1 true KR100426306B1 (ko) | 2004-04-08 |
Family
ID=19716886
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR10-2001-0078193A KR100426306B1 (ko) | 2001-12-11 | 2001-12-11 | 인트라 도메인내에서의 sip 서버간 로드 분산 처리 방법 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20030110257A1 (ko) |
KR (1) | KR100426306B1 (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100472952B1 (ko) * | 2002-10-30 | 2005-03-10 | 한국전자통신연구원 | 세션 초기화 프로토콜(sip)기반의 부하 분산장치 및방법 |
Families Citing this family (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7957401B2 (en) | 2002-07-05 | 2011-06-07 | Geos Communications, Inc. | System and method for using multiple communication protocols in memory limited processors |
US9369498B2 (en) * | 2003-01-30 | 2016-06-14 | Nokia Technologies Oy | Message-based conveyance of load control information |
US7606217B2 (en) * | 2003-07-02 | 2009-10-20 | I2 Telecom International, Inc. | System and method for routing telephone calls over a voice and data network |
DE10337295A1 (de) * | 2003-08-13 | 2005-03-10 | Siemens Ag | Kommunikationsserververbund für Rechnernetze |
EP1528744A1 (en) * | 2003-10-30 | 2005-05-04 | Hewlett-Packard Development Company, L.P. | Method and apparatus for load-balancing |
US7860095B2 (en) * | 2003-10-30 | 2010-12-28 | Hewlett-Packard Development Company, L.P. | Method and apparatus for load-balancing |
US7676599B2 (en) * | 2004-01-28 | 2010-03-09 | I2 Telecom Ip Holdings, Inc. | System and method of binding a client to a server |
GB2411541B (en) * | 2004-02-26 | 2006-09-13 | Siemens Ag | A sip server |
WO2005086964A2 (en) * | 2004-03-11 | 2005-09-22 | I2Telecom International, Inc. | DYNAMICALLY ADAPTING THE TRANSMISSION RATE OF PACKETS IN REAL-TIME VoIP COMMUNICATIONS TO THE AVAILABLE BANDWIDTH |
US8804758B2 (en) | 2004-03-11 | 2014-08-12 | Hipcricket, Inc. | System and method of media over an internet protocol communication |
US7535905B2 (en) * | 2004-03-31 | 2009-05-19 | Microsoft Corporation | Signing and validating session initiation protocol routing headers |
US8089972B2 (en) | 2004-05-03 | 2012-01-03 | Level 3 Communications, Llc | Registration redirect server |
US8024476B2 (en) * | 2004-05-21 | 2011-09-20 | Microsoft Corporation | Efficient message routing when using server pools |
KR101115140B1 (ko) * | 2004-06-05 | 2012-02-21 | 엘지에릭슨 주식회사 | 소프트스위치에서의 sip 호처리시스템과 방법 |
US7782878B2 (en) * | 2004-08-16 | 2010-08-24 | I2Telecom Ip Holdings, Inc. | System and method for sharing an IP address |
US7336654B2 (en) * | 2004-10-20 | 2008-02-26 | I2Telecom International, Inc. | Portable VoIP service access module |
US7734019B1 (en) | 2004-12-09 | 2010-06-08 | Level 3 Communications, Llc | Systems and methods for third party emergency call termination |
US9843557B2 (en) | 2004-12-09 | 2017-12-12 | Level 3 Communications, Llc | Systems and methods for dynamically registering endpoints in a network |
US7680060B2 (en) * | 2005-03-08 | 2010-03-16 | Cisco Technology, Inc. | Transferring state information in a network |
CN100558109C (zh) * | 2006-05-16 | 2009-11-04 | 华为技术有限公司 | 基于会话初始协议的负载均衡实现方法及系统 |
FR2906668A1 (fr) * | 2006-10-02 | 2008-04-04 | Alcatel Sa | Marqueur pour systemes de communication composes d'une pluralite de serveurs sip. |
US8812579B2 (en) * | 2006-12-21 | 2014-08-19 | Verizon Patent And Licensing Inc. | Apparatus for transferring data via a proxy server and an associated method and computer program product |
US8504048B2 (en) | 2007-12-17 | 2013-08-06 | Geos Communications IP Holdings, Inc., a wholly owned subsidiary of Augme Technologies, Inc. | Systems and methods of making a call |
US8082580B1 (en) | 2007-12-21 | 2011-12-20 | Juniper Networks, Inc. | Session layer pinhole management within a network security device |
US20090185673A1 (en) * | 2008-01-17 | 2009-07-23 | Avaya Technology Llc | Voice-Over-IP Call Recording in Call Centers |
US8369323B1 (en) * | 2008-02-08 | 2013-02-05 | Juniper Networks, Inc. | Managing voice-based data communications within a clustered network environment |
EP2647170B1 (en) * | 2010-11-30 | 2020-10-07 | Koninklijke KPN N.V. | Dynamic assignment of a serving network node |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR19980087398A (ko) * | 1997-05-30 | 1998-12-05 | 포맨 제프리 엘 | 인터넷에서의 동적 경로배정 방법 및 장치 |
JPH11250020A (ja) * | 1998-03-04 | 1999-09-17 | Fujitsu Ltd | 負荷分散システム、セション管理システム、クライアント装置、負荷分散プログラムを記録したコンピュータ読み取り可能な記録媒体、セション管理プログラムを記録したコンピュータ読み取り可能な記録媒体及びローカル代理サーバプログラムを記録したコンピュータ読み取り可能な記録媒体 |
KR20010075542A (ko) * | 1998-10-09 | 2001-08-09 | 포만 제프리 엘 | 협동 캐시 서버의 부하 조정 방법 |
KR20020086163A (ko) * | 2001-05-11 | 2002-11-18 | 에스케이 텔레콤주식회사 | 차세대 이동 통신 시스템의 패킷 기반 망에서의 다중 관문운용장치 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 |
US7484240B2 (en) * | 2001-07-13 | 2009-01-27 | Nokia Corporation | Mechanism to allow authentication of terminated SIP calls |
KR100472952B1 (ko) * | 2002-10-30 | 2005-03-10 | 한국전자통신연구원 | 세션 초기화 프로토콜(sip)기반의 부하 분산장치 및방법 |
-
2001
- 2001-12-11 KR KR10-2001-0078193A patent/KR100426306B1/ko not_active IP Right Cessation
-
2002
- 2002-12-10 US US10/314,940 patent/US20030110257A1/en not_active Abandoned
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR19980087398A (ko) * | 1997-05-30 | 1998-12-05 | 포맨 제프리 엘 | 인터넷에서의 동적 경로배정 방법 및 장치 |
JPH11250020A (ja) * | 1998-03-04 | 1999-09-17 | Fujitsu Ltd | 負荷分散システム、セション管理システム、クライアント装置、負荷分散プログラムを記録したコンピュータ読み取り可能な記録媒体、セション管理プログラムを記録したコンピュータ読み取り可能な記録媒体及びローカル代理サーバプログラムを記録したコンピュータ読み取り可能な記録媒体 |
KR20010075542A (ko) * | 1998-10-09 | 2001-08-09 | 포만 제프리 엘 | 협동 캐시 서버의 부하 조정 방법 |
KR20020086163A (ko) * | 2001-05-11 | 2002-11-18 | 에스케이 텔레콤주식회사 | 차세대 이동 통신 시스템의 패킷 기반 망에서의 다중 관문운용장치 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100472952B1 (ko) * | 2002-10-30 | 2005-03-10 | 한국전자통신연구원 | 세션 초기화 프로토콜(sip)기반의 부하 분산장치 및방법 |
Also Published As
Publication number | Publication date |
---|---|
KR20030047543A (ko) | 2003-06-18 |
US20030110257A1 (en) | 2003-06-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100426306B1 (ko) | 인트라 도메인내에서의 sip 서버간 로드 분산 처리 방법 | |
KR100472952B1 (ko) | 세션 초기화 프로토콜(sip)기반의 부하 분산장치 및방법 | |
US7707289B1 (en) | Method and system for enabling persistent access to virtual servers by an LDNS server | |
US9734472B2 (en) | Request routing utilizing cost information | |
US8306022B1 (en) | Method for content-aware redirection and content renaming | |
US7996533B2 (en) | HTML delivery from edge-of-network servers in a content delivery network (CDN) | |
US7111006B2 (en) | System and method for providing distributed database services | |
US8503433B2 (en) | Routing methods and systems using ENUM servers | |
US20020078233A1 (en) | Method and apparatus for content distribution network brokering and peering | |
US20120173677A1 (en) | Request routing | |
US20010039585A1 (en) | System and method for directing a client to a content source | |
US6801952B2 (en) | Method and devices for providing network services from several servers | |
US6654795B1 (en) | System and method for distribution of network file accesses over network storage devices | |
JPH10126445A (ja) | 文脈依存の名前分解 | |
RU2004117878A (ru) | Способ и устройство для дерева распределенных серверов | |
US20020143946A1 (en) | Software based internet protocol address selection method and system | |
JP4009591B2 (ja) | データベースにアクセスするためのドメインネーミングシステム(dns) | |
KR100450605B1 (ko) | 웹-어플리케이션 서버 및 그의 동적 컨텐츠 제공 방법 | |
US20050237945A1 (en) | Network comprising search functions that are integrated into communication components | |
KR101109524B1 (ko) | 복수의 cdn 사업자를 통한 컨텐츠 분배시스템 및 방법, 그 컨텐츠 제공자 네임서버 | |
JP2002366415A (ja) | リダイレクトシステムおよびリダイレクト装置 | |
KR20100054660A (ko) | 복수의 cdn 사업자를 통한 컨텐츠 분배시스템 및 방법, 그 컨텐츠서버 | |
GB2348565A (en) | Gateway discovery | |
KR20100055295A (ko) | 복수의 cdn 사업자를 통한 컨텐츠 분배시스템 및 방법 | |
CA2351519A1 (en) | Arrangement and method related to distributed caching |
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: 20130304 Year of fee payment: 10 |
|
FPAY | Annual fee payment |
Payment date: 20140303 Year of fee payment: 11 |
|
LAPS | Lapse due to unpaid annual fee |