Share on Facebook Tweet on Twitter Share on LinkedIn Share by email
Techfest 2008 Demos

At TechFest 2008, the company’s annual showcase of emerging technologies, unveiling more than 100 innovations. Researchers worked hard to get a chance to display their latest research wares—in a mind-boggling variety of disciplines.

Emerging Markets and Research Partners

Lingo: Vertical Search Engine for English Writing

English is the most commonly used language in the world, but non-native speakers have difficulty in writing fluent English. We will demo a vertical search engine for English as Second Language writing. We have built a search engine to help the users. A large volume of data―bilingual and monolingual sentences, for instance―is collected and indexed. With the help of sentence retrieval, users can get good example sentences in different domains and different styles. We also will show our technologies for using a paraphrasing engine and a machine-translation engine to extend users' writing styles.

Bilingual Built-ins That Break Language Barriers

We will present exciting new applications of our translation technology, showing how machine translation, integrated into Microsoft’s products, can help eliminate barriers to worldwide communication and bring users of diverse cultures closer together. Our demo covers interesting user scenarios and presents viable solutions for making cross-language hurdles disappear.

Trident: a Workflow Workbench for Oceanography

Science is undergoing a sea change. Instead of the small, private, periodic data sets currently being used, large, sophisticated, remote-sensor systems soon will bring enormous amounts of real-time data to be shared by multidisciplinary scientists. One such example is Project Neptune for oceanography. To cope with this shift from data-poor to data-rich science, new tools are needed to help scientists work effectively with these systems and with the enormous amount of data that they will generate. Trident is a collaborative scientific and engineering partnership between the University of Washington, the Monterey Bay Aquarium, and Microsoft’s Technical Computing Initiative to provide Project Neptune with a scientific-workflow workbench for oceanography. The Trident workbench is built atop the Windows Workflow Foundation. Trident enables users to automate, explore, and visualize data; to compose, run, and catalog experiments; to create a workflow starter kit that makes it easy for users to extend the functionality of Trident; and to learn by exploring and visualizing ocean and model data. We will illustrate how Trident can be used to author workflows through a visual interface, store workflows in a library for easy reuse, and execute oceanographic workflows to create on-demand visualizations. Our booth will include posters that provide context for both the Neptune project and the Trident workflow workbench.

E-Science: Science in the Cloud

We've been working with a number of collaborators on a number of different, yet related, eco-science projects. Common to all of them is helping scientists cope with the landslide of data available today while preparing for tomorrow's tsunami generated by ubiquitous sensors. For smaller sciences, the ability to tap data in the cloud is ever increasing. The data are more science-friendly: further from the instruments and closer to the science. We'll demo http://www.hydroseek.org (used to find U.S. Geological Survey, U.S. Environmental Protection Agency, and other data), http://www.fluxdata.org (a SharePoint site used by the global carbon-climate community to access shared synthesis data), http://bwc.berkeley.edu/RussianRiver (a data cube used for hydrologic analysis of the Russian River in California), and other Internet science assets. We'll also demo a UI used to plan sensor deployments, not the simplest thing for scientists to do! All of these have been developed in conjunction with research partners such as the University of California, Berkeley, the University of Virginia, the San Diego Supercomputer Center, the University of California, Santa Barbara, the University of Washington, and L’Ecole Parapente du Val Louron.

BEE3: Revitalizing Architecture Research

For the last couple of decades, architecture research has been moribund, because people doing it can't build state-of-the art chips. FPGAs offer an alternative to this. We are helping a number of universities sidestep this problem.

Science for the 21st Century

Epidemics, bioengineering, climate change, species extinction, cancer―at least one is a major daily news headline. These are the defining challenges and opportunities for the 21st century. Addressing them requires major advances in understanding and integrating the natural sciences across a wide range of scales, from molecules, genes, and cells to whole organisms, ecosystems, and our entire biosphere. New kinds of tools in computing will prove critical to achieving this goal. Microsoft Research Cambridge’s computational-science groups are developing conceptual and technological tools to create, enable, and accelerate fundamental advances in these areas. We will present examples of this research:

  • Genes and networks: Visual Programming of Gene Networks and Biological Pathways.
  • Ecosystems: Autonomous Monitoring of Vulnerable Ecosystems.
  • Biosphere: Exploring and Analyzing Structures in Global Forest Dynamics; Visualizing, Modelling and Analyzing Complex Ecological Networks; and Regional Climate Modelling.

