Innovative Technologies for the Management of ...

4 downloads 571 Views 318KB Size Report
It is a notorious fact that traditional server-centric management systems do not scale up ..... personal computers than expensive and powerful dedicated servers.
Innovative Technologies for the Management of Large-Scale Computer Networks Marcos Dias de Assunc¸a˜ o 1 , Fernando Koch 2 , Carlos Becker Westphall 2 , Tom Spindola 2 , Edison Alessandro Xavier 2 1

UNOESC - University of Western Santa Catarina State CETEC - Technological Center Rua Paese, 198 - Bairro das Torres 89560-000 Videira, SC 2

Federal University of Santa Catarina Network and Management Laboratory Campus Universit´ario Trindade, PO 476, Brazil 88049-970 Florian´opolis, SC {assuncao,koch,westphal,tom,xavier}@lrg.ufsc.br

Abstract. The centralized system approach for computer and telecommunication network management has been long presenting scalability problems along with the growth in the number and diversity of managed equipment. The hardware and software used by the organizations for management purposes would not be able to process and store great volumes of management data, taking us to a situation where we do not have an efficient management. Decentralized Artificial Intelligence (DAI) is a possible technology solution for the scalability problems presented by the traditional server-centric applications. In this paper we present the current results from our researches on the application of two of most innovative distributed system architectures for network management systems: grids of agents and mobile agents. In the mobile-agent world, we investigate the importance of mobile-agent disposition or communities configurations. The later approach consists in viewing the management system as a grid and to use grid principles to promote the aggregation and allocation of resources to carry out management tasks. The results presented in this paper argue in favor of these technologies.

1. Introduction The complexity of the infrastructure in current computer and telecommunication networks brought up new challenges for the cost-effective management of these platforms. It is a notorious fact that traditional server-centric management systems do not scale up with the size of modern networks. For some cases, the management system will require computational resources beyond what is available in traditional environments. Decentralized network management systems are a possible answer to this scalability Problem. They introduce advantages in scalability, interoperability, survivability and concurrent diagnosis [Jones and Carpenter, 2002]. In our previous works [Koch and Westphall, 1998][Koch and Westphall, 2001], we have proposed an infrastructure to apply Distributed Artificial Intelligence (DAI) applications in computer network management systems. With the intention of providing means to deal with this management scenario of

great networks and complex environments, we have been researching and continuing our work concentrating our efforts mainly in two areas: • The application of mobile agents [Xavier et al., 2003a]. Conscious about the importance of mobile-agents and mobile code in network management, we investigated the importance of mobile-agents community configurations. We described the pros and cons of applying mobile agent configurations and looked for the optimal architecture for a given scenario. • Application of grids of agents [Assuncao et al., 2004][Assuncao et al., 2003b]. As an extension of our previous ideas on multi-agent systems, we are now trying to create a more distributed system aiming for load balancing and idle resources usage. The term grid has appeared as an initiative to describe an infrastructure to provide the aggregation and use of resources in a large scale fashion [Foster and Kesselman, 2003]. This definition was been revised later as the flexible, secure, coordinated resource sharing among dynamic collections of individuals, institutions, and resources, which are referred as virtual organizations [Foster et al., 2001]. Agent-based clusters and grids are one of the current development trends in large-scale computing, service oriented environments and semantic grids. Agents [Wooldridge and Jennings, 1995] represent an alternative to achieve the necessary resource integration and sharing in a grid environment. Their use is desired because they provide a good degree of compose-ability and integration using standard technologies without the need that all interactions between system components are previewed in design time [GlobalInfotek, 2001]. Grid infrastructures are applied in situations where the application can be decomposed in smaller integrated tasks that can be distributed throughout several hosts. Therefore, we have been working in the idea that network management systems are special kinds of applications that can use a grid infrastructure to improve their performance through the distribution of intensive analysis tasks and the storage of management data across grid nodes [Spindola et al., 2004]. This approach provides a more efficient resource usage and consequently a more efficient management. This part of the work is mainly guided by the will of applying these significant results on building management applications based on a grid of agent infrastructure. Besides the idea of constructing an agent-based grid infrastructure is to promote the use of idle nodes in the network to carry out management tasks, providing a better management scenario because the unused computational power can be utilized for a useful management activity. However, the implementation and analysis of the whole management approach represents a complex and an exhaustive work. In this way, we have been working on the implementation of some components of this architecture. In this work we present some details about the use of grid of agents as a management solution and implementation and experimental results taken from the grid architecture that has being implemented. This paper is organized as follows: in section 2 we present some results in the area of agents applied for network management; the section 3 describes our experiments on mobile-agent configurations and the results achieved in this area; after that, in section 4 we present the ideas that underlies the use of grid computing and grids of agents on the management of complex and larger scale networks; the section 5 presents a proposal of load balancing for the architecture of grids of agents presented in this work; finally, in section 6 we conclude the paper and present future works to be conducted in these areas.

2. Intelligent and Autonomous Agents for Network Management In agent-based management, several approaches have been proposed as alternatives for the server-centric scenario imposed by architectures as SNMP and CMIP. In the majority of cases these ideas consist in decomposing the management applications and taking some management activities closer to where the management data is. Mobile agents [Bieszczad and White, 1999] are used as one of the approaches to distribute the network management. The use of Distributed Artificial Intelligence, through concepts like multiagent systems (MAS), has presented good results [Koch and Westphall, 2001]. The implementation of a distributed architecture is a complex engineering task, incurring in high level of development costs and risks. As a result of using agentbased development for network management, the guidelines for the application become [Koch and Westphall, 2001]: • high degree of adaptability, which is inherent to the agent technology, being one agent an environment aware and responsive piece of software; • code mobility, as the self-contained agents represent a simple abstraction for software move between element; • module reusability, as each agent can implement a module function and multiple agents interact during problem resolution, and; • self-generation, due to the agent’s self-contained features it is easier to implement agents that create new agents customized for specific jobs. Several groups have been working on the application of intelligent agents in network management, and some of them presented interesting results. For example, Marzo [Marzo et al., 2000] presents a multi-agent architecture for Virtual Path management in Asynchronous Transfer Mode (ATM) networks. The system is composed by reactive agents that monitor and control the network elements. Gibney [Gibney and Jennings, 1997] proposed a resource allocation model for telecommunication systems based on self-interested agents that creates a market-based routing system for load distribution. Hegazy et al [Hegazy et al., 2003] describe a framework for intrusion detection using agent-based technology. They justify the use of agents due to their reactivity, interactivity, autonomy and intelligence. In a similar area, Boudaoud and McCathieNevile [Boudaoud and McCathieNevile, 2002] intend to use multi-agent systems, security policies and BDI concepts to provide an agent-based security model able to adapt itself to the increasingly networks’ evolution and complexity. Our group has been researching on improvements for the aforementioned works: the evaluation of mobile-agent configurations and the use of grids of agents for computer and systems management.

3. Mobile Agents for Network Management One of the great advantages of mobile agent paradigms in network management lies in the aspect of decentralization of the manager figure. The agents are conveniently distributed in the environment and execute tasks that would normally be manager’s responsibility. Mobile agents can decentralize processing and control thus improving management efficiency. Some advantages that justify mobile agent utilization in network management are: • Cost reduction: inasmuch as management functions require the transfer on the network of a great volume of data, it may be better to send an agent to perform the task directly on network elements where data is stored.

Agent Reply Network Elements

ag ag

Network Elements

Network Elements

ag

ag

ag

data

data data

ag

data data

ag

server

conf. a

ag

ag

ag server

conf. b

server

conf. c

Figure 1: Different configurations of mobile agents applied to network management

• Asynchronous processing: an agent can be sent through the network, performing its tasks on other nodes. While the agent is out of its home node, this node can be out of operation. • Distributed processing: low capacity computers can be efficiently used in order to perform simple management tasks, distributing processing previously concentrated on the management station. • Flexibility: a new behavior for the management agents can be determined by the management station, which sends a mobile agent with a new execution code, substituting the old one in real-time. Comparing to classical management, the mobile agents are more than a simple transport mechanisms for collecting data. Mobile agents can carry out any computation, theoretically meeting any need, superimposing the static characteristics of the clientserver models of network management. Of course, this very feature imposes security problems on the architecture whilst one agent can potentially carry out harmful or illicit activities while running on the network element. The research about security for mobile agents on network management is a topic for future work in our group. 3.1. Mobile Agents Configurations The problem of defining different configurations in mobile agent architectures is relevant as, depending on how the code is displaced, it impacts largely on the system results. In the work from Rubinstein [Rubinstein et al., 2002], there are descriptions of alternatives for these configurations, looking for the optimal results for a given scenario. In our work [Xavier et al., 2003b] we proved that different configurations do have quite distinct metrics and should be considered carefully while choosing for mobile agent management architecture. We have researched upon three mobile agents configurations, as presented in the Figure 1. For any configuration the system goal was the same: collect data from network elements and perform one action. The configurations work as follows: • (conf. a): The agent is created in the ’manager’ station and dispatched to the first network element, where it collects that data and executes the designated action. Then the mobile agent forwards the collected data to the manager station and migrates to the next network element, where it executes the same tasks. In this model the mobile agents sends the collected data to the manager from each network element it visits.

