Microsoft Conference XP Project

 

This was the website for the Microsoft Conference XP Project.
Content is from the site's 2004 - 2006 archived pages.

 

Introducing ConferenceXP

ConferenceXP is an initiative of Microsoft Research. We’re exploring how to make wireless classrooms, collaboration, and distance learning a compelling, rich experience by assuming the availability of emerging and enabling technologies, such as high-bandwidth networks, wireless devices, Tablet PCs, and the advanced features in Microsoft® Windows® XP.

The ConferenceXP research platform enables researchers and developers to create distributed applications that take advantage of ConferenceXP technology as well as Tablet PCs and wireless networks. It also enables them to develop the collaborative tools and applications they need without having to build them from the ground up. Making use of the latest big data technologies, the data science consultants and DevOps engineers enabled rapid developing and implementation of new applications tailored to the specific needs defined by the users. The process eliminates much of the down time and testing because the software reviews are ongoing along with the coding. This cuts the time from inception to delivery often in half compared with the previously familiar development process. By partnering with research organizations and universities, the ConferenceXP project combines the academic community’s expertise in the learning sciences with Microsoft’s expertise in technology.

Explore this Web site to learn more about ConferenceXP and join the community of ConferenceXP developers and researchers.

Get the Latest ConferenceXP Software

Download the latest releases of ConferenceXP software and experience the improved user experience, performance, and network connectivity.
ConferenceXP Client 3.5
With ConferenceXP, you can interact and collaborate with others in a virtual collaborative space, called a venue. ConferenceXP 3.5, released March 10, 2006, enables you to choose advanced settings for your audio and video devices, and it supports Microsoft Windows Media Player 10 and the latest ConferenceXP services. For a list of what’s new, see the ConferenceXP Client 3.5 Release Notes.           
Note To run ConferenceXP Client 3.5, you’ll need Windows Media Player 10 installed.
 
ConferenceXP Services
Check out the latest ConferenceXP services. With ConferenceXP Venue Service 2.1, you can create and manage venues. With Archive Service 1.3, you can store recorded conferences for later playback. And with Reflector Service 1.3, you can connect to a multicast venue over unicast. All three services supports IPv6.  
 
ConferenceXP Source Code (March 2006)
With ConferenceXP, developers and researchers can design powerful new conferencing and collaborative environments, create custom interfaces, and integrate ConferenceXP with existing conferencing and classroom systems. The ConferenceXP Source Code (March 2006) includes the source code for ConferenceXP Client 3.5, Venue Service 2.1, Archive Service 1.3, and Reflector Service 1.3.          
ConferenceXP Source Code (March 2006)

Commercial Licensing
ConferenceXP is licensed for non-commercial use, subject to the restrictions in the license. If you are interested in using ConferenceXP for commercial use, contact us or visit the Microsoft IP Ventures Web site.

ConferenceXP Research Platform

The ConferenceXP research platform empowers universities to build rich collaborative applications that enhance the learning experience in and out of the classroom. By delivering high-quality, low-latency audio and video over broadband connections, ConferenceXP supports the development of real-time collaboration and videoconferencing applications. It also serves as an open research platform by providing a flexible, common framework for designing and implementing collaborative learning applications.

The ConferenceXP research platform was designed with these goals in mind:

  • Rich experience—Integrate high-performance audio, video, and network technologies into a rich, immersive en­vironment for instruction, conferencing, and collaboration.
     
  • Ease of use—Enable participants to join online confer­ences, presentations, and meetings by using a simple point-and-click user interface. Ensure easy hardware and software setup by supporting standard plug-and-play devices and installing (and uninstalling) as a standard Microsoft® Windows® application.
     
  • Scalability—Support a simple single-computer-per-node architecture, without requiring a complex server-based infrastructure, that can share high-quality audio and video between multiple local and remote locations. Support mul­ticast to accommodate large classrooms with high throughput.
     
  • Extensibility—Provide APIs that enable the development of custom user interfaces and applications.
     
  • Advanced technologies—Build 100% managed code on the Microsoft .NET Framework. Support wireless networks and Tablet PCs. Integrate advanced media and display technologies, such as Microsoft DirectShow®, Microsoft Windows Media®, and Microsoft DirectX®.

Learn more about the ConferenceXP research platform by reading the overview of the ConferenceXP architecture.

 



 

ConferenceXP Architecture

With ConferenceXP, developers can build a set of interoperable solutions on top of a common framework. With published APIs and a set of base classes, developers and researchers can design powerful new conferencing and collaborative environments, create custom interfaces, and integrate ConferenceXP with existing conferencing and classroom systems. The difficult parts of developing collaborative applications—forming groups, managing group state and status, dealing with network errors—are taken care of by the ConferenceXP platform and its services.

ConferenceXP employs a peer-to-peer architecture. Because no server is involved, this architecture makes deployment easy, and it prevents network traffic bottlenecks and single points of failure. This architecture uses multicast to ensure efficiency and scaling for multipoint video conferencing over a broadband network, as well as for sharing documents and ink over a 802.11b wireless network. It also supports point-to-point unicast for environments where multicast is unavailable.

The architecture of the ConferenceXP research platform
The architecture of the ConferenceXP research platform

The ConferenceXP architecture enables developers to create ConferenceXP learning applications that take advantage of the underlying network, conferencing, and distributed application protocols. It is divided into four logical layers: ConferenceXP Application, ConferenceXP Capability, Conference API, and Network Transport.

ConferenceXP Application and Capability Layers

The ConferenceXP Application and ConferenceXP Capability layers provide the user interface for ConferenceXP. Capabilities are add-in components that add functionality to a ConferenceXP appli­cation. Both ConferenceXP applications and capabilities use the Conference API.

The user interface of the ConferenceXP Client application is designed so that it can be easily customized. Developers who build on the ConferenceXP platform can use the built-in ConferenceXP Client application, customize or extend the built-in applications, or use the audio and video conferencing features in their own custom-built learning application.

The ConferenceXP Capability layer includes the Audio/Video and Presentation capabilities included with ConferenceXP. The Audio/Video capability enables a ConferenceXP applica­tion to send and receive audio and video streams, and the Presentation capability enables a ConferenceXP application to send and receive documents and ink.

Developers can create multipoint collaborative capabilities for the built-in ConferenceXP Client application or for their own ConferenceXP application, either by writing them from scratch or by modifying existing Windows applications built on the .NET Framework.

Conference API Layer

By using the Conference API, developers can quickly and easily create a ConferenceXP application or capability. For example, capabilities can inherit from the CapabilityBase class, which performs most of the work and enables develop­ers to convert most applications into a capability in under 100 lines of code.

The RTDocuments API provides applications and capabilities with a standard protocol to transfer documents and ink strokes. By using the RTDocuments protocol, applications and capabilities that handle documents and ink can interoper­ate with each other. The RTDocuments protocol is a Microsoft .NET runtime implementation of theSCORM interchange specification.

The DirectShow and Windows Media APIs provide access to audio and video features in Windows. The DirectShow API provides a .NET wrapper around the DirectShow multimedia API so that ConferenceXP applications and capabilities can use them to connect devices with codecs, as well as send audio and video data over the network. ConferenceXP appli­cations and capabilities can also use Windows Media audio and video codecs.

Network Transport Layer

The Network Transport layer provides custom-written net­work transport technology to ensures audio, video, and data streams are transmitted with minimum data loss. ConferenceXP sends audio, video, and data streams over the network by using an implementation of the Real-time Transport Protocol (RTP), which is based on the managed implementation of Windows Sockets (System.Net.Sockets).

The RTP peer-to-peer network transport is an Internet Engi­neering Task Force (IETF) standard for audio and video transmission. It is designed for scenarios where low latency is required, such as high-performance conferencing. To help prevent data loss in difficult network environments, such as wireless networks in large classrooms, ConferenceXP uses extensions to the RTP protocol, as well as forward error correction (FEC) algorithms.

 



 

ConferenceXP Applications

