Title: Distributed Systems: Processes Continued Naming
1Distributed SystemsProcesses (Continued)Naming
- CS 654Lecture 9October 11, 2006
2Example DAgents
- Tcl-based language
- Mobility
- Sender-initiated weak mobility
- Sender-initiated strong mobility by process
migration - Sender-initiated strong mobility by cloning
3Sender-Initiated Weak Mobility
proc factorial n if (n ? 1) return 1
fac(1) 1 expr n factorial
expr n 1 fac(n) n fac(n
1) set number tells which factorial to
computeset machine identify the target
machine agent_submit machine procs factorial
vars number script factorial number
agent_receive receive the results (left
unspecified for simplicity)
- A simple example of a Tel agent in D'Agents
submitting a script to a remote machine (adapted
from gray.r95)
4Sender-Initiated Strong Mobility
all_users machines proc all_users machines
set list "" Create an initially empty list
foreach m machines Consider all hosts in the
set of given machines agent_jump m
Jump to each host set users exec who
Execute the who command append list
users Append the results to the list
return list Return the complete list when
done set machines Initialize the set of
machines to jump toset this_machine Set to
the host that starts the agent Create a
migrating agent by submitting the script to this
machine, from where it will jump to all the
others in machines. agent_submit this_machine
procs all_users \ -vars machines
\ -script all_users machines
agent_receive receive the results (left
unspecified for simplicity)
- An example of a Tel agent in D'Agents migrating
to different machines where it executes the UNIX
who command (adapted from gray.r95)
5Architecture
- Server
- Responsible for agent management, authentication,
management of comms. - Each agent has a local ID
- RTS
- Start, end, migration, etc.
6Strong Migration Support
- The parts comprising the state of an agent in
D'Agents.
7Software Agents
8Software Agents in Distributed Systems
- An autonomous process capable of reacting to,
and initiating changes in, its environment,
possibly in collaboration with users and other
agents. - Differs from a process in that it has the
capability to act on its own, and take
initiative. - Collaborative agent
- Agents arranging a meeting
- Mobile agent
- Interface agent
- Helps user interact with an application.
- Information agent
- Helps user manage information
9Software Agents in Distributed Systems
- Some important properties by which different
types of agents can be distinguished.
10Agent Technology
- Foundation for Intelligent Physical Agents (FIPA)
11Agent Technology
- Management component keeps track of agents,
creating, deleting - Directory service finding specific kinds of
agents, etc. - Agent communication channel (ACC)
12Agent Communication Language (ACL)
- Need a standard language for agents to
communicate. - FIPA ACL leaves content open, but mandates
headers. - Typical of layered specs.
13FIPA ACL
- Examples of different message types in the FIPA
ACL fipa98-acl, giving the purpose of a
message, along with the description of the actual
message content.
14FIPA ACL
- A simple example of a FIPA ACL message sent
between two agents using Prolog to express
genealogy information.
15Naming
16Entities, Names, IDs, and Addresses
- Entities
- The thing that we want to refer to
- What is the difference?
- What is your name?
- What is your address?
- What is your ID?
- Examples
- SSN, phone number, passport number, street
address, e-mail address - Can we substitute one for the other?
- Use your phone number as your name?
- Use your SSN as your name?
- Use your name as your SSN? Phone number?
17Names, IDs, and Addresses
- A name is a sequence of bits that can be used to
refer to an entity. - To operate on an entity, necessary to access it,
via an access point. - Names of access points are addresses.
- IDs are also a kind of name
- Refers to at most one entity
- Each entity has at most one ID
- ID is permanent
- What properties are desired in name?
18Name Spaces
- The name space is the way that names in a
particular system are organized. This also
defines the set of all possible names. - Examples
- Phone numbers
- Credit card numbers
- DNS
- Human names in the US
- Robert Ludlum books
- Files in UNIX, Windows
- URLs
19Hierarchical Name Spaces
- Path, local name, absolute name
- Should it be a tree, DAG, allow cycles?
20Name Spaces (2)
- The general organization of the UNIX file system
implementation on a logical disk of contiguous
disk blocks.
21Name Resolution
- Looking up a name (finding the value) is called
name resolution. - Closure mechanism (or where to start)
- How to find the root node, for example.
- Examples, file systems, ZIP code, DNS
22Aliases
- Aliases
- Can be hard.
- Can be soft, like a forwarding address.
23Aliases
- The concept of a symbolic link explained in a
naming graph.