(A) Bytes transmitted from NE to manager

(B) Bytes transmitted betweenNEs

( C) total number of bytes transmitted

Figure 2: Number of bytes transmitted per configuration

• (conf. b): This configuration has one mobile agent for each network element. Each agent is dispatched to its network element, where it collects data and executes actions and sends replies to manager station. • (conf. c): In this configuration one mobile agent is dispatched from the manager station to the first network element, where it collects the data, stores, executes the action and, finally, migrates to the next network element in the path. After the last visit the agent returns back to the manager with all the data collected stored in its body. 3.2. Results and Conclusions In order to execute the experiments we have developed a special test platform, called KDEMA. This platform allows us to easily create new configurations and test environments ranging from few to hundreds of network elements. In our experiments we compared the behavior of these three configurations, considering the aspect transmitted bytes - number of bytes transferred through the network during the operation. The results are presented in the graphs at Figure 2, grouped from three perspectives: (a) bytes transmitted from network elements to the manager; (b) between network elements and; (c) total numbers in the system. In a first glance at Figure 1, one can imagine that the configuration presented in the Figure 1(c) could be the best, as the manager participate in only two interactions: while dispatching the agent to the first network element and when receiving the agent with the collected data back. However, from the results presented in Figure 2 we can refute that argument as the configuration presents serious scalability problems. Nevertheless, this configuration also has the advantage of fault tolerance. For example, if the path between the network element and the manager is broken, the mobile agent can wait for another chance to send replies to manager, without lost the previously gathered data. Moreover, in an en-

vironment with instable or high-latency link between the manager and network elements, the configuration presented in the Figure 1(a) has the best behavior, since the replies to the manager happen on visit basis. This characteristic is also desirable when the manager is able to take decisions or actions based on individual results. There are several aspects to be considered while analyzing mobile agent configurations. It is important to keep in mind that the agents also implement features like intelligence, autonomy and sociability. While analyzing the mobile agents architecture only from the transmitted bytes perspective, Bohoris [Bohoris et al., 2000] concluded against this technology pointing that the obtained results are as much the same as those from the traditional client-server system.

4. Grids of Agents for Network Management The network management using traditional technologies based on centralized clientserver model presents serious scalability problems and almost no flexibility. The number of equipments that the network management stations have to interact with grows proportionally to the size of the networks. The task of transforming this data into management information becomes intensive, demanding a great processing power and storage resources, generally not achievable in a single administrative domain. If we visualize a network management system as a distributed application whose input is a large batch of collected data to be compiled into management information, therefrom we can come up with a scenario where grids of agents [Assuncao et al., 2004] architectures could be applied. The problem that underlies the use of a grid of agents in network management is to promote an approach to better distribute the storage of data and management information and tasks of data processing. These processing tasks can range from simple analysis to complex forecasts to predict unexpected behaviors. Grid technologies are about the controlled and coordinated resource sharing among dynamic and multi-institutional virtual organizations (VO). A key concept is to provide mechanisms for negotiating resource-sharing arrangements among the parties that compose these virtual organizations. Several technologies and middleware have being proposed to attain this scenario, and agents can play an important role on providing a way to develop complex systems while the grid fulfills the desired resource aggregation. The agents act as consumers and resource owners, interacting each other and guarantying the coordinated use of the resources among the participants of a VO. In our opinion, agents represent a complement to the grid for the following reasons: they provide tools for modeling complex systems; add coordination and negotiation to establish VOs; provide means for expressing the roles of the members of a VO, and what these members have to attain or do. The grid of agents needs mechanisms like directory, lookup, security and visualization that do not need to exist in multi-agent systems. The grid is also concerned with the load balancing aspect, where the agents have the intelligence to distribute the workload and to negotiate with agents that have the capability to perform a given task, assigning the tasks to capable resources in order to balance the load on the grid. We presented in our previous works an architecture for grids of autonomous agents applied to computer and telecommunication network management [Assuncao et al., 2003a] [Assuncao et al., 2004]. The grid of agents is used to improve network management applications and to integrate resources and systems on the management. That architecture is necessary because the management of big networks can be a difficult task and requires the manipulation, storage and analysis of vast amount

