笔者十年前从事通信定位芯片、板卡开发时,所申请的所有发明专利对应的技术方案都可以看作是一种信号处理或信息处理(参数估计)的方法。 因此,当时为笔者服务的专利律师总是从保护强度的角度建议我们以装置权利要求加方法权利要求的形式申请专利。 转行代理行业后,经过学习专利法和积累实际工作经验,笔者非常赞同当初为我服务的代理人的意见。
一般来说,数字电路作为一种设备很容易被接受,所以作为芯片、板卡等数字电路的开发者,笔者对代理商的建议毫无抵抗力,认为是理所当然的。 但数字电路和软件在逻辑上是等价的,即用纯数字电路实现的模块也可以用微处理器加相应的软件程序来实现。 而且,数字电路可以使用基本逻辑门分立元件构建,也可以使用硬件描述语言(VHDL、Verilog HDL等)对逻辑门阵列(FPGA、CPLD等)进行编程来实现。
可以先通过编写计算机程序来模拟信号处理算法。 通过测试后,通常会用硬件描述语言(VHDL、Verilog HDL等)对逻辑门阵列(FPGA、CPLD等)进行编程和实现,并进行实际的硬件实验。 最后,将其流片进行制造。 对于芯片。 不过,信息处理(参数估计)算法,例如卡尔曼滤波器,也可能为了计算效率而使用硬件描述语言固化在逻辑门阵列中,甚至流片。 事实上,第一代区块链技术比特币刚问世时,其矿机也是采用微处理器和相应的软件程序实现的。 后来为了提高计算速度,开发了矿机专用计算芯片,部分计算功能由微处理器加软件由纯硬件实现。
设备(包括硬件设备和数字电路)与软件产品的共同点是,设备也是静态产品,通过模块化设计制造,体现了模块之间的输入、输出、功能和关系。 基于硬件描述语言的数字电路设计的主要任务是设计各种模块(硬件描述语言称为模块)。
例如,方法权利要求中的步骤A需要将数据B和数据C相加。设备权利要求中可以相应地提供加法器模块D,并附有功能描述(实现B数据和C数据的相加)。 步骤A中B数据和C数据的添加确实是在软件使用者手中实现的,似乎与开发者无关。 但开发者不能否认,他开发的软件产品中存在一个加法器模块D,实现了B数据和C数据的相加。 只要专利权人能够证明涉嫌侵权产品确实涵盖了专利装置权利要求所包含的全部必要技术特征,则该产品就侵犯了专利权; 作为产品的开发者、制造者,负有不可推卸的侵权责任,且无法推卸侵权责任。 玩弄文字游戏,“使用”的定义含糊不清。 因此,在设备权利要求的保护下,侵权软件开发商的固件(生产、制造受保护设备)的行为也应被视为专利侵权。
此外,专利审查指南还规定,为了清楚、完整地描述计算机程序的主要技术特征,说明书附图中应当给出计算机程序的主流程图。 描述应基于给定的计算机程序流程,并按照流程的时间顺序用自然语言描述计算机程序的每个步骤。 而且,《专利审查指南》中列出的方法专利基本上都是以步骤或过程来描述的。
迄今为止,在专利申请文件中,方法权利要求及其相应的描述主要基于步骤和流程图。 使用图形来表示算法思想是一种很好的方法,因为一张图片胜过千言万语。 流程图用于汇编语言和早期的BASIC语言环境。 因为允许使用流线,所以太灵活,不受限制。 用户可以任意翻转流程,造成程序读取和修改困难,不利于结构化程序的设计。
因此,早在面向过程编程时代,工程界就广泛使用支持结构化编程的PAD图等图形设计工具来代替流程图,以及用于程序开发的数据流图、ER图等图形工具。如 PASCAL 或 C 语言。 。 面向对象编程以对象为中心,认为程序是由一系列对象组成的。 常用的建模方法包括:用例图、领域模型、类图、时序图、设计类图等。在对芯片和FPGA设计进行初步系统规划时,通常使用Visio等图形输入工具来完成定义系统功能、模块划分、模块接口定义,而不是使用流程图。 由此可见,流程图既不是发明人为其产品设计技术方案的必要设计工具,也不一定是记录和定义技术方案的最佳方式。
《专利审查指南》在权利要求撰写部分还规定:涉及计算机程序的发明专利申请的权利要求可以写成方法权利要求,也可以写成产品权利要求,例如【根据局令70号第4号修改为“即”到“例如”]实现该方法的设备。
如果整个过程基于计算机程序流程,并且设备权利要求的撰写方式与计算机程序流程的步骤完全一致,或者与反映计算机的方法权利要求完全一致程序流程,即这样,如果设备权利要求中的各组成部分与计算机程序流程中的各步骤或方法权利要求中的各步骤完全对应,则设备权利要求中的各组成部分应理解为实现了程序流程中的各步骤或方法权利要求中的每个步骤。 必须为该方法的每个步骤建立程序模块。 这样一组程序模块所定义的装置权利要求应当理解为主要通过说明书记载的计算机程序来实现方案的程序模块结构,而不应理解为主要通过硬件手段来实现。 实施解决方案的物理设备。
指南明确建议设备权利要求的各组成部分对应计算机程序流程的各步骤或方法权利要求的各步骤,即设备的组成部分对应方法的步骤或各步骤的任务。 有一些组件可以完成它。 但该方法中的步骤相互之间有一定的时间顺序限制,设备中的各组件可以并发执行(多线程程序),甚至可以并行执行(多核CPU加多线程、FPGA和其他芯片硬件电路)模块)。 两者之间的区别意味着设备权利要求具有更广泛的保护范围。
此外,信号或信息处理方法的步骤不一定都具有严格的时间顺序关系。 因此,在撰写软件技术方案的权利要求时,应尽量在权利要求中同时记载产品和方法,以寻求更严格、周到的保护。