mondarmandir

Selasa, 25 Maret 2014

Model Sistem Terdistribusi

Model dalam sistem terdistribusi :

  • Model Arsitektur (Architectural Models)
  • Model Interaksi (Interaction Models)
  • Model Kegagalan (Failure Models)
Resource dalam sistem terdistribusi dipakai secara bersamaan oleh users. biasanya dibungkus dalam suatu komputer dan dapat di akses oleh komputer lain dengan komunikasi.
Setiap resource di atur oleh program yang disebut dengan resource manager. Resource manager memberikan kemungkinan komunikasi interface antar resource.
Resource manager dapat di generalisasi sebagai proses, kalau sistem di design dengan sudut pandang objek (Object Oriented), resource dibungkus dalam suatu objek.

Model Arsitektur (Architectural Models)
Bagaimana cara kerja sistem terdistribusi antara komponen-komponen sistem dan bagaimana komponen tersebut berada pada sistem terdistribusi :
  • Client - Server Model
Sistem yang terdiri dari kumpulan - kumpulan proses disebut dengan server, dan memberikan layanan kepada user yang disebut dengan client.
Model client-server biasanya berbasiskan protokol request/reply. Contoh implementasinya antara lain: RPC (Remote Procedure Calling) dan RMI (Remote Method Invocation).
Client : proses akses data, melakukan operasi pada komputer lain.
Server : proses mengatur data, proses mengatur resources, proses komputasi.
Interaksi : Invocation/result
  • Karakteristik Client-Server
  1. Service : menyediakan layanan terpisah yang berbeda
  2. Shared Resource : server dapat melayani beberapa client pada saat yang sama dan mengatur pengaksesan resource
  3. Asymmetrical Protocol : antara client dan server merupakan hubungan one to many
  4. Mix and Match : tidak tergantung pada platform
  5. Encapsulation of Service : message memberitahu server apa yang akan dikerjakan
  6. Transparency Location : proses server dapat ditempatkan pada mesin yang sama atau terpisah dengan proses client. Client/server akan menyembunyikan lokasi server dari client
  7. Message-based-exchange : antara client dan server berkomunikasi dengan mekanisme pertukaran message
  8. Scalability : sistem client/server dapat dimekarkan baik vertikal maupun horisontal
  9. Integrity : kode dan data server diatur secara terpusat, sedangkan pada client tetap pada komputer sendiri
  • Multiple Server Model
  • Proxy Server Model
Proxy server menyediakan hasil copy (replikasi) dari resource yang diatur oleh server lain. Biasanya proxy server dipakai untuk menyimpan hasil copy web resources. ketika client melakukan request ke server, hal pertama yang dilakukan adalah memeriksa proxy server apakah yang diminta oleh client terdapat pada proxy server.
Proxy server dapat diletakan pada setiap client atau dapat dipakai bersama oleh beberapa client. Tujuannya adalah meningkatkan performance dan availibity dengan mencagah frekuensi akses server.
Proxy server membuat duplikasi beberapa server yang diakses oleh client.
Caching :
- penyimpanan lokal untuk item yang sering diakses
- meningkatkan kinerja
- mengurangi beban pada server
- wajib digunakan pada search engine
Contoh model proxy server : searching satu topik namun dilakukan dua kali maka searching terakhir memiliki waktu yang lebuh kecil.
  • Mobile Code Model 
Kode yang berpindah dan dijalankan pada komputer yang berbeda. Contoh : Applet.
  • Mobile Agent Model
Mobile agent adalah sebuah program yang berpindah (termasuk data dan kode) dari satu komputer ke lainnya dalam jaringan. Biasanya melakukan suatu pekerjaan otomatis tertentu. Beberapa masalahnya antara lain authentication, permission dan keamanan. Alternatif dengan mengambil informasi melalui remote invocation. Contoh : digunakan untuk install dan memelihara software pada komputer dalam suatu organisasi, membandingkan harga produk dari beberapa vendor.
  • Peer Processes (Peer To Peer)
Bagian dari model sistem terdistribusi dimana sistem dapat sekaligus berfungsi sebagai client maupun server. Sebuah arsitektur di mana tidak terdapat mesin khusus yang melayani suatu pelayanan tertentu atau mengatur sumber daya dalam jaringan dan semua kewajiban dibagi rata ke seluruh mesin, yang dikenal sebagai peer. Pola komunikasi yang digunakan berdasarkan aplikasi yang digunakan. Peer-to-peer merupakan model yang paling general dan fleksible. 
Model Interaksi (Interaction Models) 
Untuk interaksinya sistem terdistribusi dibagi menjadi 2 bagian :
  • Synchronous Distributed System
Batas atas dan bawah waktu pengeksekusian dapat di set. Pesan yang dikirim diterima dalam waktu yang sudah ditentukan. Fluktuasi ukuran antara waktu local berada dalam suatu batasan.
Bererapa hal yang penting untuk diperhatikan :
  1. Dalam synchronous distributed system terdapat satu waktu global
  2. Hanya  synchronous distributed system dapat memprediksi perilaku (waktu)
  3. Dalam  synchronous distributed system dimungkinkan dan aman untuk menggunakan mekanisme timeout dalam mendeteksi error atau kegagalan dalam proses atau komunikasi.
  • Asynchronous Distributed System 
