We maybe should move a lot of the code in ACE_OS::cuserid here so it is treated the same as the above ace_difftime and ace_timezone. But since there is a good deal more code in ACE_OS::cuserid, we probably need to move some of it off into some sort of emulation function.
One class per-Service_Object seems wasteful. It should be possible to define a single class and re-use it for all the service objects, just by passing the Service_Descriptor as an argument to the constructor.
The idea behind this class was to use linear regression to determine if the throughput was linear or exhibited jitter. Unfortunately it never worked quite right, so only average throughput is computed.