2003s タームプロジェクト「くのいち」...

27
2003s タタタタタタタタタ タタタタタ 「」 タタタタタタタタタタタタタタタタタタタタタタタタタタタタタタタタタタタ ~~ B3 gorou

Upload: jakeem-wolfe

Post on 15-Mar-2016

44 views

Category:

Documents


9 download

DESCRIPTION

2003s タームプロジェクト「くのいち」 ~階層性を持つマルチキャストを利用したディレクトリサービスの設計と実装~. B3 gorou. はじめに. コンピューティング環境のユビキタス化が進行 今までネットワークに繋がっていなかった物がネットワークに繋がる 情報家電 ネットワーク上のサービスが増加 携帯性を持ったコンピューターが様々な場所からサービスにアクセスする 携帯電話、ノートパソコン 、PDA ネットワーク上のサービスの利用方法の変化が起きる サービスを管理するディレクトリサービス - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: 2003s タームプロジェクト「くのいち」 ~階層性を持つマルチキャストを利用したディレクトリサービスの設計と実装~

2003sタームプロジェクト「くのいち」~階層性を持つマルチキャストを利用したディレクトリサービスの設計と実装~

B3 gorou

Page 2: 2003s タームプロジェクト「くのいち」 ~階層性を持つマルチキャストを利用したディレクトリサービスの設計と実装~

はじめに コンピューティング環境のユビキタス化が進行

今までネットワークに繋がっていなかった物がネットワークに繋がる 情報家電 ネットワーク上のサービスが増加

携帯性を持ったコンピューターが様々な場所からサービスにアクセスする 携帯電話、ノートパソコン、 PDA ネットワーク上のサービスの利用方法の変化が起きる

サービスを管理するディレクトリサービス ユビキタスコンピューティング環境により適したディレクトリサービスを提案できないだろうか

Page 3: 2003s タームプロジェクト「くのいち」 ~階層性を持つマルチキャストを利用したディレクトリサービスの設計と実装~

問題意識 現状のディレクトリサービス

改良すべき点はあるであろうか おおきく二種類のディレクトリサービスに分類可能

中央集権型ディレクトリサービス マルチキャストを用いた分散型ディレクトリサービス

Page 4: 2003s タームプロジェクト「くのいち」 ~階層性を持つマルチキャストを利用したディレクトリサービスの設計と実装~

中央集権型ディレクトリサービス 例

LDAP 、 X500、 ActiveDirecory 特徴

ネットワーク上のサービス情報は特定のマシンに集約される 問題点

ユーザーはサービスが保存されるサーバーの場所を知らなければならない 既存のコンピューティング環境では問題は無いかもしれない コンピューターが複数のネットワークを移動するユビキタスコンピューティング環境には不適切

サービスが突然停止した時など情報の整合性が損なわれる サービス情報にリアルタイム性がない

Page 5: 2003s タームプロジェクト「くのいち」 ~階層性を持つマルチキャストを利用したディレクトリサービスの設計と実装~

マルチキャストを用いた分散型ディレクトリサービス

例 UPnP,Rendezvous

特徴 マルチキャストを使ったサービス検索

中央にサービスを保存するサーバーを置く必要がない サービス自身による定期的なアナウンシング 中央集権型に存在した問題を解決

問題点 ネットワークを超えるサービスの検索が不可能

マルチキャストは自分のいるネットワークにのみ投げられる

Rendezvous対応プリンターRendezvous対応パソコン

Rendezvous対応パソコン実線:クエリー点線:返答IP の 要求IP の 要求

133.27.xxx.200

133.27.xxx.125

133.27.xxx.125133.27.xxx.200

図Rendezvousでのサービスの IP検索

Page 6: 2003s タームプロジェクト「くのいち」 ~階層性を持つマルチキャストを利用したディレクトリサービスの設計と実装~

ユビキタスコンピューティング環境とディレクトリサービス ユビキタス環境

ユーザは今自分が居る場所などを気にせずにいつでも何処でもコンピューターを扱える環境 現状のディレクトリサービス

ネットワークを越えての検索が出来ない 自分は二つのネットワークにアクセス権を持っているのに一つのネットワークを使用しているともう片方のサービスを知る事が制限されてしまう 例:オミクロン 208のプリンター

CNSに接続していたら研究室にいても検索できない

