Facilitating Information Sharing Using Mobile Agents

5 downloads 10929 Views 156KB Size Report
Facilitating Information Sharing Using Mobile Agents. Nabeel Alassaf. Department Computer Science. King Abdullah II School for Information Technology.
European Journal of Scientific Research ISSN 1450-216X Vol.36 No.2 (2009), pp.145-153 © EuroJournals Publishing, Inc. 2009 http://www.eurojournals.com/ejsr.htm

Facilitating Information Sharing Using Mobile Agents Nabeel Alassaf Department Computer Science King Abdullah II School for Information Technology the University of Jordan E-mail: [email protected] Tel: +962-065355000 -22638; Fax: +962-5330704 Nadim Obeid Department of Computer Information Systems King Abdullah II School for Information Technology the University of Jordan E-mail: [email protected] Tel: +962-065355000 -22617; Fax: +962- 5330704 Imad Salah Department Computer Science King Abdullah II School for Information Technology the University of Jordan E-mail: [email protected] Tel: +962-065355000 -22583; Fax: +962- 5330704 Abstract Interests in Mobile Agents (MA) are rising because there are several benefits which can be associated with their employment. In this paper we propose a Mobile Agent-based Information Sharing Technique (MA-IST) to help knowledge workers and information seekers to search for and share specific information scattered around a network of nodes. We shall develop an infrastructure that allows navigating MAs to connect different nodes of a network. The infrastructure should enable efficient control and monitoring of the MAs and has to facilitate their collaboration and coordination. MA-IST is secure because we can put a password on the MAs to prevent agents from unauthorized access to and/or use of information. An MA can navigate a network to a specific device, communicate with the user, or another MA, its finding and negotiate the next operation(s) to be performed on the accessed information/data. The viability of MA-IST is tested on a network of nodes representing universities and university units. Keywords: Mobile Agents, Monitoring, Management, Efficiency, IP.

1. Introduction Mobile Agents (MA) have been the focus of intensive search in recent years. Applications of MA are quite interesting; agents roaming the Internet could search for information and interact with other agents that also roam networks. Significant research and development into mobile agent uses and

Facilitating Information Sharing Using Mobile Agents

146

architectures has been conducted in recent years (FIPA 1998; Vinoski 1997). Some of the challenges that face advancement in this area in the form of message passing and Remote Procedure Call (RPC) technologies. In this paper we propose a Mobile Agent-based Information Sharing Technique (MA-IST) to help knowledge workers and information seekers to search for and share specific information scattered around a network of nodes. We shall develop an infrastructure that allows navigating MAs to connect different nodes of a network (Holliday 2003). The infrastructure should enable efficient control and monitoring of the MAs and has to facilitate their collaboration and coordination. MA-IST is secure because we can put a password on the MA to prevent agents from unauthorized access to and/or use of information. An MA can navigate a network to a specific device, communicate with the user or another MA its finding and negotiate the next operation(s) to be performed on the accessed information/data. To test the viability of MA-IST, we apply it to a network of nodes representing universities and university units. Each university has its own laws and regulations and contains a large number of academic and administrative units where each unit has, associated with it, its own set of documents and rules. Expert users usually have difficulties accessing the appropriate information especially when the information required is scattered on many nodes pages in different faculties, departments and units. Many information request events require information from many web pages that are embedded in directories and sub-directories which makes it rather tedious for the users to achieve their intended goals. For naïve users, it appears like an impossible task to achieve. In this case, the applicability and usefulness of MA could be clearly demonstrated. For example if a user needs to find out some recent changes to the regulations/laws of some unit, she/he must navigate until it reaches the documents pertinent to that unit and that contain these regulations/laws. The user then may have to scan through a large number of regulations/laws before the correct regulation/law is found. The problem could become more serious or nearly impossible to handle if the user does not know the exact name or spelling of the unit’s name. In such a case, there may be a need to navigate and search the information pertinent to every unit one by one until the required piece of information could be found. If the information related to these units are quite dynamic and subject to continuous updating, then the possibility of finding a important piece of information becomes more remote.

