KR102421668B1 - 패킷화된 오디오 신호의 인증 - Google Patents

패킷화된 오디오 신호의 인증 Download PDF

Info

Publication number
KR102421668B1
KR102421668B1 KR1020217018943A KR20217018943A KR102421668B1 KR 102421668 B1 KR102421668 B1 KR 102421668B1 KR 1020217018943 A KR1020217018943 A KR 1020217018943A KR 20217018943 A KR20217018943 A KR 20217018943A KR 102421668 B1 KR102421668 B1 KR 102421668B1
Authority
KR
South Korea
Prior art keywords
audio signal
input audio
data processing
processing system
characteristic
Prior art date
Application number
KR1020217018943A
Other languages
English (en)
Other versions
KR20210078579A (ko
Inventor
가우라브 바하야
로버트 스테츠
Original Assignee
구글 엘엘씨
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 구글 엘엘씨 filed Critical 구글 엘엘씨
Publication of KR20210078579A publication Critical patent/KR20210078579A/ko
Application granted granted Critical
Publication of KR102421668B1 publication Critical patent/KR102421668B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0861Network architectures or network communication protocols for network security for authentication of entities using biometrical features, e.g. fingerprint, retina-scan
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/32User authentication using biometric data, e.g. fingerprints, iris scans or voiceprints
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/34User authentication involving the use of external additional devices, e.g. dongles or smart cards
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/18Speech classification or search using natural language modelling
    • G10L15/1822Parsing for meaning understanding
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L17/00Speaker identification or verification techniques
    • G10L17/02Preprocessing operations, e.g. segment selection; Pattern representation or modelling, e.g. based on linear discriminant analysis [LDA] or principal components; Feature selection or extraction
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L17/00Speaker identification or verification techniques
    • G10L17/22Interactive procedures; Man-machine interfaces
    • G10L17/24Interactive procedures; Man-machine interfaces the user being prompted to utter a password or a predefined phrase
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/48Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use
    • G10L25/51Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use for comparison or discrimination
    • 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/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • 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/142Managing session states for stateless protocols; Signalling session states; State transitions; Keeping-state mechanisms
    • 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/53Network services using third party service providers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • H04W4/025Services making use of location information using location based information parameters
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2111Location-sensitive, e.g. geographical location, GPS
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2115Third party
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L2015/088Word spotting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/60Context-dependent security
    • H04W12/63Location-dependent; Proximity-dependent

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Health & Medical Sciences (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Acoustics & Sound (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computational Linguistics (AREA)
  • Biomedical Technology (AREA)
  • General Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Artificial Intelligence (AREA)
  • Telephonic Communication Services (AREA)
  • Information Transfer Between Computers (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

본 개시는 일반적으로 음성 작동 컴퓨터 네트워크 환경에서 패킷화된 오디오 신호를 인증하기 위한 데이터 처리 시스템에 관한 것이다. 데이터 처리 시스템은 예를 들어, 네트워크를 통해 전송되기 전에 악성 송신을 디스에이블함으로써 하나 이상의 컴퓨터 네트워크를 통한 청각 데이터 패킷 전송의 효율 및 효과를 향상시킬 수 있다. 또한, 본 솔루션은 악성 오디오 신호 전송에 의해 영향을 받거나 이로 인해 초래될 수 있는 원격 컴퓨터 프로세스를 디스에이블함으로써 계산 효율을 향상시킬 수 있다. 악성 오디오 신호의 전송을 디스에이블함으로써, 시스템은 네트워크를 통해 악성 오디오 신호를 전달하는 데이터 패킷을 전송하지 않아 대역폭 사용을 줄일 수 있다.

Description

패킷화된 오디오 신호의 인증{AUTHENTICATION OF PACKETIZED AUDIO SIGNALS}
관련 출원에 대한 상호 참조
본 출원은 2016년 12월 30일자로 출원된, 발명의 명칭이 "패킷화된 오디오 신호의 인증"인 미국특허 출원 번호 제15/395,729호의 우선권 및 이득을 주장하며, 이 출원의 전체 내용이 본원 출원에 참고로 포함된다.
본 발명은 오디오 신호의 인증에 관한 것이다.
컴퓨팅 장치들 사이에서의 패킷 기반 또는 다른 방식의 네트워크 트래픽 데이터의 과도한 네트워크 전송은 컴퓨팅 장치가 네트워크 트래픽 데이터를 적절히 처리하거나, 네트워크 트래픽 데이터와 관련된 동작을 완료하거나, 또는 네트워크 트래픽 데이터에 적시에 응답하는 것을 방해할 수 있다. 네트워크 트래픽 데이터의 과도한 네트워크 전송은, 응답 컴퓨팅 장치가 처리 용량 또는 그 초과 상태에 있는 경우, 데이터 라우팅을 복잡하게 하거나 응답 품질을 저하시켜 비효율적인 대역폭 사용을 초래할 수 있다. 과도한 네트워크 전송의 일부는 악성 네트워크 전송을 포함할 수 있다.
본 개시는 일반적으로 음성 작동 컴퓨터 네트워크 환경(voice activated computer network environment)에서 패킷화된 오디오 신호를 인증하여 과도한 네트워크 전송량을 감소시키는 것에 관한 것이다. 데이터 처리 시스템에 의해 실행되는 자연어 처리기 컴포넌트는 데이터 패킷을 수신할 수 있다. 데이터 패킷은 클라이언트 컴퓨팅 장치의 센서에 의해 검출된 입력 오디오 신호를 포함할 수 있다. 자연어 처리기 컴포넌트는 입력 오디오 신호를 파싱하여 요청 및 그 요청에 대응하는 트리거 키워드(trigger keyword)를 식별할 수 있다. 네트워크 보안 어플라이언스는 입력 오디오 신호의 하나 이상의 특성(characteristics)을 분석할 수 있다. 특성에 따라 네트워크 보안 어플라이언스는 알람 상태(alarm condition)를 설정할 수 있다. 네트워크 보안 어플라이언스는 데이터 처리 시스템의 콘텐츠 선택기 컴포넌트에 알람 상태의 표시를 제공할 수 있다. 콘텐츠 선택기 컴포넌트는 알람 상태에 기초하여 실시간 콘텐츠 선택 프로세스를 통해 콘텐츠 아이템을 선택할 수 있다. 데이터 처리 시스템에 의해 실행되는 오디오 신호 생성기 컴포넌트는 콘텐츠 아이템을 포함하는 출력 신호를 생성할 수 있다. 데이터 처리 시스템의 인터페이스는 오디오 신호 생성기 컴포넌트에 의해 생성된 출력 신호를 포함하는 데이터 패킷을 전송하여, 클라이언트 컴퓨팅 장치에 의해 실행되는 오디오 드라이버 컴포넌트가 클라이언트 컴퓨팅 장치의 스피커를 구동시켜 출력 신호에 대응하는 음파(acoustic wave)를 생성하게 할 수 있다. 데이터 처리 시스템은 응답 오디오 신호를 수신할 수 있다. 응답 오디오 신호는 클라이언트 컴퓨팅 장치에 의해 생성된 출력 신호에 응답하여 수신된다. 응답 오디오 신호는 네트워크 보안 어플라이언스에 의해 분석되는 특성을 포함할 수 있다. 응답 오디오 신호의 특성에 기초하여, 네트워크 보안 어플라이언스는 서비스 제공자와 클라이언트 컴퓨팅 장치 사이의 통신 세션을 종료하거나 또는 중지할 수 있다.
본 개시의 일 양태에 따르면, 음성 작동 컴퓨터 네트워크 환경에서 패킷화된 오디오 신호를 인증하기 위한 시스템은 데이터 처리 시스템에 의해 실행되는 자연어 처리기 컴포넌트를 포함할 수 있다. 자연어 처리기는, 데이터 처리 시스템의 인터페이스를 통해, 클라이언트 장치의 센서에 의해 검출된 입력 오디오 신호를 포함하는 데이터 패킷을 수신할 수 있다. 자연어 처리기 컴포넌트는 입력 오디오 신호를 파싱하여 요청 및 그 요청에 대응하는 트리거 키워드를 식별할 수 있다. 이 시스템은 트리거 키워드에 기초하여, 요청에 응답하는 제1 액션 데이터 구조를 생성할 수 있는 데이터 처리 시스템의 다이렉트 액션 애플리케이션 프로그래밍 인터페이스를 포함할 수 있다. 이 시스템은 또한 제1 액션 데이터 구조를 입력 오디오 신호의 제1 특성과 비교하여 알람 상태를 검출할 수 있는 네트워크 보안 어플라이언스를 포함할 수 있다. 이 시스템은 데이터 처리 시스템에 의해 실행되는 콘텐츠 선택기 컴포넌트를 포함할 수 있다. 콘텐츠 선택기는 자연어 처리기에 의해 식별된 트리거 키워드 및 제1 알람 상태의 표시를 수신할 수 있고, 트리거 키워드 및 표시에 기초하여 콘텐츠 아이템을 선택할 수 있다. 네트워크 보안 어플라이언스는, 클라이언트 장치와 통신 세션을 수립한 대화형 애플리케이션 프로그래밍 인터페이스와 클라이언트 장치 사이에 전송된 응답 오디오 신호를 전달하는 데이터 패킷을 수신할 수 있다. 네트워크 보안 어플라이언스는 응답 오디오 신호의 제2 특성을 입력 오디오 신호의 제1 특성과 비교하여 제2 알람 상태를 검출할 수 있다. 네트워크 보안 어플라이언스는 제2 알람 상태에 기초하여, 제3자 제공자 장치에 클라이언트 장치와 수립된 통신 세션을 디스에이블하도록 하는 명령을 전송할 수 있다.
본 개시의 또 다른 양태에 따르면, 음성 작동 컴퓨터 네트워크 환경에서 패킷화된 오디오 신호를 인증하는 방법은 데이터 처리 시스템에 의해 실행되는 자연어 처리기 컴포넌트에 의해, 클라이언트 장치의 센서에 의해 검출된 입력 오디오 신호를 포함하는 데이터 패킷을 수신하는 단계를 포함한다. 이 방법은 또한 자연어 처리기 컴포넌트에 의해, 요청 및 그 요청에 대응하는 트리거 키워드를 식별하기 위해 입력 오디오 신호를 파싱하는 단계를 포함할 수 있다. 이 방법은 데이터 처리 시스템의 다이렉트 액션 애플리케이션 프로그래밍 인터페이스에 의해, 트리거 키워드에 기초하여, 요청에 응답하는 제1 액션 데이터 구조를 생성하는 단계를 포함할 수 있다. 이 방법은 네트워크 보안 어플라이언스에 의해, 제1 액션 데이터 구조를 입력 오디오 신호의 제1 특성과 비교하여 알람 상태를 검출하는 단계를 포함할 수 있다. 이 방법은 데이터 처리 시스템에 의해 실행된 콘텐츠 선택기 컴포넌트에 의해, 트리거 키워드 및 알람 상태에 기초하여 콘텐츠 아이템을 선택하는 단계를 포함할 수 있다. 이 방법은 네트워크 보안 어플라이언스에 의해, 클라이언트 장치와 통신 세션을 수립한 클라이언트 장치와 대화형 애플리케이션 프로그래밍 인터페이스 사이에서 전송된 응답 오디오 신호를 운반하는 데이터 패킷을 수신하는 단계를 포함할 수 있다. 이 방법은 네트워크 보안 어플라이언스에 의해, 응답 오디오 신호의 제2 특성을 입력 오디오 신호의 제1 특성과 비교하여 제2 알람 상태를 검출하는 단계를 포함할 수 있다. 이 방법은 네트워크 보안 어플라이언스에 의해, 제2 알람 상태에 기초하여, 콘텐츠 아이템과의 상호 작용에 응답하여 클라이언트 장치와 수립된 통신 세션을 디스에이블하도록 하는 명령을 제3자 제공자 장치에 전송하는 단계를 포함할 수 있다.
본 개시의 일 양태에 따르면, 음성 작동 컴퓨터 네트워크 환경에서 패킷화된 오디오 신호를 인증하기 위한 시스템은 데이터 처리 시스템에 의해 실행되는 자연어 처리기 컴포넌트를 포함할 수 있다. 자연어 처리기는 클라이언트 장치의 센서에 의해 검출된 입력 오디오 신호를 포함하는 데이터 패킷을 데이터 처리 시스템의 인터페이스를 통해 수신할 수 있다. 자연어 처리기 컴포넌트는 입력 오디오 신호를 파싱하여 요청 및 그 요청에 대응하는 트리거 키워드를 식별할 수 있다. 이 시스템은 트리거 키워드에 기초하여 요청에 응답하는 제1 액션 데이터 구조를 생성할 수 있는 데이터 처리 시스템의 다이렉트 액션 애플리케이션 프로그래밍 인터페이스를 포함할 수 있다. 이 시스템은 또한 제1 액션 데이터 구조를 입력 오디오 신호의 제1 특성과 비교하여 알람 상태를 검출할 수 있는 네트워크 보안 어플라이언스를 포함할 수 있다. 이 시스템은 데이터 처리 시스템에 의해 실행되는 콘텐츠 선택기 컴포넌트를 포함할 수 있다. 콘텐츠 선택기는 자연어 처리기에 의해 식별된 트리거 키워드 및 제1 알람 상태의 표시를 수신할 수 있고, 트리거 키워드 및 표시에 기초하여 콘텐츠 아이템을 선택할 수 있다. 네트워크 보안 어플라이언스는 클라이언트 장치와 통신 세션을 수립한 대화형 애플리케이션 프로그래밍 인터페이스와 클라이언트 장치 사이에 전송된 응답 오디오 신호를 전달하는 데이터 패킷을 수신할 수 있다. 네트워크 보안 어플라이언스는 응답 오디오 신호의 제2 특성을 입력 오디오 신호의 제1 특성과 비교하여 통과 상태를 검출할 수 있다. 네트워크 보안 어플라이언스는 제2 알람 상태에 기초하여 클라이언트 장치와 수립된 통신 세션을 계속하도록 하는 명령을 제3자 제공자 장치에 전송할 수 있다.
이들 및 다른 양태들 및 구현 예들이 아래에서 상세히 논의된다. 전술한 정보 및 다음의 상세한 설명은 다양한 양태 및 구현의 예들을 포함하고 청구된 양태 및 구현의 본질 및 특성을 이해하기 위한 개요 또는 프레임워크를 제공한다. 도면은 다양한 측면들 및 구현들의 예시 및 추가 이해를 제공하며, 본 명세서에 통합되어 본 명세서의 일부를 구성한다.
첨부 도면은 축척으로 도시되어 있지는 않다. 다양한 도면에서 동일한 참조 번호 및 명칭은 동일한 요소를 나타낸다. 명확성을 위해 모든 컴포넌트가 모든 도면에 레이블로 표시되지는 않는다.
도 1은 음성 작동 데이터 패킷(또는 다른 프로토콜) 기반 컴퓨터 네트워크 환경에서 패킷화된 오디오 신호의 인증을 수행하는 예시적인 시스템을 도시한다.
도 2는 패킷화된 오디오 신호의 인증을 수행하기 위한 시스템의 예시적인 동작을 나타내는 흐름도이다.
도 3은 도 1에 도시된 시스템을 사용하여 음성 작동 데이터 패킷(또는 다른 프로토콜) 기반 컴퓨터 네트워크 환경에서 패킷화된 오디오 신호를 인증하는 예시적인 방법을 도시한다.
도 4는 본 명세서에 설명되고 예시된 시스템 및 방법의 요소를 구현하기 위해 사용될 수 있는 컴퓨터 시스템에 대한 일반적인 아키텍처를 나타내는 블록도이다.
이하에서는, 패킷화된 오디오 신호의 인증을 위한 방법, 장치 및 시스템과 관련된 다양한 개념 및 이들의 구현에 대해 보다 상세히 설명한다. 앞에서 소개하였고 아래에서 보다 상세하게 논의하는 다양한 개념들은 임의의 다양한 방법으로 구현될 수 있다.
본 개시는 일반적으로 음성 작동 컴퓨터 네트워크 환경에서 패킷화된 오디오 신호를 인증하기 위한 데이터 처리 시스템에 관한 것이다. 데이터 처리 시스템은 예를 들어, 네트워크를 통해 전송되기 전에 악성 전송을 디스에이블함으로써 하나 이상의 컴퓨터 네트워크를 통한 청각 데이터 패킷 전송의 효율 및 효과를 향상시킬 수 있다. 또한, 본 솔루션은 악성 오디오 신호 전송에 의해 영향을 받거나 이로 인해 초래될 수 있는 원격 컴퓨터 프로세스를 디스에이블함으로써 계산 효율을 향상시킬 수 있다. 악성 오디오 신호의 전송을 디스에이블함으로써, 시스템은 네트워크를 통해 악성 오디오 신호를 전달하는 데이터 패킷을 전송하지 않아 대역폭 사용을 줄일 수 있다. 자연스럽게 말한 오디오 신호를 처리하는 것은 계산 집약적인 작업이 될 수 있다. 악성 오디오 신호를 검출함으로써, 시스템은 가능하게는 악성 오디오 신호의 처리를 생략하거나 일시적으로 생략할 수 있어, 계산 낭비를 줄일 수 있다. 시스템은 악성 활동이 감지될 때 통신 세션을 디스에이블하여 계산 낭비를 줄일 수 있다.
본 명세서에 기술된 시스템 및 방법은 오디오 입력 신호로서 지칭될 수 있는 오디오 입력 질의를 수신하는 데이터 처리 시스템을 포함할 수 있다. 오디오 입력 질의로부터, 데이터 처리 시스템은 요청 및 그 요청에 대응하는 트리거 키워드를 식별할 수 있다. 시스템은 오디오 입력 질의를 기반으로 액션 데이터 구조를 생성할 수 있다. 시스템은 또한 오디오 입력 질의의 특성을 측정할 수 있다. 시스템은 오디오 입력 질의의 특성이 오디오 입력 질의의 예측 특성 또는 예상 특성과 일치하는지 여부를 판정할 수 있다. 특성이 예상되는 특성과 일치하지 않으면, 시스템은 오디오 입력 질의의 소스로 다시 전송되는 콘텐츠 아이템을 선택할 수 있다. 통신 세션은 소스에 의해 시작될 수 있다. 콘텐츠 아이템은 소스와 연관된 스피커를 통해 재생될 수 있는 출력 신호를 포함할 수 있다. 시스템은 콘텐츠 아이템에 대한 응답 오디오 신호를 수신할 수 있다. 응답 오디오 신호는 또한 시스템에 의해 예상되는 특성과 비교되는 특성을 포함할 수 있다. 응답 오디오 신호의 특성이 예상되는 특성과 일치하지 않으면, 시스템은 소스와의 통신 세션을 디스에이블하고 소스가 제3자 서비스 제공자 또는 콘텐츠 제공자와의 통신 세션을 시작하지 못하도록 하여, 네트워크 대역폭을 절감하고, 프로세서 사용을 줄이며, 전력을 절감할 수 있다.
본 솔루션은 상호 작용을 인증함으로써 안전하지 않은 오디오 기반 사용자 상호 작용의 전송을 방지할 수 있다. 오디오 기반 사용자 상호 작용을 보호하면 악성 프로세스가 사용자(또는 다른 사용자) 계정으로 실행되는 것을 방지할 수 있다. 또한, 악성 프로세스의 실행을 방지하면 네트워크 대역폭 사용을 낮출 수 있고 프로세서 사용이나 부하를 줄일 수 있다. 본 솔루션은 권한없는 오디오 기반 사용자 상호 작용의 전송을 종료함으로써 네트워크 대역폭 사용을 줄일 수 있다.
도 1은 음성 작동 데이터 패킷(또는 다른 프로토콜) 기반의 컴퓨터 네트워크 환경에서 패킷화된 오디오 신호의 인증을 수행하기 위한 예시적인 시스템(100)을 도시한다. 시스템(100)은 적어도 하나의 데이터 처리 시스템(105)을 포함할 수 있다. 데이터 처리 시스템(105)은 적어도 하나의 프로세서를 갖는 적어도 하나의 서버를 포함할 수 있다. 예를 들어, 데이터 처리 시스템(105)은 적어도 하나의 데이터 센터 또는 서버 팜에 위치한 복수의 서버를 포함할 수 있다. 데이터 처리 시스템(105)은 오디오 입력 신호로부터 요청 및 그 요청과 관련된 트리거 키워드를 결정할 수 있다. 요청 및 트리거 키워드에 기초하여, 데이터 처리 시스템(105)은 복수의 시퀀스 의존 동작들을 포함하는 스레드를 결정 또는 선택할 수 있고, 예를 들어 음성 작동 통신 또는 계획 시스템의 일부로서, 의존 동작들의 시퀀스와 일치하지 않는 순서로 콘텐츠 아이템들을 선택할 수 있다(그리고 본 명세서에 기술된 바와 같은 다른 동작들을 개시할 수 있다). 콘텐츠 아이템들은 렌더링될 때 오디오 출력 또는 음파를 제공하는 하나 이상의 오디오 파일을 포함할 수 있다. 콘텐츠 아이템들은 오디오 콘텐츠 외에 다른 콘텐츠(예컨대, 텍스트, 비디오 또는 이미지 콘텐츠)를 포함할 수 있다.
데이터 처리 시스템(105)은 논리적으로 그룹화된 다수의 서버를 포함할 수 있고 분산 컴퓨팅 기술을 용이하게 한다. 논리적인 서버 그룹은 데이터 센터, 서버 팜 또는 머신 팜이라고도 한다. 서버는 지리적으로 분산되어 있을 수 있다. 데이터 센터 또는 머신 팜은 단일 엔티티로 관리될 수 있고, 머신 팜은 복수의 머신 팜을 포함할 수 있다. 각 머신 팜 내의 서버는 이기종(heterogeneous)일 수 있는데, 하나 이상의 서버 또는 머신이 하나 이상의 운영 체제 플랫폼 유형에 따라 동작할 수 있다. 데이터 처리 시스템(105)은, 예를 들어 기업 데이터 센터에 위치해 있는 관련 저장 시스템과 함께 하나 이상의 고밀도 랙(rack) 시스템에 저장되는 데이터 센터의 서버를 포함할 수 있다. 이러한 방식으로 통합 서버를 갖춘 데이터 처리 시스템(105)은, 로컬 고성능 네트워크 상에 서버 및 고성능 저장 시스템을 위치시킴으로써, 시스템 관리 가능성, 데이터 보안, 시스템의 물리적 보안 및 시스템 성능을 향상시킬 수 있다. 서버 및 저장 시스템을 포함하는 데이터 처리 시스템(105) 컴포넌트의 전부 또는 일부를 중앙 집중화하고 이들을 고급 시스템 관리 툴과 결합함으로써, 서버 자원을 보다 효율적으로 사용할 수 있으므로 전력 및 처리 요건을 절감하고 대역폭 사용을 줄일 수 있다.
데이터 처리 시스템(105)은 적어도 하나의 자연어 처리기(NLP) 컴포넌트(110), 적어도 하나의 인터페이스(115), 적어도 하나의 네트워크 보안 어플라이언스(123), 적어도 하나의 콘텐츠 선택기 컴포넌트(125), 적어도 하나의 오디오 신호 생성기 컴포넌트(130), 적어도 하나의 다이렉트 액션 애플리케이션 프로그래밍 인터페이스(API)(135), 적어도 하나의 세션 핸들러 컴포넌트(140), 적어도 하나의 통신 API(136) 및 적어도 하나의 데이터 저장소(145)를 포함한다. NLP 컴포넌트(110), 인터페이스(115), 네트워크 보안 어플라이언스(123), 콘텐츠 선택기 컴포넌트(125), 오디오 신호 생성기 컴포넌트(130), 다이렉트 액션 API(135) 및 세션 핸들러 컴포넌트(140)는 각각 적어도 하나의 처리 유닛, 서버, 가상 서버, 회로, 엔진, 에이전트, 어플라이언스, 또는 적어도 하나의 컴퓨터 네트워크(165)를 통해 데이터 저장소(145) 및 다른 컴퓨팅 장치(예컨대, 클라이언트 컴퓨팅 장치(150), 콘텐츠 제공자 컴퓨팅 장치(155) 또는 서비스 제공자 컴퓨팅 장치(160))와 통신하도록 구성된 프로그램 가능한 로직 어레이와 같은 다른 논리 장치를 포함한다. 네트워크(165)는 인터넷, 로컬, 와이드, 메트로 또는 다른 에어리어 네트워크와 같은 컴퓨터 네트워크, 인트라넷, 위성 네트워크, 음성 또는 데이터 이동 전화 통신 네트워크와 같은 기타 컴퓨터 네트워크 및 이들의 조합을 포함할 수 있다.
세션 핸들러 컴포넌트(140)는 데이터 처리 시스템(105)과 클라이언트 컴퓨팅 장치(150) 사이에 통신 세션을 수립할 수 있다. 세션 핸들러 컴포넌트(140)는 컴퓨팅 장치(150)로부터 입력 오디오 신호를 수신하는 것에 기초하여 통신 세션을 생성할 수 있다. 세션 핸들러 컴포넌트(140)는 하루 중의 시간, 클라이언트 컴퓨팅 장치(150)의 위치, 입력 오디오 신호의 컨텍스트 또는 성문(voiceprint)에 기초하여 최초 통신 세션 기간을 설정할 수 있다. 세션 핸들러 컴포넌트(140)는 세션 만료 후 통신 세션을 종료할 수 있다. 인증은 통신 세션 당 한 번만 필요하다. 예를 들어, 데이터 처리 시스템(105)은 통신 세션 동안 이전에 성공적인 인증이 있었음을 판단할 수 있고, 통신 세션이 만료될 때까지 추가 인증을 요구하지 않을 수 있다.
네트워크(165)는, 콘텐츠 배치 또는 검색 엔진 결과 시스템과 연관되거나 또는 콘텐츠 아이템 배치 캠페인의 일부로서 제3자 콘텐츠 아이템을 포함할 수 있는 디스플레이 네트워크, 예컨대 인터넷 상에서 이용 가능한 정보 자원의 서브세트를 포함할 수 있거나 구성할 수 있다. 네트워크(165)는 클라이언트 컴퓨팅 장치(150)에 의해 제시, 출력, 렌더링 또는 디스플레이될 수 있는 웹 페이지, 웹 사이트, 도메인 명칭 또는 유니폼 리소스 로케이터와 같은 정보 자원에 액세스하기 위해 데이터 처리 시스템(105)에 의해 사용될 수 있다. 예를 들어, 네트워크(165)를 통해 클라이언트 컴퓨팅 장치(150)의 사용자는 콘텐츠 제공자 컴퓨팅 장치(155) 또는 서비스 제공자 컴퓨팅 장치(160)에 의해 제공된 정보 또는 데이터에 액세스할 수 있다.
네트워크(165)는, 예를 들어 포인트-투-포인트 네트워크, 방송 네트워크, 광역 네트워크, 근거리 통신망, 통신 네트워크, 데이터 통신 네트워크, 컴퓨터 네트워크, ATM(Asynchronous Transfer Mode) 네트워크, SONET(Synchronous Optical Network) 네트워크, SDH(Synchronous Digital Hierarchy) 네트워크, 무선 네트워크 또는 유선 네트워크, 및 이들의 조합을 포함할 수 있다. 네트워크(165)는 적외선 채널 또는 위성 대역과 같은 무선 링크를 포함할 수 있다. 네트워크(165)의 토폴로지는 버스, 스타 또는 링 네트워크 토폴로지를 포함할 수 있다. 네트워크(165)는 AMPS(advanced mobile phone protocol), TDMA(time division multiple access), CDMA(code-division multiple access), GSM(global system for mobile communication), GPRS(general packet radio services) 및 UMTS(universal mobile telecommunications system)를 비롯하여, 이동 장치들 사이의 통신에 사용되는 임의의 프로토콜 또는 프로토콜들을 사용하는 이동 전화 네트워크를 포함할 수 있다. 다른 유형의 데이터가 다른 프로토콜을 통해 전송되거나 또는 동일한 유형의 데이터가 다른 프로토콜을 통해 전송될 수도 있다.
클라이언트 컴퓨팅 장치(150), 콘텐츠 제공자 컴퓨팅 장치(155) 및 서비스 제공자 컴퓨팅 장치(160)는 각각 프로세서를 갖는 컴퓨팅 장치와 같은 적어도 하나의 논리 장치를 포함하여 네트워크(165)를 통해 서로 통신하거나 또는 데이터 처리 시스템(105)과 통신할 수 있다. 클라이언트 컴퓨팅 장치(150), 콘텐츠 제공자 컴퓨팅 장치(155) 및 서비스 제공자 컴퓨팅 장치(160)는 각각 적어도 하나의 서버, 프로세서 또는 메모리, 또는 적어도 하나의 데이터 센터에 위치하는 복수의 계산 자원 또는 서버를 포함할 수 있다. 클라이언트 컴퓨팅 장치(150), 콘텐츠 제공자 컴퓨팅 장치(155) 및 서비스 제공자 컴퓨팅 장치(160)는 각각 데스크탑 컴퓨터, 랩탑, 태블릿, 개인 휴대 정보 단말기, 스마트폰, 휴대용 컴퓨터, 씬 클라이언트 컴퓨터, 가상 서버 또는 다른 컴퓨팅 장치와 같은 적어도 하나의 컴퓨팅 장치를 포함할 수 있다.
클라이언트 컴퓨팅 장치(150)는 적어도 하나의 센서(151), 적어도 하나의 변환기(152), 적어도 하나의 오디오 드라이버(153) 및 적어도 하나의 스피커(154)를 포함할 수 있다. 센서(151)는 마이크로폰 또는 오디오 입력 센서를 포함할 수 있다. 센서(151)는 또한 GPS 센서, 근접 센서, 주변 광 센서, 온도 센서, 모션 센서, 가속도계 또는 자이로스코프 중 적어도 하나를 포함할 수 있다. 변환기(152)는 오디오 입력을 전자 신호로 변환할 수 있다. 오디오 드라이버(153)는, 클라이언트 컴퓨팅 장치(150)의 하나 이상의 프로세서에 의해 실행되어 클라이언트 컴퓨팅 장치(150)의 다른 컴포넌트들 중에서 센서(151), 변환기(152) 또는 오디오 드라이버(153)를 제어하여 오디오 입력을 처리하거나 또는 오디오 출력을 제공하는 스크립트 또는 프로그램을 포함할 수 있다. 스피커(154)는 오디오 출력 신호를 전송할 수 있다.
클라이언트 컴퓨팅 장치(150)는, (센서(151)를 통해) 클라이언트 컴퓨팅 장치(150)에 오디오 입력으로서 음성 질의를 입력하고, 데이터 처리 시스템(105)(또는 콘텐츠 제공자 컴퓨팅 장치(155) 또는 서비스 제공자 컴퓨팅 장치(160))으로부터 클라이언트 컴퓨팅 장치(150)로 제공되어 스피커(154)로부터 출력될 수 있는 컴퓨터 생성 음성의 형태의 오디오 출력을 수신하는 최종 사용자와 관련될 수 있다. 컴퓨터 생성 음성은 실제 사람의 녹음 또는 컴퓨터 생성 언어를 포함할 수 있다.
콘텐츠 제공자 컴퓨팅 장치(155)는 클라이언트 컴퓨팅 장치(150)에 의한 디스플레이용 오디오 기반 콘텐츠 아이템을 오디오 출력 콘텐츠 아이템으로서 제공할 수 있다. 콘텐츠 아이템은 "택시를 주문할까요?(Would you like me to order you a taxi?)" 라고 하는 음성 기반 메시지와 같은 상품 또는 서비스에 대한 제의를 포함할 수 있다. 예를 들어, 콘텐츠 제공자 컴퓨팅 장치(155)는 음성 기반의 질의에 응답하여 제공될 수 있는 일련의 오디오 콘텐츠 아이템들을 저장하기 위한 메모리를 포함할 수 있다. 콘텐츠 제공자 컴퓨팅 장치(155)는 또한 오디오 기반 콘텐츠 아이템(또는 다른 콘텐츠 아이템)을 데이터 처리 시스템(105)에 제공하여 데이터 저장소(145)에 저장할 수 있다. 데이터 처리 시스템(105)은 오디오 콘텐츠 아이템을 선택하고 오디오 콘텐츠 아이템을 클라이언트 컴퓨팅 장치(150)에 제공할 수 있다(또는 콘텐츠 제공자 컴퓨팅 장치(155)에게 제공하도록 지시할 수 있다). 콘텐츠는 클라이언트 컴퓨팅 장치(150)의 사용자를 인증하기 위해 생성된 보안 질문을 포함할 수 있다. 오디오 기반 콘텐츠 아이템은 오직 오디오 뿐일 수도 있고 또는 텍스트나 이미지 또는 비디오 데이터와 결합될 수도 있다.
서비스 제공자 컴퓨팅 장치(160)는 적어도 하나의 서비스 제공자 자연어 처리기(NLP) 컴포넌트(161) 및 적어도 하나의 서비스 제공자 인터페이스(162)를 포함할 수 있다. 서비스 제공자 NLP 컴포넌트(161)(또는 서비스 제공자 컴퓨팅 장치(160)의다이렉트 액션 API와 같은 다른 컴포넌트)는 (데이터 처리 시스템(105)을 통해 또는 데이터 처리 시스템(105)을 우회하여) 클라이언트 컴퓨팅 장치(150)와 연동하여 클라이언트 컴퓨팅 장치(150)와 서비스 제공자 컴퓨팅 장치(160) 사이에 전후(back-and-forth) 실시간 음성 또는 오디오 기반 대화(예컨대, 세션)를 생성할 수 있다. 예를 들어, 서비스 제공자 인터페이스(162)는 데이터 처리 시스템(105)의 다이렉트 액션 API(135)에 대해 데이터 메시지를 수신 또는 제공할 수 있다. 서비스 제공자 컴퓨팅 장치(160) 및 콘텐츠 제공자 컴퓨팅 장치(155)는 동일한 엔티티와 연관될 수 있다. 예를 들어, 콘텐츠 제공자 컴퓨팅 장치(155)는 카 셰어링 서비스에 대한 콘텐츠 아이템을 생성하거나 저장하거나 또는 형성할 수 있고, 서비스 제공자 컴퓨팅 장치(160)는 클라이언트 컴퓨팅 장치(150)와 세션을 수립하여 클라이언트 컴퓨팅 장치(150)의 최종 사용자를 픽업하도록 카 셰어링 서비스의 차량 또는 택시의 운송을 예약할 수 있다. 데이터 처리 시스템(105)은 또한 다이렉트 액션 API(135), NLP 컴포넌트(110) 또는 다른 컴포넌트를 통해, 예컨대 카 셰어링 서비스의 차량 또는 택시의 운송을 예약하기 위해, 서비스 제공자 컴퓨팅 장치(160)를 포함하거나 우회하여 클라이언트 컴퓨팅 장치와 세션을 수립할 수 있다.
서비스 제공자 장치(160), 콘텐츠 제공자 장치(155), 및 데이터 처리 시스템(105)은 대화형 API(136)를 포함할 수 있다. 최종 사용자는 음성 대화를 통해, 통신 세션을 통해 콘텐츠 아이템 및 데이터 처리 시스템(105)과 상호 작용할 수 있다. 클라이언트 장치(150)와 대화형 API(136) 사이에 음성 대화가 있을 수 있다. 대화형 API(136)는 데이터 처리 시스템(105), 서비스 제공자(160) 또는 콘텐츠 제공자(155)에 의해 실행될 수 있다. 데이터 처리 시스템(105)은 데이터 처리 시스템이 대화형 API(136)를 실행할 때 최종 사용자의 콘텐츠와의 상호 작용에 대한 추가적인 정보를 직접 획득할 수 있다. 서비스 제공자(160) 또는 콘텐츠 제공자(155)가 대화형 API(136)를 실행할 때, 통신 세션이 데이터 처리 시스템(105)을 통해 라우팅될 수 있거나, 또는 각각의 엔티티가 통신 세션의 데이터 패킷을 데이터 처리 시스템(105)으로 전송할 수 있다. 여기서 설명하는 네트워킹 보안 어플라이언스는 대화형 API(136)가 데이터 처리 시스템(105)에 의해 실행될 때 통신 세션을 종료할 수 있다. 네트워킹 보안 어플라이언스(105)는 서비스 제공자(160) 또는 콘텐츠 제공자(155)에게 서비스 제공자(160) 또는 콘텐츠 제공자(155)가 대화형 API(136)를 실행할 때 통신 세션을 종료하도록(또는 디스에이블하도록) 지시를 보낼 수 있다.
데이터 저장소(145)는 하나 이상의 로컬 데이터베이스 또는 분산 데이터베이스를 포함할 수 있으며 데이터베이스 관리 시스템을 포함할 수 있다. 데이터 저장소(145)는 컴퓨터 데이터 저장 장치 또는 메모리를 포함할 수 있고 다른 데이터들 중에서 하나 이상의 파라미터(146), 하나 이상의 정책(147), 콘텐츠 데이터(148) 또는 템플릿(149)을 저장할 수 있다. 파라미터(146), 정책(147) 및 템플릿(149)은 클라이언트 컴퓨팅 장치(150)와 데이터 처리 시스템(105)(또는 서비스 제공자 컴퓨팅 장치(160)) 사이의 음성 기반 세션에 관한 규칙과 같은 정보를 포함할 수 있다. 콘텐츠 데이터(148)는 오디오 출력 또는 관련 메타 데이터에 대한 콘텐츠 아이템뿐만 아니라 클라이언트 컴퓨팅 장치(150)와의 하나 이상의 통신 세션의 일부일 수 있는 입력 오디오 메시지를 포함할 수 있다.
데이터 처리 시스템(105)은, 입력 오디오 신호를 데이터 처리 시스템(105)의 인터페이스(115)에게 전달하고 클라이언트 컴퓨팅 장치의 컴포넌트를 구동시켜 출력 오디오 신호를 렌더링하는 앱과 같은 클라이언트 컴퓨팅 장치(150)에 설치된 애플리케이션, 스크립트 또는 프로그램을 포함할 수 있다. 데이터 처리 시스템(105)은 오디오 입력 신호를 포함하거나 식별하는 데이터 패킷 또는 다른 신호를 수신할 수 있다. 예를 들어, 데이터 처리 시스템(105)은 NLP 컴포넌트(110)를 실행하여 오디오 입력 신호를 수신할 수 있다. 오디오 입력 신호는 클라이언트 컴퓨팅 장치의 센서(151)(예컨대, 마이크로폰)에 의해 검출될 수 있다. NLP 컴포넌트(110)는 입력 신호를 저장된 대표 오디오 파형 세트와 비교하고 가장 가까운 매치를 선택함으로써 오디오 입력 신호를 인식된 텍스트로 변환할 수 있다. 많은 입력 신호 세트(a large set of input signals)에 걸쳐 대표적인 파형이 생성될 수 있다. 사용자는 일부 입력 신호를 제공할 수 있다. 일단 오디오 신호가 인식된 텍스트로 변환되면, NLP 컴포넌트(110)는, 예컨대 학습 단계를 통해 시스템(200)이 수행할 수 있는 동작과 연관된 단어에 텍스트를 매칭시킬 수 있다. 변환기(152), 오디오 드라이버(153) 또는 다른 컴포넌트를 통해, 클라이언트 컴퓨팅 장치(150)는 오디오 입력 신호를 (예컨대, 네트워크(165)를 통해) 데이터 처리 시스템(105)에 제공할 수 있으며, 여기서 오디오 입력 신호는 (예컨대, 인터페이스(115)에 의해) 수신되어 NLP 컴포넌트(110)에 제공되거나 또는 콘텐츠 데이터(148)로서 데이터 저장소(145)에 저장될 수 있다.
NLP 컴포넌트(110)는 입력 오디오 신호를 획득할 수 있다. 입력 오디오 신호로부터, NLP 컴포넌트(110)는 적어도 하나의 요청 또는 요청에 대응하는 적어도 하나의 트리거 키워드를 식별할 수 있다. 요청은 입력 오디오 신호의 의도 또는 주제를 나타낼 수 있다. 트리거 키워드는 취할 수 있는 작업 유형을 나타낼 수 있다. 예를 들어, NLP 컴포넌트(110)는 입력 오디오 신호를 파싱하여 저녁에 집을 나서 저녁 식사 및 영화에 참석(to leave home for the evening to attend dinner and a movie)하기 위한 적어도 하나의 요청을 식별할 수 있다. 트리거 키워드는 취할 동작을 나타내는 적어도 하나의 단어, 구문, 루트 또는 부분 단어 또는 파생어를 포함할 수 있다. 예를 들어, 입력 오디오 신호에서 트리거 키워드 "go" 또는 "to go to"는 이동의 필요성을 나타낼 수 있다. 이 예에서, 입력 오디오 신호(또는 식별된 요청)는 이동 의도를 직접 나타내지는 않지만, 트리거 키워드는 이동이 요청에 의해 표시되는 적어도 하나의 다른 동작에 대한 보조 동작임을 나타낸다.
콘텐츠 선택기 컴포넌트(125)는 데이터 저장소(145)로부터 이 정보를 획득할 수 있는데, 여기서 이 정보는 콘텐츠 데이터(148)의 일부로서 저장될 수 있다. 콘텐츠 선택기 컴포넌트(125)는, 예컨대 콘텐츠 데이터(148)로부터 콘텐츠 아이템을 선택하거나 아니면 식별하기 위해 데이터 저장소(145)에 질의할 수 있다. 콘텐츠 선택기 컴포넌트(125)는 또한 콘텐츠 제공자 컴퓨팅 장치(155)로부터 콘텐츠 아이템을 선택할 수 있다. 예를 들어, 데이터 처리 시스템(105)으로부터 수신된 질의에 응답하여, 콘텐츠 제공자 컴퓨팅 장치(155)는 데이터 처리 시스템(105)(또는 그 컴포넌트)에 콘텐츠 아이템을 제공할 수 있으며, 이는 클라이언트 컴퓨팅 장치(150)에 의해 최종적으로 출력될 수 있다.
오디오 신호 생성기 컴포넌트(130)는 콘텐츠 아이템을 포함하는 출력 신호를 생성하거나 아니면 획득할 수 있다. 예를 들어, 데이터 처리 시스템(105)은 오디오 신호 생성기 컴포넌트를 실행하여 콘텐츠 아이템에 대응하는 출력 신호를 발생하거나 생성할 수 있다. 데이터 처리 시스템(105)의 인터페이스(115)는 출력 신호를 포함하는 하나 이상의 데이터 패킷을 컴퓨터 네트워크(165)를 통해 클라이언트 컴퓨팅 장치(150)에 제공하거나 전송할 수 있다. 예를 들어, 데이터 처리 시스템(105)은 데이터 저장소(145) 또는 오디오 신호 생성기 컴포넌트(130)로부터의 출력 신호를 클라이언트 컴퓨팅 장치(150)로 제공할 수 있다. 데이터 처리 시스템(105)은 또한 데이터 패킷 전송을 통해 콘텐츠 제공자 컴퓨팅 장치(155) 또는 서비스 제공자 컴퓨팅 장치(160)에게 출력 신호를 클라이언트 컴퓨팅 장치(150)로 제공하도록 지시할 수 있다. 출력 신호는 데이터 처리 시스템(105)(또는 다른 컴퓨팅 장치)으로부터 클라이언트 컴퓨팅 장치(150)로 하나 이상의 데이터 패킷(또는 다른 통신 프로토콜)으로서 획득되거나, 생성되거나, 변환되거나 또는 전송될 수 있다.
콘텐츠 선택기 컴포넌트(125)는 실시간 콘텐츠 선택 프로세스의 일부로서 입력 오디오 신호의 동작에 대한 콘텐츠 아이템을 선택할 수 있다. 예를 들어, 콘텐츠 아이템은 입력 오디오 신호에 직접 응답하여 대화 방식으로 오디오 출력으로서 전송하도록 클라이언트 컴퓨팅 장치에 제공될 수 있다. 콘텐츠 아이템을 식별하고 클라이언트 컴퓨팅 장치(150)에 콘텐츠 아이템을 제공하기 위한 실시간 콘텐츠 선택 프로세스는 입력 오디오 신호의 시간으로부터 1분 이내에 발생할 수 있고 실시간으로 고려될 수 있다.
콘텐츠 아이템에 대응하는 출력 신호, 예를 들어 인터페이스(115) 및 컴퓨터 네트워크(165)를 통해 클라이언트 컴퓨팅 장치(150)로 송신된 오디오 신호 생성기 컴포넌트(130)에 의해 획득되거나 생성된 출력 신호는, 클라이언트 컴퓨팅 장치(150)가 오디오 드라이버(153)를 실행하여 스피커(154)를 구동해서 출력 신호에 대응하는 음파를 생성하게 할 수 있다. 음파는 콘텐츠 아이템의 단어들 또는 콘텐츠 아이템에 대응하는 단어들을 포함할 수 있다.
데이터 처리 시스템의 다이렉트 액션 API(135)는 트리거 키워드에 기초하여 액션 데이터 구조를 생성할 수 있다. 다이렉트 액션 API(135)는 데이터 처리 시스템(105)에 의해 결정된 최종 사용자의 의도를 만족시키기 위해 지정된 동작을 실행할 수 있다. 다이렉트 액션 API(135)는 그 입력에서 지정된 동작에 따라, 사용자 요청을 수행하는 데 필요한 파라미터를 식별하는 다이얼로그 스크립트 또는 코드를 실행할 수 있다. 액션 데이터 구조는 요청에 응답하여 생성될 수 있다. 액션 데이터 구조는 서비스 제공자 컴퓨팅 장치(160)로 전송되거나 이 장치에 의해 수신되는 메시지에 포함될 수 있다. 다이렉트 액션 API(135)는, NLP 컴포넌트(110)에 의해 파싱된 요청에 기초하여, 서비스 제공자 컴퓨팅 장치들(160) 중 어느 장치로 메시지를 보내야 하는지 판단할 수 있다. 예를 들어, 입력 오디오 신호가 "택시 주문(order a taxi)"을 포함하면, NLP 컴포넌트(110)는 트리거 단어 "주문(order)" 및 택시에 대한 요청을 식별할 수 있다. 다이렉트 액션 API(135)는 요청을 액션 데이터 구조에 패키징하여 택시 서비스의 서비스 제공자 컴퓨팅 장치(160)에 메시지로서 전송할 수 있다. 메시지는 또한 콘텐츠 선택기 컴포넌트(125)로 전달될 수 있다. 액션 데이터 구조는 요청을 완료하기 위한 정보를 포함할 수 있다. 이 예에서 정보는 픽업 위치 및 목적지 위치를 포함할 수 있다. 다이렉트 액션 API(135)는 저장소(145)에서 템플릿(149)을 검색하여 액션 데이터 구조에 어떤 필드를 포함할지를 결정할 수 있다. 다이렉트 액션 API(135)는 필요한 파라미터를 결정할 수 있고, 그 정보를 액션 데이터 구조에 패키징할 수 있다. 다이렉트 액션 API(135)는 저장소(145)에서 콘텐츠를 검색하여 데이터 구조의 필드에 대한 정보를 얻을 수 있다. 다이렉트 액션 API(135)는 그 정보로 템플릿의 필드를 채워 데이터 구조를 생성할 수 있다. 다이렉트 액션 API(135)는 입력 오디오 신호로부터의 데이터로 필드를 채울 수도 있다. 템플릿(149)은 서비스 제공자의 카테고리에 대해 표준화될 수 있거나 또는 특정 서비스 제공자에 대해 표준화될 수 있다. 예를 들어, 라이드 셰어링 서비스 제공자는 다음 표준화된 템플릿(149)을 사용하여 데이터 구조 {client_device_identifier; authentication_credentials; pick_up_location; destination_location; no_passengers; service_level}를 생성할 수 있다. 그 후, 액션 데이터 구조는 콘텐츠 선택기 컴포넌트(125) 또는 서비스 제공자 컴퓨팅 장치(160)와 같은 다른 컴포넌트로 전송되어 완료될 수 있다.
다이렉트 액션 API(135)는 (가령, 카 셰어링 회사와 같은 콘텐츠 아이템과 연관될 수 있는) 서비스 제공자 컴퓨팅 장치(160)와 통신하여, 영화가 끝나는 시간에 영화관의 위치로 택시 또는 라이드 셰어링 차량을 주문할 수 있다. 데이터 처리 시스템(105)은 데이터 저장소(145)로부터, 또는 서비스 제공자 컴퓨팅 장치(160)나 콘텐츠 제공자 컴퓨팅 장치(155)와 같은 다른 소스로부터 클라이언트 컴퓨팅 장치(150)와의 데이터 패킷(또는 다른 프로토콜) 기반 데이터 메시지 통신의 일환으로서 이 위치 또는 시간 정보를 획득할 수 있다. 이 주문(또는 다른 변환)의 확인은, 클라이언트 컴퓨팅 장치(150)를 구동하여 "좋아요, 오후 11시에 극장 밖에 차량이 대기할거에요(great, you will have a car waiting for you at 11 pm outside the theater)"와 같은 오디오 출력을 렌더링하는 데이터 처리 시스템(105)으로부터의 출력 신호 형태로, 데이터 처리 시스템(105)으로부터 클라이언트 컴퓨팅 장치(150)로의 오디오 통신으로서 제공될 수 있다. 데이터 처리 시스템(105)은 다이렉트 액션 API(135)를 통해 서비스 제공자 컴퓨팅 장치(160)와 통신하여 차량에 대한 주문을 확인할 수 있다.
데이터 처리 시스템(105)은 콘텐츠 아이템("극장에서 집까지 차 타고 가시겠어요?(would you like a ride home from the movie theater?)")에 대한 응답(예컨대, "예(yes please)")을 획득할 수 있고, 패킷 기반 데이터 메시지를 서비스 제공자 NLP 컴포넌트(161)(또는 서비스 제공자 컴퓨팅 장치의 다른 컴포넌트)로 라우팅할 수 있다. 이러한 패킷 기반 데이터 메시지는 서비스 제공자 컴퓨팅 장치(160)로 하여금, 예컨대 영화관 밖에서 자동차 픽업 예약을 하도록 변환하도록 할 수 있다. 이러한 변환 - 또는 확인된 주문 - (또는 스레드의 다른 동작의 다른 변환)은 영화 종료 전과 같이 스레드의 하나 이상의 동작이 완료되기 전뿐만 아니라 저녁 식사 후와 같이 스레드의 하나 이상의 동작 완료 후에 발생할 수 있다.
다이렉트 액션 API(135)는 카 셰어링 서비스에서 차량을 예약하기 위하여 클라이언트 컴퓨팅 장치(150)로부터 최종 사용자의 동의하에 수신된 데이터뿐만 아니라 데이터 저장소(145)로부터 콘텐츠 데이터(148)(또는 파라미터(146) 또는 정책(147))를 획득하여 위치, 시간, 사용자 계정, 물류 또는 기타 정보를 결정할 수 있다. 콘텐츠 데이터(148)(또는 파라미터(146) 또는 정책(147))는 액션 데이터 구조에 포함될 수 있다. 액션 데이터 구조에 포함된 콘텐츠가 인증에 사용되는 최종 사용자 데이터를 포함하는 경우, 데이터는 데이터 저장소(145)에 저장되기 전에 해싱 함수를 통과할 수 있다. 다이렉트 액션 API(135)를 사용하여, 데이터 처리 시스템(105)은 또한 이 예에서 카 셰어링 픽업 예약을 함으로써, 서비스 제공자 컴퓨팅 장치(160)와 통신하여 변환을 완료할 수 있다.
데이터 처리 시스템(105)은 콘텐츠 아이템과 연관된 동작을 취소할 수 있다. 동작의 취소는 네트워크 보안 어플라이언스(123)가 알람 상태를 생성하는 것에 응답하여 이루어질 수 있다. 네트워크 보안 어플라이언스(123)는 네트워크 보안 어플라이언스(123)가 입력 오디오 신호가 악성이거나 아니면 클라이언트 컴퓨팅 장치(150)의 인증된 최종 사용자에 의해 제공되지 않았다고 예측할 때 알람 상태를 생성할 수 있다.
데이터 처리 시스템(105)은 네트워크 보안 어플라이언스(123)를 포함하거나 인터페이스하거나 아니면 통신할 수 있다. 네트워크 보안 어플라이언스(123)는 클라이언트 컴퓨팅 장치(150)와 콘텐츠 제공자 컴퓨팅 장치(155) 사이의 신호 전송을 인증할 수 있다. 신호 전송은 클라이언트 컴퓨팅 장치(150)로부터의 오디오 입력 및 클라이언트 컴퓨팅 장치(150)로부터의 오디오 응답 신호가 될 수 있다. 오디오 응답 신호는 하나 이상의 통신 세션 동안 데이터 처리 시스템(105)에 의해 클라이언트 컴퓨팅 장치(150)로 전송된 콘텐츠 아이템에 응답하여 생성될 수 있다. 네트워크 보안 어플라이언스(123)는 액션 데이터 구조를 입력 오디오 신호 및 응답 오디오 신호의 하나 이상의 특성과 비교함으로써 신호 전송을 인증할 수 있다.
네트워크 보안 어플라이언스(123)는 입력 오디오 신호의 특성을 결정할 수 있다. 오디오 신호의 특성은 성문, 키워드, 검출된 음성의 수, 오디오 소스의 식별 및 오디오 소스의 위치를 포함할 수 있다. 예를 들어, 네트워크 보안 어플라이언스(123)는 입력 오디오 신호를 생성하는데 사용되는 음성의 성문을 생성하기 위해 입력 오디오 신호의 스펙트럼 성분을 측정할 수 있다. 입력 오디오 신호에 응답하여 생성된 성문은 데이터 처리 시스템(105)에 의해 저장된 저장된 성문과 비교될 수 있다. 저장된 성문은 인증된 성문, 예컨대 시스템의 설정 단계 동안 클라이언트 컴퓨팅 장치(150)의 인증된 사용자에 의해 생성된 성문일 수 있다.
네트워크 보안 어플라이언스(123)는 또한 입력 오디오 신호의 비-오디오(non-audio) 특성을 결정할 수 있다. 클라이언트 컴퓨팅 장치(150)는 입력 오디오 신호에 비-오디오 정보를 포함할 수 있다. 비-오디오 정보는 클라이언트 컴퓨팅 장치(150)에 의해 결정되거나 지시된 위치일 수 있다. 비-오디오 정보는 클라이언트 컴퓨팅 장치(150) 식별자를 포함할 수 있다. 비-오디오 특성 또는 정보는 일회용 암호 장치 또는 지문 판독기를 구비한 시도 응답(challenge-response)과 같은 물리적 인증 장치를 포함할 수도 있다.
네트워크 보안 어플라이언스(123)는 입력 오디오 신호의 특성이 액션 데이터 구조와 일치하지 않을 때 알람 상태를 설정할 수 있다. 예를 들어, 네트워크 보안 어플라이언스(123)는 액션 데이터 구조와 입력 오디오 신호의 특성 사이의 불일치를 검출할 수 있다. 일례에서, 입력 오디오 신호는 클라이언트 컴퓨팅 장치(150)의 위치를 포함할 수 있다. 액션 데이터 구조는 최종 사용자의 스마트폰의 일반적인 위치에 기초한 위치와 같은 최종 사용자의 예측된 위치를 포함할 수 있다. 네트워크 보안 어플라이언스(123)가 클라이언트 컴퓨팅 장치(150)의 위치가 액션 데이터 구조에 포함된 위치의 미리 정의된 범위 내에 있지 않다고 결정하면, 네트워크 보안 어플라이언스(123)는 알람 상태를 설정할 수 있다. 다른 예에서, 네트워크 보안 어플라이언스(123)는 입력 오디오 신호의 성문을 데이터 저장소(145)에 저장되고 액션 데이터 구조에 포함된 최종 사용자의 성문과 비교할 수 있다. 2개의 성문이 일치하지 않으면, 네트워크 보안 어플라이언스(123)는 알람 상태를 설정할 수 있다.
네트워크 보안 어플라이언스(123)는 입력 오디오 신호에서의 요청에 응답하여 인증을 기반으로 할 입력 오디오 신호 특성을 결정할 수 있다. 상이한 특성들을 가진 인증은 상이한 계산 요건을 가질 수 있다. 예를 들어, 성문을 비교하는 것은 두 위치를 비교하는 것보다 더 계산 집약적일 수 있다. 필요치 않은 경우에 계산 집약적인 인증 방법을 선택하면 계산이 낭비될 수 있다. 네트워크 보안 어플라이언스(123)는 요청에 기초하여 인증에 사용되는 특성을 선택함으로써 데이터 처리 시스템(105)의 효율을 향상시킬 수 있다. 예를 들어, 입력 오디오 신호와 연관된 보안 위험이 낮을 경우, 네트워크 보안 어플라이언스(123)는 계산 집약적이지 않은 특성을 사용하여 인증 방법을 선택할 수 있다. 네트워크 보안 어플라이언스(123)는 요청을 완료하는데 요구되는 비용에 기초하여 특성을 선택할 수 있다. 예를 들어, 입력 오디오 신호가 "새 랩탑 컴퓨터 주문(order a new laptop computer)"인 경우에는 성문 특성이 사용될 수 있지만, 입력 오디오 신호가 "택시 주문(order a taxi)"인 경우에는 위치 특성을 선택한다. 특성의 선택은 요청을 완료하는 데 필요한 시간 또는 계산 강도에 기초할 수 있다. 완료해야 할 더 많은 계산 리소스를 필요로 하는 요청을 생성하는 입력 오디오 신호를 인증하기 위해 더 많은 계산 리소스를 소비하는 특성이 사용될 수 있다. 예를 들어, 입력 오디오 신호 "좋아, 저녁 식사하고 영화 보러 가고 싶어(Ok, I'd like to go to dinner and the movies)"는 다중 액션 및 요청을 포함할 수 있으며, 다수의 서비스 제공자(160)를 포함할 수 있다. 입력 오디오 신호는 가능한 영화 검색, 가능한 레스토랑 가용성 검색, 레스토랑 예약 및 영화 티켓 구매 요청을 생성할 수 있다. 이 입력 오디오 신호의 완성은 더 계산 집약적이며 입력 오디오 신호 "좋아, 몇 시지(Ok, what time is it)?"보다 완료하는 데 더 오래 걸린다.
네트워크 보안 어플라이언스(123)는 또한 입력 오디오 신호에 포함된 요청에 기초하여 알람 상태를 설정할 수 있다. 네트워크 보안 어플라이언스(123)는 액션 데이터 구조를 서비스 제공자 컴퓨팅 장치(160)에 전송함으로써 클라이언트 컴퓨팅 장치(150)의 최종 사용자에게 금전적 요금을 부과할 수 있다면 알람 상태를 자동으로 설정할 수 있다. 예를 들어, 제1 입력 오디오 신호 "좋아, 피자 주문(Ok, order a pizza)"은 금전적 요금을 생성할 수 있지만, 제2 입력 오디오 신호 "좋아, 몇시야(Ok, what time is it)"는 그렇지 않다. 이 예에서, 네트워크 보안 어플라이언스(123)는 제1 입력 오디오 신호에 대응하는 액션 데이터 구조를 수신하면 알람 상태를 자동으로 설정할 수 있고 제2 입력 오디오 신호에 대응하는 액션 데이터 구조를 수신하면 알람 상태를 설정하지 않을 수 있다.
네트워크 보안 어플라이언스(123)는 액션 데이터 구조가 특정 서비스 제공자 장치(160)를 위한 것이라는 결정에 기초하여 알람 상태를 설정할 수 있다. 예를 들어, 클라이언트 컴퓨팅 장치(150)의 최종 사용자는 데이터 처리 시스템(105)이 추가 승인없이 최종 사용자를 대신하여 상호 작용할 수 있는 서비스 제공자에 대한 제약조건을 설정할 수 있다. 예를 들어, 최종 사용자가 자녀(child)가 있는 경우, 자녀가 장난감을 판매하는 서비스 제공자를 통해 장난감을 구매하는 것을 방지하기 위해, 최종 사용자는 더 이상의 인증없이 액션 데이터 구조가 장난감 판매자에게 전송될 수 없도록 하는 제약조건을 설정할 수 있다. 네트워크 보안 어플라이언스(123)가 특정 서비스 제공자 장치(160)에 대한 액션 데이터 구조를 수신하면, 네트워크 보안 어플라이언스(123)는 데이터 저장소 내의 정책을 검색하여 알람 상태가 자동으로 설정되어야 하는지를 결정할 수 있다.
네트워크 보안 어플라이언스(123)는 알람 상태의 표시를 콘텐츠 선택기 컴포넌트(125)로 전송할 수 있다. 콘텐츠 선택기 컴포넌트(125)는 클라이언트 컴퓨팅 장치(150)에게 전송할 콘텐츠 아이템을 선택할 수 있다. 콘텐츠 아이템은 패스프레이즈 또는 입력 오디오 신호를 인증하기 위한 추가 정보에 대한 청각 요청일 수 있다. 콘텐츠 아이템은 클라이언트 컴퓨팅 장치(150)로 전송될 수 있으며, 여기서 오디오 드라이버(153)가 콘텐츠 아이템을 변환기(152)를 통해 음파로 변환한다. 클라이언트 컴퓨팅 장치(150) 최종 사용자는 콘텐츠 아이템에 응답할 수 있다. 최종 사용자의 응답은 센서(151)에 의해 디지털화되어 데이터 처리 시스템(105)으로 전송될 수 있다. NLP 컴포넌트(110)는 응답 오디오 신호를 처리하고 네트워크 보안 어플라이언스(123)에게 응답을 제공할 수 있다. 네트워크 보안 어플라이언스(123)는 응답 오디오 신호를 입력 오디오 신호의 특성 또는 액션 데이터 구조의 특성과 비교할 수 있다. 예를 들어, 콘텐츠 아이템은 패스프레이즈에 대한 요청일 수 있다. NLP 컴포넌트(110)는 응답 오디오 신호의 텍스트를 인식하고 그 텍스트를 네트워크 보안 어플라이언스(123)에게 전달할 수 있다. 네트워크 보안 어플라이언스(123)는 텍스트에 해시 함수를 실행할 수 있다. 동일한 해싱 함수로 해싱된 후, 최종 사용자의 인증된 패스프레이즈는 데이터 저장소(145)에 저장될 수 있다. 네트워크 보안 어플라이언스(123)는 해싱된 텍스트를 저장된 해싱된 패스프레이즈와 비교할 수 있다. 해싱된 텍스트와 해싱된 패스프레이즈가 일치하면, 네트워크 보안 어플라이언스(123)는 입력 오디오 신호를 인증할 수 있다. 해싱된 텍스트와 해싱된 패스프레이즈가 일치하지 않으면, 네트워크 보안 어플라이언스(123)는 제2 알람 상태를 설정할 수 있다.
네트워크 보안 어플라이언스(123)는 통신 세션을 종료할 수 있다. 네트워크 보안 어플라이언스(123)는 서비스 제공자 컴퓨팅 장치(160)에 클라이언트 컴퓨팅 장치(150)와 수립된 통신 세션을 디스에이블하거나, 일시 정지 또는 종료하도록 하는 명령을 전송할 수 있다. 통신 세션의 종료는 네트워크 보안 어플라이언스(123)가 제2 알람 상태를 설정한 것에 응답할 수 있다. 네트워크 보안 어플라이언스(123)는 데이터 처리 시스템(105)을 통해 서비스 제공자 컴퓨팅 장치(160)와 통신 세션을 생성하는 컴퓨팅 장치의 기능을 디스에이블할 수 있다. 예를 들어, 네트워크 보안 어플라이언스(123)가 입력 오디오 신호 "좋아, 택시 주문(Ok, order a taxi)"에 응답하여 제2 알람 상태를 설정하면, 네트워크 보안 어플라이언스(123)는 클라이언트 컴퓨팅 장치(150)와 택시 서비스 제공자 장치 사이에 수립되는 통신 세션의 기능을 디스에이블할 수 있다. 승인된 사용자는 나중에 택시 서비스 제공자 장치를 재승인할 수 있다.
도 2는 오디오 신호의 인증을 수행하기 위한 시스템(200)의 예시적인 동작을 도시하는 흐름도이다. 시스템(200)은 시스템(100)과 관련하여 위에서 설명한 컴포넌트들 또는 요소들 중 하나 이상을 포함할 수 있다. 예를 들면, 시스템(200)은, 예컨대 네트워크(165)를 통해 클라이언트 컴퓨팅 장치(150) 및 서비스 제공자 컴퓨팅 장치(160)와 통신하는 데이터 처리 시스템(105)을 포함할 수 있다.
시스템(200)의 동작은 클라이언트 컴퓨팅 장치(150)가 입력 오디오 신호(201)를 데이터 처리 시스템(105)에 송신하는 것으로 시작될 수 있다. 데이터 처리 시스템(105)이 입력 오디오 신호를 수신하면, 데이터 처리 시스템(105)의 NLP 컴포넌트(110)는 입력 오디오 신호를 요청 및 요청에 대응하는 트리거 키워드로 파싱할 수 있다. 통신 세션은 데이터 처리 시스템(105)을 통해 클라이언트 컴퓨팅 장치(150)와 서비스 제공자 컴퓨팅 장치(160) 사이에 수립될 수 있다.
다이렉트 액션 API(135)는 요청에 기초하여 액션 데이터 구조를 생성할 수 있다. 예를 들어, 입력 오디오 신호는 "나는 차 타고 영화보러 가고 싶어(I want a ride to the movies)"일 수 있다. 이 예에서, 다이렉트 액션 API(135)는 요청이 카 서비스에 대한 것이라고 결정할 수 있다. 다이렉트 액션 API(135)는, 입력 오디오 신호를 생성한 클라이언트 컴퓨팅 장치(150)의 현재 위치를 결정할 수 있고 가장 가까운 영화관의 위치를 결정할 수 있다. 다이렉트 액션 API(135)는 카 서비스를 위한 픽업 위치로서 클라이언트 컴퓨팅 장치(150)의 위치를 포함하며 카 서비스의 목적지로서 가장 가까운 영화관의 위치를 포함하는 액션 데이터 구조를 생성할 수 있다. 액션 데이터 구조는 또한 입력 오디오 신호의 하나 이상의 특성을 포함할 수 있다. 데이터 처리 시스템(105)은 알람 상태가 설정되어야 하는지 여부를 결정하기 위해 액션 데이터 구조를 네트워크 보안 어플라이언스에 전달할 수 있다.
네트워크 보안 어플라이언스가 알람 상태를 검출하면, 데이터 처리 시스템(105)은 콘텐츠 선택기 컴포넌트(125)를 통해 콘텐츠 아이템을 선택할 수 있다. 데이터 처리 시스템(105)은 콘텐츠 아이템(202)을 클라이언트 컴퓨팅 장치(150)에 제공할 수 있다. 콘텐츠 아이템(202)은 데이터 처리 시스템(105)과 클라이언트 컴퓨팅 장치(150) 사이의 통신 세션의 일부로서 클라이언트 컴퓨팅 장치(150)에 제공될 수 있다. 통신 세션은 실시간 일대일 대화(person-to-person conversation)의 흐름과 느낌을 가질 수 있다. 예를 들어, 콘텐츠 아이템은 클라이언트 컴퓨팅 장치(150)에서 재생되는 오디오 신호를 포함할 수 있다. 최종 사용자는 오디오 신호에 응답할 수 있으며, 이는 센서(151)에 의해 디지털화되고 데이터 처리 시스템(105)으로 전송될 수 있다. 콘텐츠 아이템은 클라이언트 컴퓨팅 장치(150)로 전송되는 보안 질문, 콘텐츠 아이템 또는 다른 질문일 수 있다. 질문은 변환기(152)를 통해 입력 오디오 신호를 생성한 최종 사용자에게 제시될 수 있다. 일부 구현 예에서, 보안 질문은 클라이언트 컴퓨팅 장치(150)와 데이터 처리 시스템(105) 사이의 과거의 상호 작용에 기초할 수 있다. 예를 들어, 입력 오디오 신호의 전송 이전에, 사용자가 "좋아, 피자 주문(Ok, order a pizza)"이라는 입력 오디오 신호를 제공함으로써 시스템(200)을 통해 피자를 주문하면, 보안 질문은 "어젯밤 저녁에 무엇을 주문했죠(what did you order for dinner last night)"를 포함할 수 있다. 콘텐츠 아이템은 또한 데이터 처리 시스템(105)에 패스워드를 제공하라는 요청을 포함할 수 있다. 콘텐츠 아이템은 제1 컴퓨팅 장치(150)와 연관된 제2 컴퓨팅 장치(150)에 대한 푸시 알림을 포함할 수 있다. 예를 들어, 입력 오디오 신호의 확인을 요구하는 푸시 알림이 클라이언트 컴퓨팅 장치(150)와 연관된 스마트폰으로 전송될 수 있다. 사용자는 푸시 알림을 선택하여 입력 오디오 신호가 확실하다는 것을 확인할 수 있다.
클라이언트 컴퓨팅 장치(150)와 데이터 처리 시스템(105) 사이의 통신 세션 동안, 사용자는 콘텐츠 아이템에 응답할 수 있다. 사용자는 구두로 콘텐츠 아이템에 응답할 수 있다. 응답은 센서(151)에 의해 디지털화될 수 있고 복수의 데이터 패킷에 의해 데이터 처리 시스템(105)에 전달되는 응답 오디오 신호(203)로서 송신될 수 있다. 청각 신호는 또한 네트워크 보안 어플라이언스에 의해 분석될 수 있는 특성을 포함할 수 있다. 네트워크 보안 어플라이언스가 응답 오디오 신호의 조건에 기초하여 알람 상태가 지속된다고 결정하면, 네트워크 보안 어플라이언스는 메시지(204)를 서비스 제공자 컴퓨팅 장치(160)로 전송할 수 있다. 메시지(204)는 서비스 제공자 컴퓨팅 장치(160)가 클라이언트 컴퓨팅 장치(150)와의 통신 세션을 디스에이블하게 하는 명령을 포함할 수 있다.
도 3은 음성 작동 데이터 패킷(또는 다른 프로토콜) 기반의 컴퓨터 네트워크 환경에서 패킷화된 오디오 신호를 인증하기 위한 예시적인 방법(300)을 도시한다. 방법(300)은 입력 오디오 신호를 포함하는 데이터 패킷을 수신하는 것을 포함할 수 있다(동작(302)). 예를 들어, 데이터 처리 시스템은 네트워크를 통해 클라이언트 컴퓨팅 장치로부터 패킷 또는 다른 프로토콜 기반 전송을 수신하기 위해 NLP 컴포넌트를 실행, 론치 또는 호출할 수 있다. 데이터 패킷은, 최종 사용자가 예컨대 "좋아, 저녁 식사를 한 다음 영화 보러 가고 싶어(Ok, I would like to go to go dinner and then a movie tonight)"와 같은 센서가 감지한 입력 오디오 신호를 포함하거나 이에 상응할 수 있다.
방법(300)은 입력 오디오 신호 내의 요청 및 트리거 키워드를 식별하는 것(동작(304))을 포함할 수 있다. 예를 들어, NLP 컴포넌트는 입력 오디오 신호를 파싱하여 요청(예컨대, 위 예에서 "저녁 식사(dinner)" 또는 "영화(movie)") 뿐만 아니라 요청에 대응하거나 요청과 관련이 있는 트리거 키워드 "go" 또는 "go to" 또는 "to go to"를 식별할 수 있다.
방법(300)은 요청에 기초하여 제1 액션 데이터 구조를 생성하는 것을 포함할 수 있다(동작(306)). 다이렉트 액션 API는 입력 오디오 신호의 요청을 이행하기 위해 서비스 제공자 컴퓨팅 장치 또는 콘텐츠 제공자 컴퓨팅 장치에 의해 전송되고 처리될 수 있는 데이터 구조를 생성할 수 있다. 예를 들어, 위 예를 계속하면, 다이렉트 액션 API는 레스토랑 예약 서비스로 전송되는 제1 액션 데이터 구조를 생성할 수 있다. 제1 액션 데이터 구조는 클라이언트 컴퓨팅 장치의 현재 위치 근처에 위치하고 클라이언트 컴퓨팅 장치의 사용자와 관련된 다른 세부사항(예컨대, 클라이언트 컴퓨팅 장치의 사용자가 선호하는 요리 유형들)을 충족시키는 레스토랑에 대한 검색을 수행할 수 있다. 다이렉트 액션 API는 바람직한 예약 시간을 결정할 수도 있다. 예를 들어, 데이터 처리 시스템은 검색 도중 선택된 레스토랑이 15분 거리에 있고 현재 시간은 오후 6시 30분이라고 판단할 수 있다. 데이터 처리 시스템은 바람직한 예약 시간을 오후 6시 45분 이후의 시간으로 설정할 수 있다. 이 예에서, 제1 액션 데이터 구조는 레스토랑 명칭 및 바람직한 예약 시간을 포함할 수 있다. 데이터 처리 시스템은 제1 액션 데이터 구조를 서비스 제공자 컴퓨팅 장치 또는 콘텐츠 제공자 컴퓨팅 장치로 전송할 수 있다. 동작(306)은 복수의 액션 데이터 구조를 생성하는 것을 포함할 수 있다. 위 입력 오디오 신호에 대해, 영화 제목 및 레스토랑 명칭을 포함하는 제2 액션 데이터 구조가 생성될 수 있고 픽업 및 드롭 오프 위치를 포함하는 제3 액션 데이터 구조가 생성될 수 있다. 데이터 처리 시스템은 영화 티켓 예약 서비스에 제2 액션 데이터 구조를 제공할 수 있고, 자동차 예약 서비스에 제3 액션 데이터 구조를 제공할 수 있다.
방법(300)은 또한 제1 액션 데이터 구조를 입력 오디오 신호의 특성과 비교하는 것(동작(308))을 포함할 수 있다. 네트워크 보안 어플라이언스는 입력 오디오 신호의 특성을 제1 액션 데이터 구조와 비교하여 입력 오디오 신호의 진위(authenticity)를 결정할 수 있다. 입력 오디오 신호의 진위를 결정하는 것은 입력 오디오 신호를 생성한 사람이 입력 오디오 신호를 생성할 권한이 있는지 여부를 결정하는 것을 포함할 수 있다. 입력 오디오 신호의 특성은 성문, 키워드, 검출된 음성의 수, 오디오 소스의 식별(예컨대, 입력 오디오 신호가 발생한 센서 또는 클라이언트 컴퓨팅 장치의 식별), 오디오 소스의 위치, 또는 다른 클라이언트 컴퓨팅 장치의 위치(및 다른 클라이언트 컴퓨팅 장치와 오디오 소스 사이의 거리)를 포함할 수 있다. 예를 들어, 사용자가 구절을 말하도록 함으로써 설정 단계에서 인증된 성문을 생성할 수 있다. 이 구절을 말하면, 네트워크 보안 어플라이언스는 주파수 콘텐츠, 품질, 지속 시간, 강도, 다이나믹 및 신호 피치를 기반으로 성문을 생성할 수 있다. 네트워크 보안 어플라이언스는 입력 오디오 신호의 특성이 제1 액션 데이터 구조 또는 다른 예상 데이터와 일치하지 않는다고 판단하면 알람 상태를 생성할 수 있다. 예를 들어, 데이터 처리 시스템은, "좋아, 저녁 식사를 한 다음 영화 보러 가고 싶어(Ok, I would like to go to go dinner and then a movie tonight)"에 대한 액션 데이터 구조를 생성할 경우, 사용자 스마트폰의 위치를 기반으로 픽업 위치를 포함하는 차량 예약 서비스에 대한 액션 데이터 구조를 생성할 수 있다. 액션 데이터 구조는 위치를 포함할 수 있다. 입력 오디오 신호는 대화형 스피커 시스템에 의해 생성될 수 있다. 대화형 스피커 시스템의 위치는 입력 오디오 신호로 데이터 처리 시스템으로 전송된다. 이 예에서 사용자의 스마트폰 위치가 대화형 스피커 시스템의 위치와 일치하지 않은 경우(또는 대화형 스피커 시스템의 미리 정의된 거리 내에 있지 않은 경우), 사용자는 대화형 스피커 시스템 근처에 있지 않고, 네트워크 보안 어플라이언스는 사용자가 입력 오디오 신호를 생성하지 않았을 가능성이 매우 높다고 판단할 수 있다. 네트워크 보안 어플라이언스는 알람 상태를 생성할 수 있다. 클라이언트 컴퓨팅 장치(150)와 2차 클라이언트 장치(예컨대, 최종 사용자의 스마트폰) 사이의 거리는 두 장치 사이의 직선 거리, 두 장치 사이의 주행 거리로서 계산될 수 있다. 거리는 두 장치의 위치들 사이의 이동 시간을 기반으로 할 수도 있다. 거리는 IP 주소 및 Wi-Fi 네트워크 위치와 같은 위치를 나타낼 수 있는 다른 특성을 기반으로 할 수도 있다.
방법(300)은 콘텐츠 아이템을 선택하는 것을 포함할 수 있다(동작(310)). 콘텐츠 아이템은 트리거 키워드 및 알람 상태를 기반으로 할 수 있으며 실시간 콘텐츠 선택 프로세스를 통해 선택될 수 있다. 콘텐츠 아이템은 입력 오디오 신호를 인증하도록 선택될 수 있다. 콘텐츠 아이템은 사용자의 스마트폰과 같은 클라이언트 컴퓨팅 장치에 표시되는 알림, 온라인 문서 또는 메시지일 수 있다. 콘텐츠 아이템은, 클라이언트 컴퓨팅 장치로 전송되고 변환기를 통해 사용자에게 브로드캐스팅되는 오디오 신호일 수 있다. 콘텐츠 아이템은 보안 질문일 수 있다. 보안 질문은 패스워드 요청과 같은 미리 정의된 보안 질문일 수 있다. 보안 질문은 동적으로 생성될 수 있다. 예를 들어, 보안 질문은 사용자 또는 클라이언트 컴퓨팅 장치의 이전 이력을 기반으로 생성된 질문일 수 있다.
방법(300)은 청각 신호를 운반하는 데이터 패킷을 수신하는 것을 포함할 수 있다(동작(312)). 데이터 패킷은 클라이언트 컴퓨팅 장치와 데이터 처리 시스템의 대화형 API 사이에 전송되는 청각 신호를 전달할 수 있다. 대화형 API는 콘텐츠 아이템과의 상호 작용에 응답하여 데이터 처리 시스템과 통신 세션을 수립할 수 있다. 청각 신호는 동작(310) 동안 클라이언트 컴퓨팅 장치에 전송된 콘텐츠 아이템에 대한 사용자의 응답을 포함할 수 있다. 예를 들어, 콘텐츠 아이템은 클라이언트 컴퓨팅 장치로 하여금 "당신의 인증 코드는 뭐에요(what is your authorization code)?"를 묻는 오디오 신호를 생성하게 할 수 있다. 청각 신호는 콘텐츠 아이템에 대한 최종 사용자 응답을 포함할 수 있다. 콘텐츠 아이템에 대한 최종 사용자 응답은 응답 오디오 신호의 특성일 수 있다.
방법(300)은 또한 응답 오디오 신호의 특성을 입력 오디오 신호의 특성과 비교하는 것을 포함할 수 있다(동작(314)). 응답 오디오 신호는 패스프레이즈 또는 다른 특성을 포함할 수 있다. 콘텐츠 아이템은 클라이언트 컴퓨팅 장치가 응답 오디오 신호의 하나 이상의 특정한 특성을 캡처하기 위한 명령을 포함할 수 있다. 예를 들어, 입력 오디오 신호의 특성은 클라이언트 컴퓨팅 장치의 위치일 수 있다. 응답 오디오 신호의 특성은 입력 오디오 신호의 특성과 다를 수 있다. 예를 들어, 응답 오디오 신호의 특성은 성문일 수 있다. 콘텐츠 아이템은 성문 특성 캡처 명령을 포함할 수 있다. 이 명령은 추가 주파수 콘텐츠가 성문에 대해 분석될 수 있도록 더 높은 샘플링 주파수의 응답 오디오 신호를 캡처하는 것을 포함한다. 시스템이 응답 오디오 신호와 입력 오디오 신호의 특성들 사이에서 일치를 검출하지 않으면, 시스템은 알람 상태를 설정할 수 있다. 예를 들어, 응답 오디오 신호의 특성이 입력 오디오 신호와 연관된 패스프레이즈와 일치하지 않는 패스프레이즈를 포함하는 경우, 알람 상태가 설정될 수 있다.
응답 오디오 신호의 특성이 입력 오디오 신호의 특성과 일치하는 경우(예컨대, 패스프레이즈들(또는 그 해시들)이 일치하는 경우), 통과 상태가 설정될 수 있다. 통과 상태가 설정되면, 시스템은 명령을 제3 부분에 전송하여 클라이언트 장치와의 통신 세션을 계속하도록 할 수 있다. 통신 세션을 계속하도록 하는 명령은, 미리 결정된 양의 시간이 만료될 때까지 통신 세션이 재인증될 필요가 없도록, 미리 결정된 양의 시간 동안 통신 세션을 인증할 수 있다.
방법(300)은 또한 통신 세션을 디스에이블하도록 하는 명령을 제3자 제공자 디바이스에게 전송하는 것을 포함할 수 있다(동작(316)). 통신 세션을 디스에이블하면, 메시지 및 액션 데이터 구조가 서비스 제공자 장치로 전송되는 것을 방지할 수 있다. 이렇게 하면 원하지 않는 네트워크 트래픽을 줄여 네트워크 사용률을 높일 수 있다. 통신 세션을 디스에이블하면, 서비스 제공자 장치가 악성 요청이나 오류가 발생한 요청을 처리하지 않기 때문에 계산 낭비를 줄일 수 있다.
도 4는 예시적인 컴퓨터 시스템(400)의 블록도이다. 컴퓨터 시스템 또는 컴퓨팅 장치(400)는 시스템(100) 또는 데이터 처리 시스템(105)과 같은 컴포넌트를 포함하거나 구현하는데 사용될 수 있다. 컴퓨팅 시스템(400)은 정보를 통신하기 위한 버스(405) 또는 기타 통신 컴포넌트와, 정보를 처리하기 위해 버스(405)에 연결된 프로세서(410) 또는 프로세싱 회로를 포함한다. 컴퓨팅 시스템(400)은 또한 정보를 처리하기 위해 버스에 결합된 하나 이상의 프로세서(410) 또는 처리 회로를 포함할 수 있다. 또한, 컴퓨팅 시스템(400)은 정보를 저장하기 위해 버스(405)에 연결된 랜덤 액세스 메모리(RAM) 또는 다른 동적 저장 장치와 같은 메인 메모리(415) 및 프로세서(410)에 의해 실행될 명령어를 포함한다. 메인 메모리(415)는 데이터 저장소(145)일 수도 있고 또는 이를 포함할 수도 있다. 메인 메모리(415)는 또한 프로세서(410)에 의한 명령들의 실행 중에 위치 정보, 임시 변수 또는 다른 중간 정보를 저장하기 위해 사용될 수 있다. 컴퓨팅 시스템(400)은 ROM(read only memory)(420) 또는 프로세서(410)에 대한 정적 정보 및 명령어를 저장하기 위해 버스(405)에 결합된 다른 정적 저장 장치를 더 포함할 수 있다. 고체 상태 장치, 자기 디스크 또는 광 디스크와 같은 저장 장치(425)는 정보 및 명령어를 영구적으로 저장하기 위해 버스(405)에 결합될 수 있다. 저장 장치(425)는 데이터 저장소(145)를 포함할 수도 있고 데이터 저장소(145)의 일부일 수도 있다.
컴퓨팅 시스템(400)은 정보를 사용자에게 디스플레이하기 위해 버스(405)를 통해 액정 디스플레이 또는 액티브 매트릭스 디스플레이와 같은 디스플레이(435)에 연결될 수 있다. 영숫자 및 다른 키들을 포함하는 키보드와 같은 입력 장치(430)는 정보 및 명령 선택들을 프로세서(410)에 통신하기 위해 버스(405)에 연결될 수 있다. 입력 장치(430)는 터치 스크린 디스플레이(435)를 포함할 수 있다. 입력 장치(430)는 또한, 방향 정보 및 명령 선택을 프로세서(410)에 전달하고 디스플레이(435) 상에서의 커서 이동을 제어하기 위해 마우스, 트랙볼 또는 커서 방향 키와 같은 커서 컨트롤을 포함한다. 디스플레이(435)는 데이터 처리 시스템(105), 클라이언트 컴퓨팅 장치(150) 또는 예컨대 도 1의 다른 컴포넌트의 일부일 수 있다.
본 명세서에 설명된 프로세스, 시스템 및 방법은 프로세서(410)가 메인 메모리(415)에 포함된 명령어들의 배열을 실행하는 것에 응답하여 컴퓨팅 시스템(400)에 의해 구현될 수 있다. 이러한 명령은 저장 장치(425)와 같은 다른 컴퓨터 판독가능 매체로부터 메인 메모리(415)로 판독될 수 있다. 메인 메모리(415)에 포함된 명령어들의 배열의 실행은 컴퓨팅 시스템(400)이 본 명세서에서 설명된 예시적인 프로세스들을 수행하게 한다. 다중 처리 배열의 하나 이상의 프로세서가 또한 메인 메모리(415)에 포함된 명령어들을 실행하기 위해 사용될 수 있다. 하드 와이어 회로가 본 명세서에 설명된 시스템 및 방법과 함께 소프트웨어 명령 대신에 또는 소프트웨어 명령과 조합하여 사용될 수 있다. 본 명세서에 설명된 시스템 및 방법은 하드웨어 회로 및 소프트웨어의 임의의 특정 조합으로 제한되지 않는다.
예시적인 컴퓨팅 시스템이 도 4에 설명되었지만, 본 명세서에서 설명된 동작들을 포함하는 특허 대상은 본 명세서에 개시된 구조 및 그 구조적 균등물을 포함하는 다른 유형의 디지털 전자 회로 또는 컴퓨터 소프트웨어, 펌웨어 또는 하드웨어, 또는 이들의 하나 이상의 조합으로 구현될 수 있다.
본 명세서에서 논의된 시스템이 사용자에 관한 개인 정보를 수집하거나 개인 정보를 사용할 수 있는 상황에서, 사용자는 개인 정보(예컨대, 사용자의 소셜 네트워크, 사회적 행동 또는 활동, 사용자의 선호 또는 사용자의 위치에 관한 정보)를 수집할 수 있는 프로그램 또는 기능을 제어하거나 콘텐츠 서버 또는 다른 데이터 처리 시스템으로부터 사용자와 더 관련이 있는 콘텐츠를 수신할지 또는 어떻게 수신할지를 제어할 기회를 부여받을 수 있다. 또한, 어떤 데이터는, 파라미터를 생성할 때 개인 식별 정보가 제거되도록, 저장 또는 사용되기 전에 하나 이상의 방법으로 익명화될 수 있다. 예를 들어, 사용자에 대한 개인 식별 정보를 결정할 수 없도록 사용자의 신원이 익명으로 처리될 수도 있고, 또는 사용자의 특정 위치를 결정할 수 없도록 사용자의 지리적 위치를 위치 정보가 획득된 곳(예컨대, 도시, 우편 번호 또는 주 수준)으로 일반화할 수 있다. 따라서 사용자는 자신에 대한 정보가 어떻게 수집되어 콘텐츠 서버에서 사용되는지에 대해 제어할 수 있다.
본 명세서에서 설명된 특허 대상 및 동작은, 본 명세서에 개시된 구조 및 그 구조적 균등물을 포함하는 디지털 전자 회로, 또는 컴퓨터 소프트웨어, 펌웨어 또는 하드웨어, 또는 이들의 하나 이상의 조합으로 구현될 수 있다. 본 명세서에 기술된 특허 대상은 하나 이상의 컴퓨터 프로그램, 예컨대, 데이터 처리 장치에 의한 실행을 위해 또는 그 동작을 제어하기 위해 하나 이상의 컴퓨터 저장 매체 상에 인코딩된, 컴퓨터 프로그램 명령어들의 하나 이상의 회로로서 구현될 수 있다. 선택적으로 또는 부가적으로, 프로그램 명령어는 인위적으로 생성된 전파 신호, 예컨대, 데이터 처리 장치에 의해 실행할 수 있도록 적절한 수신기 장치로 전송하기 위한 정보를 인코딩하기 위해 생성되는 기계-생성 전기 신호, 광학 신호 또는 전자기 신호로 인코딩될 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독 가능 저장 장치, 컴퓨터 판독 가능 저장 기판, 랜덤 또는 직렬 액세스 메모리 어레이 또는 장치, 또는 이들의 하나 이상의 조합일 수도 있고 이들에 포함될 수도 있다. 컴퓨터 저장 매체는 전파 신호가 아니고, 컴퓨터 저장 매체는 인위적으로 생성된 전파 신호로 인코딩된 컴퓨터 프로그램 명령어의 소스 또는 목적지일 수 있다. 컴퓨터 저장 매체는 또한 하나 이상의 개별 컴포넌트 또는 매체(예컨대, 복수의 CD, 디스크 또는 다른 저장 장치)일 수도 있고 이들에 포함될 수도 있다. 본 명세서에서 설명된 동작들은 하나 이상의 컴퓨터 판독 가능 저장 장치 상에 저장된 데이터 또는 다른 소스들로부터 수신된 데이터에 대해 데이터 처리 장치에 의해 수행되는 동작들로서 구현될 수 있다.
"데이터 처리 시스템", "컴퓨팅 장치", "컴포넌트" 또는 "데이터 처리 장치"라는 용어는 데이터를 처리하기 위한 다양한 장치, 디바이스 및 머신을 포함하는데, 예를 들면 프로그램 가능 프로세서, 컴퓨터, 시스템 온 칩, 또는 복수의 이들, 또는 이들의 조합을 포함한다. 장치는 특수 목적 논리 회로, 예를 들어 FPGA(현장 프로그램 가능 게이트 어레이) 또는 ASIC(주문형 집적 회로)을 포함할 수 있다. 또한, 장치는 하드웨어 외에, 당해 컴퓨터 프로그램을 위한 실행 환경을 생성하는 코드, 예컨대 프로세서 펌웨어를 구성하는 코드, 프로토콜 스택, 데이터베이스 관리 시스템, 운영 체제, 크로스-플랫폼 런타임(cross-platform runtime) 환경, 가상 머신, 또는 이들 중 하나 이상의 조합을 구성하는 코드를 포함할 수 있다. 장치 및 실행 환경은 웹 서비스, 분산 컴퓨팅 및 그리드 컴퓨팅 인프라스트럭처와 같은 다양한 다른 컴퓨팅 모델 인프라스트럭처를 실현할 수 있다. 다이렉트 액션 API(135), 콘텐츠 선택기 컴포넌트(125), 네트워크 보안 어플라이언스(123), 또는 NLP 컴포넌트(110) 및 다른 데이터 처리 시스템(105) 컴포넌트는 하나 이상의 데이터 처리 장치, 시스템, 컴퓨팅 장치 또는 프로세서를 포함하거나 공유할 수 있다.
컴퓨터 프로그램(프로그램, 소프트웨어, 소프트웨어 애플리케이션, 앱, 스크립트 또는 코드로도 알려져 있음)은 컴파일된 또는 해석된 언어, 선언적 또는 절차 적 언어를 포함하는 임의의 형태의 프로그래밍 언어로 기록될 수 있으며, 독립형 프로그램 또는 모듈, 컴포넌트, 서브루틴, 객체 또는 컴퓨팅 환경에서 사용하기에 적합한 다른 유닛을 포함하는 임의의 형태로 사용될 수 있다. 컴퓨터 프로그램은 파일 시스템의 파일에 대응할 수 있다. 컴퓨터 프로그램은 다른 프로그램이나 데이터(예컨대, 마크 업 언어 문서에 저장된 하나 이상의 스크립트)를 보관하는 파일의 일부나, 당해 프로그램에 전용인 단일 파일, 또는 복수의 조정 파일(예컨대, 하나 이상의 모듈, 서브 프로그램 또는 코드의 일부를 저장하는 파일)에 저장될 수 있다. 컴퓨터 프로그램은 하나의 컴퓨터 또는 한 사이트에 있거나 여러 사이트에 분산되어 있으며 통신 네트워크로 상호 연결된 복수의 컴퓨터에서 실행되도록 사용될 수 있다.
본 명세서에서 설명된 프로세스 및 논리 흐름은 입력 데이터를 조작하고 출력을 생성함으로써 동작을 수행하기 위한 하나 이상의 컴퓨터 프로그램(예컨대, 데이터 처리 시스템(105)의 컴포넌트)을 실행하는 하나 이상의 프로그램 가능 프로세서에 의해 수행될 수 있다. 프로세스 및 논리 흐름은 또한, 예컨대 FPGA(field programmable gate array) 또는 ASIC(application-specific integrated circuit)과 같은 특수 목적 논리 회로에 의해 수행될 수 있고, 장치는 또한 이러한 특수 목적의 논리 회로로서 구현될 수 있다. 컴퓨터 프로그램 명령어 및 데이터를 저장하기에 적합한 장치는, 예를 들어 EPROM, EEPROM 및 플래시 메모리 장치와 같은 반도체 메모리 장치, 내부 하드 디스크 또는 이동식 디스크와 같은 자기 디스크, 광 자기 디스크, 및 CD ROM 및 DVD-ROM 디스크를 포함하는 모든 형태의 비휘발성 메모리, 매체 및 메모리 장치를 포함한다. 프로세서 및 메모리는 특수 목적 논리 회로에 의해 보충되거나 그 안에 포함될 수 있다.
본 명세서에서 설명된 특허 대상은, 데이터 서버와 같은 백엔드 컴포넌트를 포함하거나, 애플리케이션 서버와 같은 미들웨어 컴포넌트를 포함하거나, 예를 들어 사용자가 본 명세서에서 설명된 특허 대상의 구현과 상호 작용할 수 있게 하는 웹 브라우저 또는 그래픽 사용자 인터페이스를 갖는 클라이언트 컴퓨터와 같은 프론트엔드 컴포넌트, 또는 하나 이상의 이러한 백엔드, 미들웨어 또는 프론트엔드 컴포넌트들의 조합을 포함하는 컴퓨팅 시스템으로 구현될 수 있다. 시스템의 컴포넌트는 디지털 데이터 통신의 임의의 형태 또는 매체, 예를 들어 통신 네트워크에 의해 상호 접속될 수 있다. 통신 네트워크의 예로는 근거리 통신망("LAN") 및 광역 통신망("WAN"), 인터네트워크(예컨대, 인터넷) 및 피어 투 피어 네트워크(예컨대, 애드 혹(ad hoc) 피어 투 피어 네트워크)를 들 수 있다.
시스템(100) 또는 시스템(400)과 같은 컴퓨팅 시스템은 클라이언트 및 서버를 포함할 수 있다. 클라이언트와 서버는 일반적으로 서로 멀리 떨어져 있고 전형적으로 통신 네트워크(예컨대, 네트워크(165))를 통해 상호 작용한다. 클라이언트와 서버의 관계는, 각각의 컴퓨터에서 실행되며 서로 클라이언트-서버 관계를 갖는 컴퓨터 프로그램으로 인해 발생한다. 일부 구현 예에서, 서버는 (예컨대, 클라이언트 장치와 상호 작용하는 사용자에게 데이터를 표시하고 이로부터 사용자 입력을 수신하기 위한 목적으로) 클라이언트 장치에 데이터(예컨대, 콘텐츠 아이템을 나타내는 데이터 패킷)를 전송한다. 클라이언트 장치에서 생성된 데이터(예컨대, 사용자 상호 작용의 결과)는 클라이언트 장치로부터 서버에서 수신될 수 있다(예컨대, 데이터 처리 시스템(105)에 의해 클라이언트 컴퓨팅 장치(150) 또는 콘텐츠 제공자 컴퓨팅 장치(155) 또는 서비스 제공자 컴퓨팅 장치(160)로부터 수신될 수 있다).
동작들은 도면에 특정 순서로 도시되어 있지만, 그러한 동작들은 도시된 특정 순서 또는 순차적인 순서로 수행될 필요가 없으며, 도시된 모든 동작들이 수행될 필요도 없다. 본 명세서에 설명된 작업은 다른 순서로 수행될 수도 있다.
다양한 시스템 컴포넌트의 분리는 모든 구현에서 분리를 요구하지는 않으며, 상술한 프로그램 컴포넌트는 단일 하드웨어 또는 소프트웨어 제품에 포함될 수 있다. 예를 들어, NLP 컴포넌트(110), 콘텐츠 선택기 컴포넌트(125) 또는 네트워크 보안 어플라이언스(123)는 하나의 컴포넌트, 앱 또는 프로그램, 또는 하나 이상의 프로세싱 회로를 갖는 로직 디바이스일 수도 있고 또는 데이터 처리 시스템(105)의 하나 이상의 서버의 일부일 수도 있다.
지금까지 몇몇 예시적인 구현 예를 설명하였지만, 앞의 설명은 예시일 뿐 제한적인 것은 아니며, 예로서 제시되었다는 것은 명백하다. 구체적으로, 본 명세서에 제시된 많은 예들은 방법 동작들 또는 시스템 요소들의 특정 조합을 포함하지만, 그러한 동작들 및 요소들은 동일한 목적을 달성하기 위해 다른 방식으로 결합될 수도 있다. 한 구현과 관련하여 논의된 동작, 요소 및 특징은 다른 구현 또는 구현에서는 유사한 역할로부터 배제되지는 않는다.
본 명세서에서 사용된 어구 및 전문 용어는 설명의 목적을 위한 것이며 한정하는 것으로 간주되어서는 안된다. 본 명세서에서 사용되는 "포함" "가짐" "특징" 등의 용어와 그 변형은 그 이후에 열거된 항목, 그 균등물 및 추가 항목뿐만 아니라 배타적으로 이후에 나열된 항목으로 구성된 다른 구현도 포함하고자 한다. 일 구현 예에서, 본 명세서에 기술된 시스템 및 방법은 설명된 요소, 동작 또는 컴포넌트 중 하나, 둘 이상의 각각의 조합, 또는 전부로 구성된다.
본 명세서에서 단수형으로 지칭된 시스템들 및 방법들의 구현들 또는 요소들 또는 동작들에 대한 임의의 참조들은 또한 복수의 이들 요소를 포함하는 구현들을 포함할 수 있으며, 본 명세서의 임의의 구현 또는 요소 또는 동작에 대한 임의의 복수형의 참조는 또한 단일 요소만을 포함하는 구현들을 포함할 수 있다. 단수 또는 복수 형태의 참조는 현재 개시된 시스템 또는 방법, 이들의 컴포넌트, 동작 또는 요소를 단일 또는 복수 구성으로 제한하려는 것이 아니다. 임의의 정보, 동작 또는 요소에 기반한 임의의 동작 또는 요소에 대한 참조는 해당 동작 또는 요소가 적어도 부분적으로 임의의 정보, 동작 또는 요소에 기초하는 구현을 포함할 수 있다.
본 명세서에 개시된 임의의 구현은 임의의 다른 구현 또는 실시 예와 결합될 수 있으며, "구현", "일부 구현", "하나의 구현" 등은 반드시 상호 배타적인 것은 아니며, 구현과 관련하여 설명한 특정한 특징, 구조 또는 특성이 적어도 하나의 구현 또는 실시 예에 포함될 수 있음을 나타내고자 한다. 본 명세서에 사용된 이러한 용어들은 반드시 모두 동일한 구현을 지칭하는 것은 아니다. 임의의 구현은 본 명세서에 개시된 양태 및 구현과 일관된 방식으로 다른 구현과 포괄적으로 또는 배타적으로 결합될 수 있다.
"또는"에 대한 언급은 "또는"을 사용하여 설명하는 임의의 용어가 기술된 용어들 중 하나, 둘 이상 및 모두를 나타낼 수 있도록 포괄적인 것으로 해석될 수 있다. 예를 들어 "'A'와 'B'중 적어도 하나"라는 표현은 'A' 또는 'B'뿐만 아니라 'A'와 'B' 둘 다를 포함할 수 있다. "포함" 또는 다른 비한정적인 용어(open terminology)와 관련하여 사용된 이러한 언급은 추가 항목을 포함할 수 있다.
도면, 상세한 설명 또는 청구 범위의 기술적 특징 뒤에 참조 부호가 있는 경우, 이들 참조 부호는 도면, 상세한 설명 및 청구 범위의 명료성을 높이기 위해 포함시켰다. 따라서, 참조 부호들이 있든 없든 청구 범위에 어떠한 제한 효과도 가지지 않는다.
본 명세서에 기술된 시스템 및 방법은 그 특성을 벗어나지 않으면서 다른 특정 형태로 실시될 수 있다. 전술한 구현들은 설명된 시스템 및 방법을 제한하기보다는 예시적인 것이다. 따라서, 본 명세서에 설명된 시스템 및 방법의 범위는 전술한 설명보다는 첨부된 청구범위에 의해 표시되며, 청구항들의 균등물의 의미 및 범위 내에 있는 변경들은 청구범위에 포함된다.

Claims (20)

  1. 음성 작동 컴퓨터 네트워크 환경에서 패킷화된 오디오 신호들을 인증하기 위한 시스템으로서,
    하나 이상의 프로세서 및 메모리를 포함하는 데이터 처리 시스템과;
    제3자 콘텐츠 제공자가 제1 입력 오디오 신호에 표시된 요청을 처리할 것인지 결정하기 위해 클라이언트 디바이스의 센서를 통해 획득된 상기 제1 입력 오디오 신호를 포함하는 제1 오디오 패킷을 파싱하도록 상기 데이터 처리 시스템에 의해 실행되는 자연어 프로세서 컴포넌트와;
    상기 요청을 처리하기 위해 결정된 상기 클라이언트 디바이스와 상기 제3자 콘텐츠 제공자 사이의 통신 세션을 설정하기 위해 상기 데이터 처리 시스템에 의해 실행되는 대화형 애플리케이션 프로그래밍 인터페이스와;
    상기 제1 입력 오디오 신호의 인증을 위해 상기 클라이언트 디바이스에 제공할 콘텐츠 아이템을 선택하기 위해 상기 데이터 처리 시스템에 의해 실행되는 콘텐츠 선택기 컴포넌트와; 그리고
    상기 데이터 처리 시스템에 의해 실행되는 네트워크 보안 어플라이언스를 포함하고,
    상기 네트워크 보안 어플라이언스는:
    제2 입력 오디오 신호를 포함하는 제2 오디오 패킷을, 상기 클라이언트 디바이스로부터 수신하고, 상기 제2 입력 오디오 신호는 상기 클라이언트 디바이스에 제공된 상기 콘텐츠 아이템에 대한 응답에 대응하며,
    상기 제1 오디오 패킷의 인증을 위해, 상기 제2 오디오 패킷의 제2 입력 오디오 신호의 특성을 상기 제1 오디오 패킷의 제1 입력 오디오 신호와 연관된 특성과 비교하고; 그리고
    상기 제1 오디오 패킷의 인증을 위한 비교에 따라, 상기 제3자 콘텐츠 제공자와 상기 클라이언트 디바이스 사이에 설정된 통신 세션의 계속 또는 종료 중 하나를 나타내는 조건에 대응하는 명령어를 전송하는 것을 특징으로 하는
    패킷화된 오디오 신호들을 인증하기 위한 시스템.
  2. 제1항에 있어서,
    상기 네트워크 보안 어플라이언스는:
    상기 비교에 기초하여, 상기 제2 오디오 패킷의 제2 입력 오디오 신호의 특성은 상기 제1 오디오 패킷의 제1 입력 오디오 신호와 연관된 특성과 일치하지 않는다고 결정하고;
    상기 결정에 응답하여, 상기 통신 세션의 종료를 나타내는 조건을 생성하고; 그리고
    상기 종료를 나타내는 조건의 생성에 응답하여, 상기 통신 세션을 디스에이블하라는 명령어를 상기 제3자 콘텐츠 제공자에게 전송하는 것을 특징으로 하는
    패킷화된 오디오 신호들을 인증하기 위한 시스템.
  3. 제1항에 있어서,
    상기 네트워크 보안 어플라이언스는:
    상기 비교에 기초하여, 상기 제2 오디오 패킷의 제2 입력 오디오 신호의 특성은 상기 제1 오디오 패킷의 제1 입력 오디오 신호와 연관된 특성과 일치한다고 결정하고;
    상기 결정에 응답하여, 상기 통신 세션의 계속을 나타내는 조건을 생성하고; 그리고
    상기 계속을 나타내는 조건의 생성에 응답하여, 상기 통신 세션을 유지하라는 명령어를 상기 제3자 콘텐츠 제공자에게 전송하는 것을 특징으로 하는
    패킷화된 오디오 신호들을 인증하기 위한 시스템.
  4. 제1항에 있어서,
    상기 데이터 처리 시스템은:
    상기 제1 오디오 패킷의 제1 입력 오디오 신호에 의해 표시된 요청을 처리하기 위한 액션 데이터 구조를 식별하고, 상기 액션 데이터 구조는 상기 제3자 콘텐츠 제공자로 하여금 액션을 수행하도록 하는 파라미터를 가지며;
    상기 액션 데이터 구조의 파라미터가 상기 제1 오디오 패킷의 제1 입력 오디오 신호의 특성과 일치하지 않는다고 결정하고; 그리고
    상기 결정에 응답하여, 상기 제1 입력 오디오 신호의 인증을 위한 콘텐츠 아이템을 선택하는 것을 특징으로 하는
    패킷화된 오디오 신호들을 인증하기 위한 시스템.
  5. 제1항에 있어서,
    상기 데이터 처리 시스템은:
    상기 클라이언트 디바이스와 연관된 제2 클라이언트 디바이스의 위치를 식별하고;
    상기 클라이언트 디바이스의 위치와 상기 제2 클라이언트 디바이스의 위치 사이의 거리가 임계 거리보다 크다고 결정하고; 그리고
    상기 결정에 응답하여, 상기 제1 입력 오디오 신호의 인증을 위한 콘텐츠 아이템을 선택하는 것을 특징으로 하는
    패킷화된 오디오 신호들을 인증하기 위한 시스템.
  6. 제1항에 있어서,
    상기 데이터 처리 시스템은:
    상기 제1 오디오 패킷의 제1 입력 오디오 신호에 표시된 요청을 완료하기 위해 소비될 계산 리소스들의 양을 식별하고;
    소비될 계산 리소스들의 양은 임계값보다 큰지 결정하고; 그리고
    상기 결정에 응답하여, 상기 제1 입력 오디오 신호의 인증을 위한 콘텐츠 아이템을 선택하는 것을 특징으로 하는
    패킷화된 오디오 신호들을 인증하기 위한 시스템.
  7. 제1항에 있어서,
    상기 데이터 처리 시스템은:
    상기 제1 입력 오디오 신호와 관련된 특성에 대해 상기 제3자 콘텐츠 제공자에 의해 지정된 제한을 식별하고; 그리고
    상기 식별에 응답하여, 상기 제1 입력 오디오 신호의 인증을 위한 콘텐츠 아이템을 선택하는 것을 특징으로 하는
    패킷화된 오디오 신호들을 인증하기 위한 시스템.
  8. 제1항에 있어서,
    상기 네트워크 보안 어플라이언스는:
    상기 제1 입력 오디오 신호에서 나타내는 요청에 기초하여 상기 제1 입력 오디오 신호의 특성을, 상기 제1 입력 오디오 신호의 복수의 특성들로부터 식별하고; 그리고
    상기 제1 입력 오디오 신호의 특성과 비교하기 위해 상기 제2 입력 오디오 신호의 특성을, 상기 제2 입력 오디오 신호의 복수의 특성들로부터 식별하는 것을 특징으로 하는
    패킷화된 오디오 신호들을 인증하기 위한 시스템.
  9. 제1항에 있어서,
    상기 네트워크 보안 어플라이언스는:
    성문(voiceprint), 키워드, 검출된 음성들의 수, 상기 클라이언트 디바이스의 식별 및 상기 제1 입력 오디오 신호의 소스의 위치 중 적어도 하나를 포함하는 상기 제1 입력 오디오 신호의 특성을 결정하고; 그리고
    성문, 키워드, 검출된 음성들의 수, 상기 클라이언트 디바이스의 식별 및 상기 제2 입력 오디오 신호의 소스의 위치 중 적어도 하나를 포함하는 상기 제2 입력 오디오 신호의 특성을 결정하는 것을 특징으로 하는
    패킷화된 오디오 신호들을 인증하기 위한 시스템.
  10. 제1항에 있어서,
    상기 네트워크 보안 어플라이언스는:
    상기 제1 오디오 패킷의 인증을 위해, 상기 제2 입력 오디오 신호의 특성의 해시를 상기 제1 입력 오디오 신호와 연관된 특성의 해시와 비교하는 것을 특징으로 하는
    패킷화된 오디오 신호들을 인증하기 위한 시스템.
  11. 제1항에 있어서,
    상기 제1 입력 오디오 신호에 표시된 요청을 처리할 제3자 콘텐츠 제공자를, 복수의 제3자 콘텐츠 제공자들로부터 결정하기 위해 상기 데이터 처리 시스템에 의해 실행되는 다이렉트 액션 애플리케이션 프로그래밍 인터페이스를 포함하는 것을 특징으로 하는
    패킷화된 오디오 신호들을 인증하기 위한 시스템.
  12. 제1항에 있어서,
    상기 제3자 콘텐츠 제공자와 상기 클라이언트 디바이스 사이의 통신 세션을 설정하기 위한 액션 데이터 구조를 생성하기 위해 상기 데이터 처리 시스템에 의해 실행되는 다이렉트 액션 애플리케이션 프로그래밍 인터페이스를 포함하는 것을 특징으로 하는
    패킷화된 오디오 신호들을 인증하기 위한 시스템.
  13. 제1항에 있어서,
    상기 콘텐츠 선택기 컴포넌트는 상기 제1 입력 오디오 신호의 인증을 위해 상기 콘텐츠 아이템을 선택하고, 상기 콘텐츠 아이템은 입력 오디오를 촉구하는 적어도 하나의 출력 오디오 신호 또는 상호 작용을 촉구하는 적어도 하나의 시각적 통지를 포함하는 것을 특징으로 하는
    패킷화된 오디오 신호들을 인증하기 위한 시스템.
  14. 제1항에 있어서,
    상기 자연어 프로세서 컴포넌트는 상기 요청을 식별하기 위해 상기 제1 오디오 패킷의 상기 제1 입력 오디오 신호를 파싱하고, 트리거 키워드는 상기 요청에 대응하며, 상기 요청은 상기 트리거 키워드에 따라 상기 제3자 콘텐츠 제공자에 의해 수행될 액션에 대응하는 것을 특징으로 하는
    패킷화된 오디오 신호들을 인증하기 위한 시스템.
  15. 음성 작동 컴퓨터 네트워크 환경에서 패킷화된 오디오 신호들을 인증하는 방법으로서,
    하나 이상의 프로세서를 갖는 데이터 처리 시스템에 의해, 제3자 콘텐츠 제공자가 제1 입력 오디오 신호에 표시된 요청을 처리할 것인지 결정하기 위해 클라이언트 디바이스의 센서를 통해 획득된 상기 제1 입력 오디오 신호를 포함하는 제1 오디오 패킷을 파싱하는 단계와;
    상기 데이터 처리 시스템에 의해, 상기 요청을 처리하기 위해 결정된 상기 클라이언트 디바이스와 상기 제3자 콘텐츠 제공자 사이의 통신 세션을 설정하는 단계와;
    상기 데이터 처리 시스템에 의해, 상기 제1 입력 오디오 신호의 인증을 위해 상기 클라이언트 디바이스에 제공할 콘텐츠 아이템을 선택하는 단계와;
    상기 데이터 처리 시스템에 의해, 제2 입력 오디오 신호를 포함하는 제2 오디오 패킷을, 상기 클라이언트 디바이스로부터 수신하는 단계 - 상기 제2 입력 오디오 신호는 상기 클라이언트 디바이스에 제공된 상기 콘텐츠 아이템에 대한 응답에 대응하며 - 와;
    상기 데이터 처리 시스템에 의해, 상기 제1 오디오 패킷의 인증을 위해, 상기 제2 오디오 패킷의 제2 입력 오디오 신호의 특성을 상기 제1 오디오 패킷의 제1 입력 오디오 신호와 연관된 특성과 비교하는 단계와; 그리고
    상기 데이터 처리 시스템에 의해, 상기 제1 오디오 패킷의 인증을 위한 비교에 따라, 상기 제3자 콘텐츠 제공자와 상기 클라이언트 디바이스 사이에 설정된 통신 세션의 계속 또는 종료 중 하나를 나타내는 조건에 대응하는 명령어를 전송하는 단계를 포함하는 것을 특징으로 하는
    패킷화된 오디오 신호들을 인증하는 방법.
  16. 제15항에 있어서,
    상기 데이터 처리 시스템에 의해, 상기 비교에 기초하여, 상기 제2 오디오 패킷의 제2 입력 오디오 신호의 특성은 상기 제1 오디오 패킷의 제1 입력 오디오 신호와 연관된 특성과 일치하지 않는다고 결정하는 단계와;
    상기 데이터 처리 시스템에 의해, 상기 결정에 응답하여, 상기 통신 세션의 종료를 나타내는 조건을 생성하는 단계와; 그리고
    상기 데이터 처리 시스템에 의해, 상기 종료를 나타내는 조건의 생성에 응답하여, 상기 통신 세션을 디스에이블하라는 명령어를 상기 제3자 콘텐츠 제공자에게 전송하는 단계를 포함하는 것을 특징으로 하는
    패킷화된 오디오 신호들을 인증하는 방법.
  17. 제15항에 있어서,
    상기 데이터 처리 시스템에 의해, 상기 비교에 기초하여, 상기 제2 오디오 패킷의 제2 입력 오디오 신호의 특성은 상기 제1 오디오 패킷의 제1 입력 오디오 신호와 연관된 특성과 일치한다고 결정하는 단계와;
    상기 데이터 처리 시스템에 의해, 상기 결정에 응답하여, 상기 통신 세션의 계속을 나타내는 조건을 생성하는 단계와; 그리고
    상기 데이터 처리 시스템에 의해, 상기 계속을 나타내는 조건의 생성에 응답하여, 상기 통신 세션을 유지하라는 명령어를 상기 제3자 콘텐츠 제공자에게 전송하는 단계를 포함하는 것을 특징으로 하는
    패킷화된 오디오 신호들을 인증하는 방법.
  18. 제15항에 있어서,
    상기 데이터 처리 시스템에 의해, 상기 제1 오디오 패킷의 제1 입력 오디오 신호에 의해 표시된 요청을 처리하기 위한 액션 데이터 구조를 식별하는 단계 - 상기 액션 데이터 구조는 상기 제3자 콘텐츠 제공자로 하여금 액션을 수행하도록 하는 파라미터를 가지며 - 와;
    상기 데이터 처리 시스템에 의해, 상기 액션 데이터 구조의 파라미터가 상기 제1 오디오 패킷의 제1 입력 오디오 신호의 특성과 일치하지 않는다고 결정하는 단계와; 그리고
    상기 데이터 처리 시스템에 의해, 상기 결정에 응답하여, 상기 제1 입력 오디오 신호의 인증을 위한 콘텐츠 아이템을 선택하는 단계를 포함하는 것을 특징으로 하는
    패킷화된 오디오 신호들을 인증하는 방법.
  19. 제15항에 있어서,
    상기 데이터 처리 시스템에 의해, 성문, 키워드, 검출된 음성들의 수, 상기 클라이언트 디바이스의 식별 및 상기 제1 입력 오디오 신호의 소스의 위치 중 적어도 하나를 포함하는 상기 제1 입력 오디오 신호의 특성을 결정하는 단계와; 그리고
    상기 데이터 처리 시스템에 의해, 성문, 키워드, 검출된 음성들의 수, 상기 클라이언트 디바이스의 식별 및 상기 제2 입력 오디오 신호의 소스의 위치 중 적어도 하나를 포함하는 상기 제2 입력 오디오 신호의 특성을 결정하는 단계를 포함하는 것을 특징으로 하는
    패킷화된 오디오 신호들을 인증하는 방법.
  20. 제15항에 있어서,
    상기 데이터 처리 시스템에 의해, 상기 제1 입력 오디오 신호의 인증을 위해 상기 콘텐츠 아이템을 선택하는 단계를 포함하고, 상기 콘텐츠 아이템은 입력 오디오를 촉구하는 적어도 하나의 출력 오디오 신호 또는 상호 작용을 촉구하는 적어도 하나의 시각적 통지를 포함하는 것을 특징으로 하는
    패킷화된 오디오 신호들을 인증하는 방법.
KR1020217018943A 2016-12-30 2017-08-31 패킷화된 오디오 신호의 인증 KR102421668B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US15/395,729 2016-12-30
US15/395,729 US10541997B2 (en) 2016-12-30 2016-12-30 Authentication of packetized audio signals
PCT/US2017/049721 WO2018125300A1 (en) 2016-12-30 2017-08-31 Authentication of packetized audio signals
KR1020207020741A KR102269618B1 (ko) 2016-12-30 2017-08-31 패킷화된 오디오 신호의 인증

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020207020741A Division KR102269618B1 (ko) 2016-12-30 2017-08-31 패킷화된 오디오 신호의 인증

Publications (2)

Publication Number Publication Date
KR20210078579A KR20210078579A (ko) 2021-06-28
KR102421668B1 true KR102421668B1 (ko) 2022-07-15

Family

ID=59859632

Family Applications (3)

Application Number Title Priority Date Filing Date
KR1020217018943A KR102421668B1 (ko) 2016-12-30 2017-08-31 패킷화된 오디오 신호의 인증
KR1020207020741A KR102269618B1 (ko) 2016-12-30 2017-08-31 패킷화된 오디오 신호의 인증
KR1020177031374A KR102137224B1 (ko) 2016-12-30 2017-08-31 패킷화된 오디오 신호의 인증

Family Applications After (2)

Application Number Title Priority Date Filing Date
KR1020207020741A KR102269618B1 (ko) 2016-12-30 2017-08-31 패킷화된 오디오 신호의 인증
KR1020177031374A KR102137224B1 (ko) 2016-12-30 2017-08-31 패킷화된 오디오 신호의 인증

Country Status (8)

Country Link
US (3) US10541997B2 (ko)
EP (3) EP3360307B1 (ko)
JP (3) JP6692832B2 (ko)
KR (3) KR102421668B1 (ko)
CN (2) CN108605043B (ko)
DE (2) DE212017000294U1 (ko)
GB (2) GB202114214D0 (ko)
WO (1) WO2018125300A1 (ko)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10719591B1 (en) 2013-03-15 2020-07-21 Google Llc Authentication of audio-based input signals
FR3067489A1 (fr) * 2017-06-20 2018-12-14 Orange Dispositifs et procedes de communication
US11244050B2 (en) * 2018-12-03 2022-02-08 Mayachitra, Inc. Malware classification and detection using audio descriptors
US10565365B1 (en) * 2019-02-21 2020-02-18 Capital One Services, Llc Systems and methods for data access control using narrative authentication questions
US11122423B2 (en) 2019-06-26 2021-09-14 Vmware, Inc. Proximity based authentication of a user through a voice assistant device
CN110991812A (zh) * 2019-11-08 2020-04-10 云南电网有限责任公司大理供电局 一种基于自然语言处理技术的电网数据管理系统
US11570165B2 (en) * 2019-12-09 2023-01-31 Vmware, Inc. Single sign-on service authentication through a voice assistant
US11830098B2 (en) 2020-01-02 2023-11-28 Vmware, Inc. Data leak prevention using user and device contexts
CN113328954B (zh) * 2021-05-25 2023-09-19 深圳证券通信有限公司 一种阻断限制源端传输业务数据包的方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140249817A1 (en) 2013-03-04 2014-09-04 Rawles Llc Identification using Audio Signatures and Additional Characteristics
US20160093304A1 (en) 2014-09-30 2016-03-31 Apple Inc. Speaker identification and unsupervised speaker adaptation techniques

Family Cites Families (63)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3617882B2 (ja) * 1996-03-08 2005-02-09 株式会社東芝 セキュリティ装置及びセキュリティ実現方法
US6421453B1 (en) 1998-05-15 2002-07-16 International Business Machines Corporation Apparatus and methods for user recognition employing behavioral passwords
US6275806B1 (en) 1999-08-31 2001-08-14 Andersen Consulting, Llp System method and article of manufacture for detecting emotion in voice signals by utilizing statistics for voice signal parameters
US8019609B2 (en) 1999-10-04 2011-09-13 Dialware Inc. Sonic/ultrasonic authentication method
US6684249B1 (en) 2000-05-26 2004-01-27 Sonicbox, Inc. Method and system for adding advertisements over streaming audio based upon a user profile over a world wide area network of computers
US6857007B1 (en) 2000-08-30 2005-02-15 Bloomfield Enterprises, Llc Personal digital assistant facilitated communication system
TW473675B (en) 2000-09-29 2002-01-21 C A I Co Ltd Topics dialog procedures and system
US20020149705A1 (en) 2001-04-12 2002-10-17 Allen Paul G. Contact list for a hybrid communicator/remote control
US8091100B2 (en) 2001-06-18 2012-01-03 The Nielsen Company (Us), Llc Prompting of audience member identification
US20030147624A1 (en) * 2002-02-06 2003-08-07 Koninklijke Philips Electronics N.V. Method and apparatus for controlling a media player based on a non-user event
GB2391373A (en) 2002-07-31 2004-02-04 David Toms A system for the automatic detection of a fraudulent transaction
GB2410359A (en) 2004-01-23 2005-07-27 Sony Uk Ltd Display
US7853255B2 (en) 2004-04-16 2010-12-14 Broadcom Corporation Digital personal assistance via a broadband access gateway
US20060041926A1 (en) 2004-04-30 2006-02-23 Vulcan Inc. Voice control of multimedia content
WO2005114904A1 (en) * 2004-05-21 2005-12-01 Cablesedge Software Inc. Remote access system and method and intelligent agent therefor
US10333731B2 (en) 2005-06-09 2019-06-25 Whirlpool Corporation Methods and apparatus for communicatively coupling internal components within appliances, and appliances with external components and accessories
US20060293891A1 (en) * 2005-06-22 2006-12-28 Jan Pathuel Biometric control systems and associated methods of use
US8195133B2 (en) 2005-09-14 2012-06-05 Jumptap, Inc. Mobile dynamic advertisement creation and placement
US7904505B2 (en) 2005-11-02 2011-03-08 At&T Intellectual Property I, L.P. Service to push author-spoken audio content with targeted audio advertising to users
CA2641853C (en) 2006-02-10 2016-02-02 Spinvox Limited A mass-scale, user-independent, device-independent, voice messaging system
US9318108B2 (en) 2010-01-18 2016-04-19 Apple Inc. Intelligent automated assistant
JP2008090545A (ja) 2006-09-29 2008-04-17 Toshiba Corp 音声対話装置および音声対話方法
US8027518B2 (en) 2007-06-25 2011-09-27 Microsoft Corporation Automatic configuration of devices based on biometric data
US8934871B2 (en) * 2007-08-31 2015-01-13 Qualcomm Incorporated Accessing subscribed content with a mobile computing device
WO2009067670A1 (en) 2007-11-21 2009-05-28 Gesturetek, Inc. Media preferences
US8299889B2 (en) 2007-12-07 2012-10-30 Cisco Technology, Inc. Home entertainment system providing presence and mobility via remote control authentication
US9628208B2 (en) 2008-02-26 2017-04-18 International Business Machines Corporation System, method and program product for customizing presentation of television content to a specific viewer and location
US20090262069A1 (en) 2008-04-22 2009-10-22 Opentv, Inc. Gesture signatures
US8145561B1 (en) 2009-01-05 2012-03-27 Sprint Communications Company L.P. Phone usage pattern as credit card fraud detection trigger
US8838815B2 (en) 2009-05-29 2014-09-16 At&T Intellectual Property I, L.P. Systems and methods to make a resource available via a local network
US9858925B2 (en) 2009-06-05 2018-01-02 Apple Inc. Using context information to facilitate processing of commands in a virtual assistant
US10276170B2 (en) 2010-01-18 2019-04-30 Apple Inc. Intelligent automated assistant
US8682667B2 (en) 2010-02-25 2014-03-25 Apple Inc. User profiling for selecting user specific voice input processing information
US9118488B2 (en) * 2010-06-17 2015-08-25 Aliphcom System and method for controlling access to network services using biometric authentication
US20120140069A1 (en) 2010-11-30 2012-06-07 121View Usa Systems and methods for gathering viewership statistics and providing viewer-driven mass media content
US8849199B2 (en) 2010-11-30 2014-09-30 Cox Communications, Inc. Systems and methods for customizing broadband content based upon passive presence detection of users
US8504691B1 (en) * 2010-12-29 2013-08-06 Amazon Technologies, Inc. System and method for allocating resources for heterogeneous service requests
US9262612B2 (en) * 2011-03-21 2016-02-16 Apple Inc. Device access using voice authentication
US9021565B2 (en) 2011-10-13 2015-04-28 At&T Intellectual Property I, L.P. Authentication techniques utilizing a computing device
JP5866728B2 (ja) 2011-10-14 2016-02-17 サイバーアイ・エンタテインメント株式会社 画像認識システムを備えた知識情報処理サーバシステム
US9082004B2 (en) 2011-12-15 2015-07-14 The Nielsen Company (Us), Llc. Methods and apparatus to capture images
US20130173765A1 (en) 2011-12-29 2013-07-04 United Video Properties, Inc. Systems and methods for assigning roles between user devices
US9280610B2 (en) 2012-05-14 2016-03-08 Apple Inc. Crowd sourcing information to fulfill user requests
US8971854B2 (en) * 2012-06-19 2015-03-03 Honeywell International Inc. System and method of speaker recognition
US8543834B1 (en) * 2012-09-10 2013-09-24 Google Inc. Voice authentication and command
US9398335B2 (en) 2012-11-29 2016-07-19 Qualcomm Incorporated Methods and apparatus for using user engagement to provide content presentation
US8769557B1 (en) 2012-12-27 2014-07-01 The Nielsen Company (Us), Llc Methods and apparatus to determine engagement levels of audience members
DE212014000045U1 (de) 2013-02-07 2015-09-24 Apple Inc. Sprach-Trigger für einen digitalen Assistenten
US9171450B2 (en) * 2013-03-08 2015-10-27 Qualcomm Incorporated Emergency handling system using informative alarm sound
WO2015029379A1 (ja) 2013-08-29 2015-03-05 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 機器制御方法、表示制御方法及び購入決済方法
US9343068B2 (en) * 2013-09-16 2016-05-17 Qualcomm Incorporated Method and apparatus for controlling access to applications having different security levels
US9762684B2 (en) * 2013-09-25 2017-09-12 Tencent Technology (Shenzhen) Company Limited Method and apparatus for implementing action instruction based on barcode
US9443522B2 (en) 2013-11-18 2016-09-13 Beijing Lenovo Software Ltd. Voice recognition method, voice controlling method, information processing method, and electronic apparatus
CN103957522B (zh) * 2014-04-16 2018-05-11 华为技术有限公司 一种智能通讯方法、终端及系统
US9384738B2 (en) 2014-06-24 2016-07-05 Google Inc. Dynamic threshold for speaker verification
US9257120B1 (en) * 2014-07-18 2016-02-09 Google Inc. Speaker verification using co-location information
CN105208014B (zh) * 2015-08-31 2018-09-25 腾讯科技(深圳)有限公司 一种语音通信处理方法、电子设备及系统
US20170092278A1 (en) 2015-09-30 2017-03-30 Apple Inc. Speaker recognition
US9928840B2 (en) 2015-10-16 2018-03-27 Google Llc Hotword recognition
US9747926B2 (en) 2015-10-16 2017-08-29 Google Inc. Hotword recognition
US10691473B2 (en) 2015-11-06 2020-06-23 Apple Inc. Intelligent automated assistant in a messaging environment
US10192552B2 (en) 2016-06-10 2019-01-29 Apple Inc. Digital assistant providing whispered speech
KR102575634B1 (ko) 2016-07-26 2023-09-06 삼성전자주식회사 전자 장치 및 전자 장치의 동작 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140249817A1 (en) 2013-03-04 2014-09-04 Rawles Llc Identification using Audio Signatures and Additional Characteristics
US20160093304A1 (en) 2014-09-30 2016-03-31 Apple Inc. Speaker identification and unsupervised speaker adaptation techniques

Also Published As

Publication number Publication date
JP7386829B2 (ja) 2023-11-27
GB202114214D0 (en) 2021-11-17
US20180191713A1 (en) 2018-07-05
US20200137053A1 (en) 2020-04-30
EP3557462B1 (en) 2021-07-21
KR102269618B1 (ko) 2021-06-28
GB201802838D0 (en) 2018-04-11
DE112017000177T5 (de) 2018-08-16
KR20210078579A (ko) 2021-06-28
EP3557462A1 (en) 2019-10-23
CN113141397B (zh) 2023-12-19
JP2021192235A (ja) 2021-12-16
KR102137224B1 (ko) 2020-07-23
US20180191711A1 (en) 2018-07-05
JP6922028B2 (ja) 2021-08-18
EP3360307A1 (en) 2018-08-15
EP3360307B1 (en) 2019-06-26
DE212017000294U1 (de) 2019-10-10
GB2563965B (en) 2021-11-17
JP2020144881A (ja) 2020-09-10
US10541998B2 (en) 2020-01-21
JP6692832B2 (ja) 2020-05-13
CN108605043B (zh) 2021-04-16
US10541997B2 (en) 2020-01-21
KR20180091705A (ko) 2018-08-16
KR20200091482A (ko) 2020-07-30
GB2563965A (en) 2019-01-02
WO2018125300A1 (en) 2018-07-05
EP3916594A1 (en) 2021-12-01
US10917404B2 (en) 2021-02-09
CN113141397A (zh) 2021-07-20
JP2019503594A (ja) 2019-02-07
CN108605043A (zh) 2018-09-28

Similar Documents

Publication Publication Date Title
KR102421668B1 (ko) 패킷화된 오디오 신호의 인증
US10957326B2 (en) Device identifier dependent operation processing of packet based data communication
JP6830444B2 (ja) 音声起動されたデータ・パケットのデータ構造プーリング
JP6559802B2 (ja) パケットベースのデータ通信のデバイス識別子依存オペレーション処理
JP6586470B2 (ja) パケット化されたデータのマルチモーダル送信のシステムおよび方法
KR102270132B1 (ko) 패킷 기반 데이터 메시지 전송의 시퀀스 의존 동작 처리
JP6756017B2 (ja) 音声起動されたコンピュータネットワーク環境におけるシーケンス依存データメッセージ統合
KR20200091895A (ko) 네트워크 시스템의 분산 식별
EP3742314B1 (en) Delayed two-factor authentication in a networked environment

Legal Events

Date Code Title Description
A107 Divisional application of patent
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant