CN109117393A - 一种双路ntb通信方法、装置及系统 - Google Patents

一种双路ntb通信方法、装置及系统 Download PDF

Info

Publication number
CN109117393A
CN109117393A CN201810885057.2A CN201810885057A CN109117393A CN 109117393 A CN109117393 A CN 109117393A CN 201810885057 A CN201810885057 A CN 201810885057A CN 109117393 A CN109117393 A CN 109117393A
Authority
CN
China
Prior art keywords
ntb
physical link
data
port
link
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201810885057.2A
Other languages
English (en)
Inventor
王孝鹏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhengzhou Yunhai Information Technology Co Ltd
Original Assignee
Zhengzhou Yunhai Information Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Zhengzhou Yunhai Information Technology Co Ltd filed Critical Zhengzhou Yunhai Information Technology Co Ltd
Priority to CN201810885057.2A priority Critical patent/CN109117393A/zh
Publication of CN109117393A publication Critical patent/CN109117393A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1678Details of memory controller using bus width
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明通过提供一种双路NTB通信方法,通过在双控存储器节点间一条板载NTB链路的基础上,硬件上增加一条NTB物理链路;系统启动后,底层驱动上报两条NTB物理可用链路给通信层;通信层记录链路信息,为链路传输分配端口资源;当有数据需要传输时,通信层遍历NTB物理链路,利用NTB空闲端口发送数据,而且当其中一条NTB物理链路发生硬件故障时,另一条NTB物理链路也能够独自工作,承担全部负载。本发明还提供一种双路NTB通信装置,还提供一种双路NTB通信系统,提高了数据传输速率,也提高了存储控制器的稳定性。

Description

