Читати книгу - "ХЗ. Хто знає, яким буде майбутнє"
Шрифт:
Інтервал:
Добавити в закладку:
Інформатики Браян Керніґан і Роб Пайк, які були одними з перших членів спільноти, що створила Unix, писали у своїй книжці «Середовище програмування Unix» (The Unix Programming Environment): «Попри те, що система UNIX впроваджує багато інноваційних програм і методів, окремо жодна програма чи ідея не можуть надійно працювати. Натомість ефективність системи визначає підхід до програмування, така собі філософія користування комп’ютером. Цю філософію не висловиш одним реченням, та основна ідея приблизно така: потужність системи ґрунтується радше на взаємодії програм, ніж на самих програмах»125. Інтернет теж побудований на архітектурі, орієнтованій на комунікації, де «слабко зв’язані деталі» (за влучним висловом Девіда Вейнберґера126) взаємодіють, утворюючи дещо масштабне.
У книжці «Системантика» (Systemantics), що стала класикою системної інженерії, Джон Ґалл писав: «Дієва комплексна система зазвичай бере початок із простої системи, що виявилася дієвою. І навпаки: комплексна система, розроблена нашвидкуруч, ніколи не стає і не може стати дієвою. Треба починати все спочатку, із простої дієвої системи»127.
Прості, децентралізовані системи відкривають більше можливостей, аніж централізовані, комплексні. Річ у тім, що прості системи швидше еволюціонують. Кожний децентралізований компонент загального блоку простих правил здатний розшукувати власну функцію пристосування. Компоненти, які працюють краще, відтворюються і поширюються; решта відмирають.
«Функція пристосування» — термін генетичного програмування. Це метод штучного інтелекту: моделювання розробки комп’ютерних програм, відповідно до еволюційної біології. Алгоритм націлений на маленькі програми, оптимізовані для певного завдання. Після кількох робочих циклів розробники знищують програми, які погано працюють, а на основі найуспішніших «вирощують» нові варіації.
Джон Ґалл писав книжку 1975 року, і ще не оперував терміном «функція пристосування». Генетичне програмування з’явилося лише 1988 року. Та додаймо поняття «функції пристосування» й «адаптивного ландшафту» до його теорії про здатність простих систем еволюціонувати й дивувати власних розробників — і маємо ефективний інструмент, щоб розібратися, як працюють комп’ютерні мережі й ринки.
Найбільш ілюстративний приклад такої системи — інтернет.
У 1960-х роках Пол Баран, Дональд Дейвіс, Леонард Клейнрок і ще кілька дослідників розробили теоретичну альтернативу мережам із комутацією каналів, на яких базувався телефон і телеграф, і назвали її комутацією пакетів. При комутації пакетів замість фізичного каналу зв’язку між двома точками призначення, повідомлення розбиваються на маленькі, стандартизовані пакети даних, передаються будь-яким найзручнішим маршрутом і знову з’єднуються у вузлі-одержувачі.
Такі мережі, як NPL (Мережа Національної фізичної лабораторії) в Сполученому Королівстві та Arpanet (Мережа агентства передових досліджень) у США, були першими, де використовували комутацію пакетів. А на початку 1970-х років уже було кілька десятків, якщо не сотень, розрізнених мереж. Стало очевидно, що потрібен метод взаємодії. (Утім легендарний керівник інформаційних проектів DARPA Джозеф Ліклайдер закликав запровадити інтероперабельні мережі ще років за десять до їхньої появи).
1973 року в Боба Кана і Вінта Серфа виникла ідея, як вирішити проблему з інтероперабельністю: вилучити з мережі інтелект та, у разі втрати пакетів, перекласти на вузли-одержувачі відповідальність за з’єднання пакетів і запити на повторну передачу даних. Хай як парадоксально, це означало, що мережа надійніше працює, коли робить менше. Протягом наступних п’яти років розробники залучили до проекту інших фахівців і розробили два протоколи: TCP (протокол керування передачею) й IP (інтернет-протокол). Обидва протоколи, які використовуються разом як TCP/IP, проклали надійний місток між мережами. Лише 1983 року TCP/IP став офіційним протоколом Arpanet, пізніше — базою для того, що тепер називають «мережею мереж», а зрештою для мережі інтернет, яку ми знаємо.
Геніальність протоколу TCP/IP, зокрема, у тому, як мало він робить. Замість ускладнювати протоколи заради додаткових потреб, інтернет-спільнота створила інші протоколи на основі TCP/IP. Розробка відбувалася ситуативно. Група розробників, яка хотіла запропонувати новий протокол або формат даних, публікувала запит на коментарі RFC з описом пропонованої технології. Запит розглядали й ухвалювали проектувальники, які в січні 1986 року об’єдналися у співтовариство IETF (робочу групу з інтернет-інженерії). Офіційних вимог для членства у співтоваристві не було. Ось як 1992 року описав концептуальну основу IETF Дейв Кларк, викладач інформатики Массачусетського технологічного інституту: «Ми цураємося королів, президентів і виборів. Ми віримо в приблизний консенсус і виконання коду»128.
Джон Постель пафосно написав у коментарі до RFC 761, протоколу управління передачею даних: «Імплементація TCP повинна бути надійною. Будь консервативним у тому, що робиш. Будь ліберальним у тому, що приймаєш від інших»129. Скидається на заповідь із Біблії, чи не так? Таке собі золоте правило користування комп’ютерами.
У 1980-х роках спеціальний комітет із міжнародних стандартів (більш традиційного складу) вирішував майбутнє комп’ютерних мереж. У результаті, було сформовано мережеву модель OSI — вичерпну й універсальну. Один із провідних фахівців писав 1986 року: «У довготривалій перспективі більшість продавців перейдуть від протоколу TCP/IP до Layer 4 — транспортного рівня мережевої моделі OSI. Та в короткотривалій перспективі протокол TCP/IP забезпечить організації функціональністю й захистить їхні інвестиції в обладнання, а згодом спростить перехід на OSI»130.
Не склалося. Найпростіші протоколи інтернету розвинулися й стали більш комплексними, а протокольний пакет OSI дістав статус базової моделі, що використовувалася при аналізі архітектури мереж. Архітектура всесвітньої павутини, що перегукувалася з радикальною схемою основних інтернет-протоколів, зумовила появу комп’ютерних програм наступного покоління і поширення колись недосяжної мережевої технології серед мільярдів людей.
Отож мережі, які прагнуть вийти на масштабний рівень, повинні враховувати: проекти Open Source на зразок Linux і відкриті системи на зразок інтернету і всесвітньої павутини працюють не завдяки центральній платформі, яка ухвалює кожну нову версію, а завдяки тому, що розробники визначили чіткі правила співпраці й інтероперабельності.
Координація закладена в проекті системи.
Це ключовий принцип, який не тільки допомагає зрозуміти нинішніх гігантів у сфері інтернет-технологій, а й розібратися в тому, що не гаразд із ХЗ-економікою.
Увага!
Сайт зберігає кукі вашого браузера. Ви зможете в будь-який момент зробити закладку та продовжити читання книги «ХЗ. Хто знає, яким буде майбутнє», після закриття браузера.