a framework for enabling collaboration over heterogeneous networks

16
A Framework for Enabling Collaboration over Heterogeneous Networks Pravin Bhandarkar and Manish Parashar Department of Electrical and Computer Engineering Rutgers, The State University of New Jersey 94 Brett Road, Piscataway, NJ 08854 USA Email: {pravinb,parashar}@caip.rutgers.edu Abstract A key requirement for enabling collaboration between distributed (wired and wireless) clients in a networked environment, with heterogeneous and dynamic capabilities, is an underlying information and QoS management protocol that can adapt on-the-fly based on the local system and client state, so as to maintain effective information sharing. This paper presents the design, implementation and evaluation of such an adaptive QoS management framework. The framework enables individual clients to locally interpret and transform information to match local resources, client interests and system/network state. The framework is built on an innovative semantic interaction mechanism that 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. Keywords: Adaptive QoS management, Heterogeneous distributed collaboration, SNMP, Information coordination. 1. Introduction Collaboration can be defined as 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 computer-mediated information sharing and decision making in many critical application domains including Medical Telediagnosis, Crisis Management, and Electronic Trading. For example, consider an interaction between paramedics rushing a patient from a distant location in an ambulance, and collaborating with doctors at the hospital on the patient's EKG. In this scenario, the two locations are physically separated and the paramedics are continuously in motion. Furthermore, the paramedics typically have a lower processing capability, lower bandwidth, and a lossy wireless connection, while the doctors at the hospital have relatively high end processing capability; i.e. there is heterogeneity in the collaboration environment. Finally, a specialist's opinion may be needed, requiring her to join the ongoing session (possibly from her home); i.e. the collaboration environment can be dynamic.

Upload: independent

Post on 26-Feb-2023

0 views

Category:

Documents


0 download

TRANSCRIPT

A Framework for Enabling Collaboration over Heterogeneous Networks

Pravin Bhandarkar and Manish Parashar

Department of Electrical and Computer Engineering Rutgers, The State University of New Jersey 94 Brett Road, Piscataway, NJ 08854 USA

Email: {pravinb,parashar}@caip.rutgers.edu

Abstract A key requirement for enabling collaboration between distributed (wired and wireless) clients in a networked environment, with heterogeneous and dynamic capabilities, is an underlying information and QoS management protocol that can adapt on-the-fly based on the local system and client state, so as to maintain effective information sharing. This paper presents the design, implementation and evaluation of such an adaptive QoS management framework. The framework enables individual clients to locally interpret and transform information to match local resources, client interests and system/network state. The framework is built on an innovative semantic interaction mechanism that 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.

Keywords: Adaptive QoS management, Heterogeneous distributed collaboration, SNMP, Information coordination. 1. Introduction Collaboration can be defined as 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 computer-mediated information sharing and decision making in many critical application domains including Medical Telediagnosis, Crisis Management, and Electronic Trading. For example, consider an interaction between paramedics rushing a patient from a distant location in an ambulance, and collaborating with doctors at the hospital on the patient's EKG. In this scenario, the two locations are physically separated and the paramedics are continuously in motion. Furthermore, the paramedics typically have a lower processing capability, lower bandwidth, and a lossy wireless connection, while the doctors at the hospital have relatively high end processing capability; i.e. there is heterogeneity in the collaboration environment. Finally, a specialist's opinion may be needed, requiring her to join the ongoing session (possibly from her home); i.e. the collaboration environment can be dynamic.

