Fundamentals of Queueing Theory