jini connection technology kaushik lahoti. jini: a vision n areas to focus on –simplicity...

39
Jini Connection Jini Connection Technology Technology Kaushik Lahoti Kaushik Lahoti

Post on 22-Dec-2015

219 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Jini Connection Technology Kaushik Lahoti. Jini: A Vision n Areas to focus on –Simplicity –Reliability –Scalability

Jini Connection TechnologyJini Connection Technology

Kaushik LahotiKaushik Lahoti

Page 2: Jini Connection Technology Kaushik Lahoti. Jini: A Vision n Areas to focus on –Simplicity –Reliability –Scalability

Jini: A VisionJini: A Vision

Areas to focus on Areas to focus on – SimplicitySimplicity– ReliabilityReliability– ScalabilityScalability

Page 3: Jini Connection Technology Kaushik Lahoti. Jini: A Vision n Areas to focus on –Simplicity –Reliability –Scalability

Areas to focus on ( contd. )Areas to focus on ( contd. )

SimplicitySimplicity Jini is Java based.Jini is Java based. Jini is about how services connect to one Jini is about how services connect to one

another.another.

Page 4: Jini Connection Technology Kaushik Lahoti. Jini: A Vision n Areas to focus on –Simplicity –Reliability –Scalability

Areas to focus on ( contd.)Areas to focus on ( contd.)

– ReliabilityReliability Jini is similar to LDAP or name server but not the Jini is similar to LDAP or name server but not the

same.same. How is reliability achieved ?How is reliability achieved ?

– Serendipitous interactions among services.Serendipitous interactions among services.– Spontaneous networking with no explicit user Spontaneous networking with no explicit user

involvementinvolvement.. Self - HealingSelf - Healing Results:Results:

– Administration free.Administration free.– No explicit user involvement.No explicit user involvement.– No need for driver or software installation to No need for driver or software installation to

use a particular service.use a particular service.

Page 5: Jini Connection Technology Kaushik Lahoti. Jini: A Vision n Areas to focus on –Simplicity –Reliability –Scalability

Areas to focus on ( contd. )Areas to focus on ( contd. )

– ScalabilityScalability

Jini services form groups or communities.Jini services form groups or communities.– How big ?How big ?

Scalability issue is addressed through Scalability issue is addressed through federation.federation.

– What is federation ? What is federation ?

Ability of Jini communities to be linked together, or Ability of Jini communities to be linked together, or federated, into larger groups.federated, into larger groups.

– The use of federationThe use of federation

When you need to access a service in another When you need to access a service in another community.community.

Page 6: Jini Connection Technology Kaushik Lahoti. Jini: A Vision n Areas to focus on –Simplicity –Reliability –Scalability

The Five key conceptsThe Five key concepts

Conceptual Simplicity is Jini’s explicit goal.Conceptual Simplicity is Jini’s explicit goal.

Jini is based around five key conceptsJini is based around five key concepts..– Discovery Discovery – LookupLookup– LeasingLeasing– Remote EventsRemote Events– Transaction ManagementTransaction Management

Page 7: Jini Connection Technology Kaushik Lahoti. Jini: A Vision n Areas to focus on –Simplicity –Reliability –Scalability

DiscoveryDiscovery

First a Jini aware entity finds one or more JiniFirst a Jini aware entity finds one or more Jini

communities. Lookup service keeps track of all the communities. Lookup service keeps track of all the

shared resources of that community. So a Jini-aware shared resources of that community. So a Jini-aware

entity should find this lookup service. This process isentity should find this lookup service. This process is

called discovery. called discovery.

It is not necessary to have one-to-one mappingIt is not necessary to have one-to-one mapping

between lookup service and a community.between lookup service and a community.

Lookup services are started explicitly by the SystemLookup services are started explicitly by the System

administrators.administrators.

Page 8: Jini Connection Technology Kaushik Lahoti. Jini: A Vision n Areas to focus on –Simplicity –Reliability –Scalability

Types of Discovery protocolsTypes of Discovery protocols

Multicast Request.Multicast Request. Multicast Announcement.Multicast Announcement. Unicast Discovery.Unicast Discovery. Representation of Lookup servicesRepresentation of Lookup services

jini://hostname:port/datajini://hostname:port/data

The End Result:The End Result:Object doing discovery is handed out one or more Object doing discovery is handed out one or more

references to Lookup services for the requestedreferences to Lookup services for the requested

