Виконсалт. | Патент на программное обеспечение. Патентование в IT. Как защитить собственность для программ. 

Защита прав интеллектуальной собственности для программ

Защита прав интеллектуальной собственности для программ

    Способы защиты прав на кoмпьютерные пpограммы: патент на алгоритм

В сегодняшних реалиях развития нашего общества все более явно наблюдается увеличение в нем роли информации. Процесс внедрения информационных технологий затрагивает практически все сферы человеческой деятельности, что способствует созданию и использованию большого количества информационных продуктов, в частности компьютерных программ. Вместе с тем возникает актуальный вопрос: как защитить создателю свои имущественные права на созданный им продукт от неправомерного использования? Ответ: получить охранный документ на объект интеллектуальной собственности – компьютерную пpограмму.

Как защитить права на компьютерную программу?

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

Если компьютерная программа является объектом авторских прав, то как получить патент на программу?

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

Каковы критерии, которыми должен обладать алгоритм программы с целью патентования?

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

Примеры пaтентования программ

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

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

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

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

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

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

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

Как подтвердить промышленную применимость компьютерной программы?

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

Итак, в заявке указано, что в программе результаты навигационного поиска, которые с большой вероятностью будут уместны и / или полезны для пользователя, «всплывают» или доводятся до сведения пользователя, например, за счет того, что они отображаются в исключении или менее заметно, чем другой менее подходящий навигационный поиск. Результаты. В некоторых реализациях после получения по меньшей мере частичного поискового запроса пользователя может быть идентифицирован расширенный набор возможных результатов навигационного поиска на основе частичного поискового запроса. Например, предположим, что пользователь ввел часть поискового запроса - например, «Ronald Reagan b» - в поле ввода поиска / URL-адреса мобильного веб-браузера. Один или несколько возможных результатов навигационного поиска, которые, как считается, могут удовлетворить частично сформированный запрос (также называемый здесь «частичным запросом») - например, информация о дне рождения Рональда Рейгана, сайт, описывающий политику Рональда Рейгана в Бирме, информацию о месте рождения Рональда Рейгана, веб-сайт, на котором продаются идеи Рональда Рейгана, сайт, рекламирующий преимущества Рональда Рейгана, может быть идентифицирован и представлен в раскрывающемся меню под полем ввода.

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

Как демонстрировать работу программы?

Для иллюстрации сущности алгоритма программы, как правило, используют блок-схемы (согласно ДСТУ ISO 5807:2016).

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

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

Что нужно для определения патентоспособности компьютерной программы?

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