The essential requirement for enabling the above collaboration scenario is providing each client with the ability to have direct and immediate access to all information defined by its needs, interests, resources and capabilities. Furthermore, client and network heterogeneity require the ability to locally transform information on-the-fly so that it matches the client’s local capabilities and resources, while maintaining the semantic content of the information for effective sharing. Consequently, supporting collaboration between distributed clients in a networked environment, with heterogeneous and dynamic capabilities requires an adaptive framework for QoS management framework that can react to changing client and system/network states and modify the local information processing. The objective of this paper is to present the design, implementation and evaluation of such a framework for enabling seamless collaboration in distributed wired and wireless environments. The framework is founded on an innovative semantic information coordination model that applies the “pull” knowledge management model to distributed information management. It uses an extension agent based on the Simple Network Management Protocol (SNMP) to determine the state of the network by directly querying network elements. The rest of this paper is organized as follows. Section 2 outlines a typical architecture of a network-based collaboration framework and presents related research in this area. Section 3 presents the semantic interaction and information coordination protocol that forms the basis of our collaboration framework. Section 4 describes the architecture and operation of the adaptive QoS framework. Section 0 presents an experimental evaluation of the framework and demonstrates its ability to adapt to changing systems and client states. Section 6 presents our conclusions and outlines future work. 2. Architectural Overview of a Collaboration Framework

User Interface

Information Transformer

Event Replication

Middleware

Concurrency

Control

Transport protocol

Network Fabric

Figure 1 - Typical Collaboration Framework

Figure 1 1 shows a block diagram of a typical collaboration framework. 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

shows a block diagram of a typical collaboration framework. 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. The user interface of a collaboration framework is a metaphor for the global virtual space through which all the clients of a collaborative session interact. The middleware layer is the most important layer of the framework. Key issues addressed by this layer include: Event Replication: Event replication 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 client's concurrently manipulate the same set of shared objects in the collaboration session. Network Adaptation: 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 [21]. Heterogeneity Management: Heterogeneity management is the process of enabling effective interaction and information sharing among a group of clients with different resources and capabilities. Client interests and capabilities can also be dynamic. For example, in a wireless network, the network capability may change rapidly due to error rate or load on a wireless link. The transport layer mechanisms form the communication architecture in a collaboration session. The underlying communication can leverage the Internet by the use of the Internet Protocol (IP) to exchange information. High volume data to be sent to a group of users poses a unique problem for collaboration. Transport layer protocols such as TCP can be used for systems where the communication is point-to-point between a small number of clients. TCP can ensure high reliability of data delivery but is not scalable. UDP based multicast schemes are more scalable but do not guarantee reliability. Protocols like Real-Time Transport Protocol (RTP) [9] and Real Time Control Protocol (RTCP) together can enable transfer of real-time multimedia data. RTP is used to identify the synchronization source, transfer media data and sequencing support and synchronizing. RTCP identifies the participant, gets the data content, quality of service information, and requests retransmission. A. Related Work Meeting Quality of Service (QoS) guarantees in distributed and heterogeneous systems are an end-to-end issue, and entail interaction between the various software modules to define “contracts” to provide QoS. This requires mapping QoS parameters from the uppermost to the lowermost layer for correct interpretation of user requests. 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]. This section outlines the architectures of important research frameworks for enabling collaboration. Note that none of these frameworks provide adaptive QoS capabilities to address heterogeneity and dynamism in the clients interests and/or system resources and capabilities. The Habanero [9] framework developed at NCSA, UIUC, uses a combination of a “central arbitrator” and “central router” to replicate events amongst collaborating clients. Application events are trapped by the “distributed arbitrator”, who marshals them and passes them to 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 distributed collaborative framework at University of North Carolina [12] uses an approach based on bus-agents. In this framework a central server (a Java remote object), located at a well-known resource within a given Internet domain, maintains a central registry and allows users and other bus agents to obtain remote references to active bus agents. Bus agents wishing to allow initiation of communication by another bus agent or process, must register with the central registry. Info-Bus technology [1] provides a push-pull model for the transfer of events, but is limited to a single machine and does not support distributed sessions. The Tango web collaboratory project at NPAC, Syracuse University [8] leverages Java technology to enable collaborative applets to be obtained very easily using web browsers. The JETS project [20] also uses applet-based collaboration. Clients initiate a session by downloading Java applets from a centralized server. The server maintains a repository of application objects, and replicates various client events using Java object serialization. The server also keeps track of all the clients in a session and can relay information about users joining or leaving a session. The communication between the entities is performed using multicasts. The Infospheres project at CalTech [15] aims at building a framework composed of two units: dapplets which are multithreaded, communicating objects, and sessions which are composed of groups of dapplets. A dapplet handles a message by possibly changing its state and sending messages on its output port. Dapplets are composed together, in parallel, to form a distributed session. 3. Semantic Information Management for Heterogeneous Collaboration A key requirement for real-time systems for collaboration and knowledge sharing for distributed (multimedia) applications (collaborative medicine, strategic battle planning and aerospace simulations) is the definition of an effective and efficient model for information coordination and replication in real-time. A further requirement for heterogeneous clients is the ability to locally interpret the events to reflect the interests, capabilities and resources of each client. The local capability and local resource availability can be determined using different network centric approaches. 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.

