# US 8,751,491 B2 · System and method for recommending next commands when using a software application

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

- Number: US 8,751,491 B2
- Document ID: US8751491B2
- Status: Granted
- Kind: B2
- Application number: 12/469,515
- Filed: 2009-05-20
- Published: 2010-04-29
- Granted: 2014-06-10
- Earliest claimed: 2008-10-28
- Assignees: Autodesk, Inc.
- Applicants: George Fitzmaurice; Justin Frank Matejka
- Inventors: George Fitzmaurice; Justin Frank Matejka
- Web page: https://patentgrep.com/patent/US8751491B2

## CPC

- G06F 40/274: Converting codes to words; Guess-ahead of partial word inputs
- G06F 3/0237: {using prediction or retrieval techniques}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

One embodiment of the invention sets forth a mechanism for recommended commands to a designer of a graphics design application. Each time a command is executed within the graphics design application, a resource module receives command use information associated with the executed command. In response, the resource module generates and transmits one or more recommendation lists to the designer, where each recommendation list includes a list of recommended commands that may be executed by the designer next. The resource module generates the recommendation lists based on frequency information associated with the recommended commands stored within a local frequency store. The frequency information is received by the resource module from a central server that processes command use information associated with different designers in the community to produce the frequency information.

## Claims

### Claim 1

A computer-implemented method for processing frequency information in a frequency table stored in a frequency store to determine a set of commands that are recommended for execution next by a first user operating a first instance of an application resident within a first computing device, the method comprising:
receiving a first set of command use data associated with a first command executed within the first instance of the application;
identifying a first frequency information record stored in the frequency table that includes a first command name associated with the first command, a next command associated with a second command executed within the first instance of the application, and a first design context that matches a design context included in the first set of command use data, wherein the design context reflects a particular workflow comprising a series of operations performed by the first user when interacting with the first instance of the application to obtain a specific effect on a three-dimensional (3D) graphics model included in the first instance of the application, the 3D graphics model including one or more graphics objects;
based on frequency information included in the first frequency information record, computing a first frequency percentage associated with the second command indicating how many times the first command was executed within the application prior to when the second command was executed;
generating a command recommendation list that includes the second command and the first frequency percentage; and
transmitting the command recommendation list to the first instance of the application for display to the first user,
wherein the command recommendation list includes commands previously executed within a different instance of the application resident within a different computing device operated by a second user,
wherein the step of identifying the first frequency information record comprises determining that the first frequency information record includes a user identification associated with the second user, and
wherein one or more frequency information records associated with the second user are received from a server machine configured to process and store command frequency information across a community of users of the application.

### Claim 2 (depends on 1)

The method of claim 1, further comprising the steps of:
identifying a second frequency information record stored in the frequency table that includes the first command name and a third command name associated with a third command; and
based on frequency information included in the second frequency information record, computing a second frequency percentage associated with the third command indicating how many times the first command was executed within the application prior to when the third command was executed within the application,
wherein the command recommendation list also includes the third command and the second frequency percentage.

### Claim 3 (depends on 2)

The method of claim 2, wherein the command recommendation list is ordered based on the first frequency percentage and the second frequency percentage.

### Claim 4 (depends on 1)

The method of claim 1, wherein the command recommendation list includes commands previously executed by the first user.

### Claim 5 (depends on 4)

The method of claim 4, wherein the step of identifying the first frequency information record comprises determining that the first frequency information record includes a user identification associated with the first user.

### Claim 6 (depends on 1)

The method of claim 1, wherein the step of identifying the first frequency information record further comprises determining, via the user identification associated with the second user, that the first user has identified the second user as a user of the application whose command use patterns are of interest to the first user.

### Claim 7 (depends on 1)

The method of claim 1, wherein the particular workflow includes executing one or more computer-aided design (CAD) commands to modify values of parameters associated with the one or more graphics objects.

### Claim 8