Banyak sistem terdistribusi yang menggunakan model interaksi ini (termasuk internet). Tidak ada batasan dalam waktu pengeksekusian, tidak ada batasan dalam delay transmission (penundaan pengiriman), dan tidak ada batasan terhadap fuktuasi waktu lokal. Asynchronous Distributed System secara praktek lebih banyak digunakan.

Model Kegagalan (Failure Models) 
Kegagalan dapat terjadi pada proses atau kanal komunikasi, dan penyebabnya bisa berasal dari hardware ataupun software. Model kegagalan (failure models) dibutuhkan dalam membangun suatu sistem dengan prediksi terhadap kegagalan-kegagalan yang mungkin terjadi. Kegagalan yang dapat terjadi dan efek yang ditimbulkan :
  • Ommision Failures
Yang dimaksud dengan ommision failures adalah ketika prosesor dan kanal komunikasi mengalami kegagalan untuk melakukan hal yang seharusnya dilakukan. Dikatakan tidak mempunyai ommision failure apabila :
  1. terjadi keterlambatan (delayed) tetapi akhirnya tetap tereksekusi
  2. sebuah aksi dieksekusi walaupun terdapat kesalahan pada hasil
Dengan synchronous system, ommision failures dapat dideteksi dengan timeouts. Kalau kita yakin bahwa pesan yang dikirim sampai, timeout akan mengindikasikan bahwa proses pengiriman rusak, seperti fail-stop behavior pada sistem.
  • Arbitary Failures
Ini adalah kegagalan yang paling buruk dalam sistem. Tahapan proses atau komunikasi diabaikan atau yang tidak diharapkan terjadi dieksekusi sehingga hasil yang diharapkan tidak terjadi atau mengeluarkan hasil yang salah.
  • Timing Failures
 Timing Failures dapat terjadi pada synchronous system, dimana batas waktu diatur untuk eksekusi proses, komunikasi dan fuktuasi waktu. Timing Failures terjadi apabila waktu yang telah ditentukan terlampaui


referensi:

Mobile Computing Analysis to Business Development

Definition of Mobile Computing
Technology is the ability to deal with displacement / movement of people in the use of computers in practice. From this definition we can conclude that the Mobile Computing today is much needed, given the needs of today's computer usage is very high, so that the use of Mobile Computing to facilitate computer users in performing their activities by using a computer.

Type Mobile Computing
Mobile Computing that there are currently several types, such as:
·         Laptops 
·         Wearable Computer 
·         PDA (Personal Digital Assistants) 
·         SmartPhone 

Tools For Mobile Computing
Below are some tools Mobile Computing and usefulness.
·         Java ME, popular for gaming
·         Symbian, general purpose, supported Nokia
·         Android is a Linux-based
·         iPhone, only on Mac OS X
·         Lazarus, Object Pascal ported beneficial to
·         Palm OS, Strong in U.S.
·         etc.
.
Mobile Computing Research
Wireless Communications
·         Quality of connectivity 
·         Bandwidth limitations
Mobility
·         Location transparency 
·         Location dependency
Portability
·         Power limitations 
·         Display, processing, storage limitations


How Would A Mobile Computing Affects Life Of A Businessman And Ordinary People?

Whenever there's something new on the market, people would categorize if that is intended for businessmen or for ordinary people. A lot of technologies and machines are introduced and launched in the market including mobile computing devices. The advantages of this mobile computing device are both applicable for businessmen and ordinary people. So everybody can use these devices to make life easier, have a convenient way of living, safety purposes, and easy access.
The purpose why these mobile computing devices were developed is to bring a maximum advantage that our lives may possibly have. Almost everybody wants to be updated and don't want to be behind the updates. Well, this is just a single advantage of this discovery. It wanted us to be updated real time. If we maximize this gadgets and electronics, there's no way for us to be left alone from anybody else. All parts of the globe are reachable and things are possible. Even if your family is across the globe, you can still feel their presence by maximizing the benefit of these devices anywhere and wherever.
For businesses, this could only be the easiest and the fastest way to approved businesses anywhere in the globe. You don't really need to be in person just to approve any transactions. This way could save money, effort, time, and no delays. Everything could be a click away and transactions easily approved in just a second. Just imagine a business with out this help. For sure a businessman would have to fly for hours or travel for even days just to be on their businesses. It would only be an expense of money. Getting tired even before you do your job, and real hassle that will cause delay and even loses. Or even worst, a business will be at stake and total risk.
Not to mention that everybody has a choice to use these computers for convenient life. It would make our life easy in any means possible. Like if we are on the way driving to home, we can call a family member to prepare for a meal since you may be very hungry. Even in just simple aspects of a simple person, these mobiles will surely help us. Its safety purpose can even save someone's life and could be a way to avoid any danger. It is hassle free to use and to maximize this machine. All of these features are made easy for us to be updated real time, do businesses and transactions right then and there, convenient and hassle free. You can protect your properties and even your families with the use of these techniques.
There are a lot of other minor advantages brought by this computing device. Its main purpose of existence is for us to improve and make life easier than we ever thought. If used potentially to its maximum, effects will surely be advancement in ones life.

