39
Marc Hamilton Director of Technology Global Education and Research Sun Microsystems, Inc University of Tokyo Java Class September 22-26, 2003 JXTA P2P Coding

University of Tokyo Java Class September 22-26, 2003 JXTA ... · Marc Hamilton Director of Technology Global Education and Research Sun Microsystems, Inc University of Tokyo Java

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: University of Tokyo Java Class September 22-26, 2003 JXTA ... · Marc Hamilton Director of Technology Global Education and Research Sun Microsystems, Inc University of Tokyo Java

Marc Hamilton

Director of Technology

Global Education and Research

Sun Microsystems, Inc

University of Tokyo Java Class

September 22-26, 2003

JXTA P2P Coding

Page 2: University of Tokyo Java Class September 22-26, 2003 JXTA ... · Marc Hamilton Director of Technology Global Education and Research Sun Microsystems, Inc University of Tokyo Java

� Learn about project JXTA technology� What is project JXTA technology? � What problems does project JXTA

technology address� Get an update on project JXTA technology� How can you participate in project

JXTA technology

Goal of Presentation

Page 3: University of Tokyo Java Class September 22-26, 2003 JXTA ... · Marc Hamilton Director of Technology Global Education and Research Sun Microsystems, Inc University of Tokyo Java

� Understand project JXTA technologySee the benefits of Peer-to-Peer computing

Get an update on the latest project JXTA technology

� Feel the momentum behind project JXTA technology

Learning Objectives

Page 4: University of Tokyo Java Class September 22-26, 2003 JXTA ... · Marc Hamilton Director of Technology Global Education and Research Sun Microsystems, Inc University of Tokyo Java

Project JXTA Technology Technical Goal

Build a generic, secure, peer-to-peer virtual network as the foundation for the next generation of internet applications

jux.ta.posev.tr. jux.ta.posed, jux.ta.posing, jux.ta.pos.esTo place side by side, especially for comparison or contrast

Page 5: University of Tokyo Java Class September 22-26, 2003 JXTA ... · Marc Hamilton Director of Technology Global Education and Research Sun Microsystems, Inc University of Tokyo Java

Presentation Outline

� Benefits of Peer-to-Peer networking� What is project JXTA Technology� Project JXTA technology momentum� Project JXTA network abstractions� Project JXTA technology

implementations update� How to participate in project

JXTA technology

Page 6: University of Tokyo Java Class September 22-26, 2003 JXTA ... · Marc Hamilton Director of Technology Global Education and Research Sun Microsystems, Inc University of Tokyo Java

�Project JXTA will expand the accessibility of the Web and the depth of the content that�s available.�

�Bill Joy

Page 7: University of Tokyo Java Class September 22-26, 2003 JXTA ... · Marc Hamilton Director of Technology Global Education and Research Sun Microsystems, Inc University of Tokyo Java

Why Peer-to-Peer Computing

� Build complex behaviors by juxtaposing elementary ones

� Massive scalability� Resilience � Maximize localize peer interactions� Self-organized network domains � Decentralized and ad hoc resource discovery � Increase performance as more

peers participate� Edge computing� Share infrastructure cost

Page 8: University of Tokyo Java Class September 22-26, 2003 JXTA ... · Marc Hamilton Director of Technology Global Education and Research Sun Microsystems, Inc University of Tokyo Java

Presentation Outline

� Benefits of Peer-to-Peer networking� What is project JXTA technology� Project JXTA technology momentum� Project JXTA network abstractions� Project JXTA technology

implementations update� How to participate in project

JXTA technology

Page 9: University of Tokyo Java Class September 22-26, 2003 JXTA ... · Marc Hamilton Director of Technology Global Education and Research Sun Microsystems, Inc University of Tokyo Java

Network Organization Is Driven by Internet �Core� Protocols

TCP/IP

HTTP

JXTA

Client-Server

Web-Based

Peer-to-Peer

Servers

Clients

Servers

Clients

InternetPDA Cell

Phone

ServerWorkstation

Kiosk Laptop

Define the minimum required network semantic (network DNA)

Page 10: University of Tokyo Java Class September 22-26, 2003 JXTA ... · Marc Hamilton Director of Technology Global Education and Research Sun Microsystems, Inc University of Tokyo Java

What Is Project JXTA ?

� An open set of XML protocols for developing peer-to-peer applications

Focus on network organization and connectivity

Service agnostic technology (Web services, ORB, etc.)

A virtual network overlay

Defines mechanisms, not policies

Open source project: www.jxta.org

