CN105207817B - A kind of method that process layer devices resist network storm - Google Patents

A kind of method that process layer devices resist network storm Download PDF

Info

Publication number
CN105207817B
CN105207817B CN201510603376.6A CN201510603376A CN105207817B CN 105207817 B CN105207817 B CN 105207817B CN 201510603376 A CN201510603376 A CN 201510603376A CN 105207817 B CN105207817 B CN 105207817B
Authority
CN
China
Prior art keywords
message
storm
cpu
fpga
network
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.)
Expired - Fee Related
Application number
CN201510603376.6A
Other languages
Chinese (zh)
Other versions
CN105207817A (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.)
Beijing Sifang Automation Co Ltd
China Southern Power Grid Co Ltd
Original Assignee
Beijing Sifang Automation Co Ltd
China Southern Power Grid 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 Beijing Sifang Automation Co Ltd, China Southern Power Grid Co Ltd filed Critical Beijing Sifang Automation Co Ltd
Priority to CN201510603376.6A priority Critical patent/CN105207817B/en
Publication of CN105207817A publication Critical patent/CN105207817A/en
Application granted granted Critical
Publication of CN105207817B publication Critical patent/CN105207817B/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

The purpose of the present invention is to provide a kind of inhibition network storm methods of process layer of digitalization transformer substation equipment, inhibit the process of storm to inhibit the process of storm to be combined with CPU using FPGA, and network storm filtering is realized using timesharing current limliting method;The FPGA inhibits the process of network storm to be:Prefilter module is arranged in FPGA, module completes cyclic redundancy check after receiving message and frame byte exclusive or code calculates, such as identical compared with the cyclic redundancy check of former frame and frame byte exclusive or code, current message is abandoned, and cyclic redundancy check and frame byte exclusive or code are preserved and judged for next frame message;It includes the process that CPU application layers inhibit the process of network storm and CPU driving layers to inhibit network storm that the CPU, which inhibits the process of storm,.This method solves process layer of digitalization transformer substation Network Abnormal and causes equipment malfunction or tripping, enhances process layer devices operational reliability.

Description

