KR20080110981A - 회사 관리형 무선 통신 - Google Patents

회사 관리형 무선 통신 Download PDF

Info

Publication number
KR20080110981A
KR20080110981A KR1020087010805A KR20087010805A KR20080110981A KR 20080110981 A KR20080110981 A KR 20080110981A KR 1020087010805 A KR1020087010805 A KR 1020087010805A KR 20087010805 A KR20087010805 A KR 20087010805A KR 20080110981 A KR20080110981 A KR 20080110981A
Authority
KR
South Korea
Prior art keywords
server
mobility
client
network
module
Prior art date
Application number
KR1020087010805A
Other languages
English (en)
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 디비타스 네트웍스 인코퍼레이티드
Publication of KR20080110981A publication Critical patent/KR20080110981A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W36/00Hand-off or reselection arrangements
    • H04W36/02Buffering or recovering information during reselection ; Modification of the traffic flow during hand-off
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W88/00Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
    • H04W88/18Service support devices; Network management devices
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/256NAT traversal
    • H04L61/2564NAT traversal for a higher-layer protocol, e.g. for session initiation protocol [SIP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/256NAT traversal
    • H04L61/2575NAT traversal using address mapping retrieval, e.g. simple traversal of user datagram protocol through session traversal utilities for NAT [STUN]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/256NAT traversal
    • H04L61/2578NAT traversal without involvement of the NAT server
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/029Firewall traversal, e.g. tunnelling or, creating pinholes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/20Network architectures or network communication protocols for network security for managing network security; network security policies in general
    • 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/1069Session establishment or de-establishment
    • 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/1083In-session procedures
    • 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/1083In-session procedures
    • H04L65/1095Inter-network session transfer or sharing
    • 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/40Support for services or applications
    • H04L65/401Support for services or applications wherein the services involve a main real-time session and one or more additional parallel real-time or time sensitive sessions, e.g. white board sharing or spawning of a subconference
    • 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/40Support for services or applications
    • H04L65/403Arrangements for multi-party communication, e.g. for conferences
    • 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/60Network streaming of media packets
    • H04L65/70Media network packetisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/164Adaptation or special uses of UDP protocol
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W36/00Hand-off or reselection arrangements
    • H04W36/34Reselection control
    • H04W36/38Reselection control by fixed network equipment
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W8/00Network data management
    • H04W8/02Processing of mobility data, e.g. registration information at HLR [Home Location Register] or VLR [Visitor Location Register]; Transfer of mobility data, e.g. between HLR, VLR or external networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W36/00Hand-off or reselection arrangements
    • H04W36/08Reselecting an access point
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/16Communication-related supplementary services, e.g. call-transfer or call-hold
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W8/00Network data management
    • H04W8/02Processing of mobility data, e.g. registration information at HLR [Home Location Register] or VLR [Visitor Location Register]; Transfer of mobility data, e.g. between HLR, VLR or external networks
    • H04W8/04Registration at HLR or HSS [Home Subscriber Server]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W8/00Network data management
    • H04W8/02Processing of mobility data, e.g. registration information at HLR [Home Location Register] or VLR [Visitor Location Register]; Transfer of mobility data, e.g. between HLR, VLR or external networks
    • H04W8/08Mobility data transfer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W80/00Wireless network protocols or protocol adaptations to wireless operation
    • H04W80/04Network layer protocols, e.g. mobile IP [Internet Protocol]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W92/00Interfaces specially adapted for wireless communication networks
    • H04W92/02Inter-networking arrangements

Abstract

무선 통신을 용이하기 하는 시스템. 이 시스템은 복수의 네트워크들에서 동작하도록 구성된다. 또한, 이 시스템은 그 복수의 네트워크들에 커플링되며, 회사에 의해 관리된다. 이 서버는, 클라이언트 디바이스의 접속성 정보를 저장하고, 그 클라이언트의 접속성 정보를 사용하여 클라이언트 디바이스에 어드레싱된 내향 미디어 데이터를 라우팅하고, 클라이언트 디바이스로부터 발신된 외향 미디어 데이터를 서버를 통해 라우팅하도록 구성된다. 접속성 정보는, 클라이언트 디바이스의, 복수의 네트워크들 중 적어도 하나의 네트워크와의 접속성에 관련된다.
Figure P1020087010805
무선 통신, 보안 통신, 회사 네트워크

Description

회사 관리형 무선 통신 {ENTERPRISE-MANAGED WIRELESS COMMUNICATION}
배경기술
종래의 이동 통신 플랫폼은, 예를 들어, GSM (Global Systems for Mobile) 통신과 같은 셀룰러 통신을 포함한다. 한정된 이동성을 지원하는 다른 종래의 플랫폼은, IEEE 802.11 표준에 기반한 Wi-Fi 를 포함한다. 이들 모두는 주지되고 확립된 플랫폼이다.
차세대 플랫폼은, 이동 사용자가 셀룰러 네트워크와 Wi-Fi 네트워크 사이를 이동할 수 있도록 설계되고, 사용자가 셀룰러 네트워크와 Wi-Fi 네트워크 사이 및 그 역의 사이를 초월할 수 있도록 하는 캐리어를 스위치 제어기에 제공하는 UMA (Unlicensed Mobile Access) 표준을 포함한다. 그러나, UMA 표준은, 캐리어가 호출을 제어하고 사용자를 네트워크 사이에서 스위칭할지 여부 및 언제 스위칭할지를 캐리어가 결정하는 것을 포함하는 단점을 갖는다.
회사 (enterprise) 레벨의 통신 및 사용자에 대한 제어를 제공하는 진보된 이동 통신 플랫폼, 및 캐리어 구동 기준보다는 회사 구동 기준에 기초하여 선택하는 네트워크가 요구된다.
요약
일 실시형태에서, 본 발명은 무선 통신을 용이하게 하는 시스템에 관련된다. 이 시스템은, 복수의 네트워크에서 동작하도록 구성된 클라이언트 디바이스를 포함한다. 이 시스템은, 복수의 네트워크에 커플링되며 회사에 의해 관리되는 서버를 포함한다. 이 서버는, 클라이언트 디바이스의 접속성 정보를 저장하고, 그 클라이언트 디바이스의 접속성 정보를 사용하여 클라이언트 디바이스에 어드레싱된 내향 (incoming) 미디어 데이터를 라우팅하고, 클라이언트 디바이스로부터 발신된 외향 (outgoing) 미디어 데이터를 서버를 통해 라우팅하도록 구성된다. 접속성 정보는 클라이언트 디바이스의, 복수의 네트워크 중 적어도 하나의 네트워크와의 접속성에 관련된다.
하나 이상의 실시형태에서, 본 발명은 클라이언트 디바이스에 관련된다. 이 클라이언트 디바이스는, 클라이언트 디바이스의, 복수의 네트워크로의 접속성을 모니터링하는 이동성 매니저 애플리케이션 모듈을 포함한다. 이 클라이언트 디바이스는, 클라이언트 디바이스의, 복수의 네트워크로의 접속성에 기초하여, 제 1 무선국으로부터 제 2 무선국으로의 클라이언트 디바이스의 핸드오프를 트리거할지 여부를 결정하는 호출 제어 애플리케이션 모듈을 더 포함한다.
또한, 하나 이상의 실시형태에서, 본 발명은 클라이언트 디바이스의 무선 통신을 용이하게 하는 방법에 관련된다. 이 클라이언트 디바이스는 제 1 네트워크의 제 1 무선국에 접속된다. 이 방법은, 클라이언트 디바이스의 제 1 무선국과의 접속성 및 클라이언트 디바이스의 제 2 무선국과의 접속성에 관련된 접속성 정보를 저장하는 단계를 포함한다. 이 저장은 회사에 의해 관리되는 서버에 의해 수행된다.
이하, 본 발명의 이러한 특성 및 다른 특성을 다음의 도면과 관련된 본 발명 의 상세한 설명에서 더 상세히 설명한다.
도면의 간단한 설명
본 발명을 다음의 도면을 참조하여 설명한다.
도 1 은 본 발명의 일 실시형태에 따른 시스템 네트워크를 도시한다.
도 2a 내지 도 2c 는 본 발명의 일 실시형태에 다른 이동성 서버를 도시한다.
도 3 은 본 발명의 일 실시형태에 따른 이동성 클라이언트를 도시한다.
도 4a 내지 도 4e 는 Wi-Fi 네트워크와 셀룰러 네트워크 사이의 고속 미디어 핸드오프에 대한 구조 및 방법을 도시한다.
도 5a 는 랑데뷰 호출 (RC) 아키텍쳐의 개관을 도시한다.
도 5b 는 RS 클라이언트와 RC 가능 미디어 통신 서버 사이의 메시지 교환을 도시한다.
도 5c 는 RC 프로세싱에 대한 미디어 통신 서버에서 이용되는 로직을 도시하는 흐름도이다.
도 6a 는 본 발명의 일 실시형태에 따른 네트워크 스택을 설명하기 위한 시스템 블록도를 도시한다.
도 6b 는 본 발명의 일 실시형태에 따른 시스템 네트워크 스택을 도시한다.
도 7 은 회사 통신을 위한 보안 VoIP 전개의 개관을 도시한다.
도 8 은, 본 발명의 일 실시형태에서, 회사 내에 존재하는 이동성 클라이언트와 외부 전자통신 디바이스 사이에 확립된 전자통신 세션을 도시한다.
도 9 는, 본 발명의 하나 이상의 실시형태에 따라, 이동성 서버에서 구현될 수도 있는 서버 기능성 모듈들의 예를 도시한다.
도 10 은, 본 발명의 하나 이상의 실시형태에 따라, 이동성 클라이언트 애플리케이션의 일부일 수도 있는 클라이언트 기능성 모듈들의 예를 도시한다.
도 11 은, 일 실시형태에서, 회사 내의 이동성 클라이언트에 의해 개시되는 전자통신 요청의 확립을 도시하는 단순한 호출 플로우를 도시한다.
도 12 는, 본 발명의 하나 이상의 실시형태에 따라, 이동성 클라이언트의 사용자가 Wi-Fi 네트워크로부터 셀룰러 네트워크로 로밍하는 호출 로밍 시나리오의 일 예를 도시한다.
도 13 은, 본 발명의 일 실시형태에서, 도 12 의 로밍 시나리오에 대한 호출 플로우를 도시한다.
도 14a 는, 본 발명의 하나 이상의 실시형태에 따라, 이동성 클라이언트의 사용자가, 셀룰러 네트워크로부터 회사에 의해 관리되는 Wi-Fi 네트워크로 역으로 로밍하는 호출 로밍 시나리오의 일 예를 도시한다.
도 14b 는, 본 발명의 일 실시형태에서, 발생할 수도 있는 핸드오프에 대한 단계들을 제공하는 호출 플로우를 도시한다.
도 15a 는 본 발명의 하나 이상의 실시형태에 따라, 이동성 클라이언트의 사용자가 셀룰러 네트워크로부터 제 3 의 Wi-Fi 네트워크로 로밍하는 호출 로밍 시나리오의 일 예를 도시한다.
도 15b 는 본 발명의 일 실시형태에서, 발생할 수도 있는 단계들을 제공하는 호출 플로우를 도시한다.
도 16a 는, 본 발명의 일 실시형태에 따라, 2 개의 이동성 클라이언트 사이에서의 호출 확립을 도시한다.
도 16b 는, 본 발명의 일 실시형태에 따라, 도 16a 에 대한 호출 플로우를 도시한다.
도 17 은 캐리어 관리형 게이트웨이 내의 종래의 트랜스코더의 블록도를 도시한다.
도 18 은, 일 실시형태에서, 트랜스코딩에 대한 구성을 설명하는 블록도를 도시한다.
도 19 는, 본 발명의 일 실시형태에 따라, 자동 랑데뷰 호출 환경의 하이 레벨 논리 블록도를 도시한다.
도 20 은, 일 실시형태에 따라, RC 호출을 셋업하는데 있어서 RC (랑데뷰 호출) 서버 모듈에 의해 행해지는 단계들을 도시한다.
도 21 은, 일 실시형태에 따라, 2 명의 원격회의 참가자에 관련된 단순한 호출 플로우를 도시한다.
도 22 는, 본 발명의 일 실시형태에 따라, 이동성 서버가 구성 컴포넌트로서 프레즌스 서버, 호출 제어부 및 RC 서버를 포함하도록 도시된 것을 제외하면, 도 21 의 예에 특정된 파라미터들을 사용하여 원격회의를 셋업하기 위한 호출 플로우를 도시한다.
도 23 은, 본 발명의 일 실시형태에 따라, 수신자의 회사 내선 번호를 통해 호출자에 의해 수신자에게 새로운 전화 호출이 행해진 경우 발생하는 셀룰러 수신자 인증 과정에 대한 호출 플로우를 도시한다.
도 24 는, 본 발명의 일 실시형태에 따라, 수신자가 셀룰러 호출에 응답하지 않는 경우 발생하는 호출 플로우를 도시한다.
도 25 는, 본 발명의 일 실시형태에 따라, 할당된 인증 주기를 갖는 셀룰러 수신자 인증 과정에 대한 호출 플로우를 도시한다.
도 26 은 상이한 제어기에 접속된 종래의 액세스 포인트의 단순 블록도를 도시한다.
도 27 은 상호접속된 제어기의 세트에 링크된 종래의 액세스 포인트의 블록도를 도시한다.
도 28 은, 본 발명의 일 실시형태에 따라, 단일 제어기에 의해 관리되는 2 개의 액세스 포인트 사이에서 로밍하는 이동성 클라리언트의 사용자의 블록도를 도시한다.
도 29 는, 본 발명의 일 실시형태에서, 2 개의 서로 다른 제어기에 의해 관리될 수도 있는 2 개의 액세스 포인트 사이에서 로밍하는 이동성 클라이언트의 사용자의 블록도를 도시한다.
도 30 은, 본 발명의 하나 이상의 실시형태에 따라, (도 28 에서 설명한 바와 같은) IP 어드레스 변경에 관련되지 않는 로밍 시나리오의 호출 플로우를 도시한다.
도 31 은, 본 발명의 하나 이상의 실시형태에 따라, IP 어드레스 변경에 관 련된 로밍 시나리오의 호출 플로우를 도시한다.
도 32 는, 본 발명의 하나 이상의 실시형태에 따라, 버퍼 방식을 도시한다.
도 33 은, 분류 및 패킷 포워딩 작업을 수행할 뿐만 아니라 다른 호스트 프로세싱 작업을 수행하기 위해, 호스트 프로세서가 이용되는 종래의 논리 블록도를 도시한다.
도 34 는, 도 33 의 호스트 프로세서에 의해 이전에 수행된 작업들의 일부를 오프로드하기 위해 네트워크 프로세서가 이용되는 종래 구현예의 개략적 논리 블록도이다.
도 35 는, 본 발명의 일 실시형태에 따라, VoIP 게이트웨이를 통해 여분의 이더넷 프로세싱 경로를 제공하기 위해 FPGA 를 이용하는, VoIP 게이트웨이의 하이 레벨 논리 블록도를 도시한다.
도 36 은, 본 발명의 일 실시형태에 따라, 수신된 패킷의 프로세싱에 있어서 도 35 의 VoIP 게이트웨이에 의해 행해진 단계들을 도시한다.
도 37 은, 본 발명의 일 실시형태에 따라, 도 36 의 UDP 포트 검색 단계의 일 예를 도시한다.
도 38 은, NAT (Network Address Translation) 횡단을 용이하게 하기 위해 STUN (Simple Traversal of UDP through NAT) 서버가 이용되는 종래의 VoIP (Voice-over-IP) 환경의 표현이다.
도 39 는, STUN/TURN (Simple Traversal of UDP through NAT/Traversal Using Relayed NAT) 서버와 미디어 서버 사이에 보안 터널이 구현되는 STUN/TURN NAT 횡단 구현의 종래 구현예를 도시한다.
도 40 은, 본 발명의 일 실시형태에 따라, 회사 방화벽의 외부에 외부 NAT 횡단 서버가 유지되어야 하는 요구사항을 제거하면서 모두 4 개 타입의 NAT 해석이 횡단될 수 있는 일반적인 NAT 횡단 구성을 도시한다.
도 41 은, 본 발명의 일 실시형태에 따라, 2 개의 외부 클라이언트 디바이스로 및 2 개의 외부 클라이언트 디바이스로부터 미디어 스트림을 서비스하기 위해 미디어 서버상에서 2 개의 포트가 이용되는 NAT 횡단 구성을 도시한다.
도 42 는, 본 발명의 일 실시형태에 따라, 2 개의 외부 클라이언트 디바이스로 및 2 개의 외부 클라이언트 디바이스로부터 미디어 스트림을 서비스하기 위해 미디어 서버 상에서 단일 MSAP 포트가 이용되는 NAT 횡단 구성을 도시한다.
도 43 은 무선 통신에서 핸드오프 동안 미디어 데이터를 프로세싱하기 위한 예시적인 종래의 구성을 도시한다.
도 44a 는, 2 개의 네트워크에 의해 전송되고 있는 미디어 데이터 스트림 내에 갭이 존재할 수도 있는 예시적인 종래의 핸드오프 시나리오를 도시한다.
도 44b 는 2 개의 네트워크에 의해 전송되고 있는 미디어 데이터 스트림 사이에 중첩이 존재할 수도 있는 예시적인 종래의 핸드오프 시나리오를 도시한다.
도 45 는, 본 발명의 하나 이상의 실시형태에 따라, 무선 통신에서 핸드오프 동안 미디어 데이터를 프로세싱하기 위한 구성을 도시한다.
도 46a 는, 본 발명의 하나 이상의 실시형태에 따라, 미디어 서버 및 음성 품질 엔진 모듈의 구조적 블록도를 도시한다.
도 46b 는, 일 실시형태에서, 패킷의 상호상관 미디어 데이터 세트를 생성하기 위한 방법의 일 예를 설명하는 블록도를 도시한다.
도 47 은, 본 발명의 하나 이상의 실시형태에 따라, 네트워크들 사이에서 이동 전자통신 디바이스의 핸드오프 동안 미디어 데이터를 프로세싱하기 위한 방법의 흐름도를 도시한다.
도 48 은, 본 발명의 하나 이상의 실시형태에 따라, 핸드오프 동안 이동 전자통신 디바이스의 신호 레벨을 제어하기 위한 방법의 흐름도를 도시한다.
목차 표
A. 아키텍쳐
B. 미디어 핸드오프에서 사용자 경험의 향상
C. 운영자 및 사용자 제어 룰 및 선호도에 의한, 포인트-투-포인트 및 포인트-투-멀티포인트 멀티 미디어 회의 호출 (랑데뷰 호출) 의 자동 셋업
D. 수신자 인증을 통한 호출 라우팅
E. 미디어 핸드오프에서 데이터 손실의 감소
F. 미디어 스트림 프로세싱 분산 시스템을 위한 하드웨어에서의 네트워크 스택 기능 선택
G. 회사 게이트웨이를 통한 보안 미디어 통신 (NAT/방화벽)
H. 결론
상세한 설명
본 발명을 특정 장치 및 실시형태를 참조하여 설명한다. 당업자는, 이 설명이 예시를 위한 것이며 본 발명을 실시하는 최상의 모드를 제공하는 것임을 인식할 것이다. 예를 들어, 특정 통신 프로토콜이 참조되지만, 다른 프로토콜들도 본 발명에 의해 예상된다. 예를 들어, 무선 통신을 위한 프로토콜로서 Wi-Fi (IEEE 802.11) 가 설명되지만, 본 발명에서는 다른 프로토콜이 구현될 수도 있다. 여기서, 이동성 클라이언트, 클라이언트 디바이스 및 이동 장비 (ME) 에 대한 참조는 균등물이다.
이하, 방법 및 기술을 포함하는 다양한 실시형태를 설명한다. 또한, 본 발명은, 창작적 기술의 실시형태들을 수행하기 위한 컴퓨터-판독가능 명령들이 저장되는 컴퓨터 판독가능 매체를 포함하는 제조품을 커버할 수도 있음을 유의해야 한다. 컴퓨터 판독가능 매체는, 예를 들어, 반도체, 자기, 광자기, 광학, 또는 컴퓨터 판독가능 코드를 저장하기 위한 다른 형태의 컴퓨터 판독가능 매체를 포함할 수도 있다. 또한, 본 발명은, 본 발명의 실시형태들을 실시하기 위한 장치를 커버할 수도 있다. 이러한 장치는, 본 발명의 실시형태들에 관련된 동작들을 수행하기 위한, 전용 및/또는 프로그램가능 회로를 포함할 수도 있다. 이러한 장치의 예로는, 적절하게 프로그램될 경우에 전용 연산 디바이스 및/또는 범용 컴퓨터가 포함되고, 본 발명의 실시형태들에 관련된 다양한 동작에 적용되는 전용/프로그램가능 회로 및 컴퓨터/연산 디바이스의 조합이 포함될 수도 있다.
A. 아키텍쳐
도 1 은 본 발명의 일 실시형태에 따른 시스템 네트워크 (100) 를 도시한다. 다수의 가능한 방식으로 네트워크와 통신하는 이동 장비 (ME; 102) 가 제공된 다. ME (102) 는, 기지국 트랜시버 (BTS; 112), BTS 스위칭 센터 (BSC; 114) 및 이동 스위칭 센터 (MSC; 116) 를 포함하는 셀룰러 네트워크 (110) 와 통신할 수 있다. MSC 는, 공중 스위칭 전화 네트워크 (PSTN; 122) 에 커플링되는 미디어 게이트웨이 (120) 에 커플링된다. 다른 종래의 공중 및 사설 전화 (124) 또한 PSTN 에 커플링된다. PBX (130) 는 PSTN 에 커플링되고, 예를 들어, 전화 (136) 를 통해 호출을 생성 및 수신하기 위해 회사를 서빙한다. 이동성 서버 (150) 는 다른 네트워크뿐만 아니라 PBX 에 커플링된다. 예를 들어, 이동성 서버 (150) 는 라우터 (132) 를 통해 인터넷 프로토콜 광역 네트워크 (WAN; 138) 에 커플링된다. 또한, 이동성 서버 (150) 는 라우터 (140) 및 방화벽 (142) 을 통해 인터넷 (144) 에 커플링된다. 또한, 이동성 서버 (150) 는 무선 액세스 포인트 (160) 에 의해 로컬 영역 네트워크 (LAN) 에 커플링된다. 하나의 액세스 포인트가 도시되어 있지만, 본 발명은 다수의 액세스 포인트 또한 예상한다. 액세스 포인트 (160) 는, ME (102) 를 갖는 사용자가 회사 내를 이동하고, 이동성 서버 (150) 및 PBX (130) 를 통해 PSTN 에 접속되어 유지될 수 있게 한다. 사용자가 LAN 의 경계를 넘어 이동하면, 사용자는, 이하 더 상세히 설명되는 바와 같이 또 다른 네트워크 (예를 들어, 셀룰러 네트워크) 에 접속될 것이다. 또한, 여기서 설명하는 특정한 조건하에서 액세스를 위해 인터넷에 커플링되는 액세스 포인트 (180) 가 도시되어 있다.
도 2a 내지 도 2c 는 본 발명의 일 실시형태에 따른 이동성 서버를 도시한다.
보안 매니저 - 2 이상의 엔터티가 통신하고 있는 경우, 보안의 정의는 다음의 양태를 포함한다.
1. 통신 엔터티의 상호 인증
2. 통신 채널의 비밀성
3. 교환되는 메시지의 무결성
4. 메시지의 인증
본 발명의 하나 이상의 실시형태에 따른 이동성 솔루션에서는, 3 개의 개별적인 통신 엔터티: 이동성 클라이언트, 이동성 서버 및 외부 VoIP GW 가 존재한다. 그리고, 이들 엔터티들 사이에 2 개의 개별적 타입의 경로: SIP 시그널링 경로 및 미디어 경로가 존재한다.
아키텍쳐 규격 [1] 에서 설명하는 바와 같이, 시그널링 및 데이터 경로에 대한 클라이언트, 서버 및 외부 게이트웨이 사이에서 전술한 보안 양태들을 달성하기 위해 다음의 메커니즘이 사용된다.
1. 클라이언트와 서버 사이의 SIP TLS 세션
2. SIP TLS 확립 이후 SIP 통지를 사용한 클라이언트 인증
3. 서버에 의한 사용자의 인증
4. 서버와 외부 VoIP 게이트웨이 사이의 SIP TLS 세션
5. 외부 VoIP 게이트웨이에 의한 서버 인증
6. 보안 미디어 경로
7. 유도된 요구사항
사용자/디바이스 매니저/이동성 제어기 - 디바이스 및 이동성 매니저 (이하, DMM 이라 칭함) 는, 디바이스 상에 활성 호출이 존재하는 동안, 이동성 양태뿐만 아니라 디바이스 구성 및 상태를 조작하는 모듈이다. 다음 섹션에서는, DMM 이 지원하는 공중 인터페이스와 함께 DMM 의 기능 규격 및 설계 규격을 캡쳐한다.
DMM 의 역할 및 책임의 요약
1. 회사 운영자에 의해 제어되는 디바이스 구성
2. 디바이스의 상태 리포트
3. 디바이스의 이미지 관리
4. 활성 호출에 의한 핸드셋에 대한 이동성 로직의 유지 및 구현 - 즉, Wi-Fi 에서 셀로의 핸드오프 및 그 역으로의 핸드오프 조작
5. 클라이언트로부터의 디바이스 초기화 및 구성 요청 조작
제어 평면/호출 제어부 - 호출 제어부 (CC) 는 다음의 기능을 책임지는 주요 제어 평면 모듈이다:
1. VoIP 호출 프로세싱
2. SIP 프록시 서버 및 B2BUA
3. PSTN GW 를 통한 PSTN 호출 관리
4. 애스터리스크 (Asterisk) 를 통한 PBX 특성 관리
5. 리소스 및 접속 관리
호출 제어 모듈은 DN 미디어 스위치 상에 상주한다. 호출 제어 모듈은 전술한 기능성을 제공하기 위해, SIP 스택 및 애스터리스크 (또는 임의의 다른) PBX 모듈과 인터페이싱한다.
1. (UA, CCM 및 애스터리스크 등에 대한) SIP 스택 : SIP 스택은 주로 프로토콜 메시지 디코딩/인코딩 엔진으로서 사용된다. 또한, SIP 스택은, 표준 기반 메시지 파싱 (parsing) 및 유효화, 재송신, 사설 메시지 유효화 등과 같은 기본적인 프로토콜 특정 작업을 수행한다. 대부분의 프록시 및 B2BUA 작업에 대하여, SIP 스택은 판정 이행을 위해 CC 에 의존한다. CC 와 애스터리스크 사이 및 CC 와 CCM 사이의 상호작용은 표준 기반 SIP 메시지를 통해 이루어진다.
2. 프록시 에이전트/구성 매니저 (PA/CM) : 프록시 에이전트는 모든 애플리케이션에 대한 구성 매니저로서 동작한다. 호출 제어 관련 정보는, 제공시에, 또는 시스템이 브링업 (bring up) 한 후 디스크 DB 가 판독된 후에 PA 에 의해 다운로드된다. CC 는 로컬/고속 액세스를 위해 데이터를 RAM 에 저장한다. 또한, CC 는, 임의의 동적 정보 (예를 들어, 활성이 되는 호출 또는 중단되는 호출) 의 PA 또는 요구 정보 (예를 들어, SNMP GET) 상의 PA 를 업데이트한다.
3. 리소스 매니저 (RM) : 리소스 매니저는 물리/네트워크 리소스의 로직 맵을 제공한다. 이들 리소스는 GE 포트, DSP 리소스, 소켓, UDP/TCP 포트 등을 포함하고, 메모리, 버퍼 풀 (pool), 타이머, 큐 등과 같은 시스템 리소스는 포함하지 않는다. 또한, 내부 IPC 통신을 위해 사용되는 소켓은 포함하지 않는다. CC 는 리소스 CAC, 리소스 예약 및 완료를 위해 RM 을 사용한다. 완료의 일부로서, RM 은, 미디어 플로우를 인에이블시키기 위해 하드웨어를 프로그래밍하도록 미디어 스위치에 통지한다.
미디어 스위치 애플리케이션 (MSA) - MSA 는 부분적으로 리눅스 상에서 실행되고, TMS320DM64x DSP 프로세서 상에 잔류하도록 설계될 것이다. 이 애플리케이션은 다음의 기능들을 수행할 것이다.
RTP 패킷 프로세싱.
스위칭.
트랜스코딩.
화상회의.
적응형 지터 버퍼.
패킷 손실 은닉.
VAD/CNG 및 AGC 를 포함하는 포스트 프로세싱.
MSA 소프트웨어는 서로 다른 스피치 코덱의 인코딩/디코딩을 지원하는 것이 요구된다. 알고리즘 및 채널의 타입은 실행 시간 동안 변경될 수 있어서, 즉, 멀티-채널, 멀티-알고리즘을 지원하는 설계가 요구된다. 각각의 코덱 알고리즘은 재입력될 것이 요구되고, 데이터뿐만 아니라 프로그램은 완전히 릴리스가능하도록 요구된다. 다양한 코덱을 지원하기 위해, 다음의 요구가 고려된다:
a. DSP 가 칩 데이터 메모리 상에 한정되었기 때문에, 모든 데이터가 멀티-채널, 멀티-알고리즘 애플리케이션에서 항상 칩 상에 위치될 수 있는 것은 아니다. 이것은, 각각의 알고리즘 내의 모든 데이터 (콘텍스트 및 테이블) 가 콘텍스트 스위칭 동안 (온/오프 칩 메모리 간에) 재할당가능할 것을 요구한다. 이것은, 각각의 지원된 코덱에 대한 MIPS 요구사항뿐만 아니라 메모리, 스택 사이즈 를 검색할 것을 요구한다.
b. 호스트와 DSP 사이에서 메시징을 교환하는 메커니즘은 임의의 다른 특성과 함께 코덱 타입뿐만 아니라 채널 번호를 나타내는 것을 프로세싱한다. 채널 구성 매니저는 요구된 기능성의 타입을 나타내는 DSP 상에서 채널을 개방하도록 요구된다. DSP 의 상태를 나타내는 주기적 메시지가 구현될 것이 요구된다.
DSP 프로세서는, 외부 호스트가 DSP 외부 메모리에 액세스할 수 있게 한다. DSP 는 데이터 메모리뿐만 아니라 16 Kbyte 의 제 1 레벨 프로그램을 갖는다. 데이터 메모리뿐만 아니라 프로그램은 256 Kbyte 의 제 2 레벨 메모리를 공유한다. 16 Mbyte 의 외부 메모리 (SDRAM) 가 사용가능하다. 2 개의 프로세서들 사이에서 공유된 메모리는 외향 RTP 데이터뿐만 아니라 내향 RTP 데이터를 저장한다. DSP 가 N 개의 채널을 지원하도록 요구되기 때문에, 이 메모리는 각각 320 바이트 길이의 송신 버퍼뿐만 아니라 N 개의 수신 버퍼를 포함할 것이다 (비디오에 있어서, 이 버퍼는 1500 바이트로 요구됨). 호스트와 DSP 사이의 메시징을 위한 데이터 구조 및 호출별 기반으로 요구되는 정보가 정의될 필요가 있다.
다음의 단계들이 DSP 기능성을 정의한다.
a. 부트업 (boot up) 시에 소프트웨어는 DSP 에 한번 다운로드된다 (DSP 는, 소프트웨어가 다운로드된 것을 호스트에 표시하기 위해, 고정된 메모리 위치에서 소정의 값을 기입함으로써 이것을 나타낼 것이다).
b. 소프트웨어의 성공적 다운로드시에, DSP 는 10 msec 의 내부 타이머를 실행시킬 것이다. 이 때, DSP 는, 패킷이 도달하면 호스트에 의해 설정되는 프로세스로, 채널 상태가 변경되도록 폴링 (polling) 한다.
c. 코덱 타입, 데이터 준비 및 호출 타입 (초기에 음성만) 을 나타내는, 호스트로부터의 시작 호출 또는 개방 채널 커맨드가 TX 방향뿐만 아니라 RX 방향으로 전송된다.
d. 개방된 채널에 기초하여, DSP 가 외부 버퍼로부터 RTP 데이터를 픽업하고, 그에 대해 DSP 관련 기능성을 수행된다.
e. TX 측 상에서, DSP 는, TX 에이전트에 의해 픽업될 인코딩된 데이터를 외부 버퍼 상에 위치시킴.
도 3 은 본 발명의 일 실시형태에 따른 이동 설비 클라이언트를 도시한다.
클라이언트 소프트웨어 또는 핸드셋 소프트웨어는, 이동성 서버에 필적할만한 핸드셋 상에서 실행된다. 통상적으로, 이것은, LAN 네트워크 (유선 LAN 또는 무선 LAN) 상에서의 IP 접속뿐만 아니라 셀룰러 네트워크 (CDMA 또는 GSM) 상에서의 전화 접속을 제공할 능력을 갖는 듀얼-모드 핸드셋이다.
또한, 소프트웨어는 데스크탑/랩탑에 대해 컴파일될 수 있고, 또는 소프트폰으로서 기능하는 마이크로폰 및 스피커를 갖는 PDA 에 대해 컴파일될 수 있다.
사용자 인터페이스
클라이언트 사용자 인터페이스는 다음의 기능성을 제공한다.
· 셋업 시작 구성 - DNS IP 어드레스, 이동성 서버 URL, 시작 사용자 상태 (INVISIBLE/AVAILABLE), 보안 세팅
· 사용자 상태 (INVISIBLE/AVAILABLE) 변경
· 회사 "버디들 (buddies)" 을 추가하고, 그들의 프레즌스 정보 (INVISIBLE/AVAILABLE/CALL-IN-PROGRESS) 를 획득함
· 회사 "버디들" 의 가용성 상태를 디스플레이하고, 이들에 접속함
· 공통 회사 전화 특성에 대한 사용자 인터페이스
· 호출 이행
· 호출 수신
· 호출 대기
· 호출 포워딩
· 호출 전송
· 다자간 화상회의
· 음성 메일 통지
· 미싱된 호출 통지
· 수신된 호출 통지
· 시행된 호출 통지
· 번호 검색 및 명칭에 의한 다이얼링
· Wi-Fi 네트워크 대신 셀룰러 네트워크를 사용하기 위한 수동 오버라이드
· 버전 미스매치 디스플레이
· 요청/상태 업그레이드
· 클라이언트 소프트웨어 디스에이블/금지 - ISP 애플리케이션은 셀룰러 호출을 이행/수신하는데 사용됨
호출-제어 및 음성
· LAN 인터페이스 상에서 VoIP 호출을 이행하기 위한 호출 제어
· LAN 인터페이스 상에서 VoIP 호출을 이행하기 위한 음성 엔진 - 코덱, 에코-상쇄, 지터 제어, 에러 은닉을 포함함
· 셀룰러 호출로부터 VoIP 호출로의 호출 핸드오프
· VoIP 호출로부터 셀룰러 호출로의 호출 핸드오프
802.11
· 어떠한 IP 네트워크들이 가용인지 여부 및 그들의 신호 강도를 결정하고, 그 정보를 서버에 전달함
· AP 클라이언트
· 802.11 미니포트의 전력 관리 - 802.11 의 신호 강도가 허용가능한 임계값 미만인 경우에는, 전력을 보존하기 위해 빈번하지 않은 간격으로 이를 하이버네이션하고 폴링함.
· 서버와 통신하기 위해, 호출이 진행중이면 신호 강도 및 음성 품질 정보를 RTCP 패킷으로 패키징하고, 호출이 진행중이 아니면 연결유지 (keepalive) 함. 신호 강도가 허용가능한 임계값 미만으로 내려가거나 음성 품질이 열화되는 경우, 서버는 그 호출을 VoIP 로부터 셀룰러 네트워크로 스위칭하도록 판정할 것이다.
플랫폼
시장에는 다수의 핸드셋 공급자가 존재하며, 이들 대부분은 듀얼-모드 핸드 셋을 갖추고 있기 때문에, 핸드셋들에 걸쳐 대부분의 코드가 공유되도록 소프트웨어를 설계해야 한다. 따라서, 코드는 플랫폼 의존 부분 및 플랫폼 비의존 부분으로 분할되어야 한다. 대부분, 실제로는 Divitas 코어 값 전부는, 하나의 플랫폼으로부터 또 다른 플랫폼으로 용이하게 이동될 수 있는, 소프트웨어의 플랫폼 비의존 부분내에 존재해야 한다. 플랫폼 의존 부분은 오직 기능적 적응층 (더 상세하게는, 전화, LAN, 802.11, 오디오 및 디스플레이 적응층) 이어야 한다. 코드가 새로운 플랫폼으로 포트되는 경우, 플랫폼 비의존 부분에는 균일한 API 를 제공하면서, 오직 이들 적응층만 변형되고 재기입될 필요가 있다.
클라이언트 소프트웨어는 다수의 핸드셋 플랫폼 상에서 실행될 것이다. 대부분의 주도적 핸드셋 플랫폼은 Windows®CE, Linux® 및 Symbian® 이다.
듀얼-모드 핸드셋에 부가하여, 클라이언트 애플리케이션은 802.11 전화, PDA, 또는 셀룰러 전화 인터페이스를 갖지 않는 랩탑/데스크탑 상에서 동작하도록 설계된다. 이들 플랫폼 상에서는, 특성들의 서브세트가 사용자에게 가용이다. 기본적으로, VoIP 로부터 셀룰러로의 호출 핸드오프는 가능하지 않을 것이다.
동작 이론
시작 및 보안 동작
시작시에, 클라이언트 애플리케이션은 핸드셋 상의 가용 리소스를 검색한다. 먼저, 유선 네트워크의 존재를 체크한다. 존재하지 않으면, 802.11 네트워크의 존재를 체크한다. 유선 또는 무선 매체 인증은 회사 보안 폴리시에 의존하여 행해진다. 핸드셋 클라이언트는 회사에서 이용되는 보안 메커니즘을 지원 할 것이다. 대부분의 통상적 보안 메커니즘은 WPA (Wi-Fi Protected Access) 이다. 인증이 성공적으로 행해지면, 무선 클라이언트는 DHCP 를 사용하여 IP 인터페이스에 대한 IP 어드레스를 획득한다.
애플리케이션은 영구적 (persistent) 데이터베이스로부터 이동성 서버 URL 및 DNS IP 어드레스를 획득하고, 이동성 서버에 등록하려 시도한다.
클라이언트 애플리케이션은, 회사 네트워크 내부에 존재하는 핸드셋 상에서 실행될 수 있다. 이 경우, 클라이언트는 임의의 다른 보안 블랭킷없이 이동성 서버에 도달할 수 있다. 예를 들어, Wi-Fi 인터넷 액세스를 갖춘 커피숍 또는 공항과 같이, 클라이언트가 공중 네트워크 상에 존재하는 경우, 통상적으로 사용자는 회사에 VPN 접속을 셋업한다. 클라이언트는, VPN 터널이 셋업된 후에만 이동성 서버에 도달할 수 있다.
클라이언트 애플리케이션 소프트웨어는 암호화된 (회사 IT 에 의해 인스톨된) 인증서를 서버에 전송함으로써 서버에 의해 핸드셋을 인증한다. 인증되면, 클라이언트는 사용자로부터 또는 핸드셋에 저장된 로그인/패스워드를 획득하고, 이를 암호화하여, 사용자 인증을 위해 서버에 전송한다. 성공적 인증시에, 서버는 회사 전화 번호를 전송함으로써 응답한다. 응답시에, 클라이언트는 셀룰러 전화 번호를 서버에 전송한다. 서버는 모든 장래의 핸드오프 시나리오를 위해 그 둘을 결속시킨다.
시그널링 및 미디어 스트림은 시그널링을 위한 SIP/TLS 및 미디어 스트림을 위한 SRTP 를 사용하여 보안된다. 그러나, 사용자가 VPN 링크 상에 존재하면, 클라이언트는 또 다른 레벨의 암호화를 추가할 필요가 없다. 또 다른 레벨의 암호화를 추가하는 것은 음성 품질의 열화를 유발할 수도 있다. 이 경우, 시그널링을 위해 SIP 가 사용되고, 미디어 스트림을 위해 RTP/RTCP 가 사용된다.
클라이언트가 서버와의 네트워크 접속성을 재획득하는 경우에는 언제나 전술한 프로세스가 반복된다.
정상 상태 동작
사용자는 GUI 상에서 구성하고 이 구성을 영속적 데이터베이스에 저장함으로써 시작시에 INVISIBLE 또는 AVAILABLE 을 선택할 수 있다. 클라이언트는 사용자의 프레즌스 정보를 서버에 업데이트한다.
또한, 사용자는 회사 내의 호출된 버디들에 빈번하게 진입하여, 그 구성을 핸드셋 상의 영속적 데이터베이스에 저장할 수 있다. 클라이언트는, 그 버디들이 INVISIBLE, AVAILABLE 또는 CALL-IN-PROGRESS 인지 여부에 대한 버디들의 프레즌스 정보를 (벌크로) 획득한다. 서버는, 이벤트가 발생할 때 및 이벤트의 발생에 따라 이들 버디들의 프레즌스 정보를 클라이언트에 업데이트한다.
호출이 진행중이 아니면, 클라이언트 및 서버는 주기적으로 연결유지를 교환한다.
클라이언트는 네트워크 상태를 서버에 주기적으로 전송한다. 클라이언트가 802.11 무선 네트워크 상에 존재하면, 관련 액세스 포인트 (AP) 의 SSID, 신호 강도 및 대역폭을 서버에 전송한다. 진행중인 호출이 존재하면, 클라이언트는 이를 대역내 RTCP 패킷의 일부로서 전송한다. 진행중인 호출이 존재하지 않으 면, 이를 대역외 연결유지 메시지에서 전송한다.
클라이언트로부터 서버로 네트워크 세션이 가용인 경우, 클라이언트로의 호출을 이행하고 수신하는 선호된 모드가 네트워크 인터페이스 상에 존재한다. 그러나, 사용자는 이를 오버라이드하도록 선택할 수 있고, 셀룰러 네트워크 상에서 외향 호출을 이행할 수 있다. 이 선택은 서버에 전달되지 않으며, 내향 호출에 영향을 미치지 않는다. 또한, 이 선택은 영속적 데이터베이스에 저장되지 않는다. 사용자는 외향 호출을 이행할 때마다 이 선택을 명확하게 이행해야 한다.
클라이언트로부터 서버로 네트워크 세션이 가용이 아닌 경우, 호출을 이행하고 수신하는 유일한 경로는 셀룰러 인터페이스 상에 존재한다. 사용자는 모든 회사 특성에 액세스를 갖지 않는다. 사용자는 클라이언트 소프트웨어 UI 를 사용하여 호출을 이행하고 수신할 수 있지만, 클라이언트 소프트웨어는 서비스 제공자 특성의 오직 서브세트만을 제공한다. 셀룰러 서비스 제공자 네트워크의 모든 특성을 사용하기 위해, 사용자는 클라이언트 소프트웨어를 종료 (또는 금지) 하고, 셀룰러 서비스 제공자 다이얼러 애플리케이션을 사용해야 할 수도 있다. 호출을 이행하고 수신하기 위해 서비스 제공자 애플리케이션이 사용되고 있는 경우, 이하 섹션 3.4.2 에서 설명하는 핸드오프는 가능하지 않을 것이다.
클라이언트가 서버에 대한 확립된 세션을 갖는한 사용자는 모든 회사 특성에 대한 액세스를 갖는다. 이들 회사 특성에 대한 액세스를 사용자에게 제공하기 위해 클라이언트 GUI 가 사용된다.
음성
클라이언트와 서버 사이에서 음성 호출을 확립하기 위해 SIP 시그널링이 사용된다. 오디오 수신기로부터의 음성은, 음성 엔진 (VE) 에 의해 지원되는 코덱들 중 하나로 인코딩되고, RTP 패킷으로 캡슐화되고, 필요하면 암호화되고, IP 인터페이스 상에서 서버로 전송된다. 유사하게, 서버로부터 수신된 RTP 패킷은, 필요하면 해독되고, 코덱들 중 하나를 사용하여 디코딩되고, 재생된다. 수신기측 상의 VE 에 의해 스피치 디코딩, 지터 제어 및 에러 은닉이 행해진다.
음성의 암호화/해독, 인코딩/디코딩에 부가하여, 음성 엔진은 에러 은닉, 지터 제어, 적응형 패킷 버퍼링, 음향적 에코 상쇄 및 억제, 잡음 상쇄 및 억제, 자동 이득 제어, 음성 활성도 검출, 컴포트 노이즈 (comfort noise) 생성을 수행한다.
로밍
핸드셋 클라이언트는, 휴대용 랩탑과는 다른 이동성 디바이스이다.
인트라-WLAN 핸드오프
사용자가, 전화 대화를 하면서 802.11 네트워크 내에 존재하고 건물을 가로질러 걷는 중인 경우, AP 핸드오프는 비즈 (viz) 를 발생시킬 수 있다. 현재, 사용자의 핸드셋은, 이전에 관련되었던 AP 와는 다른 AP 와 관련된다. 핸드셋의 IP 어드레스가 변경되는 경우인, 핸드오프가 동일한 서브네트 또는 또 다른 서브네트 내에 존재하는 경우, AP 핸드오프는 IP 어드레스 변경없이 발생할 수 있다. IP 어드레스가 변경되면, 클라이언트는 서버에 다시 등록할 필요가 있다. 확립된 호출은, 음성 엔진 (VE) 이 새로운 IP 어드레스로 통신될 때까지 오래된 플 로우 정보를 사용하여 그동안 계속된다. 음성 엔진은, 이벤트를 획득할 때, 클라이언트로부터 출력되는 RTP 스트림이 새로운 IP 어드레스를 가질 것을 보장한다.
무선 클라이언트가 802.1X 를 사용하여 인증하는 경우, 인증서를 교환하기 위해 무선 클라이언트와 무선 액세스 포인트 (AP) 사이에서 전송되는 일련의 메시지가 존재한다. 이 메시지 교환은 접속 프로세스에 지연을 도입시킨다. 무선 클라이언트가 하나의 무선 AP 로부터 또 다른 무선 AP 로 로밍하는 경우, 802.1X 인증을 수행하기 위한 지연은, 특히 음성 또는 비디오 기반 데이터 스트림과 같은 시간-의존적 트래픽에 대해 네트워크 접속성에서 상당한 방해를 유발할 수 있다. 또 다른 무선 AP 로의 로밍에 관련된 지연을 최소화하기 위해, 무선 장비는 PMK 캐싱 (caching) 및 사전 인증을 지원할 수 있다.
PMK 캐싱
무선 클라이언트가 하나의 무선 AP 로부터 또 다른 AP 로 로밍할 때, 무선 클라이언트는 각각의 무선 AP 에 전체 802.1X 인증을 수행해야 한다. WPA 는, 무선 클라이언트 및 무선 AP 가 전체 802.1X 인증의 결과를 캐싱할 수 있게 하여, 클라이언트가, 이전에 인증한 무선 AP 로 다시 로밍하면, 무선 클라이언트는 오직 4-웨이 핸드셰이크만을 수행하고 새로운 페어와이즈 임시 키를 결정하면 된다. 관련 요청 프레임에서, 무선 클라이언트는, 초기 인증 동안 결정되고 무선 클라이언트 및 무선 AP 의 PMK 캐시 엔트리 모두에 저장된 PMK 식별자를 포함한다. PMK 캐시 엔트리는, 무선 클라이언트 및 무선 AP 상에서 구성될 때 유한한 시간량 동안 저장된다.
802.1X 인증자로서 동작하는 스위치를 사용하는 무선 네트워킹 인프라구조에 대해 전이를 더 고속으로 이행하기 위해, WPA/WPS IE 업데이트가 PMK 식별자값을 계산하여, 스위치에 의한 802.1X 인증에 의해 결정된 PMK 는, 동일한 스위치에 부착된 무선 AP 들 사이에서 로밍할 때 재사용될 수 있다. 이러한 실시는 기회 PMK 캐싱으로 공지되어 있다.
사전 인증
사전 인증에 있어서, WPA 무선 클라이언트는 현재의 무선 AP 와 접속되면서 선택적으로 자신의 범위 내의 다른 무선 AP 와 802.1X 인증을 수행할 수 있다. 무선 클라이언트는 기존의 무선 접속을 통해 추가적인 무선 AP 에 사전 인증 트래픽을 전송한다. 무선 AP 와의 사전 인증, 및 PMK 와 그 PMK 캐시 내의 관련 정보의 저장 이후, 인증한 무선 AP 에 접속한 무선 클라이언트는 오직 4-웨이 핸드셰이크만을 수행하면 된다.
사전 인증을 지원하는 WPA 클라이언트는, 비콘 및 프로브 응답 프레임 내에 사전 인증 능력을 통지하는 무선 AP 에 대해서만 사전 인증할 수 있다.
Wi-Fi 셀룰러 핸드오프
전화 대화를 하면서 802.11 네트워크 내의 사용자가, 802.11 접속성이 존재하지 않거나 불충분한 건물 밖으로 나가는 경우, 호출은 셀룰러 네트워크로 핸드오버된다.
호출을 핸드오버하는 판정은 클라이언트에 의해 이행된다. 이 판정은 802.11 신호 강도, 채널 로딩 및 음성 품질 임계값에 기초한다. 일단 판정되 면, 이 판정은, 셀룰러 네트워크 상의 클라이언트로의 호출을 개시한 서버에 전달된다. 클라이언트는 내향 호출의 호출자 id 를 체크하고, 802.11 호출자 id 와 비교하고, 매치되면, 셀룰러 호출을 허용하고 802.11 호출 레그 (leg) 를 종료한다. 서버측에서는, 서버가 클라이언트로의 802.11 호출 레그를 종료하고, 그 셀룰러 호출 레그를 다른 대화자들에게 패치한다.
셀룰러 Wi-Fi 핸드오프
셀룰러 네트워크 상에서 전화 대화를 하면서 사용자가 802.11 네트워크로 걸어 들어온 경우, 핸드셋/사용자는 자신을 이동성 서버와 관련시키고, 그 후, 사용자가 802.11 네트워크에서 또 다른 사용자와 대화중이면, 호출은 802.11 네트워크로 핸드오버된다.
핸드오프에 대한 판정은 클라이언트에 의해 이행된다. 이 판정은 충분한802.11 신호 강도의 가용성, 채널 로딩 및 음성 품질에 기초한다. 일단 판정되면, 이 판정은, 802.11 네트워크 상의 클라이언트에 대한 호출을 개시한 서버에 전달된다. 클라이언트는 내향 호출의 호출자 id 를 체크하고, 셀룰러 호출자 id 와 비교하고, 매치하면, 802.11 호출을 허용하고 셀룰러 호출 레그를 종료한다. 서버는 클라이언트에 대한 셀룰러 호출을 종료하고, 이 802.11 호출 레그를 다른 대화자에게 패치한다.
전력 세이브
핸드셋 클라이언트가 802.11 네트워크 상에서 휴지 (idle) 인 경우, 802.11 미니포트는 슬립 (sleep) 된다. 슬립되기 이전에, 미니포트는, 모든 프레임의 802.11 헤더 내의 전력 세이브 비트를 설정함으로써 슬립 상태가 되려는 것을 AP 에 통지한다. AP 는 그 프레임을 수신하고, 클라이언트가 전력 세이브 모드로 진입하려는 것을 인식한다. AP 는, 클라이언트의 802.11 미니포트가 슬립인 동안 클라이언트에 대한 패킷의 버퍼링을 시작한다. 미니포트는 슬립인 동안 전력을 거의 소모하지 않는다. 미니포트는 액세스 포인트로부터 도달하는 정규의 비콘 송신을 수신하기 위해 주기적으로 웨이크업한다. 전력-세이브 클라이언트는, 비콘이 송신된 시점에 그 비콘을 수신하기 위해 웨이크업할 필요가 있다. TSF (Timing Synchronization Function) 는 AP 와 전력-세이브 클라이언트가 동기화되었음을 확인한다. TSF 타이머는 스테이션들이 슬립인 때 동작을 유지한다. 이들 비콘은, 슬립중인 스테이션들이 AP 에 의해 버퍼링된 패킷을 갖는지 여부를 식별하고, 그 각각의 수신지로의 전달을 위해 대기한다.
확장된 시간 주기 동안 내향 비콘이 존재하지 않는 경우, 802.11 미니포트는 슬립된다. 미니포트는 주기적으로 웨이크업하고, AP 에 대해 공중을 검침하고, 존재하는 것이 없으면 다시 슬립된다. 이 경우, 이전의 경우보다 더 오랜 기간 동안 슬립한다.
본 발명의 특성 및 이점은 다음의 상세한 설명 및 도면을 참조하여 더 명확하게 이해될 수도 있다.
통신은, 사람들이 관계를 발전시키고 양성할 수 있게 하는, 사회의 필수적인 부분이다. 접속 상태로 유지되기를 원하는 소망은 다양한 전자통신 서비스 (예를 들어, 셀룰러 서비스, Wi-Fi 서비스, VoIP 서비스, 지상 통신 서비스 등) 및 디 바이스 (예를 들어, 이동 전화, 멀티-모드 전화, 데스크 전화, IP 전화 등) 의 확산을 유발하고 있다. 일반적으로, 회사는, 고용인들에게 비즈니스를 향상시키고 일상의 활동을 조작하도록 융통성 및 이동성을 제공하기 위해, 이들 전자통신 서비스 및 디바이스의 조합을 구현하고 있다.
통상적 회사에서, 고용인들은 데스크 전화를 가질 수도 있으며, 데스크 전화는 내선 번호와 관련되며, 회사의 사설 브랜치 교환 (PBX) 을 통해 공중 스위칭 전화 네트워크 (PSTN) 에 접속될 수도 있다. 또한, 몇몇 고용인들은, GSM, CDMA 또는 UMTS 네트워크와 같은 셀룰러 네트워크를 통해 음성 및/또는 데이터 통신을 수행할 수 있는 셀룰러 전화를 가질 수도 있다. 또한, 몇몇 고용인들은, 음성 및/또는 데이터 통신을 수행하기 위해 무선 로컬 영역 네트워크 (예를 들어, IEEE 802.11 표준에 기반한 무선 LAN) 를 통해 인터넷에 접속할 수 있는 IP 전화를 이용할 수도 있다. 또한, 몇몇 고용인들은, 2 이상의 통신 네트워크를 통해 음성 및/또는 데이터 통신을 수행할 수 있는 멀티-모드 전화를 가질 수도 있다. 일 예에서, 멀티-모드 전화는 (무선 액세스 포인트를 통해) 셀룰러 네트워크 및 인터넷 모두를 통해 접속할 능력을 가질 수도 있다.
회사는 이들 고용인들에 대한 접근성을 증가시키려는 시도에서 이러한 멀티-네트워크 구성을 구현할 수도 있다. 불행하게도, 서로 다른 네트워크와 디바이스 사이에서의 차이 및 심지어는 양립불가능성이 회사에 새로운 문제점을 제시하고 있다.
예를 들어, 회사의 고용인이 자신의 데스크 전화로부터 멀리 떨어져 있을 수 도 있는 상황을 고려한다. 따라서, 그 고용인의 데스크 전화 확정 번호를 통해서는 그에게 도달하지 못할 수도 있고, 내향 호출은 그의 음성메일로 라우팅될 수도 있다. 그 결과, 호출자는 고용인의 음성메일 상에 메시지를 남기거나, 추후에 전화 번호를 다시 다이얼링하거나, 그리고/또는 또 다른 번호를 통해 그 고용인에게 도달하려는 시도에 대한 선택을 가질 수도 있다. 그 고용인과의 콘택트의 불가능성은 호출자에게 심각한 불편함을 유발할 수도 있고, 불만족스러운 전화 경험을 유발하고, 심지어 회사의 비즈니스에 손해를 야기할 수도 있다.
접근불가능성 문제를 해결하려는 시도로, 회사는 멀티-네트워크 구성을 구현할 수도 있다. 멀티-네트워크 구성의 일 구현에서, 데스크 전화의 내선 번호를 갖는 고용인은 내향 호출을 특정한 전화 번호로 포워딩하는 호출 옵션을 가질 수도 있다. 따라서, 내향 호출이, 다수의 네트워크 서비스와 관련될 수도 있는 멀티-모드 전화로 포워딩된 호출인 경우에도, 그 내향 호출은, 제공된 특정 전화 번호에 의해 지정된 특정 네트워크를 통해 포워딩되는 유일한 호출일 수도 있다. 이러한 모델은 거대한 규모로 스케일되지는 않는다. 일 예로, 특정 전화 번호가 셀룰러 전화 번호와 관련되면, 더 낮은 비용의 Wi-Fi 네트워크가 사용될 수도 있는 경우에도, 그 호출 포워딩이 수행될 것이다. 유사하게, 특정 전화 번호가 Wi-Fi 전화 번호와 관련되면, 그 호출 포워딩은 Wi-Fi 네트워크를 통해 수행될 것이다. 그러나, Wi-Fi 네트워크가 가용이 아니거나 현재 고용인이 Wi-Fi 네트워크에 접속하고 있지 않으면, 그 고용인에게는 여전히 도달하지 못할 수도 있다. 따라서, 더 비싼 셀룰러 네트워크가 사용가능할 수도 있는 경우에도, Wi-Fi 전화 번호로 포워딩된 내향 호출은 셀룰러 네트워크를 이용할 수 없다.
호출 포워딩 이외에, 회사는, 멀티-모드 전화 사용자가 셀룰러 네트워크와 Wi-Fi 네트워크 사이를 이동할 수 있게 하는 차세대 이동 통신 표준을 통합할 수도 있다. 이 표준은, 멀티-모드 전화 사용자가 셀룰러 네트워크와 Wi-Fi 네트워크 사이를 로밍하게 할 수 있는 셀룰러 네트워크의 캐리어에 대한 스위칭 제어 방식을 특정하는 UMA (Unlicensed Mobile Access) 표준을 포함한다.
일반적으로, UMA 표준에 기반한 장비 (예를 들어, 네트워킹 장비 및 멀티-모드 전화) 의 구현은 다른 공급자에 의한 구현과 현저하게 상이할 수도 있다. 따라서, 캐리어에 의해 동작하는 UMA 서버는 오직 한정된 세트의 장비 브랜드 및/또는 모델과 양립가능할 수도 있다. 그 결과, 캐리어에 의해 제공된 UMA 솔루션을 구현하는 회사는 네트워크 장비 및 멀티-모드 전화의 선택에 있어서 한정된 선택에 직면할 수도 있다. 또한, 캐리어를 변경하는 융통성은 새로운 장비 (예를 들어, 네트워크 장비 및 멀티-모드 전화) 를 구매하기 위해 추가적인 리소스를 소모하는 회사의 의지에 의존할 수도 있다. 음성 동작 제어가 오직 캐리어 공간 내에만 존재한다는 사실은 회사에 바람직하지 않다.
UMA 솔루션이 캐리어에 의해 제공되기 때문에, 회사는 셀룰러 전화 사용을 관리하기 위해 셀룰러 네트워크의 캐리어에 의존해야 할 수도 있고, 관련된 폴리시, 서비스, 사용, 보안 및/또는 비밀성에 대한 직접적 제어를 거의 갖지 못하거나 전혀 갖지 못할 수도 있다. 일 예에서는, 캐리어가 전화 호출을 제어하고, 네트워크 사이의 스위칭이 발생할지 여부 및 언제 발생할지를 결정한다. 따라서, 사용자가 Wi-Fi 네트워크에 대한 액세스를 갖는 경우에도, 회사는 더 비싼 셀룰러 서비스로부터 더 저렴한 Wi-Fi 서비스로의 사용을 조정하지 못할 수도 있다.
본 발명의 실시형태에 따르면, 회사에 의해 구현될 수도 있는 무선 통신 시스템 솔루션이 제공된다. 본 발명의 일 양태에 따르면, 본 발명자는, 서로 다른 솔루션에 의해 회사의 통신 요구가 어드레싱될 수 있음에도 불구하고, 회사가 전자통신 솔루션의 제어를 보유하는 통합적 접근방식이 존재하지 않음을 인식하였다. 본 발명의 실시형태들은, 회사에 의해 내부적으로 관리될 수도 있는 이동성 서버 및 그 이동성 서버와 상호작용할 수도 있는 이동성 클라이언트를 포함함으로써, 무선 통신 시스템이 통합적 솔루션을 제공할 수 있게 한다.
본 문헌에서는, 일 예로서 음성 전자통신 요청/세션을 사용하여 다양한 구현들을 설명할 수도 있다. 그러나, 본 발명은 음성 전자통신 요청/세션에 한정되지 않으며, 실시간 미디어 전송에 관련될 수도 있다. 실시간 미디어의 예로는, 전화 호출, 인스턴트 메시징, 이메일, 비디오 송신 등이 포함될 수도 있으나 이에 한정되는 것은 아니다.
여기서 설명하는 바와 같이, 이동성 서버는, 회사를 통한 내향 및 외향 미디어 트래픽 모두를 관리 및/또는 제어할 수도 있는 컴퓨터 시스템을 지칭한다. 본 발명의 일 실시형태에서, 이동성 서버는 복수의 네트워크와 접속될 수도 있다. 복수의 네트워크는 서로 다른 통신 표준들에 기반하여 구현될 수도 있고, 회사에 의해 관리되는 무선 로컬 영역 네트워크 (무선 LAN) 를 포함할 수도 있다. 복수의 네트워크는, 제 3 자에 의해 관리되는 캐리어 및 무선 LAN 에 의해 동작되 는 하나 이상의 셀룰러 네트워크를 포함하도록 더 확장될 수도 있다. 또한, 이동성 서버는 복수의 네트워크에 의해 구현되는 하드웨어 플랫폼과는 무관할 수도 있다.
본 발명의 일 실시형태에서, 이동성 서버는, 복수의 네트워크에서 동작하도록 구성될 수도 있는 이동성 클라이언트와 상호작용할 수도 있다. 여기서 설명하는 바와 같이, 이동성 클라이언트는, 이동성 클라이언트 소프트웨어를 포함하는 전자통신 디바이스를 지칭한다. 전자통신 디바이스 (예를 들어, 이동 전화, 멀티-모드 전화, 데스크 전화, IP 전화 등) 는 서로 다른 브랜드 및/또는 모델일 수도 있다. 일 실시형태에서, 이동성 클라이언트는 복수의 네트워크 상에서 동작할 수 있는 멀티-모드 전자통신 디바이스일 수도 있다.
일 실시형태에서, 무선 통신 시스템 솔루션은 또한 단일 모드 전자통신 디바이스와 동작할 수도 있다. 단일 모드 전자통신 디바이스에 대해, 전자통신 디바이스는 그 전자통신 디바이스 상에 다운로드된, 그 디바이스를 이동성 서버와 상호작용할 수 있는 이동-인에이블 전자통신 디바이스가 되게 하는 이동성 클라이언트 소프트웨어를 가질 수도 있다. 즉, 단일 모드 전자통신 디바이스가 네트워크들 사이에서 로밍하지 못하는 경우에도, 그 단일 모드 전자통신은, 액세스 포인트들 사이에서의 더 평활한 전이 (IP 전화의 경우), 더 양호한 음성 품질 경험, 및 호출 포워딩과 같은, 무선 통신 시스템 솔루션에 의해 제공되는 이점으로부터 여전히 이로울 수도 있다.
일 실시형태에서, 이동성 클라이언트는, 예를 들어, 회사의 주요 전자통신 라인의 내선 번호와 같은 콘택트 번호와 관련되도록 구성될 수도 있다. 이동성 클라이언트는, 서버 기능성 모듈들과 상호작용할 수도 있는 클라이언트 기능성 모듈들을 포함할 수도 있다. 이동성 클라이언트의 클라이언트 기능성 모듈들은 개방 시스템 상호접속 (OSI) 아키텍쳐의 애플리케이션층 상에서 구현될 수도 있다. 따라서, 클라이언트 기능성 모듈들은 이동성 클라이언트의 운영 시스템과 무관할 수도 있다. 예를 들어, 이동성 클라이언트의 운영 시스템은 Windows®CE, Windows®Mobile, Linux® 및 Symbian® 일 수도 있다.
본 발명의 일 실시형태에서, 이동성 서버는, 이동성 매니저 서버 모듈, 호출 제어 서버 모듈, 프레즌스 매니저 서버 모듈, 서버 관리 모듈, 데이터베이스 매니저 모듈, 폴리시 매니저 모듈, 프록시 프로토콜 서버 모듈, PBX 인터페이스 모듈, 리소스 매니저 모듈, 데이터 프로토콜/데이터 트랜잭션 서버 모듈, SIP 스택 모듈, 소켓 모듈, 미디어 매니저 모듈 및 음성 품질 엔진 모듈과 같은 복수의 서버 기능성 모듈들을 포함할 수도 있는 이동성 서버 소프트웨어를 포함할 수도 있다. 본 발명의 일 실시형태에서, 이동성 클라이언트는, 사용자 인터페이스 모듈, 네이티브 애플리케이션 모듈, 이동성 매니저 클라이언트 모듈, 호출 제어 클라이언트 모듈, 프레즌스 매니저 클라이언트 모듈, 프록시 프로토콜 서버 모듈, 데이터 프로토콜/데이터 트랜잭션 클라이언트 모듈, 음성 엔진 모듈 및 랩퍼 모듈과 같은 복수의 클라이언트 기능성 모듈들을 포함할 수도 있는 이동성 클라이언트 소프트웨어를 포함할 수도 있다. 이동성 서버 애플리케이션은 전자통신 요청 관리, 사용자 유효화, 로밍 동안 복수의 네트워크들 간의 핸드오프 수행, 실시간 미디어 품질 (예를 들어, 음성 품질, 데이터 전송 등) 변조 등과 같은 서로 다른 전자통신 기능들을 조작하기 위해 이동성 클라이언트 애플리케이션과 상호작용할 수도 있다.
본 발명의 일 실시형태에서, 이동성 서버는 이동성 클라이언트에 대한 네트워크 접속성 정보를 저장하도록 구성될 수도 있다. 이동성 클라이언트의 네트워크 접속성을 사용함으로써, 이동성 서버는 내향 전자통신 요청을 이동성 클라이언트로 라우팅하도록 구성될 수도 있다. 또한, 이동성 서버는 이동 클라이언트에 대한 네트워크 접속성 정보를 사용하여 이동 클라이언트로부터의 외향 전자통신을 확립하도록 구성될 수도 있다. 내향 및 외향 전자통신 요청은 음성 및/또는 데이터 요청을 포함할 수도 있다.
이동성 서버와 상호작용함으로써, 이동성 클라이언트는 최소의 방해 (예를 들어, 중단된 호출, 음성 품질의 손실, 배경 잡음, 에코 등) 로, 복수의 네트워크들 (예를 들어, 셀룰러 네트워크, Wi-Fi 네트워크, PSTN 등) 사이에서 심리스하게 (seamlessly) 로밍할 수도 있다. 따라서, 이동성 클라이언트를 통해 회사의 고용인들에게 용이하게 도달할 수도 있다. 따라서, 회사는, UMA 서버와 같은 제 3 의 솔루션을 구현하지 않으면서 접근성 문제를 해결할 수 있다.
모든 내향 및 외향 전자통신 요청은 내부 이동성 서버를 통해 라우팅될 수도 있기 때문에, 회사는 전자통신 기능을 제어할 수도 있다. 제어에 의해, 회사는 자신의 데이터에 대한 보안되고 합법적인 액세스를 보장할 수도 있다. 또한, 제어에 의해, 회사는, 방해된 전자통신 세션을 방지하고, 데이터 손실을 방지하고, 그리고/또는 데이터 품질의 열화를 최소화하기 위해, 복수의 가용 네트워크 중 하 나 이상을 통해 전자통신 세션을 라우팅함으로써 사용자 경험을 증가시킬 수도 있다. 또한, 제어에 의해, 회사는 저렴한 가용 네트워크를 통해 전자통신 세션을 라우팅함으로써 전자통신 사용 비용을 조정할 수도 있다. 따라서, 회사는 이동 통신 시스템 솔루션을 제공하면서, 비용, 품질 및 보안을 조율할 수 있다.
일 실시형태에서, 복수의 이동성 서버는, 트롬보닝 (tromboning), 즉, 전자통신 요청의 두서없는 라우팅을 감소시키기 위해, 회사에서 복수의 사이트에 배치될 수도 있다. 복수의 이동성 서버는, 회사에 의해 관리되는 가상 사설 네트워크를 통해 접속될 수도 있다. 복수의 이동성 서버의 이점은, 불필요한 전자통신 세션 지연의 감소 및 네트워크 리소스의 비효율적 사용에서의 감소를 포함할 수도 있다.
본 발명의 특성 및 이점은 다음의 설명 및 도면을 참조하여 더 명확하게 이해될 수도 있다.
도 8 은, 본 발명의 일 실시형태에서, 회사 내부에 존재하는 이동성 클라이언트와 외부의 전자통신 디바이스 사이에 확립되는 전자통신 세션을 도시한다. 여기서 설명하는 바와 같이, 전자통신 디바이스는, 미디어 패킷을 전송하는데 이용될 수도 있는 디바이스를 지칭한다. 전자통신 디바이스의 예로는, 셀룰러 전화, 데스크 전화, 멀티-모드 전화, IP 전화 등을 포함하지만 이에 한정되는 것은 아니다. 여기서 설명하는 바와 같이, 이동성 클라이언트는, 이동성 클라이언트 애플리케이션이 인스톨된 전자통신 디바이스를 지칭한다.
예를 들어, 외부 전화를 통한 개인이 이동성 클라이언트를 통해 개인과 전자 통신 세션을 확립하려고 시도하고 있는 상황을 고려한다. 종래 기술과는 달리, 외부 전화 (802) 의 사용자는, 전자통신 요청의 의도된 수신자와 콘택트하기 위해 다수의 전화 번호를 알아야 할 필요가 없다. 대신, 외부 전화 (802) 의 사용자는 단일 전화 번호에 대한 액세스만 요구된다. 일 예로, 외부 전화 (802) 의 사용자는, 의도된 수신자에게 도달하기 위해 회사 (800) 의 주요 회선 및 내선 번호를 다이얼링한다.
외부 전화 (802) 의 사용자에 의한 전자통신 요청은, (레그 (830) 에 의해 도시된 바와 같이) 캐리어 네트워크 (860) 를 통해 횡단하여 회사 (800) 내의 이동성 클라이언트 (816) 의 사용자와 접속할 수도 있다.
회사 (800) 는, 적어도 하나의 이동성 서버 (818) 및 이동성 클라이언트 (816) 를 포함할 수도 있는 무선 통신 시스템을 가질 수도 있다. 인트라넷과 같은 IP 네트워크 (812) 를 통해, 이동성 서버 (818) 는, Wi-Fi 네트워크 (814) (또는 액세스 포인트 (814)) 로 표시되는 무선 로컬 영역 네트워크와 접속될 수도 있다. 또한, IP 네트워크 (812) 및 사설 브랜치 교환부 (810; PBX) 를 통해, 이동성 서버 (818) 는 캐리어 네트워크 (860) 및/또는 셀룰러 네트워크 (862) 와 접속될 수도 있고, 이 네트워크들은 차례로 회사 (800) 의 방화벽 (820) 외부에 존재하는 외부 전화 (802) 와 같은 외부의 전자통신 디바이스와 접속될 수도 있다. 또한, 방화벽 (820) 을 통해, 이동성 서버 (818) 는, 다양한 다른 네트워크와 접속될 수도 있는 인터넷 (850) 과 접속될 수도 있다. 이동성 서버 (818), IP 네트워크 (812), 방화벽 (820), PBX (810), 및 Wi-Fi 네트워크 (814) 는 회사 (800) 에 의해 관리된다.
전술한 바와 같이, 무선 통신 시스템은, 회사 (800) 의 고용인에 의해 이용될 수도 있는 이동성 클라이언트 (816) 를 더 포함할 수도 있다. 이동성 클라이언트 (816) 는, 적어도 하나의 콘택트 번호를 포함하는 콘택트 번호들의 세트 (예를 들어, 지상 전화 번호, IP 어드레스, 내선 번호, 셀룰러 전화 번호 등) 와 관련될 수도 있다. 이동성 클라이언트 (816) 를 콘택트 번호의 세트와 관련시키는 방법은, 예를 들어, 당해 분야에서 주지된 가입자 아이덴터티 모듈 (SIM) 과 같은 다수의 방법에 의해 수행될 수도 있다.
일 실시형태에서, 전자통신 요청은 먼저 (레그 (832) 로 도시된 바와 같이) PBX (810) 에 의해 회사 (800) 내에서 내부적으로 수신될 수도 있다. 그 후, PBX (810) 는 내부 IP 네트워크 (812; 예를 들어, 인트라넷) 를 통해 전자통신 요청을 (레그 (834) 로 도시된 바와 같이) 이동성 서버 (818) 로 라우팅할 수도 있다. 일 실시형태에서, PBX (810) 와 이동성 서버 (818) 사이의 통신은 패킷 기반 통신일 수도 있다.
일 실시형태에서, 이동성 클라이언트 (816) 는 먼저, 활성시 이동성 서버 (818) 에 등록될 수도 있다. 이 시나리오에서, 이동성 클라이언트 (816) 는 현재 회사 (800) 내에 위치되어 있기 때문에, 이동성 클라이언트 (816) 는 Wi-Fi 네트워크 (814) 를 통해 이동성 서버에 등록되어 있다. 이동성 서버 (818) 가, 이동성 클라이언트 (816) 으로부터 등록 정보를 수신하고, 이동성 클라이언트 (816) 가 유효하고 가입된 디바이스임을 입증하면, 이동성 서버 (816) 는 이동성 클라이언트 (816) 로 및 이동성 클라이언트로부터의 내향 및 외향 전자통신 요청을 수용할 수도 있다.
이동성 클라이언트 (816) 가 Wi-Fi 네트워크 (814) 를 통해 이미 이동성 서버 (818) 에 등록되었기 때문에, 이동성 서버 (818) 는 Wi-Fi 액세스 포인트 (814) 에서 이동성 클라이언트 (816) 에 도달하기 위해, (레그 (836) 로 도시된 바와 같이) IP 네트워크 (812) 를 통해 내향 전자통신 요청을 다시 포워딩하는 것을 인식한다.
전자통신 요청이 이동성 서버 (818) 를 통해 라우팅되기 때문에, 회사 (800) 는 전자통신 인프라구조를 관리할 수도 있다. 예를 들어, 회사 (800) 는 내향 전자통신 요청을 차단하고, 사용자 액세스를 확인 및 유효화하고, 전자통신 세션의 지속기간을 모니터링하는 것 등을 할 수도 있다.
일 실시형태에서, 이동성 서버 (818) 는, 모든 내향 및 외향 전자통신 세션을 관리하는 서버이다. 즉, 미디어 트래픽 (예를 들어, 미디어 패킷) 은 최종 수신지 (예를 들어, 이동성 클라이언트 (816) 또는 외부 전화 (802)) 로 포워딩되기 전에 이동성 서버 (818) 로 라우팅될 수도 있다. 이동성 서버 (818) 는, 복수의 서버 기능성 모듈들을 포함할 수도 있는 이동성 서버 애플리케이션을 포함할 수도 있다. 이동성 서버 애플리케이션으로, 이동성 서버 (818) 는 회사의 전자통신 인프라구조를 관리할 수도 있다.
도 9 는, 본 발명의 하나 이상의 실시형태에 따라, 도 8 의 이동성 서버 (818) 에서 구현될 수도 있는 서버 기능성 모듈들의 예를 도시한다. 서버 기능 성 모듈들은, 서버 관리 모듈 (906), 데이터베이스 매니저 모듈 (908), 폴리시 매니저 모듈 (910), 프레즌스 매니저 서버 모듈 (912), PP 서버 모듈 (914), PBX I/F 모듈 (918), 호출 제어 서버 모듈 (920), 이동성 매니저 서버 모듈 (922), 리소스 매니저 모듈 (924), DP/DX 서버 모듈 (926), SIP 서버 모듈 (930), 소켓 서버 모듈 (932), 및 미디어 서버 및 음성 품질 엔진 모듈 (934) 을 포함할 수도 있지만, 이에 한정되지는 않는다.
서버 관리 모듈 (906) 은, 통신 미디어 트래픽, 사용자, 통신 서비스 및 (도 8 의 이동성 클라이언트 (816) 와 같은) 전자통신 디바이스를 관리 및/또는 모니터링하는 사용자 인터페이스를 제공하도록 구성될 수도 있다. 사용자 인터페이스는 웹-기반 인터페이스를 포함할 수도 있다.
데이터베이스 (DB) 매니저 모듈 (908) 은, 데이터를 저장하고 그리고/또는 데이터를 검색하면서 이동성 서버 (818) 에 의해 액세스되는 하나 이상의 데이터베이스를 관리하도록 구성될 수도 있다. 일 예로, 이동성 서버 (818) 는, 어떠한 이동성 클라이언트가 내향 콘택트 번호와 관련될 수도 있는지 여부를 결정하기 위해, 데이터베이스 (908) 를 이용하여, 전자통신 요청 내의 콘택트 번호를 콘택트 번호의 리스트와 비교할 수도 있다. 또한, DB 매니저 모듈 (908) 은, 예를 들어, 데이터 백업, 데이터 복원 및 데이터베이스 업데이트와 같은 다른 데이터베이스 관리 작업을 수행할 수도 있다.
폴리시 매니저 모듈 (910) 은 회사 (800) 에 의해 정의되는 폴리시를 강화하도록 구성될 수도 있다. 폴리시는, 전자통신 세션 특권, 로밍 능력, 통신 서비 스 특성의 가용성 등을 포함할 수도 있지만, 이에 한정되는 것은 아니다.
프레즌스 매니저 서버 모듈 (912) 은, 이동성 매니저 서버 모듈 (922) 및/또는 도 8 의 이동성 클라이언트 (816) 와 같은 이동성 클라이언트로부터 사용자의 프레즌스 상태를 수신 및 저장하도록 구성될 수도 있다. 사용자 프레즌스 상태의 예로는, 온라인, 휴지, 비지, 오프라인, 수신중, 텍스트 전용, 음성 전용, 음성 메시지 전용 등이 포함될 수도 있지만, 이에 한정되는 것은 아니다. 사용자의 프레즌스 상태는 다른 사람이 볼 수도 있다. 사용자의 프레즌스 상태는 내향 전자통신 요청에 참가하려는 의도를 확립하는데 이용될 수도 있다. 따라서, 사용자의 프레즌스 상태는, 도 8 의 이동성 클라이언트 (816) 와 또 다른 전자통신 디바이스 사이에 전자통신 세션을 확립할지 여부를 결정하기 위해, 호출 제어 서버 모듈 (920) 에 의해 이용될 수도 있다.
PP 서버 모듈 (914) 은 (이동성 서버 (818) 에 대해 외부에 존재할 수도 있는) 애플리케이션 서버 (904) 와의 상호작용 및 서로 다른 플랫폼들을 통한 고유 데이터 애플리케이션의 해석을 위한 프록시 프로토콜 소프트웨어를 나타낼 수도 있다. 이러한 고유 데이터 애플리케이션의 예로는 이메일 및 인스턴트 메시징과 같은 비-음성 애플리케이션이 포함될 수도 있다.
PBX I/F 모듈 (918) 또는 PBX 인터페이스 모듈 (918) 은 PBX (810) 와의 인터페이스를 위해 이동성 서버 (818) 를 인에이블하도록 구성될 수도 있다.
호출 제어 서버 모듈 (920) 은 데이터 통신 확립 (예를 들어, 음성 호출 또는 오디오/비디오/정보 스트리밍) 에 관련된 기능들을 책임지는 제어 평면 모듈일 수도 있다. 이 기능들에는, VoIP 호출 프로세싱, 세션 개시 프로토콜 (SIP; session initiation protocol) 프록시 서버 및 백-투-백 SIP 사용자 에이전트 (B2BUA), PSTN 게이트웨이를 통한 PSTN 호출 관리, PBX 특성 관리, 및 리소스 및 접속 관리가 포함될 수도 있지만, 이에 한정되는 것은 아니다.
이동성 매니저 서버 모듈 (922) 은, 전자통신 세션이 확립된 경우, (도 8 에 도시된) 이동성 클라이언트 (816) 와 같은 이동성 클라이언트로부터의 접속성 정보를 수신 및 저장하도록 구성될 수도 있다. 접속성 정보는 이동성 클라이언트에 의해 수신된 신호의 강도를 포함할 수도 있다. 접속성 정보는 이동성 클라이언트에 접속하는 시점 및 방법을 결정하는데 이용될 수도 있다. 또한, 이동성 매니저 서버 모듈 (922) 은 이동성 클라이언트로 하여금 핸드오프를 수행하게 할지 여부를 결정하기 위한 이동성 로직을 유지할 수도 있다.
리소스 매니저 모듈 (924) 은, 데이터 통신 (예를 들어, 음성 호출 또는 오디오/비디오/정보 스트리밍) 을 확립하기에 충분한 리소스가 존재하는지 여부를 결정하기 위해, 미디어 서버 및 음성 품질 엔진 모듈 (934) 과 통신하도록 구성될 수도 있다. 또한, 리소스 매니저 모듈 (924) 은 미디어 서버 및 음성 품질 엔진 모듈 (934) 로부터 수신된 전자통신 세션의 품질에 대한 상태 데이터를 이동성 매니저 서버 모듈 (922) 에 포워딩할 수도 있다.
DP/DX 서버 모듈 (926) 은 도 8 의 이동성 클라이언트 (816) 와 이동성 서버 (818) 사이에서의 보안 통신을 위한 데이터 프로토콜/데이터 트랜잭션 기능을 나타낼 수도 있다. 예를 들어, 보안 통신은 도 8 의 이동성 클라이언트 (816) 로부 터 사용자의 프레즌스 상태 및 네트워크 접속성 정보를, 각각 서버 프레즌스 매니저 서버 모듈 (912) 및 이동성 매니저 서버 모듈 (922) 에 송신하는 것을 포함할 수도 있다. 또한, 보안 통신은 이동성 클라이언트의 등록 정보, 통신 상태, 핸드오프 신호 등의 송신을 포함할 수도 있다.
SIP 서버 모듈 (930) 은 프로토콜 메시지 디코딩/인코딩 엔진을 나타낼 수도 있다. 또한, SIP 서버 모듈 (930) 은, 예를 들어, 표준 기반 메시지 파싱 및 유효화, 재송신, 사설 메시지 유효화 등과 같은 기본적 프로토콜 특정 작업을 수행할 수도 있다.
소켓 서버 모듈 (932) 은 다양한 모듈들 사이에서 통신하는 인터페이스를 제공할 수도 있으며, 통상적으로, 이동성 서버 (818) 가 실행될 수도 있는 운영 시스템의 일부이다. 도 9 에서, 소켓 서버 모듈 (932) 위에 도시된 서버 기능성 모듈들은 시그널링을 위해 구성될 수도 있고; 소켓 서버 모듈 (932) 아래에 도시된 서버 기능성 모듈, 즉, 미디어 서버 및 음성 품질 엔진 모듈 (934) 은 음성 및 데이터 트래픽을 관리하기 위해 구성될 수도 있다.
미디어 서버 및 음성 품질 엔진 모듈 (934) 은 IP 패킷 (예를 들어, 음성 패킷) 을 모니터링 및 조작하고, 데이터 (예를 들어, 음성) 를 디코딩 및 인코딩하고, 데이터의 보안 송신을 암호화 및 해독하도록 구성될 수도 있다. 일 실시형태에서, 미디어 서버 및 음성 품질 엔진 모듈 (934) 은 독립형 하드웨어 상에서 구현될 수도 있다. 또한, 일 실시형태에서, 미디어 서버 및 음성 품질 엔진 모듈 (934) 은 다수의 연속적 IP 패킷의 도달의 부족에 기초하여, 셀룰러 네트워크로의 임박한 핸드오프를 검출하도록 구성될 수도 있다.
일 실시형태에서, 미디어 서버 및 음성 품질 엔진 모듈 (934) 은 트랜스코더를 포함할 수도 있다. 여기서 설명되는 바와 같이, 트랜스코더는, 데이터 패킷을 상이한 미디어 데이터 포맷들 (예를 들어, GSM, G.711, G.729 등) 로 인코딩 및/또는 디코딩할 수 있는 소프트웨어를 지칭한다. 종래 기술에서, 트랜스코딩은 캐리어 관리형 게이트웨어 또는 전자통신 디바이스에 의해 수행될 수도 있다. 트랜스코딩이 캐리어 관리형 게이트웨이에 의해 수행되면, 네트워크 리소스의 비효율적인 사용이 존재할 수도 있다. 일 예로, IP 네트워크 (예를 들어, Wi-Fi) 에서 전자통신 디바이스로 전송되는 셀룰러 데이터 패킷 (예를 들어, GSM) 은 먼저 IP 인에이블 포맷 (예를 들어, G.711) 으로 변환되어야 할 수도 있다. G.711 포맷 파일은 낮은 압출률의 파일이기 때문에, G.711 포맷 파일은 더 넓은 대역폭을 요구할 수도 있다. 트랜스코딩 능력을 갖도록 요구되는 전자통신 디바이스에 의해 트랜스코딩이 수행되면, 전자통신 디바이스의 사용은 구성 요구사항에 의해 부담이 될 수도 있다.
그러나, 트랜스코더를 미디어 서버 및 음성 품질 엔진 모듈 (934) 에 통합함으로써, 통신은 미디어 데이터 포맷에 의해 한정되지 않는다. 그 대신, 이동성 서버는 서로 다른 미디어 데이터 포맷을 수용할 수도 있고, 그 데이터 포맷을, 전자통신 디바이스에 의해 수용가능할 수도 있는 포맷으로 변환할 수도 있다. 그 결과, 네트워크 리소스의 효율적인 이용을 도모하기 위해, 높은 압축률의 데이터 포맷이 더 광범위하게 이용될 수도 있다. 또한, 트랜스코딩의 부담은 더 이상 전자통신 디바이스의 책임이 아니게 된다.
도 8 을 다시 참조하면, 이동성 클라이언트 (816) 는, 일 실시형태에서, 복수의 클라이언트 기능성 모듈들을 포함할 수도 있는 이동성 클라이언트 애플리케이션을 포함할 수도 있다. 이동성 클라이언트 애플리케이션은, 이동성 클라이언트 (816) 가 자신의 전자통신 요구를 관리할 수 있도록 이동성 클라이언트 (816) 에 다운로드될 수도 있다. 이동성 클라이언트 애플리케이션은, 예를 들어, 인터넷 또는 광 저장 미디어와 같은 주지의 미디어를 통해 이동성 클라이언트 (816) 의 사용자에 의해 이동성 클라이언트 (816) 에 다운로드될 수도 있다. 또한, 이동성 클라이언트 애플리케이션은, 이동성 클라이언트 (816) 의 사용자의 전자통신 요구를 충족시킬 환경을 생성하기 위해, 이동성 클라이언트 (816) 가 이동성 서버 (818) 와 상호작용하게 할 수도 있다.
도 10 은, 본 발명의 하나 이상의 실시형태에 따라, 이동성 클라이언트 애플리케이션의 일부일 수도 있는 클라이언트 기능성 모듈들의 예를 도시한다. 이동성 클라이언트 (816) 는 디바이스 특정 모듈들 및 클라이언트 기능성 모듈들 모두를 포함할 수도 있다. 디바이스 특정 모듈들은, 이동성 클라이언트 (816) 의 운영 시스템에 의해 제공될 수도 있는 운영 시스템 기능성 모듈들이다. 운영 시스템 기능성 모듈들은, 소켓 클라이언트 모듈 (1004), TAPI (전화 애플리케이션 프로그래밍 인터페이스) 모듈 (1060), WLAN (무선 로컬 영역 네트워크) 매니저 모듈 (1006), 셀 데이터 매니저 모듈 (1008) 및 GUI (그래픽 사용자 인터페이스) 툴키트 모듈 (1010) 을 포함할 수도 있다. 클라이언트 기능성 모듈들은, 사용자 인터페이스 모듈 (1082), 네이티브 애플리케이션 (1094), 이동성 매니저 클라이언트 모듈 (1096), 호출 제어 클라이언트 모듈 (1098), 프레즌스 매니저 클라이언트 모듈 (1050), PP 클라이언트 모듈 (1052), DP/DX 클라이언트 모듈 (1054), 랩퍼 모듈 (1056), SIP 클라이언트 모듈 (1068), 음성 엔진 모듈 (1070) 및 XMPP (확장가능 메시징 및 프레즌스 프로토콜) 파서 모듈 (1072) 을 포함할 수도 있지만, 이에 한정되는 것은 아니다.
사용자 인터페이스 모듈 (1082) 은 사용자에게 디스플레이 특성 및 구성 옵션을 디스플레이하고 사용자 입력을 수신하도록 구성될 수 있다. 또한, 사용자 인터페이스 모듈 (1082) 은, 예를 들어, 이동성 매니저 클라이언트 모듈 (1096) 및 호출 제어 클라이언트 모듈 (1098) 과 같은 다른 클라이언트 기능성 모듈들과 상호작용하도록 구성될 수도 있다.
네이티브 애플리케이션 모듈 (1094) 은, 접속성을 이용할 수 있는 애플리케이션을 포함할 수도 있지만, 예를 들어, CRM 애플리케이션 또는 데이터베이스 클라이언트와 같이, 사용되는 접속성 방법에 무관할 것이 요구될 것이다.
이동성 매니저 클라이언트 모듈 (1096) 은, 핸드오프 판정을 위해, 신호 강도 데이터 및 다른 파라미터들과 같은 정보와의 현재의 접속성 상태를 수신하고 평가하도록 구성될 수도 있다. 핸드오프 판정을 위한 기준은, 이동성 클라이언트 (816) 가 이동성 서버 (818; 도 8 에 도시됨) 에 등록할 때, 이동성 매니저 클라이언트 모듈 (1096) 에서 수신되고 저장될 수도 있다. 이 기준은 신호 강도, 채널 로딩, 음성 품질 및/또는 데이터 송신 품질에 관련될 수도 있다.
호출 제어 클라이언트 모듈 (1098) 은 사용자 인터페이스 모듈 (1082) 과 상호작용하고, 이동성 클라이언트 (816) 의 외향 및 내향 데이터 (외향 및 내향 음성 호출을 포함함) 를 관리하도록 구성될 수도 있다. 외향 데이터에 대해, 사용자 인터페이스 모듈 (1082) 은 호출 제어 클라이언트 모듈 (1098) 에 명령들을 제공할 수도 있고, 그 후, 호출 제어 클라이언트 모듈 (1098) 은 외향 데이터를 개시하기 위해 다른 클라이언트 기능성 모듈들을 관리할 수도 있다. 내향 데이터에 대해, 호출 제어 클라이언트 모듈 (1098) 은 사용자 인터페이스 모듈 (1082) 로 하여금 이동성 클라이언트 (816) 의 사용자에게 그 내향 데이터를 통지하게 할 수도 있다. 이에 응답하여, 사용자 인터페이스 (1082) 를 통해, 사용자는 내향 호출을 픽업하거나 우회시키는 것과 같은 내향 데이터에 대한 명령들을 호출 제어 클라이언트 모듈 (1098) 에 제공할 수도 있다.
프레즌스 매니저 클라이언트 모듈 (1050) 은 사용자의 프레즌스 상태를 나타내도록 구성될 수도 있으며, 이동성 서버 (818; 도 8 에 도시됨) 의 프레즌스 매니저 서버 모듈 (912) 은 내향 호출을 관리하기 위해 이용될 수도 있다. 이동성 클라이언트 (816) 의 사용자는 사용자 인터페이스 모듈 (1082) 을 사용하여 사용자의 프레즌스 상태를 구성할 수도 있다. 사용자 프레즌스의 예로는, 온라인, 휴지, 비지, 오프라인, 수신중, 텍스트 전용, 음성 전용, 음성 메시지 전용 등이 포함될 수도 있지만, 이에 한정되는 것은 아니다.
PP 클라이언트 모듈 (1052) 은 이동성 서버 (818; 도 8 에 도시됨) 의 PP 서버 모듈 (914) 과 통신하는 프록시 프로토콜을 나타낼 수도 있다.
DP/DX 클라이언트 모듈 (1054) 은 이동성 서버 (818; 도 8 에 도시됨) 의 DP/DX 서버 모듈 (926) 과의 보안 통신을 위한 데이터 프로토콜/데이터 트랜잭션 기능을 나타낼 수도 있다.
랩퍼 모듈 (1056) 은, 전술한 이동성 클라이언트 (816) 의 클라이언트 기능성 모듈들이, 예를 들어, 전화 서비스를 위한 전화 애플리케이션 인터페이스 프로토콜 (1060; TAPI) 과 같은 운영 시스템 기능성 모듈들과 상호작용하게 할 수도 있는 애플리케이션 프로그래밍 인터페이스 (API) 일 수도 있다. 전술한 바와 같이, 운영 시스템 기능성 모듈들은, 이동성 클라이언트 (816) 의 운영 시스템에 미리 존재할 수도 있는 디바이스 특정 모듈들이다. 랩퍼 모듈 (1056) 은, 전술한 클라이언트 기능성 모듈들이 이동성 클라이언트 (816) 의 운영 시스템 (예를 들어, Windows®CE, Windows®Mobile, Linux® 또는 Symbian®) 에 따라 구현되게 할 수도 있다. 종래 기술과는 달리, 클라이언트 기능성 모듈들은 OSI 아키텍쳐의 애플리케이션층 상에 구현될 수도 있기 때문에 운영 시스템에 의존하지 않는다.
하나 이상의 실시형태에서, 가능한 클라이언트 기능성 모듈들은 SIP 클라이언트 모듈 (1068), 음성 엔진 모듈 (1070) 및 XMPP 파서 모듈 (1072) 중 하나 이상을 더 포함할 수도 있다.
SIP 클라이언트 모듈 (1068) 은, 도 8 의 이동성 클라이언트 (816) 와 이동성 서버 (818) 사이에서, 예를 들어, 초대, OK 및 확인응답 메시지와 같은 호출 시그널링을 위해, 이동성 서버 (818; 도 8 에 도시됨) 의 SIP 서버 모듈 (930) 과 상호작용하도록 구성될 수도 있다.
음성 엔진 모듈 (1070) 은 인코딩, 디코딩, 에코 상쇄, 지터 제어 및 에러 은닉 중 하나 이상을 제공하도록 구성될 수도 있다.
XMPP 파서 모듈 (1072) 은 메시징 서비스를 인에이블하도록 구성될 수도 있다.
도 8 을 다시 참조하면, 이동성 클라이언트 (816) 의 사용자가 전자통신 요청을 개시하는 경우 이동성 서버 (818) 에 의해 유사한 타입의 접속이 수행될 수도 있다. 먼저, 전자통신 요청은 Wi-Fi 네트워크 (814) 및 IP 네트워크 (812) 를 통해 이동성 서버 (818) 에 전송될 수도 있다. 이동성 서버 (818) 는 전자통신 요청을 하고 있는 사용자의 합법성을 먼저 확인할 수도 있다. 사용자가 등록된 사용자가 아니면, 이동성 서버 (818) 는 그 요청을 종료할 수도 있다. 사용자가 등록된 사용자이면, 이동성 서버 (818) 는 다음으로 콘택트 번호를 확인할 수도 있다. 콘택트 번호를 외부 번호로 식별하면, 이동성 서버 (818) 는 그 전자통신 요청을 PBX (810) 로 포워딩할 수도 있다. 그 요청을 수신하면, PBX (810) 는 외부 전화 (802) 의 사용자와 콘택트하기 위해 그 콘택트 번호를 요청 캐리어 네트워크 (860) 에 다이얼링할 수도 있다.
이 시나리오를 더 잘 설명하기 위해, 도 11 은, 일 실시형태에서, 이동성 클라이언트 (816) 에 의해 개시되는 전자통신 요청의 확립을 도시하는 단순한 호출 플로우를 도시한다. 도 11 을 도 8, 9 및 10 에 관련하여 설명한다.
제 1 단계 1100 에서는, 이동성 클라이언트 (816) 의 사용자가 SIP 초대를 이동성 서버 (818) 에 전송할 수도 있다. 일 실시형태에서, SIP 초대를 전송하 기 위해, 이동성 클라이언트 (816) 의 사용자는 사용자 인터페이스 모듈 (1082) 을 이용하여 외부 전화 (802) 에 대한 콘택트 번호를 입력할 수도 있다. 전자통신 요청이 입력되면, 호출 제어 클라이언트 모듈 (1098) 이 개시될 수도 있다. 호출 제어 클라이언트 모듈 (1098) 은, 이동성 서버 (818) 에 도달하기 위한 최상의 방법을 결정하기 위해 이동성 매니저 클라이언트 모듈 (1096) 과 상호작용할 수도 있다. 이동성 매니저 클라이언트 모듈 (1096) 은 사용자의 접속성 상태를 체크할 수도 있고, 그 접속이 행해질 수도 있는 네트워크를 결정할 수도 있다. 일 예로, 이동성 클라이언트 (816) 가 Wi-Fi 네트워크 (814) 를 통해 이동성 서버 (818) 에 등록되었기 때문에, 이동성 매니저 클라이언트 모듈 (1096) 은 등록 정보에 기초하여, 사용자가 현재 Wi-Fi 네트워크 상에 존재한다는 것 및 호출 제어 클라이언트 모듈 (1098) 이 Wi-Fi 접속을 요청할 수도 있다는 것을 결정할 수도 있다. 호출 제어 클라이언트 모듈 (1098) 은, SIP 를 통해 Wi-Fi 접속이 행해질 수도 있다는 것을 인식하기 때문에, 호출 제어 클라이언트 모듈 (1098) 은 랩퍼 모듈 (1056) 을 통해 SIP 클라이언트 (라이브러리)모듈 (1068) 에 액세스할 수도 있다. SIP 클라이언트 모듈 (1068) 은 소켓 클라이언트 모듈 (1004) 을 통해 SIP 초대를 이동성 서버 (818) 에 전송할 수도 있다.
이동성 클라이언트 (816) 의 사용자가 아직 등록되지 않은 것으로 이동성 매니저 (1096) 가 결정하면, 전자통신 요청은 랩퍼 모듈 (1056) 을 통해 TAPI 모듈 (1060) 에 전송될 수도 있다. 그 후, TAPI 모듈 (1060) 은 PBX (810) 에 도달하기 위해 셀룰러 네트워크 (862) 를 통해 전자통신 요청을 포워딩할 수도 있다. 그 후, PBX (810) 는 이동성 서버 (818) 에 도달하기 위해 IP 네트워크 (812) 를 통해 전자통신 요청을 포워딩할 수도 있다.
이동성 클라이언트 (816) 의 사용자가 회사 환경 내에 존재하면, 이동성 클라이언트 (816) 는 이동성 서버 (818) 에 자동으로 이미 등록되었을 수도 있다. 통상적으로, 이동성 클라이언트 (816) 가 등록되지 않은 상황은, 이동성 클라이언트 (816) 의 사용자가 회사 (800) 의 외부에 존재하면서 전자통신 세션이 요청된 경우에 발생할 수도 있다.
SIP 초대를 수신하면, 이동성 서버 (818) 는 콘택트 번호를 확인할 수도 있다. 콘택트 번호의 확인을 수행하기 위해, SIP 초대는 소켓 서버 모듈 (932) 및 SIP 서버 모듈 (930) 을 통해 호출 제어 서버 모듈 (920) 에 포워딩된다. 콘택트 번호를 수신하면, 호출 제어 서버 모듈 (920) 은, 그 호출을 지원하기 위해 충분한 네트워크 리소스 (예를 들어, 무선 주파수 리소스, 트래픽 채널 등) 가 존재하는지 여부를 확인하기 위해 이동성 서버 (818) 의 리소스 매니저 모듈 (924) 과 상호작용할 수도 있다.
또한, 호출 제어 서버 모듈 (920) 은, 콘택트 번호가 어떻게 조작되어야 하는지를 결정하기 위해 DB 매니저 모듈 (908) 을 체크할 수도 있다. DB 매니저 모듈 (908) 은, 외부 전화 (802) 와 관련된 콘택트 번호가 이동 서버 (818) 에 등록되지 않은 것으로 결정할 수도 있다.
도 11 을 다시 참조하면, 다음 단계 1102 에서는, 이동성 서버 (818) 의 호출 제어 서버 모듈 (920) 이 PBX 인터페이스 모듈 (918) 을 통해 PBX (810) 에 SIP 초대를 전송할 수도 있다. 이에 응답하여, 다음 단계 1104 에서는, PBX (810) 가 링 백 (ring back) 신호를 이동성 서버 (818) 에 전송할 수도 있고, 그 후, 이동성 서버 (818) 는, 다음 단계 1106 에서 사용자에게 링 백할 수 있도록 이 신호를 이동성 클라이언트 (816) 에 포워딩할 수도 있다.
또한, 다음 단계 1108 에서는, PBX (810) 가 SIP 초대를 다이얼링 요청으로 해석할 수도 있고, 캐리어 네트워크 (860) 에 도달하기 위해 외부 전화 (802) 와 관련된 콘택트 번호를 다이얼링할 수도 있다. 다음 단계 1110 에서는, 캐리어 네트워크 (860) 가 전자통신 요청을 외부 전화 (802) 에 포워딩하기 위해 스위칭을 수행할 수도 있다.
내향 전자통신 요청에 응답할 때, 외부 전화 (802) 의 사용자는 외부 전화를 픽업할 수도 있다. 다음 단계 1112 에서는, 외부 전화 (802) 가 픽업되었음을 나타내는 메시지를, 외부 전화 (802) 가 캐리어 네트워크 (860) 에 역으로 전송할 수도 있다.
캐리어 네트워크와 외부 전화 (802) 사이에 접속이 확립되면, 다음 단계 1114 에서는, 캐리어 네트워크 (860) 가 이 메시지를 PBX (810) 에 전송할 수도 있다. 그 후, PBX (810) 는 이 메시지를 SIP OK 메시지로 해석할 수도 있고, 다음 단계 1116 에서, 이 SIP OK 메시지를 PBX 인터페이스 모듈 (918) 을 통해 이동성 서버 (818) 의 호출 제어 서버 모듈 (920) 에 전송할 수도 있다. 이 SIP OK 메시지를 이동성 클라이언트 (816) 에 포워딩하기 전에, 호출 제어 서버 모듈 (920) 은 리소스 할당을 요청하기 위해 리소스 매니저 모듈 (924) 과 상호작용할 수도 있다. 리소스 매니저 모듈 (924) 은, 할당이 요구될 수도 있는 리소스의 양을 결정하기 위해, 이동성 서버 (818) 의 미디어 서버 및 음성 품질 엔진 모듈 (934) 과 상호작용할 수도 있다. 일 실시형태에서, 리소스 할당은 전자통신 세션 미디어 요구사항 (예를 들어, 텍스트, 음성, 비디오 등) 에 의존할 수도 있다.
다음 단계 1118 에서는, 이동성 서버 (818) 가 SIP OK 메시지를 이동성 클라이언트 (816) 에 포워딩할 수도 있다. 일 예로, 호출 제어 서버 모듈 (920) 은 SIP 서버 모듈 (930) 및 소켓 서버 모듈 (932) 을 통해 이 SIP OK 메시지를 이동성 클라이언트 (816) 에 포워딩할 수도 있다. 이동성 클라이언트 (816) 에서는, 수신된 SIP OK 메시지가 소켓 클라이언트 모듈 (1004) 로부터 SIP 클라이언트 모듈 (1068) 을 경유하여, 랩퍼 모듈 (1056) 을 통해 호출 제어 클라이언트 모듈 (1098) 로 흐를 수도 있다.
SIP OK 메시지를 수신하면, 다음 단계 1120 에서는, 이동성 클라이언트 (816) 의 호출 제어 클라이언트 모듈 (1098) 이 SIP 확인응답 (SIP ACK) 메시지를 이동성 서버 (818) 로 전송할 수도 있다. SIP ACK 메시지는 SIP 초대 메시지와 유사한 경로를 따라 전송될 수도 있다. 다음 단계 1122 에서는, 이동성 서버 (818) 의 호출 제어 서버 모듈 (920) 이 이 SIP ACK 메시지를 PBX (810) 에 전송할 수도 있다. 최종 단계 1124 에서는, 이동성 클라이언트 (816) 와 외부 전화 (802) 사이에 전자통신 세션이 확립될 수도 있다. 전자통신 세션은 2 개의 접속 (예를 들어, 레그 (1126) 및 레그 (1128)) 을 포함할 수도 있다. 레그 (1126) 는 캐리어 네트워크 (860), PBX (810) 및 IP 네트워크 (812) 를 통해 외부 전화 (802) 와 이동성 서버 (818) 사이에 존재할 수도 있다. 레그 (1128) 는 IP 네트워크 (812) 및 Wi-Fi 네트워크 (814) 를 통해 이동성 클라이언트 (816) 와 이동성 서버 (818) 사이에 존재할 수도 있다. 이 방법으로, 이동성 클라이언트 (816) 와 외부 전화 (802) 사이의 모든 전자통신 트래픽은 이동성 서버 (818) 에 의해 조작된다.
도 8 을 다시 참조하면, 전자통신 세션은 외부 전화 (802) 의 사용자와 이동성 클라이언트 (816) 의 사용자 사이에서 활성이다. 도 12 는, 본 발명의 하나 이상의 실시형태에 따라, 이동성 클라이언트 (816) 의 사용자가 Wi-Fi 네트워크 (814) 로부터 셀룰러 네트워크 (862) 로 로밍하는 로밍 시나리오의 일 예를 도시한다.
전자통신 세션 동안, 이동성 클라이언트 (816) 의 사용자는 (경로 (1202) 에 의해 도시된 바와 같이) 회사 (800) 로부터 멀어지도록 이동을 시작할 수도 있고, 이동성 클라이언트 (816) 의 사용자가 Wi-Fi 네트워크 (814) 로부터 멀리 이동할수록 신호 레벨 및 음성 품질은 열화되기 시작할 수도 있다. 또한, 이동성 클라이언트 (816) 의 사용자는, 셀룰러 네트워크 (862) 에 의해 지원되는 영역으로 로밍될 수도 있다.
전이 주기 동안, 이동성 서버 (818) 및 이동성 클라이언트 (816) 는 Wi-Fi 네트워크 (814) 로부터 수신된 신호 강도를 모니터링중일 수도 있다. 일 실시형태에서, 신호 레벨 품질은 이동성 클라이언트 (816) 내의 이동성 매니저 클라이언트 모듈 (1096) 에 의해 모니터링될 수도 있다. 이동성 매니저 클라이언트 모듈 (1096) 은, DP/DX 클라이언트 모듈 (1054) 및 DP/DX 서버 모듈 (926) 을 통해 데이터를 이동성 서버 (818) 내의 이동성 매니저 서버 모듈 (922) 로 전송함으로써, 신호 레벨 데이터를 계속하여 공유할 수도 있다. 신호 강도가 열화됨에 따라, 이동성 매니저 서버 모듈 (922) 및 이동성 매니저 클라이언트 모듈 (1096) 은, 새로운 네트워크 접속을 기대하기 위해, 각각 호출 제어 서버 모듈들 (920) 및 호출 제어 클라이언트 모듈들 (1098) 에 통지할 수도 있다. 일 예로, 이동성 클라이언트 (816) 와 셀룰러 네트워크 (862) 사이에서 새로운 접속이 확립될 수도 있다. 일 실시형태에서, 이동성 클라이언트 (816) 와 Wi-Fi 네트워크 (814) 사이의 현재의 접속은, 핸드오프가 발생할 때까지 일시적 시간 주기 동안 유지될 수도 있다.
Wi-Fi 네트워크 (814) 의 신호 강도가, 회사 (800) 에 의해 확립될 수도 있는 소정의 임계값 미만으로 열화되면, Wi-Fi 네트워크 (814) 와의 접속은 드롭될 수도 있고, 셀룰러 네트워크 (862) 는 주요 네트워크로서의 Wi-Fi 네트워크 (814) 를 대체할 수도 있다. 이제, 미디어 트래픽은 외부 전화 (802) 로부터 캐리어 네트워크 (860) 로 흐르고 (레그 (830)) 그 후 PBX (810) 로 흐를 수도 있다 (레그 (832)). 그 후, PBX (810) 는 IP 네트워크 (812) 를 통해 미디어 트래픽을 이동성 서버 (818) 로 포워딩할 수도 있다 (레그 (834)). 그 후, 이동성 서버 (818) 는 IP 네트워크 (812) 를 통해 미디어 트래픽을 PBX (810) 로 포워딩하고 (레그 (1204)), 그 후 캐리어 네트워크 (860) 로 포워딩할 수도 있다 (레그 (1206)). 캐리어 네트워크 (860) 로부터, 미디어 트래픽은 이동성 클라이언트 (816) 에 도달하기 위해 (레그 (1210)), 셀룰러 네트워크 (8620) 에 포워딩될 수도 있다 (레그 (1208)).
도 13 은, 본 발명의 일 실시형태에서, 도 12 의 로밍 시나리오에 대한 호출 플로우를 도시한다. 이동성 서버 (818) 를 통해, 외부 전화 (802) 와 이동성 클라이언트 (816) 사이에 확립된 접속 (1302) 이 존재할 수도 있다. 확립된 접속 (1302) 은 2 개의 레그 (1304 및 1306) 를 포함할 수도 있다. 레그 (1304) 는 외부 전화 (802) 와 이동성 서버 (818) 사이의 접속과 관련된다. 일 예로, 외부 전화 (802) 는 캐리어 네트워크 (860) 및 PBX (810) 를 통해 이동성 서버 (818) 에 접속될 수도 있다. 레그 (1306) 는 이동성 클라이언트 (816) 와 이동성 서버 (818) 사이의 접속과 관련될 수도 있다. 일 예로, 이동성 클라이언트 (816) 는 Wi-Fi 네트워크 (814) 를 통해 이동성 서버 (818) 에 접속될 수도 있다.
다음 단계 1308 에서는, 이동성 클라이언트 (816) 의 접속성 상태에 관한 데이터가 이동성 서버 (818) 에 계속하여 전달될 수도 있다. 이동성 클라이언트 (816) 의 사용자가 Wi-Fi 네트워크 (814) 로부터 멀어져 로밍을 시작함에 따라, 포인트 (1310) 에서는, 핸드오프에 대한 하나 이상의 기준이 충족되고, 이동성 클라이언트 (816) 와 이동성 서버 (818) 중 적어도 하나가, 핸드오프가 수행될 필요가 있음을 결정할 수도 있다. 하나 이상의 기준이 회사 (800) 에 의해 구성될 수도 있고, 이동성 클라이언트 (816) 및/또는 이동성 서버 (818) 에 저장될 수도 있다. 이 기준은 신호 강도, 채널 로딩 및/또는 통신 품질을 포함할 수도 있지만, 이에 한정되는 것은 아니다.
다음 단계 1312 에서는, 이동성 서버 (818) 가 PBX (810) 와의 접속을 셋업함으로써 핸드오프를 개시할 수도 있다. 또한, 핸드오프를 위한 준비에서, 이동성 서버 (818) 는 이동성 클라이언트 (816) 및 외부 전화 (802) 로부터의 내향 미디어 패킷을 버퍼링하기 시작할 수도 있다. 버퍼링은, 일방에 의해 수신되지 않고 있는 패킷의 예측시에 발생할 수도 있다. 전이 주기 동안, 확립된 접속 (1302) 의 레그 (1304 및 1306) 는 여전히 유지중이고, 미디어 패킷은 양방 (즉, 이동성 클라이언트 (816) 및 외부 전화 (802)) 에 여전히 전송중이다.
다음 단계 1314 에서는, 이동성 서버 (818) 가 SIP 초대 메시지를 PBX (810) 에 전송할 수도 있다. SIP 초대 메시지는, 이동성 클라이언트 (816) 와 관련된 셀룰러 번호를 포함한다. 다음 단계 1316 에서는, PBX (810) 가 SIP 초대 메시지를 셀룰러 네트워크 (862) 에 대한 셀룰러 호출로 해석할 수도 있다. 다음 단계 1318 에서는, PBX (810) 가 링 톤을 이동성 서버 (818) 에 역으로 전송할 수도 있다.
다음 단계 1320 에서는, 셀룰러 네트워크가 이동성 클라이언트 (816) 에 접속할 수도 있다. 이 포인트에서, 이동성 클라이언트 (816) 와 이동성 서버 (818) 사이에 2 개의 접속이 확립된다. 셀룰러 네트워크 (862) 를 통해 제 2 접속이 확립되었음을 이동성 서버 (818) 에 통지하기 위해, 일 실시형태에서, 이동성 클라이언트 (816) 는 각각의 네트워크 접속 (즉, 셀룰러 네트워크 및 Wi-Fi 네트워크) 을 통해 신호를 각각 전송할 수도 있다. 일 실시형태에서, 2 개의 신호는, 이동성 서버 (818) 가 적시에 스위칭하도록 그 요청을 수신하는 것을 보장하 기 위해 전송될 수도 있다. 일 예로, 이동성 클라이언트 (816) 는 Wi-Fi 접속을 통해 이동성 서버 (818) 로 제 1 신호를 전송하고 (경로 (1322)), 셀룰러 네트워크를 통해 제 2 신호를 이동성 서버 (818) 로 전송할 수도 있다 (경로 (1324)). 이에 응답하여, 이동성 서버 (818) 는 2 개 모두의 네트워크 접속을 통해 확인응답을 이동성 클라이언트 (816) 에 전송할 수도 있다.
일 실시형태에서, 이동성 서버 (818) 및/또는 이동성 클라이언트 (816) 중 어느 하나에 의해 새로운 셀룰러 접속으로의 스위칭이 수행될 수도 있다 (포인트 (1326)). 따라서, 이제, 이동성 클라이언트 (816) 와 외부 전화 (802) 사이의 접속은 Wi-Fi 네트워크 대신 셀룰러 네트워크를 통한다. 일 실시형태에서, 외부 전화 (802) 와 이동성 클라이언트 (816) 사이에 새로운 접속 (1328) 이 확립될 수도 있다. 새로운 접속 (1328) 은 기존의 레그 (1304), 및 셀룰러 네트워크 (862) 를 통해 새로 생성된 레그 (1330) 를 포함할 수도 있다. 새로운 접속 (1328) 이 확립된 후, 일 실시형태에서, 이동성 서버 (818) 는 이동성 클라이언트 (816) 를 Wi-Fi 네트워크 (814) 로부터 접속해제할 수도 있다. 또 다른 실시형태에서, 이동성 클라이언트 (816) 는, 새로운 접속 (1328) 이 확립중인 동안 Wi-Fi 네트워크 (814) 로부터 접속해제될 수도 있다.
도 12 및 13 은, Wi-Fi 네트워크로부터 셀룰러 네트워크로의 핸드오프가 이동성 클라이언트 (816) 의 사용자 및 외부 전화 (802) 의 사용자 모두에 대해 심리스하게 발생할 수도 있음을 도시한다. 이동성 클라이언트 (816) 의 사용자를 더 양호한 접속으로 스위칭하는 것이 발생중일 수도 있는 복잡한 단계들에도 불구 하고, 이동성 클라이언트 (816) 의 사용자는, 새로운 접속이 행해지고 있음을 사용자에게 통지하기 위해 이동성 클라이언트 (816) 가 사용자 인터페이스 모듈 (1082) 상에 메시지를 디스플레이하는 경우에만 네트워크 변경을 인식할 수도 있다. 모든 일반적인 목적을 위해, Wi-Fi 네트워크로부터 셀룰러 네트워크로의 스위칭은, 호출중인 양자의 전자통신 경험에 부정적 영향을 미치지 않는 심리스한 전이이다.
유사하게, 도 14a 및 14b 에 도시된 바와 같이, 이동성 클라이언트 (816) 의 사용자가 셀룰러 네트워크로부터 Wi-Fi 네트워크 (814) 로 역으로 로밍하는 경우에 스위칭이 발생할 수도 있다.
도 14a 는, 본 발명의 하나 이상의 실시형태에 따라, 이동성 클라이언트 (816) 의 사용자가 셀룰러 네트워크 (862) 로부터 Wi-Fi 네트워크 (814) 로 로밍하는 호출 로밍 시나리오의 일 예이다. 예를 들어, 현재 셀룰러 네트워크 (862) 를 경유하여 (PBX (810) 를 통해) 외부 전화 (802) 와 통신중인 도 12 의 이동성 클라이언트 (816) 가 회사의 Wi-Fi 네트워크 (814) 로 역으로 로밍하는 상황을 고려한다 (경로 (1490)). 이동성 클라이언트 (816) 가 셀룰러 네트워크 (862) 로부터 Wi-Fi 네트워크 (814) 로 로밍함에 따라, 이동성 클라이언트 (816) 는 Wi-Fi 네트워크 (814) 를 통해 이동성 서버 (818) 에 등록을 시작할 수도 있다. 등록 패킷은 이동성 서버 (818) 에 도달하기 위해 IP 네트워크 (812) 를 통해 Wi-Fi 네트워크 (814) 를 경유하여 이동성 클라이언트 (816) 로부터 전송될 수도 있다.
등록이 완료되고, 핸드오프를 위한 하나 이상의 기준 (예를 들어, 신호 강도, 채널 로딩 및/또는 통신 품질) 이 충족되면, 핸드오프가 시작될 수도 있다. 이동성 클라이언트 (816) 는 자신의 준비 상태를 나타내는 2 개의 신호를 이동성 서버 (818) 에 전송할 수도 있다. 전술한 바와 같이, 이동성 서버 (818) 가 이 신호를 적시에 수신하는 것을 보장하기 위해, 신호는 각각의 가용 네트워크를 통해 전송된다.
신호들 중 하나를 수신하면, 이동성 서버 (818) 는 이동성 클라이언트를 Wi-Fi 네트워크 (814) 로 스위칭할 수도 있다. 또 다른 실시형태에서는, 이동성 클라이언트 (816) 가 스위칭을 수행하고, 그 후 이동성 서버 (818) 에 통지할 수도 있다.
Wi-Fi 네트워크 (814) 를 통해 이동성 클라이언트 (816) 와 이동성 서버 (818) 사이에 접속이 확립되면, 셀룰러 네트워크는 접속해제될 수도 있다. 일 실시형태에서, 이동성 서버 (818) 는 접속해제 메시지를 PBX (810) 에 전송할 수도 있다. 그 후, PBX (810) 는 접속을 종료시키기 위해 셀룰러 네트워크 (862) 에 커맨드를 전송할 수도 있다.
이제, 미디어 트래픽은 외부 전화 (802) 로부터 캐리어 네트워크 (860) 로 흐르고 (레그 (830)), 그 후 PBX (810) 로 흐를 수도 있다 (레그 (832)). 그 후, PBX (810) 는 IP 네트워크 (812) 를 통해 이동성 서버 (818) 에 미디어 트래픽을 포워딩할 수도 있다 (레그 (834)). 그 후, 이동성 서버 (818) 는 IP 네트워크 (812) 를 통해 미디어 트래픽을 Wi-Fi 네트워크 (814) 를 경유하여 이동성 클라이언트 (816) 로 포워딩할 수도 있다 (레그 (1492)).
도 14b 는, 본 발명의 일 실시형태에서, 발생할 수도 있는 핸드오프를 위한 단계들을 제공하는 호출 플로우를 도시한다. 이동성 서버 (818) 를 통해 외부 전화 (802) 와 이동성 클라이언트 (816) 사이에 확립된 접속 (1402) 이 존재할 수도 있다. 확립된 접속 (1402) 은 2 개의 레그 (1404 및 1406) 를 포함할 수도 있다. 레그 (1404) 는 외부 전화 (802) 와 이동성 서버 (818) 사이의 접속과 관련된다. 일 예로, 외부 전화 (802) 는 캐리어 네트워크 (860) 및 PBX (810) 를 통해 이동성 서버 (818) 에 접속될 수도 있다. 레그 (1406) 는 이동성 클라이언트 (816) 와 이동성 서버 (818) 사이의 접속과 관련될 수도 있다. 일 예로, 이동성 클라이언트 (816) 는 셀룰러 네트워크 (862) 와 PBX (810) 를 통해 이동성 서버 (818) 에 접속될 수도 있다.
이동성 클라이언트 (816) 의 사용자는 셀룰러 네트워크로부터 회사 (800) 내의 Wi-Fi 네트워크 (예를 들어, Wi-Fi 네트워크 (814)) 로 역으로 로밍될 수도 있다. 다음 단계 1408 에서는, 이동성 클라이언트 (816) 가 Wi-Fi 네트워크 (814) 를 통해 이동성 서버 (818) 에 등록될 수도 있다. 등록 프로세스 동안, 보안을 위해 이동성 클라이언트 (816) 의 인증 (사용자 아이덴터티를 포함함) 이 수행될 수도 있다. 또한, 핸드오프 수행을 위한 정보가 이동성 클라이언트 (816) 와 이동성 서버 (818) 사이에 교환될 수도 있다.
다음 단계 1410 에서는, 핸드오프를 위한 하나 이상의 기준이 충족되고, 이동성 클라이언트 (816) 및 이동성 서버 (818) 중 적어도 하나가, 핸드오프가 수행될 필요가 있음을 결정할 수도 있다. 전술한 바와 같이, 하나 이상의 기준 (예를 들어, 신호 강도, 채널 로딩 및/또는 통신 품질) 은 회사 (800) 에 의해 구성될 수도 있고, 이동성 클라이언트 (816) 및/또는 이동성 서버 (818) 내에 저장될 수도 있다.
다음 단계 1412 에서는, 이동성 서버 (818) 및 이동성 클라이언트 (816) 중 적어도 하나가, 이동성 클라이언트 (816) 의 사용자와 외부 전화 (802) 의 사용자 사이의 현재의 전자통신 세션이 셀룰러 네트워크 (862) 와의 접속 대신 Wi-Fi 네트워크 (814) 를 통해 최상으로 계속될 수도 있음을 결정할 수도 있다.
다음 단계 1414 에서는, 이동성 서버 (818) 가 이동성 클라이언트 (816) 에 SIP 초대 메시지를 전송할 수도 있다. 이에 응답하여, 다음 단계 1416 에서는, 이동성 클라이언트 (816) 가 이동성 서버 (818) 에 SIP OK 메시지를 역으로 전송할 수도 있다.
다음 단계 1418 에서는, 핸드오프가 완료될 수 있도록, 이동성 서버 (818) 및 이동성 클라이언트 (816) 중 적어도 하나가 셀룰러 네트워크 (862) 로부터 Wi-Fi 네트워크 (814) 로의 스위칭을 실행할 수도 있다. 따라서, Wi-Fi 네트워크 (814) 를 통해 이동성 클라이언트 (816) 와 이동성 서버 (818) 사이의 접속 (1420) 이 확립될 수도 있다.
다음 단계 1422 에서는, 이동성 서버 (818) 가, 셀룰러 네트워크 (862) 와 이동성 클라이언트 (816) 사이의 접속을 드롭하기 위해 셀룰러 네트워크 (862) 에 접속해제 메시지를 전송할 수도 있다. 일 실시형태에서, 이동성 서버 (818) 는 접속해제 메시지를 PBX (810) 에 전송할 수도 있다. PBX (810) 는 접속해제 메시지를 해석할 수도 있고, 셀룰러 접속 (1406) 을 중단하기 위해 셀룰러 네트워크 (862) 에 커맨드를 전송할 수도 있다.
로밍 전이가 완료된 후, 외부 전화 (802) 와 이동성 클라이언트 (816) 사이에 접속 (1424) 이 확립될 수도 있다. 도시된 바와 같이, 접속 (1424) 은 레그 (1404) 및 레그 (1424) 를 포함한다. 전술한 바와 같이, 레그 (1404) 는 외부 전화 (802) 와 이동성 서버 (818) 사이의 레그이다. 발생할 수도 있는 로밍에도 불구하고, 레그 (1404) 는 영향받지 않는다. 레그 (1424) 에 관하여, 이 레그는 레그 (1406) 를 대체하고, Wi-Fi 네트워크 (814) 를 통한 이동성 클라이언트 (816) 와 이동성 서버 (818) 사이의 새로운 접속을 나타낸다.
유사하게, 도 15a 및 15b 에 도시된 바와 같이, 이동성 클라이언트 (816) 의 사용자가 셀룰러 네트워크로부터 핫스팟 Wi-Fi 환경 (예를 들어, 커피숍) 으로 로밍하는 경우 스위칭이 발생할 수도 있다.
도 15a 는, 본 발명의 하나 이상의 실시형태에 따라, 이동성 클라이언트 (816) 의 사용자가 셀룰러 네트워크 (862) 로부터 핫스팟 Wi-Fi 네트워크 (1502) 로 로밍하는 호출 로밍 시나리오의 일 예를 도시한다.
예를 들어, 현재, 셀룰러 네트워크 (862) 를 통해 외부 전화 (802) 와 통신중인 도 12 의 이동성 클라이언트 (816) 가 핫스팟 Wi-Fi (1502) 로 로밍한 상황 (경로 (1504)) 을 고려한다. 이동성 클라이언트 (816) 가 셀룰러 네트워크 (862) 로부터 Wi-Fi 네트워크 (1506) 로 로밍함에 따라, 이동성 클라이언트 (816) 는 Wi-Fi 네트워크 (1506) 를 통해 이동성 서버 (818) 에 등록을 시작할 수도 있다. 등록 패킷은, 이동성 서버 (818) 에 도달하기 위해, 이동성 클라이언트 (816) 로부터 Wi-Fi 네트워크 (1506) 를 경유하여 인터넷 (850), 방화벽 (820) 및 IP 네트워크 (812) 를 통해 전송될 수도 있다.
등록이 완료되고, 핸드오프를 위한 하나 이상의 기준 (예를 들어, 신호 강도, 채널 로딩, 및/또는 통신 품질) 이 충족되면, 핸드오프가 시작될 수도 있다. 이동성 클라이언트 (816) 는 자신의 준비 상태를 나타내는 2 개의 신호를 이동성 서버 (818) 에 전송할 수도 있다. 전술한 바와 같이, 이동성 서버 (818) 가 이 신호를 적시에 수신하는 것을 보장하기 위해, 신호는 가용 네트워크를 통해 각각 전송된다.
신호들 중 하나를 수신하면, 이동성 서버 (818) 는 이동성 클라이언트를 Wi-Fi 네트워크 (1506) 로 스위칭할 수도 있다. 또 다른 실시형태에서는, 이동성 클라이언트 (816) 가 이 스위칭을 수행하고, 그 후, 이동성 서버 (818) 에 통지할 수도 있다.
Wi-Fi 네트워크 (1506) 를 통해 이동성 클라이언트 (816) 와 이동성 서버 (818) 사이에 접속이 확립되면, 셀룰러 접속은 접속해제될 수도 있다. 일 실시형태에서, 이동성 서버 (818) 는 PBX (810) 에 접속해제 메시지를 전송할 수도 있다. PBX (810) 는 접속을 종료시키기 위해 셀룰러 네트워크 (862) 에 커맨드를 전송할 수도 있다.
이제, 미디어 트래픽은 외부 전화 (802) 로부터 캐리어 네트워크 (860) 로 흐르고 (레그 (830)), 그 후, PBX (810) 로 흐를 수도 있다 (레그 (832)). 그 후, PBX (810) 는 IP 네트워크 (812) 를 통해 이동성 서버 (818) 에 그 미디어 트 래픽을 포워딩할 수도 있다 (레그 (834)). 그 후, 이동성 서버 (818) 는 IP 네트워크 (812), 방화벽 (820), 인터넷 (850) 을 통해 Wi-Fi 네트워크 (1506) 를 경유하여 이동성 클라이언트 (816) 에 그 미디어 트래픽을 포워딩할 수도 있다 (레그 (1508)).
도 15b 는, 본 발명의 일 실시형태에서, 발생할 수도 있는 핸드오프에 대한 단계들을 제공하는 호출 플로우를 도시한다. 도 14b 와 유사하게, 이동성 서버 (818) 를 통해 외부 전화 (802) 와 이동성 클라이언트 (816) 사이에 확립된 접속 (1522) 이 존재할 수도 있다. 확립된 접속 (1522) 은 2 개의 레그 (1524) (즉, 외부 전화 (802) 와 이동성 서버 (818) 사이의 셀룰러 접속), 및 레그 (1526) (즉, 이동성 클라이언트 (816) 와 이동성 서버 (818) 사이의 셀룰러 접속) 를 포함할 수도 있다.
이동성 클라이언트 (816) 의 사용자가 Wi-Fi 네트워크 (1506) 로 로밍함에 따라, 다음 단계 1528 에서는, 이동성 클라이언트 (816) 가, 그 접속 포인트와 이동성 서버 (818) 사이에 FW (방화벽) 또는 NAT (네트워크 어드레스 해석) 디바이스가 존재하는지 여부를 식별할 것이다. 이 접속성 방법이 식별되면, Wi-Fi (1506) 를 통해 이동성 서버 (818) 에 등록될 수도 있다. 등록 및 인증이 수행된 후, 다음 단계 1530 에서는, 핸드오프를 위한 하나 이상의 기준 (예를 들어, 신호 강도, 채널 로딩 및/또는 통신 품질) 이 충족될 수도 있고, 이동성 클라이언트 (816) 및/또는 이동성 서버 (818) 에 의해 핸드오프가 결정될 수도 있다. 다음 단계 1532 에서는, 핸드오프가 시작될 수도 있다.
다음 단계 1534 에서는, 이동성 서버 (818) 가 IP 네트워크 (812), 방화벽 (820) 및 인터넷 (850) 을 통해, Wi-Fi 네트워크 (1506) 에 있는 이동성 클라이언트 (816) 에 SIP 초대 메시지를 전송할 수도 있다. 이에 응답하여, 다음 단계 1536 에서는, Wi-Fi 네트워크 (1506) 에 있는 이동성 클라이언트 (816) 가 IP 네트워크 (812), 방화벽 (820) 및 인터넷 (850) 을 통해 SIP OK 메시지를 이동성 서버 (818) 에 역으로 전송할 수도 있다.
다음 단계 1538 에서는, 핸드오프를 완료하고 Wi-Fi 네트워크 (1506) 를 통해 이동성 클라이언트 (816) 와 이동성 서버 (818) 사이에 접속 (1540) 을 확립하기 위해, 셀룰러 네트워크 (862) 로부터 Wi-Fi 네트워크 (1506) 로 미디어 트래픽을 이동시키는 스위칭이 실행될 수도 있다.
다음 단계 1542 에서는, 이동성 서버 (818) 가 접속해제 메시지를 PBX (810) 에 전송할 수도 있다. PBX (810) 는 이 접속해제 메시지를 해석할 수도 있고, 셀룰러 접속 (1526) 을 중단시키기 위해 셀룰러 네트워크 (862) 에 커맨드를 전송할 수도 있다.
로밍 전이가 완료된 후, 외부 전화 (802) 와 이동성 클라이언트 (816) 사이에 접속 (1544) 이 확립될 수도 있다. 도시된 바와 같이, 접속 (1544) 은 레그 (1524) (즉, 외부 전화 (802) 와 이동성 서버 (818) 사이의 레그) 및 레그 (1540) (즉, Wi-Fi (1506) 을 통한 이동성 클라이언트 (816) 와 이동성 서버 (818) 사이의 새로운 레그) 를 포함한다.
도 14a, 14b, 15a 및 15b 는, 무선 통신 시스템 솔루션을 이용하여, 회사 (800) 가, 더 비싼 셀룰러 네트워크로부터 더 저렴한 IP 네트워크 (예를 들어, Wi-Fi) 로의 핸드오프가 발생한 경우를 제어할 수도 있는 것을 도시한다. 종래 기술에서, 회사 (800) 는 스위칭을 위한 판정을 행하기 위해, 셀룰러 네트워크에 의존했을 수도 있다. 일반적으로 회사 (800) 는, 스위칭이 발생할 수도 있는 경우를 거의 또는 전혀 제어하지 못했다. 그 결과, 회사 (800) 는, 더 저렴한 네트워크로의 스위칭에 의해 발생할 수도 있었던 전체 비용 절약의 이점을 이용하는 기회를 갖지 못할 수도 있었다.
Wi-Fi 네트워크로부터 셀룰러 네트워크로의 스위칭과 유사하게, 셀룰러 네트워크로부터 Wi-Fi 네트워크로 발생할 수도 있는 핸드오프는 이동성 클라이언트 (816) 의 사용자 및 외부 전화 (802) 의 사용자에게 심리스하게 발생할 수도 있다. 접속이 열화될 수도 있는 이동성 클라이언트 (816) 의 사용자를, 더 저렴할 뿐만 아니라 이동성 클라이언트 (816) 와 외부 전화 (802) 사이의 전자통신 세션에서의 방해를 방지할 수도 있는 네트워크로 스위칭하기 위해 취해지는 단계들을, 어떠한 사용자도 인식하지 못할 수도 있다.
도 16a 는, 본 발명의 하나 이상의 실시형태에 따라, 2 개의 이동성 클라이언트들 사이의 호출 확립을 도시한다. 이동성 클라이언트 (816) 는 이동성 클라이언트 (1602) 와의 접속을 원할 수도 있다. 이동성 클라이언트 (816 및 1602) 모두는 회사 (800) 내에 위치된다. 이동성 클라이언트 (816) 로부터의 전자통신 요청은 Wi-Fi 네트워크 (814) 및 IP 네트워크 (812) 를 통해 이동성 서버 (818) 에 라우팅될 수도 있다 (레그 (1604)). 이동성 클라이언트 (816) 를 인 가한 후, 이동성 서버 (818) 는 전자통신 요청의 수신자 (이동성 클라이언트 (1602)) 가 등록된 디바이스인 것을 식별할 수도 있다. 그 후, 이동성 서버 (818) 는 이동성 클라이언트 (816) 와 이동성 클라이언트 (1602) 사이에 전자통신 세션을 확립하기 위해, IP 네트워크 (812) 및 Wi-Fi 네트워크 (1608) 을 통해 이동성 클라이언트 (1602) 에 전자통신 요청을 라우팅할 수도 있다 (레그 (1606)).
도 16b 는, 본 발명의 일 실시형태에서, 도 16a 에 대한 호출 플로우를 도시한다. 제 1 단계 1622 에서는, 이동성 클라이언트 (816) 가 Wi-Fi 네트워크 (814) 및 IP 네트워크 (812) 를 통해 이동성 서버 (818) 에 SIP 초대 메시지를 전송할 수도 있다.
일 실시형태에서, SIP 초대를 전송하기 위해, 이동성 클라이언트 (816) 의 사용자는 사용자 인터페이스 모듈 (1082) 을 이용하여 이동성 클라이언트 (1602) 에 대한 콘택트 번호를 입력할 수도 있다. 전자통신 요청이 입력되면, 호출 제어 클라이언트 모듈 (1098) 이 개시될 수도 있다.
호출 제어 클라이언트 모듈 (1098) 이, SIP 를 통해 Wi-Fi 접속이 행해질 수도 있음을 인식하기 때문에, 호출 제어 클라이언트 모듈 (1098) 은 랩퍼 모듈 (1056) 을 통해 SIP 클라이언트 모듈 (1068) 에 액세스할 수도 있다. SIP 클라이언트 모듈 (1068) 은 소켓 클라이언트 모듈 (1004) 을 통해 이동성 서버 (818) 에 SIP 초대를 전송할 수도 있다.
SIP 초대를 수신하면, 이동성 서버 (818) 는 콘택트 번호를 확인할 수도 있다. 콘택트 번호의 확인을 수행하기 위해, SIP 초대는 소켓 서버 모듈 (932) 및 SIP 서버 모듈 (930) 을 통해 호출 제어 서버 모듈 (920) 에 포워딩된다. SIP 초대를 수신하면, 호출 제어 서버 모듈 (920) 은, 전자통신 요청을 지원하기 위한 충분한 네트워크 리소스가 가용인지 여부를 확인하기 위해 이동성 서버 (818) 의 리소스 매니저 모듈 (924) 과 상호작용할 수도 있다. 수신자 또한 등록된 디바이스이기 때문에, 호출 제어 서버 모듈 (930) 은 이동성 클라이언트 (1602) 의 상태를 결정하기 위해 프레즌스 매니저 서버 모듈 (912) 을 체크할 수도 있다. 프레즌스 매니저 모듈을 체크함으로써 호출 제어 모듈 (930) 은 외향 전자통신 요청을 더 양호하게 지시할 수도 있다.
이동성 클라이언트 (1602) 의 사용자가 전자통신 요청을 수용중인 것으로 프레즌스 매니저 서버 모듈 (912) 이 나타내면, 다음 단계 1624 에서, 호출 제어 서버 모듈 (930) 은 Wi-Fi 네트워크 (1608) 및 IP 네트워크 (812) 를 통해 이동성 클라이언트에 그 호출을 향하게 할 수도 있다. 예를 들어, 이동성 클라이언트는 링잉할 수도 있다.
이동성 클라이언트 (1602) 에서, 수신된 SIP 초대 메시지는 소켓 클라이언트 모듈 (1004) 로부터 SIP 클라이언트 모듈 (1068) 로, 랩퍼 모듈 (1056) 을 통해 호출 제어 클라이언트 모듈 (1098) 로 흐를 수도 있다.
SIP 초대 메시지를 수신하면, 다음 단계 1626 에서, 이동성 클라이언트 (816) 의 호출 제어 클라이언트 모듈 (1098) 은 Wi-Fi 네트워크 (1608) 및 IP 네트워크 (812) 를 통해 이동성 서버 (818) 에 SIP OK 메시지를 전송함으로써 전자통신 요청을 수용할 수도 있다 (예를 들어, 전화 호출에 대해 응답할 수도 있다). 이동성 서버 (818) 에서, 수신된 SIP OK 메시지는 소켓 서버 모듈 (932) 로부터 SIP 서버 모듈 (930) 을 경유하여 호출 제어 서버 모듈 (920) 까지 흐를 수도 있다.
다음 단계 1628 에서는, 이동성 서버 (818) 가 Wi-Fi 네트워크 (814) 및 IP 네트워크 (812) 를 통해 이동성 클라이언트 (816) 에 SIP OK 메시지를 포워딩할 수도 있다. 이동성 클라이언트 (816) 에서, 수신된 SIP OK 메시지는 소켓 서버 모듈 (932) 로부터 SIP 서버 모듈 (930) 을 경유하여 호출 제어 서버 모듈 (920) 까지 흐를 수도 있다. 이에 응답하여, 다음 단계 1630 에서는, SIP OK 메시지의 수신을 확인응답하기 위해, Wi-Fi 네트워크 (814) 및 IP 네트워크 (812) 를 통한 이동성 클라이언트 (816) 가 SIP 확인응답 (SIP ACK) 메시지를 이동성 서버 (818) 에 전송할 수도 있다.
다음 단계 1632 에서는, 이동성 서버 (818) 가 Wi-Fi 네트워크 (1608) 및 IP 네트워크 (812) 를 통해 이동성 클라이언트 (1602) 에 SIP ACK 메시지를 포워딩할 수도 있다. SIP ACK 가 수신되면, 이동성 서버 (818) 는 새로운 접속 (1634) 을 형성하기 위해, 레그 (1636) (즉, Wi-Fi 네트워크 (814) 및 IP 네트워크 (812) 를 통한 이동성 클라이언트 (816) 와 이동성 서버 (818) 사이의 접속) 를 레그 (1638) (즉, Wi-Fi 네트워크 (1608) 및 IP 네트워크 (812) 를 통한 이동성 클라이언트 (1602) 와 이동성 서버 (818) 사이의 접속) 와 접속시킬 수도 있다.
일 실시형태에서, 미디어 트래픽의 이동시에 효율성을 증가시키기 위해, 트랜스코더가 이동성 서버에 통합될 수도 있다. 종래 기술에서, 트랜스코더는 캐 리어 관리형 게이트웨이에 의해 또는 전자통신 디바이스에 의해 수행될 수도 있다. 설명을 용이하게 하기 위해, 도 17 은 캐리어 관리형 게이트웨어 내의 종래의 트랜스코더의 블록도를 도시한다.
예를 들어, 셀룰러 전화가 이동성 클라이언트와 통신중일 수도 있는 상황을 고려한다. 셀룰러 전화 (1701) 가 셀룰러 네트워크 (162) 및 Wi-Fi 네트워크 (114) 를 통해 이동성 클라이언트 (116) 와 통신하는 경우, 미디어 데이터는 캐리어 관리형 게이트웨이 (1799) 의 트랜스코더 (1749) 에 의해 트랜스코딩될 수도 있다. 따라서, 셀룰러 전화 (1701) 및 이동성 클라이언트 (116) 모두가 미디어 데이터를 정확하게 인코딩 및/또는 디코딩할 수도 있도록, 셀룰러 전화 (1701) 는 셀룰러 네트워크 표준화 포맷 (예를 들어, 레그 (1771) 상의 GSM) 으로 미디어 데이터를 송신 및 수신할 수도 있고, 이동성 클라이언트 (116) 는 무선 LAN 표준 포맷 (예를 들어, 레그 (1791) 상의 G.711) 으로 미디어 데이터를 송신 및 수신할 수도 있다.
일반적으로 캐리어 관리형 게이트웨이 (1799) 는 캐리어 프레미스 (premise) 내에 (예를 들어, 프레미스 캐리어 네트워크 (160) 또는 셀룰러 네트워크 (162) 내에) 위치된다. 따라서, 캐리어 관리형 게이트웨이 (1799) 및 IP 네트워크 (112) 사이의 링크 (1789) 는 전반적 네트워크 리소스의 실질적 부분을 나타낼 수도 있다. 이와 같이, 링크 (1789) 의 효율적 사용은 중요할 수도 있다. 그러나, G.711 은 GSM 에 비해 낮은 압축률의 (즉, 큰 데이터 사이즈의) 트랜스코딩 표준이다. 캐리어 관리형 게이트웨이 (1799) 에 의해 수행되는 트랜스코딩, 및 링크 (1789) 상에서 송신되는 G.711 포맷의 미디어 데이터로 인해, 링크 (1789) 는 비효율적으로 이용될 수도 있다.
예를 들어, IP 통신 디바이스가 이동성 클라이언트와 통신중일 수도 있는 또 다른 상황을 고려한다. IP 디바이스 (1703) 가 인터넷 (150), IP 네트워크 (112) 및 Wi-Fi 네트워크 (114) 를 통해 이동성 클라이언트 (116) 과 통신하는 경우, IP 디바이스 (1703) 는, 좁은 대역폭의 G.729 포맷을 이용할 능력을 갖는 경우에도, 일반적으로 G.711 포맷을 이용하는 무선 LAN 이동성 클라이언트 (116) 와 통신하기 위해 넓은 대역폭의 G.711 포맷을 사용해야 할 수도 있다. 즉, IP 디바이스가 이동 디바이스와 통신하기 위해, 그 IP 디바이스로부터 전송되는 미디어 패킷은, 이동 디바이스에 수용될 수 있는 표준 (예를 들어, G.711) 이어야 한다. 따라서, IP 디바이스가 고압축 포맷으로 미디어 패킷을 송신할 수 있는 경우에도, IP 디바이스는, 고압축 파일을 수신할 수 없는 이동 디바이스 때문에, 그 능력을 이용할 수 없다. 그 결과, IP 디바이스 (1703) 와 이동성 클라이언트 (116) 사이에서 미디어 패킷을 송신하기 위해 더 많은 대역폭이 요구될 수도 있다.
또한, IP 디바이스 (1703) 가 저압축 포맷 (예를 들어, G.711) 으로 미디어 패킷을 전송하기 위한 요구사항은, 트랜스코더 (1743) 가 트랜스코딩을 정확하게 수행할 수 있도록 IP 디바이스 (1703) 의 사용자가 그 트랜스코더 (1743) 를 구성할 것을 요구할 수도 있다. 이것은, 그 사용자가 특히 "기술 전문가"가 아니라면 그 사용자에게 불편을 초래할 수도 있다. 또한, IP 디바이스 (1703) 가 트랜스코딩을 수행할 수 없다면, IP 디바이스 (1703) 는 이동성 클라이언트 (116) 과 통신하지 못할 수도 있다.
트랜스코더를 캐리어 관리형 게이트웨이 및/또는 전자통신 디바이스의 내부에 배치하는 종래의 방법은, 구입할 수 있는 전자통신 디바이스의 타입을 한정할 수도 있다. 또한, 데이터 패킷을 저압축 포맷으로 라우팅하는 것은 네트워크 트래픽에 부담을 유발하여, 더 많은 비용, 및 심지어 더 느린 트래픽을 초래할 수도 있다.
일 실시형태에서, 트랜스코더는 다수의 미디어 데이터 포맷 타입을 조작하도록 회사 내에 (예를 들어, 이동성 서버에) 배치될 수도 있다. 도 18 은, 일 실시형태에서, 트랜스코딩을 위한 일 구성을 도시하는 블록도이다.
트랜스코더 (1858) 는 이동성 서버 (118) 의 미디어 서버 및 음성 품질 엔진 (934) 에서 구현될 수도 있다. 따라서, 셀룰러 전화 (1701) 와 이동성 클라이언트 (116) 사이의 통신은 GSM 포맷의 레그 (1872) 및 G.711 포맷의 레그 (1892) 에 의해 표현될 수도 있으며, 트랜스코딩은 트랜스코더 (1858) 에 의해 수행된다. 이와 같이, 링크 (1789) 상에서 송신되는 미디어 데이터는, G.711 과 같은 저압축 포맷 대신에 GSM 과 같은 고압축 포맷일 수도 있다. 그 결과, 네트워크 리소스는 더 효율적으로 사용될 수도 있다.
또한, IP 디바이스 (1703) 과 이동성 클라이언트 (116) 사이의 통신은 G.729 포맷의 레그 (1882) 및 G.711 포맷의 레그 (1892) 에 의해 표현될 수도 있고, 트랜스코딩은 트랜스코더 (1858) 에 의해 수행된다. 이와 같이, IP 디바이스 (1703) 의 사용자는 고압축 미디어 패킷을 전송하여, 이용될 대역폭을 더 저렴하게 할 수도 있다. 따라서, IP 디바이스 (1703) 의 사용자는 더 이상 자신의 전자통신 디바이스가 트랜스코딩을 수행하도록 구성할 필요가 없을 수도 있다. 그 결과, 구매할 전자통신 디바이스의 타입은 더 이상 트랜스코딩 능력을 갖는 전자통신 디바이스들에만 한정되지 않는다.
전술한 설명으로부터 인식할 수 있는 바와 같이, 본 발명의 하나 이상의 실시형태들은, 그 인프라구조 요구를 충족시키기 위해 회사에 의해 관리될 수 있는 다중 네트워크 구성을 이용하는 무선 통신 시스템을 제공한다. 또한, 이 무선 통신 시스템은, 통신 폴리시를 생성, 구현, 관리 및 강화하는 융통성을 회사에 제공한다. 또한, 이 무선 통신 시스템은 운영 시스템, 브랜드 및/또는 모델과의 독립성에 의해, 장비 (예를 들어, 네트워크 장비 및 전자통신 디바이스) 의 변경에 관련된 비용을 감소시킨다. 또한, 이 무선 통신 시스템에 의해, 회사는, 더 저렴한 비용의 네트워크를 사용할 수 있는 경우 그 더 저렴한 비용의 네트워크를 이용하도록 이동성 서버를 설계할 수도 있기 때문에, 추가적인 비용 절약이 가능하다.
하나 이상의 실시형태들은 다수의 이동/무선 네트워크들 사이에서 심리스한 로밍 및 평활한 핸드오프를 가능하게 할 수도 있다. 따라서, 회사의 고용인은 실질적으로 유비쿼터스한 접속성 및 접근성을 가질 수도 있다. 그 결과, 회사는 고객 만족도를 개선하고 비즈니스 기회의 손실을 회피할 수도 있다.
하나 이상의 실시형태들은, 운영 시스템 및 하드웨어와는 독립적으로 구현되는 이동성 서버 소프트웨어 및 클라이언트 소프트웨어를 제공할 수도 있다. 따 라서, 캐리어를 스위칭하고 통신 구성을 변경하는 비용이 최소화될 수도 있다.
또한, 하나 이상의 실시형태들은, 가상 사설 네트워크를 통해 접속되고, 예를 들어, 다수의 인터네셔널 사이트와 같은 회사의 다수의 사이트에 배치되는 다수의 이동성 서버를 포함할 수도 있다. 따라서, 네트워크 리소스의 사용은 최적화될 수도 있고, 통신 비용은 감소될 수도 있다.
B. 미디어 핸드오프에서 사용자 경험의 강화
도 4a 내지 4e 는 Wi-Fi 네트워크와 셀룰러 네트워크 사이의 고속 미디어 핸드오프에 대한 구조 및 방법을 도시한다.
1. 본 발명은, 회사 제어형 인도어 또는 아웃도어 Wi-Fi 와 오퍼레이터 제어형 셀룰러 네트워크 사이의 미디어 접속을 심리스하게 스위칭하는 메커니즘을 제공한다. 이 메커니즘은 개별적인 네트워크 상에서 손실 특성들을 구별하고 가입자에게 비용 절약을 제공한다.
2. VQE 설계 고려사항:
동종 및 이종 네트워크들 내에서의 성공적인 음성 핸드오프를 위한 기준은: 핸드오프 시간 및 음성 품질을 포함한다.
수용할 수 있는 사용자 경험을 위한 음성 핸드오프의 성능은, 셀룰러/Wi-Fi 지연 차동을 포함하는 엔드-투-엔드 (end-to-end) 지연뿐만 아니라, 코덱, 트랜스코딩의 횟수, 지터, 스트림 스위칭 영향과 같은 다수의 팩터들에 의해 결정된다. 이하, 이종 (heterogeneous) 핸드오프에 대해 고유한 난제를 부여하는 이들 파라미터들의 일부를 설명한다.
3. 코덱 및 트랜스코딩
G.711, G.729, GSM 및 새로운 UMTS 코덱은 통상적인 음성 트랜슈딩 (transuding) 표준의 일부이다. 전체 성능은 코딩의 대역폭 요구사항뿐만 아니라 엔드-투-엔드 호출에서 트랜스코딩의 횟수 및 소정의 MAC 층 상의 트랜스코딩 지연에 의해 영향받는다.
4. 엔드-투-엔드 지연 및 에코: 셀룰러 네트워크에 대한 테일 엔드 지연은, 에코를 유발하는 테일 경로에 대해 300 내지 500 ms 일 수 있다. 핸드셋에서의 음향적 에코를 설명하기 위해, 캐리어는 이동 사용자의 볼륨 레벨을 한정한다. 이러한 감소는, 셀룰러 가입자가 호출의 PSTN 측을 듣지 못할 수도 있는 시나리오를 생성한다. 이러한 효과는 회사의 제어 외부에 존재하며, 셀룰러 네트워크가 음성 네트워크를 구현하는 방식에 기인하여 음성 차이가 존재할 수 있다.
통상적인 에코 상쇄기는, 통상적으로 비용때문에 128 ms 테일 길이로 한정된다. 이동 시스템의 (MSC 와 핸드셋 사이의) 테일 회로에서 지연의 프로세싱은 약 300 ms 의 테일 길이를 유발할 것이다. 핸드셋의 음향 에코 리턴 손실 (AERL) 능력의 예측 불가능성 및 호출자 환경의 가변성 때문에, 조건들이 상쇄기를 요구할 때에만 회로에 상쇄기를 배치하는 것은 비실용적이다. 회사 Wi-Fi 네트워크에서 PSTN 으로의 지연에 대해, 이하, 약 125 ms 인 지연 버짓 및 시나리오를 설명한다.
5. 스위칭 미디어 스트림 접속
스트림 및 코덱 모두의 스위칭은 단지 스트림을 재접속시키는 것보다 지연을 더 증가시키지만, G.711 을 사용함으로써, 코덱 변경이 제거된다.
6. 사일런스 및 오래된 패킷의 사용
핸드오프 동안 지연 차동을 보상하기 위해, 미리 저장된 사일런스 패킷을 사용하는 것이 추천된다. 사일런스 패킷 삽입과 함께 2 개의 스트림의 자기상관 (auto-correlation) 은 더 평활한 전이를 보조할 것이다.
Figure 112008031960056-PCT00001
상기 표는 핸드오프를 어드레싱하는 과정의 최소 세트를 나타낸다. 핸드오프의 대부분은 가용 액세스 포인트의 스캔에 할당될 수 있다. 이 시간은 패시브 스캐닝이 사용되면 길지 않을 수도 있다. 스캐닝이 제거된 후, 어드레스 할당 및 사전프로세싱을 이슈함으로써, 그리고, 전체 DHCP 프로세스가 완료되는 것을 대기하는 대신 제공되는 SIP 메시지는 DHCP 영향을 10 ms 로 감소시킨다. IP 어드레스에서의 변경, 및 NAT 및 트래픽 플로우에 대한 후속적 영향을 보장하기 위해, 어드레스 사전프로세싱은 SIP 요청 이전에 먼저 이슈되어야 한다. NAT 후에 핸드오프가 발생하고 새로운 IP 어드레스가 할당되면, 획득을 위한 어드레스 사전프로세싱의 사용이 요구된다. 예를 들어, 새로운 세션 식별을 위해 새로운 어드레스 및 포트를 재할당하기 위해, 사전프로세싱 서버로의 통지가 요구된다. 그 후, 트래픽을 재지향하기 위해 SIP 기반 재할당이 이슈될 수 있다. 이들 제어 메시지 후, 프록시 또는 종단 디바이스에 의해 트래픽이 새로운 IP 어드레스로 재지향된다. 이것은, 할당으로부터 완료까지 30 내지 35 ms 를 요구한다.
본 발명의 특성 및 이점은, 다음의 도면 및 설명을 참조하여 더 잘 이해될 수도 있다.
종래 기술의 사용자에게 직면된 이슈는 무선 통신에서 핸드오프 동안의 사용자 경험에 관련된다. 전자통신 디바이스가 송신기들 사이에서 핸드오프를 수행하는 경우, 양 송신기 모두는 데이터 스트림을 동시에 전송중일 수도 있다. 그러나, 미디어 데이터 스트림이 동기화되지 않을 수도 있다. 일 예로, 갭이 존재할 수도 있다. 또 다른 예로, 미디어 데이터 스트림은 중첩될 수도 있다. 그 결과, 전자통신 세션 상의 양자 (two parties) 는 사일런스, 잡음, 고장 및/또는 에코 (예를 들어, 음성 호출에서 불규칙한 스피치 또는 스트리밍 비디오의 방해된 뷰잉) 를 경험할 수도 있다.
종래 기술의 도 43 은 무선 통신에서 핸드오프 동안 미디어 데이터를 프로세싱하는 구성의 일 예를 도시한다. 예를 들어, 이동 전자통신 디바이스 (4316) 의 사용자가 외부 전화 (4302) 의 사용자와 대화중인 상황을 고려한다. 이 전자통신 세션 동안, 이동 전자통신 디바이스 (4316) 의 사용자는, Wi-Fi 네트워크 (4314) 로부터 셀룰러 네트워크 (4362) 로 이동하여, 이 2 개의 네트워크들 사이에 핸드오프를 유발할 수도 있다. 핸드오프 동안, 이동 전자통신 디바이스에 의해 전송될 수도 있는 미디어 데이터 스트림을 프로세싱하기 위해 서버 (4398) 가 이용될 수도 있다. 일 예로, 제 1 미디어 데이터 스트림 (4350) 은 Wi-Fi 네트워크 (4314) 로부터 송신될 수도 있고, 제 2 미디어 데이터 스트림 (4304) 은 셀룰러 네트워크 (4362) 로부터 입력될 수도 있다. 또한, 서버는, 핸드오프 동안 잡음 및 미디어 데이터를 차단하도록 구성된 뮤트 모듈 (4390) 을 포함할 수도 있다.
종래 기술의 도 44a 및 44b 는, 무선 통신에서 핸드오프 동안 미디어 데이터 스트림을 프로세싱하는 방법의 종래 예를 도시한다. 종래 기술의 도 44a 및 44b 를 종래 기술의 도 43 과 관련하여 설명한다.
종래 기술의 도 44a 는, 2 개의 네트워크에 의해 전송중인 미디어 데이터 스트림에 갭이 존재할 수도 있는 핸드오프 시나리오를 도시한다. 뷰 (4400) 는 미디어 데이터 스트림 (4302 및 4304) 의 그래픽 뷰를 포함한다. 핸드오프 주기 (4406) 동안 갭 (4410) 이 존재할 수도 있다. 갭 (4410) 은, 미디어 데이터 스트림 (4350) 및 제 2 미디어 스트림 (4304) 모두가 활성이 아닌 시간 간격을 나타낼 수도 있다. 일 예로, Wi-Fi 네트워크 (4314) 로부터의 신호 레벨은 약해지고 제 1 미디어 데이터 스트림 (4302) 을 송신하지 못할 수도 있다. 또한, 셀룰러 네트워크 (4362) 과의 접속성은 여전히 약하여, 제 2 미디어 데이터 스트림 (4304) 은 아직 송신되지 않았을 수도 있다. 그 결과, 전자통신 세션은, 양자 사이의 접속성이 손실된 것처럼 보일 수도 있다. 또한, 랜덤한 잡음 (예를 들어, 정적 잡음) 이 전자통신 세션의 당사자들에게 성가실 정도로 명확하게 될 수도 있다.
이 갭을 조작하기 위해 구현된 종래의 솔루션은 뮤트 모듈 (4390) 을 이용하는 것이다. 일 예로, 뮤트 모듈 (4390) 은 잡음을 뮤트시키기 위해, 핸드오프 (4406) 동안 갭 (4410) 을 차단하는 마스크 (4408) 를 제공할 수도 있다. 마스크 (4408) 는, 전자통신 세션이 드롭되지 않은 것을 전자통신 세션의 당사자들이 인식하도록, 미리 기록된 낮은 배경 잡음을 제공하는 사일런스 데이터 패킷을 포함할 수도 있다. 또한, 마스크 (4408) 는 전자통신 세션의 당사자들을 랜덤 잡음으로부터 차단할 수도 있다. 불행하게도, 이 뮤팅 방법은 전자통신 세션에서 분명한 방해를 나타낸다. 또한, 전자통신 세션에 관련된 당사자들은 그 방해의 길이에 대해 확신하지 못할 수도 있다. 그 결과, 뮤팅 방법은 관련된 당사자들에게 심리스한 전이를 제공하지 않는다.
종래 기술의 도면 44b 는, 2 네트워크에 의해 전송중인 미디어 데이터 스트림들 사이에 중첩이 존재할 수도 있는 핸드오프 시나리오를 도시한다. 뷰 (4450) 는 미디어 데이터 스트림 (4302 및 4304) 의 그래픽 뷰를 포함한다. 핸드오프 주기 (4416) 동안, 제 1 미디어 데이터 스트림 (4350) 과 제 2 미디어 데이터 스트림 (4304) 사이에 중첩 (4420) 이 존재할 수도 있다. 중첩 (4420) 은, 미디어 데이터 스트림 (4350) 및 미디어 데이터 스트림 (4304) 모두가 활성인 시간 간격을 나타낼 수도 있다.
일 예로, Wi-Fi 네트워크 (4314) 로부터의 신호 레벨은 여전히 미디어 데이터 스트림 (4302) 를 송신하기에 충분히 강할 수도 있다. 동시에, 셀룰러 네트워크 (4362) 로부터의 신호 강도 또한 강하여, 미디어 데이터 스트림 (4304) 이 송 신되게 한다. 중첩 (4420) 동안, 신호의 상쇄 및 누적 때문에, 전자통신 세션의 당사자들은 사일런스, 잡음, 고장 및/또는 에코와 같은 불만족스러운 통신 품질을 경험할 수도 있다.
종래 기술에서는, 이 중첩을 조작하기 위해 뮤팅 방법이 이용될 수도 있다. 일 예로, 잡음, 고장 및/또는 에코를 뮤팅하기 위해 핸드오프 (4416) 동안 중첩 (4420) 을 차단하는 마스크 (4418) 를 제공하는 모트 모듈 (4390) 이 이용될 수도 있다. 또한, 뮤팅 방법은 전자통신 세션에서 분명한 방해를 나타내고, 전자통신 세션에 관련된 당사자들은 방해의 길이에 대해 인식하지 못할 수도 있다. 따라서, 뮤팅 방법은 관련 당사자들에게 평활하고 심리스한 전이를 제공하지 않는다.
중첩 (4420) 을 조작하기 위해 종래 기술에서 구현될 수도 있는 또 다른 방법은, 컨퍼런스 호출에서 사용되는 것과 같은 믹서를 이용하는 것이다. 즉, 믹서는 핸드오프 (4416) 동안, 제 1 미디어 데이터 스트림 (4350) 과 제 2 미디어 데이터 스트림 (4304) 의 중첩 부분을 믹싱할 수도 있다. 2 개의 전자통신 디바이스의 사용자 모두가 제 1 미디어 데이터 (4302) 및 제 2 미디어 데이터 (4304) 모두로부터 데이터를 수신할 수도 있지만, 사용자들은, 송신 지연 또는 음향 지연에 의해 유발되는 반향 및 고장을 경험할 수도 있다. 또한, 잡음이 제 1 미디어 데이터 (4302) 및 제 2 미디어 데이터 (4304) 로부터의 데이터와 믹싱될 수도 있다. 그 결과, 핸드오프 (4416) 동안 전자통신 세션의 품질이 악화될 수도 있다.
종래 기술의 또 다른 사용자 경험 이슈는 무선 통신에서 핸드오프 동안 신호 레벨에서의 바람직하지 않은 변경과 관련된다. 신호 레벨에서의 변경은, 전자통신 디바이스가 하나의 네트워크로부터 또 다른 네트워크로 이동중일 때 발생할 수도 있다. 일 예로, 에코를 감소시키기 위해, 셀룰러 네트워크 (4362) 는, 무선 LAN 네트워크에서 통상적으로 구현되는 음성 신호 이득보다 낮은 음성 신호 이득을 제공하도록 구성될 수도 있다. 도 44a 및 44b 에 도시된 바와 같이, (셀룰러 네트워크 (4362) 를 통해 송신된) 제 2 미디어 데이터 스트림 (4304) 의 신호 레벨은 (Wi-Fi 네트워크 (4314) 를 통해 송신된) 제 1 미디어 데이터 스트림 (4350) 의 신호 레벨보다 낮다.
이동 전자통신 디바이스 (4316) 가 Wi-Fi 네트워크 (4314) 로부터 셀룰러 네트워크 (4362) 로의 핸드오프를 수행하는 경우, 이동 전자통신 디바이스 (4316) 의 사용자는 음성 볼륨에서의 감소를 경험할 수도 있다. 그 결과, 사용자는 대화의 일부를 미스할 수도 있고, 전화 호출 동안 이동 전자통신 디바이스 (4316) 의 스피커를 재조절하는 불편함을 겪을 수도 있다.
한편, 이동 전자통신 디바이스 (4316) 가 셀룰러 네트워크 (4362) 로부터 Wi-Fi 네트워크 (4314) 로의 핸드오프를 수행하는 경우, 사용자는 음성 볼륨에서의 증가를 경험하여, 기대하지 않는, 심지어 불쾌한 경험을 할 수도 있다. 그 결과, 사용자는 불쾌감을 경험할 수도 있고, 전자통신 디바이스의 스피커를 재조절하는 불편함을 겪을 수도 있다.
본 발명의 실시형태에 따르면, 핸드오프가 발생한 경우 전자통신 디바이스의 사용자의 전자통신 경험을 향상시킬 수도 있는 무선 통신 시스템 솔루션이 제공된다. 본 발명의 실시형태들은, 무선 통신 시스템이 이동성 서버를 포함함으로써 통합된 솔루션을 제공할 수 있게 한다. 본 발명의 실시형태들은, 이동성 서버가 버퍼 시스템, 상호상관 모듈, 합성기 모듈, 확장 모듈, 중첩 및 추가 모듈, 및 신호 레벨 제어 모듈 중 적어도 하나를 포함할 수 있게 한다.
본 문헌에서는, 네트워크들 사이에서 발생하는 핸드오프의 예를 사용하여 다양한 실시형태들을 설명할 수도 있다. 그러나, 본 발명은, 네트워크들 사이에서의 핸드오프에 한정되지 않으며, 동일한 네트워크 내에서의 핸드오프 또한 포함할 수도 있다. 또한, 본 문헌에서는, 음성 미디어의 예를 사용하여 다양한 구현예들을 설명할 수도 있다. 그러나, 본 발명은 음성 미디어에 한정되지 않으며, 비디오 스트리밍, 오디오 스트리밍 등과 같은 다른 실시간 미디어를 포함할 수도 있다. 이 설명들은 예시를 의미하며, 본 발명은 제공된 예시에 한정되지 않는다.
예를 들어, Wi-Fi 네트워크와 셀룰러 네트워크 사이에서 핸드오프가 발생중인 상황을 고려한다. 핸드오프 동안, 이동성 클라이언트의 사용자는 2 개의 서로 다른 접속을 통해 미디어 스트림을 전송중일 수도 있다. 본 발명의 일 실시형태에서, 이동성 서버는, 핸드오프 주기 동안 그 이동성 서버에 의해 수신될 수도 있는 미디어 데이터 스트림 (예를 들어, 오디오 또는 비디오 데이터 패킷) 을 버퍼링하도록 구성될 수도 있는 버퍼 시스템을 포함할 수도 있다. 이 버퍼 시스템에 의해, 이동성 서버는, 내향 미디어 데이터 스트림을 변조할 기회를 가질 때까 지, 그 미디어 데이터 스트림이 수신지 디바이스로 포워딩되는 것을 방지할 수도 있다.
또한, 본 발명의 일 실시형태에서, 이동성 서버는 상호상관 모듈을 포함할 수도 있다. 이 상호상관 모듈에 의해, 이동성 서버는, 핸드오프 동안 발생할 수도 있는 미디어 데이터 스트림의 중첩을 조작할 수도 있다. 일 예로, 중첩에 있어서, 상호상관 모듈은 패킷의 제 1 미디어 데이터 세트와 패킷의 제 2 미디어 데이터 세트 사이의 실질적 매칭을 결정하기 위해 자기상관을 수행할 수도 있다. 패킷의 세트는 적어도 하나 이상의 패킷들을 포함할 수도 있다.
매칭이 결정되면, 일 실시형태에서, 상호상관 모듈은 패킷의 제 1 미디어 데이터 세트 및 패킷의 제 2 미디어 데이터 패킷 세트의 섹션을 포함함으로써 패킷의 상호상관 미디어 데이터 세트를 생성할 수도 있다. 일 예로, Wi-Fi 네트워크 접속을 통해 입력중일 수도 있는 패킷의 제 1 미디어 데이터 세트의 엔드 섹션, 및 셀룰러 네트워크를 통해 입력중일 수도 있는 패킷의 제 2 미디어 데이터 세트의 헤드 섹션은 패킷의 상호상관 미디어 데이터 세트를 생성하기 위해 결합될 수도 있다.
상호상관 모듈, 및 중첩 및 추가 모듈을 이용함으로써, 이동성 서버는, 에코 및 잡음과 같은 미디어 스트림의 중첩과 관련된 문제들을 최소화 또는 제거하여, 수신지 디바이스의 사용자에게 긍정적인 전자통신 경험을 제공할 수도 있는 패킷의 전이 미디어 데이터 세트를 생성할 수도 있다.
또한, 일 실시형태에서, 이동성 서버는, 2 개의 미디어 데이터 스트림 사이 에 존재할 수도 있는 갭을 조작하기 위해 이용될 수도 있는 합성기 모듈을 포함할 수도 있다. 합성기 모듈에 의해, 이동성 서버는, 핸드오프 동안 제 1 및 제 2 미디어 데이터 스트림 사이에 존재할 수도 있는 갭을 커버하는 패킷의 버퍼링된 제 1 미디어 데이터 세트의 섹션을 모델링할 수도 있다. 일 예로, Wi-Fi 네트워크로부터의 패킷의 제 1 미디어 데이터 세트와 셀룰러 네트워크로부터의 패킷의 제 2 미디어 데이터 세트와의 수신 사이에 갭 (즉, 시간 간격) 이 존재할 수도 있다. 일 실시형태에서, 이 갭을 조작하기 위해, 이동성 서버는, 패킷의 합성된 미디어 데이터 세트를 생성하도록 패킷의 제 1 미디어 데이터 세트의 섹션을 합성하는 합성기 모듈을 이용할 수도 있다.
또한, 일 실시형태에서, 이동성 서버는, 2 개의 미디어 데이터 스트림 사이에 존재할 수도 있는 갭을 조작하기 위해 이용될 수도 있는 확장 모듈을 포함할 수도 있다. 확장 모듈에 의해, 이동성 서버는 패킷의 새로운 확장된 미디어 데이터 세트를 생성하도록 패킷의 미디어 데이터 세트의 섹션을 확장할 수도 있다. 일 실시형태에서, 패킷의 사일런스 세트는 패킷의 제 1 미디어 데이터 세트의 적어도 일 섹션의 데이터 패킷들 사이에 (주기적으로) 삽입될 수도 있다.
일 실시형태에서, 확장 모듈은 갭을 조작하기 위해 합성기 모듈과 함께 이용될 수도 있다. 일 예로, 이동성 서버는, 패킷의 제 1 미디어 데이터 세트를 합성하기 위해 먼저 합성기 모듈을 이용할 수도 있다. 그러나, 갭이 너무 크면, 이동성 서버는 패킷의 제 1 미디어 데이터 세트의 섹션을 확장하기 위해 확장 모듈을 또한 이용할 수도 있다.
본 발명의 일 실시형태에서, 이동성 서버는, 핸드오프시에 미디어 데이터의 중첩을 수정하기 위해 또는 미디어 데이터 사이의 갭을 채우기 위해, 패킷의 상호상관된 미디어 데이터 세트, 데이터 패킷의 합성된 미디어 데이터 세트 및 패킷의 확장된 미디어 데이터 세트 중 적어도 하나를 포함할 수도 있는 패킷의 전이 미디어 데이터 세트를 생성하도록 구성되는 중첩 및 추가 모듈을 포함할 수도 있다. 또한, 중첩 및 추가 모듈은 미디어 데이터 스트림의 수정을 평활화하기 위해 하나 이상의 주지의 패턴 매칭 알고리즘을 실행할 수도 있다.
또한, 일 실시형태에서, 이동성 시스템은, 패킷의 전이 미디어 데이터 세트의 신호 레벨을 조절하도록 구성되는 신호 레벨 제어 모듈을 포함할 수도 있다. 전이 미디어 데이터 세트는 패킷의 상호상관된 미디어 데이터 세트, 패킷의 합성된 미디어 데이터 세트, 및 패킷의 확장된 미디어 데이터 세트 중 적어도 하나를 포함할 수도 있다. 패킷의 전이 미디어 데이터 세트는, 이동성 시스템이 핸드오프 이후의 새로운 접속체 (즉, 셀룰러 네트워크) 를 통해 수신할 수도 있는 데이터 패킷을 더 포함할 수도 있다. 신호 레벨은 패킷의 제 1 미디어 데이터 세트의 신호 레벨을 근사하도록 조절될 수도 있다. 그 결과, 음성 볼륨에서의 기대되지 않는 불쾌한 변경은 실질적으로 감소되어, 예를 들어, 이동성 클라이언트와 같은 이동 전자통신 디바이스의 사용자가 핸드오프 이전과 동일한 전자통신 경험을 계속하여 갖게 할 수도 있다.
상호상관 모듈, 합성기 모듈, 확장 모듈, 중첩 및 추가 모듈, 및 신호 제어 레벨 모듈의 결합을 이용함으로써, 이동성 서버는, 핸드오프 동안 직면되는 종래의 문제점들을 최소화 또는 제거하여, 수신지 디바이스의 사용자에게 긍정적인 전자통신 경험을 제공할 수도 있는 향상된 미디어 데이터를 생성할 수도 있다. 따라서, 사용자는 이제, 사일런스, 잡음, 고장, 에코 또는 반향이 실질적으로 없는 긍정적인 전자통신 경험을 가질 수도 있다.
본 발명의 추가적인 특성 및 이점은, 다음의 도면 및 설명을 참조하여 더 잘 이해될 수도 있다.
도 45 는, 본 발명의 하나 이상의 실시형태에 따라, 무선 통신에서 핸드오프 동안 미디어 데이터를 프로세싱하는 구성을 도시한다. 이 구성에서는, 이동성 클라이언트 (4516) 의 외향 미디어 데이터 및 내향 미디어 데이터 모두가 이동성 서버 (4518) 를 통해 라우팅된다. 예를 들어, 외부 전화 (4502) 또는 스트리밍 미디어 서버와 같은 또 다른 당사자와의 전자통신 세션 동안, 이동성 클라이언트 (4516) 는, 예를 들어, Wi-Fi 네트워크 (4514) 로부터 셀룰러 네트워크 (4562) 로의 핸드오프를 수행할 수도 있다. 이동성 서버 (4518) 는, 핸드오프 동안 미디어 데이터 스트림 (예를 들어, Wi-Fi (4514) 를 통해 송신되는 제 1 미디어 데이터 (4506) 및 셀룰러 네트워크 (4562) 를 통해 송신되는 제 2 미디어 데이터 (4504)) 을 변조하기 위해 이용될 수도 있는 미디어 서버 및 음성 품질 엔진 모듈 (4500) 을 포함할 수도 있다.
도 46a 는, 본 발명의 하나 이상의 실시형태에 따라, 미디어 서버 및 음성 품질 엔진 모듈 (4500) 의 구조적 블록도를 도시한다. 도 45 에 관련하여 도 46a 를 설명한다. 이동성 서버 (4518) 는 핸드오프 동안 미디어 데이터를 프로 세싱하기 위해 미디어 서버 및 음성 품질 엔진 모듈 (4500) 을 이용할 수도 있다. 이동성 클라이언트 (4516) 가 네트워크들 사이에서 핸드오프를 수행하는 경우, 미디어 서버 및 음성 품질 엔진 모듈 (4500) 은 양자 모두의 전자통신 경험을 향상시키기 위해, Wi-Fi 네트워크 (4514) 로부터 수신되는 제 1 미디어 데이터 (4506) 및 셀룰러 네트워크 (4562) 로부터 수신되는 제 2 미디어 데이터 (4504) 를 프로세싱할 수도 있다.
예를 들어, 제 1 미디어 데이터 (4506) 로부터의 패킷의 제 1 미디어 데이터 세트 및 제 2 미디어 데이터 (4504) 로부터의 패킷의 제 2 미디어 데이터 세트가 미디어 서버 및 음성 품질 엔진 모듈 (4500) 에 의해 수신된 상황을 고려한다.
일 실시형태에서, 미디어 서버 및 음성 품질 엔진 모듈 (4500) 은 미디어 데이터 버퍼 (4602) 를 포함할 수도 있다. 핸드오프 동안, 미디어 데이터 버퍼 (4602) 는 후속적 프로세싱을 위해 미디어 데이터 내향 (예를 들어, 패킷의 제 1 미디어 데이터 세트 및 패킷의 제 2 미디어 데이터 세트) 을 수신 및 버퍼링하도록 구성될 수도 있다. 미디어 데이터 입력은 데이터 패킷의 세트를 포함할 수도 있다. 데이터 패킷은, 텍스트, 오디오, 이미지 및/또는 비디오 신호를 포함할 수도 있지만, 이에 한정되는 것은 아니다.
일 실시형태에서, 미디어 서버 및 음성 품질 엔진 모듈 (4500) 은 상호상관 모듈 (4604) 을 포함할 수도 있다. 상호상관 모듈 (4604) 은, 핸드오프 동안 패킷의 제 1 미디어 데이터 세트 및 패킷의 제 2 미디어 데이터 세트 모두가 수신되면 상호상관을 수행할 수도 있다. 상호상관 모듈 (4604) 은, 패킷의 제 1 미 디어 데이터 세트와 패킷의 제 2 미디어 데이터 세트 사이에서 실질적 매칭을 결정하기 위해 상호상관을 수행할 수도 있다.
일 예로, 패킷의 제 1 미디어 데이터 세트는 5 개의 데이터 패킷을 포함할 수도 있고, 패킷의 제 2 미디어 데이터 세트는 1 개의 데이터 패킷을 포함할 수도 있다. 상호상관을 이용함으로써, 상호상관 모듈 (4604) 은, 패킷의 제 2 미디어 데이터 세트 내의 패킷이 패킷의 제 1 미디어 데이터 세트의 5 번째 데이터 패킷과 매칭될 수도 있음을 결정할 수도 있다. 또한, 상호상관 모듈 (4604) 은, 2 패킷이 100 바이트인 것으로 가정하면 최상의 매칭은 50 의 래그 값일 수도 있음을 결정할 수도 있다.
매칭 및 래그 값에 의해, 상호상관 모듈 (4604) 은 패킷의 상호상관된 미디어 데이터 세트를 생성할 수도 있다. 도 46b 는, 일 실시형태에서, 패킷의 상호상관된 미디어 데이터 세트를 생성하는 방법의 일 예를 도시한다. 제 1 데이터 패킷 (4650) 은 패킷의 제 1 미디어 데이터 세트로부터 5 번째 데이터 패킷을 나타낸다. 제 2 데이터 패킷 (4652) 은 패킷의 제 2 미디어 데이터 세트로부터의 데이터 패킷을 나타낸다. 상호상관을 이용함으로써, 상호상관 모듈 (4604) 은, 제 2 데이터 패킷 (4652) 과 제 1 데이터 패킷 (4650) 이, 50 의 래그 값을 나타낼 수도 있는 포인트 (4654) 에서 최상으로 매칭될 수도 있음을 결정할 수도 있다. 즉, 포인트 (4654) 로부터 전방으로, 데이터 패킷 (4650) 의 품질은 악화되는 반면, 데이터 패킷 (4652) 의 품질은 개선될 수도 있다. 따라서, 블록 (4656) 에 의해 표현되는, 제 1 데이터 패킷 (4650) 의 최후의 50 바이트는, 블록 (4658) 에 의해 표현되는, 제 2 데이터 패킷 (4652) 의 최초 50 바이트와 결합되어, 새로운 데이터 패킷 (4662) 상에 블록 (4660) 을 형성할 수도 있다. 새로운 데이터 패킷 (4662) 의 제 2 블록 (4664) 은 제 2 데이터 패킷 (4650) 의 블록 (4666) 으로부터 형성될 수도 있다. 따라서, 새로운 데이터 패킷 (4662) 은 이제, 수신지 디바이스에 전송될 패킷의 버퍼링된 제 1 미디어 데이터 세트의 5 번째 데이터 패킷을 대체할 수도 있다.
예를 들어, 패킷의 제 1 미디어 데이터 세트의 수신과 패킷의 제 2 미디어 데이터 세트의 수신과의 사이에 갭이 존재하는 상황을 고려한다. 일 실시형태에서, 미디어 서버 및 음성 품질 엔진 모듈 (4500) 은, 갭을 조작하기 위해 이용될 수도 있는 합성기 모듈 (4606) 을 포함할 수도 있다. 합성기 모듈 (4606) 은 패킷의 합성된 미디어 데이터 세트를 생성하기 위해 패킷의 제 1 미디어 데이터 세트의 섹션을 합성하도록 구성될 수도 있다. 일 실시형태에서, 임계값 내에 있는 어떠한 미디어 데이터도 새로운 네트워크 (예를 들어, 셀룰러 네트워크 (4562)) 로부터 수신되지 않으면, 패킷의 합성된 미디어 데이터 세트가 생성될 수도 있다. 임계값은, 그 값을 넘으면, 합성된 미디어 데이터 세트가 만족스러운 사용자 경험을 제공하기 위해 효과적으로 및/또는 충분하게 갭을 채우지 못할 수도 있는, 미싱 (missing) 데이터 패킷의 최대 카운트 또는 시간 제한을 나타낼 수도 있다. 미디어 서버 및 음성 품질 엔진 모듈 (4500) 은, 일 실시형태에서, 그 임계값이 충족되는지 여부를 결정하기 위해 타이머 및/또는 데이터 패킷 카운터를 포함할 수도 있다.
일 실시형태에서, 미디어 서버 및 음성 품질 엔진 모듈 (4500) 은, 갭을 조작하기 위해 또한 이용될 수도 있는 확장 모듈 (4608) 을 포함할 수도 있다. 확장 모듈 (4608) 은, 확장된 미디어 데이터 세트를 생성하기 위해 패킷의 제 1 미디어 데이터 세트의 적어도 일부를 확장하도록 구성될 수도 있다. 확장된 미디어 데이터 세트는, 일 실시형태에서, 패킷의 제 1 미디어 데이터 세트의 적어도 일 섹션의 데이터 패킷 및 사일런스 데이터 패킷을 포함할 수도 있다. 임계값 내에 있는 어떠한 미디어 데이터도 제 2 네트워크 (예를 들어, 셀룰러 네트워크 (4562)) 를 통해 수신되지 않으면, 확장된 미디어 데이터 세트가 생성될 수도 있다.
일 실시형태에서, 확장 모듈 (4608) 은 합성기 모듈 (4606) 과 결합하여 구현될 수도 있다. 일 예로, 갭은 확장될 수도 있다. 갭을 조작하기 위해, 이동성 서버 (4518) 는, 먼저, 합성기 모듈 (4606) 을 이용하여, 패킷의 하나 이상의 합성된 미디어 세트를 생성하여 갭을 조작할 수도 있다. 합성기 모듈 (4606) 에 대한 임계값이 충족되고, 갭이 충분히 조작되지 않았다면, 이동성 서버 (4518) 는 확장 모듈 (4608) 을 이용하여, 패킷의 하나 이상의 확장된 미디어 데이터 세트를 생성하여 갭을 조작할 수도 있다.
일 실시형태에서, 미디어 서버 및 음성 품질 엔진 모듈 (4500) 은, 상호상관된 미디어 데이터 세트, 합성된 미디어 데이터 세트 및 확장된 미디어 데이터 세트 중 적어도 하나를 포함함으로써 패킷의 전이 미디어 데이터 세트를 생성하기 위해 이용될 수도 있는 중첩 및 추가 모듈 (4612) 을 포함할 수도 있다. 일 실시형 태에서, 중첩 및 추가 모듈 (4612) 은 패킷의 제 1 미디어 데이터 세트의 섹션과 상호상관된 미디어 데이터 세트를 포함함으로써 패킷의 새로운 전이 미디어 데이터 세트를 생성할 수도 있다. 도 46b 를 다시 참조하면, 패킷의 제 1 미디어 데이터 세트로부터 최초 4 개의 패킷과 새로 생성된 데이터 패킷 (4662) 이 결합되어, 패킷의 새로운 전이 미디어 데이터 패킷을 생성할 수도 있다.
또한, 또 다른 실시형태에서, 중첩 및 추가 모듈 (4612) 은 패킷의 합성된 미디어 데이터 세트 및/또는 패킷의 확장된 미디어 데이터 세트를 포함함으로써 패킷의 새로운 전이 데이터 세트를 생성할 수도 있다.
또한, 중첩 및 추가 모듈 (4612) 은, 패킷의 새로운 전이 미디어 데이터 세트를 평활화하기 위해 이용될 수도 있는, 선형 램핑 업다운과 같은 하나 이상의 주지의 평활화 알고리즘을 포함할 수도 있다.
일 실시형태에서, 미디어 서버 및 음성 품질 엔진 (4500) 은, 스케일링된 미디어 데이터 세트를 생성하기 위해 패킷의 전이 미디어 데이터 세트의 신호 레벨을 조절하도록 구성될 수도 있는 신호 레벨 제어 모듈 (4614) 을 포함할 수도 있다. 또한, 신호 레벨 제어 모듈 (4614) 은 제 2 미디어 데이터 스트림의 신호 레벨을 조절하도록 구성될 수도 있다. 하나 이상의 실시형태에서, 신호 레벨 제어 모듈 (4614) 은 주지의 자동 이득 제어 알고리즘을 실행할 수도 있다.
또한, 일 실시형태에서, 미디어 서버 및 음성 품질 엔진 (4500) 은 패킷의 스케일링된 미디어 데이터 세트를 출력하도록 구성된 미디어 데이터 스위치 (4616) 를 포함할 수도 있다.
도 47 은, 본 발명의 하나 이상의 실시형태에 따라, 네트워크들 사이에서 이동 전자통신 디바이스의 핸드오프 동안 미디어 데이터를 프로세싱하는 방법의 흐름도를 도시한다. 도 45 및 46 과 관련하여 도 47 을 설명한다. 예를 들어, Wi-Fi (4514) 에 의해 지원되는 커버리지 영역으로부터 셀룰러 네트워크 (4562) 에 의해 지원되는 커버리지 영역으로 이동성 클라이언트 (4516) 의 사용자가 로밍할 수도 있는 상황을 고려한다. 이 방법은, 미디어 서버 및 음성 품질 엔진 (4500) 을 구현함으로써 수행될 수도 있다 (도 45).
제 1 단계 4702 에서는, 미디어 서버 및 음성 품질 엔진 (4500) 이 Wi-Fi 네트워크 (4514) 를 통해 패킷의 제 1 미디어 데이터 세트를 수신할 수도 있다. 다음 단계 4704 에서는, 미디어 데이터 버퍼 (4704) 가 패킷의 제 1 미디어 데이터 세트를 버퍼링할 수도 있다. 하나 이상의 실시형태에서, 미디어 서버 및 음성 품질 엔진 (4500) 은 핸드오프가 임박할 때 제 1 미디어 데이터 세트의 버퍼링을 시작할 수도 있다. 일 실시형태에서, 핸드오프의 임박성은 이동성 전자통신 디바이스 및/또는 이동성 서버에 의해 검출될 수도 있다. 하나 이상의 실시형태에서, 미디어 서버 및 음성 품질 엔진 (4500) 은, 핸드오프가 시작하는 경우 제 1 미디어 데이터 세트의 버퍼링을 시작할 수도 있다.
패킷의 제 1 미디어 데이터 세트가 수신 및 버퍼링되면, 미디어 서버 및 음성 품질 엔진 (4500) 은, 셀룰러 네트워크 (4562) 로부터 패킷의 제 2 미디어 데이터 세트의 수신이 기대될 때 타이머 및/또는 카운터를 시작할 수도 있다.
다음 단계 4712 에서는, 미디어 서버 및 음성 품질 엔진 (4500) 이, 패킷의 제 2 미디어 데이터 세트가 수신되었는지 여부를 결정할 수도 있다. 제 2 미디어 데이터 세트는, 텍스트, 오디오 및/또는 비디오 신호를 포함하는 데이터 패킷뿐만 아니라 사일런스 데이터 패킷을 포함할 수도 있다. 패킷의 제 2 미디어 데이터 세트가 수신되면, 중첩이 발생하고, 이 방법은 다음 단계 4714 로 진행할 수도 있다.
다음 단계 4714 에서는, 미디어 서버 및 음성 품질 엔진 (4500) 이 패킷의 제 2 미디어 데이터 세트를 버퍼링할 수도 있다.
다음 단계 4706 에서는, 패킷의 2 개의 미디어 데이터 세트 사이의 매칭을 결정하기 위해 패킷의 2 개의 미디어 데이터 세트를 상호상관하는 상호상관 모듈 (4604) 이 이용될 수도 있다. 일 실시형태에서, 상호상관 모듈 (4604) 은 패킷의 제 1 및 제 2 미디어 데이터 세트 사이의 매칭을 결정하기 위해 자기상관을 수행할 수도 있다. 일 실시형태에서, 상호상관된 미디어 데이터 세트를 생성하기 위해, 패킷의 제 1 미디어 데이터 세트의 엔드 부분 및 패킷의 제 2 미디어 데이터 세트의 헤드 부분이 이용될 수도 있다. 일 실시형태에서, 제 1 미디어 데이터 세트의 엔드 부분과 제 2 미디어 데이터 세트의 헤드 부분은 동일한 바이트 사이즈일 수도 있으며, 이것은 제 1 미디어 데이터 세트와 제 2 미디어 데이터 세트 사이의 매칭에 기초하여 결정될 수도 있다. 그 사이즈를 결정하는 래그 값은 피치 검출과 같은 하나 이상의 주지의 방법을 사용하여 결정될 수도 있다.
다음 단계 4750 에서는, 이동성 서버 (4518) 가 중첩 및 추가 모듈 (4612) 를 사용하여, 패킷의 상호상관된 미디어 데이터 세트를 포함하도록 패킷의 제 1 미 디어 데이터 세트를 수정함으로써 새로운 전이 미디어 데이터 패킷을 생성할 수도 있다. 하나 이상의 실시형태에서, 미디어 서버 및 음성 품질 엔진 (4500) 은 미디어 데이터와 상호상관된 미디어 데이터 세트와의 중첩 중 적어도 일부를 대체할 수도 있다. 일 실시형태에서, 변형을 평활화하기 위해 선형 램핑 업다운과 같은 하나 이상의 주지의 알고리즘이 이용될 수도 있다.
다음 단계 4770 에서는, 핸드오프 동안 발생할 수도 있는 신호 레벨을 설명하기 위해 패킷의 전이 미디어 데이터 세트의 신호 레벨이 조절될 수도 있다. 일 예로, 신호 레벨은, 이동 전기통신 디바이스 상의 사용자가 Wi-Fi 네트워크로부터 셀룰러 네트워크로 로밍하는 경우 감소될 수도 있다. 신호 레벨 제어 모듈을 이용함으로써, 핸드오프 이전의 신호 레벨에 실질적으로 매칭하도록 새로운 접속으로부터의 신호 레벨이 조절될 수도 있다. 신호 레벨이 어떻게 조절될 수 있는지에 대한 설명을 위해 도 48 을 참조한다.
신호 레벨이 조절되면, 패킷의 새로 스케일링된 미디어 데이터 세트가 생성될 수도 있다. 다음 단계 4790 에서는, 패킷의 스케일링된 미디어 데이터 세트가 미디어 스위치를 통해 수신지 디바이스로 포워딩될 수도 있다.
다음 단계 4712 로 복귀하여, 패킷의 제 2 미디어 데이터 세트가 이동성 서버 (4518) 에 의해 수신되지 않으면, 다음 단계 4724 에서는, 미디어 서버 및 음성 품질 엔진 모듈 (4500) 은 임계값에 도달되었는지 여부를 결정할 수도 있다. 일 실시형태에서, 임계값은 미싱 데이터 패킷의 카운트 및/또는 시간 제한을 나타낼 수도 있다.
임계값에 도달되지 않았으면, 다음 단계 4726 에서는, 미디어 서버 및 음성 품질 엔진 모듈 (4500) 이 패킷의 제 1 미디어 데이터 세트의 모델링된 부분을 이용하여, 합성된 미디어 데이터 세트를 생성할 수도 있다. 모델링된 부분은, 일 실시형태에서, 패킷들의 제 1 미디어 세트의 최후의 몇몇 데이터 패킷들을 나타낼 수도 있다. 모델링된 부분은, 피치 검출과 같은 하나 이상의 주지된 방법을 사용하여, 패킷의 제 1 미디어 데이터 세트 내의 데이터 패킷의 특성에 기초하여 선택될 수도 있다. 합성된 미디어 데이터 세트는 선형 예측 모델과 같은 하나 이상의 주지의 방법을 사용하여 생성될 수도 있다.
다음 단계 4724 로 복귀하여, 임계값에 도달되면, 다음 단계 4736 에서는, 미디어 서버 및 음성 품질 엔진 모듈 (4500) 이 확장 모듈 (4608) 을 이용하여 패킷의 확장된 미디어 데이터 세트를 생성할 수도 있다. 예를 들어, 하나 이상의 사일런스 데이터 패킷을 패킷의 제 1 미디어 데이터 세트의 적어도 일부에 주기적으로 삽입하는 것과 같은 하나 이상의 주지의 방법을 사용하여 패킷의 확장된 미디어 데이터 세트가 생성될 수도 있다.
일 실시형태에서, 갭이 매우 커서, 만족스러운 사용자 경험을 제공하기 위해 핸드오프 동안 생성된 갭을 하나 이상의 합성된 미디어 데이터가 효과적으로 및/또는 충분히 채우지 못할 수도 있는 경우, 확장 모듈이 이용될 수도 있다.
다음 단계 4760 에서는, 패킷의 새로운 전이 미디어 데이터 세트를 생성하기 위해, 중첩 및 추가 모듈 (4612) 이, 합성된 미디어 데이터 세트 및/또는 확장된 미디어 데이터 세트 중 적어도 하나를 이용함으로써 핸드오프 동안 갭을 관리할 수 도 있다. 중첩 및 추가 모듈 (4612) 은 변형을 평활화하기 위해, 선형 램핑 업다운과 같은 하나 이상의 주지의 평활화 방식을 실행할 수도 있다. 패킷의 합성된 미디어 데이터 세트 및/또는 패킷의 확장된 미디어 데이터 세트를 이용함으로써, 갭에 의해 유발된 하나 이상의 사일런스 및 잡음은 실질적으로 감소되거나 제거될 수도 있다.
또한, 다음 단계 4770 에서는, 신호 레벨 제어부 (4614) 는 스케일링된 미디어 데이터 세트를 생성하기 위해 패킷의 전이 미디어 데이터 세트의 신호 레벨을 조절할 수도 있다. 신호 레벨을 조절함으로써, 사용자는 핸드오프 동안 실질적으로 일관된 신호 레벨 (예를 들어, 음성 볼륨) 을 경험할 수도 있다.
단계 4790 에서는, 미디어 서버 및 음성 품질 엔진 모듈 (4500) 이, 수신지 디바이스로 전송될 수도 있는 스케일링된 미디어 데이터 세트를 출력할 수도 있다.
도 48 은, 본 발명의 하나 이상의 실시형태에 따라, 핸드오프 동안 이동 전자통신 디바이스의 신호 레벨을 제어하는 방법의 흐름도이다. 이 방법은 도 47 에 도시된 단계 4770 을 나타낼 수도 있고, 예를 들어, 도 46a 에 도시된 신호 레벨 제어 모듈 (4614) 과 같은 신호 레벨 제어 모듈에 의해 수행될 수도 있다.
제 1 단계 4800 에서는, 신호 레벨 제어 모듈 (4614) 이 패킷의 미디어 데이터 세트를 수신할 수도 있다. 일 실시형태에서, 패킷의 미디어 데이터 세트는 중첩 및 추가 모듈 (4612) 에 의해 생성된 패킷의 전이 미디어 데이터 세트를 나타낼 수도 있다. 또 다른 실시형태에서, 패킷의 미디어 데이터 세트는 제 2 미디어 데이터 스트림으로부터 패킷의 제 2 미디어 데이터 세트를 나타낼 수도 있다.
다음 단계 4806 에서는, 신호 레벨 제어 모듈 (4614) 이, 예를 들어, 미디어 데이터 세트의 신호 진폭의 절대값을 합산함으로써, 미디어 데이터 세트의 에너지를 계산할 수도 있다. 일 실시형태에서는, 절대값 대신에 제곱값이 사용될 수도 있다.
다음 단계 4808 에서는, 신호 레벨 제어 모듈 (4614) 이, 미디어 데이터 세트의 에너지가 잡음 플로어보다 큰지 여부를 결정할 수도 있다. 에너지가 잡음 플로어보다 크지 않으면, 미디어 데이터 세트는 배경 잡음으로 고려될 수도 있고, 제어는 단계 4828 로 이동하여, 미디어 데이터 세트가 신호 레벨 제어 모듈 (4614) 의 출력으로서 송신된다.
그러나, 에너지가 잡음 플로어보다 크면, 다음 단계 4810 에서는, 신호 레벨 제어 모듈 (4614) 이 미디어 데이터 세트의 에너지를 스케일링할 수도 있다. 일 예로, 에너지는 미디어 데이터 세트에서의 에너지 신호 레벨을 평균화함으로써 스케일링되어 스케일링된 에너지를 생성할 수도 있다.
다음 단계 4812 에서는, 신호 레벨 제어 모듈 (4614) 이, 스케일링된 에너지가 하이 에너지보다 큰지 여부를 결정할 수도 있다. 일 실시형태에서, 하이 에너지는 패킷의 제 1 미디어 데이터 세트에 대한 에너지 범위의 상한을 나타낼 수도 있다. 일 실시형태에서, 전자통신 디바이스 각각에 대한 에너지 범위는 경험적으로 결정될 수도 있다.
스케일링된 에너지가 하이 에너지보다 크면, 다음 단계 4814 에서는, 신호 레벨 제어 모듈 (4614) 은 미디어 데이터 세트의 에너지를 감소시키기 위해 감소된 이득을 제공할 수도 있다. 일 예로, 패킷의 전이 미디어 데이터 세트는 상한보다 클 수도 있고; 따라서, 그 미디어 데이터의 수신시에 수신지 디바이스의 사용자가 경험할 수도 있는 볼륨에서의 기대되지 않고 불쾌한 증가를 제거하기 위해, 패킷의 전이 미디어 데이터 세트의 볼륨은 감소될 수도 있다.
다음 단계 4812 에서, 스케일링된 에너지가 하이 에너지보다 작으면, 다음 단계 4824 에서는, 신호 레벨 제어 모듈 (4614) 이, 그 스케일링된 에너지가 로우 에너지보다 작은지 여부를 더 결정할 수도 있다. 일 실시형태에서, 그 로우 에너지는 패킷의 제 1 미디어 데이터 세트에 대한 전술한 에너지 범위의 하한을 나타낼 수도 있다. 스케일링된 에너지가 로우 에너지보다 작으면, 다음 단계 4836 에서는, 신호 레벨 제어 모듈 (4614) 이 미디어 데이터 세트의 에너지를 증가시키기 위해 증가된 이득을 제공할 수도 있다. 일 예로, 패킷의 전이 미디어 데이터 세트는 최소 한계보다 더 소프트할 수도 있고, 따라서, 수신지 디바이스의 사용자가 내향 미디어 데이터의 청취를 수행해야 할 수도 있는 스피커 볼륨을 증가시키는 불편함을 제거하기 위해, 패킷의 전이 미디어 데이터 세트의 볼륨은 증가될 수도 있다.
다음 단계 4826 에서는, 신호 레벨 제어부 (4614) 가, 제 1 미디어 데이터 스트림의 범위에 필적할만한 신호 레벨을 갖는 스케일링된 미디어 데이터 세트를 생성할 수도 있다.
다음 단계 4828 에서는, 신호 레벨 제어부 (4614) 가, 예를 들어, 미디어 데이터 스위치 (4616; 도 46a 에 도시됨) 에 스케일링된 미디어 데이터 세트를 출력 할 수도 있고, 그 후, 미디어 데이터 스위치는 그 미디어 데이터를 수신지 디바이스에 라우팅할 수도 있다.
전술한 설명으로부터 인식할 수 있는 바와 같이, 본 발명의 하나 이상의 실시형태는, 핸드오프 동안 발생할 수도 있는 중첩 및 갭을 조작할 수 있는 무선 통신 시스템을 제공한다. 상호상관, 합성 및 확장과 같은 다양한 방법을 구현함으로써, 이 무선 통신 시스템은 잡음, 고장, 에코 등을 실질적으로 제거하여 사용자의 전자통신 경험을 향상시킨다. 또한, 이 무선 통신 시스템은, 핸드오프 발생시에 발생할 수도 있는 신호 레벨에서의 변경을 조절하여, 신호 레벨의 기대되지 않는 변경시에 발생할 수도 있는 불쾌한 경험을 실질적으로 제거한다.
C. 운영자 및 사용자 제어 룰 및 선호도에 의한, 포인트-투-포인트 및 포인트-투-멀티포인트 멀티 미디어 회의 호출 (랑데뷰 호출) 의 자동 셋업
1. 본 발명은 미디어 통신 서버를 사용하는 포인트-투-포인트 및 포인트-투-멀티포인트 멀티미디어 회의 분야에 적용될 수 있다. 도 5a 및 5b 는, 미디어 통신 서버에서, 운영자 및 사용자 제어 룰 및 선호도에 의해 포인트-투-포인트 및 포인트-투-멀티포인트 멀티미디어 회의 호출을 자동으로 셋업하는 방법을 도시한다.
2. PP 또는 PMP 미디어 호출을 셋업하는 현재의 메커니즘은 임의의 사용자 상태 또는 선호도에 기초하여 구동되지 않는다. 하나 이상의 참가자가 비가용이면, 미디어 서버는, 의장 (chairman) 이 음성 메일에 남아 있는 것을 허용할 것이다. 유일한 동작 과정은, 의장이, 모든 참가자들이 가용일 때까지 시도를 계속하거나 또는 재호출할 하나 이상의 참가자에 의존하여, 추후 어떠한 시점에 회의를 시도하는 것이다. 이 과정은 비효율적이고, 시간 및 리소스를 소모하고, 흔히 관리하기 어렵다. 유일한 메커니즘은 모든 참가자들이 가용이 되도록 시간상 미리 회스를 계획하고 스케줄링하는 것이지만, 그 호출의 시점에 참가자들이 가용인 것을 보장하지는 못할 것이다. 전술한 이슈는, 회사의 미디어 통신 서버와 프레즌스 서버 사이의 조정 및 정보 교환의 부족에 기인한다.
3. 랑데뷰 호출 (RC) 은, 사용자가 시간을 특정할 필요없이 포인트-투-포인트 (PP) 또는 포인트-투-멀티포인트 (PMP) 미디어 호출 (음성, 비디오 또는 멀티미디어일 수 있음) 을 셋업할 수 있게 하며 - 미디어 통신 서버는 관련된 모든 참가자의 (프레즌스 정보, 네트워크 가용성 등을 포함하는 다양한 팩터에 의해 결정되는) 가용성에 기초하여 호출 확립의 시간을 결정하고 요청된 호출을 셋업하기 전에 모든 참가자에게 프롬프트한다. 가용성의 통지는 다수의 사용자 구동 파라미터를 고려하기 위해 매우 향상될 수 있어서, 이에 의해 미디어 통신 서버가, 모든 참가자의 선호도에 기초하여 호출할 시점에 대한 더 정확한 판단을 할 수 있게 한다. 이들 추가적인 선호도 및 룰 중 일부는 네트워크 운영자 제어 룰, 시간에 기초한 사용자 선호도, 매체 선택, 호출 참가자, 호출 우선순위 등을 포함한다.
4. 본 발명의 이점은,
모든 회사 룰, 참가자 선호도 및 가용성을 고려하여 자동으로 스케줄링되는 PP 및 PMP 회의 호출의 셋업 및 확립
우선순위 기반 통신을 위한 음성 메일에 대한 의존성 대신에 즉시 확립되는 호출의 결과로서 회사 내에서의 효율적이고 효과적인 통신
을 포함한다.
6. 전반적인 아키텍쳐
도 5a 는 RC 아키텍쳐의 하이 레벨 개관을 제공한다. RC 아키텍쳐는 RC 클라이언트뿐만 아니라 미디어 통신 서버의 컴포넌트를 갖는다. 이 경우의 클라이언트는 핸드셋, 소프트 폰, PDA 등일 수 있다. RC 클라이언트는 사용자에 대한 사용자 인터페이스를 관리하고 RC 요청을 행할 책임이 있다. 또한, RC 클라이언트는 사용자가 자신의 펜딩 RC 요청을 문의하고 추적할 수 있게 한다. 또한, RC 클라이언트는, 하나 이상의 참가자가 "비가용"인 것으로 보이면, 사용자가 정규의 PP 또는 PMP 호출을 RC 요청으로 변환할 수 있게 한다. 유사하게, 서버가 RC 호출을 셋업하는 경우, 클라이언트는 사용자에게 프롬프트하고, 그에 따라 사용자 피드백에 기초하여 응답할 것이다. 서버측 상에서, RC 로직은, 운영자에 의해 구성되는 회사 적용가능 룰 및 개별적인 사용자에 의해 구성되는 사용자의 선호도뿐만 아니라 프레즌스 서버로부터의 정보를 수집 및 상관시키는 것에 관련된다.
사용자가 클라이언트로부터 PP 또는 PMP 요청을 행하는 경우, 클라이언트 소프트웨어는 참가자의 가용성을 체크할 것이고, 하나 이상의 참가자가 비가용이면, 그 호출을 RC 요청으로 할 것인지에 관하여 그 사용자에게 프롬프트할 것이다. 또한, 사용자는 자신이 그 요청을 얼마나 오래 펜딩으로 유지하길 원하는지에 대해 특정할 수 있다. 미디어 통신 서버는 그 RC 요청을 추적할 것이다. 서버가, 모든 참가자가 사용가능한 것으로 결정한 경우, 서버는 그 호출을 계속하길 원하는지에 대해 모든 참가자에게 프롬프트할 것이다. 모든 참가자가 성공적으로 확인응답하면, 호출이 행해질 것이다. 참가자들 중 임의의 참가자가 요청을 거부하면, RC 호출은 실패할 것이고, 모든 참가자는 그 결과를 통지받을 것이다. 또한, 사용자는 펜딩 RC 호출의 리스트 (그들이 발신한 호출뿐만 아니라 그들이 참가자인 호출) 를 문의할 수 있고, 이미 발신한 임의의 요청을 취소할 수 있다. 또한, 서버는 호출을 진행할 최상의 시간을 결정할 때 사용자 정의 룰뿐만 아니라 회사 정의 룰을 이용할 것이다.
7. 운영자 및 참가자 룰, 및 RC 에 대한 선호도
가용성 및 RC 셋업 판정은 다양한 사용자 및 운영자 제어 룰, 및 선호도에 기초한다.
다음의 룰 및 선호도들은 RC 가 행해지기 전에 참가자 가용성을 결정하는데 사용될 수 있다.
· 임의의 RC 서비스에 대한 참가자 옵트아웃 (opt-out) 선호도. 참가자는 RC 호출을 받아들이길 (entertain) 원하는 경우 (또는 원하지 않는 경우), 시간 주기를 특정하거나 완전하게 옵트아웃할 수 있다.
· 참가자 선호도 - RC 우선순위, RC 소유자, 참가자 리스트, 시각 (time of day), 네트워크 선호도 (회사 Wi-Fi, 공중 Wi-Fi, 셀룰러 등), 아웃룩 캘린더 스케줄 등에 기초함.
· 참가자들이 참가하기를 원하는 RC 호출을 한정하는 사용자 개인 "허용" 및 "차단" 사용자 리스트
· 호출이 행해져야 할 시간 윈도우에 대한 RC 의장 선호도.
· 운영자 제어 회사 룰 - RC 에 대한 셀룰러 특권, 사용자의 RC 특권 등.
8. RC 호출을 행하고 스케줄링하기 위한 미디어 통신 서버 내의 로직.
프로세싱 및 셋업을 위해 미디어 통신 서버 내에서 이용되는 로직은 다양한 팩터들에 의해 제어된다.
· RC 를 행할 시간 및 참가자 가용성을 결정하기 위해, 회사 및 참가자 구동 룰, 및 선호도와 미디어 통신 서버 내의 프레즌스 서버와의 통합.
· RC 에 대한 필수적 및 선택적 참가자 리스트의 지원
· 참가자가 RC 를 조기 수용 또는 조기 거부할 능력. 사용자는, RC 가 미디어 통신 서버에 의해 셋업되기 전에도 RC 요청을 무조건적으로 수용 또는 거부할 수 있다.
· 그 캘린더를, 가용성 판정을 위한 입력으로서, 및 RC 호출 상태 및 임의의 펜딩 RC 요청을 반영하기 위한 참가자의 캘린더로서 사용하기 위해, 아웃룩 프로그램과의 통합.
· 요청의 가용성 및 시간에 부가하여 요청 우선순위에 기초하여 RC 를 배치할 능력.
· 특정 참가자가 비지인 경우에도 선택적 RC 호출을 행할 수 있음 - 그 참가자들에게 통지하고, RC 에 초대하기 위한 호출-대기를 사용함.
서버가 RC 요청을 수신한 경우, 관련된 모든 참가자가 RC 서비스에 대해 사인했는지를 확인하기 위해 유효성 체크가 행해진다. 또한, 서버는 성능에 영향을 미치는 어떠한 임계값도 크로스되지 않았음을 확인하기 위해 체크한다. 유효한 RC 요청이면, 서버는 그 요청을 큐잉하고, 그 요청에 관련된 RC ID 뿐만 아니라 그 상태에 대한 RC 응답을 전송할 것이다. RC 요청이 유효하지 않거나 수용될 수 없는 것이 발견되면, 서버는 그 실패 원인에 대한 RC 응답을 발신자에게 전송할 것이다.
모든 참가자가 그 순간에 가용인 경우, 서버는 임의의 다른 PP 또는 PMP 호출과 같은 요청을 프로세싱하여 - 미디어 경로가 확립될 것이고, 그 상태에 대한 성공적인 RC 응답 메시지가 발신자에게 전송된다.
RC 서버는, RC 요청들 중 임의의 요청이 호출 셋업을 위해 준비되었는지 여부를 결정하기 위해, 현저한 RC 요청의 리스트를 주기적으로 검토할 것이다. 도 2 의 흐름도는, 셋업에 적절한 RC 요청을 선택하기 위해 미디어 통신 서버에 의해 이용되는 로직을 도시한다.
셋업에 적절한 RC 요청의 리스트가 결정되면, RC 사용가능 미디어 통신 서버는 개별적 미디어 경로의 셋업 프로세스를 시작할 것이다. 호출에 관련된 모든 참가자에 대해, RC 프롬프트 메시지를 전송한다. RC 프롬프트는 의장에 대한 세부사항, 참가자 리스트, 호출 요약 등을 포함할 것이다. 서버는 클라이언트로부터 되돌아 오는 RC 프롬프트 응답을 수집할 것이다. 또한, 서버는 참가자에 의해 전송된 임의의 메시지에 대한 추적을 계속할 것이다. 임의의 참가자가 RC 프롬프트를 거부했거나 또는 타임아웃 (클라이언트로부터의 응답의 부족) 이 존재하면, 서버는, RC 호출 시도가 실패라고 결론짓고, 사용자로부터의 응답 (존재한다면) 뿐만 아니라 취소된 호출에 대해 참가자에게 통지하는 의장 및 응답한 참가자 모두에게 RC 취소 통지를 전송할 것이다. 모든 참가자가 호출을 수용한 경우, RC 서버는, 미디어 스위칭 층이 요구하는 모든 정보와 PP/PMP 요청을 함께 취합할 것이고, 호출을 셋업하기 위해 이 요청을 미디어 스위칭 층에 포워딩할 것이다. 또한, RC 서버는 호출이 셋업중인 것에 대한 RC 진행 통지를 모든 참가자에게 전송할 것이다.
9. 결론
RC 미디어 통신 서버에 의해 제공된 서비스는 회사 내의 통신 작업을 더 효과적이게 하고, 음성 메일에 덜 의존할 수 있는 고용인에게 시간을 절약시킬 것이다. 이것은, 이동가능하고 데스크 전화에 고정되지 않은 고용인에 대해 특히 사실이다. 미디어 통신 서버는 회의 호출을 행하기 위한 최적의 시간을 결정하면서 이동성 양태를 고려할 것이다.
10. 본 발명의 이점은 다음과 같은 점을 포함한다.
· 모든 회사 룰, 참가자 선호도 및 가용성을 고려하여 자동으로 스케줄링되는 PP 및 PMP 회의 호출의 효율적 셋업 및 확립.
· 앞뒤로 이동하는 음성 메일, 및 가용성 체크를 위한 계속적인 호출에 의존하는 대신, 즉시에 확립되는 호출에 기인한 회사 내의 효과적이고 효율적인 통신. 이것은, 이동가능하고 데스크 전화에 고정되지 않는 종업원에 대해 더 사 실이다.
· 표준 음성 메일 서비스에 부가하여 그 순간에 하나 이상의 참가자가 가용이 아니면, 단순한 PP 또는 PMP 호출을 RC 요청으로 전환하는 옵션을 제공하는 클라이언트의 능력.
· 회사 룰 및 사용자 선호도와 미디어 통신 서버 내의 회사 프레즌스 서버와의 통합
· 미디어 통신 서버가 미팅과 같은 회의 호출을 관리할 수 있게 하는 아웃룩 및 다른 캘린더 프로그램과의 통합.
11. 회의 호출을 행하면서 사용자 가용성 및 선호도를 획득하기 위해 미디어 통신 서버 내에 로직을 도입하는 것은, 실패한 호출 시도를 감소시킬 것이고, 시행된 호출이 모든 참가자에게 제공되는 원하는 목적을 충족시키는 것을 보장할 것이다. 이 방법은, PP 또는 PMP 회의 호출을 행할 최적의 시간을 제안하면서, 미디어 통신 서버가 프레즌스 서버로부터의 프레즌스 정보를 운영자 제어 회사 룰 및 사용자 제어 사용자 선호도와 상관시킬 수 있게 한다. 최적의 시간을 판정할 때의 이 로직은 조직 내의 효과적인 회의를 유도하고, 또한, 이 서비스를 제공할 때 소비되는 시간 및 비용을 절약시킬 것이다.
12. RC 클라이언트 기술 규격
도 5b 의 도면은, RC 요청의 셋업 및 RC 의 후속적 확립 과정 동안 클라이언트와 미디어 통신 서버 사이의 메시지 교환에 대한 하이 레벨 타임라인을 제공한다. 다음의 동작은 RC 능력에 대한 RC 클라이언트 상에서 지원될 것이다.
a. RC 요청 프로세싱
b. RC 응답 프로세싱
c. 현저한 RC 요청의 리스팅 및 변형/취소
d. 현저한 RC 요청에 대한 조기 응답 (수용/거부)
e. RC 프롬프트 메시지 프로세싱
f. RC 진행 및 RC 취소 통지 메시지 프로세싱
13. RC 서버 기술 규격
도 5c 의 도면은, 이 기능성을 지원하기 위해 RC 서버에 의해 이용되는 코어 로직을 도시한다.
a. RC 요청 프로세싱
b. 참가자 비가용성 및 선호도에 기초하여 표준 PP 및 PMP 호출로부터 RC 요청으로의 자동 전환.
c. 주기적 RC 요청 프로세싱 - 이전에 특정된 모든 기준에 기초하여 셋업을 위한 RC 요청 선택 및 타이머.
d. RC 호출 셋업의 일부로서 RC 프롬프트의 제공 및 응답의 수집
e. RC 미디어 경로 셋업
상세하게는, 본 발명의 실시형태는 원격회의에 관련된다. 종래 기술에서, 원격회의의 셋업은, 인간의 참가를 요구하고 많은 인내를 요구하는, 지루하고 수동이며 시간 소모적인 작업이다. 예를 들어, 5 명의 참가자가 존재하면, 참가자 중 하나 또는 그의 어시스턴트 (이하, "보조자 (facilitator)" 라 칭함) 은, 원격회의 시간 및 방법에 관련된 동의를 획득하기 위해, 이메일 또는 IM, 또는 전화와 같은 또 다른 통신 수단을 통해, 또는 본인 스스로 미리 그 원격회의의 셋업을 발의해야 한다.
예를 들어, 보조자는 이메일 프로그램을 이용하여, 공유 캘린더가 실제로 가용이면 각각의 참가자의 캘린더에 액세스할 수도 있다. 그 후, 보조자는 각각의 참가자에 대해 약속을 셋업해야 하고, 원격회의 시간 및 방법에 대한 동의를 획득해야 한다. 모든 당사자들이 동의하면, 보조자는, 원격회의를 유지하기 위해 지정된 시간에 도달할 때까지, 통상적으로 전화 서비스 제공자와, 또는 참가자들 중 한 명을 원격회의의 다른 참가자들을 책임지는 원격회의 리더로 지정함으로써 원격회의 편이를 셋업할 것이다.
원격회의를 진행할 시간에 도달한 경우, 각각의 참가자는, 원격회의에 참가할 수 있도록, 보조자가 셋업한 지정된 전화 번호로 호출할 책임이 있다. 참가자가 호출하는 방법을 인식하지 못한 경우, 및/또는 필수적인 사용자 id/패스워드를 입력하는 과정에 익숙하지 못한 경우, 그 참가자가 원격회의 호출을 행하도록 돕는데 더 많은 시간이 낭비된다. 이것은, 종종, 그 참가자가 다른 나라에서 호출을 하고, 예를 들어, 특별한 다이얼링 시퀀스를 요구할 수도 있는 경우이다. 지정된 원격회의 시간에, 참가자들 중 한 명이 참가하는 것을 실패하고, 그 참가자가 원격회의에 필요한 경우, 그 필요한 참가자가 참가할 수 있도록 그 원격회의를 다시 스케줄링해야할 수도 있다.
또한, 원격회의 호출을 셋업하는 종래의 방법은, 개별적 참가자들의 선호 통 신 모드 또는 그들의 시간 의존적 통신 모드에 대한 참가자들의 선호도 (예를 들어, 오전 7 시부터 오전 10 시까지는 셀 폰, 오후 12 시부터 오후 1 시까지는 IM, 및 다른 시간에는 사무실 전화) 를 고려하지 않는다. 보조자가 이메일 또는 호출을 하여 원격회의를 셋업하려고 시도하는 경우, 종래 기술에서는, 이러한 타입의 조정은 수동으로 및 각각의 참가자와 개별적으로 조작될 필요가 있다.
본 발명의 실시형태에 따르면, 복수의 원격회의 참가자들 사이에 원격회의를 셋업하는 컴퓨터 구현가능 방법 및 장치가 제공된다. 본 발명의 실시형태들은 각각의 참가자의 가용성 및 선호도를 자동으로 결정한다. 허용가능한 원격회의 윈도우 내의 소정의 시간에, 모든 참가자들이 가용인 것이 발견되면, 본 발명의 실시형태들은 랑데뷰 호출 (RC) 서버를 이용하여, 문의가 행해진 시간에 개별 참가자들의 선호된 통신 모드를 사용하여 모든 참가자들의 가용성을 자동으로 확인한다. 모든 요구된 참가자들이 회의 진행을 동의하면, 본 발명의 실시형태는, 원격회의가 진행될 수 있도록, 베어러 (bearer) 채널을 각각의 참가자에게 접속시킨다.
본 명세서에서 사용되는 용어로서, 랑데뷰 호출은, 보조자에 의해 미리 입력된 파라미터에 기초하여, 자동으로 셋업되고 개시되는 회의 호출을 지칭한다. RC 서버가 참가자의 프레즌스 상태에 대해 모니터링하고, 원격회의를 진행하기 위한 참가자의 선호도 및 선호된 통신 모드를 이용하기 때문에, 셋업은 부분적으로 자동이다. 원격회의에 대해 갖춰진 파라미터가 제공되는 회의를 진행할 수 있다고 RC 서버가 결정한 경우, 각각의 참가자는 RC 서버에 의해 호출되기 때문에, 개시는 부분적으로 자동이다.
일 실시형태에서, 회사의 RC 룰은, 몇몇 사용자에 의해 설정된 선호도 세팅을 변형하도록 적용될 수도 있다. 예를 들어, 하이 레벨 매니저가 소정의 시간에 랑데뷰 호출을 셋업하기를 원하는 경우, 회사 RC 룰은, 로우 레벨 고용인에 의해 설정된 선호도 세팅을 오버라이드하여, 그 시간에 원격회의가 유지되지 않도록 할 수도 있다. 또한, 회사 RC 룰은, 초대할 참가자 각각에 제공되는 권한의 레벨, 장거리 원격회의가 가능한지 여부, 중첩하거나 충돌하는 원격회의 또는 특정 참가자 중 일부에 대한 비가용성과 같은 다른 RC 폴리시를 강화시키기 위해 이용될 수도 있다. 회사 RC 룰은 소정의 회사의 요구에 따라 단순할 수도 있고, 또는 복잡할 수도 있다.
또한, 사용자는, 예를 들어, 자신의 일반적 가용성 및 선호된 통신 모드에 대한 선호도를 나타낼 수도 있다. 몇몇 경우, 사용자는, 예를 들어, 특정 타입의 원격회의 요청을 블로킹하거나 영속적으로 거부할 수도 있다. 또한, 예를 들어, RC 가 아침에 발생했다면, 사용자가 자신의 데스크 전화에서 콘택트될 수 있는 반면, 저녁의 RC 는 사용자의 셀룰러 폰에 라우팅되도록, 사용자는 시간-의존적 통신 선호도를 특정할 수도 있다.
프레즌스 서버는, 모든 요구된 사용자가 RC 를 수행하기 위해 가용인지 여부를 결정하기 위해 사용자의 가용성을 추적한다. 프레즌스 서버를 사용하여, 본 발명의 실시형태는, 참가자가 로그온했는지 여부, 및/또는 참가자가 특정하는 위치 및/또는 통신 방법을 추적할 수 있다. 모든 사람이 가용이고, 그들의 가용성이, RC 를 수행하기 위한 적절한 윈도우라고 보조자가 나타낸 윈도우와 일치하면, 본 발명의 실시형태는 자동으로 참가자에게 문의하고, 그 랑데뷰 호출에 대한 가용성을 확인한다. 모든 당사자들이 확인하면, 본 발명의 실시형태는 각각의 참가자에 대한 베어러 채널을 생성하고, 그 베어러 채널을 함께 접속시켜, RC 를 생성하고, RC 는 진행될 수 있다.
본 발명의 특성 및 이점은 다음의 도면 및 설명을 참조하여 더 잘 이해될 수도 있다.
도 19 는, 본 발명의 일 실시형태에 따라, 자동 랑데뷰 호출 환경 (1902)의 하이 레벨 논리 블록도를 도시한다. 도 19 에는, RC 서버 모듈 (1906) 이 구현되는 물리적 하드웨어를 나타내는 이동성 서버 (1904) 가 도시되어 있다. RC 서버 모듈 (1906) 은, 원한다면 개별적 샤시 상에 구현될 수도 있음을 당업자는 인식할 것이다.
복수의 RC 클라이언트 (1908, 1910, 1912 및 1914) 가 도시되어 있다. 랑데뷰 호출 클라이언트 (1908) 는 이동 핸드셋을 나타내고; RC 클라이언트 (1910) 는 PDA 를 나타내고; RC 클라이언트 (1912) 는 유선 IP 폰을 나타내고; RC 클라이언트 (1914) 는 랩탑 또는 데스크탑 컴퓨터 상의 소프트 폰으로서 실행되는 소프트웨어 클라이언트를 나타낸다. 각각의 RC 클라이언트 (1908, 1910, 1912 및 1914) 는, 그들의 선호도를 표시하기 위해, RC 서버 모듈 (1906) 과 랑데뷰 호출을 셋업하는데 이용될 수도 있는 RC 클라이언트 소프트웨어를 실행한다. RC 서버 모듈은 이들 프레즌스 정보를 프로세싱하거나, 그리고/또는, 적용에 따라 내부 프레즌스 서버 및 외부 프레즌스 서버 중 하나 또는 둘 모두에 포워딩할 것이다. 또한, RC 클라이언트의 선호도는 RC 서버 모듈에 의해 사용자 선호도 데이터베이스 (1924) 에 설정된다.
또한, 적절하게 인가된 사용자는 자신의 RC 클라이언트를 이용하여, (회사 룰 데이터베이스 (1926) 내에) 회사 RC 룰을 설정할 수도 있다. RC 서버 모듈 (1906) 과 상호작용하기 위한 RC 클라이언트 소프트웨어를 실행할 수 있는 임의의 연산 디바이스가 이용될 수 있음을 당업자는 인식할 것이다. 또한, 회사 운영자는 RC 서버 모듈에 의해 제공되는 관리 인터페이스를 사용하여, 회사 룰 데이터베이스 (1926) 내에 회사 RC 룰을 설정할 수도 있다.
RC 클라이언트 (1908) 가 RC 를 셋업하기를 원하는 경우, RC 클라이언트 (1908) 는, 원격회의가 개최될 수도 있는 시간 블록 (예를 들어, 2007년 12월 1일 목요일 오전 8 시부터 오후 12 시까지), 원격회의의 지속기간 (예를 들어, 30 분), 요구되는 참가자(들), 및 선택적으로 RC 의 토픽을 나타내기 위해, RC 서버 모듈 (1906) 과 통신한다. 또한, RC 클라이언트 (1908) 는, 원한다면, 필수적 참가자들 및 선택적 참가자들의 아이덴터티를 특정할 수도 있다. 일 실시형태에서, RC 클라이언트 (1908) 에 의한 요청은, 필수적 참가자들이 펜딩 요청을 인식하게 되도록, 모든 필수적 참가자들에게 자동으로 전달될 수도 있다. 또 다른 실시형태에서, 이 요청은, 요청된 RC 가 참가자의 캘린더에 포스팅되고, 참가자들이 그 펜딩 요청을 인식하게 될 수 있도록, (예를 들어, 이메일 또는 IM 캘린더 이벤트 요청을 통해) 전자 캘린더에 자동으로 삽입될 수도 있다. 원한다면, 참가자들은 제안된 RC 를 코멘트하거나 수용하거나 거부하는 것이 요청될 수도 있다.
특정 RC 윈도우 (예를 들어, 전술한 2007년 12월 1일 오전 8 시부터 오후 12 시) 의 시작시에, RC 서버 모듈 (1906) 은 내부 프레즌스 서버 (1920) 및 외부 프레즌스 서버 (1922) 중 하나 또는 양자를 통해, 모든 참가자들이 가용인지 여부를 문의한다. 참가자의 캘린더 및/또는 로그인 동작으로부터, 또는 회사 회의 호출 룰/사용자 선호도의 적용에 의해 소정의 참가자 가용성이 추론될 수도 있다. 모든 참가자들이 가용이 아니면, RC 서버 모듈 (1906) 은, 모든 참가자가 가용인 시점을 검출하기 위해 프레즌스 서버들 중 하나 또는 양자를 계속하여 모니터링한다.
모든 참가자들이 가용인 경우, RC 서버 모듈 (1906) 은, 회사 RC 룰 데이터베이스 (1926) 및/또는 사용자 선호도 데이터베이스 (1924) 에 셋업된 룰 및 선호도를 이용하여, RC 시간이 도달되었고 RC 가 시작하려 함을 확인하도록 각각의 참가자 (예를 들어, PDA (1910), 유선 IP 폰 (1912), 및 소프트 폰 (1914)) 에게 통지를 전송한다. 모든 참가자들이 동의하면, RC 서버 모듈 (1906) 은 미디어 시그널링 층 (1930) 및 미디어 스위칭 층 (1934) 을 이용하여, 참가자들 사이에 베어러 채널 접속을 달성한다. 예를 들어, RC 서버 모듈 (1906) 은 이동성 서버 (1904) 내의 스위칭 모듈을 이용하여, 미디어 서버 (1904) 또는 회사 PBX 에 대한 각각의 참가자 사이에 호출을 확립하며, 개별적 베어러 채널은 RC 를 생성하기 위해 상호접속될 수도 있다. 그 후, RC 가 시작될 수도 있다.
한편, 하나 이상의 참가자가 거부하면, RC 서버 모듈 (1906) 은 모니터링 상태로 복귀하여, 모든 참가자가 가용인 것이 발견되는 경우 RC 를 셋업할 다음 기회 를 위해 참가자들을 계속하여 모니터링한다. 일 실시형태에서, RC 서버 모듈 (1906) 은, 거부한 참가자가 RC 수행을 원하는 시간에 대해 그 거부 사용자에게 문의할 수도 있고, 그 시간을 이용하여 RC 를 다시 셋업할 수도 있다. 참가자가 계속하여 거부하면, 원격회의의 개시를 용이하게 하기 위해, 필요하다면, 보조자가 수동으로 개입하도록 선택적으로 통지될 수도 있다.
도 20 은, 본 발명의 일 실시형태에 따라, RC 호출의 셋업시에 RC 서버 모듈 (1906) 에 의해 수행되는 단계들을 도시한다. 단계 2002 에서는, RC 서버 모듈 (1906) 이, 모든 참가자가 가용인지 여부를 확인하기 위해, 내부 프레즌스 서버 (1920) 및 외부 회사 프레즌스 서버 (1922) 중 하나 또는 양자에 문의한다.
모든 참가자가 가용인 아니면 (2002 의 아니오 브랜치), 이 방법은 단계 2004 로 진행하여, RC 주기가 만료되었는지 여부를 문의한다. RC 주기가 만료되지 않았다면, 이 방법은 단계 2002 로 복귀하여, 모든 참가자가 가용인지 여부를 계속하여 모니터링한다.
한편, RC 주기가 만료되었다면 (2004 의 예 브랜치), RC 취소 프로세싱 (2050) 이 개시되며, RC 요청이 만료되었고 RC 요청 주기 동안 참가자의 비가용성 때문에 RC 를 셋업할 수 없었음이 보조자에게 통지된다.
프레즌스 서버에 따라 모든 참가자들이 가용이면 (2002 에서 예 브랜치), 이 방법은 단계 2010 으로 진행하여, 적절한 RC 요청의 리스트를 현재의 펜딩 RC 요청에 추가한다.
펜딩 RC 요청과 적절한 RC 요청 사이의 차이는, 펜딩 요청은 모든 참가자가 가용인 것으로 확인되지 않은 요청인 반면, 적절한 RC 요청은 모든 참가자가 가용인 것으로 확인된 요청이라는 사실에 관련된다.
각각의 적절한 RC 요청에 대해, 프로세싱은 다음과 같이 진행된다. 단계 2020 에서는, 적절한 RC 요청에 관련된 참가자들이 식별된다. 모든 적절한 RC 요청에 대해 동일하게 결정된다. 또한, 중첩된 참가자들이 식별된다. 본 명세서에서 이용되는 용어로서, 중첩된 참가자는 중첩하는 적절한 RC 요청을 갖는 참가자를 나타낸다. 예를 들어, 소정의 참가자가, 중첩하는 RC 요청 주기를 갖는 2 개의 서로 다른 적절한 RC 요청에 관련되면, 소정의 참가자는 2 개의 서로 다른 RC 에 동시에 존재할 수 없기 때문에 잠재적인 충돌이 발생한다. 따라서, 중첩하는 참가자가 식별되고, 그에 따라 RC 요청 서브그룹이 생성된다.
일 실시형태에서, 각각의 참가자는 오직 단일한 서브그룹에 할당된다. 즉, 어떠한 단일한 참가자도 2 개의 서로 다른 서브그룹에 할당되지 않는다. 따라서, 각각의 서브그룹에 관련된 RC 는 또 다른 서브그룹에 관련된 나머지 RC들에 대해 독립적으로 진행될 수 있다. 예를 들어, 원격회의로 셋업되기에 적절한 (즉, 모든 참가자들이 그들의 가용성을 확인한) 4 개의 적절한 RC 요청을 가정한다. RC 1 에 대해, 참가자들은 A, B 및 C 이고; RC 2 에 대해, 참가자들은 A, C 및 D 이고; RC 3 에 대해, 참가자들은 W, X 및 Y 이고; RC 4 에 대해, 참가자들은 D, E 및 F 로 가정한다.
이 경우, 2 개의 서브그룹이 생성될 수 있으며, 제 1 서브그룹은 RC 1, RC 2 및 RC 4 를 포함한다 (참가자 A, B, C, D, E, 및 F 에 관련된다). 제 2 서브그 룹은 제 3 원격회의 RC 3 을 포함한다 (참가자 W, X 및 Y 에 관련된다).
단계 2024 에서는, 각각의 적절한 RC 요청에 대해, 임의의 참가자들이 다수의 적절한 RC 요청에 관련되는지 여부가 확인된다. 관련되지 않으면, 이 방법은 블록 2026 으로 진행하여, 그 적절한 요청들에 대한 RC, 즉, 임의의 다른 적절한 RC 요청에 관련되지 않은 참가자를 포함하는 RC 가 셋업된다. 이 예에서는, 참가자 W, X 및 Y 에 관련된 제 3 RC 가 단계 2026 에서 셋업될 수 있다.
한편, (RC 1, RC 2 및 RC 4 의 경우와 같이) 참가자들이 다수의 RC 요청에 관련되면, 이 방법은 단계 2030 으로 진행하여, 최적의 비중첩 RC 요청 서브그룹을 정렬 및 식별한다. 예를 들어, 이 예를 참조하면, RC 1, RC 2 및 RC 4 는 중첩하는 참가자들에 관련되도록 식별되기 때문에, 몇몇 RC 가 다른 RC 보다 더 높은 우선순위를 가질 수도 있는지 여부, 서브그룹 내에서 특정 RC 가 중첩하는 참가자들을 갖지 않는지 여부 등을 결정하기 위해 알고리즘이 생성될 수도 있다.
이 경우, RC 2 와 RC 4 가 중첩하는 참가자를 갖지 않는 것이 확인된다. 그러나, 제 1 원격회의 RC 1 (참가자 A, B 및 C 에 관련됨) 는 제 2 RC (참가자 A, C 및 D 에 관련됨) 및 제 4 원격회의 RC 4 (참가자 D, E 및 F 에 관련됨) 모두와 충돌하는 참가자를 갖는다. 예시적인 알고리즘은, RC 2 및 RC 4 를 수행함으로써, 동시에 수행될 수 있는 원격회의의 수가 최대화되도록 제안하기 위해 표결할 수도 있다.
그러나, 또 다른 알고리즘은, RC 1 이 더 긴급한 토픽, 또는 더 중요한 참가자 또는 참가자 그룹에 관련되어 선호도를 가져야 한다고 결정할 수도 있다. 충돌을 해결하기 위한 이들 서로 다른 알고리즘들은 오직 예시이며, 소정의 회사의 소망에 따라 단순할 수도 있고 복잡할 수도 있다.
이 예에 따르면, 이 방법은 단계 2032 로 진행하여, 비중첩 서브그룹으로부터의 RC 요청에 대한 RC 호출 셋업 프로세싱이 실행된다. 이 경우, RC 2 및 RC 4 에 대한 RC 호출 셋업 프로세싱이 개시되어, 그 후, 이들 2 개의 원격회의에 대한 RC 호출 셋업 프로세스 (2026) 가 진행된다. 셋업되지 않은 RC 는 펜딩 RC 요청의 리스트로 복귀될 수도 있고, 원한다면, 적절한 RC 요청으로서 유지될 수도 있다.
도 21 은, 본 발명의 일 실시형태에 따라, 2 명의 원격회의 참가자에 관련된 단순한 호출 플로우를 도시한다. 이 예에서, 사용자 A 및 사용자 B 는 펜딩 RC 요청을 통해 RC 에 참가하도록 요청되고, RC 요청 주기가 시작된다. 또한, 이 예시를 위해, 사용자 A 의 시작 상태는 가용인 반면 사용자 B 의 시작 상태는 가용이 아니다. 도 21 에 도시된 바와 같이, 사용자 A 는 RC 를 위해 이동성 서버에 RC 요청을 실행한다 (2102). 이동성 서버 (2102) 는, 예를 들어, 이 예에서는 1900 인 랑데뷰 호출 ID (RCID) 로 2104 에서 응답한다.
주기 2106 은 일반적으로 RC 요청 프로세싱에 관련된다. 주기 2108 은 펜딩 RC 요청의 프로세싱에 관련된다. 따라서, 사용자 A 는, 사용자 A 가 참가자로 특정된 펜딩 RC 요청의 리스트를 문의할 수도 있다. 사용자 A 가 또 다른 RC 에 참가하는 것을 어떠한 다른 사용자도 요청하지 않았다고 가정하면, 이동성 서버는, 사용자 A 가 참가자로 요청된 원격회의의 리스트로 복귀한다 (2110). 주기 2112 는, 참가자들이 가용이 된 것을 프레즌스 서버가 통지하고, 참가자들이 원격회의를 수행하기를 원하는지 여부를 RC 서버 모듈이 확인하는 확인 주기와 관련된다. 따라서, 사용자 B 의 가용성이 이동성 서버의 프레즌스 서버에서 업데이트된다 (2120).
사용자 A 및 사용자 B 모두의 가용성을 통지하면, 이동성 서버 (2102) 는, 사용자 A 및 사용자 B 가 그 시점에 원격회의를 수행하기를 원하는지 여부를 확인하는 프롬프트를 전송한다. 이것은, 각각, 사용자 B 에게는 참조부호 2122 로 표시되고 사용자 A 에게는 2124 로 표시된다. 그 후, 사용자 B 는 응답하고 (2126), 사용자 A 또한 응답한다 (2128). 모든 사용자가 원격회의 요청을 수용하면, 프로세싱은 주기 2140 에 도시된 단계들에 따라 진행된다. 참가자들 중 하나 또는 모두가 거부하면, 프로세싱은 주기 2150 에 도시된 단계들에 따라 진행된다. 주기 2150 에서는, 사용자 A 및 사용자 B 중 하나 또는 모두가 회의 호출 서버 모듈에 의한 요청 (이 예에서는, 이동성 서버 내에 구현됨) 을 거부하면, 이동성 서버는, 그 요청이 거부되었음을 나타내는 취소 통지 (2152/2154) 를 사용자 A 및 사용자 B 중 하나 또는 모두에게 전송한다. 또한, 이 통지는, 펜딩 요청이 타임아웃되면, 즉, RC 요청 주기가 만료되면, 전송될 수도 있다.
한편, 참가자 A 및 B 모두가 원격회의 수행을 동의하면, 이동성 서버 (2102) 는, 원격회의가 셋업되려는 것을 표시하기 위해 사용자 B 및 사용자 A 에게 그 통지 (각각, 2142 및 2144) 를 전송한다.
도 22 는, 본 발명의 일 실시형태에 따라, 이동성 서버가 구성 컴포넌트로서 프레즌스 서버, 호출 제어부 및 RC 서버를 포함하도록 도시된 것을 제외하고는, 도 21 의 예에서 특정된 파라미터들을 사용하여 원격회의를 셋업하기 위한 호출 플로우를 도시한다. 따라서, RC 요청 프로세싱 주기 2206 에서는, 사용자 A 가 프레즌스 서버에 자신의 가용성 상태를 표시하고, RC 요청 및 RC 응답이 RC 서버와 사용자 A 사이에서 통신된다. 펜딩 RC 요청 문의 주기 2220 에서는, 도시된 바와 같이, 사용자 A 에 관련된 펜딩 RC 리스트에 대한 요청 및 사용자 A 에 관련된 RC 리스트에 대한 응답이 사용자 A 와 RC 서버 사이에서 통신된다. 프롬프트 주기 2240 동안 RC 서버는, 참가자들이 가용이고 원격회의를 수행하려 함을 모든 참가자들에게 확인하려 시도한다. 따라서, 사용자 B 의 가용성은 사용자 B 와 프레즌스 서버 사이에서 통신되고, 프레즌스 서버는 사용자 B 의 프레즌스 상태를 RC 서버로 전달한다. 원격회의를 확인하는 프롬프트가 RC 서버로부터 사용자 A 및 B 에게 각각 전달되고, 각각의 사용자로부터의 응답이 각각 RC 서버에 다시 전달된다. 이에 응답하여, 하나 또는 2 사용자 모두가 그 요청된 원격회의를 수용하거나 거부할 수도 있다. 하나 또는 2 사용자 모두가 RC 서버로부터의 요청된 원격회의를 거부하면, RC 서버는 취소 통지를 사용자에게 각각 전송할 수도 있다 (거부되었다면).
한편, 모든 참가자들이 수용하면, RC 서버는 수용 RC 호출 주기 2270 동안 모든 참가자들에게 각각 진행 통지를 전송한다. 그 후, RC 서버는, 참가자 A 및 B 가 현재 원격회의에 셋업되어 있음을 나타내는 호출 제어 메시지를 통해 호출 제어부와 통신한다. 그 후, 호출 제어부는, 예를 들어, 참가자들을 사용자 A 및 사용자 B 의 랑데뷰 인에이블 통신 디바이스에 초대하는 SIP 초대 메시지를 이용하여, 원격회의 셋업을 시작한다.
전술한 설명으로부터 인식할 수 있는 바와 같이, 본 발명의 실시형태들은, 원격회의를 위한 시간 및 가용성에 대해 각각의 참가자들을 수동으로 확인하기 위해 하나의 통신 모드 (예를 들어, 아웃룩, IM, 인편으로, 이메일 또는 전화) 를 통해 원격회의를 미리 셋업하는 것과 관련된 수동적이고 시간 소모적인 단계들을 제거한다. 또한, 본 발명의 실시형태들은, 보조자가 각각의 참가자와 수동으로 접속하거나 참가자가 수동으로 호출해야 하는 필요성을 제거하고, 에러 또는 망각의 가능성을 더 제거한다. 프레즌스 서버, 회사 RC 룰 및 사용자 선호도를 조합하여, 사용자들은, 회사에 의해 셋업된 회사 룰에 따라, 그리고 사용자에 의해 선호되는 통신 모드를 사용하여, RC 요청 주기 내에서 가용인 때에 통신될 수 있다. 이러한 방식으로, 원격회의는 효율적이고 자동적인 방식으로 셋업될 수 있고, 보조자 및/또는 원격회의 참가자측의 시간 소모, 혼란 및/또는 피로를 제거할 수 있다.
D. 수신 인증을 통한 호출 라우팅
1. 더 많은 회사들이, 비즈니스 목적으로 고용인들이 셀룰러 전화를 사용하는 것을 허용하고 있다. 고용인들은 자신의 셀룰러 전화를 사용하여, 음성 메일 체크, 호출 포워딩 번호 설정 등과 같은 회사의 음성 특성들에 액세스하기 위해 회사에 호출한다. 이 경우, 회사 서버는 IVR (Interactive Voice Response) 을 통해 그 호출자를 인증한다. 이것은, 고용인 특정 데이터가 회사로부터 고 용인에 의해 풀링되는 예이다.
2. 장래에, 예를 들어, 음성을 통한 개인 정보 관리 (PIM; Personal Information Management), 전화를 통한 이메일 음성 등과 같은 많은 회사 특성들이 셀룰러 전화에 푸쉬될 것이다. 이러한 특성들을 셀룰러 전화에 푸쉬하기 위해, 회사 서버는 회사로부터의 호출을 개시함으로써 고용인의 셀룰러 전화에 접속을 확립할 필요가 있다. 이러한 접속은, 회사 고용인이 자신의 셀룰러 전화를 가지고 있다고 가정한다. 회사 고용인이 자신의 셀룰러 전화를 가지고 있지 않거나 또 다른 셀룰러 전화 (대여 전화 또는 대체 전화) 를 사용하여 시작하는 경우, 다음의 이슈들이 이동성 애플리케이션에 대해 발생한다:
a. 회사는 사설 정보/개인적 정보를 인가되지 않은 사람에게 누설할 위험이 있다. 이 정보는 회사 고용인에게 의도된 전화 호출, 음성 메일을 통한 이메일, PIM 정보 등을 포함한다.
b. 또한, 고용인이 회사 서버에 의해 개시된 전화 호출에 응답하지 않는 경우, 셀룰러 오퍼레이터 음성 메일은 그 호출에 응답하고 그 회사 이메일 및 음성메일을 메일박스에 기록할 것이다.
본 발명은, 회사 서버가 셀룰러 전화를 소유한 개인의 신뢰성을 확립할 수 있는 방법을 설명한다. 또한, 그 전화에 응답한 엔터티가 실제로 회사 고용인이고, 오퍼레이터 음성 메일 시스템 또는 몇몇 인가되지 않은 사람이 아님을 보장한다.
3. 방법 - 본 발명은, 사용자를 인증하는 셀룰러 핸드셋 애플리케이션을 발명함으로써 구현된다. 인증 로직은 아래와 같다.
a. 애플리케이션의 시작시에, 사용자 명칭 및 패스워드와 같은 인증 정보를 고용인에게 프롬프트한다. 이 정보는 한정된 시간 주기 동안 캐시와 같은 애플리케이션에 저장될 수도 있다. 이 캐시는 구성된 시간 주기 후 만료될 것이다.
b. 회사 서버가 고용인을 호출하는 경우, 이 애플리케이션은 전화가 울리기 전에 그 호출에 응답할 것이다. 사용자의 로그인 정보가 만료되었으면, 이 애플리케이션은 (예를 들어, 벨이 울림으로써) 사용자의 주의를 유도하고, 사용자에게 다시 인증을 요구한다. 사용자의 로그인 정보가 만료되지 않았다면, 그의 캐시된 인증 정보가 사용된다. 이 애플리케이션은, 이 셀룰러 전화를 사용하고 있는 사용자를 인증하기 위해, DTMF 를 사용하여 번호의 시퀀스 (역방향 호출자 ID - RID) 를 서버에 송신한다. 이 시퀀스는 고용인에 의해 입력된 사용자 명칭 및 패스워드를 사용하여 유도된다.
c. 서버는, 서버 상에 제공된 동일한 사용자 명칭 및 패스워드를 사용하여 RID 를 계산함으로써 고용인을 인증한다.
d. RID 가 매칭되면, 서버는, 셀룰러 전화를 사용하는 인증된 고용인임을 확신하고, 전화 호출, 전화 호출 핸드오버, 이메일 음성, 음성 메일 등과 같은 이동성 애플리케이션을 시작할 수도 있다.
e. 호출이 수신된 후 소정의 간격 내에서 RID 가 수신되지 않거나 (OFF-HOOK 등가) 또는 RID 가 매칭되지 않으면, 셀룰러 전화 상의 인증된 사용자가 아님 을 확신할 수도 있다. 이 단계에서, 전화 호출은 종료될 수도 있고, 단일 음성 메일 애플리케이션의 경우 음성 메일 시스템으로 라우팅될 수도 있다.
4. 이점 - 이동성 애플리케이션에 대한 전술한 방법을 사용하여, 회사 서버는 다음과 같은 이점을 달성할 수도 있다.
a. 회사 정보 보호 - 회사 서버는, RID 를 사용함으로써, 셀룰러 전화를 사용하는 인가된 고용인과 인가되지 않은 사용자 또는 오퍼레이터 음성 메일간을 구별할 수 있다. 예를 들어,
i. 투명한 호출 라우팅 - 사용자는 VoIP 애플리케이션에서 듀얼 모드 (Wi-Fi 및 셀룰러 전화) 를 갖는다. 내향 호출 라우팅에 대해, 사용자가 VoIP 를 통해 도달될 수 없다고 서버가 결정하면, 셀룰러 네트워크를 통해 접속하도록 선택할 수도 있다. 이 방법은, 인가된 사용자에게 도달하는 것을 보장할 것이다.
ii. VoIP (Voice over IP) 에서 셀룰러로의 핸드오프 - 이 방법은, VoIP 를 통해 접속된 자와 동일한 고용인임을 보장한다.
b. 단일 음성 메일 - 고용인이 회사 서버로부터의 내향 셀룰러 호출에 응답하지 않도록 선택하면, 이 방법은, 음성 메일이 셀룰러 오퍼레이터 음성 메일 시스템에 남아있지 않음을 보장한다. 오퍼레이터 음성 메일 시스템이, 접속된 호출의 시작시에 RID 의 부족에 의해 표시된 호출에 응답했다고 서버가 결정할 수 있기 때문에, 서버는 셀룰러 호출을 중단하고, 그 호출을 내부 음성 메일로 라우팅하여 단일 음성 메일을 가능하게 하도록 선택할 수도 있다.
더 상세하게는, 전술한 바와 같이, 호출자가 고용인의 이동성 클라이언트 대신에, 회사에서 고용인의 내선 번호로 호출했다는 사실에도 불구하고, 이동성 서버는, 소정의 호출의 하나의 레그로서, 이동성 서버로부터 공중 셀룰러 네트워크 내의 고용인의 이동성 클라이언트로 심리스하게 접속할 능력을 갖는다. 예를 들어, 회사에서 고용인의 내선 번호로 호출이 되고, 고용인이, 회사에서 고용인의 내선 번호로의 호출이 포워딩될 수 있는 전화로서 (예를 들어, 자신의 공중 이동성 클라이언트 번호로 등록된) 자신의 이동성 클라이언트를 등록했다면, 그 호출자로부터의 호출은 그 호출의 하나의 레그로서 호출자의 핸드셋으로부터 이동성 서버로 접속될 수 있다. 호출의 다른 하나의 레그로서, 이동성 서버는, 자신의 스위치 또는 PBX 의 스위칭 능력을 사용하여, 공중 셀룰러 전화 네트워크로 접속할 수 있고, 그 공중 셀룰러 전화 네트워크를 통해 고용인의 이동성 클라이언트에 접속할 수 있다. 이것은, 호출이 회사의 고용인의 내선 번호로 행해진 경우에도 마찬가지이다.
또 다른 예로, 고용인은 듀얼 모드 전화기를 가질 수도 있고, 예를 들어, 회사의 프레미스 내로부터와 같은 Wi-Fi 영역으로부터, Wi-Fi 로 커버되지 않고 그 대신 공중 셀룰러 전화 네트워크에 의해 커버되는 영역으로 로밍할 수도 있다. 이 경우, 호출 도중에, 핸드오프가 발생하여, 이동성 서버 및/또는 고용인의 듀얼 모드 전화기는, 고용인의 듀얼 모드 전화기가 Wi-Fi 커버리지의 외부로 로밍했으며 그 호출은 공중 셀룰러 전화 네트워크를 통해 고용인의 듀얼 모드 전화기 (이제 셀룰러 모드로 동작함) 로 계속될 필요가 있음을 인식한다.
이 능력은, 고용인의 전화 프레즌스의 관리의 용이성 및 편리함에서 큰 향상을 나타내지만, 몇몇 흥미로운 난제를 발생시킨다. 이 난제들 중 하나는, 음성 및/또는 데이터를, 물리적으로 고용인의 소유일 수도 있고 아닐 수도 있는 이동성 클라이언트로 송신하는 보안 문제에 관련된다. 예를 들어, 이동성 클라이언트가 도난당했거나 또는 이동성 클라이언트를 고용인의 친구 또는 친척과 같은 다른 사람에게 대여한 경우, 이동성 클라이언트로 송신되는 음성 및 데이터에 대해 보안 리스크가 발생한다. 호출자가 고용인의 회사 내선 번호를 다이얼링했고, 과거의 경험 또는 조건에 기초하여, 이 호출이 회사 내에서 종단되는 것을 기대했음에도 불구하고, 그 호출이 회사의 외부로 유출된 것을 호출자가 인식하지 못할 수도 있기 때문에, 리스크는 증가된다.
또 다른 난제는 음성메일 관리에 관련된다. 호출자는 고용인의 회사 내선 번호로 호출했기 때문에, 통상적인 기대는, 고용인이 그 전화에 응답하지 않으면, 회사의 음성메일 시스템이 이를 픽업하고, 호출자가 남기기를 원하는 임의의 음성메일을 저장하도록 이용되는 것이다. 이 경우, 예를 들어, 전화기가 꺼져있을 수도 있고, 또는 셀룰러 네트워크로의 접속성을 갖지 못할 수도 있고, 또는 고용인이 단순히 그 벨 소리를 듣지 못하여 그 호출에 응답하지 못할 수도 있는 사실 때문에, 고용인은 호출에 응답하지 못할 수도 있다. 그러나, 고용인이 호출에 응답하지 못하거나 로밍하면, 이동성 서버는, 그 호출을 공중 이동성 클라이언트 번호로 투명하고 심리스하게 보내어, 그 호출을 공중 셀룰러 네트워크를 통해 종단시키기 때문에, 그 메시지는 공중 셀룰러 서비스 제공자의 셀룰러 음성메일 박 스에 의해 픽업될 수도 있다.
본 발명의 실시형태에 따르면, 공중 셀룰러 네트워크에서 동작하는 이동성 클라이언트와 이동성 서버 사이에서 호출을 완료하기 이전에, 호출된 자의 아이덴터티를 인증하는 셀룰러 수신 인증 (CRA) 기술이 제공된다. 이 기술의 콘텍스트에서, 이동성 클라이언트는, 이동성 서버를 통해 이동성 클라이언트를 접속시킬 수 있는 이동성 소프트웨어를 실행하는 셀룰러 전용 전화기를 지칭할 수도 있고, Wi-Fi 커버리지의 외부에서 로밍하는 듀얼 Wi-Fi/셀룰러 모드 전화기를 지칭할 수도 있다.
본 발명의 실시형태에 따르면, (구현에 따라, 이동성 서버 스위칭 기능성을 나타낼 수도 있고, 또는 이동성 서버와 회사 PBX의 조합을 나타낼 수도 있는) 이동성 서버 사이에서 호출 레그를 완료하기 이전에, 셀룰러 수신자가 인증된다. 인증 주기 동안, 만족스러운 인증 정보를 이동성 서버에 제공하기 위해, 수신자에게는 고정된 양의 시간이 제공된다.
수신자에게 제공된 인증 정보가 불만족스럽거나, 또는 할당된 인증 시간 내에 적절한 인증이 도달하지 않으면, 이동성 서버는, 공중 네트워크를 통한 이동성 클라이언트와 자기 자신 사이에 베어러 채널 접속을 생성하지 않는다. 이와 같이, 고용인의 이동성 클라이언트가 분실/도난당한 경우, 또는 고용인이 그 이동성 클라이언트를 다른 사람에게 대여한 경우, 적절한 인증 정보의 부족은, 이동성 클라이언트와 이동성 서버 사이에 베어러 채널이 확립되는 것을 금지할 것이다. 이러한 방식으로, 음성/데이터 보안이 보장된다.
또한, 고용인이 그 셀룰러 호출에 응답하지 않으면, 인증 정보는 할당된 인증 주기 내에 이동성 서버에 의해 수신되지 않을 것이다. 이 경우, 이동성 클라이언트와 이동성 서버 사이에 베어러 채널이 확립되지 않으며, 따라서, 공중 네트워크의 음성메일 박스에 음성/데이터 호출이 저장되지 않을 것이다. 대신에, 고용인이 그 셀룰러 호출에 응답하지 못하면 (즉, 호출을 픽업하지 못하면), 이동성 서버 로직은 고용인의 회사 음성메일 박스에 대한 베어러 데이터 접속을 완료하여, 호출자가 회사 음성메일 박스에 메시지를 남길 수 있게 할 것이다.
일 실시형태에서, 고용인은 인증 정보를 (예를 들어, 클라이언트 애플리케이션이 최초에 활성화될 때) 미리 입력하고 캐시했을 수도 있다. 따라서, 고용인이 그 셀룰러 호출에 응답하지 못했을 경우에도, 그 호출의 수신자에 대한 인증정보는 이동성 서버에 여전히 전송될 수도 있다. 따라서, 인증이 수행될 수도 있고, 이동성 서버는 공중 네트워크의 음성메일 박스에 음성/데이터 호출을 접속시키기 위해 베어러 채널을 여전히 확립할 수도 있다.
일 실시형태에서, 캐시 인증 정보는 주기적으로 (예를 들어, 매 24 시간, 매 시간, 사용자 구성 시간에) 만료되도록 설정될 수도 있다. 이와 같이, 고용인의 이동성 클라이언트가 분실/도난된 경우에도, 또는 고용인이 그 이동성 클라이언트를 다른 사람에게 대여한 경우에도, 인가되지 않은 제 3 자는 이동성 서버와 접속을 확립할 수 없다. 또한, 캐시가 만료되면, 고용인은 이동성 서버와의 접속을 확립하기를 원하는 다음 시간에 인증 정보를 재입력해야할 수도 있다.
일 실시형태에서, 인증은 이동성 클라이언트로부터 이동성 서버로의 인라인 인코딩 기술을 사용하여 제공된다. 이러한 인코딩 기술은, 예를 들어, DTMF (Dual Tone Multi-Frequency) 시그널링을 포함할 수도 있다. 일 예로, 고용인은 이동성 클라이언트의 키패드를 이용하여, 요구된 인증 정보를 입력할 수도 있다. 또 다른 실시형태에서, 사용자는, 음성 인식 기술에 의해 인증 정보가 프로세싱될 수 있도록 인증 정보를 구두로 제공할 수도 있다. 또한, 필요한 인증 데이터가, 이동성 클라이언트를 통해 사용자에 의해 만족스럽게 송신되고, 할당된 인증 주기 내에서 이동성 서버에 의해 수신되는 한, GPRS (General Packet Radio Service), GSM (Global System for Mobile Communication), CDMA (Code Division Multiple Access) 등과 관련된 인코딩과 같은 다른 형태의 인코딩이 이용될 수도 있다.
일 실시형태에서, 고용인의 이동성 클라이언트 내의 소프트웨어 및 이동성 서버 상에서 실행되는 소프트웨어 모두는 인증 결과를 연산하기 위해 동일한 수학적 함수를 구현한다. 예를 들어, 고용인의 이동성 클라이언트 상의 소프트웨어는 사용자 ID, 패스워드, 및/또는 수신자가 이동성 서버에 미리 셋업한 임의의 다른 인증 데이터의 함수로서 인증 결과를 연산할 수도 있다. 또한, 동일한 파라미터 상에서 동작하는 동일한 수학적 기능이 이동성 서버에 의해 연산된다.
이동성 서버가 이동성 클라이언트 소프트웨어에 의해 연산된 인증 결과 (암호화된 형태로 또는 암호화되지 않은 형태로 이동성 서버에 송신될 수도 있음) 를 수신한 경우, 이동성 서버는 그 수신된 인증 결과를, 이동성 서버가 내부적으로 계산한 인증 결과와 비교할 것이다. 2 개의 인증 결과가 매칭되면, 인증은 성공 적인 것으로 간주되고, 이동성 서버와 이동성 클라이언트 사이에 베어러 채널이 확립될 수도 있다.
또한, 일 실시형태에서, 인증 결과를 계산하기 위해 이용되는 수학적 함수는 임시값 (nonce value) 을 이용할 수도 있다. 예를 들어, 이동성 서버는 인증 과정의 일부로서 이동성 클라이언트에 임시값을 제공할 수도 있다. 임시값의 사용은 중계 중의 손상의 영향을 최소화시키기 때문에 데이터 보안을 더 강화한다.
전술한 특정 인증 기술은 오직 예시이다. 그러나, 인증은 임의의 적절한 방식으로 달성될 수도 있으며, 사용자 ID, 패스워드, 및/또는 전술한 임시값의 이용은 모든 상황에서 요구되는 것은 아니다. 중요한 것은, 이동성 서버가 공중 셀룰러 전화 네트워크를 통해 이동성 클라이언트와 자기 자신 사이에 베어러 채널을 확립하기 이전에 (이동성 클라이언트의 아이덴터티 대신 또는 그에 부가하여) 셀룰러 수신자의 아이덴터티가 이동성 서버에 의해 확인된다는 점이다.
본 발명의 다양한 실시형태의 특성 및 이점은 이하 도면 및 설명을 참조하여 더 잘 이해될 수도 있다. 도 23 은, 본 발명의 일 실시형태에 따라, 호출자에 의해 수신자의 회사 내선 번호를 통해 수신자에게 새로운 전화 호출이 행해진 경우 발생하는 셀룰러 수신자 인증 과정에 대한 호출 플로우를 도시한다. 도 23 의 예에서, 수신자는 (듀얼 모드 Wi-Fi/셀룰러 이동성 클라이언트인 경우) Wi-Fi 커버리지의 외부에서 로밍하고, 또는 수신자는 자신의 데스크에 있지 않으며, 호출이 자신의 이동성 클라이언트로 포워딩되도록 특정하였다.
도 23 을 참조하면, 호출자 A 는 시그널링 프로토콜을 이용하여, 호출자 A 가 수신자 B 와 관련된 확장에서의 전화와 접속하기를 원하는 것을 이동성 서버 (2320) 에 통지한다. 예를 들어, 호출자 A 는, 회사와 관련된 전화 번호 111-222-3333 을 호출할 수도 있고, 그 수신자와 관련된 내선 번호 (예를 들어, 4444) 를 추가로 입력한다. 이 시그널링은 도 23 에 참조번호 2302 로 도시되어 있다.
호출이 공중 네트워크를 통해 종단되어야 하는 것을 인식한 이동성 서버 (2320) 는, 수신자 B 의 이동성 클라이언트로의 이동성 클라이언트 네트워크를 통해 신호 경로 (2304 및 2306) 를 경유하여 수신자 B 의 이동성 클라이언트에 콘택트한다.
또한, 수신자 B 와의 콘택트를 확립하기 위한 시도는 도 23 의 참조부호 2314 로 도시된 인증 주기에서 시작한다. 할당된 인증 주기 (2314) 내에서 적절한 인증 (2308) 이 수신되면, 이동성 서버 (2320) 는 셀룰러 네트워크를 통해 수신자 B 의 이동성 클라이언트로의 베어러 채널을 확립한다. 일 실시형태에서, (이동성 클라이언트를 통해) 이동성 서버에 신뢰할만한 인증 데이터를 제공하기 위해, 인증에서는 사용자에 의한 능동적 참가를 요구한다. 이와 같이, 호출은 핸드셋뿐만 아니라 사용자에 의해서도 인증된다.
베어러 채널은 도 23 에서 참조부호 2310 에 의해 도시되어 있으며, 이동성 서버 (2320) 와 공중 네트워크 및 수신자 B 의 이동성 클라이언트와의 접속을 도시한다. 이동성 서버 (2320) 와 수신자 B 의 이동성 클라이언트 사이의 베어러 채널의 확립은 호출자 A 로부터 수신자 B 로의 엔드-투-엔드 베어러 채널을 완성한 다.
(데이터 호출일 수도 있고 음성 호출일 수도 있는) 호출이 완료된 경우, 호출자 A 또는 수신자 B 는 행업 (hang up) 신호 (행업 신호 (2312) 는 도 23 의 예에서는 호출자 A 에 의해 제공됨) 를 제공하여, 호출을 종료시킨다 (2314). 이 경우, 할당된 인증 주기 (2314) 내에 적절한 인증 (2308) 이 수신되지 않으면, 호출자 A 와 수신자 B 사이의 베어러 채널은 완료되지 않는다. 인증 과정의 일부로서, 원한다면, (예를 들어, 시그널링 (2306) 의 일부로서) 임시값이 제공될 수도 있다.
도 24 는, 본 발명의 일 실시형태에 따라, 수신자가 셀룰러 호출에 응답하지 않는 경우 발생하는 호출 플로우를 도시한다. 이것은, 셀룰러 수신자가 커버리지 (Wi-Fi 또는 셀룰러) 를 갖지 못하거나, 또는 이동성 클라이언트가 턴오프되거나, 또는 수신자가 단순히 호출에 응답하지 못하는 경우 발생할 수도 있다.
이 경우, 호출자 A 로부터의 음성메일 메시지는 공중 셀룰러 시스템의 음성메일 박스 대신에 회사의 음성메일 박스에 남겨지고, 따라서, 호출자 및 수신자 모두에 대해 음성메일 관리를 단순화하고 혼란을 감소시킨다. 도 24 를 참조하면, 호출자 A 는, 회사의 전화 번호를 다이얼링하고, 그 후 수신자의 내선 번호를 다이얼링함으로써 수신자 B 에 대한 호출을 확립하기를 원하는 것을 이동성 서버 (2320) 에 통지한다. 이것은, 도 24 의 참조 부호 (2402) 에 의해 도시되어 있다.
그 후, (예를 들어, 수신자 B 가 Wi-Fi 커버리지 외부에서 로밍하는 것을 이 동성 서버 (2320) 가 인식한 경우) 이동성 서버 (2320) 는 셀룰러 네트워크를 통해 수신자 B 에 대한 호출을 완료할 필요가 있음을 인식한다. 그 후, 이동성 서버 (2320) 는 셀룰러 네트워크에 호출하고 (2404), 수신자가 응답하지 않았기 때문에, 참조 부호 2406 에 의해 도시된 바와 같이, 그 호출의 시그널링 부분은 몇 분 후 셀룰러 네트워크 음성메일로 확립된다.
이동성 서버 (2320) 가 수신자와 콘택트하려고 시도하는 경우, 이동성 서버는 인증 주기 (2314) 에서 시작하고, 수신자로부터 적절한 인증을 대기한다. 이 시간 동안, 호출자 A 는 공중 셀룰러 전화 네트워크의 음성메일 박스로의 엔드-투-엔드 베어러 채널을 갖지 않고, 따라서, 공중 셀룰러 네트워크의 음성메일이 관련된 것 또한 인식하지 못한다. 이 인증 주기 동안, 호출자 A 는, 수신자 B 를 찾기 위한 시도가 행해지는 동안 호출자 A 를 대기하도록 요청하는, 이동성 서버 (2320) 로부터 미리 기록된 메시지를 청취할 수도 있다.
수신자 B 가 호출에 응답하지 않기 때문에, 적절한 인증이 인증 주기 (2314) 동안 이동성 서버 (2320) 에 의해 수신되지 않는다. 따라서, 이동성 서버 (2320) 는 공중 셀룰러 네트워크 내의 음성메일 박스와 자기 자신 사이에 베어러 채널 레그를 완료하지 않는다. 대신, 이동성 서버 (2320) 는 수신자의 회사 음성 메일 박스와 자기 자신 사이에 베어러 채널을 생성함으로써 그 호출을 완료하고, 이는 수신자의 회사 음성 메일 박스와 호출자 A 사이에 엔드-투-엔드 베어러 채널을 발생시킨다. 이것은, 도 24 의 참조부호 2412 로 도시되어 있다. 이제, 호출자 A 는 수신자 B 의 회사 음성메일 박스 내에 음성메일 메시지를 기록 하기 시작할 수도 있다.
시간상 어떤 시점에, 호출자 A 는 호출을 완료하고, 행업 (2414) 을 이동성 서버 (2320) 에 표시하여, 이동성 서버 (2320) 가 호출을 종료하게 한다.
도 24 로부터 인식할 수 있는 바와 같이, 수신자가 셀룰러 호출에 응답하지 않는 경우, 수신자의 회사 확장으로의 호출은, 이동성 서버 (2320) 가 공중 네트워크를 통해 호출을 완료하려고 시도한 경우에도, 음성 메시지를 수신자의 회사 음성메일 박스에 남게 한다. 사용자의 관점에서, 음성메일 메시지는, 다이얼링된 전화 번호 (이 경우에는 수신자의 회사 내선 번호) 와 관련된 적절한 음성메일 박스 (즉, 수신자 B 의 회사 음성메일 박스) 에 남겨지고, 따라서 혼란을 감소시키고 음성메일 관리를 단순화시킨다.
몇몇 경우에, 수신자의 이동성 클라이언트로의 호출은 이동성 서버 자체에 의해 개시될 수도 있다. 예를 들어, 수신자가, 미리 셋업된 회의 호출에 대한 일방인 경우, 이동성 서버가, 회의 호출을 확립할 시간이 도래한 때에 모든 회의 호출 참가자와의 콘택트를 확립하려 시도하는 상황이 발생할 수도 있다. 또한, 셀룰러 수신자가 인증될 수 없으면, 이동성 서버 (2320) 는 베어러 채널이 수신자의 이동성 클라이언트에 완료되는 것을 허용하지 않으며, 따라서, 정보의 신뢰성을 보호한다.
도 25 를 참조하면, 이동성 서버 (2320) 는 공중 셀룰러 네트워크를 통해 수신자 B 와의 호출을 확립하려 시도하기 위해 (2504), 공중 셀룰러 네트워크를 호출함으로써 (2502) 시작한다. 수신자 B 와의 콘택트를 확립하려는 시도의 일부로 서, 이동성 서버 (2320) 는 인증을 위한 카운트다운을 시작한다. 이것은, 도 25 의 참조 부호 (2314) 로 도시되어 있다.
할당된 인증 주기 (2314) 동안 수신자가 성공적으로 인증되면 (수신자 인증은 참조 부호 2508 로 도시되어 있음), 이동성 서버 (2320) 는 셀룰러 네트워크를 통해 수신자 B 로의 베어러 채널을 확립한다. 이 베어러 채널은 도 25 에 참조 부호 2510 로 도시되어 있다. 그 후, (음성일 수도 있고 데이터일 수도 있는) 호출은 이동성 서버 (2320) 와 수신자 B 사이에서 진행될 수 있다.
호출이 완료되면, 이동성 서버 (2320) 또는 수신자 B 는 행업하여 호출을 종료시킬 수도 있다. 이것은 도 25 에 참조부호 2512 로 도시되어 있다.
도 25 로부터 인식할 수 있는 바와 같이, 할당된 인증 주기 (2314) 내에 수신자 B 가 인증하지 못하면, 수신자 B 로의 호출은 진행하지 않고, 데이터-음성 보안은 보호된다. 일 실시형태에서, 인증 주기 (2314) 내에 인증이 도달되지 않으면, 이동성 서버 (2320) 는 베어러 채널을 수신자의 회사 음성메일 박스로 접속할 수도 있다. 그러나, 이것은 구현시의 선택사항이다.
전술한 설명으로부터 인식할 수 있는 바와 같이, 본 발명의 실시형태는, 수신자의 이동성 클라이언트로 호출이 진행하도록 하기 이전에, 이동성 서버가 셀룰러 수신자의 아이덴터티를 확인할 수 있게 한다. 이를 통해, 수신자의 이동성 클라이언트가 분실 또는 도난되거나 다른 사람에게 대여된 경우에도, 음성 호출 또는 데이터 호출의 보안이 보장된다. 즉, 수신자로부터 인증이 적절하게 수신되지 않으면, 인가되지 못한 제 3 자가 물리적으로 그 호출에 응답한다는 사실은 신 뢰할만한 음성/데이터 정보의 수신을 자동으로 유발하지 않는다.
또한, 셀룰러 수신자 인증 과정은, 수신자가 자신의 셀룰러 호출에 응답하지 않으면, 음성메일 메시지가, 호출자에 의해 호출된 전화 번호와 관련된 적절한 음성메일 박스에 남겨지는 것을 보장한다. 따라서, 호출자가 수신자의 회사 내선 번호를 호출하면, 음성메일 메시지는, 호출을 완료하려는 시도의 일부로서, 이동성 서버 (2320) 가 공중 이동성 클라이언트 번호의 음성메일 박스를 통해 수신자의 이동성 클라이언트에 콘택트하는 경우에도, 수신자의 회사 음성메일 박스에 남겨져서, 음성메일 관리가 개선되고 사용자 혼란이 감소된다.
E. 미디어 핸드오프에서 데이터 손실의 감소
1. 배경:
Wi-Fi 네트워크의 도래 및 급속한 사용에 의해, 사람들은, 이메일, 인터넷 사용, IM 등과 같은 데이터 애플리케이션을 위해 자신의 W-Fi 인에이블 디바이스를 사용하고 있다. 이와 동시에, 수년간의 시도 및 고난 후에, VoIP 가 레거시 전화에 대한 실용적인 대체물로서 성숙하고 있다. 이들 2 개 이벤트의 합류는 VOWI-FI (또는 VOFI) 를 매우 흥미로운 제안으로 만든다. VOFI 에 대한 주요한 요구사항 중 하나는, 셀룰러 네트워크에서 가용인 것과 유사한 WLAN 을 통해 이동하는 경우 심리스한 핸드오프이다. 디바이스가 듀얼 모드 (셀룰러 및 Wi-Fi 인에이블) 인 경우, Wi-Fi 네트워크와 셀룰러 네트워크 사이에 핸드오프가 발생할 수 있다.
2. 요약
현재, Wi-Fi 네트워크의 AP 사이에서의 핸드오프에 대한 인가된 표준은 존재하지 않으며, 어떠한 사용되는 제품도 그 설비를 제공하지 않는다. 또한, WLAN 네트워크 및 셀룰러 네트워크가 서로 다른 엔터티에 의해 관리된다는 사실에 기인하여, 이 양자 사이의 핸드오프를 행하는 메커니즘은 존재하지 않는다.
본 발명은 음성 호출을 위해 셀룰러 네트워크와 Wi-Fi 네트워크 사이에서의 핸드오프 및 Wi-Fi 네트워크 내의 로밍/핸드오프를 위한 메커니즘을 제공한다. Wi-Fi 네트워크 상의 호출은, 임의의 다른 제어 평면 프로토콜을 사용하는 것을 금지하지는 않지만, SIP 를 사용하는 VoIP 호출인 것으로 가정한다. 또한, 통상적인 VoIP 네트워크에서, 호출 프로세싱을 위한 SIP 프록시 서버 및 RTP 패킷 프로세싱을 위한 음성/미디어 스위칭 엔진이 존재하는 것으로 가정한다. 단순화를 위해, 이 컴포넌트들 모두는 단일 서버 박스 내에 상주하는 것으로 가정한다.
3. 상세한 설명
핸드오프 판정을 위해 다음의 중요한 기준이 사용된다.
가능한 한, 음성 호출을 발생, 유지 및 스위칭하는데 최소 비용의 네트워크가 사용되어야 한다. 대부분의 경우, 이 요구사항에 대해서는, Wi-Fi 네트워크가 선호되는 선택이다.
핸드오프 상황에 도달한 경우, 핸드오프에 소요되는 시간은 실제로 매우 작아야 한다. 이것은 핸드오프를 트리거하기 위한 조기 검출 및 매우 빠른 스위칭을 요구한다.
4. 핸드오프 시나리오:
a. Wi-Fi 네트워크 내에서의 핸드오프:
이동 사용자가 Wi-Fi 네트워크 내에서 로밍하는 경우, 그 사용자는 일 시점에 오직 하나의 AP 에만 접속된다. 사용자가 그 AP 의 범위 외부로 이동함에 따라, 또 다른 AP 에 접속한다. 로밍이 발생할 때 음성 호출이 활성이면, 접속에 소요되는 시간 때문에, 몇몇 패킷의 손실이 존재할 것이다. 이것은, 디바이스가 새로운 IP 어드레스를 획득하여 RTP 패킷 손실을 유발한다는 사실에 주로 기인한다. 또한, SIP 프록시 서버로 유지되는 SIP 세션의 손실을 유발한다. IEEE 표준 802.11r 에서는, 이웃에서 검출되는 모든 AP 와의 디바이스 사전인증을 허용하는 고속 로밍 메커니즘을 특정한다. 그러나, 이것은, 새로운 IP 어드레스의 할당을 회피하지는 않는다.
RTP 패킷 스트림의 손실 문제를 회피하기 위해, 음성/미디어 스위칭 디바이스에는 임박한 로밍 상황이 통지된다. 음성/미디어 스위치는, 디바이스가 새로운 AP 에 접속하는 동안 몇 개의 RTP 패킷을 버퍼링할 수 있다. 또한, 이 통지는, 미디어 스위치가 디바이스로부터의 RTP 패킷에 대한 소스 어드레스의 변경을 기대하도록 준비시킨다. 이 소스 어드레스는 단기간의 주기 동안 저장될 수 있고, 호출이 활성인 다른 디바이스로부터 입력되는 RTP 패킷을 전송하기 위해 사용될 수 있다. 어드레스 스푸핑 (spoofing) 또는 DOS 타입의 공격에 기인한 임의의 보안 침입을 방지하기 위해, 음성 스위치는 30 초의 타이머를 시작한다. 30 초 이내에, 디바이스는 보안 인증의 일부로서 SIP 서버와 동일한 IP 어드레스를 등록할 필요가 있다. 이 IP 어드레스는 음성/미디어 스위치로 전송된다. 그 후, 음성/미디어 스위치는 타이머를 중지하고, 호출이 종료할 때까지 계속하여 음성 패킷을 통과시킨다. 새로운 AP 에 접속한 후, 새로운 IP 어드레스를 획득하는데 소요되는 시간은 매우 적으며, 청취중인 사용자에 대해 음성 스트림에서의 인식할만한 중단은 존재하지 않는 범위 내인 것으로 가정한다.
AP 에서 AP 로의 로밍에 대한 통지/검출의 2 가지 방법이 존재한다.
디바이스가 하나 이상의 AP 로 사전인증하면, 그 디바이스는 AP 의 정보를 자신의 SSID, 신호 강도 및 다른 정보와 함께 서버로 전송한다. 이것은, 임박한 핸드오프 상황을 위해 서버를 준비시킬 것이다. 새로운 AP 에 접속하기 직전에, 디바이스는 빠른 통지를 서버에 전송할 수 있다.
신호 강도가 급격하게 0 으로 감소되는 영역으로 디바이스가 이동하여, 디바이스가 임의의 통지를 전송할 수 없으면, 음성/미디어 스위치는 주기적인 RTP 트래픽의 손실을 검출하고 그 로밍 디바이스로 향하는 패킷의 버퍼링을 개시한다. 디바이스가 다시 검출되면, IP 어드레스 인증이 전술한 바와 같이 계속되는 동안 버퍼링된 음성이 디바이스에 플레이된다. 이 버퍼링된 음성은 150 내지 200 ms 를 초과할 수 없고, 새로운 IP 어드레스를 획득하는데 소요되는 시간이 너무 크면 버퍼링된 음성은 폐기된다.
하나의 AP 로부터 다른 AP 로 이동하는 경우 심리스한 핸드오프를 위한 또 다른 메커니즘은, 먼저 PSTN 네트워크로 핸드오프하고, 그 후, Wi-Fi 로 복귀하는 것이다. 이 방법은, 호출 레그가 PSTN 으로부터 Wi-Fi 로 복귀하는 경우, 디바이스가 AP/WLAN 스위치 또는 라우터로부터 짧은 시간 주기 내에 IP 어드레스를 획 득하지 않는 경우 발생되는 잠재적인 중단이 존재하지 않는 것을 보장한다. Wi-Fi 네트워크와 PSTN 네트워크 사이의 핸드오프 메커니즘은 다음 섹션에서 설명한다.
b. Wi-Fi 네트워크와 셀룰러 네트워크 사이의 핸드오프
Wi-Fi 로부터 PSTN 으로의 핸드오프에 대한 주원인은, 디바이스가 셀룰러 범위 내에 존재하면서 Wi-Fi 범위의 외부로 이동하는 경우 수행된다. 디바이스가 Wi-Fi 범위로 복귀하여 상당한 시간 동안 유지되면, PSTN 으로부터 Wi-Fi 로 핸드오프가 발생한다. 이들 요구사항들을 충족하기 위해, 이동 디바이스는, 잠재적으로 접속할 수 있는 모든 AP 의 추적을 유지할뿐만 아니라 Wi-Fi 신호 강도의 모니터링을 유지한다. 데이터의 세트 중 하나 또는 2 개가, 음성 호출에 사용할 양호한 Wi-Fi 네트워크가 존재하지 않는 것으로 결정하면, 디바이스 및 서버는 함께 PSTN 네트워크로 핸드오프를 개시할 필요가 있다. 특정한 경우, Wi-Fi 네트워크가 완벽한 경우에도, L3 네트워크 (이 경우에는 IP) 가 불량한 형상이고, 음성과 같은 지연 민감형 트래픽 (RTP) 및 높은 우선순위/시간을 적절히 포워딩할 수 없는 것도 가능하다. 디바이스와 서버 사이에서 수행되는 주기적 L3 QOS 테스트가 이 데이터 세트를 제공한다. L2 및 L3 능력에 기초하여, 핸드오프에 대한 판정이 행해진다.
Wi-Fi 신호 결핍 및/또는 손실에 대한 2 가지 잠재적인 경우가 존재한다.
첫번째 경우, 이동 사용자가 액세스 포인트로부터 멀어짐에 따른 정상적 열화가 존재하고, 사용자가 도달할 수 없는 영역 (예를 들어, 엘리베이터) 으로 이동 했기 때문에 신호는 0 으로 감소된다.
두번째 경우, 신호는 일순간에 또는 매우 빠르게 0 으로 감소될 수 있다.
서버가 핸드오프에 대한 필요성을 검출하기 위해, 서버는 전술한 상황들 모두를 조작할 필요가 있다. 첫번째 경우, 디바이스가 느린 열화를 검출하는 경우, 디바이스는, 낮은 신호 임계값에 도달되면 서버에 통지한다. 이 통지는 SIP 에 의해 사용중인 제어 평면을 통해 Wi-Fi 네트워크 상에서 진행할 것이다. 서버가 이 통지를 수신하면, 서버는 핸드오프를 개시하고, PSTN 및 셀룰러 네트워크를 통해 호출 레그를 생성한다.
두번째 경우, 신호 강도가 일순간에 0 으로 감소한 경우, 디바이스는, 서버로 하여금 핸드오프를 개시하게 하는 임의의 통지를 전송할 기회를 갖지 못한다. 이러한 상황에서, 서버는 Wi-Fi 의 손실을 결정하기 위해 데이터/미디어 평면에 의존한다. 음성 호출이 활성인 경우, 서버에 의해 주기적인 RTP 패킷이 수신된다. 어떠한 Wi-Fi 신호도 존재하지 않는 경우, RTP 패킷은 서버에 의해 수신되지 않을 것이다. 유한한 수의 연속적 패킷의 부도달은 PSTN 레그로의 핸드오프 개시를 트리거한다. 이것은, 지속적인 사일런스 동안 통상의 엔드포인트가 패킷을 거의 전송하지 않는 사일런스의 경우에도 마찬가지이다. 이 제안에서, 사일런스 억제가 사용되지 않지만, 정규의 음성 패킷과 동일한 주기로 VAD/CNG 패킷이 전송된다.
이동 디바이스가 Wi-Fi 네트워크로 로밍하고 AP 에 접속하여 IP 어드레스를 획득하는 경우, 디바이스는 SIP 서버에 등록하고 주기적인 연결유지 (KA) 메시지를 전송하기 시작한다. 상당량의 시간 동안 (예를 들어, 60 초) KA 메시지가 수신되는 경우, PSTN 으로부터 Wi-Fi 로의 핸드오프가 개시된다. 이것은, L2 및 L3 QOS 상의 정보가 핸드오프할 가치가 있는 것으로 고려되는 경우 행해진다.
본 발명의 특성 및 이점은 이하 도면 및 설명을 참조하여 더 잘 이해될 수도 있다.
전술한 바와 같이, 종래 기술의 사용자에게 직면되는 이슈는, 무선 통신 동안 발생할 수도 있는 방해에 관련된다. 전자통신 세션 (예를 들어, 음성 통신, 오디오 스트리밍, 비디오 스트리밍 및/또는 재정 정보 스트리밍) 동안, 바람직하지 않은 방해가 발생하여 데이터가 손실될 수도 있다. 일반적으로, 이용중인 전자통신 디바이스가 정지 중인 경우, 사소한 방해가 존재할 수도 있다. 그러나, 전자통신 디바이스가 하나의 커버리지 영역으로부터 또 다른 커버리지 영역으로 이동중인 경우, 신호 레벨은 열화되고 전자통신 세션이 방해되어 부정적인 전자통신 경험을 유발할 수도 있다.
예를 들어, 이동 전자통신 디바이스의 사용자가 전자통신 세션에 참가하는 상황을 고려한다. 전자통신 세션 동안, 이동 전자통신 디바이스의 사용자는 무선 커버리지 영역 (예를 들어, 무선 액세스 포인트) 의 외부로 로밍할 수도 있다.
설명을 용이하게 하기 위해, 도 26 은 상이한 제어기에 접속된 액세스 포인트의 단순화된 종래 기술의 블록도를 도시한다. 종래 기술에서, 각각의 커버리지 영역은 독립적인 무선 LAN 제어기에 의해 관리될 수도 있다. 일 예로, 제 1 액세스 포인트 (2602) 는 제어기 (2604) 에 접속될 수도 있고, 제 2 액세스 포인트 (2606) 는 다른 제어기 (2608) 에 접속될 수도 있다. 제어기 (2604) 및 제어기 (2608) 는 서로 독립적이고, 이동 전자통신 디바이스 (2610) 가 그 액세스 포인트들 (액세스 포인트 (2602) 및 액세스 포인트 (2606)) 모두에서 통신할 수 있는 경우에도 서로 통신하도록 구성되지는 않는다.
이동 전자통신 디바이스 (2610) 의 사용자가 제 1 액세스 포인트 (2602) 에 의해 지원되는 커버리지 영역으로부터 제 2 액세스 포인트 (2606) 에 의해 지원되는 커버리지 영역으로 (경로 (2612) 에 의해 도시된 바와 같이) 이동하는 경우, 이동 전자통신 디바이스 (2610) 는 제 2 액세스 포인트 (2606) 와 새로운 접속을 생성하기 이전에 제 1 액세스 포인트 (2602) 로부터 접속해제해야 할 수도 있다. 일 예로, 이동 전자통신 디바이스 (2610) 의 사용자는 (IP 어드레스 공간 (2614) 으로부터의 IP 어드레스를 통해) 제 1 액세스 포인트 (2602) 로부터 접속해제 (예를 들어, 행업) 해야 할 수도 있고, (IP 어드레스 공간 (2616) 으로부터의 IP 어드레스를 통해) 제 2 액세스 포인트 (2606) 를 통해 수신자와 재접속하도록 재다이얼링되어야 할 수도 있다.
심리스한 핸드오프를 가능하게 하도록, 2 개의 액세스 포인트의 2 개의 제어기가 서로 통신하는 것이 불가능하면, 전자통신 세션에 방해를 유발할 수도 있고, 전자통신 세션의 양자에게 부정적인 전자통신 경험을 제공할 수도 있다.
도 27 은 상호접속된 제어기 세트에 링크된 액세스 포인트의 단순화된 종래 기술의 블록도를 도시한다. 액세스 포인트의 세트 (2702 및 2704) 는 제어기 (2706) 에 접속된다. 액세스 포인트가 서로 다른 표준을 따르고 서로 직접 통 신하지 못할 수도 있는 경우에도, 제어기 (2706) 는, 2 개의 액세스 포인트 (2702 및 2704) 가 서로 통신하게 할 수도 있다. 일 예로, 이동 전자통신 디바이스 (2708) 의 사용자가 액세스 포인트 (2702) 로부터 액세스 포인트 (2704) 로 (경로 (2720) 에 의해 도시된 바와 같이) 로밍함에 따라, 제어기 (2706) 는 IP 어드레스를 변경하지 않고 이동 전자통신 디바이스 (2708) 를 액세스 포인트 (2704) 로 이동시킬 수도 있다.
또한, 이동 전자통신 디바이스 (2708) 가 오직 하나의 트랜시버로 인에이블되면, 이동 전자통신 디바이스 (2708) 는 일 시점에 오직 하나의 액세스 포인트와 접속 가능할 수도 있다. 따라서, 전자통신 디바이스 (2708) 는 액세스 포인트 (2704) 와의 접속 이전에 액세스 포인트 (2702) 로부터 접속해제해야 할 수도 있어서, 전자통신 세션에 갭을 생성할 수도 있다. 갭 동안, 이미 전송되었을 수도 있는 IP 패킷은, 수신지 (예를 들어, 이동 전자통신 (2708)) 이 비가용일 수도 있기 때문에 폐기될 수도 있다. 그 결과, 이동 전자통신 디바이스 (2708) 는 모든 내향 IP 패킷을 수신하지 못할 수도 있다. 통상적으로 동일한 제어기의 액세스 포인트들 사이에서의 핸드오프 동안에는 갭이 크지 않지만, IP 패킷의 손실은 전자통신 세션에서 어느 정도의 방해를 유발할 수도 있다. 일 예로, 전화 대화 동안, 방해는 "불규칙한" 음성 품질을 유발할 수도 있다.
또 다른 예로, 이동 전자통신 디바이스 (2708) 의 사용자가 (경로 (2722) 로 도시된 바와 같이) 로밍을 계속하고, 제어기 (2712) 에 의해 관리되는 액세스 포인트 (2710) 에 의해 지원되는 커버리지 영역으로 진입하면, 제어기 (2706) 는 제어 기 (2712) 로의 핸드오프를 수행할 수도 있다. 2 개의 상호접속된 제어기들 사이에서 핸드오프가 가능하지만, 일반적으로 방해를 발생할 수도 있다. 일 예로, 제어기 (2706) 는 IP 어드레스 공간 (2714) 으로부터의 IP 어드레스와 관련될 수도 있고, 제어기 (2712) 는 IP 어드레스 공간 (2716) 으로부터의 IP 어드레스와 관련될 수도 있다. 따라서, 핸드오프가 발생하는 경우, IP 어드레스 공간 (2714) 으로부터의 IP 어드레스와의 접속은 접속해제될 수도 있고, 또 다른 접속이 IP 어드레스 공간 (2716) 으로부터의 IP 어드레스와 확립되어 IP 패킷의 손실 (예를 들어, 데이터 손실) 을 유발할 수도 있다.
제어기의 세트가 새로운 IP 어드레스와 전자통신 세션을 생성하지 않으면서 핸드오프를 수행하도록 구성되는 경우에도, 서로 다른 제어기들 상의 2 개의 액세스 포인트들 사이에서의 핸드오프 동안 존재할 수도 있는 레이턴시는, 동일한 제어기 상의 2 개의 액세스 포인트들 사이에서의 전달시에 존재할 수도 있는 레이턴시보다 더 큰 경향이 있다. 그 하나의 이유는, 2 개의 제어기 사이에서의 전달이 2 개의 제어기를 통과하려는 경향이 있기 때문이다.
일 예로, 사용자는 자신의 Wi-Fi 이동 전화 상에서 권투 경기를 시청하면서 로밍할 수도 있다. 로밍 동안, 사용자는 하나의 액세스 포인트로부터 또 다른 액세스 포인트로 이동중일 수도 있다. 사용자가, 서로 다른 제어기에 의해 관리되는 액세스 포인트에 의해 지원되는 커버리지 영역으로 이동할 때마다, 사용자는 새로운 IP 어드레스와 재접속해야할 수도 있다. 핸드오프가 가능함에도 불구하고, 통상적으로, IP 어드레스가 변경되기 때문에 발생할 수도 있는 더 큰 레이 턴시가 존재한다. 따라서, 사용자가 접속을 실패할 때마다, 일반적으로 사용자는, 자신이 접속해제된 동안 전송될 수도 있었던 미싱 IP 패킷을 수신하지 못한다. 그 결과, 전자통신 세션은 핸드오프 동안 불명확해질 수도 있고, 및/또는 왜곡될 수도 있다.
또한, 이러한 상호접속된 제어기들의 방법은 일반적으로 사설 프로토콜을 이용하여 구현된다. 따라서, 핸드오프가 수행되는 동안, 이동 전자통신 디바이스, 액세스 포인트, 및 심지어 제어기들은 동일한 공급자 또는 협력 공급자들에 의해 제공될 필요가 있을 수도 있다. 하드웨어의 한계는, 핸드오프 능력을 갖는 무선 통신 시스템을 사용하기를 원할 수도 있는 회사가 사용할 수 있는 선택을 제한할 수도 있다. 또한, 하드웨어 교체에 관련된 비용은, 회사의 전자통신 인프라구조를 업데이트하는 회사의 융통성을 더욱 제한할 수도 있는 중요한 팩터일 수도 있다.
본 발명의 실시형태들에 따르면, 회사에 의해 구현될 수도 있는 심리스한 무선 핸드오프를 포함하는 무선 통신 시스템 솔루션이 제공된다. 본 발명의 일 양태에 따르면, 2 개의 무선 액세스 포인트들 사이의 핸드오프 동안 발생할 수도 있는 데이터 손실이, 핸드오프 동안 송신되고 있는 IP 패킷을 버퍼링함으로써 실질적으로 제거될 수도 있음을 본 발명자는 인식하였다. 본 발명의 실시형태들은, 무선 통신 시스템이 이러한 버퍼 시스템을 통합할 수 있게 한다. 본 발명의 실시형태들은 이동성 클라이언트 및 이동성 서버 상에 버퍼 시스템을 구현하는 것을 더 포함한다.
예를 들어, 이동성 클라이언트의 사용자가 무선 액세스 포인트를 통해 외부 전자통신 디바이스 상의 사용자와 통신중인 상황을 고려한다. 전자통신 세션 동안 이동성 클라이언트의 사용자는 로밍할 수도 있다.
본 발명의 일 실시형태에서, 이동성 클라이언트는, 이동성 서버 상에 위치된 이동성 매니저 서버 모듈과 통신할 수 있는 이동성 매니저 클라이언트 모듈를 포함할 수도 있다. 이동성 클라이언트의 사용자가 로밍함에 따라, 이동성 매니저 클라이언트 모듈은, 신호 강도가 열화되고 있고, 더 강한 신호를 제공할 수도 있는 또 다른 액세스 포인트가 가용인 것을 (검출 메커니즘을 통해) 검출할 수도 있다. 또한, 이동성 매니저 클라이언트 모듈은, 핸드오프가 임박한 경우 이동성 매니저 서버 모듈에 통지할 수도 있다.
일 실시형태에서, 무선 통신 시스템은, 외향 IP 패킷을 버퍼링할 수 있는 음성 엔진 모듈, 및 미디어 서버 및 음성 품질 엔진 모듈을 포함할 수도 있다. 버퍼 시스템의 목적은, 사용자가 하나의 액세스 포인트로부터 또 다른 액세스 포인트로 로밍함에 따라 잠재적인 IP 패킷 손실을 대비하는 것이다.
일 실시형태에서, IP 어드레스 변경을 요구하지 않는 액세스 포인트와의 새로운 접속이 확립된 이후, 음성 엔진 모듈, 및 미디어 서버 및 음성 품질 엔진 모듈은 버퍼 시스템을 제거하고, 내향 IP 패킷의 포워딩 및 동기화를 시작할 수도 있다. 그 결과, 실질적으로 IP 패킷 손실이 없는 심리스한 전이가 발생할 수도 있다.
또 다른 실시형태에서, 미디어 서버 및 음성 품질 엔진 모듈은, IP 어드레스 변경이 발생했다면, 이동성 클라이언트가 등록 프로세스를 완료할 때까지 내향 IP 패킷을 버퍼링할 수도 있다. 또한, 이동성 서버는 인증 타이머를 활성화시킬 수도 있다. 인증 타이머는 이동성 서버에 등록하기 위해 IP 패킷의 소유자 (이동성 클라이언트) 에 대한 소정의 시간 제한을 제공하도록 구성될 수도 있다.
일 실시형태에서, 등록 및 인증 프로세스가 적시에 (소정의 시간 제한 내에서) 발생하면, 이동성 서버의 음성 엔진 모듈, 및 미디어 서버 및 음성 품질 엔진 모듈은 내향 IP 패킷을 동기화하고 IP 패킷 교환의 기능을 계속할 수도 있다. 등록 및 인증 프로세스가 소정의 시간 제한 내에 발생하지 않으면, 이동성 서버는 새로운 액세스 포인트로부터 입력되는 IP 패킷을 거부할 수도 있다. 추가적인 등록 및 인증 프로세스는 스푸핑과 같은 잠재적인 공격에 대한 보호를 무선 통신 시스템에 제공한다.
일 실시형태에서, 등록 및 인증 프로세스가 성공적이 아닌 경우, 전자통신 세션에 대한 방해를 방지하기 위해, 셀룰러 네트워크를 통해 이동성 서버로의 접속이 행해질 수도 있다.
본 발명의 특성 및 이점은 이하 도면 및 설명을 참조하여 더 잘 이해될 수도 있다.
도 28 은, 본 발명의 일 실시형태에서, 단일 제어기에 의해 관리되는 2 개의 액세스 포인트들 사이에서 로밍하는 이동성 클라이언트 상의 사용자의 블록도를 도시한다. 예를 들어, 이동성 클라이언트 (2816) 의 사용자가 외부 전화 (2802) 의 사용자와 대화중인 상황을 고려한다. IP 패킷 (예를 들어, 음성 패킷) 은, 회사 내의 이동성 클라이언트 (2816) 상의 사용자와 접속하기 위해 캐리어 네트워크 (2860) 를 통해 이동할 수도 있다. 이 IP 패킷은 PBX (2810) 에 의해 먼저 수신될 수도 있다. 그 후, PBX (2810) 는 내부 IP 네트워크 (2812; 예를 들어, 인트라넷) 를 통해 이 IP 패킷을 이동성 서버 (2818) 에 라우팅할 수도 있다. 이동성 서버 (2818) 로부터, IP 패킷은 IP 네트워크 (2812) 및 액세스 포인트 (2862) 를 통해 이동성 클라이언트 (2816) 로 (경로 (2892) 로 도시된 바와 같이) 전송될 수도 있다.
전자통신 세션 동안, 이동성 클라이언트 (2816) 의 사용자는 액세스 포인트 (2862) 로부터 액세스 포인트 (2861) 로 (경로 (2890) 에 의해 도시된 바와 같이) 로밍할 수도 있다. 이 예에서, 액세스 포인트 (2862) 및 액세스 포인트 (2861) 는 동일한 제어기에 의해 관리될 수도 있다. 따라서, 이 액세스 포인트 모두는 동일한 IP 어드레스 공간을 공유하여, 이동성 클라이언트에 대한 새로운 IP 어드레스를 요구하지 않을 수도 있다.
이동성 클라이언트 (2816) 의 사용자가 액세스 포인트 (2861) 로 이동함에 따라, 이동성 클라이언트 (2816) 내의 이동성 매니저 클라이언트 모듈 (2874) 은 신호 레벨을 모니터링할 수도 있고, 신호 레벨 변경을 이동성 서버 (2818) 내의 이동성 매니저 서버 모듈 (2884) 에 전달중일 수도 있다. 일 실시형태에서, 이동성 매니저 클라이언트 모듈 (2874) 은, 핸드오프의 임박을 검출하고 핸드오프 판정을 하기 위해, 신호 강도 데이터 및 다른 파라미터들과 같은 정보로 접속성의 현재 상태를 수신 및 평가하도록 구성될 수도 있다. 본 발명의 일 실시형태에서, 이 동성 서버 (2818) 의 이동성 매니저 서버 모듈 (2884) 은 이동성 클라이언트 (2816) 의 접속성 정보를 수신 및 저장하도록 구성될 수도 있다.
이동성 매니저 클라이언트 모듈 (2874) 이 Wi-Fi 인프라구조를 인식하기 때문에, 이동성 매니저 클라이언트 모듈 (2874) 은, 더 양호한 접속성을 수신하기 위해 핸드오프가 가능할 수도 있음을 인식할 수도 있다. 일 예로, 액세스 포인트 (2861) 에 의해 제공된 신호 레벨이 더 강해질 수도 있는 동안, 액세스 포인트 (2862) 에 의해 제공되는 신호 레벨은 더 약해질 수도 있다. 그 결과, 이동성 클라이언트 (2816) 및 이동성 서버 (2818) 모두는 잠재적인 핸드오프를 대비하기 시작할 수도 있다.
핸드오프를 대비하기 위해, 이동성 매니저 클라이언트 모듈 (2874) 은, 핸드오프가 가능함을 호출 제어 클라이언트 모듈 (2872) 에 통지할 수도 있다. 도 10 에서 전술한 바와 같이, 호출 제어 클라이언트 모듈 (2872) 은 이동성 클라이언트 (2816) 의 외향 데이터 및 내향 데이터를 관리하도록 구성될 수도 있다. 호출 제어 클라이언트 모듈 (2872) 은, 이동성 서버 (2818) 로 전송될 수도 있는 IP 패킷들의 버퍼링을 시작하기 위해 음성 엔진 모듈 (2870) 에 통지할 수도 있다.
일 실시형태에서, 버퍼링을 수행하기 위해, 음성 엔진 모듈 (2870) 은 클라이언트 데이터 저장부 (2878) 및 클라이언트 버퍼 타이머 (2876) 를 포함할 수도 있다. 클라이언트 데이터 저장부 (2878) 는, 핸드오프가 임박한 경우, 이동성 클라이언트 (2816) 의 외향 IP 패킷을 버퍼링하도록 구성될 수도 있다. 클라이언트 버퍼 타이머 (2876) 는, 클라이언트 데이터 저장부 (2878) 가 외향 IP 패킷을 버퍼링한 지속기간을 위해 구성될 수도 있다. 이 지속기간이 소정의 지속기간을 초과하면, 클라이언트 데이터 저장부 (2878) 는, 일 실시형태에서, 과도하게 지연된 데이터의 송신을 방지하기 위해, 버퍼링된 외향 IP 패킷을 폐기할 수도 있다. 소정의 지속기간은 외향 IP 패킷의 특성에 의존할 수도 있다. 일 예로, 외향 IP 패킷이 음성 데이터이면, 소정의 지속기간의 길이는 200 ms 이하일 수도 있다.
한편, 이동성 매니저 서버 모듈 (2884) 은, 전자통신 세션을 확립하는 것과 관련된 기능들을 수행하도록 구성되는 호출 제어 서버 모듈 (2882) 에, 핸드오프가 가능함을 통지할 수도 있다. 일 실시형태에서, 호출 제어 서버 모듈 (2882) 은, 외부 전화 (2802) 로부터 수신될 수도 있는 IP 패킷을 버퍼링하기 시작하기 위해, 리소스 매니저 모듈 (2886) 을 통해 미디어 서버 및 음성 품질 엔진 모듈 (2880) 에 통지할 수도 있다.
일 실시형태에서, 미디어 서버 및 음성 품질 엔진 모듈 (2880) 은 서버 데이터 저장부 (2888) 및 서버 버퍼 타이머 (2892) 를 포함할 수도 있다. 서버 데이터 저장부 (2888) 는, 핸드오프가 임박한 경우, 외향 IP 패킷을 이동성 클라이언트 (2816) 에 버퍼링할 수도 있다. 서버 버퍼 타이머 (2892) 는, 서버 데이터 저장부 (2888) 가 외향 IP 패킷을 이동성 클라이언트 (2816) 에 버퍼링한 지속기간을 위해 구성될 수도 있다. 지속기간이 소정의 지속기간에 도달하면, 서버 데이터 저장부 (2888) 는, 일 실시형태에서, 과도하게 지연된 데이터의 송신을 방지하기 위해, 버퍼링된 외향 IP 패킷을 폐기할 수도 있다.
하나 이상의 기준 (예를 들어, 신호 강도, 채널 로딩 및/또는 통신 품질) 이 충족되면, 이동성 클라이언트 (2816) 는 액세스 포인트 (2862) 로부터 접속해제될 수도 있고, 액세스 포인트 (2861) 와의 접속을 확립할 수도 있다. 이동성 서버 (2818) 는, 이제, 이동성 클라이언트 (2816) 와 외부 전화 (2802) 사이에 전자통신 세션을 확립하기 위해, IP 네트워크 (2812) 및 액세스 포인트 (2861) 를 통해 (경로 (2894) 에 의해 도시된 바와 같이) 이동성 클라이언트 (2816) 에 전자통신 세션을 라우팅할 수도 있다.
이동성 매니저 클라이언트 모듈 (2874) 은, 핸드오프가 완료된 것을 인식한 이후, 이동성 매니저 서버 모듈 (2884) 에 통지할 수도 있다. 그 통지를 수신하면, 이동성 서버 (2818) 는 버퍼링된 IP 패킷을 이동성 클라이언트 (2816) 에 전송하기 시작할 수도 있다. 이 때, 이동성 클라이언트 (2816) 는 자신의 버퍼링된 IP 패킷 또한 전송하기 시작할 수도 있다. IP 패킷을 수신하면, 이동성 서버 (2818) 및 이동성 클라이언트 (2816) 모두는, 어떠한 내향 IP 패킷이 미리 수신되지 않았는지를 결정하기 위해 동기화를 수행할 수도 있다.
(액세스 포인트 (2861 및 2862) 모두가 동일한 제어기에 의해 관리되기 때문에) 핸드오프 동안 IP 어드레스 변경이 발생하지 않는 경우에도, 핸드오프가 발생하는 동안 갭이 존재할 수도 있다. 갭 문제를 해결하기 위해, 이동성 서버 (2818) 및 이동성 클라이언트 (2816) 모두에 의한 IP 패킷의 동기화는, 핸드오프 동안 IP 패킷이 손실되지 않는 것을 보장할 수도 있다. 따라서, 양자 모두에게 전이가 심리스하게 보일 수도 있다.
도 29 는, 본 발명의 일 실시형태에서, 2 개의 서로 다른 제어기에 의해 관리될 수도 있는 2 개의 액세스 포인트 사이에서 이동성 클라이언트의 사용자가 로밍하는 블록도를 도시한다. 도 29 에 도시된 실시형태는, 이동성 클라이언트가 새로운 액세스 포인트를 통해 이동성 서버에 등록할 것을 IP 어드레스의 변경이 요구하는 것을 제외하고는, 도 28 에 도시된 실시형태와 유사하다.
예를 들어, 액세스 포인트 (2861) 에 접속된 이동성 클라이언트 (2816) 의 사용자가 회사 (2800) 의 외부에서 액세스 포인트 (2902) 로 (경로 (2900) 로 도시된 바와 같이) 로밍을 시작하는 상황을 고려한다. 이 예에서, 액세스 포인트 (2902) 및 액세스 포인트 (2861) 는 서로 다른 제어기에 의해 관리될 수도 있다. 따라서, 액세스 포인트 모두는 동일한 IP 어드레스 공간을 공유하지 않고, 이동성 클라이언트는 자신의 IP 어드레스를 변경하도록 강제될 것이다.
전술한 바와 같이, 이동성 매니저 클라이언트 모듈 (2874) 및 이동성 매니저 서버 클라이언트 모듈 (2884) 은 접속성 상태 데이터를 공유중일 수도 있다. 이동성 클라이언트 (2816) 의 사용자가 액세스 포인트 (2861) 로부터 액세스 포인트 (2902) 쪽으로 로밍함에 따라, 이동성 매니저 클라이언트 모듈 (2874) 은 임박한 핸드오프를 이동성 매니저 서버 모듈 (2884) 에 통지할 수도 있다. 이동성 클라이언트 (2816) 및 이동성 서버 (2818) 모두는 잠재적인 핸드오프를 대비하기 시작할 수도 있다. 하나 이상의 기준 (예를 들어, 신호 강도, 채널 로딩 및/또는 통신 품질) 이 충족되면, 음성 엔진 모듈 (2870) 및 미디어 서버 및 음성 품질 엔진 모듈 (2880) 모두는 외향 IP 패킷을 버퍼링하기 시작할 수도 있다.
이동성 클라이언트 (2816) 가 액세스 포인트 (2861) 로부터 접속해제되고 액세스 포인트 (2902) 와의 접속을 확립한다. 이 시점에, 이동성 매니저 클라이언트 모듈 (2874) 은, 액세스 포인트 (2884) 와의 접속이 생성되었음을 이동성 매니저 서버 모듈 (2884) 에 통지할 수도 있다. 또한, 음성 엔진 (2870) 은 버퍼 타이머를 종료하고 이동성 서버 (2818) 에 버퍼링된 IP 패킷을 전송하기 시작할 수도 있다.
일 실시형태에서, 액세스 포인트 (2902) 와의 새로운 접속이 새로운 IP 어드레스를 요구하면, 이동성 클라이언트 (2816) 는 그 새로운 액세스 포인트를 통해 이동성 서버 (2818) 에 재등록해야할 수도 있다. 일 실시형태에서, 이동성 서버 (318) 는, 등록 프로세스가 완료될 때까지 이동성 클라이언트 (2816) 로부터 내향 IP 패킷을 버퍼링할 수도 있다.
일 실시형태에서, 이동성 서버 (2818) 의 미디어 서버 및 음성 품질 엔진 모듈 (2880) 은 인증 타이머 (2990) 를 포함할 수도 있다. 인증 타이머 (2990) 는, IP 어드레스의 변경이 발생한 경우 이동성 클라이언트 (2816) 가 이동성 서버 (2818) 에 등록하는데 소요될 수도 있는 시간량을 측정하도록 구성될 수도 있다. 이동성 클라이언트 (2816) 가 허용된 인증 시간 제한 내에 등록하지 않으면, 이동성 서버 (2818) 는 잠재적인 보안 문제를 방지하기 위해 핸드오프를 거부할 수도 있다.
등록 및 인증이 시간 제한 내에 발생하면, 이동성 서버 (2818) 는, 그 버퍼링된 IP 패킷이 지정된 자에게 흐르는 것을 허용할 수도 있다. 종래 기술에서, IP 어드레스에서의 변경은, 통상적으로, 데이터 손실이 발생할 수도 있는 현저한 갭을 유발한다. 갭 문제를 해결하기 위해, 이동성 서버 (2818) 및 이동성 클라이언트 (2816) 모두에 의한 IP 패킷의 동기화는, 핸드오프 동안 IP 패킷이 손실되지 않는 것을 보장할 수도 있다. 따라서, 양자 모두에게 전이는 심리스하게 보일 수도 있다.
이제, 이동성 서버 (2818) 는, 이동성 클라이언트 (2816) 와 외부 전화 (2802) 사이에 전자통신 세션을 확립하기 위해, IP 네트워크 (2812), 방화벽 (2920), 인터넷 (2950) 및 액세스 포인트 (2902) 를 통해 이동성 클라이언트 (2816) 로 (경로 (2904) 로 도시된 바와 같이) 전자통신 세션을 라우팅할 수도 있다.
일 실시형태에서, 이동성 클라이언트 (2816) 의 사용자가 소정의 시간 제한 내에 인증할 수 없으면, 전자통신 세션에서의 방해를 방지하기 위해, 이동성 서버 (2818) 와 이동성 클라이언트 (2816) 사이에서 셀룰러 네트워크 (2962) 를 통해 (도 12 및 13 에 도시된 바와 같이) 셀룰러 접속이 확립될 수도 있다. 셀룰러 접속으로의 스위칭은, 이동성 클라이언트 (2816) 가 또 다른 인증/등록을 시도하기에 충분한 시간을 제공할 수도 있다.
도 30 은, 본 발명의 하나 이상의 실시형태에 따라, (도 28 에서 설명한 바와 같은) IP 어드레스 변경에 관련되지 않는 로밍 시나리오의 호출 플로우를 도시한다.
이동성 서버 (2818) 를 통해 외부 전화 (2802) 와 이동성 클라이언트 (2816) 사이에 확립된 접속 (3002) 이 존재할 수도 있다. 확립된 접속 (3002) 은 2 개의 레그 (3004 및 3006) 를 포함할 수도 있다. 레그 (3004) 는 외부 전화 (2802) 와 이동성 서버 (2818) 사이의 접속에 관련된다. 일 예로, 외부 전화 (2802) 는 캐리어 네트워크 (2860), PBX (2810) 및 IP 네트워크 (2812) 를 통해 이동성 서버 (2818) 에 접속될 수도 있다. 레그 (3006) 는 이동성 클라이언트 (2816) 와 이동성 서버 (2818) 사이의 접속과 관련될 수도 있다. 일 예로, 이동성 클라이언트 (2816) 는 IP 네트워크 (2812) 및 액세스 포인트 (2862) 를 통해 이동성 서버 (2818) 에 접속될 수도 있다.
전자통신 세션 동안, 이동성 클라이언트 (2816) 의 접속성 상태에 대한 데이터는 이동성 서버 (2818) 에 연속적으로 전달될 수도 있다. 이동성 클라이언트 (2816) 의 사용자가 액세스 포인트 (2862) 로부터 또 다른 액세스 포인트 (2861) 로 로밍함에 따라, 이동성 매니저 클라이언트 모듈 (2874) 는, 핸드오프가 가능할 수도 있다는 통지를 이동성 매니저 서버 모듈 (2884) 에 전송할 수도 있다 (단계 3010). 다음 단계 3012 에서, 이동성 매니저 서버 모듈 (2884) 은 이 통지를 호출 제어 서버 모듈 (2882) 에 포워딩할 수도 있다. 호출 제어 서버 모듈 (2882) 은 리소스 매니저 (2886) 를 통해 이 통지 호출을 미디어 서버 및 음성 품질 엔진 모듈 (2880) 에 포워딩할 수도 있다 (단계 3014 및 3016).
다음 단계 3018 에서, 이 통지를 수신하면, 미디어 서버 및 음성 품질 엔진 모듈 (2880) 은 외부 전화 (2802) 로부터의 내향 IP 패킷을 버퍼링하기 시작할 수도 있다. 한편, 이동성 매니저 클라이언트 모듈 (2874) 은, 외부 IP 패킷의 버 퍼링을 시작하기 위해, 호출 제어 클라이언트 모듈 (2872) 을 통해 음성 엔진 모듈 (2870) 에 통지할 수도 있다 (단계 3020). 이러한 전이를 통해, 음성 엔진 모듈 (2870), 및 미디어 서버 및 음성 품질 엔진 모듈 (2880) 모두는 IP 패킷을 여전히 전송중일 수도 있다. 그러나, 약화된 신호 레벨이 우연하게 IP 패킷 손실을 유발시키지 않는 것을 보장하기 위해, IP 패킷은 추후의 동기화를 위해 버퍼링될 수도 있다.
하나 이상의 기준 (예를 들어, 신호 강도, 채널 로딩, 및/또는 통신 품질) 이 충족되면, 호출 제어 클라이언트 모듈 (2872) 은 액세스 포인트 (2861) 와의 접속을 확인응답할 것이다 (단계 3024). 거의 동일한 시점에, 호출 제어 클라이언트 모듈 (2872) 은, 로밍 주기가 종료했음을 이동성 매니저 클라이언트 모듈 (2874) 에 통지할 수도 있다. 다음 단계 3030 에서는, 이동성 매니저 클라이언트 모듈 (2874) 이 이 통지 (예를 들어, 로밍이 종료했다는 통지) 를 이동성 매니저 서버 모듈 (2884) 에 포워딩할 수도 있다. 이 통지를 수신하면, 이동성 매니저 서버 모듈 (2884) 은, 로밍이 완료되었음을 호출 제어 서버 모듈 (2882) 에 통지할 수도 있다 (단계 3032). 이 통지를 수신하면, 호출 제어 서버 모듈 (2882) 은, 로밍이 완료되었음을 리소스 매니저 모듈 (2886) 을 통해 미디어 서버 및 음성 품질 엔진 모듈 (2880) 에 통지할 수도 있다 (단계 3034 및 단계 3036). 다음 단계 3026 에서는, 이동성 클라이언트 (2816) 의 음성 엔진 모듈 (2870) 이 새로운 액세스 포인트 (2861) 를 통해 미디어 서버 및 음성 품질 엔진 모듈 (2880) 에 버퍼링된 IP 패킷을 전송하기 시작할 수도 있다. IP 패킷을 수신하면, 미디 어 서버 및 음성 품질 엔진 모듈 (2880) 은 차례로 그 IP 패킷을 음성 엔진 모듈 (2870) 에 전송할 수도 있다 (단계 3028). 일 실시형태에서, 음성 엔진 모듈 (2870), 및 미디어 서버 및 음성 품질 엔진 모듈 (2880) 모두는, 먼저, IP 패킷이 손실되지 않았음을 보장하기 위해 수신된 IP 패킷에 대해 내향 IP 패킷을 동기화시킬 수도 있다.
이제, 새로운 접속 (3038) 은 레그 (3004 및 3040) 를 포함할 수도 있다. 레그 (3004) 는 변경되지 않았으며, 캐리어 네트워크 (2860), PBX (2810), 및 IP 네트워크 (2812) 를 통해 외부 전화 (2802) 로부터 이동성 서버 (2818) 로의 미디어 트래픽을 여전히 포함한다. 레그 (3040) 는 레그 (3006) 를 대체하며, 이제, IP 네트워크 (2812) 및 액세스 포인트 (2861) 를 통해 이동성 서버 (2818) 로부터 이동성 클라이언트 (2816) 로 흐르는 미디어 트래픽을 포함한다.
도 31 은, 본 발명의 하나 이상의 실시형태에 따라, (도 29 에서 설명한 바와 같은) IP 어드레스 변경과 관련된 로밍 시나리오의 호출 플로우를 도시한다.
이동성 서버 (2818) 를 통해 외부 전화 (2802) 와 이동성 클라이언트 (2816) 사이에 확립된 접속 (3102) 이 존재할 수도 있다. 확립된 접속 (3102) 은 2 개의 레그 (3104 및 3106) 를 포함할 수도 있다. 레그 (3104) 는 레그 (3004) 와 동일한 접속일 수도 있고, 외부 전화 (2802) 와 이동성 서버 (2818) 사이의 접속에 관련될 수도 있다. 레그 (3006) 는 액세스 포인트 (2861) 를 통해 이동성 클라이언트 (2816) 와 이동성 서버 (2818) 사이의 접속에 관련될 수도 있다.
단계 3108 내지 3120 는 도 30 의 단계 3008 내지 단계 3020 과 유사하다. 즉, 이동성 서버 (2818) 와 접속성 상태를 통신하는 이동성 클라이언트 (2816) 는, 액세스 포인트 (2861) 로부터 입력되는 신호 레벨이 약화될 수도 있다는 점 및 액세스 포인트 (2902) 로부터 입력되는 신호 레벨이 강화될 수도 있다는 점을 인식할 수도 있다. 이동성 클라이언트 (2816) 는 핸드오프를 대비하기 위해 이동성 서버 (2818) 에 통지할 수도 있다 (단계 3110, 3112, 3114 및 3116). 이동성 클라이언트 (2816) 및 이동성 서버 (2818) 모두는 외향 IP 패킷을 버퍼링하기 시작할 수도 있다 (단계 3118 및 3120).
하나 이상의 기준 (예를 들어, 신호 강도, 채널 로딩 및/또는 통신 품질) 이 충족되면, 호출 제어 클라이언트 모듈 (2872) 은 액세스 포인트 (2902) 와의 접속을 확인응답할 것이다 (단계 3122). 액세스 포인트 (2861) 및 액세스 포인트 (2902) 가 서로 다른 제어기와 관련되기 때문에, 새로운 접속은 IP 어드레스 변경에 관련될 수도 있다.
다음 단계 3124 에서는, 음성 엔진 모듈 (2870) 이 버퍼링된 IP 패킷들을 인터넷 (2950), 방화벽 (2920) 및 IP 네트워크 (2812) 를 경유하여 새로운 액세스 포인트 (2902) 를 통해 미디어 서버 및 음성 품질 엔진 모듈 (2880) 에 전송하기 시작할 수도 있다. 그 IP 패킷들을 수신하면, 미디어 서버 및 음성 품질 엔진 모듈 (2880) 은 인증 타이머를 시작하고, 음성 엔진 모듈 (2870) 로부터의 내향 IP 패킷들을 버퍼링하기 시작할 수도 있다 (단계 3126).
이와 거의 동시에, 호출 제어 클라이언트 모듈 (2872) 은, 로밍 주기가 종료했음을 이동성 매니저 클라이언트 모듈 (2874) 에 통지할 수도 있다. 그 후, 이동성 매니저 클라이언트 모듈 (2874) 은 이 통지를 이동성 매니저 서버 모듈 (2884) 에 포워딩할 수도 있다.
한편, 다음 단계 3134 에서는, 이동성 매니저 클라이언트 모듈 (2874) 이 새로운 액세스 포인트 (2902) 를 통해 이동성 매니저 서버 모듈 (2884) 에 등록할 수도 있다. 이 등록을 수신하면, 이동성 매니저 서버 모듈 (2884) 은 인증을 수행할 수도 있다. 등록 및 인증이 적시에 (즉, 허용된 인증 시간 제한 내에) 완료되지 않으면, 이동성 서버 (2818) 는 핸드오프를 거부할 수도 있다.
그러나, 등록 및 인증 프로세스가 시간 제한 내에 발생하면, 이동성 매니저 서버 모듈 (2884) 은, 로밍이 완료되었음을 호출 제어 서버 모듈 (2882) 에 통지할 수도 있다 (단계 3138). 이 통지를 수신하면, 호출 제어 서버 모듈 (2882) 은, 로밍이 완료되었음을 리소스 매니저 모듈 (2886) 을 통해 미디어 서버 및 음성 품질 엔진 모듈 (2880) 에 통지할 수도 있다 (단계 3140 및 3142). 이 통지를 수신하면, 다음 단계 3144 에서, 미디어 서버 및 음성 품질 엔진 모듈 (2880) 은, IP 패킷을 외부 전화 (2802) 로 포워딩하기 이전에 수신된 IP 패킷에 대해, 이동성 클라이언트 (2816) 로부터의 내향 IP 패킷을 동기화시킬 수도 있다. 이와 거의 동시에, 음성 엔진 (2870) 은 이동성 서버 (2818) 로부터의 내향 IP 패킷에 대해 유사한 동기화를 수행할 수도 있다.
이제, 새로운 접속 (3148) 은 레그 (3104 및 3146) 를 포함할 수도 있다. 레그 (3104) 는 변경되지 않으며, 캐리어 네트워크 (2860), PBX (2810) 및 IP 네트워크 (2812) 를 통해 외부 전화 (2802) 로부터 이동성 서버 (2818) 로의 미디어 트래픽을 여전히 포함한다. 레그 (3146) 는 레그 (3106) 를 대체하고, 이제, IP 네트워크 (2812), 방화벽 (2920), 인터넷 (2950) 및 액세스 포인트 (2902) 를 통해 이동성 서버 (2818) 로부터 이동성 클라이언트 (2816) 로 흐르는 미디어 트래픽을 포함한다.
도 32 는, 본 발명의 하나 이상의 실시형태에 따른 버퍼 방식을 도시한다.
예를 들어, 전자통신 세션이 이동성 클라이언트 (2816) 와 또 다른 전자통신 디바이스 사이에 확립된 상황을 고려한다. 이 전자통신 세션은 오디오 스트리밍, 비디오 스트림 및 데이터 스트리밍을 포함할 수도 있지만, 이에 한정되는 것은 아니다. 일 실시형태에서, 이동성 클라이언트 (2816) 는 이동성 서버 (2818) 를 통해 전자통신에 접속될 수도 있다. 전자통신 세션 동안, 이동성 클라이언트는 Wi-Fi 액세스 포인트를 통해 그 접속성 상태를 이동성 서버와 통신할 수도 있다.
제 1 단계 3202 에서는, 이동성 클라이언트 (2816) 의 음성 엔진 모듈 (2870) 이 이동성 서버 (2818) 의 미디어 서버 및 음성 품질 엔진 모듈 (2880) 과 IP 패킷들을 교환중이다.
전자통신 세션 동안, 이동성 매니저 클라이어트 모듈 (2874) 은 이동성 매니저 서버 모듈 (2884) 과 통신중일 수도 있다. 하나 이상의 기준 (예를 들어, 신호 강도, 채널 로딩, 음성 품질 및/또는 데이터 송신 품질) 이 충족되고, 핸드오프가 임박하면, 다음 단계 3204 에서는, 이동성 클라이언트의 이동성 매니저 클라이언트 모듈 (2874) 가, (예를 들어, 또 다른 액세스 포인트 및/또는 셀룰러 네트 워크로) 핸드오프가 가능함을, 이동성 서버의 이동성 매니저 서버 모듈 (2884) 에 통지할 수도 있다. 이 통지를 수신하면, 이동성 매니저 서버 모듈 (2884) 은 핸드오프를 대비하기 위해, (호출 제어 서버 모듈 (2882) 및 리소스 매니저 모듈 (2886) 을 통해) 미디어 서버 및 음성 품질 엔진 모듈 (2880) 에 통지할 수도 있다 (단계 3206). 한편, 이동성 매니저 클라이언트 모듈 (2874) 은 핸드오프를 대비하기 위해 음성 엔진 모듈 (2870) 에 통지할 수도 있다 (단계 3208).
이 통지를 수신하면, 음성 엔진 모듈 (2870), 및 미디어 서버 및 음성 품질 엔진 (2880) 모두는 외향 IP 패킷을 버퍼링하기 시작한다 (단계 3210 및 3212). 일 실시형태에서는, IP 패킷을 버퍼링하기 위한 시간의 지속기간을 측정하기 위해 버퍼 타이머가 개시될 수도 있다. 일 실시형태에서, IP 패킷이 일 방향으로만 전송되면, 이동성 클라이언트 및/또는 이동성 서버는 버퍼링을 수행할 필요가 없을 수도 있다. 일 예로, 이동성 클라이언트가 이동성 서버로부터 비디오 송신을 수신중이면, 오직 이동성 서버만 버퍼링을 수행할 필요가 있을 수도 있다. 또 다른 예에서, 이동성 클라이언트가 데이터 송신 (예를 들어, 이메일) 을 전송중이면, 이동성 서버는 버퍼링을 수행할 필요가 없을 수도 있다.
일 실시형태에서, 소정의 시간 주기가 만료되면, 버퍼 타이머는 만료될 수도 있다. 일 예로, 내향 데이터가 음성 호출과 관련되면, 소정의 지속기간의 길이는 200 ms 이하일 수도 있다. 버퍼 타이머가 만료되면, 잠재적으로 혼란을 유발할 수도 있는 과도하게 지연된 데이터의 송신을 방지하기 위해, 버퍼링된 IP 패킷은 폐기될 수도 있다.
한편, 핸드오프가 임박하면, 이동성 클라이언트 (2816) 는 제 1 액세스 포인트 (2861) 로부터 접속해제되고 새로운 액세스 포인트 (2902) 와 새로운 접속을 행할 수도 있다. 다음 단계 3214 에서는, 이동성 클라이언트 (2816) 의 음성 엔진 (2870) 이 그 버퍼링된 IP 패킷을 액세스 포인트 (2902) 를 통해 이동성 서버 (2818) 의 미디어 서버 및 음성 품질 엔진 (2880) 에 전송하기 시작할 수도 있다.
그러나, 이 방법에서, 내향 IP 패킷들이 미등록 이동성 서버에 의해 전송중인 것으로 결정되면, 미디어 서버 및 음성 품질 엔진 (2880) 은 등록이 완료될 때까지 그 내향 IP 패킷들을 버퍼링할 수도 있다. 또한, 미디어 서버 및 음성 품질 엔진 (2880) 은, 일 실시형태에서, 이동성 매니저 클라이언트 모듈 (2874) 이 등록하는데 소요되는 시간을 측정하도록 구성될 수도 있는 인증 타이머를 시작할 수도 있다 (단계 3216).
이와 거의 동시에, 다음 단계 3218 에서는, 이동성 매니저 클라이언트 모듈 (2874) 이, 이동성 서버 (2818) 의 이동성 매니저 서버 모듈 (2884) 에 등록할 수도 있다. 이 등록을 수신하면, 이동성 매니저 서버 모듈 (2884) 은 인증을 수행할 수도 있다. 소정의 시간 제한 내에 등록이 완료되면, 다음 단계 3220 에서는, 이동성 매니저 서버 모듈 (2884) 이, 등록이 완료되었음을 미디어 서버 및 음성 품질 엔진 (2880) 에 통지할 수도 있다. 이 통지를 수신하면, 미디어 서버 및 음성 품질 엔진 (2880) 은 음성 엔진 모듈 (2870) 로부터 내향 IP 패킷을 수용하기 시작할 수도 있다.
이와 거의 동시에, 다음 단계 3222 에서는, 이동성 매니저 클라이언트 모듈 (2816) 이, 등록이 성공적으로 완료되었음을 음성 엔진 모듈 (2870) 에 통지할 수도 있다.
다음 단계 3224 에서는, IP 패킷들이 교환 및 동기화되고, 이동성 클라이언트와 다른 전자통신 디바이스 사이에 전자통신 세션이 계속될 수도 있다.
단계 3216 을 다시 참조하면, 등록 및 인증이 적시에 (예를 들어, 소정의 시간 내에) 완료되지 않는 경우, 예를 들어, 어드레스 스푸핑과 같은 보안 문제를 방지하기 위해, 인증 타이머가 만료될 수도 있고, 이동성 서버 (2818) 는 핸드오프를 거부할 수도 있다.
도 26 내지 32 에 도시된 방법은 Wi-Fi 로부터 Wi-Fi 로의 핸드오프에만 한정되는 것은 아니다. 대신에, 이 설명들은 예시를 의미하고, 본 발명은 제공된 특정한 애플리케이션에 의해 한정되지 않는다. 또한, 본 발명의 일 실시형태에서, 본 방법은, Wi-Fi 네트워크로부터 셀룰러 네트워크로, 셀룰러 네트워크로부터 Wi-Fi 네트워크로, 및 하나의 셀룰러 네트워크로부터 또 다른 셀룰러 네트워크로의 핸드오프를 포함하는 다른 핸드오프 시나리오에 적용될 수도 있지만, 이에 한정되는 것은 아니다.
전술한 설명으로부터 인식할수 있는 바와 같이, 본 발명의 하나 이상의 실시형태들은, 무선 액세스 포인트들 사이에 심리스한 전이를 제공하기 위해 회사에 의해 관리될 수 있는 다수의 네트워크 구성을 이용하는 무선 통신 시스템을 제공한다. 또한, 이 무선 통신 시스템은, 이동성 서버 및 이동성 클라이언트 모두가 전이를 대비할 수 있도록 핸드오프가 가능한 시점을 결정하기 위해 서로 상호작용 할 수 있는 이동성 클라이언트 및 이동성 서버를 포함한다. 또한, 이 무선 통신 시스템은, 핸드오프 동안 IP 패킷들의 손실을 방지할 수도 있는 버퍼링 시스템의 구현을 가능하게 하여, 방해되지 않는 전자통신 세션을 가능하게 한다. 또한, 이 무선 통신 시스템은, 운영 시스템, 브랜드 및/또는 모델들을 독립적이 되게 하여, 장비 (예를 들어, 네트워크 장비 및 전자통신 디바이스) 교체에 관련된 비용을 감소시킨다. 또한, 이 무선 통신 시스템은, 2 개의 무선 액세스 포인트들 사이의 핸드오프가 가능하지 않은 경우, 네트워크들 간의 평활한 전이를 가능하게 한다.
F. 미디어 스트림 프로세싱 분산 시스템에 대한 하드웨어에서의 네트워크 스택 기능 선택
1. 배경
통상적으로, 분산 시스템은 네트워크 인터페이스 상의 모든 수신 및 송신된 패킷을 프로세싱하기 위한 소프트웨어 네트워크 스택을 포함한다. 수신 패킷은 헤더 필드의 검사에 의해 분류되어야 하고, 그 분류에 관련된 임의의 룰에 따라 프로세싱되어야 한다. 송신 패킷은, 패킷 헤더 필드가 정확하게 설정된 것을 보장하게 위해 프로세싱되어야 한다. 이들 기능들은 네트워크 스택에서 2 이상의 층에서 수행된다. 분류된 패킷을 프로세싱하는 것은, 패킷을 드롭 또는 수용하고, 어카운팅을 수행하기 위한 필터 룰의 애플리케이션, 및 그 패킷을 내부 메시지 버스를 통해 프로세싱 엔진으로 디스패치하기 위한 수신지 또는 포워딩 룰의 애플리케이션에 관련된다. 네트워크 스택 기능들은 제어 패킷 및 미디어 패킷 모두 를 조작하기 위해 완전하게 구현되어야 한다.
분산 시스템을 위한 네트워크 스택 기능들을 수행하기 위해, 범용 프로세서 또는 특수한 네트워크 프로세서를 사용하는 경우, 성능 및 비용에서의 문제점들은 통상적이다. 범용 프로세서로 설계하는 경우, 성능 요구사항들을 충족시키기 위해 고속 프로세서가 요구되고, 통상적으로, 라인-레이트 (line-rate) 성능에는 여전히 도달하지 못한다. 특수한 네트워크 프로세서로 설계하는 경우, 성능 요구사항들은 달성되지만, 대부분의 미디어 프로세싱 엔진이 제공하지 않는 소형 분산 시스템은 높은 초기 비용때문에 부담이 된다. 이 비용 문제는, 시스템이 여분의 인터페이스를 요구하는 경우 심화된다. 또한, 시스템 네트워크 액세스는 애플리케이션 소프트웨어에 대해 투명하지 않아서, 사설 네트워크 액세스 인터페이스를 요구한다. 이것은 소프트웨어에 심각한 복잡성 (즉, 비용) 을 추가하여, 휴대성을 제한한다.
더 양호한 네트워크 인터페이스 솔루션은, 수신된 이더넷 패킷들을 분류, 필터링하여 프로세싱 엔진에 디스패치하기 위한 특정한 목적을 위해 저비용 하드웨어에서 네트워크 스택 기능들의 선택, 및 송신된 이더넷 패킷 에서 선택된 헤더 필드의 최종적 조작을 투명하게 수행할 수 있는 솔루션이다. 하드웨어에 의해 분류되지 않은 패킷들은 시간 결정적이 아닌 네트워크 스택 프로세싱을 수행하는데 이용되는 제어 프로세싱 엔진에 포워딩된다. 하드웨어와 프로세싱 엔진 사이에서 이더넷 패킷 인터페이스를 사용하면, 이러한 솔루션은, 애플리케이션들이 공통 POSIX 표준 네트워크를 이용하고 다른 시스템으로의 이동가능성을 유지할 수 있게 한다. 시스템 네트워크 스택은 미디어 스트림에 대한 네트워크 인터페이스 하드웨어에서 몇몇 성능 결정적 기능들을 논리적으로 실행하고, 미디어 패킷이 아닌 패킷들의 작은 퍼센트에 대해, 모든 다른 네트워크 스택 기능들은 범용 프로세서 상의 소프트웨어에서 실행된다.
2. 요약
선택된 IP 스택 기능들을 구현하기 위해 저비용 하드웨어를 사용하는 분산 멀티 프로세서 시스템 설계는 최소한의 비용 및 하드웨어 복잡성으로 하이 레벨의 시스템 성능 및 확장성을 달성할 수 있다. 이 방법은, UDP 또는 TCP 전송 타입 및 포트 번호에 기초한 패킷 식별에 대해, 바람직하지 않은 패킷의 필터링 및 폐기, 및 요구된 패킷들을 다수의 프로세싱 엔진 중 하나로 포워딩하는 것을 제공한다. 하드웨어 분류기에 의해 패킷에 기입된 분류 정보는, 수신된 패킷들을 프로세싱 엔진 상의 등록된 애플리케이션에 명백하게 관련시키는데 사용되고, 이것은, 프로세싱 엔진이 하드웨어에서 이미 수행된 IP 스택 기능들의 발동을 회피하게 한다.
범용 네트워크 인터페이스 하드웨어는 미디어 스트림 프로세싱에 전용하는 분산 시스템의 최적의 설계에 요구된다. 이 하드웨어는, 비용면에서 효과적인 프로세서 및 DSP 디바이스가 선택될 수 있도록, 제어 프로세싱 엔진, 미디어 프로세싱 엔진 및 디지털 신호 프로세서 (DSP) 로부터 수신 및 송신 패킷 프로세싱을 오프로드한다. 이 하드웨어의 목적은, 미디어 프로세싱 엔진으로의 직접적 전달 및 모든 다른 제어 트래픽의 제어 프로세서로의 전달을 위해 미디어 스트림 패 킷들을 분류하는 것이다. 송신 패킷에 대해, 하드웨어는, 선택 헤더 필드 내의 시스템 값들을 설정하는 최종적 패킷 헤더 프로세싱을 수행한다. 논리적으로, 이 시스템 네트워크 스택 기능들은, 하드웨어들, 제어 프로세서들 및 미디어 프로세싱 엔진들 사이에 분산, 즉, 분할된다. 이 하드웨어는, 하드웨어 방화벽을 효과적으로 제공하기 위해, 특수화, 상세화, 필터링을 추가적으로 수행하도록 충분히 유동적이다.
본 발명의 이점은 낮은 비용, 높은 성능, 및 애플리케이션 프로그래밍을 위한 POSIX 표준 인터페이스의 유지를 포함한다. 이들 이점들은, 분산 시스템 설계가 원가 (COGs; cost-of-goods), 시스템 성능 및 확장성 요구사항들을 충족하게 한다. POSIX 표준 네트워크 인터페이스를 사용함으로써, 초기 및 계속적인 엔지니어링 비용 및 리소스 요구사항이 증가되지 않는다. 소프트웨어 개발의 비용 및 높은 복잡성, 및 고품질의 무결점 소프트웨어 릴리스를 제공하는 높은 비용을 가정하면, 본 발명은 더 복잡한 대체예보다 현저한 이점을 제공한다.
3. 전반적 아키텍쳐
비용을 고려한 시장에서, 분산 시스템에 대한 네트워크 인터페이스 하드웨어 설계는 상당한 난제를 제공한다. 최고의 난제는 비용이다. 비용이 시장 요구보다 훨씬 높은 판매 가격을 유발한다면, 예외적인 유동성 또는 성능 특성을 갖는 기능적으로 완벽한 시스템인 경우에도 실용적이지 못한 것은 널리 인식되어 있다. 2 개의 네트워크 인터페이스가 요구되는 경우, 802.1D/w 스패닝 트리 프로토콜 또는 802.3ad 멀티-링크 트렁킹을 사용하면, 리던던시에 대한 요구사항에 의 해 비용이 배가된다.
FPGA 기반 설계의 사용은, 저비용 요구사항을 충족하고, 시스템 설계별로 선택된 IP 기능들을 구현하기에 충분한 유동성을 제공하고, 장래의 요구사항을 허용하고, 라인-레이트 성능을 제공한다. FPGA 하드웨어가 패킷을 분류하고, 정의된 IP 기능들을 수행하면, 분류된 패킷이 특정 프로세싱 엔진에 디스패치되거나, 분산된 경우, 판정 정보는 분류된 패킷에 제공된다. 이 동작이 필수적인 경우, 이더넷 타입 필드는, 이미 수행된 IP 기능들, 및 다음에 수행되는 것이 요구되는 IP 기능들을 나타내도록 설정된다. 분류된 패킷을 수신하면, 프로세싱 엔진은, 필터링 동작을 포함하여 이미 수행된 IP 분류 기능들을 스킵하고, 이 패킷들을 표시된 지점의 네트워크 스택에 삽입한다.
이 시스템 아키텍쳐는, 각각 하나 이상의 내부 블록들을 갖는 다수의 블록으로 구성된다. 시스템 네트워크 인터페이스 하드웨어는 리던던시 요구사항에 따라 하나 또는 2 개의 이더넷 인터페이스를 요구한다. 이 패킷 디스패치 하드웨어는 모든 제어 및 미디어 프로세싱 엔진과 시스템 네트워크 인터페이스(들)을 상호접속시킨다. 제어 프로세싱 엔진은 시스템 관리 및 제어 서비스를 액세스 포인트에 제공하도록 설계된다. 미디어 프로세싱 엔진은 저 레이턴시 및 고용량의 미디어 프로세싱을 제공하도록 설계되고, 성능 규격을 충족시키기 위해 요구되는 다수의 DSP 또는 보안 코-프로세서를 포함할 수도 있다.
4. 수신 미디어 패킷 프로세싱
수신된 패킷 헤더 프로세싱은, 패킷 데이터가 시스템에 입력될 때 시스템 네 트워크 인터페이스 하드웨어에 의해 수행된다. 그 패킷이 이 시스템으로 향해졌는지를 확인하기 위해 수신지 MAC 가 삽입된다. 시스템이 컷-스루 (cut-through) 모드로 동작하기 때문에, MAC 프레임 CRC 는 다음에 체크되지 않는다. 패킷 데이터가 수신되고 추가적 네트워크 스택 함수가 발동되는 경우, MAC 체크섬은 유효한 체크섬으로 가정된다. 이더넷 타입이 검사되고, 비-IP 패킷이 제어 패킷 프로세싱에 의해 조작된다.
IP 패킷에 대해, 미디어 패킷을 제어 패킷으로부터 구별하기 위한 프로세싱이 수행된다. 먼저, 그 패킷이 로컬 전달로 향해졌는지를 확인하기 위해 수신지 IP 어드레스가 검사된다. 이 시스템으로 향하지 않은 IP 패킷들, 또는 드롭 필터 엔트리와 매칭하는 IP 패킷들이 카운트되고 폐기된다. IP 전송 프로토콜 타입이 TCP 인지 또는 UDP 인지 체크된다. IP 헤더 옵션, 및 필요하다면 TCP 헤더 옵션에 기인한 길이 변동을 보상한 이후, 스트림 디멀티플렉싱을 위해 전송 프로토콜 수신지 포트 정보가 초기에 사용된다. 포트는 미디어 스트림 테이블에 대한 인덱스 또는 키로서 사용된다. 이 미디어 스트림 테이블은 제어 패킷으로부터 미디어 패킷들을 분리시킬 유일한 목적으로 오직 미디어 스트림 포트 정의만을 포함한다. 패킷이 미디어 패킷으로 분류되지 않으면, 그 패킷은 나머지 네트워크 스택 프로세싱을 위해 제어 프로세서로 포워딩된다. 미디어 패킷은 추가적인 디멀티플렉싱이 요구되지 않으면 미디어 스트림 테이블 매치 룰마다 프로세싱된다. 이 룰들은 카운트 및 드롭, 미디어 프로세싱 엔진으로의 포워딩, 또는 미디어 서비스 액세스 포인트 (MSAP) 서비스 룰마다의 디멀티플렉싱을 나타낸 다.
MSAP 미디어 스트림은 실시간 전송 (RTP) 또는 보안 실시간 전송 (SRTP) 헤더 내의 동기화 소스 (SSRC) 필드를 사용하여 디멀티플렉싱된다. 네트워크 인터페이스 하드웨어가 MSAP 포트 번호와의 매칭에 의해 미디어 패킷을 분류하는 경우, 하드웨어는 RTP/SRTP SSRC 내에서 선택된 서브필드를 더 식별한다. SSRC 서브필드는 미디어 스트림 테이블에 대한 인덱스, 또는 키로서 사용된다. 비-MSAP 미디어 스트림에 대해, 이러한 룰들은 카운트 및 드롭, 또는 미디어 프로세싱 엔진으로의 포워딩을 나타낸다.
미디어 스트림의 최종 프로세싱은 수신지로의 전달을 위해 패킷을 변형하고, 어떠한 네트워크 기능들이 수행되었는지를 나타내는 정보를 제공한다. 이것은, MAC 수신지 및 MAC 이더넷 타입 필드를 포함하는 선택 필드의 변경을 요구한다.
5. 수신 제어 패킷 프로세싱
하드웨어 미디어 스트림 분류기에 의해 매칭되지 않는 임의의 패킷은 시스템 제어 프로세서로 향해진다. 정의에 의해, 제어 프로세서는, 미디어 트래픽이 아닌 제어 트래픽 및 관리만을 조작한다.
본 발명의 특성 및 이점은 이하 도면 및 설명을 참조하여 더 잘 이해될 수도 있다.
도 33 은, 예를 들어, 미디어 스트림을 셋업하고, 파일 전송 프로토콜 (FTP) 를 서비스하고, 쉘 요청을 보호하고, 하드웨어 박스 자체를 관리하기 위해, 분류 및 패킷 포워딩 작업뿐만 아니라 다른 호스트 프로세싱 작업을 수행하도록 호스트 프로세서 (3302) 가 이용되는 종래 기술의 로직 블록도이다. 호스트 프로세서 (3302) 는 하나 또는 2 개의 물리적 인터페이스 (3304 및 3306) 로부터 패킷을 수신한다. 수신된 패킷 내의 헤더 정보에 기초하여, 호스트 프로세서 (3302) 는, 예를 들어, 테이블 검색을 통해 수신지 MAC 어드레스를 결정함으로써, 그리고, 그 후, 수신된 패킷이 그 수신지로 포워딩될 수 있도록 수신지 MAC 어드레스를 업데이트하기 위해 그 패킷을 변형함으로써, 그 분류 작업을 수행한다.
업데이트되면, 호스트 프로세서 (3302) 는, 그 패킷이 미디어 프로세싱 CPU (3310a, 3310b, 3310c 및 3310d) 중 하나로 포워딩될 수 있도록, 그 패킷을 이더넷 스위치 (3308) 로 포워딩한다. 일반적으로, 미디어 프로세싱 CPU (3310a 내지 3310d) 는 미디어 스트림에 관련된 디지털 시그널링 프로세싱 (DSP) 기능들을 수행한다. 미디어 프로세싱 기능들은, 예를 들어, 인코딩, 디코딩, 믹싱, 에코 상쇄 등을 포함할 수도 있다.
호스트 프로세서 (3302) 는, 미디어 스트림 패킷에 대해 전술한 분류 및 패킷 포워딩 작업을 수행하는 것에 부가하여, 예를 들어, 호출을 셋업 및 종료하기 위해, 수신된 제어 패킷을 조작한다. 또한, 호스트 프로세서 (3302) 는 통상적으로 기대되는 호스트 프로세서의 다른 프로세싱 작업들을 조작한다. 따라서, 호스트 프로세서 (3302) 의 프로세싱 능력 중 오직 일부만이 분류 및 패킷 포워딩 작업을 수행하기 위해 사용가능하다.
지연에 매우 민감한 경향이 있는 미디어 스트림 패킷에 대해, 호스트 프로세서 (3302) 가 그 미디어 스트림 패킷을 고속으로 조작할 수 없는 불능이 장애이다. 예를 들어, 스트리밍 오디오, 스트리밍 비디오에 대해, 또는 인터넷 전화 또는 화상 회의 애플리케이션에 대해, 미디어 스트리밍 패킷은 지연에 매우 민감하고, 적시에 포워딩될 필요가 있다. 미디어 스트림 패킷에 의해 요구되는 고성능을 달성하기 위해, 설계자는 고전력 호스트 프로세서에 의존해야 한다. 인식된 바와 같이, 이러한 고전력 호스트 프로세서는 고가이고, 전체 시스템의 비용을 상승시키는 경향이 있다.
도 34 는, 종래 기술의 도 33 의 호스트 프로세서 (3302) 에 의해 미리 수행된 작업들 중 일부를 오프로드하기 위해 네트워크 프로세서가 이용되는 종래 기술의 구현에 대한 단순화된 로직 블록도를 도시한다. 일반적으로, 네트워크 프로세서 (3402 및 3404) 는, 예를 들어, 라우터에 의해 직면될 수도 있는 광범위한 패킷들을 조작하도록, 자신들의 네트워크 프로세서를 설계하는 네트워크 프로세서 공급자에 의해 제공된다. 따라서, 네트워크 프로세서 (3402 및 3404) 는 매우 고속으로 실행되도록 설계된 ASIC (application specific integrated circuit) 칩인 경향이 있다.
통상적인 네트워크 프로세서에서는, 분류 작업에 부가하여, 다수의 추가적인 작업들이 제공되고 인에이블된다. 범용 라우터에 대해, 네트워크 프로세서의 사용은, 종래 기술의 도 33 의 호스트 프로세서 전용 접근방식에 대한 개선이다. 그러나, 종래 기술의 도 34 의 네트워크 프로세서 접근방식은 복잡하고 비용 문제가 있다.
일반적 네트워크 프로세서인 네트워크 프로세서 (3402 및 3404) 는, 미디어 트래픽에 부가하여 광범위한 트래픽을 조작하는 범용 라우터의 필요성을 네트워크 프로세서 (3402 및 3404) 가 조작할 수 있게 하는 매우 정교한 기능성을 포함하는 경향이 있다. 또한, 네트워크 프로세서 (3402 및 3404) 는 통상적으로, 네트워크 프로세서의 복잡성 및 비용을 또한 추가시키는 계층 3 트래픽을 조작한다. 리던던시 요구사항에 기인하여, 통상적으로 2 이상의 네트워크 프로세서 (3402 및 3404) 가 도시된 바와 같이 이용된다.
미디어 스트림 패킷에 대해, 네트워크 프로세서 (3402 및 3404) 는 분류 작업, 필요하다면, MAC 어드레스를 (새로운) 수신지 MAC 어드레스로 업데이트, 및 미디어 스트림 패킷을 미디어 프로세싱 유닛 (3310a, 3310b, 3310c 및 3310d) 중 하나로 포워딩하는 것을 수행한다. 호스트 CPU 의 주의를 요구하는 패킷들에 대해, 네트워크 프로세서 (3402 및 3404) 중 적어도 하나는 프로세싱을 위해 이 패킷들을 이더넷 스위치 (3410) 를 통해 호스트 CPU (3406) 로 포워딩할 것이다. 호스트 CPU (3406) 에 의해 조작될 수도 있는 패킷들의 예로는, 예를 들어, 호출의 셋업 및 종료를 위한 제어 패킷, 클라이언트로부터의 상태 업데이트 메시지 등이 포함된다.
네트워크 프로세서는 고가일 뿐만 아니라, 파워업시에 네트워크 프로세서 (3402 및 3404) 를 셋업하는데 요구되는 특정량의 구성 오버헤드 또한 존재한다. 복잡한 회로인 경향이 있는 네트워크 프로세서에 대한 구성 요구사항은, 종래 기술의 도 34 의 시스템이 동작될 수 있기 이전에 요구되는 구성 시간에 유한한 지연을 추가한다. 다수의 네트워크 프로세서가 몇몇 이더넷 애플리케이션의 리던던 시 요구사항을 충족시킬 것이 요구되는 경우, 비용은 그에 따라 배가된다.
본 발명의 일 실시형태에 따라, 본 발명자는, VoIP (voice over internet protocol) 에 대해, 분류 엔진에 의해 조작되는 패킷들의 대다수가 미디어 스트림 패킷일 것임을 인식하였다. 일 실시형태에서, VoIP 에 의해 수신된 트래픽의 대부분 또는 전부가 VoIP 트래픽에 관련되는 것을 보장하기 위해, VoIP 게이트웨이 이전에 라우터 또는 또 다른 디바이스가 배치될 수도 있다.
VoIP 게이트웨이에 의해 수신된 패킷들의 작은 퍼센티지는 제어 패킷들일 수도 있고, VoIP 관리에 관련된 다른 패킷들일 수도 있다. 그러나, 이들 비-미디어 패킷은 VoIP 게이트웨이에 의해 수신 및 프로세싱된 패킷의 더 작은 퍼센티지로 구성되는 경향이 있다. 따라서, 본 발명자는, VoIP 프로세싱에 관련되지 않은 많은 기능들이 FPGA 의 기능성 세트로부터 제거될 수 있다면, 분류 엔진이 저비용 FPGA 상에서 구현될 수도 있음을 인식하였다. 또한, 본 발명자는, 비-미디어 패킷에 대해, 소프트웨어 기반 애플리케이션을 사용하여 이 패킷들의 프로세싱을 조작하기 위해 호스트 프로세서가 여전히 사용가능함을 인식하였다. 따라서, 미디어 스트림 패킷의 대다수를 조작하는데 요구되는 기능들의 최소한의 세트를 처리하도록 저비용 FPGA 가 구성되면, 미디어 스트림 패킷들에 대해 라인 레이트 속도로 패킷들을 프로세싱하는 것이 저비용으로 가능할 수도 있음이 인식된다.
일반적으로, 미디어 스트림 패킷들은 UDP 타입이다. VoIP 게이트웨이에 의해 수신된 각각의 패킷은, FPGA 가 그 패킷에 대해 어떠한 동작을 해야하는지를 결정하기 위해 검사되어야 한다. 패킷이 FPGA 에서 수신될 때, IP 헤더가 검사 되며, 호출이 셋업되고 종료될 때 호스트 프로세서에 의해 셋업되는 FPGA 의 내부 테이블에서 검색을 수행하기 위해 UDP 포트 번호가 사용된다. FPGA 의 내부 테이블은, 미디어 스트림 패킷들에 대해 현재 구성된 포트들의 리스트를 포함한다. 테이블 내의 각각의 포트에 대해, 프로그래밍된 필드들은, 미디어 프로세싱 CPU 들 중 하나에 대한 수신지 MAC 어드레스, FPGA 에 의해 패킷이 폐기되어야 할지 여부를 나타내는 플래그, 및 패킷들이 여전히 드롭중인지 여부를 결정하기 위해 사용될 수 있는 카운터를 포함한다. 내향 미디어 스트림 패킷의 포트와 FPGA 의 내부 테이블 내의 포트 사이에 매칭이 이루어지면, 이 패킷은 수신지 미디어 프로세싱 CPU 의 MAC 어드레스를 포함하기 위해 업데이트되고 DSP 프로세싱 (예를 들어, 에코 상쇄, 인코딩, 디코딩 등) 을 위해 포워딩되고, 또는, 그 포트에 대한 폐기 플래그가 설정되면,그 패킷은 드롭되고 폐기 카운터가 증분된다.
미디어 스트림 패킷이 적절한 미디어 프로세싱 CPU 에 의해 프로세싱된 후, 미디어 스트림 패킷은, 이동의 다음 레그 상의 적절한 이더넷 물리 인터페이스로 전송되기 위해 스위치로 역전송된다.
도 35 는, 본 발명의 일 실시형태에서, VoIP 게이트웨이 (3500) 를 통해 여분의 이더넷 프로세싱 경로를 제공하기 위해 FPGA (3502 및 3504) 를 이용하는 VoIP 게이트웨이 (3500) 의 하이 레벨 로직 블록도를 도시한다. 종래 기술의 도 34 의 구현과는 달리, VoIP 게이트웨이 (3500) 에 의해 프로세싱되는 패킷들의 대다수가, 높은 우선순위 및 최소의 지연으로 조작되도록 서비스되고 요구되는 프로세싱 기능의 작고 유한한 세트를 요구하는 미디어 스트림 패킷에 관련되는 구현 은, (특정 이더넷 애플리케이션의 리던던시 요건을 만족시키기 위해 서로에 대해 본질적으로 여분인) 각각의 FPGA (3502 및 3504) 내에서 기능성의 매우 단순화된 세트의 구현을 유도한다.
예를 들어, FPGA (3502) 는 오직 UDP 미디어 스트림 패킷만을 검색하고 오직 UDP 미디어 스트림 패킷만을 조작하도록 설계된다. 모든 다른 타입의 패킷들에 대해, FPGA (3502) 는 조작을 위해 이 패킷들을 호스트 CPU (3506) 에 전달한다. 또한, UDP 미디어 스트림 데이터 패킷들에 대해, FPGA (3502) 는, 이 패킷이 UDP 포트 테이블의 엔트리들 중 하나에 매칭하는지 여부를 결정하기 위해, 그 내부의 UDP 포트 테이블을 사용하여 고속 검색을 수행한다. UDP 포트 테이블의 각각의 엔트리는, 호스트 CPU (3506) 에 의해 이미 셋업된 미디어 스트림을 반영한다. 매칭이 존재하면, FPGA (3502) 는, 패킷이 폐기되어야 하는지 여부에 대해 빠르게 결정을 수행한다.
패킷이 폐기되면, 추가적인 동작은 불필요하다. 패킷이 폐기되지 않으면, FPGA (3502) 는, 수신된 패킷에 대한 새로운 MAC 수신지 어드레스를 공식화하기 위해 FPGA 가 이용할 수 있는 테이블로부터 대응 미디어 프로세싱 CPU 모듈 ID 를 획득한다.
미디어 프로세싱 CPU 모듈 ID 를 검색하는 것은, 내향 패킷의 헤더로부터 획득된 UDP 수신지 포트 번호의 일부를 사용한다. 내향 패킷은 UDP 포트 테이블로의 인덱스로서 UDP 수신지 포트 번호의 일부를 이용한다. UDP 포트 테이블 내에 매칭 엔트리가 존재하면, 수신지 미디어 프로세싱 CPU 모듈 ID 가 획득되고, 수신지 MAC 어드레스가 패킷 헤더에서 공식화되고 업데이트된다.
그 후, FPGA (3502) 는 미디어 프로세싱 CPU (3512a, 3512b, 3512c 및 3512d) 중 하나로 전송되도록 패킷을 이더넷 스위치 (3510) 로 전송한다. 적절한 미디어 프로세싱 CPU (예를 들어, 3512a, 3512b, 3512c 및 3512d 등) 는 미디어 프로세싱 (예를 들어, 전술한 인코딩, 디코딩, 에코 상쇄 등) 을 수행하고, 그 패킷은, 송신 패킷으로 변환되어, (통과 경로로서 기능하는) FPGA 들 중 하나를 통해 이동의 다음 레그 상으로 전송되도록 이더넷 (3510) 에 역전송된다.
미디어 스트림 패킷에 대한 전술한 프로세싱은, VoIP 게이트웨이 (3500) 를 통과하는 패킷들의 대다수에 대해 수행될 필요가 있는 프로세싱의 타입을 나타낸다. 따라서, VoIP 게이트웨이 (3500) 를 이동하는 다수의 미디어 스트림 패킷들에 대해 FPGA (3502 및 3504) 가 수행할 필요가 있는 기능들의 세트를 단순화함으로써, 저비용의 단순화된 FPGA 를 사용하는 라인 레이트 성능을 달성하여, 요구되는 성능을 유지하면서 전체 시스템 비용을 감소시킬 수 있다.
도 36 은, 본 발명의 일 실시형태에 따라, 수신된 패킷의 프로세싱시에 VoIP 게이트웨이 (3500) 에 의해 수행되는 단계들을 도시한다. 패킷은 블록 (3602) 에서 수신되어, UDP 포트 테이블의 UDP 포트를 검색함으로써 블록 (3604) 에서 프로세싱된다.
UDP 포트 정보는 패킷 헤더를 검사함으로써 획득될 수도 있다. UDP 패킷 이외의 모든 패킷들에 대해서는, 어떠한 검색 동작도 불필요하고, 제어는 블록 (3606) 으로 이동하여, 패킷이 프로세싱을 위해 호스트 CPU (3506) 으로 포워딩된 다. 예를 들어, 패킷이 호출 셋업 메시지에 관련되고, 그 호출이 접속될 준비가 되면, 패킷이 포워딩되어야 하는 지정된 미디어 프로세싱 CPU 를 RTP (실시간 전송 프로토콜) 스트림이 사용 및 프로그래밍하도록, 호스트 CPU 는 그 UDP 포트를 갖는 FPGA 의 UDP 포트 테이블을 업데이트할 것이다. 제어 패킷 대신에, UDP 포트 테이블에서 매칭될 수 없는 다른 패킷들은 프로세싱을 위해 호스트 CPU 로 포워딩된다. 한편, UDP 포트 테이블에서 UDP 포트의 검색이 매칭되면, 제어는 블록 (3608) 으로 이동하여, 그 패킷이 폐기되어야 하는지 여부를 먼저 확인한다. 그 패킷이 호스트 프로세서에 의해 폐기되는 것으로 마킹되면, 어떠한 추가적인 프로세싱은 불필요하고, 그 패킷은 블록 (3610) 에서 폐기될 수 있다.
한편, 그 패킷이 폐기되지 않으면, 제어는 블록 (3612) 으로 이동하여, FPGA 내의 포워딩 로직이 미디어 프로세싱 CPU 모듈 ID 를 획득하고, 그 획득된 (도 5 에서 설명한 UDP 포트 테이블로부터 획득된) 미디어 프로세싱 CPU 모듈 ID 에 기초하여 MAC 어드레스를 공식화한다. 블록 (3612) 에서는, 수신된 패킷의 수신지 MAC 어드레스는 미디어 프로세싱 CPU 의 어드레스로 업데이트된다. 블록 (3614) 에서는, 전술한 프로세싱을 위해, 미디어 스트림 패킷이 이더넷 스위치를 통해 미디어 프로세싱 CPU 로 포워딩된다.
도 37 은, 본 발명의 일 실시형태에 따라, 도 36 의 UDP 포트 검색 단계 (3604) 의 일 예를 도시한다. 본 발명의 일 실시형태에서, 검색은, 수신된 패킷이 적절한 미디어 프로세싱 CPU (예를 들어, 도 35 의 미디어 프로세싱 CPU (3512a 내지 3512d) 중 하나) 로 포워딩될 수 있는 것을 보장하기 위해, 미디어 프 로세싱 CPU 모듈 ID 를 획득하고 수신지 MAC 어드레스를 공식화하는 작업들로 단순화된다.
전술한 바와 같이, 각각의 수신된 미디어 스트림 패킷은 그 헤더에 UDP 수신지 포트 (16 비트) 를 갖는다. UDP 수신지 포트 번호의 최초 6 비트 (3702) 는 비교를 위해 비교기 (3704) 로 입력된다. 유효한 UDP 포트 범위 중 UDP 포트 베이스는 비교를 위해 사용되도록 베이스 레지스터 (3706) 에 로딩된다. 지원되는 미디어 스트림의 수가 유한하기 때문에, 유효한 UDP 포트의 전체 범위가 체크될 필요는 없다. 베이스 레지스터와 비교되었을 때 UDP 포트가 매칭하지 않으면, 그 패킷은 FPGA 의 내부 UDP 포트 테이블에 존재하지 않기 때문에, 그 패킷은 프로세싱을 위해 호스트 CPU 에 포워딩된다. 그러나, 비교기 (3704) 의 결과가 긍정적이면 (즉, 수신된 미디어 스트림 패킷의 헤더로부터 획득된 UDP 수신지 포트 번호의 최초 6 비트와 UDP 포트 베이스 사이에 매칭이 존재하면), 그 패킷이 포워딩되어야 하는 수신지에 관련된 정보, 및 이 미디어 스트림에 관련된 패킷들이 폐기되어야 하는지 여부에 관련된 정보를 획득하기 위해, UDP 수신지 포트의 다음 10 개의 비트 (3708) 가 UDP 포트 테이블 (514) 로의 인덱스로 이용된다. 또한, 패킷이 폐기되지 않으면, 그 패킷에 대한 수신지를 제공하기 위해, 수신지 미디어 프로세싱 CPU 모듈 ID 가 획득된다. 수신지 미디어 프로세싱 CPU 모듈 ID 가 초기화되지 않았다면 (즉, 여전히 0x0 으로 세팅되어 있다면), 그 패킷은 변형되지 않을 것이고, 프로세싱을 위해 호스트 CPU 로 포워딩될 것이다. 따라서, 도 37 에 도시된 바와 같이, 비교기 (3704) 의 긍정적 결정은, UDP 수신지 포트 번호의 다음 10 개의 비트가 UDP 포트 테이블 (3714) 로의 인덱스로서 이용되게 할 수 있다. 이 10 개의 비트 패턴 (3708) 은 UDP 포트 테이블 (3714) 의 엔트리 (3716, 3718 및 3720) 중 하나와 매칭할 것이다.
매칭에 대해, 이 방법은, 이 미디어 스트림에 관련된 패킷이 폐기되도록, 호스트 CPU (3506) 가 폐기 비트를 마킹했는지 여부를 결정하기 위해 그 폐기 비트를 먼저 검사한다. 도 37 을 참조하면, UDP 포트 테이블 (3714) 로의 인덱스로서 이용되는 10 개의 비트 UDP 수신지 포트 번호가 00-0000-0001 (엔트리 (3718)) 인 것으로 가정한다. 이 경우, 이 방법은, 폐기 비트가 설정된 것을 결정하기 위해 필드 (3720) 내에서 그 비트를 찾는다. 호스트 CPU (3506) 에 의해 폐기 비트가 설정되었으면, FPGA 에 의한 프로세싱이 수행되고 그 패킷은 단순하게 폐기된다.
폐기 비트 (3720) 가 설정되지 않으면, FPGA 는 수신지 미디어 프로세싱 CPU 모듈 ID (3722) 를 획득하고, 그 후, FPGA 는 이를 이용하여, 수신된 UDP 미디어 스트림 패킷이 적절한 미디어 프로세싱 CPU 로 포워딩될 수 있도록, 수신지 MAC 어드레스를 공식화하고 그 수신된 UDP 미디어 스트림 패킷에서 수신지 MAC 어드레스를 업데이트한다.
필드 (3724) 는 폐기 상태를 나타내는 2 비트 필드이고, 다양한 폐기된 상태 (예를 들어, 폐기됨, 결코 폐기되지 않음 등) 를 나타내기 위해, 4 개까지의 서로 다른 값을 포함할 수도 있다. 수신된 UDP 미디어 스트림 패킷이, 미디어 프로세싱 CPU 들 중 하나와 관련된 수신지 MAC 어드레스로 업데이트되면, 전술한 바와 같이, 이더넷 스위치 (3510) 가 수신된 UDP 미디어 스트림 패킷을 프로세싱을 위해 미디어 프로세싱 CPU 로 스위칭할 수 있도록, FPGA 는 수신된 패킷을 이더넷 스위치 (3510; 도 35 참조) 로 전달한다.
일 실시형태에서, 미디어 프로세싱 CPU 는 FPGA 와 동일한 샤시로 구현되도록 요구되어, FPGA 로부터의 UDP 미디어 스트림 패킷을 적절한 미디어 프로세싱 CPU 로 포워딩하는 것을 수행하는데 필요한 제어 부분을 매우 단순화시킨다. 미디어 프로세싱 CPU 가 샤시의 외부에서 구현되면, 포워딩 작업은 더 복잡해질 수도 있고, FPGA 를 더 복잡하게 할 수도 있고, 그 성능을 감소시킬 수도 있어서, 라인 레이트 미디어 스트림 패킷을 프로세싱에 대해 열악해질 것이다.
전술한 설명으로부터 인식될 수 있는 바와 같이, VoIP 게이트웨이에 대한 실현으로부터, 통상적인 기성 (off the shelf) 네트워크 프로세싱 유닛에 의해 공급되는 기능들의 대부분은 불필요하고, 이러한 추가적 기능들의 포함은 비용 관점 및 복잡성 관점에서 전체 시스템에 부정적인 영향을 미치며, 본 발명자는, 통상적인 VoIP 게이트웨이에서 UDP 미디어 스트림 패킷의 대다수에 대해 수행되도록 요구되는 기능들의 최소한의 세트를 식별할 수 있다.
통상적인 네트워크 프로세서에서 통상적으로 제공되는 기능들을 FPGA 에서 구현될 최소한의 기능들의 세트로 추출하며, 이들 최소한의 기능들이 VoIP 게이트웨이에 의해 수신 및 조작되는 패킷들의 대다수에 대한 요구사항들을 충족시키도록 설계함으로써, 작고 저렴한 FPGA 를 이용하여, 분류 기능들을 수행하고, VoIP 게이트웨이에 의해 조작되는 패킷들의 대부분을 구성하는 UDP 미디어 스트림 패킷들을 조작하는 것이 가능하다.
범용 라우터 또는 게이트웨이는 광범위한 패킷들을 조작할 필요가 있기 때문에, 이러한 접근방식은 이러한 디바이스들에 대해 옵션이 아닐 수도 있고, 또는 타당하지 않은 것으로 보일 수도 있으며, FPGA 는, 다양한 패킷 타입을 조작하기 위해 요구되는 복잡한 프로세싱 작업에 의해 부담지워질 때 높은 라인 속도에 대응하지 못할 수도 있다. 게이트웨이는 오직 VoIP 트래픽만을 수신하거나 또는 거의 VoIP 트래픽만을 수신하도록 구성되기 때문에, 이 접근방법은, 분류 기능의 단순화를 가능하게 하고, 여전히 높은 성능을 달성하면서 FPGA 를 통한 구현을 가능하게 한다.
본 발명의 실시형태들은 VoIP 게이트웨이 설계를 매우 단순화시키고 VoIP 게이트웨이의 비용을 감소시킨다. 여분의 이더넷 요구사항들을 충족시키기 위해 다수의 FPGA 가 요구되는 경우에도, 2 개의 저렴한 FPGA 의 사용은 통상적으로 단일 네트워크 프로세서의 비용보다 여전히 저렴하다. 네트워크 프로세서를 제거함으로써, VoIP 의 전체 비용은 크게 감소될 수 있어서, VoIP 솔루션의 더 광범위한 시장 침투 및 시장 수용을 가능하게 한다.
또한, 재정적인 고려사항을 넘어, 이들 단순한 분류 기능들을 구현하기 위해 FPGA 를 사용하는 것은, 장래에 등장할 수도 있는 추가적인 미디어 타입을 조작하는 큰 유동성을 시스템 설계자에게 제공한다. 네트워크 프로세서는 ASIC 기반이며 따라서 유동적이지 않은 경향이 있기 때문에, 새로운 미디어 패킷 타입은, 몇몇 네트워크 프로세서들이 이러한 새로운 미디어 패킷 타입을 조작하지 못하게 하 여 VoIP 게이트웨이의 교체를 요구할 수도 있다.
본질적으로, FPGA 는 그들의 용이한 재프로그래밍 가능성에 기인하여 더 유동적이어서, 새로운 또는 변화하는 미디어 패킷 타입을 조작하도록 FPGA 프로그램을 변형하는 유동성을 시스템 설계자에게 허용한다. 또한, FPGA 가 상대적으로 단순한 검색 기능만을 수행하도록 요구함으로써, 장래의 변화를 조작하기 위해 FPGA 를 재프로그래밍하는 것이 용이하여, 고가의 하드웨어 업그레이드에 대한 필요성을 감소시키고 그리고/또는 네트워크 다운 시간을 최소화시킨다.
VoIP 애플리케이션을 예시적인 실시예로서 설명했지만, 본 발명의 하나 이상의 실시형태에 따른 방법, 서버 및/또는 시스템은 텍스트, 이미지, 비디오 및/또는 다른 오디오 데이터의 통신에 적용될 수도 있다. 예를 들어, VoIP 게이트웨이 (3500; 도 35 참조) 와 같은 VoIP 게이트웨이에 관련된 전술한 설명은, 텍스트, 이미지, 비디오 및/또는 다른 오디오 데이터의 프로세싱을 위한 미디어 게이트웨이에 또한 적용될 수도 있다.
6. 결론
선택 네트워크 스택 소프트웨어 기능을 수행하는 네트워크 인터페이스 하드웨어를 이용함으로써, 미디어 프로세싱에 전용되는 분산 시스템은 상당한 비용 및 성능 이점을 실현할 뿐만 아니라, 더 높은 시스템 가용성을 포함하는 상당한 기술적 이점을 실현할 수도 있다. 더 상세하게는, 네트워크 인터페이스 하드웨어는, 소정의 컷-스루 동작이 부여된 적은 레이턴시로, 네트워크 프로세서와 동등한 성능을 나타낸다. 종종 시스템 가용성은 소프트웨어 실패에 의해 좌우된다. 이러한 분산 시스템은 단일 프로세싱 엔진으로의 및 그 엔진으로부터의 미디어 스트림을 조작하기 위해 하드웨어를 사용하기 때문에, 더 적은 네트워크 인터페이스 소프트웨어를 요구하여 더 높은 시스템 가용성을 유도한다.
G. 회사 게이트웨이 (NAT/방화벽) 를 통한 보안 미디어 통신
도래하는 고정식 - 이동식 수렴에 따라, 사람들은 데이터 접속성 및 음성을 위해 인터넷으로부터 Wi-Fi 인에이블 디바이스를 사용하고 있다. 음성에 대한 주요 요구사항들 중 하나는, 음성이 보안 네트워크 패킷을 통해 전송되어야 하는 것이다. 이 섹션에서 설명하는 메커니즘은, 임의의 타입의 NAT/방화벽 게이트웨어를 통한 보안 통신 및 용이한 횡단을 제공한다.
현재, NAT 및 방화벽을 통해 인터넷을 통한 회사 VoIP 를 보안하적으로 횡단시키는 인가된 표준은 존재하지 않는다. 또한, 제공 및 모니터링을 용이하게 하기 위해 이러한 VoIP 액세스가 단일 미디어 서비스 액세스 포인트 (MSAP) 에서 제어되는 능력을, 전화 및 호출 매니저가 제공하지 못한다는 사실에 기인하여, 회사 VoIP 사용자가 인터넷으로부터 셀룰러 네트워크로 "로밍"하게 하는 메커니즘은 존재하지 않는다.
본 발명은 도 7 에 도시된 음성의 보안 전송 및 엔드-투-엔드 시그널링에 관련된 메커니즘을 제공한다.
회사 VoIP 네트워크를 설계하는데 부과되는 난제는 {데이터 & 음성} 의 수렴에 의해 지수적으로 증가하고 있다. 수렴에 의해, VoIP 네트워크는 종래의 VoIP 위협 및 데이터 트래픽 위협 모두에 노출되고 있다. 회사 게이트웨이를 통해 인터넷으로 통신할 수 있는 양호한 VoIP 네트워크를 확립하는데 관련된 난제는 4 가지로 분류될 수 있으며, 이하 상세히 설명한다.
a) 음성 트래픽 보안
b) NAT 횡단 (회사 내부 및 인터넷 상의 원격 클라이언트 모두에서)
c) 방화벽 횡단 (회사 방화벽)
d) 핸드셋 및 미디어 스위칭 보안 또는 강화
음성 트래픽 보안
음성 트래픽이 인터넷을 통해 이동하는 경우, 그 음성 트래픽은 실제로 네트워크 상의 임의의 해커에 의해 인식되거나 사용될 수 있다. 그 중간에 있는 임의의 해커는, 행해지고 있는 대화를 청취할 수 있으며, 이것은 최소한 위협이 된다. 회사 애플리케이션에서, (적어도 하나의 종단에서) 이러한 호출들은 회사로/로부터 개시/수신된다. 어떠한 경우이든, 회사 네트워크 또는 그 네트워크 내의 디바이스는 재생-공격, DOS 공격과 같은 다양한 공격에 놓이게 된다.
음성을 보안함으로써, 이점들은,
a) 호출의 비밀이 유지된다.
b) 클라이언트에 대해, 네트워크로의 액세스가 무선이면, 음성 트래픽의 보안은 회사 내부에서도 더 적절하다.
c) 회사 네트워크를 다양한 공격에 노출시킬 가능성이 (제거되지는 않지만) 감소되어 네트워크를 더 안전하게 한다.
데이터 트래픽을 보안하는 다수의 방식이 존재한다. 이 방법들의 대부분 또는 전부는 음성 트래픽에도 적용할 수 있다. 그러나, 음성 트래픽의 시간 민감성에 기인하여, 작은 VoIP 핸드셋에도 용이하게 적절할 수 있는, 프로세서 집약적이 아닌 메커니즘을 갖는 것이 기대된다. 음성 트래픽은, 현재 안전하지 않은 엔드-투-엔드로부터의 통신을 위해 (UDP 를 통해) RTP 를 사용한다. SRTP (보안 RTP) 는 엔드-투-엔드로부터 음성 트래픽을 완벽하게 보안하는 대안이다.
SRTP 에 의해, 음성은 소스 클라이언트에서 암호화되기 때문에, 적절한 키에 대한 지식이 없는, (네트워크 내부로부터인 경우에도) 중간에 있는 임의의 사람은 음성 패킷으로부터 어떠한 것도 파악할 수 없어서, 보안 통신이 확립된다. 이 메커니즘은 VPN 솔루션보다 덜 프로세서 집약적일 것이다.
NAT 횡단
회사 게이트웨이에서, NAT 는 내부의 회사 네트워크에 상주하는 클라이언트에 대해 로컬 IP 도메인으로부터 글로벌 IP 도메인으로 IP 어드레스 변경을 행한다. 트래픽 경로 내의 NAT 의 존재는, 페이로드를 통해 그 IP 어드레스를 피어 (peer) 에 전달하는 몇몇 프로토콜의 기능성에 영향을 미칠 것이다 (페이로드가 변경된 IP 어드레스 대신에 변경되지 않은 IP 어드레스를 반송할 것이기 때문에, 이것은 접속해제를 유발한다). SIP 는 중간의 NAT 게이트웨이에 의해 그 기능성이 영향받는 프로토콜들 중 하나이다.
이들 NAT 변경은 다음의 4 개의 타입들이다.
a) 풀 콘 (Full Cone)
b) 제한된 콘
c) 포트 제한된 콘
d) 대칭적 NAT
이들 모든 타입의 NAT 를 극복하기 위해 표준 구현이 존재한다. 이들 중, 대칭적 NAT 가 횡단하기 가장 어려운 타입이다. TURN (Traversal using Relay NAT) 이 대칭적 NAT 를 횡단하는데 사용되는 표준 솔루션이다. STUN (Simple traversal of UDP through NAT) 은, NAT 의 나머지를 횡단하는 것을 보조하는 또 다른 솔루션이다. 하나의 솔루션에 대해, 경로 내의 임의의 NAT 에 의해 영향받지 않도록 STUN 및 TURN 모두가 구현되어야 한다. 그러나, 이들 솔루션들은 인터넷에서 서버 아웃의 도입을 강제한다. 그 솔루션에서 또 다른 새로운 서버를 갖는 것은 하나 이상의 디바이스를 추가하고, 따라서, 솔루션에 복잡성을 추가한다. 더 많은 디바이스의 도입은 관리성, 보안...과 같은 명확한 이유 때문에 바람직하지 않다.
회사 네트워크의 효과적인 설계 및 미디어 게이트웨이의 배치에 의해, 음성 솔루션에 임의의 새로운 엔터티를 도입하지 않으면서, 임의의 타입의 NAT 가 효과적으로 횡단될 수 있다.
2 개의 클라이언트 사이의 임의의 음성 트래픽이 항상 중간에 미디어 스위치를 통하도록, 솔루션이 설계된다. 원격 클라이언트에 그 변경 정보를 통지하는 메커니즘이, 회사 네트워크 내부에 상주하는 미디어 스위치에 내장된다. 이것은, 종단 클라이언트가 항상 그 변경 정보를 인식하고, 시그널링 프로토콜에서 효과적으로 사용될 수 있는 것을 보장한다. 또한, 글로벌 IP 어드레스 및 포트 (미디어 서비스 액세스 포인트 - MSAP) 에 대한 포워딩 룰은, 그 MSAP 에 대해 수신된 트래픽을 미디어 스위치로 포워딩할 회사 방화벽에서 구성된다. 이것은, 미디어 스위치를 임의의 외부 IP 네트워크로부터 액세스할 수 있게 한다. 또한, NAT 횡단을 보조하는 미디어 스위치가 임의의 클라이언트에 대한 다른 일단이기 때문에, (대칭적 NAT 를 포함하는) 임의의 타입의 NAT 가 이 설계에 의해 횡단될 수 있다.
방화벽 횡단
방화벽은 음성 통신의 양단 (회사 및 원격지) 모두에 상주할 수 있다. VoIP 호출에 대해, 방화벽을 개방하기 위해 최소한 2 개의 포트 (RTP 에 대해 하나, 및 RTCP 에 대해 하나) 가 필요하다. 따라서, 동시에 발생하는 n 개의 호출에 대해, 2*n 개의 포트가 개방을 위해 필요하다. 더 많은 포트를 개방하는 것은 네트워크로의 증가된 보안 위협을 초래하여 회사 방화벽에 대해서는 바람직하지 않다.
원격단에서 방화벽을 횡단하는 것은, 미디어 스위치로의 제 1 UDP 통신을 원격 클라이언트에 의해 개시하도록 솔루션을 설계함으로써 가능해진다. 원격단으로부터의 제 1 통신을 개시함으로써, 원격단에서의 방화벽은 디폴트에 의해 그 대응 포트를 개방한다.
회사단에서의 방화벽을 횡단하는 것은 도전적이다. MSAP 는 임의의 외부 IP 네트워크로부터 미디어 스위치로 글로벌 액세스 가능성을 제공한다. 이 MSAP 는 NAT 횡단에 양호하게 이용된다. MSAP 를 효과적으로 사용함으로써, 회 사 방화벽 또한 음성 통신에 대해 개방된 새로운 포트없이 횡단될 수 있다.
모든 원격 클라이언트는 동일한 MSAP 를 통해 미디어 스위치와 통신하도록 설계된다. 따라서, 원격 클라이언트로부터의 모든 음성 트래픽은 미디어 스위치 내의 동일한 포트 (MSAP) 에서 종료된다. 호출 ID 가 각각의 모든 음성 패킷 내에 내장되도록 메커니즘이 확립된다. 패킷이 미디어 스위치 내의 MSAP 에서 수신되면, 음성 패킷에 내장된 호출 ID 에 기초하여 패킷이 적절하게 스위칭된다. 이것은, 외부로부터의 모든 음성 트래픽이 동일한 포트 (MSAP) 로 예정된 경우에도 음성 트래픽의 스위칭이 적절하게 발생하는 것을 보장한다.
미디어 스위칭 보안
현재의 설계에서는, 미디어 스위치가 원격 클라이언트로부터의 모든 미디어 트래픽을 수신하도록 강제되여, 외부 네트워크로부터의 모든 종류의 공격에 노출된다. 현재의 설계에 의해, 미디어 트래픽은 항상 암호화에 의해 보안 RTP (SRTP) 를 사용한다. 미디어 트래픽을 암호화하고 보안함으로써, 전술한 바와 같이, 이 솔루션은 더 로버스트하고 안전해진다. SRTP 프로토콜은, 자체로, 원격 호출자의 인증을 제공하고, 암호화를 통해 신뢰성을 제공하고, 패킷의 무결성을 보장하고, 재생 공격으로부터 보호한다.
이에 부가하여, 광범위한 액세스 필터가 내향 패킷을 차단하기 위해 미디어 스위치에 또한 구현된다.
본 발명의 특징 및 이점은 수반되는 도면 및 설명을 참조하여 더 잘 이해될 수도 있다.
도 38 은, NAT (네트워크 어드레스 변경) 횡단을 용이하게 하기 위해 STUN 서버가 이용되는 VoIP (Voice-Over-IP) 환경의 종래 예이다. 전술한 바와 같이, 사설 네트워크와 관련된 다수의 디바이스가, 더 적은 수의 공개적으로 라우팅가능한 IP 어드레스를 사용하여 외부와 통신할 수 있도록, 네트워크 어드레스 변경 (NAT) 이 필요하다.
이것은, 공개적으로 라우팅가능한 IP 어드레스는 비싼 리소스이고 획득하기에 매우 고가이기 때문이다. 따라서, 대부분의 ISP 는 통상적으로, 다수의 내부 사용자들 사이에 공유되도록 소수의 공개적으로 라우팅가능한 IP 어드레스를 소정의 회사에 제공한다. 따라서, 각각의 내부 사용자에게는, 오직 회사 내부에서만 인식되는 내부적으로 라우팅가능한 IP 어드레스가 공급된다. 내부 디바이스가 글로벌하게 액세스되기 위해, NAT 디바이스는, 내부 IP 어드레스-포트 쌍으로부터 글로벌하게 라우팅가능한 IP 어드레스-포트 쌍으로, 및 그 역으로의 변경을 행하도록 내부 네트워크에 존재해야 한다.
VoIP 또는 다른 타입의 미디어 애플리케이션에 이용되는 특정 프로토콜이 NAT 의 효과에 민감하기 때문에, NAT 횡단이 이용된다. 예를 들어, SIP (세션 개시 프로토콜) 는, 그 기능성이 중간 NAT 게이트웨이에 의해 영향받을 수도 있는 프로토콜 중 하나이다. 횡단은, 내부 클라이언트 디바이스가 NAT 게이트웨이에 의해 수행된 변경 방식을 획득하게 하고, 변경되지 않은 내부 IP 어드레스와 변경된 IP 어드레스 사이에서 애플리케이션 서버가 접속해제를 해결할 수 있도록 변경 방식을 수신지 애플리케이션 서버에 전달하게 한다.
일반적으로, NAT 횡단은 클라이언트 디바이스와 NAT 횡단 서버 사이의 통신에 관련되며, 여기서, 클라이언트 디바이스는 샘플 패킷을 NAT 횡단 서버로 전송한다. 그 후, NAT 횡단 서버는 응답하고, 그 응답을 이용하여, 클라이언트 디바이스로부터 발신된 패킷에 의해 이용된 공개적으로 라우팅가능한 IP 어드레스를 클라이언트 디바이스에 통지한다. 이 공개적으로 라우팅가능한 IP 어드레스는, NAT 게이트웨이를 사용하여 변경된 IP 어드레스를 나타낸다.
고유의 내부 IP 어드레스, 및 NAT 횡단 서버에 의한 응답으로부터 획득된 공개적으로 라우팅가능한 IP 어드레스의 인식에 의해, 임의의 특정한 수신 패킷의 내부의 라우팅가능한 IP 어드레스와 외부의 라우팅가능한 IP 어드레스 사이의 차이를 해결하기 위해, 애플리케이션 서버가 NAT 변경 방식에 관련된 인식을 사용할 수 있도록, 내부 클라이언트 디바이스는, 그 NAT 변경 방식을 애플리케이션 서버에 포워딩할 수 있다.
그러나, 전술한 바와 같이, 4 가지 타입의 NAT 변경이 존재한다: 풀 콘, 제한된 콘, 포트 제한된 콘 및 대칭적 NAT. 대칭적 NAT 에서, 변경 방식은 수신지 포트 및 수신지 IP 어드레스에 의존할 수도 있다. 예를 들어, 클라이언트 디바이스와 NAT 횡단 서버 사이의 통신에 대해, 내부 클라이언트 디바이스의 IP 어드레스-포트 쌍은 하나의 글로벌 IP 어드레스-포트 쌍으로 변경될 수도 있고, 애플리케이션 서버와의 통신을 위해 동일한 내부 클라이언트 디바이스에 대한 변경은 서로 다른 글로벌 IP 어드레스-포트 쌍일 수도 있다. 따라서, 클라이언트 디바이스와 NAT 횡단 서버 사이의 변경 방식에 관련된 정보를 획득하는 것은, 클라이언 트 디바이스와 애플리케이션 서버 자체 사이의 변경 방식에 관련된 유용한 정보를 애플리케이션 서버에 제공하지 못할 수도 있다.
NAT 횡단 솔루션이 모든 4 가지 타입의 NAT 변경을 처리하기 위해, 고유 NAT 솔루션이 제공될 필요가 있다. 종래 기술에서, TURN (Traversal Using Relay NAT) 및 STUN (Simple Traversal of UDP through NAT) 은 대칭적 NAT 및 다른 타입의 NAT 변경 모두를 횡단시는 표준 솔루션이다. 모든 가능한 NAT 방식을 해결하기 위해, STUN 및 TURN 모두가 구현되어야 한다.
도 38 은, NAT 변경 방식 (예를 들어, 풀 콘, 제한된 콘 및 포트 제한된 콘) 의 일부를 조작하기 위해 종래 기술의 STUN NAT 횡단 서버가 구현되는 네트워크 환경 (3800) 의 개략도이다. 도 38 은 종래 기술의 STUN NAT 횡단 서버의 동작을 설명하기 위해 이용되지만, 이동성 서버 (3812) (서버 (3812)) 의 적어도 특정 양태들, 및 서버 (3812) 가 VoIP 를 용이하게 하는 몇몇 방법 단계들은 창작적인 것으로 고려되기 때문에, 도 38 의 모든 컴포넌트 및/또는 구성들이 발명자에 의해 종래 기술인 것으로 고려되는 것은 아니다. 콘텍스트를 제공하고 의미있는 설명들을 용이하게 하기 위해, 종래 기술의 컴포넌트 및/또는 구성들과 함께 몇몇 창작적 컴포넌트 및/또는 구성들이 포함될 수도 있기 때문에, 종래 기술로 라벨링된 많은 다른 도면들도 각각 유사하게 해석되어야 함은 당업자에게 자명할 것이다.
도 38 에 도시된 바와 같이, 인터넷 (3808) 및 회사 게이트웨이/방화벽 (3810) 에 커플링된 회사 네트워크 (3802) 가 도시되어 있다. 회사 네트워크 (3802) 는 복수의 Wi-Fi 클라이언트 (3804 및 3822) 를 포함하며, 이들은 액세스 포인트 (AP; 3806) 에 커플링된다. 미디어 애플리케이션 서버를 나타내는 이동성 서버 (3812) (서버 (3812)) 또한 스위치 (3814) 를 통해 인터넷 (3808) 에 커플링된다.
또한, 기존의 PBX (3816) 및 기존의 VoIP (Voice-over-IP) 시스템 (3818) 이 도시되어 있으며, 이들 모두는 중간 스위치 (3820) 를 통해 스위치 (3814) 에 접속된다. AP (3806), 스위치 (114) 및 스위치 (3820) 를 통해, 회사 네트워크 (3802) 내의 내부 통신은 Wi-Fi 클라이언트 (3804 및 3822), 서버 (3812), 기존의 PBX (3816) 및 기존의 VoIP 시스템 (3818) 사이에서 인에이블된다. 회사 네트워크 (3802) 외부의 디바이스와 통신하기 위해, 패킷들은 회사 게이트웨이/방화벽 (3810) 에서 인터넷 (3808) 으로 횡단한다.
또한, 도 38 은, VoIP 인에이블 전화를 나타내는 예시적인 외부 클라이언트 디바이스 (3842) 를 포함하는 예시적인 SOHO 네트워크 (3840) 를 도시한다. 외부 클라이언트 디바이스 (3842) 는 액세스 포인트 (AP; 3844) 및 광대역 라우터/모뎀 (3846) 을 통해 인터넷 (3808) 과 통신한다. 또한, 도 38 에는, 또 다른 VoIP 인에이블 전화를 나타내는 외부 클라이언트 디바이스 (3862) 를 포함하는 예시적인 공중 핫스팟 네트워크 (3860) 가 도시되어 있다. 외부 클라이언트 디바이스 (3862) 는 광대역 라우터/모뎀 (3866) 을 통해 인터넷 (3808) 에 액세스하기 위해 액세스 포인트 (AP; 3864) 와 통신한다.
외부 클라이언트 디바이스 (3862) 와, Wi-Fi 클라이언트 (또는, 외부 클라이언트 디바이스 (3842) 가 기존의 PBX (3816) 에 의해 관리되는 내부 확장체와 관련 될 서버 (3812) 에 등록된 VoIP 전화이면 외부 클라이언트 디바이스 (3842)) 와 같은, 회사 네트워크 (3802) 에 의해 관리되는 디바이스와의 사이에 VoIP 호출을 가능하게 하기 위해, 외부 클라이언트 디바이스 (3862) 와 호출의 다른 단 상의 클라이언트 디바이스 사이에서 미디어 스트림을 셋업 및 관리하도록 VoIP 호출 제어 프로토콜이 이용될 필요가 있다.
예시를 위해, 외부 클라이언트 디바이스 (3862) 는 Wi-Fi 클라이언트 (3804) 와 통신을 확립하려 시도하는 것으로 가정한다. VoIP 프로토콜은 광대역 라우터/모뎀 (3866) 에 의해 구현된 NAT 변경 방식에 민감할 수도 있기 때문에, 외부 클라이언트 디바이스 (3862) 는, 광대역 라우터/모뎀 (3866) 에 의해 구현되는 NAT 변경에 관련된 정보를 먼저 획득할 필요가 있다. STUN 의 경우, 이 STUN 솔루션은, 풀 콘, 제한된 콘, 및 포트 제한된 콘 타입의 NAT 변경을 횡단하는데 적용될 수 있다. 이 경우, 외부 클라이언트 디바이스 (3862) 는 먼저 NAT 횡단 요청 (3880) 을 STUN 서버 (3882) 로 전송한다. 그 후, STUN 서버 (3882) 는 NAT 횡단 응답 (3884) 으로 응답한다. NAT 횡단 응답 (3884) 은 광대역 라우터/모뎀 (3866) 에 의해 구현된 특정 NAT 변경 방식을 외부 클라이언트 디바이스 (3862) 에 통지한다. 이 정보는, 예를 들어, 외부 클라이언트 디바이스 (3862) 로 전송된 응답 패킷(들)의 페이로드에서 공개적으로 라우팅가능한 IP 어드레스를 포함함으로써, 외부 클라이언트 디바이스 (3862) 로 전달될 수도 있다. 설명의 단순화를 위해, NAT 횡단 요청 (3880) 및 NAT 횡단 응답 (3884) 은 외부 클라이언트 디바이스 (3862) 와 STUN 서버 (3882) 사이에서 점선에 의해 직접 도시되어 있다. 실 제로, 이 통신은 AP (3864), 광대역 라우터/모뎀 (3866), 인터넷 (3808) 및 통신 경로 (3886) 를 통해 발생한다.
외부 클라이언트 디바이스 (3862) 는, NAT 횡단 응답 (3884) 에 제공된 정보를 통해 광대역 라우터/모뎀 (3866) 에 의해 구현된 NAT 변경 방식을 획득한다. 그 후, 외부 클라이언트 디바이스 (3862) 는 AP (3864), 광대역 라우터/모뎀 (3866), 인터넷 (3808), 회사 게이트웨이/방화벽 (3810) 및 스위치 (3814) 를 통해 서버 (3812) 에 NAT 변경 방식 정보를 전송한다. 광대역 라우터/모뎀 (3866) 에 의해 구현된 NAT 변경 방식의 정보에 의해, 서버 (3812) 는 Wi-Fi 클라이언트 (3804) 와 외부 클라이언트 디바이스 (3862) 사이에서 외부 클라이언트 디바이스 (3862) 와의 VoIP 호출을 셋업할 수 있다. 핫스팟 네트워크 (3860) 내의 외부 클라이언트 디바이스 (3862) 에 의해 이용된 내부적으로 라우팅가능한 IP 어드레스, 및 인터넷 (3808) 을 통한 회사 게이트웨이/방화벽 (3810) 과 광대역 라우터/모뎀 (3866) 사이에서 정보를 송신하는데 이용된 공개적으로 라우팅가능한 IP 어드레스에 대한 임의의 접속해제는, 외부 클라이언트 디바이스 (3862) 에 의해 미리 포워딩된 NAT 변경 방식에 대해 획득된 인식을 사용하여 서버 (3812) 에 의해 해결될 수 있다.
설명한 바와 같이, 이러한 타입의 STUN NAT 횡단 솔루션은, 적어도 3 가지 타입의 NAT 변경: 풀 콘, 제한된 콘, 및 포트 제한된 콘에 대해서는 양호하게 동작한다. 대칭적 NAT 에 대해, 외부 클라이언트 디바이스 (3862) 와 STUN 서버 (3882) 사이의 통신을 위해 광대역 라우터/모뎀 (3866) 에 의해 구현된 NAT 변경 방식은, 외부 클라이언트 디바이스 (3862) 와 서버 (3812) 사이에서 통신하기 위해 이용되는 NAT 변경 방식과는 상이할 수도 있다. 따라서, STUN 서버 (3882) 와 외부 클라이언트 디바이스 (3862) 사이에서 구현된 NAT 변경 방식에 관련된 인식은, 외부 클라이언트 디바이스 (3862) 가 서버 (3812) 와 후속적으로 통신하는 경우 서버 (3812) 에 의해 경험되는 NAT 변경 문제를 해결하는데에는 적용하지 못할 수도 있다.
도 39 는, STUN/TURN 서버 (3890) 와 서버 (3812) 사이에 보안 터널이 구현되는, STUN/TURN (Simple Traversal of UDP through NAT/Traversal Using Relayed NAT) NAT 횡단 구현 (3900) 의 종래 기술 구현을 도시한다. 도 39 에 도시된 바와 같이, 보안 터널 (3902) 은, STUN/TURN 서버 (3890) 와 서버 (3812) 사이의 이동의 적어도 일부에 대해, 외부 클라이언트 디바이스 (3862) 와 서버 (3812) 사이의 통신을 용이하게 하기 위해 이용된다. 따라서, (음성 패킷과 같은) VoIP 미디어 패킷이, 광대역 라우터/모뎀 (3866), 인터넷 (3808), TURN 서버 (3890) 를 통해 외부 클라이언트 디바이스 (3862) 로부터 송신되고, 회사 게이트웨이/방화벽 (3810), 스위치 (3814) 를 통해 인터넷 (3808) 으로 역으로 송신되고 서버 (3812) 에 도달한다. 즉, STUN/TURN 서버 (3890) 는, 외부 클라이언트 디바이스 (3862) 와 서버 (3812) 사이에서 음성 정보를 반송하는 실제 VoIP 패킷의 송신을 용이하게 하기 위해, 외부 클라이언트 디바이스 (3862) 로의 NAT 변경에 대한 정보를 제공할 뿐만 아니라, 중계국으로서 동작한다. NAT 횡단 및 실제 미디어 패킷 전송에 대해, 외부 클라이언트 디바이스 (3862) 와 STUN/TURN 서버 (3890) 사이 에서 동일한 통신 경로가 이용되기 때문에, NAT 횡단 요청/NAT 횡단 응답 세션 동안 외부 클라이언트 디바이스 (3862) 와 STUN/TURN 서버 (3890) 사이의 통신에 대해, 및 STUN/TURN 서버 (3890) 가 중간 중계국으로서 동작하는 동안 외부 클라이언트 디바이스 (3862) 와 서버 (3812) 사이의 후속적 통신에 대해, 동일한 NAT 변경이 수행된다.
그러나, 대칭적 NAT 상황을 조작하기 위한 필요에 따라, STUN/TURN 서버 (3890) 의 포함은 다수의 불이익에 관련됨을 본 발명자는 인식하였다. 예를 들어, VoIP 구현 및 유지의 복잡성에 부가하여, STUN/TURN 서버 (3890) 는 회사 IP 스태프에 의해 관리될 필요가 있다. 또한, STUN/TURN 서버 (3890) 는 회사 게이트웨이/방화벽 (3810) 및 관련 방화벽의 외부에서 구현될 필요가 있어서, STUN/TURN 서버 (3890) 를 보안 리스크에 개방시킨다. 외부 클라이언트 디바이스 (3862) 와 서버 (3812) 사이의 미디어 패킷에 대한 통신 경로에서 또 다른 엔터티의 도입은 추가적 지연뿐만 아니라 신뢰도 리스크를 또한 도입한다. 실시간 음성 대화와 같은 지연 민감형 애플리케이션에 대해, 이러한 지연은 몇몇 사용자들에게 인식될 수도 있고, 다른 사용자들에게는 견디기 힘들 수도 있다. 또한, STUN/TURN 서버 (3890) 는, 회사 네트워크 (3802) 내의 클라이언트 디바이스와 통신하는 모든 외부 클라이언트 디바이스에 대한 중간 중계 지점으로서 동작한다. 따라서, STUN/TURN 서버 (3890) 는, 서버 (3812) 에 의해 조작되는 클라이언트 VoIP 디바이스의 수가 증가함에 따라 확장성 문제가 발생한다.
도 40 은, 본 발명의 일 실시형태에 따라, 외부 NAT 횡단 서버 (각각, 종래 기술의 도 39 및 도 38 의 TURN 서버 (3890) 또는 STUN 서버 (3882)) 가 회사 방화벽의 외부에 유지되어야 하는 요구사항을 제거하면서 모든 4 가지 타입의 NAT 변경이 횡단될 수 있는 일반적인 NAT 횡단 구성 (4000) 을 도시한다. 도 40 에서, STUN/TURN 서버 기능성은, 이동성 서버 - STUN/TURN 서버 (4092) (서버 (4092)) 에 의해 도시되는 바와 같이 이동성 서버와 동일한 샤시에서 구현된다.
또한, NAT 횡단은, NAT 횡단을 달성할 목적으로 STUN/TURN 서버가 외부 클라이언트 디바이스로부터 액세스가능하도록 요구하기 때문에, 본 발명의 실시형태들은, SIP 포트 또는 MSAP (미디어 서비스 액세스 포인트) 포트로서의 포트 번호로 그 자신으로 향해진 임의의 트래픽이 서버 (4092) 로 직접 포워딩되어, 회사 네트워크 (4002) 와 관련된 공개적으로 액세스가능한 IP 어드레스 (및 MSAP 포트 번호 또는 SIP 포트 번호와 같은 특정 포트 번호) 의 결합을 통해 서버 (4092) 가 외부에 액세스가능하도록 회사 게이트웨이 (4010) 가 제공되는 포트 포워딩으로 공지된 기술을 이용한다
본 발명의 실시형태들은, 서버 (4092) 또는 이동성 서버, 및 STUN 형 서버가 내부적으로 구현될 것을 요구할 뿐만 아니라, NAT 횡단을 위해 STUN/TURN 서버 또는 STUN 형 서버가 외부 클라이언트 디바이스에 의해 액세스가능한 것을 보장하기 위해 포트 포워딩의 사용을 요구한다. 외부 클라이언트 디바이스 (3862) 가, Wi-Fi 클라이언트 (3804) 또는 Wi-Fi 클라이언트 (3822) (또는, 외부 클라이언트 디바이스 (3842) 가 서버 (4092) 에 의해 관리되도록 등록된 경우의 외부 클라이언트 디바이스 (3842)) 와 같은 회사 네트워크 (4002) 에 의해 관리되는 디바이스들 중 하나와 통신하기를 원하는 경우, 외부 클라이언트 디바이스 (3862) 는 먼저 NAT 횡단 요청 (4080) 을 서버 (4092) 에 전송하고 NAT 횡단 응답 (4012) 을 수신함으로써 NAT 횡단을 수행한다. 이전과 같이, NAT 횡단 요청 및 NAT 횡단 응답은 실제로 AP (3864), 광대역 라우터/모뎀 (3866), 인터넷 (3808), 회사 게이트웨이 (4010), 스위치 (3814) 및 서버 (4092) 를 횡단한다. 서버 (4092) 내의 STUN/TURN 서버 애플리케이션은 포트 포워딩 메커니즘을 통해 인터넷 (3808) 과 통신하기 때문에, 서버 (4092) 는 외부 클라이언트 디바이스 (3862) 에게는 외부에서 액세스가능한 디바이스로 보이고, 따라서, 외부 클라이언트 디바이스 (3862) 는 회사 네트워크 (4002) 의 공개적으로 라우팅가능한 IP 어드레스와 서버 (4092) 상의 소망하는 포트 번호와의 결합을 사용하여 서버 (4092) 내의 STUN 애플리케이션에 직접 어드레싱할 수 있다.
그 후, 광대역 라우터/모뎀 (3866) 에 의해 구현된 NAT 변경 방식에 대한 인식은, 외부 클라이언트 디바이스 (3862) 와 서버 (4092) 사이의 미디어 패킷의 (예를 들어, 서버 (4092) 의 MSAP 포트를 통한) 실질적 양방향 송신 및 (예를 들어, 일 실시형태에서 SIP 프로토콜을 통한) 후속적 호출 셋업을 용이하게 하기 위해 서버 (4092) 에 전달된다. 즉, 서버 (4092) 는, 서버 (4092) 를 통한 외부 클라이언트 디바이스 (3862) 와 Wi-Fi 클라이언트 (3804) 사이의 호출 경로를 확립하기 위해 SIP 와 같은 시그널링 프로토콜을 후속적으로 사용할 수 있다. 또한, 외부 클라이언트 디바이스 (3862) 와 Wi-Fi 클라이언트 (3804) 사이의 미디어 패킷 통신은, 서버 (4092) 가 그 사이에 배치되는 통신 경로를 따라 교환된다.
또한, 서버 (4092) 의 실질적 미디어 스위칭은 STUN 서버와 동일한 샤시에서 구현되기 때문에, NAT 횡단 세션, 호출 셋업 세션 및 미디어 VoIP 패킷의 실제 송신 모두에 대해 외부 클라이언트 디바이스 (3862) 와 서버 (4092) 사이에서 동일한 변경이 이용될 것이므로, (대칭적 NAT 를 포함하는) 임의의 타입의 NAT 횡단이 도 40 의 구현으로 달성될 수 있다.
전술한 설명으로부터 인식할 수 있는 바와 같이, 본 발명의 실시형태들은 (각각, 종래 기술의 도 39 및 38 의 STUN/TURN 서버 (3890) 또는 STUN 서버 (3882) 와 같은) 외부의 STUN/TURN 서버의 요구사항을 제거한다. 이 제거는, 회사 방화벽 외부에 서버를 유지하는데 관련된 보안 리스크를 제거할 수 있다. 중간 중계 지점의 제거에 의해, 보안 터널을 통해 외부 클라이언트 디바이스와 회사 네트워크 (4002) 에 의해 관리되는 클라이언트 디바이스와의 사이에서 미디어 패킷을 송신하는데 관련된 지연이 감소된다.
또한, NAT 횡단에 이용되는 MSAP 포트는, 임의의 N 개의 클라이언트 디바이스들 사이에서 통신 세션 마다 개방되는 포트의 수를 감소시키기 위해 사용될 수도 있음을 본 발명자는 발견하였다. 예를 들어, 도 41 에 대해, MSAP 포트의 사용없이, 외부 클라이언트 디바이스 (3862) 와 외부 클라이언트 디바이스 (3842) 사이의 미디어 스트림은 통신 경로의 2 개의 레그 (4102 및 4104) 를 서비스하기 위해 2 개의 포트를 요구한다. 이것은, 종래의 VoIP 셋업이, 하나의 포트를 사용하는 클라이언트 디바이스 (3842 및 3862) 각각으로부터의 양방향 스트림에 의해, 회사 게이트웨이/방화벽 (3810) 을 통해, 그리고 서버 (4106) 에서 2 개의 포트를 개 방하기 때문이다.
본 발명의 일 실시형태에 따르면, MSAP 포트는 호출별 레그의 수에 무관하게 클라이언트 디바이스에 대한 미디어 스트림을 서비스하기 위해 MSAP 포트가 이용된다. 예를 들어, 도 42 에 대해, 서버 (4202) 상의 단일 MSAP 포트 (4200) 는 외부 클라이언트 디바이스 (3862) 및 외부 클라이언트 디바이스 (3842) 로 및 그 디바이스들로부터 미디어 스트림을 서비스하기 위해 이용된다. 호출의 2 개의 레그 모두에 대해 단일 MSAP 포트를 사용함으로써, 회사 게이트웨이/방화벽 (3810) 에서 개방되는 포트의 수가 감소되고, 이것은, 차례로 다수의 포트를 동시에 개방시키는데 관련된 보안 리스크 및 관리 오버헤드를 감소시킨다.
서버 (4202) 부분에서 IP 어드레스와 포트 번호의 결합을 사용하여 VoIP 패킷이 라우팅되는 포트 포워딩에 관련된 설명을 다시 참조하면, 클라이언트 디바이스들로의 및 그 디바이스들로부터의 모든 미디어 패킷에 대해 오직 단일 MSAP 포트만이 존재하기 때문에, 음성 패킷들을 대화에 관련시키기 위해 또 다른 메커니즘이 이용되어야 한다. 본 발명의 일 실시형태에 따르면, 이 솔루션은, 클라이언트 디바이스들로의 및 그 디바이스들로부터의 모든 미디어 통신 스트림에 대해 서버 (4202) 상에서 단일한 MSAP 포트를 사용하는 것에 관련될 뿐만 아니라, (도 42 의 접근방식에 의해 모든 미디어 스트림에 대해 오직 하나의 MSAP 포트만 존재하기 때문에) 포트 번호 이외의 정보에 기초하여 라우팅을 위해 미디어 스트림 패킷들을 대화에 관련시키는 것에도 관련된다. 일 실시형태에서, 각각의 패킷은 그 미디어 스트림 ID 에 대해 검사되고, 그 후, 그 미디어 스트림 ID 는, (음성과 같은) 특정한 미디어 패킷이 포워딩될 필요가 있는 수신지 디바이스를 확인하기 위해 패킷들을 미디어 스트림에 관련시키도록 이용된다.
본 발명의 일 실시형태에서, 패킷 라우팅을 위해, 패킷과 그 패킷의 미디어 스트림 사이의 관련은, 서버 (4202) 를 이용하여, 미디어 스트림 ID 를 확인하기 위해 음성 패킷의 헤더로 신속하게 피크 (peek) 하는 것과 관련된다. 심도깊은 분석 또는 데이터 조작이 관련되지 않기 때문에, 미디어 스트림 ID 를 획득하는 것, 및 미디어 스트림 ID 를 특정 대화와 관련시키는 것에 관련된 지연은 크게 감소된다.
미디어 스트림 ID 가 확인되면, 패킷은 특정 미디어 스트림 및 특정 수신지 클라이언트 디바이스와 관련될 수 있고 (예를 들어, RAM 내의 호출 테이블에서 유지될 수도 있는 정보), 그 패킷은 수신지 클라이언트 디바이스로 적절하게 라우팅될 수 있다. 이러한 방식으로, MSAP 포트는, 도 42 의 회사 게이트웨이/방화벽 (3810) 을 통해 개방되는 포트의 수가 실질적으로 감소되는 방식으로, NAT 횡단뿐만 아니라 방화벽 횡단에 대해 영향받는다.
본 발명의 실시형태들은, 모든 미디어 스트림을 클라이언트 디바이스로 및 클라이언트 디바이스로부터 서비스하기 위한 단일 MSAP 포트의 사용을 통해 회사 방화벽의 개방 포트의 수를 감소시키면서 VoIP 호출에 대한 방화벽 횡단을 달성함을 전술한 설명으로부터 인식할 수 있다. 포트의 수의 감소는, 차례로 회사에 대한 보안 리스크를 감소시켜서, 외부에서 발생하는 공격에 대해 내부 네트워크를 더 안전하게 한다.
예시적인 실시예로서 VoIP 애플리케이션을 설명했지만, 본 발명의 하나 이상의 실시형태들에 따른 방법, 서버 및/또는 시스템은 텍스트, 이미지, 비디오 및/또는 다른 오디오 데이터에 적용될 수도 있다.
H.결론
본 발명을 다수의 실시형태들의 관점에서 설명하지만, 본 발명의 범주에 속하는 변형예, 수정예 및 균등물이 존재한다. 또한, 본 발명의 방법 및 장치를 구현하는 다양한 다른 방법이 존재함을 유의해야 한다. 또한, 본 발명의 실시형태들은 다른 애플리케이션에서 효용성을 발견할 수도 있다. 본 명세서에서 요약부분은 편이를 위해 제공되며, 단어 수의 제한때문에, 읽기 편리하게 기입되었으며, 청구항들의 범주를 제한하도록 이용되어서는 안된다. 따라서, 다음의 청구항들은 본 발명의 진정한 사상 및 범주에 속하는 이러한 변형예, 수정예 및 균등물을 포함하도록 해석되어야 한다.

Claims (32)

  1. 복수의 네트워크들에서 동작하도록 구성된 클라이언트 디바이스; 및
    상기 복수의 네트워크들에 커플링되고, 회사 (enterprise) 에 의해 관리되는 서버를 포함하며,
    상기 서버는, 상기 클라이언트 디바이스의 접속성 정보를 저장하고, 상기 클라이언트 디바이스의 상기 접속성 정보 (connectivity information) 를 사용하여 상기 클라이언트 디바이스에 어드레싱된 내향 (incoming) 미디어 데이터를 라우팅하고, 상기 클라이언트 디바이스로부터 발신된 외향 (outgoing) 미디어 데이터를 상기 서버를 통해 라우팅하도록 구성되고,
    상기 접속성 정보는, 상기 클라이언트 디바이스의, 상기 복수의 네트워크들 중 적어도 하나의 네트워크와의 접속성에 관련되는, 무선 통신을 용이하게 하기 위한 시스템.
  2. 제 1 항에 있어서,
    상기 복수의 네트워크들은 서로 다른 통신 표준들에 기초하여 구현되는 통신 네트워크들을 포함하는, 무선 통신을 용이하게 하기 위한 시스템.
  3. 제 1 항에 있어서,
    상기 복수의 네트워크들은 음성 통신 네트워크 및 인터넷 프로토콜 데이터 네트워크를 포함하는, 무선 통신을 용이하게 하기 위한 시스템.
  4. 제 1 항에 있어서,
    상기 서버는 상기 클라이언트 디바이스의 사용자의 프레즌스 (presence) 상태 정보를 저장하도록 더 구성되는, 무선 통신을 용이하게 하기 위한 시스템.
  5. 제 4 항에 있어서,
    상기 프레즌스 상태 정보는 미디어 타입 및 사용자 상태 중 적어도 하나에 관련되는, 무선 통신을 용이하게 하기 위한 시스템.
  6. 제 4 항에 있어서,
    상기 프레즌스 상태 정보는, 텍스트 타입, 음성 타입, 비디오 타입, 멀티미디어 타입, 메시지 타입, 실시간 타입, 가용 상태, 휴지 (idle) 상태, 오프라인 상태, 온라인 상태, 비지 상태 및 인비저블 (invisible) 상태 중 적어도 하나를 포함하는, 무선 통신을 용이하게 하기 위한 시스템.
  7. 제 1 항에 있어서,
    상기 접속성 정보는 무선 신호 강도 정보를 포함하는, 무선 통신을 용이하게 하기 위한 시스템.
  8. 제 1 항에 있어서,
    상기 서버는, 상기 내향 미디어 데이터 및 상기 외향 미디어 데이터 중 적어도 하나에 대한 트랜스코딩을 제공하도록 더 구성되는, 무선 통신을 용이하게 하기 위한 시스템.
  9. 제 1 항에 있어서,
    상기 서버는 복수의 음성 코덱 포맷에 대한 트랜스코딩을 제공하도록 더 구성되는, 무선 통신을 용이하게 하기 위한 시스템.
  10. 제 1 항에 있어서,
    상기 서버는, 상기 접속성 정보를 사용하여, 제 1 무선국으로부터 제 2 무선국으로의, 상기 클라이언트 디바이스의 핸드오프를 트리거할지 여부를 결정하도록 더 구성되는, 무선 통신을 용이하게 하기 위한 시스템.
  11. 제 1 항에 있어서,
    상기 서버는, 상기 클라이언트 디바이스가 제 1 무선국으로부터 제 2 무선국으로의 핸드오프를 완료하기 이전에, 상기 클라이언트 디바이스와 상기 제 1 무선국 사이의 시그널링, 및 상기 클라이언트 디바이스와 상기 제 2 무선국 사이의 시그널링을 동시에 유지하도록 더 구성되는, 무선 통신을 용이하게 하기 위한 시스템.
  12. 제 1 항에 있어서,
    상기 클라이언트 디바이스는, 상기 클라이언트 디바이스의, 상기 복수의 네트워크들 중 적어도 하나의 네트워크와의 상기 접속성을 모니터링하고, 상기 서버에 대한 상기 접속성 정보를 업데이트하도록 구성된 이동성 매니저 애플리케이션 모듈을 포함하며,
    상기 이동성 매니저 애플리케이션 모듈은 개방 시스템 상호접속 (OSI) 모델에 따른 애플리케이션층 상에 구현되는, 무선 통신을 용이하게 하기 위한 시스템.
  13. 제 1 항에 있어서,
    상기 클라이언트 디바이스는, 상기 접속성 정보를 사용하여, 제 1 무선국으로부터 제 2 무선국으로의, 상기 클라이언트 디바이스의 핸드오프를 트리거할지 여부를 결정하도록 구성된 호출 제어 애플리케이션 모듈을 포함하는, 무선 통신을 용이하게 하기 위한 시스템.
  14. 클라이언트 디바이스의, 복수의 네트워크들로의 접속성을 모니터링하는 이동성 매니저 애플리케이션 모듈; 및
    상기 클라이언트 디바이스의, 상기 복수의 네트워크들로의 상기 접속성에 기초하여, 제 1 무선국으로부터 제 2 무선국으로의, 상기 클라이언트 디바이스의 핸드오프를 트리거할지 여부를 결정하는 호출 제어 애플리케이션 모듈을 포함하는, 클라이언트 디바이스.
  15. 제 14 항에 있어서,
    상기 이동성 매니저 애플리케이션 모듈 및 상기 호출 제어 애플리케이션 모듈 중 적어도 하나는, 개방 시스템 상호접속 (OSI) 모델에 따른 애플리케이션층 상에 구현되는, 클라이언트 디바이스.
  16. 제 14 항에 있어서,
    상기 이동성 매니저 애플리케이션 모듈 및 상기 호출 제어 애플리케이션 모듈 중 적어도 하나는, 네트워크 접속부 및 저장 디바이스 중 적어도 하나를 통해 상기 클라이언트 디바이스로 다운로드되는, 클라이언트 디바이스.
  17. 클라이언트 디바이스의 무선 통신을 용이하게 하기 위한 방법으로서,
    상기 클라이언트 디바이스는 제 1 네트워크의 제 1 무선국에 접속되고,
    상기 방법은, 상기 클라이언트 디바이스의 상기 제 1 무선국과의 접속성 및 상기 클라이언트 디바이스의 제 2 무선국과의 접속성에 관련된 접속성 정보를 저장하는 단계를 포함하며,
    상기 저장하는 단계는, 회사에 의해 관리되는 서버에 의해 수행되는, 무선 통신을 용이하게 하는 방법.
  18. 제 17 항에 있어서,
    상기 서버를 통해 상기 클라이언트 디바이스로 어드레싱된 모든 내향 미디어 데이터를 라우팅하는 단계를 더 포함하는, 무선 통신을 용이하게 하는 방법.
  19. 제 17 항에 있어서,
    상기 서버를 통해 상기 클라이언트 디바이스로부터 발신된 모든 외향 미디어 데이터를 라우팅하는 단계를 더 포함하는, 무선 통신을 용이하게 하는 방법.
  20. 제 17 항에 있어서,
    상기 접속성 정보를 사용하여, 상기 제 1 무선국으로부터 상기 제 2 무선국으로의, 상기 클라이언트 디바이스의 핸드오프를 트리거할지 여부를 결정하는 단계를 더 포함하는, 무선 통신을 용이하게 하는 방법.
  21. 제 17 항에 있어서,
    상기 클라이언트 디바이스가 상기 제 1 무선국으로부터 상기 제 2 무선국으로의 핸드오프를 완료하기 이전에, 상기 클라이언트 디바이스와 상기 제 1 무선국 사이의 시그널링, 및 상기 클라이언트 디바이스와 상기 제 2 무선국 사이의 시그널링을 동시에 유지하는 단계를 더 포함하는, 무선 통신을 용이하게 하는 방법.
  22. 제 17 항에 있어서,
    상기 제 1 무선국 및 상기 제 2 무선국은 서로 다른 통신 표준들에 기초하여 구현되는, 무선 통신을 용이하게 하는 방법.
  23. 제 17 항에 있어서,
    상기 제 1 무선국 및 상기 제 2 무선국 중 적어도 하나는 데이터 통신 표준들에 기초하여 구현되는, 무선 통신을 용이하게 하는 방법.
  24. 제 17 항에 있어서,
    상기 클라이언트 디바이스의 사용자의 프레즌스 상태 정보를 모니터링하는 단계를 더 포함하며,
    상기 프레즌스 상태 정보는 미디어 타입 및 사용자 상태 중 적어도 하나에 관련되는, 무선 통신을 용이하게 하는 방법.
  25. 제 24 항에 있어서,
    상기 프레즌스 상태 정보는, 텍스트 타입, 음성 타입, 비디오 타입, 멀티미디어 타입, 메시지 타입 및 실시간 타입 중 적어도 하나를 포함하는, 무선 통신을 용이하게 하는 방법.
  26. 제 24 항에 있어서,
    상기 프레즌스 상태 정보에 따라 내향 미디어 데이터를 상기 클라이언트 디 바이스에 제공하는 단계를 더 포함하는, 무선 통신을 용이하게 하는 방법.
  27. 제 17 항에 있어서,
    제 2 네트워크로부터 발신되고 상기 클라이언트 디바이스로 어드레싱된 내향 미디어 데이터를 트랜스코딩하는 단계를 더 포함하며,
    상기 제 2 네트워크 및 상기 제 1 네트워크는 서로 다른 통신 표준들에 기초하여 구현되고,
    상기 트랜스 코딩은 상기 서버에 의해 수행되는, 무선 통신을 용이하게 하는 방법.
  28. 제 27 항에 있어서,
    상기 트랜스코딩은 복수의 음성 코덱 포맷들에 대한 트랜스코딩을 포함하는, 무선 통신을 용이하게 하는 방법.
  29. 제 27 항에 있어서,
    상기 내향 미디어 데이터는 상기 제 2 네트워크에 의해 트랜스코딩되지 않는, 무선 통신을 용이하게 하는 방법.
  30. 제 17 항에 있어서,
    상기 클라이언트 디바이스로부터 발신되고 제 2 네트워크에 접속된 사용자 디바이스로 어드레싱된 외향 미디어 데이터를 트랜스코딩하는 단계를 더 포함하며,
    상기 제 2 네트워크 및 상기 제 1 네트워크는 서로 다른 통신 표준들에 기초하여 구현되고,
    상기 트랜스코딩은 상기 서버에 의해 수행되는, 무선 통신을 용이하게 하는 방법.
  31. 제 30 항에 있어서,
    상기 외향 미디어 데이터는 상기 제 2 네트워크에 의해 트랜스코딩되지 않는, 무선 통신을 용이하게 하는 방법.
  32. 제 17 항에 있어서,
    상기 클라이언트 디바이스의 상기 제 1 무선국과의 접속성 및 상기 클라이언트 디바이스의 제 2 무선국과의 접속성을 모니터링하기 위해, 이동성 매니저 애플리케이션 모듈을 상기 클라이언트 디바이스로 다운로드하는 단계를 더 포함하며,
    상기 이동성 매니저 애플리케이션 모듈은 네트워크 접속부 및 저장 디바이스 중 적어도 하나를 통해 상기 클라이언트 디바이스로 다운로드되는, 무선 통신을 용이하게 하는 방법.
KR1020087010805A 2005-10-03 2006-10-03 회사 관리형 무선 통신 KR20080110981A (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US72341005P 2005-10-03 2005-10-03
US60/723,410 2005-10-03
US80480606P 2006-06-14 2006-06-14
US60/804,806 2006-06-14

Publications (1)

Publication Number Publication Date
KR20080110981A true KR20080110981A (ko) 2008-12-22

Family

ID=37906858

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020087010805A KR20080110981A (ko) 2005-10-03 2006-10-03 회사 관리형 무선 통신
KR1020087010804A KR20090007273A (ko) 2005-10-03 2006-10-03 수신자 인증을 통한 호출 라우팅

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020087010804A KR20090007273A (ko) 2005-10-03 2006-10-03 수신자 인증을 통한 호출 라우팅

Country Status (5)

Country Link
US (7) US20070091848A1 (ko)
EP (6) EP1932280A2 (ko)
KR (2) KR20080110981A (ko)
TW (7) TW200733764A (ko)
WO (7) WO2007041707A2 (ko)

Families Citing this family (396)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7308263B2 (en) 2001-02-26 2007-12-11 Kineto Wireless, Inc. Apparatus for supporting the handover of a telecommunication session between a licensed wireless system and an unlicensed wireless system
CZ20032418A3 (cs) * 2001-03-09 2004-02-18 Diapharm Limited Farmaceutický prostředek
US8478281B2 (en) * 2007-12-13 2013-07-02 Agere Systems Llc Cell phone extension using wireless piconet
US7885644B2 (en) * 2002-10-18 2011-02-08 Kineto Wireless, Inc. Method and system of providing landline equivalent location information over an integrated communication system
DE10327545B4 (de) * 2003-06-18 2005-12-01 Infineon Technologies Ag Verfahren und Vorrichtung zur Verarbeitung von Echtzeitdaten
US7684374B2 (en) * 2004-07-28 2010-03-23 Broadcom Corporation Handling of multimedia call sessions and attachments using multi-network simulcasting
JP4568155B2 (ja) * 2005-04-15 2010-10-27 株式会社東芝 アクセス制御装置およびアクセス制御方法
WO2006126260A1 (ja) * 2005-05-25 2006-11-30 Mitsubishi Denki Kabushiki Kaisha ストリーム配信システム
US8805370B1 (en) * 2005-06-21 2014-08-12 Taqua Wireless, Llc Hand-out and hand-in support for legacy mobiles serviced by a femtocell attached to an IMS network
US20090067417A1 (en) * 2007-07-14 2009-03-12 Tatara Systems, Inc. Method and apparatus for supporting SIP/IMS-based femtocells
US20060291487A1 (en) * 2005-06-24 2006-12-28 Aylus Networks, Inc. IMS networks with AVS sessions with multiple access networks
US7792528B2 (en) * 2005-06-24 2010-09-07 Aylus Networks, Inc. Method and system for provisioning IMS networks with virtual service organizations having distinct service logic
US7864936B2 (en) * 2005-06-24 2011-01-04 Aylus Networks, Inc. Method of avoiding or minimizing cost of stateful connections between application servers and S-CSCF nodes in an IMS network with multiple domains
US20060291412A1 (en) * 2005-06-24 2006-12-28 Naqvi Shamim A Associated device discovery in IMS networks
TWI268066B (en) * 2005-07-22 2006-12-01 Aphelion Comm Inc Wireless network data-accessing device and the operating method
US20070091848A1 (en) * 2005-10-03 2007-04-26 Snehal Karia Reducing data loss during handoffs in wireless communication
US8041800B2 (en) * 2005-11-08 2011-10-18 International Business Machines Corporation Automatic orchestration of dynamic multiple party, multiple media communications
US20070115949A1 (en) * 2005-11-17 2007-05-24 Microsoft Corporation Infrastructure for enabling high quality real-time audio
US7804954B2 (en) * 2005-11-17 2010-09-28 Microsoft Corporation Infrastructure for enabling high quality real-time audio
CN101322346A (zh) 2005-12-01 2008-12-10 鲁库斯无线公司 借助于无线基站虚拟化的按需服务
US7944885B2 (en) * 2006-02-11 2011-05-17 Broadcom Corporation General access network controller bypass to facilitate use of standard cellular handsets with a general access network
US7873001B2 (en) * 2006-03-02 2011-01-18 Tango Networks, Inc. System and method for enabling VPN-less session setup for connecting mobile data devices to an enterprise data network
US7873032B2 (en) * 2006-03-02 2011-01-18 Tango Networks, Inc. Call flow system and method use in VoIP telecommunication system
US11405846B2 (en) 2006-03-02 2022-08-02 Tango Networks, Inc. Call flow system and method for use in a legacy telecommunication system
US8023479B2 (en) * 2006-03-02 2011-09-20 Tango Networks, Inc. Mobile application gateway for connecting devices on a cellular network with individual enterprise and data networks
US7890096B2 (en) 2006-03-02 2011-02-15 Tango Networks, Inc. System and method for enabling call originations using SMS and hotline capabilities
US8599788B2 (en) * 2006-03-20 2013-12-03 Samsung Electronics Co., Ltd. Method and system for mobile secure socket layer in virtual private networks
US20080052363A1 (en) * 2006-03-27 2008-02-28 Sms.Ac Systems and methods for interoperable message service with mobile support in a mobile community platform
US7852994B1 (en) * 2006-03-31 2010-12-14 Verint Americas Inc. Systems and methods for recording audio
US7751378B2 (en) * 2006-03-31 2010-07-06 Intel Corporation Method, apparatus and system for client-based distributed PBX for enterprise telephony
US9769655B2 (en) 2006-04-24 2017-09-19 Ruckus Wireless, Inc. Sharing security keys with headless devices
US7788703B2 (en) * 2006-04-24 2010-08-31 Ruckus Wireless, Inc. Dynamic authentication in secured wireless networks
US9071583B2 (en) * 2006-04-24 2015-06-30 Ruckus Wireless, Inc. Provisioned configuration for automatic wireless connection
WO2007125932A1 (en) * 2006-04-28 2007-11-08 Semiconductor Energy Laboratory Co., Ltd. Photoelectric conversion element and manufacturing method of photoelectric conversion element
US9026117B2 (en) 2006-05-16 2015-05-05 Aylus Networks, Inc. Systems and methods for real-time cellular-to-internet video transfer
US8730945B2 (en) * 2006-05-16 2014-05-20 Aylus Networks, Inc. Systems and methods for using a recipient handset as a remote screen
US8611334B2 (en) 2006-05-16 2013-12-17 Aylus Networks, Inc. Systems and methods for presenting multimedia objects in conjunction with voice calls from a circuit-switched network
US8432899B2 (en) 2007-02-22 2013-04-30 Aylus Networks, Inc. Systems and methods for enabling IP signaling in wireless networks
US8090401B2 (en) 2006-05-19 2012-01-03 Agere Systems Inc. Virtual gateway node for dual-mode wireless phones
EP2034751B1 (en) * 2006-06-06 2017-08-23 Panasonic Intellectual Property Management Co., Ltd. Radio communication system, radio terminal, base station, and base station search method
US20090016333A1 (en) * 2006-06-14 2009-01-15 Derek Wang Content-based adaptive jitter handling
US20080317241A1 (en) * 2006-06-14 2008-12-25 Derek Wang Code-based echo cancellation
US7480500B1 (en) 2006-06-14 2009-01-20 Divitas Networks, Inc. Divitas protocol proxy and methods therefor
US7565159B2 (en) * 2006-06-14 2009-07-21 Divitas Networks, Inc. Methods and arrangement for implementing an active call handover by employing a switching component
US20080140767A1 (en) * 2006-06-14 2008-06-12 Prasad Rao Divitas description protocol and methods therefor
US9235862B1 (en) * 2006-06-23 2016-01-12 Thomson Reuters Global Resources Corporate board management system
US8194643B2 (en) 2006-10-19 2012-06-05 Embarq Holdings Company, Llc System and method for monitoring the connection of an end-user to a remote network
US8289965B2 (en) 2006-10-19 2012-10-16 Embarq Holdings Company, Llc System and method for establishing a communications session with an end-user based on the state of a network connection
US9054909B2 (en) * 2006-06-30 2015-06-09 Microsoft Technology Licensing, Llc Forwarding calls in real time communications
US9094257B2 (en) 2006-06-30 2015-07-28 Centurylink Intellectual Property Llc System and method for selecting a content delivery network
US8369292B2 (en) * 2006-06-30 2013-02-05 Industrial Technology Research Institute Method and apparatus for mobility management in communication networks
US8488447B2 (en) 2006-06-30 2013-07-16 Centurylink Intellectual Property Llc System and method for adjusting code speed in a transmission path during call set-up due to reduced transmission performance
US8184549B2 (en) 2006-06-30 2012-05-22 Embarq Holdings Company, LLP System and method for selecting network egress
US8717911B2 (en) 2006-06-30 2014-05-06 Centurylink Intellectual Property Llc System and method for collecting network performance information
US9712667B2 (en) * 2006-07-07 2017-07-18 Genband Us Llc Identifying network entities in a peer-to-peer network
US20080076425A1 (en) * 2006-09-22 2008-03-27 Amit Khetawat Method and apparatus for resource management
US8531954B2 (en) 2006-08-22 2013-09-10 Centurylink Intellectual Property Llc System and method for handling reservation requests with a connection admission control engine
US9479341B2 (en) 2006-08-22 2016-10-25 Centurylink Intellectual Property Llc System and method for initiating diagnostics on a packet network node
WO2008022829A1 (fr) * 2006-08-22 2008-02-28 France Telecom Procédé de gestion d'une session de transfert sécurisée au travers d'un dispositif de translation d'adresse, serveur et programme d'ordinateur correspondants
US7684332B2 (en) 2006-08-22 2010-03-23 Embarq Holdings Company, Llc System and method for adjusting the window size of a TCP packet through network elements
US8130793B2 (en) 2006-08-22 2012-03-06 Embarq Holdings Company, Llc System and method for enabling reciprocal billing for different types of communications over a packet network
US8125897B2 (en) 2006-08-22 2012-02-28 Embarq Holdings Company Lp System and method for monitoring and optimizing network performance with user datagram protocol network performance information packets
US8015294B2 (en) 2006-08-22 2011-09-06 Embarq Holdings Company, LP Pin-hole firewall for communicating data packets on a packet network
US8274905B2 (en) 2006-08-22 2012-09-25 Embarq Holdings Company, Llc System and method for displaying a graph representative of network performance over a time period
US8228791B2 (en) 2006-08-22 2012-07-24 Embarq Holdings Company, Llc System and method for routing communications between packet networks based on intercarrier agreements
US8743703B2 (en) 2006-08-22 2014-06-03 Centurylink Intellectual Property Llc System and method for tracking application resource usage
US8537695B2 (en) 2006-08-22 2013-09-17 Centurylink Intellectual Property Llc System and method for establishing a call being received by a trunk on a packet network
US8238253B2 (en) 2006-08-22 2012-08-07 Embarq Holdings Company, Llc System and method for monitoring interlayer devices and optimizing network performance
US8144587B2 (en) 2006-08-22 2012-03-27 Embarq Holdings Company, Llc System and method for load balancing network resources using a connection admission control engine
US8549405B2 (en) 2006-08-22 2013-10-01 Centurylink Intellectual Property Llc System and method for displaying a graphical representation of a network to identify nodes and node segments on the network that are not operating normally
US8189468B2 (en) 2006-10-25 2012-05-29 Embarq Holdings, Company, LLC System and method for regulating messages between networks
US8102770B2 (en) 2006-08-22 2012-01-24 Embarq Holdings Company, LP System and method for monitoring and optimizing network performance with vector performance tables and engines
US8144586B2 (en) 2006-08-22 2012-03-27 Embarq Holdings Company, Llc System and method for controlling network bandwidth with a connection admission control engine
US8223655B2 (en) 2006-08-22 2012-07-17 Embarq Holdings Company, Llc System and method for provisioning resources of a packet network based on collected network performance information
US8750158B2 (en) 2006-08-22 2014-06-10 Centurylink Intellectual Property Llc System and method for differentiated billing
US7843831B2 (en) 2006-08-22 2010-11-30 Embarq Holdings Company Llc System and method for routing data on a packet network
US8224255B2 (en) 2006-08-22 2012-07-17 Embarq Holdings Company, Llc System and method for managing radio frequency windows
US8407765B2 (en) 2006-08-22 2013-03-26 Centurylink Intellectual Property Llc System and method for restricting access to network performance information tables
US8194555B2 (en) 2006-08-22 2012-06-05 Embarq Holdings Company, Llc System and method for using distributed network performance information tables to manage network communications
US8576722B2 (en) 2006-08-22 2013-11-05 Centurylink Intellectual Property Llc System and method for modifying connectivity fault management packets
US8199653B2 (en) 2006-08-22 2012-06-12 Embarq Holdings Company, Llc System and method for communicating network performance information over a packet network
US8619600B2 (en) 2006-08-22 2013-12-31 Centurylink Intellectual Property Llc System and method for establishing calls over a call path having best path metrics
US8307065B2 (en) 2006-08-22 2012-11-06 Centurylink Intellectual Property Llc System and method for remotely controlling network operators
US8107366B2 (en) 2006-08-22 2012-01-31 Embarq Holdings Company, LP System and method for using centralized network performance tables to manage network communications
US8064391B2 (en) 2006-08-22 2011-11-22 Embarq Holdings Company, Llc System and method for monitoring and optimizing network performance to a wireless device
US20080076422A1 (en) * 2006-09-09 2008-03-27 Jeou-Kai Lin System and method for providing continuous media messaging during a handoff procedure in an IP-based mobile communication network
US7916166B1 (en) * 2006-09-13 2011-03-29 Sprint Communications Company L.P. Wireless video conferencing with mobility
US7848265B2 (en) * 2006-09-21 2010-12-07 Siemens Enterprise Communications, Inc. Apparatus and method for automatic conference initiation
US20080076392A1 (en) * 2006-09-22 2008-03-27 Amit Khetawat Method and apparatus for securing a wireless air interface
US8073428B2 (en) 2006-09-22 2011-12-06 Kineto Wireless, Inc. Method and apparatus for securing communication between an access point and a network controller
US8036664B2 (en) * 2006-09-22 2011-10-11 Kineto Wireless, Inc. Method and apparatus for determining rove-out
US7995994B2 (en) * 2006-09-22 2011-08-09 Kineto Wireless, Inc. Method and apparatus for preventing theft of service in a communication system
US8204502B2 (en) 2006-09-22 2012-06-19 Kineto Wireless, Inc. Method and apparatus for user equipment registration
US20080074993A1 (en) * 2006-09-27 2008-03-27 Kati Vainola UMA classmark information
US7899178B2 (en) 2006-09-29 2011-03-01 Verint Americas Inc. Recording invocation of communication sessions
US20090170557A1 (en) * 2006-10-02 2009-07-02 Prashant Chauhan Systems and methods for enabling communication features utilizing various bearer media
US7941092B2 (en) * 2006-11-22 2011-05-10 Bindu Rama Rao Media distribution server that presents interactive media to a mobile device
WO2008045401A2 (en) * 2006-10-12 2008-04-17 Packetvideo Corp. System and method for creating multimedia rendezvous points for mobile devices
US8095175B2 (en) * 2006-10-26 2012-01-10 Mcmaster University WLAN-to-WWAN handover methods and apparatus using a WLAN support node having a WWAN interface
US7716321B2 (en) * 2006-11-01 2010-05-11 Sony Corporation Method and system for providing recommendations for internet content providers
US20080112339A1 (en) * 2006-11-09 2008-05-15 Christopher Armstrong Full service mobile wireless telecommunication system and method
EP1921832B1 (en) * 2006-11-10 2009-03-04 Research In Motion Limited System, method and mobile device for management of wireless connections
US7756485B2 (en) * 2006-11-13 2010-07-13 Research In Motion Limited System, method and mobile device for displaying wireless mode indicators
US11256386B2 (en) 2006-11-22 2022-02-22 Qualtrics, Llc Media management system supporting a plurality of mobile devices
US10803474B2 (en) 2006-11-22 2020-10-13 Qualtrics, Llc System for creating and distributing interactive advertisements to mobile devices
US8478250B2 (en) 2007-07-30 2013-07-02 Bindu Rama Rao Interactive media management server
US8700014B2 (en) 2006-11-22 2014-04-15 Bindu Rama Rao Audio guided system for providing guidance to user of mobile device on multi-step activities
CN101193442B (zh) * 2006-11-23 2010-12-08 华为技术有限公司 一种实现多媒体呼叫移动性的系统、方法及装置
US8683538B2 (en) * 2006-11-30 2014-03-25 Centurylink Intellectual Property Llc Multi-access content server with security management for IPTV
US8737349B2 (en) * 2006-12-01 2014-05-27 Sigram Schindler Beteiligungsgesellschaft Mbh Handover process and information support for communication transfer between telecommunication networks
US20080153432A1 (en) * 2006-12-20 2008-06-26 Motorola, Inc. Method and system for conversation break-in based on user context
US20080155102A1 (en) * 2006-12-20 2008-06-26 Motorola, Inc. Method and system for managing a communication session
US8599747B1 (en) * 2006-12-20 2013-12-03 Radisys Canada Inc. Lawful interception of real time packet data
US8340078B1 (en) * 2006-12-21 2012-12-25 Cisco Technology, Inc. System for concealing missing audio waveforms
US7778630B2 (en) 2006-12-22 2010-08-17 Tp Lab Inc. System for switching over a voice call
WO2008080426A1 (en) * 2006-12-29 2008-07-10 Telecom Italia S.P.A. Conference where mixing is time controlled by a rendering device
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
US8019331B2 (en) * 2007-02-26 2011-09-13 Kineto Wireless, Inc. Femtocell integration into the macro network
US9055517B2 (en) * 2007-02-26 2015-06-09 Blackberry Limited System and method of user-directed dynamic domain selection
US8689334B2 (en) * 2007-02-28 2014-04-01 Alcatel Lucent Security protection for a customer programmable platform
US7693084B2 (en) * 2007-02-28 2010-04-06 Microsoft Corporation Concurrent connection testing for computation of NAT timeout period
US7881318B2 (en) * 2007-02-28 2011-02-01 Microsoft Corporation Out-of-band keep-alive mechanism for clients associated with network address translation systems
GB2448003A (en) * 2007-03-08 2008-10-01 Siemens Ag Controlling information requests in a communications network to prevent congestion
US9516580B2 (en) * 2007-03-19 2016-12-06 Texas Instruments Incorporated Enabling down link reception of system and control information from intra-frequency neighbors without gaps in the serving cell in evolved-UTRA systems
US8300638B2 (en) * 2007-03-20 2012-10-30 Cisco Technology, Inc. Multimodal multilevel precedence and preemption
CN101272378B (zh) * 2007-03-23 2011-05-11 国际商业机器公司 用于处理会话启动协议消息的方法和系统
US20080239988A1 (en) * 2007-03-29 2008-10-02 Henry Ptasinski Method and System For Network Infrastructure Offload Traffic Filtering
US7856226B2 (en) * 2007-04-17 2010-12-21 Aylus Networks, Inc. Systems and methods for IMS user sessions with dynamic service selection
US20080261533A1 (en) * 2007-04-20 2008-10-23 Sony Ericsson Mobile Communications Ab Method and arrangement in a communications network
CA2685196C (en) * 2007-04-27 2016-01-12 Research In Motion Limited Method, apparatus and system for call leg selection
US9706045B2 (en) * 2007-04-30 2017-07-11 Blackberry Limited System and method for integrating an outgoing cellular call as an enterprise call in an IMS environment
US9319879B2 (en) 2007-05-30 2016-04-19 Apple Inc. Method and apparatus for security configuration and verification of wireless devices in a fixed/mobile convergence environment
US8111692B2 (en) 2007-05-31 2012-02-07 Embarq Holdings Company Llc System and method for modifying network traffic
GB0710878D0 (en) * 2007-06-06 2007-07-18 Skype Ltd Method of transmitting data in a communication system
EP2003858A1 (en) * 2007-06-14 2008-12-17 Nokia Siemens Networks Oy Performing interactive connectivity checks in a mobility environment
US20080317010A1 (en) * 2007-06-22 2008-12-25 Aylus Networks, Inc. System and method for signaling optimization in ims services by using a service delivery platform
CN101335681B (zh) * 2007-06-27 2011-08-10 华为技术有限公司 获取穿越资源的方法、对等网络节点和对等网络
US8897211B2 (en) * 2007-06-29 2014-11-25 Alcatel Lucent System and methods for providing service-specific support for multimedia traffic in wireless networks
US9379909B2 (en) * 2007-06-29 2016-06-28 Blackberry Limited Method and system for managing enterprise-related mobile calls
US8589563B2 (en) 2007-07-10 2013-11-19 Cisco Technology, Inc. System, method, and apparatus for maintaining call state information for real-time call sessions
US7933273B2 (en) * 2007-07-27 2011-04-26 Sony Computer Entertainment Inc. Cooperative NAT behavior discovery
US10237401B2 (en) * 2007-08-08 2019-03-19 Mitel Networks Corporation Secure call recording system for IP telephony
US20090040951A1 (en) * 2007-08-10 2009-02-12 Research In Motion Limited Systems and Methods for Defining Multi-Domain Wireless Device Behavior for Two or More Calls
US8706160B2 (en) * 2007-08-27 2014-04-22 Cory Lam System and method for delivering adaptively multi-media content through a network
US9030934B2 (en) * 2007-09-07 2015-05-12 Qualcomm Incorporated Host-based quality of service for wireless communications
DE502007002352D1 (de) * 2007-09-24 2010-01-28 Avaya Gmbh & Co Kg Verfahren zum Herstellen einer Kommunikationsverbindung und Telekommunikationsanlage zur Durchführung des Verfahrens
MY147126A (en) * 2007-10-01 2012-10-31 Mimos Berhad A method to stop pack drop in an overlapped wireless ipv6 coverage environment
US8780857B2 (en) * 2007-10-09 2014-07-15 Qualcomm Incorporated Methods and apparatus for mobility support between network domains
US9092380B1 (en) * 2007-10-11 2015-07-28 Norberto Menendez System and method of communications with supervised interaction
US9106450B2 (en) * 2007-11-01 2015-08-11 International Business Machines Corporation System and method for communication management
US20090124284A1 (en) * 2007-11-14 2009-05-14 Shimon Scherzer System and method for providing seamless broadband internet access to web applications
US20090129301A1 (en) * 2007-11-15 2009-05-21 Nokia Corporation And Recordation Configuring a user device to remotely access a private network
KR100852145B1 (ko) * 2007-11-22 2008-08-13 한국정보보호진흥원 SIP 기반 VoIP 서비스를 위한 호 제어 메시지의보안 시스템 및 방법
US8744451B2 (en) * 2007-12-12 2014-06-03 Aruba Networks, Inc. Delayed ACK in dual-mode call handover
US8538387B2 (en) * 2007-12-12 2013-09-17 Aruba Networks, Inc. Single voicemail for dual-mode phones
US8000739B2 (en) 2007-12-12 2011-08-16 Aruba Networks, Inc. Single number presentation for dual-mode phones
EP2220881B1 (en) * 2007-12-14 2013-10-02 BlackBerry Limited Method, computer-readable medium and network device for specifying, applying and extending application related aspects through policies, rules and triggers
BRPI0820973B1 (pt) * 2007-12-14 2020-10-06 Blackberry Limited Método realizado por um agente de presença em um dispositivo de usuário e um servidor e meio legível por computador
US8929329B2 (en) * 2007-12-19 2015-01-06 Verizon Patent And Licensing Inc. System and method for dual-mode handoff
JP2009152812A (ja) * 2007-12-20 2009-07-09 Hitachi Ltd 端末のユーザ識別情報転送による非携帯端末のネットワーク接続方法
US20090163229A1 (en) * 2007-12-21 2009-06-25 Aruba Networks, Inc. Indicators for Dual-Mode Phones
US8712452B2 (en) * 2007-12-21 2014-04-29 Aruba Networks, Inc. Enterprise seamless mobility
US8724619B2 (en) * 2007-12-31 2014-05-13 Apple Inc. Transparently routing a telephone call between mobile and VOIP services
US9445312B2 (en) * 2007-12-31 2016-09-13 United States Cellular Corporation Enhanced configuration and handoff scheme for Femto systems
US7870251B2 (en) * 2008-01-10 2011-01-11 At&T Intellectual Property I, L.P. Devices, methods, and computer program products for real-time resource capacity management
WO2009100362A2 (en) * 2008-02-06 2009-08-13 Vonage Network Llc Method and apparatus for provisioning dual mode wireless client devices in a telecommunications system
US20090215438A1 (en) * 2008-02-23 2009-08-27 Ajay Mittal Methods for performing transparent callback
US8364847B2 (en) * 2008-02-29 2013-01-29 Microsoft Corporation Address management in a connectivity platform
US8825883B2 (en) * 2008-02-29 2014-09-02 Microsoft Corporation Connectivity platform
WO2009112044A1 (en) * 2008-03-10 2009-09-17 Telefonaktiebolaget Lm Ericsson (Publ) Technique for classifying network traffic and for validating a mechanism for calassifying network traffic
US8406715B2 (en) * 2008-03-27 2013-03-26 Panasonic Automotive Systems of America, division of Panasonic Corporation of North America Method and apparatus for dynamically adapting FM tuner sensitivity to a local environment for a single-tuner system
EP2266269B1 (en) 2008-04-02 2019-01-02 Twilio Inc. System and method for processing telephony sessions
US8837465B2 (en) 2008-04-02 2014-09-16 Twilio, Inc. System and method for processing telephony sessions
US8068425B2 (en) 2008-04-09 2011-11-29 Embarq Holdings Company, Llc System and method for using network performance information to determine improved measures of path states
US8019831B2 (en) * 2008-04-17 2011-09-13 Microsoft Corporation Adaptive buffering of database server response data
US20090262702A1 (en) * 2008-04-18 2009-10-22 Amit Khetawat Method and Apparatus for Direct Transfer of RANAP Messages in a Home Node B System
US9769237B2 (en) * 2008-04-23 2017-09-19 Vonage America Inc. Method and apparatus for testing in a communication network
US20090271517A1 (en) * 2008-04-25 2009-10-29 Webmessenger, Inc. Method and apparatus for wireless device reconnection handling
CN101572930B (zh) * 2008-04-28 2012-08-29 鸿富锦精密工业(深圳)有限公司 非授权移动接入手机稳定连线系统及方法
US8219624B2 (en) * 2008-05-08 2012-07-10 International Business Machines Corporation System, method, and apparatus for electronic communication initiation contingent on busyness
US8806630B2 (en) * 2008-05-13 2014-08-12 At&T Intellectual Property, I, L.P. Methods and apparatus for intrusion protection in systems that monitor for improper network usage
US20090286506A1 (en) * 2008-05-15 2009-11-19 Level 3 Communications, Llc Fixed Mobile Convergent Service in Enterprise Environments
US8102865B2 (en) * 2008-05-16 2012-01-24 Microsoft Corporation Group based allocation of network bandwidth
US20090300750A1 (en) * 2008-05-27 2009-12-03 Avaya Inc. Proxy Based Two-Way Web-Service Router Gateway
US8223631B2 (en) * 2008-05-30 2012-07-17 At&T Intellectual Property I, L.P. Systems and methods to monitor and analyze customer equipment downtime in a voice over internet protocol (VoIP) service network
US8125999B2 (en) * 2008-05-30 2012-02-28 At&T Intellectual Property I, L.P. Systems and methods to minimize customer equipment downtime in a voice over internet protocol (VOIP) service network
US8330795B2 (en) * 2008-06-13 2012-12-11 Polycom, Inc. Extended presence for video conferencing systems
US20090319674A1 (en) * 2008-06-24 2009-12-24 Microsoft Corporation Techniques to manage communications between relay servers
BRPI0802291A2 (pt) * 2008-06-24 2010-03-02 Adriano Jorge Barbosa Furtado sistema automÁtico de transmissço e recepÇço de dados em tempo real a uma central controladora
US8521312B2 (en) * 2008-08-06 2013-08-27 Honeywell International Inc. Apparatus and method for wireless access and control of process control instruments
US8363617B2 (en) * 2008-08-27 2013-01-29 Symbol Technologies, Inc. Selecting an access point from a plurality of access points
US20100058355A1 (en) * 2008-09-01 2010-03-04 Microsoft Corporation Firewall data transport broker
WO2010028028A1 (en) 2008-09-08 2010-03-11 Virginia Tech Intellectual Properties Systems, devices, and methods for managing energy usage
KR20100031467A (ko) * 2008-09-12 2010-03-22 한국전자통신연구원 전력관리장치 및 방법
US8588791B2 (en) * 2008-09-23 2013-11-19 Alcatel Lucent Method for providing IMS support for enterprise PBX users
US20100081415A1 (en) * 2008-09-29 2010-04-01 Prashant Chauhan Methods and arrangement for supporting multiple calls with a single carrier connection
US8930829B2 (en) * 2008-09-30 2015-01-06 Shoretel, Inc. Presence change alert
WO2010040010A1 (en) 2008-10-01 2010-04-08 Twilio Inc Telephony web event system and method
US8798586B2 (en) * 2008-10-30 2014-08-05 Blackberry Limited Apparatus, and associated method, for providing enterprise-controlled voice services to wireless devices
US9401855B2 (en) * 2008-10-31 2016-07-26 At&T Intellectual Property I, L.P. Methods and apparatus to deliver media content across foreign networks
US8849972B2 (en) * 2008-11-25 2014-09-30 Polycom, Inc. Method and system for dispatching received sessions between a plurality of instances of an application using the same IP port
US20100153538A1 (en) * 2008-12-12 2010-06-17 Janusz Hyziak System and Method for Communication Handling and Handoff
KR101489426B1 (ko) * 2008-12-24 2015-02-03 삼성전자주식회사 인터넷 전화 시스템에서 셀룰러 통화 녹음을 위한 장치 및 방법
US8213915B1 (en) * 2009-02-12 2012-07-03 Sprint Communications Company, L.P. HTTP session management
WO2010094331A1 (en) 2009-02-19 2010-08-26 Nokia Siemens Networks Oy Authentication to an identity provider
US8208931B2 (en) * 2009-02-26 2012-06-26 Research In Motion Limited PBX mobility system with multiple call legs
US8548171B2 (en) * 2009-02-27 2013-10-01 Cisco Technology, Inc. Pair-wise keying for tunneled virtual private networks
US20100222053A1 (en) * 2009-02-27 2010-09-02 Girisrinivasarao Athulurutirumala Arrangement and methods for establishing a telecommunication connection based on a heuristic model
US8983066B2 (en) * 2009-02-27 2015-03-17 Cisco Technology, Inc. Private pairwise key management for groups
JP5671484B2 (ja) 2009-03-02 2015-02-18 トゥイリオ インコーポレイテッドTwilio Inc. マルチテナント電話ネットワークのための方法およびシステム
US20100228825A1 (en) * 2009-03-06 2010-09-09 Microsoft Corporation Smart meeting room
CA2754906C (en) * 2009-03-10 2021-02-09 Baylor Research Institute Antigen presenting cell targeted fusion proteins comprising a linker for increased stability
US20100315483A1 (en) * 2009-03-20 2010-12-16 King Keith C Automatic Conferencing Based on Participant Presence
EP2234397A1 (en) * 2009-03-24 2010-09-29 Thomson Licensing Methods for delivering and receiving interactive multimedia data attached to an audio video content
US20130268598A1 (en) * 2009-03-31 2013-10-10 Voispot, Llc Dropped Call Notification System and Method
US20100257281A1 (en) * 2009-04-03 2010-10-07 Microsoft Corporation Peer Connections Over Alternative Communication Mechanisms
EP2417798A1 (en) * 2009-04-09 2012-02-15 Nokia Siemens Networks Oy Base station caching for an efficient handover in a mobile telecommunication network with relays
US8332755B2 (en) * 2009-05-27 2012-12-11 Microsoft Corporation Force-feedback within telepresence
US20100306670A1 (en) * 2009-05-29 2010-12-02 Microsoft Corporation Gesture-based document sharing manipulation
WO2010146661A1 (ja) * 2009-06-16 2010-12-23 富士通株式会社 無線通信システム
US11647243B2 (en) 2009-06-26 2023-05-09 Seagate Technology Llc System and method for using an application on a mobile device to transfer internet media content
US20120210205A1 (en) 2011-02-11 2012-08-16 Greg Sherwood System and method for using an application on a mobile device to transfer internet media content
CN102474790B (zh) * 2009-07-06 2015-11-25 瑞典爱立信有限公司 改进的控制节点
US8560471B2 (en) * 2009-08-10 2013-10-15 Yaacov Shama Systems and methods for generating leads in a network by predicting properties of external nodes
JP5675807B2 (ja) * 2009-08-12 2015-02-25 コニンクリーケ・ケイピーエヌ・ナムローゼ・フェンノートシャップ 動的なrtcpリレー
US9210275B2 (en) 2009-10-07 2015-12-08 Twilio, Inc. System and method for running a multi-module telephony application
US9137719B2 (en) * 2009-10-27 2015-09-15 Clearwire Ip Holdings Llc Multi-frequency real-time data stream handoff
WO2011056868A2 (en) 2009-11-04 2011-05-12 New Jersey Institute Of Technology Differential frame based scheduling for input queued switches
WO2011059974A2 (en) 2009-11-10 2011-05-19 Interdigital Patent Holdings, Inc. Collaborative session control transfer and inter-device transfer in internet protocol multimedia subsystem
US8385888B2 (en) * 2009-12-14 2013-02-26 Research In Motion Limited Authentication of mobile devices over voice channels
EP2522182A4 (en) * 2010-01-08 2013-09-11 Vonage Network Llc METHOD AND APPARATUS FOR ESTABLISHING CELLULAR ROAMING BYPASS CALL
US8356102B2 (en) * 2010-02-10 2013-01-15 Microsoft Corporation Selective connection between corresponding communication components involved in a teleconference
US20110216701A1 (en) 2010-03-04 2011-09-08 Interdigital Patent Holdings, Inc. Method and apparatus for identification and transfer in internet protocol multimedia subsystem collaborative sessions
TW201644253A (zh) 2010-03-18 2016-12-16 內數位專利控股公司 來漬轉移複製之授權iut複製及區別要求
US8732351B1 (en) 2010-04-07 2014-05-20 Applied Micro Circuits Corporation System and method for packet splitting
CA2721894C (en) * 2010-04-26 2013-07-30 Research In Motion Limited Systems and methods of voice call setup involving mobile devices
US8717404B2 (en) 2010-04-27 2014-05-06 Lifesize Communications, Inc. Recording a videoconference based on recording configurations
US8842153B2 (en) 2010-04-27 2014-09-23 Lifesize Communications, Inc. Automatically customizing a conferencing system based on proximity of a participant
JP2013530601A (ja) * 2010-05-05 2013-07-25 エスエムエスシイ・ホールディングス・エス エイ アール エル Wi−Fi設定及び構成のための方法及びシステム
US11606537B2 (en) * 2010-05-25 2023-03-14 Cisco Technology, Inc. System and method for scalable media switching conferencing
US9590849B2 (en) 2010-06-23 2017-03-07 Twilio, Inc. System and method for managing a computing cluster
US20120208495A1 (en) 2010-06-23 2012-08-16 Twilio, Inc. System and method for monitoring account usage on a platform
US9459925B2 (en) 2010-06-23 2016-10-04 Twilio, Inc. System and method for managing a computing cluster
US9459926B2 (en) 2010-06-23 2016-10-04 Twilio, Inc. System and method for managing a computing cluster
US8838707B2 (en) 2010-06-25 2014-09-16 Twilio, Inc. System and method for enabling real-time eventing
US8638717B2 (en) * 2010-08-20 2014-01-28 Time Warner Cable Enterprises Llc System and method for maintaining a communication session
US8566596B2 (en) * 2010-08-24 2013-10-22 Cisco Technology, Inc. Pre-association mechanism to provide detailed description of wireless services
US8699456B2 (en) * 2010-10-26 2014-04-15 Blackberry Limited Methods and apparatus for use in improving network coverage for voice or data calls
TWI411263B (zh) * 2010-12-09 2013-10-01 Softnext Technologies Corp Network monitoring method and its system
CN103210320B (zh) 2010-12-21 2016-01-13 英派尔科技开发有限公司 用于基于位置的服务中的位置隐私的虚拟信息
US9295096B1 (en) 2010-12-23 2016-03-22 Marvell International Ltd Reducing interference in multi-radio communication device
US8868700B2 (en) 2010-12-28 2014-10-21 Nant Holdings Ip, Llc Distributed network interfaces for application cloaking and spoofing
US8649268B2 (en) 2011-02-04 2014-02-11 Twilio, Inc. Method for processing telephony sessions of a network
US9264435B2 (en) * 2011-02-15 2016-02-16 Boingo Wireless, Inc. Apparatus and methods for access solutions to wireless and wired networks
US8509188B1 (en) 2011-02-16 2013-08-13 Sprint Communications Company L.P. Buffering user data in a core network interface for delivery over a wireless access network
US8923176B2 (en) * 2011-03-08 2014-12-30 Skype Saving power in a wireless communication device
US8798777B2 (en) 2011-03-08 2014-08-05 Packetvideo Corporation System and method for using a list of audio media to create a list of audiovisual media
TWI448108B (zh) * 2011-03-16 2014-08-01 Ind Tech Res Inst 視訊會議系統及方法
US9405285B2 (en) 2011-03-18 2016-08-02 Honeywell International Inc. Interface for local configuration and monitoring of an industrial field device with support for provisioning onto an industrial wireless network and related system and method
US9065813B2 (en) 2011-03-18 2015-06-23 Honeywell International Inc. Adapter device for coupling an industrial field instrument to an industrial wireless network and related system and method
WO2012147380A1 (ja) * 2011-04-27 2012-11-01 楽天株式会社 端末装置、データ受信方法、データ受信プログラム及び記録媒体
US9792188B2 (en) 2011-05-01 2017-10-17 Ruckus Wireless, Inc. Remote cable access point reset
US9648006B2 (en) 2011-05-23 2017-05-09 Twilio, Inc. System and method for communicating with a client application
WO2012162397A1 (en) 2011-05-23 2012-11-29 Twilio, Inc. System and method for connecting a communication to a client
US20140044123A1 (en) 2011-05-23 2014-02-13 Twilio, Inc. System and method for real time communicating with a client application
US9240010B2 (en) 2011-07-28 2016-01-19 Iii Holdings 1, Llc Systems and methods for generating and using a digital pass
GB2493348A (en) * 2011-07-29 2013-02-06 Intellectual Ventures Holding 81 Llc Mobile communications terminal with simplified handover
US8717400B2 (en) 2011-07-29 2014-05-06 Lifesize Communications, Inc. Automatically moving a conferencing based on proximity of a participant
US8929290B2 (en) 2011-08-26 2015-01-06 Qualcomm Incorporated In-band signaling to indicate end of data stream and update user context
US10182147B2 (en) 2011-09-21 2019-01-15 Twilio Inc. System and method for determining and communicating presence information
EP2763846B1 (en) * 2011-10-03 2017-01-11 Nokia Solutions and Networks Oy Apparatus and method for selecting voice bearer in reverse single radio voice call continuity
US8818417B2 (en) 2011-10-13 2014-08-26 Honeywell International Inc. Method for wireless device location using automatic location update via a provisioning device and related apparatus and system
US8605881B2 (en) 2011-10-31 2013-12-10 Blackberry Limited Auto promotion and demotion of conference calls
US8611877B2 (en) 2011-10-31 2013-12-17 Blackberry Limited Automatic management control of external resources
US9020119B2 (en) 2011-10-31 2015-04-28 Blackberry Limited Moderation control method for participants in a heterogeneous conference call
US20130170361A1 (en) * 2011-12-10 2013-07-04 Web3Tel Inc. System and Method of Interactive call control for calls and connections created in different communication networks
US8964533B2 (en) * 2011-12-14 2015-02-24 Verizon Patent And Licensing Inc. Method and system for providing mobile wireless call failover
US9491600B2 (en) 2011-12-22 2016-11-08 Vonage America Inc. Systems and methods for terminating telephony communications to mobile telephony devices
US8855612B2 (en) 2011-12-22 2014-10-07 Vonage Network, Llc. Systems and methods of terminating telephony communications to mobile telephony devices
US9020478B2 (en) 2011-12-22 2015-04-28 Vonage Network, Llc Systems and methods for terminating telephony communications to mobile telephony devices
US8989721B2 (en) 2011-12-22 2015-03-24 Vonage Network, Llc Systems and methods for terminating telephony communications to mobile telephony devices
US8744422B2 (en) 2011-12-22 2014-06-03 Vonage Network, Llc. Systems and methods for terminating telephony communications to mobile telephony devices
US8958785B2 (en) 2011-12-22 2015-02-17 Vonage Network, Llc Systems and methods for terminating telephony communications to mobile telephony devices
US8600364B2 (en) 2011-12-22 2013-12-03 Vonage Network, Llc Systems and methods for terminating telephony communications to mobile telephony devices
US8934882B2 (en) 2011-12-22 2015-01-13 Vonage Network, Llc Systems and methods for terminating telephony communications to mobile telephony devices
US9002336B2 (en) 2011-12-22 2015-04-07 Vonage Network, Llc Systems and methods for terminating telephony communications to mobile telephony devices
US9002335B2 (en) 2011-12-22 2015-04-07 Guy Fighel Systems and methods for terminating telephony communications to mobile telephony devices
US8756668B2 (en) 2012-02-09 2014-06-17 Ruckus Wireless, Inc. Dynamic PSK for hotspots
US9495227B2 (en) 2012-02-10 2016-11-15 Twilio, Inc. System and method for managing concurrent events
EP2645664A1 (en) * 2012-03-30 2013-10-02 Stopic, Bojan Authentication system and method for operating an authentication system
US9092610B2 (en) 2012-04-04 2015-07-28 Ruckus Wireless, Inc. Key assignment for a brand
CN106879047B (zh) * 2012-05-02 2020-06-09 阿里巴巴集团控股有限公司 近场传递信息的方法、信息传达和接受客户端、信息系统
US9602586B2 (en) 2012-05-09 2017-03-21 Twilio, Inc. System and method for managing media in a distributed communication network
US8887256B2 (en) * 2012-05-16 2014-11-11 Cable Television Laboratories, Inc. Establishing virtual private network session using roaming credentials
US8966598B2 (en) * 2012-05-25 2015-02-24 LiveQoS Inc. System and method for group video messaging service
US20150181000A1 (en) * 2012-05-31 2015-06-25 Silke Holtmanns Method and apparatus for signaling load management
US8917861B2 (en) 2012-06-05 2014-12-23 Symbol Technologies, Inc. Automated voice connection to a best-determined target
US9247062B2 (en) 2012-06-19 2016-01-26 Twilio, Inc. System and method for queuing a communication session
US8737962B2 (en) 2012-07-24 2014-05-27 Twilio, Inc. Method and system for preventing illicit use of a telephony platform
US9787845B2 (en) * 2012-08-03 2017-10-10 International Business Machines Corporation Threshold activated teleconferencing
US8938053B2 (en) 2012-10-15 2015-01-20 Twilio, Inc. System and method for triggering on platform usage
US8948356B2 (en) 2012-10-15 2015-02-03 Twilio, Inc. System and method for routing communications
CN103888630A (zh) 2012-12-20 2014-06-25 杜比实验室特许公司 用于控制声学回声消除的方法和音频处理装置
US9119123B2 (en) * 2013-03-13 2015-08-25 Motorola Solutions, Inc. Method and apparatus for performing Wi-Fi offload without interrupting service
US9282124B2 (en) 2013-03-14 2016-03-08 Twilio, Inc. System and method for integrating session initiation protocol communication in a telecommunications platform
US9392225B2 (en) * 2013-03-14 2016-07-12 Polycom, Inc. Method and system for providing a virtual cafeteria
GB2512081A (en) * 2013-03-19 2014-09-24 Vodafone Ip Licensing Ltd WLAN authentication restriction
US9497132B2 (en) 2013-04-23 2016-11-15 Telefonaktiebolaget Lm Ericsson (Publ) Method and system of implementing conversation-sensitive collection for a link aggregation group
US9497074B2 (en) 2013-04-23 2016-11-15 Telefonaktiebolaget L M Ericsson (Publ) Packet data unit (PDU) structure for supporting distributed relay control protocol (DRCP)
US9509676B1 (en) * 2013-04-30 2016-11-29 United Services Automobile Association (Usaa) Efficient startup and logon
US9430624B1 (en) * 2013-04-30 2016-08-30 United Services Automobile Association (Usaa) Efficient logon
US9240966B2 (en) 2013-06-19 2016-01-19 Twilio, Inc. System and method for transmitting and receiving media messages
US9225840B2 (en) 2013-06-19 2015-12-29 Twilio, Inc. System and method for providing a communication endpoint information service
US10397748B2 (en) * 2013-07-19 2019-08-27 AppCard, Inc. Methods and apparatus for cellular technology-based identification of a registered individual in a vicinity
US9483328B2 (en) 2013-07-19 2016-11-01 Twilio, Inc. System and method for delivering application content
ES2634909T3 (es) * 2013-07-26 2017-09-29 Deutsche Telekom Ag Procedimiento para la selección de acceso mejorada de un equipo de usuario en una red de telecomunicaciones celular, red de telecomunicaciones, y sistema para la selección de acceso mejorada de un equipo de usuario
US9274858B2 (en) 2013-09-17 2016-03-01 Twilio, Inc. System and method for tagging and tracking events of an application platform
US9137127B2 (en) 2013-09-17 2015-09-15 Twilio, Inc. System and method for providing communication platform metadata
US10824756B2 (en) 2013-09-20 2020-11-03 Open Text Sa Ulc Hosted application gateway architecture with multi-level security policy and rule promulgations
EP2851833B1 (en) 2013-09-20 2017-07-12 Open Text S.A. Application Gateway Architecture with Multi-Level Security Policy and Rule Promulgations
US9674225B2 (en) 2013-09-20 2017-06-06 Open Text Sa Ulc System and method for updating downloaded applications using managed container
US9342331B2 (en) * 2013-10-21 2016-05-17 International Business Machines Corporation Secure virtualized mobile cellular device
US10069649B2 (en) * 2013-11-06 2018-09-04 Citrix Systems, Inc. Systems and methods for performing service tag switching in an application delivery controller
US9325624B2 (en) 2013-11-12 2016-04-26 Twilio, Inc. System and method for enabling dynamic multi-modal communication
US9553799B2 (en) 2013-11-12 2017-01-24 Twilio, Inc. System and method for client communication in a distributed telephony network
US9125060B2 (en) 2013-11-22 2015-09-01 At&T Mobility Ii Llc Methods, systems, and computer program products for intercepting, in a carrier network, data destined for a mobile device to determine patterns in the data
US9917728B2 (en) 2014-01-14 2018-03-13 Nant Holdings Ip, Llc Software-based fabric enablement
US10044609B2 (en) * 2014-02-04 2018-08-07 Fastly, Inc. Communication path selection for content delivery
US9612587B2 (en) 2014-02-11 2017-04-04 Honeywell International Inc. Mobile extension for industrial operator consoles
US9521141B2 (en) 2014-02-12 2016-12-13 Bank Of America Corporation Caller validation
US9344573B2 (en) 2014-03-14 2016-05-17 Twilio, Inc. System and method for a work distribution service
US20150271228A1 (en) * 2014-03-19 2015-09-24 Cory Lam System and Method for Delivering Adaptively Multi-Media Content Through a Network
WO2015147710A1 (en) * 2014-03-26 2015-10-01 Telefonaktiebolaget L M Ericsson (Publ) Methods and equipment for management of playback buffers
US9226217B2 (en) 2014-04-17 2015-12-29 Twilio, Inc. System and method for enabling multi-modal communication
US8879507B2 (en) * 2014-05-27 2014-11-04 Bandwidth.Com, Inc. Techniques for establishing a communication handoff threshold using user feedback
US9014147B1 (en) * 2014-05-27 2015-04-21 Bandwidth.Com, Inc. Techniques for establishing a communication handoff threshold using user feedback
US8948134B2 (en) * 2014-05-27 2015-02-03 Bandwidth.Com, Inc. Techniques for establishing a communication handoff threshold using user feedback
US9686668B2 (en) 2014-05-30 2017-06-20 Vonage America Inc. Method and apparatus for intra-network roaming for IP telephony network
US9491610B2 (en) 2014-05-30 2016-11-08 Vonage America Inc. Method and apparatus for intra-network roaming for IP telephony network
US9774687B2 (en) 2014-07-07 2017-09-26 Twilio, Inc. System and method for managing media and signaling in a communication platform
US9251371B2 (en) 2014-07-07 2016-02-02 Twilio, Inc. Method and system for applying data retention policies in a computing platform
US9516101B2 (en) 2014-07-07 2016-12-06 Twilio, Inc. System and method for collecting feedback in a multi-tenant communication platform
US9246694B1 (en) 2014-07-07 2016-01-26 Twilio, Inc. System and method for managing conferencing in a distributed communication network
CN106576294B (zh) * 2014-08-26 2020-06-26 华为技术有限公司 网络通信方法和装置
US9906954B2 (en) 2014-10-20 2018-02-27 Payfone, Inc. Identity authentication
US9749428B2 (en) 2014-10-21 2017-08-29 Twilio, Inc. System and method for providing a network discovery service platform
EP3213468B1 (en) * 2014-10-29 2019-09-04 Kodiak Networks, Inc. System and method to leverage web real-time communication for implementing push-to-talk solutions
US20160149959A1 (en) * 2014-11-26 2016-05-26 Microsoft Technology Licensing, Llc Controlling a PBX Phone Call Via a Client Application
WO2016106074A1 (en) * 2014-12-23 2016-06-30 Bandwidth.Com, Inc. Techniques for executing a handoff profile between telecommunications networks
CA2974904A1 (en) * 2015-01-26 2016-08-04 Arris Enterprises Llc Automatic configuration of a wireless distribution system extended network
US10897763B2 (en) * 2015-01-30 2021-01-19 Itron Networked Solutions, Inc. Techniques for managing heterogenous nodes configured to support a homogeneous communication protocol
US9477975B2 (en) 2015-02-03 2016-10-25 Twilio, Inc. System and method for a media intelligence platform
US10623502B2 (en) 2015-02-04 2020-04-14 Blackberry Limited Link indication referring to content for presenting at a mobile device
WO2016128798A1 (en) * 2015-02-13 2016-08-18 Telefonaktiebolaget Lm Ericsson (Publ) Methods, apparatuses and computer program products for reducing media gap when connecting independent bearer paths
US10419891B2 (en) 2015-05-14 2019-09-17 Twilio, Inc. System and method for communicating through multiple endpoints
US9948703B2 (en) 2015-05-14 2018-04-17 Twilio, Inc. System and method for signaling through data storage
US9967793B2 (en) 2015-06-07 2018-05-08 Apple Inc. Systems and methods for avoiding stalls in network connectivity at a computing device
US10237236B2 (en) 2015-06-25 2019-03-19 Microsoft Technology Licensing, Llc Media Session
US11593075B2 (en) 2015-11-03 2023-02-28 Open Text Sa Ulc Streamlined fast and efficient application building and customization systems and methods
US9935857B1 (en) * 2015-12-17 2018-04-03 8X8, Inc. Analysis of system conditions from endpoint status information
CN105656915B (zh) * 2016-01-29 2019-01-18 腾讯科技(深圳)有限公司 即时通话方法、装置和系统
US10659349B2 (en) 2016-02-04 2020-05-19 Twilio Inc. Systems and methods for providing secure network exchanged for a multitenant virtual private cloud
US10110748B2 (en) 2016-02-11 2018-10-23 Kirusa, Inc. Routing incoming calls made to one or more unreachable numbers into a data client
WO2017139711A1 (en) * 2016-02-11 2017-08-17 Kirusa, Inc. Routing incoming calls made to one or more unreachable number into data client
US11388037B2 (en) 2016-02-25 2022-07-12 Open Text Sa Ulc Systems and methods for providing managed services
US9961194B1 (en) 2016-04-05 2018-05-01 State Farm Mutual Automobile Insurance Company Systems and methods for authenticating a caller at a call center
US10225153B2 (en) * 2016-04-18 2019-03-05 International Business Machines Corporation Node discovery mechanisms in a switchless network
US10218601B2 (en) 2016-04-18 2019-02-26 International Business Machines Corporation Method, system, and computer program product for configuring an attribute for propagating management datagrams in a switchless network
US10225185B2 (en) 2016-04-18 2019-03-05 International Business Machines Corporation Configuration mechanisms in a switchless network
US11044639B2 (en) * 2016-04-21 2021-06-22 Qualcomm Incorporated Techniques for transmission control protocol aware handover type determination
US10063713B2 (en) 2016-05-23 2018-08-28 Twilio Inc. System and method for programmatic device connectivity
US10686902B2 (en) 2016-05-23 2020-06-16 Twilio Inc. System and method for a multi-channel notification service
US10027816B2 (en) * 2016-08-03 2018-07-17 Pindrop Security, Inc. Call authentication using call forwarding
GB2553107B (en) * 2016-08-22 2022-07-20 Incall Ltd Method of verification
US10348784B2 (en) 2017-02-15 2019-07-09 Microsoft Technology Licensing, Llc Conferencing server directly accessible from public internet
US10541824B2 (en) * 2017-06-21 2020-01-21 Minerva Project, Inc. System and method for scalable, interactive virtual conferencing
CA3069023C (en) * 2017-07-07 2023-11-07 Arris Enterprises Llc Gateway function control via telephony/voice service
US11197192B2 (en) * 2017-08-09 2021-12-07 Beijing Xiaomi Mobile Software Co., Ltd. Network connection management method, device and system
CN109787877B (zh) * 2017-11-10 2020-12-25 智邦科技股份有限公司 箱型交换机、网络接口卡、及封包转送的管理方法
US10904217B2 (en) 2018-05-31 2021-01-26 Cisco Technology, Inc. Encryption for gateway tunnel-based VPNs independent of wan transport addresses
WO2019246506A1 (en) * 2018-06-21 2019-12-26 Securelogix Corporation Call authentication service systems and methods
TWI671634B (zh) * 2018-07-10 2019-09-11 立新 陳 第三方會議設備控制系統
EP3609108B1 (en) * 2018-08-09 2021-04-28 Tata Consultancy Services Limited Method and system for message based communication and failure recovery for fpga middleware framework
US10492105B1 (en) * 2018-08-20 2019-11-26 Verizon Patent And Licensing Inc. Establishing a low bitrate communication session with a high bitrate communication device
US10865069B2 (en) 2018-09-18 2020-12-15 Otis Elevator Company Effecting communication bridge with elevator system
WO2020081614A1 (en) * 2018-10-14 2020-04-23 Heap Richard Laurence Systems and method for control of telephone calls over cellular networks
US10791485B2 (en) 2018-10-16 2020-09-29 Cisco Technology, Inc. Systems and methods for quick user datagram protocol internet connection (QUIC) with multipath
CN109309689B (zh) * 2018-12-28 2019-04-05 中国人民解放军国防科技大学 一种报文来源真实性和内容完整性的验证方法
US11792454B2 (en) * 2019-04-01 2023-10-17 World Multicast, Inc. Method using adaptive-bit-rate playlists for dynamic server capacity and broadband handovers
CN111865747B (zh) * 2019-04-28 2021-11-16 中国移动通信集团上海有限公司 基于evpn的二层数据传输方法、装置、设备及介质
CN111614546A (zh) * 2020-04-30 2020-09-01 南京南瑞信息通信科技有限公司 用于oa系统的实时信息交互方法、装置及存储介质
US11190981B1 (en) * 2020-07-28 2021-11-30 Geoverse, LLC Systems and methods for monitoring and managing network traffic in a private cellular network
US11503526B2 (en) 2020-09-15 2022-11-15 International Business Machines Corporation Predictive communication compensation
CN114640701B (zh) * 2020-12-15 2024-04-05 中国电信股份有限公司 对业务专线自动停复机的方法及系统
BR112023023990A2 (pt) * 2021-05-19 2024-01-30 Prove Identity Inc Dispositivo de comunicações, método de autenticação de um dispositivo e artigo
CN113726741B (zh) * 2021-07-28 2024-01-19 浪潮电子信息产业股份有限公司 一种加速卡数据下载方法及相关装置

Family Cites Families (129)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US680725A (en) * 1900-10-20 1901-08-20 Patrick G Mccollam Propelling mechanism for bicycles.
US4349695A (en) * 1979-06-25 1982-09-14 Datotek, Inc. Recipient and message authentication method and system
US5260783A (en) 1991-02-21 1993-11-09 Gte Laboratories Incorporated Layered DCT video coder for packet switched ATM networks
US5440624A (en) * 1992-11-10 1995-08-08 Netmedia, Inc. Method and apparatus for providing adaptive administration and control of an electronic conference
US6698522B1 (en) * 1994-04-13 2004-03-02 Shaikh Ghaleb Mohammad Yassin Alhamad Hot water heater
EP0708536B8 (en) * 1994-05-07 2006-09-13 Ntt Mobile Communications Network Inc. Echo canceler and its learning method
US6088436A (en) * 1994-10-11 2000-07-11 Anip, Inc. Automated callback system
KR100198065B1 (ko) * 1995-06-28 1999-06-15 김영환 하드웨어 패킷 라우터의 목적지 어드레스 검출장치
US5790543A (en) * 1995-09-25 1998-08-04 Bell Atlantic Network Services, Inc. Apparatus and method for correcting jitter in data packets
US6345184B1 (en) * 1996-05-03 2002-02-05 Telefonaktiebolaget Lm Ericsson (Publ) Method, device and telecommunication system for providing a consistent set of services to a roaming user
US5974300A (en) * 1996-07-30 1999-10-26 Lucent Technologies Inc. Two-way wireless cellular messaging system
US6167123A (en) * 1996-09-20 2000-12-26 Siemens Information And Communication Networks, Inc. One number voice fax data PBX call discrimination
JPH10145835A (ja) * 1996-11-15 1998-05-29 Hitachi Ltd 移動通信システムにおけるハンドオーバ方法
EP0891114A1 (en) * 1997-07-12 1999-01-13 Telefonaktiebolaget Lm Ericsson Method and system for performing an optimised hand over
KR100241883B1 (ko) 1997-07-28 2000-02-01 윤종용 사설 교환기에서 내선과 통화중인 국선 호의 전환 방법
US6288739B1 (en) * 1997-09-05 2001-09-11 Intelect Systems Corporation Distributed video communications system
US6223055B1 (en) 1997-10-24 2001-04-24 Lucent Technologies, Inc. Wireless office architecture and method of operation thereof
US6587034B1 (en) * 1998-01-05 2003-07-01 Symbol Technologies, Inc. Data communication device
US6201608B1 (en) * 1998-03-13 2001-03-13 Optical Biopsy Technologies, Inc. Method and apparatus for measuring optical reflectivity and imaging through a scattering medium
US6073175A (en) * 1998-04-27 2000-06-06 International Business Machines Corporation Method for supporting different service levels in a network using web page content information
US6412015B1 (en) * 1998-06-24 2002-06-25 New Moon Systems, Inc. System and method for virtualizing and controlling input and output of computer programs
US6862622B2 (en) * 1998-07-10 2005-03-01 Van Drebbel Mariner Llc Transmission control protocol/internet protocol (TCP/IP) packet-centric wireless point to multi-point (PTMP) transmission system architecture
US6010456A (en) * 1998-12-30 2000-01-04 General Electric Company Method and apparatus for acoustic subtraction imaging using linear and nonlinear ultrasonic images
US6650640B1 (en) 1999-03-01 2003-11-18 Sun Microsystems, Inc. Method and apparatus for managing a network flow in a high performance network interface
US6873697B2 (en) * 1999-03-02 2005-03-29 Telefonaktiebolaget Lm Ericsson (Publ) Method and apparatus for handling telecommunications connections
JP2000308132A (ja) * 1999-04-19 2000-11-02 Nec Corp 構内交換システム
US6891820B1 (en) * 1999-07-06 2005-05-10 Broadcom Corporation Utilization of the internet protocol to facilitate communication involving mobile devices
US6603808B1 (en) * 1999-07-22 2003-08-05 Compaq Information Technologies Group, L.P. Dual mode phone line networking modem utilizing conventional telephone wiring
DE19935808A1 (de) * 1999-07-29 2001-02-08 Ericsson Telefon Ab L M Echounterdrückungseinrichtung zum Unterdrücken von Echos in einer Sender/Empfänger-Einheit
KR100582569B1 (ko) 1999-09-20 2006-05-23 삼성전자주식회사 내선 가입자의 호를 전환하여 보류시키는 방법
US6735192B1 (en) * 1999-09-29 2004-05-11 Lucent Technologies Inc. Method and apparatus for dynamically varying a packet delay in a packet network based on a log-normal delay distribution
US6798753B1 (en) * 1999-10-14 2004-09-28 International Business Machines Corporation Automatically establishing conferences from desktop applications over the Internet
US6665317B1 (en) 1999-10-29 2003-12-16 Array Telecom Corporation Method, system, and computer program product for managing jitter
US6622175B1 (en) * 1999-11-30 2003-09-16 Recursion Software, Inc. System and method for communications in a distributed processing environment
US6438737B1 (en) * 2000-02-15 2002-08-20 Intel Corporation Reconfigurable logic for a computer
US6876734B1 (en) * 2000-02-29 2005-04-05 Emeeting.Net, Inc. Internet-enabled conferencing system and method accommodating PSTN and IP traffic
US7830824B2 (en) * 2000-03-01 2010-11-09 Polycom, Inc. System and method for providing reservationless third party meeting rooms
US6763377B1 (en) * 2000-03-03 2004-07-13 International Business Machines Corporation Asset management and scheduling graphical user interface for media streamer
US6388584B1 (en) * 2000-03-16 2002-05-14 Lucent Technologies Inc. Method and apparatus for data compression of network packets
US6760303B1 (en) * 2000-03-29 2004-07-06 Telefonaktiebolaget Lm Ericsson (Publ) Channel-type switching based on cell load
KR100334558B1 (ko) * 2000-05-24 2002-05-03 윤종용 유.무선 복합구내 통신 방법 및 시스템
KR20020001980A (ko) 2000-06-29 2002-01-09 윤종용 유,무선 복합구내 통신 시스템에서 호전환 방법
US6862298B1 (en) * 2000-07-28 2005-03-01 Crystalvoice Communications, Inc. Adaptive jitter buffer for internet telephony
US6769123B1 (en) * 2000-09-07 2004-07-27 Cisco Technology, Inc. Method and apparatus of using a single computer program source code base to provide a program that is operable in either a client-server mode or a standalone mode
US6970943B1 (en) * 2000-10-11 2005-11-29 Nortel Networks Limited Routing architecture including a compute plane configured for high-speed processing of packets to provide application layer support
US6807525B1 (en) * 2000-10-31 2004-10-19 Telogy Networks, Inc. SID frame detection with human auditory perception compensation
US20020081736A1 (en) * 2000-11-03 2002-06-27 Conroy Susan E. Nucleic acid delivery
US6822943B1 (en) * 2000-11-08 2004-11-23 Orckit Communications Ltd. Network access multiplexer with protocol address translation
AU2002222322B2 (en) * 2000-12-05 2005-12-08 Sven Evensen Mobile branch exchange
US6801948B2 (en) * 2000-12-15 2004-10-05 Hewlett-Packard Development Company, L.P. System and method for a streams based network access control for a computer
US6967697B2 (en) * 2000-12-15 2005-11-22 Kopin Corporation Display housing with a display alignment device
US20020076025A1 (en) * 2000-12-18 2002-06-20 Nortel Networks Limited And Bell Canada Method and system for automatic handling of invitations to join communications sessions in a virtual team environment
US7039027B2 (en) * 2000-12-28 2006-05-02 Symbol Technologies, Inc. Automatic and seamless vertical roaming between wireless local area network (WLAN) and wireless wide area network (WWAN) while maintaining an active voice or streaming data connection: systems, methods and program products
US6768796B2 (en) * 2001-02-05 2004-07-27 3Com Corporation System and method for echo cancellation
AU2002243913A1 (en) * 2001-02-09 2002-08-28 Personal Genie, Inc. Calendaring systems and methods
US6647426B2 (en) * 2001-02-26 2003-11-11 Kineto Wireless, Inc. Apparatus and method for integrating an unlicensed wireless communications system and a licensed wireless communications system
US8503650B2 (en) * 2001-02-27 2013-08-06 Verizon Data Services Llc Methods and systems for configuring and providing conference calls
US6909702B2 (en) * 2001-03-28 2005-06-21 Qualcomm, Incorporated Method and apparatus for out-of-band transmission of broadcast service option in a wireless communication system
US20030046711A1 (en) * 2001-06-15 2003-03-06 Chenglin Cui Formatting a file for encoded frames and the formatter
US6934745B2 (en) * 2001-06-28 2005-08-23 Packeteer, Inc. Methods, apparatuses and systems enabling a network services provider to deliver application performance management services
US6870916B2 (en) * 2001-09-14 2005-03-22 Lucent Technologies Inc. Targeted and intelligent multimedia conference establishment services
AU2002343424A1 (en) * 2001-09-28 2003-04-14 Bluesocket, Inc. Method and system for managing data traffic in wireless networks
FR2832895B1 (fr) * 2001-11-26 2004-02-20 France Telecom Systeme de telecommunication a gestion centralisee
US6594984B1 (en) * 2002-01-15 2003-07-22 The Boeing Company Combined thrust and power generator for a satellite
US6907501B2 (en) * 2002-01-25 2005-06-14 Ntt Docomo Inc. System for management of cacheable streaming content in a packet based communication network with mobile hosts
US7489659B2 (en) 2002-01-29 2009-02-10 Koninklijke Philips Electronics N.V. Method and system for connecting mobile client devices to the internet
US7278157B2 (en) * 2002-03-14 2007-10-02 International Business Machines Corporation Efficient transmission of IP data using multichannel SOCKS server proxy
US7602893B2 (en) 2002-05-07 2009-10-13 Randeep Bhatia Method and system for supporting rendezvous based instant group conferencing among mobile users
AU2003240233A1 (en) * 2002-05-13 2003-11-11 Jettec Ab Method and arrangement for producing radiation
US7167715B2 (en) * 2002-05-17 2007-01-23 Meshnetworks, Inc. System and method for determining relative positioning in AD-HOC networks
US20030217149A1 (en) * 2002-05-20 2003-11-20 International Business Machines Corporation Method and apparatus for tunneling TCP/IP over HTTP and HTTPS
US7299033B2 (en) * 2002-06-28 2007-11-20 Openwave Systems Inc. Domain-based management of distribution of digital content from multiple suppliers to multiple wireless services subscribers
DE10229121B4 (de) * 2002-06-28 2005-06-30 Advanced Micro Devices, Inc., Sunnyvale Phasensystemdrehung zur Leistungsschätzung
US7006614B2 (en) * 2002-07-01 2006-02-28 Converged Data Solutions Llc Systems and methods for voice and data communications including hybrid key system/PBX functionality
US7133669B2 (en) 2002-08-02 2006-11-07 Pctel, Inc. Systems and methods for seamless roaming between wireless networks
US6826627B2 (en) * 2002-09-03 2004-11-30 Burnbag, Ltd. Data transformation architecture
US7899932B2 (en) * 2003-01-15 2011-03-01 Panasonic Corporation Relayed network address translator (NAT) traversal
JP2004241976A (ja) * 2003-02-05 2004-08-26 Nec Corp 移動通信ネットワークシステムおよび移動端末認証方法
US7272658B1 (en) * 2003-02-13 2007-09-18 Adobe Systems Incorporated Real-time priority-based media communication
US7010108B2 (en) * 2003-02-21 2006-03-07 Magicsoft Corporation Method for scheduling videoconferences
US7047310B2 (en) * 2003-02-25 2006-05-16 Motorola, Inc. Flow control in a packet data communication system
US7346025B2 (en) * 2003-02-28 2008-03-18 Lucent Technologies Inc. Portable wireless gateway
US7356015B2 (en) * 2003-05-02 2008-04-08 Steven Blumenthal Data handoff method between wireless local area network and wireless wide area network
US7448080B2 (en) 2003-06-30 2008-11-04 Nokia, Inc. Method for implementing secure corporate communication
US7529200B2 (en) * 2003-07-24 2009-05-05 3E Technologies International, Inc. Method and system for fast setup of group voice over IP communications
US20050018827A1 (en) 2003-07-25 2005-01-27 International Business Machines Corporation Conference call invitation with security
DE60323886D1 (de) * 2003-08-15 2008-11-13 Research In Motion Ltd Vorrichtung und assoziiertes verfahren zum erhalten von dienstqualitätsniveaus während der weiterreichung in einem funkkommunikationssystem
JP4185853B2 (ja) * 2003-11-28 2008-11-26 株式会社日立コミュニケーションテクノロジー 無線システム、サーバ、および移動局
US20050265284A1 (en) 2003-10-10 2005-12-01 Hsu Liangchi Alan Apparatus, and associated method, for facilitating communication handoff in multiple-network radio communication system
JP4466296B2 (ja) * 2003-10-17 2010-05-26 パナソニック株式会社 ハンドオーバ方法および移動通信システム
US7626975B2 (en) * 2003-11-05 2009-12-01 Telefonaktiebolaget Lm Ercisson (Publ) Method of synchronizing broadcast streams in multiple soft handoff sectors
US20050113077A1 (en) 2003-11-24 2005-05-26 Bushnell William J. System for providing interoperability of call pickup service in a proprietary enterprise communication network and a cellular communication network
FI20031779A0 (fi) * 2003-12-05 2003-12-05 Nokia Corp Menetelmä, järjestelmä ja lähetettävän puolen yhteyskäytäntöyksikkö datapakettien lähettämiseksi kuittaamattoman toimintamuodon palveluissa
US8010670B2 (en) * 2003-12-23 2011-08-30 Slipstream Data Inc. Meta-data based method for local cache utilization
US7804949B2 (en) * 2003-12-31 2010-09-28 Alcatel Lucent Client-based integration of PBX and messaging systems
FI20040076A0 (fi) * 2004-01-20 2004-01-20 Nokia Corp Autentikoinnit kommunikaatiojärjestelmässä
WO2005076649A1 (en) 2004-02-10 2005-08-18 Forward Information Technologies Sa Method and system for seamless handover of mobile devices in heterogenous networks
US20050201304A1 (en) * 2004-03-12 2005-09-15 Robert Olshansky Signaling mediation agent
WO2005089158A2 (en) * 2004-03-16 2005-09-29 Snowshore Networks, Inc. Jitter buffer management
US7281082B1 (en) * 2004-03-26 2007-10-09 Xilinx, Inc. Flexible scheme for configuring programmable semiconductor devices using or loading programs from SPI-based serial flash memories that support multiple SPI flash vendors and device families
US20050243814A1 (en) * 2004-04-16 2005-11-03 Vieo, Inc. Method and system for an overlay management system
US7239688B1 (en) * 2004-04-23 2007-07-03 At&T Corp. Method, architectures and technique for authentication of telephone calls
US7444454B2 (en) * 2004-05-11 2008-10-28 L-3 Communications Integrated Systems L.P. Systems and methods for interconnection of multiple FPGA devices
EP1613024A1 (en) * 2004-06-29 2006-01-04 Alcatel Alsthom Compagnie Generale D'electricite Method and call server for establishing a bidirectional peer-to-peer communication link
US8611893B2 (en) * 2004-07-02 2013-12-17 Cisco Technology, Inc. System and method for roaming between networks
EP1614857A1 (de) * 2004-07-05 2006-01-11 Siemens Aktiengesellschaft Strömungsmaschine mit einem Rotor der zumindest eine gebohrene Rotorscheibe aufweist
US20060036747A1 (en) * 2004-07-28 2006-02-16 Galvin James P Jr System and method for resource handling of SIP messaging
US20080317142A1 (en) 2005-07-29 2008-12-25 Qualcomm Incorporated System and method for frequency diversity
KR100587945B1 (ko) 2004-10-08 2006-06-09 (주)제너시스템즈 호 전환 서비스 제공 방법 및 시스템
JP4542872B2 (ja) * 2004-11-02 2010-09-15 パナソニック株式会社 Ip電話装置及びip電話システム
US20060285670A1 (en) 2005-05-26 2006-12-21 Lucent Technologies Inc. Method and apparatus for providing conference call services
US7639668B2 (en) * 2005-05-31 2009-12-29 Alcatel-Lucent Usa Inc. Method for securing RTS communications across middleboxes
US7538577B2 (en) * 2005-06-29 2009-05-26 Thomas Bollinger System and method for configuring a field programmable gate array
US8068460B2 (en) * 2005-07-14 2011-11-29 Toshiba America Research, Inc. Dynamic packet buffering system for mobile handoff
US7688739B2 (en) * 2005-08-02 2010-03-30 Trilliant Networks, Inc. Method and apparatus for maximizing data transmission capacity of a mesh network
US7835743B2 (en) * 2005-08-03 2010-11-16 Toshiba America Research, Inc. Seamless network interface selection, handoff and management in multi-IP network interface mobile devices
CA2560497C (en) * 2005-09-22 2014-05-13 Her Majesty The Queen In Right Of Canada, As Represented By The Ministerof Industry, Through The Communications Research Centre Canada Hybrid domain block equalizer
US20070081640A1 (en) * 2005-09-23 2007-04-12 Jack Jachner Presence and preference enabled voice response system and method
US20070081651A1 (en) * 2005-09-28 2007-04-12 Radha Iyer Method and apparatus for automatic conference call invocation based on user presence
US20070091848A1 (en) * 2005-10-03 2007-04-26 Snehal Karia Reducing data loss during handoffs in wireless communication
TWI284472B (en) * 2005-10-12 2007-07-21 Sunplus Technology Co Ltd Apparatus and method for adaptively correcting I/Q imbalance
US8243895B2 (en) * 2005-12-13 2012-08-14 Cisco Technology, Inc. Communication system with configurable shared line privacy feature
US8023479B2 (en) * 2006-03-02 2011-09-20 Tango Networks, Inc. Mobile application gateway for connecting devices on a cellular network with individual enterprise and data networks
US8150014B2 (en) * 2006-04-11 2012-04-03 Alcatel Lucent System and method for transitioning a voice session in progress over a communication network into a voice and data session
US7480500B1 (en) * 2006-06-14 2009-01-20 Divitas Networks, Inc. Divitas protocol proxy and methods therefor
US20090016333A1 (en) * 2006-06-14 2009-01-15 Derek Wang Content-based adaptive jitter handling
US7565159B2 (en) * 2006-06-14 2009-07-21 Divitas Networks, Inc. Methods and arrangement for implementing an active call handover by employing a switching component
US20080140767A1 (en) * 2006-06-14 2008-06-12 Prasad Rao Divitas description protocol and methods therefor
KR20080082288A (ko) * 2007-03-08 2008-09-11 삼성전자주식회사 원격제어가 가능한 휴대단말기 및 그 제어 방법

Also Published As

Publication number Publication date
TW200733764A (en) 2007-09-01
EP1932373A2 (en) 2008-06-18
KR20090007273A (ko) 2009-01-16
EP1934797A2 (en) 2008-06-25
EP1932375A2 (en) 2008-06-18
WO2007041652B1 (en) 2008-02-14
EP1932273A2 (en) 2008-06-18
WO2007041663A3 (en) 2008-04-10
WO2007041707A2 (en) 2007-04-12
US7546125B2 (en) 2009-06-09
TW200733645A (en) 2007-09-01
WO2007041651A2 (en) 2007-04-12
WO2007041662A2 (en) 2007-04-12
WO2007041654A2 (en) 2007-04-12
WO2007041651A3 (en) 2008-06-05
WO2007041704A3 (en) 2008-10-09
US7688820B2 (en) 2010-03-30
TW200733675A (en) 2007-09-01
WO2007041651B1 (en) 2008-07-17
WO2007041651A9 (en) 2007-06-14
WO2007041662A3 (en) 2007-10-04
US20070121580A1 (en) 2007-05-31
US20070091907A1 (en) 2007-04-26
EP1932280A2 (en) 2008-06-18
EP1932374A2 (en) 2008-06-18
WO2007041707A3 (en) 2008-10-30
TW200733765A (en) 2007-09-01
TW200733763A (en) 2007-09-01
US20080119165A1 (en) 2008-05-22
WO2007041654A3 (en) 2007-10-11
WO2007041663B1 (en) 2008-05-15
WO2007041652A3 (en) 2007-12-06
US20070094374A1 (en) 2007-04-26
US20070091848A1 (en) 2007-04-26
WO2007041663A2 (en) 2007-04-12
WO2007041704B1 (en) 2008-11-27
WO2007041652A2 (en) 2007-04-12
WO2007041704A2 (en) 2007-04-12
WO2007041662B1 (en) 2007-11-29
US20070207804A1 (en) 2007-09-06
TW200729976A (en) 2007-08-01
TW200746851A (en) 2007-12-16
US20070264989A1 (en) 2007-11-15

Similar Documents

Publication Publication Date Title
US7546125B2 (en) Enhancing user experience during handoffs in wireless communication
US20090215438A1 (en) Methods for performing transparent callback
US20090170557A1 (en) Systems and methods for enabling communication features utilizing various bearer media
US20090147772A1 (en) Systems and methods for providing presence information in communication
US7986665B2 (en) Conferencing PSTN gateway methods and apparatus to facilitate heterogeneous wireless network handovers for mobile communication devices
US8184590B2 (en) Method and system for handoff between wireless networks
JP5039612B2 (ja) パケットモードスピーチ通信
US20060217112A1 (en) System And Method For A Virtual Mobile Network
US20080140767A1 (en) Divitas description protocol and methods therefor
US7480500B1 (en) Divitas protocol proxy and methods therefor
US20090016333A1 (en) Content-based adaptive jitter handling
US20080317241A1 (en) Code-based echo cancellation
US20060120351A1 (en) Method and system for providing cellular voice, messaging and data services over IP networks to enterprise users
TW200816753A (en) DiVitas protocol proxy and methods therefor
Mills-Tettey Mobile Voice Over IP (MVOIP): An Application-level Protocol

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid