Sunday, December 29, 2013

Wideband Code Division Multiple Access (WCDMA)


WCDMA adalah suatu sistem sebagai air interface pada sistem komunikasi bergerak generasi ketiga yakni UMTS. Pada dasarnya WCDMA adalah sistem yang memakai suatu skema yang disebut Direct Sequence Code Division Multiple Access (DS-CDMA). Skema ini memakai teknik modulasi spektral tersebar yaitu teknik modulasi dimana pengiriman sinyal yang dilakukan menduduki lebar pita frekuensi melebihi spektrum frekuensi minimal yang dibutuhkan untuk menyalurkan informasi.


DS-CDMA adalah salah satu teknik akses jamak yang bekerja berdasarkan prinsip spektral tersebar. Pada sistem DS-CDMA, banyak user menempati kanal pada band yang sama dan setiap user diberikan kode yang berbeda-beda. Pada sistem DS-CDMA, data informasi biner akan ditebar dengan suatu kode penebar (spreading code) yang besifat semu (pseudo-random). Kemudian hasil spreading ini akan dimodulasi oleh gelombang carrier dengan suatu teknik modulasi. Proses sistem DS-CDMA pada sisi pemancar adalah perkalian data user dikalikan dengan kode penebar yang memiliki chip rate lebih tinggi daripada bit rate data user. Perbandingan antara chip rate kode penyebar dengan bit rate data disebut spreading factor yang dinotasikan dengan n. Pada sisi penerima sinyal yang telah disebar tersebut dikalikan kembali dengan kode penebar yang sama ketika dikirimkan sehingga urutan data akan didapatkan kembali. Proses ini disebut despreading.

Jika kode penyebar lain yang ortogonal dengan kode penyebar asli digunakan untuk proses despreading, maka akan menghasilkan noise atau interferensi karena senua user yang lain akan berlaku sebagai noise atau interferensi maka suatu cara harus diambil agar interferensi yang disebabkan oleh user yang lain tidak melebihi energi sinyal kita sendiri. Jika sinyal kita ditutupi atau didominasi oleh interferensi, maka pengambilan data pada proses despreading tidak akan berjalan.

Suatu fast power control membolehkan user untuk memancarkan sinyal dengan suatu daya pancar tertentu yang dipakai untuk mengontrol interferensi yang ditimbulkan setiap user. Power control sangatlah perlu untuk menangani masalah near-far dan juga mengimbangi perbedaan dan variasi pada kanal radio. Masalah near-far muncul ketika dua user memancar dengan daya yang sama namun salah satu user mengalami penurunan daya yang diakibatkan bermacam-macam hal misalnya attenuasi yang tinggi. Sinyal user ini akan didominasi oleh interferensi yang disebabkan oleh user lain yang tidak mengalami penurunan daya. Dalam hal ini, kontro daya sangat dibutuhkan sehingga masalah ini dapat dikurangi.

Sumber

Saturday, December 28, 2013

Integrated Service Digital Network [ISDN]

PENGERTIAN

Secara bahasa

“Integrated Services” merujuk pada kemampuan ISDN untuk mengirim dua jenis data yang berbeda (kombinasi dari voice, fax, data  dan video) secara simultan melalui kabel tunggal. Banyak peralatan bisa diletakkan pada kabel tersebut dan digunakan sesuai kebutuhan.

“Digital” merujuk pada jenis transmisi digital, yang membedakan dengan jenis transmisi analog yang digunakan pada jalur telepon biasa. Selain itu, switching dan pensinyalan pada jaringan ini juga menggunakan prinsip digital

“Network” merujuk pada kondisi bahwa jaringan ISDN merupakan perluasan dari sentral telepon lokal dan user, termasuk seluruh peralatan switching di antaranya. Terminal-terminal analog-pun (misal : pesawat telepon, fax, modem) bisa dikoneksikan ke jaringan ISDN dengan menambahkan adapter.

INTRODUCTION

Lebih dari berabad-abad yang lalu, infrastruktur sistem telepon telah berupa sistem public circuit-switched telephone.Sistem tersebut didisain untuk transmisi voice analog and tidak memenuhi kebutuhan komunikasi modern.

Pada1984, the CCITT (Consultation Committee for International Telegraphy and Telephony) bersama sama perusahaan telepon memutuskan untuk membangun sistem telepon yang fully digital sebagai bagian dari awal abad 21.

Sistem baru tersebut disebut ISDN (Integrated Services Digital Network). Tujuan utama dari ISDN adalah mengintegrasikan service  voice dan nonvoice.
       Jaringan  ISDN dibangun dengan tujuan untuk mendapatkan jaringan yang fully digital.
ISDN memungkinkan sinyal digital ditransmisikan melalui jaringan telepon yang sudah ada


  
Terdapat 3 type  channels yang digunakan pada ISDN yaitu:
B channel : 64 kbps
D channel : 16 or 64 kbps
H channel : 384(H0), 1536(H11), 1920(H12) kbps    

B CHANNEL
Bearer channel
Basic user channel
Digunakan untuk membawa digital, voice, video dan multimedia data
Dapat digunakan bersama-sama untuk aplikasi bandwidth yang lebih lebar
Dapat digunakan untuk 4 macam koneksi:
·         Circuit Switched
·         Packet Switched Frame Mode
·         Semipermanent


D CHANNEL
Delta or Demand channel
Membawa data pensinyalan dan kontrol
Dapat juga digunakan untuk membawa data paket user
Membawa informasi yang diperlukan untuk connect dan disconnect calls.

PENGAKSESAN ISDN

Ada 2 jenis pengaksesan ISDN, yaitu:

      Basic Rate Access, Pengaksesan menggunakan Basic Rate Interface (BRI), Pengaksesan dalam skala kecil (Rumah, kantor)

      Primary Rate Access, Pengaksesan menggunakan Primary Rate Interface (PRI) Pengaksesan dalam skala besar





BASIC RATE INTERFACE (BRI)

 ü  Terdiri dari 2 buah B channels (full duplex, 64 kbps) dan 1 buah D channel
 ü  Menggunakan tambahan bandwidth (overhead) 48 Kbps untuk maintenance dan sinkronisasi
 ü  Bandwidth Total = 192 Kbps

 PRIMARY RATE INTERFACE (PRI)
 ü  Terdiri dari 23 B channel (64 kbps) dan 1 D Channel digunakan di USA, Canada dan Jepang (teknologi       T1). Total bandwidth = 1.544 Mbps (termasuk sinkronisasi)
 ü  Terdiri dari 30 B Channel dan 1 D channel, Digunakan di Eropa dan Australia (Teknologi E1), Total             bandwidth = 2.048 Mbps

Asymetric Digital Subcriber Line [ADSL]

            

ADSL adalah kependekan dari Asymmetric Digital Subscriber Line, sebuah teknologi yang memungkinan data kecepatan tinggi dikirim melalui kabel telepon. ADSL memungkinkan untuk menerima data sampai kecepatan 1.5-9Mbps (kecepatan downstream) dan mengirim data pada kecepatan 16-640Kbps (kecepatan upstream).
ADSL membagi frekuensi dari sambungan yang digunakan dengan asumsi sebagian besar pengguna Internet akan lebih banyak mengambil (download) data dari Internet daripada mengirim (upload) ke Internet. Oleh karena itu, kecepatan data dari Internet biasa sekitar tiga sampai empat kali kecepatan ke Internet. Karena kecepatan upstream dan downstream tidak sama digunakan istilah Asymmetric.



