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 |