Naming vs. Locating Entities



Similar documents
Simple Solution for a Location Service. Naming vs. Locating Entities. Forwarding Pointers (2) Forwarding Pointers (1)

A Model for Worldwide Tracking of Distributed Objects Maarten van Steen, Franz J. Hauck, Andrew S. Tanenbaum Vrije Universiteit, Amsterdam

Introduction to Network Operating Systems

Naming. Name Service. Why Name Services? Mappings. and related concepts

Understanding DNS (the Domain Name System)

Naming in Distributed Systems

Socket = an interface connection between two (dissimilar) pipes. OS provides this API to connect applications to networks. home.comcast.

Chapter 13 File and Database Systems

Chapter 13 File and Database Systems

Week 3 / Paper 2. Bernhard Ager, Wolfgang Mühlbauer, Georgios Smaragdakis, Steve Uhlig ACM IMC 2010.

Naming in Distributed Systems

File System Management

Operating System Concepts. Operating System 資 訊 工 程 學 系 袁 賢 銘 老 師

SANE: A Protection Architecture For Enterprise Networks

Module 15: Network Structures

Key Management and Distribution

Information- Centric Networks. Section # 3.2: DNS Issues Instructor: George Xylomenos Department: Informatics

IP addresses have hierarchy (network & subnet) Internet names (FQDNs) also have hierarchy. and of course there can be sub-sub-!!

SERVICE DISCOVERY AND MOBILITY MANAGEMENT

Ethernet. Ethernet. Network Devices

Outline. Definition. Name spaces Name resolution Example: The Domain Name System Example: X.500, LDAP. Names, Identifiers and Addresses

Neighbour Discovery in IPv6

Lehrstuhl für Informatik 4 Kommunikation und verteilte Systeme. Auxiliary Protocols

3. The Domain Name Service

Web DNS Peer-to-peer systems (file sharing, CDNs, cycle sharing)

Introduction CORBA Distributed COM. Sections 9.1 & 9.2. Corba & DCOM. John P. Daigle. Department of Computer Science Georgia State University

Application Protocols in the TCP/IP Reference Model

Chapter 14: Distributed Operating Systems

Supporting Large-scale Deployments through Virtual Directory Technology. A White Paper by Phil Hunt Director, Product Management, OctetString, Inc.

Module 2: Assigning IP Addresses in a Multiple Subnet Network

Internetworking and Internet-1. Global Addresses

Websense Support Webinar: Questions and Answers

Names & Addresses. Names & Addresses. Names vs. Addresses. Identity. Names vs. Addresses. CS 194: Distributed Systems: Naming

Request Routing, Load-Balancing and Fault- Tolerance Solution - MediaDNS

Chapter 16: Distributed Operating Systems

ProTrack: A Simple Provenance-tracking Filesystem

Internet Protocols Fall Lectures 7-8 Andreas Terzis

IP - The Internet Protocol

CHAPTER 2 MODELLING FOR DISTRIBUTED NETWORK SYSTEMS: THE CLIENT- SERVER MODEL

Memory Allocation. Static Allocation. Dynamic Allocation. Memory Management. Dynamic Allocation. Dynamic Storage Allocation

Procedure: You can find the problem sheet on Drive D: of the lab PCs. 1. IP address for this host computer 2. Subnet mask 3. Default gateway address

CS 348: Computer Networks. - DNS; 22 nd Oct Instructor: Sridhar Iyer IIT Bombay

Decentralized Peer-to-Peer Network Architecture: Gnutella and Freenet

Two Parts. Filesystem Interface. Filesystem design. Interface the user sees. Implementing the interface

CS 348: Computer Networks. - IP addressing; 21 st Aug Instructor: Sridhar Iyer IIT Bombay

Client/Server Computing Distributed Processing, Client/Server, and Clusters

Internetworking. Problem: There is more than one network (heterogeneity & scale)

Network Attached Storage. Jinfeng Yang Oct/19/2015

Course Syllabus. Fundamentals of Windows Server 2008 Network and Applications Infrastructure. Key Data. Audience. Prerequisites. At Course Completion

Adapting Distributed Hash Tables for Mobile Ad Hoc Networks

Internet Protocol version 4 Part I

Application Protocols in the TCP/IP Reference Model. Application Protocols in the TCP/IP Reference Model. DNS - Concept. DNS - Domain Name System

