86
Mobile Software Agents April 18, 2001

Mobile Software Agents April 18, 2001. Introduction: History research on agents was originated by J. McCarthy in the mid-1970’s the term agent was coined

  • View
    218

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Mobile Software Agents April 18, 2001. Introduction: History research on agents was originated by J. McCarthy in the mid-1970’s the term agent was coined

Mobile Software Agents

April 18, 2001

Page 2: Mobile Software Agents April 18, 2001. Introduction: History research on agents was originated by J. McCarthy in the mid-1970’s the term agent was coined

Introduction: History

• research on agents was originated by J. McCarthy in the mid-1970’s

• the term agent was coined by O.G. Selfridge

Page 3: Mobile Software Agents April 18, 2001. Introduction: History research on agents was originated by J. McCarthy in the mid-1970’s the term agent was coined

Introduction: According to some...

Agent

is an intelligent robot, or “humanoid”, that has emotions, feelings and perceptions, and therefore is concerned with cognitive science, speech acts, etc.

Page 4: Mobile Software Agents April 18, 2001. Introduction: History research on agents was originated by J. McCarthy in the mid-1970’s the term agent was coined

Introduction: contents of this talk

• What are they? What can they do?

• Main characteristics

• Basic definitions

• Agents and DOOP

• Mobile agent languages

• Reasoning and learning techniques

Page 5: Mobile Software Agents April 18, 2001. Introduction: History research on agents was originated by J. McCarthy in the mid-1970’s the term agent was coined

Agents - what are they?

Page 6: Mobile Software Agents April 18, 2001. Introduction: History research on agents was originated by J. McCarthy in the mid-1970’s the term agent was coined

a tool (program) to perform client-server computing by transmitting running programs between clients and servers; (White 1994)

Agents - what are they?

server

Page 7: Mobile Software Agents April 18, 2001. Introduction: History research on agents was originated by J. McCarthy in the mid-1970’s the term agent was coined

Client-Server vs. Mobile Agents

Client

Server Server

Client

Agent

Server

Client

Agent

Server

Client

Agent

Traditional Mobile Agent-Based

Page 8: Mobile Software Agents April 18, 2001. Introduction: History research on agents was originated by J. McCarthy in the mid-1970’s the term agent was coined

find and filter information

customize views of information (e.g. email)

automate work (respond to events, such as a new version)

Agents - what can they do?

Page 9: Mobile Software Agents April 18, 2001. Introduction: History research on agents was originated by J. McCarthy in the mid-1970’s the term agent was coined

make recommendations and perform corporate tasks; e.g. scheduling of meetings

• execute diagnostics, e.g. in networks

• rapid (re)deployment of applications

• active network load balancing

Agents - what can they do?

Page 10: Mobile Software Agents April 18, 2001. Introduction: History research on agents was originated by J. McCarthy in the mid-1970’s the term agent was coined

distributed OO adaptive learning systems AI, expert systems, genetic algorithms electronic commerce

• collaborative environment

• mobile (nomadic) computing

Agents - where are they used?

Page 11: Mobile Software Agents April 18, 2001. Introduction: History research on agents was originated by J. McCarthy in the mid-1970’s the term agent was coined

Agents - main characteristics

Page 12: Mobile Software Agents April 18, 2001. Introduction: History research on agents was originated by J. McCarthy in the mid-1970’s the term agent was coined

autonomous execution (life); have control over their own actions and may operate without the direct intervention of humans

intelligent (perform domain oriented reasoning)

Agents - main characteristics

Page 13: Mobile Software Agents April 18, 2001. Introduction: History research on agents was originated by J. McCarthy in the mid-1970’s the term agent was coined

perceive their environment

adaptive (they learn)

mobile (they move)

persistent (they have their own idea as to how to accomplish a task)

Agents - main characteristics

Page 14: Mobile Software Agents April 18, 2001. Introduction: History research on agents was originated by J. McCarthy in the mid-1970’s the term agent was coined

goal oriented (they realize a set of goals)

reactive (or reflexive); they perceive environment and timely and accurately respond to changes that occur in it

• active, or proactive: act to accomplish goals (take initiative not only respond to the environment)

Agents - main characteristics

Page 15: Mobile Software Agents April 18, 2001. Introduction: History research on agents was originated by J. McCarthy in the mid-1970’s the term agent was coined

