Os produtos no campo da tecnologia da informação (daqui em diante - TI) geralmente contêm vários componentes, cuja proteção legal é implementada de diferentes maneiras.
A arquitetura, a solução algorítmica, o hardware do produto de TI e a parte gráfica da interface do usuário são protegidos como objetos da lei de patentes.
Os recursos de patentear soluções de arquitetura e hardware são dignos de discussão em separado e, portanto, não são considerados aqui.
O código dos programas de computador que implementam o algoritmo e a interface do usuário é registrado como um objeto de direitos autorais (isto é, como uma obra literária), respectivamente, em sua relação apenas a forma de texto é protegida, e não o algoritmo. A parte gráfica da interface do usuário pode ser patenteada como um design industrial. Ao mesmo tempo, o registro do código do programa de computador e o patenteamento da parte gráfica da interface do usuário podem ser considerados uma ferramenta auxiliar para garantir a proteção legal no setor de TI.
O mecanismo mais confiável e, portanto, o principal para proteger os interesses de um desenvolvedor de software é o patenteamento de algoritmos de programas de computador como invenções.
Patenteabilidade principalExistem limitações fundamentais para patentear invenções. Eles geralmente são semelhantes em jurisdições diferentes, embora possa haver diferenças que, na maioria dos casos, são de natureza cosmética.
De acordo com o parágrafo 1 do art. 1350 do Código Civil da Federação Russa, como uma invenção, entre outros objetos, uma solução técnica é protegida em qualquer campo relacionado a um método caracterizado como um processo de execução de ações em um objeto material usando meios materiais.
De acordo com o parágrafo 5 do art. 1350 do Código Civil da Federação Russa, métodos matemáticos, regras e métodos de jogos, atividade intelectual ou econômica, bem como decisões que consistem apenas na apresentação de informações, não são invenções, e a possibilidade de classificar esses objetos como invenções somente quando o pedido de patente se relacionar com essas informações. objetos em si.
Na Rússia, por exemplo, a parte de interpretação de papéis de um algoritmo de jogo de computador (jogabilidade), a parte matemática de um algoritmo de processamento de informações sem referência a objetos materiais ou um novo método contábil não é patenteado como uma invenção.
Nos EUA, algumas dessas soluções podem ser patenteáveis como “
métodos de negócios cobertos ”, no entanto, a prática de patentear essas soluções é instável.
No entanto, em qualquer jurisdição, as invenções podem reconhecer algoritmos de compactação ou criptografia para informações armazenadas em um meio ou para transmissão em um canal de comunicação, algoritmos de autorização multifatorial, algoritmos de balanceamento de carga do servidor, algoritmos de reconhecimento de imagem etc.
Descrições de Algoritmos
Para garantir um escopo adequado de proteção da invenção e imunidade de patente suficiente para revogação de patente, é importante compor corretamente uma descrição do algoritmo para, por um lado, cumprir o requisito de que o aplicativo contenha uma descrição da invenção que revele sua essência com uma abrangência suficiente para a implementação da invenção por um especialista na técnica (p .2 (2) O artigo 1375 do Código Civil da Federação Russa na Rússia; o artigo 83 EPC na Europa; 35 USC 112 (a) nos EUA) e, por outro lado, não sugerem maneiras possíveis de os concorrentes contornarem uma patente.
Além disso, se necessário, a descrição deve fornecer uma base para a introdução de recursos nas reivindicações durante o exame ou litígio de patente.
Na descrição da invenção, a cadeia lógica "objetivo da invenção - características da invenção - resultado técnico", isto é, a conexão do resultado técnico com as características da invenção (pelo menos com as características que estão contidas nas reivindicações) deve ser demonstrada.
Diferentemente das construções mecânicas, em “métodos de computador”, essa conexão em si pode não ser óbvia e deve ser especificada na descrição de forma explícita.
O resultado técnico deve ser de natureza técnica e deve ser formulado de forma a garantir sua medição ou observação direta.
O conceito de “efeito benéfico” de uma invenção (
efeito vantajoso ), característica de algumas jurisdições, não coincide totalmente com o conceito de “resultado técnico”. Em particular, produto mais barato (produto ou serviço), usabilidade aprimorada, aparência aprimorada etc. pode constituir um “efeito benéfico”, mas não será reconhecido como resultado técnico.
Se uma formulação "ampla" for usada nas reivindicações, por exemplo, da forma
meios mais função (meios para ...), a descrição deverá conter um número suficiente de exemplos práticos da função que justifica o uso de tal formulação. A falta de especificidade pode levar a complicações na fase de exame e a uma diminuição nas chances de uma patente suportar tentativas de anulação (
Bilski vs. Kappos, 2010 ;
Alice Corp. vs. CLS Bank International, 2014 e outros) [1].
Se o intervalo de valores numéricos dos parâmetros for usado nas reivindicações, a descrição deve conter um número suficiente de exemplos ou justificativas teóricas que confirmem a obtenção do resultado técnico reivindicado em todo o intervalo.
Ao mesmo tempo, muitas vezes tudo o que pode ser alcançado pelo desenvolvedor do programa como material de origem para a preparação de um pedido de patente é um diagrama de blocos incompleto do algoritmo, uma listagem de códigos desse programa e explicações confusas como "leia aqui, não leia, eis um esboço e aqui e ali existem muletas, e elas também não devem ser vigiadas. "
Portanto, para o compilador do pedido de patente para o algoritmo, é importante entender a essência da solução algorítmica patenteada e apresentá-la corretamente, traduzindo as funções e operadores da linguagem de programação para uma linguagem técnica e matemática e complementando simultaneamente a descrição da invenção com possíveis variantes de sua implementação prática, que os desenvolvedores geralmente não têm tempo para pensar. eles consideram esse trabalho abaixo de sua dignidade.
Exemplo: um fragmento de código real na linguagem de programação C ++ e um fragmento da descrição da invenção feita com base em

