Jaringan Komputer dan Proses Terdistribusi

Daftar Isi

Merlindawibowo.com – Sebuah arsitektur komunikasi adalah seperangkat hardware dan software yang mampu menjalankan fungsi : 

  • Pertukaran data antar sistem.
  • Aplikasi terdistribusi seperti e-mail, transfer file dan akses terminal jarak jauh.

Sebagai contoh jaringan komputer, standar kerja yang harus dijalankan pada proses transfer file antar komputer adalah sebagai berikut:

  • Sistem sumber harus menginformasikan kepada jaringan komputer alamat sistem yang dituju.
  • Sistem sumber harus mengetahui bahwa sistem yang dituju siap untuk menerima data yang dikirimkan.
  • Jika format yang digunakan oleh kedua sistem tersebut tidak kompatibel, salah satu dari kedua sistem tersebut harus melakukan fungsi translasi format.
  • Aplikasi transfer data dari komputer sumber harus memastikan bahwa program manajemen file dan komputer tujuan siap untuk menerima dan menyimpan file tersebut.

Arsitektur Komunikasi Sederhana

Arsitektur komunikasi secara umum dapat dibagi menjadi tiga layer yang meliputi :

  1. Network acces layer.
    Berfungsi mengatur pertukaran data antar komputer dalam suatu jaringan, termasuk pengalamatannya.
  2. Transport layer.
    Berfungsi menjain kehandalan (pengurutan dan sinkronisasi) dalam pengiriman data.
  3. Application layer.
    Berupa program aplikasi yang memenuhi kebutuhan user, seperti modul transfer file, e-mail, dan sebagainya.

Pada arsitektur komunikasi dibutuhkan 2 level, pengalamatan (addresing): 

  1. Network Addresing, yaitu alamat unik yang dimiliki oleh setiap komputer didalam jaringan. 
  2. Service Acces point (SAP), yaitu alamat unik yang dimiliki oleh setiap aplikasi yang berjalan pada sebuah komputer.

Setiap modul yang memiliki level yang sama pada komputer yang berbeda dapat saling berkomunikasi dengan menggunakan suatu protokol. Protokol adalah seperangkay aturan atau konvensi yang mengatur dua entitas dalam melakukan proses pertukaran data.

Protocol Data Unit

Dalam proses pengiriman ke komputer lain blok data aplikasi harus dipaketkan dalam unit-unit yang terdiri atas informasi data itu sendiri dan informasi kontrol protokol. Unit-unit ini disebut sebagai protocol data unit (PDU). Pemaketsn unit-unit ini dilakukan pada transportation layer dan network access layer.

Transport Header biasanya berisi informasi tentang:

  • Tujuan sevice Acces point
  • Sequence Number yang dikirimkan oleh komputer pengirim dan digunakan sebagai acuan untuk mengurutkan data yang diterima pada komputer tujuan.
  • Kode deteksi error (error-detection code) yang digunakan untuk menentukan apakah data yang diterima oleh komputer tujuan mengalami error.

Network header umumnya berisi informasi mengenai:

  • Alamat komputer yang dituju yang dibutuhkan oleh jaringan untuk menentukan kemana data harus dikirimkan.
  • Permintaan fasilitas.

Arsitektur OSI

Untuk menakomodasikan kebutuhan komunikasi antar berbagi jenis komputer yang berbeda-beda dibutuhkan suatu standar internasional yang mengatur arsitektur komunikasi antar komputer. Keuntungan yang diperoleh dengan adanya standar internasional ini adalah:

  • Vendor-vendor akan merasa terdorong untuk menerapkan standar tersebut harapannya produk-produk mereka akan lebih diterima secara luas dipasaran. 
  • Para pemakai komputer berharap para vendor yang menerapkan standar internasional tersebut memberikan berbagai tawaran produk yang mereka butuhkan.

Standar arsitektur komunikasi yang mampu mengakomodasikan kebutuhan komunikasi antarber bagai jenis komputer adalah open-system (OSI). OSI didasarkan pada konsep kerjasama antar aplikasi terdistribusi. System yang diakomodasikan dalam OSI mencakupkomputer itu sendiri, piranti lunak, dan devais peri pheral yang terpasang pada komputer tersebut termasuk terminal.

