CN109597727B - Detection method, detection device, server and detection system of electronic equipment - Google Patents

Detection method, detection device, server and detection system of electronic equipment Download PDF

Info

Publication number
CN109597727B
CN109597727B CN201811354348.5A CN201811354348A CN109597727B CN 109597727 B CN109597727 B CN 109597727B CN 201811354348 A CN201811354348 A CN 201811354348A CN 109597727 B CN109597727 B CN 109597727B
Authority
CN
China
Prior art keywords
target electronic
equipment
server
electronic device
electronic equipment
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
CN201811354348.5A
Other languages
Chinese (zh)
Other versions
CN109597727A (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.)
Goertek Inc
Original Assignee
Goertek Inc
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 Goertek Inc filed Critical Goertek Inc
Priority to CN201811354348.5A priority Critical patent/CN109597727B/en
Publication of CN109597727A publication Critical patent/CN109597727A/en
Application granted granted Critical
Publication of CN109597727B publication Critical patent/CN109597727B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2247Verification or detection of system hardware configuration

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Telephonic Communication Services (AREA)

Abstract

The invention discloses a detection method, a detection device, a server and a detection system of electronic equipment. The detection method of the electronic equipment is implemented by a server and comprises the following steps: establishing a connection with a target electronic device; receiving device hardware information of a target electronic device; and detecting whether the target electronic equipment is the legal equipment or not according to the equipment hardware information, and sending a detection result indicating whether the target electronic equipment is the legal equipment or not to the target electronic equipment.

Description