A non-transitory computer-readable storage medium storing instructions that, when executed by a processor, cause the processor to process frequency information in a frequency table stored in a frequency store to determine a set of commands that are recommended for execution next by a first user operating a first instance of an application, by performing the steps of:
receiving a first set of command use data associated with a first command executed within the first instance of the application;
identifying a first frequency information record stored in the frequency table that includes a first command name associated with the first command, a next command associated with a second command executed within the first instance of the application, and a first design context that matches a design context included in the first set of command use data, wherein the design context reflects a particular workflow comprising a series of operations performed by the first user when interacting with the first instance of the application to obtain a specific effect on a three-dimensional (3D) graphics model included in the first instance of the application, the 3D graphics model including one or more graphics objects;
based on frequency information included in the first frequency information record, computing a first frequency percentage associated with the second command indicating how many times the first command was executed within the application prior to when the second command was executed;
generating a command recommendation list that includes the second command and the first frequency percentage; and
transmitting the command recommendation list to the first instance of the application for display to the first user,
wherein the command recommendation list includes commands previously executed within a different instance of the application resident within a different computing device operated by a second user,
wherein the step of identifying the first frequency information record comprises determining that the first frequency information record includes a user identification associated with the second user, and
wherein one or more frequency information records associated with the second user are received from a server machine configured to process and store command frequency information across a community of users of the application.

### Claim 9 (depends on 8)

The computer-readable storage medium of claim 8, further comprising the steps of:
identifying a second frequency information record stored in the frequency table that includes the first command name and a third command name associated with a third command; and
based on frequency information included in the second frequency information record, computing a second frequency percentage associated with the third command indicating how many times the first command was executed within the application prior to when the third command was executed within the application,
wherein the command recommendation list also includes the third command and the second frequency percentage.

### Claim 10 (depends on 9)

The computer-readable storage medium of claim 9 wherein the command recommendation list is ordered based on the first frequency percentage and the second frequency percentage.

### Claim 11 (depends on 8)

The computer-readable storage medium of claim 8, wherein the command recommendation list includes commands previously executed by the first user.

### Claim 12 (depends on 8)

The computer-readable storage medium of claim 8, wherein the step of identifying the first frequency information record comprises determining that the first frequency information record includes a user identification associated with the first user.

### Claim 13 (depends on 8)

The computer-readable storage medium of claim 8, wherein the step of identifying the first frequency information record further comprises determining, via the user identification associated with the second user, that the first user has identified the second user as a user of the application whose command use patterns are of interest to the first user.

### Claim 14

A computer system for processing frequency information in a frequency table stored in a frequency store to determine a set of commands that are recommended for execution next by a first user operating a first instance of an application, the computer system comprising:
a processor; and
a memory storing instructions that when executed by the processor, cause the processor to:
receive a first set of command use data associated with a first command executed within the first instance of the application,
identifying a first frequency information record stored in the frequency table that includes a first command name associated with the first command, a next command associated with a second command executed within the first instance of the application, and a first design context that matches a design context included in the first set of command use data, wherein the design context reflects a particular workflow comprising a series of operations performed by the first user when interacting with the first instance of the application to obtain a specific effect on a three-dimensional (3D) graphics model included in the first instance of the application, the 3D graphics model including one or more graphics objects,
based on frequency information included in the first frequency information record, computing a first frequency percentage associated with the second command indicating how many times the first command was executed within the application prior to when the second command was executed,
generate a command recommendation list that includes the second command and the first frequency percentage, and
transmit the command recommendation list to the first instance of the application for display to the first user,
wherein the command recommendation list includes commands previously executed within a different instance of the application resident within a different computing device operated by a second user,
wherein the step of identifying the first frequency information record comprises determining that the first frequency information record includes a user identification associated with the second user, and
wherein one or more frequency information records associated with the second user are received from a server machine configured to process and store command frequency information across a community of users of the application.
