IP Library Granted Patent US 7,747,445
Granted Patent B2
US 7,747,445 · App. 11/457,057 · Granted Jun 29, 2010

Distinguishing among different types of abstractions consisting of plurality of commands specified by particular sequencing and or timing or no timing and sequencing using voice commands

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 7,747,445
App. No.
11/457,057
Granted
Jun 29, 2010
Kind
B2
Abstract

The present invention discloses a method for a voice-enabled computing environment. The method includes a step of receiving a series of voice commands related to an abstraction, wherein the voice command specifies an abstraction type. The method further includes responding to the voice command to replay the commands, executing at least one programmatic action related to the abstraction, where the programmatic action is executed demonstrating characteristics specific to the abstraction type associated with the voice command. The present method applies, but is not limited to, the execution of collections of commands that may have diverging timing characteristics.

Claims (38)

1. A computer implemented method for a voice-enabled computing environment comprising:

receiving a voice command related to an abstraction at at least one computer of the voice-enabled computing environment, wherein the voice command specifies an abstraction type;

determining, from the voice command, which of a plurality of abstraction types supported by the voice-enabled computing environment is the abstraction type specified by the voice command, wherein each of the plurality of abstraction types is associated with an indication of whether any particular sequencing and/or timing is to be imposed; and

responsive to the voice command, performing at least one programmatic action related to the abstraction, wherein the programmatic action is specific to the abstraction type specified by the voice command.

2. The method of claim 1 , wherein the voice command is a record command for recording a new abstraction, wherein abstraction types able to be specified by the voice command comprise a script, a macro, and a collection, wherein a script is an abstraction including timing data for at least one included action that indicates an amount of time before the at least one included action is performed, wherein a macro is an abstraction having sequentially ordered actions, and wherein a collection is an abstraction in which no order or timing of included actions is defined.

3. The method of claim 1 , wherein the abstraction type is a script, and wherein the recording step records a new script having a name specified in the voice command, said method step further comprising:

automatically determining timing data for each action in a detected set of actions for the new script; and

storing the timing data with the abstraction, wherein the set of actions are executed in accordance with the stored timing data whenever the stored abstraction is executed.

4. The method of claim 1 , wherein the abstraction type is a macro, and wherein the recording step records a new macro having a name specified in the voice command, said method step further comprising:

automatically determining an order for each action in a detected set of actions for the new macro; and

storing data for the order with the abstraction, wherein the set of actions are executed in accordance with the stored order data whenever the stored abstraction is executed.

5. The method of claim 1 , wherein the abstraction type is a collection, and wherein the recording step records a new collection having a name specified in the voice command, said method step further comprising:

automatically detecting a set of actions for the new collection, wherein the set of actions are executed asynchronously whenever the stored abstraction is executed.

6. The method of claim 1 , wherein the steps of claim 1 are performed by at least one of a service agent and a computing device manipulated by the service agent, the steps being performed in response to a service request.

7. The method of claim 1 , wherein said steps of claim 1 are performed by at least one machine in accordance with at least one computer program having a plurality of code sections that are executable by the at least one machine.

8. The method of claim 1 , said recording step further comprising:

initializing an abstraction recordation process responsive to the voice command;

detecting a set of actions included in the abstraction;

ascertaining a user triggered event to finalize the abstraction; and

storing the abstraction for future use, wherein the abstraction is stored as the abstraction type specified by the voice command.

9. The method of claim 8 , wherein the user triggered event is an event triggered by a user stop recording voice command, wherein the stop recording voice command is a phrase used for a plurality of different types of abstractions to end an abstraction recording.

10. The method of claim 8 , wherein at least one action in the set of actions is a second abstraction having its own abstraction type.

11. The method of claim 8 , wherein the initializing and storing steps are performed by a Web service.

12. The method of claim 8 , wherein the initializing and storing steps are performed by software remotely located from a system which receives the voice command, which is communicatively linked to the system by a network.

13. A voice-enabled computing system comprising:

a disambiguation engine configured to differentiate between different types of abstractions based upon voice commands, wherein the disambiguation engine supports a plurality of different abstraction types, wherein each of the plurality of different abstraction types is associated with an indication of whether any particular sequencing and/or timing is to be imposed.

14. The system of claim 13 , wherein the plurality of abstraction types comprise scripts, macros, and collections, wherein a script is an abstraction including timing data that indicates an amount of time before the at least one included action is performed, wherein a macro is an abstraction having sequentially ordered actions, and wherein a collection is an abstraction in which no order or timing of included actions is defined.

15. The system of claim 13 , wherein the at least one processor, executes the processor-executable instructions in the at least one computer-readable memory to perform (A), (B), and (C), in response to a request from a remotely located system.

16. The system of claim 13 , wherein the computing system is used within a voice-only computing environment.

17. A computer system comprising:

at least one computer-readable memory; and

at least one processor, coupled to the at least one computer readable memory, that executes processor-executable instructions in the at least one computer-readable memory to:

(A) receive a voice command to create an abstraction at at least one computer of the voice-enabled computing environment, wherein the voice command specifies an abstraction type;

(B) determine, from the voice command, which of a set of possible abstraction types is the abstraction type specified by the voice command, wherein the set of possible abstraction types comprises a script, a macro, and a collection, wherein a script is an abstraction including timing data for at least one included action that indicates an amount of time before the at least one included action is performed, wherein a macro is an abstraction having sequentially ordered actions, and wherein a collection is an abstraction in which no order or timing of included actions is defined; and

(C) responsive to the voice command, record a new abstraction of the abstraction type specified by the voice command.

18. The system of claim 17 , wherein the voice command is part of a record abstraction command.

19. The system of claim 18 , wherein the command is of a format RECORD <TYPE> <NAME>.

20. The system of claim 18 , wherein a common command ends a recording of the abstraction regardless of abstraction type.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 13, 2023
From: NUANCE COMMUNICATIONS, INC.
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 065552/0934 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 13, 2009
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: NUANCE COMMUNICATIONS, INC.
Reel/Frame 022689/0317 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 12, 2006
From: AGAPI, CIPRIAN; ALMUTAWA, MUSAED A.; BLASS, OSCAR J.; MONTEIRO, BRENNAN D.; VILA, ROBERTO
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 017922/0453 →