Server apparatus, system and method for processing requests for resources

The server apparatus and method enhance online transaction security by verifying the geographical location of mobile devices using location data, addressing vulnerabilities in mobile device transactions.

WO2026063866A1PCT designated stage Publication Date: 2026-03-26DYNA AI TECHNOLOGY PTE LTD
View PDF 7 Cites 0 Cited by

Patent Information

Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Filing Date
2025-04-24
Publication Date
2026-03-26

AI Technical Summary

Technical Problem

Mobile devices are susceptible to attacks by hackers and scammers during online transactions, necessitating improved verification and security measures for requests for resources.

Method used

A server apparatus and method that utilize location data from a location-based service module to verify the authenticity of requests by comparing location characteristics such as loading path, coordinate data, and altitude data against predetermined criteria to determine the real geographical location of the terminal device, allowing or rejecting further processing based on the verification results.

Benefits of technology

Enhances security and authenticity verification for online transactions, effectively preventing fraudulent activities by ensuring that requests originate from genuine geographical locations.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure SG2025050276_26032026_PF_FP_ABST
    Figure SG2025050276_26032026_PF_FP_ABST
Patent Text Reader

Abstract

Aspects concern a server apparatus for processing a request for resources, the server apparatus comprising a processor and a memory, the processor is configured to execute instructions stored in the memory to: obtain location data from a location-based service module of a terminal device; parse the location data to obtain a location characteristic; the location characteristic comprising at least one of a loading path of the location-based service module, coordinate data, and altitude data; compare the obtained location characteristic with at least one predetermined criterion to determine whether the obtained location characteristic is indicative of a real geographical location of the terminal device; and execute a first operation, in a positive determination that the obtained location characteristic is indicative of the real geographical location of the terminal device.
Need to check novelty before this filing date? Find Prior Art

Description

SERVER APPARATUS, SYSTEM AND METHOD FOR PROCESSING REQUESTS FOR RESOURCESTECHNICAL FIELD

[0001] Various aspects of this disclosure relate to devices, systems, and methods for processing requests for resources. Such processing may include verification of the requests. The resources may include on-demand resources, marketing resources, and financial resources.BACKGROUND

[0002] The following discussion of the background is intended to facilitate an understanding of the present disclosure only. It should be appreciated that the discussion is not an acknowledgment or admission that any of the material referred to was published, known, or is part of the common general knowledge of the person skilled in the art in any jurisdiction as of the priority date of the disclosure

[0003] With the rapid development of mobile device technology and the widespread use of mobile devices such as smartphones, mobile terminal apps are increasingly integrated into people's daily lives.

[0004] Most current mobile devices / terminals may be regarded as intelligent devices as such mobile devices may also function as devices for performing e-commerce or social media activities. In particular, the mobile devices may be used to send requests for resources, such as requests for on-demand resources, or financial resources. However, online activities may be susceptible to attacks by hackers, scammers, and / or other undesirable characters.

[0005] There exists a need to minimize the impact of such undesirable characters and to improve verification or checks associated with online transactions.100061 Accordingly, the disclosure seeks to provide a server apparatus, system, and method for processing requests for resources to meet the aforementioned need at least in part.SUMMARY

[0007] The disclosure seeks to provide a system, server apparatus, and method for verifying one or more requests for resources using location data. The disclosure seeks to improve and enhance security, as well as verify the authenticity of one or more requests, before the execution of such requests and / or before the release of the resources.

[0008] In some embodiments, the verification of requests forms part of an anti-fraud requirement to verify whether a request for a transaction is an authentic request.

[0009] Tn some embodiments, the provided technical solution can be used to effectively enhance the security of location-related internet services.

[0010] According to an aspect of the present disclosure there is provided a server apparatus for processing a request for resources, the server apparatus comprising a processor and a memory, the processor is configured to execute instructions stored in the memory to: obtain location data from a location-based service module of the terminal device after receipt of the request for resources, parse the location data to obtain a location characteristic; the location characteristic comprising at least one of a loading path of the location-based service module, coordinate data, and altitude data; compare the obtained location characteristic with at least one predetermined criterion to determine whether the obtained location characteristic is indicative of a real geographical location of the terminal device; and execute a first operation, in a positive determination that the obtained location characteristic is indicative of the real geographical location of the terminal device

[0011] In some embodiments, the processor is further configured to determine, based on the obtained location characteristic, whether the terminal device is within a predetermined area of a resource provider.

[0012] In some embodiments, the processor is further configured to compare the obtained location characteristic only in a positive detennination that the terminal device is within the predetermined area of the resource provider. In some embodiments, the processor may be configured to execute a second operation in a negative determination that the terminal device is within the predetermined area of the resource provider without comparison of the obtained location characteristic with the at least one predetermined criterion.

[0013] In some embodiments, the processor is further configured to use a relatively low precision location characteristic to determine whether the terminal device is within the predetermined area of a resource provider.

[0014] In some embodiments, the processor is further configured to execute a second operation, the second operation different from the first operation, in a negative determination that the obtained location characteristic is indicative of the real geographical location of the terminal device.

[0015] In some embodiments, the obtained location characteristic comprises coordinate data, the coordinate data comprises longitude data and latitude data, and the at least one predetermined criteria comprises a predetermined precision standard.

[0016] In some embodiments, the processor is configured to compare the longitude data and the latitude data with the predetermined precision standard, to determine whether the obtained location characteristic is indicative of a real geographical location of the terminal device; and wherein the predetermined precision standard comprises a precision value of up to a number of decimal places.

[0017] In some embodiments, the processor is further configured to remove trailing zeros from the longitude data and the latitude data before comparison.

[0018] In some embodiments, the obtained location characteristic comprises altitude data, the altitude data includes at least one of an altitude value data and an altitude precision data.

