Enterprise Computing with Jini Technology Mark Stang and Stephen Whinston Jan / Feb 2001, IT Pro presented by Alex Kotchnev.

Slides:



Advertisements
Similar presentations
MicroKernel Pattern Presented by Sahibzada Sami ud din Kashif Khurshid.
Advertisements

Communication and Networking Services Networking Services.
Distributed Processing, Client/Server and Clusters
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 9 Distributed Systems Architectures Slide 1 1 Chapter 9 Distributed Systems Architectures.
JINI Shashwat Shriparv InfinitySoft.
THE JINI TECHNOLOGY Alessio Zumbo
CS-550: Distributed File Systems [SiS]1 Resource Management in Distributed Systems: Distributed File Systems.
The road to reliable, autonomous distributed systems
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.
Distributed Systems Architectures
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.
JINI – 2002 AND BEYOND … Presented by – Gal Bernstein Article review by – Mark Stang & Stephen Whinston Thursday, 3/1/2002.
OCT1 Principles From Chapter One of “Distributed Systems Concepts and Design”
70-290: MCSE Guide to Managing a Microsoft Windows Server 2003 Environment Chapter 1: Introduction to Windows Server 2003.
Hands-On Microsoft Windows Server 2003 Networking Chapter 7 Windows Internet Naming Service.
Lesson 1: Configuring Network Load Balancing
Distributed Systems: Client/Server Computing
11 SERVER CLUSTERING Chapter 6. Chapter 6: SERVER CLUSTERING2 OVERVIEW  List the types of server clusters.  Determine which type of cluster to use for.
70-290: MCSE Guide to Managing a Microsoft Windows Server 2003 Environment, Enhanced Chapter 1: Introduction to Windows Server 2003.
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.
Hands-On Microsoft Windows Server 2008 Chapter 1 Introduction to Windows Server 2008.
Presented by Mark Miyashita
Introduction - What is Jini Technology?
INSTALLING MICROSOFT EXCHANGE SERVER 2003 CLUSTERS AND FRONT-END AND BACK ‑ END SERVERS Chapter 4.
1 Client Server Architecture over the Internet Week - 2.
Microsoft Active Directory(AD) A presentation by Robert, Jasmine, Val and Scott IMT546 December 11, 2004.
January 26, Jim Waldo Copyright 1999 Sun Microsystems, Inc., all rights reserved.
1 Adapted from Pearson Prentice Hall Adapted form James A. Senn’s Information Technology, 3 rd Edition Chapter 7 Enterprise Databases and Data Warehouses.
- Raghavi Reddy.  With traditional desktop computing, we run copies of software programs on our own computer. The documents we create are stored on our.
Computer Emergency Notification System (CENS)
Advanced Computer Networks Topic 2: Characterization of Distributed Systems.
CE Operating Systems Lecture 3 Overview of OS functions and structure.
INTERNET AND ADHOC SERVICE DISCOVERY BY: NEHA CHAUDHARY.
Distributed Systems Principles and Paradigms Chapter 12 Distributed Coordination-Based Systems 01 Introduction 02 Communication 03 Processes 04 Naming.
Oracle's Distributed Database Bora Yasa. Definition A Distributed Database is a set of databases stored on multiple computers at different locations and.
CSC 480 Software Engineering Lecture 18 Nov 6, 2002.
9 Systems Analysis and Design in a Changing World, Fourth Edition.
Data Sharing. Data Sharing in a Sysplex Connecting a large number of systems together brings with it special considerations, such as how the large number.
Jini Architecture Alessandro Brawerman. Contents Jini definition Advantages Architecture How it works Websites to check.
1 Web Servers (Chapter 21 – Pages( ) Outline 21.1 Introduction 21.2 HTTP Request Types 21.3 System Architecture.
Service Discovery Protocols Mobile Computing - CNT Dr. Sumi Helal Professor Computer & Information Science & Engineering Department University.
JINI Coordination-Based System By Anthony Friel * David Kiernan * Jasper Wood.
Jini Architecture Introduction System Overview An Example.
Network Components David Blakeley LTEC HUB A common connection point for devices in a network. Hubs are commonly used to connect segments of a LAN.
Chap 7: Consistency and Replication
Jini Architectural Overview Li Ping
CHAPTER 7 CLUSTERING SERVERS. CLUSTERING TYPES There are 2 types of clustering ; Server clusters Network Load Balancing (NLB) The difference between the.
Cloud Computing Computer Science Innovations, LLC.
Introduction to Active Directory
Introduction to EJB. What is an EJB ?  An enterprise java bean is a server-side component that encapsulates the business logic of an application. By.
©Ian Sommerville 2000, Tom Dietterich 2001 Slide 1 Distributed Systems Architectures l Architectural design for software that executes on more than one.
Hands-On Microsoft Windows Server 2008 Chapter 7 Configuring and Managing Data Storage.
Chapter 5. An IP address is simply a series of binary bits (ones and zeros). How many binary bits are used? 32.
COMP1321 Digital Infrastructure Richard Henson March 2016.
1 Distributed Systems Architectures Distributed object architectures Reference: ©Ian Sommerville 2000 Software Engineering, 6th edition.
Distribution and components
CHAPTER 3 Architectures for Distributed Systems
Introduction to Networks
Bina Ramamurthy Chapter 9
Bina Ramamurthy Chapter 9
Bina Ramamurthy Chapter 9
Specialized Cloud Architectures
Chapter 2: Operating-System Structures
JINI ICS 243F- Distributed Systems Middleware, Spring 2001
Jini B.Ramamurthy 5/15/2019 B.Ramamurthy.
Chapter 2: Operating-System Structures
Presentation transcript:

Enterprise Computing with Jini Technology Mark Stang and Stephen Whinston Jan / Feb 2001, IT Pro presented by Alex Kotchnev

Sun: What is Jini ? ( ● An open architecture ● Enables developers to create network centric services (implemented in hardware or software) ● Highly adaptive to change. Jini technology can be used to build adaptive networks that are scalable, evolvable and flexible as typically required in dynamic computing environments.

Sun : Jini at a Glance ● Unique Qualities – Code Mobility: Extends the Java programming model to the network; i.e., moves data and executables via a Java object over a network – Protocol agnostic: Provides the ultimate in design flexibility – Leasing: Enables network self-healing and self-configuration; i.e. improving fault tolerance ● Unique Benefits – Resiliency: Networks readily adapt to changes in the computing environment – Integration: Allows fast, easy incorporation of legacy, current, and future network components – Licensing: Jini network technology is available free of charge with an evergreen license

Jini : Traditional View Created for networking embedded systems: ● For devices with microprocessors doing a specific task ● Self Configuration ● Self Management ● Self Healing Although these are exactly the qualities that make Jini attractive for embedded systems, network plug&play would be useful for the enterprise as well.

Jini Features: Reliability Definition: how well a device or network performs in the presence of disturbances. ● Handles changes in the network because it expects devices to randomly move in and out of the network. ● Parallels the way machines communicate over the Internet: multiple routes & path hiding. ● Transparently discovers alternate servers when one goes down.

Jini Features: Scalability ● Definition: a system is scalable if the overhead required to add more functionality is less thatn the benefit that functionality provides. ● Adding Jini services to a system gives clients more choices in the devices they can communicate with. ● No centralized control ● Dynamically discovers services needed for processing client requests.

Jini Features: Maintenance and Administration ● The network location is hidden from the client (Jini discovers other components of the application on its own). ● “Machine Gone Down” problem – offline backup machine – hot failover backup – Jini solution

Jini Features: Security ● Security model : Similar to the J2EE model. ● No viruses: before code can move to another machine, it must satisfy the client's security policy. ● Rogue services: hijacking clients and providing invalid information

How Jini works ● Dependencies : runs on top of a JVM (based and dependent on Java), will work in any IP- based network. ● Jini Federations / communities – Jini client joins a federations to gain access to services, Jini services join a federation to offer services. – appearing and disappearing based on demand for Jini services.

How Jini Works : Service Based Model ● Service: an entity that users can access over a network (storage device, software component, printer, home stereo, etc). ● Services advertised and found through a lookup server. – Service discovers lookup server through multicast discovery – Service registers with lookup server using join. – Client discovers lookup server through multicast discovery – Client performs lookup directly to known lookup server and receives server location. – Client directly accesses the server and executes code on the server. ● The lookup service mantains maps of services and attributes; clients request services with specific attributes.

How it works: Finding a Lookup Server ● Multicast discovery message: sending a message to every Jini device within a certain number of hops. ● Lookup servers respond with their addresses to the Jini client. ● Client uses the join protocol to become a part of the federation. ● Services may join multiple lookup servers for increased reliability.

How It Works: Transferring Executable Code ● Similar to applets in a browser; however, only the code for the interface the client needs to communicate with the server. ● In terms of network traffic, the system essentially transfers the requests and the results of whatever the server executes. ● The server implements a specific interface only: no implementation details are mandated by the protocol. ● Service Leases: – a guarantee that the client may access the resource for a specific length of time. – obtaining & releasing – exclusive and non-exclusive. ● Transactions: maintaining data consistency. ● Event notifications: notifying listeners of certain events.

How It Works : JavaSpaces Service. ● Definition : stores and maintains a database of Java objects. – Not a replacement for relational or OO databases. – Allows storage and retrieval of objects via standard lookup. ● No primary keys or table creation required: lookup done on a name and a number of attributes. ● CRUD operations: – write: create and update functions – read: get a copy of an object – take: combined read and delete. ● Notify: letting a program know when an object that matches some criteria has been written into the space.

How It Works : JavaSpaces Service. ● Object Locking (take operation) – when an object is taken, it becomes unavailable – take operation has a transaction: if it fails or is rolled back, the object is released. ● Examples: – Sharable Whiteboard: applications write sets, other programs can share into the space. – Compute Server: ● a master server creates objects ● slave processes take objects, perform calculations, return to into the space.

Enterprise Application Example: A License Server. ● Definition: ensures that no more than the legally allowed copies are in use at one time. ● License server: how it works. ● Traditional Licence Server Problems: – if a user has the application open, it doesn't mean it's being used. – sometimes license reservations are never returned (e.g. machine crash) – client needs additional configuration with a license server with a known location. – application functionality is very dependent on the operation of the single license server. ● Jini License Server – the number of available licenses represented by cookies : leasing cookies for a set period of time (solves first two problems) – if a Jini client loses connection to one server, it can look for a connection to another such service. – several instances of the Jini server can communicate with one another about the status of available licenses. – moving a server to another address allows the clients to continue working with the same server (via lookup) ● Downside: – additional network traffic.