Inter Process Communication

Slides:



Advertisements
Presentasi serupa
OSI Layer dan TCP / IP.
Advertisements

TCP/IP & IP ADDRESS.
JAVA Network Programming. Apa itu JAVA? ● Bahasa pemrograman berorientasi objek yang dikembangkan oleh Sun Microsystems sejak tahun ● Dikembangkan.
Pemrograman Jaringan Socket Programming Aurelio Rahmadian.
Konsep Dasar Protokol Jaringan
Dahlan Abdullah / Website : PENGANTAR SISTEM BD TERDISTRIBUSI.
Pemrograman Jaringan OSI Layer Aurelio Rahmadian.
Komunikasi antar Proses
Sistem Komunikasi.
Ch 6 : PROTOCOL JARINGAN KOMPUTER
Sistem Terdistribusi 04 – Remote Procedure Call Oleh : Muh. Ary Azali.
Networking, Protokol, dan Interoperabilitas
PROTOCOL KOMUNIKASI DATA
Pertemuan-2 Referensi OSI
Kuliah Jaringan Komputer Kuliah ke 2 12 September 1998.
Transmission Control Protocol/Internet Protocol
User Datagram Protocol (UDP)
(TRANSMISSION CONTROL PROTOCOL/INTERNET PROTOCOL)
Pengantar Teknologi SIA
Socket Programming Isbat Uzzin.
Hernando Ivan Teddy S. Kom
REMOTE SERVICE.
STANDARISASI JARINGAN KOMPUTER. 1960DOD - Jaringan Komputer -Metode Hub. Telepone - Alat pertahanan negara ARPA DARPA ARPA-Net Penunjang TCP/IP.
OSI (Open System Interconnection) Layer
TRANSPORT LAYER PROTOCOLS ( TCP DAN UDP )
1 Pertemuan 1 Pendahuluan Matakuliah: H0483 – Network Programming Tahun: 2005 Versi: 1.0.
Nyimas Artina, S. Kom, M.Si Pemrograman Jaringan Penjelasan Umum Nyimas Artina, S. Kom, M.Si.
OSI Layer Jaringan Komputer Danar Putra Pamungkas, S.Kom
Pertemuan II Referensi Model OSI.
Transport Layer (OSI Model)
Sistem Operasi Berbasis Jaringan
Pertemuan ke-10 perkuliahan komunikasi data
ARSITEKTUR JARINGAN Konsep arsitektur jaringan
JARINGAN KOMPUTER 1 MODEL REFERENSI OSI Disusun Oleh : Kelompok 2 Glaniar Kautsar( ) Sari Maulita( ) William Wijaya Kusuma ( )
Protocol Dan Arsitektur Protocol
Komunikasi (Sistem Terdistribusi).
Pembahasan OSI Layer & TCP/IP Layer Enkapkulasi dan Dekapkulasi.
Arsitektur SisTer.
Mobile Computing 7 Middleware.
Jaringan Komputer: Protokol dan Model Lapisan OSI
Model OSI vs. TCP/IP.
Model Referensi TCP/IP
Pertemuan-2 Referensi OSI
TCP & UDP.
Slide 6 PENGAMAN JARINGAN
OSI MODEL.
PROTOCOL KOMUNIKASI DATA
Kuliah Jaringan Komputer
Ihsan Naskah, S.Kom., MT JARINGAN KOMPUTER Ihsan Naskah, S.Kom., MT
4 PROSES Mata Kuliah Sistem Operasi Mata Kuliah : Sistem Operasi
Kuliah Jaringan Komputer
Materi Jaringan Komputer
Slide 6 PENGAMAN JARINGAN
Process and Tread Saifudin Anshory Abd. Chariz Fauzan Wahyu Hartono
JARINGAN KOMPUTER Komunikasi Data.
Pertemuan Keenam Referensi Model OSI Jaringan Internet.
Materi Jaringan Komputer & Komunikasi Data
Ir. Risanuri Hidayat, M.Sc.
Chapter 4 Oktober 2010.
Model Referensi OSI.
7 OSI Layer & TCP/IP Layer
JARINGAN KOMPUTER SESSION LAYER.
Application Layer Pada TCP/IP.
Komunikasi antar Proses
INTERNETWORKING Didi Juardi,ST.,M.Kom.
ARSITEKTUR DAN PROTOKOL
PROTOCOL KOMUNIKASI DATA
WEB SERVICE. PENGERTIAN WEB SERVICE  Merupakan media standar untuk komunikasi yang menyebar antara aplikasi clien dan server pada World Wide Web.
OSI Layer Jaringan Komputer Rony Heri Irawan, M.Kom
TCP Socket Programming
Transcript presentasi:

Inter Process Communication Risanuri Hidayat, Ir., M.Sc.

Model-model IPC RPC (Remote Procedure Call) RMI (Remote Method Invocation) MOM (Message-Oriented Middleware) Stream

