Subject: Some fuzzy wording in the SAP spec

From: Ross Finlayson <[email-masked]>
Date: Fri, 26 Feb 1999 09:09:06

I'm not sure what the status of the SAP spec is these days, or who's
working on it, but from reading the version at
<ftp://ftp.isi.edu/confctrl/docs/draft-ietf-mmusic-sap-00.txt> - the only
version I could find - I noticed some unclear wording that should be fixed
before the spec advances further.

The issue concerns the method that a SAP announcer uses to compute the
delay between successive announcements for an advertisement.

The spec curretly says:

"The time period between one announcement and its repetition is dependent
on two factors - the scope (TTL) of the session, and the number of other
sessions currently being announced by other session directory instances."

[This is OK]

Then later,

"Session announcers in the same scope band can normally  be  expected  to
hear  your announcements, and reduce their data rates accordingly.  Thus
you should calculate the available bandwidth for  your  session's  scope
band  by  dividing  the  appropriate  limit above by the number of other
                                                                   ^^^^^
announcers in your scope band.  This gives you  your  bandwidth  alloca-
^^^^^^^^^^
tion,  which, given the size of your data packets, can be used to derive
the base interval for announcements."

The problem is the phrase "other announcers".  Instead, it should be
"different advertisements (including your own)".  Note that the formula
following this:

         interval =MAX(300, (8*no_of_ads*ad_size)/limit)

is correct, because it uses a variable named "no_of_ads".  It would be
clearer, however, if the formula referred directly to the "available
bandwidth" (say, B) that was defined above; this would make the formula:

         interval =MAX(300, (8**ad_size)/B)

A second, related issue that needs to be clarified in the spec concerns how
to handle the case where the same announcement is being advertised by more
than one party.  This can be useful, for instance, if the advertisement is
for a multi-source session, where the sources are distributed, and you want
to increase the likelihood of everyone seeing the announcement.  (In this
case, each source might wish to participate in the advertising of the
session.)

To address this case, the spec should make it clear that the available
bandwidth for announcing this session is shared by all of its announcers -
not allocated to each announcer individually.  So, with this in mind, the
available bandwidth *per announcer* - to be used for calculating the delay
interval - should be defined as:

    limit
B = -----------------------------------------------------------------------
    (# of different advertisements)*(# of announcers for our advertisement)

	Ross.