Networked Systems Research Projects @ McGill
description
Transcript of Networked Systems Research Projects @ McGill
Networked Systems Research Networked Systems Research Projects @ McGillProjects @ McGill
Muthucumaru MaheswaranMuthucumaru Maheswaran
Advanced Networking Research LabAdvanced Networking Research Lab
School of Computer ScienceSchool of Computer Science
McGill UniversityMcGill University
Montreal, QC H3A 2A7Montreal, QC H3A 2A7
Advanced Networking Research Laboratory,School of Computer Science,McGill University, Montreal, QC, Canada.
2
OutlineOutline
• Ongoing ProjectsOngoing Projects– Galaxy: A Quality of Service Aware Public Galaxy: A Quality of Service Aware Public
Computing UtilityComputing Utility– RAN: Resource Addressable NetworkRAN: Resource Addressable Network– Trusted GossipTrusted Gossip– GINI: A Toolkit for User-Level NetworksGINI: A Toolkit for User-Level Networks
• Future Projects:Future Projects:– RASAN: Resource and Service Addressable RASAN: Resource and Service Addressable
NetworkNetwork– ALVIN: Application Layer Virtual InternetworkingALVIN: Application Layer Virtual Internetworking
Advanced Networking Research Laboratory,School of Computer Science,McGill University, Montreal, QC, Canada.
3
Motivation for RASANMotivation for RASANRASAN: Resource and Service Addressable RASAN: Resource and Service Addressable
NetworkNetwork• New technology trends:New technology trends:
– Radio frequency IDs Radio frequency IDs (RFIDs)(RFIDs)– Pervasive wireless accessPervasive wireless access– Very low cost/power sensorsVery low cost/power sensors
• Creating new resource and service discovery Creating new resource and service discovery problems. problems.
• Examples of such discovery problems:Examples of such discovery problems:– Locating the best doctors and nurses who should be brought Locating the best doctors and nurses who should be brought
into a team to respond to particular emergency situations, into a team to respond to particular emergency situations, – Locating and allocating resources and services that are Locating and allocating resources and services that are
necessary for conducting disaster reliefnecessary for conducting disaster relief– Logistical scheduling of different typesLogistical scheduling of different types
• New “discovery” problems enabled by the evolution of New “discovery” problems enabled by the evolution of network beyond a system that merely interconnects network beyond a system that merely interconnects clients and servers via a packet switched networkclients and servers via a packet switched network
Advanced Networking Research Laboratory,School of Computer Science,McGill University, Montreal, QC, Canada.
4
What is RASAN?What is RASAN?
• RASAN is a real-time large-scale directory RASAN is a real-time large-scale directory service that is targeted to include service that is targeted to include heterogeneous resources (wired, wireless, heterogeneous resources (wired, wireless, sensors, people, etc)sensors, people, etc)
• RASAN Goal:RASAN Goal:– Flexible search (multiple search dimensions)Flexible search (multiple search dimensions)– Minimal overhead Minimal overhead – Fast response timesFast response times– Late binding to determine real-time scenariosLate binding to determine real-time scenarios
Advanced Networking Research Laboratory,School of Computer Science,McGill University, Montreal, QC, Canada.
5
What is RASAN…What is RASAN…
• RASAN architecture:RASAN architecture:– Organized in a P2P manner that self-organizes Organized in a P2P manner that self-organizes
with resource arrival and departure eventswith resource arrival and departure events– Allows searches along multiple attribute spaces Allows searches along multiple attribute spaces
for locating resources and servicesfor locating resources and services– Uses space filling curves (SFC) to reduce multi-Uses space filling curves (SFC) to reduce multi-
dimensional search to single dimensional dimensional search to single dimensional problem (used in RAN with success on the problem (used in RAN with success on the Internet for locations)Internet for locations)
– Instead of a single SFC, it uses a hierarchy of Instead of a single SFC, it uses a hierarchy of SFCsSFCs
– Enables multi-resolution searches to reduce error Enables multi-resolution searches to reduce error accumulationaccumulation
Advanced Networking Research Laboratory,School of Computer Science,McGill University, Montreal, QC, Canada.
6
RASAN Design RASAN Design RequirementsRequirements• Scalable systemScalable system: Obvious scalability : Obvious scalability
dimension is the number of devices. Others dimension is the number of devices. Others include number of search attributes and include number of search attributes and resource classes.resource classes.
• Dynamic system supportDynamic system support: Resources and : Resources and services can attach and detach from the services can attach and detach from the directory services without prior notice. directory services without prior notice.
• Heterogeneous and multi-resolution searchHeterogeneous and multi-resolution search: : RASAN is meant to search along multiple RASAN is meant to search along multiple attribute dimensions. One way to make the attribute dimensions. One way to make the search efficient is to perform the search in search efficient is to perform the search in progressively increasing resolutions.progressively increasing resolutions.
Advanced Networking Research Laboratory,School of Computer Science,McGill University, Montreal, QC, Canada.
7
RASAN Design Req…RASAN Design Req…• Resource efficient implementationResource efficient implementation: Due to its P2P : Due to its P2P
nature, a RASAN kernel would run on each nature, a RASAN kernel would run on each resource. To include resource challenged sensors resource. To include resource challenged sensors into RASAN, the implementation should be able to into RASAN, the implementation should be able to run with limited memory and processing capacities. run with limited memory and processing capacities. Further, resources with restrictive battery Further, resources with restrictive battery capacities should be able to participate in “stub” capacities should be able to participate in “stub” configurations with minimal transit traffic.configurations with minimal transit traffic.
• Operation with localized trustOperation with localized trust: Resource should : Resource should have some credential to establish it identity. have some credential to establish it identity. Localized reputation should be used to evaluate Localized reputation should be used to evaluate “behavior trust”“behavior trust”
• Shared fateShared fate: A resource or service that does not : A resource or service that does not exist need not be indexed by the directoryexist need not be indexed by the directory
Advanced Networking Research Laboratory,School of Computer Science,McGill University, Montreal, QC, Canada.
8
RAN discovery substrateRAN discovery substrate
ODC ServiceODC Service
Physical ResourcesPhysical Resources
Location-based discoveryLocation-based discovery
Landmark-aided positioningLandmark-aided positioning
Profile-based discoveryProfile-based discovery
Network positioning Network positioning mechanism, assigning mechanism, assigning coordinates for each node in coordinates for each node in the network delay spacethe network delay space
Resource Addressable Resource Addressable NetworkNetwork• RAN: middle layer between services and RAN: middle layer between services and
resources.resources.• Attribute-based and location-based discovery.Attribute-based and location-based discovery.
Naming the resources Naming the resources based on their based on their attributesattributes
Profile-based namingProfile-based naming
Advanced Networking Research Laboratory,School of Computer Science,McGill University, Montreal, QC, Canada.
9
Location Location IDID
Profile IDProfile ID
decides the locationdecides the location
decides the decides the ringring
Type Type ringsrings
RAN OverlayRAN Overlay
NodeNode(LID)(LID)
NodeNode
NodeNode(x,y)(x,y)
NodeNode(PID)(PID)
PBN/PBN/Hilbert Hilbert
indexingindexing
LAPLAP
Hilbert Hilbert indexinindexin
gg
Resources with the same Resources with the same profile ID form a ringprofile ID form a ring
Route pointers in the Route pointers in the nodes creates the overlay nodes creates the overlay structurestructure
Neighborhood pointersNeighborhood pointers connect the ringsconnect the rings
Advanced Networking Research Laboratory,School of Computer Science,McGill University, Montreal, QC, Canada.
10
Network PositioningNetwork Positioning
• Network positioningNetwork positioning: assigning coordinates : assigning coordinates for the nodes in a virtual Cartesian space, for the nodes in a virtual Cartesian space, from which real network delay can be from which real network delay can be predicted. predicted.
xx
yy
(x(x11, y, y11))
(x(x22, y, y22))
ll1212
InterneInternett
Cartesian Cartesian spacespace
ll1212 ≈ √[(x ≈ √[(x11-x-x22))22+(y+(y11-y-y22))22]]
Distance prediction:Distance prediction:
Advanced Networking Research Laboratory,School of Computer Science,McGill University, Montreal, QC, Canada.
11
Landmark Aided PositioningLandmark Aided Positioning
• Landmark aided positioning Landmark aided positioning (LAP): the (LAP): the network positioning scheme for RAN.network positioning scheme for RAN.– Using a set of Using a set of landmarkslandmarks..– Normal nodes:Normal nodes:
• Select a subset of the total landmarks and ping them.Select a subset of the total landmarks and ping them.• Run optimization algorithm to position themselves to Run optimization algorithm to position themselves to
minimize the total error in distance prediction.minimize the total error in distance prediction.
• Two phases of LAP:Two phases of LAP:– Landmark positioningLandmark positioning: : positioning the positioning the
landmarks.landmarks.– Node positioningNode positioning: : positioning the normal nodes.positioning the normal nodes.
• Simplex and Spring algorithms.Simplex and Spring algorithms.
Advanced Networking Research Laboratory,School of Computer Science,McGill University, Montreal, QC, Canada.
12
Location-based DiscoveryLocation-based Discovery• Finding a resource at specific coordinate/range:Finding a resource at specific coordinate/range:
– Multidimensional search.Multidimensional search.– Chose Chose Hilbert curveHilbert curve as the data structure. as the data structure.
• Hilbert curve:Hilbert curve:
– A space filling curve.A space filling curve.– Preserving proximity.Preserving proximity.– Hierarchical Hilbert index Hierarchical Hilbert index location IDlocation ID (LID). (LID).
Advanced Networking Research Laboratory,School of Computer Science,McGill University, Montreal, QC, Canada.
13
Location-based Discovery Location-based Discovery (cont…)(cont…)
• Routing table for location-based discovery.Routing table for location-based discovery.– Non-zero error in pings justifies fixed length LIDs.Non-zero error in pings justifies fixed length LIDs.– Ring pointersRing pointers ensuring connectivity; ensuring connectivity; jump pointersjump pointers
enhancing route complexity.enhancing route complexity.• Average search hop complexity = Average search hop complexity = h h (approx. level) (approx. level) O(1)O(1)..
Routing table at node with LID = 2.3.3.1.0Routing table at node with LID = 2.3.3.1.0
Advanced Networking Research Laboratory,School of Computer Science,McGill University, Montreal, QC, Canada.
14
Profile-based DiscoveryProfile-based Discovery
• Discovery systems implements naming Discovery systems implements naming schemes:schemes:– Label-based namingLabel-based naming (LBN): DNS, IP Address. (LBN): DNS, IP Address.
• Scalable, but not flexible.Scalable, but not flexible.
– Description-based namingDescription-based naming (DBN): LDAP. (DBN): LDAP.• Flexible, but with high overhead due to information Flexible, but with high overhead due to information
maintenance, complex matching algorithms.maintenance, complex matching algorithms.
• Introducing Introducing profile based namingprofile based naming (PBN): (PBN):– Labels popular attribute-value combinations.Labels popular attribute-value combinations.
• Combines the goods of LBN and DBN.Combines the goods of LBN and DBN.• Can not discover all the attribute-value combinations.Can not discover all the attribute-value combinations.• Trading off flexibility (performance) for scalability.Trading off flexibility (performance) for scalability.
Advanced Networking Research Laboratory,School of Computer Science,McGill University, Montreal, QC, Canada.
15
Profile-based DiscoveryProfile-based Discovery (cont…)(cont…)
Profile 1: {Intel/AMD, ≤ 512MB} : 0.*Profile 1: {Intel/AMD, ≤ 512MB} : 0.*Profile 2: {Intel with 1GB}Profile 2: {Intel with 1GB} : 1.0 : 1.0Profile 3: {Intel/AMD, > 1GB}Profile 3: {Intel/AMD, > 1GB} : [1.1,1.2] : [1.1,1.2]
description spacedescription space
profile spaceprofile space
profilesprofiles
descriptiondescription 11
22
33
Profile Profile IDsIDs
•Profile-based routing table is very similar to location-based routing table.Profile-based routing table is very similar to location-based routing table.
Profile-based Profile-based naming:naming:
Advanced Networking Research Laboratory,School of Computer Science,McGill University, Montreal, QC, Canada.
16
The Galaxy ArchitectureThe Galaxy Architecture
• The following diagram shows a proposal for The following diagram shows a proposal for Galaxy architecture:Galaxy architecture:
Resource Pool (RP)
Resource Addressable Network (RAN)
Galaxy Services
Galaxy Applications
Se
curi
ty
Ga
laxy
Mid
dle
wa
re
ResourceBroker
Galaxy Resource Management System
ResourceBroker...
Service Level, Trust,Incentive Management
Resource Broker
Advanced Networking Research Laboratory,School of Computer Science,McGill University, Montreal, QC, Canada.
17
Trust and Incentive Trust and Incentive ManagementManagement• Public resources remain under control of Public resources remain under control of
local agents whose behavior may change local agents whose behavior may change randomlyrandomly
• resource sharing in hostile and friendly environmentsresource sharing in hostile and friendly environments
• Challenges in trust management in a PCUChallenges in trust management in a PCU– Internet-scaleInternet-scale
• manage vast pool of distributed resourcesmanage vast pool of distributed resources
– cross boundary; autonomous cross boundary; autonomous • span across administrative domainsspan across administrative domains• handle localized policies; varied level of trust handle localized policies; varied level of trust
requirementrequirement• reliable exchange of peer behaviorreliable exchange of peer behavior• ensure fair resource exchange; resource participationensure fair resource exchange; resource participation
Advanced Networking Research Laboratory,School of Computer Science,McGill University, Montreal, QC, Canada.
18
GRMS Trust Management GRMS Trust Management ModelModel
Resource Brokers (RBs)
Resource Peers (RPs)RB1
A
RP2A
RB2A
RP3A
RP1B
RB1B
RP1A
RP2B
Domain A
Domain B
Advanced Networking Research Laboratory,School of Computer Science,McGill University, Montreal, QC, Canada.
19
Trust HierarchyTrust Hierarchy
RB1B
RP1B
RP1A
• Hierarchy: Hierarchy: locallocal, , globalglobal trusttrust
• Helps to reduce Helps to reduce overhead needed for overhead needed for computing trustcomputing trust– scalable; flexible; scalable; flexible;
localized policinglocalized policingRP1
A global trust
local trust
domains are notconnected in
hierarchy
Advanced Networking Research Laboratory,School of Computer Science,McGill University, Montreal, QC, Canada.
20
PCU Operations for PCU Operations for AllocationAllocation
RB1A
RB1B
RP1B
RP1A
2. resource discovery (via RAN)
4. resource negotiation
6. resource rewarding
RP1A
5. resource access
1. resource request
Requestor
3. resource reply
Provider
Advanced Networking Research Laboratory,School of Computer Science,McGill University, Montreal, QC, Canada.
21
Negotiation: Trust Negotiation: Trust EvaluationEvaluation
RB1A
RB1B
RP1B
RP1A
REP_DBA = reputation of
Domain B as measured by Domain A
RB1A computes RP1
B ’s global trust GT_ RP1
B = LT_RP1B x REP_DB
A
Domain A
Domain B
Domain C
RP1A
Requestor
Provider
Resource access is authorized if RB1
A considers GT_RP1B
value as trustworthy
RB1B recommends RP1
B to RB1
A based on RP1B ’s
local trust LT_ RP1B
Security/fairness mechanismsensure that RBs and RPs do not collude or lie to each other
4. resource negotiation