Additionally, we will demonstrate our DISCOVERY Toolkit concept―a new framework for hosting and running such models―and two demos from our joint research labs.

Hardware, Devices, and Mobile Computing

Lucid Touch

Touch is a compelling input modality for interactive devices, but touch input on the small screen of a mobile device is problematic because a user’s fingers occlude the desired graphical elements. LucidTouch is a mobile-device interface that addresses this limitation by enabling a user to control an application by touching the back of the device. The key to making this usable is what we call pseudo-transparency: By overlaying an image of the user’s hands onto the screen, we create an illusion of the mobile device itself being semitransparent. This pseudo-transparency enables users to acquire targets accurately while not occluding the screen with their fingers and hand. LucidTouch also supports multitouch input, giving users an ability to operate the device simultaneously with all 10 fingers. We will present initial study results that indicate that many users found touching on the back preferable to touching on the front, because of reduced occlusion, higher precision, and an ability to make multifinger input.

Search, Interaction, and Collaboration

GeoLife: Search Your Life over Maps

GeoLife is a GPS-log-driven application over Web maps. It focuses on visualization, organization, fast retrieval, and effective understanding of GPS track logs for both personal and public use. Given a GPS track log and associated multimedia data people have created, GeoLife helps users visualize their personal events on Web maps and understand their life patterns. By publishing their GPS tracks, users can share their life experiences with others and absorb rich knowledge from others’ GPS tracks. Based on the public data, more knowledge, such as popular travel routes, popular places, and traffic conditions, could be mined. Further, a spatial-temporal search function, which enables a user to give a spatial range over maps and/or temporal intervals as a query, is offered in GeoLife to help people learn effectively about the GPS tracks that interest them. The search function not only facilitates people’s ability to get information efficiently from other people’s life experiences, but also supports each person’s recall of events. Search maps to reflect on your past life, and search maps to plan your future life.

Query-Specific Portals for Search

We have developed a strategy that leverages entities present in Web documents, such as people, locations, or products, to enrich users’ search experiences. While preserving the simple, keyword-based search paradigm, we enhance the results to include ”super-pages” that display a ranked list of relevant entities. We exploit existing structured data to return additional information about the retrieved entities, such as categories and attributes. The combination of search results and structured data creates a portal-like display of the search results, which the user can refine further. Our strategy uses a mix of online and offline techniques to provide efficient functionality for large data sets. We will present a search interface that showcases our entity-extraction and -categorization techniques in the context of people entities in live.com search.

New Search UIs for Collaboration and Persistence

We will demo three search UIs offering new experiences in persistence and collaboration: SearchBar, SearchTogether, and CoSearch. Today’s UIs treat search as a transient activity, but people often conduct complex, multi-query investigations that span long durations and that are interrupted by other tasks. SearchBar is a new type of browser history that supports complex Web investigations by assisting with task resumption and information re-finding. SearchBar accomplishes these goals by proactively and persistently storing query histories, browsing histories, notes, and ratings in an interrelated fashion. Current UIs also treat search as a solitary experience, but users often need to collaborate on searches, such as students working together on homework or families jointly planning a vacation. SearchTogether enables groups of remote users to collaborate on Web search, synchronously or asynchronously, by providing group query histories, shared comments and ratings, automatic distribution of search results, session summaries, and integrated chat. CoSearch enables groups of collocated users to collaborate when sharing a single PC, as often occurs in schools and libraries, by enabling group members to use their phones as input devices: Users can send text messages to the computer to queue up query terms and can use their phones’ joysticks to operate cursors on the PC to queue up browser tabs for group viewing. Relevant products: IE, Live, Messenger, Communicator.

BLEWS: What the Blogosphere Tells You About News

While typical news-aggregation sites do a good job of clustering news stories according to topic, they leave the reader without information about which stories figure prominently in political discourse. BLEWS uses political blogs to categorize news stories according to their reception in the conservative and liberal blogospheres. It visualizes information about which stories are linked to from conservative and liberal blogs, and it indicates the level of emotional charge in the discussion of the news story or topic at hand in both political camps. BLEWS also offers a “see the view from the other side” functionality, enabling a reader to compare different views on the same story from different sides of the political spectrum. BLEWS achieves this goal by digesting and analyzing a real-time feed of political-blog posts provided by the Live Labs Social Media platform, adding both link analysis and text analysis of the blog posts.

Salsa: Social Networking for Business

