JINI Network Technology Palki Chakrabarti. JINI Computer has been redefined The Traditional...

22
JINI Network Technology Palki Chakrabarti Palki Chakrabarti

Transcript of JINI Network Technology Palki Chakrabarti. JINI Computer has been redefined The Traditional...

Page 1: JINI Network Technology Palki Chakrabarti. JINI Computer has been redefined The Traditional Expectation The New Paradigm Memory Memory Memory Memory Processor.

JINI Network Technology

Palki ChakrabartiPalki Chakrabarti

Page 2: JINI Network Technology Palki Chakrabarti. JINI Computer has been redefined The Traditional Expectation The New Paradigm Memory Memory Memory Memory Processor.

JINIComputer has been redefinedComputer has been redefined

The Traditional Expectation The New ParadigmThe Traditional Expectation The New Paradigm Memory MemoryMemory Memory Processor ProcessorProcessor Processor Disk(s) NO DISKS!!Disk(s) NO DISKS!!

Sun’s Technology, Jini is an attempt to rethink computer Sun’s Technology, Jini is an attempt to rethink computer architecture with more emphasis on network and computer with no architecture with more emphasis on network and computer with no diskdisk

These devices will need to interact over a dynamic network and These devices will need to interact over a dynamic network and devices and services will be added and removed regularlydevices and services will be added and removed regularly

Jini has grown from early work in Java to make distributed Jini has grown from early work in Java to make distributed computing easiercomputing easier

Page 3: JINI Network Technology Palki Chakrabarti. JINI Computer has been redefined The Traditional Expectation The New Paradigm Memory Memory Memory Memory Processor.

JINI

Provides mechanisms to enable smooth adding, removal, Provides mechanisms to enable smooth adding, removal, and finding of devices and services on the networkand finding of devices and services on the network

Provides a programming model for reliable, secure Provides a programming model for reliable, secure distributed services and makes it easier for programmers distributed services and makes it easier for programmers to get their devices talking to each otherto get their devices talking to each other

The The Java programming languageJava programming language is the key to making is the key to making Jini technology work. BJini technology work. Built on top of Java, object uilt on top of Java, object serialization, and serialization, and Java Remote Method Invocation (RMI)Java Remote Method Invocation (RMI), it , it enables objects to move around the network from virtual enables objects to move around the network from virtual machine to virtual machine. Jini attempts to extend the machine to virtual machine. Jini attempts to extend the benefits of object-oriented programming to the networkbenefits of object-oriented programming to the network

Jini is written in pure Java but the clients and the services Jini is written in pure Java but the clients and the services are not constrained to be in Javaare not constrained to be in Java

Page 4: JINI Network Technology Palki Chakrabarti. JINI Computer has been redefined The Traditional Expectation The New Paradigm Memory Memory Memory Memory Processor.

What is JINI?

Jini is a distributed computing network Jini is a distributed computing network environment that offers, environment that offers, ““Network plug and play”Network plug and play”

Jini also supplies a middleware layer to link Jini also supplies a middleware layer to link services and clients from a variety of sourcesservices and clients from a variety of sources

Jini is a set of APIs and network protocols that can Jini is a set of APIs and network protocols that can help you build and deploy distributed systems help you build and deploy distributed systems that are organized as that are organized as federations of servicesfederations of services Enable spontaneous networkingEnable spontaneous networking Simplify delivery of network servicesSimplify delivery of network services Simplify access to network servicesSimplify access to network services

Page 5: JINI Network Technology Palki Chakrabarti. JINI Computer has been redefined The Traditional Expectation The New Paradigm Memory Memory Memory Memory Processor.

Who Developed JINI?

Jim Waldo Jim Waldo (CORBA, RMI, JavaSpaces)(CORBA, RMI, JavaSpaces) Bill Joy Bill Joy (BSD Unix, SunOS)(BSD Unix, SunOS) Ken Arnold Ken Arnold (JavaSpaces)(JavaSpaces) Ann Wollrath Ann Wollrath (Java RMI)(Java RMI) Bob Sheifler Bob Sheifler (X Window System)(X Window System)

