Networked Life:
20 Questions and Answers
Mung Chiang
Princeton University
April 2012 Draft
Contents
Preface
Acknowledgements
Roadmap
What makes CDMA work for my smartphone?
How does Google sell ad spaces?
How does Google rank webpages?
How does Netflix recommend movies?
When can I trust an average rating on Amazon?
Why does Wikipedia even work?
How do I viralize a YouTube video and tip a Groupon deal?
How do I influence people on Facebook and Twitter?
Can I really reach anyone in 6 steps?
Does the Internet have an Achilles’ heel?
Why do AT&T and Verizon Wireless charge me $10 a GB?
How can I pay less for my Internet connection?
How does traffic get through the Internet?
Why doesn’t the Internet collapse under congestion?
How can Skype and BitTorrent be free?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
page v
viii
xi
1
25
44
60
88
109
127
155
189
210
230
251
273
306
331
iv
Contents
16
17
18
19
20
What’s inside the cloud of iCloud?
IPTV and Netflix: How can the Internet Support Video?
Why is WiFi faster at home than at a hotspot?
Why am I only getting a few % of advertised 4G speed?
Is it fair that my neighbors iPad downloads faster?
Notes
Index
354
376
401
427
446
467
469
Preface
You pick up your iPhone while waiting in line at a coffee shop. You Google a
not-so-famous actor and get linked to a Wikipedia entry listing his recent movies
and popular YouTube clips. You check out user reviews on IMDB and pick one,
download that movie on BitTorrent or stream that in Netflix. But suddenly the
WiFi logo on your phone is gone and you’re on 4G. Video quality starts to
degrade a little, but you don’t know if it’s the video server getting crowded in
the cloud or the Internet is congested somewhere. In any case, it costs you $10
per gigabyte, and you decide to stop watching the movie, and instead multitask
between sending tweets and calling your friend on Skype, while songs stream
from iCloud to your phone. You’re happy with the call quality, but get a little
irritated when you see there’re no new followers on Twitter.
You’ve got a typical networked life, an online networked life.
And you might wonder how all of these technologies “kind of” work, and why
sometimes they don’t. Just flip through the table of contents of this book. It’s a
mixture: some of these questions have well defined formulations and clear answer
while others still face a significant gap between the theoretical models and actual
practice; a few don’t even have widely-accepted problem statements. This book
is about formulating and answering these 20 questions.
This book is about the networking technologies we use each day as well as
the fundamental ideas in the study of networks. Each question is selected not
just for its relevance to our daily lives, but also for the core concepts and key
methodologies in the field of networking that are illustrated by its answer. These
concepts include aggregation and influence, distributed coordination, feedback
control, and strategic equilibrium. And the analytic machineries are based on
mathematical languages that people refer to as graph, optimization, game, and
learning theories.
This is an undergraduate textbook for a new course at Princeton University:
Networks: Friends, Money, and Bytes. The course targets primarily juniors
in electrical engineering and computer science, but also seniors and beginning
graduate students as well as students from mathematics, sciences, economics, and
engineering in general. It can be viewed as the second course after the “signals
and systems” course that anchors the undergraduate electrical and computer
engineering curriculum today.
This book weaves a diverse set of topics you would not normally see under
vi
Preface
the same cover into a coherent stream: from Arrow’s impossibility and Rawls’
fairness to Skype signaling and Clos networks, from collaborative filtering and
firefly synchronization to MPEG/RTSP/TCP/IP and WiFi CSMA DCF. This
begs a question: “So, what is the discipline of this book?”, a question that most
of the undergraduates simply do not care about. Neither does this book: it only
wants to address these practical questions, using whatever modeling languages
that have been observed to be the most relevant ones so far. Turns out there is
a small and coherent set of mathematics we will need, but that’s mostly because
people have only invented a limited suite of modeling languages.
This is not a typical textbook for another reason. It does not start with general
theories as do many books on these subjects, e.g., graph theory, game theory,
optimization theory, or abstract concepts like feedback, coordination, and equi-
librium. Instead it starts with concrete applications and practical answers, and
sticks to them (almost) every step of the way. Theories and generalizations only
emerge, as if “accidental by-products”, during the process of formulating and
answering these questions.
This book, when used as an undergraduate textbook, can be complemented
with its website features: http://www.network20q.com, including lecture slides,
problem solutions, additional questions, further pointers to references, collec-
tion of news media coverage of the topics, currency-earning activities, course
projects, blogs, tweets, surveys, and student-generated course materials in wiki.
We created web features that turn this class into an online social network and a
networked economy.
This book can also be used by engineers, technology managers, and pretty
much anyone with a keen interest in understanding how social and technologi-
cal networks work. On many spots, we sacrifice generality for accessibility, and
supplement symbolic representation by numerical illustration.
• The first section of each chapter is a “short answer”, and it is accessible by
most people.
• Then there’s a “long answer” section. If you remember differentiation and
linear algebra (and occasionally a little bit of integration and basic proba-
bility), you can follow all the material there. We take great care to include
only those symbols and equations that’re really necessary to unambigiously
express the ideas.
• The “examples” section contains detailed, numerical examples to reinforce the
learning from the “long answer” section.
• Each chapter concludes with a section on “advanced material,” which requires
the reader to be quite comfortable with symbolic operations and abstract
reasoning, but can be skipped without losing the coherence and gist of the
book. In the undergraduate course taught at Princeton, almost none of the
advanced material is covered. Covering all the advanced material sections
would constitute an introductory graduate level course.
• At the end of each chapter, there’re 5 homework questions, including easy
Preface
vii
drills, essential supplements, and some “out-of-syllabus” explorations. The
level of difficulty is indicated on a scale of 1 (easy) to 3 (hard) stars.
• There are also 5 key references per chapter (yes, only 5, in the hope that
undergraduates may actually read some of these 5, and my apologies to
the authors of thousands of papers and books that could have been cited).
These references open the door to many worthwhile further readings, in-
cluding textbooks, research monographs, and survey articles.
This is a (relatively) thin book. It’s a collage of snapshots, not an encyclopedia.
It’s an appetizer, not an entree. We realize that the majority of readers will not
pursue a career specializing in the technical material in this book, so we take
every opportunity to delete material that’s very interesting to specialists but not
essential to this undergraduate course. Each one of these 20 chapters deserves
many books for a detailed treatment. We only highlight a few key ideas in the
span of about 20 pages per chapter and 80 minutes per lecture. There are many
other mathematical languages in the study of networks, many other questions
about a networked life, and many other types of networks that we do not have
time to cover in one semester. But as the saying goes for a course: “It’s more
important to uncover than to cover a lot.”
This is a book illustrating some pretty big ideas in networking, through 20
questions we can all relate to in our daily lives. Questions that tickle our imag-
ination with surprises and incomplete answers. Questions that I wished I had
known how to answer several years ago. Questions that are quickly becoming an
essential part of modern education in electrical and computer engineering.
But above all, we hope this book is fun to read.
Acknowledgements
In so many ways I’ve been enjoying the process of writing this book and creating
the new undergraduate course at Princeton University. The best part is that I
got to, ironically in light of the content of this book, stay offline and focus on
learning a few hours a day for several hundred days. I got to digest wonderful
books and papers that I didn’t get a chance to read before, to think about what’re
the essential points and simple structures behind the drowning sea of knowledge
in my research fields, and to edit and re-edit each sentence I put down on paper.
It reminded me of my own sophomore year, one and half decade ago, at Stanford
University. I often biked to the surreally beautiful Oval in the morning and dived
into books of many kinds, most of which not even remotely related to my majors.
As the saying goes, that was a pretty good approximation of paradise.
That paradise usually ends together with the college years. So I have many
to thank for granting me a precious opportunity to indulge myself again at this
much later stage in life.
• The new course “Networks: Friends, Money, and Bytes” could not have been
created without the dedication from its three remarkable TAs: Jiasi Chen,
Felix Wong, and Pei-yuan Wu. They did so much more for the course than
a “normal” TA experience.
• Many students and postdocs in Princeton’s EDGE Lab and EE Department
worked with me in creating worked examples: Chris Brinton, Amitabha
Ghosh, Sangtae Ha, Joe Jiang, Carlee Joe-Wong, Yiannis Kamitsos, Haris
Kremo, Chris Leberknight, Soumya Sen, Arvid Wang, and Michael Wang.
• Princeton students in ELE/COS 381’s first offering were brave enough to take
a completely new course and contributed in many ways, not the least the
class website blogs and course projects. Students in the graduate course
ELE539A also helped proofread the book draft and created multiple choice
questions.
• Before I even get a chance to advertise the course, some colleagues started
planning to offer similar courses at their institutions: Jianwei Huang (CUHK,
Hong Kong), Hongseok Kim (Sogang U., Korea), Tian Lan (GWU), Walid
Saad (U. Miami), Chee Wei Tan (City U., Hong Kong), Kevin Tang (Cor-
nell), more...
• Over 50 colleagues provided valuable suggestions to the course and the book.