# US 2021/0240770 A1 · Application search system

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

- Number: US 2021/0240770 A1
- Document ID: US20210240770A1
- Status: Published application
- Kind: A1
- Application number: 16/777,442
- Filed: 2020-01-30
- Published: 2021-08-05
- Earliest claimed: 2020-01-30
- Assignees: Microsoft Technology Licensing, LLC
- Applicants: Microsoft Technology Licensing, LLC
- Inventors: Madeline Schuster KLEINER; Nathaniel George FREIER; Bernhard S.J. KOHLMEIER
- Web page: https://patentgrep.com/patent/US20210240770A1

## CPC

- G06F 9/453: {Help systems}
- G06F 16/9035: Filtering based on additional data, e.g. user or group profiles
- G06F 16/2428: {Query predicate definition using graphical user interfaces, including menus and forms (G06F16/2423 takes precedence)}
- G06F 16/9038: Presentation of query results
- G06F 16/908: using metadata automatically derived from the content
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

An application search system providing an application suggestion service can perform a method including receiving at least one capability from each of a plurality of applications and registering the at least one capability of each of the plurality of applications as registered capabilities. Each capability can include a feature of that application and one or more parameters to be used by that application for that feature. When the application search system receives an intent of a user, the system matches the intent of the user with at least one feature from the registered capabilities, identifies corresponding values for the one or more parameters of the at least one feature from the intent of the user, and sends the corresponding values to at least one application associated with a matched feature from the set of matched features. Results returned from the at least one application can be provided to the user.

## Claims

### Claim 1

A method comprising:
receiving at least one capability from each of a plurality of applications, each capability comprising a feature of that application and one or more parameters to be used by that application for that feature;
registering the at least one capability of each of the plurality of applications as registered capabilities, the registered capabilities indicating associations between applications and their capabilities;
receiving an intent of a user;
matching the intent of the user with at least one feature from the registered capabilities to identify a set of matched features;
identifying corresponding values for the one or more parameters of the at least one feature from the intent of the user; and
sending, to at least one application associated with a matched feature from the set of matched features, the corresponding values for the one or more parameters of the matched feature.

### Claim 2 (depends on 1)

The method of claim 1, further comprising:
receiving one or more feature options, the one or more feature options being from the at least one application that was sent the corresponding values; and
providing at least one of the one or more feature options to the user.

### Claim 3 (depends on 2)

The method of claim 2, further comprising after receiving the one or more feature options, ranking the one or more feature options before providing the at least one of the one or more feature options to the user.

### Claim 4 (depends on 2)

The method of claim 2, further comprising:
receiving a selection of a feature option from the at least one of the one or more feature options provided to the user to initiate a session of an associated application for the selected feature option.

### Claim 5 (depends on 4)

The method of claim 4, wherein the session of the associated application comprises a customized user interface that addresses the intent of the user.

### Claim 6 (depends on 4)

The method of claim 4, wherein the session of the associated application includes content that is pre-populated with information from at least one signal from the user.

### Claim 7 (depends on 1)

The method of claim 1, wherein the intent of the user comprises at least one signal from the user.

### Claim 8 (depends on 7)

The method of claim 7, wherein the matching the intent of the user with the at least one feature from the registered capabilities to identify the set of matched features comprises:
traversing a graph to determine, using the at least one signal from the user, a productivity intent and one or more features that can be used to accomplish the productivity intent; and
identifying, from the registered capabilities, any features that correspond to the determined one or more features as the set of matched features.

### Claim 9

A computer-readable storage medium having instructions stored thereon that when executed by a processor, direct a computing system to at least:
receive at least one capability from each of a plurality of applications, each capability comprising a feature of that application and one or more parameters to be used by that application for that feature;
register the at least one capability of each of the plurality of applications as registered capabilities, the registered capabilities indicating associations between applications and their capabilities;
receive an intent of a user;
match the intent of the user with at least one feature from the registered capabilities to identify a set of matched features;
identify corresponding values for the one or more parameters of the at least one feature from the intent of the user; and
send, to at least one application associated with a matched feature from the set of matched features, the corresponding values for the one or more parameters of the matched feature.

### Claim 10 (depends on 9)

The medium of claim 9, wherein the instructions further direct the computing system to:
receive one or more feature options, the one or more feature options being from the at least one application that was sent the corresponding values; and
provide at least one of the one or more feature options to the user.

### Claim 11 (depends on 10)

The medium of claim 10, wherein the instructions further direct the computing system to:
receive a selection of a feature option from the at least one of the one or more feature options provided to the user to initiate a session of an associated application for the selected feature option.

### Claim 12 (depends on 10)

The medium of claim 10, wherein the instructions further direct the computing system to, after receiving the one or more feature options, rank the one or more feature options.

### Claim 13 (depends on 9)

The medium of claim 9, wherein the intent of the user comprises at least one signal from the user.

### Claim 14 (depends on 13)

The medium of claim 13, wherein the instructions that direct the computing system to match the intent of the user with the at least one feature from the registered capabilities to identify the set of matched features direct the processor to:
traverse a graph to determine, using the at least one signal from the user, a productivity intent and one or more features that can be used to accomplish the productivity intent; and
identify, from the registered capabilities, any features that correspond to the determined one or more features as the set of matched features.

### Claim 15

A system comprising:
one or more processors;
a storage system; and
instructions stored on the storage system that when executed by the one or more processors, direct the system to at least:
receive at least one capability from each of a plurality of applications, each capability comprising a feature of that application and one or more parameters to be used by that application for that feature;
register the at least one capability of each of the plurality of applications as registered capabilities, the registered capabilities indicating associations between applications and their capabilities;
receive an intent of a user;
match the intent of the user with at least one feature from the registered capabilities to identify a set of matched features;
identify corresponding values for the one or more parameters of the at least one feature from the intent of the user; and
send, to at least one application associated with a matched feature from the set of matched features, the corresponding values for the one or more parameters of the matched feature.

### Claim 16 (depends on 15)

The system of claim 15, wherein the instructions further direct the system to:
receive one or more feature options, the one or more feature options being from the at least one application that was sent the corresponding values; and
provide at least one of the one or more feature options to the user.

### Claim 17 (depends on 16)

The system of claim 16, wherein the instructions further direct the system to:
receive a selection of a feature option from the at least one of the one or more feature options provided to the user to initiate a session of an associated application for the selected feature option.

### Claim 18 (depends on 16)

The system of claim 16, wherein the instructions further direct the system to, after receiving the one or more feature options, rank the one or more feature options.

### Claim 19 (depends on 15)

The system of claim 15, wherein the intent of the user comprises at least one signal from the user.

### Claim 20 (depends on 19)

The system of claim 19, wherein the instructions that direct the system to match the intent of the user with the at least one feature from the registered capabilities to identify the set of matched features direct the one or more processors to:
traverse a graph to determine, using the at least one signal from the user, a productivity intent and one or more features that can be used to accomplish the productivity intent; and
identify, from the registered capabilities, any features that correspond to the determined one or more features as the set of matched features.