Keuntungan ADSL:

  • Anda dapat tersambung ke Internet, dan tetap dapat menggunakan telepon untuk menerima / menelepon.
  • Kecepatan jauh lebih tinggi dari modem biasa.
  • Tidak perlu kabel telepon baru, ADSL memungkinkan mengggunakan kabel telepon yang ada.
  • Beberapa ISP ADSL akan memberikan modem ADSL sebagai bagian dari instalasi.


Kerugian ADSL:

  • Sambungan ADSL akan bekerja dengan sempurna jika lokasi kita cukup dekat dengan sentral telepon. Paling tidak dalam jarak 2-3 km bentangan kabel biasanya cukup aman untuk digunakan ADSL sampai kecepatan sekitar 8Mbps. Teknologi DSL yang baru dapat mengirimkan data pada kecepatan sangat tinggi s/d 100Mbps, tentu untuk jarak yang sangat pendek.
  • Sambungan ADSL lebih cepat untuk menerima data daripada mengirim data melalui Internet.
  • Kabel tembaga tua dapat menurunkan kualitas sambungan dan menurunkan kecepatan.
  • Pada saat musim hujan, air sangat menganggu kualitas kabel telepon. Apalagi kalau banjir dan menenggelamkan Rumah Kabel telepon, di jamin akan menambah redaman kabel dan akan mengurangi kualitas sambungan ADSL.
  • Jasa ADSL tidak ada di wilayah yang tidak ada kabel telepon.

Sunday, December 22, 2013

MULTI PROTOCOL LABEL SWITCHING [MPLS}


Multi-Protocol Label Switching (MPLS)

Konsep dasar MPLS adalah teknik peletakan label dalam setiap paket yang dikirim dalam jaringan ini. MPLS bekerja dengan cara memberi label paketpaket data yang memuat rute dan prioritas pengiriman (treatment) paket tersebut. Label tersebut akan memuat informasi penting yang berhubungan dengan informasi routing suatu paket. Teknik pelabelan ini biasa disebut dengan label switching.

Komponen MPLS

·        Label Switched Path (LSP)
LSP merupakan jalur yang terbentuk dari dari serangkaian label swithing hop, dimana paket diteruskan berdasarkan table FEC (forward equivalent Class) dari satu mpls node ke mpls node yang lain.
·        Label Switching Router (LSR)
Biasa disebut juga dengan mpls node. Merupakan router yang berfungsi untuk meneruskan paket dengan melihat label berdasarkan table routing label.
·        Label Edge Router (LER)
LER adalah node yang menghubungkan sebuah MPLS domain dengan node yang berada diluar MPLS domain.
·        MPLS Egress Node
MPLS Egress Node adalah Node pada MPLS yang mengatur lalu lintas pada saat meninggalkan MPLS domain.
·        MPLS Ingress Node
MPLS Ingress Node adalah Node yang mengatur lalu lintas saat akan masuk ke MPLS domain.
·        MPLS label
MPLS label adalah label yang diberikan pada Header MPLS.
·        MPLS node
        MPLS node akan menjalankan MPLS. Berfungsi sebagai control protocol  yang akan meneruskan paket       berdasarkan label tujuan.

Struktur Jaringan MPLS
Secara umum, jaringan MPLS dapat dilihat pada gambar dibawah. LSR berfungsi untuk mengaplikasikan label ke dalam paket-paket yang masuk ke dalam jaringan MPLS. Paket yang telah dilabeli kemudian dihubungkan ke LSR yang juga berfungsi sebagai router.


Cara Kerja MPLS
MPLS mempunyai prinsip kerja yang menggabungkan kecepatan switching pada layer 2 dengan kemampuan routing pada layer 3. Pada MPLS dilakukan enkapsulasi paket IP dengan menempelkan header MPLS atau diberi label terlebih dahulu pada suatu paket agar data yang dikirim tersebut tidak salah alamat. Label tersebutlah yang nantinya akan mengantarkan data ke alamat yang dituju, sehingga lalu lintas data yang dikirim melalui jalan yang benar. Pengalamatan dengan menggunakan label tersebut juga memberi keamanan pada data paket yang dikirim. Header MPLS terdiri atas 32 bit data, termasuk 20 bit label, 2 bit eksperimen, 1 bit identifikasi stack, serta 8 bit TTL.

Label Distribution Protocol (LDP)
Label Distribution Protocol (LDP) merupakan suatu protokol yang digunakan untuk menginformasikan ikatan label yang telah dibuat dari satu LSR ke LSR lainnya dalam satu jaringan MPLS. Untuk menyusun LSP, switching table di setiap LSR harus dilengkapi dengan pemetaan dari setiap label masukan ke setiap label keluaran. Proses melengkapi tabel ini dilakukan dengan LDP.

VPN (Virtual Private Network) pada Jaringan MPLS
Salah satu fitur MPLS adalah kemampuan membentuk tunnel atau virtual circuit yang melintasi network-nya. Kemampuan ini membuat MPLS berfungsi sebagai platform alami untuk membangun VPN. VPN yang dibangun dengan MPLS sangat berbeda dengan VPN yang hanya dibangun berdasarkan teknologi IP, yang memanfaatkan enkripsi data. VPN pada MPLS lebih mirip dengan virtual circuit dari FR atau ATM, yang dibangun dengan membentuk isolasi trafik. Trafik benar-benar dipisah dan tidak dapat dibocorkan ke luar lingkup VPN yang didefinisikan.


Label yang dilekatkan pada paket menggunakan tabel VRF (VPN Routing and Forwarding table). Sebelumnya tabel forwarding telah ditentukan terlebih dahulu, dan paket hanya dianalisa sekali, yaitu pada ingress PE saja.

Saturday, December 21, 2013

UBIQUITOUS COMPUTING

UBIQUITOUS COMPUTING

