Sabtu, 19 Juni 2010

Soft Komputing

Soft Computing

1. Latar Belakang Soft Computing

Istilah soft computing dicetus pertama kali pada tahun 1990 sehubungan dengan ide untuk mendirikan BISC (Berkeley Initiative in Soft Computer) oleh Prof. L.A.Zadeh dari Berkeley University. Soft computing, berbeda dengan conventional (hard) computing, memungkinkan toleransi terhadap input, proses dan output yang bersifat tidak akurat(imprecision), tidak pasti (uncertainty) dan setengah benar (partial truth). Dengan adanya toleransi terhadap imprecision, uncertainty dan partial truth, diharapkan akan dapat menciptakan suatu system yang cerdas (intelligent systems), handal (robustness), mudah diproses/dijalankan (tractability) dan membutuhkan biaya yang lebih murah (low solution cost).

2. Definisi Soft Computing

Soft Computing (SC) adalah pendekatan yang muncul untuk komputasi secara paralel meniru kemampuan dari human mind untuk berfikir, belajar dalam suatu lingkungan dengan ketidakpastian dan ketidakakuratan. Mengapakah human-mind merupakan model yang menarik bagi pengembangan softcomputing ? Kunci dari pertanyaan ini sebenarnya terletak pada struktur dan fungsi dari otak manusia. Otak manusia merupakan mesin molekuler, yang terdiri dari dua jenis sel: neuron dan glia. Dalam otak kita terdapat sekitar 1011 sel neuron, sedangkan sel glia sekitar 3 sampai 4 kali lipatnya. Sel neuron berfungsi sebagai pemroses informasi yang diterima oleh otak. Sel neuron terhubung antara satu dengan yang lain dengan benang-benang panjang. Berat otak manusia saat lahir sekitar 400 gram, sedangkan saat dewasa sekitar 1500 gram. Pertambahan berat ini disebabkan oleh bertambahpanjangnya benang-benang tersebut, disamping pertambahan sel glia. Pertambahan panjang ini berkaitan erat dengan proses pembelajaran yang dialami oleh manusia. Hal ini merupakan ide awal bagi pengembangan metode softcomputing: artificial neural network, yang memiliki kemampuan pembelajaran terhadap informasi yang telah diterima. Selain kemampuan pembelajaran, otak manusia juga memiliki kemampuan untuk mengambil keputusan walaupun informasi mengandung unsur ketakpastian dan kekurangtegasan, seperti “manis”, “pahit”, “tinggi”, “rendah”, dsb. Hal ini merupakan konsep yang mendasari pengembangan metode fuzzy, yang mencerminkan cara berfikir manusia. Selain neural network dan fuzzy, masih banyak lagi jenis-jenis metode softcomputing, yang ide awalnya bersumber dari otak manusia maupun mekanisme biologi yang terdapat di alam semesta.

Soft Computing adalah sebuah inovasi pendekatan untuk membangun komputasi sistem cerdas. Pada kenyataan ini, problem dunia nyata memerlukan sistem cerdas yang mengkombinasikan pengetahuan, teknik, dan metode dari berbagai sumber. Sistem cerdas ini diharapkan memiliki kemampuan seperti manusia dalam spesifikasi tertentu, dapat beradaptasi secara mandiri dan belajar agar lebih baik dalam kondisi lingkungan yang berubah, dan dapat menjelaskan bagaimana keputusan itu diambil atau mengambil tindakan.

Soft Computing (SC) merupakan sekumpulan metodologi yang berkembang secara terus-menerus yang tujuan utamanya adalah untuk menghasilkan mesin ber-IQ tinggi. Soft Computing merupakan suatu model pendekatan untuk melakukan komputasi dengan meniru akal manusia dan memiliki kemampuan untuk menalar dan belajar pada lingkungan yang penuh dengan ketidakpastian.

3. Manfaat Soft Computing

Soft Computing dimanfaatkan untuk memecahkan masalah dengan menggunakan pendekatan dalam melakukan penalaran. Beberapa komponen pembentuk soft computing adalah sistem fuzzy, jaringan syaraf tiruan, komputasi evolusioner atau algoritma genetika, dan penalaran dengan probabilitas.

4. Metode-metode yang digunakan oleh Sodt Computing

Mengacu pada definisi yang diberikan oleh Zadeh, metode-metode dalam softcomputing dapat dikategorikan ke dalam tiga kategori besar:

· Fuzzy Logic (FL)

· Neural Network Theory (NN)

· Probabilistic Reasoning (PR)

Metode-metode ini sebenarnya bukanlah sesuatu yang baru diadakan setelah konsep softcomputing dirumuskan. Yang terjadi justru sebaliknya. Metode-metode Fuzzy Logic, Neural Network maupun Probabilistic Reasoning telah ada lebih dahulu. Fuzzy Logic telah berkembang sejak tahun 1965. Konsep-konsep dasar neural network telah digali sejak tahun 1940-an. Probabilistic Reasoning juga bukanlah hal yang baru sama sekali. Karena itu, Zadeh menyebut soft computing sebagai reinkarnasi dari metode-metode di atas. Lebih lanjut lagi, dalam konsep soft computing, ketiga jenis metode ini ibarat pilar, saling mendukung dan bekerjasama dalam memecahkan suatu permasalahan. Keunggulan yang diperoleh dari kerjasama metode-metode itu lebih ditekankan daripada keunggulan individual salah satu daripadanya. Kekurangan satu metode akan ditutup dengan kelebihan metode yang lain. Keunggulan satu metode disumbangkan, sehingga segi-segi positif dari metode yang ada tersebut dapat dimanfaatkan secara optimal.

5. Fuzzy Logic (FL)

Fuzzy merupakan representasi suatu pengetahuan yang dikonstruksikan dengan if- then rules. Karakteristik dari metode ini adalah :

§ pemecahan masalah dilakukan dengan menjelaskan sistem bukan lewat angka- angka, melainkan secara linguistik, atau variable-variable yang mengandung ketakpastian/ketidaktegasan.

§ Pemakaian if-then rules untuk menjelaskan kaitan antara satu variable dengan yang lain.

§ Menjelaskan sistem memakai algoritma fuzzy

Berawal dari paper-paper Zadeh di tahun 1965 mengenai fuzzy-sets, ilmu ini berkembang pesat, dan mulai menemukan aplikasinya di bidang control pada tahun 1974. Pada saat itu, Mamdani memperkenalkan aplikasi fuzzy sebagai alat kontrol steam- engine. Hal ini merupakan momentum penting, sebagai awal bagi teknologi fuzzy untuk menemukan lading aplikasi di dunia industri. Fuzzy memiliki kelebihan-kelebihan, diantaranya :

· Dapat mengekspresikan konsep yang sulit untuk dirumuskan, seperti misalnya “suhu ruangan yang nyaman”

· Pemakaian membership-function memungkinkan fuzzy untuk melakukan observasi obyektif terhadap nilai-nilai yang subyektif. Selanjutnya membership-function ini dapat dikombinasikan untuk membuat pengungkapan konsep yang lebih jelas.

· Penerapan logika dalam pengambilan keputusan

Dewasa ini, fuzzy merupakan salah satu metode memiliki aplikasi luas di bidang kontrol. Hal ini disebabkan antara lain :

Ø kontrol memiliki potensi aplikasi yang sangat luas dan dibutuhkan di berbagai bidang

Ø kuantitas suatu materi dalam sistem kontrol sangat jelas, dan dapat diekspresikan dengan istilah-istilah yang fuzzy seperti “besar”, “banyak”

Ø aturan dalam kontrol mudah untuk didefinisikan memakai kata-kata. Misalnya “jika suhu dalam ruangan terlalu dingin, naikkan suhu penghangat”

Ø perkembangan teori fuzzy sangat pesat, sehingga batas-batasnya dapat di rumuskan dengan jelas.

6. Neural Network (NN)

Neural Networks (Jaringan Saraf Tiruan) menurut Haykin [4] didefinisikan sebagai berikut :

“Sebuah neural network (JST: Jaringan Saraf Tiruan) adalah prosesor yang

terdistribusi paralel, terbuat dari unit-unit

yang sederhana, dan memiliki kemampuan

untuk menyimpan pengetahuan yang

diperoleh secara eksperimental dan siap

pakai untuk berbagai tujuan. Neural

network ini meniru otak manusia dari

sudut : 1) Pengetahuan diperoleh oleh

network dari lingkungan, melalui suatu

proses pembelajaran. 2) Kekuatan koneksi

