Los productos en el campo de la tecnología de la información (en adelante, TI) generalmente contienen varios componentes, cuya protección legal se implementa de diferentes maneras.
La arquitectura, la solución algorítmica, el hardware del producto de TI y la parte gráfica de la interfaz de usuario están protegidos como objetos de la ley de patentes.
Las características de patentar soluciones arquitectónicas y de hardware son dignas de una discusión por separado y, por lo tanto, no se consideran aquí.
El código de los programas de computadora que implementan el algoritmo y la interfaz de usuario se registra como un objeto de derechos de autor (es decir, como una obra literaria), respectivamente, en su relación solo se protege la forma de texto, y no el algoritmo. La parte gráfica de la interfaz de usuario puede patentarse como un diseño industrial. Al mismo tiempo, el registro del código del programa de computadora y la patente de la parte gráfica de la interfaz de usuario pueden considerarse, más bien, como una herramienta auxiliar para garantizar la protección legal en la industria de TI.
El mecanismo más confiable y, por lo tanto, el principal para proteger los intereses de un desarrollador de software es patentar los algoritmos de programas de computadora como invenciones.
Patentabilidad principalExisten limitaciones fundamentales para patentar invenciones. Generalmente son similares en diferentes jurisdicciones, aunque puede haber diferencias que, en la mayoría de los casos, son de naturaleza cosmética.
Según el apartado 1 del art. 1350 del Código Civil de la Federación Rusa, como invención, entre otros objetos, una solución técnica está protegida en cualquier campo relacionado con un método caracterizado como un proceso de llevar a cabo acciones sobre un objeto material utilizando medios materiales.
Según el apartado 5 del art. 1350 del Código Civil de la Federación de Rusia, los métodos matemáticos, las reglas y los métodos de juego, la actividad intelectual o económica, así como las decisiones que consisten solo en la presentación de información, no son invenciones, y la posibilidad de clasificar estos objetos como invenciones solo cuando la solicitud de patente se relaciona con estos objetos per se.
En Rusia, por ejemplo, la parte de juego de roles de un algoritmo de juego de computadora (juego), la parte matemática de un algoritmo de procesamiento de información sin referencia a objetos materiales o un nuevo método de contabilidad no están patentados como invención.
En los Estados Unidos, algunas de estas soluciones pueden resultar patentables como "
métodos comerciales cubiertos ", sin embargo, la práctica de patentar tales soluciones es inestable.
Sin embargo, en cualquier jurisdicción, los inventos pueden reconocer algoritmos de compresión o encriptación para la información almacenada en un medio o para la transmisión en un canal de comunicación, algoritmos de autorización multifactor, algoritmos de equilibrio de carga del servidor, algoritmos de reconocimiento de imágenes, etc.
Descripciones de algoritmos
Para garantizar un alcance adecuado de protección de la invención y una inmunidad de patente suficiente a la revocación de la patente, es importante redactar correctamente una descripción del algoritmo para, por un lado, cumplir con el requisito de que la aplicación contenga una descripción de la invención que revele su esencia con una integridad suficiente para la implementación de la invención por parte de una persona experta en la técnica (p .2 (2) el Artículo 1375 del Código Civil de la Federación Rusa en Rusia; el Artículo 83 EPC en Europa; el 35 USC 112 (a) en los EE. UU.) Y, por otro lado, no sugieren posibles competidores para eludir una patente.
Además, si es necesario, la descripción debe proporcionar una base para introducir características en las reclamaciones durante el examen o litigio de patentes.
En la descripción de la invención, la cadena lógica "propósito de la invención - características de la invención - resultado técnico", es decir debe demostrarse la conexión del resultado técnico con las características de la invención (al menos con las características contenidas en las reivindicaciones).
A diferencia de las construcciones mecánicas, en los "métodos informáticos" esta conexión en sí misma puede no ser obvia, y debe especificarse en la descripción de forma explícita.
El resultado técnico debe ser de naturaleza técnica y debe formularse de forma que garantice su medición u observación directa.
Característica de algunas jurisdicciones, el término "efecto beneficioso" de la invención
(efecto ventajoso) no lo hace completamente coinciden con el término "resultado técnico." En particular, producto más barato (producto o servicio), usabilidad mejorada, apariencia mejorada, etc. puede constituir un "efecto beneficioso", pero no será reconocido como un resultado técnico.
Si se usa una formulación "amplia" en las reivindicaciones, por ejemplo, de la forma
significa más función (medios para ...), entonces la descripción debe contener un número suficiente de ejemplos prácticos de la función que justifique el uso de dicha formulación. La falta de especificidad puede conducir tanto a complicaciones en la etapa de examen como a una disminución en las posibilidades de que una patente resista los intentos de anularla (
Bilski vs. Kappos, 2010 ;
Alice Corp. vs. CLS Bank International, 2014 y otros) [1].
Si el rango de valores numéricos de los parámetros se usa en las reivindicaciones, la descripción debe contener un número suficiente de ejemplos o justificaciones teóricas que confirmen el logro del resultado técnico reclamado en todo el rango.
Al mismo tiempo, a menudo todo lo que se puede lograr del desarrollador del programa como material de origen para la preparación de una solicitud de patente es un diagrama de bloques incompleto del algoritmo, una lista de códigos de este programa y explicaciones confusas como "lea aquí, no lea, aquí hay un trozo y aquí y allá hay muletas, y tampoco deberían ser observadas ".
Por lo tanto, para el compilador de una solicitud de patente para un algoritmo, es importante comprender la esencia de una solución algorítmica patentada y presentarla correctamente, traduciendo las funciones y operadores de un lenguaje de programación a un lenguaje técnico y matemático y complementando simultáneamente la descripción de la invención con posibles variantes de su implementación práctica, que los desarrolladores generalmente no tienen tiempo para pensar o ellos consideran este trabajo por debajo de su dignidad.
Ejemplo: un fragmento de código real en el lenguaje de programación C ++ y un fragmento de la descripción de la invención realizada sobre su base