of data. By applying the grid of agents’ architecture the resulting system presents a number of further advantages: • Scalable: the architecture can be expanded on any of its levels. New containers or agents can be added; and new goals can be attributed to the existing agents. In the processing grid, we can add new containers to different kinds of equipment, according to the processing and analysis need we wish to meet. A container with several agents can be added to the grid to carry out a more specific type of analysis or to identify a particular type of problem. • Performance: data analysis time can be reduced, because we will have several containers simultaneously analyzing data. In this way a large number of rules and problems can be verified in a shorter period of time. In a traditional management application, the only way to speed up the processing of this information would be to increase the hardware capacity of the management station. • Knowledgeability: the system can hold a large number of rules and process them on acceptable time ranges. This feature results on the large resources congregation that allows the implementation of multiple levels of analyzes on the collected data therefore resulting in a more intelligent system; • Intelligent load balancing: another advantage of intelligent agents is that they have the knowledge as to how to distribute the processing load, through the discovery of available resources or the utilization of cooperation and negotiation concepts. • Cost-effectiveness: as the greater processing power is resulting from better load distribution and use of idle resources, preventing a situation where some hardware is idle while others are overloaded. 4.1. The System Architecture From the traditional management workflow presented in [Koch and Westphall, 2001], we isolated four distinct management tasks: • data collection, where data is extracted from the network devices • data classification, where the collected data is grouped per affinity; • inference, where the sets of data are analyzed and compiled into management information, and; • presentation, where, finally, the management reports are presented to the human manager or transferred using a standard representation to other systems. By applying the concepts of grid computing and grids of agents, we are developing an implementation over this workflow where the processor-consuming tasks, such as classification and inference, are delegated to the less used resources in the network, congregating them on a large virtual organization. The optimized use of idle resources results on an improved application model that, in the end, brings realistic cost savings for the organization. The Figure 3 presents the network management system architecture using grids of agents in the four management tasks describes above and presents how these structures interact. Collector Grid: the agents in this initial grid do the interface with the network devices, by means of management protocols (SMNP, CMIP) or other interface, grabbing the data and then uploading to the next step. The information extracted from network devices is formatted into a XML representation, ensuring an uniform representation throughout the grid’s elements; Classifier Grid: in this step the received data is classified and stored, by organizing and grouping similar sets, aiming to improve the performance of future information

Figure 3: Sketch of the grid-of-agents architecture for network management.

retrievals. This is one of the most laborious management activities where the data needs to be parsed, classified and indexed. The extensive load distribution provided by the grid approach brings great advantages to this processing; Processing Grid: at this point the already classified information is processed against the management rules stored in the system’s knowledge database (KdB). In a large system there will be large batches of data to be processed against hundreds or thousands of processing rules. Moreover, it is possible to have several layers of processing and combinations of these rules during the data cross-checking. Therefore, it is easy to conclude that the required processor power to implement this task can only be reached either through expensive hardware or by aggregating existing processor power through load distribution; Interface Element: in this final phase, the management data is presented to the external world either as reports, alerts or abstract data representation that would allow the integration to other systems. Our idea is to explore ubiquitous formats that have popular acceptance, ranging from email alerts to HTML/HTTP interfaces and XML representation. A management scenario in which grids of agents can be applied is where an enterprise develops, installs and manages systems for telecommunication companies located in different countries. The maintenance and management of such systems are activities that are generally not carried out by other enterprises. Generally the management data is extracted from the managed systems using probes developed in a script language (e.g. perl) and this data is sent to a management center where the required reports are generated. These reports can range from simple problem predictions to provision reports to guide decision-taking processes. The consolidation of the collected data into management information is an intensive task and it consumes a great deal of processing power. To process this vast amount of data extracted from the managed systems, a much better approach would be to use COTS personal computers than expensive and powerful dedicated servers. After the division of the batches of data to be processed, the same managed systems could be used to process the management information. 4.2. Negotiation in Grids of Agent In our proposed architecture, agent negotiation principles are applied in two points: • In the classification grid - in this case, agents can negotiate in order to store batches