Salsa is a business-oriented social-networking system integrated into the user’s Outlook client. E-mail is the core of online communication for most business users. Our goal is to create an active, fun, and productive social network at Microsoft, eventually extending it to external audiences such as alumni, former interns, and partners—and to other companies. Enterprise-oriented social networking typically suffers from a lack of critical mass, because of the ”closed” nature of the network and because new communication tools require learning in an environment already overloaded with information. Salsa serves as a bridge to many existing social networks, aggregating and displaying information from a variety of sources—such as SharePoint, Facebook, Twitter, Windows Live Messenger, and Office Communicator—and provides contextual awareness of people you care about.

C2: Social Networking for the Client

Web 2.0 and social networks give us new models for sharing, aggregating, and discovering new people and content. Facebook makes us think of applications and viral content in new ways. What if the Web could reach into the desktop and change it? What would we need to do to the desktop with regard to aggregation, organization, privacy, and sharing? C2 lets users access data from across different sources, managing private and public information. The project features three parts: aggregation, with a sharing privacy model; user experience; and a unified model for traditional and emerging communication tools, such as e-mail, social networks, and instant messaging.

Software, Theory, and Security

Probability and Networks

Early models for the formation of self-organized networks, such as the Internet and the World Wide Web, were based on preferential attachment: A new site is likely to link to existing sites that are already popular. We analyze refined variants of preferential attachment that incorporate prior fitness and competition effects. We also study geometric representations of disordered networks, where some edges can become faulty. Finally, we consider matching with random inputs: Imagine a collection of servers and clients, located randomly in the plane, that need to pair up. Different pairing schemes produce markedly different results; we will compare globally optimal matching with stable matching, in which individual agents are autonomous.

Algorithms and E-Commerce

We will consider fundamental problems in combinatorial optimization with applications in search and e-commerce, such as the “traveling salesman” problem, satisfiability, and clustering. These are known to be hard in the worst case and extremely time-consuming to solve in practice, even when involving only a few hundred variables. We analyze new algorithms, inspired by statistical physics and information theory, that, in practice, succeed in typical instances with hundreds of thousands of variables. We also will present an innovative approach to page-ranking and Web-spam detection, and a hands-on demonstration of the gap between greedy and global optimization.

Privacy Integrated Queries

The Language Integrated Query (LINQ) framework enables tuple-oriented, unified data access to a large class of data stores; examples include standard C# enumerable, SQL back ends, and even Dryad-backed compute clusters. The tuple-oriented nature of LINQ lends itself easily to several recent privacy technologies aimed at preserving the privacy of any tuple in the input; no one should be able to observe the presence or absence of any specific tuple. With a bit of randomization, scaled to match the maximum influence of any one tuple, privacy can be preserved formally for many LINQ queries. We will present a simple checker that audits queries submitted through LINQ's IQueryable interface, assesses the impact of tuples, and proposes or applies randomization to ensure privacy.

Privacy in Personalized Search and Shared Sensing

We will present a pair of ways to provide shared data while maintaining users’ privacy preferences. One explores the rich space of possibility where people doing search can opt to share, in an ongoing or real-time manner, personal information in return for expected enhancements in the quality of an online service. We have analyzed a year of toolbar data and, in conjunction, performed a user study with 1,400 participants. We will show that a significant level of personalization can be achieved using only a small amount of information about users. The other provides a mechanism to enable data from privately held sensors, such as GPS systems, to be shared and aggregated within the constraints of privacy preferences of the sensors’ owners. We will show how the methods work on real-world data.

Systems, Networking, and Databases

Better Bug Reporting with Better Privacy

Software vendors collect bug reports from customers to improve the quality of software. These reports should include the inputs that make the software fail, to enable vendors to reproduce the bug. But vendors rarely include these inputs in reports because they might contain private user data. We describe a solution to this problem that provides software vendors with new input values that satisfy the conditions required to make the software follow the same execution path until it fails but are otherwise unrelated with the original inputs. These new inputs enable vendors to reproduce the bug while revealing less private information than existing approaches. Additionally, we provide a mechanism to measure the amount of information revealed in an error report. This mechanism enables users to make informed decisions about whether to submit reports. We have implemented a prototype of our solution and have evaluated it with real errors in real programs. The results show that we can produce error reports that enable software vendors to reproduce bugs while revealing almost no private information. We will show how we generate a bug report for a document that crashes Word. The bug report includes a new document that crashes Word in the exact same way yet contains virtually none of the textual content of the original document.

MashupOS for Web Browsers

