Một sự hoạt động gắn bó của các chương trình cung cấp phân tán quản lý trêncùng một tập hợp các tài nguyên chỉ đạt được nếu tuân thủ các qui tắc sau: 1 Các bộ cung cấp bắt buộc p
Trang 1ĐẠI HỌC ĐÀ NẴNG
TIỂU LUẬN LẬP TRÌNH MẠNG
Đề tài: MÔ PHỎNG QUÁ TRÌNH PHÁT NHẬN THÔNG ĐIỆP TRONG
HỆ PHÂN TÁN
Giáo viên hướng dẫn : PGS.TS LÊ VĂN SƠN
Học viên : ĐẶNG NGỌC THẮNG
Chuyên ngành : Khoa Học Máy Tính
Đà Nẵng - Năm 2012
Trang 2LỜI MỞ ĐẦU
Thế kỷ 21 được đánh giá là thế kỷ của thời đại Công nghệ thông tin Các thành tựu của ngành khoa học trí tuệ này đã góp phần quan trọng vào việc thay đổi bộ mặt thế giới cả về bề mặt lẫn chiều sâu, nó đưa con người trên khắp thề giới tìm được tiếng nói chung, đó là tiếng nói của Công nghệ thông tin Và việc ứng dụng các thành tựu của nền Công nghệ hiện đại này trở thành vấn đề chủ chốt quyết định sự thành bại của các thành phần tham gia vào lĩnh vực hoạt động trên thế giới từ kinh tế, văn hoá, chính trị đến quân sự , đó chính là việc các thành phần này sẽ sử dụng nền Công nghệ này như thế nào và xử lí chúng ra sao.
Ngày nay vấn đề đặt ra cho các nhà tin học là làm sao có thể khai thác một cách
có hiệu quả nguồn thông tin của nhân loại Mặc khác, các nguồn thông tin lại nằm rải rác trên các Server ở khắp nơi và việc liên hệ trao đổi thông điệp được giữa các server đều thông qua đường truyền
Trong giới hạn của một báo cáo tiểu luận kết thúc môn học, nội dung của bài báo cáo
“Hãy viết chương trình mô phỏng quá trình phát và nhận thông điệp trong hệ phân tán”, tôi xin trình bày phần nội dung sau:
Phần lí thuyết: nhằm đưa ra cơ lý thuyết cơ bản về hệ phân tán và lập trình phân tán trên nền ngôn ngữ Java.
Phần bài tập:
- Xây dựng hệ thống 3 server có khả năng phát nhận thông điệp.
- Sắp xếp trật tự các thông điệp đến và xử lý đoạn găng.
- Hiển thị kết quả lên màn hình.
Trong quá trình thực hiện tiểu luận này, bản thân tôi xin chân thành biết ơn sự giúp đỡ của PGS.TS Lê Văn Sơn và các anh chị em đồng nghiệp
Học viên thực hiện
Đặng Ngọc Thắng
Trang 3MỤC LỤC
LỜI MỞ ĐẦU 1
MỤC LỤC 2
CHƯƠNG I 4
CƠ SỞ LÝ THUYẾT 4
I Các khái niệm cơ bản 4
I.1 Hệ thống tin học 4
I.2 Hệ tin học phân tán 4
I.3 Tiến trình 4
II Đồng bộ hóa các tiến trình 5
II.1 Vấn đề tương tranh và hợp lực 5
II.2 Vấn đề gắn bó dữ liệu 6
II.3 Trật tự từng phần 7
II.4 Giả định các điều kiện chung 9
II.5 Trật tự tổng quát chặt chẽ 9
II.5.1 Cung cấp tập trung 9
II.5.2 Cung cấp phân tán 10
III Sắp xếp kiểu đóng dấu 10
III.1 Đồng hồ logic 10
III.2 Minh họa trật tự từng phần 10
III.3 Gắn thời gian lôgic với các sự kiện 11
IV Đồng bộ hóa theo một trật tự tổng quát chặt chẽ 12
IV.1 Cấu trúc trật tự tổng quát chặt chẽ 12
IV.2 Giải thuật đóng dấu thời gian của Lamport 13
V Giải thuật loại trừ tương hỗ 14
V.1 Giới thiệu giải thuật 14
V.2 Kiểm nghiệm giải thuật 15
CHƯƠNG II 16
LẬP TRÌNH PHÂN TÁN 16
I Mô hình Client-Server 16
I.1 Giới thiệu 16
I.2 Client 17
I.3 Server 17
II Mạng máy tính phân tán 18
III Các điểm mạnh trong hệ phân tán 18
IV Giới thiệu phương thức triệu gọi đối tượng từ xa RMI (Remote Method Invocation) 19
IV.1 Triệu gọi phương thức từ xa 19
IV.2 Kiến trúc RMI Java 20
CHƯƠNG 3 23
TRIỂN KHAI CHƯƠNG TRÌNH 23
I Bài toán đặt ra 23
II Hướng giải quyết 23
III Thuật toán Lamport 23
III.1 Các giả định 23
III.2 Các kiểu thông điệp 23
III.3 Các biến tiến trình 24
Trang 4III.5 Nhận xét 24
IV Kết quả Demo chương trình 25
CHƯƠNG IV 27
KẾT LUẬN 27
I Đánh giá kết quả đã thực hiện 27
II Hạn chế 27
III Hướng phát triển ứng dụng 27
TÀI LIỆU THAM KHẢO 28
Trang 5I.2 Hệ tin học phân tán
Hệ tin học phân tán là hệ thống không chia sẻ bộ nhớ và đồng hồ Điều đó chophép phân biệt với một xu hướng tin học khác về phân tán các tính toán trên nhiều bộxử lý hay vi xử lý của hệ thống đa bộ xử lý
Hệ tin học phân tán đòi hỏi hệ thống phần cứng của mình phải trang bị bộ nhớcục bộ Các bộ xử lý trao đổi với nhau thông qua các hệ thống đường truyền khác nhaunhư là cáp quang, điện thoại, cáp chuyên dụng, bus trao đổi,
I.3 Tiến trình
Tiến trình (Process) là khái niệm khá quen thuộc và là đối tượng nghiên cứu của
hệ điều hành Trong hệ phân tán ta chỉ xem xét và bổ sung đặc điểm hoạt động và truycập của các tiến trình có nhu cầu cung cấp tài nguyên dùng chung
Các đặc điểm đó là :
o Các tiến trình được hình thành và điều khiển bởi hệ điều khiển duy nhất cónghĩa là nếu trong các thành phần tham gia hệ phân tán như mạng máy tính, các
hệ tập trung, có thể có các hệ điều hành riêng với các tiến trình riêng củamình, thì chúng cũng bị phái sinh lại trong nội dung của tiến trình mới, phântán
o Tiến trình là chương trình hay đoạn chương trình đang hoạt động trong hệ phântán là đối tượng chủ yếu có nhu cầu tài nguyên phần cứng hay phần mềm đểthực hiện các lệnh của mình Tiến trình cần tài nguyên để phát triển Về nguyêntắc, tất cả các tiến trình và tài nguyên được cung cấp là các đối tượng ở xa
o Các nguyên lý của hệ tập trung có thể nghiên cứu và áp dụng cho các tiến trìnhphân tán như dự phòng và chống bế tắc, chống xung đột,
o Khi tiến trình được cung cấp tài nguyên có thể nó thực hiện ngay, nếu nó là đốitượng được gửi đến từ trước trên bộ xử lý (máy) cục bộ hoặc phải gửi đối tượnglà tiến trình qua hệ thống đường truyền
o Việc cung cấp tài nguyên cho các tiến trình có thể thực hiện theo 2 cách trong
Trang 6II Đồng bộ hóa các tiến trình
Đồng bộ hoá tiến trình được hiểu như là quá trình điều khiển tạo nên sự ăn khớpvới nhau giữa tất cả các tiến trình khác nhau giúp cho hệ phân tán hoạt động nhịpnhàng, tin cậy và phòng tránh các sự cố kỹ thuật
II.1 Vấn đề tương tranh và hợp lực
Trong tất cả các hệ thống tin học, ta cần phải nghiên cứu các công cụ đủ mạnh vàhiệu quả để có thể đồng bộ hóa các tiến trình Tính cấp thiết về mặt nguyên lý và kỹthuật của vấn đề này thể hiện ở hai nguyên do cơ bản sau đây:
1 Các tiến trình kể cả các tiến trình xuất phát từ các ứng dụng độc lập muốntruy cập vào các tài nguyên với số lượng rất hạn chế hay truy cập vào thôngtin dùng chung cùng một lúc gây nên hiện tượng truy cập tương tranh.Tương tranh là nguyên nhân chính của các xung đột giữa các tiến trìnhmuốn truy cập vào các tài nguyên dùng chung
2 Các tiến trình của cùng một hệ ứng dụng hoạt động theo kiểu hợp lực đểgiải quyết các bài tóan đặt ra và cho kết quả nhanh chóng nhất Điều nàycho phép tăng hiệu năng sử dụng thiết bị và hiệu quả hoạt động của chươngtrình
Hợp lực là nguyên nhân chính của sự tác động tương hỗ được lập trình giữacác tiến trình nhằm cho phép chúng tham gia vào các hành động chung
Sự tương tranh và hợp lực giữa các tiến trình đòi hỏi phải có trao đổi thông tinqua lại với nhau Trong các hệ thống tập trung, điều đó được thực hiện nhờ thuật toánloại trừ tương hỗ thông qua các biến cùng tác động trong một vùng nhớ chung Trong
hệ tin học phân tán, các thông tin cần trao đổi thông qua các thông điệp bằng các kênhviễn thông
Một sự hoạt động gắn bó của các chương trình cung cấp phân tán quản lý trêncùng một tập hợp các tài nguyên chỉ đạt được nếu tuân thủ các qui tắc sau:
1 Các bộ cung cấp bắt buộc phải thực hiện cùng một giải thuật
2 Các bộ cung cấp đều nhận tất cả các thông điệp phát đi từ các tiến trình
3 Các thông điệp phải được xử lý cùng một trật tự như nhau trong các chương trình cung cấp.
Qui tắc cuối, nhấn mạnh đến sự thiết yếu phải có một trật tự duy nhất trên tậphợp các thông điệp của hệ Trật tự này có thể được thực hiện thông qua việc hợp lựccủa các tiến trình cung cấp Ở phần sau chúng ta nghiên cứu một số phương pháp sắpxếp nhằm xác lập một trật tự đảm bảo cho yêu cầu đồng bộ hóa
Trang 7II.2 Vấn đề gắn bó dữ liệu
Gắn bó dữ liệu là quá trình khi thực hiện trao đổi thông tin qua lại với nhau vàotại một thời điểm t nào đó thì giá trị các tiến trình phải giống nhau Để hiểu rõ hơn vềgắn bó dữ liệu ta xét bài toán bãi đỗ xe như sau :
Trong đó: BV - Người bảo vệ có nhiệm vụ phân phối chổ cho các xe ô tô
VT - Vị trí cho từng xe ô tô cụ thể
Các mũi tên hai chiều được sử dụng để mô tả dòng ra vào
Trong bài toán này chúng ta nhận thấy :
- Bãi đậu xe chính là tài nguyên
- Xe chính là các tiến trình
- Nếu một cửa là tập trung còn nhiều của sẽ diến ra tranh chấp
có chổ trống, như vậy, NBV không nắm được trạng thái hiện hành của bãi
Tình huống thứ 2 :
Nếu ta có bãi để xe có nhiều cổng vào và tại mỗi cổng có một người bảo vệ thìmỗi người bảo vệ chỉ có thể biết được trạng thái với độ trễ nhất định và điều đó đãnđến tình huống thứ 2 Đó là tình huống có nhiều trung tâm ra quyết định như tronghình vẽ trên
Trên thực tế một người bảo vệ nào đó tin rằng không còn chỗ trống nữa, trongkhi một người bảo vệ khác lại vừa mới cho ra khỏi bãi một số xe mà anh ta chưa kịpbáo cho các người bảo vệ khác Cũng có thể diễn ra trường hợp là cùng một lúc cácngười bảo vệ giải quyết các xe vào cùng một vị trí trong bãi do vì họ thiếu thông tin
VT VT VT
VT
VT VT VT
VT
VT VT
VT
VT VT VT VT VT VT
VT VT
VT VT
BV BV
BV
BV
Trang 8Như vậy các người bảo vệ phải hợp lực với nhau để phân phối chính xác các chổtrong bãi, đặc biệt là số lượng chổ còn trống càng ít thì vai trò của hợp lực còn quantrọng Đây chính là sự không gắn bó dữ liệu ở bãi đậu xe ô tô.
Để hiểu rõ hơn vấn đề đồng bộ hoá ta xét ví dụ cụ thể như sau : Giả sử rằng ởthời điểm cho trước ta có 4 ngưòi bảo vệ và có 100 chỗ còn trống Tất cả các ngườibảo vệ đều có thông tin đó Trạng thái lúc này của hệ là gắn bó Ba trong số họ phát đicác thông tin sau :
Nếu ta không có ràng buộc nào đối với trình tự xử lý các thông điệp nhận được của cácngười bảo vệ thì các NBV sẽ có thông tin về số lượng chỗ trống khác nhau Để bảo đảm cácbản cập nhật giống nhau thì trình tự cập nhật nhất thiết phải giống nhau trên tất cả các trạm
Trật tựxử lý
Bảo vệ 1 Bảo vệ 2 Bảo vệ 3 Bảo vệ 4Thông
điệp
Giá
Trị
Thôngđiệp
Giá
Trị
Thôngđiệp
Giá
Trị
Thôngđiệp
II.3 Trật tự từng phần
Cần chú ý rằng, trong các hệ thống tin học tập trung, vấn đề đồng bộ hoá đượcgiải quyết thông qua cơ chế loại trừ tương hỗ Cơ chế này cho phép sắp đặt (xác lậptrật tự) hoàn toàn các sự kiện Trong thực tiễn, nói một cách chính xác, có một hệthống vấn đề về đồng bộ hoá chỉ đòi hỏi trật tự từng phần Chính vì vậy trật tự hoátừng phần giữa các sự kiện mà các tiến trình của nó cần phải đồng bộ là vấn đề cầnphải quan tâm giải quyết
Trong các hệ thống phân tán, việc đồng bộ hoá chỉ đặt ra duy nhất vấn đề thiếtlập một trật tự giữa các sự kiện Giữa các trạm khác nhau, trật tự đó chỉ có thể hiệnđược thông qua việc trao đổi các thông điệp với nhau
STT Ký hiệu Thông tin phát đi
1 M1 Thêm 20 chỗ trống
2 M2 Đã có 10 chỗ bị chiếm
3 M3 Dành 10% chỗ trống để quét dọn sân bãi
Trang 9Giả sử rằng ta có thể xác định một trật tự giữa các sự kiện của hệ phân tán nhờvào quan hệ được ký hiệu là → và gọi là “có trước” hay “ở ngay trước”.
Quan hệ này tối thiếu phải thoã mãn được ràng buộc thể hiện trong bảng sauđây :
Hình vẽ sau đây cho ta một ví dụ về trật tự hoá từng phần của các sự kiện trong
hệ thống
Theo hình vẽ trên, ta có thể biểu diễn trật tự như sau :
Trật tự từng phần của các sự kiện
A4
A5
B1B2
B3
B4
B5
t
Trang 10A3 và B2, B3, B4
Ràng buộc C1 thể hiện rằng trật tự có thể được bởi quan hệ có trước là tươngthích với các trật tự cục bộ được định nghĩa trong từng trạm
Ràng buộc C2 nói lên nguyên tắt nhân quả
Quan hệ có trước xác định một trật tự từng phần trên tập hợp các sự kiện của hệvà trật tự này có thể hiện trong hình vẽ trên
II.4 Giả định các điều kiện chung
Các hệ phân tán được xây dựng trên cơ sở các trạm làm việc được mắc nối vớinhau (nối mạng) Mỗi một trạm có bộ nhớ riêng của mình và tuyệt đối không có bộnhớ chung
Ta áp dụng các ký hiệu trong bảng sau:
1 H1 Một trạm trong các trạm đều có thể liên lạc với các trạm còn lại
trong hệ
2 H2 Không có lỗi truyền thông tin và không mất thông điệp
3 H3 Trật tự nhận trên trạm j của dãy các thông điệp cũng giống như
chính tại trạm I là giống với trật tự của nơi phát
4 H4 Sự cố hay gián đoạn vật lý tại một trạm nào đó được phát hiện sẽ
lập tức thông báo đến tất cả các trạm có ý định liên lạc với nó Trước hết, trong đề tài này nghiên cứu sự hoạt động của hệ không có sự cố, rồisau đó sẽ chỉ ra hiệu ứng của sự cố hay việc phục hồi lại một trạm Đó là trường hợp
đã nêu lên trong H4 ở trên Ngoài ra còn giả sử rằng hiện tượng gây sự cố trên mộttrạm chỉ làm cho trạm đó không liên lạc được với mạng mà hoàn toàn không ảnhhưởng đến sự hoạt động của các trạm còn lại hoặc ít nhất là một nhóm các trạm khác
II.5 Trật tự tổng quát chặt chẽ
Trong một số trường hợp cần phải sắp xếp toàn bộ theo kiểu chặt chẽ các sự kiệncủa hệ liên quan trực tiếp đến việc cung cấp các tài nguyên Nguyên lý của vấn đềđược khái quát như sau Một tiến trình nào đó gởi thông điệp để yêu cầu sử dung tàinguyên; một tiến trình sử dụng xong tài nguyên nào đó truyền một thông tin giảiphóng khi nó ngừng chiếm dụng
II.5.1 Cung cấp tập trung
Hiện tại, trong các hệ thống tập trung, mỗi một loại tài nguyên của hệ đượcquản lý bởi một chương trình cung cấp duy nhất, goi là bộ cung cấp tài nguyên.Chương trình này tiếp tục nhận tất cả các yêu cầu, khuyến nghị giải phóng và sắp xếpchúng trong một hàng đợi xử lý theo kiểu loại trừ tương hỗ và xử lý chúng theo mộttrật tự nhất định của hàng đợi này
Trong các hệ phân tán, chương trình cung cấp nằm trên một trạm và các tiếntrình đề nghị lại ở trên các trạm khác; các yêu cầu và khuyến nghị giải phóng đượctruyền cho chương trình cung cấp thông qua hình thức thông điệp chuyển theo các
Trang 11Trật tự có được tại trạm cung cấp có thể không giống như trật tự phát, nếu thờigian truyền không được cố định Đây là trường hợp khá phổ biến trong mạng máy tính.Nhưng nếu ta muốn xử lý các thông điệp theo trình tự không tính tới thời gian truyền,thì cần phải tính đến một trật tự tổng quát của các lần truyền thông điệp từ các trạmkhác nhau.
II.5.2 Cung cấp phân tán
Vì lý do ổn định và hiệu quả mà ta phải phân tán chức năng cung cấp trên nhiềutrạm khác nhau Sự hoạt động gắn bó với nhau giữa các chương trình cung cấp là rấtcần thiết để đảm bảo cho hoạt động cung cấp được hoàn toàn chính xác
III Sắp xếp kiểu đóng dấu
III.1 Đồng hồ logic
Đối với nhiều ứng dụng, các sự kiện không cần lập lịch hay đồng bộ đối vớithời gian thực Nó chỉ là thứ tự sự kiện hoạt động liên quan Trong trường hợp nhưvậy, đồng hồ logic có thể được dùng để biểu thị thứ tự thông tin cho các sự kiện, đặcbiệt trong hệ phân tán, nó khó giữ được đồng hồ vật lý chung giữa tất cả các tiến trìnhđang sắp xếp Đồng hồ logic Lamport là khái niệm cơ bản để sắp xếp các tiến trình vàcác sự kiện trong hệ phân tán
III.2 Minh họa trật tự từng phần
Trong thực tế một số hệ thống
khi đồng bộ hóa chỉ đòi hỏi trật tự từng
phần Chính vì vậy, trật tự hóa từng
phần giữa các sự kiện mà tiến trình của
nó cần phải đồng bộ là vấn đề cần phải
quan tâm
Giả sử rằng ta có thể xác định một trật tự giữa các sự kiện của hệ phân tán nhờvào quan hệ “có trước” () hay “ở ngay trước”:
Trật tự các sự kiện được xác định dựa
trên các nguyên tắc sau:
1 Nếu A và B là hai sự kiện của cùng
một trạm và A xảy ra trước B thì ta
có AB (trật tự cục bộ)
2 Nếu A là phát thông điệp từ một trạm
nào đó và B là nhận thông điệp thì ta
Trang 12Sơ đồ của “có trước”:
- a b : chúng ta có thể đi từ a đến b theo sơ đồ bằng cách dichuyển về phía trước theo thời gian dọc theo các đường tiến trình và thôngđiệp
o Ví dụ : p1 r4 (a tác động nhân quả đến b)
- Hai sự kiện là hợp lực nếu chúng có tác động nhân quả vớinhau
o Ví dụ : p3 và q3 là hợp lực Cho dù q3 xảy ra tại thờiđiểm vật lý sớm hơn p3 , tiến trình P không biết tiến trình Q đã làm
gì tại thời điểm q3 cho đến khi nó nhận được thông điệp tại thời điểmp4
III.3 Gắn thời gian lôgic với các sự kiện
Các đồng hồ lôgic: gán một số cho mỗi sự kiện cục bộ
Hệ thống các đồng hồ lôgic phải chính xác :
p3 p4
q1 q2 q3 q4 q5 q6
r1 r2 r3 r4
Trang 13IV Đồng bộ hóa theo một trật tự tổng quát chặt chẽ
Trong các hệ thống tập trung, mỗi loại tài nguyên được quản lý bởi một chươngtrình cung cấp duy nhất Chương trình này tiếp nhận tất cả các yêu cầu, khuyến nghịgiải phóng và sắp xếp chúng trong một hàng đợi xử lý theo kiểu loại trừ tương hỗ.Trong các hệ phân tán, chương trình cung cấp nằm trên một trạm và các tiến trìnhđề nghị từ các trạm khác Các yêu cầu, khuyến nghị giải phóng được truyền chochương trình cung cấp thông qua hình thức thông điệp chuyển theo các kênh của hệthống viễn thông Chính vì vậy, nhu cầu sắp xếp các yêu cầu này theo một trật tự nhấtđịnh nào đó luôn được đặt ra
Trật tự từng phần chỉ có thể áp dụng cho một số hệ thống, điều này có nghĩa làmột số hệ thống có thể gắn bó được thông qua việc sắp xếp các sự kiện theo trật tựbằng quan hệ “có trước” Tuy nhiên có rất nhiều hệ phân tán các sự kiện không thể sắpđược bằng trật tự từng phần, do vậy phải cần đến trật tự chặt chẽ (=>) của các sự kiện.Nếu chỉ có một thông điệp đến chương trình cung cấp thì trật tự đến thể hiện mộttrật tự chặt chẽ Ngước lại, việc sắp xếp chúng phải theo kiểu loại trừ tương hỗ chohàng đợi cục bộ của trạm có chứa chương trình cung cấp Điều đó cũng chi phép cóđược một trật tự chắt chẽ
IV.1 Cấu trúc trật tự tổng quát chặt chẽ
Lamport định nghĩa trật tự chặt chẽ dựa trên quan hệ “có trước”, nó gán cho mỗitrạm một số duy nhất và sau đó sử dụng số này để lập trật tự cho các sự kiện không sắpxếp được thứ tự bằng quan hệ “có trước”
o Trật tự nhất quán của các sự kiện phát
o Định dạng thông điệp từ Pi: (m, Tm, i)
o Tại tiến trình Pi, một sự kiện phát (m, Tm, j) từ Pj được gọi là cótrước sự kiện phát (n, Tn, k) từ Pk nếu :
Nếu Tm < Tn, hoặc Nếu Tm = Tn và j < kHình sau minh họa cho dạng thông điệp với trật tự chặt chẽ
3 2
2
Trang 14IV.2 Giải thuật đóng dấu thời gian của Lamport
Đồng hồ lôgic cho phép đóng dấu thời gian, nhằm xác lập trật tự cho từng sựkiện trong hệ phân tán để với mỗi cặp sự kiện A và B ta có: nếu A có trước B (A B)thì đồng hồ lôgic của A nhỏ hơn đồng hồ lôgic của B
Nguyên tắc thiết lập: Mỗi trạm S đều có trang bị công tơ với các giá trị nguyên
Cs đó chính là đồng hồ logic, hoạt động theo các qui tắc sau:
Gia tăng Ci thêm một trị số giữa hai sự kiện kế tiếp
o Khi phát thông điệp thì gán giá trị của đồng hồ logic vào Trạm ephát thông điệp m , ghi dấu thời gian cho các thông điệp m gửi đi, Tm = Ce(a)
o Khi nhận được thông điệp m, trạm nhận r cập nhật đồng hồ Crriêng theo (bằng cách lấy giá trị của thông điệp vừa nhận cộng thêm 1) :
Cr = Tm + 1 (điều này đảm bảo tính nhân-quả theo trật tự từng phần)
Trật tự sự kiện toàn bộ: Một sự kiện a sinh ra trên trạm i được đánh dấu bởi đồng
hồ cục bộ Ci , nếu a và b là hai sự kiện trên hai trạm i và j ta quan hệ sau: