JiniTM
Network
Technology
2001. 2. 17.
Kwang Shin Oh
Dept. of Research & Development
http://raytrust.pe.kr
raytrust@raytrust.pe.kr
Copyright 2001 © Kwang Shin Oh
2JiniTM
Network Technology
©2001KwangShinOH
Http://raytrust.pe.kr
Agenda
 Why JiniTM
?
 What is JiniTM
?
 JiniTM
Architecture Overview
 The Details
 Example Service Model
 JiniTM
Roadmap
 Reference
3JiniTM
Network Technology
©2001KwangShinOH
Http://raytrust.pe.kr
Why JiniTM
?
 Distributed computing is more
difficult than local computing
because of :
 Network latency
 Concurrency issues
 Memory management
 Inevitable partial failure
4JiniTM
Network Technology
©2001KwangShinOH
Http://raytrust.pe.kr
Evolution of distributed
computing
Key insight : Remote increasingly looks
local
5JiniTM
Network Technology
©2001KwangShinOH
Http://raytrust.pe.kr
What is JiniTM
?
 Jini addresses the problems of
distributed computing using a set
of simple interfaces and protocols
 Jini enables spontaneous network
of software services(and devices)
to assemble into working groups of
objects, or Federations
 Jini builds on the JavaTM
2 Platform
6JiniTM
Network Technology
©2001KwangShinOH
Http://raytrust.pe.kr
What is JiniTM
?
 Jini enables self-healing when one
or more devices are removed from
the Federation
 Jini is usable for hardware as well
as software services
 Everything is represented by Java
Objects
 Everything is located and accessed
through Java Interfaces
7JiniTM
Network Technology
©2001KwangShinOH
Http://raytrust.pe.kr
JiniTM
Architecture
Overview
8JiniTM
Network Technology
©2001KwangShinOH
Http://raytrust.pe.krJava Technology
Features that Benefit
JiniTM
Feature Benefit
Java Virtual Machine  Homogeneous network
Portable object code  Architecture
independence
Downloadable code  Dynamic environment
Unified type system  No impedance mismatch
9JiniTM
Network Technology
©2001KwangShinOH
Http://raytrust.pe.kr
JiniTM
Extends the Java
Platform
10JiniTM
Network Technology
©2001KwangShinOH
Http://raytrust.pe.kr
The Details :
Jini Infrastructure
11JiniTM
Network Technology
©2001KwangShinOH
Http://raytrust.pe.kr
JiniTM
Lookup
Service
 Repository of available services
 Stores each service as Java objects
 Clients download services on
demand
12JiniTM
Network Technology
©2001KwangShinOH
Http://raytrust.pe.kr
Lookup service
 May be federated with other
lookup services
 Lookup service interface
provides:
 Registration
 Access
 Search
 Removal
13JiniTM
Network Technology
©2001KwangShinOH
Http://raytrust.pe.kr
Discovery and Join
Protocols
 Used to find and join a group of
services
 Based on UDP multicast
 Services advertise capabilities
 Provide required software
drivers
 Establish reference with lookup
service
 Unicast discovery also
14JiniTM
Network Technology
©2001KwangShinOH
Http://raytrust.pe.kr
Discovery Protocol
15JiniTM
Network Technology
©2001KwangShinOH
Http://raytrust.pe.kr
Discovery Protocol –
1
 The Multicast Request Protocol
 allows an entity that has just been
started to actively discover nearby
lookup servicesDiscovering Entity Lookup Service
multicast request
multicast response
unicast request
unicast response
Join Protocol
16JiniTM
Network Technology
©2001KwangShinOH
Http://raytrust.pe.kr
Discovery Protocol –
2
 The Multicast Announcement
Protocol
 allows lookup services to announce their
availability within multicast radiusDiscovering Entity Lookup Service
multicast announce
unicast request
unicast response
Join Protocol
17JiniTM
Network Technology
©2001KwangShinOH
Http://raytrust.pe.kr
Discovery Protocol –
3
 The Unicast Discovery Protocol
 allows an entity that has just been
