Intelligent routing in a hybrid peer-to-peer system
First Claim
1. A method for providing intelligent routing, the method comprising:
- receiving, via a home relay, presence information indicating that a first peer is connected to a first foreign relay;
updating, at a second peer in response to the presence information, a routing table to indicate that a primary place to send data to the first peer is the first foreign relay wherein updating the routing table comprises updating the routing table to indicate that a secondary place to send data to the first peer is a second foreign relay;
determining, from the routing table, that the primary place to send the data to the first peer is the first foreign relay;
receiving, at the home relay, a request from a second peer to send data to the first peer; and
sending, in response to determining from the routing table that the primary place to send the data to the first peer is the first foreign relay, the data to the first foreign relay.
2 Assignments
0 Petitions
Accused Products
Abstract
Intelligent routing may be provided. First, a second peer via home relay may receive presence information indicating that a first peer is connected to a first foreign relay. Then the second peer may update, in response to the presence information, a routing table to indicate that a primary place to send data to the first peer is the first foreign relay. Next, the second peer may determine from the routing table that the primary place to send the data to the first peer is the first foreign relay. Next, the home relay may receive a request from a second peer to send data to the first peer via the first foreign relay. Then, in response to determining from the routing table that the primary place to send the data to the first peer is the first foreign relay, the data may be sent to the first foreign relay.
-
Citations
19 Claims
-
1. A method for providing intelligent routing, the method comprising:
-
receiving, via a home relay, presence information indicating that a first peer is connected to a first foreign relay; updating, at a second peer in response to the presence information, a routing table to indicate that a primary place to send data to the first peer is the first foreign relay wherein updating the routing table comprises updating the routing table to indicate that a secondary place to send data to the first peer is a second foreign relay; determining, from the routing table, that the primary place to send the data to the first peer is the first foreign relay; receiving, at the home relay, a request from a second peer to send data to the first peer; and sending, in response to determining from the routing table that the primary place to send the data to the first peer is the first foreign relay, the data to the first foreign relay. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A method for providing intelligent routing, the method comprising:
-
receiving a routing table initially indicating that a primary place to send data to a first peer is a second foreign relay and indicating that a secondary place to send data to the first peer is a first foreign relay; connecting, by a home relay, to the second foreign relay; receiving information from the second foreign relay that the first peer is not connected to the second foreign relay; connecting, by the home relay, to the first foreign relay; receiving information from the first foreign relay that the first peer is connected to the first foreign relay, the information received from the first foreign relay that the first peer is connected to the first foreign relay comprising presence information; updating, at a second peer in response to the presence information, the routing table to indicate that the primary place to send data to the first peer is the first foreign relay; receiving, at the home relay, a request from a second peer to send data to the first peer; determining, from the routing table, that the primary place to send the data to the first peer is the first foreign relay; and sending, in response to determining from the routing table that the primary place to send the data to the first peer is the first foreign relay, the data to the first foreign relay. - View Dependent Claims (13, 14, 15, 16, 17)
-
-
18. A system for providing intelligent routing, the system comprising:
-
a memory storage; and a processing unit coupled to the memory storage, wherein the processing unit is operative to; receive a routing table initially indicating that a primary place to send data to a first peer is a second foreign relay and indicating that a secondary place to send data to the first peer is a first foreign relay; receive presence information indicating that the first peer is connected to the first foreign relay; update, in response to the presence information, the routing table to indicate that the primary place to send data to the first peer is the first foreign relay; receive a request from a second peer to send data to the first peer; determine that the primary place to send the data to the first peer is the first foreign relay; and send, in response to determining from the routing table that the primary place to send the data to the first peer is the first foreign relay, the data to the first foreign relay. - View Dependent Claims (19)
-
Specification