System and method for remote monitoring and control of network devices
First Claim
1. A method of operating a centralized server that is coupled over the Internet to a plurality of network traffic devices in local networks, the method comprising:
- providing for remote management of the plurality of network traffic devices over the Internet from the centralized server, each of the network traffic devices being either a router or a wireless access point, wherein the centralized server is outside of the local networks, wherein different ones of the network traffic devices are part of different ones of the local networks, wherein each of the network traffic devices provide a gateway for their local network to the Internet, wherein each of the network traffic devices can send messages from other nodes of their local networks over the Internet to the centralized server, wherein each of the local networks includes at least one client device that is one of a laptop computer, desktop computer, and a portable computing device, wherein the local networks are interfaced to the Internet, wherein the network traffic devices are behind network address translation devices (NATs) and have node IP addresses that are not publicly routable from the Internet, wherein the node IP addresses are assigned such that none of the network traffic devices have the same node IP address, and wherein the providing includes,the centralized server listening for user datagram protocol (UDP) packets on a well-known IP address and UDP port, wherein each of the network traffic devices opens a UDP connection to the centralized server'"'"'s well-known IP address and UDP port;
exchanging, by the centralized server, Internet Protocol (IP) packets with the plurality of network traffic devices using IP over UDP encapsulation, including sending network configuration data to each of the network traffic devices and receiving operational statistics from each of the network traffic devices via respective tunnels over the Internet, wherein when travelling over the Internet the UDP headers used for the UDP encapsulation have as source and destination addresses the centralized server'"'"'s well-known IP address and the IP addresses of externally routable network devices behind which the network traffic devices are located, wherein IP headers of the IP packets encapsulated within the UDP headers have as source and destination addresses an agreed upon IP network address of the centralized server and the node IP addresses of the network traffic devices, wherein the network traffic devices include a first network traffic device having a first public IP address that is publicly routable within the Internet and a first node IP address for communicating with the centralized server via a first tunnel, wherein the network traffic devices include a second network traffic device that is behind the first network traffic device, the second network traffic device having a second node IP address for communicating with the centralized server via a second tunnel, wherein the first and second node IP addresses are not publicly routable in the Internet; and
maintaining, by the centralized server, a node mapping table on how to reach each of the network traffic devices via a respective tunnel, the node mapping table having a plurality of entries, each corresponding to one of the network traffic devices for mapping an externally routable IP address to a node IP address of a network traffic device, wherein an externally routable IP address is either a public IP address of the corresponding network traffic device or a public IP address of an externally routable network traffic device behind which the corresponding network traffic device is located, wherein the node mapping table comprises a first entry associated with the first network traffic device, and a second entry associated with the second network traffic device,wherein the first entry maps the first public IP address of the first network traffic device with the first node IP address of the first network traffic device, and wherein the second entry maps the first public IP address of the first network traffic device with the second node IP address of the second network traffic device, such that the centralized server does not need to know whether any of the first and second network traffic devices is behind another network traffic device when the centralized server communicates with any of the first and second network traffic devices, wherein each of the local networks is a wireless mesh network.
2 Assignments
0 Petitions
Accused Products
Abstract
A managed network provides unique network addresses that are assigned to nodes such that no two nodes will have the same address in the managed network and such that each node will always have the same network address regardless of changing its location or changing the network to which it is joined. The nodes, communicating together, comprise a mesh network. Remote management and control of the nodes is possible from the host server, which is located outside of the mesh network, even if a node is located behind a firewall or network address translator (NAT), because server management messages are encapsulated within headers so that a persistent connection between the node and the external host server is maintained once the node sends a message to the host.
237 Citations
28 Claims
-
1. A method of operating a centralized server that is coupled over the Internet to a plurality of network traffic devices in local networks, the method comprising:
-
providing for remote management of the plurality of network traffic devices over the Internet from the centralized server, each of the network traffic devices being either a router or a wireless access point, wherein the centralized server is outside of the local networks, wherein different ones of the network traffic devices are part of different ones of the local networks, wherein each of the network traffic devices provide a gateway for their local network to the Internet, wherein each of the network traffic devices can send messages from other nodes of their local networks over the Internet to the centralized server, wherein each of the local networks includes at least one client device that is one of a laptop computer, desktop computer, and a portable computing device, wherein the local networks are interfaced to the Internet, wherein the network traffic devices are behind network address translation devices (NATs) and have node IP addresses that are not publicly routable from the Internet, wherein the node IP addresses are assigned such that none of the network traffic devices have the same node IP address, and wherein the providing includes, the centralized server listening for user datagram protocol (UDP) packets on a well-known IP address and UDP port, wherein each of the network traffic devices opens a UDP connection to the centralized server'"'"'s well-known IP address and UDP port; exchanging, by the centralized server, Internet Protocol (IP) packets with the plurality of network traffic devices using IP over UDP encapsulation, including sending network configuration data to each of the network traffic devices and receiving operational statistics from each of the network traffic devices via respective tunnels over the Internet, wherein when travelling over the Internet the UDP headers used for the UDP encapsulation have as source and destination addresses the centralized server'"'"'s well-known IP address and the IP addresses of externally routable network devices behind which the network traffic devices are located, wherein IP headers of the IP packets encapsulated within the UDP headers have as source and destination addresses an agreed upon IP network address of the centralized server and the node IP addresses of the network traffic devices, wherein the network traffic devices include a first network traffic device having a first public IP address that is publicly routable within the Internet and a first node IP address for communicating with the centralized server via a first tunnel, wherein the network traffic devices include a second network traffic device that is behind the first network traffic device, the second network traffic device having a second node IP address for communicating with the centralized server via a second tunnel, wherein the first and second node IP addresses are not publicly routable in the Internet; and maintaining, by the centralized server, a node mapping table on how to reach each of the network traffic devices via a respective tunnel, the node mapping table having a plurality of entries, each corresponding to one of the network traffic devices for mapping an externally routable IP address to a node IP address of a network traffic device, wherein an externally routable IP address is either a public IP address of the corresponding network traffic device or a public IP address of an externally routable network traffic device behind which the corresponding network traffic device is located, wherein the node mapping table comprises a first entry associated with the first network traffic device, and a second entry associated with the second network traffic device, wherein the first entry maps the first public IP address of the first network traffic device with the first node IP address of the first network traffic device, and wherein the second entry maps the first public IP address of the first network traffic device with the second node IP address of the second network traffic device, such that the centralized server does not need to know whether any of the first and second network traffic devices is behind another network traffic device when the centralized server communicates with any of the first and second network traffic devices, wherein each of the local networks is a wireless mesh network. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22)
-
-
23. A non-transitory computer readable medium containing machine instructions that when executed by a centralized server, which is coupled over the Internet to a plurality of network traffic devices in local networks, cause the centralized server to perform a method, the method comprising:
-
providing for remote management of the plurality of network traffic devices over the Internet from the centralized server, each of the network traffic devices being either a router or a wireless access point, wherein the centralized server is outside of the local networks, wherein different ones of the network traffic devices are part of different ones of the local networks, wherein each of the network traffic devices provide a gateway for their local network to the Internet, wherein each of the network traffic devices can send messages from other nodes of their local networks over the Internet to the centralized server, wherein each of the local networks includes at least one client device that is one of a laptop computer, desktop computer, and a portable computing device, wherein the local networks are interfaced to the Internet, wherein the network traffic devices are behind network address translation devices (NATs) and have node IP addresses that are not publicly routable from the Internet, wherein the node IP addresses are assigned such that none of the network traffic devices have the same node IP address, and wherein the providing includes, the centralized server listening for user datagram protocol (UDP) packets on a well-known IP address and UDP port, wherein each of the network traffic devices opens a UDP connection to the centralized server'"'"'s well-known IP address and UDP port; and exchanging, by the centralized server, Internet Protocol (IP) packets with the plurality of network traffic devices using IP over UDP encapsulation, including sending network configuration data to each of the network traffic devices and receiving operational statistics from each of the network traffic devices via respective tunnels over the Internet, wherein when travelling over the Internet the UDP headers used for the UDP encapsulation have as source and destination addresses the centralized server'"'"'s well-known IP address and the IP addresses of externally routable network devices behind which the network traffic devices are located, wherein IP headers of the IP packets encapsulated within the UDP headers have as source and destination addresses an agreed upon IP network address of the centralized server and the node IP addresses of the network traffic devices, wherein the network traffic devices include a first network traffic device having a first public IP address that is publicly routable within the Internet and a first node IP address for communicating with the centralized server via a first tunnel, wherein the network traffic devices include a second network traffic device that is behind the first network traffic device, the second network traffic device having a second node IP address for communicating with the centralized server via a second tunnel, wherein the first and second node IP addresses are not publicly routable in the Internet; and maintaining, by the centralized server, a node mapping table on how to reach each of the network traffic devices via a respective tunnel, the node mapping table having a plurality of entries, each corresponding to one of the network traffic devices for mapping an externally routable IP address to a node IP address of a network traffic device, wherein an externally routable IP address is either a public IP address of the corresponding network traffic device or a public IP address of an externally routable network traffic device behind which the corresponding network traffic device is located, wherein the node mapping table comprises a first entry associated with the first network traffic device, and a second entry associated with the second network traffic device, wherein the first entry maps the first public IP address of the first network traffic device with the first node IP address of the first network traffic device, and wherein the second entry maps the first public IP address of the first network traffic device with the second node IP address of the second network traffic device, such that the centralized server does not need to know whether any of the first and second network traffic devices is behind another network traffic device when the centralized server communicates with any of the first and second network traffic devices, wherein each of the local networks is a wireless mesh network. - View Dependent Claims (24, 25)
-
-
26. A system for managing over the Internet a plurality of network traffic devices in local networks, comprising:
-
a plurality of network traffic devices associated with a plurality of local networks, each of the network traffic devices being either a router or a wireless access point, wherein different ones of the network traffic devices are part of different ones of the local networks, wherein each of the network traffic devices provide a gateway for their local network to the Internet, wherein each of the local networks includes at least one client device that is one of a laptop computer, desktop computer, and a portable computing device, wherein the local networks are interfaced to the Internet; and a centralized server to provide for remote management of the plurality of network traffic devices over the Internet, wherein the centralized server is outside of the local networks, wherein each of the network traffic devices can send messages from other nodes of their local networks over the Internet to the centralized server, wherein the network traffic devices are behind network address translation devices (NATs) and have node IP addresses that are not publicly routable from the Internet, wherein the node IP addresses are assigned such that none of the network traffic devices have the same node IP address, and wherein the providing includes, wherein the centralized server is to listen for user datagram protocol (UDP) packets on a well-known IP address and UDP port, wherein each of the network traffic devices opens a UDP connection to the centralized server'"'"'s well-known IP address and UDP port, wherein the centralized server is to exchange Internet Protocol (IP) packets with the plurality of network traffic devices using IP over UDP encapsulation, including sending network configuration data to each of the network traffic devices and receiving operational statistics from each of the network traffic devices via respective tunnels over the Internet, wherein when travelling over the Internet the UDP headers used for the UDP encapsulation have as source and destination addresses the centralized server'"'"'s well-known IP address and the IP addresses of externally routable network devices behind which the network traffic devices are located, wherein IP headers of the IP packets encapsulated within the UDP headers have as source and destination addresses an agreed upon IP network address of the centralized server and the node IP addresses of the network traffic devices, wherein the network traffic devices include a first network traffic device having a first public IP address that is publicly routable within the Internet and a first node IP address for communicating with the centralized server via a first tunnel, wherein the network traffic devices include a second network traffic device that is behind the first network traffic device, the second network traffic device having a second node IP address for communicating with the centralized server via a second tunnel, wherein the first and second node IP addresses are not publicly routable in the Internet; and wherein the centralized server maintains a node mapping table on how to reach each of the network traffic devices via a respective tunnel, the node mapping table having a plurality of entries, each corresponding to one of the network traffic devices for mapping an externally routable IP address to a node IP address of a network traffic device, wherein an externally routable IP address is either a public IP address of the corresponding network traffic device or a public IP address of an externally routable network traffic device behind which the corresponding network traffic device is located, wherein the node mapping table comprises a first entry associated with the first network traffic device, and a second entry associated with the second network traffic device, wherein the first entry maps the first public IP address of the first network traffic device with the first node IP address of the first network traffic device, and wherein the second entry maps the first public IP address of the first network traffic device with the second node IP address of the second network traffic device, such that the centralized server does not need to know whether any of the first and second network traffic devices is behind another network traffic device when the centralized server communicates with any of the first and second network traffic devices, wherein each of the local networks is a wireless mesh network. - View Dependent Claims (27, 28)
-
Specification