2003s タームプロジェクト「くのいち」...
-
Upload
jakeem-wolfe -
Category
Documents
-
view
44 -
download
9
description
Transcript of 2003s タームプロジェクト「くのいち」...
2003sタームプロジェクト「くのいち」~階層性を持つマルチキャストを利用したディレクトリサービスの設計と実装~
B3 gorou
はじめに コンピューティング環境のユビキタス化が進行
今までネットワークに繋がっていなかった物がネットワークに繋がる 情報家電 ネットワーク上のサービスが増加
携帯性を持ったコンピューターが様々な場所からサービスにアクセスする 携帯電話、ノートパソコン、 PDA ネットワーク上のサービスの利用方法の変化が起きる
サービスを管理するディレクトリサービス ユビキタスコンピューティング環境により適したディレクトリサービスを提案できないだろうか
問題意識 現状のディレクトリサービス
改良すべき点はあるであろうか おおきく二種類のディレクトリサービスに分類可能
中央集権型ディレクトリサービス マルチキャストを用いた分散型ディレクトリサービス
中央集権型ディレクトリサービス 例
LDAP 、 X500、 ActiveDirecory 特徴
ネットワーク上のサービス情報は特定のマシンに集約される 問題点
ユーザーはサービスが保存されるサーバーの場所を知らなければならない 既存のコンピューティング環境では問題は無いかもしれない コンピューターが複数のネットワークを移動するユビキタスコンピューティング環境には不適切
サービスが突然停止した時など情報の整合性が損なわれる サービス情報にリアルタイム性がない
マルチキャストを用いた分散型ディレクトリサービス
例 UPnP,Rendezvous
特徴 マルチキャストを使ったサービス検索
中央にサービスを保存するサーバーを置く必要がない サービス自身による定期的なアナウンシング 中央集権型に存在した問題を解決
問題点 ネットワークを超えるサービスの検索が不可能
マルチキャストは自分のいるネットワークにのみ投げられる
Rendezvous対応プリンターRendezvous対応パソコン
Rendezvous対応パソコン実線:クエリー点線:返答IP の 要求IP の 要求
133.27.xxx.200
133.27.xxx.125
133.27.xxx.125133.27.xxx.200
図Rendezvousでのサービスの IP検索
ユビキタスコンピューティング環境とディレクトリサービス ユビキタス環境
ユーザは今自分が居る場所などを気にせずにいつでも何処でもコンピューターを扱える環境 現状のディレクトリサービス
ネットワークを越えての検索が出来ない 自分は二つのネットワークにアクセス権を持っているのに一つのネットワークを使用しているともう片方のサービスを知る事が制限されてしまう 例:オミクロン 208のプリンター
CNSに接続していたら研究室にいても検索できない
本タームプロジェクト 目的
ユビキタス環境に適したディレクトリサービスの設計と実装 自分がアクセス出来る権利を有したネットワークに存在するサービスの情報を何処からでも参照可能にする
くのいちシステムの提案 ユビキタス環境に適したディレクトリサービス 自分がアクセス出来る権利を有したネットワークに存在すうrさービスの情報が何処からでも参照可能になる 名前の由来
僕にディレクトリサービスへの興味を抱かせてくれたろ Todd hodesさんの SDSという研究が Ninjaという音楽共有の研究に使われていたから
シナリオ A君がCNSに繋がったメディアセンターで自分のくのいちシステム対応のラップトップを用いてネットサーフィンしている時に面白い資料を見つけた。忘れないうちに印刷しようと思い、自分のラップトップに表示された自分が利用可能なプリンターを見ると、CNSで利用可能なプリンターと共にHTNETで利用できるプリンターの一覧が表示された。 CNSのプリンターでプリントしようとしたが、自分の居る階のプリンターは混雑している為、研究室のプリンターでプリントアウトをしようとした。ふと目を画面に戻すと研究室内のプリンターの電源が落ちている。何事かと思い先輩に電話をしてみると、誤ってプリンターの電源を落としてしまったと教えられた。プリントアウトした気になって研究室に戻るという過ちを犯さずにすんだ彼はくのいちシステムに感謝した
本システムの構成 くのいちクライアント
ネットワーク内のサービス情報をマルチキャストを利用して取得し、くのいちサーバへと送信するクライアント。ネットワークにアクセスするコンピューターに内臓される サービス情報 (Ipaddressやサービスの名前、内容など )
他のネットワークのサービス情報を手に入れるためにくのいちサーバへクエリを送信する クエリ (サービス検索に使われるメッセージ。例 (_http._tcp.local.))
CNSくのいちクライアントS情報クエリS情報クエリ
CNSネットワークサービス
S情報 サービス情報
くのいちサーバS情報 S情報 S情報 S情報 S情報 S情報
HTNETくのいちクライアントS情報クエリS情報クエリ
HTNET
クエリ
本システムの構成 くのいちサーバ
各ネットワークに必ず一つ存在 中央集権型ディレクトリサービスの様な問題を防ぐ為
ネットワーク内でマルチキャストを行う事により自身を通知 くのいちクライアントと通信を行う
CNSくのいちクライアントS情報 S情報
S情報クエリS情報クエリ
HENETくのいちサーバ
HTNETくのいちクライアントS情報クエリS情報クエリ
HTNETネットワークサービス
S情報 サービス情報CNS
S情報 S情報CNSくのいちサーバ
SFCくのいちサーバ
IPアドレスをマルチキャスト IPアドレスをマルチキャスト
S情報 S情報S情報 S情報
本システムの概要 サービス情報の集約
各ネットワーク上のサービス情報を一つのサーバーに集約 くのいちサーバにを利用する事でネッワークを超えたサービス検索が可能になる ユーザーのアクセス権を考慮してサービス検索に制限を掛ける
HENETにアクセス権を持たない人が HTNETの情報を見れたら不味い!
CNSくのいちクライアントS情報 S情報
S情報クエリS情報クエリ
HENETくのいちサーバ
HTNETくのいちクライアントS情報クエリS情報クエリ
HTNETネットワークサービス S情報 サービス情報
CNS
S情報 S情報CNSくのいちサーバ
SFCくのいちサーバ
IPアドレスをマルチキャスト IPアドレスをマルチキャスト
S情報 S情報S情報 S情報
本システムの概要 3 サーバーに階層性を持たせる
意味的、距離的に近いと思われるサーバーを繋げる より広いサービス検索が可能になる
日吉からCNSのサービスが検索可能になる
CNSくのいちクライアント
HENETくのいちサーバ
HTNETくのいちクライアント
CNSくのいちサーバ
SFCくのいちサーバ 矢上くのいちサーバ日吉くのいちサーバ
慶應くのいちサーバ
本システムの概要4 ハッシュ関数の利用
階層上部のサーバーに大量のデータが保存されディスクを圧迫する可能性が高い ハッシュ関数をかけて保存する事によりサイズ圧縮 クエリにもハッシュ関数をかける事により検索が可能に 一致した場合はサービスの送信元に再送要求をしてそれをクエリ発信元に渡す
CNSくのいちクライアントHS情 HS情
S情報クエリS情報クエリ
HENETくのいちサーバ
HTNETくのいちクライアントS情報クエリS情報クエリ
HTNETネットワークサービス HS情 ハッシュ関数がかけられたサービス情報
CNS
HS情 HS情CNSくのいちサーバ
SFCくのいちサーバ HS情 HS情HS情 HS情
Hクエハッシュ (クエリ )
実装 実装環境&言語
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….
まとめと今後の課題 まとめ
満足のいかない実装 テーマ決めが遅すぎた
もっと時間をかけて考えてみたい 今後の課題
ハッシュ関数をかける事が本当に有効かを調べる 迂回せずに自分がサービス情報を知りたいネットワークにあるコンピューターへアクセスする事も出来るが、果たしてそれよりも便利だろうか?