Concurrency Rules Engine for Voice Assistant Service Management
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Concurrently enabling multiple voice assistant services (VASes) on a network microphone device (NMD) can lead to user experience issues due to conflicts in wake words, resource burden, and device performance reduction, necessitating concurrency restrictions to manage which VASes can be simultaneously enabled.
Innovation Solution
A concurrency rules engine is implemented to manage and restrict the concurrent enablement of VASes on NMDs, prioritizing certain VASes and providing user notifications on enabled and disabled services, ensuring seamless operation and resource management.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If multiple voice assistant services are concurrently enabled on a network microphone device, then service versatility and user choice are improved, but device performance and resource utilization deteriorate
Solution Approach 1:
The system dynamically adjusts the number and type of voice assistant services enabled on the NMD based on current resource availability and usage patterns. The concurrency rules engine continuously monitors device state and modifies service configuration in real-time, transitioning from static to dynamic service management to balance versatility and performance.
Solution Approach 2:
The system changes operational parameters by adjusting the concurrency limits of voice assistant services based on device resource states. When resources are abundant, more services can operate concurrently; when resources are constrained, the system reduces the number of active services or lowers their resource allocation, directly modifying system parameters to resolve the contradiction.
2Adaptability or versatility
If multiple voice assistant services are concurrently enabled on a network microphone device, then service versatility is improved, but wake word conflicts and user experience issues worsen
Solution Approach 1:
The concurrency rules engine acts as an intermediary layer between multiple voice assistant services and the NMD hardware resources. It mediates conflicts by enforcing priority rules, managing wake word detection precedence, and coordinating service activation to prevent direct conflicts between services, thereby maintaining reliability while preserving versatility.
Solution Approach 2:
The system segments the operation of multiple voice assistant services into distinct priority levels and time slots. By dividing service operations into hierarchical segments with different priorities, the system allows multiple services to coexist without full concurrency, reducing wake word conflicts while maintaining the ability to provide diverse service capabilities.
3Power
If concurrency restrictions are imposed on voice assistant services, then device performance and user experience are improved, but service adaptability deteriorates
Solution Approach 1:
The concurrency restrictions are not fixed but dynamic, adjusting based on real-time device resource availability. When resources are abundant, restrictions are relaxed to allow more services; when resources are constrained, restrictions tighten to maintain performance. This dynamic approach resolves the contradiction by making restrictions adaptive rather than static.
Solution Approach 2:
The system performs preliminary configuration of concurrency rules and priority levels during service setup, establishing a framework that automatically manages service adaptation. This preliminary action creates a self-regulating system that maintains both performance and adaptability without requiring continuous manual intervention, balancing the contradictory requirements.
Data Source
AI summary
Systems and methods for managing concurrent voice assistants are disclosed. An example method includes associating a first play back device with a first voice assistant service (VAS). A command is received to form a synchrony group for synchronous audio playback, the group including the first playback device and a second playback device. The method includes obtaining a determination that the second playback device is associated with a second VAS different from the first VAS. A rules engine is accessed to determine concurrency restrictions. Based on the restrictions: (i) the first playback device is disassociated from the first VAS, (ii) the second playback device is disassociated with the second VAS, or (iii) the formation of the synchrony group is precluded.


