web技術 - wide...

54
1 WEB技術 もともとは、完全な分散システムだ った。 成功が始まると、集中化してビジ ネス化された。 再び、分散化が起こりつつある。

Upload: others

Post on 27-Jan-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: WEB技術 - WIDE Projecthiroshi1.hongo.wide.ad.jp/hiroshi/files/network/10_Web.pdf処理負荷の分散手法 1. 水平分散 – 複数のサーバに並列的に処理を実行させる。–

1

WEB技術

もともとは、完全な分散システムだった。成功が始まると、集中化してビジネス化された。再び、分散化が起こりつつある。

Page 2: WEB技術 - WIDE Projecthiroshi1.hongo.wide.ad.jp/hiroshi/files/network/10_Web.pdf処理負荷の分散手法 1. 水平分散 – 複数のサーバに並列的に処理を実行させる。–

2

WWWの生い立ち

• Tim Berners-Lee (CERN), 1989年

– 高エネルギー物理学資料のハイパーリンク化

• ハイパーテキスト技術

– マークアップ言語: HTML

– 転送プロトコル : HTTP

• Mac Andreessen (イリノイ大), 1993年

– Mosaic ➔ インターネットの一般化のトリガ

• Netscape Navigator, Internet Explorer

• WWWコンソーシアム(W3C)

Page 3: WEB技術 - WIDE Projecthiroshi1.hongo.wide.ad.jp/hiroshi/files/network/10_Web.pdf処理負荷の分散手法 1. 水平分散 – 複数のサーバに並列的に処理を実行させる。–

3

URL (Uniform Resource Locator)

スキーム名://ホスト名.ドメイン名:ポート番号/パス/ファイル名

例:http://www.aida.k.u-tokyo.ac.jp:8080/index.html

• 「:ポート番号」、「/ファイル名」は省略可能

• 「:ポート番号」を省略した場合にはスキームごとの既定値が使用される

Page 4: WEB技術 - WIDE Projecthiroshi1.hongo.wide.ad.jp/hiroshi/files/network/10_Web.pdf処理負荷の分散手法 1. 水平分散 – 複数のサーバに並列的に処理を実行させる。–

client-server と peer-peer(1)

• クライアント

– 能動的にサービス提供を促す側

• サーバ

– 受動的にサービス提供する側

Client Server

サービス要求

サービス提供

Page 5: WEB技術 - WIDE Projecthiroshi1.hongo.wide.ad.jp/hiroshi/files/network/10_Web.pdf処理負荷の分散手法 1. 水平分散 – 複数のサーバに並列的に処理を実行させる。–

5

SD

PROFESSIONAL WORKSTATION

W

PROFESSIONAL WORKSTATION

V70

SD

USER

SD

450

ENTERPRISE

SunSPARC

DRIVENULTRA

OriginalContents

Server

Get http://www.hogehoge.com

index

Gif-1

Gif-2

一度のhttpリクエストに際し、ファイル形状ごとにそれぞれTCPセッションの確立から始めなければならないため、アクセス数の増加に対しサーバの負荷が指数関数的に増加する

通常のWEBコンテンツの流れ

“雲の中はどんなデータリンクでも構わない”

要は、大変たくさんの TCP コネクション

Page 6: WEB技術 - WIDE Projecthiroshi1.hongo.wide.ad.jp/hiroshi/files/network/10_Web.pdf処理負荷の分散手法 1. 水平分散 – 複数のサーバに並列的に処理を実行させる。–

たくさんの TCP は嫌だなぁ。。。➔ Google の解決法

(1)TCPの数 ➔サーバへの負担

(2)Slow-Start (フロー制御, Congestion window control)

6

QUIC (Quick UDP Internet Connections)

a. UDPを使って TCPの問題を解決

b. UDP Socketの上にデータフローを多重化

Page 7: WEB技術 - WIDE Projecthiroshi1.hongo.wide.ad.jp/hiroshi/files/network/10_Web.pdf処理負荷の分散手法 1. 水平分散 – 複数のサーバに並列的に処理を実行させる。–

7

ユーザパソコン

図8-2 WEBサービスの基本概念

JAL ANA

Hyatt Hilton Marriott<航空会社>

