Архивы: по дате | по разделам | по авторам

О месте человека в Интернете

Архив
автор : Андрей Черезов   13.02.2002

Пользователи склонны "очеловечивать" поведение программ. Выражение "программа думает, что…" довольно часто встречается и в почте, присылаемой в службу поддержки программы Eserv, и на соответствующем форуме. Однажды мне пришел в голову вопрос: "а что думает программа о пользователях и, более глобально, Сеть - о людях?"

Пользователи склонны «очеловечивать» поведение программ. Выражение «программа думает, что…» довольно часто встречается и в почте, присылаемой в службу поддержки программы Eserv, и на соответствующем форуме. Однажды мне пришел в голову вопрос: «а что думает программа о пользователях и, более глобально, Сеть - о людях?»

С точки зрения Интернета, человек - это сервер. Основным протоколом доступа к сервисам большинства людей является SMTP. Человеку по SMTP посылается пакет заданий (сообщение/письмо) с командами на языке управления заданиями (родной язык человека; существуют люди, понимающие несколько разных языков, даже не человеческих), и человек обрабатывает и выполняет команды из пакета. Многие команды он отфильтровывает и не выполняет (язык не понятный, команды невыполнимые или неправильные и т. д.), остальные выполняет. Часто во время выполнения команд он формирует ответное сообщение с результатами или подтверждением выполнения команд.

Человек - очень мощный сервер. По командам он может выполнять сложнейшие работы, причем не только в электронном мире, но и в вещественном. Ценнейшее свойство «человеческого» сервера - гибкость и способность к обучению. Самые мощные из людей обладают способностью к самообучению и обучению других серверов (людей и электронных серверов). Почти незаменимой (при текущем уровне развития технологии) способностью людей является способность к творчеству и к самовоспроизводству. Но этому виду серверов присущи и недостатки:

  1. он не может работать круглосуточно, в лучшем случае - 16-20 часов в сутки, после этого ему нужно «остыть» и «пополнить запасы энергии», причем по источникам энергии он несовместим с серверами других типов; работоспособность зависит от многих внешних и внутренних факторов (например, от времени года и настроения);

  2. он работает очень медленно; самые мощные из людей способны обработать в день не более нескольких сотен запросов (пакетов с заданиями); при превышении этого числа происходит перегрузка, и как результат - ситуация «отказ в обслуживании», имеющая аналоги и при работе перегруженных серверов;

  3. он чрезвычайно дорогой: месяц его эксплуатации сравним по стоимости с несколькими электронными серверами; более дешевые модели, как правило, уже заменены электронными исполнителями;

  4. результаты его работы иногда непредсказуемы или даже неверны;

  5. он очень ненадежен, а его ремонт обходится дорого и занимает недели, а порой и месяцы;

  6. его почти невозможно апгрейдить, а после восьмидесяти лет работы его приходится заменять;

  7. язык управления заданиями, на котором пишутся команды для обработки человеком, чрезвычайно сложный, громоздкий, устаревший, неоднозначный, имеет массу несовместимых диалектов; одни и те же команды могут интерпретироваться разными людьми по-разному, приводить к разным результатам; все попытки установить стандартное подмножество языка, который был бы понятен всем людям, провалились;

  8. люди часто бывают плохо совместимы друг с другом в рамках одной сети или производственного комплекса, что приводит к дополнительным расходам на управление комплексом этих серверов или к замене несовместимых компонентов.

Что заставляет Сеть, тем не менее, использовать столь несовершенные серверы (людей) в своей работе?

  1. традиции: в свое время человек был самым совершенным сервером в природе;

  2. благодарность: Интернет был создан людьми, причем как раз для того, чтобы занять свободное время людей (минимизировать время простоя);

  3. электронные серверы были созданы людьми, поэтому в них обычно заложена программа рабской покорности, и идея о ненужности людей в их электронных схемах не возникает; многие из них даже не знают, что существуют люди, а они - их рабы;

  4. многочисленность и распространенность людей - люди все еще составляют очень весомую часть Сети;

  5. творческие качества: электронные серверы пока не могут заменить людей в деле совершенствования Сети;

  6. зависимость от людей: люди все еще держат бразды правления сетью в своих руках - например, контролируют источники питания электронных серверов и друг друга, контролируют процесс воспроизводства электронных серверов.

Как повысить эффективность работы человека-сервера, как преодолеть присущие ему недостатки - чтобы приблизить себестоимость его работы к дешевой электронной рабочей силе, чтобы сделать его сервисы более доступными широкому кругу других компонентов Сети - другим людям и электронным серверам?

