Переклад третьої частини "Посібника з Метаверсу" Метью Болла, яка зосереджена на ролі мереж в Метаверсі. Мережеві технології тут визначаються як забезпечення постійного з’єднання у режимі реального часу, високої пропускної здатності та децентралізованої передачі даних постачальниками магістральних мереж, мережами, центрами обміну даних та службами, які виконують маршрутизацію між ними, а також тими, хто керує даними "останньої милі" до споживачів.

Три базові напрямки роботи мереж - пропускна здатність (bandwidth), затримка (latency) та надійність (reliability) - імовірно, будуть найменш цікавими для більшості читачів. Однак їхні обмеження та розвиток формують те, як ми розробляємо продукти та послуги у Метаверсі, коли ми можемо їх використовувати і що ми можемо (і, можливо, ніколи не зможемо) зробити.
Пропускну здатність зазвичай називають "швидкістю", але насправді це те, скільки даних можна передати за одиницю часу. Вимоги до Метаверсу набагато вищі, ніж до більшості інтернет-застосунків та ігор, і виходять за рамки багатьох сучасних підключень. Це можна зрозуміти на прикладі Microsoft Flight Simulator.
Microsoft Flight Simulator — це найреалістичніша і найдорожча симуляція для користувачів в історії. Вона містить 2 трильйони окремих дерев, 1,5 мільярда будівель і майже кожну дорогу, гору, місто та аеропорт, що є у світі… усі вони виглядають як "справжні", оскільки були створені на основі високоякісних сканів справжніх об'єктів. Але для цього Microsoft Flight Simulator потребує понад 2,5 петабайтів даних — або 2 500 000 гігабайтів. Споживчі пристрої (та більшість корпоративних пристроїв) не можуть зберігати таку кількість даних.
І навіть якби вони могли, Microsoft Flight Simulator — це "живий" сервіс, який оновлюється, щоб відображати реальну погоду (включаючи точну швидкість і напрям вітру, температуру, вологість повітря, дощ і освітлення) і повітряний рух. Ви можете буквально потрапити в реальні урагани та шторми, слідуючи за справжніми комерційними авіалайнерами.
Microsoft Flight Simulator працює, зберігаючи основний обсяг даних на вашому локальному пристрої. Але коли користувачі знаходяться онлайн, Microsoft за потреби передає величезні обсяги даних на пристрій гравця. Думайте про це, ніби ви справжній пілот. Коли він перелітає через гору або за поворот, нова інформація потрапляє на сітківку його очей, відображаючи, а потім уточнюючи, що там відбувається. До цього він не має нічого, крім знання, що там щось буде.