[0019] In some embodiments, the processor is further configured to compare the altitude data with a predetermined altitude value, the predetermined altitude value indicative of a virtual location

[0020] In some embodiments, a positive determination that the altitude data is the same as the predetermined altitude value is a negative determination that the obtained location characteristic is indicative of the real geographical location of the terminal device.

[0021] In some embodiments, the obtained location characteristic comprises the loading path of the location-based service module, and the at least one predetermined criteria comprises a predetermined loading path.

[0022] In some embodiments, the processor is configured to compare the loading path of the location-based service module with the predetermined loading path. In some embodiments, a negative determination that the loading path of the location-b sed service module is the same as the predetermined loading path indicates that the obtained location characteristic is not the real geographical location of the terminal device (i.e. negative determination that the obtained location characteristic is indicative of the real geographical location of the terminal device).

[0023] In some embodiments, the first operation is associated with allowing the terminal device to proceed to a next step of the request for resources, and the second operation is associated with not allowing the terminal device to proceed to the next step of the request for resources.

[0024] In some embodiments, the request for resources comprises a request for e-commerce or electronic online banking transaction, and wherein the second operation is associated with not allowing the terminal device to proceed to the next step of the e-commerce or electronic online banking resource.

[0025] According to another aspect of the present disclosure, there is provided a system for processing a request for resources, the system comprises a terminal device, the terminal device configured to send the request for resources; a processor and a memory, the processor is configured to execute instructions stored in the memory to: receive, from the terminal device, the request for one or more resources, send a request for location data to the terminal device to obtain location data from a location-based service module of the terminal device; parse the location data to obtain a location characteristic; the location characteristic comprising at least one of a loading path of the location-based service module, coordinate data, and altitude data; compare the obtained location characteristic with at least one predetermined criterion to determine whether the obtained location characteristic is indicative of a real geographical location of the terminal device; and execute a first operation, in a positive determination that the obtained location characteristic is indicative of the real geographical location of the terminal device.

[0026] In some embodiments, the processor is further configured to determine, based on the obtained location characteristic, whether the terminal device is within a predetermined area of a resource provider.

[0027] In some embodiments, the processor is further configured to execute a second operation, the second operation different from the first operation, in a negative determination that the obtained location characteristic is indicative of the real geographical location of the terminal device.

[0028] According to another aspect of the present disclosure there is provided a computer- implemented method for processing a request for resources, the method comprises the steps of: obtaining location data from a location-based service module a terminal device based on the request for resources; parsing the location data to obtain a location characteristic; the location characteristic comprising at least one of a loading path of the location-based service module, coordinate data, and altitude data; comparing the obtained location characteristic with at least one predetermined criterion to determine whether the obtained location characteristic is indicative of a real geographical location of the terminal device, and executing a first operation,in a positive determination that the obtained location characteristic is indicative of the real geographical location of the terminal device.

[0029] Tn some embodiments, the computer-implemented method further comprises a step of determining, based on the obtained location characteristic, whether the terminal device is within a predetermined area of a resource provider.

[0030] In some embodiments, the processor is configured to execute a second operation in a negative determination that the obtained location characteristic is indicative of the real geographical location of the terminal device

[0031] According to another aspect of the present disclosure there is provided a non- transitory computer-readable medium storing computer executable code comprising instructions for processing a request for resources according to any one of the aforementioned methods.BRIEF DESCRIPTION OF THE DRAWINGS

[0032] The disclosure will be better understood with reference to the detailed description when considered in conjunction with the non-limiting examples and the accompanying drawings, in which:- FIG. 1 A is a schematic block diagram of a server apparatus for processing requests for resources;- FIG. IB is a schematic block diagram comprising the server apparatus of FIG. 1A, and one or more terminal devices, implemented as system for processing requests;- FIGS. 2A and 2B are flow charts of various embodiments of methods for processing a request for resources based on the use of coordinate data, such as longitude data and latitude data;- FIG. 3 is a flow chart of a method for processing a request for resources based on the use of altitude data;- FIG. 4 is a flow chart of a method for processing a request for resources based on the use of loading path of a location-based service module;- FIGS. 5A to 5C are screenshots of a use case of a server apparatus, method and / or system of the present disclosure in a request for financial resource in the form of a financial loan; and- FIG. 6 is a general flow chart of a method for processing a request for resources according to the present disclosure.DETAILED DESCRIPTION

[0033] The following detailed description refers to the accompanying drawings that show, by way of illustration, specific details and embodiments in which the disclosure may be practiced. These embodiments are described in sufficient detail to enable those skilled in the art to practice the disclosure. Other embodiments may be utilized and structural, and logical changes may be made without departing from the scope of the disclosure. The various embodiments are not necessarily mutually exclusive, as some embodiments can be combined with one or more other embodiments to form new embodiments.

[0034] Embodiments described in the context of one of the enclosure systems, devices, or methods are analogously valid for the other systems, devices, or methods. Similarly, embodiments described in the context of a system are analogously valid for a device or a method, and vice-versa.

[0035] Features that are described in the context of an embodiment may correspondingly be applicable to the same or similar features in the other embodiments Features that are described in the context of an embodiment may correspondingly be applicable to the other embodiments, even if not explicitly described in these other embodiments. Furthermore, additions and / or combinations and / or alternatives as described for a feature in the context of an embodiment may correspondingly be applicable to the same or similar feature in the other embodiments.

[0036] In the context of various embodiments, the articles “a”, “an” and “the” as used with regard to a feature or element include a reference to one or more of the features or elements. Furthermore, as used in the present disclosure and the appended claims, the term "by" may also mean "from," depending on the context. Furthermore, as used in the present disclosure and the appended claims, the term "if' may also mean "when" or "upon," depending on the context. Furthermore, as used in the present disclosure and the appended claims, the words "and / or" may refer to and encompass any and all possible combinations of one or more of the associated listed items.

