• Tidak ada hasil yang ditemukan

Implementasi Rateless Code Pada Content Delivery Network

N/A
N/A
Protected

Academic year: 2017

Membagikan "Implementasi Rateless Code Pada Content Delivery Network"

Copied!
12
0
0

Teks penuh

(1)

BAB II

DASAR TEORI

2.1 Content Delivery Network (CDN)

CDN adalah sebuah sistem jaringan server untuk mendistribusikan konten yang ada dalam sebuah aplikasi/web ke berbagai pengakses/pengguna di berbagai belahan dunia agar data/konten yang dikirim dan diterima lebih cepat. CDN diperuntukkan untuk website atau aplikasi yang pengaksesnya dari berbagai belahan dunia.

Server jaringan CDN terdistribusi secara global dengan tujuan untuk melayani konten ke pengguna dengan ketersediaan yang besar dan performa tinggi. CDN melayani sebagian besar konten di internet saat ini termasuk objek web (teks, grafis dan script), obyek download (file media, software), aplikasi (e-commerce, portal), media live streaming, on-demand streaming media, dan

jaringan sosial.

Konsep CDN adalah dengan meletakkan beberapa server pada belahan

dunia sehingga server utama (asli) tidak akan langsung melayani permintaan web

request secara langsung melainkan melalui server-server pada jaringan CDN.

Keuntungannya, server asli tidak akan mengalami drop akibat banyaknya

permintaan dari pengguna internet, dan efisiensi terhadap delay dan packet loss

juga akan semakin baik [1]. Pada Gambar 2.1 menunjukkan konsep dasar dari

(2)

Gambar 2.1Konsep Dasar Content Delivery Network[1]

2.2 Teknik-Teknik Pembagian Tugas CDN 2.2.1 GEO DNS

GEO DNS adalah serverDNSyangdapat mendistribusikanbeban untukhostnamekemirrors (cermin) serverterdekat, salah satunya sebagai penghantar kinerja dari CDN. Sistem kerja dari GEO DNS dengan memetakan pengguna internet menurut wilayahnya. Kemudian akan dibangun CDN pada setiap wilayah yang telah dipetakan. Dengan pemetaan wilayah maka setiap client yang melakukan request akan dilayani oleh server terdekat dengan client tersebut [2].

Original Server in

North America

CDN distribution node

CDN Server in South Amerika

CDN Server in Euorpe

(3)

2.2.2 Teknologi Akamai

Teknologi Akamai adalah global serviceprovider yang menyediakan

layanan akselerasi "global internet content” untuk membantu mempercepat

performa situs dengan cara melakukan copy cache dari website di banyak server

yang tersebar di berbagai lokasi. Saat ini Akamai Technologies Inc. mempunyai

lebih dari 15.000 server yang tersebar di 70 negara.

Ada beberapa komponen infrastruktur CDN Akamai, tiga komponen

utamanya yaitu: edge server, contentdelivery dan mappingcenter.

Gambar 2. 2 SistemCDNAkamai [2]

Gambar 2.2 mengilustrasikan bagaimana Akamai dalam melakukan

pengiriman content ke pengguna. Akamai secara transparan melakukan mirror

content/cerminan konten (audio, graphics, video, animation) yang tersimpan pada

server klien Akamai ke beberapa edgecache server yang tersebar di beberapa

(4)

animasi, video yang terdapat pada halam

edgecache server yang lokasinya dekat dengan pengguna. Namun ada juga

website yang keseluruhan kontentnya diletakkan pada edgecache server akamai

yang tersebar di beberapa negara [2].

2.2.3 Web Mapper

WebMapper merupakan suatu teknik pemetaan yang prosesnya menggunakan informasi pemetaan yang diperoleh dari

menyimpan, memanipulasi, menganalisis, mengelola dan menyajikan semua jenis data spasial atau geografis.Sistem kerja dari Web Mapper pada CDN adalah dengan melakukan record atau rekam jejak client. Ketika clientmelakukan request website, maka DNS server akan melihat history dari client tersebut pada setiap server. Kemudian DNS server akan menghubungkan client dengan server terbaik untuk client yang melakukan request web menurut history [3].