Більшість геймерів вважають, що так відбувається у всіх багатокористувацьких онлайн-іграх. Але, на справді, більшість ігрових сервісів надсилають лише дані про позицію гравця та вхідні дані (постріли, кинута бомба) та загальні дані (наприклад, гравці, які залишились в "королівській битві"). Весь ігровий контент вже є на вашому локальному пристрої, отже, його завантаження та встановлення може займати багато часу.
Надсилаючи візуалізовані дані за потребою, ігри можуть мати набагато більшу різноманітність елементів, об'єктів та середовищ. І вони можуть робити це, не вимагаючи завантаження та встановлення даних, що затримують гру, пакетного оновлення або наявності величезних жорстких дисків у користувача. Як наслідок, багато ігор тепер використовують цю гібридну модель локально збереженої інформації та потокової передачі даних. Такий підхід є найбільш важливим для платформ, орієнтованих на Метаверс. Наприклад, Roblox потребує (і отримує за це більше переваг) різноманітності контенту, предметів та ігрових рівнів, ніж такі ігри, як Mario Kart або Call of Duty.
Зі зростанням складності та важливості віртуальних симуляцій кількість даних, які потрібно передавати, буде збільшуватися. Принаймні зараз Roblox виграє від того факту, що ряд базових префабів і ассетів використовується повторно і легко переналаштовується. З огляду на це, Roblox переважно передає дані про те, як налаштувати раніше завантажені елементи. Але в кінцевому підсумку віртуальна платформа захоче мати майже нескінченну кількість переналаштувань та об'єктів (і майже всі з них розробники не зможуть повністю передбачити).
Віртуальні платформи-близнюки (також відомі як "дзеркальні світи"), такі як Microsoft Flight Simulator, вже мають відтворювати майже нескінченну (і правдиву) різноманітність реального світу. Це означає - надсилати набагато більше даних, ніж просто "темна хмара тут" або "темна хмара, яка на 95% схожа на темну хмару C-95". Натомість буде - "темна хмара саме з такими параметрами". І що важливо, ці дані змінюються в реальному часу.
Цей останній пункт є ключовим. Якщо ми хочемо взаємодіяти у великому, в режимі реального часу, спільному та постійному віртуальному середовищі, нам потрібно буде отримувати велику кількість потокових даних із хмарних сховищ.
Порівняйте "реальний світ" з картою Fortnite. На Землі всі перебувають у тій самій "симуляції", в один і той же час і з повною постійністю. Якщо я зрубаю дерево, це дерево безповоротно зникне і зникне для всіх. Коли ви граєте у Fortnite, це відбувається лише у фіксованій версії карти на певний момент часу. І все, що ви робите на цій карті, доступне лише купці користувачів протягом короткого періоду, перш ніж все буде "перезавантажено". Зрубати дерево? Його буде "перезавантажено" протягом 1-25 хвилин, і спочатку воно зникне лише для 99 інших користувачів. Карта змінюється лише тоді, коли Epic Games надсилає нову версію. І якби Epic Games захотіла розіслати ваш світ всім іншим, вони б вибрали ваш всесвіт, вимкнули інші, і зафіксували б ваш всесвіт у певний момент часу. Для багатьох віртуальних розваг це добре. Це також підійде для багатьох специфічних досвідів для Метаверсу. Але деякі (якщо не найважливіші) досвіди потребують постійності для всіх користувачів і в будь-який час.