antar unit yang disebut synaptic weights,

berfungsi untuk menyimpan pengetahuan

yang telah diperoleh oleh jaringan

tersebut.”

Pada tahun 1943, Mc.Culloch dan Pitts

memperkenalkan model matematika yang

merupakan penyederhanaan dari struktur sel

saraf yang sebenarnya (lihat gambar 1).

Rabu, 16 Juni 2010

PipeLine

Pipeline

Instruksi pipeline adalah teknik yang digunakan dalam desain komputer dan perangkat elektronik digital untuk meningkatkan throughput instruksi mereka (jumlah instruksi yang dapat dieksekusi dalam satu unit waktu).

Ide dasar adalah untuk membagi pemrosesan instruksi komputer menjadi serangkaian langkah-langkah independen, dengan penyimpanan pada akhir setiap langkah. Ini memungkinkan komputer untuk mengeluarkan instruksi pada langkah terlambat dari rate processor, yang jauh lebih cepat dari waktu yang dibutuhkan untuk melakukan semua langkah sekaligus. Pipeline merujuk pada kenyataan bahwa mengerjakan setiap langkah membawa beberapa data sekaligus (seperti air), dan setiap langkah terhubung ke generasi berikutnya (seperti link dari pipa.)

Paling banyak CPU moderan dihitung dengan satuan clock. CPU terdiri dari logika internal dan memori ( Flip Flops ). Ketika sinyal clock tiba, Flip Flops mengambil nilai baru dan kemudian logika memerlukan periode waktu tertentu untuk membaca sandi dari nilai-nilai baru. Maka clock berikutnya tiba dan flip flop mengambil nilai baru, dan sebagainya. Dengan memecah logika menjadi potongan-potongan kecil dan memasukkan Flip Flops antara potongan-potongan logika maka, delay sebelum logika memberikan output yang valid akan berkurang. Dengan cara ini periode clock dapat dikurangi. Misalnya, classic RISC pipeline dibagi menjadi lima tahap dengan seperangkat Flip Flops antara setiap tahap.

1. Instruction fetch

2. Instruction decode and register fetch

3. Execute

4. Memory access

5. Register write back

Kelebihan dan kekurangan pipeline

Pipelining tidak membantu dalam semua kasus. Ada beberapa kemungkinan kerugian. Instruksi pipeline dikatakan sepenuhnya pipelined jika dapat menerima instruksi baru setiap siklus clock. Pipeline yang tidak sepenuhnya pipelined adalah pipeline yang menunggu siklus yang menunda kemajuan pipa.

Keuntungan Pipelining:

  1. Waktu siklus prosesor berkurang, sehingga meningkatkan tingkat instruksi dalam banyak kasus.
  2. Beberapa sirkuit kombinasional seperti adders atau multipliers dapat dibuat lebih cepat dengan menambahkan lebih banyak sirkuit.

Kekurangan dari Pipelining:

  1. Sebuah prosesor non-pipelined hanya melaksanakan instruksi tunggal pada suatu waktu. Hal ini untuk mencegah penundaan cabang (sehingga, setiap cabang tertunda) dan masalah dengan serial instruksi dieksekusi secara bersamaan Akibatnya desain lebih sederhana dan lebih murah untuk memproduksi.
  2. Latency instruksi di prosesor non-pipelined sedikit lebih rendah daripada processor yang setara pipelined. Hal ini karena ekstra Flip Flops harus ditambahkan ke jalur data prosesor pipelined.
  3. Sebuah prosesor non-pipelined akan memiliki instruksi bandwidth stabil. Kinerja prosesor pipelined jauh lebih sulit untuk diprediksi.

Rabu, 28 Oktober 2009

Security Jaringan

Salah satu pusat perhatian dalam keamanan jaringan adalah mengendalikan access terhadap resources jaringan. Bukan saja sekedar mengontrol siapa saja yang boleh mengakses resources jaringan yang mana, pengontrolan akses ini juga harus memanage bagaimana si subject (user, program, file, computer dan lainnya) berinteraksi dengan object-2 (bisa berupa sebuah file, database, computer, dll atau lebih tepatnya infrastruktur jaringan kita).

Prinsip keamanan jaringan

Sebelum memahami berbagai macam ancaman keamanan jaringan, anda perlu memahami prinsip keamanan itu sendiri.