Teknologi informasi pada prinsipnya adalah mentransformasikan cara bagaimana manusia berinteraksi antar sesama dan dengan objek-objek di sekitarnya. Perubahan teknologi terjadi adalah untuk membuat sistem komunikasi dan komputer menjadi lebih mudah, kolaboratif, dan transparan terhadap pemakai.

            Salah satu tanda perubahan tersebut adalah munculnya sebuah versi baru teknologi informasi yang disebut dengan Ambient Intelligence (AmI). AmI adalah suatu teknologi yang memadukan tiga bidang ilmu yang berbeda, yaitu: Ilmu Komputer, Teknik Elektro, dan Telekomunikasi. Ilmu komputer berperan dalam membangun dan menerapkan konsep-konsep Expert System, teleoperator, sistem kendali, dan komponen komputer itu sendiri. Teknik Elektro berperan dalam merancang komponen sensor dan microelectronic. Sementara bidang ilmu Telekomunikasi lebih berperan dalam membentuk sistem mobile communication, jaringan, dan signal processing. AmI dibangun dengan menerapkan tiga teknologi terbaru yaitu: ubiquitous computing, ubiquitous communication, dan intelligent user interface.

            Ubiquitous Computing (sering disingkat menjadi "ubicomp")  Ubiquitous bisa di artikan dimana-mana sedangkan Computing adalah komputer jadi Ubiquitous Computing adalah suatu sistem yang memungkinkan manusia berinteraksi dengan komputer secara kontinyu, dimana saja, kapan saja dan bagaimana saja. ubiquitos computing, merupakan teknologi (terutama teknologi komputer) digunakan dan menyatu di dalam objek dan aktivitas manusia, sehingga di manapun kita berada kita bisa memanfaatkannya untuk memenuhi kebutuhan sehari-hari.” Ubiquitous Computing (komputasi dimana-mana) diperkenalkan pertama kali oleh Mark Weiser pada tahun 1988 selagi menjabat sebagai Chief Technologist di Xerox Palo Alto Research Center (PARC).

            Dalam artikelnya yang berjudul ”The Computer of the 21st Century” di jurnal Scientific American terbitan September 1991. Dalam artikelnya tersebut Weiser mendefiniskan istilah ubiquitous computing sebagai berikut : ”Ubiquitous computing is the method of enhancing computer use by making many computers available throughout the physical environment, but making them effectively invisible to the user”. Apabila diterjemahkan dapat diartikan sebagai metode yang bertujuan menyediakan serangkaian komputer bagi lingkungan fisik pemakainya dengan tingkat efektifitas yang tinggi namun dengan tingkat visibilitas serendah mungkin.

            Latar belakang munculnya ide dasar ubiquitous computing berasal dari sejumlah pengamatan dan studi di PARC terhadap PC, bentuk komputer yang paling dikenal luas oleh masyarakat. PC yang mempunyai kegunaan dan manfaat demikian besar ternyata justru seringkali menghabiskan sumberdaya dan waktu bagi penggunanya, karena PC membuat penggunanya harus tetap berkonsentrasi pada unit yang mereka gunakan dalam menyelesaikan suatu pekerjaan, PC justru membuat mereka mengabaikan aktifitas lainnya. Dengan kata lain dibanding menghemat sumberdaya dan waktu untuk menyelesaikan sebuah permasalahan, PC justru menambah beban untuk tetap menjaga konsentrasi dan fokus pemikiran kita pada alat, apabila terjadi permasalahan yang mengarah pada teknologi, semacam serangan virus atau kerusakan teknis.

            Menurut Weiser, ubiquitous computing memungkinkan pemakaian beratus-ratus device (alat) komputasi wireless per orang per kantor dalam semua skala. Kemudian komputer menjadi semakin embedded (tertanam dalam suatu alat), semakin pas dan enak, serta semakin natural. Sehingga kita menggunakannya tanpa memikirkannya dan tanpa menyadarinya. Tujuan utamanya adalah "activate the world", mengaktifkan segala yang ada di sekitar kita. Hal itu membutuhkan inovasi-inovasi baru di bidang operating system, user interface, networks, wireless, displays dan masih banyak lagi. Kalau seandainya ditambahkan satu teknologi yaitu networking kepada semua peralatan yang ada di dunia ini, maka kita dapat mengkomunikasikan antar alat tersebut dan mengotomatisasi semuanya.
Ubicomp menjadi inspirasi dari pengembangan komputasi yang bersifat “off the desktop”, di mana interaksi antara manusia dengan komputer bersifat natural dan secara perlahan meninggalkan paradigma keyboard/mouse/display dari generasi PC. Kita memahami bahwa jika seorang manusia bergerak, berbicara atau menulis hal tersebut akan diterima sebagai input dari suatu bentuk komunikasi oleh manusia lainnya. Ubicomp menggunakan konsep yang sama, yaitu menggunakan gerakan, pembicaraan, ataupun tulisan tadi sebagai bentuk input baik secara eksplisit maupun implisit ke komputer. Salah satu efek positif dari ubicomp adalah orang-orang yang tidak mempunyai keterampilan menggunakan komputer dan juga orang-orang dengan kekurangan fisik (cacat) dapat tetap menggunakan komputer untuk segala keperluan.

            Dua contoh awal dari pengembangan ubicomp adalah Active Badge dari Laboratorium Riset Olivetti dan Tab dari Pusat Riset Xerox Palo Alto. Active Badge dikembangkan sekitar tahun 1992, berukuran kira-kira sebesar radio panggil (pager), alat ini terpasang di saku pakaian atau sabuk para pegawai dan digunakan untuk memberikan informasi di mana posisi seorang karyawan dalam kantor, sehingga saat seseorang ingin menghubunginya lewat telepon secara otomatis komputer akan mengarahkan panggilan telepon ke ruang di mana orang tersebut berada. Sedangkan Xerox PARC Tab yang juga dikembangkan pada sekitar tahun 1992 adalah sebuah alat genggam (handheld) dengan kemampuan setara dengan sebuah communicator. Patut diingat kedua alat ini diciptakan sekitar 15 tahun lalu dan bahkan sempat diproduksi secara komersial jauh sebelum era telepon seluler 3G yang tengah kita alami saat ini.



Gambar Olivetti Active Badge dan Xerox PARC Tab

Aspek-aspek yang Mendukung Pengembangan Ubiquitous Computing

1.      Natural Interfaces
            Sebelum adanya konsep ubicomp sendiri, selama bertahun-tahun kita telah menjadi saksi dari berbagai riset tentang natural interfaces, yaitu penggunaan aspek-aspek alami sebagai cara untuk memanipulasi data, contohnya teknologi semacam voice recognizer ataupun pen computing. Saat ini implementasi dari berbagai riset tentang input alamiah beserta alat-alatnya tersebut yang menjadi aspek terpenting dari pengembangan ubicomp.
            Kesulitan utama dalam pengembangan natural interfaces adalah tingginya tingkat kesalahan (error prone). Dalam natural interfaces, input mempunyai area bentuk yang lebih luas, sebagai contoh pengucapan vokal “O” oleh seseorang bisa sangat berbeda dengan orang lain meski dengan maksud pengucapan yang sama yaitu huruf “O”. Penulisan huruf “A” dengan pen computing bisa menghasilkan ribuan kemungkinan gaya penulisan yang dapat menyebabkan komputer tidak dapat mengenali input tersebut sebagai huruf “A”. Berbagai riset dan teknologi baru dalam Kecerdasan Buatan sangat membantu dalam menemukan terobosan guna menekan tingkat kesalahan (error) di atas. Algoritma Genetik, Jaringan Saraf Tiruan, dan Fuzzy Logic menjadi loncatan teknologi yang membuat natural interfaces semakin “pintar” dalam mengenali bentuk-bentuk input alamiah.

2.      Wireless Computing
            Komputasi nirkabel mengacu pada penggunaan teknologi nirkabel untuk menghubungkan komputer ke jaringan. Komputasi nirkabel sangat menarik karena memungkinkan pekerja terlepas dari kabel jaringan dan mengakses jaringan dan layanan komunikasi dari mana saja dalam jangkauan jaringan nirkabel. Komputasi nirkabel telah menarik minat pasar yang sangat besar, seperti saat ini banyaknya permintaan konsumen untuk jaringan rumah secara nirkabel.