Page 7: 2003s タームプロジェクト「くのいち」 ~階層性を持つマルチキャストを利用したディレクトリサービスの設計と実装~

本タームプロジェクト 目的

ユビキタス環境に適したディレクトリサービスの設計と実装 自分がアクセス出来る権利を有したネットワークに存在するサービスの情報を何処からでも参照可能にする

くのいちシステムの提案 ユビキタス環境に適したディレクトリサービス 自分がアクセス出来る権利を有したネットワークに存在すうrさービスの情報が何処からでも参照可能になる 名前の由来

僕にディレクトリサービスへの興味を抱かせてくれたろ Todd hodesさんの SDSという研究が Ninjaという音楽共有の研究に使われていたから

Page 8: 2003s タームプロジェクト「くのいち」 ~階層性を持つマルチキャストを利用したディレクトリサービスの設計と実装~

シナリオ A君がCNSに繋がったメディアセンターで自分のくのいちシステム対応のラップトップを用いてネットサーフィンしている時に面白い資料を見つけた。忘れないうちに印刷しようと思い、自分のラップトップに表示された自分が利用可能なプリンターを見ると、CNSで利用可能なプリンターと共にHTNETで利用できるプリンターの一覧が表示された。 CNSのプリンターでプリントしようとしたが、自分の居る階のプリンターは混雑している為、研究室のプリンターでプリントアウトをしようとした。ふと目を画面に戻すと研究室内のプリンターの電源が落ちている。何事かと思い先輩に電話をしてみると、誤ってプリンターの電源を落としてしまったと教えられた。プリントアウトした気になって研究室に戻るという過ちを犯さずにすんだ彼はくのいちシステムに感謝した

Page 9: 2003s タームプロジェクト「くのいち」 ~階層性を持つマルチキャストを利用したディレクトリサービスの設計と実装~

本システムの構成 くのいちクライアント

ネットワーク内のサービス情報をマルチキャストを利用して取得し、くのいちサーバへと送信するクライアント。ネットワークにアクセスするコンピューターに内臓される サービス情報 (Ipaddressやサービスの名前、内容など )

他のネットワークのサービス情報を手に入れるためにくのいちサーバへクエリを送信する クエリ (サービス検索に使われるメッセージ。例 (_http._tcp.local.))

CNSくのいちクライアントS情報クエリS情報クエリ

CNSネットワークサービス

S情報 サービス情報

くのいちサーバS情報 S情報 S情報 S情報 S情報 S情報

HTNETくのいちクライアントS情報クエリS情報クエリ

HTNET

クエリ

Page 10: 2003s タームプロジェクト「くのいち」 ~階層性を持つマルチキャストを利用したディレクトリサービスの設計と実装~

本システムの構成 くのいちサーバ

各ネットワークに必ず一つ存在 中央集権型ディレクトリサービスの様な問題を防ぐ為

ネットワーク内でマルチキャストを行う事により自身を通知 くのいちクライアントと通信を行う

CNSくのいちクライアントS情報 S情報

S情報クエリS情報クエリ

HENETくのいちサーバ

HTNETくのいちクライアントS情報クエリS情報クエリ

HTNETネットワークサービス

S情報 サービス情報CNS

S情報 S情報CNSくのいちサーバ

SFCくのいちサーバ

IPアドレスをマルチキャスト IPアドレスをマルチキャスト

S情報 S情報S情報 S情報

Page 11: 2003s タームプロジェクト「くのいち」 ~階層性を持つマルチキャストを利用したディレクトリサービスの設計と実装~

本システムの概要 サービス情報の集約

各ネットワーク上のサービス情報を一つのサーバーに集約 くのいちサーバにを利用する事でネッワークを超えたサービス検索が可能になる ユーザーのアクセス権を考慮してサービス検索に制限を掛ける

HENETにアクセス権を持たない人が HTNETの情報を見れたら不味い!

CNSくのいちクライアントS情報 S情報

S情報クエリS情報クエリ

HENETくのいちサーバ

HTNETくのいちクライアントS情報クエリS情報クエリ

HTNETネットワークサービス S情報 サービス情報

CNS

S情報 S情報CNSくのいちサーバ

SFCくのいちサーバ

IPアドレスをマルチキャスト IPアドレスをマルチキャスト

S情報 S情報S情報 S情報

Page 12: 2003s タームプロジェクト「くのいち」 ~階層性を持つマルチキャストを利用したディレクトリサービスの設計と実装~

