# US 2021/0344779 A1 · Combined local and server context menus

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

- Number: US 2021/0344779 A1
- Document ID: US20210344779A1
- Status: Published application
- Kind: A1
- Application number: 16/864,597
- Filed: 2020-05-01
- Published: 2021-11-04
- Earliest claimed: 2020-05-01
- Assignees: Microsoft Technology Licensing, LLC
- Applicants: Microsoft Technology Licensing, LLC
- Inventors: Paul Valentin BORZA; Dan WU; Xiao WANG; Jonathan Drew PIO; Maryam Ummi YUSUF; Jared Brown
- Web page: https://patentgrep.com/patent/US20210344779A1

## CPC

- G06F 3/0482: Interaction with lists of selectable items, e.g. menus
- G06F 3/04842: Selection of displayed objects or displayed text elements (G06F3/0482 takes precedence)
- G06F 9/451: Execution arrangements for user interfaces
- H04L 67/131: Protocols for games, networked simulations or virtual reality
- G06F 40/58: Use of machine translation, e.g. for multi-lingual retrieval, for server-side translation for client devices or for real-time translation
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

Embodiments of the disclosure render a context menu upon receiving a context menu indication from a user. The context menu comprises a combination of local context menu items and remote context menu items that are selected based on the context received with the context menu indication. The context menu is created by identifying a set of local and remote context menu item providers and receiving both a rank and HTML based on the received context. The set of local and remote context menu items are ranked according to their respective rank and a number of ranked context menu items are selected. The HTML for the selected context menu items are combined and the combined HTML is rendered to yield the context menu. The context menu is presented to the user.

## Claims

### Claim 1

A method for in-application search, comprising:
receiving indication of a context menu invocation along with associated context;
determining a set of local context menu item providers each having an associated rank;
determining a set of remote context menu item providers each having an associated rank;
selecting a subset of context menu item providers from a combined set of local context menu item providers and remote context menu item providers based on the ranks; and
presenting a context menu comprising items from the subset of context menu item providers to a user.

### Claim 2 (depends on 1)

The method of claim 1 further comprising:
ordering the items from the subset of context menu item providers according to a rank associated with each item.

### Claim 3 (depends on 1)

The method of claim 1 wherein the subset of context menu item providers comprises a local context menu item provider and a remote context menu item provider.

### Claim 4 (depends on 3)

The method of claim 3 further comprising:
caching the remote context menu item provider locally.

### Claim 5 (depends on 1)

The method of claim 1 further comprising:
sending a request to a remote context menu service requesting information regarding context menu item providers at the remote context menu service;
receiving information identifying a plurality of remote context menu item providers at the remote context menu service; and
wherein the set of remote context menu item providers comprises a remote context menu item provider at the remote context menu service.

### Claim 6 (depends on 1)

The method of claim 1 wherein:
determining the set of local context menu item providers comprises:
requesting a rank and rendering code from each local context menu item provider; and
receiving a rank and rendering code from each local context menu item provider; and
determining the set of remote context menu item providers comprises:
requesting a rank and rendering code from each remote context menu item provider; and
receiving a rank and rendering code from each remote context menu item provider.

### Claim 7 (depends on 1)

The method of claim 1 further comprising:
combining rendering code received from the subset of context menu item providers; and
rendering the combined rendering code to produce the context menu.

### Claim 8 (depends on 1)

The method of claim 1 further comprising:
selecting a context menu item provider based on its rank;
invoking the selected context menu item provider without user direction;
receiving rendering code describing the results of the invocation; and
rendering the received rendering code.

### Claim 9 (depends on 1)

The method of claim 1 wherein each context menu item provider comprises:
a model adapted to return a rank based on a received context; and
rendering code to render a context menu item.

### Claim 10 (depends on 1)

The method of claim 1 wherein the remote context menu item providers comprise one or more of:
a context menu item provider adapted to translate text from one language to another;
a context menu item adapted to provide a definition of text;
a context menu item adapted to apply photo effects to an image;
a context menu item adapted to identify related entities;
a context menu item adapted to provide a direct answer; and
a context menu item adapted to fact check text.

### Claim 11

A system comprising a hardware processor and computer executable instructions, that when executed by the hardware processor, cause the system to perform operations comprising:
receiving indication of a context menu invocation along with associated context;
determining a set of local context menu item providers each having an associated rank;
determining a set of remote context menu item providers each having an associated rank;
selecting a subset of context menu item providers from a combined set of local context menu item providers and remote context menu item providers based on the ranks; and
presenting a context menu comprising items from the subset of context menu item providers to a user.

### Claim 12 (depends on 11)

The system of claim 11 further comprising:
ordering the items from the subset of context menu item providers according to a rank associated with each item.

### Claim 13 (depends on 11)

The system of claim 11 wherein the subset of context menu item providers comprises a local context menu item provider and a remote context menu item provider.

### Claim 14 (depends on 13)

The system of claim 13 further comprising:
caching the remote context menu item provider locally.

### Claim 15 (depends on 11)

The system of claim 11 further comprising:
sending a request to a remote context menu service requesting information regarding context menu item providers at the remote context menu service;
receiving information identifying a plurality of remote context menu item providers at the remote context menu service; and
wherein the set of remote context menu item providers comprises a remote context menu item provider at the remote context menu service.

### Claim 16 (depends on 11)

The system of claim 11 wherein:
determining the set of local context menu item providers comprises:
requesting a rank and rendering code from each local context menu item provider; and
receiving a rank and rendering code from each local context menu item provider; and
determining the set of remote context menu item providers comprises:
requesting a rank and rendering code from each remote context menu item provider; and
receiving a rank and rendering code from each remote context menu item provider.

### Claim 17 (depends on 16)

The system of claim 16 further comprising:
combining rendering code received from the subset of context menu item providers; and
rendering the combined rendering code to produce the context menu.

### Claim 18 (depends on 16)

The system of claim 16 wherein the rendering code is HTML and wherein the rendered HTML code comprises both visual and functional elements.

### Claim 19

A computer storage medium comprising executable instructions that, when executed by a processor of a machine, cause the machine to perform operations comprising:
receiving indication of a context menu invocation along with associated context;
for each local context menu item provider of a set of local context menu item providers, receiving from the local context menu item provider an associated rank based on the associated context;
for each remote context menu item provider of a set of remote context menu item providers, receiving from the remove context menu item provider an associated rank based on the associated context;
selecting a subset of context menu item providers comprising a local context menu item provider and a remote context menu item provider based on associated ranks;
retrieving HTML for a local context menu item from the local context menu item provider;
retrieving HTML for a remote context menu item from the remote context menu item provider;
combining the HTML for the local context menu item and the HTML for the remote context menu item;
rendering the combined HTML into a context menu; and
presenting a context menu a user.

### Claim 20 (depends on 19)

The computer storage medium of claim 19 further comprising ordering the local context menu item and the remote context menu item based on their associated rank.