3.      Context Aware Computing
            Context aware computing adalah salah satu cabang dari ilmu komputer yang memandang suatu proses komputasi tidak hanya menitikberatkan perhatian pada satu buah obyek yang menjadi fokus utama dari proses tersebut tetapi juga pada aspek di sekitar obyek tersebut. Sebagai contoh apabila komputasi konvensional dirancang untuk mengidentifikasi siapa orang yang sedang berdiri di suatu titik koordinat tertentu maka komputer akan memandang orang tersebut sebagai sebuah obyek tunggal dengan berbagai atributnya, misalnya nomor pegawai, tinggi badan, berat badan, warna mata, dan sebagainya.
            Di lain pihak Context Aware Computing tidak hanya mengarahkan fokusnya pada obyek manusia tersebut, tetapi juga pada apa yang sedang ia lakukan, di mana dia berada, jam berapa dia tiba di posisi tersebut, dan apa yang menjadi sebab dia berada di tempat tersebut. Dalam contoh sederhana di atas tampak bahwa dalam menjalankan instruksi tersebut, komputasi konvensional hanya berfokus pada aspek “who”, di sisi lain Context Aware Computing tidak hanya berfokus pada “who” tetapi juga “when”, “what”, “where”, dan “why”.
            Context Aware Computing memberikan kontribusi signifikan bagi ubicomp karena dengan semakin tingginya kemampuan suatu device merepresentasikan context tersebut maka semakin banyak input yang dapat diproses berimplikasi pada semakin banyak data dapat diolah menjadi informasi yang dapat diberikan oleh device tersebut.

4.      Micro-nano technology
            Perkembangan teknologi mikro dan nano, yang menyebabkan ukuran microchip semakin mengecil, saat ini menjadi sebuah faktor penggerak utama bagi pengembangan ubicomp device. Semakin kecil sebuah device akan menyebabkan semakin kecil pula fokus pemakai pada alat tersebut, sesuai dengan konsep off the desktop dari ubicomp. Teknologi yang memanfaatkan berbagai microchip dalam ukuran luar biasa kecil semacam T-Engine ataupun Radio Frequency Identification (RFID) diaplikasikan dalam kehidupan sehari-hari dalam bentuk smart card atau tag. Contohnya seseorang yang mempunyai karcis bis berlangganan dalam bentuk kartu cukup melewatkan kartunya tersebut di atas sensor saat masuk dan keluar dari bis setelah itu saldonya akan langsung didebet sesuai jarak yang dia tempuh.

microchip Toshiba

Isu-isu Seputar Ubicomp

1.      Security
            Ubicomp membawa efek meningkatnya resiko terhadap security. Penggunaan gelombang, infra merah, ataupun bentuk media komunikasi tanpa kabel lain antara alat input dengan alat pemroses data membuka peluang bagi pihak lain guna menyadap data. Sebagai implikasinya sang penyadap dapat memanfaatkan data tersebut untuk kepentingan mereka. Saat ini berbagai riset tentang pengiriman data yang aman, termasuk penelitian terhadap protokol-protokol baru, menjadi salah satu fokus utama dari riset tentang ubicomp.

2.      Privasi
            Penggunaan devices pada manusia menyebabkan ruang pada privasi semakin mengecil. Dengan alasan efisiensi waktu pegawai seorang pimpinan dapat meminta semua karyawannya memakai tag yang dapat memonitor keberadaan karyawan tersebut di kantor. Hal ini menyebabkan sang karyawan tidak lagi mendapatkan privasi yang menjadi haknya karena keberadaannya dapat dipantau setiap saat oleh sang pimpinan beserta data yang menyertainya, misalnya sang pimpinan menjadi dapat mengetahui berapa kali sang karyawan pergi ke toilet hari itu.
            Di dalam beberapa film fiksi ilmiah kita sering melihat bagaimana pemerintah suatu negara yang paranoid berusaha memberikan tag pada setiap warganya demi mendapatkan data dengan dalih keamanan nasional. Apabila tidak mempertimbangkan hak-hak privasi dan etika, dengan teknologi saat ini pun hal tersebut sudah dapat diaplikasikan.    

3.         Wireless Speed
            Dengan berbagai macam ubicomp devices tuntutan akan kecepatan teknologi komunikasi nirkabel menjadi sesuatu yang mutlak. Teknologi saat ini menjamin kecepatan ini untuk satu orang atau beberapa orang dalam sebuah grup. Tetapi ubicomp tidak hanya berbicara tentang satu device untuk satu orang, ubicomp membuat seseorang dapat membawa beberapa devices dan ubicomp juga harus dapat dimanfaatkan di area yang luas semacam stasiun, teknologi yang ada saat ini belum mampu menjamin kecepatan untuk situasi semacam itu karena itu ubicomp dapat menjadi tidak efektif apabila tidak didukung perkembangan teknologi nirkabel yang dapat menyediakan kecepatan yang dibutuhkan.

            Buxton (1995) menyatakan bahwa ubiquitous computing mempunyai karakteristik utama yaitu:
1.      Ubiquity
Interaksi tidak dilakukan oleh suatu saluran melalui satu workstation. Akses ke komputer dapat dilakukan di mana saja. Sebagai contoh, di suatu kantor ada puluhan komputer, layar display, dan sebagainya dengan ukuran bervariasi mulai dari tombol seukuran jam tangan, Pads sebesar notebook, sampai papan informasi sebesar papan tulis yang semuanya terhubung ke satu jaringan. Jaringan nirkabel akan tersedia secara luas untuk mendukung akses bergerak dan akses jarak jauh.
2.      Transparency
Teknologi ini tidak menganggu keberadaan pemakai, tidak terlihat dan terintegrasi dalam suatu ekologi yang mencakup perkantoran, perumahan, supermarket, dan sebagainya.

Karakteristik Lingkungan
            Ada banyak jenis layanan yang dapat ditawarkan dalam lingkungan AmI, antara lain layanan-layanan airport, perkantoran, perbankan, transportasi, supermarket, pendidikan, rumah tangga, dan lain-lain yang tercakup dalam suatu area perkotaan. Karakteristik dari lingkungan pelayanan ini adalah sebagai berikut:  
      1.      Personal Device
Pemakai dilengkapi dengan peralatan pribadi yang mudah dibawa (portable) seperti: PDA, smart phone, komputer kecil yang mudah dibawa, atau sejumlah peralatan nirkabel yang saling terhubung membentuk suatu Body Area Network. Peralatan peralatan tersebut secara dinamis dapat menyesuaikan jenis protokol radio yang berbeda.
      2.      Network Architecture
Para pemakai bergerak dalam suatu jaringan komunikasi nirkabel heterogen yang membentuk suatu jaringan berkabel yang lebih luas. Peralatan pemakai saling terhubung menggunakan jaringan nirkabel berbasis infrastruktur. Peralatan-peralatan tersebut juga dapat berhubungan dengan peralatan, sensor, dan layanan yang ada di lingkungan.
      3.      Service Provisioning
Layanan bagi pemakai disediakan di berbagai tempat berbeda dalam lingkungan AmI di mana pemakai dapat menggunakan layanan yang tersedia dengan sumber-sumber daya yang terhubung tanpa kabel. Layanan-layanan ini diberikan oleh suatu sistem layanan gabungan dengan application server yang dapat diakses melalui infrastruktur jaringan.
     4.      Sensing Architecture
