CN104360836A - Network protocol formalization description tool under Android system environment - Google Patents

Network protocol formalization description tool under Android system environment Download PDF

Info

Publication number
CN104360836A
CN104360836A CN201410542038.1A CN201410542038A CN104360836A CN 104360836 A CN104360836 A CN 104360836A CN 201410542038 A CN201410542038 A CN 201410542038A CN 104360836 A CN104360836 A CN 104360836A
Authority
CN
China
Prior art keywords
protocol
analysis
node
network
definition
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.)
Granted
Application number
CN201410542038.1A
Other languages
Chinese (zh)
Other versions
CN104360836B (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.)
Xinjiang University
Original Assignee
Xinjiang University
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 Xinjiang University filed Critical Xinjiang University
Priority to CN201410542038.1A priority Critical patent/CN104360836B/en
Publication of CN104360836A publication Critical patent/CN104360836A/en
Application granted granted Critical
Publication of CN104360836B publication Critical patent/CN104360836B/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

The invention relates to a network protocol formalization description tool under an Android system environment and belongs to the field of computer networks. The network protocol formalization description tool comprises a set of protocol description and analysis flows and a tool chain and comprises a network data packet capturing module under an Android environment, a protocol formalization description analysis module and a data packet content analysis module, and a protocol analysis result is finally displayed. The tool is specifically implemented by defining a formalization description language analysis flow and key function of a typical network protocol and by virtue of a flow and element definition of data packet content analysis and a key function definition. The network protocol formalization description tool is applied to the field of relevant research and application for real-time network condition analysis, protocol quality analysis and safety analysis under an Android operating system. A network data packet can be captured under a normal flow condition, the system is slightly influenced by program design, and the formalization description operation of a data packet protocol can be normally and smoothly completed.

Description

