Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "Jini Technology Part 1: Jini Technology Introduction Part 2: JavaSpace & GigaSpace."— Presentation transcript:

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

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

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

4 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

5 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.

6 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

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

8 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

9 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”

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

11 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.

12 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.

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

14 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

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

16 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.

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

18 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

19 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

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

21 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.

22 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

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

24 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.

25 Jini Introduction25 Dept. of Information and Computer Science University of Kagoshima The ServiceUI framework The ServiceUI Jini community (http://serviceui.jini.org) 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

26 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.

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

28 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

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

30 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.

31 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?

32 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.

33 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

34 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

35 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.

36 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.


Download ppt "Jini Technology Part 1: Jini Technology Introduction Part 2: JavaSpace & GigaSpace."

Similar presentations


Ads by Google