TYPES OF TECHNOLOGY TRENDS THAT WILL IMPACT BUSINESS STRATEGIES IN 2014

1. Mobile devices will keep you in contact at all times

Cumbersome desktop computers might work well at home, but you can expect to do most of your business from a mobile device. Laptops will likely remain popular since they have built-in keyboards that people already know how to use. Tablet PCs, however, will become important companion pieces.

2. Cross-device software will help you save time and money

Since you will use several devices in 2014, software providers will respond by letting you download programs to many devices at once without forcing you to pay more. Many developers have already recognized the importance of cross-device software. When you download apps, they often have the opportunity to install the small programs on six or more devices.
This will make it easier for you to learn how to use the software that’s important to your industry. Instead of spending a lot of time trying to figure out how to use several programs, you’ll just adapt to different types of screens.
Of course, it doesn’t hurt that multi-device software helps you save money. Imagine buying separate programs for your desktop, laptop, tablet, and smartphone. That would get expensive fast!

3. Marketing data will come from multiple sources

In 2014, it will become increasingly important for you to learn how to market your products and concepts to precise audiences.
Social media has made marketing more targeted and effective. Of course, many companies have already tapped into this potential. The difference is that more businesses will start integrating information from multiple sources. You might get information from Facebook, your own website, Google, and other data sources.

4. Scalable data plans will become more important

An increased reliance on mobile devices will mean that more people and businesses have to invest in wireless data plans. A tablet can only do so much without accessing the Internet.
Unfortunately, those data plans can cost quite a bit of dosh, especially when you stream video content (we’ll keep mum about whether you’re just watching a movie or trying to convince a client that she needs your services). To combat growing prices, many companies will start to look at scalable data plans.
Scalable data plans differ from those that you probably have for your smartphone. With a scalable plan, you get to exceed your monthly limit without paying ridiculous fees. Many Internet Service Providers will also let customers jump from low-cost packages to higher-cost ones when they go over their allotted data. That’s a great alternative to paying extra fees.

5. Cloud data storage options will become increasingly important

Despite the concerns that many industries have about cloud storage ability and willingness to keep information secure, people will have little choice but to keep more information on these systems as opposed to their hard drives.
While it does raise some concerns, it also offers many advantages to businesses that work in a global marketplace. As many companies have already found, cloud systems make it possible for employees to access information from all over the world. If you have a meeting in China, you can always download a presentation from your cloud system instead of begging someone back at the office to take it off your PC and send it to you. The convenience, in other words, will likely outweigh the concerns. As more industries get involved, cloud service providers will probably find that they have to improve their security measures. That could make it safer for everyone to use.

6. Companies will make more of their own apps

In 2013, people get most of their apps through online stores. This next year will reveal a shift towards proprietary apps owned by employers.
Instead of relying on apps made by outside developers, more companies will start creating apps they can distribute among employees.
A company that builds its own app can include specific features designed to boost productivity and meet client demands. You don’t get that kind of flexibility from many third-party apps.
Many employers will also decide to regulate third-party apps. By assigning a manager to review available apps, the company can make sure that it spends money wisely while giving employees the tools they need to succeed.

7. More employers will ask you to Bring Your Own Device

There is good news for people who hate their workplace computers. Research shows that over two-thirds of companies already let employers bring their own devices to work. BYOD, as it’s called, boosts productivity by keeping employees in constant contact and making it easier for them to work outside of the office.
There’s even research showing that 43 percent of executives encourage BYOD because they want employees to get more work done away from the office. Given the advantages, you can expect this trend to continue in 2014.

8. You will receive BYOD training

As more employers encourage workers to BYOD, they will also need to create training programs that teach workers how to become more productive without compromising network security. Like many technological changes, there are some potential downsides.
Luckily, companies find that a comprehensive BYOD program makes the average employee about $3,150 more valuable every year compared to employees who do not BYOD. Companies that only offer basic BYOD training, see a $400 increase in value.
That means you might as well prepare for training that will turn you into a more valuable employee.
Rederence :
http://tweakyourbiz.com/technology/2013/08/15/8-technology-trends-that-will-impact-business-strategies-in-2014/

http://mobile-computing.bafree.net/how-would-a-mobile-computing-affects-life-of-a-businessman-and-ordinary-people.php

http://ariwiyanto83.blogspot.com/

http://asikgaasik.wordpress.com/2010/05/01/mengenai-mobile-computing/

Minggu, 16 Maret 2014

Komunikasi Dalam Sistem Terdistribusi

Komunikasi adalah suatu proses penyampaian (pesan, ide, gagasan) dari satu pihak kepada pihak lain. Pada umumnya, komunikasi dilakukan secara lisan atau verbal yang dapat dimengerti oleh kedua belah pihak. Dimana proses komunikasi dapat dilakukan kepada orang, kelompok, organisasi dan masyarakat menciptakan, dan menggunakan informasi agar terhubung dengan lingkungan dan orang lain.


Arsitektur OSI dibuat berlapis-lapis dengan fungsi yang berbeda pada setiap lapisannya. Lapisan yang lebih tinggi menyembunyikan kerumitan dari operasi di lapisan yang lebih rendah dan suatu lapisan hanya dapat di akses oleh lapisan yang ada di atasnya atau di bawahnya.Hal tersebut di maksudkan untuk memberi kemudahankepada para pembuat perangkat keras dan perangkat lunak komunikasi dalam mengembangkan berbagai protokol yang berbeda sesuai kebutuhan. Namun tetap mereka harus mematuhi standar yang telah di berikan OSI.
Lapisan layer protokol tersebut dapat di golongkan lebih jauh menjadi:
1. Low level Layers
Yang termasuk Low layers adalah lapisan-lapisan sebagi berikut:
  1. Physical Layer: Spesifikasi dan implementasi dari bit-bit dan proses transmisi dari pengirim ke penerima. Berfungsi untuk mendefinisikan media transmisi jaringan, metode pensinyalan, sinkronisasi bit, arsitektur jaringan (seperti halnya Ethernet atau Token Ring), topologi jaringan dan pengkabelan. Selain itu, level ini juga mendefinisikan bagaimana Network Interface Card (NIC) dapat berinteraksi dengan media kabel atau radio.
  2. Data Link Layer: Bertanggung jawab mengurusi perubahan bit=bit data menjadi frame untuk mengatasi error dan penontrolan pengiriman frame. Befungsi untuk menentukan bagaimana bit-bit data dikelompokkan menjadi format yang disebut sebagai frame. Data link layer melakukan tugasnya dengan meletakkan pola bit khusus pada awal dan akhir dari setiap frame untuk menandai mereka, serta komputasi checksum dengan menjumlahkan semua byte dalam bingkai dengan cara tertentu.
  3. Network Layer: Mengatur bagaimana paket-paket di arahkan berdasarkan alamat logik. lapisan bertanggung jawab untuk menerjemahkan alamat logis jaringan ke alamat fisik jaringan. Berfungsi untuk mendefinisikan alamat-alamat IP, membuat header untuk paket-paket, dan kemudian melakukan routing melalui internetworking dengan menggunakan router dan switch layer. Lapisan ini juga member identitas alamat, jalur perjalanan pengiriman data, dan mengatur masalah jaringan misalnya pengiriman paket-paket data.
2. Transport Layers
Merupakan lapisan yang memberi fasilitas komunikasi bagi kebanyakan sistem tersebar. Berfungsi untuk memecah data ke dalam paket-paket data serta memberikan nomor urut ke paket-paket tersebut sehingga dapat disusun kembali pada sisi tujuan setelah diterima. Selain itu, pada level ini juga membuat sebuah tanda bahwa paket diterima dengan sukses (acknowledgement), dan mentransmisikan ulang terhadap paket-paket yang hilang di tengah jalan.
Pada lapisan ini terdapat dua macam protokol yang sering digunakan, yaitu:
  1. Transport Control Protocol (TCP) adalah protocol yang connection-oriented, yang berarti komunikasi yang melewatinya membutuhkan handshaking untuk mengatur koneksi end-to-end. Koneksi dapat dibuat dari client ke server, dan kemudian banyak data dapat dikirimkan melalui konesi itu. TCP memiliki karakteristik sebagai berikut:
    1. Connection-oriented merupakan sistem yang akan berkomunikasi harus terlebih dulu saling mengetahui dan sepakat
    2. Reliable, tersedia mekanisme menjamin paket yang rusak atau hilang dikirim ulang
    3. Stream –oriented communication
    4. Membutuhkan sumberdaya komputasi dan jaringan lebih dari UDP
    5. User Datagram Protocol (UDP) adalah protocol connectionless message-based yang lebih sederhana. Di protocol connectionless, tidak ada usaha yang dibuat untuk koneksi end-to-end. Koumikasi dicapai dengan mengirimkan informasi satu arah, dari source ke destination tanpa mengecek untuk melihat apakah tujuan masih ada, atau apakah koneksi disiapkan untuk menerima informasi. Paket UDP melewati jaringan dalam unit-unit yang berdiri sendiri. UDP memiliki karakteristik sebagai berikut:
      1. Connectionless, tidak memerlukan adanya saling mengetahui dan kesepakatan
      2. Unreliable datagram communication, tidak tersedianya mekanisme yang menjamin paket rusak atau dikirim ulang.
3. Higher Level Layer
Di atas lapisan transport. OSI membedakan tiga lapisan tambahan. Dalam prakteknya, hanya lapisan aplikasi yang pernah digunakan. Bahkan, di suite internet protocol, segala sesuatu di atas lapisan transport dikelompokkan bersama-sama. Dalam menghadapi sistem middleware, akan kita lihat dalam bagian ini bahwa baik OSI maupun pendekatan internet benar-benar tepat. Dalam Higher Level Layer ini terbagi menjadi tiga lapisan tambahan yaitu:
  1. Sesi dan Presentasi Protokol