2. Mobile Agents An agent is characterized by what it can do, and what it actually does. Agents are computational entities that may act on behalf of other entities. Agents are specialized problem solving entities with well-defined boundaries with the ability to communicate with other agents. They are designed to fulfill a specific purpose and exhibit flexible and pro-active behavior. They are autonomous in the sense that they can operate on their own and they have control both over their internal state and over their actions.(Loke, Rakotonirainy and Zaslavsky 2000) A Multi-Agent System (MAS) can be defined as: a collection of agents with their own problem solving capabilities and which are able to interact among them in order to reach an overall goal (Ferber 1999). Agents usually operate in a dynamic, nondeterministic complex environment. In MAS environments, there is no assumption regarding global control, data centralization and synchronization. Thus, agents in a MAS are assumed to operate with incomplete information. Communication is then the key for agents to share the information they collect, to co-ordinate their actions and to increase interoperation. The interactions between the agents can be requests for information, particular services or an action to be performed by other agents, issues that concern cooperation, coordination and/or negotiation in order to arrange interdependent activities. Agents will need to interact with one another, either to achieve their individual objectives or to manage the dependencies that result from being situated in a common environment (Castefranchi 1998); Jennings 1993; Moubaiddin and Obeid 2008; Obeid and Moubaiddin 2010). Autonomous agents have the possibility to interact with other agents using a specific communication language which enable them to be involved in some larger social networks, respond to changes and/or achieve goals with the help of other agents.

147

Nabeel Alassaf, Nadim Obeid and Imad Salah

A Mobile Agent (MA) can travel across a network and performs tasks on machines that provide agent hosting capabilities. Mobility is the primary characteristic of mobile agent. Mobility makes use of process migration, which consists of transferring a process from one computer to another (Goldszmidt and Yemini 1995; Padovitz, Zaslavsky and Loke 2002). A process is an operating system abstraction that comprises the code, the data, and the state of a running application. (Braun and Rossak 2005) Agent mobility allows processes: (1) to migrate from one computer to another, (2) to split a process into multiple instances that execute on different machines and (3) to return to their point of origin. Unlike remote procedure calls, where a process invokes procedures of a remote host, process migration allows executable code to travel and interact with databases, file systems; information services, other computers and other agents. This distinctive capability allows an agent to sift through retrieved data before transmitting it over the network, thus avoiding the transfer of large amounts of data which may be ultimately rejected anyway. The fact that it transmits itself across the network and resumes execution at a different location implies several issues particular to a mobile agent (Zwierko and Kotulski1 2007). One is that the code used to create a mobile agent must be architecture independent. MAs require a special environment for execution; a platform that provides basic facilities such as: (i) Mobility: to allow the transportation of an agent between physical nodes. (ii) Communications: to enable communication between the agent and/or other agents or users. (iii) Naming and location: to identify agents and to know at which nodes they are at any given time. (iv) Security: to protect both the agents and the hosts (Roth 2003; Haghighat and Yarahmadi 2008; Saxena and Soh 2005). Some of the advantages of using MAs are: (1) MAs can continue working on behalf of users even when users are disconnected. (2) MAs can move to the data source, process the data locally, and return with the results (Groot, Boonk, Brazier and Oskamp 2005). Performance could be improved when the mobile agent’s code to be transferred is of appropriate size compared to the number and length of messages exchanged in a traditional client/server approach. (3) MAs make programming easy because they allow an intuitive and natural representation of the application. (4) MAs allow easy adaptation to rapid changes.

3. MA-Based Information Sharing Technique We propose an information sharing technique that employs MA to help knowledge workers, and information seekers to search for and share specific information scattered around a network of nodes. An MA can perform many operations such as (a) navigating through the current network, (b) searching in a dynamic routing table for specific registered devices and (c) returning the IP and the name of those computers. MA can then check the status of these devices (e.g. online or offline) and about their open ports. Using MA, it is possible to, based on some predetermined authorized access, control the software and data content of a device without the need to involve the device users. An MA has the ability to protect itself by changing its name. Additional protection can be provided by setting a password on the MA or by changing the port. Agent’s mobility presents distinct challenges that are not handled by traditional, distributed and/or communication frameworks (Olfati 2006). Naturally, an MA changes its location over time which makes communication with it difficult to achieve. That is, a communication infrastructure must handle the case when an MA may be migrating while a message is sent (Mazzocca, Martino and Venticinque 2006).

