“Design Review” Randy H. Katz, Anthony Joseph, Ion Stoica Computer Science Division Electrical Engineering and Computer Science Department University of California, Berkeley Berkeley, CA 94720-1776
Dec 20, 2015
“Design Review”
Randy H. Katz, Anthony Joseph, Ion StoicaComputer Science Division
Electrical Engineering and Computer Science DepartmentUniversity of California, Berkeley
Berkeley, CA 94720-1776
The “Sahara” Project
• Service• Architecture for• Heterogeneous• Access,• Resources, and• Applications
Sahara Research Themes• New mechanisms, techniques for end-to-end
services w/ desirable, predictable, enforceable properties spanning potentially distrusting service providers– Tech architecture for service composition & inter-operation
across separate admin domains, supporting peering & brokering, and diverse business, value-exchange, access-control models
– Functional elements• Service discovery• Service-level agreements• Service composition under constraints• Redirection to a service instance• Performance measurement infrastructure• Constraints based on performance, access control,
accounting/billing/settlements• Service modeling and verification
Global Packet Network Internetworking
(Connectivity)
ISPCLEC
Horizontal Service Model
Application-specificOverlay Networks
(Multicast Tunnels, Mgmt Svrcs)
Applications(Portals, E-Commerce,
E-Tainment, Media)
Application-specific Servers(Streaming Media, Transformation)ASP
InternetData Centers
Appl Infrastructure Services(Distribution, Caching,
Searching, Hosting)
AIPISV
Applications-enablingServices
Processing/StorageLocation & Placement
Reachability &Topology
AccessNetwork
s
Core Networks
Connectivity and Processing
Transit Net
Transit Net
Transit Net
PrivatePeering
NAP
PublicPeering
InternetDatacenter
PSTNRegional
WirelineRegionalVoiceVoice
CellCell
Cell
CableModem
LAN
LAN
LAN
Premises-based
WLAN
WLAN
WLAN
Premises-based
Operator-based
H.323Data
Data
RAS
Analog
DSLAM
H.323
Goals of the Design Review
• Originally– Present technical architecture for
comment/review
• But,– Not ready to do so!– Too early in our thinking for comprehensive
architecture
• So,– Snapshot of our current thoughts– Scenarios of service provision– Dialog with industry colleagues on essential
components of architecture and their interactions
Research Questions:Service Design
• For a given community of users and a given set of performance, availability, and administrative constraints,– Service Provisioning Problem: How many
instances of a service are needed? – Service Placement Problem: Where should
these services be placed? – Adaptive Services: How do these
deployments change with evolution of the user community and variations in usage demand?
Research Questions:Composition Over Providers
• Cooperative service placement– Consider placement from perspective of
entire community of service providers– How to achieve best possible placement
across whole community?– How do service providers make known their
services for possible peering/composition with other providers (mechanisms of service advertisement/service level agreement)?
– How are these offered services verified (service agreement verification)? Which service provider is responsible?
Research Questions: Spanning Service Providers
• Brokered service placement – Form own service composition by picking &
choosing among service instances discovered from underlying service providers
– How is service quality determined by 3rd-party broker (performance verification)?
– How is service composition correctness determined by the 3rd-party broker (protocol verification)?
Research Questions
• Service Identification/Choice Problem– Given an application (e.g., content distribution),
which is the best service (e.g., cache/storage resources, transport/interconnection connectivity and bandwidth for performance-constrained delivery) for supporting it?
• Service Selection Problem– Given provisioning & placement of services within
admin domain, which is “best” service instance?– Considering load, distance/latency between clients of
the service and where the service is placed, subscription/billing relationships, loyalty/affinity relationships, preferences, etc.
Service Examples
• Connectivity/Reachability– Basic Internet routing between ASs– More sophisticated multicast distribution formation– Performance constrained connectivity/latency and
bandwidth guarantees (e.g., Clearinghouse/Soft QoS)
• Performance monitoring services (distance/latency mapping, load collection/balancing across service instances)
• Content distribution services: cache/storage resources, distribution/transport resources
What is a Service?
• Content transformation services (format translators)• Gateway selection under load and performance
constraints• Resource allocation services (e.g., auctions for
bandwidth, processing, storage)• Mobility services (e.g., device ensembles)• Who is allowed to invoke a service:
Authentication, Accounting, Access Control• Payment for services: billing, financial
clearinghouses• Interworking services across administrative
domains/different technologies
Some Starting SAHARA Assumptions
• Dynamic confederations to better share resources & deploy access/achieve regional coverage more rapidly
• Scarce resources efficiently allocated using dynamic “market-driven” mechanisms
• Trusted third partners manage resource marketplace in a fair, unbiased, audited and verifiable basis
• Vertical stovepipe replaced by horizontally organized “multi-providers,” open to increased competition and more efficient allocation of resources
• Sanity Check?
Implications for Architectural Elements
• “Open” service/resource allocation model– Independent service creation, establishment,
placement, in overlapping domains – Resources, capabilities, status
described/exchanged amongst confederates, via enhanced capability negotiation
– Allocation based on economic methods, such as congestion pricing, dynamic marketplaces/auctions
– Trust management among participants, based on trusted third party monitors
Implications for Architectural Elements
• Forming dynamic confederations– Discovering potential confederates– Establishing trust relationships– Managing transitive trust relationships &
levels of transparency– Not all confederates need be competitors--
heterogeneous, collocated access networks to better support applications
Architectural Elements
• Alternative View: Service Brokering– Dynamically construct overlays on
component services provided by underlying service providers
• E.g., overlay network segments with desirable performance attributes
• E.g., construct end-to-end multicast trees from subtrees in different service provider clouds
– Redirect to alternative service instances• E.g., choose instance based on distance, network
load, server load, trust relationships, resilience to network failure, …
TINA Reference Model
• Separate– apps from exec environ– service-specific from control
• Generic (Common) Objects + Service-Specific Objects
• Session: duration-based context for processes provisioning a service– Access session (authen-
tication, service selection)– Service session
• User service session (user state, resources)
• Provider service session (service logic)
– Comm session: abstract view of net connections
Distributed ProcessingEnvironment
Objects Sessions Trans-port
Applications
ServiceGeneric Mgmt
& Control
Network Environment
TINA Reference Model
• Business Model– Roles/entities & their
relationships while participating in service provisioning
– E.g., consumer, retailer, broker, 3rd party provider, content provider, connectivity provider
• Information Model– Information-bearing
entities– E.g., user and service
profiles• Computational Model
– Computational objects & their relationships
Business
Model
Information
Model
Computational
Model
Distributed ProcessingEnvironment
Objects Sessions Trans-port
Applications
ServiceGeneric Mgmt
& Control
Network Environment
Composed Services Under Investigation
• Overlay routing “service”: connectivity and reachability (BGP++: Sharad, Lakshmi, Morley)
• Multicast service: distribution tree formation across administrative domains (Mukund)
• Soft QoS Service: performance constrained connectivity/latency and bandwidth guarantees (Clearinghouse: Chen-nee, Lakshmi)
• Performance monitoring service: distance/latency mapping, load collection/balancing across service instances (Yan)
• Content distribution services: cache/storage resources, distribution/transport resources (Yan, Morley)
Composed Services Under Investigation
Infrastructure Services– Highly available/fast fall-over
services in wide-area (Bhaskar);Fall-back path bandwidth provisioning (Weidong);
– Service instance selection, load-balanced resource sharing;
– Resource allocation/auctions and class-of-service pricing for bandwidth, processing, storage (Weidong & Matt);
– Mobility and cooperation across access networks/device ensembles (Machi)
– Interdomain Authentication & Access Control (Suzuki)
Applications– Content
transformation/format translators; Universal In-Box (Bhaskar)
– H.323 Gateway selection under load & performance constraints (Matt)
– VoIP and bandwidth congestion pricing (Jimmy)
– Smart Spaces/PAN?
SAHARA ArchitectureNetwork Environment– Explicitly distinguish between multiple
Access Networks and Core Networks– “Gateway Provider” (GP)
• Points of Presence between different kinds of networks
– “Path” Provider (PP)• Autonomous systems (AS) determine
service domains for purposes of reachability
• Peering between administrative domains managed via BGP
• Point-to-point (and multipoint) latency, availability SLAs within a single administrative domain
– “Datacenter” Provider (DCP)• Distributed computing resources
(processing, storage) embedded within network topology
• Load/latency/availability SLAs within single datacenter location
Distributed ProcessingEnvironment
Objects Sessions Trans-port
Applications
ServiceGeneric Mgmt
& Control
Network Environment
SLAsPerformanceVerification
SAHARA Architecture
Distributed Processing:Service Placement– Place objects (operators + data) at
DCs, connected by paths• Multiple object and path instances for
load balancing, availability, scale– Brokers
• Given performance & other constraints:– Path brokering: create “overlay
network” among processing sites,link by link
– DC brokering: given distribution of clients, select processing sites for operators
– Confederations• Visibility of (alternative) paths, DCs
among associated providers• Peer-to-peer reassignment of objects to
DCs and paths
Distributed ProcessingEnvironment
Objects Sessions Trans-port
Applications
ServiceGeneric Mgmt
& Control
Network Environment
SAHARA ArchitectureDistributed Processing:Service Building Services– Authorization, Authentication,
Accounting• Interworking services spanning
administrative domains– Service Selection and Naming Service
• Choosing a “best” service• Finding “nearest” service instance
– Service Redirection Service• Load balancing among service instances• Selecting the best among services with
common affinity• Mobility support
– Resource Allocation Service• Auction-based allocation
– Performance Measurement Service• Network distance measurements• Latency measurements for operator
invocation over network
Distributed ProcessingEnvironment
Objects Sessions Trans-port
Applications
ServiceGeneric Mgmt
& Control
Network Environment
SAHARA ArchitectureApplications– Unified messaging services
(Universal In-box)• Content xform proxies• Latency, availability, scalability
– Content-distribution services• Cache placement & replenishment
algorithms• Adaptive to client community
evolution– IP Telephony
• H.323 gateway selection/load balancing
• Balance between packet (IP) and circuit-switched (PSTN) path
– Device Ensembles/Virtual Devices• Inter-network stream
synchronization• Virtual device proxy placement
– Virtual Home Environment
Distributed ProcessingEnvironment
Objects Sessions Trans-port
Applications
ServiceGeneric Mgmt
& Control
Network Environment
SAHARA and TINA
• Key Differences– Extreme heterogeneity of spanned networks and resources– Greater awareness and management of underlying network
topology/administrative scopes and affect on services
• Focus on – Cooperative vs. competitive service composition– Resource management via placement, allocation, redirection
to services and resources
• Borrow good parts of TINA– Applications/Distributed Processing/Network Environment– Business models/Information Model/Computation Model
• Understand why TINA failed– Avoid full-blown complexity of TINA
Example: Content Distribution
• Application: Content Delivery– Clients: Subscribers, Publishers
• Services– Distribution network– Content caches (service instances)
• Place caches at selected DCs (service placement)
• Redirect client to “best” cache instance (service redirection)– Based on proximity, load, content
• Service Composition– Broker multi-point distribution paths
between publishers and caches– Add/delete cache instances as client
community grows/shrinks• Brokering at content level among
competing CDNs
Distributed ProcessingEnvironment
Objects Sessions Trans-port
Applications
ServiceGeneric Mgmt
& Control
Network Environment
SAHARA Architectural Model
Hardware platform
Service ClustersGateways
Peering RelationsOverlay Network
Logical platform
Application plane
Composed Services
SAHARA Architectural Model
Hardware platform
Service ClustersGateways
Peering RelationsOverlay Network
Logical platform
Application plane
Composed Services
Service SelectionService Placement
Service LocationPerf Measurement
Service Path Creation
SAHARA Architectural Model
Hardware platform
Service ClustersGateways
Peering RelationsOverlay Network
Logical platform
Application plane
Composed Services
Service SelectionService Placement
Service RedirectionPerf Measurement
Load Balancing
SAHARA Architectural Model
Hardware platform
Service ClustersGateways
Peering RelationsOverlay Network
Logical platform
Application plane
Composed Services
Path Determination
Perf MeasurementVerification
Service Brokering
SAHARA Architectural Model
Hardware platform
Service ClustersGateways
Peering RelationsOverlay Network
Logical platform
Application plane
Composed Services
Service DiscoverySLA Negotiation
Perf MeasurementSLA Verification
Service Confederation
Authentication & Authorization Interworking
Mobility Interworking
SAHARA Architectural Model
Hardware platform
Service ClustersGateways
Peering RelationsOverlay Network
Logical platform
Application plane
Composed Services
Service FailureDetection
Service RecoveryPath re-composition
High Availability Services
SAHARA Architectural Model
Hardware platform
Service ClustersGateways
Peering RelationsOverlay Network
Logical platform
Application plane
Composed Services
Service Location
Path OrthogonalityDetermination
High Availability Services
SAHARA Architectural Model
Hardware platform
Service ClustersGateways
Peering RelationsOverlay Network
Logical platform
Application plane
Composed ServicesTranslator
Provisioning andPlacement
Path Determination
Universal In-Box
SAHARA Architectural Model
Hardware platform
Service ClustersGateways
Peering RelationsOverlay Network
Logical platform
Application plane
Composed ServicesCache
Provisioning andPlacement
Distribution TreeFormation
Content Distribution
SAHARA Architectural Model
Hardware platform
Service ClustersGateways
Peering RelationsOverlay Network
Logical platform
Application plane
Composed ServicesGateway
Provisioning andPlacement
Packet-to-CircuitTermination
Selection
Voice over IP
Summary and Status
• Evolve (mobile) Internet architecture to better support multiple service provider model– Dynamic environment, location-based implies
larger numbers of service providers & service instances
• Refine and build SAHARA Architecture– Specification driven by selected applications and
underlying wide-area services– Composition across confederated vs. independent
service providers: peer-to-peer vs. brokering
Discussion