Table 1: List of equipments used for the tests.

Equipment

Description

Machine A

Pentium III 800 MHz, 192MB RAM, HD of 20GB, Windows XP

Machine B

Duron 1,2 GHz, 256MB RAM, HD of 40GB, Linux

Machine C

Pentium II 233 MHz, 64MB RAM, HD of 4GB, Windows 2000

Machine D

Pentium MMX 233 MHz, 64MB RAM, HD of 1.6GB, Windows 2000

of data. To express their interests on the data, they can take into account the number of requests that they receive for the retrieving to formulate a bid. • A second scenario is the analysis grid. In this part of the grid, an agent charged of carrying out a processing task, can negotiate with others in order to distribute the processing tasks and balance the workload of processing management data. Negotiations protocols and mechanisms to construct and evaluate proposes and their application on the grid-based management have been investigating. We have investigated the scalability and the usefulness of these protocols [Syperrek, 2004]. 4.3. Tasks Distribution in Grids for Network Management One of the advantages to be evidenced about using grids of agents in network and systems management, is the possibility of distributing the workload of processing activities among the grid elements, diminishing the time spent in these activities and using idle resources. The criteria for distribution of the analysis activities consist on the availability of knowledge and computational capacity to carry through the activities [Spindola et al., 2004]. With the goal of validating the grid of agents’ concepts in network and systems management, we created a prototype to demonstrate the functioning of some components [Assuncao, 2004]. Therefore, we chose one agent platform and adapted it to suit our requirements and the idealized management system [Koch and Meyer, 2003]. The system, as well as the additional services, was created on top of this framework. This framework follows the concept of container of agents. Consequently, in the experiments presented in this paper, each machine has a container with the necessary agents running in it. XML documents specify the parameters of each container, the amount of agents that have to be created and their initial knowledge. In order to evaluate the prototype, we created an analyzer agent that distributes the analysis tasks among the agents that compose the analysis grid. It looks for one agent able of providing the requested service and delegate the analysis task to it. They then initiate the activities of analysis, requiring the necessary data. The distribution tests had been carried out in a local area network using a small number of equipments. The description and capacity of the utilized equipments are described at the Table 1. For the accomplishment of the tests, we opted for using an example of analysis task. In the first scene, an analysis agent has to carry out a task that arrives in given time intervals. This agent was configured so that he never has the ability to carry through this task, and must send it to be executed by another agent registered in the grid. The time between arriving of tasks was configured to 10 seconds. The results on the average of resources usage in the Machine A are presented at the Figure 4.a. This graph present the resource usage of this machine carrying out the analysis tasks by itself, and also presents the resource usage when the machine is not being used to carry out any analysis task. In this graph we perceive some characteristics

of the task used for the tests. This task uses much of the processor, raising its use to 67%, and uses a little of the RAM memory of the system. In the second experiment, all the agents had been registered in the grid and were configured as apt to carry out the given analysis task whereby the rules for that. The graph with the average of resource usage can be viewed at the Figure 4.b. This experiment follows a cyclic distribution of the analysis tasks. In this graph we can perceive equalization on the resources usage. The processor and memory usage in Machine A have diminished, passing to 28% and 80% respectively. We also tested a random distribution of the analysis tasks among the agents apt to carry through the task. Such results can be viewed in the graph presented at the Figure 4.c. As well as the cyclical distribution, the random also presents equalization on the resource usage during the activities of analysis of management data. However, both have one problem which consists on the use of non-capable workstations with scarce resources. Another approach, like mentioned previously, is the use of measurers that supply performance statistics and capacity of the resources used for the analysis tasks. This information is used to guide the responsible agent during the scheduling, in the decision process, regarding which agents are able to carry through one given analysis activity. We also have been carried out tests based on the capacity and resource usage of the resources involved (Figure 4.d). Although the measurers collect a set of performance statistics from the resources, in this experiment we used only the processor usage as the main parameter. It is evident that in a grid scenario many other aspects must be taken into account. This work presents only some results of implementation and experimentation of an agentbased architecture for the management of systems and computer networks. The implementation and its experimentation had been presented only some points of the suggested architecture.

