Systems and methods of vehicle guidance

CA3058650CActive Publication Date: 2026-09-22PIED PARKER INC
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
CA3058650
Authority / Receiving Office
CA · CA
Patent Type
Patents
Current Assignee / Owner
Priority Date
2017-04-02
Filing Date
2018-03-30
Publication Date
2026-09-22
Estimated Expiration
2038-03-30
Patent Text Reader

Abstract

A computing device is configured to monitor sensor data and location data associated with a first user device including one or more sensors, and monitor traffic data associated with a location of the first user device based on the sensor data and location data. In response to the data, the computing device determines whether to provide a user-selectable message to the first user device based on a vehicle speed, proximity to a destination, and vehicle speed relative to traffic speed. The user- selectable message comprises a prompt configured to transmit a search request for a listing location. In response to the determination, the user-selectable message is provided to the first user device. In response to receiving a search request, the computing device is configured to transmit instructions to the first user device to direct the first user device to a first listing location.
Need to check novelty before this filing date? Find Prior Art

Description

SYSTEMS AND METHODS OF VEHICLE GUIDANCE

[0001] TECHNICAL FIELD

[0002] The present disclosure relates generally to providing vehicle guidance. BACKGROUND

[0003] Parking a vehicle in densely populated environments is often a frustrating experience due to the dearth of free parking spaces and the expense of private parking garages or lots. This is especially true in populated urban environments such as the downtowns of large municipalities (e.g., New York City, San Francisco, etc.). Moreover, parking is often in demand near destinations or event venues such as neighborhoods surrounding sports stadiums, concert halls, amusement parks, or beachfronts.

[0004] Additionally, the high price of real estate has motivated many property owners to seek out non-traditional ways for property owners to monetize their real property assets. For example, homeowners can often rent out rooms in their homes to tourists or travelers using an online home rental platform; car drivers can provide taxi services using their personal vehicle to pedestrians using a ride sharing platform.

[0005] Using shared economy parking applications, smart phone owners can use on- demand parking systems to pay property owners for use of their parking space(s). However, applications rely on user input to determine arrival and departure of vehicles in parking spaces, or on expensive sensors.

[0006] Accordingly, it would be desirable to provide improved methods and systems of detecting vehicle movements. SUMMARY

[0007] According to one embodiment, a system includes a non-transitory memory and one or more processors coupled thereto. The one or more processors are configured to execute instructions comprising: monitoring location and sensor data associated with a first user device; determining the first user device has arrived at a first listing location based on the geographic location of the first user device being within a threshold distance of the first listing location; determining that the first user device has departed the first listing location and that an occupancy status associated with the first listing location is available after a threshold period of time based on a signal between the first user device and a network at the first listing location being below a predefined signal strength; and updating, without user input, the database of listing locations based on the determination that the first user device has departed the first listing location.

[0008] The user-selectable message includes a deep link. The deep link may be configured to be activated by audio confirmation or touch of a display of the first user device.

[0009] The determination whether to provide the user-selectable message on the first user device is based on machine learning and artificial intelligence.

[0010] The determination to provide the user-selectable message on the first user device is further based on a frequency of braking and a frequency of turning.

[0011] The determination to provide the user-selectable message on the first user device is based on a plurality of factors, the plurality of factors being weighed based on a driver profile or historical data. BRIEF DESCRIPTION OF THE DRAWINGS

[0012] Figure 1 is an exemplary diagram of a distributed computing system according to some embodiments.

[0013] Figure 2 is an exemplary diagram of vehicle guidance system according to some embodiments.

[0014] Figure 3 is a flowchart illustrating an exemplary method for determining a connection change and automatically adjusting an availability status associated with the first listing location using one or more media.

[0015] Figure 4 is a flowchart illustrating an exemplary method for transmitting a message to the first user, the message including an embedded search request for a listing location when the first user device using one or more media devices.

[0016] Figure 5 is a flowchart illustrating an exemplary method for searching for a listing location and transmitting instructions directing one or more media devices to a first listing location.

[0017] Figure 6 is a flowchart illustrating an exemplary method for automatically detecting whether a vehicle previously parked at a listing location has departed the first listing location and whether an occupancy status associated with the first listing locations should be updated.

[0018] Figure 7 is an exemplary diagram of an augmented reality system.

[0019] Figure 8 is an exemplary system for presenting one or more listing locations on a map displayed on a media device.

[0020] Figure 9 is another exemplary view of an augmented reality system.

[0021] In the figures, elements having the same designations have the same or similar functions. DETAILED DESCRIPTION

[0022] Figure 1 is a simplified diagram of a distributed computing system 100 according to some embodiments. As shown in Figure 1, system 100 includes three computing devices 110, 140, and 170. Although only three computing devices 110, 140, and 170 are shown in Figure 1, one of ordinary skill would appreciate that distributed computing system 100 may include any number of computing devices of various types and / or capabilities. In some embodiments, computing devices 110, 140, and / or 170 may be any type of computing device including personal computers (e.g., laptop, desktop, smartphone, or tablet computers), servers (e.g., web servers, database servers), network switching devices (e.g. switches, routers, hubs, bridges, and / or the like), vehicle-based devices (e.g., on-board vehicle computers, short- range vehicle communication systems, telematics devices), or mobile communication devices (e.g., mobile phones, portable computing devices, and / or the like), and / or the like, and may include some or all of the elements previously mentioned.

[0023] In some embodiments, computing device 110 includes a control unit 120 coupled to memory 130, computing device 140 includes a control unit 150 coupled to memory 160, and computing device 170 includes a control unit 190 coupled to memory 160. Each of control units 120, 150, and / or 180 may control the operation of its respective computing device 110, 140, and / or 170. In some examples, control units 120, 150, and / or 180 may each include one or more processors, central processing units (CPUs), graphical processing units (GPUs), virtual machines, microprocessors, microcontrollers, logic circuits, hardware finite state machines (FSMs), digital signal processors (DSPs) application specific integrated circuits (ASICs), field programmable gate arrays (FPGAs), and / or the like and / or combinations thereof.

[0024] In some examples, memory 130 may be used to store one or more applications and one or more data structures, such as a representative application 132 and data structure 134. In some examples, memory 160 may be used to store one or more applications and one or more data structures, such as a representative application 162 and data structure 164, and memory 190 may be used to store one or more applications and one or more data structures, such as a representative application 192 and data structure 194.

[0025] In some embodiments, memories 130, 160, and / or 190 may each include one or more types of machine readable media, including volatile and non-volatile memory. Some common forms of machine readable media may include floppy disk, flexible disk, hard disk, magnetic tape, any other magnetic medium, CD-ROM, any other optical medium, punch cards, paper tape, any other physical medium with patterns of holes, ROM, PROM, EPROM, FLASH-EPROM, any other memory chip or cartridge, and / or any other medium from which a processor or computer is adapted to read. Some common forms of volatile memory include SRAM, DRAM, IRAM, and / or any other type of medium which retains its data only while device is powered.

[0026] The data structures 134, 164, and / or 194 may vary in size, usage, and / or complexity depending upon the purposes of computing devices 110, 140, and / or 170 and / or applications 132, 162, and / or 192. In some embodiments, when computing devices 110, 140, and / or 170 are network switching devices, such as switches, routers, hubs, bridges, and / or the like, the data structures 134, 164, and / or 194 may include one or more tables with forwarding and / or similar information. In some examples, these tables may include one or more virtual LAN tables, link aggregation group (LAG) tables, layer 2 (L2) next hop tables, layer 3 (L3) routing tables, L3 forwarding information bases (FIBs), flow tables, and / or the like. Depending upon the networking environment of system 100 and / or the role of computing devices 110, 140, and / or 170 these tables may include anywhere from a few dozen entries to thousands, or even tens of thousands or more entries. In some examples, data from data structures 134, 164, and / or 194 may be retrieved, stored, or modified by a respective control unit in accordance with instructions which may be executed directly, e.g., machine code, or indirectly, e.g., scripts, by the respective control unit. The systems and methods of the present disclosure are not limited to any particular data structure.

