CN112637086B - Communication method, system and medium based on module automatic compiling - Google Patents

Communication method, system and medium based on module automatic compiling Download PDF

Info

Publication number
CN112637086B
CN112637086B CN202011463538.8A CN202011463538A CN112637086B CN 112637086 B CN112637086 B CN 112637086B CN 202011463538 A CN202011463538 A CN 202011463538A CN 112637086 B CN112637086 B CN 112637086B
Authority
CN
China
Prior art keywords
module
information
unit
compiling
mbs
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
CN202011463538.8A
Other languages
Chinese (zh)
Other versions
CN112637086A (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.)
Suzhou Inspur Intelligent Technology Co Ltd
Original Assignee
Suzhou Inspur Intelligent Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Suzhou Inspur Intelligent Technology Co Ltd filed Critical Suzhou Inspur Intelligent Technology Co Ltd
Priority to CN202011463538.8A priority Critical patent/CN112637086B/en
Publication of CN112637086A publication Critical patent/CN112637086A/en
Application granted granted Critical
Publication of CN112637086B publication Critical patent/CN112637086B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2416Real-time traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

The invention discloses a communication method based on module automatic compilation, which comprises the following steps: the communication module distinguishes information types, if the information types are non-instant information, the information is stopped being sent, if the information types are instant information, the information is cached to the cache unit, the cache unit is provided with a trigger mechanism, the communication module monitors the information caching quantity, if the information quantity meets a caching threshold value, the cache unit starts the trigger mechanism and sends the information to the MBS module, if the information types are trigger information, the cache unit starts the trigger mechanism and sends the instant information and the trigger information in the cache unit to the MBS module.

Description