Page 6: JINI Network Technology Palki Chakrabarti. JINI Computer has been redefined The Traditional Expectation The New Paradigm Memory Memory Memory Memory Processor.

Benefits of JINI

Jini technology provides the possibility to composeJini technology provides the possibility to compose systems to meet systems to meet specific requirements rather than relying on a general-purpose systemspecific requirements rather than relying on a general-purpose system

Integration of any device to a more dynamic, less fixed and statically Integration of any device to a more dynamic, less fixed and statically organized network and makes using a network more like using a organized network and makes using a network more like using a phonephone

Lesser Network administrationLesser Network administration. -The total cost of ownership of a . -The total cost of ownership of a computer system declines as fewer system administrators are neededcomputer system declines as fewer system administrators are needed

Any Device or a Software could announce its presence and clients are Any Device or a Software could announce its presence and clients are able to locate them on the network and therefore allowing software able to locate them on the network and therefore allowing software and hardware components to more easily provide network servicesand hardware components to more easily provide network services

Jini technology begins to bring together the realms of computing and Jini technology begins to bring together the realms of computing and home networkshome networks

Page 7: JINI Network Technology Palki Chakrabarti. JINI Computer has been redefined The Traditional Expectation The New Paradigm Memory Memory Memory Memory Processor.

Limitations of JINI

Intended for workgroups of 2 -1000 nodes / services – Intended for workgroups of 2 -1000 nodes / services – intended for smaller LANs rather than the Internetintended for smaller LANs rather than the Internet

Within the Jini federation, there must be some agreement Within the Jini federation, there must be some agreement on notions of trust, identity, policyon notions of trust, identity, policy

Depends on Java/RMI or external mechanisms for securityDepends on Java/RMI or external mechanisms for security Requires Java, 48KB of memory, although one can use Requires Java, 48KB of memory, although one can use

similar methods to extend to other languages (Perl, similar methods to extend to other languages (Perl, Python etc)Python etc)

LicensingLicensing Evolving technology. API changes between 1.0 and 1.1Evolving technology. API changes between 1.0 and 1.1 Performance SensitivePerformance Sensitive …………

Page 8: JINI Network Technology Palki Chakrabarti. JINI Computer has been redefined The Traditional Expectation The New Paradigm Memory Memory Memory Memory Processor.

Key Concepts

ServicesServices Lookup ServicesLookup Services Discovery and JoinDiscovery and Join Extended RMIExtended RMI LeasingLeasing TransactionsTransactions JavaSpacesJavaSpaces Distributed SecurityDistributed Security Distributed EventsDistributed Events

Page 9: JINI Network Technology Palki Chakrabarti. JINI Computer has been redefined The Traditional Expectation The New Paradigm Memory Memory Memory Memory Processor.

Requirements of JINI

An infrastructure which operates as a dynamically An infrastructure which operates as a dynamically distributed distributed

systemsystem A common language and implementation that enables A common language and implementation that enables

low-overhead communication between distributed low-overhead communication between distributed objectsobjects

A A lookup servicelookup service which identifies objects that supply which identifies objects that supply those servicesthose services

An add-in protocol which is implemented on each deviceAn add-in protocol which is implemented on each device—this is called the —this is called the discovery/joindiscovery/join protocolprotocol

A subtract-out mechanism—providing resilience when a A subtract-out mechanism—providing resilience when a device is unplugged which is called device is unplugged which is called leasingleasing

Page 10: JINI Network Technology Palki Chakrabarti. JINI Computer has been redefined The Traditional Expectation The New Paradigm Memory Memory Memory Memory Processor.

Services

A A service service can be anything that sits on the network can be anything that sits on the network and is ready to perform a useful function. Hardware and is ready to perform a useful function. Hardware devices, software, communications channels – even devices, software, communications channels – even human users themselves -- can be serviceshuman users themselves -- can be services

Services may be added or withdrawn from a Jini Services may be added or withdrawn from a Jini federation at any timefederation at any time