Baca juga : Location Based Services

Baca juga : Peluang Bisni 2023

Model OSI

Dalam OSI fungsi komunikasi dibagi kedalam beberapa lapis (layer) yang disusun secara hirarkis. Setiap layer melakukan sejumlah rangkaian fungsi yang dibutuhkan untuk berkomunikasi dengan sistem yang lain. Masing-masing layer beroperasi dengan mengandalkan layer dibawahnya untuk melakukan fungsi-fungsi yang lebih sederhana dan pada saat yang lain layert tersebut memberikan service yang diperlukan oleh layer diatasnya.

Layer-layer dalam OSI:

1. Physical Layer

Layer ini menyediakan antarmuka fisik antar devais transmisi data dan media transmisi serta aturan-aturan yang diperklukan dalam pertukaran data. Beberapa karekteristik penting dalam physical layer meliputi :

  • Mekanik berkaitan dengan titik terminal atau penyekat. Sebagai contoh konektor dengan jumlah pin tertentu yang dihubungkan dengan kawat pengirim sinyal.
  • Elektrik berkaitan dengan level tegangan yang dibutuhkan serta timing (pengaturan Waktu) untuk menentukan kondisi bit. Karakteristik ini menentukan kecepatan data dan jarak yang dapat dicapai dalam peniriman data.
  • Fungsional: menentukan fungsi yang perlu dijalankan oleh setiap konduktor medium penghantar sebagai contoh, sebagian konduktor berfungsi mengirimkan data sementara sebagian yang lain mengirimkan sinyal-sinyal pengendali.
  • Prosedural : menentukan urutan kejadian dalam pengiriman data. Urutan ini didasarkan pada karakteristik fungsionalnya. Sebagai contoh, sinyal pengendali yang dikirimkan dari suatu terminal akan diikuti dengan sinyal pengendali yang bersesuaian dari terminal yang lain.

Contoh standar physical layer yang digunakan dalam OSI antara lain : RS-232. C dan EIA-232-D.

2. Data Link Layer

Jika physical layer hanya mengatur aliran bit demi bit, maka Data Link Layer berkaitan dengan masalah kehandalan serta menyediakan fungsi yang dibutuhkan dalam mengaktifkan, mempertahankan dan menon -aktifkan suatu hubungan transmisi data. Prinsip kerja yang utama dari Data Link Layer adalah menyajikan data kepada layer yang dibutuhkan untuk mengatur hubungan transmisi (link).

3. Network Layer

Network layer menyediakan service yang diperlukan dalam pengiriman informasi antar komputer melalui sejumlah jaringan komunikasi pendek. Network layer menyediakan fungsi untuk membuat, menjaga dan mengakhiri koneksi dari sejumlah network. Pada layer ini sistem komputer melakukan dialog dengan network untuk menentukan alamat tujuan dan memerlukan fasilitas-fasilitas tertentu seperti prioritas Karena network layer berhubungan langsung dengan sistem jaringan, maka tentu saja network layer tidak dibutuhkan dalam kasus komunikasi langsung point-point antar komputer yang tidak melibatkan jaringan. Pada kasus yang demikian fungsi komunikasi sepenuhnya dapat ditangani oleh data link layer. Salah satu standard OSI yang cukup populer untuk network layer adalah X.25.

Baca juga : Protokol TCP/IP dan Keamanan Komputer

4. Transport layer

Transport layer menyediakan mekanisme yang handal bagi proses pertukaran data antar komputer. Layer ini memastikan bahwa data yang dikirimkan benar-benar bebas dari error, dalam kondisi yang berurutan/teratur, dan tidak terdapat kehilangan atau duplikasi data.

Transport layer juga mengurusi masalah optimasi penggunaan servis jaringan dan menyediakan kualitas servis yang dibutuhkan. Sebagai contohnya, transport layer menentukan waktu tunda maksimum, prioritas, dan keamanan.

5. Session Layer

