JINI Gijung Yun © Realtime Embedded Systems Laboratory Inha University

Slides:



Advertisements
Similar presentations
- 1 - Jini in the Enterprise O'Reilly Conference on Java Scott Oaks Sun Microsystems
Advertisements

An Introduction of Jini Technology Presenter: Carfield Yim, Gary Lam Date: 31-Jul-2002 How can JINI Technology Boost Our Business.
The Jini Technology Lookup Service. How Does It Work Services and clients find a lookup service using the discovery protocol Services advertise themselves.
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
JINI Shashwat Shriparv InfinitySoft.
THE JINI TECHNOLOGY Alessio Zumbo
Introduction to Jini & JavaSpaces
Presentation 7 part 2: SOAP & WSDL. Ingeniørhøjskolen i Århus Slide 2 Outline Building blocks in Web Services SOA SOAP WSDL (UDDI)
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.
CORBA Case Study By Jeffrey Oliver March March 17, 2003CORBA Case Study by J. T. Oliver2 History The CORBA (Common Object Request Broker Architecture)
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.
PROGRESS project: Internet-enabled monitoring and control of embedded systems (EES.5413)  Introduction Networked devices make their capabilities known.
October 2003 Iosif Legrand Iosif Legrand California Institute of Technology.
Systems Architecture, Fourth Edition1 Internet and Distributed Application Services Chapter 13.
2 Systems Architecture, Fifth Edition Chapter Goals Describe client/server and multi-tier application architecture and discuss their advantages compared.
Jini Connection Technology Kaushik Lahoti. Jini: A Vision n Areas to focus on –Simplicity –Reliability –Scalability.
Presented by Mark Miyashita
Introduction - What is Jini Technology?
Nov 6, 2000CS851 Ubiquitous Computing1 The Jini Architecture Speaker: Weisheng Si Dept. of Computer Science University of Virginia.
January 26, Jim Waldo Copyright 1999 Sun Microsystems, Inc., all rights reserved.
SeLeNe - Architecture George Samaras Kyriakos Karenos Larnaca – April 2003 THE UNIVERSITY OF CYPRUS.
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public 1 Version 4.0 Network Services Networking for Home and Small Businesses – Chapter 6.
1 Vrijendra Gokhale, Bernard Menezes K. R. School of Information Technology IIT Bombay User Interfaces for Jini Services The Jini Pattern Language Workshop.
Information Management NTU Interprocess Communication and Middleware.
January 26, Bob Scheifler Copyright 1999 Sun Microsystems, Inc., all rights reserved. Jini™ Lookup Service Bob Scheifler Senior Staff Engineer Sun.
CHEP 2003 Iosif Legrand DIAMONDS DIstributed Agents for MObile & Dynamic Services Iosif C. Legrand California Institute of Technology.
A Look at Jini Jian He Roy Patrick Tan. Outline History Design Goals An Example Basic Components Top View Infrastructures --- Proxies, Discovery/join.
11/13/00 1 Design of a Home Network Rajesh Rajamani
Jini tm NetworkingTechnology Directions Jim Waldo Jini Architect Sun Microsystems, Inc.
Web Services. Abstract  Web Services is a technology applicable for computationally distributed problems, including access to large databases What other.
Framework for Evaluating Distributed Smalltalk Interface Jan Lukeš Czech Technical University.
BAI513 - PROTOCOLS DHCP BAIST – Network Management.
20-Sep-2000Jini™ Connection Technology1 Rochester Institute of Technology Jini™ Connection Technology Alan Kaminsky Information Technology Laboratory Rochester.
© 2002, Youngjoon Choi, RESL, Inha University Page : 1 Open Services Gateway initiative OSGi Open Services Gateway Initiative Youngjoon Choi © Realtime.
Guide to TCP/IP, Third Edition Chapter 8: The Dynamic Host Configuration Protocol.
JINI Design and Principles Ranjita Bhagwan CSE225: High-Performance Distributed Computing.
Hwajung Lee.  Interprocess Communication (IPC) is at the heart of distributed computing.  Processes and Threads  Process is the execution of a program.
Jini Architecture Alessandro Brawerman. Contents Jini definition Advantages Architecture How it works Websites to check.
Service Discovery Protocols Mobile Computing - CNT Dr. Sumi Helal Professor Computer & Information Science & Engineering Department University.
Jini Architecture Introduction System Overview An Example.
Kemal Baykal Rasim Ismayilov
Jini Architectural Overview Li Ping
Overview of Jini CS Fall 2000 Jason I. Hong.
Lecture 4 Mechanisms & Kernel for NOSs. Mechanisms for Network Operating Systems  Network operating systems provide three basic mechanisms that support.
Case Study PrintService -dynamically networked products, services, and applications -network computer / consoles (powerful processor, several MB of memory)
GRID ANATOMY Advanced Computing Concepts – Dr. Emmanuel Pilli.
Enterprise Computing with Jini Technology Mark Stang and Stephen Whinston Jan / Feb 2001, IT Pro presented by Alex Kotchnev.
BAI513 - PROTOCOLS DHCP BAIST – Network Management.
Distributed Computing & Embedded Systems Chapter 4: Remote Method Invocation Dr. Umair Ali Khan.
IST 201 Chapter 11 Lecture 2. Ports Used by TCP & UDP Keep track of different types of transmissions crossing the network simultaneously. Combination.
Distributed Web Systems Distributed Objects and Remote Method Invocation Lecturer Department University.
Object Interaction: RMI and RPC 1. Overview 2 Distributed applications programming - distributed objects model - RMI, invocation semantics - RPC Products.
WEB SERVICES.
Networking for Home and Small Businesses – Chapter 6
Networking for Home and Small Businesses – Chapter 6
Programming Models for Distributed Application
The Jini Technology: An overview
Lecture 4: RPC Remote Procedure Call Coulouris et al: Chapter 5
Lecture 4: RPC Remote Procedure Call CDK: Chapter 5
Bina Ramamurthy Chapter 9
Unit V Mobile Middleware.
An Introduction of Jini Technology
Bina Ramamurthy Chapter 9
Bina Ramamurthy Chapter 9
JINI ICS 243F- Distributed Systems Middleware, Spring 2001
Networking for Home and Small Businesses – Chapter 6
Jini B.Ramamurthy 5/15/2019 B.Ramamurthy.
Presentation transcript:

JINI Gijung Yun © Realtime Embedded Systems Laboratory Inha University Java Intelligent Network Infra-structure  Gijung Yun © Realtime Embedded Systems Laboratory Inha University Version 1.2

Contents Introduction Jini Environment Jini Infrastructure Vision and Charicteristic Jini Environment Jini Infrastructure Jini Architecture RMI 2. Discovery, join and lookup 3. Leasing 4. Events 5. Transaction 6. Services Entry 8. Security

Introduction Jini Goals Network plug and work Enable spontaneous networking Promote service-based architecture Simplicity Resources can be implemented as either hardware devices, software programs, or a combination of the two.

관련 기술 UPnP HAVi MS, Compaq, Intel, Philips… Sony, Philips, Samsung, Sun… 가정내 AV기기를 접속하는 기술

Characteristic 100% Pure Java Collection of API’s and Protocols Infrastructure Built on RMI Discovery, Join and Service Protocols Lookup Service Programming Model Leasing Interface Event and Notification Interfaces Transaction Interfaces Services Fundamental entity of Jini Reference Implementations Supplied

Jini Environment Java 2 compatible VM Network of reasonable speed Multicast support preferable Initial support for TCP/IP only Class file server HTTP most commonly used Dynamic address allocation DHCP Devices should have some memory and CPU Can use a ‘proxy’ as an alternative

Jini Infrastructure Jini It is a set of software layers that together create a federation of computer devices and services Directory Services JavaSpaces Jini RMI Boot, Discover, Join Java VM Windows Unix Other OS or Devices

Jini Architecture RMI Discovery, Join & Lookup Leasing Events Transactions Services

Remote Method Invocation Object-Oriented RPC RMI Remote Method Invocation Object-Oriented RPC Similar to CORBA Distinguished by ability to parse objects by value

Discovery, Join and Lookup Find a Lookup Service Multicast UDP for nearby Lookup services Unicast TCP for known Lookup services Join Used by services to register with a Lookup Service Registration Utility Classes LookupDiscover for multicast discovery LookupLocator for unicast discovery

Lookup Repository of available services Stores each service as Java objects Clients and services use to request a service type from a Lookup service Search by type(Java Interface), not name Closer to CORBA Trader service than CORBA Naming service

Discovery and Join Service Provider J 512 byte Discovery Multicast RMI Join Upload RMI Reference Jini Lookup Service J 출처: Sun

Lookup Service Provider Service Consumer J J RMI Reference Lookup Download Discovery Jini Lookup Service J 출처: Sun

(sent via UDP multicast) Request Message (sent via UDP multicast) Announcement Message (sent via UDP multicast) Discoverer Lookup Service Discoverer Lookup Service Request Message (sent via TCP unicast) Response Message (sent via TCP unicast) Response Message (sent via TCP unicast)

