30 分で解る jini tm テクノロジー ~えっ、ドラえもん ? ~

21
30 分分分分 Jini TM 分分分分分分 分分分 分分分分分 ~、 ? 4D Networks, Inc. 分分分分 (CTO)

Upload: francis-horton

Post on 02-Jan-2016

43 views

Category:

Documents


3 download

DESCRIPTION

30 分で解る Jini TM テクノロジー ~えっ、ドラえもん ? ~. 4D Networks, Inc. 大山弘樹 (CTO). Jini の目指すもの. 使いたいときに、使いたい機能を いとも簡単に使える。 環境 使いたいときに、使いたい機能を いとも簡単に使わせる。 枠組み. ドラえもんの 4 次元ポケット. Jini の可能性. デバイスの Plug and Play 家電同士の対話 ( ハード対ハード ) アプリケーションとデバイス ( ハード対ソフト ) - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: 30 分で解る Jini TM  テクノロジー ~えっ、ドラえもん ? ~

30 分で解る JiniTM テクノロジー

~えっ、ドラえもん ? ~

4D Networks, Inc.大山弘樹 (CTO)

Page 2: 30 分で解る Jini TM  テクノロジー ~えっ、ドラえもん ? ~

Jini の目指すもの

使いたいときに、使いたい機能を いとも簡単に使える。 環境

使いたいときに、使いたい機能を いとも簡単に使わせる。 枠組み

ドラえもんの 4次元ポケットドラえもんの 4次元ポケット

Page 3: 30 分で解る Jini TM  テクノロジー ~えっ、ドラえもん ? ~

Jini の可能性

デバイスの Plug and Play 家電同士の対話 ( ハード対ハード ) アプリケーションとデバイス ( ハード対ソ

フト ) アプリケーション同士 ( ソフト対ソフト )

ネットワーク全体をサービスの集合体に ハードのサービス化 ソフトのサービス化

Page 4: 30 分で解る Jini TM  テクノロジー ~えっ、ドラえもん ? ~

Jini の提供するサービス今までのサービスの提供

利用者 1 利用者 2 利用者 3 利用者 n

Service 1 Service 2 Service 3

Service X

Page 5: 30 分で解る Jini TM  テクノロジー ~えっ、ドラえもん ? ~

Jini の提供するサービス

Service A

Service A

Service F

Service EService DService C

Service B

Service X

Jini 連合体 ( フェデレーション )

Page 6: 30 分で解る Jini TM  テクノロジー ~えっ、ドラえもん ? ~

Jini の基礎の前に

Jini は Java2 じゃないと動作しない

立場によっては Java1.1+α でもなんとか。。。 もっと言うと、 Java じゃなくても。。。。

ネットワークは rmi でつながっている 分散環境のインフラを提供する プログラミングモデル ( 作法 ) がある みんなで動かす (^_^)

Page 7: 30 分で解る Jini TM  テクノロジー ~えっ、ドラえもん ? ~

Java RMI

クライアント サーバ

リモート・インタフェイスリモート・インタフェイス

スタブ

クライアント

実装クラスメソッド

スケルトン

Page 8: 30 分で解る Jini TM  テクノロジー ~えっ、ドラえもん ? ~

RMI の基本動作

rmiregistry

クライアント

実装

クライアント

Naming.rebind( 名前 ,Object)

rmi://host:port/ 名前

②Naming.lookup(URL)

SecurityManager +

rmid

実装

Setup

Activatable.register()

Naming.rebind()

URL file://location

ActivationDesc

Naming.lookup(URL)

Activatable

UnicastRemoteObject

Page 9: 30 分で解る Jini TM  テクノロジー ~えっ、ドラえもん ? ~

Jini の基本動作

サービスの提供Lookup Service

クライアント サービスプロバイダ

サービスの登録 ( 提供 )

代理人

Page 10: 30 分で解る Jini TM  テクノロジー ~えっ、ドラえもん ? ~

Jini の基本動作 2

サービスの取得Lookup Service

サービスプロバイダ

サービスの取得

代理人

代理人

Page 11: 30 分で解る Jini TM  テクノロジー ~えっ、ドラえもん ? ~

Jini の基本動作 3

サービスの行使Lookup Service

クライアント サービスプロバイダ

サービスの行使

代理人 サービス

