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

Slides:



Advertisements
Similar presentations
{Customer} Divisions Plan {Date} – {Version} Salesforce.com.
Advertisements

- 1 - Jini in the Enterprise O'Reilly Conference on Java Scott Oaks Sun Microsystems
1 Jini Tutorial, Part 3 Jini Programming. 2 Tutorial outline Part 1 Introduction Distributed systems Java basics Remote Method Invocation (RMI) Part 2.
Jini Tutorial, Part 2 Jini Overview.
JINI Network Technology
Mini project /2 Jini - a new computing paradigm.
1 UIM with DAML-S Service Description Team Members: Jean-Yves Ouellet Kevin Lam Yun Xu.
MCTS Guide to Microsoft Windows Server 2008 Network Infrastructure Configuration Chapter 6 Managing and Administering DNS in Windows Server 2008.
JINI Shashwat Shriparv InfinitySoft.
Naming Computer Engineering Department Distributed Systems Course Asst. Prof. Dr. Ahmet Sayar Kocaeli University - Fall 2014.
Introduction to Jini & JavaSpaces
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.
One.box Distributed home service interface. Core Components Pop3 client Router Storage Pop3 Server.
MOBILITY SUPPORT IN IPv6
CS 603 Jini April 10, What is Jini? Java Middleware Tools to construct federation –Multiple devices, each with Java Virtual Machine –Multiple services.
Distributed Service Architectures Yitao Duan 03/19/2002.
Hands-On Microsoft Windows Server 2003 Networking Chapter 7 Windows Internet Naming Service.
Parallel Computing using JavaSpaces -Presented by Shilpi Basak Advisor: Prof: Dick Steflik.
70-290: MCSE Guide to Managing a Microsoft Windows Server 2003 Environment Chapter 8: Implementing and Managing Printers.
70-293: MCSE Guide to Planning a Microsoft Windows Server 2003 Network, Enhanced Chapter 7: Planning a DNS Strategy.
Hands-On Microsoft Windows Server 2008 Chapter 8 Managing Windows Server 2008 Network Services.
Microsoft Windows 2003 Server. Client/Server Environment Many client computers connect to a server.
Jini Technology Part 1: Jini Technology Introduction Part 2: JavaSpace & GigaSpace.
Name Resolution Domain Name System.
Presented by Mark Miyashita
1 Chapter Client-Server Interaction. 2 Functionality  Transport layer and layers below  Basic communication  Reliability  Application layer.
Introduction - What is Jini Technology?
1 Chapter 6: Proxy Server in Internet and Intranet Designs Designs That Include Proxy Server Essential Proxy Server Design Concepts Data Protection in.
Nov 6, 2000CS851 Ubiquitous Computing1 The Jini Architecture Speaker: Weisheng Si Dept. of Computer Science University of Virginia.
JINI Gijung Yun © Realtime Embedded Systems Laboratory Inha University
1 Vrijendra Gokhale, Bernard Menezes K. R. School of Information Technology IIT Bombay User Interfaces for Jini Services The Jini Pattern Language Workshop.
Module 12: Routing Fundamentals. Routing Overview Configuring Routing and Remote Access as a Router Quality of Service.
© 2007 Cisco Systems, Inc. All rights reserved. 1 Network Addressing Networking for Home and Small Businesses – Chapter 5 Darren Shaver – Modified Fall.
January 26, Bob Scheifler Copyright 1999 Sun Microsystems, Inc., all rights reserved. Jini™ Lookup Service Bob Scheifler Senior Staff Engineer Sun.
Sun’s Jini Lab 2 Service Registration Client Lookup.
Hour 7 The Application Layer 1. What Is the Application Layer? The Application layer is the top layer in TCP/IP's protocol suite Some of the components.
11/13/00 1 Design of a Home Network Rajesh Rajamani
Module 7: Resolving NetBIOS Names by Using Windows Internet Name Service (WINS)
IBM TSpaces Lab 1 Introduction. Summary TSpaces Overview Basic Definitions Basic primitive operations Reading/writing tuples in tuplespace HelloWorld.
Spring/2002 Distributed Software Engineering C:\unocourses\4350\slides\DefiningThreads 1 RMI.
RMI remote method invocation. Traditional network programming The client program sends data to the server in some intermediary format and the server has.
The Replica Location Service The Globus Project™ And The DataGrid Project Copyright (c) 2002 University of Chicago and The University of Southern California.
1 Lecture 16 Jini Technology Instructors: Fu-Chiung Cheng ( 鄭福炯 ) Associate Professor Computer Science & Engineering Tatung Institute of Technology
MCSE Guide to Microsoft Exchange Server 2003 Administration Chapter Five Managing Addresses.
Jini Architecture Alessandro Brawerman. Contents Jini definition Advantages Architecture How it works Websites to check.
1 JSK 1.1 A practical Approach Contents –Working with JSK 1.1 –Jini environments –Writing Jini software revisited –Important software packages in the JSK.
Service Discovery Protocols Mobile Computing - CNT Dr. Sumi Helal Professor Computer & Information Science & Engineering Department University.
Jini Architecture Introduction System Overview An Example.
1 Chapter Overview Managing Object and Container Permissions Locating and Moving Active Directory Objects Delegating Control Troubleshooting Active Directory.
Part 4: Network Applications Client-server interaction, example applications.
Jini Architectural Overview Li Ping
PPDG February 2002 Iosif Legrand Monitoring systems requirements, Prototype tools and integration with other services Iosif Legrand California Institute.
Mapping Salutation to Bluetooth 4 Overview 4 Bluetooth Summary 4 Salutation Architecture Summary 4 Mapping Bluetooth SDP to Salutation APIs 4 Mapping Bluetooth.
Improving SLP Efficiency and Extendability by Using Global Attributes and Preference Filters Weibin Zhao Henning Schulzrinne
Linux Operations and Administration
Enterprise Computing with Jini Technology Mark Stang and Stephen Whinston Jan / Feb 2001, IT Pro presented by Alex Kotchnev.
Jini Technology 제 1 회 한국 자바 개발자 컨퍼런스 발표자 : 강신동 Mobile : 소속 : ㈜ idosi.com 대표이사 주최 : JavaCommunity.Org.
Chapter 4: server services. The Complete Guide to Linux System Administration2 Objectives Configure network interfaces using command- line and graphical.
Distributed Coordination-Based Systems
Module 8: Networking Services
11. Jini What is Jini? A "network technology that provides a simple (?) infrastructure for delivering services in a network and for creating interactions.
MCA – 405 Elective –I (A) Java Programming & Technology
Chapter 3: Using Methods, Classes, and Objects
Knowledge Byte In this section, you will learn about:
Bina Ramamurthy Chapter 9
Bina Ramamurthy Chapter 9
Bina Ramamurthy Chapter 9
JINI ICS 243F- Distributed Systems Middleware, Spring 2001
Overview Multimedia: The Role of WINS in the Network Infrastructure
More on Discovery and Advertisement
Presentation transcript:

The Jini Technology Lookup Service

How Does It Work Services and clients find a lookup service using the discovery protocol Services advertise themselves by registering with the lookup service Clients query the lookup service to find the services they need Peer-to peer communication between client and service after that

Discovery/Join and Lookup Protocols Figure 1 Discovery

Discovery/Join and Lookup Protocols Figure 2 Join

Discovery/Join and Lookup Protocols Figure 3 Lookup

Discovery/Join and Lookup Protocols Figure 4 Service Invocation

Discovery and Join How does a client or service find lookup services How does a service join a lookup service How does a client know which ones to do lookups in

Initial Discovery Performed by both clients and services Send multicast request packet Groups you are looking for Host and TCP port to use contact you Waiting for lookup services to connect back Download lookup services proxy object Register with or do lookup in

Lookup Service Network service For finding other network services Workgroup-scale, not the entire Internet Not a naming or directory service Focus is on types, not names Yellow pages, not white pages Both programmatic and end-user access

Lookup Service 101 Each service registers its proxy object Client does lookup by interface type Instance of semantics API uses java.lang.Class instances, not strings Client gets proxy object back Needed classes are automatically downloaded Proxy communicates with remote service

Service Type Matching Can match on any type Interface or concrete class Including super interface or superclass Can get subinterface or subclass back Java.lang.Object match everything Can match using multiple types

