The magazine of the Melbourne PC User Group

The bright future of Internet-based mobile agents
Peter Stanski and Deshrani Rodrigo

When we think of the Internet, we mostly think of the World Wide Web (WWW). While the commercial Internet is still only a few years old, it has infiltrated most organisations and revolutionised the way we communicate publishable content. Ina similar fashion, we may find mobile agents as the next potential wave of Internet-based applications, integrated within the fabric of the Web.

This article introduces the relatively unknown field of mobile code and mobile agents. Much of the work in this area remains academic but this is likely to change. As users discover the power of delegating laborious tasks to agent technologies, their popularity will skyrocket. Companies such as General Magic, IBM, Crystalz, and others are already investing millions of dollars into developing commercial applications of mobile agents.

What's a mobile agent?

Depending on who you ask this question, you are likely to obtain a multitude of answers. In this article we shall define them as code (programs) that can move between network attached computers, while working towards some goal. Hence, the name mobile code or agents has been used to promote these clever programs.

Some have referred to them as potential mobile viruses, or the next strain of the Internet worms, but those working in this new and exciting field see them as much more. They are the glue that binds the Internet, the World Wide Web, multimedia applications, distributed systems, and mobile computation as one. Therefore, in the world of converging technologies, agents and ultimately mobile code, will play a crucial role in all our lives.

The agents' domain

In the last few years we have undoubtedly heard Sun Microsystems' marketing slogan, "the network is the computer". This statement has been known to the network people for many years. Since the development of early distributed systems, the ability to share resources across a network amazed users and inspired developers. The network infrastructure of the Internet would have never come about without the growth of user needs, which were the driving force behind many developments.

The benefits of being "wired" were first shown by universities across the world with early applications such as email, Telnet and network news (NNTP). These inspired many students who learned and developed new systems. Those same students then graduated and took their knowledge to their future employers. It is the commercial sector that helped the Internet to become what we know today as the "Net". With Internet traffic roughly doubling every 100 days, the reality of exponential growth has hit many Internet skeptics.

Within this phenomenal network infrastructure we have only barely begun to realise what being "wired" really means. The Web has significantly contributed and impacted upon many aspects of our lives, but there is still much more we can do to better utilise it. It is here, within the wired Internet, that we find the mobile agent technologies gradually evolving from research projects into commercial applications.

Enter mobile code

The unprecedented appearance of JavaScript within Netscape Corporation's Web browsers is historic. The ability to bring web content to life within a browser amazed millions of users around the world, bringing about the popularity of Java and browser programs called Applets. These small but very clever programs can run within any compliant browser, across not only Intel PCs, but also Unix workstations and other systems. The problems associated with having programs run on only one computer architecture seemed to magically vanish. Java has permitted the development of software on one system to be later executed on other systems eliminating platform incompatibilities. The trade-off for secure software and portability is performance, but even this can be fixed with a CPU upgrade.

Generation 1: Browser model

Downloadable code from the Web meant that upgrades and software could be obtained by any computer equipped with a browser and a network connection. This seemingly radical concept reinforced the idea of Network Computers and created an infrastructure for mobile code (agents).

Mobile agents can roam the Internet on a user's behalf and report on what they find. Unfortunately this novel idea does not easily fit within the browser's mode of operation. The fundamental flaw within the client-server model of the Web is that the browser downloads code (applets) but does not permit them to move onto another node (browser). This limitation implied that something had to change, bringing about the idea of Agent-Servers.

Generation 2: Server model

In the Agent-Server model, mobile code can move between any network reachable Agent-Server. This approach fixed the browser problems for migrating mobile code (agents) in the network but did not incorporate a web browser component, that is, there is usually no graphical user interface. Also, the Agent-Server application generally runs on a network server machine where user interaction is minimal. The only person usually involved with the Agent-Server is the systems administrator. However, the Agent-Server solution means that communication between users and their agents can only be carried out via specially developed Web servers or proxies. This is the only means by which a user may communicate with their agents. However, agents may still be able to communicate with their users through the use of applications such as email.

Work in this area is ongoing and many limitations still exist, with the most obvious being the lack of code mobility to the user's browser. However, this does not stop browsers downloading pages with embedded applets, but still does not permit agents from executing within these browsers and then moving onto other machines. This limitation exists due to the lack of functionality in the browser and not due to any limitations with Agent-Servers.

Generation 3: Browser-server model

So, why not combine the features of Servers and add them to the browsers? This seems like a logical inference. By re-engineering and borrowing from the previous models, we could come up with a hybrid browser. This would permit browsers to receive code even when the user is not aware of it, and therefore permit agent mobility. It would also provide the ability to migrate the code after it has been received and utilised.

This model does have many security problems, but this is not an impossible situation to resolve. Also, the potential benefits of such an architecture would outweigh any initial problems with security that may be incurred.

What does this mean for users?

Users browsing the Web could send agents (mobile code) to find something like a website or document by visiting all the hits from a web search. Similarly, they could send agents to explore networks for monitoring purposes, create special agent-messaging systems (intelligent workflow), and also utilise idle machines within a network.

Using idle network machines is an important issue. Many machines that sit idle, or are under-utilised by users could be re-used for parallel processing and distributed computations. They could be a Mac, PC or a Unix system and still happily join into communities of machines, ready to export their facilities to mobile agents. In such environments, organisations can leverage existing technology to obtain more from their investments than previously imaginable.

System security

With the freedom associated with mobile agents, it is entirely possible for vicious agents to be developed and directed to cause problems within systems. Therefore, protection will be required to prevent your machine from being hijacked by agents. These rogue agents could slow your machine down by consuming CPU cycles, trashing memory with junk, and consuming valuable resources which could lead to a potential crash. In order to avoid such disasters, some security infrastructures have to exist for both trusted and untrusted mobile code.

Determining trusted and untrusted code is a problematic research area. Some approaches for authentication include last known code origins (requires trusted community of servers), unique developer signatures and IDs (requires central management authority), and setting permissions locally on an individual per agent basis. Another approach may be not to use any security at all. However, this will not be an option for most users.

The issue of security is a heated and highly debated topic, but will undoubtedly fade away as mobile code technologies mature, making users more at ease with this technology.

Conclusion

Agents will undoubtedly continue to infiltrate the Internet as user navigation assistants, application tutors, system monitors and network explorers. They are currently just a blimp on the radar, as research projects, but are likely to create a storm in the not too distant future.

However, creation of an integrated Browser-Server system is likely to remain a research topic for some time. It wll be years before we see commercial versions, but until that day we are likely to see increasing amounts of mobile code and agent technologies integrated into information systems.

By turning the network into a universal computer, the CPU and the underlying hardware become irrelevant. It is the synergy of these resources and their interconnections that drives agent technologies. For a user the desktop is no longer restricted to the current machine, and through the use of agents, disconnection from the network does not necessarily equate to loss of productivity. This is due to multiple agents continuing to carry on with their tasks, even when the user is no longer attached to the network.

About the authors

Peter Stanski is undertaking a PhD at Monash University in the area of Mobile Agents, Networks and the Web. In his past lives he was a game programmer, consultant, contractor and now plays researcher. He can be reached at peter.stanski@csse.monash.edu.au

Deshani Rodrigo is undertaking her Masters degree at Monash University in the area of systems, applications and network performance. In her past lives she worked in sales, as a consultant and now as a full time researcher. Her e-mail contact is drodrigo@insect.sd. monash.edu.au 


Reprinted from the June 1999 issue of PC Update, the magazine of Melbourne PC User Group, Australia

[About Melbourne PC User Group]