[0027] In some embodiments, computing devices 110, 140, and 170 may also be coupled together using a network 101. In some embodiments, one or more of computing devices 110, 140, and 170 may be connected via any type of wired or wireless connections, such as DSRC, satellite, RFID, fire wire, network, USB, Wi- Fi, RFID, BLUETOOTH, Infrared (e.g. GSM infrared), and / or the like and / or using any suitable wireless communication standards and protocols, such as IEEE 802.11 and WiMAX. Network 101, including any intervening nodes, may be any kind of network including a local area network (LAN) such as an Ethernet, a wide area network (WAN) such as an internet, a virtual or non-virtual private network, and / or the like and / or combinations thereof.

[0028] In some embodiments, network 101 may include any type of computing device including personal computers (e.g., laptop, desktop, smartphone, or tablet computers), servers (e.g., web servers, database servers), network switching devices (e.g. switches, routers, hubs, bridges, and / or the like), vehicle-based devices (e.g., on-board vehicle computers, short-range vehicle communication systems, telematics devices), or mobile communication devices (e.g., mobile phones, portable computing devices, and / or the like), and / or the like, and may include some or all of the elements previously mentioned. Computing devices 110, 140, and 170 through their applications, such as applications 132, 162, and / or 192, may use network 101 to exchange information and / or to provide services for each other. In some examples, computing device 140 may be used to provide backup and / or fail over services for computing device 110.

[0029] In some examples, computing device 140 may be maintaining data structure 164 as a synchronized copy of data structure 134. In some examples, one or more of components of computing devices 110, 140, and 170, such as a control unit, may be located remotely.

[0030] In some embodiments, computing devices 110, 140, and / or 170 may include an electronic display (not shown), the display may be an active matrix emitting diode (AMOLED), light-emitting diode (LED), organic LED (OLED), electrophoretic, liquid crystal, e-paper, and / or the like and / or combinations thereof In some embodiments, computing devices 110, 140, and / or 170 may include various input and output <semantics>(1 / 0)<annotation encoding="application / x-tex">(1 / 0)< / annotation>< / semantics> devices, such as a keyboard, a mouse, touchscreen, button inputs, microphone, motion sensor, eye sensor, video display, and / or the like.

[0031] Figure 2 is a simplified diagram of a vehicle guidance system 200. In some embodiments, as shown in Figure 2, system 200 includes media device 210, vehicle media device 220, application servers 230, map database 240, and vehicle 250. In some examples, media device 210 and / or vehicle media device 220 may correspond to one or more of computing devices 110, 140, 170 and may be in communication with one another using network 101.

[0032] In some embodiments, vehicle media device 220 may be a device within vehicle 250, or may be part of the vehicle itself, such as an on-board vehicle computer. The vehicle may have more than one computing device. In some examples, vehicle media device 220 may be mounted inside a vehicle, such as to a dashboard of the vehicle. In some examples, the vehicle may be any type of vehicle, including a car, truck, SUV, motorcycle, scooter, Segway, hover board, drone, bus, golf cart, train, trolley, amusement vehicle, recreational vehicle, boat, watercraft, helicopter, airplane, and / or the like.

[0033] In some embodiments, media device may include a display within a housing. In some examples, the housing may include several parts. In some examples, one part of the housing may include an optically transparent material, such as glass, and another part of the housing may include other materials, such as metallic materials, e.g., aluminum, and / or plastic, which may provide a robust support structure to prevent deformation of the display. In some examples, media device may include a flexible display arrangement such as described in U.S. Patent No. 9,367,095.

[0034] In some embodiments, vehicle media device 220 may establish communication with media device 210, or vice versa. In some examples, media device 210 automatically establishes communication with vehicle media device 220, such as by connections between one or more of computing devices 110, 140, and 170. In some examples, media device 210 is automatically in communication with vehicle media device 220 via wired connection. In some examples, media device 210 may contain its own power supply, or may be powered by a power supply within vehicle 250. In some examples, vehicle may charge media device 210's while in operation. In some examples, media device 210 may be charged wirelessly, e.g., on a wireless charging surface, such as on a dashboard of vehicle 250. Vehicle 250 may contain a transmitter for providing energy transmission and media device 210 may have a receiver for wireless power, whereby energy transfer occurs using magnetic resonant coupling. The transmitter may transmit power using multiple transmit coils and using parallel paths from such coils to multiple receive coils in the receiver.

[0035] In some embodiments, vehicle 250 may be partially or totally autonomous, such as partially or totally autonomous vehicle systems and methods disclosed in U.S. Patent No. 9,330,571. In some examples, vehicle 250 may contain one or more vehicle operation sensors, such as sensors disclosed in U.S. Patent No. 8,280,623. In some examples, media device 210 and vehicle media device 220 may be included as vehicle operation sensors and may be configured to communicate with the one or more external sensors. External sensors may include cameras, lasers, sonar, radar detection units (e.g., ones used for adaptive cruise control), and / or the like and / or combinations thereof, and may provide data updated in real-time, updating output to reflect current environment conditions. Object detection and classification for autonomous vehicles may be performed according to embodiments disclosed in U.S. Patent No. 8, 195,394.

[0036] In some embodiments, data may also be collected from other sources, including one or more application servers 230. In some examples, traffic data may be received by one or more application servers, which may include a geolocation, mapping, and navigation application such as GOOGLE MAPS, APPLE MAPS, WAZE, and / or the like and / or combinations thereof. In some examples, application servers 230 can interact with a map or GIS database, such as map database 240, through a map API such as the GOOGLE MAPS API. In some examples, the application servers query the map or GIS database for traffic data in response to receiving the sensor data from the media device and / or host device. In some examples, map database 240 can be an SQL database. The application servers 230 can interface with one or more servers managing the SQL database. Application data and application states can be stored in a cloud managed SQL database. In other variations, map database 240 can be a document-oriented database including a NoSQL database such as a MONGODB database.

[0037] Figure 3 is a flowchart illustrating an exemplary method 300 for determining a connection change and automatically adjusting an availability status associated with the first listing location using one or more media devices. In some examples, the one or more media devices may correspond to one or more of computing devices 110, 140, 170, media device 210, and / or vehicle media device 220, and one or more sensors may include those sensors discussed above with respect to Fig. 2. Method 300 is illustrated in Fig. 3 as a set of processes 310-350. In some examples, processes 310-350 may be implemented on one or more application servers, such as application servers 230. In some examples, not all of the illustrated processes may be performed in all embodiments of method 300. Additionally, one or more processes not expressly illustrated in Fig. 3 may be included before, after, in between, or as part of processes 310-350.

[0038] In some embodiments, one or more processes 310-350 may be implemented, at least in part, in the form of executable code stored on non- transitory, tangible, computer readable media that when run by one or more processors (e.g., a processor of the media device) may cause the one or more processors to perform one or more of processes 310-350.

[0039] During a process 310, a listing update associated with a first listing location may be received. In some examples, the listing update is sent from a first user device of the one or more media devices. In some examples, the listing update may include information associated with a listing location, which may include a geographic location, an image or a video clip illustrating the listing location, dimensions of the listing location, a type of listing location, such as whether the listing location can accommodate motorcycles, trucks, compact vehicles, and / or the like; information about any hazards, instructions for unlocking a gate or garage, such as a passcode or pattern, information about price and time, such as price per hour, price for various times during a day, price per day, price per week / month / year, whether or not the listing location has an overhead cover, such as a roof or carport, whether or not the listing location is an Electric Vehicle (EV) charging station, a user rating associated with the listing location, such as a one to five star rating, and / or the like, and / or combinations thereof In some examples, the listing location may include a parking space. The listing client device can be used by a user of a system, such as system 200, to list a parking space for rental or lease by other users of the system.

