Sangmi Lee ( slee@csit.fsu.edu )
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.
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.
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.
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/.
|
|
|||
|
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 |