Lapisan sesi dasarnya merupakan versi yang disempurnakan dari lapisan transport. Menyediakan kontrol dialog, untuk melacak pihak mana saat berbicara, dan menyediakan fasilitas sinkronisasi. Sehingga jika terjadi kecelakaan, yang terakhir ini berguna untuk memungkinkan pengguna memasukkan pos-pos pemeriksaan dalam transfer yang panjang. Hal ini diperlukan untuk kembali hanya untuk pos pemeriksaan terakhir, daripada semua jalan kembali ke awal. Dalam prakteknya, beberapa aplikasi tertarik dalam lapisan sesi dan jarang didukung. Hal ini tidak hadir dalam acara suite protokol Internet.
Berbeda dengan lapisan bawah, yang prihatin dengan mendapatkan bit dari pengirim ke penerima andal dan efisien, lapisan presentasi berkaitan dengan arti dari bit. Pesan yang paling tidak terdiri dari string bit acak, tetapi informasi lebih terstruktur seperti nama orang, alamat, jumlah uang, dan sebagainya. Pada lapisan presentasi adalah mungkin untuk menentukan catatan yang berisi bidang-bidang seperti ini dan kemudian memiliki Sener memberitahukan penerima bahwa pesan berisi catatan tertentu dalam format tertentu. Hal ini memudahkan untuk mesin dengan representasi internal yang berbeda untuk berkomunikasi.
  1. Protocol Application
Menyediakan layanan untuk aplikasi misalnya transfer file, email, akses suatu komputer atau layanan. Lapisan aplikasi OSI awalnya dimaksudkan untuk menampung koleksi aplikasi jaringan standar seperti untuk surat elektronik, transfer file, dan emulasi terminal. Sampai saat ini telah menjadi wadah untuk semua aplikasi dan protokol yang dalam satu cara atau yang lain tidak masuk ke dalam salah satu lapisan yang mendasarinya. Dari perspektif model referensi OSI, hampir semua sistem terdistribusi hanya aplikasi.
Ada juga banyak tujuan umum protokol yang berguna untuk banyak aplikasi, tetapi yang tidak dapat dikualifikasikan sebagai protokol transport. Dalam banyak kasus, protokol seperti jatuh ke dalam kategori protokol middleware, yang akan kita bahas selanjutnya.
  1. Middleware Protocol
Middleware adalah sebuah aplikasi yang logis tinggal di lapisan aplikasi, tetapi yang mengandung banyak tujuan umum protokol yang menjamin lapisan mereka sendiri, independen lainnya, aplikasi yang lebih spesifik. Perbedaan dapat dibuat antara tingkat tinggi protokol komunikasi dan protokol untuk membangun layanan middleware berbagai.
Dibuat untuk menyediakan layanan layanan protokol yang seragam dan dapat digunakan oleh aplikasi-aplikasi yang berbeda-beda. Pada lapisan ini terdapat sekumpulan protokol komunikasi yang beragam yang memungkinkan berbagai macam aplikasi dapat berkomunikasi. Middleware juga memberi fasilitas marshalling dimana terdapat proses pengubahan data dalam komunikasi antar proses menjadi bentuk yang siap dikirim melalui jaringan sehingga dapat tetap konsisten sampai di si penerima data dan kebalikannya.
Middleware komunikasi protokol mendukung tingkat tinggi layanan komunikasi. Misalnya, di bagian dua berikutnya kita akan membahas protokol yang memungkinkan proses untuk memanggil prosedur atau invok obyek pada mesin remote dengan cara yang sangat transparan. Demikian juga, ada layanan komunikasi tingkat tinggi untuk menetapkan dan sinkronisasi aliran untuk mentransfer data real-time, seperti yang diperlukan untuk aplikasi multimedia. Sebagai contoh terakhir, beberapa sistem middleware menawarkan layanan multicast handal yang skala untuk ribuan penerima tersebar di wide area network.
Beberapa protokol komunikasi middleware yang sama bisa juga termasuk dalam lapisan transport, tapi mungkin ada alasan spesifik untuk menjaga mereka pada tingkat yang lebih tinggi. Misalnya, multicasting layanan yang handal Taht skalabilitas jaminan dapat diimplementasikan hanya jika persyaratan aplikasi diperhitungkan. Akibatnya, sistem middleware mungkin menawarkan yang berbeda (merdu) protokol, masing-masing pada gilirannya diimplementasikan dengan menggunakan protokol transport yang berbeda, tapi mungkin menawarkan antarmuka tunggal.


