Jini Overview and Specification Presented by Jas, Alvin & Chris CSE 291-B May 29, 2003.

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

JINI Network Technology
COM vs. CORBA.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 12 Slide 1 Distributed Systems Design 2.
High Performance Computing Course Notes Grid Computing.
CSE 6590 Department of Computer Science & Engineering York University 1 Introduction to Wireless Ad-hoc Networking 5/4/2015 2:17 PM.
JINI Shashwat Shriparv InfinitySoft.
THE JINI TECHNOLOGY Alessio Zumbo
The road to reliable, autonomous distributed systems
Active Directory: Final Solution to Enterprise System Integration
Distributed components
CIM2564 Introduction to Development Frameworks 1 Overview of a Development Framework Topic 1.
Technical Architectures
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.
I Dream of Jini An Independent Research Project By Noah J Ternullo & Dmitriy Gurlyand.
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.
JINI Technology Ashwin Satyanarayana Venkatesh Nattanmai PART - I.
SensIT PI Meeting, April 17-20, Distributed Services for Self-Organizing Sensor Networks Alvin S. Lim Computer Science and Software Engineering.
J2EE Kenneth M. Anderson CSCI Web Technologies October 3, 2001.
.NET Mobile Application Development Introduction to Mobile and Distributed Applications.
Understanding Active Directory
© 2007 Cisco Systems, Inc. All rights reserved.ISCW-Mod3_L7 1 Network Security 2 Module 6 – Configure Remote Access VPN.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 18 Slide 1 Software Reuse.
Virtual Machine Hosting for Networked Clusters: Building the Foundations for “Autonomic” Orchestration Based on paper by Laura Grit, David Irwin, Aydan.
Presented by Mark Miyashita
A Cloud is a type of parallel and distributed system consisting of a collection of inter- connected and virtualized computers that are dynamically provisioned.
Introduction - What is Jini Technology?
How to connect non IP devices into the UPnP™v1 fabric Vijay Dhingra Director of Standards Echelon Corp.
COM vs. CORBA Computer Science at Azusa Pacific University September 19, 2015 Azusa Pacific University, Azusa, CA 91702, Tel: (800) Department.
Microsoft Active Directory(AD) A presentation by Robert, Jasmine, Val and Scott IMT546 December 11, 2004.
11/16/2012ISC329 Isabelle Bichindaritz1 Web Database Application Development.
©Ian Sommerville 2000 Software Engineering, 6th edition. Slide 1 Component-based development l Building software from reusable components l Objectives.
IMPROUVEMENT OF COMPUTER NETWORKS SECURITY BY USING FAULT TOLERANT CLUSTERS Prof. S ERB AUREL Ph. D. Prof. PATRICIU VICTOR-VALERIU Ph. D. Military Technical.
January 26, Jim Waldo Copyright 1999 Sun Microsystems, Inc., all rights reserved.
CS 390- Unix Programming Environment CS 390 Unix Programming Environment Topics to be covered: Distributed Computing Fundamentals.
Lecture 15 Introduction to Web Services Web Service Applications.
SAMANVITHA RAMAYANAM 18 TH FEBRUARY 2010 CPE 691 LAYERED APPLICATION.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 09. Review Introduction to architectural styles Distributed architectures – Client Server Architecture – Multi-tier.
Wireless Networks of Devices (WIND) Hari Balakrishnan and John Guttag MIT Lab for Computer Science NTT-MIT Meeting, January 2000.
OOI CI LCA REVIEW August 2010 Ocean Observatories Initiative OOI Cyberinfrastructure Architecture Overview Michael Meisinger Life Cycle Architecture Review.
1 Introduction to Middleware. 2 Outline What is middleware? Purpose and origin Why use it? What Middleware does? Technical details Middleware services.
Component Technology. Challenges Facing the Software Industry Today’s applications are large & complex – time consuming to develop, difficult and costly.
1 Advanced Software Architecture Muhammad Bilal Bashir PhD Scholar (Computer Science) Mohammad Ali Jinnah University.
20-Sep-2000Jini™ Connection Technology1 Rochester Institute of Technology Jini™ Connection Technology Alan Kaminsky Information Technology Laboratory Rochester.
9 Systems Analysis and Design in a Changing World, Fourth Edition.
Distribution and components. 2 What is the problem? Enterprise computing is Large scale & complex: It supports large scale and complex organisations Spanning.
Jini Architecture Introduction System Overview An Example.
Jini Architectural Overview Li Ping
Overview of Jini CS Fall 2000 Jason I. Hong.
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3 JSP Application Models.
REST By: Vishwanath Vineet.
25 April Unified Cryptologic Architecture: A Framework for a Service Based Architecture Unified Cryptologic Architecture: A Framework for a Service.
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.
AMSA TO 4 Advanced Technology for Sensor Clouds 09 May 2012 Anabas Inc. Indiana University.
Distribution and components
Chapter 18 MobileApp Design
#01 Client/Server Computing
Distributed Systems Bina Ramamurthy 12/2/2018 B.Ramamurthy.
Bina Ramamurthy Chapter 9
An Introduction of Jini Technology
Bina Ramamurthy Chapter 9
SAMANVITHA RAMAYANAM 18TH FEBRUARY 2010 CPE 691
Bina Ramamurthy Chapter 9
JINI ICS 243F- Distributed Systems Middleware, Spring 2001
Could Jiro™ Extend the Jini™ Pattern Lanuguage?
Jini B.Ramamurthy 5/15/2019 B.Ramamurthy.
#01 Client/Server Computing
Presentation transcript:

Jini Overview and Specification Presented by Jas, Alvin & Chris CSE 291-B May 29, 2003

Jini - Introduction Jini technology allows devices to dynamically establish communication to share and exchange services across a network. Jini technology allows devices to dynamically establish communication to share and exchange services across a network. Provides simple mechanisms which enable devices to plug together to form an impromptu community (federation) Provides simple mechanisms which enable devices to plug together to form an impromptu community (federation) Lesson in Political Science: In a federation, most power lies in local authorities. Federal authorities ensure that local authorities work together. Lesson in Political Science: In a federation, most power lies in local authorities. Federal authorities ensure that local authorities work together. Each device provides services that other devices in the community may use. Each device provides services that other devices in the community may use. These devices provide their own interfaces which ensure reliability & compatibility. These devices provide their own interfaces which ensure reliability & compatibility.

Jini - Introduction Jini is an extension of Java Jini is an extension of Java Java consists of one virtual machine Java consists of one virtual machine Jini is a kind of virtual network Jini is a kind of virtual network Jini Devices must have processing power or memory. Jini Devices must have processing power or memory. Otherwise controlled by another device. Otherwise controlled by another device. Relies on existence of a network of “reasonable” speed connecting these devices. Relies on existence of a network of “reasonable” speed connecting these devices.

Key Concepts Services Services An Entity used by person, program, or another service. May be a computation, storage, a communication channel, etc. You know…a service! An Entity used by person, program, or another service. May be a computation, storage, a communication channel, etc. You know…a service! Jini system consists of services that can be collected to perform a particular task. Jini system consists of services that can be collected to perform a particular task. Services can be dynamically added or withdrawn from the system as needed. Services can be dynamically added or withdrawn from the system as needed. Services Communicate using a service protocol which is a set of interfaces written in Java. Services Communicate using a service protocol which is a set of interfaces written in Java.

Key Concepts Lookup Service Lookup Service Major point of contact between users of the system and the system. Major point of contact between users of the system and the system. Finds and adds services to the Jini Federation Finds and adds services to the Jini Federation Maps functionality to a set of objects in Jini that actually implement the service Maps functionality to a set of objects in Jini that actually implement the service Can include other lookup services (hierarchy) Can include other lookup services (hierarchy) Can for bridges to other lookup services. Can for bridges to other lookup services. Services added using two protocols Services added using two protocols Discovery – locates appropriate lookup service Discovery – locates appropriate lookup service Join – join lookup service. Join – join lookup service.

Key Concepts Java RMI Java RMI Provides communication between services Provides communication between services Extension to normal remote procedure call. Extension to normal remote procedure call. Passes not only data, but entire objects and code. Passes not only data, but entire objects and code. Provides Simplicity Provides Simplicity Code can be encapsulated in an object and can be passed from service to service. Code can be encapsulated in an object and can be passed from service to service.

Key Concepts Leasing Leasing Access to many services are lease based. Access to many services are lease based. Guarantees access to a service for a negotiated period of time. Guarantees access to a service for a negotiated period of time. Services can be exclusive or non-exclusive. Services can be exclusive or non-exclusive. Transactions Transactions A series of operations to be performed. A series of operations to be performed. Within a single service or spanning multiple services. Within a single service or spanning multiple services.

Key Concepts Security Security Built on the twin notions of a principal and an access control list. Built on the twin notions of a principal and an access control list. Jini services are accessed on behalf of some entity (principal) which traces back to a user of the system. Jini services are accessed on behalf of some entity (principal) which traces back to a user of the system. Check object’s access control list to determine permissions to use a particular service. Check object’s access control list to determine permissions to use a particular service.

Key Concepts Events Events Ability to notify objects when a particular event occurs. Ability to notify objects when a particular event occurs. Could trigger new task/transaction Could trigger new task/transaction

Components Three main components Three main components Infrastructure Infrastructure Programming Model Programming Model Services Services Tend to get blurred, but just an extension of the virtual machine concept. Tend to get blurred, but just an extension of the virtual machine concept.

Components Infrastructure Infrastructure Discovery & Join Protocol Discovery & Join Protocol Define way services become part of Jini System Define way services become part of Jini System Java RMI Java RMI Base language with which services communicate Base language with which services communicate Security Model Security Model Define how entities are identified and how they get rights to perform actions. Define how entities are identified and how they get rights to perform actions. Lookup Service Lookup Service Marketplace for finding and offering services. Marketplace for finding and offering services. Entries in Lookup Service are objects written in Java. Objects can be downloaded and act as local proxies. Entries in Lookup Service are objects written in Java. Objects can be downloaded and act as local proxies.

Components Programming Model Programming Model Sets of interfaces designed to extend the usual single virtual machine model. Sets of interfaces designed to extend the usual single virtual machine model. Leasing Interfaces Leasing Interfaces Adds time-based interface to resources. Adds time-based interface to resources. Event and Notification Interfaces Event and Notification Interfaces Enable event-based communication between services Enable event-based communication between services

Components Programming Model (Cont) Programming Model (Cont) Transaction Interfaces Transaction Interfaces Coordinates the actions of a group of distributed objects in a two phase system Coordinates the actions of a group of distributed objects in a two phase system Voting Phase Voting Phase An object votes on whether it has completed it portion of a task and is ready to commit. An object votes on whether it has completed it portion of a task and is ready to commit. Commit Phase Commit Phase Coordinator issues a commit request to each object. Coordinator issues a commit request to each object.

Components Services Services Consist of objects coded in Java Consist of objects coded in Java Can be made up of other objects Can be made up of other objects Has an interface that defines what a service is capable of doing Has an interface that defines what a service is capable of doing

A Closer Look at JINI Similar Technologies Similar Technologies Limitations of JINI Limitations of JINI Case Studies Case Studies Current Status Current Status

Similar Technologies UPnP, Salutation, NINJA UPnP, Salutation, NINJA Common Object Request Broker Architecture Common Object Request Broker Architecture CORBA is a specification for a Distributed Object System CORBA is a specification for a Distributed Object System RMI vs CORBA RMI vs CORBA performance and portability tradeoffs performance and portability tradeoffs Distributed Objects vs Distributed Services Distributed Objects vs Distributed Services Can be used in complementary fashion? Can be used in complementary fashion?

