Slide 1

Slide 1 text

EZIO BT-based Data Transfer Yu-Chiang Huang

Slide 2

Slide 2 text

Outline • CloneZilla • EZIO

Slide 3

Slide 3 text

CloneZilla • 猋犩牏螭ܻ敟誢 • Server Edition • Multicast-based • UDPcast

Slide 4

Slide 4 text

Multicast • ᗭ砮 • 盄蕦褾牧ℂ㬵䷱睞螂 • 墋ᘒ᥺ԏ牧觊犲 Broadcast ጱ狶ဩ

Slide 5

Slide 5 text

UDPcast • Multicast • ݶྍ秚ګ

Slide 6

Slide 6 text

CloneZilla • 猻玊 • ݢ瓟婘 • ە玊 • ஠殾ಅ磪ፓ秂伛猋ਠ౮಍胼樄ত • ஠殾ݶྍ蒂ቘ牧ݢ胼䨝ݑک絑ह磧眸ጱࢩᔰ୽段

Slide 7

Slide 7 text

EZIO • BT-based • 䲆礯羬翄螭ܻ • ᪡螂绚玟璸

Slide 8

Slide 8 text

BT

Slide 9

Slide 9 text

BT • BitTorrent • P2P • ֑๐瑊犵毱疝揗斉

Slide 10

Slide 10 text

BT 礍䯤 • 獮๗ BT • Torrent • Tracker • 盅๗ BT • Magnet • DHT

Slide 11

Slide 11 text

Tracker • 戢㲘㪔ᔱ玲ٌ犢 Peer ጱ蝫娄虻懱 • Peer 戢㲘 Tracker ᛔ૩ጱ虻懱

Slide 12

Slide 12 text

Piece • 裾ଶ傶 2^N ጱ蝫媲玟ྦྷ • 疥ಅ磪䲆礯蝫矑牧ྯ 2^N 㴟獤傶Ӟ㮆 Piece • 虻碘涢挨ጱ磧ੜ㻌֖ • Piece 碍ᰁ蝢ଉ䨝୽段蝧ଶ • 蝢ଉ Piece 碍ᰁࣁ 1000 ~ 2000 ԏ樌䨝磧֯

Slide 13

Slide 13 text

Torrent • 蝢圸物圵ৼ • Tracker 虻懱 • 䲆礯虻懱

Slide 14

Slide 14 text

Torrent Info { 'announce': 'http://tracker.site1.com/announce', 'info': { 'name': 'directoryName', 'piece length': 262144, 'files': [ {'path': ['111.txt'], 'length': 111}, {'path': ['222.txt'], 'length': 222} ], 'pieces': '6a8af7eda90ba9f851831073c48ea6b7b7e9feeb... 8a43d9d965a47f75488d3fb47d2c586337a20b9f' } }

Slide 15

Slide 15 text

Tracker { 'announce': 'http://tracker.site1.com/announce', 'info': { 'name': 'directoryName', 'piece length': 262144, 'files': [ {'path': ['111.txt'], 'length': 111}, {'path': ['222.txt'], 'length': 222} ], 'pieces': '6a8af7eda90ba9f851831073c48ea6b7b7e9feeb... 8a43d9d965a47f75488d3fb47d2c586337a20b9f' } }

Slide 16

Slide 16 text

Files { 'announce': 'http://tracker.site1.com/announce', 'info': { 'name': 'directoryName', 'piece length': 262144, 'files': [ {'path': ['111.txt'], 'length': 111}, {'path': ['222.txt'], 'length': 222} ], 'pieces': '6a8af7eda90ba9f851831073c48ea6b7b7e9feeb... 8a43d9d965a47f75488d3fb47d2c586337a20b9f' } }

Slide 17

Slide 17 text

Piece Info { 'announce': 'http://tracker.site1.com/announce', 'info': { 'name': 'directoryName', 'piece length': 262144, 'files': [ {'path': ['111.txt'], 'length': 111}, {'path': ['222.txt'], 'length': 222} ], 'pieces': '6a8af7eda90ba9f851831073c48ea6b7b7e9feeb... 8a43d9d965a47f75488d3fb47d2c586337a20b9f' } }

