Concept

This project sits at a unique place between computer platform technologies, networking and internet services. Overall, this project has the potential to unite computer monitoring and management tasks with the power of cloud based web services and to do this in a very scalable and robust way. Here are the basic ideas behind this project.

Computer manageability with no central server

One of the first opportunity for this project is to offer a way to locate and manage set of computers that are always moving, fully dynamicaly and with no network infrastructure or added cost. Because we are building a peer-to-peer system where every computer monitors each others state, we have no central point of failure and information about the location and state of computers on a network is quickly distributed among many nodes. A management console can start traversing the mesh and find all of the computers in a network and their state quickly. In a world where most people work on mobile computer that move from network to network often, it's much easier to manage using a peer-to-peer approach rather than deploying infrastructure on each network.

Using Intel® AMT when a computer is sleeping or off

Modern computers can go in deep power saving modes while still keeping an eye on the network. With Intel® AMT, computers can be sleeping of soft-off and still be part of this mesh network. The key idea is that Intel AMT allows limited access guest accounts to be created, this account information is given to other nodes in the mesh network than may use this information to log into Intel AMT instead of OS mesh agent when the agent is no longer responding. In other words, Intel AMT serves as a basic alternative to a peer-to-peer client when a computer goes into low-power states. Because Intel AMT has a little flash storage available for developers, we can store metadata and peer node information into Intel AMT and other nodes can retrieve it without waking up the computer. The result is a mesh of sleeping computers that can be discovered and searched without any of the computers having to wake up.

Scalable connection to a cloud based web service

Once we have a mesh of computers monitoring each other behind a proxy or firewall, we can now elect a local mesh leader to stay powered on and connected to a web service. This leader will act as a relay for all of the management information come to and from the web service. The mesh leader informs the web service of the latest location and state of each computer on it's network, and the web service issues signed administrator commands can are relayed to the appropriate computer within the network. This system scales well because only a few connections to the web service are maintained, yet the administrator can perform management commands on any computer behind a NAT, proxy or firewall. This system is also robust because our mesh will automatically elect a new leader if the current leader no longer functions or is removed. We also perform all of this will fully authenticated end-to-end connections and encrypted traffic.

Scalable computer clusters

Now that we have a large peer-to-peer mesh of computers within a network connected with a web service, we can turn the tables and have the mesh offer large scale compute services such a rendering, map reduce, etc. Because the web service can identify for each leader, how many computers are behind that leader and because all of the computers within a network are interconnected with fast networks, it's possible for the web service to send to the leader complex problems with large data sets, these problems would then be split up into many pieces as the problem is assigned to computers within the local mesh network. This system is scalable because the starting and ending data set is only sent once over the Internet, yet was operated on by possible hundreds of computers.

Software deployment

With a peer-to-peer topology, large software deployments and updates can be done very quickly and efficiently. Each leader only needs to obtain the administrative commands and the software update once for it to propagate throughout the network. This scalable update system also applies to the mesh agent itself which is itself a self-updating executable. This technique can make accelerate the deployment of software and patches in a network my many folds.

Summary

Managing a network using a peer-to-peer approach can have many advantages. While it makes it easier for the administrator setup and use, this approach is also much more complicated to implement. This project attempts to take on the challenging problem of creating a truly peer-to-peer agent for remote computer management & services.


Other topics: Security
Updated: 9/11/2009