CN112511344A - Master-slave equipment network sharing method and device and Internet of things equipment - Google Patents

Master-slave equipment network sharing method and device and Internet of things equipment Download PDF

Info

Publication number
CN112511344A
CN112511344A CN202011295647.3A CN202011295647A CN112511344A CN 112511344 A CN112511344 A CN 112511344A CN 202011295647 A CN202011295647 A CN 202011295647A CN 112511344 A CN112511344 A CN 112511344A
Authority
CN
China
Prior art keywords
network
master
interface
preset
slave device
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
CN202011295647.3A
Other languages
Chinese (zh)
Other versions
CN112511344B (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.)
Shenzhen Skyworth RGB Electronics Co Ltd
Original Assignee
Shenzhen Skyworth RGB Electronics 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 Shenzhen Skyworth RGB Electronics Co Ltd filed Critical Shenzhen Skyworth RGB Electronics Co Ltd
Priority to CN202011295647.3A priority Critical patent/CN112511344B/en
Publication of CN112511344A publication Critical patent/CN112511344A/en
Application granted granted Critical
Publication of CN112511344B publication Critical patent/CN112511344B/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
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0654Management of faults, events, alarms or notifications using network fault recovery
    • H04L41/0668Management of faults, events, alarms or notifications using network fault recovery by dynamic selection of recovery network elements, e.g. replacement by the most appropriate element after failure
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/22Arrangements for detecting or preventing errors in the information received using redundant apparatus to increase reliability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/22Alternate routing

Landscapes

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

Abstract

The invention provides a master-slave device network sharing method, a master-slave device network sharing device and an Internet of things device, wherein the master-slave device network sharing method comprises the following steps: after the system is started, loading a network switching drive of a preset interface; newly adding at least one virtual network interface from the current network communication through a preset virtual route forwarding function; and connecting the virtual network interface to the preset interface so as to enable the slave equipment connected with the preset interface to carry out network communication. According to the master-slave device network sharing method, the network of the master device of the Internet of things can be shared with the slave device through the preset interface, the network switching drive corresponding to the preset interface and the virtual route forwarding function, so that the slave device can be connected to the Internet through the preset interface of the master device, the difficulty of the slave device in connecting the Internet is reduced, and the expansion of the Internet of things is facilitated.

Description

