DOI: 10.5176/978-981-08-8644-8_CCV2011_15
Authors: Kareim M. Sobhe, Ahmed Sameh
Abstract:
The proposed Web application server allows the division of a single web request into several independent portions to be executed in parallel over different communication channels. To achieve this, the underlying communication infrastructure of traditional web environments is changed from the state-full TCP to the stateless UDP communication protocol. Such an architectural change provided an environment suitable for parallelization and distribution and enhanced some other already existing characteristics of the current web environments such as fault tolerance and web caching. In a previous paper we have presented the detailed architecture and results of a rapid prototype. In this paper, performance is further enhanced as part of the framework upon which web applications will run by introducing a number of changes. Such proposed architectural changes were done transparently from web clients keeping there interfaces unchanged. The importance of the Cluster Manager, which we will refer to as the CLM throughout this paper, resides in the fact that it takes the new web environment/architecture from just a clustered cascaded environment with replicated web application servers node that runs independently to serve dispatched requests, to a collaborative cluster whose nodes work in a tightly coupled mechanism to provide distributed resources for serving a single request through passing different kinds of
messages between nodes through the CLM. The CLM provides alot of services which are all designed for cluster based functionalities. Some of those functionalities are informative which provide information about different cluster nodes to other cluster nodes within the same cluster as well as providing informative services to HPAs such as the discovery service, and some others are transaction which are services that when an action is taken by one or more node in the cluster such as service state replication and migration. The CLM in the multi-channel multi-container environment will have two main tasks that can
be divided into client tasks and server tasks. The CLM should be able to give the HPA some cluster based information to enable the HPA embedded dispatcher to initiate requests to the most free nodes, provide the HPA with information needed for channels reservation and initialization ,and assist the HPA in case of take over situations resulting from failures. The CLM has server side duties such as updating all cluster nodes to be in sync, provide mechanisms for running services to replicate their state over the distributed replicated shared memory cluster engine between different nodes.
Keywords: Web application Server, Clustering, High Availability, Service State Migration, High Performance Computing, High Performance Agent, Skeleton Caching, Containers