本システムの概要 3 サーバーに階層性を持たせる

意味的、距離的に近いと思われるサーバーを繋げる より広いサービス検索が可能になる

日吉からCNSのサービスが検索可能になる

CNSくのいちクライアント

HENETくのいちサーバ

HTNETくのいちクライアント

CNSくのいちサーバ

SFCくのいちサーバ 矢上くのいちサーバ日吉くのいちサーバ

慶應くのいちサーバ

Page 13: 2003s タームプロジェクト「くのいち」 ~階層性を持つマルチキャストを利用したディレクトリサービスの設計と実装~

本システムの概要4 ハッシュ関数の利用

階層上部のサーバーに大量のデータが保存されディスクを圧迫する可能性が高い ハッシュ関数をかけて保存する事によりサイズ圧縮 クエリにもハッシュ関数をかける事により検索が可能に 一致した場合はサービスの送信元に再送要求をしてそれをクエリ発信元に渡す

CNSくのいちクライアントHS情 HS情

S情報クエリS情報クエリ

HENETくのいちサーバ

HTNETくのいちクライアントS情報クエリS情報クエリ

HTNETネットワークサービス HS情 ハッシュ関数がかけられたサービス情報

CNS

HS情 HS情CNSくのいちサーバ

SFCくのいちサーバ HS情 HS情HS情 HS情

Hクエハッシュ (クエリ )

Page 14: 2003s タームプロジェクト「くのいち」 ~階層性を持つマルチキャストを利用したディレクトリサービスの設計と実装~

実装 実装環境&言語

FreeBSD4.8 C言語

システム くのいちサーバー

くのいちクライアントと UDPで通信 ハッシュ関数としてMD5を利用

くのいちクライアント C言語で記述された簡易RendezvousであるmDNSを改造した Rendezvousの動作とは別にくのいちサーバ-とUDPで通信 クエリー (_http._tcp.local.)にハッシュ関数をかけて送信する

サービス情報 mDNSの画面に表示される type,IP,nameからなる文字列

(例 )name=genta’s Web Site._http_.tcp.local*port=80*IP=133….

Page 15: 2003s タームプロジェクト「くのいち」 ~階層性を持つマルチキャストを利用したディレクトリサービスの設計と実装~

まとめと今後の課題 まとめ

満足のいかない実装 テーマ決めが遅すぎた

もっと時間をかけて考えてみたい 今後の課題

ハッシュ関数をかける事が本当に有効かを調べる 迂回せずに自分がサービス情報を知りたいネットワークにあるコンピューターへアクセスする事も出来るが、果たしてそれよりも便利だろうか?

Page 16: 2003s タームプロジェクト「くのいち」 ~階層性を持つマルチキャストを利用したディレクトリサービスの設計と実装~
Page 17: 2003s タームプロジェクト「くのいち」 ~階層性を持つマルチキャストを利用したディレクトリサービスの設計と実装~
Page 18: 2003s タームプロジェクト「くのいち」 ~階層性を持つマルチキャストを利用したディレクトリサービスの設計と実装~
Page 19: 2003s タームプロジェクト「くのいち」 ~階層性を持つマルチキャストを利用したディレクトリサービスの設計と実装~
Page 20: 2003s タームプロジェクト「くのいち」 ~階層性を持つマルチキャストを利用したディレクトリサービスの設計と実装~
Page 21: 2003s タームプロジェクト「くのいち」 ~階層性を持つマルチキャストを利用したディレクトリサービスの設計と実装~
Page 22: 2003s タームプロジェクト「くのいち」 ~階層性を持つマルチキャストを利用したディレクトリサービスの設計と実装~
Page 23: 2003s タームプロジェクト「くのいち」 ~階層性を持つマルチキャストを利用したディレクトリサービスの設計と実装~
Page 24: 2003s タームプロジェクト「くのいち」 ~階層性を持つマルチキャストを利用したディレクトリサービスの設計と実装~
Page 25: 2003s タームプロジェクト「くのいち」 ~階層性を持つマルチキャストを利用したディレクトリサービスの設計と実装~
Page 26: 2003s タームプロジェクト「くのいち」 ~階層性を持つマルチキャストを利用したディレクトリサービスの設計と実装~
Page 27: 2003s タームプロジェクト「くのいち」 ~階層性を持つマルチキャストを利用したディレクトリサービスの設計と実装~