Peer-to-peer data relay
First Claim
1. A method of sending a relay message, comprising:
- contacting local devices, which are devices that are within range of a sending device through a wireless interface, and requesting identification of available devices;
propagating by the local devices the request for identification of available devices through a peer-to-peer network;
returning the identification of available devices to the sending device;
building a list of available devices, the list including identification of said local devices in a local device list;
selecting a recipient device for a relay message at the sending device;
building said relay message, wherein said relay message includes a recipient identifier indicating said selected recipient device;
sending said relay message to at least one local device through a wireless interface; and
building a map of at least one recipient device and connections among said at least one recipient device and said sending device,wherein said selecting a recipient device includes selecting a recipient device from said map and wherein said building a map of at least one recipient device includes receiving a map from a server,wherein said sending device has a direct connection to each of said at least one local device, andwhen said recipient device is a local device, sending said relay message from said sending device addressed only to said recipient device through said wireless interface and not sending said relay message addressed to other local devices.
3 Assignments
0 Petitions
Accused Products
Abstract
Methods and apparatus for relaying data in a peer-to-peer network. In one implementation, a wireless device includes: an antenna; a wireless communication interface connected to said antenna and supporting wireless communication across a wireless connection provided by said antenna; storage supporting storing data; and a controller connected to said wireless interface and to said storage, supporting an application service, a message service, and a relay service for relay messages; wherein said application service provides execution and management of one or more application programs accessible by said controller using application data stored in said storage, said message service provides building messages and processing received messages, and said relay service provides building a new relay message indicating a selected recipient to which the wireless device does not have a direct wireless connection, sending a built new relay message, and sending a received relay message that indicates a recipient other than the wireless device.
13 Citations
12 Claims
-
1. A method of sending a relay message, comprising:
-
contacting local devices, which are devices that are within range of a sending device through a wireless interface, and requesting identification of available devices; propagating by the local devices the request for identification of available devices through a peer-to-peer network; returning the identification of available devices to the sending device; building a list of available devices, the list including identification of said local devices in a local device list; selecting a recipient device for a relay message at the sending device; building said relay message, wherein said relay message includes a recipient identifier indicating said selected recipient device; sending said relay message to at least one local device through a wireless interface; and building a map of at least one recipient device and connections among said at least one recipient device and said sending device, wherein said selecting a recipient device includes selecting a recipient device from said map and wherein said building a map of at least one recipient device includes receiving a map from a server, wherein said sending device has a direct connection to each of said at least one local device, and when said recipient device is a local device, sending said relay message from said sending device addressed only to said recipient device through said wireless interface and not sending said relay message addressed to other local devices. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A system for sending a relay message, comprising:
-
means for contacting local devices, which are devices that are within range of a sending device through a wireless interface, and requesting identification of available devices; means for propagating by the local devices the request for identification of available devices through a peer-to-peer network; means for returning the identification of available devices to the sending device; means for building a list of available devices, the list including identification of said local devices in a local device list; means for selecting a recipient device for a relay message at the sending device; means for building said relay message, wherein said relay message includes a recipient identifier indicating said selected recipient device; means for sending said relay message to at least one local device through a wireless interface; and means for building a map of at least one recipient device and connections among said at least one recipient device and said sending device, wherein said selecting a recipient device includes selecting a recipient device from said map and wherein said building a map of at least one recipient device includes receiving a map from a server, wherein said sending device has a direct connection to each of said at least one local device, when said recipient device is a local device, sending said relay message from said sending device addressed only to said recipient device through said wireless interface and not sending said relay message addressed to other local devices.
-
-
12. A non-transitory computer-readable storage medium storing a computer-readable program, said computer readable program adapted to be executed to implement a method for sending a relay message, the method comprising:
-
contacting local devices, which are devices that are within range of a sending device through a wireless interface, and requesting identification of available devices; propagating by the local devices the request for identification of available devices through a peer-to-peer network; returning the identification of available devices to the sending device; building a list of available devices, the list including identification of said local devices in a local device list; selecting a recipient device for a relay message at the sending device; building said relay message, wherein said relay message includes a recipient identifier indicating said selected recipient device; sending said relay message to at least one local device through a wireless interface; and building a map of at least one recipient device and connections among said at least one recipient device and said sending device, wherein said selecting a recipient device includes selecting a recipient device from said map and wherein said building a map of at least one recipient device includes receiving a map from a server, wherein said sending device has a direct connection to each of said at least one local device, when said recipient device is a local device, sending said relay message from said sending device addressed only to said recipient device through said wireless interface and not sending said relay message addressed to other local devices.
-
Specification