Page 11: University of Tokyo Java Class September 22-26, 2003 JXTA ... · Marc Hamilton Director of Technology Global Education and Research Sun Microsystems, Inc University of Tokyo Java

Project JXTA Technology Objectives

� InteroperabilityAcross different P2P systems and communities

� Platform independenceProgramming languages, system platforms, and networking platforms

� UbiquityEvery device with a digital heartbeat

� Security and MonitoringFor commercial and enterprise deployment

Page 12: University of Tokyo Java Class September 22-26, 2003 JXTA ... · Marc Hamilton Director of Technology Global Education and Research Sun Microsystems, Inc University of Tokyo Java

Presentation Outline

� Benefits of Peer-to-Peer networking� What is project JXTA technology� Project JXTA technology momentum� Project JXTA network abstractions� Project JXTA technology

implementations update� How to participate in project

JXTA technology

Page 13: University of Tokyo Java Class September 22-26, 2003 JXTA ... · Marc Hamilton Director of Technology Global Education and Research Sun Microsystems, Inc University of Tokyo Java

Dow nl oads

Communi t y

Pr oject s

Apr 01 Apr 02 Apr 03

1,000,0

00

100,00

0

Regi st er ed

M ember s

5,30

050,00

03,50

01

5

2

5Book s1

6

500,00

0

7,50

0

4

0

14,00

0

9

0

www.jxta.org

JXTA Technology Momentum

Page 14: University of Tokyo Java Class September 22-26, 2003 JXTA ... · Marc Hamilton Director of Technology Global Education and Research Sun Microsystems, Inc University of Tokyo Java

MyJXTA2 and PicShare

JXTA Technology Samples Applications

Page 15: University of Tokyo Java Class September 22-26, 2003 JXTA ... · Marc Hamilton Director of Technology Global Education and Research Sun Microsystems, Inc University of Tokyo Java

JXTA Shell modeled after the Unix Shell

Interactive commands executed

within the JXTA network

JXTA> whoami

JXTA> peers

JXTA> groups | grep SUNW

JXTA> join SUNW

JXTA> peers | wc

JXTA> talk tra

Project JXTA Technology: Shell

Page 16: University of Tokyo Java Class September 22-26, 2003 JXTA ... · Marc Hamilton Director of Technology Global Education and Research Sun Microsystems, Inc University of Tokyo Java

JXTA Commercial Applications

Momentum 1.0 by InView Software

Page 17: University of Tokyo Java Class September 22-26, 2003 JXTA ... · Marc Hamilton Director of Technology Global Education and Research Sun Microsystems, Inc University of Tokyo Java

JXTA Commercial Applications

VistaPortal

Page 18: University of Tokyo Java Class September 22-26, 2003 JXTA ... · Marc Hamilton Director of Technology Global Education and Research Sun Microsystems, Inc University of Tokyo Java

JXTA on J2ME� Wireless Devices

P2P M essagi ng

Gr oup and 1:1

P2P

Col l abor at i on

MIDP 1.0

Page 19: University of Tokyo Java Class September 22-26, 2003 JXTA ... · Marc Hamilton Director of Technology Global Education and Research Sun Microsystems, Inc University of Tokyo Java

JXTA Virtual

Network JXTA-J2SE (PC, Servers)

JXTA-C

(Sensors, RFID)

JXTA-J2ME

(Phones, PDA)

Everything Connected to the Network!

Page 20: University of Tokyo Java Class September 22-26, 2003 JXTA ... · Marc Hamilton Director of Technology Global Education and Research Sun Microsystems, Inc University of Tokyo Java

Presentation Outline

� Benefits of Peer-to-Peer networking� What is project JXTA technology� Project JXTA technology momentum� Project JXTA network abstractions� Project JXTA technology

implementations update� How to participate in project JXTA

Page 21: University of Tokyo Java Class September 22-26, 2003 JXTA ... · Marc Hamilton Director of Technology Global Education and Research Sun Microsystems, Inc University of Tokyo Java

JXTA Virtual Network Abstractions

� Virtual addressing (dynamic mapping between virtual and physical network)

� Advertisements as platform-neutral (XML) network resource descriptors

� Decentralized resource discovery (rendezvous network)

� Ad doc peergroups (virtual secure domains)� Pipes (virtual communication channels)

Page 22: University of Tokyo Java Class September 22-26, 2003 JXTA ... · Marc Hamilton Director of Technology Global Education and Research Sun Microsystems, Inc University of Tokyo Java

Fi r ew al

l

N A

T

Vi r t ual

TCP/ I

P

Physical

NetworkHTTP

Pee

