chakrabarti palki - jini network technology

22
JINI Network Technology Palki Chakrabarti Palki Chakrabarti

Upload: dhyankrish

Post on 01-Oct-2015

21 views

Category:

Documents


2 download

DESCRIPTION

..

TRANSCRIPT

  • JINI Network Technology

    Palki Chakrabarti

  • JINIComputer has been redefined

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

    Suns Technology, Jini is an attempt to rethink computer architecture with more emphasis on network and computer with no diskThese devices will need to interact over a dynamic network and devices and services will be added and removed regularlyJini has grown from early work in Java to make distributed computing easier

  • JINIProvides mechanisms to enable smooth adding, removal, and finding of devices and services on the networkProvides a programming model for reliable, secure distributed services and makes it easier for programmers to get their devices talking to each otherThe Java programming language is the key to making Jini technology work. Built on top of Java, object serialization, and Java Remote Method Invocation (RMI), it enables objects to move around the network from virtual machine to virtual machine. Jini attempts to extend the benefits of object-oriented programming to the networkJini is written in pure Java but the clients and the services are not constrained to be in Java

  • What is JINI?Jini is a distributed computing network environment that offers, Network plug and playJini also supplies a middleware layer to link services and clients from a variety of sourcesJini is a set of APIs and network protocols that can help you build and deploy distributed systems that are organized as federations of servicesEnable spontaneous networkingSimplify delivery of network servicesSimplify access to network services

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

  • Benefits of JINIJini technology provides the possibility to compose systems to meet specific requirements rather than relying on a general-purpose systemIntegration of any device to a more dynamic, less fixed and statically organized network and makes using a network more like using a phoneLesser Network administration. -The total cost of ownership of a computer system declines as fewer system administrators are neededAny Device or a Software could announce its presence and clients are able to locate them on the network and therefore allowing software and hardware components to more easily provide network servicesJini technology begins to bring together the realms of computing and home networks

  • Limitations of JINIIntended for workgroups of 2 -1000 nodes / services intended for smaller LANs rather than the InternetWithin the Jini federation, there must be some agreement on notions of trust, identity, policyDepends on Java/RMI or external mechanisms for securityRequires Java, 48KB of memory, although one can use similar methods to extend to other languages (Perl, Python etc)LicensingEvolving technology. API changes between 1.0 and 1.1Performance Sensitive

  • Key ConceptsServicesLookup ServicesDiscovery and JoinExtended RMILeasingTransactionsJavaSpacesDistributed SecurityDistributed Events

  • Requirements of JINIAn infrastructure which operates as a dynamically distributed systemA common language and implementation that enables low-overhead communication between distributed objectsA lookup service which identifies objects that supply those servicesAn add-in protocol which is implemented on each devicethis is called the discovery/join protocolA subtract-out mechanismproviding resilience when a device is unplugged which is called leasing

  • ServicesA service can be anything that sits on the network and is ready to perform a useful function. Hardware devices, software, communications channels even human users themselves -- can be servicesServices may be added or withdrawn from a Jini federation at any timeJini provides mechanisms for service registration, lookup and useServices communicate by using a service protocol = set of Java interfacesSet of services is open-ended

  • Lookup ServicesLookup Services are the central organizing mechanism for Jini-based systems and provide mapping of interfaces to objects. Lookup enables a client to query a lookup service for services that can help the client accomplish its goalsHierarchical Lookup: Lookup service may include entry for other lookup services. When new services become available on the network, they register themselves with a lookup serviceWhen clients wish to locate a service to assist with some task, they consult a lookup serviceThe runtime infrastructure uses one network-level protocol, called discovery, and two object-level protocols, called join and lookup

  • Discovery and JoinDiscovery is the protocol by which Jini services register themselves with a lookup serviceDiscovery or Lookup is performed by doing a multicast (to find all lookup services) or unicast (when you know the machine on which the lookup service is running) lookup. Jini enabled Object (representing a hardware and/or software service) multicasts a packet with a reference to itselfThe service receives RMI reference to Lookup service (one or more)The service joins a federation by placing an object representing capabilities into the Lookup service for other clients and services to use for a period of timeDiscovery enables clients and services to locate lookup servicesJoin enables a service to register itself in a lookup service

  • Extended RMICommunication among services uses Java RMIExtended with leasesRMI providesActivationDistributed Garbage CollectionMulticastReplication

  • LeasingA lease is a grant of guaranteed access over a time period. Each lease is negotiated between the user of the service and the provider of the service as part of the service protocolA service is requested for some period; access is granted for some period, presumably taking the request period into account. Leases in term of duration (relative time) lookup service needs to use resource to maintain registration device failure can cause error in the available service logIf lease expires without renewal, user and provider can free associated resourceLeases handle client and network failures, removal of servicesLeases in Jini is self-healing. Exclusive lease says service cannot be shared

  • TransactionsPartial failure in distributed systems is a nightmareA series of operations, either within a single service or spanning multiple services, can be wrapped in a transactionThe Jini Transaction interfaces supply a service protocol needed to coordinate a two-phase commit all results save in temporary storage move from temporary to permanent storageInsures changes made atomically- all or noneThe very semantics of the notion of a transaction is left up to the service using the interfaces

  • JavaSpacesThe JavaSpaces technology is written in the Java language and is a simple, fast and unified mechanism for dynamic communication, co-ordination and sharing of objectsIn a distributed application, JavaSpaces technology acts as a virtual space between providers and requestors of network resources or objectsparticipants in a distributed solution can exchange tasks, requests information in the form of Java technology-based objectsJavaSpaces technology provides developers with the ability to create and store objects with persistence

  • Distributed SecurityThe design of the security model for Jini technology is built on the twin notions of a principal and an access control list. Jini services are accessed on behalf of some entitythe principal, which generally traces back to a particular user of the system. Services themselves may request access to other services based on the identity of the object that implements the service. Whether access to a service is allowed depends on the contents of an access control list that is associated with the object.Security plays an important role in distributed systems. The Jini security model is based on the JDK 1.2 security system.

  • Distributed EventsJini supports distributed eventsAn object may allow other objects to register interest in events in the object and receive a notification of the occurrence of such an eventUses the Observer pattern and sensitive to network issues delays, disruptions etcSerializable and can be moved across a networkMost useful in observing service changes lookup services going up or down etcEnables distributed event-based programs to be written with a variety of reliability and scalability guarantees

  • Jini ValuesConsumers Plugging in networked devices and application software is as simple as plugging in a phone todayService providers Simplifies management of application service deliveryProduct manufacturers Opens entirely new markets (diagnostics, post-purchase upgrades and software enhancements, customer care)Programmers Simplifies the task of writing distributed applications by freeing them from network topology

  • Jini ExampleA client program might upload pictures from the image storage service in a digital cameraDownload the pictures to a persistent storage service offered by a disk driveSend a page of thumbnail-sized versions of the images to the printing service of a color printer A Jini-enabled disk drive, for example, could offer a "storage" service. A Jini-enabled printer could offer a "printing" service. A federation of services, then, is a set of services, currently available on the network, that a client (meaning a program, service, or user) can bring together to help it accomplish some goalIn the example, the client program builds a distributed system consisting of itself, the image storage service, the persistent storage service, and the color-printing service

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

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

  • ConclusionSuns Jini technology provides open, end-to-end solutions for creating dynamically networked products, services, and applications that scale from devices to the enterprise. Because Jini technology addresses problems that only some companies are experiencing, the requirement for this technology is not always readily apparent. For the increasing number of companies that are already hitting the problems of scale, component integration, and ad-hoc networking, especially in the financial, automotive, and telecommunications industries, Jini technology is the premier solution available today.