CN103869804A - Program stream monitoring method - Google Patents

Program stream monitoring method Download PDF

Info

Publication number
CN103869804A
CN103869804A CN201410088136.2A CN201410088136A CN103869804A CN 103869804 A CN103869804 A CN 103869804A CN 201410088136 A CN201410088136 A CN 201410088136A CN 103869804 A CN103869804 A CN 103869804A
Authority
CN
China
Prior art keywords
ctrlflowck
zone bit
module
program
subroutine
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
CN201410088136.2A
Other languages
Chinese (zh)
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.)
China Automotive Engineering Research Institute Co Ltd
Original Assignee
China Automotive Engineering Research Institute 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 China Automotive Engineering Research Institute Co Ltd filed Critical China Automotive Engineering Research Institute Co Ltd
Priority to CN201410088136.2A priority Critical patent/CN103869804A/en
Publication of CN103869804A publication Critical patent/CN103869804A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

The invention provides a program stream monitoring method which comprises the following steps of dividing a program stream into n subprogram modules A1, A2, A3, ellipsis An according to the execution sequence; setting a zone bit for each subprogram module; when a program hops from the subprogram module Ai to the subprogram module Ai+1, performing XOR logic operation on the zone bit of the subprogram module Ai and the zone bit of the subprogram module Ai+1 by a monitor to obtain a result C, and performing XOR logic operation on the result C and the zone bit of the subprogram module Ai to obtain a result D; comparing the result D with the zone bit of the subprogram module Ai+1 by the monitor, if the result D and the zone bit of the subprogram module Ai+1 are identical, representing that execution is correct, if not, representing that execution is wrong, and adding the numerical value of the wrong zone bit with 1; if the numerical value of the wrong zone bit is larger than a threshold value, executing an emergency fault processing program by a controller. The method is simple and feasible, the XOR operation is simpler than the traditional addition, subtraction, multiplication and division operation, the error probability of logic operation is reduced, and the method is capable of inquiring the positions and times of incorrect calling in the program stream.

Description