Procotol formalized description instrument under Android system environment
Technical field
The present invention relates to computer network field, in particular to protocol engineering, Android operation system, procotol formalized description aspect, procotol formalized description instrument under espespecially a kind of Android system environment, the procotol formalized description under a kind of Android system environment and analytical approach, and protocol formal analysis method instrument based on this.
Background technology
android (Android) operating system is the Mobile operating system of increasing income based on Linux platform that Google announced in November, 2007, adopt the framework of software stack layers, mainly be divided into three parts: bottom, based on linux kernel work, is developed by C language, only provides basic function; Middle layer comprises function library and virtual machine, has C++ to develop; Upper strata is various application software, by each company self-developing.System construction drawing is as accompanying drawing 1.
The assembly of android system can be divided into following components:
(1) critical applications (Applications)
Android system is issued together with a series of core application bag, comprises Email client, SMS short message program, calendar, map, browser etc.
(2) application framework
Developer can access the API framework that core application uses completely, this design simplify reusing of assembly, and any one application program can issue its functional block, and other program can use.Comprising view, Content Provider, explorer etc.
(3) system cloud gray model storehouse
Comprise routine library and Runtime Library, can be used by the different assemblies in android system, provide most of functions of JAVA programming language core library.
(4) linux kernel
The core system of Android depends on Linux2.6 kernel, as security, memory management, management of process, procotol and driving model.Linux kernel is also as the level of abstraction between hardware and software stack.
What Protocol Formal Models was conventional mainly comprises three kinds:
(1) finite state machine FSM
FSM is the basis of many formalization methods, and it can realize and the combination of other formalization methods and conversion, and is easy to automatic realization, therefore in formalized description, occupies critical role.The protocol verification described based on FSM realizes by structure reachability tree.FSM simple, intuitive, but descriptive power is limited, therefore in the description of communication protocol, usually needs to expand it and optimize.
(2) Petri network
Petri network is a kind ofly suitable for concurrent, asynchronous and distributed system and describes and the figure mathematical tool analyzed, and become one of typical model of network protocol analysis and design at present.Petri network, in the specification and analysis of protocol system, has many analytical technologies, such as approachability analysis, invariant, structural theory, Formal Language Theory etc.In order to the application in different field, develop from basic petri net and the research of many expansions, comprise predicate/action Petri network, Time Petri Nets, stochastic Petri net etc.
(3) communication process calculation CCS
CCS is the basis of process algebra, the characteristic communicated between the timing of event and system when statement system that can be strict or process perform.Can with the character of tight algebraically calculation method indentification protocol, therefore it is also one of basic theories model of computer communication system.Use extension rule, restriction rule and other algorithms the expression formula comprising combination operators to be expanded to the expression formula not comprising combination operators, can verify whether the system that multiple process combines has activity and security.Its advantage be can be accurate the logical organization expressed one's gratitude and the timing of agreement, but intuitively nature of agreement can not be described.
Procotol formal description language is normally based on strict mathematical method, and there is the definition of strict syntax and semantics, the function of agreement, performance and behavior can be expressed accurately, completely, be widely used in the systems such as the analysis of agreement, checking, realization, test.
Procotol formal description language is divided into common part and expansion usually.Common part defines the relation between the ingredient of procotol and agreement, and expansion is used for some special details of define grid agreement.In the descriptive system of reality, the common part that system uses is all identical, and for expansion, each system has unique part, because the emphasis that each system will describe is different.
Extending mark language (XML) is a kind of descriptive language of widespread use, stems from standard guiding identifiable language SGML.XML is a kind of meta-mark-up language, and markup language that can be different according to different requirement definition, its grammer mainly comprises element, processing instruction, annotation, attribute etc.The feature of XML is mainly reflected in following 4 points: the description of (1) information is what to separate with information processing; (2) XML document has self-description ability; (3) XML has very strong opening and extendability; (4) XML document has verifiability.
The existing research for Android system, the research in protocol formal describes is less, and is partial at theoretic.Existing system or instrument, have certain restriction to network traffics usually, has larger impact to installed system simultaneously, because which limit application.
Summary of the invention
The object of the present invention is to provide the procotol formalized description instrument under a kind of Android system environment, solve the problems referred to above that prior art exists, major function of the present invention catches the packet flowing through current system, and the data in packet are resolved, generate and output protocol formalized description.The function of system is mainly divided into three large modules: network data acquisition module, protocol formal describe parsing module and packet content parsing module.
Above-mentioned purpose of the present invention is achieved through the following technical solutions:
Procotol formalized description instrument under Android system environment, comprises
(1) based on the network data acquisition module of Android, part of data acquisition adopts the Tcpdump instrument of increasing income to realize, and step comprises installation and the authorization method of Tcpdump under Android environment, and obtains the store and management method three after data;
(2) protocol formal describes parsing module, the definition of the flow process that the protocol language comprising a kind of four steps is resolved and two Key Functions:
(2.1) program current path obtains;
(2.2) ProtocolBuilder object is constructed;
(2.3) recursionPROTree function is called;
(2.4) dom tree is obtained;
(2.5) two Key Functions definition: recursionPROTree () function, and addToBuilderList () function;
(3) packet content parsing module, comprises a kind of packet process of analysis of five steps:
(3.1) Netpdl resolves;
(3.2) dom tree root node is obtained;
(3.3) entrance of an agreement definition is searched;
(3.4) in protocol container, agreement is created;
(3.5) protocol elements is constructed.
Described packet content parsing module, comprises the definition that four are resolved element class:
(4.1) in order to carry out the simple PRO_Item () described to node;
(4.2) in order to determine the whether visible PRO_ItemViewable () of node;
(4.3) in order to carry out the PRO_AbstractElement () of abstractdesription to node;
(4.4) and as the PRO-Element () of base class, the data element in protocol architecture and control element is wherein comprised.
Described packet content parsing module comprises four Key Functions of resolving:
(5.1) for constructing the getProInfo () of protocol node object;
(5.2) for the getNextNodeForData () of the son field of significant present field under obtaining current data;
(5.3) for constructing the createProtocol () of protocol architecture;
(5.4) setAssoc () and for arranging the set membership in protocol architecture between element.
The realization flow that tools chain disclosed by the invention and method describe in order to provide a kind of protocol formal run under Android environment, stated by formalization, promote following further for the united analysis ability of different agreement, contribute to the network protocol analysis under the new Android system of exploitation and content auditing instrument, make up the deficiency of this area research current and application, certain using value can be had in scientific research and industrial community.
Beneficial effect of the present invention is: through on instrumental function, catch packet loss, test on system performance impact etc., compared with prior art, main advantage of the present invention is to catch network packet in normal discharge situation, the impact of program design on system is little, can the work of normal complete paired data packet protocol formalized description smoothly.
Accompanying drawing explanation
Accompanying drawing described herein is used to provide a further understanding of the present invention, forms a application's part, and illustrative example of the present invention and explanation thereof, for explaining the present invention, do not form inappropriate limitation of the present invention.
Fig. 1 is Android system architectural schematic of the present invention;
Fig. 2 is that protocol formal of the present invention describes process of analysis schematic diagram;
Fig. 3 is recursionPROTree () function schematic flow sheet of the present invention;
Fig. 4 is addToBuilderList () function schematic flow sheet of the present invention;
Fig. 5 is packet content process of analysis schematic diagram of the present invention;
Fig. 6 is the storage schematic diagram of capture-data bag of the present invention;
Fig. 7 is Transmission Control Protocol structure elucidation schematic diagram of the present invention;
Fig. 8 is packet content analysis result schematic diagram of the present invention.
Embodiment
Detailed content of the present invention and embodiment thereof is further illustrated below in conjunction with accompanying drawing.
See Fig. 1 to Fig. 8 institute taste, the procotol formalized description instrument under Android system environment of the present invention, comprises
(1) based on the network data acquisition module of Android, adopt the Tcpdump instrument of increasing income to realize, step comprises installation and the authorization method of Tcpdump under Android environment, and obtains the store and management method three after data;
(2) protocol formal describes parsing module, the definition of the flow process that the protocol language comprising a kind of four steps is resolved and two Key Functions, four steps comprise program current path and obtain, construct ProtocolBuilder object, call recursionPROTree function, obtain DOM; Two Key Functions definition comprise recursionPROTree () function, and addToBuilderList () function;
(3) packet content parsing module, comprises a kind of packet process of analysis of five steps, and Netpdl resolves, and obtains dom tree root node, searches the entrance of an agreement definition, in protocol container, creates agreement, structure protocol elements.
Described packet content parsing module, comprise the definition that four are resolved element class: for constructing the getProInfo () of protocol node object, for the getNextNodeForData () of the son field of significant present field under obtaining current data, for constructing the createProtocol () of protocol architecture, and for arranging the setAssoc () of the set membership in protocol architecture between element;
Described packet content parsing module, comprise four Key Functions of resolving: in order to carry out the simple PRO_Item () described to node, in order to determine the whether visible PRO_ItemViewable () of node, in order to carry out the PRO_AbstractElement () of abstractdesription to node, and as the PRO-Element () of base class, wherein comprise the data element in protocol architecture and control element.
embodiment:
1, based on the network data acquisition of Android
Network data acquisition module based on Android is mainly carried out the filtration of network packet and catches.Tcpdump instrument is adopted to realize collection and the management function of packet.Process is as follows:
(1) Tcpdump is uploaded in mobile phone/system/bin/ file, and gives authority by Tcpdump, be i.e. action command adb shell chmod 6755/system/bin/Tcpdump
(2) run Tcpdump, prerequisite is that operating system obtains root authority, otherwise Tcpdump cannot capture-data bag.It is below the order of capture-data bag.
adb shell Tcpdump -i any -p -s 0 -w /sdcard/capture.pcap
# "-i any": listen on any network interface
# "-p": disable promiscuous mode (doesn't work anyway)
# "-s 0": capture the entire packet
# "-w": write packets to a file (rather than printing to stdout)
(3), after packet capture, storage format is .cap, as shown in Figure 6.
2, protocol formal describes and resolves
Various protocols structure organization is become a tree structure by formal description language, DOM resolver is adopted this tree structure to be resolved, extract the node in structure and attribute thereof, and the set membership between the node in tree and corresponding attribute and node is encapsulated, finally formed and be used for the dom tree of storage protocol structure and agreement relevant information.
The present invention adopts the node of dom tree to formalized description to analyze, it can access in a kind of mode independent of platform and language and revise the content and structure of a document, has packaged ProtocolBuilder class to define and perform the associative operation of DOM in java language.The API that ProtocolBuilder uses DOM to provide extracts name and the attribute construction proArrayList object of each node, forms protocol tree.
Set up Document object, the getChildNodes () method using Document object to provide obtains the root node of institute's protocols having, calls recursionPROTree method afterwards and can generate dom tree.Protocol formal describes process of analysis as shown in Figure 2:
Key Functions design is as follows.
(1) recursionPROTree () function.Effect obtains a node, under being mounted to father node, and the child node of this node of recursive generation.Nodes parameter is all child nodes comprised in father node, and level parameter is the degree of depth of record current recursion, and value determines the relation between node thus.The process flow diagram of function as shown in Figure 3.
(2) addToBuilderList () function.Effect is that the node by obtaining obtains nodal information, and node is converted to node object, and nodal information is converted to the attribute of node object, and by node object return information, process flow diagram is as accompanying drawing 4.
TCP layer protocol in caught packet structure being described, can obtaining from describing result the actual value that in TCP layer protocol, each field is corresponding in the packet, and the option that current TCP protocol is subsidiary.Transmission Control Protocol is resolved as shown in Figure 7.The explanation of field of resolving is as follows:
In first <field> field, acquisition be information to the confirmation of packet in Transmission Control Protocol, length is four bytes.
In second <field> field, what obtain is TCP packet header length, because the header packet information of TCP is not fixed, can change dynamically, so the real data of this field can be utilized Option data analysis backward according to Option field.
Last <field> field is the option field in TCP, and the length dynamically generated by the TCP packet header file size determined before, mainly carries the additional information required for Transmission Control Protocol.Protocol length is determined by TCP packet header length.
3, packet content is resolved
That the form of data wherein according to prior regulation is shown to packet Context resolution.It is form another kind of data structure from dom tree that protocol architecture is resolved, and a data Packet analyzing out, and can be called protocol analysis for the parsing of a specific packet by this structure.
For an actual packet, its protocol format is fixing, and each field has corresponding value.In analysis result subtree, tree structure is identical with protocol architecture, just adds the field position in the packet describing and will show in each node.After data Packet analyzing, can generate a minor structure of protocol architecture, the combination of certain the several protocol architecture namely in protocol architecture, it is the real composition of this packet.By classes such as data element, control element, expression formula, agreements, more just protocol architecture can be generated according to certain algorithm.The process that packet content is resolved as shown in Figure 5.
The algorithm that protocol architecture is resolved is as follows:
Step1: the root node obtaining dom tree from protocol architecture analysis result;
Step2: the traversal interface lookup namespace node utilizing dom tree node to provide is the node of " protocol ", namely searches an agreement definition entrance;
Step3: create this agreement, and this agreement is put into protocol container;
Step4: travel through its child node from <protocol> node, according to the corresponding element of dissimilar establishment of node, until all child nodes of <protocol> are all traversed;
Whether also Step5: search and whether also have namespace node to be the node of <protocol>, namely search protocols having definition, if had, repeats the 3rd, 4 steps; If not, exit, complete protocol architecture and resolve.
Packet content is resolved key element class and is defined as follows:
(1)PRO_Item()
CXMLItem is the simple description to node, and its data stored are that in nodal community list, corresponding attribute name is the property value of " name ".
(2)PRO_ItemViewable()
For in the process that protocol package is resolved, not all node is all visible, only has back end to be only visible, so the PRO_ItemViewable node that to be a class special, their determine that whether node is visible.
(3)PRO_AbstractElement()
PRO_AbstractElement is the abstractdesription to node.It provide set membership between node and agreement corresponding to this element, and provide important function showSummary () and getNextNode ().
(4)PRO_Element()
PRO_Element is PRO_Item, PRO_ItemViewable, and the base class of PRO_AbstractElement.Data element in protocol architecture and control element are all inherited from PRO_Element.
The Key Functions definition that packet content is resolved:
(1)getProInfo()
For protocol node object formation, function is compared by the structure of existing data to field and calculate.For displayable data field, the length according to field obtains data and data is stored in object corresponding to this field, and the pointer pointing to current parse position is moved backward to suitable position; For not displayable control field, following calculating is carried out to the structure of this field:
For IF structure, need the result of calculation expression; For Switch structure, it is eligible that this function needs to calculate which sub-Case structure; For Loop structure, this function needs the termination condition of computation cycles.
(2)getNextNodeForData()
In the process of resolving, obtain the son field of the present field having a meaning under current data.For data field, when son field is all non-existent, and therefore main parameter is control field: for IF field, if conditional expression is true, so returns minor structure; For Switch field, return qualified sub-Case structure; For Loop field, return minor structure, until till meeting circulation exit criteria.
(3)createProtoeol()
Use during structure protocol architecture, for each agreement by this construction of function protocol architecture.
(4)setAssoc()
For arranging the set membership in protocol architecture between element.
Figure 8 illustrates the Context resolution result of ethernet and the ip agreement in packet.
The foregoing is only preferred embodiment of the present invention, be not limited to the present invention, for a person skilled in the art, the present invention can have various modifications and variations.All any amendments made for the present invention, equivalent replacement, improvement etc., all should be included within protection scope of the present invention.