Communication method, system and medium based on module automatic compiling
Technical Field
The present invention relates to the field of server communication compilation, and in particular, to a communication method, system and medium based on module automation compilation.
Background
The prior art module compilation adopts a MBOX container device, which includes a KOJI central service unit, a KOJI compilation component, a KOJI a backend service unit, and a frontend service unit, wherein the frontend service unit and the backend service unit communicate with each other by using a FEDMSG communication protocol, the backend service unit and the KOJI central service unit communicate with each other by using a raabatimq communication protocol, and the raabatimq communication protocol configuration is cumbersome, while the FEDMSG communication protocol configuration is relatively simple, in the prior art, because the communication method between the KOJI central service unit and the backend service unit is usually to open up a large buffer space, and then continuously accumulate messages into the buffer space when receiving the messages, and the messages accumulated in the buffer space are not transmitted at once until receiving the poscomtt type messages, such a method may cause a problem of serious delay of the messages that are communicated between the backend service unit and the KOJI central service unit, and finally cause a problem of serious imbalance of the load of server resources.
Disclosure of Invention
The technical problem mainly solved by the invention is to provide a communication method, a system and a medium based on module automation compiling, which can solve the problem of server idle waiting phenomenon caused by serious communication delay caused by information accumulation when an MBS module communicates with a KOJI module, and finally cause resource waste of extreme busy and idle uneven server resources.
In order to solve the technical problems, the invention adopts a technical scheme that: a communication method based on module automation compiling is provided, which comprises the following steps:
introducing a communication module into the MBS module and the KOJI module, wherein the MBS module receives the compiling request and sends the compiling request to the KOJI module, and the KOJI module acquires information according to the compiling request and sends the information to the communication module;
the communication module receives the information, distinguishes the information type, and stops sending the information if the information type is non-instant information; if the information type is the instant information, caching the information into a caching unit, wherein the caching unit is provided with a trigger mechanism, monitoring the information caching quantity by a communication module, and if the information caching quantity meets a caching threshold value, starting the trigger mechanism by the caching unit and sending the information to an MBS (multicast broadcast multicast service) module; if the information type is triggering information, the cache unit starts a triggering mechanism and sends the instant message and the triggering information in the cache unit to the MBS module.
Furthermore, the MBS module acquires the compiling request and sends the compiling task to the KOJI module according to the compiling request, and the KOJI module compiles according to the compiling task, downloads the code according to the compiling task, compiles the code and sends the information to the communication module.
Further, configuring the MBS module, wherein the MBS module receives the compiling instruction and sends a compiling task to the KOJI module according to the compiling instruction.
And further, configuring a KOJI module, compiling the KOJI module according to the compiling task type and presetting a download path, downloading codes by the KOJI module according to the download path, compiling the codes and sending the codes to the communication module.
A communication system based on automated compilation of modules, comprising: the MBS module, the KOJI module and the communication module; the communication module is respectively connected with the MBS module and the KOJI module, and the MBS module is connected with the KOJI module;
the MBS module sends a compiling request to the KOJI module, and the KOJI module sends the compiling request to the MBS module through the communication module according to the compiling request;
the communication module comprises a filtering unit, a caching unit and a monitoring unit, wherein the filtering unit receives information and judges the type of the information, if the type of the information is non-instantaneity information, the information is stopped to be sent, if the type of the information is instantaneity information, the information is cached to the caching unit, the caching unit is provided with a trigger mechanism, the monitoring unit monitors the caching quantity of the information, if the caching quantity of the information meets a caching threshold value, the monitoring unit orders the caching unit to start the trigger mechanism, and the caching unit sends the information to the MBS module; if the information type is triggering information, the monitoring unit commands the cache unit to start a triggering mechanism, and the instant message and the triggering information in the cache unit are sent to the MBS module.
Further, the communication module further comprises a sending unit, the sending unit is connected with the KOJI module, the caching unit sends information to the sending unit, and the sending unit sends the information to the MBS module.
Further, the MBS module comprises a front-end service unit, a relay unit and an MBS center service unit, and the KOJI module comprises a KOJI center service unit, a compiling unit, a code downloading device and a code warehouse;
the relay unit is respectively connected with the front-end service unit, the MBS center service unit and the communication module; the KOJI center service unit is respectively connected with the communication module and the compiling unit, and the code downloading device is respectively connected with the compiling unit and the code warehouse;
the front-end service unit is used for receiving a compiling request and sending the compiling request to the relay unit;
the relay unit is used for sending a compiling request to the MBS center service unit;
the MBS center service unit converts the compiling request into a compiling task and sends the compiling task to the KOJI center service unit;
the KOJI center service unit sends a compiling task to the compiling unit and sends information compiled by the compiling unit to a communication module;
the compiling unit compiles a compiling task and sends the compiling task to the code downloading device, and the compiling unit analyzes the codes downloaded by the code downloading device;
and the code downloading device downloads information in the code warehouse according to the compiling task and forwards the information to the compiling unit.
Further, the compiling unit compiles according to the compiling task type, presets a download path, analyzes the download code into information according to the download path, and sends the information to the KOJI center service unit.
A computer-readable storage medium, in which a computer program is stored which, when being executed by a processor, carries out the steps of the module-based automated compilation communication method.
The invention has the beneficial effects that: the invention realizes the communication between the MBS module and the KOJI module through the communication module of the self-defined plug-in, avoids the complexity of RAABITMQ communication protocol configuration, makes the communication configuration simpler, firstly classifies after the communication module receives the information of the KOJI central service unit, immediately sends some information needing immediate notification to the MBS central service unit in a FEDMSG communication protocol mode, puts non-immediate information into a queue to wait for one-time sending, and avoids the waste phenomenon of service resources caused by extreme busy and idle unevenness of the server.
Drawings
FIG. 1 is a flow chart of a communication method based on module automation compilation according to the invention;
FIG. 2 is a communication flow diagram of a communication module of a communication method based on module automation compilation according to the present invention;
FIG. 3 is a structural topology diagram of a communication system based on module automation compilation according to the present invention;
fig. 4 is a structural topology diagram of a communication module of a communication system based on module automation compilation according to the invention.
Detailed Description
The following detailed description of the preferred embodiments of the present invention, taken in conjunction with the accompanying drawings, will make the advantages and features of the invention easier to understand by those skilled in the art, and thus will clearly and clearly define the scope of the invention.
Referring to fig. 1, an embodiment of the present invention includes: a communication method based on module automation compilation comprises the following steps:
the user simulates the HTTP Hypertext transfer protocol compilation request through a CURL command line tool or other tools and sends the HTTP compilation request, such as the CURL HTTPs:// address port number-X POST-d { "secure": git + code warehouse address } -header "Content-Type application/version" -k;
configuring authentication files of a compiling service module and a compiling management module, and starting a front-end service unit, wherein the front-end service unit processes an HTTP compiling request of a user, such as httpd-f/etc/httpd/mbs-front.conf;
in order to enable a user to more conveniently configure a communication transmission protocol during communication transmission, the system abandons a RAABITMQ communication protocol with complex configuration, and uses a FEDMSG communication protocol to communicate each communication module, because the FEDMSG communication protocol has the characteristic of simple configuration, the FEDMSG communication protocol is used for signal transmission, a RELAY unit is established, a configuration file RELAY.
Modifying a configuration file module _ built _ service.py generated by installing a compiling service module in an FEDMSG communication protocol, starting an MBS central service unit, receiving a user HTTP compiling request transmitted by a relay unit by the MBS central service unit, acquiring a compiling task corresponding to the user HTTP compiling request by the MBS central service unit according to the user HTTP compiling request, judging the state of the compiling task by the MBS central service unit, and transmitting the compiling task to a KOJI central service unit according to the state of the compiling task;
the KOJI central service unit receives the compiling task sent by the MBS module and then sends the compiling task to the compiling unit, the compiling unit executes compiling according to the state of the compiling task, if the compiling task is in an X86 mode, the compiling unit corresponding to the X86 mode is sent, if the compiling task is in an ARM mode, the compiling unit corresponding to the ARM mode is sent, after receiving the compiling task, the compiling unit compiles the compiling task and then sends an instruction to the KOJI central service unit, and the compiling unit presets a downloading path according to the state of the compiling task and enables a code downloading device;
the code downloading device downloads codes in the code warehouse according to the compiling task and the downloading path, the code warehouse returns the codes to the code downloading device, the compiling unit obtains the codes in the code downloading device for compiling, compiles the codes into information and sends the information to the KOJI center service unit, and the KOJI center service unit sends the codes to the communication module;
as shown in fig. 2, the communication module receives information, the filtering unit in the communication module filters the information type, if the information type is a type that does not need to be notified to the MBS module, the sending process is ended, if the information type is a type that needs to be notified to the MBS module, it is determined whether the information is a commit complete type message, if not, the information is cached in the caching unit, the monitoring unit periodically monitors the information amount in the caching unit, if the information amount in the caching unit satisfies a caching threshold, the monitoring unit instructs the caching unit to release the message to the sending unit, the message satisfies a stack first-in first-out principle, if the information is a commit complete type message, all the information in the caching unit is first released to the sending unit, and finally the commit complete type message is sent to the relay unit through the sending unit, the sending unit is connected to the MBS module, and the information sending step of the communication module is executed.
As shown in fig. 3, a communication system based on module automation compilation includes: the system comprises an MBS module and a KOJI module, wherein the MBS module comprises a front-end service unit, a relay unit and an MBS center service unit, wherein in order to enable a user to rapidly configure a communication protocol, the system adopts a FEDMSG communication protocol, because the FEDMSG communication protocol is simple in configuration compared with a RAABITMQ communication protocol, and simultaneously, the relay unit can be respectively connected with the front-end service unit, the MBS center service unit and the communication module by the method; the KOJI module comprises an F communication module, a KOJI center service unit, a compiling unit, a code downloading device and a code warehouse, wherein the KOJI center service unit is respectively connected with the MBS center service unit, the communication module and the compiling unit, and the code downloading device is respectively connected with the compiling unit and the code warehouse;
the method comprises the steps that a user simulates an HTTP hypertext transfer protocol compiling request by using a CURL command line tool or other tools, the user sends the compiling request, the compiling request is sent to a relay unit through a front-end service unit, the relay unit sends the compiling request to an MBS center service unit, the MBS center service unit pulls a compiling task carried by the MBS center service unit according to the compiling request, the MBS center service unit sends the compiling task to a KOJI center service unit, the compiling unit sends the compiling task to the compiling unit, the compiling unit belongs to a compiler module, the compiling unit can compile the compiling task and send the compiling task after compiling, the compiling unit can deal with various compiling task states, such as the compiling task is X86 or ARM, the compiling unit can compile a compiling task gold, the compiling unit presets a downloading path according to the compiling task state, the compiling unit sends the compiled compiling task to a code downloading device, the code downloading device downloads information in a code warehouse according to the compiled compiling task, the code downloading device sends the information to the KO service unit, the code warehouse sends the information to the KO center service unit, and sends the JI information to the JI center service unit;
as shown in fig. 4, the communication module includes a filtering unit, a caching unit, a monitoring unit, and a sending unit, where the filtering unit filters information and filters information types, and stops transmission if the information type is a type that does not need to be notified to the MBS module, and sends information to the caching unit if the information type is a type that needs to be notified to the MBS module, and the caching unit is connected to the monitoring unit, the filtering unit, and the sending unit respectively, and the monitoring unit monitors the number of information in the caching unit, and if the number of information exceeds a caching threshold, the monitoring unit instructs the caching unit to release all cached information, and the cached information is sent to the sending unit, and if the monitoring unit monitors that information of a submission completion type enters the caching unit, the monitoring unit instructs the caching unit to release all cached information to the sending unit, and finally sends information of a submission completion type to the sending unit, and sends information to the relay unit.
Based on the same inventive concept as the method in the foregoing embodiments, the present specification further provides a computer readable storage medium, on which a computer program is stored, and when the computer program is executed by a processor, the steps of the method for clustered information pushing as disclosed in the foregoing are implemented.
The above description is only an embodiment of the present invention, and not intended to limit the scope of the present invention, and all modifications of equivalent structures and equivalent processes performed by the present specification and drawings, or directly or indirectly applied to other related technical fields, are included in the scope of the present invention.

Claims (9)

1. A communication method based on module automation compilation is characterized by comprising the following steps:
introducing a communication module into the MBS module and the KOJI module, wherein the MBS module receives the compiling request and sends the compiling request to the KOJI module, and the KOJI module acquires information according to the compiling request and sends the information to the communication module;
the communication module receives the information, distinguishes the information type, and stops sending the information if the information type is non-instant information; if the information type is the instant information, caching the information to a caching unit, wherein the caching unit is provided with a trigger mechanism, the communication module monitors the information caching quantity, and if the information caching quantity meets a caching threshold value, the caching unit starts the trigger mechanism and sends the information to an MBS module; if the information type is triggering information, the cache unit starts a triggering mechanism and sends the instant message and the triggering information in the cache unit to the MBS module.
2. The communication method based on module automation compilation according to claim 1, characterized in that: the MBS module acquires the compiling request and sends a compiling task to the KOJI module according to the compiling request, and the KOJI module compiles according to the compiling task, downloads codes according to the compiling task, compiles the codes and sends information to the communication module.
3. The communication method based on module automation compilation according to claim 2, characterized in that: and configuring an MBS module, wherein the MBS module receives the compiling instruction and sends a compiling task to the KOJI module according to the compiling instruction.
4. The communication method based on module automation compilation according to claim 2, characterized in that: and configuring a KOJI module, compiling the KOJI module according to the compiling task type and presetting a download path, downloading codes by the KOJI module according to the download path, compiling the codes and sending the codes to the communication module.
5. A communication system based on automated compilation of modules, comprising: the MBS module, the KOJI module and the communication module; the communication module is respectively connected with the MBS module and the KOJI module, and the MBS module is connected with the KOJI module;
the MBS module sends a compiling request to the KOJI module, and the KOJI module sends the compiling request to the MBS module through the communication module according to the compiling request;
the communication module comprises a filtering unit, a caching unit and a monitoring unit, wherein the filtering unit receives information and judges the type of the information, if the type of the information is non-instantaneity information, the information is stopped to be sent, if the type of the information is instantaneity information, the information is cached to the caching unit, the caching unit is provided with a trigger mechanism, the monitoring unit monitors the caching quantity of the information, if the caching quantity of the information meets a caching threshold value, the monitoring unit orders the caching unit to start the trigger mechanism, and the caching unit sends the information to the MBS module; if the information type is triggering information, the monitoring unit commands the cache unit to start a triggering mechanism, and the instant message and the triggering information in the cache unit are sent to the MBS module.
6. The communication system according to claim 5, wherein the communication system comprises: the communication module further comprises a sending unit, the sending unit is connected with the KOJI module, the caching unit sends information to the sending unit, and the sending unit sends the information to the MBS module.
7. The communication system according to claim 6, wherein the communication system comprises: the MBS module comprises a front-end service unit, a relay unit and an MBS center service unit, and the KOJI module comprises a KOJI center service unit, a compiling unit, a code downloading device and a code warehouse;
the relay unit is respectively connected with the front-end service unit, the MBS center service unit and the communication module; the KOJI center service unit is respectively connected with the communication module and the compiling unit, and the code downloading device is respectively connected with the compiling unit and the code warehouse;
the front-end service unit is used for receiving a compiling request and sending the compiling request to the relay unit;
the relay unit is used for sending a compiling request to the MBS center service unit;
the MBS center service unit converts the compiling request into a compiling task and sends the compiling task to the KOJI center service unit;
the KOJI center service unit sends a compiling task to the compiling unit and sends information compiled by the compiling unit to a communication module;
the compiling unit compiles a compiling task and sends the compiling task to the code downloading device, and the compiling unit analyzes the codes downloaded by the code downloading device;
and the code downloading device downloads information in the code warehouse according to the compiling task and forwards the information to the compiling unit.
8. The communication system according to claim 7, wherein the communication system comprises: and the compiling unit compiles according to the compiling task type, presets a download path, analyzes the download code into information according to the download path, and sends the information to the KOJI center service unit.
9. A computer-readable storage medium, in which a computer program is stored which, when being executed by a processor, carries out the steps of the method for communication based on automated compilation of modules according to any one of claims 1 to 4.
CN202011463538.8A 2020-12-11 2020-12-11 Communication method, system and medium based on module automatic compiling Active CN112637086B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011463538.8A CN112637086B (en) 2020-12-11 2020-12-11 Communication method, system and medium based on module automatic compiling

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011463538.8A CN112637086B (en) 2020-12-11 2020-12-11 Communication method, system and medium based on module automatic compiling