Developers who build on the ConferenceXP platform can take advantage of ConferenceXP conferencing and collaboration technology.

ConferenceXP Client

The ConferenceXP Client application enables you to interact and collaborate with others in a virtual collaborative space, called a venue. (On the network, a venue is a multicast endpoint defined by an IP address and port.) When you start ConferenceXP Client, it opens a window that displays the available venues you can join.

 

After you join a venue, ConferenceXP automatically starts the multipoint real-time audio and video capability, which enables you to see and hear others in the same venue.

Tiled ConferenceXP windows

Tiled video windows showing four-way conferencing.

The ConferenceXP Client application includes two sample capabilities: ConferenceXP Presentation and Chat. With ConferenceXP Presentation, participants can collaborate with real-time ink on an electronic whiteboard or distributed Microsoft PowerPoint® presentation. Chat enables participants to send instant messages to each other.

ConferenceXP audio and video support is designed for high-speed networks—2 megabits per second (Mbps) or faster—which enables high-quality multipoint conferencing. It delivers full-screen video at 30 frames per second and supports custom video data transfer rates.

As a peer-to-peer application, ConferenceXP sends audio, video, and data streams between ConferenceXP clients, instead of sending these streams to or receiving them from a server. To support simultaneous users while keeping network traffic to a minimum, ConferenceXP uses multicast. This way, a ConferenceXP client can send a stream once to all ConferenceXP clients set up to receive the data.

Research Project Applications

Universities and research organizations partner to design and build applications that take advantage of the ConferenceXP platform, mobile devices, and wireless infrastructure to provide rich, engaging learning experiences. To learn more about these applications built by ConferenceXP research partners.

 



ConferenceXP Frequently Asked Questions (FAQs)

 

ConferenceXP

If I want to try ConferenceXP, what hardware do I need?
For ConferenceXP system requirements and recommended hardware, see the ConferenceXP Classroom Setup Guide.

ICan I use more than one camera with ConferenceXP?
Yes, ConferenceXP 3.0 and later support multiple cameras. For more information about the new features and enhancements in ConferenceXP 3.0, see For more information about the new features and enhancements in ConferenceXP 3.1, seeConferenceXP 3.1 Release Notes. For ConferenceXP 3.1 system requirements and installation instructions, see theConferenceXP Client 3.2 Installation Guide.

Can I run ConferenceXP on a laptop computer?
Yes, but the quality of video conferencing in ConferenceXP rapidly degrades when the system nears or hits 100% CPU utilization, so we recommend you monitor the CPU utilization and use high-end laptop hardware. In our observations, a laptop with a Pentium III 1.2 GHz processor with the NVIDIA Quadro2 Go Graphics Processing Unit (GPU) can do two-way conferencing, and a laptop with a Pentium IV 2.0 GHz processor with the NVIDIA GeForce4 Go GPU can do five-way conferencing. In both cases, the laptops are plugged into a power outlet to prevent the CPU from running at a lower speed to save power and the laptops use 100BaseT wired networking. For more information about using wireless networks, see Does ConferenceXP work over wireless networks?.

Does ConferenceXP work over a wireless network?
ConferenceXP 3.0 and later include enhancements that enable better transmission of slides and ink over wireless networks. However, these enhancements do not affect the quality of audio and video transmission over wireless networks. Generally, wireless networks do not have sufficient bandwidth and quality of service to support transmitting high-bitrate, high-quality audio and video streams.

Can I run ConferenceXP on Windows Server 2003?
If the Windows Media codec that ConferenceXP requires is installed (which is included with Windows Media Player), you can run ConferenceXP on Windows Server 2003. However, because we support running ConferenceXP on Windows XP, we have not done extensive testing of ConferenceXP running on Windows Server 2003.

Can ConferenceXP be deployed on a multicast-enabled intranet with no Internet connectivity?
Yes it can, although it will require port TCP/80 (also known as HTTP Port for SOAP) connectivity either directly or through a proxy server which must be specified in the Internet Explorer Connectivity settings to communicate with the Venue Server to find the venue and participant information it needs to function.