Ilustrações gráficas de algoritmos
Como uma ilustração gráfica dos algoritmos do programa de computador, os fluxogramas dos algoritmos são mais frequentemente usados.
Ao preparar figuras contendo fluxogramas de algoritmos, é recomendável aderir a um dos sistemas de notação gráfica mais comuns - GOST 19.701-90 (ISO 5807: 1985) [2] ou a linguagem de modelagem unificada UML [3].
Métodos alternativos para visualizar algoritmos, por exemplo, a linguagem visual DRAGON, pseudo-código, diagramas de Nassi-Schneiderman, etc., também são aplicáveis, no entanto, são menos convenientes para esse fim devido à sua popularidade limitada.
Fluxograma de exemplo de acordo com GOST 19.701-90
Algoritmos complexos com um alto grau de detalhe geralmente não cabem em uma única folha A4, em conformidade com os requisitos para desenhos de pedidos de patente. Portanto, eles são apresentados em várias folhas - usando o princípio da decomposição em cascata, quando um diagrama de blocos do nível superior é colocado na primeira folha e nas próximas folhas são diagramas de blocos que revelam a composição dos blocos da primeira folha, ou imediatamente de forma detalhada, usando conectores, permitindo o esquema, iniciado em uma folha, continua nas folhas subsequentes. É possível combinar esses dois métodos.
Exemplo de uso do conector
Alguns tipos de algoritmos, principalmente relacionados às telecomunicações, podem ser visualizados com sucesso usando diagramas do
fluxo de mensagens do formulário.
Um exemplo de fluxograma
Outros tipos de algoritmos, por exemplo, relacionados aos chamados "Métodos de negócios", é conveniente ilustrar usando diagramas da família IDEF.
Exemplo de gráfico IDEF0
Fórmulas de invenções para algoritmos
Um conceito genérico para as reivindicações relacionadas a algoritmos de programas de computador, é aconselhável escolher um método. A escolha de um dispositivo como um termo genérico (um dispositivo de computação que executa um programa ou um dispositivo de armazenamento que armazena um programa) é aplicável apenas em reivindicações independentes adicionais, e mesmo assim não em todas as jurisdições.
Em particular, nos Estados Unidos, a caracterização de um dispositivo pelos sinais de um método pode resultar no cancelamento de uma patente (
HTC Corp. vs. IPCom GMBH & Co., KG, 2010 ) [4].
Uma reivindicação independente deve conter uma descrição do objetivo da invenção e características da invenção, garantindo a obtenção do resultado técnico indicado na descrição. Além disso, o uso nas reivindicações da redação “ampla” da forma
significa mais a função para uma única característica distintiva também pode levar ao cancelamento de uma patente nos EUA (
In re Hyatt, 1983 ) [5].
Normalmente, os “métodos computacionais” são patenteados em vários países que são mercados-alvo para produtos patenteados. Ao elaborar as reivindicações para esses pedidos de patente, é aconselhável não se concentrar nos critérios russos para a unidade da invenção, mas nos critérios de unidade adotados nesses países ou nos critérios de unidade de acordo com o PCT (Tratado de Cooperação em matéria de Patentes), se a patente for planejada com base em um pedido internacional.
A fórmula é compilada usando construções de fala tradicionais para métodos de patenteamento: em russo - voltas verbais elípticas na terceira pessoa do plural (
transmitir, receber, processar, calcular, comparar, tomar decisões ), em inglês - voltas impessoais em gerúndio (
transmitindo, recebendo , processamento, comparação, julgamento ).
Um exemplo da redação das reivindicações dependentesO método de acordo com a página 27, caracterizado por o refinamento do valor de pelo menos um dos ângulos de inclinação, rotação e guinada conter as seguintes etapas:
(b1) inicialize a matriz numérica e a variável;
(b2) leitura das leituras do magnetômetro, acelerômetro e giroscópio;
(b3) calcular os ângulos de inclinação, rotação e guinada e velocidade de rotação do primeiro dispositivo terminal;
(b4) calcular a diferença entre o valor de pelo menos um dos ângulos de inclinação, rotação e guinada calculados com base nas leituras do magnetômetro e o valor do mesmo ângulo calculado com base nas leituras do giroscópio; ...
Nas fórmulas das invenções de TI, os portadores de informações às vezes contêm código de software que implementa o algoritmo de acordo com a invenção. A popularidade de tais reivindicações tem diminuído nos últimos anos, mas se o requerente insistir em incluir tal reivindicação na fórmula, deve-se lembrar que em algumas jurisdições (principalmente nos EUA), o portador de informações no aplicativo deve ser apresentado como um meio físico legível por máquina (
meio legível por computador não transitório ) - em contraste com os sinais elétricos e eletromagnéticos nos canais de comunicação, sinais acústicos e outros efeitos das ondas.
A aparência desse termo está associada aos chamados “
35 problema de rejeição da USC §101 ” - recusas freqüentes nos Estados Unidos em aplicativos que contenham o sinal “
meio legível por computador ” nas reivindicações, sem indicar sua natureza física.
Isenções de responsabilidade e feitiços
Nos pedidos de patente para algoritmos de programas de computador, é razoável usar comentários (isenções de responsabilidade) sobre a sequência de etapas do algoritmo, por exemplo, no formato:
... a sequência de ações na descrição do método é ilustrativa e, em várias modalidades da invenção, essa sequência pode diferir da descrita, desde que a função desempenhada e o resultado alcançado sejam mantidos.Nos pedidos de patente para software e hardware, também é possível usar isenções de responsabilidade relacionadas a uma combinação de recursos relacionados a soluções de software e hardware, por exemplo, na forma:
... os dispositivos e suas partes mencionados na descrição são software e hardware, enquanto o hardware de alguns dispositivos pode diferir, coincidir parcialmente ou coincidir completamente com o hardware de outros dispositivos, a menos que especificado de outra forma explicitamente;
... o hardware dos dispositivos pode estar localizado em diferentes partes de outros dispositivos, a menos que especificado de outra forma explicitamente;
... os módulos do programa podem ser implementados como código de programa contido em um dispositivo de armazenamento.Além disso, em pedidos de patente destinados a patentes estrangeiras, especialmente em países da tradição britânica ou americana de patentes, é aconselhável usar formulações específicas de isenções de responsabilidade e outras formas legais, que geralmente parecem bizarras ou sem sentido no campo jurídico russo com seu efeito prescritivo da lei de patentes, mas tradicionalmente usado nesses países. Isso se aplica, por exemplo, aos comentários do formulário:
... tal e tal documento, cujo conteúdo inteiro é incorporado aqui por referência;
... os exemplos não limitam o escopo da invenção reivindicada;
... o link na descrição para a publicação da técnica anterior não é um reconhecimento de que esta publicação faz parte de um conhecimento bem conhecido neste campo.Apesar do sucesso na harmonização das leis de patentes dos principais países industrializados, tradições rudimentares herdadas dos séculos 18 a 19 são preservadas em várias jurisdições.
Além disso, algumas dessas tradições podem estar relacionadas à natureza precedente da lei nas respectivas jurisdições, enquanto outras podem estar relacionadas às especificidades da prática local de aplicação da lei, e isso deve ser levado em consideração na preparação de pedidos de patentes.
Conclusão
O patenteamento de algoritmos de programas de computador requer um qualificador e detalhamento especiais no compilador de aplicativos. Além disso, em relação aos pedidos de patente estrangeira, é necessário levar em consideração as tradições de patentes e as tendências da aplicação da lei nas jurisdições dos principais mercados de produtos de alta tecnologia, especialmente nos EUA e na Europa.
Como a jurisprudência estrangeira em relação aos “métodos computacionais” muda frequentemente e às vezes radicalmente, as principais tendências devem ser constantemente monitoradas e, se possível, levadas em consideração ao preparar aplicativos.
Para os EUA, por exemplo, é conveniente usar uma enciclopédia atualizada regularmente sobre a preparação de fórmulas de patentes [5], para países europeus - uma revisão periódica da prática de disputas de patentes [6].
Literatura1. P. Andrew Riley, Jonathan RK Stroud e Jeffrey Totten. A amplitude surpreendente da revisão pós-concessão de patentes de método comercial coberto: uma nova maneira de desafiar a patente. - The Columbia Science & Technology Law Review, vol. XV, primavera de 2014, páginas 235–292.
2. GOST 19.701-90 Sistema unificado de documentação do programa. Esquemas de algoritmos, programas, dados e sistemas. Os símbolos são condicionais e regras de execução. - M.: Editora das normas, 1991.
3. Grady Butch, James Rambo, Ivar Jacobson. Linguagem UML. Manual do usuário. Segunda edição. - M .: DMK Press, 2007.
4. Bradley C. Wright. Reivindicação funcional e divulgação funcional. Apresentado: 6º Instituto Anual de Direito Avançado de Patentes, de 20 a 21 de janeiro de 2011, Alexandria, VA.
5. Robert C. Faber. Faber sobre Mecânica da Redação de Reivindicações de Patentes - Sétima Edição (Release nº 3, novembro de 2016). - Nova York: Instituto de Direito Praticante, 2016.
6. Litígios de Patentes na Europa. Uma visão geral das leis e práticas nacionais nos estados contratantes do EPC - Quarta Edição. - Academia Europeia de Patentes, EPO, 2016.
Esta publicação usa os materiais do relatório elaborado pelo autor na conferência de patentes de São Petersburgo Collegiate Readings-2018 em 27 de junho de 2018. O relatório foi dirigido a especialistas em patentes, a maioria dos quais estão longe de tecnologias de TI, portanto, algumas informações da publicação podem parecer familiares e óbvias para os leitores da Habr. . O autor incentiva os leitores a tratar isso com compreensão.