Руководитель Microsoft Research рассказывает о направлениях исследований
Директор подразделения Microsoft Research Рик Рашид ответил на вопросы журналиста еженедельника Computerworld Гэри Антеса.
Какие серьезные изменения ждут сферу информационных технологий в ближайшие несколько лет?
На развитие отрасли самое серьезное влияние в будущем будет (впрочем, это происходит и сейчас) оказывать стоимость хранения. Если раньше нас заботило, как избавиться от чего-либо, то сейчас нас интересует, что мы можем сохранить. Мы дошли до уровня систем хранения масштаба человеческой памяти. На диске емкостью 1 Тбайт можно сохранить практически все, что вы когда-либо произносили. Такого диска хватит и для того, чтобы разместить фотоснимки, на которых запечатлена каждая минута вашей жизни.
И что это означает для бизнеса?
Это меняет наш подход к решению многих проблем. К примеру, многие технологии, которые традиционно было принято относить к области так называемого «машинного обучения», в значительной степени опираются на большие объемы данных. В прежние времена мы часто не могли качественно делать вещи, подобные машинному переводу, или реализовывать определенного рода алгоритмы машинного зрения, или выполнять определенные виды анализа, поскольку у нас не было достаточного количества данных. Теперь мы можем себе позволить активно использовать эти методы машинного обучения и разного рода статистические методики. Три десятилетия назад, в 1977 году, скорее всего, можно было все содержимое Internet уместить на диск емкостью 1 Тбайт, но сейчас такого диска хватит лишь для одного человека.
Какое следующее глобальное решение предложит Microsoft Research?
Что именно будет восприниматься как нечто глобальное, зачастую определяется обществом. Это делают сами пользователи, вызывая порой своим выбором немалое удивление ученых и инженеров. Но, безусловно, многие виды устройств станут интеллектуальными. Большая работа ведется в связи с датчиками и сетями датчиков. Она важна для развития таких областей, как мониторинг среды, скажем, для получения данных об энергопотреблении. В частности, мы работаем над тем, как с помощью распределенных в среде датчиков можно вести измерения и понять, что происходит в крупных центрах обработки данных, с тем чтобы снизить затраты на охлаждение. Что касается технологии пользовательских интерфейсов, то вы видели анонс технологии Microsoft Surface. Я думаю, что это лишь вершина айсберга, демонстрирующего то, что мы можем делать.
В следующие несколько лет стоимость квадратного дюйма жидкокристаллического дисплея станет меньше, чем обычной школьной доски. Это совершенно меняет представление о том, что активно, а что — нет, что является поверхностью взаимодействия, а что — нет.
Что вы можете ответить тем, кто утверждает, что Microsoft скорее стремится подражать другим, чем предлагать действительно новаторские решения?
Мы являемся одной из ведущих исследовательских организаций в мире.
Отправляйтесь на крупную конференцию по computer science, и вы увидите больше статей от Microsoft Research, чем от других организаций. Мы действительно являемся лидерами во множестве разных областей. Наше исследовательское подразделение растет быстрее, чем компания в целом. Последние пятнадцать лет к нам ежегодно приходит в среднем по 50 исследователей. Это все равно как каждый год брать на работу всех выпускников факультета компьютерных наук Калифорнийского университета в Беркли.
Что вы делаете для того, чтобы не отстать от Google?
Механизмы поиска сегодня получают на вход несколько слов и возвращают гору ссылок на статьи, которые вы должны прочитать, чтобы получить требуемую информацию. Мы ведем исследования, которые помогут понять, как можно действительно получить ответ на вопрос, поставленный пользователем.
Что вы можете ответить тем, кто утверждает, что программное обеспечение Microsoft содержит множество ошибок? Почему вы не можете устранить проблему переполнения буфера?
Мы знаем, как устранить эту проблему, и делаем это в большинстве случаев. Со временем, как мы надеемся, мы сможем сделать это во всех своих программных продуктах. Но мы не контролируем все программное обеспечение, которое поставляется вместе с системами Microsoft, и ошибка в любом компоненте создает уязвимое место. Вместе с Vista мы предложили инструментарий для проверки программ, который помогает устранить достаточно большой класс проблем.
В целом же проблема состоит в том, что это не только вопрос реализации. Это еще и вопрос архитектуры. Мы должны знать, как спроектировать систему таким образом, чтобы сама архитектура не имела дефектов, а это очень трудно. Мы можем подтвердить свойство программы, но никак не корректность, поскольку невозможно сказать, что такое корректность.
И каким образом вы решаете подобные проблемы архитектуры?
Мы работаем над созданием языков программирования, которые позволяют более точно выражать то, что подразумевается. Мы разработали Spec# — вариант C#, который позволяет добавлять в программу информацию о спецификации. Это дает возможность нашим инструментальным средствам проверки проконтролировать, на самом ли деле эти спецификации верны для кода, который вы написали. Мы также реализуем архитектурные возможности операционных систем, которые позволяют объединять доказательства (снизу вверх), чтобы иметь возможность сказать, действительно ли вся система и ее приложения, как одно целое, имеют некое конкретное свойство.
Верно ли утверждение, что Vista — это просто следующая версия Windows, предложенная Microsoft?
В этой связи я вспоминаю древнегреческое высказывание, которое звучит примерно так: «Мы узнали все, что хотели узнать, и теперь мы закончили». Когда я смотрю на операционные системы, то понимаю, какая огромная работа еще предстоит.
Но, может быть, следующая операционная система будет совершенно иного рода?
С Vista мы уже предложили новую операционную систему по сравнению, скажем, с Windows 95 или 98. Мы уже совершенно в ином мире. Будет ли создана система, которая больше интегрирована с Web, распределена по большому числу машин, более эффективно использует новые виды ввода информации — компьютерное зрение, голос или жесты? Новая операционная система, которая действительно эффективно использует многопроцессорность? Да, конечно. В какой момент вы признаете, что это действительно нечто иное? Это зависит от вас.