IP Library Granted Patent US 7,532,587
Granted Patent B2
US 7,532,587 · App. 11/470,291 · Granted May 12, 2009

Method and apparatus for performing anonymous source routing

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,532,587
App. No.
11/470,291
Granted
May 12, 2009
Kind
B2
Abstract

During operation, each client device will be provided with a list of addresses for all nodes within a network. The addresses for all nodes will be unique to a particular client device such that {address(node 1 ), address(node 2 ), . . . address(node n)} for a first client does not equal {address(node 1 ), address(node 2 ), . . . address(node n)} for a second client. Each client's address for a particular node will preferably only be known by the client and a naming server. When sending a message to a destination node, a client device will create a source route consisting of the unique addresses. Because each client's address for a particular node will only be known to itself and the naming server, anyone who intercepts the route will not know what nodes along the route are used for routing the message.

Claims (34)

1. A method for performing anonymous source routing for a client device in a system where the client device can send messages to any one of multiple nodes, the method comprising the steps of:

the client device determining a payload needs to be sent to a destination node;

the client device determining a route to the destination node;

the client device creating a message having the route to the destination node and the payload, wherein the route to the destination node comprises an address of the destination node and addresses of intervening nodes where nodes within the system use multiple addresses when participating in source routing and wherein routing addresses of the destination node and routing addresses of the intervening nodes used by the client to access the nodes differ from routing addresses of the destination node and routing addresses of the intervening nodes used by other clients to access the nodes and are not known by the other clients.

2. The method of claim 1 wherein the address of the destination node and the addresses of the intervening nodes are processed with a one-way function and a random variable.

3. The method of claim 1 wherein the address of the destination node and the addresses of the intervening nodes are hashed with a random variable.

4. The method of claim 3 wherein the message further comprises the random variable.

5. The method of claim 1 wherein the message further comprises padding.

6. A method for performing anonymous source routing in a system where a client can send messages to any one of multiple nodes, the method comprising the steps of:

receiving by a node, a message having a route to a destination node and a payload, wherein the route to the destination node comprises an address of the destination node and addresses of intervening nodes, and where nodes within the system use multiple addresses when participating in source routing and wherein routing addresses of the destination node and routing addresses of the intervening nodes used by the client to access the nodes differ from routing addresses of the destination node and routing addresses of the intervening nodes used by other clients to access the nodes and are not known by the other clients;

determining by the node if an address from a first address field in the message matches one of a plurality of addresses in a database; and

assuming by the node that the message was directed towards the node if the first address from the message matches one of a plurality of addresses in a database.

7. The method of claim 6 further comprising the steps of:

determining if the node is a destination node; and

generating a reply message when the node is the destination node.

8. The method of claim 7 wherein the step of determining if the node is the destination node comprises the step of comparing an address from a particular field from the message to addresses from the plurality of addresses in the database.

9. The method of claim 6 further comprising the steps of:

determining that the node is not the destination node; and

modifying the message by moving the first address field to another part of the message; and

re-broadcasting the modified message.

10. A client device existing in a system where the client device can send messages to any one of multiple nodes, the client device comprising:

logic circuitry determining a payload needs to be sent to a destination node and determining a route to the destination node, the logic circuitry creating a message having the route to the destination node and the payload, wherein the route to the destination node comprises an address of the destination node and addresses of intervening nodes where nodes within the system use multiple addresses when participating in source routing and wherein routing addresses of the destination node and routing addresses of the intervening nodes used by the client to access the nodes differ from routing addresses of the destination node and routing addresses of the intervening nodes used by other clients to access the nodes and are not known by the other clients.

11. The client device of claim 10 wherein the address of the destination node and the addresses of the intervening nodes are processed by the logic circuitry with a one-way function and a random variable.

12. The client device of claim 10 wherein the address of the destination node and the addresses of the intervening nodes are hashed by the logic circuitry with a random variable.

13. The client device of claim 12 wherein the message further comprises the random variable.

14. The client device of claim 10 wherein the message further comprises padding.

15. A node existing in a system where a client can send messages to any one of multiple nodes, the node comprising:

a receiver receiving, a message having a route to a destination node and a payload, wherein the route to the destination node comprises an address of the destination node and addresses of intervening nodes, and where nodes within the system use multiple addresses when participating in source routing and wherein routing addresses of the destination node and routing addresses of the intervening nodes used by the client to access the nodes differ from routing addresses of the destination node and routing addresses of the intervening nodes used by other clients to access the nodes and are not known by the other clients;

a database; and

logic circuitry determining if an address from a first address field in the message matches one of a plurality of addresses in a database and assuming the message was directed towards the node if the first address from the message matches one of a plurality of addresses in the database.

16. The node of claim 15 wherein the logic circuitry determines if the node is a destination node and further comprising:

a transmitter forwarding a reply message when the node is the destination node.

17. The node of claim 15 wherein the logic circuitry determines if the node is the destination node by comparing an address from a particular field from the message to addresses from the plurality of addresses in the database.

18. The method of claim 17 wherein if the logic circuitry determines that the node is not the destination node, the logic circuitry modifies the message by moving the first address field to another part of the message and instructs a transmitter to rebroadcast the modified message.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 24, 2014
From: MOTOROLA MOBILITY LLC
To: GOOGLE TECHNOLOGY HOLDINGS LLC
Reel/Frame 034421/0001 →
CHANGE OF NAME Recorded Oct 2, 2012
From: MOTOROLA MOBILITY, INC.
To: MOTOROLA MOBILITY LLC
Reel/Frame 029216/0282 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 13, 2010
From: MOTOROLA, INC
To: MOTOROLA MOBILITY, INC
Reel/Frame 025673/0558 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 2, 2006
From: CARBUNAR, BOGDAN O.; PEARCE, MICHAEL D.; SHI, WEIDONG; YU, YANG
To: MOTOROLA, INC.
Reel/Frame 018332/0908 →