Program flow method for supervising
Technical field
The present invention relates to program flow method for supervising, be specifically related to a kind of for repeatedly being called in the cycle of operation, and the program module carried out of order, method that the order to its operation and time are monitored.
Background technology
First the basic thought of modularization programming appears in advanced language programming application, but this thought is also applicable to the exploitation of Vehicle Controller program.The general employing from up to down of Module Division of program, the method for progressively decomposing is carried out.Vehicle Controller program generally can be divided into parameter part, part of data acquisition, data processing section, warning processing section, control section, execution output are set.
In controller, application program module is in a certain order, called successively within the regular hour, guarantee program safety, reliably operation.If application program module can not be carried out in a certain order successively, or some program is not performed at all, likely causes error in data, and corrupted data is the inefficacy of other software modules even, may cause catastrophic destruction to security of system.
Because mistake appears in program module inside, the system failure or memory address mistake, may there is following problem in program: system is not carried out corresponding program module according to the order of design; Within a program loop, subprogram module is not performed, or some function modules is carried out number of times more than once.
At present, a kind of method for supervising for automobile controller program flow is: before each loop cycle, produce a random number, increase a sub-program identification code in each subroutine; Utilize MD5 algorithm that random number and subroutine identification code are calculated, if any one subroutine is not carried out by expection, the result that MD5 algorithm calculates will be different from desired value, thereby find mistake.
This kind of method is relatively complicated, and the little mistake of any one link in algorithmic procedure, all may cause the mistake of whole result, and can only work as a program flow and execute, and just can draw the whether result of mistake of execution.
Summary of the invention
In order to overcome the defect existing in above-mentioned prior art, the object of this invention is to provide a kind of flow monitoring method, the method is simple, and it is simpler that XOR is compared traditional addition subtraction multiplication and division computing, can reduce the probability that logical operation makes mistakes, simultaneously this program flow policing algorithm can polling routine place and the number of times of call error in stream.
In order to realize above-mentioned purpose of the present invention, the invention provides a kind of program flow method for supervising, comprise the steps:
S1, is divided into n subroutine module A1 by Cheng Xuliu according to carrying out sequencing, A2, and A3 ... An, described n is positive integer;
S2, is the each subroutine module A1 in program flow, A2, and A3 ... An sets a zone bit, and zone bit corresponding to different subroutine modules, different between zone bit;
S3, makes i=1, makes error flag position CtrlFlowCk_Error=0;
S4, in the time that the program of controller operation jumps to next subroutine module Ai+1 from a subroutine module Ai, described i=1,2 ..., n-1, first watch-dog carries out XOR computing by the zone bit of the program module Ai of the zone bit of subroutine module Ai+1 and previous execution, a result C who draws, then the zone bit of C and previous program module Ai is carried out to XOR calculating again, obtain a new result D;
S5, watch-dog compares the zone bit of result D and program module Ai+1, if identical, think and carries out correctly, otherwise execution error, adds 1, i=i+1 by the numerical value of error flag position CtrlFlowCk_Error, if i<n, returns to step S4, otherwise execution step S6;
S6, watch-dog calculates the number of errors of carrying out, if be greater than threshold value, controller is carried out emergency handling procedure.
The present invention is simple, and XOR to compare traditional addition subtraction multiplication and division computing simpler, can reduce the probability that logical operation makes mistakes, simultaneously this program flow policing algorithm can polling routine stream in place and the number of times of call error.
In a kind of preferred implementation of the present invention, described zone bit is binary flags number, and the figure place of described zone bit covers the quantity of all subroutine modules.Thereby testing result is more accurate.
In another kind of preferred implementation of the present invention, described zone bit is 8 bit values.
In a kind of preferred implementation of the present invention, described step S4 is:
Definition global variable CtrlFlowCk_V, the zone bit that makes subroutine module Ai is CtrlFlowCk_Si, after subroutine module Ai executes, establishing global variable CtrlFlow_V is CtrlFlowCk_Si, when program module is during from Ai to Ai+1 saltus step, calculates
CtrlFlowCk _ di + 1 = CtrlFlowCk _ Si &CirclePlus; CtrlFlowCk _ Si + 1 - - - ( 1 )
Carry out following steps:
CtrlFlowCk _ V = CtrlFlowCk _ V &CirclePlus; CtrlFlowCk _ di + 1 = CtrlFlowCk _ Si &CirclePlus; ( CtrlFlowCk _ Si &CirclePlus; CtrlFlowCk _ Si + 1 ) = CtrlFlowCk _ Si + 1 - - - ( 2 )
CtrlFlowCk_di+1 corresponding each subroutine module is calculated according to formula (1), by CtrlFlowCk_di+1 storage, when each call subroutine module, calculate CtrlFlowCk_V, and judge whether it equates with CtrlFlowCk_Si+1.
In another kind of preferred implementation of the present invention, described step S3, S4, S5 are:
S3, makes error flag position CtrlFlowCk_Error=0;
S4, in the time of controller execution subroutine modules A i+1, described i=1,2 ..., n-1, first watch-dog carries out XOR computing by the zone bit of the zone bit of subroutine module Ai+1 and subroutine module Ai, a result C who draws, then the zone bit of C and previous program module Ai is carried out to XOR calculating again, obtain a new result D;
S5, watch-dog compares the zone bit of result D and program module Ai+1, if identical, think and carry out correctly, otherwise execution error, add 1 by the numerical value of error flag position CtrlFlowCk_Error, execution step S6.
In a kind of preferred implementation of the present invention, described threshold value is 2.
In a kind of preferred implementation of the present invention, watch-dog also has storer, in step S5, in the time of execution error, the numerical value of the sequence number of program module Ai+1 and error flag position CtrlFlowCk_Error is stored.
Additional aspect of the present invention and advantage in the following description part provide, and part will become obviously from the following description, or recognize by practice of the present invention.
Accompanying drawing explanation
Above-mentioned and/or additional aspect of the present invention and advantage accompanying drawing below combination is understood becoming the description of embodiment obviously and easily, wherein:
Fig. 1 is the process flow diagram of program flow method for supervising of the present invention.
Embodiment
Describe embodiments of the invention below in detail, the example of described embodiment is shown in the drawings, and wherein same or similar label represents same or similar element or has the element of identical or similar functions from start to finish.Be exemplary below by the embodiment being described with reference to the drawings, only for explaining the present invention, and can not be interpreted as limitation of the present invention.
The invention provides a kind of program flow method for supervising, as shown in Figure 1, comprise the steps:
S1, is divided into n subroutine module A1 by Cheng Xuliu according to carrying out sequencing, A2, and A3 ... An, described n is positive integer;
S2, is the each subroutine module A1 in program flow, A2, and A3 ... An sets a zone bit, and zone bit corresponding to different subroutine modules;
S3, makes i=1, makes error flag position CtrlFlowCk_Error=0;
S4, in the time that the program of controller operation jumps to next subroutine module Ai+1 from a subroutine module Ai, described i=1,2 ..., n-1, first watch-dog carries out XOR computing by the zone bit of the program module Ai of the zone bit of subroutine module Ai+1 and previous execution, a result C who draws, then the zone bit of C and previous program module Ai is carried out to XOR calculating again, obtain a new result D;
In the present embodiment, in watch-dog, realize the monitoring of program flow by software.
S5, watch-dog compares the zone bit of result D and program module Ai+1, if identical, think and carries out correctly, otherwise execution error, adds 1, i=i+1 by the numerical value of error flag position CtrlFlowCk_Error, if i<n, returns to step S4, otherwise execution step S6;
S6, watch-dog calculates the number of errors of carrying out, if be greater than threshold value, controller is carried out emergency handling procedure.In the present embodiment, exception handles can be set as the case may be, is specifically as follows but does not limit and shutdown procedure, time out program or other repair procedures.
In a kind of preferred implementation of the present invention, described zone bit is binary flags number, and the figure place of described zone bit covers the quantity of all subroutine modules.Thereby testing result is more accurate.
In another kind of preferred implementation of the present invention, described zone bit is 8 bit values.The for example binary flags position of 8: 00000000,00000001,10000010 etc.
In a kind of preferred implementation of the present invention, described step S4 is:
Definition global variable CtrlFlowCk_V, the zone bit that makes subroutine module Ai is CtrlFlowCk_Si, after subroutine module Ai executes, establishing global variable CtrlFlow_V is CtrlFlowCk_Si, when program module is during from Ai to Ai+1 saltus step, calculates
CtrlFlowCk _ di + 1 = CtrlFlowCk _ Si &CirclePlus; CtrlFlowCk _ Si + 1 - - - ( 1 )
Carry out following steps:
CtrlFlowCk _ V = CtrlFlowCk _ V &CirclePlus; CtrlFlowCk _ di + 1 = CtrlFlowCk _ Si &CirclePlus; ( CtrlFlowCk _ Si &CirclePlus; CtrlFlowCk _ Si + 1 ) = CtrlFlowCk _ Si + 1 - - - ( 2 )
CtrlFlowCk_di+1 corresponding each subroutine module is calculated according to formula (1), by CtrlFlowCk_di+1 storage, when each call subroutine module, calculate CtrlFlowCk_V, and judge whether it equates with CtrlFlowCk_Si+1.
In another kind of preferred implementation of the present invention, described step S3, S4, S5 are:
S3, makes error flag position CtrlFlowCk_Error=0;
S4, in the time of controller execution subroutine modules A i+1, described i=1,2 ..., n-1, first watch-dog carries out XOR computing by the zone bit of the zone bit of subroutine module Ai+1 and subroutine module Ai, a result C who draws, then the zone bit of C and previous program module Ai is carried out to XOR calculating again, obtain a new result D;
S5, watch-dog compares the zone bit of result D and program module Ai+1, if identical, think and carry out correctly, otherwise execution error, add 1 by the numerical value of error flag position CtrlFlowCk_Error, execution step S6.
In a kind of preferred implementation of the present invention, described threshold value is 2.
In a kind of preferred implementation of the present invention, watch-dog also has storer, in step S5, in the time of execution error, the numerical value of the sequence number of program module Ai+1 and error flag position CtrlFlowCk_Error is stored.Be convenient to later stage inquiry.
In a kind of preferred implementation of the present invention, the subroutine module of sequence call is A1, A2, A3 ... An, f is the watchdog routine in watch-dog, each application program module Ai(i=1,2 ... n) specify binary mark CtrlFlowCk_Si of 8, different Ai execution sequence correspondences different mark CtrlFlowCk_Si.
CtrlFlowCk_di is the XOR result of CtrlFlowCk_Si and CtrlFlowCk_Si+1, when program module is during from Ai to Ai+1 saltus step, can be expressed as:
CtrlFlowCk _ di + 1 = CtrlFlowCk _ Si &CirclePlus; CtrlFlowCk _ Si + 1
Definition global variable CtrlFlowCk_V, after program Ai executes, establishing CtrlFlowV is CtrlFlowCk_Si, when program module is during from Ai to Ai+1 saltus step, first carries out following calculating:
CtrlFlowCk _ V = CtrlFlowCk _ V &CirclePlus; CtrlFlowCk _ di + 1 = CtrlFlowCk _ Si &CirclePlus; ( CtrlFlowCk _ Si &CirclePlus; CtrlFlowCk _ Si + 1 ) = CtrlFlowCk _ Si + 1
CtrlFlowCk_di+1 corresponding each program module is calculated according to each program module mark CtrlFlowCk_Si value of definition, and computing method are participated in formula (1), wherein,
CtrlFlowCk _ d 1 = CtrlFlowCk _ Sn &CirclePlus; CtrlFlowCk _ S 1 .
CtrlFlowCk_di+1 is stored in to the position of appointment, when each calling program module, first calculates CtrlFlowCk_V, and judge whether it equates with CtrlFlowCk_Si+1.Program powers on while entering for the first time function A1, order: CtrlFlowV=S1.
Above embodiment is the whether wrong method of the each subroutine call of identification, for convenience's sake, utilizes each cycle period to test once below.
Define program stream error flag position CtrlFlowCk_Error, when each calling program module i, first calculates CtrlFlowCk_V, and judge whether it equates with CtrlFlowCk_Si, if equate, program continues to carry out, if unequal, error flag position CtrlFlowCk_Error+1.
In the time that function f Program stream executes, read CtrlFlowCk_Error value, if it is greater than certain threshold values CtrlFlowCk_Error_C, start emergency tupe, concrete disposal route can stipulate in security monitoring function f.
In the present embodiment, the logical operation XOR of employing, concrete calculated example is as follows:
If A=00101, B=11011;
A &CirclePlus; B = 11110 ;
Be corresponding A, every logical variable of B, if identical result is 0, difference is 1.
The present invention establishes the program block of recursive call and specifies a binary flags, program is carried out that subroutine module, this program module and program module are before carried out to XOR computing, if any one subroutine module is not carried out on schedule, last different from desired value, thereby discovery mistake, solves above three problems.
In one embodiment of the invention, controller is automobile controller, and because the application program module in automobile controller needs in a certain order, called successively within the regular hour, guarantee program is normal, safety, reliably operation.The program flow method for supervising of automobile controller software provided by the invention, by embed simple XOR algorithm in each application program module, can realize the execution sequence of watchdog routine stream, and find in time mistake.
In the description of this instructions, the description of reference term " embodiment ", " some embodiment ", " example ", " concrete example " or " some examples " etc. means to be contained at least one embodiment of the present invention or example in conjunction with specific features, structure, material or the feature of this embodiment or example description.In this manual, the schematic statement of above-mentioned term is not necessarily referred to identical embodiment or example.And specific features, structure, material or the feature of description can be with suitable mode combination in any one or more embodiment or example.
Although illustrated and described embodiments of the invention, those having ordinary skill in the art will appreciate that: in the situation that not departing from principle of the present invention and aim, can carry out multiple variation, modification, replacement and modification to these embodiment, scope of the present invention is limited by claim and equivalent thereof.

Claims (7)

1. a program flow method for supervising, is characterized in that, comprises the steps:
S1, is divided into n subroutine module A1 by Cheng Xuliu according to carrying out sequencing, A2, and A3 ... An, described n is positive integer;
S2, is the each subroutine module A1 in program flow, A2, and A3 ... An sets a zone bit, and zone bit corresponding to different subroutine modules;
S3, makes i=1, makes error flag position CtrlFlowCk_Error=0;
S4, in the time that the program of controller operation jumps to next subroutine module Ai+1 from a subroutine module Ai, described i=1,2 ..., n-1, first watch-dog carries out XOR computing by the zone bit of the program module Ai of the zone bit of subroutine module Ai+1 and previous execution, a result C who draws, then the zone bit of C and previous program module Ai is carried out to XOR calculating again, obtain a new result D;
S5, watch-dog compares the zone bit of result D and program module Ai+1, if identical, think and carries out correctly, otherwise execution error, adds 1, i=i+1 by the numerical value of error flag position CtrlFlowCk_Error, if i<n, returns to step S4, otherwise execution step S6;
S6, watch-dog calculates the number of errors of carrying out, if be greater than threshold value, controller is carried out emergency handling procedure.
2. program flow method for supervising as claimed in claim 1, is characterized in that: described zone bit is binary flags number, and the figure place of described zone bit covers the quantity of all subroutine modules.
3. program flow method for supervising as claimed in claim 2, is characterized in that: described zone bit is 8 bit values.
4. program flow method for supervising as claimed in claim 1, is characterized in that: described step S4 is:
Definition global variable CtrlFlowCk_V, the zone bit that makes subroutine module Ai is CtrlFlowCk_Si, after subroutine module Ai executes, establishing global variable CtrlFlow_V is CtrlFlowCk_Si, when program module is during from Ai to Ai+1 saltus step, calculates
CtrlFlowCk _ di + 1 = CtrlFlowCk _ Si &CirclePlus; CtrlFlowCk _ Si + 1 - - - ( 1 )
Carry out following steps:
CtrlFlowCk _ V = CtrlFlowCk _ V &CirclePlus; CtrlFlowCk _ di + 1 = CtrlFlowCk _ Si &CirclePlus; ( CtrlFlowCk _ Si &CirclePlus; CtrlFlowCk _ Si + 1 ) = CtrlFlowCk _ Si + 1 - - - ( 2 )
CtrlFlowCk_di+1 corresponding each subroutine module is calculated according to formula (1), by CtrlFlowCk_di+1 storage, when each call subroutine module, calculate CtrlFlowCk_V, and judge whether it equates with CtrlFlowCk_Si+1.
5. program flow method for supervising as claimed in claim 1, is characterized in that: described step S3, S4, S5 are:
S3, makes error flag position CtrlFlowCk_Error=0;
S4, in the time of controller execution subroutine modules A i+1, described i=1,2 ..., n-1, first watch-dog carries out XOR computing by the zone bit of the zone bit of subroutine module Ai+1 and subroutine module Ai, a result C who draws, then the zone bit of C and previous program module Ai is carried out to XOR calculating again, obtain a new result D;
S5, watch-dog compares the zone bit of result D and program module Ai+1, if identical, think and carry out correctly, otherwise execution error, add 1 by the numerical value of error flag position CtrlFlowCk_Error, execution step S6.
6. program flow method for supervising as claimed in claim 1, is characterized in that: described threshold value is 2.
7. the program flow method for supervising as described in claim 1 or 5, is characterized in that: watch-dog also has storer, in step S5, in the time of execution error, the numerical value of the sequence number of program module Ai+1 and error flag position CtrlFlowCk_Error is stored.
CN201410088136.2A 2014-03-11 2014-03-11 Program stream monitoring method Pending CN103869804A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410088136.2A CN103869804A (en) 2014-03-11 2014-03-11 Program stream monitoring method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410088136.2A CN103869804A (en) 2014-03-11 2014-03-11 Program stream monitoring method