To be entirely self contained, you can run a venue server on your intranet and keep that TCP/80 traffic internal too. There’s a *.config file for each client that has a URL that can be changed to point to a local venue server.

In the case that TCP/80 is closed, a HTTP proxy is not set up, and the client has not been redirected to a local venue server, then the client is unable to get a hold of venue or participant information. When this happens, a default mode is used to allow the client to continue working, though with only one default venue to select from.

 

Does ConferenceXP require a server for receiving and sending streams?
ConferenceXP employs a peer-to-peer architecture. Because no server is involved, this architecture makes deployment easy, and it prevents network traffic bottlenecks and single points of failure.

Can I use ConferenceXP without Windows Messenger or Passport?
You do not need to have Windows Messenger running to run ConferenceXP; it will automatically roll over to your Windows credentials if Messenger is not and has never been run under that account. We do plan to authenticate your Profile entry on our Venue Server using Passport in the future when Passport and Web Services have been integrated. We publish the Venue Server binaries and source code so setting up your own Venue Server using either Windows or a custom (or no) authentication method would be possible.

Why does ConferenceXP use Windows Media codecs?
Video conferencing requires low latency and not all video codecs can do this. When we started designing ConferenceXP, we found that the Windows Media Video codecs, included with Windows Media Player, met all our latency and bandwidth requirements, worked well, and is free with your Windows XP license, which is the supported operating system. ConferenceXP 3.0 and later use the Windows Media 9 Series Audio and Video Codecs.

How are ConferenceXP multicast addresses selected?
The specific IP address chosen is determined by what venue is selected. One IP address is statically bound to each venue. When two ConferenceXP clients join the same venue, they are talking on the same multicast address and can see each other.

The Venue Server contains a database that maps friendly Venue names onto the IP addresses.

Which multicast addresses does ConferenceXP use?
ConferenceXP uses a range of 233.45.17.172-175:5004/5005 as well as a range of ‘non-routed’ multicast addresses in 234.*.*.*.

Are ConferenceXP video signals multicast?
Yes, ConferenceXP sends RTP and RTCP packets over multicast UDP/IP.

Is ConferenceXP compatible with my existing video conferencing system?
No, ConferenceXP uses the Windows Media codecs, which have been highly optimized for quality and efficiency on personal computers. Most commercial video conferencing systems today are based on the h.261 or h.263 video codecs, which provide relatively poorer quality and higher CPU utilization.

ConferenceXP transports its data over RTP (Real-Time Transport Protocol), described in RFC 3550 from the IETF. If you’re a researcher interested in working with us to implement a backwards compatibility solution, let us know.

Can I run Conference 3.x and ConferenceXP 2.4.2 on the same computer?
Because ConferenceXP 3.x includes major changes at the networking and audio/video levels, having both ConferenceXP 2.4.2 and ConferenceXP 3.x installed at the same time is not supported.

Which video devices does ConferenceXP support?
For a complete list of the cameras, video capture cards, and video drivers we’ve tested with ConferenceXP 3.0 and later, see ConferenceXP Supported Video Devices.

Troubleshooting

Why does ConferenceXP 3.x take a long time to start?
Because Venue Service has a 10-second timeout, ConferenceXP will take at least 10 seconds to start. During startup, ConferenceXP also checks Windows Messenger to get your identifier.

Make sure Windows Messenger is not causing the problem:

  1. Do one of the following:

  2.  
    • Make sure Windows Messenger is working properly by restarting your computer and then restarting Windows Messenger. (To restart Windows Messenger, on the Start menu, point to All Program, and then click Windows Messenger.)
       
    • Temporarily uninstall Windows Messenger.
       
  3. Start ConferenceXP again.

 

How do I troubleshoot multicast network problems?
If Multicast isn’t working at your site, try the following:

  • Use the Connectivity Detector network diagnostic utility.
  • Follow the tutorial on diagnosing multicast problems for the Access Grid.
  • In ConferenceXP, create a peer-to-peer connection by starting a two-way conference over unicast.
  • Create a unicast bridge by using the ConferenceXP Reflector Service.
  • For more troubleshooting help, see the ConferenceXP Frequently Asked Questions (FAQs), visit the Message Boards, or subscribe to the e-mail distribution lists.


