Minggu, 29 Mei 2011

Mobile Computing

Apa itu mobile computing? Beberapa pengertian tentang mobile computing diantaranya :
  • Mobile computing merupakan paradigma baru dari teknologi yang mampu melakukan komunikasi walaupun user melakukan perpindahan.
  • Merupakan kemajuan teknologi komputer, sering disebut sebagai mobile computer (portable computer) yang dapat berkomunikasi dengan jaringan tanpa kabel (nirkabel).
  • Merupakan sekumpulan peralatan(hardware), data, dan perangkat lunak aplikasi yang bermobilisasi/berpindahlokasi.
  • Merupakan kelas tertentu dari system terdistribusi dimana beberapa node dapat melepaskan diri dari operasi terdistirbusi, bergerak bebas, dan melakukan koneksi kembali pada jaringan yang berbeda.
Pengguna ponsel dapat memiliki akses ke informasi yang berada di jaringan statis saat mereka sedang bepergian yang dikenal sebagai mobile computing/komputasi bergerak. Mobile computing menyediakan aplikasi data-intensif dengan aspek manfaat teknologi nirkabel, dan mobile technology untuk mendukung aplikasi seperti ini disebut sebagai mobile database.

Penyedia layanan Mobile akan memberikan sejumlah layanan informasi termasuk informasi cuaca, atau jasa ramalan cuaca, berita, informasi indeks saham, valuta asing, hasil pemilu, wisata layanan, jadwal penerbangan, penentuan posisi, dan panduan rute, untuk layanan transportasi. Dalam pembuatan layanan informasi nirkabel, sejumlah masalah harus ditangani seperti manajemen data mobile, infrastruktur pendukung jaringan, lokasi, dan sebagainya.Agar aplikasi yang dibuat menjadi menarik dan bermanfaat.

Untuk mewujudkan keperluan di atas kita perlu tahu karakteristik unik dari lingkungan mobile computing diantaranya:

  • Kendala sumberdaya yang terbatas pada perangkat mobile

Agar bersifat portable dan mobile, device dirancang kecil dan ringan. Tetapi dengan desain ini ada kelemahannya yaitu kapasitas baterey yang kecil, kapasitas penyimpan memory kecil, daya komputasi terbatas. Ingat…Hukum Moore tidak berlaku untuk batterey :-p .

  • Bandwidth jaringan rendah

Pengguna mobile dapat terhubung ke jaringan nirkabel melalui berbagai jaringan komunikasi termasuk radio nirkabel, wireless Local Area Network (LAN), nirkabel selular, satelit, dll Setiap jaringan nirkabel menyediakan kapasitas bandwidth yang berbeda. Namun, bandwidth nirkabel ini terlalu kecil dibandingkan dengan jaringan tetap seperti ATM (Asynchronous Transfer Mode) yang dapat memberikan kecepatan hingga 155Mbps.

(diskusi: mungkinkah mobile device mendownload sekian mega bit data)

  • Biaya komunikasi asymmetric

Kapasitas bandwidth yang berbeda antara hilir komunikasi dan komunikasi upstream telah menciptakan sebuah lingkungan baru yang disebut Lingkungan Komunikasi asimetrik. Bahkan, ada dua situasi yang dapat mengakibatkan komunikasi asimetri, Salah satunya adalah karena kemampuan perangkat fisik. Misalnya, server memiliki pemancar siaran kuat, sedangkan klien mobile memiliki kemampuan transmisi kecil. Yang lain adalah karena pola aliran informasi dalam aplikasi. Misalnya, dalam situasi dimana jumlah server jauh lebih sedikit daripada jumlah klien, itu adalah asimetris karena ada tidak kapasitas yang cukup untuk menangani permintaan simultan dari beberapa klien.

  • Heterogenitas perangkat mobile

industri telekomunikasi Mobile telah mengembangkan berbagai perangkat mobile seperti Laptop, Tablet PC, Handheld PC, Pocket PC, Netbook dan Mobile Phones. Namun, perangkat mobile juga mempunyai fitur dan kemampuan yang berbeda baik sistem operasi, daya komputasi, tampilan maupun kemampuan jaringan. Akibatnya, heterogenitas ini menimbulkan beberapa tantangan dalam manajemen konten, dan penyampaian konten ke penyedia layanan mobile.

  • Mobilitas

Teknologi nirkabel memungkinkan pengguna mobile untuk bergerak bebas dan mandiri dari satu tempat ke tempat lain. Sebuah layanan handoff terjadi ketika pengguna bergerak dari satu daerah layanan jaringan ke lain. Hal ini penting untuk memastikan handoffs layanan berfungsi dengan baik

  • Koneksi yang sering terputus