5. Load Balance in Grids of Agents for Network Management The previously described architecture for network management was implemented on top of AgentLight platform. This architecture has a necessity of distributing the workload of the processing tasks. This section presents some proposals for promoting the load balancing in that architecture. 5.1. Load Balance Proposal The first model consists of a central scheduler (CE), that performs the resource allocations based on information on the resources’ status extracted periodically from resources by the CE. For the accurately of the scheduling, which is based on information that reflects the current state of the resources, it is necessary to do the updating of the allocation information in the following situations: • When the resource registers itself with the grid; • When a task is assigned to a particular resource, changing its available capacity; • In a determined time interval, guaranteeing that the information is not out-ofdated; • When some events cause considerable alteration to the load of the resource. This model presents some problems. The first problem is the centralization of the scheduling decisions. The second problem is the incapacity of CE to identify the changes on resource usage when they occur. These issues evidence that some activities have to

Usage %

Average of Resource Usage of Machine A 87

100 80 60 40 20 0

93

93 76

67

Processor Memory 11

Executing Tasks

Disk

Not Executing Tasks

(a) Only the Machine A is executing analysis tasks. Resouce Usage - Cyclic Distribution 93

Usage Usage % %

100

80

82

76

80

77

72

87

95 Processor

58

60 40

Memory 29

28

Disk 14

8

20

8

7

8

Tasks

0 Machine A

Machine B

Machine C

Machine D

(b) Cyclical distribution of tasks. Resource Usage - Random Distribution

Usage % Usage %

95

93

100

84

80

72

69

80

Processor

61

55

60 40

83 Memory

33

29

Disk

16

14 15

12

Machine A

Machine B

Machine C

20

9

Tasks

0 Machine D

(c) Random distribution of tasks.

Usage % Usage %

Resource Usage - Based on Processor Capacity and Usage 100 80 60 40 20 0

81

93

84

77

95 76

72

Processor

53

41 6

14 7

Machine A

Machine B

Memory

37

33

Disk 0

Machine C

0

Tasks

Machine D

(d) Distribution based on processor capacity and usage.

Figure 4: Grid test results

be delegate to others to make the model scalable. Thus, another structure is one in which the allocation is responsibility of the CE, but the information about the resource usage changes is supplied by active agents running in each resource. We hope this modification increases the efficiency moving some of the processing operations out of CE. Moreover, the existence of these active agents in each resource opens doors to new possibilities and more elaborated models. In a normal situation the tasks arrive at the grid and are distributed by the root to the available resources to be processed. But some exceptions occur and the system must be able to deal with them. Two different allocation policies are used - receiver-initiated and sender-initiated balancing - to deal with situations that will not be uncommon in our environment (e.g. resources that were recently registered to the grid and that have a great processing capacity available; and resources with a usage percentage near to 100%). In the receiver-initiated balancing scenario, a resource with low processing load, acts directly selecting the tasks that it will execute, instead of waiting passively for the resource allocation. The active agent acts as a scheduler agent in this case. In our model it can be implemented in different ways: • When the resource registers itself with the grid, it informs the CE about its capacity. Based on this resource information, the CE establishes a limit, that if achieved will indicate that the resource will be considered very busy to process more tasks. After the establishment of this limit, the active agent keep informing the CE about the situation of the resource. If in some time the limit is reached, the agent returns the control to CE, resuming the normal operational mode. The scheduler agent can directly access the queue that contains the tasks, select one and initiate its processing. • The scheduler agent can access tasks queue directly, where the tasks are waiting for processing, select them and initiate the processing. These two scenarios presents some advantages: the resources can initiate the processing if it has capacity, instead of waiting for the CE decisions; the scheduler agents can look for overloaded resources and assume the tasks of these resources, freeing them of the load caused by carrying out many tasks. In the sender-initiated balancing case, a node with high load initiates the transference process. The situations this can occur are the following: • The case where processing tasks have not been initiated yet and are waiting in a queue in a resource. The resource searches (in the directory service) the available capacities of other resources and forward the tasks to a chosen resource. • A common situation would be of a node that, due to internal problems, could become overloaded, this way delaying the processing tasks in execution. In this case, instead of promoting a re-allocation of the task, the resource will try its migration. 5.2. Adaptive Load Balancing The modification of the used methods and policies according to the system condition is called adaptive balancing. The system works commonly in a normal situation where tasks arrive and are distributed by CE, based on the information maintained by the directory service. The receiver-initiated balancing take place in two situations: • The CE’s incapacity to efficiently distribute the tasks.

