KRUPA Technologies

Introduction
The collaboration platform makes use of standards compliant state of the art technology which allows flexibility in a diverse deployment environment. The following sections discuss in detail the architectural aspects of platform.

End-to-End Architecture
The platform is realized as a client-server architecture where the client is a light, but rich component that runs in a web browser making it a hassle-free ‘use anywhere’ application. The server side complements the client with providing feature-rich collaboration functionality.

The following diagram depicts the high level architecture of the complete setup.

 
Server Architecture
The server side of the platform consists of a set of servers that perform the different key functions.
 

Functional Components
The sections below describe the components of the platform that perform various functions within
the platform. Depending on the deployment needs, these roles can either be realized as
independent functions or co-located logical functions.

 
AAA (Authentication, Authorization and Accounting) Server
Security, privacy and billing are of prime importance to any enterprise / business applications.  The authentication module takes care of validating the user credentials so that only registered users are given access to the facilities.  The authorization module verifies and enforces privileges required to perform various actions according to the runtime or pre-configured rules.
The accounting function is responsible for generation of the crucial billing information regarding the usage of the service. The AAA modules are implemented on a high performance computing platform connected to a low latency backend database.  The backend can be configured to be an enterprise information source like a relational database or a directory server.Presence and List Management Server

The presence and list management server maintains and updates the presence status of all the users of the platform.  This can be used for maintaining a multitude of features like buddy lists and conference member lists. This function is realized using standard server-side list management and event notification mechanisms.

Conference Control Server
The conference control server takes actions according to the main business logic of conferencing.  The main functionalities of the server are:
  • Floor control and
  • Policy control & enforcement

The floor control part takes care of all the conference related functions like end point detection, session management, support for service initiation, modification.  Creation, modification and tearing down conferences are the major apparent use cases of this server.
The conference control server is realized using a highly scalable high performance software stack running on server class fault tolerant hardware.  The conference control server also makes use of a low latency backend to store and retrieve user and conference details.

Media Server
Similar to the fact that a conference is incomplete without media, a collaboration platform is incomplete without a server to handle the media part.  The media server is at the core of the collaboration platform.  It supports various services and is flexible enough to add new services on demand.

The following picture gives an overview of how these server side components are put together to produce a highly usable and flexible platform.

The following picture gives an overview of how these server side components are put together to produce a highly usable and flexible platform.

Non-functional Architecture
In a multi-user environment, the non-functional requirements like performance, scalability, fault tolerance, and redundancy of the platform are of high importance as the loss of data and time of the participants can mean huge loss of productivity and revenue.  Hence, the platform is engineered in such way as to take care of each of these aspects.  The following sections describe how the architecture fulfils these non-functional requirements.
 
Performance
The different server components, especially the ones that handle the signaling part are based on a high performance, low latency application server.  The programming model used to develop these components ensures that a quick turn-around time is achieved for the different events by the use of underlying building blocks that conform to this requirement.

Scalability
The platform has been designed keeping in mind the needs of the customers to grow and have more user base.  The scalability is achieved by bringing in more servers as and when the number of users increases. The signaling traffic is distributed optimally between the different instances of the logical group of server components by the use of a load balancer. The capability of the conferences to span across media servers is achieved through a central controlling agent that resides within the conference control server.  Users are assigned to different media servers according to different selection criteria like the needs of the conference, the load in a particular media server, the capabilities of the media server etc.

Redundancy

The server components for signaling can be deployed in cluster configuration with automatic switching to another node when a node in use goes down.  The media servers are also redundantly deployed. The health of the media servers are constantly monitored by the conference control server and in the event of unavailability (due to system/network failure), the users are switched to one of the available servers.
 
2008 © Copyright Krupa Technologies LLC. All Rights Reserved