# US 12,002,465 B2 · Systems and methods for managing voice environments and voice routines

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

- Number: US 12,002,465 B2
- Document ID: US12002465B2
- Status: Granted
- Kind: B2
- Application number: 17/875,897
- Filed: 2022-07-28
- Published: 2023-03-02
- Granted: 2024-06-04
- Earliest claimed: 2021-07-26
- Assignees: Voice Care Tech Holdings LLC
- Applicants: Voice Care Tech Holdings LLC
- Inventors: Nirmalya K. De; Alan R. Bugos; Dale M. Smith; Stuart R. Patterson; Jonathan E. Gordon
- Web page: https://patentgrep.com/patent/US12002465B2

## CPC

- G10L 15/22: Procedures used during a speech recognition process, e.g. man-machine dialogue
- G06F 3/165: {Management of the audio stream, e.g. setting of volume, audio stream path}
- G10L 15/30: Distributed recognition, e.g. in client-server systems, for mobile phones or network applications
- G06F 3/0482: Interaction with lists of selectable items, e.g. menus
- G06F 3/167: {Audio in a user interface, e.g. using voice commands for navigating, audio feedback}
- G10L 2015/223: {Execution procedure of a spoken command}
- G16H 40/20: for the management or administration of healthcare resources or facilities, e.g. managing hospital staff or surgery rooms
- G16H 40/63: for local operation
- 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)
- G16H: HEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA

## Abstract

Provided is a voice assistance system with proactive routines that couples a remote server and respective user voice interactive devices to deliver a complete experience to the end user of the device. The user devices can be managed by groups and/or associated entities who manage voice services for their users. For example, the entities can provide pre-configured voice routines that perform actions on behalf of their users. The voice assistance system can also allow users to customize these routines to improve day to day operation. In addition, external services and/or providers can be linked to the system and allowed to define routines that have external system dependencies. Avoiding and managing conflicts in this environment becomes quite challenging. Some approaches use execution queues and priority, others invoke time slices and limitations on assignment of routines to time slices to resolve these issues, among other examples.

## Claims

### Claim 1

A voice assistance system for managing voice routine execution in a user environment, the system comprising:
at least one processor operatively connected to a memory;
at least one server system;
a plurality of voice devices, the plurality of voice devices comprising at least a speaker for communicating voice commands and a microphone for receiving voice input, wherein the plurality of voice devices are configured to enable assistance actions for respective users of the voice devices based on execution of voice routines;
wherein the at least one processor is configured to:
manage execution of a plurality of voice routines, the plurality of voice routines having associated execution times or triggers and an associated duration;
store a user profile for the respective user of the voice device specifying one or more voice routines associated with a respective voice device, wherein the user profile defines the associated execution time or trigger of the one more voice routines in the user profile;
identify overlapping execution of a plurality of voice routines for respective users based on any one or more of the associated execution time or trigger, any customization of timing or trigger, or the associated duration for the plurality of voice routines;
generate an ordering of execution for the plurality of voice routines for a respective user; and
manage execution of the plurality of voice routines at the respective user's voice device according to the generated ordering.

### Claim 2 (depends on 1)

The system of claim 1, wherein the at least one processor is configured to execute operations at respective voice devices, the server, and/or additional distributed computer resources.

### Claim 3 (depends on 1)

The system of claim 1, wherein the at least one processor is configured to:
generate an execution queue for the plurality of voice routines.

### Claim 4 (depends on 3)

The system of claim 3, wherein the at least one processor is configured to resolve any overlapping execution based on priority assignment or determination associated with the plurality of voice routines.

### Claim 5 (depends on 3)

The system of claim 3, wherein the at least one processor is configured to populate a first in first out queue based on the generated ordering of the execution.

### Claim 6 (depends on 5)

The system of claim 5, wherein the at least one processor is configured to generate the ordering of the execution to include a secondary ordering within respective priority assignment or determination.

### Claim 7 (depends on 6)

The system of claim 6, wherein the at least one processor is configured to populate a first in first out execution queue based on the secondary ordering.

### Claim 8 (depends on 1)

The system of claim 1, wherein the at least one processor is configured to communicate voice routines for a set time period or trigger to a database, and the database is configured to manage ordering operations on the voice routines and distribution of the voice routines to respective user devices.

### Claim 9 (depends on 1)

The system of claim 1, further comprising voice routine application programming interfaces (APIs) configured to accept external generation of voice routines for execution at the plurality of user devices.

### Claim 10 (depends on 9)

The system of claim 9, wherein the at least one processor is configured to assign an execution priority to the voice routines generated via external systems based on at least one of a respective external system source for the voice routine, an action specified for the voice routine, or a category assigned to the voice routine.

### Claim 11 (depends on 1)

The system of claim 1, wherein the at least one processor is configured to automatically customize an execution time or trigger of at least one voice routine in a group of voice routines having overlapping execution times or triggers, or durations.

### Claim 12 (depends on 1)

The system of claim 1, further comprising a voice routine generation interface, wherein the voice routine generation interface is configured to prevent selection of overlapping timing of execution.

### Claim 13 (depends on 1)

The system of claim 1, wherein the at least one processor is further configured to:
identify a currently executing voice routine conflicts with an upcoming voice routine; and
resolve the conflict based on ordering execution, delaying the upcoming voice routine, or rescheduling the upcoming voice routine.

### Claim 14

A computer implemented method for managing voice routine execution in a user environment, the method comprising:
registering, by at least one processor, a plurality of voice devices, the plurality of voice devices comprising at least a speaker for communicating voice commands and a microphone for receiving voice input, wherein the plurality of voice devices are configured to enable assistance actions for respective users of the voice devices based on execution of voice routines;
managing, by the at least one processor, execution of a plurality of voice routines, the plurality of voice routines having associated execution times or triggers and an associated duration;
storing, by the at least one processor, a user profile for the respective user of the voice device specifying one or more voice routines associated with a respective voice device, wherein the user profile defines the associated execution time or trigger of the one more voice routines in the user profile;
identifying, by the at least one processor, overlapping execution of a plurality of voice routines for respective users based on any one or more of the associated execution time or trigger, any customization of timing or trigger, or the associated duration for the plurality of voice routines;
generating, by the at least one processor, an ordering of execution for the plurality of voice routines for the respective user; and
managing, by the at least one processor, execution of the plurality of voice routines at the respective user's voice device according to the generated ordering.

### Claim 15 (depends on 14)

The method of claim 14, wherein the method further comprises executing operations at respective voice devices, the server, or additional distributed computer resources.

### Claim 16 (depends on 14)

The method of claim 14, wherein the method further comprises generating an execution queue for the plurality of voice routines.

### Claim 17 (depends on 16)

The method of claim 16, wherein the method further comprises populating a first in first out queue based on the generated ordering of the execution.

### Claim 18 (depends on 16)

The method of claim 16, wherein the method further comprises resolving overlap in the ordering of the execution based on priority assignment or determination associated with the plurality of voice routines.

### Claim 19 (depends on 18)

The method of claim 18, wherein the method further comprises generating the ordering of the execution to include a secondary ordering within respective priority assignment or determination.

### Claim 20 (depends on 18)

The method of claim 18, wherein the method further comprises populating a first in first out execution queue with the plurality of voice routines based on the secondary ordering.