Figure 5: Resource usage rates in normal operation.

• The registration in the grid of a lightly loaded node. In addition, the sender-initiated balancing occur in case of a grid node reaching a load limit that characterizes its overuse. 5.3. Carried Out Experiments We performed the tests in a laboratory composed by 6 computers with 256MB of RAM and a Celeron processor of 850MHz. In order to test the load balancing proposal we firstly defined a basic type of task, which requires a knowledge called A to be carried out. This task, when executed, carries out an input/output operation in a file of 1KB. The execution of the task took 63.27s to be concluded and consumes nearly 2% of the resource. The resource usage was accounted considering only the memory usage. 5.3.1. Initial Scenario-Default Balancing Mode The goal of the first experiment was to verify the correct behavior of the system. Four machines were taken for the test with initial usage of 40.15%, 36.61%, 41.73%, 50.39%. Fifty tasks were sent to the grid with a time interval between arrivals of 2.4s. Figure 5 shows the allocation rates of each resource during this test. 5.3.2. Sender-Initiated Scheduling In this case the tests were performed taking in account situations where the central scheduler cannot outflow the arriving tasks alone. In the first part of this experiment the receiver-initiated mode was disabled. During the second phase, this scheduling was activated when the number of queued tasks exceed 10. In the two parts of this experiment the resources 1 to 4 were with utilization rates of 41%, 47%, 44% and 40% respectively. Thirty tasks were directed to grid with average interval between arrivals of 1.25s. Figure 6 shows the graph with the queue sizes in the two parts of the experiment. The first line shows clearly the functioning of the receiver-initiated scheduling that when

Figure 6: Number of tasks in allocation queue.

enabled hinders the limitless growth of the queue. As consequence the tasks average waiting time for allocation fell from 57.8 to 17.3 s.

6. Conclusions We have been exploring several possibilities of applying Distributed Artificial Intelligence concepts to build network management system. The more we research, the more convinced we are that this is an adequate approach with significant advantages on traditional methods. Our research demonstrates that computer network management has various points of decision, making them candidates for automation through paradigms of computational intelligence. The automation proposed here seeks to decrease manager’s workload, through simulation of his own reasoning on some of these points. Moreover, it seeks to replace decision points for the human manager in extremely complex environments and in those of large scale. All the correlate works investigated apply intelligence in management manipulating data so as to decide on what must be done, but do not discuss how it must be done. We propose the utilization of artificial intelligence targeting how to implement management. This proposal works through sequential stages of data treatment available to management. These stages modulate the problem and allow for future exchanges of information or knowledge among completely different points of management. About grids of agents, we have presented our architecture and explained its current results. We believe that the large distribution of the work load and processing is the only way to reach more intelligent systems – as intelligence can be indirectly mapped to the number of useful inference rules a system has and can process in a given amount of time. Since the concept of grids of agents is relatively new, its utilization in network management must be increasingly more explored. We will enhance the activities carried out up to now, and will proceed with the following work: • Developing better and larger prototypes; • Determining the cutting point where it is advantage to use grids of agents in regarding to the network size and resource availability; • Conduce advanced studies on load balancing and distributed processing and; • Investigating further the utilization of mobile agents as well as integrate our current researches on mobile agents configurations to the grid architecture. Grids of agents, mobile agents and distributed artificial intelligence are cost effective ways of building distributed management systems. These applications are complex

and must be scalable to dimension unimaginable before, in order to cope with the very large communication infrastructures being created today. Only very elaborated software engineering technologies will be able to answer to the new challenges.