Figure 2 - Semantic Interaction Model

Client

Client 2

Semantic Interpreter

Interpreted Message

Client Profile

Object

Semantic Interpreter

Message + Semantic-Selector

Message

State-based Multicast

Object

Information Transformations

Semantic information management (SIM) [18] is a new approach for information coordination and replication to support real-time collaboration amongst heterogeneous, distributed and dynamic application clients. This approach implements the “pull” distributed interaction model using semantically enhanced events and state-based [2] communication techniques. In this scheme, each client 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. In this formulation, clients can freely join or leave sessions, and are liberated from static sites and complex tracking protocols, allowing them to migrate freely and utilize available resources.

State-based interaction techniques are the application of semantic content-based resolution techniques, used by the naming service, applied directly to the run-time interaction between clients. The overall approach is summarized in Figure 2. Each client in a collaboration session will locally export a “profile”. A client’s profile is a mutable set of attributes that specify its type,state, interests, current network state and capabilities. Profiles are maintained and modified by clients to reflect their current interests. All 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.

Reject

(Video,Color,JPEG,2MB)

(Video,B/W,NoEncoding,3MB) (Video,Color,Mpeg2,1MB)

Semantic Selector

Accept

Accept with transformation

Profile 2

Profile 1

(Video,Color,Mpeg2,2MB)

Profile 3

Figure 3 - Semantic Interpretation

Figure 3 illustrates the semantic interpretation process. 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 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. Heterogeneity management in collaboration enables shared information to be intelligently transformed so that it matches the client’s local capabilities and resources, and yet maintains semantic contents for effective sharing. SIM manages client heterogeneity by information reduction and transformation, using information transformation modules. For example, a client with a hearing disability can require speech information to be transformed into text. This can be achieved by appropriately setting the client’s profile expression. Similarly, a mobile client collaborating on a video stream may to conserve battery power[19] by adapting the amount of video information received. Clients control their own profiles and can add, delete or modify attributes in the profile at any time. The modification of a profile is an atomic action with respect to its matching with a selector. The only global knowledge upon which such an interaction depends is the program-specific meanings of the attributes. This implies that all clients have information about possible application objects that can participate in a session and their states; information inherently known to all clients

4. An Adaptive QoS Framework Heterogeneous Distributed Collaboration

Communication Module

Multicast Communication Substrate

System State

Interface

Application Interface

Inference Engine

Client State

Profile Information Transformer

User Interface

Figure 4 – Adaptive QoS Framework for Collaboration

Figure 4

presents a schematic overview of the adaptive QoS framework for heterogeneous distributed collaboration. The essential components of this architecture are the user and application interface, the interaction protocol, the adaptive network management module, and the multicast communication substrate. These components are described below. A. Multicast Communication Substrate The communication substrate consists of a pair of multicast channels: the first is used for control messages while the second is used for large data (image) messages. Maintaining two separate channels prevents control messages from being blocked by larger data messages. The multicast channel pair is created when a new collaboration session is created. Clients logging on to an ongoing session subscribe the existing multicast channels. Note that multicast communications use UDP packets for transmission and do not provide any reliability [7][22]. Consequently, we built an additional layer on top of the communication substrate to ensure reliable and ordered transmission of information packets. Control messages are typically very small and can be transmitted in a single (1 Kbyte) packet. These messages are delivered with minimum or no losses. Data messages containing information such as images, are typically high volume and require transmission of many packets. Reliable and ordered delivery of these packets is critical for successful replication of the data at a collaborating remote client. We use a simple scheme to achieve this. Each outgoing packet is tagged with a sequence number before transmission on the multicast channel. The sequence numbers of incoming packets are checked at the remote site. This enables us to detect out-of-order arrival of packets or packet drop owing to congestion. In the current framework, high-volume data traffic primarily consists of images that are using our