Detection method, detection device, server and detection system of electronic equipment
Technical Field
The present invention relates to the field of device detection technologies, and in particular, to a method, a device, a server, and a system for detecting an electronic device.
Background
Electronic devices such as mobile phones, computers, virtual reality glasses and the like have become important tools for people to enjoy daily life, wherein the electronic devices are popular brand devices with excellent performance in the market, and then malicious manufacturers can pirate the popular brand devices to obtain illegal benefits.
At present, aiming at the equipment piracy of malicious manufacturers, manufacturers of legal equipment generally set anti-counterfeiting information and two-dimensional codes for anti-counterfeiting on the legal equipment, and a user determines whether the purchased equipment is the legal equipment or not by scanning the two-dimensional codes and inquiring and verifying the anti-counterfeiting information included in the two-dimensional codes after purchasing the equipment. However, the two-dimensional code anti-counterfeiting method cannot detect pirated equipment obtained by modifying, replacing and reducing equipment hardware and the like, and the effect of the pirated equipment is poor.
Disclosure of Invention
An object of the present invention is to provide a new solution for detecting an electronic device.
According to a first aspect of the present invention, there is provided a method for detecting an electronic device, wherein the method is implemented by a server, and the method includes:
establishing a connection with a target electronic device; the target electronic equipment acquires an access address of the server and establishes connection between the target electronic equipment and the server;
receiving device hardware information of a target electronic device;
and detecting whether the target electronic equipment is legal equipment or not according to the equipment hardware information, and sending a detection result indicating whether the target electronic equipment is legal equipment or not to the target electronic equipment.
Optionally, the method further comprises:
when the target electronic equipment is detected to be the legal equipment, sending a starting instruction to the target electronic equipment, and triggering the target electronic equipment to start and run a hidden program corresponding to the starting instruction.
Optionally, the method further comprises:
and the detection result and the starting instruction are combined in a message which accords with a preset format and sent to the target electronic equipment.
Alternatively,
the concealment procedure is a fault detection procedure;
the method further comprises the following steps:
acquiring a fault detection result obtained by the target electronic equipment operating the fault detection program;
executing a fault repairing step according to the fault detection result;
the fault repairing step at least comprises one of triggering the target electronic device to start repairing software, triggering the target electronic device to restart, acquiring the device position of the target electronic device and triggering the target electronic device to start an anti-theft program.
Alternatively, the first and second liquid crystal display panels may be,
the hardware information of the equipment at least comprises hardware identification information of the equipment;
the step of detecting whether the target electronic equipment is the legal equipment comprises the following steps:
generating a first verification code through a preset verification algorithm according to the equipment hardware information;
matching the first verification code with a plurality of second verification codes stored locally:
when the second verification code matched with the first verification code exists, determining that the target electronic equipment is legal equipment, and when the second verification code matched with the first verification code does not exist, determining that the target electronic equipment is not legal equipment;
and the second verification code is generated in advance by the preset verification method according to the equipment hardware information of the legal equipment and is stored locally.
According to a second aspect of the present invention, there is provided a method for detecting an electronic device, comprising:
acquiring an access address of a server, and triggering target electronic equipment to establish connection with the server;
triggering a target electronic device to send device hardware information of the target electronic device to the server so as to trigger the server to detect whether the target electronic device is a legal device or not according to the device hardware information and generate a detection result;
and receiving a detection result which is sent by the server and indicates whether the target electronic equipment is legal equipment or not through the target electronic equipment.
Optionally, the obtaining an access address of the server includes:
acquiring an access address of a server by scanning two-dimensional code information which is arranged on target electronic equipment and contains the access address of the server; alternatively, the first and second electrodes may be,
receiving an access address of a server sent by external terminal equipment, wherein the external terminal equipment obtains the access address of the server by scanning two-dimensional code information which is arranged on target electronic equipment and contains the access address of the server; alternatively, the first and second electrodes may be,
and acquiring an access address of a server preset in the target electronic equipment.
Optionally, the method further comprises:
and the target electronic equipment receives a starting instruction sent by the server and starts and runs a hidden program corresponding to the starting instruction, wherein the starting instruction is sent to the target electronic equipment by the server when the target electronic equipment is detected to be legal equipment.
According to a third aspect of the present invention, there is provided a server, comprising:
a memory for storing executable instructions;
and the processor is used for operating the server to execute the detection method of the electronic equipment according to the control of the executable instruction.
According to a fourth aspect of the present invention, there is provided a detection apparatus for an electronic device, comprising:
a memory for storing executable instructions;
and the processor is used for operating the detection device to execute the detection method of the electronic equipment according to the control of the executable instruction.
According to a fifth aspect of the present invention, there is provided a detection system, comprising:
a detected target electronic device;
the server provided by the third aspect of the present invention;
and the fourth aspect of the invention provides a detection device for an electronic device.
Optionally, the detection system further comprises:
the terminal equipment is used for scanning two-dimensional code information which is arranged on the electronic equipment and contains the access address of the server so as to obtain the access address of the server, and sending the access address of the server to the detection device of the electronic equipment, so that the detection device triggers the electronic equipment to establish connection with the server.
According to one embodiment of the disclosure, the target electronic equipment is triggered to directly establish connection with the server, and in the subsequent detection process, the target electronic equipment directly sends the hardware information of the target electronic equipment to the server without other transfer equipment such as terminal equipment, so that the hardware information safety of the electronic equipment is ensured; at the server side, the server detects the target electronic equipment according to the equipment hardware information to determine whether the target electronic equipment is legal or not, and compared with the existing mode of detecting by inquiring the anti-counterfeiting two-dimensional code indicating whether the equipment is legal or not, the embodiment of the invention can accurately detect pirated equipment obtained by modifying, replacing, reducing equipment hardware and the like, improve the legal detection accuracy rate and improve the effect of the pirated equipment.
Other features of the present invention and advantages thereof will become apparent from the following detailed description of exemplary embodiments thereof, which proceeds with reference to the accompanying drawings.
Drawings
The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments of the invention and together with the description, serve to explain the principles of the invention.
Fig. 1 is a block diagram showing an example of a hardware configuration of a system that can be used to implement an embodiment of the present invention.
Fig. 2 shows a flowchart of a detection method of an electronic device of the first embodiment of the present invention.
Fig. 3 shows a further flowchart of the detection method of the electronic device of the first embodiment of the present invention.
Fig. 4 shows an exemplary diagram of a URL Scheme protocol format.
Fig. 5 shows a block diagram of a server of the first embodiment of the present invention.
Fig. 6 shows a flowchart of a detection method of an electronic device of a second embodiment of the present invention.
Fig. 7 shows a block diagram of a detection apparatus of an electronic device of a second embodiment of the present invention.
Fig. 8 shows a block diagram of a detection system of a third embodiment of the present invention.
Fig. 9 shows a flowchart of an example of a detection method of an electronic device of the third embodiment of the present invention.
Detailed Description
Various exemplary embodiments of the present invention will now be described in detail with reference to the accompanying drawings. It should be noted that: the relative arrangement of the components and steps, the numerical expressions and numerical values set forth in these embodiments do not limit the scope of the present invention unless specifically stated otherwise.
The following description of at least one exemplary embodiment is merely illustrative in nature and is in no way intended to limit the invention, its application, or uses.
Techniques, methods, and apparatus known to those of ordinary skill in the relevant art may not be discussed in detail but are intended to be part of the specification where appropriate.
In all examples shown and discussed herein, any particular value should be construed as merely illustrative, and not limiting. Thus, other examples of the exemplary embodiments may have different values.
It should be noted that: like reference numbers and letters refer to like items in the following figures, and thus, once an item is defined in one figure, further discussion thereof is not required in subsequent figures.
< hardware configuration >
As shown in fig. 1, system 1000 includes a server 1100, a client 1200, and a network 1300.
Web server 1100 may be, for example, a blade server or the like. In one example, the server 1100 can be a computer. In another example, the server 1100 may be as shown in FIG. 1, including a processor 1110, a memory 1120, an interface device 1130, a communication device 1140, a display device 1150, and an input device 1160. Although the server may also include speakers, microphones, etc., these components are not relevant to the present invention and are omitted here. The processor 1110 may be, for example, a central processing unit CPU, a microprocessor MCU, or the like. The memory 1120 includes, for example, a ROM (read only memory), a RAM (random access memory), a nonvolatile memory such as a hard disk, and the like. The interface device 1130 includes, for example, a USB interface, a serial interface, and the like. The communication device 1140 is capable of wired or wireless communication, for example. The display device 1150 is, for example, a liquid crystal display panel. Input devices 1160 may include, for example, a touch screen, a keyboard, and the like.
Client 1200 may be a laptop (1200-1), desktop (1200-2), cell phone (1200-3), tablet (1200-4), etc. As shown in fig. 1, client 1200 may include a processor 1210, memory 1220, interface device 1230, communication device 1240, display device 1250, input device 1260, speaker 1270, microphone 1280, and so on. The processor 1210 may be a central processing unit CPU, a microprocessor MCU, or the like. The memory 1220 includes, for example, a ROM (read only memory), a RAM (random access memory), a nonvolatile memory such as a hard disk, and the like. The interface device 1230 includes, for example, a USB interface, a headphone interface, and the like. The communication device 1240 can perform wired or wireless communication, for example. The display device 1250 is, for example, a liquid crystal display, a touch display, or the like. The input device 1260 may include, for example, a touch screen, a keyboard, and the like. A user can input/output voice information through the speaker 1270 and the microphone 1280.
The communication network 1300 may be a wireless network or a wired network, and may be a local area network or a wide area network. In the configuration environment 1000 shown in FIG. 1, clients 1200-1, 1200-2, 1200-3, 1200-4 and web server 1100 may communicate over a communications network 1300.
The configuration environment 1100 shown in FIG. 1 is illustrative only and is not intended to limit the invention, its application, or uses in any way. In an embodiment of the present invention, the memory 1120 of the server 1100 is configured to store instructions for controlling the processor 1110 to operate so as to execute a detection method of any electronic device provided by the embodiment of the present invention. In addition, the memory 1220 of the client 1200 is configured to store instructions for controlling the processor 1210 to operate to perform any one of the detection methods of an electronic device according to the embodiments of the present invention. It will be appreciated by those skilled in the art that although a number of devices are shown in FIG. 1 for both server 1100 and client 1200, the present invention may refer to only some of the devices, for example, server 1100 may refer to only processor 1110 and storage 1120, or client 1200 may refer to only processor 1210 and storage 1220, etc. The skilled person can design the instructions according to the disclosed solution. How the instructions control the operation of the processor is well known in the art and will not be described in detail herein.
< first embodiment >
< method >
In an embodiment, a method of detecting an electronic device is provided. The electronic device may be any device having hardware such as a processor, memory, controller, operator, etc.
The detection method of the electronic equipment is implemented through a server. A server is any device that provides services such as data processing, management, and the like. For example, the server may be a blade server or a cloud server. In one example, the hardware configuration of the server may be the server 1100 as shown in FIG. 1.
As shown in fig. 2, the method for detecting the electronic device includes: steps S2100-S2300.
In step S2100, a connection with a target electronic device is established.
The target electronic equipment acquires the access address of the server and establishes connection between the target electronic equipment and the server.
The access address of the server is a network address where the server can be accessed through a network. The access address of the server may be in the form of, for example, a URL (Uniform Resource Locator).
In this embodiment, the server may respond to a request from the target electronic device or the external terminal device, and provide its own access address in real time; the server may also preset its own access address in the target electronic device by burning firmware, network issuing, and the like after generating its own access address, so as to provide its own access address, for example, the two-dimensional code information including the access address of the server may be set on the target electronic device or on a specification of the target electronic device, so that the target electronic device or an external terminal device scans the two-dimensional code to obtain the access address of the server; alternatively, the access address of the server may be pre-stored in a local storage of the target electronic device, the target electronic device may provide a trigger entry such as a click button, and the access address of the server may be automatically read after the user operates the trigger entry.
Step S2200 receives device hardware information of the target electronic device.
The device hardware information is related information of hardware included in the corresponding electronic device, and may be set according to a specific hardware type, a hardware number, a hardware attribute parameter, and the like included in the electronic device. For example, in one example, the device hardware information includes at least hardware identification information of the electronic device. The hardware identification information is used to uniquely identify hardware included in the electronic device. For example, the hardware identification information may include a baseband version number, a processor number, a memory number, a motherboard number, etc. of the electronic device.
Step S2300, detecting whether the target electronic device is a genuine device according to the device hardware information, and transmitting a detection result indicating whether the target electronic device is a genuine device to the target electronic device.
In the embodiment, the server is directly connected with the target electronic equipment, the hardware information of the electronic equipment can be received without other transfer equipment such as terminal equipment in the subsequent detection process, the safety of the hardware information of the electronic equipment is ensured, the server detects the target electronic equipment according to the hardware information of the equipment to determine whether the target electronic equipment is legal equipment, and compared with the existing detection mode of inquiring the anti-counterfeiting two-dimensional code indicating whether the equipment is legal or not, the method can accurately detect the pirate equipment obtained by modifying, replacing, reducing the hardware of the equipment and the like, improve the accuracy of legal detection and improve the effect of the pirate prevention equipment.
In one example, the device hardware information at least includes hardware identification information of the electronic device, and the step of detecting whether the target electronic device is a legal device includes: steps S2310-S2320.
Step S2310, a first verification code is generated according to the device hardware information by a preset verification algorithm.
In this example, the verification algorithm is an algorithm for generating a verification code for verifying whether the electronic device is a legal device according to the device hardware information, and may be set according to a specific application scenario or application requirements. For example, the verification algorithm may be a obfuscation algorithm, a hash algorithm, or an MD5 message digest algorithm, etc., which may be calculated according to the input information to generate a unique character string as the first verification code.
Step S2320, matching the first verification code with a plurality of second verification codes stored locally:
and when the second verification code matched with the first verification code does not exist, determining that the target electronic equipment is not the legal equipment.
In this example, the second verification code is generated in advance by a preset verification method according to the device hardware information of the legal device and is stored locally. In practical application, a manufacturer that produces the legal-copy device may generate, according to the device hardware information of each legal-copy device, a corresponding second verification code by using a preset verification method and store the second verification code in a local storage (for example, a database of the server) of the server, so as to implement the detection method for the electronic device according to this embodiment. When a second verification code identical to the first verification code exists in the local storage, it is determined that a second verification code matching the first verification code exists.
It should be understood that, in order to further enhance the security, the server may further store each second verification code in a uniquely corresponding password string or mapping string according to a preset encryption algorithm or mapping rule. Correspondingly, when a password character string or a mapping character string uniquely corresponding to a second verification code identical to the first verification code exists in the local existence, the second verification code matched with the first verification code is determined to exist.
In an example, as shown in fig. 4, the method for detecting an electronic device may further include:
step S2400, when it is detected that the target electronic device is a legal device, a start instruction is sent to the target electronic device, and the target electronic device is triggered to start and run a hidden program corresponding to the start instruction.
The hidden program is an application program which is preset in the legal device, invisible to a device user and incapable of being started by the user. In this example, the hidden program can provide application-specific functionality that is only available to the user of the legal device.
When the target electronic equipment is the legal equipment, the starting instruction is sent to the target electronic equipment, and the target electronic equipment is triggered to automatically start and operate the hidden program, so that a user of the legal equipment can obtain a specific application function, and the user experience is improved.
For example, the hidden program may be a device locking program, and when the server detects that the target electronic device is a genuine device, the server queries a record that the target electronic device is reported to be stolen, and may trigger the target electronic device to run the device locking program by sending a start instruction, so as to lock itself, thereby preventing the target electronic device from being misused illegally.
As another example, the hiding procedure may be a fault detection procedure. The fault detection program is an application program for acquiring device fault information and logs by means of detection, inquiry, and the like. Correspondingly, the detection method of the electronic device in this example further includes: steps S2410-S2420.
Step S2410, obtaining a fault detection result obtained by the target electronic device running the fault detection program.
The fault detection result comprises equipment fault information and logs obtained by running a fault detection program by the target electronic equipment. The equipment failure information may include a failure type, a failure code. The log may include the time of the failure transmission, historical failure handling conditions, and the like.
Step S2420, a failure recovery step is performed according to the failure detection result.
In this example, the fault repairing step includes at least one of triggering the target electronic device to start the repair software, triggering the target electronic device to restart, acquiring the device location of the target electronic device, and triggering the target electronic device to start the anti-theft program.
In this example, when the target electronic device is a genuine device, the server may trigger the target electronic device to run a fault detection program to obtain a fault detection result, so as to selectively execute a corresponding fault repairing step according to the fault detection result, and thus, the fault of the target electronic device may be repaired after being accurately positioned in a self-adaptive manner, and the fault detection and repair efficiency is improved. The method can overcome the defects that the actual fault of the equipment cannot be accurately positioned due to the fact that the fault is reported by the equipment user, time and labor cost are too high due to the fact that the fault detection and repair are finished by the aid of after-sales personnel, and the like.
It should be understood that, in this example, when it is detected that the target electronic device is not the genuine device, the server may also send a push message or a trigger instruction to the target electronic device when sending the detection result to the target electronic device, and trigger the target electronic device to remind the user to purchase the genuine device in a form of popping up a prompt box, highlighting a message, etc.; or triggering the target electronic equipment to send corresponding information to the terminal equipment connected with the target electronic equipment, and enabling the terminal equipment to remind a user of purchasing the legal equipment in the forms of popping up a prompt box, pushing a message by highlight messages and the like.
In this case, the detection result and the start instruction may be combined in a message conforming to a preset format and transmitted to the target electronic device. The target electronic equipment can simultaneously obtain the detection effect and operate the corresponding hidden program according to the starting instruction by analyzing the message, so that the equipment detection efficiency is improved.
The preset format is a message format based on which the detection result and the starting instruction are spliced into a message, and can be set according to a specific application scene or application requirements.
For example, the preset format may be a message format conforming to the URL Scheme protocol. The URL Scheme protocol is a jump-in-page protocol, and supports protocol customization according to personalized requirements so as to realize jump of various customized pages corresponding to the jump.
Taking the example that a client application registers a URL scheme to an operating system, where the URL scheme is used to start the client application from a browser or other applications, and through a specified URL field, the client application can directly open some specific pages, such as a product detail page, an activity detail page, and the like, after being invoked; the client application may also be triggered to perform certain specified actions, such as completing a payment, etc.; displaying a certain page within the client application may also be invoked directly within the client application by means of an html page, etc.
The URL Scheme protocol format usually includes several fields of Scheme, host, path, port, query. Wherein, the scheme field represents the scheme protocol name; the host field represents which address field the scheme acts on, the path field represents a page path specified by the scheme protocol, and the host field and the port field can form an authority field; the port field represents the port number of the path; the query represents a parameter to be transferred, and when the parameter to be transferred is plural, plural values can be transferred in combination using "&". One example may be as shown in fig. 4.
In this example, the server may combine the detection result with the start instruction in a format conforming to the URL Scheme protocol to obtain a message of a customized URL Scheme protocol, and send the message to the target electronic device, and the target electronic device analyzes the message, so that the detection effect may be obtained at the same time, and a corresponding hidden program may be run according to the start instruction, thereby improving the device detection efficiency.
< Server >
In this embodiment, there is also provided a server 200, as shown in fig. 5, including:
a memory 210 for storing executable instructions;
and the processor 220 is configured to execute the server to execute the detection method of the electronic device provided in the first embodiment according to the control of the executable instruction.
In this embodiment, the server 200 may be embodied in various forms of entities. For example, the server 200 may be any device having a memory and a processor, for example, a blade server or a cloud server providing a device detection function. Alternatively, the server 200 may be the server 1100 shown in fig. 1, and may include other hardware configurations such as a display device.
Those skilled in the art will appreciate that server 200 may be implemented in a variety of ways. For example, server 200 may be implemented by an instruction configuration processor. For example, the server 200 may be implemented by storing instructions in ROM and reading the instructions from ROM into a programmable device when the device is started. For example, the server 200 may be consolidated into a dedicated device (e.g., ASIC). The server 200 may be divided into separate units or may be implemented by combining them together. The server 200 may be implemented in one of the various implementations described above, or may be implemented in a combination of two or more of the various implementations described above.
The method for detecting electronic equipment and the server provided in the embodiment have been described above with reference to the accompanying drawings and examples, the server is directly connected to the target electronic equipment, the hardware information of the target electronic equipment can be directly received without being identified by other transfer equipment such as a terminal in the detection process, the security of the hardware information of the electronic equipment is ensured, and the server can detect the target electronic equipment according to the hardware information of the equipment to determine whether the target electronic equipment is genuine equipment.
< second embodiment >
< method >
In an embodiment, a method for detecting an electronic device is provided, which may be implemented by a detection apparatus of the electronic device. The electronic device may be any device having hardware such as a processor, a memory, a controller, and an arithmetic unit, and may be a head-mounted electronic device such as VR glasses, for example. The detection device of the electronic device may be a device (for example, a plug-in, an insert, or a software patch developed by a third party) that establishes a communication connection with the electronic device, or may be a functional module provided inside the electronic device, an application installed in the electronic device, or the like.
As shown in fig. 6, the method for detecting an electronic device includes: steps S3100-S3300.
Step S3100, acquiring an access address of the server, and triggering the target electronic device to establish a connection with the server.
In this embodiment, acquiring the access address of the server may include:
and acquiring the access address of the server by scanning the two-dimensional code information which is arranged on the target electronic equipment and contains the access address of the server.
Alternatively, acquiring the access address of the server may include:
receiving an access address of a server sent by external terminal equipment, wherein the external terminal equipment obtains the access address of the server by scanning two-dimensional code information which is arranged on target electronic equipment and contains the access address of the server; the external terminal device may be any terminal device that establishes a communication connection with the target electronic device, and may be a mobile phone, for example.
Alternatively, acquiring the access address of the server may include:
acquiring an access address of a server preset in target electronic equipment;
the server can preset the access address of the server in the target electronic device through burning firmware, network issuing and other forms, in addition, the target electronic device can also provide a trigger entrance such as a click button, and the access address of the server is automatically acquired after a user operates the trigger entrance.
In this embodiment, the access address of the server is acquired and the target electronic device is triggered to establish communication connection with the server, so that the target electronic device can be triggered to directly send the hardware information of the device to the server in combination with the subsequent steps, and the hardware information security of the electronic device is ensured without passing through other relay devices such as terminal devices.
Step S3200, triggering the target electronic device to send device hardware information of the target electronic device to the server, so as to trigger the server to detect whether the target electronic device is a genuine device according to the device hardware information and generate a detection result.
The specific content of the hardware device information of the target electronic device has been described in detail in the first embodiment, and is not described herein again.
The target electronic equipment is triggered to send the equipment hardware information to the server, the server can be triggered to detect the target electronic equipment according to the equipment hardware information so as to determine whether the target electronic equipment is legal equipment, and compared with the existing mode of detecting whether the equipment is legal by inquiring the anti-counterfeiting two-dimensional code indicating whether the equipment is legal, the method can accurately detect pirated equipment obtained by modifying, replacing and reducing equipment hardware and the like, improve the accuracy rate of legal detection and improve the effect of anti-pirate equipment.
In step S3300, the target electronic device receives a detection result indicating whether the target electronic device is a genuine device, which is sent by the server.
The detection result received by the target electronic equipment is obtained by the server through detecting the target electronic equipment according to the equipment hardware information, so that the pirate equipment obtained through modifying, replacing, reducing equipment hardware and the like can be accurately detected, the accuracy of the legal copyright detection is improved, and the effect of the pirate equipment is improved.
In this embodiment, the method for detecting the electronic device may further include:
and the target electronic equipment receives the starting instruction sent by the server and starts and operates the hidden program corresponding to the starting instruction.
The starting instruction is sent to the target electronic equipment by the server when the target electronic equipment is detected to be the legal equipment. How the server detects whether the target electronic device is a legal device is described in detail in the first embodiment, and is not described herein again.
The hidden program is an application program which is preset in the legal device, invisible to a device user and incapable of being started by the user. Hidden programs can provide specific application functionality that is only available to the user of the original device.
The target electronic equipment receives a starting instruction sent by the server when the target electronic equipment is detected to be the legal equipment, and the hidden program is automatically started and operated, so that a user of the legal equipment can obtain a specific application function, and the user experience is improved.
The hiding procedure may be a fault detection procedure or a device locking procedure, and specific relevant contents have been described in detail in the first embodiment, and are not described herein again.
In addition, the start instruction and the detection result may be combined into a piece of information conforming to a preset format, so as to improve the detection execution efficiency, and specific relevant contents have been described in detail in the first embodiment and are not described herein again.
< detection device for electronic device >
In this embodiment, a detection apparatus 300 of an electronic device is further provided, as shown in fig. 7, including:
a memory 310 for storing executable instructions;
the processor 320 is configured to execute the detection apparatus 300 to perform the detection method of the electronic device provided in the second embodiment according to the control of the executable instruction.
In the present embodiment, the electronic device may be any device having hardware such as a processor, a memory, a controller, and an arithmetic unit, and may be a head-mounted electronic device such as VR glasses, for example. In one example, the electronic device may be a client 1200 as shown in FIG. 1.
In this embodiment, the detecting apparatus 300 of the electronic device may be embodied in various physical forms. For example, the electronic device 300 may be any device having a memory and a processor, and may be a device (for example, a plug-in, an insert, or a software patch) that establishes a communication connection with the detected target electronic device, a functional module provided inside the detected target electronic device, or a device located in the detected target electronic device. For example, the detected electronic device is a client 1200 as shown in fig. 1, and the detection apparatus 300 of the electronic device may be disposed in the client 1200, and the multiplexing client 1200 includes a memory and a processor.
It will be appreciated by those skilled in the art that the detection apparatus 300 of the electronic device may be implemented in various ways. The detection apparatus 300 of the electronic device may be implemented, for example, by instructing a configuration processor. For example, the detection apparatus 300 of the electronic device may be implemented by storing instructions in a ROM and reading the instructions from the ROM into a programmable device when the device is started. For example, the detection apparatus 300 of the electronic device may be solidified into a dedicated device (e.g., ASIC). The detection means 300 of the electronic device may be divided into mutually independent units or they may be implemented by being combined together. The detection apparatus 300 of the electronic device may be implemented by one of the various implementations described above, or may be implemented by a combination of two or more of the various implementations described above.
The detection method and the detection device for the electronic device provided in the present embodiment have been described above with reference to the drawings and examples, the access address of the server is acquired, the target electronic equipment is triggered to establish communication connection with the server, the target electronic equipment is triggered to send the hardware information of the target electronic equipment to the server, other transfer equipment such as terminal equipment is not needed, the hardware information safety of the electronic equipment is ensured, and the server can be triggered to detect the target electronic equipment according to the equipment hardware information so as to determine whether the target electronic equipment is legal or not, and compared with the existing mode of detecting whether the equipment is legal or not by inquiring the anti-counterfeiting two-dimensional code indicating the equipment, the method can accurately detect pirate equipment obtained by modifying, replacing and reducing equipment hardware and the like, improve the legal detection accuracy rate and improve the effect of the pirate prevention equipment.
< third embodiment >
In the present embodiment, there is provided a detection system 500, as shown in fig. 8, including:
the detected target electronic device 400;
the server 200 provided in the first embodiment;
and the second embodiment provides a detection device 300 of an electronic apparatus.
In the present embodiment, the target electronic device 400 to be detected may be any electronic device having hardware such as a processor, a memory, a controller, an arithmetic unit, and the like, and may be a head-mounted electronic device such as VR glasses, for example. In one example, the target electronic device 400 may be a client 1200 as shown in fig. 1.
In one example, the detection system 500 may be the system 1000 shown in fig. 1, the target electronic device 400 is the client 1200 shown in fig. 1, the server 200 is the server 1100 shown in fig. 1, and the detection apparatus 300 of the electronic device is located in the target electronic device 400 and is implemented by multiplexing the memory and the processor included in the target electronic device 400.
In another example, the detection system 500 may further include: the terminal device 600 (not shown in fig. 8). The terminal device 600 is configured to scan the two-dimensional code information, which is set on the target electronic device 400 and includes the access address of the server 200, to obtain the access address of the server 200, and send the access address of the server 200 to the detection apparatus 300 of the electronic device, so that the detection apparatus 300 of the electronic device triggers the target electronic device 400 to establish a connection with the server 200. The terminal device 600 may be any electronic device having a function of scanning two-dimensional code information and communicating with another device, and may also be a client 1200 as shown in fig. 1, for example.
The method for detecting an electronic device implemented by the detection system 500 in this embodiment will be further illustrated with reference to fig. 9, in this case, the detection apparatus 300 of the electronic device is located in the target electronic device 400 to be detected, and the hidden procedure is a fault detection procedure.
As shown in fig. 9, the method for detecting the electronic device includes: steps S401-S410.
In step S401, the detection device 300 of the electronic device scans the two-dimensional code information including the access address of the server 200, obtains the access address of the server 200, and establishes a connection with the server 200.
Specifically, the detection device 300 of the electronic device may trigger the electronic target electronic device 400 to invoke a camera set by the target electronic device 400 itself to scan two-dimensional code information including an access address of the server 200 (the two-dimensional code information may be set on the target electronic device 400 and in an area where the camera of the target electronic device 400 can shoot), and acquire the scanned two-dimensional code information through an interface device provided by the camera of the target electronic device 400 and analyze the two-dimensional code information, so as to acquire the access address of the server 200.
In step S402, the detection apparatus 300 of the electronic device triggers the target electronic device 400 to read its own device hardware information.
In step S403, the detection device 300 of the electronic device triggers the target electronic device 400 to send its own device hardware information to the server 200.
In step S404, the server 200 detects whether the target electronic device 400 is a legal device according to the device hardware information of the target electronic device 400.
How to detect whether the electronic device is a legal device according to the device hardware information is described in detail in the first embodiment, and is not described herein again.
In step S405, the server 200 transmits a detection result indicating whether the target electronic device 400 is a genuine device to the target electronic device 400.
In step S406, the target electronic device 400 analyzes the detection result to determine whether the target electronic device 400 is a legal device, and if so, the process proceeds to step S407, and if not, the process proceeds to step S410.
In step S407, the target electronic device 400 analyzes the start instruction sent in a message combined with the search result, and triggers the start of the operation failure detection program according to the start instruction.
In step S408, the target electronic device 400 transmits the failure detection result obtained by operating the failure detection program to the server 200.
Step S409, the server 200 triggers and executes a corresponding fault repairing step according to the fault detection result.
In step S410, the target electronic device 400 prompts the user to purchase the genuine device.
The detection system provided in this embodiment has been described above with reference to the accompanying drawings and examples, where an access address of a server is acquired by a detection device of an electronic device, and a target electronic device is triggered to establish a communication connection with the server, and in a subsequent detection process, the target electronic device may directly send device hardware information of the target electronic device to the server, and other relay devices such as a terminal device are not required, so that the security of the hardware information of the electronic device is ensured; the detection device of the electronic equipment triggers the target electronic equipment to send the equipment hardware information of the target electronic equipment to the server, the triggering server detects the target electronic equipment according to the equipment hardware information of the target electronic equipment to determine whether the electronic equipment is legal equipment, and compared with the existing mode of detecting by inquiring the anti-counterfeiting two-dimensional code indicating whether the equipment is legal, the method realizes accurate detection of pirate equipment obtained by modifying, replacing, reducing equipment hardware and the like, improves the accuracy of legal detection, and improves the effect of anti-pirate equipment.
The present invention may be a system, method and/or computer program product. The computer program product may include a computer-readable storage medium having computer-readable program instructions embodied therewith for causing a processor to implement various aspects of the present invention.
The computer-readable storage medium may be a tangible device that can hold and store the instructions for use by the instruction execution device. The computer readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, semiconductor memory device, or any suitable combination of the foregoing. More specific examples (a non-exhaustive list) of the computer readable storage medium would include the following: a portable computer diskette, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), a Static Random Access Memory (SRAM), a portable compact disc read-only memory (CD-ROM), a Digital Versatile Disc (DVD), a memory stick, a floppy disk, a mechanical coding device, such as punch cards or in-groove projection structures having instructions stored thereon, and any suitable combination of the foregoing. Computer-readable storage media as used herein is not to be construed as transitory signals per se, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through a waveguide or other transmission medium (e.g., optical pulses through a fiber optic cable), or electrical signals transmitted through electrical wires.
The computer-readable program instructions described herein may be downloaded from a computer-readable storage medium to a respective computing/processing device, or to an external computer or external storage device via a network, such as the internet, a local area network, a wide area network, and/or a wireless network. The network may include copper transmission cables, fiber optic transmission, wireless transmission, routers, firewalls, switches, gateway computers and/or edge servers. The network adapter card or network interface in each computing/processing device receives computer-readable program instructions from the network and forwards the computer-readable program instructions for storage in a computer-readable storage medium in the respective computing/processing device.
The computer program instructions for carrying out operations of the present invention may be assembler instructions, Instruction Set Architecture (ISA) instructions, machine-related instructions, microcode, firmware instructions, state setting data, or source or object code written in any combination of one or more programming languages, including an object oriented programming language such as Smalltalk, C + + or the like and conventional procedural programming languages, such as the "C" programming language or similar programming languages. The computer-readable program instructions may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the case of a remote computer, the remote computer may be connected to the user's computer through any type of network, including a Local Area Network (LAN) or a Wide Area Network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet service provider). In some embodiments, aspects of the present invention are implemented by personalizing an electronic circuit, such as a programmable logic circuit, a Field Programmable Gate Array (FPGA), or a Programmable Logic Array (PLA), with state information of computer-readable program instructions, which can execute the computer-readable program instructions.
Aspects of the present invention are described herein with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems) and computer program products according to embodiments of the invention. It will be understood that each block of the flowchart illustrations and/or block diagrams, and combinations of blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer-readable program instructions.
These computer-readable program instructions may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks. These computer-readable program instructions may also be stored in a computer-readable storage medium that can direct a computer, programmable data processing apparatus, and/or other devices to function in a particular manner, such that the computer-readable medium storing the instructions comprises an article of manufacture including instructions which implement the function/act specified in the flowchart and/or block diagram block or blocks.
The computer readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other devices to cause a series of operational steps to be performed on the computer, other programmable apparatus or other devices to produce a computer implemented process such that the instructions which execute on the computer, other programmable apparatus or other devices implement the functions/acts specified in the flowchart and/or block diagram block or blocks.
The flowchart and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, 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 instructions, which comprises one or more executable instructions for implementing the specified logical function(s). In some 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. It is well known to those skilled in the art that implementation by hardware, by software, and by a combination of software and hardware are equivalent.
Having described embodiments of the present invention, the foregoing description is intended to be exemplary, not exhaustive, and not limited to the embodiments disclosed. Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the described embodiments. The terminology used herein is chosen in order to best explain the principles of the embodiments, the practical application, or improvements made to the technology in the marketplace, or to enable others of ordinary skill in the art to understand the embodiments disclosed herein. The scope of the invention is defined by the appended claims.

