# US 2010/0169291 A1 · System and method for prompting an end user with a preferred sequence of commands which performs an activity in a least number of inputs

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

- Number: US 2010/0169291 A1
- Document ID: US20100169291A1
- Status: Published application
- Kind: A1
- Application number: 12/346,143
- Filed: 2008-12-30
- Published: 2010-07-01
- Earliest claimed: 2008-12-30
- Assignees: International Business Machines Corporation
- Inventors: Peter Currie Boyle; Yu Zhang
- Web page: https://patentgrep.com/patent/US20100169291A1

## CPC

- G06F 9/453: {Help systems}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A method for prompting an end user with a preferred sequence of commands which performs an activity in a least number of inputs. The method begins by monitoring a computer system for both input received from the end user and state transitions as a result of the computer receiving the end user input. The input received facilitates an activity the end user whishes to execute; the state transitions being the result of executing the activity. Next, defining the input received from the end user in a meaningful way. Then comparing the input received with at least one other command sequences that accomplish the same activity as the end user's input. Finally, prompting the end user with a preferred sequence of commands which performs the activity with the least number of inputs possible.

## Claims

### Claim 1

A method for prompting an end user with a preferred sequence of commands which performs an activity in a least number of inputs, said method comprising:
monitoring a computer system for at least one command which performs said activity, said at least one command being performed by said end user;
monitoring for at least one state transition residing in said computer system for change, said change being a result of said computer system receiving said at least one command;
in response to identifying said at least one state transition change from said monitoring for said at least one state transition, providing a first definition for said at least one command, said first definition being a function of said at least one command;
comparing said at least one command to at least one sequence of commands residing in a database and having a second definition matching said first definition; and
prompting said end user with said preferred sequence of command which performs said activity in said least number of inputs, said preferred sequence of commands being identified as a result of said comparing.

### Claim 2 (depends on 1)

The method of claim 1, said providing said first definition further comprising:
parsing at least one name from said at least one command, each name of said at least one name corresponding to a unique command of said at least one command;
determining a value for each name of said at least one name, said value being a level in a hierarchical dictionary where each said name resides; and
selecting as said first definition a name from said at least one name having a highest said level.

### Claim 3 (depends on 2)

The method of claim 2, said providing said first definition further comprising:
ascertaining whether said at least one command already resides in said database; and
having determined from said ascertaining that said at least one command does not reside in said database, storing in said database said at least one command and said first definition, said first definition being correlated to said at least one command.

### Claim 4 (depends on 2)

The method of claim 2, said providing said first definition further comprising:
ascertaining whether said at least one command already resides in said database; and
having determined from said ascertaining that said at least one command does reside in said database, storing in said database said first definition, said first definition being correlated to said at least one command.

### Claim 5 (depends on 1)

The method of claim 1, said comparing further comprising:
searching said database for said at least one sequence of commands having said second definition matching said first definition;
for each sequence of commands in said at least one sequence of commands, identifying a total number of inputs said end user must enter in order to perform said activity; and
for each said sequence of commands in said at least one sequence of commands, comparing said total number of inputs with a number of inputs said end user entered for said at least one command; and
identifying said preferred sequence of commands from said at least one command and said at least one sequence of commands, said preferred sequence of commands having a lowest total number of inputs said end user must enter to perform said activity.

### Claim 6 (depends on 1)

The method of claim 1, each input of said least number of inputs being received from a device selected from the group consisting of a keyboard, a mouse, a keypad, a touchscreen, a voice recognition device, a sensor, a network interface card (NIC), a Voice/video over Internet Protocol (VOIP) adapter, a wireless adapter, a telephone adapter, and a dedicated circuit adapter.

### Claim 7

