how different are terminal services and virtual network computing from each other? do they use same set of protocols, what is the pupose of using these two different services?