KR101391059B1 - Sip 생존가능 구성에서 sip 메시지를 이용한 페일오버/페일백 트리거 - Google Patents
Sip 생존가능 구성에서 sip 메시지를 이용한 페일오버/페일백 트리거 Download PDFInfo
- Publication number
- KR101391059B1 KR101391059B1 KR1020080134860A KR20080134860A KR101391059B1 KR 101391059 B1 KR101391059 B1 KR 101391059B1 KR 1020080134860 A KR1020080134860 A KR 1020080134860A KR 20080134860 A KR20080134860 A KR 20080134860A KR 101391059 B1 KR101391059 B1 KR 101391059B1
- Authority
- KR
- South Korea
- Prior art keywords
- sip
- controller
- message
- state
- user agent
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/66—Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0805—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
- H04L43/0817—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking functioning
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/04—Network management architectures or arrangements
- H04L41/046—Network management architectures or arrangements comprising network management agents or mobile agents therefor
-
- 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
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/40—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass for recovering from a failure of a protocol instance or entity, e.g. service redundancy protocols, protocol state redundancy or protocol service redirection
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 Security & Cryptography (AREA)
- Environmental & Geological Engineering (AREA)
- Telephonic Communication Services (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
SIP 생존가능 네트워크를 유지하기 위한 방법, 장치 및 시스템이 제공된다. 본 발명은 SIP NOTIFY 메시지 같은 메시지를 이용하여 판정된 SIP 네트워크의 상태를 근거로 페일오버 및 페일백하도록 다양한 네트워크 컴포넌트를 트리거할 수 있다.
Description
본 발명은 일반적으로 통신 네트워크에 관한 것으로, 보다 상세하게는 생존가능 세션 개시 프로토콜(Session Initiation Protocol; SIP) 생존가능 네트워크에 관한 것이다.
세션 개시 프로토콜(SIP)는 많은 종류의 실시간 통신 세션을 확립하기 위한 개방 시그널링 프로토콜이다. SIP를 사용하여 확립될 수 있는 통신 세션의 유형의 예로는 음성, 비디오, 게임, 애플리케이션, 및/또는 인스턴스 메시징 등이 있다. 이들 통신 세션은 개인용 컴퓨터, 랩탑 컴퓨터, 개인 휴대 정보 단말기(PDA), 셀룰라 폰, IM 클라이언트, IP 폰, 전통적인 전화기, 서버 애플리케이션, 애플리케이션들의 집합체, 데스크탑 애플리케이션 등과 같은 임의 유형의 통신 장치 상에서 실행될 수 있다.
SIP의 하나의 중요한 특징은 엔드유저, 애플리케이션 및 서비스 제공자 네트 워크로의 모든 통신에 대하여 하나의 통일 공동 어드레스로서 기록되어 있는 주소(Address of Record; AOR)를 사용하는 능력이 있다. 따라서, SIP개선 통신 세계에서, 유저의 AOR은 유저를 그 유저와 관계된 모든 통신 장치에 링크하는 하나의 어드레스가 된다. 이 AOR을 사용하여, 호출자는 각각의 고유 장치 어드레스 또는 전화번호를 알 필요없이 유저 에이전트(UA)로서도 지칭되는 유저 통신 장치 중 임의의 하나에 도달할 수 있다.
SIP 환경에서 통신 애플리케이션을 인에이블할 목적으로, 그리고 UA에 대한 발신 프록시로서 기능하기 위해 많은 SIP 애플리케이션 서버가 존재하며, 이에 의해 복잡한 네트워크가 구축가능한 한편 장치가 네트워크에 접속하기 위해 사용하는 프록시에 의한 복잡함을 숨길 수 있다. 그러한 통신 애플리케이션에 대한 기본적인 영역 중 하나는 SIP UA의 호출 제어이다. 생존가능 SIP 네트워크 구성을 제공하는 문제점에 대한 솔루션이 현재는 거의 없다. 과거에 생존성이 제공된 한가지 방법으로는 SIP 시그널링에 응답이 없는 경우 채용된 SIP 프록시를 사용하는 것이 있다. 네트워크에서 하나 이상의 대체 라우트를 통해 시그널링을 라우팅하는데 프록시가 사용될 수 있다. 개별적인 프록시를 사용하게 되면, 호출 제어기 또는 게이트웨이 이외에 추가의 네트워크 요소가 생존성을 제공할 필요가 있기 때문에 비용이 많이 들 수 있다.
다른 네트워크 서버 제품은 지오-리던던트 구성을 제공하여, 게이트웨이가 고도의 네트워크 서버의 이용가능성에 기인한 네트워크 서버 장애에 맞닥뜨리지 않도록 하는 경향이 있다. 프록시를 사용하는 것과 마찬가지로, 이러한 특정한 솔루 션은 고도의 이용가능성 서버를 구입하고 네트워크를 도처에 분배할 필요가 있기 때문에 상대적으로 고가이다. 공지된 솔루션에 대한 또 다른 단점으로는, 제 1 SIP 시그널링 경로가 이용가능하지 않을 때 네트워크 요소(예를 들면, 게이트웨이)가 대체 경로를 사용할 수 없다는 사실이다; 그러한 솔루션은 서버 간 데이터 복제를 구비한 상시 대기 구성을 필요로 한다; 그리고, 이들은 동일한 버전의 SIP를 정확하게 사용하고 동일한 설정의 SIP 특징을 SIP 엔트포인트에 정확하게 제공하기 위해 제 1 및 제 2 호출 컨트롤러를 필요로 한다.
이들 단점을 극복하기 위해, 네트워크 장애가 발생하였을 때를 판정하기 위한 로직을 전통적으로 라우터에 위치시키고, 이 라우터는 다양한 네트워크 요소가 적절히 동작하고 있는지를 결정하기 위해 네트워크의 IP 레이어를 검사하는 능력을 갖고 있다. 이러한 장애/페일백(failback) 검출 로직은 라우터에 위치하여 다른 나머지 네트워크 컴포넌트의 부담을 경감시킨다. 이러한 특정 구성에 대한 주요한 단점으로는 SIP 애플리케이션 레벨에서 서버 또는 다른 네트워크 요소가 동작하고 있는지를 라우터가 검출할 수 없다는 점이다. 서버가 IP 레이어 레벨에서 동작하고 있지만 SIP 컨트롤러가 동작하고 있지 않은 많은 예가 있을 수 있다. 전술한 종래의 라우터 및 다른 네트워크 요소는 그러한 장애 조건을 식별할 수 없고 그러한 서버를 동작하고 있는 것으로 등록한다.
본 발명의 다양한 실시예 및 구성에 의해 이들 및 다른 필요성이 해결된다. 본 발명은 일반적으로 일부 또는 모든 통신 네트워크의 이용가능성을 분석하는 시스템, 장치 및 방법에 관한 것이다. 상기 방법은,
통신 시스템에 있는 컴포넌트의 상태가 제 1 상태(예를 들면, 동작 상태)에서 제 2 상태(예를 들면, 비동작 상태)로 변경되었는지를 판정하는 단계;
상기 판정된 컴포넌트의 제 2 상태에 관련된 정보를 포함하는 메시지를 생성하는 단계; 및
상기 컴포넌트와 관계된 유저 에이전트에 상기 메시지를 전송하는 단계를 포함한다.
본 발명의 적어도 몇몇 실시예에 따라, 컴포넌트의 상태는 자기감시(self-monitoring)될 수 있다. 환언하면, 컴포넌트는 자기 자신에 대하여 유지관리 검사를 실행하여 제 1(예를 들면, 동작) 또는 제 2(예를 들면, 비동작) 상태에서 동작하는지를 판정할 수 있다. 그 후, 컴포넌트가 할 수 있으면, 자신의 상태를 보고하는 메시지를 유저 에이전트에게 전송할 수 있다. 이것은 컴포넌트가 자신의 SIP 애플리케이션 레이어 상태를 감시할 수 있기 때문이다. 예를 들면, 컴포넌트는 자신의 컨트롤러의 상태를 감시하고 컨트롤러가 현재 SIP 유저 에이전트를 서비스할 수 있는지를 판정할 수 있다.
대체 실시예에 따라, 리포팅 컴포넌트는 통신 시스템에 있는 다른 컴포넌트의 동작 상태를 감시하고 보고하도록 적용될 수 있다. 감시를 수행하는 컴포넌트 는 다른 컴포넌트의 SIP 애플리케이션 레이어 상태를 검사하고 발견물을 보고하도록 적용될 수 있다. 그러나, 이러한 특정 유형의 감시 활동은 감시 메시지를 전송하고 응답을 기대함으로써 수행될 수 있다.
본 발명의 적어도 몇몇 실시예에 따라, 감시를 수행하는 컴포넌트는 컴포넌트(예를 들면, 자기 자신 또는 다른 컴포넌트)의 상태가 변경되었는지를 판정하고, 감시 컴포넌트는 그러한 변경을 감시되고 있는 컴포넌트와 관계된 유저 에이전트에게 보고하도록 적용될 수 있다. 감시되고 있는 컴포넌트는 컴포넌트 내에 포함된 컨트롤러를 통해 유저 에이전트와 관계될 수 있다. 보다 상세하게, 유저 에이전트는 컴포넌트 내에 포함된 컨트롤러에 등록될 수 있다.
감시되고 있는 컴포넌트의 상태 변경을 보고하는 메시지를 유저 에이전트가 수신하는 경우, 유저 에이전트는 다수의 서로 다른 방식으로 반응할 수 있다. 유저 에이전트가 통신 시스템에 있는 컴포넌트의 상태(예를 들면, SIP 상태)를 또한 감시할 수 없는 경우, 유저 에이전트는 수신된 메시지에 포함된 정보에 기초하여 동작 파라미터를 단순히 변경할 수 있다. 예를 들면, 메시지가 유저 에이전트의 제 1 컨트롤러가 장애가 있다는 것을 가리키면, 유저 에이전트는 다른 질의없이 자신의 백업 또는 제 2 컨트롤러에 간단히 페일오버(failover)할 수 있다. 대안으로, 유저 에이전트는 통신 시스템에 있는 하나 이상의 컴포넌트의 상태를 감시할 수 있으면, 유저 에이전트는 수신된 통지를 컴포넌트의 상태를 검사하기 위한 프롬프트로서 처리할 수 있다. 그러한 실시예에서, 유저 에이전트는 컨트롤러의 상태 및 그에 대응하는 컴포넌트에 대한 자기 판정을 하기 위해 컨트롤러에 재등록을 시 도하도록 적용될 수 있다. 이것은 페일오버에서 동작을 시작하기 전에 컴포넌트의 상태가 변경되었다는 것을 확인하는 능력을 유저 에이전트에게 제공한다. 따라서, 유저 에이전트는 자신의 동작에 대하여 제어와 의사 결정을 보다 강력하게 할 수 있다.
본 명세서에서 사용되는 바와 같이, "감시"는 감시되고 있는 요소 또는 요소들의 그룹의 조건 또는 동작에 영향을 받지 않는 기구를 사용하여 관찰, 기록 또는 검출과 관계되는 임의의 유형의 기능을 포함한다.
본 명세서에서 사용되는 바와 같이, "적어도 하나", "하나 이상" 및 "및/또는"은 동작시에 결합 및 비결합 모두인 오픈-엔드의 표현이다. 예를 들면, "A, B 및 C 중 적어도 하나", "A, B 또는 C 중 적어도 하나", "A, B 및 C 중 하나 이상", "A, B 또는 C 중 하나 이상"및 "A, B 및/또는 C"는 A 하나, B 하나, C 하나, A 및 B 함께, A 및 C 함께, B 및 C 함께, 또는 A, B 및 C 모두를 의미한다.
용어 "하나(a 또는 an)"의 엔티티는 하나 이상의 실체를 지칭한다. 이와 같이, 용어 "하나(a 또는 an)", "하나 이상" 및 "적어도 하나"는 본 명세서에서 상호교환하여 사용될 수 있다. 또한, 용어 "포함하는(comprising)", "구비하는(including)" 및 "갖는(having)"도 상호 교환하여 사용될 수 있다.
용어 "자동" 및 그의 변형예는, 본 명세서에서 사용되는 바와 같이, 프로세스 또는 동작이 수행될 때 물질적인 인간의 입력이 없이 행해지는 임의의 프로세스 또는 동작을 지칭한다. 그러나, 물질적 또는 비물질적이건 간에, 프로세스 또는 동작의 실행 전에 수신된 인간의 입력을 사용하여 프로세스 또는 동작이 실행되더 라도, 프로세스 또는 동작은 자동으로 될 수 있다. 인간의 입력은 그러한 입력이 프로세스 또는 동작이 수행되는 방법에 영향을 미친다면 물질적인 것으로 간주될 수 있다.
용어 "컴퓨터 판독가능 매체"는, 본 명세서에서 사용되는 바와 같이, 실행을 위해 명령을 프로세서에 제공하는 것이 기대되는 임의의 유형의 저장 및/또는 송진 매체를 지칭한다. 컴퓨터 판독가능 매체는 IP 네크워크(예를 들면, SOAP)를 통해 네트워크 송신시에 인코딩되는 일련의 명령 세트일 수 있다. 그러한 매체는 비휘발성 매체, 휘발성 매체 및 송신 매체 같은 다수의 형태를 취하지만, 이에 한정되는 것은 아니다. 비휘발성 매체는, 예를 들면, NVRAM, 또는 자기 또는 광 디스크를 포함한다. 휘발성 매체는 주 메모리 같은 동적 메모리(예를 들면, RAM)를 포함한다. 공통 형태의 컴퓨터 판독가능 매체는, 예를 들면, 플로피 디스크, 플렉시블 디스크, 하드 디스크, 자기 테이프, 또는 임의의 다른 자기 매체, 광자기 매체, CD-ROM, 임의의 다른 광 매체, 펀치 카드, 페이퍼 테이프, 구멍 패턴을 가진 임의의 다른 물리 매체, RAM, PROM, EPPOM, FLASHEPROM, 메모리카드와 같은 고체 상태 매체, 임의의 다른 메모리 칩 또는 카트리지, 이후 설명되는 캐리어 웨이브, 또는 컴퓨터가 판독할수 있는 임의의 다른 매체를 포함한다. 이메일의 디지털 파일 첨부물 또는 다른 자기 포함 정보 기록보관소(archieve) 또는 기록보관소들의 세트는 유형 저장 매체와 등가의 분산 매체로 고려된다. 컴퓨터 판독가능 매체가 데이터베이스로서 구성되는 경우, 데이터베이스는 관계, 계층, 객체 지향 등과 같은 임의의 유형의 데이터베이스일 수 있다는 것이 이해될 것이다. 따라서, 본 발명은 본 발명의 소프트웨어 구현예가 분류되는 유형의 저장 매체 또는 분산형 매체 및 종래 인식된 등가물 및 후임 매체를 포함하는 것으로 고려된다.
용어 "판정", "계산" 및 "컴퓨팅", 및 그들의 변형예는, 본 명세서에서 사용되는 바와 같이, 상호교환하여 사용되며, 임의 유형의 방법론, 프로세스, 수학적 연산 또는 기술을 포함한다. 보다 상세하게, 그러한 용어는 BPEL 같은 해석 규칙 또는 로직이 하드코딩된 것이 아니라 판독, 해석, 컴파일 및 실행될 수 있는 규칙 파일로 표현되는 규칙 언어를 포함할 수 있다.
용어 "모듈" 또는 "툴"는 본 명세서에서 사용되는 바와 같이 임의의 공지되거나 후에 개발된 하드웨어, 소프트웨어, 펌웨어, 인공지능, 퍼지 로직 또는 그 요소와 관계된 기능을 수행할 수 있는 소프트웨어와 하드웨어의 조합을 지칭한다. 또한, 본 발명이 예시적 실시예와 관련하여 설명되지만, 본 발명의 개별 형태는 분리하여 청구될 수 있다는 것을 이해하자.
전술한 설명은 본 발명의 일부 형태의 이해를 제공하기 위한 본 발명의 간략한 개요이다. 본 개요는 배타적이거나 본 발명 및 각종 실시예의 완전한 개관은 아니다. 전술한 설명은 본 발명의 중요하거나 임계적인 요소를 식별하는 것도 아니고 본 발명의 범위를 정하고자 하는 것도 아니라 이하에 제공되는 보다 상세한 설명에 대한 도입부로서 간략한 형태로 본 발명의 개념을 선택하여 제공하고자 하는 것이다. 이해할 수 있는 바와 같이, 본 발명의 다른 실시예는 전술하거나 이하에 설명되는 하나 이상의 특징을 홀로 또는 조합하여 이용하는 것이 가능하다.
이하에서는 본 발명을 예시적 통신 시스템과 결합하여 설명할 것이다. 예를 들면, 서버(들) 및/또는 데이터베이스(들)을 사용하는 시스템과 사용하기에 적절함에도 불구하고, 본 발명은 임의의 특정 유형의 통신 시스템 또는 시스템 요소들의 구성과 사용하는 것에 한정되는 것은 아니다. 더욱이, 본 명세서에서 사용되는 "데이터베이스"는 관계형 데이터베이스 시스템뿐만 아니라, 하드웨어 및 소프트웨어 모두, RAM에서 또는 하드 디스크 상에서 이용가능한 임의의 컴퓨터 저장 메카니즘을 포함할 수 있다. 당해 분야에 능숙한 자는 개시된 기술이 SIP 생존가능 네트워크를 유지하는 것이 바람직한 임의의 통신 애플리케이션에서 사용될 수 있다는 것을 이해할 수 있을 것이다.
본 발명의 예시적 시스템 및 방법을 분석 소프트웨어, 모듈 및 관련 분석 하드웨어와 관련하여 또한 설명할 것이다. 그러나, 본 발명의 불필요한 불명료함을 피하기 위해, 후술하는 설명에서는 공지된 구조, 블록도 형태로 도시되거나, 공지되거나 또는 요약될 수 있는 컴포넌트 및 장치는 생략한다. 그러한 공지된 구조의 예로는 IP 인프라스트럭처, 레이어 2 스위치, 레이어 IP 라우터, IP 레벨 방화벽, 네트워크 어드레스 변환(NAT) 장치, SIP 세션 보더 컨트롤러(Session Border controller; SBC) 등이 있지만, 이에 한정되는 것은 아니다.
설명의 목적으로, 본 발명의 철저한 이해를 제공하기 위해 다수의 상세가 설명된다. 그러나, 본 발명이 본 명세서에서 설명된 특정 상세를 넘어 다양한 방식으로 실행될 수 있다는 것을 이해하자.
도 1을 참조하면, 예시적인 통신 시스템(100) 아키텍처는 본 발명의 적어도 몇몇 실시예에 따라 설명될 것이다. 통신 시스템(100)은 SIP 유저 에이전트(UA)(108) 같은 엔드포인트를 다수의 다른 통신 장치에 접속하는 제 1 네트워크(104)를 포함한다. UA(108)는 제 1 네트워크(104)에 접속된 엔드포인트뿐만 아니라 제 1 네트워크(104) 외부의 다른 엔드포인트와도 통신할 수 있다. 예를 들면, UA(108)는 제 2 네트워크(152)에 접속된 외부 엔드포인트(156)와 통신할 수 있다.
제 1 네트워크(104) 및 제 2 네트워크(152)는 임의 유형의 공지된 통신 네트워크 또는 통신 장비의 집합에 대응할 수 있다. 제 1 네트워크(104)는 LAN(Local Area Network), WAN(Wide Area Network), 또는 OSI 모델에 의해 정의된 바와 같은 임의의 다른 유형의 레이어 3 및 레이어 4 네트워크를 포함할 수 있다.
제 2 네트워크(152)는 임의 유형의 정보 전송 매체를 포함하고, 엔드포인트들 간 메시지를 전송하기 위한 임의 유형의 프로토콜을 사용할 수 있다. 인터넷은 전 세계에 위치된 많은 컴퓨터와 다른 컴퓨터 장치로 구성되는 IP 네트워크를 구성하는 통신 네트워크(104)의 일 예이다. 제 2 네트워크(152)의 다른 예로는 표준 POTS(Plain Old Telephone System), ISDN(Integrated Services Digital Network), PSTN(Public Switched Telephone Network), LAN, WAN, 셀룰러 통신 네트워크 및 당해 기술분야에 공지된 임의의 다른 유형의 패킷 스위칭 또는 회로 스위칭 네트워크 등이 있지만, 이에 한정되는 것은 아니다. 통신 네트워크 104 및 152 모두 유선 및/또는 무선 통신 기술을 포함할 수 있다.
제 1 네트워크(104)에도 접속된 하나 이상의 서버(136)에 의해 UA(108)의 SIP 기능이 제공될 수 있다. UA(108)는 또한 제 1 네트워크(104) 외부의 다른 서버 또는 통신 장치에 의해서도 제어될 수 있다. 예를 들면, 제 1 네트워크(104)를 제 2 네트워크(152)와 접속시키는 게이트웨이(148) 또한 UA(108)에 대한 SIP 제어 능력을 제공하도록 할 수 있다.
SIP 기능을 제공하는 것에 더하여, 서버(136)는 또한 음성 호출 소프트웨어(예를 들면, VoIP 소프트웨어), 비디오 호출 소프트웨어, IM 소프트웨어, 음성 메시징 소프트웨어(예를 들면, 오디오 및 비디오 메시징, IM 메시징 등과 같은 멀티미디어 메시징), 레코딩 소프트웨어, IP 음성 서버, 팩스 서버, 웹 서버, 이메일 서버, 호출 센터 애플리케이션(들) 등을 포함할 수 있다.
본 발명의 실시예에 따라, 서버(136)는 LDAP(Lightweight Directory Access Protocol), H.248, H.323, SMTP(Simple Mail Transfer Protocol), IMAP4(Internet Message Access Protocol 4, ISDN, E1/T1, HTTP, SOAP, XCAP, STUN, 및 아날로그 라인 또는 트렁크(trunk) 같은 다양한 다른 프로토콜에 대한 인터페이스를 포함할 수 있다.
서버(136)는 또한 PBX, ACD(Automatic Call Distribution), 엔터프라이즈(enterprise) 스위치, 또는 다른 유형의 통신 시스템 스위치(예를 들면, 다이얼링된 전화 번호에 따라 가입자 전화에 각 회로가 접속되는 두 개 이상의 회로를 함께 접속함으로써 동작하는 중앙 교환국에 있는 복합 기계(또는 일련의 복합 기계) 같은, 하나의 전화로부터 다른 전화로의 호출을 라우팅할 수 있는 임의의 장치) 또 는 서버, 뿐만 아니라 매체 서버, 컴퓨터, 부가물 등과 같은 다른 유형의 프로세서 기반 통신 제어 장치를 포함할 수 있다.
게이트웨이(148)는 PSTN; 차세대 네트워크; 2G, 2.5G 및 3G 무선 액세스 네트워크; 또는 PBX 같은 이종의 통신 네트워크들 간의 변환 유닛으로서 동작하도록 제공된다. 게이트웨이(148)의 기능 중 하나는 다양한 네트워크에 대하여 서로 다른 송신 및 코딩 기술 간을 변환하는 것이다. 에코 소거, DTMF, 및 톤 전송자 같은 매체 스트리밍 기능 또한 게이트웨이(148)에 의해 지원될 수 있다. 게이트웨이(148)는 또한 하나의 네트워크 연산 패러다임(예를 들면, 송신 프로토콜)으로부터 또 다른 것으로의 신호/메시지를 더 변환할 수 있다.
UA(108)에 SIP 기능을 제공하기 위해, 서버(136) 및/또는 게이트웨이(148)는 하나 이상의 컨트롤러(140a-N)를 포함할 수 있다. UA(108)는 하나 이상의 컨트롤러(140a-N)를 동시에 등록할 수 있다. 본 명세서에서 사용되는 바와 같이, 용어 "등록(register 및 registratration)"는 SIP 등록 및 네트워크 첨부 방법 및 SIP REGISTER 메시지의 전송 및 수신 확인(acknowledgement)을 포함하는 -이에 한정되는 것은 아님- 프로세스를 지칭하고, 가입을 위한 SUBSCRIBE 메시지, OPTIONS 메시지를 사용하는 질의 같은 다른 메카니즘 뿐만 아니라 방화벽 및 STUN 프로토콜, HTTP 질의 등을 사용하는 NAT 검출 같은 다른 비-SIP 메카니즘을 포함할 수 있다.
컨트롤러(140a-N)는 서버(136)에 상주하는 펌웨어 또는 애플리케이션에 대응할 수 있고, 컨트롤러(140a-N)는 제어된 UA(108)로 향하고 그로부터 수신되는 SIP 메시지를 조정하는데 사용될 수 있다. 컨트롤러(140a-N)에 의해 조정되는 SIP 메 시지는 또 다른 엔드포인트(156)를 향하여 UA(108)에 의해 발신되는 발신 SIP 메시지 또는 또 다른 엔드포인트(156)에 의해 발신되고 UA(108)로 향하는 착신 SIP 메시지에 대응할 수 있다. 컨트롤러(140a-N)는 통신 시스템(100)의 애플리케이션 레이어에서 동작할 수 있다.
본 발명의 적어도 일 실시예에 따라, UA(108)는 동시에 두 개 이상의 컨트롤러(140)를 등록할 수 있다. UA(108)가 동시에 등록하는 컨트롤러(140) 각각은 서로 다른 속성을 포함할 수 있고, 따라서 UA(108)에 서로 다른 SIP 기능을 제공할 수 있다. 예를 들면, UA(108)는 확장된 확장(즉, 개선된 특징 세트)를 사용하는 제 1 컨트롤러(140a) 및 SIP 프로토콜 상에서 하나 이상의 IETF(Internet Engineering Task Force) RFC에 따라 호출 처리를 하기 위한 표준 IETF 부합 SIP 확장을 사용하는 제 2 컨트롤러(140b)를 동시에 등록할 수 있다.
동시 등록 구성에 있어서, UA(108)는 액티브-액티브 등록 또는 액티브-대기 등록을 할 수 있다. 액티브-액티브 등록 시에, UA(108)는 컨트롤러(140)로부터의 SIP 메시지를 수용하고, SIP 메시지를 그 메시지가 제 1 컨트롤러(140)로 또는 그로부터 전송되는 것인지의 여부를 판정하지 않고 어느 한쪽의 컨트롤러(140)에 전송한다. 그러나, 액티브-대기 등록 구성에서, UA(108)는 액티브 컨트롤러(140)가 실행불가하지 않다면 SIP 시그널링 목적을 위해 단지 액티브 컨트롤러(140)만을 사용할 수 있다. 그러한 구성에서, 대기 컨트롤러(140)로부터 메시지가 수신되고 제 1 컨트롤러(140)가 동작가능하다고 UA(108)가 믿는다면, UA(108)는 SIP 메시지를 다. 제 1 컨트롤러(140)를 통한 재라우팅을 위해 대기 컨트롤러(140)로 다시 전송 할 수 있다.
본 발명의 다른 실시예에 따라, UA(108)는 컨트롤러(140a-N)의 우선 등록을 실행할 수 있고, 이에 의해 UA(108)이 제 1 컨트롤러(140a)가 운전 정지되거나 또는 SIP 기능을 제공하는데 사용할 수 없다는 것-이 경우 UA(108)는 제 2 컨트롤러(140b)를 등록할 수 있음-을 판정하지 않는다면 UA(108)는 제 1 컨트롤러(140a)를 등록한다.
본 발명의 또 다른 실시예에 따라, 피어 투 피어(Peer-to-Peer) SIP 네트워크 구성을 채용할 수 있는데, 이 경우 UA(108)는 또 다른 엔드포인트 또는 복수의 엔드포인트 상에 컨트롤러(140)를 등록할 수 있다.
UA(108)는 메모리(112) 및 그 메모리(112)에 저장된 루틴을 실행하고 입력/출력 SIP 메시지를 처리하기 위한 프로세서(124) 및 매체를 포함할 수 있다. 메모리(112)는 발견 모듈(116) 및 컨트롤러(120)의 리스트를 포함할 수 있다. 발견 모듈(116)은 UA(108)를 제어할 수 있는 컨트롤러(140)를 포함하는 시스템(100)에서 장치를 발견하기 위해 사용된다. 본 발명의 적어도 몇몇 실시예에 따라, 발견 모듈(116)은 임의의 이용가능한 컨트롤러(140)가 응답할 수 있는 발견 요청을 전송하도록 구성될 수 있다. 컨트롤러(140)로부터 수신된 응답(들)(또는 그의 랙(lack))에 기초하여, 발견 모듈(116)은 리스트(120)를 다수의 컨트롤러(140)에 장착할 수 있다. 다음에, 발견 모듈(116)은 각각의 속성(132)에 기초하여 컨트롤러(140)의 우선순위 리스트를 포함하는 순위가 정해진 리스트(128)를 작성할 수 있다. 그 후 UA(108)는 순위화된 리스트(128)에서 컨트롤러(140)의 순서에 기초하여 등록하기 위한 컨트롤러(들)(140)를 판정할 수 있다.
컨트롤러들(140) 간 발견하고 중재하는 능력을 제공하는 것에 더하여, 발견모듈(140)은 통신 시스템(100)의 상태를 감시하여 임의의 현재 네트워크(104) 장애, 서버(136) 장애, 게이트웨이(148) 장애, 또는 UA(108)와 그의 컨트롤러(들)(140) 사이의 관계에 영향을 미칠 수 있는 임의의 다른 유형의 장애가 있는지를 판정하도록 구성될 수 있다. 본 명세서에서 더 상세히 논의되는 바와 같이, 발면 모듈(116)은 시스템(100) 및 그의 컴포넌트의 상태를 프로액티브(proactively) 및 반응적으로 감시하도록 구성될 수 있다. 시스템(100)의 상태를 프로액티브적으로 감시하는 동안, 발견 모듈(116)은 소정의 로직과 함께 비-다이얼로그 SIP 메시지를 채용하여 시스템(100)의 상태를 판정한다. UA(108)는 또 다른 시스템(100) 컴포넌트(예를 들면, 게이트웨이(148))에 의해 추가로 프롬프트되어 시스템(100)의 상태를 반응적 감시를 시작할 수 있다. UA(108)에 시스템(100)의 상태를 감시하는 능력을 제공하는 것은, 라우터 같은 또 다른 컴포넌트에 대한 프로세싱 부담을 부하 이동한다기보다는 UA(108)를 사용한다는 점에서 종래의 네트워크 감시 기술과 는 구분된다. 이것은 각각의 UA(108)가 시스템(100)의 상태를 독립적으로 감시할 수 있게 하여, 이는 시스템(100)의 보다 많은 관점을 제공하고 각각의 UA(108)가 자신의 컨트롤러(140)에 대한 개인 레코드를 유지할 수 있게 하는 놀라운 장점을 제공한다. 환언하면, UA(108)로부터의 지능과 시스템(100)의 다른 컴포넌트(예를 들면, 게이트웨이(148) 및/또는 서버(136))의 조합을 사용함으로써, 보다 정확하고 최신의 시스템(100) 상태를 얻을 수 있다. UA(108)가 (예를 들면, 시스템(100)을 가로질러 IP 패킷을 전송함으로써) 네트워킹 레이어의 동작을 검사할 수 있도록 함으로써, (시스템(100)을 가로질러 SIP 메시지를 전송함으로써) SIP 애플리케이션 레이어 및 그 둘의 집합체는 시스템의 건전한 서술의 정확도를 증가시킬 수 있다.
서버(136) 및 게이트웨이(148)는 또한 시스템(100)의 상태를 표명하기 위한 발견 모듈(144)을 포함할 수 있다. 보다 상세하게, 각각의 발견 모듈(144)은 다양한 피어 컴포넌트(예를 들면, 발견 모듈(144)을 포함하는 장치에 인접한 시스템(100) 컴포넌트) 뿐만 아니라 원단(far end) 컴포넌트(예를 들면, 발견 모듈(144)을 포함하는 장치에 인접하지 않는 시스템(100) 컴포넌트)의 상태를 독립적으로 감시하는데 사용될 수 있다. 각각의 발견 모듈(144)은 시스템(100) 및 그 내부의 컴포넌트의 상태를 독립적으로 표명하는데 이용될 수 있다.
본 발명의 적어도 몇몇 실시예에 따라, 발견 모듈(144)은 유저 에이전트(108) 또는 클러스터링 방식(즉, 다수의 서버(136)가 "내가 어떤 컨트롤러를 사용할까"라고 질의하는 엔드포인트로부터의 질문에 대답할 수 있다)에 의해 또는 독자적으로 표명될 수 있는 소프트웨어 모듈을 포함할 수 있다. 발견 모듈(144)은 다수의 프로토콜을 사용하여 구현될 수 있고 다수의 프로토콜을 동시에 더 지원할 수 있다. 보다 상세하게, 각각의 발견 모듈(144)은 SOAP/HTTP, SXAP(SOAP 같은 HTTP 표준 상의 또 다른 XML) 중 하나 이상 및 심지어 (예를 들면, SIP 메시지의 보디(body)에 컨트롤러(140)의 리스트를 제공함으로써) SIP를 지원하도록 구성될 수 있다.
발견 모듈(144)은 규칙 프로세싱을 통해 (요청시 유저 에이전트(108)에 궁 극적으로 제공할 수 있는) 주어진 유저 에이전트(108)를 위해 자신의 컨트롤러 리스트를 판정할 수 있게 구성될 수 있다. 규칙 프로세싱은 하드 코딩(예를 들면, 자바 코드)될 수 있거나, 또는 XML 같은 스크립트를 취하고, 파싱하여, 컨트롤러의 리스트를 요청하는 유저 에이전트(108)를 위해 어떤 것이 가장 적절한 컨트롤러(140)인지를 판정하고자 할 때 파싱된 것을 실행하는 규칙 엔진을 포함할 수 있다. 알고리즘에 포함될 수 있는 규칙의 유형(이에 한정되는 것은 아님)은:
(1) 미가공 네트워크 토폴로지를 분석하여(네트워크를 통해 전송된 IP 패킷을 분석함으로써) 유저 에이전트(108)에 대한 가장 적절한 컨트롤러(140)를 판정하는 네트워크 로컬리티(locality) 검사. 그러한 규칙 세트는 대역폭 관리 기능을 포함하는데, 여기에서 발견 모듈(144)은 요청하는 유저 에이전트(108)의 IP를 검사한 후, 가장 이용가능한 대역폭을 리스트하는 대역폭에 대한 룩업을 저장한 다음, 유저 에이전트(108)에 대하여 가장 정합하는 컨트롤러(140)를 선택한다. 이 경우, 가장 정합한다는 것은 유저 에이전트(108)에 대한 접근성에 있어서 가장 근사하고 이용가능한 대역폭을 갖는 컨트롤러(140)를 포함하는 서버(136)에 대응한다는 것이다;
(2) 유저 에이전트(108)가 보안 목적으로 특정 서버(136)/컨트롤러(140)에 접속해야 하는 임의의 경유가 있을 수 있기 때문의 보안 검사 알고리즘. 예를 들면, CEO의 전화는 항상 감시되고 초 내에 패치되는 최상으로 보안된 서버에만 접속하기를 원할 수 있다. 한편, 기술 지원 전화는 보안 패치가 24 시간 내에 조정되는, 서버군을 형성하는 서버(136) 세트 중 임의의 하나에 접속되도록 할 수 있다;
(3) 어떤 서버(들)(136)가 특정 유저에게 서비스를 제공할 수 있는지의 매핑을 발견 모듈(144)이 검사할 수 있는 유저 할당 알고리즘. 지오-리던던시 구성에서와 같은 다수의 서버가 있는 경우, 다수의 컨트롤러(140)가 응답으로 리턴될 수 있다;
(4) 모든 판매자가 하나의 서버(136)를 사용하고 모든 기술 지원자가 또 다른 서버를 사용한다고 하는 스크립트에 고객 제공 후크를 발견 모듈(144)이 가질 수 있는 비지니스 규칙 알고리즘;
(5) 컨트롤러(140)를 찾을 때 요청하는 유저 에이전트(108)가 자신의 모드(예를 들면, 음성, 인스턴트 메시징(IM), 비디오 등)을 표현할 때 개시될 수 있는 장치 통합(modality) 알고리즘. 이 알고리즘을 채용할 때, 발견 모듈(144)은 유저에 대한 최선의 모드 유형을 제공하는 최상의 컨트롤러(140)를 선택하도록 내부 능력 할당을 룩업할 수 있다. 예를 들면, 음성 및 IM을 할 수 있는 유저 에이전트(108)는 단지 음성 서버보다는 이들 기능 모두를 지원할 수 있는 서버(136)를 더 선호할 수 있다; 및
(6) 요청하는 유저 에이전트(108)가 특정 프로토콜 세트를 지원하는 것을 식별할 때 개시될 수 있는 프로토콜 호환 알고리즘. 이것은 SIP가 다수의 프로토콜 확장이기 때문에 SIP에 특히 유용하다. 요청하는 유저 에이전트(108)가 컨트롤러(140)에 요구할 때, 지원하는 프로토콜 특징(예를 들면, 프레즌스(presence) 가입 또는 일반적으로 가입)을 표현할 수 있고 서버는 유저 에이전트(108)의 유형에 대하여 가장 정합하는 것을 찾을 수 있다.
이제, 도 2를 참조하면, 본 발명의 적어도 몇몇 실시예에 따라 SIP 컨트롤러(140) 발견 및 등록 방법이 설명될 것이다. 상기 방법은 통신 시스템(100)의 UA(108) 같은 엔드포인트에 의해 실행될 수 있다. 통신 시스템에 있는 각각의 UA(108)는 서로 다른 컨트롤러(140)를 발견하여 등록하도록 구성될 수 있다. 상기 방법은 엔드포인트가 발견 메시지를 전송할 때 개시된다(단계 204). 본 발명의 적어도 하나의 실시예에 따라, 발견 메시지는 컴포넌트의 SIP 기능을 테스트/질의하도록 시스템(100)에 있는 하나 이상의 다른 컴포넌트에 전송될 수 있는 SIP 메시지(예를 들면, OPTIONS 메시지, NOTIFY 메시지, 또는 SUBSCRIBE 메시지)를 포함하는 임의의 공지된 유형의 발견 메시지를 포함한다.
컨트롤러(140)를 포함하는 시스템 (100)(예를 들면, 서버(136) 및/또는 게이트웨이(148)) 내의 다른 컴포넌트에 의해 발견 메시지가 수신될 때, 컴포넌트는 발견 메시지에 대하여 응답 메시지로 응답한다. 대안으로, 발견 메시지에 대하여 현재 응답가능한 컴포넌트가 없는 경우에는 개시 엔드포인트로 다시 어떠한 응답도 전송하지 않는다. 그 후 컨트롤러(들)(140)의 응답 메시지는 개시 엔드포인트에서 수신된다(단계 208). 엔드포인트가 이들 응답을 수신하거나, 또는 직접적인 발견 메시지에 대한 응답이 부족함에 따라, 엔드포인트는 발견 모듈(116)을 사용하여 컨트롤러(120)의 리스트를 장착할 것이다.
응답 메시지는 또한 각각의 응답 컨트롤러(140)의 속성(132)을 포함할 수 있다. 응답 메시지에 포함되는 속성 정보의 예로는, 대응 서버(136)의 또는 게이트웨이(148)의 프로세싱 능력, 컨트롤러(140)에 의해 제공되는 SIP 확장(즉, SIP 기 능), 컨트롤러(140)를 현재 등록한 UA의 번호, 엔드포인트에 대한 컨트롤러(140)의 접근성(즉, 엔드포인트와 그에 대응하는 장치 간의 호핑(hop) 수) 등이 있지만, 이에 한정되는 것은 아니다. 엔드포인트의 발견 모듈(116)은 속성 정보를 이용하여, 순서화된 리스트(128)에서 컨트롤러(140)의 순서를 중재할 수 있다(단계 212). 발견 모듈(116)은 임의 유형의 공지된 중재 알고리즘을 이용하여, 컨트롤러(140)의 순서를 결정할 수 있다. 예를 들면, 발견 모듈(116)은 모든 컨트롤러(140)에 대하여 리스트된 모든 속성을 최적화하는 것을 시도할 수 있다. 대안으로, 발견 모듈(116)은 순서가 매겨진 리스트(128)에서 가장 높은 엔드포인트의 필요성에 가장 적합한 선택된 속성을 갖는 컨트롤러(140)를 위치시킬 수 있다.
엔드포인트의 발견 모듈(116)이 순서가 매겨진 컨트롤러의 리스트를 생성한 후에, 발견 모듈(116)은 엔드포인트가 등록할 하나 이상의 컨트롤러(140)를 선택한다(단계 216). 컨트롤러(140)는 순서가 매겨진 컨트롤러의 리스트(128)에서의 각각의 순서에 기초하여 선택될 수 있다. 본 발명의 적어도 하나의 실시예에 따라, 발견 모듈(116)은 서버(136)로부터 컨트롤러(140)를 그리고 게이트웨이(148)로부터 컨트롤러(140)를 선택하여 동시에 등록할 수 있다. 액티브-대기 구성에서, 엔드포인트는 서버(136)의 컨트롤러(140)를 제 1 컨트롤러로 선택하고 게이트웨이(148)의 컨트롤러(140)를 제 2 또는 백업 컨트롤러로서 선택할 수 있다.
컨트롤러(들)(140)의 선택에 이어, 엔드포인트는 선택된 컨트롤러(들)(140)를 등록하도록 인에이블된다(단계 220). 본 발명의 적어도 몇몇 실시예에 따라, 엔드포인트는 서로 다른 능력 및 SIP 특징을 갖는 컨트롤러(140)를 등록하도록 구 성될 수 있다. 예를 들면, 엔드포인트는 확장된 SIP 확장을 사용하여 제 1 컨트롤러(140)를 그리고 표준 SIP 확장을 사용하여 제 2 컨트롤러(140)를 동시에 등록하도록 할 수 있다. 확장된 SIP 확장은 제 1 컨트롤러(140)에 의해 사용되어 제 2 컨트롤러(140)를 통해서는 달성할 수 없는 부가의 특징을 제공할 수 있다.
SIP REGISTER, SUBSCRIBE, 또는 OPTIONS 메시지, 또는 다른 SIP 시그널링은 제 1 컨트롤러(140)가 여전히 온라인 상에 있고 SIP 메시징을 용이하게 하도록 이용가능한지를 검출하도록 전송될 수 있다. 예를 들면, SIP REGISTER 메시지는 선택된 컨트롤러(들)(140)로 엔드포인트에 의해 전송되어 등록 프로세스를 개시할 수 있다. 엔드포인트에 컨트롤러(들)(140)를 등록하는 능력을 제공하는 것에 더하여, SIP REGISTER 메시지는 또한 컨트롤러(140)에 대한 핵심으로서 사용될 수 있다. SIP REGISTER 메시지의 송신 주파수는 시스템 요구에 기초하여 유저가 구성가능한 것일 수 있다. 환언하면, 엔드포인트는 등록되는 임의의 컨트롤러(140)에 리프레시 등록을 전송할 수 있다.
액티브-대기 및 액티브-액티브 구성 모두에서, 엔드포인트는 모든 자신의 선택된 컨트롤러(140)를 동시에 등록할 수 있다. 그 동작 동안, 엔드포인트는 (예를 들면, 후속의 SIP REGISTER 메시지의 주기적 전송을 통해) 컨트롤러(140)의 동시 액티브 등록을 유지하고자 시도할 수 있다. 액티브-액티브 구성에서, 엔드포인트는 등록되는 임의의 컨트롤러(140)로/로부터 SIP 메지시를 송신/수신할 수 있다. 그러한 구성에서, 엔드포인트에는 두 개 이상의 컨트롤러(140)가 동시에 등록될 것이다. 이러한 이중 등록은 엔드포인트가 등록되는 컨트롤러(140) 중 임의의 하나 (예를 들면, 제 1 컨트롤러(140a), 제 2 컨트롤러(140b), 제 3 컨트롤러(140c) 등 중 어느 하나)로부터 착신 SIP 요청(예를 들면, SIP INVITE 메시지)을 가능하게 할 것이다. 엔드포인트가 액티브-액티브 컨트롤러 모델을 사용하기 위한 정책으로 구성된다면, 엔드포인트는 이전에 장애가 있던 컨트롤러(140a)로부터의 입력 호출을 마치 서비스 중인 컨트롤러(140)로부터 온 것이라고 고려할 수 있다. 이것이 발생하는 경우, 엔드포인트는 장애가 있는 서버가 다시 서비스되는지를 검출하기 위해 알고리즘을 재시도할 수 있다. 엔드포인트는 임의의 컨트롤러(140)로부터 그러한 SIP 메시지의 수신을 가능하도록 구성될 것이다. 본 발명의 적어도 일부 실시예에 따라, 엔드포인트는, 본 명세서에서 논의되는 등록 로직을 각각 갖는 것을 유지하면서, 등록을 독립적인 등록으로 처리할 것이다. 보다 상세하게, 엔드포인트 구현은 서로 다른 AOR을 수용하도록 융통적일 수 있다. 이것 또한 액티브-대기 구성에 대하여도 참이다.
한편, 액티브-대기 구성에서, 엔드포인트는 단지 발신 호출을 라우팅하고 제 1 컨트롤러(140)로부터의 착신 호출을 수신하도록 할 수 있다. 동작 중에, 이러한 제 1 컨트롤러(140)는 또한 액티브 호출 컨트롤러(140)로서 지칭될 수 있다. 엔드포인트에 등록되는 다른 컨트롤러(들)(140)는 인액티브 또는 대기 컨트롤러로서 지칭될 수 있다.
액티브-대기 구성에서, 엔드포인트는 제 2 또는 대기 컨트롤러(140)로부터의 착신 호출을 수신하는 한편 엔드 포인트가 제 1 모드(즉, 제 1 컨트롤러(140)가 액티브라고 엔드포인트가 믿음)에 있다면, 엔드포인트는:
(1) 100 시도 메시지로 제 2 컨트롤러(140)에 응답;
(2) 제 1 컨트롤러가 여전히 온라인 상에 있고 SIP 메시징을 용이하게 하도록 이용가능한지를 알기 위해 제 1 컨트롤러(140)에 REGISTRATION 리프레시를 전송;
(3) 제 1 컨트롤러(140)가 여전히 온라인 상에 있으면, 엔드포인트는 305 리다이렉트(redirect) 응답(즉, Use Proxy)을 제 2 컨트롤러(140)에 전송할 것이다. 305 리다이렉트 응답은 제 2 호출 컨트롤러를 통한 호출을 거절하고 제 1 컨트롤러(140)를 통한 시그널링을 제 2 컨트롤러(140)가 재라우팅할 것을 요청할 것이다; 및
(4) 제 1 컨트롤러가 더 이상 온라인 상에 있지 않으면, 엔드포인트는 수신된 호출에 대해 표준 호출 프로세싱을 제공할 것이다. 이 프로세스의 부분으로서, 엔드포인트는 제 1 컨트롤러(140)로부터 제 2 컨트롤러(140)로 페일오버하고 제 2 컨트롤러(140) 등록을 리프레시할 것이다.
액티브-대기 구성에서, 엔드포인트가 제 1 컨트롤러(140)로부터 착신 호출을 수신하는 한편 페일오버 모드에서 동작 중이면(즉, 제 1 컨트롤러(140)의 상태가 동작하지 않고 액티브 컨트롤러로서 제 2 컨트롤러(140)를 사용하고 있다는 가정하에), 호출은 거절될 수 있다.
장애 조건 또는 시스템(100) 컴포넌트는 동작하지 않는다고 엔드포인트가 믿는 임의의 다른 시간 동안, 엔드포인트는 제 1 컨트롤러(140)와 실시간 통신 세션을 확립하는 것을 시도하지 않을 것이다. 부가하여, 엔드포인트는 순서가 매겨진 컨트롤러 리스트(128) 상의 제 1 또는 다음의 컨트롤러(140)로 페일오버할 것이다. 생존가능(즉, 제 2, 제 3 또는 백업) 컨트롤러(140)를 통해 라우팅된 호출 시그널링은 엔드포인트의 유저가 장애 시간 동안 새로운 호출을 작성하여 수신하게 한다.
아래에 더 상세히 설명되는 페일오버/페일백 프로세스의 일부로서, 엔드포인트는 액티브 컨트롤러(140)에 대한 어드레스를 식별하고 컨트롤러(140)에 의해 지원되는 관련 특징 및 속성을 추가로 도출할 것이다. 환언하면, 엔드포인트는 등록되는 컨트롤러(140)가, 예를 들면, "확장/사유(proprietary)" 또는 "기본 SIP"로서 지정되는지를 도출하도록 구성될 수 있다. 엔드포인트의 발견 모듈(116)은 다음의 로직을 사용하여 컨트롤러가 확장 또는 기본 SIP를 사용하는지를 발견하도록 구성될 수 있다:
(1) 페일오버 또는 페일백 시에 엔드포인트가 각각의 컨트롤러(140)의 등록을 리프레시 또는 갱신(renew)할 것이다;
(2) 그 프로세스의 일부로서, 엔드포인트는 제 2 컨트롤러(140)를 모든 제 1 컨트롤러(140) 특징 패키지에 재가입을 시도할 것이다;
(3) 엔드포인트가 SUBSCRIBE 요청을 제 2 컨트롤러(140)에 전송하는 경우, 제 2 컨트롤러는 기본 SIP 동작만을 지원한다면 특징 가입 요청을 인식하지 못할 것이다; 및
(4) 단순한 제 2 컨트롤러(140)는 Client Error 405 Method Not Allowed로 응답할 것이다.
엔드포인트는 이 정보를 이용하여 제 2 컨트롤러(140)를 표준 IETF SIP 부합 컨트롤러(140)로서 식별할 수 있다. 엔드포인트는 페일오버 모드에서 동작 중에 자신의 유저 인터페이스(UI)에 단지 기본 SIP 특징만을 표시할 것이다. 액티브 컨트롤러(140)가 "확장"으로서 지정되면, 엔드포인트는 호출 및 특징 프로세싱을 위한 확장된 확장으로 SIP를 사용하고 호환 UI를 표시할 것이다.
액티브-대기 구성에서 제공될 수 있는 부가의 특징은, 이에 한정되는 것은 아니지만:
(1) 엔드포인트는 발신 호출을 인액티브 컨트롤러(140)에 결코 라우팅하지 않을 것이다;
(2) 엔드포인트가 액티브 컨트롤러(140)로부터 대기 컨트롤러(140)로 페일오버하면, 이전의 액티브 컨트롤러(140)는 인액티브로서 지정될 것이고 이전의 인액티브 컨트롤러는 액티브로서 지정될 것이다;
(3) 엔드포인트는 지정된 컨트롤러(140)로 페일오버되기 전에 액티브 호출이 완료될 때까지 대기할 것이다. 환언하면, 액티브 호출(들)이 완료될 때까지(즉, 엔드포인트가 액티브 호출(들)에 대하여 네트워크(104)로부터 BYE 메시지를 수신하거나 호출자가 전화를 끊을 때까지) 새롭게 지정된 액티브 컨트롤러(140)로부터 엔드포인트에 의해 수용되는 새로운 착신 호출은 없다. 유사하게, 페일오버가 완료될 때까지 새로운 발신이 허여되지 않을 것이다; 및
(4) 엔드포인트가 제 2 컨트롤러(140)를 사용하고 있는 중에 동작하고 있지 않은 제 1 컨트롤러(140)로부터 임의의 시그널링 메시지를 수신한다면, 동작하고 있지 않은 거으로 마킹된 제 1 컨트롤러(140)로부터의 시그널링 메시지는 무시될 것이다. 그러나, 이 규칙에 대하여 하나의 예외가 있을 수 있다. 즉, 엔드포인트가 재등록하라고 말하고 있는 자신의 제 1 컨트롤러(140)로부터 NOTIFY 메시지를 수신한다면, 엔드포인트는 자신의 등록을 리프레시 또는 리프레시 시도를 개시할 것이다. 이 경우 엔드포인트는 전술한 표준 SIP 프로세싱을 사용하여 NOTIFY에 응답할 것이다.
엔드포인트가 자신의 각 컨트롤러(들)(140)를 등록한 후, 상기 방법은 종료된다(단계 224).
이제, 도 3을 참조하면, 통신 시스템(100) 상태 판정 방법을 본 발명의 적어도 몇몇 실시예에 따라 설명할 것이다. 생존가능 구성에서 게이트웨이(148)를 설치하는 것이 제 1 또는 제 2 시그널링 경로를 통해 호출 시그널링을 라우팅할 때를 검출하는 중요할 수 있다. 상기 방법은 게이트웨이(148)는 SIP OPTIONS 메시지를 통신 시스템(100) 내의 또 다른 컴포넌트에 전송한다(단계 304). 그러한 컴포넌트는 SIP 인에이블된 컴포넌트에 대응할 수 있다. 컴포넌트는 피어 컴포넌트(즉, 게이트웨이(148)에 인접한 컴포넌트) 및/또는 원단 컴포넌트(즉, 그들과 게이트웨이(148) 사이에 적어도 하나의 중간 컴포넌트를 갖는 컴포넌트)에 더 대응할 수 있다. 본 발명의 적어도 몇몇 실시예에 따라, SIP 원단 컴포넌트의 프로액티브 감시는 일반적으로 시스템(100)이 중간 컴포넌트가 자신의 피어를 감시할 수 없다는 것을 아는 경우에만 드물게 행해져야 한다. 본 발명의 실시예에 따라, 게이트웨이(148)는 Maxforwards=0의 설정을 갖는 SIP OPTIONS 메시지를 전송할 수 있고, 이에 의해 OPTIONS 메시지가 단일 홉(hop) 이상 트래버스(traverse)하지 않는다는 것 을 확실히 한다(즉, 피어 컴포넌트를 향해 타겟화된다).
당해 분야에 능숙한 사람이 이해할 수 있는 바와 같이, SIP OPTIONS 메시지를 채용하는 감시 기술이 본 명세서에 설명되었지만, 임의의 다른 유형의 비-다이얼로그 SIP 트랜잭션(transaction)을 사용하여 통신 시스템(100) 및 그 내부의 컴포넌트의 상태를 감시할 수 있다. 보다 상세하게, 일반적인 SIP 메시지(예를 드련, INFO METHOD, MESSAGE METHOD, 또는 심지어 보이드 SIP 메시지)를 전송하여 임의의 유형의 SIP 기반 응답을 호출할 수 있다. 게이트웨이(148)에 의해 전송된 SIP 메시지는 또한 메시지 수신자에 의해 실행될 명령을 포함할 수 있다. 예를 들면, 게이트웨이(148)의 건강을 보고하는 XML(eXtensible Markup Language) 메시지 및 피어 컴포넌트 같은 게이트웨이(148)에 의해 감시되는 임의의 다른 컴포넌트, 뿐만 아니라 게이트웨이(148)의 보고된 건강에 기초하여 수신자에 의해 취해질 액션을 포함하는 SIP 메시지가 생성될 수 있다.
게이트웨이(148)는 SIP OPTIONS 메시지를 전송한 후, 응답 수신을 기다린다(단계 308 및 312). 게이트웨이(148)가 응답 수신을 기다리는 시간량은 시스템(100) 특성에 따라 변경할 수 있다. 본 발명의 적어도 일 실시예에 따라, 게이트(148)가 대기하는 시간 길이는, 요청을 전송한 후 소정의 초 수 내에 SIP 응답이 수신되지 않는다면, (SIP INVITE 메시지 같은) SIP 시그널링 트랜잭션을 삭제하는 SIP 타이머 B 및 SIP 타이머 F(SIP 타이머 B 및 F는 RFC 3261에 정의된 표준 SIP 타이머이고, 그 내용 전체가 본 명세서에서 참조로 인용된다) 같은 SIP 타이머 기능을 구현함으로써 결정될 수 있다. 타이머 B 및 타이머 F는 임의의 SIP 응답(심 지어 100회의 시도)이 수신되면 삭제되거나 단락된다. 그러나, 타이머 B가 해제되면(fire), 게이트웨이(148)는 규칙위반(offending) SIP 트랜잭션을 삭제하고 대체 라우트를 사용하여 요청 라우팅 시도를 할 필요가 있다. 본 발명의 적어도 몇몇 실시예에 따라, 게이트웨이(148)에 의해 공지된 모든 라우팅 어드레스가 소진되면, SIP 게이트웨이(148)는 408 Request Timeout으로 오리지널 SIP 시그널링 트랜잭션에 응답할 수 있다.
일단, 응답이 (실제 응답으로서 또는 소정 시간량 내에 응답이 수신되지 않았다는 판정으로서) 수신되면, 상기 방법은 계속해서 게이트웨이(148)가 발견 모듈(144)을 사용하여 응답이 장애 조건에 대응하는지를 판정한다. 상기 응답은 다음의 임의의 조건을 만족한다면 네트워크(104) 또는 시스템(100)이 장애가 있다는 것을 지시할 수 있다:
(1) 타임아웃에 기인한 OPTION 감시 요청 장애;
(2) 소정수(예를 들면, 5)의 연속적인 SIP 요청 트랜잭션 장애가 트랜잭션 타임아웃 및/또는 SIP 타이머 B 타임아웃(INVITE 트랜잭션용)에 기인하여 발생; 또는
(3) 감시가 홉(hop) 단위(즉, Max-Forwards=1)로 그리고 단대단(end-to-end)이 아닌(즉, Max-Forwards>1)수행되고, 이에 더하여 어드레스가 적어도 try-After 헤더에 특정된 듀레이션에 대하여 "오버로드된" 것으로 마킹된다면, 임의의 400 또는 500 클래스 응답이 OPTIONS 감시 요청에 대한 Retry-After 헤더와 함께 수신.
조건 (3)에 대하여, 어드렝스의 IP 어드레스를 포함하는 기존 다이얼로그는 장애가 발생하지 않으면 그 어드레스를 계속해서 사용하지만, 엔드포인트는 복구될 때까지 새로운 다이얼로그에 대하여 그 어드레스를 사용하지 않는다. 기존 다이얼로그가 IP 어드레스 대신 호스트네임을 사용하는 경우에, 각 트랜잭션에 대한 호스트네임의 레졸루션이 발생하고 리턴된 어드레스가 이용가능한 최상위 어드레스가 될 것이다. 호스트네임이 단지 단일 IP 어드레스를 결정하고, 그 어드레스가 "오버로드된" 것으로 마킹되면, 요청이 전송되어야 한다. 조건(3)의 순수한 효과는 게이트웨이(148)의 발견 모듈(144)이 세 개의 상태: 이용가능; 동작하지 않음; 및 오버로드됨을 인식해야 한다는 점이다. 오버로드된 것으로 마킹된 어드레스는 계속해서 다이얼로그 내의 후속 요청을 수신하지만, 새로운 다이얼로그 요청은 수신하지 않는다.
OPTIONS 메시지에 대한 응답에 기초하여, 게이트웨이(148)의 발견 모듈(144)이, 장애 조건이 없고 시스템(100)이 정상 동작 상태에 있다는 것을 판정하면, 발견 모듈(144)은 계속해서 명령이 응답에 포함되어 있는지를 판정할 것이다(단계 320). 발견 모듈(144)은 응답에 포함되거나 응답에 첨부된(즉, 메시지의 헤더 또는 말미에) 실행 명령에 대한 응답을 분석한다. 명령이 응답에 포함되어 있으면, 명령이 실행된다(단계 324). 그 후, 또는 응답이 명령을 포함하지 않은 경우에, 발견 모듈은 시스템(100)의 상태에 대한 자신의 기록을 계속해서 업데이트하여, 서버(136) 같은 응답 컴포넌트의 동작을 반영할 것이다(단계 328). 일단 네트워크의 상태가 업데이트되었으면, 상기 방법은 계속해서 발견 모듈(144)이 새로운 메시지를 전송할 시간인지를 판정한다(단계 332). 보다 상세하게, 게이트웨이(148)는 다 른 SIP 서버(136)가 액티브인지 아닌지를 판정하기 위해 핵심 메커니즘으로서 다른 SIP 서버(136)에 SIP OPTIONS 메시지를 주기적으로 전송하는 것을 사용할 수 있다. OPTIONS 메시지는 소정 간격으로 다른 시스템(100) 컴포넌트에 전송될 수 있다. 소정 간격의 길이는 SIP 타이머 B 또는 그 등가물을 구현함으로써 결정될 수 있다. 보다 상세하게, OPTIONS 감시는 게이트웨이(148)가 장애 조건을 검출하였는지 여부에 따라 서로 다른 간격으로 행해질 수 있다.
본 발명의 적어도 몇몇 실시예에 따라, SIP OPTIONS 메시지에 대한 프로액티브 감시 간격은 약 60 내지 약 100,000초의 범위 내에서 구성가능하고, 후속 감시 시도들 간의 구성된 값의 75%와 125% 사이의 균일한 랜덤 시간을 사용해야 한다. 예를 들면, 프로액티브 감시 간격이 60초로 설정되면, OPTIONS 메시지의 전송 간의 실제 간격은 45와 75초 사이로 균일하게 분배될 수 있다. 프로액티브 감시 프로세스에 이러한 고의적인 지터(jitter)를 도입함으로써, 요청이 비동기될 수 있도록 할 수 있고, 이에 의해 시간에 걸쳐 감시된 컴포넌트(즉, 서버(136)에 부하를 균일하게 배치할 수 있다. 일 실시예에서, 프로액티브 감시 간격은 대략 900초 또는 15분이 되도록 구성될 수 있다.
본 발명의 몇몇 실시예에 따라, SIP OPTIONS 메시지에 대한 반응성 감시 간격은 대략 10 내지 대략 3,600초의 범위 내에서 구성가능하고, 또한 후속 감시 시도들 간의 구성된 값의 75%와 125% 사이의 균일한 랜덤 시간을 가질 수 있다. (프로액티브 감시와 반대되는) 반응성 감시에 대한 개별 타이머를 제공함으로써 게이트웨이(148)는 현재 감시되고 있는 비동작 컴포넌트가 다시 이용가능하게 되는 때 를 보다 빠르게 검출할 수 있다. 일 실시예에서, 반응성 감시 간격은 대략 120초가 되도록 구성될 수 있다.
본 발명의 예시적 실시예를 SIP 타이머 B를 사용하는 것과 연결하여 설명하고 있지만, 본 발명의 원리를 벗어나지 않고 임의의 범위 값을 그 값을 균일한 랜덤 시간으로 수정하거나 수정하지 않으면서 구현할 수 있다. 또한, 감시 간격은 외부의 비지니스 로직 후크에 기초하여 수정될 수 있다. 예를 들면, 감시 메카니즘이 대역폭 관리 시스템을 사용하면, 감시 시스템은 네트워크에서의 이용가능한 대역폭을 나타내는 몇몇 계수에 의해 감시 간격을 더 조정할 수 있다.
다시 단계 316를 참조하면, 응답이 장애 조건에 대응한다고 발견 모듈(144)이 판정하면, 발견 모듈(144)은 시스템(100)의 상태의 자신의 기록을 업데이트하여 장애를 반영할 것이다(단계 336). 이 컴포넌트 장애 검출 결과로서, 특히 장애가 있는 컴포넌트가 제 1 통신 경로에 상주하면 게이트웨이(148)는 페일오버하고 페일오버 상태에서 동작을 시작할 것이다.
페일오버동안 게이트웨이(148)의 발견 모듈(144)은, 동작하지 않는 것으로 식별된 컴포넌트에 OPTIONS 메시지를 계속해서 전송함으로써 시스템(100) 내의 컴포넌트의 반응적 감시를 시작할 것이다(단계 340). 이러한 반응성 감시는 그 컴포넌트가 온라인으로 다시 복귀할 때를 게이트웨이(148)의 발견 모듈(144)이 결정할 수 있게 한다. 반응성 감시가 시작되면, 게이트웨이(148)는 컴포넌트의 프로액티브 감시를 중지하고 반응성 감시 규칙을 적용하기 시작한다. 보다 상세하게, 반응성 감시 중에, 게이트웨이(148)의 발견 모듈(144)은 유지관리 테스트를 개시하여, 감시되는 컴포넌트가 이용가능한지 아니면 동작하지 않는지를 판정한다(단계 344). 유지관리 테스트는 프로액티브 감시 알고리즘과 유사한 감시 알고리즘을 사용한다. 게이트웨이(148)의 발견 모듈(144)은 페일백될 때까지(즉, 컴포너트의 상태가 비동작에서 이용가능한 것으로 변경될 때까지) 상기 유지관리 테스트를 계속해서 적용한다(단계 348). 유지관리 테스트 동안, 게이트웨이(148)는 임의 유형의 SIP 요청(예를 들면, INVITE, SUBSCRIBE, NOTIFY 등)을 현재 비동작으로 마킹된 컴포넌트에 전송할 수 있다. 하나 이상의 다음 조건을 적용하면, 게이트웨이(148)의 발견 모듈(144)은 그 컴포넌트를 계속해서 동작하지 않는 것으로 마킹할 것이다:
(1) INVITE 메시지가 전송된 후 SIP 타이머 B 해제(fire);
(2) 게이트웨이(148)가 408 Request Timeout 응답 수신;
(3) SIP 요청 트랜잭션 타임아웃; 또는
(4) 요청 전송 시도 중 네트워크(104) 또는 전송 레이어 에러 발생.
유지관리 테스트 중에 상기 리스트된 조건의 어느 것도 적용되지 않는다면, 게이트웨이(148)의 발견 모듈(144)은 페일백이 발생했다고 판정하고, 상기 방법은 계속해서 단계 328로 진행할 것이다. 본 발명의 적어도 몇몇 실시예에 따라, 감시되고 있는 컴포넌트가 두 개의 연속 OPTIONS 요청 시도에 대하여 503 Service Unavailable을 제외한 임의의 SIP 응답으로 응답할 때까지 반응성 감시 및 유지관리 테스트를 계속해서 적용할 것이다. 일단 이들 조건이 충족되었으면, 게이트웨이(148)는 컴포넌트가 다시 동작할 것이라고 고려하고, 프로액티브 감시 알고리즘으로 복귀하고, 적절한 SNMP(Simple Network Management Protocol) 이벤트를 생성 할 수 있고, 적용가능하다면, 현재의 액티브 컴포넌트 이용을 시작할 수 있다.
당해 분야에 능숙한 사람은 이해할 수 있는 바와 같이, 게이트웨이(148)는 단지 재할당 정보를 유지할 수 있는 시스템(100) 컴포넌트가 아니다. 오히려, 임의의 SIP 네트워크 요소가 경로 재할당 정보 등을 포함하도록 구성될 수 있다. 예를 들면, UA(108) 같은 엔드포인트 또한 임의의 컴포넌트가 동작하지 않는 것으로 식별되면 사용될 수 있는 통신 경로를 리스트하는 경로 재할당 테이블을 유지할 수 있다.
이제, 도 4를 참조하면, 본 발명의 적어도 몇몇 실시예 따라 반응성 감시 방법을 설명할 것이다. 이 방법은 게이트웨이(148)가 서버(136) 또는 그와 유사한 시스템(100) 컴포넌트로부터 요청을 수신할 때 시작된다(단계 404). 게이트웨이(148)는 수신된 요청을 정상 형식으로 처리한다(단계 408). 보다 상세하게, 게이트웨이(148)는 컴포넌트가 실제 동작 중인지 여부를 우선 판정하지 않고 전송 컴포넌트가 동작중인 것처럼 요청을 프로세싱할 수 있다.
그 후, 게이트웨이(148)는 전송 컴포넌트가 자신의 내부에 유지된 상태 테이블에 기초하여 동작하지 않는 것으로 실제 마킹되는지 여부를 판정한다(단계 412). 컴포넌트가 동작하지 않는 것으로 마킹되지 않으면, 상기 방법은 종료된다(단계 424). 그렇지 않으면, 게이트웨이(148)는 SIP OPTIONS 메시지를 그 컴포넌트에 전송함으로써 자신의 유지관리 테스트를 개시할 것이다(단계 416). 게이트웨이(148)는 컴포넌트의 상태의 자신의 기록을 업데이트할 수 있다(단계 420). 이러한 유지관리 테스트 및 상태 업데이트 프로세스는, 컴포넌트가 다시 동작될 것이라고 판정 될 때까지(이 지점에서 상기 방법이 종료됨) 반복된다(단계 424).
도 5를 참조하면, 본 발명의 몇몇 실시예에 따라 페일오버 및 페일백 상태 동안 게이트웨이(148)의 동작을 설명할 것이다. 이러한 특정 방법에서, 게이트웨이(148)와 관계된 컨트롤러(140)는 생존가능 엔드포인트에 대한 제 2 또는 백업 컨트롤러(140)에 대응할 수 있다. 상기 방법은 게이트웨이(148)가 생존가능 엔드포인트에 대하여 착신 호출을 수신할 때 개시된다(단계 504). 그 후, 게이트웨이(148)는 제 1 시그널링 경로가 사용가능한지를 판정한다(단계 508). 본 발명의 적어도 몇몇 실시예에 따라, 게이트웨이(148)는 이 단계 동안 자신의 내부 컴포넌트 상태 테이블을 참조할 수 있다.
제 1 시그널링 경로가 동작될 것이라고 판정되면, 게이트웨이(148)는 수신된 신호를 제 1 경로를 통해 타겟 엔드포인트로 라우팅하고(단계 512) 상기 방법은 종료된다(단계 536). 그러나, 제 1 시그널링 경로가 어떤 이유로(예를 들면, 네트워크(104), 서버(136) 또는 제 1 시그널링 경로 상의 다른 컴포넌트가 동작하지 않음) 이용할 수 없다고 게이트웨이(148)가 판정하면, 상기 방법은 계속해서, 게이트웨이(148)이 신호를 제 2 시그널링 경로를 통해 타겟 엔드포인트로 전송한다(단계 516). 이 특정 단계는 제 2 시그널링 경로가 이용불가가 아니라는 가정에 기초하여 수행된다. 제 2 시그널링 경로 또는 이용불가라고 게이트웨이가 판정하면, 장애가 있는 컴포넌트(들)를 우회하는 또 다른 백업 시그널링 경로를 선택하여 신호를 엔드포인트로 전송하는데 사용한다.
호출 신호가 제 2 신호 경로를 통해 타겟 엔드포인트로 전송된 후에, 게이트 웨이(148)는 305 리다이렉트 응답(프록시 사용) 메시지가 엔드포인트로부터 수신되는지를 판정하기 위해 대기한다(단계 520). 액티브-대기 구성에서, 제 2 경로를 통해 호출 신호를 수신하는 엔드포인트는, 제 1 신호 경로가 동작 중일 것이라고 그 엔드포인트가 믿는다면 305 리다이렉트 응답을 전송할 수 있다. 이러한 믿음은 게이트웨이(148)보다는 엔드포인트에서 수행되는 상태 감시 동작에 기초할 수 있다. 따라서, 시스템(100)의 서로 다른 예상에 기초하여, 엔드포인트는 시스템(100) 내의 하나 이상의 컴포넌트에 대하여 마킹된 서로 다른 상태를 가질 수 있다. 따라서, 제 2 경로를 통한 호출 신호의 방향 재설정(redirection)에 기초하여 게이트웨이(148)에 의해 305 리다이렉트 응답이 수신되면, 게이트웨이(148)는 제 1 시그널링 경로를 통해 호출 신호의 방향 재설정을 시도할 것이다. 제 1 시그널링 경로가 호출 신호의 연속적인 송신에 기인하여 이용가능한 것이라고 판정되면(단계 528), 상기 방법은 단계 536에서 종료된다. 제 1 시그널링 경로의 이용불가에 기인하여 호출이 거절되면, 호출은 거절되거나 제 2 시그널링 경로를 통해 다시 전송될 수 있다(단계532). 부가하여, 게이트웨이(148)는 NOTIFY 메시지를 그 게이트웨이에 명령하는 타겟 엔드포인트로 전송하여 제 1 시그널링 경로의 상태의 전망(view)을 다시 검사한다. 그 후, 또는 엔드포인트로부터 리다이렉트 응답 메시지가 수신되지 않으면, 상기 방법은 종료된다(단계 536).
이제, 도 6을 참조하면, 본 발명의 적어도 몇몇 실시예에 따라 시스템(100) 상태 판정의 엔드포인트 방법이 설명될 것이다. 초기에, 엔드포인트(예를 들면, 생존가능 UA(108))는 정상 상태에서 동작한다(단계 604). 그 후, 엔드포인트는 자 신의 발견 모듈(116)의 로직을 사용하여, 네트워크 장애가 검출되었는지를 판정한다(단계 608). 생존가능 구성에서, 페일오버거나 페일백일 때를 엔드포인트가 검출하는 것이 유용하다. 본 발명의 적어도 몇몇 실시예에 따라, 엔드포인트에 의해 사용되는 발견 모듈(116) 로직은 다음의 이벤트 중 하나 이상이 발생할 때 네트워크 장애가 발생했다고 판정할 것이다:
(1) 엔드포인트는, (예를 들면, 자신의 제 1 및 제 2 컨트롤러(140)) 등록을 시도하는 모든 컨트롤러(140)로부터 핵심으로 SIP REGISTER 메시지에 대한 응답을 수신하지 않는다;
(2) 엔드포인트는, SIP INVITE 메시지가 발신 호출을 설정하고자 하는 정상 프로세스에서 전송되었을 수 있는 SIP INVITE 메시지에 대한 응답을 수신하지 못한다;
(3) 엔드포인트는, 새로운 SIP 다이얼로그 또는 중간 다이얼로그 변경의 정상 작성을 위해 전송된 임의의 SIP 시그널링 메시지에 대한 응답을 수신하지 못한다; 또는
(4) 엔드포인트는, 자신의 구성 서버(들)로부터 (TCP/IP, HTTP, XML, 또는 SOAP 같은 서로 다른 유형의 프로토콜에 의해 전송될 수 있는) 임계 요청, 또는 장애와 관련된 데이터를 검색하는데 사용되는 데이터 서비스 같은 임의의 다른 대역외 비통신 서비스에 대한 성공적인 응답을 수신하지 못한다.
엔드포인트가 장애 자체를 검출하지 못하면, 상기 방법은 장애가 통지되었는지를 엔드포인트가 판정하는 것으로 계속된다(단계 612). 통지는, 게이트웨 이(148), 서버(136), 또는 시스템(100)의 상태를 감시할 수 있는 시스템(100) 내의 몇몇 다른 컴포넌트로부터 전송되는 SIP NOTIFY 메시지의 형태로 엔드포인트에서 수신될 수 있다. SIP NOTIFY 메시지는, 엔드포인트가 모든 자신의 컨트롤러(140) 등록을 페일오버, 재부팅, 또는 리프레시/갱신해야 한다(이에 의해 엔드포인트의 로직을 우회할 수 있음)는 것을 지시할 수 있다. 통지가 수신되지 않으면, 상기 방법은 단계 604로 다시 리턴된다.
그러나, (예를 들면, SIP NOTIFY 메시의 수신을 통해) 엔드포인트에게 시스템(100)의 장애가 통지되면, 엔드포인트는 장애 통지가 올바른지를 판정한다(단계 616). 보다 상세하게, 엔드포인트는 내부적으로 유지된 자신의 컨트롤러 리스트(120, 128)를 검사하여, 임의의 컨트롤러(140)가 인액티브로서 마킹되거나 또는 동작하지 않는지를 판정할 수 있다. 대부분의 엔드포인트는 NOTIFY 메시지의 지시에 간단히 따를 것이다. 그러나, 임의의 상황 하에서, 엔드포인트는 시스템(100) 자신의 관점이 올바른 관점이고 NOTIFY 메시지에 리다이렉트 응답 메시지로 응답할 수 있다는 것을 판정할 수 있다(단계 620). 이러한 리다이렉트 응답은 NOTIFY 메시지의 개시 컴포넌트가 자신의 시스템(100)의 관점을 검사하도록 할 수 있다. 그 후, 상기 방법은 단계 604로 리턴된다.
엔드포인트가 장애 통지가 옳다는 것을 결정하거나 또는 NOTIFY 메시지의 지시에 따른 것으로 결정하면, 엔드포인트는 NOTIFY 메시지가 명령을 포함했는지를 판정한다(단계 624). 명령은 모든 컨트롤러(140) 재등록 시도 같은 상대적으로 일반적인 명령일 수 있다. 대안으로, 명령은 엔드포인트에게 특정 컨트롤러(140)를 시도하여 재등록하도록 요구하는 명령 세트를 포함할 수 있다. 엔드포인트는 장 또는 단 간격으로 컨트롤러(140)를 리프레시 또는 등록하도록 시도할 수 있다. 리프레시/등록 간격의 길이는 명령 세트에 있는 명령 또는 다른 인자에 따라 변경될 수 있다. 명령은 또한 NOTIFY 메시지를 전송한 컴포넌트에 의해 인식되는 바와 같이 전체 시스템(100)에 대한 건강 정보를 포함할 수 있다. 메시지가 명령을 포함하고 있으면, 엔드포인트는 그 명령을 실행할 것이다(단계 628).
엔드포인트에 의해 명령이 실행된 후 또는 메시지가 그 명령을 포함하지 않는 이벤트에서, 상기 방법은 엔드포인트가 백업 상태에서 동작을 시작하도록 페일오버를 실행하는 것으로 계속된다(단계 632). 이 단계는 또한 엔드포인트가 시스템(100) 장애 자체를 검출한 이벤트에서 수행된다. 페일오버 모드에서 동작 동안, 엔드포인트는 자신의 백업 컨트롤러(140)를 이용하거나 및/또는 제 2 시그널링 경로를 이용할 것이다. 페일오버 모드에서 동작하는 것에 더하여, 엔드포인트는 시스템(100) 페일백에 대하여 감시할 수 있다(단계 636). 엔드포인트는 발견 모듈(116)이 자신의 제 1 컨트롤러(140)가 이용가능하여 액티브 컨트롤러로서 자신의 역할을 재개한다는 것을 검출하면 페일백이 발생했다고 판정할 것이다. 이러한 내부 엔드포인트 로직은, 컨트롤러(140)가 임의의 주어진 시간에 액티브인지 여부와는 독립적으로, 엔드포인트에 등록되는 모든 컨트롤러(140)에 주기적으로 전송되는 핵심/SIP REGISTER 메시지에 의해 통제될 수 있다.
엔드포인트가 자력으로 페일백을 검출하지 못하면, 상기 방법은 엔드포인트가 (예를 들면, 게이트웨이(148), 서버(136) 등으로부터 NOTIFY 메시지를 수신함으 로써) 또 다른 컴포넌트에 의해 페일백이 통지되었는지를 판정하는 것으로 계속된다(단계 640). 엔드포인트에게 페일백이 통지되지 않으면, 상기 방법은 단계 632로 리턴된다. 그러나, 엔드포인트가 페일백을 지시하는 NOTIFY 메시지를 수신하면, 상기 방법은 엔드포인트에 의한 실행을 위한 명령을 포함했는지를 판정하는 것으로 계속된다(단계644). NOTIFY 메시지에 명령이 포함되었으면, 상기 명령은 엔드포인트에 의해 실행된다(단계 648). 명령 실행 후, 명령이 없거나, 엔드포인트 자체에 의해 페일백이 검출되었으면, 상기 방법은 단계 604로 리턴된다.
본 발명의 적어도 몇몇 실시예에 따라, 발견 모듈(116)은 제 1 컨트롤러(140)로부터 제 2 컨트롤러(140)의 페일오버 또는 페일백이 자동 엔드포인트 검출에 의해 트리거되는지, 또는 단지 (SIP NOTIFY 메시지 수신에 의해) 수동으로 트리거되는지를 통제하는 구성가능 파라미터를 포함할 수 있다. 발견 모듈(116)에 의해 사용되는 핵심 감시 메카니즘은 엔드포인트가 장애 조건을 검출하는지 여부에 따라 서로 다른 간격에서 행해질 수 있다.
이제, 도 7을 참조하면, 본 발명의 적어도 몇몇 실시예에 따라 상태 통지 방법이 설명될 것이다. 상기 방법은 시스템(100) 컴포넌트(예를 들면, 서버(136), 게이트웨이(148), 또는 발견 모듈(144)을 포함하는 임의의 다른 장치)가 시스템(100)에 관하여 UA(108) 같은 엔드포인트에게 통지해야 하는지를 판정하는 것으로 시작한다(단계 704). 전형적으로, 컴포넌트는 시스템(100) 상태의 몇몇 양상이 변경되었다는 것을 엔드포인트에게 통지하는 NOTIFY 메시지를 엔드포인트에 전송할 것이다. 예를 들면, NOTIFY 메시지는 엔드포인트에게 시스템 내의 컴포넌트가 동 작하지 않는 것으로 등록되었다는 것을 알려줄 수 있다. 대안으로, NOTIFY 메시지는 전송하는 컴포넌트의 건강을 엔드포인트에게 알려줄 수 있다.
상기 방법은 통지 메시지가 엔트포인트에 전송되어야 한다는 것이 판정될 때까지 단계 704에 남아 있는다. 그러한 판정이 이루어진 후, 상기 방법은 컴포넌트가 메시지(예를 들면, NOTIFY 메시지)를 생성하는 것으로 계속된다(단계 708). 그러나, 이해할 수 있는 바와 같이, 컴포넌트가 임의의 다른 유형의 SIP 또는 비-SIP 메시지를 사용하여 엔드포인트에게 통지할 수 있다. 통지함으로써 컴포넌트는 시스템(100) 장애 또는 복구 조건에서 엔드포인트를 페일오버 또는 페일백으로 트리거할 수 있다. 엔드포인트가 순위화된 컨트롤러의 리스트(128)를 유지하고 엔드포인트가 이들 모든 컨트롤러의 액티브 등록을 유지하는 능력을 갖기 때문에, 시스템(100) 컴포넌트는 시스템(100) 장애 조건이 검출될 때 행동을 취하도록 엔드포인트를 트리거할 수 있다. 이 행동은, 예를 들면, 표준 통지 메시지(예를 들면, 표준 SIP IETF 부합 NOTIFY 메시지) 또는 특정 명령을 포함하는 확장 메시지를 전송함으로써 트리거될 수 있다. 따라서, 상기 방법은 통지 메시지가 명령을 포함하고 있는지를 컴포넌트가 판정하는 것으로 계속된다(단계 712).
필요한 특정 명령이 없다고 판정되면, 컴포넌트는 컨트롤러의 순위화된 리스트(128)에서 모든 컨트롤러(140)를 재등록하도록 엔드포인트에게 전할 수 있다. 따라서, 그러한 통지를 수신하는 임의의 엔드포인트는 자신의 리스트에 모든 컨트롤러(140)의 재등록을 시도할 것이다. 이와 같이 시도된 재등록의 성공에 기초하여, 엔드포인트는 (예를 들면, 착신 및 발신 SIP 호출을 지원하는) SIP 트랜잭션 처리를 위해 어떤 컨트롤러(140)가 이용가능한지를 도출할 수 있을 것이다. 엔드포인트는 컨트롤러의 순위화된 리스트(128)상의 최상위 컨트롤러(140)를 제 1 컨트롤러로서 사용하여 자기 판정 정보에 따라 행동할 수 있다. 이러한 특정 메카니즘은 표준 SIP IETF 부합 NOTIFY 메시지를 사용할 수 있다. 이 메시지는 NOTIFY 파라미터 "event"="probation"을 구비한 NOTIFY 메시지에 대한 SIP 표준을 따를 수 있다. 그러한 NOTIFY 메시지의 예가 아래에 제공된다:
그러나, 특정 명령이 통지 메시지에 포함되어야 한다고 컴포넌트가 판정하면, 그 컴포넌트는 메시지를 엔드포인트에 전송하기(단계 720) 전에 하나 이상의 명령 세트를 그 메시지에 부가할 수 있다(단계 716). 통지 메시지에 명령을 채용함으로써, 컴포넌트는 엔드포인트의 컨트롤러(140) 리스트(120) 상의 특정 컨트롤러(140)를 사용하여 시작할 것을 엔드포인트에 전할 수 있다. 그러한 시나리오에서, 엔드포인트는 자신의 지능에 의존하기 보다는 어떤 컨트롤러(140)가 사용되어야 하는지를 전하는 컴포넌트에 의존한다. 이러한 특정 메카니즘은 확장된 확장을 갖는 표준 SIP NOTIFY 메시지를 사용할 수 있다. NOTIFY 메시지는 NOTIFY 메시지에 대한 SIP 표준을 일반적으로 따를 것이다; 또한, 엔드포인트가 페일오버 또는 페일백해야 한다면 <eventName>changeServer</eventName> 같은 이벤트 이름을 갖는 예시적인 프로파일 이벤트 패키지 포맷을 사용할 수 있다. 메시지는 또한 엔드포 인트가 페일백의 페일오버를 해야하는 특정 컨트롤러(140)를 포함하는 서버(136)의 어드레스 및 타임스탬프를 포함할 수 있다. XML 명령 세트를 갖는 그러한 확장 SIP NOTIFY 메시지의 예가 아래에 제공된다:
당해 분야에 능숙한 사람은 이해할 수 있는 바와 같이, 명령은 XML 명령 세트 이외에 많은 서로 다른 형태를 취할 수 있다. 예를 들면, 명령은 엔드포인트의 메모리(120)에 이미 저장된 애플리케이션 또는 알고리즘의 실행에 대응하고 유발하는 소정의 트리거를 포함할 수 있다. 또한, 상기 예시적인 NOTIFY 메시지가 메시지의 보디에 자신의 명령 세트를 포함했음에도 불구하고, 명령 세트는 또한 통지 메시지의 헤더 또는 후미에 위치될 수도 있다. 이것은 사용되는 통지 메시지의 유 형에 따라 변경될 수 있다. 명령은 전송하는 컴포넌트에 대한 건강 정보뿐만 아니라 시스템(100)의 나머지에 대한 상태 정보를 전송할 뿐만 아니라 엔드포인트를 트리거하여 특정 작업을 수행하는 것과 같은 다수의 서로 다른 행동을 달성하는데 사용될 수 있다.
전술한 흐름도는 이벤트의 특정 시퀀스와 관련하여 설명되었지만, 본 발명의 동작에 실질적으로 영향을 미치지 않으면서 이러한 시퀀스에 대한 변경이 이루어질 수 있다. 또한, 이벤트의 정확한 시퀀스가 예시적 실시예에서 설명된 바와 같이 발생할 필요는 없다. 본 명세서에서 설명되는 예시적 기술은 특별히 설명된 실시예에 한정되는 것이 아니고 다른 예시적 실시예로 사용될 수 있고 각각의 설명된 특징은 개별적으로 분리하여 청구가능하다.
본 발명의 시스템, 방법 및 프로토콜은, 설명된 통신 장비, 프로그래밍된 마이크로프로세서 또는 마이크로컨트롤러 및 주변 집적 회로 소자(들), ASIC 또는 다른 집적 회로, 디지털 신호 프로세서, 이산 소자 회로 같은 배선에 의한(hardwired) 전자 또는 로직 회로, PLD, PLA, FPGA, PAL 같은 프로그램가능 로직 장치, 서버, 개인용 컴퓨터 같은 통신 장치, 임의의 비교가능 수단 등에 더하거나 대신하는 특정 목적의 컴퓨터 상에서 구현될 수 있다. 일반적으로, 본 명세서에서 설명된 방법론을 구현할 수 있는 상태 머신을 구현할 수 있는 임의의 장치를 사용하여 본 발명에 따른 다양한 통신 방법, 프로토콜 및 기술을 구현할 수 있다.
또한, 개시된 방법은 다양한 컴퓨터 또는 워크스테이션 플랫폼에서 사용될 수 있는 포터블 소스 코드를 제공하는 절차형 또는 객체 지향 소프트웨어 개발 환 경을 사용하는 소프트웨어에서 용이하게 구현될 수 있다. 대안으로, 개시된 시스템은 표준 로직 회로 또는 VLSI 디자인을 사용하는 하드웨어에서 부분적으로 또는 완전히 구현될 수 있다. 본 발명에 따른 시스템을 구현하기 위해 소프트웨어를 사용하든지 하드웨어를 사용하든지 간에, 본 발명은 시스템의 속도 및/또는 효율 요구사항, 특정 기능, 및 이용되는 특정 소프트웨어 또는 하드웨어 시스템 또는 마이크로프로세서 또는 마이크로컴퓨터 시스템에 의존한다. 본 명세서에서 설명되는 분석 시스템, 방법 및 프로토콜은, 본 명세서에 제공된 기능적 설명으로부터 적용가능한 분야 및 통신 분야의 일반적인 기본 지식을 사용하여 당업자에 의해, 임의의 공지되거나 또는 후에 개발될 시스템 또는 구조, 디바이스 및/또는 소프트웨어를 사용하는 하드웨어 및/또는 소프트웨어에서 용이하게 구현될 수 있다.
또한, 개시된 방법은 저장 매체에 저장될 수 있고, 컨트롤러 및 메모리가 협력하는 프로그래밍된 범용 컴퓨터, 특정 목적 컴퓨터, 마이크로프로세서 등에서 실행될 수 있는 소프트웨어에서 용이하게 구현될 수 있다. 이들 예에서, 본 발명의 시스템 및 방법은 애플릿, JAVA® 또는 CGI 스크립트 같은 개인용 컴퓨터 상에 내장된 프로그램으로서, 서버 또는 컴퓨터 워크스테이션 상에 상주하는 리소스로서, 전용 통신 시스템 또는 시스템 컴포넌트에 내장된 루틴으로서 구현될 수 있다. 시스템은 또한 시스템 및/또는 방법을 통신 장치 또는 시스템의 하드웨어 및 소프트웨어 시스템과 같은 소프트웨어 및/또는 하드웨어 시스템에 물리적으로 설치함으로써 구현될 수 있다.
따라서, 본 발명에 따라, SIP 생존가능 네트워크 및 네트워크 컴포넌트를 유 지하는 시스템, 장치 및 방법이 제공되었다는 것은 자명하다. 본 발명을 다수의 실시예와 결합하여 설명하였지만, 다수의 대체, 수정 및 변경이 이루어질 수 있는 것은 적용가능 분야의 당업자에게는 자명하다. 따라서, 본 발명의 사상 및 범위 내에 있는 그러한 모든 대체예, 수정예, 등가물 및 변경예를 포함하고자 한다.
도 1은 본 발명의 적어도 일부 실시예에 따른 통신 시스템을 도시하는 블록도.
도 2는 본 발명의 적어도 일부 실시예에 따른 SIP 컨트롤러 발견 및 등록 방법을 도시하는 흐름도.
도 3은 본 발명의 적어도 일부 실시예에 따른 상태 판정 방법을 도시하는 흐름도.
도 4는 본 발명의 적어도 일부 실시예에 따른 반응 상태 판정 방법을 도시하는 흐름도.
도 5는 본 발명의 적어도 일부 실시예에 따른 게이트웨이 동작 방법을 도시하는 흐름도.
도 6은 본 발명의 적어도 일부 실시예에 따른 엔드포인트에 대한 상태 판정 방법을 도시하는 흐름도.
도 7은 본 발명의 적어도 일부 실시예에 다른 상태 통지 방법을 도시하는 흐름도.
도면의 주요 부분에 대한 부호의 설명
104: 네트워크
108: 유저 에이전트
112: 메모리
120: 리스트
136: 서버
140: 컨트롤러
144: 발견 모듈
148: 게이트웨이
156: 엔드포인트
Claims (10)
- 통신 시스템 내에 있는 컴포넌트의 상태가 제 1 상태에서 제 2 상태로 변경되었는지를 통신 장치에 의해 판정하는 단계와,상기 컴포넌트의 판정된 제 2 상태와 관련된 정보를 포함하는 메시지를 상기 통신 장치에서 생성하는 단계와,상기 메시지를 상기 컴포넌트와 관계된 유저 에이전트로 전송하는 단계 - 상기 유저 에이전트는 컨트롤러의 리스트를 내부적으로 유지하고, 상기 내부적으로 유지된 컨트롤러의 리스트는 상기 유저 에이전트를 제어할 수 있는 적어도 제 1 및 제 2 컨트롤러를 포함하며, 상기 컴포넌트의 판정된 제 2 상태와 관련된 정보를 포함하는 상기 메시지의 수신은 상기 유저 에이전트로 하여금 내부적으로 유지되는 컨트롤러의 리스트 내의 컨트롤러의 순서(order)를 업데이트하도록 하고, 상기 컴포넌트는 상기 유저 에이전트를 위한 제 1 SIP(Session Initiation Protocol) 컨트롤러를 포함하며, 상기 제 1 상태는 동작 SIP 상태(an operational SIP state)를 포함하고, 상기 제 2 상태는 장애 SIP 상태(a failed SIP state)를 포함하며, 상기 메시지는 내부적으로 유지된 컨트롤러의 리스트에 있는 모든 컨트롤러의 재등록을 유저 에이전트가 시도하도록 하는 표준 SIP NOTIFY 메시지를 포함하고, 상기 내부적으로 유지된 컨트롤러의 리스트는 상기 제 1 SIP 컨트롤러 및 제 2 SIP 컨트롤러를 포함함 -를 포함하는 방법.
- 통신 장치로서,상기 통신 장치를 통신 네트워크에 접속하도록 구성되는 통신 인터페이스와,통신 시스템 내에 있는 컴포넌트의 상태가 제 1 상태에서 제 2 상태로 변경되었는지를 판정하고, 상기 컴포넌트의 판정된 제 2 상태와 관련된 정보를 포함하는 메시지를 생성하며, 상기 통신 인터페이스를 통해 상기 메시지를 상기 컴포넌트와 관계된 유저 에이전트로 전송하도록 동작가능한 발견 모듈 - 상기 유저 에이전트는 컨트롤러의 리스트를 내부적으로 유지하고, 상기 내부적으로 유지된 컨트롤러의 리스트는 상기 유저 에이전트를 제어할 수 있는 적어도 제 1 및 제 2 컨트롤러를 포함하며, 상기 컴포넌트의 판정된 제 2 상태와 관련된 정보를 포함하는 상기 메시지의 수신은 상기 유저 에이전트로 하여금 내부적으로 유지되는 컨트롤러의 리스트 내의 컨트롤러의 순서(order)를 업데이트하도록 하고, 상기 컴포넌트는 상기 유저 에이전트를 위한 제 1 SIP(Session Initiation Protocol) 컨트롤러를 포함하며, 상기 제 1 상태는 동작 SIP 상태(an operational SIP state)를 포함하고, 상기 제 2 상태는 장애 SIP 상태(a failed SIP state)를 포함하며, 상기 발견 모듈은 상기 유저 에이전트에 의한 실행을 위한 명령을 생성하고 상기 명령을 상기 메시지에 편입시키도록(incorporate) 더 동작가능하고, 상기 컨트롤러의 리스트는 SIP 컨트롤러의 리스트를 포함하며, 상기 명령은 상기 유저 에이전트가 내부적으로 유지된 SIP 컨트롤러의 리스트를 참조하여 상기 제 1 SIP 컨트롤러를 재등록을 시도할 SIP 컨트롤러로서 식별할 수 있도록 상기 제 1 SIP 컨트롤러를 식별하고, 상기 메시지는 내부적으로 유지된 SIP 컨트롤러의 리스트에 있는 적어도 2개의 컨트롤러의 재등록을 상기 유저 에이전트가 시도하도록 하는 표준 SIP NOTIFY 메시지를 포함하고, 상기 내부적으로 유지된 컨트롤러의 리스트는 상기 제 1 SIP 컨트롤러 및 제 2 SIP 컨트롤러를 포함함 -을 포함하는 통신 장치.
- 삭제
- 제 2 항에 있어서,상기 메시지는 상기 제 1 SIP 컨트롤러의 재등록(re-registration)을 시도하도록 상기 유저 에이전트를 프롬프트하는통신 장치.
- 제 2 항에 있어서,상기 제 1 컨트롤러는 상기 유저 에이전트의 제 1 컨트롤러를 포함하는통신 장치.
- 제 2 항에 있어서,상기 통신 장치는 상기 유저 에이전트에 의한 실행을 위한 명령을 생성하고 상기 명령을 상기 메시지에 편입시키도록(incorporate) 더 동작가능한통신 장치.
- 삭제
- 삭제
- 제 2 항에 있어서,상기 통신 장치는 상기 컴포넌트가 제 1 상태에 있다고 상기 유저 에이전트가 믿는다는 것을 나타내는 응답 메시지를 상기 유저 에이전트로부터 수신하고, 상기 응답 메시지 수신에 응답하여 상기 컴포넌트의 상태를 재검사하도록 더 동작가능한통신 장치.
- 실행될 때, 제 1 항의 방법을 수행하도록 동작가능한 프로세서 실행가능 명령을 포함하는 비일시적 컴퓨터 판독가능 매체.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/056,253 | 2008-03-26 | ||
US12/056,253 US7995466B2 (en) | 2008-03-26 | 2008-03-26 | Failover/failback trigger using SIP messages in a SIP survivable configuration |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20090102620A KR20090102620A (ko) | 2009-09-30 |
KR101391059B1 true KR101391059B1 (ko) | 2014-06-18 |
Family
ID=40974514
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020080134860A KR101391059B1 (ko) | 2008-03-26 | 2008-12-26 | Sip 생존가능 구성에서 sip 메시지를 이용한 페일오버/페일백 트리거 |
Country Status (7)
Country | Link |
---|---|
US (1) | US7995466B2 (ko) |
EP (1) | EP2106065B1 (ko) |
JP (1) | JP2009239891A (ko) |
KR (1) | KR101391059B1 (ko) |
CN (1) | CN101547128B (ko) |
BR (1) | BRPI0900492A2 (ko) |
MX (1) | MX2008015150A (ko) |
Families Citing this family (37)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9055517B2 (en) * | 2007-02-26 | 2015-06-09 | Blackberry Limited | System and method of user-directed dynamic domain selection |
US7995562B2 (en) * | 2007-02-26 | 2011-08-09 | Research In Motion Limited | System and method to trigger a mobile device in different domains based on unsuccessful initialization or handover |
US8107361B2 (en) * | 2008-03-26 | 2012-01-31 | Avaya Inc. | Simultaneous active registration in a SIP survivable network configuration |
US8527656B2 (en) * | 2008-03-26 | 2013-09-03 | Avaya Inc. | Registering an endpoint with a sliding window of controllers in a list of controllers of a survivable network |
US8750132B2 (en) * | 2008-12-16 | 2014-06-10 | At&T Intellectual Property I, L.P. | Method and apparatus for completing a call in a network with ENUM failure |
WO2011046222A1 (en) | 2009-10-16 | 2011-04-21 | Ricoh Company, Ltd. | Electrochromic compound, electrochromic composition, and display element |
US9535805B2 (en) * | 2010-03-04 | 2017-01-03 | Microsoft Technology Licensing, Llc | Resilient routing for session initiation protocol based communication systems |
US20110302247A1 (en) * | 2010-06-02 | 2011-12-08 | Microsoft Corporation | Contextual information dependent modality selection |
US8315165B2 (en) | 2010-06-07 | 2012-11-20 | Microsoft Corporation | Survivable and resilient real time communication architecture |
CN101895447B (zh) * | 2010-08-31 | 2012-06-13 | 迈普通信技术股份有限公司 | Sip中继网关故障监控方法以及sip中继网关 |
US9806965B2 (en) * | 2010-09-29 | 2017-10-31 | Avaya Inc. | Automatic user redundancy determination |
US10104131B2 (en) | 2011-05-06 | 2018-10-16 | International Business Machines Corporation | Managing session initiation protocol subscription dialog state loss |
EP2742673B1 (en) * | 2012-07-10 | 2018-03-21 | Unify GmbH & Co. KG | Method, device, and system for providing a survivability gateway service |
US9344460B2 (en) * | 2012-08-09 | 2016-05-17 | Avaya Inc. | High availability session reconstruction |
JP5775497B2 (ja) * | 2012-08-21 | 2015-09-09 | 日本電信電話株式会社 | ネットワーク制御システム、および、ネットワーク装置のオペレーションシステム |
US10104130B2 (en) * | 2012-09-28 | 2018-10-16 | Avaya Inc. | System and method for ensuring high availability in an enterprise IMS network |
US8930768B2 (en) * | 2012-09-28 | 2015-01-06 | Avaya Inc. | System and method of failover for an initiated SIP session |
US8930553B2 (en) | 2012-10-09 | 2015-01-06 | International Business Machines Corporation | Managing mid-dialog session initiation protocol (SIP) messages |
CN103825868B (zh) * | 2012-11-19 | 2017-12-22 | 华为技术有限公司 | 一种本地语音逃生的方法、本地网关及系统 |
US9088588B2 (en) | 2012-11-28 | 2015-07-21 | At&T Intellectual Property I, Lp | Method and apparatus for registering communication devices in a communication system |
WO2014172567A1 (en) | 2013-04-17 | 2014-10-23 | Systech Corporation | Gateway device for machine-to-machine communication with dual cellular interfaces |
US9537796B2 (en) | 2013-06-19 | 2017-01-03 | Blackberry Limited | Method and apparatus for supporting a communication service |
US10277778B2 (en) * | 2014-06-24 | 2019-04-30 | Ec Data Systems Inc. | Audit logging for a secure, scalable and flexible internet fax architecture |
IL242353B (en) * | 2015-10-29 | 2021-01-31 | Verint Systems Ltd | System and method for soft failovers for proxy servers |
US9935857B1 (en) | 2015-12-17 | 2018-04-03 | 8X8, Inc. | Analysis of system conditions from endpoint status information |
US10146525B2 (en) * | 2016-06-02 | 2018-12-04 | Cisco Technology, Inc. | Supporting hitless upgrade of call processing nodes in cloud-hosted telephony system |
US10298634B2 (en) | 2016-08-28 | 2019-05-21 | Microsoft Technology Licensing, Llc | Join feature restoration to online meeting |
US10244574B2 (en) * | 2017-03-09 | 2019-03-26 | T-Mobile Usa, Inc. | Call setup timer triggered and terminated by different protocols |
TWI638548B (zh) * | 2017-12-22 | 2018-10-11 | 中華電信股份有限公司 | 寬頻迴路障礙查測系統 |
WO2020002599A1 (en) * | 2018-06-29 | 2020-01-02 | Unify Patente Gmbh & Co. Kg | Method for remote health monitoring in a sip-based communication network and health monitoring system |
US10911342B2 (en) * | 2018-11-30 | 2021-02-02 | Sap Se | Distributed monitoring in clusters with self-healing |
CN109669866B (zh) * | 2018-12-10 | 2021-04-30 | 北京航空航天大学 | 一种软件运行时故障传播路径的获取方法 |
US11385975B2 (en) * | 2019-11-27 | 2022-07-12 | Amazon Technologies, Inc. | Systems and methods for enabling a highly available managed failover service |
US11979947B2 (en) | 2020-05-04 | 2024-05-07 | Systech Corporation | Dual channel gateway device for machine-to-machine communication |
WO2022093275A1 (en) * | 2020-10-30 | 2022-05-05 | Hitachi Vantara Llc | A failover mechanism for iot gateway |
CN113472568A (zh) * | 2021-06-22 | 2021-10-01 | 深圳市亿联无限科技有限公司 | 语音网关报障呼叫方法和系统 |
EP4329263A1 (en) * | 2022-08-24 | 2024-02-28 | Unify Patente GmbH & Co. KG | Method and system for automated switchover timer tuning on network systems or next generation emergency systems |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004179764A (ja) * | 2002-11-25 | 2004-06-24 | Nec Commun Syst Ltd | Ip網におけるsipサーバ障害検出方式 |
JP2007510328A (ja) * | 2003-10-21 | 2007-04-19 | ノキア コーポレイション | サービス障害処理のための方法 |
Family Cites Families (46)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6490610B1 (en) | 1997-05-30 | 2002-12-03 | Oracle Corporation | Automatic failover for clients accessing a resource through a server |
US6145089A (en) | 1997-11-10 | 2000-11-07 | Legato Systems, Inc. | Server fail-over system |
US6785223B1 (en) * | 1999-04-22 | 2004-08-31 | Siemens Information And Communication Networks, Inc. | System and method for restarting of signaling entities in H.323-based realtime communication networks |
US6992974B1 (en) * | 2000-10-10 | 2006-01-31 | 3Com Corporation | System and method for providing fault tolerance in a network telephony system |
US6961567B1 (en) * | 2000-12-07 | 2005-11-01 | Palm, Inc. | Generic activation and registration framework for wireless devices |
US7333505B2 (en) * | 2000-12-18 | 2008-02-19 | Nortel Networks Limited | Transaction management for interworking between disparate networks |
GB0111290D0 (en) * | 2001-05-09 | 2001-06-27 | Nokia Corp | Registration in a communication system |
AU2002344786A1 (en) * | 2001-06-18 | 2003-01-02 | Jeffrey L. Crandell | Apparatus, systems and methods for managing incoming and outgoing communication |
US20030174648A1 (en) * | 2001-10-17 | 2003-09-18 | Mea Wang | Content delivery network by-pass system |
JP3883452B2 (ja) * | 2002-03-04 | 2007-02-21 | 富士通株式会社 | 通信システム |
US6944788B2 (en) * | 2002-03-12 | 2005-09-13 | Sun Microsystems, Inc. | System and method for enabling failover for an application server cluster |
US7298708B2 (en) * | 2002-08-28 | 2007-11-20 | Mitel Knowledge Corporation | IP device registration |
GB0230301D0 (en) * | 2002-12-30 | 2003-02-05 | Nokia Corp | Streaming media |
EP1509018A1 (de) * | 2003-08-18 | 2005-02-23 | Siemens Aktiengesellschaft | Verfahren, Software-Produkt und Vorrichtungen zur Signalisierung der Modifikation von Bearerverbindungen mittels SIP Protokoll |
US20050060411A1 (en) * | 2003-09-16 | 2005-03-17 | Stephane Coulombe | System and method for adaptation of peer-to-peer multimedia sessions |
KR100840365B1 (ko) * | 2004-07-30 | 2008-06-20 | 삼성전자주식회사 | 다중 피.오.씨 세션의 세션 결합 방법 및 그 시스템 |
CA2576569A1 (en) * | 2004-08-13 | 2006-02-23 | Citrix Systems, Inc. | A method for maintaining transaction integrity across multiple remote access servers |
US8055778B2 (en) | 2004-09-30 | 2011-11-08 | Siemens Enterprise Communications, Inc. | SIP user agent with simultaneous multiple registrations |
US20060077955A1 (en) * | 2004-10-08 | 2006-04-13 | Behrouz Poustchi | System and methods for a survivable remote network |
US20060123103A1 (en) * | 2004-12-08 | 2006-06-08 | Cisco Technology, Inc. | Communicating network management information using session initiation protocol architecture |
KR100623482B1 (ko) * | 2004-12-14 | 2006-09-14 | 한국전자통신연구원 | 세션 이동 방법 |
US8194640B2 (en) * | 2004-12-31 | 2012-06-05 | Genband Us Llc | Voice over IP (VoIP) network infrastructure components and method |
US8223926B2 (en) | 2005-02-11 | 2012-07-17 | Cisco Technology, Inc. | Resilient registration with a call manager |
US20060235981A1 (en) * | 2005-04-19 | 2006-10-19 | Nokia Corporation | Providing a second service to a group of users using a first service |
US7760708B2 (en) * | 2005-07-08 | 2010-07-20 | Tekelec | Methods, systems, and computer program products for triggering SIP nodes to include SS7 routing information in response messages including information requested by SS7 nodes |
JP2007028117A (ja) * | 2005-07-15 | 2007-02-01 | Nec Corp | 情報交換システム、管理サーバ、端末装置及びそれらに用いるネットワーク負荷軽減方法 |
US20070041327A1 (en) * | 2005-08-16 | 2007-02-22 | Cisco Technology, Inc. | Multicast heartbeat signaling |
US8125888B2 (en) * | 2005-08-23 | 2012-02-28 | Multi-Tech Systems, Inc. | Session initiation protocol survivable server |
EP1938181A2 (en) | 2005-10-14 | 2008-07-02 | Whaleback Systems Corporation | Discovering network services |
US8565070B2 (en) * | 2005-11-23 | 2013-10-22 | Cisco Technology, Inc. | System and method for active geographic redundancy |
US20070266162A1 (en) * | 2005-12-07 | 2007-11-15 | Microsoft Corporation | Session initiation protocol redirection for process recycling |
US8233384B2 (en) | 2005-12-21 | 2012-07-31 | Rockstar Bidco, LP | Geographic redundancy in communication networks |
CN1992711B (zh) * | 2005-12-27 | 2011-05-11 | 中兴通讯股份有限公司 | 一种sip终端对服务器进行链路检测的方法 |
CN100508539C (zh) * | 2006-01-09 | 2009-07-01 | 华为技术有限公司 | 会话边界控制器双归属的实现方法及系统 |
US7702093B2 (en) * | 2006-02-08 | 2010-04-20 | Nvoq Incorporated | Systems and methods to redirect audio between callers and voice applications |
US20080016157A1 (en) * | 2006-06-29 | 2008-01-17 | Centraltouch Technology Inc. | Method and system for controlling and monitoring an apparatus from a remote computer using session initiation protocol (sip) |
US20080031226A1 (en) * | 2006-08-01 | 2008-02-07 | Boro Networks Inc. | Scalable, high-availability network |
US9137287B2 (en) * | 2006-08-28 | 2015-09-15 | Avaya Inc. | High availability for voice enabled applications |
US8064342B2 (en) * | 2006-10-27 | 2011-11-22 | Verizon Patent And Licensing Inc. | Load balancing session initiation protocol (SIP) servers |
US8406123B2 (en) * | 2006-12-11 | 2013-03-26 | International Business Machines Corporation | Sip presence server failover |
US7844851B2 (en) * | 2006-12-13 | 2010-11-30 | Oracle International Corporation | System and method for protecting against failure through geo-redundancy in a SIP server |
US8576833B2 (en) * | 2006-12-15 | 2013-11-05 | At&T Intellectual Property I, L.P. | Fault tolerant voice over Internet protocol (VoIP) systems and methods to operate the same |
US9083722B2 (en) | 2007-10-05 | 2015-07-14 | Qualcomm Incorporated | Session initiation protocol registration with ping |
US20090150562A1 (en) * | 2007-12-07 | 2009-06-11 | Research In Motion Limited | Apparatus and method for directing a communication session to a communication device of a group of devices having a common registration identity |
US8606901B2 (en) * | 2008-01-30 | 2013-12-10 | At&T Intellectual Property I, L. P. | Facilitating deployment of new application services in a next generation network |
US7836185B2 (en) * | 2008-06-27 | 2010-11-16 | International Business Machines Corporation | Common resource management in a server cluster |
-
2008
- 2008-03-26 US US12/056,253 patent/US7995466B2/en active Active
- 2008-11-05 EP EP08019309.7A patent/EP2106065B1/en active Active
- 2008-11-24 CN CN200810182186.1A patent/CN101547128B/zh active Active
- 2008-11-27 MX MX2008015150A patent/MX2008015150A/es not_active Application Discontinuation
- 2008-12-19 JP JP2008323027A patent/JP2009239891A/ja active Pending
- 2008-12-26 KR KR1020080134860A patent/KR101391059B1/ko active IP Right Grant
-
2009
- 2009-02-12 BR BRPI0900492-0A patent/BRPI0900492A2/pt not_active IP Right Cessation
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004179764A (ja) * | 2002-11-25 | 2004-06-24 | Nec Commun Syst Ltd | Ip網におけるsipサーバ障害検出方式 |
JP2007510328A (ja) * | 2003-10-21 | 2007-04-19 | ノキア コーポレイション | サービス障害処理のための方法 |
Also Published As
Publication number | Publication date |
---|---|
EP2106065A2 (en) | 2009-09-30 |
US7995466B2 (en) | 2011-08-09 |
KR20090102620A (ko) | 2009-09-30 |
JP2009239891A (ja) | 2009-10-15 |
MX2008015150A (es) | 2009-09-25 |
BRPI0900492A2 (pt) | 2009-11-10 |
EP2106065A3 (en) | 2012-06-20 |
US20090245098A1 (en) | 2009-10-01 |
CN101547128A (zh) | 2009-09-30 |
CN101547128B (zh) | 2014-02-19 |
EP2106065B1 (en) | 2014-07-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101391059B1 (ko) | Sip 생존가능 구성에서 sip 메시지를 이용한 페일오버/페일백 트리거 | |
JP5523012B2 (ja) | エンドポイントを生き残ったネットワークのコントローラのリスト内にコントローラのスライディング・ウインドウで登録する方法 | |
KR101387287B1 (ko) | 세션 개시 프로토콜(sip) 존속가능 네트워크 유지 방법,세션 개시 프로토콜(sip) 활성화 통신 디바이스 및 컴퓨터 판독가능 매체 | |
KR101383923B1 (ko) | Sip 존속가능 사용자 에이전트 유지 방법, 통신 엔드포인트, 통신 시스템 및 컴퓨터 판독가능 저장 매체 | |
US8149725B2 (en) | Methods, systems, and computer program products for a hierarchical, redundant OAM&P architecture for use in an IP multimedia subsystem (IMS) network | |
US9036628B2 (en) | Method and apparatus for implementing a high-reliability load balanced easily upgradeable packet technology | |
JP2009296138A (ja) | 通信システム | |
Cisco | Release Notes for the BTS 10200 Release 2.0 | |
GB2458553A (en) | Internet telephony PBX with monitoring of SIP server availability and failover to PSTN in event of server failure |
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: 20170413 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20190411 Year of fee payment: 6 |