Kaariboga Home Guide Class Reference |
Kaariboga Mobile Agents |
Who invented mobile agents?
As far as I know the first mobile agent was created in 1971 by Bob Thomas. His program was called creeper and it was intended to help air traffic controllers when the control of an airoplane had to be transfered frome one computer to the other. The creeper just displayed a message on the terminal.
Some interesting agents were developed in the early 1980's at Xerox's Palo Alto Research Center. John Shock and Jon Heps programmed some agents that seem pretty modern today. They had one travelling around the net posting announcements and another which was able to compute complex tasks on computers that were running idle at night.
What does Kaariboga mean?
Kaari is the finish word for rainbow. Boga the swedish one for bow.
How is Kaariboga pronounced correctly?
Think of caribou and Bogart and you've got in nearly right. At least I would accept it :-) If you want to be shure ask some finish folks.
I programmed a Kaariboga agent but when I try to send it to another host I get an IOException.
Your agent probably contains some data that can't be serialized. If your agent contains some classe that should be send across the network the class must be declared Serializable.
If you refer to some local data that should not be transfered across the network you must declare it transient. For example:
public class MyImportantClass implements java.io.Serializable { protected transient StrictlyLocalClass localData; }
The class MyImportantClass
can be send to another host, but the StrictlyLocalClass
is ignored.
What about security?
Kaariboga at this state is a risk! You should not run a server for a longer time in an open network environment. However the server starts with a security manager on default thus preventing agents to execute local commands or deleting files. However some other risky operations are possible, especially on Windows machines.
We have some more plans for the future but security is not our major concern at the moment since this is an experimental environment.
Why don't you use RMI?
Because we don't want to lose flexibility. We have some plans for the future we are not shure they could be implemented using RMI. If RMI turns out to be suited for all our purposes it would be no problem to switch to RMI later.
I tried to get Kaariboga running at home but it did not work.
Possibly some problem with TCP/IP. You need to have TCP/IP installed on your computer and you need a valid IP
address.
I did a slight modification on your examples and get lots of security exceptions.
That is because of the security settings in the kaariboga.policy file. The class files of the example
agents are never transported over a network connection, because they are allready on the local disk and thus are
granted unrestricted rights. If you modify an example and safe it as a new agent the class code must be loaded
from a network connection and the security restrictions apply.