2.2.4 Packet Redirection

(5)

dapat lebih baik. Masing-masing server akan melakukan pertukaran informasi terkait kinerja server, baik secara langsung maupun melalui pihak ketiga serper DNS server [3].

2.2.5 Load Balancer

Load balancer merupakan sebuah perangkat untuk mendistribusikan beban

pekerjaan secara merata melalui beberapa node yang bekerja pada back-end node. Peran yang paling penting dari Load Balancer yaitu untuk menyediakan sebuah layanan dari beberapa kumpulan server yang berada sebagai back-end dari layanan servernya.

Untuk layanan internet, Load Balancer biasanya merupakan sebuah program perangkat lunak yang terhubung pada port dimana klien eksternal tersambung untuk mengakses layanan. Load Balancer meneruskan request dari salah satu server dari backend server, yang biasanya di-replay kembali ke load balancer. Hal ini memungkinkan Load Balancer untuk me-replayrequest dari

(6)

2.3 Rateless code

Ratelesscode dikenal juga fountain code. Ratelesscode merupakan suatu

proses pengkodean yang dapat memperbaiki kesalahan pada saat pentranmisian

paket data, karena pada saat proses pentransmisian dapat terjadi lost atau paket

hilang. Ratelesscode awalnya dirancang untuk Binary Erasure Channel (BEC)..

Selain untuk kepentingan teoritis, Binary ErasureChannel telah mendapatkan

perhatian yang signifikan dalam komunikasi data. Misalnya, di internet ada

beberapa data yang ditransmisikan dalam paket-paket kecil, kemudian paket

tersebut hilang, rusak, tertunda atau tidak memenuhi persyaratan layanan (QoS)

dapat dibuang (terhapus).

Tujuan dasar rateless code adalah mempertahankan kualitas trafik meskipun

kondisi server memburuk dan memperbaiki setiap paket data yang hilang saat

proses pentransmisian terjadi. Dengan rateless codes tidak perlu diketahui

seberapa besar tingkat kehilangan paket dan penerima tidak perlu memberitahu

pengirim paket mana saja yang gagal untuk diterima. Hal ini sangat berguna

dalam berbagai situasi dari pengiriman file video pada on demand tv sampai

dengan propagasi potongan-potongan file ke banyak peer seperti pada BitTorrent.

Sistem kerja dari rateless code yaitu, encode diumpakan sebagai air mancur

dan decode diumpamakan sebuah embernya yang akan menampung air mancur

tersebut. Ketika airnya diumpakan sebuah paket data, dan saat proses penerimaan

paket data dari server ke client, pentransmisian paket data tidak peduli apakah

paket data itu diterima dengan baik ataupun loss, karena hanya paket data yang

sukses diterima saja untuk diproses nantinya. Dengan kata lain, kita membuat

(7)

kembali data asli hanya dengan menerima cukup air/paket data yang dikodekan

secara acak.Ratelesscode terdapat beberapa bagian yaitu LT (LubyTranform ),

TornadoCode dan RaptorCode. Pada Gambar 2.3 menunjukan sebuah ilustrasi dari rateless code.

Gambar 2. 3 Ilustrasi ratelesscode

2.3.1 LT (Luby Transform)

LT Code pertama kali direalisasikan pada fountain code atau yang sering disebut rateless code. Encode informasi K pada LT code disimbolkan (x1, x2, …xk) menjadi beberapa simbol keluaran yang tak terbatas (z1, z2, z3,…..). Simbol informasi masukan dapat barupa simbol satu bitbinery atau berupa packet data. Algoritama endcoding dan decoding pada LT code cukup sederhana, karena algoritmanya serupa dengan proses parity-check, dimana fungsi dari parity-check

untuk mengecek urutan bit-bit data dan bit parity setelah data itu dikirim atau

ditransmisikan. Untuk proses algoritma encoding dilakukan dengan cara berikut :

