A study of covert queueing channels in shared schedulers