2024年2月26日发(作者:)
下示例并非穷举,在计算机程序产品权利要求所定义的保护范围内可以存在多种变形:
【A】“一种计算机程序,当其在计算机上运行时令计算机实现功能A,功能B,功能C,……”(又称作计算机程序权利要求);
【B】“一种存储有计算机程序的计算机可读存储介质,其中所述计算机程序使计算机执行步骤A,步骤B,步骤C,……”(又称作计算机可读介质权利要求);
【C】“一种计算机程序产品,包括计算机程序指令,其中所述计算机程序指令使计算机实现功能A,功能B,功能C,……”(又称作程序产品权利要求);
【D】“一种制造物,包括存储有计算机程序的计算机可读介质,所述程序被运行用于执行步骤A,步骤B,步骤C,……”(又称作制造物权利要求);
【E】“一种数据流,用于表示下列计算机程序产品,所述计算机程序产品包括:程序代码段1,用于……;程序代码段2,用于……”(又称作信号权利要求)。
1、中国:支持B。
第二部分第九章的修改(关于涉及计算机程序的发明专利申请审查的若干规定)
修改点一:
修改后的《指南》进一步明确“计算机程序本身”不同于“涉及计算机程序的发明”,允许采用“介质+计算机程序流程”的方式撰写权利要求。(第2节)
修改理由:
根据我国专利法第二十五条和修改前的《指南》第二部分第一章的列举性规定,“计算机程序本身”属于智力活动的规则和方法,不能获得专利保护。修改前的《指南》第二部分第九章第1节对“计算机程序本身”进行了明确定义。但是在第2节“涉及计算机程序的发明专利申请的审查基准”中,没有区分表述“计算机程序”与“计算机程序本身”,实践中容易产生“涉及计算机程序的发明”不能获得专利保护的误解。对此,为了对两者进行区分,在第2节第(1)项中的“计算机程序”或者“程序”之后增加“本身”,澄清仅仅是“计算机程序本身”不属于专利保护的客体,“涉及计算机程序的发明”可以获得专利保护,进而也明确了允许采用“介质+计算机程序流程”的方式撰写权利要求。
修改点二:
修改后的《指南》删除第5.2节第1段中的“并详细描述该计算机程序的各项功能是由哪些组成部分完成以及如何完成这些功能”,并在第1段最后增加“所述组成部分不仅可以包括硬件,还可以包括程序”,明确“程序”可以作为装置权利要求的组成部分。此外,将第1段中“即实现该方法的装置”适应性地修改为“例如实现该方法的装置”。(第5.2节)
修改理由:
计算机产品的特点在于软件与硬件是两个协同工作的组成部分,都可以进行改进和创新。涉及计算机程序的发明专利申请的权利要求可以写成一种方法权利要求,也可以写成一种产品权利要求。根据修改前的《指南》,装置权利要求的撰写方式容易将程序流程理解为限定硬件的方法或功能。为了引导申请人直接明确地描述其发明创造中涉及的程序流程方面的改进,进行了以上修改,明确“程序”可以作为装置权利要求的组成部分。
修改点三:
修改后的《指南》将第5.2节第2段中的“功能模块”修改为“程序模块”。(第5.2节)
此外,删除对实践已无指导意义的【例9】“一种以自定学习内容的方式学习外语的系统”。(第3节)
修改理由:
修改前的《指南》有关“功能模块”的表述未能清楚地反映技术本质,且易与“功能性限定”的表述混淆。
2、美国:支持B、D。美国专利审查指南(MPEP)的第2106 部分。MPEP 的第2106部分规定:“……被编码有计算机程序的计算机可读介质则属于限定了计算机程序和计算机其它元素之间的结构性或功能性的交互关系的计算机元素,因此能够实现该计算机程序的功能,因此属于法定的专利保护客体。2010 年1 月美国专利商标局发布的通知中明确要求了必须在计算机程序产品权利要求中加入“非瞬时性的(non-transitory)”的限定。美国还包括如下形式的计算机程序产品:
“A software program product, comprising: a non-transitory computer readable medium comprising computer-executable
instructions for:…”。例如:
(1) A software program product embodied in a non-transitory storage medium, having instructions that, when
executed by a computing device or system, cause the computing device of system to perform the method according to
claim 12.
(2) A computer program product embodied on a non-transitory distribution medium readable by a computer and
comprising program instructions which, when loaded into an apparatus, execute the method according to claim 1.
(3) A computer program product, comprising: a non-transitory computer-readable medium comprising code for:
receiving, at a user equipment (UE), a synchronization shift command in a timeslot of a subframe of a time division
duplex (TDD) wireless communication system, the synchronization shift command indicating whether an adjustment of a
future synchronization time is to an earlier synchronization time in a future timing adjustment cycle, or to a later
synchronization time in the future timing adjustment cycle, or no synchronization time shift in the future timing
adjustment cycle, the synchronization time being an uplink synchronization time for transmitting by the UE, and wherein
the adjustment of the future synchronization time is relative to a current synchronization time in a current timing
adjustment cycle; receiving, at the UE, a message comprising an uplink synchronization frequency indicating how
frequently the synchronization time will be adjusted during at least one future timing adjustment cycle by the
synchronization shift command of the time division duplex (TDD) wireless communication system; and adjusting the
future synchronization time based on the uplink synchronization frequency, the uplink synchronization frequency being
increased to more than once in a future timing adjustment cycle of the at least one future timing adjustment cycle.
(4) A program product comprising a non transitory computer readable storage medium that stores code
executable by a processor, the executable code comprising code to perform: obtaining tracking information from one or
more electronic devices of a user, at least one of the one or more electronic devices comprising a communication device;
determining, based on the tracking information, that the user is inaccessible via the communication device, wherein
determining that the user is inaccessible via the communication device comprises determining that communications sent
to the communication device will not promptly reach the user; autonomously identifying an alternate device for
contacting the user, the alternate device projected, based on the tracking information, to be in proximity to the user; and
rerouting an incoming communication based on the alternate device, wherein the tracking information used to determine
that the user is inaccessible comprises one or more of location information for the communication device, movement
information for the communication device, user activity information for the communication device, and an indication of
whether the communication device is within a pairing range of a wearable electronic device for the user.
(5) A computer program product comprising one or more tangible computer readable non-transitory storage
media comprising computer-executable instructions operable to, when executed by at least one computer processor of a
first station, result in: processing a fine timing measurements (FTM) request to be transmitted to a second station, the
FTM request comprises a suspend FTM request field and a motion threshold field; processing an acknowledgment (ACK)
received from the second station in response to the FTM request; processing a received FTM frame from the second
station, the FTM frame comprising a motion detection field to indicate a motion of the second station; and suspending
FTM measurements when the motion detection field is to indicate a non-motion state of the second station since the last
FTM measurement.
(6) A computer program product for sending a message from a source application to a target application, said
message comprising a message payload and a header element comprising routing information, said computer program
product comprising a non-transitory machine-readable storage medium having encoded therein executable code of
one or more software programs, wherein the one or more software programs when executed perform the following steps:
processing said header element, using at least one processing device of an integration engine, to route said message to said
target application; transforming, using said at least one processing device of said integration engine, a message format of
said message to a different message format to change a message format of said source application to a message format of
said target application; storing, using said at least one processing device of said integration engine, said message payload
using a claim-Check Enterprise Application Integration (EAI) pattern; applying, using said at least one processing device
of said integration engine, one or more business rules to said message payload to dynamically change a next endpoint in
said header element for said message; and providing, using said at least one processing device of said integration engine,
said transformed message to said target application.
(7) A computer program product in a non-transitory computer readable medium for use in a data processing
system, the computer program product holding computer program instructions executed by the data processing system to
provide context-based security assurance in a cloud application environment, the computer program instructions
comprising: program code, operative as an application is being deployed in the cloud application environment, to present
a set of templates in an editor, wherein a template is pre-defined and includes a security assurance level that is specified
by a set of general security requirements that have been discovered for the cloud application environment in an automated
manner, at least one of the set of general security requirements being specified in a manner that does not expose at least
some specific security tooling requirements necessary to implement the security assurance level security
requirement; program code, operative in response to receipt of a selection of a template, and based at least in part on a
security context of the deployment, to automatically apply configuration changes, via automation, to a set of security
resources present in the cloud application environment to create a cloud application zone, the set of security resources
including the at least one specific tooling requirement necessary to implement the security assurance level security
requirement, the configuration changes including one of: a missing configuration, and a missing product;
and program code operative upon receipt of an indication that the set of security resources have been configured, to
complete the deployment of the application into the cloud application zone.
3、欧盟:支持A、B、C、E。只要计算机程序在其运行时能够产生超出程序(软件)与计算机(硬件)之间的“常规”物理交互之外的“进一步的技术效果”,即属于可专利的客体,而不论权利要求的主题名称写成“一种计算机程序”、“一种存储有计算机程序的计算机可读介质”抑或“一种具有程序代码的计算机程序产品”。
4、马来西亚:支持(没有关于不可专利的客体的规定)。
马来西亚专利审查指南中,没有给出任何关于可授权的计算机程序产品权利要求类型的例子或说明。但是根据实践看,与计算机软件相关的发明在马来西亚被认为是专利保护的客体。例如:
“一种机器可读的程序存储设备,有形地包含机器可执行的程序指令,该程序指令用于执行配置在分布式网络环境下运行并包括一个或多个用于控制一个或多个NP 设备的通用控制处理器(GPP)的网络处理(NP)设备的方法步骤,所述方法
步骤包括:
(a)生成用于输入至所述NP 设备的数据结构……;以及
(b)从所述生成的数据结构中生成定制表格,并将所述表格输入至NP 设备内存中……。”
5、印度:不支持。
计算机程序产品属于印度专利法第3 节第(k)款中规定的不可专利的客体之一:“数学方法、商业方法、计算机程序本身以及算法不属于可专利的发明。”
虽然在印度专利法3(k)中仅排除了计算机程序本身的可专利性,而并未直接排除计算机程序产品的可专利性,但是根据印度知识产权局制定的《专利实践及流程手册》(2008 年第3 版讨论稿)第4.11.8 部分所记载的内容:“涉及软件程序产品的权利要求实质上就是在计算机可读存储介质上表达的计算机程序本身,因此不可专利性。”此外,根据该《手册》4.11.6 和4.11.7
部分的内容,对于涉及计算机软件的发明专利,只有符合技术性要求并且包含了特定硬件特征的方法权利要求,以及执行该方法的计算机系统权利要求(系统的组成部分对应于方法权利要求中的各个步骤)才能被允许。
6、韩国:支持B 类。
韩国专利审查指南第一章第二部分4.1.8 节规定:“计算机程序仅仅是用于操作计算机的指令集合。因此,计算机程序不是法定的专利保护客体。但是,对于一项发明而言,如果由计算机程序引发的数据处理操作被特定地由某硬件执行,那么与该计算机程序联合进行操作的数据处理单元(机器),其操作方法以及记录有该计算机程序的计算机可读介质被视为专利保护的客体。”
此外,在KIPO 的“与计算机相关发明的审查标准”中,列举了三种被允许的计算机程序产品权利要求的形式,其主题名称均为“计算机可读介质”:
(1)“一种记录有计算机程序的计算机可读介质,所述计算机程序用于在计算机中执行步骤A,步骤B,步骤C……”
(2)“一种记录有计算机程序的计算机可读介质,所述计算机程序用于在计算机中实现功能A,功能B,功能C……”
(3)“一种记录有计算机程序的计算机可读介质,所述计算机程序用于令计算机运行为装置A,装置B,装置C,……”
下面列举了两个被KIPO 授权的计算机程序产品权利要求的实例:
(1)“一种位于计算机中的计算机可读存储介质,包含用于显示来自机动车的交通信号的交通信息,所述方法包括:
接受来自交通信号的交通信息;
确定所述交通信息的合适展示,……;以及在所述机动车内利用所述合适展示来展示所述交通信息……。”
(2)“一种记录有计算机程序的计算机可读存储介质,所述计算机程序包含每个用于执行如权利要求1、2、3、4 或7 任一所述的在网络数据处理系统中监控一组已知节点的交易的方法的指令。”
7、日本:支持A、B 类计算机程序产品权利要求的可专利性,但不允许C、D、E 类计算机程序产品权利要求。
日本特许厅专利审查基准第七部分第一章(Part VII, Chapter 1)规定了两类与计算机软件相关的发明,分别是方法发明和产品发明。在产品发明类别中,程序或数据可以两种方式进行定义:(a)“记录有计算机程序的计算机可读存储介质”可以被定义为“产品发明”。如果计算机执行的操作由记录在介质上的数据结构进行限定,那么“记录有结构化数据的计算机可读存储介质”也可以被限定为“产品发明”;以及(b)限定了由计算机执行的多个功能的“一种计算机程序”可以被定义为“产品发明”。
进一步地,针对方式(a),审查基准列举了四个计算机程序产品权利要求的范例,分别是:
【示例1】“一种存储有计算机程序的计算机可读存储介质,其中所述程序令计算机执行步骤A,步骤B,步骤C,……”
【示例2】“一种存储有计算机程序的计算机可读存储介质,其中所述程序令计算机被操作为装置A,装置B,装置C……”
【示例3】“一种存储有计算机程序的计算机可读存储介质,其中所述程序令计算机实现功能A,功能B,功能C,……”
【示例4】“一种存储有数据的计算机可读存储介质,其中所述数据包括数据结构A,数据结构B,数据结构C,……”
针对方式(b),审查基准列举了三个计算机程序本身的权利要求的范例,分别是:
【示例5】“一种计算机程序,令计算机执行步骤A,步骤B,步骤C,……”
【示例6】“一种计算机程序,令计算机被操作为装置A,装置B,装置C……”
【示例7】“一种计算机程序,令计算机实现功能A,功能B,功能C,……”。
8、澳大利亚:支持A、B、C、E 类。
根据《澳大利亚专利实践及流程手册》2.9.2.7 的规定:确定与计算机软件相关的发明是否具有可专利性的方法是判断是否存在“获得最终结果的方式或方法,该最终结果属于在经济上有益的人为创造的事物状态”,下列三项均属于上述“方式或方法”:“可专利的计算机软件的源代码;可专利的计算机软件的以机器可读形式存在的可执行代码;被编程以获取任何在经济上有益的结果的计算机。”,也就是说,计算机程序的源代码和目标代码均构成“能够获得在经济上有益的人为创造的事物状态的最终结果的方式或方法”,根据该《手册》2.9.2.7 的规定,只要存在了这样的“方式或方法”,涉及计算机软件的发明就具备可专利性。该《手册》并未对具体的权利要求的撰写形式或主题名称作出任何示例性或排除性规定。并且,该《手册》2.9.2.7 部分还指出:从形式上而言,相比版权,计算机程序的定义看起来与专利的主题更加相似。
下面给出美国知识产权法学会(AIPLA)网站上列举的澳大利亚目前允许的计算机程序产品权利要求的例子:
(1)“一种包含计算机程序代码装置的计算机程序组件,所述计算机程序代码装置用于令计算机执行a 操作,b 操作和c 操作。”(注:AIPLA 网站上给出的计算机程序权利要求的实例区别于本文第一章定义的A 类计算机程序权利要求,其更接近本文定义的C 类程序产品权利要求)
(2)“一种记录有指令和说明的计算机可读存储器,所述指令用于由计算机执行以执行……的操作。”(对应于本文第一章定义的B 类计算机可读介质权利要求)
(3)“一种包含于载波上并且表示了指令序列的计算机数字信号,当其被计算机运行时,令处理器执行……的操作。” (对应于本文第一章定义中的E 类信号权利要求)
9、中国台湾:支持B 、C 类。
根据我国台湾地区专利行政部门TIPO 颁布的《审查指南》第九章的规定:与计算机软件相关的发明的权利要求可以分为方法权利要求和制造物权利要求,其中制造物权利要求包括装置权利要求、系统权利要求、计算机可读介质权利要求以及计算机程序产品权利要求29。该《审查指南》第九章中还规定:“计算机可读介质本身并不能直接解决问题,但是其实质在于介质上所记载的信息以及根据该信息所执行的操作,而并不在于记录该信息的行为或者计算机可读介质本身结构上的技术特性。如果当记录在计算机可读介质上的计算机程序在被计算机上读取并运行时,或者存储在计算机可读介质上的数据结构可以被读取
以使得计算机按照该数据结构执行特定的操作时,能够产生超出程序(软件)与计算机(硬件)之间的“常规”物理交互之外的进一步的技术效果,那么用于解决该技术问题的装置从整体上来讲是具备技术性的。”
我国台湾地区专利行政部门在其审查指南中的专利权利要求的主题部分给出了涉及计算机软件的发明的制造物权利要求的示例,其中与计算机程序产品权利要求紧密相关的有以下两个示例:
(1)“一种存储有计算机程序的计算机可读介质,其中所述计算机程序当该程序加载入计算机并且被计算机所运行时,执行如权利要求1 所述的方法。”
(2)“一种计算机程序产品,其要在加载入计算机之后由该计算机运行以执行下列步骤:
第一程序指令,使得微处理器执行……的操作;
第二程序指令,使得微处理器执行……的操作。”
下面给出一个在我国台湾地区获得专利授权的计算机程序产品权利要求的实例:
“一种用于通过网络实施软件服务的记录介质,包括计算机可读程序代码,所述程序代码用于令计算机执行下列装置的功能:
用于向管理站点发送检索通过网络提供的软件服务的请求的装置;
用于获取关于所述请求的检索结果的装置,所述检索结果包括用于确定服务质量的服务历史;
用于基于所获取的检索结果选择至少一个软件服务的装置;以及
用于向提供者发送执行所选择的服务的请求的装置。”
10、 新加坡:支持(没有关于不可专利的客体的规定)
目前,新加坡专利法中并没有关于不可专利的客体的规定。较早版本的新加坡专利法第13 条中关于“计算机程序不具有可专利性”的规定已经在专利法修改过程中被删除。在新加坡专利审查指南中,也没有给出任何关于可授权的计算机程序产品权利要求类型的例子或说明。从IBM 负责新加坡知识产权事务的律师了解到:通常,与计算机软件相关的发明在新加坡被认为是专利保护的客体。
此外,通过下面这个在新加坡获得授权的计算机程序产品权利要求的例子可以看出,至少B 类计算机可读存储介质权利要求在新加坡属于专利保护的客体:
“一种包括计算机可读介质的制造物,所述介质包括用于文件备份的程序代码,所述代码被运行用于引发下列要被执行的操作:
提供具有目录的分级文件系统;
将保持策略与至少一个所述文件系统中的目录关联,……;
接收指向目标文件的请求;
将所述保持策略应用于所述目标文件;以及
确定所述目标文件是否包含于目录中……”
发布评论