Spawnpoint is an infrastructure for deploying and managing distributed software services as execution containers. The heart of the system is spawnd, a persistent daemon process that encapsulates the compute resources offered by a specific host. spawnd advertises available resources and accepts commands from clients to deploy and manage services. spawnd enforces resource reservations, ensuring that a host does not become oversubscribed, and performs admission control to avoid overloading. Spawnpoint offers command-line and graphical clients for interacting with spawnd instances. A third front-end, Raptor, allows users to describe complex distributed applications as a collection of services and specify how these services are deployed through a simple domain-specific language. Spawnpoint maintains security for all operations. Only authorized parties may learn of the existence of a spawnd instance, deploy a service on a host, monitor service state, or manipulate a running service. This is achieved through the use of Bosswave, a secure syndication network. Experiments show that the CPU, memory, and network costs of running spawnd are low and that managed containers have small overhead vs. unmanaged containers. Spawnpoint has been used to deploy real systems, such as a vision-based building control application and drivers to secure legacy IoT devices.





Download Full History