内核模块加载方法和装置-复审决定


发明创造名称:内核模块加载方法和装置
外观设计名称:
决定号:188495
决定日:2019-08-22
委内编号:1F244482
优先权日:
申请(专利)号:201610191888.0
申请日:2016-03-30
复审请求人:百度在线网络技术(北京)有限公司
无效请求人:
授权公告日:
审定公告日:
专利权人:
主审员:孙国辉
合议组组长:吴黄飞
参审员:王艳臣
国际分类号:G06F9/445
外观设计分类号:
法律依据:专利法第22条第3款
决定要点
:如果一项权利要求请求保护的技术方案与作为最接近的现有技术的对比文件相比存在区别技术特征,而该区别技术特征是本领域技术人员在该对比文件的基础上容易想到和实现的惯用技术手段,则该权利要求不具备创造性。
全文:
本复审请求涉及申请号为201610191888.0,名称为“内核模块加载方法和装置”的发明专利申请(下称本申请)。本申请的申请人为百度在线网络技术(北京)有限公司,申请日为2016年03月30日,公开日为2016年08月24日。
经实质审查,国家知识产权局实质审查部门于2017年10月25日发出驳回决定,以权利要求1-8不具备专利法第22条第3款规定的创造性为由驳回了本申请。驳回决定所依据的文本为:申请日2016年03月30提交的说明书摘要、说明书第1-12页、摘要附图、说明书附图第1-4页,2017年04月07日提交的权利要求第1-8项。驳回决定所针对的权利要求书内容如下:
“1. 一种内核模块加载方法,其特征在于,所述方法包括:
响应于将待加载内核模块加载到目标内核的加载操作,获取目标内核的特征信息,其中,所述目标内核为待加载内核模块在加载之后所运行的内核,所述特征信息包括:内核版本参数、内核符号校验和参数、内核模块加载函数指针、内核模块卸载函数指针;
基于所述特征信息,配置待加载内核模块对应的加载信息,其中,所述加载信息包括:被目标内核校验的、用于将内核模块加载到目标内核的信息;
基于所述加载信息,将待加载内核模块加载到目标内核中。
2. 根据权利要求1所述的方法,其特征在于,所述获取目标内核的特征信息包括:
通过目标内核的proc文件系统获取目标内核的特征信息。
3. 根据权利要求2所述的方法,其特征在于,所述基于所述特征信息,配置待加载内核模块对应的加载信息包括:
将内核模块对应的可执行文件中的内核版本参数字段的数值配置为所述内核版本参数;
将内核模块对应的可执行文件中的内核符号校验和参数字段的数值配置为所述内核符号校验和参数;
将内核模块对应的可执行文件中的内核模块加载函数指针和内核模块卸载函数指针配置为所述内核模块加载函数指针和内核模块卸载函数指针。
4. 根据权利要求3所述的方法,其特征在于,所述方法还包括:
确定内核模块中引用的内核符号所指示的内核函数或变量在目标内核中的存储地址;
将所述存储地址设置为所述内核符号的链接地址。
5. 一种内核模块加载装置,其特征在于,所述装置包括:
获取单元,配置用于响应于将待加载内核模块加载到目标内核的加载操作,获取目标内核的特征信息,其中,所述目标内核为待加载内核模块在加载之后所运行的内核,所述特征信息包括:内核版本参数、内核符号校验和参数、内核模块加载函数指针、内核模块卸载函数指针;
配置单元,配置用于基于所述特征信息,配置待加载内核模块对应的加载信息,其中,所述加载信息包括:被目标内核校验的、用于将内核模块加载到目标内核的信息;
加载单元,配置用于基于所述加载信息,将待加载内核模块加载到目标内核中。
6. 根据权利要求5所述的装置,其特征在于,所述获取单元包括:
特征信息获取子单元,配置用于通过目标内核的proc文件系统获取目标内核的特征信息。
7. 根据权利要求6所述的装置,其特征在于,配置单元包括:
内核版本参数配置子单元,配置用于将内核模块对应的可执行文件中的内核版本参数字段的数值配置为所述内核版本参数;
内核符号校验和参数配置子单元,配置用于将内核模块对应的可执行文件中的内核符号校验和参数字段的数值配置为所述内核符号校验和参数;
函数指针配置子单元,配置用于将内核模块对应的可执行文件中的模块加载函数指针和模块卸载函数指针配置为所述内核模块加载函数指针和内核模块卸载函数指针。
8. 根据权利要求7所述的装置,其特征在于,所述装置还包括:
确定单元,配置用于确定内核模块中引用的内核符号所指示的内核函数或变量在目标内核中的存储地址;
设置单元,配置用于将所述存储地址设置为所述内核符号的链接地址。”
驳回决定中引用了如下对比文件:
对比文件1: CN104021023A,公开日为2014年09月03日。
驳回决定的具体理由是:权利要求1、5与对比文件1的区别在于:对比文件1只公开了获取目标内核的特征信息,但未公开响应于将待加载内核模块加载到目标内核的加载操作来获取目标内核的特征信息,且未公开特征信息包括内核模块加载函数指针以及内核模块卸载函数指针。该区别是本领域的常用技术手段。因此,权利要求1、5不具备创造性。从属权利要求2-4、6-8的附加技术特征或被对比文件1公开,或是本领域的常用技术手段。因此,权利要求2-4、6-8也不具备创造性。
申请人(下称复审请求人)对上述驳回决定不服,于2018年02月08日向国家知识产权局提出了复审请求,并提交了权利要求书的全文修改替换页。具体修改内容如下:删除原权利要求4及8,将原权利要求4的附加技术特征加入权利要求1形成新的权利要求1,将原权利要求8的附加技术特征加入原权利要求5形成新的权利要求4,并适应性修改了权利要求的编号和引用关系。
提出复审请求时新提交的权利要求1、4内容如下:
“1. 一种内核模块加载方法,其特征在于,所述方法包括:
响应于将待加载内核模块加载到目标内核的加载操作,获取目标内核的特征信息,其中,所述目标内核为待加载内核模块在加载之后所运行的内核,所述特征信息包括:内核版本参数、内核符号校验和参数、内核模块加载函数指针、内核模块卸载函数指针;
基于所述特征信息,配置待加载内核模块对应的加载信息,其中,所述加载信息包括:被目标内核校验的、用于将内核模块加载到目标内核的信息;
基于所述加载信息,将待加载内核模块加载到目标内核中,所述方法还包括:确定内核模块中引用的内核符号所指示的内核函数或变量在目标内核中的存储地址;将所述存储地址设置为所述内核符号的链接地址。”
“4. 一种内核模块加载装置,其特征在于,所述装置包括:
获取单元,配置用于响应于将待加载内核模块加载到目标内核的加载操作,获取目标内核的特征信息,其中,所述目标内核为待加载内核模块在加载之后所运行的内核,所述特征信息包括:内核版本参数、内核符号校验和参数、内核模块加载函数指针、内核模块卸载函数指针;
配置单元,配置用于基于所述特征信息,配置待加载内核模块对应的加载信息,其中,所述加载信息包括:被目标内核校验的、用于将内核模块加载到目标内核的信息;
加载单元,配置用于基于所述加载信息,将待加载内核模块加载到目标内核中;
确定单元,配置用于确定内核模块中引用的内核符号所指示的内核函数或变量在目标内核中的存储地址;
设置单元,配置用于将所述存储地址设置为所述内核符号的链接地址。”
经形式审查合格,国家知识产权局于2018年03月15日依法受理了该复审请求,并将其转送至实质审查部门进行前置审查。
实质审查部门在前置审查意见书中认为,修改后的权利要求不具备创造性,因而坚持原驳回决定。
随后,国家知识产权局依法成立合议组对本案进行审理。
合议组于2019年04月16日向复审请求人发出复审通知书。该复审通知书指出:权利要求1-6不具备专利法第22条第3款规定的创造性。具体理由为:权利要求1请求保护的方案与对比文件1公开内容的区别在于:1)权利要求1响应于将待加载内核模块加载到目标内核的加载操作来获取目标内核的特征信息;2)权利要求1的特征信息包括内核模块加载函数指针以及内核模块卸载函数指针,以及确定内核模块中引用的内核符号所指示的内核函数或变量在目标内核中的存储地址,将所述存储地址设置为所述内核符号的链接地址。上述区别技术特征为本领域的惯用技术手段,因此,权利要求1不具备创造性。从属权利要求2-3的附加技术特征或被对比文件1公开,或是本领域的惯用技术手段。因此,权利要求2-3不具备创造性。权利要求4-6与权利要求1-3对应,因此,权利要求4-6不具备创造性。
复审请求人于2019年05月05日提交了意见陈述书,但未修改申请文件。复审请求人认为:对比文件1并未公开“内核版本参数”。
合议组于2019年06月20日再次向复审请求人发出复审通知书。该复审通知书指出:权利要求1-6不具备专利法第22条第3款规定的创造性。具体理由为:权利要求1请求保护的方案与对比文件1公开内容的区别在于:1)权利要求1响应于将待加载内核模块加载到目标内核的加载操作来获取目标内核的特征信息;2)权利要求1的特征信息包括内核版本参数、内核模块加载函数指针以及内核模块卸载函数指针,以及确定内核模块中引用的内核符号所指示的内核函数或变量在目标内核中的存储地址,将所述存储地址设置为所述内核符号的链接地址。上述区别为本领域的惯用技术手段,因此,权利要求1不具备创造性。从属权利要求2-3的附加技术特征或被对比文件1公开,或是本领域的惯用技术手段。因此,权利要求2-3不具备创造性。权利要求4-6与权利要求1-3对应,因此,权利要求4-6不具备创造性。
复审请求人于2019年07月10日提交了意见陈述书,同时提交了权利要求书的全文修改替换页,具体修改内容如下:在权利要求1、4中增加特征“所述目标内核为Linux内核,所述内核版本参数为vermagic参数”。
复审请求人于2019年07月10日提交的权利要求1、4的内容如下:
“1. 一种内核模块加载方法,其特征在于,所述方法包括:
响应于将待加载内核模块加载到目标内核的加载操作,获取目标内核的特征信息,其中,所述目标内核为待加载内核模块在加载之后所运行的内核,所述特征信息包括:内核版本参数、内核符号校验和参数、内核模块加载函数指针、内核模块卸载函数指针,所述目标内核为Linux内核,所述内核版本参数为vermagic参数;
基于所述特征信息,配置待加载内核模块对应的加载信息,其中,所述加载信息包括:被目标内核校验的、用于将内核模块加载到目标内核的信息;
基于所述加载信息,将待加载内核模块加载到目标内核中,所述方法还包括:确定内核模块中引用的内核符号所指示的内核函数或变量在目标内核中的存储地址;将所述存储地址设置为所述内核符号的链接地址。”
“4. 一种内核模块加载装置,其特征在于,所述装置包括:
获取单元,配置用于响应于将待加载内核模块加载到目标内核的加载操作,获取目标内核的特征信息,其中,所述目标内核为待加载内核模块在加载之后所运行的内核,所述特征信息包括:内核版本参数、内核符号校验和参数、内核模块加载函数指针、内核模块卸载函数指针,所述目标内核为Linux内核,所述内核版本参数为vermagic参数;
配置单元,配置用于基于所述特征信息,配置待加载内核模块对应的加载信息,其中,所述加载信息包括:被目标内核校验的、用于将内核模块加载到目标内核的信息;
加载单元,配置用于基于所述加载信息,将待加载内核模块加载到目标内核中;
确定单元,配置用于确定内核模块中引用的内核符号所指示的内核函数或变量在目标内核中的存储地址;
设置单元,配置用于将所述存储地址设置为所述内核符号的链接地址。”
复审请求人认为:首先,在对比文件1要解决的技术问题中,内核版本参数是相同的。在此前提下,对比文件1不存在获取目标内核的内核版本参数的需求。因此,本领域技术人员在对比文件1的基础上,难以想到“还需要根据目标内核版本参数来修改模块版本参数以满足insmod中的合法性检查”。对比文件1仅解决了突破同一版本号的多个不同的升级版本在内核模块加载时的检测,在现有技术没有记载通过获取vermagic参数来突破不同版本号的多个版本在内核模块加载时的检测的前提下,纵然本领域技术人员知晓内核的不同版本还包括不同版本号的多个版本,也难以想到将“获取vermagic参数”与对比文件1的方案相结合。其次,本领域技术人员能够发现不同版本号的多个版本进行加载时同样面临多次重新编译的问题,并不意味着本领域技术人员可以在不付出创造性劳动的情况下,能够对对比文件1的方案进行与本申请相同的改进,从而得到本申请修改后的权利要求1要求保护的技术方案。对于本领域技术人员而言,与“突破同一版本号的多个升级版本在内核模块加载时的检测”相比,“突破不同版本号的多个版本在内核模块加载时的检测”也存在类似的困难和技术偏见。这是因为:在本申请之前的对比文件1及其他现有技术中均未记载如何解决“突破不同版本号的多个版本在内核模块加载时的检测”这一技术问题,而该技术问题又是本领域技术人员公知的,这就充分说明解决该技术问题所面对的困难和技术偏见。而本申请正是克服了上述困难和技术偏见,并付出了创造性的劳动后,才得到修改后的权利要求1要求保护的技术方案的。因此,本申请修改后的权利要求1要求保护的技术方案是非显而易见的。
在上述程序的基础上,本案合议组认为事实已经清楚,可以依法作出审查决定。
二、决定的理由
1、审查文本的认定
复审请求人在2019年07月10日提交了权利要求书的全文修改替换页,经审查,2019年07月10日所作的修改符合专利法实施细则第61条第1款以及专利法第33条的规定。本复审请求审查决定所依据的审查文本为:2019年07月10日提交的权利要求第1-6项,申请日2016年03月30提交的说明书摘要、说明书第1-12页、摘要附图、说明书附图第1-4页。
2、关于专利法第22条第3款
专利法第22条第3款规定:创造性,是指与现有技术相比,该发明具有突出的实质性特点和显著的进步,该实用新型具有实质性特点和进步。
如果一项权利要求请求保护的技术方案与作为最接近的现有技术的对比文件相比存在区别技术特征,而该区别技术特征是本领域技术人员在该对比文件的基础上容易想到和实现的惯用技术手段,则该权利要求不具备创造性。
本复审请求审查决定在评价创造性时所引用的对比文件与驳回决定和两次复审通知书中引用的对比文件相同,即:
对比文件1: CN104021023A,公开日为2014年09月03日。
2.1、权利要求1-3不具备创造性
2.1.1权利要求1请求保护一种内核模块加载方法。对比文件1(参见说明书第[0002]- [0020]段)公开了一种突破Linux内核模块版本控制解决方法,所述解决过程的详细步骤为:1)、获取当前系统对应运行的symvers文件,打开symvers文件(相当于目标内核为待加载内核模块在加载之后所运行的内核,所述目标内核为Linux内核);2)、打开当前驱动elf文件,mmap映射到内存中;3)、校验文件的合法性;4)、查找内核模块头header中的_versions的地址;5)、将所有引用函数的CRC的值(相当于内核符号校验和参数)通过查找symvers进行更新(相当于获取目标内核的特征信息,基于所述特征信息,配置待加载内核模块对应的加载信息);6)、替换完成,保存文件,关闭操作;7)、insmod 加载模块(相当于基于所述加载信息,将待加载内核模块加载到目标内核中);隐含公开加载信息包括被目标内核校验的、用于将内核模块加载到目标内核的信息。
权利要求1请求保护的方案与对比文件1公开内容的区别在于:1)权利要求1响应于将待加载内核模块加载到目标内核的加载操作来获取目标内核的特征信息;2)权利要求1的特征信息包括内核版本参数、内核模块加载函数指针以及内核模块卸载函数指针,所述内核版本参数为vermagic参数;以及确定内核模块中引用的内核符号所指示的内核函数或变量在目标内核中的存储地址,将所述存储地址设置为所述内核符号的链接地址。
基于该些区别技术特征,权利要求1实际解决的技术问题是:何时获取目标内核的特征信息、基于哪些特征信息配置加载信息,以及如何配置该加载信息。
对于区别技术特征1),对比文件1已经公开通过获取目标内核的特征信息,然后根据该特征信息配置加载信息。在面对何时获取目标内核特征信息时,本领域技术人员容易想到,在发起将待加载内核模块加载到目标内核的加载操作时,响应该操作去获取该目标内核特征信息,这属于本领域的惯用技术手段。
对于区别技术特征2),对比文件1公开了(参见说明书第[0008]-[0011]段),通过symvers动态更新内核模块elf中的_versions字段的函数值,来突破内核加载时的检测,支持一个版本号的多个不同版本,并在修改完成后采用insmod命令加载模块。而insmod加载程序执行时,会比较目标内核和模块的版本信息是否一致;比较目标内核和模块的校验和信息是否一致;会执行内核模块加载函数init_module对模块进行初始化,会在表示模块本身的new_module结构中,根据模块在内核的地址进行重定位,重定位信息包括指向模块加载函数在内核中的存储地址的模块初始化函数指针、指向模块卸载函数在内核中的存储地址的模块卸载函数指针,其属于本领域的公知常识。例如,郭玉东、王非非编著的《Linux操作系统结构分析[M]》(2002年出版)一书(第467-468、474-477页)记载了以下内容:init是模块的初始化函数,cleanup是模块的卸载函数;内核模块在能够执行以前必须被解析,即将其中的所有符号名都换成物理地址,完成内核模块符号解析工作的是模块加载程序,Linux使用的内核模块加载程序是insmod,insomd命令要完成的工作包括:比较目标内核和模块的版本信息是否一致;比较目标内核和模块的校验和信息是否一致;调用函数add_kernel_symbols,根据内核和已加载模块的符号表解析新加载模块中未解析的符号,即给模块中的符号赋值;特别处理名为“cleanup_module”、“init_module”、“kernel_version”的符号,修改其info域的值;并且根据模块在内核的地址重定位模块,包括处理模块的各个section及符号表等;“.this” section中是表示模块本身的new_module结构,根据已知的信息填写该结构,包括符号表信息、模块初始化函数地址、模块卸载函数地址等;合并各个section,构成一个映像;调用系统调用函数init_module,让内核把已经准备好的模块映像拷贝到内核,并执行模块自己定义的初始化函数;释放建立的模块映像结构。并且本领域技术人员公知,内核的不同版本,不仅包括同一版本号的多个不同版本,还包括不同版本号的多个版本,而不同版本号的多个版本,其内核版本参数、引用函数校验和CRC值、模块初始化函数地址、模块卸载函数地址都是不同的。因此,在对比文件1公开内容的启示下,为了使内核模块支持不同版本号的多个内核版本,使insmod在不同版本号的多个版本目标内核上进行模块加载时不仅合法性检测均通过,还能使模块加载成功,在配置加载信息时,除了根据目标内核符号校验和参数来修改模块符号校验和参数外,还需要根据目标内核版本参数来修改模块版本参数以满足insmod中的合法性检查,且根据目标内核中模块加载函数地址和内核模块卸载函数地址,配置模块cleanup_module、init_module的地址,以使insmod加载过程中重定位成功,成功执行init_module进行模块的初始化,这是本领域技术人员容易想到的。而Linux内核的内核版本参数为vermagic参数是本领域的公知常识,例如冯伟、王博编著的《嵌入式Linux案例开发指南》,中国电力出版社2008年11月出版,第158页记载了模块装载时的版本检查,Linux 2.6内核下,在linux/vermagic.h中定义有VERMAIGC_STRING,VERMAGIC_STRING不仅包含内核版本号,还包含有内核使用的gcc版本等配置信息;模块在编译时,VERMAIGC_STRING会添加到模块的modinfo段;Linux 2.6内核下的模块装载器里保存有内核的版本信息,在装载模块时,装载器会比较所保存的内核vermagic与此模块的modinfo段里保存的vermagic信息是否一致,两者一致时,模块才能被装载。进一步的,本领域技术人员公知,一个内核模块中引用的内核符号的链接地址,通常为该内核模块引用的内核符号所指示的内核函数或变量在其可加载在的一个版本的内核中的存储地址,insmod加载过程中,会将所有符号名都换成物理地址,完成内核模块的符号解析(参见郭玉东、王非非编著的《Linux操作系统结构分析[M]》(2002年出版)一书的第467-468、474-477页)。在对比文件1已经公开要突破版本控制,在elf中根据目标内核的特征信息配置加载信息的情况下,将内核模块中引用的内核符号的链接地址,设置为内核模块中引用的内核符号所指示的内核函数或变量在目标内核中的存储地址,以便insmod解析成功,使内核模块在调用内核函数或访问内核变量时,能调用目标内核中的内核符号对应的函数或访问内核符号对应的内核中的变量,是本领域技术人员容易想到的,属于本领域的惯用技术手段。
因此,在对比文件1的基础上结合本领域的惯用技术手段,得到该权利要求请求保护的技术方案,对于本技术领域的技术人员来说是显而易见的,该权利要求不具有突出的实质性特点,不具备专利法第22条第3款规定的创造性。
2.1.2、权利要求2引用权利要求1,通过目标内核的proc文件系统获取目标内核的特征信息,属于本领域的公知常识。
因此,当其引用的权利要求不具备创造性时,该权利要求不具备专利法第22条第3款规定的创造性。
2.1.3、权利要求3引用权利要求2。对于其附加技术特征,对比文件1(参见说明书第[0002]-[0020]段)公开了打开当前驱动elf文件,mmap映射到内存中;查找_versions的字段,该字段包括所有引用函数的符号表的值,并通过修改为当前内核symvers中的值,来使模块合法化,将所有引用函数的CRC的值通过查找symvers进行更新(相当于将内核模块对应的可执行文件中的内核符号校验和参数字段的数值配置为所述内核符号校验和参数),最后执行insmod命令加载模块。而insmod加载程序执行时,会比较目标内核和模块的版本信息是否一致;比较目标内核和模块的校验和信息是否一致;会执行内核模块加载函数init_module对模块进行初始化,并且会在表示模块本身的new_module结构中,根据模块在内核的地址进行重定位,重定位信息包括模块初始化函数指针、模块卸载函数指针,其属于本领域的公知常识(参见郭玉东、王非非编著的《Linux操作系统结构分析[M]》(2002年出版)一书的第467-468、474-477页)。为了使insmod在不同版本号的目标内核上进行模块加载时不仅合法性检测均通过,还能使模块加载成功,在配置加载信息时,除了根据目标内核符号校验和参数来修改模块符号校验和参数外,还需要根据目标内核版本参数来修改模块版本参数,以满足insmod中的合法性检查,以及根据目标内核中模块加载函数地址和内核模块卸载函数地址,配置模块cleanup_module、init_module的地址,以使insmod加载过程中重定位成功,成功执行init_module进行模块的初始化,这是本领域技术人员容易想到的。
因此,当其引用的权利要求不具备创造性时,该权利要求不具备专利法第22条第3款规定的创造性。
2.2、权利要求4-6不具备创造性
权利要求4-6是与权利要求1-3相对应的产品权利要求,基于对权利要求1-3的评述,权利要求4-6也不具备专利法第22条第3款规定的创造性。
3、对复审请求人相关意见的答复
对于复审请求人于2019年07月10日答复复审通知书时提出的意见,合议组认为:首先,对比文件1公开了为了解决内核模块为支持Linux不同的升级版本而需要多次重新编译的问题,提供一种突破内核模块版本控制解决方法,通过目标内核symvers动态更新内核模块elf中的_versions字段的函数值,来突破内核加载时的检测,支持多个版本。即对比文件1公开了利用目标内核的特征信息,动态配置更新elf文件中在内核模块加载时需要校验的信息,以支持同一版本号的多个不同的内核版本。而本领域技术人员公知,内核的不同版本,不仅包括同一版本号的多个不同版本,例如多个2.6.32版本,还包括不同版本号的多个版本,例如2.6.32、3.10.73、4.4.10等多个版本,内核模块在不同版本号的多个版本上进行加载,与在相同版本号的多个版本上进行加载一样,同样面临为了支持不同的目标版本而需要多次重新编译的问题,在对比文件1给出利用目标内核的特征信息,动态更新elf文件中在内核模块加载时需要校验的信息,以支持不同的内核版本、去掉繁琐的编译的启示下,本领域技术人员有动机对对比文件1的方案进行改进,针对不同版本号的多个版本,根据目标版本的特征信息,动态更新elf文件中对应的在内核模块加载时需要校验的加载信息,使内核模块支持包括不同版本号的所有版本,突破所有版本的内核加载时的检测。公知常识证据(郭玉东、王非非编著的《Linux操作系统结构分析[M]》)说明了内核加载时的检测不仅包括校验引用函数的CRC值,还包括内核版本号、内核模块加载函数指针、内核模块卸载函数指针的校验。本领域技术人员公知,相同版本号的多个升级版本,其只有引用函数的CRC值不同,而不同版本号的多个内核版本,其内核版本号、引用函数的CRC值、模块初始化函数地址即内核模块加载函数指针、模块卸载函数地址即内核模块卸载函数指针都是不同的。因此,为了使内核模块支持不同版本号的多个版本,根据目标内核的内核版本参数、内核符号校验和CRC参数、内核模块加载函数指针和内核模块卸载函数指针,配置待加载内核模块elf文件中对应的加载信息,使内核模块在目标版本中校验通过并加载成功,其是不用付出创造性劳动即可获得的。而Linux内核的内核版本号为vermagic参数是本领域的公知常识(参见冯伟、王博编著的《嵌入式Linux案例开发指南》,中国电力出版社2008年11月出版,第158页)。其次,复审请求人认为“突破不同版本号的多个版本在内核模块加载时的检测”与“突破同一版本号的多个升级版本在内核模块加载时的检测”相比,存在类似的困难和技术偏见。而对比文件1已经给出了“突破同一版本号的多个升级版本在内核模块加载时的检测”的解决方案,即对比文件1已经克服了所谓的技术偏见,在对比文件1的启示下,采用类似的手段,即通过目标内核symvers动态更新内核模块elf文件中要检测的字段值,去解决“突破不同版本号的多个版本在内核模块加载时的检测”的问题,是不用付出创造性劳动即可获得的。
综上所述,复审请求人的意见陈述不具有说服力,合议组不予支持。
三、决定
维持国家知识产权局于2017年10月25日对本申请作出的驳回决定。
如对本复审请求审查决定不服,根据专利法第41条第2款的规定,复审请求人可以自收到本决定之日起三个月内向北京知识产权法院起诉。


郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。

留言与评论(共有 0 条评论)
   
验证码: