[ih] principles of the internet

Matthias Bärwolff mbaer at cs.tu-berlin.de
Thu Jun 3 01:08:39 PDT 2010


On 06/03/2010 01:51 AM, Richard Bennett wrote:
> Um, have you ever written code, Matthias? Every programmer has had to deal with 

Does this make a difference to our argument?

> the question of how much checking you do on the inputs to your function and how 
> you recover from errors returned by the functions you call. You can arrange the 
> choices about how to address these questions according to some continuum with 
> unreasonable absolutes at the boundaries and engage in pseudo-philosophical 
> discourse over the nature of reality and consciousness, or you can make a 
> pragmatic decision based on the nature of the problem you're trying to solve and 
> your experience with the system.

I may be missing something, but I don't quite see the point you're
trying to make. Of course, without more or less tacit assumptions,
functional bindings on statistical grounds, and even hard bilateral
state you don't get anywhere -- but how does that change an overall
philosophical default assumption that one may draw?

> 
> A good system programmer doesn't try to apply some dogmatic rule set about the 
> correct way to do IPC, he makes decisions grounded in a realistic assessment of 
> the behavior of the components in question. If you look a how the Internet 
> actually works - as opposed to the musings of graduate students - you'll see 
> that it doesn't actually implement a "best efforts" model per the definition you 
> cite. TCP assumes an extremely high degree of packet integrity, so much so that 
> it can safely ascribe packet loss to congestion rather than line noise or 
> wireless collisions. That's not the scenario in Metcalfe's thesis by any stretch 
> of the imagination.

See above; again I don't see how the TCP example is changing Metcalfe's
argument at all, which is not about what you make out of the components
you find, but about the nature of things (if that term doesn't put you
off too much) in a thin-wire setting.

To quote from Metcalfe once more:

"But why make an issue out of something as simple as this
``best-efforts'' idea? Why call it a philosophy? Why give it a name at
all? For the simple reason that, without a conscious effort to do
otherwise, computer people (especially) find it easy to neglect the
potential offered by thin-wire isolation \emdash they've worked in
centralized environments for so long."


> 
> You also need to be careful about the use of the expression "best efforts" as it 
> means at least three different things now days.

Let me know. Thanks.

> 
> RB
> 
> On 6/2/2010 1:56 AM, Matthias Bärwolff wrote:
>>
>> On 06/01/2010 11:46 PM, John Day wrote:
>>    
>>>> Best effort to me seems absolutely central to the "Internet
>>>> architecture" -- I'd recommend reading Metcalfe's thesis' chapter 6
>>>> which really nicely elaborates the notion.
>>>>        
>>> This is the contribution from Pouzin implemented in CYCLADES, which
>>> Metcalfe picks up on for the more limited environment of the LAN.
>>>
>>>      
>> Pouzin's contribution notwithstanding, Metcalfe's thesis' chapter 6 to
>> me is the first proper elaboration of best effort as a philosophy; I
>> spare you the copious quotes, it is readily available on the web. Just a
>> brief one:
>>
>> \begin{quote}
>> Imagine that we are a component process in the midst of some large
>> system. There are two extreme attitudes we might have toward the system
>> and toward the several component processes upon which we depend. We
>> might believe the processes around us to be so reliable, irreplaceable,
>> and interdependent that, if one should fail, there would be little point
>> in trying to carry on. Or, we might believe the processes around us to
>> be so unreliable, expendable, and independent that, if some should fail,
>> there would be considerable potential in our being able to patch things
>> up to struggle on, weakened, but doing our job. This second attitude is
>> characteristic of what we call the ``best-efforts'' philosophy of
>> interprocess communication; it is based on our desire to give the system
>> our best efforts and, to do so, on our expecting only as much from the
>> processes upon which we depend.
>> (pp.\,6-25\,f.)
>> \end{quote}
>>
>> To my knowledge, Pouzin has never put it that clearly in writing.
>>
>> Also, best effort may be argued to have been a principle that was
>> applied to the Arpanet before Pouzin's Cyclades. Sure, there were VCs,
>> but, in all, failure and the recovery from such was very much a default
>> assumption in the whole system (a point that Metcalfe acknowledges, too).
>>
>> Matthias
>>    
> 
> -- 
> Richard Bennett
> Research Fellow
> Information Technology and Innovation Foundation
> Washington, DC
> 

-- 
Matthias Bärwolff
www.bärwolff.de



More information about the Internet-history mailing list