Title:
1Design 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
2The Sahara Project
- Service
- Architecture for
- Heterogeneous
- Access,
- Resources, and
- Applications
3Sahara 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
4Horizontal Service Model
Applications-enabling Services
Processing/Storage Location Placement
Reachability Topology
5Connectivity and Processing
6Goals 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
7Research QuestionsService 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?
8Research QuestionsComposition 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?
9Research 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)?
10Research 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.
11Service 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
12What 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
13Some 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?
14Implications 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
15Implications 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--heteroge
neous, collocated access networks to better
support applications
16Architectural 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,
17TINA 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
Service
Generic Mgmt Control
Applications
Objects
Sessions
Trans- port
Distributed ProcessingEnvironment
Network Environment
18TINA 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
Service
Generic Mgmt Control
B u s i n e s s M o d e l
I n f o r m a t i o n M o d e l
C o m p u t a t i o n a l M o d e l
Applications
Objects
Sessions
Trans- port
Distributed ProcessingEnvironment
Network Environment
19Composed 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)
20Composed 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?
21SAHARA Architecture
- Network 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
Service
Generic Mgmt Control
Applications
Objects
Sessions
Trans- port
Distributed ProcessingEnvironment
Performance Verification
SLAs
Network Environment
22SAHARA Architecture
- Distributed ProcessingService 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
Service
Generic Mgmt Control
Applications
Objects
Sessions
Trans- port
Distributed ProcessingEnvironment
Network Environment
23SAHARA Architecture
- Distributed ProcessingService 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
Service
Generic Mgmt Control
Applications
Objects
Sessions
Trans- port
Distributed ProcessingEnvironment
Network Environment
24SAHARA Architecture
- Applications
- 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
Service
Generic Mgmt Control
Applications
Objects
Sessions
Trans- port
Distributed ProcessingEnvironment
Network Environment
25SAHARA 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
26Example 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
Service
Generic Mgmt Control
Applications
Objects
Sessions
Trans- port
Distributed ProcessingEnvironment
Network Environment
27SAHARA Architectural Model
28SAHARA Architectural Model
Service Path Creation
Service Selection Service Placement
Service Location Perf Measurement
29SAHARA Architectural Model
Load Balancing
Service Selection Service Placement
Service Redirection Perf Measurement
30SAHARA Architectural Model
Service Brokering
Path Determination
Perf Measurement Verification
31SAHARA Architectural Model
Service Confederation
Service Discovery SLA Negotiation
Perf Measurement SLA Verification
Authentication Authorization Interworking Mobili
ty Interworking
32SAHARA Architectural Model
High Availability Services
Service Failure Detection
Service Recovery Path re-composition
33SAHARA Architectural Model
High Availability Services
Service Location
Path Orthogonality Determination
34SAHARA Architectural Model
Universal In-Box
Translator Provisioning and Placement
Path Determination
35SAHARA Architectural Model
Content Distribution
Cache Provisioning and Placement
Distribution Tree Formation
36SAHARA Architectural Model
Voice over IP
Gateway Provisioning and Placement
Packet-to-CircuitTermination Selection
37Summary 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
38Discussion