community.community.

Page 9: Jini Connection Technology Kaushik Lahoti. Jini: A Vision n Areas to focus on –Simplicity –Reliability –Scalability

The End Result ( contd.)The End Result ( contd.)

Clients and services use this reference to:Clients and services use this reference to:

– Advertise their facilities.Advertise their facilities.– To determine what services are availableTo determine what services are available

Page 10: Jini Connection Technology Kaushik Lahoti. Jini: A Vision n Areas to focus on –Simplicity –Reliability –Scalability

Publishing a ServicePublishing a Service

Think of Lookup service as maintaining Think of Lookup service as maintaining a list of “Service Items”.a list of “Service Items”.

If a service wants to publish itself, it If a service wants to publish itself, it does so by does so by joiningjoining a Lookup services a Lookup services returned from the discovery.returned from the discovery.– For this purpose, register() method of For this purpose, register() method of

ServiceRegistrar interface is used.ServiceRegistrar interface is used.– Invoke register() method by passing service Invoke register() method by passing service

item object as an argument.item object as an argument.

Page 11: Jini Connection Technology Kaushik Lahoti. Jini: A Vision n Areas to focus on –Simplicity –Reliability –Scalability

DownloadableDownloadable Proxies Proxies

The idea of downloaded proxies is The idea of downloaded proxies is the key idea that gives Jini its the key idea that gives Jini its ability to use services and devices ability to use services and devices without doing any explicit without doing any explicit driver/software installation.driver/software installation.

Service publish the code that can Service publish the code that can be used to access them.be used to access them.

Page 12: Jini Connection Technology Kaushik Lahoti. Jini: A Vision n Areas to focus on –Simplicity –Reliability –Scalability

Scenarios of how the proxy objectScenarios of how the proxy object interacts with your serviceinteracts with your service

The downloaded proxy performs the service The downloaded proxy performs the service completely.completely.

The downloaded object is an RMI stub for The downloaded object is an RMI stub for talking to some remote service.talking to some remote service.

The downloaded object uses a private The downloaded object uses a private communication protocol for talking to the communication protocol for talking to the service.service.

Most commonly used in two cases:Most commonly used in two cases:– If there is some legacy software involved.If there is some legacy software involved.– If service is provided by some hardware device, eg. If service is provided by some hardware device, eg.

printer.printer.

Page 13: Jini Connection Technology Kaushik Lahoti. Jini: A Vision n Areas to focus on –Simplicity –Reliability –Scalability

Finding a ServiceFinding a Service

After getting a reference to a Lookup service, After getting a reference to a Lookup service, a consumer can search all the service items to a consumer can search all the service items to find the service of interest.find the service of interest.

Ways to find:Ways to find:– Type of downloaded proxy object contained in a Type of downloaded proxy object contained in a

service item.service item.– Unique id of the service.Unique id of the service.– Attributes of the service items.Attributes of the service items.

Lookup() is used to do this.Lookup() is used to do this. Once you have specified search parameters and Once you have specified search parameters and

called lookup(), the value that is returned to you is called lookup(), the value that is returned to you is the proxy object from the service item.the proxy object from the service item.

Page 14: Jini Connection Technology Kaushik Lahoti. Jini: A Vision n Areas to focus on –Simplicity –Reliability –Scalability

LeasingLeasing

After discovery and Lookup - After discovery and Lookup - How to ensure that these communities How to ensure that these communities

are stable, self-healing and resilent in are stable, self-healing and resilent in the face of network failures, software the face of network failures, software errors and machine crashes.errors and machine crashes.

The issue of reliability is important when The issue of reliability is important when the software systems are intended to be the software systems are intended to be long lived.long lived.

For example ….. For example …..

Page 15: Jini Connection Technology Kaushik Lahoti. Jini: A Vision n Areas to focus on –Simplicity –Reliability –Scalability

Leasing ( contd.)Leasing ( contd.)

This violates everything we want from This violates everything we want from Jini like:Jini like:– ItIt does’nt ensure that the system will does’nt ensure that the system will

self-heal.self-heal.– It requires explicit human intervention It requires explicit human intervention

to administer the system.to administer the system. This problem is solved by a technique This problem is solved by a technique

called Leasing.called Leasing.

Page 16: Jini Connection Technology Kaushik Lahoti. Jini: A Vision n Areas to focus on –Simplicity –Reliability –Scalability

