public void run() {
			isCheckingForTimeouts = true;
			while(isCheckingForTimeouts) {
				//tell the server to check for clients that have timed out
				long oldestCommunication = server.checkClientTimeouts(timeout);

				//sleep until the next client is expected to time out
				long now = System.currentTimeMillis();
				try {
					Thread.sleep(Math.max(50, timeout - now + oldestCommunication));
				} catch (InterruptedException e) {}
			}
		}