[0040] During a process 320, data may be received from the first user device by the one or more application servers, the data including information about one or more devices in connection with the first user device. In some examples, one or more devices in connection with the first user device may include, but are not limited to, a Wi-Fi 33 modem, GPS, RFID, a BLUETOOTH component, which may include, smart devices, a vehicle or vehicle media device, such as vehicle media device 220; and / or the like; a hotspot tether, a 3G or 4G modem, an LTE modem, a parking sensor, such as object detection sensors disclosed in U.S. Pat. Appl. No. 15 / 366,953 and / or the like and / or combinations thereof.

[0041] During a process 330, it may be determined that the first user device has entered or departed an area associated with a first listing location based on data collected from the first user device. In some embodiments, it may be determined that the first user device has entered or departed an area based on one or more connection changes-a first connection change may be determined based on data from the first user device, the connection change being between the first user device and the one or more devices. In some examples, the connection change is determined by the one or more application servers, the first user device, and / or the like. In some examples, as a result of a change of one or more connections, the first user device may transmit data about the change of the one or more connections to the one or more application servers. In some examples, the connection change is determined based on a detection that one or more signals from the one or more devices are becoming weak below a predefined threshold, such as -40 dBm, or becoming undetectable by the first user device. In some examples, the first user device may be connected to a home Wi-Fi. As the first user device is no longer in close proximity with the home Wi-Fi, the home Wi-Fi signal may be too weak and the connection would be lost. As the first user device is no longer in close proximity with one or more home devices via BLUETOOTH connections, the one or more signals may be too weak and the connection would be lost. In some examples, a data connection could be transitioned on the first user device from Wi-Fi to a cellular network. In some examples, the connection change may include the first user device becoming connected with a network of a vehicle, including Wi-Fi or a BLUETOOTH component of a vehicle. In some examples, the connection change may be determined by the MAC address specific to one or more devices. In some examples, the BLUE TOOTH component of the vehicle corresponds to a vehicle media device, such as vehicle media device 720, which activates upon activation of a battery of the vehicle. In some examples, the one or more application servers can ping a parking sensor associated with the first listing location and request the last proximity measurement from a sensor memory. The one or more application servers can also ping the parking sensor to activate a proximity detector of the parking sensor and query the parking sensor for a real-time proximity measurement.

[0042] In some embodiments, geofencing may be used to determine when the first user device enters or leaves a particular area by creating a virtual geographic boundary around the particular area. In some examples, the particular area may be a home, office location, commercial parking lot, and / or the like. In some examples, the one or more devices and / or the first user device are part of a mesh network. In some examples, the first device disconnects from one or more nodes of the mesh network, including one or more devices associated with a particular area. In some examples, the mesh network is used to enable geofencing, creating a virtual geographic boundary of a particular area. In some examples, geofencing may rely on machine learning to adjust the virtual boundary, such as using systems and methods disclosed in U.S. Patent No. 9,349,104.

[0043] During a process 340, the one or more application servers transmit a listing request to the first user device to adjust an availability status associated with the first listing location. In some embodiments, a listing request is sent in response to a determination that the first user device has entered or departed an area by process 330. In some examples, the listing request is a notification, alert, text message, and / or the like, requesting the user of the first user device to change the availability status of the first listing location, and the listing request may include a link, recommended listing price, recommended time, information about an event, and / or the like.

[0044] In some examples, the link launches an application, and prompts a user to edit an availability status associated with at least one listing location. In some examples, the link is a deep link, such as a uniform resource identifier (URI) that launches a resource within the application. A deep link enables a user to be able to launch a second application to a relevant portion within the second application without having to separately launch the second application and navigate to that relevant portion. In some examples, the deep link is a deferred (AKA persistent) deep link, such that it links into an application installed on the first user device, instead redirecting to an application store to allow for download and / or installation of the linked-to application.

[0045] During a process 350, data sets associated with a plurality of listing locations may be updated. In some examples, data sets may be included in a database. In some examples, the database can store in one or more database tables positional data concerning a listing location. In some examples, the database can include a cloud managed SQL database, such as a MICROSOFT AZURE database. In some examples, the database can be stored in a memory of a computing cloud. In some examples, the data sets are updated by the one or more application servers. In some examples, the data sets are updated in response to an update regarding the first listing location availability sent by the first user device. In some examples, the data sets are updated automatically without requesting the first user device to adjust the availability status associated with the first listing location, but based on the determination of process 330 that a connection change occurred. Some advantages of disclosed embodiments are increased availability of listing locations, faster processing, and simplification of user interface. In some examples, method 300 is a method for enabling a computer to automatically update listing locations-without requiring input from a user.

[0046] Figure 4 is a flowchart illustrating an exemplary method 400 for transmitting a message to the first user, the message including an embedded search request for a listing location when the first user device using one or more media devices. In some examples, the one or more media devices may correspond to one or more of computing devices 110, 140, 170, media device 210, and / or vehicle media device 220, and one or more sensors may include those sensors discussed above with respect to Fig. 2. Method 400 is illustrated in Fig. 4 as a set of processes 410- 440. In some examples, processes 410-440 may be implemented on one or more application servers, such as application servers 230. In some examples, not all of the illustrated processes may be performed in all embodiments of method 400. Additionally, one or more processes not expressly illustrated in Fig. 4 may be included before, after, in between, or as part of processes 410-440. In some embodiments, one or more processes 410-440 may be implemented, at least in part, in the form of executable code stored on non-transitory, tangible, computer readable media that when run by one or more processors (e.g., a processor of the media device) may cause the one or more processors to perform one or more of processes 410-440. In some examples, processes of method 400 may be executed subsequent to one or more steps described in the method 300.

[0047] During a process 410, sensor data, traffic data, and location data may be monitored from a first user device of the one or more media devices. In some examples, monitoring may occur continuously, periodically, and / or at set location markers. In some examples, process 410 may be performed concurrently with other steps in method 400. In some examples, the sensor data may be forwarded from the first user device to one or more application servers. Sensor data may correspond to sensors, such as those discussed above with respect to Fig. 2, of the first user device, or sensors in connection with the first user device. In some examples, the first user device includes an accelerometer, inertial unit, gyroscope, and magnetometer. In some examples, the sensors in connection with the first user device are vehicle operation sensors, such as those described above with respect to Fig. 2. In some examples, the inertial unit may be implemented as a multi-axis accelerometer including a three-axis accelerometer, a multi-axis gyroscope including a three-axis MEMS gyroscope, or a combination thereof.

[0048] In some examples, traffic data may be received by one or more application servers, which may include a geolocation, mapping, and navigation application such as GOOGLE MAPS, APPLE MAPS, W AZE, and / or the like and / or combinations thereof In some examples, traffic data may include information about roads, including current congestion and congestion trends on one or more roads, accidents, emergencies, construction, road closings, detours, truck stops, rest stops, weather conditions, other road conditions, and / or the like. In some examples, one or more geolocation, mapping, and navigation applications integrates the Application Programming Interface (API) from a second server, the second server being coupled to database of listing locations. In some examples, the second server, being coupled to a database of listing locations, hosts an API of a geolocation, mapping, and navigation application. Some advantages of integrated API include interoperability between applications and availability of other services through an application, creating a more seamless and convenient user experience.

[0049] During a process 420, it may be determined when to send a message to the first user device, the message including an embedded search request for a listing location. In some examples, the first user device may have an application actively running on the first user device that assists with parking a vehicle. In some examples, the determination may be based on the sensor data, traffic data, location data, and / or the like and / or combinations thereof.