It is possible to view and enter a ConferenceXP venue without Internet2 and multicast connectivity. However, unless you have Internet2 and multicast connectivity, you will be unable to view other participants in the venue or send and view video and audio streams.

To determine if you have Internet2 and multicast connectivity, use the Connectivity Detector (ConferenceXP 3.x) or Pipecleaner Stoplight (ConferenceXP 2.4.2 and earlier) network diagnostic utility. This utility checks your networking connectivity and directs you to troubleshooting information if the connectivity check fails. For more information, see About Internet2 and Multicast Connectivity.

To use the network diagnostic utility included with ConferenceXP, do one of the following:

  • In ConferenceXP 3.x, on the Settings menu, click Start Connectivity Detector.
  • In ConferenceXP 2.4.2, on the Help menu, click Internet2 & Network Connectivity.


If you notice symptoms of poor network conditions, such as lost slides or ink strokes, try the following:

  • If you’re using a laptop with Intel Centrino mobile technology, the power save polling feature may be interfering with wireless connections. To prevent this problem, see PSP (Power Save Polling) Causes Connection Issues With Some Access Points. 

  • Try adjusting ConferenceXP for poor network conditions. For more information, see Is there a way to adjust ConferenceXP for poor network conditions?


If you’re using ConferenceXP in less than optimal network conditions, you may experience performance issues, such as lost slides or ink strokes. To prevent or workaround this problem, try the following:

  • If you’re using a laptop with Intel Centrino mobile technology, the power save polling feature may be interfering with wireless connections. To prevent this problem, see PSP (Power Save Polling) Causes Connection Issues With Some Access Points. 

  • To minimize these symptoms of poor network conditions, you can increase the forward error correction (FEC) ratio, decrease the data throughput, or both.

Increase the FEC ratio for capabilities

  1. Open the CXPClient.exe.config file in a text editor, such as NotePad.
  2. Edit the value for the following key:

    Where 50 is the default FEC ratio, indicating the ratio of checksum packets to data packets sent. Increasing this value causes ConferenceXP to send more checksum packets, which enables more data packets to be reconstructed if lost.

Decrease the rate of data being sent for capabilities

  1. Open the CXPClient.exe.config file in a text editor, such as NotePad.
  2. Edit the value for the following key:

    Where 256000 is the amount of data sent over the network, in bytes per seconds. Decreasing this value causes ConferenceXP to send data over the network less frequently, which decreases network traffic.

For ConferenceXP applications (that is, non-capabilities), you can change these values on the RTP sender.

How do I prevent video problems on my computer?
If you see video problems on your computer, such as several videos in the same window or not seeing your video on your computer while other participants can see your video, there may be a conflict with your graphics card. To determine if this is the problem, do the following:

Disable the DirectDraw Acceleration feature

  1. On the Start menu, click Run.
  2. In the Open box, type dxdiag.
  3. Click the Display 1 tab.
  4. Under DirectX Features, next to DirectDraw Acceleration: Enabled, click Disable.
  5. If you have a second monitor, click the Display 2 tab, and then next to DirectDraw Acceleration: Enabled, click Disable.

 

Why can’t I and others not hear or see my audio or video?
If you and others cannot see or hear your video or audio stream, make sure your video or audio device is working properly. To do so, determine if your audio and video works in other programs to see if the problem is with your audio or video device or if the problem occurs only in ConferenceXP.

Determine if your camera or audio device works as expected in another program

  • Do one of the following:
    • Use the Audio and Video Tuning Wizard feature in Windows Messenger

      .
    • On the Start menu, click Control Panel. Click Scanners and Cameras, and then click your video device to see if it displays an image.
    • Open Microsoft Movie Maker, or another program that can capture audio and video from your camera or audio device, and then make sure your camera or audio device works as expected.

