Upload
uanzu-nordino
View
6
Download
0
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