Jini Technology Part 1: Jini Technology Introduction Part 2: JavaSpace & GigaSpace.

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 Tutorial, Part 2 Jini Overview.
 What Is Desktop Virtualization?  How Does Application Virtualization Help?  How does V3 Systems help?  Getting Started AGENDA.
Apache Struts Technology
JINI Shashwat Shriparv InfinitySoft.
THE JINI TECHNOLOGY Alessio Zumbo
The road to reliable, autonomous distributed systems
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.
City University London
Distributed Service Architectures Yitao Duan 03/19/2002.
UMass Lowell Computer Science Java and Distributed Computing Prof. Karen Daniels Fall, 2000 Lecture 1 Introduction/Overview Wed. 9/6/00.
UMass Lowell Computer Science Java and Distributed Computing Prof. Karen Daniels Fall, 2000 Lecture 2 Introduction/Overview Fri. 9/8/00.
Asper School of Business University of Manitoba Systems Analysis & Design Instructor: Bob Travica System architectures Updated: November 2014.
October 2003 Iosif Legrand Iosif Legrand California Institute of Technology.
SensIT PI Meeting, April 17-20, Distributed Services for Self-Organizing Sensor Networks Alvin S. Lim Computer Science and Software Engineering.
Systems Architecture, Fourth Edition1 Internet and Distributed Application Services Chapter 13.
Chapter 9: Moving to Design
.NET Mobile Application Development Introduction to Mobile and Distributed Applications.
Client/Server Architecture
Pay As You Go – Associating Costs with Jini Leases By: Peer Hasselmeyer and Markus Schumacher Presented By: Nathan Balon.
Microsoft Load Balancing and Clustering. Outline Introduction Load balancing Clustering.
Understanding and Managing WebSphere V5
Web application architecture
Client/Server Architectures
Chapter 5 Roles and features. objectives Performing management tasks using the Server Manager console Understanding the Windows Server 2008 roles Understanding.
Chapter 9 Moving to Design Part 2.
Chapter 9 Elements of Systems Design
Moving to Design.
Presented by Mark Miyashita
What is Enterprise Architecture?
Introduction - What is Jini Technology?
Microsoft Active Directory(AD) A presentation by Robert, Jasmine, Val and Scott IMT546 December 11, 2004.
Chapter 8 Implementing Disaster Recovery and High Availability Hands-On Virtual Computing.
Computing on the Cloud Jason Detchevery March 4 th 2009.
IMPROUVEMENT OF COMPUTER NETWORKS SECURITY BY USING FAULT TOLERANT CLUSTERS Prof. S ERB AUREL Ph. D. Prof. PATRICIU VICTOR-VALERIU Ph. D. Military Technical.
FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 4 Other Topics RPC & Middleware.
January 26, Jim Waldo Copyright 1999 Sun Microsystems, Inc., all rights reserved.
1 Vrijendra Gokhale, Bernard Menezes K. R. School of Information Technology IIT Bombay User Interfaces for Jini Services The Jini Pattern Language Workshop.
CS 390- Unix Programming Environment CS 390 Unix Programming Environment Topics to be covered: Distributed Computing Fundamentals.
DCE (distributed computing environment) DCE (distributed computing environment)
Computer Emergency Notification System (CENS)
INTERNET AND ADHOC SERVICE DISCOVERY BY: NEHA CHAUDHARY.
DISTRIBUTED COMPUTING Introduction Dr. Yingwu Zhu.
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.
Service Discovery Protocols Mobile Computing - CNT Dr. Sumi Helal Professor Computer & Information Science & Engineering Department University.
70-293: MCSE Guide to Planning a Microsoft Windows Server 2003 Network, Enhanced Chapter 12: Planning and Implementing Server Availability and Scalability.
Jini Architecture Introduction System Overview An Example.
 Cachet Technologies 1998 Cachet Technologies Technology Overview February 1998.
1 Registry Services Overview J. Steven Hughes (Deputy Chair) Principal Computer Scientist NASA/JPL 17 December 2015.
CLOUD COMPUTING. What is cloud computing ? History Virtualization Cloud Computing hardware Cloud Computing services Cloud Architecture Advantages & Disadvantages.
Jini Architectural Overview Li Ping
Data Communications and Networks Chapter 9 – Distributed Systems ICT-BVF8.1- Data Communications and Network Trainer: Dr. Abbes Sebihi.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
Enterprise Computing with Jini Technology Mark Stang and Stephen Whinston Jan / Feb 2001, IT Pro presented by Alex Kotchnev.
Gaia An Infrastructure for Active Spaces Prof. Klara Nahrstedt Prof. David Kriegman Prof. Dennis Mickunas
Distributed Systems Architecure. Architectures Architectural Styles Software Architectures Architectures versus Middleware Self-management in distributed.
9 Systems Analysis and Design in a Changing World, Fifth Edition.
Project Target Develop a Web Based Management software suit that will enable users to control Hardware using standard HTTP & Java Applet compatible web.
CIIT-Human Computer Interaction-CSC456-Fall-2015-Mr
N-Tier Architecture.
An Introduction to Computer Networking
CLUSTER COMPUTING.
Bina Ramamurthy Chapter 9
An Introduction of Jini Technology
Bina Ramamurthy Chapter 9
Bina Ramamurthy Chapter 9
JINI ICS 243F- Distributed Systems Middleware, Spring 2001
Jini B.Ramamurthy 5/15/2019 B.Ramamurthy.
Presentation transcript:

Jini Technology Part 1: Jini Technology Introduction Part 2: JavaSpace & GigaSpace

Outline What is Jini Why is Jini needed What is Jini Made From

What is Jini ? Jini Technology Introduction What Jini provides Jini and Java

Jini Introduction4 Dept. of Information and Computer Science University of Kagoshima Jini Technology Introduction Invented by Sun Microsystems, 1999 Implemented using the Java platform Service-oriented framework for creating reliable distributed applications Designed with the network in mind Provides a spontaneous, self-healing environment

Jini Introduction5 Dept. of Information and Computer Science University of Kagoshima What Jini provides Jini programmatically provides the infrastructure for a self healing network, of services and clients, that can dynamically leave and join, without crashing a network. On joining services can announce themselves, and clients can discover services, which enable devices to plug together to form an impromptu community - a community put together without any planning, installation, or human intervention.

Jini Introduction6 Dept. of Information and Computer Science University of Kagoshima Jini and Java Builds upon Java Platform-neutral environment Object-oriented programming model The Jini programming model extends Java The Jini infrastructure provides the basic operation mechanism: spontaneous configuration Jini services, client applications use the programming model and the infrastructure

Why is Jini needed ? Common Assumptions The near future Connected home Examples

Jini Introduction8 Dept. of Information and Computer Science University of Kagoshima Common Assumptions Most current systems make one or more of these assumptions: Networks are reliable Remote systems are fault-free Network latency is zero Bandwidth is infinite One administration domain Systems are homogeneous These assumptions do not hold in distributed systems. Jini operates without these assumptions

Jini Introduction9 Dept. of Information and Computer Science University of Kagoshima The near future In the near future, with the continued drop in processor price, and increase in power, the world will reach a point when networks will become pervasive. That is, networks and devices capable of connecting to it will be everywhere. A pervasive network will be dynamic and have no central administration. Part of the pervasive network will be the “connected home”

Jini Introduction10 Dept. of Information and Computer Science University of Kagoshima “connected home”

Jini Introduction11 Dept. of Information and Computer Science University of Kagoshima Ideas Sat down,its too hot, can't find air conditioner's dedicated remote control, instead open phone, from registered devices select aircon and change temperature. In the kitchen Fridge's control panel beeps, and flashes icon, to indicate that the washing machine, in the basement, has finished. Home blood pressure measuring device, with no physical display, can be uploaded its GUI to TV to see historical graphs plotted.

Jini Introduction12 Dept. of Information and Computer Science University of Kagoshima More Ideas Sat down, relaxing, watching video with surround sound fully up, then receive a phone call, phone automatically requests video to pause, or sound to be muted, whilst taking the call. Sat at office desk, mobile muffled in briefcase or suit pocket (hung up in the corner of the room), but in range of your desk phone, automatically reroutes call.

What is Jini Made from? Jini Architecture Jini parts in detail Key participants

Jini Introduction14 Dept. of Information and Computer Science University of Kagoshima Jini Architecture SPARCSolaris Java PowerPCSolarisMacJavax86Windows Java RMIDiscovery/Join Lookup ApplicationsJavaSpacesOther services Jini Network services

Jini Introduction15 Dept. of Information and Computer Science University of Kagoshima Jini parts in detail

Jini Introduction16 Dept. of Information and Computer Science University of Kagoshima Key participants Service A service is an entity that another program, service or user can use. It can be a piece of computation, a hardware device or software. Client A Jini device or component that becomes the member of the federation in order to use a Jini service. Lookup Service The central element of a Jini federation. The lookup service (also known as the service locator or service registrar) keeps track of the services offered in the federation. Repository of available services. Stores each service as Java objects. Clients download services on demand.

How is spontaneity provided? Uncoupling Client/Server Registering, finding, interacting

Jini Introduction18 Dept. of Information and Computer Science University of Kagoshima Uncoupling Client-server Traditional client-server systems are tightly coupled Client connects to server using a name Presents a problem if server fails; does not scale Jini uncouples: lookup services are discovered at runtime Client does not need to know the service location any longer Sufficient to locate a lookup service; service can be found in the lookup service ServerClient Jini Technology