Claims (9)

1. A detection method of an electronic device, implemented by a server, includes:
establishing a connection with a target electronic device; the target electronic equipment directly establishes connection between the target electronic equipment and the server by acquiring the access address of the server;
receiving device hardware information of a target electronic device, wherein the device hardware information is obtained by reading the device hardware information by the target electronic device;
detecting whether the target electronic device is a genuine device according to the device hardware information, and transmitting a detection result indicating whether the target electronic device is the genuine device to the target electronic device,
wherein the method further comprises:
when detecting that the target electronic equipment is legal equipment, sending a starting instruction to the target electronic equipment, triggering the target electronic equipment to start and run a hidden program corresponding to the starting instruction,
the detection result and the starting instruction are combined in a message which conforms to the format of the URL Scheme protocol and are sent to the target electronic equipment,
when the target electronic equipment is detected not to be the legal equipment, triggering the target electronic equipment to remind a user to purchase the legal equipment in a form of popping up a prompt box and pushing a message by a highlight message; or triggering the target electronic equipment to send corresponding information to the terminal equipment connected with the target electronic equipment, and enabling the terminal equipment to remind a user of purchasing the legal copy equipment in a form of popping up a prompt box and pushing a message by highlight messages.
2. The method of claim 1,
the concealment procedure is a fault detection procedure;
the method further comprises the following steps:
acquiring a fault detection result obtained by the target electronic equipment operating the fault detection program;
executing a fault repairing step according to the fault detection result;
the fault repairing step at least comprises one of triggering the target electronic device to start repairing software, triggering the target electronic device to restart, acquiring the device position of the target electronic device and triggering the target electronic device to start an anti-theft program.
3. The method of claim 1,
the device hardware information at least comprises hardware identification information of the electronic device;
the step of detecting whether the target electronic equipment is the legal equipment comprises the following steps:
generating a first verification code through a preset verification algorithm according to the equipment hardware information;
matching the first verification code with a plurality of second verification codes stored locally:
when the second verification code matched with the first verification code exists, determining that the target electronic equipment is legal equipment, and when the second verification code matched with the first verification code does not exist, determining that the target electronic equipment is not legal equipment;
and the second verification code is generated in advance by the preset verification method according to the equipment hardware information of the legal equipment and is stored locally.
4. A method for detecting an electronic device, comprising:
acquiring an access address of a server, and triggering target electronic equipment to directly establish connection with the server;
triggering a target electronic device to send device hardware information of the target electronic device to the server so as to trigger the server to detect whether the target electronic device is a legal device or not according to the device hardware information and generate a detection result, wherein the device hardware information is obtained by reading the target electronic device by the target electronic device;
the target electronic equipment receives the detection result which is sent by the server and indicates whether the target electronic equipment is legal equipment or not,
wherein the method further comprises:
the target electronic equipment receives a starting instruction sent by the server, starts and runs a hidden program corresponding to the starting instruction, wherein the starting instruction is sent to the target electronic equipment by the server when the target electronic equipment is detected to be legal equipment,
the detection result and the starting instruction are combined in a message which conforms to the format of the URL Scheme protocol and are sent to the target electronic equipment,
when the target electronic equipment is detected not to be the legal equipment, triggering the target electronic equipment to remind a user to purchase the legal equipment in a form of popping up a prompt box and pushing a message by a highlight message; or triggering the target electronic equipment to send corresponding information to the terminal equipment connected with the target electronic equipment, and enabling the terminal equipment to remind a user of purchasing the legal copy equipment in a form of popping up a prompt box and pushing a message by highlight messages.
5. The method of claim 4, wherein obtaining the access address of the server comprises:
acquiring an access address of a server by scanning two-dimensional code information which is arranged on target electronic equipment and contains the access address of the server; alternatively, the first and second electrodes may be,
receiving an access address of a server sent by external terminal equipment, wherein the external terminal equipment obtains the access address of the server by scanning two-dimensional code information which is arranged on target electronic equipment and contains the access address of the server; alternatively, the first and second electrodes may be,
and acquiring an access address of the server preset in the target electronic equipment.
6. A server, comprising:
a memory for storing executable instructions;
a processor, configured to execute the server to perform the detection method of the electronic device according to any one of claims 1 to 3, according to the control of the executable instruction.
7. A detection apparatus for an electronic device, comprising:
a memory for storing executable instructions;
a processor for operating the detection device to execute the detection method of the electronic device according to the control of the executable instruction, wherein the method is as claimed in claim 4 or 5.
8. A detection system, comprising:
a detected target electronic device;
the server of claim 6;
and a detection apparatus of an electronic device as claimed in claim 7.
9. The detection system of claim 8, further comprising: the terminal equipment is used for scanning two-dimensional code information which is arranged on the electronic equipment and contains the access address of the server so as to obtain the access address of the server, and sending the access address of the server to the detection device of the electronic equipment, so that the detection device triggers the electronic equipment to establish connection with the server.
CN201811354348.5A 2018-11-14 2018-11-14 Detection method, detection device, server and detection system of electronic equipment Active CN109597727B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811354348.5A CN109597727B (en) 2018-11-14 2018-11-14 Detection method, detection device, server and detection system of electronic equipment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811354348.5A CN109597727B (en) 2018-11-14 2018-11-14 Detection method, detection device, server and detection system of electronic equipment

