Các hệ thống thông tin
phân tán
TS. Hồ Bảo Quốc
Mục tiêu môn học
Cung
cấp kiến thức về các hệ
thống thông tin phân tán trong tổ
chức/doanh nghiệp như kiến trúc,
các chuẩn, các mô hình, công
nghệ thiết kế và triển các hệ thống
phân tán
Các kết quả mong muốn đạt
được sau khóa học
Có khả năng phân tích ngữ cảnh ứng dụng và lĩnh vực
ứng dụng của các hệ thống phân tán
Nắm được các kiến trúc khác nhau của các hệ thống
phân tán
Thiết kế các giải pháp phân tán và chọn phương pháp
luận phù hợp cho phát triển một hệ thống phân tán
Hiểu và sử dụng được middleware cho việc thiết kế một hệ
thống phân tán
Hiểu được sự cần thiết của các chuẩn các nghi thức
trong tính toán phân tán
Đánh giá và chọn lựa được công nghẹ và nghi thức
mạng cho một hệ phân tán
Hiểu các vấn đề trong quản lý giao tác phân tán
Nhận thức được các yêu cầu về bảo mật của hệ thống
phân tán
Tài liệu tham khảo
Nội dung môn học
Phần I Các hệ thống phân tán
Phần II Cơ sở dữ liệu phân tán
DẪN NHẬP
Định nghĩa
“A distributed system consists of a collection of
autonomous computers, connected through a network
and
distribution middleware, which enables computers to
coordinate their activities and to share the resources of
the system,
so that users perceive the system as a single, integrated
computing facility.”
Wolfgang Emmerich, 1997
“ Một hệ thống phân tán bao gồm một tập hợp các máy
tính đọc lập được kết nối với nhau thông qua mạng và
một lớp phần mềm trung gian (middleware) cho phép
các máy tính này có thể hợp tác, chia sẽ tài nguyên của
hệ thống, sao cho người dùng cảm nhận hệ thống như
một phương tiện tính toán được tích hợp đơn”
Hệ thống phân tán
“Một hệ thống phân tán bao gồm một tập
hợp các máy tính đơn được nối kết với
nhau thông qua mạng và được trang bị
một phần mềm quản trị phân tán
(Middleware)”
“Middleware cho phép các máy tính hợp
tác hoạt đọng, chia sẽ tài nguyên của hệ
thống như : phần cứng, phần mềm, dữ
liệu”
“Người dùng cảm nhận về hệ thống phân
tán như một tiên ích tính toán tích hợp
mặc dù nó có thể được triển khai trên
nhiều máy tính khác nhau, tại nhiều vị trí
khác nhau”
Coulouris et a, 2005
Các tính chất của một hệ
thống phân tán
◦ Bao gồm nhiều thành phần độc lập
◦ Các thành phần không được chia sẽ
cho tất cả các người dùng
◦ Các tài nguyên có thể không thể truy
xuất
◦ Phần mềm thực thi trên các tiến trình
đồng thời trên các bộ xử lý khác nhau
◦ Kiểm soát đa điểm
◦ Sự cố đa điểm
Wolfgang Emmerich, 1997
Sự phát triển của công nghệ
Trước
nữa nhuwng năm 80
◦ Hầu hết các tổ chức chỉ có vài hệ thệ
thống
Thiếu phương tiện để kết nối chúng
Chúng hoạt động độc lập
◦ Các máy tính thì lớn và giá thành cao
Từ
giữa những năm với sự ra đời của
các bộ vi xữ lý mạnh
và … sự xuất hiện của mạng máy tính
tốc độ cao
Ngày nay: dễ dàng để kết nối số lượng lớn
máy tính bằng hệ thống mạng tốc độ cao.
Tại sao cần các hệ thống
phân tán
Bản chất phân tán của các tổ chức/ xí nghiệp
Cho phép người dùng kết nối với những tài
nguyên ở xa (remote resources)
Cho phép chia sẽ tài nguyên cho người dùng
từ xa
Tăng cường sự chia sẽ
◦
◦
◦
◦
Kinh tế
Dễ hợp tác – tổ chứ ảo
Dễ dàng trao đổi
Thương mại
Tuy nhiên : đặt ra vấn đề an toàn
Các đặc trưng chính
Trong
suốt (transparency) : Che
dấu sự phân tán vật lý của tài
nguyên trên mạng
Hệ thống mở (open system ) :Có
thể dễ dàng mở rộng dựa trên dịch
vụ được mô tả (cú pháp và ngữ
nghĩa) theo các luật chuẩn
Mở rộng kích thước/tăng trưởng
(scalable) : dễ dàng thêm các
thành phần, người sử dụng ..
Tính trong suốt (Transparency)
Định nghĩa
“sự che dấu ngườii dùng và người lập trình ứng dụng về sự tồn tại
độc lập của các thành phần của hệ thống, sao cho hệ thống
được cảm nhận như một tổng thể hơn là tập hợp của các thành
phân độc lập“
Coulouris et al
Các loại trong suốt:
◦ Trong suốt truy xuất (Access transparency): sự khác nhau trong biểu diễn dữ
liệu và phương thức truy xuất tài nguyên
◦ Trong suốt vị trí (Location transparency): vị trí tài nguyên được lưu trữ
◦ Trong suốt thay đổi vị trí (Migration transparency): một tài nguyên có thể thay
dổi vị trí
◦ Trong suốt tái định vị (elocation transparency): tài nguyên có thể bị di chuyển
trong khi đang được sử dụng
◦ Trong suốt nhân bản (replication transparency): các bản của cùng một tài
nguyên
◦ Trong suốt truy xuất đồng thời (Concurrency transparency): một tài nguyên có
thể được chia sẽ cho nhiều người và bởi nhiều người
◦ trong suốt sự cố: sự cố và khôi phục sau sự cố của một tài nguyên
◦ Trong suốt về sự bền vững (Persistence transparency): wtài nguyên phần
mềm trong bộ nhớ hay trên đĩa
Tính mở (Openness)
Cung cấp các dịch vụ theo các luật chuẩn
mô tả và cú pháp và ngữ nghĩa của dịch vụ
Các luật được hình thức hóa thành các nghi
thức (protocols)
Các dịch vụ được đặc tả thông qua một giao
diện (interfaces)
◦ Sử dụng ngôn ngữ định nghĩa giao diện(Interface
Definition Language (IDL)
◦ Sử dụng ngôn ngữ tự nhiên để mô tả ngữ nghĩa
◦ Cho phép một tiến trình cần một interface có thể
nói chuyện với một tiến trình khác cung cấp
interface đó
◦ Bản thân các interfaces là đầy đủ và trung tính
Tính mở (tt.)
Tại sao phải cần tính mở?
◦ Khả năng kết hợp và khả năng di chuyển
( Interoperability and portability)
Đòi hỏi tính đầy đủ và trung tính
◦ Tính linh hoạt
Dễ dàng cấu hình hệ thống với những thành
phần khác nhau từ những nhà phát triển
khác nhau
Dễ dàng thêm một thành phần mới
Dễ dàng thay thế một thành phần đang có
Tính mở (tt.)
Tại sao tính linh hoạt là cần thiết ?
◦ Đáp ứng sự thay đổi
Thay đổi nghiệp vụ (Business changes)
Thay đổi công nghệ (Technology changes)
Thay đổi điều hành nghiệp vụ (Business drives changes)
Tính tăng trưởng (scalability)
Tăng trưởng theo nghĩa quản trị
◦ Làm thể nào tăng trưởng xuyên qua
các lĩnh vực quản trị độc lập
◦ Các chính sách mâu thuẩn nhau
Sử dụng (trả chi phí)
Quản trị
Bảo mật
Chống lại các tấn công từ lĩnh vực
mới
Chống lại các tấn công từ hệ thống
phân tán
Tính tăng trưởng (tt.)
Tăng
trưởng theo kích thước
◦ Giới hạn của kiến trúc tập trung :
quá tải (bottleneck)
Sức mạnh xử lý và lưu trữ không
thể vượt qua những giới hạn của
truyền thông
Phân tán lại sinh ra sự không
chắc chắn
Tính tăng trưởng (tt.)
Tăng trưởng về vị trị địa lý
◦ Các hệ thống phân tán được thiết kế cho
mạng LANs dựa trên truyền thông đồng bộ
(synchronous communication)
◦ Truyền thông trên mạng WANs vốn không tin
cậy và hầu hết theo kiểu point-to-point
LANs cung cấp cơ chế truyền thông tin cậy dựa trên
quảng bá(broadcasting) -- WAN cần các dịch vụ vị
trí đặc biệt
◦ Các thành phần tập trung cản trở sự tăng
trưởng về mặt địa lý
ĐẶC TRƯNG CỦA HỆ
THỐNG PHÂN TÁN
Hệ thống phân tán là gì ?
“là hệ thống trong đó các thành
phần phần cứng hay phần mềm
được phân bổ trên một mạng máy
tính truyền thông và hợp tác thông
việc chuyển giao các thông điệp”
[Coulouris et al, 2001]
Tại sao phải dùng HTPT
giản là để chia sẽ tài nguyên
Tài nguyên có thể
Đơn
◦ Thành phần phần cứng
Đĩa từ, bộ xử lý, máy in…
◦ Các thực thể phần mềm
Tập tin, cơ sở dữ liệu, đối tượng…
Các vấn đề chính của HTPT
Đồng thời (Concurrency)
◦ Công việc được thực hiện đồng thời trên nhiều máy tính
◦ Làm sao quản lý ?
Không có một đồng hồ toàn cục (No global
clock)
◦ Các máy tính hợp tác với nhau nhờ vào các thông
điệp (messages)
◦ Sự điều phối phụ thuộc theo thời gian
◦ Tuy nhiên có những hạn chế trong việc đồng bộ đồng
hồ trên hệ thống.
Sự cố (Failures)
◦ Hệ thống/ các máy tính có thể bị sự cố, mạng có thể bị
sự cố
◦ Làm thế nào để khoang vùng sự cố?
◦ Làm thế nào để tối thiểu hóa tác hại ?
Ví dụ HTPT
Internet
◦ Một chuỗi các máy tính thuộc loại khac nhau
được kết nối
◦ Chúng có thể hoạt động cùng nhau thông
qua việc trao đổi thông điệp
◦ Bản chất của Internet là một cấu trsuc mở :
có thể dễ dàng thêm vào các tài nguyên
mới
Mạng
nội bộ (Intranets)
◦ Một pần của Internet đượ c quản trị riêng biệt
trong một phạm vi nào đó
◦ được kết nối với nhau thông qua mạng xương
sống (backbone)
Ví dụ HTPT
Mạng
di động
◦ Mobile phone, PDA, Laptop …
◦ Tính toán di động