A kind of method that process layer devices resist network storm
Technical field
The present invention relates to Substation Automation System field, relates in particular to a kind of process layer devices and resist network storm Method.
Background technology
As power grid scale constantly expands the raising with automatization level, traditional substation will face compeling for intellectualized reconstruction It is essential and asks, to adapt to the paces of intelligent grid construction in future.Process layer devices networking is one of the core of transformation, intelligent operation Case is the source of the digital substation interval layer for following IEC61850 standards, the breaker and disconnecting link position of station level equipment, Bay device GOOSE message is also received simultaneously, is decided whether to execute combined floodgate and trip signal according to the content of GOOSE.Intelligence Control box GOOSE message correctly processing and its it is important, once some device network message may influence whether equipment extremely Regular event behavior.For avoiding device malfunction or tripping, it is necessary to assure the Network Abnormal of some port does not influence device other termination The message of mouth receives, and the Network Abnormal of some message does not influence normally receiving for other messages of same port.
And in the prior art, for the anti-network storm of process layer devices there are many different methods, be limited to CPU drivings with FPGA (i.e. field programmable gate array) complete independently storm filters, slightly spacious after assert storm to lose all storm messages It abandons, fails to implement effective management and control to storm after storm is assert.The present invention limits stream method effectively to resist using a kind of timesharing The problem of process layer devices network storm, this method is low in resources consumption, simple and practicable.FPGA prefilters can effectively be resisted identical The bump of storm, such storm do not consume cpu resource, and bandwidth will not generate any interference in the case of meeting to device. FPGA and CPU is organically combined, and non-subscribed message is completed to abandon in driving layer, is not take up CPU storage resources, reduces using processing Time.It subscribes to message storm to monitor in real time in application layer, timesharing is taken to storm message beyond notice driving layer after normality threshold Current limiting measures avoid a plurality of storm of Multi-netmouth from causing error action of device or tripping to the constant impingement of CPU.
Invention content
The purpose of the present invention is to provide a kind of inhibition network storm methods of process layer of digitalization transformer substation equipment, solve Process layer of digitalization transformer substation Network Abnormal causes equipment malfunction or tripping, enhances process layer devices operational reliability.
The purpose of the present invention can be realized by technical measures below:
A kind of method that process layer devices resist network storm inhibits the process of storm to inhibit storm with CPU using FPGA Process be combined, using timesharing current limliting method realize network storm filtering;
A. the process of the FPGA inhibition network storm is:Prefilter module is arranged in FPGA, and module receives complete after message It is calculated at cyclic redundancy check and frame byte exclusive or code, it is such as identical compared with the cyclic redundancy check of former frame and frame byte exclusive or code, it loses Current message is abandoned, and cyclic redundancy check and frame byte exclusive or code are preserved and judged for next frame message;
B. it includes that CPU application layers inhibit the process of network storm and CPU driving layers to inhibit that the CPU, which inhibits the process of storm, The process of network storm, wherein:
The CPU application layers inhibit the process of network storm to be:Application layer subscribes to the flow of message n to judge by statistics Whether normal message flow is subscribed to, if being more than to receive threshold value (rL [n]) within the t1 times, it is believed that subscribe to message flow and then order extremely Literary filter label of reading newspapers is enabled, and triggering driving layer message is filtered using timesharing current limliting method, and report is subscribed to after duration t2, t2 Literary filter label is reset, and is closed driving layer packet filtering, is re-started statistics;
Described judges that the whether normal foundation of the message flow subscribed to is in application layer:More than the 120% of normal discharge More than, it is believed that there are network storms for the message of the device number, then inhibit function to carry out set network storm, enable network wind It is sudden and violent that function, notice driving layer is inhibited to carry out current limliting processing.
The storm inhibits to enable to use timesharing current limiting measures, timesharing to open period T and powering on just in duration t2 It is set when beginningization, opening driving layer notice FPGA in period T in timesharing uploads storm message, and storm message is allowed to enter application Layer, if device subscribes to multiframe message, only to occurring assert that the message of storm implements timesharing current limiting measures.
In the timesharing current limliting period T, the message that application layer receives carries out storm differentiation in real time, and no storm then waits for t2 to tie Packet filtering label is subscribed to after beam to reset, and re-starts storm identification;If storm filter label is hold mode, unite again Storm is counted to inhibit to enable the duration.
Under the timesharing current limiting measures, timesharing opens in period T, if generating storm there are many message is subscribed to, often A timesharing, which opens, only receives a kind of storm message in period T, ensure that timesharing opens storm quantities of messages in period T and do not influencing CPU just Normal processing function, the ability for making CPU that there is the storm message of 100% bandwidth of processing.
CPU driving layer inhibits the process of network storm to be:Read FPGA message queues application identities (APPID) and Destination-mac address, if application identities (APPID) and destination-mac address and configuration is inconsistent, then it is assumed that be the message of non-subscribed And FPGA is notified directly to abandon the message.If the message that storm occurs in time t2 is to subscribe to message (i.e. APPID and Destination MAC Address is consistent with configuration) when, then under timesharing current limiting measures, only notice FPGA in period T is opened in timesharing and receive the message And the message received is put into CPU message bufferings, other periods, then directly notice FPGA abandoned the message.No storm is normally ordered It reads message notifying FPGA and is directly placed into CPU message bufferings.
Wherein, prefilter module described in the step A realizes FPGA filtering functions:Ethernet data is by virtual MAC IP (MAC that the virtual IP address of FPGA is realized) flow into the prefilter module afterwards, using cyclic redundancy check and frame byte exclusive or The adjacent identical message of the identical network interface of the equal filtering of code value.
The frame byte exclusive or code value is calculated since the destination address of frame, to cyclic redundancy check byte before include frame Byte realizes exclusive or processing.
The FPGA extraction message destination-mac address uploads CPU with APPID, and after CPU issues control command, FPGA just will Message is put into CPU message bufferings by DMA channel.
Advantages of the present invention and effect are:The present invention can improve the reliable of process layer devices in digital transformer substation Property, avoid Network Abnormal from causing process layer devices malfunction and misaction.The filtering scheme is simple and effective, FPGA resource consumption Low, CPU processing times are small, storage occupies small, and equipment quick-action performance under storm is guaranteed.Certain storm for subscribing to frame does not influence The message for receiving, nor affecting on other ports with port others message receives, a variety of storm time-division processings for subscribing to message, different Often do not influence each other.Storm message time-division processing ensure that storm management and control continuity after storm filtering is enabled.Cpu load is uniform, It acts slack-off when being not in storm or malfunction and misaction occurs.The popularization and application of the present invention, greatly improve process-level network Reliability ensures the steady safe operation of process layer devices.
Description of the drawings
Fig. 1 is the data flow figure that process layer devices receive message;
Fig. 2 is FPGA prefilter data flow figures;
Fig. 3 is driving layer filtering process figure;
Fig. 4 is application filters flow chart.
Specific implementation mode
The present invention is applied to when the arbitrary network interface of process layer devices is attacked by network storm, and influence process layer device be not dynamic Make behavior.This method passes through the network storm effectively resisted using time division traffic method in FPGA and CPU.Realize process layer device Arbitrary network interface does not influence device action behavior under the network storm of non-subscribed message.In the case where subscribing to message, same net is not influenced Mouthful other subscription messages action behavior, under some network interface storm, do not influence the normal transmitting-receiving of other network interfaces.This method can The effective management and control for realizing storm, directly applies in the process layer devices of engineer application, it is ensured that equipment reliability of operation.
The present invention is suitable for all process-level network messages, including there are many network message, the overall principles under consolidated network It is in any network storm, the equipment message of timely isolation network storm does not influence the action of normal device and network interface Behavior, device do not crash and restart.The invention will be further described with reference to the accompanying drawings and examples.
Fig. 1 illustrates Message processing flow of the present invention.Process layer devices use the hardware structure of FPGA+CPU, MAC It is realized using the virtual IP address of FPGA.After Ethernet data enters FPGA, completed by MAC IP (MAC that the virtual IP address of FPGA is realized) Message CRC check, verification flow into prefilter module by message, and being put into message queue by preposition filtering packets waits for CPU notices upload.Whether cpu cycle operation driver inquiry FPGA message queues have message, if any message, read message APPID and destination address such as allow the message to enter, and notice FPGA uploads message.CPU differentiates laggard in application layer progress storm Row Message processing.
Fig. 2 illustrates the prefilter flow of FPGA prefilter modules realization, which carries out frame word after receiving message It saves exclusive or code to calculate, and cyclic redundancy check is obtained from MAC IP, compared with the cyclic redundancy check of former frame and frame byte exclusive or code, As identical, discarding current message, and cyclic redundancy check and frame byte exclusive or code are preserved and judged for next frame message.Preposition mistake Filter can resist due to the exception of interchanger cause message largely repeat copy caused by network storm.Such as SV and goose messages, Each frame has oneself counter SmpCnt or SqNum or StNum cumulative, the message of adjacent two interframe be it is different, i.e., 2 verifications of exclusive or check value of CRC check code value and message will not be just the same.Prefilter is participated in without CPU, and FPGA is utilized The inhibition of most storms can be realized in smaller logical resource.Message pretreatment is carried out by the message of prefilter, is carried Message queue is squeezed into after taking out the APPID and destination-mac address of message.
Driving layer process flow is as shown in figure 3, reading MAC Address program loop and device number discriminate whether to report to subscribe to Text, such as the message of non-subscribed, the mark will directly in dual port RAM, notice FPGA is abandoned.Message is subscribed in this way, then judges the report Whether the storm inhibition of text enables, and is not enabled on directly notice FPGA and gives the message;If enabled, illustrate such message number as big In threshold value, network storm is inhibited using timesharing current limliting method.In timesharing open phase, notify to give the message on FPGA, it is no FPGA is then notified directly to abandon the message.
Application layer process flow is as shown in figure 4, CPU is timed whether inquiry has FPGA to be transmitted through in message buffering Message needs to handle, if any then carrying out Message processing.Application program can judge that (storm inhibits tDl [n] within the t2 periods first Duration) and t2 relationship, as tDl [n]≤t2, then tDl [n] numbers start to progressively increase and according to criterion judge whether to need into Row timesharing opens, and opens and requires if flow is unsatisfactory for timesharing, directly by rCnt [n] and tChk [n] clearings and by packet loss; When tDl [n] progressively increases to more than t2, application program judges the relationship of tChk [n] and t1 in turn, will if tChk [n] > t1 RCnt [n] zero setting, tChk [n] are reset, and are not turned on storm and are inhibited function, directly handle message;As tChk [n]≤t1 When, tChk [n] is incremented by and rCnt [n] starts to add up, when rCnt [n] is cumulative and is more than to receive threshold value rL within the t1 times [n] (n be receive message numbering), it is enabled to subscribe to packet filtering label, and tDl [n] resets and by packet loss;Inhibited in storm In view of opening all network interfaces simultaneously within the t2 periods in journey, all devices number, such as at this moment all devices number have storm, Cpu load is high, uses timesharing current limiting measures, only opens the subscription message of a number every time.Under timesharing current limiting measures, Timesharing opens in period T, and the message that application layer receives carries out storm differentiation in real time, and report is subscribed to after the no storm t2 duration Literary filter label is reset, and re-starts storm identification;There is the holding of storm filter label, when statistics storm inhibits enabled lasting again Between.
When application layer DSP judges normal message, upper transmission mark is set in the message queue of the dual port RAM of FPGA, FPGA judges that the transmission mark in message queue is holded up, LINKPORT mouthfuls using the inside for directly getting to DSP by way of DMA The areas message buffering RAM.
The implementation of the present invention is not limited to this, under the premise of above-mentioned basic fundamental thought of the invention, according to this field Ordinary technical knowledge and customary means make the content of present invention the modification, replacement or change of other diversified forms, all fall within Within rights protection scope of the present invention.

Claims (8)

1. a kind of method that process layer devices resist network storm, it is characterised in that inhibit the process and CPU of storm using FPGA Inhibit the process of storm to be combined, network storm filtering is realized using timesharing current limliting method;
A. the process of the FPGA inhibition network storm is:Prefilter module is arranged in FPGA, and module completes CRC after receiving message Check code and frame byte exclusive or code calculate, and compared with the cyclic redundancy check of former frame and frame byte exclusive or code, such as identical, discarding is worked as Preceding message, and cyclic redundancy check and frame byte exclusive or code are preserved and judged for next frame message;
Verification flows into prefilter module by message, and message queue waiting for CPU notice is put by preposition filtering packets It uploads;Message pretreatment is carried out by the message of prefilter, report is squeezed into after extracting the APPID and destination-mac address of outgoing packet Literary queue;
B. it includes that CPU application layers inhibit the process of network storm and CPU driving layers to inhibit network that the CPU, which inhibits the process of storm, The process of storm, wherein:
The CPU application layers inhibit the process of network storm to be:Application layer subscribes to the flow of message n to judge to subscribe to by statistics Whether message flow is normal, if being more than to receive threshold value rL [n] within the t1 times, it is believed that subscribe to message flow and then subscribe to message extremely Filter label is enabled, and triggering driving layer message is filtered using timesharing current limliting method, and packet filtering is subscribed to after duration t2, t2 Label is reset, and is closed driving layer packet filtering, is re-started statistics;
CPU driving layer inhibits the process of network storm to be:Read the application identities APPID and target of FPGA message queues MAC Address, if application identities APPID and destination-mac address and configuration is inconsistent, then it is assumed that be the message and notice of non-subscribed FPGA directly abandons the message;If the message that storm occurs in time t2 is when subscribing to message, i.e. APPID and destination-mac address When consistent with configuration, then under timesharing current limiting measures, only notice FPGA receives the message and will connect in timesharing opening period T The message received is put into CPU message bufferings, other periods, then directly notice FPGA abandoned the message;No storm normally subscribes to message Notice FPGA is directly placed into CPU message bufferings.
2. according to the method described in claim 1, it is characterized in that:Whether described judges the message flow subscribed in application layer Normally foundation is:More than 120% or more of normal discharge, it is believed that there are network storms for the message of device number, will then subscribe to Packet filtering label function carries out set, enables network storm and function, notice driving layer is inhibited to carry out current limliting processing.
3. according to the method described in claim 2, it is characterized in that:The storm inhibits to enable to use in duration t2 to divide When current limiting measures, timesharing open period T set in power-up initializing, timesharing open period T in driving layer notice FPGA on Storm message is passed, storm message is allowed to enter application layer, if device subscribes to multiframe message, only to occurring assert that the message of storm is real Apply timesharing current limiting measures.
4. according to the method described in claim 1-3 any one, it is characterised in that:The timesharing opens in period T, application layer The message of reception carries out storm differentiation in real time, and no storm is subscribed to packet filtering label after then waiting for t2 and reset, re-starts Storm identifies;If storm filter label is hold mode, storm is counted again and inhibits to enable the duration.
5. according to the method described in claim 1-3 any one, it is characterised in that:Under the timesharing current limiting measures, timesharing In open period T, if generating storm there are many message is subscribed to, each timesharing opens in period T and only receives a kind of storm report Text.
6. according to the method described in claim 1-3 any one, it is characterised in that:Prefilter mould described in the step A Block realizes FPGA filtering functions:Ethernet data flows into the prefilter module after Virtual MAC IP, using CRC check The code identical message adjacent with the identical network interface of the equal filtering of frame byte exclusive or code value.
7. according to the method described in claim 6, it is characterized in that:The frame byte exclusive or code value is calculated from the target of frame Location starts, to cyclic redundancy check byte before include frame byte realize exclusive or processing.
8. according to the method described in claim 1-3 any one, it is characterised in that:The FPGA extractions message Destination MAC Location uploads CPU with APPID, and after CPU issues control command, message is just put into CPU message bufferings by FPGA by DMA channel.
CN201510603376.6A 2015-09-21 2015-09-21 A kind of method that process layer devices resist network storm Expired - Fee Related CN105207817B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510603376.6A CN105207817B (en) 2015-09-21 2015-09-21 A kind of method that process layer devices resist network storm

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510603376.6A CN105207817B (en) 2015-09-21 2015-09-21 A kind of method that process layer devices resist network storm