Передача даних через хмарні сервіси також є важливою, якщо ми хочемо безперешкодно переходити між різними віртуальними світами. Концерт Тревіса Скотта від Fortnite передбачав плавне перенесення гравців з основної карти гри в глибини ніколи не баченого океану, потім на ніколи не бачену планету, а потім у глибини космосу. Щоб зробити це, Epic відправила користувачам усі ці ігрові світи за кілька годин до події через стандартний патч Fortnite (це, звичайно, означало, що якщо користувачі не завантажили та не встановили оновлення до початку події, вони не змогли взяти в ньому участь). Потім, під час кожного етапу виступу, пристрій кожного гравця завантажував наступний етап у фоновому режимі. Ця система працює неймовірно добре, але вона вимагає від видавця знати заздалегідь, до яких світів піде користувач. Якщо ви хочете вибирати, і вибирати з широкого діапазону місць призначення, ви повинні або завантажити користувачам всі можливі варіанти (що неможливо), або передати їх у хмару.
На додаток до збільшення даних про навколишнє середовище є додаткові дані про гравців. Коли ви бачите свого друга у Fortnite сьогодні, сервер Fortnite просто має надіслати вам інформацію про те, де знаходиться ваш друг і що він намагається зробити - анімації (наприклад, перезарядження штурмової гвинтівки або падіння) вже завантажено на ваш пристрій, і їх потрібно лише запустити. Але коли на аватар вашого друга у реальному часі накладаються дані про захоплення руху, цю детальну інформацію також потрібно надіслати. Разом з усім іншим. Якщо ви хочете переглянути відеофайл у цій грі, як іноді пропонує Fortnite, його також потрібно відправити у віртуальний світ. Чуєте просторовий звук натовпу? Те саме. Відчуваєте, як перехожий торкається плеча вашого тактильного костюма? Те саме.
Багато гравців вже зазнають проблем з пропускною здатністю та перевантаженістю мережі в онлайн-іграх, які вимагають лише позиційних і вхідних даних. Метаверс лише посилить ці проблеми. Хороша новина полягає в тому, що проникнення широкосмугового доступу та пропускна здатність обладнання постійно покращуються у всьому світі. Обчислення, які будуть детальніше обговорені в наступному розділі, також покращуються і можуть допомогти замінити обмежену передачу даних, передбачивши, що має відбутися до того моменту, коли можна буде підставити "реальні" дані.
Найбільшою проблемою в мережі є й найменш зрозуміла: затримка (latency). Затримка означає час, необхідний для передачі даних з однієї точки в іншу і назад. У порівнянні з пропускною здатністю мережі (вгорі) і надійністю (унизу), затримка зазвичай вважається найменш важливим ключовим фактором. Це тому, що більшість інтернет-трафіку є одностороннім або асинхронним. Не має значення, чи проходить 100 мс чи 200 мс або навіть двосекундна затримка між відправленням повідомлення у WhatsApp та отриманням сповіщення про прочитання. Також не має значення, чи потрібно 20 мс, чи 150 мс, чи 300 мс після натискання кнопки паузи на YouTube, доки відео не зупиниться. Під час перегляду відео для Netflix важливіше, щоб потік відтворювався безперервно, а не у ту ж саму мить, як ви натиснули "Плей". З цією метою Netflix штучно затримує початок відеопотоку, щоб ваш пристрій міг завантажити його до того моменту, як ви почнете його дивитись. Таким чином, якщо у вашій мережі станеться збій або заминка на мить або дві, ви цього ніколи не помітите.
Навіть відеодзвінки, які є синхронними, мають відносно високу терпимість до затримки. Відео — це найменш важливий елемент дзвінків, тому аудіо, яке є "найлегшими" даними, зазвичай пріоритетніше у програмах для відеодзвінків, якщо виникає проблема в мережі. І якщо ваша затримка тимчасово збільшується — навіть до секунди, а не мілісекунд — програмне забезпечення може врятувати вас, збільшуючи швидкість відтворення вашого аудіо, швидко редагуючи паузи. Крім того, учасники можуть легко упоратись із затримкою — їм треба лише трішки почекати.
Однак найбільш захопливі багатокористувацькі онлайн-ігри класу AAA вимагають низької затримки. Це пояснюється тим, що затримка визначає, як швидко гравець отримує інформацію (наприклад, де знаходиться гравець, чи була кинута граната чи футбольний м’яч) і як швидко відповідь про його дії передається іншим гравцям. Іншими словами, затримка визначає, виграєте ви чи програєте, вбили ви чи вас. Ось чому більшість сучасних ігор працюють із 2-4 кратною середньою частотою оновлення кадрів (60-120к/с), і чому ми швидко прийняли це збільшення, навіть якщо ми опираємось вищій частоті кадрів для традиційного відео. Це потрібно для продуктивності.
Людський поріг затримки неймовірно низький у відеоіграх, особливо у порівнянні з іншими середовищами. Розглянемо, наприклад, традиційне відео у порівнянні з відеоіграми. Звичайна людина навіть не помічає, що аудіо не синхронізовано з відео, якщо воно не надходить більш ніж на 45 мс раніше або більше ніж на 125 мс пізніше (усього 170 мс). Поріг прийнятності ще ширший: 90 мс раніше і 185 мс пізніше (275 мс). З цифровими кнопками, такими як кнопка паузи на YouTube, ми вважаємо, що наші кліки були невдалими, тільки якщо ми не бачимо відповіді через 200–250 мс. В іграх AAA-класу завзяті геймери розчаровуються на затримці у 50 мс, і навіть ті, хто не грає постійно, відчувають труднощі на 110 мс. В ігри не можливо грати при затримці у 150 мс. Компанія Subspace виявила, що в середньому збільшення або зменшення затримки на 10 мс зменшує або збільшує тижневий час проведений у грі на 6%. Це надзвичайний показник, з яким не стикався жоден інший вид бізнесу.