started to directly discover known lookup
serviceDiscovering Entity Lookup Service
unicast request
unicast response
Join Protocol
18JiniTM
Network Technology
©2001KwangShinOH
Http://raytrust.pe.kr
Join Protocol
19JiniTM
Network Technology
©2001KwangShinOH
Http://raytrust.pe.kr
Join Protocol
 The Join Protocol
Joining Entity Lookup Service
service registration
new lease
Discovery Protocol
lease renew
lease renewal
lease expire
20JiniTM
Network Technology
©2001KwangShinOH
Http://raytrust.pe.kr
Steps in Discovery and
Join
 JiniTM
enabled Object(representing a
hardware and/or software service)
multicasts a packet with a reference
to itself
 The service receives RMI reference
to Lookup service(one or more)
 The Service joins a Federation by
placing an object representing its
capabilities into the Lookup service
for other clients and services to use
21JiniTM
Network Technology
©2001KwangShinOH
Http://raytrust.pe.kr
Traditional Technology
1. Device is added to computer
2. Device definition is edited in
node configuration table
3. Computer is restarted
4. Updated configuration table is
pushed to network device map
22JiniTM
Network Technology
©2001KwangShinOH
Http://raytrust.pe.kr
Jini Technology
1. Device is plugged in and
powered up
1. Lookup service receives multicast
2. Lookup service authenticates source
3. Lookup service sends advertisement
4. Device joins Lookup service
23JiniTM
Network Technology
©2001KwangShinOH
Http://raytrust.pe.kr
Finding a Service
 To find a service, a Jini client
locates service by querying a
Lookup Service by type(Java
Interface)
 Code moves from service to client
via Lookup Service
 Code needed to use service is
dynamically loaded on demand
24JiniTM
Network Technology
©2001KwangShinOH
Http://raytrust.pe.kr
Finding a Service
25JiniTM
Network Technology
©2001KwangShinOH
Http://raytrust.pe.kr
Using a Service
 Communication is between
service and its proxy
 Independent of wire protocol
 Protocol can change without
affecting client
 RMI semantics core to
functionality
26JiniTM
Network Technology
©2001KwangShinOH
Http://raytrust.pe.kr
Using a Service
27JiniTM
Network Technology
©2001KwangShinOH
Http://raytrust.pe.kr
Why JiniTM
uses RMI
 RMI can pass entire Java objects
and their code
 Works in any compliant JVM
 Provides automatic serialization,
transport, and de-serialization of
objects
 Robust and configurable security
options(RMI over SSL,
Authenticated Principal, etc.)
28JiniTM
Network Technology
©2001KwangShinOH
Http://raytrust.pe.kr
The Details :
Jini Services
29JiniTM
Network Technology
©2001KwangShinOH
Http://raytrust.pe.kr
Services
 Represented by Java Interfaces
 Separation of “how” from “what”
 Implement in hardware or software
 Implementations can change over
time
 Multiple implementations
30JiniTM
Network Technology
©2001KwangShinOH
Http://raytrust.pe.kr
Services Enable
Evolution
 Base interfaces can be extended to :
 Add new functionality
 Combine functionality
 Old clients can use base interface
 New clients can use extended
interface
 Allows evolution of implementation
without changing clients or
infrastructure
31JiniTM
Network Technology
©2001KwangShinOH
Http://raytrust.pe.kr
Services Are Defined
by Java Interfaces
32JiniTM
Network Technology
©2001KwangShinOH
Http://raytrust.pe.kr
Services Are Defined
by Java Interfaces
33JiniTM
Network Technology
©2001KwangShinOH
Http://raytrust.pe.kr
Client Finds Service
by Interface
34JiniTM
Network Technology
©2001KwangShinOH
Http://raytrust.pe.kr
Client Finds Service
by Interface
35JiniTM
Network Technology
©2001KwangShinOH
Http://raytrust.pe.kr
Client Finds Service
by Interface
36JiniTM
Network Technology
©2001KwangShinOH
Http://raytrust.pe.kr
Service Interfaces
 Community driven
 Printing
 Service UI
 Don’t have to be done by Sun
 Only base types need to be common
 Interfaces can evolve
 New apps can use new functionalities
 Old apps still work
37JiniTM
Network Technology
©2001KwangShinOH
Http://raytrust.pe.kr
Legacy Services
 Jini requires Java at the network
 Services identified by Java type
 Proxies may need code
