找回密码
 立即注册
搜索
楼主: superboy

不知道这里有没有朋友会“分布式系统”也就是Networking and Distributed Systems?

[复制链接]

45

主题

2403

回帖

3298

积分

论坛元老

是马非马

积分
3298
发表于 2004-10-24 01:15:43 | 显示全部楼层
回复

使用道具 举报

957

主题

2万

回帖

3万

积分

注册会员

积分
36136
发表于 2004-10-24 10:16:25 | 显示全部楼层
是啊,所以俺问是不是应该是after

The sequence number of message m3 was less than that of message m2. 这句应该是说明m3先到

网络延时,在分组交换中是无法避免的,如果消息从不同的路由到达本身就有延时,如果网络出现故障,消息重发也会产生延时,应从应用层解决。题中说了时钟是同步的,应以消息产生的时钟来排序。

最初由 superboy 发布
[B]可是题里面说 as the message log shows, a new “attention needed” message (m3) was received by Computer C after the “alarm off” message (m2). 意思是不是也是说c接受到的m3要晚于m2? 可是如果按照sequence number来理解,c接受到m2应该晚于m3,是不是矛盾了?

另外,如何能解决网络的延时? [/B]
回复

使用道具 举报

460

主题

1177

回帖

2185

积分

论坛元老

积分
2185
 楼主| 发表于 2004-10-24 16:23:03 | 显示全部楼层
最初由 frank 发布
[B]希望这个对你有用:

http://www.cs.jhu.edu/~yairamir/cs437/week13/sld001.htm [/B]


很感谢你的帮忙,如果是中文的就更好了,我现在对某些关键字不能很好的理解,英文真是一个鸿沟呀,呵呵
回复

使用道具 举报

460

主题

1177

回帖

2185

积分

论坛元老

积分
2185
 楼主| 发表于 2004-10-24 16:26:23 | 显示全部楼层
最初由 takelook 发布
[B]是啊,所以俺问是不是应该是after

The sequence number of message m3 was less than that of message m2. 这句应该是说明m3先到

网络延时,在分组交换中是无法避免的,如果消息从不同的路由到达本身就有延时,如果网络出现故障,消息重发也会产生延时,应从应用层解决。题中说了时钟是同步的,应以消息产生的时钟来排序。 [/B]


题肯定不会有什么问题的,我现在也对那句话很迷惑,而且我觉得问题就出在这里。您说的从应用层解决,是指a,b计算机么?能麻烦您详细说明一下么?真的很感谢您远方的帮助!谢谢!
回复

使用道具 举报

957

主题

2万

回帖

3万

积分

注册会员

积分
36136
发表于 2004-10-24 20:40:32 | 显示全部楼层
因为上下文是矛盾的,我想题是有问题的,除非最后一句英语还有别的解释。

假设最后一句没错,那么就是说sequence number很好地解决了消息的先后次序,那么问题的产生就只能靠解决对这种特殊情况B的动作问题,题中并没有详细说明B的触发原理,所以我想这不是本题的目的。

我理解的题中所阐述的问题目的只有一种,不管最后一句对错,就是sequence number不应作为C来排定顺序的依据。我说的应用层指的是在A,B,C中加入控制,加入消息的时间只是一种方式。

如果sequnce number一定保持不变的话,那么m2消息就应包括是对哪一告警的清除,这样也能保证所有告警都会被处理

frank提供的网站好像也是讲的时钟同步的问题,我没仔细看(看不大懂)

其实我就是二把刀,仅仅提供参考,如果您是学生,我倒很感兴趣当你最后知道答案后能分享一下

最初由 superboy 发布
[B]题肯定不会有什么问题的,我现在也对那句话很迷惑,而且我觉得问题就出在这里。您说的从应用层解决,是指a,b计算机么?能麻烦您详细说明一下么?真的很感谢您远方的帮助!谢谢! [/B]
回复

使用道具 举报

460

主题

1177

回帖

2185

积分

论坛元老

积分
2185
 楼主| 发表于 2004-10-26 04:28:58 | 显示全部楼层
这个没有问题了,如果我得到答案我会在这里贴出来的
回复

使用道具 举报

8

主题

677

回帖

924

积分

金牌会员

积分
924
发表于 2004-10-26 10:02:02 | 显示全部楼层
我觉得不是,这句话是说m3后到达,但是有个比m2小的序列号(sequence number). 就类似在tcp/ip里,每个报文都有序列号用于重组的时候排序。序列号是由发送报文的一方填在报文里的。但是由于C只看序列号来决定事件的先后次序,导致他认为m3发生在m2之前。所以我觉得需要做的是确定一个序列号的顺序使m3的不可能比m2小。比如,A每次发生一个新的事件,序列号加上1000,但是B每次只加1。当然这是最简单的方法。应该有更严密的方法吧。


最初由 takelook 发布
[B]是啊,所以俺问是不是应该是after

