分散コンピューティング環境上の Webリンク収集システムの実装

Slides:



Advertisements
Similar presentations
G ゼミ 2010/5/14 渡辺健人. パフォーマンスの測定 CUDA Visual Profiler CUDA の SDK に標準でついているパフォーマン ス測定用のツール 使い方: exe ファイルのパスと作業ディレクトリ指定して実 行するだけ 注意点 : GPU のコード実行後にプログラム終了前に,
Advertisements

平成 15 年度 夏季休業課題報告 知識科学研究科 M1 丹野聖司. 分散システム:定義 統合化コンピュータソフトウェアを整 備して,ネットワークによって統合さ れた自立コンピュータの集合体.
1 なんとなく Ajax ~新しくて古い XMLHttp 川合孝典 (Kansai.pm) 2005/5/22.
DTM を使った楽曲制作 DTM を扱う職業などの調査 北海道情報大学 情報メディア学 部 情報メディア学科 新井山ゼミ 宮本 拓美.
ユーザーイメージ収集 インターフェイスの開発
Web アプリをユーザー毎に カスタマイズ可能にする AOP フレームワーク
シーケンス図の生成のための実行履歴圧縮手法
The Perl Conference Japan ’98 朝日奈アンテナによる コンテンツ情報の取得と利用
最新ファイルの提供を保証する代理FTPサーバの開発
NORWAY ENGLAND AMERICA FRANCE
Webサービスに関する基本用語 Masatoshi Ohishi / NAOJ & Sokendai
LZ圧縮回路の設計とハード・ソフト 最適分割の検討 電子情報デザイン学科 高性能計算研究室 4回生 中山 和也 2009/2/27.
Webネットワークにおける 研究者間の分析
HTMLの記述と WWWにおける情報公開 遠藤
データマイニングのための柔軟なデータ取得、操作を支援するAPIの設計
ホームページの作り方.
神奈川大学大学院工学研究科 電気電子情報工学専攻
Webサイト運営 09fi118 橋倉伶奈 09fi131 本間昂 09fi137 三上早紀.
卒研:データベースチーム 第4回 DOMを使った処理
多数の遊休PC上での 分散ゲーム木探索 導入 ゲーム木探索 ⇒遊休PCを利用して高速化 例)コンピュータ将棋における次手の計算
福盛 秀雄, 浜中 征志郎, 菅原 健一, 吉川 潤, 中山 周平 早稲田大学 村岡研究室
卒業論文 最終発表 WWW情報検索 ナビゲーションシステムの設計と実装
HTTPプロトコルとJSP (1) データベース論 第3回.
医療支援診断のためのコンピュータ分散システムの検討
大阪教育大学大学院教育学研究科 総合基礎科学専攻 中窪 仁
①データ構造 ②アルゴリズム ③プログラム言語 ④マークアップ言語
第5回 CPUの役割と仕組み3 割り込み、パイプライン、並列処理
サーバ構成と運用 ここから私林がサーバ構成と運用について話します.
画像情報を用いた交通流計測 情報工学科 藤吉研究室 EP02076 都築勇司
基礎プログラミング演習 第1回.
Java ソフトウェア部品検索システム SPARS-J のための リポジトリ自動更新機能の実現
空間情報サーバ (株)パスコ.
MPIによる行列積計算 情報論理工学研究室 渡邉伊織 情報論理工学研究室 渡邉伊織です。
プログラム実行履歴を用いたトランザクションファンクション抽出手法
2004年度 サマースクール in 稚内 JavaによるWebアプリケーション入門
Occam言語による マルチプリエンプティブシステムの 実装と検証
型付きアセンブリ言語を用いた安全なカーネル拡張
過負荷時の分散ソフトウェアの 性能劣化を改善する スケジューリングの提案
定兼邦彦 今井浩 東京大学理学系研究科 情報科学専攻
オブジェクト指向プログラムにおける エイリアス解析手法の提案と実現
副テーマ中間報告 Development of a Scale Web Crawler By hajime TAKANO and Nobuya KUBO Trawling the Web for emerging cyber-communities Ravi Kumar, Prabhakar Rabhavan,
実行時情報に基づく OSカーネルのコンフィグ最小化
環境リスクマネジメントに関する 検索システム
只見町 インターネット・エコミュージアムの「キーワード」検索の改善
WWW上の効率的な ハブ探索法の提案と実装
プリムのアルゴリズム 重み付きグラフG=(V,E)の任意の点集合 U⊂Vに対して一方の端点がUの中にあり、他方の端点がV-Uの中にあるような枝の中で最小の重みを持つものをlとすれば、枝lを含むような最小木が存在する。
Internet広域分散協調サーチロボット の研究開発
私の立場 OSカーネルを手がけるエンジニア 大阪市立大学 創造都市研究科の学生
オープンソース開発支援のための ソースコード及びメールの履歴対応表示システム
オープンソース開発支援のための リビジョン情報と電子メールの検索システム
非対称リンクにおける ジャンボフレームの性能評価
Webコミュニティ概念を用いた Webマイニングについての研究 A study on Web Mining Based on Web Communities 清水 洋志.
エピソード記憶に訴えるBookmarkless Bookmarkの実現
Webネットワークにおける 研究者間の分析
情報共有による Z39.50データベース選択支援環境
ウェブアプリケーションサーバの Degradation Schemeの 制御に向けて
VMが利用可能なCPU数の変化に対応した 並列アプリケーション実行の最適化
オブジェクト指向言語論 第六回 知能情報学部 新田直也.
プログラミング言語論 第六回 理工学部 情報システム工学科 新田直也.
マイグレーションを支援する分散集合オブジェクト
Webアプリケーションと JSPの基本 ソフトウェア特論 第4回.
「マイグレーションを支援する分散集合オブジェクト」
オープンソースソフトウェアに対する コーディングパターン分析の適用
理工学部情報学科 情報論理工学研究室 延山 周平
クラスタリングを用いた ベイズ学習モデルを動的に更新する ソフトウェア障害検知手法
MPIを用いた並列処理計算 情報論理工学研究室 金久 英之
IPmigrate:複数ホストに分割されたVMの マイグレーション手法
MPIを用いた 並列処理 情報論理工学研究室 06‐1‐037‐0246 杉所 拓也.
オブジェクト指向言語論 第六回 知能情報学部 新田直也.
P2Pによる協調学習システム 唐澤 信介   北海道工業大学 電気工学専攻.
Presentation transcript:

分散コンピューティング環境上の Webリンク収集システムの実装 林研究室 050011 伊藤 正敬

目次 研究の背景と動機 システム構成の概要 システム全体の処理フロー システムの評価実験 結果のまとめと考察

研究の背景と動機 システム構成の概要 システム全体の処理フロー システムの評価実験 結果のまとめと考察

WWWについて いかに有用な情報を探せるか? WWWの特徴 Webページ検索の問題点と現状 大規模 :10億ページ以上 大規模 :10億ページ以上 変化が速い :更新・削除などが頻繁 多様性 :個人の日記から映像メディアまで存在 構造的 :HTML記述やハイパーリンクによって構成 Webページ検索の問題点と現状 キーワード検索のみでは限界? ハイパーリンク構造に注目したサービスが多くなってきた Google、Lycos、Yahoo!、Excite、BIGLOBEなど いかに有用な情報を探せるか?

システムの構築方法や問題点までは公開されていない Webページの収集方法 WWWソフトウェアロボット 開始点となるURLからリンクを辿り、Webページを収集 分散コンピューティング 時間のかかる処理を複数マシンで並列実行 情報収集システムの事例はあるが、 システムの構築方法や問題点までは公開されていない 構築方法や技術的な課題を明らかにしたい

研究の目的と方法 研究の目的 仕様、機能の定義 構成する諸技術 全体の処理フロー パフォーマンスの評価実験 Webリンク収集システムの構築 構築方法や技術的な問題点を明らかにする 仕様、機能の定義 構成する諸技術 全体の処理フロー パフォーマンスの評価実験 そこで、研究の目的として、 Webリンク収集システムの構築を行い、 今回の構築の試みからわかった構築方法や技術的な問題点を明らかにする そこで、具体的な方法として、 システムの仕様、機能を定め、 その仕様に基づいたシステムを構成する諸技術を決定し、 システム全体の処理の流れを定め、 構築したシステムのパフォーマンスを評価するために実験を行いました

研究の背景と動機 システム構成の概要 システム全体の処理フロー システムの評価実験 結果のまとめと考察

システムの仕様と機能 開発言語 分散システム データベース Webリンクの収集 分散環境の構築 リンクデータの処理 Webページを解析 並列処理可能 分散環境の構築 複数台PCによる負荷分散 リンクデータの処理 膨大なデータを格納できる 検索やデータの更新などが容易 メモリ管理の考慮 排他制御が必要 開発言語 分散システム データベース

開発言語の選択 分散システム に対応 HTML 処理が容易 並列処理 可能 メモリ管理 が容易 データベース 接続が容易 Java言語

分散システム技術 分散システム:RPC、Java RMI、CORBA、HORB 他技術との比較 比較した上での Java用分散オブジェクト技術HORBを用いた 他技術との比較 比較した上での HORBのメリット RPC 関数の使い方などが容易 Java RMI 実行処理速度が2倍 非同期メソッドをサポート CORBA IDL記述不要 非同期メソッドの記述が容易 CORBA IIOPをサポート

データベースの選択 Javaとの接続が容易 排他制御が可能 容量制限が大きい PostgreSQL7.1.3

システム全体の処理フロー 研究の背景と動機 システム構成の概要 システム全体の処理フロー システムの評価実験 結果のまとめと考察

システムの全体像 Master PC DB Slave PC タスクURL数 と深さだけ収集 Web リンク 収集 HORBによる ハイパーリンク Slave PC Web リンク 収集 タスクURL数 と深さだけ収集 HORBによる 分散環境構築 DB リンクデータの格納 Master PC Slaveのタスク管理