Publications (2)

Publication Number Publication Date
CN112637086A CN112637086A (en) 2021-04-09
CN112637086B true CN112637086B (en) 2022-12-27

Family

ID=75312482

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011463538.8A Active CN112637086B (en) 2020-12-11 2020-12-11 Communication method, system and medium based on module automatic compiling

Country Status (1)

Country Link
CN (1) CN112637086B (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113382049B (en) * 2021-05-31 2022-04-19 山东英信计算机技术有限公司 Management system and device of modular construction tool MBS

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106547605A (en) * 2016-09-29 2017-03-29 乐视控股(北京)有限公司 Compiled code sending method and compiled code dispensing device
CN107168758A (en) * 2017-04-12 2017-09-15 北京小米移动软件有限公司 The code compilation inspection method and device of many code libraries
CN109426492A (en) * 2017-07-13 2019-03-05 北京微影时代科技有限公司 A kind of client software development approach and device
CN111459810A (en) * 2020-03-25 2020-07-28 南阳柯丽尔科技有限公司 Method of constructing application program, programming apparatus, and computer-readable storage medium

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106547605A (en) * 2016-09-29 2017-03-29 乐视控股(北京)有限公司 Compiled code sending method and compiled code dispensing device
CN107168758A (en) * 2017-04-12 2017-09-15 北京小米移动软件有限公司 The code compilation inspection method and device of many code libraries
CN109426492A (en) * 2017-07-13 2019-03-05 北京微影时代科技有限公司 A kind of client software development approach and device
CN111459810A (en) * 2020-03-25 2020-07-28 南阳柯丽尔科技有限公司 Method of constructing application program, programming apparatus, and computer-readable storage medium

Also Published As

Publication number Publication date
CN112637086A (en) 2021-04-09

Similar Documents

Publication Publication Date Title
CN103346974B (en) Controlling method of service process and network device
CN112637086B (en) Communication method, system and medium based on module automatic compiling
CN110661891B (en) Cross-network file instant transmission method and system based on unidirectional network
CN109271259B (en) Enterprise service bus system, data processing method, terminal and storage medium
CN111722944B (en) NIO-based AIRT-ROS communication method and system
US11956300B2 (en) Message switching
KR20110065448A (en) Composing message processing pipelines
WO2012032373A1 (en) Dynamic configuration of interconnected devices for measuring performance characteristics in a network
CN111541688A (en) Embedded system compatible with multiple protocols, data processing method and device
CN110430110B (en) On-site bus gateway and protocol conversion method thereof
CN101582057A (en) Method, device and system for controlling communication and transmission of human interface device
CN111782417A (en) Message-based multi-process sharing serial port resource implementation method
CN115514454B (en) Data transmission method and device, electronic equipment and computer readable storage medium
CN115344522A (en) Message conversion channel, message conversion device, electronic equipment and switching equipment
CN112463083B (en) Remote collection method and system for information of substrate control manager
CN114979058A (en) CAN multi-mailbox multiplexing processing method and system
WO2000023876A3 (en) Enterprise communication protocol
CN113141236A (en) Message processing method and device
CN110943895A (en) Network shutdown and Linux system-based network data processing method and device
CN115314778B (en) Batch ONU upgrading method, device and equipment
CN114501502B (en) Alarm normalization method and device for 5G core network equipment
CN115567619A (en) Communication method and device and message queue telemetry transmission protocol client
CN107835237B (en) Communication processing method and device in optical transmission board card system
CN109597576B (en) Method, device, readable storage medium and system for improving response speed of NCQ command
CN117319491A (en) Multi-process multi-port data transmission method based on communication middleware

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