...

資料2 e‐Society基盤ソフトウェアの総合開発 中間成果報告会予稿集

by user

on
Category: Documents
11

views

Report

Comments

Transcript

資料2 e‐Society基盤ソフトウェアの総合開発 中間成果報告会予稿集
高信頼WebWareの生成技術
名古屋大学情報科学研究科
阿草 清滋
WebWareの信頼性・セキュリティ
„ 価格.comの閉鎖
„
不正アクセス、プログラム改竄
94%のサイトのWebアプリケーションにセキュリティ問題
(三井物産セキュアディレクション調べ)
„ 脆弱性
„
„
„
„
„
„
„
パストラバーサル URLの直接入力
表記改竄
hidden
オーバーフロー
長い文字列
コマンド(SQL)インジェクション
クロスサイトスクリプティング
セッションハイジャック
フィッシング
好ましくない出力例
不必要なファイル
デッドページの消し忘れ
WebWareのセキュリティ
„ 認証を回避したログイン
„
Dominator set の確認
„ コマンドインジェクション
„
„
„
コーディング規約の確認
特殊文字の処理(サニタイジング)
変数のdef-useの確認
解決策: 作成されたWebWareの十分なテスト
„
„
„
ソースプログラムの解析
テストの網羅性
構成管理
研究概要
„ 目的
„
Webアプリケーションの開発支援を対象として研究開発を行
い、IT社会の基盤となるソフトウェアを実用化し、新製品・新
サービスにより経済を活性化し、研究者を養成する。
„ 研究開発内容
„
„
Webアプリケーションの開発支援ツール
StrutsをベースとしたWebアプリケーションから以下を解析
„
„
„
Webアプリケーション全体のページトランジション
ページ間のデータフロー
デザイナとプログラマの協調開発支援
体制
„ 大学
„
„
„
名古屋大学
愛知県立大学
和歌山大学
検証手法
リポジトリ
協調開発支援
„ 参画企業
„
富士通、富士通プライムソフトテクノロジ
Interstage (http://interstage.fujitsu.com/)への組込み
„
野村総合研究所
ObjectWorks (http://works.nri.co.jp/)と
Ridual (http://www.ridual.jp/)への組込み
人材育成
„ 実践的ソフトウェア開発能力の取得
„
企業の技術者によるプロジェクト管理
„
„
品質管理、ドキュメンテーション
学生のプロジェクト参画
„
„
„
学部学生
修士学生
博士課程
30名 134人月
31名 215人月
4名 64人月
„ 企業の研究者との共同研究開発
„
„
„
„
ニーズとシーズのマッチング
ツールの方向性に関する議論
実際のニーズに対応した問題設定
製品化レベルの品質
富士通InterstageとWebware
„
Webwareプロジェクトで開発したWebページ分析機能を
Interstage(富士通製品)の開発機能の中で利用
2005年3月
名古屋大学
PST
(富士通プライム
ソフトウェアテクノロジ)
富士通研究所
Webware
オープン公開
出荷開始
Interstage
Webフロント開発機能
Web分析機能
品質強化
利用
富士通研究所
・
・
Web分析機能
富士通
バック側
開発機能
野村総合研究所オブジェクトワークス
操作マニュアル(一部)
フロント EAI プラットフォーム「オブジェクトワークス」
オブジェクトワークス/STUDIO
操作マニュアル
(a)
Java ソースのカラム ID 整合性チェック
Java ソースに記述されたカラム ID がデータ定義ファイルで定義されているかチェック
します。
(b)
[app.properties]タブをクリックすると、以下に示すタブページが表示されます。
未使用カラム ID チェック
データ定義ファイルで定義されているカラム ID で、JSP・Java ソースのどちらにおい
機能説明
ても使用されていないカラム ID をチェックします。
Fig. エラー ! 指定したスタイルは使われていません。-1
整合性チェックツール実行画面・
[app.properties]タブページの画面イメージ
以下に各ソースとチェックの関係を示します。
Fig. エラー! 指定したスタイルは使われていません。-1 各ソースとチェックの関係
app.properties
テキストボックス
Java ソース
3.
画面遷移定義
ファイル
機能説明
画面遷移定義のチェック
リストボックス
ファイル選択ボタン
ファイル・ディレクトリ
選択ボタン
JSP ファイルの存在チェック
app.properties
アクション ID の整合性チェック
BL メソッドの整合性チェック
この章では、オブジェクトワークスアプリケーション定義生成ツールの機能詳細、及び操作方法
JSP
について説明します。
データ定義のチェック
実行ボタン
3.6
整合性チェックツール............................................................................................................ 3-1
データ定義
ファイル
3.6
クリアボタン
JSP のカラム ID 整合性チェック
Java ソース
整合性チェックツール
Java ソースのカラム ID 整合性チェック
未使用カラム
ID チェック
[個別ファイル]タブをクリックすると、以下に示すタブページが表示されます。
Fig. エラー! 指定したスタイルは使われていません。-2 整合性チェックツール実行画面・[個別フ
ァイル]タブページの画面イメージ
この節では、オブジェクトワークスを利用したアプリケーションを構築する、各ソースファイル(画
面遷移定義ファイル・データ定義ファイル・JSP・Java ソース)間の整合性をチェックする方法につ
いて説明します。
3.1.2
起動設定
app.properties
テキストボックス
整合性チェックツールの起動設定については「オブジェクトワークス/STUDIO インストールマニ
3.6.1
整合性チェックツールの概要
ュアル」を参照してください。
オブジェクトワークスを使用した Web アプリケーションの開発では、アプリケーションをコンパ
イル・デプロイ・実行した後、実行結果やログを見ないとエラーの検出ができません。
画面遷移定義ディレクトリ
テキストボックス
データ定義ディレクトリ
テキストボックス
3.1.3
整合性チェックツールの画面イメージ
整合性チェックツールを利用すると、コーディング終了時に各ソースファイル(画面遷移定義ファ
イル・データ定義ファイル・JSP・Java ソース)間の整合性をチェックすることができます。
(1)
ファイル選択ボタン
ディレクトリ選択ボタン
ディレクトリ選択ボタン
ファイル・ディレクトリ
選択ボタン
JSP
リストボックス
画面イメージ
ファイル・ディレクトリ
選択ボタン
整合性チェックツールは GUI 画面を利用して処理を行います。画面の説明を、次に示します。
Java ソース
リストボックス
(a)
整合性チェックツール実行画面
ccheck.exe を実行すると、整合性チェックツール実行画面が起動し、[
実行ボタン
クリアボタン
整合性チェックの実施
アプリケーション選択画面
個別ソース選択画面
実行中画面
WebWareの特徴
•
•
ヘテロな環境
– 複合要素: client, server, DB, WSDL,BPEL...
– 複合言語: コンテンツ (XML, XSLT, HTML, CSS, ...)
サーバサイド (Servlet, JSP, PHP, ASP, Perl, ...)
クライアントサイド (JavaScript, …)
動的な結合
⇒ テストの難しさ
Java
ASP
JSP
Perl
HTML
PHP
WebWare開発環境
• Repository centered な開発環境
多言語細粒度ソフトウェア・リポジトリ
コンテンツ、サーバサイド、クライアントサイドの統合管理
• インスペクション
システムテストケース生成・検証系
• 協調作業支援
デザイナとエンジニア間の制約検査
• 既存開発環境との連携
リポジトリ
テスト
ケース
WebWare 解析技術
対象コンテンツ
静的
解析技術
静
的
動
的
動的(クライアント)
動的(サーバサイド)
HTML チェッカ
(Tidy)
構造カバレッジ
デッドリンク検査
(W3C Link Checker)
構造表示
(Ridual)
デッドリンク検査
ユーザビリティ検査
(アクセシビリティ・
アシスタンス)
Java解析器
(JParse, JavaML, JavaMarkup)
サーバサイドテスト
(Cactus)
整合性検査
回帰テスト支援
(Rational Robot, Http Unit)
JSP動作検証
(TagUnit)
テストケース生成
1年目
1年目
モデル
2年目
2年目
ページ遷移モデル
リポジトリ
サーバサイド
データフローモデル
JSP
JSPと
JavaScript
整合性
チェッカ
テスト支援系
4年目
4年目
5年目
5年目
WebWareモデル
JSF, PHP, ...
JavaScript
クライアント
サイド
レンダリング無 レンダリング有
言語間の
対応関係
3年目
3年目
CSS,Flash, ...
JSPと
Servlet
ビジネスロジック+DB
カバレッジ +
テストデータ生成
静的ページ
動的ページ
ベンダ製品との統合
作成支援
動的サイトの
ロジック解析
バックエンド
系との連携
視覚化
ユーザビリティ
評価
進捗状況
支援ツール群
„ WebWareの静的検査ツール
„
„
リンク解析
dangling anchor, ghost page :
dominator, dominator set :
shortest path, path length :
def-use解析
:
作成済み
開発中
作成済み
開発中
„ WebWareの動的検査ツール
„
„
ページカバレッジ
テストケース生成
: 開発中
: 作成済み
„ デザイナとプログラマの協調開発支援
„
Webサイトエディタ
: 開発中
WebWare解析ツール
主にWebWare開発のテストフェーズを支援
Webアプリケーションのソースコード群を直接解析
既存Webアプリケーションにも適用可能
保守
Java
Java
Script
Script
テスト
Java
Java
Java
HTML
HTML
HTML
実装
設計
Webアプリケーション
のソースコード群
JSP
JSP
strutsconfig
WebWare解析・表示ツール
web.xml
解析
<整合性>
構成定義とデプロイメントの対応
<ページトランジション>
Webアプリケーションのページとその遷移関係
<データフロー>
画面間のデータの流れ、分岐情報、データの依存関係
<カバレッジ(テスト網羅率)測定>
半自動で生成したテスト項目に対するカバレッジ(テスト網羅率)
テスト支援ツール
従来のWeb開発:
JSP単体テスト
テスト支援ツールを利用したJSP単体テスト
テスト支援ツール機能
④: テスト結果を
集計、分析し
④: テスト結果を
テストレポートを作成
集計、分析し
カバレッジ測定ツール
テストレポートを作成
によりサポート
凡例
③: 実行結果の合否判定
エディタによりサポート
③: 実行結果の合否判定
テスト担当者作業
①:
1. JSPを解析し、データ
項目を抽出
2.定義情報からデータ
項目の情報を抽出
①: JSP、各種定義XML
3.抽出された情報を基
を参照し、テストケース
に各項目に対するテ
を作成
ストケース自動生成
テスト
ケース
生成
作成
実行
結果
JSP
各種
定義
XML
テストケース
合否判定
テスト実行
テスト
結果
テスト
レポート
作成
テスト
レポート
②:ブラウザから
②:
1. テストケースからテスト実行スクリプト生成
テストケースを入力し
2.テストの自動実行(市販製品使用)、
テストを実行
結果の保存
テスト支援システム
技術内容
„JSPの静的解析結果と各種定義情報を基にテストケースの自動生成
„生成されたテストケースを効率良く閲覧・編集する機能(テストケースエディタ)
„テスト結果を管理し、テストケースとリンクする機能(テストリポジトリ)
成果
JSP単体テスト支援フレームワーク
„テストケースの自動生成・編集ツール
„テスト実行スクリプト自動生成および市販ツールとの連携による自動実行
„テストカバレッジ集計機能ツール
効果
„単体テスト(JSP)の作業量削減
„連結テストの障害密度減少
WebWare整合性チェックツール
<従来>
各種定義XML
実行結果
JSP
Class
Java
コンパイル
<ツール完成後>
ログ等
Web Application Server
エラーの発見
デプロイ
コンパイル->デプロイ->実行の過程の後
エラーを発見
各種定義XML
JSP
Java
整合性チェックツール
エラー情報
コーディング終了時点でエラー検出
整合性チェックツールの構成
整合性チェックツール
ソース解析ルーチン
画面遷移
定義
整合性チェック
ルーチン
画面遷移定義情報
取得ルーチン
データ
定義
データ定義情報
取得ルーチン
Java
ソース
画面遷移定義
チェックルーチン
Java
情報取得
ルーチン
Sapid (名大開発技術)
JSP
ソース
JavaScript
ソース
ソース
コード
解析機
ソフトウェア
リポジトリ
(XML)
低レベ
ルAPI
JSP
情報取得
ルーチン
JavaScript
情報取得
ルーチン
データ定義
チェックルーチン
Error
Warning
メッセージ
WebWareでの特徴的解析ツール
<ページトランジション>
Webアプリケーションで使用されている動的ページを含む全ページの関係
<データフロー>
クライアントからサーバへなデータの流れ、不当なデータ(値の範囲など)
<カバレッジ(テスト網羅率)測定>
テストの終了基準
テストケースの設定基準検出
WebWare開発のテストに必要な工数の大幅削減
ソースコード群から画面遷移データを抽出するため、開発時だ
けでなく既存アプリケーションの保守時にも利用可
リファクタリングなどで保守性の向上
ソースコードカバレッジの測定
バックで動くソフトウェアの網羅率
①
●C0:命令網羅率
A
コード内の全てのステートメントを少なくとも1回は実行
①→②→③
B
②
●C1:分岐網羅率
④
C
コード内の全てのブランチを少なくとも1回は実行
①→②→③、①→④→⑤
●C2:経路網羅率
D
③
⑤
コード内の全ての条件を少なくとも1回は実行
①→②→③、①→②→⑤、①→④→③、①→④→⑤
E
カバレッジ[%] =
テストで実施した実行系列の数
×100
想定実行系列の総数
ページカバレッジの測定
JSPファイルの論理構造に着目してページを定義
未通過ページを確認
●ページカバレッジ:少なくとも1回はページを出力
ページを有
限個に分類
detail.jsp
login.jsp
contract.jsp
error.jsp
index.jsp
生成されうる
全ページ
menu.jsp
logout.jsp
balance.jsp
カバレッジ[%] =
テストで実際に出力を得たページ数
生成されうるページの総数
× 100
遷移要素カバレッジの測定
ページ間のリンクを辿った割合
●遷移要素カバレッジ:少なくとも1回は遷移要素を使用
ページ間の遷
移要素を抽出
抽出された
全遷移要素
カバレッジ[%] =
テストで使用した遷移要素の数
抽出された遷移要素の総数
× 100
テスト項目の生成支援(半自動)
ソースコード群からテスト項目を半自動で生成
・ソースコードカバレッジ
・ページカバレッジ
WebWareのC0
・遷移要素カバレッジ
WebWareのC1
テスト項目
テスト項目
テスト項目
テスト項目
Webアプリケーションの
ソースコード群
ソースコードカバレッジ
JSP
JSP
HTML
HTML
HTML
Java
Java
Java
Java
Java
Script
Script
web.xml
strutsconfig
ページカバレッジ
遷移要素カバレッジ
テスト項目
テスト項目
テスト項目
テスト項目
テスト項目
テスト項目
テスト項目
テスト項目
基本ページ
„ JSPの制御構造を基に、基本ページを抽出
ブラウザの画面
利用ブロック
B1
e2
e1
e5
if ( ) {
B1
e2
while() {
B2
e1
e2
e3
e5
B3
e1
e3
}
} else {
B2
e4
1つのJSP
から生成
B3
e1
}
e5
e4
e5
リンクに基づくページの定義
P1
„
観点
„
„
B1
„
解析基準
„
„
„
B2
B3
遷移に関しては同じ
ページ数 : 1
aやformなどの遷移要素
ページからの遷移先で分類
用途
„
登録ページ
ページの遷移先が同じ場合、
同一視できる
例 : {B1, B2, B3} は同じ
リンクチェックの目的で利用
タグ要素に基づくページの定義
„ 観点
P1
„ ページの構造の違い
„ 例 : {B1, B3} と {B2}
B1
„ 解析基準
P2
表が存在するため
他と異なる
B2
„ 用途
„ table などの配置
„ ページの構造
P1
B3
„ table などの構造を見る
ページ数 : 2
タグ属性に基づくページの定義
„ 観点
P1
B1
色、文字列が
異なる
P2
„ 色や表示される文字
„ 例 : B1~B3 それぞれ違う
„ 解析基準
„ tableのカラム名やテキスの
色・大きさ
„ 用途
B2
„ 実際にページに表示される
文字の位置、内容まで細か
く調べたい場合
P3
B3
ページ数 : 3
Webサイトの視覚化
„
クライアントサイドの動的ページを対象とした静的解析
JavaScriptにより生成されるHTML
JavaScriptにより変更されるプロパティ
ページからの遷移先の変更
ページ内で利用されるリソースの変更
JavaScript解析器
Webサイト解析ツール
JavaScript解析
HTML解析
JavaScriptの抽出
情報の視覚化
Webサイト
API
document.write()によ
り出力されるHTML
の抽出
JavaScriptにより生成
されるURLの抽出
Ridual
„
„
„
„
XML/JavaベースのWebサイトエディタ
Webサイトの構造をGUIで記述可能
„ JavaScriptにより生成されるURLの抽出
„ src, href等のプロパティに代入されるURL
„ window.open()の引数に与えられるURL
„ 変数を介したURLの設定にも対応
設計に合わせたHTMLテンプレートの自動生成
サイト内のページ情報やリソース/リンクの関係を表示
インターネット上の知識集約を可能にする
プラットフォーム構築技術
早稲田大学
村岡洋一
1
研究背景(1)
60
30
千
万 28
百
万
26
50
24
タ
台
数
22
WWWサーバ台数
40
20
W
e
b
サ
ー
ュー
コ
ン
ピ
コンピュータ台数
18
16
30
14
12
バ
台
数
20
10
8
6
10
4
2
Jul-04
Jan-04
Jul-03
Jan-03
Jul-02
Jan-02
Jul-01
Jan-01
Jul-00
Jan-00
Jul-99
Jan-99
Jul-98
Jan-98
Jul-97
Jan-97
Jul-96
Jan-96
Jul-95
Jan-95
Jul-94
Jan-94
0
Jul-93
0
インターネットに接続するコンピュータ台数とWWWサーバ数の推移
Internet Software Consortium(http://www.isc.org/)のInternet Domain Survey 及びNetcraft社(http://www.netcraft.co.uk/)のWWW Server Surveyの公開データから作成
2
研究背景(2)
社会的ニーズの高まり
- インターネット上の情報「瞬時」解析
読売新聞2005/4/6の記事:
5~10年後の社会
5~10年後の社会
わが社の情報は
もれていない
か?
わが社に対する
消費者の印象
は?
この商品に今から
注目しておいた
ほうがよさそうだ
次はこれが
流行るかな?
3
研究目的と達成目標
„ Web上の全情報を効率よく収集しユーザの望む形式で提供するシステムの開発
収集技術の開発
クライアント企業
従業員
サーバ
EIP
EIP: Enterprise Information Portal
企業内の 情報にイン
ターネッ ト上の情報
を組合わせることで、
ビジネス に役立つ知
識 が 次 々 手 に 入
る!!
融合
営業状況
保守履歴
知識フィルタリン
グサーバ
イントラネット
企業内DB
顧客企業ごとに情報を
カスタマイズして提供
ニュース
インターネット情
報「瞬時」収集
サーバ
インター
ネット
企業情報
Eコマース
技術課題
技術課題
①「瞬時」収集
①「瞬時」収集
・更新ページ予測
・更新ページ予測
・分散収集自動化
・分散収集自動化
②知識フィルタリング
②知識フィルタリング
・広域分散環境下での
・広域分散環境下での
データマイニング実現
データマイニング実現
掲示板
プロジェクトの成果
①リアルタイム(新鮮度1ヶ月以内)でWeb情報を収集。
①リアルタイム(新鮮度1ヶ月以内)でWeb情報を収集。
②全世界の情報(2003年末時点の119億URLを想定)を収集。
②全世界の情報(2003年末時点の119億URLを想定)を収集。
③全世界のWeb情報からの知識フィルタリングを実現。
③全世界のWeb情報からの知識フィルタリングを実現。
インターネット情報「瞬時」収集技術開発
インターネット情報「瞬時」収集技術開発
全世界の全情報のリアルタイム収集
全世界の全情報のリアルタイム収集
新鮮度1ヶ月以内、世界最大・最速の収集
新鮮度1ヶ月以内、世界最大・最速の収集
を実現
を実現
解析技術の開発
知識フィルタリング技術開発
知識フィルタリング技術開発
全世界のインターネット情報を対象に
全世界のインターネット情報を対象に
利用者の要求に応じた解析を行う世界
利用者の要求に応じた解析を行う世界
初のデータマイニング技術を実現
初のデータマイニング技術を実現
コンテンツ
収集技術
コンテンツ
解析技術
成果普及・実用化
①利用者の要求に応じた知識フィルタリン
①利用者の要求に応じた知識フィルタリン
グ情報をWeb
グ情報をWeb Watchサービスとして提供
Watchサービスとして提供
②1次情報提供による本分野の研究活性
②1次情報提供による本分野の研究活性
化、さらには2次ビジネスへの展開
化、さらには2次ビジネスへの展開
4
達成目標の位置づけ
2005年度
119億達成予定
Webページ数(億)
120
本プロジェクト
実際のWebページ数推移
(参考)Googleのインデックス済ページ数
100
80
ITリセッション
による伸び率
低下
60
2004年度
50億達成済
40
20
2003年度
10億達成済
Jan-06
Jul-05
Jan-05
Jul-04
Jan-04
Jul-03
Jan-03
Jul-02
Jan-02
Jul-01
Jan-01
Jul-00
Jan-00
Jul-99
Jan-99
Jul-98
Jan-98
0
実際のWebページ数,Google,本プロジェクトWebページ収集の比較
5
年度計画
①インターネット情報「瞬時」収集
技術の開発
・分散型クローラ設置(5箇所)
・10億URLレベルでの解析
平成15年度
平成16年度
10億
50億
・収集(新鮮度1ヶ月以内)
→解析の融合
平成17年度
平成18年度
119億
改良
②知識フィルタリング技術の開
発
改良
③①及び②の融合
④実証実験
・分散型Webクローラ開発(着手)
・国内3箇所にクローラ設置
し運用開始
・データ分析アルゴリズム
の開発(着手)
平成19年度
・ビジネス
化を前提
とした解析
対象を
選択し
実証実験
・119億URL収集完了→世界一
(商用システムに比較し約3年
先行)
・3年間の先行期間活用による
ビジネス化
6
実施体制
インターネット上の知識集約を可能にするプラットフォーム構築技術
インターネット上の知識集約を可能にするプラットフォーム構築技術
プロジェクトリーダ:村岡洋一(早大)
プロジェクトリーダ:村岡洋一(早大)
企業
(1)インターネット情報「瞬時」収集技術の開発
(1)インターネット情報「瞬時」収集技術の開発
サブリーダ:山名早人(早大)
サブリーダ:山名早人(早大)
早稲田大学
術
集技
収
分散 集技術
再収
学生派遣
学生
派遣
デ
ー
タ共
有
Web収集技術・
ノウハウ集約
のため、国内
主要拠点と連
携強化
(2)知識フィルタリング技術の開発
(2)知識フィルタリング技術の開発
サブリーダ:村岡洋一(早大)
サブリーダ:村岡洋一(早大)
早稲田大学
術
DM技
模
大規
データ
共有
Web情報利用
によるさらなる
ビジネス展開
を目指して連携
大学
平成16年度以降に追加
共同研究:分散型クローラ開発・ビジネス展開
得意分野:
富士通株式会社/富士通研究所
富士通株式会社/富士通研究所
クローラ技術
部長 松井くにお
部長 松井くにお
共同研究:負荷分散方式
NTTコミュニケーション科学基礎研究所/NTT未来ねっと研究所
NTTコミュニケーション科学基礎研究所/NTT未来ねっと研究所
主任研究官 菅原俊治
主任研究官 菅原俊治
共同研究:国内のWeb情報収集
国立情報学研究所(平成16年度~)
国立情報学研究所(平成16年度~)
教授
教授 大山敬三
大山敬三
共同研究:海外のWeb情報収集
長岡技術科学大学(平成17年度~)
長岡技術科学大学(平成17年度~)
教授
教授 三上喜貴
三上喜貴
得意分野:
負荷分散
得意分野:
JPドメインWeb収集
得意分野:
マイナーな言語のWebページ収集
共同研究:EIP開発・ビジネス展開
アクセラテクノロジ株式会社
アクセラテクノロジ株式会社
社長
社長 進藤達也
進藤達也
得意分野:
EIP解析
共同研究:収集1次情報の新ビジネス展開
株式会社早稲田情報技術研究所(平成17年度~)
株式会社早稲田情報技術研究所(平成17年度~)
社長
社長 加藤浩一
加藤浩一
得意分野:
フィルタリング技術
7
研究開発成果(1)-a
„ インターネット情報「瞬時」収集技術
Webページの分散協調収集技術 - 研究レベルで世界No.1
(平成17年度末で50億URL)
(1)世界最大のアーカイブ構築技術
世界最大のWebデータ収集
2005年度
119億達成予定
Webページ数(億)
120
本プロジェクト
起点URLリスト
(参考)Googleのインデックス済ページ数
100
担当分管理リスト
インテグレーションサーバ
インテグレーションサーバ
収集状況
担当分起点URL
担当分管理リスト
収集制御サーバ
収集制御サーバ
DBサーバ
DBサーバ
50CPUを超
えるクローラ
間で重複収
集の除去
メタデータ
収集状況
収集状況
メタ情報+
担当外リンクURL
表示
DB
80
ITリセッション
による伸び率
低下
60
ホスト情報取得サーバ
ホスト情報取得サーバ
2004年度
50億達成済
40
収集プロセス
収集プロセス
ロボットセット5
ロボットセット4
ロボットセット3
ロボットセット2
ロボットセット1
インターネット
Throughput?
Throughput?
Throughput?
Throughput?
最適な収集
拠点を自動
選択
20
2003年度
10億達成済
Which Route ?
Jan-06
Jul-05
Jan-05
Jul-04
Jan-04
Jul-03
Jul-02
Jan-03
Jan-02
Jul-01
Jul-00
Jan-00
Jul-99
Jul-98
end
start
Jan-99
0
Jan-98
分散収集技術:
早大が持つ基本アルゴリズムを基に2004年
までに改良+収集拠点自動選択技術(2003)
実際のWebページ数推移
インテグレーションサーバマシン
起動制御
起動制御
Jan-01
„
実際のWebページ数,Google,本プロジェクトWebページ収集の比較
8
研究開発成果(1)-b
„ Webページ収集経過
2拠点追加し5拠点で分散収集開始
3拠点で分散収集開始
50億URL収集を達成(平成17年度末)
9
研究開発成果(1)-c
„ 分散協調型Webクローラ
WWW
サーバa
WWW
サーバa
WWW
WWW
サーバa
WWW
サーバb
サーバa
早稲田大学
収集拠点 A
IDC
WWW
サーバc
WWW
サーバc
WWW
サーバc
WWW
c
サーバ
WWW
サーバc
収集拠点 B
インテグレーションサーバマシン
起動制御
起動制御
起点URLリスト
収集拠点 C
担当分管理リスト
NTT未来ねっと研究所
インテグレーションサーバ
インテグレーションサーバ
収集状況
C
収集拠点 D
メタデータ
NII
C
収集拠点 E
担当分起点URL
担当分管理リスト
収集状況
収集状況
メタ情報+
担当外リンクURL
表示
早稲田大学
収集制御サーバ
収集制御サーバ
DBサーバ
DBサーバ
収集プロセス
収集プロセス
DB
ホスト情報取得サーバ
ホスト情報取得サーバ
ロボットセット5
ロボットセット4
ロボットセット3
ロボットセット2
ロボットセット1
インターネット
10
研究開発成果(2)
„ インターネット情報「瞬時」収集技術
„
再収集技術 – 世界No.1の再収集効率(全Webページの
26%収集で全更新ページの76%をカバー)
最適値(完璧に更新ページのみを収集できた場合)
(2)再収集効率化技術
(1ヶ月後の更新Webページは平均8%)
リンク
/foo
更新ページ
未更新ページ
/foo/foo2
更新確認用ページ
/foo/foo2
/foo3
収集ページ
方法A
方法B
更新ページを収集することなくリンク構造から
予測。これにより収集効率を世界一に。
更新ページに対する収集割合
再収集効率化技術:
本プロジェクトで2003にアルゴリズム
開発(早大)
100%
トップページ(例:/index.html)
90%
80%
70%
提案手法A
提案手法B
60%
従来手法
(幅優先収集)
50%
40%
30%
従来手法
(ランダム収集)
20%
10%
0%
0%
20%
40%
60%
80%
100%
全収集ページの割合
11
研究開発成果(3)-a
„ 知識フィルタリング技術
大規模Webマイニング技術:
・Lunascapeによるユーザ思考情報取得解析技術(2003)
・Webページの自動分類(クラスタリング)技術(2003-2004)
・大規模データに対する高速マイニング技術(2003-2004)
(3)世界最大のWeb情報解析と知識発見
• 処理前
• ページ特徴値作成モジュール
ユーザのWeb
閲覧状況
自動解析
• 処理後
Fn-1
Fn-2
・・・
Dis(qn-1,Fn-
F0
Sim(pn,Fn-1)
2)
Seed s
Page qn-1
Page pn
Dis(pn,Fn-1)
Webページ
間の類似度
をリンク関係
のみで表現
しグループ化
リンク情報のみで精度を保った
まま解析=高速化達成
120
億
100
80
Generate complete F-list
従来(日本IBMアルマデン研
究所)(2004年)
e-Society(2005年度末)
e-Society(終了時)
TF2P-growth (our model)
k=n1
k=n2
TDB
F-list
Stage 1:
FP-tree construction
Border_sup
大規模データ
に対する高速
マイニング
FP-tree
Top n1
frequent patterns
FP-tree
Top n2
frequent patterns
FP-tree
Toppattern
n3
generation
frequent patterns
Boundary_sup
Stage 2 :
k=n3
a complete F-list : a list of all 1-itemsets descending order of supports.
60
40
20
0
解析規模の比較
解析規模世界No.1
12
研究開発成果(3)-b
„ 知識フィルタリング技術
„
分散型高速データ解析技術
„
„
データマイニングの高速化(分散化、レスポンスタイム改善)技術
(世界最大規模データを対象としたマイニングトータル時間短縮)
Webページからの有用情報抽出技術
„
知識、トピックス抽出技術(世界最大規模データを対象とした解析)
„Web視聴率解析機能、Webサービス
サポート機能付きタブWebブラウザ
„日本で約10万人ユーザ
„総ダウンロード数約300万(累計)
Lunascape(ブラウザ)の画面
13
研究開発成果(3)-c
„ Lunascape からのユーザ情報の利用
自己組織化
情報送信
Calculation
Self Organizing Grid
推薦情報
Servers
14
研究開発成果(3)-d
試作システム(デモ)ー製品評判調査
2. 収集したサイトのリンク関係を手が
かりに、評判サイトを表示
1. 自動車メーカーのホームページを表示
3. リンク関係を手がかりに、競合
メーカー・製品サイトを表示
15
成果普及への取り組み(1)
„ 開発技術の利用イメージ
BLOG
アーカイブと
連携して学習
補助教材とし
て利用
Webページ/
ニュース
BBS
GPSと連携して
カーナビへ近辺
情報配信
internet
Archive
GPSと連携し
て近辺情報
をケータイへ
配信
データセンッタ
二次知識ベース
ニーズ毎の
情報
クローラー
リンク
分析
自動
抽出
自動
分類
時系列 アグリ
検索
モニタ ゲーション エンジン
サービス提供基盤
アグリゲータ
一次情報アーカイブ
業務関連情報を
トピックごと参照
モニタリング、
マーケティング
に活用
16
成果普及への取り組み(2)
適用例
「インターネット情報の統計活用」
企業HP
企業HP
個人HP
個人HP
ユーザー
ユーザー
掲示板HP
掲示板HP
(Web・携帯向け)
(Web・携帯向け)
わが社に対する
消費者の印象
は?
この商品に今から
注目しておいた
ほうがよさそうだ
メルマガ
メルマガ
収集
Webクローラ
インターネット
120億
単の
情報
リンク元URL集
どんなサイトから注目されて
る?
HP更新頻度表
季節もののサイトは?
キーワード頻度分析
注目の言葉は何だろう?
コンテンツ
アーカイブ
サイトランキング推移グラフ
このサイトの人気度の移り変わりは?
1世代
分類&分析&抽出→加工して提供
2世代
次はこれが
流行るかな?
‹120億のインターネットコンテンツを収集/対象とするため、偏りのない統計分析が可能。
‹120億のインターネットコンテンツを収集/対象とするため、偏りのない統計分析が可能。
‹分類、キーワード、サイト人気度、ランキング情報など多角的観点での分析結果が得られる。
‹分類、キーワード、サイト人気度、ランキング情報など多角的観点での分析結果が得られる。
3世代
…
これは
永久保存版!
・噂やネットの世界の動きを視覚的に把握できる!
・これまでの流行から、今度は何が流行るかを検討できる!
・インターネット上での、自サイトの評価はこうだったのか!
17
成果普及への取り組み(3)
適用例
•
「企業内情報ポータル(EIP)」
Web全体から抽出したグループやトピックを、EIP(企業内情報ポータル)の情報ソー
スとして、業種や業務毎にカスタマイズして提供するサービス
人事情報
EIPシステム
技術情報
e-Society
e-Society
Web知識抽出サービス
Web知識抽出サービス
営業日報
用途
zR&D技術調査
Webトピック
提供企業向けにカスタマイズ
9 医薬品開発の先行技術情報の取得など。
zマーケティング調査
9 自社製品の浸透度、競合製品との比較調査な
ど。特に、時系列での変化。
18
成果普及への取り組み(4)
適用例
「振り込め詐欺撲滅」
解決のための技術
急速なネットワーク社会進展
-インターネットの世帯普及率約88%
(平成15年通信利用動向調査)
- Web等を介した情報共有の進展
e-Society
e-Society
Web知識抽出サービス
Web知識抽出サービス
①Webからの詐欺関連情報の網羅的収集
-詐欺情報に対応するフォーカストクローリング技術
-網羅性を高めるためのWebコミュニティ抽出技術
②家庭内情報機器への効果的な出力技術
着目点
-Web上で数多くの犯罪
事例が公開されている
-様々な手口に関する認
知度を上げることにより
社会セキュリティ問題を
未然に防止可能
①
社会セキュリティ問題の顕在化
ITによる情報共有による手口の多様化
電子メール等を介在することによる犯罪件数の増大
→社会的なセキュリティ問題(振り込め詐欺等)による
被害100億円超(2004年前半)
(警察庁2004年9月8日発表資料)
→犯罪手口の巧妙化
(インターネット等を基盤とする情報共有の負の遺産)
オレオレ詐欺の手口①
おばあちゃん
助けてー
俺だよ、俺
頼むから助けて!
②
一例:家庭内電子ポスター
19
成果普及への取り組み(5)
教育ポータル
適用例
ー先生のための授業作り支援ー
検索エンジン
収集ロボット
自動分類
人手による
確認作業
検索用DB
キーワード:
教科で
探す
小学校
算数 生活 国語 道徳 …
中学校
数学 理科 社会 国語 総合 …
高校
数学 生物 化学 物理 地学 日本史
20
企業との連携
インターネット上の知識集約
を可能にするプラットフォー
ム構築技術
ソフトウェア開発・運用ノウハウ
Webクローラ分散化・再収集技術
ソフトウェア開発能力
大規模データマイニング技術
ネットワーク負荷分散技術
実負荷分散データ提供
富士通株式会社
平成15年度~
アクセラテクノロジ株式会社
平成15年度~
NTT未来ねっと研究所
NTTコミュニケーション科学基礎研究所
平成15年度~
新しいビジネス展開検討
Web収集1次データ提供
早稲田情報技術研究所
平成17年度~
21
他プロジェクトの連携
インターネット上の知識集約
を可能にするプラットフォー
ム構築技術
平成15年度~
平成16年度~
平成17年度~
21世紀COE「プロダクティブICTアカデミア」(早稲田大学)
Webデータのマイニングにおいて技術協力。
NTCIR情報検索システム評価用テストコレクション
構築プロジェクト(国立情報学研究所)
Webデータを対象とした検索コンテスト実施のためのテストコレク
ション作成、収集データの整理技術について技術協力。
言語天文台プロジェクト(長岡技術科学大学)
全世界のWebデータ収集に関して技術協力。
22
関連プロジェクトの比較
比較項目
WebFountainプロジェクト(IBM)
本研究開発(e-Society)
解析規模
×
20億URL
○ 119億URL
Webデータ収集・
更新
△
更新頻度非公開
○ 1ヶ月以内の新しさに更新
非構造化データ
の解析方
法
○
×
全文に自動タギング
処理時間が長い
△ リンク構造とアンカーのみ利用
○ 処理時間が短い
マイニング手法
△ マイニング手法非公開
120
億
100
80
○ TF^P-growth法により高速化
従来(日本IBMアルマデン研
究所)(2004年)
e-Society(2005年度末)
e-Society(終了時)
60
40
20
0
解析規模の比較
23
人材育成
博士過程学生、修士課程学生がベンチャー設立
40
予定
修士(累積)36名
35
30
25
各年度
の在籍
者数
20
22名
18名
15
10
企業(累積)21名
企業
修士
博士(累積)7名
5
博士
0
平成15年度
平成16年度
5名
平成17年度
平成18年度
平成19年度
本プロジェクト在籍者数及び累積推移と今後の予定
24
外部発表
2003年度
2004年度
2005年度
(6/末)
合
計
国際会議
3
9
0
12
論文誌
0
0
1
1
学会誌
5
0
1
6
受賞
2
1
0
3
2003年度
2004年度
2005年度
(6/末)
合
計
招待講演
1
2
1
4
研究会・
全国大会
8
5
0
13
25
Fly UP