Intelligent Communications for a Distributed Learning Environment: A Software Agents Tale