Master-slave equipment network sharing method and device and Internet of things equipment
Technical Field
The invention relates to the field of Internet of things, in particular to a master-slave device network sharing method and device, Internet of things equipment and a readable storage medium.
Background
With the continuous development of the internet of things, the types of the devices of the internet of things are also increasing, most of the devices of the internet of things are divided into main devices and slave devices, and the main devices and the slave devices can normally operate after being connected with a network. The existing slave devices generally acquire network signals through direct connection with a router, and under the condition that the number of the devices in the internet of things is large, the slave devices occupy a large number of routing resources, so that the expansion of the network in the internet of things is not facilitated.
Disclosure of Invention
In view of the above problems, the present invention provides a master-slave device network sharing method, apparatus, internet of things device and readable storage medium, so as to reduce the difficulty of connecting the slave device to the internet, thereby facilitating the expansion of the internet of things.
In order to achieve the purpose, the invention adopts the following technical scheme:
a master-slave device network sharing method comprises the following steps:
after the system is started, loading a network switching drive of a preset interface;
newly adding at least one virtual network interface from the current network communication through a preset virtual route forwarding function;
and connecting the virtual network interface to the preset interface so as to enable the slave equipment connected with the preset interface to carry out network communication.
Preferably, the master-slave device network sharing method further includes:
after the network switching drive is loaded, judging whether network connection exists at present;
and after the current network connection is determined, the step of adding at least one virtual network interface from the current network communication through a preset virtual route forwarding function and the subsequent steps are executed.
Preferably, the master-slave device network sharing method further includes:
and after determining that no network connection exists currently, controlling the preset interface to communicate with the slave equipment through route configuration so as to receive and transmit control information of the slave equipment through the preset interface.
Preferably, in the master-slave device network sharing method, the preset interface includes a USB interface.
Preferably, in the master-slave device network sharing method, the preset virtual route forwarding function is a linux system network route forwarding function.
The invention also provides a master-slave device network sharing device, comprising:
the network switching drive loading module is used for loading the network switching drive of the preset interface after the system is started;
the route forwarding module is used for adding at least one virtual network interface from the current network communication through a preset virtual route forwarding function;
and the network signal transmission module is used for connecting the virtual network interface to the preset interface so as to enable the slave equipment connected with the preset interface to carry out network communication.
Preferably, the master-slave device network sharing apparatus further includes:
the network connection judging module is used for judging whether network connection exists at present after the network switching drive is loaded; and after the current network connection is determined, the step of adding at least one virtual network interface from the current network communication through a preset virtual route forwarding function and the subsequent steps are executed.
Preferably, the master-slave device network sharing apparatus further includes:
and the routing configuration control module is used for controlling the preset interface to communicate with the slave equipment through routing configuration after determining that no network connection exists at present so as to receive and transmit the control information of the slave equipment through the preset interface.
The invention also provides the internet of things equipment, which comprises a memory and a processor, wherein the memory stores a computer program, and the processor runs the computer program to enable the internet of things equipment to execute the master-slave equipment network sharing method.
The invention also provides a readable storage medium storing a computer program which, when run on a processor, performs the master-slave device network sharing method.
The invention provides a master-slave equipment network sharing method, which comprises the following steps: after the system is started, loading a network switching drive of a preset interface; newly adding at least one virtual network interface from the current network communication through a preset virtual route forwarding function; and connecting the virtual network interface to the preset interface so as to enable the slave equipment connected with the preset interface to carry out network communication. According to the master-slave device network sharing method, the network of the master device of the Internet of things can be shared with the slave device through the preset interface, the network switching drive corresponding to the preset interface and the virtual route forwarding function, so that the slave device can be connected to the Internet through the preset interface of the master device, the difficulty of the slave device in connecting the Internet is reduced, and the expansion of the Internet of things is facilitated.
In order to make the aforementioned and other objects, features and advantages of the present invention comprehensible, preferred embodiments accompanied with figures are described in detail below.
Drawings
In order to more clearly illustrate the technical solution of the present invention, the drawings required to be used in the embodiments will be briefly described below, and it should be understood that the following drawings only illustrate some embodiments of the present invention, and therefore should not be considered as limiting the scope of the present invention. Like components are numbered similarly in the various figures.
Fig. 1 is a flowchart of a master-slave device network sharing method according to embodiment 1 of the present invention;
fig. 2 is a flowchart of a master-slave device network sharing method according to embodiment 2 of the present invention;
fig. 3 is a flowchart of a master-slave device network sharing method according to embodiment 3 of the present invention;
fig. 4 is a schematic structural diagram of a master-slave device network sharing apparatus according to embodiment 4 of the present invention;
fig. 5 is a schematic structural diagram of another master-slave device network sharing apparatus according to embodiment 4 of the present invention.
Detailed Description
The technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the drawings in the embodiments of the present invention, and it is obvious that the described embodiments are only a part of the embodiments of the present invention, and not all of the embodiments.
The components of embodiments of the present invention generally described and illustrated in the figures herein may be arranged and designed in a wide variety of different configurations. Thus, the following detailed description of the embodiments of the present invention, presented in the figures, is not intended to limit the scope of the invention, as claimed, but is merely representative of selected embodiments of the invention. All other embodiments, which can be derived by a person skilled in the art from the embodiments of the present invention without making any creative effort, shall fall within the protection scope of the present invention.
Hereinafter, the terms "including", "having", and their derivatives, which may be used in various embodiments of the present invention, are only intended to indicate specific features, numbers, steps, operations, elements, components, or combinations of the foregoing, and should not be construed as first excluding the existence of, or adding to, one or more other features, numbers, steps, operations, elements, components, or combinations of the foregoing.
Furthermore, the terms "first," "second," "third," and the like are used solely to distinguish one from another and are not to be construed as indicating or implying relative importance.
Unless otherwise defined, all terms (including technical and scientific terms) used herein have the same meaning as commonly understood by one of ordinary skill in the art to which various embodiments of the present invention belong. The terms (such as those defined in commonly used dictionaries) should be interpreted as having a meaning that is consistent with their contextual meaning in the relevant art and will not be interpreted in an idealized or overly formal sense unless expressly so defined herein in various embodiments of the present invention.
Example 1
Fig. 1 is a flowchart of a master-slave device network sharing method provided in embodiment 1 of the present invention, where the method includes the following steps:
step S11: and after the system is started, loading the network switching driver of the preset interface.
In the embodiment of the invention, the master-slave device network sharing method can be applied to sharing network signals among various master-slave devices of the internet of things, and the master device can forward the network signals to the slave device after being connected to the internet through the network signals so that the slave device can draw the internet through the forwarded network signal connection. The master device and the slave device include internet of things devices such as a master screen and a slave screen, which are not limited herein.
In the embodiment of the invention, after the system of the master device is started, the network switching driver loading the preset interface on the master device is driven to realize that the network signal in the master device is taken as network data and is output to the slave device through the preset interface. The preset interface comprises a USB interface or an Ethernet interface, and the network conversion driver of the USB interface or the Ethernet interface can be stored in the main device in advance.
Step S12: and adding at least one virtual network interface from the current network communication through a preset virtual route forwarding function.
In the embodiment of the invention, after the network switching drive of the preset interface is loaded, the main device transmits the network signal received by the current main device through the preset virtual route transmitting function, adds at least one virtual network interface from the current network communication and transmits the network signal by using the at least one virtual network interface. The preset virtual route forwarding function is a linux system network route forwarding function, that is, the system in the main device may be a linux system or another system developed based on a linux system kernel, such as an android system, and a linux system network router is arranged in the system, and network signals are forwarded through the linux system network router.
Step S13: and connecting the virtual network interface to the preset interface so as to enable the slave equipment connected with the preset interface to carry out network communication.
In the embodiment of the present invention, after at least one virtual network interface of current network communication is newly added through a preset virtual route, a master device connects the virtual network interface to the preset interface, and forwards and outputs a network signal through the preset interface, that is, the master device is used as a router, so that a slave device connected through the preset interface obtains the network signal, wherein the master device may be provided with a plurality of preset interfaces to connect to a plurality of slave devices, which is not limited herein.
In the embodiment of the invention, the network of the main equipment of the Internet of things can be shared with the slave equipment through the preset interface, the network switching drive corresponding to the preset interface and the virtual route forwarding function, so that the slave equipment can be connected to the Internet through the preset interface of the main equipment, the difficulty of the slave equipment in connecting the Internet is reduced, and the expansion of the Internet of things is facilitated.
Example 2
Fig. 2 is a flowchart of a master-slave device network sharing method according to embodiment 2 of the present invention, where the method includes the following steps:
step S21: and after the system is started, loading the network switching driver of the preset interface.
This step is identical to step S11 described above, and will not be described herein again.
Step S22: and after the network switching drive is loaded, judging whether network connection exists at present.
In the embodiment of the invention, after the network switching drive of the preset interface is loaded, the Internet of things equipment can judge whether network connection exists at present. Specifically, a test message of a network link may be set in the internet of things device, and the test message is sent to the network communication port to receive a corresponding response message, and whether the master device is connected to the internet or not is determined according to the response message.
Step S23: and after the current network connection is determined, adding at least one virtual network interface from the current network communication through a preset virtual route forwarding function.
This step is identical to step S12 described above, and will not be described herein again.
Step S24: and connecting the virtual network interface to the preset interface so as to enable the slave equipment connected with the preset interface to carry out network communication.
This step is identical to step S13 described above, and will not be described herein again.
Example 3
Fig. 3 is a flowchart of a master-slave device network sharing method according to embodiment 3 of the present invention, where the method includes the following steps:
step S31: and after the system is started, loading the network switching driver of the preset interface.
This step is identical to step S11 described above, and will not be described herein again.
Step S32: and after the network switching drive is loaded, judging whether network connection exists at present.
This step is identical to step S22 described above, and will not be described herein again.
Step S33: and after the current network connection is determined, adding at least one virtual network interface from the current network communication through a preset virtual route forwarding function.
This step is identical to step S12 described above, and will not be described herein again.
Step S34: and connecting the virtual network interface to the preset interface so as to enable the slave equipment connected with the preset interface to carry out network communication.
This step is identical to step S13 described above, and will not be described herein again.
Step S35: and after determining that no network connection exists currently, controlling the preset interface to communicate with the slave equipment through route configuration so as to receive and transmit control information of the slave equipment through the preset interface.
In the embodiment of the present invention, when the master device has no network connection, that is, when the master device cannot be connected to the internet, the master device may further control the preset interface by adding a routing configuration, and communicate with the slave device through the preset interface, so that the control information of the slave device is transmitted to the master device through the preset interface, and the control information of the master device is also transmitted to the slave device through the preset interface.
Example 4
Fig. 4 is a schematic structural diagram of a master-slave device network sharing apparatus according to embodiment 4 of the present invention.
The master-slave device network sharing apparatus 400 includes:
a network driver loading module 410, configured to load a network driver of a preset interface after the system is started;
a route forwarding module 420, configured to add at least one virtual network interface from current network communication through a preset virtual route forwarding function;
a network signal transmission module 430, configured to connect the virtual network interface to the preset interface, so that a slave device connected to the preset interface performs network communication.
As shown in fig. 5, the master-slave device network sharing apparatus 400 further includes:
a network connection determining module 440, configured to determine whether a network connection exists at present after the network driver is loaded; and after the current network connection is determined, the step of adding at least one virtual network interface from the current network communication through a preset virtual route forwarding function and the subsequent steps are executed.
A routing configuration control module 450, configured to control the preset interface to communicate with the slave device through routing configuration after it is determined that there is no network connection currently, so as to receive and send control information of the slave device through the preset interface.
In the embodiment of the present invention, for more detailed description of functions of the modules, reference may be made to contents of corresponding parts in the foregoing embodiment, which are not described herein again.
In addition, the invention also provides an internet of things device, which comprises a memory and a processor, wherein the memory can be used for storing a computer program, and the processor enables the internet of things device to execute the method or the functions of each module in the master-slave device network sharing device by running the computer program.
The memory may include a storage program area and a storage data area, wherein the storage program area may store an operating system, an application program required for at least one function (such as a sound playing function, an image playing function, etc.), and the like; the storage data area may store data (such as audio data, a phonebook, etc.) created according to the use of the internet-of-things device, and the like. Further, the memory may include high speed random access memory, and may also include non-volatile memory, such as at least one magnetic disk storage device, flash memory device, or other volatile solid state storage device.
The embodiment also provides a readable storage medium for storing the computer program used in the internet of things device.
In the embodiments provided in the present application, it should be understood that the disclosed apparatus and method can be implemented in other ways. The apparatus embodiments described above are merely illustrative and, for example, the flowchart and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of apparatus, methods and computer program products according to various embodiments of the present invention. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems which perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
In addition, each functional module or unit in each embodiment of the present invention may be integrated together to form an independent part, or each module may exist separately, or two or more modules may be integrated to form an independent part.
The functions, if implemented in the form of software functional modules and sold or used as a stand-alone product, may be stored in a computer readable storage medium. Based on such understanding, the technical solution of the present invention or a part of the technical solution that contributes to the prior art in essence can be embodied in the form of a software product, which is stored in a storage medium and includes instructions for causing a computer device (which may be a smart phone, a personal computer, a server, or a network device, etc.) to execute all or part of the steps of the method according to the embodiments of the present invention. And the aforementioned storage medium includes: a U-disk, a removable hard disk, a Read-Only Memory (ROM), a Random Access Memory (RAM), a magnetic disk or an optical disk, and other various media capable of storing program codes.
The above description is only for the specific embodiments of the present invention, but the scope of the present invention is not limited thereto, and any person skilled in the art can easily conceive of the changes or substitutions within the technical scope of the present invention, and all the changes or substitutions should be covered within the scope of the present invention. Therefore, the protection scope of the present invention shall be subject to the protection scope of the claims.