<ホテル>

Hertz Avis<レンタカー>

JAL ANA

<航空会社>

Hyatt Hilton Marriott

<ホテル>

Hertz Avis

<レンタカー>

ユーザパソコン

WEBサービスポータルサーバ

(a) 既存サービス (b) WEBサービス

Page 8: WEB技術 - WIDE Projecthiroshi1.hongo.wide.ad.jp/hiroshi/files/network/10_Web.pdf処理負荷の分散手法 1. 水平分散 – 複数のサーバに並列的に処理を実行させる。–

8

インターネット

http ftp smtp telnet

HTMLインタプリタ

スクリプト言語解釈

Java仮想マシン

グラフィックビューア

ビデオビューア

サウンドプレーヤ

コントローラ<<入力>>

<<ディスプレイ>>

図8-4 WEBブラウザの基本構造

Page 9: WEB技術 - WIDE Projecthiroshi1.hongo.wide.ad.jp/hiroshi/files/network/10_Web.pdf処理負荷の分散手法 1. 水平分散 – 複数のサーバに並列的に処理を実行させる。–

9

マークアップ言語

• 文書中にタグを埋め込むことによって、文書の論理構造(表題、段落など)や表示属性(レイアウト、文字サイズ、色など)を規定する言語

Page 10: WEB技術 - WIDE Projecthiroshi1.hongo.wide.ad.jp/hiroshi/files/network/10_Web.pdf処理負荷の分散手法 1. 水平分散 – 複数のサーバに並列的に処理を実行させる。–

10

タグ

<タグ名属性名=“属性値”>文字列</タグ名>

開始タグ 終了タグ

• タグ名、属性名の大文字/小文字は区別しない

• 終了タグは省略されることもある

Page 11: WEB技術 - WIDE Projecthiroshi1.hongo.wide.ad.jp/hiroshi/files/network/10_Web.pdf処理負荷の分散手法 1. 水平分散 – 複数のサーバに並列的に処理を実行させる。–

11

Page 12: WEB技術 - WIDE Projecthiroshi1.hongo.wide.ad.jp/hiroshi/files/network/10_Web.pdf処理負荷の分散手法 1. 水平分散 – 複数のサーバに並列的に処理を実行させる。–

12

Page 13: WEB技術 - WIDE Projecthiroshi1.hongo.wide.ad.jp/hiroshi/files/network/10_Web.pdf処理負荷の分散手法 1. 水平分散 – 複数のサーバに並列的に処理を実行させる。–

13

Page 14: WEB技術 - WIDE Projecthiroshi1.hongo.wide.ad.jp/hiroshi/files/network/10_Web.pdf処理負荷の分散手法 1. 水平分散 – 複数のサーバに並列的に処理を実行させる。–

14

XML言語の特徴

• タグの自由な定義(日本語、データの意味)

• 簡素で厳密な言語仕様、終了タグの必須化

• 内容情報(XML文書)と表示属性(スタイル)

の分離

• 業界での共通タグの定義(DTD)

• 人間には理解し易く、コンピュータには扱い易い文書。

Page 15: WEB技術 - WIDE Projecthiroshi1.hongo.wide.ad.jp/hiroshi/files/network/10_Web.pdf処理負荷の分散手法 1. 水平分散 – 複数のサーバに並列的に処理を実行させる。–

15

Page 16: WEB技術 - WIDE Projecthiroshi1.hongo.wide.ad.jp/hiroshi/files/network/10_Web.pdf処理負荷の分散手法 1. 水平分散 – 複数のサーバに並列的に処理を実行させる。–

Again….

Native digital vs. Faked digital

• Text (ASCII)

• PDF

• HTML

• RDF (Resource Description

Framework)

➔ LOD (Linked Open Data)

16

Bit-Map…..

• BMP

• JPEG

• MPEG

• PostScript

• Flush

• XML

Page 17: WEB技術 - WIDE Projecthiroshi1.hongo.wide.ad.jp/hiroshi/files/network/10_Web.pdf処理負荷の分散手法 1. 水平分散 – 複数のサーバに並列的に処理を実行させる。–

17

eビジネスと XML• IBMが蘇った根本的ビジネスモデル

