When Things Talk To Things:
Services Serving Services
Dr.rer.nat. Hellmuth Broda
Chief Technologist Europe,
Middle East and Africa
Member, Sun Vision Council
Sun Microsystems Computers
Hellmuth.Broda@Swiss.Sun.COM

Agenda
What is Network Computing
Evolution of HPC
Internet and WEB
Communication strategies
JXTA
Jini

What is Network Computing?

Waves of the Internet

Platform Evolution

Platform Evolution

Platform Evolution

Platform Evolution

Programming Environment

Thesis

Prediction

At the Platform

End of the Dark Ages?

The Renaissance: HPC Services
on Superinternet Platforms

Interconnect BW Growth

Languages and Parallelism

Usage Model

Internet >> Web

Communication Strategies

Classical Client/Server

Peer to Peer

Project JXTA:
The Expanded Web Challenges Current Access Models

Project JXTA’s Technology Enables Users To…
Search the ENTIRE Web—and all its connected devices—for information or resources (deeper Web)
Share compute services, files, music, etc. with anyone, regardless where they’re located or what type of device they’re using
(pervasive networking)
Store files and data anywhere on the network, not just to local hard drives (distributed networking

Project JXTA Strategy
Incubate the project
Technology
Generalize the peer-to-peer (P2P) problem
Solve key technical challenges (silos, security, scalability)
Take a system view (ala UNIXŇ)
Small, clean, simple
JavaÔ and non-Java support
Collaborate early
Business relationships to jump-start the market
Open Source (sponsor/build the community)

JXTA Core Building Blocks
Peer Groups
Manages identity of peers and
peer groups
Join, Leave, Create
Peer Pipes
Send any content (code, data, etc.)
to peers
Messages in XML format
Secure pipes supported
Peer Monitoring
Check peers’ status remotely, control remote peer behavior
Meter peers’ usage, set usage or bandwidth limits
Security
Pluggable architecture supports a variety of standard security solutions
Control group membership
Encrypt data sent over pipes

JXTA Services
Reusable, optional services used by P2P applications
Built on JXTA Core
Examples
Distributed search
Domain bridges (Web-P2P, Gnutella-JXTA)
Real-time data streaming
Reliable file transfers
Real-time language translation
Security extensions (finger print ID)
Electronic payments

JXTA Applications
Consumer file sharing (like Gnutella)
Distributed processing (like SETI@home)
Distributed data storage
Communications (like Instant Messenger)
“HPC” on mobile phone “clusters”?

Big Questions
How rich does the set of network-supported services become?
How can we interoperate without a PhD in networking?

The Answer
Everything becomes a Network Service!

"Jini technology,"
Jini technology, based on Java technology,
enables digital services to simply connect together.

What is Jini?
Software layer (48kB) to
describe services to the net
Runs on all Java Virtual Machines (JVM) on any device (from mainframe to toaster)
Only the Front-End of the service is transmitted---Distributed Computing
End of all Protocols as we know them
Resilience: does not assume that networks always work

Jini Technology Enables You to Simply Connect
Instant On
Plug it in and it just works, no fuss, hassle free
Impromptu community
Create your personal community of devices and services — at home, in the office, or on the road — and interact with other communities quickly and easily
Resilient
Your Jini community maintains itself & adapts to change
Your Jini community is always available
The Service Age allows the system to be more tolerant and redundant
Special delivery
Services are available on demand

The Philosophy Behind Jini Technology
Simplicity:  Less is more
Small code base
No complicated OS
Everything is an object
Use RMI to extend objects to remote resources
Self-healing networks
System restores state after failures
Resilience
Community
Easy access to Jini technology
Anyone can join the Jini community

Jini Technology Principles
Everything is an object
Distributed system is just a
distributed program
Java Class Hierarchy describes devices/services
Mobile Code via Remote Method Invocation
Leasing and distributed garbage collection provides self-healing
Individual devices/services can be simple, don’t require a Java Virtual Machine
Services available on demand

Jini Technology Infrastructure:
Discovery & Join

Jini Technology Infrastructure: Lookup Service

Jini Technology Infrastructure:  Moving Code

Jini Technology Programming Model: Leasing

Jini Technology Programming Model:  Transactions

Jini Technology Programming Model:  Distributed Events

Jini Technology Infrastructure:  Distributed Security

Jini Technology Services:
JavaSpaces Technology

Jini™, how does it work?

Jini™, how does it work?

Customers

Quotes on Jini
“We've taken the time to make it simple”
- Bill Joy