Using CORBA with JINI

Limitations: Service Lookups Lookup Servers vs Name Servers Lookup Servers vs Name Servers Query by service or name Query by service or name Exact Matching Exact Matching ServiceTemplate / ServiceRegistrar provide limited expressiveness (i.e. for range queries) ServiceTemplate / ServiceRegistrar provide limited expressiveness (i.e. for range queries) Fault-tolerance Fault-tolerance No defined policies for system recovery No defined policies for system recovery

Limitations: Low-Resource Hosts Servers: Sun’s reference implementation of Lookup Service consumes 3 MB storage Servers: Sun’s reference implementation of Lookup Service consumes 3 MB storage Clients: Limitedness of lookup interface can require a lot of unnecessary overhead Clients: Limitedness of lookup interface can require a lot of unnecessary overhead Is this really a problem (given the success stories)? Is this really a problem (given the success stories)?

Case Studies: Who uses it? Quantum Quantum Seagate Seagate 3COM 3COM Cisco Cisco Xerox Xerox Novell Novell Nokia Nokia Philips Philips Sony Sony Motorola Motorola Kodak Kodak Sharp Sharp Canon Canon Siemens Siemens Toshiba Toshiba Samsung Samsung Kinko’s Kinko’s Hewlett Packard Hewlett Packard AOL AOL Adaptive Networks Adaptive Networks Ericsson Ericsson

Case Studies: Success Stories 4D Networks: Application Services for the Web Built on Jini Network Technology. 4D Networks: Application Services for the Web Built on Jini Network Technology. Appropria: Jini Technology Brings Mission-critical Information Out of the Silo. Appropria: Jini Technology Brings Mission-critical Information Out of the Silo. Entegrity Solutions: Major Online E-commerce and Enterprise Solutions Company Rely on Jini Network Technology for Secure E-Commerce. Entegrity Solutions: Major Online E-commerce and Enterprise Solutions Company Rely on Jini Network Technology for Secure E-Commerce. Eko: Jini Technology connects medical data and equipment dynamically and reliably. Eko: Jini Technology connects medical data and equipment dynamically and reliably. FETISH Federation: Jini Network Technology Links Online Travel Services. FETISH Federation: Jini Network Technology Links Online Travel Services. Lightflow: Jini Network Technology Adds "High Touch" to Online Shopping. Lightflow: Jini Network Technology Adds "High Touch" to Online Shopping. Maui High Performance Computing Center: Sun Architects Jini Network Technology Infrastructure for Military Simulations. Maui High Performance Computing Center: Sun Architects Jini Network Technology Infrastructure for Military Simulations. Procoma: An Innovative Solution for Commerzbank AG with Jini Technology. Procoma: An Innovative Solution for Commerzbank AG with Jini Technology. Raytheon: Open, Adaptive, Self-Healing Architecture for DD21. Raytheon: Open, Adaptive, Self-Healing Architecture for DD21. U.S. Army: Reliable Battlefield Communication Using Jini Connection Technology. U.S. Army: Reliable Battlefield Communication Using Jini Connection Technology.

Case Studies: Success Stories (cont.) “We believe that the Jini and Java technologies will dramatically change the way DD 21 and future Navy systems are developed. The spontaneous community capabilities of Jini will lead to much more reliable, capable and maintainable systems. The development and integration cycle will be reduced significantly, and the use of commercial components will finally be cost-effective.” -- Lead Systems Engineer for DD21, Raytheon “We believe that the Jini and Java technologies will dramatically change the way DD 21 and future Navy systems are developed. The spontaneous community capabilities of Jini will lead to much more reliable, capable and maintainable systems. The development and integration cycle will be reduced significantly, and the use of commercial components will finally be cost-effective.” -- Lead Systems Engineer for DD21, Raytheon "The cost of manually implementing what Jini network technology is providing us would have been prohibitive both from an actual cost perspective (person-hours to build) and time perspective (time to market)," said Horvath. "Jini technology's increasingly mature and well-documented capabilities would be very difficult to reproduce. The use of Jini technology allows our team to stay focused on the problem space of AssureDelivery, and not on implementation details of the underlying distributed service." -- Director of Product Development, Entegrity Corp. "The cost of manually implementing what Jini network technology is providing us would have been prohibitive both from an actual cost perspective (person-hours to build) and time perspective (time to market)," said Horvath. "Jini technology's increasingly mature and well-documented capabilities would be very difficult to reproduce. The use of Jini technology allows our team to stay focused on the problem space of AssureDelivery, and not on implementation details of the underlying distributed service." -- Director of Product Development, Entegrity Corp.

