Service-Oriented Architecture for Building a Scalable Videoconferencing System Ahmet Uyar, Wenjun Wu, Geoffrey Fox ABSTRACT In this paper, we propose a service-oriented architecture to develop a scalable videoconferencing system, GlobalMMCS, based on a publish/subscribe event brokering network. There are two key ideas behind our approach for building a scalable videoconferencing system. First one is to identify and separate tasks performed in a videoconferencing system, and design independent scalable components for each task. Second one is to coordinate system components by providing service based interactions. We identified that there are three main tasks in a videoconferencing system: media (audio/video) distribution, media processing and meeting management. We use a publish/subscribe event brokering system, NaradaBrokering, to deliver all media and data messages exchanged in the system. It provides a unified scalable solution for content distribution. We developed a scalable media processing framework that provides media processing services such as audio mixing, video mixing, and image grabbing. In addition, we have designed meeting managers to start/stop meetings and control the resources necessary for them. All service providers announce the service descriptions upon a request. Service schedulers use these descriptions to determine the best available service providers based on the policies set by users. Consumers exchange request/response messages with producers when executing the services. In addition, our system provides a convenient framework for third party developers to add new services. We have implemented a prototype of this system and have used it for experimental purposes. 1 INTRODUCTION The availability of increasing network bandwidth and the computing power provides new opportunities for distant communications and collaborations over the Internet. On one hand, broadband internet connections are spreading rapidly. Even cell phones will have broadband internet access in the near future with the implementations of 3G standards. On the other hand, the usage of webcams and video camera enabled PDAs and cell phones are increasing by many millions every year. Therefore, it is not entirely inconceivable to imagine that the trend in the increasing usage of videoconferencing systems will continue by accelerating. This will require universally accessible and scalable videoconferencing systems that can deliver thousands or tens of thousands of concurrent audio and video streams. In addition to audio and video delivery, such systems should also provide scalable media processing services such as transcoding, audio mixing, video merging, etc. to support increasingly diverse set of clients. However, developing videoconferencing systems over Internet is a challenging task, since audio and video communications require high bandwidth and low latency. In addition, the processing of audio and video streams is computing intensive. Therefore, it is particularly difficult to develop scalable systems that support high number of concurrent users. Current videoconferencing systems such as IP-Multicast and H.323 can not fully address the problem of scalability and universal accessibility. These systems focused on delivering the best performance and lacked flexible service oriented architecture. That led to the development of low level standards and hardware based systems that are either difficult to be supported universally or inflexible to add resources. We believe that with the advancements in computing power and network bandwidth, more flexible and service oriented systems should be developed to manage audio and video conferencing systems. In this paper, by utilizing the researches in the areas of publish/subscribe messaging systems and service oriented computing, we propose a service-oriented architecture to develop a scalable videoconferencing system, GlobalMMCS, based on a publish/subscribe event brokering network, NaradaBrokering. The first step when building a scalable videoconferencing system is to analyze and identify the tasks performed in videoconferencing sessions. Then, independently scalable components for each task can be designed. It is also important to coordinate the interactions among these components in an efficient and flexible manner. We identified that there are three main tasks performed in videoconferencing sessions: audio/video distribution, media processing and meeting management. We propose using a publish/subscribe event brokering system as the audio and video distribution middleware. We also propose a service oriented meeting management architecture to organize media processing service providers in a flexible and scalable manner. When developing such a system, in addition to scalability, there are also some other factors to observe. This system should be fault tolerant to provide continuing services. It should also be easy to dynamically add or remove components. Both small and large size institutions should be able to configure this system according to their needs. Furthermore, this system should be flexible enough for other developers to add new services.