• An intelligent agent has some artificial intelligence; for example based on a set of facts and inference rules (ES)

• learning agents are adaptive; they can learn themselves about a subject in question by statistically matching subjects of interest with particular people

Intelligent Agents

Page 16: Mobile Software Agents April 18, 2001. Introduction: History research on agents was originated by J. McCarthy in the mid-1970’s the term agent was coined

Basic Definitions

Page 17: Mobile Software Agents April 18, 2001. Introduction: History research on agents was originated by J. McCarthy in the mid-1970’s the term agent was coined

• An agent system can create, interpret, execute, transfer and terminate agents

• A host can contain several agent systems; each is uniquely identified by its name and address.

Basic Definitions

Page 18: Mobile Software Agents April 18, 2001. Introduction: History research on agents was originated by J. McCarthy in the mid-1970’s the term agent was coined

• Both, an agent and an agent system have an authority; a person or organization for whom they act

• An agent executes in a context, called the place; there may be one or more places within an agent system

Basic Definitions

Page 19: Mobile Software Agents April 18, 2001. Introduction: History research on agents was originated by J. McCarthy in the mid-1970’s the term agent was coined

• agents have locations (names of their current places)

• agents have names (the agent’s authority and identity; a unique value)

Basic Definitions

Page 20: Mobile Software Agents April 18, 2001. Introduction: History research on agents was originated by J. McCarthy in the mid-1970’s the term agent was coined

Basic Definitions

There are two kinds of agents:

• stationary agent is permanently attached to a place; often resource managers, server programs or search engines

• mobile agent can move from one place to another

Page 21: Mobile Software Agents April 18, 2001. Introduction: History research on agents was originated by J. McCarthy in the mid-1970’s the term agent was coined

Agents and DOOP: DOOP

•distribute applications use a number of network nodes, rather than a single node

•communicate; for example by •messaging (asynchronous) MPI (Message Passing Interface)•remote procedure call (RPC), Remote Method Invocation (RMI) (synchronous)

Page 22: Mobile Software Agents April 18, 2001. Introduction: History research on agents was originated by J. McCarthy in the mid-1970’s the term agent was coined

Agents and DOOP: Efficiency

Which one is better,

•to send data to the program

• to send a program to the source of data (move the code closer to data)

Page 23: Mobile Software Agents April 18, 2001. Introduction: History research on agents was originated by J. McCarthy in the mid-1970’s the term agent was coined

Client-Server vs. Mobile Agents

Client

Server Server

Client

Agent

Server

Client

Agent

Server

Client

Agent

Traditional Mobile Agent-Based

Page 24: Mobile Software Agents April 18, 2001. Introduction: History research on agents was originated by J. McCarthy in the mid-1970’s the term agent was coined

Agents and DOOP: Robustness

Agents are better in their ability to recover from server breakdowns or unavailability

(disconnected operations)

Page 25: Mobile Software Agents April 18, 2001. Introduction: History research on agents was originated by J. McCarthy in the mid-1970’s the term agent was coined

Agents and DOOP: Flexibility

•Mobile agents are particularly useful for rapid deployment of applications and dynamic updates of software; a code server can provide required code (this is also called code on demand).

•Agents can be used for dynamic extensions of server services.

Page 26: Mobile Software Agents April 18, 2001. Introduction: History research on agents was originated by J. McCarthy in the mid-1970’s the term agent was coined

Agents and DOOP: Design

Designing a client/server architecture requires making all decisions about the communication between the server(s) and the client(s). These decisions are tightly coupled with the underlying problem of specific design and are very difficult or even impossible to change.

Page 27: Mobile Software Agents April 18, 2001. Introduction: History research on agents was originated by J. McCarthy in the mid-1970’s the term agent was coined

Mobile Agent Languages

Page 28: Mobile Software Agents April 18, 2001. Introduction: History research on agents was originated by J. McCarthy in the mid-1970’s the term agent was coined

• An executing unit, EU is a single process (or thread) image of execution.

• EU is always considered in the context of a place, which contains components; either EUs, or resources, such as files.

• A MAL is a language designed for distributed systems, which supports EUs migrating between various places.

Mobile Agent Languages: Definitions

Page 29: Mobile Software Agents April 18, 2001. Introduction: History research on agents was originated by J. McCarthy in the mid-1970’s the term agent was coined

• An EU consists of – a static code segment – a program state:

• data space containing accessible resources

• execution state containing system information such as program counter and return address.

• The EU has a distributed state if its data space exists in more than one place.

Mobile Agent Languages: Definitions

Page 30: Mobile Software Agents April 18, 2001. Introduction: History research on agents was originated by J. McCarthy in the mid-1970’s the term agent was coined

• For an agent to be moved, first it has to be suspended. An entry point is a point where execution of a suspended agent is resumed

• Two kinds of resumption:– standard resumption (after “go”)– itinerary; one or more entry points may be

explicitly specified.

Mobile Agent Languages: Definitions

Page 31: Mobile Software Agents April 18, 2001. Introduction: History research on agents was originated by J. McCarthy in the mid-1970’s the term agent was coined

• Strong mobility means that the entire code and execution state of EUs can be moved

• Strong mobility combined with standard resumption == strong MAL (implies that it must be possible to save the state of the execution, and later, to restore this state)

Mobile Agent Languages: Definitions

Page 32: Mobile Software Agents April 18, 2001. Introduction: History research on agents was originated by J. McCarthy in the mid-1970’s the term agent was coined

• Strong MALs:– Java with a modified JVM

• Weak MALs:– Aglets

Mobile Agent Languages: Definitions

Page 33: Mobile Software Agents April 18, 2001. Introduction: History research on agents was originated by J. McCarthy in the mid-1970’s the term agent was coined

Mobile Agent Languages: Dynamic Linking

Page 34: Mobile Software Agents April 18, 2001. Introduction: History research on agents was originated by J. McCarthy in the mid-1970’s the term agent was coined

• Name resolution must be able to bind names to both local and remote entities

• remote code dynamic linking: the code downloaded from a remote site and linked with an EU

• local resource dynamic linking: arriving EU links with resources available in this place; e.g. link with libraries.

Mobile Agent Languages: Dynamic Linking

Page 35: Mobile Software Agents April 18, 2001. Introduction: History research on agents was originated by J. McCarthy in the mid-1970’s the term agent was coined

• the standard class loader provides local resource linking and the user defined class loader can support remote code linking

• The programmer has a choice of– fully resolving the class, i.e. load the code

closure – partially resolving the class, i.e. postpone

resolving dependent classes until later time.

Mobile Agent Languages: Dynamic Linking in Java

Page 36: Mobile Software Agents April 18, 2001. Introduction: History research on agents was originated by J. McCarthy in the mid-1970’s the term agent was coined

Mobile Agent Languages: Dynamic Linking in MALs

• library site provides precompiled code that can be picked up by an agent to use at other sites

• we consider three kinds of dynamic linking:

1. Local only dynamic linking: All the bindings are voided when a program moves.

Page 37: Mobile Software Agents April 18, 2001. Introduction: History research on agents was originated by J. McCarthy in the mid-1970’s the term agent was coined

Mobile Agent Languages: Dynamic Linking in MALs

three kinds of dynamic linking:

2. Code with a reference (sticky): A binding is retained as long as there is at least one reference; otherwise it is garbage-collected.

3. User-specified dynamic links: Gives the programmer complete control over linking.

Page 38: Mobile Software Agents April 18, 2001. Introduction: History research on agents was originated by J. McCarthy in the mid-1970’s the term agent was coined

Mobile Agent Languages: Communication

Page 39: Mobile Software Agents April 18, 2001. Introduction: History research on agents was originated by J. McCarthy in the mid-1970’s the term agent was coined

• agent to server (host); this is typically a client/ server type of interaction (e.g. based on RPC)

• agent to agent; this a peer-to-peer type of interaction and could be supported by messaging

• agent to group; this is a group communication (broadcasting)

• user to agent interaction; this a standard human-computer interaction, HCI.

Mobile Agent Languages: Types of Communication

Page 40: Mobile Software Agents April 18, 2001. Introduction: History research on agents was originated by J. McCarthy in the mid-1970’s the term agent was coined

Mobile Agent Languages: So what are these languages!

Page 41: Mobile Software Agents April 18, 2001. Introduction: History research on agents was originated by J. McCarthy in the mid-1970’s the term agent was coined

Agent Languages:

• Java

• Knowledge Query and Manipulation Language (KQML):– is designed to support interaction among