Jini provides mechanisms for service registration, Jini provides mechanisms for service registration, lookup and uselookup and use

Services communicate by using a service protocol = Services communicate by using a service protocol = set of Java interfacesset of Java interfaces

Set of services is open-endedSet of services is open-ended

Page 11: JINI Network Technology Palki Chakrabarti. JINI Computer has been redefined The Traditional Expectation The New Paradigm Memory Memory Memory Memory Processor.

Lookup Services

Lookup Services are the central organizing mechanism for Jini-Lookup Services are the central organizing mechanism for Jini-based systems and provide mapping of interfaces to objects. based systems and provide mapping of interfaces to objects. Lookup enables a client to query a lookup service for services Lookup enables a client to query a lookup service for services that can help the client accomplish its goalsthat can help the client accomplish its goals

Hierarchical LookupHierarchical Lookup: Lookup service may include entry for : Lookup service may include entry for other lookup services. When new services become available on other lookup services. When new services become available on the network, they register themselves with a lookup servicethe network, they register themselves with a lookup service

When clients wish to locate a service to assist with some task, When clients wish to locate a service to assist with some task, they consult a lookup servicethey consult a lookup service

The runtime infrastructure uses one network-level protocol, The runtime infrastructure uses one network-level protocol, called called discoverydiscovery, and two object-level protocols, called , and two object-level protocols, called joinjoin and and lookuplookup

Page 12: JINI Network Technology Palki Chakrabarti. JINI Computer has been redefined The Traditional Expectation The New Paradigm Memory Memory Memory Memory Processor.

Discovery and Join

DiscoveryDiscovery is the protocol by which Jini services register is the protocol by which Jini services register themselves with a lookup servicethemselves with a lookup service

DiscoveryDiscovery or L or Lookupookup is performed by doing a multicast (to find is performed by doing a multicast (to find all lookup services) or unicast (when you know the machine on all lookup services) or unicast (when you know the machine on which the lookup service is running) lookup. Jini™ enabled Object which the lookup service is running) lookup. Jini™ enabled Object (representing a hardware and/or software service) multicasts a (representing a hardware and/or software service) multicasts a packet with a reference to itselfpacket with a reference to itself

The service receives RMI reference to Lookup service (one or The service receives RMI reference to Lookup service (one or more)more)

The service joins a federation by placing an object The service joins a federation by placing an object representing capabilities into the Lookup service for other clients representing capabilities into the Lookup service for other clients and services to use for a period of timeand services to use for a period of time

Discovery enables clients and services to locate lookup servicesDiscovery enables clients and services to locate lookup services Join enables a service to register itself in a lookup serviceJoin enables a service to register itself in a lookup service

Page 13: JINI Network Technology Palki Chakrabarti. JINI Computer has been redefined The Traditional Expectation The New Paradigm Memory Memory Memory Memory Processor.

Extended RMI

Communication among services uses Java RMICommunication among services uses Java RMI Extended with leasesExtended with leases RMI providesRMI provides

ActivationActivation Distributed Garbage CollectionDistributed Garbage Collection MulticastMulticast ReplicationReplication

Page 14: JINI Network Technology Palki Chakrabarti. JINI Computer has been redefined The Traditional Expectation The New Paradigm Memory Memory Memory Memory Processor.

Leasing

A lease is a grant of guaranteed access over a time period. Each A lease is a grant of guaranteed access over a time period. Each lease is negotiated between the user of the service and the lease is negotiated between the user of the service and the provider of the service as part of the service protocolprovider of the service as part of the service protocol

A service is requested for some period; access is granted for A service is requested for some period; access is granted for some period, presumably taking the request period into some period, presumably taking the request period into account.account. Leases in term of duration (relative time) Leases in term of duration (relative time)

– – lookup service needs to use resource to maintain registrationlookup service needs to use resource to maintain registration – – device failure can cause error in the available service logdevice failure can cause error in the available service log If lease expires without renewal, user and provider can free If lease expires without renewal, user and provider can free

