multicast người sử dụng của gửi bài đến nhóm tương ứng. Mỗi người sử dụng quá trình là một thành viên của nhóm cho chủ đề mà người dùng đó quan tâm, do đó, họ sẽ nhận được các bài đăng liên quan đến chủ đề đó. Phát đa hướng đáng tin cậy là cần thiết nếu mọi người sử dụng là để nhận được mỗi đăng cuối cùng. Người dùng cũng đã đặt hàng yêu cầu. 15,12 cho con số hiển thị từ bảng chương trìnhBảng: os.interesting mục từ tiêu đề 23 A.Hanlon Mach 24 G.Joseph Microkernels 25 A.Hanlon Re: Microkernels 26 T.L'Heureux RPC hiệu suất 27 M.Walker Re: Mach cuốiFigure 15.12 shows the postings as they appear to a particular user. At a minimum, FIFO ordering is desirable, since then every posting from a given user – ‘A.Hanlon’, say – will be received in the same order, and users can talk consistently about A.Hanlon’s second posting. Note that the messages whose subjects are ‘Re: Microkernels’ (25) and ‘Re: Mach’ (27) appear after the messages to which they refer. A causally ordered multicast is needed to guarantee this relationship. Otherwise, arbitrary message delays could mean that, say, the message ‘Re: Mach’ could appear before the original message about Mach. If the multicast delivery was totally ordered, then the numbering in the lefthand column would be consistent between users. Users could refer unambiguously, for example, to ‘message 24’. In practice, the USENET bulletin board system implements neither causal nor total ordering. The communication costs of achieving these orderings on a large scale outweigh their advantages. Implementing FIFO ordering • FIFO-ordered multicast (with operations FO-multicast and FO-deliver) is achieved with sequence numbers, much as we would achieve it for one-to-one communication. We shall consider only non-overlapping groups. The reader should verify that the reliable multicast protocol that we defined on top of IP multicast in Section 15.4.2 also guarantees FIFO ordering, but we shall show how to construct a FIFO-ordered multicast on top of any given basic multicast. We use the variables Sg p and Rg q held at process p from the reliable multicast protocol of Section 15.4.2: Sg p is a count of how many messages p has sent to g and, for each q, Rg q is the sequence number of the latest message p has delivered from process q that was sent to group g. For p to FO-multicast a message to group g, it piggybacks the value Sg p onto the message, B-multicasts the message to g and then increments Sg p by 1. Upon receipt of a message from q bearing the sequence number S, p checks whether SR g q +1 = . If so, this message is the next one expected from the sender q and p FO-delivers it, setting
đang được dịch, vui lòng đợi..
