Evaluation of Shared Display in Anabas and VNC

 

                                   Sangmi Lee    ( slee@csit.fsu.edu )

 

 

 

  1. Introduction

The Anabas is an e-Learning and Collaboration tool in the Internet environment based on the JMS(Java Message Server) with the i-bus technology. The VNC (Virtual Network Computing) is a remote display system allows universal access from users.

These two systems have simple protocols for their data communication. They have similar data structures but developed on different data communication architecture. Comparing to the general TCP/IP used by the VNC, the JMS that is the basic architecture of the Anabas system offers effective communication structure. This evaluation will focus on the comparing the shared display of the two systems, and evaluate them also.

 

 

 

  1. Network Communication Architecture

 

      2.1 Anabas

 

Since Anabas is developing their collaboration system over the iBus, the network model of Anabas is keeping the JMS specification. It has structure of Publish / Subscribe model, and multicasts the messages to any number of recipients. I includes the feature of reliable IP multicast enabled, and selectable quality of service (QoS). It is fully fault-tolerant.

Since the Anabas is programmed in Pure JAVA, the portability is offered for the various platforms.

 

 

2.2 VNC

 

The VNC operates over any reliable transport such as TCP/IP, and it is basically point-to-point network. Each client uses different port number and each platform is accessible via pre-defined port. Thus, the server should open the connection for each client and send image even if they are sharing all of the same images. The VNC is the multi-platform based system, and there are Windows, Unix, Macintosh, and WindowsCE versions.   

 

 

 

 

 

  1. Image Processing

 

3.1 Anabas

 

3.1.1 Graphic File Format

The Anabas Shared Display protocol supports the bitmap file format. The pixels are stored in the same order as in a BMP file.  Basically the last scanline appears first in the buffer.  And it is currently rendered
bottom to top via the StretchDIBits Win32 call. 

           

      3.1.2 Incremental Update

During each application sharing the contents of the window are dynamic. Shared Display from Anabas incrementally updates only those portions of the screen that have changed.

 

3.1.3 Data Compression Scheme

The compression sceme used is RLE. The RLE compression has three part of Copy,Repeat, and EndofData. Each chunk is preceded by 16-bit value that indicates both the type of chunk and the size.

 

 

3.2 VNC

 

3.2.1 Graphic File Format

All images from the VNC server are in bitmaps. The VNC simply works with a server to update the framebuffer displayed on a viewer. Because it works at the framebuffer level it is potentially applicable to all operating systems, windowing systems and applications.

 

3.2.2 Incremental Update

When the VNC client or server is sharing the contents of the window or events VNC incrementally updates only those portions of the screen that have changed. VNC has a variety of different encoding schemes for the pixel data, and it can select the appropriate scheme for each rectangle the server sends, and make the most of network bandwidth, client drawing speed and server processing speed.

 

3.2.3 Data Compression

The Visual C++ version of the VNC does not support any data compression. But the JAVA version of the VNC supports JPEG compression scheme.

 

3.2.4 Adaptive update protocol

The update protocol is demand-driven by the client. That is, update is only sent by the server in response to an explicit request from the client. This gives the protocol an adaptive quality. The slower the client and the network are, the lower the rate of updates becomes.          

 

 

 

  1. Event Handling

 

4.1 Anabas

 

Anabas allows the users to share their events such as keyboard input or mouse moving. It concerns the image updating as a type of an event. And it let the users select the mode of collaboration. For instance, user A and B can share a mouse event, or only one of them handles the mouse event and another user shares display only. Besides, each user can have their own mouse pointer on the shared display, and they handle their own mouse event.  

 

 

4.2 VNC

 

VNC also allows the users to share keyboard and mouse event. But there are only one mode of event. That is, there is only one moving mouse pointer on the shared display.

The VNC controls all of the mutual exclusion problems by their library, “Omni-thread”, which is available at http://www.uk.research.att.com/vnc/.

 

 

 

 

Appendix.   Shared Display in Anabas Vs WebEx Vs VNC

 

        WebEx

       Anabas

         VNC

Graphic File   

Format

Vector Graphics

 

Bitmap file

Bitmap file

Network Communication

Multi-point And Point-to-point

Multi-point (IP Multicast enabled)

Uni-Cast only

Update Method

Incremental

Incremental

Incremental

Compiler

Unknown

Pure JAVA

Visual C++ 6.0

JAVA

Data Compression

Yes (Unknown)

Yes (RLE)

No

Platform

Windows 2000

Independent

Independent

Universal Access

 No

Yes

Yes