The Microsoft Research Faculty Summit provides a unique opportunity for leading faculty members and Microsoft researchers, architects, and executives to collectively discuss a vision for the future of computing. It is an exciting event that explores how Microsoft and academic researchers can team up to help develop the breakthroughs that will define the future of software computing in this decade. Because academia is driven by research and limitless imagination, academic institutions worldwide are at the forefront of software innovation. Together, we can pursue new research frontiers that will transform computing and create a better future.
Faculty Summit 2003 was held on July 28ï¿½29, 2003.
Monday, July 28, 2003
Microsoft and AcademiaPartnership in Innovation
Rick Rashid, Microsoft Research
Computer Science Research and Education in the Digital Decade
William H. Gates, Microsoft Corporation
Handhelds for Universal Remote Control
Brad Myers, Carnegie Mellon University
We have been working for over six years to enable handheld devices to be remote controls for PCs and everyday appliances. We will showcase SlideShow Commander, where a Pocket PC wireless controls PowerPoint, and Shortcutter, where panels are created on the Pocket PC to control arbitrary applications on the PC. Then, we will demonstrate the Personal Universal Controller, which automatically creates graphical control panels on Smartphones, Pocket PCs and Tablet PCs based on high-level specifications to control appliances through various protocols such as UPnP, AV/C, and COM. We used C# and the .NET Compact Framework as an implementation language to provide portability across the platforms.
In conjunction with university partners, the Microsoft Research Learning Sciences and Technology group is developing the ConferenceXP research platform and prototype applications that enable rich, highly interactive learning environments for large lecture and distance learning scenarios. This demo will show a distributed and integrated classroom scenario featuring ConferenceXP (Microsoft Research), Classroom Presenter (University of Washington), and ReMarkableTexts (Brown University).
Cornell Theory Center
Gerd Heber, Cornell Theory Center
At the Cornell Theory Center, we are synthesizing a new environment for multi-scale, multi-physics simulations: Simulation input is read from a Microsoft SQL Server 2000 database running on different multiprocessor configurations. The simulations are run in parallel on a Windows 2000 cluster of Dell PowerEdge servers using Intel Xeon and Itanium processors. Simulation output is stored in SQL Server databases and subsequently accessed by various post-processors. We have developed an innovative real-time visualization tool for interactive exploration of large-scale 3-D solid models and underlying engineering data. Users guide dynamic data extraction by manipulating visual probes and selectors. These choices are automatically translated by the system into SQL queries, which return new features to the userï¿½s display. Advanced users who need greater flexibility can directly type their own SQL queries via a simple form.
Grid Computing and Web Services
Marty Humphrey, University of Virginia
The goal of Grid Computing is to facilitate easy, fast, and secure access to heterogeneous computation, connectivity, and storage devices spread across a virtual organization. The Open Grid Services Architecture (OGSA) represents a new, integrated vision of both Web Services and Grid Computing. The Open Grid Services Infrastructure (OGSI) is a set of conventions, behaviors, and WSDL specifications that are consistent with the OGSA design and which are to be implemented on a variety of hosting platforms. In this work, we will show a demo of how we use .NET, Visual Studio .NET, and the Microsoft Web Services Enhancements (WSE) to create an OGSI-compliant hosting container called OGSI .NET. The demo will be in the context of a Grid for molecular dynamics simulations.
Q&A about Microsoftï¿½s College Recruiting Program
Join a representative from Microsoftï¿½s College Recruiting group and a few Microsoft technical hiring managers to discuss how the process works, what we look for in student candidates, differences between product development and Microsoft Research opportunities, and what type of work your students can do at the company.
A Discussion on the MSDN Academic Alliance Program
This session will be a highly interactive discussion on the MSDN AA program. Whether you are currently a member of the program or just interested in finding out more about it, youï¿½ll have the opportunity to get all your questions answered or to provide feedback to the program owners.
Building a Windows 2003 High Performance ClusterExpanding Your HPC Capabilities
Over the past five years the concept of Beowulf cluster computing has become an increasingly popular tool for researchers and businesses with computationally or data intensive work that needs to be accomplished on short deadlines to maintain a competitive advantage. There is a misconception that Beowulf clusters must run some flavor of UNIX such as Linux or FreeBSD but this is not the case. The Microsoft Windows operating system provides a reliable, secure, and maintainable solution for those that wish to focus on their research or business and not the computer science issues of keeping an HPC cluster running. In this brown-bag session we will take a set of servers set up as a standard Windows Server 2003 domain and install additional necessary software (MPI and Batch Scheduling) to allow users to do traditional HPC computing. We will then show how the same Windows 2003 domain can be used to support a .NET Network Load Balanced cluster. Weï¿½ll wrap up the demonstration with the development of a simple MPI program to solve a computational problem and then a .NET Web Services approach to the same problem. The applicability of each type of solution along with its relative advantages and disadvantages will be discussed.
Women in Computing
Priming the Pipeline: This brainstorming session, led by Revi Sterling, will explore ways that universities and Microsoft Research University Relations can work together to address the shrinking pipeline of female students in computer science. Come hear about and evaluate University Relations gender equity programs for 2003ï¿½4. This is a chance to discuss what works and doesnï¿½t at your schools, to talk about recent conferences and publications, and develop new strategies for the upcoming year.
SkyServer Database Past, Present, and Future
Jim Gray, Microsoft
Can database technology help manage and mine scientific data? That is the question I have been trying to answer with my astronomy colleagues (especially Alex Szalay). We have had some success but still face many problems. I will start by describing the odyssey of putting the Sloan Digital Sky Survey online and give some statistics about how it is used and what we are doing now. That segment will end with a discussion of how the integration of SQL with the CLR (common language runtime) makes it much easier for us to handle scientific datatypes and spatial access methods. The World Wide Telescope is an attempt to federate all the astronomy archives of the world. I will briefly describe the architecture of SkyQuerya prototype portal to several archives each of which is a Web service.
Learning Federation Research Agenda
John Bransford, Vanderbilt University
Randy Hinrichs, Microsoft Research
Henry Kelly, Federation of American Scientists
Richard Newton, University California at Berkeley
This session will discuss a proposal for a sustained, well-funded creatively managed national research program in learning science and technology funded at a level commensurate with its importance for the nationï¿½s future. We will introduce the first national draft of a learning science and technology research agenda developed over the last three years with Microsoft, Hewlett Packard, Corporation for Public Broadcasting, National Science Foundation, Department of Education, Department of Defense and the Digital Promise, Brown University, Carnegie Mellon, Berkeley, the University of Washington, and other industry, government, and industry partners. We are looking for a review of the research plan by the Computer Science Research community as much of the plan is complimentary to Information Science research and highly relevant to any post-secondary institution defining digitally enhanced STEM education.
Marne Staples, Microsoft
For years weï¿½ve been investigating how to change one part of the system without breaking anything else. For example, Windowshow can we ensure reliability on a large and complex system when small but critical changes or fixes must be made? And what about external systems, for example, Exchange dependent on Windows and VS? How can integration testing be adequately performed with so many underlying dependencies? These are a couple of examples of the many testing challenges faced at Microsoft. We will review these and other challenges we still face and will demo examples of solutions to a few of the problems we are working with product groups today to address.
In this session we will examine various areas in .NET compilers and runtime support, including: CCI (Common Compiler Infrastructure), which is a toolset for building .NET targeted compilers; an update on SSCLI, the Shared Source Common Language Infrastructure; and a talk by Professor Will Clinger of Northeastern University discussing his progress in building a high-performance Scheme compiler for .NET.
The traditional university campus is designed to foster a community of learners, but modernity has introduced many stresses and distractions. Mobile computing has the potential to strengthen a campusï¿½ institutions of community through processes of indirect mediation. The ActiveCampus project is exploring this opportunity at UCSD as a focus for integrating interdisciplinary research, education, policy, and community outreach. Consequently, ActiveCampus comprises both an infrastructure for community-oriented ubiquitous computing and a social network of researchers, educators, administrators, and community participants. The .NET technologies used in ActiveCampus are playing a key role in enabling these participants to collaboratively explore emergent sociotechnical questions.
Generic Model Management: A Database Infrastructure for Schema Manipulation
Phil Bernstein, Microsoft
Meta data management problems are pervasive in the development and maintenance of complex application artifacts, such as application programs, databases, and formatted messages. Despite 30 years of research on database support for these problems, solutions remain complicated and hard to build. To improve this situation, we propose a much higher level interface, called Model Management, that manipulates models and mappings. A model is a complex structure that represents a design artifact, such as a relational schema, XML schema, UML model, or software configuration. A mapping is a representation of connections or transformations between two models. We explain the main operatorsmatch, merge, diff, and composeand show how they can be used to solve classical meta data management problems such as schema integration, schema evolution, and round-trip engineering.
Learning Experience Projectï¿½Using Tablet PCs and Conferencing to Change the Classroom
Richard Anderson, University of Washington
Jay Beavers, Microsoft
Loring Holden, Brown University
Chris Moffatt, Microsoft
In conjunction with university partners, the Microsoft Research Learning Sciences and Technology group is developing the ConferenceXP research platform and prototype applications that enable rich, highly interactive learning environments for large lecture and distance learning scenarios. This session will cover (1) Innovative use of University of Washingtonï¿½s Classroom Presenter application at the University of San Diego, (2) An overview of the capabilities of the ReMarkable Textï¿½s application being developed at Brown University, and (3) Details and demonstrations of how the ConferenceXP platform can be used to develop rich collaborative applications.
Righting Software: Tools to Improve Software Development
Jim Larus, Microsoft
Mooreï¿½s law provides a powerful ally in the quest to improve software quality and dependability. Software tools that exploit inexpensive, abundant computational resources amplify developersï¿½ efforts by systematically finding bugs. Microsoft Research has developed, demonstrated, and deployed two generations of correctness tools and debugging tools, which are changing the way in which Microsoft develops software. This talk provides a brief overview of tools development and research in the Microsoft Research Programmer Productivity Research Center (PPRC).
Phoenix is the next generation .NET optimization framework which will be the basis for code generation for all future Microsoft optimizing compilers. In addition to being an optimizing backend for code generation, Phoenix is designed to support the implementation of static and dynamic software analysis tools using an extensible architecture. One of the major objectives of Phoenix is to offer this architecture in a package that is flexible enough to support research in various areas of software engineering. This talk will provide an overview of the design goals of Phoenix as well as insight into how the building block architecture of Phoenix can be leveraged in an academic software research environment. In addition we will discuss several of the ways that Phoenix will be made available to the research community for both development and as a shipping product.
The Cornell research aims to combine the intuitiveness and directness of paper sketching with the power of computer aided engineering, as the basis of next generation computer-aided design (CAD). A new form of freehand sketching is demonstrated (ï¿½Live Sketchï¿½), in which the sketch itself is spatially reconstructed in interactive time. The talk will describe the principles of the machine-learning algorithm used to reconstruct a three-dimensional object from a single freehand sketch and the architecture of a new 3-D Stroke and InkOverlay objects used to embed this kind of functionality into future applications. The NYU project, presented by Jeff Han, is called ï¿½Animated Napkin Sketch.ï¿½ It is an intuitive Tablet PC interface for rapid freehand creation of animated ï¿½napkin sketchesï¿½ using the following two structuring paradigms: (1) drawings can be replayed as steppable animations and (2) drawn items can be ï¿½zoomed intoï¿½ to reveal animated subdrawings.
The Future of Web Services
Felipe Cabrera, Microsoft
This talk introduces the architecture for Web services that Microsoft is pursuing. The presentation highlights architectural impacts that arise in the Web Service environment and presents current work not yet published. The talk covers the specifications published to date. In particular it will spend time in WS-Security and its related specifications: WS-Coordination and WS-Transaction, WS-Policy, and WS-ReliableMessaging.
Tuesday, July 29, 2003
Scott Charney, Microsoft
Mike Howard, Microsoft
David Ladd, Microsoft
Deidre Mulligan, University of California at Berkeley
Fred Schneider, Cornell University
Frank Swiderski, Microsoft
Jeannette Wing, Carnegie Mellon University
Martin Culpepper, Massachusetts Institute of Technology
Randall Davis, Massachusetts Institute of Technology
Randy Hinrichs, Microsoft Research
Alex Slocum, Massachusetts Institute of Technology
John Williams, Massachusetts Institute of Technology
This seminar will show a suite of tools for teaching design by projects. The overall theme is that design team members (for example, students in a course) use a Peer Review Evaluation Process (PREP) at each stage of a design from the development of strategies to concepts to detailed modules. As designs are developed, students can use Magic Paper, which we are creating to be a sketch understanding system that will allow real-time motion simulation of sketches drawn by hand on tablet PCs. We are also ï¿½Virtual Take Apartï¿½ modules and a ï¿½Virtual Mechanism Catalogueï¿½ to help students develop their thinking process. These tools are used and managed with a Web servicesï¿½driven application that includes PREP for asynchronous interaction, as well as a Tablet PC inkï¿½driven application we developed called InkBoard for synchronous interaction between members of a design team to facilitate design-oriented e-learning and e-design.
One of the key contributors to overhead in modern computer systems is the latency of access to virtual memory. In this talk we present research efforts at Microsoft to attack the ï¿½memory wall.ï¿½ Memory system overhead occurs at all levels of the memory hierarchy, from the hard drive to the on-chip cache and TLB. In the presentation, we consider separate approaches to improving the code and data locality of our applications. We first discuss techniques for improving code locality by reorganizing code layout and discuss the technical challenges applying these techniques in practice. We then present results on identifying and optimizing memory accesses to data objects based on runtime measurement and optimization.
Messaging Programming Models with Web Services
Keith Ballinger, Microsoft
Web services enable programming models that are atypical for most programmers. This talk will discuss how the Web Services Enhancements 2.0 enable programming models that can map closer to business logic and take advantage of Web services core principles.
Microsoft makes two embedded operating systems: Windows XP Embedded and Windows CE .NET. This session will explain the differences between the two and why there are two. We will then take a look at how Windows XP Embedded is componentized, the lessons learned from building a componentized version of Windows XP, and how this architecture might represent the future of Windows architectures going forward. We will then examine the architecture of Windows CE .NET, including such topics and its memory management and driver model, and how this design meets the needs for developing advanced embedded devices.
Games in Education
Alex Chisholm, Massachusetts Institute of Technology
Randy Hinrichs, Microsoft Research
Henry Jenkins, Massachusetts Institute of Technology
Eric Klopfer, Massachusetts Institute of Technology
Kurt Squire, University of Wisconsin at Madison
For the past two years, Microsoft Research has been working with MIT Comparative Media Studies to explore the uncharted potentials of computer and video games in education. Through iCampus, researchers have developed a series of conceptual models and working prototypes to support teaching and learning in science, engineering, and the humanities. At the same time, Carnegie Mellonï¿½s Entertainment Technology Center has implemented game modules to help train firefighters in responding to bio-terrorist and weapons of mass destruction attacks. What is it about games that is so exciting to researchers, teachers, andperhaps most importantlystudents? What work is being done at several universities to explore the creative design, pedagogical possibilities, and technical innovations of next-generation games for education? Henry Jenkins, Kurt Squire, and Eric Klopfer of MITï¿½s Games-to-Teach Project, Don Marinelli of Carnegie Mellon, and Randy Hinrichs and Steve Drucker of Microsoft Research share their perspectives and experiences in this growing area of research and recruit co-conspirators for future projects.
Mario Garzia, Microsoft
This talk describes the work being done by the reliability group to assess and improve the reliability of the Windows Operating system. We discuss our approach to engineering reliable products, how we collect and analyze reliability data, and the new features that have been added to the OS to improve reliability. In addition, we present a break out of server downtime obtained from collections of thousands of Windows NT, Windows 2000, and Windows XP systems and show how improvements in the OS have resulted in a more reliable platform. Demos of new and resent reliability enhancing products and tools will also be presented.
Web services present new opportunities for advanced, interoperable computing on an Internet scale. This talk focuses on the use of Web services for Computer Science students to illustrate the basic principles of designing, implementing, and evaluating complex software systems.
Windows P2P Technology
Christian Huitema, Microsoft
The peer-to-peer toolkit enables developers to easily develop, deploy, and operate peer-to-peer applications using Windows. Developing such applications is hard today: NATs impede end-to-end connectivity, the current name resolution system do not handle well dynamic addresses and ad hoc environments, and multicast services are far from ubiquitous. The P2P toolkit provide solutions for NAT Traversal using an IPv6 Overlay, for Name Resolution using the Peer-to-peer name resolution protocol, and for application layer multicast using the graphing and grouping components. It enables data replication and provides an API for distributed search.
As part of this session, Jeff Nichols, a PhD student working with Brad Myers, will discuss his experiences in using C# and the .NET Compact Framework to implement the Personal Universal Controller on the Smartphone, Pocket PC and Tablet PC platforms.
Assessing the Success of Games in Education
As a follow-on to the Games in Education Panel, join us for a lunchtime discussion around the challenges of evaluating student learning through the use of computer and video games. Assessment results from two games deployed at MIT this year, one to support teaching in electromagnetism and one for environmental engineering, and one from Carnegie Mellon, designed to train firefighters, will be presented, along with summaries of methodologies. We will also look at alternative models to assessing student performance. This interactive session will be led by Kurt Squire and Eric Klopfer of MITï¿½s Games-to-Teach Project.
The Xen of Programming with Rectangles, Triangles, and Circles
Many object-oriented programs need to process both relational tables and hierarchical trees. Despite this fact, mainstream object-oriented programming languages offer no built-in support for writing applications that involve manipulating data from all these three worlds at the same time, and programmers are forced to use error-prone APIs. By generalizing the type system and expression syntax, it is possible for any modern object-oriented language, such as C# or Java, to provide first class support for manipulating both relational and hierarchical data. The resulting integrated language includes SQL statements over both SQL database objects and in-memory object graphs, as well as XPath-style object query expressions and XML object literals, all in sound and statically typed manner.
Bug Reporting at Microsoft
The brownbag discussion will outline the various mechanisms as to how Microsoft receives enhancement and defect reports through the product life cycle. These mechanisms will span from direct customer interaction through product instrumentation. We will discuss how these mechanisms help Microsoft continuously improve the quality and usability of the products.
Lessons Learned in Distance Learning
This session is a follow up to last yearï¿½s talk by Richard Anderson and Jay Beavers titled ï¿½How to Fail at Distance Learning.ï¿½ This year they will be reporting back on how they tackled and overcame various obstacles, and achieved success in using ConferenceXP and Classroom Presenter in a real-world distance learning course.
Microsoft Research University Relations
Kevin Schofield, Microsoft
Technology Transfer at Microsoft Research
Daniel T. Ling, Microsoft