一种双路NTB通信方法、装置及系统
技术领域
本发明涉及存储控制器的通信,尤其是涉及一种双路NTB通信方法、装置及系统。
背景技术
为了提高数据传输的速率,保障存储控制器的稳定,目前的存储控制器大多采用双控方案,即一个控制器机箱中安装两个存储控制器节点,两个节点互为备份,当一个节点发生故障时,另一个节点能够无缝得接替其数据传输任务,这就要求两个控制器节点要互相备份对方的数据缓存,才能保证随时接替对方。而两个节点间的数据传输目前都是采用NTB(即Non Transparent Bridge,非透明桥)链路来进行承载。随着数据传输对速率的需求不断增加,NTB链路的速率也逐渐成为影响存储控制器整体性能的瓶颈。现有技术中双控存储控制器节点间大多采用一条板载NTB链路进行通信,但是一条板载NTB链路数据传输时,负载都在这一条板载NTB链路上,使得数据传输速率不高。而且当其中一条板载链路发生硬件故障时,双控存储控制器节点间通信也无法实现,使得存储控制器的稳定性不高。
发明内容
为了提高双控存储控制器节点间通信的数据传输速率以及双控存储控制器的稳定性,本发明通过提供一种双路NTB通信方法、装置及系统,通过在原有一条板载NTB链路的基础上硬件增加一条NTB物理链路,将数据传输的负载均衡得分配到两条链路上,以提高数据传输速率。当其中一条NTB物理链路发生硬件故障时,另一条NTB物理链路也能够独自工作,承担全部负载,从而也提高了存储控制器的稳定性。
本发明第一方面提供了一种双路NTB通信方法,主要包括以下步骤:
在双控存储控制器节点间设置两条NTB物理链路;
系统启动,底层驱动层上报两条NTB物理链路给通信层;
通信层记录NTB物理链路信息,为NTB物理链路传输分配端口资源;
当有数据需要传输时,通信层遍历NTB物理链路,利用NTB空闲端口发送数据。
结合第一方面,在第一方面第一种可能的实现方式中,所述在双控存储控制器节点间设置两条NTB物理链路,具体过程为:
一条NTB物理链路在双控存储控制器之间的中板上实现,另一条NTB物理链路以PCI-E(即Peripheral Component Interconnect Express,扩展组件互联总线)接口卡的形式实现:在双控存储控制器的PCI-E X16插槽上各插一个PCI-E卡,将两个PCI-E卡连通,从而实现另一条NTB物理链路,将数据传输的负载均衡得分配到两条物理链路上,提高数据传输速率。
结合第一方面,在第一方面第二种可能的实现方式中,所述当有数据需要传输时,通信层遍历NTB物理链路,利用NTB空闲端口发送数据,具体过程为:
当有数据需要传输时,通信层遍历NTB物理链路,检查NTB端口资源是否被占用;
如果当前NTB端口空闲,则从该端口发送数据;
如果当前NTB端口忙,则检查下一个端口是否空闲;
如果所有NTB端口都忙,则将待发送的数据放入队列进行排队;
当检测到有NTB端口被释放时,检测待发送队列是否有数据待发送,如果有,则从该端口发送数据。
结合第一方面,在第一方面第三种可能的实现方式中,两条NTB物理链路其中一条NTB物理链路发生硬件故障时,负载转移至另一条NTB物理链路,能够独自工作,承担全部负载。
结合第一方面,在第一方面第四种可能的实现方式中,所述两条NTB物理链路其中一条NTB物理链路发生硬件故障时,负载转移至另一条NTB物理链路,具体过程为:
当其中一个NTB物理链路硬件故障时,驱动层通知通信层将故障NTB物理链路断开;
当有数据需要传输时,通信层使用正常的NTB物理链路端口进行数据发送。
本发明第二方面提供了一种双路NTB通信装置,主要包括:
链路信息获取模块,用于在系统启动后,底层驱动层上报两条NTB物理链路给通信层;
链路端口分配模块,用于通信层记录NTB物理链路信息,为NTB物理链路传输分配端口资源;
数据发送模块,用于当有数据需要传输时,通信层遍历NTB物理链路,利用NTB空闲端口发送数据。
结合第二方面,在第二方面第一种可能的实现方式中,所述数据发送模块具体如下:
端口检测子模块,用于在当有数据需要传输时,通信层遍历板载NTB物理链路,检查NTB端口资源是否被占用,如果当前NTB端口忙,则检查下一个端口是否空闲;
数据排队子模块,用于在如果所有NTB端口都忙,则将待发送的数据放入队列进行排队;
数据发送子模块,用于如果当前NTB端口空闲,则从该端口发送数据,如果NTB端口都被占用,当检测到有NTB端口被释放时,检测待发送队列是否有数据待发送,如果有,则从该端口发送数据。
结合第二方面,在第二方面第二种可能的实现方式中,所述双路NTB通信装置还包括故障替代模块,用于当其中一条NTB物理链路发生硬件故障时,另一条NTB物理链路能够独自工作,承担全部负载。
本发明第三方面提供了一种双路NTB通信系统,包括两个存储控制器节点,所述存储控制器节点安装于控制器机箱内部;还包括两条NTB物理链路:第一NTB物理链路和第二NTB物理链路,所述第一NTB物理链路设置在两个存储控制器节点之间的中板上,所述第二NTB物理链路包括分别位于存储控制器节点的PCI-E接口卡。
本发明采用的技术方案包括以下技术效果:
本发明通过提供一种双路NTB通信方法,通过在双控存储器节点间一条板载NTB链路的基础上,硬件上增加一条NTB物理链路;系统启动后,底层驱动上报两条NTB物理可用链路给通信层;通信层记录链路信息,为链路传输分配端口资源;当有数据需要传输时,通信层遍历NTB物理链路,利用NTB空闲端口发送数据,而且当其中一条NTB物理链路发生硬件故障时,另一条NTB物理链路也能够独自工作,承担全部负载。本发明还提供一种双路NTB通信装置,还提供了一种双路NTB通信系统,提高了数据传输速率,也提高了存储控制器的稳定性。
应当理解的是以上的一般描述以及后文的细节描述仅是示例性和解释性的,并不能限制本发明。
附图说明
为了更清楚说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单介绍,显而易见的,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明方案中方法实施例一的方法流程示意图;
图2为本发明方案中方法实施例二的方法流程示意图;
图3为本发明方案中装置实施例三示意图;
图4为本发明方案中装置实施例四示意图。
具体实施方式
为能清楚说明本方案的技术特点,下面通过具体实施方式,并结合其附图,对本发明进行详细阐述。下文的公开提供了许多不同的实施例或例子用来实现本发明的不同结构。为了简化本发明的公开,下文中对特定例子的部件和设置进行描述。此外,本发明可以在不同例子中重复参考数字和/或字母。这种重复是为了简化和清楚的目的,其本身不指示所讨论各种实施例和/或设置之间的关系。应当注意,在附图中所图示的部件不一定按比例绘制。本发明省略了对公知组件和处理技术及工艺的描述以避免不必要地限制本发明。
实施例一
如图1所示,本发明技术方案中一种双路NTB通信方法,包括:
S1,在双控存储器节点间一条板载NTB链路的基础上,增加一条NTB物理链路;其具体过程为:在双控存储器节点间原有的一条板载NTB通路的基础上,以PCI-E接口卡的形式,在两个控制器的PCI-EX16插槽上各插一个PCI-E接口卡,将两个接口卡连通,从而实现另一条NTB物理链路,将数据传输的负载均衡得分配到两条物理链路上,提高数据传输速率。
S2,系统启动,底层驱动层上报两条NTB物理可用链路给通信层;
S3,通信层记录链路信息,为链路传输分配端口资源;
S4,当有数据需要传输时,通信层遍历NTB物理链路,利用NTB空闲端口发送数据。
实施例二
如图2所示,本发明技术方案中一种双路NTB通信方法中利用NTB物理链路进行数据发送的具体过程为:
S41,有数据需要通过NTB物理链路进行发送。
S42,通信层遍历NTB物理链路,检查NTB端口资源。
S43,判断检查的NTB端口资源是否空闲,如果判断结果为是,执行步骤S44;如果判断结果为否,执行步骤S45。
S44,通信层继续检查下一个NTB端口资源。
S45,数据通过该NTB端口发送。
S46,判断当前检查的下一NTB端口资源是否被占用,如果判断结果为是,执行步骤S47;如果判断结果为否,执行步骤S45。
S47,将待发送的数据放入队列,进行排队。
S48,检测到有NTB端口被释放时,检测待发送队列是否有数据待发送,如果判断结果为是,执行步骤S45;如果判断结果为否,执行步骤S49。
S49,数据发送过程结束。
实施例三
如图3所示,本发明技术方案中一种双路NTB通信装置,具体包括:
链路信息获取模块11,用于在系统启动后,底层驱动层上报两条NTB物理链路给通信层;
链路端口分配模块12,用于通信层记录NTB物理链路信息,为NTB物理链路传输分配端口资源;
数据发送模块13,用于当有数据需要传输时,通信层遍历NTB物理链路,利用NTB空闲端口发送数据。
实施例四
如图4所示,本发明技术方案中一种双路NTB通信装置,数据发送模块13具体包括:
端口检测子模块131,用于在当有数据需要传输时,通信层遍历板载NTB物理链路,检查NTB端口资源是否被占用,如果当前NTB端口忙,则检查下一个端口是否空闲;
数据排队子模块132,用于在如果所有NTB端口都忙,则将待发送的数据放入队列进行排队;
数据发送子模块133,用于如果当前NTB端口空闲,则从该端口发送数据,如果NTB端口都被占用,当检测到有NTB端口被释放时,检测待发送队列是否有数据待发送,如果有,则从该端口发送数据。
实施例五
本发明技术方案还一种双路NTB通信系统,包括两个存储控制器节点,所述存储控制器节点安装于控制器机箱内部;还包括两条NTB物理链路:第一NTB物理链路和第二NTB物理链路,所述第一NTB物理链路设置在两个存储控制器节点之间的中板上,所述第二NTB物理链路包括分别位于存储控制器节点的PCI-E接口卡。
应当注意的是,本文所指的NTB链路均为物理链路,原有NTB物理链路为板载NTB物理链路,所增加的第二条链路是物理链路的扩展。
上述虽然结合附图对本发明的具体实施方式进行了描述,但并非对本发明保护范围的限制,所属领域技术人员应该明白,在本发明的技术方案的基础上,本领域技术人员不需要付出创造性劳动即可做出的各种修改或变形仍在本发明的保护范围以内。