1. Kerahasiaan (confidentiality), dimana object tidak di umbar atau dibocorkan kepada subject yang tidak seharusnya berhak terhadap object tersebut, atau lazim disebut tidak authorize.

2. Integritas (Integrity), bahwa object tetap orisinil, tidak diragukan keasliannya, tidak dimodifikasi dalam perjalanan nya dari sumber menuju penerimanya.

3. Ketersediaan (Availability), dimana user yang mempunyai hak akses atau authorized users diberi akses tepat waktu dan tidak terkendala apapun.

Prinsip keamanan ini lazim disebut segitiga CIA (Confidentiality, Integrity, Availability). Dan salah satu goal utama dari pengendalian akses adalah untuk menjaga jangan sampai ada yang tidak authorize mengakses objek-2 seperti jaringan; layanan-2; link komunikasi; komputer atau system infrastruktur jaringan lainnya oleh apa yang kita sebut sebagai ancaman keamanan jaringan.

Dalam perjalanan anda untuk membangun suatu system kemanan jaringan, salah satu prosesnya adalah menilai resiko keamanan dalam organisasi anda. Akan tetapi terlebih dahulu anda perlu juga memahami berbagai jenis ancaman keamanan jaringan.

Ancaman keamanan jaringan dan metoda yang umum Dipakai

Berikut ini adalah berbagai macam kelas serangan atau metoda serangan terhadap keamanan infrastruktur jaringan anda.

Memaksa masuk dan kamus password

Jenis ancaman keamanan jaringan ini lebih umum disebut sebagai Brute Force and Dictionary, serangan ini adalah upaya masuk ke dalam jaringan dengan menyerang database password atau menyerang login prompt yang sedang active. Serangan masuk paksa ini adalah suatu upaya untuk menemukan password dari account user dengan cara yang sistematis mencoba berbagai kombinasi angka, huruf, atau symbol. Sementara serangan dengan menggunakan metoda kamus password adalah upaya menemukan password dengan mencoba berbagai kemungkinan password yang biasa dipakai user secara umum dengan menggunakan daftar atau kamus password yang sudah di-definisikan sebelumnya.

Untuk mengatasi serangan keamanan jaringan dari jenis ini anda seharusnya mempunyai suatu policy tentang pemakaian password yang kuat diantaranya untuk tidak memakai password yang dekat dengan kita missal nama, nama anak, tanggal lahir dan sebagainya. Semakin panjang suatu password dan kombinasinya semakin sulit untuk diketemukan. Akan tetapi dengan waktu yang cukup, semua password dapat diketemukan dengan metoda brute force ini.

Denial of Services (DoS)

Deniel of Services (DoS) ini adalah salah satu ancaman keamanan jaringan yang membuat suatu layanan jaringan jadi mampet, serangan yang membuat jaringan anda tidak bisa diakses atau serangan yang membuat system anda tidak bisa memproses atau merespon terhadap traffic yang legitimasi atau permintaan layanan terhadap object dan resource jaringan. Bentuk umum dari serangan Denial of Services ini adalah dengan cara mengirim paket data dalam jumlah yang sangat bersar terhadap suatu server dimana server tersebut tidak bisa memproses semuanya. Bentuk lain dari serangan keamanan jaringan Denial of Services ini adalah memanfaatkan telah diketahuinya celah yang rentan dari suatu operating system, layanan-2, atau applikasi-2. Exploitasi terhadap celah atau titik lemah system ini bisa sering menyebabkan system crash atau pemakaian 100% CPU.

Tidak semua Denial of Services ini adalah merupakan akibat dari serangan keamanan jaringan. Error dalam coding suatu program bisa saja mengakibatkan kondisi yang disebut DoS ini. Disamping itu ada beberapa jenis DoS seperti:

1. Distributed Denial of Services (DDoS), terjadi saat penyerang berhasil meng-kompromi beberapa layanan system dan menggunakannya atau memanfaatkannya sebagai pusat untuk menyebarkan serangan terhadap korban lain.

2. Ancaman keamanan jaringan Distributed refelective deniel of service (DRDoS) memanfaatkan operasi normal dari layanan Internet, seperti protocol-2 update DNS dan router. DRDoS ini menyerang fungsi dengan mengirim update, sesi, dalam jumlah yang sangat besar kepada berbagai macam layanan server atau router dengan menggunakan address spoofing kepada target korban.

