You are on page 1of 30

US 20200025581A1

IN
(19) United States
(12 )Ramasamy
Patent Application
et al.
Publication (10 ) Pub. No .: US 2020/0025581 A1
(43 ) Pub . Date : Jan. 23 , 2020
(54 ) INDOOR /OUTDOOR TRANSITION POINTS GOIS 19/51 (2006.01)
BASED ON SATELLITE SIGNAL STRENGTH G06F 16/29 ( 2006.01)
H04B 17318 (2006.01)
(71 ) Applicant: Uber Technologies, Inc., San (52) U.S. CI.
Francisco , CA (US) CPC GOIC 21/3438 ( 2013.01) ; G01C 21/3605
(2013.01); H04B 17/318 (2015.01); G06F
(72 ) Inventors: Dineshkumar Karuppanna Gounder 16/29 (2019.01); GOIS 19/51 ( 2013.01 )
Ramasamy, San Francisco , CA (US);
Upamanyu Madhow , Santa Barbara , (57 ) ABSTRACT
CA (US)
(21) Appl. No.: 16 /513,093 Systems and methods of using satellite signal strength to
determine indoor/outdoor transition points for places are
( 22 ) Filed : Jul. 16 , 2019 disclosed herein . In some example embodiments, a com
puter system accesses service data and sensor data for a
Related U.S. Application Data plurality of requests for a transportation service associated
with a place, with the service data comprising pick -up data
(60 ) Provisional application No. 62/700,180 , filed on Jul. indicating a pick -up location and drop -off data indicating a
18 , 2018. drop -off location , and the sensor data comprising satellite
Publication Classification signals indicating a pick -up path or a drop -off path , with the
satellite signals each having a corresponding signal strength .
(51) Int. Ci. The computer system determines a transition geographic
G01C 21/34 ( 2006.01) location for the place based on the signal strengths of the
G01C 21/36 ( 2006.01 ) satellite signals.
OTHER
MAP DATA PLACE
210 218

PICK -UP
PATHS
204A

DROP -OFF
PATHS
204B
a

2000

SENSOR PATH SIDEWALK


DATA STREET
202 216 PLACE
200 214 212
Patent Application Publication Jan. 23 , 2020 Sheet 1 of 11 US 2020/0025581 A1

REQUESTER PROVIDER
110 120

CLIENT DEVICE
HI CLIENT DEVICE
L122
1122
114 REQUESTER PROVIDER 124
APPLICATION APPLICATION

130 NETWORK

NETWORKED COMPUTER SYSTEM


100

1024 PREDICTION
MODULE

106
DATABASE( S )
1044 SERVICE
MODULE

FIG . 1
Patent Application Publication Jan. 23 , 2020 Sheet 2 of 11 US 2020/0025581 A1

OTHER
MAP DATA PLACE
210 218

PICK -UP
PATHS
204A

DROP - OFF
PATHS
204B

oog
ooooooo or

SENSOR PATH SIDEWALK


DATA 202 STREET 216 PLACE
200 214 212

FIG . 2
Patent Application Publication Jan. 23 , 2020 Sheet 3 of 11 US 2020/0025581 A1

300

310

320

PICK UP 330 340


JOHN O MIN
WAIT FOR RIDER 350
RIDER HAS BEEN NOTIFIED

START TRIP 360

FIG . 3
Patent Application Publication Jan. 23 , 2020 Sheet 4 of 11 US 2020/0025581 A1

400
420

410

DROP OFF
JOHN . 430 O MIN 440

COMPLETE TRIP 460


- >

FIG . 4
Patent Application Publication Jan. 23 , 2020 Sheet 5 of 11 US 2020/0025581 A1

500
SIGNAL
STRENGTH
510

530

520

TIME

FIG . 5
Patent Application Publication Jan. 23 , 2020 Sheet 6 of 11 US 2020/0025581 A1

TPRAENDSICO PFLOCATIROEN ELOGCRATISON PFLOACRE GEOCODE


,
E.G.
(
)

TPRAENDSICO FLROECQAUTIRSON LEOGCRATISON -FORR1EQUEST


