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