US2022365979A1PendingUtilityA1

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/125H04L 51/214H04L 51/046G06Q 10/10G06F 16/9024H04L 51/216H04L 67/10G06F 9/546G06F 16/9536G06F 9/542H04L 51/52G06F 16/90324H04L 67/566G06F 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 for matching content in a plurality of messages posted to a messaging platform;   generating response events while the query subscription is active such that a response event is generated in response to a message of the plurality of messages satisfying the query subscription;   discarding one or more of the response events to control a streaming rate at which messages identified by the response events are transmitted to the user device; and   transmitting, over a network, the messages identified by the response events to the user device according to the streaming rate.   
     
     
         2 . The method of  claim 1 , wherein a newly-received response event is discarded in response to a number of previously-received response events exceeding a threshold amount over a period of time. 
     
     
         3 . The method of  claim 1 , wherein a newly-received response event is published to a response event bus in response to a number of previously published response events being equal to or less than a threshold amount over a period of time. 
     
     
         4 . The method of  claim 1 , further comprising:
 publishing the response events to a response event bus; and   storing the published response events in a memory cache.   
     
     
         5 . The method of  claim 4 , further comprising:
 determining a number of response events stored in the memory cache over a period of time; and   discarding a new response event in response to the number of response events stored in the memory cache exceeding a threshold amount during the period of time.   
     
     
         6 . The method of  claim 1 , further comprising:
 receiving the response events via a response event bus, each response event including a message identifier; and   
       generating messages based on the response events such that a message is generated for each response event based on a message identifier included in a respective response event and a user identifier associated with the query subscription. 
     
     
         7 . 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.   
     
     
         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 for matching content in a plurality of messages posted to a messaging platform; 
 generate response events while the query subscription is active such that a response event is generated in response to a message of the plurality of messages satisfying the query subscription; 
 discard one or more of the response events to control a streaming rate at which messages identified by the response events are transmitted to the user device; and 
 transmit, over a network, the messages identified by the response events to the user device according to the streaming rate. 
   
     
     
         9 . The apparatus of  claim 8 , wherein a newly-received response event is discarded in response to a number of previously-received response events exceeding a threshold amount over a period of time. 
     
     
         10 . The apparatus of  claim 8 , wherein a newly-received response event is published to a response event bus in response to a number of previously published response events being equal to or less than a threshold amount over a period of time. 
     
     
         11 . 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:
 publish the response events to a response event bus; and   store the published response events in a memory cache.   
     
     
         12 . The apparatus of  claim 11 , wherein the executable instructions include instructions that when executed by the at least one processor cause the at least one processor to:
 determine a number of response events stored in the memory cache over a period of time; and   discard a new response event in response to the number of response events stored in the memory cache exceeding a threshold amount during the period of time.   
     
     
         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 the response events via a response event bus, each response event including a message identifier; and   generate messages based on the response events such that a message is generated for each response event based on a message identifier included in a respective response event and a user identifier associated with the query subscription.   
     
     
         14 . 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; and   adjust 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.   
     
     
         15 . 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 for matching content in a plurality of messages posted to a messaging platform;   generating response events while the query subscription is active such that a response event is generated in response to a message of the plurality of messages satisfying the query subscription;   discarding one or more of the response events to control a streaming rate at which messages identified by the response events are transmitted to the user device; and   transmitting, over a network, the messages identified by the response events to the user device according to the streaming rate.   
     
     
         16 . The non-transitory computer-readable medium of  claim 15 , wherein a newly-received response event is discarded in response to a number of previously-received response events exceeding a threshold amount over a period of time. 
     
     
         17 . The non-transitory computer-readable medium of  claim 15 , wherein a newly-received response event is published to a response event bus in response to a number of previously published response events being equal to or less than a threshold amount over a period of time. 
     
     
         18 . The non-transitory computer-readable medium of  claim 15 , wherein the operations further comprise:
 publishing the response events to a response event bus; and   storing the published response events in a memory cache.   
     
     
         19 . The non-transitory computer-readable medium of  claim 18 , wherein the operations further comprise:
 determining a number of response events stored in the memory cache over a period of time; and   discarding a new response event in response to the number of response events stored in the memory cache exceeding a threshold amount during the period of time.   
     
     
         20 . The non-transitory computer-readable medium of  claim 15 , wherein the operations further comprise:
 receiving the response events via a response event bus, each response event including a message identifier; and   
       generating messages based on the response events such that a message is generated for each response event based on a message identifier included in a respective response event and a user identifier associated with the query subscription.

Join the waitlist — get patent alerts

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

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