3. Serangan keamanan jaringan dengan membanjiri sinyal SYN kepada system yang menggunakan protocol TCP/IP dengan melakukan inisiasi sesi komunikasi. Seperti kita ketahui, sebuah client mengirim paket SYN kepada server, server akan merespon dengan paket SYN/ACK kepada client tadi, kemudian client tadi merespon balik juga dengan paket ACK kepada server. Ini proses terbentuknya sesi komunikasi yang disebut Three-Way handshake (bahasa teknis kita apa yach …masak jabat tangan tiga jalan????he..he..) yang dipakai untuk transfer data sampai sesi tersebut berakhir. Kebanjiran SYN terjadi ketika melimpahnya paket SYN dikirim ke server, tetapi si pengirim tidak pernah membalas dengan paket akhir ACK.

4. Serangan keamanan jaringan dalam bentuk Smurf Attack terjadi ketika sebuah server digunakan untuk membanjiri korban dengan data sampah yang tidak berguna. Server atau jaringan yang dipakai menghasilkan response paket yang banyak seperti ICMP ECHO paket atau UDP paket dari satu paket yang dikirim. Serangan yang umum adalah dengan jalan mengirimkan broadcast kepada segmen jaringan sehingga semua node dalam jaringan akan menerima paket broadcast ini, sehingga setiap node akan merespon balik dengan satu atau lebih paket respon.

5. Serangan keamanan jaringan Ping of Death, adalah serangan ping yang oversize. Dengan menggunakan tool khusus, si penyerang dapat mengirimkan paket ping oversized yang banyak sekali kepada korbannya. Dalam banyak kasus system yang diserang mencoba memproses data tersebut, error terjadi yang menyebabkan system crash, freeze atau reboot. Ping of Death ini tak lebih dari semacam serangan Buffer overflow akan tetapi karena system yang diserang sering jadi down, maka disebut DoS attack.

6. Stream Attack terjadi saat banyak jumlah paket yang besar dikirim menuju ke port pada system korban menggunakan sumber nomor yang random.

Spoofing

Spoofing adalah seni untuk menjelma menjadi sesuatu yang lain. Spoofing attack terdiri dari IP address dan node source atau tujuan yang asli atau yang valid diganti dengan IP address atau node source atau tujuan yang lain.

Serangan Man-in-the-middle

Serangan keamanan jaringan Man-in-the-middle (serangan pembajakan) terjadi saat user perusak dapat memposisikan diantara dua titik link komunikasi.

  • Dengan jalan mengkopy atau menyusup traffic antara dua party, hal ini pada dasarnya merupakan serangan penyusup.
  • Para penyerang memposisikan dirinya dalam garis komunikasi dimana dia bertindak sebagai proxy atau mekanisme store-and-forwad (simpan dan lepaskan).

Para penyerang ini tidak tampak pada kedua sisi link komunikasi ini dan bisa mengubah isi dan arah traffic. Dengan cara ini para penyerang bisa menangkap logon credensial atau data sensitive ataupun mampu mengubah isi pesan dari kedua titik komunikasi ini.

Spamming

Spam yang umum dijabarkan sebagai email yang tak diundang ini, newsgroup, atau pesan diskusi forum. Spam bisa merupakan iklan dari vendor atau bisa berisi kuda Trojan. Spam pada umumnya bukan merupakan serangan keamanan jaringan akan tetapi hampir mirip DoS.

Sniffer

Suatu serangan keamanan jaringan dalam bentuk Sniffer (atau dikenal sebagai snooping attack) merupakan kegiatan user perusak yang ingin mendapatkan informasi tentang jaringan atau traffic lewat jaringan tersebut. suatu Sniffer sering merupakan program penangkap paket yang bisa menduplikasikan isi paket yang lewat media jaringan kedalam file. Serangan Sniffer sering difokuskan pada koneksi awal antara client dan server untuk mendapatkan logon credensial, kunci rahasia, password dan lainnya.

Crackers

Ancaman keamanan jaringan Crackers adalah user perusak yang bermaksud menyerang suatu system atau seseorang. Cracker bisasanya termotivasi oleh ego, power, atau ingin mendapatkan pengakuan. Akibat dari kegiatan hacker bisa berupa pencurian (data, ide, dll), disable system, kompromi keamanan, opini negative public, kehilangan pasar saham, mengurangi keuntungan, dan kehilangan produktifitas.

