... we extend this defini- tion of collaboration for community-based programs to dis- ... Simple Network Management Protocol (SNMP) can be used to determine ...
Adaptive QoS Management for Collaboration in Heterogeneous Environments Rangini Chowdhury, Pravin Bhandarkar, and Manish Parashar The Applied Software Systems Laboratory Department of Electrical and Computer Engineering & CAIP Center, Rutgers, The State University of New Jersey 94 Brett Road, Piscataway, NJ 08854 Email: rangini, pravinb, parashar@caip.rutgers.edu Abstract Adaptive Quality-of-Service management is critical for enabling effective collaboration between distributed clients in a heterogeneous (wired and wireless) environment. This is because both client profiles (capabilities, interests and resources) and system resources can be significantly different and highly dynamic. This paper presents the design and prototype implementation of an adaptive QoS management framework for collaborative multimedia applications in distributed, heterogeneous environments. The overall goal of the framework is to locally adapt the shared information to meet the capabilities, interests and current state of each collaborating client while preserving the semantic content of the information to maintain effective sharing. Transformations investigated in this paper include gradual gradations and modality transformations. The framework builds on a publisher-subscriber messaging substrate that uses semantic profiles and provides each client with direct and immediate access to all information defined by its needs and capabilities, without having to maintain and update global rosters. It interfaces with the Simple Network Management Protocol (SNMP) to determine the state of the network by directly querying network elements. An experimental evaluation of the framework for wired and wireless clients is also presented. Key words: Adaptive QoS management, collaboration, heterogeneity, multimedia, publisher-subscriber paradigm, network management.
1. Introduction This paper presents an adaptive QoS management framework for collaborative multimedia applications in distributed, heterogeneous (wired and wireless) environments. The overall goal of the framework is to adapt the shared information to meet the capabilities, interests and current state
of each collaborating client while preserving the semantic content of the information to maintain effective sharing. Collaboration is the interaction and information interchange between people working at physically disparate locations working in dynamic heterogeneous environments with the purpose of accomplishing mutually beneficial activity. The ubiquity of network connectivity and recent advances in computing and networking technology provide the potential of enabling collaboration and computermediated information sharing and decision making in many critical application domains including Medical Telediagnosis, Crisis Management, and Electronic Trading. Enabling seamless multimedia collaboration in such an environment presents many challenges. An essential requirement is providing each client with the ability to have direct and immediate access to all information defined by the client’s needs, interests, resources and capabilities. Client profiles (based on their interests and capabilities) can be significantly heterogeneous. Furthermore, client and network dynamism require the ability to locally transform information on-the-fly so that it matches the client’s local capabilities and resources. For example, consider a client participating in a collaboration session involving shared images. The client’s device capability or current network connectivity may require reducing the resolution of the image or transforming the image to text or speech to allow the client to be an effective participant in the session. This paper presents an adaptive QoS management framework that addresses this challenge. In [22], it has been shown that distributed multimedia applications with QoS policies can perform to a reasonable degree of satisfaction by allowing tradeoffs with certain service requirements. The framework leverage on this ability of multimedia applications to work with flexible and reduced QoS guarantees during low network capacity conditions. This could involve application-level adaptations or centralized adaptation of the information transferred based on processing policies derived from the system state. Current network
level information such as network state is obtained using SNMP to directly query network elements. The framework consists of two key components: (1) Messaging substrate that captures interests, capabilities, state and resources of the system, and (2) Mechanisms and polices for adaptive QoS management for effective collaboration in heterogeneous environments. The messaging substrate implements the publisher-subscriber paradigm using semantic headers - i.e. all messaging is based on profiles rather than names and clients an locally define their profiles to direct access to all information based on the interests and capability. The framework support both wired and wireless (thin) clients. While wired clients directly join a collaboration session as peers, wireless clients join through a base-station. The basestation is a peer in the session. It maintains the profiles of all the wireless clients connect to it and manages QoS on their behalf. This centralized control for wireless clients provides an overall better information sharing under adverse channel conditions and low device capabilities. An experimental evaluation of the framework using wired and wireless clients is also present. The first set of experiments addresses wired clients and shows that the application adapts to changing CPU load and network state at a client-end. The second set of experiments evaluate a wireless clients-base station interactions. The base station maintains wireless client profiles and manages QoS based on signal strength in single and multiple client scenarios. The rest of this paper is organized as follows. Section 2 describes the architecture of a collaboration framework both in general and with respect to networking and elaborates on the different elements the framework. Section 3 explains the information management approach based on the publisher-subscriber framework that forms the basis of our collaboration framework. Section 4 describes the implementation details and section 5 provides the operational overview. Section 6 presents an experimental evaluation of the framework and demonstrates its ability to adapt to changing systems and client states.Section 7 discusses the related work to this paper. Section 8 concludes the paper.
2. Conceptual Collaboration Framework Collaboration is process of participation through which people, group and organizations work together to achieve desired results [18]. In the paper, we extend this definition of collaboration for community-based programs to distributed and heterogeneous networks. The collaboration domain consists of the range of client and network types interested in the sharing-session. As the shared space for collaboration session extends to the wireless clients, it includes low-end processing capabilities with low bandwidth and a loss-prone communication characteristic. Success in collaboration in this case will depend on meeting the re-
quirements and capabilities of the entire spectrum of clients. Figures 1 and 2 illustrate the architectural overview and the collaboration framework. Building blocks for efficient collaboration in a heterogeneous environment are as follows.
Figure 1. Architecture overview.
Figure 2. Collaboration framework. Group formation: Clients with the similar objectives form a collaborating group. A more precise definition of collaboration objective results in higher satisfaction levels. For an application developed to support crisis management there already exists a high granularity or precision in the definition of the objective. However for a real time bidding/auction application, a person interested in purchasing modems would find computer peripherals group to be of coarse granularity. The other important criterion is the result space that includes the complete set of final outcomes possible out of the collaboration. In our previous example of bidding application, required results of the collaboration could be capability of sharing comments, documents and images among the participants. Based on the final objective and required results a member joins the appropriate collaborating session. If an application can support multiple groups with different objectives, filter mechanisms can be implemented to form smaller groups among members with closer interests.
Peer-to-peer applications used for file sharing and instant messaging utilize their underlying peer discovery mechanisms to dynamically create, publish and discover new objectives or topics of interests. Messaging: Messaging is the process of efficiently and transparently transmitting events generated by one client’s action to all other clients in the collaboration session, and reproducing the original action on the remote clients. Concurrency Control: Concurrency Control is the process of arbitration and consistency maintenance when multiple clients concurrently manipulate the same set of shared objects in the collaboration session. Heterogeneity Management: To enable heterogeneity management it is essential to monitor the state of the network and adapt applications to varying network conditions. Simple Network Management Protocol (SNMP) can be used to determine current network conditions by directly interacting with the network elements [24]. The overall architecture can be either centralized or distributed. Centralized server based collaboration architectures, where session management is performed by a single central server, provide tightly controlled interactions. In these architectures, it is easier to manage event concurrency and maintain events ordering. However these architectures are not scalable and cannot readily adapt to changing client interests and capabilities. The distributed peer based collaboration architectures have loosely coupled interactions, and are more scalable, but need special synchronization management, concurrency management, and event ordering. To illustrate this better, consider a LAN-based member A and a user B using the wireless interface initiating a collaboration session with the same image-viewing application interface. This exemplifies the network heterogeneity. The network capability may change rapidly due to link congestion or path updates of the wireless user. User B is running low on power and decides to go into text-mode to receive information, thus indicating a change in preference. When User A views an image in share-mode with other members of the collaboration, this event along with information data is to be carried on to user B, where the application interface interprets this event, but instead of regenerating the image, reads the text description of the image which is included in the image meta-data. If two users select information for sharing at the same time, concurrency control comes into play and ensures that no information is lost.
interested in this information. Publishers and subscribers can be decoupled in space (i.e. distributed) and in time. In our messaging substrate, clients can be both publishers and subscribers. Furthermore, as collaboration is real-time, we do not support time-decoupling and store-and-forward mechanisms. Note that sessions can be archived to provide late clients with session history.
3. Semantic Messaging Substrate using the Publisher-Subscriber Paradigm
To illustrate the semantic interpretation process, let us look at the following example (Figure 3). The semantic selector describes the attributes of the incoming stream as color video, with MPEG2 compression and 1 MB data. Client 1’s profile (Profile 1) matches this incoming selector and hence the message is accepted. Client 2 (Profile 2) on the other hand is only interested in B/W video with no
Conceptually, we can consider the messaging mechanism to be based on the Publisher-Subscriber Paradigm [20]. In this interaction model, publisher(s) are entities that produce information and subscriber(s) are clients that are
Our implementation of the publisher-subscriber messaging substrate is based on semantic interactions. Traditional distributed information management approaches are based on global naming services, where all communications use unique names assigned to clients. In such a system, every application client that enters a session must register itself with the naming server, explicitly stating its interests. The server then assigns capabilities to the entering clients and informs existing clients about the new client’s interests. Existing clients can now forward relevant information from the existing collaboration session to the entering client. Clearly, the dynamics of such a collaborative framework is limited by the rate at which the network can synchronize distributing names, interests and capabilities. The semantic interaction approach implements the “pull” distributed interaction model using semantically enhanced events and state-based communication techniques [6]. In this scheme, each client locally maintains a profile that defines its current state, its interests and its capabilities. All interactions in this scheme are then addressed to profiles rather than explicit names. Consequently, the group of interacting clients is determined only at run-time. A client’s profile may also encapsulate network/system state. Communications between the collaborating clients are now defined as state-based multicast messages where a message is semantically enhanced to include a sender-specified ”semantic-selector” in addition to the message body. The semantic-selector is a prepositional expression over all possible attributes and specifies the profile(s) of clients that are to receive the message. Thus the conventional notion of a static client or client group name is subsumed by the selector which descriptively names dynamic sets of clients of arbitrary cardinality (conventional names of clients or clients groups are non-descriptive and statically bound.). State-based messages are received by semantically interpreting message selectors in terms of the client profiles. In the case of wireless clients, the basestation maintains the profiles of all its clients and participates in the semantic interactions. It then appropriately forwards information to the wireless clients.
Figure 3. Semantic interpretation process. encoding and so the message is rejected. Client 3 (Profile 3) is interested in color video with JPEG encoding and has the capability to transform MPEG2 to JPEG. It thus accepts the message with a transformation. Profiles are maintained and are modifiable by clients to reflect their current interests.
station, the base station evaluates its distance, transmitting rate and power, keeping into consideration the noise effect of the other wireless client transmissions and returns a basic service assessment to client A. Hereafter, whenever A generates a event (for e.g., sharing an image file using the image-viewer), the base station receives the event as a unicast transmission, multicasts it to the collaborative session while unicasting it to the other wireless clients. This helps to achieve event replication, concurrency control and heterogeneity management which are the key elements of our Collaborative-QoS framework. The implementation of the user and application interface is Java based and enables users to leverage the elaborate Java event-delegation model.
4. Implementation Overview 4.1. Wired Client A wired client joins the multicast network and becomes an active member of the session using the three main entities of the application user interface - the chat-area, whiteboard, or the image viewer. The user interface is coupled to the adaptive framework using the application interface. This component is responsible for locally orchestrating the collaboration session for an application client. It monitors all local objects that may be of interest to the client and encodes their state as entries in the client’s state repository. Similarly, when a remote instance of the object changes state, the change is received by the communication module and forwarded to the application interface, which in turn updates the client’s session.
Figure 4. Class diagram for wireless extension.
4.2. Wireless Clients and Base Station
5. Operational Overview In order to join the collaborative session, a wireless client establishes connection via the base station. The base station functions as the control coordinator while maintaining the wireless client state. The base station monitors clients joining and leaving the collaborative session and maintains a profile depending on distance, signal strength at base station, transmitting rate, and capability of the client during the session. After establishing the initial link, our implementation uses the same user interface for a wireless client. The base station links the wireless network to the rest of the distributed collaborative session by joining the multicast session and is the gateway to the contributions of the wireless clients. As a result, all wireless clients connecting to the base station are, by default, a part of the collaborativenetworked system. Let us now consider the event communication from a wireless client A to a wireless client B (Figure 4). When A establishes connection to the base
The operational overview is illustrated in Figure 5.
5.1. Multicast Communication Substrate The multicast approach is based on the omnipresence of IP on different physical media, both wired and wireless. However, the implementation of multicast data transfer on UDP limits the reliability parameter [10][25]. Consequently, a thin layer based on the RTP-RTCP scheme is built on top of the communication substrate to provide limited in-order delivery assurance. Data messages containing information such as images are typically of high volume and require transmission of several data packets. Reliable and ordered delivery of these packets is critical for successful reconstruction of data at a collaborating remote client.
the profile specifies that the client has chosen speech as the preferred modality.
5.3. Event Communication Module The communication module is responsible for (a) associatively multicasting messages on the communication media, and (b) interpreting incoming messages, corresponding to remote events, for relevance and translating them into local events. The sender component multicasts semantic messages over the communication media. Events are thus transmitted asynchronously to all the other interested clients, irrespective of the other clients in the session and their capabilities. The receiver component monitors incoming messages and extracts their semantic selectors, which are used to locally process the message. Figure 5. Implementation architecture.
5.2. Client State, Profile Manager and Inference Engine The quality of service adaptation based on network and system state is jointly provided by three components, viz. the client profile, the system state interface and the inference engine. The inference engine serves as a policy database and encodes policies for information transformations. It uses the client profile which is generated by current client and system/network state. The former encodes the client’s interests, preferences, and capabilities, while the latter encodes available resources and their current state. The profile is dynamic and changes locally to reflect the changes in the client or system state. Users can specify individual system and application parameters that will make up the local system state, as well as the constraints subject on these parameters. These user policies defines a QoS “contract” that needs to be satisfied by the inference engine. The inference engine interacts with the policy database to determine the guarantee. Subsequently, the inference engine interacts with the network element or a device with an embedded agent to determine the current capability. It then links this information to determine the amount of information that can be processed on the multicast data channel. It also activates the information transformer to enable the interpretation of data that has been received. The incoming data has encoded semantic selectors which enable effective interpretation under the current network/system constraints. For example, after determining the bandwidth availability in a network, the resolution of an incoming image may be reduced to match the client’s resources. Similarly, incoming textual information can be transformed into speech if
5.4. Information Transformer The information transformer component maintains a suite of media-specific information abstraction modules. Information abstraction aims at intelligently transforming information while maintaining its semantic content. Examples of information transformers include image-to-text, image-to-speech, text-to-speech, and speech-to-text conversions [16]. Such a translation is critical for enabling collaboration across heterogeneous clients and for interconnections with large variations in capabilities. The information transformer library is designed to be extendible so that new modules and media types can be easily incorporated. Our current implementation uses an image transformation module capable of progressive description of visual information [12][23]. The module uses robust segmentation of the image to extract a realistic sketch of the main features. This sketch preserves the essential information required for effective collaboration, and requires up to 2000 times lesser data than the original. Furthermore, a verbal description can be tagged to this sketch and can be used to enable clients with minimal capabilities (e.g., a client on a wireless connection) to be effective participants in a collaboration session. Image detail is hierarchically added to the sketch. This hierarchical representation of the visual information along with a verbal sketch facilitates the collaboration among clients with heterogeneous capabilities. Each of the users may access the same visual information but at different resolutions or using different modalities. In the framework, the inference engine uses the profile to locally decide on an acceptable resolution for the incoming data that meets the requirements and constraints specified in the QoS contract. The resolution threshold is used to determine the number of image segments (i.e. the number of image packets) to be received.
5.5. Network State Interface The network state interface is a generic component that encapsulates the state of the system. This includes CPU load, available memory, network bandwidth, latency, and jitter. The current implementation of the network state interface uses Simple Network Management Protocol (SNMP) which enables it to determine the state of network elements and hosts. It uses the IP address of the network element, the community string, and the object identifier (OID) of the parameters of interest (bandwidth, CPU load, page-faults, etc.) to directly query the SNMP MIB (management information base). The system/network state interface consists of two components: the manager component that runs on the management station, and the agent component that runs on the network element to be monitored. Routers and switches have standard agents to monitor the local parameters through instrumentation routines. To monitor the hosts, we have built a specialized embedded extension agent that runs on each host and is serviced by instrumentation routines.
at the local host decrease with an increase in the number of page faults. The numbers of packets vary from 1 to 16 in powers of 2 corresponding to page faults varying from 30 to 100. The inference engine based on current system state dynamically determines the exact number of packets. In graph 2, it is seen that as the number of packets decrease (due to increased page faults), the compression ratio increases, indicating that lesser data is available. The bits per pixel (BPP) is an indicator of the image quality - this parameter decreases as the number of packets decrease (graph 3 of figure 6). The image viewer component adapts to provide images of varying BPP ranging between 2.1 to 0.1 and compression ratios from 3.6 to 131.
6. Experimental Setup and Results The experiments were designed to demonstrate that (1) the mechanism supports QoS management in a collaboration-based distributed environment to help deal with the variation in the parameters on the network and system, (2) the conditions when adaptations are required are captured by the system, and (3) network and client-end interact to achieve the appropriate adaptations. The simulation test-bed comprised of several Windows NT workstations on the local network, with one terminal responsible for the base station functionalities, another terminal as a wired client, and two others as wireless clients. The page faults and CPU load observations were recorded at the terminal simulating a wired client based on the image viewer performance with dynamically changing system conditions and network management parameters. The first set of experiments determine the behavior of the image viewer software by plotting the compression ratios, number of packets received, and the image quality (bits per pixel) against the SNMP parameters, number of page faults, and the CPU load obtained from the local hosts. The second set of experiments focus on QoS support-handling capability of the base station with respect to the signal strengths from single and multiple client scenarios.
6.1. The Image Viewer Parameters versus the Host Page Faults The measurements, as shown in graph 1 of Figure 6, indicate that the number of image packets that can be processed
Figure 6. ImageViewer parameters versus Page Faults.
6.2. The Image Viewer Parameters versus the CPU Load
6.3. Analyzing wireless client - base station interaction with QoS support
Figure 7 shows the BPP, image compression ratios, and the number of packets plotted against the CPU load. The number of packets and BPP decrease as the CPU loads increase while the compression ratio correspondingly increases. The CPU load variation from 30 to 100% results in a drop in the number of image packets accepted from 16 to 0. The inference engine based on current system state dynamically determines the exact number of packets. The corresponding variation in the BPP is between 14.3 and 0.7 and the compression ratio varies between 1.6 and 32.7. From the two experiments, it is evident that a wide range of compression ratios and quality of images can be obtained so as to adapt to different network/system state parameters.
With mobile device connectivity to the network, the limitation of the devices in terms of battery power and poor channel characteristics play a crucial role in the collaboration. In such cases, the algorithms need to be derived with the objective of the whole collaboration in perspective. In the experiments, it is considered that if the data file is an image file, it comprises of three main parts- (a) text description of the image (b) base image which forms the sketch of the original image (2000 times lesser data), and (c) the main image file with high resolution data.
Figure 8. Performance of 2 wireless clients with varying distance.
Figure 9. Performance of 2 wireless clients with varying power.
Figure 7. ImageViewer parameters versus CPU Load.
Figure 10. Performance of 3 wireless clients with varying distance and power.
Figures 8, 9, and 10 depict the interplay of the transmission power of the wireless hosts and the net SIR received at the base station (BS). The set of experiments conducted are based on: 1. Varying distance of clients from BS for fixed values of transmitting power. 2. Varying transmitting power for constant values of distance for clients. 3. Varying number of wireless clients. Only the forward link (client to BS) is considered in the experiments since this includes pathological interference cases for multiple client scenarios. While acting as the central coordinator, the base station also performs the QoS managerial functionalities. Different threshold levels of SIR are set for text description only, or text and base image, or the full image description, and this information is forwarded to the multicast network depending on the received SIR at BS from the client sending the data. The target SIR at the BS from a client can vary dynamically when other wireless clients join and leave. The SIR (Signal to Interference Ratio, ) for a client is calculated as:
¾
client. This is the intended spirit behind effective collaboration. Based on the collaboration network implementation of a simulated wireless network, 3 sets of results are now presented. 6.3.1 Variation of distance Figure 8 results are with respect to distance (depicting mobility in clients). From points 0-3 on the x-axis, the distance of client A is reduced from 100m to 50m. At those points when distance is reduces, the SIR of client B improves considerably. From point 3-5 on x-axis, client A distance from base station is increased. If the transmitting power is maintained constant and the distance is varied, then the base station/gateway periodically calculates SIR and selects the appropriate data-type format to forward, depending on the signal strength. If a text file is transmitted in a single packet, then BS forwards the same on reception of that packet. If the BS receives the base image packet at SIR above threshold for image, it will send out the image packets too. Consequently, even in a low throughput network condition, the BS is able to send certain modality of information from a wireless client to the collaboration network. 6.3.2 Variation of power
(1)
where, , and , are the transmitting power and path gain for clients and repectively, and the noise factor, ¾ , is calculated based on the transmitting power of client (P/½¼ ). If SIR received at the BS from a client is below a certain threshold level for image data, then text-type data should only be accepted. The function of BS as the QoS manager includes decision-making for the minimum device specifications required for the collaboration. On the other hand, for wireless devices with processing limitation, the manager could also send data to the remaining wireless clients, while considering the minimum capability client. Theory on power control of wireless data has shown that in case of multiple clients transmitting to a particular BS, if all the clients transmit at a power level reduced by the same factor from the original power, the net utility at the target is increased for all the clients [9]. By extending this theory to the adaptive QoS framework, wireless devices with high transmission power capability could reduce their power in a multiple client scenario with the goal of reducing overall interference. This will enable the base station to receive the information from low power clients with lower error rates. For example, if the SIR threshold for image data is at 4db at the base station, while the current target SIR achieved is about 7db, then BS requests the client to transmit at a lower power, which also helps to conserve battery power of the
In figure 9, transmitting power of client A is increased in steps for the same distance of client A and B from the base station. If the devices are capable of changing power of transmission, then it is seen that overall SIR at base station improves (power control and game theory). However, it has been observed that varying the distance is more effective than a variation in power. 6.3.3 Limit on number of clients joining the session Figure 10 depicts that depending on number of clients joining the network via a particular BS, the SIR for all clients deteriorate steadily. For client 2 joining in figure 8, the SIR of client A reduced by 90% and when client 3 joined, the SIR of client A further reduced by 23%. Hence, there exists an upper limit to the number of clients that can join in a session which depends on the range or difference between transmitting power of the clients and the inter-distance between the clients. As the upper limit is approached, no transformation or change with respect to distance, power, or modality will improve performance noticeably.
7. Related Work The adaptive QoS management framework for collaboration presented in this paper builds on application-level
awareness of the current client profile and network parameters. A significant feature of the framework is the consideration of power and channel characteristics for wireless clients that determine the capacity and information processing capability for wireless devices. It has been shown that interference and path gain factors severely limit the wireless device capability to receive multimedia data, especially when multiple users are supported by the base station. Modality transformation at the base-station is one way of increasing the number of clients that can be accommodated. The clients are made aware of the data-type support that the wireless extension can provide for the particular session. If a client receiving only voice or text description, due to path and distance changes can now receive image data, then base station can notify the client regarding this. The UNC-Distributed real-time team [11], in order to realize collaboration support among geographically distributed technical groups forming a virtual environment, apply congestion control and QoS techniques. Their approach is to apply differentiated services based on active routerqueue management and packet scheduling at the link layer and then do media adaptations at the application-end. However the implementation is for a particular application performance on IP-based routing and the results depend heavily on the link layer and router performances. Also the performance cannot be scaled effectively to wireless user ends. The Habanero [4] framework developed at NCSA, UIUC, uses a combination of a “central arbitrator” and “central router” to replicate events amongst collaborating clients. The ’distributed arbitrator’ traps the application events, marshals them and passes them onto the central arbitrator. The central arbitrator then uses the central router to multicast them to other clients. All events are managed, replicated and communicated through a centralized server that houses the central arbitrator and central router. The Garnet collaboration system developed at Florida State University, Department of Computer Science and CSIT (School of Computational Science and Information Technology) uses web portals to achieve collaboration. Collaboration state is maintained using publish/subscribebased services like JMS to maintain a consistent state of shared objects between collaborating clients [8]. They are able to create a peer-like network by exchanging information about all objects being shared, but the actual object is transferred to each client separately. There is a middle adaptor layer between the messaging service and the desktop. HHMS lightweight protocol that makes data compatible with end-device is used to communicate with devices like palmtop. Garnet system work is built on the Tango web collaboratory project at NPAC, Syracuse University. In Tango, they leveraged Java technology to enable collaborative applets to be obtained very easily using web browsers. Their approach is successful in creating the heterogeneous
peer-like environment that is the basis for our framework. Disciple is another ongoing project at Center for Advanced Information Processing, Rutgers University, to achieve adaptive collaboration for wired and wireless platforms using XML as the focus of a data-centric architecture to dynamically adapt data, shared between the devices. The simulation workspace is semi-completed and end-users complete their applications at runtime by selecting and importing task-specific JavaBeans into the Disciple workspace [14]. Other projects included focus on end-to-end aspects of application implementation required in real-time multimedia applications like Video-on-Demand and Distance learning, and others on more general network policy decisions like bandwidth management and congestion control. The wireless devices are being empowered with better processing capabilities with Palm OS, Windows CE, Pocket PC providing development platforms for the different types of handheld devices. Some of the key related projects include the ambitious MIT project Oxygen [15] in which networks connect dynamically changing configurations of selfidentifying mobile and stationary devices to form collaborative regions. This involves developing computational fabrics, which will increase performances for streaming computations while making more efficient use of power. There are a number of research projects trying to address QoS for distributed multimedia systems. Primary areas of research include specification of QoS parameters, level of service based on contracts between user and network, soft state versus hard state, and QoS mapping at the various layers of software to manage heterogeneous demands [3]. The COMET group at Columbia University [21] have put considerable effort in understanding the concept of QoS for multi-service networks carrying multimedia traffic while addressing the network programming for QoS provision in heterogeneous networks. An extension of this involves providing networking solutions to support end-to-end QoS, bandwidth and other resource management, scalability issues, etc. Research frameworks for enabling collaboration address the quality of service issues to some extent, however none address heterogeneity and dynamism in system resources and capabilities and also changes in client profiles arising due to changing interests or requirements. Specific research work regarding wireless and mobile networking issues that should be mentioned are Daedalus/BARWAN project, UC Berkeley where the objective was to combine intelligent, adaptive applications with smart networking software that can multiplex connections over a wide variety of different networking technologies [1] and the Monarch Project, Carnegie Melon University where they developedprotocols for adaptive mobile and wireless networking [13]. More closely related to this paper is the quality event mechanism developed by West and Schwan to guarantee QoS to
users [26]. Service managers perform application-specific monitor and handler functions and use adaptation strategies at CPU and network layers.
8. Conclusion This paper presented the design, implementation, and evaluation of a collaboration framework for adaptive QoS management to support interactive information sharing among distributed and heterogeneous clients. With collaboration being the main initiative for an application to cover heterogeneous grounds, the collaboration framework emphasizes on the clear definition of the objective and the expected results. The experimental results show that correlating QoS based adaptation and network management strategies to collaboration application results in an overall performance improvement. Providing a basic QoS support to all the members of the collaboration enhances the objective of the mutually beneficial session. The client profile in conjunction with a policy driven inference engine is effective in making adaptations to maintain QoS. The evaluation of the framework clearly demonstrates the adaptability of the system over a wide range of compression ratios and ability to interpret and generate image qualities corresponding to widely varying network and system conditions. The base station, which is the gateway to the wireless extension, also acts as the central coordinator. Interplay of power control and data transformation enables successful information sharing with wireless clients.
Acknowledgement The research presented in this paper is based upon work supported by the National Science Foundation under Grant Numbers EIA-0103674 (NGS) and ACI 9984357 (CAREERS) awarded to Manish Parashar.
References [1] H. Balakrishnan and R. Katz. Explicit Loss Notification and Wireless web performance. Proceedings in IEEE Globecom Internet Mini-conference, Sydney, November 1998. http://daedalus.cs.berkeley.edu. [2] P. Bhandarkar and M. Parashar. Semantic Communication for Distributed Information Co-ordination. IEEE Conference on Information Technology, 1998. [3] A. Campbell, C. Aurrecoechea, and L. Hauw. A review of QoS Architectures. ACM Multimedia Systems Journal, 1996. [4] A. Chabert, E. Grossman, L. S. Jackson, S. R. Pietrowiz, and C. Seguin. Java Object-sharing in Habanero. ACM Communications, pp. 69-76, June 1998. [5] D. Chalmers and M. Sloman. A Survey of Quality of Service in Mobile Computing Environments. IEEE Communications survey.
[6] K. Mani Chandy, J. Kiniry, A. Rifkin, and D. Zimmerman. A Framework for Structured Distributed Object Computing. Technical Report, California Institute of Technology. [7] S. Dixit, Y. Guo, and Z. Antoniou. Resource Management and Quality of Service in Third-Generation Wireless Networks. IEEE Communications, pp. 127-132, February 2001. [8] G. C. Fox. Architecture and Implementation of a Collaborative Computing and Education Portal. ERDC Technical report, pp. 2-5, May 2001. [9] D. Goodman and N. Mandayam. Power Control for Wireless Data. IEEE Personal Communications Magazine, April 2000. [10] E. Harold. Java Network Programming. O’Reilly Publishers. [11] K. Jeffay, F. D. Smith, A. Moorthy, and J. Anderson. Proportional Share Scheduling of Operating System Services for Real-time applications. IEEE Real-time Systems Symposium, December 1998. [12] E. Lamboray. Progressive Transmission for Very Low Bitrate Context-based Image Compression. Technical Report, Rutgers University, June 1997. [13] D. Maltz, J. Broch, and D. B. Johnson. Quantitative Lessons from a Full-scale Multihop Wireless Ad Hoc Network Testbed. Proceedings of the IEEE Wireless Communications and Networking Conference, Chicago, September 2000. http://www.monarch.cs.cmu.edu. [14] I. Marsic. Adaptive Collaboration for Wired and Wireless Platforms. IEEE Internet Computing, Vol.5, No.4, pp. 26-35, July/August 2001. [15] MIT Project Oxygen. http://oxygen.lcs.mit.edu/index.html. [16] Modality Transformation Services Program. http://trace.wisc.edu/world/modtrans. [17] K. Nahrstedt and R. Steinmetz. Resource Management in Networked Multimedia Systems. IEEE Computer, May 1995. [18] National network of collaboration. http://crs.uvm.edu/nnco/collab/framework.html. [19] L. Peterson and B. Davie. Computer Networks - A systems approach. 2nd Edition, pp. 488-513, Morgan Kaufmann series in Networking. [20] Publisher-subscriber paradigm. http://www.eecg.toronto.edu/ jacobsen/courses/icde01/index.html. [21] N. Semret, R. Liao, A. Campbell, and A. A. Lazar. Peering and provisioning of differentiated Internet services. IEEE Infocom 2000, Tel Aviv, Israel, March 2000. [22] N. Shaha, A. Desai, and M. Parashar. Multimedia Content Adaptation for QoS Management over Heterogeneous Networks. Proceedings of the International Conference on Internet Computing (IC 2001), Nevada, USA, 2001. [23] J. M. Shapiro. Embedded Image Coding using Zero Trees of Wavelet Coefficients. IEEE Transactions on signal processing, San Francisco, CA, pp. 657-660, 1992. [24] SNMP Documentation. http://www.snmpinfo.com. [25] W. Richard Stevens. TCP/IP Illustrated. Addison Wesley Publication. [26] R. West and K. Schwan. Quality Events: A Flexible Mechanism for Quality of Service Management. Proceedings of the IEEE Real-Time Technology and Applications Symposium, June 2001.
Biographies Rangini Chowdhury received BE degree in Electronics and Telecommunication from Bombay University, India in June 1997.After having worked in software industry for 3 years in India and United States, she pursued study at Rutgers University,Electrical and Computer Engineering in Fall 2000. Currently she is a graduate assistant working in The Applied Software Systems laboratory at CAIP, Rutgers University. Her research interests include Wireless and mobile networking, Quality of Service in distributed multimedia systems. Pravin Bhandarkar received a BE degree from Pune University, India in 1995 and MS from Rutgers University, NJ in 1999.From 1999-2001 he worked for Cisco Systems where he was involved in the development of a product to enable MPLS-VPN services in service provider networks. Currently he works for an optical switching company in NJ. His interests include routing protocols, new services in networks and MPLS.
Manish Parashar received a BE degree in Electronics and Telecommunications from Bombay University, India in 1988, and MS and Ph.D. degrees in Computer Engineering from Syracuse University in 1994. He has received the NSF CAREER Award (1999), TICAM (University of Texas at Austin) Distinguished Fellowship (1999-2001), and Argonne National Laboratory Enrico Fermi Scholarship (1996). He is the program chair of the 3rd IEEE/ACM Workshop on Grid Computing (2002), is a member of the editorial board for “Concurrency and Computation: Practice and Experience” (John Wiley & Sons), and has served on the program committees of over 15 international conferences and workshops. He has co-authored over 70 technical papers in international journals and conferences. Currently Manish is an Assistant Professor in the Department of Electrical and Computer Engineering at Rutgers, The State University of New Jersey. His research interests include parallel and distributed computing, scientific computing, computational collaboratories, and software engineering. He is also a member of ACM and the IEEE Computer Society.