Title: Symbiotic Network Architecture
1Symbiotic Network Architecture
- DSSG
- (Paskorn Champrasert 4/27/05)
2Content
- Introduction of Symbiotic Network
- Agent Design
- Platform Design
- Energy Exchange Design
- Symbiotic Behavior
- Simulation Plan
3Part 0
- Introduction to Symbiotic Network Architecture
4Symbiotic Architecture
- Design Concept
- The Symbiotic Architecture is a paradigm as well
as middleware that enables the construction and
deployment of network applications. - Design Approach
- Design the networking architecture follows the
biological principles and contains biological
mechanisms.
5Agents and platforms
- Modeled after biological concepts and mechanisms.
- Network application a group of agents
- c.f. Bee colony as a group of bees
- Store and expend energy for living.
Environment
Users
Service
Energy
SymbioticSphere
User request
Service
Agents
Energy
Energy
the place whereagents and platformslive as
biologicalentities.
Resource
Platform
Platform
Host
Host
Host
Energy
6Part I
7Agents
-
- Agents are application components
- Each agent consists
- 1) Attributes (agent ID, age, etc.)
- 2) Body (service that the agent provides to
users) - 3) Behaviors
- Difference agents implement different behavior
policies.
8Agents attributes
- Agent ID
- Service Name
- Service Price
- Stored Energy
- Age
9Agents Body
- The body implements a service that the agent
provides and contains materials relevant to the
service (e.g. application data and user
profiles). - For instance, an agent that implements a web
service may contain web pages in its body.
10Agents behaviors
- Behaviors implement non-service related actions
that are inherent to all agents. - Agent behaviors are the behaviors of agent which
follow biologically-inspired behaviors. - There are two types of agents behaviors
- agent behaviors
- symbiotic behaviors initiated by agent
11Agents Behaviors
- Migration Agents may migrate from one platform
to another. - Communication. Agents may communicate with other
agents. - Energy exchange and storage Agents may receive
and store energy in exchange for providing
services to other agents. Agents also expend
energy. - Replication Agents may make a copy of themselves
(replication), possibly with mutation of the
replicas behavioral policy. - Reproduction Two parent agents may create a
child agent possibly with crossover and mutation
of the childs behavioral policy. - Death Agents also may die (death) as a result of
lack of energy.
12Agents Behaviors (cont.)
- Relationship maintenance Agents may establish
and maintain relationships with other agents. - Discovery Agents may seek for other agents of
certain attributes by forwarding queries to
agents that they have relationships to. - Pheromone emission Agents may emit and leave a
pheromone (or a trace) behind on a platform when
they migrate to another platform. - Environment sensing Agents may sense their local
environment.
13Agents Symbiotic Behaviors
- There are three symbiotic behaviors initiated by
agent - Preserving new generation
- (migration after replication)
- Agent Evacuation
- (migration before dieing )
- Agent Foraging
- (migration towards user )
14Symbiotic Behavior initiated by agent Preserving
new generation
Motivation 1 Agent wants to replicate 2 Platform
has - Low Energy Level - Low Healthy Level
Benefit 1. Agent can migrate toward to platform
that work on healthier host. 3. Platform can
replicate
Agent wants to replicate but the
platform that it works on has low healthy level
and low energy level. Then, agent pays some
energy for its replication and extra energy for
letting platform can replicate. If platform can
replicate agent and its child can migrate to
healthier platform.
15Symbiotic Behavior initiated by agent Agent
Evacuation
Agent is dying
migrate
Motivation 1 Agent is going to die 2 Platform
has - High Energy Level - Low Healthy
Level 3. There is healthier platform
exists.
A
A
3
Energy for Migration
Energy for letting agent migrate
1
2
Platform
Benefit 1. Agent can migrate toward to platform
that works on healthier host. 3. Platform
increases its healthy level.
Platform
High Energy Level Low Healthy Level
Platform on healthier host
There is healthier platform exists in the
netsphere but agent can not migrate to because it
has very low energy and it is going to die. Then
platform, that this agent is working on, gives
some energy to the agent to let it migrate to
healthier platform.
This scenario make weakest platform die first
16Symbiotic Behavior initiated by agent Agent
Foraging
Agent want to migrate
migrate
Motivation Agent wants to migrate to host that
close to user but there is no platform on that
host.
A
A
5
Extra Energy for letting platform replicate
Energy for Migration
destination host address information.
1
2
4
Platform
Benefit 1. Agent can migrate toward to user 3.
Platform can replicate.
replicate
Platform
3
Replicated platform on destination host
Agent wants to work on host that close to
user but there is no platform on that host. Then
agent gives destination host address and some
energy to its platform. Platform can replicate to
destination host and agent can migrate to the
replicated platform.
17Part II
18Platform
-
- Each Platform consists
- 1) Attributes (Platform ID, healthy
level.) - 2) Runtime Services
- 3) Behaviors
19Platforms attributes
- Platform ID
- Stored Energy
- Healthy level table
20Healthy Level Table
- Healthy level is property of a host, calculated
as a function of - Resource availability
- e.g. CPU cycles, memory space and network
bandwidth - Age how long a host is alive (how a host is
stable). - Healthy level table is a set of healthy level
data obtained from neighboring hosts. The values
in the healthy table are the compared values of
the neighboring host healthy level and the local
host healthy level.
21Runtime Services
- Platform keeps executable of behaviors of agents.
- The agents behaviors (replication, migration,
death,) will be kept as runtime services in
platform.
22Platforms behaviors
- Behaviors implement non-service related actions
that are inherent to all platforms. - Platform behaviors are the behaviors of platform
which follow biologically-inspired behaviors. - There are two types of platforms behaviors
- platform behaviors
- symbiotic behaviors initiated by platform
23Platform Behaviors
- Replication Platforms may make a copy of
themselves when their energy levels are high and
they find healthier platforms. - Death Platforms may die due to the lack of
energy. A dying platform will uninstall itself
and release resources it maintains. - Healthy level management
- Maintaining local hosts healthy level Platform
may update its healthy level automatically to
indicate its age and resource availability. - Inquiring neighboring hosts healthy level
Platform may inquiry neighboring hosts healthy
level to compared with its healthy level and
maintain the healthy level table. - Responding to inquiries from neighboring
platform Platform may response to inquiries from
neighboring platform by sending its healthy level
to.
24Platforms Symbiotic Behaviors
- There are three symbiotic behaviors initiated by
platform - Platform transferring
- (Agent migration after platform replication )
- Increasing Healthy level
- Platform Evacuation
- (Replication before dieing )
25Symbiotic Behavior initiate by Platform Platform
transferring
migrate
Motivation 1. Platform want to replicate 2.
Platform has - Low Healthy Level -
High Energy Level
A
A
4
2
Energyto let agent migrate to replicatedplatform
Energy for Migration
3
Platform
Benefit 1. Agent can migrate toward to platform
that work on healthier host. 2. Platform
increases its healthy level.
replicate
Platform
1
High Energy Level Low Healthy Level
Replicated platform on healthier host
After platform replicated to healthier
host, platform gives some energy to agent to let
agent can migrate to replicated platform.
This scenario allows migration of platform
26Symbiotic Behavior initiate by Platform
Increasing Healthy level
migrate
Motivation 1. Platform has - Low Healthy
Level - High Energy Level 2. There is
platform that works on healthier host exists.
A
A
3
1
Energyto let agent migrate to replicatedplatform
Energy for Migration
2
Platform
Benefit 1. Agent can migrate toward to platform
that work on healthier host. 2. Platform
increases its healthy level.
Platform
High Energy Level Low Healthy Level
Platform on healthier host
Platform has low healthy level and high
energy level. There is platform that works on
healthier platform exits. Then platform gives
agent some energy to let agent migrate to the
other platform.
27Symbiotic Behavior initiate by Platform Platform
Evacuation
migrate
Motivation 1. Platform is dying and has -
Low Healthy Level - Low Energy Level 2.
There is no platform that works on healthier host
exists.
A
A
4
1
Energyto let platform replicate to healthier host
Energy for Migration
3
Platform
Benefit 1. Agent can migrate toward to platform
that work on healthier host. 2. Platform
increases its healthy level.
replicate
Platform
2
Replicated platform on healthier host
Low Energy Level Low Healthy Level
Platform is dying
Platform has low healthy level and very low
energy level. It is going to die and there is no
other platform in the netsphere. Agent gives
platform some energy to let platform can
replicate to healthier host. If platform can
replicate agents can migrate to the replicated
platform.
28Part III
29Introduction
- In the symbiotic architecture there are two
biological entities which are agent and platform.
- Agents and platforms live on energy Agent give
the energy that it get from the user to platform
to trade with the resource. Platform pays energy
to environment for living. - Energy is used to adaptively balance the number
of agents and platforms (reflecting changing
network environments and user requests) to
optimize the resource efficiency in the entire
system. - We have to find the mechanism of paying energy
from agent to platform, and platform to
environment (host)
30Energy Exchange Model
Eua Energy transferred from user to agent EPap
Energy periodically transferred from agent to
platform EPph Energy periodically transferred
from platform to host (environment) EP Energy
that agent and platform pay periodically. The
rate of EP have to be changed follow the Eua
rate.
31Some support idea about energy transferring in
the food chain
- Biology concept 10 Rule
- (from website)
- In a food chain, an animal passes on only about
10 percent of the energy it receives. The rest is
used up in maintaining it's body, or in movement,
or it escapes as heat. The amount of available
energy decreases at every trophic level, and each
level supports fewer individuals than the one
before..
100 of Energy
The number in the picture is dry weight units
(g) Biomass Estimate dry weight of the
population in the area
32Adaptive Respiration Rate
- The graph below show the respiration rate of a
humming bird at different times of the day and
the night (shaded).
http//www.saburchill.com/ans02/chapters/chap034c.
html
33Finding EP
From Biology 10 Rule (the amount of energy
transferred to next level is only 10
) Therefore EPap 0.1 Eua EPph 0.1 EPap
The problem is what is the rate of energy loss ?
(frequency?)
34Energy loss rate (F)
- Fua user request rate
- Fap energy loss rate from agent to platform
- Fph energy loss rate from platform to host
- Condition
- If user request rate is high (Fua high)
- Energy loss rate is high (Fap and Fph high)
- If user request rate is low (Fua low)
- Energy loss rate is low (Fap and Fph low)
35Goal
- Need an autonomous mechanism to adjust the
frequency of energy payment (Fap, Fph) depending
on a given Fua to optimize resource efficiency of
the entire system.
36Approach
- Agent and Platform as Biological Entities
- User gives energy to agent when user request
service. It is equal to agent get food from the
user. Energy food - Agent and Platform which behave as biological
entities should learn something in the past to do
their behavior for the future.
37Approach
- In the real situation, agent cannot know the user
request rate (frequency) but it can keep data of
interval time (waiting time between two user
requests) - In order to change Fap in the future, agent need
to keep Fua in the past - To statistically represent the Fua in the past
these values are used - Average Interval Time (ta)
- Shortest Time Interval Time (ts)
- Longest Interval Time (tl)
38Energy Exchange Algorithm
- Agent keeps the interval time between user
request - Agent updates shortest time, average time,
longest time after getting user request by
compare the new interval time and the previous
interval time - Agent pay energy after shortest interval time,
average interval time and then longest interval
time until the new user request arrives.
39Energy Exchange Algorithm (cont)
- Because agent pay energy 10 of energy that it
gets. (if user pays 10 energy unit per request
agent will pay 1 energy unit to platform) - the shortest interval time, average interval
time, and longest interval time will be divided
by 10 to make the interval time in the same
scale. - For example if the user request average
interval time 3 minutes. Agent will loss all
energy after 30 minutes (310) which is too large
number.Therefore after average interval time is
divided by 10. Agent will loss all energy after
3 minutes (0.310) which fits to the user request
rate. - Therefore
- The interval time that agent pays the energy
(shortest, average and longest) will divided by
10.
40coefficiency a
- There is some co-relation between the frequency
of user request receipt by an agent and the
agents energy payment frequency. - coefficiency a indicates the level of
co-relation - The interval of the agents energy payment
- a the interval of user request receipt by an
agent - We use a 0.10 here
41Window Size
- After long running the simulation, the shortest
interval time will be very small number and
longest interval time will be very large number. - Therefore shortest interval time and longest
interval time will be reset after some period. - Assume 20 user requests can represent user
request rate. After 20 user requests, the
shortest interval time and longest interval time
will be reset. - Window size 20
42Example
- Input
- First user request interval 3 minutes
- Second user request interval 4 minutes
- Third user request interval 5 minutes
- Ouput
- Time Energy Total Stored Energy state Shortest
Time AverageTime LongestTime - 3 Get 10 - 3 3 3
- 3.3 Loss 9
Shortest 3
3
3 - 3.6 Loss 8 Average
3 3 3 - 3.9 Loss 7 Longest
3 3 3 - 4 Get 17 - 1 2 3
- 4.1 Loss 16 Shortest 1 2 3
- 4.3 Loss 15 Average 1 2 3
- 4.65 Loss 14 Longest 1 2 3
- 4.75 Loss 13 Shortest 1 2 3
- 4.95 Loss 12 Average 1 2 3
- 5 Get 22 - 1 1.6 3
- 5.3 Loss 21 Longest 1 1.6 3
- 5.4 Loss 20 Shortest 1 1.6 3
43Simulation Model for Energy Exchange Algorithm
- Input
- User request Interval time is randomly changed
- base /- randomNumber (0-3)
- Base increase or decrease 2 unit after 50 user
requests are generated. - Initial Energy for Agent 100
- User give energy to agent 10 unit for each
request. - Agent pays energy 1 unit to platform (10 law)
- Parameter
- Window size 20
- coefficiency a 0.10
44Model 1, user request interval time is decrease,
user request rate is increase
Input User Request
User request interval time (minutes)
User request th
There are 400 user requests in the model
45Result Evaporate Interval Time
Model 1, user request rate is decreased, the
evaporate interval time is decreased
Evaporate interval time (minutes)
Evaporate th
Average Time
Shortest Longest Time
46Result Stored Energy at agent
X Energy Unit of the agent (only 1 agent) Y
user request (th)
47Model 1 Result
- When user request rate increases
- Energy loss rate (evaporation rate)
increases. - Agent will increase its stored energy.
48Input User Request
Model 2, user request rate is decreased
User request interval time (minutes)
User request th
There are 400 user requests in the model
49Result Evaporate Interval Time
Model 1, user request rate is decreased, the
evaporate interval time is decreased
Evaporate interval time (minutes)
Evaporate th
Average Time
Shortest Longest Time
50Result Stored Energy at agent
Finally, agent die
X Energy Unit of the agent (only 1 agent) Y
user request (th)
51Model 2 Result
- When user request rate decreases
- Energy loss rate (evaporation rate)
decreases. - Agent will loss all its stored energy (die) after
user request rate decreases for a while.
52Change Coefficient a
X Energy Unit of the agent (only 1 agent) Y
user request (th)
Window size 20
53Change Window Size
X Energy Unit of the agent (only 1 agent) Y
user request (th)
Coefficient 0.11
54Model 3
- The user request interval time is unchanged
55Input Interval of user request
Model 3, user request rate is unchanged
Y interval time (minutes) X user request (th)
56Output Interval of Evaporate Time
Shortest Longest Time
Y interval time (minutes) X evaporate (th)
Average Time
57Output Stored Energy of agent
Stored Energy is nearly closed to 100 (initial
energy unit)
X Energy Unit of the agent (only 1 agent) Y
user request (th)
58Model 4
- The user request interval time is dynamically
changed
59Input Interval of user request
Model 4, user request rate is extremely changed
Y interval time (minutes) X user request (th)
60Output Interval of Evaporate Time
Y interval time (minutes) X evaporate (th)
Shortest Longest Time
Window size for Average Time 400
Average Time
61Output Stored Energy of agent
X Energy Unit of the agent (only 1 agent) Y
user request (th)
Finally, Agent die because user request rate is
very low
62Output Interval of Evaporate Time
Y interval time (minutes) X evaporate (th)
Shortest Longest Time
Update Average Time when It is too different from
shortestlongestt
Average Time
63(No Transcript)
64Summary
- So the energy exchange algorithm works well for
changing the energy loss rate to user request
rate. - We can change coefficient a to let agent die
faster. - Agent and Platform will be implemented the energy
exchange algorithm to let them loss energy.
Finally, when the user request rate is very low
the agent will die before platform.
65Part IV
66Simulation Goals
- To show platforms achieve autonomous resource
adaptation - Autonomous resource adaptation
- An ability of platforms to autonomously adjust
resource availability and resource efficiency for
agents - Resource availability
- How much resources are available for agents?
- Resource efficiency
- How efficiently do platforms use resources?
67Simulation Environment
- Hosts
- 4x4 (16) hosts
- Grid topology
- Each host can run a platform.
- Each host provides three types of resources for a
platform. - CPU
- Memory
- Network bandwidth
- Each platform
- consumes a certain amount of resources provided
by an underlying host. - maintains and provides the remaining resources to
agents.
68- Homogeneous and heterogeneous networks
- Homogeneous
- Difference hosts have the same amount of
resources available. - Heterogeneous
- Different hosts have different amount of
resources available. - Static and dynamic networks
- Static
- The number of hosts does not change dynamically.
- Dynamic
- The number of hosts dynamically changes.
- Hosts can dynamically enter and leave the
network.
69Simulation Configurations
- Configuration 1
- Homogeneous and static network
- Platforms as non-biological entities.
- Only one platform on 16 hosts.
- Configuration 2
- Homogeneous and static network
- Platforms as non-biological entities
- 16 platforms on 16 hosts (a platform on each
host). - Configuration 3
- Homogeneous and static network
- Platforms as biological entities.
- 16 platforms on 16 hosts (a platform on each
host) - Configuration 4
- Heterogeneous and static network
- Platforms hosts as non-biological entities.
- 16 platforms on 16 hosts (a platform on each
host) - Configuration 5
- Heterogeneous and static network
- Platforms as biological entities.
70Simulation EvaluationResource Availability (1)
- Run simulation configurations 1 and 3.
- Expected results
- In config 1, the number of platforms does not
increase, even if user request rate becomes high.
- In config 3, the number of platforms can
dynamically increase, if user request rate
becomes high. - Key measures
- The number of platforms
- The total amount of resources available for
agents - Key observation we will make
- Platforms dynamically adjust resource
availability depending on user request rate and
the number of agents
71Expected Results (new added)
72Expected Results
User request rate
Input
time
Outputconfig 3
Output config 1
of platform
of platform
1
1
time
time
73Simulation EvaluationResource Availability (2)
- Run simulation configurations 2 and 3.
- Expected results
- In config 2, the number of platforms does not
decrease, even if user request rate becomes low. - In config 3, the number of platforms can
dynamically decrease, if user request rate
becomes low. - Key measure
- The number of platforms
- The total amount of resources available for
agents - Key observation we need to make
- Platforms dynamically adjust resource
availability depending on user request rate and
the number of agents
74Expected Results
Output config 2
Output config 3
of agent
of agent
time
time
75Expected Results
Outputconfig 3
Output config 2
of platform
16
time
76Simulation EvaluationResource Efficiency (1)
- Run simulation configurations 2 and 3.
- Expected results
- In config 2, the total resource utilization does
not decrease, even if resource that users require
is less than the preempted resource. There is
unutilized resource. - In config 3, the total resource utilization can
dynamically change to fit with the resource that
users require. - Key measures
- The total amount of resources consumed by agents
and platforms - The number of throughput/the total amount of
resources consumed by agents and platforms - Key observation we will make
- Platforms dynamically adjust resource utilization
depending on user request rate and resource
availability on hosts.
77Expected Results
Input
User request rate
time
Outputconfig 3
Outputconfig 2
of Agent
of Agent
20
20
time
time
78Expected Results
Input
User request rate
time
Outputconfig 3
Output config 2
of Platform
of Platform
16
10
5
time
time
79Expected Results
Input
User request rate
time
Outputconfig 3
Total Resource utilization
Output config 2
Total Resource utilization
160
160
time
time
80Expected Results
Input
User request rate
time
Outputconfig 3
Throughput/resource utilization
Output config 2
Throughput/resource utilization
80
10
time
time
81Simulation Evaluation Resource Efficiency (2)
- Run simulation configurations 3 and 4.
- Expected results
- In config 3, the total resource utilization can
dynamically change to fit with the resource that
users require.. - In config 5, the total resource utilization can
dynamically change to fit with the resource that
users require. If there are some hosts that have
high resource availability, platform will
replicate to those hosts. Total resource
utilization of platform and agents is decreased
but resource availability to agents is
maintained. - Key measures
- The total amount of resources consumed by agents
and platforms - The total amount of resource availability for
agents/ of platform - The number of throughput/the total amount of
resources consumed by agents and platforms - Key observation we will make
- Platforms dynamically adjust resource utilization
depending on user request rate and resource
availability on hosts.
82Expected Results
Input
User request rate
time
Config 3 homogeneous
Config 5 heterogeneous
Assume each host has 50resource units.
Assume host has 50 resource units. host has 80
resource units.
83If we run the simulation for long time
- In config 3, the number of platforms is three.
The total amount of resources available for
agents is 150. - In config 5, the number of platforms is only two.
The total amount of resources available for
agents is 160. - Using the environment sensing behavior, each
platform can sense the resource availability on
its neighboring hosts. During a replication
process, it replicates itself to the neighboring
host whose resource availability is higher than
the local host and higher than any other
neighboring hosts. Platforms tend to reside on
resource-rich hosts.
Config 3 homogeneous
Config 5 heterogeneous
Assume each host has 50resource units.
Assume host has 50 resource units. host has 80
resource units.
platform
84Input
User request rate
time
Resource Available/platform
Output config 3
Resource Available/platform
Output config 5
80
50
time
time
150/3
160/2
85Expected Results
Input
User request rate
time
Outputconfig 5
Throughput/resource utilization
Output config 3
Throughput/resource utilization
40
10
time
time