JXTA Virtual Network

PeePee

PeePee

Pee

Pee Pee

Virtual

Network

Page 23: University of Tokyo Java Class September 22-26, 2003 JXTA ... · Marc Hamilton Director of Technology Global Education and Research Sun Microsystems, Inc University of Tokyo Java

JXTA Advertisements

� Language-neutral meta-data resource descriptors� Can be used to describe virtually anything

(data, code, classes, JIT code, Web service, java object, etc.)

� Developers can create their own advertisements� Peers publish, cache and discover advertisements� Every advertisement is assigned a lifetime

(self-healing resource presence)

Page 24: University of Tokyo Java Class September 22-26, 2003 JXTA ... · Marc Hamilton Director of Technology Global Education and Research Sun Microsystems, Inc University of Tokyo Java

Relay

RendezVous

Edge

Not All Peers Are Equals

� Edge PeerPublish, discover share resources and communicate)

� Relay Peer (connectivity network)Store and forward messages across NAT and Firewall domainsVirtual router (logical multicast)Landmark routing access point

� Rendezvous Peer (advertisement discovery network) Index edge peer advertisementsRoute discovery queries

Edge

Edge

Edge

EdgeEdgeEdgeEdge

EdgeEdge

Edge

Edge

Edge

EdgeEdge

Edge

RendezVous

RendezVous

Relay

RendezVous

Relay

Page 25: University of Tokyo Java Class September 22-26, 2003 JXTA ... · Marc Hamilton Director of Technology Global Education and Research Sun Microsystems, Inc University of Tokyo Java

Decentralized RendezVous Discovery

� Route queries within RDV network (no centralized registry mandated)

� Loosely-consistent Distributed Hash Table (DHT) to index advertisements (log(n))

� Replicate indeces in the proximity of the target RDV� Rendezvous walkers to garbage collect inconsistent indeces� Provide a default RDV walker policy, but walkers

are pluggable!� Ad doc RDV network organization and failover

Page 26: University of Tokyo Java Class September 22-26, 2003 JXTA ... · Marc Hamilton Director of Technology Global Education and Research Sun Microsystems, Inc University of Tokyo Java

1) E1 publ i sh

H( adv 1

)

-

1

+1

2) E2 sear ch Adv 1

( Consi st ent RDV v i ew )

Adv

1

H( adv 1

)

RDV

3) E2 sear ch Adv 1

( Shi f t ( +1,-1) RDV

H( adv 1

)

E

1

4) E2 sear ch Adv 1

( L i m i t ed-Range Wal k er )

E

2

H( adv 1

)

U

PDow n

RendezVous Network Discovery

Adv

1

Adv 1 Adv

1

E

2

E

1

E E

E

2

RDV1

RDV2

RDV3

RDV4

RDV5

RDV1

RDV2

RDV3

RDV4

RDV5

RDV3RDV2

RDV5

RDV4

RDV2 RDV3 RDV4

RDV5

RDV6

RDV7

RDV8

RDV

Page 27: University of Tokyo Java Class September 22-26, 2003 JXTA ... · Marc Hamilton Director of Technology Global Education and Research Sun Microsystems, Inc University of Tokyo Java

Virtual PeerGroup Domains

Self-Organized Peergroups

Fi r ew al

l

N A

T

Physical

Network

Pee

PeePee

PeePee

Pee

Pee Pee

Virtual

Network

Page 28: University of Tokyo Java Class September 22-26, 2003 JXTA ... · Marc Hamilton Director of Technology Global Education and Research Sun Microsystems, Inc University of Tokyo Java

Peergroups

� Define by developers, NOT ONLY by network administrators

� Enable self-organization of peers� Pluggable membership and access

control policy� Create secure and protected domains

(virtual firewalls)� Scope peer interactions (discovery)� Create an identity for peers sharing a

�common� interest (baseball, storage or cpu-sharing peer groups)

Page 29: University of Tokyo Java Class September 22-26, 2003 JXTA ... · Marc Hamilton Director of Technology Global Education and Research Sun Microsystems, Inc University of Tokyo Java

Pipes

� Virtual communication channels (traverse NAT and firewall)

� Dynamic binding of pipe ends� Can be used to transfer virtually anything (data,

code, binary, XML, etc.)� Core pipe services

Unicast (asynchronous and uni-directional)

Propagate (virtual multicast within peergroup)� Can be extended (reliable and secure pipes)

Page 30: University of Tokyo Java Class September 22-26, 2003 JXTA ... · Marc Hamilton Director of Technology Global Education and Research Sun Microsystems, Inc University of Tokyo Java

