KR20220051427A - 컴퓨팅 디바이스간의 액세스 제어 동기화 - Google Patents

컴퓨팅 디바이스간의 액세스 제어 동기화 Download PDF

Info

Publication number
KR20220051427A
KR20220051427A KR1020227012703A KR20227012703A KR20220051427A KR 20220051427 A KR20220051427 A KR 20220051427A KR 1020227012703 A KR1020227012703 A KR 1020227012703A KR 20227012703 A KR20227012703 A KR 20227012703A KR 20220051427 A KR20220051427 A KR 20220051427A
Authority
KR
South Korea
Prior art keywords
processing system
component
data processing
digital
data
Prior art date
Application number
KR1020227012703A
Other languages
English (en)
Other versions
KR102513999B1 (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 KR20220051427A publication Critical patent/KR20220051427A/ko
Application granted granted Critical
Publication of KR102513999B1 publication Critical patent/KR102513999B1/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/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/604Tools and structures for managing or administering access control systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • 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/16Sound input; Sound output
    • G06F3/167Audio in a user interface, e.g. using voice commands for navigating, audio feedback
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/102Entity profiles
    • 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/32
    • 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/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • 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/2141Access rights, e.g. capability lists, access control lists, access tables, access matrices
    • 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/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • G10L2015/223Execution procedure of a spoken command

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Health & Medical Sciences (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Bioethics (AREA)
  • Computing Systems (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Automation & Control Theory (AREA)
  • Multimedia (AREA)
  • Human Computer Interaction (AREA)
  • Artificial Intelligence (AREA)
  • Computational Linguistics (AREA)
  • Information Transfer Between Computers (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

컴퓨팅 디바이스간의 액세스 제어 동기화가 제공된다. 시스템은 제1 디바이스로부터 요청을 수신한다. 시스템은 비호환성을 결정하는 것에 응답하여 제2 디바이스로의 세션 핸드 오버를 수행한다. 시스템은 액세스 제어 데이터베이스내의 파라미터를 수정한다. 시스템은 제3 디바이스로부터 요청을 수신한다. 시스템은 디지털 컴포넌트를 제3 디바이스로 제공한다.

Description

컴퓨팅 디바이스간의 액세스 제어 동기화{SYNCHRONIZING ACCESS CONTROLS BETWEEN COMPUTING DEVICES}
본 출원은 2018년 5월 7일에 출원된 미국 가출원 번호 62/668,218에 대한 35 U.S.C.§119 하의 우선권의 이점을 주장하며, 그 전체는 본 명세서에 참고로 포함된다.
상이한 컴퓨팅 디바이스는 상이한 입력 또는 출력 인터페이스 또는 계산 성능 능력과 같은 상이한 능력을 가질 수 있다.
본 발명은 일반적으로 컴퓨팅 디바이스들 사이의 액세스 제어를 동기화하는 것에 관한 것이다. 제한된 입력 또는 출력 인터페이스 또는 상이한 디바이스상의 사용 가능한 다른 처리 능력으로 인해, 소정(certain) 유형의 디지털 컴포넌트들에 액세스하거나 소정 유형의 디바이스들로부터 이러한 디지털 컴포넌트들의 액세스 제어 파라미터를 수정하는 것이 어렵거나 불가능할 수 있다. 본 기술적 솔루션의 시스템 및 방법은 세션이 제 1 디바이스로부터 디지털 컴포넌트에 액세스하거나 수정한 다음 그 세션을 제 2 디바이스로 핸드 오버하여 액세스 또는 수정을 완료할 수 있도록 한다. 액세스 제어 파라미터들은 디지털 컴포넌트에 액세스하기 위해 다수의 디바이스에 의해 사용될 수 있는 디지털 액세스 제어 데이터베이스에서 수정될 수 있다.
적어도 하나의 양태는 컴퓨팅 디바이스들 간의 액세스 제어를 동기화하는 시스템에 관한 것이다. 시스템은 하나 이상의 프로세서를 갖는 데이터 처리 시스템을 포함할 수 있다. 데이터 처리 시스템은 대화형(interactive) 데이터 교환 컴포넌트, 호환성 검사기 컴포넌트, 세션 전송 컴포넌트 및 액세스 컨트롤러 컴포넌트를 실행할 수 있다. 대화형 데이터 교환 컴포넌트는 데이터 처리 시스템의 인터페이스를 통해, 계정 식별자와 링크된 제 1 클라이언트 디바이스의 센서에 의해 검출된 입력 오디오 신호를 포함하는 데이터 패킷을 수신할 수 있다. 대화형 데이터 교환 컴포넌트는 자연어 처리 기술에 기초하여, 디지털 컴포넌트에 대한 요청 및 그 요청에 대응하는 하나 이상의 키워드를 식별하기 위해 입력 오디오 신호를 포함하는 데이터 패킷을 파싱할 수 있다. 대화형 데이터 교환 컴포넌트는 제 1 클라이언트 디바이스와 세션을 설정할 수 있다. 대화형 데이터 교환 컴포넌트는 디지털 액세스 제어 데이터베이스에 저장된 디지털 컴포넌트에 대한 정책에 기초하여, 계정 식별자와 링크된 제 1 클라이언트 디바이스에 의한 디지털 컴포넌트에 대한 요청에 응답하는 필드를 갖는 입력 프롬프트를 생성할 수 있다. 호환성 검사기 컴포넌트는 입력 프롬프트가 제 1 클라이언트 디바이스와 호환되지 않는지 결정할 수 있다. 세션 전송 컴포넌트는 입력 프롬프트가 제 1 클라이언트 디바이스와 호환되지 않는다는 결정에 응답하여, 제 1 클라이언트 디바이스와 링크된 계정 식별자와 링크된 제 2 클라이언트 디바이스의 상태를 식별할 수 있다. 호환성 검사기는 세션 전송 컴포넌트에 의해 식별된 상태에 기초하여 입력 프롬프트가 제 2 클라이언트 디바이스와 호환되는지 결정할 수 있다. 세션 전송 컴포넌트는 세션을 제 2 클라이언트 디바이스로 핸드 오버하고 제 1 클라이언트 디바이스와의 세션의 일부를 종료할 수 있다. 대화형 데이터 교환 컴포넌트는 핸드 오버에 응답하여, 입력 프롬프트를 제 2 클라이언트 디바이스로 전송할 수 있다. 대화형 데이터 교환 컴포넌트는 입력 프롬프트에 응답하여 제 2 클라이언트 디바이스를 통해 입력된 데이터 패킷을 수신할 수 있다. 액세스 컨트롤러 컴포넌트는 제 2 클라이언트 디바이스를 통해 입력된 데이터 패킷에 기초하여, 계정 식별자에 대해 디지털 액세스 제어 데이터베이스에 저장된 디지털 컴포넌트에 대한 파라미터를 수정할 수 있다. 대화형 데이터 교환 컴포넌트는 계정 식별자와 링크된 제 3 클라이언트 디바이스상의 디지털 컴포넌트를 실행하기 위한 요청을 수신할 수 있다. 데이터 처리 시스템은 계정 식별자에 대한 디지털 액세스 제어 데이터베이스에 저장된 디지털 컴포넌트에 대한 파라미터의 액세스 컨트롤러 컴포넌트에 의한 검증 및 디지털 컴포넌트가 제 3 클라이언트 디바이스와 호환된다는 호환성 검사기 컴포넌트에 의한 결정에 응답하여, 제 3 클라이언트 디바이스에 의해 실행하기 위한 디지털 컴포넌트를 제공할 수 있다.
적어도 하나의 양태는 컴퓨팅 디바이스들 간의 액세스 제어를 동기화하는 방법에 관한 것이다. 이 방법은 하나 이상의 프로세서 및 메모리를 갖는 데이터 처리 시스템에 의해 수행될 수 있다. 방법은 계정 식별자와 링크된 제 1 클라이언트 디바이스의 센서에 의해 검출된 입력 오디오 신호를 포함하는 데이터 패킷을 수신하는 데이터 처리 시스템을 포함할 수 있다. 방법은 자연어 처리 기술에 기초하여, 디지털 컴포넌트에 대한 요청 및 그 요청에 대응하는 하나 이상의 키워드를 식별하기 위한 입력 오디오 신호를 갖는 데이터 패킷을 파싱하는 데이터 처리 시스템을 포함할 수 있다. 방법은 제 1 클라이언트 디바이스와 세션을 설정하는 데이터 처리 시스템을 포함할 수 있다. 이 방법은 디지털 액세스 제어 데이터베이스에 저장된 디지털 컴포넌트에 대한 정책에 기초하여, 계정 식별자와 링크된 제 1 클라이언트 디바이스에 의한 디지털 컴포넌트에 대한 요청에 응답하는 필드를 갖는 입력 프롬프트를 생성하는 데이터 처리 시스템을 포함할 수 있다. 방법은 데이터 처리 시스템에 의해, 입력 프롬프트가 제 1 클라이언트 디바이스와 호환되지 않는다고 결정하는 데이터 처리 시스템을 포함할 수 있다. 방법은 입력 프롬프트가 제 1 클라이언트 디바이스와 호환되지 않는다는 결정에 응답하여, 제 1 클라이언트 디바이스와 링크된 계정 식별자와 링크된 제 2 클라이언트 디바이스의 상태를 식별하는 데이터 처리 시스템을 포함할 수 있다. 방법은 세션 전송 컴포넌트에 의해 식별된 상태에 기초하여 입력 프롬프트가 제 2 클라이언트 디바이스와 호환되는지 결정하는 데이터 처리 시스템을 포함할 수 있다. 방법은 제 2 클라이언트 디바이스로의 세션의 핸드 오버를 수행하고 제 1 클라이언트 디바이스와의 세션의 일부를 종료하는 데이터 처리 시스템을 포함할 수 있다. 방법은 핸드 오버에 응답하여, 입력 프롬프트를 제 2 클라이언트 디바이스로 전송하는 데이터 처리 시스템을 포함할 수 있다. 방법은 입력 프롬프트에 응답하여 제 2 클라이언트 디바이스를 통해 입력된 데이터 패킷을 수신하는 데이터 처리 시스템을 포함할 수 있다. 방법은 제 2 클라이언트 디바이스를 통해 입력된 데이터 패킷에 기초하여, 계정 식별자에 대한 디지털 액세스 제어 데이터베이스에 저장된 디지털 컴포넌트에 대한 파라미터를 수정하는 데이터 처리 시스템을 포함할 수 있다. 방법은 계정 식별자와 링크된 제 3 클라이언트 디바이스에서 디지털 컴포넌트를 실행하기 위한 요청을 수신하는 데이터 처리 시스템을 포함할 수 있다. 이 방법은 계정 식별자에 대한 디지털 액세스 제어 데이터베이스에 저장된 디지털 컴포넌트에 대한 파라미터의 액세스 컨트롤러 컴포넌트에 의한 검증 및 디지털 컴포넌트가 호환 가능하다는 호환성 검사기 컴포넌트의 결정에 응답하여 제 3 클라이언트 디바이스에 의해 실행하기 위한 디지털 컴포넌트를 제공하는 데이터 처리 시스템을 포함할 수 있다.
각각의 양태는 다음 특징들 중 하나 이상을 선택적으로 포함할 수 있다. 계정 식별자와 연결된 복수의 클라이언트 디바이스를 식별하는 단계와; 디지털 컴포넌트와 호환되는 복수의 클라이언트 디바이스의 서브 세트를 식별하는 단계와; 그리고 파라미터의 수정에 응답하여, 복수의 클라이언트 디바이스의 서브 세트에서 실행하기 위한 디지털 컴포넌트를 제공하는 단계를 포함한다. 제 3 클라이언트 디바이스의 상태에 기초하여 디지털 컴포넌트의 포멧을 변환한다. 제 2 디지털 컴포넌트를 실행하기 위해 제 3 클라이언트 디바이스로부터 요청을 수신하는 단계와; 액세스 제어 데이터베이스의 제 2 디지털 컴포넌트에 대해 저장된 파라미터에 기초하여, 제 3 클라이언트 디바이스가 제 2 디지털 컴포넌트를 실행할 권한이 없음을 결정하는 단계와; 제 2 클라이언트 디바이스로, 제 2 디지털 컴포넌트에 대한 입력 프롬프트를 전송하는 단계와; 그리고 제 2 클라이언트 디바이스를 통해 제공된 입력에 응답하여 제 3 클라이언트 디바이스를 인증하는 단계를 포함한다. 디지털 컴포넌트에 대한 액세스 제어 데이터베이스에 하나 이상의 규칙을 저장한다. 제 3 클라이언트 디바이스에서 디지털 컴포넌트를 실행할 수있는 권한을 제공하도록 파라미터를 수정한다. 디지털 컴포넌트의 유형에 기초하여 파라미터의 유형을 결정하는 단계와 그리고 유형에 기초하여 파라미터를 수정하는 단계를 포함한다. 입력 프롬프트내의 복수 필드를 식별하는 단계와; 그리고 복수의 필드 각각에 대한 오디오 궈리를 생성하는 단계와; 그리고 복수의 필드 각각에 대해 생성된 오디오 쿼리에 응답하여 하나 이상의 입력 오디오 신호를 수신하는 단계를 포함한다. 세션은 액세스 제어 세션을 포함 할 수 있다. 액세스 제어 세션은 제 1 클라이언트 디바이스를 통해 검출된 입력 오디오 신호에 응답하여 시작될 수 있으며; 제 1 클라이언트 디바이스상의 액세스 제어 세션을 일시 중지하는 단계와; 제 1 클라이언트 디바이스로부터 제 2 클라이언트 디바이스로 액세스 제어 세션을 핸드 오버하는 단계와; 그리고 입력 프롬프트에 응답하여 제 2 클라이언트 디바이스를 통해 입력된 데이터 패킷에 응답하여 액세스 제어 세션을 종료하는 단계를 포함한다. 디지털 컴포넌트는 제 3 자 컴퓨팅 디바이스에 의해 제공될 수 있다. 데이터 처리 시스템은 제 3 클라이언트 디바이스에 의한 실행을 위해 디지털 컴포넌트를 제공하도록 제 3 자 컴퓨팅 디바이스에 지시할 수 있다. 제 1 클라이언트 디바이스는 제 1 서피스 또는 사용자 인터페이스 유형을 실행할 수 있고, 제 2 클라이언트 디바이스는 제 2 서피스 또는 사용자 인터페이스 유형을 실행할 수 있으며, 제 3 클라이언트 디바이스는 제 1 서피스 및 제 2 서피스와 상이한 제 3 서피스 또는 사용자 인터페이스 유형을 실행할 수 있다. 데이터 처리 시스템은 제 3 서피스 및 제 2 서피스에 의한 실행을위해 디지털 컴포넌트를 제공하도록 구성될 수 있다. 제 3 클라이언트 디바이스의 메모리에 저장하기 위해, 계정 식별자에 대한 디지털 액세스 제어 데이터베이스의 디지털 컴포넌트에 대한 파라미터를 제공하는 단계와, 입력 프롬프트에 응답하여 제 2 클라이언트 디바이스를 통해 입력된 데이터 패킷에 응답하여, 제 3 클라이언트 디바이스의 메모리에 저장된 디지털 컴포넌트에 대한 파라미터를 업데이트하는 단계를 포함한다. 제 1 디지털 어시스턴트 디바이스의 사전 결정된 거리 내에 있는 디바이스를 식별하는 단계를 포함하고, 제 2 디바이스는 제 1 디지털 어시스턴트 디바이스의 사전 결정된 거리 내에 있는 식별 된 디바이스들에 기초하여 선택된다.
이들 및 다른 양태 및 구현은 아래에서 상세히 논의된다. 전술한 정보 및 다음의 상세한 설명은 다양한 양태 및 구현의 예시적인 예를 포함하고 청구된 양태 및 구현의 특성 및 특성을 이해하기 위한 개요 또는 프레임 워크를 제공한다. 도면은 다양한 양태 및 구현에 대한 예시 및 추가 이해를 제공하며, 본 명세서에 통합되고 그 일부를 구성한다.
첨부된 도면은 일정한 비율로 그려지지 않았다. 다양한 도면에서 참조 번호와 명칭은 같은 요소를 나타낸다. 명확성을 위해 모든 컴포넌트에 모든 도면에 레이블이 지정되지는 않는다.
도 1은 컴퓨팅 디바이스들 사이의 액세스 제어를 동기화하기 위한 예시적인 시스템의 예시이다.
도 2는 컴퓨팅 디바이스들 사이에서 액세스 제어를 동기화하기 위한 시스템의 예시적인 동작의 예시이다.
도 3은 컴퓨팅 디바이스들 사이에서 액세스 제어를 동기화하는 예시적인 방법의 예시이다.
도 4는 예를 들어, 도 1 및 2에 도시된 시스템 및 도 3에 도시된 방법을 포함하여, 본 명세서에 설명되고 도시된 시스템 및 방법의 요소들을 구현하기 위해 사용될 수 있는 컴퓨터 시스템에 대한 일반적인 아키텍처를 도시하는 블록도이다.
다음은 컴퓨터 네트워크를 통해 패킷화된 동작을 라우팅하는 방법, 장치 및 시스템과 관련된 다양한 개념 및 구현에 대한 보다 자세한 설명이다. 위에서 소개되고 아래에서 더 상세히 논의되는 다양한 개념은 임의의 다양한 방식으로 구현될 수 있다.
본 발명은 일반적으로 컴퓨팅 디바이스들 사이의 액세스 제어를 동기화하는 것에 관한 것이다. 제한된 입력 또는 출력 인터페이스 또는 상이한 디바이스에서 사용할 수 있는 기타 처리 능력으로 인해, 소정 유형의 디지털 컴포넌트들에 액세스하거나 소정 유형의 디바이스들에서 이러한 디지털 컴포넌트들의 액세스 제어 파라미터를 수정하는 것이 어렵거나 불가능할 수 있다. 본 기술적 솔루션의 시스템 및 방법은 세션이 제 1 디바이스로부터 디지털 컴포넌트에 액세스하거나 수정한 다음 그 세션을 제 2 디바이스로 핸드 오버하여 액세스 또는 수정을 완료할 수 있도록 한다. 액세스 제어 파라미터들은 디지털 컴포넌트에 액세스하기 위해 다수의 디바이스에 의해 사용될 수 있는 디지털 액세스 제어 데이터베이스에서 수정될 수 있다.
제 1 디지털 어시스턴트 디바이스가 소정 유형의 명령 또는 커맨드를 처리하기에 부족하거나 최적으로 구성되지 않았음을 자동으로 판단한 다음 세션을 제 2 디지털 어시스턴트 디바이스로 핸드 오버할 수 있는 데이터 처리 시스템을 제공함으로써, 데이터 처리 시스템은 제 1 및 제 2 디지털 어시스턴트 디바이스의 속성을 활용하는 안내식 상호 작용 프로세스를 제공한다. 데이터 처리 시스템은 세션을 제 2 디지털 어시스턴트로 원활하게 전송함으로써 액세스 제어를 조정하거나 수정하는 추가 기술적 기능을 제공하면서 제 1 디지털 어시스턴트 디바이스에 의한 불필요한 처리를 줄일 수 있다. 게다가, 데이터 처리 시스템은 디지털 컴포넌트에 대한 파라미터 또는 규칙을 포함할 수 있는 액세스 제어 데이터베이스를 유지할 수 있다. 액세스 제어 데이터베이스는 중앙에 위치한 액세스 제어 데이터베이스일 수 있다. 액세스 제어 데이터베이스를 유지하거나 관리함으로써 데이터 처리 시스템은 디지털 컴포넌트를 실행하도록 승인된 디바이스에 디지털 컴포넌트를 제공하는 것을 용이하게 할 수 있다. 현재 솔루션은 리소스 소비, 프로세서 사용률, 배터리 소비, 대역폭 사용률, 오디오 파일의 크기, 또는 디지털 컴포넌트에 대한 액세스 제어를 수정하기 위한 커맨드를 승인하거나 인증하기 위해 입력 또는 출력 포트, 인터페이스 또는 컴포넌트를 포함하지 않을 수 있는 제 1 디지털 어시스턴트 디바이스에 의해 소비되는 시간량을 줄일 수 있다.
예를 들어, 디지털 컴포넌트는 대화형 애플리케이션 프로그래밍 인터페이스와 같은 디지털 어시스턴트 휴먼 인터페이스(본 명세서에서 서피스(surface)이라고 지칭함)를 통해 요청될 수 있다. 이것은 요청하는 인-애플리케이션 항목, 구독 또는 유료 애플리케이션을 포함할 수 있으며, 디지털 어시스턴트 컴포넌트 또는 서피스를 사용할 수 있는 애플리케이션에서 제 3 자 개발자에 의해 제공될 수 있다. 디지털 컴포넌트(예를 들어, 오디오 북, 디지털 통화, 전자 파일 또는 디지털 음악)가 액세스될 때, 데이터 처리 시스템은 계정에 링크된 일부 또는 모든 디지털 어시스턴트 서피스 또는 애플리케이션에서 사용하기 위해 이 디지털 컴포넌트를 제공할 수 있다. 예를 들어, 오디오 북은 스피커일 수 있는 제 1 디지털 어시스턴트 디바이스상에서 요청된 다음 나중에 스마트 폰에서 실행될 수 있다.
데이터 처리 시스템은 다른 디지털 어시스턴트 서피스에서 사용자가 조정한 액세스 제어 파라미터를 캡처하는 중앙 데이터베이스에 디지털 컴포넌트의 요청 또는 액세스 제어 파라미터를 기록할 수 있다. 특정 디지털 어시스턴트 서피스 또는 애플리케이션이 사용되는 경우, 디지털 어시스턴트 서피스는 계정에 대한 디지털 컴포넌트 액세스 제어 파라미터를 중앙 데이터베이스에 요청할 수 있다. 액세스 제어 조정이 특정 디바이스에서 완료될 수 없는 경우 디바이스 핸드 오버(예를 들어, 전자 거래를 확인하기 위해 세션을 스마트 폰으로 전송)가 있을 수 있다. 예를 들어, 인증이 필요하지만 제 1 디지털 어시스턴트 디바이스에서 제공되지 않는 경우, 데이터 처리 시스템은 인증을 위해 스마트 폰과 같은 제 2 디지털 어시스턴트 디바이스로 세션을 전송할 수 있다. 인증이 완료된 후 디지털 컴포넌트는 계정에 링크되고 디지털 컴포넌트와 호환되는 디바이스들에 의해 사용될 수 있다. 따라서, 본 기술 솔루션의 시스템 및 방법은 디지털 컴포넌트가 임의의 디지털 어시스턴트 디바이스, 서피스 또는 애플리케이션에서 음성 인터페이스를 통해 획득될 수 있게 하고, 그런 다음 디지털 컴포넌트를 실행하도록 구성된 임의의 디지털 어시스턴트 디바이스, 서피스 또는 애플리케이션상에서 실행하기 위해 그 디지털 컴포넌트를 제공할 수 있다.
도 1은 컴퓨팅 디바이스들 사이에서 액세스 제어를 동기화하기 위한 예시적인 시스템(100)을 도시한다. 시스템(100)은 컨텐츠 선택 인프라를 포함할 수 있다. 시스템(100)은 데이터 처리 시스템(102)을 포함할 수 있다. 데이터 처리 시스템 (102)은 네트워크(105)를 통해 컨텐츠 제공자 컴퓨팅 디바이스(154), 제 3 자 디바이스(156) 또는 로컬 컴퓨팅 디바이스(140) 중 하나 이상과 통신할 수 있다. 네트워크(105)는 인터넷, 로컬, 와이드, 메트로 또는 다른 영역 네트워크, 인트라넷, 위성 네트워크, 및 음성 또는 데이터 이동 전화 네트워크와 같은 다른 통신 네트워크와 같은 컴퓨터 네트워크를 포함할 수 있다. 네트워크(105)는 랩탑, 데스크탑, 태블릿, 디지털 어시스턴트 디바이스, 스마트 폰, 휴대용 컴퓨터 또는 스피커와 같은 적어도 하나의 로컬 컴퓨팅 디바이스(140)상에서 제시, 출력, 렌더링 또는 디스플레이될 수 있는 웹 페이지, 웹 사이트, 도메인 이름 또는 URL과 같은 정보 리소스에 액세스하는데 사용될 수 있다. 예를 들어, 네트워크(105)를 통해 로컬 컴퓨팅 디바이스(140)의 사용자는 컨텐츠 제공자(154)에 의해 제공된 정보 또는 데이터에 액세스할 수 있다. 컴퓨팅 디바이스(140)는 디스플레이를 포함하거나 포함하지 않을 수 있는데, 예를 들어, 컴퓨팅 디바이스는 마이크 및 스피커와 같은 제한된 유형의 사용자 인터페이스를 포함할 수 있다. 일부 경우에, 컴퓨팅 디바이스(140)의 주 사용자 인터페이스는 마이크로폰 및 스피커 또는 음성 인터페이스일 수 있다.
로컬 컴퓨팅 디바이스(140)는 호텔, 사무실, 식당, 소매점, 쇼핑몰, 공원과 같은 공공 장소, 또는 구거용 주택과 같은 개인 장소에 위치된 컴퓨팅 디바이스 또는 클라이언트 디바이스를 지칭할 수 있다. 로컬이라는 용어는 사용자가 음성 입력 또는 다른 입력을 사용하여 컴퓨팅 디바이스와 상호 작용할 수 있는 곳에 위치된 컴퓨팅 디바이스를 지칭할 수 있다. 로컬 컴퓨팅 디바이스는 데이터 처리 시스템(102)과 같은 원격 서버로부터 멀리 떨어져 위치할 수 있다. 따라서, 로컬 컴퓨팅 디바이스(140)는 사용자가 음성 입력을 사용하여 로컬 컴퓨팅 디바이스(140)와 상호 작용할 수 있는 호텔 방, 쇼핑몰, 작은 침실(cubicle) 또는 기타 건물 또는 거주지에 위치될 수 있는 반면, 데이터 처리 시스템(102)은 예를 들어 데이터 센터에 원격으로 위치될 수 있다. 로컬 컴퓨팅 디바이스(140)는 디지털 어시스턴트 디바이스로 지칭될 수 있다.
네트워크(105)는 컨텐츠 배치 또는 검색 엔진 결과 시스템과 연관되거나 디지털 컴포넌트 배치 캠페인의 일부로 제 3 자 디지털 컴포넌트를 포함할 자격이 있는 인터넷에서 사용 가능한 정보 자원의 서브 세트와 같은 디스플레이 네트워크를 포함하거나 구성할 수 있다. 네트워크(105)는 로컬 클라이언트 컴퓨팅 디바이스(140)에 의해 제시, 출력, 렌더링 또는 디스플레이될 수 있는 웹 페이지, 웹 사이트, 도메인 이름 또는 URL과 같은 정보 리소스에 액세스하기 위해 데이터 처리 시스템(102)에 의해 사용될 수 있다. 예를 들어, 네트워크(105)를 통해 로컬 클라이언트 컴퓨팅 디바이스(140)의 사용자는 컨텐츠 제공자 컴퓨팅 디바이스(154) 또는 서비스 제공자 컴퓨팅 디바이스(108)에 의해 제공된 정보 또는 데이터에 액세스할 수 있다.
네트워크(105)는 임의의 유형 또는 형태의 네트워크일 수 있으며, 포인트-투-포인트 네트워크, 브로드캐스트 네트워크, 광역 네트워크, 근거리 통신망, 통신 네트워크, 데이터 통신 네트워크, 컴퓨터 네트워크, ATM(Asynchronous Transfer Mode) 네트워크, SONET(Synchronous Optical Network) 네트워크, SDH(Synchronous Digital Hierarchy) 네트워크, 무선 네트워크 및 유선 네트워크 중 하나를 포함할 수 있다. 네트워크(105)는 적외선 채널 또는 위성 대역과 같은 무선 링크를 포함할 수 있다. 네트워크(105)의 토폴로지는 버스, 별 또는 링 네트워크 토폴로지를 포함할 수 있다. 네트워크는 고급 이동 전화 프로토콜("AMPS"), 시분할 다중 액세스("TDMA"), 코드 분할 다중 액세스("CDMA"), 글로벌 이동 통신 시스템("GSM"), 일반 패킷 무선 서비스("GPRS") 또는 범용 이동 통신 시스템("UMTS")을 포함하여, 모바일 디바이스간에 통신하는데 사용되는 프로토콜 또는 프로토콜들을 사용하는 이동 전화 네트워크를 포함할 수 있다. 서로 다른 유형의 데이터가 서로 다른 프로토콜을 통해 전송되거나 동일한 유형의 데이터가 서로 다른 프로토콜을 통해 전송될 수 있다.
시스템(100)은 적어도 하나의 데이터 처리 시스템(102)을 포함할 수 있다. 데이터 처리 시스템(102)은 네트워크(105)를 통해 예를 들어 컴퓨팅 디바이스(140), 컨텐츠 제공자 컴퓨팅 디바이스(154)(컨텐츠 제공자(154)) 또는 제 3 자 디바이스(156)(또는 제 3 자(156))와 통신하기 위한 프로세서를 갖는 컴퓨팅 디바이스와 같은 적어도 하나의 논리 디바이스를 포함할 수 있다. 데이터 처리 시스템(102)은 적어도 하나의 계산 리소스, 서버, 프로세서 또는 메모리를 포함할 수 있다. 예를 들어, 데이터 처리 시스템(102)은 적어도 하나의 데이터 센터에 위치한 복수의 계산 리소스 또는 서버를 포함할 수 있다. 데이터 처리 시스템(102)은 논리적으로 그룹화된 다수의 서버를 포함하고 분산 컴퓨팅 기술을 용이하게 할 수 있다. 논리적 서버 그룹은 데이터 센터, 서버 팜 또는 기계 팜으로 지칭될 수 있다. 서버들은 지리적으로 분산될 수도 있다. 데이터 센터 또는 기계 팜을 단일 엔티티로 관리되거나 기계 팜은 복수의 기계 팜을 포함할 수 있다. 각 기계 팜 내의 서버들은 이기 종일 수 있다. 하나 이상의 서버 또는 기계이 하나 이상의 유형의 운영 체제 플랫폼에 따라 작동할 수 있다.
기계 팜의 서버들은 관련 스토리지 시스템과 함께 고밀도 랙 시스템에 저장될 수 있으며 기업 데이터 센터에 위치할 수 있다. 예를 들어, 이러한 방식으로 서버들을 통합하면 로컬화된 고성능 네트워크에 서버와 고성능 스토리지 시스템을 배치하여 시스템 관리성, 데이터 보안, 시스템의 물리적 보안 및 시스템 성능을 향상시킬 수 있다. 서버들 및 저장 시스템들을 포함하는 데이터 처리 시스템(102) 컴포넌트들의 전부 또는 일부를 중앙 집중화하고 이들을 고급 시스템 관리 툴과 결합하면 서버 리소스를 보다 효율적으로 사용할 수 있는데, 이는 전력 및 처리 요구 사항을 절약하고 대역폭 사용을 감소시킨다.
시스템(100)은 적어도 하나의 제 3 자 디바이스(156)를 포함하거나, 액세스하거나 그와 상호 작용할 수 있다. 제 3 자 디바이스(156)는 네트워크(105)를 통해 예를 들어 컴퓨팅 디바이스(140), 데이터 처리 시스템(102) 또는 컨텐츠 제공자(154)와 통신하는 프로세서를 갖는 컴퓨팅 디바이스와 같은 적어도 하나의 논리 디바이스를 포함할 수 있다. 제 3 자 디바이스(156)는 적어도 하나의 계산 리소스, 서버, 프로세서 또는 메모리를 포함할 수 있다. 예를 들어, 제 3 자 디바이스(156)는 적어도 하나의 데이터 센터에 위치한 복수의 계산 리소스 또는 서버를 포함할 수 있다.
컨텐츠 제공자 디바이스(154)는 오디오 출력 디지털 컴포넌트로서 로컬 컴퓨팅 디바이스(140)에 의한 디스플레이를 위해 오디오 기반 디지털 컴포넌트들을 제공할 수 있다. 디지털 컴포넌트는 "택시를 불러 드릴까요?"라는 음성 기반 메시지와 같은 상품 또는 서비스에 대한 제안(offer)을 포함할 수 있다. 예를 들어, 컨텐츠 제공자 컴퓨팅 디바이스(154)는 음성 기반 쿼리에 응답하여 제공될 수 있는 일련의 오디오 디지털 컴포넌트를 저장하기 위한 메모리를 포함할 수 있다. 컨텐츠 제공자 컴퓨팅 디바이스(154)는 또한 오디오 기반 디지털 컴포넌트들(또는 다른 디지털 컴포넌트들)을 그들이 데이터 저장소(122)에 저장될 수 있는 데이터 처리 시스템(102)으로 제공할 수 있다. 데이터 처리 시스템(102)은 오디오 디지털 컴포넌트를 선택하고 그 오디오 디지털 컴포넌트를 로컬 클라이언트 컴퓨팅 디바이스(140)로 제공(또는 제공하도록 컨텐츠 제공자 컴퓨팅 디바이스(154)에 지시)할 수 있다. 오디오 기반 디지털 컴포넌트들은 배타적으로 오디오이거나 텍스트, 이미지 또는 비디오 데이터와 결합될 수 있다.
제 3 자 디바이스(156)는 데이터 처리 시스템(102)을 포함하거나, 그와 인터페이스하거나 또는 그와 통신할 수 있다. 제 3 자 디바이스(156)는 로컬 컴퓨팅 디바이스(140)를 포함하거나, 그와 인터페이스하거나 또는 그와 통신할 수 있다. 제 3 자 디바이스(156)는 모바일 컴퓨팅 디바이스일 수 있는 컴퓨팅 디바이스(140)를 포함하거나, 그와 인터페이스하거나 또는 그와 통신할 수 있다. 제 3 자 디바이스(156)는 컨텐츠 제공자 디바이스(154)를 포함하거나, 그와 인터페이스하거나 또는 그와 통신할 수 있다. 예를 들어, 제 3 자 디바이스(156)는 로컬 컴퓨팅 디바이스(140)에 의한 실행을 위해 디지털 컴포넌트를 로컬 컴퓨팅 디바이스(140)로 제공할 수 있다. 제 3 자 디바이스(156)는 데이터 처리 시스템(102)에 의한 저장을 위해 데이터 처리 시스템(102)에 디지털 컴포넌트를 제공할 수 있다. 제 3 자 디바이스(156)는 액세스 제어 데이터베이스(132)에 저장하기 위해 데이터 처리 시스템(102)에 디지털 컴포넌트와 관련된 규칙 또는 파라미터들을 제공할 수 있다.
로컬 컴퓨팅 디바이스(140)는 적어도 하나의 센서(144), 변환기(146), 오디오 드라이버(148) 또는 전처리기(150)를 포함하거나, 인터페이스하거나, 통신할 수 있다. 로컬 컴퓨팅 디바이스(140)는 광원(142) 또는 조명 표시기, 발광 다이오드("LED"), 유기 발광 다이오드("OLED"), 또는 시각적 또는 광학 출력을 제공하도록 구성된 다른 시각적 표시기와 같은 디스플레이 디바이스(152)를 포함할 수 있다. 센서(144)는 예를 들어 주변광 센서, 근접 센서, 온도 센서, 가속도계, 자이로 스코프, 모션 검출기, GPS 센서, 위치 센서, 마이크로폰 또는 터치 센서를 포함할 수 있다. 변환기(146)는 스피커 또는 마이크로폰을 포함할 수 있다. 오디오 드라이버(148)는 하드웨어 변환기(146)에 소프트웨어 인터페이스를 제공할 수 있다. 오디오 드라이버는 대응하는 음향파 또는 음파를 생성하도록 변환기(146)를 제어하기 위해 데이터 처리 시스템(102)에 의해 제공된 오디오 파일 또는 다른 명령을 실행할 수 있다. 전처리기(150)는 키워드를 검출하고 키워드에 기초하여 액션을 수행하도록 구성된 하드웨어를 갖는 처리 유닛을 포함할 수 있다. 전처리기(150)는 추가 처리를 위해 데이터 처리 시스템(102)에 용어들을 전송하기 전에 하나 이상의 용어를 필터링하거나 용어들을 수정할 수 있다. 전처리기(150)는 마이크로폰에 의해 검출된 아날로그 오디오 신호를 디지털 오디오 신호로 변환하고, 디지털 오디오 신호를 운반하는 하나 이상의 데이터 패킷을 네트워크(105)를 통해 데이터 처리 시스템(102)으로 전송할 수 있다. 일부 경우에, 전처리기(150)는 그러한 전송을 수행하라는 명령을 검출하는 것에 응답하여 입력 오디오 신호의 일부 또는 전부를 운반하는 데이터 패킷을 전송할 수 있다. 명령은 예를 들어, 입력 오디오 신호를 포함하는 데이터 패킷을 데이터 처리 시스템(102)에 전송하기 위한 트리거 키워드 또는 다른 키워드 또는 승인을 포함할 수 있다.
로컬 클라이언트 컴퓨팅 디바이스(140)는 (센서(144)를 통해) 로컬 클라이언트 컴퓨팅 디바이스(140)에 오디오 입력으로서 음성 쿼리를 입력하고, 변환기(예를 들어, 스피커)로부터 출력된, 데이터 처리 시스템(102)(또는 컨텐츠 제공자 컴퓨팅 디바이스(154) 또는 서비스 제공자 컴퓨팅 디바이스(108))로부터 로컬 클라이언트 컴퓨팅 디바이스(140)로 제공될 수 있는 오디오 출력을 컴퓨터 생성 음성의 형태로 수신하는 최종 사용자와 연관될 수 있다. 컴퓨터 생성 음성은 실제 사람의 녹음 또는 컴퓨터 생성 언어를 포함할 수 있다.
데이터 저장소(122)는 하나 이상의 로컬 또는 분산 데이터베이스를 포함할 수 있고 데이터베이스 관리 시스템을 포함할 수 있다. 데이터 저장소(122)는 컴퓨터 데이터 저장소 또는 메모리를 포함할 수 있고, 다른 데이터 중에서 하나 이상의 서명 및 계정 정보(124), 링크된 디바이스 정보(126), 컨텐츠 데이터(128), 템플릿 데이터(130) 및 액세스 제어 데이터베이스(132)를 저장할 수 있다. 액세스 제어 데이터베이스(132)는 파라미터(134), 규칙(136) 및 디지털 컴포넌트(138)(또는 디지털 컴포넌트(138)에 대한 식별자 또는 참조 식별자)를 포함하거나 저장할 수 있다. 서명 및 계정 정보(124)는 로컬 컴퓨팅 디바이스(140)의 사용자에 대응하는 계정을 식별하기 위해 화자 인식 컴포넌트(112)에 의해 사용될 수 있는 음향 서명 또는 음성 서명을 포함할 수 있다. 서명(124)은 음향 또는 음성 서명을 포함할 수 있다. 서명들(124)은 오디오 샘플을 식별하거나 오디오 데이터베이스에서 유사한 항목을 신속하게 찾기 위해 사용될 수 있는 오디오 신호로부터 결정적으로 생성된 압축 디지털 요약, 지문을 포함할 수 있는 음향 지문을 지칭할 수 있다. 서명들(124)은 화자 인식 컴포넌트(112)에 의한 프로파일 식별을 용이하게 하는 데이터를 포함할 수 있다.
계정 정보는 프로파일 정보, 선호도, 전자 계정 정보, 또는 액세스 제어 데이터베이스(132)에 해당하는 계정을 포함하거나 지칭할 수 있다. 링크된 디바이스 정보(126)는 계정(124)(예를 들어, 로컬 컴퓨팅 디바이스(140), 제 1 디지털 어시스턴트 디바이스(280), 제 2 디지털 어시스턴트 디바이스(282) 또는 제 3 디지털 어시스턴트 디바이스(284))과 관련된 디바이스 식별자들을 포함하거나 지칭할 수 있다. 링크된 디바이스 정보(126)는 계정과 함께 사용하기 위해 데이터 처리 시스템(102)에 의해 프로비저닝된 디바이스들을 포함할 수 있다. 링크된 디바이스 정보(126)는 액세스 제어 데이터베이스(132)에 따라 디지털 컴포넌트들(138)에 액세스하도록 승인되거나 인증된 디바이스들을 포함하거나 지칭할 수 있다. 컨텐츠 데이터(128)는 로컬 클라이언트 컴퓨팅 디바이스(140)와의 하나 이상의 통신 세션의 일부일 수 있는 입력 오디오 메시지뿐만 아니라 오디오 출력을 위한 디지털 컴포넌트 또는 관련 메타 데이터를 포함할 수 있다. 컨텐츠 데이터(128)는 예를 들어 컨텐츠 캠페인 정보, 컨텐츠 그룹, 컨텐츠 선택 기준, 디지털 컴포넌트 객체 또는 컨텐츠 제공자(154)에 의해 제공되거나 컨텐츠 선택을 용이하게 하기 위해 데이터 처리 시스템에 의해 획득되거나 결정된 다른 정보를 포함할 수 있다. 컨텐츠 데이터(128)는 예를 들어 컨텐츠 캠페인의 이력 성과를 포함할 수 있다.
템플릿 데이터(130)는 입력 프롬프트 또는 다른 프롬프트, 통지 또는 경고를 생성하는데 사용되는 템플릿을 포함하거나 지칭할 수 있다. 템플릿(130)은 예를 들어, 로컬 컴퓨팅 디바이스(140)에서 사용 가능한 이용 가능한 사용자 인터페이스, 입력 인터페이스 또는 출력 인터페이스에 기초하여 상이한 유형의 로컬 컴퓨팅 디바이스(140)에 대해 구성된 상이한 템플릿들을 저장할 수 있다. 템플릿(130)은 제 3 자 디바이스(156)에 의해 설정되고 저장 및 이용을 위해 데이터 처리 시스템(102)에 제공될 수 있거나, 템플릿(130)은 데이터 처리 시스템(102)의 관리자에 의해 생성되거나 규칙 또는 정책에 기초하여 생성될 수 있다.
액세스 제어 데이터베이스("DB")(132)는 디지털 컴포넌트들(138)에 관한 정보를 포함할 수 있다. 디지털 컴포넌트들(138)은 로컬 컴퓨팅 디바이스(140) 또는 링크된 디바이스들(예를 들어, 제 3 디지털 어시스턴트 디바이스(284))에 의해 실행될 수 있는 전자 데이터 또는 데이터 파일을 지칭하거나 포함할 수 있다. 디지털 컴포넌트(138)는 오디오 북, 디지털 음악 파일, 디지털 영화 파일, 멀티미디어 파일, 전자 게임, 프로그램, 스크립트, 애플리케이션 프로그램 인터페이스 또는 디지털 통화를 지칭하거나 포함할 수 있다. 디지털 컴포넌트들(138)은 액세스 제어 데이터베이스(132)에 저장될 수 있거나, 디지털 컴포넌트들(138)의 참조 또는 식별자는 액세스 제어 데이터베이스(132)에 저장될 수 있다. 예를 들어, 디지털 컴포넌트(138)(또는 그 데이터 파일)는 제 3 자 디바이스(156)(예를 들어, 디지털 컴포넌트(138)의 제공자 또는 개발자)에 저장될 수 있고, 액세스 제어 데이터베이스(132)는 디지털 컴포넌트(138)에 대한 딥 링크, URL 또는 다른 참조 식별자를 저장할 수 있다. 액세스 제어 데이터베이스(132)는 파라미터들(134)을 저장할 수 있다. 파라미터들(134)은 디지털 컴포넌트(138)에 대한 액세스 유형 또는 액세스 제어를 지칭할 수 있다. 파라미터들(134)은 예를 들어 임계값, 거리, 시간 간격, 지속 시간, 스코어 또는 가중치를 포함할 수 있다. 파라미터는 값을 포함할 수 있다. 값은 숫자, 2진수, 영숫자 또는 기호일 수 있다. 예를 들어, 파라미터는 디지털 컴포넌트(138)가 계정과 관련된 로컬 컴퓨팅 디바이스(140)에 액세스할 수 있는지 또는 로컬 컴퓨팅 디바이스(140)에 액세스할 수 없는지를 나타낼 수 있다. 파라미터 (134)는 [승인됨]일 수 있으며 값은 [예] 또는 [아니오]일 수 있다. 파라미터(134)는 [구독_유형]일 수 있으며, 값은 [한 번_사용], [사용_횟수], [무제한_사용] 또는 [시간_간격]일 수 있으며, 여기서 시간 간격은 매주, 매월 또는 매년일 수 있다. 다른 파라미터들(134)은 제 3 자 디바이스(156) 또는 디지털 컴포넌트(138)의 개발자 또는 제공자에 의해 설정될 수 있다. 규칙들(136)은 디지털 컴포넌트(138)에 대한 파라미터들(134)을 설정하는데 사용될 수 있는 디지털 컴포넌트에 대한 정책 또는 특성을 지칭하거나 포함할 수 있다. 예를 들어, 규칙은, 디지털 컴포넌트 유형이 오디오 북인 경우 파라미터 값들은 [한 번_사용], [사용_횟수], [무제한_사 사용] 또는 [시간_간격]일 수 있다. 규칙은, 디지털 컴포넌트가 디지털 통화인 경우, 파라미터 값들은 [교환 가능]일 수 있다. 규칙은, 디지털 컴포넌트가 멀티미디어 파일을 스트리밍하는 경우, 파라미터는 [다운로드_ 금지] 또는 [월간 구독]이다. 따라서, 액세스 제어 데이터베이스(132)가 상이한 디지털 컴포넌트(138)에 대해 상이한 규칙(136) 및 파라미터(134)로 구성되도록 허용함으로써, 액세스 제어 데이터베이스(132)는 중앙 데이터 처리 시스템(102)에서 상이한 유형의 디지털 컴포넌트 및 이들의 액세스 제어를 유지하거나 관리할 수 있다. 데이터 처리 시스템은 디지털 컴포넌트에 대한 액세스 제어 데이터베이스에 하나 이상의 규칙을 저장할 수 있다.
데이터 처리 시스템(102)은 적어도 하나의 계산 리소스 또는 서버를 갖는 컨텐츠 배치 시스템을 포함할 수 있다. 데이터 처리 시스템(102)은 적어도 하나의 인터페이스(106)를 포함하거나, 인터페이스하거나, 그와 통신할 수 있다. 데이터 처리 시스템(102)은 적어도 하나의 자연어 프로세서 컴포넌트(108)를 포함하거나, 인터페이스하거나, 그와 통신할 수 있다. 데이터 처리 시스템(102)은 적어도 하나의 다이렉트 액션 애플리케이션 프로그래밍 인터페이스("API")(110)를 포함하거나, 인터페이스하거나 또는 그와 통신할 수 있다. 인터페이스(106), 자연어 처리 컴포넌트(108) 및 다이렉트 액션 API(110)는 대화형 데이터 교환 컴포넌트(104)를 형성할 수 있다. 데이터 처리 시스템(102)은 적어도 하나의 대화형 데이터 교환 컴포넌트(104)를 포함하거나, 인터페이스하거나, 그와 통신할 수 있다. 대화형 데이터 교환 컴포넌트(104)는 대화형 API 또는 디지털 어시스턴트 기능을 포함하거나 지칭할 수 있다. 대화형 데이터 교환 컴포넌트(104)는 데이터를 제공하거나 데이터를 수신하거나 다른 기능을 수행하기 위해 하나 이상의 음성 기반 인터페이스 또는 다양한 디지털 어시스턴트 디바이스 또는 서피스들과 통신하거나 인터페이스할 수 있다.
데이터 처리 시스템(102)은 적어도 하나의 컨텐츠 선택기 컴포넌트(120)를 포함하거나, 인터페이스하거나, 그와 통신할 수 있다. 데이터 처리 시스템(102)은 적어도 하나의 화자 인식 컴포넌트(112)를 포함하거나, 인터페이스하거나, 그와 통신할 수 있다. 데이터 처리 시스템(102)은 적어도 하나의 데이터 저장소(122)를 포함하거나, 인터페이스하거나, 그와 통신할 수 있다. 데이터 처리 시스템(102)은 적어도 하나의 액세스 컨트롤러 컴포넌트(114)를 포함하거나, 인터페이스하거나, 그와 통신할 수 있다. 데이터 처리 시스템(102)은 적어도 하나의 호환성 검사기 컴포넌트(116)를 포함하거나, 인터페이스하거나, 그와 통신할 수 있다. 데이터 처리 시스템(102)은 적어도 하나의 세션 전송 컴포넌트(118)를 포함하거나, 인터페이스하거나, 그와 통신할 수 있다.
대화형 데이터 교환 컴포넌트(104), 인터페이스(106), 자연어 프로세서 컴포넌트(108), 다이렉트 액션 API(110), 화자 인식 컴포넌트(112), 액세스 컨트롤러 컴포넌트(114), 호환성 검사기 컴포넌트(116), 세션 전송 컴포넌트(118) 또는 컨텐츠 선택기 컴포넌트(120), 각각 적어도 하나의 처리 유닛 또는 프로그래밍 가능한 논리 어레이 엔진과 같은 다른 논리 디바이스, 또는 데이터베이스 저장소(122) 또는 데이터베이스와 통신하도록 구성된 모듈을 포함할 수 있다. 대화형 데이터 교환 컴포넌트(104), 인터페이스(106), 자연어 프로세서 컴포넌트(108), 다이렉트 액션 API(110), 화자 인식 컴포넌트(112), 액세스 컨트롤러 컴포넌트(114), 호환성 검사기 컴포넌트(116), 세션 전송 컴포넌트(118), 또는 컨텐츠 선택기 컴포넌트(120) 및 데이터 저장소(122)는 개별 컴포넌트, 단일 컴포넌트 또는 데이터 처리 시스템(102)의 일부일 수 있다. 데이터 처리 시스템(102)과 같은 시스템(100) 및 그의 컴포넌트들은 하나 이상의 프로세서, 논리 디바이스 또는 회로와 같은 하드웨어 요소를 포함할 수 있다.
데이터 처리 시스템(102)은 복수의 로컬 컴퓨팅 디바이스(140)(또는 컴퓨팅 디바이스 또는 디지털 어시스턴트 디바이스)와 관련된 익명의 컴퓨터 네트워크 활동 정보를 획득할 수 있다. 로컬 컴퓨팅 디바이스(140) 또는 모바일 컴퓨팅 디바이스의 사용자는 로컬 컴퓨팅 디바이스(140) 또는 모바일 컴퓨팅 디바이스에 대응하는 네트워크 활동 정보를 획득하기 위해 데이터 처리 시스템(102)을 긍정적으로 승인할 수 있다. 예를 들어, 데이터 처리 시스템(102)은 하나 이상의 유형의 네트워크 활동 정보를 획득하기 위해 컴퓨팅 디바이스(140)의 사용자에게 동의를 프롬프트할 수 있다. 로컬 컴퓨팅 디바이스(140)는 스마트 폰, 태블릿, 스마트 워치 또는 웨어러블 디바이스와 같은 모바일 컴퓨팅 디바이스를 포함할 수 있다. 로컬 컴퓨팅 디바이스(140)의 사용자의 신원은 익명으로 유지될 수 있고, 컴퓨팅 디바이스(140)는 고유 식별자(사용자 또는 데이터 처리 시스템에 의해 제공된 컴퓨팅 디바이스 또는 컴퓨팅 디바이스의 사용자에 대한 고유 식별자)와 연관될 수 있다. 데이터 처리 시스템은 각각의 관측치를 대응하는 고유 식별자와 연관시킬 수 있다.
컨텐츠 제공자(154)는 전자 컨텐츠 캠페인을 설정할 수 있다. 전자 컨텐츠 캠페인은 데이터 저장소(122)에 컨텐츠 데이터(128)로서 저장될 수 있다. 전자 컨텐츠 캠페인은 공통 테마에 해당하는 하나 이상의 컨텐츠 그룹을 지칭할 수 있다. 컨텐츠 캠페인은 컨텐츠 그룹, 디지털 컴포넌트 데이터 개체 및 컨텐츠 선택 기준을 포함하는 계층적 데이터 구조를 포함할 수 있다. 컨텐츠 캠페인을 생성하기 위해, 컨텐츠 제공자(154)는 컨텐츠 캠페인의 캠페인 레벨 파라미터에 대한 값을 지정할 수 있다. 캠페인 레벨 파라미터에는 예를 들어 캠페인 이름, 디지털 컴포넌트 객체들 배치하기 위한 선호하는 컨텐츠 네트워크, 컨텐츠 캠페인에 사용할 리소스 값, 컨텐츠 캠페인의 시작 및 종료 날짜, 컨텐츠 캠페인 기간, 디지털 컴포넌트 객체 배치 일정, 언어, 지리적 위치, 디지털 컴포넌트 객체들을 제공할 컴퓨팅 디바이스들의 유형을 포함할 수 있다. 일부 경우에, 노출은 디지털 컴포넌트 객체가 그의 소스(예를 들어, 데이터 처리 시스템(102) 또는 컨텐츠 제공자(154))로부터 페치될 때를 지칭할 수 있고, 계산 가능하다. 경우에 따라 클릭 사기의 가능성으로 인해 로봇 활동이 노출로 필터링되고 제외될 수 있다. 따라서 경우에 따라 노출은 브라우저의 페이지 요청에 대한 웹 서버의 응답 측정을 지칭할 수 있으며, 이는 로봇 활동 및 오류 코드로부터 필터링되고, 컴퓨팅 디바이스(140)에 디스플레이하기 위해 디지털 컴포넌트 객체를 렌더링할 기회에 가능한 한 가까운 지점에서 기록된다. 일부 경우에, 노출은 볼 수 있거나 또는 청각 노출을 나타낼 수 있다. 예를 들어, 디지털 컴포넌트 객체는 로컬 클라이언트 컴퓨팅 디바이스(140)의 디스플레이 디바이스(152)에서 적어도 부분적으로(예를 들어, 20 %, 30 %, 30 %, 40 %, 50 %, 60 %, 70 % 또는 그 이상) 볼 수 있거나 컴퓨팅 디바이스(140)의 스피커(136)를 통해들을 수 있다. 클릭 또는 선택은 가청 노출에 대한 음성 응답, 마우스 클릭, 터치 상호 작용, 제스처, 흔들기, 오디오 상호 작용 또는 키보드 클릭과 같은 디지털 컴포넌트 객체와의 사용자 상호 작용을 지칭할 수 있다. 전환은 디지털 컴포넌트 이의 제기(objection), 예를 들어, 제품 또는 서비스 구매, 설문 조사 완료, 디지털 컴포넌트에 해당하는 실제 매장 방문 또는 전자 거래 완료에 대해 원하는 행동을 취하는 사용자를 의미할 수 있다.
컨텐츠 제공자(154)는 컨텐츠 캠페인에 대한 하나 이상의 컨텐츠 그룹을 추가로 설정할 수 있다. 컨텐츠 그룹은 하나 이상의 디지털 컴포넌트 객체들과 그리고 키워드, 단어, 용어, 문구, 지리적 위치, 컴퓨팅 디바이스 유형, 시간, 관심사, 토픽 또는 버티컬과 같은 대응하는 컨텐츠 선택 기준을 포함한다. 동일한 컨텐츠 캠페인 하의 컨텐츠 그룹들은 동일한 캠페인 레벨 파라미터를 공유할 수 있지만, 키워드, 제외 키워드(예를 들어, 주요 컨텐츠에 제외 키워드가 있는 경우 디지털 컴포넌트의 배치를 차단함), 키워드에 대한 입찰가, 또는 입찰 또는 컨텐츠 캠페인과 관련된 파라미터와 같은 특정 컨텐츠 그룹 레벨 파라미터에 대한 맞춤형 사양을 가질 수 있다.
새로운 컨텐츠 그룹을 생성하기 위해, 컨텐츠 제공자는 컨텐츠 그룹의 컨텐츠 그룹 레벨 파라미터들에 대한 값을 제공할 수 있다. 컨텐츠 그룹 레벨 파라미터에는 예를 들어 컨텐츠 그룹 이름 또는 컨텐츠 그룹 테마, 상이한 컨텐츠 배치 기회(예를 들어, 자동 배치 또는 선택 배치) 또는 결과(예를 들어, 클릭, 노출 또는 전환)에 대한 입찰가가 포함된다. 컨텐츠 그룹 이름 또는 컨텐츠 그룹 테마는 컨텐츠 제공자(154)가 디스플레이를 위해 컨텐츠 그룹의 디지털 컴포넌트 객체들이 선택되는 토픽 또는 주제를 캡처하기 위해 사용할 수 있는 하나 이상의 용어일 수 있다. 예를 들어, 자동차 대리점은 운송하는 차량의 각 브랜드에 대해 서로 다른 컨텐츠 그룹을 생성할 수 있으며, 운송하는 차량의 각 모델에 대해 서로 다른 컨텐츠 그룹을 추가로 생성할 수 있다. 자동차 대리점에서 사용할 수 있는 컨텐츠 그룹 테마의 예로는 "Make A sports car" "Make B sports car", "Make C sedan", "Make C truck", "Make C hybrid" 또는 "Make C hybrid"를 포함할 수 있다. 예시적인 컨텐츠 캠페인 테마는 예를 들어 "하이브리드"일 수 있으며 "Make C hybrid" 및 "Make D hybrid" 모두에 대한 컨텐츠 그룹을 포함할 수 있다.
컨텐츠 제공자(154)는 각각의 컨텐츠 그룹에 하나 이상의 키워드 및 디지털 컴포넌트 객체들을 제공할 수 있다. 키워드에는 디지털 컴포넌트 객체들과 연관되거나 식별되는 제품 또는 서비스와 관련된 용어들이 포함될 수 있다. 키워드에는 하나 이상의 용어 또는 문구가 포함될 수 있다. 예를 들어, 자동차 판매점은 컨텐츠 그룹 또는 컨텐츠 캠페인에 대한 키워드로 '스포츠카', 'V-6 엔진', '사륜 구동', '연비'를 포함할 수 있다. 일부 경우, 컨텐츠 제공자가 특정 용어 또는 키워드에 대한 컨텐츠 배치를 회피, 방지, 차단 또는 비활성화를 위해 제외 키워드를 지정할 수 있다. 컨텐츠 제공자는 디지털 컴포넌트 객체들을 선택하는데 사용되는 매칭 유형(예를 들어, 완전 매치, 구문 매치 또는 광역 매치)을 지정할 수 있다.
컨텐츠 제공자(154)는 컨텐츠 제공자(154)에 의해 제공되는 디지털 컴포넌트 객체들을 선택하기 위해 데이터 처리 시스템(102)에 의해 사용될 하나 이상의 키워드를 제공할 수 있다. 컨텐츠 제공자(154)는 입찰할 하나 이상의 키워드를 식별할 수 있고, 다양한 키워드에 대한 입찰 금액을 추가로 제공할 수 있다. 컨텐츠 제공자(154)는 디지털 컴포넌트 객체들을 선택하기 위해 데이터 처리 시스템(102)에 의해 사용될 추가 컨텐츠 선택 기준을 제공할 수 있다. 다수의 컨텐츠 제공자(154)는 동일하거나 상이한 키워드에 입찰할 수 있고, 데이터 처리 시스템(102)은 전자 메시지의 키워드의 표시를 수신하는 것에 응답하여 컨텐츠 선택 프로세스 또는 광고 경매를 실행할 수 있다.
컨텐츠 제공자(154)는 데이터 처리 시스템(102)에 의한 선택을 위해 하나 이상의 디지털 컴포넌트 객체를 제공할 수 있다. 데이터 처리 시스템(102)은 (예를 들어, 컨텐츠 선택기 컴포넌트(120)을 통해) 리소스 할당, 컨텐츠 일정, 최대 입찰가, 키워드, 및 컨텐츠 그룹에 대해 지정된 다른 선택 기준과 매칭하는 컨텐츠 배치 기회가 이용 가능해질 때 디지털 컴포넌트 객체들을 선택할 수 있다. 음성 디지털 컴포넌트, 오디오 디지털 컴포넌트, 텍스트 디지털 컴포넌트, 이미지 디지털 컴포넌트, 비디오 디지털 컴포넌트, 멀티미디어 디지털 컴포넌트 또는 디지털 컴포넌트 링크와 같은 상이한 유형의 디지털 컴포넌트 객체들이 컨텐츠 그룹에 포함될 수 있다. 디지털 컴포넌트 객체(또는 디지털 컴포넌트)는 예를 들어 컨텐츠 항목, 온라인 문서, 오디오, 이미지, 비디오, 멀티미디어 컨텐츠 또는 후원 컨텐츠를 포함할 수 있다. 디지털 컴포넌트를 선택하면, 데이터 처리 시스템(102)은 컴퓨팅 디바이스(140) 또는 컴퓨팅 디바이스(140)의 디스플레이 디바이스(152)상에서 렌더링하기 위해 디지털 컴포넌트 객체를 전송할 수 있다. 렌더링은 디스플레이 디바이스상에 디지털 컴포넌트를 표시하거나 컴퓨팅 디바이스(140)의 스피커를 통해 디지털 컴포넌트를 재생하는 것을 포함할 수 있다. 데이터 처리 시스템(102)은 디지털 컴포넌트 객체를 렌더링하기 위해 컴퓨팅 디바이스(140)에 명령을 제공할 수 있다. 데이터 처리 시스템(102)은 컴퓨팅 디바이스(140) 또는 컴퓨팅 디바이스(140)의 오디오 드라이버(148)에 오디오 신호 또는 음향 파를 생성하도록 지시할 수 있다.
데이터 처리 시스템(102)은 예를 들어 데이터 패킷을 사용하여 정보를 수신 및 전송하도록 설계, 구성(configured), 구성(constructed) 또는 동작하는 인터페이스(106)(또는 인터페이스 컴포넌트)를 포함할 수 있다. 인터페이스(106)는 네트워크 프로토콜과 같은 하나 이상의 프로토콜을 사용하여 정보를 수신하고 전송할 수 있다. 인터페이스(106)는 하드웨어 인터페이스, 소프트웨어 인터페이스, 유선 인터페이스 또는 무선 인터페이스를 포함할 수 있다. 인터페이스(106)는 하나의 포맷에서 다른 포맷으로 데이터를 변환 또는 포맷하는 것을 용이하게 할 수 있다. 예를 들어, 인터페이스(106)는 소프트웨어 컴포넌트와 같은 다양한 컴포넌트 사이의 통신을 위한 정의를 포함하는 애플리케이션 프로그래밍 인터페이스를 포함할 수 있다. 인터페이스(106)는 네트워크(105)를 통해 로컬 컴퓨팅 디바이스(140), 컨텐츠 제공자 디바이스(154) 또는 제 3 자 디바이스(156) 중 하나 이상과 통신할 수 있다.
데이터 처리 시스템(102)은 데이터 처리 시스템(102)의 인터페이스(106)에 입력 오디오 신호를 전달하고 출력 오디오 신호를 렌더링하기 위해 로컬 클라이언트 컴퓨팅 디바이스의 컴포넌트를 구동하는 앱과 같은 로컬 클라이언트 컴퓨팅 디바이스(140)에 설치된 애플리케이션, 스크립트 또는 프로그램과 인터페이스할 수 있다. 데이터 처리 시스템(102)은 오디오 입력 신호를 포함하거나 식별하는 데이터 패킷 또는 다른 신호를 수신할 수 있다.
데이터 처리 시스템(102) 또는 대화형 데이터 교환 컴포넌트(104)는 자연어 처리기("NLP") 컴포넌트(108)를 포함할 수 있다. 예를 들어, 데이터 처리 시스템(102)은 오디오 신호를 수신하거나 획득하고 오디오 신호를 파싱하기 위해 NLP 컴포넌트(108)를 실행하거나 구동할 수 있다. 예를 들어, NLP 컴포넌트(108)는 인간과 컴퓨터 사이의 상호 작용을 위해 제공될 수 있다. NLP 컴포넌트(108)는 자연어를 이해하고 데이터 처리 시스템(102)이 인간 또는 자연어 입력으로부터 의미를 도출할 수 있도록 하는 기술로 구성될 수 있다. NLP 컴포넌트(108)는 통계적 기계 학습과 같은 기계 학습에 기초한 기술을 포함하거나 그로 구성될 수 있다. NLP 컴포넌트(108)는 결정 트리, 통계 모델 또는 확률 모델을 이용하여 입력 오디오 신호를 분석하할 수 있다. NLP 컴포넌트(108)는 예를 들어 명명된 엔티티 인식(예를 들어, 텍스트 스트림이 주어지면, 텍스트내의 어떤 항목이 사람 또는 장소와 같은 고유 이름에 매핑되는지 및 사람, 위치 또는 조직과 같은 각 이름의 유형이 무엇인지를 결정), 자연어 생성(예를 들어, 컴퓨터 데이터베이스로부터의 정보 또는 시맨틱 의도를 이해 가능한 인간 언어로 변환), 자연어 이해(예를 들어, 텍스트를 컴퓨터 모듈이 조작할 수 있는 1 차 논리 구조와 같은 보다 형식적인 표현으로 변환), 기계 번역(예를 들어, 하나의 인간의 언어에서 다른 언어로 텍스트를 자동으로 번역), 형태학적 세분화(예를 들어, 단어들을 개별 형태소로 분리하고, 고려되는 언어 단어의 형태 또는 구조의 복잡성에 따라 어려울 수 있는 형태소의 클래스 식별), 질문 답변(예를 들어, 구체적이거나 개방형일 수 있는 인간 언어 질문에 대한 답변 결정), 특정 또는 개방형 일 수 있음), 시맨틱 처리(예를 들어, 식별된 단어를 유사한 의미를 가진 다른 단어와 연관시키기 위해 단어를 식별하고 의미를 인코딩한 후 발생할 수 있는 처리)와 같은 기능들을 수행할 수 있다.
NLP 컴포넌트(108)는 입력 신호를 저장된 대표 오디오 파형 세트(예를 들어, 데이터 저장소(122)에서)와 비교하고 가장 가까운 매치를 선택함으로써 인식된 텍스트로 오디오 입력 신호를 변환할 수 있다. 오디오 파형 세트는 데이터 저장소(122) 또는 데이터 처리 시스템(102)에 액세스 가능한 다른 데이터베이스에 저장될 수 있다. 대표 파형은 대규모 사용자 세트에 걸쳐 생성된 다음 사용자의 음성 샘플로 보강될 수 있다. 오디오 신호가 인식된 텍스트로 변환된 후, NLP 컴포넌트(108)는 데이터 처리 시스템(102)이 제공할 수 있는 액션들과, 예를 들어 사용자들에 대한 트레이닝 또는 수동 사양을 통해 연관된 단어들에 텍스트를 매칭시킨다. NLP 컴포넌트(108)의 양태 또는 기능은 데이터 처리 시스템(102) 또는 로컬 컴퓨팅 디바이스(140)에 의해 수행될 수 있다. 예를 들어, 로컬 NLP 컴포넌트는 로컬 컴퓨팅 디바이스(140)에서 실행되어, 입력 오디오 신호를 텍스트로 변환하고 추가 자연어 처리를 위해 데이터 패킷을 통해 텍스트를 데이터 처리 시스템(102)으로 전송하는 양태들을 수행할 수 있다.
오디오 입력 신호는 로컬 클라이언트 컴퓨팅 디바이스(140)의 센서(144) 또는 변환기(146)(예를 들어, 마이크로폰)에 의해 검출될 수 있다. 변환기(146), 오디오 드라이버(148) 또는 기타 컴포넌트를 통해 로컬 클라이언트 컴퓨팅 디바이스(140)는 오디오 입력 신호를 (예를 들어, 네트워크(105)를 통해) 데이터 처리 시스템(102)에 제공할 수 있으며, 여기서 이는 (예를 들어, 인터페이스(106)에 의해) 수신되어 NLP 컴포넌트(108)에 제공되거나 데이터 저장소(122)에 저장될 수 있다.
로컬 컴퓨팅 디바이스(140)는 오디오 드라이버(148), 변환기(146), 센서(144) 및 전처리기 컴포넌트(150)를 포함할 수 있다. 센서(144)는 입력 오디오 신호(예를 들어, 음성 입력)를 수신하거나 검출할 수 있다. 전처리기 컴포넌트(150)는 오디오 드라이버, 변환기 및 센서에 결합될 수 있다. 전처리기 컴포넌트(150)는 (예를 들어, 소정 주파수를 제거하거나 잡음을 억제함으로써) 입력 오디오 신호를 필터링하여 필터링된 입력 오디오 신호를 생성할 수 있다. 전처리기 컴포넌트(150)는 필터링된 입력 오디오 신호를 (예를 들어, 소프트웨어 또는 하드웨어 디지털-아날로그 변환기를 사용하여) 데이터 패킷으로 변환할 수 있다. 일부 경우에, 전처리기 컴포넌트(150)는 필터링되지 않은 입력 오디오 신호를 데이터 패킷으로 변환하고 그 데이터 패킷을 데이터 처리 시스템(102)으로 전송할 수 있다. 전처리기 컴포넌트(150)는 자연어 처리기 컴포넌트, 인터페이스, 화자 인식 컴포넌트 및 다이렉트 액션 애플리케이션 프로그래밍 인터페이스를 실행하는 하나 이상의 프로세서 및 메모리를 포함하는 데이터 처리 시스템(102)으로 데이터 패킷을 전송할 수 있다.
데이터 처리 시스템(102)은 센서에 의해 검출된 필터링된(또는 필터링되지 않은) 입력 오디오 신호를 포함하는 데이터 패킷을 인터페이스를 통해 전처리기 컴포넌트로부터 수신할 수 있다. 데이터 처리 시스템(102)은 입력 오디오 신호로부터 음향 서명을 식별할 수 있다. 데이터 처리 시스템(102)은 데이터 저장소(예를 들어, 데이터베이스 쿼리)에서의 조회(lookup)에 기초하여 음향 서명에 대응하는 전자 계정을 식별할 수 있다. 데이터 처리 시스템(102)은 전자 계정의 식별에 응답하여, 세션에서 사용하기 위한 세션 및 계정을 설정할 수 있다. 계정에는 하나 이상의 정책이 있는 프로파일이 포함될 수 있다. 데이터 처리 시스템(102)은 입력 오디오 신호를 파싱하여 요청 및 그 요청에 대응하는 트리거 키워드를 식별할 수 있다.
데이터 처리 시스템(102)은 로컬 컴퓨팅 디바이스(140)의 전처리기 컴포넌트로 상태를 제공할 수 있다. 로컬 컴퓨팅 디바이스(140)는 상태의 표시를 수신할 수 있다. 오디오 드라이버는 프로파일의 상태 표시를 수신하고 그 표시에 기초하여 출력 신호를 생성할 수 있다. 오디오 드라이버는 표시를 사운드 신호 또는 음향 출력 신호와 같은 출력 신호로 변환할 수 있다. 오디오 드라이버는 변환기(146)(예를 들어, 스피커)를 구동하여 그 오디오 드라이브에 의해 생성된 출력 신호에 기초하여 사운드를 생성할 수 있다.
일부 경우에, 로컬 컴퓨팅 디바이스(140)는 광원을 포함할 수 있다. 광원은 하나 이상의 LED, 조명, 디스플레이, 또는 광학 또는 시각적 출력을 제공하도록 구성된 다른 컴포넌트 또는 디바이스를 포함할 수 있다. 전처리기 컴포넌트는 광원으로 하여금 상태에 해당하는 시각적 표시를 제공하게 할 수 있다. 예를 들어, 시각적 표시는 켜지는 상태 표시 조명, 조명의 컬러 변경, 하나 이상의 컬러를 갖는 조명 패턴 또는 텍스트 또는 이미지의 시각적 표시일 수 있다.
NLP 컴포넌트(108)는 입력 오디오 신호를 획득할 수 있다. 입력 오디오 신호로부터, NLP 컴포넌트(108)는 적어도 하나의 요청 또는 그 요청에 대응하는 적어도 하나의 트리거 키워드를 식별할 수 있다. 요청은 입력 오디오 신호의 의도 또는 주제를 나타낼 수 있다. 트리거 키워드는 취해징 가능성이 있는 액션의 유형을 나타낼 수 있다. 트리거 키워드는 후속 오디오 입력을 텍스트로 변환하고 추가 처리를 위해 그 텍스트를 데이터 처리 시스템(102)으로 전송하도록 로컬 컴퓨팅 디바이스(140)에 표시하는 웨이크 업 신호 또는 핫 워드일 수 있다. 예를 들어, NLP 컴포넌트(108)는 입력 오디오 신호를 파싱하여, 식사 및 영화에 참석하기 위해 저녁에 집을 떠나라는 적어도 하나의 요청을 식별할 수 있다. 트리거 키워드는 수행할 액션을 나타내는 적어도 하나의 단어, 문구, 어근 또는 부분 단어 또는 파생어를 포함할 수 있다. 예를 들어, 입력 오디오 신호에서 트리거 키워드 "go" 또는 "to go"는 운송 수단(transport)이 필요함을 나타낼 수 있다. 이 예에서 입력 오디오 신호(또는 식별된 요청)는 운송 수단의 의도를 직접 표현하지 않지만, 트리거 키워드는 운송 수단이 요청에 의해 표시되는 적어도 하나의 다른 액션에 대한 보조 액션임을 나타낸다.
NLP 컴포넌트(108)는 입력 오디오 신호를 파싱하여 요청 및 트리거 키워드를 식별, 결정, 검색 또는 획득할 수 있다. 예를 들어, NLP 컴포넌트(108)는 트리거 키워드 또는 요청을 식별하기 위해 입력 오디오 신호에 시맨틱 처리 기술을 적용할 수 있다. NLP 컴포넌트(108)는 제 1 트리거 키워드 및 제 2 트리거 키워드와 같은 하나 이상의 트리거 키워드를 포함하는 트리거 문구를 식별하기 위해 시맨틱 처리 기술을 입력 오디오 신호에 적용할 수 있다. 예를 들어, 입력 오디오 신호에는 "오디오 북을 구매하고 싶어"라는 문장이 포함될 수 있다. NLP 컴포넌트(108)는 트리거 문구들("구매하고 싶은" 및 "오디오 북")을 식별하기 위해 문장을 포함하는 데이터 패킷에 시맨틱 처리 기술 또는 다른 자연어 처리 기술을 적용할 수 있다. NLP 컴포넌트(108)는 구매 및 오디오 북과 같은 다수의 트리거 키워드를 추가로 식별할 수 있다. 예를 들어, NLP 컴포넌트(108)는 트리거 문구가 트리거 키워드 및 제 2 트리거 키워드를 포함한다고 결정할 수 있다.
NLP 컴포넌트(108)는 입력 오디오 신호를 필터링하여 트리거 키워드를 식별할 수 있다. 예를 들어, 입력 오디오 신호를 전달하는 데이터 패킷에는 "내가 공항으로 이동하는데 도움을 줄 수 있는 사람을 구할 수 있다면 좋을 텐데(It would be great if I could get someone that could help me go to the airport)"가 포함될 수 있으며, 이 경우 NLP 컴포넌트(108)는 "it", "would", "be", "great", "if", "I", "could", "get", "someone", "that", "could" 또는 "help"와 같이 하나 이상의 용어를 필터링할 수 있다. 이들 용어를 필터링함으로써, NLP 컴포넌트(108)는 "공항으로 이동"과 같은 트리거 키워드를 보다 정확하고 신뢰성있게 식별할 수 있고 이것이 택시 또는 승차 공유 서비스에 대한 요청임을 결정할 수 있다.
일부 경우에, NLP 컴포넌트는 입력 오디오 신호를 전달하는 데이터 패킷이 하나 이상의 요청을 포함한다고 결정할 수 있다. 예를 들어, 입력 오디오 신호에는 "오디오 북을 구입하고 영화를 월간 구독하고 싶어"라는 문장이 포함될 수 있다. NLP 컴포넌트(108)는 이것이 오디오 북 및 스트리밍 멀티미디어 서비스에 대한 요청임을 결정할 수 있다. NLP 컴포넌트(108)는 이것이 단일 요청 또는 다중 요청인지 결정할 수 있다. NLP 컴포넌트(108)는 이것이 오디오 북을 제공하는 서비스 제공자에 대한 제 1 요청과 영화 스트리밍을 제공하는 서비스 제공자에 대한 제 2 요청이라는 두 가지 요청임을 결정할 수 있다. 일부 경우에, NLP 컴포넌트(108)는 다수의 결정된 요청을 단일 요청으로 결합하고 단일 요청을 제 3 자 디바이스(156)로 전송할 수 있다. 일부 경우에, NLP 컴포넌트(108)는 개별 요청을 다른 서비스 제공자 디바이스로 전송하거나, 두 요청을 모두 동일한 제 3 자 디바이스(156)로 개별적으로 전송할 수 있다.
데이터 처리 시스템(102)은 트리거 키워드에 기초하여, 요청에 응답하는 액션 데이터 구조를 생성하도록 설계되고 구성된 다이렉트 액션 API(110)를 포함할 수 있다. 데이터 처리 시스템(102)의 프로세서들은 다이렉트 액션 API(110)를 호출하여 데이터 구조를 생성하는 스크립트를 실행하여 제 3 자 디바이스(156) 또는 다른 서비스 제공자에게 제공하여 디지털 컴포넌트를 획득하고, 차량 공유 서비스로부터의 자동차 또는 오디오 북과 서비스 또는 제품을 주문할 수 있다. 다이렉트 액션 API(110)는 데이터 저장소(122)로부터 데이터를 획득할 수 있을 뿐만 아니라 로컬 클라이언트 컴퓨팅 디바이스(140)로부터 최종 사용자 동의를 받아 수신된 데이터를 획득하여, 위치, 시간, 사용자 계정, 물류 또는 기타 정보를 결정하여 제 3 자 디바이스가 차량 공유 서비스로부터 차량을 예약하는 것과 같은 동작을 수행할 수 있도록 한다. 다이렉트 액션 API(110)를 사용하여, 데이터 처리 시스템(102)은 또한 제 3 자 디바이스(156)와 통신하여 이 예에서 차량 공유 픽업을 예약함으로써 전환을 완료할 수 있다.
다이렉트 액션 API(110)는 데이터 처리 시스템(102)에 의해 결정된 바와 같이 최종 사용자의 의도를 만족시키기 위해 지정된 액션을 실행할 수 있다. 입력에 지정된 액션과 데이터 저장소(122)의 파라미터 또는 규칙들에 따라, 다이렉트 액션 API(110)는 사용자 요청을 이행하는데 필요한 파라미터들을 식별하는 코드 또는 대화 스크립트를 실행할 수 있다. 이러한 코드는 예를 들어, 데이터 저장소(122)에서, 홈 자동화 서비스 또는 제 3 자 서비스의 이름과 같은 추가 정보를 조회할 수 있거나, 로컬 클라이언트 컴퓨팅 디바이스(140)에서 렌더링하기 위한 오디오 출력을 제공하여 요청된 택시의 의도된 목적지와 같은 최종 사용자 질문을 물어볼 수 있다. 다이렉트 액션 API(110)는 파라미터들을 결정할 수 있고, 정보를 액션 데이터 구조로 패키징할 수 있으며, 이는 컨텐츠 선택기 컴포넌트(120)와 같은 다른 컴포넌트 또는 이행될 서비스 제공자 컴퓨팅 디바이스(108)로 전송될 수 있다.
다이렉트 액션 API(110)는 NLP 컴포넌트(108) 또는 데이터 처리 시스템(102)의 다른 컴포넌트로부터 명령 또는 커맨드를 수신하여 액션 데이터 구조를 생성하거나 구성할 수 있다. 다이렉트 액션 API(110)는 데이터 저장소(122)에 저장된 템플릿 저장소(122)로부터 템플릿을 선택하기 위해 액션의 유형을 결정할 수 있다. 액션 유형에는 예를 들어 서비스, 제품, 예약, 티켓, 멀티미디어 컨텐츠, 오디오 북, 구독 관리, 구독 조정, 디지털 통화 전송, 구매 또는 음악이 포함될 수 있다. 액션 유형에는 서비스 또는 제품 유형이 추가로 포함될 수 있다. 예를 들어, 서비스 유형에는 차량 공유 서비스, 음식 배달 서비스, 세탁 서비스, 객실 청소 서비스, 수리 서비스, 가사 서비스, 디바이스 자동화 서비스 또는 미디어 스트리밍 서비스가 포함될 수 있다. 제품 유형에는 예를 들어 옷, 신발, 장난감, 전자 제품, 컴퓨터, 책 또는 보석류가 포함될 수 있다. 예약 유형에는 예를 들어 저녁 식사 예약 또는 미용실 예약이 포함될 수 있다. 티켓 유형에는 예를 들어 영화 티켓, 스포츠 경기장 티켓 또는 비행기 티켓이 포함될 수 있다. 경우에 따라, 가격, 위치, 배송 유형, 가용성 또는 기타 속성에 기초하여 서비스, 제품, 예약 또는 티켓 유형을 분류할 수 있다.
NLP 컴포넌트(108)는 입력 오디오 신호를 파싱하여 요청 및 그 요청에 대응하는 트리거 키워드를 식별할 수 있으며, 요청 및 트리거 키워드를 다이렉트 액션 API(110)에 제공하여 다이렉트 액션 API가 트리거 키워드에 기초하여, 요청에 응답하는 제 1 액션 데이터 구조를 생성하게 할 수 있다. 다이렉트 액션 API(110)는 요청 유형을 식별할 때 템플릿 저장소(122)로부터 해당 템플릿에 액세스할 수 있다. 템플릿들은 다이렉트 액션 API(110)에 의해 채워질 수 있는 구조화된 데이터 세트의 필드들을 포함하여, 제 3 자 디바이스(156)의 로컬 컴퓨팅 디바이스(140)에 의해 검출된 입력 오디오를 통해 요청되는 동작(예를 들어, 픽업 위치에서 최종 사용자를 픽업하고 최종 사용자를 목적지 위치로 이동하기 위해 택시를 보내는 동작)을 추가할 수 있다. 다이렉트 액션 API(110)는 템플릿 저장소(122)에서 조회를 수행하여 트리거 키워드 및 요청의 하나 이상의 특성과 매칭하는 템플릿을 선택할 수 있다. 예를 들어, 요청이 목적지까지의 자동차 또는 승차에 대한 요청에 대응하는 경우, 데이터 처리 시스템(102)은 차량 공유 서비스 템플릿을 선택할 수 있다. 차량 공유 서비스 템플릿에는 디바이스 식별자, 픽업 위치, 목적지 위치, 승객 수 또는 서비스 유형과 같은 필드들 중 하나 이상이 포함될 수 있다. 다이렉트 액션 API(110)는 필드들을 값으로 채울 수 있다. 필드를 값으로 채우기 위해, 다이렉트 액션 API(110)는 컴퓨팅 디바이스(140)의 하나 이상의 센서(144) 또는 디바이스(140)의 사용자 인터페이스로부터 정보를 핑(ping), 폴링 또는 획득할 수 있다. 예를 들어, 다이렉트 액션 API(110)는 GPS 센서와 같은 위치 센서를 사용하여 소스 위치를 검출할 수 있다. 다이렉트 액션 API(110)는 컴퓨팅 디바이스(140)의 사용자에게 설문 조사, 프롬프트 또는 질의를 제출함으로써 추가 정보를 얻을 수 있다. 다이렉트 액션 API는 데이터 처리 시스템(102)의 인터페이스(106) 및 컴퓨팅 디바이스(140)의 사용자 인터페이스(예를 들어, 오디오 인터페이스, 음성 기반 사용자 인터페이스, 디스플레이 또는 터치 스크린)를 통해 설문 조사, 프롬프트 또는 쿼리를 제출할 수 있다. 따라서, 다이렉트 액션 API(110)는 트리거 키워드 또는 요청에 기초하여 액션 데이터 구조에 대한 템플릿을 선택하고, 그 템플릿내의 하나 이상의 필드를 하나 이상의 센서(144)에 의해 감지되거나 사용자 인터페이스를 통해 획득된 정보로 채울 수 있으며, 제 3 자 디바이스(156)에 의한 동작의 수행을 용이하게 하기 위해 액션 데이터 구조를 생성(generate), 생성(create) 또는 구성할 수 있다.
액션 데이터 구조를 구성하거나 생성하기 위해, 데이터 처리 시스템(102)은 선택된 템플릿에서 하나 이상의 필드를 식별하여 값들로 채울 수 있다. 필드는 숫자 값, 문자열, 유니 코드 값, 부울 논리, 이진 값, 16 진수 값, 식별자, 위치 좌표, 지리적 영역, 타임 스탬프 또는 기타 값들로 채워질 수 있다. 데이터 보안을 유지하기 위해 필드 또는 데이터 구조 자체를 암호화하거나 마스킹할 수 있다.
템플릿의 필드들을 결정할 때, 데이터 처리 시스템(102)은 액션 데이터 구조를 생성하도록 템플릿의 필드를 채우기 위해 필드들에 대한 값을 식별할 수 있다. 데이터 처리 시스템(102)은 데이터 저장소(122)에서 조회 또는 다른 쿼리 동작을 수행함으로써 필드들에 대한 값을 획득, 검색, 결정 또는 식별할 수 있다.
일부 경우에, 데이터 처리 시스템(102)은 필드들에 대한 정보 또는 값이 데이터 저장소(122)에 없음을 결정할 수 있다. 데이터 처리 시스템(102)은 데이터 저장소(122)에 저장된 정보 또는 값들이 오래되었거나 부실하고, 또는 NLP 컴포넌트(108)에 의해 식별된 요청 및 트리거 키워드에 응답하는 액션 데이터 구조를 구성하는 목적에 적합하지 않다고 결정할 수 있다(예를 들어, 로컬 클라이언트 컴퓨팅 디바이스(140)의 위치는 현재 위치가 아닌 이전 위치일 수 있고, 계정이 만료될 수 있으며, 목적지 레스토랑이 새로운 위치로 이전했을 수 있고, 신체 활동 정보 또는 교통 수단).
데이터 처리 시스템(102)이 데이터 처리 시스템(102)의 메모리에서, 템플릿의 필드에 대한 값들 또는 정보에 현재 액세스할 수 없다고 결정하면, 데이터 처리 시스템(102)은 값들 또는 정보를 획득할 수 있다. 데이터 처리 시스템(102)은 로컬 클라이언트 컴퓨팅 디바이스(140)의 하나 이상의 사용 가능한 센서를 쿼리 또는 폴링하거나, 로컬 클라이언트 컴퓨팅 디바이스(140)의 최종 사용자에게 정보를 프롬프트하거나, HTTP 프로토콜을 사용하여 온라인 웹 기반 리소스에 액세스함으로써 정보를 획득하거나 얻을 수 있다. 예를 들어, 데이터 처리 시스템(102)은 템플릿의 필수 필드일 수 있는 로컬 클라이언트 컴퓨팅 디바이스(140)의 현재 위치가 없다고 결정할 수 있다. 데이터 처리 시스템(102)은 위치 정보에 대해 로컬 클라이언트 컴퓨팅 디바이스(140)에 쿼리할 수 있다. 데이터 처리 시스템(102)은 GPS 센서, WIFI 삼각 측량, 기지국 삼각 측량, 블루투스 비콘, IP 주소 또는 기타 위치 감지 기술과 같은 하나 이상의 위치 센서(144)를 사용하여 위치 정보를 제공하도록 로컬 클라이언트 컴퓨팅 디바이스(140)에 요청할 수 있다.
일부 경우에, 데이터 처리 시스템(102)은 제 2 프로파일을 사용하여 액션 데이터 구조를 생성할 수 있다. 데이터 처리 시스템(102)은 제 2 프로파일을 사용하여 생성된 액션 데이터 구조가 제 1 프로파일을 준수하는지 여부를 결정할 수 있다. 예를 들어, 제 1 프로파일은 로컬 컴퓨팅 디바이스(140)를 통해 전자 온라인 소매 업체로부터 제품을 구매하는 것과 같은 액션 데이터 구조 유형을 차단하는 정책을 포함할 수 있다. 로컬 컴퓨팅 디바이스(140)에 의해 검출된 입력 오디오에는 전자 온라인 소매 업체로부터의 제품 구매 요청이 포함될 수 있다. 데이터 처리 시스템(102)은 전자 온라인 소매 업체와 관련된 계정 정보를 식별하기 위해 제 2 프로파일을 사용할 수 있고, 그런 다음 제품을 구매하기 위한 액션 데이터 구조를 생성할 수 있다. 액션 데이터 구조는 화자 인식 컴포넌트(112)에 의해 식별된 음향 서명과 연관된 전자 계정에 대응하는 계정 식별자를 포함할 수 있다.
데이터 처리 시스템(102)은 로컬 컴퓨팅 디바이스(140)에 의해 검출된 오디오 입력 신호를 수신하고, 음향 서명을 식별하고, 음향 서명에 대응하는 전자 계정을 식별하도록 설계, 구성 및 작동하는 스피커 인식 컴포넌트(112)를 포함할 수 있다. 화자 인식 컴포넌트(112)는 인터페이스(106)를 통해 로컬 컴퓨팅 디바이스(140)의 센서(144) 또는 변환기(146)에 의해 검출된 입력 오디오 신호를 포함하는 데이터 패킷을 수신할 수 있다. 화자 인식 컴포넌트(112)는 입력 오디오 신호로부터 음향 서명을 식별할 수 있다. 화자 인식 컴포넌트(112)는 데이터 저장소(122)에서의 검색에 기초하여, 음향 서명에 대응하는 전자 계정을 식별할 수 있다.
화자 인식 컴포넌트(112)는 입력 오디오 신호를 전달하는 페이로드를 갖는 데이터 패킷을 수신할 수 있다. 화자 인식 컴포넌트(112)는 소정 주파수의 오디오를 제거하기 위해 입력 오디오 신호에 대해 사전 필터링 또는 전처리를 수행할 수 있다. 사전 필터링에는 저역 통과 필터, 고역 통과 필터 또는 대역 통과 필터와 같은 필터가 포함될 수 있다. 필터들은 주파수 도메인에 적용될 수 있다. 필터들은 디지털 신호 처리 기술을 사용하여 적용될 수 있다. 필터는 사람의 음성(voice) 또는 사람의 음성(speech)에 해당하는 주파수를 유지하면서 일반적인 사람의 음성 주파수를 벗어나는 주파수를 제거하도록 구성할 수 있다. 예를 들어, 대역 통과 필터는 제 1 임계값(예를 들어, 70Hz, 75Hz, 80Hz, 85Hz, 90Hz, 95Hz, 100Hz 또는 105Hz) 이하 및 제 2 임계값(예를 들어, 200Hz, 205Hz, 210Hz, 225Hz, 235Hz, 245Hz 또는 255Hz) 이상의 주파수를 제거하도록 구성될 수 있다. 대역 통과 필터를 적용하면 다운 스트림 처리에서 컴퓨팅 자원 사용률을 줄일 수 있다. 일부 경우에, 로컬 컴퓨팅 디바이스(140)상의 전처리기(150)는 입력 오디오 신호를 데이터 처리 시스템(102)에 전송하기 전에 대역 통과 필터를 적용할 수 있으며, 이에 따라 네트워크 대역폭 이용을 감소시킬 수 있다. 그러나, 로컬 컴퓨팅 디바이스(140)에 이용될 수 있는 컴퓨팅 자원에 기초하여, 데이터 처리 시스템(102)이 필터링을 수행할 수 있도록 데이터 처리 시스템(102)에 입력 오디오 신호를 제공하는 것이 더 효율적일 수 있다.
화자 인식 컴포넌트(112)는 화자에 대응하는 전자 계정 식별을 용이하게 하기 위해 추가적인 전처리 또는 사전 필터링 기술을 적용할 수 있다. 예를 들어, 화자 인식 컴포넌트(112)는 화자 인식을 방해할 수 있는 주변 소음 레벨을 감소시키기 위해 소음 감소 기술을 적용할 수 있다. 소음 감소 기술은 화자 인식의 정확성 및 속도를 개선할 수 있으며, 이에 따라 전자 계정을 식별할 때 데이터 처리 시스템(102)의 성능을 개선할 수 있다.
화자 인식 컴포넌트(112)는 데이터 저장소(122)에 저장된 서명들(124)에 액세스할 수 있다. 화자 인식 컴포넌트(112)는 필터링된 입력 오디오 신호를 분석하여 서명을 식별하고, 서명을 사용하여 전자 계정을 식별할 수 있다. 따라서, 화자 인식 컴포넌트(112)는 화자 인식 또는 음성 인식을 수행하여 입력 오디오 신호의 서명에 대응하는 전자 계정을 식별할 수 있다.
화자 인식 컴포넌트(112)는 패턴 인식과 같은 하나 이상의 화자 인식 기술로 구성될 수 있다. 화자 인식 컴포넌트(112)는 텍스트 독립적인 화자 인식 프로세스로 구성될 수 있다. 텍스트 독립적인 화자 인식 프로세스에서 전자 계정을 설정하는데 사용되는 텍스트는 나중에 화자를 인식하는데 사용되는 텍스트와 상이할 수 있다.
예를 들어, 화자 인식 컴포넌트(112)는 입력 음성 소스들간에 상이한 입력 오디오 신호에서 음향 특징을 식별할 수 있다. 음향 특징들은 고유한 입력 음성 소스에 해당할 수 있는 물리적 또는 학습된 패턴을 반영할 수 있다. 음향 특징에는 예를 들어 음성 피치 또는 말하는 스타일이 포함될 수 있다. 서명을 식별, 처리 및 저장하는데 사용되는 기술은 주파수 추정(예를 들어, 순간 기본 주파수 또는 이산 에너지 분리 알고리즘), 은닉 마코프 모델(예를 들어, 미래가 현재 상태에 의존하고 모델링되는 시스템이 관찰되지 않은 상태를 갖는 무작위로 변화하는 시스템을 모델링하는데 사용되는 확률론적 모델), 가우시안 혼합 모델(예를 들어, 가우스 성분 밀도의 가중 합으로 표현되는 파라미터 확률 밀도 함수), 패턴 매칭 알고리즘, 신경망, 매트릭스 표현, 벡터 양자화(예를 들어, 프로토 타입 벡터의 분포를 통해 확률 밀도 함수를 모델링할 수 있는 신호 처리의 양자화 기술) 또는 의사 결정 트리를 포함할 수 있다. 추가 기술에는 코호트 모델 및 세계 모델과 같은 안티(anti)-화자 기술이 포함될 수 있다. 화자 인식 컴포넌트(112)는 패턴 인식을 용이하게 하거나 화자 특성에 적응하기 위해 기계 학습 모델로 구성될 수 있다.
입력 오디오 신호에서 음향 서명을 식별하면, 화자 인식 컴포넌트(112)는 데이터 저장소(122) 또는 서명 데이터 구조(예를 들어, 서명 및 계정(124))에서 조회를 수행할 수 있다. 서명 데이터 구조에 저장된 서명들은 전자 계정의 식별자에 매핑될 수 있다. 화자 인식 컴포넌트(112)는 입력 오디오 신호에서 식별된 서명을 사용하여 서명 데이터 구조에서 검색을 수행하여, 입력 오디오의 서명에 대응하는 전자 계정을 검색할 수 있다.
일부 경우에, 화자 인식 컴포넌트(112)는 조회에 기초하여, 음향 서명에 대응하는 전자 계정의 부재를 결정할 수 있다. 예를 들어, 서명은 서명 데이터 구조(124)에 저장되지 않거나 서명에 대한 전자 계정이 아직 설정되지 않았을 수 있다. 조회는 null 값 또는 빈 세트를 반환할 수 있다. 서명 또는 전자 계정의 부재를 결정하는 것에 응답하여, 화자 인식 컴포넌트(112)는 데이터 저장소에 전자 계정을 생성할 수 있다. 화자 인식 컴포넌트(112)는 입력 오디오 신호 및 대응하는 전자 계정으로 구성된 새로운 서명을 포함하도록 서명 데이터 구조(124)를 업데이트할 수 있다. 화자 인식 컴포넌트(112)는 전자 계정을 새로운 음향 서명에 매핑할 수 있다.
따라서, 데이터 처리 시스템(102)은 데이터 처리 시스템(102)의 인터페이스(106)를 통해, 계정 식별자와 링크된 로컬 컴퓨팅 디바이스(140)(예를 들어, 제 1 클라이언트 디바이스 또는 제 1 디지털 어시스턴트 디바이스)의 센서(144)에 의해 검출된 입력 오디오 신호를 포함하는 데이터 패킷을 수신할 수 있는 대화형 데이터 교환 컴포넌트(104)를 포함할 수 있다. 대화형 데이터 교환 컴포넌트(104)는 (예를 들어, NLP 컴포넌트(108)에 의해) 자연어 처리 기술에 기초하여, 디지털 컴포넌트에 대한 요청 및 그 요청에 대응하는 하나 이상의 키워드를 식별하기 위한 입력 오디오 신호를 포함하는 데이터 패킷을 파싱할 수 있다. 대화형 데이터 교환 컴포넌트(104)는 로컬 컴퓨팅 디바이스(140)와의 세션을 설정하고 디지털 액세스 제어 데이터베이스(132)에 저장된 디지털 컴포넌트에 대한 정책 또는 규칙(136)에 기초하여, 계정 식별자와 링크된 제 1 클라이언트 디바이스에 의한 디지털 컴포넌트에 대한 요청에 응답하는 필드를 갖는 입력 프롬프트를 생성할 수 있다.
예를 들어, 대화형 데이터 교환 컴포넌트(104)는 요청을 만족시키기 위해 추가 입력이 필요할 수 있음을 결정하기 위해 액세스 제어 데이터베이스(132) 또는 액세스 컨트롤러 컴포넌트(114)와 통신할 수 있다. 추가 입력은 사용자 자격 증명, 전자 계정 정보, 결제 정보, 거래 정보 또는 인증 정보일 수 있다. 데이터 저장소(122) 또는 액세스 컨트롤러 컴포넌트(114)와 통신하는 대화형 데이터 교환 컴포넌트(104)는 템플릿(130)을 사용하여 입력 프롬프트를 생성할 수 있다. 템플릿(130)은 요청된 디지털 컴포넌트(138)에 대해 설정된 규칙(136)에 의해 결정된 파라미터(134)의 값을 위한 것일 수 있다. 예를 들어, 요청이 오디오 북을 청취하 것인 경우, 사용자가 오디오 북을 스트리밍하거나 오디오를 다운로드하기를 원하는 경우, 사용자가 오디오 북 제공 업체에 대한 월간 구독을 설정하고 싶은 경우, 사용자가 일회성 스트리밍 전용 구성, 또는 오디오 북 서비스를 제공하는 제 3 자 디바이스(156)에 의해 이용 가능하거나 제공되는 임의의 다른 유형의 구성을 설정하려는 경우, 데이터 처리 시스템(102)은 사용자가 오디오에 대해 지불하기를 원하는 방법에 관한 정보를 위해 입력 프롬프트를 생성할 수 있다. 따라서, 입력 프롬프트에는 하나 이상의 입력 텍스트 상자, 드롭 다운 메뉴 또는 버튼 또는 기타 그래픽 사용자 인터페이스 위젯이 있는 하나 이상의 필드가 포함될 수 있다. 데이터 처리 시스템(102)은 대화형 컴퓨팅 환경을 위해 입력 텍스트 상자를 변환할 수 있다. 데이터 처리 시스템(102)은 입력 텍스트 상자가 음성 기반 대화 컴퓨팅 환경에 적합하지 않다고 결정할 수 있다. 예를 들어, 데이터 처리 시스템(102)은 입력 텍스트 상자를 변환하는 것이 번거롭거나, 비효율적이거나, 덜 안전하거나, 프로세서 집약적이거나, 거래 지연을 유발할 수 있다고 결정할 수 있다.
데이터 처리 시스템(102)은 입력 프롬프트가 로컬 컴퓨팅 디바이스(140)와 호환되는지 여부를 결정하도록 설계, 구성 및 동작하는 호환성 검사기 컴포넌트(116)를 포함하거나, 인터페이스하거나 그에 액세스할 수 있다. 데이터 처리 시스템(102)은 입력 프롬프트가 사용자의 계정에 링크된 제 1 클라이언트 디바이스와 호환되지 않는다고 결정할 수 있다. 데이터 처리 시스템(102)은 입력 프롬프트가 사용자의 계정에 링크된 제 2 클라이언트 디바이스와 호환되는지를 결정할 수 있다.
호환성 검사기 컴포넌트(116)는 생성된 입력 프롬프트와 연관된 입력 또는 출력의 유형을 결정할 수 있다. 호환성 검사기 컴포넌트(116)는 로컬 컴퓨팅 디바이스(140)와 관련된 디바이스 정보를 수신할 수 있다. 호환성 검사기 컴포넌트(116)는 생성된 입력 프롬프트와 연관된 입력 또는 출력의 유형을 로컬 컴퓨팅 디바이스(140)에서 이용 가능한 입력 및 출력 인터페이스와 비교할 수 있다. 만약 호환성 검사기 컴포넌트(116)가 생성된 입력 프롬프트에 필요한 입력 유형이 로컬 컴퓨팅 디바이스(140)에서 이용 가능하지 않다고 결정하면, 호환성 검사기 컴포넌트(116)는 로컬 컴퓨팅 디바이스(140)가 상기 생성된 입력 프롬프트와 호환되지 않는다고 결정할 수 있다. 예를 들어, 입력 프롬프트는 전자 거래 계정 번호의 입력을 요구할 수 있지만, 로컬 컴퓨팅 디바이스(140)는 키보드, 마우스 또는 터치 스크린을 포함하지 않을 수 있다. 따라서, 로컬 컴퓨팅 디바이스(140)는 전자 계정 번호를 입력하는 메커니즘을 제공하지 않을 수 있다. 오디오 신호 또는 음성 번호를 제공하는 것이 가능할 수 있지만, 데이터 처리 시스템(102)은 전자 계정 정보를 음성으로 제공하는 것이 안전하지 않을 수 있다고 결정할 수 있다. 따라서, 데이터 처리 시스템(102)은 비호환성을 결정할 수 있다.
호환성 검사기 컴포넌트(116)는 로컬 컴퓨팅 디바이스(140)가 공용 또는 보안되지 않은 컴퓨팅 디바이스(140)이고, 계정 정보 또는 인증 정보를 수신하기에 충분히 안전하지 않아 호환되지 않는지 결정할 수 있다. 호환성 검사기 컴포넌트(116)는 다양한 정책 또는 기술을 사용하여, 자원 소비, 디바이스 구성, 인터페이스 가용성, 선호도 또는 보안에 기초하여 비호환성을 결정할 수 있다. 호환성 검사기 컴포넌트(116)는 사용자에 의해 요청된 디지털 컴포넌트에 대한 규칙에 기초하여 정책을 결정할 수 있다. 예를 들어, 요청된 디지털 컴포넌트에 대한 규칙은 선호되는 인증 기술로서 지문과 같은 생체 인증일 수 있지만, 로컬 컴퓨팅 디바이스(140)는 생체 인식 센서를 포함하지 않을 수 있다. 따라서, 호환성 검사기 컴포넌트(116)는 로컬 컴퓨팅 디바이스(140)가 상기 생성된 입력 프롬프트에 대해 호환되지 않는다고 결정할 수 있다.
로컬 컴퓨팅 디바이스(140)가 생성된 입력 프롬프트와 호환되지 않는다고 결정하면, 데이터 처리 시스템(102)은 제 2 컴퓨팅 디바이스를 식별할 수 있다. 예를 들어, 데이터 처리 시스템(102)은 입력 프롬프트가 제 1 클라이언트 디바이스와 호환되지 않는다는 결정에 응답하여, 제 1 클라이언트 디바이스와 링크된 계정 식별자와 링크된 제 2 클라이언트 디바이스의 상태를 식별하도록 설계, 구성 및 동작하는 세션 전송 컴포넌트(118)를 포함하거나, 인터페이스하거나, 그에 액세스할 수 있다. 제 1 및 제 2 클라이언트 디바이스는 로컬 컴퓨팅 디바이스(140)의 하나 이상의 컴포넌트 또는 기능을 포함할 수 있다. 제 2 클라이언트 디바이스는 필요한 입력 인터페이스, 출력 인터페이스, 애플리케이션, 프로그램, 계산 리소스 또는 기타 기능을 포함할 수 있으므로 입력 프롬프트와 호환될 수 있다.
제 2 클라이언트 디바이스를 식별하기 위해, 데이터 처리 시스템(102)은 (예를 들어, 세션 전송 컴포넌트(118)을 통해) 상기 링크된 디바이스 데이터 구조(126)에 표시된 바와 같이 계정과 링크된 하나 이상의 디바이스를 폴링할 수 있다. 데이터 처리 시스템(102)은 계정 식별자를 사용하여 상기 링크된 디바이스 데이터 구조(126)에서 조회를 수행하여, 링크된 디바이스들의 디바이스 식별자를 결정한 다음 그러한 디바이스들을 폴링할 수 있다. 데이터 처리 시스템(102)은 (예를 들어, 무선 연결을 통해) 제 1 클라이언트 디바이스에 연결된 주변 디바이스 또는 디바이스를 식별하기 위해 다른 폴링 기술을 사용할 수 있다. 세션 전송 컴포넌트(116)는 클라이언트 디바이스의 상태를 결정하기 위해 제 2 클라이언트 디바이스에 대한 디바이스 정보를 수신할 수 있다. 상태는 상기 생성된 입력 프롬프트를 채우거나 만족시키거나 응답하는데 사용되는 입력 인터페이스, 출력 인터페이스, 계산 리소스 또는 기타 기능의 가용성을 나타낼 수 있다. 예를 들어, 세션 전송 컴포넌트(118)는 키보드 입력 또는 터치 스크린 입력 인터페이스의 가용성에 관한 상태 정보를 위해 제 2 클라이언트 디바이스를 폴링할 수 있고, 상태 정보는 터치 스크린 인터페이스가 이용 가능하다는 것을 나타낼 수 있다.
호환성 검사기 컴포넌트(116)는 세션 전송 컴포넌트에 의해 식별된 상태에 기초하여 입력 프롬프트가 제 2 클라이언트 디바이스와 호환되는지 결정할 수 있다. 그 후, 호환성 검사기 컴포넌트(116)는 세션을 핸드 오버하도록 세션 전송 컴포넌트(116)에 명령할 수 있다. 세션 전송 컴포넌트(118)는 세션을 제 2 클라이언트 디바이스로 핸드 오버하고 제 1 클라이언트 디바이스와의 세션의 일부를 종료할 수 있다. 세션을 핸드 오버하는 것은 제 1 디바이스와의 세션을 제 2 디바이스로 전송하는 것을 지칭하거나 포함할 수 있다. 세션을 핸드 오버하는 것은 요청된 전자 거래를 제 2 디바이스와 수행하기 위해 세션을 시작하는 것을 지칭하거나 포함할 수 있다. 세션을 핸드 오버하는 것은 제 1 클라이언트 디바이스로의 세션을 종료한 다음 제 2 클라이언트 디바이스로 세션을 다시 시작하는 것을 지칭하거나 포함할 수 있다. 세션을 핸드 오버하는 것은 제 2 클라이언트 디바이스로 제 2 세션을 시작하는 것을 지칭하거나 포함할 수 있다. 세션을 핸드 오버하는 것은 제 1 클라이언트 디바이스를 통해 수행된 세션의 일부와 관련된 정보를 제 2 클라이언트 디바이스에 제공하는 것을 지칭하거나 포함할 수 있다. 세션을 핸드 오버하는 것은 입력 생성 프롬프트를 제 2 클라이언트 디바이스로 전송하거나 포워딩하는 것을 지칭하거나 포함할 수 있다.
세션은 액세스 제어 세션을 포함하거나 지칭할 수 있다. 액세스 제어 세션은 디지털 컴포넌트에 대한 액세스를 획득, 요청, 허가 또는 승인하는 것과 관련된 하나 이상의 데이터 통신 또는 연결을 지칭하거나 포함할 수 있다. 데이터 처리 시스템(102)은 제 1 클라이언트 디바이스(예를 들어, 로컬 컴퓨팅 디바이스(140))를 통해 검출된 입력 오디오 신호에 응답하여 액세스 제어 세션을 시작할 수 있다. 데이터 처리 시스템(102)은 생성된 입력 프롬프트가 로컬 컴퓨팅 디바이스(140) 또는 제 1 클라이언트 디바이스와 호환되지 않는다는 결정에 응답하여 제 1 클라이언트 디바이스상의 액세스 제어 세션을 일시 중지할 수 있다. 데이터 처리 시스템(102)은 제 1 클라이언트 디바이스로부터 제 2 클라이언트 디바이스로 액세스 제어 세션을 핸드 오버할 수 있다. 데이터 처리 시스템(102)은 입력 프롬프트에 응답하여 제 2 클라이언트 디바이스를 통해 입력된 데이터 패킷에 응답하여 액세스 제어 세션을 종료할 수 있다.
세션을 전송하거나 핸드 오버할 때, 대화형 데이터 교환 컴포넌트(104)는 핸드 오버에 응답하여, 입력 프롬프트를 제 2 클라이언트 디바이스로 전송할 수 있다. 대화형 데이터 교환 컴포넌트(104)는 입력 프롬프트에 응답하여 제 2 클라이언트 디바이스를 통해 입력된 데이터 패킷을 수신할 수 있다.
데이터 처리 시스템(102)은 제 2 클라이언트 디바이스를 통해 입력된 데이터 패킷에 기초하여, 계정 식별자에 대한 디지털 액세스 제어 데이터베이스에 저장된 디지털 컴포넌트에 대한 파라미터를 수정하도록 설계, 구성 및 작동하는 액세스 컨트롤러 컴포넌트(114)를 포함하거나 인터페이스하거나 이에 액세스할 수 있다. 액세스 컨트롤러 컴포넌트(114)는 액세스 제어 데이터베이스(132)를 유지할 수 있다. 액세스 컨트롤러 컴포넌트(114)는 액세스 제어 데이터베이스(132)를 수정, 조정, 조작 또는 업데이트할 수 있다. 예를 들어, 액세스 컨트롤러 컴포넌트(114)는 디지털 컴포넌트에 대해 액세스 제어 데이터베이스(132)에 저장된 등록 서비스 파라미터를 업데이트하여, 월간 구독, 일회성 보기, 연간 구독 또는 기타 구매 유형을 나타낼 수 있다. 예를 들어, 액세스 컨트롤러 컴포넌트(114)는 계정에 링크된 디바이스들이 디지털 컴포넌트를 실행, 렌더링, 처리 또는 제시할 권한이 있음을 나타내기 위해 계정에 대한 디지털 컴포넌트의 파라미터 값을 업데이트할 수 있다.
액세스 컨트롤러 컴포넌트(114)는 액세스 제어 데이터베이스(132)에서 임의의 유형의 디지털 컴포넌트에 대한 가입, 구매 또는 액세스 정보를 유지할 수 있다. 액세스 컨트롤러 컴포넌트(114)는 파라미터들(134)에 대한 값을 업데이트하기 위해 디지털 컴포넌트(138)의 유형에 대응하는 규칙(136)을 파싱하거나 처리하도록 구성될 수 있다. 액세스 컨트롤러 컴포넌트(114)는 제 3 자 디바이스들(156) 또는 디지털 컴포넌트의 다른 제공자들로부터 업데이트된 또는 새로운 규칙들을 수신할 수 있고, 그 업데이트된 또는 새로운 규칙들을 액세스 제어 데이터베이스(132)에 저장할 수 있다. 따라서, 액세스 컨트롤러 컴포넌트(114)는 제 3 자 디바이스(156)를 대신하거나 이에 추가하여 디지털 컴포넌트들에 대한 액세스 제어를 유지, 수정, 추가, 제거, 삭제 또는 그렇지 않으면 조작 또는 조정할 수 있다.
데이터 처리 시스템(102)은 클라이언트 디바이스에 의한 실행을 위해 디지털 컴포넌트를 제공할 수 있다. 예를 들어, 데이터 처리 시스템(102)은 계정 식별자와 링크된 제 3 클라이언트 디바이스에서 디지털 컴포넌트를 실행하기 위한 요청을 수신할 수 있다. 데이터 처리 시스템(102)은 (예를 들어, 액세스 컨트롤러 컴포넌트(114)을 통해) 계정 식별자에 대해 디지털 액세스 제어 데이터베이스에 저장된 파라미터 정보에 기초하여 제 2 클라이언트 디바이스가 디지털 컴포넌트에 액세스하는 것을 검증할 수 있다. 데이터 처리 시스템(102)은 (예를 들어, 호환성 검사기 컴포넌트(116)를 통해) 디지털 컴포넌트가 제 3 클라이언트 디바이스와 호환되는지를 결정할 수 있다. 예를 들어, 디지털 컴포넌트를 실행, 제시 또는 렌더링하는데 필요한 애플리케이션 유형은 제 3 클라이언트 디바이스에서 사용할 수 있고(예를 들어, 애플리케이션 버전, 운영 체제 버전). 계산 리소스(예를 들어, 프로세서 속도, 메모리, 대역폭, 스토리지)가 디지털 컴포넌트를 처리하거나 실행하기에 충분하거나 디지털 컴포넌트를 제시하는데 사용되는 인터페이스들(예를 들어, 디스플레이, 입력, 키보드, 터치 스크린, 센서, 가속도계, GPS 또는 스피커)이 클라이언트 디바이스에서 사용할 수 있다. 호환성 검사기 컴포넌트(114)는 호환성을 결정하기 위한 상태 정보를 획득하기 위해 제 3 클라이언트 디바이스를 폴링할 수 있다. 따라서, 디지털 컴포넌트의 액세스 및 호환성을 검증하는 것에 응답하여, 데이터 처리 시스템(102)은 제 3 클라이언트 디바이스에 의한 실행을 위해 디지털 컴포넌트를 제공할 수 있다.
호환성 검사기 컴포넌트(116)는 디바이스에 의해 요청된 디지털 컴포넌트가 디바이스의 상태에 기초하여 디바이스에 의한 실행에 대해 호환되지 않는 것으로 결정할 수 있다. 데이터 처리 시스템(102)은 제 3 클라이언트 디바이스의 상태에 기초하여 디지털 컴포넌트의 포맷을 변환할 수 있다. 데이터 처리 시스템(102)은 호환성 정보 또는 상태 정보에 응답하여 디지털 컴포넌트를 제 1 포맷에서 제 2 포맷으로 변환할 수 있다. 예를 들어, 디바이스는 제 1 해상도의 디스플레이를 포함할 수 있고, 데이터 처리 시스템(102)은 디스플레이와 호환되도록 디지털 컴포넌트의 해상도를 조정할 수 있다. 디바이스는 3 차원 비디오 대신 2 차원 이미지 및 비디오가 가능한 그래픽 드라이버로 구성될 수 있으며, 데이터 처리 시스템(102)은 2 차원 디스플레이를 위해 디지털 컴포넌트를 변환할 수 있다.
데이터 처리 시스템(102)(예를 들어, 호환성 검사기(116))은 계정 식별자와 링크된 복수의 클라이언트 디바이스를 식별할 수 있다. 호환성 검사기(116)는 디지털 컴포넌트와 호환되는 복수의 클라이언트 디바이스의 서브 세트를 식별할 수 있다. 호환성 검사기(116)는 파라미터의 수정에 응답하여, 복수의 클라이언트 디바이스의 서브 세트에서 실행하기 위한 디지털 컴포넌트를 제공할 수 있다. 따라서, 액세스 컨트롤러 컴포넌트(114)는 제 3 클라이언트 디바이스에 의해 디지털 컴포넌트를 실행하기 위한 권한을 제공함으로써 파라미터를 수정할 수 있다. 액세스 컨트롤러 컴포넌트(114)는 디지털 컴포넌트의 유형에 기초하여 파라미터의 유형을 결정하고 그 유형에 기초하여 파라미터를 수정할 수 있다.
예를 들어, 데이터 처리 시스템(102)은 디지털 컴포넌트 객체들을 선택하도록 설계, 구성, 건조 또는 동작하는 컨텐츠 선택기 컴포넌트(120)를 포함할 수 있다. 음성 기반 환경에서 디스플레이하기 위한 디지털 컴포넌트들을 선택하기 위해, 데이터 처리 시스템(102)은 (예를 들어, NLP 컴포넌트 108을 통해) 입력 오디오 신호를 파싱하여 키워드들(예를 들어, 트리거 키워드)을 식별하고, 키워드를 사용하여 광역 매치, 완전 매치 또는 구문 매치에 기초하여 매칭하는 디지털 컴포넌트를 선택할 수 있다. 예를 들어, 컨텐츠 선택기 컴포넌트(120)는 후보 디지털 컴포넌트들의 주제가 로컬 클라이언트 컴퓨팅 디바이스(140)의 마이크에 의해 검출된 입력 오디오 신호의 키워드들 또는 구문들의 주제에 해당하는지 여부를 결정하기 위해 후보 디지털 컴포넌트들의 주제를 분석, 파싱 또는 처리할 수 있다. 컨텐츠 선택기 컴포넌트(120)는 이미지 처리 기술, 문자 인식 기술, 자연어 처리 기술 또는 데이터베이스 조회를 사용하여 후보 디지털 컴포넌트들의 음성, 오디오, 용어, 문자, 텍스트, 기호 또는 이미지를 식별, 분석 또는 인식할 수 있다. 후보 디지털 컴포넌트들은 후보 디지털 컴포넌트들의 주제를 나타내는 메타 데이터를 포함할 수 있으며, 이 경우 컨텐츠 선택기 컴포넌트(120)는 메타 데이터를 처리하여 후보 디지털 컴포넌트의 주제가 입력 오디오 신호에 대응하는지 여부를 결정할 수 있다.
컨텐츠 선택기 컴포넌트(120)는 컨텐츠 선택을 수행하기 위해 프로파일 스택에 제공된 정보를 더 이용할 수 있다. 컨텐츠 선택기 컴포넌트(120)는 로컬 컴퓨팅 디바이스(140)에 의해 검출된 입력 오디오 신호를 제공한 스피커와 관련된 전자 계정에 대응할 수 있는 제 2 프로파일 계층을 이용할 수 있다. 컨텐츠 선택기(120)는 또한 제 3 자 디바이스(156)에 의해 제공된 디폴트 프로파일 계층에 대응할 수 있는 제 1 프로파일 계층과 관련된 정보를 사용할 수 있다. 컨텐츠 제공자(154)에 의해 제공되는 컨텐츠 캠페인은 데이터 처리 시스템(102)이 제 2 프로파일 계층 또는 제 1 프로파일 계층에 표시된 기준과 매칭시킬 수 있는 컨텐츠 선택 기준을 포함할 수 있다.
컨텐츠 제공자(154)는 디지털 컴포넌트를 포함하는 컨텐츠 캠페인을 설정할 때 추가 표시자를 제공할 수 있다. 컨텐츠 제공자(154)는 컨텐츠 선택기 컴포넌트(120)가 후보 디지털 컴포넌트에 관한 정보를 사용하여 조회를 수행함으로써 식별할 수 있는 컨텐츠 캠페인 또는 컨텐츠 그룹 레벨에서 정보를 제공할 수 있다. 예를 들어, 후보 디지털 컴포넌트는 컨텐츠 그룹, 컨텐츠 캠페인 또는 컨텐츠 제공자에 매핑될 수 있는 고유 식별자를 포함할 수 있다. 컨텐츠 선택기 컴포넌트(120)는 데이터 저장소(122)의 컨텐츠 캠페인 데이터 구조에 저장된 정보에 기초하여, 컨텐츠 제공자(154)에 관한 정보를 결정할 수 있다.
데이터 처리 시스템(102)은 컴퓨터 네트워크를 통해, 컴퓨팅 디바이스(140)상에서의 프리젠 테이션을 위한 컨텐츠 요청을 수신할 수 있다. 데이터 처리 시스템(102)은 로컬 클라이언트 컴퓨팅 디바이스(140)의 마이크에 의해 검출된 입력 오디오 신호를 처리함으로써 요청을 식별할 수 있다. 요청에는 디바이스 유형, 위치, 및 요청과 관련된 키워드와 같은 요청의 선택 기준이 포함될 수 있다. 요청에는 액션 데이터 구조 또는 액션 데이터 구조가 포함될 수 있다.
요청에 응답하여, 데이터 처리 시스템(102)은 데이터 저장소(122) 또는 컨텐츠 제공자(154)와 관련된 데이터베이스로부터 디지털 컴포넌트 객체를 선택하고, 네트워크(105)를 통해 컴퓨팅 디바이스(140)를 통해 제시하기 위한 디지털 컴포넌트를 제공할 수 있다. 디지털 컴포넌트 객체는 제 3 자 디바이스(156)와 상이한 컨텐츠 제공자 디바이스(154)에 의해 제공될 수 있다. 디지털 컴포넌트는 액션 데이터 구조의 서비스 유형(예를 들어, 택시 서비스 대 음식 배달 서비스)과 상이한 서비스 유형에 해당할 수 있다. 컴퓨팅 디바이스(140)는 디지털 컴포넌트 객체와 상호 작용할 수 있다. 컴퓨팅 디바이스(140)는 디지털 컴포넌트에 대한 오디오 응답을 수신할 수 있다. 컴퓨팅 디바이스(140)는 컴퓨팅 디바이스(140)가 컨텐츠 제공자 디바이스(154) 또는 제 3 자 디바이스(156)를 식별하고, 컨텐츠 제공자 디바이스(154) 또는 제 3 자 디바이스(156)로부터 서비스를 요청하고, 콘텐츠 제공자 디바이스(154) 또는 제 3 자 디바이스(156)에게 서비스를 수행하도록 지시하고, 정보를 콘텐츠 제공자 디바이스(154) 또는 제 3 자 디바이스(156)로 전송하거나, 또는콘텐츠 제공자 디바이스(154) 또는 제 3 자 디바이스(156)에 질의하도록 하거나 이를 허용하록 하는 디지털 컴포넌트 객체와 연관된 하이퍼 링크 또는 다른 버튼을 선택하라는 표시를 수신할 수 있다.
데이터 처리 시스템(102)은 (예를 들어, 인터페이스(106) 및 네트워크(105)를 통해) 입력 오디오 신호에 응답하는 출력 신호를 포함하는 데이터 패킷을 전송하거나 그에 대한 요청 또는 질의를 전송할 수 있다. 출력 신호는 로컬 컴퓨팅 디바이스(140)의 또는 로컬 컴퓨팅 디바이스(140)에 의해 실행되는 오디오 드라이버 컴포넌트(138)가 출력 신호에 대응하는 음향 파를 생성하기 위해 로컬 컴퓨팅 디바이스(140)의 스피커(예를 들어, 변환기(146))를 구동하게 할 수 있다.
도 2는 컴퓨팅 디바이스들 사이에서 액세스 제어를 동기화하기 위한 시스템(200)의 동작을 도시한 것이다. 시스템(200)은 도 1에 도시된 시스템(100) 또는 도 4에 도시된 시스템(400)의 하나 이상의 컴포넌트를 포함할 수 있다. 예를 들어, 시스템(200)은 데이터 처리 시스템(102)을 포함할 수 있다. 시스템(200)은 제 1 디지털 어시스턴트 디바이스(280), 제 2 디지털 어시스턴트 디바이스(282) 또는 제 3 디지털 어시스턴트 디바이스(284)를 포함하거나 인터페이스하거나 통신할 수 있다. 제 1, 제 2 및 제 3 디지털 어시스턴트 디바이스(280, 282 및 284)는 로컬 컴퓨팅 디바이스(140)의 하나 이상의 컴포넌트 또는 기능을 포함할 수 있다. 제 1, 제 2 및 제 3 디지털 어시스턴트 디바이스(280, 282 및 284)는 서로에 대해 상이한 기능 또는 인터페이스를 포함할 수 있다. 예를 들어, 제 1 디지털 어시스턴트 디바이스(280)는 디스플레이 디바이스(152)를 포함하지 않는 스피커 디지털 어시스턴트 일 수 있고; 제 2 디지털 어시스턴트 디바이스(282)는 터치 스크린을 포함하는 모바일 컴퓨팅 디바이스일 수 있고; 제 3 디지털 어시스턴트 디바이스(284)는 랩톱 컴퓨터일 수 있다.
ACT(202)에서, 제 1 디지털 어시스턴트 디바이스(280)는 입력 오디오 신호를 수신한다. 입력 오디오 신호는 요청, 하나 이상의 키워드, 트리거 문구 또는 키워드를 포함할 수 있다. 입력 오디오 신호에는 컨텐츠 액세스에 대한 쿼리가 포함될 수 있다. 예를 들어 입력 오디오 신호는 "회사_A 스트리밍 서비스에 대한 월간 구독에 가입하고 싶어"일 수 있다. 입력 오디오 신호는 "오디오 북_B를 구입하고 싶어"일 수 있다. 입력 오디오 신호는 "디지털 통화_D로 앨범_C를 구매하고 싶어"일 수 있다. 입력 오디오 신호는 "비디오 게임_E의 무료 평가판을 받고 싶어"이다.
ACT(204)에서, 제 1 디지털 어시스턴트 디바이스(280)는 네트워크(105)를 통해 데이터 처리 시스템(102)에 입력 오디오 신호(또는 텍스트 버전 또는 그의 데이터 패킷)를 전송할 수 있다. 데이터 처리 시스템(102)은 데이터 패킷을 수신할 수 있다. 데이터 처리 시스템(102)은 ACT(206)에서 요청을 식별할 수 있다. 예를 들어, 데이터 처리 시스템(102)은 데이터 처리 시스템(102)의 대화형 데이터 교환 컴포넌트의 NLP 컴포넌트를 사용하여 요청을 식별할 수 있다.
ACT(208)에서, 데이터 처리 시스템(102)은 액세스 제어를 수정할지 여부에 대한 결정 블록을 수행할 수 있다. 결정 블록은 디지털 컴포넌트를 제공하기 위해 액세스 제어 파라미터를 수정할지 여부를 결정하는 데이터 처리 시스템을 지칭하거나 포함할 수 있다. 결정 블록은 제 1 디지털 어시스턴트 디바이스(280)가 요청된 디지털 컴포넌트에 액세스하도록 이미 승인되었는지 여부를 결정하는 데이터 처리 시스템(102)을 지칭하거나 포함할 수 있다. ACT(208)에 대응하는 결정 블록에서, 데이터 처리 시스템(102)이 제 1 디지털 어시스턴트 디바이스(280)에 대응하는 계정 식별자에 대한 상기 요청된 디지털 컴포넌트에 대한 액세스 제어 파라미터를 수정할 필요가 없다고 결정하면, 데이터 처리 시스템은 결정 블록(210)으로 진행하여 디지털 컴포넌트가 제 1 디지털 어시스턴트 디바이스(280)에 의한 실행을 위해 호환 가능한지 여부를 결정할 수 있다. 결정 블록 210에서, 데이터 처리 시스템(102)이 디지털 컴포넌트가 제 1 디지털 어시스턴트 디바이스(280)와 호환 가능하다고 결정하면(예를 들어, 제 1 디지털 어시스턴트 디바이스(280)의 상태 또는 디바이스 정보에 기초하여), 데이터 처리 시스템은 ACT(214)에서, 실행을 위해 디지털 컴포넌트를 제 1 디지털 어시스턴트 디바이스(280)로 전송할 수 있다.
그러나, 데이터 처리 시스템(102)이 결정 블록 210에서 디지털 컴포넌트가 제 1 디지털 어시스턴트 디바이스(280)와 호환되지 않는다고 결정하면, 데이터 처리 시스템(102)은 ACT(212)에서 제 1 디지털 어시스턴트 디바이스(280)와 호환되도록 디지털 컴포넌트를 재 포맷하기로 결정할 수 있다. 만약 데이터 처리 시스템(102)이 ACT(212)에서 디지털 컴포넌트를 재 포맷할 수 있다면, 데이터 처리 시스템(102)은 재 포맷을 진행하고, ACT(214)에서 재 포맷된 디지털 컴포넌트를 실행을 위해 제 1 디지털 어시스턴트 디바이스(280)로 전송한다. 만약 데이터 처리 시스템(102)이 디지털 컴포넌트를 호환 가능한 형식으로 재 포맷할 수 없는 경우, 데이터 처리 시스템(102)은 ACT(242)에서 세션 핸드 오버로 진행하거나 루프를 종료할 수 있다. ACT(242)에서 세션 핸드 오버는 계정에 링크된 호환 가능한 디지털 어시스턴트 디바이스를 식별하고 그 링크된 호환 가능한 디지털 어시스턴트 디바이스에서 실행하기 위해 디지털 컴포넌트를 전송하는 것을 포함할 수 있다.
결정 블록(208)에서, 만약 데이터 처리 시스템(102)이 액세스 제어 파라미터를 수정하기로 결정하면, 데이터 처리 시스템은 ACT(216)에서 입력 프롬프트를 생성하도록 진행할 수 있다. 데이터 처리 시스템(102)은 요청된 디지털 컴포넌트의 유형 및 디지털 컴포넌트의 유형과 관련된 규칙에 기초하여 입력 프롬프트를 생성할 수 있다. 데이터 처리 시스템(102)은 값들이 입력될 수 있는 하나 이상의 필드를 갖는 입력 프롬프트를 생성할 수 있다. ACT(218)에서, 데이터 처리 시스템(102)은 생성된 입력 프롬프트가 제 1 디지털 어시스턴트 디바이스(280)와 호환 가능한지 여부를 결정할 수 있다. 만약 생성된 입력 프롬프트가 제 1 디지털 어시스턴트 디바이스와 호환되는 경우, 데이터 처리 시스템(102)은 ACT(220)에서 상기 생성된 입력 프롬프트를 제 1 디지털 어시스턴트 디바이스로 전송할 수 있다. 데이터 처리 시스템(102)은 입력 프롬프트에 응답하는 입력 데이터를 ACT(22)에서 수신할 수 있다. 예를 들어, 데이터 처리 시스템(102)은 계정 정보, 선택, 결제 정보, 시간 간격 정보, 선호도 또는 기타 정보를 수신할 수 있다. ACT(224)에서, 데이터 처리 시스템(102)은 제 1 디지털 어시스턴트 디바이스(280)로부터 수신된 입력 데이터로 액세스 제어 데이터베이스를 업데이트할 수 있다.
그러나, ACT(218)에서, 만약 데이터 처리 시스템(102)이 생성된 입력 프롬프트가 제 1 디지털 어시스턴트 디바이스(280)와 호환되지 않는다고 결정하면, 데이터 처리 시스템은 ACT(226)에서 호환 가능한 제 2 디바이스를 폴링할 수 있다. 데이터 처리 시스템(102)은 제 1 디지털 어시스턴트 디바이스(280)의 범위 내에 있는 디바이스들을 식별하기 위해 폴(poll) 또는 핑을 브로드캐스트할 수 있다. 예를 들어, 데이터 처리 시스템(102)은 다른 디지털 어시스턴트 디바이스(282)를 식별하기 위해 통신 프로토콜 또는 브로드캐스트 프로토콜을 사용하여 폴 또는 핑 또는 비콘을 브로드캐스트하도록 제 1 디지털 어시스턴트 디바이스(280)에 지시할 수 있다. 데이터 처리 시스템(102)은 링크된 디바이스 데이터 구조에서 조회를 수행하여 제 1 디지털 어시스턴트 디바이스(280)가 링크된 계정에 링크된 다른 디바이스를 식별할 수 있다.
제 2 디지털 어시스턴트 디바이스(282)를 식별할 때, 데이터 처리 시스템은 ACT(228)에서 세션 핸드 오버를 수행할 수 있다. 데이터 처리 시스템(102)은 제 1 디지털 어시스턴트 디바이스(280)와 이전에 설정된 세션을 일시 정지, 보류 또는 종료할 수 있거나, 제 1 어시스턴트 디바이스(280)를 통해 시작할 수 있다. 데이터 처리 시스템(102)은 데이터 처리 시스템(102)이 제 1 디지털 어시스턴트 디바이스(280)가 디지털 컴포넌트를 실행하기 위해 액세스 제어를 조정하는 것과 관련된 추가 처리 또는 기능을 수행하도록 호환되지 않거나 동작하지 않는다고 결정할 수 있기 때문에 세션을 핸드 오버할 수 있다.
ACT(230)에서, ACT(228)에서의 세션 핸드 오버에 응답하여, 데이터 처리 시스템(102)은 생성된 입력 프롬프트를 제 2 디지털 어시스턴트 디바이스(282)로 전송할 수 있다. 제 2 디지털 어시스턴트 디바이스(282)는 ACT(230)에서 생성된 입력 프롬프트를 수신하는 것에 응답하여 ACT(232)에서 입력 데이터를 제공할 수 있다. ACT(224)에서 데이터 처리 시스템(102)은 계정에 대한 디지털 컴포넌트에 대한 파라미터 및 값을 조정, 업데이트, 수정 또는 추가하기 위해 액세스 제어 데이터베이스를 업데이트할 수 있다.
ACT(234)에서, 데이터 처리 시스템(102)은 디지털 컴포넌트에 대한 제 3 디지털 어시스턴트 디바이스(284)로부터 요청을 수신할 수 있다. 데이터 처리 시스템(102)은 결정 블록(236)에서 제 3 디지털 어시스턴트 디바이스(284)가 디지털 컴포넌트를 실행, 액세스, 수신 또는 사용할 권한이 있는지 여부를 결정할 수 있다. 결정 블록(236)에서, 만약 데이터 처리 시스템이 제 3 디지털 어시스턴트 디바이스(284)가 요청된 디지털 컴포넌트에 대한 액세스 권한이 있다고 결정하면(예를 들어, 액세스 제어 데이터베이스(132)에서 업데이트된 파라미터의 조회에 기초하여), 데이터 처리 시스템(102)은 ACT(238)에서 제 3 디지털 어시스턴트 디바이스(284)로 디지털 컴포넌트를 제공하도록 제 3 자 디바이스(156)에 지시할 수 있다. 제 3 자 디바이스(256)는 ACT 240에서, 실행을 위해 제 3 디지털 어시스턴트 디바이스(284)로 디지털 컴포넌트를 제공할 수 있다.
그러나, 만약 데이터 처리 시스템(102)이 제 3 디지털 어시스턴트 디바이스(284)가 ACT(236)에서 디지털 컴포넌트에 액세스할 권한이 없다고 결정하면(예를 들어, 파라미터는 제 2 디지털 어시스턴트 디바이스에 대한 액세스만 허용하거나 액세스 시간 간격 지리적 경계가 만료됨), 데이터 처리 시스템(102)은 디지털 컴포넌트에 대한 액세스 제어 파라미터를 수정하기 위해 ACT(208)로 진행할 수 있다.
따라서, 데이터 처리 시스템(102)은 제 3 자 디바이스(156) 또는 디지털 컴포넌트의 제공자가 필요하지 않을 수 있도록 상이한 유형의 디지털 컴포넌트 및 상이한 유형의 디지털 어시스턴트 디바이스에 대한 액세스 제어를 중앙에서 관리할 수 있다. 제 3 자 디바이스(156)는 데이터 처리 시스템(102)으로부터 디지털 컴포넌트를 제공하라는 명령에 응답하여 디지털 컴포넌트를 제공할 수 있는 반면, 데이터 처리 시스템(102)은 디지털 어시스턴트 디바이스가 디지털 컴포넌트를 수신하도록 승인되었는지 여부를 결정하고 디지털 어시스턴트 디바이스가 디지털 컴포넌트를 구매하도록 허용하는 기능을 수행한다. 데이터 처리 시스템(102)은 제 1 디지털 어시스턴트 디바이스로부터 획득된 후 제 2 디지털 어시스턴트 디바이스에서 사용될 수 있는 디지털 통화를 사용하여 전자 거래를 수행할 수 있다. 예를 들어, 제 2 디지털 어시스턴트 디바이스는 디지털 통화를 수신할 수 있지만, 사용자는 제 3 디지털 어시스턴트 디바이스를 사용하여 다른 디지털 컴포넌트와 디지털 통화를 소비하거나 교환할 수 있다.
제 1, 제 2 및 제 3 디지털 어시스턴트 디바이스(280, 282, 284)는 상이한 물리적 디바이스, 또는 하나 이상의 디바이스에 의해 실행되거나 제공되는 애플리케이션 또는 서피스일 수 있다.
데이터 처리 시스템은 제 2 디지털 컴포넌트를 실행하기 위해 제 3 클라이언트 디바이스로부터 요청을 수신할 수 있다. 데이터 처리 시스템은 액세스 제어 데이터베이스의 제 2 디지털 컴포넌트에 대해 저장된 파라미터에 기초하여, 제 3 클라이언트 디바이스가 제 2 디지털 컴포넌트를 실행할 권한이 없음을 결정할 수 있다(예를 들어,도 2에 도시된 결정 블록(236)). 데이터 처리 시스템은 제 2 디지털 컴포넌트(예를 들어, 도 2에 도시된 ACT 208, 216, 218, 226, 228, 230)에 대한 입력 프롬프트를 제 2 클라이언트 디바이스로 전송할 수 있다. 데이터 처리 시스템은 제 2 클라이언트 디바이스를 통해 제공된 입력에 응답하여 제 3 클라이언트 디바이스를 승인할 수 있다.
데이터 처리 시스템은 입력 프롬프트내의 복수의 필드를 식별할 수 있다. 데이터 처리 시스템은 복수의 필드 각각에 대한 오디오 쿼리를 생성할 수 있다. 데이터 처리 시스템은 복수의 필드 각각에 대해 생성된 오디오 쿼리들에 응답하는 하나 이상의 입력 오디오 신호를 수신할 수 있다. 예를 들어, 디지털 컴포넌트에 대한 규칙은 오디오로 변환하고 오디오 입력을 수신하도록 구성된 필드들이 있는 입력 프롬프트를 생성하도록 나타낼 수 있다. 데이터 처리 시스템은 제 1 디지털 어시스턴트 디바이스(예를 들어, 도 2에 도시된 ACT(218 및 220))로 입력 프롬프트를 제공하도록 결정할 수 있다.
제 1 클라이언트 디바이스(또는 디지털 어시스턴트 디바이스(280))는 제 1 서피스 또는 사용자 인터페이스 유형을 실행할 수 있고, 제 2 클라이언트 디바이스(또는 디지털 어시스턴트 디바이스(282))는 제 2 서피스 또는 사용자 인터페이스 유형을 실행할 수 있으며, 제 3 클라이언트 디바이스는(또는 디지털 어시스턴트 디바이스(284))는 제 1 서피스 및 제 2 서피스와 상이한 제 3 서피스 또는 사용자 인터페이스 유형을 실행할 수 있다. 데이터 처리 시스템은 제 3 서피스 및 제 2 서피스에 의한 실행을 위해 디지털 컴포넌트를 제공할 수 있다.
하나 이상의 클라이언트 디바이스는 로컬 저장소 또는 메모리에 계정 정보를 저장할 수 있다. 예를 들어, 데이터 처리 시스템은 제 3 클라이언트 디바이스의 메모리에 저장하기 위해, 계정 식별자에 대한 디지털 액세스 제어 데이터베이스의 디지털 컴포넌트에 대한 파라미터를 제공할 수 있다. 데이터 처리 시스템은 입력 프롬프트에 응답하는 제 2 클라이언트 디바이스를 통해 입력된 데이터 패킷에 응답하여, 제 3 클라이언트 디바이스의 메모리에 저장된 디지털 컴포넌트에 대한 파라미터를 업데이트할 수 있다.
도 3은 컴퓨팅 디바이스들 사이에서 액세스 제어를 동기화하는 예시적인 방법의 예시이다. 방법(300)은 도 1에 도시된 시스템(100), 도 2에 도시된 시스템(200), 또는 도 4에 도시된 시스템(400)의 하나 이상의 컴포넌트, 시스템 또는 요소에 의해 수행될 수 있다. 예를 들어, 방법(300)은 데이터 처리 시스템에 의해 수행될 수 있다. ACT(302)에서, 데이터 처리 시스템은 제 1 디바이스로부터 요청을 수신할 수 있다. 데이터 처리 시스템은 계정 식별자와 링크된 제 1 클라이언트 디바이스의 센서에 의해 검출된 입력 오디오 신호를 포함하는 데이터 패킷을 수신할 수 있다. 데이터 처리 시스템은 자연어 처리 기술에 기초하여 디지털 컴포넌트에 대한 요청 및 그 요청에 대응하는 하나 이상의 키워드를 식별하기 위해 입력 오디오 신호를 포함하는 데이터 패킷을 파싱할 수 있다. 데이터 처리 시스템은 제 1 클라이언트 디바이스와 세션을 설정할 수 있다. 데이터 처리 시스템은 디지털 액세스 제어 데이터베이스에 저장된 디지털 컴포넌트에 대한 정책(또는 규칙)에 기초하여, 계정 식별자와 링크된 제 1 클라이언트 디바이스에 의한 디지털 컴포넌트에 대한 요청에 응답하는 필드들이 있는 입력 프롬프트를 생성할 수 있다.
ACT(304)에서, 데이터 처리 시스템은 세션을 제 2 디바이스로 핸드 오버할 수 있다. 예를 들어, 데이터 처리 시스템은 입력 프롬프트가 제 1 클라이언트 디바이스와 호환되지 않는지 결정할 수 있다. 데이터 처리 시스템은 입력 프롬프트가 제 1 클라이언트 디바이스와 호환되지 않는다는 결정에 응답하여, 제 1 클라이언트 디바이스와 링크된 계정 식별자와 링크된 제 2 클라이언트 디바이스의 상태를 식별할 수 있다. 데이터 처리 시스템은 세션 전송 컴포넌트에 의해 식별된 상태에 기초하여 입력 프롬프트가 제 2 클라이언트 디바이스와 호환되는지 결정할 수 있다. 데이터 처리 시스템은 결정에 응답하여 제 2 클라이언트 디바이스로의 세션의 핸드 오버를 수행하고 제 1 클라이언트 디바이스와의 세션의 일부를 종료할 수 있다. 데이터 처리 시스템은 핸드 오버에 응답하여 입력 프롬프트를 제 2 클라이언트 디바이스로 전송할 수 있다.
ACT(306)에서, 데이터 처리 시스템은 액세스 제어 데이터베이스를 수정할 수 있다. 예를 들어, 데이터 처리 시스템은 입력 프롬프트에 응답하여 제 2 클라이언트 디바이스를 통해 입력된 데이터 패킷을 수신할 수 있다. 데이터 처리 시스템은 제 2 클라이언트 디바이스를 통해 입력된 데이터 패킷에 기초하여, 계정 식별자에 대한 디지털 액세스 제어 데이터베이스에 저장된 디지털 컴포넌트에 대한 파라미터를 수정할 수 있다.
ACT(308)에서, 데이터 처리 시스템은 제 3 디바이스로부터 요청을 수신할 수 있다. 데이터 처리 시스템은 계정 식별자와 링크된 제 3 클라이언트 디바이스에서 디지털 컴포넌트를 실행하라는 요청을 수신할 수 있다. ACT(310)에서 데이터 처리 시스템은 디지털 컴포넌트를 제 3 디바이스로 제공할 수 있다. 데이터 처리 시스템은 계정 식별자에 대한 디지털 액세스 제어 데이터베이스에 저장된 디지털 컴포넌트에 대한 파라미터의 액세스 컨트롤러 컴포넌트에 의한 검증 및 디지털 컴포넌트가 제 3 클라이언트 디바이스와 호환된다는 호환성 검사기 컴포넌트의 결정에 응답하여, 제 3 클라이언트 디바이스에 의한 실행을 위해 디지털 컴포넌트를 제공할 수 있다.
도 4는 예시적인 컴퓨터 시스템(400)의 블록도이다. 컴퓨터 시스템 또는 컴퓨팅 디바이스(400)는 시스템(100) 또는 데이터 처리 시스템(102)과 같은 그의 컴포넌트들, 또는 시스템(600) 또는 상태 엔진(634)과 같은 그의 컴포넌트들을 포함하거나 구현하는데 사용될 수 있다. 데이터 처리 시스템(102)은 지능형 개인 어시스턴트 또는 음성 기반 디지털 어시스턴트를 포함할 수 있다. 컴퓨팅 시스템(400)은 정보를 전달하기 위한 버스(405) 또는 다른 통신 컴포넌트 및 정보를 처리하기 위해 버스(405)에 연결된 프로세서(410) 또는 처리 회로를 포함한다. 컴퓨팅 시스템(400)은 또한 정보를 처리하기 위해 버스에 연결된 하나 이상의 프로세서(410) 또는 처리 회로를 포함할 수 있다. 컴퓨팅 시스템(400)은 또한 정보를 저장하기 위해 버스(405)에 연결된 랜덤 액세스 메모리(RAM) 또는 다른 동적 저장 디바이스와 같은 메인 메모리(415) 및 프로세서(410)에 의해 실행될 명령들을 포함한다. 메인 메모리(415)는 데이터 저장소(145)이거나 이를 포함할 수 있다. 메인 메모리(415)는 또한 프로세서(410)에 의한 명령들의 실행 동안 위치 정보, 임시 변수, 또는 다른 중간 정보를 저장하는데 사용될 수 있다. 컴퓨팅 시스템(400)은 프로세서(410)에 대한 정적 정보 및 명령들을 저장하기 위해 버스(405)에 결합된 판독 전용 메모리(ROM)(420) 또는 다른 정적 저장 디바이스를 더 포함할 수 있다. 고체 상태 디바이스, 자기 디스크 또는 광 디스크와 같은 저장 디바이스(425)는 정보 및 명령들을 지속적으로 저장하기 위해 버스(405)에 연결될 수 있다. 저장 디바이스(425)는 데이터 저장소(145)를 포함하거나 그의 일부일 수 있다.
컴퓨팅 시스템(400)은 사용자에게 정보를 표시하기 위해 버스(405)를 통해 액정 디스플레이 또는 액티브 매트릭스 디스플레이와 같은 디스플레이(435)에 연결될 수 있다. 영숫자 및 다른 키들을 포함하는 키보드와 같은 입력 디바이스(430)는 정보 및 커맨드 선택을 프로세서(410)에 전달하기 위해 버스(405)에 연결될 수 있다. 입력 디바이스(430)는 터치 스크린 디스플레이(435)를 포함할 수 있다. 입력 디바이스(430)는 또한 방향 정보 및 커맨드 선택을 프로세서(410)에 전달하고 디스플레이(435)상의 커서 이동을 제어하기 위해 마우스, 트랙볼 또는 커서 방향 키들과 같은 커서 컨트롤을 포함할 수 있다. 디스플레이(435)는 예를 들어 데이터 처리 시스템(102), 클라이언트 컴퓨팅 디바이스(140) 또는 도 1의 다른 컴포넌트의 일부일 수 있다.
본 명세서에 설명된 프로세스, 시스템 및 방법은 메인 메모리(415)에 포함된 명령들의 배열을 실행하는 프로세서(410)에 응답하여 컴퓨팅 시스템(400)에 의해 구현될 수 있다. 이러한 명령들은 저장 디바이스(425)와 같은 다른 컴퓨터 판독 가능 매체로부터 메인 메모리(415)로 판독될 수 있다. 메인 메모리(415)에 포함된 명령들의 배열의 실행은 컴퓨팅 시스템(400)으로 하여금 본 명세서에 설명된 예시적인 프로세스들을 수행하게 한다. 다중 처리 배열의 하나 이상의 프로세서는 또한 메인 메모리(415)에 포함된 명령들을 실행하기 위해 사용될 수 있다. 하드 와이어 회로는 본 명세서에 설명된 시스템 및 방법과 함께 소프트웨어 명령 대신 또는 이와 조합하여 사용될 수 있다. 본 명세서에 설명된 시스템 및 방법은 하드웨어 회로 및 소프트웨어의 특정 조합으로 제한되지 않는다.
예시적인 컴퓨팅 시스템이 도 4에서 설명되었지만, 본 명세서에서 설명된 동작들을 포함하는 주제는 본 명세서에 개시된 구조 및 그 구조적 등가물을 포함하거나 이들 중 하나 이상의 조합을 포함하는 다른 유형의 디지털 전자 회로, 또는 컴퓨터 소프트웨어, 펌웨어 또는 하드웨어에서 구현될 수 있다.
본 명세서에서 논의된 시스템이 사용자에 관한 개인 정보를 수집하거나 개인 정보를 사용할 수 있는 상황의 경우, 사용자는 개인 정보(예를 들어, 사용자의 소셜 네트워크, 소셜 액션 또는 활동, 사용자의 선호도 또는 사용자의 위치에 관한 정보)를 수집할 수 있는 프로그램 또는 기능을 제어하거나 사용자와 더 관련이 있을 수 있는 컨텐츠 서버 또는 다른 데이터 처리 시스템으로부터 콘텐츠를 수신할지 여부 또는 방법을 제어할 수 있는 기회를 제공받을 수 있다. 또한, 소정 데이터는 파라미터 생성시 개인 식별 정보가 제거될 수 있도록 저장 또는 사용되기 전에 하나 이상의 방법으로 익명화될 수 있다. 예를 들어, 사용자의 신원은 개인 식별 정보가 사용자에 대해 결정되지 않도록 익명화될 수 있거나, 사용자의 지리적 위치는 사용자의 특정 위치가 결정될 수 없도록 위치 정보가 획득된 곳(예를 들어, 도시, 우편 번호 또는 주 수준)으로 일반화될 수 있다. 따라서, 사용자는 자신에 대한 정보를 수집하고 컨텐츠 서버에서 사용하는 방법을 제어할 수 있다.
본 명세서에 기술된 주제 및 동작들은 본 명세서에 개시된 구조 및 이들의 구조적 등가물을 포함하는 디지털 전자 회로, 또는 컴퓨터 소프트웨어, 펌웨어 또는 하드웨어 또는 이들 중 하나 이상의 조합으로 구현될 수 있다. 본 명세서에 기술된 주제는 하나 이상의 컴퓨터 프로그램, 예를 들어, 하나 이상의 컴퓨터 프로그램 명령의 회로로서 구현될 수 있고, 데이터 처리 장치에 의해 실행되거나 그 동작을 제어하기 위해 하나 이상의 컴퓨터 저장 매체에 인코딩된다. 대안으로 또는 추가적으로, 프로그램 명령들은 인공적으로 생성된 전파 신호, 예를 들어 데이터 처리 장치에 의해 실행하기 위해 적합한 수신기 장치로 전송하기 위한 정보를 인코딩하기 위해 생성되는 기계 생성 전기, 광학 또는 전자기 신호에 인코딩될 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독 가능 저장 디바이스, 컴퓨터 판독 가능 저장 기판, 랜덤 또는 직렬 액세스 메모리 어레이 또는 디바이스, 또는 이들 중 하나 이상의 조합일 수 있거나 이에 포함될 수 있다. 컴퓨터 저장 매체는 전파 신호는 아니지만, 컴퓨터 저장 매체는 인공적으로 생성된 전파 신호로 인코딩된 컴퓨터 프로그램 명령의 소스 또는 목적지일 수 있다. 컴퓨터 저장 매체는 또한 하나 이상의 개별 컴포넌트 또는 매체(예를 들어, 다수의 CD, 디스크 또는 다른 저장 디바이스)일 수 있거나 그에 포함될 수 있다. 본 명세서에서 설명되는 동작들은 하나 이상의 컴퓨터 판독 가능 저장 디바이스에 저장되거나 다른 소스로부터 수신된 데이터에 대한 데이터 처리 장치에 의해 수행되는 동작으로서 구현 될 수 있다.
"데이터 처리 시스템", "컴퓨팅 디바이스", "컴포넌트" 또는 "데이터 처리 장치"라는 용어는 예로서 프로그램 가능 프로세서, 컴퓨터, 시스템 온 칩, 또는 다수의 것, 또는 전술한 것의 조합을 포함하여 데이터를 처리하기 위한 다양한 장치, 디바이스 및 머신을 포함한다. 장치는 특수 목적의 논리 회로, 예를 들어 FPGA (Field Programmable Gate Array) 또는 ASIC(application-specific integrated circuit)을 포함할 수 있다. 장치는 또한 하드웨어 외에, 문제의 컴퓨터 프로그램에 대한 실행 환경을 생성하는 코드, 예를 들어 프로세서 펌웨어, 프로토콜 스택, 데이터베이스 관리 시스템, 운영 체제, 크로스 플랫폼 런타임 환경, 가상 머신 또는 이들 중 하나 이상의 조합을 구성하는 코드일 수 있다. 장치 및 실행 환경은 웹 서비스, 분산 컴퓨팅 및 그리드 컴퓨팅 인프라와 같은 다양한 컴퓨팅 모델 인프라를 실현할 수 있다. 예를 들어, 다이렉트 액션 API(110), 컨텐츠 선택기 컴포넌트(120)), 또는 NLP 컴포넌트(118) 및 다른 데이터 처리 시스템(102) 컴포넌트는 하나 이상의 데이터 처리 장치, 시스템, 컴퓨팅 디바이스 또는 프로세서를 포함하거나 공유할 수 있다.
컴퓨터 프로그램(프로그램, 소프트웨어, 소프트웨어 애플리케이션, 앱, 스크립트 또는 코드로도 알려짐)은 컴파일 또는 해석된 언어, 선언적 또는 절차적 언어를 포함하는 임의의 형태의 프로그래밍 언어로 작성될 수 있으며, 독립형 프로그램 또는 모듈, 컴포넌트, 서브 루틴, 객체, 또는 컴퓨팅 환경에서 사용하기에 적합한 기타 유닛을 포함하여 임의의 형태로 배포될 수 있다. 컴퓨터 프로그램은 파일 시스템의 파일에 해당할 수 있다. 프로그램은 다른 프로그램 또는 데이터(예를 들어, 마크 업 언어 문서에 저장된 하나 이상의 스크립트)를 보유하는 파일의 일부, 문제의 프로그램 전용의 단일 파일 또는 다수의 조정된 파일(예를 들어, 하나 이상의 모듈, 서브 프로그램 또는 코드의 일부)에 저장될 수 있다. 컴퓨터 프로그램은 하나의 컴퓨터 또는 한 사이트에 위치하거나 여러 사이트에 분산되어 있고 통신 네트워크로 상호 연결된 여러 컴퓨터에서 실행되도록 배포될 수 있다.
본 명세서에 기술된 프로세스 및 논리 흐름은 입력 데이터에 대해 동작하고 출력을 생성함으로써 동작을 수행하기 위해 하나 이상의 컴퓨터 프로그램(예를 들어, 데이터 처리 시스템(102)의 컴포넌트)을 실행하는 하나 이상의 프로그램 가능 프로세서에 의해 수행될 수 있다. 프로세스 및 논리 흐름은 또한 FPGA(필드 프로그램 가능 게이트 어레이) 또는 ASIC(애플리케이션 특정 집적 회로)과 같은 특수 목적 논리 회로로서 구현될 수 있으며 장치 또한 특수 목적 논리 회로로서 구현될 수 있다. 컴퓨터 프로그램 명령 및 데이터를 저장하기에 적합한 디바이스는 반도체 메모리 디바이스(예컨대, EPROM, EEPROM 및 플래시 메모리 디바이스)를 포함하여 모든 형태의 비 휘발성 메모리, 매체 및 메모리 디바이스를 포함한다. 프로세서 및 메모리는 특수 목적 논리 회로에 의해 보완되거나 통합될 수 있다.
본 명세서에 기술된 주제는 백엔드 컴포넌트(에컨대, 데이터 서버), 미들웨어 컴포넌트(예컨대, 애플리케이션 서버) 또는 프론트 엔드 컴포넌트(예컨대, 사용자가 본 명세서에 기술된 주제의 구현 상호 작용할 수 있는 그래픽 사용자 인터페이스 또는 웹 브라우저를 갖는 클라이언트 컴퓨터), 또는 하나 이상의 이러한 백엔드, 미들웨어 또는 프론트 엔드 컴포넌트의 임의의 조합을 포함하는 컴퓨팅 시스템에서 구현될 수 있다. 시스템의 컴포넌트는 임의의 형태 또는 매체의 디지털 데이터 통신, 예를 들어 통신 네트워크에 의해 상호 연결될 수 있다. 통신 네트워크는 근거리 통신망("LAN") 및 광역 통신망("WAN"), 인터-네트워크(예를 들어, 인터넷) 및 피어-투-피어 네트워크(예를 들어, 애드혹 피어-투-피어 네트워크)를 포함할 수 있다.
시스템(100) 또는 시스템(400)과 같은 컴퓨팅 시스템은 클라이언트 및 서버를 포함할 수 있다. 클라이언트와 서버는 일반적으로 서로 떨어져 있고 일반적으로 통신 네트워크(예를 들어, 네트워크(105))를 통해 상호 작용한다. 클라이언트와 서버의 관계는 각 컴퓨터에서 실행되고 서로 클라이언트-서버 관계를 갖는 컴퓨터 프로그램으로 인해 발생한다. 일부 구현에서, 서버는 (예를 들어, 클라이언트 디바이스와 상호 작용하는 사용자에게 데이터를 표시하고 사용자로부터 사용자 입력을 수신하기 위해) 데이터(예를 들어, 디지털 컴포넌트를 나타내는 데이터 패킷)를 클라이언트 디바이스로 전송한다. 클라이언트 디바이스에서 생성된 데이터(예를 들어, 사용자 상호 작용의 결과)는 서버에서 클라이언트 디바이스로부터 수신될 수 있다(예를 들어, 로컬 컴퓨팅 디바이스(140) 또는 컨텐츠 제공자 컴퓨팅 디바이스(154) 또는 제 3 자 디바이스(156)로부터 데이터 처리 시스템(102)에 의해 수신된다).
동작들이 특정 순서로 도면에 도시되어 있지만, 이러한 동작은 도시된 특정 순서로 또는 순차적인 순서로 수행될 필요가 없으며, 도시된 모든 동작이 수행될 필요는 없다. 본 명세서에 설명된 동작들은 다른 순서로 수행될 수 있다.
다양한 시스템 컴포넌트의 분리는 모든 구현에서 분리를 필요로하지 않으며, 설명된 프로그램 컴포넌트는 단일 하드웨어 또는 소프트웨어 제품에 포함될 수 있다. 예를 들어, NLP 컴포넌트(108) 또는 컨텐츠 선택기 컴포넌트(120)는 단일 컴포넌트, 앱 또는 프로그램, 또는 하나 이상의 처리 회로를 갖는 논리 디바이스, 또는 데이터 처리 시스템(102)의 하나 이상의 서버의 일부일 수 있다.
이제 일부 예시적인 구현을 설명하였지만, 전술한 내용은 예시적이며 제한적인 것이 아니라 예시로서 제시된 것임이 분명하다. 특히, 본 명세서에 제시된 많은 예는 방법 동작 또는 시스템 요소의 특정 조합을 포함하지만, 이러한 동작 및 이러한 요소는 동일한 목적을 달성하기 위해 다른 방식으로 결합될 수 있다. 하나의 구현과 관련하여 논의된 동작, 요소 및 기능은 다른 구현 또는 구현의 유사한 역할에서 배제되도록 의도되지 않는다.
본 명세서에서 사용된 어구 및 용어는 설명을 위한 것이며 제한하는 것으로 간주되어서는 안된다. "포함하는(including)" "포함하는(comprising)" "갖는 (having)" "포함하는(involving)" "~로 특징지어진(characterized by)"및 "~것을 특징으로 하는(characterized in that)" 및 그의 변형의 사용은 그 이후에 나열된 아이템, 그의 등가물 및 추가 아이템뿐만 아니라 이후에 배타적으로 나열된 아이템으로 구성된 대안적인 구현을 포함하는 것을 의미한다. 일 구현에서, 본 명세서에 설명된 시스템 및 방법은 하나 이상의 설명된 요소, 동작 또는 컴포넌트의 각각의 하나 이상의 조합으로 구성된다.
본 명세서에서 단수로 언급된 시스템 및 방법의 구현 또는 요소 또는 동작에 대한 임의의 참조는 또한 이러한 복수의 요소를 포함하는 구현을 포함할 수 있으며, 본 명세서에서의 임의의 구현 또는 요소 또는 동작에 대한 복수의 참조는 또한 단일 요소만을 포함하는 구현을 포함할 수 있다. 단수 또는 복수 형태의 참조는 현재 개시된 시스템 또는 방법, 이들의 컴포넌트, 동작 또는 요소를 단일 또는 복수 구성으로 제한하려는 것이 아니다. 임의의 정보, 동작 또는 요소를 기반으로 하는 임의의 동작 또는 요소에 대한 언급은 동작 또는 요소가 정보, 동작 또는 요소에 적어도 부분적으로 기반하는 구현을 포함할 수 있다.
본 명세서에 개시된 임의의 구현은 임의의 다른 구현 또는 실시예와 결합될 수 있고, "구현", "일부 구현", "하나의 구현"등은 반드시 상호 배타적일 필요는 없으며, 구현과 관련하여 설명된 특정 특징, 구조 또는 특성이 적어도 하나의 구현 또는 실시예에 포함될 수 있음을 나타내도록 의도된다. 본 명세서에서 사용된 용어는 반드시 모두 동일한 구현을 지칭하는 것은 아니다. 임의의 구현은 본 명세서에 개시된 양태 및 구현과 일치하는 임의의 방식으로 임의의 다른 구현과 임의의 다른 구현과 결합될 수 있다.
"또는"에 대한 언급은 "또는"을 사용하여 설명된 임의의 용어가 설명된 단일, 하나 이상 및 모든 용어 중 어느 하나를 나타낼 수 있도록 포괄적인 것으로 해석될 수 있다. 예를 들어 "A와 B중 적어도 하나"에 대한 참조에는 단지 'A'와 단지'B'뿐만 아니라 'A'와 'B' 모두가 포함될 수 있다. "포함하는" 또는 다른 공개 용어와 함께 사용되는 이러한 참조는 추가 항목을 포함할 수 있다.
도면, 상세한 설명 또는 임의의 청구 범위의 기술적 특징 뒤에 참조 부호가 오는 경우, 그 참조 부호는 도면의 명료도, 상세 설명 및 청구 범위를 증가시키기 위해 포함되었다. 따라서, 참조 부호나 그의 부재는 청구 범위의 범위에 제한적인 영향을 미치지 않는다.
본 명세서에 설명된 시스템 및 방법은 그 특성에서 벗어나지 않고 다른 특정 형태로 구현될 수 있다. 전술한 구현은 설명된 시스템 및 방법을 제한하는 것이 아니라 예시적인 것이다. 따라서, 본 명세서에 설명된 시스템 및 방법의 범위는 전술한 설명이 아닌 첨부된 청구 범위에 의해 표시되며, 청구 범위의 의미 및 등가 범위 내에서 발생하는 변경이 본 명세서에 포함된다.

Claims (1)

  1. 동작을 처리하기 위해 디바이스간 액세스 제어를 동기화하는 시스템으로서,
    하나 이상의 프로세서에 결합된 메모리를 포함하는 데이터 처리 시스템을 포함하여:
    데이터 처리 시스템의 인터페이스를 통해, 계정 식별자와 링크된 제1 클라이언트 디바이스의 센서에 의해 검출된 입력 오디오 신호를 포함하는 데이터 패킷을 수신하고;
    자연어 처리 기술에 기초하여, 디지털 컴포넌트 요청 및 그 요청에 대응하는 하나 이상의 키워드를 식별하기 위해 입력 오디오 신호를 포함하는 데이터 패킷을 파싱하고;
    제1 클라이언트 디바이스와 세션을 설정(establish)하고, 디지털 액세스 제어 데이터베이스에 저장된 디지털 컴포넌트에 대한 정책에 기초하여, 계정 식별자와 링크된 제1 클라이언트 디바이스에 의한 디지털 컴포넌트 요청에 응답하는 필드를 갖는 입력 프롬프트를 생성하고;
    입력 프롬프트에 응답하여, 제1 클라이언트 디바이스와 링크된 계정 식별자와 링크되는 제2 클라이언트 디바이스로 세션을 핸드오버하기로 결정하고;
    핸드오버에 응답하여, 입력 프롬프트를 제2 클라이언트 디바이스로 전송하고;
    입력 프롬프트에 응답하여 제2 클라이언트 디바이스를 통해 입력된 데이터 패킷을 수신하고;
    제2 클라이언트 디바이스를 통해 입력된 데이터 패킷에 기초하여, 계정 식별자에 대해 디지털 액세스 제어 데이터베이스에 저장된 디지털 컴포넌트에 대한 파라미터를 수정하고; 그리고
    파라미터의 수정에 응답하여, 실행을 위해 디지털 컴포넌트를 제공하는 것을 특징으로 하는 디바이스 간의 액세스 제어를 동기화하는 시스템.
KR1020227012703A 2018-05-07 2019-02-13 컴퓨팅 디바이스간의 액세스 제어 동기화 KR102513999B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201862668218P 2018-05-07 2018-05-07
US62/668,218 2018-05-07
KR1020207024632A KR102389331B1 (ko) 2018-05-07 2019-02-13 컴퓨팅 디바이스간의 액세스 제어 동기화
PCT/US2019/017806 WO2019216969A1 (en) 2018-05-07 2019-02-13 Synchronizing access controls between computing devices

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020207024632A Division KR102389331B1 (ko) 2018-05-07 2019-02-13 컴퓨팅 디바이스간의 액세스 제어 동기화

Publications (2)

Publication Number Publication Date
KR20220051427A true KR20220051427A (ko) 2022-04-26
KR102513999B1 KR102513999B1 (ko) 2023-03-24

Family

ID=65729423

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020227012703A KR102513999B1 (ko) 2018-05-07 2019-02-13 컴퓨팅 디바이스간의 액세스 제어 동기화
KR1020207024632A KR102389331B1 (ko) 2018-05-07 2019-02-13 컴퓨팅 디바이스간의 액세스 제어 동기화

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020207024632A KR102389331B1 (ko) 2018-05-07 2019-02-13 컴퓨팅 디바이스간의 액세스 제어 동기화

Country Status (6)

Country Link
US (3) US10999281B2 (ko)
EP (2) EP3596652B1 (ko)
JP (2) JP7004834B2 (ko)
KR (2) KR102513999B1 (ko)
CN (2) CN110753927B (ko)
WO (1) WO2019216969A1 (ko)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11694256B1 (en) 2013-10-10 2023-07-04 Wells Fargo Bank, N.A. Mobile enabled activation of a bank account
US10026226B1 (en) * 2014-06-10 2018-07-17 Ripple Inc Rendering an augmented reality object
US10930038B2 (en) 2014-06-10 2021-02-23 Lab Of Misfits Ar, Inc. Dynamic location based digital element
US10529015B1 (en) 2016-04-01 2020-01-07 Wells Fargo Bank, N.A. Systems and methods for onboarding customers through a short-range communication channel
US11949677B2 (en) * 2019-04-23 2024-04-02 Microsoft Technology Licensing, Llc Resource access based on audio signal
US11316867B2 (en) 2019-04-23 2022-04-26 Microsoft Technology Licensing, Llc Generated audio signal granting access to resource
US11281794B2 (en) * 2019-09-26 2022-03-22 Microsoft Technology Licensing, Llc Fine grained access control on procedural language for databases based on accessed resources
US11658966B2 (en) * 2019-12-17 2023-05-23 Fisher-Rosemount Systems, Inc. Personnel profiles and fingerprint authentication for configuration engineering and runtime applications
CN111709052B (zh) * 2020-06-01 2021-05-25 支付宝(杭州)信息技术有限公司 一种隐私数据识别和处理方法、装置、设备和可读介质
US20220157300A1 (en) * 2020-06-09 2022-05-19 Google Llc Generation of interactive audio tracks from visual content
US20230033622A1 (en) * 2021-08-02 2023-02-02 Microsoft Technology Licensing, Llc Context-aware observational entity recognition and capture

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170028628A (ko) * 2015-09-04 2017-03-14 삼성전자주식회사 음성인식장치, 음성인식장치의 구동방법 및 컴퓨터 판독가능 기록매체
US20170237801A1 (en) * 2004-06-30 2017-08-17 Google Inc. Device configuration-based function delivery
US20170237613A1 (en) * 2004-06-30 2017-08-17 Google Inc. Device configuration-based function delivery
US20170257456A1 (en) * 2013-01-31 2017-09-07 Google Inc. Secondary transmissions of packetized data

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5546444A (en) * 1994-03-11 1996-08-13 Bellsouth Corporation Methods and apparatus for communicating data via a cellular network control channel
JPH04338817A (ja) * 1991-05-16 1992-11-26 Sony Corp 電子機器の制御装置及び制御方法
JPH089053A (ja) * 1994-06-15 1996-01-12 Casio Comput Co Ltd 情報転送方法及び情報転送システム並びにそれに用いられる情報転送装置、情報受信端末
TW396254B (en) 1997-06-20 2000-07-01 Exxon Production Research Co Pipeline distribution network systems for transportation of liquefied natural gas
JP4741267B2 (ja) * 2005-03-28 2011-08-03 ソニー株式会社 コンテンツ推薦システム、通信端末およびコンテンツ推薦方法
US8265617B2 (en) * 2007-04-10 2012-09-11 Research In Motion Limited Media transfer and control system
JP2008311855A (ja) * 2007-06-13 2008-12-25 Toshiba Corp 通信端末装置
KR101743122B1 (ko) * 2009-11-27 2017-06-15 구글 인코포레이티드 클라이언트-서버 입력 방법 편집기 구조
US9043474B2 (en) * 2010-01-20 2015-05-26 Microsoft Technology Licensing, Llc Communication sessions among devices and interfaces with mixed capabilities
US9123345B2 (en) * 2013-03-14 2015-09-01 Honda Motor Co., Ltd. Voice interface systems and methods
JP2015179313A (ja) * 2014-03-18 2015-10-08 株式会社リコー データ転送システム、情報処理装置、データ転送方法およびプログラム
CN105279168B (zh) * 2014-06-24 2019-04-23 华为技术有限公司 支持自然语言的数据查询方法、开放平台及用户终端
US20160070580A1 (en) 2014-09-09 2016-03-10 Microsoft Technology Licensing, Llc Digital personal assistant remote invocation
US10425811B2 (en) * 2015-08-24 2019-09-24 Ayla Networks, Inc. Linked user accounts for an internet-of-things platform
JP6703822B2 (ja) * 2015-11-27 2020-06-03 ヤフー株式会社 選択装置、選択方法、及び選択プログラム
US10852955B2 (en) * 2015-12-29 2020-12-01 EMC IP Holding Company LLC Method and system for accessing data objects stored in a storage system using object descriptors allocated by clients
KR102117584B1 (ko) * 2016-01-29 2020-06-26 구글 엘엘씨 로컬 디바이스 인증
CN108604254B (zh) 2016-05-13 2022-04-12 谷歌有限责任公司 语音控制的隐藏字幕显示
US10074369B2 (en) * 2016-09-01 2018-09-11 Amazon Technologies, Inc. Voice-based communications

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170237801A1 (en) * 2004-06-30 2017-08-17 Google Inc. Device configuration-based function delivery
US20170237613A1 (en) * 2004-06-30 2017-08-17 Google Inc. Device configuration-based function delivery
US20170257456A1 (en) * 2013-01-31 2017-09-07 Google Inc. Secondary transmissions of packetized data
KR20170028628A (ko) * 2015-09-04 2017-03-14 삼성전자주식회사 음성인식장치, 음성인식장치의 구동방법 및 컴퓨터 판독가능 기록매체

Also Published As

Publication number Publication date
WO2019216969A1 (en) 2019-11-14
CN110753927B (zh) 2023-08-11
EP3596652B1 (en) 2021-11-10
JP2022051741A (ja) 2022-04-01
US10999281B2 (en) 2021-05-04
US20230198988A1 (en) 2023-06-22
JP2021520531A (ja) 2021-08-19
KR20200115589A (ko) 2020-10-07
EP3964994B1 (en) 2023-07-19
CN110753927A (zh) 2020-02-04
CN117056947A (zh) 2023-11-14
US11855988B2 (en) 2023-12-26
JP7241934B2 (ja) 2023-03-17
US20210051148A1 (en) 2021-02-18
EP3596652A1 (en) 2020-01-22
JP7004834B2 (ja) 2022-01-21
EP3964994A1 (en) 2022-03-09
KR102513999B1 (ko) 2023-03-24
US20210250354A1 (en) 2021-08-12
KR102389331B1 (ko) 2022-04-21
US11595391B2 (en) 2023-02-28

Similar Documents

Publication Publication Date Title
KR102389331B1 (ko) 컴퓨팅 디바이스간의 액세스 제어 동기화
JP7163253B2 (ja) オーディオベースのデータ構造生成
AU2020203865B2 (en) System for securing a personal digital assistant with stacked data structures
KR102287862B1 (ko) 미등록 리소스를 사용한 오디오-기반의 네트워크 세션 수립
WO2021107951A1 (en) Interfacing with applications via dynamically updating natural language processing
US20230186911A1 (en) Delivery of Compatible Supplementary Content via a Digital Assistant
JP7339310B2 (ja) 登録されていないリソースによるオーディオベースのネットワークセッションの確立

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