Types of LeasingTypes of Leasing

Time Based Resource ReservationTime Based Resource Reservation – The resource is “loaned” to a consumer for a fixed The resource is “loaned” to a consumer for a fixed

period of time rather than granting access for an period of time rather than granting access for an unlimited amount of time.unlimited amount of time.

Third Party LeasingThird Party Leasing– What is third party leasing ?What is third party leasing ?– Reasons for having third party leasing.Reasons for having third party leasing.

An application just wants to worry about writing about its An application just wants to worry about writing about its services and forget about all of the leasing APIs, lease renewal, services and forget about all of the leasing APIs, lease renewal, expiration and so on.expiration and so on.

If a service is extremely long-lived and yet rarely active, for If a service is extremely long-lived and yet rarely active, for example the service that does monthly backups of disc drives.example the service that does monthly backups of disc drives.

Page 17: Jini Connection Technology Kaushik Lahoti. Jini: A Vision n Areas to focus on –Simplicity –Reliability –Scalability

Using Leases in PracticeUsing Leases in Practice

register() method of the ServiceRegistrar register() method of the ServiceRegistrar interface takes as an argument a long interface takes as an argument a long integer representing the number of integer representing the number of milliseconds for which a service wants its milliseconds for which a service wants its lease to last.lease to last.

The Lookup service responds with a result of The Lookup service responds with a result of type ServiceRegistration, which contains type ServiceRegistration, which contains information about just-registered service.information about just-registered service.

Lease object represents lease that Lookup Lease object represents lease that Lookup service has granted.service has granted.

Page 18: Jini Connection Technology Kaushik Lahoti. Jini: A Vision n Areas to focus on –Simplicity –Reliability –Scalability

Points to make about LeasingPoints to make about Leasing

There is only one round of negotiations.There is only one round of negotiations. Leases are always done in terms of time Leases are always done in terms of time

