第一回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を使っている

  • IPアドレスを1ユーザをベースにいているがモットいい方法は?
    • livedoorの例
      • mod_usertrackをつかっている
  • モバイルの場合
    • 例がない
  • サーバをHTTPではなく直DB見たほうが早いかも
    • livedoorはHTTPでやっている
    • もし直やりたければ
ライブドアブログ公式攻撃マニュアル
  • 2chまとめブログを無差別dos攻撃を受けた
  • 10秒くらい連続アクセスするとエラーになる
  • 社内ではもっとよい攻撃方法あり(社外秘)

コラム 伊勢幸一のセキュリティ事件簿 自社サイトを守るためハッカー団に潜入 | 日経SYSTEMS | 日経BP記事検索サービス

インサイドlivedoor blog

  • livedoor blogのspec
    • 2003 11 Open
    • 270万 User
    • 5000万 PV/day
    • 10万投稿/day
  • livedoor blogのサーバ構成
    • web
    • portal-www,cms-www
      • apache2.2+mod_proxy_balancer+Sledge
    • blog-www
      • apache2.2+mod_ldblog_mapper2 + mod_include(SSI)
    • db
      • mysql
      • user-cluster DB
        • 記事、コメント、デザイン
        • user単位のパーティショニング(アルゴリズムではなく手動で分割)
    • strage
      • 商用strage
      • 数個のノード
      • blogをhtmlに書き出したもの
    • image strage
  • まとめ
  • 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はシュワルツを使っている
  • 新管理画面について
    • 3年半ぶりのリニューアル
    • euc-jp -> utf8
    • blog保存データも新規ユーザぁからutf-8
    • マルチブログ・グループブログ等の新機能
  • UI
  • 文字コードの多重化(一番大変)
    • blog単位でcharsetを切り替える
    • CMS/Portal/既存blogはまだEUC-JP
  • 管理画面URL変更
  • 今春新サービス

    ↓

    ↓

例)
edgeユーザがlivedoorユーザがつくったr

ASPパートナー募集中

質問
  • blogで投稿された画像が友達限定とかされている場合はどうしてる?
    • mod_access_tokenは使ってない
      • 導入事例:livedoor qure(コスプレサイト)
  • 攻撃から守るノウハウ
    • 10秒でattackが防御
      • mod_dos_detectorみたいなもの
    • スパムチャンプルー

livedoorのネットワークとトラフィックパターン

DATAHOTELネットワーク概要
  • Backbone
  • iDC    (データセンター)
    • フルマネージド、穂スティングサービス
  • Wireless,BB
OCN pacnet JPIX JPNAP IIJ

 \    \    \    /   /
       |livedoor|

  • 冗長化
    • Wireless,iDCはメッシュ型
    • BBは各地に分散しているのでRing型
iDC,ISPそれぞれの立場から見たトラフィック傾向
  • 一般的なISPトラフィック
    • インターネット->ISP(多)
    • ISP->インターネット(少)
  • 平日
    • 20時ころから増え始め、24時をピークに減少
    • 朝に小さなピークがある
      • 出社前のメールチェック
    • 昼の12時にもピーク
      • デスクでネットを見ながらお昼を過ごす人が多いのでは?
  • 休日
    • 昼の12時にピークが発生しない
  • P2Pトラフィックが生じると
  • iDCトラフィック
    • インターネット->ISP(少)
    • ISP->インターネット(多)
  • livedoor blog,
    • 夜中12時くらいが多い
  • livedoorねとらじ
    • 夜中12時くらいが多い
    • お昼休みは逆に下がる
    • 仕事中にラジオを聞きながら仕事をしている人が多い?
最近の話題
  • Google障害時
    • 正常webサイトをフィッシングサイトと誤認
    • livdoor blogはbookmark,rss等影響なし
    • googleは表に出てこないが障害がちょぼちょぼある
  • 年末年始
    • 31-1にかけて通常の夜のピークがない
      • 二年参り?
    • 0時過ぎにちょこっとあがる
      • あけおめメール?
  • インターネットが壊れました。
    • AS間の経路を交換しているプロトコルでオペミス
      • 上流で回線が切れる
    • livedoorは影響なかった
    • 重要なインフラですが、人手で管理している
IPv6トラフィックについて
WIDE    JPNAP

   |livedoor|

  • 2chipv6板を
    • ipv4読める,かけない
    • ipv6読める,かける
  • IPv4と比較して流量が少ない
  • Tokyo6to4というprojectが始まっている
質問
  • iDCの平日18:00-20;00に落ちる(飯落ち ご飯食べてる)

P2Pコンテンツ配信技術の現状

大容量ファイル・データの高速転送ならSkeed | 大容量ファイル・データの高速転送ソフトウェア、IoT基盤技術をリードするSkeed 大容量ファイル・データの高速転送ならSkeed | 大容量ファイル・データの高速転送ソフトウェア、IoT基盤技術をリードするSkeed

  • Winny作者
    • 作っただけで逮捕
  • Dreamboat技術顧問
    • SkeedCast開発
