CN114666287B - State programming method with hierarchical state automatic maintenance function - Google Patents

State programming method with hierarchical state automatic maintenance function Download PDF

Info

Publication number
CN114666287B
CN114666287B CN202011421855.3A CN202011421855A CN114666287B CN 114666287 B CN114666287 B CN 114666287B CN 202011421855 A CN202011421855 A CN 202011421855A CN 114666287 B CN114666287 B CN 114666287B
Authority
CN
China
Prior art keywords
state
area
message
index
statement
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.)
Active
Application number
CN202011421855.3A
Other languages
Chinese (zh)
Other versions
CN114666287A (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.)
Zhongkehai Suzhou Network Technology Co ltd
Institute of Acoustics CAS
Original Assignee
Zhongkehai Suzhou Network Technology Co ltd
Institute of Acoustics CAS
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 Zhongkehai Suzhou Network Technology Co ltd, Institute of Acoustics CAS filed Critical Zhongkehai Suzhou Network Technology Co ltd
Priority to CN202011421855.3A priority Critical patent/CN114666287B/en
Publication of CN114666287A publication Critical patent/CN114666287A/en
Application granted granted Critical
Publication of CN114666287B publication Critical patent/CN114666287B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/901Buffering arrangements using storage descriptor, e.g. read or write pointers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

The invention discloses a state programming method with hierarchical state automatic maintenance, which is applicable to SDN switches and comprises the following steps: the SDN switch obtains a state statement from the outside, and the obtained state statement is from but not limited to an SDN controller; states have different levels, and the attributes of a state are configured or assigned by a set of attributes called state declarations; storing the state in a state region, the state region being referenced by an index; the SDN switch may obtain an entry from the outside, where the obtained entry may be from, but is not limited to, an SDN controller; actions in the action field of an entry may use state; the space occupied by the status in the status area is reclaimed. The method of the invention stores the state in the use state area of the SDN switch by classifying the state, and automatically maintains the distribution and recovery of the occupied space of the state in the state area by using the state statement, thereby reducing the difficulty of using the state, increasing the flexibility of using the state and increasing the utilization rate of the state space in the SDN switch.

Description

