50
Mobile Agents Niranjan Suri [email protected] University of West Florida

Mobile Agents

Embed Size (px)

DESCRIPTION

Agents in Mobile Networking

Citation preview

  • Mobile AgentsNiranjan [email protected]

    Mobile Agents Tutorial - Niranjan Suri - Cognition Institute/University of West Florida

  • Mobile Agents Tutorial - Niranjan Suri - Cognition Institute/University of West Florida*OutlineOverview of Agents and Mobile AgentsCharacterization of MobilityAdvantages of Mobile AgentsSystem ComponentsLanguage / Design IssuesApplicationsChallengesSurvey of Mobile Agent SystemsSummary

    Mobile Agents Tutorial - Niranjan Suri - Cognition Institute/University of West Florida

  • Mobile Agents Tutorial - Niranjan Suri - Cognition Institute/University of West Florida*Definition of Software AgentsComputer programAutonomous behaviorRepresents some entityHas authority (delegation)Reacts and learns about environmentCommunicates using high-level Agent Communication Languages (ACLs)

    Mobile Agents Tutorial - Niranjan Suri - Cognition Institute/University of West Florida

  • Mobile Agents Tutorial - Niranjan Suri - Cognition Institute/University of West Florida*Mobile AgentsDefinitionSoftware agentsMove from one computer to anotherUser-directed or autonomous

    Mobile Agents Tutorial - Niranjan Suri - Cognition Institute/University of West Florida

  • Mobile Agents Tutorial - Niranjan Suri - Cognition Institute/University of West Florida*OutlineOverview of Agents and Mobile AgentsCharacterization of MobilityAdvantages of Mobile AgentsSystem ComponentsLanguage / Design IssuesApplicationsChallengesSurvey of Mobile Agent SystemsSummary

    Mobile Agents Tutorial - Niranjan Suri - Cognition Institute/University of West Florida

  • Mobile Agents Tutorial - Niranjan Suri - Cognition Institute/University of West Florida*Characterizing MobilityThree capabilitiesMobile codeMobile computationMobile stateVarious combinations are possible

    Mobile Agents Tutorial - Niranjan Suri - Cognition Institute/University of West Florida

  • Mobile Agents Tutorial - Niranjan Suri - Cognition Institute/University of West Florida*Mobile CodeAllows executable code to be moved to a new hostMay use the push or pull modelPull: AppletsPush: Remote InstallationMobile agents use pushSometimes, an agent push may result in a code pullCode may be binary (intermediate or native) or source

    Mobile Agents Tutorial - Niranjan Suri - Cognition Institute/University of West Florida

  • Mobile Agents Tutorial - Niranjan Suri - Cognition Institute/University of West Florida*Mobile CodeAdvantages:Dynamically change capabilitiesDownload new code to add / change / update capabilities of platformRemove code when no longer neededProblems:Security concerns due to untrusted / unchecked codeCode could be malicious, buggy, and/or tampered

    Mobile Agents Tutorial - Niranjan Suri - Cognition Institute/University of West Florida

  • Mobile Agents Tutorial - Niranjan Suri - Cognition Institute/University of West Florida*Mobile ComputationEvolution of Remote ComputationRPC, RSH, RMI, Servlets, Stored Procedures, CORBAAllows one system to run a computation on another systemUtilize resources on remote systemCPU, memoryAccess resources on remote systemFiles, databases, etc.

    Mobile Agents Tutorial - Niranjan Suri - Cognition Institute/University of West Florida

  • Mobile Agents Tutorial - Niranjan Suri - Cognition Institute/University of West Florida*Mobile StateEvolution of State CaptureCheckpointingAllows execution state of a process to be captured and movedState may be machine specific or machine independentMay containState of single or multiple threadsCode

    Mobile Agents Tutorial - Niranjan Suri - Cognition Institute/University of West Florida

  • Mobile Agents Tutorial - Niranjan Suri - Cognition Institute/University of West Florida*Combinations of Capabilities

    Mobile Agents Tutorial - Niranjan Suri - Cognition Institute/University of West Florida

  • Mobile Agents Tutorial - Niranjan Suri - Cognition Institute/University of West Florida*Strong MobilityMove execution state with agentWhy is it important?Computationally equivalent to weak mobilityHowever, simpler, more natural abstractionTherefore, easier to write mobile agentsMore importantly mobile state allowsforced mobility

    Mobile Agents Tutorial - Niranjan Suri - Cognition Institute/University of West Florida

  • Mobile Agents Tutorial - Niranjan Suri - Cognition Institute/University of West Florida*Weak Mobility Examplepublic class Example extends Aglet { boolean _theRemote = false; public void onCreation (Object init) { addMobilityListener( new MobilityAdapter() { public void onArrival (MobilityEvent e) { _theRemote = true; } } ); } public void run() { if (!_theRemote) { System.out.println (On Source); dispatch(destination); } else { System.out.println (On Destination); } }}

    Mobile Agents Tutorial - Niranjan Suri - Cognition Institute/University of West Florida

  • Mobile Agents Tutorial - Niranjan Suri - Cognition Institute/University of West Florida*Strong Mobility Examplepublic class Example extends Agent{ public static void main (String[] args) { System.out.println (On source); go (destination); System.out.println (On destination); }}

    Mobile Agents Tutorial - Niranjan Suri - Cognition Institute/University of West Florida

  • Mobile Agents Tutorial - Niranjan Suri - Cognition Institute/University of West Florida*OutlineOverview of Agents and Mobile AgentsCharacterization of MobilityAdvantages of Mobile AgentsSystem ComponentsLanguage / Design IssuesApplicationsChallengesSurvey of Mobile Agent SystemsSummary

    Mobile Agents Tutorial - Niranjan Suri - Cognition Institute/University of West Florida

  • Mobile Agents Tutorial - Niranjan Suri - Cognition Institute/University of West Florida*Client-Server Versus Mobile AgentsClientServerServerClientAgentServerClientAgentServerClientAgentTraditionalMobile Agent-Based

    Mobile Agents Tutorial - Niranjan Suri - Cognition Institute/University of West Florida

  • Mobile Agents Tutorial - Niranjan Suri - Cognition Institute/University of West Florida*Advantages of Mobile AgentsReduced network bandwidthDisconnected operationShort On-Line timesLow-power requirementsSupport for mobile unitsLow-latency interaction

    Mobile Agents Tutorial - Niranjan Suri - Cognition Institute/University of West Florida

  • Mobile Agents Tutorial - Niranjan Suri - Cognition Institute/University of West Florida*Jini Versus Mobile AgentsClientDeviceClientDeviceProxyClientDeviceClientDeviceAgentClientDeviceAgent

    Mobile Agents Tutorial - Niranjan Suri - Cognition Institute/University of West Florida

  • Mobile Agents Tutorial - Niranjan Suri - Cognition Institute/University of West Florida*Advantages of Mobile AgentsHighly Dynamic and Flexible SystemsEnabled my mobile codeDownload new capabilities / servicesRemove old / unused capabilitiesSwapping for memory constrained devicesStructure systems around mobile codeUniversal serverOpen Services Gateway Initiative (OSGI)

    Mobile Agents Tutorial - Niranjan Suri - Cognition Institute/University of West Florida

  • Mobile Agents Tutorial - Niranjan Suri - Cognition Institute/University of West Florida*Advantages of Mobile AgentsUnique capability:Send an executable program that does your bidding on someone elses computerVery powerful but can be dangerous!Only one step removed from a Virus

    Mobile Agents Tutorial - Niranjan Suri - Cognition Institute/University of West Florida

  • Mobile Agents Tutorial - Niranjan Suri - Cognition Institute/University of West Florida*Agent Programming ParadigmsItinerant AgentsUse an itinerary that dictates mobility of agentsReactive AgentsEvent-based approachEvents trigger mobility of agentsAgent-MinionMinions: Small mobile agents spawned by larger agents

    Mobile Agents Tutorial - Niranjan Suri - Cognition Institute/University of West Florida

  • Mobile Agents Tutorial - Niranjan Suri - Cognition Institute/University of West Florida*OutlineOverview of Agents and Mobile AgentsCharacterization of MobilityAdvantages of Mobile AgentsSystem ComponentsLanguage / Design IssuesChallengesSurvey of Mobile Agent SystemsSummary

    Mobile Agents Tutorial - Niranjan Suri - Cognition Institute/University of West Florida

  • Mobile Agents Tutorial - Niranjan Suri - Cognition Institute/University of West Florida*System ComponentsExecutionEnvironmentExecutionEnvironment Agent Transfer ProtocolDirectoryServiceMessagingServicePolicyManagerInterpreterVisualizationToolsAdministrationTools Agent Messaging ProtocolAuthenticationEncryptionGlobalDirectoryServiceLoggingServiceGlobalLoggingServiceOther Frameworks(DARPA CoABS Grid, etc.)PersistenceService

    Mobile Agents Tutorial - Niranjan Suri - Cognition Institute/University of West Florida

  • Mobile Agents Tutorial - Niranjan Suri - Cognition Institute/University of West Florida*OutlineOverview of Agents and Mobile AgentsCharacterization of MobilityAdvantages of Mobile AgentsSystem ComponentsLanguage / Design IssuesApplicationsChallengesSurvey of Mobile Agent SystemsSummary

    Mobile Agents Tutorial - Niranjan Suri - Cognition Institute/University of West Florida

  • Mobile Agents Tutorial - Niranjan Suri - Cognition Institute/University of West Florida*Languages for Mobile AgentsJavaNumerous SystemsTCLDAgents, SMIAC/C++OmniwareMiscellaneousTelescriptLisp, Scheme, custom, etc.

    Mobile Agents Tutorial - Niranjan Suri - Cognition Institute/University of West Florida

  • Mobile Agents Tutorial - Niranjan Suri - Cognition Institute/University of West Florida*Advantages of JavaPlatform independentVirtual Machine execution environmentImportant for isolationSmall footprintReal programming languageCompared to TCLMost security consciousThough still not adequate!

    Mobile Agents Tutorial - Niranjan Suri - Cognition Institute/University of West Florida

  • Mobile Agents Tutorial - Niranjan Suri - Cognition Institute/University of West Florida*Limitations of JavaNo state captureImportance:Mobile stateMobile agent systemsLoad balancing (distributed systems)Forced migrationCloning (fault tolerance)CheckpointingFaster VM startupRestarting crashed applicationsPersisting processes for later resumption

    Mobile Agents Tutorial - Niranjan Suri - Cognition Institute/University of West Florida

  • Mobile Agents Tutorial - Niranjan Suri - Cognition Institute/University of West Florida*Limitations of JavaNo resource controlImportance:Protect against denial-of-service attacksMalicious codeBuggy codePrioritize tasksFoundation for providing QoS guarantees

    Mobile Agents Tutorial - Niranjan Suri - Cognition Institute/University of West Florida

  • Mobile Agents Tutorial - Niranjan Suri - Cognition Institute/University of West Florida*Limitations of JavaNo resource accountingImportance:Measuring resource consumptionCharging / billing resource usageObserving behavior of code

    Mobile Agents Tutorial - Niranjan Suri - Cognition Institute/University of West Florida

  • Mobile Agents Tutorial - Niranjan Suri - Cognition Institute/University of West Florida*Directory Service IssuesDifficult to find an agentChase agent aroundFast Moving AgentsMay be difficult/inefficient to update directory service

    Mobile Agents Tutorial - Niranjan Suri - Cognition Institute/University of West Florida

  • Mobile Agents Tutorial - Niranjan Suri - Cognition Institute/University of West Florida*Authentication IssuesAgent AnonymityAgent may want to be anonymous on a hostAnalogy: Window shoppingMultiple HopAgent may not want to carry credentialsCredentials could be stolen by malicious hosts

    Mobile Agents Tutorial - Niranjan Suri - Cognition Institute/University of West Florida

  • Mobile Agents Tutorial - Niranjan Suri - Cognition Institute/University of West Florida*OutlineOverview of Agents and Mobile AgentsCharacterization of MobilityAdvantages of Mobile AgentsSystem ComponentsLanguage / Design IssuesApplicationsChallengesSurvey of Mobile Agent SystemsSummary

    Mobile Agents Tutorial - Niranjan Suri - Cognition Institute/University of West Florida

  • Mobile Agents Tutorial - Niranjan Suri - Cognition Institute/University of West Florida*Applications of Mobile AgentsInformation RetrievalMobile agents reduce network bandwidthDepends on:Quantity of information searchedQuantity of information retrievedSize of mobile agentComprehensive study for DARPADartmouth College, Lockheed Martin ATL,University of West Florida

    Mobile Agents Tutorial - Niranjan Suri - Cognition Institute/University of West Florida

  • Mobile Agents Tutorial - Niranjan Suri - Cognition Institute/University of West Florida*Applications of Mobile AgentsMonitoringComputer programs can be very patient Remote ControlDynamic SystemsUniversal serversActive MailSend executable content as email

    Mobile Agents Tutorial - Niranjan Suri - Cognition Institute/University of West Florida

  • Mobile Agents Tutorial - Niranjan Suri - Cognition Institute/University of West Florida*OutlineOverview of Agents and Mobile AgentsCharacterization of MobilityAdvantages of Mobile AgentsSystem ComponentsLanguage / Design IssuesApplicationsChallengesSurvey of Mobile Agent SystemsSummary

    Mobile Agents Tutorial - Niranjan Suri - Cognition Institute/University of West Florida

  • Mobile Agents Tutorial - Niranjan Suri - Cognition Institute/University of West Florida*Challenges for Mobile AgentsSecurity IssuesProtecting network communicationProtecting hosts from agentsIllegal accessDenial of serviceProtecting agents from hostsTamperingExtracting informationCapture / ReplaySystem-wide Administration / ManagementPoliciesTracking / Visualization

    Mobile Agents Tutorial - Niranjan Suri - Cognition Institute/University of West Florida

  • Mobile Agents Tutorial - Niranjan Suri - Cognition Institute/University of West Florida*Challenges for Mobile AgentsAccess to non-mobile resourcesNetwork endpointsFilesDeployment (of environments)InteroperabilityOMG MASIF Not successfulDARPA CoABS We shall seeDebuggingHighly Asynchronous

    Mobile Agents Tutorial - Niranjan Suri - Cognition Institute/University of West Florida

  • Mobile Agents Tutorial - Niranjan Suri - Cognition Institute/University of West Florida*OutlineOverview of Agents and Mobile AgentsCharacterization of MobilityAdvantages of Mobile AgentsSystem ComponentsLanguage / Design IssuesApplicationsChallengesSurvey of Mobile Agent SystemsSummary

    Mobile Agents Tutorial - Niranjan Suri - Cognition Institute/University of West Florida

  • Mobile Agents Tutorial - Niranjan Suri - Cognition Institute/University of West Florida*Survey of Mobile Agent SystemsCommercial SystemsTelescript/Odyssey - General MagicVoyager - ObjectSpaceAglets - IBMConcordia - Mitsubishi Electric ITAJumping Beans - AdAstra

    Mobile Agents Tutorial - Niranjan Suri - Cognition Institute/University of West Florida

  • Mobile Agents Tutorial - Niranjan Suri - Cognition Institute/University of West Florida*Survey of Mobile Agent SystemsResearch SystemsNOMADSKAoSDAgentsAgents for Remote Action (ARA)MoleSumatraMany others...Mobile Agent List:http://www.informatik.uni-stuttgart.de/ipvr/vs/projekte/mole/mal/mal.html

    Mobile Agents Tutorial - Niranjan Suri - Cognition Institute/University of West Florida

  • Mobile Agents Tutorial - Niranjan Suri - Cognition Institute/University of West Florida*NOMADSJava-based mobile agent systemStrong mobilityCapture full execution state of running agentsProvides anytime mobility simplifies writing mobile agentsProvides forced mobility arbitrary Java code can be movedStrong securityDynamically control resource usage (rates and quantities)Allows platform owner full control over agent executionProtect against denial of service attacks

    Mobile Agents Tutorial - Niranjan Suri - Cognition Institute/University of West Florida

  • Mobile Agents Tutorial - Niranjan Suri - Cognition Institute/University of West Florida*Strong SecurityLimitations of current Java systemsRely on JDK securityDoes not provide resource controlEither assume agents are safeDoes not scaleOr rely on code signingNot a preventive measureGoal: Build secure execution environmentsRun untrusted or partially-trusted code

    Mobile Agents Tutorial - Niranjan Suri - Cognition Institute/University of West Florida

  • Mobile Agents Tutorial - Niranjan Suri - Cognition Institute/University of West Florida*Aroma Virtual MachineClean-room implementationState capture mechanismDynamic, fine-grained resource controlDisk, Network, CPUJDK 1.2.2 compatibleUses Java Platform API from JRE 1.2.2No AWT / SwingPorted to Win32 (x86), Linux (x86), Solaris (SPARC)No Just-In-Time compilation(Almost) No optimization

    Mobile Agents Tutorial - Niranjan Suri - Cognition Institute/University of West Florida

  • Mobile Agents Tutorial - Niranjan Suri - Cognition Institute/University of West Florida*State CaptureAroma supports two modesFull VM stateAll threads, loaded classes, objectsState may be restored into a blank VMSize: Approx 1.5 MBIndividual thread stateMethod stack and all reachable objectsThread may be restored into running VMSize: Approx 4 KB

    Mobile Agents Tutorial - Niranjan Suri - Cognition Institute/University of West Florida

  • Mobile Agents Tutorial - Niranjan Suri - Cognition Institute/University of West Florida*State CaptureState capture is fine-grainedBetween any two Java bytecode instructionsSupports blocked, waiting, sleeping, and suspended threadsState is platform independentState may be stored in memory, saved to disk, or streamed over the network

    Mobile Agents Tutorial - Niranjan Suri - Cognition Institute/University of West Florida

  • Mobile Agents Tutorial - Niranjan Suri - Cognition Institute/University of West Florida*Resource ControlRate controlControl rate at which resources are usedDynamically adjustableFine grainedExamples:CPU limited to 10%Disk write rate limited to 30 KB/secNetwork read rate limited to 10 KB/sec

    Mobile Agents Tutorial - Niranjan Suri - Cognition Institute/University of West Florida

  • Mobile Agents Tutorial - Niranjan Suri - Cognition Institute/University of West Florida*Resource ControlQuantity controlControl quantity of resources usedDynamically adjustableFine grainedExamples:Disk space limited to 1.8 MBTotal network writes limited to 1024 KB

    Still needed: memory

    Mobile Agents Tutorial - Niranjan Suri - Cognition Institute/University of West Florida

  • Mobile Agents Tutorial - Niranjan Suri - Cognition Institute/University of West Florida*Benefits of Resource ControlProtect host from malicious agentsPrevent denial of service attacksSimplify agent writers taskAgents do not need to worry about resource control / limitsMeans of prioritizationRaising limits increases priorityBasis for Quality of ServiceMeans of accounting

    Mobile Agents Tutorial - Niranjan Suri - Cognition Institute/University of West Florida

  • Mobile Agents Tutorial - Niranjan Suri - Cognition Institute/University of West Florida*OutlineOverview of Agents and Mobile AgentsCharacterization of MobilityAdvantages of Mobile AgentsSystem ComponentsLanguage / Design IssuesApplicationsChallengesSurvey of Mobile Agent SystemsSummary

    Mobile Agents Tutorial - Niranjan Suri - Cognition Institute/University of West Florida

  • Mobile Agents Tutorial - Niranjan Suri - Cognition Institute/University of West Florida*SummaryMobile Agents are Good Code mobility adds significant flexibilitySecurity is CriticalDeployment is DifficultNo InteroperabilityMHMPMPD

    Mobile Agents Tutorial - Niranjan Suri - Cognition Institute/University of West Florida