1. Suatu d dipilih untuk sampling dari distribusi D yang diberikan, yang

disebut dengan “degreedistribution”. Biarkan (Ω 1, Ω2,…. Ωk) menjadi

distribusi {1, 2, …, K) kemudian dipilihnya nilai i sebagai probabilitas yang

diwakili seperti Ω i . Degree distribution D dilambang oleh polynomial

(8)

2. Simbol input d dipilih secara seragam dari simbol input K yang dipilih

secara acak. Nilai dari simbol output berupa XOR yang berasal dari simbol

input d, �=∑�=1 dimana koefiseian � ∈{0,1} untuk � = 1, 2, … . , K,

∑��=1�� = � dan menggunak 2 bit penjumlahan.

Berdasarkan asumsi yang dibuat, receiver (penerima) berasal dari koefisien

��. Dalam prakteknya hal ini dapat dicapai dengan berbagai cara. Sebagai contoh,

derajat (degree) dan daftar tetangga dapat dimasukan ke dalam packetheader

kemudian kedua encoder dan decoder menggunakan fungsi yang sama sebagai

kunci untuk menghitung derjat (degree) dan set tetangga (neighbor) [5]. Proses

encoding dari LT code dapat dilihat pada Gambar 2.4.

Simbol informasi 1 0 1 1 0 0 1 (Input variabel node)

Simbol encoding 1 0 0 1 Channel

(Output variabel node)

Gambar 2. 4 Proses simbol encoding [6]

Pada Gambar 2.3, nodevariableinput merupakan simbol informasi dan

nodevariabeloutput berupa simbol encoding. Nodevariableinput dan

nodevariabeloutput merupakan hasil penjumblahan XOR. Untuk mengembalikan

simbol informasi ke dalam bentuk asli diperlukan proses decoding. Algoritma

(9)

1. Cari simbol encode zn yang hanya berhubungan 1 simbol informasi xi kemudian simbol informasi decode, i.e, menentukan xi dari zn. Jika tidak seperti simbol encode maka proses decoding akan berhenti.

2. Tambahkan simbol informasi decode pada xi untuk semua simbol encode lainnya yang berhubungan dengan xi.Kemudian hapus semua bagian pinggir yang berbungan denga xi.

3. Ulangi langkah 1 dan 2 hingga semua simbol informasi yang decode kan sukses.

2.4 NetworkSimulator NS-2

Network Simulatorversi 2 atau yangdikenal sebagaiNS-2 merupakan

sebuahprogramsimulasi berbasis kejadianyang banyak digunakanuntuk

mempelajarisifat dinamis darijaringan dan protokol komunikasi. NS-2 mampu

mensimulasikan jaringankabeldanjaringan nirkabelserta protokolnya yang

meliputi:algoritmarouting,protokol komunikasi, penjadwalan, algoritma akses

dan lain-lain [7].

Pada Gambar 2.5 menunjukan arsitektur dasar NS-2. NS-2 menggunakan

dua jenis bahasa pemrograman, C++ dan TCL. C++ digunakan sebagai core

(10)

Gambar 2. 5 Arsitektur dasar NS-2

TclCL dan OTcl adalah komponen TCL yang berfungsi untuk

menjembatani konfigurasi dengan proses simulasi. NS-2 dieksekusi melalui

perintah eksekusi command line. Hasil simulasi berupa catatan atau trace yang

dapat dipergunakan oleh Network Animator (Gambar 2.6) maupun plot grafik

Xgraph [7]. Untuk proses cara mensimulasikan NS-2 dapat dilihat pada Lampiran 1.

(11)

2.5 Kerangka Evaluasi video Evalvid

Simulator NS-2 menyediakan presentasi data menggunakan Xgraph. Namun

Xgraph kehilangan detail kejadian pengiriman data dan hanya menampilkan data

rata-rata untuk parameter yang ditinjau. Oleh karenanya, untuk mempresentasikan

parameter yang dievaluasi, penelitian ini menggunakan evalvid.

Video

Gambar 2. 7Struktur framework EvalVid

