KR102116959B1 - 대화형 보조 모듈들에 의한 액세스의 조건 규정 - Google Patents

대화형 보조 모듈들에 의한 액세스의 조건 규정 Download PDF

Info

Publication number
KR102116959B1
KR102116959B1 KR1020197021315A KR20197021315A KR102116959B1 KR 102116959 B1 KR102116959 B1 KR 102116959B1 KR 1020197021315 A KR1020197021315 A KR 1020197021315A KR 20197021315 A KR20197021315 A KR 20197021315A KR 102116959 B1 KR102116959 B1 KR 102116959B1
Authority
KR
South Korea
Prior art keywords
user
auxiliary module
access
interactive auxiliary
interactive
Prior art date
Application number
KR1020197021315A
Other languages
English (en)
Other versions
KR20190099275A (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 KR20190099275A publication Critical patent/KR20190099275A/ko
Application granted granted Critical
Publication of KR102116959B1 publication Critical patent/KR102116959B1/ko

Links

Images

Classifications

    • 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
    • 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
    • G06F21/6209Protecting access to data via a platform, e.g. using keys or access control rules to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself
    • 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
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • 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
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • G06F9/453Help systems
    • 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
    • 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/105Multiple levels of security
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles
    • 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/2113Multi-level security, e.g. mandatory access control

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Automation & Control Theory (AREA)
  • Computing Systems (AREA)
  • Medical Informatics (AREA)
  • Human Computer Interaction (AREA)
  • User Interface Of Digital Computer (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

대화형 보조 모듈들이, 사용자들에 의해 제어되는 리소스들에 대한 액세스를 제공하는 것을 자동으로 허용하는 기술들이 여기에 서술된다. 다양한 구현들에서, 대화형 보조 모듈은 제2 사용자에 의해 제어되는 주어진 리소스에 대한 액세스를 위해 제1 사용자에 의한 요청을 수신할 수 있다. 대화형 보조 모듈은 제1 사용자와 제2 사용자 간의 관계의 속성(들)뿐 아니라 대화형 보조 모듈이 주어진 리소스에 대한 액세스를 제공하기 위한 사전 허가를 갖는 다른 사용자(들)와 제2 사용자 사이의 다른 관계(들)의 속성(들)을 결정할 수 있다. 대화형 보조 모듈은 상기 관계의 속성(들)을 다른 관계(들)의 속성(들)과 비교할 수 있고, 그리고 비교에 기초하여, 주어진 리소스에 대한 제1 사용자 액세스를 제공하는 허가를 조건부로 가정할 수 있다. 다양한 실시예들은 대화형 보조 모듈에 의해 수행되는 컴퓨터로 구현되는 프로세스들에서 보안을 관리하는 기술적 문제에 대한 해결책을 서술한다.

Description

대화형 보조 모듈들에 의한 액세스의 조건 규정
본 발명은 대화형 보조 모듈들에 의한 액세스의 조건 규정에 관한 것이다.
스마트 폰들, 태블릿들, 스마트 시계들 및 독립형 스마트 스피커들과 같은 컴퓨팅 디바이스들 상에 현재 구현된 대화형 보조 모듈들은 통상적으로 컴퓨팅 디바이스에 음성 입력을 제공하는 사람에게 응답하도록 구성된다. 일부 대화형 보조 모듈들은 원격 컴퓨팅 디바이스에서 시작된 (즉, 입력된) 음성 입력에 응답할 수 있고, 이후, 대화형 보조 모듈을 조작하는 컴퓨팅 디바이스에 하나 이상의 네트워크들을 통해 전송될 수 있다.
본 명세서는 대화형 보조 모듈들에 의해 수행되는 컴퓨터로 구현되는 프로세스들에서 보안을 관리하는 기술적 문제에 대한 솔루션을 서술한다. 일반적으로, 대화형 보조 모듈들이 요청 사용자들에게 다른 사용자들(소위, "제어 사용자들")에 의해 제어되는 리소스들에 대한 액세스를 제공하는 것을 자동으로 허용하고, 제어 사용자들에게 먼저 촉구하거나 또는 촉구하지 않도록 하는 다양한 기술에 관한 것이다. 이러한 리소스들은 콘텐트(예를 들어, 문서들, 스케줄들, 리마인더들, 데이터), 통신 채널들(예를 들어, 전화, 텍스트, 화상 회의 등), 신호들(예를 들어, 현재 위치, 궤도, 활동) 등을 포함할 수 있지만, 이에 제한되지 않는다. 이러한 자동 허가 부여는 다양한 방법들로 수행될 수 있다.
다양한 구현들에서, 대화형 보조 모듈들은, 상기 제1 사용자와 상기 제2 사용자 사이의 관계와 상기 제2 사용자와 하나 이상의 다른 사용자들 사이의 하나 이상의 관계들에 기초하여, 제1 사용자(즉, 요구하는 사용자)에게 제2 사용자(즉, 제어 사용자)에 의해 제어되는 리소스에 대한 액세스를 제공하는 허가를 조건부로 가정할 수 있다. 일부 구현들에서, 대화형 보조 모듈은, 제1 사용자는 제1 사용자로서 제2 사용자와 유사한 관계들(즉, 하나 이상의 속성들을 공유하는 관계들)을 갖는 다른 사용자들로서 제2 사용자에 의해 제어되는 리소스들에 유사한 액세스를 가져야함을 추정할 수 있다. 예를 들어, 대화형 보조 모듈이 제2 사용자의 한 동료에게 특정 리소스들의 세트에 대한 액세스를 제공하도록 제2 사용자가 허용한다고 가정하자. 대화형 보조자는, 제2 사용자와 유사한 관계를 갖는 제2 사용자의 다른 동료에게 유사한 자원에 대한 액세스를 제공하는 것이 허용된다고 가정할 수 있다.
일부 구현들에서, 대화형 보조 모듈에 의해 고려될 수 있는 관계들의 속성은 특정 사용자들에게 부여된 허가들의 세트들을 포함할 수 있다. 대화형 보조자가 요청하는 사용자(제어 사용자가 제어하는 리소스에 대한 액세스를 요청한 사용자)와 관련된 제1 세트의 허가들에 액세스할 수 있고 그리고 상기 제1 세트의 각각의 허가는 상기 대화형 보조 모듈이 상기 제어 사용자에 의해 제어되는 리소스에 상기 요청하는 사용자 액세스를 제공할 수 있다고 가정하자. 다양한 구현들에서, 대화형 보조 모듈은 이 제1 세트의 허가들과 다른 사용자(들)와 관련된 허가들의 세트(들)을 비교할 수 있다. 다른 사용자들은 대화형 보조 모듈이 요청하는 사용자가 요청한 리소스에 대한 액세스를 제공하기 위해 사전 허가권을 가진 사용자를 포함할 수 있다. 요청 사용자와 관련된 제1 세트의 허가들이 다른 사용자들과 관련된 하나 이상의 세트들의 허가들과 충분히 유사하면, 상기 대화형 보조 모듈은 요청 사용자에 대한 액세스를 요청된 리소스에 제공할 수 있는 권한이 있다고 가정할 수 있다.
다양한 구현들에서, 제어하는 사용자의 연락처들의 다양한 특징(예를 들어, 사용자 또는 위치에 대해 부여된 권한들)이 추출되어 각 연락처들에 대한 특징 벡터를 형성할 수 있다. 유사하게, 특징 벡터는 요청 사용자와 관련된 (예를 들어, 콘텐츠 데이터로부터 추출된) 피처들에 기초하여 형성될 수 있다. 이후, 임베딩 등과 같은 다양한 기계 학습 기술들은, 예를 들어, 다양한 특징 벡터들 사이의 거리를 결정하기 위해 대화형 보조 모듈에 의해 사용될 수 있다. 이러한 거리들은 해당 사용자들 간의 관계들을 특성화하는 데 사용될 수 있다. 예를 들어, 요청 사용자의 벡터와 제어 사용자의 벡터 사이의 제1 거리(예를 들어, 감소된 차원 공간에서)는, 대화형 보조 모듈이 요청된 리소스에 대한 액세스를 제공하기 위한 사전 허가권을 갖는 다른 사용자의 벡터와 제어 사용자의 벡터 사이의 제2 거리와 비교될 수 있다. 두 거리가 충분히 유사하거나 첫 번째 거리가 두 번째 거리보다 가까운 경우 (더 가까운 관계를 암시하는 경우), 대화형 보조 모듈은 요청한 사용자에게 요청한 리소스에 대한 액세스 권한을 제공할 수 있다고 가정할 수 있다.
위에 언급된 "허가(permission)들"은 다양한 형태로 나타날 수 있다. 일부 구현들에서, 허가들은, 예를 들어, 보기, 수정 등을 위해 문서들, 리마인더들, 해야할 일 목록 등과 같이 제어 사용자에 의해 제어되는 콘텐트에 대한 요청 사용자 액세스를 제공하는 대화형 보조 모듈을 위한 허가들을 포함할 수 있다. 부가적으로 또는 대안으로, 허가들은, 통신 채널, 현재 위치(예를 들어, 제어 사용자의 이동 장치의 위치 좌표 센서에 의해 제공됨), 제어 사용자의 소셜 네트워크 프로파일과 관련된 데이터, 제어 사용자의 개인 정보, 제어 사용자의 계정 등에 요청 사용자 액세스를 제공하기 위해 대화형 보조 모듈에 대한 허가를 포함할 수 있다. 일부 구현들에서, 허가들은, 공유 애플리케이션들을 사용하기 위해 사용자들이 부여한 권한들(예를 들어, 사용자의 현재 위치에 액세스하는 허가), 소셜 네트워킹 애플리케이션들에 대한 허가(예를 들어, 사진/위치에 액세스하는 애플리케이션에 대한 허가, 사진에서 서로 태그)등과 같은 제3자 애플리케이션들과 관련된 허가들을 포함할 수 있다.
대화형 보조 모듈은 제어 사용자에 의해 제어되는 리소스에 대한 액세스를 요청 사용자에게 제공할 허가권을 부여할지를 결정하기 위해 다양한 다른 접근법을 사용할 수 있다. 예를 들어, 일부 구현들에서, 제어 사용자는 복수의 소위 "신뢰 레벨(trust level)들"을 설정할 수 있다(또는 대화형 보조 모듈이 학습을 통해 시간 경과에 따라 자동으로 설정될 수 있다). 각각의 신뢰 레벨은 한 세트의 회원(즉, 제어 사용자의 연락처들, 소셜 미디어 접속들 등) 및 대화형 보조자가 회원들에 관하여 가지는 한 세트의 허가들을 포함할 수 있다.
일부 구현들에서, 요청 사용자는 하나 이상의 기준을 만족시킴으로써 제어 사용자의 주어진 신뢰 레벨에서 회원 자격을 얻을 수 있다. 이러한 기준은 충분한 양의 공유 콘텐츠(예 : 문서, 일정 정보)를 보유하고 있고 제어 사용자가 신뢰 수준에 수동으로 추가하는 등 제어 사용자와 충분한 상호 작용을하는 것을 포함하지만 이에 국한되지는 않는다. 요청 사용자가 제어 사용자에 의해 제어되는 리소스에 대한 액세스를 요청하면, 대화형 보조 모듈은 (i) 어떤 신뢰 레벨이 있다면, 대화 형 보조 모듈이 요청된 리소스에 대한 액세스를 제공하도록 허용하고, (ii) 요청 사용자가 결정된 신뢰 레벨들 중 임의의 멤버인지를 결정할 수 있다. 이러한 결정의 결과에 기초하여, 대화형 보조 모듈은 요청하는 사용자 액세스를 요청된 리소스에 제공할 수 있다.
따라서, 일부 구현들에서, 방법은: 하나 이상의 프로세서들에 의해 동작되는 대화형 보조 모듈(interactive assistant module)에 의해, 제2 사용자에 의해 제어되는 주어진 리소스에 대한 액세스를 위해 제1 사용자에 의한 요청을 수신하는 단계 - 상기 대화형 보조 모듈은 상기 주어진 리소스에 대한 상기 제1 사용자 액세스를 제공하기 위한 사전 허가가 없으며 - 와; 상기 대화형 보조 모듈에 의해, 상기 제1 사용자와 상기 제2 사용자 간의 제1 관계의 하나 이상의 속성들을 결정하는 단계와; 상기 대화형 보조 모듈에 의해, 상기 제2 사용자와 하나 이상의 다른 사용자들 간의 하나 이상의 다른 관계들의 하나 이상의 속성들을 결정하는 단계 - 상기 대화형 보조 모듈은 상기 하나 이상의 다른 사용자들에게 상기 주어진 리소스에 대한 액세스를 제공하기 위한 사전 허가를 가지며 - 와; 상기 대화형 보조 모듈에 의해, 상기 제1 관계의 하나 이상의 속성들을 상기 하나 이상의 다른 관계들의 하나 이상의 속성들과 비교하는 단계와; 상기 비교에 기초하여, 상기 대화형 보조 모듈에 의해, 상기 주어진 리소스에 대한 상기 제1 사용자 액세스를 제공하는 허가를 조건부로 가정하는 단계와; 그리고 상기 조건부 가정에 적어도 부분적으로 기초하여, 상기 대화형 보조 모듈에 의해, 상기 주어진 리소스에 대한 제1 사용자 액세스를 제공하는 단계를 포함할 수 있다.
다양한 구현들에서, 상기 제1 관계의 하나 이상의 속성들을 결정하는 단계는: 상기 대화형 보조 모듈에 의해, 상기 제1 사용자와 연관된 하나 이상의 허가들의 제1 세트를 식별하는 단계를 포함하고, 상기 제1 세트의 각각의 허가는, 상기 대화형 보조 모듈이 상기 제2 사용자에 의해 제어되는 리소스에 상기 제1 사용자 액세스를 제공함을 허용한다.
다양한 구현들에서, 상기 하나 이상의 다른 관계들의 하나 이상의 속성들을 결정하는 단계는: 상기 대화형 보조 모듈에 의해, 상기 하나 이상의 다른 사용자들과 관련된 하나 이상의 허가들의 하나 이상의 추가 세트들을 식별하는 단계를 포함하고, 상기 하나 이상의 추가 세트들의 각각의 세트는 상기 하나 이상의 다른 사용자들의 상이한 사용자와 관련되며, 그리고 각각의 추가 세트의 각각의 허가는 상기 대화형 보조 모듈이 상기 추가 세트와 관련된 사용자에게 상기 허가와 관련된 리소스에 대한 액세스를 제공할 수 있다.
다양한 구현들에서, 상기 비교하는 단계는, 상기 대화형 보조 모듈에 의해, 상기 제1 세트를 상기 하나 이상의 추가 세트들 각각과 비교하는 단계를 포함한다.
다양한 구현들에서, 상기 제1 세트 또는 상기 추가 세트 중 하나 이상의 적어도 하나의 허가는 제3 자 애플리케이션과 연관될 수 있다.
다양한 구현들에서, 방법은 상기 주어진 리소스에 대한 상기 제1 사용자 액세스를 제공하도록 상기 제2 사용자에게 허가를 요청하는 출력을, 상기 대화형 보조 모듈에 의해, 하나 이상의 출력 디바이스들을 통해, 제공하는 단계를 더 포함하고, 상기 주어진 리소스에 대한 액세스는 상기 요청에 대한 응답에 더 기초하여 제공된다. 다양한 구현들에서, 상기 응답은 상기 제2 사용자에 의해 제공된 데이터를 포함할 수 있다.
다양한 구현들에서, 상기 주어진 리소스는 상기 제1 사용자와 상기 제2 사용자 사이의 음성 통신 채널을 포함할 수 있다.
다양한 구현들에서, 상기 제1 관계의 하나 이상의 속성들을 결정하는 단계 및 상기 하나 이상의 다른 관계들의 하나 이상의 속성들을 결정하는 단계는: 상기 제1 사용자, 상기 제2 사용자 및 상기 하나 이상의 다른 사용자들의 속성을 나타내는 복수의 특징 벡터들을 형성하는 단계; 및 하나 이상의 기계 학습 모델들을 사용하여 상기 복수의 특징 벡터들 중 적어도 일부 간의 거리들을 결정하는 단계를 포함하고, 상기 복수의 특징 벡터들의 주어진 쌍 간의 거리는 상기 특징 벡터들의 주어진 쌍에 의해 표현되는 2명의 사용자들 간의 관계를 나타낸다.
다른 양태에서, 방법은, 대화형 보조 모듈에 의해, 제2 사용자에 의해 제어되는 주어진 리소스에 대한 액세스를 위해 제1 사용자에 의한 요청을 수신하는 단계 - 상기 대화형 보조 모듈은 상기 주어진 리소스에 대한 상기 제1 사용자 액세스를 제공하기 위한 사전 허가가 없으며 - 와; 대화형 보조 모듈에 의해, 상기 제1 사용자와 연관된 신뢰 레벨을 결정하는 단계 - 상기 신뢰 레벨은 상기 제1 사용자와 제2 사용자들 사이의 관계의 하나 이상의 속성들에 기초하여 상기 대화형 보조 모듈에 의해 추론되며 - 와; 대화형 보조 모듈에 의해, 상기 신뢰 레벨과 관련된 다른 사용자들에 액세스할 수 있는 제2 사용자에 의해 제어되는 리소스들을 관리하는 하나 이상의 기준을 식별하는 단계와; 그리고 대화형 보조 모듈에 의해, 상기 요청이 상기 하나 이상의 기준을 만족시킨다는 결정에 응답하여 상기 주어진 리소스에 대한 상기 제1 사용자 액세스를 제공하는 단계를 포함할 수 있다.
추가로, 일부 구현들은 메모리 및 메모리에 저장된 명령어들을 실행하도록 동작 가능한 하나 이상의 프로세서들을 포함하는 장치를 포함하며, 상기 명령어들은 전술한 방법들 중 임의의 것을 수행하도록 구성된다. 일부 구현들은 전술한 방법 중 임의의 것을 수행하기 위해 하나 이상의 프로세서들에 의해 실행 가능한 컴퓨터 명령어를 저장하는 비 일시적 컴퓨터 판독 가능 저장 매체를 또한 포함한다.
전술한 개념들 및 본 명세서에서보다 상세하게 기술된 추가적인 개념들의 모든 조합은 본 명세서에 개시된 주제의 일부로서 고려될 수 있음을 이해해야 한다. 예를 들어, 본 명세서의 끝 부분에 나타나는 청구된 주제의 모든 조합들은 본 명세서에 개시된 주제의 부분으로 고려된다.
도 1은 컴퓨터 시스템의 예시적인 아키텍처를 도시한다.
도 2는 예시적인 분산형 음성 입력 프로세싱 환경의 블록도이다.
도 3은 도 2의 환경을 사용하여 음성 입력을 처리하는 예시적인 방법을 도시하는 흐름도이다.
도 4는 다양한 구현들에 따라, 개시된 기술들이 어떻게 실행될 수 있는지의 예를 도시한다.
도 5는 다양한 구현들에 따라, 렌더링될 수 있는 그래픽 사용자 인터페이스의 일례를 도시한다.
도 6은 다양한 구현들에 따른 예시적인 방법을 예시하는 흐름도이다.
도면들을 참조하면, 동일한 도면 부호는 여러 도면에 걸쳐 동일한 부분을 나타내며, 도 1은 예시적인 컴퓨터 시스템(10)의 전자 컴포넌트들의 블록도이다. 시스템(10)은 전형적으로 버스 서브 시스템(14)을 통해 다수의 주변 디바이스들과 통신하는 적어도 하나의 프로세서(12)를 포함한다. 이러한 주변 디바이스들은, 예를 들어, 메모리 서브 시스템(18) 및 파일 저장 서브 시스템(20), 사용자 인터페이스 입력 디바이스들(22), 사용자 인터페이스 출력 디바이스들(24) 및 네트워크 인터페이스 서브 시스템(26)을 포함하는 저장 서브 시스템(16)을 포함할 수 있다. 입력 디바이스 및 출력 디바이스는 사용자가 시스템(10)과 상호 작용할 수 있도록 한다. 네트워크 인터페이스 서브 시스템(26)은 외부 네트워크에 인터페이스를 제공하고 다른 컴퓨터 시스템들의 대응하는 인터페이스 장치에 연결된다.
일부 구현들에서, 사용자 인터페이스 입력 디바이스들(22)은, 키보드, 마우스, 트랙볼, 터치 패드 또는 그래픽 태블릿과 같은 포인팅 디바이스, 스캐너, 디스플레이에 통합된 터치 스크린, 음성 인식 시스템들과 같은 오디오 입력 디바이스들, 마이크로폰들, 및/또는 다른 유형의 입력 디바이스들을 포함할 수 있다. 일반적으로, 용어 "입력 디바이스(input device)"의 사용은 컴퓨터(10)에 또는 통신 네트워크상에 정보를 입력하는 모든 가능한 유형들을 디바이스들 및 방식들을 포함하도록 의도된다.
사용자 인터페이스 출력 디바이스들(24)은 디스플레이 서브시스템, 프린터, 팩스 머신 또는 오디오 출력 디바이스들과 같은 비 시각적 디스플레이들을 포함할 수 있다. 디스플레이 서브 시스템은 음극선관(CRT), 액정 디스플레이(LCD)와 같은 평판 디바이스, 프로젝션 디바이스, 또는 가시적 이미지를 생성하기 위한 다른 메커니즘을 포함할 수 있다. 디스플레이 서브 시스템은 또한 오디오 출력 디바이스들을 통한 비 시각적 디스플레이를 제공할 수 있다. 일반적으로, 용어 "출력 디바이스(output device)"의 사용은 컴퓨터 시스템(10)으로부터 사용자 또는 다른 머신 또는 컴퓨팅 디바이스로 정보를 출력하는 모든 가능한 유형들의 디바이스들 및 방식들을 포함하도록 의도된다.
저장 서브시스템(16)은 여기에 서술된 일부 또는 모든 모듈들의 기능을 제공하는 프로그래밍 및 데이터 구조를 저장한다. 예를 들어, 저장 서브시스템(16)은 후술한 방법들의 선택된 양태들을 수행하는 로직을 포함할 수 있다.
이들 소프트웨어 모듈들은 일반적으로 프로세서(12) 단독으로 또는 다른 프로세서들과 조합하여 실행된다. 저장 서브시스템(16)에서 사용되는 메모리 서브 시스템(18)은, 프로그램 실행 중 명령 및 데이터의 저장을 위한 메인 랜덤 액세스 메모리(RAM)(28) 및 고정된 명령어들이 저장되는 판독 전용 메모리(ROM)(30)를 포함하는 다수의 메모리들을 포함할 수 있다. 파일 저장 서브시스템(20)은 프로그램 및 데이터 파일들을 위한 영구 저장 장치를 제공할 수 있으며, 그리고 하드 디스크 드라이브, 관련 착탈가능한 매체와 함께 플로피 디스크 드라이브, CD-ROM 드라이브, 광 드라이브 또는 착탈가능한 매체 카트리지들을 포함할 수 있다. 특정 구현들의 기능을 구현하는 모듈들은, 저장 서브시스템(16)의 파일 저장 서브시스템(20) 또는 프로세서(들)(12)에 의해 액세스 가능한 다른 머신들에 저장될 수 있다.
버스 서브 시스템(14)은 시스템(10)의 다양한 컴포넌트들 및 서브 시스템들이 의도된 바와 같이 서로 통신하도록 하는 메커니즘을 제공한다. 버스 서브 시스템(14)은 단일 버스로서 개략적으로 도시되어 있지만, 버스 서브 시스템의 다른 구현들은 다수의 버스들을 사용할 수 있다.
시스템(10)은 모바일 디바이스, 휴대용 전자 디바이스, 임베디드 디바이스, 데스크톱 컴퓨터, 랩톱 컴퓨터, 태블릿 컴퓨터, 독립형 음성 작동 제품(예를 들어, 스마트 스피커), 웨어러블 디바이스, 워크 스테이션, 서버, 컴퓨팅 클러스터, 블레이드 서버, 서버 팜 또는 임의의 다른 데이터 처리 시스템 또는 컴퓨팅 장치일 수 있다. 또한, 시스템(10)에 의해 구현되는 기능은, 하나 이상의 네트워크에서, 예를 들어, 클라이언트-서버, 피어-투-피어, 또는 다른 네트워킹 장치를 통해 서로 상호 접속된 다수의 시스템들 사이에 분산될 수 있다. 컴퓨터 및 네트워크의 끊임없이 변화하는 특성으로 인해, 도 1에 도시된 시스템(10)의 설명은 단지 일부 구현들을 설명하기 위한 구체적인 예로서만 의도된다. 도 1에 도시된 컴퓨터 시스템보다 더 많거나 적은 컴포넌트들을 갖는 시스템(10)의 많은 다른 구성들이 가능하다.
이하 설명되는 구현들은 본 명세서에 개시된 기능성의 다양한 조합들을 구현하는 하나 이상의 방법들을 포함할 수 있다. 다른 구현들은 여기에 서술된 하나 이상의 방법들과 같은 방법을 수행하기 위해 프로세서에 의해 실행 가능한 명령어들을 저장하는 비 일시적 컴퓨터 판독 가능 저장 매체를 포함할 수 있다. 또 다른 구현들은, 메모리 및 본 명세서에 서술된 하나 이상의 방법과 같은 방법을 수행하기 위해 메모리에 저장된 명령어들을 실행하도록 동작 가능한 하나 이상의 프로세서를 포함하는 장치를 포함할 수 있다.
이후 서술되는 다양한 프로그램 코드는 특정 구현예에서 구현되는 애플리케이션에 기초하여 식별될 수 있다. 그러나, 이하의 임의의 특정 프로그램 명칭은 편의를 위해서만 사용된다는 것을 이해해야 한다. 또한, 프로그램 기능이 전형적인 컴퓨터(예를 들어, 운영 시스템들, 라이브러리들, API들, 애플리케이션들, 애플릿들 등) 내에 상주하는 다양한 소프트웨어 계층들 사이에 할당될 수 있는 다양한 방식들과 함께, 컴퓨터 프로그램들이 루틴들, 절차들, 방법들, 모듈들, 객체들 등으로 조직될 수 있는 수많은 방식들이 주어지면, 일부 구현들은 여기서 서술된 프로그램 기능의 특정 구성 및 할당에 제한되지 않을 수도 있다는 것을 이해해야 한다.
또한, 여기에 서술된 다양한 동작들은, 임의의 프로그램 코드에 의해 수행될 수 있거나 또는 임의의 루틴들, 워크플로우들 등에서 수행될 수 있고, 결합, 재정렬, 생략, 순차적 또는 병렬적으로 수행되고 그리고/또는 다른 기술들로 보완될 수 있어, 그 결과, 일부 구현들은 여기에서 서술된 동작들의 특정 시퀀스들에 제한되지 않음을 알 수 있다.
도 2는, 예를 들어, 온라인 시맨틱 프로세서(54)와 같은 온라인 서비스와 통신하는 음성 기반 디바이스(52)와 함께 사용하기 위한 예시적인 분산형 음성 입력 프로세싱 환경(50)을 도시한다. 이하에 논의되는 구현들에서, 예를 들어, 음성 기반 디바이스(52)는 셀룰러 전화 또는 태블릿 컴퓨터와 같은 이동 디바이스로서 서술된다. 그러나, 다른 구현들은 다양한 다른 음성 기반 디바이스들을 이용할 수 있지만, 이후 모바일 디바이스들에 대한 참조는 단지 이후의 논의를 간략하게 위한 목적이다. 예를 들어, 랩톱 컴퓨터들, 시계들, 헤드 장착형 디바이스들, 가상 또는 증강 현실 디바이스들, 기타 웨어러블 디바이스들, 오디오/비디오 시스템들, 네비게이션 시스템들, 자동차 및 기타 차량 시스템 등을 포함하는 수많은 다른 유형의 음성 기반 디바이스들은 여기에서 서술된 기능을 사용할 수 있다.
일부 구현들에서 온라인 시맨틱 프로세서(54)는, 예를 들어, 다수의 사용자들로부터의 대량의 선언들을 처리하기에 적합한 소프트웨어를 실행하는 고성능 컴퓨터의 서버 팜 또는 클러스터를 사용하는 클라우드 기반 구조를 사용하는 클라우드 기반 서비스로서 구현될 수 있다. 온라인 시맨틱 프로세서(54)는 음성 기반 선언들에 한정되지 않을 수 있으며, 다른 유형의 선언들, 예를 들어, 텍스트 기반 선언들, 이미지 기반 선언들 등을 처리할 수도 있다. 일부 구현들에서, 온라인 시맨틱 프로세서(54)는 알람 또는 리마인더 설정, 리스트들을 관리, 전화, 텍스트, 이메일 등을 통한 다른 사용자들과의 통신 개시 또는 음성 입력을 통해 개시될 수 있는 다른 동작 수행들과 같은 음성 기반 선언들을 처리할 수 있다.
도 2의 구현에서, 음성 기반 디바이스(52)에 의해 수신된 음성 입력은 도 2에서 대화형 보조 모듈(56)의 형태를 취하는 음성 작동형 애플리케이션 (또는 "앱")에 의해 처리된다. 다른 구현들에서, 음성 입력은 음성 기반 디바이스(52)의 운영 체제 또는 펌웨어 내에서 처리될 수 있다. 도시된 구현에서 대화형 보조 모듈 (56)은 음성 동작 모듈(58), 온라인 인터페이스 모듈(60) 및 렌더링/동기화 모듈 (62)을 포함한다. 음성 동작 모듈(58)은 대화형 보조 모듈(56)로 향하는 음성 입력을 수신하고 그리고 음성 입력의 분석 및 음성 기반 디바이스(52)의 사용자에 대한 하나 이상의 동작들의 수행을 조정한다. 온라인 인터페이스 모듈(60)은, 온라인 시맨틱 프로세서(54)에 음성 입력을 포워딩하고 이에 대한 응답을 수신하는 것을 포함하여, 온라인 시맨틱 프로세서(54)와의 인터페이스를 제공한다. 렌더링/동기화 모듈(62)은, 예를 들어, 시각적 디스플레이, 음성 오디오, 또는 특정 음성 기반 디바이스에 적합한 다른 피드백 인터페이스를 통해 사용자에 대한 응답의 렌더링을 관리한다. 또한, 일부 구현들에서, 모듈(62)은, 예를 들어, 응답 또는 동작이 온라인 검색 서비스에서 사용자에 대해 유지되는 데이터에 영향을 줄 때마다(예를 들어, 음성 입력이 클라우드 기반 캘린더에서 유지되는 약속 생성을 요구하는 경우), 온라인 시맨틱 프로세서(54)와의 동기화를 처리한다.
대화형 보조 모듈(56)은 음성 입력을 처리하기 위해 다양한 미들웨어, 프레임 워크, 운영 체제 및/또는 펌웨어 모듈들(예를 들어, 스트리밍 음성 대 텍스트 모듈(64), 및 파서 모듈(68), 대화 관리자 모듈(70) 및 동작 빌더 모듈(72)을 포함하는 시맨틱 프로세서 모듈(66)을 포함함)에 의존할 수 있다.
모듈(64)은, 예를 들어, 디지털 오디오 데이터의 형태로 음성 입력의 오디오 레코딩을 수신하고, 그리고 디지털 오디오 데이터를 하나 이상의 텍스트 단어들 또는 어구들(여기에서는 "토큰들(tokens)"이라고 함)로 변환한다. 도시된 구현에서, 모듈(64)은 또한 음성 입력이 토큰-대-토큰 기반으로 그리고 실시간 또는 거의 실시간으로 텍스트로 변환되도록 스트리밍 모듈이며, 따라서 토큰들은 사용자의 발성과 동시에 효율적으로 모듈(64)로부터 출력될 수 있고, 그 결과 사용자가 완전한 발언을 하기 전에 모듈(64)로부터 출력될 수 있다. 모듈(64)은 하나 이상의 국부적으로 저장된 오프라인 음향 및/또는 언어 모델(74)에 의존할 수 있으며, 이들은 언어의 단어 시퀀스와 함께 언어의 오디오 신호와 음성 단위 사이의 관계를 함께 모델링한다. 일부 구현들에서, 하나의 모델(74)이 사용될 수 있는 반면, 다른 구현들에서는, 예를 들어 다중 언어들, 다중 스피커 등을 지원하기 위해 다중 모델들이 지원될 수 있다.
모듈(64)이 음성을 텍스트로 변환하는 반면, 모듈(66)은 목적을 위해 모듈 (64)에 의한 텍스트 출력의 시맨틱들 또는 의미를 식별하거나 적절한 응답을 공식화하려고 시도한다. 예를 들어, 파서 모듈(68)은 텍스트를 특정 동작들에 맵핑하고 그러한 동작들의 성능, 예를 들어, 그러한 동작들에 대한 입력 변수들을 제한하는 속성들을 식별하기 위해 하나 이상의 오프라인 문법 모델(76)에 의존한다. 일부 구현들에서, 단일 모델(76)이 사용될 수 있는 반면, 다른 구현들에서, 상이한 동작들 또는 동작 영역들(즉, 통신 관련 동작들, 검색 관련 동작들, 오디오/비주얼 관련 동작들, 캘린더 관련 동작들, 디바이스 제어 관련 동작들 등과 같은 관련 동작들의 집합)을 지원하기 위해 다수의 모델이 지원될 수 있다.
일 예로서, 오프라인 문법 모델(76)은, 설정할 리마인더 유형을 지정하는 리마인더 유형 파라미터, 리마인더와 관련된 하나 이상의 아이템을 지정하는 아이템 파라미터, 및 리마인더를 활성화하고 그리고 사용자에게 리마인드할 시간을 지정하는 시간 파라미터를 갖는 "리마인더 설정(set a reminder)"과 같은 행동을 지원할 수 있다. 파서 모듈(68)은 "생각나게 하다(remind me to)", "집어들다(pick up)", "빵(bread)" 및 "작업 이후(after work)"와 같은 일련의 토큰들을 수신할 수 있고, 그리고 상기 일련의 토큰들을 "쇼핑 리마인더(shopping reminder)"로 설정된 리마인더 타입 파라미터, "빵(bread)"으로 설정된 아이템 파라미터 및 "오후 5:00(5:00pm)"의 시간 파라미터를 갖는 리마인더를 설정하는 행동과 맵핑하여, 오후 5:00에 사용자는 "빵을 사는 것(buy bread)"에 대한 리마인더를 수신한다.
파서 모듈(68)은 또한 사용자와의 대화를 관리하는 대화 관리자 모듈(70)과 함께 동작할 수 있다. 이 컨텍스트 내의 다이얼로그는 두 사람 사이들의 대화와 유사한 음성 입력들 및 응답들의 세트를 나타낸다. 따라서, 모듈(70)은 다이얼로그의 "상태(state)"를 유지하여, 후속 음성 입력을 처리할 때 이전 음성 입력에서 사용자로부터 얻은 정보를 사용할 수 있게 한다. 따라서, 예를 들어, 사용자가 "빵을 집으라고 나에게 리마인드 해줘(remind me to pick up bread)"라고 말하면, 응답은 "알았어요, 언제 리마인드 받길 원해요(ok, when would you like to be reminded)?"라고 말하도록 생성될 수 있고, "작업 후(after work)"의 후속 음성 입력은 알림을 생성하기 위한 원래 요청으로 다시 연결된다. 일부 구현들에서, 모듈(70)은 대화형 보조 모듈(56)의 일부로서 구현될 수 있다.
동작 빌더 모듈(72)은 파서 모듈(68)로부터 음성 입력 해석을 나타내는 파싱된 텍스트를 수신하고, 그리고 대화형 보조 모듈(56)의 모듈(62)에 의한 처리를 위해 임의의 관련 파라미터와 함께 하나 이상의 응답 동작들 또는 "작업들(tasks)"을 생성한다. 동작 빌더 모듈(72)은 파싱된 텍스트로부터 동작들을 생성하기 위한 다양한 규칙들을 통합하는 하나 이상의 오프라인 동작 모델들(78)에 의존할 수 있다. 일부 파라미터들은 음성 입력으로서 직접 수신될 수 있는 반면, 일부 파라미터들은 다른 방식으로, 예를 들어, 사용자의 위치, 인구 통계학적 정보에 기초하거나 또는 사용자에게 특정한 다른 정보에 기초하여 결정될 수 있음을 알 수 있다. 예를 들어, 사용자가 "식료품 점에서 빵을 집으라고 나에게 리마인드 해줘(remind me to pick up bread at the grocery store)"라고 말하면, 위치 파라미터는 사용자의 현재 위치, 직장과 집 사이의 사용자의 알려진 경로, 사용자의 단골 식료품점 등과 같은 추가 정보 없이는 결정될 수 없다.
일부 구현들에서, 모델들(74, 76 및 78)은 모듈들(64, 68, 70 및 72)의 기능일 수 있는 바와 같이 더 적은 수의 모델로 결합되거나 추가적인 모델들로 분리될 수 있음을 알 수 있다. 또한, 모델들(74 내지 78)은, 모델들이 음성 기반 디바이스 (52)상에 국부적으로 저장되고, 따라서 디바이스(52)가 온라인 시맨틱 프로세서(54)와 통신하지 않을 때 오프라인으로 액세스할 수 있는 한 오프라인 모델들로 지칭된다. 더욱이, 모듈(56)은 여기에서 대화형 보조 모듈인 것으로 설명되었지만, 이로 제한하려는 것을 의미하지 않는다. 다양한 구현들에서, 음성 기반 디바이스(52) 상에서 동작하는 임의의 유형의 애플리케이션은 대화형 보조 모듈들이 다른 사용자들(소위 "제어 사용자들(controlling users)")에 의해 제어되는 리소스들에 대한 액세스를 요청 사용자들에게 제공하도록 자동으로 허용하는 기술을 수행할 수 있으며, 제어 사용자들에게 먼저 촉구하거나 또는 촉구하지 않을 수 있다.
다양한 구현들에서, 온라인 시맨틱 프로세서(54)는, 예를 들어, 다양한 음향/언어, 문법 및/또는 행동 모델들(82)에 의존하는 음성 기반 질의 프로세서(80)를 사용하여 음성 입력의 처리를 위한 보완적인 기능을 포함할 수 있다. 일부 구현들에서, 특히, 음성 기반 디바이스(52)가 리소스-제한 디바이스일 때, 음성 기반 질의 프로세서(80) 및 그에 의해 사용되는 모델들(82)은 음성 기반 디바이스(52)에 국부적인 것보다 더 복잡하고 계산 리소스 집약적인 음성 처리 기능을 구현할 수 있다.
일부 구현들에서, 각각이 하나 이상의 개별 대화형 보조 모듈들(56)에 대한 온라인 대응물로서 작용하는 다수의 음성 기반 질의 프로세서들(80)이 사용될 수 있다. 예를 들어, 일부 구현들에서, 사용자의 생태계 내의 각 디바이스는 사용자와 관련된 대화형 보조 모듈(56)의 인스턴스를 동작하도록 구성될 수 있다(예를 들어, 사용자의 선호도들로 구성되고, 동일한 상호 작용 이력 등과 연관됨). 음성 기반 질의 프로세서(80)의 단일 사용자 중심 온라인 인스턴스는, 그 시간에 사용자가 어떤 장치를 사용하고 있는지에 따라, 대화형 보조 모듈(56)의 이들 다수의 인스턴스들 각각에 액세스할 수 있다.
일부 구현들에서, 예를 들어, 디바이스가 온라인 서비스와 통신할 때마다 온라인 기능이 사용되고, 연결이 없는 경우 오프라인 기능이 사용되는 것과 같은 온라인 및 오프라인 기능 모두가 지원될 수 있다. 다른 구현들에서, 상이한 동작들 또는 동작 영역들은 온라인 및 오프라인 기능으로 할당될 수 있는 반면, 다른 구현들에서는 오프라인 기능이 특정 음성 입력을 적절하게 처리하지 못할 때만 온라인 기능을 사용할 수 있다. 그러나, 다른 구현들에서는 보완적인 온라인 기능을 사용할 수 없다.
예를 들어, 도 3은 음성 입력을 처리하기 위해 음성 기반 디바이스(52)에 의해 실행될 수 있는 음성 처리 루틴(100)을 도시한다. 루틴(100)은, 예를 들어, 디지털 오디오 신호의 형태로 음성 입력을 수신함으로써 블록(102)에서 시작한다. 이 구현에서, 음성 입력을 온라인 검색 서비스로 전송하기 위한 초기 시도가 이루어진다(블록 104). 예를 들어, 연결성이 부족하거나 온라인 검색 서비스의 응답이 없기 때문에 실패한 경우, 블록(106)은 블록(108)에 제어를 전달하여 음성 입력을 텍스트 토큰들로 변환하고(예를 들어, 도 2의 모듈(64)을 사용하는 블록(108)), 텍스트 토큰들을 파싱하고(예를 들어, 도 2의 모듈(68)을 사용하는 블록(110)) 그리고 파싱된 텍스트로부터 동작을 구축한다(예를 들어, 도 2의 모듈(72)을 사용하는 블록(112)). 결과 동작은 클라이언트 측 렌더링 및 동기화(예를 들어, 도 2의 모듈 (62)을 사용하는 블록(114))를 수행하는데 사용되며, 음성 입력의 프로세싱이 완료된다.
블록(106)으로 돌아가서, 음성 입력을 온라인 검색 서비스로 전송하려는 시도가 성공적이면, 블록(106)은 블록들(108 내지 112)을 우회하고 블록(114)에 직접 제어를 전달하여 클라이언트 측 렌더링 및 동기화를 수행한다. 그러면 음성 입력 처리가 완료된다. 다른 구현들에서, 전술한 바와 같이, 음성 입력이 국부적으로 처리될 때, 불필요한 데이터 통신을 피하기 위해, 온라인 처리 전에 오프라인 처리가 시도될 수 있다는 것을 이해할 것이다.
도 4는, 단독으로 또는 대응하는 온라인 음성 기반 프로세서(80)와 함께, 대화형 보조 모듈(56)의 예시적인 시나리오(420)을 개략적으로 도시하고, 요청하는 사용자들에게 다른 사용자(소위 "제어 사용자들")가 제어하는 리소스들에 대한 액세스를 제공할 수있는 권한을 자동으로 추측하거나 조건부로 허용할 수 있고, 먼저 제어 사용자들로부터 구하거나 또는 구하지 않아도 된다. 이 예에서, 제1 이동 전화(422A)는 제1 사용자(도시되지 않음)에 의해 조작되고 그리고 제2 이동 전화(422B)는 제2 사용자(도시되지 않음)에 의해 조작된다.
특정 기준이 충족되지 않으면, 제1 사용자가 착신 호를 거절하도록 제1 이동 전화(422A)를 구성했다고 가정한다. 예를 들어, 제1 사용자는 현재 다른 사람과의 전화 통화에서 제1 휴대 전화(422A)를 사용할 수 있으며, 다른 누군가와의 화상 회의에 제1 휴대 전화(422A)를 사용하고 있거나, 그렇지 않으면 제1 휴대 전화(422A)를 "방해하지 말 것(do not disturb)" 설정으로 설정할 수 있다. 제2 사용자가, 예를 들어, 하나 이상의 셀룰러 타워들(424)을 통해 제1 이동 전화(422A)에 호를 배치하기 위해 제2 이동 전화(422B)를 동작시켰다고 가정한다.
다양한 구현들에서, 제1 이동 전화(422A) 또는 제1 이동 전화 (422A) 및/또는 제1 사용자 대신에 작동하는 대화형 보조 모듈(예를 들어, 전술한 56)은, 착신 호를 검출할 수 있고 그리고 제1 사용자에 의해 제어되는 주어진 리소스, 즉, 제1 사용자와 제2 사용자 사이의 음성 통신 채널에 대한 액세스를 위해 제2 사용자에 의한 요청으로서 해석할 수 있다. 일부 구현들에서, 대화형 보조 모듈은 착신 전화 번호 또는 제2 이동 전화 (422B)와 연관된 다른 식별자를, 예를 들어, 제1 이동 전화(422A)의 메모리에 저장된 접촉리스트에 포함되는 제1 사용자의 연락처와 매칭시킬 수 있다. 대화형 보조 모듈은 제1 사용자와 제2 사용자 간의 음성 통신 채널에 대해 제2 사용자 액세스를 제공하기 위한 사전 허가가 없다고 결정할 수 있다.
그러나 단순히 착신 호를 거절하기보다는, 대화형 보조 모듈은, 제1 사용자가 현재 다른 사람과 연결중이거나 제1 이동 전화(422A)를 "방해하지 말 것(do not disturb)"이라고 설정했음에도 불구하고, 제1 사용자가 제2 사용자로부터 착신 호를 수신하기를 원할 것인지를 추론할 수 있다. 따라서, 다양한 구현들에서, 대화형 보조 모듈은 제1 사용자와 제2 사용자 간의 제1 관계의 하나 이상의 속성들을 결정할 수 있다. 또한, 대화형 보조 모듈은 제1 사용자와 제2 사용자 외에 하나 이상의 다른 사용자들 사이의 하나 이상의 다른 관계들의 하나 이상의 속성을 결정할 수 있다. 일부 경우들에서, 대화형 보조 모듈은 현재 상황하에서 제1 사용자와의 음성 통신 채널에 대한 하나 이상의 다른 사용자 액세스를 제공하기 위한 사전 허가를 가질 수 있다.
대화형 보조 모듈은, 제1 사용자와 제2 사용자 간의 제1 관계의 하나 이상의 속성을 제1 사용자와 제2 사용자 이외의 하나 이상의 다른 사용자들 사이의 하나 이상의 다른 관계들의 하나 이상의 속성과 비교할 수 있다. 비교에 기초하여, 대화 형 보조 모듈은 제1 사용자와의 음성 통신 채널에 대한 제2 사용자 액세스를 제공하는 허가를 조건부로 가정(예를 들어, 추론, 추정)할 수 있다. 일부 예들에서, 대화형 보조 모듈은 확인을 요구하는 제 1 사용자에게 출력을 제공할 수 있다. 다른 예들에서, 대화형 보조 모듈은 확인을 먼저 시도하지 않고 제2 사용자의 액세스가 제1 이동 전화(422A)에 제2 사용자의 착신 호출을 패치할 수 있도록 제2 사용자 액세스를 제공할 수 있다. 예를 들어, 제1 사용자는 제1 이동 전화(422A)에 그 또는 그녀가 수락하도록 선택할 수 있는 착신 호(예컨대, 통화 대기)를 가지고 있다는 통지를 수신할 수 있다. 부가적으로 또는 대안으로, 대화형 보조 모듈은 제1 사용자가 제1 이동 전화(422A)를 사용하여, 예를 들어, 다자 전화 회의 통화의 일부로서 참여하고 있는 기존의 호 세션에 제2 사용자를 자동으로 추가할 수 있다.
일부 구현들에서, 대화형 보조 모듈은 제1 사용자와 제2 사용자 간의 관계의 성격에 기초하여 제2 사용자에게 리소스(제1 사용자와의 음성 통신 채널)에 대한 액세스를 허가하는 것을 추정할 수 있다. 제1 사용자와 제2 사용자가 동일한 직계 가족의 일부이고 그리고 제1 사용자는 제1 이동 전화(422A) (및/또는 제1 사용자에 의해 운영되는 장치의 생태계의 다른 장치)상에서 동작하는 대화형 보조 모듈에 다른 직계 가족 구성원으로부터 착신 전화 호들을 패치하도록 허가했다고 가정하자. 대화형 보조 모듈은, 제1 사용자가 다른 직계 가족 구성원에게 패치할 수 있는 권한을 이전에 부여했고, 제2 사용자도 제1 사용자의 직계 가족 구성원이기 때문에 제2 사용자도 패치해야한다고 가정할 수 있다.
다른 구현들에서, 대화형 보조 모듈은 제1 사용자와 제2 사용자 간의 관계를 제1 사용자와 다른 사람들 간의 관계들과 비교하기 위해 상이한 기술들을 사용할 수 있다. 예를 들어, 일부 구현들에서, 대화형 보조 모듈은 복수의 특징 벡터들을 형성할 수 있으며, 이 복수의 특징 벡터들은, 제1 사용자의 속성들을 나타내는 하나의 특징 벡터, 제2 사용자의 속성을 나타내는 다른 특징 벡터, 및 제1 사용자와의 관계들(및 호출들을 통해 패치하기 위한 허가)을 갖는 하나 이상의 다른 사용자들 각각 나타내는 하나 이상의 부가적인 특징 벡터들 포함한다. 그러한 일부 구현들에서, 대화형 보조 모듈은 연락 목록, 소셜 네트워크 프로파일(예를 들어, "친구(friends)"의 목록) 및/또는 제1 사용자와 관련된 다른 유사한 연락 소스들로부터 이러한 특징 벡터들을 형성할 수 있다. 각각의 특징 벡터에 포함시키기 위해 제1 사용자의 각 연락처로부터 추출될 수 있는 특징들은 제1 사용자와 연락처간의 관계를 명시적으로 지정하는 것(예를 들어, "배우자(spouse)", "형제 자매(sibling)","부모(parent)", "사촌(cousin)", "동료(co-worker)", "친구(friend)", "급우(classmate)", "지인(acquaintance)" 등), 상기 제1 사용자와 상기 연락처 간에 공유되는 다수의 접촉들, 상기 제1 사용자와 상기 연락처 간의 상호 작용 이력(예를 들어, 호 이력/빈도, 텍스트 히스토리/빈도, 공유된 캘린더 약속 등), 연락처의 인구 통계(예를 들어, 나이, 성별, 주소), 제1 사용자가 제어하는 다양한 리소스들에 대한 연락처 액세스를 제공하기 위해 대화형 보조자에게 부여된 권한 등을 포함할 수 있지만, 이에 제한되지 않는다.
대화형 보조 모듈은, 예를 들어, 하나 이상의 기계 학습 모델들(예를 들어, 논리 회귀), 감소된 차원 공간에서의 매립(embedding) 등을 사용하여 복수의 특징 벡터들 중 적어도 일부 간의 "거리들(distances)"를 결정할 수 있다. 일부 구현들에서, 기계 학습 분류기 또는 모델은 각각의 특징 벡터에 의해 표현되는 2개의 개인 사이의 관계 측정(또는 거리)으로 라벨링된 특징 벡터의 쌍들과 같은 라벨링된 트레이닝 데이터를 사용하여 트레이닝될 수 있다. 예를 들어, 동료들의 대응하는 쌍에 대해 한 쌍의 특징 벡터들이 생성될 수 있다. 한 쌍의 특징 벡터들은 동료들 간의 관계에 대한 어떤 표시, 예를 들어, 수치 값(예를 들어, 0.0 내지 1.0의 스케일, 가장 가까운 가능한 관계(또는 거리)를 나타내는 0.0 및 관계가 없음을 나타내는 1.0) 또는 열거된 관계(예를 들어, "직계 가족(immediately family)", "확장 가족(extended family)", "배우자(spouse)", "자손(offspring)", "형제 자매(sibling)", "사촌(cousin)", "동료(colleague)", "동료 직원(co-worker)", 이 예에서는 "동료 직원(co-worker)"일 수 있다)로 라벨링될 수 있다. 이 라벨 쌍은 임의의 수의 다른 라벨 쌍과 함께, 개인 쌍을 나타내는 특징 벡터 쌍들 사이의 관계를 분류하기 위해 기계 학습 분류자를 트레이닝시키는데 사용될 수 있다. 다른 구현들에서, 각 특징 벡터의 특징들은 임베딩 공간에 내장될 수 있고, 특징들의 각각의 임베딩 사이의 거리들은, 예를 들어, 내적, 코사인 유사성, 유클리드 거리 등을 이용하여 결정될 수 있다.
그러나, 특징 벡터들 사이의 거리가 결정되고, 주어진 복수의 특징 벡터 쌍 간의 거리는 주어진 특징 벡터 쌍에 의해 표현된 2명의 사용자들 간의 관계를 나타낼 수 있다. 거리가 가까울수록 관계는 강해지고 반대의 경우도 마찬가지이다. 제1 사용자 및 제2 사용자를 나타내는 특징 벡터들 간의 관계가 제1 사용자와 다른 사용자 간의 다른 관계보다 짧은 거리로 표현된다고 가정한다. 대화형 보조 모듈이 다른 사용자의 호출을 제1 사용자에게 패치할 권한을 가지고 있다고 가정하자. 이러한 상황에서, 대화형 보조 모듈은 제2 사용자에게 패치를 허락하는 것으로 추정할 수 있다.
또 다른 구현에서, 대화형 보조 모듈은 대화형 보조 모듈에 부여된 허가를 사용하여 관계를 비교하여 다양한 사용자들에게 제1 사용자에 의해 제어되는 다양한 리소스들에 대한 액세스를 제공할 수 있다. 예를 들어, 일부 구현들에서, 대화 형 보조 모듈은 제2 사용자와 연관된 하나 이상의 허가들의 제1 세트를 식별할 수 있다. 제1 세트의 각각의 허가는 대화형 보조 모듈이 제1 사용자에 의해 제어되는 리소스에 대한 제2 사용자 액세스를 제공하도록 허용할 수 있다. 또한, 대화형 보조 모듈은 하나 이상의 다른 사용자와 관련된 하나 이상의 허가의 하나 이상의 추가 세트를 식별할 수 있다. 하나 이상의 추가 세트들의 각 세트는 하나 이상의 다른 사용자들의 상이한 사용자와 연관될 수 있다. 또한, 각각의 추가 세트의 각각의 허가는 대화형 보조 모듈이 제1 사용자에 의해 제어되는 리소스에 대한 액세스로 추가 세트와 관련된 사용자를 제공하도록 허용할 수 있다. 이후, 대화형 보조 모듈은 제1 세트를 하나 이상의 추가 세트 각각과 비교할 수 있다. 대화형 보조 모듈이 제1 사용자에게 호들을 패치하기 위한 사전 허가권을 갖는 다른 사용자와 연관된 허가 세트와 제2 사용자와 연관된 제1 허가들의 세트가 충분히 유사하다면, 상기 대화형 보조 모듈은 상기 제1 사용자에게 상기 제2 사용자의 호를 패치하는 허가를 가졌다고 추정할 수 있다.
도 5는, 예를 들어, 제1 휴대 전화(422A)에 의해 렌더링될 수 있는 그래픽 사용자 인터페이스의 일 예를 도시하며, 제1 사용자의 2명의 연락처들인 몰리 심슨(Molly Simpson) 및 존 존스(John Jones)에 부여된 허가들의 세트의 예를 도시한다. 일부 구현들에서, 제1 사용자는 그러한 그래픽 사용자 인터페이스를 조작하여 다양한 연락처들에 대한 허가를 설정하는 것이 가능하지만, 이는 필수는 아니다. 이 예에서, 대화형 보조 모듈은 몰리 심슨에게 제1 사용자의 연락처, 로컬 화상들(예를 들어, 제1 휴대 전화(422A)의 로컬 메모리 및/또는 제1 사용자의 장치 생태계의 다른 장치에 저장된 화상들), 온라인 사진들(예를 들어, 제1 사용자가 클라우드에 저장한 화상들) 등이 있다. 마찬가지로, 대화형 보조 모듈은, 존 존스에게 제1 사용자 연락처들에 대한 액세스를 제공하고, 존 존스로부터의 전화들을 제1 사용자에게 패치하며, 그리고 존 존스에게 제1 사용자의 일정 및 제1 사용자의 현재 위치(예를 들어, 제1 휴대 전화(422A)의 위치 좌표 센서 및/또는 제1 사용자에 의해 동작되는 디바이스들의 생태계의 다른 장치에 의해 결정됨)를 제공할 권한을 갖는다. 물론, 제1 사용자는 도 4에 사용 권한이 표시되지 않은 임의의 수의 추가 연락처들을 가질 수 있다. 설명된 연락처 및 관련 사용 권한은 설명의 목적으로만 사용된다.
도 4와 관련하여 전술한 시나리오를 계속하면, 제2 사용자의 착신 호를 제1 사용자에게 패치할지 여부를 결정할 때, 대화형 보조 모듈은 몰리 심슨 및 존 존스를 포함하는 제1 사용자의 각 연락처에 대한 허가와 제2 사용자 자신에 대한 그의 허가를 비교할 수 있다. 제2 사용자와 관련된 권한 집합이 몰리 심슨과 관련된 권한과 가장 유사하다고 가정하자(예를 들어, 둘 모두 제1 사용자의 연락처, 로컬 및 온라인 사진에 대한 액세스 권한을 제공받을 수 있음). 대화형 보조자 모듈에는 몰리 심슨으로부터의 착신 호출을 제1 사용자에게 패치할 수 있는 권한이 없다. 따라서, 대화형 보조 모듈은 제2 사용자의 착신 호출을 패치하기 위한 허가를 갖지 않을 수도 있다.
그러나, 제2 사용자와 관련된 권한 설정이 존 존스와 관련된 권한 설정과 가장 유사하다고 가정하자(예를 들어, 둘 모두 제1 사용자의 연락처들, 일정 및 위치에 대한 액세스 권한을 제공받을 수 있음). 또한, 대화형 보조 모듈은 존 존스로부터의 착신 호출을 제1 사용자에게 패치할 수 있는 사전 권한을 가지고 있다. 따라서, 대화형 보조 모듈은 또한 제2 사용자의 착신 호출을 패치하기 위한 허가를 갖는 것으로 추정할 수 있다.
일부 구현들에서, 연착처들의 허가 사이의 "유사성(similarity)"은 전술한 것과 유사한 기계 학습 기술들을 사용하여 결정될 수 있다. 예를 들어, 전술한 연락처 특징 벡터는 도 5에 도시된 것과 같은 허가들을 사용하여 형성될 수 있다. 이러한 특징 벡터들 간의 거리들은 대화형 보조 모듈(또는 클라이언트 디바이스와의 네트워크 통신에서 하나 이상의 서버들에 의해 원격으로)에 의해 계산될 수 있고, 연락처들의 유사성을 결정하고, 궁국적으로는 제2 사용자의 착신 호출을 제1 사용자에게 패치되도록 허용할지 여부를 결정하는 사용될 수 있다.
도 5에서, 각 연락처와 연관된 허락들은 일반적으로 연락처들과 관련하여 대화형 보조 모듈에 허가된 허가들이다. 그러나, 이것은 제한하려는 것이 아니다. 일부 구현들에서, 연락처와 관련된 권한들은 제3자 애플리케이션과 관련된 권한들과 같은 다른 유형들의 권한들을 포함할 수 있다. 예를 들어, 일부 구현들에서, 라이드 공유 애플리케이션들(예를 들어, 사용자의 현재 위치에 대한 액세스), 소셜 네트워킹 애플리케이션들(예를 들어, 특정 그룹이나 이벤트에 액세스할 수 있는 권한, 서로의 사진들을 볼 수 있는 권한, 사진들에서 서로 태그를 지정할 권한 등)등과 같은 애플리케이션들에 대한 연락처들에 의해 허가된 허가들은 연락처를 비교하는 데 사용될 수 있다. 일부 구현들에서, 이들 다른 허가들은 연락처들 및/또는 제어 사용자와의 관계들을 비교하기 위한 데이터 포인트로서 간단히 사용될 수 있다. 예를 들어, 전술한 바와 같이 거리들을 결정하기 위해 각각의 접촉과 관련된 특징 벡터가 생성될 때, 제3 자 애플리케이션 허가는 특징 벡터들에 특징들로서 포함될 수 있다.
제어 사용자에 의해 제어되는 리소스에 대한 액세스를 요청 사용자에게 제공 할 권한을 부여할지를 결정하기 위해 다양한 다른 접근법들이 대화형 보조 모듈들에 의해 사용될 수 있다. 예를 들어, 일부 구현들에서, 제어 사용자는 복수의 소위 "신뢰 레벨들(trust levels)"을 설정할 수 있다(또는 대화식 보조 모듈이 학습을 통해 시간 경과에 따라 자동으로 설정될 수 있다). 각 신뢰 레벨은 회원들의 설정 (즉, 제어 사용자의 연락처들) 및 상호형 보조자가 회원들에 관해 갖는 허가들의 세트를 포함할 수 있다.
요청한 사용자는 하나 이상의 기준을 만족하는 제어 사용자와의 관계를 유지함으로써 제어 사용자의 주어진 신뢰 레벨에서 회원 자격을 얻을 수 있다. 이러한 기준에는, 제어 사용자와의 충분한 상호작용들을 갖고, 충분한 양의 공유 컨텐트 (예를 들어, 문서들, 캘린더 엔트리들)를 갖고, 임계 값의 공유된 소셜 네트워킹 접촉들을 가지며, 그리고 제어 사용자에에 의해 수동으로 신뢰 레벨에 추가되는 것을 포함할 수 있다. 요청한 사용자가 제어 사용자에 의해 제어되는 리소스에 대한 액세스를 요청하면, 대화형 보조 모듈은 (i) 어떤 신뢰 레벨이 있다면, 대화형 보조 모듈이 요청 된 리소스에 대한 액세스를 제공하도록 허용하고, (ii) 요청 사용자가 결정된 신뢰 레벨들 중 임의의 멤버인지를 결정할 수 있다. 이러한 결정들의 결과에 기초하여, 대화형 보조 모듈은 요청된 사용자 액세스를 요청된 리소스에 제공할 수 있다.
일부 구현들에서, 신뢰 레벨들은 자동으로 결정될 수 있다. 예를 들어, 특정 사용자의 다양한 연락처들은 이들 연락처의 다양한 특징들(예를 들어, 전술된 허가 및 다른 특징들)에 기초하여, 예를 들어, 내장된 공간에서 함께 클러스터링될 수 있다. 충분한 수의 연락처들이 공유된 기능들에 기초하여 함께 클러스터된 경우, 신뢰 레벨이 해당 클러스터와 자동으로 연관될 수 있다. 따라서, 예를 들어, (예를 들어, 많은 수의 유사한 허가들에 기초하여) 특정 사용자와 매우 가까운 관계들을 갖는 연락처들이 "높은(high)" 신뢰 레벨을 나타내는 제1 클러스터로 그룹화될 수 있다. 특정 사용자와 거의 유사하지 않은 관계를 가진 연락처들은 "중간(medium)" 신뢰 레벨을 나타내는 제2 클러스터로 그룹화될 수 있다. 특정 사용자와 상대적으로 약한 관계들을 가진 다른 연락처들은 "낮은(low)" 신뢰 레벨을 나타내는 제3 클러스터로 그룹화될 수 있다.
일부 구현들에서, 특정 클러스터의 임계 빈도와 함께 발견되는 대화형 보조 모듈에 부여된 권한은 해당 클러스터의 모든 연락처들에 대해 가정할 수 있다. 예를 들어, 대화형 보조 모듈이 특정 사용자의 현재 위치를 높은 신뢰 레벨에서의 연락처 상대의 75%와 공유할 수 있는 권한이 있다(그리고 해당 권한이 클러스터의 나머지 연락처 상대에게 거부되지 않았다)고 가정하자. 상호 작용하는 보조자는 높은 신뢰 레벨 클러스터의 모든 연락처들이 (요청시) 특정 사용자의 현재 위치에 액세스해야 한다고 가정할 수 있다. 다양한 구현들에서, 특정 사용자는, 예를 들어, 그래픽 사용자 인터페이스를 사용하여 다양한 신뢰 레벨과 관련된 허가들을 수정하고, 신뢰 레벨들로부터 연락처들을 추가 또는 제거할 수 있다. 일부 구현들에서, 특정 사용자가 새로운 연락처를 추가할 때, 대화형 보조 모듈은 유사한 기술을 사용하여 새로운 연락처가 추가되어야 하는 클러스터(및 그에 따른 신뢰 레벨)를 결정할 수 있다. 일부 구현들에서, 대화형 보조 모듈은, 단순히 새 연락처를 신뢰 수준에 자동으로 추가하는 것이 아닌, 특정 사용자에게 새로운 연락처를 먼저 신뢰 레벨로 추가하라는 제안을 촉구할 수 있다. 다른 구현들에서, 요청하는 사용자들은 적절한 신뢰 레벨을 결정하기 위해, 예를 들어, 그들이 제어 사용자에 의해 제어되는 리소스을 요청할 때 즉석에서 분석될 수 있다.
도 6은 대화형 보조 모듈에 의한 실행에 적합한 루틴(650)을 도시하며, 대화 형 보조 모듈이 사용자들을 제어함으로써 제어되는 리소스에 대한 액세스를 사용자에게 요청하는 (승인을 구하거나 또는 요구하지 않고) 것을 허용하며 반드시 제어 사용자들에게 먼저 촉구하지 않아도 된다. 루틴(650)은 음성 기반 질의를 처리하는 동일한 서비스에 의해 실행될 수 있거나, 또는 전혀 상이한 서비스일 수 있다. 특정 작업이 특정 순서로 표시되어 있지만 이것만으로 제한되는 것은 아니다. 다양한 구현들에서, 하나 이상의 연산들이 추가, 생략 또는 재정렬될 수 있다.
블록(658)에서, 대화형 보조 모듈은 제2 사용자에 의해 제어되는 리소스에 대한 액세스를 위해 제1 사용자로부터 요청을 수신할 수 있다. 예를 들어, 제1 사용자는 제2 사용자가 이미 통화 중에 또는 제2 사용자의 휴대 전화를 호출하려고 시도할 수 있거나 또는 휴대 전화를 "방해 금지(do not disturb)" 모드로 설정한다. 다른 예로서, 제1 사용자는, 대화형 보조 모듈이 사진, 미디어, 문서들 등과 같이 제2 사용자에 의해 제어되는 콘텐츠에 대한 액세스를 제공하도록 요청할 수 있다. 추가적으로 또는 대안으로, 제1 사용자는 대화형 보조 모듈이 현재 위치, 상태(예를 들어, 소셜 네트워크 상태) 등과 같은 제2 사용자의 컨텍스트의 하나 이상의 속성들을 제공하도록 요청할 수 있다.
블록(660)에서, 대화형 보조 모듈은 제1 사용자와 제2 사용자 간의 제1 관계의 속성들을 결정할 수 있다. 위에 설명된 것들(예를 들어, 제2 사용자에 의해 제어되는 리소스에 대한 액세스를 제1 사용자에게 제공하기 위해 제2 사용자에 의해 대화형 보조 모듈에 부여된 허가(또는 다른 일반 허가들)를 포함하되 이에 국한되지는 않는 많은 예시적인 관계 속성들, 예를 들어, 공유된 연락처들, 사용자들 간의 접촉 빈도(예를 들어, 전화를 통해 또는 다수의 양상들과 같은 단인 양식에서), 열거형 관계 분류(예를 들어, 배우자, 형제, 친구, 지인, 동료 등), 제1 사용자와 제2 사용자 사이의 지리적인 거리(예를 들어, 그들의 현재 위치들 사이 및/또는 그들의 집/직장 주소들 사이), 사용자들에 의해 공유된 문서들(예를 들어, 다수의 문서들, 문서들의 타입들 등), 및 인구통계학적 유사성(예를 들어, 연령, 성별 등)이 가능하다.
블록(662)에서, 대화형 보조 모듈은 제2 사용자(즉, 이 시나리오에서 제어 사용자)와 하나 이상의 다른 사용자들 사이의 하나 이상의 관계의 하나 이상의 속성을 결정할 수 있다. 블록(664)에서, 제1 관계의 속성들은 하나 이상의 다른 관계들의 속성과 비교될 수 있으며, 예를 들어, 다양한 휴리스틱스(heuristics), 전술 한 기계 학습 기술 등을 사용하여 비교될 수 있다. 예를 들어, 전술한 바와 같이, 다양한 사용자들과 관련된 임베딩들 사이의 "거리들(distances)"는 임베딩된 공간에서 결정될 수 있다.
블록(666)에서, 대화형 보조 모듈은 블록(664)의 비교에 기초하여 요청된 리소스들에 대한 액세스를 제1 사용자에게 제공하는 허가를 조건부로 가정한다. 예를 들어, 제1 사용자와 제2 사용자 간의 거리가, 대화형 보조자 모듈이 요청된 리소스에 대한 액세스를 허가하는 권한을 갖는 다른 사용자와 제2 사용자 사이의 거리보다 작은 것으로 가정한다. 이러한 시나리오에서, 제1 사용자는 마찬가지로 대화형 보조 모듈에 의해 요청된 리소스에 대한 액세스가 허가될 수 있다.
일부 구현들에서, 블록(668)에서, 대화형 보조 모듈은 요청된 리소스가 "고감도(high sensitivity)" 리소스인지를 결정할 수 있다. 예를 들어, 제2 사용자가 리소스을 긍정적으로 식별하는 경우 리소스은 고감도로 간주될 수 있다. 부가적으로 또는 대안적으로, 대화형 보조 모듈은, 요청된 리소스 및/또는 유사한 리소스가 액세스되어 사전 결정된 임계 값을 만족하는 민감도 측정치를 리소스가 갖고 있는지를 "학습(learn)"하도록 액세스하는 과거의 상황들을 조사할 수 있다. 예를 들어, 특정 리소스에 대한 액세스 권한이 자동으로 부여되고(즉, 제2 사용자의 명시적 권한을 먼저 획득하지 않은 경우) 그리고 제2 사용자는 나중에 그러한 자동 액세스가 허가되어서는 안된다는 것을 나타내는 피드백을 제공하면, 대화형 보조 모듈은 특정 리소스의 민감도 레벨을 증가시킬 수 있다.
다른 예로서, 요청된 리소스의 특징들은 높은 (또는 낮은) 민감도로 알려진 다른 리소스들의 특징과 비교되어 요청된 리소스이 고감도인지를 결정할 수 있다. 일부 구현들에서, 기계 학습 모델은 다양한 감도 표시로 표시된 리소스의 특징을 포함하는 훈련 데이터로 훈련될 수 있다. 그런 다음, 기계 학습 모델을 라벨이 지정되지 않은 리소스의 기능에 적용하여 민감도 수준을 결정할 수 있다.
또 다른 구현들에서, 규칙들 및/또는 휴리스틱스가 요청된 리소스의 민감도 레벨을 결정하기 위해 사용될 수 있다. 예를 들어, 요청된 리소스가 주소, 사회 보장 번호, 계좌 정보 등과 같이 제2 사용자에 대한 개인 및/또는 기밀 정보를 포함하거나 액세스를 허용하는 문서 또는 기타 리소스라고 가정한다. 이러한 시나리오에서, 대화형 보조 모듈은 하나 이상의 규칙들을 만족하기 때문에 요청된 리소스를 고감도로 분류할 수 있다.
블록(668)에서의 응답이 아니오(즉, 요청된 리소스가 고감도로 간주되지 않음)이면, 방법(650)은 블록(670)으로 진행할 수 있다. 블록(670)에서, 대화형 보조 모듈은 제1 (즉, 요구하는) 사용자에게 리소스에 대한 액세스를 제공할 수 있다. 예를 들어, 대화형 보조 모듈은 제1 사용자로부터의 전화 호출을 제2 사용자에 패치할 수 있다. 또는, 대화형 보조 모듈은 제1 사용자에게 제2 사용자의 위치, 상태, 문맥 등과 같은 요청된 정보를 제공할 수 있다. 일부 구현들에서, 제1 사용자는 제2 사용자의 캘린더 엔트리의 추가/변경, 제2 사용자에 대한 리마인더 설정 등과 같은 리소스를 수정하도록 허용될 수 있다.
그러나, 블록(668)에서의 응답이 예(즉, 요청된 리소스가 고감도로 간주됨)이면, 방법(650)은 블록(672)으로 진행할 수 있다. 블록(672)에서, 대화형 보조 모듈은 요청된 리소스에 대한 액세스를 제1 사용자에게 제공하기 위해 제2 (즉, 제어하는) 사용자로부터 허가를 얻을 수 있다. 일부 구현들에서, 대화형 보조 모듈은 제2 사용자로부터의 허락을 요구하는 클라이언트 디바이스의 제2 사용자의 생태계 중 하나 이상의 클라이언트 디바이스 상에 출력을 제공할 수 있다. 예를 들어, 제2 사용자는 자신의 스마트 폰에 대한 팝업 알림, 독립형 음성 활성화 제품(예를 들어, 스마트 스피커) 또는 차량용 컴퓨팅 시스템에 대한 오디오 요청, 스마트 TV에서의 시각 및/또는 오디오 요청 등을 수신할 수 있다. 제2 사용자가 허가를 부여한다고 가정하면, 방법(650)은 이전에 설명된 블록(670)으로 진행할 수 있다.
몇몇 구현들이 본 명세서에서 설명되고 예시되었지만, 기능을 수행하고 그리고/또는 결과들 및/또는 여기에 서술된 하나 이상의 이점들을 얻기 위한 다양한 다른 수단 및/또는 구조들이 이용될 수 있고, 그리고 그러한 변형들 및/또는 수정들 각각은 본 명세서에서 서술된 구현들의 범위 내에 있는 것으로 간주된다. 보다 일반적으로는, 여기에 서술된 모든 파라미터들, 치수들, 재료들 및 구성들은 예시적인 것이며, 실제 파라미터, 치수들, 재료들 및/또는 구성들은 특정 애플리케이션 또는 그 교시들이 사용되는 애플리케이션들이 의존할 것이다. 통상의 기술자는 일상적인 실험만을 사용하여 본 명세서에서 서술된 특정 구현들에 대한 많은 균등물을 인식할 수 있거나 또는 확인할 수 있을 것이다. 따라서, 전술한 구현들은 단지 예일 뿐이며, 첨부된 청구 범위 및 그 등가물의 범위 내에서, 구현들은 구체적으로 서술되고 청구된 것과 다르게 실시될 수 있음을 이해해야 한다. 본 개시의 구현들은 여기에 서술된 각각의 개별적인 피처, 시스템, 물품, 재료, 키트 및/또는 방법에 관한 것이다. 또한, 그러한 피처들, 시스템들, 물품들, 재료들, 키트들 및/또는 방법들이 상호 불일치하지 않는 경우, 둘 이상의 그러한 피처들, 시스템들, 물품들, 재료들, 키트들 및/또는 방법들의 임의의 조합이 본 발명의 범위 내에 포함된다.

Claims (20)

  1. 컴퓨터로 구현되는 방법으로서,
    하나 이상의 프로세서들에 의해 동작되는 대화형 보조 모듈(interactive assistant module)에 의해, 제2 사용자에 의해 제어되는 주어진 리소스에 대한 액세스를 위해 제1 사용자에 의한 요청을 수신하는 단계 - 상기 대화형 보조 모듈은 상기 주어진 리소스에 대한 상기 제1 사용자 액세스를 제공하기 위한 사전 허가가 없으며 - 와;
    상기 대화형 보조 모듈에 의해, 상기 제1 사용자와 상기 제2 사용자 간의 제1 관계의 하나 이상의 속성들을 결정하는 단계 - 이러한 하나 이상의 속성들은 상기 제1 사용자와 연관된 제1 세트의 하나 이상의 허가들을 포함하고, 상기 제1 세트의 각각의 허가는, 상기 대화형 보조 모듈이 상기 제2 사용자에 의해 제어되는 리소스에 상기 제1 사용자 액세스를 제공함을 허용하며 - 와;
    상기 대화형 보조 모듈에 의해, 상기 제2 사용자와 하나 이상의 다른 사용자들 간의 하나 이상의 다른 관계들의 하나 이상의 속성들을 결정하는 단계 - 이러한 하나 이상의 속성들은 상기 하나 이상의 다른 사용자들과 연관된 하나 이상의 허가들의 하나 이상의 추가적인 세트들을 포함하고, 상기 하나 이상의 추가적인 세트들의 각 세트는 상기 하나 이상의 다른 사용자들 중 상이한 사용자와 연관되며, 각각의 추가적인 세트의 각각의 허가는 상기 대화형 보조 모듈이 상기 추가 세트와 관련된 사용자에게 상기 허가와 관련된 리소스에 대한 액세스를 제공할 수 있도록 하며, 그리고 상기 대화형 보조 모듈은 상기 하나 이상의 다른 사용자들에게 상기 주어진 리소스에 대한 액세스를 제공하기 위한 사전 허가를 가지며 - 와;
    상기 대화형 보조 모듈에 의해, 상기 제1 관계의 하나 이상의 속성들을 상기 하나 이상의 다른 관계들의 하나 이상의 속성들과 비교하는 단계와;
    상기 비교에 기초하여, 상기 대화형 보조 모듈에 의해, 상기 주어진 리소스에 대한 상기 제1 사용자 액세스를 제공하는 허가를 조건부로 가정하는 단계와; 그리고
    상기 조건부 가정에 적어도 부분적으로 기초하여, 상기 대화형 보조 모듈에 의해, 상기 주어진 리소스에 대한 제1 사용자 액세스를 제공하는 단계를 포함하는 것을 특징으로 하는
    컴퓨터로 구현되는 방법.
  2. 제1항에 있어서,
    상기 제1 세트 또는 상기 추가적인 세트들 중 하나 이상의 적어도 하나의 허가는 제3 자 애플리케이션과 연관되는 것을 특징으로 하는
    컴퓨터로 구현되는 방법.
  3. 제1항 또는 제2항에 있어서,
    상기 주어진 리소스에 대한 상기 제1 사용자 액세스를 제공하도록 상기 제2 사용자에게 허가를 요청하는 출력을, 상기 대화형 보조 모듈에 의해, 하나 이상의 출력 디바이스들을 통해, 제공하는 단계를 더 포함하고,
    상기 주어진 리소스에 대한 액세스는 상기 요청에 대한 응답에 더 기초하여 제공되며, 상기 응답은 상기 제2 사용자에 의해 제공되는 것을 특징으로 하는
    컴퓨터로 구현되는 방법.
  4. 제1항에 있어서,
    상기 주어진 리소스에 대한 액세스는 상기 주어진 리소스의 민감도 레벨에 더 기초하여 제공되는 것을 특징으로 하는
    컴퓨터로 구현되는 방법.
  5. 제1항에 있어서,
    상기 주어진 리소스는 상기 제1 사용자와 상기 제2 사용자 사이의 음성 통신 채널을 포함하는 것을 특징으로 하는
    컴퓨터로 구현되는 방법.
  6. 제1항에 있어서,
    상기 제1 관계의 하나 이상의 속성들 및 상기 하나 이상의 다른 관계들의 하나 이상의 속성들을 결정하는 단계는:
    상기 제1 사용자, 상기 제2 사용자 및 상기 하나 이상의 다른 사용자들의 속성을 나타내는 복수의 특징 벡터들을 형성하는 단계; 및
    하나 이상의 기계 학습 모델들을 사용하여 상기 복수의 특징 벡터들 중 적어도 일부 간의 거리들을 결정하는 단계를 포함하고,
    상기 복수의 특징 벡터들의 주어진 쌍 간의 거리는 상기 특징 벡터들의 주어진 쌍에 의해 표현되는 2명의 사용자들 간의 관계를 나타내는 것을 특징으로 하는
    컴퓨터로 구현되는 방법.
  7. 하나 이상의 프로세서들 및 상기 하나 이상의 프로세서들과 동작 가능하게 결합된 메모리를 포함하는 시스템으로서,
    상기 메모리는, 상기 하나 이상의 프로세서들에 의한 명령어들의 실행에 응답하여, 상기 하나 이상의 프로세서들로 하여금 대화형 보조 모듈을 동작하도록 하는 명령어들을 저장하고, 상기 대화형 보조 모듈은:
    제2 사용자에 의해 제어되는 주어진 리소스에 대한 액세스를 위해 제1 사용자에 의한 요청을 수신하고, 상기 대화형 보조 모듈은 상기 주어진 리소스에 대한 상기 제1 사용자 액세스를 제공하기 위한 사전 허가가 없으며,
    상기 제1 사용자와 연관된 신뢰 레벨을 결정하고, 상기 신뢰 레벨은 상기 제1 사용자와 제2 사용자 사이의 관계의 하나 이상의 속성들에 기초하여 상기 대화형 보조 모듈에 의해 추론되며, 이러한 하나 이상의 속성들은 상기 제1 사용자와 연관된 제1 세트의 하나 이상의 허가들을 포함하고, 상기 제1 세트의 각각의 허가는, 상기 대화형 보조 모듈이 상기 제2 사용자에 의해 제어되는 리소스에 상기 제1 사용자 액세스를 제공함을 허용하며,
    상기 신뢰 레벨과 관련된 다른 사용자들에 액세스할 수 있는 제2 사용자에 의해 제어되는 리소스들을 관리하는 하나 이상의 기준을 식별하고, 그리고
    상기 요청이 상기 하나 이상의 기준을 만족시킨다는 결정에 응답하여 상기 주어진 리소스에 대한 상기 제1 사용자 액세스를 제공하도록 구성되는 것을 특징으로 하는
    시스템.
  8. 제7항에 있어서,
    상기 제1 사용자와 관련된 신뢰 레벨은 상기 제1 사용자와 관련된 하나 이상의 허가들의 제1 세트에 기초하여 추론되고; 상기 제1 세트의 각각의 허가는 상기 대화형 보조 모듈이 상기 제2 사용자에 의해 제어되는 리소스에 대한 상기 제1 사용자 액세스를 제공하는 것을 허용하는 것을 특징으로 하는
    시스템.
  9. 제8항에 있어서,
    상기 제1 사용자와 관련된 신뢰 레벨은 하나 이상의 다른 사용자들과 관련된 하나 이상의 허가들의 하나 이상의 추가 세트들에 기초하여 또한 추론되며, 상기 대화형 보조 모듈은 상기 하나 이상의 다른 사용자들에게 상기 주어진 리소스에 대한 액세스를 제공하기 위한 사전 허가를 가지며, 상기 하나 이상의 추가 세트들의 각각의 세트는 상기 하나 이상의 다른 사용자들 중 상이한 사용자와 연관되는 것을 특징으로 하는
    시스템.
  10. 제9항에 있어서,
    상기 각각의 추가 세트의 각각의 허가는 상기 대화형 보조 모듈이 상기 추가 세트와 관련된 사용자에게 상기 허가와 관련된 리소스에 대한 액세스를 제공하는 것을 허용하는 것을 특징으로 하는
    시스템.
  11. 제10항에 있어서,
    상기 제1 세트 또는 상기 추가적인 세트들 중 하나 이상의 적어도 하나의 허가는 제3 자 애플리케이션과 관련되는 것을 특징으로 하는
    시스템.
  12. 제7항 내지 제11항 중 어느 한 항에 있어서,
    상기 주어진 리소스에 대한 상기 제1 사용자 액세스를 제공하기 위한 허가를 위해 상기 제2 사용자에게 요구하는 출력을, 상기 대화형 보조 모듈로 하여금 하나 이상의 출력 디바이스들을 통해 제공하도록 하는 명령어들을 더 포함하고, 상기 하나 이상의 기준은 상기 제2 사용자에 의해 제공되는 상기 요구에 대한 응답을 포함하는 것을 특징으로 하는
    시스템.
  13. 제7항에 있어서,
    상기 주어진 리소스은 상기 제2 사용자에 의해 제어되는 데이터를 포함하는 것을 특징으로 하는
    시스템.
  14. 제7항에 있어서,
    상기 주어진 리소스는 상기 제1 사용자와 상기 제2 사용자 사이의 음성 통신 채널을 포함하는 것을 특징으로 하는
    시스템.
  15. 적어도 하나의 비 일시적인 컴퓨터 판독가능한 매체로서,
    상기 컴퓨터 판독가능한 매체는, 하나 이상의 프로세서들에 의한 명령어들의 실행에 응답하여, 상기 하나 이상의 프로세서들로 하여금 하기의 동작들을 수행하도록 하는 명령어들을 포함하고, 하기의 동작들은:
    하나 이상의 프로세서들에 의해 동작되는 대화형 보조 모듈에 의해, 제2 사용자에 의해 제어되는 주어진 리소스에 대한 액세스를 위해 제1 사용자에 의한 요청을 수신하는 단계 - 상기 대화형 보조 모듈은 상기 주어진 리소스에 대한 상기 제1 사용자 액세스를 제공하기 위한 사전 허가가 없으며 - 와;
    상기 대화형 보조 모듈에 의해, 상기 제1 사용자와 상기 제2 사용자 간의 제1 관계의 하나 이상의 속성들을 결정하는 단계 - 이러한 하나 이상의 속성들은 상기 제1 사용자와 연관된 제1 세트의 하나 이상의 허가들을 포함하고, 상기 제1 세트의 각각의 허가는, 상기 대화형 보조 모듈이 상기 제2 사용자에 의해 제어되는 리소스에 상기 제1 사용자 액세스를 제공함을 허용하며 - 와;
    상기 대화형 보조 모듈에 의해, 상기 제2 사용자와 하나 이상의 다른 사용자들 간의 하나 이상의 다른 관계들의 하나 이상의 속성들을 결정하는 단계 - 이러한 하나 이상의 속성들은 상기 하나 이상의 다른 사용자들과 연관된 하나 이상의 허가들의 하나 이상의 추가적인 세트들을 포함하고, 상기 하나 이상의 추가적인 세트들의 각 세트는 상기 하나 이상의 다른 사용자들 중 상이한 사용자와 연관되며, 각각의 추가적인 세트의 각각의 허가는 상기 대화형 보조 모듈이 상기 추가 세트와 관련된 사용자에게 상기 허가와 관련된 리소스에 대한 액세스를 제공할 수 있도록 하며, 그리고 상기 대화형 보조 모듈은 상기 하나 이상의 다른 사용자들에게 상기 주어진 리소스에 대한 액세스를 제공하기 위한 사전 허가를 가지며 - 와;
    상기 대화형 보조 모듈에 의해, 상기 제1 관계의 하나 이상의 속성들을 상기 하나 이상의 다른 관계들의 하나 이상의 속성들과 비교하는 단계와; 그리고
    상기 비교에 기초하여, 상기 대화형 보조 모듈에 의해, 상기 주어진 리소스에 대한 제1 사용자 액세스를 제공하는 단계를 포함하는 것을 특징으로 하는
    적어도 하나의 비 일시적인 컴퓨터 판독가능한 매체.
  16. 삭제
  17. 삭제
  18. 삭제
  19. 삭제
  20. 삭제
KR1020197021315A 2016-12-20 2017-09-21 대화형 보조 모듈들에 의한 액세스의 조건 규정 KR102116959B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/385,227 2016-12-20
US15/385,227 US20190207946A1 (en) 2016-12-20 2016-12-20 Conditional provision of access by interactive assistant modules
PCT/US2017/052709 WO2018118164A1 (en) 2016-12-20 2017-09-21 Conditional provision of access by interactive assistant modules

Publications (2)

Publication Number Publication Date
KR20190099275A KR20190099275A (ko) 2019-08-26
KR102116959B1 true KR102116959B1 (ko) 2020-05-29

Family

ID=60037702

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020197021315A KR102116959B1 (ko) 2016-12-20 2017-09-21 대화형 보조 모듈들에 의한 액세스의 조건 규정

Country Status (8)

Country Link
US (2) US20190207946A1 (ko)
EP (1) EP3488376B1 (ko)
JP (1) JP6690063B2 (ko)
KR (1) KR102116959B1 (ko)
CN (1) CN108205627B (ko)
DE (2) DE102017122358A1 (ko)
GB (1) GB2558037A (ko)
WO (1) WO2018118164A1 (ko)

Families Citing this family (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190207946A1 (en) * 2016-12-20 2019-07-04 Google Inc. Conditional provision of access by interactive assistant modules
US10846417B2 (en) * 2017-03-17 2020-11-24 Oracle International Corporation Identifying permitted illegal access operations in a module system
US11436417B2 (en) 2017-05-15 2022-09-06 Google Llc Providing access to user-controlled resources by automated assistants
US10127227B1 (en) 2017-05-15 2018-11-13 Google Llc Providing access to user-controlled resources by automated assistants
US11640436B2 (en) * 2017-05-15 2023-05-02 Ebay Inc. Methods and systems for query segmentation
US10089480B1 (en) 2017-08-09 2018-10-02 Fmr Llc Access control governance using mapped vector spaces
EP4418146A1 (en) 2018-08-07 2024-08-21 Google Llc Assembling and evaluating automated assistant responses for privacy concerns
WO2020129182A1 (ja) * 2018-12-19 2020-06-25 株式会社ニコン 対話装置、対話システムおよび対話プログラム
US11567986B1 (en) 2019-03-19 2023-01-31 Meta Platforms, Inc. Multi-level navigation for media content
US11150782B1 (en) 2019-03-19 2021-10-19 Facebook, Inc. Channel navigation overviews
US11308176B1 (en) 2019-03-20 2022-04-19 Meta Platforms, Inc. Systems and methods for digital channel transitions
USD943625S1 (en) 2019-03-20 2022-02-15 Facebook, Inc. Display screen with an animated graphical user interface
US10868788B1 (en) 2019-03-20 2020-12-15 Facebook, Inc. Systems and methods for generating digital channel content
USD938482S1 (en) 2019-03-20 2021-12-14 Facebook, Inc. Display screen with an animated graphical user interface
USD943616S1 (en) 2019-03-22 2022-02-15 Facebook, Inc. Display screen with an animated graphical user interface
USD933696S1 (en) 2019-03-22 2021-10-19 Facebook, Inc. Display screen with an animated graphical user interface
USD937889S1 (en) 2019-03-22 2021-12-07 Facebook, Inc. Display screen with an animated graphical user interface
USD949907S1 (en) 2019-03-22 2022-04-26 Meta Platforms, Inc. Display screen with an animated graphical user interface
USD934287S1 (en) 2019-03-26 2021-10-26 Facebook, Inc. Display device with graphical user interface
USD944827S1 (en) 2019-03-26 2022-03-01 Facebook, Inc. Display device with graphical user interface
USD944848S1 (en) 2019-03-26 2022-03-01 Facebook, Inc. Display device with graphical user interface
USD944828S1 (en) 2019-03-26 2022-03-01 Facebook, Inc. Display device with graphical user interface
US11048808B2 (en) * 2019-04-28 2021-06-29 International Business Machines Corporation Consent for common personal information
WO2021065098A1 (ja) * 2019-10-01 2021-04-08 ソニー株式会社 情報処理装置、情報処理システム、情報処理方法
US11916913B2 (en) * 2019-11-22 2024-02-27 International Business Machines Corporation Secure audio transcription
US11748456B2 (en) * 2019-12-05 2023-09-05 Sony Interactive Entertainment Inc. Secure access to shared digital content
CN111274596B (zh) * 2020-01-23 2023-03-14 百度在线网络技术(北京)有限公司 设备交互方法、权限管理方法、交互设备及用户端
US11575677B2 (en) 2020-02-24 2023-02-07 Fmr Llc Enterprise access control governance in a computerized information technology (IT) architecture
USD938449S1 (en) 2020-08-31 2021-12-14 Facebook, Inc. Display screen with a graphical user interface
USD938448S1 (en) 2020-08-31 2021-12-14 Facebook, Inc. Display screen with a graphical user interface
USD938451S1 (en) 2020-08-31 2021-12-14 Facebook, Inc. Display screen with a graphical user interface
US11188215B1 (en) 2020-08-31 2021-11-30 Facebook, Inc. Systems and methods for prioritizing digital user content within a graphical user interface
USD938447S1 (en) 2020-08-31 2021-12-14 Facebook, Inc. Display screen with a graphical user interface
US11347388B1 (en) 2020-08-31 2022-05-31 Meta Platforms, Inc. Systems and methods for digital content navigation based on directional input
USD938450S1 (en) 2020-08-31 2021-12-14 Facebook, Inc. Display screen with a graphical user interface
CN112597508A (zh) * 2020-11-20 2021-04-02 深圳市世强元件网络有限公司 一种服务平台用户权限管理方法及计算机设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040117371A1 (en) 2002-12-16 2004-06-17 Bhide Manish Anand Event-based database access execution
US20060253456A1 (en) 2005-05-06 2006-11-09 Microsoft Corporation Permissions using a namespace
US20160212138A1 (en) 2015-01-15 2016-07-21 Microsoft Technology Licensing, Llc. Contextually aware sharing recommendations

Family Cites Families (154)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3651270A (en) * 1970-10-26 1972-03-21 Stromberg Carlson Corp Message waiting and do-not-disturb arrangement
US5375244A (en) * 1992-05-29 1994-12-20 At&T Corp. System and method for granting access to a resource
US5373549A (en) * 1992-12-23 1994-12-13 At&T Corp. Multi-level conference management and notification
US5583924A (en) * 1995-02-13 1996-12-10 Cidco Incorporated Caller ID and call waiting for multiple CPES on a single telephone line
JP3195752B2 (ja) * 1997-02-28 2001-08-06 シャープ株式会社 検索装置
US6181736B1 (en) * 1997-03-25 2001-01-30 Nxi Communications, Inc. Network communication system
JP3740281B2 (ja) * 1997-06-30 2006-02-01 キヤノン株式会社 通信システム、通信制御装置、その制御方法および記憶媒体
US8380796B2 (en) * 1997-11-02 2013-02-19 Amazon Technologies, Inc. Social networking system
US6148081A (en) * 1998-05-29 2000-11-14 Opentv, Inc. Security model for interactive television applications
US6366654B1 (en) * 1998-07-06 2002-04-02 Nortel Networks Limited Method and system for conducting a multimedia phone cell
US6938256B2 (en) * 2000-01-18 2005-08-30 Galactic Computing Corporation System for balance distribution of requests across multiple servers using dynamic metrics
US6751621B1 (en) * 2000-01-27 2004-06-15 Manning & Napier Information Services, Llc. Construction of trainable semantic vectors and clustering, classification, and searching using trainable semantic vectors
US6411683B1 (en) * 2000-02-09 2002-06-25 At&T Corp. Automated telephone call designation system
US8200577B2 (en) * 2001-03-20 2012-06-12 Verizon Business Global Llc Systems and methods for retrieving and modifying data records for rating and billing purposes
US7028074B2 (en) * 2001-07-03 2006-04-11 International Business Machines Corporation Automatically determining the awareness settings among people in distributed working environment
US7206559B2 (en) * 2001-10-16 2007-04-17 Hewlett-Packard Development Company, L.P. System and method for a mobile computing device to control appliances
US7616754B2 (en) * 2001-11-09 2009-11-10 Herzel Laor Method and system for computer-based private branch exchange
US7228335B2 (en) * 2002-02-19 2007-06-05 Goodcontacts Research Ltd. Method of automatically populating contact information fields for a new contract added to an electronic contact database
US7210163B2 (en) * 2002-07-19 2007-04-24 Fujitsu Limited Method and system for user authentication and authorization of services
US20050249023A1 (en) * 2002-09-02 2005-11-10 Koninklijke Philips Electronics N.V. Device and method for overriding a do-not-disturb mode
US8661079B2 (en) * 2003-02-20 2014-02-25 Qualcomm Incorporated Method and apparatus for establishing an invite-first communication session
EP1460852A1 (fr) * 2003-03-21 2004-09-22 THOMSON Licensing S.A. Procédé et dispositif de diffusion et de chargement d'une information dans un système de communication du type télévision numérique
US9015239B2 (en) * 2003-12-22 2015-04-21 International Business Machines Corporation System and method for integrating third party applications into a named collaborative space
US20060031510A1 (en) * 2004-01-26 2006-02-09 Forte Internet Software, Inc. Methods and apparatus for enabling a dynamic network of interactors according to personal trust levels between interactors
WO2005122059A1 (en) * 2004-06-09 2005-12-22 Koninklijke Philips Electronics N.V. Biometric template similarity based on feature locations
EP1779263A1 (de) * 2004-08-13 2007-05-02 Swiss Reinsurance Company Sprach- und textanalysevorrichtung und entsprechendes verfahren
US20070168461A1 (en) * 2005-02-01 2007-07-19 Moore James F Syndicating surgical data in a healthcare environment
US20130104251A1 (en) * 2005-02-01 2013-04-25 Newsilike Media Group, Inc. Security systems and methods for use with structured and unstructured data
US8554599B2 (en) * 2005-03-25 2013-10-08 Microsoft Corporation Work item rules for a work item tracking system
US8223208B2 (en) * 2005-11-10 2012-07-17 Motion Analysis Corporation Device and method for calibrating an imaging device for generating three dimensional surface models of moving objects
US7873584B2 (en) * 2005-12-22 2011-01-18 Oren Asher Method and system for classifying users of a computer network
US8625749B2 (en) * 2006-03-23 2014-01-07 Cisco Technology, Inc. Content sensitive do-not-disturb (DND) option for a communication system
CA2648106A1 (en) * 2006-03-31 2007-11-01 Bayer Healthcare Llc Methods for prediction and prognosis of cancer, and monitoring cancer therapy
US20070271453A1 (en) * 2006-05-19 2007-11-22 Nikia Corporation Identity based flow control of IP traffic
EP2027537A4 (en) * 2006-06-09 2011-01-05 Aastra Usa Inc AUTOMATIC GROUP COMMUNICATION
US20080046369A1 (en) * 2006-07-27 2008-02-21 Wood Charles B Password Management for RSS Interfaces
CN1937663A (zh) * 2006-09-30 2007-03-28 华为技术有限公司 实现变声通话业务的方法、系统及装置
EP2098010A1 (en) * 2006-11-30 2009-09-09 WANLESS, James Andrew A method and system for providing automated real-time contact information
US7886334B1 (en) * 2006-12-11 2011-02-08 Qurio Holdings, Inc. System and method for social network trust assessment
WO2008114811A1 (ja) * 2007-03-19 2008-09-25 Nec Corporation 情報検索システム、情報検索方法及び情報検索用プログラム
US9275247B2 (en) * 2007-09-24 2016-03-01 Gregory A. Pearson, Inc. Interactive networking systems with user classes
US9247398B2 (en) * 2007-11-02 2016-01-26 Sonim Technologies, Inc. Methods for barging users on a real-time communications network
CA2710427C (en) * 2007-12-21 2018-04-24 Thomson Reuters Global Resources Systems, methods, and software for entity relationship resolution
US8010902B2 (en) * 2008-02-14 2011-08-30 Oracle America, Inc. Method and system for tracking social capital
US20090216859A1 (en) * 2008-02-22 2009-08-27 Anthony James Dolling Method and apparatus for sharing content among multiple users
US8732246B2 (en) * 2008-03-14 2014-05-20 Madhavi Jayanthi Mobile social network for facilitating GPS based services
US8150015B1 (en) * 2008-06-10 2012-04-03 Sprint Communications Company L.P. System and method of phone bridging
US20100005518A1 (en) * 2008-07-03 2010-01-07 Motorola, Inc. Assigning access privileges in a social network
ES2337437B8 (es) * 2008-10-22 2011-08-02 Telefonica S.A. S de red seguros basado en el contextoprocedimiento y sistema para controlar el acceso inalambrico a recurso.
US8311824B2 (en) * 2008-10-27 2012-11-13 Nice-Systems Ltd Methods and apparatus for language identification
US8386572B2 (en) * 2008-12-31 2013-02-26 International Business Machines Corporation System and method for circumventing instant messaging do-not-disturb
US9195739B2 (en) * 2009-02-20 2015-11-24 Microsoft Technology Licensing, Llc Identifying a discussion topic based on user interest information
US8204197B2 (en) * 2009-02-27 2012-06-19 Research In Motion Limited Method and system for conference call scheduling via e-mail
US20120002008A1 (en) * 2010-07-04 2012-01-05 David Valin Apparatus for secure recording and transformation of images to light for identification, and audio visual projection to spatial point targeted area
EP2439653A4 (en) * 2009-07-14 2013-03-13 Sony Corp CONTENT RECOMMENDATION SYSTEM, CONTENT RECOMMENDATION METHOD, CONTENT RECOMMENDATION DEVICE, AND INFORMATION RECORDING MEDIUM
US8620929B2 (en) * 2009-08-14 2013-12-31 Google Inc. Context based resource relevance
US9043877B2 (en) * 2009-10-06 2015-05-26 International Business Machines Corporation Temporarily providing higher privileges for computing system to user identifier
US8995423B2 (en) * 2009-10-21 2015-03-31 Genesys Telecommunications Laboratories, Inc. Multimedia routing system for securing third party participation in call consultation or call transfer of a call in Progress
US20130036455A1 (en) * 2010-01-25 2013-02-07 Nokia Siemens Networks Oy Method for controlling acess to resources
EP2550765B1 (en) * 2010-03-26 2019-01-02 Nokia Technologies Oy Method and apparatus for providing a trust level to access a resource
JP5751251B2 (ja) * 2010-03-26 2015-07-22 日本電気株式会社 意味抽出装置、意味抽出方法、および、プログラム
US9037701B1 (en) * 2010-04-29 2015-05-19 Secovix Corporation Systems, apparatuses, and methods for discovering systems and apparatuses
US9565715B2 (en) * 2010-05-13 2017-02-07 Mediatek Inc. Apparatuses and methods for coordinating operations between circuit switched (CS) and packet switched (PS) services with different subscriber identity cards, and machine-readable storage medium
US8270684B2 (en) * 2010-07-27 2012-09-18 Google Inc. Automatic media sharing via shutter click
US9122851B2 (en) * 2010-08-02 2015-09-01 3 Fish Limited Identity assessment method and system
US20120130771A1 (en) * 2010-11-18 2012-05-24 Kannan Pallipuram V Chat Categorization and Agent Performance Modeling
US8559926B1 (en) * 2011-01-07 2013-10-15 Sprint Communications Company L.P. Telecom-fraud detection using device-location information
US9183514B2 (en) * 2011-02-25 2015-11-10 Avaya Inc. Advanced user interface and control paradigm including contextual collaboration for multiple service operator extended functionality offers
US20120222132A1 (en) * 2011-02-25 2012-08-30 Microsoft Corporation Permissions Based on Behavioral Patterns
US8479302B1 (en) * 2011-02-28 2013-07-02 Emc Corporation Access control via organization charts
US8576750B1 (en) * 2011-03-18 2013-11-05 Google Inc. Managed conference calling
US8811281B2 (en) * 2011-04-01 2014-08-19 Cisco Technology, Inc. Soft retention for call admission control in communication networks
US20120275450A1 (en) * 2011-04-29 2012-11-01 Comcast Cable Communications, Llc Obtaining Services Through a Local Network
US8656465B1 (en) * 2011-05-09 2014-02-18 Google Inc. Userspace permissions service
US8971924B2 (en) * 2011-05-23 2015-03-03 Apple Inc. Identifying and locating users on a mobile network
US20120309510A1 (en) * 2011-06-03 2012-12-06 Taylor Nathan D Personalized information for a non-acquired asset
US8873814B2 (en) * 2011-11-18 2014-10-28 Ca, Inc. System and method for using fingerprint sequences for secured identity verification
US9489472B2 (en) * 2011-12-16 2016-11-08 Trimble Navigation Limited Method and apparatus for detecting interference in design environment
US8914632B1 (en) * 2011-12-21 2014-12-16 Google Inc. Use of access control lists in the automated management of encryption keys
JP5785869B2 (ja) * 2011-12-22 2015-09-30 株式会社日立製作所 行動属性分析プログラムおよび装置
US8769676B1 (en) * 2011-12-22 2014-07-01 Symantec Corporation Techniques for identifying suspicious applications using requested permissions
TWI475412B (zh) * 2012-04-02 2015-03-01 Ind Tech Res Inst 數位內容次序調整方法和數位內容匯流器
US8925106B1 (en) * 2012-04-20 2014-12-30 Google Inc. System and method of ownership of an online collection
US20140328570A1 (en) * 2013-01-09 2014-11-06 Sri International Identifying, describing, and sharing salient events in images and videos
US9117444B2 (en) * 2012-05-29 2015-08-25 Nuance Communications, Inc. Methods and apparatus for performing transformation techniques for data clustering and/or classification
US9531607B1 (en) * 2012-06-20 2016-12-27 Amazon Technologies, Inc. Resource manager
US20140019536A1 (en) * 2012-07-12 2014-01-16 International Business Machines Corporation Realtime collaboration system to evaluate join conditions of potential participants
JP5949272B2 (ja) * 2012-07-25 2016-07-06 株式会社リコー 通信システムおよびプログラム
US8786662B2 (en) * 2012-08-11 2014-07-22 Nikola Vladimir Bicanic Successive real-time interactive video sessions
US8990329B1 (en) * 2012-08-12 2015-03-24 Google Inc. Access control list for a multi-user communication session
US20140074545A1 (en) * 2012-09-07 2014-03-13 Magnet Systems Inc. Human workflow aware recommendation engine
JP2014067154A (ja) * 2012-09-25 2014-04-17 Toshiba Corp 文書分類支援装置、方法及びプログラム
CN102880720B (zh) * 2012-10-15 2015-09-23 刘超 信息资源管理及语义检索方法
JP6051782B2 (ja) * 2012-10-31 2016-12-27 株式会社リコー 通信システムおよびプログラム
WO2014110279A1 (en) * 2013-01-09 2014-07-17 Evernym, Inc. Systems and methods for access-controlled interactions
CA2898909C (en) * 2013-01-22 2017-09-05 Amazon Technologies, Inc. Use of freeform metadata for access control
US9058470B1 (en) * 2013-03-04 2015-06-16 Ca, Inc. Actual usage analysis for advanced privilege management
JP6379496B2 (ja) * 2013-03-12 2018-08-29 株式会社リコー 管理装置、通信システム及びプログラム
US20140280223A1 (en) * 2013-03-13 2014-09-18 Deja.io, Inc. Media recommendation based on media content information
US9602556B1 (en) * 2013-03-15 2017-03-21 CSC Holdings, LLC PacketCable controller for voice over IP network
US9832206B2 (en) * 2013-03-21 2017-11-28 The Trustees Of Dartmouth College System, method and authorization device for biometric access control to digital devices
US20140310044A1 (en) * 2013-04-16 2014-10-16 Go Daddy Operating comapny, LLC Transmitting an Electronic Message to Calendar Event Invitees
JP6221489B2 (ja) * 2013-08-09 2017-11-01 株式会社リコー 通信システム、管理装置、通信方法およびプログラム
US20150056951A1 (en) * 2013-08-21 2015-02-26 GM Global Technology Operations LLC Vehicle telematics unit and method of operating the same
KR101452401B1 (ko) * 2013-09-23 2014-10-22 콜투게더 주식회사 원격 전화회의 이용방법 및 그 시스템
US9386148B2 (en) * 2013-09-23 2016-07-05 Ooma, Inc. Identifying and filtering incoming telephone calls to enhance privacy
MY171398A (en) * 2013-10-01 2019-10-11 Bank Invoice Corp Information processing apparatus and method for granting access rights
KR101770527B1 (ko) * 2013-11-27 2017-08-22 가부시키가이샤 엔티티 도코모 기계학습에 기초한 자동 태스크 분류 방법
US9804820B2 (en) * 2013-12-16 2017-10-31 Nuance Communications, Inc. Systems and methods for providing a virtual assistant
US9253591B2 (en) * 2013-12-19 2016-02-02 Echostar Technologies L.L.C. Communications via a receiving device network
US9203814B2 (en) * 2014-02-24 2015-12-01 HCA Holdings, Inc. Providing notifications to authorized users
WO2015175548A1 (en) * 2014-05-12 2015-11-19 Diffeo, Inc. Entity-centric knowledge discovery
JP5644977B1 (ja) * 2014-05-16 2014-12-24 富士ゼロックス株式会社 文書管理装置及び文書管理プログラム
AU2015266863B2 (en) * 2014-05-30 2018-03-15 Apple Inc. Multi-command single utterance input method
US9282447B2 (en) * 2014-06-12 2016-03-08 General Motors Llc Vehicle incident response method and system
KR20150144031A (ko) * 2014-06-16 2015-12-24 삼성전자주식회사 음성 인식을 이용하는 사용자 인터페이스 제공 방법 및 사용자 인터페이스 제공 장치
US20150370272A1 (en) * 2014-06-23 2015-12-24 Google Inc. Intelligent configuration of a smart environment based on arrival time
US20150378997A1 (en) * 2014-06-26 2015-12-31 Hapara Inc. Analyzing document revisions to assess literacy
US9712571B1 (en) * 2014-07-16 2017-07-18 Sprint Spectrum L.P. Access level determination for conference participant
WO2016033333A1 (en) * 2014-08-27 2016-03-03 Contentguard Holdings, Inc. Multi-mode protected content wrapper
US10057305B2 (en) * 2014-09-10 2018-08-21 Microsoft Technology Licensing, Llc Real-time sharing during a phone call
US20160100019A1 (en) * 2014-10-03 2016-04-07 Clique Intelligence Contextual Presence Systems and Methods
CN104320772B (zh) * 2014-10-13 2018-02-06 北京邮电大学 基于信任度和物理距离的d2d通信节点成簇方法和装置
JP5962736B2 (ja) * 2014-10-30 2016-08-03 日本電気株式会社 情報処理システム、分類方法、及びそのためのプログラム
US10089364B2 (en) * 2014-10-31 2018-10-02 Kabushiki Kaisha Toshiba Item recommendation device, item recommendation method, and computer program product
CN111414222A (zh) * 2014-12-11 2020-07-14 微软技术许可有限责任公司 能够实现可动作的消息传送的虚拟助理系统
US20160170970A1 (en) * 2014-12-12 2016-06-16 Microsoft Technology Licensing, Llc Translation Control
US20160285816A1 (en) * 2015-03-25 2016-09-29 Facebook, Inc. Techniques for automated determination of form responses
US20160307162A1 (en) * 2015-04-15 2016-10-20 International Business Machines Corporation Managing potential meeting conflicts
US9684798B2 (en) * 2015-05-01 2017-06-20 International Business Machines Corporation Audience-based sensitive information handling for shared collaborative documents
US9769208B2 (en) * 2015-05-28 2017-09-19 International Business Machines Corporation Inferring security policies from semantic attributes
US9807094B1 (en) * 2015-06-25 2017-10-31 Symantec Corporation Systems and methods for dynamic access control over shared resources
US9584658B2 (en) * 2015-07-07 2017-02-28 Teltech Systems, Inc. Call distribution techniques
US10679141B2 (en) * 2015-09-29 2020-06-09 International Business Machines Corporation Using classification data as training set for auto-classification of admin rights
US20170098192A1 (en) * 2015-10-02 2017-04-06 Adobe Systems Incorporated Content aware contract importation
US11573678B2 (en) * 2016-09-26 2023-02-07 Faraday & Future Inc. Content sharing system and method
CN106683661B (zh) * 2015-11-05 2021-02-05 阿里巴巴集团控股有限公司 基于语音的角色分离方法及装置
US10956666B2 (en) * 2015-11-09 2021-03-23 Apple Inc. Unconventional virtual assistant interactions
CN108885870A (zh) * 2015-12-01 2018-11-23 流利说人工智能公司 用于通过将言语到文本系统与言语到意图系统组合来实现声音用户接口的系统和方法
US20180046986A1 (en) * 2016-01-05 2018-02-15 Linkedin Corporation Job referral system
US10757079B2 (en) * 2016-01-12 2020-08-25 Jens Schmidt Method and system for controlling remote session on computer systems using a virtual channel
JP6607061B2 (ja) * 2016-02-05 2019-11-20 富士通株式会社 情報処理装置、データ比較方法、およびデータ比較プログラム
US10095876B2 (en) * 2016-02-09 2018-10-09 Rovi Guides, Inc. Systems and methods for allowing a user to access blocked media
US20170262783A1 (en) * 2016-03-08 2017-09-14 International Business Machines Corporation Team Formation
US10216954B2 (en) * 2016-06-27 2019-02-26 International Business Machines Corporation Privacy detection of a mobile application program
US10956586B2 (en) * 2016-07-22 2021-03-23 Carnegie Mellon University Personalized privacy assistant
US10154539B2 (en) * 2016-08-19 2018-12-11 Sony Corporation System and method for sharing cellular network for call routing
US10523814B1 (en) * 2016-08-22 2019-12-31 Noble Systems Corporation Robocall management system
US10185840B2 (en) * 2016-08-30 2019-01-22 Google Llc Conditional disclosure of individual-controlled content in group contexts
WO2018068176A1 (en) * 2016-10-10 2018-04-19 Microsoft Technology Licensing, Llc Combo of language understanding and information retrieval
US10346625B2 (en) * 2016-10-31 2019-07-09 International Business Machines Corporation Automated mechanism to analyze elevated authority usage and capability
US20180129960A1 (en) * 2016-11-10 2018-05-10 Facebook, Inc. Contact information confidence
US20190207946A1 (en) * 2016-12-20 2019-07-04 Google Inc. Conditional provision of access by interactive assistant modules
JP6805885B2 (ja) * 2017-02-28 2020-12-23 富士通株式会社 情報処理装置、アクセス制御方法、及びアクセス制御プログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040117371A1 (en) 2002-12-16 2004-06-17 Bhide Manish Anand Event-based database access execution
US20060253456A1 (en) 2005-05-06 2006-11-09 Microsoft Corporation Permissions using a namespace
US20160212138A1 (en) 2015-01-15 2016-07-21 Microsoft Technology Licensing, Llc. Contextually aware sharing recommendations

Also Published As

Publication number Publication date
CN108205627A (zh) 2018-06-26
GB201715656D0 (en) 2017-11-08
US20210029131A1 (en) 2021-01-28
EP3488376A1 (en) 2019-05-29
US20190207946A1 (en) 2019-07-04
DE202017105860U1 (de) 2017-11-30
WO2018118164A1 (en) 2018-06-28
JP2020502682A (ja) 2020-01-23
GB2558037A (en) 2018-07-04
KR20190099275A (ko) 2019-08-26
JP6690063B2 (ja) 2020-04-28
EP3488376B1 (en) 2019-12-25
DE102017122358A1 (de) 2018-06-21
CN108205627B (zh) 2021-12-03

Similar Documents

Publication Publication Date Title
KR102116959B1 (ko) 대화형 보조 모듈들에 의한 액세스의 조건 규정
US10635832B2 (en) Conditional disclosure of individual-controlled content in group contexts
US11822695B2 (en) Assembling and evaluating automated assistant responses for privacy concerns
JP7331032B2 (ja) プライベート状態と非プライベート状態との間の遷移
US11006077B1 (en) Systems and methods for dynamically concealing sensitive information
US11886482B2 (en) Methods and systems for providing a secure automated assistant
JP2024020472A (ja) 人間の参加者の代理の自動アシスタントによる準委任通話

Legal Events

Date Code Title Description
A201 Request for examination
A302 Request for accelerated examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant