IP Library Granted Patent US 11,641,420
Granted Patent B2
US 11,641,420 · App. 17/582,479 · Granted May 2, 2023

System and method for placing telephone calls using a distributed voice application execution system architecture

Inventors: Vishal Dhawan (Centreville, VA); Timothy M Price (Rockville, MD); Manoj Sindhwani (Oak Hill, VA)
Assignee: Xtone, Inc.
H04M3/5158H04M2250/74
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,641,420
App. No.
17/582,479
Granted
May 2, 2023
Kind
B2
Abstract

A system and method for causing a voice application to be performed on one or more user local devices utilizes a distributed voice application execution system architecture. The distributed voice application execution system architecture allows a voice applications agent on a user's local device to obtain a rendered voice application from a remote voice application rendering agent. The voice applications agent on the user's local device can then perform the voice application for the user.

Claims (74)

1. A distributed voice application execution system (DVAES)-enabled local device for providing voice services, comprising:

a memory;

at least one processor;

an operating system;

a network interface;

an audio and signaling layer with at least one audio I/O device interface; and

a voice applications agent (VAA) software client configured to run on the at least one processor, the VAA software client further configured to register with a voice services provider (VSP) to have at least one credential that enables the VAA software client to communicate with one or more servers of the VSP, wherein the VAA software client is further configured to perform voice application (VA) components and/or respond to requests and/or instructions derived from VA components, and wherein the VAA software client is also configured to manage its connectivity with the at least one audio I/O device interface;

wherein the DVAES-enabled local device includes one or more configuration materials and/or settings configured to be controlled by the VSP; and

wherein the VAA software client is configured to:

send, to one or more servers of the VSP, one or more messages that include information regarding an event, setting, state and/or variable associated with the DVAES-enabled local device;

receive from one or more servers of the VSP, VA components for one or more voice applications, where the VA components are based on events, settings, states and/or variables associated with components of the DVAES-enabled local device; and

manage performance of VA components and/or responses to requests and/or instructions derived from VA components.

2. The device of claim 1 , wherein the one or more messages include information regarding an event, setting, state and/or variable associated with the VAA software client.

3. The device of claim 1 , wherein the one or more messages include information regarding an event, setting, state and/or variable associated with a VA component.

4. The device of claim 1 , wherein to manage performance of VA components and/or responses to requests and/or instructions derived from VA components comprises performing VA components and/or responding to requests and/or instructions derived from VA components according to established logic.

5. The device of claim 4 , wherein the established logic comprises logic included in one or more VA components.

6. The device of claim 1 , wherein the at least one audio I/O device interface comprises a first audio I/O device interface, and wherein to manage performance of VA components and/or responses to requests and/or instructions derived from VA components comprises controlling which of the VA components utilizes the first audio I/O device interface.

7. The device of claim 6 , wherein the at least one audio I/O device interface further comprises a second audio I/O device interface that is functionally coupled to an audio device that is separate from the DVAES-enabled local device, and wherein to manage performance of VA components and/or responses to requests and/or instructions derived from VA components comprises controlling which of the VA components utilizes the second audio I/O device interface.

8. The device of claim 1 , wherein the VAA software client is further configured to send update messages to one or more servers of the VSP as the VAA software client performs VA components and/or responds to requests and/or instructions derived from VA components, wherein each update message includes information regarding an event, setting, state and/or variable associated with a component of the DVAES-enabled local device.

9. The device of claim 1 , wherein the VAA software client is further configured to receive at least one VA component rendered based on a capability or characteristic of the DVAES-enabled local device.

10. The device of claim 1 , wherein the VAA software client is further configured to receive at least one VA component rendered based on a capability or characteristic of a data network connection of the DVAES-enabled local device.

11. The device of claim 1 , wherein the VAA software client is further configured to receive at least one VA component rendered based on a characteristic of a user of the DVAES-enabled local device.

12. The device of claim 1 , wherein the VAA software client is further configured to receive VA components for first and second voice applications.

13. The device of claim 12 , wherein the VAA software client is configured to perform VA components for the first and second voice applications and/or respond to requests and/or instructions derived from VA components for the first and second voice applications such that the first and second voice applications are performed concurrently.

14. The device of claim 1 , wherein to manage performance of VA components and/or responses to requests and/or instructions derived from VA components comprises the VAA software client:

pausing performance of VA components of a first voice application upon occurrence of a trigger event;

causing VA components of a second voice application to be performed once performance of VA components of the first voice application has been paused; and

resuming performance of the VA components of the first voice application when performance of the VA components of the second voice application is completed.

15. The device of claim 1 , wherein the at least one audio I/O device interface comprises first and second audio I/O device interfaces, and wherein to manage performance of VA components and/or responses to requests and/or instructions derived from VA components comprises the VAA software client causing a first VA component to be performed via the first audio I/O device interface and causing a second VA component to be performed via the second audio I/O device interface.

16. The device of claim 1 , wherein the VAA software client is further configured to detect when a user speaks a keyword or phrase by:

continuously monitoring sounds received via a microphone coupled to the at least one audio I/O device interface, and

detecting when the received sounds include the keyword or phrase; and

taking an action when the user has spoken the keyword or phrase.

17. The device of claim 16 , wherein taking an action comprises:

receiving audio input after detection of the keyword or phrase; and

sending the received audio to a speech recognition interface resident on the DVAES-enabled local device or to a server of the VSP.

18. The device of claim 1 , wherein the VAA software client is further configured to send to a server of the VSP a setting, state or variable of one or more configuration materials or settings of the DVAES-enabled local device.

19. The device of claim 1 , wherein the VAA software client is further configured to send to a server of the VSP device log messages relating to operations of the DVAES-enabled local device.

20. The device of claim 1 , wherein the DVAES-enabled local device includes configuration materials that control how the DVAES-enabled local device performs device startup procedures.

21. The device of claim 1 , wherein the DVEAS-enabled local device includes configuration materials that enable the VAA software client to contact a VSP in order to register with the VSP.

22. The device of claim 1 , wherein the one or more messages include values of multiple variables as of a specific time, and wherein the values of multiple variables relate to at least one of a component of the DVAES-enabled local device and performance of a VA component.

23. A non-transitory computer-readable medium bearing instructions which, when performed by one or more processors of a distributed voice application execution system (DVAES) enabled local device, cause the DVAES-enabled local device to perform a method of providing voice services, the method comprising:

sending, to one or more servers of a voice services provider (VSP), one or more messages that include information regarding an event, setting, state and/or variable associated with at least one component of the DVAES-enabled local device, wherein the DVAES-enabled local device includes a memory, at least one processor, an operating system, a network interface, an audio and signaling layer with at least one audio I/O device interface, and a voice applications agent (VAA) software client configured to run on the at least one processor, the VAA software client being configured to register with the VSP to have at least one credential that enables the VAA software client to communicate with one or more servers of the VSP, wherein the DVAES-enabled local device includes one or more configuration materials and/or settings configured to be controlled by the VSP, wherein the VAA software client is further configured to perform voice application (VA) components and/or respond to requests and/or instructions derived from VA components, and wherein the VAA software client is configured to manage its connectivity with the at least one audio I/O device interface;

receiving, at the DVAES-enabled local device from one or more servers of the VSP, VA components for one or more voice applications where the VA components are based on events, settings, states and/or variables associated with components of the DVAES-enabled local device; and

managing, with the VAA software client, performance of VA components and/or responses to requests and/or instructions derived from VA components.

24. The non-transitory computer readable medium of claim 23 , wherein the one or more messages include information regarding an event, setting, state and/or variable associated with the VAA software client.

25. The non-transitory computer readable medium of claim 23 , wherein the one or more messages include information regarding an event, setting, state and/or variable associated with a VA component.

26. The non-transitory computer readable medium of claim 23 , wherein managing performance of VA components and/or responses to requests and/or instructions derived from VA components comprises performing VA components and/or responding to requests and/or instructions derived from a VA component according to established logic.

27. The non-transitory computer readable medium of claim 26 , wherein the established logic comprises logic included in one or more VA components.

28. The non-transitory computer readable medium of claim 23 , wherein the at least one audio I/O device interface comprises a first audio I/O device interface, and wherein managing performance of VA components and/or responses to requests and/or instructions derived from VA components comprises controlling which of the VA components utilizes the first audio I/O device interface.

29. The non-transitory computer readable medium of claim 28 , wherein the at least one audio I/O device interface further comprises a second audio I/O device interface that is functionally coupled to an audio device that is separate from the DVAES-enabled local device, and wherein managing performance of VA components and/or responses to requests and/or instructions derived from VA components comprises controlling which of the VA components utilizes the second audio I/O device interface.