collaborative image viewer. As these images are segmented before transmission, we drop out-of-order packets and use the good packets to construct the image (possibly at a lower resolution). This allows us to avoid elaborate flow control schemes requiring retransmission and the associated overheads, which is critical as late arrival can render the data meaningless. B. Inference Engine, System State Interface and Client Profile The ability to adapt the quality of service 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 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 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 constraints on these parameters. These user-entered rules define a QoS “contract” that needs to be satisfied by the inference engine. The inference engine uses its policy database to locally interpret incoming “semantic selectors”. Interpretation determines whether the incoming information is of interest to the client or not, whether the client is capable of receiving the information, and what transformations (if any) need to be applied to the information to satisfy the client’s profile. For example, the resolution of an incoming image may be reduced to match the client’s resources or the available network bandwidth. Similarly, incoming textual information can be transformed into speech if the profile specifies that the client has chosen speech as the preferred modality. C. 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, without any knowledge of the current membership of this group, or the interests or capabilities of other clients. The receiver component monitors incoming messages and extracts their semantic selectors, which are used to locally process the message.

D. 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. Such a translation is critical for enabling collaboration across heterogeneous clients and interconnects 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 [6][11]. 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 thus 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. E. System State Interface The system state interface is a generic component that encapsulates the state of the system. This includes CPU load, memory available, network bandwidth, latency and jitter. The network state interface is a specific implementation of this generic component. The system/network state interface is implemented using the Simple Network Management Protocol (SNMP) [21], 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). In our Windows NT based implementation we use Windows NT SNMP [13].

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 NT hosts, we built a specialized extension agent that runs on each host and continuously obtains management data. This data is then forwarded to management stations upon request.

1) SNMP manager The manager is an SNMP-based network management application running under the Microsoft Windows NT4, using WinSNMP API [23]. 2) Extension Agent using NT SNMP Managed devices such as hosts and routers contain monitoring and possibly control instrumentation. The NT extension agent represents the managers access to this instrumentation (via a MIB), filtered by the SNMP security mechanisms. The manager communicates with the NT agent via SNMP to monitor and control managed hosts. The agent is based on the Microsoft SNMP Extension API which provides the basic functionality for communicating with the SNMP service[5]. F. User and Applications Interface A clients local user interface (UI) represents a global virtual space where all the clients in the collaboration session interact. Locally generated events are transparently transformed into event in the virtual space and are visible to all clients interacting in this space. Similarly, remote events are transparently made visible to the local client. Our current implementation of the UI has three modules, viz., chat area, image viewer and whiteboard, as shown in . Figure 5The chat area is built using Java AWT and its keyListener interface. Keyboard events in the chat area are intercepted by the UI, and on construction of a sentence (marked by a carriage return), the sentence is multicast using the control multicast channel. Transmitting sentences rather than individual characters reduces the amount of communication and lowers processing overhead.

Furthermore, corrections can be made locally and do not have to be transmitted. The whiteboard implements a collaborative workspace in which users interact by writing or drawing. Our implementation of the whiteboard uses the semantic interaction model to enable selective filtering events based on interests. For example, if a user is currently interested in a particular type (color, line type, etc.) of drawings, only those whiteboard events that are associated with the type of interest are processed; all other whiteboard events are automatically filtered out at the communication interface. The image viewer module enables users to collaboratively view images. When the local client loads an image, the image data is encoded and multicast to other users in the collaboration session. The image viewer uses progressive transmission using context based image compression.

Chat Area Image Viewer WhiteBoard

Figure 5 - Collaborative User Interface

The UI is coupled to the adaptive framework using the application interface. This component is responsible for locally orchestrating an application client’s collaboration session. It monitors all local objects 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. The implementation of the user and application interface is Java based and enables users to leverage the elaborate Java delegation-event model [17].

G. Framework Operation

User logon

