Location spoofing detection system for web services

By designing a computing system that utilizes machine learning models and feasibility models, detecting and preventing location fraud by transport providers, the problem of difficulty in effectively detecting and preventing location fraud in the prior art is solved, and higher detection accuracy and fair competition are achieved.

CN119584053APending Publication Date: 2025-03-07UBER TECHNOLOGIES INC
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411686805.6
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2018-10-09
Filing Date
2019-10-09
Publication Date
2025-03-07

AI Technical Summary

Technical Problem

The prior art is difficult to effectively detect and prevent location fraud by transport providers in application-based on-demand transport services, resulting in fraud and unfair competition.

Method used

A computing system is designed to determine whether a transport provider is running a location spoofing application by receiving location data from a transport provider and leveraging machine learning models and feasibility models. The system also includes a database and profile manager for recording and managing the behavior of the transport providers and ensuring fair competition.

Benefits of technology

Improve the accuracy and accuracy of detection of location fraud of transport providers, reduce fraud, and ensure fair competition and fair transportation services.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119584053A_ABST
    Figure CN119584053A_ABST
Patent Text Reader

Abstract

A computing system may receive location data from a user's computing device over one or more networks while the user is operating throughout an area. For each user, the computing system may determine whether the user is running a location spoofing application on the user's computing device based at least in part on location data received from the user's computing device.
Need to check novelty before this filing date? Find Prior Art

Description

Parent case information

[0001] This application is a divisional application of the Chinese patent application with application number "201980081182.0" and title "Location Fraud Detection System for Network Services". CROSS-REFERENCE TO RELATED APPLICATIONS

[0002] This application claims the benefit of priority to U.S. Patent Application No. 16 / 155,382, filed on October 9, 2018; the above priority application is hereby incorporated by reference in its entirety. Background Art

[0003] Location data obtained from a positioning system (e.g., a GPS), such as, for example, via a GPS component on a computing device, may be essential to the implementation of location-based network services, such as, transportation provider selection and tracking of transportation requests (e.g., ride requests or delivery requests) made by requesting users. BRIEF DESCRIPTION OF THE DRAWINGS

[0004] The disclosure herein is illustrated by way of example and not limitation in the figures of the accompanying drawings in which like reference numerals refer to similar elements and in which:

[0005] Figure 1 is a block diagram illustrating an example network computing system implementing location spoofing detection according to examples described herein;

[0006] Figure 2 is a block diagram illustrating an example driver computing device executing a service application for communicating with a network computing system according to examples described herein;

[0007] Figure 3A and Figure 3B is a flow chart describing an example method of detecting location spoofing by a transportation provider according to various examples; and

[0008] Figure 4 is a block diagram illustrating a computer system upon which the examples described herein may be implemented. DETAILED DESCRIPTION

[0009] Location spoofing involves the running of a location spoofing program or application on a computing device that falsifies the actual or current location of the computing device. For example, a Global Positioning System (GPS) spoofing attack attempts to spoof a GPS receiver on a computing device by broadcasting a false GPS signal that is configured to resemble a normal signal from a GPS satellite, or by replaying a GPS signal captured elsewhere at a different time (e.g., by using a third-party GPS spoofing application). In another example, a location spoofing application running on a computing device can cause another application running on the computing device to transmit false location information (e.g., a falsified current location that is different from the actual current location) to a network service associated with the application. For traditional taxis, fraudulent activity may involve manipulating the meter or taximeter by, for example, taking an indirect route, adding an incorrect surcharge, changing the fare code to a more expensive fare code, or other unfortunate actions. With the advent of application-based web services (e.g., on-demand transportation services), more sophisticated fraud methods have been conceived, including location spoofing, which can cause certain transportation providers to, for example, pretend to be at a location, pretend to have traveled along a route, insert additional location points along a route to increase travel distance, jump or teleport in front of other transportation providers in a queue (e.g., at an airport), and so on.