30. The non-transitory computer readable medium of claim 23 , wherein the method performed by the DVAES-enabled local device further comprises sending update messages to one or more servers of the VSP as the VAA software client performs VA components and/or responds to requests and/or instructions derived from VA components, wherein each update message includes information regarding an event, setting, state and/or variable associated with a component of the DVAES-enabled local device.

31. The non-transitory computer readable medium of claim 23 , wherein the receiving step comprises receiving at least one VA component rendered based on a capability or characteristic of the DVAES-enabled local device.

32. The non-transitory computer readable medium of claim 23 , wherein the receiving step comprises receiving at least one VA component rendered based on a capability or characteristic of a data network connection of the DVAES-enabled local device.

33. The non-transitory computer readable medium of claim 23 , wherein the receiving step comprises receiving at least one VA component rendered based on a characteristic of a user of the DVAES-enabled local device.

34. The non-transitory computer readable medium of claim 23 , wherein the receiving step comprises receiving VA components for first and second voice applications.

35. The non-transitory computer readable medium of claim 34 , wherein the VAA software client is configured to perform VA components for the first and second voice applications and/or respond to requests and/or instructions derived from VA components for the first and second voice applications such that the first and second voice applications are performed concurrently.

36. The non-transitory computer readable medium of claim 23 , wherein managing performance of VA components and/or responses to requests and/or instructions derived from VA components comprises the VAA software client:

pausing performance of VA components of a first voice application upon occurrence of a trigger event;

causing VA components of a second voice application to be performed once performance of VA components of the first voice application has been paused; and

resuming performance of the VA components of the first voice application when performance of the VA components of the second voice application is completed.

37. The non-transitory computer readable medium of claim 23 , wherein the at least one audio I/O device interface comprises first and second audio I/O device interfaces, and wherein managing performance of VA components and/or responses to requests and/or instructions derived from VA components comprises the VAA software client causing a first VA component to be performed via the first audio I/O device interface and causing a second VA component to be performed via the second audio I/O device interface.

38. The non-transitory computer readable medium of claim 23 , wherein the method performed by the DVAES-enabled local device further comprises detecting when a user speaks a keyword or phrase by:

continuously monitoring sounds received via a microphone coupled to the at least one audio I/O device interface, and

detecting when the received sounds include the keyword or phrase; and

taking an action when the user has spoken the keyword or phrase.

39. The non-transitory computer readable medium of claim 38 , wherein taking an action comprises:

receiving audio input after detection of the keyword or phrase; and

sending the received audio to a speech recognition interface resident on the DVAES-enabled local device or to a server of the VSP.

40. The non-transitory computer readable medium of claim 23 , wherein the method performed by the DVAES-enabled local device further comprises sending to a server of the VSP a setting, state or variable of one or more configuration materials or settings of the DVAES-enabled local device.

41. The non-transitory computer readable medium of claim 23 , wherein the method performed by the DVAES-enabled local device further comprises sending to a server of the VSP device log messages relating to operations of the DVAES-enabled local device.

42. The non-transitory computer readable medium of claim 23 , wherein instructions on the non-transitory computer readable medium include configuration materials that control how the DVAES-enabled local device performs device startup procedures.

43. The non-transitory computer readable medium of claim 23 , wherein the instructions on the non-transitory computer readable medium include configuration materials that enable the VAA software client to contact a server of the VSP in order to register with the VSP.

44. The non-transitory computer readable medium of claim 23 , wherein the one or more messages include values of multiple variables as of a specific time, and wherein the values of multiple variables relate to at least one of a component of the DVAES-enabled local device and performance of a VA component.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 24, 2022
From: DHAWAN, VISHAL; PRICE, TIMOTHY; SINDHWANI, MANOJ
To: XTONE NETWORKS, INC.
Reel/Frame 058743/0898 →
CHANGE OF NAME Recorded Jan 24, 2022
From: XTONE NETWORKS, INC.
To: XTONE, INC.
Reel/Frame 058826/0915 →
Continuity (7)
Continuation 16773444 · Jan 27, 2020
Continuation 13595482 · Aug 27, 2012
Continuation 12717826 · Mar 4, 2010
Continuation In Part 11514116 · Sep 1, 2006
Provisional Application 61157282 · Mar 4, 2009
Provisional Application 60712808 · Sep 1, 2005
Related Publication 20220247863A1 · Aug 4, 2022