KR20180032524A - 클라우드 컴퓨팅 통신 플랫폼 - Google Patents

클라우드 컴퓨팅 통신 플랫폼 Download PDF

Info

Publication number
KR20180032524A
KR20180032524A KR1020177029289A KR20177029289A KR20180032524A KR 20180032524 A KR20180032524 A KR 20180032524A KR 1020177029289 A KR1020177029289 A KR 1020177029289A KR 20177029289 A KR20177029289 A KR 20177029289A KR 20180032524 A KR20180032524 A KR 20180032524A
Authority
KR
South Korea
Prior art keywords
communication
communication session
call
cloud
application
Prior art date
Application number
KR1020177029289A
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 KR20180032524A publication Critical patent/KR20180032524A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/40Support for services or applications
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/12Arrangements for remote connection or disconnection of substations or of equipment thereof
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • 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/1101Session protocols
    • H04L65/1104Session initiation protocol [SIP]
    • 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
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/141Setup of application sessions
    • H04L67/16
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/51Discovery or management thereof, e.g. service location protocol [SLP] or web services
    • 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/08Protocols for interworking; Protocol conversion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3215Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a plurality of channels
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M7/00Arrangements for interconnection between switching centres
    • H04M7/006Networks other than PSTN/ISDN providing telephone service, e.g. Voice over Internet Protocol (VoIP), including next generation networks with a packet-switched transport layer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/06Authentication
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Multimedia (AREA)
  • General Business, Economics & Management (AREA)
  • Business, Economics & Management (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Telephonic Communication Services (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

통화 전환, 음성 메일, 통화 라우팅, 전화 회의, 스마트 홀드, 통화 녹음, 화면 공유, 실시간, 지연된 및 대화후 통화 키워드 성능 분석, 발신자 성향 분석, 실시간 언어 번역, 비디오 통화, 자동 통화 응답, 상황별 대기중 메시징, 하나의 디바이스로부터 다른 디바이스로의 무중단 통화 이동 등을 비롯한 상이한 통신 세션 서비스들을 갖는 클라우드 기반 통신 시스템.

Description

클라우드 컴퓨팅 통신 플랫폼
개선사항들은 일반적으로 통신 시스템의 분야에 관한 것이다. 상세하게는, 개선사항들은 일반적으로 클라우드 컴퓨팅 기반 통신 시스템의 분야에 관한 것이다.
전통적인 통신 시스템들은 글로벌 전화 네트워크를 제공하는 전선들(예컨대, 구리 전선들), 케이블들(예컨대, 광섬유 케이블들) 및 교환기(switch)들의 PSTN(public switched telephone network)에 기초한다. 클라우드 컴퓨팅 기반 통신 시스템들은 통화 연결을 위해 사용되는 네트워크의 적어도 일부분에 대해 인터넷을 사용한다. VoIP(Voice over Internet Protocol)는 인터넷을 통해 전화 음성 및 비디오 데이터를 전송하는 데 사용되는 기술 프로토콜이다. 비즈니스 통신 시스템들은 다양한 단편화된 전화 서비스들을 제공할 수 있다. 비즈니스 또는 다른 통신 연결 서비스들, 또는 적어도 대안들을 위한 개선된 통합된 클라우드 컴퓨팅 기반 통신 시스템들에 대한 필요성이 존재한다. 포괄적인 클라우드 기반 시스템에서 다양한 특징들을 통합(integrate)하는 응집형 통신 플랫폼(cohesive telecommunications platform)에 대한 필요성이 존재한다.
일 양태에 따르면, 통신 교환 플랫폼(telecommunications switching platform)을 갖는 클라우드 기반 통신 시스템이 제공된다.
클라우드 컴퓨팅 통신 교환기 디바이스(cloud computing telecommunications switch device)는 통신 세션 연결 및 데이터 패킷 교환을 구축(establish)하기 위해 상이한 유형들 및 포맷들의 다수의 클라이언트 디바이스들에 끊김없이(seamlessly) 그리고 실시간으로 연결한다. 데이터 패킷들은 음성, 비디오, 메시징, 화면 방송(screen broadcasting), 회의(conferencing), 비디오/음성 등일 수 있다.
클라우드 기반 통신 시스템은 통신 세션 연결 및 데이터 패킷 교환을 구축하기 위해 통신 서버 플랫폼과 클라이언트 디바이스들 사이의 실시간 양방향 소켓 데이터 스트림 연결을 사용한 클라우드 기반 분산 통신 세션 처리를 위한 통신 서버 플랫폼을 가질 수 있다.
클라우드 기반 통신 시스템은 실시간 통신 세션 디스플레이 모니터링 및 관리자 클라이언트 디바이스(manager client device)와의 양방향 상호작용을 제공하는 LCC(Live Call Communicator) 인터페이스를 갖는 통신 서버 플랫폼을 가질 수 있다.
클라우드 기반 통신 서버 플랫폼은 진행 중인 통신 세션을 중단시키지 않으면서 통신 세션 연결을 하나의 디바이스로부터 다른 디바이스로 끊김없이 이동시키는 클라우드 기반 통화 이동 애플리케이션(cloud based Move Call application)을 구성할 수 있다.
클라우드 기반 통신 교환 플랫폼은 통신 세션 관련 데이터에 기초하여 동적으로 그리고 자동으로 선택되어 클라이언트 디바이스에게 전달될 대기중 메시징(on-hold messaging)을 선택하기 위한 스마트 홀드 애플리케이션(Smart Hold application)을 구성한다.
클라우드 기반 통신 교환 플랫폼은, 예를 들어, 발신자 ID 번호(caller ID number), 다이얼링한 번호(dialed number), 선호사항들, 통화 발신지의 SIP(session initiation protocol) 주소, 또는 다른 통화 관련 데이터와 같은 통신 세션 관련 데이터를 처리할 수 있다.
클라우드 기반 통신 교환 플랫폼은 동적 입력 및 라우팅 기준들을 사용하여 네트워크 하드웨어 컴포넌트들을 통한 통신 세션(음성, 비디오, 메시징) 디바이스들 간의 통신 세션 연결 데이터 패킷들의 라우팅을 제어하는 트래픽 관리 애플리케이션을 구성한다.
다른 양태에서, 클라우드 기반 통신 시스템을 위한 네트워크 제어기가 제공된다.
프로세서는 복수의 지리적으로 다양한 통신 서버들 및 네트워크 인프라스트럭처를 사용하는 통신 세션 디바이스들 간의 통화 연결에 대한 요청을 검출한다. 이에 응답하여, 프로세서는 복수의 이질적 디바이스들 간의 통화 연결을 위해 복수의 지리적으로 다양한 통신 서버들에 걸친 분산을 결정한다.
라우팅 하드웨어는 복수의 지리적으로 다양한 통신 서버들에 걸친 분산을 사용하여 복수의 이질적 디바이스들 사이의 통신 세션 연결을 구축한다.
클라우드 기반 통신 시스템은 디스플레이 디바이스 상에 디스플레이하기 위해 그래픽 사용자 인터페이스에 결합된 전환 애플리케이션(transfer application)을 갖는 클라우드 기반 분산 통신 세션 처리를 위한 통신 서버 플랫폼을 가질 수 있다. 전환 애플리케이션은 그래픽 사용자 인터페이스에서 전환 동작(transfer action)을 검출한 것에 응답하여 통신 서버 플랫폼을 사용하여 통신 세션 연결을 적어도 하나의 다른 통화 디바이스로 전환한다.
클라우드 기반 통신 시스템은 디스플레이 디바이스 상에 디스플레이하기 위해 그래픽 사용자 인터페이스에 결합된 회의 애플리케이션(conference application)을 갖는 클라우드 기반 분산 통신 세션 처리를 위한 통신 서버 플랫폼을 갖는다. 회의 애플리케이션은 그래픽 사용자 인터페이스에서 단일 동작을 검출한 것에 응답하여 통신 서버 플랫폼을 사용하여 이질적 디바이스들 간의 회의 통신 세션 연결을 구축한다.
클라우드 기반 통신 시스템은 2차 인증 레벨(secondary level of authentication)을 갖는 통신 서버 플랫폼을 사용하여 적어도 하나의 다른 통화 디바이스에의 통신 세션 연결을 보호하기 위한 보안 애플리케이션(security application)을 갖는 클라우드 기반 분산 통신 세션 처리를 위한 통신 서버 플랫폼을 갖는다.
클라우드 기반 통신 시스템은 클라우드 기반 분산 통신 세션 처리를 위한 통신 서버 플랫폼, 음성 메일 파일들을 갖는 데이터 저장 서버를 가지며, 슬라이싱 및 스크램블링 프로세스를 사용하여 음성 메일 파일들을 보호하기 위한 보안 애플리케이션을 구성한다.
클라우드 기반 통신 시스템은 클라우드 기반 분산 통신 세션 처리를 위한 통신 서버 플랫폼, 음성 메일 파일들을 갖는 데이터 저장 서버를 가지며, 외부 동작(external action)들을 트리거하기 위해 음성 메일 파일들을 처리하기 위한 NLP 애플리케이션을 구성한다.
클라우드 기반 통신 시스템은 클라우드 기반 분산 통신 세션 처리를 위한 통신 서버 플랫폼, 및 외부 동작들을 트리거하기 위해 진행 중인 통신 세션에 대한 데이터 파일들을 처리하기 위한 NLP 애플리케이션을 갖는다.
클라우드 기반 통신 시스템은 본원에 기술되는 컴포넌트들의 상이한 조합들을 가질 수 있다.
다른 양태에서, 실시예들은 또한 클라우드 기반 통신 시스템의 하드웨어 컴포넌트들을 사용하는 프로세스들 및 제품들에 관한 것이다.
본원에 기술되는 실시예들에 관한 많은 추가의 특징들 및 이들의 조합들은 본 개시내용을 읽은 후에 본 기술분야의 통상의 기술자에게 안출될 것이다.
도 1은 일부 실시예들에 따른 서버 플랫폼 및 확장 디바이스 상호연결들의 개략도;
도 2는 일부 실시예들에 따른 서버 프로세서의 개략도;
도 3은 일부 실시예들에 따른 LCL(Live Communications Link)을 갖는 클라우드 기반 통신 서비스들을 위한 서버 플랫폼의 개략도;
도 4는 일부 실시예들에 따른 LCC(Live Call Communications Layer)를 포함하는 클라우드 기반 통신 서비스들을 위한 다른 서버 플랫폼의 개략도;
도 5는 일부 실시예들에 따른 버퍼 데이터 복제 계층(Buffer Data Duplication Layer)의 개략도;
도 6은 일부 실시예들에 따른 스마트 홀드 애플리케이션을 갖는 클라우드 기반 통신 서비스들을 위한 다른 서버 플랫폼의 개략도;
도 7은 일부 실시예들에 따른 스마트 홀드 애플리케이션을 포함하는 클라우드 기반 통신 서비스들을 위한 서버 플랫폼의 개략도;
도 8은 일부 실시예들에 따른 트래픽 관리 애플리케이션을 갖는 클라우드 기반 통신 서비스들을 위한 서버 플랫폼의 개략도;
도 9는 일부 실시예들에 따른 분산 네트워크 처리의 개략도;
도 10은 일부 실시예들에 따른 전환 애플리케이션을 갖는 클라우드 기반 통신 서비스들을 위한 서버 플랫폼의 개략도;
도 11 내지 도 14는 일부 실시예들에 따른 사용자 인터페이스들의 스크린샷들을 나타낸 도면;
도 15는 일부 실시예들에 따른 회의 애플리케이션을 갖는 클라우드 기반 통신 서비스들을 위한 서버 플랫폼의 개략도;
도 16은 일부 실시예들에 따른 NLP 분석 엔진을 갖는 클라우드 기반 통신 서비스들을 위한 서버 플랫폼의 개략도;
도 17은 일부 실시예들에 따른 NLP 분석을 갖는 클라우드 기반 통신 서비스들을 위한 프로세스의 흐름도;
도 18은 일부 실시예들에 따른 통신 문구 검출(communication phrase detection)을 갖는 클라우드 기반 통신 서비스들을 위한 서버 플랫폼의 개략도;
도 19는 일부 실시예들에 따른 보안 연결의 개략도;
도 20은 일부 실시예들에 따른 보안 음성 메일을 갖는 클라우드 기반 통신 서비스들을 위한 서버 플랫폼의 개략도;
도 21은 일부 실시예들에 따른 클라우드 기반 통신 서비스들을 위한 다른 서버 플랫폼의 개략도;
도 22 내지 29는 일부 실시예들에 따른 사용자 인터페이스들의 스크린샷들을 나타낸 도면.
본원에 기술되는 실시예들은 클라우드 컴퓨팅 통신 네트워크들 및 시스템들에 관한 것이다. 본원에 기술되는 실시예들은 서버 플랫폼을 사용하는 클라우드 컴퓨팅 기반 통신 서비스들을 제공할 수 있다. 서버 플랫폼은 통화 또는 다른 통신 세션 연결을 위해 사용되는 네트워크의 적어도 일부분에 대해 인터넷을 사용하여 통신 및 다른 형태의 전자 메시징 서비스들을 제공하며, 통화 연결의 다른 부분들을 위해 PSTN, 셀룰러 등과 같은 다른 네트워크들도 사용할 수 있다. 통신 서버 플랫폼은, 음성 데이터를 전송하고, 통화 전환(call transfer), 음성 메일, 통화 라우팅(call routing), 전화 회의, 스마트 홀드, 통화 녹음, 화면 공유, 실시간, 지연된 및 대화후 통화 키워드 성능 분석(real-time, delayed and post conversation call keyword performance analytics), 발신자 성향 분석(caller disposition analysis), 실시간 언어 번역, 비디오 통화(video calling), 자동 통화 응답(automated call answering), 상황별 대기중 메시징(context sensitive on-hold messaging), 하나의 디바이스로부터 다른 디바이스로의 무중단 통화 이동(no interruption move call) 등을 비롯한 비즈니스 통신 서비스들을 제공하기 위해, VoIP 기술을 구현한다.
디바이스 연결
본원에 기술되는 실시예들은 클라우드 기반 통신 서비스들을 제공하기 위해 서버 플랫폼이 상이한 클라이언트 디바이스들에 연결하는 클라우드 컴퓨팅 통신 시스템들에 관한 것이다.
디바이스 독립적 확장(Device Independent Extension)
일 양태에 따르면, 본원에 기술되는 실시예들은 통신 교환 플랫폼 그리고 이질적 유형들 및 포맷들의 다수의 디바이스들에 끊김없이 그리고 실시간으로 연결하는 클라우드 컴퓨팅 통신 교환기 디바이스에 관한 것이다.
도 1은, 일부 실시예들에 따른, 물리적 상호연결들을 갖는 통신 서버 플랫폼(10) 및 확장 디바이스(20)의 일 예를 도시하고 있다. 통신 서버 플랫폼(10) 및 확장 디바이스(들)(20)는 클라우드 기반 통신 서비스와 관련하여 각종의 상이한 클라이언트 디바이스들(28)을 사용할 수 있게 한다. 서버 플랫폼(10) 및 확장 디바이스들(20)은 디바이스들에 대한 이질적 표준들, 프로토콜들, 유형들 및 포맷들에 걸쳐 "통화 당사자(party on call)" 또는 외부 사용자 디바이스들(28)에게 이중 인증 프로세스(two factor authentication process)를 통한 보안 연결을 제공한다.
서버 플랫폼(10)은 통신 디바이스들, 교환기들, 및 데이터 저장소가 인터넷 기반 네트워크 인프라스트럭처를 갖는 네트워크들(18)을 통해 액세스되는 클라우드 컴퓨팅 통신 시스템을 제공한다. 통신 서버 플랫폼(10)은 종래의 비즈니스 통신 장비(예를 들어, PBX 등)를 VoIP(voice over Internet Protocol) 인프라스트럭처로 대체하는 것에 의해 통신 또는 전화 음성 서비스들을 제공한다.
통신 서버 플랫폼(10)은 디바이스(들)(20)와 외부 사용자 연결 디바이스(outside user connected device)들(28) 간의 음성, 비디오, 메시징, 및 다른 연결들을 핸들링한다. 통신 서버 플랫폼(10)은 클라우드 컴퓨팅 구성에서 네트워크(18)를 통해 외부 사용자 연결 디바이스들(28)에 연결한다. 서버 플랫폼(10)은, 네트워크(18)를 통해, 클라우드 컴퓨팅 또는 다른 구성에서의 확장 디바이스(20), 및 외부 사용자 디바이스들(28)에 연결한다. 간단함을 위해 단지 하나의 외부 사용자 디바이스(28)가 도시되어 있지만 하나 이상의 확장 디바이스들(20)에 연결된 다수의 외부 사용자 디바이스들(28)이 있을 수 있다. 디바이스 프로토콜이 통신 서버 플랫폼(10)에 의해 (디바이스 검출 및 변환 계층(16)을 통해) 검출되고 실시간으로 변환되는 논리적 연결이 구축된다.
확장 디바이스(20)는 주어진 포맷의 최종 사용자 디바이스이다. 확장 디바이스(20)는, 데스크톱 SIP 폰(desktop SIP phone), 모바일 디바이스, 태블릿 디바이스, 팩스 디바이스, 멀티미디어 디바이스, 비디오 디바이스, 또는 다른 통신 또는 텔레프레즌스(telepresence) 디바이스를 비롯한, 하드웨어 및 소프트웨어 컴포넌트들을 갖는 물리적 컴퓨팅 디바이스이다. 확장 디바이스(20)는 다양한 포맷들, 유형들 및 표준들의 다수의 디바이스들을 단일 사용자에게 동시에 등록한다. 이것은 사용자가 하나의 논리적 내선번호(logical extension)에 등록된 다수의 유형들의 통신 디바이스들을 가질 수 있게 한다. 확장 디바이스(20)는 사용자가 몇 개의 디바이스들(20)을 디바이스 포맷 및 유형에 상관없이 단일의 논리적 내선번호에 등록할 수 있게 한다. 확장 디바이스(20)는 하나의 디바이스 유형과 다른 디바이스 유형 간의 투명성(transparency) 및 연결성(connectivity)을 허용하기 위해 다수의 디바이스 유형들을 지원한다. 디바이스 독립성(device independence)은 사용자가 동일한 논리적 내선번호에 있는 이질적 디바이스들(28)(예컨대, 스마트폰, 데스크톱, 팩스, 비디오, 메시징 클라이언트, 소프트웨어 클라이언트, 태블릿 등) 모두를 사용할 수 있게 한다. 연결된 디바이스의 ID(identity) 및 데이터의 보안을 보장하기 위해, 등록이, 이중 권한부여 프로세스(two factor authorization process)를 사용하여, 허용된 디바이스들로 제한될 수 있다.
확장 디바이스(20)는 클라이언트 디바이스 특징들 및 능력들을 극대화하기 위해 사용자의 상이한 유형들의 디바이스들(20)을 통합(aggregate)시킨다. 확장 디바이스(20)는 사용자가 다수의 디바이스들(20)로부터의 특징들 및 능력들을 매끄럽게 통합할 수 있도록 디바이스에 적절한 풍부한 사용자 경험(device appropriate rich user experience)을 제공한다. 통신 서버 플랫폼(10)은, 사용자가 다수의 외부 클라이언트 디바이스들(28)과 함께 상이한 목적들을 위해 상이한 디바이스들(20)을 사용할 수 있도록, 동일한 사용자 확장 디바이스(20)를 통해 상이한 디바이스들(20)에 연결한다.
예시적인 예로서, 통신 서버 플랫폼(10)은 사용자가, 확장 디바이스(20) 및 통신 서버 플랫폼(10)이 안전한 방식으로 각종의 디바이스들(20, 28)에 연결하는 사무실로부터, 멀리 떨어져 작업할 수 있게 한다. 사용자는 그의 원격 사무실을 위해 또는 다른 통신 요구들을 위해 상이한 디바이스들(20)을 사용할 수 있다. 예를 들어 그리고 제한 없이, 디바이스(20)는 서버, 네트워크 기기, 셋톱 박스, 임베디드 디바이스, 컴퓨터 확장 모듈, 텔레프레즌스 단말, 개인용 컴퓨터, 랩톱, PDA(personal data assistant), 셀룰러 디바이스, 모바일 디바이스, 페이징 디바이스, 메시징 클라이언트, 멀티미디어 디바이스, 통신 디바이스, 스마트폰 디바이스, UMPC 태블릿, 비디오 디스플레이 단말, 게임 콘솔, 전자 판독 디바이스, 및 무선 하이퍼미디어 디바이스 또는 임의의 다른 컴퓨팅 디바이스일 수 있다.
통신 서버 플랫폼(10)은 클라우드 기반 통신 교환 환경을 제공한다. 통신 서버 플랫폼(10) 및 확장 디바이스(20)는 사용자 디바이스(28)와 진행 중인 통화 또는 통신 세션(음성, 비디오, 데이터 메시징 등)을 하나의 확장 디바이스(20)로부터 이질적인 또는 상이한 유형들 및 포맷들의 다른 디바이스(20)로 끊김없이 이동시킨다.
통신 서버 플랫폼(10)은, 도 5에 더욱 상세히 도시되어 있는, 비동기 데이터(비트 레벨) 버퍼(14)를 포함한다. 비동기 데이터(비트 레벨) 버퍼(14)는 데이터 스트림(901)을 2개의 디바이스들(20)에 동시에 복제한다. 통화 세션이 하나의 디바이스(20)로부터 다른 디바이스(20)로 전환되거나 이동될 때, 제2 데이터 스트림(903)은 관련 데이터 전송이 제2 데이터 스트림(902)의 디바이스(20) 상에서 검출된 후에 연결 해제된다. 제2 디바이스 스트림(902)이 인에이블될 때, 심지어 레벨들에서 임의의 오디오 음량 불일치들을 일치시키기 위해 자동 이득 제어(AGC)가 적용된다. 제1 디바이스(20) 상에서 데이터 스트림을 계속 전송하는 것은 사용자 디바이스(28)에 있는 다른 연결된 당사자에 의해 청각적으로 지각될 수 없는 끊김없는 전환을 제공한다.
통신 서버 플랫폼(10) 및 확장 디바이스(20)는, 디바이스(28)에 있는 다른 당사자가 통화 또는 통신 세션이 복수의 이질적 표준들에 따라 다른 디바이스(20)로 이동되었다는 것을 지각함이 없이, 통화 또는 통신 세션을 이동시킨다. 통화는, 본원에서 사용되는 바와 같이, 음성, 비디오, 데이터 메시징 등을 비롯한, 상이한 통신 세션들을 지칭할 수 있다.
간단함을 위해, 단지 하나의 통신 서버 플랫폼(10)이 도시되어 있지만, 시스템은 중복적인 또는 유사한 구성으로 보다 많은 통신 서버 플랫폼들(10)을 포함할 수 있다. 이와 유사하게, 단지 간단함을 위해, 시스템은 하나 이상의 확장 디바이스들(20)을 포함할 수 있고, 하나 이상의 외부 최종 사용자 디바이스들(28)에 연결할 수 있다.
통신 서버 플랫폼(10)은 서버 프로세서(12)(도 2), 비트 레벨 버퍼 디바이스(14)(도 5), 검출 및 변환 디바이스(16), 및 메시지 교환 계층(Message Switching layer)(900)을 포함한다. 검출 및 변환 디바이스(16)는 착신 메시지의 프로토콜을 결정하고, 그 프로토콜을, 이질적 프로토콜의 다른 디바이스(20, 28)와 통신하기 위해, 실시간으로 변환한다. 통신 서버 플랫폼(10)은 프로토콜들(예컨대, WebRTC, T1/E1, ISDN, SIP Stack, PSTN 등) 간에 통신하고 변환하는 프로토콜 인터페이스(904)를 포함한다. 이것은 필요에 따라 PSTN 및 다른 통신 프로토콜들에 대한 에코 제거(echo cancellation)를 포함한다.
도 2는, 일 실시예의 예인, 서버 프로세서(12)의 개략도이다. 통신 서버 플랫폼(10)은 클라우드 기반 또는 다른 구성에서 통신 애플리케이션들 및 서비스들을 제공하기 위해 서버 프로세서(12)를 사용한다. 이 애플리케이션들은 메시지 교환, 회의 브리지(conferencing bridge)들, 채팅, 비디오 통화, 팩스, 음성, 메시징, 화면 공유 등을 포함한다.
서버 프로세서(12)는 적어도 하나의 프로세서(30), 메모리(32) 및/또는 데이터 저장 디바이스(905)(휘발성 메모리 또는 비휘발성 메모리 또는 다른 데이터 저장 요소들 또는 이들의 조합을 포함함), 그리고 적어도 하나의 통신 인터페이스(예컨대, I/O 인터페이스(34), 네트워크 인터페이스(36))를 포함한다. 서버 프로세서(12) 컴포넌트들은, 직접적으로 결합되는 것, 네트워크를 통해 간접적으로 결합되는 것, 및 넓은 지리적 영역에 걸쳐 분산되고 네트워크를 통해 연결되는 것(클라우드 컴퓨팅이라고 지칭될 수 있음)을 비롯한 다양한 방식들로 연결될 수 있다.
각각의 프로세서(30)는, 예를 들어, 마이크로프로세서 또는 마이크로컨트롤러, 디지털 신호 처리(DSP) 프로세서, 집적 회로, FPGA(field programmable gate array), 재구성가능 프로세서(reconfigurable processor), PROM(programmable read-only memory), 또는 이들의 임의의 조합일 수 있다.
메모리(32) 또는 데이터 저장 디바이스(905)는, 예를 들어, RAM(random-access memory), ROM(read-only memory), CDROM(compact disc read-only memory), NVRAM(non-volatile RAM), 전기 광학 메모리(electro-optical memory), 자기 광학 메모리(magneto-optical memory), EPROM(erasable programmable read-only memory), 및 EEPROM(electrically-erasable programmable read-only memory), FRAM(Ferroelectric RAM) 등과 같은 내부에 또는 외부에 위치된 임의의 유형의 컴퓨터 메모리의 적당한 조합을 포함할 수 있다.
각각의 I/O 인터페이스(34)는 서버 프로세서(12)가, 키보드, 마우스, 카메라, 터치스크린 및 마이크로폰과 같은, 하나 이상의 입력 디바이스들과, 또는, 디스플레이 화면 및 스피커와 같은, 하나 이상의 출력 디바이스들과 상호연결할 수 있게 한다.
각각의 네트워크 인터페이스(36)는 서버 프로세서(12)가, 인터넷, 이더넷, POTS(plain old telephone service) 회선, PSTN(public switch telephone network), ISDN(integrated services digital network), DSL(digital subscriber line), 동축 케이블, 광섬유, T1/E1, 위성, 모바일, 무선(예컨대, Wi-Fi, WiMAX), SS7 시그널링 네트워크, 고정 회선(fixed line), 근거리 네트워크, 원거리 네트워크, 및, 이들의 임의의 조합을 비롯한, 다른 것들을 비롯하여, 데이터를 전달할 수 있는 네트워크(또는 다수의 네트워크들)에 연결하는 것에 의해 다른 컴포넌트들과 통신하고, 다른 컴포넌트들과 데이터를 교환하며, 네트워크 자원들에 액세스하여 그에 연결하고, 애플리케이션에 서빙하며, 다른 컴퓨팅 애플리케이션들을 수행할 수 있게 한다.
통신 서버 플랫폼(10)은 통신 애플리케이션들, 네트워크 자원들, 다른 네트워크들 및 네트워크 보안 디바이스들에의 액세스를 제공하기 전에 (예를 들어, 로그인, 고유 식별자, 및 패스워드를 사용하여) 사용자를 등록 및 인증하기 위해 동작가능하다.
통신 서버 플랫폼(10)은 클라우드 기반 통신 교환 환경에서 확장 디바이스(20)에 등록된 다양한 디바이스들(20) 사이의 핸드오프(handoff)를 버퍼링하기 위한 전이중 버퍼 디바이스(full duplex buffer device)(14)를 포함한다. 버퍼 디바이스(14)(도 5)는 프로토콜 일대일 서버측 변환 계층 위에서 끊김없는 통신(seamless communications)의 착각을 제공하기 위해 전송 및 수신 비트들 둘 다를 버퍼링한다. 비동기 데이터 버퍼(901)는 데이터 스트림을 2개의 디바이스들에 동시에 복제한다. 통화 통신(call communication)(906)이 하나의 디바이스로부터 다른 디바이스로 전환되거나 이동될 때, 관련 데이터 전송이 제2 스트림(902)의 최종 사용자 디바이스 상에서 검출된 후에 제2 스트림이 연결 해제된다. 제2 디바이스 스트림(902)이 인에이블될 때, 심지어 오디오 레벨들에도 자동 이득 제어가 적용된다. 제1 디바이스(903) 상에서 스트림을 계속 전송하는 것은 다른 연결된 당사자(28)에 의해 지각될 수 없는 통신(906)의 끊김없는 전환을 보장한다.
통신 교환 플랫폼(10)은 클라우드 기반 통신 교환 환경에서 이 버퍼링 능력을 제공한다.
LCL(Live Communications Layer)
일 양태에 따르면, 본원에 기술되는 실시예들은 클라이언트 디바이스들에의 실시간 양방향 소켓 데이터 스트림 연결을 갖는 클라우드 기반 분산 음성, 비디오, 메시징 및 다른 통신 처리를 위한 서버 플랫폼에 관한 것이다.
도 3은 클라우드 기반 통신 서비스들을 위한 서버 플랫폼(10)을 도시하고 있다. 통신 서버 플랫폼(10)은 네트워크(48)를 통해 콜 센터 관리자 디바이스(call center manager device)(42)에 연결한다. 서버 플랫폼(10)은 네트워크(48)를 통한 디바이스들(42) 사이의 네트워크 연결들(44, 46)을 통해 논리적 양방향 소켓 데이터 스트림 연결(logical two-way socket data stream connection)을 구현한다. 서버 플랫폼(10)은 콜 센터 또는 다른 통신 애플리케이션들을 위한 클라우드 기반 통신 서비스들을 제공할 수 있다. 콜 센터는 콜 센터 상담원들 및 관리자들에 의해 운영되는 디바이스들의 네트워크를 포함할 수 있다. 데이터 소켓은 클라이언트(42)와 서버(10) 사이의 논리적 연결이다. 인터넷과 같은, 네트워크(48)를 통한 HTTPS WSS 세션을 통해 연결이 구축된다.
콜 센터 관리자들, 원격 상담원들, 및 클라우드 기반 통신 교환 디바이스들의 다른 사용자들은, 디스플레이 화면의 인터페이스 상의 통화 상태 정보 디스플레이에 대한 지연들과 같은, 전파 및 연결성 지연들을 경험할 수 있다. 이것은 실시간 메시징이 지연시킨다. 예를 들어, 교환원들은 통화들 또는 다른 통신 세션들을 원격 내선번호(remote extension)들에 있는 다른 클라이언트 디바이스들로 전환할 때 래그(lag) 및 QOS(quality of service) 문제들을 경험할 수 있다. LCL 환경에서, 논리적 실시간 통신 소켓을 통해 연결이 구축된다. 이것은 실시간 통신 계층을 제공하는 것에 의해 다른 아키텍처들에서의 속도 및 래그의 단점들을 극복할 수 있다.
통신 서버 플랫폼(40)은, 관리자들이, 관리자 디바이스(42)를 통해, 라이브 방식으로(in a live fashion) 클라우드 기반 환경에서 통화 또는 다른 통신 세션에 능동적으로 관여하고 그에 대한 입력을 제공할 수 있게 하기 위해, 실시간 통화 모니터링을 제공할 수 있다. 통신 서버 플랫폼(40)은, 통합된 만족스러운 사용자 경험을 제공하기 위해, 관리자 디바이스(42)와 같은, 터치스크린 또는 다른 접근성 지원 클라이언트 디바이스(accessibility enabled client device)들에게 실시간 통신을 제공할 수 있다.
본원에 기술되는 실시예들은 서버 플랫폼(40)에게 실시간 서버 통신 계층을 제공한다. 서버 플랫폼(40)은 인터넷 프로토콜을 이용하여 클라이언트 디바이스(예컨대, 관리자 디바이스(42))와의 사이에 실시간 양방향 통신(44, 46)을 제공하기 위해 전용 입출력 서버 소켓 내의 대역내 시그널링 프로토콜(in-band signaling protocol)을 이용한다. 이 통신 계층은 클라이언트 디바이스(42)가, 어떤 래그 시간(lag time) 또는 음성 품질의 열화도 경험하지 않으면서, 클라이언트 디바이스(42)와 서버 플랫폼(40) 사이의 대역폭에 의해서만 제한되는 통신 경로를 사용해 안전한 방식으로 서버 플랫폼(40)에 연결할 수 있게 한다.
LCL(Live Communications Link)은 실시간 양방향 이벤트 기반 통신(real-time bi-directional event-based communication)을 가능하게 하는 웹 소켓 통신 계층이다. LCL 소켓은 이진 데이터의 양방향 스트리밍을 가능하게 한다. LCL 소켓은 데이터가 열린 소켓 채널(open socket channel)을 통해 푸시될 수 있게 한다. 데이터 전송 속도는 클라이언트 디바이스(42)와 통신 서버 플랫폼(40) 사이의 네트워크 속도의 대역폭으로만 제한될 수 있다. 통신 서버 플랫폼(40)은 클라이언트 디바이스(42)에의 양방향 소켓 데이터 스트림 연결들(44, 46)을 구현하기 위해 LCL을 사용한다. 데이터 소켓은 클라이언트와 서버 간의 논리적 연결이다. 이 연결은 인터넷을 통한 HTTPS/WSS 세션을 통해 구축된다.
PBX 또는 다른 교환 시스템들의 현재 상황에서, 공지된 시스템들은 디스플레이할 데이터가 있는지 서버를 끊임없이 폴링할 수 있다. 이 접근법은 데이터를 전달하기 위해 보다 많은 데이터 자원들을 필요로 하는 보다 느린 통신을 야기할 수 있다. 또한 이 통신은, 허가된 액세스 권한을 갖는 자만이 통신 스트림과 인터페이싱할 수 있게 하는 LCL과는 달리, 보안 침해에 보다 취약하다. 액세스가 보안 로그인 페이지(secured login page)를 통해 제어되고, 알려진 검증된 소스들에 의해서만 가능하게 된다. 액세스에 대한 요청이 수신되면, 시스템은 그것이 허용된 액세스라는 것을 보장하기 위해 요청측 IP 주소뿐만 아니라 임의의 디바이스들의 MAC 주소도 체크한다.
LCC(Live Call Communicator)
다른 양태에 따르면, 본원에 기술되는 실시예들은 실시간 통화 디스플레이 모니터링 및 양방향 상호작용을 제공하는 LCC(live call communicator) 인터페이스를 갖는 클라우드 기반 통신 서버 플랫폼에 관한 것이다. 본원에서 살펴본 바와 같이, 통화는 음성, 비디오, 텍스트 통신, 또는 이들의 조합을 지칭할 수 있다.
도 4는 클라우드 기반 통신 서비스들을 위한 서버 플랫폼(60)을 예시하고 있다. 통신 서버 플랫폼(60)은 콜 센터에 대한 클라우드 기반 통신 서비스들을 제공할 수 있다. 콜 센터는 콜 센터 상담원들 및 관리자들에 의해 운영되는 디바이스들(62, 64)의 네트워크를 포함할 수 있다. 서버 플랫폼(60)은 통화 당사자 디바이스(66)와 상담원 디바이스(64) 간의 통신 통화(telecommunications call)를 구축할 수 있다. 서버 플랫폼(60)은 네트워크(68)를 통해 통화 당사자 디바이스(66)에 연결하고 네트워크(70)를 통해 콜 센터 상담원 디바이스(64)에 연결한다. 서버 플랫폼(60)은 네트워크(72)를 통해 콜 센터 관리자 디바이스(62)에 연결한다.
서버 플랫폼(60)은 콜 센터 관리자의 디바이스(62)의 디스플레이 화면 상에 디스플레이하기 위한 LCC 인터페이스를 제공한다. 공지된 시스템 인터페이스들은 직원 또는 상담원 성과를 반영하기 위해 정보를 콜 센터 관리자의 디스플레이 화면 상에 실시간으로 디스플레이 및 업데이트하지 않을 수 있다. LCL은 클라이언트와 서버 간의 논리적 연결인 실시간 데이터 소켓을 통해 구축된 논리적 연결이다. 이 연결은 인터넷 또는 다른 네트워크를 통한 HTTPS/WSS 세션을 통해 구축된다.
LCC 인터페이스는 현재 통화의 상태에 기초하여 통신 서버 플랫폼(60)과 관리자 디바이스(62) 사이의 라이브 연결(live connection)을 구축한다. 상태 정보는 통화의 레그당 홀드 시간(hold time per leg)의 길이 및 전환 시점(transfer point)은 물론, 통화중(busy), 응답 없음(no answer), 통신의 종료와 같은 성향(disposition)을 포함한다. LCC 인터페이스는 통화 당사자 디바이스(66)와 상담원 디바이스(64) 사이의 음성 경로를 실시간으로 모니터링 및 가로채기할 수 있는 능력을 포함한다. LCC 인터페이스는, 필요에 따라, 음성 통화 및 음성 경로에 관한 데이터를 검토 및/또는 조치를 위해 관리자 디바이스(62)에게 제공한다. 이 링크는 HTTPS/WSS 계층을 통해 달성된다. LCC 인터페이스는 통화 당사자 디바이스(66)와 현재 진행 중인 음성 통화에 참여하거나 그를 듣기 위해 동료 또는 관리자(즉, 다른 상담원 디바이스(64))로부터의 즉각적인 지원을 상담원 디바이스(64)에게 제공할 수 있다. 이것은 전파 지연들로 인해 분산 환경에서 문제가 된다. LCC는 클라이언트와 서버 사이의 논리적 연결인 실시간 데이터 소켓을 통해 구축된 논리적 연결을 사용하여 이 전파 지연들을 극복한다.
LCC 인터페이스는 콜 센터 관리자가 시스템 래그(system lag)를 감소시키면서 속도를 최대화하기 위해 필요로 하는 실시간 제어를 (콜 센터 관리자에 의해 조작되는) 관리자 디바이스(62)에게 제공한다. LCC 인터페이스를 구현하기 위해 관리자 디바이스(62) 디스플레이 화면과 클라우드 기반 통신 서버 플랫폼(60) 사이에 실시간 통신 계층이 구축된다. LCC 인터페이스는 관리자 디바이스(62)가 통화 통계를 보고, 모니터링(monitor), 귓속말하기(whisper)(코칭 또는 판매 지시(sales directive)를 위한 상담원 디바이스(64)와의 단방향 대화), 끼어들기(barge-in) 및 나중의 훈련을 위해 통화를 기록 또는 전사(transcribe)하는 것과 같은, 상호작용들을 제어할 수 있게 한다. 상담원 디바이스(64)는 지리적으로 어디든지 위치될 수 있다.
LCC 인터페이스는 시스템에 내장된 대시보드를 (콜 센터 관리자에 의해 조작되는) 관리자 디바이스(62)에게 제공한다. 도 24는 예시적인 대시보드 인터페이스를 예시하고 있다. 대시보드는 관리자가, 키워드 트리거들, 성향 분석(disposition analysis), 통화 대기 시간(time on hold) 등과 같은 다수의 분석 도구들에 의해 실시간으로 그리고 과거의 통화후 데이터(post call data)를 사용해 그의 상담원들의 성과를 실시간으로 모니터링할 수 있게 한다. 도 23은 다른 예시적인 대시보드 인터페이스를 예시하고 있다. 더욱이, 관리자는 개별 상담원들의 성과(도 28을 참조) 및 상담원 그룹들의 성과를 검사할 수 있다(도 22 및 도 27을 참조). 지속적인 성과 개선을 유지하기 위해 또는 임의의 부적절한 조치들을 관리자에게 통지하기 위해, 명시된 제안들이 상담원들 및 관리자들 둘 다에게 송신된다. 도 25 및 도 26은 모바일 디바이스들에 대한 추가의 예시적인 인터페이스들을 예시하고 있다.
이는 또한, 외부의 발신자가 듣는 것 등을 할 수 없는 상태에서, 통화 및/또는 귓속말에 끼어들 수 있는 것에 의해 그에 따라 조치를 취할 수 있는 능력을 관리자에게 제공한다. 이것의 일 예는, 모독적 발언이 사용되는 것 또는 다른 부적절한 프로토콜에 의해, 통화가 일반적인 경우보다 더 오래 계속되는 경우 관리자가 경보를 받을 것이고 관리자가 적절한 조치를 취할 수 있는 것일 것이다.
LCC 인터페이스는, 그 중에서도 특히, 라이브 음성, 비디오 및 텍스트 통신을 포함하는 클라우드 기반 실시간 콜 센터 관리 콘솔 소프트웨어를 포함한다. 통신 서버 플랫폼(60)은 LCC 인터페이스를 실시간 콜 센터 관리자 콘솔인 관리자 디바이스(62)에게 전달하기 위해 LCL(Live Communications Link)을 사용할 수 있다. LCL 인터페이스는, 본원에 기술되는 바와 같이, 라이브 소켓 계층을 통해 상담원 디바이스(64)로부터의 실시간 상담원 통신을 관리자 디바이스(62)에게 제공한다. LCL 인터페이스는, 클라우드 기반 콜 센터 환경에서, 상담원 디바이스(64)에서의 상담원 통화들을 관리자 디바이스(62)에서 모니터링하고, 제3자(예컨대, 통화 당사자 디바이스(66))와 통화 중인 상담원 디바이스(64)와 관리자 디바이스(62) 사이에 단방향 또는 양방향 통화를 인스턴스화할 수 있는 능력을 제공한다. LCL 인터페이스는 상담원 또는 직원이 통화 당사자 디바이스(66)와 통화하는 동안 관리자 디바이스(62)에 있는 관리자가 상담원 또는 직원을 모니터링 및 검토하기 위한 메커니즘을 제공한다.
LLC 인터페이스는 상담원 디바이스(64)에 있는 라이브 상담원(live agent)으로부터의 응급 호출 설비(emergency call facility)를 포함한다. 그에 부가하여, 실시간 키워드 및 문구 경보 검출 분석 그리고 성향 분석이 LLC 인터페이스에 통합되어 있다. 실행될 미리 결정된 논리적 트리거들 및 동작들이 있는지 모든 통신이 실시간으로 모니터링된다.
LCL 인터페이스는, 필요에 따라, 저장 및 후속 검색을 위해 상담원 디바이스(64)와 통화 당사자 디바이스(66) 사이의 통화에 관련된 데이터를 계속적으로 모니터링 및 수집한다. LCL 인터페이스는 또한 저장 및 후속 검색을 위해 상담원 디바이스(64)와 통화 당사자 디바이스(66) 사이의 통화에 관련된 데이터를 모니터링 및 수집한다. 실시간 및 사후(post time) 성과 및 통화 거동 메트릭 및 통계가 LCL 인터페이스를 통해 콜 센터 관리자들 및 다른 수퍼바이저들에게 이용가능하게 된다.
통화 라우팅
본원에 기술되는 실시예들은 통신 서버 플랫폼이 클라우드 기반 통신 서비스들을 제공하기 위해 디바이스들 사이의 통화 라우팅을 구현하는 클라우드 컴퓨팅 통신 시스템들에 관한 것이다.
라이브 통화 이동(Move Live Call)
본원에 기술되는 실시예들은 진행 중인 통화를 중단시키지 않으면서 통화 연결을 하나의 디바이스로부터 다른 디바이스로 끊김없이 이동시키는 클라우드 기반 통신 통화 이동(Move Call) 애플리케이션을 갖는 통신 서버 플랫폼을 제공할 수 있다. 이 기능은 프런트엔드 애플리케이션들 또는 적절한 API 호출(API call)들을 호출(invoke)하는 제3자 애플리케이션을 사용하여 API 호출을 통해 트리거되는 서버측 애플리케이션에 의해 수행된다. 일부 실시예들에서, 이것은 백엔드 서버측 애플리케이션이다.
공지된 시스템들에서, 통화가 진행 중일 때, 사용자는, 상대방 통화 당사자를 대기상태(on hold)에 둔 다음에 그 통화를 전환하지 않고는, 통화를 전환할 수 없다. 통화가 수동으로 다른 디바이스로 전환될 수 있도록 발신자가 대기상태에 놓여질 수 있다. 그렇지만, 통화가 전환되는 동안 통화가 중단되기 때문에, 이것은 통화의 단절(disruption)일 수 있다.
도 1은 통신 서버 플랫폼(10) 및, 상대방 통화 당사자 디바이스(28)가 전환을 위해 대기 상태에 놓여지는 것을 통한 단절을 알지 못하거나 경험하지 않으면서, 라이브 통화를 하나의 디바이스(20)로부터 동시에 다른 디바이스(20)로 이동시키는 통화 이동 애플리케이션(100)을 나타내고 있다. 서버 플랫폼(10)은 서버 프로세서(30), 비트 레벨 버퍼(14), 그리고 검출 및 변환 계층 디바이스(16)를 갖는다. 통화 연결을 구축하기 위해, 서버 플랫폼(10)은 네트워크(18)를 통해 통화 당사자 디바이스(28)에 연결하고, 서버 플랫폼(10)은, 디바이스(20)를 포함할 수 있거나 디바이스(20)에 결합된 별도의 컴퓨팅 디바이스일 수 있는, 컴퓨팅 디바이스 상에 존재하는 통화 이동 애플리케이션(100)에 연결한다. 통화 이동 애플리케이션(100)은 디바이스(20) 상에 존재할 수 있거나, 디바이스(20)와 이질적이고 그에 결합될 수 있다.
통신 서버 플랫폼(10)은, 잠깐 중복되도록 라이브 통화를 버퍼링하여 통신 전송이 중단되는 일 없이 끊김없는 전환을 제공하는 전이중 비트 레벨 버퍼(14) 핸드오프를 이용하는 것에 의해, 통화를 하나의 디바이스(20)로부터 다른 디바이스(20)로 이동시킨다. 프로토콜 일대일 서버측 변환 계층(904) 위에서 끊김없는 통신을 제공하기 위해 전송 및 수신 비트들 둘 다가 버퍼링된다.
예시적인 예로서, 통신 서버 플랫폼(10)은 통화를 위해 연결된 다수의 발신자 디바이스들과의 전화 회의를 호스팅할 수 있다. 전화 회의 당사자(party on a conference call)는 통신 세션을 다른 디바이스(20)로 전환하기를 원할 수 있지만, (예컨대, 통화 디바이스(28)에 있는) 통화 중인 사람들이 그가 통화를 그의 자동차에 위치된 디바이스(20)로 이동시키고 있다는 것을 알고자 하지 않을 수 있다.
통신 서버 플랫폼(90)은 통화 또는 대화의 흐름을 중단시키지 않고 통화가 전환될 수 있게 한다.
스마트 홀드
본원에 기술되는 실시예들은 커스터마이즈가능 대기중 메시징(customizable on hold messaging), 메시지 시퀀싱, 통화 흐름들, 또는 다른 메시징 시퀀스들을 제공하는 클라우드 기반 통화(또는 음성, 비디오, 메시징 등과 같은 통신 세션) 홀드 애플리케이션을 갖는 서버 플랫폼을 제공할 수 있다. 스마트 홀드 애플리케이션(122)(도 6)은 미리 결정된 홀드(hold) 또는 다른 상호작용적 메시지 구성들을 선택하기 위해 가변적 및 동적 세분성(granularity)으로 통화 또는 다른 통신 세션 관련 데이터를 처리한다. 세분성은 입력으로서 수신되는 정보/숫자들에 따라 질의가 기초할 수 있는 상세 레벨(level of detail)을 지칭한다. 예를 들어, 사용자의 선택의 "세분성"(읽기 위해 숫자들로 표현됨)에 따라 개별 발신자의 레벨에 맞게 또는 발신자의 지역(국가, 지역 번호, 도시 또는 개인)에 맞게 메시지가 재생될 수 있거나 동작이 명시될 수 있다.
기업들, 마케팅 담당자들, 관리자들 및 다른 이해 당사자들은, 발신자 ID 번호, 다이얼링한 번호, 선호사항들, 통화 발신지의 SIP(session initiation protocol) 주소들, 또는 다른 통신 세션 관련 데이터를 비롯한 통화 관련 데이터에 기초하여 동적으로 그리고 자동으로 선택되어 발신자에게 재생될 독자적인 대기중 메시징을 위해 스마트 홀드 애플리케이션을 사용할 수 있다. SIP 주소는 VoIP 또는 다른 통신 시스템에 대한 특정 내선번호, 사용자 또는 목적지를 주소 지정하는 URI(uniform resource identifier)이다.
도 6 및 도 7은 스마트 홀드 애플리케이션(122)을 갖는 통신 서버 플랫폼(120)을 예시하고 있다. 서버 플랫폼(120)은 프로세서 및 메모리를 가지며, 본원에 기술되는 바와 같은 클라우드 기반 통신 서비스들을 구현한다. 통신 세션 연결을 구축하기 위해, 서버 플랫폼(120)은 네트워크(130)를 통해 통화 당사자 디바이스(132)에 연결하고, 통신 서버 플랫폼(120)은 네트워크(124)를 통해 로컬 사용자들 또는 원격 시스템(126)에 연결하며, 여기서 원격 사용자 시스템(126)은 컴퓨팅 디바이스들(128a 내지 128f)의 네트워크를 갖는다.
도 7은 스마트 홀드 애플리케이션(122)에 대한 데이터 흐름을 예시하고 있다. 140에서, 스마트 홀드 애플리케이션(122)은 착신 통신 통화 또는 다른 통신 세션(비디오, 메시징, 텍스트, 음성 또는 기타)이 대기상태이거나 대기상태에 놓일 예정이라는 것을 검출한다.
142에서, 스마트 홀드 애플리케이션(122)은 룩업 기준들(146)을 결정하고, 적절한 홀드 메시지 또는 메시지 시퀀스를 식별하기 위해 착신 통화 또는 다른 통신 세션(비디오, 메시징, 텍스트, 음성 또는 기타)에 대한 통화 관련 데이터를 처리한다. 데이터 저장소(144)는 룩업 기준들(146)을 홀드 메시지들을 정의하는 데이터 내용에 링크시키는 홀드 메시지 레코드들을 저장한다. 룩업 기준들(146)은 대기 상태 중에 재생하기 위한 특정의 착신 통화에 적절한 홀드 메시지를 정의하는 데이터를 획득하기 위해 데이터 저장소(144)에서 홀드 메시지 레코드를 식별 및 검색하는 데 사용된다. 호출 관련 데이터는 룩업 기준들(146)로서 사용될 수 있거나, 부가의 룩업 기준들(146)을 식별하기 위해 처리될 수 있다. 예를 들어, 스마트 홀드 애플리케이션(122)은 발신자가 대기 상태에 있는 동안 발신자에게 재생할 적절한 메시지를 결정하기 위해 착신 통화에 대한 번호 또는 SIP 주소를 판독할 수 있다. 번호 또는 SIP 주소는 통화 관련 데이터의 예들이다. 데이터 저장소(144)로부터 홀드 메시지 레코드를 검색하기 위해 통화 관련 데이터가 룩업 기준들(146)로서 사용될 수 있다. 통화 관련 데이터는 또한 룩업 기준들(146)을 결정하기 위해 스마트 홀드 애플리케이션(122)에 의해 처리될 수 있다. 예를 들어, 통화 관련 데이터는 관련 지리적 위치를 식별하기 위해 처리될 수 있으며, 여기서 지리적 위치는 룩업 기준들(146)로서 사용될 수 있다. 스마트 홀드 애플리케이션(122)은 데이터 저장소(144)로부터 적절한 홀드 메시지 레코드를 검색하기 위해 (룩업 기준들(146)로서) 지리적 위치를 사용할 수 있다. 통화 관련 데이터를 처리하여 도출되는 데이터의 다른 예들은 지리적 데이터, 인구통계 데이터, 및 과거 데이터(예컨대, 이전 구매 정보)를 포함한다.
스마트 홀드 애플리케이션(122)은 착신 통화 번호에 액세스하고 이 통화 관련 데이터를 룩업 기준들(146)로서 사용하기 위해, 또는 대기 상태 발신자에게 재생될 메시지, 또는 메시징 시퀀스를 식별하고 검색하기 위한 데이터 저장소(144)에 대한 통화의 룩업 기준들(146)을 결정하기 위해 발신자 ID 기술을 구현할 수 있다. 메시징 시퀀스는 홀드 메시지 레코드들에 의해(예컨대, 시퀀스에서 다음에 재생할 다른 홀드 메시지 레코드에 대한 포인터에 의해) 정의될 수 있거나, 재생할 다수의 메시지들의 시퀀스를 정의하기 위해 다수의 홀드 메시지 레코드들에 링크된 별도의 메시지 시퀀스 레코드에 의해 정의될 수 있다.
스마트 홀드 애플리케이션(122)은 또한 적절한 홀드 메시지(들)를 결정하기 위해 사용자 프롬프트들 또는 (구매 데이터, 인구통계, 지리적 위치 등과 같은) 입력된 데이터에 대한 응답들을 고려할 수 있다. 사용자 프롬프트들의 선택은, 번호, 착신 통화의 SIP 주소, 지리적 위치, 또는 다이얼링한 번호와 같은, 초기 통화 관련 데이터를 사용하여 동적으로 결정될 수 있다. 이것은 사용자 또는 발신자의 경험을 향상 및 개선시킬 수 있는 커스터마이즈된(customized) 또는 타깃(targeted) 사용자 프롬프트들의 동적 선택을 가능하게 한다. 사용자 프롬프트들에 따른 사용자 입력은 적절한 홀드 메시지(들)를 결정할 때 스마트 홀드 애플리케이션(122)에 대한 부가 데이터를 제공할 수 있다.
148에서, 스마트 홀드 애플리케이션(122)은 대기 상태에 있는 착신 통화 또는 다른 통신 세션에 대해 (통화 당사자 디바이스(132)에 있는) 발신자에 대한 데이터 저장소(144)로부터 검색된 홀드 메시지 레코드의 홀드 메시지 또는 다른 통신(비디오, 메시징, 텍스트, 음성 또는 기타)을 정의하는 데이터의 재생을 트리거한다.
스마트 홀드 애플리케이션(122)은 착신 통화의 발신자, 콜 센터 상담원에 의해 사용되는 상담원 디바이스, 또는 홀드 메시지 기능을 쉽게 구성하기 위해 제공되는, 콜 센터 관리자에 의해 사용되는 관리자 디바이스를 위한 그래픽 사용자 인터페이스를 제공할 수 있다. 그래픽 사용자 인터페이스는 터치스크린 또는 다른 입력 디바이스에 대해 최적화될 수 있다. 더욱이, 홀드 메시지 레코드들에 대해 사용되는 메시징 데이터는 제3자 메시징 애플리케이션으로부터의 입력 및/또는 기준들에 기초하여 제어, 업데이트, 수정, 또는 생성될 수 있다. 메시징 애플리케이션은 제3자 메시징 또는 다른 통신 시스템들과의 최대 호환성을 획득하기 위해 RESTful API-cfAPI 인터페이스 또는 다른 연결과 같은 API를 통한 데이터 질의들을 통해 스마트 홀드 애플리케이션(122)과 통합될 수 있다.
예시적인 홀드 메시징은 지리적 데이터, 인구통계 데이터, 과거 데이터 등에 기초하여 메시징을 조정(tailor)하기 위해 특정의 룩업 기준들(146)을 사용하는 데이터 저장소(144)에 대한 룩업들을 포함하는 커스터마이즈된 마케팅 메시징, 텍스트, 오디오, 비디오를 포함한다. 홀드 메시징의 다른 예는 주어진 지역에서의 자연 재해 또는 기상 현상 응급 대응책(weather event emergency protocol)과 같은 상황별 응급 메시징을 포함한다.
스마트 홀드 애플리케이션(122)은 모든 발신자들이 대기 상태에 있는 동안 그들에게 재생될 정적 일반 메시지들보다 또는 발신자 또는 사용자에게 직관적이지 않고 동적으로 조정되지 않는 선택 또는 선호사항의 직접적인 수동 사용자 입력을 필요로 하는 메시지들보다 향상된 사용자 경험을 제공하는 동적 커스터마이즈된 홀드 메시지를 제공한다.
스마트 홀드 애플리케이션(122)은, 대기 상태에 있거나 대기 상태에 놓이게 될 착신 통화의 발신자에게 제시할 적절한 메시지 또는 통화 흐름을 결정하기 위해, 다이얼링한 번호 또는 발신자 ID 번호와 같은 통화 또는 통신 관련 데이터를 처리한다. 스마트 홀드 애플리케이션(122)이 수행하는 동작은 매 발신자 및/또는 발신자 ID 번호에 따라 가변적이다. 스마트 홀드 애플리케이션(122)은, 최저로는 번호에 대한 한 자릿수 세분성(1 digit granularity)의 레벨은 물론 이와 동시에 최대로는 번호에 대한 999 자릿수(예시적인 범위로서) 세분성까지, 원하는 동작을 수행할 수 있다. 이것의 일 예는 416 지역 번호를 갖는 사용자들 또는 발신자들에게 재생되는 메시지이다. 이것은 발신자 ID 번호 또는 다이얼링한 번호와 독립적일 수 있고, 그로써 스마트 홀드 애플리케이션(122)이 발신자 ID 번호 및/또는 다이얼링한 번호 또는 다른 기준들에 의해 각각의 통화에 대해 상이한 동작들을 수행할 수 있게 한다.
성능 기반 동적 트래픽 관리
본원에 기술되는 실시예들은 성능 기반 동적 트래픽 관리를 구현하는 통신 서버 플랫폼을 제공할 수 있다. 통신 서버 플랫폼은 동적 입력 및 라우팅 기준들을 사용하여 통화 트래픽 데이터 패킷들의 라우팅을 관리하는 트래픽 관리 애플리케이션을 갖는 클라우드 기반 통신 교환 플랫폼을 제공한다. 트래픽 관리 애플리케이션은 상이한 통화 연결들을 위해 어떤 물리적 네트워크 컴포넌트들이 사용되는지를 제어한다. 각각의 통화 연결이 네트워크 하드웨어 컴포넌트들의 어레이에 의해 정의될 수 있다.
트래픽 관리 애플리케이션은, 성능, 전문화(specialization), 지리적 위치와 같은, 다양한 메트릭들 또는 기준들에 기초하여 상이한 상담원/사용자 디바이스들로 전환되는 통화들의 흐름 속도(flow rate) 및 양을 조절(adjust)하기 위해 콜 센터 관리자들에 의해 사용될 수 있다.
도 8은 트래픽 관리 애플리케이션(152)을 갖는 서버 플랫폼(150)을 예시하고 있다. 서버 플랫폼(150)은 프로세서 및 메모리를 가지며, 본원에 기술되는 바와 같은 클라우드 기반 통신 서비스들을 구현한다. 통화 또는 다른 통신 연결의 경우, 통신 서버 플랫폼(150)은 네트워크(160)를 통해 통화 당사자 디바이스(162)에 연결하고, 통신 서버 플랫폼(150)은 네트워크(154)를 통해 사무실 시스템(156)에 연결하며, 여기서 원격 시스템(156)은 컴퓨팅 디바이스들(158a 내지 158f)(원격 또는 로컬)의 네트워크를 갖는다.
트래픽 관리 애플리케이션(152)은, 성능, 전문화, 제3자 애플리케이션으로부터의 지리적 위치(예컨대, API 또는 다른 연결(직접 또는 간접)을 통한 데이터 소스 액세스)와 같은, 입력 및/또는 기준들에 기초하여 시스템(156)의 상담원/사용자 디바이스(158a 내지 158f)로의 통화들의 흐름 속도 및 분량을 제어한다. 이 제어는, 예를 들어, RESTful API-CFAPI(Call Flow API) 인터페이스와 같은, 애플리케이션 프로그래밍 인터페이스(API)를 통한 트래픽 관리 애플리케이션(152)에 대한 데이터 질의들을 통해 달성될 수 있다.
트래픽 관리 애플리케이션(152)은 관리자들이, 관리자 디바이스들을 통해, 통화 대기 시간들을 감소시키기 위해 분량 및 상담원 효율에 기초하여 라우팅 명령들을 사용하여 특정 상담원/사용자 디바이스들로의 통화 트래픽의 흐름을 자동으로 조절할 수 있게 한다. 트래픽 관리 애플리케이션(152)은 과거 상담원 데이터를 사용하여 계산된 과거 메트릭들에 기초하여 트래픽의 흐름을 조절하기 위해 상담원 효율, 행타임(hang time)들 및 다른 기준들에 관한 과거 데이터를 저장하는 사용자/상담원 레코드들에 액세스한다. 예를 들어, 각각의 상담원 레코드는 트래픽 관리를 위해 트래픽 관리 애플리케이션(152)에 의해 참조될 수 있는 최대 분량 용량 데이터 필드(maximum volume capacity data field) 또는 최적 분량 용량 데이터 필드(optimal volume capacity data field)를 포함할 수 있다. 트래픽 관리 애플리케이션(152)은 상담원당 현재 분량, 총 현재 분량, 평균 통화 대기 시간, 통화당 현재 추정 대기 시간, 상담원당 현재 추정 대기 시간, 상담원당 평균 분량, 상담원당 평균 통화 길이, 상담원당 평균 분량, 전문화, 위치 등과 같은 사용자들/상담원들에 대한 통화 분량 및 효율 등급들에 관한 실시간 데이터를 계속적으로 계산할 수 있다. 피크 시간대 동안, 상담원당 계산된 효율 등급들 및 다른 데이터 인자 기준들에 기초하여, 통화들이 트래픽 관리 애플리케이션(152)에 의해 보다 빠른 상담원들에게 라우팅될 수 있다.
트래픽 관리 애플리케이션(152)은 상담원들이 사용자 피드백 데이터, 효율 등급들 등에 기초하여 보상을 받고 반대로 벌점을 받게 할 수 있다. 피드백 데이터는 웹 사이트 또는 다른 데이터 소스로부터의 입력 데이터로서 수신될 수 있다. 예를 들어, 피드백이 부정적이면 상담원이 보다 적은 수의 통화들을 수신할지도 모른다.
트래픽 관리 애플리케이션(152)은, 특정 통화 흐름 기간들 동안 각각의 개별 상담원의 전문지식과 같은, 다양한 메트릭들에 기초하여 모든 통신 또는 통화 흐름을 동적으로 필터링할 수 있다. 트래픽 관리 애플리케이션은 적절한 상담원 디바이스(158)의 동적 선택에 따라 통화 당사자 디바이스(162)를 상담원 디바이스(158)에 연결시키기 위해 상이한 통화 연결을 구축한다.
트래픽 관리 애플리케이션(152)은 클라우드 기반 콜 센터 환경에서 홀드 시간들을 동적으로 변경하기 위해 온더플라이(on the fly) 방식으로 지능적 규칙 기반 라우팅 결정을 하기 위해 통화 트래픽 통계를 모두 이력적으로(historically) 상담원 성과, 스크립트 및 큐 유형에 기초하여 실시간으로 측정하는 소프트웨어 프로세스를 구현한다.
트래픽 관리 애플리케이션(152)은 상담원들의 수동 관리자 선택(manual manager selection)에 기초하여 통화들을 분산시키는 수동 프로세스에 기초한 접근법보다 더 효율적으로 통신 흐름을 관리한다. 트래픽 관리 애플리케이션(152)은 관리자에 의해 제어되고 명령되는 수동 정적 프로세스(manual static process) 대신에 자동화된 동적 해결책을 제공한다.
분산 네트워크 통화 처리(Distributed Network Call Processing)
본원에 기술되는 실시예들은 분산 네트워크 통화 처리(DNCP)를 구현하는 통신 서버 플랫폼을 제공할 수 있다. 본원에 기술되는 실시예들은 부하(load)를 예측하고 지리적으로 다양한 서버들 간에 밸런싱(balance)하기 위해 새로운 트랜잭션들을 중복 네트워크(redundant network)에 재할당하기 위한 동적 부하 밸런서(dynamic load balancer)를 구현하는 통신 서버 플랫폼을 제공할 수 있다. 예시적인 트랜잭션들은 통화, 채팅 세션, 파일 전송, 및 화면 공유, 문자 메시지, 화이트보드 애플리케이션, 팩시밀리 전송 및 회의 애플리케이션(conferencing application) 등을 위한 원격 디바이스들 간의 통화 연결들일 수 있다.
구내 기반 통화 교환 플랫폼(premises based call switching platform)에서 또는 심지어 분산 또는 클라우드 환경에서, 하나의 지리적 위치에 있는 단일 PBX 서버에 의존하는 것으로 인해 (결함있는 하드웨어 또는 통신 링크 단절(communications link outage)과 같은) 많은 단일 장애점(single point of failure)들이 있을 수 있다. 이 단일 장애점들은 통화 처리 오류들 또는 시스템 가동중지시간(system downtime)의 가능성을 증가시킨다.
도 9는 동적 부하 밸런싱(dynamic load balancing)을 위한 트래픽 분산 관리자 플랫폼(170)의 개략도를 예시하고 있다. 통신 서버 플랫폼(180)은 통화 트래픽을 상이한 지리적 위치들에 걸쳐 분산시키기 위해 동적 기준들에 따라 상이한 위치들에 있는 상이한 통신 서버 플랫폼들을 사용하여 통화 연결들을 구축하는 것에 의해 부하 밸런싱을 구현한다. 트래픽 분산 관리자 플랫폼(170)은 사설 원거리 네트워크(private wide area network)(174)를 통해 제1 위치(예컨대, 위치 1)에 있는 통신 서버 플랫폼(180)에 연결한다. 트래픽 분산 관리자 플랫폼(170)은 사설 원거리 네트워크(176)를 통해 제2 위치(예컨대, 위치 2)에 있는 통신 서버 플랫폼(184)에 연결한다. 트래픽 분산 관리자 플랫폼(170)은 사설 원거리 네트워크(178)를 통해 제3 위치(예컨대, 위치 3)에 있는 통신 서버 플랫폼(188)에 연결한다. 제1 위치(예컨대, 위치 1)에 있는 통신 서버 플랫폼(180)은 사설 원거리 네트워크(182)를 통해 제2 위치(예컨대, 위치 2)에 있는 통신 서버 플랫폼(184)에 연결한다. 제2 위치(예컨대, 위치 2)에 있는 통신 서버 플랫폼(184)은 사설 원거리 네트워크(186)를 통해 제3 위치(예컨대, 위치 3)에 있는 통신 서버 플랫폼(188)에 연결한다. 이것은 예시적인 예이고, 부가의 중복성(redundancy)을 위해 트래픽 분산 관리자 플랫폼(170)에 연결된 통신 서버 플랫폼들(180, 184, 188)이 보다 많거나 보다 적을 수 있다. 통화를 위해, 통신 서버 플랫폼들(180, 184, 188)은, 본원에 기술되는 바와 같이, 네트워크들을 통해 통화 당사자 디바이스들을 다른 디바이스들(예컨대, 상담원 디바이스, 관리자 디바이스, 클라이언트 디바이스)에 연결시킨다. 트래픽 분산 관리자 플랫폼(170)은 통화 트래픽을 분산시키기 위해 디바이스들 간의 통화 연결을 위해 어느 통신 서버 플랫폼(180, 184, 188)을 사용할지를 동적으로 그리고 실시간으로 선택한다.
트래픽 분산 관리자 플랫폼(170)은 지리적으로 다양한 교환 단말들(예컨대, 통신 서버 플랫폼(180, 184, 188))의 세트에 걸쳐 통화 트래픽을 분산시키는 것에 의해 통화 연결에 대한 장애점(point of failure)들의 수를 감소시킨다. 통신 서버 플랫폼(180, 184, 188) 또는 그와 연관된 네트워크의 하나의 하드웨어 컴포넌트에 장애가 있으면, 구축되고 있는 중인 통신 연결들만이 실패할 것이다. 트래픽 분산 관리자 플랫폼(170)은 또한, 통화 트래픽을 상이한 플랫폼들에게 재라우팅(re-routing)하는 것에 의해 네트워크 또는 플랫폼 장애들을 "자가 치유(self-heal)"할 수 있는 것으로 인해, 분산 시스템에서의 가동중지시간을 감소시킨다.
트래픽 분산 관리자 플랫폼(170)은 통화들을 우리의 다양한 통신 서버 플랫폼들(180, 184, 188) 간에 지능적으로 분산시키기 위해 통화 분산 프로세스를 사용한다. 분산 프로세스는 "RQD"(요청 분산(Request Distribution))라고 지칭될 수 있다. 요청 분산은 통신 또는 통화를 송신받을 가장 적절한 노드를 결정하는 프로세스이다. RQD는 전송을 가장 신속하게 처리하는 것은 물론 각각의 서버에 대한 부하를 밸런싱할 노드를 선택한다. RQD 프로세스는 시간(Time of Day), 요일(Day of week), 사용자 통계(User Statistics)(예컨대, 특정 마케팅 캠페인 통화 시간 통계를 비롯한 평균 통화 시간), 다이얼링한 번호, 통화 발신(Call Origination), 최근접 물리 노드(Closest Physical Node), 핑 시간(Ping time)은 물론 다른 기준들에 기초하여 트래픽을 동적으로 분산시킨다.
트래픽 분산 관리자 플랫폼(170)은 가장 빠른 경로를 미리 결정하기 위해 시간, 요일/연도를 비롯한 몇 가지 기준들에 기초한 핑 테스트(ping testing) 및 통계 분석을 통해 서버 액세스 시간을 예측적으로 결정하는 부하 밸런싱 프로세스를 구현한다. 트래픽 분산 관리자 플랫폼(170)은 통화 연결을 위해 사용된 하드웨어 컴포넌트들에 대한 통계 데이터 메트릭들을 수집하기 위해 핑 테스트를 사용한다. 예를 들어, 트래픽 분산 관리자 플랫폼(170)은 가장 빠른 경로를 결정하기 위해 핑 테스트 패킷들을 상이한 통신 서버 플랫폼들(180, 184, 188)에게 전송할 수 있다. 트래픽 분산 관리자 플랫폼(170)은 핑 테스트 패킷들에 응답하여 상이한 전송 하드웨어로부터의 응답 메시지 패킷들을 수집할 수 있다.
트래픽 분산 관리자 플랫폼(170)은 부하를 밸런싱할 적절한 통신 서버 플랫폼(180, 184, 188)을 선택하기 위해 (평균적으로 또는 특정 캠페인에 의해 상담원의 성과에 적용되는 동일한 기준들과 결합된 지리적으로, 인구통계학적으로 그리고 시간(time of day)으로 가중된 평균 통화 시간으로부터 도출되는) 통화의 유력한 지속시간(probable duration)을 결정하기 위해 통계 분석을 사용한다. 일부 예시적인 실시예들에서, 네트워크 설계는 최대 가동시간(uptime)을 보장하기 위해 삼각형 네트워크 패턴(triangulated network pattern)으로 된 최소 3개의 지리적으로 다양한 통신 서버 플랫폼들(180, 184, 188)을 포함한다. 노드들 중 임의의 것과의 사이의 통신 링크가 끊어지면, 최소의 서비스 품질 열화로 다른 2개의 노드들 사이에서 트래픽이 여전히 흐를 수 있다.
트래픽 분산 관리자 플랫폼(170)은 위치들 중 임의의 것에서의 하드웨어 장애(hardware failure)의 경우에 서비스 중단(service disruption)을 최소화하기 위해 지리적 위치들에 걸쳐 중복성을 제공한다. 트래픽 분산 관리자 플랫폼(170)은, 빠른 응답 시간들을 보장하기 위해, 각각의 연결된 통신 서버 플랫폼들(180, 184, 188)에 대한 서버 상태를 모니터링하고 정교한 트래픽 분산을 구현한다.
공지된 접근법들은, 하드웨어가 고장되면 하드웨어가 신속하게 대체 또는 수리될 수 있도록, 하드웨어를 복제할 수 있다. 공지된 접근법들은, 매 호출이 두 번 처리되고 하나의 하드웨어 채널이 고장나면 다른 하드웨어가 트랜잭션들을 처리할 준비가 되어 있도록, 중복 하드웨어(redundant hardware)를 가질 수 있다. 트래픽 분산 관리자 플랫폼(170)은 클라우드 환경에서 통화들의 효율적이고 안전한 처리를 제공하는 분산 해결책(distributed solution)을 구현한다.
트래픽 분산 관리자 플랫폼(170)은 통화 데이터 패킷들의 교환을 상이한 지리적 영역들에 위치된 상이한 네트워크 하드웨어 컴포넌트들에 걸쳐 분산시키는 것에 의해 단일 지리적 위치에 보다 적은 단일 장애점들을 갖는 해결책을 구현한다. 이 해결책은 또한 보다 많은 가동시간을 제공할 수 있다. 이것의 일 예는, 작동하는 서버로의 즉각적인 동적 재라우팅을 필요로 하는, 통신 서버를 완전히 파괴시키는 기상 재난일 것이다.
사용자 인터페이스
본원에 기술되는 실시예들은 서버 플랫폼이 클라우드 기반 통신 서비스들을 제공하기 위해 사용자 인터페이스를 구현하는 클라우드 컴퓨팅 통신 시스템들에 관한 것이다.
간편한 터치 전환
본원에 기술되는 실시예들은 분산 클라우드 기반 통신 처리 환경에서 컴퓨팅 디바이스(모바일, PC, Mac, 또는 WebRTC와 같은 브라우저 기반, 기타)가 (텍스트, 오디오(audio) 또는 비디오 통화들과 같은) 통신 세션들을 안내원(attendant)들 또는 교환원(operator)들에 의해 조작되는 컴퓨팅 디바이스들로 전환하기 위한 사용자 인터페이스 컴포넌트들을 구현하는 통신 서버 플랫폼을 제공할 수 있다.
안내원들 및 교환원들은 (오디오 또는 비디오 통화들과 같은) 많은 분량의 통신을 보다 효율적이고 그리고 신속하게 관리할 필요가 있다. 그들은 또한 책상 공간을 줄여야만 한다. 더욱이, 비즈니스를 위해 하드웨어 및 하드웨어 관련 사용자 훈련 비용이 통제(control)되어야만 한다.
도 10은 통화들 또는 다른 통신 세션들을 전환하기 위해 컴퓨팅 디바이스(200)의 사용자 인터페이스 컴포넌트(202)와 상호작용하는 전환 애플리케이션(192)을 갖는 통신 서버 플랫폼(190)을 예시하고 있다. 전환 애플리케이션(192)은 사용자 인터페이스 컴포넌트(202)와의 사용자 상호작용들로부터 발생하는 전환 명령(transfer command)들을 사용자 인터페이스 컴포넌트(202)로부터 수신한다. 이에 응답하여, 전환 애플리케이션(192)은 통신 연결을 업데이트 또는 구축하는 것에 의해 통신 세션의 논리적 또는 물리적 전환을 트리거한다. 안내원 또는 교환원은 사용자 인터페이스 컴포넌트(202)를 실행하는 컴퓨터 디바이스(200)를 조작할 수 있다.
통신 서버 플랫폼(190)은 프로세서 및 메모리를 가지며, 본원에 기술되는 바와 같은 클라우드 기반 통신 서비스들을 구현한다. 통신 세션(음성, 비디오, 메시징 등) 연결의 경우, 통신 서버 플랫폼(190)은 네트워크(194)를 통해 통화 당사자 디바이스(196)에 연결하고, 서버 플랫폼(190)은 네트워크(198)를 통해 컴퓨터 디바이스(200) 및 원격 사용자들 또는 사무실 시스템(204)에 연결하며, 여기서 원격 사용자들 또는 사무실 시스템(204)은 컴퓨팅 디바이스들(206, 208, 210)의 네트워크를 갖는다. 안내원들 또는 교환원들은 컴퓨팅 디바이스들(206, 208, 210)을 조작할 수 있다. 사용자 인터페이스 컴포넌트(202)를 실행하는 컴퓨팅 디바이스(200)는 사무실 시스템(204)의 일부일 수 있거나 사무실 시스템(204)과 별개이거나 그로부터 멀리 떨어져 있을 수 있다. 사무실 시스템(204)은 컴퓨팅 디바이스(200, 206, 208, 210)를, 예를 들어, 통화 그룹들 또는 부서 그룹(department group)들로 그룹화할 수 있다.
초기 통신 세션(음성, 비디오, 메시징 등) 연결은 통화 당사자 디바이스(196)를 초기 컴퓨팅 디바이스(200, 206, 208, 210)에 연결시킬 수 있다. 사용자 인터페이스 컴포넌트(202) 및 전환 애플리케이션(192)을 사용하여 통신 세션(오디오, 비디오 통화)을 전환하는 것은 통화 당사자 디바이스(196)를 상이한 컴퓨팅 디바이스(200, 206, 208, 210)에 연결시키기 위해 초기 통신 세션 연결을 업데이트하는 것을 가져온다. 일부 예시적인 실시예들에서, 초기 통화 연결이 없을지도 모른다. 이러한 경우에, 사용자 인터페이스 컴포넌트(202) 및 전환 애플리케이션(192)을 사용하여 통신 세션을 전환하는 것은 또한 통화 당사자 디바이스(196)를 선택된 컴퓨팅 디바이스(200, 206, 208, 210)에 또는 제3자 디바이스에 연결시키기 위해 새로운 통신 세션 연결을 구축하는 것을 가져올 수 있다.
사용자 인터페이스 컴포넌트(202)는 사용자 상호작용들로부터의 전환 명령들을 수신하고, 그 전환 명령들을 전환 애플리케이션(192)에게 전송한다. 이에 응답하여, 전환 애플리케이션(192)은 통신 연결을 업데이트하는 것에 의해 통신 세션을 전환한다. 이 전환 명령은 프런트엔드 그래픽 인터페이스를 통해 API를 거쳐 백엔드 통신 서버(10)에게 발행된다. 전환 명령은 전환 요청을 식별해주기 위한 전환 식별자, 통화 당사자 디바이스를 식별해주는 통신 세션 식별자 및 통신 연결을 전환받을 참여자 디바이스(attendee device) 또는 참여자 디바이스들의 그룹을 식별해주는 참여자 식별자는 물론, 자동 룩업들을 위한 발신자 ID 등과 같은 모든 전화통신 정보(telephony information)를 비롯한 통신 세션의 모든 레그들에 대한 통화 대기 시간과 같은, 다른 정보를 포함한다.
컴퓨팅 디바이스(200)는 터치스크린 디스플레이 또는 다른 대화형 터치 하드웨어 컴포넌트(interactive touch hardware component)는 물론, 컴퓨터 마우스 또는 스타일러스 및/또는 가상 및/또는 증강 현실 플랫폼들과 같은, 포인팅 디바이스를 갖는 터치 지원 디바이스(touch enabled device)일 수 있다. 컴퓨팅 디바이스(200)에 대한 사용자 인터페이스 컴포넌트(202)는 디스플레이 화면 상에 통신 세션의 그래픽 표현을 제공하며, 또한 통화 전환을 위해 이용가능한 잠재적 전환 디바이스들(200, 206, 208, 210) 또는 이들의 그룹의 그래픽 표현들을 제공할 수 있다. 그래픽 표현들은 통화 전환 선택을 돕기 위해, 통화 시간(time on call)과 같은, 다양한 메트릭들에 기초하여 디바이스들(200)의 순위를 나타낼 수 있다. 잠재적 전환 컴퓨팅 디바이스들(200, 206, 208, 210)은, 예를 들어, 내선번호, 통화 그룹 또는 부서 큐(department queue)일 수 있다. 사용자 인터페이스 컴포넌트(202)는 전환 명령을 전환 애플리케이션(192)에게 전송하는 것을 트리거하는, 전환 컴퓨팅 디바이스(200, 206, 208, 210)의 그래픽 표현을 선택하기 위해 디스플레이 화면 상의 통화의 그래픽 표현과의 하나 이상의 사용자 상호작용들(예컨대, 터치)을 수신한다. 예를 들어, 사용자 상호작용은 디스플레이 화면 상의 통신의 그래픽 표현을 내선번호, 통화 그룹 또는 부서 큐를 나타내는 전환 디바이스(200, 206, 208, 210)의 그래픽 표현, 및/또는 제3자 전화 번호 또는 SIP 주소와 같은 외부 목적지 상으로 드래그 앤 드롭(drag and drop)하는 것일 수 있다. 전환 명령은, 통화 당사자 디바이스(96)를 내선번호, 통화 그룹 또는 부서 큐를 나타내는 선택된 전환 디바이스(200, 206, 208, 210), 및/또는 제3자 전화 번호 또는 SIP 주소와 같은 외부 목적지에 연결시키기 위해 통신 연결을 물리적으로 전환하거나 업데이트하는 동작들을 구현하기 위해, 전환 애플리케이션(192)을 트리거한다. 컴퓨팅 디바이스(200)에 대한 사용자 인터페이스 컴포넌트(202)는 안내원 또는 교환원이 보다 많은 분량의 통신을 보다 효율적으로 핸들링할 수 있게 한다.
이 기능은 컴퓨팅 디바이스(200)의 입력 하드웨어(예컨대, 마우스 또는 터치스크린 디스플레이 또는 가상 현실 입력)와의 사용자 상호작용(예컨대, 터치)에 의해 사용자 인터페이스 컴포넌트(202)를 사용한 통신 세션 전환을 가능하게 한다. 예를 들어, 사용자 인터페이스 컴포넌트(202)는 사용자가, 통화를 위해 (컴퓨팅 디바이스(200, 206, 208, 210)를 사용하는) 이용가능한 안내원의 그래픽 표현을 터치하고 통신 자체는 물론 통신 세션의 상세를 개략적으로 나타내는 데이터의 그래픽 표현으로 이동시키는 것, 또는 그 반대 등에 의해, 통화 또는 통신 세션을 컴퓨팅 디바이스 내선번호(computing device extension)로 전환하기 위해 통화 또는 통신 세션의 그래픽 표현을 드래그하거나 다른 방식으로 그와 상호작용할 수 있게 한다.
도 11은 다양한 유형들의 컴퓨팅 디바이스들(202) 상의 사용자 인터페이스 컴포넌트(202)에 대한 예시적인 스크린샷을 나타내고 있다. 사용자 인터페이스 컴포넌트(202)는, 태블릿 또는 터치스크린 디바이스 또는 모바일 스마트폰 디바이스와 같은, 컴퓨터의 브라우저에서 실행 중일 수 있다. 스크린샷들은 다양한 디바이스들로부터의 것일 수 있으며, 통신이 전환될 수 있는 안내원의 그래픽 표현들을 예시한다. 사용자 인터페이스 컴포넌트(202)를 사용하여, 하나의 그래픽 표현을 목적지(사용자, 통화 그룹 또는 부서 등)의 다른 그래픽 표현으로 단순히 드래그하는 것에 의해 통화가 하나의 내선번호 또는 교환원 컴퓨팅 디바이스로부터 다른 교환원으로 전환될 수 있다. 도 12 및 도 13은 추가의 예시적인 인터페이스들을 예시하고 있다. 도 14는 예시적인 모바일 인터페이스들을 예시하고 있다.
사용자 인터페이스 컴포넌트(202)는 매끄러운 그래픽 및 통화 관리 인터페이스를 제공한다. 사용자 인터페이스 컴포넌트(202)는 API를 사용하여 통신(음성, 비디오, 메시징 등)을 물리적으로 전환하는 데 필요한 교환 하드웨어 및 소프트웨어를 제어하기 위해 전환 명령을 전환 애플리케이션(192)에게 전송한다.
사용자 인터페이스 컴포넌트(202)는 교환원 안내원의 작업을 간소화시키고, 이는 각각의 통신의 전환 시간을 감소시킬 수 있다. 작은 시간 감소만으로도 높은 통신 분량에 대해서는 큰 효율 증가가 얻어질 수 있다.
원터치 회의(One Touch Conference)
본원에 기술되는 실시예들은 클라우드 기반 통신 서비스들을 위해 컴퓨팅 디바이스의 사용자 인터페이스 컴포넌트와의 단일 동작 또는 사용자 상호작용을 통해 회의 통신(음성, 비디오, 메시징 등) 연결들을 구현하는 통신 서버 플랫폼을 제공할 수 있다. 단일 동작은 시스템의 내부(예컨대, 가입자 또는 사용자) 및 시스템의 외부(예컨대, 제3자)의 다수의 디바이스들 간에 회의 연결을 구축하는 원스텝(one-step) 또는 원터치(one-touch) 동작이라고 지칭될 수 있다.
주어진 통신 세션 상태, 활동들 및 멤버들 또는 참가자들의 명확한 그래픽 표현을 실시간으로 가질 필요가 있다.
도 15는 사용자 인터페이스 컴포넌트(202)와의 단일 사용자 상호작용에 따른 회의 명령들에 응답하여 전화 회의 연결(conference call connection)(예컨대, 음성, 비디오, 메시징)에서 다양한 디바이스들 상의 당사자들을 연결시키기 위해 컴퓨팅 디바이스(230)의 사용자 인터페이스 컴포넌트(232)와 상호작용하는 전환 애플리케이션(222)을 갖는 통신 서버 플랫폼(220)을 예시하고 있다. 안내원 또는 교환원은 컴퓨터 디바이스(230)를 조작할 수 있다. 회의 통신 세션 연결은 통신 서비스 플랫폼(220)을 통해 연결된 하나 이상의 통화 당사자 디바이스들(226) 및 하나 이상의 다른 디바이스들(236, 238, 240)을 수반할 수 있다. 통신 서버 플랫폼(220)은 프로세서 및 메모리를 가지며, 본원에 기술되는 바와 같은 클라우드 기반 통신 서비스들을 구현한다. 회의 통신 세션 연결(예컨대, 음성, 비디오, 메시징 등)의 경우, 통신 서버 플랫폼(220)은 네트워크(224)를 통해 통화 당사자 디바이스(226)에 연결하고, 통신 서버 플랫폼(220)은 네트워크(198)를 통해 컴퓨터 디바이스(230) 또는 직접 또는 원격 또는 사무실 시스템(234)에 의해 연결된 하나 이상의 컴퓨팅 디바이스들(236, 238, 240)에 연결한다. 안내원들 또는 교환원들은 컴퓨팅 디바이스들(236, 238, 240)을 조작할 수 있다. 사용자 인터페이스 컴포넌트(232)를 갖는 컴퓨팅 디바이스(230)는 직접 또는 사무실 또는 원격 시스템(234) (구내 기반이거나 구내 기반이 아님, 클라우드 기반)의 일부일 수 있다.
사용자 인터페이스 컴포넌트(232)는 상태, 활동들 및 참가자들 또는 멤버를 비롯한 회의 통신 세션 연결에 대한 상이한 실시간 속성들의 그래픽 표현을 제공한다. 사용자 인터페이스 컴포넌트(232)는 또한 회의 통신 세션을 위해 이용가능한 안내원들, 교환원들, 또는 다른 사용자들의 그래픽 표현을 제공할 수 있다. 사용자 인터페이스 컴포넌트(232)는 컴퓨팅 디바이스(230)의 입력 하드웨어와의 단일 동작 또는 사용자 상호작용에 응답하여 회의 통신 세션 연결을 구축 또는 업데이트한다.
회의 통신 세션 연결은 하나 이상의 통화 당사자 디바이스들(226)을 하나 이상의 다른 컴퓨팅 디바이스들(230, 236, 238, 240)에 연결한다. 회의 통신 세션(음성, 비디오, 메시징 등) 연결에 다른 디바이스를 추가하는 것은 부가의 컴퓨팅 디바이스(230, 236, 238, 240)를 연결시키기 위해 초기 회의 연결을 업데이트하는 것을 가져온다. 살펴본 바와 같이, 사용자 인터페이스 컴포넌트(232)는 회의 통신 세션 연결을 확장하기 위해 단일 동작 또는 사용자 상호작용에 응답하여 기존의 회의 통신 연결에 다른 컴퓨팅 디바이스를 추가한다. 일부 예시적인 실시예들에서, 초기 회의 연결이 없을지도 모른다. 이러한 경우에, 사용자 인터페이스 컴포넌트(232) 및 회의 애플리케이션(222)을 사용하여 회의 통신 세션 연결을 구축하는 것은 또한 통화 당사자(또는 다른 통신) 디바이스(들)(226)를 선택된 컴퓨팅 디바이스(들)(230, 236, 238, 240)에 연결시키는 새로운 통신 세션 연결(들)(230, 236, 238, 240)을 생성할 수 있다. 사용자 인터페이스 컴포넌트(232)는 컴퓨팅 디바이스(230)의 입력 하드웨어와의 단일 동작 또는 사용자 상호작용에 응답하여 초기 회의 연결의 생성을 트리거한다.
일 예로서, 사용자 인터페이스 컴포넌트(232)는 라이브 통신 세션의 그래픽 표현에 대한 "드래그 앤 드롭" 또는 다른 트리거 동작을 회의 통신 세션 연결(비디오, 음성, 메시징)을 트리거하는 단일 동작으로서 검출한다. 사용자 인터페이스 컴포넌트(232)는 컴퓨팅 디바이스(230)의 디스플레이 화면 상에 디스플레이하기 위한 그래픽 웹 기반 터치 최적화된 사용자 인터페이스 및/또는 마우스 최적화된 사용자 인터페이스를 제공할 수 있다. 사용자 인터페이스 컴포넌트(232)는 라이브 통신 세션들 및 세션 상태 정보 또는 속성들이 컴퓨팅 디바이스(230)의 디스플레이 화면 상에서 사용자에게 시각적으로 또는 그래픽으로 표현될 수 있게 한다. 이것은 사용자가 사용자 인터페이스 컴포넌트(232)(예컨대, 터치 기반 인터페이스 또는 마우스 유형 사용자 인터페이스 또는 스타일러스 및/또는 가상 및/또는 증강 현실 플랫폼들)를 사용하여 (그래픽으로 표현된) 하나의 통신 세션 아이콘을 다른 통신 세션(음성, 비디오, 메시징) 아이콘 위로 간단히 드래그할 수 있게 한다. 이것은 사용의 편의성 및 사용자 훈련의 감소를 위해 터치 기반 또는 다른 드래그 앤 드롭 특징들을 용이하게 할 수 있다.
도 11 및 도 14는 회의 통신 세션 연결 또는 다른 전송 세션을 트리거하기 위해 "Live Calls" 섹션에 표현되는 임의의 통신 세션 아이콘을 다른 통신 아이콘 위로 드래그할 수 있는 것을 설명하기 위해 사용자 인터페이스 컴포넌트(232)의 예시적인 스크린샷 이미지들을 예시하고 있다.
그에 따라, 사용자 인터페이스 컴포넌트(232)는 사용하기 쉬운 그래픽, 실시간 터치 기반(또는 다른 입력 방법) 또는 다른 드래그 앤 드롭 사용자 인터페이스를 제공한다. '드래그 앤 드롭'은 회의 통신 세션 연결을 트리거하는 예시적인 단일 동작이고, 입력 디바이스의 활성화 또는 통신 세션 아이콘의 선택 등과 같은 다른 단일 동작들이 사용될 수 있다.
이전의 해결책들은 "투스텝(two-step)" 통화 전환 또는 회의 프로세스를 필요로 하고, 사용자 인터페이스 컴포넌트(232)는 "원스텝" 또는 단일 동작 통화 전환 또는 회의 프로세스를 제공한다. 이것은 양 당사자들에 대해 통화를 일시중지하는 것, 통화를 대기상태에 두는 것, 그리고 이어서 세션의 각각의 레그에 참여하기 위한 다른 동작을 수반한다.
전화 회의의 경우, 사용자 인터페이스 컴포넌트(232)는 회의 통신 세션 연결을 트리거하기 위해 수행될 단일 동작의 표시를 제공할 수 있다. 사용자 인터페이스 컴포넌트(232)는 라이브 통신 세션의 그래픽 표현을, 실시간 속성들 또는 그의 상태와 함께, 제공한다. 사용자 인터페이스 컴포넌트(232)는 입력 하드웨어(예컨대, 터치 디스플레이 화면)에서 단일 동작 또는 사용자 상호작용을 검출하고, 이에 응답하여, 서버 플랫폼(220) API를 통해 회의 통신 세션 명령을 생성한다. 회의 명령은 회의에 대한 라이브 통화를 식별해주는 통화 식별자, 및 백엔드 서버 플랫폼(220)에의 회의 통신 세션 연결에 추가할 하나 이상의 컴퓨팅 디바이스들을 식별해주는 디바이스 또는 안내원 식별자들을 포함한다. 컴퓨팅 디바이스(230)는 회의 명령을 회의 애플리케이션(222)에게 전송한다. 회의 명령은, 예를 들어, 통화 당사자 디바이스(226)를 선택된 그래픽 표현 또는 아이콘과 연관된 컴퓨팅 디바이스(230, 236, 238, 240)에 연결시키기 위해, 메시지 교환 계층(900)(도 1)을 통해, 회의 통신 세션 연결을 물리적으로 또는 논리적으로 구축 또는 업데이트하는 동작들을 구현하기 위해 회의 애플리케이션(222)을 트리거한다. 컴퓨팅 디바이스(230)에 대한 사용자 인터페이스 컴포넌트(232)는 안내원 또는 교환원이 회의 통화 연결들을 효율적으로 구축할 수 있게 한다.
데이터 분석
본원에 기술되는 실시예들은 통신 서버 플랫폼이 관심의 문구들 및 외부 동작들에 대한 트리거를 식별하기 위해 음성 데이터를 처리하는 문구 검출 컴포넌트를 구현하는 클라우드 컴퓨팅 통신 시스템들에 관한 것이다.
실시간 통화내 문구 검출
본원에 기술되는 실시예들은 통신 서버 플랫폼의 분산 클라우드 기반 통신 처리 환경에서 진행중인 라이브 통신 세션에 대한 음성 데이터 내에서의 실시간 문구 검출을 위한 문구 검출 컴포넌트를 구현하는 통신 서버 플랫폼을 제공할 수 있다.
본원에 기술되는 실시예들은 실시간 문구 및 성향 검출 분석을 위한 NLP(natural language processor) 분석 엔진을 구현하는 문구 검출 하드웨어 및/또는 소프트웨어 컴포넌트를 제공할 수 있다. NLP 분석 엔진은 통신 서버 플랫폼 상에서 진행 중인 동안 통신 세션을 모니터링하는 실용적인 방법을 제공한다. NLP 분석 엔진은 실시간 진행 중인 통신 세션(예컨대, 음성, 비디오, 메시징)의 발화 신호(speech signal)들을 표현하는 음성 데이터(voice data) 내에서 검출된 문구들에 기초하여 미리 결정된 동작들의 수행을 트리거하는 제어 명령들을 외부 디바이스들에게 전송하기 위해 외부 동작 제어 컴포넌트를 트리거한다. NLP 분석 엔진은 라이브 통신 세션을 비침습적으로(non-intrusively) "듣거나(listen)" 다른 방식으로 모니터링하기 위해 NLP 기법들을 사용한다. 모든 통신 전송들이 그래픽 사용자 대시보드 인터페이스를 통해 실시간으로 모니터링될 수 있을 것이다. 이 인터페이스는 키워드들, 성향, 케이던스(cadence) 및 다른 음성 데이터를 검출하고 실시간으로 또는, 통신 시스템에 내장된, 통신후 전송 이력 데이터 로그(post communications transmission historical data log)들에서 이용가능한 통찰력, 자원 배포(resource deployment) 및 다른 프로토콜들을 시각적으로 디스플레이 및 제안할 수 있다.
도 16은 NLP 분석 엔진(258) 및 외부 동작 제어(260)(외부 동작 제어(260)는 차례로, 디바이스들의 하나 이상의 동작들을 작동시키거나 제어하는 제어 명령들을 하나 이상의 컴퓨팅 디바이스들에게 전송하기 위해 하나 이상의 컴퓨팅 디바이스들에 결합됨)를 구성하는 하드웨어 프로세서에 결합된 서버 플랫폼(250)을 예시하고 있다. 이 예에서, 서버 플랫폼(250)은 네트워크(256)를 통해 NLP 분석 엔진(258) 및 외부 동작 제어(260)를 구성하는 프로세서에 결합될 수 있다. 다른 예시적인 실시예들에서, NLP 분석 엔진(258) 및 외부 동작 제어(260)는 서버 플랫폼(250)의 내부 컴포넌트들일 수 있다. 서버 플랫폼(250)은 프로세서 및 메모리를 가지며, 본원에 기술되는 바와 같은 클라우드 기반 통신 서비스들을 구현한다. 회의 통신 세션 연결의 경우, 서버 플랫폼(250)은 네트워크(252)를 통해 하나 이상의 통화 당사자 디바이스들(254)에 연결하고, 서버 플랫폼(250)은 네트워크(256)를 통해 직접 또는 사무실 또는 원격 시스템(262)의 하나 이상의 디바이스들(264, 266, 268)에 연결한다. 안내원들 또는 교환원들은 컴퓨팅 디바이스들(264, 266, 268)을 조작할 수 있다. 일부 실시예들에서, 하나 이상의 컴퓨팅 디바이스들(264, 266, 268)은 사무실 시스템(262)으로부터 분리되어 멀리 떨어져 있을 수 있다.
NLP 분석 엔진(258)은 통신 세션의 대화 전체에 걸쳐 말해지거나 사용되는 문구들, 성향 및 다른 이용가능한 음성 또는 텍스트 기반 단서(cue)들을 검출하기 위해 라이브 통신 세션을 효과적으로 "듣거나" 다른 방식으로 모니터링하는 방법을 구현한다. NLP 분석 엔진(258)은 외부 동작 제어(260)를 통해 그 단어들 또는 문구들에 기초하여 미리 결정된 동작들의 수행을 트리거링한다.
NLP 분석 엔진(258)은 단어들 및 문구들을 데이터 저장소에 저장된 문구 쌍들과 비교하는 독점적 알고리즘들을 구현한다. 단어의 끝을 결정하고 문구에 계속하여 추가하기 위해 무음(silence)을 검출하는 것에 의해 문구가 연결(예컨대, 음성, 오디오를 갖는 비디오)의 발화 신호들을 변환하는 것에 의해 생성된 텍스트 데이터 또는 메시징 세션의 텍스트 데이터를 사용하여 끊임없이 그리고 동적으로 결정 및 분석된다. 이 무음 검출 기준들은 개별 언어들, 방언들 및 발화 케이던스 패턴(speech cadence pattern)들의 성과를 미세 조정(fine tune)하기 위해 동적으로 선택가능하다. NLP 분석 엔진(258)이 일치를 검출하면, NLP 분석 엔진(258)은 미리 결정된 기준들에 기초하여 미리 결정된 동작을 수행하기 위해 하나 이상의 제어 명령들을 연결된 디바이스들에게 전송하기 위해 외부 동작 제어(260)를 트리거한다. 예를 들어, NLP 분석 엔진(258)은 데이터 저장소에 저장된 하나 이상의 문구 쌍들을 하나 이상의 미리 결정된 동작들에 링크시킬 수 있고, 외부 동작 제어(260)는 링크된 미리 결정된 동작들에 기초하여 제어 명령을 생성 및 전송하도록 구성된다. 외부 동작 제어(260)는 NLP 분석 엔진(258)에 의한 일치 검출에 응답하여 제어 명령들을 사용하여 하나 이상의 디바이스들의 동작을 제어한다. 미리 결정된 기준들의 일부 예들은 수퍼바이저로의 자동 전환을 사용해 상담원들 또는 제3자 발신자들에 의한 모독적 발언의 사용 및/또는 분노를 검출하는 것, 교차 판매(cross-sell)를 장려하는 특정 마케팅 트리거 단어들, 특정 콜 센터 상담원들을, 그들의 언어 및 방언에 기초하여 특정 발신자들의 요구를 핸들링하기 위해, 선택하는 것, 및 실시간으로 또는 무한의 통화후 이력 분석을 위해 콜 센터 스크립트 수행(call center script performance)을 통계적으로 분석하는 것을 포함한다.
문구가 끊임없이 그리고 동적으로 메모리에 빌드(build)되고, 연결(예컨대, 음성, 오디오를 갖는 비디오)의 발화 신호들을 변환하는 것에 의해 생성된 텍스트 및 음성 데이터 또는 메시징 세션의 텍스트 데이터를 사용하여 분석된다. NLP 분석 엔진(258)은 음성-텍스트 프로세서(speech to text processor)를 사용하여 발화 신호들을 텍스트 데이터로 변환할 수 있다. NLP 분석 엔진(258)은 이어서 하나 이상의 미리 결정된 동작에 링크된 문구들, 언어, 억양(intonation), 케이던스, 음색(timbre) 또는 성향을 검출하기 위해 (음성-텍스트 프로세서로부터 획득된, 또는 직접적으로, 예를 들어, 메시징 애플리케이션을 통한 텍스트 데이터로서의) 텍스트 데이터에 대해 매칭을 수행할 수 있다. NLP 분석 엔진(258)은 전체 문구들을 식별하거나 텍스트 데이터 또는 음성 신호(voice signal)들을 문구의 단어 성분들로 세그먼트화할 수 있다. 단어의 끝을 결정하기 위해 음성 신호들에서 무음을 검출하는 것에 의해 단어 성분들이 식별될 수 있다. 단어의 끝이 결정되면, 그것이 음성 또는 텍스트 데이터에 추가되어, 분석을 위한 문구를 정의한다. 무음 검출을 사용하여 단어를 문구에 추가하는 각각의 인스턴스는 차례로 추가 분석을 위해 NLP 분석 엔진(258)에 대한 다른 호출을 트리거하고, 그에 의해 문구를 계속하여 그리고 동적으로 분석한다. 감시 환경 적용분야에서, 테러에 관련된 단어들 또는 문구들을 검출할 시에, 정부 기관은 즉각 통지받고 적절한 조치를 취할 수 있다.
일부 실시예들에 따르면, NLP 분석 엔진(258)은 문구들 및 트리거 제어 명령들을 검출하는 5 단계 파라미터 접근법(five tier parameter approach)을 구현할 수 있다. 도 7은 5 단계 파라미터 접근법에 대한 방법의 플로차트도를 예시하고 있다. 단계(280)에서, NLP 분석 엔진(258)은 음성 또는 텍스트 데이터에 대한 신택스(syntax)를 결정하기 위해 신택틱 알고리즘(syntactic algorithm)을 구현할 수 있다. 이 프로세스는 구, 절 및 문장을 형성하기 위해 단어들이 조합되는 방식들을 좌우하는 규칙들을 분석한다. 신택스는 문법의 주요 성분들 중 하나이다. 예를 들어, "Colorless green ideas sleep furiously."는 문법적으로는 의미가 있지만 그의 신택스로 인해 이해하기 어렵다. 단계(282)에서, NLP 분석 엔진(258)은 시맨틱스를 결정할 수 있고, 284에서, 문구 쌍들의 데이터 저장소를 유지하고 그와 대조하여 룩업(lookup)할 수 있다. 그에 부가하여, 단계들(286 및 288)에서, NLP 분석 엔진(258)은 음성의 음량 변화들 및 케이던스 변화들의 검출을 가능하게 하기 위해 레벨 및 케이던스 검출을 구현할 수 있다. NLP 시맨틱 처리는 단어들이 어떻게 "의미"를 갖는지; 단어들이 어떻게 지시(reference)(외연(denotation)) 및 연관된 개념들(내포(connotation)들)을 갖는지를 검사한다. 예를 들어, '잔디'라는 단어를 녹색과 연관시킨다. NLP 분석 엔진(258)은, 주어진 문장 내의 명사, 동사 및 형용사 등은 물론 주어, 목적어 및 다른 수식어들을 비롯한 그들 사이의 다양한 관계들과 같은, 각각의 단어에 대한 품사 태그들을 예측하기 위해 284에서 신택틱 레벨 처리를 구현할 수 있다. 문구 쌍 모니터링 예들은 다음과 같은 고려되는 문구 쌍 모니터링을 포함한다: (1) 핵명사(head noun) 및 그의 왼쪽에 있는 형용사 또는 명사 부가어(noun adjunct), (2) 핵명사 및 그의 오른쪽에 있는 부가어의 핵어(head), (3) 절의 본동사(main verb) 및 그의 목적어구의 핵어, 그리고 (4) 주어구의 핵어 및 본동사. 이 유형들의 쌍들은 2개의 단어들(또는 간단한 문구들)을 호응가능한 시맨틱 내용을 담고 있는 쌍들에 관련시키는 시맨틱 변형(syntactic variant)들의 대부분을 고려한다. 예를 들어, 'retrieve + information' 쌍은 다음과 같은 프래그먼트들로부터 추출될 수 있다: "retrieval of information from databases". NLP 분석 엔진(258)은 강력한 모델링을 구축(build)하기 위해 다국어 신택틱 분석(multilingual syntactic analysis)을 구현할 수 있다. 이것은 자원이 풍부한 언어(resource rich language)로부터의 지식을 보다 적은 자원들을 가질 수 있는 언어로 전환하는 것을 가능하게 한다.
282에서의 시맨틱 접근법은 명사구들을 사람, 조직, 위치 또는 보통 명사 중 어느 하나로서 태깅하고, 자유 텍스트(free text)로 된 엔티티들의 언급들을 지식 베이스에서의 엔티티들과 대조하여 분해(resolve)하는 데이터 세트들 내에서는 물론 데이터 세트들에 걸쳐서도 동일한 엔티티를 언급하는 명사구들을 클러스터링하는 것, 관계 및 지식 추출에 의해 명사구 추출과 같은 문제점들을 해결한다.
발화된 단어의 케이던스에 관한 케이던스 검출 보고(288에서 생성됨)는 공격적, 화난 발언(anger speech), 다른 음성 단서들 등과 같은 것들을 결정하기 위해 NLP 분석 엔진(258)에 의해 사용하기 위한 말 속도(rate of speech) 및 변화들에 관한 데이터를 포함한다. (286에서의) 레벨 검출은 NLP 분석 엔진(258)이 음량 레벨들 및 발화 패턴(speech pattern)의 변화들을 보고한다는 점에서 이와 유사하게 사용된다. 레벨 및 케이던스 검출은 사람의 어조(tone of voice) 또는 다른 음성 특성들에 기초하여 성향 및 감정을 결정하기 위해 발화 패턴들에서의 진폭 및 케이던스의 변동을 검출할 수 있다.
종래의 접근법들은 인간 교환원에게 원하는 동작을 수행하기 위해 통화를 수동으로 듣고 모니터링할 것을 요구할 수 있다. 이것은 시간 소모적이고, 부정확하며, 인적 자원의 비효율적인 사용이고, 비용을 증가시키며, 기타일 수 있다. 주어진 통신 시스템에 내장되지 않은 추가의 해결책들은 하드웨어 및/또는 소프트웨어의 추가 투자를 필요로 할 수 있다.
문구 탐색기(Phrase Finder)
본원에 기술되는 실시예들은 문구 분석 및 검출을 위한 문구 검출 컴포넌트를 구현하는 통신 서버 플랫폼을 제공할 수 있다. 문구 분석 및 검출 컴포넌트는 통신 서버 플랫폼의 분산 클라우드 기반 통신 처리 환경에 대한 음성 또는 비디오 메일 메시지들의 음성 데이터, 또는 문자 메시지의 텍스트 데이터를 처리한다.
자신의 디바이스로부터 떨어져 있거나 바쁜(occupied) 동안, 사용자는 특정 정보가 남아 있는 음성 메일의 경우에 작업들을 위임하거나 특정 상황들에 대응할 수 없다. 복귀할 시에, 어느 통신 세션(예컨대, 음성, 비디오, 메시징) 메일들이 순서대로 응답되어야 하는지를 결정하는 것이 어려울 수 있다.
서버 플랫폼은 특정 단어들 또는 문구들은 물론 "음량, 피치(pitch) 및 어조(tone)"의 변화들을 검출한다. 이것은 작업 위임, 프롬프트(prompt)들 또는, 응급의 경우에, 에스컬레이션(escalation)과 같은 특정 응답들을 가능하게 한다. 이 기술은 미리 결정된 특정 문구 또는 단어가 있는지 메일 및 메시지들(예컨대, 음성, 비디오, 메시징)을 스캔하고, 사용자 또는 2차 사용자(secondary user)에게 동작을 수행하거나 다른 컴포넌트에 의한 동작을 트리거하라고 통지하는 것과 같은 동작을 수행한다.
예를 들어, 사용자가 휴가 중이고 다음 주 동안 그의 책상으로부터 멀리 떨어져 있으면, 특정 키워드들이 있는지 그의 음성 메일들 전부가 스캔될 수 있다. 이메일, 문자 메시지 또는 음성 메일과 같은 임의의 통신에 "Saigon Project"라는 단어들이 나오면, 추가의 동작이 필요한 경우 어시스턴트(assistant)가 즉각 통지받아야만 한다고 지정할 수 있다. 그에 부가하여, 사용자는 키워드들 및 문구들이 있는지 메시지들을 쉽게 탐색할 수 있다.
서버 플랫폼은 (도 17에 도시된 바와 같이) 5 단계 파라미터 접근법 내의 요소들 중 일부 또는 전부의 조합을 사용할 수 있다. 제1 단계는 서버 플랫폼이 (280에서) 신택스를 결정하는 신택틱 알고리즘이다. 이어서, 서버 플랫폼은 (282에서) 시맨틱스를 결정하고 (284에서) 문구 쌍들의 데이터베이스를 유지하고 그와 대조하여 룩업한다. 이 2개의 프로세스들에 부가하여, 서버 플랫폼은 음성의 음량 변화들 및 케이던스 변화들의 검출을 가능하게 하기 위해 (286, 288에서의) 레벨 및 케이던스 검출을 추가한다.
신택틱 레벨에서, 프로세스는 주어진 문장 내의 명사, 동사 및 형용사는 물론 주어, 목적어 및 다른 수식어들을 비롯한 그들 사이의 다양한 관계들과 같은, 각각의 단어에 대한 품사 태그들을 예측한다. 다국어 신택틱 분석은 강인한 모델링을 구축한다. 이것은 자원이 풍부한 언어로부터의 지식을 보다 적은 자원들을 가질 수 있는 언어로 전환하는 것을 가능하게 한다.
시맨틱 접근법은 이 명사구들을 사람, 조직, 위치 또는 보통 명사 중 어느 하나로서 태깅하고, 자유 텍스트로 된 엔티티들의 언급들을 지식 베이스에서의 엔티티들과 대조하여 분해하는 데이터 세트들 내에서는 물론 데이터 세트들에 걸쳐서도 동일한 엔티티를 언급하는 명사구들을 클러스터링하는 것, 관계 및 지식 추출에 의해 명사구 추출과 같은 문제점들을 처리할 수 있다.
서버 플랫폼이 공격적인 발언과 같은 것들을 결정할 수 있도록, 변화들 및 말 속도에 관해 보고하기 위해 케이던스 검출은 말해진 단어의 케이던스에 관해 보고한다. 서버 플랫폼이 보고 진폭 레벨들 및 발화 패턴의 변화들을 계산한다는 점에서 레벨 검출이 이와 유사하게 사용된다.
발화 패턴은, 도 18에서 274에 도시된, 외부 동작 제어기 계층에 보고된다. 외부 동작 제어기(274)는 취할 동작을 결정한다. 그에 부가하여, 큰 과거 데이터 세트에 대해 과거 데이터 및 문구 분석을 수행하기 위해 이 도구가 메뉴로부터 호출될 수 있다. 외부 동작 제어기(274)는 실시간 분석 및 과거 데이터 분석을 수행한다.
서버 플랫폼은 이 처리 기능들을 자동화된 방식으로 수행한다. 현재의 접근법들은 사용자가 탐색하고 있는 정보를 찾아내기 위해 각각의 음성 메일을 독립적으로 들으라고 사용자에게 요구한다. 이 기술은 다양한 외부 또는 내부 동작들을 트리거하는 자동화 처리를 제공한다.
보안
본원에 기술되는 실시예들은 통신 서버 플랫폼이 다양한 보안 특징들을 구현하는 클라우드 컴퓨팅 통신 시스템들에 관한 것이다
보안 연결(Secure Connect)
본원에 기술되는 실시예들은 (예컨대, 진행 중인) 라이브 통신 세션에서 교환되는 음성, 비디오 및 텍스트 데이터를 사용해 SIP 기반 통신 디바이스에 대한 2차 보안 연결(secondary secure connection)을 구현하는 통신 서버 플랫폼을 제공할 수 있다. 통신 서버 플랫폼의 분산 클라우드 기반 통신 처리 환경에서 보안 연결(secure connection)이 제공된다.
도 19는 2차 보안 연결을 제공하기 위한 데이터 흐름의 개략도를 예시하고 있다. 300에서, 디바이스는, 예를 들어, 클라이언트 애플리케이션을 통해 인증을 개시한다. 302에서, 2차 보안 연결 또는 "보안 연결"은 외부 저장소(304)로부터의 데이터를 사용하여 디바이스를 인증한다. 306에서, 2차 보안 연결 또는 "보안 연결"은 부가의 인증 계층으로서 디바이스 ID 검증(device identity verification)을 구현한다.
관리 및 다른 사용자들이 그들에게 현재 이용가능한 것보다 디바이스들의 더 높은 레벨의 보안 및 인증을 요구할 수 있다. 주변 디바이스들 및 소프트폰(soft phone)들은 단일 계층 인증 프로세스를 통해 PBX 교환기들에 액세스할 수 있다. 누군가가 패스워드에 액세스할 수 있다면, 그들은 PBX 플랫폼 그리고 그의 기능 및 정보에 액세스할 수 있다.
"보안 연결" 프로세스는 투스텝 보안 프로세스를 통해 디바이스 인증을 제공한다. 이 듀얼 레벨 인증(dual level authentication)은, 서버 플랫폼에 의한 추가 MAC 검증 계층 인증에 부가하여, 다른 디바이스들에서 발견된 단일 계층을 포함한다. 디바이스들에 대한 이 듀얼 인증은 임의의 연결된 디바이스의 무단 사용을 방지하는 데 도움이 되는 다른 보안 레벨을 추가한다. 이것은 제3자 하드웨어가 시스템 상의 주변 디바이스들로서 안전하게 사용될 수 있게 한다.
보안 연결은 2차 보안 레벨을 표준 SIP 프로토콜에게 제공한다. 보안 연결은 MAC 주소를 관리자(administrator)에 의해 미리 결정된 데이터베이스 내의 허가된 MAC 주소들의 목록과 비교하는 것에 의해 2차 인증 레벨을 행하기 위해 외부 디바이스의 MAC 주소를 사용한다. 또한, 사기의 가능성을 표시하기 위해 IP 주소가 메모(note)될 수 있다.
공지된 접근법들은 클라이언트의 신뢰성(authenticity)을 보장하기 위해 각각의 디바이스 연결을 모니터링하기 위한 부가의 인력충원 및/또는 노력을 필요로 하는 수동 감독(manual oversight)을 사용하며, 이는 대규모 환경에서는 비실용적이다.
보안 연결은 듀얼 인증 계층에 의해 지원되는 강화된 보안을 제공한다. 듀얼 계층 인증은 이용가능한 현재의 비즈니스 전화 및/또는 통신 교환 시스템들보다 더 나은 보호를 제공한다.
보안 스크램블링된 음성 메일(Secure Scrambled Voice Mail)
본원에 기술되는 실시예들은 분산 클라우드 기반 통신 처리 환경에서 SSVM(Secure Scrambled Voice Mail)를 제공하기 위해 보안 가상 머신(secure virtual machine)을 구현하는 통신 서버 플랫폼을 제공할 수 있다.
분산 환경 또는 인터넷 액세스 등을 위한 외부 데이터 링크를 갖는 임의의 환경에서의 음성 메일은 내부 및 외부 해커들로부터의 외부 위협들에 취약하다. 분산 또는 클라우드 기반 음성 처리 시스템 또는 음성 메일을 로컬적으로 저장하고 데이터 링크 등을 통해 외부 세계에 액세스할 수 있는 시스템 중 어느 하나. 저장된 음성 메일 메시지들은 외부 해커 공격(external hacker attack) 또는 내부 사용자 데이터 도용(internal user data theft)에 의해 손상되는 것에 취약하다. 현재 기술은 파일 레벨 음성 메일 암호화를 제공하지 않는다. 해커가 시스템에 액세스할 수 있다면, 해커는 음성 메일 메시지들을 쉽게 다운로드하고 들을 수 있다. 대부분의 음성 메일 시스템들이 많은 디바이스들에서 기본적으로 재생될 수 있는 표준 .wav 또는 .mp3 파일들을 사용하고 공유, 전파 또는 다운로드하기가 쉽다는 것이 이것과 결합된다.
서버 플랫폼은, 음성 메일 파일을 고 비트 레이트 가변 키 기반 암호화(high bit rate variable key based encryption)를 사용하여 스크램블링하는 것에 의해, 음성 메일 파일을 변환한다. 서버 플랫폼은 파일을 분할하여 음성 메일, 메시징 및/또는 다른 유형의 파일을 처리하고 다양한 조각(piece)들을 다양한 위치들에 있는 다수의 드라이브들 상에 저장한다.
슬라이스 서버(314)에 포함된 로직은 세션 인스턴스마다 동적으로 스크램블링 및 슬라이싱을 생성하고 그에 의해 음성 메시지 파일을 매번 상이하게 스크램블링 및 슬라이싱한다. 음성 메일 또는 메시징 파일들이 슬라이싱되고 스크램블링되도록, 스크램블링이 랜덤하게 생성된 키에 기초할 수 있다. 각각의 슬라이스는 상이한 물리적 위치에 저장될 수 있다. 위치는 슬라이싱 및 스크램블링 처리 알고리즘에서의 변수인 추가의 보안 레벨이다. 이 추가된 변수는 부가의 보안 레벨을 제공한다. 이 해결책은 메시지 레벨 보호를 위한 파일 레벨 암호화를 제공한다.
도 20은 보안 음성 메일 시스템에 대한 개략도를 예시하고 있다. 음성 메일 엔진(312)은 음성 메일 파일들을 저장 및 검색하기 위해 저장 라우터(storage router)(310)와 상호작용한다. 이 프로세스를 구현하는 슬라이스 서버(314)는 비밀 키 서버 (316)로부터의 비밀 키에 액세스한다. 슬라이싱되고 스크램블된 음성 메일 파일들로부터의 데이터 청크들(320, 322, 324)은, 이 예에서 사설 네트워크(318)에 의해 저장 라우터(310)에 연결하는, 상이한 파일 서버 위치들(326, 328, 330)에 저장된다.
일 양태에서, 일부 실시예들은 본원에 기술되는 통신 서비스들 및 기능의 조합들을 포함할 수 있다. 도 21은 디바이스들(406, 416, 410, 412, 414)에 연결하는 향상된 전화 서버 플랫폼(400)을 제공하기 위해 응집력있게(cohesively) 작동하는 상이한 컴포넌트들을 포함하는 예시적인 포괄적 시스템을 예시하고 있다. 향상된 전화 서버 플랫폼(400)은 NLP 분석 엔진과 외부 동작 제어(420)의 결합을 포함할 수 있다. 일부 디바이스들(410, 412, 414)은 직접 또는 사무실 또는 원격 시스템(408)의 일부일 수 있다. 디바이스(416)는 기술된 바와 같이 사용자 인터페이스 컴포넌트(418)를 포함할 수 있다.
본원에 기술되는 디바이스들, 시스템들 및 방법들의 실시예들은 하드웨어 및 소프트웨어 둘 다의 조합으로 구현될 수 있다. 이 실시예들은 프로그래밍가능 컴퓨터들 상에 구현될 수 있으며, 각각의 컴퓨터는 적어도 하나의 프로세서, 데이터 저장 시스템(휘발성 메모리 또는 비휘발성 메모리 또는 다른 데이터 저장 요소들 또는 이들의 조합을 포함함), 및 적어도 하나의 통신 인터페이스를 포함한다.
본원에 기술되는 기능들을 수행하고 출력 정보를 생성하기 위해 프로그램 코드가 입력 데이터에 적용된다. 출력 정보가 하나 이상의 출력 디바이스들에 적용된다. 일부 실시예들에서, 통신 인터페이스는 네트워크 통신 인터페이스일 수 있다. 요소들이 조합될 수 있는 실시예들에서, 통신 인터페이스는, 프로세스간 통신을 위한 것들과 같은, 소프트웨어 통신 인터페이스일 수 있다. 또 다른 실시예들에서, 하드웨어, 소프트웨어, 및 이들의 조합으로서 구현되는 통신 인터페이스들의 조합이 있을 수 있다.
전술한 논의 전반에 걸쳐, 컴퓨팅 디바이스들로 형성된 서버들, 서비스들, 인터페이스들, 포털들, 플랫폼들, 또는 다른 시스템들에 관한 수많은 참조들이 행해질 수 있다. 이러한 용어들의 사용이 컴퓨터 판독가능 유형적, 비일시적 매체(computer readable tangible, non-transitory medium) 상에 저장된 소프트웨어 명령어들을 실행하도록 구성된 적어도 하나의 프로세서를 갖는 하나 이상의 컴퓨팅 디바이스들을 나타내는 것으로 생각되어야 한다는 것을 잘 알 것이다. 예를 들어, 서버는 기술된 역할들, 책임들, 또는 기능들을 수행하는 방식으로 웹 서버, 데이터베이스 서버, 또는 다른 유형의 컴퓨터 서버로 작동하는 하나 이상의 컴퓨터들을 포함할 수 있다.
전술한 논의는 많은 예시적인 실시예들을 제공한다. 각각의 실시예가 발명 요소들의 단일 조합을 나타내지만, 다른 예들은 개시된 요소들의 모든 가능한 조합들을 포함할 수 있다. 따라서, 일 실시예가 요소들(A, B 및 C)을 포함하고, 제2 실시예가 요소들(B 및 D)을 포함하면, A, B, C 또는 D의 다른 나머지 조합들이 또한 사용될 수 있다.
"연결된(connected)" 또는 "결합된(coupled to)"이라는 용어는 (서로 결합되는 2개의 요소들이 서로 접촉하는) 직접 결합(direct coupling) 및 (적어도 하나의 부가 요소가 2개의 요소들 사이에 위치되는) 간접 결합(indirect coupling) 둘 다를 포함한다.
실시예들의 기술적 해결책이 소프트웨어 제품의 형태일 수 있다. 소프트웨어 제품은, CD-ROM(compact disk read-only memory), USB 플래시 디스크, 또는 이동식 하드 디스크일 수 있는, 비휘발성 또는 비일시적 저장 매체에 저장될 수 있다. 소프트웨어 제품은 컴퓨터 디바이스(개인용 컴퓨터, 서버, 또는 네트워크 디바이스)가 실시예들에 의해 제공되는 방법들을 실행할 수 있게 하는 다수의 명령어들을 포함한다.
본원에 기술되는 실시예들은, 컴퓨팅 디바이스들, 서버들, 수신기들, 송신기들, 프로세서들, 메모리, 디스플레이들, 및 네트워크들을 비롯한, 물리적 컴퓨터 하드웨어에 의해 구현된다. 본원에 기술되는 실시예들은 유용한 물리적 머신들 및 특별히 구성된 컴퓨터 하드웨어 장치(computer hardware arrangement)들을 제공한다. 본원에 기술되는 실시예들은 다양한 유형들의 정보를 나타내는 전자기 신호들을 처리하고 변환하도록 구성된 전자 머신(electronic machine)들 및 전자 머신들에 의해 구현되는 방법들에 관한 것이다. 본원에 기술되는 실시예들은 광범위하게 그리고 통합적으로 머신들 및 그들의 용도들에 관한 것이고; 본원에 기술되는 실시예들은 컴퓨터 하드웨어, 머신들, 및 다양한 하드웨어 컴포넌트들에서 사용하지 않으면 어떤 의미 또는 실제 적용가능성도 갖지 않는다. 예를 들어, 정신적 단계들을 사용하는, 비-물리적 하드웨어를 다양한 행동들을 구현하도록 특별히 구성된 물리적 하드웨어로 치환하는 것은 실시예들이 작동하는 방식에 실질적으로 영향을 미칠 수 있다. 이러한 컴퓨터 하드웨어 제한들은 명백히 본원에 기술되는 실시예들의 필수적인 요소들이며, 그들은 생략될 수 없거나 본원에 기술되는 실시예들의 동작 및 구조에 그다지 영향을 미치지 않으면서 정신적 수단들을 대체할 수 없다. 컴퓨터 하드웨어는 본원에 기술되는 다양한 실시예를 구현하는 데 필수적이며, 신속하게 그리고 효율적인 방식으로 단계들을 수행하기 위해 단순히 사용되는 것이 아니다.
실시예들이 상세히 기술되었지만, 첨부된 청구항들에 의해 한정되는 바와 같은 범주를 벗어나지 않으면서 다양한 변경들, 치환들 및 수정들이 이루어질 수 있다는 것을 잘 알 것이다.
더욱이, 본 출원의 범주는 본 명세서에 기술된 물질, 수단들, 방법들 및 단계들의 프로세스, 머신, 제조, 및 조성의 특정의 실시예들로 한정되는 것으로 의도되어 있지 않다. 본 기술분야의 통상의 기술자라면 본 발명의 개시내용으로부터 용이하게 알 것인 바와 같이, 본원에 기술되는 대응하는 실시예들과 실질적으로 동일한 기능을 수행하거나 실질적으로 동일한 결과를 달성하는, 현재 존재하거나 나중에 개발될, 프로세스들, 머신들, 제조, 물질의 조성들, 수단들, 방법들, 또는 단계들이 이용될 수 있다. 그에 따라, 첨부된 청구항들은 이러한 프로세스들, 머신들, 제조, 물질의 조성들, 수단들, 방법들, 또는 단계들을 그들의 범주 내에 포함하는 것으로 의도되어 있다.
이해될 수 있는 바와 같이, 앞서 기술되고 예시된 예들은 단지 예시적인 것으로 의도되어 있다.

Claims (30)

  1. 클라우드 기반 통신 시스템으로서,
    (a) 통신 서버 플랫폼(telecommunications server platform)과 다수의 클라이언트 디바이스들 사이의 통신 세션 연결들을 위한 통신 교환 플랫폼(telecommunications switching platform); 및
    (b) 상기 통신 세션 연결 및 데이터 패킷 교환을 구축(establish)하기 위해 상이한 유형들 및 포맷들의 상기 다수의 클라이언트 디바이스들에 끊김없이(seamlessly) 그리고 실시간으로 연결하는 클라우드 컴퓨팅 통신 교환기 디바이스(cloud computing telecommunications switch device) - 상기 데이터 패킷들은 음성, 비디오, 메시징, 화면 방송(screen broadcasting), 회의(conferencing), 비디오/음성 등일 수 있음 - 를 포함하는, 클라우드 기반 통신 시스템.
  2. 제1항에 있어서,
    (a) 클라우드 기반 분산 통신 세션 처리를 위한 통신 서버 플랫폼 - 상기 서버 플랫폼은 상기 통신 세션을 위해 상기 교환 플랫폼 및 교환기 디바이스와 상호작용함 -; 및
    (b) 상기 통신 세션 연결 및 데이터 패킷 교환을 구축하는, 상기 통신 서버 플랫폼과 상기 다수의 클라이언트 디바이스들 사이의 실시간 양방향 소켓 데이터 스트림 연결(real time two-way socket data stream connection)을 추가로 포함하는, 클라우드 기반 통신 시스템.
  3. 제1항 또는 제2항에 있어서,
    (a) 상기 통신 세션을 위한 실시간 통신 세션 디스플레이 모니터링 및 관리자 클라이언트 디바이스와의 양방향 상호작용을 제공하는 LCC(live call communicator) 인터페이스를 추가로 포함하는, 클라우드 기반 통신 시스템.
  4. 제1항 내지 제3항 중 어느 한 항에 있어서, 진행 중인 상기 통신 세션을 중단시키지 않으면서 통신 세션 연결을 하나의 디바이스로부터 다른 디바이스로 끊김없이(seamlessly) 이동시키는 클라우드 기반 통화 이동 애플리케이션(cloud based move call application)을 추가로 포함하는, 클라우드 기반 통신 시스템.
  5. 제1항 내지 제4항 중 어느 한 항에 있어서, 통신 세션 관련 데이터에 기초하여 동적으로 그리고 자동으로 선택되어 클라이언트 디바이스에게 전달될 대기중 메시징(on-hold messaging)을 선택하기 위한 스마트 홀드 애플리케이션(Smart Hold application)을 추가로 포함하는, 클라우드 기반 통신 시스템.
  6. 제5항에 있어서, 상기 통신 세션 관련 데이터는 발신자 ID 번호(caller ID number), 다이얼링한 번호(dialed number), 선호사항들, 통화 발신지의 SIP(session initiation protocol) 주소, 또는 다른 통화 관련 데이터를 포함하는, 클라우드 기반 통신 교환 플랫폼.
  7. 제1항 내지 제6항 중 어느 한 항에 있어서, 동적 입력 및 라우팅 기준들을 사용하여 네트워크 하드웨어 컴포넌트들을 통한 그리고 상기 통신 세션(음성, 비디오, 메시징)의 디바이스들 간의 통신 세션 연결 데이터 패킷들의 라우팅을 제어하는 트래픽 관리 애플리케이션을 추가로 포함하는, 클라우드 기반 통신 시스템.
  8. 제1항 내지 제7항 중 어느 한 항에 있어서, 상기 클라우드 기반 통신 시스템에 대한 네트워크 제어기 - 상기 네트워크 제어기는:
    (a) 복수의 지리적으로 다양한 통신 서버들 및 네트워크 인프라스트럭처를 사용하는 복수의 통신 세션 디바이스들 간의 통화 연결에 대한 요청을 검출하고, 이에 응답하여, 상기 복수의 이질적 디바이스들 간의 상기 통화 연결을 위해 상기 복수의 지리적으로 다양한 통신 서버들에 걸친 분산을 결정하는 프로세서; 및
    (b) 상기 복수의 지리적으로 다양한 통신 서버들에 걸친 상기 분산을 사용하여 상기 복수의 이질적 디바이스들 사이의 통신 세션 연결을 구축하는 라우팅 하드웨어를 포함함 - 를 추가로 포함하는, 클라우드 기반 통신 시스템.
  9. 제1항 내지 제8항 중 어느 한 항에 있어서,
    (a) 클라우드 기반 분산 통신 세션 처리를 위한 통신 서버 플랫폼; 및
    (b) 디스플레이 디바이스 상에 디스플레이하기 위한 그래픽 사용자 인터페이스에 결합된 전환 애플리케이션(transfer application) - 상기 전환 애플리케이션은 상기 그래픽 사용자 인터페이스에서 전환 동작(transfer action)을 검출한 것에 응답하여 상기 통신 서버 플랫폼을 사용하여 통신 세션 연결을 적어도 하나의 다른 통화 디바이스로 전환함 - 을 추가로 포함하는, 클라우드 기반 통신 시스템.
  10. 제1항 내지 제9항 중 어느 한 항에 있어서,
    (a) 클라우드 기반 분산 통신 세션 처리를 위한 통신 서버 플랫폼; 및
    (b) 디스플레이 디바이스 상에 디스플레이하기 위한 그래픽 사용자 인터페이스에 결합된 회의 애플리케이션(conference application) - 상기 회의 애플리케이션은 상기 그래픽 사용자 인터페이스에서 단일 동작을 검출한 것에 응답하여 상기 통신 서버 플랫폼을 사용하여 상기 복수의 이질적 디바이스들 간의 회의 통신 세션 연결을 구축함 - 을 추가로 포함하는, 클라우드 기반 통신 시스템.
  11. 제1항 내지 제10항 중 어느 한 항에 있어서,
    (a) 클라우드 기반 분산 통신 세션 처리를 위한 통신 서버 플랫폼; 및
    (b) 2차 인증 레벨(secondary level of authentication)을 갖는 상기 통신 서버 플랫폼을 사용하여 적어도 하나의 다른 통화 디바이스로의 통신 세션 연결을 보호하는 보안 애플리케이션을 추가로 포함하는, 클라우드 기반 통신 시스템.
  12. 제1항 내지 제11항 중 어느 한 항에 있어서,
    (a) 클라우드 기반 분산 통신 세션 처리를 위한 통신 서버 플랫폼;
    (b) 음성 메일 파일들을 갖는 데이터 저장 서버; 및
    (c) 슬라이싱(slicing) 및 스크램블링(scrambling) 프로세스를 사용하여 상기 음성 메일 파일들을 보호하는 보안 애플리케이션을 추가로 포함하는, 클라우드 기반 통신 시스템.
  13. 제1항 내지 제12항 중 어느 한 항에 있어서,
    (a) 클라우드 기반 분산 통신 세션 처리를 위한 통신 서버 플랫폼;
    (b) 음성 메일 파일들을 갖는 데이터 저장 서버; 및
    (c) 외부 동작들을 트리거하기 위해 상기 음성 메일 파일들을 처리하는 NLP 애플리케이션을 추가로 포함하는, 클라우드 기반 통신 시스템.
  14. 제1항 내지 제13항 중 어느 한 항에 있어서,
    (a) 클라우드 기반 분산 통신 세션 처리를 위한 통신 서버 플랫폼; 및
    (b) 외부 동작들을 트리거하기 위해 진행 중인 통신 세션에 대한 데이터 파일들을 처리하는 NLP 애플리케이션을 추가로 포함하는, 클라우드 기반 통신 시스템.
  15. 클라우드 기반 통신 시스템으로서,
    (a) 통신 서버 플랫폼과 다수의 클라이언트 디바이스들 사이의 통신 세션 연결들을 위한 통신 교환 플랫폼;
    (b) 상기 통신 세션 연결 및 데이터 패킷 교환을 구축하기 위해 상이한 유형들 및 포맷들의 다수의 클라이언트 디바이스들에 끊김없이 그리고 실시간으로 연결하는 클라우드 컴퓨팅 통신 교환기 디바이스 - 상기 데이터 패킷들은 음성, 비디오, 메시징, 화면 방송, 회의, 비디오/음성 등일 수 있음 -;
    (c) 상기 통신 세션 연결 및 데이터 패킷 교환을 구축하는, 상기 통신 서버 플랫폼과 클라이언트 디바이스들 사이의 실시간 양방향 소켓 데이터 스트림 연결;
    (d) 실시간 통신 세션 디스플레이 모니터링 및 관리자 클라이언트 디바이스와의 양방향 상호작용을 제공하는 LCC(live call communicator) 인터페이스;
    (e) 진행 중인 상기 통신 세션을 중단시키지 않으면서 통신 세션 연결을 하나의 디바이스로부터 다른 디바이스로 끊김없이 이동시키는 클라우드 기반 통화 이동 애플리케이션;
    (f) 통신 세션 관련 데이터에 기초하여 동적으로 그리고 자동으로 선택되어 클라이언트 디바이스에게 전달될 대기중 메시징을 선택하기 위한 스마트 홀드 애플리케이션;
    (g) 동적 입력 및 라우팅 기준들을 사용하여 네트워크 하드웨어 컴포넌트들을 통한 그리고 통신 세션(음성, 비디오, 메시징) 디바이스들 간의 통신 세션 연결 데이터 패킷들의 라우팅을 제어하는 트래픽 관리 애플리케이션;
    (h) 클라우드 기반 통신 시스템에 대한 네트워크 제어기 - 상기 네트워크 제어기는: 복수의 지리적으로 다양한 통신 서버들 및 네트워크 인프라스트럭처를 사용하는 복수의 통신 세션 디바이스들 간의 통화 연결에 대한 요청을 검출하고, 이에 응답하여, 상기 복수의 이질적 디바이스들 간의 상기 통화 연결을 위해 상기 복수의 지리적으로 다양한 통신 서버들에 걸친 분산을 결정하는 프로세서; 및 상기 복수의 지리적으로 다양한 통신 서버들에 걸친 상기 분산을 사용하여 상기 복수의 이질적 디바이스들 사이의 통신 세션 연결을 구축하는 라우팅 하드웨어를 포함함 -;
    (i) 디스플레이 디바이스 상에 디스플레이하기 위한 그래픽 사용자 인터페이스에 결합된 전환 애플리케이션 - 상기 전환 애플리케이션은 상기 그래픽 사용자 인터페이스에서 전환 동작을 검출한 것에 응답하여 상기 통신 서버 플랫폼을 사용하여 통신 세션 연결을 적어도 하나의 다른 통화 디바이스로 전환함 -;
    (j) 디스플레이 디바이스 상에 디스플레이하기 위한 그래픽 사용자 인터페이스에 결합된 회의 애플리케이션 - 상기 회의 애플리케이션은 상기 그래픽 사용자 인터페이스에서 단일 동작을 검출한 것에 응답하여 상기 통신 서버 플랫폼을 사용하여 상기 복수의 이질적 디바이스들 간의 회의 통신 세션 연결을 구축함 -;
    (k) 2차 인증 레벨을 갖는 상기 통신 서버 플랫폼을 사용하여 적어도 하나의 다른 통화 디바이스로의 통신 세션 연결을 보호하는 보안 애플리케이션;
    (l) 슬라이싱 및 스크램블링 프로세스를 사용하여 상기 음성 메일 파일들을 보호하는 보안 애플리케이션;
    (m) 외부 동작들을 트리거하기 위해 상기 음성 메일 파일들을 처리하는 NLP 애플리케이션; 및
    (n) 외부 동작들을 트리거하기 위해 진행 중인 통신 세션에 대한 데이터 파일들을 처리하는 NLP 애플리케이션을 포함하는, 클라우드 기반 통신 시스템.
  16. 클라우드 기반 통신 시스템으로서,
    (a) 클라우드 기반 분산 통신 세션 처리를 위한 통신 서버 플랫폼; 및
    (b) 상기 통신 세션 연결 및 데이터 패킷 교환을 구축하는, 상기 통신 서버 플랫폼과 클라이언트 디바이스들 사이의 실시간 양방향 소켓 데이터 스트림 연결을 포함하는, 클라우드 기반 통신 시스템.
  17. 제16항에 있어서,
    (a) 실시간 통신 세션 디스플레이 모니터링 및 관리자 클라이언트 디바이스와의 양방향 상호작용을 제공하는 LCC(live call communicator) 인터페이스를 갖는 통신 서버 플랫폼을 추가로 포함하는, 클라우드 기반 통신 시스템.
  18. 제16항 또는 제17항에 있어서, 진행 중인 상기 통신 세션을 중단시키지 않으면서 통신 세션 연결을 하나의 디바이스로부터 다른 디바이스로 끊김없이 이동시키는 클라우드 기반 통화 이동 애플리케이션을 추가로 포함하는, 클라우드 기반 통신 서버 플랫폼.
  19. 제16항 내지 제18항 중 어느 한 항에 있어서, 통신 세션 관련 데이터에 기초하여 동적으로 그리고 자동으로 선택되어 클라이언트 디바이스에게 전달될 대기중 메시징을 선택하기 위한 스마트 홀드 애플리케이션을 구성하는 통신 교환 플랫폼(telecommunications switching platform)을 추가로 포함하는, 클라우드 기반 통신 서버 플랫폼.
  20. 제19항에 있어서, 상기 통신 세션 관련 데이터는 발신자 ID 번호, 다이얼링한 번호, 선호사항들, 통화 발신지의 SIP 주소, 또는 다른 통화 관련 데이터를 포함하는, 클라우드 기반 통신 서버 플랫폼.
  21. 제16항 내지 제20항 중 어느 한 항에 있어서, 동적 입력 및 라우팅 기준들을 사용하여 네트워크 하드웨어 컴포넌트들을 통한 그리고 통신 세션(음성, 비디오, 메시징) 디바이스들 간의 통신 세션 연결 데이터 패킷들의 라우팅을 제어하는 트래픽 관리 애플리케이션을 추가로 포함하는, 클라우드 기반 통신 서버 플랫폼.
  22. 제16항 내지 제21항 중 어느 한 항에 있어서, 클라우드 기반 통신 시스템에 대한 네트워크 제어기 - 상기 네트워크 제어기는:
    (a) 복수의 지리적으로 다양한 통신 서버들 및 네트워크 인프라스트럭처를 사용하는 복수의 통신 세션 디바이스들 간의 통화 연결에 대한 요청을 검출하고, 이에 응답하여, 상기 복수의 이질적 디바이스들 간의 상기 통화 연결을 위해 상기 복수의 지리적으로 다양한 통신 서버들에 걸친 분산을 결정하는 프로세서; 및
    (b) 상기 복수의 지리적으로 다양한 통신 서버들에 걸친 상기 분산을 사용하여 상기 복수의 이질적 디바이스들 사이의 통신 세션 연결을 구축하는 라우팅 하드웨어를 포함함 - 를 추가로 포함하는, 클라우드 기반 통신 서버 플랫폼.
  23. 제16항 내지 제22항 중 어느 한 항에 있어서,
    (a) 디스플레이 디바이스 상에 디스플레이하기 위한 그래픽 사용자 인터페이스에 결합된 전환 애플리케이션 - 상기 전환 애플리케이션은 상기 그래픽 사용자 인터페이스에서 전환 동작(transfer action)을 검출한 것에 응답하여 상기 통신 서버 플랫폼을 사용하여 통신 세션 연결을 적어도 하나의 다른 통화 디바이스로 전환함 - 을 추가로 포함하는, 클라우드 기반 통신 서버 플랫폼.
  24. 제16항 내지 제23항 중 어느 한 항에 있어서,
    (a) 디스플레이 디바이스 상에 디스플레이하기 위한 그래픽 사용자 인터페이스에 결합된 회의 애플리케이션 - 상기 회의 애플리케이션은 상기 그래픽 사용자 인터페이스에서 단일 동작을 검출한 것에 응답하여 상기 통신 서버 플랫폼을 사용하여 상기 복수의 이질적 디바이스들 간의 회의 통신 세션 연결을 구축함 - 을 추가로 포함하는, 클라우드 기반 통신 서버 플랫폼.
  25. 제16항 내지 제24항 중 어느 한 항에 있어서,
    (a) 2차 인증 레벨을 갖는 상기 통신 서버 플랫폼을 사용하여 적어도 하나의 다른 통화 디바이스로의 통신 세션 연결을 보호하는 보안 애플리케이션을 추가로 포함하는, 클라우드 기반 통신 서버 플랫폼.
  26. 제16항 내지 제25항 중 어느 한 항에 있어서,
    (a) 음성 메일 파일들을 갖는 데이터 저장 서버; 및
    (b) 슬라이싱 및 스크램블링 프로세스를 사용하여 상기 음성 메일 파일들을 보호하는 보안 애플리케이션을 추가로 포함하는, 클라우드 기반 통신 서버 플랫폼.
  27. 제16항 내지 제26항 중 어느 한 항에 있어서,
    (a) 음성 메일 파일들을 갖는 데이터 저장 서버; 및
    (b) 외부 동작들을 트리거하기 위해 상기 음성 메일 파일들을 처리하는 NLP 애플리케이션을 추가로 포함하는, 클라우드 기반 통신 서버 플랫폼.
  28. 제16항 내지 제27항 중 어느 한 항에 있어서,
    (a) 외부 동작들을 트리거하기 위해 진행 중인 통신 세션에 대한 데이터 파일들을 처리하는 NLP 애플리케이션을 추가로 포함하는, 클라우드 기반 통신 서버 플랫폼.
  29. 제16항 내지 제28항 중 어느 한 항에 있어서,
    (a) 통신 교환 플랫폼; 및
    (b) 상기 통신 세션 연결 및 데이터 패킷 교환을 구축하기 위해 상이한 유형들 및 포맷들의 다수의 클라이언트 디바이스들에 끊김없이 그리고 실시간으로 연결하는 클라우드 컴퓨팅 통신 교환기 디바이스 - 상기 데이터 패킷들은 음성, 비디오, 메시징, 화면 방송, 회의, 비디오/음성 등일 수 있음 - 를 추가로 포함하는, 클라우드 기반 통신 서버 플랫폼.
  30. 클라우드 기반 통신 시스템으로서,
    (a) 통신 서버 플랫폼과 다수의 클라이언트 디바이스들 사이의 통신 세션 연결들을 위한 통신 교환 플랫폼;
    (b) 상기 통신 세션 연결 및 데이터 패킷 교환을 구축하기 위해 상이한 유형들 및 포맷들의 다수의 클라이언트 디바이스들에 끊김없이 그리고 실시간으로 연결하는 클라우드 컴퓨팅 통신 교환기 디바이스 - 상기 데이터 패킷들은 음성, 비디오, 메시징, 화면 방송, 회의, 비디오/음성 등일 수 있음 -;
    (c) 상기 통신 세션 연결 및 데이터 패킷 교환을 구축하는, 상기 통신 서버 플랫폼과 클라이언트 디바이스들 사이의 실시간 양방향 소켓 데이터 스트림 연결;
    (d) 실시간 통신 세션 디스플레이 모니터링 및 관리자 클라이언트 디바이스와의 양방향 상호작용을 제공하는 LCC(live call communicator) 인터페이스;
    (e) 진행 중인 상기 통신 세션을 중단시키지 않으면서 통신 세션 연결을 하나의 디바이스로부터 다른 디바이스로 끊김없이 이동시키는 클라우드 기반 통화 이동 애플리케이션;
    (f) 통신 세션 관련 데이터에 기초하여 동적으로 그리고 자동으로 선택되어 클라이언트 디바이스에게 전달될 대기중 메시징을 선택하기 위한 스마트 홀드 애플리케이션;
    (g) 동적 입력 및 라우팅 기준들을 사용하여 네트워크 하드웨어 컴포넌트들을 통한 그리고 통신 세션(음성, 비디오, 메시징) 디바이스들 간의 통신 세션 연결 데이터 패킷들의 라우팅을 제어하는 트래픽 관리 애플리케이션;
    (h) 클라우드 기반 통신 시스템에 대한 네트워크 제어기 - 상기 네트워크 제어기는: 복수의 지리적으로 다양한 통신 서버들 및 네트워크 인프라스트럭처를 사용하는 복수의 통신 세션 디바이스들 간의 통화 연결에 대한 요청을 검출하고, 이에 응답하여, 상기 복수의 이질적 디바이스들 간의 상기 통화 연결을 위해 상기 복수의 지리적으로 다양한 통신 서버들에 걸친 분산을 결정하는 프로세서; 및 상기 복수의 지리적으로 다양한 통신 서버들에 걸친 상기 분산을 사용하여 상기 복수의 이질적 디바이스들 사이의 통신 세션 연결을 구축하는 라우팅 하드웨어를 포함함 -;
    (i) 디스플레이 디바이스 상에 디스플레이하기 위한 그래픽 사용자 인터페이스에 결합된 전환 애플리케이션 - 상기 전환 애플리케이션은 상기 그래픽 사용자 인터페이스에서 전환 동작을 검출한 것에 응답하여 상기 통신 서버 플랫폼을 사용하여 통신 세션 연결을 적어도 하나의 다른 통화 디바이스로 전환함 -;
    (j) 디스플레이 디바이스 상에 디스플레이하기 위한 그래픽 사용자 인터페이스에 결합된 회의 애플리케이션 - 상기 회의 애플리케이션은 상기 그래픽 사용자 인터페이스에서 단일 동작을 검출한 것에 응답하여 상기 통신 서버 플랫폼을 사용하여 상기 복수의 이질적 디바이스들 간의 회의 통신 세션 연결을 구축함 -;
    (k) 2차 인증 레벨을 갖는 상기 통신 서버 플랫폼을 사용하여 적어도 하나의 다른 통화 디바이스로의 통신 세션 연결을 보호하는 보안 애플리케이션;
    (l) 슬라이싱 및 스크램블링 프로세스를 사용하여 상기 음성 메일 파일들을 보호하는 보안 애플리케이션;
    (m) 외부 동작들을 트리거하기 위해 상기 음성 메일 파일들을 처리하는 NLP 애플리케이션; 및
    (n) 외부 동작들을 트리거하기 위해 진행 중인 통신 세션에 대한 데이터 파일들을 처리하는 NLP 애플리케이션 중 하나 이상을 포함하는, 클라우드 기반 통신 시스템.
KR1020177029289A 2015-03-12 2016-03-14 클라우드 컴퓨팅 통신 플랫폼 KR20180032524A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201562132036P 2015-03-12 2015-03-12
US62/132,036 2015-03-12
PCT/CA2016/000071 WO2016141459A1 (en) 2015-03-12 2016-03-14 Cloud computing telecommunications platform

Publications (1)

Publication Number Publication Date
KR20180032524A true KR20180032524A (ko) 2018-03-30

Family

ID=56879709

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020177029289A KR20180032524A (ko) 2015-03-12 2016-03-14 클라우드 컴퓨팅 통신 플랫폼

Country Status (6)

Country Link
US (1) US20180234550A1 (ko)
EP (1) EP3269085A4 (ko)
KR (1) KR20180032524A (ko)
CN (1) CN108028763A (ko)
CA (1) CA2968425A1 (ko)
WO (1) WO2016141459A1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020242521A1 (en) * 2019-05-29 2020-12-03 Cloudflare, Inc. State management and object storage in a distributed cloud computing network
US11240309B1 (en) 2020-12-04 2022-02-01 Cloudflare, Inc. State management and storage with policy enforcement in a distributed cloud computing network

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10972530B2 (en) * 2016-12-30 2021-04-06 Google Llc Audio-based data structure generation
DE102016000871A1 (de) * 2016-01-27 2017-07-27 Unify Gmbh & Co. Kg Verfahren zum automatischen Übertragen eines bevorstehenden Ereignisses über eine Schnittstelle zu einem einem Benutzer zugeordneten Endpunkt, sowie eine hierfür ausgebildete Umsetzeinrichtung
CN106412346B (zh) * 2016-10-31 2019-05-10 努比亚技术有限公司 语音通话方法及装置
US9942322B1 (en) * 2017-04-07 2018-04-10 T-Mobile Usa, Inc. Call log update across mobile device and WebRTC client device
US10701310B2 (en) 2017-06-23 2020-06-30 T-Mobile Usa, Inc. Video call continuity between devices via a telecommunications network
JP2019057123A (ja) * 2017-09-21 2019-04-11 株式会社東芝 対話システム、方法、及びプログラム
KR101999780B1 (ko) * 2017-12-11 2019-09-27 주식회사 카카오 가상 챗봇을 이용하여 인스턴트 메시징 서비스를 제공하는 서버, 단말 및 방법
CN110022458A (zh) * 2018-01-08 2019-07-16 北京视联动力国际信息技术有限公司 一种监控处理方法和装置
US10497366B2 (en) 2018-03-23 2019-12-03 Servicenow, Inc. Hybrid learning system for natural language understanding
US10924894B2 (en) * 2018-09-20 2021-02-16 Avaya Inc. System and method for sending and receiving non-visual messages in an electronic audio communication session
KR102536948B1 (ko) * 2018-10-29 2023-05-25 삼성전자주식회사 Ssp의 번들을 관리하는 방법 및 장치
US10769003B2 (en) * 2019-01-09 2020-09-08 Sap Se Application server programming language cloud functions
US11079910B1 (en) * 2019-02-06 2021-08-03 Fuze, Inc. Softphone control integration
CN110399315B (zh) * 2019-06-05 2021-06-08 北京梧桐车联科技有限责任公司 一种语音播报的处理方法、装置、终端设备及存储介质
WO2021030626A1 (en) * 2019-08-14 2021-02-18 Liveperson, Inc. Systems and methods for managing interaction invitations
US20210227389A1 (en) * 2020-01-17 2021-07-22 Avaya Management Lp Multiple device access configuration and alerting
US11368538B2 (en) * 2020-09-14 2022-06-21 Box, Inc. Platform-agnostic drag-and-drop operations
CN111930780B (zh) * 2020-10-12 2020-12-18 上海冰鉴信息科技有限公司 数据查询方法及系统
US11374983B1 (en) * 2021-01-29 2022-06-28 Sprint Communications Company L.P. Media content service delivery in a wireless communication network
US11765274B2 (en) * 2021-08-24 2023-09-19 Google Llc Determination and display of estimated hold durations for calls
CN115242597B (zh) * 2022-06-30 2024-03-22 北京百度网讯科技有限公司 信息处理方法、设备及存储介质
US11750514B1 (en) * 2023-02-24 2023-09-05 SimpliSafe, Inc. Connectivity candidate filtering

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6704394B1 (en) * 1998-03-25 2004-03-09 International Business Machines Corporation System and method for accessing voice mail from a remote server
US7222301B2 (en) * 1998-09-11 2007-05-22 Genesys Telecommunications Laboratories, Inc. Method and apparatus enabling voice-based management of state and interaction of a remote knowledge worker in a contact center environment
US20070099651A1 (en) * 2005-11-03 2007-05-03 Nortel Networks Limited Hold on telephony feature
US9106452B2 (en) * 2008-03-24 2015-08-11 Shoretel, Inc. Cloud VoIP system with bypass for IP media
US8467354B1 (en) * 2008-08-27 2013-06-18 Vocalocity, Inc. Systems and methods for software-implemented telephony devices in a voice over internet protocol (VoIP) system
US20120159356A1 (en) * 2010-11-12 2012-06-21 Ryan Steelberg Enhanced World Wide Web-Based Communications
US20130290494A1 (en) * 2010-12-22 2013-10-31 Rambus Inc. Session management for communication in a heterogeneous network
US9769216B2 (en) * 2012-11-30 2017-09-19 Mitel Networks Corporation Collaboration handoff
US9705941B2 (en) * 2014-11-25 2017-07-11 At&T Intellectual Property I, L.P. Seamless movement of active media sessions between twinned communication devices

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020242521A1 (en) * 2019-05-29 2020-12-03 Cloudflare, Inc. State management and object storage in a distributed cloud computing network
US11038959B2 (en) 2019-05-29 2021-06-15 Cloudflare, Inc. State management and object storage in a distributed cloud computing network
US11489918B2 (en) 2019-05-29 2022-11-01 Cloudflare, Inc. State management and object storage in a distributed cloud computing network
US11818209B2 (en) 2019-05-29 2023-11-14 Cloudflare, Inc. State management and object storage in a distributed cloud computing network
US11240309B1 (en) 2020-12-04 2022-02-01 Cloudflare, Inc. State management and storage with policy enforcement in a distributed cloud computing network

Also Published As

Publication number Publication date
CA2968425A1 (en) 2016-09-15
CN108028763A (zh) 2018-05-11
EP3269085A1 (en) 2018-01-17
US20180234550A1 (en) 2018-08-16
EP3269085A4 (en) 2018-11-07
WO2016141459A1 (en) 2016-09-15

Similar Documents

Publication Publication Date Title
KR20180032524A (ko) 클라우드 컴퓨팅 통신 플랫폼
KR102183394B1 (ko) 상담원 응대에 대한 실시간 음성 피드
US9813495B1 (en) Systems and methods for chat message notification
US10218850B2 (en) Real-time customer profile based predictive routing
US7283829B2 (en) Management of call requests in multi-modal communication environments
US11831809B2 (en) Limiting contact in a networked contact center environment
CN104052884A (zh) 用于在WebRTC联络中心中记录呼叫的系统和方法
US20210136198A1 (en) Capacity manager for multi-dimensional presence model to manage call-center agent load
US20080189108A1 (en) Text messaging in a telephony network
WO2020081614A1 (en) Systems and method for control of telephone calls over cellular networks
US11722601B2 (en) Content coded zip tones for agents and conference call participants, and user-adjustable tone attribute
US10887463B1 (en) Method of using multi-dimensional presence model to manage call-center agent load
US10868914B1 (en) Capacity manager for multi-dimensional presence model to manage call-center agent load
US20210006661A1 (en) Carrier connect platform within a cloud-based contact center
US10897539B1 (en) Method for visual-based programming of self-service workflow