Load Balancing using Mobile Agent Approach Prepared by: Wong Tsz Yeung,Ah Mole Supervisor : Prof. Michael Lyu 18 December 2000.

Slides:



Advertisements
Similar presentations
DISTRIBUTED COMPUTING PARADIGMS
Advertisements

Mobile Agents Mouse House Creative Technologies Mike OBrien.
Chapter 16: Multiagent Systems Service-Oriented Computing: Semantics, Processes, Agents – Munindar P. Singh and Michael N. Huhns, Wiley, 2005.
Web Services Nasrullah. Motivation about web service There are number of programms over the internet that need to communicate with other programms over.
MODELLING OF MOBILE AGENT SYSTEMS USING dynPLA APPROACH Agnė Paulauskaitė-Tarasevičienė Henrikas Pranevičius 1.
SELBO Agent Ivan Minov University of Plovdiv “Paisii Hilendarski“
Network+ Guide to Networks, Fourth Edition
PZ13B Programming Language design and Implementation -4th Edition Copyright©Prentice Hall, PZ13B - Client server computing Programming Language.
 Introduction Originally developed by Open Software Foundation (OSF), which is now called The Open Group ( Provides a set of tools and.
Interactive Systems Technical Design Seminar work: Web Services Janne Ojanaho.
Active Directory: Final Solution to Enterprise System Integration
© Chinese University, CSE Dept. Distributed Systems / Distributed Systems Topic 1: Characterization and Design Goals Dr. Michael R. Lyu Computer.
A New Computing Paradigm. Overview of Web Services Over 66 percent of respondents to a 2001 InfoWorld magazine poll agreed that "Web services are likely.
Distributed Systems Architectures
Introduction and Overview “the grid” – a proposed distributed computing infrastructure for advanced science and engineering. Purpose: grid concept is motivated.
Design, Implementation, and Experimentation on Mobile Agent Security for Electronic Commerce Applications Anthony H. W. Chan, Caris K. M. Wong, T. Y. Wong,
Applications of agent technology in communications: a review S. S. Manvi &P. Venkataram Presented by Du-Shiau Tsai Computer Communications, Volume 27,
AgentOS: The Agent-based Distributed Operating System for Mobile Networks Salimol Thomas Department of Computer Science Illinois Institute of Technology,
CS 341 Networked Systems and Applications Sami Rollins Spring 2004.
Network+ Guide to Networks, Fourth Edition Chapter 1 An Introduction to Networking.
Distributed Computer Security 8.2 Discretionary Access Control Models - Sai Phalgun Tatavarthy.
Introduction to Database Systems 1.  Assignments – 3 – 9%  Marked Lab – 5 – 10% + 2% (Bonus)  Marked Quiz – 3 – 6%  Mid term exams – 2 – (30%) 15%
Introduction to Databases Transparencies 1. ©Pearson Education 2009 Objectives Common uses of database systems. Meaning of the term database. Meaning.
A User Experience-based Cloud Service Redeployment Mechanism KANG Yu.
Network+ Guide to Networks, Fourth Edition Chapter 1 An Introduction to Networking.
Computer Network By Tahir Saad. Introduction to computer networking Content : The definitions of networking Use of network Network classification.
16-1 The World Wide Web The Web An infrastructure of distributed information combined with software that uses networks as a vehicle to exchange that information.
Chapter Intranet Agents. Chapter Background Intranet: an internal corporate network based on Internet technology. Typically, an intranet can.
1 CS 456 Software Engineering. 2 Contents 3 Chapter 1: Introduction.
Chapter 6 Operating System Support. This chapter describes how middleware is supported by the operating system facilities at the nodes of a distributed.
The Semantic Web Service Shuying Wang Outline Semantic Web vision Core technologies XML, RDF, Ontology, Agent… Web services DAML-S.
Agent Model for Interaction with Semantic Web Services Ivo Mihailovic.
EEL 5937 What makes an agent? EEL 5937 Multi Agent Systems Lotzi Bölöni.
Unit – I CLIENT / SERVER ARCHITECTURE. Unit Structure  Evolution of Client/Server Architecture  Client/Server Model  Characteristics of Client/Server.
DISTRIBUTED COMPUTING PARADIGMS. Paradigm? A MODEL 2for notes
CH1. Hardware: CPU: Ex: compute server (executes processor-intensive applications for clients), Other servers, such as file servers, do some computation.
1 FAQ’S ABOUT WAP Presented By Abhilash Pillai CSCI 5939-Independent Study.
MOBILE AGENTS What is a software agent ? Definition of an Agent (End-User point of view): An agent is a program that assists people and acts on their behalf.
Enabling Peer-to-Peer SDP in an Agent Environment University of Maryland Baltimore County USA.
DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S
Introduction Infrastructure for pervasive computing has many challenges: 1)pervasive computing is a large aspect which includes hardware side (mobile phones,portable.
OPERATING SYSTEM SUPPORT DISTRIBUTED SYSTEMS CHAPTER 6 Lawrence Heyman July 8, 2002.
CS795.Net Impersonation… why & How? Presented by: Vijay Reddy Mara.
Distributed Database. Introduction A major motivation behind the development of database systems is the desire to integrate the operational data of an.
Hwajung Lee.  Interprocess Communication (IPC) is at the heart of distributed computing.  Processes and Threads  Process is the execution of a program.
CORBA1 Distributed Software Systems Any software system can be physically distributed By distributed coupling we get the following:  Improved performance.
Mobile Agents For Mobile Computing Department Of Computer Science – Dartmouth College Robert Gray David Kotz Saurab Nog Daniela Rus George Cybenko.
Introduction to Grids By: Fetahi Z. Wuhib [CSD2004-Team19]
Kemal Baykal Rasim Ismayilov
© Chinese University, CSE Dept. Distributed Systems / Distributed Systems Topic 1: Characterization of Distributed & Mobile Systems Dr. Michael R.
Lecture 4 Mechanisms & Kernel for NOSs. Mechanisms for Network Operating Systems  Network operating systems provide three basic mechanisms that support.
Data Communications and Networks Chapter 9 – Distributed Systems ICT-BVF8.1- Data Communications and Network Trainer: Dr. Abbes Sebihi.
Web Services An Introduction Copyright © Curt Hill.
Providing web services to mobile users: The architecture design of an m-service portal Minder Chen - Dongsong Zhang - Lina Zhou Presented by: Juan M. Cubillos.
A Portrait of the Semantic Web in Action Jeff Heflin and James Hendler IEEE Intelligent Systems December 6, 2010 Hyewon Lim.
CHAPTER - 4 COMPUTER NETWORK Dr. BALAMURUGAN MUTHURAMAN
Intro to Distributed Systems Hank Levy. 23/20/2016 Distributed Systems Nearly all systems today are distributed in some way, e.g.: –they use –they.
INTRODUCTION TO HIGH PERFORMANCE COMPUTING AND TERMINOLOGY.
A Context Framework for Ambient Intelligence
Chapter 16: Distributed System Structures
Distributed System Structures 16: Distributed Structures
Mobile Agents M. L. Liu.
Bina Ramamurthy Chapter 9
Unit V Mobile Middleware.
Bina Ramamurthy Chapter 9
Network+ Guide to Networks, Fourth Edition
Multithreaded Programming
Bina Ramamurthy Chapter 9
AGENT FRAMEWORK By- Arpan Biswas Rahul Gupta.
Presentation transcript:

Load Balancing using Mobile Agent Approach Prepared by: Wong Tsz Yeung,Ah Mole Supervisor : Prof. Michael Lyu 18 December 2000

Introduction (1)  Autonomous Agents  2 kinds of research going on :  Multi-Agent System; and  Mobile Agent  How do they different??  What are the advantages and disadvantages of using them??

Introduction (2)  Parallel Computing  Load Balancing  In the past - Super Computer with multi- processor  Nowadays - Cluster of Single of multi-processor machines  Can we build a system that combine the advantages of agent and load balancing??

Multi-Agent System (MAS) (1)  The goal of MAS :  Creating a system that interconnects separately developed agents, thus enabling the ensemble to function beyond the capabilities of any singular agent in the system.  Implication: Specialization on agents.

Multi-Agent System (MAS) (2)  Every Agent is specialized to perform particular task.  To perform a task, an agent that is on behalf of the user need to communicate with one or more agents in order to complete a task.

Multi-Agent System (MAS) (3)  All the agents in a MAS can be provided by one by more venders given that:  Agents are using the same language in communication.  Agents are having the same kind of knowledge.

Multi-Agent System (MAS) (4)  For Example:  A business from US wants to arrange a trip from New York to Hong Kong.  He has to plan:  Which airline will he take??  Which hotel will he stay??

Multi-Agent System (MAS) (5)  Fortunately, the business man has a personal agent.  i.e. his secretary  Then, the secretary phones the airline companies and hotels for information.

Multi-Agent System (MAS) (6)  She can make a final decision based on the criteria given by her boss.  E.g.  Choose the cheapest airline.  Choose the most comfortable hotel.  The above case shows how human agents work.

Multi-Agent System (MAS) (7)  We can treat the above case as: Agent user Airline Agent 1 Airline Agent 2 Hotel Agent 1 Hotel Agent 2

Multi-Agent System (MAS) (8)  Advantages  Technically speaking  It is autonomous in the sense that the agent can find a service provider, query for suitable information and determine the final result.  Every service provider has its own implementation. However, it is transparent to the user agent.

Multi-Agent System (MAS) (9)  Economically speaking  Every agent is specialized, so it can sell the service. User can buy the service which meets he/she criteria.

Challenges in MAS (1)  Information Discovery Problem  Human Agent : Go to Yahoo! to search for the related information.  How can software agent locate other agents??

Challenges in MAS (2) Service-seeking agent Discovery server Lookup server service provider Searching for service provider. Return a list of name of service provider. Lookup the address of a service provider. Successfully locate a service provider.

Challenges in MAS (3)  The Discover server provides yellow page service.  The Lookup server provides white page service.  Jini also has such discovery-and-lookup mechanism.

Challenges in MAS (4)  Communication Problem  It is the communication language problem.  E.g. On the Internet, we have HTML which is widely used.  An agent-to-agent language is more preferable.  KQML - Knowledge Query Markup Language.  ACL - Agent Communication Language from FIPA.

Challenges in MAS (5)  Ontology Problem  It is problem dealing with the context of the communication language.  E.g. Bus has a meaning in the transportation field while it is different in computer field.  The agents involved in a MAS must agree on and share a common definition of concepts.

Challenges in MAS (6)  This problem hinders the development of agent interoperability.  Systems tend to use their own knowledge database.  we cannot plug another agent into the current existing MAS, unless we are using the same knowledge base.

Mobile Agent (MA) (1)  The goal of Mobile Agent  You delegate tasks to an agent. The agent will do the tasks for you.  Instead of passing message among agents, mobile agent can migrate across the network (hence mobile) representing users in various tasks (hence agents).

Mobile Agent (MA) (2)  Potential application domains of MA  Data-intensive application.  Disconnected computing.  However, the sad fact is  there is no application that would not exist without mobile agents.  Every mobile agent application will have its client-server counterpart such as RPC or sockets.

Mobile Agent (MA) (3)  The difference between MA and MAS  They have similar properties.  Mobile agent can migrate itself to other hosts.

Load Balancing (1)  Imagine that you are inside a factory :  Our Goal : to minimize the total length of time needed to process a fixed set of tasks. Machine B Machine C Machine A ? ? ?

Load Balancing (2)  Our approach is a greedy approach.  Whenever a new job comes in the system, we search for the machine that has the minimum load.  We assign the new job to the minimum- load machine.

Description of the System (1)  Suppose we are given:  n identical processing units, namely Pi where 1 <= i <= n  A set of tasks: T = {T1, T2, …, Tm}  A partial-order < on T and a function where is mapping that maps T to real number >= 0

Description of the System (2)  Once a processor Pi begins a task Tj, It works without interruption on Tj until completion  The time that is taken : (Tj).  If Ti < Tj, Tj cannot be started until Ti is completed.

Description of the System (3)  Pi executes the task Tj in the following way:  We are given a linear ordering  L is called a task list.  In any time t, a Pi completes a task, it immediately scans the list L. L : (Tk1, …, Tkm)

Description of the System (4)  Pi scans from the beginning of L until it comes to the first task Tj which has not yet begun to be executed.  If Ti < Tj and Ti has been finished, Pi begins to executes Tj.  Otherwise, Pi proceeds to the next task in L which has not begun executing.

Description of the System (5)  If Pi proceeds through the entire list L without finding a task to execute, then Pi becomes idle.  Idle means Pi is executing an empty task.  Pi remains idle until some other Pj completes a task.

Description of the System (6)  At that time, Pi immediately scans the list L as before for possible tasks to execute.  If Pi and Pj, i < j, simultaneously attempt to begin the same task Tk, the processor with the smaller index will execute Tk, i.e. Pi.

Description of the System (7)  The processors all start scanning L at time t = 0 and proceed in the above- mentioned fashion until some time w.  Our aim is to minimize w.

Description of the System (8)  E.g. 1.  n = 3  L : (T3, T1, T2, T4, T6, T5, T7, T8)  Partial relation : T1/4T2/3 T4/5 T6/2T7/2 T3/1T5/3 T8/3

Description of the System (9)  E.g 1 (continued) P1 P2 P3 T1/4T2/3 T4/5 T6/2T7/2 T3/1T5/3 T8/ L : (T3, T1, T2, T4, T6, T5, T7, T8) 2 T1 T4 T6T7 3 T2 T3 1 T8 3 T5 3 E1 2 E2 2

Description of the System (13)  E.g. 3

Description of the System (14)  From the above observations, we can conclude that w is a function of :  Task list L  Partial order <  Time function  Number of processors n

Description of the System (14)  It seems that we can improve w by:  Change the task list L  Decrease the function  Relax the partial-order <  Change the number of processors from n to n'

Description of the System (15)  However, there are counter-examples show that is not always the case!!  The bound is:

Description of the System (16)  Back to our greedy approach  We know that no matter how bad our design is, there is still a bound that governs the maximum time needed.  It can be proved that the bound for such a system is:

Load Balancing using Mobile Agent Approach (1)  Currently, load balancing decision is centralized.  There is a switch which gathers load information of all servers.  Then, it decides which machine should be chosen to assign an incoming task.  The switch may collect loading status from all machines periodically, say every 1 second.

Load Balancing using Mobile Agent Approach (2)  Our approach for load-balancing decision is a decentralized one.  The computations of load balancing decision making are not performed on the switch, but on the back-end servers.

Load Balancing using Mobile Agent Approach (3)  When a customer arrives, it will encapsulate the customer's request into an mobile agent  The agent will go to find a server that has the minimum load autonomously.

Load Balancing using Mobile Agent Approach (4)  Multiple-Hop Mobile Agent Approach switch server

Load Balancing using Mobile Agent Approach (5)  Advantage  We distribute the load of the switch to the server, this can increase the efficiency of the switch in creating agents.  We can have a platform-independent load balancing scheme since the dispatched agent can run on the different machines given that a unique agent execution environment is provided.

Load Balancing using Mobile Agent Approach (5)  Disadvantage  our scheme will be a failure if the number of servers is too large.  As we have to travel all server once, the load information will be out-of-date or incorrect at the time when decision is made.  If the number of servers is small and the agents are migrating fast enough, this will be a very efficient scheme.

Load Balancing using Mobile Agent Approach (6)  Multi-Multi-Hop Mobile Agent Approach  Since the efficiency of the multi-hop approach is restricted by the number of servers, we are now sending multiple agents in this new scheme.  After all the agents finished calculating the sub-minimal, they will gather together to calculate global minimum load.

Load Balancing using Mobile Agent Approach (7)  Advantage  By using mobile agent, we can calculate the load status with respect to the nature of the service.  For example, if the task is a memory intensive process, we have no reason to treat the CPU load as the load information.  Therefore, we can plug a suitable instruction to the mobile agent in order to calculate the load status.

Load Balancing using Mobile Agent Approach (8)  Disadvantage  The mobile agent approach introduces undesirable load to servers as the agents calculate the load information before the execution by incoming tasks.  Mobile agent is typically written by script language or Java. They are much slower than currently adopted approaches.

Conclusion (1)  Two kinds of agents are examined: Multi-agent system and Mobile agent.  Their advantages as well as disadvantages are discussed.  Load Balancing is an old research topic, however, many domains are adopting this issues such as clusters of computers.

Conclusion (2)  The possibilities of combining mobile agent and load balancing are illustrated.  This shows that with the autonomous characteristics of agents, we can improve the current load balancing decision schemes.

Future Works  Continue to investigate more about agent.  Continue to think of the possibilities of combining mobile agent and load balancing techniques.

~~ END ~~