State programming method with hierarchical state automatic maintenance function
Technical Field
The invention relates to the field of network technology and communication technology, in particular to a state programming method with automatic hierarchical state maintenance.
Background
The software defined network (SDN, software Define Networks) decouples the control plane and the data plane of the network, and adopts a unified southbound interface between the control plane and the data plane, thereby effectively reducing the difficulty of network equipment management and network application deployment and improving the flexibility of the network. The SDN controller in the control plane generates a processing decision of the network message, and transmits the processing decision to the SDN switch in the data plane in the form of a flow table through the southbound interface, and the SDN switch processes the network message according to the rule of the flow table. The network architecture of the SDN brings programmability and flexibility to the network and accelerates the innovation of network application.
Although SDN solves the problems in conventional networks to some extent, many challenges remain in terms of scalability. Because the SDN switch cannot record the states locally, all the states are stored on the SDN controller, when a network event occurs, the SDN switch needs to upload a message triggering a state change to the SDN controller to update the states. After updating the state, the SDN controller generates a processing decision of the message, and informs the decision to the SDN switch by using a southbound interface. The centralized network architecture of the SDN determines that a few SDN controllers need to manage a plurality of SDN switches, so that a mechanism for recording states by the SDN controllers limits the expandability of an SDN data plane and becomes an important problem to be solved urgently.
The key to solving the above problem is to give the SDN switch the ability to actively process messages. The current common practice in the industry is to record a state in an SDN switch and change a message processing decision according to a local state to implement active processing of a message by the SDN switch. However, the existing methods (such as P4 and Open State) still have a plurality of defects, on one hand, strict limitations exist on the number and length of the recorded states, and the limitation of State use in SDN switches is caused; on the other hand, there is a lack of efficient management of state space inside an SDN switch, applications requiring usage states on an SDN controller come from managing allocation and reclamation of state space in an SDN switch. When a plurality of applications are deployed in the same SDN switch and the plurality of applications all need to use states, the problems of fully utilizing and reasonably distributing state space, ensuring consistency, correctness and the like of state information still face serious challenges.
Disclosure of Invention
The present invention aims to overcome the technical drawbacks described above, and proposes a state programming method with hierarchical state automatic maintenance, the method being applicable to an SDN switch, the method comprising:
the SDN switch may obtain a state statement from outside, where the obtained state statement may be from, but is not limited to, an SDN controller; states have different levels, and the attributes of a state are configured or assigned by a set of attributes called state declarations;
storing the state in a state region, the state region being referenced by an index;
the SDN switch may obtain an entry from the outside, where the obtained entry may be from, but is not limited to, an SDN controller; actions in the action field of an entry may use state;
the space occupied by the status in the status area is reclaimed.
As an improvement to the above method, the state value is, but is not limited to, a binary, ten, or hexadecimal value.
As an improvement to the above method, the state declaration includes, but is not limited to:
(1) A state identifier, which uniquely identifies the state in the state region;
(2) A level, a level illustrating a status;
(3) A status field identifier indicating a status field in which the status is stored;
(4) Length, length of state, unit of length is byte or bit;
(5) A state declaration identifier that uniquely identifies a state declaration;
(6) The reference number, which indicates the total number of entries for which the action uses this state, is present in the action field of the entry.
As an improvement of the above method, the grades are divided according to the shared message range, the shared message range of the high grade is not smaller than the shared message range of the low grade, only one message is in the shared message range of the lowest grade, all messages in the SDN switch are in the shared message range of the highest grade, the grades can be expressed by but not limited to positive integers, and the higher the number, the higher the grade is.
As an improvement of the method, the messages within the same shared message range have a matching relationship based on the message fields, wherein the matching relationship includes, but is not limited to, that all fields of the message are matched with specific numerical values, that part of fields of the message are matched with any numerical values, and that fields of the message are not matched with any numerical values.
As an improvement of the above method, the status area is an area for storing status values, the status area is a string structure with definite length in sequence, the elements in the string can be but not limited to bits, bytes and characters, a status is stored in the status area in a continuous sequence number mode, the status area has the capability of performing position shifting and element number calculation on the stored status, the status area has unique identification, and the status stored in the status area has the same level.
As an improvement of the method, the index is determined when the state area is generated, the index can be, but is not limited to, a pointer, directly or indirectly points to the state area, the state area can be referenced by the index, and the index has a corresponding relation with a message segment matching relation, and the message segment matching relation is a message segment matching relation of a shared message range corresponding to the level of the storage state in the state area.
As an improvement of the above method, the state is stored in the state area, based on the state area identification in the state declaration describing the state, it is judged whether a state area has a continuous space with a length not less than that in the state declaration, if so, the state is stored in the state area, and the position of the state in the state area is associated with the state identification in the state declaration, otherwise, the state is abandoned to be stored in the corresponding state area.
As an improvement of the method, the actions in the action fields of the table items can use states, the parameters of the actions in the action fields of the table items can be state statement identifications, when the SDN switch adds the table items, the state statement represented by the state statement identifications in the action parameters is obtained, the reference number in the state statement is added by 1, when the action processes a message, the state statement represented by the state statement identifications in the action parameters is obtained, the shared message range is determined according to the grade in the state statement, an index is obtained through the message field matching relation of the shared message range, and the read-write operation of the state is performed by using the obtained index and the state identifications in the state statement, wherein the index is used for referencing a state area, and the state identification indicates the position of the state in the state area.
As an improvement of the above method, the space occupied by the recycling state in the state zone specifically includes: when the action of the state is used and one table item is deleted, acquiring a state statement represented by a state statement identifier in the action parameter, subtracting 1 from the reference number of the state statement, determining a shared message range according to the grade in the state statement when the reference number of the state statement is subtracted to 0, acquiring an index through a message segment matching relation of the shared message range, referring to a state area through the acquired index, deleting a state in the state area, acquiring the position of the state in the state area through the state identifier in the state statement, wherein the length of the state is equal to the length in the state statement, and releasing the state area space occupied by the state after deleting the state.
The invention has the advantages that:
the method of the invention stores the states in the use state area of the SDN switch by classifying the states, and automatically maintains the distribution and recovery of the occupied space of the states in the state area by using the state statement, thereby providing a state programming method with automatic maintenance of the classified states for users, reducing the difficulty of using the states, increasing the flexibility of using the states and increasing the utilization rate of the state space in the SDN switch.
Drawings
FIG. 1 (a) is a schematic diagram of the present invention generating a state field storing a level 1 state;
FIG. 1 (b) is a schematic diagram of the present invention generating a state field storing a level 2 state;
FIG. 1 (c) is a schematic diagram of the present invention generating a status field storing a 3-level status;
FIG. 1 (d) is a schematic diagram of the present invention generating a status field storing a level 4 status;
FIG. 2 is a schematic diagram of a status field storage status of the present invention;
FIG. 3 is a schematic diagram of the action usage state in the entry action domain of the present invention;
FIG. 4 is a schematic diagram of the state of the invention in which space occupied in the state zone is reclaimed.
Detailed Description
The technical scheme of the invention is further described in detail through the drawings and the embodiments.
For the purpose of making the objects, technical solutions and advantages of the present invention more apparent, the technical solutions of the present invention will be clearly and completely described below with reference to the accompanying drawings in the embodiments of the present invention, and it is apparent that the described embodiments are some embodiments of the present invention, but not all embodiments. All other embodiments, which are derived by a person skilled in the art from the embodiments according to the invention without creative efforts, fall within the protection scope of the invention.
In the following embodiments, the 4 shared message ranges, which are a single message, all messages matching the same table entry, all messages entering the same flow table, and all messages in the switch, are divided into 4 classes, where the classes are represented by positive integers, and the state classes corresponding to the 4 shared message ranges are respectively a 1-class state, a 2-class state, a 3-class state, and a 4-class state.
The state area is a one-dimensional array taking bytes as a unit, the state area is generated, an SDN switch allocates a memory space with specified byte length for the state area, a pointer pointing to the state area is generated, the SDN switch takes the pointer as an index of the state area, the specific byte length of the generated state area is determined by the configuration of the SDN switch, the state area length for storing 1, 2, 3 and 4-level states is 16 bytes, 32 bytes and 64 bytes respectively, and the serial numbers of the bytes in the state area are 1-16, 1-32 and 1-64 respectively.
Fig. 1 (a) is a method for generating a state area storing a 1-level state, after an SDN switch receives a message P, generating a state area storing the 1-level state, where the state area identifier of the state area is P1, determining the state area identifier storing the 1-level state according to the sequence that the message arrives at the SDN switch, taking a pointer ptr1 pointing to the state area as an index of the state area, recording the index in a structure storing the message P in the SDN switch, and the action of processing the message P in the SDN switch can obtain the index recorded in the message P.
Fig. 1 (b) is a method for generating a state area storing a 2-level state, when an SDN switch adds an entry E, generating a state area storing the 2-level state, where the state area identifier of the state area is E1, determining the state area identifier storing the 2-level state according to the order of the entries in a flow table, taking a pointer ptr2 pointing to the state area as an index of the state area, and recording the index in a structure storing the entry E in the SDN switch, where an action in an action domain of the entry E can obtain the index recorded in the entry E.
Fig. 1 (c) is a method for generating a state area storing a 3-level state, when an SDN switch adds a flow table T, generating a state area storing the 3-level state, generating a state area identifier of the state area as T1, determining the state area identifier storing the 3-level state according to the sequence of the flow table in the SDN switch, taking a pointer ptr3 pointing to the state area as an index of the state area, and recording the index in a structure storing the flow table T in the SDN switch, wherein the index recorded in the flow table T can be obtained by all actions in the table entry action domain in the flow table T.
Fig. 1 (d) is a method for generating a state area storing a 4-level state, after an SDN switch is started, generating a state area storing the 4-level state, generating a state area identifier of the state area as S1, determining the state area identifier storing the 4-level state according to an ID of the SDN switch, taking a pointer ptr4 pointing to the state area as an index of the state area, and recording the index in a public area of the SDN switch, wherein the index recorded in the public area of the SDN switch can be obtained by actions in all table entry action areas in all flow tables in the SDN switch.
Fig. 2 is a state field storage state diagram.
The SDN switch uses a state space table to record a continuous space of storable states of each state area, the state space table uses a state area identifier to represent one state area, and a range of byte sequence numbers is used to describe the continuous space of storable states of the state area, for example, the continuous space of storable states of the state area T1 is {4,32}, which indicates that the continuous space from the 4 th byte to the 32 th byte of the state area T1 can store states.
In fig. 2, the SDN switch obtains a state statement from the SDN controller, the SDN uses a state zone identifier T1 in the state statement to search a state space table, and obtains that a continuous space of storable states of the state zone T1 is {4,32}, where the space length is 28 is greater than a length 4 in the state statement, then the 4 th byte to the 8 th byte in the state zone T1 are used to store the state, and a sequence number 4 of a first byte in the state zone for storing the state is used as a state identifier of the state. After the state field T1 stores this state, the continuous space of storable states becomes {8,32}.
FIG. 3 is a schematic diagram of the usage status of actions in the action field of an entry.
The action OUTPUT in the action domain of the table item e1 comprises a state statement identifier state1, the state statement represented by the identifier is obtained, the reference number in the state statement is added with 1, the reference number of the state statement is equal to 1 after the addition of 1, and since the level in the state statement is 3, the index ptr3 recorded in the flow table T where the table item e1 is located is obtained, ptr3 is a pointer pointing to a state area, and since the state identifier in the state statement is 0 and the length is 4 bytes, the state used by the action is stored in the first 4 bytes of the state area T1, and the state value is determined to be 0x00000001 in a comprehensive way.
FIG. 4 is a schematic diagram of the state being reclaimed from the space occupied in the state zone.
When the entry e1 is deleted, since the OUTPUT parameter in the entry e1 action field contains the state declaration identification state1, the reference number of the state declaration identification state1 representing the state declaration is reduced by 1, the reference number is reduced by 1 and becomes 0, and the space occupied by the state described by the state declaration in the state area is recovered.
Since the level in this state declaration is 3, the index ptr3 recorded in the flow table T in which the entry e1 is located is acquired, ptr3 is a pointer to the state area, one state in this state area is deleted, the position of the deleted state in the state area is determined by the state identification and the length in the state declaration, and since the state identification in this state declaration is 0 and the length is 4, the data of the first 4 bytes in the state area T1 is deleted, and this space is released. After release, the continuous space of storable states of the state region T1 in the state space table is updated from {4,32} to {0, 32} according to the state region identification T1 in the state declaration.
Finally, it should be noted that the above embodiments are only for illustrating the technical solution of the present invention and are not limiting. Although the present invention has been described in detail with reference to the embodiments, it should be understood by those skilled in the art that modifications and equivalents may be made thereto without departing from the spirit and scope of the present invention, which is intended to be covered by the appended claims.