REMOTE PROCEDURE CALL
Remote Procedure Call (RPC) adalah suatu protokol yang mengijinkan suatu program komputer yang memproses atau menjalankan pada suatu komputer untuk mengakibatkan suatu subroutine pada komputer yang lain untuk dieksekusi, tanpa programmer harus menjelaskan dengan tegas pengkodean untuk interaksi ini. RPC lebih dikenal sebagai perintah secara jarak jauh (remote) atau suatu metode perintah yang dijalankan secara remote.
RPC merupakan suatu teknologi yang tepat untuk membangun aplikasi terdistribusi atau tersebar maupun client  server­­­­­­­. Prinsip kerjanya pada dasarnya sama seperti pemanggilan prosedur lokal sedemikian sehingga prosedur yang dipanggil tidak perlu ada di alamat yang sama dengan pemanggil prosedurnya. Dua proses yang sedang berkomunikasi tidak harus berada pada sistem yang sama, interaksi proses dapat terjadi pada beberapa sistem yang berbeda dengan suatu jaringan yang terhubung.
Dengan menggunakan RPC, para programmer khususnya dalam hal pemrosesan terdistribusi tidak harus mengetahui secara detail layer-layer yang ada pada jaringan sebagai media transportasi data. Independensi yang dimiliki oleh transpor RPC mengakibatkan aplikasi tidak tergantung pada layer pisik dan lojik dari mekanisme komunikasi data, sehingga memungkinkan aplikasi RPC dapat menggunakan berbagai macam media transpor. Hal tersebut menjadikan RPC sebagai teknologi pemrosesan terdistribusi yang handal dan mudah untuk diimplementasikan.
Operasi Dasar RPC
Untuk memahami bagaimana RPC bekerja, pertama kita harus memahami bagaimana cara kerja prosedur konvensional ( misalnya, mesin tunggal ) Contohya :
count = read(fd, buf, nbytes);
dimana fd adalah bilangan bulat, buf adalah karakter array, dan nbytes karakter selain integer.
Jika panggilan ini dibuat dari program utama, stack akan seperti ditunjukkan pada Gambar. 2-17 (a) sebelum panggilan tersebut. Untuk membuat panggilan, pemanggil mendorong parameter ke stack dalam rangka, yang terakhir pertama, seperti ditunjukkan pada Gambar. 2-17 (b). ( Alasan bahwa C compiler mendorong parameter dalam urutan terbalik ada hubungannya dengan printf-dengan demikian, printf selalu dapat menemukan parameter pertama, string format). Setelah membaca selesai berjalan, menempatkan nilai kembali dalam register, menghapus alamat pengirim, dan transfer control kembali ke pemanggil. Penelepon kemudian menghapus parameter dari stack, kembali ke keadaan semula, seperti ditunjukkan pada Gambar.2-17 (c).
 Beberapa hal yang perlu diperhatikan. Untuk satu, di C, parameter dapat memanggil -by- nilai atau panggilan oleh referensi. Sebuah parameter nilai, seperti fd atau nbytes, hanya disalin ke tumpukan seperti ditunjukkan pada Gambar. 2-17 (b). Untuk prosedur dipanggil, parameter nilai hanya sebuah variable local diinisialisasi. Prosedur disebut dapat memodifikasi, tetapi perubahan tersebut tidak mempengaruhi nilai asli di sisi menelepon.
Sebuah referensi parameter dalam C adalah pointer ke sebuah variable ( misalnya, alamat dari variable ), daripada nilai dari variabel. Dalam panggilan untuk membaca, parameter kedua adalah parameter array acuan karena melalui referensi di C. Sebenarnya didorong ke stack adalah alamat dari array karakter. Jika prosedur yang disebut menggunakan parameter ini untuk menyimpan sesuatu kedalam array karakter, itu tidak memodifikasi array dalam prosedur panggilan. Yang berbeda bisa mempengaruhi referensi antara panggilan nilai dengan dan panggilan by referensi ini cukup penting untuk RPC, seperti yang akan kita lihat.
Salah satu parameter lainnya yang lewat mekanisme juga ada, meskipun tidak digunakan dalam C. Hal ini disebut call-by-copy/restore. Ini terdiri dari memiliki variable disalin ke stack dengan penelepon, seperti dalam panggilan-nilai dengan-,dan kemudian disalin kembali setelah panggilan, Timpa nilai asli pemanggil. Dalamkondisi yang paling, ini mencapai efek yang sama sebagai panggilan-referensi oleh-,namun dalam beberapa situasi, seperti parameter yang sama yang beberapa kali hadir dalam daftar parameter, semantic berbeda.
Keputusan yang parameter passing mekanisme untuk menggunakan biasanya dibuat oleh para desainer bahasa dan merupakan milik tetap bahasa. Kadang-kadang tergantung pada jenis data yang berlalu. Dalam C, misalnya, integer dan tipe scalar lain selalu dilewatkan dengan nilai, sedangkan array selalu dikirimkan dengan referensi, sebagaimana telah kita lihat. Sebaliknya, programmer Pascal bisa memilih mekanisme yang mereka inginkan untuk setiap parameter. Standarnya adalah call-by-value, tapi programmer dapat memaksa call-by-reference dengan memasukkan kata kunci var sebelum parameter tertentu. Beberapa Ada ® compiler menggunakan copy/ restore dalam parameter, tapi yang lain menggunakan panggilan oleh referensi. Definisi bahasa izin baik pilihan, yang membuat sedikit semantic fuzzy.
Ide di balik RPC adalah untuk membuat panggilan prosedur remote melihat sebanyak mungkin seperti satu lokal. Dengan kata lain, kita ingin RPC harus transparan-prosedur panggilan tidak harus menyadari bahwa prosedur yang disebut adalah mengeksekusi pada mesin yang berbeda, atau sebaliknya. Misalkan program perlu membaca beberapa data dari file. Pemrogram menempatkan panggilan untuk membaca dalam kode untuk mendapatkan data. Dalam system (prosesor tunggal) tradisional, rutin membaca diekstraksi dari perpustakaan oleh linker dan dimasukkan ke dalam program objek. Ini adalah prosedur pendek, biasanya ditulis dalam bahasa assembly, yang menempatkan parameter dalam register dan kemudian mengeluarkan BACA system call dengan menjebak ke kernel. Pada dasarnya, prosedur membaca adalah semacam antarmuka antara kode pengguna dan system operasi.