[0050] In some embodiments, the determination may be made based on one or more factors: a vehicle speed, a vehicle speed relative to an average traffic speed and / or posted speed limit, frequency of braking, frequency of turning, proximity to a destination, and / or the like and / or combinations thereof In some examples, each of the factors is assigned a value, and when a sum of the factors exceeds a threshold, it is determined that a message should be sent to the first user device. Each of the factors may be accorded a low weight or a higher weight depending on whether they are factors that are more likely to indicate that a vehicle operator and / or vehicle are searching for parking.

[0051] During a process 421, a vehicle speed may be determined based on sensor data and / or location data. In some examples, sensor data includes vehicle operation sensor data from one or more vehicle operation sensors, the vehicle operation sensor data including information about vehicle speed. In some examples, location data is tracked over time to calculate an average speed.

[0052] During a process 422, vehicle speed relative to average traffic speed and / or posted speed limit may be determined. An average traffic speed may be determined based on sensor data and / or traffic data. In some examples, sensor data may include data from the one or more vehicle operation sensors about distance from any nearby vehicles. In some examples, the posted speed limit may be determined based on the location data and reference to a database including posted speed limits along a first direction of travel. Based on a comparison of vehicle speed to average traffic speed and / or posted speed limit, it may be determined that the vehicle speed is relatively low. In some examples, when a first user device's speed (corresponding to a vehicle speed) is relatively low compared to the average traffic speed and / or posted speed limit, for example, at 50%, it may be a strong factor indicating that a vehicle and / or vehicle operator is driving slowly to search for a parking space.

[0053] During a process 423, a frequency of braking may be determined based on sensor data and / or location data. In some examples, braking may be determined by vehicle operation sensors. In some examples, braking may be determined by rapid deacceleration detected by an accelerometer of the first user device. In some examples, braking may be determined based on a rapid decrease in speed determined based on location data of the first user device over a time period. In some examples, a high rate of braking may be determined based on five or more braking occurrences within a one to two-minute period. In some examples, an application server may determine, with a low degree of certainty, based on a high rate of that a vehicle and / or vehicle operator is stopping frequently to find a place to park.

[0054] During a process 424, a frequency of turning may be determined based on sensor data. In some examples, frequency of turning may be determined based on the sensor data and / or location data. In some examples, turning may be determined by vehicle operation sensors. In some examples, turning may be determined by an accelerometer of the first user device. In some examples, turning may be determined based on the location data over time compared to a first direction of travel of the first user device. In some examples, a high rate of turning may be determined based on two or three turns within a one to two-minute period. In some examples, an application server may determine, with a low degree of certainty, based a high rate of turning indicating that a vehicle and / or vehicle operator are circling streets to find a place to park.

[0055] During a process 425, a proximity of the first user device to a destination may be determined based on location data. In some examples, proximity to a destination may be based on location data and / or information from a geolocation, mapping, and navigation such as GOOGLE MAPS, APPLE MAPS, W AZE, and / or the like and / or combinations thereof. In some examples, a destination may include a previously stored location, such as a home or work place.

[0056] In some examples, the destination may be stored based on input from a user, or may be stored based on frequency of visit based on previous location data of the first user device.

[0057] Most geolocation, mapping, and navigation applications rely on the principles of grouping roads according to functions and capacities. In some examples, roads may be grouped in a hierarchy of descending order based on highest to lowest speed limit. In some examples, proximity to a destination may be determined based on the hierarchy of roads descending from higher order roads to lower order roads. In some examples, the hierarchy of roads may be used to diminish the weight of another factor used in process 420, such as the relative speed of the first user device compared to average traffic speed and / or posted speed limit. In some examples, when relative speed is low on a higher order road, such as a highway with posted speed limits of 55-70 MPH, it is unlikely that the vehicle and / or vehicle operator are looking for parking. Some advantages of disclosed embodiments include the elimination of false positives when a vehicle and / or vehicle operator are looking for parking.

[0058] During a process 426, it may be determined that a first user device is proximate to a destination based on location data and / or traffic data. In some examples, a first user device is proximate when the distance to a destination is less than a threshold number of miles, such as less than 0.25-5 miles.

[0059] In some embodiments, closeness of proximity may be sized based on a number of available listing locations within a geographic area. In some examples, the geographic area is defined by a causal point-of-interest (POI). A causal POI may be determined based on listing requests being above a first threshold and may be based on traffic data. In some embodiments, a causal POI is defined as a geographical location with a predefined proximity to location of an event being or to be held. In some examples, a sports bar may be considered a causal POI around 7pm on a Friday night, because the sport bar will offer a live broadcast of a baseball event at 8pm that same Friday night. A street intersection may be considered a causal POI between 8am to 12pm on a Sunday morning, because a farmer market is often held at the street intersection during that time frame. In some examples, the first threshold may be exceeded when the traffic data indicates heavy traffic in a region. The causal POI can be a location or venue causing a surge or sudden increase in demand for parking within a vicinity of the causal POI. In some examples, the causal POI can include a sports stadium, a concert hall, a nightclub, a movie theater, a museum, or a restaurant, farmer's market, a political gathering, or a parade route and / or the like and / or a combination thereof.

[0060] In some embodiments, the causal POI may be determined by calculating a centroid of a polygon created by the positional coordinates of listing requests or search requests for listing locations received within a preset time period. In some examples, three listing location requests can be received within a 60 second period and the centroid of a triangle having vertices at the three desired booking locations included in the three listing location requests can be calculated.

[0061] In some examples, a causal POI may be determined when listing requests or search requests for listing locations within a certain region exceeds a first threshold, such as 5-1 0 listing and / or search requests per minute. The region may be established upon first receiving a first listing request or first search request. In some examples, if there is less than a threshold number of available spaces, such as 3-10 available spaces, within the causal POI, closeness of proximity may be expanded to a larger area. In some examples, a default closeness of proximity may be 1 mile. Some advantages of disclosed embodiments include more accurate predictions of areas of interest to vehicles and vehicle operators, and where those vehicles and / or vehicle operators are likely to be looking for parking.

[0062] In some embodiments, it may be determined when to send a message to the first user device, the message including an embedded search request for a listing location based on one or more factors being high or low. In some examples, it may be determined that a message should be sent to the first user device when the vehicle speed is relatively low compared to a traffic speed and a destination or POI is proximate. In some examples, then it may be determined that a message should be sent to the first user device when the vehicle speed is relatively low compared to a traffic speed, a frequency of braking is high, and a frequency of turning is high.

[0063] Some advantages of disclosed embodiments include sending an embedded search request for a listing location to a first user device when a vehicle and / or vehicle operator is searching for parking, and a first user device is likely to respond with an affirmative request for a listing location. In some examples, a vehicle and / or vehicle operator is looking for street parking. The vehicle and / or vehicle operator may have a destination, but need parking close to that destination. For several blocks, the vehicle and / or vehicle operator may circle blocks, driving further away from the destination in search of parking. In some examples, based on sensor data, traffic data, and / or location data, several factors may be weighed in determining whether to send a message to the first user device that includes an inquiry of whether the user would like to initiate a search for parking, such as using method 500, discussed below.

[0064] In some embodiments, it may be determined when to send a message to the first user device, the message including an embedded search request for a listing location based on the first user device being in a vicinity of one or more listing locations. In some examples, an application server coupled to a database of listing locations may receive location data from the first user device. In some examples, when the first user device is near a listing location, such as within 100-2000 ft. of an available parking space, it is determined that a message should be sent to the first user device.

