Dead drop network architecture
Abstract
A dead drop at a node in a dead drop (DD) domain performs actions responsive to detecting events in the DD domain. The node receives a notification request specifying an event to be monitored, the notification request including a dead drop identifier (DDID) referencing a storage location in the DD domain associated with the specified event and a token associated with the DDID. The node further specifies the action to perform in response to detecting the occurrence of the specified event. The node monitors for an occurrence of a specified event within the DD domain. The node detects the occurrence of the specified event within the DD domain. The node further performs a specified action in response to detecting the occurrence of the specified event within the DD domain.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1 . A method for exchanging data between a sender and a recipient comprising:
receiving, at a second node of a plurality of nodes of a dead drop domain, from the sender via a first node of the plurality of nodes of the dead drop domain, a write request to write data to a specified dead drop of a plurality of dead drops in the dead drop domain, wherein each dead drop of the plurality of dead drops is a distinct storage location on a node of the plurality of nodes and identified by a unique dead drop identifier (DDID), each node of the plurality of nodes comprising a processor and a memory and connected to one or more other nodes via a network; determining that the specified dead drop is on the second node; writing the data to the specified dead drop on the second node; receiving a read request to read data from the specified dead drop, the read request made by the recipient and received at the second node from a third node of the plurality of nodes of the dead drop domain; and providing the data from the specified dead drop to the recipient in response to the read request.
2 . The method of claim 1 , further comprising:
receiving, at the second node, a create request from the recipient; creating the specified dead drop at the second node in response to the create request; generating a DDID identifying the specified dead drop, a write token associated with the specified dead drop, and a read token associated with the specified dead drop; and providing the DDID identifying the specified dead drop, the write token, and the read token to the recipient.
3 . The method of claim 2 , wherein writing the data to the specified dead drop comprises:
comparing a write token received from the sender as part of the write request with the write token associated with the specified dead drop; determining that the write token received from the sender is valid based on the comparison; and writing the data to the specified dead drop responsive to determining that the write token from the sender is valid.
4 . The method of claim 2 , wherein providing the data from the specified dead drop to the recipient comprises:
comparing a read token received from the recipient with the read token associated with the specified dead drop; determining that the read token received from the recipient is valid based on the comparison; and providing the data from the specified dead drop to the recipient in response to determining that the read token is valid.
5 . The method of claim 2 , wherein determining that the specified dead drop is on the second node comprises:
comparing a DDID included in the write request with the DDID identifying the specified dead drop; and determining that the specified dead drop is on the second node based on the comparison.
6 . The method of claim 1 , further comprising:
evaluating a time-to-live (TTL) information for the specified dead drop at the second node of the dead drop domain; determining whether a duration for the specified dead drop indicated by the TTL information has been reached; and deleting the specified dead drop from the second node responsive to a determination that the duration for the dead drop indicated by the TTL information has been reached.
7 . The method of claim 1 , further comprising:
receiving, at the second node of the dead drop domain, a notification request for the specified dead drop; examining the notification request to identify a type of event for which a notification is requested and a notification address to which the notification is to be made; and creating a trigger that causes the notification to be sent to the notification address responsive to the identified type of event occurring at the specified dead drop.
8 . A system for exchanging data between a sender and a recipient comprising:
a processor for executing computer program instructions; and a non-transitory computer-readable storage medium storing computer program instructions executable by the processor to perform operations comprising:
receiving, at a second node of a plurality of nodes of a dead drop domain, from the sender via a first node of the plurality of nodes of the dead drop domain, a write request to write data to a specified dead drop of a plurality of dead drops in the dead drop domain, wherein each dead drop of the plurality of dead drops is a distinct storage location on a node of the plurality of nodes and identified by a unique dead drop identifier (DDID), each node of the plurality of nodes comprising a processor and a memory and connected to one or more other nodes via a network;
determining that the specified dead drop is on the second node;
writing the data to the specified dead drop on the second node;
receiving a read request to read data from the specified dead drop, the read request made by the recipient and received at the second node from a third node of the plurality of nodes of the dead drop domain; and
providing the data from the specified dead drop to the recipient in response to the read request.
9 . The system of claim 8 , the operations further comprising:
receiving, at the second node, a create request from the recipient; creating the specified dead drop at the second node in response to the create request; generating a DDID identifying the specified dead drop, a write token associated with the specified dead drop, and a read token associated with the specified dead drop; and providing the DDID identifying the specified dead drop, the write token, and the read token to the recipient.
10 . The system of claim 9 , wherein writing the data to the specified dead drop comprises:
comparing a write token received from the sender as part of the write request with the write token associated with the specified dead drop; determining that the write token received from the sender is valid based on the comparison; and writing the data to the specified dead drop responsive to determining that the write token from the sender is valid.
11 . The system of claim 9 , wherein providing the data from the specified dead drop to the recipient comprises:
comparing a read token received from the recipient with the read token associated with the specified dead drop; determining that the read token received from the recipient is valid based on the comparison; and providing the data from the specified dead drop to the recipient in response to determining that the read token is valid.
12 . The system of claim 9 , wherein determining that the specified dead drop is on the second node comprises:
comparing a DDID included in the write request with the DDID identifying the specified dead drop; and determining that the specified dead drop is on the second node based on the comparison.
13 . The system of claim 8 , the operations further comprising:
evaluating a time-to-live (TTL) information for the specified dead drop at the second node of the dead drop domain; determining whether a duration for the specified dead drop indicated by the TTL information has been reached; and deleting the specified dead drop from the second node responsive to a determination that the duration for the dead drop indicated by the TTL information has been reached.
14 . The system of claim 8 , the operations further comprising:
receiving, at the second node of the dead drop domain, a notification request for the specified dead drop; examining the notification request to identify a type of event for which a notification is requested and a notification address to which the notification is to be made; and creating a trigger that causes the notification to be sent to the notification address responsive to the identified type of event occurring at the specified dead drop.
15 . A non-transitory computer-readable storage medium storing computer program instructions executable by a processor to perform operations for exchanging data between a sender and a recipient, the operations comprising:
receiving, at a second node of a plurality of nodes of a dead drop domain, from the sender via a first node of the plurality of nodes of the dead drop domain, a write request to write data to a specified dead drop of a plurality of dead drops in the dead drop domain, wherein each dead drop of the plurality of dead drops is a distinct storage location on a node of the plurality of nodes and identified by a unique dead drop identifier (DDID), each node of the plurality of nodes comprising a processor and a memory and connected to one or more other nodes via a network; determining that the specified dead drop is on the second node; writing the data to the specified dead drop on the second node; receiving a read request to read data from the specified dead drop, the read request made by the recipient and received at the second node from a third node of the plurality of nodes of the dead drop domain; and providing the data from the specified dead drop to the recipient in response to the read request.
16 . The non-transitory computer-readable storage medium of claim 15 , the operations further comprising:
receiving, at the second node, a create request from the recipient; creating the specified dead drop at the second node in response to the create request; generating a DDID identifying the specified dead drop, a write token associated with the specified dead drop, and a read token associated with the specified dead drop; and providing the DDID identifying the specified dead drop, the write token, and the read token to the recipient.
17 . The non-transitory computer-readable storage medium of claim 16 , the operations further comprising:
comparing a write token received from the sender as part of the write request with the write token associated with the specified dead drop; determining that the write token received from the sender is valid based on the comparison; and writing the data to the specified dead drop responsive to determining that the write token from the sender is valid.
18 . The non-transitory computer-readable storage medium of claim 16 , wherein providing the data from the specified dead drop to the recipient comprises:
comparing a read token received from the recipient with the read token associated with the specified dead drop; determining that the read token received from the recipient is valid based on the comparison; and providing the data from the specified dead drop to the recipient in response to determining that the read token is valid.
19 . The non-transitory computer-readable storage medium of claim 16 , wherein determining that the specified dead drop is on the second node comprises:
comparing a DDID included in the write request with the DDID identifying the specified dead drop; and determining that the specified dead drop is on the second node based on the comparison.
20 . The non-transitory computer-readable storage medium of claim 15 , the operations further comprising:
receiving, at the second node of the dead drop domain, a notification request for the specified dead drop; examining the notification request to identify a type of event for which a notification is requested and a notification address to which the notification is to be made; and creating a trigger that causes the notification to be sent to the notification address responsive to the identified type of event occurring at the specified dead drop.Join the waitlist — get patent alerts
Track US2019044796A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.