intelligent software agents. – agent’s messages, composed in a language of

its own choice, wrapped inside a KQML message.

Page 42: Mobile Software Agents April 18, 2001. Introduction: History research on agents was originated by J. McCarthy in the mid-1970’s the term agent was coined

Agent Languages:(cont.)

• Agent Process Interaction Language (April): is used for building agent applications that supports:– multitasking,

– network transparent message passing,

– symbolic processing, and

– interface to other programming languages such as "C".

April is an object based language.

Page 43: Mobile Software Agents April 18, 2001. Introduction: History research on agents was originated by J. McCarthy in the mid-1970’s the term agent was coined

Agent Languages:(cont.)

• Mobile Agent System Interoperability Facility (MASIF) Object Management Group (OMG)

– a milestone on the road toward enabling location transparent interactions between static and mobile objects/agents.

– to achieve interoperability between different mobile agent platforms without enforcing radical platform modifications.

Page 44: Mobile Software Agents April 18, 2001. Introduction: History research on agents was originated by J. McCarthy in the mid-1970’s the term agent was coined

Agent Languages:(cont.)

• Langage d'Agents Logiciel Objet (LALO): – is used for developing intelligent multi-agent systems

using Agent Oriented Programming (AOP).

– communities of agents interact by exchanging information

• sending specific requests, offering services, accepting or refusing tasks, competing with each other for a task to be accomplished or co-operating with each other.

Page 45: Mobile Software Agents April 18, 2001. Introduction: History research on agents was originated by J. McCarthy in the mid-1970’s the term agent was coined

Reasoning and Learning Techniques:

• Rule-Based Reasoning

• Knowledge-Based Reasoning

• Simple Statistical Analysis

• Fuzzy Agents

• Neural Networks

• Evolutionary Computing

Page 46: Mobile Software Agents April 18, 2001. Introduction: History research on agents was originated by J. McCarthy in the mid-1970’s the term agent was coined

Security

Page 47: Mobile Software Agents April 18, 2001. Introduction: History research on agents was originated by J. McCarthy in the mid-1970’s the term agent was coined

In general, we need to:• protect agent hosts from agents• agents from agent hosts• one agent from another• one agent host from another• a group of hosts• the communication between agent hosts.

Security: Protection

Page 48: Mobile Software Agents April 18, 2001. Introduction: History research on agents was originated by J. McCarthy in the mid-1970’s the term agent was coined

Criticism

Page 49: Mobile Software Agents April 18, 2001. Introduction: History research on agents was originated by J. McCarthy in the mid-1970’s the term agent was coined

Criticism

Sheinderman:

• “There is a growing danger that agents will be a deception and an empty promise.”

• “… machines are not people, nor can they ever become so ...”

• “… For me, computers have no more intelligence that a wooden pencil ...”

Page 50: Mobile Software Agents April 18, 2001. Introduction: History research on agents was originated by J. McCarthy in the mid-1970’s the term agent was coined

Questions?

THANK YOU!

Page 51: Mobile Software Agents April 18, 2001. Introduction: History research on agents was originated by J. McCarthy in the mid-1970’s the term agent was coined

Rule-Based Reasoning

• Rule-base reasoning is the base for inference engine.

• usually in form of IF...THEN statements (production rules).

• LHSCondition; RHSAction• Users can specify the rules or the agent systems

can supply the rules, after training. • Agents use the set of rules to decide which action

or actions they should take.

Page 52: Mobile Software Agents April 18, 2001. Introduction: History research on agents was originated by J. McCarthy in the mid-1970’s the term agent was coined

Rule-Based Reasoning: (cont.)

• Multiple conditions and actions can occupy the LHS or RHS, respectively.

• With multiple rules, one rule’s action may cause the satisfaction of another rule’s conditions.

• This kind of chained effect is called forward chaining, which is widely used in expert systems.

Page 53: Mobile Software Agents April 18, 2001. Introduction: History research on agents was originated by J. McCarthy in the mid-1970’s the term agent was coined

Rule-Based Reasoning: (cont.)

• Here the agent is opportunistic.• The user initiate the rules (and knowledge) and

maintain the rules over time, as habits or events change.

• IBM’s RAISE (Reusable Agent Intelligence Software Environment) is an example of rule-based reasoning system.

• RAISE is the inference engine of IBM’s Agent Building Environment (ABE) developer’s toolkit.

