A concrete example of a C-to-C application may help clarify the types of applications we envision. In the Office of the Future, conceived by Fuchs et al. [13], tens of digital light projectors are used to make almost every surface of an office (walls, desktops, etc.) a display surface. Similarly, tens of video cameras are used to capture the office environment from a number of different angles. At real-time rates, the video streams are used as input to stereo correlation algorithms to extract 3D geometry information. Audio is also captured from a set of microphones. The video streams, geometry information, and audio streams are all transmitted to a remote Office of the Future environment. At the remote environment, the video and audio streams are warped using both local and remote geometry information and stereo views are mapped to the light projectors. Audio is spatialized and sent to a set of speakers. Users within each Office of the Future environment wear shutter glasses that are coordinated with the light projectors.
The result is an immersive 3D experience in which the walls of one office environment essentially disappear to reveal the remote environment and provide a tele-immersive collaborative space for the participants. Furthermore, synthetic 3D models may be rendered and incorporated into both display environments as part of the shared, collaborative experience. Figure 2 is an artistic illustration of the application. A prototype of the application is described in [13].
The Office of the Future is a good example of a C-to-C application because the endpoints of the application are collections of devices. Two similarly equipped offices must exchange myriad data streams. While few streams (if any) will share a complete end-to-end communication path, all of the data streams will span a common shared path between the local networking environments of each Office of the Future.
The local network environments are not likely to be the source of congestion, loss, or other dynamic network conditions because they can be provisioned to support the Office of the Future application. The shared Internet path between two Office of the Future environments, however, is not under local control and thus will be the source of dynamic network conditions.
The Office of the Future has a number of complex application-level adaptation strategies that we believe are typical of C-to-C applications. One such strategy, for example, is dynamic interstream prioritization. Since media types are integrated into a single immersive display environment, user interaction with any given media type may have implications for how other media types are encoded, transmitted, and displayed. The orientation and position of the user's head, for example, indicates a region of interest within the office environment. Media streams that are displayed within that region of interest should receive a larger share of available bandwidth and be displayed at higher resolutions and frame rates than media streams that are outside the region of interest. When congestion occurs, lower priority streams should react more strongly than higher priority streams. In this way, appropriate aggregate behavior is achieved and dynamic, application-level tradeoffs are exploited.