The Data Grid: Towards an Architecture for Distributed Management and Analysis of Large Scientific Datasets

Jini. Kurzfassung als Kapitel für die Vorlesung Verteilte Systeme. (unter Nutzung von Teilen von Andreas Zeidler und Roger Kehr)

The IP Transmission Process. V1.4: Geoff Bennett

Implementing Intercluster Lookup Service

Lecture 2 CS An example of a middleware service: DNS Domain Name System

Copyright

The Domain Name Service, Etc. Jeff Chase Duke University, Department of Computer Science CPS 212: Distributed Information Systems

1. Comments on reviews a. Need to avoid just summarizing web page asks you for:

Agenda. Distributed System Structures. Why Distributed Systems? Motivation

Network File System (NFS)

8.2 The Internet Protocol

Network Layers. CSC358 - Introduction to Computer Networks

Chapter 15: Distributed Structures. Topology

How To Make A Vpc More Secure With A Cloud Network Overlay (Network) On A Vlan) On An Openstack Vlan On A Server On A Network On A 2D (Vlan) (Vpn) On Your Vlan

1 Introduction: Network Applications

Subnetting,Supernetting, VLSM & CIDR

The Domain Name System (DNS) Jason Hermance Nerces Kazandjian Long-Quan Nguyen

DSR: The Dynamic Source Routing Protocol for Multi-Hop Wireless Ad Hoc Networks

P2P Storage Systems. Prof. Chun-Hsin Wu Dept. Computer Science & Info. Eng. National University of Kaohsiung

CITS1231 Web Technologies. Client, Server, the Internet, and the Web

Indirection. science can be solved by adding another level of indirection" -- Butler Lampson. "Every problem in computer

Lehrstuhl für Informatik 4 Kommunikation und verteilte Systeme. Middleware. Chapter 8: Middleware

Network Models OSI vs. TCP/IP

Using Peer to Peer Dynamic Querying in Grid Information Services

Configuration Manager

Top-Down Network Design

VXLAN: Scaling Data Center Capacity. White Paper

DNS Basics. DNS Basics

CCNA R&S: Introduction to Networks. Chapter 5: Ethernet

Efficient Addressing. Outline. Addressing Subnetting Supernetting CS 640 1

Load balancing using Remote Method Invocation (JAVA RMI)

Deploying Silver Peak VXOA with EMC Isilon SyncIQ. February

CROSS LAYER BASED MULTIPATH ROUTING FOR LOAD BALANCING

A Java-based system support for distributed applications on the Internet

Chapter 12 File Management

Chapter 12 File Management. Roadmap

Centralized Systems. A Centralized Computer System. Chapter 18: Database System Architectures

Operating Systems CSE 410, Spring File Management. Stephen Wagner Michigan State University

Distributed File Systems Part I. Issues in Centralized File Systems

Internet Control Protocols Reading: Chapter 3

TCP/IP Fundamentals. OSI Seven Layer Model & Seminar Outline

Lecture 3: Scaling by Load Balancing 1. Comments on reviews i. 2. Topic 1: Scalability a. QUESTION: What are problems? i. These papers look at

Infrastructure that supports (distributed) componentbased application development

Domain Name System (DNS)

Distribution transparency. Degree of transparency. Openness of distributed systems

Hadoop and Map-Reduce. Swati Gore

Mobile Devices: Server and Management Lesson 06 Device Management

Transcription:

Naming vs. Locating Entities Till now: resources with fixed locations (hierarchical, caching,...) Problem: some entity may change its location frequently Simple solution: record aliases for the new address or the new name But: efficiency, re-use of old names,... New approaches are necessary, e.g. identifiers for an resource Entity ID a) Direct, single level mapping between names and addresses b) Two-level mapping using identifiers. Needs a location service to resolve identifiers 45

Simple Solution for a Location Service Using Broadcast or Multicast Broadcast is typically offered in LANs Simple locating process: broadcast identifier and wait on a reply (principle used in ARP) But: inefficient in large systems More efficient: using multicast for location But: you need to build up and to know the multicast group 46

Forwarding Pointers (1) More popular approach for location: Forwarding Pointers old location Principle: A moving entity leaves behind a reference to the new location Client follows the chain of forwarding pointers But... Long chains make the location process very expensive Intermediate nodes have to store all pointers as long as needed Broken links prohibit location new location Short chains and robust pointers are needed 47