Publications (1)

Publication Number Publication Date
CN103869804A true CN103869804A (en) 2014-06-18

Family

ID=50908447

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410088136.2A Pending CN103869804A (en) 2014-03-11 2014-03-11 Program stream monitoring method

Country Status (1)

Country Link
CN (1) CN103869804A (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105955115A (en) * 2016-05-10 2016-09-21 重庆长安汽车股份有限公司 Method and device for monitoring program flow of whole automobile controller
CN106776089A (en) * 2016-11-28 2017-05-31 北京遥测技术研究所 A kind of spaceborne embedded software code self checking error correction method
CN109976299A (en) * 2017-12-27 2019-07-05 上海大郡动力控制技术有限公司 Program flow monitoring method for electric vehicle motor controller
CN110135198A (en) * 2019-02-18 2019-08-16 北京车和家信息技术有限公司 Program flow monitoring method, system and vehicle
CN110187663A (en) * 2019-06-19 2019-08-30 浙江中控技术股份有限公司 Monitoring method and device
CN111427723A (en) * 2020-03-19 2020-07-17 阳光电源股份有限公司 Program flow monitoring method based on AutoSAR and application device

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
何涛 等: ""GCC编译器中间代码层控制流扩充研究"", 《计算机工程与科学》 *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105955115A (en) * 2016-05-10 2016-09-21 重庆长安汽车股份有限公司 Method and device for monitoring program flow of whole automobile controller
CN106776089A (en) * 2016-11-28 2017-05-31 北京遥测技术研究所 A kind of spaceborne embedded software code self checking error correction method
CN109976299A (en) * 2017-12-27 2019-07-05 上海大郡动力控制技术有限公司 Program flow monitoring method for electric vehicle motor controller
CN110135198A (en) * 2019-02-18 2019-08-16 北京车和家信息技术有限公司 Program flow monitoring method, system and vehicle
CN110187663A (en) * 2019-06-19 2019-08-30 浙江中控技术股份有限公司 Monitoring method and device
CN111427723A (en) * 2020-03-19 2020-07-17 阳光电源股份有限公司 Program flow monitoring method based on AutoSAR and application device
CN111427723B (en) * 2020-03-19 2023-05-30 阳光电源股份有限公司 AutoSAR-based program flow monitoring method and application device

Similar Documents

Publication Publication Date Title
CN103869804A (en) Program stream monitoring method
CN103092746B (en) The localization method of thread exception and system
US9390569B2 (en) Control and diagnosis of a controller wake up feature
ES2809466T3 (en) Procedure for the improved detection of process anomalies of a technical installation and corresponding diagnostic system
US20150134083A1 (en) Controller and process monitoring method
CN117451115B (en) Real-time state monitoring method for sorting conveying system
CN103901877A (en) Method for judging and processing faults based on fault attribute data
CN107766247B (en) Method and device for testing Bootloader and readable storage medium
CN109254898B (en) Software module execution sequence monitoring method and system
CN104879295A (en) Large complex system fault diagnosis method based on multilevel flow model and minimal cutset of fault tree
JP2010141654A (en) Field communication system and method
CN110135198A (en) Program flow monitoring method, system and vehicle
US9304171B2 (en) Computer-implemented method for generating software, a battery, and a motor vehicle
Abdelwahed et al. Practical considerations in systems diagnosis using timed failure propagation graph models
US20210344499A1 (en) Method for improving safety of a component or system running a firmware or a finite state machine
CN111352754B (en) Error detection and correction method for data storage and data storage device
CN102005251A (en) Method for testing a memory
US8522081B2 (en) Microcomputer outputting failure detection result
CN103377096A (en) Granularity-adjustable task scheduling validation method
EP3367242B1 (en) Method of error detection in a microcontroller unit
CN108350790B (en) Management device of selective catalytic reduction system and control method thereof
Bicchierai et al. Integrating metrics in an ontological framework supporting SW-FMEA
Khlifi et al. New Verification Approach for Reconfigurable Distributed Systems.
CN106021089B (en) A kind of test method and device of patch interface
US20240037013A1 (en) Computer-implemented method for verifying a software component of an automated driving function

Legal Events

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

Application publication date: 20140618

RJ01 Rejection of invention patent application after publication