SlideShare a Scribd company logo
1
Fault tolerance - làm rõ đối
với Web-Based Systems
BÁO CÁO MÔN HỌC
Lý thuyết hệ phân tán
Giảng viên: TS. Hoa Tất Thắng
Học viên: Phạm Công Hòa
Nguyễn Hữu An
Lê Thị Thu Thủy
Trần Thị Huyền
Phạm Thị Ngà-K24
Báo cáo môn học Lý thuyết hệ phân tán 2
Nội dung báo cáo
I. Một số khái niệm cơ bản
II. Các phương pháp che giấu
lỗi
III. Ủy thác phân tán
IV. Phục hồi
V. Làm rõ đối với Web-Based
Systems
Báo cáo môn học Lý thuyết hệ phân tán 3
I. Một số khái niệm cơ bản
Một phần quan trọng trong thiết kế của hệ phân
tán đó là xây dựng hệ thống sao cho nó có thể tự
động khôi phục các thành phần lỗi mà không ảnh
hưởng tới hiệu năng hoạt động của toàn bộ hệ thống.
Đặc biệt, bất cứ khi nào khi có lỗi xảy ra thì hệ thống
vẫn tiếp tục hoạt động trong khi quá trình sửa chữa
vẫn đang được tiến hành, có nghĩa là phải có khả năng
chịu đựng lỗi và tiếp tục hoạt động trong một chừng
mực nào đó.
Báo cáo môn học Lý thuyết hệ phân tán 4
I. Một số khái niệm cơ bản
Tính chịu lỗi liên quan nhiều tới khái niệm
có thể tin cậy được (dependable system). Thuật
ngữ "có thể tin cậy được" bao gồm các thuộc tính
sau:
1. Tính sẵn sàng (Availability)
2. Tính tin cậy (Reliability)
3. Tính an toàn (Safety)
4. Khả năng duy trì (Maintainability)
Báo cáo môn học Lý thuyết hệ phân tán 5
I. Một số khái niệm cơ bản
Tính chịu lỗi còn liên quan tới khái niệm
điều khiển lỗi (Fault control). Điều khiển lỗi bao
gồm: ngăn ngừa lỗi, loại bỏ lỗi và dự báo lỗi với
mục tiêu xây dựng thành công khả năng chịu
đựng lỗi cho hệ thống.
Báo cáo môn học Lý thuyết hệ phân tán6
I. Một số khái niệm cơ bản
Phân loại lỗi:
1. Lỗi nhất thời
2. Lỗi liên tiếp
3. Lỗi lâu dài
Báo cáo môn học Lý thuyết hệ phân tán7
I. Một số khái niệm cơ bản
Các mô hình lỗi:
1. Lỗi sụp đổ (Crash failure)
2. Lỗi bỏ sót (Omission failure)
3. Lỗi thời gian (Time failure)
4. Lỗi đáp ứng (Respond failure)
5. Lỗi bất kỳ (Arbitary failure)
Báo cáo môn học Lý thuyết hệ phân tán8
II. Các phương pháp che giấu lỗi
1. Che giấu lỗi bằng dư thừa:
2. Khôi phục tiến trình
3. Che giấu lỗi trong truyền thông client/server
đáng tin cậy
4. Che giấu lỗi trong truyền thông nhóm đáng
tin cậy
Báo cáo môn học Lý thuyết hệ phân tán 9
1. Che giấu lỗi bằng dư thừa:
Chia làm 3 loại:
- Dư thừa thông tin
- Dư thừa thời gian
- Dư thừa vật lý
Báo cáo môn học Lý thuyết hệ phân tán 10
2. Khôi phục tiến trình:
2.2. Thiết kế:
- Tổ chức các tiến trình giống nhau vào cùng một nhóm.
- Khi có một bản tin được gửi đến nhóm, mọi thành viên trong
nhóm sẽ nhận được bản tin đó. Nếu một tiến trình trong nhóm
lỗi, các tiến trình khác có thể thay thế và đưa ra kết quả đúng
cho cả nhóm.
2.1. Mục đích:
- Chống lại các tiến trình bị lỗi bằng cách sao chép và phân tán
việc tính toán trong một nhóm
Báo cáo môn học Lý thuyết hệ phân tán 11
2. Khôi phục tiến trình:
2.3. Phân loại nhóm:
- Nhóm ngang hàng: tất cả các tiến trình là
ngang bằng nhau không có cái nào là boss
và mọi quyết định đều được thực hiện theo
tập thể.
+ Ưu điểm: Nếu một tiến trình bị lỗi, cả
nhóm chỉ đơn giản bị thu hẹp lại, nhưng vẫn
có thể tiếp tục hoạt động.
+ Nhược điểm: Thời gian trễ lớn, tốn tài
nguyên.
Báo cáo môn học Lý thuyết hệ phân tán12
2. Khôi phục tiến trình:
- Nhóm phân cấp: Trong mỗi nhóm sẽ có một
tiến trình giữ vai trò quản lý gọi là coordinator, còn
các tiến trình khác đóng vai trò thực hiện (worker).
Khi có một yêu cầu chuyển đến, yêu cầu này sẽ
được gửi tới coordinator. Coordinator sẽ quyết
định worker nào thích hợp nhất để thực hiện nó
và sẽ chuyển đến cho worker đó.
+ Ưu điểm: Không bị trễ như nhóm ngang
hàng.
+ Nhược điểm: Khi coordinator gặp sự cố
thì toàn bộ hoạt động của nhóm sẽ bị dừng lại
Báo cáo môn học Lý thuyết hệ phân tán13
2. Khôi phục tiến trình:
2.4. Để tăng tính chịu lỗi là cần có bao nhiêu bản sao của tiến
trình thì đủ?
- Một hệ thống được gọi là k fault tolerance nếu nó có thể
hoạt động đúng với k phần tử (tiến trình) bị lỗi. Nếu có k tiến trình
bị lỗi thì cần có k+1 tiến trình khác không bị lỗi để quá trình lựa
chọn kết quả vẫn diễn ra chính xác.
- Nếu một client có thể đưa ra quyết định của nó theo cơ
chế bỏ phiếu, nó vẫn có thể đưa ra quyết định đúng nếu k trong
số 2k+1 tiến trình hoạt động sai (k+1 tiến trình còn lại vẫn hoạt
động chính xác)
Báo cáo môn học Lý thuyết hệ phân tán 14
3. Che giấu lỗi trong truyền thông client/server đáng
tin cậy:
Việc che giấu lỗi trong hệ phân tán tập trung
vào trường hợp có tiến trình bị lỗi. Nhưng ta cũng
phải xét đến trường hợp các giao tiếp bị lỗi. Thông
thường, một kênh giao tiếp có thể gặp các lỗi: lỗi sụp
đổ, lỗi bỏ sót, lỗi thời gian và lỗi tùy ý. Việc xây dựng
một kênh truyền thông tập trung vào che giấu lỗi sụp
đổ và lỗi tùy ý.
Báo cáo môn học Lý thuyết hệ phân tán15
3. Che giấu lỗi trong truyền thông client/server đáng
tin cậy:
3.1. Truyền thông điểm - điểm:
Trong hệ phân tán, truyền thông điểm - điểm tin cậy được
thiết lập bằng cách sử dụng các giao thức truyền tin cậy như
TCP. TCP che giấu được lỗi bỏ sót bằng cách dùng cơ chế
thông báo ACK/NACK và việc thực hiện truyền lại. TCP không
che giấu được lỗi sụp đổ. Khi xảy ra lỗi sụp đổ thì kết nối TCP
sẽ bị hủy. Chỉ có một cách để che giấu lỗi sụp đổ là hệ thống
phải có khả năng tự động tạo một kết nối mới.
Báo cáo môn học Lý thuyết hệ phân tán16
3. Che giấu lỗi trong truyền thông client/server đáng
tin cậy:
3.2. Kết nối RPC:
* 5 lớp lỗi có thể xảy ra trong hệ thống RPC
- Máy khách không thể định vị được máy chủ
- Tin nhắn yêu cầu từ máy khách đến máy chủ bị mất
- Máy chủ bị treo sau khi nhận yêu cầu
- Tin nhắn phản hồi từ máy chủ đến máy khách bị mất
- Máy khách bị treo sau khi gửi yêu cầu:
Báo cáo môn học Lý thuyết hệ phân tán17
3. Che giấu lỗi trong truyền thông client/server đáng
tin cậy:
- Máy khách không thể định vị được máy chủ: Lỗi này
xảy ra khi máy khách không thể xác định vị trị của một máy
chủ thích hợp. Chẳng hạn như tất cả các máy chủ có thể bị
down. Cách khắc phục: gửi báo cáo cho máy khách "Cannot
locate server"
Báo cáo môn học Lý thuyết hệ phân tán18
3. Che giấu lỗi trong truyền thông client/server đáng
tin cậy:
- Tin nhắn yêu cầu từ máy khách đến máy chủ bị mất:
Đây là loại lỗi dễ xử lý nhất: hệ điều hành hay client stub kích
hoạt một bộ đếm thời gian (timer) khi gửi đi một yêu cầu. Khi
timer đã trở về giá trị 0 mà không nhận được bản tin phản hồi từ
server thì nó sẽ gửi lại yêu cầu đó. Nếu bên client nhận thấy có
quá nhiều yêu cầu phải gửi lại thì nó sẽ xác nhận rằng server
không hoạt động và sẽ quay lại thành kiểu lỗi "không định vị
được server"
Báo cáo môn học Lý thuyết hệ phân tán19
3. Che giấu lỗi trong truyền thông client/server đáng
tin cậy:
- Máy chủ bị treo sau khi nhận yêu cầu: Lỗi này lại phân
chia thành hai loại:
+ Loại 1: Sau khi thực hiện xong yêu cầu nhận được
thì server bị treo trước khi nó có thể gửi phản hồi. Phương pháp
khắc phục: sau đó server sẽ gửi thông báo hỏng cho client
+ Loại 2: Vừa nhận được yêu cầu từ client, server đã
bị lỗi ngay. Phương pháp khắc phục: client chỉ cần truyền lại yêu
cầu cho. Vấn đề đặt ra lúc này là client không thể nói cho server
biết yêu cầu nào là yêu cầu được gửi lại.
Báo cáo môn học Lý thuyết hệ phân tán20
3. Che giấu lỗi trong truyền thông client/server đáng
tin cậy:
Khi gặp kiểu lỗi này, ở phía máy server sẽ thực hiện theo 3 kỹ
thuật sau:
+ Kỹ thuật 1: chờ cho đến khi server khởi động lại (hoặc xây
dựng một sever mới) và cố gắng vận hành lại một lần nữa. Kỹ thuật
này đảm bảo RPC được thực hiện ít nhất một lần.
+ Kỹ thuật 2: ngừng ngay lập tức và gửi phản hồi thông báo lỗi
cho máy khách. Với kỹ thuật này thì RPC thực hiện nhiều lần nhất.
+ Kỹ thuật 3: Khi một server treo, máy trạm không nhận được
sự hỗ trợ và cũng không được báo trước điều gì xảy ra. RPC có
thể được thực hiện rất nhiều lần hoặc không một lần nào.
Báo cáo môn học Lý thuyết hệ phân tán21
3. Che giấu lỗi trong truyền thông client/server đáng
tin cậy:
Còn máy khách thì có thể thực hiện theo 4 cách sau:
+ Một là: Client không thực hiện gửi lại các yêu cầu, có nguy
cơ rằng yêu cầu đó sẽ không được thực hiện.
+ Hai là: Client liên tục gửi lại yêu cầu: có thể dẫn tới trường
hợp một yêu cầu được thực hiện nhiều lần.
+ Ba là: Client chỉ gửi lại yêu cầu nào đó khi không nhận được
bản tin ACK phản hồi từ server thông báo đã nhận thành công.
Trường hợp này, server dùng bộ đếm thời gian. Sau một khoảng
thời gian xác định trước mà không nhận được ACK thì client sẽ gửi
lại yêu cầu đó.
+ Bốn là: Client gửi lại yêu cầu nếu nhận được phản hồi đối
với yêu cầu thực hiện.
Báo cáo môn học Lý thuyết hệ phân tán22
3. Che giấu lỗi trong truyền thông client/server đáng
tin cậy:
- Tin nhắn phản hồi từ máy chủ đến máy khách bị mất. Cách
khắc phục: máy trạm có thể đánh số thứ tự cho mỗi yêu cầu. Bằng
cách này, máy chủ theo dõi các yêu cầu đã được máy trạm gửi,
máy chủ có thể phân biệt yêu cầu ban đầu với yêu cầu gửi lại và
có thể từ chối thực hiện bất cứ yêu cầu gửi lại nào. Tuy nhiên, máy
chủ vẫn phải gửi một thông báo cho máy trạm. Ngoài ra trong tiêu
đề tin nhắn có thể sử dụng một bit giúp nhận biết đâu là các yêu
cầu được gửi lại
Báo cáo môn học Lý thuyết hệ phân tán23
3. Che giấu lỗi trong truyền thông client/server đáng
tin cậy:
- Máy khách bị treo sau khi gửi yêu cầu: Client gửi yêu
cầu tới server rồi bị lỗi trước khi nhận được trả lời gửi về từ
server. Công việc mà server thực hiện nhưng không có đích
nào đợi để nhận kết quả được gọi là một "orphan". Các
orphan có thể gây ra hàng loạt các vấn đề cản trở hoạt động
bình thường của hệ thống. Ít nhất là gây lãng phí chu kỳ
CPU. Nó cũng có thể khóa các tập tin hoặc các nguồn tài
nguyên có giá trị, gây ra lỗi...
Báo cáo môn học Lý thuyết hệ phân tán24
3. Che giấu lỗi trong truyền thông client/server đáng
tin cậy:
Giải pháp:
+ Một là: trước khi gửi một yêu cầu nào đó, client stub sẽ
tạo ra một bản ghi xác định công việc cần thực hiện này và lưu
lại. Như thế, khi được phục hồi sau lỗi, client sẽ lấy lại bản ghi
đó và việc thực hiện các orphan đang diễn ra sẽ bị dừng lại.
Nhược điểm của phương pháp này là chi phí để trang bị đĩa để
lưu lại mỗi bản hi cho mỗi RPC. Orphan có thể tự mình thực
hiện RPC tạo ra một grandorphan nên rất khó xác định.
+ Hai là: chia thời gian hoạt động liên tục của client
thành các số liên tục gọi là các thời kỳ. Mỗi client khôi phục trở
lại thì số chỉ thời kỳ lại tăng lên một đơn vị, lúc này client sẽ gửi
thông báo đến tất cả các máy khác thông báo thời kỳ mới của
mình. Khi nhận được thông báo này thì các orphan sẽ dừng lại.
Báo cáo môn học Lý thuyết hệ phân tán25
3. Che giấu lỗi trong truyền thông client/server đáng
tin cậy:
Giải pháp:
+ Ba là: khi nhận được bản tin thông báo thời kỳ mới, mỗi
máy sẽ kiểm tra xem mình có đang thực hiện một tính toán từ xa
nào đó không. Nếu có, máy sẽ cố xác định xem client nào đã gửi
yêu cầu này. Nếu không xác định được thì quá trình tính toán
này sẽ bị hủy bỏ.
+ Bốn là: quy định mỗi RPC chỉ có một khoảng thời gian
xác định T để thực hiện, sau khi gặp lỗi, client sẽ phải đợi thêm
một khoảng thời gian T trước khi khởi động lại để nhận các
orphan. Vấn đề đặt ra là phải lựa chọn giá trị T như thế nào cho
hơp lý
Báo cáo môn học Lý thuyết hệ phân tán26
Các phương pháp che giấu lỗi
4. Che giấu lỗi trong truyền thông nhóm tin cậy
(dùng multicasting)
4.1. Multicasting tin cậy cơ bản
4.2. Multicasting tin cậy mở rộng
4.3. Multicasting nguyên tử
Báo cáo môn học Lý thuyết hệ phân tán27
4. Che giấu lỗi trong truyền thông nhóm tin cậy (dùng
multicasting)
4.1. Multicasting tin cậy cơ bản (Basic Reliable - multicast
ing).
Sau khi các tiến trình đã được phân nhóm thì một tiến trình
khác muốn thực hiện multicast tức là sẽ gửi bản tin tới tất cả các
tiến trình trong nhóm đó. Multicast tin cậy là phải có cơ chế để đảm
bảo bản tin đó đến được tất cả các thành viên trong nhóm. Khi xảy
ra lỗi thì sẽ áp dụng phương pháp sau để che giấu lỗi.
Phương pháp: đánh số các bản tin cần gửi. Các bản tin
được lưu tại một buffer của bên gửi và vẫn lưu ở đó cho đến khi
nhận được bản tin ACK báo về từ bên nhận. Nếu bên nhận xác
định là bị mất một bản tin nào đó thì nó sẽ gửi về một bản tin
NACK để yêu cầu gửi lại. Và thông thường, bên gửi sẽ tự động gửi
lại bản tin sau trong khoảng thời gian xác định nào đó mà nó không
nhận được bản tin ACK báo về.
Báo cáo môn học Lý thuyết hệ phân tán28
4. Che giấu lỗi trong truyền thông nhóm tin cậy (dùng
multicasting)
4.2. Multicast tin cậy mở rộng.
Để tăng hiệu quả công vệc khi làm việc với một số lượng lớn
các tiến trình thì đưa ra mô hình multicast tin cậy mở rộng. Với mô
hình này sẽ không gửi trả về bản tin ACK báo nhận thành công mà
chỉ gửi trả về cho tiến trình nhận bản tin NACK thông báo khi có lỗi
truyền.Việc này được thực hiện bằng giao thức SRM (Scalable
Reliable Multicasting).
Báo cáo môn học Lý thuyết hệ phân tán29
4. Che giấu lỗi trong truyền thông nhóm tin cậy (dùng
multicasting)
4.3. Multicast nguyên tử (Atomic multicast ).
Tư tưởng chính: khi một tiến trình muốn gửi bản tin cho một
tập các tiến trình khác theo kiểu multicast, nó sẽ không gửi bản tin
tới tất cả các tiến trình của nhóm chứa các tiến trình nhận mà chỉ
gửi đến một nhóm nhỏ các tiến trình cần nhận bản tin đó.
Báo cáo môn học Lý thuyết hệ phân tán30
III. Ủy thác phân tán (Distributed commit)
1. Khái niệm ủy thác phân tán
2. Ủy thác hai pha
3. Ủy thác 3 pha
Báo cáo môn học Lý thuyết hệ phân tán31
III. Ủy thác phân tán (Distributed commit)
1. Khái niệm ủy thác phân tán:
Có nhiều người dùng truy cập cơ sở dữ liệu phân tán thông
qua các ứng dụng. Vì lý do này chức năng quản lý giao dịch (
transaction management ) được đưa ra. 1 giao dịch là 1 quá trình
trao đổi giữa máy thành viên và máy chủ, giao dịch hoàn tất khi quá
trình này hoàn tất.
Chức năng quản lý giao dịch nhằm duy trì tính nhất quán dữ
liệu, tránh xung đột dữ liệu bằng cách chia dữ liệu thành các đơn vị
giao dịch sao cho cơ sở dữ liệu có thể điều khiển được việc cập nhật
từ các người dùng khác nhau. Quản lý giao dịch bao gồm đặc điểm:
Automicity ( nguyên tố ), Consistency (Nhất quán), Isolation (Cô lập),
Durability (Bền vững)
Báo cáo môn học Lý thuyết hệ phân tán32
III. Ủy thác phân tán (Distributed commit)
- Distributed commit ( ủy thác phân tán ) là các giao thức giúp
thực hiện truy cập tài nguyên (dữ liệu) – thực hiện giao dịch như
trên mà vẫn đảm bảo CSDL của ta có đầy đủ các đặc điểm đã nêu.
- Ủy thác ( commit ) : là việc khi kết thúc 1 công việc xử lý cơ sở
dữ liệu, cập nhật cơ sở dữ liệu xong kết quả được lưu trữ.
Báo cáo môn học Lý thuyết hệ phân tán33
III. Ủy thác phân tán (Distributed commit)
2. Ủy thác hai pha:
* Là cơ chế đảm bảo tính toàn vẹn của cơ sở dữ liệu phân tán.
* Gồm 2 pha khác nhau :
- Pha 1 :
+ Máy chủ gửi lệnh cập nhật đến mỗi site. Mỗi site tiến hành cập
nhật tạm thời cơ sở dữ liệu.
+ Các site nhận được lệnh cập nhật sẽ trả lời lại máy chủ lệnh
VOTE_COMMIT nếu nó ở trạng thái sẵn sàng (ready ) cập nhật hay lệnh
VOTE_ABORT nếu nó đang có sự cố mà muốn hủy bỏ (abort ) bất kỳ khi
nào nhận được lệnh ủy thác từ máy chủ.
- Pha 2 :
Sau khi đã chắc chắn tất cả các site đã sẵn sàng cho việc cập
nhật Máy chủ chuyển lệnh GLOBAL_COMMIT cho các site một cách
tuần tự. Các thành viên tiến hành cập nhật cơ sở dữ liệu một cách tuần
tự.
Báo cáo môn học Lý thuyết hệ phân tán34
III. Ủy thác phân tán (Distributed commit)
3. Ủy thác 3 pha
Một nhược điểm của ủy thác 2 pha là tại pha thứ nhất, máy chủ
phải nhận được phản hồi của tất cả các site con ( xem tình trạng
của nó là sẵn sàng Commit hay Abort ) thì mới quyết định có thực
hiện cam kết hay ko ở pha thứ 2. Tuy nhiên trên thực tế có những
trường hợp máy site gặp sự cố bất thường trước khi nó kịp gửi
phản hồi cho máy chủ, trong TH này sẽ khiến toàn bộ hệ thống bị
“down” do máy chủ không biết nên quyết định thế nào.
Báo cáo môn học Lý thuyết hệ phân tán35
III. Ủy thác phân tán (Distributed commit)
3. Ủy thác 3 pha
Ủy thác 3 pha khắc phục nhược điểm này bằng cách có thêm 1
bước đệm goi là PRECOMMIT. Trong quá trình đợi để nhận phản
hồi từ các site con, chỉ cần có 1 site gửi lại VOTE_ABORT ngay lập
tức máy chủ sẽ quyết định ABORT (hủy bỏ) quá trình cam kết (
khác với 2 pha là phải đợi tất cả phản hồi đến rồi mới quyết định ).
Trường hợp các site lần lượt gửi về VOTE_COMMIT, máy chủ
sẽ để hệ thống trạng thái PRECOMMIT. Và sau khi tất cả các site
đều đã sẵn sàng thì GLOBAL_COMMIT mới được máy chủ gửi đi.
Ngoài ra các khâu khác đều như 2 pha .
Báo cáo môn học Lý thuyết hệ phân tán 36
IV. Phục hồi (Recovery)
Phục hồi lỗi ( recovery error ) là một trong những cách hiệu quả
của việc giúp tăng khả năng chịu lỗi (fault tolerance ) của hệ thống
phân tán. Có 2 dạng phục hồi lỗi chính :
- Backward recovery : tư tưởng của nó là đưa trạng thái của hệ
thống ở thời điểm hiện tại về trạng thái tại thời điểm trước khi lỗi xảy ra.
Để là được điều đó, buộc ta cần thiết phải ghi lại trạng thái của hệ thống
ở các thời điểm liên tục ( time to time ). Mỗi thời điểm lưu trữ lại đó
người ta gọi là “checkpoint”.
- Forward recovery: khi hệ thống rơi vào trạng thái lỗi, thay vì
đưa hệ thống trở lại trạng thái trước khi lỗi, cách này lại đưa hệ thống
nhảy sang một trạng thái mới mà ở đó hệ thống lại hoạt động bình
thường. Vấn đề chính trong phương pháp này là phải dự đoán trước
được khi nào lỗi có thể xảy ra. Chỉ có vậy nó mới sẵn sàng chuyển hệ
thống sang trạng thái mới.
Báo cáo môn học Lý thuyết hệ phân tán37
IV. Phục hồi (Recovery)
- Trong hệ phân tán thường áp dụng backward recovery.
- Nhược điểm của backward:
+ Việc phục hồi lại hệ thống ở trạng thái trước đôi khi rất phức
tạp.
+ Với phương pháp backward đưa ra không có sự đảm bảo
rằng sau khi trở lại trạng thái trước lỗi, lỗi lại không tiếp tục xảy ra
dễ bị rơi vào tình trạng loop recovery.
+ Không phải lúc nào cũng có những trạng thái trước khi lỗi để
ta quay lại.
Báo cáo môn học Lý thuyết hệ phân tán38
8.7. Làm rõ đối với Web-Based Systems
1. Kiến trúc chung
1.1. Mô hình truyền thống
- Client gửi bản tin HTTP yêu cầu tới Webserver
- Webserver tồn tại tiến trình truy nhập CSDL
- Server xử lí và trả lại thông tin cho Client
Báo cáo môn học Lý thuyết hệ phân tán39
1.2.Mô hình truyền thống với kiến trúc đa tầng
Một trong những cải tiến so với kiến trúc cơ bản là việc sử dụng các
CGL (Common Gatew Interface) nhằm cung cấp sự tương tác cho
người dùng. Thông qua các Interface này, Webserver có thể chạy
những chương trình với dữ liệu đầu vào được người dung cung cấp
Báo cáo môn học Lý thuyết hệ phân tán40
1.3. Mô hình cơ chế hoạt động dịch vụ Web
Các dịch vụ của máy chủ được công bố ra phía UDDL.Khi Client
cần đến dịch vụ, nó tìm kiếm dịch vụ qua các mô tả trả về qua
ngôn ngữ WSDL. Client thực hiện kết nối đến máy chủ qua giao
thức SOAP và gửi dịch vụ. Từ đây quá trình trao đổi diễn ra bình
thường thông qua giao thức SOAP.
Báo cáo môn học Lý thuyết hệ phân tán41
2. Các tiến trình
2.1. Tiến trình phía Client
Báo cáo môn học Lý thuyết hệ phân tán42
Rendering Engine: Engine này chịu trách nhiệm hiển
thị các văn bản HTML hay XML lên màn hình. Nó
chứa các thành phần có khả năng: Tạo liên kết, giao
tiếp trên mạng; xử lý ngôn ngữ HTML, XML; phiên
dịch các script trong văn bản Browser Engine:
Engine là trung tâm của trình duyệt, cung cấp cho
người dung cơ chế xem văn bản, như chia nó thành
các phần, lựa chọn các phần của văn bản, vào một
liên kết.v..v..
User Interface: Engine cung cấp giao diện cho người
dung. Ngoài ra, do trình duyệt không phụ thuộc nền
tảng nó chạy, User Interface cùng với Brower Engine
chạy trên các thư viện chuẩn được thể hiện trên
hình.
2.1. Tiến trình phía Client (t)
Báo cáo môn học Lý thuyết hệ phân tán43
Các máy chủ nội bộ tổ chức nhiều hơn hoặc ít hơn theo
các bước cần thiết để xử lý một yêu cầu HTTP
2.2.Tiến trình phía máy chủ Web
Báo cáo môn học Lý thuyết hệ phân tán44
2.3.Cơ chế chạy Clustering các máy chủ
Hệ thống sẽ có một máy chủ Front – End nhận, chuyển và trả lời các
yêu cầu tới các máy chủ Web. Cơ chế gửi có thể là tuần tự, cũng có
thể có cơ chế dõi gửi yêu cầu đến máy chủ đang chịu tải ít hơn.
Báo cáo môn học Lý thuyết hệ phân tán45
2.4. Cơ chế chạy Clustering các máy chủ
Nội dung nhận thức được phân phối có thể được tốt hơn
rất nhiều
Báo cáo môn học Lý thuyết hệ phân tán46
3. Các cơ chế
3.1. Cơ chế truyền thông
Báo cáo môn học Lý thuyết hệ phân tán47
3.2.Cơ chế định danh URI
Báo cáo môn học Lý thuyết hệ phân tán48
Định danh với các giao thức, các định dạng khác nhau:
Báo cáo môn học Lý thuyết hệ phân tán49
3.3.Cơ chế đồng bộ
Quá trình đồng bộ được giải quyết thông qua một giao
thức riêng, đó là WebDAV (Web Distributed Authoring
and Versioning). WebDAV cung cấp cơ chế khóa tài
liệu khi có truy cập, cơ chế tạo các phiên bản, xóa,
sao….
- Nhằm đồng bộ hóa, WebDAV sử dụng hai cơ chế
khóa: Cơ chế khóa khi một Client thực hiện chỉnh sửa
tài liệu, lúc này các Client khác sẽ bị khoá chức năng
chỉnh sửa (quyền write). Cơ chế khóa cho một nhóm
người sử dụng. Cơ chế này cho phép một nhóm người
dùng chỉnh sửa các phần khác nhau của tài liệu. Tuy
nhiên người dùng phải quan tâm tới các vấn đề về
xung đột khi chỉnh sửa.
Báo cáo môn học Lý thuyết hệ phân tán50
3.3.Cơ chế đồng bộ
- Khi Client cần chỉnh sửa tài liệu, Client phải
truy cập tới Server và yêu cầu quyền lấy khóa
(Key token). Sauk hi các dữ liệu được chỉnh
sửa, Client gửi về Server qua bản tin HTTP
Post, cùng với chứng minh quyền sửa dữ liệu
(Key token). Ở đây có một vấn đề đặt ra là khi
Client không trả lại quyền chỉnh sửa do bị sự
cố. Lúc này, Server cần có một cơ chế lấy lại
khóa.
Báo cáo môn học Lý thuyết hệ phân tán51
3.4. Cơ chế nhất quán và nhân bản
Nhằm đảm bảo hiệu năng và tính sẵn sang của hệ thống
qua cơ chế Caching tức là lưu lại các thông tin được yêu
cầu nhiều nhằm trả lời Client ngay lập tức mà không cần
thực hiện tiến trình lấy dữ liệu.
Báo cáo môn học Lý thuyết hệ phân tán52
3.4.1. Cơ chế Proxy Caching
Báo cáo môn học Lý thuyết hệ phân tán53
3.4.2. Nhân bản hệ thống Web Hosting
Báo cáo môn học Lý thuyết hệ phân tán54
3.4.2. Nhân bản hệ thống Web Hosting (t)
Báo cáo môn học Lý thuyết hệ phân tán55
4. Khả năng chịu lỗi
- Khả năng chịu lỗi của hệ phân tán dựa trên
nền Web cũng chủ yếu dựa vào các cơ chế
Caching và Nhân bản
- Giao thức chống lỗi bản thân là tiến trình thu
thập và xử lý thông tin của các tiến trình khác.
- Chỉ khi thành phần thu thập thông tin nhận
được tất cả các thông báo từ các thành phần
nhân bản, nó mới được đưa ra xử lý phù hợp.
Báo cáo môn học Lý thuyết hệ phân tán56
5. Tính an toàn bảo mật hệ thống
Báo cáo môn học Lý thuyết hệ phân tán57
- Giai đoạn 1: Client thông báo tới Server các thuật
toán mã hóa và các chuẩn nén mà Client có thể hỗ trợ.
Server lựa chọn thuật toán và chuẩn nén cho kết nối đó
và gửi trả lời thông tin cho phía Client.
- Giai đoạn 2: Là giai đoạn xác thực giữa Client và
Server. Server xác thực (chứng minh mình là Server)
thông qua một chứng thực. Nếu như Server yêu cầu
Client phải xác thực thì Client sẽ phải xác thực với
Server.
Việc thiết lập một kết nối bảo mật bao gồm 2 giai đoạn:
58

More Related Content

What's hot

Hệ PhâN TáN
Hệ PhâN TáNHệ PhâN TáN
Hệ PhâN TáNit
 
Naming - Định danh trong các hệ thống phân tán
Naming - Định danh trong các hệ thống phân tánNaming - Định danh trong các hệ thống phân tán
Naming - Định danh trong các hệ thống phân tán
Phan Khanh Toan
 
Mcsa 2012 mạng căn bản phần 3
Mcsa 2012 mạng căn bản phần 3Mcsa 2012 mạng căn bản phần 3
Mcsa 2012 mạng căn bản phần 3
laonap166
 
Mcsa 2012 mạng căn bản phần 7
Mcsa 2012 mạng căn bản phần 7Mcsa 2012 mạng căn bản phần 7
Mcsa 2012 mạng căn bản phần 7
laonap166
 
Mo hinh osi compatibility mode
Mo hinh osi compatibility modeMo hinh osi compatibility mode
Mo hinh osi compatibility mode24071983
 
Network 1206754309287969-2
Network 1206754309287969-2Network 1206754309287969-2
Network 1206754309287969-2Tiệu Vây
 
Giao trinh csmtt
Giao trinh csmttGiao trinh csmtt
Giao trinh csmttBinh Tran
 
chương 4 - TCP/IP - mạng máy tính
chương 4 - TCP/IP - mạng máy tínhchương 4 - TCP/IP - mạng máy tính
chương 4 - TCP/IP - mạng máy tính
Quyên Nguyễn Tố
 