[0037] As used herein, the term “and / or” includes any and all combinations of one or more of the associated listed items

[0038] As used herein, the term “data” may be understood to include information in any suitable analogue or digital form, for example, provided as a file, a portion of a file, a set of files, a signal or stream, a portion of a signal or stream, a set of signals or streams, waveforms,and the like The term data, however, is not limited to the aforementioned examples and may take various forms and represent any information as understood in the art.

[0039] As used herein, the term “allocating resources to requests” broadly includes various mechanisms, methods of matching, linking, and / or assigning resources to service requests. In some non-limiting examples, a "request" may be associated with a product or service offered by one or more merchants or financial institutions. Each merchant may also have more than one offering (e.g., multiple products and / or services), and the techniques or algorithm disclosed herein may evaluate each product or service separately. In some examples, a product may include financial or investment products.

[0040] As used herein, the term “request” includes electronic requests sent to and received by / from a financial institution, such as a bank. A request may include data fields such as, but not limited to, name and other personal details of the requestor, type of transaction, amount of transaction.

[0041] As used herein, the term “first”, “second”, “third”, etc. are used to distinguish one element / feature from another, and, unless otherwise stated, may not denote order, priority or sequence.

[0042] As used herein, the term “module” refers to, forms part of, or includes an application Specific Integrated Circuit (ASIC); an electronic circuit, a combinational logic circuit; a field programmable gate array (FPGA); a processor (shared, dedicated, or group) that executes code; other suitable hardware components that provide the described functionality; or a combination of some or all of the above, such as in a system-on-chip. The term module may include memory (shared, dedicated, or group) that stores code executed by the processor. A single module or a combination of modules may be regarded as a device. A processor may include one or more modules. For example, multiple modules described in this disclosure may form a processor.

[0043] As used herein, the term “associate”, “associated”, and “associating” indicate a defined relationship (or cross-reference) between two items.

[0044] As used herein, “memory” may be understood as a non-transitory computer-readable medium in which data or information can be stored for retrieval. References to “memory” included herein may thus be understood as referring to volatile or non-volatile memory, including random access memory (“RAM”), read-only memory (“ROM”), flash memory, solid-state storage, magnetic tape, hard disk drive, optical drive, etc., or any combination thereof. Furthermore, it is appreciated that registers, shift registers, processor registers, databuffers, etc., are also embraced herein by the term memory. It is appreciated that a single component referred to as “memory” or “a memory” may be composed of more than one different type of memory, and thus may refer to a collective component including one or more types of memory. It is readily understood that any single memory component may be separated into multiple collectively equivalent memory components, and vice versa. Furthermore, while memory may be depicted as separate from one or more other components (such as in the drawings), it is understood that memory may be integrated within another component, such as on a common integrated chip

[0045] According to an aspect of the disclosure and with reference to FIG. 1, there is provided a server apparatus 100 for verifying one or more requests for resources. The one or more requests may be of a shared economy on-demand service, asset provision, and / or financial loans.

[0046] The server apparatus may comprise a processor and a memory, the processor is capable of being configured to execute instructions stored in the memory to receive a request for resources. In the embodiment illustrated in FIG. 1, the server apparatus may be a communications server apparatus. The communications server apparatus may be in the form of a server computer 100, the server computer 100 may be a single server as illustrated schematically in FIG. 1A, or have the functionality performed distributed across multiple server components.

[0047] In some embodiments, the server computer 100 includes a communication interface 102 (e g. configured to receive data, i.e. requests, service requests). The communication interface 102 may include a transmitter module and / or a receiver module allowing the server apparatus 100 to communicate over a communications network. The communication interface 102 may include one or more user-interfaces configured to provide users for user control and may include, for example, one or more computing peripheral devices such as display monitors, computer keyboards and the like.

[0048] The server computer 100 may further include a processor in the form of processing unit 104 and a memory 106. The memory 106 may be used by the processing unit 104 to store, for example, data to be processed, such as the requests.

