REDMOND, WASH. - Walking around the halls of Microsoft Research's spacious new building on the outskirts of the Microsoft campus, it's easy to see the software giant is planning 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 a 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 like Millennium to justify an increase in its $3 billion research and development budget. More projects will also justify the swelling research staff, which will go from 400 to 600 by the end of next year.
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 are 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 it around the network to get the optimal processing power, Hunt says.
The second, Coign, is an automated distributed partitioning system for Common Object Model 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 can lead to a 50% performance improvement, he adds.
The third, 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. Although this can cause processing overhead, Hunt says the performance gains of dynamic reallocation are worth it.
Microsoft has no rollout date for Millennium. However, Hunt says his team is working with product groups such as COM+ to include some of the new technologies like the partitioning features of Coign in their next round of offerings.
Out of the crashes, rises Phoenix
Upstairs from the Millennium team, the Database Group is setting up its demos on two computers in an unlit, unfurnished room. Headed by database veteran Dave Lomet, the team is working on two projects that will also help the rollout of high-end applications.
"We want to set up a programming environment where applications can be written without having to worry about accounting for system failures," Lomet says.
The first is Phoenix, a project that aims to save database administrators time and effort after a system crash.
Normally when a system crashes, databases are able to return to the last committed transaction, while incomplete transactions are lost because applications don't know where they left off. Phoenix solves that problem by bringing the application back to its state at the time the crash occurred.
"Phoenix allows users to work with databases and applications without worrying about system failures," Lomet says. "When the system dies and is then restarted, the program comes back up in the same state."
Phoenix, which will be wrapped into database applications, keeps a constant log of the application's interaction with other system components and its resulting state. When a system crashes and reboots, the server works with the desktop, using the log, to recreate the application's state so that a transaction can continue. While the persistent logging causes overhead for the application, Lomet says it's worth it. Today network managers are stuck after a crash. They have to spend hours analyzing backup tapes to figure out at what point an application failed.
Phoenix has no rollout date, but the team is talking to product groups about adding it into future products, Lomet says.
With the AutoAdmin project, the goal is to have a database that consistently delivers high performance with little or no administration regardless of changes in its load and environment.
In the long term, the team wants to tackle the distribution of data across multiple disks for optimal performance. For now, the team is focusing on automating the physical design of the database.
The AutoAdmin prototype has two parts: an analysis tool and an index wizard.
The analysis tool helps users determine the best performance for their database by having them answer a set of questions about their workload and network environment. AutoAdmin uses the answers to determine the proper setup for the database, such as what fields to include. It can also predict the affect on an application's performance if certain properties were to change. For instance, if a user adds an index, AutoAdmin knows how much performance will be impacted.
The Index Tuning Wizard assesses workloads and determines what indices are needed. It also makes suggestions on what indices to add or delete. Finally, it lets database administrators monitor performance.
AutoAdmin will work with SAP, Baan and PeopleSoft. The Index Tuning Wizard already ships with SQL Server 7.0.
Securing property
It's lunchtime and several members of the Cryptography Group gather in the bustling cafeteria to talk about what they see as the biggest threat to electronic commerce.
"Many people think securing transactions is the biggest problem of doing business online," says Yacov Yacobi, leader of the Cryptography Group. But, in fact, Yacobi and his team argue that piracy of goods such as movies, music and images on the 'Net is a bigger threat.
Josh Benaloh, a member of the team, spends more of his time in Washington, D.C. than in Washington state working with the government on security issues. He says the commercial products available today to protect monetary transactions are fine, but those for warding off piracy are not nearly robust enough. "If you have the ability to place a digital watermark on an object, you could also have the ability to remove it," he says.
To counter this, Microsoft is developing methods other than today's watermarks to secure online goods.
One technique is fingerprinting, where a user is sold a unique copy of an online good that is embedded with a secret pointer using a software key. For instance, if Disney sells someone a copy of "The Lion King," it would use Microsoft's software to embed the movie file with a series of changes to the images that are invisible to the user. Then, if that person tries to resell the movie, the fingerprint stays with it. Eventually, if Disney conducts a sting operation and buys copies of the illegally distributed movie, it can prove piracy by using the software's key to discover the embedded fingerprint. This could also work with an audio file because the software could embed a signal below noise level that is discoverable only with the key.
The other method Microsoft is developing is ironically called watermarking. But with Microsoft's version all copies of the online good are planted with the same watermark that says, for example, "don't copy." Then, if the user tries to send the image or music file to someone else, the user's system can stop him. The operating system or media card featuring detection software would scan all file transfers looking for the watermark. "The operating system would assume that everyone is guilty until proven innocent," Yacobi says. "So the audio, video or whatever cannot bypass it."
This approach assumes that Microsoft, as the leading operating system vendor, would become the piracy police, a role that would open the company to criticism. "Does Microsoft even want to be the policeman?" Benaloh asks. "We're not sure."
For now, the team is continuing its research and assisting product developers with securing other Microsoft products, but has no plans to roll out an antipiracy product.
RELATED LINKS
Tell us your thoughts on this article or the issues it raises.
Contact Senior Online Reporter Sandra Gittlen
Growing up is hard to do
More on the people leading the lab. Network World Fusion, 3/22/99.
Reports on other vendor research centers:
AT&T
Projects aim to mix traditional phone service with packet-switched networks. Network World, 12/17/98.
Xerox PARC
Xerox PARC is trying to make network administrators extinct. Network World, 1/25/99.
SunLabs and Bell Labs
Research roulette: A look inside the vendor labs where millions of dollars in high-tech bets are placed. Network World, 11/23/98.

