As most of the reactions so far were from people I qualify as "interested
bystanders" - not active Jini users, but people interested in the technology -
I'll take you through a tour of Jini building blocks in the coming few weeks.
The format of the newsletter forces me to give concise, "executive-level"
overviews. I hope they'll prove useful (if not, keep those reactions coming!)
The part that makes Jini support fully spontaneous networking is, as far as
the TCP/IP protocol is concerned, multicast IP. Jini, in theory, supports a
lot of protocols but for the foreseeable time the TCP/IP implementation will
be mainstream. Multicast stands in the middle of the scale "unicast -
multicast - broadcast", and combines good features from both.
The normal bread-and-butter of Internet communications is unicast TCP/IP. One
machine sends a packet to exactly one other machine. In between, a lot of
routers decide how to get the packet from the first to the second machine,
often simply by examining the first part of the address, which is called the
network part. At any given time, there's a single packet on the road from
source to destination.
Unicast TCP/IP scales extremely well, but sometimes you simply don't know
the address of the machine you want to send to. By using all '1' bits
for the host part of the destination address, you are saying "anyone on
this network, please respond". Use all '1' bits for the whole address,
you are saying "anyone on any network, please respond". Such a packet
on the Internet would be replicated and sent out by every router on the
Internet. You don't need much imagination to see why broadcast packets
typically stay on local area nets and are not allowed on the highway.
Multicast allows a sort of controlled form of broadcast. Specially
assigned IP addresses are used (for example, a Jini registrar announces
itself to the multicast address 220.127.116.11), and as this is a normal address
packets sent to it can be routed, even over the Internet. Interested machines
"tune in" to the multicast "channel" they are interested in, and when all the
routers between sender and receivers play their part, the packet is replicated
to reach all receivers.
Multicast enables machines to "tune in" to the announcements of the registrar,
and thus find it without having to have prior knowledge of the location. At
the same time, the registrar avoids wasteful broadcasts and uses a mechanism
that can conceivably routed over the Internet.