Говоря простым языком, он заметил что-то… очень странное. Как в популярной шутке: самая интригующая фраза, которую можно услышать от первооткрывателя в науке, не «эврика!», а «это странно».
Вначале Геттис подумал, что что-то не так с его модемом. То, о чем говорила его семья, называя проблемой с интернетом, казалось просто «затором» в их домашней розетке. Пакеты, которые должны были отправиться в Бостон, не застревали на полпути туда; они застревали в доме.
Но чем больше Геттис вникал в происходящее, тем больше он начинал беспокоиться. Проблема негативно сказывалась не только на роутере и модеме в его доме, но в каждом доме. И проблема заключалась вовсе не в сетевых устройствах – она была в компьютерах, в десктопах, лэптопах, планшетах, смартфонах, работающих на Linux, Windows и OS X. И дело было не в аппаратном оборудовании конечного пользователя: проблема затрагивала всю инфраструктуру интернета в целом. Геттис начал обсуждать это с ключевыми сотрудниками из Comcast, Verizon, Cisco и Google, включая Ван Джейкобсона и Винта Серфа, и постепенно головоломка начала складываться.
Проблема была повсюду. И заключалась она в раздувании буфера обмена.
Буфер – это, по сути, очередь, роль которой состоит в том, чтобы сглаживать вспышки информационной передачи. Если бы вы зашли в магазин за пончиками примерно в то же время, когда и другой посетитель, это не привело бы к тому, что кассир не смог бы справиться с работой и вас попросили бы покинуть магазин и зайти в другое время. Посетители, разумеется, не пошли бы на это. Не пошел бы на это и менеджмент: такая политика гарантирует крайне неэффективное выполнение кассиром своей работы. А организация покупателей в очередь гарантирует, что средняя пропускная способность магазина приближается к максимуму. И это хорошо.
Такое превосходное средство по утилизации ресурсов имеет вполне реальные издержки – задержку в обслуживании. Когда Том взял свою дочь на фестиваль Синко де Майо в Беркли, она решила попробовать блинчик с шоколадом и бананом. Они встали в очередь и стали ждать. Через 20 минут Том сделал заказ. Но после оплаты ему пришлось ждать еще 40 минут, чтобы получить наконец блинчик. (Как и Джиму Геттису, Тому пришлось выслушать многочисленные жалобы дочери.) Прием заказов, как оказалось, занимал гораздо меньше времени, чем приготовление блинчиков, поэтому очередь для того, чтобы сделать заказ, была лишь частью задачи. По крайней мере, процесс был визуально понятным: покупатели знали, зачем они стоят в очереди. Вторая, более длинная очередь была неочевидной. В этом случае было бы гораздо правильней ограничить длину первой очереди и временно приостанавливать прием заказов, если она достигла критической отметки, оповещая об этом с помощью соответствующей таблички. Отказ части покупателей стал бы выгодней для всех (не важно, дождались бы они укорачивания очереди или ушли совсем). Для лавки с блинами это не означало бы каких-либо упущенных финансовых возможностей, поскольку в любом случае они могут продать лишь столько блинов, сколько могут приготовить в день, вне зависимости от того, как долго ждут их покупатели.