Distributed Systems Week part VI: Mobile Agents
by Zef Hemel- Published:October 23rd, 2004
- Comments:4 Comments
- Category:General
A kind of distributed systems you don’t hear that much about anymore, are mobile agents. Mobile agents are little programs that jump from machine to machine and collect data from those machines and other agents they meet. Your first thought may be “Hey, that’s what worms and virusses do, right?” and that’s kind of true. The difference is that mobile agents’ purpose in life isn’t to kill off your machine.
A couple of years back there was a Dutch company that made software which I think was called Trillian (not to confuse with the IM client we have these days). When you started it, you saw a kind of sandbox with weird looking round creatures in it. When you clicked one of them you could tell them what they should look for. Once you had given them their assignment you throwed them out of the box, out to the internet. After a couple of hours, days or even weeks, depending on what you told the creature, it would return with the results it had found. What the creature would do is gather information from different sources, search engines, websites, but they would also run in on other people’s sandboxes and go talk to creatures there. They’d query the other creatures to ask if they had found anything useful on the subject. When the creature returned you could see what it had found and rate it. These rating could then be shared with other creatures to improve the results. The company that made it had big plans. In the future they saw mobile agents do shopping, looking around for a fridge and once they were perfected even buy it for their owner. But for some reason Trillian never really took off. I tried to look for it on the internet, but couldn’t find any sign of it. It could be that I remembered the name wrong, though.
On first sight this might sound like some you’d do with a peer to peer network and that’s partly true. The difference is that it’s not just data that’s sent between the different clients, it’s executable code. With peer to peer clients you can only do things that each P2P client supports, like searching for audio or video files. If you send executable code instead it can do a lot more than that.
There’s a Microsoft project called “Terrarium”:http://www.windowsforms.net/Applications/application.aspx?PageID=30&tabindex=8. The idea is that each “player” designs their own creature. These creatures consist of pieces of .NET code (C#, VB.NET) that are compiled to a .dll. The code describes how the creatures should behave and what they look like. The creatures are then sent out to other people running the Terrarium client (using P2P technology), so you can see other’s creatures running across your screen. The creatures might kill each other or live in peace, it all depends on how you programmed it.
“Are you crazy?! Running random people’s code on my machine, just like that?” Sure, it sounds dangerous. Who tells you that such an agent doesn’t format your hard drive? That’s why agents are executed in a sandbox (yeah, and that’s also how Trillian visualized it). A sandbox is a kind of protected and controlled execution environment. It’s like with Java applets. Java applets can do some things, they can do calculations and what not, but they can not get files from your hard drive or do a DoS attack on other servers. The virtual machine they run in limits what they can do. Mobile agents run in such a protected environment.
But as I said, you don’t hear a lot about mobile agents anymore. It’s a pitty, I really liked the idea. While looking around a bit I found that at “Dartmouth”:http://agent.cs.dartmouth.edu has a mobile agents research group, but the website hasn’t been updated since 2002. While “looking at Amazon”:http://www.amazon.com/exec/obidos/search-handle-form/002-4240633-3095226 I could find books about them, but they weren’t too recent either. Maybe it’s just a dead technology.
And this concludes the Distributed Systems Week. I hope you enjoyed it.


4 Commenti
Actually, the company is called Tryllian, and they’re still around, although they don’t seem to work much on that little piece agent software you’re referring to.
http://www.tryllian.nl/
Ah yes, thanks!
It’s funny to see that it seems to be a bit of a dead thing. I would have thought that they would be the technology of the future.
I really like the idea of having personalized agents out there doing work for me that I don’t really like doing. Just create the agent to what you want and the agent will do the rest.
About comparing it to peer to peer technology. Because the program moves from machine to machine you don’t need to be connected to the network all the time either. Even when your disconnected, your agent is still alive, wandering around on the network.
I really like how agents communicate with each other aswell.
I think at this moment it is just too hard to program usefull multi purpose agents and therefor they haven’t really been ‘the thing’ yet. Might be wrong here though.
I also like the idea of the mobile agent. I think actually it can be used to search, for example, who provide the lowest price of iPOD on internet. By search engine it is very hard ….. And what is more interesting: agent can continue even after we switch off our pcs.
By the way, thanks for the interesting articles.