US 11,720,507 B2
Event-level granular control in an event bus using event-level policies
Felipe de Aguiar Kamakura, Vancouver (CA); Rishi Baldawa, Vancouver (CA); and Nicholas Smit, Vancouver (CA)
Assigned to Amazon Technologies, Inc., Seattle, WA (US)
Filed by Amazon Technologies, Inc., Seattle, WA (US)
Filed on Jun. 28, 2021, as Appl. No. 17/360,924.
Prior Publication US 2022/0414039 A1, Dec. 29, 2022
Int. Cl. G06F 13/36 (2006.01); G06F 9/54 (2006.01)
CPC G06F 13/36 (2013.01) [G06F 9/542 (2013.01)] 20 Claims
OG exemplary drawing
 
1. An event bus system, comprising:
at least one processor; and
a memory, storing program instructions that when executed by the at least one processor, cause the at least one processor to:
receive, at an event bus system, a first event, wherein the first event comprises a first event-level policy and a first event data for a first environment;
receive, at the event bus system, a second event, wherein the second event comprises a second event-level policy and a second event data for a second environment;
determine, based on rules in the event bus system, an event target, wherein the rules describe conditions for the event bus system to route events, and wherein the event target is matched with both the first event and the second event according to the rules;
evaluate the first event-level policy with respect to the event target to determine that the first event-level policy allows sending the first event to the event target;
evaluate the second event-level policy with respect to the event target to determine that the second event-level policy denies sending the second event to the event target; and
send the first event to the event target and refrain from sending the second event to the event target.
 
5. A method, comprising:
receiving, at a message routing system, a first message wherein the first message comprises a first message-level policy and a first message data for a first environment;
receiving, at the message routing system, a second message wherein the second message comprises a second message-level policy and a second message data for a second environment;
determining, by the message routing system, that a message target is matched with the first message and the second message;
evaluating, by the message routing system, the first message-level policy and the second message-level policy with respect to the message target to determine that the second message-level policy denies sending the second message to the message target; and
sending, by the message routing system, the first message to the message target and refraining from sending the second message to the message target.
 
15. One or more non-transitory, computer-readable storage media, storing program instructions that when executed on or across one or more computing devices cause the one or more computing devices to implement:
receiving, at a message routing system, first message wherein the first message comprises a first message-level policy and a first message data for a first environment;
receiving, at the message routing system, a second message wherein the second message comprises a second message-level policy and a second message data for a second environment;
determining a message target, wherein the message target is matched with both the first message and the second message;
evaluating the first message-level policy to determine that the first message-level policy allows the first message to be sent to the message target;
evaluating the second message-level policy to determine that the second message-level policy denies sending the second message to the message target; and
sending the first message to the message target and refraining from sending the second message to the message target.