Distributed, fault-tolerant message store
First Claim
Patent Images
1. A method of managing a network, comprising:
- receiving a message at an initial storage node, the message including a subscriber identifier;
calculating an actual destination node based on the subscriber identifier and a first addressing function corresponding to a current topology of the network;
sending the message to the actual destination node for storage;
storing the message to an internal queue of the initial storage node;
removing the message from the internal queue if a confirmation of receipt is received from the actual destination node;
sending a message waiting indicator message toward a device associated with the subscriber identifier;
receiving a message retrieval request at an initial retrieval node of the network, the message retrieval request including the subscriber identifier;
calculating a plurality of destination nodes based on the subscriber identifier and a plurality of addressing functions, each addressing function corresponding to a topology of the network at a particular moment in time, the plurality of destination nodes including the actual destination node and the plurality of addressing functions including the first addressing function;
querying the calculated plurality of destination nodes for the message;
receiving the message from the actual destination node; and
forwarding the message toward an originator of the message retrieval request, wherein the addressing functions are hash functions.
10 Assignments
0 Petitions
Accused Products
Abstract
A system and method of managing a network provides for distributed storage and retrieval. In one embodiment, information such as a text message is stored by calculating an actual destination node based on a subscriber identifier and a current addressing function, which corresponds to a current topology of a network. The message is sent to the actual destination node for storage. Messages can be retrieved by calculating a plurality of destination nodes based on a subscriber identifier and a plurality of addressing functions, where each addressing corresponds to a topology of the network at a particular moment in time. In one embodiment, the addressing functions are hash functions.
-
Citations
17 Claims
-
1. A method of managing a network, comprising:
-
receiving a message at an initial storage node, the message including a subscriber identifier; calculating an actual destination node based on the subscriber identifier and a first addressing function corresponding to a current topology of the network; sending the message to the actual destination node for storage; storing the message to an internal queue of the initial storage node; removing the message from the internal queue if a confirmation of receipt is received from the actual destination node; sending a message waiting indicator message toward a device associated with the subscriber identifier; receiving a message retrieval request at an initial retrieval node of the network, the message retrieval request including the subscriber identifier; calculating a plurality of destination nodes based on the subscriber identifier and a plurality of addressing functions, each addressing function corresponding to a topology of the network at a particular moment in time, the plurality of destination nodes including the actual destination node and the plurality of addressing functions including the first addressing function; querying the calculated plurality of destination nodes for the message; receiving the message from the actual destination node; and forwarding the message toward an originator of the message retrieval request, wherein the addressing functions are hash functions. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A method of managing a network, comprising:
-
receiving a message at an initial storage node, the message including a subscriber identifier; calculating an actual destination node based on the subscriber identifier and a first addressing function corresponding to a current topology of the network; sending the message to the actual destination node for storage; storing the message to an internal queue of the initial storage node; removing the message from the internal queue if a confirmation of receipt is received from the actual destination node; sending a message waiting indicator message toward a device associated with the subscriber identifier; receiving, by a first node that stores messages, a message retrieval request; calculating, by the first node using a subscriber identifier and a first addressing function, a second node that stores messages; calculating, by the first node using the subscriber identifier and a second addressing function, a third node that stores messages; and forwarding, by the first node, the message retrieval request to the second and third nodes, wherein the first and second addressing functions are hash functions. - View Dependent Claims (9, 10)
-
-
11. A non-transitory computer readable medium to store a set of instructions capable of being executed by a processor to:
-
receive a message at an initial storage node, the message including a subscriber identifier; calculate an actual destination node based on the subscriber identifier and a first addressing function corresponding to a current topology of the network; send the message to the actual destination node for storage; store the message to an internal queue of the initial storage node; remove the message from the internal queue if a confirmation of receipt is received from the actual destination node; send a message waiting indicator message toward a device associated with the subscriber identifier; receive a message retrieval request at an initial retrieval node of the network, the message retrieval request including the subscriber identifier; calculate a plurality of destination nodes based on the subscriber identifier and a plurality of addressing functions, each addressing function corresponding to a topology of the network at a particular moment in time, the plurality of destination nodes including the actual destination node and the plurality of addressing functions including the first addressing function; query the calculated plurality of destination nodes for the message; receive the message from the actual destination node; and forward the message toward an originator of the message retrieval request, wherein the addressing functions are hash functions. - View Dependent Claims (12, 13, 14, 15, 16, 17)
-
Specification