Facilitating Information Sharing Using Mobile Agents

148

We have built an infrastructure that allows navigating MAs to connect different networks, as required, and that satisfies the communication requirements which are specific to MAs. The infrastructure should enable efficient control and monitoring of the MAs and has to facilitate MAs collaboration and coordination. MA-IST consists of a number of the following two components: 1. Network Navigation Component (NNC) When an MA sends to an appropriate computer C0 (e.g. server) the IP, IP1, of the computer C1 on which it is located, then IP1 is used to retrieve the port number P1 in order to connect to C1 directly according to the security procedure. We have a mechanism that assign to every IP a name. We have also a mechanism that allows us to activate a computer given its IP and port number. Figure 1 illustrates the functions of NNC. Figure 1: Illustrating Functions of NNC

2. File Handler Component (FHC) Once a connection with a remote device is established using NNC, FHC will be enabled.. The objective of FHC is to allow (i) remote exploration of the directories and files of the remote device. (ii) the performance of various operations on files and directories such as copying, deleting and moving on the remote device. (iii) the performance of various operations on files and directories between two remote devices. For instance, Assume that C1 is connected, using NNC, to C2. The performance of the operation Upload File-name1 on C1 will copy File-name1 that exists on C1 to C2. However, The performance of the operation Download File-name2 on C1 will copy File-name2 that exists on C2 to C1. Figure2 illustrates FHC.

149

Nabeel Alassaf, Nadim Obeid and Imad Salah Figure 2: File Handler Component (FHC)

The algorithm of FHC is as follows: 1. Find the open port and IP numbers for client device. 2. Check the open port and IP numbers to ensure that the device is online. 3. Check the password for the MA to ensure proper secure work. 4. If the previous three steps are Ok then connect to the device using the port number, IP number and password. 5. Find all the drives for the client device. 6. Search for the needed information using FHC. 7. If any error occurs while retrieving files then the connection is closed automatically. 8. In the end, close the connection and exit the client device.

4. Case Study We present a typical example of a remote access, using MA, of a user to needed data. The MA enables the user to search for a particular file or document even if it only partially knows its name as illustrated below in Figure 3 below. The result of a partial match can be view by the user to the client as text files which can be opened for scanning where they are stored and/or downloaded to the user’s device if they choose to do so. To elaborate, assume that we have two computers C1 and C2 and one mobile agent MA1. Figure 4 below illustrates a simplistic view of MA-IST, C1 can connect to C2 via MA1. When the connection between C1 and C2 is established, all the functions of FHC are ready to use. For instance, C1 can search for specific files on C2. If there files that have the names specified in the query, then all the that match the query will appear in a new window. The user can now find the path of the required file so that it can perform many operations on that file such as transfer the file from C2 to C1, rename, delete, update, change attributes of that file. The user can also perform other operations such as create new directories, create new files. If C2 needs a particular file from C1, then C1 can upload the required file a specific location on C2 Drives.

Facilitating Information Sharing Using Mobile Agents

150

Figure 3: sample run

Figure 4: A simplistic view of MA-IST

C2

MA1

C1

The example cited above can be typified and elaborated in many scenarios. One real-life scenario may occur between an agent GR that resides in the registration department and an agent GFGS that resides in the Faculty of Graduate Studies (FGS). GR can send to GFGS registered students’ files as soon as the registration process takes place and it may receive from GFGS any amendment to the regulations. A student can have access to the information it needs concerning registration and graduate

151

Nabeel Alassaf, Nadim Obeid and Imad Salah

studies seamlessly by contacting either GFGS or GR. This is made possible through data sharing guaranteed through the communication between GFGS and GR. A more powerful scenario may occur between n academic and administrative units U1, U2, …, Un through the MAGU1, GU2, …, GUn that reside in U1, U2, …, Un respectively where they can exchange and share relevant data. This can be useful for many applications such as when scheduling timetables and exams to avoid conflicts for students who, in a particular, semester are taking courses in different academic The same idea can be taken a step further between universities Uv1, Uv2, …, Uvk through the MAs GUv1, GUv2, …, GUvk that reside in Uv1, Uv2, …, Uvk respectively where they can exchange and share relevant data.. There are many applications for such a setting such as (1) the process of certificates/degrees equivalencies and (2) the process of courses’equivalencies between these universities. Such processes performed manually are time consuming and prone to inconsistency.