• これまで、ばらばらに個別データ処理していたものを、一つの窓口(これをポータルという) から処理可能に統合化する。バックエンドには、たくさんの個別システムが存在する。 データのパイプライン処理、並列処理、統合化処理を行う。

• 必要なもの ;データと手続きの統合化– XML言語という共通メタ言語の利用

• デジタル=情報の水平展開– まさに、旅行代理店の仕事。。。。。

– ってことで、じきに、旅行代理店産業は消える運命。。。

Page 18: WEB技術 - WIDE Projecthiroshi1.hongo.wide.ad.jp/hiroshi/files/network/10_Web.pdf処理負荷の分散手法 1. 水平分散 – 複数のサーバに並列的に処理を実行させる。–

18

例7 : 旅行(=eビジネスの典型)

• 移動手段– 航空券 :既にフルデジタル

– レンタカー :ほぼ、デジタル化完了

– 電車 :最も遅れている業界

– 宿泊 :Webですべてが完了

(*) ここまでは、既にポータルが存在。

• 食事 :Web検索が普通

• 嗜好 :Web検索で対応可能(含予約)

• お金 :キャッシュレス化(デジタル化)

Page 19: WEB技術 - WIDE Projecthiroshi1.hongo.wide.ad.jp/hiroshi/files/network/10_Web.pdf処理負荷の分散手法 1. 水平分散 – 複数のサーバに並列的に処理を実行させる。–

19

Page 20: WEB技術 - WIDE Projecthiroshi1.hongo.wide.ad.jp/hiroshi/files/network/10_Web.pdf処理負荷の分散手法 1. 水平分散 – 複数のサーバに並列的に処理を実行させる。–

20

Page 21: WEB技術 - WIDE Projecthiroshi1.hongo.wide.ad.jp/hiroshi/files/network/10_Web.pdf処理負荷の分散手法 1. 水平分散 – 複数のサーバに並列的に処理を実行させる。–

21

例7 : 旅行(=eビジネスの典型)

• 移動手段– 航空券 :既にフルデジタル

– レンタカー :ほぼ、デジタル化完了

– 電車 :最も遅れている業界

– 宿泊 :Webですべてが完了

(*) ここまでは、既にポータルが存在。

• 食事 :Web検索が普通

• 嗜好 :Web検索で対応可能(含予約)

• お金 :キャッシュレス化(デジタル化)

Page 22: WEB技術 - WIDE Projecthiroshi1.hongo.wide.ad.jp/hiroshi/files/network/10_Web.pdf処理負荷の分散手法 1. 水平分散 – 複数のサーバに並列的に処理を実行させる。–

ポータルの次

• ブラウザーに、処理機能をプラグイン or

ダウンロード して動かせばいいんじゃない ?

– User Experience(反応遅延)の向上

– ユーザの資源をありがたく利用(搾取)

➢これは、昔からあった考え方です。

「プロセス・マイグレーション」

「Java Virtual Machine」22

Page 23: WEB技術 - WIDE Projecthiroshi1.hongo.wide.ad.jp/hiroshi/files/network/10_Web.pdf処理負荷の分散手法 1. 水平分散 – 複数のサーバに並列的に処理を実行させる。–

23

大規模(WEB)サーバ

Page 24: WEB技術 - WIDE Projecthiroshi1.hongo.wide.ad.jp/hiroshi/files/network/10_Web.pdf処理負荷の分散手法 1. 水平分散 – 複数のサーバに並列的に処理を実行させる。–

最近の傾向と手法

1. マルチプロセッサ型の計算機アーキテクチャの導入

分散処理(機能分散、地理的分散)

2. キャッシュ技術の導入

CDN、P2Pなど

3. DMA(Direct Memory Access)の導入

P2P技術

4. 仮想化技術の導入

Virtualization、Overlayネットワーク

➔ Migration(移動性) と Scale-Out(収縮・膨張)

Page 25: WEB技術 - WIDE Projecthiroshi1.hongo.wide.ad.jp/hiroshi/files/network/10_Web.pdf処理負荷の分散手法 1. 水平分散 – 複数のサーバに並列的に処理を実行させる。–

CPUの熱密度の推移

年代

熱密度(W/cm2)

