Discovery Robert Grimm New York University. The Problem: Naming (Or, How to Start a Religious War)  The Internet today  IP addresses  Strict location.

Slides:



Advertisements
Similar presentations
The Jini Technology Lookup Service. How Does It Work Services and clients find a lookup service using the discovery protocol Services advertise themselves.
Advertisements

UDDI v3.0 (Universal Description, Discovery and Integration)
Internetworking II: MPLS, Security, and Traffic Engineering
Transitioning to IPv6 April 15,2005 Presented By: Richard Moore PBS Enterprise Technology.
Chapter 8 Managing Windows Server 2008 Network Services
IPv6 Network Security.
MCTS Guide to Microsoft Windows Server 2008 Network Infrastructure Configuration Chapter 6 Managing and Administering DNS in Windows Server 2008.
Module 5: TLS and SSL 1. Overview Transport Layer Security Overview Secure Socket Layer Overview SSL Termination SSL in the Hosted Environment Load Balanced.
Chord: A scalable peer-to- peer lookup service for Internet applications Ion Stoica, Robert Morris, David Karger, M. Frans Kaashock, Hari Balakrishnan.
JINI Shashwat Shriparv InfinitySoft.
Web Services Technology Stack (WSDL and UDDI)
An Associative Broadcast Based Coordination Model for Distributed Processes James C. Browne Kevin Kane Hongxia Tian Department of Computer Sciences The.
Notes to the presenter. I would like to thank Jim Waldo, Jon Bostrom, and Dennis Govoni. They helped me put this presentation together for the field.
Rheeve: A Plug-n-Play Peer- to-Peer Computing Platform Wang-kee Poon and Jiannong Cao Department of Computing, The Hong Kong Polytechnic University ICDCSW.
Internet Indirection Infrastructure Ion Stoica UC Berkeley.
UDDI Ashish Jain University of Colorado 3 October, 2001.
An Architecture for a Secure Service Discovery Service Steven Czerwinski, Todd Hodes, Ben Zhao, Anthony Joseph, Randy Katz UC Berkeley Internet Scale Research.
October 2003 Iosif Legrand Iosif Legrand California Institute of Technology.
70-293: MCSE Guide to Planning a Microsoft Windows Server 2003 Network, Enhanced Chapter 7: Planning a DNS Strategy.
490dp Prelude I: Group Membership Prelude II: Team Presentations Tuples Robert Grimm.
Network Protocols Transmission Control Protocol/Internet Protocol (TCP/IP) Asynchronous Transfer Mode (ATM) NWLink NetBIOS Enhanced User Interface (NetBEUI)
A centralized system.  Active Directory is Microsoft's trademarked directory service, an integral part of the Windows architecture. Like other directory.
Hands-On Microsoft Windows Server 2008 Chapter 8 Managing Windows Server 2008 Network Services.
Network Protocols. Why Protocols?  Rules and procedures to govern communication Some for transferring data Some for transferring data Some for route.
4/11/06Tuesday Seminar1 The State of Service Discovery Jeff Pang.
Application-Layer Anycasting By Samarat Bhattacharjee et al. Presented by Matt Miller September 30, 2002.
Cambridge, March 23 rd 2004 MobileMAN Project MobileMAN Project Web Service in Ad Hoc Network Veronica Vanni NETikos S.p.A.
Web Service Addressing CS409 Application Services Even Semester 2007.
5.1 Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED.
Objectives Configure routing in Windows Server 2008 Configure Routing and Remote Access Services in Windows Server 2008 Network Address Translation 1.
Mobile Networking Challenges1 5.6 Mobile Ad Hoc Networks  Ad hoc network does not have any preexisting centralized server nodes to perform packet routing,
Wireless Networks of Devices (WIND) Hari Balakrishnan and John Guttag MIT Lab for Computer Science NTT-MIT Meeting, January 2000.
January 26, Bob Scheifler Copyright 1999 Sun Microsystems, Inc., all rights reserved. Jini™ Lookup Service Bob Scheifler Senior Staff Engineer Sun.
UDDI Jianguo Lu University of Windsor What is UDDI?  Universal Description, Discovery, and Integration  A project to encourage interoperability.
Qusay H. Mahmoud CIS* CIS* Service-Oriented Computing Qusay H. Mahmoud, Ph.D.
Configuring Network Services and Protocols Lecture 2.
1 UDDI (Universal Description, Discovery, and Integration) An Overview – part II Version : Date : Pages Responsible Author : Co-Authors : Status : Confidentiality.
Page 1 TCP/IP Networking and Remote Access Lecture 9 Hassan Shuja 11/23/2004.
Microsoft Windows Server 2003 TCP/IP Protocols and Services Technical Reference Slide: 1 Lesson 7 Internet Protocol (IP) Routing.
INTERNET AND ADHOC SERVICE DISCOVERY BY: NEHA CHAUDHARY.
Dr. Ian Wang Cardiff University, U.K.. Ian Wang, Cardiff University Peer-to-Peer and Grids What does the Peer-to-Peer paradigm offer Grids? Scalable Decentralized.
INAT Hari BalakrishnanFrans Kaashoek John Guttag Robert Morris MIT Laboratory for Computer Science NGI PI Meeting October 2, 2000.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
The Replica Location Service The Globus Project™ And The DataGrid Project Copyright (c) 2002 University of Chicago and The University of Southern California.
Page 1 Active Directory and DNS Lecture 2 Hassan Shuja 09/14/2004.
Helsinki, June 7 th 2004 IAB Meeting MobileMAN Project Web Service in Ad Hoc Network Veronica Vanni NETikos S.p.A.
A brief introduction of UDDI By Xin Huang. What is UDDI.
1 Naming for Internet MMLAB, Seongil Han
JINI Coordination-Based System By Anthony Friel * David Kiernan * Jasper Wood.
Jini Architecture Introduction System Overview An Example.
Wireless Networks of Devices Resource Discovery William Adjie-Winoto,Elliot Schwartz Anit Chakraborty,Jeremy Lilley Hari Balakrishnan,John Guttag MIT Lab.
Kemal Baykal Rasim Ismayilov
WEB SERVICE DESCRIPTION LANGUAGE (WSDL). Introduction  WSDL is an XML language that contains information about the interface semantics and ‘administrivia’
CP3024 Lecture 10 Web Services. What are Web Services?  “encapsulated, loosely coupled, contracted software objects offered via standard protocols” ZapThink.
1 G52IWS: Web Services Chris Greenhalgh. 2 Contents The World Wide Web Web Services example scenario Motivations Basic Operational Model Supporting standards.
Information-Centric Networks10b-1 Week 10 / Paper 2 Hermes: a distributed event-based middleware architecture –P.R. Pietzuch, J.M. Bacon –ICDCS 2002 Workshops.
Information-Centric Networks Section # 10.2: Publish/Subscribe Instructor: George Xylomenos Department: Informatics.
PPDG February 2002 Iosif Legrand Monitoring systems requirements, Prototype tools and integration with other services Iosif Legrand California Institute.
Design and implementation of an intentional naming system William Adjie-WinotoElliot Schwartz Hari BalakrishnanJeremy Lilley MIT Laboratory for Computer.
CMSC 691B Multi-Agent System A Scalable Architecture for Peer to Peer Agent by Naveen Srinivasan.
Project JXTA Kaarthik Sivashanmugam. JXTA..? JXTA is a set of open, generalized peer-to-peer (P2P) protocols that allow any connected device on the network.
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.
Network Protocols Transmission Control Protocol/Internet Protocol (TCP/IP) Asynchronous Transfer Mode (ATM) NWLink NetBIOS Enhanced User Interface (NetBEUI)
Naming for Mobile Systems
Java Distributed Object System
Wsdl.
JINI ICS 243F- Distributed Systems Middleware, Spring 2001
An Architecture for Secure Wide-Area Service Discovery
Presentation transcript:

Discovery Robert Grimm New York University

The Problem: Naming (Or, How to Start a Religious War)  The Internet today  IP addresses  Strict location  DNS names  Fuzzy location  Think cluster-based services, content distribution networks (Akamai)  Hierarchical naming structure enables hierarchical implementation  But, we would like to use more descriptive names  We need a layer of indirection (see last week)

Enter Discovery Services  Five case studies  UDDI, Jini, SDS, INS, one.world  All five systems rely on a centralized directory  Services register with directory  Clients look up appropriate services in the directory  But, they differ significantly in focus, architecture, and capabilities

Difference in Focus  e-Business (notably B2B communications)  UDDI  Locating services in ever more dynamic networks  Jini, SDS, INS, one.world  What are the implications of difference in focus?  Scope of directory  Expected rate of change of directory information  Persistence of directory information

Differences in Architecture  UDDI  Provides standardized descriptions for e-business  Dedicated, global servers hosted by Microsoft, IBM  Hard state  Jini, SDS, INS, one.world  Provide mechanisms for discovery  Local servers  But…  Soft state

Hard State vs. Soft State  UDDI  Directory is a “real” database at a well-known location  Jini, SDS, INS, one.world  Directory is an ever changing database at an undetermined location  Need to locate directory  Multicast queries and announcements  Directory directory or meta-directory  Need to refresh directory contents  Periodic registrations  Leases

Differences in Capabilities  Structure of descriptions  Expressiveness of queries  Supported communication patterns  Early vs. late binding  Anycast vs. multicast  Forward vs. reverse lookups  Security

Diggin’ Deeper: UDDI

UDDI Data Model  businessEntity  Basic information on business including name, contact  identifierBag to record business identifiers  categoryBag to record business categories  businessService  Services provided by business  bindingTemplate  Access information for service  tModel  Pointer to external technical specification  D&B D-U-N-S numbers, UNSPSC, WSDL

UDDI API  Builds on SOAP  Identifies all records by UUIDs  Includes set of methods to discover records  find_business, find_relatedBusiness, find_service, find_bindings, find_tModel  Includes set of methods to retrieve detailed records  get_businessDetail, get_serviceDetail, get_bindingDetail, get_tModelDetail  Performs left-2-right substring matching by default  Optionally supports exact name, case sensitive, and sound- alike queries

