US2022365978A1PendingUtilityA1

Managing query subscription renewals in a messaging platform

Assignee: TWITTER INCPriority: Aug 6, 2019Filed: Jul 26, 2022Published: Nov 17, 2022
Est. expiryAug 6, 2039(~13 yrs left)· nominal 20-yr term from priority
H04L 67/566H04L 67/125G06F 9/546G06F 16/90324G06Q 10/10H04L 67/10G06F 16/9536G06F 9/542H04L 51/216H04L 51/046G06F 16/9024H04L 51/214H04L 51/52G06F 16/9535G06F 16/334
64
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

This disclosure relates to streaming real-time messages over time to client applications according to query subscriptions that match content from a large stream of messages exchanged on a messaging platform in a manner that increases the speed of message delivery, effectively controls the management of computer resources to handle the fluctuation of the number of active query subscriptions, and/or increases the security of matching the query subscriptions against messages generated from the perspective of the authors while delivering those messages in real-time from the perspective of the users that initiated the query subscriptions.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
         1 . A method comprising:
 receiving, from a user device, a query subscription to match content in a plurality of messages posted to a messaging platform;   in response to a message of the plurality of messages satisfying the query subscription, generating a response event while the query subscription is active, the response event including a message identifier that identifies the message;   determining whether a user associated with the query subscription has restricted an author of the message identified by the response event;   in response to the author being determined as restricted by the user, discarding the response event;   in response to the author being determined as not restricted by the user, generating the message using the message identifier; and   transmitting, over a network, the message to the user device.   
     
     
         2 . The method of  claim 1 , wherein the message includes a Java script object notation (JSON) message, wherein the JSON message is generated after the response event is generated. 
     
     
         3 . The method of  claim 1 , wherein determining whether the user has restricted the author includes determining whether the user has blocked or muted the author. 
     
     
         4 . The method of  claim 1 , wherein generating the message includes obtaining content of the message from a message repository using the message identifier. 
     
     
         5 . The method of  claim 1 , further comprising:
 assigning the query subscription to one or more of a plurality of event producers; and   adjusting an amount of the plurality of event producers based on how many active query subscriptions are being processed at the plurality of event producers and how many messages are posted to the messaging platform over a period of time.   
     
     
         6 . The method of  claim 1 , further comprising:
 determining whether a number of response events within a period of time has exceeded a streaming rate threshold; and   discarding one or more response events in response to the streaming rate threshold being exceeded.   
     
     
         7 . The method of  claim 1 , further comprising:
 receiving, over a network, a query subscription request from the user device; and   transmitting the query subscription to an event producer manager in response to receipt of the query subscription request, the event producer manager configured to assign the query subscription to one or more event producers.   
     
     
         8 . An apparatus comprising:
 at least one processor; and
 a non-transitory computer-readable medium storing executable instructions that when executed by the at least one processor cause the at least one processor to: 
 receive, from a user device, a query subscription to match content in a plurality of messages posted to a messaging platform; 
 in response to a message of the plurality of messages satisfying the query subscription, generate a response event while the query subscription is active, the response event including a message identifier that identifies the message; 
 determine whether a user associated with the query subscription has restricted an author of the message identified by the response event; 
 in response to the author being determined as restricted by the user, discard the response event; 
 in response to the author being determined as not restricted by the user, generate the message using the message identifier included within the response event; and 
 transmit, over a network, the message to the user device. 
   
     
     
         9 . The apparatus of  claim 8 , wherein the executable instructions include instructions that when executed by the at least one processor cause the at least one processor to:
 assign the query subscription to one or more of a plurality of event producers, each event producer being configured to determine whether at least a portion of the plurality of messages satisfy the query subscription.   
     
     
         10 . The apparatus of  claim 9 , wherein the executable instructions include instructions that when executed by the at least one processor cause the at least one processor to:
 receive response events from the plurality of event producers and publish the response events on a response event bus;   receive a status message about a status of execution of the query subscription at a respective event producer; and   transmit subscription data stored on the messaging platform to the respective event producer to restart the query subscription in response to the status message indicating an error associated with the query subscription.   
     
     
         11 . The apparatus of  claim 9 , wherein the executable instructions include instructions that when executed by the at least one processor cause the at least one processor to:
 monitor a number of query subscriptions processed at the plurality of event producers and a size of the plurality of messages; and   adjust a number of the plurality of event producers based on the number of query subscriptions and the size of the plurality of messages.   
     
     
         12 . The apparatus of  claim 8 , wherein the executable instructions include instructions that when executed by the at least one processor cause the at least one processor to:
 assign the query subscription to a first event producer group and a second event producer group, the first event producer group including a plurality of event producers, each of the plurality of event producers configured to receive a separate portion of the plurality of messages.   
     
     
         13 . The apparatus of  claim 8 , wherein the executable instructions include instructions that when executed by the at least one processor cause the at least one processor to:
 receive, over the network, a query subscription request from the user device; and   transmit the query subscription to an event producer manager in response to receipt of the query subscription request, the event producer manager configured to assign the query subscription to one or more event producers.   
     
     
         14 . The apparatus of  claim 13 , wherein the executable instructions include instructions that when executed by the at least one processor cause the at least one processor to:
 identify a transport topic in response to receipt of the query subscription request; and   transmit, over the network, a subscription status response to the user device, the subscription status response identifying the transport topic.   
     
     
         15 . The apparatus of  claim 14 , wherein the executable instructions include instructions that when executed by the at least one processor cause the at least one processor to:
 receive, over the network, a subscribe request from the user device, the subscribe request identifying the transport topic; and   establish a delivery channel between a transport engine and the user device in response to receipt of the subscribe request and associate the delivery channel with the transport topic identified in the subscribe request such that messages transmitted via the delivery channel correspond to subject matter of the transport topic.   
     
     
         16 . A non-transitory computer-readable medium storing executable instructions that when executed by at least one processor cause the least one processor to execute operations, the operations comprising:
 receiving, from a user device, a query subscription to match content in a plurality of messages posted to a messaging platform;   in response to a message of the plurality of messages satisfying the query subscription, generating a response event while the query subscription is active, the response event including a message identifier that identifies the message;   determining whether a user associated with the query subscription has restricted an author of the message identified by the response event;   in response to the author being determined as restricted by the user, discarding the response event;   in response to the author being determined as not restricted by the user, generating the message using the message identifier; and   transmitting, over a network, the message to the user device.   
     
     
         17 . The non-transitory computer-readable medium of  claim 16 , wherein the message includes a Java script object notation (JSON) message, wherein the JSON message is generated after the response event is generated. 
     
     
         18 . The non-transitory computer-readable medium of  claim 16 , wherein determining whether the user has restricted the author includes determining whether the user has blocked or muted the author. 
     
     
         19 . The non-transitory computer-readable medium of  claim 16 , wherein generating the message includes obtaining content of the message from a message repository using the message identifier. 
     
     
         20 . The non-transitory computer-readable medium of  claim 16 , wherein the operations further comprise:
 assigning the query subscription to one or more of a plurality of event producers; and   adjusting an amount of the plurality of event producers based on how many active query subscriptions are being processed at the plurality of event producers and how many messages are posted to the messaging platform over a period of time.

Join the waitlist — get patent alerts

Track US2022365978A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.