IP Library Granted Patent US 8,341,222
Granted Patent B2
US 8,341,222 · App. 12/753,790 · Granted Dec 25, 2012

Text suggestion framework with client and server model

Assignee: Microsoft Corporation
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 8,341,222
App. No.
12/753,790
Granted
Dec 25, 2012
Kind
B2
Abstract

A local or remote server is configured to receive requests for text and other suggestions from a plurality of client applications. The local or remote server can format requests for delivery to one or more suggestion sources along with client contexts that specify client delivery, format, or other requests associated with the suggestion request. The local or remote server selects suggestion sources based on the client requests and the client contexts, and can combine suggestions returned from multiple sources as directed by client contexts. Requests associated with different clients can be directed to different suggestion sources, and user or client accepted suggestion histories can be stored for use in providing suggestions.

Claims (47)

1. A method, comprising:

receiving a first client context comprising a first client identifier;

receiving a plurality of suggestion requests, at least one of the received plurality of suggestion requests being associated with the first client identifier;

queuing the plurality of suggestion requests;

removing at least one of the plurality of suggestion requests from at least one queue in response to an associated incremental request;

based at least on the first client context, selecting at least one suggestion data source from a plurality of suggestion data sources responsive to the at least one of the received plurality of suggestion requests associated with the first client identifier;

forwarding the at least one of the received plurality of suggestion requests associated with the first client identifier to the at least one suggestion data source; and

receiving at least one suggestion responsive to the forwarded request.

2. The method of claim 1 , further comprising:

selecting two or more suggestion data sources from the plurality of suggestion data sources responsive to the at least one of the received plurality of suggestion requests associated with the first client identifier; and

forwarding the at least one of the received plurality of suggestion requests associated with the first client identifier to the two or more suggestion data sources.

3. The method of claim 1 , wherein the at least one suggestion data source is specified in the at least one of the received plurality of suggestion requests associated with the first client identifier.

4. The method of claim 1 , further comprising:

receiving a plurality of suggestions in response to the forwarded at least one of the received plurality of suggestion requests, and ranking the suggestions based on a history of previously accepted suggestions.

5. The method of claim 1 , wherein the plurality of suggestion requests is received at a server and communicated from a client application; and

wherein the client application, server, and suggestion data sources are on a single device.

6. The method of claim 1 , wherein the at least one of the received requests associated with the first client identifier includes an indicator of a field type associated with the received request, wherein the field type indicator is associated with handwriting input, image input, sound input, voice input, or text input.

7. The method of claim 1 , wherein the at least one of the received requests associated with the first client identifier includes an indicator of a text language, and the data source is selected based on the text language.

8. A mobile device, comprising:

a processor configured to:

execute a client application;

forward client context information for the client application;

forward a first suggestion request including an identifier associated with the client application;

queue the first suggestion request;

forward a second suggestion request including the identifier associated with the client application, the second suggestion request being an incremental request;

remove the first suggestion request from at least one queue in response to the forwarded second suggestion request including the identifier associated with the client application; and

receive at least one suggestion generated at one or more suggestion data sources selected based on the client context information and the second suggestion request including the identifier associated with the client application.

9. The mobile device of claim 8 , wherein the processor is configured to forward data source identifiers associated with a plurality of suggestion sources.

10. The mobile device of claim 8 , wherein the processor is configured to forward data weights associated with the suggestion sources.

11. The mobile device of claim 8 , wherein the processor is configured to forward an input field type indicator associated with the second suggestion request.

12. The mobile device of claim 8 , wherein the processor is configured to provide the at least one suggestion to the client application.

13. The mobile device of claim 8 , wherein the processor is configured to forward at least one of a maximum number of requested candidate suggestions and a request duration associated with the second suggestion request.

14. The mobile device of claim 8 , wherein the processor is configured to forward a suggestion combination mode indicator, wherein the suggestion combination mode indicator specifies that suggestions from multiple suggestion sources are to be delivered as a merge list, a concatenated list, or as generated.

15. The mobile device of claim 8 , wherein the processor is configured to forward a language identifier associated with the second suggestion request.

16. A method performed on a mobile device, the method comprising:

communicating, from a first client application, a first client context including an identifier associated with the first client application;

communicating, from a second client application, a second client context including an identifier associated with the second client application;

communicating, from the first client application, a first suggestion request including an identifier associated with the first client application;

communicating, from the second client application, a second suggestion request including an identifier associated with the second client application;

queuing the first and second suggestion requests in a request queue;

based on the first client context, selecting at least one suggestion data source responsive to the first suggestion request;

receiving at least one suggestion from the at least one suggestion data source based on the first suggestion request;

removing at least one suggestion request from the request queue in response to an associated incremental request, the incremental request comprising an indication that the request is incremental to the associated at least one suggestion request; and

receiving, at the first client application, the at least one suggestion.

17. The method of claim 16 , further comprising:

generating a plurality of suggestions at two or more suggestion data sources based on the first suggestion request and, wherein the first client context comprises a combination mode indicator, wherein the combination mode indicator specifies that the generated suggestions from the two or more data sources are to be delivered as a merge list, a concatenated list, or individually as generated; and

receiving, at the first client application, the plurality of suggestions according to the client context.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2014
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 034564/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 1, 2010
From: MURAYAMA, TAKANOBU; MORIMOTO, KENICHI; HO, CHONGMING; BADGER, ERIC NORMAN; LINERUD, DREW ELLIOTT; WALTERS, KENNETH R.
To: MICROSOFT CORPORATION
Reel/Frame 024464/0358 →
Continuity (1)
Related Publication 20110246575A1 · Oct 6, 2011