[0065] In some embodiments, factors may be weighted based on machine learning and artificial intelligence algorithms. Based on data collected from various user devices, including sensor data of vehicles and / or user device, profiles may be created for discrete driver behavior, including styles such as a normal / safe driving style, aggressive driving style, inattentive driving style, drunk driving style, drowsiness style, and / or the like; according to systems and methods disclosed in "A Review of Intelligent Driving Style Analysis Systems and Related Artificial Intelligence Algorithms," by Gys Albertis et al. Meiring, G.A. M., & Myburgh, H.C. (2015). A review of intelligent driving style analysis systems and related artificial intelligence algorithms. Sensors, 15(12), 30653-30682. In some examples, historical data may indicate whether a driver is prone to frequent braking, swerving, slow driving compared to traffic speed, and / or the like. In some examples, it may be determined based on the historical data that first user device is similar to one or more profiles. In some examples, the factors weight factors differently based on the profile and / or historical data.

[0066] During a process 430, a message to the first user device may be transmitted in response to the determination of process 420, the message including a request to search for a listing location. In some examples, the message is a notification, alert, update, text message, chime, and / or the like, requesting the user of the first user device to search for a listing location, and the listing location may include a link, a recommended time to search, information about an event, information about a price, and / or the like and / or combinations thereof. In some examples, the link launches an application, and prompts a user to edit an availability status associated with at least one listing location. In some examples, the link is a deep link, such as a uniform resource identifier (URI) that launches a resource within the application.

[0067] During a process 440, a search request is received from the first user device in response to the message. A search request may include search request parameters associated with listing locations, including, preset information or data concerning listing locations previously requested by the first user device, a proximity to the physical location of the first user device, an availability time, a type of listing location, a price range for a listing location, dimensions associated with listing locations, whether or not the listing location has an over-head cover, whether or not the listing location is an electric vehicle (EV) charging station, a user rating associated with the listing location, such as a one to five star rating, and / or the like and / or a combination thereof. In some examples, the type of listing location may be related to the type of parking space that accommodates certain vehicles, including sedans, trucks, SUV s, motorcycles, scooters, Segways, hover boards, drones, buses, golf carts, trains, trolleys, amusement vehicles, recreational vehicles, bicycles, boats, watercrafts, helicopters, airplanes, and / or the like. In some examples, a search request may be sent in response to an input to a listing location on a graphical user interface (GUI) of the first user device. In some examples, a search request may be transmitted automatically without input from the first user device.

[0068] Some advantages of disclosed embodiments include faster processing, reduced traffic, and simplification of user experience. In some examples, method 400 is a method for enabling a computer to automatically search for a listing location-without requiring input from a user. In some examples, a vehicle operator is searching for street parking or commercial parking, whatever is first available. In many cities across the world, it is illegal to operate a smart phone while driving. Moreover, it may be difficult or impossible to pull over and operate a smart phone to look for parking using the smart phone. Using an application on the vehicle operator's smart phone, the vehicle operator could simply have the smart device interact with the vehicle and application servers to detect that the user is likely looking for parking, sending a request for a parking space without requiring the input from the user. In some examples, the application may be running in the background of the smart phone, monitoring sensor data, traffic data, and location data. The smart device may provide a notification to the user, enabling the user to search for a parking spot by audio confirmation, a single click, or single tap on a touchscreen. This simplifies the user experience and enables the user to find parking faster, legally, and more safely, and has the added benefit of reducing congestion on the road.

[0069] Figure 5 is a flowchart illustrating an exemplary method 500 for searching for a listing location and transmitting instructions directing one or more media devices to a first listing location. In some examples, the one or more media devices may correspond to one or more of computing devices 110, 140, 170, media device 210, and / or vehicle media device 220, and one or more sensors may include those sensors discussed above with respect to Fig. 2. Method 500 is illustrated in Fig. 5 as a set of processes 510-540. In some examples, processes 510-540 may be implemented on one or more application servers, such as application servers 230. In some examples, not all of the illustrated processes may be performed in all embodiments of method 500. Additionally, one or more processes not expressly illustrated in Fig. 5 may be included before, after, in between, or as part of processes 510-540. In some embodiments, one or more processes 510-540 may be implemented, at least in part, in the form of executable code stored on non- transitory, tangible, computer readable media that when run by one or more processors (e.g., a processor of the media device) may cause the one or more processors to perform one or more of processes 510-540. In some examples, processes of method 500 may be executed subsequent to one or more steps described in the method 400 and / or method 300.

[0070] During a process 510, a search request from a first user device may be received. In some examples, process 510 corresponds with process 440. In some examples, method 500 may proceed in succession of method 400. In some examples, before process 510, a map of listing locations may be displayed on a GUI of the first user device. An exemplary GUI including listing locations is discussed with respect to Figure 8. The map of listing locations may be filtered based on preset information or data concerning listing locations previously requested by the first user device, a proximity to the physical location of the first user device, an availability time, a type of listing location, a price range for a listing location, dimensions of listing locations, whether or not the listing location has an over-head cover, whether or not the listing location is an electric vehicle (EV) charging station, a user rating associated with the listing location, such as one to five star rating, and / or the like and / or a combination thereof In some examples, the search request may also include location data provided by the first user device, such as GPS coordinates and / or an address. In some examples, a search request may be sent by the first user device in response to activation of augmented reality (AR) system, which is elaborated on further in discussion of Figure 7. In some examples, a search request is sent on a first user device in response to input, that may include touch, hand movement, voice activation, and / or the like.

[0071] During a process 520, a first listing location is selected based on the search request parameters. In some examples, following selection of the first listing selection, the first user device is sent a confirmation query. In some examples, the first listing location is selected based on listing locations that match the search request parameters, including preset information or data concerning listing locations previously requested by the first user device, a proximity to the physical location of the first user device, an availability time, a type of listing location, dimensions associated with the respective listing locations, a price range for a listing location, whether or not the listing location has an over-head cover, whether or not the listing location is an electric vehicle (EV) charging station, a user rating associated with the listing location, such as a one to five star rating, and / or the like and / or a combination thereof In some examples, a first listing location is selected and confirmed without further response from the first user device.

[0072] During a process 530, a confirmation message may be received, the confirmation message confirming selection of the first listing location. In some examples, booking of the first listing selection is confirmed following receipt of the confirmation message from the first user device. In some examples, data sets associated with a plurality of listing locations may be updated in a manner similar to process 350.

[0073] During a process 540, instructions may be transmitted to the first user device, the instructions directing the first user device to the first listing location. In some examples, the first user device is sent a message containing a link, the link launching a navigation application, entering the destination address or coordinates in the navigation application. In some examples, the link is a deep link, such as a uniform resource identifier (URI) that launches a resource within the navigation application. In some examples, the first user device is redirected from one destination within the navigation application to the first listing location.

[0074] Some advantages of disclosed embodiments further include providing temporary parking for vehicles being operated for ride sharing applications. In some examples, a vehicle operator is a driver for UBER, L YFT, SIDECAR, and / or another ride sharing application, and it may be difficult or illegal for a vehicle to pull over temporarily. An API of a parking application may be integrated within a ride sharing application. In some examples, before or during a scheduling of a ride, or at the end of a ride, a vehicle operator may search for a parking space using the ride sharing application with the integrated API. A search request is sent to an application server coupled to a database of listing locations. The listing locations may include parking spaces for temporary rental. The vehicle operator may select and confirm a suitable parking space for the ride, based on search parameters, such as parking space size. Upon confirming a selection, the ride sharing application may reroute the driver and direct the driver to the selected parking space.

[0075] Figure 6 is a flowchart illustrating an exemplary method 600 for automatically detecting whether a vehicle previously parked at a listing location has departed the first listing location, and whether an occupancy status associated with the first listing location should be updated, based on location and / or sensor data using one or more media devices. In some examples, the one or more media devices may correspond to one or more of computing devices 110, 140, 170, media device 210, and / or vehicle media device 220, and one or more sensors may include those sensors discussed above with respect to Fig. 2. Method 600 is illustrated in Fig. 6 as a set of processes 610-640. In some examples, processes 610-640 may be implemented on one or more application servers, such as application servers 230. In some examples, not all of the illustrated processes may be performed in all embodiments of method 600. Additionally, one or more processes not expressly illustrated in Fig. 6 may be included before, after, in between, or as part of processes 610-640. In some embodiments, one or more processes 610-640 may be implemented, at least in part, in the form of executable code stored on non- transitory, tangible, computer readable media that when run by one or more processors (e.g., a processor of the media device) may cause the one or more processors to perform one or more of processes 610-640. In some examples, processes of method 600 may be executed subsequent to one or more steps described in the method 300, method 400, and / or method 500.