Claims (8)

1. A state programming method with hierarchical state automatic maintenance, the method being applicable to an SDN switch, the method comprising:
the SDN switch obtains a state statement from the outside, and the obtained state statement is from an SDN controller; states have different levels, and the attributes of a state are configured or assigned by a set of attributes called state declarations;
storing the state in a state region, the state region being referenced by an index;
the SDN switch obtains an item from the outside, and the obtained item comes from an SDN controller; action usage status in the action field of the entry;
reclaiming the space occupied by the state in the state area;
the state declaration includes:
(1) A state identifier, which uniquely identifies the state in the state region; the status identifier is a binary, ten or hexadecimal value,
(2) A level, a level illustrating a status;
(3) A status field identifier indicating a status field in which the status is stored;
(4) Length, length of state, unit of length is byte or bit;
(5) A state declaration identifier that uniquely identifies a state declaration;
(6) A reference number indicating a total number of entries for which the action uses this state in the action field of the entry;
the method comprises the steps that when an SDN switch adds an item, a state declaration represented by the state declaration identifier in the item is obtained, the reference number in the state declaration is increased by 1, when a message is processed in an action, the state declaration represented by the state declaration identifier in the item is obtained, a shared message range is determined according to the level in the state declaration, an index is obtained through the message field matching relation of the shared message range, and the obtained index and the state identifier in the state declaration are used for performing state reading and writing operation, wherein the index is used for referencing a state area, and the state identifier indicates the position of the state in the state area.
2. The state programming method with hierarchical state automatic maintenance of claim 1, wherein the state value is a binary, decimal or hexadecimal value.
3. The state programming method with hierarchical state automatic maintenance according to one of claims 1 to 2, wherein the levels are classified according to a shared message range, the shared message range of a high level is not smaller than the shared message range of a low level, only one message is in the shared message range of the lowest level, all messages in an SDN switch are in the shared message range of the highest level, the levels are expressed by positive integers, and the higher the number is, the higher the level is.
4. The state programming method with hierarchical state automatic maintenance according to claim 3, wherein messages within the same shared message range have a matching relationship based on message fields, wherein the matching relationship includes that all fields of a message match specific values, part of fields of a message match any values, and fields of a message do not match any values.
5. The state programming method with automatic maintenance of hierarchical states according to claim 1, wherein the state area is an area for storing state values, the state area is a string structure with a definite length in sequence, elements in the string are bits, bytes or characters, a state is stored in the state area in a continuous sequence number manner, the state area has the capability of performing position shifting and element number calculation on the stored state, the state area has a unique identification, and the states stored in the state area have the same level.
6. The method according to claim 5, wherein the index is determined when the status area is generated, the index is a pointer, the index points to the status area directly or indirectly, the status area is referenced by the index, the index has a correspondence with a message segment matching relationship, and the message segment matching relationship is a message segment matching relationship of a shared message range corresponding to a level of the storage status in the status area.
7. The state programming method with hierarchical state automatic maintenance according to claim 6, wherein the states are stored in the state areas, and based on the state area identification in the state declaration describing the states, it is judged whether a state area has a continuous space with a length not less than the length in the state declaration, if so, the states are stored in the state area, and the positions of the states in the state area are associated with the state identification in the state declaration, otherwise, the states are abandoned from being stored in the corresponding state area.
8. The state programming method with hierarchical state automatic maintenance according to claim 1, characterized in that said reclaiming the space occupied by the state in the state zone, in particular comprises:
when the action of the state is used and one table item is deleted, acquiring a state statement represented by a state statement identifier in the action parameter, subtracting 1 from the reference number of the state statement, determining a shared message range according to the grade in the state statement when the reference number of the state statement is subtracted to 0, acquiring an index through a message segment matching relation of the shared message range, referring to a state area through the acquired index, deleting a state in the state area, acquiring the position of the state in the state area through the state identifier in the state statement, wherein the length of the state is equal to the length in the state statement, and releasing the state area space occupied by the state after deleting the state.
CN202011421855.3A 2020-12-08 2020-12-08 State programming method with hierarchical state automatic maintenance function Active CN114666287B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011421855.3A CN114666287B (en) 2020-12-08 2020-12-08 State programming method with hierarchical state automatic maintenance function

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011421855.3A CN114666287B (en) 2020-12-08 2020-12-08 State programming method with hierarchical state automatic maintenance function

