IP Library Granted Patent US 9,632,650
Granted Patent B2
US 9,632,650 · App. 13/732,520 · Granted Apr 25, 2017

Command searching enhancements

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 9,632,650
App. No.
13/732,520
Granted
Apr 25, 2017
Kind
B2
Abstract

A user can access a searching component that allows the user to enter search terms to search for commands associated with a computer program. Some specific embodiments pertain to methods for supporting user access to the searching component, to methods for processing search terms submitted by the user, and to methods for guiding the user in terms of their formulation and selection queries. Methods for generating, organizing and manipulating the search results are also provided.

Claims (66)

1. A computer-implemented method comprising:

receiving a user input indicative of a task to be performed by a user in an application;

generating a command query that includes a search term based on the user input;

accessing a command store that stores indications of executable commands associated with the application;

identifying, using a computer processor, a set of executable commands based on the search term and the indications in the command store, wherein each executable command in the set of executable commands corresponds to a different task in the application;

generating a user interface that displays the set of executable commands in a user selectable form such that each executable command in the set can be selected by the user for execution to perform the corresponding task;

receiving an indication of user selection of one of the executable commands in the set of executable commands displayed on the user interface; and

automatically executing the selected command that performs the task, corresponding to the selected command, in the application.

2. The method of claim 1 , further comprising:

receiving an input indicative of a user desire to display a command search user interface component;

responding to the input by displaying the command search user interface component in the user interface; and

receiving the user input in the command search user interface component.

3. The method of claim 2 , wherein the set of executable commands is displayed within the command search user interface component.

4. The method of claim 2 , further comprising:

receiving an additional user input; and

terminating display of the command search user interface component in response to the additional user input.

5. The method of claim 1 , further comprising pre-processing the user input to identify an additional search term that is included in the command query, the additional search term being based on the user input but not explicitly defined by the user input.

6. The method of claim 1 , further comprising:

accessing a command search index that maps multiple forms of a potential command query to a same set of executable commands in the command store; and

identifying the set of executable commands based on the command search index.

7. The method of claim 1 , wherein generating the user interface comprises:

identifying a plurality of executable commands returned from the command store based on the search term;

ranking the plurality of executable commands based on a biasing criterion; and

displaying the plurality of executable commands in the user interface based on the ranking.

8. The method of claim 1 , further comprising:

processing the command query to identify an alternate command query that is based on, but different from, the command query;

displaying the alternate command query to the user;

receiving a user selection of the alternative command query; and

identifying the set of executable commands based on the alternative command query.

9. The method of claim 1 , further comprising:

processing the command query to identify a proposed query modification;

displaying the proposed query modification to the user;

receiving a user selection of the proposed query modification;

based on the user selection, modifying the command query based on the proposed query modification; and

identifying the set of executable commands based on the modified command query.

10. The method of claim 1 , wherein the user input includes the search term.

11. The method of claim 1 , wherein identifying a set of executable commands comprises:

searching the command store using a search engine that is trained with prior probabilities of commands.

12. The method of claim 1 , and further comprising:

identifying a characteristic of the command query; and

formatting the display one of the executable commands so as to be consistent with the characteristic of the command query.

13. A computing system comprising:

a processor; and

memory storing instructions executable by the at least one processor, wherein the instructions configure the computing system to:

identify a command search request that includes a search term indicative of a task to be performed in an application;

identify an application context indicative of the application for which the task is to be performed;

identify a plurality of commands based on the command search request and the application context, each command having a corresponding task in the application;

generate a user interface display comprising user interface elements that visually represent the commands and are visually arranged on the user interface display based on command categories, each user interface element being selectable to execute the task, corresponding to the command represented by the user interface element, within the application;

receive an indication of a user selection input;

based on the indication of the user selection input, select a user interface element from the user interface elements on the user interface display; and

automatically execute the task corresponding to the command represented by the selected user interface element.

14. The computing system of claim 13 , wherein a particular one of the user interface elements represents at least one of the commands and has a rendered appearance that is selected based at least in part on an attribute of the search request.

15. The computing system of claim 13 , wherein the instructions configure the computing system to:

receive a task user input indicative of the desired task; and

identify the search term based on the task user input.

16. The computing system of claim 15 , wherein the instructions configure the computing system to:

enhance the command search request by identifying an additional search term that is based on the search term but not explicitly defined by the user task input.

17. A computer-implemented method comprising:

receiving a command search request that includes a search term indicative of a task to be performed in an application;

searching a data store, using a computer processor, to identify a plurality of commands based on the command search request; and

generating a user interface that displays the plurality of commands as graphical user interface elements, visually ordered on the user interface so as to account for at least one rank biasing factor indicative of the command selection history of one or more users, wherein each graphical user interface element is user-actuatable to perform a task corresponding to the command represented by the graphical user interface element;

receiving an indication of a user input that actuates a particular one of the graphical user interface elements; and

automatically performing the task corresponding to the command represented by the particular graphical user interface element.

18. The computer-implemented method of claim 17 , wherein the rank biasing factor is indicative of when commands in the list were most recently selected.

19. The computer-implemented method of claim 17 , wherein the rank biasing factor is a data item indicative of a period of, or point in, time.

20. The computer-implemented method of claim 17 , wherein the rank biasing factor is indicative of a log of user activity.

Assignments (4)
CORRECTIVE ASSIGNMENT TO CORRECT THE RECORDAL TO REMOVE INADVERTENTLY RECOREDED PROPERTIES SHOWN IN ATTACHED SHEET PREVIOUSLY RECORDED AT REEL: 047681 FRAME: 0916. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Jul 18, 2019
From: MICROSOFT TECHNOLOGY LICENSING, LLC
To: SERVICENOW, INC.
Reel/Frame 049797/0119 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 29, 2018
From: MICROSOFT TECHNOLOGY LICENSING, LLC
To: SERVICENOW, INC.
Reel/Frame 047681/0916 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 30, 2015
From: BALA, ARAVIND
To: MICROSOFT CORPORATION
Reel/Frame 035935/0941 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2014
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 034544/0541 →