downloaded
 Implementation can be non-Java
 Wrap legacy language in Java
 make calls to legacy with JNI
38JiniTM
Network Technology
©2001KwangShinOH
Http://raytrust.pe.kr
The Details :
Example Service
Models
39JiniTM
Network Technology
©2001KwangShinOH
Http://raytrust.pe.kr
Example service model
#1: Local device
concentrator
40JiniTM
Network Technology
©2001KwangShinOH
Http://raytrust.pe.krExample service model #2:
Remote device
concentrator
41JiniTM
Network Technology
©2001KwangShinOH
Http://raytrust.pe.kr
Example service model
#3: EJB services
42JiniTM
Network Technology
©2001KwangShinOH
Http://raytrust.pe.kr
Detailed Example:
Jini-Enabled Printer
43JiniTM
Network Technology
©2001KwangShinOH
Http://raytrust.pe.kr
Discovery
 Multicast query for lookup
service
44JiniTM
Network Technology
©2001KwangShinOH
Http://raytrust.pe.kr
Discovery
 Lookup service discovered
45JiniTM
Network Technology
©2001KwangShinOH
Http://raytrust.pe.kr
Join
 Printer registers service object
with LUS
46JiniTM
Network Technology
©2001KwangShinOH
Http://raytrust.pe.kr
Locating Service
 Client asks LUS for Printer
47JiniTM
Network Technology
©2001KwangShinOH
Http://raytrust.pe.kr
Locating Service
 LUS returns printer service
object to client
48JiniTM
Network Technology
©2001KwangShinOH
Http://raytrust.pe.kr
Using the Service
 Client communicates to printer
through service object
49JiniTM
Network Technology
©2001KwangShinOH
Http://raytrust.pe.kr
JiniTM
Roadmap
 JiniTM
Technology Starter Kit
 Version 1.0  Jan, 1999
 Version 1.0.1  Nov, 1999
 Version 1.1Alpha  Nov, 1999
 Version 1.1Beta  May, 2000
 Version 1.1  Oct, 2000
50JiniTM
Network Technology
©2001KwangShinOH
Http://raytrust.pe.kr
Reference
 JiniTM
Connection Technology
Architecture Overview
 Bill Day – Sun Microsystems
 JiniTM
Technology Core Platform
Specification Version 1.1
 October 2000 Sun Microsystems
 Core JINI – W.Keith Edwards
 1999 Prentice Hall

Jini Network Technology

Editor's Notes

  • #2 종종 발표자는 주제나 어휘에 익숙하지 않은 청중에게 기술적 성격의 자료를 전달해야 합니다. 자료는 복잡하거나 많은 양의 상세 정보를 나타낼 수 있습니다. 기술적인 자료를 효과적으로 발표하려면 Dale Carnegie Training®의 지침 따라 하기를 이용하십시오. 사용 가능한 시간의 양을 고려하여 자료를 구성하도록 준비하십시오. 주제의 범위를 좁히십시오. 프레젠테이션을 명확하게 부분으로 나누십시오. 논리적으로 진행하십시오. 처음부터 끝까지 요점을 유지하십시오. 요약, 주요 단계의 반복, 논리적 결론으로 프레젠테이션을 끝맺음 하십시오. 청중이 시종일관 집중할 수 있도록 하십시오. 예를 들어, 반드시 데이터는 명확하고 정보는 관련이 있도록 하십시오. 상세 정보와 어휘의 수준이 청중에 적합하도록 유지하십시오. 주요 요점과 단계를 뒷받침 하기 위해 시각적 요소를 사용하십시오. 청중의 욕구에 주의를 기울이십시오. 그러면 청중이 이해하는 데 도움이 될 것입니다.
  • #3 <number> 소개에서 청중과 주제의 관련성을 전달하십시오. 프레젠테이션의 간략한 시연을 제공하고 이 프레젠테이션이 청중에게 얼마나 중요한지를 입증하십시오. 어휘, 예제, 설명을 선택할 때는 청중의 관심사와 전문가적 지식 수준을 고려하십시오. 주제가 청중에게 중요하다는 점을 강조하면 청중의 주의를 끄는 데 도움을 줍니다.