[0076] During a process 610, it may be determined that the first user device has arrived at a first listing location. In some examples, the first user device transmits a message including a notification, alert, update, text message, chime, and / or the like, once the first user device has arrived at the first listing location. In some examples, the message may be sent by a navigation application upon arriving at a destination. In some examples, the location data of the first user device may be monitored, and once the first user device location is within 10 meters of the listing location, it is determined that the first user device has arrived. In some examples, it may be determined that the first user device has arrived when one or more object detection sensors, such as object detection sensors discussed above with respect to Fig. 3, detect an object. In some examples, the one or more application servers can ping a parking sensor associated with the first listing location and request the last proximity measurement from a sensor memory. The one or more application servers can also ping the parking sensor to activate a proximity detector of the parking sensor and query the parking sensor for a real-time proximity measurement. In some examples, it may be determined that the first user device has arrived based on an input on the first user device.

[0077] During a process 620, location data and sensor data associated with a first user device are monitored. In some examples, monitoring may occur continuously, periodically, and / or at set location markers, including upon arrival at the first listing location. In some examples, process 620 may be performed concurrently with other steps in method 600.

[0078] During a process 630, departure of the first user device from the first listing location may be based on location data and sensor data. In some examples, the determination may be based on location data of the first user device being further than 10 meters from the first listing location. In some examples, the sensor data may include sensors of the first user device, or from sensors in connection with the first user device. In some examples, the first user device includes an accelerometer, an inertial unit, a gyroscope, a magnetometer, and / or the like. In some examples, the sensors in connection with the first user device are vehicle operation sensors, such as those described above with respect to Fig. 2. In some examples, it may be determined that the first user device departs based on detecting a sudden acceleration of the first user device, using the sensor data. In some examples, the determination may be based on a speed of the first user device being greater than a threshold, such as 3-10 meters per second based on the location data and / or sensor data. In some examples, the one or more application servers can ping a parking sensor associated with the first listing location and request the last proximity measurement from a sensor memory. The one or more application servers can also ping the parking sensor to activate a proximity detector of the parking sensor and query the parking sensor for a real-time proximity measurement.

[0079] In some embodiments, it may be determined that the first user device has not departed from the listing location. In some examples, when the first user device detects a sudden acceleration or is exceeding a threshold acceleration, within a threshold time, such as 5-15 minutes, it is not determined that the first user device has departed with the vehicle because it is likely that the first user device simply entered a second vehicle. In some embodiments, geofencing may be used to determine when the first user device is departing in a manner similar to process 330.

[0080] In some embodiments, departure of the first user device that indicates that a first listing location is available includes detecting a signal between the first user device and a network associated with a vehicle, such as a BLUETOOTH connection.

[0081] In some embodiments, departure of the first user device is determined based on an input from the user device. In some examples, a notification, alert, update, text message, chime, and / or the like is transmitted to the first user device in order to confirm departure.

[0082] During a process 640, data sets associated with a plurality of listing locations may be updated in a manner similar to process 350.

[0083] Some advantages of disclosed embodiments include faster processing, reduced traffic, and simplification of user experience. In some examples, method 600 is a method for enabling a computer to detect when a listing location is available-without requiring input from a user or a separate parking sensor. In some examples, a vehicle operator arrives at a parking location and has an application running on the smart device. Within five minutes, the vehicle operator may walk away, or use a ride sharing application to get a ride. In such case, the application, tracking sensor data and location data, would not determine that the vehicle operator has departed the parking location with the vehicle in which the vehicle operator arrived. At some later time, the vehicle operator may return to the parking space. The application may continue tracking the sensor data and location data, and determine that the vehicle operator has returned to the parking location. Upon detecting a sudden acceleration and / or velocity exceeding a threshold, the application on the smart device could notify application servers that the smart device and vehicle are departing the parking location. The smart device may be sent a confirmation message to confirm departure from the parking space. It is often that a vehicle operator may forget to manually indicate departure, and so this feature has the added benefit of saving the vehicle operator the hassle of remembering, and saving the user added parking costs. The application may require payment upon confirmation of selection of a parking location or upon arrival, until departure. In absence of an automatic detection of departure, a vehicle operator may be charged for additional time, even after departing, because of forgetting to indicate departure in the application. Additional advantages may also include expedited processing of parking availability, which further reduces congestion on the road.

[0084] Figure 7 is an exemplary augmented reality system 700, including media device 710 equipped with an augmented reality application. In some examples, media device 710 may correspond to one or more of computing devices 110, 140, 170, media device 210, and / or vehicle media device 220, and may include one or more sensors, such as sensors discussed above with respect to Fig. 2. In some examples, media device 710 is equipped with a location unit and a camera. The camera captures a real-time view in a first direction of media device 710 displays the real-time view on a media device display of media device 710, display 712, using a camera application. The location unit is used to determine media device 710's location, and the locational information is sent to a second application server. In some examples, the second application server is coupled to a database of listing locations. In some examples, media device 710 begins capturing images on a camera in a first direction and displays the images on display 712. An API of the second application may be integrated within the camera application, and display 712 displays a GUI of the camera view in a first direction of the camera overlaid with tags, images, videos, or other GUI objects in location areas corresponding to listing locations. In some examples, one listing location of the listing locations corresponds to first listing location 720. First listing location 720 is displayed on the display 712 as GUI object 702. In some examples, listing locations displayed may be filtered according to parameters including distance, an availability time, the type of listing location, a price associated with listing locations, dimensions of listing locations, an occupancy status, whether or not the listing location has an over-head cover, whether or not the listing location is an electric vehicle (EV) charging station, a user rating associated with the listing location, such as a one to five star rating, and / or the like and / or a combination thereof.

[0085] In some embodiments, a listing location may be selected by a first user device using media device 710. In some examples, by fixing a camera in a direction of first listing location 720, media device 710 may detect that GUI object 702 is in frame on display 712 for a threshold time, such as 1-10 seconds. In some examples, detecting that GUI object 702 is in frame requires centering the GUI object 702 in the center of display 712 for 1-10 seconds. In response to detecting GUI object 702 being in frame on display 712 for the threshold time, first listing location 720 may be selected by media device 710, and the selection may be transmitted by media device 710 to the application server. In some examples, in response to the selection, data sets associated with a plurality of listing locations may be updated in a manner similar to process 350. In some examples, the selection may launch a second GUI object that includes details about first listing location 720, including a distance from first listing location 720 from media device 710, an availability time of first listing location 720, the type of listing location associated with first listing location 720, a price associated with first listing location 720, dimensions associated with first listing location 720, an occupancy status of first listing location 720, an outline of a listing location area, whether or not first listing location 720 has an over-head cover, whether or not first listing location 720 is an electric vehicle (EV) charging station, a user rating associated with first listing location 720, such as a one to five star rating, and / or the like and / or a combination thereof In some examples, instead of a tag displayed on display 712, a 3-D image of a vehicle may be displayed. The 3-D image may correspond to the vehicle that may be in occupation or in future occupation of first listing location 720. In some examples, the 3-D image may be retrieved from a separate database of 3-D images corresponding to various types of vehicles, including sedans, trucks, SUV s, motorcycles, scooters, Segways, hover boards, drones, buses, golf carts, trains, trolleys, amusement vehicles, recreational vehicles, bicycles, boats, watercrafts, helicopters, airplanes, and / or the like, and / or various vehicle makes and models.