Claims (9)

1.一种双路NTB通信方法,其特征是,包括以下步骤:
在双控存储控制器节点间设置两条NTB物理链路;
系统启动,底层驱动层上报两条NTB物理链路给通信层;
通信层记录NTB物理链路信息,为NTB物理链路传输分配端口资源;
当有数据需要传输时,通信层遍历NTB物理链路,利用NTB空闲端口发送数据。
2.根据权利要求1所述双路NTB通信方法,其特征是,所述在双控存储控制器节点间设置两条NTB物理链路,具体过程为:
一条NTB物理链路在双控存储控制器之间的中板上实现,另一条NTB物理链路以PCI-E接口卡的形式实现:在双控存储控制器的PCI-E X16插槽上各插一个PCI-E卡,将两个PCI-E卡连通。
3.根据权利要求1所述双路NTB通信方法,其特征是,所述当有数据需要传输时,通信层遍历NTB物理链路,利用NTB空闲端口发送数据,具体过程为:
当有数据需要传输时,通信层遍历NTB物理链路,检查NTB端口资源是否被占用;
如果当前NTB端口空闲,则从该端口发送数据;
如果当前NTB端口忙,则检查下一个端口是否空闲;
如果所有NTB端口都忙,则将待发送的数据放入队列进行排队;
当检测到有NTB端口被释放时,检测待发送队列是否有数据待发送,如果有,则从该端口发送数据。
4.根据权利要求1所述双路NTB通信方法,其特征是,两条NTB物理链路其中一条NTB物理链路发生硬件故障时,负载转移至另一条NTB物理链路。
5.根据权利要求4所述双路NTB通信方法,其特征是,所述两条NTB物理链路其中一条NTB物理链路发生硬件故障时,负载转移至另一条NTB物理链路,具体过程为:
当其中一个NTB物理链路硬件故障时,驱动层通知通信层将故障NTB物理链路断开;
当有数据需要传输时,通信层使用正常的NTB物理链路端口进行数据发送。
6.一种双路NTB通信装置,其特征是,包括:
链路信息获取模块,用于在系统启动后,底层驱动层上报两条NTB物理链路给通信层;
链路端口分配模块,用于通信层记录NTB物理链路信息,为NTB物理链路传输分配端口资源;
数据发送模块,用于当有数据需要传输时,通信层遍历NTB物理链路,利用NTB空闲端口发送数据。
7.根据权利要求6所述双路NTB通信装置,其特征是,所述数据发送模块包括:
端口检测子模块,用于在当有数据需要传输时,通信层遍历板载NTB物理链路,检查NTB端口资源是否被占用,如果当前NTB端口忙,则检查下一个端口是否空闲;
数据排队子模块,用于在如果所有NTB端口都忙,则将待发送的数据放入队列进行排队;
数据发送子模块,用于如果当前NTB端口空闲,则从该端口发送数据,如果NTB端口都被占用,当检测到有NTB端口被释放时,检测待发送队列是否有数据待发送,如果有,则从该端口发送数据。
8.根据权利要求6所述的双控存储控制器的双路NTB通信装置,其特征是,还包括故障替代模块,用于当其中一条NTB物理链路发生硬件故障时,负载转移至另一条NTB物理链路。
9.一种双路NTB通信系统,其特征是,包括两个存储控制器节点,所述存储控制器节点安装于控制器机箱内部;还包括两条NTB物理链路:第一NTB物理链路和第二NTB物理链路,所述第一NTB物理链路设置在两个存储控制器节点之间的中板上,所述第二NTB物理链路包括分别位于存储控制器节点的PCI-E接口卡。
CN201810885057.2A 2018-08-06 2018-08-06 一种双路ntb通信方法、装置及系统 Pending CN109117393A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810885057.2A CN109117393A (zh) 2018-08-06 2018-08-06 一种双路ntb通信方法、装置及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810885057.2A CN109117393A (zh) 2018-08-06 2018-08-06 一种双路ntb通信方法、装置及系统

Publications (1)

Publication Number Publication Date
CN109117393A true CN109117393A (zh) 2019-01-01

Family

ID=64851995

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810885057.2A Pending CN109117393A (zh) 2018-08-06 2018-08-06 一种双路ntb通信方法、装置及系统

Country Status (1)

Country Link
CN (1) CN109117393A (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110008152A (zh) * 2019-04-10 2019-07-12 苏州浪潮智能科技有限公司 存储控制器节点间数据传输方法、装置、设备及存储介质
CN110224928A (zh) * 2019-07-12 2019-09-10 苏州浪潮智能科技有限公司 一种ntb通信方法、装置、设备及存储介质
CN110300185A (zh) * 2019-07-12 2019-10-01 苏州浪潮智能科技有限公司 一种ntb通信方法、装置、设备及存储介质
CN110737613A (zh) * 2019-10-18 2020-01-31 苏州浪潮智能科技有限公司 一种存储控制器节点通信方法、装置、设备及存储介质

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101102177A (zh) * 2007-08-20 2008-01-09 杭州华三通信技术有限公司 一种主备控制器倒换的实现方法及设备
CN101588285A (zh) * 2009-06-24 2009-11-25 成都市华为赛门铁克科技有限公司 一种非透明传输的实现方法、非透明桥和通信系统
CN104471523A (zh) * 2012-05-18 2015-03-25 株式会社日立制作所 计算机系统及其控制方法
CN104486128A (zh) * 2014-12-23 2015-04-01 浪潮(北京)电子信息产业有限公司 一种实现双控制器节点间冗余心跳的系统及方法
WO2016008104A1 (zh) * 2014-07-15 2016-01-21 华为技术有限公司 PCIe I/O设备共享方法及设备与互联系统
CN106484652A (zh) * 2016-10-26 2017-03-08 郑州云海信息技术有限公司 一种基于ntb硬件的多队列通信方法及系统
CN107766181A (zh) * 2017-09-12 2018-03-06 中国电子科技集团公司第五十二研究所 一种基于PCIe非透明桥的双控制器存储高可用子系统
CN108234360A (zh) * 2016-12-14 2018-06-29 中国航空工业集团公司西安航空计算技术研究所 一种抗阻塞fc交换机级联端口实现与方法

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101102177A (zh) * 2007-08-20 2008-01-09 杭州华三通信技术有限公司 一种主备控制器倒换的实现方法及设备
CN101588285A (zh) * 2009-06-24 2009-11-25 成都市华为赛门铁克科技有限公司 一种非透明传输的实现方法、非透明桥和通信系统
CN104471523A (zh) * 2012-05-18 2015-03-25 株式会社日立制作所 计算机系统及其控制方法
WO2016008104A1 (zh) * 2014-07-15 2016-01-21 华为技术有限公司 PCIe I/O设备共享方法及设备与互联系统
CN104486128A (zh) * 2014-12-23 2015-04-01 浪潮(北京)电子信息产业有限公司 一种实现双控制器节点间冗余心跳的系统及方法
CN106484652A (zh) * 2016-10-26 2017-03-08 郑州云海信息技术有限公司 一种基于ntb硬件的多队列通信方法及系统
CN108234360A (zh) * 2016-12-14 2018-06-29 中国航空工业集团公司西安航空计算技术研究所 一种抗阻塞fc交换机级联端口实现与方法
CN107766181A (zh) * 2017-09-12 2018-03-06 中国电子科技集团公司第五十二研究所 一种基于PCIe非透明桥的双控制器存储高可用子系统

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110008152A (zh) * 2019-04-10 2019-07-12 苏州浪潮智能科技有限公司 存储控制器节点间数据传输方法、装置、设备及存储介质
CN110224928A (zh) * 2019-07-12 2019-09-10 苏州浪潮智能科技有限公司 一种ntb通信方法、装置、设备及存储介质
CN110300185A (zh) * 2019-07-12 2019-10-01 苏州浪潮智能科技有限公司 一种ntb通信方法、装置、设备及存储介质
CN110300185B (zh) * 2019-07-12 2022-06-07 苏州浪潮智能科技有限公司 一种ntb通信方法、装置、设备及存储介质
CN110737613A (zh) * 2019-10-18 2020-01-31 苏州浪潮智能科技有限公司 一种存储控制器节点通信方法、装置、设备及存储介质

Similar Documents

Publication Publication Date Title
CN109117393A (zh) 一种双路ntb通信方法、装置及系统
CN105103475B (zh) 一种链路切换方法、设备和系统
CN104077199B (zh) 基于共享磁盘的高可用集群的隔离方法和系统
CN108156074A (zh) 保护倒换方法、网络设备及系统
JP5211146B2 (ja) パケット中継装置
CN104023246B (zh) 一种视频数据私有云存储系统和视频数据私有云存储方法
KR20070033866A (ko) 정보 처리 장치, 통신 부하 분산 방법 및 통신 부하 분산프로그램을 기록한 기록 매체
CN107766181B (zh) 一种基于PCIe非透明桥的双控制器存储高可用子系统
CN105164980B (zh) 众核下网络数据的分发方法及系统
CN106533736A (zh) 一种网络设备重启方法和装置
CN107948063B (zh) 一种建立聚合链路的方法和接入设备
CN106506625A (zh) 四控服务器及四控服务器通信方法
CN103095569A (zh) 一种高冗余低成本的热容灾广域网架构及其实现方法
CN104753707B (zh) 一种系统维护方法及网络交换设备
CN206807466U (zh) 一种基于pcie非透明桥的高可用冗余加密终端
CN102932250B (zh) 一种基于容错计算机网络结构的无死锁自适应路由方法
CN109684257B (zh) 一种远程内存扩展管理系统
CN109688017A (zh) 一种双星型冗余拓扑架构系统及架构实现方法
CN110008152A (zh) 存储控制器节点间数据传输方法、装置、设备及存储介质
CN110532202A (zh) 一种存储集群系统、数据传输方法和装置
CN106603276A (zh) 一种serdes链路组的故障处理方法和故障处理装置
CN110674192A (zh) 一种Redis高可用VIP漂移方法、终端及存储介质
CN106302146A (zh) 链路聚合的收敛方法及装置
CA3031594A1 (en) Method for managing network nodes and communication control method thereof
WO2012153945A2 (ko) Osek 네트워크 경로 관리 방법

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20190101

RJ01 Rejection of invention patent application after publication