pengguna Mobile sering terputus dari jaringan. Hal ini mungkin terjadi karena beberapa alasan, termasuk kegagalan sinyal, jangkauan sinyal yang kurang luas, area blank spot, dan penghematan daya. Tetapi hal ini juga bisa menguntungkan karena modus aktif membutuhkan seribu kali power lebih besar daripada perangkat dalam kondisi standby atau mode sleep. Sinyal radio nirkabel mungkin juga akan melemah karena jarak yang jauh dari sumber sinyal dimana pengguna bergerak. Dari karakteristik lingkungan sebuah perangkat mobile maka akan terpikirkan oleh kita bagaimana mendesain aplikasi mobile yang optimal untuk perangkat mobile.


Cloud Computing

Sekarang Cloud Computing lagi "in". Sepotong kalimat yang saya baca saat sedang ber"selancar" di Internet. Sebenarnya Cloud Computing itu apa?

Cloud Computing bila diterjemahkan kedalam bahasa Indonesia, berarti komputasi awan. Cloud atau Awan disimbolkan sebagai Kumpulan jaringan dalam internet. Oleh karena itu media utama dari Cloud Computing adalah Internet. Namun sebernarnya Internet tidak mutlak juga harus ada, karena kita dapat membuat Private Cloud di jaringan lokal kita. Namun apabila ingin membuat sebuah Public Cloud, Internet mutlak ada.

Yang menarik dari Cloud Computing berbeda dengan server konvensional terutama
1. Secara fisik berupa kumpulan hardware / server yang tersambung dalam sebuah jaringan (LAN / WAN). Tetapi dari sisi, pengguna dapat melihat sebagai sebuah komputer besar.
2. Tidak ada batasan dengan kapasitas processor, kapasitas harddisk dan kapasitas memory.
3. Tidak ada batasan dengan berapa jumlah "hosting" server yang berjalan di belakangnya.
4. Menambahkan sebuah "hosting" hanya membutuhkan waktu beberapa menit saja.
5. Jika ada kekurangan resource (sumber daya), baik itu processor, harddisk maupun memory, kita dapat dengan mudah sekali menambahkan server tambahan dan langsung dapat berintegrasi ke jaringan cloud. Butuh waktu sekitar 20 menit-an untuk menyiapkan server kosong / baru untuk dapat berintegrasi ke jaringan cloud.

Terdapat 6 keuntungan/manfaat dari penggunaan Cloud Computing:

1.Reduced Cost
Penggunaan teknologi cloud menghemat biaya dan lebih efisien dikarenakan menggunakan anggaran yang rendah untuk sumber daya dari sebuah organisasi dan juga membantu dalam menekan biaya operasi yang dikeluarkan oleh sebuah organisasi dalam rangka meningkatkan reability dan kritikan system yang dibangun.

2.Increased Storage
Sebuah Organisasi yang menggunakan Teknologi Cloud Computing dapat menyimpan data lebih banyak dibandingkan pada private computer.

3.Highly Automated
Seorang developer tidak perlu khawatir terhadap software agar tetap up to date.

4.Flexibility
Cloud computing menawarkan lebih banyak lagi flexsibilitas dari metode computing yang lama dan dengan mudah dapat berorientasi pada profit dan perkembangan yang cepat berubah.

5.More Mobility
Organisasi yang mempunyai pegawai/pengguna dapat mengakses informasi dimanapun mereka berada. Cloud dapat membuat manejmen dan operasional lebih gampang karena system pribadi atau Organisasi yang terkoneksi dalam satu cloud sehingga dapat dengan mudah untuk memonitor dan mengaturnya.

6.Allows IT to Shift Focus
Sebuah organisasi tidak perlu lagi mengkhawatirkan server yang harus di update dan isu computing lainnya.

sumber

Rabu, 30 Maret 2011

Cluster Compute


Cluster, dalam ilmu komputer dan jaringan komputer adalah sekumpulan komputer (umumnya server jaringan) independen yang beroperasi serta bekerja secara erat dan terlihat oleh klien jaringan, seolah-olah komputer-komputer tersebut adalah satu buah unit komputer. Proses menghubungkan beberapa komputer agar dapat bekerja seperti itu dinamakan dengan Clustering. Komponen cluster biasanya saling terhubung dengan cepat melalui sebuah interkoneksi yang sangat cepat, atau bisa juga melalui jaringan lokal (LAN).