associated resourceassociated resource Leases handle client and network failures, removal of services…Leases handle client and network failures, removal of services… Leases in Jini is self-healing. Exclusive lease says service cannot Leases in Jini is self-healing. Exclusive lease says service cannot

be sharedbe shared

Page 15: JINI Network Technology Palki Chakrabarti. JINI Computer has been redefined The Traditional Expectation The New Paradigm Memory Memory Memory Memory Processor.

Transactions

Partial failure in distributed systems is a nightmarePartial failure in distributed systems is a nightmare A series of operations, either within a single service or A series of operations, either within a single service or

spanning multiple services, can be wrapped in a spanning multiple services, can be wrapped in a transactiontransaction

The Jini Transaction interfaces supply a service The Jini Transaction interfaces supply a service protocol needed to coordinate a protocol needed to coordinate a two-phase committwo-phase commit

– – all results save in temporary storageall results save in temporary storage – – move from temporary to permanent storagemove from temporary to permanent storage Insures changes made atomically- all or noneInsures changes made atomically- all or none The very semantics of the notion of a transaction is The very semantics of the notion of a transaction is

left up to the service using the interfacesleft up to the service using the interfaces

Page 16: JINI Network Technology Palki Chakrabarti. JINI Computer has been redefined The Traditional Expectation The New Paradigm Memory Memory Memory Memory Processor.

JavaSpaces

The JavaSpaces technology is written in the Java languageThe JavaSpaces technology is written in the Java language and is a simple, fast and unified mechanism for dynamic and is a simple, fast and unified mechanism for dynamic communication, co-ordination and sharing of objectscommunication, co-ordination and sharing of objects In a distributed application, JavaSpaces technology In a distributed application, JavaSpaces technology

acts as a virtual space between providers and acts as a virtual space between providers and requestors of network resources or objectsrequestors of network resources or objects

participants in a distributed solution can exchange participants in a distributed solution can exchange tasks, requests information in the form of Java tasks, requests information in the form of Java technology-based objectstechnology-based objects

JavaSpaces technology provides developers with the JavaSpaces technology provides developers with the ability to create and store objects with persistenceability to create and store objects with persistence

Page 17: JINI Network Technology Palki Chakrabarti. JINI Computer has been redefined The Traditional Expectation The New Paradigm Memory Memory Memory Memory Processor.

Distributed Security

The design of the security model for Jini technology is built on The design of the security model for Jini technology is built on the twin notions of a the twin notions of a principal principal and an and an access control listaccess control list. .

Jini services are accessed on behalf of some entity—the Jini services are accessed on behalf of some entity—the principal, which generally traces back to a particular user of principal, which generally traces back to a particular user of the system. the system.

Services themselves may request access to other services Services themselves may request access to other services based on the identity of the object that implements the based on the identity of the object that implements the service. Whether access to a service is allowed depends on service. Whether access to a service is allowed depends on the contents of an access control list that is associated with the contents of an access control list that is associated with the object.the object.

Security plays an important role in distributed systems. The Security plays an important role in distributed systems. The Jini security model is based on the JDK 1.2 security system. Jini security model is based on the JDK 1.2 security system.

Page 18: JINI Network Technology Palki Chakrabarti. JINI Computer has been redefined The Traditional Expectation The New Paradigm Memory Memory Memory Memory Processor.

Distributed Events

Jini supports distributed eventsJini supports distributed events An object may allow other objects to register interest in An object may allow other objects to register interest in

events in the object and receive a notification of the events in the object and receive a notification of the occurrence of such an eventoccurrence of such an event

Uses the Observer pattern and sensitive to network issues Uses the Observer pattern and sensitive to network issues – delays, disruptions etc– delays, disruptions etc

Serializable and can be moved across a networkSerializable and can be moved across a network Most useful in observing service changes – lookup Most useful in observing service changes – lookup

services going up or down etcservices going up or down etc Enables distributed event-based programs to be written Enables distributed event-based programs to be written