9

8

Client State System State

Client Profile

1

2 3

4

System State Interface

Inference Engine

5

7

6

8

Agent Component

Communication Module

Information Transformer

Figure 6 - Components for Adaptive QoS Management

Figure 6The QoS framework uses policies and system/client state information to adapt information

processing to heterogeneous and dynamic environments. shows the interaction between the various components of the adaptive QoS management framework. The user sets the local client preferences, which are encoded in the client state. The user indicates network parameters that define system state. Possible parameters include router bandwidth, CPU load, page faults and the battery level for mobile system. These parameters are monitored by the WinSNMP manager by querying local and remote network agents. The client and system state together form the local profile. The inference engine maintains policies for adaptation and information interpretation. Depending on the current profile and the user encoded policies it decides on the information transformation to be applied to the incoming data. A typical sequence of events is shown in Figure 7 and described below. 1. The user logs on and subscribes to the data and control multicast channels. 2. User interests are used to construct the client state. 3. The user indicates the system/network parameters that will define the system state. 4. Client profile is constructed as a combination of the client and system state, and is updated

whenever user interests and/or system parameters change. 5. The system state manager obtains the network element to be queried. 6. The communication module receives the incoming event and notifies the manager. 7. The manager queries the network element and obtains the SNMP parameter from the agent. 8. Client profile and the current condition of the network element of interest is forwarded to the

inference engine

9. Inference engine decides on the information transformer to be applied.

Inference Engine

System State Interface (Manager)

Client State + System State

NT SNMP Extension Agent

Information

Remote Network Element Agent

User Interface

Figure 7 - Sequence of Events

5. Experimental Evaluation of the SIM Architecture To demonstrate the adaptability of the collaboration framework with dynamically changing system conditions, SNMP parameters on the host and the image viewer performance were monitored. The experimental set up consisted of three NT work stations. The objective of the experiment was to determine the behavior of the image viewer software by plotting the compression ratios, the number of packets received and the quality of image (bits per pixel) versus the SNMP parameters obtained from the local hosts. The two SNMP parameters monitored were the number of page faults and the CPU load. A. The Image Viewer Parameters versus the Page Faults Figure 8 shows the adaptability of the framework to changing conditions on the host. These measurements indicate that as the number of the page faults increases the number of image packets that can be processed at the local host decreases. The numbers of packets vary from 1 to 16 in powers of 2 corresponding to page faults varying from 30 to 100. The exact number of packets is dynamically determined by the inference engine based on current system state. It can be seen that as the number of packets decreases (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 quality of the image, this parameter decreases as the number of packets decrease. 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.

Compression Ratio vs Page Faults

3.6 5.4 16.3

65.5

131

0

50

100

150

30 50 70 90 100Page Faults

Com

pres

sion

Rat

e

CompressionRatio

Bits per pixels vs Page Faults

2.1 1.91.4

0.3 0.10

1

2

3

30 50 70 90 100Page Faults

Bits

Per

Pix

el

Bits per pixel

No of Packets vs Page Faults

16

84 2 10

5101520

30 50 70 90 100

Page Faults

No.

of P

acke

ts

No of Packets

Figure 8 - Image Viewer Parameters versus Page Faults

A. The Image Viewer Parameters versus the CPU Load Figure 9 shows the BPP, compression ratios of the images and the number of packets versus the CPU Load. The number of packets and the BPP decreases as the CPU load increases and the compression ratio correspondingly increases. The CPU load varies from 30 to 100 percents results in a drop in the number of image packets accepted from 16 to zero. The exact number of packets is again dynamically determined by the inference engine based on current system state. The corresponding variation in the BPP is between 14.3 and 0.7 and the compression ratio vary between 1.6 and 32.7. From the above two experiments it can be clearly see that it possible to obtain a wide range of compression ratios and quality of images to adapt different network/ system state parameters. 6. Summary and Conclusions

This paper presented the design, implementation and evaluation of an adaptive QoS management framework to support collaboration among distributed heterogeneous (wired and wireless) clients. The framework uses the current state (resources, capabilities and limitations) of the system/network, and the current interests of the client, to construct a client profile. This profile is used in conjunction with a policy driven inference engine to manage and adapt application QoS. Adaptation policies as well as mechanisms are programmable. The framework architecture is implemented using lightweight JAVA components and uses SNMP (WINSNMP and NT SNMP) to obtain system/network state. The framework is experimentally evaluated using a collaborative image viewer application. The evaluation clearly demonstrates the adaptability of the system over a wide range of compression ratios and image qualities corresponding to widely varying network conditions.

Compression Ratio vs CPU Load

1.6 10.9 16.332.7

100

020406080

100

30 50 70 90 100

CPU Load (%)

Com

pres

sion

R

atio Compression

Ratio

Bits/Pixel vs CPULoad

14.3

2.2 1.4 0.7 00

5

10

15

30 50 70 90 100

CPULoad (%)

Bits

Per

Pix

el

Bits per pixel

No of Packets vs CPU Load

16

84 2 00

5101520

30 50 70 90 100CPU Load (%)

No.

Of P

acke

ts

No of Packets

Figure 9 - Image viewer parameters versus CPU load

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] “The Info Bus Specification,” available at

