US2018241691A1PendingUtilityA1
Access control for message channels in a messaging system
Est. expiryAug 8, 2036(~10.1 yrs left)· nominal 20-yr term from priority
H04L 51/06H04W 12/08H04L 67/42H04L 47/722H04L 51/214H04L 67/01
49
PatentIndex Score
0
Cited by
0
References
0
Claims
Abstract
Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, to receive one or more messages for publication, wherein each message is received from a respective publisher for publication on a channel of a plurality of channels, place each message in a respective buffer for the channel of the message, wherein messages are present in the respective buffer during a finite time-to-live period for the respective buffer, and for each buffer that has not expired, send any messages in the buffer to subscribers that are authorized to subscribe to the channel associated with the buffer.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1 . A method, comprising:
receiving one or more messages for publication,
wherein each message is received from a respective publisher for publication on a channel of a plurality of channels;
placing, by one or more computer processors, each message in a respective buffer for the channel of the message,
wherein messages are present in the respective buffer during a finite time-to-live period for the respective buffer; and
for each buffer that has not expired, sending any messages in the buffer to subscribers that are authorized to subscribe to the channel associated with the buffer.
2 . The method of claim 1 , further comprising:
receiving at least one subscription request,
wherein each subscription request is received from a respective subscriber for a respective channel;
3 . The method of claim 1 , further comprising:
authorizing at least one subscription request,
wherein each authorized subscription request permits a subscriber of the request to receive messages published to a channel of the request.
4 . The method of claim 1 , wherein the messages are placed in the respective buffer according to an order, and wherein messages in each buffer that has not expired are sent according to the order.
5 . The method of claim 1 , further comprising:
receiving at least one publication request,
wherein each publication request is received from a respective publisher for a respective channel; and
authorizing one or more of the at least one publication request,
wherein each authorized publication request permits the respective publisher to publish one or more messages to the channel of the request.
6 . The method of claim 5 , wherein placing the message in the respective buffer for the channel of the message comprises:
determining that the publisher from which a particular message was received is authorized to publish messages to the channel of the particular message.
7 . The method of claim 1 , wherein placing the message in the respective buffer for the channel of the message comprises:
deleting any messages in the respective buffer upon expiration of the time-to-live period for the buffer.
8 . The method of claim 1 , further comprising:
receiving one or more authentication requests through respective connections, wherein each authentication request comprises one or more credentials of a respective client; and for each authentication request:
publishing, to a first channel, a first message requesting to authenticate the respective client, wherein the first message comprises the one or more credentials;
retrieving, from the first channel, a published second message, wherein the published second message comprises an authentication confirmation provided in response to the first message; and
based thereon, authenticating the respective client.
9 . The method of claim 8 , further comprising:
storing, in information associated with the respective connection, an indication of the authentication confirmation.
10 . The method of claim 8 , wherein the first channel is not accessible to the respective client.
11 . A computing device, comprising:
one or more computer processors to:
receive one or more messages for publication, wherein each message is received from a respective publisher for publication on a channel of a plurality of channels;
place each message in a respective buffer for the channel of the message, wherein messages are present in the respective buffer during a finite time-to-live period for the respective buffer; and
for each buffer that has not expired, send any messages in the buffer to subscribers that are authorized to subscribe to the channel associated with the buffer.
12 . The computing device of claim 11 , wherein the one or more processors are further to:
receive at least one subscription request, wherein each subscription request is received from a respective subscriber for a respective channel;
13 . The computing device of claim 11 , wherein the one or more processors are further to:
authorize at least one subscription request, wherein each authorized subscription request permits a subscriber of the request to receive messages published to a channel of the request.
14 . The computing device of claim 11 , wherein the messages are placed in the respective buffer according to an order, and wherein messages in each buffer that has not expired are sent according to the order.
15 . The computing device of claim 11 , wherein the one or more processors are further to:
receive at least one publication request,
wherein each publication request is received from a respective publisher for a respective channel; and
authorize one or more of the at least one publication request,
wherein each authorized publication request permits the respective publisher to publish one or more messages to the channel of the request.
16 . The computing device of claim 15 , wherein to place the message in the respective buffer for the channel of the message the one or more processors are further to:
determine that the publisher from which a particular message was received is authorized to publish messages to the channel of the particular message.
17 . The computing device of claim 11 , wherein to place the message in the respective buffer for the channel of the message the one or more processors are further to:
delete any messages in the respective buffer upon expiration of the time-to-live period for the buffer.
18 . The computing device of claim 11 , wherein the one or more processors are further to:
receive one or more authentication requests through respective connections, wherein each authentication request comprises one or more credentials of a respective client; and for each authentication request:
publish, to a first channel, a first message requesting to authenticate the respective client, wherein the first message comprises the one or more credentials;
retrieve, from the first channel, a published second message, wherein the published second message comprises an authentication confirmation provided in response to the first message; and
based thereon, authenticate the respective client.
19 . The computing device of claim 18 , wherein the first channel is not accessible to the respective client.
20 . A non-transitory computer-readable medium having instruction stored thereon that, when executed by one or more computer processors, cause the one or more computer processors to:
receive one or more messages for publication, wherein each message is received from a respective publisher for publication on a channel of a plurality of channels; place each message in a respective buffer for the channel of the message, wherein messages are present in the respective buffer during a finite time-to-live period for the respective buffer; and for each buffer that has not expired, send any messages in the buffer to subscribers that are authorized to subscribe to the channel associated with the buffer.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.