Finding Businesses and Services in More Detail  What can we search on?  name  categoryBag  tModelBag  For businesses only, also  identifierBag  discoveryURLs  Is this enough???

Focus on Mechanism: Jini, SDS, INS, one.world

Jini  Set of services to help build dynamically configurable networks of services  Distributed leasing  Distributed events  Distributed transactions  JavaSpaces  Based on Linda’s tuple space model  Discovery  Builds on Java RMI  With exception of multicast for discovery

Jini Discovery  Manually configured directory server  Announces itself through multicast  Clients also query for server through multicast  Service registrations are leased  Descriptions are so-called entries  Public fields of objects implementing Entry interface  Fields must be objects, not primitive types  Matching based on templates  Objects in template must equal objects in entry  Null value treated as wild card

SDS  Directory server  Announces itself (and CA, CM) through multicast  Services  Announce themselves through multicast as well  Clients  Query directory server through authenticated RMI  Certificate authority (CA)  Manages bindings between principals and keys  Capability manager (CM)  Converts ACLs into capabilities, distributes them to clients

SDS Security  All communications are secure  Authenticated RMI between servers and for lookups  Also encrypted for privacy  Handshake establishes symmetric key between endpoints  Authenticated directory server announcements  Signed by server, but not encrypted  Secure service description announcements  ID, Ciphered Secret, Payload  Services are only visible to authorized clients  Service descriptions are associated with capabilities  Capability manager creates them based on ACLs  Clients present them during lookups

SDS Scalability Hierarchy to the Rescue  Basic idea: Maintain a hierarchy of directory servers  Hierarchy management  Many hierarchies maintained in an unspecified way  Description aggregation and query routing  Subset hashes collected in Bloom filter tables  Maintained for each child independently  Aggregated up the hierarchy (by or-ing childrens’ tables)  Periodically cleared (or per-bit counts)  Queries routed…  Down the hierarchy on table match  Up the hierarchy on no match

INS  Directory servers form overlay network  Form spanning tree based on communication latencies  Resolve lookups  Route messages (late binding + anycast/multicast)  Adjust to load by starting or shutting down servers  Selected from pre-assigned set maintained by Domain Space Resolver (DSR)  Services periodically register with any server  Include application-specific metric for anycast selection  Clients interact with any server

INS Name Trees  Descriptions are nested attribute value pairs  All descriptions are combined into a single name tree  Alternating levels for attributes and values  Leaves point to name records  Routes to next hop directory server  IP addresses for end-points  Metrics  Expiration time  Lookups are based on set-based algorithm  Weed out non-reachable name records  Retrieving descriptions requires backtracking

one.world  Some background  All data are tuples (records of name/value pairs)  All functionality implemented by event handlers  Events are data are tuples  Discovery  Relies on per-network directory server  Automatically elected from local devices  Fully integrated with point-to-point communications

one.world Communications API  export  Make event handler remotely accessible  Descriptor may be null, Name, Query, or any other tuple  Resulting binding between name and handler is leased  lookup  Find event handler(s) matching query (early binding)  send  Send event through point-to-point communications  Send event through late binding discovery  Using anycast or multicast

one.world Server Elections  Directory server announces itself through multicast  After two missed announcements, per-device election manager calls election  During fixed period, each device broadcasts a score  CPU speed, memory size, uptime, connectivity  Device with highest score wins election  Starts discovery server  How to tolerate inconsistencies?  Export all services to all visible directory servers  Only query one visible directory server  Directory server with lower score shuts itself down

Comparing Mechanisms: Jini, SDS, INS, one.world

Descriptions and Queries  Public fields and equality matching  Jini  XML and equality matching  SDS  Nested attribute/value pairs and equality matching (extension for simple comparison in the works)  INS  Tuples and arbitrary queries  one.world  What are the trade-offs here?

Services  Java objects  Jini  Network address and protocol  SDS, INS  Event handler  one.world  What is the trade-off here?  Integration  Flexibility

Which Device Can Be a Directory Server?  Manually configured device  Jini  Manually configured devices  SNS  Some devices out of a pre-configured pool  INS  Any device on the local network  one.world  What are the implications on manageability, trust?

To Multicast Or Not to Multicast  Directory server  Jini, SDS, one.world  Clients  Jini  Services  SDS  No multicast  INS  Uses Domain Space Resolver instead (extension to DNS)  What are the trade-offs here?

Communication Patterns  Early binding and forward lookups  Jini, SDS, INS, one.world  Late binding  INS, one.world  Anycast and multicast  INS, one.world  INS includes numeric metric to select best match for anycast  Reverse lookups  one.world  What are the trade-offs here?

Underlying Network Protocol  RMI (over TCP)  Jini, SDS  UDP  INS  UDP, TCP  one.world  What are the implications on reliability?

Discussion  Is discovery as a research topic dead?  What is the right trade-off?  Expressiveness  Programmability  Adaptability (responsiveness, robustness, manageability)  Security  Scalability