Conditional responses to application commands in a client-server system

US11250217B1 · US · B1

Patent metadata
FieldValue
Publication numberUS-11250217-B1
Application numberUS-202016791421-A
CountryUS
Kind codeB1
Filing dateFeb 14, 2020
Priority dateJul 14, 2015
Publication dateFeb 15, 2022
Grant dateFeb 15, 2022

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

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.

First claim

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

Assignees

Inventors

Classifications

  • G06F40/30Primary

    Semantic analysis · CPC title

  • H04L67/565Primary

    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

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US11250217B1 cover?
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…
Who is the assignee on this patent?
Soundhound Inc
What technology area does this patent fall under?
Primary CPC classification G06F40/30. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Feb 15 2022 00:00:00 GMT+0000 (Coordinated Universal Time) (B1). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 12 related publications on this page (citations in our corpus or others sharing the same primary CPC).