# US 12,183,347 B2 · Digital assistant processing of stacked data structures

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 12,183,347 B2
- Document ID: US12183347B2
- Status: Granted
- Kind: B2
- Application number: 18/154,448
- Filed: 2023-01-13
- Published: 2023-06-15
- Granted: 2024-12-31
- Earliest claimed: 2020-02-24
- Assignees: Google Inc.
- Applicants: Google LLC
- Inventors: Anshul Kothari; Gaurav Bhaya; Tarun Jain
- Web page: https://patentgrep.com/patent/US12183347B2

## CPC

- G10L 17/00: Speaker identification or verification techniques
- G06F 3/167: {Audio in a user interface, e.g. using voice commands for navigating, audio feedback}
- G06F 9/44: Arrangements for executing specific programs
- G06F 16/903: Querying (for retrieval from the web G06F16/953)
- G06F 21/32: using biometric data, e.g. fingerprints, iris scans or voiceprints
- G10L 15/08: Speech classification or search
- G10L 15/22: Procedures used during a speech recognition process, e.g. man-machine dialogue
- H04L 67/306: User profiles
- H04W 4/021: Services related to particular areas, e.g. point of interest [POI] services, venue services or geofences
- G10L 17/22: Interactive procedures; Man-machine interfaces
- G10L 2015/223: {Execution procedure of a spoken command}
- G10L: SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- H04W: WIRELESS COMMUNICATION NETWORKS (broadcast communication H04H; communication systems using wireless links for non-selective communication, e.g. wireless extensions H04M1/72)

## Abstract

Processing stacked data structures is provided. A system receives an input audio signal detected by a sensor of a local computing device, identifies an acoustic signature, and identifies an account corresponding to the signature. The system establishes a session and a profile stack data structure including a first profile layer having policies configured by a third-party device. The system pushes, to the profile stack data structure, a second profile layer retrieved from the account. The system parses the input audio signal to identify a request and a trigger keyword. The system generates, based on the trigger keyword and the second profile layer, a first action data structure compatible with the first profile layer. The system provides the first action data structure for execution. The system disassembles the profile stack data structure to remove the first profile layer or the second profile layer from the profile stack data structure.

## Claims

### Claim 1

A system, comprising:
a data processing system comprising one or more processors to:
receive data packets comprising an input audio signal detected by a sensor of a computing device;
identify, based on a lookup in a data repository, an electronic account corresponding to the input audio signal, the electronic account comprising a profile layer;
establish, responsive to identification of the electronic account, a profile stack data structure with the profile layer from the electronic account;
parse the data packets to identify a request;
generate, based on the profile stack data structure, a first action data structure that is responsive to the request;
provide the first action data structure for execution; and
remove, responsive to detection of a trigger event, the profile layer from the profile stack data structure.

### Claim 2 (depends on 1)

The system of claim 1, comprising the data processing system to:
identify an acoustic signature from the input audio signal, and wherein the electronic account is identified based on the acoustic signature.

### Claim 3 (depends on 1)

The system of claim 1, comprising the data processing system to:
return, responsive to the trigger event, the profile stack data structure to a default state with a default profile layer.

### Claim 4 (depends on 3)

The system of claim 3, wherein the default profile layer is established by a device of a third party different from the electronic account.

### Claim 5 (depends on 1)

The system of claim 1, wherein a default profile layer comprises a first label that is prioritized higher than a second label of the profile layer, comprising the data processing system to:
identify the second label of the profile layer responsive to the request;
identify the first label of the default profile layer responsive to the request;
determine the first label of the default profile layer has a higher priority than the second label of the profile layer; and
generate the first action data structure with the first label of the default profile layer responsive to the determination that the first label has a higher priority than the first label.

### Claim 6 (depends on 1)

The system of claim 1, comprising the data processing system to:
identify a second action data structure responsive to the request;
determine the second action data structure is incompatible with a default profile layer; and
provide the first action data structure for execution responsive to the determination that the second action data structure is incompatible with the default profile layer.

### Claim 7 (depends on 1)

The system of claim 1, comprising the data processing system to:
identify a second action data structure responsive to the request;
determine the second action data structure is incompatible with a default profile layer; and
provide a status indication to a local computing device that indicates the second action data structure is incompatible with the default profile layer.

### Claim 8 (depends on 1)

The system of claim 1, comprising the data processing system to:
select, responsive to the request, a content item via a real-time content selection process; and
provide the content item with the first action data structure.

### Claim 9 (depends on 1)

The system of claim 1, comprising the data processing system to:
select, via a real-time content selection process, a content item based on the electronic account; and
provide the content item for presentation via audio output from the computing device.

### Claim 10 (depends on 1)

The system of claim 1, comprising the data processing system to:
select, via a real-time content selection process, a content item based on the electronic account and a default profile layer.

### Claim 11 (depends on 1)

The system of claim 1, comprising the data processing system to:
identify, responsive to the request and based on the electronic account, a plurality of candidate content items via a real-time content selection process;
select a content item from the plurality of candidate content items that is compatible with the profile layer; and
provide the content item to a local computing device for presentation via the computing device.

### Claim 12 (depends on 1)

The system of claim 1, comprising the data processing system to:
provide an instruction to the computing device to cause the computing device to display a status indication that indicates the profile layer is loaded.

