Microsoft is working to produce not only non-Windows operating systems, with examples such as Singularity and Midori, but also the evolution of the web browser beyond Internet Explorer. However, Microsoft Gazelle is not a plain vanilla browser; in fact, it evolved into an operating system capable of serving as platform for the increasingly sophisticated web application environment, according to Helen J. Wang, senior researcher in the Systems and Networking group at Microsoft Research Redmond. Wang is responsible for Gazelle, which she insists is nothing more than a research project, and not even close to a prototype.
“Everyone accepts that applications need to run on operating systems,” Wang stated. “However, this has not been the case for Web applications; they depend on browsers to render pages and handle computing resources. Yet browsers have never been constructed to be operating systems. Principals are allowed to coexist within the same process or protection domain, and resource management is largely non-existent.”
By principal Wang actually refers to a website. However, considering the mashup nature of modern web pages, content on a single page could originate from different principals/websites. Gazelle comes as a platform set up to enable the management of principals and of underlying system resources for web-based applications. According to Microsoft Research's Janie Chang, Gazelle is designed to resolve the “lack of cross-principal protection, lack of consistent device access and control, and poor resource usage control,” which are synonymous with all browsers today.
“In the Gazelle model, the browser-based OS, typically called the browser kernel, protects principals from one another and from the host machine by exclusively managing access to computer resources, enforcing policies, handling interprincipal communications, and providing consistent, systematic access to computing devices,” Chang stated.
Essentially the desktop application and Client OS model has been evolving for years, and with Gazelle Microsoft is attempting to apply the same concepts, but this time around to Cloud applications and to a browser operating system. In this regard, applying the same approach to Gazelle as to OS architectures, the browser OS from Microsoft Research has been built as a kernel sitting on top of the desktop operating system and the principals. The position is ideal for the Gazelle browser kernel to manage not only the system resources available and to allocate them accordingly to web apps but also to administer principals/websites and Internet originated content.
“Each principal is placed in a separate protection domain realized using an OS process,” Chang explained. “This makes for a robust browser construction, with each principal contained within its own protection domain so that misbehaving code compromises only its own protection domain, leaving other principals, the browser kernel, and the host system intact. This protection extends to plug-in content.”
What does this mean? Well, browsers like Internet Explorer 8 already deliver a certain degree of separation between processes. IE8 forces each tab to function independently from other opened items. Gazelle takes this concept one step further. Content originated from different principals is isolated from all other items. In IE8 RTW a tab that crashes no longer crashes the entire browser. In Gazelle a Flash ad that crashes on a page no longer crashes the entire page.
Wand however indicated that there was no way of telling where Gazelle might end up. She did stress that Microsoft didn't look to Gazelle as a prototype, although a prototype had indeed been built leveraging the architecture of a browser as a multi-principal operating system. The milestone in question involves the Trident rendering engine of Internet Explorer 7, Wang explained in the past. Still, fact is that there's a long way to go until Gazelle will kill or otherwise be the evolution of Internet Explorer. It is an effort that Microsoft has been focusing for years, which originated with a project dubbed MashupOS.
“There has been a lot of activity since MashupOS,” Wang stated. “Some of those concepts have influenced parts of HTML 5, and the key ideas in MashupOS and Gazelle are related. The work in MashupOS was about identifying and designing the multi-principal OS abstractions that a browser should expose to programs, while Gazelle is all about constructing the browser as a multi-principal OS: How should a browser-based OS provide protection and resource management to its applications?”
Internet Explorer 8 (IE8) RTW is available for download here (for 32-bit and 64-bit flavors of Windows XP, Windows Vista, Windows Server 2003 and Windows Server 2008).