Claims (10)

1. A master-slave device network sharing method is characterized by comprising the following steps:
after the system is started, loading a network switching drive of a preset interface;
newly adding at least one virtual network interface from the current network communication through a preset virtual route forwarding function;
and connecting the virtual network interface to the preset interface so as to enable the slave equipment connected with the preset interface to carry out network communication.
2. The master-slave device network sharing method according to claim 1, further comprising:
after the network switching drive is loaded, judging whether network connection exists at present;
and after the current network connection is determined, the step of adding at least one virtual network interface from the current network communication through a preset virtual route forwarding function and the subsequent steps are executed.
3. The master-slave device network sharing method according to claim 2, further comprising:
and after determining that no network connection exists currently, controlling the preset interface to communicate with the slave equipment through route configuration so as to receive and transmit control information of the slave equipment through the preset interface.
4. The master-slave device network sharing method according to claim 1, wherein the preset interface comprises a USB interface.
5. The master-slave device network sharing method according to claim 1, wherein the preset virtual route forwarding function is a linux system network route forwarding function.
6. A master-slave device network sharing apparatus, comprising:
the network switching drive loading module is used for loading the network switching drive of the preset interface after the system is started;
the route forwarding module is used for adding at least one virtual network interface from the current network communication through a preset virtual route forwarding function;
and the network signal transmission module is used for connecting the virtual network interface to the preset interface so as to enable the slave equipment connected with the preset interface to carry out network communication.
7. The master-slave device network sharing apparatus according to claim 6, further comprising:
the network connection judging module is used for judging whether network connection exists at present after the network switching drive is loaded; and after the current network connection is determined, the step of adding at least one virtual network interface from the current network communication through a preset virtual route forwarding function and the subsequent steps are executed.
8. The master-slave device network sharing apparatus according to claim 7, further comprising:
and the routing configuration control module is used for controlling the preset interface to communicate with the slave equipment through routing configuration after determining that no network connection exists at present so as to receive and transmit the control information of the slave equipment through the preset interface.
9. An internet-of-things device comprising a memory storing a computer program and a processor executing the computer program to cause the internet-of-things device to perform the master-slave device network sharing method according to any one of claims 1 to 6.
10. A readable storage medium, characterized in that it stores a computer program which, when run on a processor, performs the master-slave device network sharing method of any one of claims 1 to 6.
CN202011295647.3A 2020-11-18 2020-11-18 Master-slave equipment network sharing method and device and Internet of things equipment Active CN112511344B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011295647.3A CN112511344B (en) 2020-11-18 2020-11-18 Master-slave equipment network sharing method and device and Internet of things equipment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011295647.3A CN112511344B (en) 2020-11-18 2020-11-18 Master-slave equipment network sharing method and device and Internet of things equipment

Publications (2)

Publication Number Publication Date
CN112511344A true CN112511344A (en) 2021-03-16
CN112511344B CN112511344B (en) 2023-12-08

Family

ID=74956897

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011295647.3A Active CN112511344B (en) 2020-11-18 2020-11-18 Master-slave equipment network sharing method and device and Internet of things equipment

Country Status (1)

Country Link
CN (1) CN112511344B (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103532802A (en) * 2013-10-11 2014-01-22 小米科技有限责任公司 Method and device for network sharing, and terminal equipment
CN108494639A (en) * 2018-02-09 2018-09-04 维沃移动通信有限公司 Network access method and mobile terminal
CN109067718A (en) * 2018-07-23 2018-12-21 浙江吉利汽车研究院有限公司 Method, apparatus, the system of vehicle mounted multimedia host and mobile terminal sharing network

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103532802A (en) * 2013-10-11 2014-01-22 小米科技有限责任公司 Method and device for network sharing, and terminal equipment
CN108494639A (en) * 2018-02-09 2018-09-04 维沃移动通信有限公司 Network access method and mobile terminal
CN109067718A (en) * 2018-07-23 2018-12-21 浙江吉利汽车研究院有限公司 Method, apparatus, the system of vehicle mounted multimedia host and mobile terminal sharing network

Also Published As

Publication number Publication date
CN112511344B (en) 2023-12-08

Similar Documents

Publication Publication Date Title
CN111726399B (en) Docker container secure access method and device
US11845451B2 (en) Automobile diagnostic method, apparatus, device and system, and diagnostic connection device
CN113472700B (en) Message processing method, device, storage medium and network card
CN116132009B (en) Clock switching device, server and clock switching method
CN112069008A (en) Equipment debugging information acquisition method and device and equipment debugging information generation method
CN109361693B (en) Virtual device communication method and device
CN116243853A (en) Data transmission method and device, electronic equipment and nonvolatile storage medium
CN113791792B (en) Method, device and storage medium for acquiring application call information
CN104731577A (en) Multisystem and method of booting the same
CN114780465A (en) Method and device for creating sharable remote direct data access link
CN108255434B (en) Label management method, management device and computer readable storage medium
CN104917800A (en) Method and device for establishing redundancy connection for virtual machine
CN112511344B (en) Master-slave equipment network sharing method and device and Internet of things equipment
US20180246688A1 (en) Regeneration chip and contact control method therefor
CN101369191B (en) Multicomputer switching mechanism and implementing method
CN108966281A (en) Mesh network processing method, device, equipment and storage medium
US9715477B2 (en) Shared-bandwidth multiple target remote copy
CN114401218B (en) Bypass forwarding method and device for data message
CN109656674B (en) Computer equipment, virtualization chip and data transmission method
CN116244255A (en) RSMC chip, chip multi-stage starting method and Beidou communication navigation device
KR102178273B1 (en) Apparatus for providing multifunctional information distribution system low volume terminal emulator and method, computer-readable storage medium and computer program for controlling thereof
KR102379558B1 (en) Driver system of vehicle with feedback logic and operation method thereof
US10073751B2 (en) Determining cable connections in a multi-cable link
CN112968812A (en) Network performance testing method, device, equipment and storage medium
CN112423098A (en) Video processing method, electronic device and storage medium

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