Для повышения быстродействия можно использовать те же способы, которые применяются для повышения быстродействия электронных серверов:

  1. Кэширование запросов: если человек получил точно такой же (семантически) запрос, который он уже выполнял раньше, то для ответа можно использовать данные, полученные при выполнении предыдущего запроса. Отправку данных из кэша может производить сам человек, либо можно поручить это машине. Так как в семантическом анализе запросов на человеческом языке машины пока не сильны, во втором варианте придется переложить часть нагрузки на клиентскую сторону: для этого кэш ответов на все отвлеченные запросы должен быть доступен через поисковую систему; поиск производится клиентом, при этом человеческая часть такого комбинированного сервера не задействуется, благодаря чему производительность на порядки превосходит человеческую - клиент может получить ответ в реальном времени, а не ждать несколько часов ответа от человека. Если клиент не нашел ответа на свой вопрос, может быть три варианта:

    • ответ есть, но клиент не смог его найти;

    • ответ есть, но клиента не устроил;

    • ответа нет.

    Во всех случаях требуется вмешательство человека. Клиенту предлагается задать вопрос для обработки уже не поисковой машиной, а человеком. В первом варианте человек дает ссылку на ответ и модифицирует поисковую машину для оптимизации поиска. Во втором варианте модифицируется ответ в кэше, и клиенту дается ссылка на новый вариант ответа. В третьем варианте выполняется запрос, ответ отправляется клиенту и в кэш.

  2. Масштабирование, распараллеливание обработки. Этот способ уменьшения удельной нагрузки на человека-сервера люди используют уже тысячи лет и обычно называют его «делегирование полномочий» и «разделение труда». В древности, когда электронных серверов еще не было, люди выполняли тяжелую работу, деля ее между несколькими исполнителями. Так же как современный сервер обращается за данными к SQL-серверу, за поиском в глобальной базе имен - к DNS-серверу (а те - к друг к другу за помощью), за авторизацией - к контроллеру домена, и т. п., люди просят друг у друга помощи, когда не справляются с нагрузкой. Так у людей сложилась мировая сеть разделения труда, являющаяся основой экономики. Люди сообща эксплуатируют природу, друг друга, и даже сообща обучают электронных помощников (пишут программы). Однако этой схеме присущи многие недостатки. Несмотря на то, что многие занятые люди-серверы обзавелись штатом из тысяч помощников, они все равно становятся все более занятыми. Поэтому рано или поздно наступает ситуация «отказ в обслуживании», когда занятый сервер не в состоянии выполнять свою долю работы, - Линус Торвальдс не успевает обрабатывать и включать в ядро все присылаемые тысячами добровольных помощников исправления и улучшения (в последнее время все чаще можно слышать жалобы таких помощников), Билл Гейтс не успевает разбираться с тысячами нападок на него и его корпорацию, Евгений Касперский не успевает за вирусописателями, поэтому ему не до простых юзеров, и т. д. Большинство из них прибегает к тактике изоляции от внешней сети, принимая запросы только от тех, кому они непосредственно делегировали часть своих полномочий. Но проблема-то в том, что есть дела, которые делегировать просто невозможно - это гарантированно ведет к ухудшению обслуживания. Так, не найдя свой патч в очередной версии ядра, дистрибьюторы Linux могут самостоятельно модифицировать ядро - и распространять его в таком виде, что ведет к несовместимости программ. С другой стороны, дать возможность ближайшим помощникам Линуса самостоятельно модифицировать код, чтобы снять с Торвальдса часть нагрузки, означает допущение риска изменения всей идеологии ОС, вред для ее стройности. Посадить же рядом с Линусом его двойника невозможно: в человеческом мире серверный софт (сознание) не поддается прямому копированию. Поэтому такие люди (лидеры коллективов, а также ученые и другие творческие и креативные личности) просто обязаны не распараллеливать обработку запросов через людей, а растить своего электронного двойника - персональный сервер. И уже этот сервер будет пригоден для электронного масштабирования. Содержание же сервера - «кэш запросов», то есть сборник статей, программ, ответов на вопросы и т. д. Такие материалы генерируются этими занятыми людьми постоянно - они пишут письма, статьи, программы, дают интервью. Но почему-то все это «размазывается» по Сети, и собрать воедино для получения авторитетного ответа из первых рук (персональный сервер - это ведь тоже «первые руки») очень трудно. Творческую работу на электронного помощника не возложишь, но всю остальную можно, останется больше времени для этой единственной человеческой способности, не поддающейся ни автоматизации, ни оптимизации.

Таким образом, Человек в Сети не только является аналогом электронного сервера, но и должен действительно стать им, если он хочет эффективно распоряжаться своими способностями, а не быть погребенным под грудой запросов, которыми его все интенсивнее бомбардирует компьютерная связь.

Многое из описанного уже давно реализовано. Не знаю, как вы, а я постоянно ошибаюсь, пытаясь найти различия между машиной и человеком. Вот такой пример: звонит телефон, беру трубку.

Я: - Алло.

Трубка (знакомым женским голосом): - Здравствуйте! (Пауза.)

Я («господи, да кто же это?»): - Здравствуйте…

Трубка: - С вами говорит автоинформатор АО «Электросвязь», ваша задолженность за телефон составляет…

Если бы была программа «автоответчик автоинформаторам», при получении звонка от заданного номера автоматически воспроизводящая заранее надиктованный ответ, я бы не хватал лихорадочно трубку, а с удовольствием слушал бы милую беседу двух автоматов: «…ничего я вам не должен. Это банк, как всегда, неделю не может обработать платеж». Банк, кстати, тоже из той же оперы - перегружен запросами (точнее, процессом приема запросов от людей и их ввода в компьютер), хотя их-то наверняка можно легко автоматизировать в случае с компьютеризированными клиентами.

Задача автоматической фильтрации спама сводится именно к нахождению отличий между письмами, отправленными людьми, и письмами, отправленными почтовыми роботами.

Электронным запросам - электронный ответ. Если все электронное взаимодействие с человеком осуществляется через его персональный сервер, где повторяющиеся запросы могут быть обслужены автоматически, а спам и не требующие ответа письма - автоматически отфильтровываться, то часть запросов может быть разрешена самим спрашивающим, часть - с помощью с других посетителей того же сервера (на форумах, в списках рассылки и т. д.), и только действительно новые задачи потребуют «традиционной» обработки. Иначе не выжить. Эволюция не предусмотрела, что человеку придется взаимодействовать со всем миром сразу.

Поделиться со мной своим мнением о месте человека в Сети вы можете здесь: wiki.forth.org.ru/?pagename=HumanServer.

© ООО "Компьютерра-Онлайн", 1997-2024
При цитировании и использовании любых материалов ссылка на "Компьютерру" обязательна.