US2019207891A1PendingUtilityA1

Selective distribution of messages in a scalable, real-time messaging system

54
Assignee: SATORI WORLDWIDE LLCPriority: Feb 24, 2017Filed: Mar 12, 2019Published: Jul 4, 2019
Est. expiryFeb 24, 2037(~10.6 yrs left)· nominal 20-yr term from priority
Inventors:Boaz Sedan
G06F 16/958H04L 67/142H04L 65/10G06F 12/0866G06Q 10/107H04L 51/16H04L 67/26H04L 67/28H04L 51/14H04L 51/12H04L 51/214H04L 51/212H04L 67/55H04L 51/216H04L 67/56
54
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, for selective distribution of messages from a scalable, real-time messaging system. An example method includes: receiving query instructions from receiving query instructions from a subscriber client subscribed to a channel of a plurality of channels; applying, by one or more computer processors, the query instructions to a plurality of messages for the channel as the plurality of messages are received to generate filtered messages, wherein the filtered messages comprise messages of the plurality of messages that satisfy the query instructions; and transmitting the filtered messages to the subscriber client.

Claims

exact text as granted — not AI-modified
1 . A method, comprising:
 receiving query instructions from a subscriber client subscribed to a channel of a plurality of channels;   applying, by one or more computer processors, the query instructions to a plurality of messages for the channel as the plurality of messages are received to generate filtered messages,
 wherein the filtered messages comprise messages of the plurality of messages that satisfy the query instructions; and 
   transmitting the filtered messages to the subscriber client.   
     
     
         2 . The method of  claim 1 , wherein the query instructions from the subscriber client comprise a request for a history of messages for the channel. 
     
     
         3 . The method of  claim 1 , wherein the plurality of messages are received from a plurality of publisher clients. 
     
     
         4 . The method of  claim 1 , wherein each message is associated with a particular one of the plurality of channels. 
     
     
         5 . The method of  claim 1 , wherein applying the query instructions to the plurality of messages for the channel comprises:
 filtering the plurality of messages based on one or n ore publisher clients.   
     
     
         6 . The method of  claim 1 , wherein applying the query instructions to the plurality of messages for the channel comprises:
 applying one or more of a filter, a function, or an aggregation to the plurality of messages for the channel as the messages are received to generate the filtered messages.   
     
     
         7 . The method of  claim 1 , comprising:
 building an index based on the query instructions; and   using the index when applying the query instructions to the plurality of messages for the channel as the plurality of messages are received to generate the filtered messages.   
     
     
         8 . The method of  claim 7 , comprising:
 combining results of applying the query instructions to the plurality of messages as the plurality of messages are received with results of applying the query instructions to non-indexed messages received prior to receipt of the query instructions.   
     
     
         9 . The method of  claim 1 , comprising:
 maintaining a query frequency,
 wherein the query frequency comprises a number of times the query instructions refer to a particular data element within the plurality of messages. 
   
     
     
         10 . The method of  claim 9 , comprising:
 storing an index if the query frequency exceeds a threshold, otherwise discarding the index after the index is applied for a defined period.   
     
     
         11 . A system, comprising:
 one or more computer processors programmed to perform operations to:
 receive query instructions from a subscriber client subscribed to a channel of a plurality of channels; 
 apply the query instructions to a plurality of messages for the channel as the plurality of messages are received to generate filtered messages,
 wherein the filtered messages comprise messages of the plurality of messages that satisfy the query instructions; and 
 
 transmit the filtered messages to the subscriber client. 
   
     
     
         12 . The system of  claim 11 , wherein the query instructions from the subscriber client comprise a request for a history of messages for the channel. 
     
     
         13 . The system of  claim 11 , wherein the plurality of messages are received from a plurality of publisher clients. 
     
     
         14 . The system of  claim 11 , wherein each message is associated with a particular one of the plurality of channels. 
     
     
         15 . The system of  claim 11 , wherein to apply the query instructions to the plurality of messages for the channel the one or more computer processors are further to:
 filter the plurality of messages based on one or more publisher clients.   
     
     
         16 . The system of  claim 11 , wherein to apply the query instructions to the plurality of messages for the channel the one or more computer processors are further to:
 apply one or more of a filter, a function, or an aggregation to the plurality of messages for the channel as the plurality of messages are received to generate the filtered messages.   
     
     
         17 . The system of  claim 11 , wherein the operations are further to:
 build an index based on the query instructions; and   use the index when applying the query instructions to the plurality of messages for the channel as the messages are received to generate the filtered messages.   
     
     
         18 . The system of  claim 17 , wherein the operations are further to:
 combine results of applying the query instructions to the plurality of messages as the plurality of messages are received with results of applying the query instructions to non-indexed messages received prior to receipt of the query instructions.   
     
     
         19 . The system of  claim 11 , wherein the operations are further to:
 maintain a query frequency,
 wherein the query frequency comprises a number of times the query instructions refer to a particular data element within the plurality of messages. 
   
     
     
         20 . A non-transitory computer-readable medium having instructions stored thereon that, when executed by one or more computer processors, cause the one or more computer processors to:
 receive query instructions from a subscriber client subscribed to a channel of a plurality of channels;   apply the query instructions to a plurality of messages for the channel as the plurality of messages are received to generate filtered messages,
 wherein the filtered messages comprise messages of the plurality of messages that satisfy the query instructions; and 
   transmit the filtered messages to the subscriber client.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.