The advent of AJAX and client mashups has turned Web browsers into a multiprincipal operating environment. But browser support for Web programmers has lagged behind and remained in a single-principal world: The Same Origin Policy that dictates today's browser-security model offers either no trust through complete isolation between principals (sites) or full trust by incorporating third-party code as libraries. The consequences of such limited support include cross-site-scripting attacks that seriously plague today's Web and undesirable programming practices that make tradeoffs between security and functionality. In the MashupOS project, we address this deficiency. Our goal is to enable a browser to be a multiprincipal OS. Our initial focus is on protection and communication abstractions. Protection is to provide default isolation boundaries among principals (sites), while communication enables custom, fine-grained access control. We have designed our abstractions to be backward-compatible and easily adoptable. We have built a MashupOS prototype that we will demonstrate. Our experience and evaluation show that our abstractions make it easy to build more secure and robust client-side Web mashups and can be implemented easily in browsers with negligible performance overhead.

Reliable Wireless Connectivity on the Go

Many people want to stay connected while traveling and commuting, which is driving the demand for network access from moving vehicles. But the reliability and performance of such connectivity today is severely limited by frequent "blackouts" that the vehicle-to-infrastructure backhaul links suffer. We have designed a system that, unlike existing "commuter networks," such as Sound Transit or the Microsoft Connector system, uses multiple backhaul links for added reliability and performance. Our system fuses these links together using novel striping mechanisms that intelligently decide which link individual packets must use, based on current performance and load. We have instantiated our design in the context of providing CorpNet access on Microsoft shuttles and the Connector service. Unlike the current Wi-Fi service on the Connector, our system does not require users to log in via the RAS service to access internal sites. To them, it appears as if they are directly attached to the corporate wireless network, just as they would be from their offices. We have partnered with the Microsoft shuttle service to demonstrate our system on the shuttles that will ferry TechFest attendees.

Rethinking Spectrum Allocation in Wi-Fi Networks

IEEE 802.11 divides the frequency spectrum into channels of fixed width. For example, 802.11bg divides 80 MHz of the 2.4-GHz spectrum into 11 channels, each of 20MHz width, three of which are non-overlapping. Over the past six months, we have been exploring the feasibility and the benefits of varying the channel width. In our demo, we will show that changing the channel width is achievable even with current hardware and beneficial in a number of scenarios. For example, contrary to popular belief that increasing communication range requires an increase in battery-power consumption, we will show that reducing channel width increases communication range while actually reducing battery-power consumption. We will explore the design challenges in a Zune-like system and show that such systems can benefit from adapting channel widths. We also will discuss various challenges and present a solution that performs better than any non-adaptive channelization scheme.

SixthSense: RFID-Based Enterprise Intelligence

SixthSense is an RFID-based enterprise-intelligence system. We consider an enterprise environment where people and their personal objects are tagged with cheap, passive RFID tags and there is good coverage of RFID readers in the workspace. SixthSense is an integrated system that combines information from RFID-based sensing with data from other sensors, such as cameras and Wi-Fi, as well as enterprise systems, such as calendar and presence, to draw inferences about people, objects, and their association and interaction. We are building several applications atop this substrate, including a lost-object finder, video-event tagging, and enhanced calendar and presence, while safeguarding user privacy. We will demo the SixthSense system and some of these applications.

Mobile-Systems Distributed Operation for Sensing

While mobile phones quickly are becoming the primary computing platform for many users, these devices are programmed and used in a manner akin to miniature PCs, each in a silo and interacting primarily with the cloud. We will propose a distributed software platform to break out of this mold and enable capabilities and applications that take advantage of the computing, communication, and sensing capabilities of an ensemble of mobiles, whether in proximity or across a wide area. For instance, a traffic-monitoring application could have a set of mobile nodes in particular locations gather data from their GPS, accelerometer, and microphone sensors, perform custom processing of the sensed data in their local neighborhood to detect unusual traffic conditions, and report the processed data back to a server for aggregation and reporting. Our technology consists of a trusted core that includes services such as localization, communication, and accounting, and a software sandbox for securely executing untrusted application code that builds on these services. We will demo the system in operation and show a couple of applications that illustrate its capabilities: rich traffic monitoring and an on-demand Webcam.

HomeMaestro: Order from Chaos in Home Networks