Current Status Increased Deployment: “ Jini Technology Licensees, Including Heartlab Inc, Templar Corp, Valaran Corp, FETISH Federation, and Cysive Inc., Turn to Jini Technology to Address Dynamic Networking Challenges” (May 7, 2003) Increased Deployment: “ Jini Technology Licensees, Including Heartlab Inc, Templar Corp, Valaran Corp, FETISH Federation, and Cysive Inc., Turn to Jini Technology to Address Dynamic Networking Challenges” (May 7, 2003) Standardization: “ Jini Community Approves the ServiceUI API” (May 7, 2003) Standardization: “ Jini Community Approves the ServiceUI API” (May 7, 2003)

Current Status (cont.) Open Issues: Open Issues: Network Scalability: In theory, a JINI systerm can scale if it uses a hierarchy of lookup servers (like DNS), but no actual ‘wide area’ JINI network has been deployed. But is this even relevant? Network Scalability: In theory, a JINI systerm can scale if it uses a hierarchy of lookup servers (like DNS), but no actual ‘wide area’ JINI network has been deployed. But is this even relevant? Generality: Can well-defined interfaces be established for all types of services besides simple examples like printers and cameras? Generality: Can well-defined interfaces be established for all types of services besides simple examples like printers and cameras?

Jini & SensorNets Can they benefit from each other?

Benefits of Jini on SensorNets Sensor networks could benefit from having a virtual machine on each platform so that not every platform required special code Sensor networks could benefit from having a virtual machine on each platform so that not every platform required special code Allows for single deployments with multiple sensing applications Allows for single deployments with multiple sensing applications Dynamic addition/removal of services Dynamic addition/removal of services As platforms with newer sensors come onboard, the network would automatically adapt to support them As platforms with newer sensors come onboard, the network would automatically adapt to support them

Divergences Jini seems to imply high connectivity and high bandwidth Jini seems to imply high connectivity and high bandwidth Code is dynamically downloaded to the node Code is dynamically downloaded to the node Currently, this is too much to expect from nodes Currently, this is too much to expect from nodes Jini makes no attempt to address power consumption issues Jini makes no attempt to address power consumption issues Asynchronous communication implies the radio be on most of the time Asynchronous communication implies the radio be on most of the time Automatic discovery and handshaking looks costly Automatic discovery and handshaking looks costly Perhaps this is why Jini hasn’t taken off—most embedded devices are on a power conscious diet Perhaps this is why Jini hasn’t taken off—most embedded devices are on a power conscious diet

Future Work Since they expect Jini to take off for embedded devices which have significant power constraints, Jini should be made aware of these constraints Since they expect Jini to take off for embedded devices which have significant power constraints, Jini should be made aware of these constraints Should prioritize the needs in sensor networks and eliminate “marketing” features found in Jini Should prioritize the needs in sensor networks and eliminate “marketing” features found in Jini

Discussion Questions Should sensornets adapt and conform to Jini-like standards or should sensornets use a simplified version of Jini? Should sensornets adapt and conform to Jini-like standards or should sensornets use a simplified version of Jini? How much overhead is acceptable for sensor networks in terms of communication and computation? How much overhead is acceptable for sensor networks in terms of communication and computation? Can virtual machines be made to have virtually no overhead and still be powerful? Can virtual machines be made to have virtually no overhead and still be powerful?