A computer program product, comprising a computer-usable storage medium having a computer-readable program code stored therein, said computer-readable program code containing instructions that when executed by a processor of a computer system implement a method for prompting an end user with a preferred sequence of commands which performs an activity in a least number of inputs, said method comprising:
monitoring a computer system for at least one command which performs said activity, said at least one command being performed by said end user;
monitoring for at least one state transition residing in said computer system for change, said change being a result of said computer system receiving said at least one command;
in response to identifying said at least one state transition change from said monitoring for said at least one state transition, providing a first definition for said at least one command, said first definition being a function of said at least one command;
comparing said at least one command to at least one sequence of commands residing in a database and having a second definition matching said first definition; and
prompting said end user with said preferred sequence of command which performs said activity in said least number of inputs, said preferred sequence of commands being identified as a result of said comparing.

### Claim 8 (depends on 7)

The computer program product of claim 7, said providing said first definition further comprising:
parsing at least one name from said at least one command, each name of said at least one name corresponding to a unique command of said at least one command;
determining a value for each name of said at least one name, said value being a level in a hierarchical dictionary where each said name resides; and
selecting as said first definition a name from said at least one name having a highest said level.

### Claim 9 (depends on 8)

The computer program product of claim 8, said providing said first definition further comprising:
ascertaining whether said at least one command already resides in said database; and
having determined from said ascertaining that said at least one command does not reside in said database, storing in said database said at least one command and said first definition, said first definition being correlated to said at least one command.

### Claim 10 (depends on 8)

The computer program product of claim 8, said providing said first definition further comprising:
ascertaining whether said at least one command already resides in said database; and
having determined from said ascertaining that said at least one command does reside in said database, storing in said database said first definition, said first definition being correlated to said at least one command.

### Claim 11 (depends on 7)

The computer program product of claim 7, said comparing further comprising:
searching said database for said at least one sequence of commands having said second definition matching said first definition;
for each sequence of commands in said at least one sequence of commands, identifying a total number of inputs said end user must enter in order to perform said activity; and
for each said sequence of commands in said at least one sequence of commands, comparing said total number of inputs with a number of inputs said end user entered for said at least one command; and
identifying said preferred sequence of commands from said at least one command and said at least one sequence of commands, said preferred sequence of commands having a lowest total number of inputs said end user must enter to perform said activity.

### Claim 12 (depends on 7)

The computer program product of claim 7, each input of said least number of inputs being received from a device selected from the group consisting of a keyboard, a mouse, a keypad, a touchscreen, a voice recognition device, a sensor, a network interface card (NIC), a Voice/video over Internet Protocol (VOIP) adapter, a wireless adapter, a telephone adapter, and a dedicated circuit adapter.

### Claim 13

A computing system comprising a processor coupled to a computer-readable memory unit, said memory unit comprising a software application, said software application comprising instruction that when executed by said processor, implement a method for prompting an end user with a preferred sequence of commands which performs an activity in a least number of inputs, said method comprising:
monitoring a computer system for at least one command which performs said activity, said at least one command being performed by said end user;
monitoring for at least one state transition residing in said computer system for change, said change being a result of said computer system receiving said at least one command;
in response to identifying said at least one state transition change from said monitoring for said at least one state transition, providing a first definition for said at least one command, said first definition being a function of said at least one command;
comparing said at least one command to at least one sequence of commands residing in a database and having a second definition matching said first definition; and
prompting said end user with said preferred sequence of command which performs said activity in said least number of inputs, said preferred sequence of commands being identified as a result of said comparing.

### Claim 14 (depends on 13)

The computing system of claim 13, said providing said first definition further comprising:
parsing at least one name from said at least one command, each name of said at least one name corresponding to a unique command of said at least one command;
determining a value for each name of said at least one name, said value being a level in a hierarchical dictionary where each said name resides; and
selecting as said first definition a name from said at least one name having a highest said level.

### Claim 15 (depends on 14)

The computing system of claim 14, said providing said first definition further comprising:
ascertaining whether said at least one command already resides in said database; and
having determined from said ascertaining that said at least one command does not reside in said database, storing in said database said at least one command and said first definition, said first definition being correlated to said at least one command.

### Claim 16 (depends on 14)