Publications (2)

Publication Number Publication Date
CN105207817A CN105207817A (en) 2015-12-30
CN105207817B true CN105207817B (en) 2018-09-21

Family

ID=54955270

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510603376.6A Expired - Fee Related CN105207817B (en) 2015-09-21 2015-09-21 A kind of method that process layer devices resist network storm

Country Status (1)

Country Link
CN (1) CN105207817B (en)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106302005A (en) * 2016-08-04 2017-01-04 国电南瑞科技股份有限公司 The method of combining unit device dynamic monitoring IEC61850 92 network storm
CN106789448A (en) * 2017-02-22 2017-05-31 许继集团有限公司 A kind of network storm method for quick and device
CN107566294B (en) * 2017-07-06 2021-11-05 中国南方电网有限责任公司 Network storm suppression method applicable to IEC62439 standard
CN107835067A (en) * 2017-11-29 2018-03-23 长园深瑞继保自动化有限公司 GOOSE message based on programming device receives storm suppressing method
CN109698734B (en) * 2019-01-30 2020-11-06 南方电网科学研究院有限责任公司 Abnormal judgment method based on GOOSE dual-network receiving mechanism
CN110852903B (en) * 2019-11-15 2023-01-24 积成电子股份有限公司 Ladder type elastic network storm filtering method based on FPGA
CN111030944A (en) * 2019-11-25 2020-04-17 杭州迪普科技股份有限公司 Message sending method and equipment
CN111901356A (en) * 2020-08-05 2020-11-06 湖南能创科技有限责任公司 Intelligent substation process layer network storm suppression method and device and electronic equipment
CN116915765B (en) * 2023-09-12 2023-12-05 福建慧政通信息科技有限公司 File downloading management method and system

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103036893A (en) * 2012-12-21 2013-04-10 国电南瑞科技股份有限公司 One-layer network data processing method suitable for intelligent substation
CN103716239A (en) * 2013-12-24 2014-04-09 南京磐能电力科技股份有限公司 Network storm inhibition method in process layer of intelligent transformer station
CN104104558A (en) * 2014-06-27 2014-10-15 南京国电南自电网自动化有限公司 Network storm suppression method in intelligent transformer station process layer communication
CN104468392A (en) * 2014-06-25 2015-03-25 许继电气股份有限公司 Network windstorm restraining method of intelligent substation process level IED

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103036893A (en) * 2012-12-21 2013-04-10 国电南瑞科技股份有限公司 One-layer network data processing method suitable for intelligent substation
CN103716239A (en) * 2013-12-24 2014-04-09 南京磐能电力科技股份有限公司 Network storm inhibition method in process layer of intelligent transformer station
CN104468392A (en) * 2014-06-25 2015-03-25 许继电气股份有限公司 Network windstorm restraining method of intelligent substation process level IED
CN104104558A (en) * 2014-06-27 2014-10-15 南京国电南自电网自动化有限公司 Network storm suppression method in intelligent transformer station process layer communication

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
智能变电站过程层网络风暴的分析与处理;黄天啸,刘平,辛光明,王沛然,王媛;《中国电力》;20141130;第47卷(第11期);第112-115页 *