1

10

100

1,000

10,000

1970 1980 1990 2000 2010

4004

8008

8080 8085

8086286

386486

ホットプレート

核反応炉

ロケットの噴射口

太陽の表面

Page 26: WEB技術 - WIDE Projecthiroshi1.hongo.wide.ad.jp/hiroshi/files/network/10_Web.pdf処理負荷の分散手法 1. 水平分散 – 複数のサーバに並列的に処理を実行させる。–
Page 27: WEB技術 - WIDE Projecthiroshi1.hongo.wide.ad.jp/hiroshi/files/network/10_Web.pdf処理負荷の分散手法 1. 水平分散 – 複数のサーバに並列的に処理を実行させる。–

最近の傾向と手法

1. マルチプロセッサ型の計算機アーキテクチャの導入 ・・・ 電気、熱、処理

分散処理(機能分散、地理的分散) ・・・Scale-Out

2. キャッシュ技術の導入

CDN、P2Pなど

3. DMA(Direct Memory Access)の導入

P2P技術

4. 仮想化技術の導入

Virtualization、Overlayネットワーク

➔ Migration(移動性) と Scale-Out(収縮・膨張)

Page 28: WEB技術 - WIDE Projecthiroshi1.hongo.wide.ad.jp/hiroshi/files/network/10_Web.pdf処理負荷の分散手法 1. 水平分散 – 複数のサーバに並列的に処理を実行させる。–

処理負荷の分散手法

1. 水平分散

– 複数のサーバに並列的に処理を実行させる。

– 特定の機能ごとに、専門化したサーバを用意し、適切に Dispatchする。

2. 垂直分散

– Proxy機能や Cache機能を提供し、クライアントに近い仮想ノード/分身ノードが、データ処理を分担する。

– データの変更時の Consistencyの維持が課題となる。

Page 29: WEB技術 - WIDE Projecthiroshi1.hongo.wide.ad.jp/hiroshi/files/network/10_Web.pdf処理負荷の分散手法 1. 水平分散 – 複数のサーバに並列的に処理を実行させる。–

30

WEBシステムの歴史と技術チャレンジ

Page 30: WEB技術 - WIDE Projecthiroshi1.hongo.wide.ad.jp/hiroshi/files/network/10_Web.pdf処理負荷の分散手法 1. 水平分散 – 複数のサーバに並列的に処理を実行させる。–

31

WWWサーバ: 基本中の基本

• レスポンスが遅いとどうなる ? • クリックを繰り返す (10秒くらが限度)

➔Positive Feedback

たくさんのTCPコネクションがForkされる。。。

計算機資源がcatastrophy的に使用される。。。。

要は、DDOSと同じ状況

• 2度とアクセスしない….…

• ビジネスチャンスの喪失

Page 31: WEB技術 - WIDE Projecthiroshi1.hongo.wide.ad.jp/hiroshi/files/network/10_Web.pdf処理負荷の分散手法 1. 水平分散 – 複数のサーバに並列的に処理を実行させる。–

32

Optical Networking at Double

Moore’s Law• Moore’s Law says that computer speed=2x every 18

months, and the cost = 50%

• John Roth, president and chief executive officer, says that Nortel Networks is moving at twice the speed of Moore's Law, doubling the capacity of its fiber-optic systems and halving the cost every nine months.

• Networks: 3 years=16x capacity, 6% cost

– Computers: 3 years=4x speed, 25% cost

• Networks: 6 years=256x capacity, >1/2% cost

– Computers: 6 years=16x speed, 6% cost

Source: HPCwire [email protected]>

Page 32: WEB技術 - WIDE Projecthiroshi1.hongo.wide.ad.jp/hiroshi/files/network/10_Web.pdf処理負荷の分散手法 1. 水平分散 – 複数のサーバに並列的に処理を実行させる。–

33

Scaling problem as we know it

• ネットワーク帯域は1年で2倍に• AT&T Research [Coffman, Odlyzko 2000]

• コンピュータの性能は18ヶ月で2倍に• Moore’s Law

1999 2000 2001 2002

Server

Network

Approximateswitching bandwidth