The computing system of claim 14, said providing said first definition further comprising:
ascertaining whether said at least one command already resides in said database; and
having determined from said ascertaining that said at least one command does reside in said database, storing in said database said first definition, said first definition being correlated to said at least one command.

### Claim 17 (depends on 13)

The computing system of claim 13, said comparing further comprising:
searching said database for said at least one sequence of commands having said second definition matching said first definition;
for each sequence of commands in said at least one sequence of commands, identifying a total number of inputs said end user must enter in order to perform said activity; and
for each said sequence of commands in said at least one sequence of commands, comparing said total number of inputs with a number of inputs said end user entered for said at least one command; and
identifying said preferred sequence of commands from said at least one command and said at least one sequence of commands, said preferred sequence of commands having a lowest total number of inputs said end user must enter to perform said activity.

### Claim 18 (depends on 13)

The computing system of claim 13, each input of said least number of inputs being received from a device selected from the group consisting of a keyboard, a mouse, a keypad, a touchscreen, a voice recognition device, a sensor, a network interface card (NIC), a Voice/video over Internet Protocol (VOIP) adapter, a wireless adapter, a telephone adapter, and a dedicated circuit adapter.

### Claim 19

A process for supporting computer infrastructure, said process comprising providing at least one support service for at least one of creating, integrating, hosting, maintaining, and deploying computer-readable code in a computing system, wherein said code in combination with the computing system is capable of implementing a method for prompting an end user with a preferred sequence of commands which performs an activity in a least number of inputs, said method comprising:
monitoring a computer system for at least one command which performs said activity, said at least one command being performed by said end user;
monitoring for at least one state transition residing in said computer system for change, said change being a result of said computer system receiving said at least one command;
in response to identifying said at least one state transition change from said monitoring for said at least one state transition, providing a first definition for said at least one command, said first definition being a function of said at least one command;
comparing said at least one command to at least one sequence of commands residing in a database and having a second definition matching said first definition; and
prompting said end user with said preferred sequence of command which performs said activity in said least number of inputs, said preferred sequence of commands being identified as a result of said comparing.

### Claim 20 (depends on 19)

The process for supporting computer infrastructure of claim 19, said providing said first definition further comprising:
parsing at least one name from said at least one command, each name of said at least one name corresponding to a unique command of said at least one command;
determining a value for each name of said at least one name, said value being a level in a hierarchical dictionary where each said name resides; and
selecting as said first definition a name from said at least one name having a highest said level.

### Claim 21 (depends on 20)

The process for supporting computer infrastructure of claim 20, said providing said first definition further comprising:
ascertaining whether said at least one command already resides in said database; and
having determined from said ascertaining that said at least one command does not reside in said database, storing in said database said at least one command and said first definition, said first definition being correlated to said at least one command.

### Claim 22 (depends on 20)

The process for supporting computer infrastructure of claim 20, said providing said first definition further comprising:
ascertaining whether said at least one command already resides in said database; and
having determined from said ascertaining that said at least one command does reside in said database, storing in said database said first definition, said first definition being correlated to said at least one command.

### Claim 23 (depends on 19)

The process for supporting computer infrastructure of claim 19, said comparing further comprising:
searching said database for said at least one sequence of commands having said second definition matching said first definition;
for each sequence of commands in said at least one sequence of commands, identifying a total number of inputs said end user must enter in order to perform said activity; and
for each said sequence of commands in said at least one sequence of commands, comparing said total number of inputs with a number of inputs said end user entered for said at least one command; and
identifying said preferred sequence of commands from said at least one command and said at least one sequence of commands, said preferred sequence of commands having a lowest total number of inputs said end user must enter to perform said activity.

### Claim 24 (depends on 19)

The process for supporting computer infrastructure of claim 19, each input of said least number of inputs being received from a device selected from the group consisting of a keyboard, a mouse, a keypad, a touchscreen, a voice recognition device, a sensor, a network interface card (NIC), a Voice/video over Internet Protocol (VOIP) adapter, a wireless adapter, a telephone adapter, and a dedicated circuit adapter.
