Slides - School of Computer Science

A Global Name Service for
a Highly Mobile Internetwork
Abhigyan Sharma, Xiaozheng Tie, Hardeep Uppal,
Arun Venkataramani, David Westbrook, Aditya Yadav
School of Computer Science
University of Massachusetts Amherst
1
Mobile arrived, but Internet unmoved
Bob
Alice’s phone
Notification systems
? VoIP/messaging
Cloud storage
Alice
 Unidirectional
communication initiation
 Redundant app-specific
mobility support
 Ungraceful disruptions
Cleaner separation of location and identity
commonly advocated wisdom
UNIVERSITY OF MASSACHUSETTS AMHERST • School of Computer Science
2
But DNS does separate identity / location
Domain names
IP addresses
+ connection migration techniques
 Challenge: scaling to handle update cost of frequent
mobility while returning up-to-date values
• Example: 10B devices, 100 addresses/day ≈ 1M updates/sec
• DNS update propagation can takes hours or days today!
UNIVERSITY OF MASSACHUSETTS AMHERST • School of Computer Science
3
Scalable global name service (GNS)
f0:56:81:c1:c0:eb
node1.cs.umass.edu
Global
name service (GNS)
dropbox.com
netflix.com/<object>
devices in [lat,long,radius]
interface
device
service
content
group of names
Goal: A massively scalable, logically centralized GNS to
enable secure, name-based communication with
flexible endpoint principals with arbitrary (fixed) names
despite high mobility.
UNIVERSITY OF MASSACHUSETTS AMHERST • School of Computer Science
4
Outline
 Poor intrinsic support for mobility today
 Case for a next-generation GNS
 Auspice GNS design
 Implementation and evaluation
 Related work, open issues, summary
UNIVERSITY OF MASSACHUSETTS AMHERST • School of Computer Science
5
GNS critical to handle mobility
Global name service
Bob
Pre-lookup mobility
Individual mobility
Alice
Connect-time mobility
IP7
IP1
IP2
IP5
IP3
IP6 IP4
Simultaneous mobility
GNS critical or can significantly benefit
mobility handling in any network architecture
UNIVERSITY OF MASSACHUSETTS AMHERST • School of Computer Science
6
DNS limitations
Passive caching
. of trust
Single root
Load α 1/TTL
Mobility
cache
Latency α 1/TTL
edu
com
netMobility
Federation
Hierarchical names
DNS
DNSSEC key chain
Static placement
Authoritative nameserver ns.xyz.net
node1.xyz.net
“JohnSmith2178@Amherst”
yahoo cnn
umass
“Living room chandelier”
“Taxis nearcsTimes
ece Square”
UNIVERSITY OF MASSACHUSETTS AMHERST • School of Computer Science
7
Outline
 Poor intrinsic support for mobility today
 Case for a next-generation GNS
 Auspice GNS design
 Implementation and evaluation
 Related work, open issues, summary
UNIVERSITY OF MASSACHUSETTS AMHERST • School of Computer Science
8
GNS: Decoupling certification and resolution
Root name service (ICANN,
US. Dept. of Commerce)
2
3
3
1
Managed
DNS
services
Auth.
name
services
4
Name
certification
services
Certificate
search
services
Auspice-like
global name
services
1
4
Local name
services
Local name
services
UNIVERSITY OF MASSACHUSETTS AMHERST • School of Computer Science
GUID=X, GNS=Auspice
TLD
name
services
Global name system
Name: “Alice’s phone”
Domain name system
0
9
Active replication cost-benefit tradeoff
Update cost for name i α (#replicasi) x (update_ratei)
Resource cost
Lookup latency for name i ?
Replicate-at-all-locations
Auspice
Consistent hashing with
(static) k-replication
Resource limit
Name lookup latency
UNIVERSITY OF MASSACHUSETTS AMHERST • School of Computer Science
10
Demand-aware active replication
 #replicas of name i α (read_ratei) / (update_ratei)
Geolocality-aware
i
NS2
NS1
Load-aware
j
NS6
NS
j 5
NS3
i
NS8
i
NS7
NS9
NS10
j
NS4
j
NS11
i
UNIVERSITY OF MASSACHUSETTS AMHERST • School of Computer Science
11
Placement reconfiguration engine
name i
NS3
NS7
NS10
NS1
i
NS2
NS1 i
i NS3
NS5 NS8
NS9
i = name record for name i
NS2
NS11
i
i
= replica controller for name i
NS6
NS5 j
i
i
NS4
NS8
NS7
NS9
j
i
NS11
j
i
NS4
Consistent hashing based
placement control plane
NS10
Planned demand-aware
placement for data plane
UNIVERSITY OF MASSACHUSETTS AMHERST • School of Computer Science
12
Outline
 Poor intrinsic support for mobility today
 Case for a next-generation GNS
 Auspice GNS design
 Implementation and evaluation
 Related work, open issues, summary
UNIVERSITY OF MASSACHUSETTS AMHERST • School of Computer Science
13
Implementation
 Geo-distributed key-value store
GUID: {
{IPs: [123.45.67.89, 98.76.54.321]},
{geoloc:[lat, long]},
{TE_prefs: [“prefer WiFi”,…]},
{ACL: {whitelist: […]}},
…
}
 Name certification service
Human-readable name: [email protected]:phone
GUID: 21EC2020-3AEA-4069-A2DD-08002B30309D
 msocket user-level socket library with Auspice integration
MSocket socket = new MSocket([email protected]:phone);
MServerSocket socket = new MServerSocket(8080);
UNIVERSITY OF MASSACHUSETTS AMHERST • School of Computer Science
14
Placement schemes comparison
Testbed: 16 server cluster emulating with 80 NS an 80 local NS
Workload: 90% mobile names (geolocality 0.75), 10% service names
Auspice gives close to best throughput and
up to 9x lower latency than DHT+Popularity
UNIVERSITY OF MASSACHUSETTS AMHERST • School of Computer Science
15
Managed DNS comparison
Ultra DNS (16 replicas) vs. Auspice 5/10/15 replicas out of 80 locations
120
Ultra DNS
(16 replicas)
150
Auspice
(15 replica)
210
Auspice
reduces cost/latency over
180
today’s managed DNS
Auspice
(5 replica)
Lookup latency (ms)
240
Auspice
(10 replica)
One-third replication cost, similar latency
90
60
30
60% less latency,
similar cost
0
UNIVERSITY OF MASSACHUSETTS AMHERST • School of Computer Science
16
Related work
 Classical name services [Grapevine/ClearingHouse]
used static replication
• Context-based names like Lampson’s “descriptive names”
“the
DHT-based
DNS [Grapevine]
designs [CoDoNS]
load balance,
XEROX system
was then ensure
… the most
sophisticated
name
service geo-locality
in existence, but it was not clear that its
oblivious to
demand
heavy
use of replication,
use of (statically)
caching ... place
were appropriate”
• Locality-aware
DHTslight
[SkipNet]
content close
to origin, not near regions of its (dynamic) demand
msocket.bind([lat,
long,
radius])
 Modern KV data stores
support
static geo-replication
[Cassandra] or manually-configured policy [Spanner]
msocket.send(msg)
msg
msg
UNIVERSITY OF MASSACHUSETTS AMHERST • School of Computer Science
17
Auspice GNS summary
Enables secure, name-based communication
• arbitrary name/location representation
• flexible endpoint principals
• handles all types of mobility
 Key differences from DNS for today’s Internet
• federation decoupling certification and resolution
• active replication
• demand-aware placement
Get your GUID at: http://gns.name
UNIVERSITY OF MASSACHUSETTS AMHERST • School of Computer Science
18