Ilustraciones gráficas de algoritmos.
Como ilustración gráfica de los algoritmos de programas de computadora, los diagramas de flujo de algoritmos se usan con mayor frecuencia.
Cuando se preparan figuras que contienen diagramas de flujo de algoritmos, es aconsejable adherirse a uno de los sistemas de notación gráfica más comunes: GOST 19.701-90 (ISO 5807: 1985) [2] o el lenguaje de modelado unificado UML [3].
También son aplicables métodos alternativos para visualizar algoritmos, por ejemplo, el lenguaje visual DRAGON, pseudocódigo, diagramas de Nassi-Schneiderman, etc., sin embargo, son menos convenientes para este propósito debido a su popularidad limitada.
Diagrama de flujo de ejemplo según GOST 19.701-90
Los algoritmos complejos con un alto grado de detalle generalmente no caben en una sola hoja A4 de acuerdo con los requisitos para los dibujos de solicitudes de patentes. Por lo tanto, se presentan en varias hojas, ya sea utilizando el principio de descomposición en cascada, cuando se coloca un diagrama de bloques del nivel superior en la primera hoja, y en las siguientes hojas hay diagramas de bloques que revelan la composición de los bloques de la primera hoja, o inmediatamente en una forma detallada usando conectores que permiten El esquema, iniciado en una hoja, continúa en las hojas siguientes. Es posible combinar estos dos métodos.
Ejemplo de uso del conector
Algunos tipos de algoritmos, principalmente relacionados con las telecomunicaciones, se pueden visualizar con éxito utilizando diagramas del
flujo de mensajes del formulario.
Un ejemplo de diagrama de flujo
Otros tipos de algoritmos, por ejemplo, relacionados con el llamado "Métodos de negocios", es conveniente ilustrar el uso de diagramas de la familia IDEF.
Ejemplo de gráfico IDEF0
Fórmulas de invenciones para algoritmos.
Un concepto genérico para las afirmaciones relacionadas con los algoritmos de programas de computadora, es aconsejable elegir un método. La elección de un dispositivo como un término genérico (un dispositivo informático que ejecuta un programa o un dispositivo de almacenamiento que almacena un programa) es aplicable solo en reclamos independientes adicionales, e incluso no en todas las jurisdicciones.
En particular, en los Estados Unidos, la caracterización de un dispositivo mediante los signos de un método puede dar lugar a la cancelación de una patente (
HTC Corp. vs. IPCom GMBH & Co., KG, 2010 ) [4].
Una declaración independiente debe contener una descripción del propósito de la invención y las características de la invención, asegurando el logro del resultado técnico indicado en la descripción. Además, el uso en las reivindicaciones de la redacción "amplia" del formulario
significa función más para una sola característica distintiva también puede conducir a la cancelación de una patente en los Estados Unidos (
In re Hyatt, 1983 ) [5].
Por lo general, los "métodos informáticos" están patentados en varios países que son mercados objetivo para productos patentados. Al elaborar las solicitudes de tales solicitudes de patentes, es aconsejable centrarse no en los criterios rusos para la unidad de la invención, sino en los criterios de unidad adoptados en estos países, o en los criterios de unidad de conformidad con el PCT (Tratado de Cooperación en materia de Patentes), si la patente se planifica sobre la base de una solicitud internacional.
La fórmula se compila utilizando construcciones del habla tradicionales para los métodos de patentamiento: en ruso - giros verbales elípticos en tercera persona del plural (
transmitir, recibir, procesar, calcular, comparar, tomar decisiones ), en inglés - giros gerundios impersonales (
transmitir, recibir , procesamiento, comparación, evaluación ).
Un ejemplo de la redacción de las reivindicaciones dependientes.El método según la página 27, caracterizado porque el refinamiento del valor de al menos uno de los ángulos de cabeceo, balanceo y guiñada contiene los siguientes pasos:
(b1) inicializar la matriz numérica y la variable;
(b2) leer las lecturas del magnetómetro, acelerómetro y giroscopio;
(b3) calcular los ángulos de cabeceo, balanceo y guiñada y las velocidades de rotación del primer dispositivo terminal;
(b4) calcular la diferencia entre el valor de al menos uno de los ángulos de cabeceo, balanceo y guiñada calculados en base a las lecturas del magnetómetro y el valor del mismo ángulo calculado en base a las lecturas del giroscopio; ...
En las fórmulas de las invenciones de TI, los portadores de información a veces contienen código de software que implementa el algoritmo de acuerdo con la invención. La popularidad de tales reclamos ha disminuido en los últimos años, pero si el solicitante insiste en incluir tal reclamo en la fórmula, debe recordarse que en algunas jurisdicciones (principalmente en los EE. UU.), El portador de información en la solicitud debe presentarse como un medio físico legible por máquina (
medio legible por computadora no transitorio ) - en contraste con las señales eléctricas y electromagnéticas en los canales de comunicación, las señales acústicas y otros efectos de onda.
La aparición de este término está asociada con el llamado "
35 USC §101 problema de rechazo ": rechazos frecuentes en los Estados Unidos de solicitudes que contienen el signo "
medio legible por computadora " en las reclamaciones sin indicar su naturaleza física.
Renuncias y hechizos
En las solicitudes de patente para algoritmos de programas de computadora, es razonable utilizar comentarios (descargos de responsabilidad) con respecto a la secuencia de pasos del algoritmo, por ejemplo, de la forma:
... la secuencia de acciones en la descripción del método es ilustrativa y en diversas realizaciones de la invención, esta secuencia puede diferir de la descrita, siempre que la función realizada y el resultado logrado se mantengan.En las solicitudes de patentes para software y hardware, también es posible utilizar las renuncias de responsabilidad con respecto a una combinación de características relacionadas con soluciones de software y hardware, por ejemplo, de la forma:
... los dispositivos y sus partes mencionados en la descripción son software y hardware, mientras que el hardware de algunos dispositivos puede diferir, coincidir parcialmente o coincidir completamente con el hardware de otros dispositivos, a menos que se especifique lo contrario explícitamente;
... el hardware de los dispositivos puede estar ubicado en diferentes partes de otros dispositivos, a menos que se especifique lo contrario explícitamente;
... los módulos de programa pueden implementarse como código de programa contenido en un dispositivo de almacenamiento.Además, en las solicitudes de patentes destinadas a patentes extranjeras, especialmente en países de tradición británica o estadounidense de patentes, es aconsejable utilizar formulaciones específicas de renuncias y otros hechizos legales, que a menudo parecen extraños o sin sentido en el campo legal ruso con su efecto prescriptivo del derecho de patentes, pero utilizado tradicionalmente en estos países. Esto se aplica, por ejemplo, a los comentarios del formulario:
... tal y tal documento, cuyo contenido completo se incorpora aquí como referencia;
... los ejemplos no limitan el alcance de la invención reivindicada;
... el enlace en la descripción de la publicación de la técnica anterior no es un reconocimiento de que esta publicación es parte de un conocimiento bien conocido en este campo.A pesar del éxito en la armonización de las leyes de patentes de los principales países industriales, las tradiciones rudimentarias heredadas de los siglos XVIII y XIX se conservan en varias jurisdicciones.
Además, algunas de estas tradiciones pueden estar relacionadas con la naturaleza precedente de la ley en las jurisdicciones respectivas, mientras que otras pueden estar relacionadas con los detalles específicos de la práctica policial local, y esto debe tenerse en cuenta al preparar las solicitudes de patentes.
Conclusión
El patentado de algoritmos de programas de computadora requiere un calificador especial y minuciosidad en el compilador de la aplicación. Además, en relación con las solicitudes destinadas a patentes extranjeras, es necesario tener en cuenta las tradiciones de patentes y las tendencias de aplicación de la ley en las jurisdicciones de los principales mercados de productos de alta tecnología, especialmente los Estados Unidos y Europa.
Dado que la jurisprudencia extranjera con respecto a los "métodos informáticos" a menudo y a veces cambia radicalmente, las principales tendencias deben ser monitoreadas constantemente y, si es posible, tenidas en cuenta al preparar las solicitudes.
Para los Estados Unidos, por ejemplo, es conveniente utilizar una enciclopedia actualizada regularmente sobre la preparación de fórmulas de patentes [5], para los países europeos: una revisión periódica de la práctica de disputas de patentes [6].
Literatura1. P. Andrew Riley, Jonathan RK Stroud y Jeffrey Totten. La amplitud sorprendente de la revisión posterior a la concesión de patentes de métodos comerciales cubiertos: una nueva forma de desafiar las patentes. - The Columbia Science & Technology Law Review, vol. XV, primavera de 2014, páginas 235–292.
2. GOST 19.701-90 Sistema unificado de documentación del programa. Esquemas de algoritmos, programas, datos y sistemas. Los símbolos son condicionales y reglas de ejecución. - M.: Editorial de normas, 1991.
3. Grady Butch, James Rambo, Ivar Jacobson. Lenguaje UML. Manual de usuario. Segunda edicion. - M .: DMK Press, 2007.
4. Bradley C. Wright. Reclamación funcional y divulgación funcional. Presentado: 6º Instituto Anual Avanzado de Derecho de Patentes, del 20 al 21 de enero de 2011, Alexandria, VA.
5. Robert C. Faber. Faber on Mechanics of Patent Claim Drafting - Seventh Edition (Release # 3, noviembre de 2016). - Nueva York: Practicing Law Institute, 2016.
6. Litigios de patentes en Europa. Una visión general de la legislación y la práctica nacionales en los Estados contratantes del EPC - Cuarta edición. - Academia Europea de Patentes, EPO, 2016.
Esta publicación utiliza los materiales del informe realizado por el autor en la conferencia de patentes St. Petersburg Collegiate Readings-2018 el 27 de junio de 2018. El informe fue dirigido a especialistas en patentes, la mayoría de los cuales están lejos de las tecnologías de TI, por lo que cierta información de la publicación puede parecer familiar y obvia para los lectores de Habr . El autor anima a los lectores a tratar esto con comprensión.