Selasa, 11 Maret 2014

Sistem Terdistribusi

A.    Apa sih SIstem terdistribusi ?
Ada beberapa definisi tentang sistem terdistribusi diantaranya adalah :
·         Sistem Terdistribusi  merupakan sebuah sistem yg komponennya berada pd jaringan komputer. Komponen tersebut saling berkomunikasi & melakukan koordinasi hanya dgn pengiriman pesan (message passing).  
·        Sebuah sistem terdistribusi (DS) terdiri dari sekumpulan komputer yang mandiri yang terhubung dalam jaringan komputer dan dilengkapi dengan software sistem  terdistribusi (Colouris 1994).
·         Software Sistem Terdistribusi dapat mengkoordinir aktifitas masing-masing komputer dan melakukan pertukaran sumber daya sistem Hardware, Software dan data.
·        Pengguna sistem terdistribusi dapat merasakan sebuah fasilitas komputer yang terpadu meskipun sebenarnya terdiri dari banyak komputer yang berada di lokasi yang berbeda secara geografi
B.     Kelebihan dan Kelemahan Sistem terdistribusi 

Kelebihan sistem terdistribusi
·         Pertukaran sumber daya (prosesor)
·         Pertukaran data
·         Struktur geografis
·         Penyederhanaan logik
·         Modular
·         Reliabel
·         Biaya rendah

Kelemahan sistem terdistribusi
·         Biaya komunikasi membengkak
·         Pemaduan yang sulit
·         Pembuatan program yang lebih sulit

C.     Alasan Perlunya Sistem Terdistribusi
·         Distribusi fungsi : komputer memiliki kemampuan fungsi yang berbeda-beda
o   client/server
o   Host/terminal
o   Data gathering / data processing
·        Distribusi beban/keseimbangan : pemberian tugas ke prosesor secukupnya sehingga unjuk kerja seluruh sistem teroptimasi
·         Sifat terdistribusi mencegah terjadinya application domain, e.g.
o   cash register dan sistem persediaan untuk supermarket,
o   Komputer pendukung collaborative work
·         Replikasi kekuatan pemrosesan independent processors bekerja untuk pekerjaan yang sama.
o   Sistem terdistribusi terdiri dari kumpulan mikrokomputer yang memiliki kekuatan pemrosesan yang tidak dapat dicapai oleh superkomputer 10000 CPU, masing-masing berjalan pada 50 MIPS, mencapai 500000 MIPS,Maka satu perintah dijalankan dalam waktu 0.002 nsec
·         Pemisahan fisik : sistem yang menggantungkan pada fakta bahwa komputer secara fisik terpisah (e.g., untuk mencapai kehandalan).
·         Ekonomis : kumpulan mikroprosesor menawarkan harga/unjuk kerja yang lebih baik dari pada mainframe

D.    Karakteristik Sistem Terdistribusi
Karaketristik sistem terdistribusi
                                                            1.      Heterogenitas
                                                            2.      Pertukaran sumberdaya
                                                            3.      Keterbukaan
                                                            4.      Konkurensi / Multi proses
                                                            5.      Berubah ukuran
                                                            6.      Mampu mengatasi kesalahan
                                                            7.      Transparan
                                                            8.      Keamanan
                                                            9.      Software Sistem dan aplikasinya harus dirancang dengan baik


E.     Konsekuensi Karakteristik Sistem Terdistribusi
·         Sistem terdistribusi adalah sistem concurrent (serentak)
o   Setiap komponen hardware/software bersifat otonom (kita akan menyebut komponen otonom adalah "proses")
o   Komponen menjalankan tugas bersamaan Contoh : A dan B adalah concurrent jika A dapat terjadi sebelum B, dan B dapat terjadi sebelum A
o   Sinkronisasi dan koordinasi dengan message passing
o   Sharing resources
o   Masalah umum dalam sistem concurrent
§  Deadlock
§  Lifeclock
§  Komunikasi yang tidak handal
         Keterbatasan dalam global clock
o   Terdapat batasan pada ketepatan proses sinkronisasi clock pada sistem terdistribusi, oleh karena asynchronous message passing
o   Pada sistem terdistribusi, tidak ada satu proses tunggal yang mengetahuiglobal state sistem saat ini (disebabkan oleh concurrency danmessage passing)
         Independent failure
o   Kemungkinan adanya kegagalan proses tunggal yang tidak diketahui
o   Proses tunggal mungkin tidak peduli pada kegalalan sistem keseluruhan
F.      Contoh Sistem Terdistribusi
Jaringan komputer dan aplikasi yang heterogen
a.       Mengimplementasikan protokol Internet


