In our model of a conference, applications are associated with a machine and possibly a user at a particular machine. Thus we use a representation of the user or the machine as a field in the tuple, to allow us to specify applications by location.. The <#1948#> address<#1948#> field will normally be registered as one of the following: When the application is associated with a user, such as a shared whiteboard, the <#1953#> username@hostname<#1953#> form is used, whereas applications which are not associated with a particular user, such as a video switch controller register simply as <#1954#> hostname<#1954#>. For simplicity, we use the domain naming scheme in our current implementation, although this does not preclude other identifiable naming schemes. Note that the hostname is actually shorthand for <#1955#> no-user@hostname<#1955#>, so that when When other applications wish to send a message to a destination group (a single application is a group of size 1), they can specify the <#1956#> address<#1956#> field as one of the following: The CCC library is responsible for ensuring a suitable multicast group (or other means) is chosen to ensure that all possible matching applications are potentially reachable (though depending on the reliability mode, it does not necessarily ensure the message got to them all). It should be noted that in any tuple containing a wildcard (<#1964#> *<#1964#>) in the address, specifying the instantiation (as described below) does not guarantee a unique receiver, and so normally the instantiation should be wildcarded too.