Resource Management for Web Applications in ServiceOS
Alexander Moshchuk, Helen J. Wang · 2010
Recent work [42] has established the need to build a web browser as a multi-principal operating system where a principal is a web site. That work designed the protection architecture of such a browser. Another fundamental facility that an OS must offer is resource management, including both access control and resource sharing among authorized principals. Unfortunately, resource management in existing browsers is largely nonexistent, and resource management of a commodity OS is ill-suited for many web applications that embed content from other principals. In this paper, we tackle the problem of resource management for web applications in a multi-principal OSbased browser called ServiceOS. ServiceOS provides web applications with systematic and consistent access and control of devices, such as camera and GPS, and it uses a novel DOM-recursive resource allocation policy by default when resources like CPU and network bandwidth are under contention. We also introduce application-specified resource allocation to allow web programmers to explicitly influence resource management based on web application semantics. We have built a ServiceOS prototype that manages a wide range of resources, including CPU, memory, network bandwidth, and devices like cameras, microphones, or GPS. Our evaluation shows that compared to existing browsers, ServiceOS provides web applications with improved service quality, fairness, and security.