Session Layer menyediakan mekanisme pengontrolan dialog antara dua sistem. Dalam beberapa kasus hanya dibutuhkan sedikit peran untuk session layer ini, bahkan seringkali layer ini tidak dibutuhkan sama sekali. Beberapa servis utama yang diberikan oleh layer ini adalah :

  • Disiplin dialog: hal ini dapat berupa simultan dua arah (full duplex) atau bolak balik dua arah (hall duplex).
  • Groupping: aliran data dapat ditandai untuk menentukan grup data.
  • Recovery: dalam hal ini session layer menyediakan sebuah mekanisme yang mana jika terjadi kegagalan dalam salah satu proses pengiriman data maka session layer yang akan mengirim kembali semua data dari awal hingga akhir.

6. Presentation Layer

Pada layer ini diatur format data yang akan dikirimkan oleh masing-masing aplikasi, dengan demikian presentation layer menyediakan seperangkat servis yang dibutuhkan untuk proses transformasi data. Sebagai contoh, layer ini menyediakan fasilitas untuk kompresi dan enkripsi data.

7. Application Layer

Application layer menyediakan fasilitas bagi program aplikasi untuk melakukan hubungan dengan lingkungan OSI. Layer ini menyediakan fungsi manajemen dan mekanisme yang secara umum sangat diperlukan untuk mendukung aplikasi terdistribusi seperti trnsfer file, e-mail, dan akses jarak jauh ke suatu terminal komputer.

Manajemen Proses Terdistribusi

Process Migration

Proses Migration adalah pengiriman sejumlah tertentu proses dari suatu mesin ke mesin yang lain untuk sebuah proses pengeksekusian pada mesin target. Latar belakang konsep ini bermula dari sebuah riset yang bertujuan menyeimbangkan beban diantara sejumlah sistem jaringan komputer.

Tujuan Proses Migration

Process migration sangat diperhitungkan dalam sistem terdistribusi dengan sejumlah alasan yang mendasari, antara lain:

1. Load Sharing (pembagian beban)

Dengan memindahkan proses dari sistem yang berbeban penuh ke sistem yang berbeban lebih ringan, beban-beban tersebut dapat disetimbangkan untuk meningkatkan kinerja keseluruh sistem.

2. Communication Performance (kinerja komunikasi)

Proses-proses yang saling berinteraksi secara intensif dapat dipindahkan ke simpul yang sama untuk mengurangi biaya komunikasi yang ditimbulkan oleh interaksi mereka. Demikian juga, pada saat sebuah proses menjalankan analisis data pada sebuah file atau sekumpulan file yang melebihi ukuran proses, maka hal ini akan menguntungkan jika proses tersebut dipindahkan mendekati data ketimbang sebaliknya.

3. Availability (ketersediaan)

Proses yang berlangsung lama harus dipindahkan untuk dilanjutkan kembali pada sistem yang lain apabila sistem yang dipakai saat itu akan dimatikan dengan suatu alasan tertentu.

4. Utilizing Special (pemanfaatan kemampuan khusus)

Sebuah proses dapat dipindahkan untuk mendapatkan keuntungan pemanfaatan software maupun hardware pada suatu simpul tertentu.

Mekanisme Process Migration

Beberapa hal yang perlu dipertimbangkan dalam perancangan fasilitas process migration antara lain:

  1. Siapa yang memulai migrasi.
  2. Bagian proses yang mana yang perlu dimigrasikan.
  3. Apa yang terjadi dengan sinyal dan pesan yang telah dihasilkan sebuah migrasi.

Memulai Migrasi

Faktor yang menentukan siapa yang akan memulai migrasi tergantung pada tujuan faslitas migrasi tersebut.

Jika tujuan migrasi adalah untuk menyeimbangkan beban maka beberapa modul dalam sistem operasi yang memantau beban sistem bertanggungjawab menentukan kapan saatnya migrasi dilakukan. Modul ini akan melakukan beberapa tugas sebagai berikut :

