Tamkang University. Tamsui, 251 Taiwan. *. Department of Computer Science. Chinese Culture University. Taipei, 111 Taiwan. Mobile agent techniques involve ...
JOURNAL OF INFORMATION SCIENCE AND ENGINEERING 18, 489-506 (2002)
A Distributed Mobile Agent Framework for Maintaining Persistent Distance Education LAWRENCE Y. DENG, TIMOTHY K. SHIH, TEH-SHENG HUANG, YI-CHUN LIAO, YING-HONG WANG AND HUI-HUANG HSU* Department of Computer Science and Information Engineering Tamkang University Tamsui, 251 Taiwan * Department of Computer Science Chinese Culture University Taipei, 111 Taiwan Mobile agent techniques involve distributed control if communication is required among different types of agents, especially when mobile agents can migrate from station to station. This techniques can be implemented in a distributed distance learning environment, which allows students or instructors to login from anywhere to a central server in an education center while still retaining the look-and-feel of personal setups. In this research paper, we propose a distributed agent framework along with its communication messages to facilitate mobile personal agents, which serve three different groups of distance education users: instructors, students, and system administrators. We propose an agent communication framework as well as agent evolution states of mobile agents. The communication architecture and message transmission protocols are illustrated. The system is implemented on the Windows platform to support nomadic accessibility of remote distance learning users. Personal data also migrate with the mobile agents, allowing users to maintain accessibility to some extent even when the Internet connection is temperately disconnected. Using user-friendly personal agents, a distance education platform can include different tools to meet different needs for users. Keywords: mobile agent, agent communication network, personal agent, distance education, distributed control
1. INTRODUCTION Autonomous agents and multi-agent technology have played control roles in network management and systems management communities for several years. Besides, many marketing and technical terms under which agent supports in desktop, Internet, Intranet and so on. Desktop agents include operating system agents (e.g., MacOS Open Sesame, Windows 9x) and application agents (e.g., the Microsoft Office applications Wizard) [3]. On the MacOS, Open sesame agents can find repetitive user patterns and automate customary tasks for users. On Window 9x, the System Wizard executes in the background and runs programs through the task scheduler browser; the maintenance wizard automatically organizes the files on the hard disk for efficiency, fixes disk and file errors and frees up disk space; the Add New Hardware Wizard resolves device problems. In Microsoft Windows, desktops application agents such as the Office Wizard, and the Web-Publishing Wizard, make it easy to create office documents, transfer files and pubReceived September 3, 2001; accepted April 15, 2002. Communicated by Jang-Ping Sheu, Myongsoon Park and Makoto Takizawa.
489
490
LAWRENCE Y. DENG ET AL
lish Web pages to a remote server. With the growing use of networks, application-driven agents also come in different types, such as information retrieval agents, Mobile agents, Process automation agents, collaborative customization and database agents. In this paper, we devote our attention to mobile agent issues, especially from the universal access point of view. Since mobile agents often work on heterogeneous networks and in operating system environments, integrated logical interfaces for accessing physical structures via mobile agent applications are becoming more and more important. For flexibility, mobile agents can be accepted as a design paradigm like object-oriented programming or client/server computing. We based these wherefores and then propose a tracking and persistent agent-based mobility management system for distance learning to illustrate the entire processes. Students of a virtual university roam from station to station. It is important, therefore, to provide a persistent environment such that students are always able to obtain their personal profiles. The solution for such a roaming service involves the use of mobile agent techniques. A mobile agent can travel from station to station, with its execution status attached. To implement such a mobile agent involves station privilege control. Usually, a mobile agent platform needs to be installed in each student workstation. When the mobile agent travels to the station, the agent platform accepts it and invokes a child process to run the mobile agent. The mobile agent retrieves personal information of the student from a mobile profile. The profile contains the student’s personal notebook, learning status, and personal look-and-feel setup. A student notebook tool allows the student to cut and paste Web course content objects into the personal notebook. The objects include test paragraphs, pictures, animations, audio clips, and possibly video records. The learning status of each course taken by the student is recorded. The student should be able to continue from a previously visited point in each Web course. In addition, each student can set up look-and-feel personal data, which includes the resolution and name of the Web browser (IE or Netscape), a generic look-and-feel setup, a personal communication list, etc. The mobile person agent serves as a front end of virtual university access. Students can talk to this agent anytime, anywhere. Similarly, instructors have another agent. Agents communicate with each other. For instance, a student can look at other agents, which represent their owners in an on-line course. Via clicking on agents, the students can talk to each other. A mobile agent, in general, can be more than just a search program. For instance, a mobile agent can serve as an emergency message broadcaster, an advertising agent, or a survey questionnaire collector. A mobile agent should have the following properties: Automation: it can achieve a goal automatically. Delegation: it should be able to perform a set of tasks on behalf of a user (or other agents). Communication: it should be able to communicate with other agents. Actuation: it should be able to affect its environment via an actuation mechanism for autonomous operation. It has evolution states, including a termination state. We propose a logical network for agent connections/communications called the
DISTRIBUTED MOBILE AGENT FRAMEWORK
491
Agent Communication Network (or ACN). ACN is dynamic. It envolves as agent communication proceeds. It also serves as a graph theoretical model in agent evolution computing. Our research purposes include: I. II. III. IV.
provide a model for agent evolution and management facilities; construct simulation facilities to estimate agent evolution; suggest guidelines for constructing mobile agent environments; suggest strategies for constructing Characteristic-Oriented (application-driven or Role & Function) Mobile Agents and building fundamental security (Delegation and Authentication);
V.
tracking and Persistence Agent-based Mobility Management in Mobile Networks Web Agent Systems.
Given an ACN, the model finds which agent evolution policy produces the maximum throughput (i.e., the goal of agents is achieved). In addition, by changing the structure of an ACN, the model is able to find out how to adjust the agent evolution policy in order to recover from the changes (or how the throughput is affected). The remaining parts of this paper are organized as follows: Related works are discussed in section 2. The mobile agent communication network and an agent evolves based on a state transition diagram are given in section 3. A mobile agent system architecture model that describes the server agent and client agent components is illustrated in section 4. Implementation (for the case of distance learning, called the Multimedia Macro Virtual System) is then discussed in section 5. Finally, we draw our conclusions and discuss future research in section 6.
2. RELATED WORK The concept of agent-based software engineering was discussed in a survey paper [5]. The author presents two important issues: agent communication languages and agent architectures. Agent communication languages allow agents to share information and send messages to each other. Agent architectures, on the other hand, include network infrastructures and software architectures that enable agent computing. An open agent architecture for a kiosk-based multimedia information service was proposed in [3]. Surveys of different types of agents can be found in [1, 16]. The authors in [16] also indicated that. Web-based intelligent agents are necessary and should be included in new engineering applications. However, application designers need to resolve conflict between client-server-based designs and peer-to-peer protocol. The Java Agent Template (JAT) has been proposed, which allows application designers to write Java programs runnable on heterogeneous computer environments. Agent programs developed using this technique can send KQML messages to each other. In our simulation, we used JATLite, which is a version of JAT, in the Windows NT based environment. In [1], the author summarized three types of agents: intelligent autonomous agents, mobile agent, and cooperative agents. Agent applications and development were also discussed. A personalized agent system, BASAR (Building Agents Supporting Adaptive Retrieval), that maintains Web links based on personal bookmarks was proposed in [20]. The sys-
492
LAWRENCE Y. DENG ET AL
tem is able to support information updating when the content of a Web site the user has marked changes. The system also reduces the number of links by deleting seldom used ones. In addition, new links can be added by using search engines. A Web-based information agent was proposed in [4]. Using KQML as the communication language, the proposed system significantly reduces the network load by pushing computation to the server. Structured Meta information is also used to decrease the complexity of browsing. A multi-agent system supporting intelligent information over the Internet was proposed in [14]. The system incorporates technologies from intelligent software agents, natural language understanding, and conceptual search mechanisms to access Earth and Space Science Data. The concept of mobile agents has been discussed in several articles [11-13, 17]. Agent Tcl, a mobile-agent system providing navigation and communication services, security mechanisms, and debugging and tracking tools, was proposed in [6, 7, 9]. The system allows agent programs to move transparently between computers. A software technology called Telescript, with safety and security features, was discussed in [19]. The mobile agent architecture MAGNA and its platform were presented in [11]. Another agent infrastructure implemented to support mobile agents in [12]. A mobile agent technique for performing load balancing in telecommunications networks was proposed in [18]. The mobile agent programs discussed can travel among network nodes to suggest routes for better communications. Mobile service agent techniques and corresponding architectural principles as well as the requirements of a distributed agent environment were discussed in [10]. Several commercial Java mobile agents were evaluated in [8].
3. MOBILE AGENT SOCIETY 3.1 Agent Communication Network Agents communicate with each other since they can help each other. For instance, agents that share the same search query should be able to pass query results to each other so that redundant computation can be avoided. An Agent Communication Network (ACN) serves this purpose. Each node in an ACN (shown in Fig. 1) represents an agent on a computer network node, and each link represents a logical computer network connection (or an agent communication link). Since agents with the same goal want to pass results to each other, they are modeled as a complete graph. Therefore, an ACN of agents having different goals is a graph of complete graphs. In Fig. 1, there are six types of agents (i.e., species A to E). Since agents can have multiple goals (e.g., searching based on multiple criteria), an agent may belong to different complete graphs. For instance, agents a and b belong to the complete graphs of species both A and B. On the other hand, an agent may have a unique goal (e.g., an agent of species E). Agent e of species E is the only one of its kind. We will next define some terminology, which were used in this paper. A host station (or station) is a networked workstation on which agents live. A query station is a station where a user releases a query for achieving a set of goals. A station can hold multiple agents. Similarly, an agent can pursue multiple goals. An agent society (or society) is a set of agents fully connected by a complete graph, with a common goal associated with each agent in the society. A goal that belongs to different agents may have different pri-
DISTRIBUTED MOBILE AGENT FRAMEWORK
493
orities. An agent society with a common goal of the same priority is called a species. Since an agent may have multiple goals, it is possible for two or more societies (or species) to have intersections. A communication cut set is a set of agents that belong to two distinct agent societies, which share common agents (e.g., {a, b}, {c}, and {d} in Fig. 1).
Species Species E ●
e
a b
Species
c
d Species
Species Fig. 1. An agent communication network.
The removal of all the elements of a communication cut set results in separation of two distinct societies. An agent in a communication cut set is called an articulation agent (e.g., agents a, b, c, and d in Fig. 1). Since agent societies (or species) are represented by complete graphs and these graphs have communication cut sets as intersections, articulation agents can be used to suggest a shortest network path between a query station and the station, where an agent finds its goal. Another point is that an articulation agent can hold a repository, which contains the network communication statuses of the links of an agent society. Therefore, network resources can be evaluated when an agent checks its surviving environment to decide its evolution policy.
Agent is reborn
Agent born Apply for
Ministering
admission to a virtual society Disconnection or no enough resource
Mutation
Resume connection and active
Suspending
Re-apply for admission 1 to a virtual society
Dangling
Agent Agent die after die some days
Disconnection after some days
Fig. 2. Mobile agent evolution states transition diagram.
LAWRENCE Y. DENG ET AL
494
Mobile Agent Evolution States An agent evolves. It can react to an environment, respond to a server agent, and communicate with other agents. The evolution process of an agent involves some internal states. As shown in Fig. 2, an agent is in one of the following states after it is born and before it is killed or dies naturally: 1. Ministering: the agent is serving a user. 2. Suspending: the agent is waiting for enough resources or connections in its environment. 3. Dangling: the agent loses a connection with a server agent; it is waiting for new admission. 4. Mutating: the agent is changed into a new identity and admitted to a virtual society. An agent is born to a ministering state to serve a user (i.e., live in a virtual society). All creatures must have goals (e.g., accomplish their missions). However, if a agents surviving environment (i.e., a host station) contains to few resources, the agent may transfer to a suspending state (i.e., hibernation). The missioning process will be resumed when the environment has better resources. However, if the environment badly lacks resources (i.e., natural disasters occur), the agent might be killed. When an agent disconnects from the host station (or server agent) for some days, it will abort its mission and transfer to a dangling state. An agent in a dangling state cannot survive for a long time. It will die after some days (i.e., a duration of time), or, it will re-apply for admission with a possible new host station, which is a new destination where the agent should travel. In this case, the agent is in a mutating state and is reborn with a new goal.
Macro cell Client Agent a Client Agent c
Client Agent a
Client Agent b
Server Agent 1
Station 1 (Micro cell)
Clent side desktop (Pico cell)
Client Agent a Client Agent a Client Agent g
Client Agent f
Server Agent 1
Client Agent e
Client Agent d
Server Agent 2
Station 2 (Micro cell)
Station n (Micro cell)
Fig. 3. A mobile agent society environment.
DISTRIBUTED MOBILE AGENT FRAMEWORK
495
4. MOBILE AGENT SYSTEM ARCHITECTURE In this paper, we propose a model to characterize the mobile agent system architecture. As Fig. 3 shows, the mobile agent virtual society is composed of three cells: a Pico cell, a Micro cell and a Macro cell. The Pico cell represents the client mobile agent. The Micro cell consists of at least one client mobile agent (Pico cell) and one server agent. Several Micro cells construct a Macro cell. The following section will describe the architectures of the Micro cell (server side) and the Pico cell (Client side). Micro Cell A micro cell is composed of an agent profiles/database, server agent and web server (Fig. 4).
Client Agent 1
Client Agent 2
Client Agent n
Physical Network
Web Server
Agent profiles and database
Verification component
Communication component
Management component
Role setting Objects Provider
Server Agent
Fig. 4. A micro cell architecture.
Agent profile and database: (1) (2)
(3)
(4)
User personal environment setting information: This information forms strings, including the items the user chooses and their environmental needs. User Log File: The log file plays an important part when an agent is carried back to agent server. The agent server parses the log file using different catalogs, such as course participations shopping experience, and so on. User personal information: The user in MMVS may change his/her own personal information via the agent. Based on such changes, the member databases are updated. User submitted results: There is some information which users can submit via the agent architecture, such as through the questionnaire system or the pop-up quiz system. Agents do not bring all of the submitted information. Some of this information is send back to the database using the functions provided in each subsystem.
LAWRENCE Y. DENG ET AL
496
Server Agent: The server agent contains four types of components: (1) verification components, (2) communication components, (3) management components and (4) Roles setting object (agent characteristics) providers. As with a non-mobile agent, the primary requirement is a method of delegating authority to the mobile agent. (1) (2) (3) (4)
Verification components: these provide security through agent delegation and authentication, privacy and access control. Communication components: these provide universal communication tools, such as chat (text), audio, video and Windows message (annotation) application tools. Management components: these provide system management facilities, such as administration, resource allocation and agent profile modification functions. Role setting objects providers: these provide the application-driven/characteristic objects to the client agent. (e.g. E-notebooks, authoring tools (for course design), questionnaire sub-systems, lecture- on-demand and so on).
Pico Cell: The client agent is the base unit (Pico cell) of the mobile agent society. The main elements of a client agent include the client profiles, object function loader and role setting component selector (see Fig. 5). (1) Client profiles: these contain user personal environment setting information, User Log Files, user personal information and user submitted results (this is the same as the server side’s profiles/database). (2) Role setting component selector: this component provide several role templates for the user, so that the user can choose the agent’s role such that the agent will possess some application tools and be put to use in the society. (3) Object function loader: after the user has selected role sets, the object function loader downloads the related objects from the server agent (roles setting object provider). Server Agent Web Server
Server database Profiles
Network
Client Database Profiles
Oject Function Loader
Role Setting Component Role 1
Role 2
Mobile Agent User Interface Client Agent
Fig. 5. Client agent architecture.
Role n
DISTRIBUTED MOBILE AGENT FRAMEWORK
497
Operations: This section gives several examples of Mobile Agent operations. The examples illustrated three main phrases: (1) registration, (2) communication and (3) calling a virtual society (Multimedia Macro Virtual Society (MMVS) sub-systems). Registration in a New MMVS When a user wants to apply to a new society (MMVS), the client agent is invoked to coordinate the updates between the server and subscriber. Fig. 6 shows the operations for a mobile registration with a new society’s affiliate.
Server Agent
Profiles Database
Administrator Verification
MMVS Register System
User
1. Register ing 2. Reject
3. Send Mail or Message
4.Accept & Create 5. Send Mail or Message
MMVS Registration Phrase
Fig. 6. Registration operating phase.
After the MMVS register system receives the use’s application, it sends a registration notification message to the administrator verification component (event 1, Fig. 6). In this example (event 2), the administrator verification component sends a reject notification to the MMVS register system. Upon receiving a response from the administrator verification component, the MMVS register system send a response back to the user (shown in Fig. 6 as event 3). In event 4, the administrator verification component records the registration acceptance message in the profile database. Event 5 is the acceptance response sent back to the user. Fig. 7 shows an example of invoking communication between two mobile agents. Event 1 is the request message to be sent to the management component of the server station. In turn, after the system’s management component agrees to this application, it sends the communication tools request to the communication tool manager (event 2), and this message is forwarded to the destination agent (event 3). If the destination agent assents to communicate with the requested one, it will respond to the communication component manager, and the desired service component will be sent to the system’s management component (event 4). Thereafter, connection pre-processing is established as depicted in this figure. The management components dispatch the service component to the original agent and then make a connection between the two agents.
LAWRENCE Y. DENG ET AL
498
In the event that the client agent applies the role setting objects, the server provides a set of commensurate application-driven components for the authorized agent. These operations are shown in Fig. 8. The first two events handle testing and verification of the agent status and reject unauthorized login agents. The functions of these events are delegation and authentication. Events 3 and 4 provide role configurations. According the role configurations, events 5, 6 and 7 record the user’s profile and dispatch the desired agent role’s objects to the user.
Client Agent B
Communication components
Management components
Verification components
Client Agent A
1.Request
2. Communication Tool Request 3.Send Request Message and Waiting 4. Service Component
5. Dispatcher
Communication Phrase 6.Connection Accept Communication
Fig. 7. Communication phrase.
Management components
Profiles Database
Roles setting objects provider
Client Agent
Verification components
1.User Login 2.Failure 5. Accessing Personal Profiles
6.Get Data
4. Application Use
3.Role Choosing
7. Dispatcher
Agent’s Role Configuration
Fig. 8. Agent’s role setting phase.
DISTRIBUTED MOBILE AGENT FRAMEWORK
499
The previous examples are not all of the MMVS operations. Our purpose is to understand the major aspects of MMVS operations, but it should do us no harm to delve a bit further. Therefore, Table 1 lists and describes the mobile agent transactions (messages). Table 1. Mobile agent transactions (messages) in MMVS. Transaction (Message) Reguest_ID Reject_Message SendMail_ Message Accept_Create User_Login RoleChoose_ Message Used_Application Profile_ Message Dispatcher_List Communication_Request SendRequest_Message ServiceComponent_List Identification_ID Session_ID
Operations To Function MMVS Register System Request for a new ID MMVS Register System Reject Request to illegal MMVS Register Client Agent Alarm Message to System User Administrator Profiles & Database Create a New User Client Agent Verification Enter MMVS Agent components System Verification Roles setting object Select Characteristics components provider or Roles Roles setting object Management Request Obprovider components ject-Oriented Services Management Profiles & Database Find User Personal components Data Management Client Agent Dispatcher User Object components Management Communication Request Communicacomponents components tion Connection Communication Client Agent Waiting for Other components Agent Accept Communication Management Send Object Service components components Component Client Agent MMVS Homepage Apply to Enter MMVS Verification Subsystem MMVS Homepage MMVS Subsystem Open Session & Enter Verification System From User Administrator
5. IMPLEMENTATION With the growing popularity of the World Wide Web, teachers and students are able to conduct teaching/learning activities in a virtual classroom via the Internet. In addition to access to Web multimedia documents, virtual classroom should have a set of integrated tools to support customized manipulation of Web multimedia documents created by students or instructors. These integrated tools should further facilitate information exchanges among teachers and students. Thus, we have developed an agent-based virtual system called the “multimedia micro-university” (MMU). In this system, a user can
LAWRENCE Y. DENG ET AL
500
apply for admission as a citizen of a virtual society. Then, the user can load multimedia micro-university virtual society agenta (MMVS agent). All the agent’s applicable objects/programs are defined by the Interface Definition Language (IDL). The IDL defines interfaces between client and server programs. The IDL can also be used to create client and server programs for heterogeneous network environments that include such operating systems as MS Windows, Unix and Apple. The related IDL declarations of agent’s objects are listed as follows: IDL DECLARATION: import DOCOBJ.idl
//all the used Document Object IDL declarations;
import DHTMLEd.idl
//all the used DHTML IDL declarations;
interface IDHTMLSafe: IDispatch //for the IDispatch Middle Object Page, it provides //the Redo&Undo functions, inherited from IDispatch; interface IDHTMLEdit: IDHTMLSafe //all the DHTML editing tools, inherited //from IDHTMLSafe; interface IDEInsertTableParam : //all the table operations (Insert/Delete), inherited //from IDispatch; interface ITriEditDocument: IDispatch //all the Document’s orientations inherited //from IDispatch; interface IDocHostDragDropHandler : Iunknown //all the Drag&Drop controls, //inherited form the Iunknown of the DCOM system.
Fig. 9. A list of the user’s IP, and Role, and the number of existing agents.
In the registration sub-system, the user must fill in detailed personal information so that the system administrator can check whether he/she is an insider. If the user can be identified, he/she will be given delegation and authentication by host station’s supervisor. After the registration phase is finished, the MMVS leads the user into the mobile agent system step by step. The MMVS system provides the easy-to-use administration facilities through the use of a server agent. The server agent can make a list of the agent’s information, such as the user’s IP and role, and the number of the existing agents (see Fig. 9).
DISTRIBUTED MOBILE AGENT FRAMEWORK
501
The MMVS system and the valet mobile agent are shown in Fig. 10. The valet mobile agent provides the function of role setting. The role-setting object is an application-driven component, which can provide customization benefits for the user and meet the user’s requirements. In our system, we provide three roles: student, teacher and system administrator. The role-setting service provides application-driven components. Different roles of mobile agents signify that they possess different functions/tools. In the MMVS system, the student provides with some applications, such as communication tools, section courses, E-notebooks etc., the teacher has authoring tools, communication tools, E-notebook etc., and the system administrator has administrator tools. The above-mentioned applications will be introduced in more detail in the following paragraphs.
Fig. 10. The MMVS system and the valet mobile agent.
We have developed a Web Editing tool called the “E-notebook.” By only using a Web browser (e.g. Internet Explorer 4.0 or later) without any other installed applications, a user can load and save documents. This tool provides a very important service when a student reviews teaching material or a discussion topic. Fig. 11 shows the E-notebook tool, which was designed and implemented using DHTML (Dynamic HyperText Makeup Language) components. The DHTML components include editing features that allow even novice HTML users to create sophisticated Web pages. These features include: Text formatting: Users can set character formats, including font style, face, size, and color. Paragraphs can also be justified and indented. Editing: The editing function includes multilevel undo and redo commands. Users can also use the standard Cut, Copy, and Paste commands. Elements can be moved
502
LAWRENCE Y. DENG ET AL
or resized by dragging. The component supports a number of keyboard accelerators as well. Drag-and-drop capability: Users can drag any object, text, or element anywhere on the page. Absolute positioning: Elements in the document can be absolutely positioned. That is, users can use CSS style attributes to set their location on the page with the equivalent of x and y coordinates. For more details, see Working with Absolutely Positioned Elements. Searching: The component can display a finds dialog box to allow users to search for text. Hyper-linkage: Users can define links and bookmarks in the text. Images: Users can insert images into the document. Table editing: Users can insert tables and can add and delete columns, rows, and cells. File management: Users can open existing HTML files from a disk or from the Web, save them to disk, and print them. The document being edited can also be loaded from and saved to memory, allowing the user to create custom client-server applications. Context menus: The component allows the user to create a context menu that he/she can display by right button clicking on the document. URL of the editing homepage
change the editing wondow's layout
Fig. 11. Using the mobile E-notebook tool and editing the E-notebook.
The DHTML Editing control provides a variety of means by which the user can load documents for editing and save them. Reading documents using URL is useful to get documents from a Web server. Reading and writing a string containing the contents of the document is useful if the user needs to develop custom solutions for loading and saving documents.
DISTRIBUTED MOBILE AGENT FRAMEWORK
503
directed contact by video conferencing communication
My video signal
Destination video signal
Chat Room message input box
Fig. 12. Agent communication tools-chat room and video conferencing.
When the participant wants to discuss something with others, the agent communication tools can help. The agent communication tools include the Chat Room and video conferencing facilities (as shown in Fig. 12). The user can input a message into the message input area, and this message will be displayed on the chat board.
6. CONCLUSIONS In this paper, an agent-based mobility management system has been introduced and ways of constructing application-driven mobile agents have been addressed. We have suggested a framework for modeling a mobile agent virtual society, which contains both a mobile agent communication network and mobile agent evolution states. This approach aids software developers with agent computing routine management tasks. Also, the role-setting components are based on the object-oriented approach. This approach not only provides flexibly, but is also scalable in the user’s utility tools. In out experiments, application-driven mobile agents actually improved the look-and-feel for roaming students in distance learning environments. We hope that this study can be prolonged and the results applied to future communication network environments.
REFERENCES 1.
J. Hendler, “Agents and the semantic web,” IEEE Intelligent Systems, Vol. 16, 2001,
504
2.
3. 4.
5. 6. 7.
8. 9. 10. 11.
12.
13.
14.
15.
16. 17. 18.
LAWRENCE Y. DENG ET AL
pp. 30-37. S. Franklin and A. Graesser, “Is it an agent, or just a program?” A Taxonomy for Autonomous Agents Institute for Intelligent Systems University of Memphis Proceedings of the Third International Workshop on Agent Theories, Architectures, and Languages, Springer-Verlag, 1996. A. Caglayan and C. Harrison, Agent Sourcebook: A Complete Guide to Desktop, Internet, and Intranet Agents, Wiley Computer Publishing, 1997. P. Charlton, Y. Chen, E. Mamdani, O. Olsson, J. Pitt, F. Somers, and A. Wearn, “An open agent architecture for integrating multimedia services,” in Proceedings of the Autonomous Agents 97 Conference, 1997, pp. 522-523. C. Dharap and M. Freeman, “Information agents for automated browsing,” in Proceedings of the 1996 ACM CIKM Conference (CIKM’96), 1996, pp. 296-305. M. R. Genesereth, “Software agents,” Communication of the ACM, Vol. 37, 1994, pp. 48-54. R. Gray, D. Kotz, S. Nog, D. Rus, and G. Cybenko, “Mobile agents: the next generation in distributed computing,” in Proceedings of the 1997 2nd Aizu International Symposium on Parallel Algorithm/Architecture Synthesis, 1997, pp. 8-24. R. S. Gray, “Agent Tcl: A flexible and secure mobile-agent system,” Dr. Dobb’s Journal of Software Tools for Professional Programmer, Vol. 22, 1997, pp. 18-27. J. Kiniry and D. Zimmerman, “Hands-on look at Java mobile agents,” IEEE Internet Computing, Vol. 1, 1997, pp. 21-30. D. Kotz, R. Gray, S. Nog, D. Rus, S. Chawla, and G. Cybenko, “Agent Tcl: targeting the needs of mobile computers,” IEEE Internet Computing, Vol. 1, 1997, pp. 21-30. S. Krause and T. Magedanz, “Mobile service agents enabling intelligence on demand in telecommunications,” in Proceedings of the 1996 IEEE Global Telecommunications Conference, 1996, pp. 78-84. S. Krause, F. Morais de A. Silva, and T. Magedanz, “MAGANA-a DPE-based platform for mobile agents in electronic service markets,” in Proceedings of the 1997 3rd International Symposium on Autonomous Decentralized Systems (ISADS’97), 1997, pp. 93-102. A. Lingnau and O. Drobnil, “Making mobile agents communication: a flexible approach,” in Proceeding of the 1996 1st Annual Conference on Emerging Technologies and Application in Communications, 1996, pp. 180-183. T. Magedanz and T. Eckardt, “Mobile software agents: a new paradigm for telecommunications management,” in Proceeding of the 1996 IEEE Network Operations and Management Symposium (NOMS’96), 1996, pp. 360-369. J. B. Odubiyi, D. J. Kocur, S. M. Weinstein, N. Wakim, S. Srivastava, C. Gokey, and J. Graham, “SAIRE - A scalable agent-based information retrieval engine,” in Proceedings of the Autonomous Agents 97 Conference, 1997. pp. 292-299. M. Pazzani and D. Billsus, “Learning and revising user profiles: The identification of interesting web sites,” Machine Learning, Vol. 27, 1997, pp. 313-331. C. J. Petrie, “Agent-based engineering, the web, and intelligence,” IEEE Expert, Vol. 11, 1996, pp. 24-29. P. S. Sapaty and P. M. Borst, “WAVE: Mobile intelligence in open networks,” in Proceedings of the 1996 1st Annual Conference on Emerging Technologies and Applications in Communications, 1996, pp. 192-195.
DISTRIBUTED MOBILE AGENT FRAMEWORK
505
19. R. Schoonderwoerd, O. Holland, and J. Bruten, “Ant-like agents for load balancing in telecommunications networks,” in Proceeding of the 1997 1st International Conference on Autonomous Agents, 1997, pp. 209-216. 20. J. Tardo and L. Valente, “Mobile agent security and telescript,” in Proceedings of the 1996 41st IEEE Computer Society International Conference (COMPCON’96), 1996, pp. 58-63. 21. C. G. Thomas and G. Fischer, “Using agent to personalize the web,” in Proceedings of the 1997 ACM IUI Conference (IUI’97), 1997, pp. 53-60.
Lawrence Y. Deng (鄧有光) received the B.S., M.S., and Ph.D. degrees in department of CSIE from Tamkang University, Taipei, Taiwan, in 1997, 1999, and 2002 respectively. From 2001 to 2002, he was a part-time lecturer in the department of Computer Science and Information Engineering of Tamkang University and the department of Computer Science of Aletheia University. His currently research interests include multimedia content model, communication protocol, mobile computing, multimedia software engineering and content-based retrieval.
Timothy K. Shih (施國琛) is a Professor and the Chairman of Department of Computer Science and Information Engineering at Tamkang University, Taiwan, R.O.C. His research interests include Multimedia Computing and Networking, Software Engineering, and Formal Specification and Verification. He was a faculty of the Computer Engineering Department at Tamkang University in 1986. In 1993 and 1994, he was a part time faculty of the Computer Engineering Department at Santa Clara University. He was also a visiting professor at the University of Aizu, Japan in summer 1999. Dr. Shih received his BS and MS degrees in Computer Engineering from Tamkang University and California State University, Chico, in 1983 and 1985, respectively. He also received his Ph.D. in Computer Engineering from Santa Clara University in 1993. Dr. Shih has published over 200 papers and participated in many international academic activities. Dr. Shih has received many research awards, including Tamkang University research awards, NSC research awards (National Science Council of Taiwan), and IIAS research award of Germany. He also received many funded research grants from NSC, from the Institute of Information Industry, Taiwan, and from the University of Aizu, Japan. Dr. Shih has been invited frequently to give tutorials and talks at domestic and international conferences and research organizations. The contact address of Dr. Shih is Department of Computer Science and Information Engineering, Tamkang University, Tamsui, Taipei Hsien, Taiwan.
506
LAWRENCE Y. DENG ET AL
Teh-Sheng Huang (黃德勝) received the Bachelor degree in Math from Soochow University and MS degree in Math from Tamkang University. He also got the Ph.D. degree in the department of CSIE at Tamkang University in 2002. His research interests include Software Engineering, Distributed Object Computing and Multimedia Software Engineering.
Yi-Chun Liao (廖逸群) is now a Ph.D. student at Computer Science and Information Engineering at Tamkang University, Taiwan, R.O.C. His research interests include Multimedia Computing and Networking, Distance Learning, Software Engineering. Yi-Chun Liao received his B.S. and M.S. degrees in Computer Engineering from Tamkang University in 1998 and 2001, respectively.
Ying-Hong Wang (王英宏) received the B.S. degree in Information Engineering from Chung-Yuan University, and the M.S. and Ph.D. degrees in Information Engineering from the Tamkang University, in 1992 and 1996, respectively. From 1988 to 1990, he worked in the Product Development Division of Institute of Information Industry (III). From 1992 to 1996, he was a lecturer in the department of information engineering of Tamkang University. Beginning Fall 1996, he is an associate professor in the department of information engineering of Tamkang University. His current research interests are Software Engineering, Multimedia Database System, Wireless Multimedia, and Mobile Agent. Hui-Huang Hsu (許輝煌) is currently an Associate Professor of the Department of Computer Science at Chinese Culture University, Taipei, Taiwan, R.O.C. He received his Ph.D. and M.S. degrees in electrical and computer engineering from the University of Florida, Gainesville, Florida, U.S.A. in 1994 and 1991, respectively, and the B.E. degree in electronic engineering from Tamkang University, Taipei, Taiwan, R.O.C. in 1987. His research interests are in the areas of artificial intelligence, data mining, multimedia, e-commerce, and distance learning.