Cloud-based composable data layer

US11936747B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11936747-B2
Application numberUS-202217857890-A
CountryUS
Kind codeB2
Filing dateJul 5, 2022
Priority dateSep 21, 2018
Publication dateMar 19, 2024
Grant dateMar 19, 2024

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.

Techniques for establishing a network connection with a client device and responding to composite requests from the client device. For a composite request identifying a first action associated with a first data plugin component and a second action associated with a different second data plugin component, the first action is performed by executing a first portion of the data plugin component and transmitting corresponding response data in a first transmission to the client device via the network connection, and the second action is performed by executing a second portion of the data plugin component and transmitting corresponding response data in a second transmission separate from the first transmission to the client device via the network connection.

First claim

Opening claim text (preview).

What is claimed is: 1. A computer device for interacting with one or more remote client devices, the computer device comprising: one or more processors; and one or more machine-readable media storing instructions which, when executed by the one or more processors, cause the one or more processors to: establish a first WebSocket connection with a first client device, identify, for a first single-page application, a first plurality of data plugin components each configured to provide access to one or more computer-implemented services, receive, from the first client device, via the first WebSocket connection, a first composite request comprising first data on which a first action is performed by a first data plugin component, and second data on which a second action is performed by a second data plugin component, wherein the first and second plugin components are executed by the computer device, execute, using a first computer-implemented service on the computer device, a portion of the first data plugin component to perform a first transaction, based on the first data, obtain, based on the first transaction, a first response data, transmit, in a first transmission and in response to the first composite request, the first response data to the first client device via the first WebSocket connection, execute, using a second computer implemented service on the computer device, a portion of the second data plugin component to perform a second transaction based on the second data, obtain, based on the second transaction, a second response data, and transmit, in a second transmission and in response to the first composite request, the second response data to the first client device via the first WebSocket connection, wherein the second computer-implemented service is different than the first computer-implemented service, wherein: the instructions for performing the first action cause the one or more processors to receive first service-provided response data from the first transaction, obtain a first cacheable data based on the first service-provided response data, and store the first cacheable data in association with a first key value in a cache; the first response data is obtained based on first service-provided response data; and the instructions further cause the one or more processors to: receive, after the second transmission, a second composite request from a second client device, the second composite request identifying a third action associated with a third data plugin component, in response to determining that the second composite request identifies the third action, perform the third action by executing a portion of the third data plugin component to: retrieve from the cache, using the first key value, the stored first cacheable data, and obtain third response data based on the retrieved first cacheable data, and transmit, in a third transmission and in response to the second composite request, the third response data to the second client device. 2. The computer device of claim 1 , wherein the instructions further cause the one or more processors to: in response to determining that the second composite request identifies the third action, initiate performance of the third action by executing a portion of the third data plugin component to initiate a third transaction with a first computer-implemented service; receive a third composite request from the first client device via the first WebSocket connection while the third transaction is pending, the third composite request identifying a fourth action associated with a fourth data plugin component; abort the third transaction in response to the receiving of the third composite request and a determination that the third transaction remains pending; in response to determining that the third composite request identifies the fourth action, perform the fourth action by executing a portion of the fourth data plugin component to obtain a third response data; and transmit, in a third transmission and in response to the third composite request, the third response data to the first client device via the first WebSocket connection. 3. The computer device of claim 1 , wherein the instructions further cause the one or more processors to: in response to determining that the second composite request identifies the third action, initiate performance of the third action by executing a portion of the third data plugin component to initiate a third transaction with a first computer-implemented service; receive, from the first client device via the first WebSocket connection and while the third transaction is pending, an indication of a suspension or termination of use of the first WebSocket connection by a first single-page application instance; and abort the third transaction in response to the receiving of the indication and a determination that the third transaction remains pending. 4. The computer device of claim 3 , wherein the instructions further cause the one or more processors to: identify, for a second single-page application executing on the first client device, a second plurality of data plugin components each configured to provide access to one or more computer-implemented services, wherein the second single-page application is different than the first single-page application, and the second plurality of data plugin components includes the third data plugin component not included in the first plurality of data plugin components; instantiate, after the transmitting of the second transmission, an instance of the third data plugin component; in response to determining that the second composite request identifies the third action, perform the third action by executing a portion of the third data plugin component, via the instance of the third data plugin component, to obtain the third response data; and transmit, in a third transmission separate from the first transmission and the second transmission, the third response data to the first client device via the first WebSocket connection. 5. The computer device of claim 1 , wherein the second transmission includes a response complete indication. 6. The computer device of claim 4 , wherein the instructions further cause the one or more processors to: establish a second WebSocket connection with the second client device, wherein the second WebSocket connection is different than the first WebSocket connection, wherein: The third response data is transmitted to the second client device via the second WebSocket connection. 7. The computer device of claim 6 , wherein the instructions further cause the one or more processors to: serve, to the first client device from a first domain with respect to the first client device, first single-page application resources for executing a first single-page application instance; and serve, to the second client device from a second domain with respect to the second client device, second single-page application resources for executing a second single-page application instance, wherein the second domain is different than the first domain. 8. The computer device of claim 3 , wherein the instructions further cause the one or more processors to: identify a prefetch data plugin component configured to perform a prefetch action for a second single-page application, wherein the second single-page application is different than the first single-page application; receive a second request from an instance of the first single-page application executing on the first client device via the first WebSocket connection, the first request identifying the prefetch action; in response to determining that the second request includes the prefetch action, perform the prefetch action by executing a portion of the prefetch data

Assignees

Inventors

Classifications

  • H04L67/34Primary

    involving the movement of software or configuration parameters  (network booting or remote initial program loading [RIPL] G06F9/4416) · CPC title

  • Plug-ins; Add-ons · CPC title

  • Setup of application sessions (admission control or resource allocation in data switching networks H04L47/70) · CPC title

  • Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources (admission control or resource allocation H04L47/70) · CPC title

  • Indicating network or usage conditions on the user display · 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 US11936747B2 cover?
Techniques for establishing a network connection with a client device and responding to composite requests from the client device. For a composite request identifying a first action associated with a first data plugin component and a second action associated with a different second data plugin component, the first action is performed by executing a first portion of the data plugin component and…
Who is the assignee on this patent?
Microsoft Technology Licensing Llc
What technology area does this patent fall under?
Primary CPC classification H04L67/34. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Mar 19 2024 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 1 related publication on this page (citations in our corpus or others sharing the same primary CPC).