5. Related Works The Remote Procedure Calls (RPC) technique allows a procedure to be executed on a Remote server, transfer the control flow and some arguments, from the client to the server, until the request is executed. Unlike RPC, MA migration allows executable code to travel and interact with databases, file systems, information services of another computer and other MAs. MA has an advantage over RPC because it does not require any privilege on the remote device as it uses the IP to control the remote device. In (Straber and Schwem 1997) the performance of MA and RPC were contrasted and it was concluded that the method to be selected depends on several factors, including network delay, throughput, migration overhead, number of messages, number of platforms involved, and code caching. MA-IST allows efficient control and monitoring of MA and facilitates mobile agent collaboration and coordination. It thus enables us, based on some predetermined authorized access, to control the software and data content of a device without the need to involve the device users. An MA has the ability to protect itself by changing its name. Additional protection can be provided by setting a password on the MA or by changing the port. Liotta (2001) proposes a monitoring system targeted for large-scale, dynamic systems. Code mobility offers a powerful means to address this problem (Liotta, Ragusa and Pavlou 2002). However, the agent location problem could be a challenge as it is NP-complete. MA-IST builds on the work of Liotta (2001) in that the former only seeks to build the network whereas MA-IST attempts to both build the network and maintain authorized control over the software and data content of a device without the need to involve the device user (Liotta, Ragusa and Pavlou 2002).

6. Experimental Results and Concluding Remarks In this paper we have developed an infrastructure that allows navigating MAs to connect different nodes of a network. The infrastructure enables efficient control and monitoring of the MAs and facilitates their collaboration and coordination. MA-IST is secure because we can put a password on the MAs to prevent them from hacking and may prevent access to unauthorized information. The viability of MA-IST is tested on a network of nodes representing universities and university units. We have made a number of experiments: Two experiments were made on two LANs, where each is of class B and C contains 40 computers. There are different operating systems installed on each of these computers, and the LANs and the speed of connection is 100 Mbps. The results of these experiments were successful and all functions of MA tools were successfully performed. We successfully tested the operations of sending the mobile agent through a Bluetooth technology to more than one computer to fetch some specific files and answer particular queries posed by a user that have Bluetooth device installed on them.

Facilitating Information Sharing Using Mobile Agents

152

MA are complex software entities whose behavior, performance and effectiveness cannot always be anticipated by the designer. Their evaluation often presents various aspects that require a careful, methodological approach as well as the adoption of suitable tools, needed to identify critical overheads that may impact the overall system performance, stability, validity and scalability. We hope to elaborate on some of these issues and on the problem of decomposing a query into sub-queries and assigning each of these sub-quires to a specific agent in a forthcoming publication.

References [1] [2] [3] [4]

[5]

[6]

[7] [8] [9] [10] [11] [12]

[13] [14]

[15]

[16]

[17]

