this sort of name resolving was so common under v that the authors decided to make these keys first-class citizens under vanguard. instead of using whatever object id's the servers just happened to use, under vanguard all servers were expected to understand and return a globally unique 128-bit key, the first 64-bits containing a server identifier, the second identifying an object in that server. the server id was maintained in the kernel, allowing it to hand off the message over the network if the server being referenced was on a remote machine. to the client this was invisible. it is not clear if the id's were handed out randomly to avoid "guessing" by ill-intentioned software.