コンテンツ配信のためのP2P技術
  • 1世代 1990-
    • ハイブリッド型P2P(データ転送のみ)
  • 2世代 2000-
    • ピュア型P2P(検索機構等全て)
  • 3世代 2002-
    • キャッシュ型P2P(Winny,転送キャッシュを用いる)
  • 4世代 2009-
    • P2P教科書
    • P2P網を分散サーバとみなすシステム
    • キャッシュ型P2P(Winny,転送キャッシュを用いる)
      • SkeedCast

P2P群をサーバとみなす

p2p node <-> p2p node <-> p2p node --> クライアント
Winny->SkeedCast
  • Winny1
    • 第3世代型P2Pファイルソフト
  • Winny2
    • 情報共有ソフト(大規模BBSをP2Pをいんふらとして)&第4世代
    • 2004年京都府警がきて強制的に開発stop
SkeedCastの話
  • 管理可能性を重視した商用向けP2P
  • 分散サーバ型とP2P型のハイブリッド
p2p node <-> p2p node <-> p2p node --> クライアント
P2Pとサーバ型配信
  • Winny
    • PureP2P
    • 回線速度による緩やかな上下関係
  • SkeedCast
    • 固定nodeで配信(CDN)
    • きびしくなってきたらユーザノードを借りて再配信可能
ノード構成
投入 node <-> 中継node(ユーザのPCも) <-> ユーザPC

          ↑
       |コントロールnode|

Skeed共有ノード
ユーザ中継可能
  • ユーザノードを中継ノードとして使用可
  • 通常はサーバ型配信でユーザノードで配信も可能
SkeedCastにおけるコンテンツ流通
  • デジタル署名
  • ホワイトリストフィルタリング
  • キャッシュのライフタイム管理
デジタル署名
  • 全てのコンテンツに航海者IDを付与
  • ID毎のデジタル署名(1024bit RSA)
  • IDと署名は管理側で発行
流通管理 -> 署名 -> コンテンツ提供側 ->コンテンツ配信
署名  
流通フィルタリング
  • Winnyのフィルタ
    • ダウンロードフィルタ
    • 無視フィルタ(black list)
  • SkeedCastのフィルタ
    • ダウンロードフィルタ
    • 無視フィルタ(black list)
    • 許可フィルタ(white list)
      • 許可フィルタに何も書かないとそのノードには何も流通しない
再中継の制御
  • 中継ノードはUploadできない、Uploadは投入ノードのみ
  • Winnyではキャッシュが残っていた場合は再流通されてしまう
Skeedレシーバー
  • ユーザPCにインストール
  • Webと連携(JavaScriptで制御)
  • Webページからシームレスに利用
httpd   <---------------> ブラウザ Winows Media Player

                ↑↓

共有ノード <---------------> Skeedレシーバー
キャッシュとしての流通
  • コンテンツ流通は全て暗号化
  • キャッシュ内にダウンロード
  • HTTP,ストリーミングプロトコルに変換
質問

デジタルコンテンツ配信の法的問題

  • 金子さんの弁護団の事務局長 壇さん
  • Yahoo!BB情報漏えい事件も
  • 情報資格も持っている

ネットとコンテンツ流通

ネットがコンテンツ業界に大きな損害を与えているというのは本当?

  • レコード販売が落ちているが、着うたとかがあがっている(シフト?)
  • JASRCの売り上げが上がっている
  • 映画の興行収入も官
  • まとめ
    • ネットは著作権者に村議を与えていない可能性が高い
    • むしろ著作権者に利益あり

P2Pは放送か通信?

  • 特定電気通信?

配信者は責任を負うのか?

  • 私的にはOK
  • 権利者から連絡をうけて削除すれば足りる
    • 直接の配信者だった場合は適応外
  • 開発者、提供者が刑事事件当事者になったのは日本、韓国、台湾

検察側が主張するWinny事件における幇助成立の基準

  • その技術の社会のおける利用状況(アックスアンケート調査)
  • それに対する認識
  • 提供する際の認識

IP-TVのニーズ

  • 海外の日本の番組を見たい
  • 東京のローカル番組を地方で見たい
  • 放送は地方免許(県境等)

放送会社とベンチャー

  • 録画ネット
  • ロクラク
    • 運営会社が勝ち

検討課題

日本で正しいビジネスモデル構築が大切

  • Googleが書籍全文のデータベース化
  • 著作者から申告がない場合は米国内で閲覧可能

質問

  • 著作権団体が強いと日本はどうなる?
    • アメリカから制度を変えろといわれて終わり
  • livedoorとdream castで協業して動画uploadサイトを作ったらどうか?
    • ぜひ