Braun P., W. Rossak, (2005), Mobile Agents: Concepts, Mobility Models, & the Tracy Toolkit, Elsevier Inc. (USA). Castefranchi C, (1998), Modelling Social Action for AI Agents, Artificial Intelligence, 103 (1– 2), pages. 157–182. Ferber J (1999). Multi-Agent Systems, Addison-Wesley, Reading, MA. (1999). FIPA. FIPA ’98, (1998). Draft Specification: Part 1 Agent Management. (1998).Glass, G., (1999). ObjectSpace, Overview of Voyager: ObjectSpace’s Product Family for State of- the-Art Distributed Computing. White paper, ObjectSpace, (1999). Available on web: http://www.objectspace.com/products /documentation/ VoyagerOverview.pdf Goldszmidt, G. and Yemini, Y., (1995). Distributed Management by Delegation. In Proc. of the 15th International Conference on Distributed Computing Systems, 333–340, Los Alamitos, CA. IEEE Computer Society. Groot D. de, M. Boonk, F. Brazier, and A. Oskamp, (2005). Issues in a mobile agent-based multimedia retrieval scenario. In Proceedings of the 4th Workshop on the Law and Electronic Agents (LEA 2005), pp. 33–43. Haghighat far R., Yarahmadi H., (2008), A New Approach for Mobile Agent Security, World Academy of Science, Engineering and Technology 42, 2008. Holliday, M.A.(2003). Animation of computer networking concepts. ACM Journal of Educational Resources in Computing 3, 1–26. Lawrence, A. (1995). Agents of the Net, New Scientist, 147:34–37. Jennings N R, (1993), Commitments and Conventions: The Foundation of Coordination in Multi-Agent Systems, Knowledge Engineering Review 8 (3): 223–250. Liotta, A., (2001). Towards Flexible and Scalable Distributed Monitoring with Mobile Agents, Ph.D. thesis, Dept. Comp. Sci., Univ. College London, U.K. Liotta, A., Ragusa,C., and Pavlou, G.,(2002).Running Mobile Agent Code over Simulated Inter-networks: an Extra Gear towards Distributed System Evaluation, Proceedings of the 2nd WSEAS International Conference on Simulation, Modeling and Optimization (ICOSMO'2002), Skiathos Island, Greece, pp. 404-409, WSEAS Press, September 2002. Liotta, A., Ragusa,C., and Pavlou, G., (2002). Exploiting Agent Mobility for Large-Scale Network Monitoring, IEEE Network 16 (3) (2002) 7-15. Loke, S.W., Rakotonirainy, A., and Zaslavsky, A., (2000). Enabling Awareness in Dynamic Mobile Agent Environments. (Short paper). Proceedings of the 15th Symposium on Applied Computing (SAC 2000), Como, Italy, ACM Press. Mazzocca N. M. Rak R. Aversa, B. Di Martino and S. Venticinque, (2006), Mobil Approach The Grid. In B. Di Martino et al., editor, Engineering the Grid: status and perspective. American Scientific Publishers, 2006. Moubaiddin A and Obeid N, (2008), Dialogue and Argumentation in Multi-Agent Diagnosis, In: New Challenges in Applied Intelligence Technologies, Ngoc Thanh Nguyen and Radoslaw Katarzyniak (Eds.), 13- 22, Studies in Computational Intelligence 134, Springer. Obeid N and Moubaiddin A. (2010), Towards a Formal Model of Knowledge Sharing in Complex Systems, In: Smart Information and Knowledge Management: Advances, Challenges,

153

[18] [19]

[20]

[21]

[22]

[23] [24]

Nabeel Alassaf, Nadim Obeid and Imad Salah and Critical Issues, Edward Szczerbicki and Ngoc Thanh Nguyen, Eds., Studies in Computational Intelligence Series, Springer, In Print. Olfati-Saber, (2006). Flocking for multi-agent dynamic systems: Algorithm and theory, IEEE Transactions on Automatic Control, 51(3): 401–420. Padovitz, A., Zaslavsky, A. and Loke, S. W. (2003). Awareness and Agility for Autonomic Distributed Systems: Platform-Independent Publish- Subscribe Event-Based Communication with Mobile Agents, the 1st International Workshop on Autonomic Computing Systems, DEXA 2003, Prague, Czech Republic. Roth V., (2003), On the Robustness of Some Cryptographic Protocol for Mobile Agent Protection, The Second Int. Joint conference on Autonomous Agents and Multiagent Systems, Melbourne, Australia, pp.:851-858. Saxena A. and B. Soh., (2005), Authenticating mobile agent platforms using signature chaining without trusted third parties, In the Proceedings of the 2005 IEEE International Conference on e-Technology, e-Commerce and e-Service, (EEE’05). 282–285. Straber, M., and Schwem, M. (1997). A Performance Model for Mobile Agent Systems, H.Arabnia (Ed.), Proceedings of the International Conference on Parallel and Distributed Processing Techniques and Applications (PDPTA'97), Vol. II,CSREA, 1132-1140. Vinoski, S., (1997). CORBA overview: CORBA: Integrating Diverse Applications within Distributed Heterogeneous Environments, IEEE Communications Magazine, 14(2). Zwierko A., and Kotulski1 Z. (2007). Integrity of Mobile Agents: A New Approach, International Journal of Network Security, Vol.4, No.2, PP.201– 211.

Suggest Documents