Real-time Transactionally Consistent Change Notifications
US-2017344596-A1 · Nov 30, 2017 · US
US11159634B1 · US · B1
| Field | Value |
|---|---|
| Publication number | US-11159634-B1 |
| Application number | US-201715821676-A |
| Country | US |
| Kind code | B1 |
| Filing date | Nov 22, 2017 |
| Priority date | Nov 22, 2017 |
| Publication date | Oct 26, 2021 |
| Grant date | Oct 26, 2021 |
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 technology is provided for a fan out for a subscription. A mutation may be received at a data proxy from an application. The mutation may be sent to the data source via a data access resolver associated with the data proxy. Results for the mutation may be received. At least one subscription may be identified which matches combinations of fields in the results for the mutation. A message for the at least one subscription regarding the mutation may be sent to a messaging service to enable the messaging service to publish the message to devices subscribed to at least one topic for the at least one subscription.
Opening claim text (preview).
What is claimed is: 1. A non-transitory machine readable storage medium having instructions embodied thereon, the instructions when executed cause a processor to perform processing, comprising: receiving a plurality of subscription requests at a data proxy from applications; receiving a mutation at the data proxy from an application executing at a client, wherein the data proxy is hosted in a service provider environment; sending the mutation to a data store via a data access resolver; receiving results for the mutation; identifying a plurality of possible subscriptions based on combinations of fields in the results for the mutation for a fan out operation, wherein a number of the combinations of the fields in the results for the mutation is 2 N , where N is a number of inputs representing the fields in the results, and matching created subscriptions to at least one of the plurality of possible subscriptions wherein the created subscriptions are created by a request being received at the data proxy; and sending messages for the plurality of subscriptions to a messaging service to enable the messaging service to publish the messages to devices subscribed to topics for the plurality of subscriptions. 2. The non-transitory machine readable storage medium of claim 1 , further comprising: sending connection information in response to receiving each of the created subscriptions, wherein the connection information includes a topic identifier, a client identifier for connection to the service provider environment, and a pre-signed URL (Uniform Resource Locator) that is scoped to topics that are subscribed to, wherein only one client can connect using the pre-signed URL. 3. The non-transitory machine readable storage medium of claim 1 , wherein a topic is created using at least one subscription field name and subscription arguments. 4. The non-transitory machine readable storage medium of claim 1 , further comprising: using program code executing on a program code service to identify the plurality of possible subscriptions which match the combinations of the fields in the results for the mutation. 5. A method, under the control of at least one processor, comprising: receiving a mutation from an application; sending the mutation to a data source via a data access resolver; receiving results for the mutation from the data source via the data access resolver; identifying a plurality of possible subscriptions based on combinations of fields in the results for the mutation for a fan out operation, wherein a number of the combinations of the fields in the results for the mutation is 2 N , where N is a number of inputs representing the fields in the results, and matching created subscriptions to at least one of the plurality of possible subscriptions wherein the created subscriptions are created by a request being received at a data proxy associated with the data access resolver; and sending messages regarding the mutation to a messaging service to enable the messaging service to publish the messages to devices subscribed to topics for the created subscriptions. 6. The method of claim 5 , further comprising: receiving a plurality of mutations at the data proxy from a plurality of clients; and triggering a plurality of subscriptions for each of the mutations using the combinations of the fields in the results for the mutations. 7. The method of claim 6 , further comprising: sending connection information in response to receiving each of the plurality of subscriptions, wherein the connection information includes a topic identifier, a client identifier for connection to a service provider environment, and a pre-signed URL (Uniform Resource Locator) that is scoped to topics that are subscribed to, wherein one client can connect using the pre-signed URL. 8. The method of claim 5 , wherein the at least one topic is created using a subscription field name and subscription arguments. 9. The method of claim 5 , wherein the messages are sent using at least one of: Message Queue Telemetry Transport (MQTT) protocol, WebSocket protocol, or long polling. 10. The method of claim 5 , further comprising: executing a program code function to identify the plurality of possible subscriptions which match the combinations of the fields in the results for the mutation. 11. The method of claim 5 , further comprising receiving a plurality of subscription requests at the data proxy from a plurality of clients. 12. The method of claim 5 , wherein N is limited to a pre-determined number of inputs. 13. The method of claim 5 , wherein messaging for a plurality of subscriptions is scalable using a plurality of subscriptions called in response to the mutation. 14. The method of claim 5 , wherein the mutation is one of a plurality of mutations that were stored in a cache at a client while the client was offline and were received by the data proxy after the client connected to the data proxy. 15. The method of claim 5 , wherein the data source is a data store selected from a group of data stores consisting of: an object data store, a key-value data store, and a search service. 16. The method of claim 5 , wherein the data source is a code function that is a segment of program code executing on a code function service. 17. The method of claim 5 , wherein the data proxy includes more than one version of a data schema and the mutation is handled by the data proxy using a version of the data schema requested by a client. 18. A system, comprising: a data proxy comprising: at least one processor; and a memory device including instructions to be executed by the at least one processor in order to: receive a mutation at the data proxy from an application executing at a client, wherein the data proxy is associated with a service provider environment; send the mutation to a data store via a data access resolver associated with the data proxy; receive results for the mutation; identify a plurality of subscriptions which match combinations of fields of the results for the mutation, wherein a number of the combinations of the fields in the results for the mutation is 2 N , where N is a number of the fields in the results for the mutation; and send messages for the plurality of subscriptions regarding the mutation to a messaging service to enable the messaging service to publish the messages to devices subscribed to topics for the plurality of subscriptions. 19. The system of claim 18 , the instructions further comprising: receive a plurality of subscription requests at the data proxy from clients. 20. The system of claim 18 , the instructions further comprising: send connection information in response to receiving each of the plurality of subscriptions, wherein the connection information includes a topic identifier, a client identifier for connection to the service provider environment, and a pre-signed URL (Uniform Resource Locator) that is scoped to topics that are subscribed to, wherein only one client can connect using the pre-signed URL.
Remote procedure calls [RPC]; Web services · CPC title
Provisioning of proxy services (store-and-forward switching systems in data switching networks H04L12/54) · CPC title
Push-based network services · CPC title
Client-server · CPC title
Message passing systems or structures, e.g. queues · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.