Page 33: WEB技術 - WIDE Projecthiroshi1.hongo.wide.ad.jp/hiroshi/files/network/10_Web.pdf処理負荷の分散手法 1. 水平分散 – 複数のサーバに並列的に処理を実行させる。–

34

WWWサーバ:基本中の基本動作

• GET methodのみを処理する簡単なWebサーバ• コネクションを受け付ける

• リクエストラインを入力し、URI(パス名)を取り出す

• 適当なステータスラインとヘッダを出力する

• URIで指定されたオブジェクトを出力する

• 掃除をしてから最初に戻る

• レスポンスが遅いとどうなる ? • クリックを繰り返す (10秒くらが限度)

• 2度とアクセスしない

Page 34: WEB技術 - WIDE Projecthiroshi1.hongo.wide.ad.jp/hiroshi/files/network/10_Web.pdf処理負荷の分散手法 1. 水平分散 – 複数のサーバに並列的に処理を実行させる。–

35

実用サーバのプロセス構造

• 基本的な構造

– シングルプロセス

– コネクションごとにプロセスをforkする

– あらかじめ複数のプロセスをforkしておく

– 上記+足りなくなったら新しいプロセスをforkする

• お得な拡張

– マルチスレッドプロセス

– 入出力マルチプレキシング・非同期入出力

– 出力ヘルパー (e.g.: Squid in http-accelerator mode)

Page 35: WEB技術 - WIDE Projecthiroshi1.hongo.wide.ad.jp/hiroshi/files/network/10_Web.pdf処理負荷の分散手法 1. 水平分散 – 複数のサーバに並列的に処理を実行させる。–

36

実用サーバの機能

• URLリダイレクション (Remote Redirection) • 他のサーバへ振る

• URI 書き換え (Aliasing) • 自身の中で振る

• アクセス制御• ACL (ホスト/ネットワーク×URI)

• User Authentication

• Virtual Hosting (Virtual Server)

Page 36: WEB技術 - WIDE Projecthiroshi1.hongo.wide.ad.jp/hiroshi/files/network/10_Web.pdf処理負荷の分散手法 1. 水平分散 – 複数のサーバに並列的に処理を実行させる。–

37

大規模サーバファームの構築

• Webサイトに押し寄せる大量のトラフィック– DNSによる負荷分散

– TCPコネクションディスパッチ

– レイヤ7スイッチ

• 信頼性の向上

• サービスの継続性– ドキュメントアップロード方法

• 対攻撃性の確保– DoS(Deny of Service)への対策

Page 37: WEB技術 - WIDE Projecthiroshi1.hongo.wide.ad.jp/hiroshi/files/network/10_Web.pdf処理負荷の分散手法 1. 水平分散 – 複数のサーバに並列的に処理を実行させる。–

38

基本的な手法

• 水平分散 (Redirection)

• 垂直分散 (キャッシュ)

Page 38: WEB技術 - WIDE Projecthiroshi1.hongo.wide.ad.jp/hiroshi/files/network/10_Web.pdf処理負荷の分散手法 1. 水平分散 – 複数のサーバに並列的に処理を実行させる。–

39

リダイレクション(Redirection)サーバ

① ②③

Webサーバ群

①アクセス要求② URL Redirect (リダイレクト)命令③ Redirected (リダイレクト)アクセス要求

①②

Webサーバ群

①アクセス要求②Aliasing(書き換え)命令③Aliased(書き換え) URLアクセス応答

図8-7 URLリダイレクション 図8-8 URL書き換え(Aliasing)

Page 39: WEB技術 - WIDE Projecthiroshi1.hongo.wide.ad.jp/hiroshi/files/network/10_Web.pdf処理負荷の分散手法 1. 水平分散 – 複数のサーバに並列的に処理を実行させる。–

40

WEBサーバ群

① DNS query (www.wide.com)

② DNS reply メッセージの内容 ;

{IP1, IP2, IP3, IP4, IP5, IP6, IP7}

③ IP3 をwww.wide.comのサーバとして選択

図8-9 DNSによる負荷分散

WEBサーバ群

DNSサーバ(wide.com)

IP1 IP2IP3 IP4

IP5 IP6IP7

サーバサイト#1 サーバサイト#2