Publications (2)

Publication Number Publication Date
CN109597727A CN109597727A (en) 2019-04-09
CN109597727B true CN109597727B (en) 2022-08-12

Family

ID=65958032

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811354348.5A Active CN109597727B (en) 2018-11-14 2018-11-14 Detection method, detection device, server and detection system of electronic equipment

Country Status (1)

Country Link
CN (1) CN109597727B (en)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112906913A (en) * 2019-11-18 2021-06-04 英业达科技有限公司 Electronic device and detection method thereof
CN111158969B (en) * 2019-12-31 2024-03-08 奇安信科技集团股份有限公司 Data processing method, electronic device and storage medium
CN111599446A (en) * 2020-05-15 2020-08-28 青岛海信医疗设备股份有限公司 Management method of medical display equipment and related equipment
CN112231780A (en) * 2020-09-25 2021-01-15 西安科芮智盈信息技术有限公司 Method and device for detecting video image line connection state
CN114626868A (en) * 2022-03-22 2022-06-14 歌尔股份有限公司 Intelligent doorbell piracy prevention method and system, intelligent doorbell and readable storage medium

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103646044A (en) * 2013-11-19 2014-03-19 北京奇虎科技有限公司 Mobile terminal identification method and device
CN103825734A (en) * 2012-11-16 2014-05-28 深圳市腾讯计算机系统有限公司 Sensitive operation verification method, terminal equipment, server and verification system
CN105099814A (en) * 2015-06-19 2015-11-25 百度在线网络技术(北京)有限公司 Intelligent router fault detection method and device
CN106921969A (en) * 2015-12-28 2017-07-04 阿里巴巴集团控股有限公司 Terminal authenticity verification method, apparatus and system

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10152402B2 (en) * 2017-02-15 2018-12-11 Wyse Technology L.L.C. Supporting multiple streams for a redirected USB device

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103825734A (en) * 2012-11-16 2014-05-28 深圳市腾讯计算机系统有限公司 Sensitive operation verification method, terminal equipment, server and verification system
CN103646044A (en) * 2013-11-19 2014-03-19 北京奇虎科技有限公司 Mobile terminal identification method and device
CN105099814A (en) * 2015-06-19 2015-11-25 百度在线网络技术(北京)有限公司 Intelligent router fault detection method and device
CN106921969A (en) * 2015-12-28 2017-07-04 阿里巴巴集团控股有限公司 Terminal authenticity verification method, apparatus and system

