IP Library Granted Patent US 7,904,592
Granted Patent B2
US 7,904,592 · App. 10/686,741 · Granted Mar 8, 2011

Distributed, fault-tolerant message store

Assignee: Gemini Mobile Technologies, Inc.
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,904,592
App. No.
10/686,741
Granted
Mar 8, 2011
Kind
B2
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.

Claims (59)

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.

2. The method of claim 1 , wherein the originator of the message retrieval request is a wireless handset, the message being at least one of a short messaging service message and a mail digest.

3. The method of claim 1 , wherein the originator of the message retrieval request is a wireless handset, the message being a long messaging service message.

4. The method of claim 1 , further including:

receiving a plurality of messages from the calculated plurality of destination nodes; and

forwarding the plurality of messages toward the originator of the message retrieval request.

5. The method of claim 1 , further including expiring one or more of the plurality of addressing functions based on a message validity period.

6. The method of claim 1 , further including expiring one or more of the plurality of addressing functions for an expired destination node based on a local expiration signal from the expired destination node.

7. The method of claim 1 , further including:

applying a time stamp to each of the plurality of addressing functions; and

delivering each of the plurality of addressing functions to the plurality of destination nodes before activation.

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.

9. The method of claim 8 , wherein the first and second addressing functions correspond to a topology of the network at different moments in time.

10. The method of claim 8 , wherein the first and second addressing functions are hash functions, and the first and second addressing functions each have a different expiration time.

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.

12. The medium of claim 11 , wherein the originator of the message retrieval request is a wireless handset, the message being at least one of a short messaging service message and a mail digest.

13. The method of claim 11 , wherein the originator of the message retrieval request is a wireless handset, the message being a long messaging service message.

14. The medium of claim 11 , wherein the instructions are further capable of being executed to:

receive a plurality of messages from the calculated plurality of destination nodes; and

forward the plurality of messages toward the originator of the message retrieval request.

15. The medium of claim 11 , wherein the instructions are further capable of being executed to:

expire one or more of the plurality of addressing functions based on a message validity period.

16. The medium of claim 11 , wherein the instructions are further capable of being executed to:

expire one or more of the plurality of addressing functions for an expired destination node based on a local expiration signal from the expired destination node.

17. The medium of claim 11 , wherein the instructions are further capable of being executed to:

apply a time stamp to each of the plurality of addressing functions; and

deliver each of the plurality of addressing functions to the plurality of destination nodes before activation.

Assignments (10)
SECURITY INTEREST Recorded Aug 19, 2024
From: CLOUDIAN HOLDINGS INC.
To: AVIDBANK
Reel/Frame 068332/0854 →
RELEASE OF SECURITY INTEREST Recorded Aug 12, 2024
From: SILICON VALLEY BANK
To: CLOUDIAN HOLDINGS INC.
Reel/Frame 068254/0994 →
SECURITY INTEREST Recorded Aug 23, 2023
From: CLOUDIAN HOLDINGS INC.
To: FIRST-CITIZENS BANK & TRUST COMPANY, AS AGENT
Reel/Frame 064671/0010 →
SECURITY INTEREST Recorded Jul 14, 2023
From: CLOUDIAN HOLDINGS INC.
To: SILICON VALLEY BANK
Reel/Frame 064252/0451 →
RELEASE OF SECURITY INTEREST Recorded Jan 11, 2021
From: HERCULES CAPITAL, INC., AS AGENT
To: CLOUDIAN HOLDINGS INC.
Reel/Frame 054881/0403 →
SECURITY INTEREST Recorded Nov 6, 2018
From: CLOUDIAN HOLDINGS INC.
To: HERCULES CAPITAL, INC., AS AGENT
Reel/Frame 047426/0441 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 16, 2012
From: GEMINI MOBILE TECHNOLOGIES, INC.
To: GREENOUGH CONSULTING GROUP
Reel/Frame 028798/0668 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 16, 2012
From: GREENOUGH CONSULTING GROUP
To: POLLUX CASTOR CORPORATION
Reel/Frame 028800/0270 →
CHANGE OF NAME Recorded Aug 16, 2012
From: POLLUX CASTOR CORPORATION
To: CLOUDIAN HOLDINGS INC.
Reel/Frame 028801/0447 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 25, 2004
From: NORTON, JOSEPH W.; OGASAWARA, GARY H.; SCHWARTZ, JONAH; STONE, DAVID; TSO, MICHAEL M.
To: GEMINI MOBILE TECHNOLOGIES, INC.
Reel/Frame 015136/0259 →
Continuity (2)
Provisional Application 60418728 · Oct 17, 2002
Related Publication 20040139148A1 · Jul 15, 2004