Giải nh mvt
Giải nh mvtGiải nh mvt
Giải nh mvt
buzzbb37
 
đồNg bộ hóa dữ liệu trên 2 database server dùng sql server 2008
đồNg bộ hóa dữ liệu trên 2 database server dùng sql server 2008đồNg bộ hóa dữ liệu trên 2 database server dùng sql server 2008
đồNg bộ hóa dữ liệu trên 2 database server dùng sql server 2008
laonap166
 
Mô hình-osi
Mô hình-osiMô hình-osi
Mô hình-osi
Hòa Nguyễn
 
Lập sơ đồ thiết kế mạng
Lập sơ đồ thiết kế mạngLập sơ đồ thiết kế mạng
Lập sơ đồ thiết kế mạng
namtran471
 
Tự học mcsa 2012 mạng căn bản phần 1
Tự học mcsa 2012 mạng căn bản phần 1Tự học mcsa 2012 mạng căn bản phần 1
Tự học mcsa 2012 mạng căn bản phần 1
laonap166
 
EIGRP
EIGRPEIGRP
EIGRP
Tai Vo
 
Chuong 2 - CSDL phân tán
Chuong 2 - CSDL phân tánChuong 2 - CSDL phân tán
Chuong 2 - CSDL phân tánduysu
 
Báo Cáo Cơ Sở Truyền Số Liệu
Báo Cáo Cơ Sở Truyền Số LiệuBáo Cáo Cơ Sở Truyền Số Liệu
Báo Cáo Cơ Sở Truyền Số Liệu
Nguyễn Đức Quý
 
Beezo Share - Đồ Án Thực Tập Công Cụ Giám Sát Mạng Python
Beezo Share - Đồ Án Thực Tập Công Cụ Giám Sát Mạng PythonBeezo Share - Đồ Án Thực Tập Công Cụ Giám Sát Mạng Python
Beezo Share - Đồ Án Thực Tập Công Cụ Giám Sát Mạng Python
Beezo
 

What's hot (18)

Hệ PhâN TáN
Hệ PhâN TáNHệ PhâN TáN
Hệ PhâN TáN
 
Naming - Định danh trong các hệ thống phân tán
Naming - Định danh trong các hệ thống phân tánNaming - Định danh trong các hệ thống phân tán
Naming - Định danh trong các hệ thống phân tán
 
Mcsa 2012 mạng căn bản phần 3
Mcsa 2012 mạng căn bản phần 3Mcsa 2012 mạng căn bản phần 3
Mcsa 2012 mạng căn bản phần 3
 
Mcsa 2012 mạng căn bản phần 7
Mcsa 2012 mạng căn bản phần 7Mcsa 2012 mạng căn bản phần 7
Mcsa 2012 mạng căn bản phần 7
 
Mang co ban
Mang co banMang co ban
Mang co ban
 
Mo hinh osi compatibility mode
Mo hinh osi compatibility modeMo hinh osi compatibility mode
Mo hinh osi compatibility mode
 
Network 1206754309287969-2
Network 1206754309287969-2Network 1206754309287969-2
Network 1206754309287969-2
 
Giao trinh csmtt
Giao trinh csmttGiao trinh csmtt
Giao trinh csmtt
 
chương 4 - TCP/IP - mạng máy tính
chương 4 - TCP/IP - mạng máy tínhchương 4 - TCP/IP - mạng máy tính
chương 4 - TCP/IP - mạng máy tính
 
Giải nh mvt
Giải nh mvtGiải nh mvt
Giải nh mvt
 
đồNg bộ hóa dữ liệu trên 2 database server dùng sql server 2008
đồNg bộ hóa dữ liệu trên 2 database server dùng sql server 2008đồNg bộ hóa dữ liệu trên 2 database server dùng sql server 2008
đồNg bộ hóa dữ liệu trên 2 database server dùng sql server 2008
 
Mô hình-osi
Mô hình-osiMô hình-osi
Mô hình-osi
 
Lập sơ đồ thiết kế mạng
Lập sơ đồ thiết kế mạngLập sơ đồ thiết kế mạng
Lập sơ đồ thiết kế mạng
 
Tự học mcsa 2012 mạng căn bản phần 1
Tự học mcsa 2012 mạng căn bản phần 1Tự học mcsa 2012 mạng căn bản phần 1
Tự học mcsa 2012 mạng căn bản phần 1
 
EIGRP
EIGRPEIGRP
EIGRP
 
Chuong 2 - CSDL phân tán
Chuong 2 - CSDL phân tánChuong 2 - CSDL phân tán
Chuong 2 - CSDL phân tán
 
Báo Cáo Cơ Sở Truyền Số Liệu
Báo Cáo Cơ Sở Truyền Số LiệuBáo Cáo Cơ Sở Truyền Số Liệu
Báo Cáo Cơ Sở Truyền Số Liệu
 
Beezo Share - Đồ Án Thực Tập Công Cụ Giám Sát Mạng Python
Beezo Share - Đồ Án Thực Tập Công Cụ Giám Sát Mạng PythonBeezo Share - Đồ Án Thực Tập Công Cụ Giám Sát Mạng Python
Beezo Share - Đồ Án Thực Tập Công Cụ Giám Sát Mạng Python
 

Similar to Chapter 8 fault tolerance full

Ngân hàng hệ thống phân tán PTIT
Ngân hàng hệ thống phân tán PTITNgân hàng hệ thống phân tán PTIT
Ngân hàng hệ thống phân tán PTIT
Popping Khiem - Funky Dance Crew PTIT
 
bctntlvn (50).pdf
bctntlvn (50).pdfbctntlvn (50).pdf
bctntlvn (50).pdfLuanvan84
 
chuong 1 - Tong quan ve Lap trinh mang.ppt
chuong 1 - Tong quan ve Lap trinh mang.pptchuong 1 - Tong quan ve Lap trinh mang.ppt
chuong 1 - Tong quan ve Lap trinh mang.ppt
khamgo1191
 
Baocaotuan1
Baocaotuan1Baocaotuan1
Baocaotuan1
miti2712
 
IT Leader Club Hanoi - ITIL - Quan ly su co CNTT- Tran Thang
IT Leader Club Hanoi - ITIL - Quan ly su co CNTT- Tran ThangIT Leader Club Hanoi - ITIL - Quan ly su co CNTT- Tran Thang
IT Leader Club Hanoi - ITIL - Quan ly su co CNTT- Tran ThangLe Cuong
 
