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;
receiving a relay message from the sending device through a wireless interface at a relaying device, wherein said relay message includes a recipient identifier indicating a recipient device and includes application data for an application program;
checking said relay message to determine whether said relaying device is said recipient device, wherein when the relaying device is the recipient device, the relaying device does not relay the relay message;
checking, when the relaying device is not the recipient device, the local device list indicating at least one local device to determine whether said recipient device is a local device;
when said recipient device is a local device, sending said relay message from said relaying device addressed only to said recipient device through said wireless interface and not sending said relay message addressed to other local devices; and
when said recipient device is not a local device, sending said relay message from said relaying device addressed to at least one local device included in said local device list through said wireless interface;
wherein said sending device has a direct connection to said relaying device, said relaying device has a direct connection to each local device indicated in said local device list, and said sending device does not have a direct connection to said recipient device.
4 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.
30 Citations
10 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; receiving a relay message from the sending device through a wireless interface at a relaying device, wherein said relay message includes a recipient identifier indicating a recipient device and includes application data for an application program; checking said relay message to determine whether said relaying device is said recipient device, wherein when the relaying device is the recipient device, the relaying device does not relay the relay message; checking, when the relaying device is not the recipient device, the local device list indicating at least one local device to determine whether said recipient device is a local device; when said recipient device is a local device, sending said relay message from said relaying device addressed only to said recipient device through said wireless interface and not sending said relay message addressed to other local devices; and when said recipient device is not a local device, sending said relay message from said relaying device addressed to at least one local device included in said local device list through said wireless interface; wherein said sending device has a direct connection to said relaying device, said relaying device has a direct connection to each local device indicated in said local device list, and said sending device does not have a direct connection to said recipient device. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. 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 receiving a relay message from the sending device through a wireless interface at a relaying device, wherein said relay message includes a recipient identifier indicating a recipient device and includes application data for an application program; means for checking said relay message to determine whether said relaying device is said recipient device, wherein when the relaying device is the recipient device, the relaying device does not relay the relay message; means for checking, when the relaying device is not the recipient device, the local device list indicating at least one local device to determine whether said recipient device is a local device; means for sending said relay message from said relaying device addressed only to said recipient device through said wireless interface when said recipient device is a local device and not sending said relay message addressed to other local devices; and means for sending said relay message from said relaying device addressed to at least one local device included in said local device list through said wireless interface when said recipient device is not a local device; wherein said sending device has a direct connection to said relaying device, said relaying device has a direct connection to each local device indicated in said local device list, and said sending device does not have a direct connection to said recipient device.
-
-
10. A non-transitory computer-readable medium storing a computer-readable program the program comprising executable instructions that cause a computer to:
-
contact local devices, which are devices that are within range of a sending device through a wireless interface, and requesting identification of available devices; propagate by the local devices the request for identification of available devices through a peer-to-peer network; return the identification of available devices to the sending device; build a list of available devices, the list including identification of said local devices in a local device list; process a relay message received from the sending device through a wireless interface at a relaying device, wherein said relay message includes a recipient identifier indicating a recipient device and includes application data for an application program; check said relay message to determine whether said relaying device is said recipient device, wherein when the relaying device is the recipient device, the relaying device does not relay the relay message; check, when the relaying device is not the recipient device, the local device list indicating at least one local device to determine whether said recipient device is a local device; when said recipient device is a local device, send said relay message from said relaying device addressed only to said recipient device through said wireless interface and not send said relay message addressed to other local devices; and when said recipient device is not a local device, send said relay message from said relaying device addressed to at least one local device included in said local device list through said wireless interface; wherein said sending device has a direct connection to said relaying device, said relaying device has a direct connection to each local device indicated in said local device list, and said sending device does not have a direct connection to said recipient device.
-
Specification