We designed Apple License Manager (ALM) to keep the generated traffic as low
as possible, especially when two LANs are connected by a router over a slow
link such as X.25. This is one of the reasons we did not use Name Binding
Protocol (NBP) directly. The Apple License Manager implements a new protocol
Apple Serial Number Registration Protocol (ASNRP) and in its first
implementation uses Datagram Delivery Protocol (DDP) and Routing Table
Maintenance Protocol (RTMP).
RTMP is used to acquire network information, which is basically the network
number range tables. It refreshes this information every hour by sending an
RTMP request to A-router. RTMP is described in Inside AppleTalk. The number
of RTMP packets is not significant (Our engineering net is composed of about
700 network number ranges; this gives 1 request and 5 responses every hour).
ASNRP also implements a general purpose multiplexed sharing socket protocol -
known as broadcast protocol. It utilizes a static socket reserved by Apple
for this purpose.
When a application has registered a Network Serial Number, ALM will be able
to respond to any request matching this serial number, but it does not
generate any requests until an application calls for a search. Then, every
"X" seconds, ALM will pick a network number and send a request on this net.
"X" can vary from 30 seconds to 2 minutes, depending of the size in network
numbers of the internet. So, the search can take a long time to complete, but
it generates little traffic. Once the search is completed, the application is
free to call for another search.
AppleShare 4.0, for example, is continuously searching the entire internet
sorted by hops during the first search at startup and then randomly. If a
duplicate is found, then it requests the Apple License Manager to search using
the cache of duplicates every 5 minutes to verify that the duplicate has not
gone away. This search does not generate more traffic; it only changes the
order the network numbers are searched.
The size of a request is just less than 100 bytes, and a response would be 40
bytes more.
Here is what AppleShare 4.0 does when it finds a duplicate serial number:
Time Action
---- ------
1) First Detection Duplicate detection dialog displayed on
each server
2) Four hours later Set the greeting message to the
duplicate detection dialog
3) 76 hours since first detection Start sending out the duplicate
detection dialog every hour
4) 112 hours since first detection Start sending out the duplicate
detection dialog every 30 min
5) 148 hours since first detection Start sending out the duplicate
detection dialog every 15 min
If at any time during the duplicate detection process, no more duplicate
servers are detected, the duplicate detection dialog will go away.