Ứng Dụng Thuật Toán Lomet Trong Cung Cấp Tài Nguyên Phân Tán Cho Hệ Thống Máy...
Ứng Dụng Thuật Toán Lomet Trong Cung Cấp Tài Nguyên Phân Tán Cho Hệ Thống Máy...Ứng Dụng Thuật Toán Lomet Trong Cung Cấp Tài Nguyên Phân Tán Cho Hệ Thống Máy...
Ứng Dụng Thuật Toán Lomet Trong Cung Cấp Tài Nguyên Phân Tán Cho Hệ Thống Máy...
Dịch vụ viết thuê Luận Văn - ZALO 0932091562
 
Distributed Transaction in Microservice
Distributed Transaction in MicroserviceDistributed Transaction in Microservice
Distributed Transaction in Microservice
Nghia Minh
 
Quản lý sự cố trong “1C:Quản lý văn bản (ECM)”
Quản lý sự cố trong “1C:Quản lý văn bản (ECM)”Quản lý sự cố trong “1C:Quản lý văn bản (ECM)”
Quản lý sự cố trong “1C:Quản lý văn bản (ECM)”
Công ty cổ phần Hệ thống 1-V
 
Athena_BaoCao_TTTN_Huynh_Chanh_Thong_MailServer
Athena_BaoCao_TTTN_Huynh_Chanh_Thong_MailServerAthena_BaoCao_TTTN_Huynh_Chanh_Thong_MailServer
Athena_BaoCao_TTTN_Huynh_Chanh_Thong_MailServer
Huỳnh Thông
 
Athena_BaoCao_Huynh_Chanh_Thong_MailServer
Athena_BaoCao_Huynh_Chanh_Thong_MailServerAthena_BaoCao_Huynh_Chanh_Thong_MailServer
Athena_BaoCao_Huynh_Chanh_Thong_MailServerHuỳnh Thông
 
Athena_BaoCao_Huynh_Chanh_Thong_MailServer
Athena_BaoCao_Huynh_Chanh_Thong_MailServerAthena_BaoCao_Huynh_Chanh_Thong_MailServer
Athena_BaoCao_Huynh_Chanh_Thong_MailServer
Huỳnh Thông
 
Xây dựng mail server với postfix
Xây dựng mail server với postfixXây dựng mail server với postfix
Xây dựng mail server với postfix
Hiệp Mông Chí
 
1.+tai+lieu+thiet+ke
1.+tai+lieu+thiet+ke1.+tai+lieu+thiet+ke
1.+tai+lieu+thiet+keLinh Hoang
 
[Báo cáo] Bài tập lớn Cơ sở truyền số liệu
[Báo cáo] Bài tập lớn Cơ sở truyền số liệu[Báo cáo] Bài tập lớn Cơ sở truyền số liệu
[Báo cáo] Bài tập lớn Cơ sở truyền số liệu
The Nguyen Manh
 
Chuong5 dong bo_hoa
Chuong5 dong bo_hoaChuong5 dong bo_hoa
Chuong5 dong bo_hoa
Thuy Nguyen Thi Thu
 
NHÓM 1010_ĐỒ ÁN LẬP TRÌNH WEB .docx.pptx
NHÓM 1010_ĐỒ ÁN LẬP TRÌNH WEB .docx.pptxNHÓM 1010_ĐỒ ÁN LẬP TRÌNH WEB .docx.pptx
NHÓM 1010_ĐỒ ÁN LẬP TRÌNH WEB .docx.pptx
PhuongPhan826909
 
Báo Cáo Hàng Tuần
Báo Cáo Hàng TuầnBáo Cáo Hàng Tuần
Báo Cáo Hàng TuầnBin Hoo
 
Ceh lab book_tieng_viet_phan3
Ceh lab book_tieng_viet_phan3Ceh lab book_tieng_viet_phan3
Ceh lab book_tieng_viet_phan3eragon226
 

Similar to Chapter 8 fault tolerance full (20)

Ngân hàng hệ thống phân tán PTIT
Ngân hàng hệ thống phân tán PTITNgân hàng hệ thống phân tán PTIT
Ngân hàng hệ thống phân tán PTIT
 
bctntlvn (50).pdf
bctntlvn (50).pdfbctntlvn (50).pdf
bctntlvn (50).pdf
 
chuong 1 - Tong quan ve Lap trinh mang.ppt
chuong 1 - Tong quan ve Lap trinh mang.pptchuong 1 - Tong quan ve Lap trinh mang.ppt
chuong 1 - Tong quan ve Lap trinh mang.ppt
 
Baocaotuan1
Baocaotuan1Baocaotuan1
Baocaotuan1
 
IT Leader Club Hanoi - ITIL - Quan ly su co CNTT- Tran Thang
IT Leader Club Hanoi - ITIL - Quan ly su co CNTT- Tran ThangIT Leader Club Hanoi - ITIL - Quan ly su co CNTT- Tran Thang
IT Leader Club Hanoi - ITIL - Quan ly su co CNTT- Tran Thang
 
Ứng Dụng Thuật Toán Lomet Trong Cung Cấp Tài Nguyên Phân Tán Cho Hệ Thống Máy...
Ứng Dụng Thuật Toán Lomet Trong Cung Cấp Tài Nguyên Phân Tán Cho Hệ Thống Máy...Ứng Dụng Thuật Toán Lomet Trong Cung Cấp Tài Nguyên Phân Tán Cho Hệ Thống Máy...
Ứng Dụng Thuật Toán Lomet Trong Cung Cấp Tài Nguyên Phân Tán Cho Hệ Thống Máy...
 
Distributed Transaction in Microservice
Distributed Transaction in MicroserviceDistributed Transaction in Microservice
Distributed Transaction in Microservice
 
Quản lý sự cố trong “1C:Quản lý văn bản (ECM)”
Quản lý sự cố trong “1C:Quản lý văn bản (ECM)”Quản lý sự cố trong “1C:Quản lý văn bản (ECM)”
Quản lý sự cố trong “1C:Quản lý văn bản (ECM)”
 
Quan li men
Quan li menQuan li men
Quan li men
 
Athena_BaoCao_TTTN_Huynh_Chanh_Thong_MailServer
Athena_BaoCao_TTTN_Huynh_Chanh_Thong_MailServerAthena_BaoCao_TTTN_Huynh_Chanh_Thong_MailServer
Athena_BaoCao_TTTN_Huynh_Chanh_Thong_MailServer
 
Athena_BaoCao_Huynh_Chanh_Thong_MailServer
Athena_BaoCao_Huynh_Chanh_Thong_MailServerAthena_BaoCao_Huynh_Chanh_Thong_MailServer
Athena_BaoCao_Huynh_Chanh_Thong_MailServer
 
Athena_BaoCao_Huynh_Chanh_Thong_MailServer
Athena_BaoCao_Huynh_Chanh_Thong_MailServerAthena_BaoCao_Huynh_Chanh_Thong_MailServer
Athena_BaoCao_Huynh_Chanh_Thong_MailServer
 
Xây dựng mail server với postfix
Xây dựng mail server với postfixXây dựng mail server với postfix
Xây dựng mail server với postfix
 
1.+tai+lieu+thiet+ke
1.+tai+lieu+thiet+ke1.+tai+lieu+thiet+ke
1.+tai+lieu+thiet+ke
 
[Báo cáo] Bài tập lớn Cơ sở truyền số liệu
[Báo cáo] Bài tập lớn Cơ sở truyền số liệu[Báo cáo] Bài tập lớn Cơ sở truyền số liệu
[Báo cáo] Bài tập lớn Cơ sở truyền số liệu
 
Chuong5 dong bo_hoa
Chuong5 dong bo_hoaChuong5 dong bo_hoa
Chuong5 dong bo_hoa
 
NHÓM 1010_ĐỒ ÁN LẬP TRÌNH WEB .docx.pptx
NHÓM 1010_ĐỒ ÁN LẬP TRÌNH WEB .docx.pptxNHÓM 1010_ĐỒ ÁN LẬP TRÌNH WEB .docx.pptx
NHÓM 1010_ĐỒ ÁN LẬP TRÌNH WEB .docx.pptx
 
Báo Cáo Hàng Tuần
Báo Cáo Hàng TuầnBáo Cáo Hàng Tuần
Báo Cáo Hàng Tuần
 
Ceh lab book_tieng_viet_phan3
Ceh lab book_tieng_viet_phan3Ceh lab book_tieng_viet_phan3
Ceh lab book_tieng_viet_phan3
 
Ceh phan3
Ceh phan3Ceh phan3
Ceh phan3
 

