Не понятно зачем клиент получает инфу от другого клиента.
А вообще — считаю что это неправильно. Агент должен быть маленьким и не мешать серверу работать. Его дело — собрать в себя текущие данные и выплюнуть серверу. А сервер должен считать — потому как именно в нем есть все данные о клиенте.
Повесьте логику на базу — считайте все в ней. Или сделайте сервер приложений, который будет для вас считать, если erlang не справляется.