So far we have assumed that each end-host is free to choose its
triggers independently. The natural question is how does an end-host
learn about the trigger of another end-host? To answer this
question, introduces the concept of public and private
triggers [6]. Private triggers are secretly chosen by
the application end-points. Public triggers can be computed by all
end-hosts in the system and are used to establish initial contact with
the desired end-host. For example, the public trigger of the ``New
York Times'' web server can be the hash of its name.
Consider the application in Figure 5 where a client
accesses a web server
. The web server
maintains a public
trigger with identifier
in
(step 1). The control path
operations are as follows. Client
inserts a private trigger with
identifier
into
(step 2), and sends
to web server
via
's public trigger
(step 3).
receives
from
(step 4) and inserts a private trigger with identifier
into
(step 5).
then sends
to
via
's private
trigger
(step 6), and
receives it from
(step 7).
Finally, data packets from
to
flow through
's private
trigger
, and through
's private trigger
in the
reverse direction. The important point to note here is that end-hosts
have full control on selecting their private triggers.