Subject: [p2pi] We don't need to treat users fairly, we need to maximize their happiness!

From: Laird Popkin <[email-masked]>
Date: Thu, 12 Jun 2008 07:31:50 -0400 (EDT)

The term 'fairness' is (IMO) distracting us from the real goals, since that word has emotional  implications  (e.g. "unfairness"). And a discussion about fairness assumes that our goal is equal resource allocation in the context of a 'zero sum game'. I think that there equal allocation of resources isn't the best answer for users (e.g. a VOIP call and a PodCast aren't equal value bits), and there are certainly some cases where we're not in a zero sum game (i.e. being smarter can get much more performance out of the same physical resources). And, at least as relates to the p2p issues we're discussing, I don't know that fairness is even particularly important. 

I think what we're ultimately trying to achieve is to maximize user happiness when on a constrained network. This is different from "fairness" in that there are some pretty obvious cases where being "fair" does not maximize user satisfaction. That's not to say that fairness is bad - fairness is the best the network can do if there's no visibility into the actual value of the data, or ability to influence application-level decisions. But fairness isn't really our goal. Maximized user satisfaction is our goal. 

User satisfaction is, of course, too broad to use an an engineering goal directly. But there are many specific ideas that all address, in one way or another, the issue of maximizing user satisfaction in a resource limited environment: 
- Peer selection based on network topology (e.g. P4P) allows p2p to consume fewer resources and improving performance. Faster downloads make users happy. 
- Knowing which streams are congested (e.g. Re-ECN) allows apps to select between data sources to shift traffic away from congested areas. This improves performance for all concerned (users and their neighbors), making users happy. 
- Marking background transfer data as "scavenger class" could allow congested links to focus resources on the most time critical data. This makes the users with time sensitive transfers happy, and hopefully doesn't make the users doing background transfers unhappy. 
- ISPs exposing user quota status could allow applications to avoid triggering surcharges, or hitting caps, allow users to make informed decisions, etc. This makes the users happy. 

etc. 

- Laird Popkin, CTO, Pando Networks 
  mobile: 646/465-0570 

----- Original Message ----- 
From: "Richard Bennett" <[email-masked]> 
To: "Daniel Weitzner" <[email-masked]> 
Cc: [email-masked] 
Sent: Wednesday, June 11, 2008 9:51:37 PM (GMT-0500) America/New_York 
Subject: Re: [p2pi] One more proposed definition of fairness... 

Comments in-line: 

Daniel Weitzner wrote: 

Reflecting on the thread that followed Nick's original proposal  
(quoted below)....

I'd suggest that there are actually two kinds of fairness under  
discussion:

1. fairness between ISPs and their customers: you get the bandwidth  
and latency you pay for where those values are averaged over some  
stated period This isn't the scope of "fairness" as it's generally understood in networking standards, at least not the ones that I've worked on. I would suggest that "disclosure" or something along that line is the more relevant term. When engineers specify "fairness" mechanism, they generally have to do with your item number 2 below, an aspect of the multiple-access problem. 

2. fairness amongst network users: there are network mechanisms that  
guard against some traffic (perhaps generated by the hypothesized 5%)  
consistently degrading the traffic of others. That is, even though I  
may be receiving the promised average bandwidth as measured over a  
long period of time, the instantaneous performance is poor enough that  
I feel it.

 From the comments I've read I'll go out on a limb and suggest that no  
one really disagrees with the importance of achieving either notion.

I'll go further on a said limb and suggest that the IETF concentrate  
on mechanisms for enabling user-to-user fairness (#2) because it seems  
like a tractable engineering problem. User-to-user fairness is  
necessary but not sufficient to achieving user-to-ISP fairness (#1).  
It is the case that even with user-to-user fairness, ISPs may have to  
re-think their network provisioning in order to live up to their  
contractual and/or marketing promises made to users. That, however, is  
a business and regulatory problem. I do agree that it is important to  
have verifiable service metrics, but am not sure that this is the  
right place to sort those out. The suggestion for a TANA BOF in Dublin mentions the importance of metrics, to wit, relevant text highlighted: 

(3) A mechanism that lets an application that can
    transfer data from or to several potential peers (i.e.,
    servers, caches, end systems) select a subset of peers
    for efficient transmission in a way that is aligned with
    the dynamic interconnection structure of the network
    operators that provide connectivity to those peers.
    Application designers, network equipment vendors and
    network operators will need to collaborate on this work
    item to define what kinds of dynamic interconnection
    information is useful to applications , how to obtain it,
    and how to provide it to applications, resulting in a
    generic mechanism that is broadly applicable to many
    current and future applications. Given that applications need dynamic interconnection information - metrics - it seems like a small step to aggregate and export this for the purpose of service verification. But perhaps service verification is simply something that can be understood as an "application." 

In any event, "fairness" is only one of the issues in this work area, taking its place alongside congestion, optimization, and others. 

RB 

-- 
Richard Bennett 
_______________________________________________ p2pi mailing list [email-masked] https://www.ietf.org/mailman/listinfo/p2pi

_______________________________________________
p2pi mailing list
[email-masked]
https://www.ietf.org/mailman/listinfo/p2pi

---

From: Nicholas Weaver <[email-masked]>
Date: Thu, 12 Jun 2008 06:29:42 -0700

On Jun 12, 2008, at 4:31 AM, Laird Popkin wrote:

> The term 'fairness' is (IMO) distracting us from the real goals,  
> since that word has emotional implications (e.g. "unfairness"). And  
> a discussion about fairness assumes that our goal is equal resource  
> allocation in the context of a 'zero sum game'. I think that there  
> equal allocation of resources isn't the best answer for users (e.g.  
> a VOIP call and a PodCast aren't equal value bits), and there are  
> certainly some cases where we're not in a zero sum game (i.e. being  
> smarter can get much more performance out of the same physical  
> resources). And, at least as relates to the p2p issues we're  
> discussing, I don't know that fairness is even particularly important.
>
> I think what we're ultimately trying to achieve is to maximize user  
> happiness when on a constrained network. This is different from  
> "fairness" in that there are some pretty obvious cases where being  
> "fair" does not maximize user satisfaction. That's not to say that  
> fairness is bad - fairness is the best the network can do if there's  
> no visibility into the actual value of the data, or ability to  
> influence application-level decisions. But fairness isn't really our  
> goal. Maximized user satisfaction is our goal.
>

The problem is, if you want to maximize the aggregate user  
satisfaction for a large number of users, rather than fairness, you  
are going to invite protocol-based discrimination between users.

EG, if "Happyness" is defined as "My voip works, my interactive  
sessions are great, my web surfing is OK, etc" for a large group of  
users, dropping all bulk-data P2P on the floor is a great maximizing  
function in times of congestion!

Look at it this way, except for a few individuals, Comcast killing  
seeds and leeches increases user "happyness" by a considerable amount  
(they stopped getting complains about deliberately disrupting VoIP  
services), and unless the seeding was deliberate, it even increases  
happyness for the local users' whos traffic it kills.

Fairness, on the other hand, can be quantified, defined, and,  
critically, does not and should not require INTER-user protocol  
discrimination.