1 / 29

Dynamic Distributed Systems Using JINI

Dynamic Distributed Systems Using JINI. Outline. What is JINI ? Goals and Objectives Architectural Overview Infrastructure Programming Model Services Conclusion. What is JINI (TM) ?. Distributed systems architecture brought out by SUN (TM). It enables the building of Dynamic

stan
Download Presentation

Dynamic Distributed Systems Using JINI

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Dynamic Distributed Systems Using JINI

  2. Outline • What is JINI ? • Goals and Objectives • Architectural Overview • Infrastructure • Programming Model • Services • Conclusion

  3. What is JINI (TM) ? • Distributed systems architecture brought out by SUN (TM). • It enables the building of • Dynamic • Flexible • Easily administered distributed system • Simply, it enables Plug and Play networks

  4. What does the word "JINI" stands for ? • It is not an acronym, it does not stand for anything. It is pronounced as 'Genie’. As in "JINI in a bottle." or "JINI of the lamp" in Aladdin. That was one guess. • Bill Joy, one of JINI’s project leaders, came up with the name, because he liked the sound.

  5. Goals and objectives • Resources • Management • Sharing • and access is more simple • Distributed Programming is more easy • Easy connection, no need for complicated setup procedures • Simply, Dynamic Distributed Systems

  6. Architectural Overview • The whole technology can be segmented into : • Infrastructure • Programming Model • Services

  7. Infrastructure • Set of components, includes the minimal JINI technology core, that enables building of the system. • It includes • Lookup Service • Discovery/Join Protocol • Distributed Security System

  8. Lookup Service • Central storage of services available within the system • It is the fundamental part of the infrastructure. • It organizes services into groups. • Service can be a member of multiple groups. • Multiple Lookup Services can maintain the same group. • This helps to achieve fault tolerance.

  9. How things work (Service Side)? • When a new service is created, it register itself with a Lookup Service (Join). • It must first locate the appropriate Lookup service (Discovery). • This done using the Discovery/Join Protocol.

  10. How things work (Client Side)? • Client locate the appropriate Lookup Service (Discovery). • It locates a service by querying the Lookup Service (Lookup) • This done using the Discovery/Lookup Protocol. • Then, Client and service can communicate directly.

  11. Discovery Protocol • It can be : • Multicast Discovery Protocol. (looking for an appropriate Lookup Service) • Unicast Discovery Protocol. (looking for a specific Lookup Service or non-local Lookup service) • Multicast Announcement Protocol. (Allow Lookup services to advertise their presence)

  12. Multicast Request Protocol

  13. Unicast Discovery Protocol

  14. Multicast Announcement Protocol

  15. Join Protocol • A service discovers the appropriate Lookup Service. • It connects via the Lookup Service registrar. • The Service sends some info about itself. • The Lookup Service stores the information and associate it with the requested group, if any.

  16. Join Protocol

  17. Lookup Protocol • A Client discovers the appropriate Lookup Service. • It’ll query for the service. • If found, the object reference of the requested service will be loaded into the client. • Finally, client invoke the service.

  18. Lookup Protocol

  19. Distributed Security System • Define how entities got the right to perform actions on their behalf or on behalf of others. • It extends JDK1.2 platform’s security model to the world of distributed systems.

  20. Programming Model • Set of interfaces that enables the construction of reliable services. • These interfaces make up the distributed extension of Java. • All interfaces are written in Java • Free source code. • Has no limit, and it can be extended.

  21. Programming Model Cont.. • These interfaces include : • Leasing interface • Events interface • Transaction interface

  22. Leasing interface • Access to many services in the JINI system is lease based. • Lease grant guaranteed access to the service over a period of time. • It is negotiable. • Can be exclusive or non-exclusive. • Can be renewed.

  23. Example • When a service registers with the lookup service, it receives a lease. • It need to renew periodically. • When service failed or lease get expired, service will be removed.

  24. Distributed Events Interface • It extends JavaBeans Event Model to the world of Distributed Systems. • One object, Event Listener, registers an interest in event of another object, Event Generator. • Listener will be notified in a timely and reliable fashion. • Registration of interest is lease based

  25. Transaction Interface • Transactions enables operation grouping. Either all Succeed or all Fail. • The JINI’s Transaction Interface supply a service protocol needed to coordinate 2-Phase commit protocol.

  26. Service • Something that can be used by a person, program or another service. • It can be : Computational, Storage, Software, Hardware or Communication Channel. • It has an interface which define the operations that can be requested.

  27. Services Cont.. • Service objects can be written in any language. Client does not care. • But the interface has to be written in Java. • One of them is JavaSpaces which can be used for simple communication and storage of related groups of objects.

  28. Conclusion • JINI is the feature of distributed systems • The dynamic nature of JINI allows resources to be added, subtracted at anytime without bothering other components. • Open Source Code is available for download. Thus it has no limit.

  29. References • The main JINI page at Sun: http://java.sun.com/products/jini/ • JINI specifications: http://java.sun.com/products/jini/specs/ • JINI-USERS mailing list archives: http://archives.java.sun.com/archives/jini-users.html • Bill Venners' JINI/JavaSpaces talk: http://www.artima.com/javaseminars/modules/JINI/Handout.html • JINI Community Web Site, devoted to JINI http://www.jinivision.com

More Related