[0049] As shown in FIG. IB, the processing unit 104 may configured to receive, from a terminal device 110, a request 111 for one or more resources. The request may be an electronic request and the one or more resources may include on-demand resources such as onlinedelivery, or financial resources such as loans or withdrawals. The server apparatus 100 and one or more terminal devices 110 may be connected via a network 180 to form a system 150 for processing requests. In addition, the system may comprise one or more resource providers / sources 160. The network 180 may be an internet or intranet network.[00501 Upon receipt of the request 111 for one or more resources, the processing unit 104 may be configured to send a request 112 via the network 180 for location data to the terminal device 110 to obtain location data from a location-based service module 118 of the terminal device, parse the location data to obtain a location characteristic; the location characteristic comprising at least one of a loading path of the location-based service module, coordinate data, and altitude data. In some embodiments, the request 111 may be obtained directly or indirectly from the terminal device 110. For example, the request 111 may pass through intermediary or one or more third party servers before being sent to the processing unit 104.

[0051] The location characteristic may then be used to verify the geographical location of the terminal device, i.e. whether the geographical location is a real geographical location or is a “masked” or virtual location. In some embodiments, the verification of the geographical location (hereinafter referred to as verification step) may include a comparison of the obtained location characteristic with at least one predetermined criterion to determine whether the obtained location characteristic is indicative of the real geographical location of the terminal device. In some embodiments, after the verification is performed, a first operation 113 may be executed in a positive determination that the obtained location characteristic is indicative of the real geographical location of the terminal device. In some embodiments, the first operation is associated with an action to proceed or allow the request to be further processed. Such further processing may include allowing the resources to be successfully obtained and / or may include further verification of the request.

[0052] In some embodiments, the processing unit 104 is configured to execute a second operation 114 in a negative determination that the obtained location characteristic is indicative of the real geographical location of the terminal device. The second operation 114 may be different from the first operation 113. In other words, the obtained location characteristic is determined to not be the real geographical location of the terminal device, the second operation 114 may be executed. Such second operation may include a rejection of the request and / or a stop further processing command issue to the resource service provider.

[0053] In some embodiments, the terminal device 110 may be a mobile device equipped with location services functionality, including GPS receivers, Wi-Fi transceivers, and cellular network connectivity Tn an non-limiting example of a mobile device equipped with iOS operating system, a CLLocation class may be employed to manage and obtain the location data, including properties such as: latitude and longitude data, which represents the geographic coordinates of the mobile device, altitude data, which is the mobile device’s height above sea level, horizontal and vertical accuracy data which are measures of the precision of the location data, and speed and course data which provide real-time updates of the device’s movement.

[0054] In some embodiments, after the terminal device 110 sends the request for location data, the terminal device 110 may invoke the CLLocationManager class, which configures and initializes the CLLocation object to acquire location data from one or more sources, including GPS satellite signals, which may be used for outdoor location tracking, Wi-Fi networks, which may be leveraged for indoor location tracking, cellular networks, which may be used to triangulate the position based on nearby cell towers. The CLLocation object may then process the raw location data and populate its properties, including latitude, longitude, altitude, and speed.

[0055] FIG. 2A shows a flow chart of an embodiment of a method 200 A for processing a request for resources. The method 200 includes a step S201 of requesting to verify the location characteristics of the terminal device 110 to determine whether the location of the terminal is a real geographic location, where the location characteristics include at least one or more of the loading path of the system location method of the terminal, coordinate data (e.g. latitude and longitude data), and altitude data.

[0056] In some embodiments, wherein the obtained location characteristics include coordinate data, the method 200 may include a step S202, i.e. verifying whether the accuracy of the longitude and latitude data acquired from the terminal device 110 meets a predetermined accuracy or precision standard, to determine whether the positioning of the terminal is a real geographic location. In this embodiment, the first operation may be an allow service operation to allow the user of the terminal device to use the service, and the second operation may be a reject service operation to deny the user of the terminal device to use the service.

[0057] In some embodiments, the predetermined accuracy or precision may be defined based on a step S203, i.e., invoking a system positioning method of the terminal device by assessing the location-based service module 118 of the terminal device 110 to acquire or obtainpositioning information with a first precision. The invoked system’s positioning method may be determined based on the terminal device 110 system. For example, on a terminal device 110 with an iOS operating system, the location positioning information can be acquired based on a CLLocation class as described. It may be appreciable that for other terminal devices, multiple sources of location information may be used, such as, but not limited to, Google Location Services.

[0058] In some embodiments, the aforementioned first precision can be, for example, a maximum precision that can be acquired by the terminal device 110 system positioning method. For example, on certain devices, such as iOS devices, the maximum precision can be up to 14 decimal places.

[0059] The predetermined precision standard can be referred to as a second precision value, which can be less than the first precision. For example, the precision difference between the second precision value and the first precision value can be the predetermined precision standard value. For example, the predetermined precision standard (second precision) can be up to 6 decimal places. In other words, the processor is configured to compare the longitude data and the latitude data with the predetermined precision standard, to determine whether the obtained location characteristic is indicative of a real geographical location of the terminal device; and wherein the predetermined precision standard comprises a precision value of up to a predetermined number of decimal places.

[0060] In some embodiments, the method comprises a step S204 of removing trailing zeros from the longitude data and the latitude data before comparison with the predetermined precision standard. It may therefore be verified whether the precision of the longitude and latitude data, after removing trailing zeros, meets this predetermined precision standard (second precision).

[0061] FIG. 2B shows another flow chart of an embodiment of a method 200B for processing a request for resources. The method 200 includes a step S211 for parsing the obtained location data to obtain longitude data and latitude data within the location data (positioning information), with a maximum precision. The maximum precision may refer to the most accurate location information that a terminal device could provide.

[0062] After the coordinate data is obtained, a step S212 of verifying whether the precision of the longitude and latitude data, after removing trailing zeros, meets the predetermined precision standard (second precision value), is carried out. The verification of the precision ofthe longitude and latitude data after removing trailing zeros can include multiple implementations.

[0063] In one embodiment step S213A, verifying the precision of the longitude data and latitude data after removing trailing zeros can include verifying whether the digits after a predetermined number of decimal places in the longitude data and latitude data acquired with the aforementioned first precision are all zeros. In a positive determination that the predetermined number of decimal places in the longitude data and latitude data are all zeros, it is determined that the longitude data and latitude data do not meet the predetermined precision standard or second precision value; if not, it meets the predetermined precision standard or second precision value. For example, using the example where the first (maximum) precision is up to 14 decimal places and the predetermined precision standard (second precision value) is up to 6 decimal places, in this instance, it can be determined whether the digits starting from the sixth decimal place in the longitude and latitude data are all zeros. It may be appreciable that either longitude data or latitude data that fails to meet the predetermined precision standard (even if the other data may meet the predetermined precision standard) may be regarded as virtual address information, and deemed to be not the real geographical location.

[0064] In another embodiment step S213B, verifying the precision of the longitude data and latitude data after removing trailing zeros can include verifying whether the number of consecutive zeros, counted from the last digit after the decimal point in the longitude and latitude data acquired with the first precision, reaches a predetermined threshold. In a positive determination that the number of consecutive zeros, counted from the last digit after the decimal point in the longitude and latitude data acquired with the first precision, reaches a predetermined threshold, it is determined that the longitude data and latitude data do not meet the predetermined precision standard or second precision value. Otherwise, it meets the predetermined precision standard or second precision value. For example, using the example where the first (maximum) precision is up to 14 decimal places and the predetermined precision standard (second precision) is up to 6 decimal places, it can be determined whether the number of consecutive zeros, counted from the last digit after the decimal point in the longitude and latitude data, reaches 9

[0065] In some embodiments step S213C, verifying the precision of the longitude data and latitude data after removing trailing zeros may include removing all consecutive zeros from the last digit after the decimal point in the longitude data and the latitude data acquired with thefirst precision to obtain longitude and latitude data with a fourth precision; judging whether the longitude and latitude data with the fourth precision meets the predetermined precision standard (second precision). For example, using the example where the first (maximum) precision is up to 14 decimal places and the predetermined precision standard (second precision) is up to 6 decimal places, first, consecutive zeros from the last digit after the decimal point in the longitude and latitude data acquired with the first precision are removed to obtain longitude and latitude data with a fourth precision, and then it is judged whether this fourth precision is greater than or equal to the second precision, i.e , whether there are 6 digits after the decimal point.

[0066] In some embodiments, the method 200A or 200B may comprise verifying the longitude and latitude data includes verifying both longitude and latitude precision data, and wherein the precision of both longitude and latitude data after removing trailing zeros does not meet the predetermined precision standard (second precision), it is assessed as not meeting the predetermined precision standard.

[0067] In some embodiments, the method 200A or 200B may comprise verifying, locally on the terminal device 110, whether the accuracy of the latitude and longitude data after removing zero values meets another predetermined precision accuracy standard (third precision value) to generate an indicator value indicating whether it meets the predetermined accuracy standard (third accuracy). If the another predetermined precision standard third precision value is met, then the location data of the terminal device is determined to be a real geographic location.

[0068] In some embodiments, the method 200A, 200B may include returning an indicator value indicating compliance or non-compliance with the predetermined accuracy standard. The indicator value may be sent from the terminal device 110 to the server apparatus 100. As a nonlimiting example, such an indicator value may be a binary value, wherein a “1” indicates compliance with the predetermined accuracy standard, and a “0” indicates non-compliance with the predetermined accuracy standard.

[0069] If the another predetermined precision standard or third precision value is not met, then it is determined that the location / positioning of the terminal device 1 10 is not a real geographic location.

[0070] FIG. 3 shows an embodiment of a method 300 for processing a request for resources, wherein the obtained location characteristic comprises altitude data, the altitude data includesat least one of an altitude value data and / or an altitude precision data The processing of the request for resources may include a step S301 of verifying the location characteristic (positioning features) of the terminal device 1 10, for determining whether the positioning of the terminal device 110 is a real geographic location based on the altitude data. The determination can further include a step S302 of comparing whether the altitude data acquired from the terminal device 110 are preset values to determine whether the positioning of the terminal device 110 is a real geographic location. In some embodiments, the comparison of the altitude data may be performed with a predetermined altitude value indicative of a virtual location, wherein a positive determination that the altitude data is the same as the predetermined altitude value is the negative determination that the obtained location characteristic is indicative of the real geographical location of the terminal device.[00711 In a specific example, the altitude data obtained from the CLLocation class can be parsed, and compared with a predetermined altitude value of 0 and a vertical accuracy of -1 simultaneously. If it is determined that the altitude data is the same as the predetermined altitude value of 0 and the vertical accuracy of -1, then it may be determined that the location obtained based on the CLLocation is a virtual location.[0072J It may be appreciable that the verification of requests based on latitude and longitude data and / or altitude data can advantageously apply to terminal devices 110 having iOS operating systems, especially terminal devices having iOS system that have not been jailbroken.

[0073] In some embodiments, before the verification based on latitude and longitude data and / or altitude data, one or more steps of verifying whether the operating system of the terminal is the iOS system and / or whether the terminal device 110 has been jailbroken may be included.

[0074] FIG. 4 shows an embodiment of a method 400 for processing a request for resources, wherein the obtained location characteristic comprises the loading path of the location-based service module, and the at least one predetermined criteria comprises a predetermined loading path. In some embodiments, the method 400 comprises a step S401 of verifying the location characteristic based on a loading path of the location-based service module. In step S402, the loading path of the location-based service module may be compared with the predetermined loading path. In step S403, a negative determination that the loading path of the location-based service module is the same as the predetermined loading path indicates that the location data is not the real geographical location of the terminal device.

[0075] In some embodiments, the processing unit 104 may be configured to process the requests for resources in accordance with a logic flow to parse the location information to obtain altitude data and altitude accuracy data in the location information; verify whether the altitude data is a predetermined altitude value and the altitude accuracy data is a predetermined altitude accuracy value; wherein in a positive determination that the altitude data is not the predetermined altitude value or the altitude accuracy data is not the predetennined altitude accuracy value, determine that the location of the terminal is a real geographic location.

[0076] If the altitude data is the predetermined altitude value and the altitude accuracy data is the predetermined altitude accuracy value, then it may be determined that the location of the terminal is not a real geographic location.

[0077] In some embodiments, for non-jailbroken terminal devices 110, that is based on iOS operation system, only verification based on latitude and longitude data may need to be performed. In alternative embodiments of the present disclosure, for example, for nonjailbroken iOS terminals, only verification based on altitude data may be performed. However, in some embodiments, verification based on both coordinate data, i.e. latitude data and longitude data, and based on altitude data (including altitude value and vertical accuracy value) may be performed, and the combined verification may be performed in different orders or in parallel. In some embodiments, when the predetermined accuracy standard is met and the altitude value is not predetermined, it is determined that the location of the terminal is a real geographic location. In other words, if the comparison with either the predetermined accuracy standard or the altitude value fails, then the geographical location of the terminal device 110 is deemed not to be the true geographical location.

[0078] In some embodiments, the location characteristics may include the loading path for invoking the location method of the terminal device 110. In some embodiments, the loading path may be used for determining whether the terminal device 110 has been jailbroken.

[0079] If not jailbroken, then the request may be further processed by verifying other location characteristics to determine whether the location of the terminal is a real geographic location, where the other location characteristics are different from the loading path of the system location method.

[0080] If it is determined that the terminal has been jailbroken, then there may be further verification involving whether the loading path for invoking the system location method of the terminal device 110 is a predetermined loading path, so as to determine whether the locationof the terminal is a real geographic location In some embodiments, the system location method of the terminal device is invoked to obtain the loading path for invoking the system location method. The loading path is then compared to determine whether it is a predetermined system library loading path, and if yes (positive determination), the location of the terminal device 110 may be determined to be a real geographic location; and if no (negative determination), the location of the terminal device 110 may be deemed not to be a real geographic location.

[0081] In some embodiments, the type of operating system, such as whether it is an iOS operating system, may be determined before determining whether the terminal has been jailbroken.

[0082] It may be contemplated that various j ailbreak detection methods can be employed, including but not limited to using a file manager to determine whether the device has installed jailbreak tools, detecting the runtime environment variables of an software application or APP, detecting whether an APP is linked to abnormal dynamic libraries, and other possible methods.

[0083] In some embodiments, the method of invoking the system location can be determined based on the system of the terminal device 110. For example, location information can be obtained based on the CLLocation class in iOS devices. Further, the CLLocation loading path when obtaining location information based on the CLLocation class can be obtained. Surprisingly, it is found that based on the system library loading path judgment, it is possible to determine whether the location in a jailbroken (iOS) device is a real geographic location in a relatively simple and efficient manner. To address the issue of tampering with location information in certain programs, the method of detecting whether the location information originates from the system's default path can effectively make judgments without generating a large amount of additional data or processing procedures.

[0084] If it is determined that the terminal device 110 has not been jailbroken, the subsequent verification of whether the terminal device 110 location data reflects a real geographical location of the terminal device 110 may be performed using other verification schemes, such as the aforementioned latitude and longitude data verification and / or altitude data verification. In some embodiments, the location characteristics used for verification can be selected from at least one or more of latitude and longitude data and altitude data It is therefore appreciable that the loading path-based verification can be combined with latitude and longitude data verification and / or altitude data verification. For example, the loading path verification can be performed for jailbroken iOS terminals, while latitude and longitude dataverification, altitude data verification, or combined verification of latitude and longitude data and altitude data can be performed for non-jailbroken iOS terminals, which falls within the scope of the present disclosure.

[0085] In some embodiments, instead of performing the jailbreak verification, a comprehensive verification of multiple location characteristics can be directly performed.

[0086] For example, the comprehensive verification may include the steps of invoking the system location method of the terminal to obtain location information and the loading path for invoking the system location method; verifying whether the loading path for invoking the system location method of the terminal is a predetermined loading path, if it is not a predetermined loading path (i.e. negative determination), determining that the location of the terminal is not a real geographic location. If it is a predetermined loading path (i.e. positive determination), parsing the location information to obtain latitude and longitude data in the location information, where the location information has a first accuracy; and verifying whether the accuracy of the latitude data and longitude data after removing zero values meets a predetermined accuracy standard; if it does not meet the predetermined accuracy standard, determining that the location of the terminal is not a real geographic location.

[0087] In case the latitude data and longitude data after removing zero values meet the predetermined accuracy standard, the location data is parsed to obtain altitude data and altitude accuracy data in the location information and verified to determine whether the altitude data is a predetermined altitude value and the altitude accuracy data is a predetermined altitude accuracy value.

[0088] If the altitude data is determined not to be a predetermined altitude value or the altitude accuracy data is not a predetermined altitude accuracy value, then the location of the terminal is determined to be a real geographic location.

[0089] Conversely, if the altitude data is a predetermined altitude value and the altitude accuracy data is a predetermined altitude accuracy value, then the location of the terminal device 110 may be determined to not be a real geographic location.

[0090] In some embodiments, the method for processing a request for resources may also include obtaining location data / information of the terminal device 1 10, comprising invoking the system location method of the terminal to obtain location information with a fourth precision; parsing the location information to obtain latitude and longitude data with the fourth precision; transmitting the latitude and longitude data with the fourth precision from theterminal device 110 to the server apparatus 100; determining whether the location of the terminal device 110 is within a predetermined area or predetermined geographical area / region of a resource provider based on the location information. The fourth precision may be of a relatively lower precision compared to the first precision, and the location data having the fourth precision may therefore require less data bandwidth to obtain. In some embodiments, the location data having the fourth precision may be regarded as a rough determination of the location of the terminal device 110 before the verification step involving higher precision is carried out.

[0091] In a positive determination that the located position is within the predetermined area, allow the execution of the verification step.

[0092] In a negative determination that the located position is within the predetermined area (i.e. the located position is not within the predetermined area), execute the second operation and do not execute the verification step.

[0093] In some embodiments, location data of the terminal device 110 may be obtained with different accuracies for area determination and geographic location authenticity verification; and optionally, lower-accuracy / precision location information can be transmitted back during area determination, while higher-accuracy location information may be verified locally on the terminal device 110 during geographic location authenticity verification, with only an authenticity indicator value being transmitted back. This allows for more efficient and rapid location-based business operations while also saving bandwidth.

[0094] In some embodiments, before determining whether the location of the terminal device 110 is within a predetermined area based on the location information, the processing unit 104 may also be configured to obtain system information of the terminal device 110, determine whether the system of the terminal is a predetermined or preset system based on the system information; if yes, allow the execution of the verification step; if no, execute the second operation and do not execute the verification step.

[0095] In some embodiments, the processing unit 104 may be configured to verify the location of the terminal device 1 10 used for business operations to determine whether its location is a real geographic location. Such an arrangement may provide for an effective solution for determining whether an online device user is located within a specific area and rejects and prevents users outside this area from participating in regional business activities,especially to prevent malicious participation in the business by individuals involved in blackmarket activities or "loan fraud".

[0096] FIGS 5 A to 5C illustrate a use case of the present server apparatus and method for processing a request for loan application (i.e. financial resources), from a user perspective displayed on a terminal device 110.

[0097] The method 200 can be triggered by the user of the terminal device 110, for example, as shown in FIG. 5A, the method 200A, 200B can be triggered by a user clicking a button to initiate sending of a request for financial resources in the form of a loan application.

[0098] As mentioned, it may be determined whether the terminal device 110 is an iOS device. If yes, it can be determined whether the location of the terminal device 110 is within a predetermined area. If no, the loan application can be rejected (second operation), as shown in FIG. 5B, which displays the rejection of the terminal user's online loan application. If the location of the terminal device 110 is within the predetermined area, it can be determined whether the terminal has been jailbroken. If jailbroken, it is determined whether the loading path of the location method conforms to a predetermined path; if it conforms to the predetermined path, the loan application can be allowed (first operation), such as allowing the next step of the loan application, for example, as shown in FIG. 5C, inputting the terminal user's mobile phone number to proceed to the next step. If it does not conform to the predetermined path, the loan application can be rejected (second operation), as shown in FIG. 5B displaying the rejection of the terminal user's online loan application. If not jailbroken, it is determined whether the location latitude and longitude data have a predetermined accuracy, if yes, it is determined whether the located altitude data is equal to a predetermined value; if no, the loan application can be rejected (second operation), as shown in FIG. 5B displaying the rejection of the terminal user's online loan application. If the altitude data is not equal to the predetermined value, the loan application can be allowed (first operation), such as allowing the next step of the loan application, for example, as shown in FIG. 5C, inputting the terminal user's mobile phone number to proceed to the next step; if the altitude data is equal to the predetermined value, the loan application can be rejected (second operation), as shown in FIG. 5B displaying the rejection of the terminal user's online loan application

[0099] FIG. 6 shows a general flow chart of a method 600 for processing one or more requests for resources. The method 600 may be a computer-implemented method for processing a request for resources and may in some embodiments be implemented asexecutable code comprising instructions for execution by a non-transitory computer-readable medium, The method 600 comprises the steps of:

[0100] Step S601 : receiving, from a terminal device, the request for one or more resources;

[0101] Step S602: sending a request for location data to the terminal device to obtain location data from a location-based service module of the terminal device;

[0102] Step S603: parsing the location data to obtain a location characteristic; the location characteristic comprising at least one of a loading path of the location-based service module, coordinate data, and altitude data;

[0103] Step S604: comparing the obtained location characteristic with at least one predetermined criterion to determine whether the obtained location characteristic is indicative of a real geographical location of the terminal device; and

[0104] Step S605: executing a first operation, in a positive determination that the obtained location characteristic is indicative of the real geographical location of the terminal device.

[0105] As may be apparent, the various steps for verifying whether a terminal device 110 is at a real geographical location may be cascaded. In particular, all the three location characteristics comprising the loading path of the location-based service module, the coordinate data, and the altitude data may be used in turn or in various permutations to determine whether the terminal device is at a real geographical location.

[0106] It may be appreciated that various accuracy or precision levels may be used as the basis for obtaining coordinate data and / or for the basis for defining the predetermined precision standard (second precision value) and the another precision standard (third precision value). In some embodiments, a regional judgment may be used in relation to the fourth precision value. Such regional judgement refer to process of determining location information with relatively low accuracy. For example, if the normal location determine process is required to locate to specific buildings, “regional judgment” could only require to locate to certain block area. The various predetermined precision values / standards may be used to achieve a balance in data bandwidth consumption, improving verification speed and concurrently not compromising on the verification process.

[0107] It is further appreciable that one or more of the aforementioned method steps may be combined.

[0108] It may be appreciable that the server apparatus may be used in various applications, particularly in an e-commerce or electronic online banking transaction, and wherein the firstoperation is associated with allowing the terminal device to proceed to a next step of the e- commerce or electronic online banking resource, and the second operation is associated with not allowing the terminal device to proceed to the next step of the e-commerce or electronic online banking resource.[001091 The methods described herein may be performed and the various processing or computation units and the devices and computing entities described herein may be implemented by one or more circuits. In an embodiment, a "circuit" may be understood as any kind of a logic implementing entity, which may be hardware, software, firmware, or any combination thereof. Thus, in an embodiment, a "circuit" may be a hard-wired logic circuit or a programmable logic circuit such as a programmable processor, e.g. a microprocessor. A "circuit" may also be software being implemented or executed by a processor, e.g. any kind of computer program, e.g. a computer program using a virtual machine code. Any other kind of implementation of the respective functions which are described herein may also be understood as a "circuit" in accordance with an alternative embodiment.

[0110] While the disclosure has been particularly shown and described with reference to specific embodiments, it should be understood by those skilled in the art that various changes in form and detail may be made therein without departing from the spirit and scope of the disclosure as defined by the appended claims. The scope of the disclosure is thus indicated by the appended claims and all changes which come within the meaning and range of equivalency of the claims are therefore intended to be embraced.

Claims

CLAIMS1. A server apparatus for processing a request for resources, the server apparatus comprising a processor and a memory, the processor is configured to execute instructions stored in the memory to: obtain location data from a location-based service module of a terminal device based on the request for resources; parse the location data to obtain a location characteristic; the location characteristic comprising at least one of a loading path of the location-based service module, coordinate data, and altitude data; compare the obtained location characteristic with at least one predetermined criterion to determine whether the obtained location characteristic is indicative of a real geographical location of the terminal device; and execute a first operation, in a positive determination that the obtained location characteristic is indicative of the real geographical location of the terminal device.

2. The server apparatus of claim 1, wherein the processor is further configured to determine, based on the obtained location characteristic, whether the terminal device is within a predetermined area of a resource provider.

3. The server apparatus of claim 2, wherein the processor is further configured to compare the obtained location characteristic only in a positive determination that the terminal device is within the predetermined area of the resource provider, and wherein the obtained location characteristic comprises location data of relatively low accuracy.

4. The server apparatus of any one of the preceding claims, wherein the processor is configured to execute a second operation, the second operation different from the first operation, in a negative determination that the obtained location characteristic is indicative of the real geographical location of the terminal device.

5. The server apparatus of any one of the preceding claims, wherein the obtained location characteristic comprises coordinate data, the coordinate data comprises longitude data andlatitude data, and the at least one predetermined criteria comprises a predetermined accuracy standard.

6. The server apparatus of claim 5, wherein the processor is configured to compare the longitude data and the latitude data with the predetermined accuracy standard, to determine whether the obtained location characteristic is indicative of a real geographical location of the terminal device; and wherein the predetermined accuracy standard comprises a precision value of up to a number of decimal places.

7. The server apparatus of claim 6, further comprising removing trailing zeros from the longitude data and the latitude data before comparison.

8. The server apparatus of claim 1, wherein the obtained location characteristic comprises altitude data, the altitude data includes at least one of an altitude value data and an altitude precision data.

9. The server apparatus of claim 8, wherein the processor is configured to compare the altitude data with a predetermined altitude value indicative of a virtual location.

10. The server apparatus of claim 9, wherein a positive determination that the altitude data is the same as the predetermined altitude value is the negative determination that the obtained location characteristic is indicative of the real geographical location of the terminal device.

11. The server apparatus of claim 1, wherein the obtained location characteristic comprises the loading path of the location-based service module, and the at least one predetermined criteria comprises a predetermined loading path.

12. The server apparatus of claim 11, wherein the processor is configured to compare the loading path of the location-based service module with the predetermined loading path13. The server apparatus of claim 12, wherein a negative determination that the loading path of the location-based service module is the same as the predetermined loading path is thenegative determination that the obtained location characteristic is indicative of the real geographical location of the terminal device.

14. The server apparatus of any one of the preceding claims, wherein the first operation is associated with allowing the terminal device to proceed to a next step of the request for resources, and wherein the second operation is associated with not allowing the terminal device to proceed to the next step of the request for resources.

15. The server apparatus of claim 14, wherein the request for resources comprises a request for an e-commerce or electronic online banking transaction, and wherein the second operation is associated with not allowing the terminal device to proceed to the next step of the e- commerce or electronic online banking resource.

16. A system for processing a request for resources, the system comprises a terminal device, the terminal device configured to send the request for resources; a processor and a memory, the processor is configured to execute instructions stored in the memory to: receive, from the terminal device, the request for one or more resources; send a request for location data to the terminal device to obtain location data from a location-based service module of the terminal device; parse the location data to obtain a location characteristic; the location characteristic comprising at least one of a loading path of the location-based service module, coordinate data, and altitude data; compare the obtained location characteristic with at least one predetermined criterion to determine whether the obtained location characteristic is indicative of a real geographical location of the terminal device; and execute a first operation, in a positive determination that the obtained location characteristic is indicative of the real geographical location of the terminal device.

17. The system of claim 16, wherein the processor is further configured to determine, based on the obtained location characteristic, whether the terminal device is within a predetermined area of a resource provider.

18. The system of claim 16 or 17, wherein the processor is configured to execute a second operation, the second operation different from the first operation, in a negative determination that the obtained location characteristic is indicative of the real geographical location of the terminal device.

19. A computer-implemented method for processing a request for resources, the method comprises the steps of: obtaining location data from a location-based service module of the terminal device based on the request for resources; parsing the location data to obtain a location characteristic; the location characteristic comprising at least one of a loading path of the location-based service module, coordinate data, and altitude data; comparing the obtained location characteristic with at least one predetermined criterion to determine whether the obtained location characteristic is indicative of a real geographical location of the terminal device; and executing a first operation, in a positive determination that the obtained location characteristic is indicative of the real geographical location of the terminal device.

20. The computer-implemented method of claim 19, further comprising a step of determining, based on the obtained location characteristic, whether the terminal device is within a predetermined area of a resource provider21. The computer-implemented method of claim 18 or 19, wherein the processor is configured to execute a second operation in a negative determination that the obtained location characteristic is indicative of the real geographical location of the terminal device.

22. A non-transitory computer-readable medium storing computer executable code comprising instructions for processing a request for resources according to any one of the methods of claim 19 to 21.

Citation Information

Patent Citations

  • Provision device, provision method and provision program

    JP2019139654A

  • Position-Verified Access Apparatus, Method, and Program Product

    US20050270232A1

  • System and method for implementing push technology in a wireless financial transaction

    US20060100951A1

  • Verification information generating system, verification information generating method, and verification information generating program

    US20220269803A1

  • Resource Obtaining Method and System, Server, and Storage Medium

    US20230208850A1