[0086] In some embodiments, and location data and sensor data of media device 710 may be monitored. In some examples, monitoring may occur continuously, periodically, and / or at set location markers. In some examples, when the augmented reality system 700 is activated, it may be determined based on the location and / or data that media device 710 is travelling faster than a threshold speed, such as 3-10 m / s, possibly corresponding with a moving vehicle. In some examples, based on the determination that media device 710 is travelling faster than the threshold speed, media device 710 may disable functionality of the camera of media device 710 as a safety feature. Display 712 may display a notification or alert that may be bypassed by receiving an input. In some examples, the input may indicate that a user of media device 710 is a passenger of a vehicle.

[0087] In some embodiments, an application that provides panoramic views from positions along geographic points, such as GOOGLE MAPS, GOOGLE EARTH, and / or the like, is integrated with the API of a second application that is coupled to a database of listing locations, and vice versa. The panoramic views may be overlaid with tags, images, videos, or other GUI objects in location areas corresponding to listing locations.

[0088] Some advantages of disclosed embodiments include enabling a user to view in 360 degrees available nearby listing locations. Without having to touch a screen, a user can simply aim and hold a user device in the direction of a listing location using the display with a GUI object corresponding to the listing location. The listing location may populate with further details, and request confirmation of selection. The user device then can book a parking space for the user and then launch a separate application, such as GOOGLE MAPS, to obtain directions to the parking space.

[0089] In some embodiments, the application server coupled to a database of listing locations may include a referral system, whereby a first user device with an application installed may refer a second user device to download the application using a unique referral code. In some examples, the second user device may be used to register one or more listing locations. In some examples, the first user device may earn a share of revenue earned by the second user device for rentals of the one or more listing locations, such as 5%-10%. In some examples, parking spaces that are not listed may be photographed using the AR system and the photographs may be sent to the application server. The application server may include a database of possible listing location candidates based on the photographs.

[0090] Figure 8 is an exemplary system 800 for presenting one or more listing locations on a map displayed on a media device, which may correspond to one or more of computing devices 110, 140, 170, media device 210, vehicle media device 220, and / or media device 710. In some examples, the media device may include one or more sensors, such as those sensors discussed above with respect to Fig. 2. In some examples, GUI 810 includes a map with a plurality of GUI objects that may be filtered based on preset information or data concerning listing locations previously requested by the first user device, such as a proximity to the physical location of the first user device, an availability time, a type of listing location, a price range for a listing location, dimensions of listing locations, whether or not the listing location has an over-head cover, whether or not the listing location is an electric vehicle (EV) charging station, a user rating associated with the listing location, such as a one to five star rating, information about any hazards, instructions for unlocking a gate or garage, such as a passcode or pattern, information about price and time, such as price per hour, price for various times during a day, price per day, price per week / month / year, and / or the like and / or a combination thereof.

[0091] In some embodiments, GUI 810 includes a map with GUI object 812, first listing location 814, and second listing locations 816. In some examples, GUI object 812 may be selected, and in response to the selection of GUI object 812, a list of items 820 is displayed, including one or more parameters by which the map of listing locations may be filtered. In some examples, an item from list of items 820 is selected and an input is entered into a field. In some examples selections are made via user input or automatically without user input. In response to the input, listing locations matching the selected parameters entered in one or more fields of list of items 820 may be determined. In response to the determination, listing locations within a map region are displayed on GUI 810. The map region may correspond with the current map frame, or may correspond with a certain radius from a current location of a media device included in system 800.

[0092] In some embodiments, an item from list of items 820 corresponding to price range is selected. A price range of $3-5 is entered into a field corresponding to the selected item. A plurality of listing locations displayed on the map is filtered according to the selected price range. In some examples, first listing location 814 has an associated price within the selected price range, and second listing locations 816 do not have an associated price within the selected price range. As a result, second listing locations 816 are not displayed on the map, and only first listing location 814 and other listing locations with associated prices within the selected price range are displayed on the map. Other parameters and scenarios for filtering listing locations that may be displayed on the media device of system 800 are within the scope of disclosed embodiments.

[0093] Figure 9 is another exemplary view 900 of an augmented reality system, which may correspond to augmented reality system 700, displayed on a media device. In some examples, the media device may correspond to one or more of computing devices 110, 140, 170, media device 210, vehicle media device 220, and / or media device 710, and may include one or more sensors, such as sensors discussed above with respect to Fig. 2. In some examples, view 900 includes a GUI of the camera view in a first direction of a camera of the media device, overlaid with images or videos illustrating the listing location, or other GUI objects in location areas corresponding to listing locations. In some examples, a plurality of listing locations are displayed as GUI objects, including first GUI object 910, GUI object 920, GUI object 930, GUI object 940, GUI object 950, and GUI object 960. In some examples, what GUI objects are displayed may be filtered based on preset information or data concerning listing locations previously requested by the media device, a proximity to the physical location of the media device, an availability time, a type of listing location, a price range for a listing location, information about any hazards, instructions for unlocking a gate or garage, such as a passcode or pattern, information about price and time, such as price per hour, price for various times during a day, price per day, price per week / month / year, dimensions of listing locations, whether or not the listing location has an over-head cover, whether or not the listing location is an electric vehicle (EV) charging station, a user rating associated with the listing location, such as one to five star rating, and / or the like and / or a combination thereof The GUI objects displayed may enable a user to see listing locations that would otherwise be obscured from view. In some examples, GUI object 960 is behind a building structure, such as a house.

[0094] In some embodiments, GUI objects may include a tags, images, videos, and details about respective listing locations, including information such as a proximity to the physical location of the media device, an availability time, a type of listing location, a price range for a listing location, dimensions of listing locations, whether or not the listing location has an overhead cover, whether or not the listing location is an electric vehicle (EV) charging station, a user rating associated with the listing location, and / or the like and / or a combination thereof. In some examples, GUI object 910 includes a location tag 912 corresponding to a physical location of a first listing location. In some examples, GUI object 910 includes a field with details 914 about the first listing location. In some examples, details 914 including a name of the first listing location, a distance of 100 feet, a user rating of three stars, and some notes about the listing location, including for instance whether a code or password is needed to park a vehicle at the listing location.

[0095] Some advantages of disclosed embodiments include enabling a user to view details about respective listing locations in a 360 view, creating a more efficient method of presenting listing locations that may be suitable for the user's needs. In some examples, the user drives an expensive vehicle, and is concerned about the vehicle's safety while it is parked. The user may utilize an application installed on a smart device, the application being coupled to a database of listing locations, including the augmented reality system 700 or 900. The user may use the application on the smart device to scan for parking spaces that are covered or are in a secure area and have a high user rating, and observe images or videos illustrating the listing location. The user may filter the search to populate the view with parking spaces that match the user's desired criteria, and select one that is desirable.

[0096] For purposes of this disclosure, a media device may include any instrumentality or aggregate of instrumentalities operable to compute, classify, process, transmit, receive, retrieve, originate, switch, store, display, manifest, detect, record, reproduce, handle, or utilize any form of information, intelligence, or data for business, scientific, control, entertainment, or other purposes. For example, a media device may be a personal computer, a portable digital assistant (PDA), a consumer electronic device, a display device or monitor, a smartphone, or any other suitable device and may vary in size, shape, performance, functionality, and price. The media device may include memory, one or more processing resources such as a central processing unit (CPU) or hardware or software control logic. Additional components of the media device may include one or more storage devices, one or more communications ports for communicating with external devices as well as various input and output <semantics>(1 / 0)<annotation encoding="application / x-tex">(1 / 0)< / annotation>< / semantics> devices, such as a keyboard, a mouse, a touchscreen, button inputs, a microphone, a motion sensor, and / or a video display.

