An application layer protocol system