v1.8beta Wed Dec  2 02:08:14 PST 1992

Fixed stupid bug where I was deleting locally created sessions
after the hold time because sd never heard an advertisement
(it should never hear someone else advertising locally created
sessions!).  Fixed an Interviews scrolling bug that caused
Steve Deering's sd to coredump.


v1.7beta Tue Dec  1 09:53:46 PST 1992

Fixed TCL library to do a fork correctly (you'd think they would
have figured this out by now...)


v1.6beta Tue Dec  1 07:09:14 PST 1992

First "real" release.  Major changes (details below):

 - sessions are now created with a lifetime and are deleted at
   the end of their life or if no announcement is heard for 2 hours.

 - caching has been implemented

 - session startup is user programmable (via TCL scripts).

 - there is a 'delete' button to delete sessions.

 - the session list window is kept sorted.

 - "nv" is started with a "-ttl" argument.

Details:

'Lifetime' can (must) now be specified when creating a new session
(lifetime defaults to two hours starting "now").  Every 30 minutes,
sd scans all the sessions it knows about and deletes any that
have expired.  (The 30 minute time can be changed by setting the
X resource "sd.ScanTime" to the number of minutes between scans.)
In addition to purging expired sessions, sd will delete any
sessions that it hasn't heard advertised for two hours.  (This
interval can be changed by setting the X resource "sd.HoldTime"
to the number of minutes to hold onto unadvertised sessions.
If you set sd.HoldTime to 0, unadvertised sessions will be kept
until they expire or are manually deleted.)

Since there is now a lifetime to make obsolete sessions go away,
caching has been implemented.  Whenever you create a session all
info about it is recorded in ~/.sd_cache.  When you quit sd, all
sessions currently known are recorded in ~/.sd_cache.  When sd is
started, it reads ~/.sd_cache, displays all the sessions it finds
there, and advertises any unexpired sessions that you created.

The actions taken to start a new session are no longer wired into
sd -- they're controlled by a TCL script that the user can replace
or customize.  The default script is part of sd (for reference
purposes, the code is given in the file "sd_start.tcl" supplied
with this distribution).  But, if the file "~/.sd.tcl" exists, it
will be read when sd starts and it can override or augment any
part of the default script.  [For (very sketchy) notes on this,
see the file "sd_start.tcl" and get the tcl documents from
sprite.berkley.edu:pub/tcl/*.ps.]

There is now a 'delete' button that deletes the currently selected
session.  If the session is not one you created, all this does is
delete the line from your sd window (the line will re-appear if
you receive another advertisement for the session).  If the session
*is* one you created, it will be deleted from your window and from
you cache and sd will stop advertising it.  I.e., it will be 
*gone*.

----------------

v1.0beta Sat Nov 14 23:15:03 PST 1992
Van Jacobson, van@ee.lbl.gov

This is the first release of the LBL "Session Directory" (sd).

Sd provides:

 - A dynamically updated list of available sessions (e.g., vat
   audio conferences, nv or ivs video conferences,
   LBL whiteboard conferences).

 - An easy way to join any available session(s).

 - An easy way to create and advertise new session(s).


USING SD
--------
To use sd, just type "sd &" (i.e., run it in the background).
You should see an X window with two panes & some buttons across the
bottom.  If you leave sd running, the top pane should slowly fill
with session names (session announcements are made infrequently so
announcements won't take up all the available network bandwidth).
If you click on a session name, information about the session
will appear in the bottom pane.  If you double click on the name
(or click on the "open" button), sd will start up the appropriate
tools for the session (vat, nv, ivs and/or wb).

  NOTE: There are two versions of the sd binary in the distribution
	tar file:  "sd" is a dynamically linked sparc executable and
	"sd.static" is a statically linked sparc executable.  If
	you have any trouble with "sd", try "sd.static".


CREATING A NEW SESSION
----------------------

  NOTE: You *must* type a carriage return to terminate typing input --
	just clicking the cursor on a button or in a different box
	will not work.	(We agree that you shouldn't have to type
	the return but this is a beta version of the program &
	we haven't had time to fix that part of it yet.  Soon.)

If you want to create a new session, click on the "New" button.
A dialog box with a lot of blanks to fill in will pop up.
Click in the "Name" box and type a session name then hit carriage
return (the cursor should move to the "Description" box), type
in a description of the new session and hit carriage return.
The "Create" button should light up & the bell will ring.
This means sd has enough info to create the session.  If you
hit "Create" now, a new multicast audio session will be created.
However, before hitting "Create", you might want to modify some
defaults that sd has picked for the new session.

By default, sd chooses a unique, non-conflicting multicast address,
port and conference ID for the session.  (These are selected when
you open the new session window.)  If you would rather use your
own address, port or conference ID, click in the appropriate box
and type it in (the automatically assigned address will disappear
as soon as you click).  The address can be either an IP address
or DNS name.  Port and ID must be integers in the range 1 to 65535.

By default, only "audio" media is selected for the session.
If you want to announce that the conference contains video and/or
a whiteboard, click on the checkbox to the left of the media name.
If you click on the media name (as opposed to the check box) a
menu will pop up that lets you select media "attributes" (e.g.,
pcm/gsm/lpc audio encoding, ivs/nv video).

The box marked "Scope" lets you select the "scope" (multicast ttl)
of the session.  "Site" is a ttl of 16, "Region" is a ttl of 32
and "World" is a ttl of 127.  If you want to use some other ttl,
click on the bottommost scope button & type in a number between
0 and 255.


POSSIBLE PROBLEMS
-----------------
If you try to open a session with audio media, sd will try to
start up vat.  If "vat" is not in your search path or has a
different name, if will appear that nothing has happened.  If
you use vat for audio conferencing, make sure it's in your
shell search path.  If you use something else for audio conferencing
(e.g., nevot), make a shell script called "vat" to invoke it.

If you try to open a session with video media, sd will try to
start up "nv" is the "nv" attribute was set on the session and
"ivs" otherwise.  If you want to start up video sessions with
sd, make sure nv and/or ivs are in your search path.

You probably don't have the LBL whiteboard (since we haven't
done a general distribution yet).  If someone sets "whiteboard"
media on a session, sd will try to start up the program "wb".
If there's something named "wb" in your search path, this
attempt may cause problems.  If you start sd with the flag "-w",
it will not attempt to execute "wb" even if a session requests
a whiteboard.  Note:  There are similar flags for audio and video
-- "sd -v" will not attempt to start video sessions and "sd -a"
will not attempt to start audio sessions.

--------

That should be enough to get you started.  Please let van@ee.lbl.gov
know of any problems, suggestions, etc.  Thanks.

 - Van Jacobson