b.      Sistem Terdistribusi Multimedia
Biasanya digunakan pada infrastruktur internet
-          Karakteristik
§  Sumber data yang heterogen dan memerlukan sinkronisasi secara real time
-          Video, audio, text
§  Multicast
Contoh:
-          Teleteaching tools (mbone-based, etc.)
-          Video-conferencing
-          Video and audio on demand
c.       Sistem Terdistribusi Intranet
Jaringan yang teradministrasi secara lokal
        Biasanya proprietary
        Terhubung ke internet (melalui firewall)
        Menyediakan layanan internal dan eksternal 

d.      Sistem Terdistribusi Mobile dan Sistem Komputasi Ubiquitous
-          Sistem telepon Cellular (e.g., GSM)
§  Resources dishare : frekuensi radio, waktu transmisi dalam satu frekuensi, bergerak
-          Komputer laptop, ubiquitous computing
-          Handheld devices, PDA, etc

G.    Model Sistem Terdistribusi

 Dalam sistem terdistribusi terdapat beberapa model, antara lain : 
·         Model Client Server
Sistem Client-server mempunyai satu atau lebih proses client dan satu atau lebih proses server, dan sebuah proses client dapat mengirim query ke sembarang proses server. Client bertanggung jawab pada antar muka untuk user, sedangkan server mengatur data dan mengeksekusi transaaksi. Sehingga suatu proses client berjalan pada sebuah personal computer dan mengirim query ke sebuah server yang berjalan pada mainframe.
Aarsitektur ini menjadi sangat popular untuk beberapa alasan. Pertama, implementasi yang relatif sederhana karena pembagian fungsi yang baik dan karena server tersentralisasi. Kedua, mesin server yang mahal utilisasinya tidak terperngaruh pada interaksi pemakai. Meskipun mesin client tidak mahal. Ketiga, pemakai dapat menjalankan antarmuka berbasis grafis sehingga pemakailebih mudah dibandigkan antar muka pada server yang tidak user-friendl, perlu diingat batasan antara client dan server dan untuk menjaga komunikasi antara keduanya yang berorientasi himpunan. Khususnya membuka kursor dan mengambil tupel pada satu waktu membangkitkan beberapa pesan dan dapat diabaikan.
Client:
§  Proses akses data
§  Melakukan operasi pada komputer lain
     Server:
§  Proses mengatur data
§  Proses mengatur resources
§  Proses komputasi
      Interaksi:
§  Invocation/result

·         Model Multiple Server

·          Service disediakan oleh beberapa server
• Contoh:
– Sebuah situs yang jalankan dibeberapa server
• Server menggunakan replikasi atau database terdistribusi
·      Model Proxy Server
Proxy server menyediakan hasil copy (replikasi) dari resource yang di atur oleh server lain. Biasa nya proxy server di pakai untuk menyimpan hasil copy web resources. Ketika client melakukan request ke server, hal yang pertama dilakukan adalah memeriksa proxy server apakah yang diminta oleh client terdapat pada proxy server. Proxy server dapat diletakkan pada setiap client atau dapat di pakai bersama oleh beberapa client. Tujuannya adalah meningkatkan performance dan availibity dengan mencegah frekwensi akses ke server.

• Proxy server membuat duplikasi beberapa server yang diakses oleh client
• Caching:
– Penyimpanan lokal untuk item yang sering diakses
– Meningkatkan kinerja
– Mengurangi beban pada server
• Contoh:
- Searching satu topik namun dilakukan dua kali maka searching terakhir memiliki waktu yang lebih kecil
·         Model Peer To Peer
Bagian dari model sistem terdistribusi dimana sistem dapat sekaligus berfungsi sebagai client maupun server. Sebuah arsitektur di mana tidak terdapat mesin khusus yang melayani suatu pelayanan tertentu atau mengatur sumber daya dalam jaringan dan semua kewajiban dibagi rata ke seluruh mesin, yang dikenal sebagai peer. Pola komunikasi yang digunakan berdasarkan aplikasi yang digunakan. Peer-to-peer merupakan model yang paling general dan fleksible.

·         Model Mobile Code

•  Kode yang berpindah dan dijalankan pada pc yang berbeda
•  Contoh: Applet

         Model Mobile Agent
• Sebuah program yang berpindah dari satu komputer ke komputer yang lain
• Melakukan perkerjaan otomatis
• Contoh:
– Untuk install dan pemeliharan software pada komputer sebuah organisasi
        
Referensi :
http://hifdzirizqi.files.wordpress.com/2007/09/sistem-terdistribusasi.ppt
http://hhimawan.files.wordpress.com/2011/08/sesi1_pengantar.ppt
http://benny_irawan.staff.gunadarma.ac.id/Downloads/files/13451/Pendahuluan
http://godekcadel.blogspot.com/2013/04/pengenalan-sistem-terdistribusi.html
http://damaraaaa.wordpress.com/2013/03/12/definisi-dan-contoh-sistem-terdistribusi/
http://fakeworldofus.blogspot.com/2013/03/definisi-dan-contoh-sistem-terdistribusi.html