duration ( i.e. described relative to the duration ( i.e. described relative to the current time rather than some fixed current time rather than some fixed absolute time.absolute time.

Page 19: Jini Connection Technology Kaushik Lahoti. Jini: A Vision n Areas to focus on –Simplicity –Reliability –Scalability

Remote EventsRemote Events

Jini handles events using asynchronous Jini handles events using asynchronous notification.notification.

Jini’s event model is similar to Java’s Jini’s event model is similar to Java’s event model but there are some event model but there are some differences. Why ? Is the Java event differences. Why ? Is the Java event model not good ? The answer for this is model not good ? The answer for this is “environments”.“environments”.

Page 20: Jini Connection Technology Kaushik Lahoti. Jini: A Vision n Areas to focus on –Simplicity –Reliability –Scalability

Event Programming ModelEvent Programming Model

Jini APIs and Java APIs for event handling are Jini APIs and Java APIs for event handling are quite similar.quite similar.

But there are differences, which are:But there are differences, which are:– key interfaces used by objects that wish to key interfaces used by objects that wish to

receive remote events, RemoteEventListener is receive remote events, RemoteEventListener is an RMI remote interface. The method provided is an RMI remote interface. The method provided is notify().notify().

– Narrowness of Jini event model.Narrowness of Jini event model.– Important: There is no addRemoteEventListener() Important: There is no addRemoteEventListener()

method. That is Jini provides no generic way of method. That is Jini provides no generic way of signaling interest in events.signaling interest in events.

Page 21: Jini Connection Technology Kaushik Lahoti. Jini: A Vision n Areas to focus on –Simplicity –Reliability –Scalability

Generic Third-Party DelegatesGeneric Third-Party Delegates

Why is event model so sleek ?Why is event model so sleek ? Jini remote events also use delegation model like Java Jini remote events also use delegation model like Java

but Jini has an ability to create generic third party event but Jini has an ability to create generic third party event listeners that can respond to any event type.listeners that can respond to any event type.

Using generic third-party events, you can add Using generic third-party events, you can add application behavior to event pipeline.application behavior to event pipeline.

Event Generator

LoggingDelegate

ReliableDeliveryDelegate

Event Consumer

Page 22: Jini Connection Technology Kaushik Lahoti. Jini: A Vision n Areas to focus on –Simplicity –Reliability –Scalability

TransactionsTransactions

Jini uses Two phase commit transactionsJini uses Two phase commit transactions How the two phase commit work ?How the two phase commit work ?

TransactionManager

op1

op2

op3

Ready to commit

ready

Ready to commitready

ready

Ready to commit

Page 23: Jini Connection Technology Kaushik Lahoti. Jini: A Vision n Areas to focus on –Simplicity –Reliability –Scalability

Two Phase Commit ( contd.)Two Phase Commit ( contd.)

Transaction Manager

op1

op2

op3

commit

commit

commit

Page 24: Jini Connection Technology Kaushik Lahoti. Jini: A Vision n Areas to focus on –Simplicity –Reliability –Scalability

Two-Phase Commit in JiniTwo-Phase Commit in Jini

Surprising fact is that Jini does’nt really use two-phase Surprising fact is that Jini does’nt really use two-phase commit. commit.

The transaction model takes a very lightweight approach. Jini The transaction model takes a very lightweight approach. Jini say that two-phase commit is simply a protocol ( interface )say that two-phase commit is simply a protocol ( interface )

Actual particulars of what happens when the protocol is run - Actual particulars of what happens when the protocol is run - when the methods are called - is up to the implementation.when the methods are called - is up to the implementation.

All the participants in Jini transaction implement All the participants in Jini transaction implement TransactionParticipant interface.TransactionParticipant interface.

The mothods provided are:The mothods provided are:– prepare()prepare()– commit()commit()– abort()abort()– prepareAndCommit()prepareAndCommit()

Page 25: Jini Connection Technology Kaushik Lahoti. Jini: A Vision n Areas to focus on –Simplicity –Reliability –Scalability

Two-Phase Commit in Jini ( contd. )Two-Phase Commit in Jini ( contd. )

So Jini provides much less restrictive So Jini provides much less restrictive and potentially much less safe notion and potentially much less safe notion about what a transaction is.about what a transaction is.

Jini allows objects to Jini allows objects to participate, participate, rather rather than than requiringrequiring them to. them to.

But in practice, it has an upside.But in practice, it has an upside.

Page 26: Jini Connection Technology Kaushik Lahoti. Jini: A Vision n Areas to focus on –Simplicity –Reliability –Scalability

Discovery In-DepthDiscovery In-Depth

Discovery is a process by which Jini Discovery is a process by which Jini applications find the lookup services applications find the lookup services that serve their community.that serve their community.

Categories of DiscoveryCategories of Discovery– SerendipitousSerendipitous– Hard-WireHard-Wire

Page 27: Jini Connection Technology Kaushik Lahoti. Jini: A Vision n Areas to focus on –Simplicity –Reliability –Scalability

What is UDP MulticastWhat is UDP Multicast

In UDP multicast, a range of special IP addresses In UDP multicast, a range of special IP addresses are used as multicast groups. are used as multicast groups.

Interested parties can effectively join a group by Interested parties can effectively join a group by listening to messages sent to that IP address.listening to messages sent to that IP address.

Messages sent to that IP address will be Messages sent to that IP address will be automatically received by all the parties listening automatically received by all the parties listening to it.to it.

Each message sent via multicast has a “scope” Each message sent via multicast has a “scope” associated with it which is used to limit the associated with it which is used to limit the distance.distance.

Scoping also allows efficiency in routing ( using TTL Scoping also allows efficiency in routing ( using TTL value )value )

Page 28: Jini Connection Technology Kaushik Lahoti. Jini: A Vision n Areas to focus on –Simplicity –Reliability –Scalability

Types of DiscoveryTypes of Discovery

Service-Initiated DiscoveryService-Initiated Discovery– New services who wish to find all the nearby lookup New services who wish to find all the nearby lookup

services uses multicast request protocol.services uses multicast request protocol.– This protocol uses IP multicast to find the lookup This protocol uses IP multicast to find the lookup

services.services.– Service sends a multicast message to a well-known Service sends a multicast message to a well-known

multicast address.multicast address.– The address is agreed upon ahead of time by all Jini The address is agreed upon ahead of time by all Jini

lookup services.lookup services.– Once a lookup service receives multicast discovery Once a lookup service receives multicast discovery

request, it responds by connecting directly to the request, it responds by connecting directly to the service by sending a unicast ( point-to-point ) message.service by sending a unicast ( point-to-point ) message.

– This message contains the proxy object that the service This message contains the proxy object that the service uses to contact lookup service.uses to contact lookup service.

Page 29: Jini Connection Technology Kaushik Lahoti. Jini: A Vision n Areas to focus on –Simplicity –Reliability –Scalability

Types of Discovery ( contd. )Types of Discovery ( contd. )

Lookup service-initiated discoveryLookup service-initiated discovery– The lookup services periodically announce their The lookup services periodically announce their

presence using multicast announcement protocol.presence using multicast announcement protocol.– Interested parties listen to a well known multicast Interested parties listen to a well known multicast

address.address.– All the lookup services send a multicast message to All the lookup services send a multicast message to

this address.this address.– The message is scoped so that it reaches interested The message is scoped so that it reaches interested

parties on the local area network.parties on the local area network.– After a service receives multicast message, it contacts After a service receives multicast message, it contacts

the lookup service using a direct unicast connection the lookup service using a direct unicast connection and then the lookup service replies with the proxy and then the lookup service replies with the proxy objectobject

Page 30: Jini Connection Technology Kaushik Lahoti. Jini: A Vision n Areas to focus on –Simplicity –Reliability –Scalability

Types of Discovery ( contd. )Types of Discovery ( contd. )

““Direct” DiscoveryDirect” Discovery– In this case, each lookup service listens on a In this case, each lookup service listens on a

normal, unicast address.normal, unicast address.– This protocol is called unicast discovery This protocol is called unicast discovery

protocol.protocol.– So in this sense, this is not really a So in this sense, this is not really a

“discovery” protocol. “discovery” protocol. – Unicast discovery is based on URL naming Unicast discovery is based on URL naming

scheme. jini://hostname:port/datascheme. jini://hostname:port/data– Port 4160 is the default port for Jini lookup.Port 4160 is the default port for Jini lookup.

Page 31: Jini Connection Technology Kaushik Lahoti. Jini: A Vision n Areas to focus on –Simplicity –Reliability –Scalability

Using Discovery in ApplicationsUsing Discovery in Applications

The discovery API is based on listener The discovery API is based on listener paradigm.paradigm.

This API model provides common model This API model provides common model for multicast request and for multicast request and announcement but is different for announcement but is different for unicast discovery.unicast discovery.

Page 32: Jini Connection Technology Kaushik Lahoti. Jini: A Vision n Areas to focus on –Simplicity –Reliability –Scalability

Basic Interface: DiscoveryListenerBasic Interface: DiscoveryListener

import java.util.EventListener;import java.util.EventListener;

public interface DiscoveryListener extends public interface DiscoveryListener extends EventListenerEventListener

{{

public void discovered(DiscoveryEvent ev);public void discovered(DiscoveryEvent ev);

public void discarded(DiscoveryEvent ev);public void discarded(DiscoveryEvent ev);

}}

Any object who needs to find any lookup services Any object who needs to find any lookup services must implement this interface.must implement this interface.

Page 33: Jini Connection Technology Kaushik Lahoti. Jini: A Vision n Areas to focus on –Simplicity –Reliability –Scalability

DiscoveryEvent ClassDiscoveryEvent Class

import java.util.EventObject;import java.util.EventObject;

public class DiscoveryEvent extends public class DiscoveryEvent extends EventObjectEventObject

{{

// …. Few methods// …. Few methods

public ServiceRegistrar[] getRegistrar();public ServiceRegistrar[] getRegistrar();

}} getRegistrars() method returns an array of ServiceRegistrar getRegistrars() method returns an array of ServiceRegistrar

instances.instances. Each of these is a service proxy that is used to talk to a particular Each of these is a service proxy that is used to talk to a particular

lookup servicelookup service

Page 34: Jini Connection Technology Kaushik Lahoti. Jini: A Vision n Areas to focus on –Simplicity –Reliability –Scalability

Mechanics of how to Mechanics of how to startstart the the DiscoveryDiscovery

public class LookupDiscovery public class LookupDiscovery

{{

public static final String[] ALL_GROUPS = null;public static final String[] ALL_GROUPS = null;

public static final String[] NO_GROUPS = new String[0];public static final String[] NO_GROUPS = new String[0];

public LookupDiscovery(String[] grps) throws IOException;public LookupDiscovery(String[] grps) throws IOException;

public void addDiscoveryListener(DiscoveryListener l);public void addDiscoveryListener(DiscoveryListener l);

public void removeDiscoveryListener(DiscoveryListener l);public void removeDiscoveryListener(DiscoveryListener l);

public void discard(ServiceRegistrar reg);public void discard(ServiceRegistrar reg);

public String[] getGroups();public String[] getGroups();

public void setGroups(String[] grps) throws IOException;public void setGroups(String[] grps) throws IOException;

public void addGroups(String[] grps) throws IOException;public void addGroups(String[] grps) throws IOException;

public void removeGroups(String[] grps);public void removeGroups(String[] grps);

public void terminate();public void terminate();

}}

Page 35: Jini Connection Technology Kaushik Lahoti. Jini: A Vision n Areas to focus on –Simplicity –Reliability –Scalability

Security and LookupDiscoverySecurity and LookupDiscovery

There should be a way to restrict access to There should be a way to restrict access to particular groups.particular groups.

Jini provides a way using Java 2 security Jini provides a way using Java 2 security mechanisms for you to limit what groups a mechanisms for you to limit what groups a service or application can join.service or application can join.

When a service or an application tries to create When a service or an application tries to create a LookupDiscovery object, the code checks to a LookupDiscovery object, the code checks to see whether the creator has permission to try to see whether the creator has permission to try to discover each of the sets of the desired groups.discover each of the sets of the desired groups.

LookupDiscovery will raise a LookupDiscovery will raise a java.lang.SecurityException if the proper java.lang.SecurityException if the proper privileges are not in place.privileges are not in place.

Page 36: Jini Connection Technology Kaushik Lahoti. Jini: A Vision n Areas to focus on –Simplicity –Reliability –Scalability

Security and LookupDiscovery Security and LookupDiscovery ( contd. )( contd. )

By default, applications are allowed to search By default, applications are allowed to search no no groups.groups. Permission need to be set for even trusted programs.Permission need to be set for even trusted programs. Create a policy file and pass the file to JVM via the Create a policy file and pass the file to JVM via the

java.security.policy property.java.security.policy property. Jini introduces its own permission class just for granting access to Jini introduces its own permission class just for granting access to

groups.groups. This class is: net.jini.discovery.DiscoveryPermission and can be This class is: net.jini.discovery.DiscoveryPermission and can be

used in policy file as:used in policy file as:

permission net.jini.discovery.DiscoveryPermission “*”;permission net.jini.discovery.DiscoveryPermission “*”;

permission net.jini.discovery.DiscoveryPermission “unsafe”;permission net.jini.discovery.DiscoveryPermission “unsafe”;

permission net.jini.discovery.DiscoveryPermission “”;permission net.jini.discovery.DiscoveryPermission “”;

Page 37: Jini Connection Technology Kaushik Lahoti. Jini: A Vision n Areas to focus on –Simplicity –Reliability –Scalability

Other Internal Discovery IssuesOther Internal Discovery Issues

Multicast Discovery protocols require that all the Multicast Discovery protocols require that all the data fit in packets with the maximum length of 512 data fit in packets with the maximum length of 512 bytes.bytes.– Reason behind this:Reason behind this:

Multicast is based on UDP which makes no guarantee that Multicast is based on UDP which makes no guarantee that the packets will be received in the order that they are sent the packets will be received in the order that they are sent or if they will be received at all.or if they will be received at all.

Security ( Be forewarned )Security ( Be forewarned )– There is no authentication performed on either discovery There is no authentication performed on either discovery

requests or responses.requests or responses.– This means that it is impossible to know whether an entity This means that it is impossible to know whether an entity

contacting you is a “legitimate” lookup service or other contacting you is a “legitimate” lookup service or other service.service.

Page 38: Jini Connection Technology Kaushik Lahoti. Jini: A Vision n Areas to focus on –Simplicity –Reliability –Scalability

Other Internal Discovery Issues Other Internal Discovery Issues ( contd. )( contd. )

Requirements for running a lookup serviceRequirements for running a lookup service– Must have a network stack to support multicast TCP Must have a network stack to support multicast TCP

and unicast UDP messages.and unicast UDP messages.– No need of JVM here. No need of JVM here.

Requirements for parties that are searching a Requirements for parties that are searching a lookup servicelookup service– Network stack capable of UDP multicast and TCP Network stack capable of UDP multicast and TCP

unicast messages.unicast messages.– Must have JVM. Must have JVM.

Page 39: Jini Connection Technology Kaushik Lahoti. Jini: A Vision n Areas to focus on –Simplicity –Reliability –Scalability

The End !!The End !!