Reckless

Rebecca Dias - Product Manager, Microsoft Corporation

Metaphors for Reliable Messaging, Protocols, and Policies of systems

Earlier in the Summer I took a rock climbing class at Stone Gardens in Ballard.  I left the gym pretty fired up thinking this would be a great way to explain some our WS-* technology to the not so technologically savvy.  I spent a couple of hours that evening talking with a climber about the metaphor.

We have all seen reliable messaging when ordering our grande soy latte at Starbucks.  After we order the drink the cashier blurts the order out loud only to have the person making the drink acknowledge the order by repeating it back.  Clearly, this is not 100% reliable because the human making the drink may still forget the order if they do not proceed to write it onto the cup immediately; however, the business folks at Starbucks recognize that the human mind is more likely to remember and execute the drink order correctly if they repeat the order out loud.  Thus, they established a protocol for drink ordering.  The Policy on the drink maker is to receive the drink order At Most Once. The drink maker responds Exactly Once.  In the end, reliability is subject to the corresponding infrastructure implementing the protocol; in this case, the reliability of the system is measured by the consciousness of the humans involved in the interaction.  Reliable messaging is often required in more mission critical environments and at times failure of the system could be life threatening.  I recently spoke with a group of folks at Siemens who builds systems that have human machine interfaces (hmi) where human operators are constantly waiting to take over manual control of the machines if the computer systems fail.  Their policy is that within 10 seconds of failure a human operator is required to take over control or thousands of lives can be affected.

In rock climbing, there are usually two people.  The person on belay must be attentive and not make mistakes to ensure the climber's safety.  When rock climbing, protocol usage can help mitigate potential physical harm.  The protocol is very simple.  What is interesting to note, is most of the time, the messages are At Least Once.  At least once means the endpoint (in this scenario, person) receiving the message must receive it at least once to react i.e. if the person does not hear the message, the message must be resent.

When beginning a climb from one pitch to the next

Both individuals give each other safety checks.  Both the climber and the person on belay must have all straps double backed.  The climbers knot must be tight and well dressed.  The person belaying must have their carabiner locked and have the rope properly threaded through the belay device.

rock climber:  on belay

person on belay:  belay on

rock climber gets on the wall

rock climber:  climbing

person on belay:  climb on

rock climber begins climbing

once the climber reaches the next pitch,  they anchor in and belay the climber below

 

To begin rappelling

rock climber:  slack

person on belay removes all of the slack from the rope

rock climber:  Lower

person on belay begins to lower rock climber

 

One way messages the climber may send to the person on belay

rock climber:  Falling!

person on belay puts on the brake

 

In memory of William Tharpe

Published Monday, October 20, 2003 11:58 PM by rdias
Filed under: , ,

Comments

 

Colby Dyess said:

The similarly true for airplane pilots. Which is to say that when the PIC (Pilot In Command) needs or wants to hand control over to the second in command the communciation is something like: PIC: You can the con Sec: I have the con PIC: You can the con At this point the PIC must release the controls and may then go about his/her business. When the PIC wishes to return to the controling positing the communication sequence is effectively the same: Sec: You have the con PIC: I have the con Sec: You have the con And now the PIC has control again. The obvious difference here is the acknowledgement (ACK) part. Consider that in business interactions there are checks in place to ensure actions have completed (message transfers, transactions, etc). If you're going to talk to non-techies you may want to add this to your arsenal of metaphors.
October 29, 2003 4:02 PM
 

Steve Loughran said:

In the real world the climbing protocol is more complex. Once you lose hearing range of the partner, all you have left to communicate is rope pull through and tugs. And you have to distinguish from false alarms from real messages. This is a real problem -what if the person on a nearby route shouts 'safe', and you think that is your climbing partner? What is the solution? Repetition and a NACK mechanism. Climbing messages are inherently idempotent 'thats me', 'climb when ready', 'falling'. The only two you really need to send and receive are the that's me (lead is safe) and climb when ready messages, and they need to be 100% reliable. So you have a protocol like three tugs for 'climb when ready'; the receiver repeats the message back. If, and only if, they get the same response do they begin climbing. The problem in a tug-only-protocol is sending a NACK back. Instead of sending a negative response, you send nothing and wait for the recipient to time out. As the channel latency is neglible (what is the speed of tug in a wet rope?), timeouts can be short. What happens when things go wrong? http://willerup.com/climbing/goddess.html
November 5, 2003 7:55 PM
 

Rebecca Dias said:

Hi Colby!!!!!! Great Metaphor, by the sound of it, yours is probably better than my rocking climbing one... stealing it! Steve, comments like yours make me love blogging. Educated one level higher by sharing. Awesome. I adding you to Sharp Reader. Actually it is times like this that I had my newsgator impl installed still. I would love to cache your blog and read it on the plane to BWI tomorrow. There is a thread internally on how to make BlogX send alerts for comments posted. I need to get on this. I have no idea what comments I have not even read!
November 15, 2003 11:33 PM
 

Reckless Metaphors for Reliable Messaging Protocols and Policies of | My Site said:

June 1, 2009 12:10 AM
 

Reckless Metaphors for Reliable Messaging Protocols and Policies of | Portable Greenhouse said:

June 1, 2009 6:11 AM
 

Reckless Metaphors for Reliable Messaging Protocols and Policies of | Patio Chairs said:

June 2, 2009 10:28 PM
 

Reckless Metaphors for Reliable Messaging Protocols and Policies of | Quick Diets said:

June 9, 2009 11:41 PM
 

Reckless Metaphors for Reliable Messaging Protocols and Policies of | Insomnia Cure said:

June 13, 2009 3:00 AM
 

Reckless Metaphors for Reliable Messaging Protocols and Policies of | Toe Nail Fungus said:

June 13, 2009 7:11 AM
 

Reckless Metaphors for Reliable Messaging Protocols and Policies of | garden decor said:

June 14, 2009 3:02 AM
 

Reckless Metaphors for Reliable Messaging Protocols and Policies of | garden statues said:

June 14, 2009 7:47 AM
 

Reckless Metaphors for Reliable Messaging Protocols and Policies of | patio cushions said:

June 14, 2009 12:18 PM
 

Reckless Metaphors for Reliable Messaging Protocols and Policies of | patio set said:

June 17, 2009 10:23 PM
 

Reckless Metaphors for Reliable Messaging Protocols and Policies of | adirondack chairs said:

June 19, 2009 4:56 AM
Anonymous comments are disabled

© 2009 Microsoft Corporation. All rights reserved. Terms of Use  |  Trademarks  |  Privacy Statement
Microsoft
Page view tracker