Home networks constantly are increasing in complexity: Multiple devices, such as desktops, laptops, IP phones, and game consoles, running applications such as e-mail, Web access, peer-to-peer, voice-over IP, video streaming, online gaming, media sharing, and telecommuting, are expected to be part of the next generation of the home ecosystem. Such applications are characterized by different performance goals, and they fight for the same network resources, such as the broadband-access link and the in-home wireless medium. Moreover, home users have different, often conflicting, performance objectives and priorities; for example, a file-sharing application of one home user can degrade the performance of the voice communication of another. HomeMaestro aims to provide a distributed system for monitoring and instrumentation of home networks. HomeMaestro performs extensive measurements at the host level to infer application types and network requirements, and to identify significant changes in application behavior, such as problems stemming from limited available capacity of the wireless link. By correlating metrics across devices, HomeMaestro can infer how applications affect each other and then use prioritization as a first stage of a distributed-control mechanism. HomeMaestro strives to put order into our home networks by identifying network problems and enabling users to prioritize application traffic. We will show the benefits of HomeMaestro in typical home scenarios.

Diagnosing Home-Networking Problems with NetPrints

Today’s home networks include a number of components―multiple desktops and laptops, wireless-access points, routers, printers, and modems. In such a setting, it is not uncommon for users to be stymied by configuration problems. Today, the debugging process for such problems is largely manual―trial and error, searching the Web, posting on mailing lists, calling tech support―with the consequent cost in time, money, and user frustration. NetPrints seeks to automate this debugging process by tapping into the ”shared wisdom” of participating clients. The client component of NetPrints periodically gathers network signatures of successful and unsuccessful application runs and reports these to the NetPrints server, along with configuration information, such as network-address-translation or firewall settings, gathered from the client host and the home router. The NetPrints server sorts through this mass of data to identify configuration settings associated with successful application runs, which are then used to identify misconfigurations when a new client reports a problem. We shall demonstrate the NetPrints system in action in the context of a few common configuration problems that arise in home networks to illustrate the power of this approach.

Tiny Web Services

We will demonstrate a low-power, low-cost Web-service implementation for devices that must run on batteries for several years, such as smoke detectors and window-break sensors. In particular, we will show a prototype system of WSDL/TCP/IP over a low data rate 802.15.4 radio used in home automation. The Web-service interface makes it easy for multiple programmers to develop home-control applications using devices manufactured by different OEMs without learning new programming technologies. Our system also provides a uniform setup experience for users, enabling them to integrate multiple home devices into a single network. We also will demonstrate how a home network can be connected safely to the Internet to be accessed from cloud services. We will present a feedback-based, multiradio scheduling algorithm for energy-efficient communication among battery-operated devices. Finally, we will demonstrate an energy-management application that saves energy by actively monitoring weather and energy price variations using cloud services without compromising user comfort. This example application can be used to connect the 166 million U.S. homes and several million more worldwide to the Microsoft cloud for providing energy management. This application can generate a steady revenue stream for Live services that does not depend on user clicks. It also reduces our carbon footprint and leads to a greener lifestyle.

Auto-Shift: Energy-Aware Server Provisioning

With the explosive growth of Internet services, the energy consumed by computer servers and data centers is skyrocketing. Dynamic server provisioning can turn off unnecessary servers to save energy, but such techniques face challenges for connection-intensive servers that host lots of long-lived TCP connections, such as in Windows Live Messenger. Such servers limit the number of new connections they can accept per second, so they cannot be fully utilized immediately after being turned on. Turning off servers also might involve many migrations or reconnections. We have a systematic approach for joint analysis and design of dynamic server-provisioning and load-dispatching algorithms for connection-intensive servers, and we will show their effectiveness on Windows Live Messenger. Our techniques provide significant energy saving—as much as 30 percent—without sacrificing user experiences.

UI, Graphics, and Media

Adding Detail to Low-Dynamic-Range Images

We will introduce high-dynamic-range image hallucination for adding high-dynamic-range details to overexposed and underexposed regions of a low–dynamic-range image. Our method is based on a simple assumption: High-quality patches exist in the image with similar textures to the regions that are poorly exposed. Hence, we can add high-dynamic-range details to a region simply by transferring texture details from another patch that might be under different illumination levels. In our approach, a user needs only to annotate the image with a few strokes to indicate textures that can be applied to the corresponding poorly exposed regions, and these regions automatically are hallucinated by our algorithm. Experiments demonstrate that our simple, yet effective approach can significantly increase the amount of texture detail in a wide range of common scenarios with only a modest amount of user interaction.

Music Steering

