Патентование алгоритмов компьютерных программ

    Продукты в сфере информационных технологий (далее – ИТ) в общем случае содержат несколько компонентов, правовая охрана которых реализуется разными способами.


    Архитектура, алгоритмическое решение, аппаратная часть ИТ-продукта и графическая часть интерфейса пользователя охраняются как объекты патентного права.

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

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

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

    Принципиальная патентоспособность

    Существуют принципиальные ограничения в отношении патентования изобретений. Они в целом сходны в разных юрисдикциях, хотя могут быть и отличия, которые, в большинстве случаев, носят косметический характер.

    Согласно п. 1 ст. 1350 ГК РФ, в качестве изобретения среди прочих объектов охраняется техническое решение в любой области, относящееся к способу, характеризуемому как процесс осуществления действий над материальным объектом с помощью материальных средств.

    Согласно п. 5 ст. 1350 ГК РФ, не являются изобретениями математические методы, правила и методы игр, интеллектуальной или хозяйственной деятельности, а также решения, заключающиеся только в представлении информации, при этом исключается возможность отнесения этих объектов к изобретениям только в случае, когда заявка на выдачу патента касается этих объектов как таковых.

    В России в качестве изобретения не патентуется, например, сюжетно-ролевая часть алгоритма компьютерной игры (геймплей), математическая часть алгоритма обработки информации без привязки к материальным объектам или новый способ ведения бухгалтерского учета.

    В США часть таких решений может оказаться патентоспособной в качестве «бизнес-методов» (covered-business-methods), однако практика патентования таких решений нестабильна.
    Тем не менее, в любой юрисдикции в качестве изобретений могут признаваться алгоритмы сжатия или шифрования информации для хранения на носителе или для передачи в канале связи, алгоритмы многофакторной авторизации, алгоритмы балансирования нагрузки серверов, алгоритмы распознавания изображений и т.п.

    Описания алгоритмов


    Для обеспечения адекватного объема охраны изобретения и достаточной устойчивости патента к аннулированию важно правильно составить описание алгоритма, чтобы, с одной стороны, выполнить требование относительно наличия в заявке описания изобретения, раскрывающего его сущность с полнотой, достаточной для осуществления изобретения специалистом в данной области техники (п. 2(2) ст. 1375 ГК РФ в России; Article 83 EPC в Европе; 35 U.S.C. 112(a) в США), а с другой – не подсказывать потенциальным конкурентам способов обхода патента.

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

    В описании изобретения должна четко прослеживаться логическая цепочка «назначение изобретения – признаки изобретения – технический результат» т.е. должна быть продемонстрирована связь технического результата с признаками изобретения (по крайней мере, с теми признаками, которые содержатся в формуле изобретения).

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

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

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

    Если в формуле изобретения используется «широкая» формулировка, например, вида means plus function (средство для…), то описание должно содержать достаточное количество примеров практической реализации функции, оправдывающих применение такой формулировки. Недостаток конкретики может привести как к осложнениям на этапе экспертизы, так и к снижению шансов патента выстоять при попытке его аннулирования (Bilski vs. Kappos, 2010; Alice Corp. vs. CLS Bank International, 2014 и др.) [1].

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

    В то же время, часто все, чего можно добиться от разработчика программы в качестве исходного материала для составления патентной заявки, – это неполная блок-схема алгоритма, листинг кода этой программы и сбивчивые пояснения типа «тут читать, тут не читать, здесь пока заглушка, а вот там и там – костыли, их тоже не смотреть».

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

    Пример: фрагмент реального кода на языке программирования С++ и составленный на его основе фрагмент описания изобретения




    Графические иллюстрации алгоритмов


    В качестве графических иллюстраций алгоритмов компьютерных программ чаще всего используются блок-схемы алгоритмов.

    При подготовке фигур, содержащих блок-схемы алгоритмов, целесообразно придерживаться одной из наиболее распространенных систем графических обозначений – ГОСТ 19.701-90 (ISO 5807:1985) [2] или унифицированного языка моделирования UML [3].

    Альтернативные способы визуализации алгоритмов, например, визуальный язык ДРАКОН, псевдокод, диаграммы Насси-Шнейдермана и т.п., также применимы, однако они менее удобны для этой цели из-за их ограниченной известности.

    Пример блок-схемы алгоритма по ГОСТ 19.701-90



    Сложные алгоритмы с высокой степенью детализации обычно не умещаются на одном листе формата А4 с соблюдением требований к чертежам патентных заявок. Поэтому их представляют на нескольких листах – либо с использованием принципа каскадной декомпозиции, когда на первом листе размещают блок-схему верхнего уровня, а на последующих – блок-схемы, раскрывающие состав блоков с первого листа, либо сразу в подробном виде с применением соединителей, позволяющих схему, начатую на одном листе, продолжать на последующих листах. Возможно совмещение этих двух способов.

    Пример использования соединителей



    Некоторые виды алгоритмов, в основном, относящиеся к телекоммуникациям, могут быть удачно визуализированы с использованием диаграмм вида message flow.

    Пример диаграммы вида «message flow»



    Другие виды алгоритмов, например, относящиеся к т.н. «бизнес-методам», удобно иллюстрировать с использованием диаграмм семейства IDEF.

    Пример диаграммы IDEF0



    Формулы изобретений для алгоритмов


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

    В частности, в США характеризация устройства признаками способа может стать причиной аннулирования патента (HTC Corp. vs. IPCom GMBH & Co., KG, 2010) [4].

    Независимый пункт формулы должен содержать характеристику назначения изобретения и признаки изобретения, обеспечивающие достижение указанного в описании технического результата. При этом применение в формуле изобретения «широкой» формулировки вида means plus function для единственного отличительного признака также может стать причиной аннулирования патента в США (In re Hyatt, 1983) [5].

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

    Формула составляется с использованием речевых конструкций, традиционных для патентования способов: на русском языке – эллиптических глагольных оборотов в третьем лице множественного числа (передают, принимают, обрабатывают, вычисляют, сравнивают, принимают решение), на английском языке – безличных герундиальных оборотов (transmitting, receiving, processing, comparing, judging).

    Пример формулировки зависимого пункта формулы изобретения

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

    (b1) инициализируют числовой массив и переменную;
    (b2) считывают показания магнетометра, акселерометра и гироскопа;
    (b3) вычисляют значения углов тангажа, крена и рысканья и скорости вращения первого оконечного устройства;
    (b4) вычисляют разницу между значением, по меньшей мере, одного из углов тангажа, крена и рысканья, вычисленным на основе показаний магнетометра, и значением того же угла, вычисленным на основе показаний гироскопа; …

    В формулах ИТ-изобретений иногда фигурируют носители информации, содержащие программный код, реализующий алгоритм согласно изобретению. Популярность таких пунктов формулы в последние годы снижается, но если заявитель настаивает на включении в формулу подобного пункта, то следует помнить о том, что в некоторых юрисдикциях (прежде всего, в США) носитель информации в заявке должен быть представлен как машиночитаемый физический носитель информации (non-transitory computer readable medium) ‒ в противопоставление электрическим и электромагнитным сигналам в каналах связи, акустическим сигналам и прочим волновым эффектам.

    Появление этого термина связано с т.н. «35 U.S.C. §101 rejection problem» – частыми отказами в США по заявкам, содержащим в формуле изобретения признак «computer readable medium» без указания на его физическую природу.

    Дисклеймеры и заклинания


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

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


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


    Несмотря на успехи в гармонизации патентного законодательства ведущих промышленных стран, в ряде юрисдикций сохраняются рудиментарные традиции, унаследованные еще из XVIII–XIX веков.

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

    Заключение


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

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

    Для США, например, удобно использовать регулярно обновляемую энциклопедию по составлению патентных формул [5], для стран Европы – периодический обзор практики патентных споров [6].

    Литература
    1. P. Andrew Riley, Jonathan R.K. Stroud, and Jeffrey Totten. The Surprising Breadth of Post-Grant Review for Covered-Business-Method Patents: A New Way to Challenge Patent. – The Columbia Science & Technology Law Review, Vol. XV, Spring 2014, pages 235–292.
    2. ГОСТ 19.701-90 Единая система программной документации. Схемы алгоритмов, программ, данных и систем. Обозначения условные и правила выполнения. – М.: Издательство стандартов, 1991.
    3. Гради Буч, Джеймс Рамбо, Ивар Якобсон. Язык UML. Руководство пользователя. Второе издание. – М.: ДМК Пресс, 2007.
    4. Bradley C. Wright. Functional Claiming and Functional Disclosure. Presented: 6th Annual Advanced Patent Law Institute, January 20–21, 2011, Alexandria, VA.
    5. Robert C. Faber. Faber on Mechanics of Patent Claim Drafting – Seventh Edition (Release #3, November 2016). – New York: Practising Law Institute, 2016.
    6. Patent Litigation in Europe. An overview of national law and practice in the EPC contracting states – Fourth Edition. – European Patent Academy, EPO, 2016.

    В этой публикации использованы материалы доклада, сделанного автором на патентной конференции «Петербургские коллегиальные чтения – 2018» 27 июня 2018 г. Доклад был адресован патентным специалистам, в большинстве далеким от ИТ-технологий, поэтому некоторые сведения из публикации могут показаться читателям Хабра общеизвестными и очевидными. Автор призывает читателей отнестись к этому с пониманием.
    Поделиться публикацией
    AdBlock похитил этот баннер, но баннеры не зубы — отрастут

    Подробнее
    Реклама

    Комментарии 15

      0
      А еще, как выяснилось — можно патентовать структуру хранения данных в БД, составные индексы к БД и много чего еще:
      habr.com/post/358934
      habr.com/post/414255
      Вопрос к Stanislav_F:
      Что можете сказать по поводу патента, обсуждаемого в указанных публикациях?
        0
        При беглом просмотре этих публикаций и комментариев к ним не я заметил ссылки на сам патентный документ. Укажите, пожалуйста, номер патента или опубликованной заявки.
            0
            RU2650032C1 ЭЛЕКТРОННАЯ БАЗА ДАННЫХ И СПОСОБ ЕЕ ФОРМИРОВАНИЯ.
            Запатентован способ формирования электронной базы данных. Формальные требования согласно п. 1 ст. 1350 ГК РФ в формуле изобретения выполнены: данные в базе данных уже давно признаются материальным объектом, средство выполнения действия над ним (система управления базой данных в электронном устройстве) тоже присутствует. Формальные требования согласно п. 5 ст. 1350 ГК РФ также выполнены (обработка данных в электронном устройстве не есть просто представление информации). В описании изобретения и на чертежах приведены примеры практической реализации изобретения. Присутствуют также характерные для ИТ-патентов дисклеймеры (могу предположить, что они позаимствованы из патентов Яндекса).
            Следует отметить, что сама база данных отсутствует в формуле, что не удивительно — базы данных регистрируются как таковые и патентованию не подлежат.
            В целом по форме и содержанию — это вполне типичный российский ИТ-патент.
              0
              Проблема в том, что мало кто из патентных поверенных и других лиц принимающих участие в патентовании, обладает достаточной специализированной экспертизой чтобы не выдавать патенты на давно известные подходы к представлению структур данных и способам их хранения в БД.
              В данном конкретном случае человек запатентовал комбинацию из двух давно известных методик хранения данных: "Связный список" и "Сущность Атрибут Значение" и никто ему на момент патентования этого не объяснил, но ему это подробно изложили в комментариях к вышеупомянутым публикациям. Хотя это уже по сути не имеет никакого значения — патент уже получен и он может троллить этим патентом всех кто использует эти методики, ту же Magento например.
                0
                Патентная система в определенной мере сбалансирована возможностью оспорить выданный патент. В России это делается сначала в Палате по патентным спорам, если результат не удовлетворит — можно продолжить в Суде по интеллектуальным правам, а затем — в Президиуме Суда по интеллектуальным правам. Плюс еще надзорные инстанции. Так что возможности для защиты от неправомерных претензий патентообладателей предусмотрены законодательством.
                  0
                  Да и права преждепользования никто не отменял.
          0
          Тут пишут о том, что MasterCard запатентовала технологию «анонимного блокчейна». В действительности шум преждевременный, речь идет лишь о публикации патентной заявки US20180181953A1. Будет ли выдан по ней патент, покажет время. Тем не менее, это неплохой пример того, на какие ИТ-решения подаются патентные заявки и как они могут выглядеть.
            0
            Станислав Федорович, спасибо за интересную и детальную информацию.
            Я обратил внимание на слова:
            Графические иллюстрации алгоритмов

            В качестве графических иллюстраций алгоритмов компьютерных программ чаще всего используются блок-схемы алгоритмов.

            При подготовке фигур, содержащих блок-схемы алгоритмов, целесообразно придерживаться одной из наиболее распространенных систем графических обозначений – ГОСТ 19.701-90 (ISO 5807:1985) [2] или унифицированного языка моделирования UML [3].

            Альтернативные способы визуализации алгоритмов, например, визуальный язык ДРАКОН, псевдокод, диаграммы Насси-Шнейдермана и т.п., также применимы, однако они менее удобны для этой цели из-за их ограниченной известности.


            Все написано правильно. Но полезно спросить: Что нас ждет в будущем?
            Каковы перспективы?
            По моему мнению, язык ДРАКОН обеспечивает наилучшую понятность алгоритмов для читателей патентов по сравнению с конкурирующими нотациями.
            Будущее в патентном деле принадлежит ДРАКОНу.

            Если Вы, Станислав Федорович, хотите приблизить будущее, я готов Вам всячески помогать.
            Приведу цитату из сети:
            Если нужно рисовать алгоритм, теперь только и только на Драконе.

            Считаю, что он должен стать государственным стандартом для блок-схем вместо существующего.

            Удивительно, что авторы книг продолжают использовать прежние схемы, на которые после Дракона без ужаса смотреть невозможно

            С уважением,
            Владимир Данилович Паронджанов
            Mobile: +7-916-111-91-57
            Viber: +7-916-111-91-57
            E-mail: vdp2007@bk.ru
            Skype: vdp2007@bk.ru
            Website: drakon.su
            Webforum: forum.drakon.su
              –2
              Если ДРАКОН занимается Копиратстией, то желаю этому языку СДОХНУТЬ!
                –2
                Владимир Данилович Паронджанов, у вас на ДРАКОНе описан алгоритм
                Снятие шлема с мотоциклиста после аварии — медицинский алгоритм, описывающий групповую работу двух работников скорой помощи

                и его вы тоже намерены запатентовать чтобы люди дохли?!
                –2
                Что-то мне патентные тролли вспомнились…
                  –1

                  Алгоритм завязывания шнурков ещё запатентуйте и пусть все платят

                    0

                    Это ваше патентование — тёмно-серая область морали. Мысль, знаете ли, является неотъемлемой собственностью того, кто её в данный конкретный момент думает. Когда провозглашается монопольное право собственности на мысль, тогда, по сути, провозглашается право собственности на тех, кто эту мысль думает.
                    А у нас, напомню, право собственности на людей отменил император Александр II.

                    • НЛО прилетело и опубликовало эту надпись здесь

                      Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                      Самое читаемое