Input method editor application platform
US-9921665-B2 · Mar 20, 2018 · US
US11250217B1 · US · B1
| Field | Value |
|---|---|
| Publication number | US-11250217-B1 |
| Application number | US-202016791421-A |
| Country | US |
| Kind code | B1 |
| Filing date | Feb 14, 2020 |
| Priority date | Jul 14, 2015 |
| Publication date | Feb 15, 2022 |
| Grant date | Feb 15, 2022 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
A client device receives a user request (e.g., in natural language form) to execute a command of an application. The client device delegates interpretation of the request to a response-processing server. Using domain knowledge previously provided by a developer of the application, the response-processing server determines the various possible responses that client devices could make in response to the request based on circumstances such as the capabilities of the client devices and the state of the application data. The response-processing server accordingly generates a response package that describes a number of different conditional responses that client devices could have to the request and provides the response package to the client device. The client device selects the appropriate response from the response package based on the circumstances as determined by the client device, executes the command (if possible), and provides the user with some representation of the response.
Opening claim text (preview).
What is claimed is: 1. A computer-implemented method performed by a server, the method comprising: receiving, for a first application and for a second application of a plurality of different applications in different domains, from developers of the applications: a semantic grammar describing valid natural language commands for the application, and a response schema describing a format for a response package corresponding to the application, the response package including a plurality of different conditional responses to valid natural language commands that client devices select depending on a state of data of the application, wherein the format specifies different applicability criteria for the different conditional responses, wherein the response schema for the first application is different from the response schema for the second application; receiving a first natural language command and a second natural language command from a client device; determining that the semantic grammar of the first application can interpret the first natural language command and that and the semantic grammar of the second application can interpret the second natural language command; responsive to determining that the semantic grammar of the first application can interpret the first natural language command, generating a first response package conforming to the response package format of the response schema of the first application and including a first plurality of different conditional responses of the client device and a first ordered set of view types which specify configurations for displaying the different conditional responses, wherein lower ordered view types are used responsive to the client device not being capable of providing higher ordered view types; responsive to determining that the semantic grammar of the second application can interpret the second natural language command, generating a second response package conforming to the response package format of the response schema of the second application and including a second plurality of different conditional responses of the client device and a second ordered set of view types which specify configurations for displaying the different conditional responses, wherein lower ordered view types are used responsive to the client device not being capable of providing higher ordered view types, wherein the first response package is different from the second response package; and providing the first response package and the second response package to the client device for execution. 2. The computer-implemented method of claim 1 , wherein the first response package comprises command parameter values derived from the first natural language command and aiding the client device in executing the natural language command. 3. The computer-implemented method of claim 1 , wherein the semantic grammar and the response schema are received over a network from an application developer located remotely from the server. 4. The computer-implemented method of claim 1 , wherein the first response package is formatted to allow the client device to choose a conditional response responsive to multiple steps of determination. 5. A non-transitory computer-readable storage medium comprising instructions of an application that when executed by a processor of a client device perform actions comprising: sending a natural language command for delivery to a server; receiving from the server a response package containing a plurality of conditional responses to the natural language command and an ordered set of view types which specify configurations for displaying the conditional responses, wherein lower ordered view types are used responsive to the client device not being capable of providing higher ordered view types; determining, using at least data of the response package, whether the application of the client device can execute a first one of the plurality of conditional responses on the client device; responsive to determining that the application can execute the first one of the plurality of conditional responses: identifying a response string specified within the response package based on at least one of whether the client device has a display, and whether the client device has a text-to-speech module, and outputting the response string in a manner corresponding to the response string; and responsive to determining that the application cannot execute the first one of the plurality of conditional responses: identifying a default response within the response package, and displaying the default response. 6. The non-transitory computer-readable storage medium of claim 5 , the actions further comprising displaying the conditional response in a manner based on the view types that the client device supports. 7. The non-transitory computer-readable storage medium of claim 5 , wherein executing the conditional response comprises: identifying, within the response package, command parameter values; and executing the conditional response using the identified command parameter values. 8. The non-transitory computer-readable storage medium of claim 5 , the actions further comprising: identifying response text specified in the first one of the conditional responses; and displaying the identified response text. 9. The non-transitory computer-readable storage medium of claim 5 , wherein the response package is formatted to allow the client device to choose a conditional response responsive to multiple steps of determination. 10. The non-transitory computer-readable storage medium of claim 5 , wherein identifying a response string specified within the response package based on at least one of whether the client device has a display, and whether the client device has a text-to-speech module, is based on whether the client device has a display. 11. The non-transitory computer-readable storage medium of claim 5 , wherein identifying a response string specified within the response package based on at least one of whether the client device has a display, and whether the client device has a text-to-speech module, is based on whether the client device has a text-to-speech module. 12. A computer-implemented method for providing appropriate responses to different types of user interfaces, the method comprising: receiving a first request from a first client of a first type; generating a first response package for the first request, the first response package having a first conditional response, a second conditional response, and a first ordered set of view types which specify configurations for displaying conditional responses, wherein lower ordered view types are used responsive to clients not being capable of providing higher ordered view types; transmitting the first response package to the first client; receiving a second request from a second client of a second type; generating, in response to the second request, a second response package including the first conditional response, the second conditional response, and a second ordered set of view types which specify configurations for displaying conditional responses, wherein lower ordered view types are used responsive to clients not being capable of providing higher ordered view types; and transmitting the second response package to the second client; wherein the first client, because it is of the first type, uses the first conditional response to perform a first command and the second client, because it is of the second type, uses the second conditional response to perform a second command; receiving a second request from an application of a second client; generating a second response package for th
Semantic analysis · CPC title
Conversion or adaptation of application format or content (adding application control or application functional data H04L67/561) · CPC title
in which an application is distributed across nodes in the network (software deployment G06F8/60; multiprogramming arrangements G06F9/46) · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.