### Claim 13 (depends on 1)

The system of claim 1, comprising the data processing system to:
apply a noise reduction technique to the input audio signal to facilitate the identification of the input audio signal.

### Claim 14 (depends on 1)

The system of claim 1, comprising the data processing system to:
access a plurality of signatures stored in the data repository; and
analyze the input audio signal to identify a first signature associated with a first user, wherein the electronic account corresponding to the input audio signal is identified based on a comparison of the first signature with the plurality of signatures.

### Claim 15 (depends on 1)

The system of claim 1, comprising the data processing system to:
establish a session with the profile layer having a plurality of policies.

### Claim 16 (depends on 1)

The system of claim 1, wherein a profile stack data structure includes a first profile layer that corresponds to a default profile and a second profile layer that corresponds to the profile layer associated with the electronic account.

### Claim 17

A method comprising:
receiving, by one or more processors of a data processing system, via an interface, data packets comprising an input audio signal detected by a sensor of a local computing device;
receiving, by one or more processors of a data processing system, data packets comprising an input audio signal detected by a sensor of a computing device;
identifying, based on a lookup in a data repository, an electronic account corresponding to the input audio signal, the electronic account comprising a profile layer;
establishing, responsive to identification of the electronic account, a profile stack data structure with the profile layer from the electronic account;
parsing the data packets to identify a request;
generating, based on the profile stack data structure, a first action data structure that is responsive to the request;
providing the first action data structure for execution; and
removing, responsive to detection of a trigger event, the profile layer from the profile stack data structure.

### Claim 18 (depends on 17)

The method of claim 17, comprising:
identifying an acoustic signature from the input audio signal, and wherein the electronic account is identified based on the acoustic signature.

### Claim 19 (depends on 17)

The method of claim 17, comprising:
returning, responsive to the trigger event, the profile stack data structure to a default state with a default profile layer, wherein the default profile layer is established by a device of a third party different from the electronic account.

### Claim 20 (depends on 17)

The method of claim 17, wherein a default profile layer comprises a first label that is prioritized higher than a second label of the profile layer, comprising:
identifying the second label of the profile layer responsive to the request;
identifying the first label of the default profile layer responsive to the request;
determining the first label of the default profile layer has a higher priority than the second label of the profile layer; and
generating the first action data structure with the first label of the default profile layer responsive to the determination that the first label has a higher priority than the first label.

### Claim 21

A digital assistant device, comprising:
an audio driver;
a transducer;
a sensor to detect an input audio signal; and
a pre-processor component coupled to the audio driver, the transducer, and the sensor, the pre-processor component to:
receive data packets comprising an input audio signal detected by a sensor of a computing device;
identify, based on a lookup in a data repository, an electronic account corresponding to the input audio signal, the electronic account comprising a profile layer;
establish, responsive to identification of the electronic account, a profile stack data structure with the profile layer from the electronic account;
parse the data packets to identify a request;
generate, based on the profile stack data structure, a first action data structure that is responsive to the request;
provide the first action data structure for execution; and
remove, responsive to detection of a trigger event, the profile layer from the profile stack data structure.

### Claim 22

A system, comprising:
a data processing system comprising one or more processors to:
receive data packets comprising an input audio signal detected by a sensor of a computing device;
identify, based on a lookup in a data repository, an electronic account corresponding to the input audio signal, the electronic account comprising a profile layer, wherein a default profile layer comprises a first label that is prioritized higher than a second label of the profile layer;
establish, responsive to identification of the electronic account, a profile stack data structure with the profile layer from the electronic account;
parse the data packets to identify a request;
generate, based on the profile stack data structure, a first action data structure that is responsive to the request;
identify the second label of the profile layer responsive to the request;
identify the first label of the default profile layer responsive to the request;
determine the first label of the default profile layer has a higher priority than the second label of the profile layer;
generate the first action data structure with the first label of the default profile layer responsive to the determination that the first label has a higher priority than the first label; and
provide the first action data structure for execution.

### Claim 23

A system, comprising:
a data processing system comprising one or more processors to:
receive data packets comprising an input audio signal detected by a sensor of a computing device;
identify, based on a lookup in a data repository, an electronic account corresponding to the input audio signal, the electronic account comprising a profile layer;
establish, responsive to identification of the electronic account, a profile stack data structure with the profile layer from the electronic account;
parse the data packets to identify a request;
generate, based on the profile stack data structure, a first action data structure that is responsive to the request;
identify a second action data structure responsive to the request;
determine the second action data structure is incompatible with a default profile layer; and
provide the first action data structure for execution responsive to the determination that the second action data structure is incompatible with the default profile layer.

### Claim 24

A system, comprising:
a data processing system comprising one or more processors to:
receive data packets comprising an input audio signal detected by a sensor of a computing device;
identify, based on a lookup in a data repository, an electronic account corresponding to the input audio signal, the electronic account comprising a profile layer;
establish, responsive to identification of the electronic account, a profile stack data structure with the profile layer from the electronic account;
parse the data packets to identify a request;
generate, based on the profile stack data structure, a first action data structure that is responsive to the request;
identify a second action data structure responsive to the request;
determine the second action data structure is incompatible with a default profile layer; and
provide a status indication to a local computing device that indicates the second action data structure is incompatible with the default profile layer; and
provide the first action data structure for execution.
