JavaTM Shared Data Toolkit (JSDT)

Frequently Asked Questions

    Q1. What is collaborative computing?
    Q2. What is JSDT?
    Q3. Who is JSDT intended for?
    Q4. Why officially release JSDT now?
    Q5. Why is it JSDT 1.4?
    Q6. Who helped develop JSDT?
    Q7. Is JSDT 100% Pure Java.
    Q8. What platforms does JSDT support?
    Q9. Where can I get JSDT from?
    Q10. How do I feedback problems and bug reports on JSDT?
    Q11. Why can't I get the JSDT examples working with LRMP?
    Q12. Are there any debugging facilities in JSDT?

Q1. What is collaborative computing?

[Thanks to John Tang for the basis for this answer].

Collaborative computing means different things to different people. Some of the areas covered are:


Q2. What is JSDT?

The JavaTM Shared Data Toolkit (JSDT) implements a multipoint data delivery service for use in support of highly interactive, collaborative, multimedia applications.

It provides the basic abstraction of a session (i.e., a group of objects associated with some common communications pattern), and supports full-duplex multipoint communication among an arbitrary number of connected application entities -- all over a variety of different types of networks.

In addition, this toolkit provides efficient support of multicast message communications. This is accomplished by way of a single send method, and allows the user to define whether or not uniformly sequenced reception of data at all receiving locations is required.

The ability to create shared byte arrays and get and set their values is also provided to session members.

A token-based distributed synchronization mechanism is provided, which can be used to ensure mutually exclusive access to a resource, to perform distributed, multi-application, atomic signalling, etc.

Four implementations are provided:


Q3. Who is JSDT intended for?

JSDT could be used to help develop any collaborative application that needs to share data amongst one or more users. Some such examples are:


Q4. Why officially release JSDT now?

JSDT (and its predecessor JSDA) have evolved into a toolkit that makes it easier for developers to write collaborative applications in Java. There has been a lot of interest in this toolkit, and with the feedback we have received over the last few months, we now believe it is something that should be officially supported.


Q5. Why is it JSDT 1.4?

JSDT 1.0 was released as a technology release through the early access pages of the Java Developer Connection on java.sun.com. There were three updates (JSDT 1.1 through to JSDT 1.3). These releases helped us determine the direction future development on the toolkit should take.

JSDT 1.4 is the first officially supported version of this toolkit.


Q6. Who helped develop JSDT?

The author of JSDT is Rich Burridge.

The toolkit has borrowed text, ideas, and definitions from the ITU T.122 recommendation for Multipoint Communication Service for Audiographics and Audiovisual Conferencing Services Definition.

It's definition has received input from a lot of people to whom I'm very grateful. These include:

Duane Northcutt, Alan Ruberg, Randall Smith, Bo Begole, Craig Struble, Ed Grossman, Trevor Morris, Tom Rodriguez, Brian Knep, Daniel Enting, Christopher Nicholas, John Patterson, Eduardo Pelegri-Llopart, Rolande Kendal, Kevin Solie, Justin Couch and various members of the ShowMe team at SMCC.


Q7. Is JSDT 100% Pure Java?

Yes. It it has been certified by KeyLabs as 100% Pure Java.


Q8. What platforms does JSDT support?

Because it's 100% Pure Java, JSDT should work with any implementation of JDK 1.1 (and beyond). It has only been tested by the author on Solaris 2.x, Windows 95 and Windows NT 4.0 though.


Q9. Where can I get JSDT from?

JSDT is available via its official home page.

Please follow the links provided on that page.


Q10. How do I feedback problems and bug reports on JSDT?

E-mail the information to jsdt-interest@sun.com.

Before you send us a bug report or feature request, please check the JSDT known bugs/issues to see if this bug/issue is already known.

If you think you have something new, please e-mail us with the following information:

If we need any additional information we will contact you.


Q11. Why can't I get the JSDT examples working with LRMP?

The LRMP version of JSDT requires you to have downloaded LRMP from:

    http://webcanal.inria.fr/lrmp/index.html
and to have added the LRMP lrmp.jar file to your CLASSPATH.

If you are running on a Windows platform, then your PATH environment variable needs to include the Java class directory.

Make sure that you are starting the LRMP version of the JSDT Registry. This is started with:

java com.sun.media.jsdt.lrmp.Registry -port 4561

You also need to make sure you are using multicast addresses with the -server command line option when starting the examples. For example, the whiteboard server application should be started with something like:

java examples.whiteboard.WhiteBoardServer -server 224.1.2.3 -port 4466 -type lrmp
and the whiteboard user application should be started with:
java examples.whiteboard.WhiteBoardUser -width -height 350 -server 224.1.2.3 -port 4466 -type lrmp

Q12. Are there any debugging facilities in JSDT?

The JSDT package and each of the implementations have been adjusted to use two static boolean variables: "showMessage" and "showStack". If an exception occurs, and "showMessage" is set to true, then an exception message will be printed to stdout. If "showStack" is set to true, then a stack trace will be printed to stderr.

By default, both of these booleans will be set to false. To set them to true, add the following lines at the beginning of your JSDT app:

com.sun.media.jsdt.impl.JSDTObject.showMessage = true;
com.sun.media.jsdt.impl.JSDTObject.showStack = true;

JSDT Frequently Asked Questions/richb@stard.Eng.Sun.COM