Also Published As

Publication number Publication date
CN109597727A (en) 2019-04-09

Similar Documents

Publication Publication Date Title
CN109597727B (en) Detection method, detection device, server and detection system of electronic equipment
JP6680840B2 (en) Automatic detection of fraudulent digital certificates
US11050555B2 (en) Method for remotely acquiring secret key, POS terminal and storage medium
US11494754B2 (en) Methods for locating an antenna within an electronic device
JP6472513B2 (en) Method and terminal for transmitting verification information
KR101852791B1 (en) Certification service system and method using user mobile terminal based secure world
TWI679553B (en) Method, system and intelligent equipment for checking tickets based on user interface
WO2017113790A1 (en) Method for implementing code-scan bluetooth automatic connection, master device, slave device, and system
US20140227999A1 (en) Method, server and system for authentication of a person
EP3176719B1 (en) Methods and devices for acquiring certification document
EP3016349B1 (en) Method and apparatus for verifying terminal and computer program product
US10735436B1 (en) Dynamic display capture to verify encoded visual codes and network address information
US11727101B2 (en) Methods and systems for verifying applications
CN103488922A (en) Method and equipment for providing verification code
CN107995200B (en) Certificate issuing method, identity authentication method and system based on smart card
CN108075888B (en) Dynamic URL generation method and device, storage medium and electronic equipment
CN111355732A (en) Link detection method and device, electronic equipment and storage medium
KR101540672B1 (en) A system and method for protecting from hacking of mobile terminal
CN106685945B (en) Service request processing method, service handling number verification method and terminal thereof
CN103036852A (en) Method and device for achieving network login
CN107396363B (en) Method and equipment for carrying out wireless connection pre-authorization on user equipment
US20210064756A1 (en) Methods and systems for verifying applications
US10055599B2 (en) Processing method for making electronic documents secure
TW201516748A (en) Login system based on servers, login authentication server, and authentication method thereof
CN114117388A (en) Device registration method, device registration apparatus, 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