Lapisan-lapisan Protocol ISO (International Standard Organization) Mengembangkan Reference Model yang disebut Open Systems Interconnection Reference Model (OSI Model) OSI memungkinkan komunukasi dengan sistem yang terbuka Komunikasi dilakukan dengan aturan-aturan (standard) mengenai format, isi, maksud pesan yang dikirim/diterima. Aturan-aturan formal itu dinamakan PROTOCOL Ada 2 tipe protocol Connection Oriented Connection less

Lapisan-lapisan Protocol Application Presentation Session Transport Network Data-link Physical 1 2 3 4 5 6 7

Lapisan-lapisan Protocol Data Data-link Network Transport Session Presentation Application Data-link trailer Header 1111111110101011010010101010101000000111111111111110001010 Physical

Lapisan-lapisan Protocol Lower-Level Protocol Physical Data-link Network Transport TCP (Transmission Control Protocol) connection-oriented UDP (Unreliable Datagram Protocol) connection less RTP (Real-time Transport Protocol) Higher-Level Protocol Session (dialog control, sinkronisasi) Presentation Application (HTTP, FTP) Middleware (Setara dengan Session dan Presentation)

Remote Procedure Call Suatu program dimungkinkan memanggil prosedur yang berada di lokasi yang lain Menjadi kompleks jika mesin tidak identik Conventional Procedure Call: count = read( fd, buff, nbytes) fd : file buff : buffer nbytes : jumlah byte yang akan dibaca

Remote Procedure Call Conventional Procedure Call Saat pemanggilan prosedur, program mendorong parameter-parameter tersebut ke dalam stack (Last one First) Setelah selesai, prosedur memasukkan nilai return ke suatu register, menghapus return address, dan mengirim control back ke pemanggil. Pemanggil kemudian menghapus parameter2 dari stack dan kembali ke state biasa nbytes buff fd Return address Lokal variabel milik read Lokal variabel milik Main main () { count = read( fd, buff, nbytes) ….. }

Remote Procedure Call RPC harus dibuat sebisa mungkin seperti lokal Pemanggil dibuat tidak sadar bahwa procedure yang dipanggil adalah remote Proses yang terjadi antara main() dengan read() sama, pada CPC dan RPC Yang membedakan, pada RPC, pekerjaan tidak dilakukan sendiri, tetapi ia menge-pack dan mengirimkan data itu ke Remote untuk dikerjakan di Remote

Remote Procedure Call 10 langkah RPC client request Call remote reply server request Call remote procedure reply Return value 10 langkah RPC Prosedur client memanggil client stub Client stub membuat pesan dan memanggil OS lokal OS client mengirim pesan ke OS remote Remote OS memberikan pesan ke server stub Server stub meng-unpack parameter2 dan memanggil server Server mengerjakan operasi, dan me-return hasilnya ke server stub Server stub mem-pack hasil tsb dan memanggil OS lokalnya OS server mengirim pesan (hasil) ke client OS Client OS memberikan pesan tersebut ke client stub Client stub meng-unpack hasil dan me-return hasil ke client

RPC: Parameter Passing Dilakukan oleh (client,server) stub Packing parameter  parameter marshaling Client Process k=add(i,j) proc:”add” Int: i Int: j Client stub Client OS Server Process Server stub Server OS public add(i,j)

RPC: Doors Lokal IPC, yaitu IPC pada mesin yang sama Doors, prosedur di dalam server process yang bisa dipanggil oleh process lain (client) dalam komputer yang sama Server process me-register door supaya bisa dipanggil proses lain

RPC: Doors Client Process k=add(i,j) Client stub Client OS proc:”add” Int: i Int: j Client stub Client OS Server Process Server stub Server OS public add(i,j) Komputer

RPC: Asynchronous RPC Pemanggil tidak semata-mata hanya menunggu hasil dari remote Pemanggil tetap bekerja sambil menunggu hasil dari remote Hasil dari remote datang dengan meng-interupt pemanggil client server request Call remote procedure Return value acc ack

Remote Object Invocation Pengembangan RPC, yang dikirim adalah object, bukan hanya data Object  perwujudan dari class, mengandung data (state), dan operasi (metode) Metode-metode nampak melalui interface Satu object bisa meng-implement banyak interface Satu interface bisa di-implement oleh banyak macam object Pemisahan antara inteface dan object adalah hal krusial di dalam distributed object. Interface berada di dalam satu mesin, sementara object berada di mesin yang lain

Remote Object Invocation Client Client invokes a method Client OS Server state method object interface interface yang sama Proxy Skeleton Server OS Network Network Ketika client mem-bind ke suatu distributed object, proxy (implementasi interface dari object) me-marshal method invocation menjadi pesan, dan meng-unmarshal pesan reply menjadi result Proxy analog dengan client stub

Remote Object Invocation Object yang sebenarnya berada di server Object (di server) menawarkan interface yang sama dengan interface di client Compile-time object: object adalah perwujudan dari class Java, C++ Run-time object: independent language CORBA Persistent object: object yang selalu ada walaupun tidak masuk dalam proses server Transient object: object yang hanya exist jika server sedang berproses dengannya