第一回livedoorテクニカルセミナー
cicindela(シシシンデラ)に関して
- 実践仕様のアーキテクチャ
例)
- user001がアイテム999を選択した。
- user002がアイテム998に5点をつけた -> recomendationエンジン
input API -> |buffer| -batch->|一次DB table|
↓
|二次DB table| 集計用
|中間table|
↓tableをrenameして入れ替える
|二次DB table| オンライン用
|中間table|
- バッチで出来るところはバッチで
- 速度が重要
実用例 livedoor clip
- 12,000 insert /day
1.直近一時間以内のデータ
- このページをクリップしている人しかこのページをクリップしていないというデータが重要
- 15分に一回データを再集計
2.通常のレコメンド
3.タグベースのレコメンド
1のアルゴリズム風アルゴリズム
- このページにこのタグをつけた人が..
実用例 DLsite
- レーティング
- 細かな配慮が必要
- 作品ページは作家のもの
- 女性ものを男性に勧めない等
- 作品ページは作家のもの
youbride結婚情報サービス
E(女性)を選んだ女性ははDさん(男性)をえらんでます
アクションをまったくしない人に対してレコメンド
アクションをしている人と同じ属性をつかってお勧め
申し込み総数が0.6%Up
カップル成立が2割りUp
質問
ニュースサイトでcicindelaを使っている
インサイドlivedoor blog
- livedoor blogのspec
- 2003 11 Open
- 270万 User
- 5000万 PV/day
- 10万投稿/day
- livedoor blogのサーバ構成
- まとめ
- apache+mod_perl+sledge
- OR Mapper -> Class::DBI
- user blogの回数の多い処理
- mod_ldblog_mapper2
- mod_ds_dispatcher /mod_dav_repl
- apache+mod_perl+sledge
- apache独自module mod_ldblogg_mapperについて
user to userpath(nfs)変換モジュール
http://blog.livedoor.com/staff/ -> bog-storage/1/s/f/staff/
- memcache/dbを参照した結果を環境変数にセット
blog-www | -> memcached |
↓
キャッシュが存在しない 存在する
↓ ↓
blog-app | strage |
静的ファイルキャッシュとは
- プラグイン部分は全ページに存在
- 新着記事、新着コメント
- 何か更新されるたびにほぼ全部のページを再構築
↓
-
- プラグインは個別にキャッシュしmod_include(SSI)で挿入
- 個別記事の前後記事リンク等は更新の必要あり
- なるべく必要なページのみ再構築
- 差構築といいつつも実際は削除
- 次回ユーザアクセスで構築される
- queueはシュワルツを使っている
- 新管理画面について
- UI
- 文字コードの多重化(一番大変)
- 管理画面URL変更
- 今春新サービス
- livedoor blog asp始まる
↓
↓
例)
edgeユーザがlivedoorユーザがつくったr
ASPパートナー募集中
livedoorのネットワークとトラフィックパターン
DATAHOTELネットワーク概要
- Backbone
- iDC (データセンター)
- フルマネージド、穂スティングサービス
- Wireless,BB
OCN | pacnet | JPIX | JPNAP | IIJ |
\ \ \ / /
|livedoor|
iDC,ISPそれぞれの立場から見たトラフィック傾向
最近の話題
質問
- iDCの平日18:00-20;00に落ちる(飯落ち ご飯食べてる)
P2Pコンテンツ配信技術の現状
- Winny作者
- 作っただけで逮捕
- Dreamboat技術顧問
- SkeedCast開発
コンテンツ配信のためのP2P技術
P2P群をサーバとみなす
p2p node | <-> | p2p node | <-> | p2p node | --> クライアント |
Winny->SkeedCast
ユーザ中継可能
- ユーザノードを中継ノードとして使用可
- 通常はサーバ型配信でユーザノードで配信も可能
SkeedCastにおけるコンテンツ流通
- デジタル署名
- ホワイトリストフィルタリング
- キャッシュのライフタイム管理
流通フィルタリング
- Winnyのフィルタ
- ダウンロードフィルタ
- 無視フィルタ(black list)
- SkeedCastのフィルタ
- ダウンロードフィルタ
- 無視フィルタ(black list)
- 許可フィルタ(white list)
- 許可フィルタに何も書かないとそのノードには何も流通しない
再中継の制御
- 中継ノードはUploadできない、Uploadは投入ノードのみ
- Winnyではキャッシュが残っていた場合は再流通されてしまう
Skeedレシーバー
- ユーザPCにインストール
- Webと連携(JavaScriptで制御)
- Webページからシームレスに利用
httpd | <---------------> | ブラウザ | Winows Media Player |
↑↓
共有ノード | <---------------> | Skeedレシーバー |
キャッシュとしての流通
- コンテンツ流通は全て暗号化
- キャッシュ内にダウンロード
- HTTP,ストリーミングプロトコルに変換
ネットとコンテンツ流通
ネットがコンテンツ業界に大きな損害を与えているというのは本当?
P2Pは放送か通信?
- 特定電気通信?
配信者は責任を負うのか?
- 私的にはOK
- 権利者から連絡をうけて削除すれば足りる
- 直接の配信者だった場合は適応外
- 開発者、提供者が刑事事件当事者になったのは日本、韓国、台湾
検察側が主張するWinny事件における幇助成立の基準
- その技術の社会のおける利用状況(アックスアンケート調査)
- それに対する認識
- 提供する際の認識
IP-TVのニーズ
- 海外の日本の番組を見たい
- 東京のローカル番組を地方で見たい
- 放送は地方免許(県境等)
日本で正しいビジネスモデル構築が大切
- Googleが書籍全文のデータベース化
- 著作者から申告がない場合は米国内で閲覧可能