� Peergroup policies (membership, routing, searching, indexing, etc.)

� Policy represented by advertisements (Module advertisements)

� Loadable policies (mutation and learning)

Peer Gr oup

Peer gr oup

Pol i ci es

Peer Gr oup

Adv er t i semen

Peer Gr oup

J oi n ( 2)

Conf i gur e/ Load Pol i ci es

( 1)

N ew

Peergroups Enable Network Diversity

Page 31: University of Tokyo Java Class September 22-26, 2003 JXTA ... · Marc Hamilton Director of Technology Global Education and Research Sun Microsystems, Inc University of Tokyo Java

Sampl e Appl i cat i ons

Sample Ser v i ces

J XTA

Appl i cat i ons

J XTA

Ser v i ce

s

J XTA

Cor e

Peer Peer Peer

Peer Secur i t

Any Connect ed Dev i ce

Peer

Rout i ng I ndex ing Discov er M ember shi

I nst an t Fi l e Resour ce

Col l abor at i v e Auct i ons

JXTA Software Architecture

Page 32: University of Tokyo Java Class September 22-26, 2003 JXTA ... · Marc Hamilton Director of Technology Global Education and Research Sun Microsystems, Inc University of Tokyo Java

Presentation Outline

� Benefits of Peer-to-Peer networking� What is project JXTA� Project JXTA technology momentum� Project JXTA network abstractions� Project JXTA implementations update� How to participate in project JXTA

Page 33: University of Tokyo Java Class September 22-26, 2003 JXTA ... · Marc Hamilton Director of Technology Global Education and Research Sun Microsystems, Inc University of Tokyo Java

JXTA Implementations Status

� J2SE� Reference ImplementationFull implementation of JXTA 1.0-2.0 protocols

Edge, relay and rendezvous functionality

APIs and functionality frozen since Nov�02

Just released JXTA 2.1 for JavaOne!• New metering and monitoring framework

• Reliable JXTA socket

• New Bi-directional pipes

• Access peergroup service

• Relay and rendezvous dynamic failover

Page 34: University of Tokyo Java Class September 22-26, 2003 JXTA ... · Marc Hamilton Director of Technology Global Education and Research Sun Microsystems, Inc University of Tokyo Java

JXTA Implementations Status (2)

� JXTA for J2ME� technologyEdge Peer JXTA 2.0 functionality only

MIDP�1.0 compliant� JXTA-C

Edge Peer JXTA 1.0 functionality only

Runs on Linux, Solaris� OE, and Windows� Community effort

Python, Perl

.Net

Page 35: University of Tokyo Java Class September 22-26, 2003 JXTA ... · Marc Hamilton Director of Technology Global Education and Research Sun Microsystems, Inc University of Tokyo Java

What�s in It for Developers?

� Open Source Code and License friendly!� Community of Open Source Developers� Opportunity to �Steer the Boat�� A �pluggable� infrastructure that provide

a foundation for P2P applications� Quick time to market for new products

and services

Page 36: University of Tokyo Java Class September 22-26, 2003 JXTA ... · Marc Hamilton Director of Technology Global Education and Research Sun Microsystems, Inc University of Tokyo Java

Looking Ahead

� Better performance and scalability� Continue improving Quality

Distributed Testing Framework (www.jdf.org)� Security

crypto ID

advertisement signing

QoS pipes� Better integration with Web services (JXTA

socket, JXTA-SOAP, JXTA-RPC)� Specification standardization through public

organization (IRTF)

Page 37: University of Tokyo Java Class September 22-26, 2003 JXTA ... · Marc Hamilton Director of Technology Global Education and Research Sun Microsystems, Inc University of Tokyo Java

Presentation Outline

� Benefits of Peer-to-Peer networking� What is project JXTA� Project JXTA technology momentum� Project JXTA network abstractions� Project JXTA implementation update� How to participate in project JXTA

Page 38: University of Tokyo Java Class September 22-26, 2003 JXTA ... · Marc Hamilton Director of Technology Global Education and Research Sun Microsystems, Inc University of Tokyo Java

JXTA Community (www.jxta.org)

Pl ease joi n our ef for t s!

� >1,000,000 downloads

� 90 projects

� 14,000 members

� Active discussion groups

� Community actively contributing and integrating technology

Page 39: University of Tokyo Java Class September 22-26, 2003 JXTA ... · Marc Hamilton Director of Technology Global Education and Research Sun Microsystems, Inc University of Tokyo Java

Marc Hamilton

[email protected]

Sun Microsystems, Inc.