Karena menggunakan lebih dari satu buah server, maka manajemen dan perawatan sebuah cluster jauh lebih rumit dibandingkan dengan manajemen server mainframe tunggal yang memiliki skalabilitas tinggi (semacam IBM AS/400), meski lebih murah, cluster didesain agar meningkatkan kemampuan sebuah server, yakni dengan meningkatkan hal-hal berikut:
1. Toleransi kesalahan (fault tolerance), yang dapat menyebabkan server lainnya akan mengambil alih kerja serverutama ketika server utama mengalami kegagalan. Client tidak akan melihat pergantian peran ini. Dengan demikian downtime pun dapat dikurangi secara drastis.
2. Penyerataan beban (load-balancing), yang dapat mendistribusikan beban server ke semua server anggota cluster. Sehingga kinerja dan skalabilitas server pun menjadi relatif lebih baik.

Kluster komputer terbagi ke dalam beberapa kategori, sebagai berikut:
1. High-availability cluster
High-availability cluster, yang juga sering disebut sebagai Failover Cluster pada umumnya diimplementasikan untuk tujuan meningkatkan ketersediaan layanan yang disediakan oleh kluster tersebut. Elemen kluster akan bekerja dengan memiliki node-node redundan, yang kemudian digunakan untuk menyediakan layanan saat salah satu elemen kluster mengalami kegagalan. Ukuran yang paling umum dari kategori ini adalah dua node, yang merupakan syarat minimum untuk melakukan redundansi. Implementasi kluster jenis ini akan mencoba untuk menggunakan redundansi komponen kluster untuk menghilangkan kegagalan di satu titik (Single Point of Failure).



2. Load balancing cluster
Kluster kategori ini beroperasi dengan mendistribusikan beban pekerjaan secara merata melalui beberapa node yang bekerja di belakang (back-end node). Umumnya kluster ini akan dikonfigurasikan sedmikian rupa dengan beberapa front-end load-balancing redundan. Karena setiap elemen dalam sebuah kluster load-balancing menawarkan layanan penuh, maka dapat dikatakan bahwa komponen kluster tersebut merupakan sebuah kluster aktif/kluster High-availability aktif, yang bisa menerima semua permintaan yang diajukan oleh klien.

3. Compute Cluster
Seringnya, penggunaan utama kluster komputer adalah untuk tujuan komputasi, ketimbang penanganan operasi yang berorientasi I/O seperti layanan Web atau basis data. Sebagai contoh, sebuah kluster mungkin mendukung simulasi komputasional untuk perubahan cuaca atau tabrakan kendaraan. Perbedaan utama untuk kategori ini dengan kategori lainnya adalah seberapa eratkah penggabungan antar node-nya. Sebagai contoh, sebuah tugas komputasi mungkin membutuhkan komunikasi yang sering antar node--ini berarti bahwa kluster tersebut menggunakan sebuah jaringan terdedikasi yang sama, yang terletak di lokasi yang sangat berdekatan, dan mungkin juga merupakan node-node yang bersifat homogen. Desain kluster seperti ini, umumnya disebut juga sebagai Beowulf Cluster. Ada juga desain yang lain, yakni saat sebuah tugas komputasi hanya menggunakan satu atau beberapa node saja, dan membutuhkan komunikasi antar-node yang sangat sedikit atau tidak ada sama sekali. Desain kluster ini, sering disebut sebagai "Grid". Beberapa compute cluster yang dihubungkan secara erat yang didesain sedemikian rupa, umumnya disebut dengan "Supercomputing". Beberapa perangkat lunak Middleware seperti MPI atau Parallel Virtual Machine (PVM) mengizinkan program compute clustering agar dapat dijalankan di dalam kluster-kluster tersebut.

4. Grid computing
Grid pada umumnya adalah compute cluster, tapi difokuskan pada throughput seperti utilitas perhitungan ketimbang menjalankan pekerjaan-pekerjaan yang sangat erat yang biasanya dilakukan oleh Supercomputer. Grid memasukkan sekumpulan komputer, yang bisa saja didistribusikan secara geografis, dan kadang diurus oleh organisasi yang tidak saling berkaitan.
Grid computing dioptimalkan untuk beban pekerjaan yang mencakup banyak pekerjaan independen atau paket-paket pekerjaan, yang tidak harus berbagi data yang sama antar pekerjaan selama proses komputasi dilakukan. Grid bertindak untuk mengatur alokasi pekerjaan kepada komputer-komputer yang akan melakukan tugas tersebut secara independen. Sumber daya, seperti halnya media penyimpanan, mungkin bisa saja digunakan bersama-sama dengan komputer lainnya, tapi hasil sementara dari sebuah tugas tertentu tidak akan memengaruhi pekerjaan lainnya yang sedang berlangsung dalam komputer lainnya.