Page 40: WEB技術 - WIDE Projecthiroshi1.hongo.wide.ad.jp/hiroshi/files/network/10_Web.pdf処理負荷の分散手法 1. 水平分散 – 複数のサーバに並列的に処理を実行させる。–

41

WEBサーバ群

① DNS query (www.wide.com)

② DNS reply メッセージの内容 ;

{IP1, IP2, IP3, IP4, IP5, IP6, IP7}

③ IP3 をwww.wide.comのサーバとして選択

図8-9 DNSによる負荷分散

WEBサーバ群

DNSサーバ(wide.com)

IP1 IP2IP3 IP4

IP5 IP6IP7

サーバサイト#1 サーバサイト#2

Page 41: WEB技術 - WIDE Projecthiroshi1.hongo.wide.ad.jp/hiroshi/files/network/10_Web.pdf処理負荷の分散手法 1. 水平分散 – 複数のサーバに並列的に処理を実行させる。–

42

Webサーバ群

図8-10 レイヤ7スイッチによる負荷分散

SD

NetApp F210

Network Appliance

レイヤ7

スイッチ

静的ファイル用サーバ

SD

NetApp F210

Network Appliance

レイヤ7

スイッチ

cgi用サーバ

静的ファイルへのアクセス要求cgi アクセス

(インタラクティブ)

図8-11処理機能によるアクセスの誘導

Page 42: WEB技術 - WIDE Projecthiroshi1.hongo.wide.ad.jp/hiroshi/files/network/10_Web.pdf処理負荷の分散手法 1. 水平分散 – 複数のサーバに並列的に処理を実行させる。–

43

DNS負荷分散の問題点

• システムダウンが外部に見えてしまう

• システム構成を短時間で変更することが不可能

Page 43: WEB技術 - WIDE Projecthiroshi1.hongo.wide.ad.jp/hiroshi/files/network/10_Web.pdf処理負荷の分散手法 1. 水平分散 – 複数のサーバに並列的に処理を実行させる。–

44

TCPコネクションディスパッチング (3)

• 可能性

– ローカルな負荷分散

• 同じ処理能力を持つシステムは、大規模な単一システムより小規模な複数のシステムで構成したほうが安価

• スケーラビリティ

– TCPのコネクション能力の上限を超えられる可能性

– 他のテクノロジとの組み合わせによる可能性• サーバリダイレクション+ コネクションディスパッチング

Page 44: WEB技術 - WIDE Projecthiroshi1.hongo.wide.ad.jp/hiroshi/files/network/10_Web.pdf処理負荷の分散手法 1. 水平分散 – 複数のサーバに並列的に処理を実行させる。–

45

地理分散:大規模サイトのもう一つの形態

• サービスの分散配置– 地理的に均一なサービスを提供する

• クライアントから見て最も適切なサーバを選択する– ネットワーク距離(メトリック)

– 往復時間

– アクセスポリシー

• 問題– サーバの位置決め(ロケータ)

– サーバの選択

– 自動化: インターネット的に…

Page 45: WEB技術 - WIDE Projecthiroshi1.hongo.wide.ad.jp/hiroshi/files/network/10_Web.pdf処理負荷の分散手法 1. 水平分散 – 複数のサーバに並列的に処理を実行させる。–

46

大規模サイト構築へのアプローチ

• DNS RoundRobin

• ミラーサーバ

• インターネット上に複数のサーバを配置

• コンテンツの同期問題

httpd

httpd

httpd

internetOriginal

Page 46: WEB技術 - WIDE Projecthiroshi1.hongo.wide.ad.jp/hiroshi/files/network/10_Web.pdf処理負荷の分散手法 1. 水平分散 – 複数のサーバに並列的に処理を実行させる。–

47

トレンド

• Webサービスにおいて常に小さなネットワークレーテンシを確保するためには、 「近く」のサーバへアクセスすればよい– ユーザにサーバを選択させる方法は、あまりにも透過性に欠け、あまりにもインターネット的でない

– HTTPリダイレクションの利用• アドレスからドメイン名への逆引きと位置の推測

• ネットワーク (IP)層が持っている情報の利用

• 実測値の計測と利用

• 透過的な負荷分散

• サーバのサービス能力の差を隠蔽

