Application Network Deployment in the Internet PhD Dissertation Public Defense January 15, 2004 Oscar Ardaiz Villanueva Advisor: Leandro Navarro Moldes
Dec 19, 2015
Application Network Deploymentin the Internet
PhD Dissertation Public Defense
January 15, 2004
Oscar Ardaiz Villanueva
Advisor: Leandro Navarro Moldes
Index
Towards a Thesis Background, problem statement, solution requirements
First contribution ”A framework for application network deployment in an Internet service programmable
infrastructure allows creating application networks which are provisioned dynamically, and coordinated for service control”
Hypotheses, validation methodology, experiment and results Second contribution
”A resource initiated allocation and multicast based deployment mechanisms is appropriate for application network deployment in a large-scale network as the Internet”
Hypotheses, validation methodology, experiments and results Conclusions
Contributions, socio-economical impact, further work
Towards a Thesis
Towards a Thesis Background, problem statement, solution requirements
First contribution ”A framework for application network deployment in an Internet service programmable
infrastructure allows creating application networks which are provisioned dynamically, and coordinated for service control”
Hypotheses, validation methodology, experiment and results Second contribution
”A resource initiated allocation and multicast based deployment mechanisms is appropriate for application network deployment in a large-scale network as the Internet”
Hypotheses, validation methodology, experiments and results Conclusions
Contributions, socio-economical impact, further work
Application Networks
Nodes: Server Links: TCP Virtual Circuits Application Layer Network
Squid Server Parent-Child comm. channel. Web Proxy Caching Hierarchy
IRC server chat distribution comm.channel. Chat Server Network
HTTP
Server
IP link
Host
Router
Server
Server
Server
ServerClient
HTTP
HTTP
HTTP
Overlay Networks: State of Art
ServiceImplementation
Layer 7 overlay Layer 3 overlay
Application Application networks: Proxy-caches hyrarchy, chat networks, P2P applications: file sharing,..
--
Network P2P network overlays: Narada, Abone, Alan,....
Network overlays: Mbone, 6bone, VPN,...
Motivations for Overlays
Testbed to experiment new services (Mbone, 6-bone,..),
Isolated environment (VPN,..), Provision distributed services (Web-caches,
CDNs,..), Sharing distributed resources (Gnutella
OceanStore,..).
Overlay Research Issues
Organization: load balancing, fault tolerance, …
Mapping to underlying network, Virtualization for support of multiple
overlays, Isolation among different overlays. Scalability to the Internet.
Problem Statement (I)
“How to introduce a new application network service?”
Today, it requires operators to perform manually: 1. Discovery of hosts and network topology. 2. Lay out application network to satisfy demand. 3. Coordinated installation, configuration and start-up of
servers. 4. Update name / redirector service.
Or servers are activated and connected by end users (Specially peer-to-peer networks).
Problem Statement (II) Spatial and temporal demand variation
require application network adjustment.
S
Service Provider
Service Demand Variation
Application Network
Adjustment
Solution requirements (I)1. Programmable infrastructure (nodes providing resources and programmability) for remote activation of new services.
Service Provider
Programmable Infrastructure
Nodes
Solution requirements (II)2. Deployment mechanisms for coordinated resource
allocation, server activation and connection and organization.
Service Provider
Programmable Infrastructure
Nodes
Application Network
Application Network Deployed
3. Clients access application network efficiently.
Service Provider
Application Network Clients
Clients
Clients
Programmable Infrastructures: State of Art
Application Service WebOS: OS for the Internet.Active Services: Mobile code (Java) used for server mobility.Grids: Distributed resource sharing.
Network Service Active Network: Mobile code (Java) used to program routers. Programmable network: API for programmability of network router.
Motivation: facilitate incorporation of new services.
Prog. Infra. = Internet-wide Resource pool + Programmability.
Solution Space
No programmable infrastructure permits application network deployment.
Only Xbone permits network layer overlay deployment.
Xweb
Programmable Infrastructures:
WebOS, Grids, Active Services
Web
Coordinated Servers & Resources
On the fly Activation / Configuration
Manual Modifications
Service Control (quality service, efficient resource utilization)
Programmability (temporal/ spatial/ functional variation
Isolated Servers
Application CDN, P2P
Networks: Radar, ASPs,
Ejasent
First Contribution
”A framework for application network deployment in an Internet service programmable infrastructure allows creating application networks which are provisioned dynamically, and coordinated for service control”
First Contribution
Towards a Thesis Background, problem statement, solution requirements
First contribution ”A framework for application network deployment in an Internet service
programmable infrastructure allows creating application networks which are provisioned dynamically, and coordinated for service control”
Hypotheses, validation methodology, experiment and results Second contribution
”A resource initiated allocation and multicast based deployment mechanisms is appropriate for application network deployment in a large-scale network as the Internet”
Hypotheses, validation methodology, experiments and results Conclusions
Contributions, socio-economical impact, further work
Hypotheses H1.1-1.3 Framework
H1.1 An application network deployment framework requires the following building blocks: a programmable Internet service infrastructure, resource availability, discovery and monitoring mechanisms, service specification mechanisms, resource-mapping and deployment-plan creation and control, and resource allocation, code distribution and service composition mechanisms.
H1.2 Framework functionality is divided between deployment managers, which are situated at service provider locations, and resources agents, which are placed at resource provider nodes.
H1.3 Code authentication and virtual machines with code verification are required for resource security. Party authentication, message integrity checks and communication encryption are required for communication security. Resource authentication, results integrity checks and encrypted program execution are required for applications’ security.
Hypotheses H1.4-1.7 Programmable Infrastructure
H1.4 The programmable Internet service infrastructure provides shared resources, virtualization support for multiple applications and an execution environment.
H1.5 Resource availability is determined by monitoring, notification or probing mechanisms.
H1.6 Local resource managers at resource nodes allocate resources to applications.
H1.7 Package installation utilities and system calls for program execution provide resource binding to permanent storage, memory and processor resources. Programs make use of other system calls to obtain resource bindings to network and other specific resources.
Hypotheses H1.8-1.14 Deployment Mechanisms
H1.8 Server coordination requires the creation of communication channels between server instances and the configuration of coordination rules at each node or in a centralized server.
H1.9 Resource discovery and monitoring is provided by proactive mechanisms that are based on multicast expanded ring searches.
H1.10 Application network specifications are made up of a number of session requirements, a service demand table, and service-wide constraints.
H1.11 Connected placement is a suitable mechanism for resource mapping.
H1.12 Deployment control mechanisms are required so that resource-allocation and service-composition operations are carried out atomically on multiple remote nodes.
H1.13 HTTP-based mechanisms for information retrieval provide code distribution.
H1.14 The deployment of application networks is faster than it is by manual operation.
Validation Methodology
Resources
Execution Environments
Rsrc Agent
CPU
Resource Allocation
Code Distribution
Application Installation
Application Activation
Deply Mgr
BW Disk / RAM
Win Linux JVM
Resource Availability
EE Availability
Application Coordination
Application Communication
App1
Code Server App1 Code
RsrcAgent
CPU
ResourceDiscovery
Deply Mgr
ResourceAvailabilityTable
CommandsSentTable
ResourceAllocation
UserResourceMapping
CodeDistributionServiceComposition
DeploymentPlan Creation& Control
EE
Resources
DeployRequest
Prototype Implementation: Deployment manager used by
service deployers. Implements Web-based interface.
Resource agents used at each programmable infrastructure node.
Communicate by TCP.
Validation MethodologyExperiments: Deployment of 3 different kind of application networks: web proxy
server, chat server networks and servlet application networks:
Set up:
Measurement of temporal response: tTotal_Deployment, tNode_Deployment tNode_Actions
Specifications Proxy cache
hierarchy Chat server
network Servlet CDN
Application code Squid IRCd HelloWorld.java Execution
environment Linux-i386 Linux-i386 Tomcat
Per-server storage 200 Mbytes 200 Kbytes 20 Kbytes Net per-client BW 10 Kbps 1 Kbps 1 Kbps
Client session duration
10 sec 100 sec 1 sec
Demand regions All All All No. clients per region 100 100 1000
Constraints None None None
Storage:200MbyteBW: 10Mbit
LINUXTOMCAT
App1:
srv2
App2:
srv3
App3:
srv2
1 Mbit100 Mbyte1 Mbit2 Mbit
50 Mbyte
10 Mbyte
Storage:200MbyteBW: 10Mbit
LINUXTOMCAT
App1:
svr1
App2:
srv2
App3:
srv1
1 Mbit100 Mbyte1 Mbit2 Mbit
50 Mbyte
10 Mbyte
Storage:200MbyteBW: 10Mbit
LINUXTOMCAT
App1:
srv3
App2:
srv1
App3:
srv3
1 Mbit100 Mbyte1 Mbit2 Mbit
50 Mbyte
10 Mbyte
Svr2 parentsSrv3
Svr2 parentsSrv1
Svr2 parentsSrv3
Svr3 parentsSrv1
Svr3 parentsSrv2
Svr1 parentsSrv2
Svr2 parentsSrv1
H1.4-1.7: Programmable Infrastructure Results
Multiple application networks per infrastructure node require resource virtualization abstractions: Socket ports, multitasking OS, virtual memory.
Strict resource partitioning at resource nodes should be provided by mechanisms such as Qlinux or resource containers.
Dynamic resource binding mechanisms are required: reconfigurable sockets, virtual containers, ..
H1.8-1.14: Deployment Mechanisms Results
Mapping of application network specifications to resources depends on performance model of resource.
The deployment of application networks is faster than it is by manual operation:
main overhead is code distribution: can be improved by content distribution networks, caching mechanisms, incremental code loading.
Decoupling deployment of communication channels might simplify framework.
Cache ALN Chat ALN Servlet CDN
tTotal_Deployment18275 ms 2502 ms N/A
tCode_Distribution10284 ms 1530 ms 100 ms
H1.1-1.3: Framework Results
Most security threads solved by public key security technology. Application Java virtual machines with code verification are required for resource security. However there is no solution for malicious hosts accessing/attacking programs.
Building blocks and architecture validated by implementation and experiments, thus:
”A framework for application network deployment in an Internet service programmable infrastructure allows creating
application networks which are provisioned dynamically, and coordinated for service control”
However large scale experiments could not be performed.
Simulation to evaluate behaviour in large scale. (Today would use a testbed: planetlab.org )
Deployment in a large scale InternetDrawbacks of previous mechanisms in the large scale: resource monitoring creates a network bottleneck
and requires large server. resource mapping algorithm are computational
intensive. Resource contention among different deployers is
possible.
Resource allocation in the large scale had to be studied further.
Resource allocation mechanisms SoACentralized server initiated allocation: total control, but not scalable (Darwin,
Globus, ..)
Deployer Resource
“ServiceSpec”-> ::mapping -----“Allocation Command”--------------------> ::CheckAvaila
Resource initiated allocation: Distributed operation, scalable (RSVP,…)
Deployer Resource
“ServiceSpec”-> :: ---------------“Resource Requirements”-----> :: Mapping :: Allocation
Resource initiated allocation for distributed services has not been proposed.
Second Contribution
”A resource initiated allocation and multicast based deployment mechanisms is appropriate for application network deployment in a large-scale network as the Internet”
Second Contribution
Towards a Thesis Background, problem statement, solution requirements
First contribution ”A framework for application network deployment in an Internet service programmable
infrastructure allows creating application networks which are provisioned dynamically, and coordinated for service control”
Hypotheses, validation methodology, experiment and results Second contribution
”A resource initiated allocation and multicast based deployment mechanisms is appropriate for application network deployment in a large-scale network as the Internet”
Hypotheses, validation methodology, experiments and results Conclusions
Contributions, socio-economical impact, further work
H2.1 Service-initiated allocation deployment is not scalable since it requires high bandwidth at deployers location.
H2.2 Service-initiated allocation deployment is not scalable because of resource contention among deployer due to stale information.
H2.3 Multicast injection requires no resource discovery or monitoring mechanism.H2.4 Multicast injection uses simple deployers.H2.5 Multicast injection requires service specifications to be made public.H2.6 Multicast injection requires resource provider to interpret service specifications.H2.7 Multicast injection permits resources to control its usage.H2.8 Multicast injection can create resource over provisioning.H2.9 Multicast injection implementing resource-initiated allocation has high success
allocation ratio.H2.10 Multicast injection implementing resource-initiated allocation has high total
network bandwidth.H2.11 Multicast injection implementing resource-initiated allocation creates high
percentage of unused allocations.
Hypotheses H2.1-2.11
Validation Methodology
Implementation Ns-2 Process.tcl and Agent.tcl module are extended
to simulate deployment manager and resource agent. Simulation
Topology similar to Inet, smaller scale.
Parameters: resources quantity and distribution, application network specifications.
Variations in resource load, quantity of deployment entities and deployment rate.
S
S
S
SS
S
S
SS
S
S
S
SS
SS
S
S
S
SS
S
S
S
S
4 Mbits / 20 msec. link
1 Mbits / 50 msec. link
1 Mbits / 100 msec. link
D D
D
D
D
D
S Surrogate
Deployer
H2.3-2.8 Results
Deployer
1) Deployer mcast Spec:
Deploy “AppId, Regions: C1;C2;C3, Demand 1;2;1; Max distance 1, TopoLevel 2”
2) Nodes accept servicing:
Node 4,6,7,8,9,10,11,12,14
“OK; I allocate resources”
3) Nodes self-organize:
•Node 14 “parent 8”, Node 7 “parent 8”, Node 10 “parent 8”, Node 9 “parent 4”, Node 8 “parent 4”
Infrastructura Programable
H2.3-2.8 Results
Multicast injection uses simple deployer and no resource discovery or monitoring mechanism.
Common definition of service specifications (f.e. Internet regions, performance parameters) is very important.
Some service providers might not want to make public its service specifications, therefore secure multicast is required.
Resource overprovisioning happens and is not desired: multicast damping is a solution.
S
H2.3-2.8 Results
3) Nodes create multicast group, and exchange Info:
•Node 6,7“distance 1 C1”
•Node 9,10 “distance 1 C2”
•Node 11,14 “distance 1 C3”
•Node 4,8 “distance 2 C1,C2,C3”
QUIT QUIT
QUIT
4) Nodes Quit (unusing resources):
•Node 6,14 “QUIT”
•Node 12 “QUIT”
Multicast damping eliminates resource overprovisioning.
Deployer
Nodes Allocate after Multicast
Multicast injection has higher success ratio.(Centralized allocations suffer contention).
Multicast injection creates unused allocations, but not critical Input limiting filters will eliminate any overload.
H2.2-2.9-2.11 Results
0
50
100
150
200
250
300
350
400
0 0,5 1 1,5 2 2,5 3 3,5
Resource Load (resource units requests per second)
Ap
ps
Dep
loye
d S
ucc
essf
ul
MI CC
0
1
2
3
4
5
6
7
8
9
10
0 0,5 1 1,5 2 2,5 3 3,5
Resource Load (resource units requests per second)
Un
use
d A
lloca
tio
ns
(%)
MI
CC
Polinómica (MI)Polinómica (CC)
H2.1-2.10 Results
0
50
100
150
200
250
300
350
400
0 0,1 0,2 0,3 0,4 0,5 0,6 0,7
Aggregate Deployment Rate( Deployment requests per second)
De
plo
ye
r B
an
dw
idth
(B
yte
s/s
)
MI CC
Multicast injection requires less network bandwith at deployers locations.
Multicast injection uses higher total network bandwidth create multicast regions to
diminishes traffic. 0
2
4
6
8
10
12
0 0,1 0,2 0,3 0,4 0,5 0,6 0,7
Aggregate Deployment Rate (Deployment requests per second)
To
tal
Net
wo
rk B
and
wid
th (K
by
tes
/s *
ho
ps)
MI
CC
Conclusions
Towards a Thesis Background, problem statement, solution requirements
First contribution ”A framework for application network deployment in an Internet service programmable
infrastructure allows creating application networks which are provisioned dynamically, and coordinated for service control”
Hypotheses, validation methodology, experiment and results Second contribution
”A resource initiated allocation and multicast based deployment mechanisms is appropriate for application network deployment in a large-scale network as the Internet”
Hypotheses, validation methodology, experiments and results Conclusions
Contributions, socio-economical impact, further work
Contributions
Initial Hypotheses about “application network deployment in the Internet”.
Validated by implementation, experiments and simulation, thus the thesis:
“A framework for application network deployment in an Internet service programmable infrastructure allows creating application networks which are provisioned
dynamically, and coordinated for service control””A resource initiated allocation and multicast based deployment mechanisms is appropriate for application
network deployment in a large-scale network as the Internet”
Socio-economical impact
Less costly to set up application network services more people can provide them, many different services will be provided.
Application networks can adapt to demand variations applications with higher quality of service,
Virtual infrastructures creation is facilitated more virtual organizations shall be created.
Research Lines
Virtualization of other distributed systems incorporating physical resources.
Application to other programmable infrastructures: grids.
Economic based resource allocation mechanisms.