By “music steering,” we mean interactive music-playlist generation through music-content analysis, music recommendation, and music filtering. With thousands of songs stored in our portable devices, such as smartphones and Zunes, selecting songs to hear has become a challenge. Music steering helps us explore and enjoy our personal song collection in a new way.

Multichannel Acoustic-Echo Cancellation

This demo presents newly developed technology for multichannel acoustic-echo cancellation, assisted with a microphone array. This technology enables removing the sound from multiple loudspeakers, such as stereo and surround sound, from the signal captured by the microphones. The potential scenarios are a voice-controlled Media Center and high-end communication systems.

In-Depth Image Editing

We propose new techniques for manipulating conventional photographs. Uninteresting images are populated with objects or people borrowed from other pictures to create a much more compelling composition. High-quality, automatic color balancing also will be demonstrated.

An HMM-Based Talking and Singing Head

This demo will show a trainable, audio-visual synthesis system. In the training and adaptation phase, audio and/or video features, along with the corresponding scripts—text, lyrics, and melodies—are used to drive a statistical, hidden Markov model (HMM)-based training procedure. The HMM thus trained can be adapted further with data from a specific speaker or singer to give it a new, personalized flavor. In the audio-visual synthesis phase, scripts of text, lyrics, and melody are inputted into a script-analysis module that generates a sequence of consecutive units. The parameters of the HMMs are retrieved, and final audio-visual data, speech, or singing with facial expressions and head movements are synthesized. The HMM-based talking and singing head is based on a 3-D model. The audio-visual models are parametric and statistically trained. They can capture a person’s characteristics. They are also easy to modify to meet a specific vocal requirement.

Video Collage

Video Collage is a compact representation of video. It uses one automatically synthesized image to summarize the content of a video. Video Collage selects the most representative frames from a video, extracts salient regions of interest (ROI) from these frames, and seamlessly arranges ROIs on a given canvas. Furthermore, Video Collage can be printed into booklets or albums. Users thus can browse those booklets or albums just as if they were browsing ordinary photo albums. When they want to watch a certain segment indicated by a thumbnail in the booklet, they can use a camera phone or a similar device to capture the corresponding thumbnail. Then the captured image is sent to a computer via a wireless network, automatically retrieved in a video library, and the corresponding video segment is presented to the user. Video Collage provides a novel user interface that enables users to browse video content in a more compact, visually appealing, and natural way, in contrast to many existing video browsers. Video Collage can be integrated easily into existing video-management systems, video-sharing sites, and video search engines to support an attractive video-browsing and -sharing experience.

Real-Time Soft Global Illumination

In previous TechFests, we demoed fast soft shadows on the GPU. We have made the technique simpler, faster, and more robust by accumulating the blocking effect of dynamic objects such as moving characters in image space instead of over mesh vertices. We also include indirect reflections, as well as shadowing. The result is realistic global illumination effects that can be rendered in real time and are practical for current 3-D games and visualization applications.

Real-Time Rendering of Smoke Animation

Rendering of smoke presents a challenging problem in computer graphics because of its complicated effects on light propagation. Within a smoke volume, light undergoes absorption and scattering interactions that vary from point to point because of the spatial non-uniformity of smoke. In static participating media, the number and the complexity of scattering interactions lead to a substantial expense in computation. For a dynamic medium such as smoke, the intricate volumetric structure of which changes with time, the computational costs can be prohibitive. Despite the practical difficulties of smoke rendering, it nevertheless remains a popular element in many applications, such as films and games. To achieve the desired visual effects of smoke, a designer should be afforded real-time control over the lighting environment and vantage point, as well as the volumetric distribution and optical properties of the smoke. We present a real-time algorithm for rendering of smoke under dynamic low-frequency environment lighting. Our algorithm can be implemented easily on a GPU, thus enabling real-time manipulation of viewpoint and lighting, as well as interactive editing of smoke attributes, such as extinction cross section, scattering albedo, and phase function. With only moderate preprocessing time and storage, this technique generates rendering results comparable to those from offline rendering algorithms such as ray tracing.

WorldWide Telescope

The WorldWide Telescope (WWT) is a rich visualization environment that functions as a virtual telescope, bringing together imagery from the best ground- and space-based telescopes in the worldto enableseamless, guided explorations of the universe. WorldWide Telescope, created with Microsoft's high-performance Visual Experience Engine, enables seamless panning and zooming across the night sky blending terabytes of images, data, and stories from multiple sources over the Internet into a media-rich immersive experience.