Page 47: WEB技術 - WIDE Projecthiroshi1.hongo.wide.ad.jp/hiroshi/files/network/10_Web.pdf処理負荷の分散手法 1. 水平分散 – 複数のサーバに並列的に処理を実行させる。–

48

CDNの概要

- Contents Delivery Network –

- Contents Distribution Network -

Page 48: WEB技術 - WIDE Projecthiroshi1.hongo.wide.ad.jp/hiroshi/files/network/10_Web.pdf処理負荷の分散手法 1. 水平分散 – 複数のサーバに並列的に処理を実行させる。–

49

CDS/CDNとは?•CDS

– Content(s) Delivery Service/System

– Content(s) Distribution Service/System

– Web/Streamingなどのrich contentsに対してキャッシュやミラーを積極的に用いた負荷分散システム(サービス)•リバースキャッシュ技術

•キャッシュ管理技術

•リクエストナビゲーション技術

•CDN– Content(s) Distribution Network

•CDSの基盤ネットワーク

– CDS間のコンテンツピアリングを行う単位•例: A社のαというコンテンツをB社のCDSへ提供する

Page 49: WEB技術 - WIDE Projecthiroshi1.hongo.wide.ad.jp/hiroshi/files/network/10_Web.pdf処理負荷の分散手法 1. 水平分散 – 複数のサーバに並列的に処理を実行させる。–

51

通常のコンテンツ取得経路

Webサービスの構造上の問題 (負荷の集中)

ISP iDC

ISP

コンテンツプロバイダ

Internet

ISP

IX iDC

ISP

利用者

IX

ContentsContentsContents

負荷集中負荷

集中

負荷集中

負荷集中

Page 50: WEB技術 - WIDE Projecthiroshi1.hongo.wide.ad.jp/hiroshi/files/network/10_Web.pdf処理負荷の分散手法 1. 水平分散 – 複数のサーバに並列的に処理を実行させる。–

52

オリジナルコンテンツを持つサーバ中継ノード1. キャッシング2. リバースキャッシュ

図8-12 CDNの全体構造概念図

Page 51: WEB技術 - WIDE Projecthiroshi1.hongo.wide.ad.jp/hiroshi/files/network/10_Web.pdf処理負荷の分散手法 1. 水平分散 – 複数のサーバに並列的に処理を実行させる。–

54

通常のコンテンツ取得経路

Webサービスの構造上の問題 (負荷の集中)

ISP iDC

ISP

コンテンツプロバイダ

Internet

ISP

IX iDC

ISP

利用者

IX

ContentsContentsContents

負荷集中負荷

集中

負荷集中

負荷集中

Page 52: WEB技術 - WIDE Projecthiroshi1.hongo.wide.ad.jp/hiroshi/files/network/10_Web.pdf処理負荷の分散手法 1. 水平分散 – 複数のサーバに並列的に処理を実行させる。–

処理負荷の分散手法

1. 水平分散

– 複数のサーバに並列的に処理を実行させる。

– 特定の機能ごとに、専門化したサーバを用意し、適切に Dispatchする。

2. 垂直分散

– Proxy機能や Cache機能を提供し、クライアントに近い仮想ノード/分身ノードが、データ処理を分担する。

– データの変更時の Consistencyの維持が課題となる。

Page 53: WEB技術 - WIDE Projecthiroshi1.hongo.wide.ad.jp/hiroshi/files/network/10_Web.pdf処理負荷の分散手法 1. 水平分散 – 複数のサーバに並列的に処理を実行させる。–

最近の傾向と手法

1. マルチプロセッサ型の計算機アーキテクチャの導入

分散処理(機能分散、地理的分散)

2. キャッシュ技術の導入

CDN、P2Pなど

3. DMA(Direct Memory Access)の導入

P2P技術

4. 仮想化技術の導入

Virtualization、Overlayネットワーク

➔ Migration(移動性) と Scale-Out(収縮・膨張)

Page 54: WEB技術 - WIDE Projecthiroshi1.hongo.wide.ad.jp/hiroshi/files/network/10_Web.pdf処理負荷の分散手法 1. 水平分散 – 複数のサーバに並列的に処理を実行させる。–

57

WEB技術