with a variety of reliability and scalability guaranteeswith a variety of reliability and scalability guarantees

Page 19: JINI Network Technology Palki Chakrabarti. JINI Computer has been redefined The Traditional Expectation The New Paradigm Memory Memory Memory Memory Processor.

Jini Values

ConsumersConsumers Plugging in networked devices and application software is Plugging in networked devices and application software is

as simple as plugging in a phone todayas simple as plugging in a phone today Service providersService providers Simplifies management of application service deliverySimplifies management of application service delivery Product manufacturersProduct manufacturers Opens entirely new markets (diagnostics, post-purchase Opens entirely new markets (diagnostics, post-purchase

upgrades and software enhancements, customer care)upgrades and software enhancements, customer care) ProgrammersProgrammers Simplifies the task of writing distributed applications by Simplifies the task of writing distributed applications by

freeing them from network topologyfreeing them from network topology

Page 20: JINI Network Technology Palki Chakrabarti. JINI Computer has been redefined The Traditional Expectation The New Paradigm Memory Memory Memory Memory Processor.

Jini Example

A client program might upload pictures from the image storage A client program might upload pictures from the image storage service in a digital cameraservice in a digital camera

Download the pictures to a persistent storage service offered by a Download the pictures to a persistent storage service offered by a disk drivedisk drive

Send a page of thumbnail-sized versions of the images to the Send a page of thumbnail-sized versions of the images to the printing service of a color printerprinting service of a color printer

A Jini-enabled disk drive, for example, could offer a "storage" A Jini-enabled disk drive, for example, could offer a "storage" service. A Jini-enabled printer could offer a "printing" service. service. A Jini-enabled printer could offer a "printing" service. A A federation offederation of servicesservices, then, is a set of services, currently , then, is a set of services, currently available on the network, that a client (meaning a program, service, available on the network, that a client (meaning a program, service, or user) can bring together to help it accomplish some goalor user) can bring together to help it accomplish some goal

In the example, the client program builds a distributed system In the example, the client program builds a distributed system consisting of itself, the image storage service, the persistent storage consisting of itself, the image storage service, the persistent storage service, and the color-printing serviceservice, and the color-printing service

Page 21: JINI Network Technology Palki Chakrabarti. JINI Computer has been redefined The Traditional Expectation The New Paradigm Memory Memory Memory Memory Processor.

Applications

Jini and BluetoothJini and BluetoothBluetooth is a wireless point to point networking Bluetooth is a wireless point to point networking specification intended for use in a Personal Area Network specification intended for use in a Personal Area Network (PAN) such as cell-phones when they are within a short (PAN) such as cell-phones when they are within a short range. Jini could be used to help these devices locate and range. Jini could be used to help these devices locate and communicate with each othercommunicate with each other

Jini and JiroJini and JiroJiro is a middle layer of components and services which Jiro is a middle layer of components and services which facilitate connectivity between managed resources and facilitate connectivity between managed resources and management applications. It runs on top of Jinimanagement applications. It runs on top of Jini

Page 22: JINI Network Technology Palki Chakrabarti. JINI Computer has been redefined The Traditional Expectation The New Paradigm Memory Memory Memory Memory Processor.

Conclusion

Sun’s Jini technology provides open, end-to-end Sun’s Jini technology provides open, end-to-end solutions for creating dynamically networked solutions for creating dynamically networked products, services, and applications that scale from products, services, and applications that scale from devices to the enterprise. devices to the enterprise.

Because Jini technology addresses problems that only Because Jini technology addresses problems that only some companies are experiencing, the requirement some companies are experiencing, the requirement for this technology is not always readily apparent. For for this technology is not always readily apparent. For the increasing number of companies that are already the increasing number of companies that are already hitting the problems of scale, component integration, hitting the problems of scale, component integration, and ad-hoc networking, especially in the financial, and ad-hoc networking, especially in the financial, automotive, and telecommunications industries, Jini automotive, and telecommunications industries, Jini technology is the premier solution available today.technology is the premier solution available today.