1. Memberikan tanda kepada proses yang dimaksud untuk melakukan migrasi 2. Menentukan lokasi tujuan migrasi. Untuk itu modul tersebut harus melakukan komunikasi denganm modul serupa pada sistem yang lain, sehingga gambaran beban pada sistem yang lain terpantau. Jika tujuan migrasi adalah untuk mendekatkan sebuah proses ke suatu recources tertentu, maka proses tersebut dapat melakukan migrasi atas inisiatif sendiri.

Apa yang dimigrasikan?

Pada sat proses dimigrasikan yang perlu dilakukan adalah menghapus proses pada sistem sumber dan membuat proses pada sistem tujuan. Dengan demikian process migration bukan sebuah replikasi proses, harus dipindahkan pula Konsekuensinya, process image, yang menyimpan informasi blok pengendali proses, harus dipindahkan pula. Sebagai tambahan, setiap link antara proses tersebut dengan proses yang lain (berupa pesan atau sinyal) harus diperbarui (update). 

Sebelum migrasi
Setelah migrasi

Proses 3 pada mesin P dimigrasikan ke proses 4 pada mesin Q. semua link yang berkaitan dengan proses tersebut menunjuk ke target yang sama baik sebelum maupun sesudah migrasi. Tugas pemetaan link dilakukan oleh sistem operasi.

Pemindahan blok kontrol proses dilakukan secara langsung. Bagian yang paling rumit dalam fase ini adalah yang berkaitan dengan ruang proses dan file-file terbuka yang berkaitan dengan proses tersebut. Untuk itu perlu dilakukan strategi khusus untuk menanganinya, ada dua alternatif yang bisa digunakan :

  1. Memindahkan seluruh ruang alamat pada saat migrasi. Ini merupakan pendekatan pembersihan. Dengan demikian tidak ada jejak proses yang tertinggal pada sistem/mesin yang lama.
  2. Hanya memindahkan bagian dari ruang alamat yang berada di memori. Blok-blok tambahan ruang alamat virtual hanya akan ditransformasikan jika ada kebutuhan untuk itu. Dengan strategi ini maka jumlah data yang ditransfer dapat diminimalisasi. Namun di sisi lain sistem sumber tetap melanjutkan pemeliharaan sebagian entri table segmen alamat proses.

Jika proses yang dimigrasikan diperkirakan tidak menggunakan terlalu banyak ruang alamat nonresident (seperti contoh, suatu proses yang hanya secara temporer pindah kemesin yamg lain untuk melakukan sebuah fungsi pada file dan kembali lagi ke mesin sumber), maka strategi kedua dapat menjadi pilihan yang lebih efisien. Namun jika ruang alamat nonresident yang dibutuhkan terlampau besar dan akan sering diakses, maka diperlukan strategi kedua untuk menanganinya.

Penanganan Sinyal dan Pesan

Untuk mengatasi penanganan terhadap pesan atau sinyal yang telah dihasilkan sebelumnya pada saat proses migrasi berlangsung, maka diperlukan mekanisme yang memungkinkan penyimpanan pesan dan sinyal tersebut secara temporer untuk kemudian diarahkan ketujuan yang baru.

Meniru

Yang dimaksud proses meniru di sini adalah mencoba membuat tiruan dari user interface yang sudah ada dan telah dipakai oleh user. Selanjutnya perlu dipikirkan pekerjaan-pekerjaan yang biasa dilakukan oleh pemakai.

Program apa yang akan dilakukan oleh user atau seseorang jika menghadapi kondisi seperti itu, jika mereka menggunakan spreadsheet maka desain interface yang dibuat perlu disesuaikan sehingga seperti spreadsheet yang mereka gunakan. Jika mereka menggunakan paket grafik berorientasi obyek, maka sebaiknya aplikasi yang dibuat menyerupainya. Dengan cara demikian maka user akan mudah menggunakan aplikasi yang dibuat karena tidak memerlukan banyak penyesuaian dalam hal interface dengan program-program yang mereka gunakan sebelumnya.

