The Implementation ID (IID) These are strings that uniquely identify an implementation. The only restrictions on these are that they be ASCII, begin with "OAFIID:", and not contain the comma (','), square bracket ('[]'), or forward slash ('/') characters. If you are really at a loss on how to create these, here is a suggested format: OAFIID:program_name:UUID (where UUID is a uuid as generated by uuidgen). The only absolute requirement about these is that they uniquely identify an implementation. Human readability is a "would be very nice" goal. The Activation ID (AID) These are strings that tell how to bootstrap a specific object instance. This means that environmental information such as hostname, user, etc. They have the following format: OAFAID:[IID,user,host,domain] IID format has been described above. 'user' is the login username. 'host' is a DNS domain name or stringified IP address. 'domain' is a string describing what use area the object has - normally this will be 'user' (XXX not clearly defined yet). Manual creation of AIDs is unsupported - instead, just store and use the ones returned by the activate() operation.