Slide 18

Slide 18 text

Filename { 'announce': 'http://tracker.site1.com/announce', 'info': { 'name': 'directoryName', 'piece length': 262144, 'files': [ {'path': ['111.txt'], 'length': 111}, {'path': ['222.txt'], 'length': 222} ], 'pieces': '6a8af7eda90ba9f851831073c48ea6b7b7e9feeb... 8a43d9d965a47f75488d3fb47d2c586337a20b9f' } }

Slide 19

Slide 19 text

File Hash { 'announce': 'http://tracker.site1.com/announce', 'info': { 'name': 'directoryName', 'piece length': 262144, 'files': [ {'path': ['111.txt'], 'length': 111}, {'path': ['222.txt'], 'length': 222} ], 'pieces': '6a8af7eda90ba9f851831073c48ea6b7b7e9feeb... 8a43d9d965a47f75488d3fb47d2c586337a20b9f' } }

Slide 20

Slide 20 text

BT • 猻玊 • 覍ݶྍ蒂ቘ • 虻碘涢挨 • ە玊 • 犋ݢ瓟婘

Slide 21

Slide 21 text

Implement

Slide 22

Slide 22 text

Implement • ल䲆礯羬翄蝱 Torrent • ፗ矑䌃蝱Ꮭ繕

Slide 23

Slide 23 text

Filesystem • Idea • Filesystem = Metadata + Data

Slide 24

Slide 24 text

Filesystem • Implement • Filesystem = Blocks • inode ∈ Block • data ∈ Block

Slide 25

Slide 25 text

No content

Slide 26

Slide 26 text

No content

Slide 27

Slide 27 text

Filesystem • Block 傶च器牧Block size ࢴਧ • 磪 Superblock 牧獵ӥ磪ֵአکጱ Block ᮷ݢ犥஑Ꭳ • Block offset • Block size

Slide 28

Slide 28 text

Filename { 'announce': 'http://tracker.site1.com/announce', 'info': { 'name': 'directoryName', 'piece length': 262144, 'files': [ {'path': ['111.txt'], 'length': 111}, {'path': ['222.txt'], 'length': 222} ], 'pieces': '6a8af7eda90ba9f851831073c48ea6b7b7e9feeb... 8a43d9d965a47f75488d3fb47d2c586337a20b9f' } }

Slide 29

Slide 29 text

Filesystem Block • ल䲆礯羬翄蝱 Torrent • Offset —> Filename • Length —> File Length

Slide 30

Slide 30 text

Write Disk Directly • 眤蘛 libtorrent.org • 䋿֢ custom_storage • ፗ矑಩ Block 䌃کᏝ繕ྋ嘦ጱ֖ᗝӤ

Slide 31

Slide 31 text

Benchmark

Slide 32

Slide 32 text

Benchmark • ፓ獮ጱ䋿涢᮷氥纈䨝穉 Multicast ጱ狶ဩ盠 • To be continue

Slide 33

Slide 33 text

Optimization

Slide 34

Slide 34 text

Connection • 蝫娄碍哴ݢ胼੝牧Ӭ犋胼犵ෝ 2 牧犥ع蝐玕 • 姘瞱犵蝫娄碍牏ṛߝ搡蝫娄

Slide 35

Slide 35 text

Cache • 盠玲哴ݢ胼य़ • 碉誢蝧ଶ疰犋䨝ݑ褖ෝᏝ繕蝧ଶ • 翕᪠蝧ଶ > Ꮭ繕褰秚ਂ玲蝧ଶ

Slide 36

Slide 36 text

Origin Server • ܻত秚ጱ蝧ଶ୽段碉誢蝧ଶ • ܻত秚哴ݢ胼盠

Slide 37

Slide 37 text

WARNING!

Slide 38

Slide 38 text

Warning • ݢ胼蝧ଶ盠ک䨝虏֦ጱ Switch 稴吚 • ইຎ Switch 胙礂毱疝磪猂碘 • ੗森 P2P ጱ翕᪠ݢ胼䨝犋胼ֵአ

Slide 39

Slide 39 text

How to

Slide 40

Slide 40 text

How to • Standalone EZIO • EZIO integrated CloneZilla