Page 54: Mobile Software Agents April 18, 2001. Introduction: History research on agents was originated by J. McCarthy in the mid-1970’s the term agent was coined

Rule-Based Reasoning: (cont.)

• Applications for RAISE include e-commerce shopping, customer service, support, workflow on the Web and e-mail.

• PROBLEMS:– users must keep them up to date manually. (can not

change by themselves)– complex sets of rules may develop conflicting rules that

the agent can’t resolve.

Page 55: Mobile Software Agents April 18, 2001. Introduction: History research on agents was originated by J. McCarthy in the mid-1970’s the term agent was coined

Knowledge-Based Reasoning:

• One can build knowledge bases based on a specific subject area or domain.

• KB serves as the basis for some inference mechanisms, including the rule-based reasoning techniques.

• Programs are endowed with information about the task in a specific domain.

Page 56: Mobile Software Agents April 18, 2001. Introduction: History research on agents was originated by J. McCarthy in the mid-1970’s the term agent was coined

Knowledge-Based Reasoning: (cont.)

Problems:• requires a large amount of work from the

knowledge engineers. • The knowledge of the agent is fixed and cannot be

customized to the habits of individual users. • In highly personalized applications the knowledge

engineer cannot possibly anticipate the best aid for each user in each situation.

Page 57: Mobile Software Agents April 18, 2001. Introduction: History research on agents was originated by J. McCarthy in the mid-1970’s the term agent was coined

Knowledge-Based Reasoning: (cont.)

• The best known example in this area is Cyc knowledge base, from Cycorp, Inc., based in Austin, Texas.

• Cyc is used to build Cyc agents, each with a common core of knowledge.

• Cyc agents communicate with each other and perform inferencing in a collaborative fashion.

• The inter-agent communication may use KQML (Knowledge Query and Manipulation Language).

“University of Maryland”

Page 58: Mobile Software Agents April 18, 2001. Introduction: History research on agents was originated by J. McCarthy in the mid-1970’s the term agent was coined

Simple Statistical Analysis:

• Statistical Analysis is the simplest reasoning/learning technique that an intelligent agent can use.

• It can determine the temporal or non-temporal correlation among events of interest.

• Charles River Analytics’ Open Sesame and General Magic’s Magic Cap are two such examples.

Page 59: Mobile Software Agents April 18, 2001. Introduction: History research on agents was originated by J. McCarthy in the mid-1970’s the term agent was coined

Simple Statistical Analysis: (cont.)

• Open Sesame periodically scans and analyzes the logs of user actions to find repeated sequences of actions.

• Magic Cap recognizes frequently contacted people by their first names.

• EVA (evolving agent) technology uses statistical analysis to find terms that co-occur and should be added to a query.

Page 60: Mobile Software Agents April 18, 2001. Introduction: History research on agents was originated by J. McCarthy in the mid-1970’s the term agent was coined

Fuzzy Agents:

• When an agent needs to reason with:– imprecise information– incomplete information– the domain variables consist of linguistic

variables (fuzzy)

fuzzy logic is a useful tool.

Page 61: Mobile Software Agents April 18, 2001. Introduction: History research on agents was originated by J. McCarthy in the mid-1970’s the term agent was coined

Fuzzy Agents: (cont.)

• Fuzzy logic => expert systems.• Variables can have degrees of truthfulness or

falsehood represented by a range of values between 1 (true) and 0 (false).

• FuzzyExpert from Indigo Software can embed fuzzy logic directly into agents.

• FA helps to design decision support or crisis management systems that offer a range of alternative actions to solve a problem.

Page 62: Mobile Software Agents April 18, 2001. Introduction: History research on agents was originated by J. McCarthy in the mid-1970’s the term agent was coined

Neural Networks:

• Neural networks handle unstructured data or noisy data effectively.

• consist of a set of interconnected nodes.• Each node has a weight assigned to it. • Like brains, neural nets need training by

experience. • Training sets of data consist of two parts: the set

of training data and the “right” answers extracted from that data.

Page 63: Mobile Software Agents April 18, 2001. Introduction: History research on agents was originated by J. McCarthy in the mid-1970’s the term agent was coined

Neural Networks: (cont.)

• They need training with large amounts of data in order to develop the right patterns.

