Yêu cầu đề tài Gửi Agent đến các Server giả bộ xử lý khác nhau Thực hiện tính toán song song 1 vấn đề cho trước Nhận kết quả trung gian từ Agent và tập hợp thành kết quả cuối cùng..
Trang 1ĐẠI HỌC ĐÀ NẴNG
TRƯỜNG ĐẠI HỌC BÁCH KHOA
BÁO CÁO MÔN HỌC LẬP
TRÌNH MẠNG
Giảng viên hướng dẫn: PGS.TS LÊ VĂN SƠN Học viên thực hiện : Nguyễn Thị Mai Phương
ĐỀ TÀI: LẬP TRÌNH BẰNG JAVA CHO PHÉP TRIỆU GỌI CÁC CHƯƠNG TRÌNH Ở XA THỰC HIỆN TÍNH TOÁN SONG SONG
Trang 2Yêu cầu đề tài
Gửi Agent đến các Server (giả bộ xử lý) khác nhau
Thực hiện tính toán song song 1 vấn đề cho trước
Nhận kết quả trung gian từ Agent và tập hợp thành kết quả cuối cùng
Trang 3Nội dung nghiên cứu:
Xây dựng các Tác tử tính toán
Gửi Tác tử đến các Server (giả bộ xử lý) khác nhau
Gọi thực hiện từ xa các Tác tử này để tính toán song song
Bài toán được đặt ra: “thực hiện tính toán một biểu thức số học, gồm các phép toán
“cộng, trừ, nhân, chia” để mô phỏng kết
Trang 4LẬP TRÌNH MẠNG
Các khái niệm cơ bản về lập trình mạng
1 Địa chỉ IP
Để hai hay nhiều máy tính kết nối được với nhau thì chúng phải có chung giao thức (protocol)
Trên Internet, các máy tính có thể trao đổi được với nhau qua giao thức TCP/IP
Theo giao thức này mỗi máy sẽ được đặt cho một
số riêng biệt được gọi là địa chỉ IP
Các số IP không được trùng nhau Có thể dùng tên thay cho địa chỉ IP.
Trang 52 Giao thức TCP và giao thức UDP
Giao thức TCP (Transmission Control Protocol) gửi từng gói dữ liệu đi Dữ liệu truyền chính xác và luôn duy trì kết nối, mất thêm một số tài nguyên của hệ thống Khi nhận xong có thông tin phản hồi.
Giao thức UDP (User Datagram Prorocol) không có sự kết nối trước giữa máy gửi và máy nhận UDP không
có thông tin phải hồi cho máy gửi, không đòi hỏi nhiều tài nguyên của hệ thống.
Trang 63 Dịch vụ từ máy chủ (server) và khái niệm cổng (port)
Máy chủ cung cấp nhiều dịch vụ khác nhau : tìm kiếm thông tin, gửi nhận E-mail…
Mỗi dịch vụ đều có qui ước riêng cho các cách gửi/nhận dữ liệu Giao thức TCP hay UDP đưa dữ liệu
từ một máy tính này đến máy tính khác.
Dữ liệu được gửi phải thông qua một qui định nữa là cổng (port) Mỗi chương trình dịch vụ sẽ sử dụng một cổng khác nhau để truy xuất thông tin
Cổng là một số nguyên Máy chủ qui định cổng cho mỗi dịch vụ, thông tin giữa máy khách và máy chủ phải sử dụng cổng tương ứng thì mới trao đổi thông tin được.
Trang 74 Giao tiếp theo mô hình client/server
Dịch vụ hỗ trợ trên Internet : E-mail, nhóm tin (newsgroup), chuyển tập tin (file transfer), đăng nhập từ xa (remote login), truy tìm thông tin trên Web… Những mô hình này được kiến trúc theo mô hình khách/chủ (client/server).
Các chương trình ở máy khách (client): duyệt Web (web browser), gửi nhận E-mail…
Các chương trình dịch vụ trên máy chủ (server): web server, mail server…
Thường một dịch vụ trên máy chủ phục vụ cho rất nhiều yêu cầu của máy khách.
Trang 8Nhiệm vụ các chương trình trên máy khách
Kết nối máy chủ
dụng
Gửi dữ liệu hoặc yêu cầu của người sử
dụng đến máy chủ để lưu trữ hoặc xử lý
Trình bày kết quả trả về từ máy chủ cho
người sử dụng
Trang 9Lập trình đối tượng phân tán
Các đối tượng được hỗ trợ trao đổi với nhau theo những giao thức chuẩn trên mạng Java là một trong những ngôn ngữ đi tiên phong trong việc giải quyết vấn đề lập trình phân tán.
Ví dụ:
- Có một đối tượng ở máy khách (client) cần điền dữ liệu vào mẫu báo cáo
- Đối tượng này có thể gửi một thông điệp cho đối tượng trên máy chủ (server) trên mạng để yêu cầu cung cấp các thông tin cần thiết.
- Đối tượng trên máy chủ truy cập vào các cơ sở dự liệu
để có được những thông tin mà máy khách yêu cầu và gửi
Trang 10Thiết lập môi trường triệu gọi từ xa
Để thực hiện được việc triệu gọi từ xa thì ta phải chạy chương trình ở trên cả máy khách và máy chủ.
Những thông tin cần thiết cũng phải được cài đặt tách biệt ở máy khách và máy chủ.
Nhờ có máy ảo Java, khi mở cửa sổ DOS-Prompt (môi trường DOS dưới Window) để chạy chương trình Java, chương trình này được xem như chạy trên một máy (ảo) độc lập
Hai chương trình Java chạy ở trong hai cửa sổ riêng thì
có thể xem như là chúng thực hiện trên hai máy khác nhau
Trang 11Mô hình tính toán Client/Server
Chương trình khách gửi một yêu cầu tới cho chương trình phục vụ, và chương trình này xử lý dữ liệu để trả lời cho chương trình khách
Chương trình khách muốn gửi được yêu cầu thì trước hết phải tìm cách kết nối với Server Server có thể chấp nhận hay từ chối sự kết nối này.
Kết nối được thiết lập thì Client và Server trao đổi với nhau thông qua Sockets
Trang 12TỔNG QUAN VỀ TÁC TỬ DI ĐỘNG
Các tính chất của Tác tử di động
Có thể xem các tác tử di động như các hệ phần mềm (hoặc phần cứng) có các tính năng như sau:
Céng t¸c Häc
Tù trÞ T¸c tö th«ng minh T¸c tö céng t¸c häc
T¸c tö céng t¸c T¸c tö giao diÖn
Trang 13- Tính tương tác:
Tác tử có thể cảm nhận và hành động, thực hiện các công việc theo sự thay đổi của môi trường
Trang 14- Tính tự trị:
Tác tử hoạt động thực hiện các công việc phức tạp mà không cần có sự can thiệp trực tiếp của người dùng Tác tử có thể thực hiện các hành động độc lập nhờ vào các kiểu trạng thái được cài đặt trước
Tác tử cũng có khả năng kiểm soát nhất định đối với hành động và trạng thái bên trong của mình
Trang 15- Tính di động:
Tác tử có thể linh hoạt tự di chuyển từ nơi này đến nơi khác, theo một hành trình định trước hoặc các tác tử nhận thức về môi trường và hành động dựa theo các tình huống khác nhau
Trang 16Các bước chạy chương trình Demo
Bước 1: Chạy Server1
Trang 17 Bước 2: Chạy Server2
Trang 18 Bước 3: Chạy Client
Trang 19Kết Thúc
Xin chân thành cảm ơn!