Whiteboard

 
 

An OLE flipchart for networks using multicast RPCs

Overview

Whiteboard is designed for a group of people to work together on the same piece of electronic paper. You can draw simple graphics, write text and do this all in every color you want. All this is sent to the other participants in a bandwidth-saving manner to reduce network load. Furthermore you can embedd OLE-objects in these documents. Only a representation of those is sent to the others, and only upon demand the (maybe very big) complete object is sent.

Moreover, as many pages as you want are supplied, so you can group your ideas and objects. For easy finding of objects, there is an additional small view where always the complete page is shown. This view can be resized to meet your requirements.

Of course, loading and saving of documents, print preview and printing is also included.

Drawing

For drawing simple objects following types are supplied: rectangles, ovals, lines and text. All of these can be changed in their color and rectangles and ovals can additionally have an alternate outline-color. All these objects can be manipulated by Drag&Drop and can be resized. With the right button of your mouse you have access to all operations available on the object you selected.

OLE

As mentioned above, you can insert OLE-objects into the Whiteboard. As for simplicity and problems, when the server is not available, OLE objects can be embedded, but no linking is allowed. To avoid inconsistency, only one participant may modify an embedded object at a time. This is enforced by using a locking-mechanism. As these objects can be very large, one the icon is transferred to all the participants as a metafile. If someone wants to open and edit the object, it has to be fetched before, which is done automatically if its not done already. Upon closing the object, all copies on other computers are replaced by the iconic representation, so that inconsistencys are avoided.

Network connectivity

The program is divided into two sections: The Exchange-Server (who stores the whole document and distributes it to the clients) and the Clients (which provide visual interpretation of the data the Server provides to them. To minimize network-load it is advisable, that the server runs on the same computer as one of the clients (which should be the logical master, who saves and loads documents). This is no necessity, but as for saving a document its data has to be local, if it must be sent in complete to some distant computer thius may take some time if OLE-objects are embedded.

To provide minimum security, you can configure the server to allow only certain computers to join the group. If a computer is not in this list, he will not receive and display the data.

Implementation details

The program runs under Microsoft Windows NT 3.51 and higher (Workstation or Server) and has been tested on Intel, Alpha and Mips-computers. As some required network-functions are not supported by Win95, therefor no such version is available.

Whiteboard uses RPCs (Remote Procedure Calls) for communication between client end server. Two clients cannot communicate directly, they must use the server. For sending data from the client to the server the TCP/IP-protocol is used for save and reliable transmission of data of any length. As to save network bandwidth, the communication from the server to the client is handled differently. Those messages are sent by the UDP/IP-protocol as broadcasts.

This brings you some disadvantages, as you can only send about 900 Bytes of data per RPC over UDP/IP because of the packet length. This means, you have to do splitting of larger messages and controlling, wether all of the message parts arrived or not. This means, what you get for free with TCP/IP you have to do manually by UDP/IP.

In future versions it is planned to replace the UDP/IP-Broadcasts by Multicasts over Socket-Calls. This means yet more mixing of technologies (RPC - Socket calls), but it would be an extension into future technologies with an appropriate example.

Screenshots

Credits

This program is the result of a practica at the FIM, Johannes Kepler University Linz.

It was created by Michael Sonntag with support and under guidance from Gerhard Eschelbeck, Assistant at the FIM.

Downloads

 
 

  Homepage  Professional  Courses  Personal  Contact  Sitemap  Search