1 Lecture 8: Naming l Challenge: how do we efficiently locate wide area resources? n Naming: name -> IP address n Routing: IP address -> packet delivery.

Slides:



Advertisements
Similar presentations
Dynamic Replica Placement for Scalable Content Delivery Yan Chen, Randy H. Katz, John D. Kubiatowicz {yanchen, randy, EECS Department.
Advertisements

Consistency and Replication Chapter 7 Part II Replica Management & Consistency Protocols.
2.1 Installing the DNS Server Role Overview of the Domain Name System Role Overview of the DNS Namespace DNS Improvements for Windows Server 2008 Considerations.
Cache Coherent Distributed Shared Memory. Motivations Small processor count –SMP machines –Single shared memory with multiple processors interconnected.
1 Content Delivery Networks iBAND2 May 24, 1999 Dave Farber CTO Sandpiper Networks, Inc.
An Engineering Approach to Computer Networking
Technical Architectures
CSCI 4550/8556 Computer Networks Comer, Chapter 19: Binding Protocol Addresses (ARP)
OCT1 Principles From Chapter One of “Distributed Systems Concepts and Design”
Application Layer At long last we can ask the question - how does the user interface with the network?
588 Section 7 Neil Spring May 18, Schedule Homework 2 review DNS Active Naming.
Anycast Jennifer Rexford Advanced Computer Networks Tuesdays/Thursdays 1:30pm-2:50pm.
70-293: MCSE Guide to Planning a Microsoft Windows Server 2003 Network, Enhanced Chapter 7: Planning a DNS Strategy.
1 Web Content Delivery Reading: Section and COS 461: Computer Networks Spring 2007 (MW 1:30-2:50 in Friend 004) Ioannis Avramopoulos Instructor:
TCP/IP Protocol Suite 1 Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Chapter 19 Domain Name System (DNS)
1/25/2000 Active Names: Flexible Location and Transport of Wide-Area Resources Luis Rivera.
World Wide Web Caching: Trends and Technology Greg Barish and Katia Obraczka USC Information Science Institute IEEE Communications Magazine, May 2000 Presented.
1 DNS,NFS & RPC Rizwan Rehman, CCS, DU. Netprog: DNS and name lookups 2 Hostnames IP Addresses are great for computers –IP address includes information.
Caching and Content Distribution Networks. Web Caching r As an example, we use the web to illustrate caching and other related issues browser Web Proxy.
DNS. Outline r Domain Name System r DNS Hierarchy r Resolution.
Best Practices in IPv4 Anycast Routing Version 0.9 August, 2002 Bill Woodcock Packet Clearing House.
Chapter 25 Domain Name System
1 Content Distribution Networks. 2 Replication Issues Request distribution: how to transparently distribute requests for content among replication servers.
Distributed Computing COEN 317 DC2: Naming, part 1.
Distributed File Systems Concepts & Overview. Goals and Criteria Goal: present to a user a coherent, efficient, and manageable system for long-term data.
Active Network Applications Tom Anderson University of Washington.
Server Load Balancing. Introduction Why is load balancing of servers needed? If there is only one web server responding to all the incoming HTTP requests.
Internet Address and Domain Name Service (DNS) CS587x Lecture Department of Computer Science Iowa State University.
Chapter 16 – DNS. DNS Domain Name Service This service allows client machines to resolve computer names (domain names) to IP addresses DNS works at the.
Chapter 9 - Applications We will look at three main applications DNS (name services) SMTP ( ) HTTP (World Wide Web) Our main focus will be on DNS.
{ Content Distribution Networks ECE544 Dhananjay Makwana Principal Software Engineer, Semandex Networks 5/2/14ECE544.
Oasis: Anycast for Any Service Michael J. Freedman Karthik Lakshminarayanan David Mazières in NSDI 2006 Presented by: Sailesh Kumar.
Domain names and IP addresses Resolver and name server DNS Name hierarchy Domain name system Domain names Top-level domains Hierarchy of name servers.
1 Application Layer Lecture 6 Imran Ahmed University of Management & Technology.
Application-Layer Anycasting By Samarat Bhattacharjee et al. Presented by Matt Miller September 30, 2002.
Chapter 29 Domain Name System (DNS) Allows users to reference computer names via symbolic names translates symbolic host names into associated IP addresses.
Domain Name System CH 25 Aseel Alturki
October 8, 2015 University of Tulsa - Center for Information Security Microsoft Windows 2000 DNS October 8, 2015.
2: Application Layer1 Chapter 2 outline r 2.1 Principles of app layer protocols r 2.2 Web and HTTP r 2.3 FTP r 2.4 Electronic Mail r 2.5 DNS r 2.6 Socket.
Distributed Computing COEN 317 DC2: Naming, part 1.
Scalable Web Server on Heterogeneous Cluster CHEN Ge.
Module 7 Active Directory and Account Management.
CH1. Hardware: CPU: Ex: compute server (executes processor-intensive applications for clients), Other servers, such as file servers, do some computation.
Development of the domain name system Baoning Wu 01/30/2003.
Jan 30, 2001CSCI {4,6}900: Ubiquitous Computing1 Announcements Project Milestone 2 due today. Undergraduate projects should have 3 students per project.
Internet Address and Domain Name Service (DNS)
EE 122: Lecture 20 (Domain Name Server - DNS) Ion Stoica Nov 15, 2001 (* based on the some on-line slides of J. Kurose & K. Rose and of Raj Jain)
DYNAMIC LOAD BALANCING ON WEB-SERVER SYSTEMS by Valeria Cardellini Michele Colajanni Philip S. Yu.
Internet Address and Domain Name Service (DNS) CS587x Lecture 5 Department of Computer Science Iowa State University.
CS 6401 Overlay Networks Outline Overlay networks overview Routing overlays Resilient Overlay Networks Content Distribution Networks.
TCP/IP Protocol Suite 1 Chapter 17 Upon completion you will be able to: Domain Name System: DNS Understand how the DNS is organized Know the domains in.
/ Fast Web Content Delivery An Introduction to Related Techniques by Paper Survey B Li, Chien-chang R Sung, Chih-kuei.
John S. Otto Mario A. Sánchez John P. Rula Fabián E. Bustamante Northwestern, EECS.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
Multicast in Information-Centric Networking March 2012.
Domain Name System (DNS)
DNS.
Net 323 D: Networks Protocols
EE 122: Domain Name Server (DNS)
HWP2 – Distributed search
Content Distribution Networks
AWS Cloud Computing Masaki.
Distributed File Systems
Distributed File Systems
Distributed File Systems
EE 122: Lecture 22 (Overlay Networks)
Distributed File Systems
An Engineering Approach to Computer Networking
Distributed File Systems
Presentation transcript:

1 Lecture 8: Naming l Challenge: how do we efficiently locate wide area resources? n Naming: name -> IP address n Routing: IP address -> packet delivery l More generic challenge: how do we build wide area services? n Cache and replica coherence n Computation in the network

2 Domain Name System (DNS) l Design Assumptions n Names have global scope -- they mean the same thing everywhere n Names are organized hierarchically –ex: cnn.com, june.cs.washington.edu –each subtree can be assigned to different org n Caching and replication for performance, availability n Weak consistency to simplify implementation

3 Hierarchical Name Space l Ex: june.cs.washington.edu, june.com n OK to reuse names in different parts of tree root edu mil org uk com ca gwu wustl washington wsu mit june ward beaver

4 Name Space Delegation l Each organization controls its own name space (“zone” = subtree of global tree) n each org has its own name servers –replicated for availability n name servers translate only org names –client lookup proceeds step-by-step

5 DNS Lookup Example client local DNS proxy Root&edu DNS server washington DNS server cs DNS server cs.washington.edu washington=IPaddr cs.washington.edu cs=IPaddr’ june=IPaddr’’

6 Performance and Availability l DNS servers are replicated n name service available if >= one replica is up n queries load balanced between replicas l DNS queries are cached at local proxy n quick response for repeated translations n partial name caching (edu, washington.edu, cs.washington.edu, june.cs.washington.edu)

7 DNS Cache Effectiveness

8 Replica/Cache Coherence l How do we keep replicas/cached copies up to date? l DNS solution: eventual consistency n periodic downloads from master to replicas n cached data periodically times out –proxy must re-query server n ok if old data is provided temporarily?

9 Eventual Consistency Example Server replicas clients t+k:x’ x’ t+1:x ok t+1:reget x t:x’ t+q:x’ t+q:reget x

10 Coherence Models l Sequential consistency n all operations appear as if to a single, shared memory l Causal consistency n concurrent ops can occur in any order l Processor consistency n all ops by same host performed in order l Eventual consistency

11 Implementing Cache Coherence l User managed cache n ex: hit reload to get up-to-date version l Timeouts (NFS, WWW, DNS) n client periodically polls server for newest version l Callbacks (AFS, SMPs, transactions) n server notifies client whenever data changes n invalidation or update

12 Sequential Consistency Example Server replicas clients t+1:x’ x’ t+2:x’ t:x’ t+2:ack t+1:x’ t+3:ack t+5:ack t+4:ack Write doesn’t complete until all copies invalidated or updated

13 DNS Experience? l Single instance of globally distributed database in widespread use l Caching/replication crucial for performance l Simple consistency model n easy to implement, crucial for heterogeneity l System is difficult to evolve l Surprises: n negative caching,...

14 Active Networks l Motivation n Flexibility: can take decades to deploy new protocols n Performance: need to put functionality at most effective point in network l Approaches: n active packets -- programs in IP packets n active routers -- programmable routers n active services -- put servers in network

15 Active Names Motivation l Services have become complex, distributed programs l Clients have become heterogeneous l Implies need for: n Flexibility –client/service should be able to use any protocol n Performance –client/service should be able to move functionality into network

DNS Server URL Host Binding IP Address Image (1024X768) Proxy Server Static name -> IP address binding Naming and transport separate Names have global scope DNS Naming Reconsidered Not flexible or extensible

17 Adding Flexibility to Naming l Replica management n HTTP redirect –front end replies with server name –client reissues request to server n DNS round robin –rotate order of replicas provided to query n Cisco Local Director/Distributed Director –transparent redirection in routers n load balancing vs. distance, failover?

18 More Naming Flexibility l Customization n server customizes content to specific client –mycnn.com, advertisement rotation n client customizes content –format to display l Deployment of new IP features n mobility, larger address space

19 More Naming Flexibility l Location independent objects n Universal resource names (URNs) –URLs that can change servers –proposal: sed scripts to mangle names n Global object systems (e.g., Globe, Legion) –how do you scalably locate mobile objects?

Context-sensitive naming –User types cnn.com. –If client is behind a modem, it gets back a b/w image. –If client is a palm pilot, it gets a distilled image. –If the client is in Europe, it goes to the European replica. Combine naming and transport in one framework. Provide flexibility and extensibility in the way wide area resources are accessed. Active Names Scenario

Active Names: Basic Idea Data Name Programs Names resolved to mobile, secure programs Flexibility Active Names organized into hierarchical namespaces. A program is associated with each namespace. Namespace programs can be changed Extensibility. Active Names are connection oriented: better end-to-end semantics and performance.

Programming Model l Location independent programs » Programs may run on any AN node l Stream data model » Each program operates on a data stream which is the result of the previous program l Continuation passing style » Control does not have to return to the caller Request Program1 Program2 Client ProxyServer

23 Performance Gains Client Proxy Server Client Proxy Application customized transport protocols. Programs are location independent. Location can be chosen to optimally utilize resources (e.g., distillation). Customization can be performed close to client instead of at the server (e.g., to cache dynamic content). 3 way RPC

l Delegation n Active names organized in a hierarchy of namespaces n Namespace programs can delegate to subordinate namespaces Composing Services Root-HTTP cnn yahoo...

25 Composing Services l After methods n Continuation passing style programming n Namespace programs bundle remaining work into “after methods” before passing control –[Customizer|http|reply] -->[prefetch|http|distill|reply]

26 Security Protection between active name programs provided by Java’s type safety mechanism. Caller passes a certificate to the callee granting it a subset of its rights (e.g., to translate name). Transitive closure of the certificates determines the rights of a principal (e.g., to provide service). For instance, each caller might grant its callee the right to respond to the client.

Microkernel Architecture Virtual Machine Resolver NWNW $ Local Resources Namespaces Http DNS Distiller Hit Count... Utilities

28 Application 1: Replica Selection l DNS Round-Robin »Randomly choose replica »Avoid hot-spots l Distributed Director »Route to nearest replica »Geographic locality l Active Naming »Previous performance, distance »Adaptive l DNS Round-Robin »Randomly choose replica »Avoid hot-spots l Distributed Director »Route to nearest replica »Geographic locality l Active Naming »Previous performance, distance »Adaptive Berkeley Replica Seattle Replica Berkeley Clients

29 Replica Selection

30 Application 2: Mobile Distillation l Clients name a single object l Return object based on client network connection, screen l Current approach [Fox97] Proxy maintains client profile Requests object, distills l Active naming Transmit name + applet Flexible distillation point Tradeoff computation/bw Support mobile clients Client-Specific Naming Variables: Network Screen

31 Application 2: Mobile Distillation Distillation at Server: Saves bandwidth Proxy: Saves server CPU cycles Active: Cost estimate of both approaches

32 Application 3: Customization Client customization: distilling the image Server customization: ad rotation, server-side includes. Composing these customizations using Active Names leads to 2-fold improvement in performance: -Server customization can take place at proxy. -Distillation further improves performance.

33 Application 4: Active Caches How to improve on 50% cache hit rates?