Claims (3)

1. the procotol formalized description instrument under Android system environment, is characterized in that: comprise
(1) based on the network data acquisition module of Android, part of data acquisition adopts the Tcpdump instrument of increasing income to realize, and step comprises installation and the authorization method of Tcpdump under Android environment, and obtains the store and management method three after data;
(2) protocol formal describes parsing module, the definition of the flow process that the protocol language comprising a kind of four steps is resolved and two Key Functions:
(2.1) program current path obtains;
(2.2) ProtocolBuilder object is constructed;
(2.3) recursionPROTree function is called;
(2.4) dom tree is obtained;
(2.5) two Key Functions definition: recursionPROTree () function, and addToBuilderList () function;
(3) packet content parsing module, comprises a kind of packet process of analysis of five steps:
(3.1) Netpdl resolves;
(3.2) dom tree root node is obtained;
(3.3) entrance of an agreement definition is searched;
(3.4) in protocol container, agreement is created;
(3.5) protocol elements is constructed.
2. the procotol formalized description instrument under Android system environment according to claim 1, is characterized in that: described packet content parsing module, comprises the definition that four are resolved element class:
(4.1) in order to carry out the simple PRO_Item () described to node;
(4.2) in order to determine the whether visible PRO_ItemViewable () of node;
(4.3) in order to carry out the PRO_AbstractElement () of abstractdesription to node;
(4.4) and as the PRO-Element () of base class, the data element in protocol architecture and control element is wherein comprised.
3. the procotol formalized description instrument under Android system environment according to claim 1 and 2, is characterized in that: described packet content parsing module comprises four Key Functions of resolving:
(5.1) for constructing the getProInfo () of protocol node object;
(5.2) for the getNextNodeForData () of the son field of significant present field under obtaining current data;
(5.3) for constructing the createProtocol () of protocol architecture;
(5.4) setAssoc () and for arranging the set membership in protocol architecture between element.
CN201410542038.1A 2014-10-15 2014-10-15 Network protocol formalization description tool under Android system environment Expired - Fee Related CN104360836B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410542038.1A CN104360836B (en) 2014-10-15 2014-10-15 Network protocol formalization description tool under Android system environment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410542038.1A CN104360836B (en) 2014-10-15 2014-10-15 Network protocol formalization description tool under Android system environment