Service Type Matching I want a combination TV/VCR org.Ce.TV AND org.Ce.VCR Yellow pages Automatic placement in all categories Base class and all interfaces All superclasses and superinterfaces

Attributes Service can also register with attributes Attributes allow further discrimination between services of the same type Lookup support matching on Just service types Just attributes Combinations

Example Generic Attributes Name Location Manufacturer Model

Example Printer Attributes (1) Monochrome or color Resolution Speed Paper size

Attribute Characteristics Some are defined by service itself e.g., manufacturer, model, resolution Some are defined by administrator e.g., Name, location Attributes can have multiple values

Example Printer Attributes (2) Printer supports these combinations Monochrome, 600 dpi, 10 ppm Monochrome, 300 dpi, 15 ppm Color, 300 dpi, 5 ppm For each combination, printer supports Letter Legal Envelope

Attribute Representation Each attribute is a public field of a class Attribute name = field name Attribute type = field type Each class defines an attribute set Co-dependent attributes in the same class Orthogonal attributes in different classes Each service has set of attribute sets Instances of multiple classes Multiple instances of the same class

Example Printer Attribute (3) PrintEngine{color: false, dpi: 600, ppm: 10} PrintEngine{color: false, dpi: 300, ppm: 15} PrintEngine{color: false, dpi: 300, ppm: 5} PaperSize{size: PaperType.Letter} PaperSize{size: PaperType.Legal} PaperSize{size: PaperType.Envelope} Location{floor: 3, room: 1234, building: A1} Name{name: rainbow}

Attribute Set Matching Match on attribute set class Including superclasses Match on attribute values (fields) Exact value match only java.rmi.MarshalledObject.equals Template is just an attribute set instance Null field = match any value (wildcard)

Matching Examples template PrintEngine{color: false, dpi: null, ppm: null} matches PrintEngine{color: false, dpi: 600, ppm: 10} and PrintEngine{color: false, dpi: 300, ppm: 15}

Matching Examples template PrintAttrs{} matches PrintEngine{color: true, dpi: 300, ppm: 5} and PageSize{size: Legal}

Service Registration Service registers by providing: Service id Every service has a universally unique id Lookup service will assign one if requested Proxy object Zero or more attribute sets

Service Registration public class ServiceItem implements java.io.Serializable { public ServiceID serviceID; public Object service; public Entry [ ] attributeSets; … }

Service Template Service template contains: Optional service id Null is wildcard = match any Zero or more service types Zero or more attribute set templates Null fields are wildcards = match any

Service Template public class ServiceTemplate implements java.io.Serializable { public ServiceID serviceID; public Class [ ] serviceTypes; public Entry [ ] attributeSetTemplates; … }

Template Matching Service registration matches template if: Service id matches, and Proxy is instance of each service type, and For each attribute set template: Service has a matching attribute set

Example Queries Any service named rainbow Any Printer named rainbow in A1 Any color envelope Printer All services on floor 3

Complex Queries Between 300 and 600 dpi On floor 1, 3, or 7 Letter or Legal Printer or Copier

Complex Queries Technique 1 Change ranges and ors to wildcards Do single template-based lookup Then do finer-grained match locally Technique 2 Query for actual values in ranges and ors Do multiple lookups

Attribute Modification Can only be done by service itself Allows service to control policy Internal state changes Administrative interfaces Service is responsible for persistent storage Add, modify, delete, replace all Attributes should change infrequently Primary search keys Query service directly for very dynamic state

Lookup Groups Each lookup service is configured with s set of group names Is in (is a member of) each group Each service is configured with a set of group names Registers with all lookup services in any of those groups Each client is configured with a set of group names Uses lookup service in any of those groups

Summary Service perspective Register with desired attributes Keep renewing registration lease Add, modify, delete attributes as desired Client perspective Lookup any 1 of Get just proxy object Lookup to N of Get proxies attributes, and service IDS