http://java.sun.com/beans/infobus/ibspec.html.

[2] B. Bayerdorffer, “Distributed Programming with Associative Broadcast,” Proceedings of the 27th Annual Hawaii International Conference on System Sciences. Volume 2: Software Technology (HICSS94-2), Wailea, HW, USA, pp.353-362, 1994.

[3] A. Campbell, et al., “A review of Qos Architectures,” ACM Multimedia Systems Journal, 1996.

[4] Common Object Request Broker Architecture - http://www.omg.org.

[5] D. Perkins et al., “Understanding SNMP MIB's,” Prentice Hall, Nov. 1996.

[6] E. Lamboray, “Progressive Transmission for Very Low Bit-rate Context-based Image Compression,” Technical Report, Rutgers University, June 1997.

[7] E.R. Harold, “Java Network Programming,” O'Reilly Publishers.

[8] G. Fox et al., “Tango - A Collaborative Environment for the World Wide Web,” Technical Report, NPAC Syracuse University, Syracuse NY.

[9] Habanero - http://havefun.ncsa.uiuc.edu/habanero/Whitepapers/ecscw-habanero.html.

[10] H. Schulzrinne, “Real Time Transport Protocol,” MCNC 2nd Packet Video Workshop, vol. 2, (Research Triangle Park, North Carolina), Dec. 1992.

[11] J. M. Shapiro, “Embedded image coding using zerotrees of wavelet coefficients,” IEEE Transactions on signal processing, San Fransico,CA, Pagers 657-660,1992.

[12] J. Munson, “Collaboration Bus Infrastructure: Bus Agents,” http://www.cs.unc.edu/~munson/DARPA/busagent.html.

[13] J. Murray, “Windows NT SNMP,” O'Reilly publishers, January 1998.

[14] J. Farley, “Java Distributed Computing,” O'Reilly Publications.

[15] K. Mani Chandy, J. Kiniry, A. Rifkin, and D. Zimmerman, “A Framework for Structured Distributed Object Computing,” Technical Report, California Institute of Technology.

[16] A. Silberschatz, H.F. Korth, “Database Systems Concepts,” 2nd edition, 1991.

[17] M. Campione, K. Walrath, “The Java Tutorial,” http://java.sun.com/docs/books/tutorial/.

[18] P. Bhandarkar, M. Parashar, “Semantic Communication for Distributed Information Co-ordination,” IEEE conference on Information technology, 1998.

[19] P. Agrawal et al., “Battery Power Sensitive Video Processing in Wireless Networks,” PIMRC'98.

[20] S. Shervin, J.C. Oliveira and N.D. Georganas, “Applet-Based Telecollaboration: A Network-centric Approach,” IEEE Multimedia, Spring/Summer 1998.

[21] SNMP Documentation, http://www.snmpinfo.com.

[22] W. Richard Stevens, “TCP/IP Illustrated,” Addision Wesley Publication.

[23] WinSnmp Documentation, http://www.winsnmp.com.