Multipoint multimedia applications are often developed as standalone applications without the support of a development and deployment platform. Such applications have to implement basic functionality like the transmission and processing of digital audio and video from scratch. They do not profit from a deployment platform for their dissemination, and tend to require skilled personnel for installation and operation. Standalone applications are typically found in research environments where new application features need to be evaluated with prototypes. However, applications that need to be deployed as services on large networks to a large number of users must be built on top of a platform. Such a platform must not only support the deployment of applications, it must also offer means that facilitate their development. A platform is an investment that can only be justified if it satisfies the interests of many users. It must therefore foster application diversity, which it does best by supporting application development on a high level. The investment a development and deployment platform represents also requires it to be long-lived, with the key to longevity being extensibility. Early platforms like Bellcore's Touring Machine feature a monolithic application programming interface that is hard to extend, because every extension requires considerable modifications to the infrastructure. Such monolithic platforms must be replaced by platforms based on the component framework paradigm which allows the platform to be extended by third-parties. The high-level abstractions exhibited by the application programming interfaces of monolithic platforms remain nevertheless valuable, and can be reimplemented as toolkits on top of low-level components. A platform for multipoint applications is necessarily distributed, and should therefore be constructed on top of an existing platform for distributed processing. The most adequate plat-form for this purpose is the Common Object Request Broker Architecture (CORBA) of the Object Management Group (OMG). CORBA is language-independent, object-oriented and open, which makes it superior to alternatives like Java RMI, OSF DCE and Microsoft DCOM. This thesis proposes an extensible platform for multipoint multimedia applications based on CORBA that supports application development with high and low-level component frame-works, and that supports application deployment with mobile code techniques. Applications reside in so-called application pools from where they download applets into static multimedia terminals. A multimedia terminal consists of a terminal control and an extensible set of high-level components called terminal servers. A special kind of terminal server is the applet handler which houses the applets sent by the application. The multimedia middleware of the terminal is also encapsulated in a terminal server. It consists of low-level components called devices that can be plugged together to form device graphs. Device graphs can be controlled over the network by the application, or locally by downloaded applets. Many applications require a higher level of programming support than devices or terminal servers. These applications profit from high-level components in the application pool called application pool utilities. Application pool utilities relieve applications from dealing with multiple terminals. An example application pool utility is a connection manager that allows an application to create and connect complex device graphs in multiple terminals with a few programming instructions.
Platform support for development and deployment of multipoint multimedia applications
© EPFL. Personal use of this material is permitted. The definitive version of this paper was published in Thesis and is available at : http://dx.doi.org/10.5075/epfl-thesis-1716
PERMALINK : https://www.eurecom.fr/publication/904