Page 12: 30 分で解る Jini TM  テクノロジー ~えっ、ドラえもん ? ~

Jini のアーキテクチャ

Page 13: 30 分で解る Jini TM  テクノロジー ~えっ、ドラえもん ? ~

Jini の基礎

JiniTM discovery & joinJiniTM distributed leaseJiniTM distributed eventJiniTM entryJiniTM lookupJiniTM transactionJavaSpacesTM

Page 14: 30 分で解る Jini TM  テクノロジー ~えっ、ドラえもん ? ~

ドラえもん的 Jini technology

ドラえもんの道具 どこでもドア

分子直列化電送サービス スモールライト

一時的分子縮小サービス たけコプター

反重力及び慣性コントロールサービス

Jini は 4 次元ポケットを提供する技術

Page 15: 30 分で解る Jini TM  テクノロジー ~えっ、ドラえもん ? ~

ドラえもん的 Discovery

Discovery Multicast Discovery

どこにいるか解らないドラえもんを泣いて呼び出す

Unicast Discovery ほぼ、ドラえもんはのび太の部屋の押入にい

るので、そこまで行く

Page 16: 30 分で解る Jini TM  テクノロジー ~えっ、ドラえもん ? ~

ドラえもん的 LookupService

Join サービスを LookupService に登録する

未来デパートから道具を購入する 未来デパートは ASP 事業者でいろいろなサービス ( の利

用権 ) を売っている

ServiceRegistrar LookupService への窓口

4 次元ポケットのインターフェース ドラえもんの手 (Service Template ) にほしい道

具を書いて ( Entry ) 、ポケットの中を探して ( lookup) 使う

Page 17: 30 分で解る Jini TM  テクノロジー ~えっ、ドラえもん ? ~

ドラえもん的 Distributes Lease

Lease : 賃貸契約 ネットワーク上のリソースは全てリースを

もつ どこでもドアを使いっぱなしにしたり、置き忘れてくると意図していないところに出てしまう

リースは延長契約できる スモールライトを使用中に、のび太くんのおな

かの中でスモールライトのリースが切れると、のび太君は間違いなく死んでしまう

Page 18: 30 分で解る Jini TM  テクノロジー ~えっ、ドラえもん ? ~

ドラえもん的 Distributed Event

分散イベント ネットワーク的に離れたところでもイベ

ントの確実な伝搬が行える ネットワークの状態でイベント順が変

わってもシーケンス番号を持っている サービスを使っているのび太君がむちゃくちゃな操作をしてドラえもんに文句を言ってものび太君が悪いと一括できる

Page 19: 30 分で解る Jini TM  テクノロジー ~えっ、ドラえもん ? ~

ドラえもん的 Transaction

Jini はトランザクション処理のフレームワークを提供している 2 フェーズコミットのフレームワーク

どこでもドアを使っている最中に分子の転送ホストがネットワークの異常を検知し転送処理をロールバック処理した

この機構がないと、別な場所に体が半分だけ行ってしまい半人前になってしまう

Page 20: 30 分で解る Jini TM  テクノロジー ~えっ、ドラえもん ? ~

Jini へ参加するプログラムclass Sample implements DiscoveryListener { private ServiceRegstrar[] sRegistrar; public Sample(){ LookupDiscovery lookupDisc = new LookupDiscovery(LookupDiscovery.ALL_GROUP); lookupDisc.addDiscoveryListener(this) WAIT!! Entry[] attr = new Entry[] { new ServiceInfo(…..)} ServiceItem sItem = new ServiceItem(null, OBJECT, attr); for( i = 0; sRegistrar.length 回; i++){ ServiceRegistrar r = sRegistrar[i]; ServiceRegistration regt = r.register(sItem,leaseTime); Lease lease = regt.getLease(); new LeaseRenewer(lease).start(); } } public void discovered(DiscoveryEvent e){ sRegistrarr = e.getRegistrars(); } public void discarded(DiscoveryEvent e){ }}

Page 21: 30 分で解る Jini TM  テクノロジー ~えっ、ドラえもん ? ~

リソース

www.jini.orgJava.sun.com/jiniJava.sun.com/docs/books/jini/

The Jini Specification

www.java-conf.gr.jp www.iaj.or.jp Jini BOF(www.java-conf.gr.jp/wg_bof/jini/