If your audio or video device does not work in other programs, you’ll need to troubleshoot that problem. If your audio or video device does work in other programs, but not in ConferenceXP, see the ConferenceXP Message Boards or Distribution Lists for troubleshooting help.

Tip  If you’re using a firewire camera and no image appears, try resetting your firewire camera by removing and replacing the firewire cable from the back of your computer or camera. This removes power from the camera and resets the device.


In ConferenceXP 2.4.2, if your monitor power settings are set to turn off while ConferenceXP video streams are running, the video stream does not appear on the monitor, but the DirectX component of ConferenceXP continues to buffer the stream. This can quickly cause your system’s memory to be depleted, resulting in the message, “Your system is low on virtual memory.” This problem is fixed in ConferenceXP 3.0 and later.

You can avoid this problem in ConferenceXP 2.4.2 by stopping ConferenceXP streams before you leave your computer, by adjusting your monitor power setting to never turn off, or both.

Stop a stream

  • In the ConferenceXP 2.4.2 venue window, right-click the icon you want, and then click the stream you want to stop.

Adjust the monitor power setting to never turn off

  1. In Control Panel, click Display.
  2. Click the Screen Saver tab.
  3. Under Monitor power, click Power.
  4. In the Turn off monitor list, click Never.

 

Why is my ConferenceXP 2.4.2 video stream out of sync with current events?
In ConferenceXP 2.4.2, if you have the monitor power set to turn off after a specified amount of time when you’re running ConferenceXP, the ConferenceXP video stream is interrupted. When you resume using the computer, which restores power to the monitor, ConferenceXP starts the video stream. The video stream starts where it left off, playing a delayed stream compared to actual events at a faster speed while DirectShow clears the cache. To avoid this problem, which also uses up available memory, adjust the monitor power setting to never turn off.

Adjust the monitor power setting to never turn off

  1. In Control Panel, click Display.
  2. Click the Screen Saver tab.
  3. Under Monitor power, click Power.
  4. In the Turn off monitor list, click Never.


Venue Service uses the standard unicast HTTP protocol to communicate with clients. The clients submit requests and get results just like they were submitting a form request.
Venue Service is a very lightweight Web service-SQL Server application, so it should run on any computer that can run Microsoft SQL Server™ 2000 Personal or Developer Edition or Microsoft SQL Server 2000 Desktop Engine (MSDE) 2000. For more information, see the ConferenceXP Venue Service 2.1 Installation Guide.
If you have installed Venue Server on Windows Server 2003 and cannot see your list of venues, make sure that the status of the ASP.NET Web Service Extension in IIS Manager is set to Allowed.

Change the status of the ASP.NET Web Service Extension in IIS Manager

  1. Open the Internet Information Services (IIS) Manager.
  2. Under REFLECTOR (local computer), click Web Service Extensions.
  3. In the right pane, click ASP.NET, and then click Allow.

If only the Local Venue appears for participants connecting to your Venue Service, make sure port 80 (HTTP Port) is open on the Venue Service computer.

 

Connectivity Detector and Pipecleaner


Connectivity Detector (ConferenceXP 3.0 and later) and Pipecleaner Stoplight (ConferenceXP 2.4.2 and earlier) send RTP and RTCP packets over multicast UDP/IP. They use 233.45.17.171:5004 for RTP and 233.45.17.171:5005 for RTCP. For more information, see About Internet2 and Multicast Connectivity.

Source Code

Why does an unhandled exception error occur when I build the ConferenceXP Client (Bar UI) solution?
If the error, “An unhandled exception of type ?System.DllNotFoundException’ occurred in mdshowmanager.dll. Unable to load DLL (netrenderer.ax).” occurs when you run the “ConferenceXPClient (Bar UI)” solution, do the following:

Manually copy the netrenderer.ax and netsource.ax files from their build directories under DShow\* into the directory from which you are going to run BarUI.exe.

Unfortunately, Microsoft Visual Studio .Net does not have a way of specifying unmanaged (older Win32) code dependencies for a managed (.NET) project and these are the files ConferenceXP uses to link its managed conferencing logic into the DirectShow APIs.

 

 

ConferenceXP.net