operating system - What are the problems in 3-way Message passing Reliable IPC protocol? -


3-way message passing reliable ipc protocol diagram

here, @ end of page. last paragraph , mentioned problems occurs in protocol. unable understand these problems. ? example. told. "if request processing long time" unable understand statement. request processing taking long time, on client ? or on server ? or unable understand clock(time) ? on client side or server side? because here mentioned in end of 2 point. "if reply not received within time period , kernel of client machine re-transmits request message."

consider this:

  • the client sends message. if doesn't reply server within - - 1 minute transmit message again.
  • when server receives message, sends reply after having generated full response message client sent.

no suppose you, client, send message server. server receives message, , starts processing it. @ time, you, client, have no idea of whether server got message or not. assume send complicated task server, takes 1 minute , 5 seconds complete. after 1 minute (ignoring transmission times), server still busy doing work, client don't know of of , send message again.

now, depending on actual protocol implementation, there few potential issues:

  • it's possible sending message again, increase sequence count , therefore unable receive reply original message afterwards.
  • it's possible server isn't able determine whether message arrives first message or message had send again. doing work did, leading either needless processing or in worst case (business) logic errors.

additionally, sending both message , reply possibly needless more once, increase amount of total data transmitted, without gaining it.

to "solve" this, increase waiting time before client sends message again. "fix" issue long running tasks on server, hurt in case message actually got lost on way, because you're waiting longer send new message.

the "real" solution here have server acknowledge receives message client, saying "i got message, i'll send reply soon!" before starting process message.


Comments

Popular posts from this blog

php - Invalid Cofiguration - yii\base\InvalidConfigException - Yii2 -

How to show in django cms breadcrumbs full path? -

ruby on rails - npm error: tunneling socket could not be established, cause=connect ETIMEDOUT -