Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 18 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
18
Dung lượng
0,92 MB
Nội dung
Truyền thơng tiến trình (Inter-process communication) Các chủ đề – Các đặc trưng IPC – Truyền thông đồng bất đồng – Biểu diễn liệu ngồi marshalling • CORBA’s Common Data Representation • Java Object serialisation – Truyền thông Client-Server • Client-Server Communication • Truyền thơng bên dịch vụ nhóm server cung cấp – Truyền thơng nhóm – IP multicast Nhắc lại: Tiếp cận lớp The OSI model Application Presentation Application A message, descends through the layers Presentation Session Session Transport Transport Then ascends through the layers at the receiver Network Data Physical A HOST – A COMPUTER The network Network Data Physical A HOST – A COMPUTER Bài tập trung vào Middle ware Application: Applications, services RMI and RPC Request Reply Protocol (RRP) Marshalling and external data representation Transport: UDP and TCP Other lower lever layers… Middleware layers Các sở thông điệp • API (application programming interface) – Trong ngữ cảnh này, đề cập đến interface cho lập trình viên ứng dụng sử dụng UDP TCP • Chuyển thơng điệp có hai tác vụ – Gửi nhận (Request and Reply) – tiến trình gởi đến người nhận khác – Một yêu cầu đơn giản hai: nơi nhận thơng điệp liên quan đến đồng hóa (synchronisation) Đồng hóa – Đồng (blocking) • Người gởi bị “khóa” nghĩa bị “đóng băng” gởi có phản hồi từ người nhận • Người gởi người nhận đồng với – Bất đồng (non-blocking) • Người gởi thực xử lý thông điệp gởi – Các hệ thống nhắm đến đồng – Bất đồng làm cho mã chương trình thêm phức tạp Đồng (tt.) • Ví dụ – Blocking: • Yêu cầu rút tiền từ máy ATM • Máy ATM bị khóa nhận xác nhận quyền truy xuất từ ngân hàng – Non-blocking • Một DIS non-blocking, cho pháp xủa lý thực đợi trả lời • Email ví dụ giớ thực thơng điệp non-blocking • Bạn gởi email làm chuyện khác chờ trả lời API & IP: truyền thông tiến trình • Nơi đến thơng điệp – Địa • Địa xác định phần cứng, máy tính • Một cổng cục nơi đến máy tính – Một nhiều thơng điệp gởi đến cổng – Các tiến trình sử dụng hay nhiều cổng để nhận thông điệp 156.254.12.35:875 Address + port API & IP: truyền thông tiến trình • Các vấn đề cần quan tâm truyền thơng tiến trình – Độ tin cậy (Reliability) • Các hệ thống tin cậy không nên làm hư thông điệp gói bị hay bị hủy – Tính thứ tự (Ordering) • Thơng điệp phân phối theo thứ tự gởi Truyền thơng tiến trình ports ports Port: Port: client server Port: 671 Port: 771 A computer, IP address = 138.37.543.345 A computer, IP address = 138.37.53.349 Truyền thơng tiến trình Sockets • Sockets – Là trừu tượng theo tiến trình liên kết đến socket có quan hệ đến cổng – Gán cổng cục đến tiến trình – Tiến trình trao đổi với socket – liên quan đến cổng – Các tiến trình truy xuất thông điệp từ cổng liên kết đến socket chúng Truyền thơng tiên trình ports ports Socket maps to a port Port: Socket maps to a port Port: client server Port: 671 Port: 771 A computer, IP address = 138.37.543.345 A computer, IP address = 138.37.53.349 Truyền thông theo UDP ◦ UDP phương pháp Datagram Datagram gởi từ tiến trình đến tiến trình nhận Trước hết người gởi (the client) người nhận (the server) phải liên kết đến socket Client liên kết đến cổng Server liên kết đến cổng bảng bá xác định để nhận thơng điệp client gởi thơng điệp đến server bao gồm dịa nguwowgi gởi (để nhận trả lời) server nhận xử lý server gởi trả lời cho client thông qua địa cổng Truyền thông UDP (tt.) Phương thức send non-blocking (asynchronous) ◦ tự gởi Phương thức nhận blocking (synchronous), threads khác dùng để tiến hành cơng việc khác Nhận dùng time-outs để giới hạn thời gian bị block ◦ Tuy việc xác định gia trị timeout tốt khó Thông điệp nhận được lưu trữ hàng đợi liên kết với socket Người nhận kiểm tra socket liên kết để nhận thông điệp Các thông điệp nhận đến từ khắp nơi Truyền thơng UDP ◦ Sử dụng UDP phương pháp Datagram Hiệu không quan tâm đến cố khả chịu lỗi i.e naming services Hiệu giảm truyền thơng bắt tay để bảo đảm phương thức phân phối Truyền thông UDP UDP phương pháp Datagram ◦ Ví dụ phương thức: aSocket.send(request) aSocket.recieve(reply) hai request reply gói Datagram ◦ Các phương thức khác: setSoTimeout connect API & IP: truyền thơng UDP • In Java • A DatagramPacket class contains: The message Length of message Internet address Port • i.e 3432 543 4531 13 145.25.123.871 589 In Java a DatagramPacket is constructed: myPacket = new DatagramPacket(m,args[0].length(), aHost, serverPort); Note: the DatagramPacket contains the host address (aHost) and the host port (serverPort) API & IP: truyền thơng UDP • Trong Java Trong Java, một DatagramPacket được gởi và nhận như sau: aSocket.send(myPacket); aSocket.recieve(myPacket); Ghi chú: aSocket là một thể hiện của lớp DatagramSocket ... nhiều cổng để nhận thông điệp 156.254.12.35:875 Address + port API & IP: truyền thơng tiến trình • Các vấn đề cần quan tâm truyền thơng tiến trình – Độ tin cậy (Reliability) • Các hệ thống tin... address = 138.37.53.349 Truyền thơng tiến trình Sockets • Sockets – Là trừu tượng theo tiến trình liên kết đến socket có quan hệ đến cổng – Gán cổng cục đến tiến trình – Tiến trình trao đổi với... API & IP: truyền thơng tiến trình • Nơi đến thơng điệp – Địa • Địa xác định phần cứng, máy tính • Một cổng cục nơi đến máy tính – Một nhiều thơng điệp gởi đến cổng – Các tiến trình sử dụng