Dengan memahami ancaman keamanan jaringan ini, anda bisa lebih waspada dan mulai memanage jaringan anda dengan membuat nilai resiko keamanan jaringan dalam organisasi anda atau lazim disebut Risk Security Assessment.

Mendeteksi Jaringan

Cara terbaik untuk menilai jaringanmu sudah kokoh atau masih lemah tidak dpt dilakukan dengan metode tebak-tebakan, bukan juga dengan perasaan. Hal yang menyangkut keamanan network apalagi jika sebuah perusahaan tidak bisa diperlakukan seperti PC biasa. Semuanya harus jelas, keamanan harus diuji, kelemahan jaringan pun harus dinilai sehingga ketika sudah ditemukan titik lemahnya, maka solusi untuk memperkuatnya juga bisa diberikan.

Sebuah tool yang bernama GFI LanGuard Network Security Scanner bisa dipakai untuk menguji keamanan jaringan LAN dengan berbagai metode. Seperti namanya, program ini akan membantu mencari sedetail mungkin di mana kelemahan-kelemahan yang masih mungkin terjadi dengan menscanning open port, kemudian terdapat juga patch management disertakan, lalu juga auditing terhadap software apakah sebuah software reliable atau berbahaya terhdp kelangsungan komputer di sebuah jaringan.

Tidak sekedar memeriksa kesehatan jaringan LAN dengan cara konvensional, GFI Lan Guard NSS juga membantu dalam hal mendeteksi local grup dan users di komputer yang tidak dipakai dan bisa mensarankan pemakai untuk menghapus akun tsb. Sedangkan di sisi software, tool network yang sangat terkenal ampuh ini juga akan membantu mengenali blacklisted software yang bisa memperingatkan kita agar waspada penyalahgunaan otorisasi komputer. Lalu yang tidak kalah penting adalah memeriksa aktivitas USB device dari tindakan-tindakan penyusupan ancaman ke dalam komputer.

GFI Lan Guard NSS adalah tool lengkap bukan hanya menscan ataupun memberikan penilaian jaringan, tetapi lebih daripada itu juga dapat membantu kita menemukan solusinya sehingga tindakan yang kita ambil akan tepat sasaran terhdp perlakuan network kita.


Selasa, 13 Oktober 2009

Video Streaming

Secara kasar, teknologi video straming sebagai berikut :
  1. Server based video streaming. Konten video yang di-streaming-kan disimpan dalam sebuah server, kemudian penonton menonton video itu dengan cara streaming langsung ke server. Teknologi yang digunakan bisa macem2, mulai dari menggunakan real player (seperti yang digunakan oleh www.sctv.co.id) sampai dengan menggunakan teknologi http sederhana. Kelebihan menggunakan teknologi ini adalah proses instalasi yang mudah, real player mendukung live streamin, sementara Kelemahannya, beban (penonton) tidak boleh terlalu besar
  2. Multicast based video streaming. Konten video yang di-streaming-kan disimpan dalam sebuah server, kemudian melalui jaringan multicast, konten tersebut disebarluaskan. Cara inilah yang digunakan oleh SOI. Kelebihannya : hemat bandwidth dan resource, mendukung liKelemahannya: tidak semua jaringan mendukung multicast
  3. Peer-to-peer video streaming. Konten video yang di-streaming-kan disimpan dalam jaringan peer to peer. Aplikasi peer to peer secara otomatis akan mengelola konten tersebut. Contoh-nya adalah SopCast. Kelebihan cara ini adalah hemat bandwidth dan resource. Kelemahannya : memerlukan dukungan komunitas agar bersedia menjadi seeder.
  4. Menggunakan cara-nya youtube. Konten video yang di-streaming-kan diubah format-nya menjadi flash video. Ketika diputer, aplikasi flash player akan men-download konten video tersebut sembari memutar-nya. Sebenarnya cara ini hampir sama seperti cara 1, tetapi karena dukungan kompresi video, cara ini bisa meng-efisiensi-kan bandwidth dan resource. Kelebihan : hemat bandwidth, resouce, dan bisa ditampilan (embed) di halaman web. Kelemahan : tidak bisa live streaming.