Pada level yang lebih spesifik, metode meniru program yang telah ada ini juga dapat diterapkan, seperti contoh dalam hal penempatan tombol atau dalam masalah penamaan menu. Sebagai contoh, dalam pembuatan paket manajemen formulir yang memerlukan fasilitas pengecekkan ejaan, maka sebaiknya desainer mengacu pada menu pengecekkan ejaan yang telah ada pada aplikasi pengolah kata yang biasa dipakai oleh user.

Membuat Perkiraan Kasar Desain

Gambaran kasar tentang desain yang dibangun haruslah diterjemahkan dalam bentuk tulisan sehingga menuntun desainer untuk memo memikirkan segala sesuatu yang terkait dengan desain tersebut. Namun tidak perlu mewujudkannya dalam bentuk program, mengingat pemrograman yang paling sedehana sekalipun menuntut desainer untuk menentukan banyak keputusan yang terlampau dini untuk sebuah proses.

Pada tahapan ini tim desainer akan banyak menghabiskan waktu untuk mendiskusikan berbagai fitur sistem yang perlu untuk disertakan. Dalam diskusi ini para desainer dipandu dengan pendekatan desain yang berbasis pekerjaan. Jika salah satu anggota tim memiliki usulan fitur yang baru maka anggota yang lain meminta argumentasinya tentang pekerjaan user yang mewakili yang dapat didukung oleh fitur tersebut. Dengan demikian fitur-fitur yang tidak mendukung suatu tugas atau pekerjaan user akan dikesampingkan atau dimodifikasikan jika perlu.

Tugas-tugas yang mewakili sebaiknya tulis dalam bentuk checklist singkat yang berisi definisi-definisi umum tugas-tugas tersebut. Jika terdapat beberapa pekerjaan yang tidak bisa tercakup dalam suatu

definisi yang ada, maka perlu definisi tugas tersebut perlu diperbaharui.

Memikirkan Kembali Desain

Dibutuhkan pendekatan yang terstruktur untuk menggali kekuatan dan kelemahan desain interface tersebut sebelum membangunnya.

Salah satu metode yang digunakan adalah menhitung jumlah langkah (step) serta jumlah tahapan pengambilan keputusan yang diperlukan oleh desain interface untuk memperkirakan waktu penyelesaian sebuah tugas dan mampu mengidentifikasi tugas- tugas tertentu yang memerlukan terlalu banyak langkah (step). Prosedur untuk pendekatan ini disebut dengan analisis GOMS (akan dibahas lebih detail pada bahasan selanjutnya).

Metode lain yang dapat digunakan adalah dengan tekknik yang disebut cognitive walktrough untuk mengidentifikasi lokasi-lokasi dimana user kemungkinan melakukan kesalahan. Seperti halnya metode GOMS, cognitive walktrough menganalisa interaksi pemakai dengan interface pada saat mereka melakukan pekerjaan-pekerjaan tertentu (metode ini juga akan dibahas pada bagian lain tulisan ini).

Membuat Mock-Up Prototipe

Setelah mempertimbangkan secara menyeluruh deskripsi yang telah dituangkan dalkam bentuk tulisan, langkah selanjutnya adalah menciptakan sesuatu yang lebih bersifat konkret sehingga dapat ditunjukkan pada pemakai dan memberikan ilustrasi yang lebih detail untuk proses desain lebih lanjut. Pada permulaan tahapan ini, produk konkret dapat berupa serangkaian sketsa pada kertas yang menunjukkan langkah demi langkah yang diperlukan oleh pemakai untuk menyelesaikan tugasnya dengan menggunakan interface tersebut.

Akan ada banyakmasukan yang diperoleh dari user dengan menunjukkan mock-up dalam bentuk sketsa di atas kertas tersebut mock-up ini akan banyak membantu mengungkap kesalahpahaman yang kemungkinan besar ada diantara anggota tim.

Pada tahapan analisis yang lebih lanjut, paket-paket demo aplikasi yang ada dapat dimanfaatkan untuk membantu para anggota tim dalam menyusun sebuah prototipe yang lebih baik.

Keseluruhan desain tidak perlu diimplementasikan pada tahapan ini. Usaha awal perlu di konsentrasikan pada bagian user interface yang diperlukan untuk tugas-tugas yang mewakili.