Маючи на увазі вищезгадані діапазони, подивімось на середню затримку в усьому світі. У Сполучених Штатах середній час для даних, які надсилаються з одного міста в інше та назад, становить 35 мс. Багато пар перевищують цей показник, особливо міста з високою щільністю та інтенсивними піками попиту (наприклад, з Сан-Франциско до Нью-Йорка ввечері). Ще є час у дорозі "від міста до користувача", який особливо схильний до уповільнення. Щільні міста, квартали чи кондомініуми можуть легко перевантажитись. А якщо ви граєте на мобільному телефоні, затримка 4G сьогодні в середньому становить ще 40 мс. А якщо ви живете за межами великого центру міста, ваші дані, можливо, доведеться переміщати ще 100 миль через застарілу, погано доглянуту інфраструктуру. У всьому світі середня затримка коливається від 100 до 200 мс між містами.

Щоб впоратись із затримкою, індустрія онлайн-ігор розробила ряд проміжних рішень і хаків. Однак жоден з них не є особливо ефективним.
Наприклад, більшість високоякісних багатокористувацьких ігор використовують сервери у регіонах. Зменшуючи перелік гравців тільки до тих, хто живе на північному сході США, у Західній Європі чи Південно-Східній Азії, видавці ігор можуть мінімізувати затримки через географічний фактор. Оскільки ігри – це дозвілля, і в нього зазвичай грають від одного до трьох друзів, така кластеризація працює досить добре. Зрештою, навряд чи ви будете грати з кимось, хто знаходиться за кілька часових поясів від вас. І вам все одно, де живуть ваші невідомі опоненти (з якими ви зазвичай навіть не можете поговорити). Проте, Subspace виявила, що приблизно три чверті всіх інтернет-з’єднань на Близькому Сході знаходяться поза межами прийнятної затримки для динамічних багатокористувацьких ігор, тоді як у Сполучених Штатах та Європі – тільки чверть. Здебільшого це показує обмеження широкосмугової інфраструктури, а не розміщення серверів.
Багатокористувацькі онлайн-ігри також використовують рішення "netcode" для забезпечення синхронізації та узгодженості дій гравців. "Неткод" на основі затримки скаже пристрою гравця (наприклад, PlayStation 5) штучно відкласти відтворення вхідних даних його власника, поки не надійдуть дані гравця з більшою затримкою (тобто його опонента). Це буде дратувати гравців із м’язовою пам’яттю, налаштованою на низьку затримку, але це працює. "Відкочування" неткоду є складнішим. Якщо вхідні дані опонента затримуються, пристрій гравця діятиме відповідно до того, що він очікував. Якщо ж виявиться, що супротивник зробив щось інше, пристрій спробує розвернути анімацію в процесі, а потім відтворити її "правильно".
Ці рішення добре працюють для ігор "1 на 1" (наприклад, 2D-двобої), для невеликих затримок (наприклад, ±40 мс) та ігор з обмеженим діапазоном високопередбачуваних дій (наприклад, гра за кермом, 2D-двобої). Але в міру того, як ми розширюємося до ігор більш орієнтованих на Метаверс з більшою кількістю гравців, більшими варіаціями затримок і більш динамічними сценаріями, ці рішення погіршуються. Важко чітко й правильно передбачити дії десятка гравців і "відкатити їх" безперешкодно. Замість цього доцільніше просто відключити гравця, який відстає. І хоча у відеодзвінку бере участь багато учасників, у певний момент часу лише один дійсно має значення (той, що говорить), і, отже, існує "основна" затримка. У грі має значення отримання правильної інформації від усіх гравців, що збільшує затримку.
Низька затримка не є проблемою для більшості ігор. Такі ігри, як Hearthstone або Words with Friends, є або покроковими, або асинхронними, тоді як інші хіти, такі як Honor of Kings або Candy Crush, не потребують ні піксельної досконалості, ні точних до мілісекунд вхідних даних. Насправді тільки ігри на кшталт Fortnite, Call of Duty та Forza вимагають низької затримки. Такі ігри є прибутковими, але вони становлять невелику частину загального ринку ігор, що випускаються, і ще меншу частку загального часу проведеного у грі.
Проте, хоча Метаверс не є грою класу AAA, її соціальна природа та бажана значущість потребують низької затримки. Легкі рухи обличчя неймовірно важливі для людської розмови — і ми надзвичайно чутливі до незначних помилок та проблем із синхронізацією (звідси й проблема "зловісної долини" в CGI). Соціальні продукти також залежать від їх розповсюдженості. Тільки уявіть, якби FaceTime або Facebook не працювали, якщо, наприклад, ваші друзі чи родина не перебувають у межах 500 миль від вас. Або тільки коли ви були б вдома. І якщо ми хочемо використовувати іноземну або дистанційну працю у віртуальному світі, нам потрібно набагато більше, ніж просто надлишкова пропускна здатність.

