Walking around the halls of Microsoft Research's spacious new building on the outskirts of the company campus, it's obvious the software giant is going through a growth spurt. Maintenance crews are everywhere helping the more than two dozen research teams put the finishing touches on their offices and meeting rooms.
Tucked in one corner on the second floor of Building 31, researchers Richard Draves and Galen Hunt are hard at work on Millennium, a hot project Microsoft hopes will pave the way for high-powered applications. Microsoft is counting on projects such as Millennium to justify an increase in its US$3 billion research and development budget and the swelling of its research staff from 400 to 600 by the end of 2000.
Draves says that developers of high-powered applications have been stymied by a lack of processing power at the desktop. So he and his Systems and Network Group are developing Millennium, a distributed operating system that harnesses the computing power of various devices such as desktop PCs and servers on the network and offers them to applications and users as a single resource.
Other research groups such as the Database Group and the Virtual Worlds Group could exploit as much power as end users are given, Hunt says. For instance, the Virtual Worlds group wants to combine 3-D graphics, speech recognition and other resource-sapping features into a single application, but the group is limited by what the desktop can handle.
"We are trying to make the task of developing distributed applications simpler by abstracting away the details of individual computers and networks," says Rick Rashid, vice president of Microsoft Research.
Already, the Millennium team has three prototypes - Borg, Coign and Continuum -- which it is testing on Microsoft's next wave of applications, such as PhotoDraw 2000 and Office 2000.
The first, Borg, is a Java Virtual Machine that distributes objects and applications across the network without the user noticing. For instance, if a user has a monstrous spreadsheet, Borg can take parts of it and spread them around the network to get the optimal processing power, Hunt says.
The second, Coign, is an automated distributed partitioning system for Common Object Model (COM) systems. COM is Microsoft's framework for supporting components. Coign divides the application between the server and the desktop. With Coign, a graphics-intensive package such as Microsoft's PhotoDraw 2000 could determine at boot-up how best to distribute itself in the network. "It can redistribute the application every time you run it," Hunt says. This ability can lead to a 50% performance improvement, he adds.
The third prototype, Continuum, is a dynamic version of Coign. Instead of being limited to distributing itself at boot-up, an application with Continuum can redistribute itself as it is running. While this can cause processing overhead, Hunt says the performance gains of dynamic reallocation are worth it.
Microsoft has no rollout date set for Millennium. However, Hunt says his team is working with product groups, such as COM+, to include some of the new technologies, such as the partitioning features of Coign in their next round of offerings.