JINI Design and Principles Ranjita Bhagwan CSE225: High-Performance Distributed Computing.

Slides:



Advertisements
Similar presentations
An Introduction of Jini Technology Presenter: Carfield Yim, Gary Lam Date: 31-Jul-2002 How can JINI Technology Boost Our Business.
Advertisements

TU/e Service Discovery Mechanisms: two case studies / IC2002 Service Discovery Mechanisms: Two case studies Control point Device UPnP Terminal Domain Host.
1 Jini Tutorial, Part 3 Jini Programming. 2 Tutorial outline Part 1 Introduction Distributed systems Java basics Remote Method Invocation (RMI) Part 2.
The Challenges of CORBA Security It is important to understand that [CORBAsecurity] is only a (powerful) security toolbox and not the solution to all security.
Jini Tutorial, Part 2 Jini Overview.
JINI Network Technology
JINI Shashwat Shriparv InfinitySoft.
THE JINI TECHNOLOGY Alessio Zumbo
.NET Remoting. .Net Remoting Replaces DCOM (Distributed Component Object Model – a proprietary Microsoft technology for communication among software components.
Environmental Council of States Network Authentication and Authorization Services The Shared Security Component February 28, 2005.
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.
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.
1 Pertemuan 13 Servers for E-Business Matakuliah: M0284/Teknologi & Infrastruktur E-Business Tahun: 2005 Versi: >
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.
OCT1 Principles From Chapter One of “Distributed Systems Concepts and Design”
PROGRESS project: Internet-enabled monitoring and control of embedded systems (EES.5413)  Introduction Networked devices make their capabilities known.
July 23 th, 2005 Software Architecture in Practice RiSE’s Seminars Bass’s et al. Book :: Chapter 16 Fred Durão.
.NET Mobile Application Development Introduction to Mobile and Distributed Applications.
© DSRG 2001www.cs.agh.edu.pl Cross Grid Workshop - Kraków Krzysztof Zieliński, Sławomir Zieliński University of Mining and Metallurgy {kz,
Middleware for P2P architecture Jikai Yin, Shuai Zhang, Ziwen Zhang.
Pay As You Go – Associating Costs with Jini Leases By: Peer Hasselmeyer and Markus Schumacher Presented By: Nathan Balon.
Working with Drivers and Printers Lesson 6. Skills Matrix Technology SkillObjective DomainObjective # Understanding Drivers and Devices Install and configure.
IT 210 The Internet & World Wide Web introduction.
70-294: MCSE Guide to Microsoft Windows Server 2003 Active Directory Chapter 9: Active Directory Authentication and Security.
Beyond DHTML So far we have seen and used: CGI programs (using Perl ) and SSI on server side Java Script, VB Script, CSS and DOM on client side. For some.
Cli/Serv.: JXTA/151 Client/Server Distributed Systems v Objective –explain JXTA, a support environment for P2P services and applications ,
Presented by Mark Miyashita
Jini Overview and Specification Presented by Jas, Alvin & Chris CSE 291-B May 29, 2003.
Introduction - What is Jini Technology?
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public ITE PC v4.0 Chapter 1 1 Connecting to the Network Networking for Home and Small Businesses.
Microsoft Active Directory(AD) A presentation by Robert, Jasmine, Val and Scott IMT546 December 11, 2004.
Cognos TM1 Satya Mobile:
11/16/2012ISC329 Isabelle Bichindaritz1 Web Database Application Development.
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.
JINI Gijung Yun © Realtime Embedded Systems Laboratory Inha University
GT Components. Globus Toolkit A “toolkit” of services and packages for creating the basic grid computing infrastructure Higher level tools added to this.
1 22 August 2001 The Security Architecture of the M&M Mobile Agent Framework P. Marques, N. Santos, L. Silva, J. Silva CISUC, University of Coimbra, Portugal.
A Look at Jini Jian He Roy Patrick Tan. Outline History Design Goals An Example Basic Components Top View Infrastructures --- Proxies, Discovery/join.
Java 2 security model Valentina Casola. Components of Java the development environment –development lifecycle –Java language features –class files and.
11/13/00 1 Design of a Home Network Rajesh Rajamani
Jini tm NetworkingTechnology Directions Jim Waldo Jini Architect Sun Microsystems, Inc.
INTERNET AND ADHOC SERVICE DISCOVERY BY: NEHA CHAUDHARY.
Client Call Back Client Call Back is useful for multiple clients to keep up to date about changes on the server Example: One auction server and several.
Copyright © cs-tutorial.com. Overview Introduction Architecture Implementation Evaluation.
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.
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.
Kemal Baykal Rasim Ismayilov
Configuring and Troubleshooting Identity and Access Solutions with Windows Server® 2008 Active Directory®
Jini Architectural Overview Li Ping
Overview of Jini CS Fall 2000 Jason I. Hong.
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.
DHCP Vrushali sonar. Outline DHCP DHCPv6 Comparison Security issues Summary.
Building Distributed Educational Applications using P2P
Bina Ramamurthy Chapter 9
Unit V Mobile Middleware.
WEB SERVICES DAVIDE ZERBINO.
An Introduction of Jini Technology
Bina Ramamurthy Chapter 9
Bina Ramamurthy Chapter 9
JINI ICS 243F- Distributed Systems Middleware, Spring 2001
WS Standards – WS-* Specifications
Jini B.Ramamurthy 5/15/2019 B.Ramamurthy.
Presentation transcript:

JINI Design and Principles Ranjita Bhagwan CSE225: High-Performance Distributed Computing

What is Jini? A distributed computing environment for Network Plug and Play. A system to provide services easily and transparently over the network. A system that can be “dynamic” - users and resources can come and go as they please with minimal administrative overhead.

Jini’s goals Provide shared service and resources. Provide easy access to resources in spite of changing network location of users. Simplifying system and network management. Not yet a platform for a parallel programming environment – more of a “plug and play” mechanism than a metacomputing infrastructure.

Jini Architecture InfrastructureProgramming Model Services Base Java Java VMJAVA APIsJNDI RMIJavaBeansEnterprise Beans Java Security…… Java + JiniDiscovery/JoinLeasingPrinting Lookup TransactionsTransaction Manager Distributed Security Events…

Jini Components Service – an entity used by a person, program or another service. Service Locator/Lookup Service – keeps track of services and their properties and provides the Lookup Service. Client – uses the services. Client Service Locator Service

An object (or set of objects) located in a server which can be used by a user, program or another service. An application can be viewed as a collection of services – different from regular object- oriented view. More localized notion than Globus service, which can be distributed over a number of hosts.

Small Example SmartViewer getMIMEType() FileClassifier display() DisplayService display() ImageDisplayTextDisplay display()

Example FileClassifierProxy ImageDisplayProxy TextDisplayProxy Service locator SmartViewer FileClassifierProxy ImageDisplayProxy FileClassifierService TextDisplayService ImageDisplayService Service User

Lookup Service Service is added to the Lookup Service by a pair of protocols –Discovery: Service locates the lookup service. –Join: Service joins the lookup service. Server “discovers” the service locator –Unicast TCP if location of service locator is known.Unicast TCP –Multicast UDP if location of service locator is not known.Multicast UDP May include other Lookup Services for hierarchical lookup. Discovery/Join & Lookup

Service Registration Service Locator Service Server service registrar service Object Serialization is used to move the service object to the Service Locator. Discovery/Join & Lookup

Client Lookup Client Service Locator serviceregistrar service Object Deserialization is used at the client to recreate the object. Discovery/Join & Lookup

Entries and Groups Entries: A service may specify certain properties. –For a plain text editor, entries = {(“plain/text”)} –A client may specify the properties it requires of the service. –A matching of all specified entry fields is performed with the services on the service locator. –Relational operators (>,<, etc) not supported! –Serialized entries are compared. Groups: A service can specify which groups it belongs to. –Groups = {“CSE, UCSD”, “ECE, UCSD”) Discovery/Join & Lookup

Service Proxies Toaster, Printer, etc. cannot perform their services remotely. So, service sends out a “proxy”. The proxy communicates with the service. The proxy is told its server’s location when it is created. Client Service Locator Service Service Proxy Registra r Service Proxy Registra r Service Discovery/Join & Lookup

Unicast Discovery Unicast register Lookup Locator new() lookup getRegistrar() registrar Service Registrar Service Locator Discovery/Join & Lookup

Multicast Discovery Multicast register Lookup Discovery new() discovery addDiscoveryListener() Discovered(evt) Service Registrar Service Locator(s) Discovery Event registrars getRegistrars() Discovery/Join & Lookup

Jini Architecture InfrastructureProgramming Model Services Base Java Java VMJAVA APIsJNDI RMIJavaBeansEnterprise Beans Java Security…… Java + JiniDiscovery/JoinLeasingPrinting Lookup TransactionsTransaction Manager Distributed Security Events…

Leasing: request and grant The service requests that its copy be kept on the service locator for a given amount of time. –ANY: service locator determines lease time. –FOREVER: request for a lease that never expires. The service locator grants the lease and specifies how long it stays valid. –Default for SUN = 5 seconds. Leasing

Leasing: Expiry “Quiet” expiration: no notification from the service locator to the service. The service has to renew the lease before it expires. –Problem: high network latency may cause lease to expire before it is renewed. The Lease Renewal Manager quietly renews leases at regular intervals. Leasing

Jini Architecture InfrastructureProgramming Model Services Base Java Java VMJAVA APIsJNDI RMIJavaBeansEnterprise Beans Java Security…… Java + JiniDiscovery/JoinLeasingPrinting Lookup TransactionsTransaction Manager Distributed Security Events…

Security Based on JDK 1.2 security model. Uses a text based policy file to set security policy. If an all permissive policy is used, a malicious service, masquerading as a requested service may run on the client. Security

JDK 1.2 Security Grant permission only for certain activities, such as access to certain files for reading, writing and execution. Grant access only to particular hosts, subdomains or domains. Require digital signatures attached to code. Security

Security problems for a client service locator http server service proxy instance data proxy class files Security client

A Policy that restricts attacks Grant permissions to Application code based on the codesource. If you suspect these might be tampered with, get them signed. Security

A Policy that restricts attacks Grant permission to Jini core classes based on the codesource. These may be signed if need be. Security

A Policy that restricts attacks Grant permission to downloaded code only if it is signed by an authority you trust. Even then, grant only the minimum permission that is needed to perform the service’s task. Security

Security challenges security should be strong but easily managed so that the ease of use of Jini does not disappear. In ad-hoc networks, when services may not have a fixed identity, how do you decide who is “trusted” and who is not? Security

Jini Architecture InfrastructureProgramming Model Services Base Java Java VMJAVA APIsJNDI RMIJavaBeansEnterprise Beans Java Security…… Java + JiniDiscovery/JoinLeasingPrinting Lookup TransactionsTransaction Manager Distributed Security Events…

Transactions A series of operations within a single service or involving multiple services. ACID properties –Atomicity –Consistency –Isolation –Durability Jini uses the two-phase commit method. Transactions

Two-phase commit Mechanism –All participants in a transaction “vote” on it. –If all agree to go ahead, transaction commits. –If any of them abort during the voting stage, the transaction aborts on all participants. Jini supplies the mechanism, but policies are left to the participants. Transactions

An example client service accounts txnmanager get cost Transactions

An example client service accounts txnmanager cost Transactions

An example client service accounts txnmanager create Transactions

An example client service accounts txnmanager txn Transactions

An example client service accounts txnmanager credit txn Transactions

An example client service accounts txnmanager credit debit txn Transactions

An example client service accounts txnmanager join txn Transactions

An example client service accounts txnmanager join txn Transactions

An example client service accounts txnmanager txn request service Transactions

An example client service accounts txnmanager txn result Transactions

An example client service accounts txnmanager txn commit Transactions

An example client service accounts txnmanager txn prepare Transactions

An example client service accounts txnmanager txn commit Transactions

An example client service accounts txnmanager txn commit Transactions

Related Technologies HAVi JetSend by Hewlett-Packard Bluetooth Inferno by Lucent Universal Plug and Play

Bluetooth Motivation To establish a de-facto standard for the air interface and the software that controls it. Interoperability between devices of different manufacturers.

Design Principles System must operate worldwide. Connection must support voice and data. Radio transceiver supporting Bluetooth should be small and operate at low power. To meet these principles –License-free frequency band – 2.45 GHz is used. –Frequency hopping channels are used – low power, low cost implementation.

“Sun officials this morning said Universal Plug and Play is behind Jini in development terms, and criticized it for being "PC-centric" and thus tied to the Microsoft operating system. Microsoft has countered that for Jini to work, thousands of applications will have to be rewritten in Java and Jini code.” JINI v/s UPnP

Non-technical Issues July 1998: Jini was introduced. –“Jini products will be out by mid 1999.” Jan 1999: Around 30 partners to the Jini technology were announced. –“Jini products will be out by late1999.” Are they out yet?

Jini Products It is claimed that e-commerce and web- based applications are overshadowing Jini product development. Jini product prototypes are being developed by a number of companies – HP, 3Com, Cisco, Sony, Nokia, etc.

Concerns Security!!! Common interface development –All printers should ideally use the same interface. Does not as yet support XML, which UPnP does(will do). Needs JAVA VM to run on every device to avoid large delays: this means large memory requirements. –Possible solution: Dallas semiconductors’ JAVA VM on a chip. Needs all applications to be coded in Java. –All manufacturers have to accept Java as their programming language. Scalability issues