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

— Вы недавно получили патент на собственные сетевые драйверы для повышения эффективности распределения каналов связи между пользователями. С чего вообще началась история с патентом — это была инициатива юристов, бизнеса или инженеров, которые реально хотели зафиксировать разработку?
Инициатива была от инженеров, они пришли и сказали: «Слушайте, мы тут написали крутую штуку, давайте запатентуем». Юристы подключились позже, когда уже нужно было оформлять. Бизнес, честно говоря, в начале не очень горел этой идеей, ведь на первый взгляд патент — это не столько конкурентное преимущество, сколько защита, а мы явно не собирались судиться с конкурентами за то, что они тоже пишут драйверы.
Мы хостинг-провайдер, а не продуктовая компания, которая живет за счет лицензий. С другой стороны, патент подтверждает, что это наша интеллектуальная собственность, что мы потратили время и деньги на разработку. В свою очередь, для клиентов это показатель того, что мы не просто «перепродаем чужие решения», а создаем собственные.
— Что именно вы запатентовали на техническом уровне?
Это драйвер, который работает в ядре ОС гипервизора, распределяет сетевую нагрузку между пользователями и отсекает вредоносную исходящую активность. Для клиента это означает более стабильный и предсказуемый пинг без внезапных просадок в тот момент, когда сосед по хосту решил залить терабайт данных или устроить SYN-флуд.
Драйвер сертифицирован Microsoft для Hyper-V и зарегистрирован в ФИПС. На техническом уровне он анализирует трафик на уровнях L2–L4 и использует адаптивные, устойчивые к дрифту методы распознавания аномалий. Работает в ядре, опирается на атомарные операции, не блокирует сетевой стек и не создает заметных накладных расходов ни по сети, ни по CPU.
По сути, драйвер проверяет каждый исходящий пакет и, если видит аномальную сигнатуру, отключает виртуальный адаптер раньше, чем нежелательная активность успевает нагрузить сеть.
— Чем он отличается от уже существующих решений? Им будете пользоваться только вы или планируется выпуск на рынок?
Есть три ключевых отличия. Во-первых, захват и анализ пакетов происходит прямо в драйвере, а не поверх, через файрвол или агент. Это дает доступ к пакетам раньше и позволяет блокировать быстрее. Во-вторых, мы не используем сигнатурные базы, которые обновляются раз в неделю, а используем адаптивные методы с онлайн-обучением. В-третьих, атомарные операции, никаких блокировок, никаких лишних копирований данных в пользовательский процесс. Все это не создает практически никакой дополнительной нагрузки на сеть и процессор клиентской виртуальной машины.
Что касается выхода на рынок, пока это внутренняя разработка для нашей инфраструктуры.
«Мы хостингом занимаемся, а не продажей софта».
— Насколько сложно было доказать новизну? Приходилось ли копаться в зарубежных патентах, RFC, академических работах, чтобы обосновать уникальность?
Да, копались. Инженеры провели серьезную работу — изучали как RFC, так и академические публикации, искали, не делал ли кто-то что-то похожее. Оказалось, что подходы к детекции аномалий в сетевом трафике есть, но наша реализация уникальна.
Плюс мы опубликовали ряд научных статей в российских и мировых журналах по нашим алгоритмам. Это помогло и с обоснованием новизны, и с получением обратной связи от рецензентов научных изданий. Так мы убедились, что наши методы корректны и интересны научному сообществу. Без этой работы с доказательствами новизны было бы сложнее.
— Как выглядит процесс патентования изнутри? Сколько времени уходит, сколько итераций, сколько раз приходилось переписывать формулировки?
Процесс патентования может занимать до полугода и начинается с поиска патентного поверенного. Важно, чтобы он мог при необходимости вникнуть в суть патентуемого объекта и дать советы при подаче заявки.
Самое рутинное — это сбор исходного кода в один текстовый файл. Описание того, как работает ПО, тоже делали в несколько итераций. Сначала написали как есть — на понятном нам программистском языке. Выяснилось, что он не подходит.
После мы получили примеры и рекомендации от поверенного, переписали. Получили еще замечания, снова переписали. Так за 3 итерации получились правильные документы для подачи заявки. На это ушло около 2 или 3 недель.
Дальше поверенный оформляет заявку и отправляет. Мы ждали пару месяцев решения. От Роспатента замечаний мы не получали, но и они могут быть. Но изначально нас предупреждали, что процедура может затянуться до полугода. То есть процесс предсказуемый, но бюрократичный. Главное — терпение и хороший патентный поверенный, который понимает техническую суть.
— Где было больше всего «болезненных» моментов?
Больше всего боли — перевести инженерную логику на патентный язык. Инженер думает: «Мы тут написали крутой алгоритм, он работает в ядре ОС, выявляет сигнатуры с помощью адаптивной модели». А патентный текст должен звучать иначе — формально, юридически, без технического жаргона, но при этом достаточно точно, чтобы защитить именно наше решение.
«Это как перевод с одного языка на другой, причем оба языка ты знаешь плохо».
Бюрократия здесь — это терпимо, и мы изначально к этому были готовы. А вот эти формулировки — да, тут было больно.
— Пришлось ли «упростить» или исказить техническую суть ради патента? Есть ли ощущение, что документ описывает не совсем то, что реально работает в проде?
Наверное, да, упростить пришлось. Просто потому, что микродетали патентующим не интересны, и чем меньше есть поводов для лишних вопросов, тем лучше и быстрее. Патент описывает суть, но не всю глубину.
В патенте написано: «При выявлении паттернов нежелательной активности пользователей используются известные подходы и новые алгоритмы подбора признаков и параметров моделей машинного обучения, повышающие эффективность обнаружения аномалий».
Там гораздо больше нюансов, например, конкретные оптимизации, как мы обрабатываем аномалии, как адаптируем пороги срабатывания под нежелательную нагрузку. Все это в патент не попало и попасть не могло потому что патент описывает концепцию, а не реализацию. Но суть зафиксирована правильно — это наш подход, наше решение, и если кто-то захочет повторить именно эту концепцию, то патент нас защищает.
— Были ли сомнения о том, а стоит ли вообще патентовать? Почему не оставили это как внутреннее ноу-хау или, наоборот, не открыли код?
Сомнения были. Мы рассматривали оба варианта. Ноу-хау — более рискованно, ведь если кто-то из команды уйдет и реализует похожее решение в другой компании, то доказать что-либо будет сложно.
«Открытый код — это красивая идея, но мы не благотворительная организация».
Мы вложили время инженеров, деньги на сертификацию Microsoft, время на научные публикации. Почему мы должны это просто отдать? Патент для нас — это компромисс: мы защищаем свою разработку юридически, но при этом не скрываем ее существование. Инженеры опубликовали научные статьи, описали алгоритмы, научное сообщество знает о наших методах. А патент просто гарантирует, что коммерческое использование без нашего согласия будет незаконным.
— Дает ли патент реальную защиту в российской практике? Или это больше про репутацию, инвестиционную историю и «галочку» для бизнеса?
И то, и другое. Реальная защита — вопрос спорный. Судебные процессы по патентам на ПО в России — это сложный и долгий путь с непредсказуемым результатом. Но патент дает легитимность.
— Если бы вы проходили этот путь еще раз — что сделали бы иначе? И кому из ИТ-команд в России вы бы вообще рекомендовали идти в патентование, а кому — точно нет?
Если бы проходили заново, то точно бы начали патентный процесс раньше, параллельно с разработкой, а не после. Рекомендую патентовать компаниям, у которых есть реально уникальные инженерные решения, которые дают конкурентное преимущество. Если вы написали что-то, чего нет у других, зафиксируйте.
«Патент — это скорее для зрелых компаний, которые могут позволить себе время и деньги на эту процедуру».
Кому не рекомендую, так это тем, у кого нет уникальности. Если ваше решение представляет собой комбинацию общеизвестных подходов, то патент будет формальностью, которая не защитит ничего, но «съест» время и деньги. Еще не рекомендую патентовать стартапам на ранней стадии, когда недостаточно ресурсов на бюрократию и следует сосредоточиться на продукте.