並列処理の必要性 Slave PC 1 Slave PC 2 同時にデータが 送られてくるかも しれない Master PC DB

非同期メソッドとマルチスレッド 処理を同時並行的に進める 複数人で仕事を行う Slave タスク Master タスク Slave タスク

非同期メソッドとマルチスレッド Slave Master Hisyo Slave それぞれが 別スレッド 非同期 メソッド Slave

システムの評価実験 研究の背景と動機 システム構成の概要 システム全体の処理フロー システムの評価実験 結果のまとめと考察

実験の方法 実験1:時間量とSlave PC台数の変化 実験2:初期値設定の変化(60分間で計測) Slave PCの{2、5、10}台 30分、60分、90分 タスクURL数3、リンクの深さ4 実験2:初期値設定の変化(60分間で計測) タスクURL数の変化{1、3、5} リンク収集の深さ{2、4、6} 実験は各3回ずつ行った 「解析Webページ数」と「獲得リンク数」の平均値で評価 初期URLデータは日本の大学Web TOP Page100個 解析するドメイン対象をJPドメインに限定した

全実験データの結果 1ページあたり約12リンク 約5%の割合でエラーページに遭遇 実験時間 :63時間 解析ページ数 :205177ページ 実験時間 :63時間 解析ページ数 :205177ページ 獲得リンク数 :2494075 エラーページの接続回数:9767回 1ページあたり約12リンク 約5%の割合でエラーページに遭遇

実験1:時間量の変化 解析したWebページ数 解析ページ数 時間量

実験1:時間量の変化(1台あたり) 台数が多い場合ほど 解析ページ数が減少している 2台 5台 10台

実験2:タスクURL数の変化(1台あたり) 10台 2台 解析ページ数 どの台数でも 解析ページ数が上昇 5台 タスクURL数

実験2:深さの変化(1台あたり) 10台 解析ページ数 5台、10台の場合、 解析ページが増加 2台 5台 深さ

実験2:タスクURL数の変化(1台あたり) 10台 解析ページ数 5台 2台 ネットワークトラフィック の影響が考えられる タスクURL数

結果のまとめと考察 研究の背景と動機 システム構成の概要 システム全体の処理フロー システムの評価実験 結果のまとめと考察

結果のまとめと考察 台数が多い程、1台あたりの解析ページ数は 時間とともに減少する 重複チェックにかかる処理時間が大きくなる タスクURL数、深さを大きく設定すると 1台あたりの解析ページ数が増加する 広く、深い範囲を収集するため、解析ページが増加 但し、時間がたてば異なるSlaveが同時期に  同一領域を解析する可能性がある 収集時間帯によるネットワークトラフィックの影響

パフォーマンス低下の要因 同じURLを解析 しているかもしれない Slave Master Hisyo Slave Slave

システムの問題点 重複したURLチェックに要するオーバーヘッド WWWロボットの収集範囲の指針 データベースのリンクデータ処理 エラーページの回避 収集時間帯の考慮

よりよいシステムにするために 分散処理方式の変更 データベースの処理速度の向上 Master Master Slave Slave データベースの分散化 高速アルゴリズムの適用 Master Master Slave Slave Slave Master Master Slave

おわり

Webページ ハイパーリンク タスク URL数:3 深さ:3 深さ 1 深さ 2 深さ 3

本システムの問題点 無反応サーバへの接続問題 サーバが生きてて、80番ポートは空いているが、 http daemonが(少なくとも80番ポートでは)動いていない。 CSSへの非対応 使っているAPIではスタイルシートには非対応

但し、MasterPCはメモリを198Mに、DBはHDDを40Gに増設 使用PCについて Webページを解析してURLを収集する「SlavePC」 SlavePCのタスク管理などを行う「MasterPC」 URLデータを格納しておく「データベースサーバ」 OSは全てVineLinux2.1.5を使用 マシン名 HITACHI FLORA370 CPU Pentium2-400MHz メモリ 128M LAN 10BASE-T HDD 6G 但し、MasterPCはメモリを198Mに、DBはHDDを40Gに増設

DB サーバ MasterPC SlavePC

Documentクラスによってドキュメント化 HTMLの解析方法 HTML Documentクラスによってドキュメント化 ドキュメントを要素ツリー構造化 構造化した要素一つ一つのタグチェック HTML.Tag.FRAME HTML.Tag.A SRC タグの属性値を取得 HREF URL取得

マルチスレッドについて Master Slave 役割 スレッド 各スレッドの仕事内容 Mainメソッド runメソッド タスクURL先の DBからタスクURLの取得 Slaveへのタスク割り当て Slave監視 runメソッド SlaveからのURLデータの受取り URLデータをチェック URLデータをDBへ格納 Slave タスクURL先の Webページ解析 割り当てられたURL先のWebページ を順に解析していく 指定の深さまでWebページを解析する HTTP URL確認 Webページの解析前に,URL先に接続してWebページが正常かを確認する