Forwarding Pointers (2) When an object moves it leaves behind a proxy having the new location reference Location is transparent for the client, request is forwarded along the chain Object sends back its new location to the caller, the forwarding pointer is redirected 48

Home-Based Approaches Popular approach for large-scale networks: home location Similar principle as used in Mobile IP But: increase in communication latency, fixed home location 49

Hierarchical Approaches Extending the home-based approach to several layers Network is divided into domains, sub-domains,... (similar to DNS) Leaf domains: local area network, cell in a mobile telephone network,... An entity located in domain D is represented by a location record in directory node dir(d) Location records on higher hierarchies point to next sub-domain directory node 50

Information Stored in Nodes Entities may have multiple addresses (e.g. replication) Higher-level node stores pointers to each location Scalability problem: root node has to store all information 51

Location Lookup Looking up a location in a hierarchically organized location service Client contacts directory node in its own domain Go up hierarchy to the first directory node holding the information 52

Location Update Install a replicate in a new domain: new pointers have to be set a) An insert request is forwarded to the first node that knows about entity E. b) A chain of forwarding pointers to the leaf node is created. Similar operation: deletion of pointers 53

Pointer Caches Caching can be used to store locations of 'stable' nodes Location caching: inefficient lookup with each location change Pointer caching: Caching a reference to a directory node (dir(d)) of the lowest-level domain in which an entity (E) will reside most of the time. 54

Invalidation of Pointer Caches A cache entry that needs to be invalidated because it returns a non-local address, while such an address is available. 55

Scalability Issues Root directory node becomes bottleneck Solution: placing sub-nodes of a partitioned root across the network Spread sub-nodes uniformly; but new scalability problems: which node to give responsibility??? 56

The Problem of Unreferenced Objects Problem with forwarding pointers: unreferenced object Garbage collection for remote objects: hidden from clients and objects itself How many proxies point to another one? Reference graph 57

Solution: Reference Counting Simply count the references pointing to you Problem: unreliable communication Process P expects to get an acknowledgement when it increases the skeletons counter Acknowledgement can get lost P sends the increase message again Necessary to detect duplicates 58

Reference Counting Another problem: copying a remote reference to another process a) Copying a reference to another process and incrementing the counter too late b) Solution by using acknowledgements One more problem: performance problems in large-scale systems by communication overhead 59

Advanced Referencing Counting Weighted reference counting: each object has A fixed total weight A partial weight, initialised with the total weight Creating a remote reference causes transmitting half the partial weight to the referencer a) The initial assignment of weights in weighted reference counting b) Weight assignment when creating a new reference. 60

Weighted Referencing Counting Copying a reference to P2 causes P1 in transmitting half the weight Deleting a reference causes the remote object to subtract the weight of the referencer from its total weight When the total weight becomes zero, there are no more references 61

Weighted Referencing Counting Problem: the partial weight of the remote object can become zero. What is with former objects which want to make a reference? Make use of indirections when partial weight reaches one When copying the reference to P2, P1 creates a local skeleton with some total weight and the same partial weight Then transmitting half the partial weight to P2 62

Generation Referencing Counting Alternative to the use of indirections: generation reference counting Associate a generation and a copy counter with each referencing process Both counters are initialised with zero When copying a reference, the copy counter is increased; the new referencer becomes the next generation compared to the old one Skeleton maintains the numbers of outstanding copies for each generation; in case of a decrement request, the counter for the referencer's generation is decreased. The copies of the referencer is added to the next generation. If all generation entries are zero, there are no more references 63

And much simpler... Reference listing Skeleton keeps track of the proxies having a reference to it, i.e. it has a list of all these proxies (reference list) instead of a counter No problems with duplicated increments Easy to keep the list consistent in case of process failures Problem: copying a reference and deleting it too early (as in reference counting) Main drawback: bad scalability in case of many references Used in Java RMI 64

Conclusion Lehrstuhl für Informatik 4 Different concepts: Naming Services for mapping of logical names to addresses Directory Services for searching addresses by describing the needed object Discovery Services as a name database in dynamic networks Location Services for supporting moving objects Some close relations to file systems and reference counting What is the best concept? There is no general answer it always depends on the application 65