• They can perform non-linear mappings between their input and output patterns.

• The most popular type is three-layer, feed-forward neural networks (input layer, output layer, and a hidden layer).

Page 64: Mobile Software Agents April 18, 2001. Introduction: History research on agents was originated by J. McCarthy in the mid-1970’s the term agent was coined

Neural Networks: (cont.)

• Each unit in a given layer connects with all the units in the neighboring layers, but not with those in the same layer.

• Each connection has a weight, which represents the strength of the connection.

• Given a set of weights, the entire network can be thought of as a mapping from a set of input vectors to a set of output vectors.

Page 65: Mobile Software Agents April 18, 2001. Introduction: History research on agents was originated by J. McCarthy in the mid-1970’s the term agent was coined

Neural Networks: (cont.)• Inserted in an information agent:

– the input vector represents a set of query terms, – the output vector indicates the “relevance” of the input

vector to a certain information need.

• Agent systems can identify sequences of user actions, and train agents to automatically assign documents or Web pages to pre-defined categories.

• Autonomy’s Concept Agents or TextWise’s EVA Agents.

Page 66: Mobile Software Agents April 18, 2001. Introduction: History research on agents was originated by J. McCarthy in the mid-1970’s the term agent was coined

Neural Networks: (cont.)

PROBLEM:

Intelligent agents based on neural networks can only learn locally (their learning experiences are restricted to the documents they have scanned or the Web sites they have traveled through.).

Page 67: Mobile Software Agents April 18, 2001. Introduction: History research on agents was originated by J. McCarthy in the mid-1970’s the term agent was coined

Evolutionary Computing:

• To Expand the learning, a genetic algorithm for operating in a higher level and view things from an inter-agent perspective need to be employed.

• The local level of individual agents and the global level of inter-agent operations:– ensure the optimization of each agent from local

knowledge

– expend agents learning based on global knowledge.

Page 68: Mobile Software Agents April 18, 2001. Introduction: History research on agents was originated by J. McCarthy in the mid-1970’s the term agent was coined

Evolutionary Computing: (cont.)

• The goal is to “breed” a new generation of agents that benefit from the learning experiences of individual “parent”.

• uses biologically based evolutionary processes as a model for implementation.

• The most popular examples of evolutionary computing are genetic algorithms.

Page 69: Mobile Software Agents April 18, 2001. Introduction: History research on agents was originated by J. McCarthy in the mid-1970’s the term agent was coined

Evolutionary Computing: (cont.)

• They work by maintaining a population of possible solutions (chromosomes, or agents in our case).

• Continues evaluations of the performance of the agents determine:– unfit set of agents to be terminated, – fittest set of agents to be recombined to produce

possibly better agents.

• TextWise is developing such a technology under a contract from the National Imagery and Mapping Agency (NIMA).

Page 70: Mobile Software Agents April 18, 2001. Introduction: History research on agents was originated by J. McCarthy in the mid-1970’s the term agent was coined

Security

Page 71: Mobile Software Agents April 18, 2001. Introduction: History research on agents was originated by J. McCarthy in the mid-1970’s the term agent was coined

• a security policy is a set of guidelines describing whether various actions are allowed or not(may also include royalties)

• a security policy is static if its guidelines do not depend on external conditions; otherwise it is dynamic.

• a security policy may include credentials, or level of trust.

Security:Definitions

Page 72: Mobile Software Agents April 18, 2001. Introduction: History research on agents was originated by J. McCarthy in the mid-1970’s the term agent was coined

Java Security Manager implements a static security policy, which controls access to resources such as file I/O, network access, and others. There is no provision to limit access to other resources such as CPU cycles.

Security:Definitions

Page 73: Mobile Software Agents April 18, 2001. Introduction: History research on agents was originated by J. McCarthy in the mid-1970’s the term agent was coined

In general, we need to:• protect agent hosts from agents• agents from agent hosts• one agent from another• one agent host from another• a group of hosts• the communication between agent hosts.

Security: Protection

Page 74: Mobile Software Agents April 18, 2001. Introduction: History research on agents was originated by J. McCarthy in the mid-1970’s the term agent was coined

• Doable, but two agents operating on the same host share the same interpreter and they share memory (no hardware faults)

• Software Fault Isolation inserts a checking code before each unsafe instruction

• Sandboxing before each unsafe instruction inserts a code which sets the high order bits of the target address to the correct segment identifier

