KR100673514B1 - SlP 로드밸런서에서 레지스터 기능을 수행하는 방법 및이를 수행하는 SlP로드밸런서 - Google Patents

SlP 로드밸런서에서 레지스터 기능을 수행하는 방법 및이를 수행하는 SlP로드밸런서 Download PDF

Info

Publication number
KR100673514B1
KR100673514B1 KR20050010360A KR20050010360A KR100673514B1 KR 100673514 B1 KR100673514 B1 KR 100673514B1 KR 20050010360 A KR20050010360 A KR 20050010360A KR 20050010360 A KR20050010360 A KR 20050010360A KR 100673514 B1 KR100673514 B1 KR 100673514B1
Authority
KR
South Korea
Prior art keywords
message
register
sip server
user agent
real sip
Prior art date
Application number
KR20050010360A
Other languages
English (en)
Other versions
KR20060089363A (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 KR20050010360A priority Critical patent/KR100673514B1/ko
Priority to US11/815,463 priority patent/US8064468B2/en
Priority to PCT/KR2005/000413 priority patent/WO2006083052A1/en
Priority to JP2007553995A priority patent/JP4495764B2/ja
Publication of KR20060089363A publication Critical patent/KR20060089363A/ko
Application granted granted Critical
Publication of KR100673514B1 publication Critical patent/KR100673514B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • EFIXED CONSTRUCTIONS
    • E04BUILDING
    • E04HBUILDINGS OR LIKE STRUCTURES FOR PARTICULAR PURPOSES; SWIMMING OR SPLASH BATHS OR POOLS; MASTS; FENCING; TENTS OR CANOPIES, IN GENERAL
    • E04H12/00Towers; Masts or poles; Chimney stacks; Water-towers; Methods of erecting such structures
    • E04H12/02Structures made of specified materials
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B32LAYERED PRODUCTS
    • B32BLAYERED PRODUCTS, i.e. PRODUCTS BUILT-UP OF STRATA OF FLAT OR NON-FLAT, e.g. CELLULAR OR HONEYCOMB, FORM
    • B32B27/00Layered products comprising a layer of synthetic resin
    • B32B27/06Layered products comprising a layer of synthetic resin as the main or only constituent of a layer, which is next to another layer of the same or of a different material
    • B32B27/10Layered products comprising a layer of synthetic resin as the main or only constituent of a layer, which is next to another layer of the same or of a different material of paper or cardboard
    • 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/10Architectures or entities
    • H04L65/102Gateways
    • H04L65/1043Gateway controllers, e.g. media gateway control protocol [MGCP] controllers
    • 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
    • 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
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1006Server selection for load balancing with static server selection, e.g. the same server being selected for a specific client
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1008Server selection for load balancing based on parameters of servers, e.g. available memory or workload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1014Server selection for load balancing based on the content of a request
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1029Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers using data related to the state of servers by a load balancer

Abstract

본 발명은 SIP(Session Initiation Protocol) 로드밸런서에서 레지스터(register) 기능을 수행하는 방법 및 이를 수행하는 SIP 로드밸런서에 관한 것으로, 더욱 상세하게는 SIP 로드밸런서에서 하나 이상의 리얼 SIP 서버에 유저 에이전트의 정보를 등록하는 방법 및 장치에 관한 것이다. 본 발명에 따르면 유저 에이전트에서 송수신되는 메시지 수를 줄여 유저 에이전트에서 처리되는 정보량을 현격하게 줄일 수 있는 SIP 로드밸런서에서 레지스터 기능을 제공하는 방법 및 이를 수행하는 SIP 로드밸런서를 제공할 수 있다.
SIP, 레지스터 기능, 레지스터 메시지, 로드밸런서

Description

SlP 로드밸런서에서 레지스터 기능을 수행하는 방법 및 이를 수행하는 SlP로드밸런서{METHOD FOR PROVIDING FUNCTION OF REGISTERING IN SESSION INITIATION PROTOCOL AND SIP LOAD BALANCER OF ENABLING THE METHOD}
도 1은 종래 기술에 따라 인증을 필요로 하지 않는 리얼 SIP 서버에 유저 에이전트 정보를 등록하는 과정을 도시한 도면이다.
도 2는 종래 기술에 따라 인증을 필요로 하지 않는 하나 이상의 리얼 SIP 서버에 유저 에이전트 정보를 등록하는 과정을 도시하는 도면이다.
도 3은 종래 기술에 따라 인증을 필요로 하는 리얼 SIP 서버에 유저 에이전트의 정보를 등록하는 과정을 도시한 도면이다.
도 4는 종래 기술에 따라 인증을 필요로 하는 하나 이상의 리얼 SIP 서버에 유저 에이전트의 정보를 등록하는 과정을 도시한 도면이다.
도 5는 본 발명의 일실시예에 따라 인증을 필요로 하지 않는 하나 이상의 리얼 SIP 서버에 유저 에이전트의 정보를 등록하는 과정을 도시한 도면이다.
도 6은 본 발명에 따라 인증을 필요로 하는 하나 이상의 리얼 SIP 서버에 유저 에이전트의 정보를 등록하는 과정을 도시한 도면이다.
도 7은 본 발명의 다른 실시예에 따라 인증을 필요로 하지 않는 하나 이상의 리얼 SIP 서버에 유저 에이전트의 정보를 등록하는 과정을 도시한 도면이다.
도 8은 본 발명의 다른 실시예에 따라 인증을 필요로 하는 하나 이상의 리얼 SIP 서버에 유저 에이전트의 정보를 등록하는 과정을 도시한 도면이다.
도 9는 본 발명의 일실시예에 따라 SIP 로드밸런서에서 레지스터 기능을 제공하는 장치의 구성을 도시한 블록도이다.
도 10는 본 발명의 다른 실시예에 따라 SIP 로드밸런서에서 레지스터 기능을 제공하는 장치의 구성을 도시한 블록도이다.
<도면의 주요 부분에 대한 부호의 설명>
901, 1001: 유저 에이전트 통신부
902, 1002: 정보 테이블
903: 메시지 복사부
904: 기록부
905: 메시지 처리부
906: 정보 검색부
907, 1005: 리얼 SIP 서버 통신부
1003: 리얼 SIP 서버 할당부
1004: 판단부
본 발명은 SIP(Session Initiation Protocol) 로드밸런서에서 레지스터 (register) 기능을 수행하는 방법 및 이를 수행하는 SIP 로드밸런서에 관한 것으로, 더욱 상세하게는 SIP 로드밸런서에서 하나 이상의 리얼 SIP 서버에 유저 에이전트의 정보를 등록하는 방법 및 장치에 관한 것이다.
세션 개시 프로토콜(Session Initiation Protocol; 이하 "SIP")를 이용한 네트워크 통신에서, 유저 에이전트가 소정의 리얼 SIP 서버와 연결되어 통신을 수행하기 위해서는 유저 에이전트의 정보를 리얼 SIP 서버에 등록하는 과정이 필요하다. 또한 이러한 유저 에이전트 등록을 위하여 SIP(Session Initiation Protocol)에서는 레지스터(register) 메소드(method)를 이용하고 있다.
이 때, 유저 에이전트에서 레지스터 메소드를 이용하여 하나 이상의 리얼 SIP 서버에 유저 에이전트 정보를 등록하기 위해서는, 정보를 등록하고자 하는 하나 이상의 리얼 SIP 서버와 직접 레지스터 메시지를 송수신하여야 한다. 또한 유저 에이전트 정보 등록을 위해 해당 유저 에이전트에 대한 인증을 필요로 하는 경우에는, 리얼 SIP 서버는 유저 에이전트와 리얼 SIP 서버 간 소정의 인증 단계를 거쳐야 유저 에이전트의 정보를 등록할 수 있다.
이하에서는 종래 기술에 따라 리얼 SIP 서버에 유저 에이전트 정보를 등록하는 과정을 설명한다.
도 1은 종래 기술에 따라 인증을 필요로 하지 않는 단일 리얼 SIP 서버에 유저 에이전트의 정보를 등록하는 과정을 도시한 도면이다. 도 1의 도면 부호(101)은 유저 에이전트, 도면 부호(102)는 리얼 SIP 서버이다.
종래 기술의 SIP 관련 RFC3261에 따른 SIP에서 유저 에이전트와 리얼 SIP 서 버간 등록 과정은 다음과 같다.
유저 에이전트(101)는 제1 레지스터 메시지(103)를 리얼 SIP 서버로 전송한다.
상기 제1 레지스터 메시지는 도면 부호(103)와 같은 정보를 포함하여 구성될 수 있다. 상기한 SIP 메시지에 포함되는 정보에 대한 사항은 당업자에게 잘 알려져 있는 것이므로 상세한 설명은 생략한다.
제1 레지스터 메시지(103)를 수신한 리얼 SIP 서버(102)는 확인 메시지(104)를 유저 에이전트(101)로 전송한다. 확인 메시지(104)는 통상의 SIP에서 널리 쓰이는 200 OK 메시지일 수 있다.
유저 에이전트(101)는 확인 메시지(104)를 수신하고, 리얼 SIP 서버(102)에 대한 등록 과정은 종료된다.
도 2는 종래 기술에 따라 인증을 필요로 하지 않는 하나 이상의 리얼 SIP 서버에 유저 에이전트 정보를 등록하는 과정을 도시하는 도면이다.
도 2를 참조하면, 단계(S201)에서 유저 에이전트는 제1 레지스터 메시지를 제1 리얼 SIP 서버로 전송한다. 제1 레지스터 메시지는 도 1에 설명한 메시지 형식과 동일하다.
단계(S202)에서 제1 리얼 SIP 서버는 상기 제1 레지스터 메시지를 수신하여 유저 에이전트의 정보를 등록한 다음 확인 메시지를 유저 에이전트로 전송한다.
단계(S203)에서 유저 에이전트는 확인 메시지를 수신한 후, 다음으로 등록할 제2 리얼 SIP 서버로 제2 레지스터 메시지를 전송한다.
단계(S204)에서 제2 리얼 SIP 서버는 상기 제2 레지스터 메시지를 수신하여 유저 에이전트의 정보를 등록한 다음 확인 메시지를 유저 에이전트로 전송한다.
상기와 같은 과정은 유저 에이전트에서 등록하고자 하는 리얼 SIP 서버 전체에 대하여 유저 에이전트의 정보가 등록될 때까지 반복된다. 따라서, 유저 에이전트는 등록하고자 하는 하나 이상의 리얼 SIP 서버 정보를 모두 기록하고 있어야 하고, 리얼 SIP 서버의 네트워크 주소 정보를 알고 있지 아니한 경우에는 브로드캐스팅을 통하여 유저 에이전트와 연결된 모든 리얼 SIP 서버의 네트워크 주소를 획득하여야 하는 문제점이 있다. 또한 모든 리얼 SIP 서버와 레지스터 메시지 및 확인 메시지를 송수신하여야 한다.
도 3은 종래 기술에 따라 인증을 필요로 하는 단일 리얼 SIP 서버에 유저 에이전트의 정보를 등록하는 과정을 도시한 도면이다.
SIP 관련 RFC-3261에 따르면 유저 에이전트와 리얼 SIP 서버간 등록 과정에서 사용자의 인증을 위하여 HTTP 인증(authorization) 방식을 사용하도록 권고하고 있다. HTTP 인증 방식에 따라 리얼 SIP 서버에 유저 에이전트 정보를 등록하는 과정은 다음과 같다.
단계(S301)에서 유저 에이전트는 제1 레지스터 메시지를 SIP 서버로 전송한다. 이 때 제1 레지스터 메시지는 일예로 다음과 같은 정보를 포함할 수 있다.
REGISTER sip:192.168.1.150 SIP/2.0
From: <sip:20001@192.168.1.150>;tag=7701a8c0-13c4-14-6dc6-76da
To: <sip:20001@192.168.1.150>
Call-ID: 7701a8c0-13c4-14-6d06-5aef@192.168.1.119
CSeq: 1 REGISTER
Via: SIP/2.0/UDP 192.168.1.119:5060;branch=z9hG4bK-14-6dc8-370b
Max-Forwards: 70
Supported: 100rel,replaces
Contact: <sip:20001@192.168.1.119>
Expires: 3600
Content-Length:0
단계(S302)에서 리얼 SIP 서버는 상기 제1 레지스터 메시지를 수신하고, 유저 에이전트로 인증에 필요한 제1 응답 메시지를 전송한다. 이 때 제1 응답 메시지로 401 Unauthorized 메시지가 사용될 수 있으며, 제1 응답 메시지는 일예로 다음과 같은 정보를 포함할 수 있다.
SIP/2.0 401 Unauthorized
Via: SIP/2.0/UDP 192.168.1.119:5060;branch=z9hG4bK-14-6dc8-370b
From: <sip:20001@192.168.1.150>;tag=7701a8c0-13c4-14-6dc6-76da
To: <sip:20001@192.168.1.150>;tag=atelo-5dd5-b05276c1
Call-ID: 7701a8c0-13c4-14-6d06-5aef@192.168.1.119
CSeq: 1 REGISTER
Content-Length: 0
WWW-Authenticate: Digest nonce="MDAxMDk5ODE4MzExOjExMzFiaF lIV05oL0d1MjYxYUd2UnZUUHc9PQ==",realm="sip.ne.jp"
상기와 같이 제1 응답 메시지는 인증 관련 헤더인 WWW-Authenticate 헤더를 포함하고, 상기 WWW-Authenticate 헤더에 Digest nonce 값을 포함할 수 있다. 상기 Digest nonce 값은 유저 에이전트의 인증을 위해 포함되는 정보이다.
단계(S303)에서 유저 에이전트는 상기 제1 응답 메시지를 수신하고, 상기 제1 응답 메시지에 대응하여 제1 레지스터 응답 메시지를 생성하여 이를 리얼 SIP 서버로 전송한다. 제1 레지스터 응답 메시지는 일예로 다음과 같은 정보를 포함할 수 있다.
REGISTER sip:192.168.1.150 SIP/2.0
From: <sip:20001@192.168.1.150>;tag=7701a8c0-13c4-14-6dc6-76da
To: <sip:20001@192.168.1.150>
Call-ID: 7701a8c0-13c4-14-6d06-5aef@192.168.1.119
CSeq: 2 REGISTER
Via: SIP/2.0/UDP 192.168.1.119:5060;branch=z9hG4bK-15-6e46-4801
Max-Forwards: 70
Supported: 100rel,replaces
Contact: <sip:20001@192.168.1.119>
Expires: 3600
Authorization: Digest username="20001.test_directory", realm="sip.ne.jp",
nonce="MDAxMDk5ODE4MzExOjExMzFiaFlIV05oL0d1MjYxYUd2UnZUUHc9PQ==", uri="sip:192.168.1.150",
response="b220ce33181c630194027c6bd0508756",
algorithm=MD5
Content-Length:0
상기와 같이 제1 레지스터 응답 메시지는 제1 응답 메시지에 포함된 WWW-Authenticate 헤더의 Digest nonce 값에 대응하여 인증 응답 헤더인 Authorization 헤더에 response 값을 포함할 수 있다. 일예로, 상기 response 값은 상기 nonce 값을 기초로 해슁(hashing)한 값일 수 있다.
즉, 유저 에이전트는 인증을 위하여 리얼 SIP 서버로부터 수신한 제1 레지스터 메시지에 포함된 Digest nonce 값을 분석하고, 이에 대응하여 response 값을 생성한 다음 이를 제1 레지스터 응답 메시지에 포함하여 리얼 SIP 서버로 전송한다.
단계(S304)에서 리얼 SIP 서버는 제1 레지스터 응답 메시지를 수신하고, 상기 제1 레지스터 응답 메시지에 포함된 정보, 특히 response 값을 확인한 다음, 포 함된 정보가 인증 응답 정보로 적합하면 확인 메시지를 유저 에이전트로 전송한다. 상기 확인 메시지는 일예로 다음과 같은 정보를 포함할 수 있다.
SIP/2.0 200 OK
Via: SIP/2.0/UDP 192.168.1.119:5060;branch=z9hG4bK-15-6e46-4801
From: <sip:20001@192.168.1.150>;tag=7701a8c0-13c4-14-6dc6-76da
To: <sip:20001@192.168.1.150>;tag=atelo-6ad4-b0545f09
Call-ID: 7701a8c0-13c4-14-6d06-5aef@192.168.1.119
CSeq: 2 REGISTER
Content-Length: 0
Date: 07 Nov 2004 09:05:12 GMT
Contact: sip:20001@192.168.1.119;expires=3600
만약 상기 수신한 제1 레지스터 응답 메시지에 포함된 정보가 인증 응답 정보로 적합하지 않으면 제1 응답 메시지를 다시 유저 에이전트로 전송하여 인증을 재시도한다.
도 4는 종래 기술에 따라 인증을 필요로 하는 하나 이상의 리얼 SIP 서버에 유저 에이전트의 정보를 등록하는 과정을 도시한 도면이다.
종래 기술에 따르면 유저 에이전트가 인증을 필요로 하는 하나 이상의 리얼 SIP 서버에 유저 에이전트 정보를 등록하려면 각각의 리얼 SIP 서버에 대해 등록 과정을 수행하여야 한다.
단계(S401)에서 유저 에이전트는 제1 레지스터 메시지를 제1 리얼 SIP 서버로 전송한다.
단계(S402)에서 상기 제1 레지스터 메시지를 수신하고, 제1 응답 메시지를 유저 에이전트로 전송한다. 상기 도 3을 참조하여 설명한 바와 같이 제1 응답 메시지는 WWW-Authenticate 헤더에 Digest nonce 값을 포함할 수 있다. 예를 들어, 제1 응답 메시지는 Digest nonce 값으로 "1111"을 포함할 수 있다.
단계(S403)에서 유저 에이전트는 상기 제1 응답 메시지를 수신하고, 이에 대응하여 제1 레지스터 응답 메시지를 제1 리얼 SIP 서버로 전송한다.
상기 도 3을 참조하여 설명한 바와 같이 상기 제1 레지스터 응답 메시지는 제1 응답 메시지에 포함된 WWW-Authenticate 헤더의 Digest nonce 값에 대응하여 Authorization 헤더에 response 값을 포함할 수 있다. 상기 예에서, 제1 레지스터 응답 메시지는 상기 제1 응답 메시지의 Digest nonce 값인 "1111"에 대응하는 response 값으로 "aaaa"를 포함할 수 있다.
단계(S404)에서 제1 리얼 SIP 서버는 상기 제1 레지스터 응답 메시지를 수신하여 상기 Authorization 헤더에 response 값을 확인하고, 인증 응답 정보가 맞는 경우 인증 확인 메시지를 유저 에이전트로 전송한다.
상기 예에서 제1 리얼 SIP 서버는 상기 제1 레지스터 응답 메시지에 포함된 response 값인 "aaaa"를 확인하고 이 값이 인증 응답 정보가 맞는 경우, 인증 확인 메시지를 유저 에이전트로 전송하게 된다.
만약 상기 수신한 제1 레지스터 응답 메시지에 포함된 정보가 인증 응답 정보가 아닌 경우 상술한 제1 응답 메시지를 다시 유저 에이전트로 전송하여 인증을 재시도하도록 한다.
상기와 같은 과정은 유저 에이전트와 제2 리얼 SIP 서버 간의 유저 에이전트 정보 등록 과정에도 동일하게 적용된다.
따라서 상술한 바와 같은 종래 기술에 따르면, 유저 에이전트는 레지스터 메시지를 전송하고 확인 메시지를 수신함으로써 리얼 SIP 서버에 정보를 등록할 수 있다.
그러나 하나 이상의 리얼 SIP 서버에 정보를 등록하기 위해서는 각각의 리얼 SIP 서버 모두에 레지스터 메시지를 전송하여야 하고, 각각의 레지스터 메시지에 대한 확인 메시지를 모두 확인하여야 하므로 전송되는 메시지와 수신되는 메시지의 수가 방대해져 유저 에이전트에서 처리되어야 하는 정보가 지나치게 많아지는 문제점이 있다.
더욱이 오늘날과 같이 유저 에이전트와 SIP로 연결되는 리얼 SIP 서버의 수가 증대되고 있는 현실에서 상기와 같은 방법으로 유저 에이전트에서 개별의 리얼 SIP 서버로 일일이 유저 에이전트의 정보를 등록하는 경우에는 네트워크 상의 부하를 가중시킨다는 문제가 있다. 더욱이 SIP 표준 RFC3261에는 사용자 인증을 위하여 HTTP authorization 기능을 사용하도록 권고하고 있는데, 이러한 기능을 사용하여 인증을 수행하는 리얼 SIP 서버에 유저 에이전트 정보를 등록하기 위해서는 각각의 리얼 SIP 서버 모두에 레지스터 메시지를 전송하여야 하고, 각각의 리얼 SIP 서버 모두에서 응답 메시지를 수신하여야 하고, 또한 이러한 각각의 응답메시지에 대한 레지스터 응답 메시지를 생성하여 전송하고 이에 대응하는 확인 메시지를 수신하여야 한다.
따라서 유저 에이전트에서 인증을 수행하는 하나 이상의 리얼 SIP 서버에 유저 에이전트 정보를 등록하려면 전송되는 메시지와 수신되는 메시지의 수가 더욱 방대해져 유저 에이전트에서 처리되어야 할 정보가 지나치게 많아져 유저 에이전트의 과부하를 일으킬 수 있는 문제점이 있다.
또한 종래 기술에 따르면 유저 에이전트는 각각의 리얼 SIP 서버에 레지스터 메시지를 전송하여 정보를 등록하여야 하므로, 각각의 리얼 SIP 서버의 주소 모두를 기록 및 유지하고 있어야 한다는 단점이 있다. 이를 위해, 유저 에이전트 각각은 리얼 SIP 서버의 네트워크 주소를 알아야 하므로 이를 위해 네트워크 상에 브로드캐스팅을 수행하여야 하고, 이는 네트워크 상의 부하를 더욱 가중시킨다는 문제점이 있다.
또한 종래 기술에 따르면 유저 에이전트는 각각의 리얼 SIP 서버에 레지스터 메시지를 전송하여 정보를 등록하여야 하므로, 각각의 리얼 SIP 서버에 정보가 등록되는 시간의 차이가 크게 날 수 있어 유저 에이전트의 정보가 각 리얼 SIP 서버에 동기화되는 시간 차이가 크게 날 수 있는 단점이 있다. 따라서 상기와 같은 문제점을 해결할 수 있는 방법 및 장치의 필요성이 증대되고 있다.
본 발명은 상술한 바와 같은 종래 기술의 문제점을 해결하기 위해 안출된 것 으로서, SIP 로드밸런서에서 레지스터 기능을 제공하는 방법 및 이를 수행하는 SIP 로드밸런서를 제공하는 것을 그 목적으로 한다.
또한, 본 발명은 유저 에이전트에서 송수신되는 메시지 수를 줄여 유저 에이전트에서 처리되는 정보량을 현저하게 줄일 수 있는 SIP 로드밸런서에서 레지스터 기능을 제공하는 방법 및 이를 수행하는 SIP 로드밸런서를 제공하는 것을 목적으로 한다.
또한, 본 발명은 유저 에이전트에서 기록 및 유지되어야 하는 리얼 SIP 서버 정보량을 줄여 과부하를 방지할 수 있는 SIP 로드밸런서에서 레지스터 기능을 제공하는 방법 및 이를 수행하는 SIP 로드밸런서를 제공하는 것을 목적으로 한다.
또한, 본 발명은 유저 에이전트 정보가 하나 이상의 리얼 SIP 서버에 등록되는 시간을 줄일 수 있어 유저 에이전트 정보가 각 리얼 SIP 서버에 동기화되는 시간을 줄일 수 있는 SIP 로드밸런서에서 레지스터 기능을 제공하는 방법 및 이를 수행하는 SIP 로드밸런서를 제공하는 것을 또 다른 목적으로 한다.
또한, 본 발명은 유저 에이전트의 등록 정보를 기록함으로써 하나 이상의 리얼 SIP 서버간에 레지스터 정보의 동기화가 필요 없도록 함으로써 인적, 물적 자원의 낭비를 줄일 수 있는 SIP 로드밸런서에서 레지스터 기능을 제공하는 방법 및 SIP 로드밸런서를 제공하는 것을 또 다른 목적으로 한다.
상기 종래기술의 문제점을 해결하기 위한 본 발명에 따른 SIP 로드밸런서에서 레지스터 기능을 수행하는 방법은, 네트워크로 연결된 하나 이상의 리얼 SIP 서 버의 식별자 및 네트워크 주소를 기록하는 정보 테이블을 유지하는 단계; 유저 에이전트로부터 제1 레지스터 메시지를 수신하는 단계; 상기 수신한 제1 레지스터 메시지를 복사하고, 상기 정보 테이블을 참조하여 상기 정보 테이블에 기록된 상기 하나 이상의 리얼 SIP 서버로 상기 복사된 제1 레지스터 메시지를 전송하는 단계; 상기 유저 에이전트의 식별 정보에 대응하여 메시지를 전송한 상기 하나 이상의 리얼 SIP 서버의 식별자를 상기 정보 테이블에 기록 및 유지하는 단계 - 상기 식별 정보는 상기 유저 에이전트의 콜 아이디 또는 유저 에이전트 식별자 중 어느 하나임 -; 상기 하나 이상의 리얼 SIP 서버 각각으로부터 전송된 제1 레지스터 메시지에 대응하는 하나 이상의 응답 메시지를 수신하는 단계; 상기 응답 메시지에 포함된 식별 정보 및 리얼 SIP 서버 식별자를 판독하고, 상기 응답 메시지에 포함된 인증 문자열을 추출하는 단계; 상기 정보 테이블에 상기 판독된 식별 정보 및 리얼 SIP 서버 식별자에 대응하여 상기 인증 문자열을 기록하는 단계; 상기 하나 이상의 응답 메시지에 포함된 인증 관련 헤더 정보를 추출하고, 상기 헤더 정보를 포함하는 통합 응답 메시지를 생성하는 단계 - 상기 헤더 정보는 인증 문자열을 포함함-; 상기 통합 응답 메시지를 상기 유저 에이전트로 전송하는 단계; 상기 유저 에이전트로부터 상기 통합 응답 메시지에 대응하는 제1 레지스터 응답 메시지를 수신하는 단계 - 상기 제1 레지스터 응답 메시지는 상기 통합 응답 메시지에 포함된 상기 하나 이상의 헤더 정보에 대응하는 인증 응답 정보를 포함함-; 상기 제1 레지스터 응답 메시지에 포함된 상기 인증 응답 정보를 추출하는 단계; 상기 제1 레지스터 응답 메시지에 포함된 식별 정보 및 인증 문자열을 판독하고, 상기 정보 테이블을 참 조하여 상기 식별 정보 및 상기 인증 문자열에 대응하는 리얼 SIP 서버의 네트워크 주소를 검색하는 단계; 상기 검색된 리얼 SIP 서버의 네트워크 주소로 상기 추출된 인증 응답 정보를 포함하는 제2 레지스터 응답 메시지를 전송하는 단계; 상기 제2 레지스터 응답 메시지를 수신한 하나 이상의 리얼 SIP 서버로부터 확인 메시지를 수신하는 단계; 및 상기 수신한 확인 메시지 중 하나의 확인 메시지를 상기 유저 에이전트로 전송하는 단계를 포함하는 것을 특징으로 한다.
또한, 본 발명에 따른 SIP 로드밸런서는, 네트워크로 연결된 하나 이상의 리얼 SIP 서버의 식별자, 상기 리얼 SIP 서버의 네트워크 주소, 및 유저 에이전트의 식별 정보를 유지하는 정보 테이블 - 상기 식별 정보는 상기 유저 에이전트의 콜 아이디 또는 유저 에이전트 식별자 중 어느 하나임 -; 유저 에이전트로부터 제1 레지스터 메시지를 수신하고, 상기 수신한 제1 레지스터 메시지를 복사하며, 상기 정보 테이블을 참조하여 상기 정보 테이블에 기록된 상기 하나 이상의 리얼 SIP 서버로 상기 제1 레지스터 메시지를 전송하고, 상기 유저 에이전트의 식별 정보에 대응하여 상기 제1 레지스터 메시지를 전송한 하나 이상의 리얼 SIP 서버의 식별자를 상기 정보 테이블에 기록하는 메시지 복사부; 상기 하나 이상의 리얼 SIP 서버와 연결되어 소정의 메시지를 송수신하는 리얼 SIP 서버 통신부; 상기 하나 이상의 리얼 SIP 서버로부터 수신한 응답 메시지에 포함된 유저 에이전트의 식별 정보 및 리얼 SIP 서버의 식별자를 독출하고, 상기 응답 메시지에 포함된 인증 문자열을 추출하여 상기 독출된 식별 정보 및 리얼 SIP 서버의 식별자에 대응하여 상기 인증 문자열을 상기 정보 테이블에 기록하는 기록부; 상기 정보 테이블에 기록된 하나 이 상의 리얼 SIP 서버로부터 각각의 응답 메시지를 수신하면, 상기 응답 메시지에 포함된 인증 관련 헤더 정보를 추출하여 상기 헤더 정보를 포함하는 통합 응답 메시지를 생성하고, 상기 유저 에이전트로부터 수신한 통합 레지스터 응답 메시지에 포함된 인증 응답 헤더 정보를 추출하여 상기 인증 응답 헤더 정보를 포함하는 레지스터 응답 메시지를 생성하는 메시지 처리부; 상기 유저 에이전트와 연결되어 소정의 메시지를 송수신하는 유저 에이전트 통신부; 및 상기 레지스터 응답 메시지에 포함된 식별 정보 및 인증 문자열을 판독하고, 상기 정보 테이블을 참조하여 상기 식별 정보 및 인증 문자열에 대응하는 리얼 SIP 서버의 식별자를 검색하는 정보 검색부를 포함하고, 상기 리얼 SIP 서버 통신부는 상기 리얼 SIP 서버로부터 상기 응답 메시지를 수신하고, 상기 메시지 처리부에서 생성된 상기 레지스터 응답 메시지를 상기 리얼 SIP 서버로 전송하며, 상기 유저 에이전트 통신부는 상기 메시지 처리부에서 생성된 상기 통합 응답 메시지를 상기 유저 에이전트로 전송하고, 상기 유저 에이전트로부터 상기 통합 레지스터 응답 메시지를 수신하는 것을 특징으로 한다.
본 발명에서 SIP 로드밸런서(load balancer)라 함은, 상술한 SIP 패킷의 로드밸런싱을 수행하는 장치로서, 상세하게는 SIP 메시지를 수신하여 호를 설정할 리얼 SIP 서버를 할당하고 할당된 서버로 SIP 메시지를 전송하는 기능을 수행하는 장치를 의미한다. 또한 SIP 로드밸런서는 IP에 기반한 네트워크 서비스의 효율성을 높이고, 리얼 SIP 서버의 성능을 확장시키기 위해서 로드밸런싱 기능을 수행한다.
또한 본 발명에서 SIP 로드밸런서에서 제공하는 "레지스터(register) 기능" 이라 함은, SIP 로드밸런서에서 유저 에이전트의 정보를 하나 이상의 리얼 SIP 서버에 등록하기 위해 일련의 패킷 송수신과 패킷 처리를 수행하는 기능을 의미한다.
이하 첨부된 도면을 참조하여 본 발명에 따른 SIP 로드밸런서에서 레지스터 기능을 제공하는 방법 및 이를 수행하는 SIP 로드밸런서에 대하여 상세히 설명한다.
도 5는 본 발명의 일실시예에 따라 인증을 필요로 하지 않는 하나 이상의 리얼 SIP 서버에 유저 에이전트의 정보를 등록하는 과정을 도시한 도면이다.
본 발명에 따른 SIP 로드밸런서는 네트워크 연결된 하나 이상의 리얼 SIP 서버의 식별자 및 네트워크 주소를 소정의 정보 테이블에 기록 및 유지한다.
단계(S501)에서 유저 에이전트는 제1 레지스터 메시지를 SIP 로드밸런서로 전송한다. 상기 제1 레지스터 메시지는 도 1을 참조하여 설명한 정보를 포함할 수 있다.
단계(S502) 및 단계(S503)에서 본 발명에 따른 SIP 로드밸런서는 제1 레지스터 메시지를 수신하여 상기 수신한 제1 레지스터 메시지를 복사하고, 상기 정보 테이블을 참조하여, 상기 정보 테이블에 기록된 하나 이상의 리얼 SIP 서버로 상기 복사된 제1 레지스터 메시지를 전송한다. 예를 들어, 상기 정보 테이블에 기록된 하나 이상의 리얼 SIP 서버가 제1 리얼 SIP 서버 및 제2 리얼 SIP 서버라면 SIP 로드밸런서는 수신한 제1 레지스터 메시지를 복사하여 상기 제1 리얼 SIP 서버 및 제2 리얼 SIP 서버로 전송할 수 있다.
또한 본 발명에 따른 SIP 로드밸런서는 상기 유저 에이전트의 식별 정보 및 상기 제1 레지스터 메시지를 전송한 하나 이상의 리얼 SIP 서버 식별자를 상기 정보 테이블에 기록한다. 상기 유저 에이전트의 식별 정보는 상기 유저 에이전트의 콜아이디(call ID) 또는 상기 유저 에이전트의 식별자 중 어느 하나일 수 있다.
도면부호(501)에는 상기 정보 테이블의 일예가 도시되어 있다. 도면 부호(501)을 참조하면, 상기 예에서 유저 에이전트의 콜아이디 <1000>과 상기 제1 레지스터 메시지를 전송한 리얼 SIP 서버의 식별자 <1> 및 <2>가 정보 테이블에 기록되어 있다.
단계(S504) 및 단계(S505)에서 상기 제1 레지스터 메시지를 수신한 하나 이상의 리얼 SIP 서버 각각은 확인 메시지를 전송한다. 확인 메시지는 도 1은 참조하여 설명한 바와 같이 200 OK 메시지일 수 있다.
단계(S506)에서 본 발명에 따른 SIP 로드밸런서는 상기 제1 레지스터 메시지를 전송한 모든 리얼 SIP 서버로부터 확인 메시지를 수신하면, 상기 수신한 확인 메시지 중 하나의 메시지를 유저 에이전트로 전송하고 나머지 리얼 SIP 서버로부터 전송된 확인 메시지는 드롭(drop)한다.
따라서 본 발명에 따르면 유저 에이전트로부터 하나의 레지스터 메시지를 수신하고 이를 복사하여 하나 이상의 리얼 SIP 서버로 전송하고, 또한 각각의 리얼 SIP 서버로부터 확인 메시지를 모두 수신한 후, 하나의 확인 메시지만을 유저 에이전트로 전송하는 방법으로 레지스터 기능을 제공할 수 있으므로, 유저 에이전트는 하나의 제1 레지스터 메시지 전송과 하나의 확인 메시지 수신만으로 하나 이상의 리얼 SIP 서버에 유저 에이전트에 대한 정보를 등록(register)할 수 있다. 이를 통해 유저 에이전트에서 송수신되는 메시지 수를 줄여 유저 에이전트에서 처리되는 정보량을 현저하게 줄일 수 있게 된다.
또한 본 발명은 네트워크로 연결된 하나 이상의 리얼 SIP 서버의 식별자 및 네트워크 주소를 정보 테이블에 기록하여 유저 에이전트로부터 전송된 레지스터 메시지를 리얼 SIP 서버로 전송하므로, 유저 에이전트 각각에서 처리되는 리얼 SIP 서버의 정보를 줄일 수 있다.
특히 상기와 같은 효과는 유저 에이전트 정보를 등록하는 리얼 SIP 서버의 수가 증가할수록 더욱 확실하다.
도 6은 본 발명에 따라 인증을 필요로 하는 리얼 SIP 서버에 유저 에이전트의 정보를 등록하는 과정을 도시한 도면이다.
본 발명에 따른 SIP 로드밸런서는 네트워크 연결된 하나 이상의 리얼 SIP 서버의 식별자 및 네트워크 주소를 소정의 정보 테이블에 기록한다.
단계(S601)에서 유저 에이전트는 제1 레지스터 메시지를 본 발명에 따른 SIP 로드밸런서로 전송한다. 본 발명에 따른 SIP 로드밸런서는 상기 제1 레지스터 메시지를 수신하여 이를 복사하고, 단계(S602) 및 단계(S603)에서 상기 정보 테이블에 기록된 하나 이상의 리얼 SIP 서버의 네트워크 주소로 상기 제1 레지스터 메시지를 전송하며, 상기 유저 에이전트의 식별 정보에 대응하여 메시지를 전송한 하나 이상의 리얼 SIP 서버 식별자를 상기 정보 테이블에 기록한다.
일예로, 상기 정보 테이블에 기록된 리얼 SIP 서버가 제1 리얼 SIP 서버 및 제2 리얼 SIP 서버일 경우, SIP 로드밸런서는 제1 레지스터 메시지를 복사하여 제1 리얼 SIP 서버 및 제2 리얼 SIP 서버로 각각 전송할 수 있다.
도면 부호(601)에는 상기 정보 테이블의 일예가 도시되어 있다. 도면 부호(601)을 참조하면, 유저 에이전트 콜아이디<1000>에 대응하여 메시지를 전송한 리얼 SIP 서버 식별자 <1> 및 <2>가 기록되어 있다.
단계(S604) 및 단계(S605)에서 상기 하나 이상의 리얼 SIP 서버는 상기 제1 레지스터 메시지를 수신하고, 각각 상기 제1 레지스터 메시지에 대한 응답 메시지를 전송한다. 이 때, 상기 하나 이상의 리얼 SIP 서버가 HTTP 인증(authorization) 방식으로 인증을 수행하는 경우, 상기 응답 메시지는 인증 문자열을 포함할 수 있다. 즉, 응답 메시지는 각각 WWW-Authenticate 헤더를 포함하고, 상기 인증 문자열은 상기 WWW-Authenticate 헤더에 포함된 Digest nonce 값일 수 있다. 이러한 응답 메시지에 포함된 정보는 도 3을 참조하여 상술한 바 있다.
상기 예에서, 제1 리얼 SIP 서버는 인증 문자열로 <1111>을 포함한 제1 응답 메시지를, 제2 리얼 SIP 서버는 인증 문자열로 <2222>를 포함한 제2 응답 메시지를 생성하여 SIP 로드밸런서로 전송할 수 있다.
본 발명에 따른 SIP 로드밸런서는 상기 응답 메시지를 수신하여 응답 메시지에 포함된 유저 에이전트의 식별 정보 및 리얼 SIP 서버의 식별자를 판독하고, 상기 응답 메시지에 포함된 인증 문자열을 추출하여 상기 정보 테이블에 상기 판독된 식별 정보 및 리얼 SIP 서버 식별자에 대응하여 상기 인증 문자열을 기록한다.
상기 예에서 SIP 로드밸런서는 제1 응답 메시지에 포함된 콜아이디 <1000> 및 제1 리얼 SIP 서버 식별자 <1>를 판독하고, 제1 응답 메시지에 포함된 인증 문 자열 <1111>을 추출하여 도면부호(602)에 표시된 정보 테이블에 상기 판독된 콜아이디 <1000> 및 제1 리얼 SIP 서버 식별자 <1>에 대응하여 인증 문자열 <1111>을 기록한다. 또한 SIP 로드밸런서는 제2 응답 메시지에 포함된 콜아이디 <1000> 및 제2 리얼 SIP 서버 식별자 <2>를 판독하고, 제2 응답 메시지에 포함된 인증 문자열 <2222>를 추출하여 도면부호(602)에 표시된 정보 테이블에 상기 판독된 콜아이디 <1000> 및 제2 리얼 SIP 서버 식별자 <2>에 대응하여 인증 문자열 <2222>을 기록한다.
SIP 로드밸런서는 상기 정보 테이블에 기록된 하나 이상의 리얼 SIP 서버 모두로부터 응답 메시지를 수신하면, 상기 각각의 응답 메시지에 포함된 인증 관련 헤더 정보를 추출하고, 상기 추출된 헤더 정보를 포함하는 통합 응답 메시지를 생성한다. 또한 상기 인증 관련 헤더 정보는 상기 인증 문자열을 포함할 수 있다. 이 때, 상기 인증 관련 헤더 정보는 도 3을 참조하여 설명한 바 있는 WWW-Authenticate 헤더이고, 상기 인증 문자열은 Digest nonce 값일 수 있다.
상기 예에서 SIP 로드밸런서는 제1 응답 메시지와 제2 응답 메시지에 포함된 WWW-Authenticate 헤더를 각각 추출하여 이를 포함하는 통합 응답 메시지를 생성할 수 있다. 이 경우, 제1 응답 메시지의 WWW-Authenticate 헤더는 Digest nonce 값 <1111>을, 제2 응답 메시지의 WWW-Authenticate 헤더는 Digest nonce 값 <2222>를 포함할 수 있다.
단계(S606)에서 SIP 로드밸런서는 상기 생성된 통합 응답 메시지를 유저 에이전트로 전송한다.
유저 에이전트는 상기 통합 응답 메시지를 수신하고, 통합 응답 메시지에 포함된 각각의 인증 관련 헤더 정보에 대응하는 인증 응답 헤더 정보를 생성하며, 상기 인증 응답 헤더 정보를 통합하여 통합 레지스터 응답 메시지를 생성한다.
상기 예에서 유저 에이전트는 통합 응답 메시지에 포함된 각각의 WWW-Authenticate 헤더에 포함된, Digest nonce 값에 대응하는 response 값을 포함하는 인증 응답 헤더인 Authorization 헤더를 생성하고, 이를 통합하여 통합 레지스터 응답 메시지를 생성할 수 있다.
즉, 상기 통합 응답 메시지에 포함된 Digest nonce 값 <1111>에 대응하는 response 값 <aaaa>를 포함하는 Authorization 헤더와 Digest nonce 값 <2222>에 대응하는 response 값 <bbbb>를 포함하는 Authorization 헤더를 생성하고, 이 두 헤더를 통합하여 통합 레지스터 응답 메시지를 생성할 수 있다. 이 때, 상기 Authorization 헤더는 Digest nonce 값 및 response 값을 포함한다.
단계(S607)에서 유저 에이전트는 상기 통합 레지스터 응답 메시지를 SIP 로드밸런서로 전송한다.
SIP 로드밸런서는 상기 통합 레지스터 응답 메시지를 수신하여 인증 응답 헤더 정보를 추출하고, 추출된 인증 응답 헤더 정보를 포함하는 레지스터 응답 메시지를 생성한다. 상기 예에서 SIP 로드밸런서는 response 값 <aaaa>를 포함하는 Authorization 헤더와 response 값 <bbbb>를 포함하는 Authorization 헤더를 추출하여 이를 각각 포함하는 레지스터 응답 메시지를 생성할 수 있다.
이 때 response 값 <aaaa>를 포함하는 레지스터 응답 메시지를 제1 레지스터 응답 메시지, response 값 <bbbb>를 포함하는 레지스터 응답 메시지를 제2 레지스터 응답 메시지가 된다.
다음으로, SIP 로드밸런서는 상기 정보 테이블을 참조하여, 상기 레지스터 응답 메시지에 포함된 유저 에이전트의 식별 정보 및 인증 문자열에 대응하는 리얼 SIP 서버의 식별자를 검색한다.
단계(S608) 및 단계(S609)에서 SIP 로드밸런서는 상기 정보 테이블을 참조하여 상기 검색된 리얼 SIP 서버 식별자에 대응하는 네트워크 주소로 상기 레지스터 응답 메시지를 전송한다.
상기 예에서, SIP 로드밸런서는 도면 부호(602)의 정보 테이블을 참조하여, 제1 레지스터 응답 메시지에 포함된 콜아이디 <1000> 및 인증 문자열 <1111>에 대응하는 리얼 SIP 서버 식별자 <1>을 검색하여 대응하는 네트워크 주소로 제1 레지스터 응답 메시지를 전송할 수 있다.
또한 마찬가지로 제2 레지스터 응답 메시지에 포함된 콜아이디 <1000> 및 인증 문자열 <2222>에 대응하는 리얼 SIP 서버 식별자 <2>를 검색하여 대응하는 네트워크 주소로 제2 레지스터 응답 메시지를 전송할 수 있다.
단계(S610) 및 단계(S611)에서 상기 레지스터 응답 메시지를 수신한 각각의 리얼 SIP 서버는 확인 메시지를 SIP 로드밸런서로 전송한다.
단계(S612)에서 리얼 SIP 서버는 상기 레지스터 응답 메시지를 전송한 리얼 SIP 서버 전부로부터 확인 메시지를 수신하면 이 중 하나의 확인 메시지를 유저 에이전트로 전송한다. 본 발명에 따른 SIP 로드밸런서는 나머지 확인 메시지를 드롭 (drop)한다.
따라서 본 발명에 의하면, 유저 에이전트가 인증을 필요로 하는 하나 이상의 리얼 SIP 서버에 유저 에이전트의 정보를 등록하는 과정에서도 리얼 SIP 서버로부터 수신한 응답 메시지를 통합하여 생성된 통합 응답 메시지를 생성하여 유저 에이전트로 전송하고, 이에 대한 레지스터 응답 메시지를 통합하여 생성된 통합 레지스터 메시지를 수신하며, 하나 이상의 리얼 SIP 서버로부터 수신한 확인 메시지 중 하나의 확인 메시지만을 유저 에이전트로 전송함으로써, 유저 에이전트에서 송수신되는 메시지 수를 줄일 수 있다. 또한 본 발명은 상기와 같이 하나 이상 개의 레지스터 응답 메시지를 리얼 SIP 서버로 함께 전송할 수 있으므로, 유저 에이전트 정보가 하나 이상의 리얼 SIP 서버에 등록되는 시간을 줄일 수 있어 유저 에이전트 정보가 각 리얼 SIP 서버에 동기화되는 시간을 줄일 수 있다.
또한 본 발명의 정보 테이블에는 유저 에이전트의 식별 정보, 인증 문자열, 등록된 리얼 SIP 서버 식별자 등의 정보가 기록되므로, 하나 이상의 리얼 SIP 서버간에 레지스터 정보의 동기화가 필요 없게 되어 자원의 낭비를 줄일 수 있다.
도 7은 본 발명의 다른 실시예에 따라 인증을 필요로 하지 않는 하나 이상의 리얼 SIP 서버에 유저 에이전트의 정보를 등록하는 과정을 도시한 도면이다.
본 발명에 따른 SIP 로드밸런서는 네트워크 연결된 하나 이상의 리얼 SIP 서버의 식별자 및 네트워크 주소를 순차적으로 소정의 정보 테이블에 기록한다.
예를 들어, SIP 로드밸런서는 네트워크 연결된 하나 이상의 리얼 SIP 서버 식별자 <1>, <2> 및 이에 대응하는 네트워크 주소를 순차적으로 정보 테이블에 기 록할 수 있다. 본 일예에서, 최종으로 기록된 리얼 SIP 서버의 최종 엔트리는 <2>이다.
단계(S701)에서 유저 에이전트는 제1 레지스터 메시지를 본 발명의 SIP 로드밸런서로 전송한다.
SIP 로드밸런서는 상기 제1 레지스터 메시지를 수신하고, 상기 정보 테이블을 참조하여 상기 제1 레지스터 메시지를 전송할 제1 리얼 SIP 서버를 할당한다. 또한, 상기 유저 에이전트의 식별 정보, 할당된 제1 리얼 SIP 서버 식별자, 및 상기 제1 레지스터 메시지를 상기 정보 테이블에 기록한다. 예를 들어, SIP 로드밸런서는 제1 리얼 SIP 서버 <1>을 할당하고, 유저 에이전트의 콜아이디 <1000>, 제1 리얼 SIP 서버 식별자 <1>, 최종 SIP 서버 식별자 <2>, 제1 레지스터 메시지 <REGISTER xxx@a.com>를 도면 부호(701)과 같이 정보 테이블에 기록할 수 있다.
단계(S702)에서 SIP 로드밸런서는 상기 제1 레지스터 메시지를 상기 할당된 제1 리얼 SIP 서버로 전송한다.
단계(S703)에서 상기 제1 리얼 SIP 서버는 상기 제1 레지스터 메시지를 수신하고, 이에 대한 확인 메시지를 SIP 로드밸런서로 전송한다.
SIP 로드밸런서는 상기 확인 메시지를 수신하고, 상기 확인 메시지를 참조하여 상기 제1 리얼 SIP 서버의 식별자가 상기 정보 테이블에 기록된 리얼 SIP 서버 식별자 중 최종 엔트리인지 여부를 판단한다.
상기 제1 리얼 SIP 식별자가 최종 엔트리인 경우, SIP 로드밸런서는 상기 수신한 확인 메시지를 상기 유저 에이전트로 전송하고, 레지스터 과정은 종료된다. 또한, 상기 제1 리얼 SIP 식별자가 상기 정보 테이블의 최종 엔트리가 아닌 경우, SIP 밸런서는 상기 정보 테이블을 참조하여 제1 리얼 SIP 서버 다음으로 기록된 제2 리얼 SIP 서버를 할당한다.
단계(S704)에서 SIP 밸런서는 상기 정보 테이블에 기록된 제1 레지스터 메시지를 판독하여 상기 할당된 제2 리얼 SIP 서버로 전송한다.
상기 예에서 SIP 밸런서는 상기 확인 메시지를 참조하여 상기 제1 리얼 SIP 서버의 식별자 <1>이 상기 정보 테이블의 최종 엔트리인지 여부를 판단한다. 도면부호(701)을 참조하면 최종 엔트리로 기록된 리얼 SIP 서버 식별자는 <2>이므로 제1 리얼 SIP 서버 식별자 <1>은 최종 엔트리가 아니다. 따라서 SIP 로드밸런서는 정보 테이블을 참조하여 제2 리얼 SIP 서버 <2>를 할당하고, 상기 정보 테이블에 기록된 제1 레지스터 메시지 <REGISTER xxx@a.com>를 제2 리얼 SIP 서버로 전송한다.
단계(S705)에서 제2 리얼 SIP 서버는 상기 제1 레지스터 메시지를 수신하고, 확인 메시지를 SIP 로드밸런서로 전송한다.
SIP 로드밸런서는 상기 확인 메시지를 수신하고 이를 참조하여 상기 제2 리얼 SIP 서버의 식별자가 상기 정보 테이블에 기록된 리얼 SIP 서버 식별자 중 최종 엔트리인지 여부를 판단한다.
단계(S706)에서 SIP 로드밸런서는 상기 판단 결과 상기 제2 리얼 SIP 서버의 식별자가 최종 엔트리인 경우, 상기 확인 메시지를 유저 에이전트로 전송한다.
상기 판단 결과, 상기 제2 리얼 SIP 서버의 식별자가 최종 엔트리가 아닌 경 우, 마찬가지로 상기 정보 테이블을 참조하여 제2 리얼 SIP 식별자와 순차적으로 기록된 제3 리얼 SIP 서버를 할당하고, 상기 제1 레지스터 메시지를 전송할 수 있다. 이러한 과정은 정보 테이블에 최종 엔트리로 기록된 리얼 SIP 서버로부터 확인 메시지를 수신할 때까지 반복하여 수행될 수 있다.
따라서 본 발명에 따르면, 유저 에이전트가 제1 레지스터 메시지를 SIP 로드밸런서로 전송하면, SIP 로드밸런서가 정보 테이블에 최종 엔트리로 기록된 리얼 SIP 서버로부터 확인 메시지를 수신할 때까지 자동적으로 네트워크 연결된 하나 이상의 리얼 SIP 서버로 상기 제1 레지스터 메시지를 판독하여 전송하여 레지스터 기능을 수행하므로, 유저 에이전트에서 송수신되는 메시지 수를 줄여 유저 에이전트에서 처리되는 정보량을 현저하게 줄일 수 있다. 또한 본 발명에 따른 SIP 로드밸런서는 네트워크 연결된 하나 이상의 리얼 SIP 서버의 식별자 및 네트워크 주소를 정보 테이블에 기록 및 유지하여 레지스터 메시지를 전송하므로, 유저 에이전트에서 기록 및 유지되어야 하는 리얼 SIP 서버 정보량을 줄일 수 있다.
도 8은 본 발명의 다른 실시예에 따라 인증을 필요로 하는 하나 이상의 리얼 SIP 서버에 유저 에이전트의 정보를 등록하는 과정을 도시한 도면이다.
SIP 로드밸런서는 네트워크 연결된 하나 이상의 리얼 SIP 서버의 식별자 및 네트워크 주소를 순차적으로 소정의 정보 테이블에 기록 및 유지한다.
단계(S801)에서 유저 에이전트는 제1 레지스터 메시지를 SIP 로드밸런서로 전송한다.
SIP 로드밸런서는 상기 제1 레지스터 메시지를 수신하고, 상기 정보 테이블 을 참조하여 상기 제1 레지스터 메시지를 전송할 제1 리얼 SIP 서버를 할당하고, 상기 유저 에이전트의 식별 정보, 상기 할당된 제1 리얼 SIP 서버 식별자, 및 상기 제1 레지스터 메시지를 상기 정보 테이블에 기록한다.
도면 부호(801)은 상기 정보 테이블의 일예를 도시한 것으로서, 유저 에이전트의 콜아이디 <1000>, 할당된 제1 리얼 SIP 서버 식별자 <1>, 최종 리얼 SIP 서버 식별자 <2>, 제1 레지스터 메시지 <REGISTER xxx@a.com>를 기록하고 있다.
단계(S802)에서 SIP 로드밸런서는 상기 수신한 제1 레지스터 메시지를 상기 할당된 제1 리얼 SIP 서버로 전송한다.
단계(S803) 내지 단계(S807)에서 SIP 로드밸런서는 유저 에이전트와 제1 리얼 SIP 서버 간 인증 관련 메시지를 송수신한다.
상기 인증 관련 메시지를 송수신하는 단계는 다음과 같다.
단계(S803)에서 SIP 로드밸런서는 상기 할당된 제1 리얼 SIP 서버로부터 제1 응답 메시지를 수신한다. 상기 제1 응답 메시지는 인증 관련 헤더 정보를 포함하는데, 이러한 인증 관련 헤더 정보로는 도 3을 참조하여 설명한 바 있는 Digest nonce 값을 포함한 WWW-Authenticate 헤더가 있다.
단계(S804)에서 SIP 로드밸런서는 상기 제1 응답 메시지를 수신하여 이를 유저 에이전트로 전송한다.
단계(S805)에서 유저 에이전트는 상기 제1 응답 메시지를 수신하여 이에 대응하는 제1 레지스터 응답 메시지를 생성하고 이를 SIP 로드밸런서로 전송한다. 이 때, 제1 레지스터 응답 메시지는 제1 응답 메시지에 포함된 인증 관련 헤더 정 보에 대응하는 인증 응답 헤더 정보를 포함한다. 상술한 바와 같이 인증 응답 헤더 정보는 WWW-Authenticate 헤더에 포함된 Digest nonce 값에 대응하는 response 값을 포함하는 인증 응답 헤더 정보인 Authorization 헤더를 일 수 있다.
단계(S806)에서 SIP 로드밸런서는 상기 수신한 제1 레지스터 메시지를 제1 리얼 SIP 서버로 전송한다.
단계(S807)에서 상기 제1 리얼 SIP 서버는 상기 수신한 제1 레지스터 메시지에 대응하는 확인 메시지를 생성하여 이를 상기 SIP 로드밸런서로 전송한다.
SIP 로드밸런서는 상기 확인 메시지를 수신하고, 이를 참조하여 상기 제1 리얼 SIP 서버의 식별자가 상기 정보 테이블에 기록된 리얼 SIP 서버의 식별자 중 최종 엔트리인지 여부를 판단한다.
상기 제1 리얼 SIP 서버의 식별자가 상기 정보 테이블에 기록된 리얼 SIP 서버의 식별자 중 최종 엔트리인 경우, SIP 로드밸런서는 상기 수신한 확인 메시지를 유저 에이전트로 전송하고 레지스터 과정이 종료된다. 단계(S808)에서 SIP 로드밸런서가 상기 제1 리얼 SIP 서버의 식별자가 상기 정보 테이블에 기록된 리얼 SIP 서버의 식별자 중 최종 엔트리가 아닌 경우, 상기 정보 테이블을 참조하여 제1 리얼 SIP 서버 다음으로 기록된 제2 리얼 SIP 서버를 할당하고, 상기 정보 테이블을 참조하여 상기 정보 테이블에 저장된 제1 레지스터 메시지를 독출하며, 독출된 상기 제1 레지스터 메시지를 상기 제2 리얼 SIP 서버로 전송한다.
상기 예에서 SIP 로드밸런서는 확인 메시지를 수신하고, 제1 SIP 서버의 식별자 <1>이 도면부호(801)에 도시된 정보 테이블에 기록된 최종 리얼 SIP 서버의 식별자 <2>인지를 판단한다.
제1 리얼 SIP 서버의 식별자가 상기 정보 테이블에 기록된 최종 엔트리가 아니므로, SIP 로드밸런서는 제2 리얼 SIP 서버를 할당하고, 상기 정보 테이블을 참조하여 저장된 제1 레지스터 메시지 <REGISTER xxx@a.com>를 독출하여 상기 할당된 제2 리얼 SIP 서버로 전송한다.
단계(S809) 내지 단계(S812)에서 SIP 로드밸런서는 유저 에이전트와 제2 리얼 SIP 서버 간 인증 관련 메시지를 송수신한다. 상기 인증 관련 메시지를 송수신하는 구체적인 과정은 다음과 같다.
단계(S809)에서 제2 리얼 SIP 서버는 상기 제1 레지스터 메시지를 수신하여 제 2 응답 메시지를 생성하고 이를 SIP 로드밸런서로 전송한다. 이 때 제2 응답 메시지는 인증 관련 헤더 정보를 포함한다.
단계(S810)에서 SIP 로드밸런서는 상기 제2 응답 메시지를 수신하고, 상기 수신한 제2 응답 메시지에 포함된 상기 인증 관련 헤더 정보에 재인증 파라미터를 포함시켜 상기 유저 에이전트로 전송한다. 이 때, 상기 인증 관련 헤더는 WWW-Authenticate 헤더일 수 있고, 상기 재인증 파라미터는 스테일 파라미터로서 TRUE 값으로 설정된 스테일 파라미터(STALE="TRUE")일 수 있다.
따라서 본 발명은 상기 제2 응답 메시지에 재인증 파라미터를 포함하여 유저 에이전트로 전송함으로써, 유저 에이전트에게 상기 제2 응답 메시지가 단계(S805)에서 유저 에이전트가 전송한 제1 레지스터 응답 메시지에 대해 제1 리얼 SIP 서버가 인증 실패의 결과로서 전송한 메시지가 아님을 알릴 수 있다. 이는 본 발명이 종래 기술과 달리 단계(S807)에서 제1 리얼 SIP 서버로부터 수신한 확인 메시지를 유저 에이전트로 전송하지 않기 때문에, 유저 에이전트가 상기 제2 응답 메시지가 단계(S805)에서 유저 에이전트가 전송한 제1 레지스터 응답 메시지에 대해 제1 리얼 SIP 서버가 인증 실패의 결과로서 전송한 메시지로 인식할 수 있기 때문이다. 따라서 상기와 같이 SIP 로드밸런서는 제2 응답 메시지에 재인증 파라미터를 포함하여 유저 에이전트에게 제2 응답 메시지가 인증 실패로 재전송되는 메시지가 아니라 정상적으로 전송되는 응답 메시지임을 알린다.
단계(S811)에서 유저 에이전트는 상기 재인증 파라미터가 포함된 제2 응답 메시지를 수신하고 이를 식별하여, 단계(S804)에서 수신한 제1 응답 메시지에 대한 레지스터 메시지가 아닌 상기 제2 응답 메시지에 대응하는 제2 레지스터 응답 메시지를 생성하여 SIP 로드밸런서로 전송한다. 상기 제2 레지스터 응답 메시지는 상기 제2 응답 메시지에 포함된 인증 관련 헤더 정보에 대응하는 인증 응답 헤더 정보를 포함한다. 상기 인증 응답 헤더 정보에는 상기 인증 관련 헤더 정보에 포함된 nonce 값을 해슁(hasing)한 response 값이 포함될 수 있음은 상술한 바와 같다.
단계(S812)에서 SIP 로드밸런서는 상기 수신한 제2 레지스터 응답 메시지를 제2 리얼 SIP 서버로 전송한다. 단계(S813)에서 상기 제2 리얼 SIP 서버는 상기 제2 레지스터 응답 메시지를 수신하고, 이에 대한 확인 메시지를 생성하여 이를 SIP 로드밸런서로 전송한다.
상기 SIP 로드밸런서는 상기 확인 메시지를 수신하고, 상기 정보 테이블을 참조하여 상기 제2 리얼 SIP 서버의 식별자가 최종 엔트리인지 여부를 판단한다.
단계(S814)에서 SIP 로드밸런서는 상기 제2 리얼 SIP 서버의 식별자가 최종 엔트리인 경우, 상기 수신한 확인 메시지를 유저 에이전트로 전송하고, 레지스터 과정은 종료된다. 상기 예에서 SIP 로드밸런서는 확인 메시지를 수신하고, 이를 참조하여 제2 리얼 SIP 서버 식별자 <2>가 도면 부호(801)의 정보 테이블에 기록된 최종 리얼 SIP 식별자 <2>와 일치하는지 판단한 후, 일치하므로 확인 메시지를 유저 에이전트로 전송한다.
또한, 상기 제2 리얼 SIP 서버의 식별자가 최종 엔트리가 아닌 경우, SIP 로드밸런서는 상기 정보 테이블을 참조하여 제2 리얼 SIP 식별자 다음으로 기록된 리얼 SIP 서버를 할당하고 상술한 레지스터 과정을 수행하게 된다. 이러한 과정은 정보 테이블에 최종 엔트리로 기록된 리얼 SIP 서버로부터 확인 메시지를 수신할 때까지 계속하여 반복 수행된다.
따라서, 본 발명은 유저 에이전트로부터 제1 레지스터 메시지를 수신하면 이를 정보 테이블에 기록하여 네트워크 연결된 하나 이상의 리얼 SIP 서버로 전송하고, 인증 과정을 수행하여 상기 하나 이상의 리얼 SIP 서버 전부에 유저 에이전트 정보를 등록하게 할 수 있고, 또한 최종 리얼 SIP 서버로부터 수신한 확인 메시지만 유저 에이전트에 전송하므로 유저 에이전트에서 송수신되는 메시지 수를 줄여 유저 에이전트에서 처리되는 정보량을 현저하게 줄일 수 있다. 또한 본 발명은 네트워크 연결된 하나 이상의 리얼 SIP 서버의 식별자 및 네트워크 주소 및 레지스터 메시지를 정보 테이블에 기록 및 유지하여 레지스터 메시지를 전송하므로, 유저 에이전트에서 기록 및 유지되어야 하는 리얼 SIP 서버 정보량을 줄일 수 있다.
본 발명에 따른 SIP 로드밸런서에서 레지스터 기능을 수행하는 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 상기 매체는 프로그램 명령, 데이터 구조 등을 지정하는 신호를 전송하는 반송파를 포함하는 광 또는 금속선, 도파관 등의 전송 매체일 수도 있다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
도 9는 본 발명의 일실시예에 따른 SIP 로드밸런서에서 레지스터 기능을 제공하는 장치의 구성을 도시한 블록도이다.
도 9를 참조하면, 본 발명의 일실시예에 따른 SIP 로드밸런서에서 레지스터 기능을 제공하는 장치(900)는 유저 에이전트 통신부(901), 정보 테이블(902), 메시지 복사부(903), 기록부(904), 메시지 처리부(905), 정보 검색부(906), 리얼 SIP 서버 통신부(907)를 포함하여 구성될 수 있다.
정보 테이블(902)은 네트워크로 연결된 하나 이상의 리얼 SIP 서버의 식별자, 상기 리얼 SIP 서버의 네트워크 주소, 및 유저 에이전트의 식별 정보를 유지한다. 상술한 바와 같이 상기 유저 에이전트의 식별 정보는 상기 유저 에이전트의 콜 아이디 또는 유저 에이전트 식별자 중 어느 하나일 수 있다.
메시지 복사부(903)는 유저 에이전트로부터 제1 레지스터 메시지를 수신하고, 상기 수신한 제1 레지스터 메시지를 복사하며, 상기 정보 테이블을 참조하여 상기 정보 테이블에 기록된 상기 하나 이상의 리얼 SIP 서버로 상기 제1 레지스터 메시지를 전송하고, 상기 유저 에이전트의 식별 정보에 대응하여 상기 제1 레지스터 메시지를 전송한 하나 이상의 리얼 SIP 서버의 식별자를 상기 정보 테이블에 기록하는 역할을 담당한다.
기록부(904)는 상기 하나 이상의 리얼 SIP 서버로부터 수신한 응답 메시지에 포함된 유저 에이전트의 식별 정보 및 리얼 SIP 서버의 식별자를 독출하고, 상기 응답 메시지에 포함된 인증 문자열을 추출하여 상기 독출된 식별 정보 및 리얼 SIP 서버의 식별자에 대응하여 상기 인증 문자열을 상기 정보 테이블에 기록한다.
메시지 처리부(905)는 정보 테이블(902)에 기록된 하나 이상의 리얼 SIP 서버로부터 각각의 응답 메시지를 수신하면, 상기 응답 메시지에 포함된 인증 관련 헤더 정보를 추출하여 상기 헤더 정보를 포함하는 통합 응답 메시지를 생성하고, 상기 유저 에이전트로부터 수신한 통합 레지스터 응답 메시지에 포함된 인증 응답 헤더 정보를 추출하여 상기 인증 응답 헤더 정보를 포함하는 레지스터 응답 메시지를 생성한다.
정보 검색부(906)는 상기 레지스터 응답 메시지에 포함된 식별 정보 및 인증 문자열을 판독하고, 정보 테이블(902)을 참조하여 상기 식별 정보 및 인증 문자열에 대응하는 리얼 SIP 서버의 식별자를 검색한다.
리얼 SIP 서버 통신부(907)는 상기 하나 이상의 리얼 SIP 서버와 연결되어 소정의 메시지를 송수신하는 일종의 인터페이스 모듈이다.
유저 에이전트 통신부(901)는 상기 유저 에이전트와 연결되어 소정의 메시지를 송수신하는 일종의 인터페이스 모듈이다.
상술한 것과 같이, 리얼 SIP 서버 통신부(907)는 상기 리얼 SIP 서버로부터 상기 응답 메시지를 수신하고, 메시지 처리부(905)에서 생성된 상기 레지스터 응답 메시지를 상기 리얼 SIP 서버로 전송하며, 유저 에이전트 통신부(901)는 메시지 처리부(905)에서 생성된 상기 통합 응답 메시지를 상기 유저 에이전트로 전송하고, 상기 유저 에이전트로부터 상기 통합 레지스터 응답 메시지를 수신한다,
도 9에 도시된 본 발명의 일실시예에 따른 SIP 로드밸런서의 상세한 동작 방법은 도 5 및 도 6에서 자세히 설명하였으므로, 본 명세서에서는 상세한 설명을 생략한다.
도 10는 본 발명의 다른 일실시예에 따른 SIP 로드밸런서에서 레지스터 기능을 제공하는 장치의 구성을 도시한 블록도이다.
도 10를 참조하면, 본 발명의 일실시예에 따른 SIP 로드밸런서에서 레지스터 기능을 제공하는 장치(1000)는 유저 에이전트 통신부(1001), 정보 테이블(1002), 리얼 SIP 서버 할당부(1003), 판단부(1004), 리얼 SIP 서버 통신부(1005)를 포함하여 구성될 수 있다.
정보 테이블(1002)은 네트워크로 연결된 하나 이상의 리얼 SIP 서버의 식별자, 상기 리얼 SIP 서버의 네트워크 주소, 및 유저 에이전트의 식별 정보를 유지한다. 상기 유저 에이전트의 식별 정보는 상기 유저 에이전트의 콜 아이디 또는 유저 에이전트 식별자 중 어느 하나일 수 있다.
리얼 SIP 서버 할당부(1003)는 정보 테이블(1002)을 참조하여 유저 에이전트로부터 수신한 레지스터 메시지를 전송할 리얼 SIP 서버를 할당하고, 상기 유저 에이전트의 식별 정보, 상기 리얼 SIP 서버의 식별자, 및 상기 레지스터 메시지를 정보 테이블(1002)에 기록한다.
판단부(1004)는 상기 하나 이상의 리얼 SIP 서버로부터 확인 메시지를 수신하고, 상기 수신한 확인 메시지를 참조하여 상기 리얼 SIP 서버의 식별자가 정보 테이블(1002)에 기록된 리얼 SIP 서버의 식별자 중 최종 엔트리인지 여부를 판단한다.
유저 에이전트 통신부(1001)는 상기 리얼 SIP 서버로부터 수신한 응답 메시지를 상기 유저 에이전트로 전송하고, 상기 유저 에이전트로부터 상기 레지스터 메시지 또는 레지스터 응답 메시지를 수신하는 기능을 담당하는 인터페이스 모듈이 다. 또한, 상술한 바와 같이 상기 응답 메시지는 인증 관련 헤더 정보를 포함하고, 상기 레지스터 응답 메시지는 상기 헤더 정보에 대응하는 인증 응답 헤더 정보를 포함한다.
리얼 SIP 서버 통신부(1005)는 상기 수신한 제1 레지스터 응답 메시지를 상기 리얼 SIP 서버로 전송하고, 상기 리얼 SIP 서버로부터 확인 메시지를 수신하는 기능을 하는 인터페이스 모듈이다.
도 10에 도시된 본 발명의 일실시예에 따른 SIP 로드밸런서의 판단부(1004)는, 상기 리얼 SIP 서버 식별자가 정보 테이블(1002)에 기록된 최종 엔트리가 아닌 경우 정보 테이블(1002)을 참조하여 제2 리얼 SIP 서버를 할당하고, 정보 테이블(1002)에 기록된 상기 레지스터 메시지를 독출하여 상기 제2 리얼 SIP 서버로 전송하며, 상기 제2 리얼 SIP 서버로부터 수신된 제2 응답 메시지에 포함된 인증 관련 헤더 정보에 재인증 파라미터를 포함시켜 상기 유저 에이전트로 전송하고, 상기 유저 에이전트로부터 제2 레지스터 응답 메시지를 수신하여 이를 상기 제2 리얼 SIP 서버로 전송하도록 유저 에이전트 통신부(1001) 및 리얼 SIP 서버 통신부(1005)를 제어한다. 상술한 바와 같이, 상기 인증 관련 헤더 정보는 HTTP authenticate 헤더일 수 있고, 상기 재인증 파라미터는 스테일(stale) 파라미터로서 TRUE로 설정된 파라미터(stale="TRUE")일 수 있다.
도 10에 도시된 본 발명의 일실시예에 따른 SIP 로드밸런서의 상세한 동작 방법은 도 7 및 도 8에서 자세히 설명하였으므로, 본 명세서에서는 상세한 설명을 생략한다.
이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 이는 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.
따라서, 본 발명 사상은 아래에 기재된 특허청구범위에 의해서만 파악되어야 하고, 이의 균등 또는 등가적 변형 모두는 본 발명 사상의 범주에 속한다고 할 것이다.
본 발명에 따르면 SIP 로드밸런서에서 레지스터 기능을 제공하는 방법 및 이를 수행하는 SIP 로드밸런서를 제공할 수 있다.
본 발명에 따르면 유저 에이전트에서 송수신되는 메시지 수를 줄여 유저 에이전트에서 처리되는 정보량을 현격하게 줄일 수 있는 SIP 로드밸런서에서 레지스터 기능을 제공하는 방법 및 이를 수행하는 SIP 로드밸런서를 제공할 수 있다.
본 발명에 따르면 유저 에이전트에서 기록 및 유지되어야 하는 리얼 SIP 서버 정보량을 줄여 과부하를 방지할 수 있는 SIP 로드밸런서에서 레지스터 기능을 제공하는 방법 및 이를 수행하는 SIP 로드밸런서를 제공할 수 있다.
본 발명에 따르면 유저 에이전트 정보가 하나 이상의 리얼 SIP 서버에 등록되는 시간을 줄일 수 있어 유저 에이전트 정보가 각 리얼 SIP 서버에 동기화되는 시간을 줄일 수 있는 SIP 로드밸런서에서 레지스터 기능을 제공하는 방법 및 이를 수행하는 SIP 로드밸런서를 제공할 수 있다.
본 발명에 따르면 유저 에이전트의 등록 정보를 기록함으로써 하나 이상의 리얼 SIP 서버간에 레지스터 정보의 동기화가 필요 없도록 함으로써 자원의 낭비를 최소화할 수 있는 SIP 로드밸런서에서 레지스터 기능을 제공하는 방법 및 이를 수행하는 SIP 로드밸런서를 제공할 수 있다.

Claims (12)

  1. SIP 로드밸런서에서 레지스터 기능을 수행하는 방법에 있어서,
    네트워크로 연결된 하나 이상의 리얼 SIP 서버의 식별자 및 네트워크 주소를 기록하는 정보 테이블을 유지하는 단계;
    유저 에이전트로부터 제1 레지스터 메시지를 수신하는 단계;
    상기 수신한 제1 레지스터 메시지를 복사하고, 상기 정보 테이블을 참조하여 상기 정보 테이블에 기록된 하나 이상의 리얼 SIP 서버로 상기 복사된 제1 레지스터 메시지를 전송하는 단계;
    상기 유저 에이전트의 식별 정보 및 상기 제1 레지스터 메시지를 전송한 상기 하나 이상의 리얼 SIP 서버의 식별자를 상기 정보 테이블에 기록하는 단계 ?? 상기 식별 정보는 상기 유저 에이전트의 콜 아이디 또는 유저 에이전트 식별자 중 어느 하나임 -;
    상기 하나 이상의 리얼 SIP 서버로부터 확인 메시지를 수신하는 단계; 및
    상기 수신한 확인 메시지 중 하나의 확인 메시지를 유저 에이전트로 전송하는 단계
    를 포함하는 것을 특징으로 하는 SIP 로드밸런서에서 레지스터 기능을 수행하는 방법.
  2. SIP 로드밸런서에서 레지스터 기능을 수행하는 방법에 있어서,
    네트워크로 연결된 하나 이상의 리얼 SIP 서버의 식별자 및 네트워크 주소를 기록하는 정보 테이블을 유지하는 단계;
    유저 에이전트로부터 제1 레지스터 메시지를 수신하는 단계;
    상기 수신한 제1 레지스터 메시지를 복사하고, 상기 정보 테이블을 참조하여 상기 정보 테이블에 기록된 상기 하나 이상의 리얼 SIP 서버로 상기 복사된 제1 레지스터 메시지를 전송하는 단계;
    상기 유저 에이전트의 식별 정보에 대응하여 메시지를 전송한 상기 하나 이상의 리얼 SIP 서버의 식별자를 상기 정보 테이블에 기록 및 유지하는 단계 - 상기 식별 정보는 상기 유저 에이전트의 콜 아이디 또는 유저 에이전트 식별자 중 어느 하나임 -;
    상기 하나 이상의 리얼 SIP 서버 각각으로부터 전송된 제1 레지스터 메시지에 대응하는 하나 이상의 응답 메시지를 수신하는 단계;
    상기 응답 메시지에 포함된 식별 정보 및 리얼 SIP 서버 식별자를 판독하고, 상기 응답 메시지에 포함된 인증 문자열을 추출하는 단계;
    상기 정보 테이블에 상기 판독된 식별 정보 및 리얼 SIP 서버 식별자에 대응하여 상기 인증 문자열을 기록하는 단계;
    상기 하나 이상의 응답 메시지에 포함된 인증 관련 헤더 정보를 추출하고, 상기 헤더 정보를 포함하는 통합 응답 메시지를 생성하는 단계 - 상기 헤더 정보는 인증 문자열을 포함함-;
    상기 통합 응답 메시지를 상기 유저 에이전트로 전송하는 단계;
    상기 유저 에이전트로부터 상기 통합 응답 메시지에 대응하는 통합 레지스터 응답 메시지를 수신하는 단계 - 상기 통합 레지스터 응답 메시지는 상기 통합 응답 메시지에 포함된 상기 하나 이상의 헤더 정보에 대응하는 인증 응답 정보를 포함함-;
    상기 통합 레지스터 응답 메시지에 포함된 상기 인증 응답 정보를 추출하는 단계;
    상기 통합 레지스터 응답 메시지에 포함된 식별 정보 및 인증 문자열을 판독하고, 상기 정보 테이블을 참조하여 상기 식별 정보 및 상기 인증 문자열에 대응하는 리얼 SIP 서버의 네트워크 주소를 검색하는 단계;
    상기 검색된 리얼 SIP 서버의 네트워크 주소로 상기 추출된 인증 응답 정보를 포함하는 레지스터 응답 메시지를 전송하는 단계;
    상기 레지스터 응답 메시지를 수신한 하나 이상의 리얼 SIP 서버로부터 확인 메시지를 수신하는 단계; 및
    상기 수신한 확인 메시지 중 하나의 확인 메시지를 상기 유저 에이전트로 전송하는 단계
    를 포함하는 것을 특징으로 하는 SIP 로드밸런서에서 레지스터 기능을 수행하는 방법.
  3. 제2항에 있어서,
    상기 응답 메시지에 포함되는 상기 헤더 정보는 WWW-AUTHENTICATE 헤더이고, 상기 인증 문자열은 NONCE 값인 것을 특징으로 하는 SIP 로드밸런서에서 레지스터 기능을 수행하는 방법.
  4. SIP 로드밸런서에서 레지스터 기능을 수행하는 방법에 있어서,
    네트워크로 연결된 하나 이상의 리얼 SIP 서버의 식별자 및 네트워크 주소를 기록하는 정보 테이블을 유지하는 단계;
    유저 에이전트로부터 제1 레지스터 메시지를 수신하는 단계;
    상기 정보 테이블을 참조하여, 상기 제1 레지스터 메시지를 전송할 제1 리얼 SIP 서버를 할당하고 유저 에이전트의 식별 정보, 할당된 제1 리얼 SIP 서버 식별자, 및 상기 제1 레지스터 메시지를 상기 정보 테이블에 기록하는 단계 ?? 상기 식별 정보는 상기 유저 에이전트의 콜 아이디 또는 유저 에이전트 식별자 중 어느 하나임 -;
    상기 제1 리얼 SIP 서버로 상기 제1 레지스터 메시지를 전송하는 단계;
    상기 제1 리얼 SIP 서버로부터 확인 메시지를 수신하는 단계;
    상기 제1 리얼 SIP 서버로부터 수신된 확인 메시지에 포함된 상기 제1 리얼 SIP 서버의 식별자가 상기 정보 테이블에 기록된 하나 이상의 리얼 SIP 서버 식별자 중 최종 엔트리인지 여부를 판단하는 단계;
    상기 제1 리얼 SIP 서버의 식별자가 최종 엔트리인 경우, 상기 수신한 확인 메시지를 상기 유저 에이전트로 전송하는 단계
    를 포함하는 것을 특징으로 하는 SIP 로드밸런서에서 레지스터 기능을 수행하는 방법.
  5. 제4항에 있어서,
    상기 제1 리얼 SIP 서버 식별자가 상기 정보 테이블에 기록된 최종 엔트리가 아닌 경우 상기 정보 테이블을 참조하여 제2 리얼 SIP 서버를 할당하고, 상기 정보 테이블에 기록된 제1 레지스터 메시지를 독출하여 상기 제2 리얼 SIP 서버로 전송하는 단계;
    상기 제2 리얼 SIP 서버로부터 확인 메시지를 수신하는 단계; 및
    상기 제2 리얼 SIP 서버로부터 수신된 확인 메시지에 포함된 상기 제2 리얼 SIP 서버의 식별자가 상기 정보 테이블에 기록된 하나 이상의 리얼 SIP 서버 식별자 중 최종 엔트리인지 여부를 판단하는 단계
    를 더 포함하는 것을 특징으로 하는 SIP 로드밸런서에서 레지스터 기능을 수행하는 방법.
  6. SIP 로드밸런서에서 레지스터 기능을 수행하는 방법에 있어서,
    네트워크로 연결된 하나 이상의 리얼 SIP 서버의 식별자 및 네트워크 주소를 기록하는 정보 테이블을 유지하는 단계;
    유저 에이전트로부터 제1 레지스터 메시지를 수신하는 단계;
    상기 정보 테이블을 참조하여, 상기 제1 레지스터 메시지를 전송할 제1 리얼 SIP 서버를 할당하고 유저 에이전트의 식별 정보, 할당된 제1 리얼 SIP 서버 식별 자, 및 상기 제1 레지스터 메시지를 상기 정보 테이블에 기록하는 단계 - 상기 식별 정보는 상기 유저 에이전트의 콜 아이디 또는 유저 에이전트 식별자 중 어느 하나임 -;
    상기 제1 리얼 SIP 서버로 상기 제1 레지스터 메시지를 전송하는 단계;
    상기 제1 리얼 SIP 서버로부터 제1 응답 메시지를 수신하는 단계 - 상기 제1 응답 메시지는 인증 관련 헤더 정보를 포함함 -;
    상기 수신한 제1 응답 메시지를 상기 유저 에이전트로 전송하는 단계;
    상기 유저 에이전트로부터 제1 레지스터 응답 메시지를 수신하는 단계 - 상기 제1 레지스터 응답 메시지는 상기 제1 응답 메시지에 포함된 인증 관련 헤더 정보에 대응하는 인증 응답 헤더 정보를 포함함-;
    상기 수신한 제1 레지스터 응답 메시지를 제1 리얼 SIP 서버로 전송하는 단계;
    상기 제1 리얼 SIP 서버로부터 확인 메시지를 수신하는 단계;
    상기 확인 메시지에 포함된 상기 제1 리얼 SIP 서버의 식별자가 상기 정보 테이블에 기록된 하나 이상의 리얼 SIP 서버 식별자 중 최종 엔트리인지 여부를 판단하는 단계;
    상기 제1 리얼 SIP 서버의 식별자가 최종 엔트리인 경우, 상기 수신한 확인 메시지를 상기 유저 에이전트로 전송하는 단계
    를 포함하는 것을 특징으로 하는 SIP 로드밸런서에서 레지스터 기능을 수행하는 방법.
  7. 제6항에 있어서,
    상기 제1 리얼 SIP 서버 식별자가 상기 정보 테이블에 기록된 최종 엔트리가 아닌 경우 상기 정보 테이블을 참조하여 제2 리얼 SIP 서버를 할당하고, 상기 정보 테이블에 기록된 상기 제1 레지스터 메시지를 독출하여 상기 제2 리얼 SIP 서버로 전송하는 단계;
    상기 제2 리얼 SIP 서버로부터 제2 응답 메시지를 수신하는 단계 - 상기 제2 응답 메시지는 인증 관련 헤더 정보를 포함함 -;
    상기 수신한 제2 응답 메시지를 상기 유저 에이전트로 전송하는 단계;
    상기 유저 에이전트로부터 제2 레지스터 응답 메시지를 수신하는 단계 - 상기 제2 레지스터 응답 메시지는 상기 제2 응답 메시지에 포함된 인증 관련 헤더 정보에 대응하는 인증 응답 헤더 정보를 포함함-;
    상기 수신한 제2 레지스터 응답 메시지를 제2 리얼 SIP 서버로 전송하는 단계; 및
    상기 제2 리얼 SIP 서버로부터 확인 메시지를 수신하는 단계
    를 더 포함하는 것을 특징으로 하는 SIP 로드밸런서에서 레지스터 기능을 수행하는 방법.
  8. 삭제
  9. 삭제
  10. 제1항 내지 제9항 중 어느 하나의 방법을 수행하기 위한 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체.
  11. SIP 로드밸런서에 있어서,
    네트워크로 연결된 하나 이상의 리얼 SIP 서버의 식별자, 상기 리얼 SIP 서버의 네트워크 주소, 및 유저 에이전트의 식별 정보를 유지하는 정보 테이블 - 상기 식별 정보는 상기 유저 에이전트의 콜 아이디 또는 유저 에이전트 식별자 중 어느 하나임 -;
    유저 에이전트로부터 제1 레지스터 메시지를 수신하고, 상기 수신한 제1 레지스터 메시지를 복사하며, 상기 정보 테이블을 참조하여 상기 정보 테이블에 기록된 상기 하나 이상의 리얼 SIP 서버로 상기 제1 레지스터 메시지를 전송하고, 상기 유저 에이전트의 식별 정보에 대응하여 상기 제1 레지스터 메시지를 전송한 하나 이상의 리얼 SIP 서버의 식별자를 상기 정보 테이블에 기록하는 메시지 복사부;
    상기 하나 이상의 리얼 SIP 서버와 연결되어 소정의 메시지를 송수신하는 리얼 SIP 서버 통신부;
    상기 하나 이상의 리얼 SIP 서버로부터 수신한 응답 메시지에 포함된 유저 에이전트의 식별 정보 및 리얼 SIP 서버의 식별자를 독출하고, 상기 응답 메시지에 포함된 인증 문자열을 추출하여 상기 독출된 식별 정보 및 리얼 SIP 서버의 식별자에 대응하여 상기 인증 문자열을 상기 정보 테이블에 기록하는 기록부;
    상기 정보 테이블에 기록된 하나 이상의 리얼 SIP 서버로부터 각각의 응답 메시지를 수신하면, 상기 응답 메시지에 포함된 인증 관련 헤더 정보를 추출하여 상기 헤더 정보를 포함하는 통합 응답 메시지를 생성하고, 상기 유저 에이전트로부터 수신한 통합 레지스터 응답 메시지에 포함된 인증 응답 헤더 정보를 추출하여 상기 인증 응답 헤더 정보를 포함하는 레지스터 응답 메시지를 생성하는 메시지 처리부;
    상기 유저 에이전트와 연결되어 소정의 메시지를 송수신하는 유저 에이전트 통신부; 및
    상기 레지스터 응답 메시지에 포함된 식별 정보 및 인증 문자열을 판독하고, 상기 정보 테이블을 참조하여 상기 식별 정보 및 인증 문자열에 대응하는 리얼 SIP 서버의 식별자를 검색하는 정보 검색부
    를 포함하고,
    상기 리얼 SIP 서버 통신부는 상기 리얼 SIP 서버로부터 상기 응답 메시지를 수신하고, 상기 메시지 처리부에서 생성된 상기 레지스터 응답 메시지를 상기 리얼 SIP 서버로 전송하며,
    상기 유저 에이전트 통신부는 상기 메시지 처리부에서 생성된 상기 통합 응답 메시지를 상기 유저 에이전트로 전송하고, 상기 유저 에이전트로부터 상기 통합 레지스터 응답 메시지를 수신하는 것을 특징으로 하는 SIP 로드밸런서.
  12. SIP 로드밸런서에 있어서,
    네트워크로 연결된 하나 이상의 리얼 SIP 서버의 식별자, 상기 리얼 SIP 서버의 네트워크 주소, 및 유저 에이전트의 식별 정보를 유지하는 정보 테이블 - 상 기 식별 정보는 상기 유저 에이전트의 콜 아이디 또는 유저 에이전트 식별자 중 어느 하나임 -;
    상기 정보 테이블을 참조하여 유저 에이전트로부터 수신한 레지스터 메시지를 전송할 리얼 SIP 서버를 할당하고, 상기 유저 에이전트의 식별 정보, 상기 리얼 SIP 서버의 식별자, 및 상기 레지스터 메시지를 상기 정보 테이블에 기록하는 리얼 SIP 서버 할당부;
    상기 하나 이상의 리얼 SIP 서버로부터 확인 메시지를 수신하고, 상기 수신한 확인 메시지를 참조하여 상기 리얼 SIP 서버의 식별자가 상기 정보 테이블에 기록된 리얼 SIP 서버의 식별자 중 최종 엔트리인지 여부를 판단하는 판단부;
    상기 리얼 SIP 서버로부터 수신한 응답 메시지를 상기 유저 에이전트로 전송하고, 상기 유저 에이전트로부터 상기 레지스터 메시지 또는 레지스터 응답 메시지를 수신하는 유저 에이전트 통신부 - 상기 응답 메시지는 인증 관련 헤더 정보를 포함하고, 상기 레지스터 응답 메시지는 상기 헤더 정보에 대응하는 인증 응답 헤더 정보를 포함함 -; 및
    상기 수신한 제1 레지스터 응답 메시지를 상기 리얼 SIP 서버로 전송하고, 상기 리얼 SIP 서버로부터 확인 메시지를 수신하는 리얼 SIP 서버 통신부
    를 포함하고,
    상기 판단부는, 상기 리얼 SIP 서버 식별자가 상기 정보 테이블에 기록된 최종 엔트리가 아닌 경우 상기 정보 테이블을 참조하여 제2 리얼 SIP 서버를 할당하고, 상기 정보 테이블에 기록된 상기 레지스터 메시지를 독출하여 상기 제2 리얼 SIP 서버로 전송하며, 상기 제2 리얼 SIP 서버로부터 수신된 제2 응답 메시지에 포함된 인증 관련 헤더 정보에 재인증 파라미터를 포함시켜 상기 유저 에이전트로 전송하고, 상기 유저 에이전트로부터 제2 레지스터 응답 메시지를 수신하여 이를 상기 제2 리얼 SIP 서버로 전송하도록 상기 유저 에이전트 통신부 및 상기 리얼 SIP 서버 통신부를 제어하는 것을 특징으로 하는 SIP 로드밸런서.
KR20050010360A 2005-02-04 2005-02-04 SlP 로드밸런서에서 레지스터 기능을 수행하는 방법 및이를 수행하는 SlP로드밸런서 KR100673514B1 (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR20050010360A KR100673514B1 (ko) 2005-02-04 2005-02-04 SlP 로드밸런서에서 레지스터 기능을 수행하는 방법 및이를 수행하는 SlP로드밸런서
US11/815,463 US8064468B2 (en) 2005-02-04 2005-02-15 Method for providing function of registering in session initiation protocol and SIP load balancer of enabling the method
PCT/KR2005/000413 WO2006083052A1 (en) 2005-02-04 2005-02-15 Method for providing function of registering in session initiation protocol and sip load balancer of enabling the method
JP2007553995A JP4495764B2 (ja) 2005-02-04 2005-02-15 Sipロードバランサでレジスタ機能を実行する方法およびこれを実行するsipロードバランサ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR20050010360A KR100673514B1 (ko) 2005-02-04 2005-02-04 SlP 로드밸런서에서 레지스터 기능을 수행하는 방법 및이를 수행하는 SlP로드밸런서

Publications (2)

Publication Number Publication Date
KR20060089363A KR20060089363A (ko) 2006-08-09
KR100673514B1 true KR100673514B1 (ko) 2007-01-24

Family

ID=36777406

Family Applications (1)

Application Number Title Priority Date Filing Date
KR20050010360A KR100673514B1 (ko) 2005-02-04 2005-02-04 SlP 로드밸런서에서 레지스터 기능을 수행하는 방법 및이를 수행하는 SlP로드밸런서

Country Status (4)

Country Link
US (1) US8064468B2 (ko)
JP (1) JP4495764B2 (ko)
KR (1) KR100673514B1 (ko)
WO (1) WO2006083052A1 (ko)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4287456B2 (ja) * 2006-10-26 2009-07-01 株式会社東芝 サービス不能攻撃を防止するサーバ装置、方法およびプログラム
US8064342B2 (en) * 2006-10-27 2011-11-22 Verizon Patent And Licensing Inc. Load balancing session initiation protocol (SIP) servers
US20080228926A1 (en) * 2007-03-13 2008-09-18 Asher Shiratzky Methods, media, and systems for balancing session initiation protocol server load
US8881167B2 (en) * 2008-04-28 2014-11-04 International Business Machines Corporation Load balancing in network based telephony applications
US9071608B2 (en) * 2008-04-28 2015-06-30 International Business Machines Corporation Method and apparatus for load balancing in network based telephony application
US7864766B2 (en) * 2008-12-12 2011-01-04 Cisco Technology, Inc. Directory number mobility utilizing dynamic network distributed dial-peer updates
US8676977B2 (en) * 2009-12-14 2014-03-18 Sonus Networks, Inc. Method and apparatus for controlling traffic entry in a managed packet network
CN102209019B (zh) * 2010-03-30 2015-09-16 杭州华三通信技术有限公司 一种基于报文净荷的负载均衡方法和负载均衡设备
CA2854067C (en) * 2012-07-04 2018-12-11 Huawei Technologies Co., Ltd. Method, device and system for recording multimedia data
US9424429B1 (en) * 2013-11-18 2016-08-23 Amazon Technologies, Inc. Account management services for load balancers
US20150172324A1 (en) * 2013-12-13 2015-06-18 Alcatel-Lucent Usa Inc. Authorized SIP Redirection

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7343490B2 (en) * 2001-11-30 2008-03-11 Nokia Siemens Networks Oy Apparatus, and associated method, for facilitating authentication of a mobile station with a core network
EP1452042B1 (en) * 2001-12-07 2005-10-05 Telefonaktiebolaget LM Ericsson (publ) Method and system for providing access to subscriber services
EP1324544A1 (en) * 2001-12-26 2003-07-02 Telefonaktiebolaget L M Ericsson (Publ) Method and system for controlling traffic load between media gateway controllers and proxies
JP4111793B2 (ja) 2002-09-26 2008-07-02 富士通株式会社 中継システム
KR100472952B1 (ko) * 2002-10-30 2005-03-10 한국전자통신연구원 세션 초기화 프로토콜(sip)기반의 부하 분산장치 및방법
JP2004192067A (ja) 2002-12-06 2004-07-08 Nippon Telegr & Teleph Corp <Ntt> 信号分散方法、サービス提供システム、そのサービス制御装置及びデータベースサーバ
KR100511479B1 (ko) * 2002-12-27 2005-08-31 엘지전자 주식회사 Nat를 갖는 망에서의 sip 서비스 방법
US7412521B2 (en) * 2003-03-12 2008-08-12 Microsoft Corporation End-point identifiers in SIP
JP2004328104A (ja) 2003-04-22 2004-11-18 Hitachi Ltd アクセスポイントノード装置および端末位置情報登録方法
US7643442B1 (en) * 2003-06-30 2010-01-05 Cisco Systems, Inc. Dynamic QoS configuration based on transparent processing of session initiation messages
US20050086327A1 (en) * 2003-10-16 2005-04-21 Georg Mayer Method and apparatus by which a UE starts compression in SIP signalling to IMS
US7599347B2 (en) * 2004-09-16 2009-10-06 Research In Motion Limited System and method for allocating session initiation protocol (SIP) identifications (IDs) to user agents
US7319689B2 (en) * 2004-10-12 2008-01-15 Telcordia Technologies, Inc. Method for handling the simultaneous mobility of mobile hosts in infrastructure-based networks
US20060149811A1 (en) * 2004-12-31 2006-07-06 Sony Ericsson Mobile Communications Ab Method for remotely controlling media devices via a communication network
US8473617B2 (en) * 2004-12-31 2013-06-25 Sony Corporation Media client architecture for networked communication devices
US8001380B2 (en) * 2008-07-01 2011-08-16 Verizon Patent And Licensing Inc. System and method for providing unique encryption key

Also Published As

Publication number Publication date
WO2006083052A1 (en) 2006-08-10
KR20060089363A (ko) 2006-08-09
JP4495764B2 (ja) 2010-07-07
US20080144609A1 (en) 2008-06-19
JP2008530846A (ja) 2008-08-07
US8064468B2 (en) 2011-11-22

Similar Documents

Publication Publication Date Title
KR100673514B1 (ko) SlP 로드밸런서에서 레지스터 기능을 수행하는 방법 및이를 수행하는 SlP로드밸런서
US6195366B1 (en) Network communication system
US20060069836A1 (en) Communication system and method for upgrade of user terminal software and user terminal upgraded by the same
CN104094554A (zh) 无服务器名称指示(sni)的隐式ssl证书管理
US8874911B2 (en) Terminal device, system, connection management server, and computer readable medium
JP4764368B2 (ja) 通信を確立してメッセージを中継する装置、通信を確立する方法およびプログラム
US8601568B2 (en) Communication system for authenticating or relaying network access, relaying apparatus, authentication apparatus, and communication method
RU2654854C1 (ru) Способ сбора данных о пользователе устройства беспроводной связи и машиночитаемый носитель для реализации этого способа
JP2012083891A (ja) フェイルオーバシステム、記憶処理装置及びフェイルオーバ制御方法
US10205757B2 (en) Communications methods, apparatus and systems for correlating registrations, service requests and calls
CN112887229A (zh) 一种会话信息同步方法及装置
KR20090018130A (ko) Sip 프록시, 통신 아키텍쳐 및 시그널링 메시지 전송 방법
EP4210360A1 (en) Application context migration method and device
US20070206745A1 (en) Communication system and transfer control method together with telphone device, communication device, and program used for same
US20090016520A1 (en) Apparatus, method, computer program product, and terminal device for controlling communications
WO2005038661A1 (ja) 端末認証装置および方法
KR20040077512A (ko) 지연된 자원 할당 방법 및 시스템
JP2008160286A (ja) 画像通信装置、及びその制御方法
JP2009193242A (ja) 中継装置、通信装置及び通信システム
CN106209407B (zh) 进行会话备份的方法与设备
CN110809033B (zh) 报文转发方法、装置及交换服务器
JP2009211529A (ja) 認証処理装置、認証処理方法および認証処理プログラム
JP2005229309A (ja) 通信経路設定装置、通信経路設定方法および通信経路設定プログラム
US20060209833A1 (en) Communication apparatus and computer program product for communicating with other communication apparatus
JP5289345B2 (ja) アドレス変換装置、通信システム、メッセージ通信方法、及びプログラム

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

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20140103

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20141231

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20160113

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20170116

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20190115

Year of fee payment: 13

FPAY Annual fee payment

Payment date: 20200115

Year of fee payment: 14