Also Published As

Publication number Publication date
CN105207817A (en) 2015-12-30

Similar Documents

Publication Publication Date Title
CN105207817B (en) A kind of method that process layer devices resist network storm
CN103716239B (en) The suppressing method of network storm in a kind of transformer station process layer
CN103312037B (en) Device and method for testing pressure of intelligent substation
US20140293794A1 (en) Token bucket-based traffic limiting method and apparatus
CN104243350B (en) A kind of exchange of electric power machine processing method for service stream and its system
Wei et al. Greenbench: A benchmark for observing power grid vulnerability under data-centric threats
Zhang et al. Modeling and simulation of data flow for VLAN-based communication in substations
CN109617923A (en) A kind of transformer station process layer network packet filtering retransmission unit
CN102546243A (en) Fault simulation analysis method for SP Guru-based electric power dispatching data network
CN103701718A (en) Dynamic buffer allocation method for transformer substation communication network switches
CN102324789A (en) Intelligent substation domain control system on basis of substation control layer GOOSE (Generic Object Oriented Substation Event) and implementing method
CN106712295A (en) Logical power distribution terminal based on distributed power distribution automation system and communication method thereof
Das et al. Process-to-bay level peer-to-peer network delay in IEC 61850 substation communication systems
CN104468392B (en) A kind of transformer station process layer IED network storm suppressing method
CN107070708A (en) A kind of transformer station process layer network communication performance emulation mode based on OPNET
CN204103598U (en) A kind of redundancy protection systems of transformer station
Qian et al. Real-time simulation and analyses of ship energy management system network
CN111884212B (en) Intelligent substation protection unit simulation system and construction method thereof
CN206251112U (en) A kind of intelligent substation relay protection network pressure automatic testing equipment
CN107566294A (en) A kind of network storm suppressing method suitable for IEC62439 standards
CN115695329A (en) Transformer substation service data deterministic transmission method and system and network switch
CN202488476U (en) Network feature extraction apparatus
Zhang et al. OPNET based simulation modeling and analysis of DoS attack for digital substation
Altaher et al. Evaluation of time-critical communications for IEC 61850-substation network architecture
CN112580173A (en) Information processing system and method for power distribution network system

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20180921

Termination date: 20190921

CF01 Termination of patent right due to non-payment of annual fee