Publications (2)

Publication Number Publication Date
CN104360836A true CN104360836A (en) 2015-02-18
CN104360836B CN104360836B (en) 2017-05-17

Family

ID=52528100

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410542038.1A Expired - Fee Related CN104360836B (en) 2014-10-15 2014-10-15 Network protocol formalization description tool under Android system environment

Country Status (1)

Country Link
CN (1) CN104360836B (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108183890A (en) * 2017-12-18 2018-06-19 武汉精伦电气有限公司 The analytic method and system of a kind of data communication protocol

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101197849A (en) * 2007-12-21 2008-06-11 腾讯科技(深圳)有限公司 Method and device for commuting internet page into wireless application protocol page
CN102932469A (en) * 2012-11-09 2013-02-13 北京奇虎科技有限公司 Method for achieving client browser and client browser
CN103428180A (en) * 2012-05-18 2013-12-04 南京中兴力维软件有限公司 SIP protocol data transmission method and system based on XML

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101197849A (en) * 2007-12-21 2008-06-11 腾讯科技(深圳)有限公司 Method and device for commuting internet page into wireless application protocol page
CN103428180A (en) * 2012-05-18 2013-12-04 南京中兴力维软件有限公司 SIP protocol data transmission method and system based on XML
CN102932469A (en) * 2012-11-09 2013-02-13 北京奇虎科技有限公司 Method for achieving client browser and client browser

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
努尔布力,解男男等: "一种基于知识表示的多步攻击规划问题描述模型", 《电子学报》 *
李国庆,安建平等: "基于ESTELLE的网络协议建模方法", 《电子学报》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108183890A (en) * 2017-12-18 2018-06-19 武汉精伦电气有限公司 The analytic method and system of a kind of data communication protocol
CN108183890B (en) * 2017-12-18 2021-03-02 武汉精伦电气有限公司 Method and system for analyzing data communication protocol

Also Published As

Publication number Publication date
CN104360836B (en) 2017-05-17

Similar Documents

Publication Publication Date Title
CN111123888B (en) Industrial control protocol testing method and system, electronic equipment and storage medium
CN107292170B (en) Method, device and system for detecting SQL injection attack
Madani et al. Wireless sensor networks: modeling and simulation
Guessi et al. Checking the architectural feasibility of systems-of-systems using formal descriptions
CN112653582A (en) Semi-passive industrial control network security analysis tool and method based on Bayesian attack graph
Bölöni et al. Yaes: a modular simulator for mobile networks
Juszczyszyn Verifying enterprise's mandatory access control policies with coloured Petri nets
CN104360836A (en) Network protocol formalization description tool under Android system environment
Alhumaidan et al. Possible improvements in UML behavior diagrams
CN102104609B (en) Method for analyzing safety defect of network protocol
Van Den Berg et al. Designing cyber-physical systems with aDSL: A domain-specific language and tool support
Tonjes et al. Automated testing of context-aware applications
Wirsing et al. Design and analysis of cloud-based architectures with KLAIM and Maude
Ebeid et al. Extensions to the UML profile for MARTE for distributed embedded systems
Marchetto et al. A framework for user-friendly verification-oriented VNF modeling
Berrachedi et al. Towards the Formal Modeling Methodology of WSN through the Transformation of SysML into DSPNs.
Rygielski Flexible modeling of data center networks for capacity management
Ge et al. A Hybrid Attack Graph Analysis Method based on Model Checking
Xu et al. Topological structure analysis of software using complex network theory
Le et al. CODE-WSN: A formal modelling tool for congestion detection on wireless sensor networks
Bernardo et al. TwoEagles: A model transformation tool from architectural descriptions to queueing networks
Vörös et al. Advanced saturation-based model checking of well-formed coloured Petri nets
Hommes et al. Automated source code extension for debugging of openflow based networks
Yan et al. Nafuzzer: Augmenting network protocol fuzzers via automatic template and seed generation
Berrachedi et al. Validation of a SysML based design for wireless sensor networks

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: 20170517

Termination date: 20211015

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