Detailed Description
Exemplary embodiments of the present invention are described in detail below with reference to the accompanying drawings.
In this application, "plurality" means two or more, and "at least one" means one, two or more. Any component, data, or structure referred to in this application, unless explicitly defined as such, may be understood to mean one or more.
In order to solve the problems in the background art, an embodiment of the present invention provides a broadcast-based anti-lost detection technical solution, which can perform effective and accurate anti-lost detection based on bluetooth broadcast at an anti-lost device end and an application end of an upper computer, without establishing a bluetooth connection between the anti-lost device end and the application end of the upper computer, setting various connection link parameters, and without limiting the number of concurrent connections.
Fig. 1 is a data interaction diagram illustrating a broadcast-based anti-loss detection method according to some embodiments of the present invention.
Referring to fig. 1, the anti-lost device and the upper computer (including APP thereon) will act as a pairing device with each other, start their alarm timers, respectively, and periodically perform a broadcast-based anti-lost detection operation. Firstly, the anti-lost device sends a scannable broadcast data packet with an identity label of the anti-lost device; and after receiving the scannable broadcast data packet, the upper computer determines whether the sending equipment of the scannable broadcast data packet is an anti-lost device serving as the target monitoring equipment of the upper computer according to the identity in the scannable broadcast data packet, and if the sending equipment of the scannable broadcast data packet is determined to be the anti-lost device serving as the target monitoring equipment of the upper computer, the upper computer sends a scanning request data packet with the identity of the upper computer.
And then, after receiving the scanning request data packet, the anti-lost device determines whether the sending equipment of the scanning request data packet is the target monitoring equipment of the anti-lost device, namely the upper computer, according to the identity in the scanning request data packet. If the anti-lost device determines that the sending equipment of the scanning request data packet is the upper computer which is used as the target monitoring equipment, the anti-lost device sends a scanning response data packet corresponding to the received scanning request data packet to the upper computer, and resets the started alarm timer so as to carry out timing again.
On the other hand, after receiving the scanning response data packet, the upper computer also resets the alarm timer started by the upper computer so as to perform timing again. Therefore, the anti-lost device and the upper computer send, receive, check and reset the data packet circularly until the alarm timer of the anti-lost device and/or the alarm timer of the upper computer is overtime (such as 1 minute, 2 minutes, 3 minutes, 5 minutes and the like).
And under the condition that any alarm timer is overtime, the overtime anti-lost device and/or the upper computer generate alarm information for indicating the loss of the target monitoring equipment serving as the anti-lost detection target of the anti-lost device so as to inform the user.
The operation processing is continuously executed between the anti-lost device and the upper computer so as to continuously perform anti-lost detection.
Therefore, the anti-lost device and the upper computer periodically detect the online state of the other party as target monitoring equipment in a Bluetooth scanning mode based on a Bluetooth broadcasting mechanism so as to effectively realize bidirectional anti-lost detection. The Bluetooth connection does not need to be established between the anti-lost device end and the application end of the upper computer, various connection link parameters do not need to be set, and the number of concurrent connections is not limited.
Fig. 2 is a flowchart illustrating a broadcast-based anti-loss detection method performed by the anti-loss device in fig. 1.
Referring to fig. 2, the anti-lost device starts a first alarm timer at step S210.
Here, the duration of the first alarm timer maintained at the anti-lost device end, such as 30 seconds, 1 minute, 2 minutes, etc., may be set according to the aging requirement of the anti-lost monitoring.
Thereafter, steps S220 to S260 are periodically executed until the first alarm timer times out to determine whether the first target monitoring device as its anti-lost detection target is lost. Here, the period for performing steps S220 to S260 may be relatively short, for example, 3 seconds, 6 seconds, 10 seconds, and the like.
In step S220, the anti-lost device sends a scannable broadcast packet with the first identity of the device.
Here, the first identity identifier may be a name of the device, a physical address of the device, an identity address of a bluetooth module in the device, an encoded address of the bluetooth module, and the like.
Specifically, the anti-lost device generates a scannable broadcast packet with a first identity of the device and transmits the scannable broadcast packet in the form of a broadcast.
The external device (e.g., an upper computer that is an anti-loss detection target of the anti-loss device) may transmit a scan request packet to the anti-loss device after receiving the scannable broadcast packet.
Accordingly, the anti-lost device receives the scan request packet with the second identification of the external device at step S230.
Similarly, the second id of the external device may also be a name of the external device, a physical address of the external device, an identification address of a bluetooth module in the external device, an encoded address of a bluetooth module in the external device, or the like.
In step S240, it is determined whether the external device is the first target monitoring device according to the second identity and the identification information of the first target monitoring device.
In order to identify the first target monitoring device as the anti-lost detection target, it is necessary to preset identification information of the first target monitoring device for the anti-lost device. At this step, the anti-lost device determines whether the external device that transmitted the scan request packet and the first target monitoring device are the same device by matching or comparing the second identification with the identification information of the first target monitoring device.
Here, the first identity identifier, the second identity identifier and the identification information of the first target monitoring device may be the same identification information or different identification information. In the case that the second identity is different from the identification information of the first target monitoring device, one or both of the second identity and the identification information of the first target monitoring device may be converted to perform comparison and matching.
If the external device is determined to be the first target monitoring device according to the second identity and the identification information of the first target monitoring device at step S240, and the first target monitoring device can be determined to be in the safe working state and not to be lost, at step S250, a scan response packet corresponding to the scan request packet is sent to the external device to respond to the received scan request packet, and at step S260, the first alarm timer is reset to restart timing.
If the first alarm timer still times out after the processing of steps S220 to S260 is periodically performed, it may be determined that the first target monitoring device may be lost, and accordingly, in step S270, alarm information indicating that the first target monitoring device is lost is generated to prompt the user that the first target monitoring device is suspected to be lost.
Fig. 3 is a flowchart illustrating a broadcast-based anti-loss detection method performed by the upper computer in fig. 1.
Referring to fig. 3, the upper computer starts a second alarm timer at step S310. Similarly, the duration of the second alarm timer maintained by the upper computer end, such as 30 seconds, 1 minute, 2 minutes and the like, can be set according to the aging requirement of the anti-lost monitoring.
Thereafter, the upper computer periodically executes steps S320 to S360 until the second alarm timer times out, so as to determine whether the second target monitoring device serving as the anti-lost detection target thereof is lost.
In step S320, the upper computer receives a scannable broadcast packet with a third id of the external device.
Since the anti-lost device operating normally can periodically transmit the scannable broadcast packet (step S220), the upper computer can continuously receive the scannable broadcast packet from the anti-lost device (i.e., the external device in step S320). The scannable broadcast packet carries a third identification of the external device.
Similarly, the third identification may be a name of the external device, a physical address of the external device, an identification address of a bluetooth module in the external device, an encoded address of the bluetooth module, and the like.
In step S330, the upper computer determines whether the external device is the second target monitoring device according to the third identity and the identification information of the second target monitoring device.
Similarly, in order to identify the second target monitoring device as the anti-lost detection target, it is also necessary to set the identification information of the second target monitoring device in advance for the upper computer. In this step, the upper computer determines whether the external device that sends the scan request packet and the second target monitoring device are the same device by matching or comparing the third identifier with the identifier information of the second target monitoring device.
Similarly, the third identity identifier and the identification information of the second target monitoring device may be the same identification information or different identification information. In the case that the third identification is different from the identification information of the second target monitoring device, one or both of the third identification and the identification information of the second target monitoring device may be converted to perform comparison and matching.
If the upper computer determines that the external device is the second target monitoring device according to the third identity and the identification information of the second target monitoring device in step S330, and the second target monitoring device can be determined to be in a safe working state and not lost, in step S340, the upper computer sends a scan request packet with the fourth identity of the device to respond to the second target monitoring device.
After receiving the scan request packet, the anti-lost device performs the processing of steps S230 to S260, wherein in step S250, a scan response packet corresponding to the scan request packet received is transmitted.
Accordingly, in step S350, the upper computer receives a scan response packet corresponding to the scan request packet.
Thereafter, in step S360, the upper computer resets the second alarm timer to restart timing.
If the second alarm timer still times out after the processing of steps S320 to S360 is periodically performed, it may be determined that the second target monitoring device (e.g., the anti-lost device) may be lost or lost, and accordingly, step S370 is performed to generate alarm information indicating that the second target monitoring device is lost.
Fig. 4 is a data interaction diagram illustrating a broadcast-based anti-loss detection method according to further embodiments of the present invention.
In bluetooth low energy technology, a Bluetooth Low Energy (BLE) device is provided with an Identity Resolving Key (IRK) to generate a resolvable private address through the IRK and a random number. The IRK includes a local IRK for generating a resolvable private address for the cost device and a pairing IRK for resolving a resolvable private address for the external device. The anti-lost device and the upper computer are both provided with the identity address of the other party as the respective target monitoring equipment.
In the anti-lost device and the upper computer, respective resolvable private addresses are generated through a local IRK set for the anti-lost device and included in data packets sent by the anti-lost device (such as scannable broadcast data packets sent by the anti-lost device, scanning request data packets sent by the upper computer, scanning response data packets returned by the anti-lost device and the like), and a receiver of a corresponding data packet resolves and restores the resolvable private addresses of senders in the data packets into identity addresses of the senders (the anti-lost device or the upper computer) through a paired IRK set for the receiver of the corresponding data packet so as to perform checking processing.
In addition, according to the Bluetooth low-power protocol, the anti-lost device and the upper computer record and store the analyzable private address contained in the received data packet, and regenerate the analyzable private address of the anti-lost device and the upper computer according to the requirement.
In the interaction of the broadcast-based anti-lost detection method shown in fig. 4, first, the anti-lost device carries an analyzable private address of the anti-lost device in a scannable broadcast packet sent by the anti-lost device, and the upper computer uses the pairing IRK to resolve the analyzable private address in the received scannable broadcast packet to obtain an identity address of a sender of the scannable broadcast packet, and compares the identity address with an identity address of a second target monitoring device stored in the upper computer to determine whether the scannable broadcast packet is from the target monitoring device.
Secondly, the upper computer has the generated analyzable private address of the upper computer in the scanning request data packet sent by the upper computer, the anti-lost device receiving the scanning request data packet uses the pairing IRK to analyze the analyzable private address in the received scanning request data packet so as to obtain the identity address of the sender of the scanning request data packet, and the identity address is compared with the identity address of the first target monitoring equipment stored in the anti-lost device so as to determine whether the scanning request data packet comes from the first target monitoring equipment.
In addition, the anti-lost device also maintains a corresponding announcement sequence number corresponding to the new resolvable private address it generates. Specifically, each time the anti-lost device generates a new resolvable private address, the advertisement sequence number is also incremented accordingly, such as by adding 1 to the current advertisement sequence number, and the new resolvable private address and the incremented advertisement sequence number are included in the scan response packet sent to the upper computer. The upper computer also maintains the resolvable private address and the notice serial number of the anti-lost device received by the upper computer, determines whether the scanning response data packet contains the resolvable private address of the newly generated anti-lost device according to the notice serial number in the received scanning response data packet for updating, and generates a new resolvable private address for the upper computer so as to carry the newly generated resolvable private address in a scanning request data packet sent subsequently.
The anti-lost detection method shown in fig. 4 further improves the security of data communication in anti-lost detection by using an analyzable private address in a data packet exchanged between the anti-lost device and an upper computer and regenerating a new analyzable private address according to an exchanged announcement sequence number for subsequent use on the basis of effectively realizing bidirectional anti-lost detection by bluetooth scanning detection based on bluetooth broadcast.
Fig. 5 is a flowchart illustrating a broadcast-based anti-loss detection method performed by the anti-loss device in fig. 4.
Referring to fig. 5, the anti-lost device starts a first alarm timer at step S510. The processing of this step is similar to the aforementioned step S210, and is not described herein again.
Thereafter, steps S520 to S580 are periodically executed until the first alarm timer times out to determine whether the first target monitoring device, which is the anti-lost detection target thereof, is lost.
In step S520, the anti-lost device sends a scannable broadcast packet with a first identity of the device, where the first identity is a first resolvable private address generated according to a first identity address of the device.
Specifically, the first resolvable private address is obtained by the anti-lost device through calculation according to the first identity address of the device and a local IRK of the anti-lost device.
In step S530, the anti-lost device receives a scan request packet with a second identity of the external device, where the second identity is a second resolvable private address generated according to a second identity address of the external device.
In step S540, it is determined whether the external device is the first target monitoring device according to the second resolvable private address and the first target identity address of the first target monitoring device. That is, the identification information of the first target monitoring device is the first target identity address of the first target monitoring device.
According to an optional embodiment of the present invention, at this step, the second identity address is obtained according to the pairing IRK and the second resolvable private address; if the second identity address is the same as the first target identity address of the first target monitoring equipment, determining that the external equipment is the first target monitoring equipment; and if the second identity address is different from the first target identity address, determining that the external equipment is not the first target monitoring equipment.
If the external device is determined to be the first target monitoring device according to the second resolvable private address and the first target identity address of the first target monitoring device in step S540, and the first target monitoring device can be determined to be in the safe working state and not to be lost, the steps S550 to S580 are continuously executed.
In step S550, the first alarm timer is reset to restart timing.
In step S560, it is determined whether the second resolvable private address is written in the scan address list maintained by the device to determine whether the first target monitoring device has generated a new resolvable private address.
If it is determined in step S560 that the second resolvable private address is not written in the scan address list, steps S571 to S574 are performed.
Specifically, in step S571, the second resolvable private address is written into the scan address list; in step S572, a new first resolvable private address is generated; in step S573, increment the current announcement sequence number, such as adding 1 to the announcement sequence number; and, in step S574, a scan response packet including the new first resolvable private address and the incremented advertisement sequence number is transmitted to the external device in response to the received scan request packet.
On the other hand, if it is determined in step S560 that the second resolvable private address is written in the scan address list, step S580 is executed to increase the transmission power for transmitting the subsequent scan broadcast packet, and correspondingly adjust the value of the reference transmission power in the subsequently transmitted scannable broadcast packet, so as to transmit the value of the reference transmission power to the receiver (such as the upper computer) of the scannable broadcast packet, and then the step S520 is executed again. The upper computer receives the scannable broadcast data packet comprising the reference transmitting power value, and can estimate the distance between the second target monitoring equipment (namely the anti-lost device) and the equipment by using the reference transmitting power value so as to perform anti-lost detection by using the estimated distance value.
If the first alarm timer still times out after the processing of steps S520 to S580 is periodically performed, it may be determined that the first target monitoring device may be lost, and accordingly, in step S590, alarm information indicating that the first target monitoring device is lost is generated.
An embodiment of the present invention further provides a computer-readable storage medium storing a program for executing the steps of any of the foregoing broadcast-based anti-lost detection methods implemented by the anti-lost device.
Furthermore, an embodiment of the present invention further provides a computer program product including at least one executable instruction, when executed by a processor, for implementing any one of the foregoing broadcast-based anti-lost detection methods implemented by an anti-lost device.
Fig. 6 is a flowchart illustrating a broadcast-based anti-loss detection method performed by the upper computer in fig. 4.
Referring to fig. 6, the upper computer starts a second alarm timer at step S610. The processing of this step is similar to the aforementioned step S310, and is not described herein again.
Thereafter, the upper computer periodically executes steps S620 to S660 until the second alarm timer times out, so as to determine whether the second target monitoring device serving as the anti-lost detection target thereof is lost.
In step S620, the upper computer receives a scannable broadcast packet with a third identity of the external device, where the third identity is a third resolvable private address generated according to the third identity of the external device.
In step S630, the upper computer determines that the external device is the second target monitoring device according to the third resolvable private address and the identification information of the second target monitoring device, where the identification information of the second target monitoring device is the second target identity address of the second target monitoring device.
Specifically, in this step, the third identity address is obtained according to the pairing identity resolution key and the third resolvable private address; if the third identity address is the same as a second target identity address of the second target monitoring device, determining that the external device is the second target monitoring device; and if the third identity address is different from the second target identity address, determining that the external device is not the second target monitoring device.
If the upper computer determines that the external device is the second target monitoring device according to the third resolvable private address and the second target identity address of the second target monitoring device in step S630, and the second target monitoring device can be determined to be in a safe working state and not lost, in step S640, the upper computer sends a scan request data packet with the fourth identity of the device to respond to the second target monitoring device. Similarly, the fourth identity is a fourth resolvable private address generated according to the fourth identity address of the device.
After receiving the scan request packet, the anti-lost device sends a scan response packet corresponding to the scan request packet received by the anti-lost device. Accordingly, in step S650, the upper computer receives a scan response packet corresponding to the scan request packet.
In step S660, the upper computer determines whether the value of the advertisement sequence number in the received scan response packet is smaller than the value of the advertisement sequence number already stored in the present apparatus.
The upper computer records the value of the received announcement sequence number, and maintains a scan address list in which the received third resolvable private address is recorded, so as to determine the validity of the scan response packet newly received in step S650.
If the upper computer determines in step S660 that the value of the advertisement sequence number is greater than or equal to the value of the advertisement sequence number already stored in the present apparatus, the upper computer performs step S670 to further determine whether the third resolvable private address has been written in the scan address list.
If the upper computer determines that the value of the announcement sequence number is greater than or equal to the value of the announcement sequence number stored in the device in step S660, and determines that the third resolvable private address is written in the scan address list in step S670, the upper computer can presume that the received scan response packet carries outdated information, and generates alarm information for indicating that the second target monitoring device is lost in step S675. Thereafter, the process of the method may end or return to performing step S610.
If the upper computer determines in step S660 that the value of the announcement sequence number is greater than or equal to the value of the announcement sequence number stored in the device, and determines in step S670 that the third resolvable private address is not written in the scan address list, the upper computer may presume that the received scan response packet carries the newly generated third resolvable private address, and then execute steps S681 to S684.
At step S681, writing the third resolvable private address into the scan address list; in step S682, resetting the second alarm timer; in step S683, the value of the advertisement sequence number already stored in the local device is updated to the value of the advertisement sequence number in the scan response packet; in step S684, a fourth resolvable private address of the new upper computer is generated.
If it is determined in step S660 that the value of the advertisement sequence number in the received scan response packet is smaller than the value of the advertisement sequence number already stored in the own device, that is, the newly received scan response packet contains outdated information, step S690 is performed to generate alarm information indicating that the second target monitoring device is lost. Thereafter, the process of the method may end or return to performing step S610.
If the second alarm timer still times out after the processing of steps S620 to S690 is periodically performed, it may be determined that the second target monitoring device (e.g., the anti-lost device) may be lost or lost, and accordingly, step S700 is performed to generate alarm information indicating that the second target monitoring device is lost.
In another aspect, according to an alternative embodiment of the present invention, the scannable broadcast packet sent by the anti-lost device further includes data of a reference transmission power; accordingly, after executing step S610, the upper computer further executes the following processing: a. acquiring data of Received Signal Strength Indicator (RSSI) of a Bluetooth module of the equipment; b. estimating the distance between the device and the external device according to the RSSI data and the received reference transmission power data, wherein the distance between the device and the external device can be estimated according to any existing signal strength distance calculation method; c. if the value of the distance exceeds a distance threshold, alarm information indicating that the second target monitoring device is disconnected is generated, and the distance threshold can be determined according to the requirement of estimation accuracy. Thereafter, the process of the method may end or return to performing step S610.
In addition, two or more second target monitoring devices (anti-lost devices) can be set for the upper computer (and the application program thereof). In this case, the two or more second target monitoring devices are respectively set with their respective second alarm timers for timing, and the processes of steps S610 to S690 and step S700 are respectively performed for the respective second target monitoring devices, so as to perform the anti-lost detection process for implementing the two or more second target monitoring devices.
The embodiment of the invention also provides a computer readable storage medium for executing the steps of any broadcast-based anti-lost detection method realized by the upper computer.
Furthermore, an embodiment of the present invention further provides a computer program product including at least one executable instruction, when executed by a processor, for implementing any one of the foregoing broadcast-based anti-lost detection methods implemented by a host computer.
The embodiment of the invention also provides the first electronic equipment. Fig. 7 is a schematic configuration diagram showing a first electronic device according to an embodiment of the present invention. The first electronic device may be, for example, a mobile terminal, a Personal Computer (PC), a tablet, a server, etc. Referring now to fig. 7, a schematic diagram of a first electronic device suitable for use in implementing an image processing apparatus of an embodiment of the present invention is shown: as shown in fig. 7, the first electronic device may include a memory and a processor. In particular, the first electronic device comprises one or more processors, communication elements, etc., such as: one or more Central Processing Units (CPUs) 701, and/or one or more image processors (GPUs) 713, etc., which may perform various suitable actions and processes according to executable instructions stored in a Read Only Memory (ROM)702 or loaded from a storage section 708 into a Random Access Memory (RAM) 703. The communication element includes a communication component 712 and/or a communication interface 709. Among other things, the communication component 712 may include, but is not limited to, a network card, which may include, but is not limited to, an ib (infiniband) network card, the communication interface 709 includes a communication interface such as a network interface card of a LAN card, a modem, etc., and the communication interface 709 performs communication processing via a network such as the internet.
The processor may communicate with the read-only memory 702 and/or the random access memory 703 to execute the executable instructions, connect with the communication component 712 through the communication bus 704, and communicate with other target devices through the communication component 712, thereby completing the operations corresponding to any broadcast-based loss prevention detection method provided by the embodiment of the present invention, for example, starting the first alarm timer and periodically performing the following operations until the first alarm timer times out: sending a scannable broadcast packet with a first identity of the device; receiving a scanning request data packet with a second identity mark of the external equipment; if the external equipment is determined to be the first target monitoring equipment according to the second identity identification and the identification information of the first target monitoring equipment, sending a scanning response data packet corresponding to the scanning request data packet to the external equipment, and resetting the first alarm timer; and if the first alarm timer is overtime, generating alarm information for indicating that the first target monitoring equipment is lost.
In addition, in the RAM 703, various programs and data necessary for the operation of the device can also be stored. The CPU 701 or GPU 713, ROM 702, and RAM 703 are connected to each other by a communication bus 704. The ROM 702 is an optional module in case of the RAM 703. The RAM 703 stores or writes executable instructions into the ROM 702 at runtime, and the executable instructions cause the processor to perform operations corresponding to the above-described communication method. An input/output (I/O) interface 705 is also connected to communication bus 704. The communication component 712 may be integrated or may be configured with multiple sub-modules (e.g., IB cards) and linked over a communication bus.
The following components are connected to the I/O interface 705: an input portion 706 including a keyboard, a mouse, and the like; an output section 707 including a display such as a Cathode Ray Tube (CRT), a Liquid Crystal Display (LCD), and the like, and a speaker; a storage section 708 including a hard disk and the like; and a communication interface 709 including a network interface card such as a LAN card, modem, or the like. A drive 710 is also connected to the I/O interface 705 as needed. A removable medium 711 such as a magnetic disk, an optical disk, a magneto-optical disk, a semiconductor memory, or the like is mounted on the drive 710 as necessary, so that a computer program read out therefrom is mounted into the storage section 708 as necessary.
It should be noted that the architecture shown in fig. 7 is only an optional implementation manner, and in a specific practical process, the number and types of the components in fig. 7 may be selected, deleted, added or replaced according to actual needs; in different functional component settings, separate settings or integrated settings may also be used, for example, the GPU and the CPU may be separately set or the GPU may be integrated on the CPU, the communication element may be separately set, or the GPU and the CPU may be integrated, and so on. These alternative embodiments are all within the scope of the present disclosure.
The first electronic device of the embodiment of the present invention may be configured to implement the corresponding broadcast-based anti-lost detection method in the above embodiment, and each device in the electronic device may be configured to perform each step in the above method embodiment, for example, the broadcast-based anti-lost detection method described above may be implemented by a processor of the electronic device calling a related instruction stored in a memory, and for brevity, no further description is provided here.
The embodiment of the invention also provides second electronic equipment, which can be a mobile terminal, a Personal Computer (PC), a tablet computer, a server and the like. This second electronic device has a similar structure to the first electronic device shown in fig. 7 described earlier.
The processor of the second electronic device may communicate with the read-only memory and/or the random access memory to execute the executable instructions, connect with the communication component through the communication bus, and communicate with other target devices through the communication component, thereby completing the operation corresponding to the broadcast-based anti-loss detection method of any client provided by the embodiment of the present invention, for example, starting a second alarm timer, and periodically performing the following operations until the second alarm timer times out: receiving a scannable broadcast packet with a third identity of an external device; if the external equipment is determined to be second target monitoring equipment according to the third identity and the identification information of the second target monitoring equipment, sending a scanning request data packet with a fourth identity of the equipment; resetting the second alarm timer if a scan response packet corresponding to the scan request packet is received; and if the second alarm timer is overtime, generating alarm information for indicating that the second target monitoring equipment is lost.
The method and apparatus, electronic device, and storage medium of the present disclosure may be implemented in many ways. For example, the method and apparatus, the electronic device, and the storage medium of the embodiments of the present invention may be implemented by software, hardware, firmware, or any combination of software, hardware, and firmware. The above-described order for the steps of the method is for illustrative purposes only, and the steps of the method of the embodiments of the present invention are not limited to the order specifically described above unless specifically stated otherwise. Further, in some embodiments, the present disclosure may also be embodied as programs recorded in a recording medium, the programs including machine-readable instructions for implementing methods according to embodiments of the present invention. Thus, the present disclosure also covers a recording medium storing a program for executing the method according to the embodiment of the present invention.
The description of the present embodiments has been presented for purposes of illustration and description, but is not intended to be exhaustive or limited to the invention in the form disclosed, and many modifications and variations will be apparent to those skilled in the art. The embodiment was chosen and described in order to best explain the principles of the disclosure and the practical application, and to enable others of ordinary skill in the art to understand the disclosure for various embodiments with various modifications as are suited to the particular use contemplated.