Publications (2)

Publication Number Publication Date
CN114666287A CN114666287A (en) 2022-06-24
CN114666287B true CN114666287B (en) 2023-10-31

Family

ID=82024308

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011421855.3A Active CN114666287B (en) 2020-12-08 2020-12-08 State programming method with hierarchical state automatic maintenance function

Country Status (1)

Country Link
CN (1) CN114666287B (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105224692A (en) * 2015-11-03 2016-01-06 武汉烽火网络有限责任公司 Support the system and method for the SDN multilevel flow table parallel search of polycaryon processor
CN106503203A (en) * 2016-10-26 2017-03-15 中国科学院声学研究所 A kind of intelligent flow table update method
CN111865809A (en) * 2019-04-30 2020-10-30 中国科学院声学研究所 Equipment state sensing method, system and switch based on protocol non-sensing forwarding

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8336027B2 (en) * 2009-05-27 2012-12-18 Microsoft Corporation Hierarchical view state storage

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105224692A (en) * 2015-11-03 2016-01-06 武汉烽火网络有限责任公司 Support the system and method for the SDN multilevel flow table parallel search of polycaryon processor
CN106503203A (en) * 2016-10-26 2017-03-15 中国科学院声学研究所 A kind of intelligent flow table update method
CN111865809A (en) * 2019-04-30 2020-10-30 中国科学院声学研究所 Equipment state sensing method, system and switch based on protocol non-sensing forwarding

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
软件定义网络中协同存储数据面快速转发;朱晓东;计算机应用;全文 *

Also Published As

Publication number Publication date
CN114666287A (en) 2022-06-24

Similar Documents

Publication Publication Date Title
Rolski Stationary random processes associated with point processes
CN101651577B (en) Alarm notification system and method for cluster monitoring
US8136125B2 (en) Prioritization for online contact status updates
CN111046035B (en) Data automation processing method, system, computer equipment and readable storage medium
CN109828833A (en) A kind of queuing system and its method of neural metwork training task
Schochetman et al. Infinite horizon optimization
CN114666287B (en) State programming method with hierarchical state automatic maintenance function
CN108319509B (en) Event management method, system and master control equipment
CN109167819B (en) Data synchronization system, method, device and storage medium
CN107943582A (en) Characteristic processing method, apparatus, storage medium and electronic equipment
CN112540829A (en) Container group eviction method, device, node equipment and storage medium
Gamarnik et al. A lower bound on the queueing delay in resource constrained load balancing
CN113961378B (en) Inter-process communication method and device based on shared memory and electronic equipment
CN109118361B (en) Method, device and system for managing limit
CN110493571B (en) Cross-regional cluster cascading service data distribution method, device and monitoring system
CN116881288A (en) Data query method, device and equipment
CN108268605A (en) A kind of communal space method for managing resource and system
CN116150207A (en) Data caching method and device, electronic equipment and storage medium
CN114499864B (en) Quantum key scheduling method for cloud computing platform
US9832278B2 (en) Utility-based invalidation propagation scheme selection for distributed cache consistency
CN113596746B (en) Cluster message processing method and device, electronic equipment and medium
JP5922811B1 (en) Log information classification device, log information classification method, and program
CN114780533A (en) Storage space distribution method and device based on double-array dictionary tree and electronic equipment
Mijumbi et al. MAYOR: machine learning and analytics for automated operations and recovery
US6822941B1 (en) Method and network element for relaying event messages

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
GR01 Patent grant
GR01 Patent grant