In particular, distributed agents require high-level interagent communication in order to make it easy for agents to find each other and meaningfully interact. Mobile agents can move themselves across the network, picking up from one machine and moving to another in order to get better access to resources. But there are many questions about the usefulness of distributed and mobile agent systems. The foremost criticism of distributed agents is the complexity of the software technology. Fortunately, better tools for building distributed systems are becoming available.
Mobility is a more controversial technology.
But mobile agents are a powerful way of designing solutions for problems in some scenarios including limited bandwidth, unreliable networks, and itinerant computing. This topic has been popular both in practice and in research. A natural way to build a system that represents people online is to write distributed software agents to collect and display information about people's activities. Agents in this application can serve several roles. They can themselves represent people, either graphically or through other modalities.