The sequence number of message m3 was less than that of message m2. 这句应该是说明m3先到

网络延时,在分组交换中是无法避免的,如果消息从不同的路由到达本身就有延时,如果网络出现故障,消息重发也会产生延时,应从应用层解决。题中说了时钟是同步的,应以消息产生的时钟来排序。 [/B]
回复

使用道具 举报

957

主题

2万

回帖

3万

积分

注册会员

积分
36136
发表于 2004-10-26 19:47:58 | 显示全部楼层
有道理,computer C used the sequence numbers of[/COLOR] incoming messages for deducing the order of events. 说明消息中包含顺序号

这样题目本身就没问题了,快成阅读理解了:)

最初由 njorth 发布
[B]我觉得不是,这句话是说m3后到达,但是有个比m2小的序列号(sequence number). 就类似在tcp/ip里,每个报文都有序列号用于重组的时候排序。序列号是由发送报文的一方填在报文里的。但是由于C只看序列号来决定事件的先后次序,导致他认为m3发生在m2之前。所以我觉得需要做的是确定一个序列号的顺序使m3的不可能比m2小。比如,A每次发生一个新的事件,序列号加上1000,但是B每次只加1。当然这是最简单的方法。应该有更严密的方法吧。 [/B]
回复

使用道具 举报

460

主题

1177

回帖

2185

积分

论坛元老

积分
2185
 楼主| 发表于 2004-10-27 04:22:42 | 显示全部楼层
最初由 njorth 发布
[B]我觉得不是,这句话是说m3后到达,但是有个比m2小的序列号(sequence number). 就类似在tcp/ip里,每个报文都有序列号用于重组的时候排序。序列号是由发送报文的一方填在报文里的。但是由于C只看序列号来决定事件的先后次序,导致他认为m3发生在m2之前。所以我觉得需要做的是确定一个序列号的顺序使m3的不可能比m2小。比如,A每次发生一个新的事件,序列号加上1000,但是B每次只加1。当然这是最简单的方法。应该有更严密的方法吧。 [/B]


1、但是我还是不是很理解你说的The sequence number of message m3 was less than that of message m2这句话表明m3后到达,如果m3后到达,m3的sequence number应该more than m2,而不是less than m2 ?

2、如果m3后到达C,是什么原因会使m3的sequence number比m2的sequence number小呢? 由于网络延时或别的因素么?

3、你说的解决方法,是不是因为A AND B correctly implemented a system of logical clocks,所以他俩产生sequence number的顺序是根据他们系统的clocks走的? 比如,A and B 系统是相同的时间,但是由于在B发生的事情要晚于在A发生的事情,所以在这两个事情到达C的时候,C接收到的sequence number B大于A? (C接收到的sequence number 是不是由A and B计算机发出来的?)

真是不好意思,问了这么多问题,麻烦您了!谢谢!
回复

使用道具 举报

8

主题

677

回帖

924

积分

金牌会员

积分
924
发表于 2004-10-27 11:01:01 | 显示全部楼层
1、但是我还是不是很理解你说的The sequence number of message m3 was less than that of message m2这句话表明m3后到达,如果m3后到达,m3的sequence number应该more than m2,而不是less than m2 ?

----首先从题目的最后一句“the fact that, as the message log shows, m3 was received after m2”可以知道在C的日志里按时间纪录的次序是m3在m2之后。所以事实上m3确实在m2之后。但是m3的序列号比m2小。序列号的大小并不是由C接受到消息的次序决定的。而是由发送者决定的。如果是由接受者决定序列号,那我们就不需要序列号了。

2、如果m3后到达C,是什么原因会使m3的sequence number比m2的sequence number小呢? 由于网络延时或别的因素么?

A和B都有正确的时钟,B是连着sensor的,下假设病人在 t 时刻恢复,B从感应器知道了然后发出消息,如果他的处理时间是2,m2的序列号是t+2, 题目中说这种错误发生的条件是病人一恢复立刻又危险了,病人在t时刻恢复,在t+1时刻又不行了,A发的m3序列号是t+1. 所以m3<m2.

3、你说的解决方法,是不是因为A AND B correctly implemented a system of logical clocks,所以他俩产生sequence number的顺序是根据他们系统的clocks走的? 比如,A and B 系统是相同的时间,但是由于在B发生的事情要晚于在A发生的事情,所以在这两个事情到达C的时候,C接收到的sequence number B大于A? (C接收到的sequence number 是不是由A and B计算机发出来的?)

其实有个解决办法就是B不管有没有成功的恢复病人都给C发消息“alarm off”或者“alarm continue”。然后C的策略要改变一下。比如每个"attention needed"消息必须有相应的“alarm off”,如果没有就派医生。

我是这样想的,仅供参考。呵呵
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|海浩社区

GMT+8, 2025-9-19 18:10 , Processed in 0.108686 second(s), 20 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表