Trans-network roaming and resolution with web services for devices
First Claim
Patent Images
1. A network communications system, comprising:
- at least one processor executing computer executable instructions to provide;
a resolution provider configured to;
receive a Simple Object Access protocol message and store address information for a least one network device including one or more of a service friendly name, a GUID, a routable public address and port pair, an address lease time, or a tunnel lease time provided by the Simple Object Access protocol message; and
automatically determine a network address and port information for at least one network device providing a target service in response to receiving a resolution request from a client device;
facilitate opening ports behind a network address translator (NAT) arranged in a cascade of network address translators (NATs), by processing security credentials of the client device to access the NAT and returning an external address and port information for communication with the NAT if the client device is authorized; and
a discovery component configured to;
map the external address and port information of the client device to an external port of the NAT; and
facilitate determination of the network address for the at least one network device by;
receiving a first probe message from the client device, wherein the first probe message includes at least one desired characteristic related to the target service; and
sending a second probe message to the at least one network device providing the target service having the at least one desired characteristic, the second probe message comprising information including the at least one desired characteristic and an address of the client device to enable the at least one network device to respond to the first probe message by sending a response message directly to the client device using the address.
2 Assignments
0 Petitions
Accused Products
Abstract
Systems and methods are provided that facilitate automated network address determinations and communications between roaming peers. In one aspect, a network communications system is provided. The system includes methods for updating a resolution provider with a current host transport address and for determining a roaming hosts service address and port information. Other processes include opening and mapping ports through a traversal component which can include Network Address Translators and Firewalls and opening/mapping ports in conjunction with cascaded Network Address Translators.
35 Citations
13 Claims
-
1. A network communications system, comprising:
at least one processor executing computer executable instructions to provide; a resolution provider configured to; receive a Simple Object Access protocol message and store address information for a least one network device including one or more of a service friendly name, a GUID, a routable public address and port pair, an address lease time, or a tunnel lease time provided by the Simple Object Access protocol message; and automatically determine a network address and port information for at least one network device providing a target service in response to receiving a resolution request from a client device; facilitate opening ports behind a network address translator (NAT) arranged in a cascade of network address translators (NATs), by processing security credentials of the client device to access the NAT and returning an external address and port information for communication with the NAT if the client device is authorized; and a discovery component configured to; map the external address and port information of the client device to an external port of the NAT; and facilitate determination of the network address for the at least one network device by; receiving a first probe message from the client device, wherein the first probe message includes at least one desired characteristic related to the target service; and sending a second probe message to the at least one network device providing the target service having the at least one desired characteristic, the second probe message comprising information including the at least one desired characteristic and an address of the client device to enable the at least one network device to respond to the first probe message by sending a response message directly to the client device using the address. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 13)
-
9. A network discovery method, comprising:
with at least one processor performing the method comprising; processing a Simple Object Access protocol message to store address information for a least one network device including one or more of a service friendly name, a GUID, a routable public address and port pair, an address lease time, or a tunnel lease time; sending a probe message from at least one roaming client component to at least one target service via an intermediary discovery service, the probe message including at least one response constraint related to the at least one target service; receiving a probe response message communicated directly to a source IP address associated with the at least one roaming client from the at least one target service, the probe response message including information that indicates that the at least one target service satisfies the at least one response constraint; and automatically determining network addresses and ports information for the at least one-target service based in part on the probe response message; facilitating opening of ports for two or more cascaded network address translators (NATS), by processing security credentials of the at least one roaming client to access the NATs, returning an external address and port information for communication with the NATs if the at least one roaming client is authorized, and mapping the external IP address and port information of the at least one roaming client to an external port of the NATs. - View Dependent Claims (10)
-
11. A network discovery system, comprising:
at least one processor executing; means for processing a Simple Object Access protocol message to store address information for a least one network device including one or more of a service friendly name, a GUID, a routable public address and port pair, an address lease time, or a tunnel lease time provided by the Simple Object Access protocol message; means for communicating between a client and at least one target network component; means for sending a probe message to the at least one target network component from the client via an intermediary discovery service, wherein the probe message includes at least one response constraint related to the at least one target service; means for receiving a probe response message from the at least one target network component, the probe response message including information that indicates that the at least one target network component satisfies the at least one response constraint; means for determining network addresses and ports information for the at least one target network component based on communications between the client and the at least one target network component; and means for opening of ports for two or more cascaded network address translators (NATS), by at least processing security credentials of the client to access the NATs, returning an external address and port information for communication with the NATs if the client is authorized, and mapping the external IP address and port information of the client to an external port of the NATs.
-
12. A network communications system, comprising:
at least one processor executing computer executable instructions to provide; a resolution provider implemented on an internet gateway device and configured to; receive a Simple Object Access protocol message and store address information for a least one network device including one or more of a service friendly name, a GUID, a routable public address and port pair, an address lease time, or a tunnel lease time; automatically determine a network address and port information for at least one network device providing a target service in response to receiving a resolution request from a client device; and facilitate opening of ports for two or more cascaded network address translators (NATS), by at least processing security credentials of the client device to access the NATs, and returning an external address and port information for communication with the NATs if the client device is authorized; a discovery component implemented on the internet gateway device and configured to; map the external IP address and port information of the client device to an external port of the NATs; and facilitate determination of the network address for the at least one network device by receiving a first probe message from the client device, wherein the first probe message includes at least one desired characteristic related to the target service, and sending a second probe message to the at least one network device providing the target service, the second probe message comprising information including the at least one desired characteristic and a transport header designating a source IP address and a port of the client device to enable the at least one network device to respond to the first probe message by sending a response directly to the client device as a UDP packet to the designated source IP address and port; an event component to update the resolution provider or the discovery component with routing changes of the client device and/or the at least one network device; and a traversal component configured as a communication intermediary between the client device and a public network.
Specification