G)EOCODE
,
E.G.
( LEOGCRATISON FORR-2EQUEST
G)EOCODE
,
E.G.
(

1
-
SNR SNR
2
- SNR
1
- 2
-
SNR .
6
.
FIG

SDEANTSOAR -1FORGEOCODE PICK-UPPATH G-2FOREOCODE PATHPICK-UP -1FORGEOCODE PICK-UPPATH 2FORG-EOCODE -UPPATHPICK 5

-1REQUEST
REQUST -2REQUEST

PLACE ACOMREP
600
Patent Application Publication Jan. 23 , 2020 Sheet 7 of 11 US 2020/0025581 A1

OTHER
MAP DATA PLACE
210 218

EGRESS LOCATION
710A

INGRESS LOCATION
710B

SIDEWALK
STREET 216 PLACE
214 212

FIG . 7
Patent Application Publication Jan. 23 , 2020 Sheet 8 of 11 US 2020/0025581 A1

800

ACCESS SERVICE DATA FOR REQUESTS FOR 810


TRANSPORTATION SERVICE ASSOCIATED WITH PLACE

ACCESS SENSOR DATA FOR REQUESTS , SENSOR DATA


COMPRISING SATELLITE SIGNALS INDICATING PATH (S) OF - 820
MOBILE DEVICE WITH CORRESPONDING SIGNAL
STRENGTHS

DETERMINE CORRESPONDING TRANSITION GEOGRAPHIC


LOCATIONS FOR REQUESTS BASED ON SIGNAL 830
STRENGTHS

DETERMINE TRANSITION GEOGRAPHIC LOCATION (S) FOR


PLACE BASED ON TRANSITION GEOGRAPHIC LOCATIONS 840
FOR REQUESTS

STORE TRANSITION GEOGRAPHICAL LOCATION (S ) FOR 850


PLACE IN ASSOCIATION WITH IDENTIFICATION OF PLACE

RECEIVE ANOTHER REQUEST FOR TRANSPORTATION 860


SERVICE ASSOCIATED WITH PLACE

IDENTIFY TRANSITION GEOGRAPHICAL LOCATION OF


PLACE -870

TRANSMIT TRANSITION GEOGRAPHICAL LOCATION OF 880


PLACE TO COMPUTING DEVICE

FIG . 8
Patent Application Publication Jan. 23 , 2020 Sheet 9 of 11 US 2020/0025581 A1

anomen

920-1
1
?1 2-1710-1
1

920-2 9
.
FIG

930 1 2-3
1 0-3
112-2
920-3 212 o 1 0-2
Patent Application Publication Jan. 23 , 2020 Sheet 10 of 11 US 2020/0025581 A1

1000 1016

MOBILE DEVICE 1010


DISPLAY

1018
N
GPS RECEIVER

TRANSCEIVER

1004
1014
MEMORY
PROCESSOR 1006
OS

1002
N 1008
APPLICATIONS
I/ O DEVICES

1012

FIG . 10
Patent Application Publication Jan. 23 , 2020 Sheet 11 of 11 US 2020/0025581 A1

51100
PROCESSOR
1102 GRAPHICS DISPLAY 1110
1124 INSTRUCTIONS

MAIN MEMORY
1104 ALPHANUMERIC INPUT 1112
DEVICE
1124 INSTRUCTIONS

1108
1106 STATIC MEMORY UI NAVIGATION DEVICE -1114
BUS
1120 NETWORK INTERFACE STORAGE UNIT 1116
DEVICE
MACHINE -READABLE -1122
MEDIUM
INSTRUCTIONS 1124

1126 NETWORK

SIGNAL GENERATION 1118


DEVICE

FIG . 11
US 2020/0025581 A1 Jan. 23, 2020
1

INDOOR /OUTDOOR TRANSITION POINTS a transition point at which the client device transitions from
BASED ON SATELLITE SIGNAL STRENGTH being outdoors to being indoors, in accordance with some
example embodiments .
CLAIM FOR PRIORITY [0010 ] FIG . 6 illustrates a mapping of corresponding data
[0001] This application claims the benefit of priority of for a place, in accordance with some example embodiments .
U.S. Application Ser. No. 62 /700,180 , filed Jul. 18 , 2018 , [0011] FIG . 7 illustrates transition geographic locations
which is hereby incorporated by reference in its entirety . superimposed onto map data of a place, in accordance with
some example embodiments .
TECHNICAL FIELD [0012 ] FIG . 8 is a flowchart illustrating a method of
determining a transition geographic location for a place
[0002 ] Embodiments of the present disclosure relate gen using satellite signal strength , in accordance with some
erally to the technical field of geographic positioning for a example embodiments .
networked computer system and , more particularly, but not [0013] FIG . 9 illustrates a use case in which elevation data
by way of limitation , to systems and methods of using is used to determine that a candidate transition geographic
satellite signal strength to determine indoor/outdoor transi location for a place is not a transition geographic location for
tion points for places . the place based on elevation data, in accordance with the
some example embodiments .
BACKGROUND [ 0014 ] FIG . 10 is a block diagram illustrating a mobile
[ 0003] A networked computer system can receive , from device , in accordance with some example embodiments.
user devices, a request for a service . The request can include [0015 ] FIG . 11 is a diagrammatic representation of a
data related to a place that is to be involved in the providing machine in the form of a computer system within which a set
of the service . For example , a user may submit a request, via of instructions may be executed for causing the machine to
the networked computer system , to be transported from a perform any one or more of the methodologies discussed
first place to a second place . The networked computer herein , according to an example embodiment.
system may then transmit a geographical location of the first DETAILED DESCRIPTION
place and a geographical location of the second place to a
device of a service provider for use in providing the service [0016 ] The description that follows includes illustrative
to the requester. However, although the request may include systems, methods, techniques , instruction sequences, and
an identification of a place , the networked computer system computing machine program products that embody illustra
may nothave the corresponding geographical location of the tive embodiments. In the following description , for purposes
place readily available . Additionally, current networked of explanation , numerous specific details are set forth in
computer systems suffer from poor accuracy in predicting order to provide an understanding of various embodiments
the actual geographical location of a place for which a user of the inventive subject matter . It will be evident, however,
is requesting the service . For example, even though a request to those skilled in the art that embodiments of the inventive
may include an address or a name of a place for which an subjectmatter can be practiced without these specific details .
address can be determined , the address of a place often does In general, well -known instruction instances, protocols,
not accurately represent the precise location where the structures, and techniques have not been shown in detail .
service should be provided . For example, the specific [0017 ] The present disclosure provides technical solutions
indoor/outdoor transition points for the place , such as egress for improving the accuracy of computer-implemented coor
locations and ingress locations, are not readily available and
are technically challenging to predict.
dinate prediction . In some example embodiments, a techni
cal solution involves using sensor data ofmobile devices to
generate one or more transition geographic locations of a
BRIEF DESCRIPTION OF THE DRAWINGS place , where the sensor data includes a plurality of satellite
[ 0004 ] Some embodiments of the present disclosure are signals indicating a path of a client device of a requester,
illustrated by way of example and not limitation in the with each one of the plurality of satellite signals having a
figures of the accompanying drawings, in which like refer corresponding signal strength . The transition geographic
ence numbers indicate similar elements . location (s) for the place is determined based on the corre
[0005 ] FIG . 1 is a block diagram of a system environment
sponding signal strengths of the satellite signals and a
for a networked computer system , in accordance with some satellite signal strength threshold that is configured to rep
example embodiments . resent a point of transition between an indoor location and
an outdoor location of the place . The predicted transition
[0006 ] FIG . 2 illustrates sensor data superimposed onto geographical location ( s) of a place may then be used in
map data of a place , in accordance with some example servicing requests for transportation services associated with
embodiments . the place . One technical effect of the system and method of
[ 0007 ] FIG . 3 illustrates a graphical user interface (GUI) the present disclosure is to improve the accuracy of coor
in which a provider of a service may signal that the provider dinate prediction by networked computer systems. Addition
has started transporting a requester, in accordance with some ally , other technical effects will be apparent from this
example embodiments. disclosure as well.
[ 0008 ] FIG . 4 illustrates a GUI in which the provider of [0018 ] In some example embodiments, operations are
the service may signal that the provider has completed performed by a computer system (or other machine ) having
transporting the requester , in accordance with some example a memory and at least one hardware processor, with the
embodiments. operations comprising : for a place, accessing corresponding
[0009 ] FIG . 5 is a time series graph plotting satellite signal service data for each one of a plurality of requests for a
strength for a client device , which may be used to identify transportation service associated with the place, the trans
US 2020/0025581 A1 Jan. 23 , 2020
2

portation service comprising transportation of a requester of transition geographic transition for the place based on the
the request to or from the place , the corresponding service transportation service of the other request comprising trans
data comprising an identification of the place , pick -up data portation of the other requester to the place and on the one
indicating a pick -up location where the transportation of the of the at least one transition geographic location for the place
requester began , and drop -off data indicating a drop -off being stored as the ingress geographic location for the place .
location where the transportation of the requester ended ; [0022 ] In some example embodiments, the transportation
accessing corresponding sensor data for each one of the service of the plurality of requests is for transportation of the
plurality of requests, the corresponding sensor data com requester of the request from the place, the determining the
prising a plurality of satellite signals indicating a path of a transition geographic location for each one of the plurality of
mobile device of the requester, the path comprising a pick requests comprising determining the transition geographic
up path or a drop -off path , the pick - up path ending at the location for the request based on the corresponding signal
pick -up location indicated by the pick - up data , the drop -off strengths of the satellite signals indicating the corresponding
path beginning at the drop-off location indicated by the pick -up path , one of the at least one transition geographic
drop -off data , each one of the plurality of satellite signals location for the place being stored as an egress geographic
having a corresponding signal strength ; for each one of the location for the place , the transportation service of the other
plurality of requests , determining a transition geographic request comprising transportation of the other requester
location for the request based on the corresponding signal from the place , and the identifying the transition geographic
strengths of the satellite signals indicating the corresponding location for the place comprising identifying one of the at
path and a satellite signal strength threshold , the satellite least one transition geographic transition for the place based
signal strength threshold being configured to represent a on the transportation service of the other request comprising
point of transition between an indoor location and an out transportation of the other requester from the place and on
door location ; determining at least one transition geographic the one of the at least one transition geographic location for
location for the place based on the transition geographic the place being stored as the egress geographic location for
locations for the plurality of requests ; and storing the at least the place.
one transition geographic location for the place in a database [0023 ] In some example embodiments , the operations
in association with an identification of the place . further comprise selecting the provider of the transportation
[0019 ] In order to obtain the sensor data of a computing service of the other request from amongst a plurality of
device (e.g., a mobile device ) of a user ( e.g., a requester or providers based on a geographic location of the mobile
a provider), the computer system (or another computer device of the provider and the one of the at least one
system ) requests permission from the user to track the transition geographic location for the place .
location of the computing device before and after the trip of [0024 ] In some example embodiments , the operations
the requested transportation service . If the user agrees to further comprise selecting the at least one transition geo
permit the tracking of the location of the computing device graphic location of the place based on at least one of a
before and after the trip , then such sensor data of the geographic location of the mobile device of the other
computing device is collected and used for further process requester and a geographic location of the mobile device of
ing , as disclosed herein . In this way, the user of a computing the provider , wherein the transmitting of the one of the at
device controls what information of the user is collected and least one transition geographic location of the place com
used by the computer system , as the location of the com prises transmitting the one of the at least one transition
puting device of a user is only tracked if the user knowl geographic location of the place to at least one of themobile
edgeably consents to such data gathering . device of the other requester and the mobile device of a
[0020 ] In some example embodiments, the operations provider of the transportation service of the other request for
further comprise: receiving another request for the transpor display in association with the other request for the trans
tation service associated with the place from a mobile device portation service.
of another requester, the other request comprising the iden [0025 ] In some example embodiments , the determining
tification of the place ; identifying the transition geographic the transition geographic location for the request comprises
transition for the place based on a search of the database determining that a candidate geographic location indicated
using the identification of the place; and transmitting one of by the path associated with the request is not the transition
the at least one transition geographic location of the place to geographic location based on elevation data indicating an
at least one of the mobile device of the other requester and elevation of the mobile device of the requester at the
a mobile device of a provider of the transportation service of candidate geographic location .
the other request. [0026 ] In some example embodiments, the computer sys
[0021] In some example embodiments , the transportation tem comprises a remote server.
service of the plurality of requests is for transportation of the [0027 ] The methods or embodiments disclosed herein may
requester of the request to the place, the determining the be implemented as a computer system having one or more
transition geographic location for the request comprising modules (e.g., hardware modules or software modules ).
determining the transition geographic location for the Such modules may be executed by one or more hardware
request based on the corresponding signal strengths of the processors of the computer system . In some example
satellite signals indicating the corresponding drop -off path , embodiments , a non - transitory machine -readable storage
one of the at least one transition geographic location for the device can store a set of instructions that, when executed by
place being stored as an ingress geographic location for the at least one processor, causes the at least one processor to
place , the transportation service of the other request com perform the operations and method steps discussed within
prising transportation of the other requester to the place, and the present disclosure.
the identifying the transition geographic location for the [0028 ] The details of one or more variations of the subject
place comprising identifying the one of the at least one matter described herein are set forth in the accompanying
US 2020/0025581 A1 Jan. 23 , 2020
3

drawings and the description below . Other features and ing or requesting the service ). For example, the requester
advantages of the subject matter described herein will be 110 may launch the requester application 114 and specify an
apparent from the description and drawings, and from the origin location and /or a destination location to view infor
claims. mation about the networked computer system 100 before
[0029 ] FIG . 1 is a block diagram of a system environment making a decision on whether to request service . The
for a networked computer system 100 , in accordance with requester 110 may want to view information about the
some example embodiments . In some example embodi average or estimated timeofarrival for pick up by a provider
ments , the networked computer system 100 coordinates the 120 , the estimated time to the destination , the price , the
transportation of persons and/or goods/items for a service available service types, etc. Depending on implementation ,
requester 110 (e.g., such as a rider) by a service provider 120 the data can include the origin and /or destination location
(e.g., a driver of a vehicle ). The provider 120 uses a vehicle information , requester information ( e.g., identifier ), appli
to provide the transportation to the requester. cation information (e.g., version number ), device identifier
[0030 ] In some example embodiments, the networked or type , etc. According to some examples, each time the
computer system 100 comprises any combination of one or requester 110 modifies the origin and /or destination location ,
more of a prediction module 102 , a service module 104 , and the requester application 114 can generate and transmit the
one or more databases 106. These modules and databases are data to the networked computer system 100 .
not native components of a generic computer system , and [0034 ] The network 130 may be any network that enables
provide structures and functionsbeyond generic functions of communication between or among machines, databases, and
a computer system , as further described below . devices (e.g. , the networked computer system 100 and the
[0031] In some example embodiments , the modules 102 client devices 112 and 122). Accordingly, the network 130
and 104 and the database (s ) 106 reside on a machine having may be a wired network , a wireless network ( e.g., a mobile
a memory and at least one processor ( not shown ). In some or cellular network ), or any suitable combination thereof.
example embodiments, the modules 102 and 104 and the The network 130 may include one or more portions that
database (s) 106 reside on the samemachine , while in other constitute a private network, a public network ( e.g., the
example embodiments , one or more ofmodules 102 and 104 Internet), or any suitable combination thereof. Accordingly ,
and database (s ) 106 reside on separate remote machines that the network 130 may include one or more portions that
communicate with each other via a network ( e.g., network incorporate a local area network (LAN ), a wide area network
130 ). It is contemplated that other configurations are also (WAN ), the Internet, a mobile telephone network (e.g. , a
within the scope of the present disclosure . cellular network ), a wired telephone network (e.g., a plain
[ 0032 ] In some example embodiments, the requester 110 old telephone system (POTS ) network ), a wireless data
operates a client device 112 that executes a requester appli network (e.g., WiFi network or WiMax network ), or any
cation 114 that communicates with the networked computer suitable combination thereof. Any one or more portions of
system 100. The requester operates the requester application the network 130 may communicate information via a trans
102 to view information about the networked computer mission medium . As used herein , “ transmission medium "
system 100 , and to make a request for service from the shall be taken to include any intangible medium that is
networked computer system 100 for a delivery or transport capable of storing, encoding , or carrying instructions for
service (“ a trip” ) of the requester 110 (and , optionally, execution by a machine , and includes digital or analog
additional persons ) and /or items, for example cargo needing communication signals or other intangible media to facilitate
transport. The requester application 114 determines a pick communication of such software .
up location within an origin location enables the requester [0035 ] Once the requester 110 confirms or orders a service
110 to specify a pick -up location and /or a destination via the requester application 114 , the requester application
location associated with the trip . An origin location and /or a 114 can generate data corresponding to a request for the
destination location may be a location inputted by the service through the networked computer system 100 (e.g.,
requester 110 or may correspond to the current location of also referred to herein as a “ trip request" ). Responsive to
the requester client device 112 as determined automatically receiving a trip request, the networked computer system 100
by a location determination module (not shown ) in the determines the average estimated time of arrival (ETA ) at
requester client device 112, e.g., a global positioning system the pick - up location ofproviders 120 whose current location
(GPS ) component, a wireless networking system , or a com is within a threshold distance of the pick - up location ( e.g.,
bination thereof. For purposes of simplicity , as described providers 120 who are all within one mile of the pickup
herein , an origin location can include a pick -up location for location ). In some embodiments, responsive to determining
service (i) determined by the requester application 114 (e.g. , that requester's ETA is within a threshold amount of time of
based on the current location of the requester client device the average ETA of nearby available providers 120 , the
112 using a GPS component), ( ii ) specified or selected by the networked computer system 100 uses information from the
requester 110, or ( iii) determined by the networked com trip request to match the requester 110 with an available
puter system 100. In some embodiments , the networked provider 120. Depending on implementation , the trip request
computer system 100 recommends a pick -up location to a can include requester or device information (e.g., a requester
requester 100 based on historical trip data associated with identifier, a device identifier), a service type (e.g. , vehicle
the origin location. type) and /or selected service option (such as described
[0033] According to examples herein , the requester client herein ), an origin location , a destination location , a payment
device 112 can transmit a set of data to the networked profile identifier , a desired departure time, and /or other data .
computer system 100 over a network 130 in response to The networked computer system 100 selects a provider 120
requester input or operation of the requester application 114 . from a set of providers, such as based on the provider's
Such data can be indicative of the requester's interest in current location and status ( e.g., offline , online , available ,
potentially requesting service ( e.g., before actually confirm etc.) and/or information from the trip request ( e.g., service
US 2020/0025581 A1 Jan. 23, 2020
4

type, origin location , and /or destination location ), to provide mobile electronic devices such as smartphones, tablet
the service for the requester and transport the requester 110 devices, wearable computing devices (e.g., smartwatches) or
from the origin location to the destination location . Respon similar devices. Alternatively, the provider client device 122
sive to selecting an available provider 120 , the networked can correspond to an on -board computing system of a
computer system 100 sends an invitation message to the vehicle . Client devices typically have one or more proces
provider client device 122 inviting the provider 120 to fulfill sors , memory, touch screen displays, wireless networking
the trip request. system (e.g., IEEE 802.11), cellular telephony support ( e.g.,
[0036 ] In one example embodiment, the networked com LTE /GSM /UMTS /CDMA /HSDP A , etc.), and location
puter system 100 periodically determines the requester's determination capabilities . The requester client device 112
ETA at the pick -up location based on the topological and and the provider client device 122 interact with the net
geospatial location of the requester client device 112. In worked computer system 100 through client applications
some example embodiments, the networked computer sys configured to interact with the networked computer system
tem 100 selects the provider 120 based on a comparison of 100. The applications 114 and 124 of the requester client
the requester's ETA and the provider's ETA at the pick -up device 112 and the provider client device 122, respectively ,
location . For example , if the networked computer system can present information received from the networked com
100 determines that the requester 110 is about three minutes puter system 100 on a requester interface , such as a map of
away from the pick -up location , the networked computer the geographic region , and the current location of the
system 100 might select a provider 120 who is also about requester client device 112 or the provider clientdevice 122 .
three minutes away even if other providers 120 have a The applications 114 and 124 running on the requester client
shorter ETA . device 112 and the provider client device 124 can determine
[0037 ] If, after matching the requester 110 with an avail location the current location of the device and provide the current
able provider 120 , the networked computer system 100 to the networked computer system 100 .
determines that the requester's ETA and the provider's ETA [0040] The networked computer system 100 is configured
at the pick -up location vary by over a threshold amount of to provide a communicative interface between the requester
time, the networked computer system 100 can reassign the application 114 , the provider application 124 , and the vari
trip to another available provider 120 . ous modules and databases in the networked computer
[0038 ] The provider 120 operates a client device 122 system 100. The networked computer system 100 is con
executing a provider application 124 that communicates figured to receive provider availability status information
with the networked computer system 100 to provide infor and current location information from the provider applica
mation indicating whether the provider 120 is available or tion 124 and update database (s) 106 with the availability
unavailable to provide transportation services to requesters ured status. The networked computer system 100 is also config
110. The provider application 124 can also present informa to receive trip requests from the requester application
tion about the networked computer system 100 to the 114 and creates corresponding trip records in the database (s )
108. According to an example embodiment, a trip record
provider 120 , such as invitations to provide service , navi corresponding
gation instructions, map data, etc. In one example embodi to a trip request can include or be associated
ment , the provider application 124 enables the provider 120 with a trip ID , a requester ID , an origin location , a destina
to provide information regarding availability of the provider tion location , a service type , pricing information , and /or a
120 by logging into the networked computer system 100 and status indicating that the corresponding trip request has not
activating a setting indicating that they are currently avail been processed . According to one example embodiment,
able to provide service . The provider application 124 also when a provider 120 accepts the invitation message to
provides the current location of the provider 120 or the service the trip request for the requester 110 , the trip record
can be updated with the provider's information as well as the
provider client device 122 to the networked computer sys provider's location and the time when the trip request was
tem 100. Depending on implementation , the current location
may be a location inputted by the provider 120 or may accepted . Similarly, location and time information about the
correspond to the current location of the provider client service as well as the cost for the service can be associated
device 122 as determined automatically by a location deter with the trip record .
mination module (not shown ) in the provider client device [0041] In one example embodiment, during the trip , the
122, e.g., a GPS component, a wireless networking system , networked computer system 100 receives information (e.g.,
or a combination thereof. The provider application 124 periodically ) from the provider application 124 indicating
further allows a provider 120 to receive, from the networked the location of the provider's vehicle and/or telematics
computer system 100 , an invitation message to provide a information (e.g. , indications of current speed , acceleration /
service for a requesting requester 110, and if the provider deceleration , events , stops, and so forth ). The networked
120 accepts via input, the provider application 124 can computer system 100 stores the information in the database
transmit an acceptance message to the networked computer (s ) 108 and can associate the information with the trip
system 100. The networked computer system 100 can sub record . In some example embodiments, the networked com
sequently provide information about the provider 120 to the puter system 100 periodically calculates the provider's ETA
requester application 114. In another example embodiment, at the pick -up location and provides the provider's ETA to
the provider application 124 can enable the provider 120 to the requester application 114 .
view a list of current trip requests and to select a particular [0042 ] The networked computer system 100 determines
trip request to fulfill . The provider application 124 can also the geospatial and topological location of the requester client
receive routing information from the networked computer device 112 in response to the requester 110 making a trip
system 100 . request through the requester application 114. In one
[0039 ] In some example embodiments, the requester client example embodiment, the requester application 114 periodi
device 112 and provider client device 122 are portable or cally transmits geospatial location information of the
US 2020/0025581 A1 Jan. 23, 2020
5

requester client device 112 to the networked computer for display on client device 112 of the requester 110 and the
system 100. The geospatial location information can corre client device 122 of the provider 120 .
spond to a current location data point of the requester client [0045 ] In some example embodiments, the geographical
device 112 at an instance in time. Such a location data point location of a place comprises a geocode . A geocode com
can be generated by a location determination module (not prises a spatial representation in numerical coordinates, such
shown) in the requester client device 112 , e.g., a GPS as latitude and longitude, of a physical location (e.g., a
component, a wireless networking system , or a combination physical address ). Other types of representations of a physi
thereof. cal location may additionally or alternatively be used as the
geographical location in providing the features disclosed
[0043 ] In some example embodiments , the requester herein .
application 114 and the provider application 124 are con [0046 ] In some example embodiments, the prediction
figured to display map data indicating a specific geographi module 102 is configured to , for a place , access correspond
cal location of a place , as well as navigation instructions for ing service data for each one of a plurality of requests for a
the requester 110 using the requester application 114 on how transportation service associated with the place. The service
to navigate (e.g., walk ) to the specific geographical location data may be stored in and retrieved from the database( s). The
of the place and navigation instructions for the provider 120 transportation service may comprise transportation to the
using the provider application 124 on how to navigate (e.g., place or transportation from the place . In some example
drive ) to the specific geographical location of the place. For embodiments, the transportation service comprises transpor
example , the provider application 124 may display , on the tation of the requester 110 of the request. However, it is
client device 122 of the provider 120 , a map that includes a contemplated that the transportation service may addition
graphic element that corresponds to the current location of ally or alternatively comprise transportation of another user,
the provider 120 or the client device 122 of the provider 120 such as a friend , relative , or other acquaintance of the
and a graphic element that corresponds to the specific requester 110 of the request (e.g. , when the requester sub
geographical location of a place associated with a service mits a request for transportation service for a friend ).
request, such as a place to pick up or drop off a requester 110 Accordingly, although examples disclosed herein refer to the
associated with the service request, as well as a route from client device 112 of the requester 110 of the request, the
the current location of the provider 120 or the client device client device of another user (not shown ) may be substituted
122 of the provider 120 to the specific geographical location for the client device 112 of the requester 110 for embodi
of the place associated with the service request. Similarly, ments in which the other user is the one who is being
the requester application 114 may display, on the client transported . Additionally, the client device 122 of the pro
device 112 of the requester 110 , a map that includes a vider 120 may also be substituted for the client device 112
graphic element that corresponds to the current location of of the requester 110 for embodiments in which the trans
the requester 110 or the client device 112 of the requester portation service is for transportation of a good rather than
and a graphic element that corresponds to the specific for transportation of a person, such as in embodiments in
geographical location of the place associated with the ser which the transportation service is being used for delivery of
vice request , as well as a route from the current location of food or other products or objects .
the requester 110 or the client device 112 of the requester [0047 ] In some example embodiments , the corresponding
110 to the specific geographical location of the place asso service data for each one of the requests comprises an
ciated with the service request. identification of the place (e.g., a name or an address ),
[0044 ] The map data and the navigation instructions are pick -up data indicating a pick -up location where the trans
generated based on the specific geographical location of the portation of the requester began (e.g., a name, an address, or
place associated with the service request . In some example a geocode), and drop -off data indicating a drop -off location
embodiments, the corresponding map data and navigation where the transportation of the requester ended (e.g., a
instructions are generated by the requester application 114 name, an address , or a geocode).
and the provider application 124 using the geographical [0048 ] In some example embodiments , the prediction
location of the place, which is received by the requester module 102 is configured to access corresponding sensor
application 114 and the provider application 124 from the data for each one of the plurality of requests. The corre
networked computer system 100. For example, the net sponding sensor data may comprise satellite signals indicat
worked computer system 100 may store the geographical ing at least one path of the client device 112 of the requester
location of the place in association with an identifier of the 110. In some example embodiments , the path (s ) comprise at
place (e.g., a name of the place, an address of the place ) in least one of a pick -up path and a drop -off path . The pick -up
the database(s) 106 , and then transmit the geographical path ends at the pick -up location indicated by the pick -up
location of the place to the requester application 114 and the data , and the drop -off path begins at the drop -off location
provider application 124 for use in generating the corre indicated by the drop -off data . In some example embodi
sponding map data and navigation instructions that are to be ments , the sensor data comprises a corresponding signal
generated and displayer by the requester application 114 and strength for each of the satellite signals .
the provider application 124. In other example embodi [0049 ] FIG . 2 illustrates sensor data 200 superimposed
ments , the corresponding map data and navigation instruc onto map data 210 of a place 212 , in accordance with some
tions are generated by the networked computer system 100 example embodiments . The map data may comprise a map
using the geographical location of the place stored in the representing the environment in which the place 212 resides ,
database(s) 108 of the networked computer system 100 in including surrounding streets 214, sidewalks 216 , and other
association with an identifier of the place (e.g., a nameof the places 218. In some example embodiments, the correspond
place , an address of the place ), and then transmitted to the ing sensor data 200 for each one of the plurality of requests
requester application 114 and the provider application 124 comprises a plurality of geocodes (e.g., based on satellite
US 2020/0025581 A1 Jan. 23, 2020
6

signals ) forming the corresponding path (s) 202 indicated by [0052 ] FIG . 4 illustrates a GUI 400 in which the provider
the sensor data 200. In FIG . 2 , these geocodes are repre 120 of the transportation service may signal that the provider
sented as circles and the paths 202 are represented as lines 120 has completed transporting the requester 110 , in accor
connecting the geocodes . dance with some example embodiments . The GUI400 may
[0050 ] Some paths 202 represent the movement of the be generated by the provider application 124 and display an
client device 112 of the requester 110 from the place 212 to indication 410 of the geographical location of the place and
an indication 420 of the geographical location of the pro
pick -up locations where the requester 110 was picked up by vider 120 or the client device 122 of the provider 120. The
the provider 120 for transportation from the place 212 to GUI 400 may also display supplemental information , such
another location in servicing the requests for transportation as an identification 430 of a requester 110 to be dropped off
service associated with the place 212. For example , in FIG . by the provider 120 and an indication 440 of the amount of
2 , such pick -up paths are enclosed within the dotted oval time until the provider 120 of the client device 122 of the
204A . Other paths 202 represent the movement of the client provider 120 arrives at the drop-off location . In some
device 112 of the requester 110 to the place 212 from example embodiments , the GUI 400 comprises a selectable
drop -off locations where the requester 110 was dropped off user interface element 460 ( e.g., a button configured to be
by the provider in transportation to the place 212 in servicing swiped or tapped by the provider 120 ) configured to , in
the requests for transportation service associated with the response to its selection by the provider 120 , trigger the
place 212. For example, in FIG . 2 , such drop -off paths are transmission of a signal to the networked computer system
enclosed within the dotted oval 204B . 100 indicating that the provider 120 is completing or has
[ 0051] FIG . 3 illustrates a graphical user interface (GUI) completed the transporting of the requester 110 in servicing
300 in which a provider 120 of a transportation service may the request. The networked computer system 100 may use
signal that the provider 120 has started transporting a the signal to store the geographical location of the provider
requester 110 , in accordance with some example embodi 120 ( e.g., the GPS coordinates of the clientdevice 122 of the
ments . The GUI 300 may be generated by the provider provider 120 ) as drop -off data for the place indicated as the
application 124 and display an indication 310 of the geo drop -off location in the request submitted by the requester
graphical location of the place and an indication 320 of the 110. The networked computer system 100 may alternatively
geographical location of the provider 120 or the client use the signal to trigger a tracking of the geographical
device 122 of the provider 120. The GUI 300 may also location of the client device 112 of the requester 110 (e.g.,
display supplemental information , such as an identification the GPS coordinates of the client device 112 of the requester
330 of a requester 110 to be picked up by the provider 120 , 110 ), using the first tracked geographical location of the
an indication 340 of the amount of time until the provider client device 112 as the drop -off location . In some example
120 of the client device 122 of the provider 120 arrives at the embodiments, this drop -off location is used by the prediction
pick -up location , and an indication 350 that the requester module 102 as the beginning of the drop -off path discussed
110 has been notified that the provider 120 has arrived at the above with respect to FIG . 2. The prediction module 102
pick -up location . In some example embodiments, the GUI may determine the ending of the drop - off path by determin
300 comprises a selectable user interface element 360 (e.g., ing a geographical location of the client device 112 at a
a button configured to be swiped or tapped by the provider predetermined amount of time after the transmission of the
120 ) configured to, in response to its selection by the signal to the networked computer system 100 indicating that
provider 120, trigger the transmission of a signal to the the provider 120 is completing or has completed the trans
networked computer system 100 indicating that the provider porting of the requester 110 in servicing the request. The
120 is starting or has started the transporting of the requester prediction module 102 may alternatively determine the
110 in servicing the request. The networked computer sys ending of the drop -off path by determining a geographical
tem 100 may use the signal to store the geographical location location of the client device 112 at point at which a strength
of the provider 120 ( e.g., the GPS coordinates of the client of a GPS signal from the client device 112 is determined to
device 122 of the provider 120 ) as pick - up data indicating a be below a minimum threshold level of strength . In some
pick -up location . The networked computer system 100 may example embodiments , the prediction module 120 interprets
alternatively use the signal to trigger a determination of the such a low level of strength of the GPS signal as an
geographical location of the client device 112 of the indication that the client device 112 has entered a building
requester 110 , using the determined geographical location as structure of the place for which the transportation service
pick -up data indicating the pick -up location . In some was requested .
example embodiments, the pick -up location is used by the [0053] In some example embodiments , the pick -up data
prediction module 102 as the ending of the pick -up path corresponds to geographical locations of the client device
discussed above with respect to FIG . 2 , and the geographical 112 of the requester 110 when the requester 110 indicates ,
location of the client device 112 of the requester 110 at a via the requester application 114 on the client device 112 ,
time corresponding to the submission of the request for the that the provider has started transporting the requester 110 in
transportation service via the clientdevice 112 (e.g., location servicing a request associated with the place 212 ( e.g., the
of the client device 112 is determined in response to the provider 120 has picked up the requester 110 at the place
request being submitted or received ) is used by the predic 212 ). Similarly , in some example embodiments, the drop -off
tion module 102 as the beginning of the pick -up path . The data of the service data corresponds to geographical loca
networked computer system 100 may track the path of the tions of the client device 112 of the requester 110 when the
client device from the beginning of the pick -up path to the requester 110 indicates , via the requester application 114 on
ending of the pick -up path , such as by obtaining a series of the client device 112 , that the provider has completed
GPS coordinates of the client device 112 along the pick -up transporting the requester 110 in servicing a request asso
path . ciated with the place 212 ( e.g., the provider 120 has dropped
US 2020/0025581 A1 Jan. 23, 2020
7

off the requester 110 at the place 212 ). The requester 110 signals indicating a path of a mobile device, such as the
may signal that the provider 120 is starting or has started client device 112 , of the requester 110. For each request, the
transporting the requester 110 and may signal that the path comprising a pick -up path or a drop -off path . The
provider 120 is completing or has completed transporting pick -up path ends at the pick -up location indicated by the
the requester via a selectable user interface element dis pick - up data, and the drop -off path begins at the drop -off
played on a GUI via the requester application 114 on the location indicated by the drop -off data . Each one of the
client device 112 of the requester 110 , similar to how the plurality of satellite signals has a corresponding signal
provider 120 may signal such service -starting points and strength .
service -completing points discussed above . [0059 ] In some example embodiments, the prediction
[0054 ] In some example embodiments, the prediction module 102 determines a corresponding transition geo
module 102 generates and stores predicted geographical graphic location for each one of the requests based on the
locations for a plurality of places 210 in order to build a corresponding signal strengths of the satellite signals indi
comprehensive dataset of all places 210 everywhere with cating the corresponding path for the request and a satellite
accurate names, addresses, and geographical locations. The signal strength threshold . The satellite signal strength
stored predicted geographical locations may then be used by threshold is configured to represent a point of transition
the networked computer system 100 to providemap data and between an indoor location and an outdoor location .
navigation instructions on the respective client devices 112 [0060 ] Global Navigation Satellite Systems (GNSS ) pro
and 122 of the requester 110 and the provider 120 , as vide location estimates of a GNSS receiver, such as the
previously discussed above with respect to FIG . 1 . client device 112 or any other mobile device , with varying
[0055 ] In some cases, it may be desirable to provide one degrees of accuracy, depending on the propagation environ
or more specific geographical locations for a place that
correspond to one or more specific points where the ment around the GNSS receiver. In particular, when the
GNSS receiver is indoors, the signal strengths from most
requester 110 may transition from being inside of the place GNSS satellites is too low for an accurate positioning
212 to being outside of the place 212 , which is referred to estimate to be computed . In such settings, the client device
as an egress or exit location , as well as where the requester 112 may employ other sources of positioning, such as WiFi
110 may transition from being outside of the place 212 to or cellular networks, providing a location estimate which is
being inside of the place 212 , which is referred to as an coarser than what would be provided by GNSS under
ingress or entrance location . For example , in a situation in favorable conditions (e.g., outdoor settings with relatively
which the requester 110 is requesting to be picked -up from clear viewsof the satellites). However, GNSS satellite signal
the place 212 , it is helpful to have a specific egress location strengths, or more precisely, the Signal-to -Noise Ratios
for the place 212 that can be provided to the requester 110 (SNRs) output by the GNSS receiver, provide valuable
and to the provider 120, rather than a generalized location information even when they are too low to permit accurate
for the entire place 212.Similarly, in a situation in which the GNSS -based positioning . In some example embodiments,
requester 110 is requesting to be dropped -off at the place the prediction module 102 employs a technique for deriving
212 , it is helpful to have a specific ingress location for the geometric cues regarding the locations of the client device
place 212 that can be provided to the requester 110 and to the 112 from satellite signal strengths alone, such as to estimate
provider 120 , rather than a generalized location for the entire the probability that the client device 112 is indoors. Fur
place 212 . thermore , tagging crowdsourced GNSS data with these
[0056 ] In some example embodiments, the prediction geometric cues can be used to infer specific characteristics
module 104 is configured to generate at least one transition of the environment. For example , in a ridesharing context,
geographic location for the place 212 using the paths indi aggregated and anonymized rider location traces associated
cated by the sensor data of the plurality ofrequests associ with the place 212 (e.g., a mall or an office building ), can be
ated with the place 212 , and to store the predicted transition used to infer the geographic locations of ingresses and
geographic location (s ) in the database( s) 106 in association egresses from the place 212 using indoor-outdoor transitions
with an identification of the place 212. The transition estimated from satellite signal strengths.
geographical location (s ) of the place 212 may comprise at [0061] FIG . 5 is a time series graph 500 plotting satellite
least one geocode . However , the transition geographical signal strength for a client device 112, which may be used
location (s) of the place 212 may be generated and stored in to identify a transition point at which the client device
other forms as well. transitions from being outdoors to being indoors, in accor
[0057 ] In some example embodiments, the prediction dance with some example embodiments . The time series
module 102 accesses corresponding service data for each graph 500 shows corresponding signal strength for the client
one of a plurality of requests for a transportation service device 112 as the client device 112 , over time,moves from
associated with the place . The transportation service com a location outdoors ( e.g., outside of a building structure) to
prises transportation of a requester 110 of the request to or a location indoors (e.g., inside of a building structure ). The
from the place 212. The corresponding service data of each transition point may be determined in a variety of ways. In
request comprises an identification of the place 212 , pick - up some example embodiments, the prediction module 102
data indicating a pick -up location where the transportation determines the transition point to be the point at which the
of the requester 110 began , and drop -off data indicating a signal strength begins to decrease at a rate that satisfies a
drop- off location where the transportation of the requester minimum threshold . For example , in FIG . 12 , a transition
110 ended . point 1210 is identified based on the transition point 1210
[0058 ] In some example embodiments , the prediction being the point at which the signal strength begins to drop
module 102 also accesses corresponding sensor data for precipitously. In some example embodiments, the prediction
each one of the plurality of requests . The corresponding module 102 determines the transition point to be the point at
sensor data of each request comprises a plurality of satellite which the signal strength stops decreasing at a rate that
US 2020/0025581 A1 Jan. 23, 2020
8

satisfies a minimum threshold or levels off. For example , in dent slope and max confidence for the SNR model. For each
FIG . 5 , a transition point 520 is identified based on the time instant, the prediction module 102 partitions the entire
transition point 520 being the point at which the signal satellite constellation into 5 azimuth and 2 elevation slices
strength stops dropping precipitously and instead levels off . ( 10 slices in the cartesian product). The elevation slice is
In some example embodiments , the prediction module 102 made to give less weight to the horizon . The prediction
determines the transition point to be a point in between the module 102 then assigns the min of log [Pr[not visible ]/Pr
pointat which the signal strength begins to decrease at a rate [visible ]] as the reading for the satellite notbeing visible for
that satisfies a minimum threshold and a point at which the each slice (min can be interpreted as a logical OR ). Finally,
signal strength stops decreasing at a rate that satisfies a the prediction module 102 sums the likelihoods over the 10
minimum threshold or levels off , such as a point in the slices to arrive at the probability of being indoors pr(in
middle of these two points ( e.g., halfway between these two doors). Other ways and algorithms for predicting the indoor
points ). For example , in FIG . 5 , a transition point 530 is probability or outdoor probability are also within the scope
identified based on the transition point 530 being halfway of the present disclosure .
between the transition point 510 and the transition point 520 . [0066 ] In some example embodiments, the prediction
It is contemplated that the prediction module 102 may module 102 uses a heuristic to identify egress points from
determine a transition point in other ways as well. trips that begin from a place 212. This heuristic looks for
[0062 ] Furthermore, a reversed graph of the time series indoor to outdoor transitions from pr(indoors ), and then
graph 500 may be used to identify a transition point at which clusters this set of transition points. An analogous algorithm
the client device transitions from being indoors to being for identifying candidate egress points can be derived for
outdoors, in accordance with some example embodiments. ingress points using trips which end at or in the place 212 .
In some example embodiments , the sensor data of a pick -up In one such example algorithm , the prediction module 102
path for a place 212 is used to determine an egress transition chooses a threshold for pr(indoors ). For example , the rider
point and thereby an egress geographic location of the place is indoors if pr( indoors )> threshold , and the rider is outdoors
212 , while sensor data of a drop -off path for the place 212 if pr ( indoors )< = threshold . As an alternative to the threshold
is used to determine an ingress transition point and thereby operation , the prediction module 102 uses a conditional
an ingress geographic location of the place . random field (CRF ) model or a Hidden Markov Model
[0063 ] In some example embodiments , the prediction (HMM ) to determine the indoor/outdoor state of a trip . The
module 102 is configured identify a transition point, as prediction module 102 then identifies the indoor/ outdoor
discussed above , and use the GPS data of the client device transition points for each trip from this labelled GPS trace .
112 that corresponds to that transition point to determine a These identified transition points are used as candidate
transition geographic location for the place 212 , such as transition points (e.g., candidate egress points). The predic
egress geographic location for the place 212 or an ingress tion module 102 clusters all of the candidate transition
geographic location for the place 212. For example, the points, such as by using a variable centroids algorithm (e.g.,
prediction module 102 may identify the GPS location of the bisecting k -means with a vector quantization stopping cri
client device 112 that corresponds to the time at which the terion or density -based spatial clustering of applications
client device 112 was at the transition point, and then assign with noise ). The prediction module 102 then filters the
that GPS location that corresponds to the transition point as clusters by the number of candidate transition points asso
the egress geographic location or the ingress geographic ciated with the centroid to determine the transition point for
location . the place 212 .
[0064 ] In some example embodiments, the prediction [0067] Coordinate prediction is susceptible to imprecision
module 102 is configured to determine a corresponding due to GPS errors, as well as activity of the requester 110
transition geographic location for each one of the plurality of before being picked up and after being dropped off. There
requests associated with the place 212 , as discussed above , fore, in order to solve this technical problem of imprecise
and then determine a transition geographic location for the coordinate prediction , the prediction module 102 may
place 212 based on the transition geographic locations for employ preprocessing and filtering techniques . In some
the plurality of requests associated with the place 212. In this example embodiments , the prediction module 102 is con
respect , transition point determinations for multiple requests figured to condition the use of the paths in generating the at
associated with the place 212 are used to improve the least one predicted geographical location on a determination
accuracy of overall transition point determination for the that an amount of the service data or the sensor data for the
place 212 . place 212 satisfies a minimum threshold amount, such that
[0065 ] In some example embodiments , the prediction the prediction module 102 only uses the paths in generating
module 102 makes the transition point determinations dis the at least one predicted geographical location if it is
cussed above using an algorithm that either predicts the determined by the prediction module 102 that the amount of
probability that a satellite signal strength corresponds to an service data and /or sensor data for the place 212 satisfied the
indoor location or predicts the probability that a satellite minimum threshold amount. In some example embodi
signal strength corresponds to an outdoor location . For ments, the prediction module 102 runs a particle filter on the
example , the algorithm can predict the indoor probability sensor data to remove noise that could lead to imprecise
pr( indoors) from a GNSS satellite constellation and the coordinate prediction .
SNR’s . In one such example, for each satellite SNR obser [0068 ] In some example embodiments, the prediction
vation , the prediction module 102 computes the probability module 102 is configured to apply at least one clustering
algorithm on the paths indicated by the sensor data of the
of this satellite being blocked based on the satellite SNRs ,
such as by using the following model : log [Pr[not visible ] plurality of request in generating the transition geographic
Pr [visible ]] =max ( -a , min (a , b * (SNR_DB - c ))) * cos (eleva locations. The clustering algorithm (s) may include cluster
tion ). The cos (elevation ) term bestows an elevation depen analysis , grouping a set of objects in such a way that objects
US 2020/0025581 A1 Jan. 23 , 2020
9

in the same group or cluster are more similar to each other [0073 ] In some example embodiments, the prediction
than to those in other groups or clusters. The clustering module 102 is configured to generate an ingress geographic
algorithm (s) may include a centroid -based clustering or location for the place 212 using the drop-off paths indicated
k -means clustering. However, other types of clustering algo by the sensor data and excluding the pick -up paths indicated
rithms may also be used . by the sensor data , and generate an egress geographic
[0069 ] In some example embodiments , the prediction location for the place 212 using the pick -up paths indicated
module 102 is configured to apply the clustering algorithm by the sensor data and excluding the drop -off paths indicated
(s) to determine a peak concentration area or point from by the sensor data, and then store the ingress geographic
among the candidate transition points. This determined area location as an ingress attribute or a drop -off attribute asso
or point of concentration can be used by the prediction ciated with the identification of the place 212 in the database
module 102 to determine a transition geographic location for (s) 106 and store the egress geographic location as an egress
the place 212. For example, the prediction module 102 may attribute or a pick -up attribute associated with the identifi
assign the corresponding geocode of the point of concen cation of the place 212 in the database (s) 106 , as seen in FIG .
tration as the transition geographic location for the place 6.
212 . [0074 ] In some example embodiments, the service module
[0070 ] In some example embodiments , the transition geo 104 is configured to receiving a request for the transporta
graphical location of the place 212 corresponds to a centroid tion service associated with the place 212 from the client
of the candidate transition locations . For example , the pre device 112 of another requester 110 , with the request com
diction module 102 may determine the centroid of the prising an identification of the place 212. The service
candidate transition points of the requests associated with module 104 identifies the transition geographical location of
the place 212 , and then identify the centroid as the transition the place 212 stored in the database (s ) 106 based on a search
geographical location of the place 212 . of the database(s ) 106 using the identification of the place
[0071 ] In some example embodiments , the sensor data is 212, such as by matching the identification of the place 212
stored in association with an identification of the place 212 from the request with a corresponding identification of the
for subsequent retrieval and processing by the prediction place 212 in the database (s) 106 , and then transmits the
module 102 in generating the transition locations, and the identified transition geographical location of the place 212 to
generated transition locations are stored in association with one or more of the client device 112 of the other requester
the identification of the place 212 for subsequent retrieval 110 and the client device 122 of another provider 120 of the
and processing by the service module 104 in providing transportation service of the request.
navigation information to a requester 110 or a provider 120 [0075 ] In some example embodiments , the request com
for a transportation service associated with the place 212 . prises an indication of the place 212 as a destination , and the
[0072 ] FIG . 6 illustrates a mapping 600 of corresponding transportation service comprises transportation of the
data for a place 212 , in accordance with some example requester 110 of the request to the place 212. The service
embodiments . This mapping 600 may be stored in the module 104 accesses the ingress attribute (or the drop -off
database (s ) 106. As seen in FIG . 6 , the mapping 600 attribute ) associated with the identification of the place 212
comprises an identification of requests ( e.g., REQUEST-1 , based on the indication of the place 212 as a destination ,
REQUEST-2 , ... ) and sensor data associated with an identifies the ingress geographic location based on the
identifier of the place 212 to which they correspond (e.g., accessing of the ingress attribute , and transmits the ingress
ACME CORP.). The sensor data comprises geographical geographical location of the place 212 to one or more of the
locations of paths associated with the requests ( e.g., GEO client device 112 of the requester 110 and the client device
CODE - 1 FOR PICK -UP PATH , GEOCODE -2 FOR PICK 122 of the provider 120 of the transportation service of the
UP PATH , ...), as well as the corresponding signal strengths request for display in association with the request. For
(e.g., SNR - 1, SNR -2 , ... ) for each signal on which the example , the ingress geographical location of the place 212
geographical locations of the paths are based . In some may be used to display navigation instructions or guidance
example embodiments, the mapping 600 also comprises on the client device 112 and on the client device 122 .
predicted transition geographical locations for each request [0076 ] In some example embodiments , the request com
( e.g., EGRESS LOCATION FOR REQUEST- 1, EGRESS prises an indication of the place 212 as an origin , and the
LOCATION FOR REQUEST-2 ) that have been generated other transportation service comprises transportation of the
by the prediction module 102 for the place 212 based on the requester 110 of the request from the place 212. The service
sensor data associated with the request involving the place module 104 accesses the egress attribute (or the pick - up
212 , as well as the predicted transition geographical loca attribute ) associated with the identification of the place 212
tions for the place 212 (e.g., EGRESS LOCATION FOR based on the indication of the place 212 as an origin ,
PLACE ) based on the predicted transition geographical identifies the egress geographic location based on the
locations for the requests associated with the place 212 . accessing the egress attribute, and transmits the egress
Although FIG . 6 only shows sensor data for pick -up paths geographical location of the place 212 to one or more of the
and predicted egress geographical locations, the mapping client device 112 of the requester 110 and the client device
600 may similarly include sensor data for drop -off paths and 122 of the provider 120 of the transportation service of the
predicted ingress geographical locations. In some example request for display in association with the request. For
embodiments, the predicted transition geographical loca example, the egress geographical location of the place 212
tions for the place 212 are stored in association with the may be used to display navigation instructions or guidance
identifier of the place 212 forwhich they were generated and on the client device 112 and on the client device 122 .
are available for later retrieval and use by the networked [0077 ] FIG . 7 illustrates transition geographic locations
computer system 100 in servicing a request for a transpor 710 superimposed onto map data 210 of a place 212, in
tation service associated with the place 212. accordance with some example embodiments. In FIG . 7 , the
US 2020/0025581 A1 Jan. 23, 2020
10

transition geographic locations 710 comprise an egress [0083 ] At operation 850 , the prediction module 102 stores
geographic location 710 , which has been determined based the transition geographic location for the place 212 in a
on the pick -up paths 204A in FIG . 2 and their corresponding database in association with an identification of the place
satellite signal strengths , and an ingress geographic location 212. In some example embodiments , the transition geo
710B , which has been determined based on the drop-off graphic location for the place 212 is stored with metadata
paths 204B in FIG . 2 and their corresponding satellite signal identifying whether the transition geographic location is an
strengths. egress geographic location or an ingress geographic location
[0078 ] FIG . 8 is a flowchart illustrating a method 1100 of intransition
order to help the service module 104 select the appropriate
geographic location for the place 212 to use in
determining a transition geographic location for the place servicing another request associated with the place 212. For
212 using satellite signal strength , in accordance with some example , in situations in which two transition geographic
example embodiments . The method 800 can be performed locations, an egress location and an ingress location , are
by processing logic that can comprise hardware (e.g., cir stored in association with the place , the service module 104
cuitry , dedicated logic, programmable logic , microcode, selects the egress geographic location when servicing a
etc.),software (e.g., instructions run on a processing device ), request for transportation from the place 212 , and the service
or a combination thereof. In one example embodiment, the
method 800 is performed by the networked computer system module 104 selects the ingress geographic location when
100 of FIG . 1 , or any combination of one or more of its servicing a request for transportation to the place 212.
components or modules (e.g., prediction module 102 , ser [0084 ] At operation 860, the service module 104 receives
vice module 104 ), as described above . another request for the transportation service associated with
[0079 ] At operation 810 , the prediction module 102, for a the place 212 from a mobile device, or another client device
112 , of another requester 110. In some example embodi
place 212, accesses corresponding service data for each one ments , the transportation service comprises transportation of
of a plurality of requests for a transportation service asso the other requester 110 of the request to or from the place
ciated with the place 212. In some example embodiments, 212 , and the other request comprises the identification of the
the transportation service comprises transportation of a place 212 .
requester 110 of the request to or from the place 212 , and the
corresponding service data comprises an identification of the [ 0085 ) At operation 870 , the service module 104 identifies
place 212, pick -up data indicating a pick - up location where onthe atransition geographic transition for the place 212 based
search of the database using the identification of the
the transportation of the requester 110 began , and drop -off
place 212. In some example embodiments, in situations in
data indicating a drop -off location where the transportation which
of the requester 110 ended . an egress location and an ingress location are stored
[0080] At operation 820, the prediction module 102 selects the egresswithgeographic
in association the place 212 , the service module 104
accesses corresponding sensor data for each one of the transportation from the placelocation when the request is for
plurality of requests . In some example embodiments, the 104 selects the ingress geographic locationthewhen
212 , and service module
the request
corresponding sensor data comprises a plurality of satellite is for transportation to the place 212 .
signals indicating a path of a mobile device, or other client [0086 ] At operation 880 , the service module 104 transmits
device 112 , of the requester 110. The path comprises a the
pick -up path ending at the pick -up location indicated by the moretransition geographic location of the place 212 to one or
of the mobile device of the other requester 110 and a
pick -up data or a drop -off path beginning at the drop -off mobile device of a provider 120 of the transportation service
location indicated by the drop- off data . Each one of the of the other
plurality of satellite signals has a corresponding signal may transmitrequest . For example , the service module 104
the transition geographic location of the place
strength .
212 along with or as part of navigation instructions to the
[0081 ] At operation 830 , the prediction module 102 , for client device 112 of the other requester 110 or to the client
each one of the plurality of requests, determines a transition device 122 of the other provider 120. In some example
geographic location for the request based on the correspond embodiments , the service module 104 uses the transition
ing signal strengths of the satellite signals indicating the geographic location of the place 212 to select which pro
corresponding path and a threshold satellite signal strength . vider 120 to use to service the other request , such as by
The threshold satellite signal strength is configured to rep selecting the provider 120 of the transportation service of the
resent a point of transition between an indoor location and other request from amongst a plurality of providers 120
an outdoor location . In some example embodiments , the based on a geographic location of the client device 122 of
determination of the transition geographic location for the the provider 120 and the transition geographic location for
request comprises determining that a candidate geographic the place 212 , for example , by finding the provider 120 with
location indicated by the path associated with the request is the client device 122 that is closest to the transition geo
not the transition geographic location based on elevation graphic location or that will take the shortest amount of time
data indicating an elevation of the mobile device of the to travel to the transition geographic location .
requester at the candidate geographic location . [0087 ] In some example embodiments , when there are
[0082 ] At operation 840 , the prediction module 102 deter multiple transition geographic locations for the place 212 ,
mines a transition geographic location for the place 212 the service module 104 selects one of the transition geo
based on the transition geographic locations for the plurality graphic locations of the place 212 based on one or more of
of requests. In some example embodiments , the prediction a geographic location of the client device 112 of the other
module 102 uses a clustering algorithm and a centroid of the requester 110 and a geographic location of the client device
transition geographic locations for the plurality of requests 122 of the other provider 120 , such as by selecting the
to determine the transition geographic location for the place transition geographic location of the place 212 that is the
212 . closest to the client device 112 of the other requester 110 or
US 2020/0025581 A1 Jan. 23 , 2020
11

selecting the transition geographic location that is the closest 920-1 , 920-2 , and 920-3 are visible , as indicated in FIG . 9
to the client device 122 of the other provider 120. The by no dotted lines from the satellites 920-1, 920-2 , and 920-3
service module 104 then transmits the selected transition to the client device 112-2 . The client device 112-3 of the
geographic location of the place 212 to one or more of the requester 110-3 is positioned outside of the place 212 at a
client device 112 of the other requester 110 and the client geographic location where two of the three satellites 920-1,
device 122 of the other provider 120 of the transportation 920-2 , and 920-3 are visible, as indicated in FIG . 9 by the
service of the other request for display in association with dotted lines from the satellites 920-1 and 920-2 , but not
the other request for the transportation service . For example , 920-3, to the client device 112-3. Even though the satellite
the service module 104 may transmit the transition geo signal strength data corresponding to the geographic loca
graphic location of the place 212 along with or as part of tion of the client device 112-3 may satisfy the threshold
navigation instructions to the client device 112 of the other satellite signal strength representing a point of transition
requester 110 or to the client device 122 of the other provider between an indoor location and an outdoor location of the
120 . place 212 due the fact that the client device 112-3 is
[0088 ] It is contemplated that any of the other features positioned next to the window 920, the prediction module
described within the present disclosure can be incorporated 102 uses elevation data of the client device 112-3 at that
into the method 800 . geographic location , such as elevation data from a barometer
[0089 ] A technical challenge arises in situations in which or altimeter on the client device 112-3 , to determine that the
a particular geographic location is incorrectly identified as a client device 112-3 is on the second level of the place 212
transition geographic location based on corresponding sig at that geographic location , and therefore concludes that the
nal strength data. For example, in situations in which the geographic location should not be identified as an egress
client device 112 is located near a window on a second level geographic location , an ingress geographic location , or
or higher of a building , the corresponding signal strength for another type of transition geographic location , or concludes
thatparticular location may cause the prediction module 102 that the geographic location should not be used in determin
to incorrectly identify that particular location as a transition ing such transition geographic location .
geographic location , even though the second level window [0092] It is contemplated that any features of any embodi
may not be desirable as an egress geographic location , an ments disclosed herein can be combined with any other
ingress geographic location , or any other type of transition features ofany other embodiments disclosed herein . Accord
geographic location . Therefore, in some example embodi ingly , these any such hybrid embodiments are within the
ments , the prediction module 102 is configured to correct an scope of the present disclosure .
initial determination of a particular geographic location
being a transition geographic location based on elevation Example Mobile Device
data .
[0090 ] FIG.9 illustrates a use case in which elevation data [0093] FIG . 10 is a block diagram illustrating a mobile
is used to determine that a candidate transition geographic device 1000 , according to an example embodiment. The
location for the place 212 is not a transition geographic mobile device 1000 can include a processor 1002. The
location for the place 212 based on elevation data , in processor 1002 can be any of a variety of different types of
accordance with the some example embodiments. FIG . 9 commercially available processors suitable for mobile
shows three different requesters 110-1 , 110-2 , and 110-3 devices 1000 ( for example, an XScale architecture micro
with their respective client devices 112-1 , 112-2, and 112-3 processor, a Microprocessor without Interlocked Pipeline
positioned at different locations with respect to the place Stages (MIPS ) architecture processor, or another type of
212. In FIG . 9, the place 212 comprises a two- story building, processor). A memory 1004 , such as a random access
with the requester 110-1 and the corresponding client device memory (RAM ), a Flash memory, or other type ofmemory ,
112-1 positioned at a geographic location outside of the is typically accessible to the processor 1002. The memory
building, the requester 110-2 and the corresponding client 1004 can be adapted to store an operating system (OS) 1006 ,
device 112-2 positioned at a geographic location inside the as well as application programs 1008 , such as a mobile
building on the first level of the building, and the requester location -enabled application that can provide location -based
110-3 and the corresponding client device 112-3 positioned services (LBSs) to a user. The processor 1002 can be
at a geographic location inside the building on the second coupled , either directly or via appropriate intermediary
level of the building next to a window 930 of the building. hardware , to a display 1010 and to one or more input/output
[ 0091] In one example , the prediction module 102 uses the (1/0 ) devices 1012 , such as a keypad , a touch panel sensor,
a microphone , and the like . Similarly, in some embodiments,
satellite signal strengths between a plurality of satellites 920 the processor 1002 can be coupled to a transceiver 1014 that
and each one of the client devices 112 to determine whether interfaces with an antenna 1016. The transceiver 1014 can
each one of the clientdevices 112 is positioned at a transition be configured to both transmit and receive cellular network
geographic location for the place 212 , such as by using the signals , wireless data signals, or other types of signals via
techniques discussed herein with respect to determining a the antenna 1016 , depending on the nature of the mobile
transition geographic location based on satellite signal device 1000. Further, in some configurations, a GPS receiver
strength data . In the example shown in FIG . 9, the client 1018 can also make use of the antenna 1016 to receive GPS
device 112-1 of the requester 110-1 is positioned outside of signals .
the place 212 at a geographic location where all three
satellites 920-1 , 920-2 , and 920-3 are visible , as indicated in Modules , Components and Logic
FIG . 9 by the dotted lines from the satellites 920-1, 920-2 ,
and 920-3 to the client device 112-1 . The client device 112-2 [0094 ] Certain embodiments are described herein as
of the requester 110-2 is positioned inside of the place 212 including logic or a number of components, modules, or
at a geographic location where none of the three satellites mechanisms. Modules may constitute either software mod
US 2020/0025581 A1 Jan. 23, 2020
12

ules (e.g., code embodied (1 ) on a non -transitory machine mented module may then , at a later time, access the memory
readable medium or ( 2 ) in a transmission signal) or hard device to retrieve and process the stored output. Hardware
ware- implemented modules. A hardware- implemented implemented modules may also initiate communications
module is tangible unit capable of performing certain opera with input or output devices, and can operate on a resource
tions and may be configured or arranged in a certain manner. (e.g., a collection of information ).
In example embodiments, one or more computer systems [0098 ] The various operations of example methods
( e.g., a standalone, client or server computer system ) or one described herein may be performed , at least partially , by one
or more processors may be configured by software (e.g., an or more processors that are temporarily configured (e.g. , by
application or application portion ) as a hardware- imple software ) or permanently configured to perform the relevant
mented module that operates to perform certain operations operations. Whether temporarily or permanently configured,
as described herein . such processors may constitute processor-implemented
[0095 ] In various embodiments , a hardware-implemented modules that operate to perform one or more operations or
module may be implemented mechanically or electronically . functions . The modules referred to herein may, in some
For example , a hardware - implemented module may com example embodiments , comprise processor- implemented
prise dedicated circuitry or logic that is permanently con modules .
figured (e.g., as a special-purpose processor, such as a field [0099 ] Similarly , the methods described herein may be at
programmable gate array (FPGA) or an application -specific least partially processor- implemented . For example , at least
integrated circuit (ASIC )) to perform certain operations. A some of the operations of a method may be performed by
hardware -implemented module may also comprise program one or more processors or processor- implemented modules .
mable logic or circuitry (e.g., as encompassed within a The performance of certain of the operations may be dis
programmable processor) that is temporarily configured by tributed among the one or more processors , not only residing
software to perform certain operations. It will be appreciated within a single machine , but deployed across a number of
that the decision to implement a hardware- implemented machines. In some example embodiments, the processor or
module mechanically , in dedicated and permanently config processors may be located in a single location (e.g., within
ured circuitry , or in temporarily configured circuitry (e.g., a home environment, an office environment or as a server
configured by software ) may be driven by cost and time farm ), while in other embodiments the processors may be
considerations . distributed across a number of locations .
[0096 ] Accordingly , the term “ hardware- implemented support [0100 ] The one or more processors may also operate to
module” should be understood to encompass a tangible computing performance of the relevant operations in a “ cloud
entity , be that an entity that is physically constructed , (SaaS ). For” example
environment or as a “ software as a service ”
, at least some of the operationsmay be
permanently configured (e.g., hardwired ) or temporarily or performed by a group of computers (as examples of
transitorily configured ( e.g., programmed ) to operate in a machines including processors ), these operations being
certain manner and/or to perform certain operations accessible via a network ( e.g., the Internet) and via one or
described herein . Considering embodiments in which hard more appropriate interfaces ( e.g., Application Program
ware -implemented modules are temporarily configured
(e.g., programmed ), each of the hardware-implemented Interfaces (APIs ).)
modules need not be configured or instantiated at any one Electronic Apparatus and System
instance in time. For example , where the hardware- imple
mented modules comprise a processor configured using [0101 ] Example embodiments may be implemented in
software , the processor may be configured as respective digital electronic circuitry, or in computer hardware, firm
different hardware- implemented modules at different times. ware, software, or in combinations of them . Example
Software may accordingly configure a processor, for embodiments may be implemented using a computer pro
example, to constitute a particular hardware-implemented gram product , e.g., a computer program tangibly embodied
module at one instance of time and to constitute a different in an information carrier, e.g., in a machine -readable
hardware -implemented module at a different instance of medium for execution by, or to control the operation of, data
time. processing apparatus, e.g., a programmable processor, a
[0097 ] Hardware -implemented modules can provide computer, or multiple computers.
information to , and receive information from , other hard [0102 ] A computer program can be written in any form of
ware- implemented modules . Accordingly, the described programming language, including compiled or interpreted
hardware -implemented modules may be regarded as being languages , and it can be deployed in any form , including as
communicatively coupled . Where multiple of such hard a stand- alone program or as a module , subroutine , or other
ware -implemented modules exist contemporaneously, com unit suitable for use in a computing environment. A com
munications may be achieved through signal transmission puter program can be deployed to be executed on one
( e.g., over appropriate circuits and buses) that connect the computer or on multiple computers at one site or distributed
hardware -implemented modules. In embodiments in which across multiple sites and interconnected by a communication
multiple hardware - implemented modules are configured or network .
instantiated at different times , communications between [0103] In example embodiments, operations may be per
such hardware -implemented modules may be achieved , for formed by one or more programmable processors executing
example , through the storage and retrieval of information in a computer program to perform functions by operating on
memory structures to which the multiple hardware - imple input data and generating output. Method operations can
mented modules have access . For example, one hardware also be performed by, and apparatus of example embodi
implemented module may perform an operation , and store ments may be implemented as, special purpose logic cir
the output of that operation in a memory device to which it cuitry , e.g., a field programmable gate array (FPGA ) or an
is communicatively coupled . A further hardware-imple application -specific integrated circuit (ASIC ) .
US 2020/0025581 A1 Jan. 23, 2020
13

[0104 ] The computing system can include clients and [0108 ] While the machine - readable medium 1122 is
servers. A client and server are generally remote from each shown in an example embodiment to be a single medium ,
other and typically interact through a communication net the term “machine -readable medium ” may include a single
work . The relationship of client and server arises by virtue medium or multiple media (e.g., a centralized or distributed
of computer programs running on the respective computers database , and / or associated caches and servers) that store the
and having a client-server relationship to each other. In one or more instructions 1124 or data structures. The term
embodiments deploying a programmable computing system , " machine -readable medium ” shall also be taken to include
it will be appreciated that both hardware and software any tangible medium that is capable of storing , encoding or
architectures merit consideration . Specifically, it will be carrying instructions ( e.g., instructions 1124 ) for execution
appreciated that the choice of whether to implement certain by the machine and that cause themachine to perform any
functionality in permanently configured hardware ( e.g., an one or more of the methodologies of the present disclosure ,
ASIC ), in temporarily configured hardware (e.g., a combi or that is capable of storing , encoding or carrying data
nation of software and a programmable processor ), or a structures utilized by or associated with such instructions .
combination of permanently and temporarily configured The term “ machine-readable medium ” shall accordingly be
hardware may be a design choice. Below are set out hard taken to include, but not be limited to , solid - state memories,
ware ( e.g. ,machine ) and software architectures thatmay be and optical and magnetic media . Specific examples of
deployed , in various example embodiments. machine-readable media include non - volatile memory ,
including by way of example semiconductor memory
Example Machine Architecture and devices, e.g. , Erasable Programmable Read - Only Memory
Machine-Readable Medium (EPROM ), Electrically Erasable Programmable Read -Only
[0105 ] FIG . 11 is a block diagram of an example computer Memory (EEPROM ), and flash memory devices; magnetic
system 1100 on which methodologies described herein may disks such as internal hard disks and removable disks;
magneto -optical disks; and CD -ROM and DVD -ROM disks .
be executed , in accordance with an example embodiment. In
alternative embodiments, the machine operates as a stand Transmission Medium
alone device or may be connected (e.g., networked ) to other
machines. In a networked deployment, the machine may [0109 ] The instructions 1124 may further be transmitted or
operate in the capacity of a server or a client machine in received over a communications network 1126 using a
server-client network environment , or as a peer machine in transmission medium . The instructions 1124 may be trans
a peer-to -peer (or distributed ) network environment. The mitted using the network interface device 1120 and any one
machine may be a personal computer (PC ), a tablet PC , a of a number ofwell-known transfer protocols (e.g., HTTP ).
set-top box (STB ), a Personal Digital Assistant (PDA ), a Examples of communication networks include a local area
cellular telephone , a web appliance, a network router, switch network (“LAN ” ), a wide area network (“ WAN ” ), the Inter
or bridge, or any machine capable of executing instructions net, mobile telephone networks, Plain Old Telephone Ser
(sequential or otherwise ) that specify actions to be taken by vice (POTS ) networks, and wireless data networks ( e.g.,
that machine. Further, while only a single machine is illus WiFi and WiMax networks ). The term “ transmission
trated, the term “ machine ” shall also be taken to include any medium ” shall be taken to include any intangible medium
collection of machines that individually or jointly execute a that is capable of storing , encoding or carrying instructions
set (or multiple sets) of instructions to perform any one or for execution by the machine , and includes digital or analog
more of the methodologies discussed herein . communications signals or other intangible media to facili
[0106 ] The example computer system 1100 includes a tate communication of such software .
processor 1102 (e.g., a central processing unit (CPU ), a
graphics processing unit (GPU ) or both ), a main memory Executable Instructions and Machine -Storage Medium
1104 and a static memory 1106 , which communicate with [0110 ] The various memories (i.e., 1104 , 1106 , and /or
each other via a bus 1108. The computer system 1100 may memory of the processor (s) 1102 ) and /or storage unit 1116
further include a graphics display unit 1110 (e.g., a liquid may store one or more sets of instructions and data structures
crystal display (LCD ) or a cathode ray tube ( CRT)). The (e.g., software ) 1124 embodying or utilized by any one or
computer system 1100 also includes an alphanumeric input more of the methodologies or functions described herein .
device 1112 (e.g., a keyboard or a touch - sensitive display These instructions, when executed by processor(s ) 1102
screen ), a user interface (UI) navigation device 1114 (e.g., a cause various operations to implement the disclosed
mouse ), a storage unit 1116 , a signal generation device 1118 embodiments.
( e.g., a speaker) and a network interface device 1120 .
[0111] As used herein , the terms “ machine -storage
Machine -Readable Medium medium ,” “ device-storage medium ,” “ computer-storage
medium ” (referred to collectively as “machine- storage
[0107] The storage unit 1116 includes a machine - readable medium 1122” ) mean the same thing and may be used
medium 1122 on which is stored one or more sets of interchangeably in this disclosure . The terms refer to a single
instructions and data structures (e.g., software ) 1124 or multiple storage devices and / or media ( e.g. , a centralized
embodying or utilized by any one or more of the method or distributed database , and /or associated caches and serv
ologies or functions described herein . The instructions 1124 ers ) that store executable instructions and /or data , as well as
may also reside, completely or at least partially, within the cloud - based storage systems or storage networks that
main memory 1104 and /or within the processor 1102 during include multiple storage apparatus or devices. The terms
execution thereof by the computer system 1100 , the main shall accordingly be taken to include, but not be limited to ,
memory 1104 and the processor 1102 also constituting solid -state memories, and optical and magnetic media ,
machine- readable media . including memory internal or external to processors. Spe
US 2020/0025581 A1 Jan. 23, 2020
14

cific examples of machine-storage media, computer-storage [0119 ] determining , by the computer system , at least one
media , and /or device -storage media 1122 include non -vola transition geographic location for the place based on the
tile memory, including by way of example semiconductor transition geographic locations for the plurality of requests ;
memory devices, e.g., erasable programmable read -only and
memory (EPROM ), electrically erasable programmable [0120 ] storing, by the computer system , the at least one
read -only memory ( EEPROM ), FPGA , and flash memory transition geographic location for the place in a database in
devices; magnetic disks such as internal hard disks and association with an identification of the place .
removable disks; magneto -optical disks ; and CD -ROM and [0121 ] 2. The computer - implemented method of example
DVD -ROM disks . The termsmachine -storage media , com 1, further comprising:
puter- storage media, and device-storage media 1122 specifi [0122] receiving, by the computer system , another request
cally exclude carrier waves, modulated data signals, and for the transportation service associated with the place from
other such media , at least some of which are covered under a mobile device of another requester, the other request
the term “ signal medium ” discussed below . comprising the identification of the place ;
[0123 ] identifying, by the computer system , the transition
Signal Medium geographic transition for the place based on a search of the
[0112] The term " signal medium ” or “ transmission database using the identification of the place ; and
medium ” in this disclosure shall be taken to include any [0124 ] transmitting , by the computer system , one of the at
form ofmodulated data signal , carrier wave , and so forth . least one transition geographic location of the place to at
The term “ modulated data signal” means a signal that has least one of the mobile device of the other requester and a
one or more of its characteristics set or changed in such a mobile device of a provider of the transportation service of
matter as to encode information in the signal. the other request .
[0125 ] 3. The computer-implemented method of example
Computer Readable Medium 2 , wherein :
[0126 ] the transportation service of the plurality of
[0113 ] The terms “machine -readable medium ," " com requests is for transportation of the requester of the request
puter-readable medium ” and “ device - readable medium ” to the place ;
mean the same thing and may be used interchangeably in [0127] the determining the transition geographic location
this disclosure . The terms are defined to include both for the request comprising determining the transition geo
machine -storage media and signal media . Thus , the terms graphic location for the request based on the corresponding
include both storage devices/media and carrier waves/modu signal strengths of the satellite signals indicating the corre
lated data signals. sponding drop -off path ;
NUMBERED EXAMPLES OF EMBODIMENTS [0128 ] one of the at least one transition geographic loca
tion for the place being stored as an ingress geographic
[0114 ] The following numbered examples are embodi location for the place ;
ments . [0129 ] the transportation service of the other request com
[0115 ] 1. A computer -implemented method comprising : prising transportation of the other requester to the place; and
[0116 ] for a place, accessing , by a computer system having [0130 ] the identifying the transition geographic location
at least one hardware processor, corresponding service data for the place comprising identifying the one of the at least
for each one of a plurality of requests for a transportation one transition geographic transition for the place based on
service associated with the place , the transportation service the transportation service of the other request comprising
comprising transportation of a requester of the request to or transportation of the other requester to the place and on the
from the place, the corresponding service data comprising an one of the at least one transition geographic location for the
identification of the place , pick - up data indicating a pick - up place being stored as the ingress geographic location for the
location where the transportation of the requester began , and place .
drop -off data indicating a drop -off location where the trans [0131 ] 4. The computer - implemented method of example
portation of the requester ended ; 2 , wherein :
[0117 ] accessing , by the computer system , corresponding [0132 ] the transportation service of the plurality of
sensor data for each one of the plurality of requests , the requests is for transportation of the requester of the request
corresponding sensor data comprising a plurality of satellite from the place ;
signals indicating a path of a mobile device of the requester, [0133] the determining the transition geographic location
the path comprising a pick -up path or a drop - off path , the for each one of the plurality of requests comprising deter
pick -up path ending at the pick -up location indicated by the mining the transition geographic location for the request
pick -up data , the drop - off path beginning at the drop -off based on the corresponding signal strengths of the satellite
location indicated by the drop -off data , each one of the signals indicating the corresponding pick -up path ;
plurality of satellite signals having a corresponding signal [0134 ] one of the at least one transition geographic loca
strength ; tion for the place being stored as an egress geographic
[ 0118 ] for each one of the plurality of requests , determin location for the place ;
ing, by the computer system , a transition geographic loca [0135 ] the transportation service of the other request com
tion for the request based on the corresponding signal prising transportation of the other requester from the place ;
strengths of the satellite signals indicating the corresponding and
path and a satellite signal strength threshold , the satellite the identifying the transition geographic location for the
signal strength threshold being configured to represent a place comprising identifying one of the at least one transi
point of transition between an indoor location and an out tion geographic transition for the place based on the trans
door location ; portation service of the other request comprising transpor
US 2020/0025581 A1 Jan. 23 , 2020
15

tation of the other requester from the place and on the one arrangement calculated to achieve the same purpose may be
of the at least one transition geographic location for the place substituted for the specific embodiments shown. This dis
being stored as the egress geographic location for the place. closure is intended to cover any and all adaptations or
[0136 ] 5. The computer- implemented method of example variations of various embodiments . Combinations of the
4 , further comprising selecting, by the computer system , the above embodiments ,and other embodiments not specifically
provider of the transportation service of the other request described herein , will be apparent to those of skill in the art
from amongst a plurality of providers based on a geographic upon reviewing the above description .
location of the mobile device of the provider and the one of What is claimed is :
the at least one transition geographic location for the place . 1. A computer -implemented method comprising :
[0137 ] 6. The computer- implemented method of example for a place , accessing , by a computer system having at
4 , further comprising selecting , by the computer system , the least one hardware processor, corresponding service
at least one transition geographic location of the place based data for each one of a plurality of requests for a
on at least one of a geographic location of the mobile device transportation service associated with the place, the
of the other requester and a geographic location of the transportation service comprising transportation of a
mobile device of the provider, wherein the transmitting of requester of the request to or from the place , the
the one of the at least one transition geographic location of corresponding service data comprising an identification
the place comprises transmitting the one of the at least one of the place, pick -up data indicating a pick -up location
transition geographic location of the place to at least one of where the transportation of the requester began , and
the mobile device of the other requester and the mobile drop-off data indicating a drop -off location where the
device of a provider of the transportation service of the other transportation of the requester ended ;
request for display in association with the other request for accessing, by the computer system , corresponding sensor
the transportation service . data for each one of the plurality of requests , the
[0138 ] 7. The computer - implemented method of any of corresponding sensor data comprising a plurality of
examples 1 to 6 , wherein the determining the transition satellite signals indicating a path of a mobile device of
geographic location for the request comprises determining the requester , the path comprising a pick -up path or a
that a candidate geographic location indicated by the path drop -off path , the pick -up path ending at the pick - up
associated with the request is not the transition geographic location indicated by the pick -up data , the drop -off path
location based on elevation data indicating an elevation of beginning at the drop -off location indicated by the
the mobile device of the requester at the candidate geo drop -off data , each one of the plurality of satellite
graphic location . signals having a corresponding signal strength ;
[ 0139 ] 8. The computer-implemented method of any one for each one of the plurality of requests , determining, by
of examples 1 to 7, wherein the computer system comprises the computer system , a transition geographic location
a remote server . for the request based on the corresponding signal
[0140 ] 9. A system comprising: strengths of the satellite signals indicating the corre
[0141 ] at least one hardware processor; and sponding path and a satellite signal strength threshold ,
[0142 ] a machine -readable medium embodying a set of the satellite signal strength threshold being configured
instructions that, when executed by the at least one hardware to represent a point of transition between an indoor
processor, cause the at least one hardware processor to location and an outdoor location ;
perform the method of any one of examples 1 to 8 . determining , by the computer system , at least one transi
[0143] 10. A machine-readable medium embodying a set tion geographic location for the place based on the
of instructions that , when executed by the at least one transition geographic locations for the plurality of
hardware processor, cause the at least one hardware proces requests; and
sor to perform the method of any one of examples 1 to 8 . storing, by the computer system , the at least one transition
[0144 ] Although an embodiment has been described with geographic location for the place in a database in
reference to specific example embodiments , it will be evi association with an identification of the place .
dent that various modifications and changes may be made to 2. The computer -implemented method of claim 1, further
these embodiments without departing from the broader spirit comprising:
and scope of the present disclosure. Accordingly, the speci receiving, by the computer system , another request for the
fication and drawings are to be regarded in an illustrative transportation service associated with the place from a
rather than a restrictive sense . The accompanying drawings mobile device of another requester, the other request
that form a part hereof, show by way of illustration , and not comprising the identification of the place;
of limitation , specific embodiments in which the subject identifying , by the computer system , the transition geo
matter may be practiced . The embodiments illustrated are graphic transition for the place based on a search of the
described in sufficient detail to enable those skilled in the art database using the identification of the place ; and
to practice the teachings disclosed herein . Other embodi transmitting, by the computer system , one of the at least
ments may be utilized and derived therefrom , such that one transition geographic location of the place to at
structural and logical substitutions and changes may be least one of the mobile device of the other requester and
made without departing from the scope of this disclosure . a mobile device of a provider of the transportation
This Detailed Description , therefore, is not to be taken in a service of the other request.
limiting sense , and the scope of various embodiments is 3. The computer- implemented method of claim 2 ,
defined only by the appended claims, along with the full wherein :
range of equivalents to which such claims are entitled . the transportation service of the plurality of requests is for
[0145] Although specific embodiments have been illus transportation of the requester of the request to the
trated and described herein , it should be appreciated that any place ;
US 2020/0025581 A1 Jan. 23, 2020
16

the determining the transition geographic location for the geographic location indicated by the path associated with the
request comprising determining the transition geo request is not the transition geographic location based on
graphic location for the request based on the corre elevation data indicating an elevation of the mobile device
sponding signal strengths of the satellite signals indi of the requester at the candidate geographic location .
cating the corresponding drop -off path ; 8. The computer-implemented method of claim 1 ,
one of the at least one transition geographic location for wherein the computer system comprises a remote server.
the place being stored as an ingress geographic location 9. A system comprising :
for the place ; at least one hardware processor; and
the transportation service of the other request comprising a machine-readable medium embodying a set of instruc
transportation of the other requester to the place ; and tions that, when executed by the at least one hardware
the identifying the transition geographic location for the processor, cause the at least one processor to perform
place comprising identifying the one of the at least one operations comprising:
transition geographic transition for the place based on for a place , accessing corresponding service data for
the transportation service of the other request compris each one of a plurality of requests for a transporta
ing transportation of the other requester to the place and tion service associated with the place , the transpor
on the one of the at least one transition geographic tation service comprising transportation of a
location for the place being stored as the ingress requester of the request to or from the place, the
geographic location for the place . corresponding service data comprising an identifica
4. The computer - implemented method of claim 2 , tion of the place , pick -up data indicating a pick -up
wherein : location where the transportation of the requester
the transportation service of the plurality ofrequests is for began , and drop -off data indicating a drop -off loca
transportation of the requester of the request from the tion where the transportation of the requester ended ;
place ; accessing corresponding sensor data for each one of the
the determining the transition geographic location for plurality of requests , the corresponding sensor data
each one of the plurality of requests comprising deter comprising a plurality of satellite signals indicating
mining the transition geographic location for the a path of a mobile device of the requester, the path
request based on the corresponding signal strengths of comprising a pick -up path or a drop -off path , the
the satellite signals indicating the corresponding pick pick -up path ending at the pick - up location indicated
up path ; by the pick -up data , the drop -off path beginning at
one of the at least one transition geographic location for the drop -off location indicated by the drop -off data ,
the place being stored as an egress geographic location each one of the plurality of satellite signals having a
for the place; corresponding signal strength ;
the transportation service of the other request comprising for each one of the plurality of requests, determining a
transportation of the other requester from the place ; and transition geographic location for the request based
the identifying the transition geographic location for the on the corresponding signal strengths of the satellite
place comprising identifying one of the at least one signals indicating the corresponding path and a sat
transition geographic transition for the place based on ellite signal strength threshold , the satellite signal
the transportation service of the other request compris strength threshold being configured to represent a
ing transportation of the other requester from the place point of transition between an indoor location and an
and the one of the at least one transition gec hic outdoor location ;
location for the place being stored as the egress geo determining at least one transition geographic location
graphic location for the place . for the place based on the transition geographic
5. The computer-implemented method of claim 4, further locations for the plurality of requests ; and
comprising selecting, by the computer system , the provider storing the at least one transition geographic location
of the transportation service of the other request from for the place in a database in association with an
amongst a plurality of providers based on a geographic identification of the place .
location of the mobile device of the provider and the one of 10. The system of claim 9 , wherein the operations further
the at least one transition geographic location for the place . comprise :
6. The computer - implemented method of claim 4 , further receiving another request for the transportation service
comprising selecting , by the computer system , the at least associated with the place from a mobile device of
one transition geographic location of the place based on at another requester, the other request comprising the
least one of a geographic location of the mobile device of the identification of the place ;
other requester and a geographic location of the mobile identifying the transition geographic transition for the
device of the provider, wherein the transmitting of the one place based on a search of the database using the
of the at least one transition geographic location of the place identification of the place ; and
comprises transmitting the one of the at least one transition
geographic location of the place to at least one of the mobile transmitting one of the at least one transition geographic
device of the other requester and the mobile device of a location of the place to at least one of themobile device
provider of the transportation service of the other request for of the other requester and a mobile device of a provider
display in association with the other request for the trans of the transportation service of the other request .
portation service . 11. The system of claim 10 , wherein :
7. The computer- implemented method of claim 1, the transportation service of the plurality ofrequests is for
wherein the determining the transition geographic location transportation of the requester of the request to the
for the request comprises determining that a candidate place ;
US 2020/0025581 A1 Jan. 23, 2020
17

the determining the transition geographic location for the request is not the transition geographic location based on
request comprising determining the transition geo elevation data indicating an elevation of the mobile device
graphic location for the request based on the corre of the requester at the candidate geographic location .
sponding signal strengths of the satellite signals indi 16. A machine-readable medium embodying a set of
cating the corresponding drop -off path ; instructions that, when executed by at least one hardware
one of the at least one transition geographic location for processor, cause the processor to perform operations com
the place being stored as an ingress geographic location prising:
for the place ; for a place, accessing corresponding service data for each
the transportation service of the other request comprising one of a plurality of requests for a transportation
transportation of the other requester to the place ; and service associated with the place, the transportation
the identifying the transition geographic location for the service comprising transportation of a requester of the
place comprising identifying the one of the at least one request to or from the place , the corresponding service
transition geographic transition for the place based on data comprising an identification of the place , pick -up
the transportation service of the other request compris data indicating a pick -up location where the transpor
ing transportation of the other requester to the place and tation of the requester began , and drop -off data indi
on the one of the at least one transition geographic cating a drop -off location where the transportation of
location for the place being stored as the ingress the requester ended ;
geographic location for the place. accessing corresponding sensor data for each one of the
12. The system of claim 10 , wherein : plurality of requests, the corresponding sensor data
the transportation service of the plurality ofrequests is for comprising a plurality of satellite signals indicating a
transportation of the requester of the request from the path of a mobile device of the requester , the path
place ; comprising a pick -up path or a drop -off path , the
the determining the transition geographic location for pick -up path ending at the pick -up location indicated by
each one of the plurality of requests comprising deter the pick -up data , the drop -off path beginning at the
mining the transition geographic location for the drop -off location indicated by the drop -off data , each
request based on the corresponding signal strengths of one of the plurality of satellite signals having a corre
the satellite signals indicating the corresponding pick sponding signal strength ;
up path ; for each one of the plurality of requests, determining a
one of the at least one transition geographic location for transition geographic location for the request based on
the place being stored as an egress geographic location the corresponding signal strengths of the satellite sig
for the place ; nals indicating the corresponding path and a satellite
the transportation service of the other request comprising signal strength threshold , the satellite signal strength
transportation of the other requester from the place ; and threshold being configured to represent a point of
the identifying the transition geographic location for the transition between an indoor location and an outdoor
place comprising identifying one of the at least one location ;
transition geographic transition for the place based on determining at least one transition geographic location for
the transportation service of the other request compris the place based on the transition geographic locations
ing transportation of the other requester from the place for the plurality of requests ; and
and on the one of the at least one transition geographic storing the at least one transition geographic location for
location for the place being stored as the egress geo the place in a database in association with an identifi
graphic location for the place . cation of the place .
13. The system of claim 12 ,wherein the operations further 17. The machine - readable medium of claim 16 , wherein
comprise selecting the provider of the transportation service the operations further comprise :
of the other request from amongst a plurality of providers receiving another request for the transportation service
based on a geographic location of the mobile device of the associated with the place from a mobile device of
provider and the one of the at least one transition geographic another requester, the other request comprising the
location for the place . identification of the place ;
14. The system ofclaim 12 , wherein the operations further identifying the transition geographic transition for the
comprise selecting the at least one transition geographic place based on a search of the database using the
location of the place based on at least one of a geographic identification of the place ; and
location of the mobile device of the other requester and a transmitting one of the at least one transition geographic
geographic location of the mobile device of the provider, location of the place to at least one of the mobile device
wherein the transmitting of the one of the at least one of the other requester and a mobile device of a provider
transition geographic location of the place comprises trans of the transportation service of the other request.
mitting the one of the at least one transition geographic
location of the place to at least one of the mobile device of 18. The machine -readable medium of claim 17 , wherein :
the other requester and themobile device of a provider of the the transportation service of the plurality ofrequests is for
transportation service of the other request for display in transportation of the requester of the request to the
association with the other request for the transportation place ;
service. the determining the transition geographic location for the
15. The computer-implemented method of claim 9 , request comprising determining the transition geo
wherein the determining the transition geographic location graphic location for the request based on the corre
for the request comprises determining that a candidate sponding signal strengths of the satellite signals indi
geographic location indicated by the path associated with the cating the corresponding drop -off path ;
US 2020/0025581 A1 Jan. 23 , 2020
18

one of the at least one transition geographic location for request based on the corresponding signal strengths of
the place being stored as an ingress geographic location the satellite signals indicating the corresponding pick
for the place ; up path ;
the transportation service of the other request comprising one of the at least one transition geographic location for
transportation of the other requester to the place ; and the place being stored as an egress geographic location
for the place ;
the identifying the transition geographic location for the the transportation service of the other request comprising
place comprising identifying the one of the at least one transportation of the other requester from the place; and
transition geographic transition for the place based on the identifying the transition geographic location for the
the transportation service of the other request compris place comprising identifying one of the at least one
ing transportation of the other requester to the place and transition geographic transition for the place based on
on the one of the at least one transition geographic the transportation service of the other request compris
location for the place being stored as the ingress ing transportation of the other requester from the place
geographic location for the place . and on the one of the at least one transition geographic
location for the place being stored as the egress geo
19. The machine -readable medium of claim 17 , wherein : graphic location for the place .
the transportation service of the plurality of requests is for 20. The machine -readable medium of claim 19 , wherein
the operations further comprise selecting the provider of the
transportation of the requester of the request from the transportation service of the other request from amongst a
place ; plurality of providers based on a geographic location of the
the determining the transition geographic location for mobile device of the provider and the one of the at least one
each one of the plurality of requests comprising deter transition geographic location for the place .
mining the transition geographic location for the

You might also like