[0010] A computing system is described herein that supports detection of location spoofing by a transportation provider of an application-based on-demand transportation service. The computing system (and / or a specified application running on a transportation provider's device) can implement the location spoofing detection techniques described herein for an application-based network service (e.g., an on-demand transportation service). The computing system may include a network communication interface that communicates with computing devices of transportation providers operating throughout an area and computing devices of requesting users seeking transportation services via one or more networks. In various examples, the computing system may receive a transportation request from a user via a dedicated transportation service application executed on a computing device of the requesting user. The transportation provider may execute a specified transportation provider application on its computing device to receive a transportation invitation that enables the transportation provider to receive and service a transportation request received from a requesting user.

[0011] For a received transportation request, the computing system may perform a selection operation based on, for example, the distance and / or time to the pickup location, transportation supply in a surrounding sub-area of ​​the rendezvous location, and / or a set of utility indicators. The selection operation may result in selecting a transportation provider to serve the transportation request (e.g., the transportation provider that is best close to the pickup location and / or the destination location, is traveling in the direction of the pickup location and / or the destination location, and / or has the best or highest score compared to other transportation providers). In some embodiments, the computing system may first determine a pool of candidate transportation providers given the rendezvous location in the transportation request, and then perform the selection operation relative to the initial pool.

[0012] In the process of identifying candidate transportation providers, the computing system may receive location data from computing devices of transportation providers over one or more networks as the transportation providers operate throughout the transportation service area. For one or more transportation providers, the computing system may determine, based at least in part on the location data received from the computing devices of the transportation providers, whether the computing devices of the transportation providers are running spoofing applications or programs (e.g., the computing system may determine whether the transportation providers are running location spoofing applications to conduct fraudulent activities).

[0013] For example, the computing system may first determine a set of location attributes of the transportation provider based on the location data received from the computing device of the transportation provider. The set of location attributes may include the location, speed, current acceleration, altitude, and / or various other location-based information of the transportation provider. In some examples, the computing system may determine the set of location attributes using one or more sets of sensor data and / or location data received from the computing device of the transportation provider. For example, the computing system may determine the average speed of the transportation provider between any two or more points along the route of the transportation provider based on the time elapsed between the two or more points (e.g., using a timestamp embedded in the received location data). The computing system may also determine the route or direction of travel of the transportation provider at any time.

[0014] In certain embodiments, the computing system may further edit and store multiple groups of driving profiles for each road section of the transportation service area. These driving profiles may indicate the typical driving speed or behavior of the transportation provider traveling through the corresponding road section. The computing system may use a large amount of data records of the transportation provider traveling through the corresponding road section to build a driving profile. In addition, each data record of the driving profile of a given road section may include a timestamp, a description or indication of the current traffic conditions, the state of traffic signals, the average speed of the transportation provider through the road section, etc. In some aspects, the driving profile may include the minimum feasible time from the starting point of the road section corresponding to the driving profile to the end point. According to various embodiments, the minimum feasible time may depend on weather conditions and / or traffic conditions, and therefore may fluctuate under the current weather and / or traffic conditions of the given road section. In some aspects, the minimum feasible time may be decomposed or received as an input to the feasibility model described herein.

[0015] In some examples, the computing system can receive additional sensor data from the transportation provider's computing device, such as image data, audio data, barometer data, accelerometer, gyroscope, and / or magnetometer data (e.g., received from an inertial measurement unit (IMU) of the computing device). In some aspects, the computing system can correlate this additional data with location data received from a positioning system (e.g., a GPS receiver) of the transportation provider's computing device to determine, at least in part, whether the transportation provider is running a location spoofing application.

[0016] Additionally or alternatively, the computing system may determine whether the transportation provider is running a location spoofing application by running the set of location attributes through a location-based feasibility model. The feasibility model may include one or more algorithms (e.g., machine learning algorithms) programmed to determine realistic values ​​that indicate whether the location attributes of the transportation provider are possible, feasible, unrealistic, or impossible. In some embodiments, the feasibility model may output a binary answer (e.g., associated with a yes or no answer) indicating whether the transportation provider is running a location spoofing application. In various variations, the feasibility model may output a probability or score (e.g., a score from 0 to 1) that the transportation provider is running a location spoofing application.

[0017] In various examples, a computing system may determine whether a transportation provider is running a location spoofing application by running the set of location attributes through a set of computing rules. For example, a computing system may initially determine an extreme case based on a calculated or observed speed of a driver passing through a particular road segment. In such an example, the set of computing rules may include a point-to-point calculation indicating whether the transportation provider's speed exceeds a feasibility threshold (e.g., 90 miles per hour). If so, the computing system may infer that the transportation provider is running a location spoofing application. If not, the computing system may optionally proceed to determine whether the transportation provider is running a location spoofing application, according to the examples described herein.

[0018] In some examples, given a set of location attributes for a transportation provider, a computing system may perform a lookup in a travel profile database to find a matching travel profile corresponding to a segment of road traveled by the transportation provider. The computing system may further access traffic conditions (e.g., current traffic conditions), time of day, day of the week, weather conditions, etc. when traveling through the segment as inputs to a feasibility model. The computing system may then compare the location attributes of the transportation provider to the matching travel profile to determine whether the location attributes are feasible or exceed a set of feasibility thresholds. These feasibility thresholds may include acceleration, horizontal speed, and / or altitude change thresholds at any given time, which, when exceeded, indicate the use of a location spoofing application. In some aspects, the computing system may further run a simulation of the transportation provider's movement along the segment of road based on the location attributes to determine or confirm that the transportation provider is running a location spoofing program or application.

[0019] In selecting a transportation provider for servicing a transportation request, the computing system may filter out or exclude any transportation provider that is determined to be running a location spoofing application. For example, the computing system may determine whether a transportation provider is running a location spoofing application after determining a pool of candidate transportation providers, or may make the determination as a final check before sending a transportation invitation to a transportation provider.

[0020] In some embodiments, the computing system may include a database including a user profile of the requesting user and a driver profile of the transportation provider. The user profile may include account information, a unique identifier of the requesting user, user preferences, and historical data corresponding to the user's utilization of the on-demand transportation service. The driver profile may include personal information of the transportation provider, such as the transportation provider's vehicle type, model, driver rating determined by the passengers transported by the transportation provider, earnings data, reward information, and a history of any faults and the nature of the faults related to the on-demand transportation service. Such faults may indicate situations where the transportation provider treats passengers poorly, situations where fraud is attempted (e.g., vomiting fraud), situations where location is defrauded (e.g., queue jumping attempts), etc. In some aspects, when the transportation provider's faults exceed a predetermined threshold, the computing system may exclude the transportation provider from all future matching operations.

[0021] According to various examples provided herein, a computing system can enter a demerit in a driver profile of a transportation provider in response to determining that the transportation provider is running a location spoofing application. In some aspects, the demerit can affect at least one of the transportation provider's driver ratings (e.g., excluding the transportation provider from any currently offered incentives).

[0022] Certain embodiments provide an initial data quality filter that enables a computing system to process only high-quality location data. For example, upon receiving location data from a transportation provider's computing device, the computing system may initially determine whether the quality of the location data is above a certain quality threshold and is not encumbered by distortion or other multipath effects (e.g., caused by trees, buildings, narrow streets, etc.). If the data quality is above the quality threshold, the computing system may further process the location data to determine whether the data is a product of location spoofing.

[0023] It is contemplated herein that the location spoofing detection techniques described throughout this disclosure will improve precision and accuracy, and be implemented as machine learning models that construct travel profiles to establish feasibility thresholds given current location attributes, and ultimately determine whether any given transportation provider is running a location spoofing program at any given time. The examples described herein further enable a computing system to remotely determine or infer the presence and operation of a third-party location spoofing program or application on a remote device (e.g., on a transportation provider's computing device) without accessing the memory of the computing device itself (e.g., based solely or in part on received location data). It is further contemplated that such techniques described herein can be implemented on any transportation service area of ​​any size and in any geographic area.

[0024] Among other benefits, the examples described herein achieve the technical effect of reducing or eliminating fraud committed by a small number of transportation providers who seek to exploit location spoofing techniques, e.g., to increase fares, teleport to the front of a queue, add location points to a trip, etc. The example computing systems described herein may include an inference engine that may be continually improved to provide various technical solutions for addressing technical and practical problems created by location spoofing programs in the field of transportation services.

[0025] As used herein, a "user" of a network service may include a transportation provider or a driver of an on-demand transportation service. A "requesting user" or "requester" may include a rider or passenger requesting a ride by utilizing an on-demand transportation service.

[0026] The computing device used in this article refers to a device corresponding to a desktop computer, a cellular computing device and / or a smart phone, a personal digital assistant (PDA), a laptop computer, a virtual reality (VR) or augmented reality (AR) head-mounted device, a tablet computing device, etc., which can provide network connectivity and processing resources to communicate with the system over a network. The computing device may also correspond to custom hardware, an onboard device or onboard computer of an automobile, etc. The computing device may also run a specified application configured to communicate with a network service.

[0027] One or more examples described herein provide for programmatic execution of methods, techniques, and actions performed by a computing device or as a computer-implemented method. Programmatically, as used herein, means performed by using code or computer-executable instructions. These instructions may be stored in one or more memory resources of a computing device. The steps performed programmatically may or may not be automatic.

[0028] Program modules, engines or components can be used to implement one or more examples described herein. Program modules, engines or components may include a program, a subroutine, a part of a program, or a software component or hardware component capable of performing one or more of the tasks or functions. The modules or components used herein may exist on a hardware component independently of other modules or components. Alternatively, a module or component may be a shared element or process of other modules, programs or machines.

[0029] Some of the examples described herein may generally require the use of a computing device, which includes processing resources and memory resources. For example, one or more examples described herein may be implemented in whole or in part on computing devices such as servers, desktop computers, cellular or smart phones, personal digital assistants (e.g., PDAs), laptop computers, VR or AR devices, printers, digital photo frames, network devices (e.g., routers), and tablet devices. Memory, processing resources, and network resources may all be used in conjunction with the establishment, use, or execution of any example described herein (including with the execution of any method or with the implementation of any system).

[0030] In addition, one or more examples described herein can be implemented by using instructions that can be executed by one or more processors. These instructions can be carried on a computer-readable medium. The machines shown or described in the following figures provide examples of processing resources and computer-readable media on which instructions for implementing the examples disclosed herein can be carried and / or executed. In particular, the numerous machines shown together with the examples of the present invention include processors and various forms of memory for storing data and instructions. Examples of computer-readable media include permanent memory storage devices, such as hard drives on personal computers or servers. Other examples of computer storage media include portable storage units (such as CD or DVD units), flash memory (such as flash memory carried on smart phones, multi-function devices or tablets), and magnetic memory. Computers, terminals, network-enabled devices (e.g., mobile devices such as cellular phones) are all examples of machines and devices that utilize processors, memories, and instructions stored on computer-readable media. In addition, these examples can be implemented in the form of computer programs or computer-usable carrier media that can carry such programs.

[0031] System Description

[0032] Figure 11 is a block diagram illustrating an example network computing system 100 implementing location spoofing detection according to examples described herein. The network computing system 100 may include: a database 155 storing transportation provider profiles 157 and user profiles 159; and a profile manager 140 operating to establish, configure, add, and reconfigure profiles 157, 159 based on status updates, completed transportation requests, inputted ratings, etc. The computing system 100 may further include a matching engine 150 that receives location data from a computing device 191 of a transportation provider 194 (e.g., via a designated application 192 being executed through a provider device interface 115) and receives a transportation request from a computing device 195 of a requesting user 197 over one or more networks 180 (e.g., via a transportation service application 192 being executed through a user device interface 125). The matching engine 150 may match a transportation provider 194 with a user 197 according to examples described herein.

[0033] For example, a requesting user 197 may submit a transportation request via a transportation service application 196 executed on a computing device 195 of the user 197. The transportation request may include a request for personal transportation (e.g., a rideshare request), package or mail delivery, freight transportation, and / or food and beverage delivery. The matching engine 150 may track the locations of transportation providers 194 operating throughout the transportation service area and determine a set of candidate transportation providers within a certain proximity of the requesting user 197. The matching engine 150 may then select the best transportation provider 194 from the candidate set to serve the transportation request (e.g., based on the distance and / or time to the requesting user 197, the pickup location, or the delivery location). Once selected, the matching engine 150 may transmit the transportation invitation to the computing device 191 of the selected transportation provider 194 (e.g., via the executed application 192 via the network 180). The transportation provider 194 may accept or reject the transportation invitation. If the transportation provider 194 chooses to reject the invitation, the matching engine 150 may sequentially submit the transportation invitation to other transportation providers until the invitation is accepted.

[0034] The computing system 100 may further include an inference engine 120 that may receive location data from a computing device 191 of a transportation provider 194 and determine whether a given transportation provider 194 is running location spoofing software on the computing device 191 according to the examples described herein. For example, the inference engine 120 may execute a computing rule set 122 and / or a feasibility model 124 based on the location data to determine whether there are any abnormal location attributes (e.g., extreme acceleration or speed indications). In the process of determining whether a transportation provider 194 is using location spoofing software, the inference engine 120 may access a database 145 that includes a driving profile 147 for a particular road segment. The driving profile 147 may indicate a typical driving speed or behavior of the transportation provider 194 or other vehicles traveling through the corresponding road segment. Each data record of the driving profile 147 for a given road segment may include metadata indicating one or more timestamps, a description or indication of current traffic conditions, traffic signal status, and an average speed of the transportation provider 194 traveling through the road segment. In some aspects, each travel profile 147 can be associated with a minimum feasible time to travel from a start point to an end point of a road segment corresponding to the travel profile 147 .

[0035] At any given time, the inference engine 120 can determine whether a particular transportation provider's computing device 191 is running a location spoofing application or program. For example, the inference engine 120 can utilize the location data received from the computing device 191 to determine a set of location attributes of the transportation provider 194, such as the transportation provider's location, speed, current acceleration, altitude, direction of travel, etc. In addition, the inference engine 120 can determine the average speed of the transportation provider 194 between any two or more points along the current route traveled by the transportation provider. In some examples, the two or more location points can correspond to a particular travel profile 147, which the inference engine 120 can access to compare with the location attributes of the transportation provider 194.

[0036] In some examples, inference engine 120 may receive additional sensor data, such as image data, audio data, barometer data, accelerometer, gyroscope, and / or magnetometer data, from computing device 191 or a vehicle of transportation provider 194 (e.g., an inertial measurement unit (IMU) from computing device 191). In some aspects, the computing system may correlate this additional data with location data received from a positioning system (e.g., a GPS receiver) of the transportation provider's computing device 191 to determine, at least in part, whether transportation provider 194 is running a location spoofing application.

[0037] Additionally or alternatively, the inference engine 120 may determine whether the transportation provider 194 is running a location spoofing application by running the set of location attributes through a location-based feasibility model 124. The feasibility model 124 may include one or more algorithms (e.g., machine learning algorithms) that are programmed to determine realistic values ​​that indicate whether the location attributes of the transportation provider 194 are possible, feasible, unrealistic, or impossible. In some embodiments, the feasibility model 124 may output a binary answer (e.g., associated with a yes or no answer) or a probability indicating whether the transportation provider 194 is running a location spoofing application on the transportation provider's computing device 191. If the probability is above a certain probability threshold (e.g., 90% certainty), the inference engine 120 may conclude that the transportation provider is using location spoofing resources to mislead on-demand transportation services.

[0038] In certain embodiments, the feasibility model 124 may receive various inputs, such as location data from a transportation provider 194, a set of location attributes determined by the inference engine 120, and one or more matching travel profiles 147 for one or more road segments on which the transportation provider 194 traveled. In some aspects, the inference engine 120 may input additional factors into the feasibility model 124, such as sensor data (e.g., IMU data) from the computing device 191 of the transportation provider 194. Based on the various inputs, the feasibility model 124 may identify any location-based anomalies, such as unreasonable jumps in speed, acceleration, altitude changes, etc., and may output an answer or probability indicating whether the transportation provider 194 is using location spoofing resources. For example, the feasibility model 124 may identify extreme jumps in acceleration (e.g., exceeding 5g or 49m / s2), location teleportation, or extreme speeds (e.g., exceeding 100 miles per hour) in the location data. Additionally or alternatively, the feasibility model 124 may attempt to correlate sensor data (e.g., IMU data from the transportation provider's computing device 191) with the location data to identify any unrelated anomalies (e.g., acceleration spikes in the location data that are not present in the IMU data). If the data correlates correctly, the feasibility model 124 may output a confirmation that the transportation provider 194 is not using location spoofing software. However, if the data does not correlate, the feasibility model 124 may, for example, flag each unrelated instance or anomaly in the location data and generate a report identifying such instances or anomalies that indicate location spoofing software is being utilized.

[0039] Additionally or alternatively, the inference engine 120 can determine whether the transportation provider 194 is running location spoofing software by executing the rule set 122 on the set of location attributes. In some examples, the inference engine 120 can initially determine the extreme conditions of the road segment on which the transportation provider is traveling based on the calculated or observed speed. The rule set 122 can include a point-to-point calculation indicating whether the speed of the transportation provider 194 exceeds a feasibility threshold (e.g., 90 miles per hour). If so, the inference engine 120 can determine that the transportation provider 194 is using location spoofing resources to attempt to mislead the on-demand transportation service implemented by the matching engine 150.

[0040] In some aspects, the inference engine 120 can run a motion simulation of the transportation provider 194 along the road segments of the matching travel profile 147 based on the location attributes. The motion simulation can expose any abnormal behavior of the transportation provider 194 that indicates the use of location spoofing resources. For example, any sudden jumps or teleports, unreasonable altitude changes, etc. can be revealed by the motion simulation.

[0041] In certain embodiments, the computing system 100 may include a database 155 including a user profile 159 of the requesting user 197 and a provider profile 157 of the transportation provider 194. The user profile 159 may include account information, a unique identifier of the requesting user 197, user preferences, and historical data corresponding to the user's utilization of the on-demand transportation service. The provider profile 157 may include personal information of the transportation provider 194, such as the transportation provider's vehicle type, model, driver rating determined by the passengers that the transportation provider 194 has transported, income data, reward information, and a history of any faults and the nature of those faults associated with the on-demand transportation service. Each fault may be associated with a specific action of the transportation provider 194, such as an altercation with a passenger, an instance of using location spoofing in conjunction with the on-demand transportation service, and the like.

[0042] According to various examples described herein, when the inference engine 120 determines that the transportation provider 194 is utilizing location spoofing techniques, the inference engine 120 can trigger the profile manager 140 of the computing system 100 to mark the driver profile 157 of the transportation provider 194, thereby indicating that the transportation provider 194 is currently using location spoofing software. The profile manager 140 can track the behavior and / or performance of each transportation provider 194. In some aspects, when the demerits of the transportation provider 194 exceed a predetermined threshold, the matching engine 150 can exclude the transportation provider 194 from future matching operations (e.g., for the rest of the day), or can exclude the transportation provider 194 from participating in the on-demand transportation service.

[0043] In some embodiments, when the matching engine 150 determines a set of candidate transportation providers 194 for a given transportation request, the matching engine 150 may perform a lookup in the provider profile 157 to determine whether any transportation provider 194 in the candidate set has been marked as currently utilizing location spoofing software. If the matching engine 150 determines that one or more transportation providers 194 in the candidate set are utilizing location spoofing software, the matching engine 150 may exclude those transportation providers 194 from the current matching operation. Thus, any transportation provider 194 that attempts to mislead on-demand transportation services by using location spoofing software to gain a potential matching advantage may be excluded from any current matching operation. In some examples, the profile manager 140 may further notify the transportation provider 194 that the computing system recognizes that the transportation provider 194 is using location spoofing software.

[0044] Computing equipment

[0045] Figure 2 is shown to execute and run for use with computing system 290 (e.g., Figure 1 1 and 10. A block diagram of an example computing device 200 of a transportation provider of a designated transportation service application 232 that communicates with the computing system 100 shown and described above. In various embodiments, the computing device 200 may include a mobile computing device such as a smart phone, a tablet computer, a laptop computer, a VR or AR headset, etc. Thus, the computing device 200 may include telephony components such as a microphone 245, a camera 250, and a communication interface 210 to communicate with external entities using any number of wireless communication protocols. The computing device 200 may further include a positioning module 260 (e.g., a GPS receiver) and an inertial measurement unit 264, which includes one or more accelerometers, gyroscopes, or magnetometers.

[0046] In some aspects, the computing device 200 may store the designated application 232 in the local memory 230. In a variation, the memory 230 may store additional applications executable by one or more processors 240 of the computing device 200 to enable access to and interaction with one or more host servers via one or more networks 280. One such application may include a location spoofing application 234 that the computing device 200 may execute to provide incorrect location data to the computing system 290, as provided herein. For example, the location spoofing application 234 may be executed with the designated application 232 to enable a transportation provider to mislead the computing system 290 regarding the location of the transportation provider.

[0047] In response to the transportation provider's user input 218 (e.g., selection of an icon representing a designated application 232), the designated application 232 may be executed by the processor 240, which may cause a display interface 222 to be generated on the display screen 240 of the computing device 200. In various implementations, the display interface 222 may enable the transportation provider to view and accept transportation invitations and follow map directions to a meet-up and / or drop-off location.

[0048] In various examples, the positioning module 260 can provide location data indicating the current location of the transportation provider to the network computing system 290, thereby, for example, enabling the computing system 290 to match the transportation provider with the requesting user. As described herein, the location data can be used by the computing system 290 to determine whether the computing device 200 is currently executing the location spoofing application 234, as described herein. In further embodiments, the computing device 200 can also transmit additional sensor data to the computing system 290, such as image data from the camera 250, audio data from the microphone 245, and IMU data from the IMU 264, to enable the computing system 290 to determine whether the location spoofing application 234 is being utilized by the computing device 200.

[0049] method

[0050] Figure 3A and Figure 3B is a flow chart describing an example method of detecting location spoofing by a transportation provider according to various examples. Figure 3A and Figure 3B In the discussion of Figure 1 and Figure 2 Reference numerals are used to represent the various features shown and described. Figure 3A and Figure 3B The process can be combined with Figure 1 The example computing system 100 shown and described is implemented. Figure 3A, the computing system 100 may receive location data from transportation providers 194 operating throughout a transportation service area (300). As described herein, the location data may indicate the location, speed, direction of travel, altitude, etc. of the transportation provider 194. Based on the location data, the computing system 100 may determine whether a particular transportation provider 194 is running a location spoofing application on the computing device 191 of the transportation provider 194 (305). For example, the computing system 100 may execute the rule set 122 on the location data to determine, for example, whether the speed of the transportation provider 194 exceeds a certain reasonableness threshold (e.g., 90 miles per hour on a particular road segment) (307). Additionally or alternatively, the computing system 100 may execute a machine learning model (e.g., a feasibility model 124) on the location data, and the machine learning model may output an indication as to whether the transportation provider 194 is using location spoofing software (309).

[0051] Figure 3B Another example method of detecting location spoofing software according to various examples is shown. Figure 3B , the computing system 100 may initially filter the location data of the computing device 191 from the transportation provider 194 based on the data quality (310). For example, when executing the feasibility model 124 on low-quality location data, the computing system 100 may output inadequate results with unacceptable errors. Thus, the initial filter may cause the computing system 100 to process only high-quality location data. Based on the location data from a particular transportation provider 194, the computing system 100 may determine a set of location attributes for the transportation provider 194 (315). As described herein, the location attributes may include the speed (316), acceleration (317), altitude (318), and / or route or direction of travel (319) of the transportation provider 194.

[0052] According to various examples, the computing system 100 may execute the feasibility model 124 on the location attributes (320). In some examples, the computing system 100 may initially execute the rule set 122 using the location attributes to determine whether any of the location attributes are clearly anomalous (e.g., indicating teleportation by the transportation provider 194) (322). Additionally or alternatively, the computing system 100 may perform a travel profile comparison (323) between the location attributes and a matching travel profile 147 for a road segment on which the transportation provider 194 traveled. The matching travel profile 147 may indicate a normal or average speed and / or time for traversing the corresponding road segment. In some aspects, the matching travel profile 147 may also indicate a maximum speed or minimum time threshold for traversing the road segment. If, for example, the transportation provider's speed exceeds the maximum speed threshold, the computing system 100 may conclude that the transportation provider 194 is running a location spoofing application.

[0053] In further embodiments, the execution of feasibility model 124 may include a variety of additional factors, such as weather conditions (e.g., rain, snow, or sunny), current traffic conditions, time of day (e.g., rush hour), time of week (e.g., weekday vs. weekend), etc. Given a set of additional factors, computing system 100 adjusts a set of feasibility thresholds corresponding to, for example, a maximum speed threshold for traversing a particular road segment, a maximum acceleration at any given time, a maximum elevation change for a given known road segment, etc. According to various embodiments, when computing system 100 establishes feasibility thresholds, computing system 100 may then determine whether location attributes of transportation provider 194 meet, cross, or exceed any of the established thresholds, which would indicate that transportation provider 194 is using location spoofing software.

[0054] In any case, the feasibility model 124 can output an indication of whether it is feasible for the transportation provider to traverse a given road segment (325), which can indicate whether the transportation provider 194 is using location spoofing software to mislead the computing system 100. If traversal is feasible (327), the computing system 100 can approve the transportation provider 194 for a matching operation with the requesting user 197 (330). However, if the computing system 100 determines that it is not feasible for the transportation provider to traverse a particular road segment (326), the computing system 100 can exclude the transportation provider 194 from any current matching operation (335). In addition, the computing system 100 can enter a demerit into the profile 157 of the transportation provider 194 to indicate a situation in which the transportation provider attempted fraud (340). As described herein, the demerit can affect at least one of the driver rating or compensation of the transportation provider. For example, the computing system 100 can exclude the transportation provider 194 from any currently offered incentive contracts. Additionally or alternatively, computing system 100 may exclude transportation provider 194 from on-demand transportation services entirely if a certain delinquency threshold is exceeded.

[0055] Hardware Diagram

[0056] Figure 4 4 is a block diagram illustrating a computer system 400 on which the examples described herein may be implemented. The computer system 400 may be implemented, for example, on a server or combination of servers. For example, the computer system 400 may be implemented as part of a network service, such as in conjunction with Figures 1 to 3B On-demand transportation services. Figure 1 In the case of Figure 4 The computer system 400 implements the computing system 100. Figure 4 As mentioned above, the computing system 100 may also be implemented using a combination of multiple computer systems 400 .

[0057] In one embodiment, computer system 400 includes processing resources 410, main memory 420, read-only memory (ROM) 430, storage devices 440, and communication interfaces 450. Computer system 400 includes at least one processor 410 to process information stored in main memory 420, such as provided by random access memory (RAM) or other dynamic storage devices to store information and instructions executable by processor 410. Main memory 420 may also be used to store temporary variables or other intermediate information during the execution of instructions to be executed by processor 410. Computer system 400 may also include ROM 430 or other static storage devices to store static information and instructions for processor 410. Storage devices 440, such as magnetic disks and optical disks, are provided to store information and instructions.

[0058] The communication interface 450 enables the computer system 400 to communicate over one or more networks 480 (e.g., a cellular network) using a network link (wireless or wired). Using the network link, the computer system 400 can communicate with one or more computing devices, one or more servers, and / or one or more databases. According to an example, the computer system 400 receives a transportation request 482 from an individual user's mobile computing device and receives location data 484 from a transportation provider.

[0059] As an example, instructions and data stored in memory 420 may be executed by processor 410 to implement Figure 1 4. In various examples, the processor 410 may execute matching instructions 424 to receive location data 484 from a transportation provider and a transportation request 482 from a requesting user, and match the requesting user with a transportation provider, and transmit a transportation invitation 452 to the matched transportation provider, as described herein. In certain embodiments, the processor 410 executes inference instructions 426 to receive location data 484 from a transportation provider, determine location attributes of the transportation provider, compare the location attributes to a matched travel profile 428 of a road segment on which the transportation provider traveled, and ultimately determine whether the transportation provider is running location spoofing software.

[0060] The examples described herein are related to the use of a computer system 400 for implementing the techniques described herein. According to one example, those techniques are performed by the computer system 400 in response to the processor 410 executing one or more sequences of one or more instructions contained in the main memory 420. These instructions may be read into the main memory 420 from another machine-readable medium, such as from the storage device 440. Executing the sequence of instructions contained in the main memory 420 causes the processor 410 to perform the process steps described herein. In alternative implementations, hard-wired circuits may be used in place of or in combination with software instructions to implement the examples described herein. Thus, the examples described are not limited to any specific combination of hardware circuitry and software.

[0061] It is contemplated that the examples described herein are extended to the individual elements and concepts described herein independently of other concepts, ideas or systems, and that the examples include combinations of elements recorded anywhere in this application. Although the examples are described in detail herein with reference to the accompanying drawings, it should be understood that the concepts are not limited to those precise examples. Therefore, many modifications and variations will be apparent to those skilled in the art. Thus, it is intended that the scope of the concepts be defined by the appended claims and their equivalents. In addition, it is contemplated that a specific feature described separately or as part of an example may be combined with other separately described features or parts of other examples, even if the other features and examples do not mention the specific feature. Thus, the lack of a description combination should not preclude the claim to claim rights to these combinations.

Claims

1. A computing system for running an application service, comprising: a network communication interface for communicating with a driver's computing device via one or more networks; one or more processors; one or more memory resources for storing instructions; The one or more processors execute the instructions to perform operations, the operations comprising: receiving location data from a driver's computing device via the one or more networks; executing a location-based feasibility model based at least in part on the location data received from the computing device of the driver to determine whether it is feasible for the driver to traverse a particular road segment; and Based on the determined feasibility, the data set is associated with a driver profile of the corresponding driver.

2. The computing system of claim 1, wherein: Executing the location-based feasibility model is further based on at least one of traffic conditions, time of day, day of week, or weather conditions that affect the driver when traversing the particular road segment.

3. The computing system of claim 1, wherein: Executing the location-based feasibility model includes determining whether traversal of the particular road segment by the driver does not satisfy a feasibility threshold for traversing the particular road segment.

4. The computing system of claim 3, wherein: The feasibility threshold includes a speed threshold for crossing the specific road segment.

5. The computing system of claim 3, wherein: The feasibility threshold includes an acceleration threshold for crossing the specific road segment.

6. The computing system of claim 3, wherein: The feasibility threshold includes an altitude change threshold for crossing the specific road segment.

7. The computing system of claim 1, wherein: The operations further include: A determination is made based on the associated data set whether to exclude the driver from a set of matching operations.

8. The computing system of claim 1, wherein: The associated data set includes a probability that the computing device of the driver is spoofing location data.

9. A non-transitory computer-readable medium storing instructions which, when executed by one or more processors of a computing device, cause the computing device to perform operations comprising: receiving location data from a driver's computing device via one or more networks; executing a location-based feasibility model based at least in part on the location data received from the computing device of the driver to determine whether it is feasible for the driver to traverse a particular road segment; and Based on the determined feasibility, the data set is associated with a driver profile of the corresponding driver.

10. The non-volatile computer readable medium of claim 9, wherein: Executing the location-based feasibility model is further based on at least one of traffic conditions, time of day, day of week, or weather conditions that affect the driver when traversing the particular road segment.

11. The non-transitory computer readable medium of claim 9, wherein: Executing the location-based feasibility model includes determining whether traversal of the particular road segment by the driver does not satisfy a feasibility threshold for traversing the particular road segment.

12. The non-transitory computer readable medium of claim 11, wherein: The feasibility threshold includes a speed threshold for crossing the specific road segment.

13. The non-transitory computer readable medium of claim 11, wherein: The feasibility threshold includes an acceleration threshold for crossing the specific road segment.

14. The non-transitory computer readable medium of claim 11, wherein: The feasibility threshold includes an altitude change threshold for crossing the specific road segment.

15. The non-transitory computer readable medium of claim 9, wherein: The operations further include: A determination is made based on the associated data set whether to exclude the driver from a set of matching operations.

16. The non-transitory computer readable medium of claim 9, wherein: The associated data set includes a probability that the computing device of the driver is spoofing location data.

17. A computer-implemented method, the method comprising: receiving location data from a driver's computing device via one or more networks; executing a location-based feasibility model based at least in part on the location data received from the computing device of the driver to determine whether it is feasible for the driver to traverse a particular road segment; and Based on the determined feasibility, the data set is associated with a driver profile of the corresponding driver.