[0097] Plural instances may be provided for components, operations or structures described herein as a single instance. Finally, boundaries between various components, operations, and data stores are somewhat arbitrary, and particular operations are illustrated in the context of specific illustrative configurations. Other allocations of functionality are envisioned and may fall within the scope of the implementation(s). In general, structures and functionality presented as separate components in the example configurations may be implemented as a combined structure or component. Similarly, structures and functionality presented as a single component may be implemented as separate components. These and other variations, modifications, additions, and improvements fall within the scope of the implementation(s).

[0098] It will also be understood that, although the terms "first," "second," etc. may be used herein to describe various elements, these elements should not be limited by these terms. These terms are only used to distinguish one element from another. For example, a first user device could be termed a second user device, and, similarly, a second user device could be termed a first user device, without changing the meaning of the description, so long as all occurrences of the "first user device" are renamed consistently and all occurrences of the "second user device" are renamed consistently. The first camera and the second camera are both user devices, but they are not the same user device.

[0099] The terminology used herein is for the purpose of describing particular implementations only and is not intended to be limiting of the claims. As used in the description of the implementations and the appended claims, the singular forms "a", "an" and "the" are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will also be understood that the term "and / or" as used herein refers to and encompasses any and all possible combinations of one or more of the associated listed items. It will be further understood that the terms "comprises" and / or "comprising," when used in this specification, specify the presence of stated features, integers, steps, operations, elements, and / or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and / or groups thereof.

[00100] As used herein, the term "if" may be construed to mean "when" or "upon" or "in response to determining" or "in accordance with a determination" or "in response to detecting," that a stated condition precedent is true, depending on the context. Similarly, the phrase "if it is determined (that a stated condition precedent is true)" or "if (a stated condition precedent is true)" or "when (a stated condition precedent is true)" may be construed to mean "upon determining" or "in response to determining" or "in accordance with a determination" or "upon detecting" or "in response to detecting" that the stated condition precedent is true, depending on the context.

[00101] The foregoing description included example systems, methods, techniques, instruction sequences, and computing machine program products that embody illustrative implementations. For purposes of explanation, numerous specific details were set forth in order to provide an understanding of various implementations of the inventive subject matter. It will be evident, however, to those skilled in the art that implementations of the inventive subject matter may be practiced without these specific details. In general, well-known instruction instances, protocols, structures and techniques have not been shown in detail.

[00102] The foregoing description, for purpose of explanation, has been described with reference to specific implementations. However, the illustrative discussions above are not intended to be exhaustive or to limit the implementations to the precise forms disclosed. Many modifications and variations are possible in view of the above teachings. The implementations were chosen and described in order to best explain the principles and their practical applications, to thereby enable others skilled in the art to best utilize the implementations and various implementations with various modifications as are suited to the particular use contemplated.

Claims

1. A system, comprising: a non-transitory memory; one or more processors coupled to the non-transitory memory and configured to execute instructions to perform operations comprising: monitoring sensor data and location data associated with a user device, the user device including one or more sensors; monitoring traffic data associated with a location of the user device based on the sensor data and location data; matching a user profile that comprises a plurality of factors to user data, wherein the user data includes the sensor data, the location data, historical user data, traffic data, and the location of the user device moving from higher order roads to lower order roads; when it is determined that a user-selectable message is to be provided to the user device based on the matching, providing the user-selectable messaged on the user device, the user-selectable message comprising a prompt configured to transmit a search request for a listing location of one or more listing locations; receiving the search request in response to the user-selectable message, the search request including search parameters associated with the one or more listing locations; and providing instructions causing a vehicle to autonomously move to the first listing location of the one or more listing locations.

2. The system of claim 1, wherein the user-selectable message includes a deep link.

3. The system of claim 2, wherein the deep link is configured to be activated by audio confirmation or touch of a display of the user device.

4. The system of claim 1, wherein the determination to provide the user selectable message on the user device is based on machine learning and artificial intelligence.

5. The system of claim 1, wherein the determination to provide the user-selectable message on the user device is further based on a frequency of the vehicle braking and a frequency of the vehicle turning.

6. The system of claim 1, wherein the determination to provide the user-selectable message on the user device is based on a plurality of factors, the plurality of factors being weighed based on a driver profile.

7. A computer-implemented method for determining when a vehicle operator is searching for a listing location, the method comprising: monitoring, using one or more processors coupled to a non-transitory memory, sensor data and location data associated with a user device, the user device including one or more sensors; monitoring traffic data associated with a location of the user device based on the sensor data and the location data; matching a user profile that comprises a plurality of factors to user data, wherein the user data includes the sensor data, the location data, historical user data, traffic data, and the location of the user device moving from higher order roads to lower order roads; when it is determined that a user-selectable message is to be provided on the user device based on the matching, providing the user-selectable message on the user device, the user- selectable message comprising a prompt configured to transmit a search request for a listing location of one or more listing locations; receiving the search request in response to the user-selectable message, the search request including search parameters associated with the one or more listing locations; and providing instructions causing a vehicle to autonomously move to the first listing location of the one or more listing locations.

8. The computer-implemented method of claim 7, wherein the user-selectable message includes a deep link.

9. The computer-implemented method of claim 8, wherein the deep link is configured to be activated by audio confirmation or touch of a display of the user device.

10. The computer-implemented method of claim 7, wherein the determination to provide the user-selectable message on the user device is further based on a frequency of the vehicle braking and a frequency of the vehicle turning.

11. The computer-implemented method of claim 7, wherein the determination to provide the user-selectable message on the user device is based on machine learning and artificial intelligence.

12. The computer-implemented method of claim 7, wherein the determination to provide the user-selectable message on the user device is further based on the user device is near one or more listing locations based on the location data of the user device.

13. The computer-implemented method of claim 7, wherein the user-selectable message provided to the user device is a notification, alert, update, text message, or chime.

14. The computer-implemented method of claim 7, wherein the determination to provide the user-selectable message on the user device is further based on a vehicle speed relative to an average traffic speed and a posted speed limit, the posted speed limit corresponding with a speed limit on a direction of travel of the user device.

15. A user device, comprising: a non-transitory memory; one or more processors coupled to the non-transitory memory and configured to execute instructions to perform operations comprising: monitoring sensor data and location data associated with the user device, the user device including one or more sensors; monitoring traffic data associated with a location of the user device based on the sensor data and the location data; matching a user profile that comprises a plurality of factors to user data, wherein the user data includes the sensor data, the location data, historical user data, traffic data, and the location of the user device moving from higher order roads to lower order roads; providing a user-selectable message on the user device based on the matching, the user-selectable message comprising a prompt configured to transmit a search request for a listing location of one or more listing locations; transmitting the search request in response to activation of the prompt, the search request including search parameters associated with the one or more listing locations; and generating instructions causing a vehicle to autonomously move to the first listing location of the one or more listing locations.

16. The user device of claim 15, wherein the user-selectable message includes a deep link.

17. The user device of claim 16, wherein the deep link is configured to be activated by audio confirmation or touch of a display of the user device.

18. The user device of claim 15, wherein the search parameters include one or more of a user rating, a price range, a time range, a type of listing location, and proximity of availability time to a current time.

19. The user device of claim 15, wherein providing the user-selectable message on the user device is further based on a frequency of the vehicle braking and a frequency of the vehicle turning.

20. The user device of claim 15, wherein providing the user-selectable message on the user device is further based on whether a weighted sum of factors associated with vehicular movement exceeds a threshold.

Citation Information

Patent Citations

  • Machine for cutting scores around ships' tackle blocks and dead eyes

    US8A

  • Modifying behavior of autonomous vehicle based on predicted behavior of other vehicles

    US9330571B2

  • Learning geofence models directly

    US9349104B2

  • Electronic device with wrap around display

    US9367095B2