References Assuncao, M. D. (2004). Implementation and analysis of a grid of agents architecture for systems and network management. Master dissertation, Federal University of Santa Catarina. Assuncao, M. D., Koch, F., and Westphall, C. B. (2004). Grids of agents for computer and telecommunication network management. Concurrency and Computation: Practice and Experience, 16(5):413–424. Assuncao, M. D., Westphal, C. B., and Koch, F. (2003a). Agent grid architecture applied to computer and telecommunication network management. In 21th Brazilian Symposium on Computer Networks, Natal, Brazil. Assuncao, M. D., Westphall, C. B., and Koch, F. (2003b). Grids of agents for computer and telecommunication network management. In ACM/IFIP/USENIX International Middleware Conference: 1st International Workshop on Middleware for Grid Computing, pages 186–193, Rio de Janeiro, Brazil. Bieszczad, A. and White, T. (1999). Mobile agents for network management. In Glitho, R. and Aidarous, S., editors, The Fundamentals of Network Management. Plenum books. Bohoris, C., Pavloua, G., and Cruickshank, H. (2000). Using mobile agents for network performance management. In Proceedings IFIP/IEEE Network Operations and Management Symposium (NOMS’00), Hawaii, USA. Boudaoud, K. and McCathieNevile, C. (2002). An intelligent agent-based model for security management. In Seventh International Symposium on Computers and Communications - ISCC, pages 877–882. IEEE Computer Society. Foster, I. and Kesselman, C. (2003). The Grid: Blueprint for a New Computing Infrastructure. Morgan-Kaufmann, Orlando, FL, 2nd edition. Foster, I., Kesselman, C., and Tuecke, S. (2001). The anatomy of the grid: Enabling scalable virtual organizations. International J. Supercomputer Applications, 15(3). Gibney, M. A. and Jennings, N. R. (1997). Market based multi-agent systems for atm network management. In Proceeding 4th Communications Networks Symposium, Manchester, UK. GlobalInfotek (2001). The coabs grid: Technical vision. darpa control of agent based systems (coabs) 2001. Technical report, Global Infotek, Inc. and ISX Corporation, http://coabs.globalinfotek.com. Hegazy, I., Al-Arif, T., Fayed, Z., and Faheem, H. (2003). A multi-agent based system for intrusion detection. In IEEE Potentials, volume 22, pages 28–31. IEEE. Jones, L. and Carpenter, T. (2002). Towards decentralized network management and reliability. In Proceedings of The 2002 International Conference on Security and Management, Las Vegas, USA. Koch, F. and Meyer, J.-J. C. (2003). Knowledge based autonomous agents for pervasive computing using agentlight. In ACM/IFIP/USENIX International Middleware Conference MIDDLEWARE 2003. WORK-IN-PROGRESS, Rio de Janeiro, Brazil. IEEE Distributed Systems Online.

Koch, F. and Westphall, C. B. (2001). Decentralized network management using distributed artificial intelligence. Journal Network and System Management, 9(4):375–388. Koch, F. L. and Westphall, C. B. (1998). Distributed artificial intelligence for computer network management a practical approach (in portuguese). In Proceedings Brazilian Symposium on Computer Networks, Rio de Janeiro, BR. Marzo, J.-L., Vil`a, P., and Fabregat, R. (2000). Atm network management based on distributed artificial intelligence architecture. In for Computing Machinery (ACM), T. A., editor, Proceedings of the fourth international conference on Autonomous agents, pages 171–172, Barcelona, Spain. Rubinstein, M. G., Duarte, O. C. M. B., and Pujolle, G. (2002). Evaluating the performance of a network management application based on mobile agents. In Gregori, E., Conti, M., Campbell, A. T., Omidyar, C. G., and Zukerman, M., editors, NETWORKING 2002, volume 2345 of Lecture Notes in Computer Science, pages 515–526, Pisa, Italy. Springer-Verlag. Spindola, T., Westphall, C. B., Assuncao, M. D., and Koch, F. L. (2004). Load balance in grids of agents for computer network management. In 9th Workshop on Management and Operation of Networks And Services, pages 117–128, Gramado, Brazil. Brazilian Computer Society. In Portuguese. Syperrek, B. (2004). Evaluation of negotiation and auction protocols in grids of agents for computer network management. Presented as Individual Work at Federal University of Santa Catarina. In Portuguese. Wooldridge, M. J. and Jennings, N. R. (1995). Intelligent agents: Theory and practice. Knowledge Engineering Review, 10(2):115–152. Xavier, E., Koch, F., and Westphall, C. (2003a). Automations in computer network management utilizing computational intelligence. In The Third IEEE Latin American Network Operations and Management Symposium - LANOMS, Foz do Iguac¸u, BR. Xavier, E., Koch, F., and Westphall, C. (2003b). Using computational intelligence in choosing the best mobile agents configuration for computer network management (in portuguese). In Proceedings of IV ENIA - Encontro Nacional de Inteligˆencia Artificial, XXIII Congresso da SBC, Campinas, BR.

Suggest Documents