IP Library Granted Patent US 7,606,252
Granted Patent B2
US 7,606,252 · App. 10/735,696 · Granted Oct 20, 2009

Stateless message routing

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,606,252
App. No.
10/735,696
Granted
Oct 20, 2009
Kind
B2
Abstract

Systems and methods of processing incoming data provide for receiving incoming data and determining whether to employ stateless routing of the incoming data based on one or more destination hosts associated with the incoming data. In one approach, stateless routing involves storing the incoming data only in volatile memory and withholding confirmation of receipt of the incoming data until confirmation of delivery is received from either the destination host or a downstream router. The determination as to whether stateless routing should be employed can take into consideration historical data for the destination host as well as control data. The determination can also be based on the number of destination hosts.

Claims (50)

1. A method of processing incoming data, comprising:

storing, by a router, historical data for a destination host;

receiving, by the router, incoming data; and

determining, by the router, that stateless routing of the incoming data is to be employed based on the stored historical data for the destination host associated with the incoming data, wherein the stored historical data is independent of the incoming data;

generating a probability decision representative of whether stateless routing is to be employed by

generating a probability decision for each of a plurality of destination hosts associated with the incoming data; and

multiplying the probability decisions together to represent whether stateless routing is to be employed.

2. The method of claim 1 , further including:

storing the incoming data only in volatile memory when stateless routing is to be employed.

3. The method of claim 2 , further including withholding confirmation of receipt of the incoming data until confirmation of delivery is received from either the destination host or a downstream router.

4. The method of claim 3 , wherein a copy of the incoming data is to be stored in nonvolatile memory by a sender of the incoming data until the confirmation of receipt is received at the sender.

5. The method of claim 3 , further including:

receiving the confirmation of delivery; and

sending the confirmation of receipt toward a sender of the incoming data.

6. The method of claim 2 , further including aborting the stateless routing by storing the incoming data in nonvolatile memory and sending confirmation of receipt of the incoming data toward a sender of the incoming data.

7. The method of claim 1 , wherein the historical data includes at least one of previous stateless routing outcomes and previous routing latencies.

8. The method of claim 7 , further including calculating a success rate probability based on the previous routing outcomes.

9. The method of claim 7 , further including calculating a weighted latency average based on the previous routing latencies.

10. The method of claim 1 , further including:

receiving control data, wherein the determination to employ stateless routing is also based on the control data.

11. The method of claim 10 , wherein the incoming data is received in a data channel and the control data is received in a control channel.

12. The method of claim 10 , wherein the incoming data and the control data are received in a data channel.

13. The method of claim 10 , wherein the control data includes at least one of a time-to-live value, a hop count value and a maximum-hop value for the incoming data.

14. The method of claim 13 , further including reducing at least one of the time-to-live value and the maximum-hop value if the incoming data is associated with a plurality of destination hosts.

15. The method of claim 1 , wherein the incoming data is received over a first connection, the method further including sending the incoming data toward the destination host over a second connection, the first and second connections being part of a virtual circuit.

16. The method of claim 15 , wherein the sending of the incoming data begins before completion of the receiving of the incoming data.

17. The method of claim 1 , wherein the incoming data includes a message.

18. A method of processing messages comprising:

storing, by a router, historical data for one or more destination hosts;

receiving, by the router, control data;

receiving, by the router, a message over a first connection, the message being associated with the one or more destination hosts;

determining, by the router, that stateless routing of the message is to be employed based on the historical data and the control data, wherein the determination is based on a generated probability decision representative of whether stateless routing is to be employed;

storing, by the router, the message only in volatile memory and withholding confirmation of receipt of the message if it is determined that stateless routing is to be employed;

sending, by the router, the message to the one or more destination hosts over additional connections forming one or more virtual circuits;

receiving, by the router, confirmation of delivery from one or more destination hosts associated with the message; and

sending, by the router, the confirmation of receipt to a sender of the message.

19. The method of claim 18 , wherein a copy of the message is stored by the sender of the message in nonvolatile memory until the confirmation of receipt is received at the sender.

20. The method of claim 18 , wherein the historical data includes at least one of previous stateless routing outcomes and previous stateless routing latencies.

21. The method of claim 18 , wherein the control data includes at least one of a time-to-live value, a hop count value and a maximum hop value for the message.

22. The method of claim 18 , wherein the sending of the message begins before completion of the receiving of the message.

23. A computer readable storage medium encoded with computer executable instructions to:

store historical data for the destination host;

receive incoming data; and determine that stateless routing of the incoming data is to be employed based on the historical data for the destination host associated with the incoming data, wherein the stored historical data is independent of the incoming data;

generating a probability decision representative of whether stateless routing is to be employed by

generating a probability decision for each of a plurality of destination hosts associated with the incoming data; and

multiplying the probability decisions together to represent whether stateless routing is to be employed.

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

store the incoming data only in volatile memory.

25. The medium of claim 24 , wherein the instructions are further capable of being executed to withhold confirmation of receipt of the incoming data until confirmation of delivery is received from either the destination host or a downstream router.

26. The medium of claim 25 , wherein a copy of the incoming data is to be stored in nonvolatile memory by a sender of the incoming data until the confirmation of receipt is received at the sender.

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 Dec 16, 2003
From: TSO, MICHAEL MAN-HAK; NORTON, JOSEPH WAYNE; OGASAWARA, GARY HAYATO; SCHWARTZ, JONAH; STONE, DAVID
To: GEMINI MOBILE TECHNOLOGIES, INC.
Reel/Frame 014809/0952 →
Continuity (2)
Provisional Application 6043359200 · Dec 16, 2002
Related Publication 20040170158A1 · Sep 2, 2004