Untuk mendukung pemberian layanan-layanan tersebut, lingkungan AmI dilengkapi berbagai jenis sensor. Sensor ini membuat interaksi antara pemakai dengan jenis layanan yang dibutuhkan menjadi lebih efisien. Sensor ini akan menangkap informasi dari lingkungan secara terus-menerus dan memantau aktivitas yang dilakukan para pemakai. Sensor ini kemudian membawa informasi tersebut ke sebuah modul AmI yang akan memprosesnya dalam suatu aplikasi. Jenis sensor yang digunakan meliputi jenis sensor tradisional seperti: sensor suhu, tekanan, cahaya, kelembaban udara, dan sensor-sensor yang lebih kompleks, seperti kamera yang dihubungkan dengan jaringan kabel. Dengan demikian, infrastruktur AmI harus dapat menangkap informasi-informasi dari peralatan-peralatan sensor tersebut.
      5.      Modes of Interaction
            Pemakai berinteraksi dengan layanan melalui suatu multimodal user interface yang             menggunakan peralatan pribadi untuk berkomunikasi. Multimodal communication memungkinkan pemakai mangakses layanan tidak hanya pada saat mereka duduk di depan PC, tetapi juga pada saat mereka bergerak bebas dalam lingkungan AmI.

Ubiquitous computing mempunyai beberapa spesifikasi teknis sebagai berikut:
1.      Terminal & user interface
            Peralatan yang digunakan sebaiknya mempunyai kualitas tampilan yang bagus dan responsif terhadap input dari pemakai. Walaupun dengan ukuran display yang terbatas, penggunaanya harus intuitif dengan tampilan yang bersih menggunakan alat input yang berbeda seperti: pen, handwriting recognition dan speech recognition.
2.      Peralatan yang murah
            Jika kita membangun sebuah sistem dengan banyak komputer untuk satu pemakai, biaya satu komputer hendaklah tidak terlalu mahal. Meskipun komputer biasa pada umumnya relatif lebih mahal, kamputer ini tidak dapat digunakan untuk ubiquitous computing.Tidak semua komputer dalam ubiquitous computing memerlukan prosesor dan harddisk dengan spesifikasi seperti dalam komputer biasa.
3.      Bandwidth tinggi
            Kebutuhan lain dari ubiquitous computing adalah mempunyai bandwidth jaringan yang cukup untuk melakukan komunikasi antara peralatan-peralatan yang digunakan. Selain masalah bandwidth, ada beberapa faktor lain yang perlu dipertimbangkan berkaitan dengan transformasi data melalui jaringan, antara lain: lokasi terminal untuk mobile communication, penggunaan frekuensi yang tepat, menjaga kualitas layanan, enkripsi data, dan mengurangi gangguan-gangguan terhadap jaringan.
4.      Sistem file tersembunyi
            Ketika seorang pemakai menggunakan komputer, dia harus belajar beberapa aspek dasar tentang sistem operasi dan konsep-konsep file serta struktur direktori. Hal ini mengakibatkan pemakai akan lebih terfokus pada bagaimana informasi akan disimpan, bukan pada informasi itu sendiri. Salah satu kebutuhan ubiquitous computing adalah bahwa komputer harus tersembunyi. Komputer harus dapat “memahami” kondisi pemakai. Sebagai contoh, melalui penggunaan voice recognition atau interface lainnya yang memungkinkan pemakai melakukan akses tanpa harus mengetahui nama file tertentu, lokasi atau format file tersebut.
5.      Instalasi otomatis
            Ubiquitous computing harus dapat mengeliminasi kebutuhan instalasi program. Dalam sistem konvensional, seringkali diperlukan instalasi program yang dapat menimbulkan masalah, dan dalam beberapa kasus harus melibatkan pemakai. Konsep ini tidak berlaku dalam ubiquitous computing. Program harus dapat berpindah dari sebuah computer ke komputer lain tanpa harus mengubah konfigurasi dasar dalam menjalankan suatu program baru. Salah satu alternatif adalah dengan menggunakan bahasa pemrograman Java yang dapat dipindahkan ke computer lain dengan mudah (platform-independent).
6.      Personalisasi informasi
            Akan lebih baik jika ubiquitous computing system dapat menjaga agar informasi yang tersedia dapat digunakan sesuai kebutuhan pemakai. Untuk memenuhi kebutuhan tersebut, salah satu pendekatan yang dapat dilakukan adalah setiap kali ada seseorang yang baru bergabung dalam sebuah komunitas, profil pribadi orang tersebut harus ditambahkan ke setiap peralatan yang ada.
7.      Privasi
            Salah satu masalah yang paling penting dalam ubiquitous computing adalah resiko privasi yang serius. Sistem ini dapat menyimpan data-data pemakai dan lokasinya yang mungkin dapat diakses oleh pemakai lain. Teknologi jaringan yang baru seperti infra merah atau komunikasi radio nir kabel menggunakan enkripsi untuk menjaga keamanan data.

Referensi :
-          Jurnal Teknologi Ambient Intelligence dan Potensi Perkembangannya di Indonesia Oleh: Dr. Ir. Gunadi Widi Nurcahyo, MSc.

-          Jurnal Ubiquitous Computing Oleh R. Jason Weiss (Development Dimensions International ) and J. Philip Craiger (University of Nebraska–Omaha)

REMOTE PROCEDURE CALL

Remote Prosedure Call

Gagasan tentang RPC (Remote Procedure Call) pertama kali ditemukan pada tahun 1976. Perusahaan yang pertama kali menggunakan RPC adalah Xerox pada tahun 1981. RPC di implementasikan pertama kali di sistem operasi Unix, Sun's RPC (sekarang disebut ONC RPC). ONC RPC masih banyak digunakan saat ini pada beberapa platform. Implementasi Unix yang lain digunakan oleh Apollo Computer Network Computing System(NCS). NCS kemudian digunakan sebagai dasar fondasi DCE/RPC di OSF Distributed Computing Environment (DCE). Satu dekade kemudian diadopsi oleh perusahaan Microsoft DCE/RP, Microsoft RPC (MSRPC) sebagai dasar mekanisme mereka, dan berjalan pada DCOM (Distributed Object Component Model). Sekitar waktu yang sama pertengahan tahun 90-an, Xerox PARC's ILU, dan Object Management Group CORBA, menawarkan paradigma RPC yang lain berdasarkan objek terdistribusi dengan mekanisme yang menggunakan metode warisan.

A.      Definisi Remote Prosedure Call
Remote Procedure Call (RPC) adalah sebuah metode yang memungkinkan kita untuk mengakses sebuah prosedur yang berada di komputer lain. Untuk dapat melakukan ini sebuah  server harus menyediakan layanan  remote procedure. Pendekatan yang dilakuan adalah sebuah  server membuka  socket, lalu menunggu client yang meminta prosedur yang disediakan oleh server. Bila client tidak tahu haruS menghubungi  port yang mana,  client bisa me-request kepada sebuah  matchmaker pada sebuah RPC  port yang tetap.  Matchmaker akan memberikan  port apa yang digunakan oleh prosedur yang diminta client.
RPC  adalah  suatu  protokol  yang  menyediakan  suatu  mekanisme komunikasi  antar  proses  yang  mengijinkan  suatu  program  untuk  berjalan pada  suatu  komputer  tanpa  terasa  adanya  eksekusi  kode  pada  sistem  yang jauh  (remote  system).  RPC  mengasumsi  keberadaan  dari  low-level  protokol transportasi  seperti  TCP  atau  UDP  untuk  membawa  pesan  data  dalam komunikasi  suatu  program.  Protokol  RPC  dibangun  diatas  protokol  eXternal Data  Representation  (XDR),  yang  merupakan  standar  dari  representasi  data dalam komunikasi remote. Protokol XDR mengubah parameter dan hasil dari tiap servis RPC yang disediakan.
Protokol  RPC  mengijinkan  pengguna  (users)  untuk  bekerja  dengan prosedur  remote  sebagaimana  bekerja  dengan  prosedur  lokal.  Prosedur panggilan  remote  (remote  procedure  calls)  didefinisikan  melalui  rutin  yang terkandung  didalam  protokol  RPC.  Tiap  message  dari  panggilan  akan disesuaikan dengan message balikan. Protokol RPC sendiri sebenarnya adalah suatu  protokol  untuk  ”meneruskan  pesan”  yang  mengimplemntasikan protokol  non-RPC  lain  seperti  panggilan  remote  batching  dan  broadcasting. Protokol ini juga mendukung adanya prosedur callback dan select subroutine pada sisi server.
RPC masih menggunakan cara primitif dalam pemrograman, yaitu menggunakan paradigma procedural programming. Hal itu membuat kita sulit ketika menyediakan banyak  remote procedure. RPC menggunakan  socket untuk berkomunikasi dengan proses lainnya. Pada sistem seperti SUN, RPC secara default sudah ter-install kedalam sistemnya, biasanya RPC  ini digunakan untuk administrasi sistem. Sehingga seorang administrator jaringan dapat mengakses sistemnya dan mengelola sistemnya dari mana saja, selama sistemnya terhubung ke jaringan.

B.       Prinsip Remote Prosedure Call


Client adalah komputer atau proses yang mengakses suatu layanan, resources dari proses atau komputer pada suatu jaringan. Server adalah komputer yang menyediakan servis/layanan dan resources, dan yang mengimplementasikan servis jaringan. Tiap servis pada network adalah susunan dari program remote, dan tiap program remote mengimplementasi prosedur remote. Semua prosedur berikut parameternya dan hasilnya didokumentasi secara spesifik pada protokol suatu program.


C.      Fitur Dalam Remote Prosedure Call
RPC memiliki fitur-fitur sebagai berikut: batching calls, broadcasting calls, callback procedures dan using the select subroutine.
1.      Batching Calls
Fitur Batching calls mengijinkan klien untuk mengirim message calls ke server dalam jumlah besar secara sequence(berurutan). Batching menggunakan protokol streaming byte seperti TCP/IP sebagai mediumnya. Pada saat melakukan batching, klien tidak menunggu server untuk memberikan replyterhadap tiap  messagesyang dikirim, begitu pula dengan server yang tidak pernah mengirimkan messages reply. Fitur inilah yang banyak digunakan klien, karena arsitektur RPC didesain agar pada tiap call messageyang dikirimkan oleh klien harus ada proses menunggu balasan dari server.
Oleh karena itu maka pihak klien harus dapat mengatasi error yang kemungkinan terjadi karena pihak klien tidak akan menerima peringatan apabila terjadi error pada message yang dikirim.
2.      Broadcasting Calls
Fitur Broadcasting mengijinkan klien untuk mengirimkan paket data ke jaringan dan menunggu balasan dari network. Fitur ini menggunakan protokol yang berbasiskan paket data seperti UDP/IP sebagai mediumnya. BroadcastRPC membutuhkan layanan port mapperRPC untuk mengimplementasikan fungsinya.
3.      Callback Procedures
Fitur Callback Procedures mengijinkan server untuk bertindak sebagai klien dan melakukan pemanggilan RPC kembali ke proses yang dijalankan oleh klien.
4.      Select Subroutine.
Fitur ini akan memeriksa deskripsi dari suatu file dan messages dalam antrian untuk melihat apakah mereka siap untuk dibaca (diterima) atau ditulis (dikirim), atau mereka dalam kondisi ditahan sementara. Prosedur ini mengijinkan server untuk menginterupsi suatu aktivitas, memeriksa datanya, dan kemudian melanjutkan proses aktivitas tersebut.

D.      Otentifikasi Remote Prosedure Call
Proses otentifikasi adalah proses yang digunakan untuk mengidentifikasi server dan klien pada RPC. (Newmarch, 1995). Untuk setiap prosedur remoteyang dilakukan protokol RPC menyediakan slot yang dipakai sebagai parameter otentifikasi yang berfungsi agar pemanggil (caller) dapat memberikan identitasnya kepada server. Parameter otentifikasi ini dibuat di paket klien. Otentifikasi RPC terdiri atas beberapa bagian. Berikut ini adalah bagian-bagian pada otentifikasi RPC:
1.      Protokol Otentifikasi RPC
Protokol Otentifikasi RPC disediakan sebagai bagian dari protokol RPC. Untuk setiap prosedur remote, semuanya diotentifikasi oleh paket RPC pada server. Parameter yang digunakan adalah respon verifier. Sedangkan pada pihak klien, setiap paket RPC diberikan parameter otentifikasi dan parameter yang digunakan adalah credential dan verifier.
2.      Otentifikasi NULL
Otentifikasi NULL digunakan pada sistem dimana pemanggil (caller) RPC tidak mengetahui identitasnya sendiri dan server tidak membutuhkan identitas pemanggil.
3.      Otentifikasi Data Encryption Standard(DES)
Otentifikasi DES membutuhkan keyserv daemonyang harus berjalan baik di sisi server maupun klien. Tiap pengguna pada sistem ini harus memiliki kunci publik (public key) yang disahkan pada database kunci publik oleh Administrator jaringan tersebut.
4.      Protokol Otentifikasi DES
Protokol Otentifikasi DES meliputi protokol penanganan DES pada proses otentifikasi RPC. Protokol ini mencakup 64-bit blok data DES yang terenkripsi dan menentukan panjang maksimum untuk username pada jaringan yang digunakan.
5.      Otentifikasi Data Encryption Standard ( DES )
Otentifikasi  DES  membutuhkan  keyserv  daemon  yang  harus  berjalan baik  di  sisi  server  maupun  klien.  Tiap  pengguna  pada  sistem  ini  harus memiliki  kunci  public  (  public  key  yang  disahkan  pada  database  kunci publik oleh Administrator jaringan tersebut.
6.      Enkripsi Diffie-Hellman
Enkripsi Diffie-Hellman digunakan pada pembuatan kunci publik pada otentifikasi DES dengan menggunakan 192-bit kunci. Enkripsi ini memiliki dua buah variabel konstan, yaitu BASE dan MODULUS yang digunakan pada protokol otentifikasi DES.
RPC hanya berhubungan dengan proses otentifikasi, tidak dengan kontrol akses terhadap servis/layanan individual yang diberikan. Tiap layanan mengimplementasikan peraturan mengenai kontrol akses masing-masing. Subsistem otentifikasi pada paket RPC bersifat open-ended, artinya beberapa otentifikasi dapat diasosiasikan pada RPC klien.

E.       Kelebihan Dan Kekurangan Remote Prosedure Call
Kelebihan RPC
·         Relatif mudah digunakan :
Pemanggilan remote procedure tidak jauh berbeda dibandingkan pemanggilan local procedure. Sehingga pemrogramdapat berkonsentrasi pada software logic, tidak perlumemikirkan low level details seperti socket, marshalling& unmarshalling.
·         Robust (Sempurna):
Sejak th 1980-an RPC telah banyakdigunakan dlm pengembangan missioncritical application yg memerlukan scalability, fault tolerance, & reliability.
Kekurangan RPC
·         Tidak fleksibel terhadap perubahan:
-          Static relationship between client & server at run-time.
·         Berdasarkan prosedural/structured programming yang sudah ketinggalan jaman
            dibandingkan OOP.

F.       Lapisan Remote Prosedure Call
Bagian antar-muka (interface) dari RPC dibagi menjadi 3 lapisan/bagian (layer) yaitu:
1.      Lapisan Tertinggi (Highest Layer)
Lapisan ini merupakan lapisan yang bersentuhan langsung dengan sistem operasi, mesin dan jaringan tempat RPC berjalan. Layer ini umumnya banyak digunakan pada pembuatan dan pemprograman RPC karena penggunaan  layer ini sama saja dengan penggunaan RPC. Banyak servis/layanan pada layerini yang berhubungan langsung dengan informasi yang banyak dibutuhkan. Berikut ini jenis-jenis servis lainnya yang banyak digunakan pada layer ini

2.      Lapisan Menengah (Intermediate Layer)
Lapisan ini merupakan implementasi dari RPC sesungguhnya. Pada layer ini, seorang user tidak harus berhubungan dengan soket, sistem operasi atau implementasi lo-level lainnya. Pada layer ini, seorang  userhanya melakukan proses remotepada suatu mesin. Layer ini merupakan layer yang digunakan untuk semua program RPC.
Pada  layer  ini  terdapat  rutin-rutin  mengenai  ”registerrpc()”,  ”callrpc”, dan  scv  run.  Dua  rutin  yang  disebut  pertama  adalah  rutin-rutin  yang fundamental. ”registerrpc() digunakan untuk memperoleh nomor unik dari tiap  prosedur  identifikasi  dalam  tiap  sistem.  Sedangkan  ”callrpc()” digunakan  untuk  mengeksekusi  prosedur  remote.  Implementasi  layer diatasnya dilakukan pada layer ini
3.      Lapisan Terendah (Lowest Layer)
Lapisan ini merupakan lapisan yang mengatur tentang soket dan sistem call. Lapisan ini tidak memberikan data dan servis secara detail untuk dapat digunakan. Umumnya program yang dibuat untuk lapisan ini merupakan program yang paling efisien. Permasalahan yang timbul pada sistem ini berkaitan dengan penyesuaian implementasi RPC untuk sistem operasi yang berbeda.

G.      Implementasi Remote Prosedure Call
a.      Bahasa Remote Prosedure Call
Bahasa  RPC  (RPC  Language  -  RPCL)  merupakan  bahasa  yang dikembangkan  dari  bahasa  XDR.  Bahasa  RPC  memiliki  kemiripan  dengan bahasa  XDR  namun  dengan  beberapa  penambahan  yaitu  program  definisi. Implementasi  layanan  protokol  dan  rutin  menggunakan  command  rpcgen yang berkorespondensi dengan bahasa pemprograman C. Deskripsi dari bahasa RPC meliputi :
1.      Definition
File  dengan  bahasa  RPC  memiliki  beberapa  definisi,  diantaranya adalah enum, struct, union, typedef, const, dan program.
2.      Structure
Struktur  pada  bahasa  RPC  dideklarasikan  seperti  pada pendeklarasian struktur dalam bahasa C
3.      Union
Union pada bahasa RPC berbeda dengan bahasa C. Kemiripan lebih ditunjukkan dengan variasi pada bahasa Pascal
4.      Enumeration
Enumerasi  pada  bahasa  ini  memiliki  syntax  yang  sama  dengan bahasa C.
5.      TypeDef
Tipe  Definisi  (  Typedef  )  pada  bahasa  ini  memiliki  syntax  yang
sama dengan typedef pada bahasa C.
6.      Constant
Constant  pada  bahasa  ini  dapat  digunakan  jika  variabel  integer konstant dibutuhkan.
7.      Programs
Program  RPC  dideklarasikan  dengan  syntax  berikut  secara berurutan  :  programdefiniton,  version-list,  version,  procedure-list, procedure.
8.      Declarations
Dalam  bahasa  ini,  terdapat  empat  jenis  tipe  deklarasi  yaitu  :  simple
declarations, fixed-length array declarations, variable -length declaration, dan
pointer declaration

b.      Port Mapper
Port adalah kanal komunikasi diantara klien dan server. Port-port komunikasi ini dibedakan berdasarkan nomor yang dimilikinya dengan fungsi masing-masing. Namun nomor-nomor port ini, terutama yang memberikan layanan RPC, tidak diberikan pada jaringan transport. Jaringan transport hanya menyediakan layanan pemprosesan messagedi dalam jaringan. (Spangler, 2004).
Untuk mengatasi hal ini, maka programpada komputer klien harus mampu untuk mencari nomor portuntuk tiap program di server yang hendak digunakan. Protokol port mapper adalah suatu layanan pada jaringan yang dapat mengatasi masalah ini. Protokol ini memberikan hak pada klien untuk mencari nomor port untuk semua program  remote yang disediakan oleh server. Dengan demikian maka implementasi protokol ini pada suatu program port mapperakan memetakan tiap-tiap program RPC dan nomor versinya dengan nomor-nomor port yang spesifik.

c.       Meregister Port
Port Mapper terletak pada nomor port111 pada setiap mesin (hostmaupun server) dan merupakan satu-satunya layanan jaringan yang mempunyai portyang khusus dan tetap. Sedangkan untuk jenis layanan jaringan lainnya, nomor port-nya dapat statis atau berubah-ubah asalkan kesemuanya terdaftar pada port mapper. Penempatan nomor portuntuk tiap program remoteke dalam port mapper akan mengotomatisasi administrasi nomor-nomor port. Hasilnya akan disimpan dalam satu file dimana file ini akan diduplikat ke setiap klien. Sehingga akan terjadi proses pembaruan data (update) setiap kali ada program remotebaru yang disediakan oleh jaringan. Salah satu cara alternatif agar sistem tidak harus selalu meng-update file mapper-nya adalah dengan menempatkan hasil pemetaan portprogram remote pada suatu file Network File System(NFS) yang di-sharing. Namun hal ini membawa masalah apabila server tidak dapat berfungsi, maka seluruh jaringan juga tidak dapat menggunakan fungsi ini.
Pemetaan port program yang disimpan pada suatu port mapper di server disebut dengan portmap. Port mapperini akan dijalankan secara otomatis tiap kali mesin server dijalankan. Lalu baik program server maupun klien akan memanggil prosedur port mapper. Kemudian sebagai bagian dariproses inisialisasi, program server akan memanggil port mapperpada hostuntuk membuat entri pada portmap. Setelah itu, program server akan meng-updateentri pada portmap, sedangkan program klien akan memanggil query dari entri portmap ini. Untuk mencari nomor port yang diinginkan, program klien kemudian mengirimkan RPC call messageke port mapper pada server. Apabila proses ini berhasil (server mendukung remoteprogram yang diminta), port mapperserver akan mengirimkan nomor portyang sesuai pada RPC reply message. Kemudian proses remote dapat dilakukan dengan menggunakan nomor porttersebut. Proses ini akan selalu dijalankan setiap kali ada permintaan remote program dari klien ke server. Namun untuk meminimalisasi pemanggilan port mapper, pada sisi klien disediakan cacheuntuk menyimpan nomor-nomor port yang sering digunakan.

d.      Prosedur Port Mapper
Program port mappermendukung dua protokol, yaitu UDPdan TCP/IP. Program ini terhubung pada port 111 untuk kedua protokol ini. Berikut ini adalah prosedurprosedur yang digunakan program port mapperpada kedua protokol ini:
Ø  NULL Prosedur ini tidak berfungsi, prosedur ini tidak memberikan parameter dan juga tidak memberikan hasil.
Ø  SET Prosedur ini akan meregister program pada  port mapper dengan memberikan parameter sebagai berikut: program number(prog), version number(vers), transport protocol number(prot), dan nomor portyang diminta untuk layanan ini. Hasil dari prosedur ini berupa Boolean True atau Falseyang mengindikasikan sukses tidaknya proses mapping.
Ø  UNSET Prosedur ini digunakan untuk me-unregisterprogram pada port mappingjika program remotetidak lagi digunakan. Parameter yang dibawa sama dengan prosedur SET dikuranginomor protokol dan nomor port.
Ø  GETPORT Prosedur ini memberikan parameter berupa nomor program (prog), version number(vers), dan transport protocol number(prot) untuk mendapatkan hasil berupa nomor portuntuk program yang diminta.
Ø  DUMP Prosedur ini akan mencatat semua entri dalam database port mapper. Prosedur ini tidak membutuhkan parameter dan memberikan hasil berupa (prog), (prot), (vers), dan nomor port.
Ø  CALLIT
Prosedur ini digunakan untuk memanggil suatu program remotelain pada mesin yang sama tanpa harus mengetahui nomor portdari program yang diminta.

H.      Algoritma Remote Prosedure Call
Input pesan yang berisi parameter yang akan dikirim ke jaringan  dari user
1.      Mengirim pesan ke sistem remote  (server)
2.      Server membaca dan mengolah pesan
3.      Pesan dikirim dari server ke client
4.      Client menerima pesan
5.      Proses diatas akan dilakukan berulang-ulang sesuai permintaan user dalam pengeksekusian RPC dalam suatu remote sistem.

I.         Struktur Protokol Message RPC
1.      Call Message
Dilakukan oleh klien, dimana meminta server untuk mengeksekusi suatu prosedur. Terdapat nilai-nilai unsigned integer yang digunakan untuk mengidentifikasi prosedur remote yang diminta:
·         Nomor Program
·         Nomor Versi dari Program
·         Nomor Prosedur
2.      Reply Message
Dikirimkan oleh server jaringan, bervariasi tergantung apakah call messages yang diminta klien diterima atau ditolak. Mengandung informasi:
·         RPM mengeksekusi call message dengan sukses
·         Implementasi remote tidak sesuai dengan protokol yang digunakan (versi yang lebih tinggi atau lebih rendah ditolak)
·         Program remote tidak tersedia pada sistem remote
·         Program remote tidak mendukung versi yang diminta klien
·         Nomor prosedur yang diminta tidak ada

J.        Prinsip Kerja Remote Prosedure Call
Prosedur call umumnya berkaitan dengan penggunaan stack, penyimpanan parameter yang diterima dalam stack tersebut dan pengalokasian ruang untuk lokal variabel. Namun selain itu ada yang disebut dengan Prosedur Call remote, yang berarti pelaksanaan proses diatas namun pada suatu sistem lain yang berhubungan melalui suatu jaringan. Sistem prosedur remoteini memiliki cara kerja yang sedikit banyak mirip, namun berbeda dengan prosedur callbiasa. Berikut adalah gambar cara kerja dari RPC.


1.      Client procedure calls client stub in normal way.
2.      Client stub builds message, calls local OS.
3.      Client's OS sends message to remote OS.
4.      Remote OS gives message to server stub.
5.      Server stub unpacks parameters, calls server.
6.      Server does work, returns result to the stub.
7.      Server stub packs it in message, calls local OS.
8.      Server's OS sends message to client's OS.
9.      Client's OS gives message to client stub.
10.  Stub unpacks result, returns to client.
Tiap prosedur yang dipanggil dalam RPC, harus berkoneksi dengan server remote dengan mengirimkan semua parameter yang dibutuhkan, menunggu balasan dari server dan melakukan proses kemudian selesai. Proses di atas disebut juga dengan stub pada sisi klien. Sedangkan Stub pada sisi server adalah proses menunggu tiap message yang berisi permintaan mengenai prosedur tertentu. (Newmarch,  1995). Server harus membaca tiap parameter yang diberikan, kemudian memberikan prosedur lokal yang sesuai dengan permintaan dan parameter. Kemudian setelah eksekusi, server harus mengirimkan hasil kepada pihak pemanggil proses.

Berikut ini adalah diagram yang akan menjelaskan secara rince mengenai proses yang terjadi pada klien dan server dalam eksekusi suatu prosedur RPC :
Berikut penjelasan dari diagram diatas :
1.      Klien  memanggil  prosedur  stub  lokal.  Prosedur  Stub  akan  memberikan parameter  dalam  suatu  paket  yang  akan  dikirim  ke  jaringan.  Proses  ini disebut sebagai marshalling.
2.      Fungsi  Network  pada  O/S  (Operating  system  -  Sistem  Operasi)  akan dipanggil oleh stub untuk mengirim suatu message.
3.      Kemudian  Kernel  ini  akan  mengirim  message  ke  sistem  remote.  Kondisi ini dapat berupa connectionless atau connection-oriented.
4.      Stub  pada  sisi  server  akan  melakukan  proses  unmarshals  pada  paket yang dikirim pada network.
5.      Stub pada server kemudian mengeksekusi prosedur panggilan lokal.
6.      Jika eksekusi prosedur  ini telah selesai, maka  eksekusi  diberikan  kembali ke stub pada server.
7.      Stub  server  akan  melakukan  proses  marshals  lagi  dan  mengirimkan message nilai balikan ( hasilnya ) kembali ke jaringan.
8.      Message ini akan dikirim kembali ke klien.
9.      Stub klien akan membaca message ini dengan menggunakan fungsi pada jaringan.
10.  Proses  unmarshalled  kemudian  dilakukan  pada  message  ini  dan  nilai balikan akan diambil untuk kemudian diproses pada proses lokal.
11.  Proses  diatas  akan  dilakukan  berulang-ulang  (rekursif)  dalam pengeksekusian RPC dalam suatu remote sistem.

K.      Remote Prosedure Call


L.       Study
Contoh  studi  kasus  RPC  yaitu  pada  jasa  penge-print-an  di  rental pengetikan  yang  di  dalamnya  terdapat  1  komputer  server,  beberapa komputer  client  dan  sebuah  printer  yang  hanya  terhubung  dengan  server. User  dari  computer  client  ingin  mencetak  data  dari  komputernya.  Biasanya user  memindah  data  dengan  bantuan  device  external  seperti  disket,  flash disk,  hard  disk,  atau  cd-rw.  Namun  dengan  RPC  hal  tersebut  akan  menjadi lebih efisien.
Solusinya adalah :
Dengan  RPC,  untuk  mencetak  data  dari  computer  client,  computer  client mengirim pesan “cetak” kepada computer server. Kemudian computer server menerima  perintah  tersebut  dan  kemudian  menjalankan  perintah  mencetak data. Setelah  itu  server  mengirimkan  pesan  pada  client  berupa  informasi  “file telah dicetak”.