Title: Jini and the Grid
1Jini and the Grid
- Dr Mark Baker
- Distributed Systems Group
- University of Portsmouth
- http//dsg.port.ac.uk/mab/
2Outline
- Jini
- Overview,
- Architecture and operation.
- The Grid
- Overview,
- OGSA,
- Example applications.
- Possible Jini/Grid interaction
- Jini with the Grid,
- The Grid with Jini.
- Summary and Conclusions.
3The Jini Architecture
- Why Jini and What is Jini?
- Jini technologies and architecture.
- Jini services
- Discovery,
- Lookup,
- Joining.
- Leases, Transactions and Events and Security.
- Summary.
4A New(ish) Architecture
- Both hardware and software
- Everything is an object,
- Everything is accessed through an interface.
- Network and language centric
- Data and code come from the network,
- The Java language is assumed to be everywhere.
- Service-based architecture!
- Designed for the network
- Code and data move, as appropriate,
- Appropriate for everything
- Devices, large servers, software.
- Everything is an object
- Hardware and software provide services.
5Philosophy
- Less is more
- The simplicity of object-oriented design,
- RMI extends objects to the network.
- Language-based system
- Java language forms a conceptual framework,
- No division between network and programming types.
6Goals of the Jini System
- Enable spontaneous networking
- Plug in and join,
- Unplug and heal.
- Provide reliable networks
- Individual services more reliable,
- System independence from any single point of
failure. - Above all, simplicity
7Extending the Java Platform
8Jini is a distributed servicesarchitecture key
features
- A Discovery and Lookup Service
- Find things.
- Leasing
- Letting everybody know you are still there and
interested. - Distributed Events
- Finding out when things change.
- Transactions
- Trusting distributed interactions/events.
- Distributed, tuple-based store
9Discovery and Lookup
- LUS provides a programming API and end-user
access/repository. - Directory services
- Unicast discovery (need to know where to find the
service) - LDAP/X.500, DNS, RMI Registry.
- Multicast discovery
- Transmit a multicast packet and wait for services
to respond, - Good up to multicast radius!
10Basic summary
- Service perspective
- Register with desired attributes,
- Keep renewing lease,
- Add, modify, delete attributes as desired.
- Client perspective
- Lookup any one of, get just proxy object,
- Lookup up to N of, get proxies and attributes.
11What Lookup Service Does
- Clients use the LU to find services.
- Services look for LU services and bind references
of themselves to each one. - The LUS can store any serializable object, Like
LDAP. - You look up things by type, not by name.
- The LUS automatically purges references to
services that are bad - Bad dead or failed to renew lease.
- The LUS is organized into groups
- Allows segregation of services such as by room,
floor. - Leaving a Jini federation
- Services can cancel LUS registration.
- A registration lease can run out.
- No administrator required.
12Client/Service/LUS Operation
LUS
LUS
Client
2
4
1
3
Service
13Why Distributed Leasing?
- Problem Partial failure in distributed systems
can lead to unchecked resource consumption. - Traditional solution system administration
- Error-prone,
- Costly,
- Only happens when it is too late.
- Leasing protocol for managing resources using a
renewable, duration-based model. - 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.
14Distributed Events in Jini
- Enables Java event model to work in a distributed
network. - Register interest and then receive notification.
- Allows for use of event managers.
- Can use numerous distributed delivery models
- Push, pull, filter...
- Uses leasing protocol.
15Transaction model in Jini
- Designed for distributed object coordination
light weight, object-oriented. - Supports
- Nested transactions,
- Various levels of ACID properties (Atomicity,
Consistency, Isolation, Durability), - Two-phase commit.
- Uses leasing protocol.
- Implemented in Transaction Manager service
another Jini service (mahalo).
16Security in Jini
- Security for Jini is based on the JDK 1.4
security model. - In Java a Security Manager is used to grant or
deny access to resources. - The security manager makes use of a security
policy. - Now using Java Authentication and Authorisation
Services (JAAS). - This is typically given in a policy file, which
is stored in some default location or specified
at runtime. - New security features in Jini v2.
17Summary
- Discussed Jini and how it tries to bridge the
perceived problems with distributed systems. - Looked at
- Lookup
- Registration and Discovery
- Leasing
- Events and Transactions
- Security.
18The Brief Overview of the Grid
19Enter Grid Technologies
- Infrastructure (middleware) for establishing,
managing, and evolving multi-organisational
federations - Dynamic, autonomous, domain independent,
- On-demand, ubiquitous access to computing, data,
and services. - Mechanisms for creating and managing workflow
within such federations - New capabilities constructed dynamically and
transparently from distributed services - Service-oriented, virtualisation
20Elements of the Problem
- Resource sharing
- Computers, storage, sensors, networks,
- Sharing always conditional issues of trust,
policy, negotiation, payment, security, - Coordinated problem solving
- Beyond client-server distributed data analysis,
computation, workflow, collaboration, - Dynamic, multi-institutional virtual orgs
- Community overlays on classic organisational
structures (CERN for example), - Large or small, static or dynamic.
21The Emergence ofOpen Grid Standards
Increased functionality, standardisation
Custom solutions
1990
1995
2000
2005
2010
22Open Grid Services Architecture
- Service-oriented architecture
- Key to virtualisation, discovery, composition,
local-remote transparency. - Leverage industry standards
- In particular, Web Services.
- Distributed service management
- A component model for Web Services
- A framework for the definition of composable,
interoperable services
The Physiology of the Grid An Open Grid
Services Architecture for Distributed Systems
Integration, Foster, Kesselman, Nick, Tuecke,
2002
23Web Services
- XML-based distributed computing technology.
- A Web service a server process that exposes
typed ports to the network. - Described by the Web Services Description
Language (WSDL), an XML document that contains - Type of message(s) the service understands and
types of responses and exceptions it returns, - Methods bound together as port types,
- Port types bound to protocols as ports,
- A WSDL document completely defines a service and
how to access it
24OGSI
- The OGSI specification defines the fundamental
concepts and characteristics of Grid Services. - It introduces the concept of a Grid Service
Instance a Web Service that conforms to a set
of conventions (interfaces and behaviours) and
adds features including - Statefulness
- Stateful interactions
- The ability to create new instances
- Service lifetime management
- Notification of state changes service groups.
- It is these additional features that define the
semantics of Grid Service Instances, the
foundation of the Grid infrastructure.
25Grid Requirements
- The key requirements for a Grid Application
Framework which are crystallised in the current
OGSI specification are to provide consistent
mechanisms for - Stateful interactions between consumers and
services, - Exposure of a Web Services publicly visible
state, - Access to (possibly large amounts of)
identifiable data, - Service lifetime management,
26Grid Evolution OGSA
- Re-factor Globus protocol suite to enable common
base and expose key capabilities. - Service orientation to virtualise resources and
unify resources/services/information. - Embrace Web Services technologies for standard
IDL and leverage from commercial efforts. - Result standard interfaces and behaviour for
distributed system management the Grid Service.
27GT3 Open Source OGSA Technology
- Implements and builds on OGSI interfaces.
- Supports primary GT2 interfaces
- Public key authentication,
- Scalable service discovery,
- Secure, reliable resource access,
- High-performance data movement (GridFTP).
- Numerous new services included or planned
- SLA negotiation, service registry, community
authorization, data access integration, - Rapidly growing adoption and contributions
- E.g., OGSA-DAI from U.K. e-Science programme.
28Example Applications
29Multi-disciplinary Simulations
Wing Models
- Lift Capabilities
- Drag Capabilities
- Responsiveness
Stabilizer Models
Airframe Models
- Deflection capabilities
- Responsiveness
Crew Capabilities - accuracy - perception -
stamina - re-action times - SOPs
Engine Models
- Braking performance
- Steering capabilities
- Traction
- Dampening capabilities
- Thrust performance
- Reverse Thrust performance
- Responsiveness
- Fuel Consumption
Landing Gear Models
30UK e-Diamond Project
Tele-radiology and QC VirtualMammo
Training and Differential Diagnosis Find one
like it
?
Advanced CAD SMF-CAD workstation
Epidemiology SMFcomputed breast density
31Online Access to Scientific Instruments
Advanced Photon Source
wide-area dissemination
desktop VR clients with shared controls
real-time collection
archival storage
tomographic reconstruction
DOE X-ray grand challenge ANL, USC/ISI, NIST,
U.Chicago
32Data Grids forHigh Energy Physics
33DAME
In flight data
Airline
Global Network e.g. SITA
Ground Station
DSS Engine Health Center
Maintenance Centre
Internet, e-mail, pager
Data centre
34The 13.6 TF TeraGrid Computing at 40 Gb/s
35Summary
- The Grid problem resource sharing and
coordinated problem solving in dynamic,
multi-institutional virtual organisations. - Grid architecture emphasises systems problem
- Protocols and services, to facilitate
interoperability and shared infrastructure
services. - Globus Toolkit APIs, SDKs, and tools which
implement Grid protocols and services - Provides basic software infrastructure for suite
of tools addressing the programming problem. - Globus is converging on the OGSA.
- Standards being defined by GGF, consisting of
academic, industry and commercial bodies (more
later).
36An Example OGSA Application
37Grid Services Example Data Mining
Community Registry
Mining Factory
Database Service
BioDB 1
Compute Service Provider
User Application
. . .
. . .
I want to create a personal database containing
data on e.coli metabolism
Database Service
Database Factory
BioDB n
Storage Service Provider
38Grid Services Example Data Mining
Find me a data mining service, and somewhere to
store data
Community Registry
Mining Factory
Database Service
BioDB 1
Compute Service Provider
User Application
. . .
. . .
Database Service
Database Factory
BioDB n
Storage Service Provider
39Grid Services Example Data Mining
Community Registry
Mining Factory
Database Service
GSHs for Mining and Database factories
BioDB 1
Compute Service Provider
User Application
. . .
. . .
Database Service
Database Factory
BioDB n
Storage Service Provider
40Grid Services Example Data Mining
Community Registry
Mining Factory
Database Service
Create a data mining service with initial
lifetime 10
BioDB 1
Compute Service Provider
User Application
. . .
. . .
Create a database with initial lifetime 1000
Database Service
Database Factory
BioDB n
Storage Service Provider
41Grid Services Example Data Mining
Community Registry
Mining Factory
Database Service
Create a data mining service with initial
lifetime 10
BioDB 1
Miner
Compute Service Provider
User Application
. . .
. . .
Create a database with initial lifetime 1000
Database Service
Database Factory
BioDB n
Database
Storage Service Provider
42Grid Services Example Data Mining
Community Registry
Mining Factory
Database Service
Query
BioDB 1
Miner
Compute Service Provider
User Application
. . .
. . .
Query
Database Service
Database Factory
BioDB n
Database
Storage Service Provider
43Grid Services Example Data Mining
Community Registry
Mining Factory
Database Service
Query
BioDB 1
Miner
Keepalive
Compute Service Provider
User Application
. . .
. . .
Query
Database Service
Database Factory
Keepalive
BioDB n
Database
Storage Service Provider
44Grid Services Example Data Mining
Community Registry
Mining Factory
Database Service
BioDB 1
Miner
Keepalive
Compute Service Provider
User Application
. . .
. . .
Results
Database Service
Database Factory
Keepalive
Results
BioDB n
Database
Storage Service Provider
45Grid Services Example Data Mining
Community Registry
Mining Factory
Database Service
BioDB 1
Miner
Compute Service Provider
User Application
. . .
. . .
Database Service
Database Factory
Keepalive
BioDB n
Database
Storage Service Provider
46Grid Services Example Data Mining
Community Registry
Mining Factory
Database Service
BioDB 1
Compute Service Provider
User Application
. . .
. . .
Database Service
Database Factory
Keepalive
BioDB n
Database
Storage Service Provider
47Summary
- The Grid problem resource sharing and
coordinated problem solving in dynamic,
multi-institutional virtual organisations. - Grid architecture emphasises systems problem
- Protocols and services, to facilitate
interoperability and shared infrastructure
services. - Globus Toolkit APIs, SDKs, and tools which
implement Grid protocols and services - Provides basic software infrastructure for suite
of tools addressing the programming problem. - Globus is converging on the OGSA.
- Standards being defined by GGF, consisting of
academic, industry and commercial bodies (more
later).
48Possible Jini/Grid Interaction
49Client/Service Interaction
50Client/Service Interaction
51Jini/GT2 Interaction
- Two interaction scenarios
- Direct heavyweight client
- Intelligent Client!
- Up-front knowledge of usage needed.
- Direct Jini/Grid usage.
- No intermediate broker.
- Indirect lightweight client
- Simple Client.
- Little up-front knowledge NOT needed.
- Indirect Jini/Grid usage.
- Intermediate resource broker.
52Direct Interaction Grid-Jini
Jini Enabled
Jini
Grid
GIS
LUS
GIS/LUS Interface
Service Proxy
Grid Client
Service
53Indirect Interaction Grid-Jini
Jini
Grid
LUS
GIS
Jini Enabled
LUS Interface
Resource Broker
Service Proxy
Grid Client
Service
54Direct Interaction Jini - Grid
Jini
Grid
GIS
LUS
CoG Interface
Jini/CoG Enabled
Grid Service
Client
55Indirect Interaction Jini - Grid
Jini
Grid
LUS
GIS
LUS Interface
Jini/Cog Enabled
Resource Broker
Grid Service
Client
56Interaction with a Jini Service
Find
Publish
Jini Client
Service Registry
Lookup Service
Jini Service
Service Proxy
Bind/Invoke
57Interaction with a Jini Service
Publish
Service Registry
UDDI registry
Jini Service
Find
WS Client
WSDL
Bind/Invoke
58Interaction with a Web Service
Find
Publish
Jini Client
Service Registry
UDDI registry
Lookup Service
Web Service
UDDI proxy
WSDL
Bind/Invoke
59Interaction with a Web Service
Publish
Service Registry
UDDI registry
Web Service
Find
WS Client
WSDL
Bind/Invoke
60Grid Service Interaction
Find
Service Registry
UDDI registry
GS Client
Grid Service
Publish
GS Factory
MDS3
Bind/Invoke
GSH
61Jini and Grid Service Interaction
Service Registry
Publish
Lookup Service
Find
Grid Service
Jini Client
Jini GSH
Bind/Invoke
62Jini and Grid Service Interaction
Service Registry
Publish
Lookup Service
UDDI
Find
Grid Service
Jini Client
UDDI Proxy
WSDL
Bind/Invoke
GSH
63Summary
- Looked at how various clients find services
- Jini client
- WS,
- GS
- Jini.
- WS Client
- Jini
- GS,
- WS.
- With Jini and GS, it is not clear exactly what is
the best way for a client to interact. - Need to consider factories, leases and security
in more depth.
64Overall Summary
- Looked at the main issues in creating an all-Jini
Grid system. - Looked at an example Grid system, its components,
architecture and operation. - Open problems include LUS hierarchy, QoS, user
management, and checkpointing. - Shown different demo programs using various proxy
patterns, sequential and parallel execution on
different services.
65Conclusions
- Integrating Jini and the Grid together is useful
for a number of reasons - Proof of concept integrating two distributed
environments with similar goals but radically
different implementation details that are now
converging with the adoption of WS. - Increasing numbers of Grid and Jini-based
environments and so the need for interaction is
more and more likely. - Issue raised are ongoing research efforts
operating with Globus, Web Services, CORBA
66Further Information
- http//www.dsg.port.ac.uk/mab/
- Email Mark.Baker_at_computer.org
67For More Information
- Globus Project
- www.globus.org
- Grid Forum
- www.gridforum.org
- www.ggf.org
- Books
- Morgan Kaufman)
- www.mkp.com/grids
68For More Information
http//www.wiley.com/WileyCDA/WileyTitle/productCd
-0470853190.html
69Grid Service Resources
- OGSI documents
- www.gridforum.org/ogsi-wg
- OGSA documents
- www.gridforum.org/ogsa-wg
- Globus Toolkit v3 implementation
- www.globus.org
70Acknowledgements