EvalVid adalah framework dan tool set untuk evaluasi kualitas video yang

dikirimkan melalui jaringan komunikasi nyata ataupun simulasi [8]. Struktur dari

framework EvalVid dilihat Gambar 2.7 [9].

Komponen utama dari struktur EvalVid dijelaskan sebagai berikut :

1. Source: Sumber video dapat berupa raw file YUV dengan resolusi Quarter

Common Intermediate Format (QCIF, 176 x 144) atau di Common

Intermediate Format(CIF, 352 x 288) .

2. Video Encoder dan Decoder: EvalVid mendukung dua codec MPEG4 ,

(12)

3. VS (Video Sender): komponen VS membaca file video yang dikompres dari

output encoder, menfragmentasi setiap frame video yang berukuran besar

menjadi segmen yang berukuran kecil dan kemudian mengirimkan segmen

ini melalui paket UDP pada jaringan nyata atau simulasi. Untuk setiap

pengiriman paket UDP,framework mencatat tanda waktu, id paket, dan

ukuran paket di sender trace file dengan bantuan tcp dump atau win dump,

jika jaringan adalah Link nyata. Namun, jika jaringan disimulasikan, sender

trace file disediakan oleh entitas pengirim. komponen VS juga

membangkitkanvideo trace file yang berisi informasi tentang setiap

framepadafile video real. Video trace file dan sender trace file yang

kemudian digunakan untuk evaluasi kualitas video berikutnya .

4. ET (Evaluate Trace): Evaluasi berlangsung di sisi pengirim. Oleh karena

itu, informasi tanda waktu, id paket, dan ukuran paket yang diterima pada

penerima harus dikirim kembali ke pengirim. Berdasarkan file video asli

yang dikodekan, file video trace, file sender trace, dan file received trace,

komponen ET menghasilkan laporan packet loss, jitter serta file video

rekontruksi untuk melihat hasil video pada sisi penerima mengalami

kerusakan atau tidak.

5. FV (Fix Video): penilaian kualitas video digital dilakukan dari frame demi

frame. Oleh karena itu, jumlah total frame video di sisi penerima, termasuk

yang salah, harus sama seperti video asli di sisi pengirim.

6. PSNR (Peak Signal Noise Ratio): PSNR adalah salah satu objek untuk

menilai QoS aplikasi pada transmisi video.

Gambar

Gambar 2.1Konsep Dasar Content Delivery Network[1]
Gambar 2. 2 SistemCDNAkamai [2]
Gambar 2. 3 Ilustrasi ratelesscode
Gambar 2. 4 Proses simbol encoding [6]
+3

Referensi

Dokumen terkait

HDLC menyediakan transmisi serial dan error-free komunikasi dianara 2 point, HDLC terdapat di layer 2 , standard HDLC tidak mendukung multiple protocol dalam link single,

Jawab : Energi kinetik adalah energi yang terkandung di dalam Energi kinetik adalah energi yang terkandung di dalam materi yang bergerak, materi yang bergerak, sedangkan

Data primer dalam penelitian ini adalah isi teks cerbung Ngonceki Impen karya Sri Sugiyanto berdasarkan unsur-unsur struktural yang meliputi fakta- fakta

[r]

Dengan kata lain penelitian ini dilakukan untuk mengetahui efektifitas pelaksanaan 3M untuk menurunkan Demam Berdarah Dengue (DBD) di Kota Blitar Periode 2010-2011, dan

Menimbang : a.bahwa untuk tertib administrasi dan akuntabilitas pengelolaan keuangan daerah serta untuk melaksanakan ketentuan dalam Pasal 151 Peraturan Pemerintah

bahwa berdasarkan pertimbangan sebagaimana dimaksud dalam huruf a, perlu menetapkan Keputusan Bupati Bantul tentang Posyandu Penerima Program Penyediaan Makanan Tambahan

Hasil penelitian ini sesuai dengan penelitian dari Huda & Gofur (2012) yang menyatakan bahwa tidak ada pengaruh antara penghasilan atau pendapatan muzakki terhadap