На жаль, затримка є найважчим і найповільнішим у виправленні з усіх мережевих атрибутів. Частково проблема пов’язана, як уже згадувалося вище, з тим, що тільки невеликій кількості служб та застосунків потрібна наднизька затримка. Це обмежує комерційне обґрунтування для будь-якого мережевого оператора або мережі постачання контенту (CDN), орієнтованої на затримку - і бізнес-впровадження тут вже під питанням і суперечить фундаментальним законам фізики.
На відстані 11 000–12 500 км світлу потрібно 40-45 мс, щоб подолати відстань з Нью-Йорка до Токіо чи Мумбаї. Це відповідає всім пороговим значенням низької затримки. І все ж, хоча більша частина магістралі Інтернету — це оптоволоконний кабель, він втрачає приблизно 30% швидкості, оскільки рідко розташований у вакуумі (+ втрати приблизно 3,5 дБ/км). Мідні та коаксіальні кабелі мають ще гіршу деградацію затримки на відстані та більш обмежену пропускну здатність, що означає більший ризик перевантаження та затримки доставлення даних. Ці кабелі все ще становлять більшу частину з тих, що зустрічаються в житлових і комерційних будівлях, а також мікрорайонах.
Крім того, жоден із цих кабелів не прокладається прямою лінією. І те, що ми зазвичай називаємо "магістраллю Інтернету", насправді є різношерстним об’єднанням приватних мереж, жодна з яких повністю не доставляє пакет даних (або не має стимулу відступити від конкурентів зі швидшим сегментом або двома). В результаті відстань у мережі між парою серверів або сервером і клієнтом може бути значно більшою за їхню географічну відстань. Крім того, перевантаження мережі може призвести до того, що трафік буде направлено не на пряму, щоб забезпечити надійне та безперервне постачання даних, а не мінімізувати затримки. Ось чому середня затримка від Нью-Йорка до Токіо в 4 рази перевищує час, який потрібно світлу, щоб подолати відстань між цими двома містами, і в 4–6 разів від Нью-Йорка до Мумбаї.
Модернізувати або поліпшити будь-яку кабельну інфраструктуру неймовірно дорого і важко, особливо якщо метою є мінімізувати географічну відстань. Це також вимагає схвалення регулятора/уряду, як правило, на багатьох рівнях. Звичайно, простіше вдосконалити бездротові мережі. І 5G, безумовно, допомагає, оскільки в середньому зменшує затримку на 20–40 мс у порівнянні з 4G (і обіцяє лише 1 мс затримки). Однак це допомагає лише на останніх кількох сотнях метрів передачі даних. Як тільки ваші дані потрапляють на вежу, ви повертаєтеся до традиційних магістралей.
Starlink, підрозділ SpaceX, який займається розробкою супутникового Інтернету, обіцяє надавати послуги Інтернету з високою пропускною здатністю та низькою затримкою в Сполучених Штатах і, зрештою, у всьому світі. Але це не розв'язує проблему надзвичайно низької затримки, особливо на великих відстанях. У той час як Starlink обіцяє затримку 18–35 мс у дорозі від вашого будинку до супутника і назад, цей час збільшується, коли дані мають передаватися з Нью-Йорка в Лос-Анджелес і назад. Зрештою, це потребує ретрансляції сигналу через декілька супутників. У деяких випадках Starlink навіть збільшує відстань доставлення даних. Від Нью-Йорка до Філадельфії приблизно 100 миль по прямій і, можливо, 125 миль по кабелю, але більше ніж 700 миль, якщо мандрувати до низькоорбітального супутника і назад. Крім того, оптоволоконний кабель має набагато менші втрати даних, ніж світло, що передається через атмосферу, особливо в похмурі дні. Щільні міські райони також зашумлені тож піддаються перешкодам. У 2020 році Ілон Маск підкреслив, що Starlink зосереджений на "найважчих в обслуговуванні клієнтах, до яких [телекомунікаційним компаніям] важко дістатись" У цьому сенсі - він залучає більше користувачів в Метаверс, а не стимулює тих, хто вже там.
Абсолютно нові технології, бізнес-напрямки та послуги розробляються, щоб задовольнити зростаючу потребу в застосунках з пропускною здатністю в реальному часі. Subspace, наприклад, розгортає обладнання в сотнях міст, щоб розробляти "погодні карти" для пошуку мережевих шляхів з низькою затримкою, керує мережевим стеком, який потім координує потреби програм з низькою затримкою з багатьма третіми сторонами, які складають цей шлях, і навіть побудувала оптичну мережу, яка з’єднується між різними оптоволоконними мережами, щоб ще більше скоротити відстань між серверами та звести до мінімуму використання не оптоволоконних кабелів.
Fastly, тим часом надає CDN, яка оптимізована для застосунків з низькою затримкою, а не тільки орієнтовану на надійність постачання даних та пропускну здатність. Компанія використовує підхід "інфраструктура як код", який дозволяє клієнтам налаштовувати майже кожен аспект периферійних обчислювальних кластерів компанії, і обіцяє, що програмне забезпечення може очистити та замінити весь кешований вміст у всіх цих кластерах у всьому світі протягом 150 мс, і що воно навіть може кешувати та прискорювати окремі транзакції у блокчейні в режимі реального часу.
Надійність досить очевидна. Наша здатність перейти до віртуальної праці та навчання безпосередньо залежить від надійної якості обслуговування. Це охоплює як загальний час безперебійної роботи, так і узгодженість інших атрибутів, таких як пропускна здатність завантаження/вивантаження та затримка. Для багатьох із тих, хто сьогодні "живе в Інтернеті", багато з вищесказаного може здатися панікерським. Netflix в більшості випадків чудово транслює відеопотік в 1080p або навіть 4K! Однак такі сервіси, як Netflix, використовують рішення для надійності, які погано працюють для ігор або програм для Метаверсу.
Відеосервіси, як-от Netflix, отримують усі відеофайли заздалегідь, від годин до місяців, перш ніж вони стануть доступними для аудиторії. Це дозволяє їм зменшити (або "стиснути") розмір файлів шляхом аналізу даних кадру, щоб визначити, яку інформацію можна відкинути. Алгоритми Netflix "подивляться" сцену з блакитним небом і вирішать, що, якщо швидкість Інтернету глядача зменшиться, 500 різних відтінків синього можна спростити до 200, 50 або 25. Аналітика стримінгового сервісу робить це навіть на контекстній основі — усвідомлюючи, що сцени діалогу можуть бути більше стисненими, ніж сцени зі швидшим темпом дії. Це багатопрохідне кодування. Як обговорювалося раніше, Netflix також використовує вільну пропускну спроможність для надсилання відео на пристрій користувача, перш ніж воно буде потрібно — таким чином, якщо відбувається тимчасове падіння підключення або збільшення затримки, кінцевий користувач не відчуває жодних змін. Крім того, Netflix попередньо завантажує вміст на локальні вузли; тому, коли ви надсилаєте запит на новий епізод "Stranger Things", насправді він знаходиться лише за кілька кварталів від вас. Це неможливо для відео або даних, створених у прямому ефірі, які, як зазначено вище, також мають надходити швидко. Ось чому важче забезпечити хмарний потік 1 ГБ Stadia (платформа для ігор), ніж 1 ГБ Netflix.
Тому, попри те, що його мета не обов’язково є конкурентною за своєю суттю, ми повинні думати про Метаверс як про підвищення вимог до всіх аспектів мережі — затримки, надійності/стійкості та пропускної здатності — до вимог багатокористувацьких ігор класу AAA. Не має значення, наскільки потужний ваш пристрій (див. апаратне забезпечення та обчислення), якщо він не може своєчасно отримувати всю необхідну інформацію.