Chapter 8 fault tolerance full

  • 1. 1 Fault tolerance - làm rõ đối với Web-Based Systems BÁO CÁO MÔN HỌC Lý thuyết hệ phân tán Giảng viên: TS. Hoa Tất Thắng Học viên: Phạm Công Hòa Nguyễn Hữu An Lê Thị Thu Thủy Trần Thị Huyền Phạm Thị Ngà-K24
  • 2. Báo cáo môn học Lý thuyết hệ phân tán 2 Nội dung báo cáo I. Một số khái niệm cơ bản II. Các phương pháp che giấu lỗi III. Ủy thác phân tán IV. Phục hồi V. Làm rõ đối với Web-Based Systems
  • 3. Báo cáo môn học Lý thuyết hệ phân tán 3 I. Một số khái niệm cơ bản Một phần quan trọng trong thiết kế của hệ phân tán đó là xây dựng hệ thống sao cho nó có thể tự động khôi phục các thành phần lỗi mà không ảnh hưởng tới hiệu năng hoạt động của toàn bộ hệ thống. Đặc biệt, bất cứ khi nào khi có lỗi xảy ra thì hệ thống vẫn tiếp tục hoạt động trong khi quá trình sửa chữa vẫn đang được tiến hành, có nghĩa là phải có khả năng chịu đựng lỗi và tiếp tục hoạt động trong một chừng mực nào đó.
  • 4. Báo cáo môn học Lý thuyết hệ phân tán 4 I. Một số khái niệm cơ bản Tính chịu lỗi liên quan nhiều tới khái niệm có thể tin cậy được (dependable system). Thuật ngữ "có thể tin cậy được" bao gồm các thuộc tính sau: 1. Tính sẵn sàng (Availability) 2. Tính tin cậy (Reliability) 3. Tính an toàn (Safety) 4. Khả năng duy trì (Maintainability)
  • 5. Báo cáo môn học Lý thuyết hệ phân tán 5 I. Một số khái niệm cơ bản Tính chịu lỗi còn liên quan tới khái niệm điều khiển lỗi (Fault control). Điều khiển lỗi bao gồm: ngăn ngừa lỗi, loại bỏ lỗi và dự báo lỗi với mục tiêu xây dựng thành công khả năng chịu đựng lỗi cho hệ thống.
  • 6. Báo cáo môn học Lý thuyết hệ phân tán6 I. Một số khái niệm cơ bản Phân loại lỗi: 1. Lỗi nhất thời 2. Lỗi liên tiếp 3. Lỗi lâu dài
  • 7. Báo cáo môn học Lý thuyết hệ phân tán7 I. Một số khái niệm cơ bản Các mô hình lỗi: 1. Lỗi sụp đổ (Crash failure) 2. Lỗi bỏ sót (Omission failure) 3. Lỗi thời gian (Time failure) 4. Lỗi đáp ứng (Respond failure) 5. Lỗi bất kỳ (Arbitary failure)
  • 8. Báo cáo môn học Lý thuyết hệ phân tán8 II. Các phương pháp che giấu lỗi 1. Che giấu lỗi bằng dư thừa: 2. Khôi phục tiến trình 3. Che giấu lỗi trong truyền thông client/server đáng tin cậy 4. Che giấu lỗi trong truyền thông nhóm đáng tin cậy
  • 9. Báo cáo môn học Lý thuyết hệ phân tán 9 1. Che giấu lỗi bằng dư thừa: Chia làm 3 loại: - Dư thừa thông tin - Dư thừa thời gian - Dư thừa vật lý
  • 10. Báo cáo môn học Lý thuyết hệ phân tán 10 2. Khôi phục tiến trình: 2.2. Thiết kế: - Tổ chức các tiến trình giống nhau vào cùng một nhóm. - Khi có một bản tin được gửi đến nhóm, mọi thành viên trong nhóm sẽ nhận được bản tin đó. Nếu một tiến trình trong nhóm lỗi, các tiến trình khác có thể thay thế và đưa ra kết quả đúng cho cả nhóm. 2.1. Mục đích: - Chống lại các tiến trình bị lỗi bằng cách sao chép và phân tán việc tính toán trong một nhóm
  • 11. Báo cáo môn học Lý thuyết hệ phân tán 11 2. Khôi phục tiến trình: 2.3. Phân loại nhóm: - Nhóm ngang hàng: tất cả các tiến trình là ngang bằng nhau không có cái nào là boss và mọi quyết định đều được thực hiện theo tập thể. + Ưu điểm: Nếu một tiến trình bị lỗi, cả nhóm chỉ đơn giản bị thu hẹp lại, nhưng vẫn có thể tiếp tục hoạt động. + Nhược điểm: Thời gian trễ lớn, tốn tài nguyên.
  • 12. Báo cáo môn học Lý thuyết hệ phân tán12 2. Khôi phục tiến trình: - Nhóm phân cấp: Trong mỗi nhóm sẽ có một tiến trình giữ vai trò quản lý gọi là coordinator, còn các tiến trình khác đóng vai trò thực hiện (worker). Khi có một yêu cầu chuyển đến, yêu cầu này sẽ được gửi tới coordinator. Coordinator sẽ quyết định worker nào thích hợp nhất để thực hiện nó và sẽ chuyển đến cho worker đó. + Ưu điểm: Không bị trễ như nhóm ngang hàng. + Nhược điểm: Khi coordinator gặp sự cố thì toàn bộ hoạt động của nhóm sẽ bị dừng lại
  • 13. Báo cáo môn học Lý thuyết hệ phân tán13 2. Khôi phục tiến trình: 2.4. Để tăng tính chịu lỗi là cần có bao nhiêu bản sao của tiến trình thì đủ? - Một hệ thống được gọi là k fault tolerance nếu nó có thể hoạt động đúng với k phần tử (tiến trình) bị lỗi. Nếu có k tiến trình bị lỗi thì cần có k+1 tiến trình khác không bị lỗi để quá trình lựa chọn kết quả vẫn diễn ra chính xác. - Nếu một client có thể đưa ra quyết định của nó theo cơ chế bỏ phiếu, nó vẫn có thể đưa ra quyết định đúng nếu k trong số 2k+1 tiến trình hoạt động sai (k+1 tiến trình còn lại vẫn hoạt động chính xác)
  • 14. Báo cáo môn học Lý thuyết hệ phân tán 14 3. Che giấu lỗi trong truyền thông client/server đáng tin cậy: Việc che giấu lỗi trong hệ phân tán tập trung vào trường hợp có tiến trình bị lỗi. Nhưng ta cũng phải xét đến trường hợp các giao tiếp bị lỗi. Thông thường, một kênh giao tiếp có thể gặp các lỗi: lỗi sụp đổ, lỗi bỏ sót, lỗi thời gian và lỗi tùy ý. Việc xây dựng một kênh truyền thông tập trung vào che giấu lỗi sụp đổ và lỗi tùy ý.
  • 15. Báo cáo môn học Lý thuyết hệ phân tán15 3. Che giấu lỗi trong truyền thông client/server đáng tin cậy: 3.1. Truyền thông điểm - điểm: Trong hệ phân tán, truyền thông điểm - điểm tin cậy được thiết lập bằng cách sử dụng các giao thức truyền tin cậy như TCP. TCP che giấu được lỗi bỏ sót bằng cách dùng cơ chế thông báo ACK/NACK và việc thực hiện truyền lại. TCP không che giấu được lỗi sụp đổ. Khi xảy ra lỗi sụp đổ thì kết nối TCP sẽ bị hủy. Chỉ có một cách để che giấu lỗi sụp đổ là hệ thống phải có khả năng tự động tạo một kết nối mới.
  • 16. Báo cáo môn học Lý thuyết hệ phân tán16 3. Che giấu lỗi trong truyền thông client/server đáng tin cậy: 3.2. Kết nối RPC: * 5 lớp lỗi có thể xảy ra trong hệ thống RPC - Máy khách không thể định vị được máy chủ - Tin nhắn yêu cầu từ máy khách đến máy chủ bị mất - Máy chủ bị treo sau khi nhận yêu cầu - Tin nhắn phản hồi từ máy chủ đến máy khách bị mất - Máy khách bị treo sau khi gửi yêu cầu:
  • 17. Báo cáo môn học Lý thuyết hệ phân tán17 3. Che giấu lỗi trong truyền thông client/server đáng tin cậy: - Máy khách không thể định vị được máy chủ: Lỗi này xảy ra khi máy khách không thể xác định vị trị của một máy chủ thích hợp. Chẳng hạn như tất cả các máy chủ có thể bị down. Cách khắc phục: gửi báo cáo cho máy khách "Cannot locate server"
  • 18. Báo cáo môn học Lý thuyết hệ phân tán18 3. Che giấu lỗi trong truyền thông client/server đáng tin cậy: - Tin nhắn yêu cầu từ máy khách đến máy chủ bị mất: Đây là loại lỗi dễ xử lý nhất: hệ điều hành hay client stub kích hoạt một bộ đếm thời gian (timer) khi gửi đi một yêu cầu. Khi timer đã trở về giá trị 0 mà không nhận được bản tin phản hồi từ server thì nó sẽ gửi lại yêu cầu đó. Nếu bên client nhận thấy có quá nhiều yêu cầu phải gửi lại thì nó sẽ xác nhận rằng server không hoạt động và sẽ quay lại thành kiểu lỗi "không định vị được server"
  • 19. Báo cáo môn học Lý thuyết hệ phân tán19 3. Che giấu lỗi trong truyền thông client/server đáng tin cậy: - Máy chủ bị treo sau khi nhận yêu cầu: Lỗi này lại phân chia thành hai loại: + Loại 1: Sau khi thực hiện xong yêu cầu nhận được thì server bị treo trước khi nó có thể gửi phản hồi. Phương pháp khắc phục: sau đó server sẽ gửi thông báo hỏng cho client + Loại 2: Vừa nhận được yêu cầu từ client, server đã bị lỗi ngay. Phương pháp khắc phục: client chỉ cần truyền lại yêu cầu cho. Vấn đề đặt ra lúc này là client không thể nói cho server biết yêu cầu nào là yêu cầu được gửi lại.
  • 20. Báo cáo môn học Lý thuyết hệ phân tán20 3. Che giấu lỗi trong truyền thông client/server đáng tin cậy: Khi gặp kiểu lỗi này, ở phía máy server sẽ thực hiện theo 3 kỹ thuật sau: + Kỹ thuật 1: chờ cho đến khi server khởi động lại (hoặc xây dựng một sever mới) và cố gắng vận hành lại một lần nữa. Kỹ thuật này đảm bảo RPC được thực hiện ít nhất một lần. + Kỹ thuật 2: ngừng ngay lập tức và gửi phản hồi thông báo lỗi cho máy khách. Với kỹ thuật này thì RPC thực hiện nhiều lần nhất. + Kỹ thuật 3: Khi một server treo, máy trạm không nhận được sự hỗ trợ và cũng không được báo trước điều gì xảy ra. RPC có thể được thực hiện rất nhiều lần hoặc không một lần nào.
  • 21. Báo cáo môn học Lý thuyết hệ phân tán21 3. Che giấu lỗi trong truyền thông client/server đáng tin cậy: Còn máy khách thì có thể thực hiện theo 4 cách sau: + Một là: Client không thực hiện gửi lại các yêu cầu, có nguy cơ rằng yêu cầu đó sẽ không được thực hiện. + Hai là: Client liên tục gửi lại yêu cầu: có thể dẫn tới trường hợp một yêu cầu được thực hiện nhiều lần. + Ba là: Client chỉ gửi lại yêu cầu nào đó khi không nhận được bản tin ACK phản hồi từ server thông báo đã nhận thành công. Trường hợp này, server dùng bộ đếm thời gian. Sau một khoảng thời gian xác định trước mà không nhận được ACK thì client sẽ gửi lại yêu cầu đó. + Bốn là: Client gửi lại yêu cầu nếu nhận được phản hồi đối với yêu cầu thực hiện.
  • 22. Báo cáo môn học Lý thuyết hệ phân tán22 3. Che giấu lỗi trong truyền thông client/server đáng tin cậy: - Tin nhắn phản hồi từ máy chủ đến máy khách bị mất. Cách khắc phục: máy trạm có thể đánh số thứ tự cho mỗi yêu cầu. Bằng cách này, máy chủ theo dõi các yêu cầu đã được máy trạm gửi, máy chủ có thể phân biệt yêu cầu ban đầu với yêu cầu gửi lại và có thể từ chối thực hiện bất cứ yêu cầu gửi lại nào. Tuy nhiên, máy chủ vẫn phải gửi một thông báo cho máy trạm. Ngoài ra trong tiêu đề tin nhắn có thể sử dụng một bit giúp nhận biết đâu là các yêu cầu được gửi lại
  • 23. Báo cáo môn học Lý thuyết hệ phân tán23 3. Che giấu lỗi trong truyền thông client/server đáng tin cậy: - Máy khách bị treo sau khi gửi yêu cầu: Client gửi yêu cầu tới server rồi bị lỗi trước khi nhận được trả lời gửi về từ server. Công việc mà server thực hiện nhưng không có đích nào đợi để nhận kết quả được gọi là một "orphan". Các orphan có thể gây ra hàng loạt các vấn đề cản trở hoạt động bình thường của hệ thống. Ít nhất là gây lãng phí chu kỳ CPU. Nó cũng có thể khóa các tập tin hoặc các nguồn tài nguyên có giá trị, gây ra lỗi...
  • 24. Báo cáo môn học Lý thuyết hệ phân tán24 3. Che giấu lỗi trong truyền thông client/server đáng tin cậy: Giải pháp: + Một là: trước khi gửi một yêu cầu nào đó, client stub sẽ tạo ra một bản ghi xác định công việc cần thực hiện này và lưu lại. Như thế, khi được phục hồi sau lỗi, client sẽ lấy lại bản ghi đó và việc thực hiện các orphan đang diễn ra sẽ bị dừng lại. Nhược điểm của phương pháp này là chi phí để trang bị đĩa để lưu lại mỗi bản hi cho mỗi RPC. Orphan có thể tự mình thực hiện RPC tạo ra một grandorphan nên rất khó xác định. + Hai là: chia thời gian hoạt động liên tục của client thành các số liên tục gọi là các thời kỳ. Mỗi client khôi phục trở lại thì số chỉ thời kỳ lại tăng lên một đơn vị, lúc này client sẽ gửi thông báo đến tất cả các máy khác thông báo thời kỳ mới của mình. Khi nhận được thông báo này thì các orphan sẽ dừng lại.
  • 25. Báo cáo môn học Lý thuyết hệ phân tán25 3. Che giấu lỗi trong truyền thông client/server đáng tin cậy: Giải pháp: + Ba là: khi nhận được bản tin thông báo thời kỳ mới, mỗi máy sẽ kiểm tra xem mình có đang thực hiện một tính toán từ xa nào đó không. Nếu có, máy sẽ cố xác định xem client nào đã gửi yêu cầu này. Nếu không xác định được thì quá trình tính toán này sẽ bị hủy bỏ. + Bốn là: quy định mỗi RPC chỉ có một khoảng thời gian xác định T để thực hiện, sau khi gặp lỗi, client sẽ phải đợi thêm một khoảng thời gian T trước khi khởi động lại để nhận các orphan. Vấn đề đặt ra là phải lựa chọn giá trị T như thế nào cho hơp lý
  • 26. Báo cáo môn học Lý thuyết hệ phân tán26 Các phương pháp che giấu lỗi 4. Che giấu lỗi trong truyền thông nhóm tin cậy (dùng multicasting) 4.1. Multicasting tin cậy cơ bản 4.2. Multicasting tin cậy mở rộng 4.3. Multicasting nguyên tử
  • 27. Báo cáo môn học Lý thuyết hệ phân tán27 4. Che giấu lỗi trong truyền thông nhóm tin cậy (dùng multicasting) 4.1. Multicasting tin cậy cơ bản (Basic Reliable - multicast ing). Sau khi các tiến trình đã được phân nhóm thì một tiến trình khác muốn thực hiện multicast tức là sẽ gửi bản tin tới tất cả các tiến trình trong nhóm đó. Multicast tin cậy là phải có cơ chế để đảm bảo bản tin đó đến được tất cả các thành viên trong nhóm. Khi xảy ra lỗi thì sẽ áp dụng phương pháp sau để che giấu lỗi. Phương pháp: đánh số các bản tin cần gửi. Các bản tin được lưu tại một buffer của bên gửi và vẫn lưu ở đó cho đến khi nhận được bản tin ACK báo về từ bên nhận. Nếu bên nhận xác định là bị mất một bản tin nào đó thì nó sẽ gửi về một bản tin NACK để yêu cầu gửi lại. Và thông thường, bên gửi sẽ tự động gửi lại bản tin sau trong khoảng thời gian xác định nào đó mà nó không nhận được bản tin ACK báo về.
  • 28. Báo cáo môn học Lý thuyết hệ phân tán28 4. Che giấu lỗi trong truyền thông nhóm tin cậy (dùng multicasting) 4.2. Multicast tin cậy mở rộng. Để tăng hiệu quả công vệc khi làm việc với một số lượng lớn các tiến trình thì đưa ra mô hình multicast tin cậy mở rộng. Với mô hình này sẽ không gửi trả về bản tin ACK báo nhận thành công mà chỉ gửi trả về cho tiến trình nhận bản tin NACK thông báo khi có lỗi truyền.Việc này được thực hiện bằng giao thức SRM (Scalable Reliable Multicasting).
  • 29. Báo cáo môn học Lý thuyết hệ phân tán29 4. Che giấu lỗi trong truyền thông nhóm tin cậy (dùng multicasting) 4.3. Multicast nguyên tử (Atomic multicast ). Tư tưởng chính: khi một tiến trình muốn gửi bản tin cho một tập các tiến trình khác theo kiểu multicast, nó sẽ không gửi bản tin tới tất cả các tiến trình của nhóm chứa các tiến trình nhận mà chỉ gửi đến một nhóm nhỏ các tiến trình cần nhận bản tin đó.
  • 30. Báo cáo môn học Lý thuyết hệ phân tán30 III. Ủy thác phân tán (Distributed commit) 1. Khái niệm ủy thác phân tán 2. Ủy thác hai pha 3. Ủy thác 3 pha
  • 31. Báo cáo môn học Lý thuyết hệ phân tán31 III. Ủy thác phân tán (Distributed commit) 1. Khái niệm ủy thác phân tán: Có nhiều người dùng truy cập cơ sở dữ liệu phân tán thông qua các ứng dụng. Vì lý do này chức năng quản lý giao dịch ( transaction management ) được đưa ra. 1 giao dịch là 1 quá trình trao đổi giữa máy thành viên và máy chủ, giao dịch hoàn tất khi quá trình này hoàn tất. Chức năng quản lý giao dịch nhằm duy trì tính nhất quán dữ liệu, tránh xung đột dữ liệu bằng cách chia dữ liệu thành các đơn vị giao dịch sao cho cơ sở dữ liệu có thể điều khiển được việc cập nhật từ các người dùng khác nhau. Quản lý giao dịch bao gồm đặc điểm: Automicity ( nguyên tố ), Consistency (Nhất quán), Isolation (Cô lập), Durability (Bền vững)
  • 32. Báo cáo môn học Lý thuyết hệ phân tán32 III. Ủy thác phân tán (Distributed commit) - Distributed commit ( ủy thác phân tán ) là các giao thức giúp thực hiện truy cập tài nguyên (dữ liệu) – thực hiện giao dịch như trên mà vẫn đảm bảo CSDL của ta có đầy đủ các đặc điểm đã nêu. - Ủy thác ( commit ) : là việc khi kết thúc 1 công việc xử lý cơ sở dữ liệu, cập nhật cơ sở dữ liệu xong kết quả được lưu trữ.
  • 33. Báo cáo môn học Lý thuyết hệ phân tán33 III. Ủy thác phân tán (Distributed commit) 2. Ủy thác hai pha: * Là cơ chế đảm bảo tính toàn vẹn của cơ sở dữ liệu phân tán. * Gồm 2 pha khác nhau : - Pha 1 : + Máy chủ gửi lệnh cập nhật đến mỗi site. Mỗi site tiến hành cập nhật tạm thời cơ sở dữ liệu. + Các site nhận được lệnh cập nhật sẽ trả lời lại máy chủ lệnh VOTE_COMMIT nếu nó ở trạng thái sẵn sàng (ready ) cập nhật hay lệnh VOTE_ABORT nếu nó đang có sự cố mà muốn hủy bỏ (abort ) bất kỳ khi nào nhận được lệnh ủy thác từ máy chủ. - Pha 2 : Sau khi đã chắc chắn tất cả các site đã sẵn sàng cho việc cập nhật Máy chủ chuyển lệnh GLOBAL_COMMIT cho các site một cách tuần tự. Các thành viên tiến hành cập nhật cơ sở dữ liệu một cách tuần tự.
  • 34. Báo cáo môn học Lý thuyết hệ phân tán34 III. Ủy thác phân tán (Distributed commit) 3. Ủy thác 3 pha Một nhược điểm của ủy thác 2 pha là tại pha thứ nhất, máy chủ phải nhận được phản hồi của tất cả các site con ( xem tình trạng của nó là sẵn sàng Commit hay Abort ) thì mới quyết định có thực hiện cam kết hay ko ở pha thứ 2. Tuy nhiên trên thực tế có những trường hợp máy site gặp sự cố bất thường trước khi nó kịp gửi phản hồi cho máy chủ, trong TH này sẽ khiến toàn bộ hệ thống bị “down” do máy chủ không biết nên quyết định thế nào.
  • 35. Báo cáo môn học Lý thuyết hệ phân tán35 III. Ủy thác phân tán (Distributed commit) 3. Ủy thác 3 pha Ủy thác 3 pha khắc phục nhược điểm này bằng cách có thêm 1 bước đệm goi là PRECOMMIT. Trong quá trình đợi để nhận phản hồi từ các site con, chỉ cần có 1 site gửi lại VOTE_ABORT ngay lập tức máy chủ sẽ quyết định ABORT (hủy bỏ) quá trình cam kết ( khác với 2 pha là phải đợi tất cả phản hồi đến rồi mới quyết định ). Trường hợp các site lần lượt gửi về VOTE_COMMIT, máy chủ sẽ để hệ thống trạng thái PRECOMMIT. Và sau khi tất cả các site đều đã sẵn sàng thì GLOBAL_COMMIT mới được máy chủ gửi đi. Ngoài ra các khâu khác đều như 2 pha .
  • 36. Báo cáo môn học Lý thuyết hệ phân tán 36 IV. Phục hồi (Recovery) Phục hồi lỗi ( recovery error ) là một trong những cách hiệu quả của việc giúp tăng khả năng chịu lỗi (fault tolerance ) của hệ thống phân tán. Có 2 dạng phục hồi lỗi chính : - Backward recovery : tư tưởng của nó là đưa trạng thái của hệ thống ở thời điểm hiện tại về trạng thái tại thời điểm trước khi lỗi xảy ra. Để là được điều đó, buộc ta cần thiết phải ghi lại trạng thái của hệ thống ở các thời điểm liên tục ( time to time ). Mỗi thời điểm lưu trữ lại đó người ta gọi là “checkpoint”. - Forward recovery: khi hệ thống rơi vào trạng thái lỗi, thay vì đưa hệ thống trở lại trạng thái trước khi lỗi, cách này lại đưa hệ thống nhảy sang một trạng thái mới mà ở đó hệ thống lại hoạt động bình thường. Vấn đề chính trong phương pháp này là phải dự đoán trước được khi nào lỗi có thể xảy ra. Chỉ có vậy nó mới sẵn sàng chuyển hệ thống sang trạng thái mới.
  • 37. Báo cáo môn học Lý thuyết hệ phân tán37 IV. Phục hồi (Recovery) - Trong hệ phân tán thường áp dụng backward recovery. - Nhược điểm của backward: + Việc phục hồi lại hệ thống ở trạng thái trước đôi khi rất phức tạp. + Với phương pháp backward đưa ra không có sự đảm bảo rằng sau khi trở lại trạng thái trước lỗi, lỗi lại không tiếp tục xảy ra dễ bị rơi vào tình trạng loop recovery. + Không phải lúc nào cũng có những trạng thái trước khi lỗi để ta quay lại.
  • 38. Báo cáo môn học Lý thuyết hệ phân tán38 8.7. Làm rõ đối với Web-Based Systems 1. Kiến trúc chung 1.1. Mô hình truyền thống - Client gửi bản tin HTTP yêu cầu tới Webserver - Webserver tồn tại tiến trình truy nhập CSDL - Server xử lí và trả lại thông tin cho Client
  • 39. Báo cáo môn học Lý thuyết hệ phân tán39 1.2.Mô hình truyền thống với kiến trúc đa tầng Một trong những cải tiến so với kiến trúc cơ bản là việc sử dụng các CGL (Common Gatew Interface) nhằm cung cấp sự tương tác cho người dùng. Thông qua các Interface này, Webserver có thể chạy những chương trình với dữ liệu đầu vào được người dung cung cấp
  • 40. Báo cáo môn học Lý thuyết hệ phân tán40 1.3. Mô hình cơ chế hoạt động dịch vụ Web Các dịch vụ của máy chủ được công bố ra phía UDDL.Khi Client cần đến dịch vụ, nó tìm kiếm dịch vụ qua các mô tả trả về qua ngôn ngữ WSDL. Client thực hiện kết nối đến máy chủ qua giao thức SOAP và gửi dịch vụ. Từ đây quá trình trao đổi diễn ra bình thường thông qua giao thức SOAP.
  • 41. Báo cáo môn học Lý thuyết hệ phân tán41 2. Các tiến trình 2.1. Tiến trình phía Client
  • 42. Báo cáo môn học Lý thuyết hệ phân tán42 Rendering Engine: Engine này chịu trách nhiệm hiển thị các văn bản HTML hay XML lên màn hình. Nó chứa các thành phần có khả năng: Tạo liên kết, giao tiếp trên mạng; xử lý ngôn ngữ HTML, XML; phiên dịch các script trong văn bản Browser Engine: Engine là trung tâm của trình duyệt, cung cấp cho người dung cơ chế xem văn bản, như chia nó thành các phần, lựa chọn các phần của văn bản, vào một liên kết.v..v.. User Interface: Engine cung cấp giao diện cho người dung. Ngoài ra, do trình duyệt không phụ thuộc nền tảng nó chạy, User Interface cùng với Brower Engine chạy trên các thư viện chuẩn được thể hiện trên hình. 2.1. Tiến trình phía Client (t)
  • 43. Báo cáo môn học Lý thuyết hệ phân tán43 Các máy chủ nội bộ tổ chức nhiều hơn hoặc ít hơn theo các bước cần thiết để xử lý một yêu cầu HTTP 2.2.Tiến trình phía máy chủ Web
  • 44. Báo cáo môn học Lý thuyết hệ phân tán44 2.3.Cơ chế chạy Clustering các máy chủ Hệ thống sẽ có một máy chủ Front – End nhận, chuyển và trả lời các yêu cầu tới các máy chủ Web. Cơ chế gửi có thể là tuần tự, cũng có thể có cơ chế dõi gửi yêu cầu đến máy chủ đang chịu tải ít hơn.
  • 45. Báo cáo môn học Lý thuyết hệ phân tán45 2.4. Cơ chế chạy Clustering các máy chủ Nội dung nhận thức được phân phối có thể được tốt hơn rất nhiều
  • 46. Báo cáo môn học Lý thuyết hệ phân tán46 3. Các cơ chế 3.1. Cơ chế truyền thông
  • 47. Báo cáo môn học Lý thuyết hệ phân tán47 3.2.Cơ chế định danh URI
  • 48. Báo cáo môn học Lý thuyết hệ phân tán48 Định danh với các giao thức, các định dạng khác nhau:
  • 49. Báo cáo môn học Lý thuyết hệ phân tán49 3.3.Cơ chế đồng bộ Quá trình đồng bộ được giải quyết thông qua một giao thức riêng, đó là WebDAV (Web Distributed Authoring and Versioning). WebDAV cung cấp cơ chế khóa tài liệu khi có truy cập, cơ chế tạo các phiên bản, xóa, sao…. - Nhằm đồng bộ hóa, WebDAV sử dụng hai cơ chế khóa: Cơ chế khóa khi một Client thực hiện chỉnh sửa tài liệu, lúc này các Client khác sẽ bị khoá chức năng chỉnh sửa (quyền write). Cơ chế khóa cho một nhóm người sử dụng. Cơ chế này cho phép một nhóm người dùng chỉnh sửa các phần khác nhau của tài liệu. Tuy nhiên người dùng phải quan tâm tới các vấn đề về xung đột khi chỉnh sửa.
  • 50. Báo cáo môn học Lý thuyết hệ phân tán50 3.3.Cơ chế đồng bộ - Khi Client cần chỉnh sửa tài liệu, Client phải truy cập tới Server và yêu cầu quyền lấy khóa (Key token). Sauk hi các dữ liệu được chỉnh sửa, Client gửi về Server qua bản tin HTTP Post, cùng với chứng minh quyền sửa dữ liệu (Key token). Ở đây có một vấn đề đặt ra là khi Client không trả lại quyền chỉnh sửa do bị sự cố. Lúc này, Server cần có một cơ chế lấy lại khóa.
  • 51. Báo cáo môn học Lý thuyết hệ phân tán51 3.4. Cơ chế nhất quán và nhân bản Nhằm đảm bảo hiệu năng và tính sẵn sang của hệ thống qua cơ chế Caching tức là lưu lại các thông tin được yêu cầu nhiều nhằm trả lời Client ngay lập tức mà không cần thực hiện tiến trình lấy dữ liệu.
  • 52. Báo cáo môn học Lý thuyết hệ phân tán52 3.4.1. Cơ chế Proxy Caching
  • 53. Báo cáo môn học Lý thuyết hệ phân tán53 3.4.2. Nhân bản hệ thống Web Hosting
  • 54. Báo cáo môn học Lý thuyết hệ phân tán54 3.4.2. Nhân bản hệ thống Web Hosting (t)
  • 55. Báo cáo môn học Lý thuyết hệ phân tán55 4. Khả năng chịu lỗi - Khả năng chịu lỗi của hệ phân tán dựa trên nền Web cũng chủ yếu dựa vào các cơ chế Caching và Nhân bản - Giao thức chống lỗi bản thân là tiến trình thu thập và xử lý thông tin của các tiến trình khác. - Chỉ khi thành phần thu thập thông tin nhận được tất cả các thông báo từ các thành phần nhân bản, nó mới được đưa ra xử lý phù hợp.
  • 56. Báo cáo môn học Lý thuyết hệ phân tán56 5. Tính an toàn bảo mật hệ thống
  • 57. Báo cáo môn học Lý thuyết hệ phân tán57 - Giai đoạn 1: Client thông báo tới Server các thuật toán mã hóa và các chuẩn nén mà Client có thể hỗ trợ. Server lựa chọn thuật toán và chuẩn nén cho kết nối đó và gửi trả lời thông tin cho phía Client. - Giai đoạn 2: Là giai đoạn xác thực giữa Client và Server. Server xác thực (chứng minh mình là Server) thông qua một chứng thực. Nếu như Server yêu cầu Client phải xác thực thì Client sẽ phải xác thực với Server. Việc thiết lập một kết nối bảo mật bao gồm 2 giai đoạn:
  • 58. 58

Editor's Notes

  1. i