Systems and methods for creating virtual universal plug-and-play systems
Abstract
Methods and devices enable a device located on a source network to appear as a virtual device on a target network. Agent applications running on computers on the source and target networks communicate over a peer-to-peer network enabled by a super-peer networking server on the Internet. To share a device, the target network agent requests the source network agent to provide access to a device in the source network. The source network agent sends the device name, properties, and service template information to the target network agent. The target network agent uses the received information to announce itself as the device to the target network. Devices on the target network may request device services from the target network agent. Such requests are repackaged by the target network agent and sent to the source network agent. The source network agent redirects the service request to the actual device.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1 . A method comprising:
determining, at a first device of a local network, information associated with a remote device of a remote network; determining a virtual address on the local network for the remote device; transmitting, from the first device, a device advertisement message on the local network including the virtual address for accessing the remote device on the local network; receiving, at the first device, an access request message from a second device on the local network, the access request message including the virtual address for accessing the remote device on the local network; and transmitting the access request message associated with the remote device from the first device to the remote device based, at least in part, on the information associated with the remote device of the remote network.
2 . The method of claim 1 , wherein the information associated with the remote device includes a network address of the remote device on the remote network.
3 . The method of claim 1 , wherein said determining the virtual address on the local network for the remote device comprises:
determining a network address on the local network for a first agent application being executed on the first device; and assigning the network address on the local network associated with the first agent application as the virtual address on the local network for the remote device.
4 . The method of claim 1 , further comprising:
receiving, at the first device, a service response message from the remote device in response to transmitting the access request message to the remote device; and transmitting the service response message from the first device to the second device of the local network.
5 . The method of claim 4 , wherein:
the service response message includes a network address on the remote network to allow the second device to obtain data stored at the remote device.
6 . The method of claim 1 , further comprising:
establishing a communication link between a first agent application being executed on the first device and a second agent application being executed on a third device of the remote network via a peer-to-peer network; wherein said transmitting the access request message comprises transmitting the access request message associated with the remote device from the first agent application to the second agent application in the remote network to forward the access request message to the remote device.
7 . The method of claim 6 , wherein:
the device advertisement message includes a universal resource locator (URL) of the first agent application as the virtual address for accessing the remote device on the local network; the access request message received from the second device on the local network includes the URL of the first agent application; and said transmitting the access request message associated with the remote device comprises transmitting the access request message from the first agent application to an Internet Protocol (IP) address of the second agent application on the remote network to forward the access request message to the remote device.
8 . The method of claim 6 , further comprising:
receiving, at the first agent application, a service response message from the second agent application in response to transmitting the access request message to the remote device; and transmitting the service response message from the first agent application to the second device of the local network.
9 . The method of claim 6 , further comprising:
receiving, at an Internet Protocol (IP) address associated with the first agent application, a service response message from the second agent application in response to transmitting the access request message to an IP address associated with the second agent application in order to forward the access request message to the remote device on the remote network; modifying the service response message by including a URL of the first agent application as the virtual address for accessing the remote device on the local network; and transmitting, from the first agent application to the second device of the local network, the modified service response message including the URL of the first agent application as the virtual address of the remote device to allow the second device to communicate with the remote device on the local network.
10 . The method of claim 1 , wherein said determining, at the first device, information associated with the remote device includes receiving, from the remote network, a network address of the remote device on the remote network, a service template associated with the remote device, and property information associated with the remote device.
11 . A method comprising:
establishing, by a first local device, a communication link between the first local device of a local network and a remote network; determining, by the first local device, information associated with a first remote device of the remote network; transmitting, from the first local device, a device advertisement message on the local network for accessing the first remote device on the local network, wherein the device advertisement message includes a network address of first local device on the local network as a network address for the first remote device on the remote network; receiving, at the first local device, an access request message for the first remote device from a second local device of the local network, the access request message including the network address of first local device as the network address for accessing the first remote device on the local network; and transmitting the access request message for the first remote device from the first local device to the remote network based, at least in part, on the information associated with the first remote device of the remote network.
12 . The method of claim 11 , further comprising:
receiving, at the first local device, a service response message from the first remote device in response to transmitting the access request message from the first local device to the remote network; and transmitting the service response message from the first local device to the second local device.
13 . The method of claim 11 , wherein said establishing the communication link between the first local device of the local network and the remote network comprises establishing, by a first agent application being executed on the first local device, the communication link between the first agent application of the local network and a second agent application being executed on a second remote device of the remote network via a peer-to-peer network.
14 . The method of claim 13 , further comprising:
receiving, at the first agent application, a service response message from the second agent application in response to transmitting the access request message from the first agent application to the first remote device via the second application; and transmitting the service response message from the first agent application to the second local device of the local network.
15 . The method of claim 14 , further comprising:
receiving, at the first agent application, an Internet Protocol (IP) address for the remote network from the second agent application; and mapping a universal resource locator (URL) in the service response message to a URL including the IP address for the remote network prior to transmitting the service response message from the first agent application to the second local device.
16 . The method of claim 14 , further comprising:
determining, by the first agent application, an IP address for the local network; receiving, at the first agent application, the access request message from the second local device requesting data from the first remote device, the access request message including a URL of the first agent application; converting the access request message into a control message including the IP address for the local network; and transmitting the control message from the first agent application to the second agent application to cause the second agent application to obtain the data from the first remote device.
17 . The method of claim 13 , wherein:
said transmitting the access request message comprises transmitting the access request message for the first remote device from the first agent application to a central peer-to-peer server to cause the central peer-to-peer server to transmit the access request message to the second agent application of the remote network.
18 . A first device comprising:
a network interface configured to allow the first device to communication with a local network and a remote network; and a processor coupled with the network interface and configured to execute processor-executable instructions to perform operations that comprise:
determining information associated with a remote device of the remote network;
determining a virtual address on the local network for the remote device;
transmitting, from the first device, a device advertisement message on the local network including the virtual address for accessing the remote device on the local network;
receiving an access request message from a second device on the local network, the access request message including the virtual address for accessing the remote device on the local network; and
transmitting the access request message associated with the remote device from the first device to the remote device based, at least in part, on the information associated with the remote device of the remote network.
19 . The first device of claim 18 , wherein the information associated with the remote device includes a network address of the remote device on the remote network.
20 . The first device of claim 18 , wherein said operations that comprise determining the virtual address on the local network for the remote device include operations that comprise:
determining a network address on the local network for a first agent application being executed on the first device; and assigning the network address on the local network associated with the first agent application as the virtual address on the local network for the remote device.
21 . The first device of claim 18 , wherein said operations further comprise:
receiving a service response message from the remote device in response to transmitting the access request message to the remote device; and transmitting the service response message from the first device to the second device of the local network.
22 . The first device of claim 21 , wherein:
the service response message includes a network address on the remote network to allow the second device to obtain data stored at the remote device.
23 . The first device of claim 18 , wherein said operations further comprise:
establishing a communication link between a first agent application being executed on the first device and a second agent application being executed on a third device of the remote network via a peer-to-peer network; wherein said operations that comprise transmitting the access request message include operations that comprise transmitting the access request message associated with the remote device from the first agent application to the second agent application in the remote network to forward the access request message to the remote device.
24 . The first device of claim 23 , wherein:
the device advertisement message includes a universal resource locator (URL) of the first agent application as the virtual address for accessing the remote device on the local network; the access request message received from the second device on the local network includes the URL of the first agent application; and said operations that comprise transmitting the access request message associated with the remote device include operations that comprise transmitting the access request message from the first agent application to an Internet Protocol (IP) address of the second agent application on the remote network to forward the access request message to the remote device.
25 . The first device of claim 23 , wherein said operations further comprise:
receiving, at the first agent application, a service response message from the second agent application in response to transmitting the access request message to the remote device; and transmitting the service response message from the first agent application to the second device of the local network.
26 . The first device of claim 23 , wherein said operations further comprise:
receiving, at an Internet Protocol (IP) address associated with the first agent application, a service response message from the second agent application in response to transmitting the access request message to an IP address associated with the second agent application in order to forward the access request message to the remote device on the remote network; modifying the service response message by including a URL of the first agent application as the virtual address for accessing the remote device on the local network; and transmitting, from the first agent application to the second device of the local network, the modified service response message including the URL of the first agent application as the virtual address of the remote device to allow the second device to communicate with the remote device on the local network.
27 . The first device of claim 18 , wherein the information associated with the remote device includes a network address of the remote device on the remote network, a service template associated with the remote device, and property information associated with the remote device.
28 . A first device comprising:
means for determining, at the first device of a local network, information associated with a remote device of a remote network; means for determining a virtual address on the local network for the remote device; means for transmitting, from the first device, a device advertisement message on the local network including the virtual address for accessing the remote device on the local network; means for receiving, at the first device, an access request message from a second device on the local network, the access request message including the virtual address for accessing the remote device on the local network; and means for transmitting the access request message associated with the remote device from the first device to the remote device based, at least in part, on the information associated with the remote device of the remote network.
29 . The first device of claim 28 , wherein the information associated with the remote device includes a network address of the remote device on the remote network.
30 . The first device of claim 28 , wherein said means for determining the virtual address on the local network for the remote device comprises:
means for determining a network address on the local network for a first agent application being executed on the first device; and means for assigning the network address on the local network associated with the first agent application as the virtual address on the local network for the remote device.
31 . The first device of claim 28 , further comprising:
means for receiving, at the first device, a service response message from the remote device in response to transmitting the access request message to the remote device; and means for transmitting the service response message from the first device to the second device of the local network.
32 . The first device of claim 31 , wherein:
the service response message includes a network address on the remote network to allow the second device to obtain data stored at the remote device.
33 . The first device of claim 28 , further comprising:
means for establishing a communication link between a first agent application being executed on the first device and a second agent application being executed on a third device of the remote network via a peer-to-peer network; wherein said means for transmitting the access request message comprises means for transmitting the access request message associated with the remote device from the first agent application to the second agent application in the remote network to forward the access request message to the remote device.
34 . The first device of claim 33 , wherein:
the device advertisement message includes a universal resource locator (URL) of the first agent application as the virtual address for accessing the remote device on the local network; the access request message received from the second device on the local network includes the URL of the first agent application; and said means for transmitting the access request message associated with the remote device comprises means for transmitting the access request message from the first agent application to an Internet Protocol (IP) address of the second agent application on the remote network to forward the access request message to the remote device.
35 . The first device of claim 33 , further comprising:
means for receiving, at the first agent application, a service response message from the second agent application in response to transmitting the access request message to the remote device; and means for transmitting the service response message from the first agent application to the second device of the local network.
36 . The first device of claim 33 , further comprising:
means for receiving, at an Internet Protocol (IP) address associated with the first agent application, a service response message from the second agent application in response to transmitting the access request message to an IP address associated with the second agent application in order to forward the access request message to the remote device on the remote network; means for modifying the service response message by including a URL of the first agent application as the virtual address for accessing the remote device on the local network; and means for transmitting, from the first agent application to the second device of the local network, the modified service response message including the URL of the first agent application as the virtual address of the remote device to allow the second device to communicate with the remote device on the local network.
37 . The first device of claim 33 , wherein said means for determining, at the first device, information associated with the remote device includes means for receiving, from the second agent application, a network address of the remote device on the remote network, a service template associated with the remote device, and property information associated with the remote device the information associated with the remote device includes a network address of the remote device on the remote network, a service template associated with the remote device, and property information associated with the remote device.
38 . A non-transitory machine-readable storage medium having machine executable instructions stored therein, the machine executable instructions comprising instructions to:
determine, at a first device of a local network, information associated with a remote device of a remote network; determine a virtual address on the local network for the remote device; transmit, from the first device, a device advertisement message on the local network including the virtual address for accessing the remote device on the local network; receive, at the first device, an access request message from a second device on the local network, the access request message including the virtual address for accessing the remote device on the local network; and transmit the access request message associated with the remote device from the first device to the remote device based, at least in part, on the information associated with the remote device of the remote network.
39 . The non-transitory machine-readable storage medium of claim 38 , wherein the information associated with the remote device includes a network address of the remote device on the remote network.
40 . The non-transitory machine-readable storage medium of claim 38 , wherein the instructions to determine the virtual address on the local network for the remote device comprise instructions to:
determine a network address on the local network for a first agent application being executed on the first device; and assign the network address on the local network associated with the first agent application as the virtual address on the local network for the remote device.
41 . The non-transitory machine-readable storage medium of claim 38 , further comprising instructions to:
receive, at the first device, a service response message from the remote device in response to transmitting the access request message to the remote device; and transmit the service response message from the first device to the second device of the local network.
42 . The non-transitory machine-readable storage medium of claim 41 , wherein:
the service response message includes a network address on the remote network to allow the second device to obtain data stored at the remote device.
43 . The non-transitory machine-readable storage medium of claim 38 , further comprising instructions to:
establish a communication link between a first agent application being executed on the first device and a second agent application being executed on a third device of the remote network via a peer-to-peer network; wherein said instructions to transmit the access request message comprises instructions to transmit the access request message associated with the remote device from the first agent application to the second agent application in the remote network to forward the access request message to the remote device.
44 . The non-transitory machine-readable storage medium of claim 38 , wherein said instructions to determine, at the first device, information associated with the remote device comprise instructions to determine, from the remote network, a network address of the remote device on the remote network, a service template associated with the remote device, and property information associated with the remote device.
45 . A non-transitory machine-readable storage medium having machine executable instructions stored therein, the machine executable instructions comprising instructions to:
establish, by a first agent application being executed on a first local device, a communication link between the first local device of a local network and a second agent application being executed on a first remote device of a remote network via a peer-to-peer network; determining, by the first agent application, information associated with a second remote device of the remote network; transmitting, from the first agent application, a device advertisement message on the local network for accessing the second remote device on the local network, wherein the device advertisement message includes a network address of first local device on the local network as a network address for the second remote device on the remote network; receiving, at the first agent application, an access request message for the second remote device from a second local device of the local network, the access request message including the network address of first local device as the network address for accessing the second remote device on the local network; and transmitting the access request message for the second remote device from the first local device to the second agent application of the remote network based, at least in part, on the information associated with the second remote device of the remote network.Join the waitlist — get patent alerts
Track US2013304922A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.