Security: Protecting one agent from another

Page 75: Mobile Software Agents April 18, 2001. Introduction: History research on agents was originated by J. McCarthy in the mid-1970’s the term agent was coined

• cryptography can be used to authenticate credentials

• a credential means that the receiver will trust the sender

• access-level monitoring and control uses a security manager which maintains a list of allowed activities (perhaps associated with fees)- can be misleading

Security: Protecting agent hosts from

agents

Page 76: Mobile Software Agents April 18, 2001. Introduction: History research on agents was originated by J. McCarthy in the mid-1970’s the term agent was coined

• code verification by the host may try to examine the code of the agent (does not help if the agent is self-modifiable)

• the host can apply various limitation techniques, e.g. limit the time, or record all agent activities.

Security: Protecting agent hosts from

agents

Page 77: Mobile Software Agents April 18, 2001. Introduction: History research on agents was originated by J. McCarthy in the mid-1970’s the term agent was coined

• A static byte code verifier checks for the right magic number in the class file, and performs data flow analysis on each method to test for things such as branches must be within the bounds of the code, or there is no attempt to access variables which are not in the scope

• JVM performs various run-time checks.

Security: Protecting agent hosts from

agents

Page 78: Mobile Software Agents April 18, 2001. Introduction: History research on agents was originated by J. McCarthy in the mid-1970’s the term agent was coined

• Trail obscuring means that the agent constantly modifies its image so it can avoid tracing by hosts

• Code obfuscation means that the agent is sent together with a kind of interpreter, so the host doesn’t really see the code of this agent.

Security: Protecting agent hosts from

agents

Page 79: Mobile Software Agents April 18, 2001. Introduction: History research on agents was originated by J. McCarthy in the mid-1970’s the term agent was coined

• a host can steal information (normal routing)

• a host can mutate an agent (e.g. rerouting)

• since the host agent has access to an agent, it is not possible to protect an agent from the agent host (unless a specialized hardware is used)

Security: Protecting agent from agents

hosts

Page 80: Mobile Software Agents April 18, 2001. Introduction: History research on agents was originated by J. McCarthy in the mid-1970’s the term agent was coined

• visit only trusted sites and from there use safer mechanisms, such as RPC or stateless agents

• maintain reliable data that can be used (after the fact) to determine whether the agent has been tampered with

• divide an agent into components, encrypted each component (when traveling through untrusted sites); update only while on trusted sites

Security: Protecting agent from agents

hosts

Page 81: Mobile Software Agents April 18, 2001. Introduction: History research on agents was originated by J. McCarthy in the mid-1970’s the term agent was coined

• maintain a safe migration history and use it against rerouting attacks; or keep audit logs

• there is new research on encrypting programs which are equivalent to the original programs, are directly executable and produce encrypted output.

Security: Protecting agent from agents

hosts

Page 82: Mobile Software Agents April 18, 2001. Introduction: History research on agents was originated by J. McCarthy in the mid-1970’s the term agent was coined

Network Awareness

Page 83: Mobile Software Agents April 18, 2001. Introduction: History research on agents was originated by J. McCarthy in the mid-1970’s the term agent was coined

Network Awareness:Requirements

• awareness - an ability to monitor resources

• agility - an ability to react to changes in resources

• authority - an ability to control the way resources are used on their behalf by support code.

Page 84: Mobile Software Agents April 18, 2001. Introduction: History research on agents was originated by J. McCarthy in the mid-1970’s the term agent was coined

Network Awareness:Requirements

Resource awareness can be represented by:

• on-demand monitoring

• continuous monitoring (specific filters should be used to avoid jitters).

Page 85: Mobile Software Agents April 18, 2001. Introduction: History research on agents was originated by J. McCarthy in the mid-1970’s the term agent was coined

Network Awareness:Requirements

Authority can

• give a complete control over resources, with explicit authorization for every use (like in applets)

• consider a resource violation as an asynchronous event and associate a handler with every restriction on resource.

Page 86: Mobile Software Agents April 18, 2001. Introduction: History research on agents was originated by J. McCarthy in the mid-1970’s the term agent was coined

“...asking the question of what an agent is to a DAI researcher is as embarrassing as the question of what intelligence is for an AI researcher...”

Carl Hewitt

Introduction:DAI