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: abhigyan@cs.umass.edu:phone GUID: 21EC2020-3AEA-4069-A2DD-08002B30309D msocket user-level socket library with Auspice integration MSocket socket = new MSocket(abhigyan@cs.umass.edu: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