Jini Introduction19 Dept. of Information and Computer Science University of Kagoshima Registering, finding & interacting 1. Registering a service 2. Finding a service 3. Interacting with a service

How our failures handled ? Distributed Leasing Removal of service, via lease

Jini Introduction21 Dept. of Information and Computer Science University of Kagoshima Distributed Leasing in Jini Leasing is a protocol for managing resources based on a renewable, duration-based model. A Lease is a contract between objects. Resources can be shared or private Provides a method of managing resources in an environment where network failures can, and do, occur.

Jini Introduction22 Dept. of Information and Computer Science University of Kagoshima Removal of old service, via leases 1.Printer Registers 2. Printer is unplugged 3. Printer service is removed The printer's registration is given a lease, by the Lookup Service, which has to be periodically renewed. As the printer was unplugged, it did not get a chance to remove it's service. The lease for the printer expires, and the printer service is removed by the Lookup Service

How is UI made mobile ? Mobile Objects Distributed Leasing Removal of service, via lease

Jini Introduction24 Dept. of Information and Computer Science University of Kagoshima Mobile Objects What other technologies do: XML delivers mobile data, describe once, use anywhere. Java delivers mobile code, compile once, run anywhere JINI brings to life mobile objects (data+code): Mobile objects for calculations: used by distributed computing ServiceUI for GUI interfaces: can be used in consumer electronics (CE), washing machines, fridges, cookers, water heaters, as well as printers, disc drives etc.

Jini Introduction25 Dept. of Information and Computer Science University of Kagoshima The ServiceUI framework The ServiceUI Jini community ( project defined how to attach user interfaces to Jini services The user interface is provided by the service and travels to the client in an additional attribute of the ServiceItem object Advantages No prior installation necessary Same interface everywhere Adaptive interfaces based on user and device characteristics

Jini Introduction26 Dept. of Information and Computer Science University of Kagoshima Summary Examined the inception of the pervasive network and connected home. Over-viewed the architecture, and operation of Jini Technology. Looked at some of Jini's features that make it very well suited for creating reliable distributed systems.

JavaSpace & GigaSpace Introducing GigaSpace Collocated Space Cluster architecture Load balancing High availability

Jini Introduction28 Dept. of Information and Computer Science University of Kagoshima Introducing GigaSpace GigaSpace is a commercial implementation of JavaSpace, which seamlessly augments functionality, without altering any of Jini/JavaSpace specifications. GigaSpace features: Embedded Spaces Clustering: Load Balancing High availability:  Fail over  Replication

Jini Introduction29 Dept. of Information and Computer Science University of Kagoshima A multitude of workers Many workers puts the JavaSpace under performance pressure.

Jini Introduction30 Dept. of Information and Computer Science University of Kagoshima JavaSpace & Master together Master and JavaSpace on one server. Eliminated network communication for Master. But communication is still slow because network protocols are still used.

Jini Introduction31 Dept. of Information and Computer Science University of Kagoshima Embedded Space Master embedded with GigaSpace, using a collocated proxy to access space. Same Java VM used. Fast local calls, instead of slow remote calls. But what if one server is still not enough?

Jini Introduction32 Dept. of Information and Computer Science University of Kagoshima Cluster architecture GigaSpace augments JavaSpace with a cluster architecture. A GigaSpaces cluster is a collection of two or more GigaSpaces space instances that are logically grouped, and collaborate in order to present unified service. Each member in a cluster may reside in a different container on a different host. Each member has a separate identity, but still collaborate "behind the scenes." Each cluster has an XML config file.

Jini Introduction33 Dept. of Information and Computer Science University of Kagoshima Load Balancing A Cluster is defined with multiple spaces Operations are distributed between spaces by load balancing policy: Round-Robin: Splits operations Fixed by hash: Splits entries Hash based: Splits operations and entries

Jini Introduction34 Dept. of Information and Computer Science University of Kagoshima High Availability – Fail Over Fail over policies: To available: Fail to another space within fail over group Fail to Backup: Reroute to designated backup spaces. Fail to alternate: Fail to space in a list of external group

Jini Introduction35 Dept. of Information and Computer Science University of Kagoshima High Availability - Replication Two replication policies: Full replication Partial replication; for entries that entries that implement the com.j_spaces.core.client.IReplicatable interface. Replication can take place synchronously or asynchronously.

Jini Introduction36 Dept. of Information and Computer Science University of Kagoshima Summary 2 Part 1, covered the Jini networking technology Part 2, covered the JavaSpace, a Jini Service, and a commercial implementation of it, GigaSpace. The GigaSpaces cluster provides three basic mechanisms: replication, fail-over and load balancing. Clustering spaces achieves high availability and scalability. In conclusion; GigaSpace augments JavaSpace to solve enterprise scale needs.