Hybrid client/server architecture for parallel processing

US10749989B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10749989-B2
Application numberUS-201414480422-A
CountryUS
Kind codeB2
Filing dateSep 8, 2014
Priority dateApr 1, 2014
Publication dateAug 18, 2020
Grant dateAug 18, 2020

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.

The present disclosure describes an exemplary hybrid client/server architecture that may be utilized leverage the unique capabilities of both remote and local services. Data may be processed in parallel by remote and local processes. Results generated during the parallel processing may be exchanged between remote and local services and used to update results generated by the separate services. The hybrid client/server architecture may be utilized to generate enhanced inferences, hybrid subscriptions base upon local and remote subscriptions, and enhance natural language expression evaluation services.

First claim

Opening claim text (preview).

What is claimed is: 1. A method for parallel processing of data using a client computing device, the method comprising: receiving, at the client computing device, a signal comprising the data; sending, from the client computing device to at least one remote device, at least a subset of the data; processing, at the client computing device, the data using a local service of the client computing device, wherein processing the data comprises: loading a local knowledge base; loading a third party knowledge base; and processing the data using the local knowledge base and the third party knowledge base; sending an initial local service result to a remote service of the at least one remote device for analysis, wherein the initial local service result comprises a first partial determination generated during local processing; receiving, at the client computing device and from the remote service, an initial remote service result while processing the data using the local service, wherein the initial remote service comprises a second partial determination; and generating using the local service, an intermediate local service result, wherein generating the intermediate local service result comprises updating the initial local service result based upon the initial remote service result. 2. The method of claim 1 , wherein sending the subset of data further comprises determining that the subset of data does not contain private data. 3. The method of claim 1 , wherein the local service is an inference service, and wherein processing the data using the local service comprises analyzing private data to generate local inference as the initial local service result. 4. The method of claim 3 , wherein sending the initial local service result further comprises: analyzing the local inference to determine whether the local inference can be provided to the remote service; and when the local inference can be provided to the remote service, sending the local inference to the remote service. 5. The method of claim 4 , further comprising: when the local inference cannot be provided to the remote service, abstracting the local inference to remove private data; and sending the abstracted local inference to the remote service. 6. The method of claim 4 , wherein receiving an initial remote service result further comprises receiving an updated inference from the remote service, wherein the updated inference comprises additional information about the local inference. 7. The method of claim 6 , further comprising generating a user experience based upon the updated inference. 8. The method of claim 1 , wherein the data comprises a natural language expression, and wherein the local service comprises a local natural language expression (NLE) evaluation process. 9. The method of claim 8 , further comprising identifying a unique term in the natural language expression, wherein the unique term is identified using the local knowledge base. 10. The method of claim 8 , further comprising: identifying a prefix in the natural language expression, wherein the prefix identifies a third party application; and comparing the natural language expression against a third party grammar associated with the third party application. 11. The method of claim 8 , further comprising: identifying at least one hint from the third party knowledge base; and wherein sending an initial local service result to the remote service for analysis comprises sending the at least one hint from the third party grammar. 12. The method of claim 1 , further comprising: receiving an intermediate remote service result; comparing the intermediate local service result and the intermediate remote service result; and based upon the comparison, generating a final result. 13. A hybrid client/server system, the system comprising: a client device comprising: at least one client processor; and client computer storage media encoding computer executable instructions perform a client method comprising: receiving a natural language expression; sending the natural language expression to a remote speech recognition process; processing the natural language expression to generate an initial local interpretation of the natural language expression, wherein the initial local interpretation comprises a first partial determination, and wherein processing the natural language expression comprises: loading a local knowledge base; loading a third party knowledge base; and processing the natural language expression using the local knowledge base and the third party knowledge base; receiving an initial remote interpretation of the natural language expression from a distributed network; and the distributed network comprising at least one server, the server comprising: at least one server processor; and server computer storage media encoding computer executable instructions that, when executed by the at least one server processor, perform a server method comprising: receiving the natural language expression from the client device; processing the natural language expression in parallel with the client device to generate the initial remote interpretation of the natural language expression, wherein the initial remote interpretation comprises a second partial determination generated during local processing; sending the initial remote interpretation of the language expression to the client device; receiving an the initial local interpretation of the natural language expression; updating the initial remote interpretation based upon the initial local interpretation to generate an intermediate remote interpretation; and sending the intermediate remote interpretation to the client device. 14. The system of claim 13 , wherein the initial local interpretation comprises at least one third party hint. 15. A system comprising: at least one processor; and memory encoding computer executable instructions that, when executed by the at least one processor, cause the system to perform operations comprising: receive, a signal comprising the data; send, to at least one remote device, at least a subset of the data; process, the data using a local service, wherein processing the data comprises: loading a local knowledge base; loading a third party knowledge base; and processing the data using the local knowledge base and the third party knowledge base; send an initial local service result to a remote service of the at least one remote device for analysis, wherein the initial local service result comprises a first partial determination generated during local processing; receive, from the remote service, an initial remote service result while processing the data using the local service, wherein the initial remote service comprises a second partial determination; and generate using the local service, an intermediate local service result, wherein generating the intermediate local service result comprises updating the initial local service result based upon the initial remote service result. 16. The system of claim 15 , wherein the data comprises a natural language expression, and wherein the local service comprises a local natural language expression (NLE) evaluation process. 17. The system of claim 16 , further comprising instructions that, when executed by the at least one processor, cause the system identify a unique term in the natural language expression, wherein the unique term is identified using the local knowledge base. 18. The system of claim 16 , further comprising instructions that, when executed by th

Assignees

Inventors

Classifications

  • Architectures; Arrangements · CPC title

  • G06F9/547Primary

    Remote procedure calls [RPC]; Web services · CPC title

  • Protocols · CPC title

  • G06F40/20Primary

    Natural language analysis (semantic analysis of natural language G06F40/30) · CPC title

  • H04L67/42Primary

    Electricity · mapped topic

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 US10749989B2 cover?
The present disclosure describes an exemplary hybrid client/server architecture that may be utilized leverage the unique capabilities of both remote and local services. Data may be processed in parallel by remote and local processes. Results generated during the parallel processing may be exchanged between remote and local services and used to update results generated by the separate services. …
Who is the assignee on this patent?
Microsoft Technology Licensing Llc
What technology area does this patent fall under?
Primary CPC classification G06F9/547. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Aug 18 2020 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). 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).