Request packet format Vers <int> Port <int> Where the discoverer wants replies Sent to Group Len <int> Group 1 <string> Group 2 <string> … Desired groups (length == 0  all) Heard Len <int> Heard 1 <svc id> Heard 2 <svc id> … Known Lookup Services

Announcement packet format Vers <int> Host <string> Port <int> My Id <svc id> Service information (header) Group Len <int> Group 1 <string> Group 2 <string> … Groups that I am a member of

Lookup Services Maps interfaces indicating the functionality provided by a service to sets of objects that implement the service Object Store Print Service must be serialisable and implement Entry Copier Printer Fax Canon HP LBP-1260 J J J 출처: Sun BJC-70 BJ-100

May be federated with other lookup services Lookup service interface provides: Registration, Access, Search, Removal

Network Issue IP-based Request Packet size limitation (512Byte) Limiting the scope of multicast TTL ( recommend 15 )

A form of Distributed ‘Garbage Collection’ Distributed Leasing A form of Distributed ‘Garbage Collection’ Enables stability and resilience Service is ‘loaned’ to a client for a certain period of time Delegation of Lease Renewal Allows clients/services to delegate lease renewal to a third party object

Attribute Modification If a service is asked to change the set of attributes with which it registers itself, it saves the changed set in a persistent store, then performs the requested change at each lookup service with which it is registered.

Registering and Unregistering with Lookup Services register with lookup service adds that lookup service to the persistent set of lookup services it should join, and then registers itself with that lookup service. unregister from lookup service service is in the persistent set of lookup services to join, it should be removed from that set. the service cancels the leases for all entries it maintains at that lookup service.

join a group it adds the name of that group to the persistent set of groups to join, and either starts or continues to perform multicast discovery using this augmented group.

leaving a group It removes that group from the persistent set of groups to join. It removes all lookup services that match only that group in the set of groups it is interested in from the set it has discovered using multicast discovery, and unregisters from those lookup services. It either continues to perform multicast discovery with the reduced set of groups or, if the set has been reduced to empty, ceases multicast discovery.

Distributed Events Extends the standard Java event model Adds features to provide resilience and determination in a distributed environment Registration for event notifications is lease based Unique event identifiers assigned to every event supplier Event sequence numbers assigned to every event Event types Marshaled Object enables: Store-and-forward Notification filter Notification MailBox

Transactions Set of Interfaces that support the implementation of a two-phase commit protocol Designed to be lightweight Left to developer to implement as much (or as little) of the transactional semantics as they need Lease based - transaction will fail if not completed within leased period Supports distributed transactions Sample Implementation supplied in Jini distribution

출처: Sun

Services Services are defined by their interface Services must: Discover and register with a lookup service(s) Maintain the following across failures: ServiceID(128bit) assigned by a lookup service The service attributes that define its lookup entry The group(s) the service participates in Specific lookup services it must participate in Maintain all leases with lookup services they have registered with Utility Classes provided to manage these responsibilities

Using a Service Communication is between service and its proxy Independent of wire protocol Protocol can change without affecting client RMI semantics core to functionality

Entry Typed set of objects, for matching Provides extra information about services A service may have any number of entries Clients request services by class and/or by entries, using a simple matching system Drawback: relational operators such as < and != are not supported

There are some convenience subclasses of Entry: Address: the address of the physical component of a service. Location: the location of the physical component of a service. It can be used alone in a small, local organization. Comment: a free-form comment about the service. Name: name(s) of the service as seen by users. ServiceInfo: generic information about a service. Includes the name of the manufacturer, the product, and the vendor. ServiceType: human-oriented information about the "type" of a service. This is not related to its data or class types. Status: the base class from which other status-related entry classes may be derived.

Security The design of the security model for Jini technology is built on the twin notions of a principal and an access control list. Jini services are accessed on behalf of some entity—the principal—which generally traces back to a particular user of the system. Whether access to a service is allowed depends on the contents of an access control list that is associated with the object (entity).

The Sun Community Source License (SCSL) Three Levels of Participation Research and Education Source code freely available Can be used in any way other than deployment Internal Deployment Deployed code must pass a compatibility test Commercialisation Source code available with Jini trademark for a branding fee Branding fee covers cost of trademark protection and compatibility testing Low cost fee is based on either annual fee or royalty per device/service sold - whichever is the lower

Jini philosophy is useful Summary Jini limitations TCP/IP, multicast, Java RMI, Java 2 VM Jini philosophy is useful

Web Sites Reference http://www.jini.org/ http://java.sun.com/jini http://java.sun.com/products/javaspaces Jini starter kit 1.2.1