US20160313136A1 - Identifying a parking location with respect to a destination - Google Patents
Identifying a parking location with respect to a destination Download PDFInfo
- Publication number
- US20160313136A1 US20160313136A1 US14/691,676 US201514691676A US2016313136A1 US 20160313136 A1 US20160313136 A1 US 20160313136A1 US 201514691676 A US201514691676 A US 201514691676A US 2016313136 A1 US2016313136 A1 US 2016313136A1
- Authority
- US
- United States
- Prior art keywords
- navigation path
- navigation
- weight factors
- computer
- street
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/26—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
- G01C21/34—Route searching; Route guidance
- G01C21/3407—Route searching; Route guidance specially adapted for specific applications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/26—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
- G01C21/34—Route searching; Route guidance
- G01C21/36—Input/output arrangements for on-board computers
- G01C21/3679—Retrieval, searching and output of POI information, e.g. hotels, restaurants, shops, filling stations, parking facilities
- G01C21/3685—Retrieval, searching and output of POI information, e.g. hotels, restaurants, shops, filling stations, parking facilities the POI's being parking facilities
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/26—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
- G01C21/34—Route searching; Route guidance
- G01C21/3453—Special cost functions, i.e. other than distance or default speed limit of road segments
- G01C21/3476—Special cost functions, i.e. other than distance or default speed limit of road segments using point of interest [POI] information, e.g. a route passing visible POIs
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/26—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
- G01C21/34—Route searching; Route guidance
- G01C21/36—Input/output arrangements for on-board computers
- G01C21/3605—Destination input or retrieval
-
- G—PHYSICS
- G08—SIGNALLING
- G08G—TRAFFIC CONTROL SYSTEMS
- G08G1/00—Traffic control systems for road vehicles
- G08G1/14—Traffic control systems for road vehicles indicating individual free spaces in parking areas
- G08G1/141—Traffic control systems for road vehicles indicating individual free spaces in parking areas with means giving the indication of available parking spaces
- G08G1/143—Traffic control systems for road vehicles indicating individual free spaces in parking areas with means giving the indication of available parking spaces inside the vehicles
Definitions
- the present invention relates generally to the field of navigation systems, and more particularly to locating parking with respect to a destination.
- Navigation systems are capable of including maps for display, determining a vehicle's location via sensors, maps, or information from external sources, providing suggested driving directions to a user of a vehicle via text or speech, providing information on nearby vehicles, hazards or obstacles, providing information on traffic conditions, and suggesting alternative driving directions.
- Navigation systems receive signals from satellites through a GPS antenna and identify the position and direction of the vehicle by combining the data from the satellites with information received from various onboard sensors (e.g., direction sensor, speed sensor, etc.). By accessing the map database, the navigation system displays the current position and direction of the vehicle on a visual output device (e.g., handheld, embedded console screen, etc.) by comparing the information in the GPS antenna and onboard sensors to the information in the map database. In order to reach a destination, a user initially enters data (e.g., address, point of interest, etc.) pertaining to the destination into the navigation system.
- data e.g., address, point of interest, etc.
- the navigation system Based on the current location, configurations and locations of nearby streets, connecting routes between streets, as well as attributes, such as one-way streets and intersections, are ascertained from the map database. After confirming the current location and the vicinity of the destination, the actual destination is located. The navigation system confirms and determines the route that connects those two locations and street connection status (e.g., intersections, left/right turn conditions, traffic conditions, street speeds, etc.). The navigation system may determine multiple possible routes from the current location to the destination but suggests an optimum route (e.g., fastest travel time, shortest distance, etc.). After the user confirms the route, the navigation system provides driving directions and displays the route. While driving directions continue, the navigation system also updates information on the display providing a real-time view of the map and the route on which the vehicle is driving.
- route e.g., intersections, left/right turn conditions, traffic conditions, street speeds, etc.
- the navigation system may determine multiple possible routes from the current location to the destination but suggests an optimum route (e.g.
- the method includes one or more processors identifying driving directions to a destination.
- the method further includes one or more computer processors receiving a navigation input from a user to locate parking associated with the destination.
- the method further includes one or more computer processors calculating one or more navigation paths based on the destination, wherein the one or more navigation paths include one or more street segments that connect identical starting and ending points with at least one different street segment and overall values indicating priority based on one or more weight factors associated with the one or more street segments.
- the method further includes one or more computer processors determining an ordered ranking of the one or more navigation paths based on the overall values of the one or more navigation paths.
- the method further includes one or more computer processors selecting a first navigation path from the calculated one or more navigation paths utilizing the ordered ranking of the one or more navigation paths.
- the method further includes one or more computer processors providing driving directions associated with the first navigation path.
- the method further includes one or more computer processors determining whether the user locates parking while utilizing the first navigation path.
- FIG. 1 is a functional block diagram illustrating a navigation system environment, in accordance with an embodiment of the present invention
- FIG. 2 is a flowchart depicting operational steps of a parking assistance circular planner program, inserted on a client device within the navigation system environment of FIG. 1 , a program for assisting in locating parking within the vicinity of a destination, in accordance with an embodiment of the present invention
- FIG. 3A depicts an example of a navigation device, displaying an optimum circular path to locate parking, in accordance with an embodiment of the present invention
- FIG. 3B depicts an example of a navigation device, displaying a second circular path to locate parking after application of promotions and penalizations to the optimum circular path, in accordance with an embodiment of the present invention
- FIG. 3C depicts an example of a navigation device, displaying a third circular path to locate parking after application of additional penalizations to the circular paths, in accordance with an embodiment of the present invention.
- FIG. 4 is a block diagram of components of the client device executing the parking assistance circular planner program, in accordance with an embodiment of the present invention.
- Navigation systems may be used to determine an optimum route to a destination and to then provide real time driving directions and updates to the route to a user while driving until reaching the destination.
- the navigation system may recalculate another route and return the user to the destination instead of aiding the user to locate parking.
- Embodiments of this invention determine and select an optimum circular path around the destination for the user to follow that assists in locating parking.
- embodiments of the invention allow for the user to incorporate street parking information into the navigation system regarding parking conditions in order to further aid in the selection of an optimum circular path that may be more likely to result in successfully locating parking.
- FIG. 1 is a functional block diagram illustrating a navigation system environment, generally designated 100 , in accordance with one embodiment of the present invention.
- FIG. 1 provides only an illustration of one embodiment and does not imply any limitations with regard to the environments in which different embodiments may be implemented.
- navigation system environment 100 includes client device 110 and server 120 interconnected over network 130 .
- navigation system environment 100 may only include client device 110 .
- navigation system environment 100 may include additional computing devices, mobile computing devices, servers, computers, storage devices, or other devices not shown.
- Client device 110 may be any electronic device or computing system capable of processing program instructions and receiving and sending data.
- client device 110 may be a laptop computer, a tablet computer, a netbook computer, a personal computer (PC), a desktop computer, a personal digital assistant (PDA), a smart phone, or any programmable electronic device capable of communicating with network 130 .
- client device 110 is representative of any electronic device or combination of electronic devices capable of executing machine readable program instructions as described in greater detail with regard to FIG. 4 , in accordance with embodiments of the present invention.
- Client device 110 contains user interface 112 , local navigation database 114 , circular path 116 , traversed circular path repository 118 , and parking assistance circular planner program 200 .
- User interface 112 is a program that provides an interface between a user of client device 110 and a plurality of applications that reside on client device 110 (e.g., parking assistance circular planner program 200 ) and/or may be accessed over network 130 .
- a user interface such as user interface 112 , refers to the information (e.g., graphic, text, sound) that a program presents to a user, and the control sequences the user employs to control the program.
- user interface 112 is a graphical user interface.
- GUI graphical user interface
- peripheral devices i.e., external computer hardware that provides input and output for a computing device, such as a keyboard and mouse
- GUIs are often performed through direct manipulation of the graphical elements.
- User interface 112 sends and receives information (e.g., street parking information, navigation driving directions, etc.) to and from parking assistance circular planner program 200 .
- Local navigation database 114 and navigation database 122 are databases that include the information a navigation system (e.g., parking assistance circular planner program 200 ) utilizes to determine circular paths (e.g., routes, interconnecting streets such as circular path 116 ) to reach a destination and to locate parking.
- Local navigation database 114 and navigation database 122 may include multiple databases, such as street network data (e.g., street configuration, connection conditions, attributes, etc.), background data (e.g., rivers, railroads, shores, etc.), site information (e.g., building names, addresses, structures, etc.), and voice data (e.g., voice guidance).
- local navigation database 114 and navigation database 122 are the same version (e.g., both include the most current navigation information).
- local navigation database 114 and navigation database 122 are not the same version (e.g., local navigation database 114 is a down-level version of navigation database 122 ).
- local navigation database 114 is a locally stored copy of navigation database 122 that resides on client device 110 for utilization.
- navigation database 122 is the version of the navigation system database from the navigation system provider that resides on server 120 , which may be downloadable by client device 110 .
- local navigation database 114 and navigation database 122 may reside on server 120 or client device 110 or on another server or computing device (not shown) connected over network 130 provided at least local navigation database 114 is accessible by parking assistance circular planner program 200 and local navigation database 114 may access navigation database 122 .
- Circular path 116 encompasses the driving directions and visuals aids (e.g., maps) associated with a preferred and/or selected driving route around the destination, which assists the user to locate parking (e.g., series of connected streets that start with and return to the destination, starting and ending points are the same).
- Circular path 116 is the output of parking assistance circular planner program 200 with weighting rules applied to the individual street segments that form circular path 116 that results in an optimum driving route (e.g., optimum driving route with respect to the weights of the individual street segments).
- circular path 116 may change with each subsequent pass by the original destination (i.e., when the user reaches the end of the current circular path 116 ).
- circular path 116 may change after a user enters street parking information through user interface 112 .
- circular path 116 resides on client device 110 .
- circular path 116 may reside on server 120 .
- circular path 116 may reside on another server or computing device (not shown) connected over network 130 , provided circular path 116 is accessible by parking assistance circular planner program 200 .
- Traversed circular path repository 118 is a collection of previous iterations of circular path 116 already traversed that did not result in locating parking. Traversed circular path repository 118 stores the driving directions (e.g., streets, turns, etc.) associated with previous iterations of circular path 116 for future use in order to aid parking assistance circular planner program 200 in selecting a new iteration of circular path 116 (e.g., limits the probability of repeating the same iteration of circular path 116 when other untraversed options are available). In the depicted embodiment, traversed circular path repository 118 resides on client device 110 . In another embodiment, traversed circular path repository 118 may reside on server 120 . In some other embodiment, traversed circular path repository 118 may reside on another server or computing device (not shown) connected over network 130 provided traversed circular path repository 118 is accessible by parking assistance circular planner program 200 .
- driving directions e.g., streets, turns, etc.
- Server 120 may be a management server, a web server, or any other electronic device or computing system capable of receiving and sending data.
- server 120 may be a laptop computer, a tablet computer, a netbook computer, a personal computer (PC), a desktop computer, a personal digital assistant (PDA), a smart phone, or any programmable device capable of communication with client device 110 over network 130 .
- server 120 may represent a server computing system utilizing multiple computers as a server system, such as in a cloud computing environment.
- Server 120 contains navigation database 122 .
- Network 130 may be a local area network (LAN), a wide area network (WAN), such as the Internet, a wireless local area network (WLAN), any combination thereof, or any combination of connections and protocols that will support communications between client device 110 , server 120 , and other computing devices and servers (not shown), in accordance with embodiments of the inventions.
- Network 130 may include wired, wireless, or fiber optic connections.
- Parking assistance circular planner program 200 is a navigation system program and/or navigation system enhancement that assists the user in locating parking around a selected destination by providing text and/or vocalized driving directions utilizing interconnecting streets that form a loop around the destination referred to as circular path 116 .
- Parking assistance circular planner program 200 utilizes weight factors, weighting rules, user input, and traversed circular path repository 118 in conjunction with existing navigation route planning algorithms to create multiple variations of circular paths. Parking assistance circular planner program 200 then selects an initial best circular path for the user to traverse (e.g., shortest mileage, shortest travel time, highest probability of locating parking, etc.).
- parking assistance circular planner program 200 resides on client device 110 .
- parking assistance circular planner program 200 may reside on server 120 .
- parking assistance circular planner program 200 may reside on another server or computing device (not shown) connected over network 130 provided parking assistance circular planner program 200 has access to local navigation database 114 , circular path 116 , and traversed circular path repository 118 .
- FIG. 2 is a flowchart depicting operational steps of parking assistance circular planner program 200 , a program for assisting in locating parking within the vicinity of a destination, in accordance with an embodiment of the present invention.
- the user of client device 110 Prior to utilizing parking assistance circular planner program 200 , the user of client device 110 , through user interface 112 , enters initial information regarding at least a start and destination for which the navigation system incorporating parking assistance circular planner program 200 utilizes to plan a route. The user, through user interface 112 , then initiates navigation to the destination (e.g., receives driving directions to reach the destination).
- parking assistance circular planner program 200 receives activation of the feature to find parking.
- parking assistance circular planner program 200 receives activation of the feature to find parking once the user reaches the destination (e.g., user visually identifies the destination, no further driving instructions are available, etc.).
- parking assistance circular planner program 200 activates in response to the user of client device 110 through user interface 112 depressing a physical and/or virtual button (e.g., hardwired through electrical circuitry and software, virtual touchscreen symbol, menu selection, etc.) that links to an option to activate a find parking option.
- parking assistance circular planner program 200 activates in response to a vocal command from the user through a microphone of client device 110 .
- parking assistance circular planner program 200 activates when parking assistance circular planner program 200 determines client device 110 , via the GPS, is within a predetermined vicinity of the destination (e.g., set distance, last direction step, one street prior to destination, etc.). For example, when the user creates the initial request for navigation to a destination, the user also selects an option to activate the find parking mode when within a two-tenths of a mile of the destination.
- a predetermined vicinity of the destination e.g., set distance, last direction step, one street prior to destination, etc.
- parking assistance circular planner program 200 creates circular paths and determines the initial best circular path (e.g., circular path 116 ).
- parking assistance circular planner program 200 calculates route information (e.g., time, distance, etc.) associated with individual segments (e.g., encompasses driving directions, time, distance, associated with individual steps) utilizing existing navigation system route planning algorithms and local navigation database 114 .
- route information e.g., time, distance, etc.
- parking assistance circular planner program 200 incorporates information from a traffic monitoring system into the existing navigation algorithms that may alter the ordered ranking of the circular paths.
- parking assistance circular planner program 200 may apply weight factors from a previous successful version of circular path 116 (e.g., parking was located before) and may alter the ordered ranking of the circular paths.
- Weight factors include promotions (e.g., standard promotion, strong promotion) to reduce and/or modify the weight factor and penalizations (e.g., standard penalizations, strong penalizations) to increase and/or modify the weight factor.
- Standard promotions and penalizations e.g., defaults without supporting data
- strong promotions and penalizations are of a lesser magnitude (e.g., reduced predefined percentage, predefined overall reduction) than strong promotions and penalizations (e.g., default with supporting data, increased predefined percentage, predefined overall increase).
- Parking assistance circular planner program 200 via the GPS navigation software, identifies the start and destination associated with circular path 116 . Parking assistance circular planner program 200 then searches traversed circular path repository 118 for a successful circular path associated with the destination (e.g., available parking location was found previously along a circular path and stored) and retrieves weight factors. Parking assistance circular planner program 200 then incorporates the associated weight factors into the existing navigation algorithms, which may alter the ordered ranking of the circular paths (e.g., circular path 116 where parking was located previously may become the highest rank).
- Parking assistance circular planner program 200 then compiles the individual segments and creates one or more circular paths that include associated overall route values (e.g., total time to destination and total distance).
- FIG. 3A depicts potential circular paths 300 (e.g., circular path 302 selected)
- FIG. 3B depicts potential circular paths 325 (e.g., circular path 304 selected)
- FIG. 3C depicts potential circular paths 350 (e.g., circular path 306 selected).
- Parking assistance circular planner program 200 depicts the destination as destination S 308 (e.g., star symbol, thumb tack, conversation bubble, etc.), and the intersection of the streets as symbols A 310 , B 312 , C 314 , D 316 , E 318 , and F 320 (e.g., circles, triangles, etc.). Parking assistance circular planner program 200 then creates three circular paths, circular path 302 , circular path 304 , and circular path 306 that result in complete loops (ordered ranking from highest to lowest priority).
- destination S 308 e.g., star symbol, thumb tack, conversation bubble, etc.
- F 320 e.g., circles, triangles, etc.
- Parking assistance circular planner program 200 depicts circular path 302 as a series of interconnecting lines (e.g., connects individual segments) going from destination S 308 to A 310 to B 312 to D 316 to E 318 and then returns to destination S 308 .
- Parking assistance circular planner program 200 depicts circular path 304 as a series of interconnecting lines going from destination S 308 to E 318 to D 316 to C 314 to B 312 to A 310 and then returns to destination S 308 .
- Parking assistance circular planner program 200 depicts circular path 306 as a series of interconnecting lines going from destination S 308 to A 310 to F 320 to E 318 and then returns to destination S 308 .
- Parking assistance circular planner program 200 determines an ordered ranking of the potential circular paths from the existing navigation system route planning algorithms and user inputs. Parking assistance circular planner program 200 then determines the best circular path 116 from the available circular paths. In one embodiment, parking assistance circular planner program 200 automatically selects the best circular path 116 to be the first entry within the ordered ranking. In another embodiment, parking assistance circular planner program 200 receives a selection of the best circular path 116 from the user through user interface 112 (e.g., user may select a different circular path 116 than the highest ranked from the ordered ranking). As depicted in example FIG. 3A , parking assistance circular planner program 200 automatically selects circular path 302 to be circular path 116 (e.g., depicted by the dashed lines in FIG. 3A ) representing the shortest travel time relative to reaching destination S 308 of the three available circular paths.
- circular path 302 e.g., depicted by the dashed lines in FIG. 3A
- parking assistance circular planner program 200 provides driving directions associated with current circular path (e.g., voice commands and/or animated visual display). For example, in FIG. 3A , parking assistance circular planner program 200 provides driving directions corresponding to the visual output as identified by the arrows and dashed lines for circular path 302 on client device 110 . Parking assistance circular planner program 200 continues to provide driving directions associated with the current circular path 116 until the user enters input through user interface 112 indicating driving directions are no longer necessary (e.g., user locates parking, user exits navigation and/or find parking mode, etc.).
- parking assistance circular planner program 200 determines whether the user locates parking. Parking assistance circular planner program 200 monitors client device 110 for receipt of user inputs through user interface 112 . After receipt of a user input, parking assistance circular planner program 200 processes the user input based on type (e.g., parked, street parking information, new route, cancel, etc.), and performs associated tasks. In one embodiment, parking assistance circular planner program 200 receives user input through user interface 112 in response to a physical interaction with client device 110 (e.g., hardwired button, virtual button and/or symbol on a screen, combination of a bezel button with virtual text) confirming that parking has been located.
- client device 110 e.g., hardwired button, virtual button and/or symbol on a screen, combination of a bezel button with virtual text
- parking assistance circular planner program 200 receives a voice command (e.g., user vocalizes a predetermined phrase of “parking located,” “vehicle parked,” etc.) through the microphone of client device 110 .
- parking assistance circular planner program 200 may determine the user locates parking when client device 110 is placed in park (e.g., embedded navigation system within a vehicle receives input from sensors and/or the computer of the vehicle).
- parking assistance circular planner program 200 may register the user located parking when client device 110 is turned off (e.g., system automatically stores last known position).
- parking assistance circular planner program 200 may not receive input regarding parking (e.g., receives no input, receives other input not related to parking).
- parking assistance circular planner program 200 determines the user locates parking (decision 208 , yes branch), then parking assistance circular planner program 200 stores the weight factors for the current circular path 116 associated with parking (step 210 ). If parking assistance circular planner program 200 determines the user does not locate parking (decision 208 , no branch), then parking assistance circular planner program 200 determines whether the user enters street parking information (decision 212 ).
- parking assistance circular planner program 200 stores the weight factors for the current circular path associated with parking in local navigation database 114 and/or traversed circular path repository 118 .
- parking assistance circular planner program 200 may also store the weight factors for the current circular path 116 associated with parking within navigation database 122 (e.g., uploads information).
- Parking assistance circular planner program 200 applies a promotion to the weight factors associated with the individual segments of circular path 116 associated with finding parking (e.g., reduces original weight factors, incorporates additional reductions to previous promotions and penalizations).
- Parking assistance circular planner program 200 stores the successful iteration of circular path 116 and associated weight factors for future use.
- parking assistance circular planner program 200 retrieves weight factors from local navigation database 114 and applies stored weight factors to the potential circular paths (e.g., applies weight factors to individual segments associated with the successful iteration of circular path 116 identified within local navigation database 114 with available parking).
- the best circular path may correspond exactly to the stored iteration of circular path 116 due to the application of the stored weight factors, and parking assistance circular planner program 200 first directs the user to the last known location of parking.
- the best circular path 116 corresponds to a revised optimal circular path 116 that utilizes different streets to return the user to the same parking location first by combining the reduced weight factors with existing navigations algorithms and traffic information.
- parking assistance circular planner program 200 determines whether the user enters feedback through user interface 112 (e.g., street parking information, exit navigation, found parking, etc.). Street parking information includes at least two categories: strong promotion and strong penalization. Strong promotion street parking information indicates the user determines a positive assessment regarding the potential to locate parking on an individual street segment within circular path 116 (e.g., free parking, high availability, etc.). Strong penalization street parking information indicates the user determines a negative assessment regarding the potential to locate parking on an individual street segment within circular path 116 (e.g., no parking, time limit, permit only, time constraint, metered, low volume of parking spaces, seasonal, etc.).
- strong promotion street parking information indicates the user determines a positive assessment regarding the potential to locate parking on an individual street segment within circular path 116 (e.g., free parking, high availability, etc.).
- Strong penalization street parking information indicates the user determines a negative assessment regarding the potential to locate parking on an individual street segment within circular path 116 (e.g., no parking, time limit
- Parking assistance circular planner program 200 continues to monitor client device 110 for a user input (e.g., voice command, button selection, etc.) selecting an option to enter street parking information. Once parking assistance circular planner program 200 receives a selection to enter street parking information, parking assistance circular planner program 200 provides the user with prompts for additional information (e.g., voice commands, menu selections, etc.).
- a user input e.g., voice command, button selection, etc.
- parking assistance circular planner program 200 provides the user with prompts for additional information (e.g., voice commands, menu selections, etc.).
- parking assistance circular planner program 200 provides a list of available street information options (e.g., includes both strong promotions and strong penalizations). In another embodiment, parking assistance circular planner program 200 may provide the main two categories (e.g., strong promotion and strong penalization). In response to a selection from the user through user interface 112 , parking assistance circular planner program 200 displays available options associated with the selected main category (e.g., displays only strong promotions, displays only strong penalizations). In some other embodiment, parking assistance circular planner program 200 provides a reduced list (e.g., commonly utilized, previous four entries, etc.) of strong promotions and strong penalizations (e.g., free parking, high availability, no parking, limited availability) with an option to access additional strong promotion and/or strong penalization options.
- a reduced list e.g., commonly utilized, previous four entries, etc.
- parking assistance circular planner program 200 may additionally provide a list of conditional street information options (e.g., time constraint, limited time parking, seasonal, etc.), which the user identifies after selecting the specific conditional street information option as either a strong promotion or strong penalization and may enter additional specific constraint conditions to store for later use. For example, the user may locate a sign indicating parking is prohibited from 12 pm to 5 pm. As the current time is 7 pm, the sign does not apply, and the user selects a strong promotion instead of a strong penalization and enters the time constraints. By entering the time constraints, parking assistance circular planner program 200 saves the conditions for use later (e.g., utilizes an internal clock with the constraints to determine promotion or penalization when later revisiting the location).
- conditional street information options e.g., time constraint, limited time parking, seasonal, etc.
- parking assistance circular planner program 200 determines the user enters feedback (decision 212 , yes branch), then parking assistance circular planner program 200 updates the weight factors (step 214 ). If parking assistance circular planner program 200 determines the user did not enter feedback (decision 212 , no branch), then parking assistance circular planner program 200 determines whether client device 110 reaches the end of the current circular path (decision 216 ).
- parking assistance circular planner program 200 updates the weight factors.
- Parking assistance circular planner program 200 accesses local navigation database 114 and updates the weight factors utilized by the GPS algorithms depending on the category (e.g., strong promotion, strong penalization) of the street information.
- category e.g., strong promotion, strong penalization
- parking assistance circular planner program 200 assigns greater reductions to strong promotions and greater increases to strong penalizations (user may verify and/or enter new information otherwise not known and/or available to parking assistance circular planner program 200 ).
- Parking assistance circular planner program 200 applies the appropriate weight factor (e.g., percentage, average, integer value) for the associated individual segment within circular path 116 (e.g., portion of circular path 116 associated with user input).
- Parking assistance circular planner program 200 reduces the weight associated with the street connecting D 316 and E 318 , increases the weight associated with the street connecting B 312 and D 316 , and currently does not change weight factors associated with destination S 308 to A 310 , A 310 to B 312 , and E 318 to destination S 308 as the route is not yet complete.
- parking assistance circular planner program 200 determines whether client device 110 reaches the end of the current circular path without finding parking (e.g., parking input may occur at any time). Parking assistance circular planner program 200 receives updates to information associated with client device 110 (e.g., location changes, distance traveled, current speed, estimated time of arrival at destination, etc.) via the GPS satellites with respect to circular path 116 . At the end of circular path 116 , parking assistance circular planner program 200 , based on the GPS information, determines the location of client device 110 to be the same as the destination (e.g., destination S 308 ) associated with circular path 116 (e.g., circular path 302 ).
- the destination e.g., destination S 308
- parking assistance circular planner program 200 determines client device 110 reaches the end of circular path 116 .
- parking assistance circular planner program 200 determines client device 110 has not reached the end of circular path 116 (e.g., GPS location corresponds to another location on circular path 116 other than the destination, estimated time of arrival is greater than zero, etc.).
- parking assistance circular planner program 200 determines client device 110 reaches the end of current circular path 116 (decision 216 , yes branch), then parking assistance circular planner program 200 stores current circular path 116 in traversed circular path repository 118 (step 218 ). If parking assistance circular planner program 200 determines client device 110 does not reach the end of current circular path 116 (decision 216 , no branch), then parking assistance circular planner program 200 continues to provide driving directions associated with current circular path 116 (step 206 ).
- parking assistance circular planner program 200 stores current circular path 116 in traversed circular path repository 118 .
- Parking assistance circular planner program 200 stores the current circular path 116 with previously traversed versions of circular path 116 associated with destination S 308 , which also did not result in locating parking for future use.
- parking assistance circular planner program 200 applies weight rules to current circular path 116 (e.g., penalizations to the individual street segments of current circular path 116 ).
- Parking assistance circular planner program 200 may also incorporate the individual street segments within additional circular paths that share the same individual street segments. For example, in FIG. 3A and FIG. 3B , the individual street segments connecting destination S 308 to A 310 , A 310 to B 312 , D 316 to E 318 , and E 318 to destination S 308 are included in circular path 302 and in circular path 304 (reversed order in circular path 304 ).
- parking assistance circular planner program 200 applies penalizations to the individual street segments within circular path 302 , the penalizations associated with the individual street segments connecting destination S 308 to A 310 , A 310 to B 312 , D 316 to E 318 , and E 318 to destination S 308 included within circular path 304 also update. However, the individual street segments connecting D 316 to C 314 and C 314 to B 312 within circular path 304 remain unchanged (i.e., individual street segments are not part of another circular path).
- parking assistance circular planner program 200 applies the standard penalization to the individual street segments included within circular path 116 (e.g., parking was not located and receives no user input). For example, in FIG. 3A , parking assistance circular planner program 200 applies a standard penalization to each of the individual segments that comprise circular path 302 .
- parking assistance circular planner program 200 applies an additional standard penalization on top of existing strong promotions and strong penalizations previously entered by the user (step 214 ).
- the individual segment between D 316 and E 318 includes a strong promotion for free parking
- the individual segment between B 312 and D 316 includes a strong penalization for no parking anytime.
- parking assistance circular planner program 200 applies to all of the individual segments of circular path 302
- parking assistance circular planner program 200 also applies the strong promotion and strong penalization associated with the two identified segments (e.g., reduces the amount of the strong promotion associated with the individual segment between D 316 and E 318 and creates a greater penalization associated with the segment between B 312 and D 316 ).
- Parking assistance circular planner program 200 also updates the overall value of circular path 304 which includes individual segments between destination S 308 to A 310 , A 310 to B 312 , D 316 and E 318 , and E 318 to destination S 308 .
- parking assistance circular planner program 200 compounds multiple standard penalizations when circular path 116 is not new (e.g., adds additional penalizations to existing standard and/or strong promotions and/or penalizations). For example, a user did not find parking while traveling on circular path 302 depicted in FIG. 3A or circular path 304 depicted in FIG. 3B , but even with applied weight penalizations, parking assistance circular planner program 200 reselects circular path 302 over circular path 306 for the next circular path 116 . Parking assistance circular planner program 200 , therefore, adds an additional standard penalization thereby compounding the penalizations and partially negating existing promotions for both circular path 302 and circular path 304 . The ranking of circular path 302 and circular path 304 may then drop to a lower position (e.g., no longer occupy the top ranking positions), and thus allows parking assistance circular planner program 200 to then select circular path 306 as depicted in FIG. 3C .
- the ranking of circular path 302 and circular path 304 may then drop to a lower position
- parking assistance circular planner program 200 recalculates circular paths and determines a suggested circular path.
- Parking assistance circular planner program 200 accesses local navigation database 114 and additionally applies the updated weight factors, thus incorporating promotions and penalizations to the existing navigation system route planning algorithms to create multiple potential circular paths.
- Parking assistance circular planner program 200 may also incorporate additional promotions and penalizations based on information from a traffic monitoring system into the existing navigation algorithms. For example, rush hour traffic results in congestion and travel time on circular path 116 increases, therefore, parking assistance circular planner program 200 applies an additional penalization increasing the weight for the individual segment associated with the traffic slow down.
- an alternate side street indicates increased speed (e.g., a faster travel time), and parking assistance circular planner program 200 applies an additional promotion. Another side street shows a steady flow of traffic, the travel time is constant, and parking assistance circular planner program 200 does not apply either a promotion or penalization.
- parking assistance circular planner program 200 organizes the circular paths in an ordered ranking (e.g., ranked highest to lowest, with highest being the first suggested circular path followed by the second suggested circular path, etc.). Parking assistance circular planner program 200 then selects the first of the suggested circular paths in the ordered ranking as a suggested iteration of circular path 116 .
- circular path 302 did not result in parking, and after application of the standard penalization, strong promotion (e.g., free parking), and strong penalization (no parking anytime), parking assistance circular planner program 200 now selects circular path 304 as depicted in FIG. 3B .
- parking assistance circular planner program 200 may reverse the driving directions due to the strong promotion (revisits individual segments between E 318 and D 316 earlier) as depicted by the dashed line and counter clockwise arrows.
- parking assistance circular planner program 200 determines whether suggested circular path 116 exceeds the maximum value.
- maximum values are predefined by parking assistance circular planner program 200 .
- parking assistance circular planner program 200 receives maximum values from the user through user interface 112 at initiation. Maximum values may be identified for multiple criteria, such as a maximum radius for the destination (e.g., half mile), maximum travel time (e.g., fifteen minutes), and maximum penalization (e.g., four times the original weight).
- parking assistance circular planner program 200 includes a single maximum value condition (e.g., maximum penalization).
- parking assistance circular planner program 200 includes multiple maximum value conditions (e.g., distance, time, or penalization).
- Parking assistance circular planner program 200 compares the calculated values (e.g., distance, time) and/or stored weight factors (e.g., penalizations) associated with suggested circular path 116 to the predefined maximum values and determines whether the maximum value has been met and/or exceeded.
- calculated values e.g., distance, time
- stored weight factors e.g., penalizations
- parking assistance circular planner program 200 determines suggested circular path 116 exceeds the maximum value (decision 224 , yes branch), then parking assistance circular planner program 200 resets the weight factors and clears traversed circular path repository 118 (step 226 ). If parking assistance circular planner program 200 determines suggested circular path 116 does not exceed the maximum value (decision 224 , no branch), then parking assistance circular planner program 200 determines whether suggested circular path 116 is new (decision 228 ).
- parking assistance circular planner program 200 resets the weight factors and clears traversed circular path repository 118 .
- parking assistance circular planner program 200 resets the weight factors associated with the individual segments of circular path 116 to the original settings (e.g., removes promotions and penalizations) within local navigation database 114 .
- parking assistance circular planner program 200 resets the weight factors but maintains strong promotions and strong penalizations regarding user input street parking information (e.g., only removes standard penalizations and promotions).
- Parking assistance circular planner program 200 removes previous stored versions of circular paths from traversed circular path repository 118 . By removing the previous stored versions of circular paths from traversed circular path repository 118 , in subsequent iterations, parking assistance circular planner program 200 identifies circular path 116 as a new circular path available for selection for a user to traverse again.
- parking assistance circular planner program 200 determines whether the suggested circular path is new. Parking assistance circular planner program 200 searches the stored circular paths within traversed circular path repository 118 for a match with the suggested circular path with (e.g., identical individual street segments with identical destination). If parking assistance circular planner program 200 determines the suggested circular path is new (decision 228 , yes branch), then parking assistance circular planner program 200 updates the suggested circular path to be the current circular path (step 230 ). If parking assistance circular planner program 200 determines suggested circular path 116 is not new (decision 228 , no branch), then parking assistance circular planner program 200 applies weight rules to current circular path 116 (step 220 ).
- parking assistance circular planner program 200 updates the suggested circular path to be the current circular path (e.g., circular path 116 ). Parking assistance circular planner program 200 then provides driving directions associated with current circular path 116 (step 206 ).
- FIG. 4 depicts a block diagram of components of navigation system environment 400 , in accordance with an illustrative embodiment of the present invention. It should be appreciated that FIG. 4 provides only an illustration of one implementation and does not imply any limitations with regard to the environments in which different embodiments may be implemented. Many modifications to the depicted environment may be made.
- Navigation system environment 400 includes communications fabric 402 , which provides communications between computer processor(s) 404 , memory 406 , persistent storage 408 , communications unit 410 , and input/output (I/O) interface(s) 412 .
- Communications fabric 402 can be implemented with any architecture designed for passing data and/or control information between processors (such as microprocessors, communications and network processors, etc.), system memory, peripheral devices, and any other hardware components within a system.
- processors such as microprocessors, communications and network processors, etc.
- Communications fabric 402 can be implemented with one or more buses.
- Memory 406 and persistent storage 408 are computer readable storage media.
- memory 406 includes random access memory (RAM) 414 and cache memory 416 .
- RAM random access memory
- cache memory 416 In general, memory 406 can include any suitable volatile or non-volatile computer readable storage media.
- persistent storage 408 includes a magnetic hard disk drive.
- persistent storage 408 can include a solid state hard drive, a semiconductor storage device, a read-only memory (ROM), an erasable programmable read-only memory (EPROM), a flash memory, or any other computer readable storage media that is capable of storing program instructions or digital information.
- the media used by persistent storage 408 may also be removable.
- a removable hard drive may be used for persistent storage 408 .
- Other examples include optical and magnetic disks, thumb drives, and smart cards that are inserted into a drive for transfer onto another computer readable storage medium that is also part of persistent storage 408 .
- Communications unit 410 in these examples, provides for communications with other data processing systems or devices, including resources of enterprise grid and client devices.
- communications unit 410 includes one or more network interface cards.
- Communications unit 410 may provide communications through the use of either or both physical and wireless communications links.
- User interface 112 , local navigation database 114 , circular path 116 , traversed circular path repository 118 , navigation database 122 , and parking assistance circular planner program 200 may be downloaded to persistent storage 408 through communications unit 410 .
- I/O interface(s) 412 allows for input and output of data with other devices that may be connected to navigation system environment 400 .
- I/O interface(s) 412 may provide a connection to external device(s) 418 , such as a keyboard, a keypad, a touch screen, and/or some other suitable input device.
- external device(s) 418 can also include portable computer readable storage media such as, for example, thumb drives, portable optical or magnetic disks, and memory cards.
- Software and data used to practice embodiments of the present invention can be stored on such portable computer readable storage media and can be loaded onto persistent storage 408 via I/O interface(s) 412 .
- I/O interface(s) 412 also connect to a display 420 .
- Display 420 provides a mechanism to display data to a user and may be, for example, a computer monitor.
- the present invention may be a system, a method, and/or a computer program product.
- the computer program product may include a computer readable storage medium (or media) having computer readable program instructions thereon for causing a processor to carry out aspects of the present invention.
- the computer readable storage medium can be a tangible device that can retain and store instructions for use by an instruction execution device.
- the computer readable storage medium may be, for example, but is not limited to, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination of the foregoing.
- a non-exhaustive list of more specific examples of the computer readable storage medium includes the following: a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), a static random access memory (SRAM), a portable compact disc read-only memory (CD-ROM), a digital versatile disk (DVD), a memory stick, a floppy disk, a mechanically encoded device such as punch-cards or raised structures in a groove having instructions recorded thereon, and any suitable combination of the foregoing.
- RAM random access memory
- ROM read-only memory
- EPROM or Flash memory erasable programmable read-only memory
- SRAM static random access memory
- CD-ROM compact disc read-only memory
- DVD digital versatile disk
- memory stick a floppy disk
- a mechanically encoded device such as punch-cards or raised structures in a groove having instructions recorded thereon
- a computer readable storage medium is not to be construed as being transitory signals per se, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through a waveguide or other transmission media (e.g., light pulses passing through a fiber-optic cable), or electrical signals transmitted through a wire.
- Computer readable program instructions described herein can be downloaded to respective computing/processing devices from a computer readable storage medium or to an external computer or external storage device via a network, for example, the Internet, a local area network, a wide area network and/or a wireless network.
- the network may comprise copper transmission cables, optical transmission fibers, wireless transmission, routers, firewalls, switches, gateway computers and/or edge servers.
- a network adapter card or network interface in each computing/processing device receives computer readable program instructions from the network and forwards the computer readable program instructions for storage in a computer readable storage medium within the respective computing/processing device.
- Computer readable program instructions for carrying out operations of the present invention may be assembler instructions, instruction-set-architecture (ISA) instructions, machine instructions, machine dependent instructions, microcode, firmware instructions, state-setting data, or either source code or object code written in any combination of one or more programming languages, including an object oriented programming language such as Smalltalk, C++ or the like, and conventional procedural programming languages, such as the “C” programming language or similar programming languages.
- the computer readable program instructions may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server.
- the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider).
- electronic circuitry including, for example, programmable logic circuitry, field-programmable gate arrays (FPGA), or programmable logic arrays (PLA) may execute the computer readable program instructions by utilizing state information of the computer readable program instructions to personalize the electronic circuitry, in order to perform aspects of the present invention.
- These computer readable program instructions may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.
- These computer readable program instructions may also be stored in a computer readable storage medium that can direct a computer, a programmable data processing apparatus, and/or other devices to function in a particular manner, such that the computer readable storage medium having instructions stored therein comprises an article of manufacture including instructions which implement aspects of the function/act specified in the flowchart and/or block diagram block or blocks.
- the computer readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other device to cause a series of operational steps to be performed on the computer, other programmable apparatus or other device to produce a computer implemented process, such that the instructions which execute on the computer, other programmable apparatus, or other device implement the functions/acts specified in the flowchart and/or block diagram block or blocks.
- each block in the flowchart or block diagrams may represent a module, segment, or portion of instructions, which comprises one or more executable instructions for implementing the specified logical function(s).
- the functions noted in the block may occur out of the order noted in the figures.
- two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved.
Landscapes
- Engineering & Computer Science (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Navigation (AREA)
Abstract
Description
- The present invention relates generally to the field of navigation systems, and more particularly to locating parking with respect to a destination.
- Through technological advancements, the preferred manner in which individuals navigate to a destination has evolved. Initially individuals navigated to a destination by following routes by viewing a map (e.g., paper map or road atlas an individual interpreted to reach a destination), or by utilizing computer mapping programs (e.g., customized route to a destination that includes a tailored map with step by step printed instructions). However, with the development of global positioning systems (GPS) and portable navigation systems, individuals are able to receive electronic maps with turn-by-turn guidance enhanced with voice instructions that update and occur real time until reaching the destination. Navigation systems may be embedded or portable, and combine positioning capabilities (e.g., GPS) and navigation function in order to monitor and control the movement of a vehicle from one location to another. Navigation systems are capable of including maps for display, determining a vehicle's location via sensors, maps, or information from external sources, providing suggested driving directions to a user of a vehicle via text or speech, providing information on nearby vehicles, hazards or obstacles, providing information on traffic conditions, and suggesting alternative driving directions.
- Navigation systems receive signals from satellites through a GPS antenna and identify the position and direction of the vehicle by combining the data from the satellites with information received from various onboard sensors (e.g., direction sensor, speed sensor, etc.). By accessing the map database, the navigation system displays the current position and direction of the vehicle on a visual output device (e.g., handheld, embedded console screen, etc.) by comparing the information in the GPS antenna and onboard sensors to the information in the map database. In order to reach a destination, a user initially enters data (e.g., address, point of interest, etc.) pertaining to the destination into the navigation system. Based on the current location, configurations and locations of nearby streets, connecting routes between streets, as well as attributes, such as one-way streets and intersections, are ascertained from the map database. After confirming the current location and the vicinity of the destination, the actual destination is located. The navigation system confirms and determines the route that connects those two locations and street connection status (e.g., intersections, left/right turn conditions, traffic conditions, street speeds, etc.). The navigation system may determine multiple possible routes from the current location to the destination but suggests an optimum route (e.g., fastest travel time, shortest distance, etc.). After the user confirms the route, the navigation system provides driving directions and displays the route. While driving directions continue, the navigation system also updates information on the display providing a real-time view of the map and the route on which the vehicle is driving.
- Aspects of the present invention disclose a method, computer program product, and system for locating parking. The method includes one or more processors identifying driving directions to a destination. The method further includes one or more computer processors receiving a navigation input from a user to locate parking associated with the destination. The method further includes one or more computer processors calculating one or more navigation paths based on the destination, wherein the one or more navigation paths include one or more street segments that connect identical starting and ending points with at least one different street segment and overall values indicating priority based on one or more weight factors associated with the one or more street segments. The method further includes one or more computer processors determining an ordered ranking of the one or more navigation paths based on the overall values of the one or more navigation paths. The method further includes one or more computer processors selecting a first navigation path from the calculated one or more navigation paths utilizing the ordered ranking of the one or more navigation paths. The method further includes one or more computer processors providing driving directions associated with the first navigation path. The method further includes one or more computer processors determining whether the user locates parking while utilizing the first navigation path.
-
FIG. 1 is a functional block diagram illustrating a navigation system environment, in accordance with an embodiment of the present invention; -
FIG. 2 is a flowchart depicting operational steps of a parking assistance circular planner program, inserted on a client device within the navigation system environment ofFIG. 1 , a program for assisting in locating parking within the vicinity of a destination, in accordance with an embodiment of the present invention; -
FIG. 3A depicts an example of a navigation device, displaying an optimum circular path to locate parking, in accordance with an embodiment of the present invention; -
FIG. 3B depicts an example of a navigation device, displaying a second circular path to locate parking after application of promotions and penalizations to the optimum circular path, in accordance with an embodiment of the present invention; -
FIG. 3C depicts an example of a navigation device, displaying a third circular path to locate parking after application of additional penalizations to the circular paths, in accordance with an embodiment of the present invention; and -
FIG. 4 is a block diagram of components of the client device executing the parking assistance circular planner program, in accordance with an embodiment of the present invention. - Navigation systems may be used to determine an optimum route to a destination and to then provide real time driving directions and updates to the route to a user while driving until reaching the destination. As recognized by embodiments of the present invention, once a user reaches and/or passes the destination, the navigation system may recalculate another route and return the user to the destination instead of aiding the user to locate parking. Embodiments of this invention determine and select an optimum circular path around the destination for the user to follow that assists in locating parking. Additionally, embodiments of the invention allow for the user to incorporate street parking information into the navigation system regarding parking conditions in order to further aid in the selection of an optimum circular path that may be more likely to result in successfully locating parking.
- The present invention will now be described in detail with reference to the Figures.
FIG. 1 is a functional block diagram illustrating a navigation system environment, generally designated 100, in accordance with one embodiment of the present invention.FIG. 1 provides only an illustration of one embodiment and does not imply any limitations with regard to the environments in which different embodiments may be implemented. - In the depicted embodiment,
navigation system environment 100 includesclient device 110 andserver 120 interconnected overnetwork 130. In another embodiment,navigation system environment 100 may only includeclient device 110. In some other embodiment,navigation system environment 100 may include additional computing devices, mobile computing devices, servers, computers, storage devices, or other devices not shown. -
Client device 110 may be any electronic device or computing system capable of processing program instructions and receiving and sending data. In some embodiments,client device 110 may be a laptop computer, a tablet computer, a netbook computer, a personal computer (PC), a desktop computer, a personal digital assistant (PDA), a smart phone, or any programmable electronic device capable of communicating withnetwork 130. In general,client device 110 is representative of any electronic device or combination of electronic devices capable of executing machine readable program instructions as described in greater detail with regard toFIG. 4 , in accordance with embodiments of the present invention.Client device 110 containsuser interface 112,local navigation database 114,circular path 116, traversedcircular path repository 118, and parking assistancecircular planner program 200. -
User interface 112 is a program that provides an interface between a user ofclient device 110 and a plurality of applications that reside on client device 110 (e.g., parking assistance circular planner program 200) and/or may be accessed overnetwork 130. A user interface, such asuser interface 112, refers to the information (e.g., graphic, text, sound) that a program presents to a user, and the control sequences the user employs to control the program. A variety of types of user interfaces exist. In one embodiment,user interface 112 is a graphical user interface. A graphical user interface (GUI) is a type of interface that allows users to interact with peripheral devices (i.e., external computer hardware that provides input and output for a computing device, such as a keyboard and mouse) through graphical icons and visual indicators as opposed to text-based interfaces, typed command labels, or text navigation. The actions in GUIs are often performed through direct manipulation of the graphical elements.User interface 112 sends and receives information (e.g., street parking information, navigation driving directions, etc.) to and from parking assistancecircular planner program 200. -
Local navigation database 114 andnavigation database 122 are databases that include the information a navigation system (e.g., parking assistance circular planner program 200) utilizes to determine circular paths (e.g., routes, interconnecting streets such as circular path 116) to reach a destination and to locate parking.Local navigation database 114 andnavigation database 122 may include multiple databases, such as street network data (e.g., street configuration, connection conditions, attributes, etc.), background data (e.g., rivers, railroads, shores, etc.), site information (e.g., building names, addresses, structures, etc.), and voice data (e.g., voice guidance). In one embodiment,local navigation database 114 andnavigation database 122 are the same version (e.g., both include the most current navigation information). In some other embodiment,local navigation database 114 andnavigation database 122 are not the same version (e.g.,local navigation database 114 is a down-level version of navigation database 122). In the depicted embodiment,local navigation database 114 is a locally stored copy ofnavigation database 122 that resides onclient device 110 for utilization. In the depicted embodiment,navigation database 122 is the version of the navigation system database from the navigation system provider that resides onserver 120, which may be downloadable byclient device 110. In some other embodiment,local navigation database 114 andnavigation database 122 may reside onserver 120 orclient device 110 or on another server or computing device (not shown) connected overnetwork 130 provided at leastlocal navigation database 114 is accessible by parking assistancecircular planner program 200 andlocal navigation database 114 may accessnavigation database 122. -
Circular path 116 encompasses the driving directions and visuals aids (e.g., maps) associated with a preferred and/or selected driving route around the destination, which assists the user to locate parking (e.g., series of connected streets that start with and return to the destination, starting and ending points are the same).Circular path 116 is the output of parking assistancecircular planner program 200 with weighting rules applied to the individual street segments that formcircular path 116 that results in an optimum driving route (e.g., optimum driving route with respect to the weights of the individual street segments). In one embodiment,circular path 116 may change with each subsequent pass by the original destination (i.e., when the user reaches the end of the current circular path 116). In another embodiment,circular path 116 may change after a user enters street parking information throughuser interface 112. In the depicted embodiment,circular path 116 resides onclient device 110. In another embodiment,circular path 116 may reside onserver 120. In some other embodiment,circular path 116 may reside on another server or computing device (not shown) connected overnetwork 130, providedcircular path 116 is accessible by parking assistancecircular planner program 200. - Traversed
circular path repository 118 is a collection of previous iterations ofcircular path 116 already traversed that did not result in locating parking. Traversedcircular path repository 118 stores the driving directions (e.g., streets, turns, etc.) associated with previous iterations ofcircular path 116 for future use in order to aid parking assistancecircular planner program 200 in selecting a new iteration of circular path 116 (e.g., limits the probability of repeating the same iteration ofcircular path 116 when other untraversed options are available). In the depicted embodiment, traversedcircular path repository 118 resides onclient device 110. In another embodiment, traversedcircular path repository 118 may reside onserver 120. In some other embodiment, traversedcircular path repository 118 may reside on another server or computing device (not shown) connected overnetwork 130 provided traversedcircular path repository 118 is accessible by parking assistancecircular planner program 200. -
Server 120 may be a management server, a web server, or any other electronic device or computing system capable of receiving and sending data. In some embodiments,server 120 may be a laptop computer, a tablet computer, a netbook computer, a personal computer (PC), a desktop computer, a personal digital assistant (PDA), a smart phone, or any programmable device capable of communication withclient device 110 overnetwork 130. In other embodiments,server 120 may represent a server computing system utilizing multiple computers as a server system, such as in a cloud computing environment.Server 120 containsnavigation database 122. -
Network 130 may be a local area network (LAN), a wide area network (WAN), such as the Internet, a wireless local area network (WLAN), any combination thereof, or any combination of connections and protocols that will support communications betweenclient device 110,server 120, and other computing devices and servers (not shown), in accordance with embodiments of the inventions.Network 130 may include wired, wireless, or fiber optic connections. - Parking assistance
circular planner program 200 is a navigation system program and/or navigation system enhancement that assists the user in locating parking around a selected destination by providing text and/or vocalized driving directions utilizing interconnecting streets that form a loop around the destination referred to ascircular path 116. Parking assistancecircular planner program 200 utilizes weight factors, weighting rules, user input, and traversedcircular path repository 118 in conjunction with existing navigation route planning algorithms to create multiple variations of circular paths. Parking assistancecircular planner program 200 then selects an initial best circular path for the user to traverse (e.g., shortest mileage, shortest travel time, highest probability of locating parking, etc.). In the depicted embodiment, parking assistancecircular planner program 200 resides onclient device 110. In another embodiment, parking assistancecircular planner program 200 may reside onserver 120. In some other embodiment, parking assistancecircular planner program 200 may reside on another server or computing device (not shown) connected overnetwork 130 provided parking assistancecircular planner program 200 has access tolocal navigation database 114,circular path 116, and traversedcircular path repository 118. -
FIG. 2 is a flowchart depicting operational steps of parking assistancecircular planner program 200, a program for assisting in locating parking within the vicinity of a destination, in accordance with an embodiment of the present invention. Prior to utilizing parking assistancecircular planner program 200, the user ofclient device 110, throughuser interface 112, enters initial information regarding at least a start and destination for which the navigation system incorporating parking assistancecircular planner program 200 utilizes to plan a route. The user, throughuser interface 112, then initiates navigation to the destination (e.g., receives driving directions to reach the destination). - In
step 202, parking assistancecircular planner program 200 receives activation of the feature to find parking. In a preferred embodiment, parking assistancecircular planner program 200 receives activation of the feature to find parking once the user reaches the destination (e.g., user visually identifies the destination, no further driving instructions are available, etc.). In one embodiment, parking assistancecircular planner program 200 activates in response to the user ofclient device 110 throughuser interface 112 depressing a physical and/or virtual button (e.g., hardwired through electrical circuitry and software, virtual touchscreen symbol, menu selection, etc.) that links to an option to activate a find parking option. In another embodiment, parking assistancecircular planner program 200 activates in response to a vocal command from the user through a microphone ofclient device 110. In some other embodiment, parking assistancecircular planner program 200 activates when parking assistancecircular planner program 200 determinesclient device 110, via the GPS, is within a predetermined vicinity of the destination (e.g., set distance, last direction step, one street prior to destination, etc.). For example, when the user creates the initial request for navigation to a destination, the user also selects an option to activate the find parking mode when within a two-tenths of a mile of the destination. - In
step 204, parking assistancecircular planner program 200 creates circular paths and determines the initial best circular path (e.g., circular path 116). In one embodiment, parking assistancecircular planner program 200 calculates route information (e.g., time, distance, etc.) associated with individual segments (e.g., encompasses driving directions, time, distance, associated with individual steps) utilizing existing navigation system route planning algorithms andlocal navigation database 114. In another embodiment, parking assistancecircular planner program 200 incorporates information from a traffic monitoring system into the existing navigation algorithms that may alter the ordered ranking of the circular paths. - In some other embodiment, parking assistance
circular planner program 200 may apply weight factors from a previous successful version of circular path 116 (e.g., parking was located before) and may alter the ordered ranking of the circular paths. Weight factors include promotions (e.g., standard promotion, strong promotion) to reduce and/or modify the weight factor and penalizations (e.g., standard penalizations, strong penalizations) to increase and/or modify the weight factor. Standard promotions and penalizations (e.g., defaults without supporting data) are of a lesser magnitude (e.g., reduced predefined percentage, predefined overall reduction) than strong promotions and penalizations (e.g., default with supporting data, increased predefined percentage, predefined overall increase). Parking assistancecircular planner program 200, via the GPS navigation software, identifies the start and destination associated withcircular path 116. Parking assistancecircular planner program 200 then searches traversedcircular path repository 118 for a successful circular path associated with the destination (e.g., available parking location was found previously along a circular path and stored) and retrieves weight factors. Parking assistancecircular planner program 200 then incorporates the associated weight factors into the existing navigation algorithms, which may alter the ordered ranking of the circular paths (e.g.,circular path 116 where parking was located previously may become the highest rank). - Parking assistance
circular planner program 200 then compiles the individual segments and creates one or more circular paths that include associated overall route values (e.g., total time to destination and total distance). For example,FIG. 3A depicts potential circular paths 300 (e.g.,circular path 302 selected),FIG. 3B depicts potential circular paths 325 (e.g.,circular path 304 selected), andFIG. 3C depicts potential circular paths 350 (e.g.,circular path 306 selected). Parking assistancecircular planner program 200 depicts the destination as destination S 308 (e.g., star symbol, thumb tack, conversation bubble, etc.), and the intersection of the streets as symbols A 310,B 312,C 314,D 316,E 318, and F 320 (e.g., circles, triangles, etc.). Parking assistancecircular planner program 200 then creates three circular paths,circular path 302,circular path 304, andcircular path 306 that result in complete loops (ordered ranking from highest to lowest priority). Parking assistancecircular planner program 200 depictscircular path 302 as a series of interconnecting lines (e.g., connects individual segments) going fromdestination S 308 to A 310 toB 312 toD 316 toE 318 and then returns todestination S 308. Parking assistancecircular planner program 200 depictscircular path 304 as a series of interconnecting lines going fromdestination S 308 toE 318 toD 316 toC 314 toB 312 to A 310 and then returns todestination S 308. Parking assistancecircular planner program 200 depictscircular path 306 as a series of interconnecting lines going fromdestination S 308 to A 310 toF 320 toE 318 and then returns todestination S 308. - Parking assistance
circular planner program 200 determines an ordered ranking of the potential circular paths from the existing navigation system route planning algorithms and user inputs. Parking assistancecircular planner program 200 then determines the bestcircular path 116 from the available circular paths. In one embodiment, parking assistancecircular planner program 200 automatically selects the bestcircular path 116 to be the first entry within the ordered ranking. In another embodiment, parking assistancecircular planner program 200 receives a selection of the bestcircular path 116 from the user through user interface 112 (e.g., user may select a differentcircular path 116 than the highest ranked from the ordered ranking). As depicted in exampleFIG. 3A , parking assistancecircular planner program 200 automatically selectscircular path 302 to be circular path 116 (e.g., depicted by the dashed lines inFIG. 3A ) representing the shortest travel time relative to reachingdestination S 308 of the three available circular paths. - In
step 206, parking assistancecircular planner program 200 provides driving directions associated with current circular path (e.g., voice commands and/or animated visual display). For example, inFIG. 3A , parking assistancecircular planner program 200 provides driving directions corresponding to the visual output as identified by the arrows and dashed lines forcircular path 302 onclient device 110. Parking assistancecircular planner program 200 continues to provide driving directions associated with the currentcircular path 116 until the user enters input throughuser interface 112 indicating driving directions are no longer necessary (e.g., user locates parking, user exits navigation and/or find parking mode, etc.). - In
decision 208, parking assistancecircular planner program 200 determines whether the user locates parking. Parking assistancecircular planner program 200 monitorsclient device 110 for receipt of user inputs throughuser interface 112. After receipt of a user input, parking assistancecircular planner program 200 processes the user input based on type (e.g., parked, street parking information, new route, cancel, etc.), and performs associated tasks. In one embodiment, parking assistancecircular planner program 200 receives user input throughuser interface 112 in response to a physical interaction with client device 110 (e.g., hardwired button, virtual button and/or symbol on a screen, combination of a bezel button with virtual text) confirming that parking has been located. In some other embodiment, parking assistancecircular planner program 200 receives a voice command (e.g., user vocalizes a predetermined phrase of “parking located,” “vehicle parked,” etc.) through the microphone ofclient device 110. In another embodiment, parking assistancecircular planner program 200 may determine the user locates parking whenclient device 110 is placed in park (e.g., embedded navigation system within a vehicle receives input from sensors and/or the computer of the vehicle). In some other embodiment, parking assistancecircular planner program 200 may register the user located parking whenclient device 110 is turned off (e.g., system automatically stores last known position). In yet some other embodiment, parking assistancecircular planner program 200 may not receive input regarding parking (e.g., receives no input, receives other input not related to parking). - If parking assistance
circular planner program 200 determines the user locates parking (decision 208, yes branch), then parking assistancecircular planner program 200 stores the weight factors for the currentcircular path 116 associated with parking (step 210). If parking assistancecircular planner program 200 determines the user does not locate parking (decision 208, no branch), then parking assistancecircular planner program 200 determines whether the user enters street parking information (decision 212). - In
step 210, parking assistancecircular planner program 200 stores the weight factors for the current circular path associated with parking inlocal navigation database 114 and/or traversedcircular path repository 118. In some embodiments, parking assistancecircular planner program 200 may also store the weight factors for the currentcircular path 116 associated with parking within navigation database 122 (e.g., uploads information). Parking assistancecircular planner program 200 applies a promotion to the weight factors associated with the individual segments ofcircular path 116 associated with finding parking (e.g., reduces original weight factors, incorporates additional reductions to previous promotions and penalizations). Parking assistancecircular planner program 200 stores the successful iteration ofcircular path 116 and associated weight factors for future use. - For example, the user works in a metropolitan area with limited parking but discovers a remote street with a high number of available free parking spaces and locates available parking. The user, therefore, enters the relevant street parking information for the remote street into parking assistance
circular planner program 200, which then stores updated weights for the individual segment associated with the remote street. On the daily commute to work, parking assistancecircular planner program 200 retrieves weight factors fromlocal navigation database 114 and applies stored weight factors to the potential circular paths (e.g., applies weight factors to individual segments associated with the successful iteration ofcircular path 116 identified withinlocal navigation database 114 with available parking). In one embodiment, the best circular path may correspond exactly to the stored iteration ofcircular path 116 due to the application of the stored weight factors, and parking assistancecircular planner program 200 first directs the user to the last known location of parking. In another embodiment, the bestcircular path 116 corresponds to a revised optimalcircular path 116 that utilizes different streets to return the user to the same parking location first by combining the reduced weight factors with existing navigations algorithms and traffic information. - In
decision 212, parking assistancecircular planner program 200 determines whether the user enters feedback through user interface 112 (e.g., street parking information, exit navigation, found parking, etc.). Street parking information includes at least two categories: strong promotion and strong penalization. Strong promotion street parking information indicates the user determines a positive assessment regarding the potential to locate parking on an individual street segment within circular path 116 (e.g., free parking, high availability, etc.). Strong penalization street parking information indicates the user determines a negative assessment regarding the potential to locate parking on an individual street segment within circular path 116 (e.g., no parking, time limit, permit only, time constraint, metered, low volume of parking spaces, seasonal, etc.). Parking assistancecircular planner program 200 continues to monitorclient device 110 for a user input (e.g., voice command, button selection, etc.) selecting an option to enter street parking information. Once parking assistancecircular planner program 200 receives a selection to enter street parking information, parking assistancecircular planner program 200 provides the user with prompts for additional information (e.g., voice commands, menu selections, etc.). - In one embodiment, parking assistance
circular planner program 200 provides a list of available street information options (e.g., includes both strong promotions and strong penalizations). In another embodiment, parking assistancecircular planner program 200 may provide the main two categories (e.g., strong promotion and strong penalization). In response to a selection from the user throughuser interface 112, parking assistancecircular planner program 200 displays available options associated with the selected main category (e.g., displays only strong promotions, displays only strong penalizations). In some other embodiment, parking assistancecircular planner program 200 provides a reduced list (e.g., commonly utilized, previous four entries, etc.) of strong promotions and strong penalizations (e.g., free parking, high availability, no parking, limited availability) with an option to access additional strong promotion and/or strong penalization options. - In yet another embodiment, parking assistance
circular planner program 200 may additionally provide a list of conditional street information options (e.g., time constraint, limited time parking, seasonal, etc.), which the user identifies after selecting the specific conditional street information option as either a strong promotion or strong penalization and may enter additional specific constraint conditions to store for later use. For example, the user may locate a sign indicating parking is prohibited from 12 pm to 5 pm. As the current time is 7 pm, the sign does not apply, and the user selects a strong promotion instead of a strong penalization and enters the time constraints. By entering the time constraints, parking assistancecircular planner program 200 saves the conditions for use later (e.g., utilizes an internal clock with the constraints to determine promotion or penalization when later revisiting the location). - If parking assistance
circular planner program 200 determines the user enters feedback (decision 212, yes branch), then parking assistancecircular planner program 200 updates the weight factors (step 214). If parking assistancecircular planner program 200 determines the user did not enter feedback (decision 212, no branch), then parking assistancecircular planner program 200 determines whetherclient device 110 reaches the end of the current circular path (decision 216). - In
step 214, parking assistancecircular planner program 200 updates the weight factors. Parking assistancecircular planner program 200 accesseslocal navigation database 114 and updates the weight factors utilized by the GPS algorithms depending on the category (e.g., strong promotion, strong penalization) of the street information. As parking assistancecircular planner program 200 receives strong promotions and strong penalizations directly from the user, parking assistancecircular planner program 200 assigns greater reductions to strong promotions and greater increases to strong penalizations (user may verify and/or enter new information otherwise not known and/or available to parking assistance circular planner program 200). Parking assistancecircular planner program 200 applies the appropriate weight factor (e.g., percentage, average, integer value) for the associated individual segment within circular path 116 (e.g., portion ofcircular path 116 associated with user input). - For example in
FIG. 3A , while oncircular path 302, throughuser interface 112, the user enters: a promotion associated with “free parking” on thestreet connecting D 316 andE 318, a penalization associated with “no parking anytime” on thestreet connecting B 312 andD 316, and no information on the streets connectingdestination S 308 to A 310, A 310 toB 312, andE 318 to destination S 308 (e.g.,circular path 116 is not complete,client device 110 stops at E 318). Parking assistancecircular planner program 200 reduces the weight associated with thestreet connecting D 316 andE 318, increases the weight associated with thestreet connecting B 312 andD 316, and currently does not change weight factors associated withdestination S 308 to A 310, A 310 toB 312, andE 318 todestination S 308 as the route is not yet complete. - In
decision 216, parking assistancecircular planner program 200 determines whetherclient device 110 reaches the end of the current circular path without finding parking (e.g., parking input may occur at any time). Parking assistancecircular planner program 200 receives updates to information associated with client device 110 (e.g., location changes, distance traveled, current speed, estimated time of arrival at destination, etc.) via the GPS satellites with respect tocircular path 116. At the end ofcircular path 116, parking assistancecircular planner program 200, based on the GPS information, determines the location ofclient device 110 to be the same as the destination (e.g., destination S 308) associated with circular path 116 (e.g., circular path 302). Therefore, parking assistancecircular planner program 200 determinesclient device 110 reaches the end ofcircular path 116. When the current location ofclient device 110 is not the same asdestination S 308, parking assistancecircular planner program 200 determinesclient device 110 has not reached the end of circular path 116 (e.g., GPS location corresponds to another location oncircular path 116 other than the destination, estimated time of arrival is greater than zero, etc.). - If parking assistance
circular planner program 200 determinesclient device 110 reaches the end of current circular path 116 (decision 216, yes branch), then parking assistancecircular planner program 200 stores currentcircular path 116 in traversed circular path repository 118 (step 218). If parking assistancecircular planner program 200 determinesclient device 110 does not reach the end of current circular path 116 (decision 216, no branch), then parking assistancecircular planner program 200 continues to provide driving directions associated with current circular path 116 (step 206). - In
step 218, parking assistancecircular planner program 200 stores currentcircular path 116 in traversedcircular path repository 118. Parking assistancecircular planner program 200 stores the currentcircular path 116 with previously traversed versions ofcircular path 116 associated withdestination S 308, which also did not result in locating parking for future use. - In
step 220, parking assistancecircular planner program 200 applies weight rules to current circular path 116 (e.g., penalizations to the individual street segments of current circular path 116). Parking assistancecircular planner program 200 may also incorporate the individual street segments within additional circular paths that share the same individual street segments. For example, inFIG. 3A andFIG. 3B , the individual street segments connectingdestination S 308 to A 310, A310 toB 312,D 316 toE 318, and E318 todestination S 308 are included incircular path 302 and in circular path 304 (reversed order in circular path 304). When parking assistancecircular planner program 200 applies penalizations to the individual street segments withincircular path 302, the penalizations associated with the individual street segments connectingdestination S 308 to A 310, A310 toB 312,D 316 toE 318, and E318 todestination S 308 included withincircular path 304 also update. However, the individual streetsegments connecting D 316 toC 314 andC 314 toB 312 withincircular path 304 remain unchanged (i.e., individual street segments are not part of another circular path). In one embodiment, parking assistancecircular planner program 200 applies the standard penalization to the individual street segments included within circular path 116 (e.g., parking was not located and receives no user input). For example, inFIG. 3A , parking assistancecircular planner program 200 applies a standard penalization to each of the individual segments that comprisecircular path 302. - In another embodiment, parking assistance
circular planner program 200 applies an additional standard penalization on top of existing strong promotions and strong penalizations previously entered by the user (step 214). For example, inFIG. 3A , the individual segment betweenD 316 andE 318 includes a strong promotion for free parking, and the individual segment betweenB 312 andD 316 includes a strong penalization for no parking anytime. In addition to the standard penalizations parking assistancecircular planner program 200 applies to all of the individual segments ofcircular path 302, parking assistancecircular planner program 200 also applies the strong promotion and strong penalization associated with the two identified segments (e.g., reduces the amount of the strong promotion associated with the individual segment betweenD 316 andE 318 and creates a greater penalization associated with the segment betweenB 312 and D 316). Parking assistancecircular planner program 200 also updates the overall value ofcircular path 304 which includes individual segments betweendestination S 308 to A 310, A 310 to B312,D 316 andE 318, andE 318 todestination S 308. - In some other embodiment, parking assistance
circular planner program 200 compounds multiple standard penalizations whencircular path 116 is not new (e.g., adds additional penalizations to existing standard and/or strong promotions and/or penalizations). For example, a user did not find parking while traveling oncircular path 302 depicted inFIG. 3A orcircular path 304 depicted inFIG. 3B , but even with applied weight penalizations, parking assistancecircular planner program 200 reselectscircular path 302 overcircular path 306 for the nextcircular path 116. Parking assistancecircular planner program 200, therefore, adds an additional standard penalization thereby compounding the penalizations and partially negating existing promotions for bothcircular path 302 andcircular path 304. The ranking ofcircular path 302 andcircular path 304 may then drop to a lower position (e.g., no longer occupy the top ranking positions), and thus allows parking assistancecircular planner program 200 to then selectcircular path 306 as depicted inFIG. 3C . - In
step 222, parking assistancecircular planner program 200 recalculates circular paths and determines a suggested circular path. Parking assistancecircular planner program 200 accesseslocal navigation database 114 and additionally applies the updated weight factors, thus incorporating promotions and penalizations to the existing navigation system route planning algorithms to create multiple potential circular paths. Parking assistancecircular planner program 200 may also incorporate additional promotions and penalizations based on information from a traffic monitoring system into the existing navigation algorithms. For example, rush hour traffic results in congestion and travel time oncircular path 116 increases, therefore, parking assistancecircular planner program 200 applies an additional penalization increasing the weight for the individual segment associated with the traffic slow down. However, an alternate side street indicates increased speed (e.g., a faster travel time), and parking assistancecircular planner program 200 applies an additional promotion. Another side street shows a steady flow of traffic, the travel time is constant, and parking assistancecircular planner program 200 does not apply either a promotion or penalization. - Based on the recalculated values, parking assistance
circular planner program 200 organizes the circular paths in an ordered ranking (e.g., ranked highest to lowest, with highest being the first suggested circular path followed by the second suggested circular path, etc.). Parking assistancecircular planner program 200 then selects the first of the suggested circular paths in the ordered ranking as a suggested iteration ofcircular path 116. For example, inFIG. 3A ,circular path 302 did not result in parking, and after application of the standard penalization, strong promotion (e.g., free parking), and strong penalization (no parking anytime), parking assistancecircular planner program 200 now selectscircular path 304 as depicted inFIG. 3B . Additionally, parking assistancecircular planner program 200 may reverse the driving directions due to the strong promotion (revisits individual segments betweenE 318 andD 316 earlier) as depicted by the dashed line and counter clockwise arrows. - In
decision 224, parking assistancecircular planner program 200 determines whether suggestedcircular path 116 exceeds the maximum value. In one embodiment, maximum values are predefined by parking assistancecircular planner program 200. In another embodiment, parking assistancecircular planner program 200 receives maximum values from the user throughuser interface 112 at initiation. Maximum values may be identified for multiple criteria, such as a maximum radius for the destination (e.g., half mile), maximum travel time (e.g., fifteen minutes), and maximum penalization (e.g., four times the original weight). In one embodiment, parking assistancecircular planner program 200 includes a single maximum value condition (e.g., maximum penalization). In another embodiment, parking assistancecircular planner program 200 includes multiple maximum value conditions (e.g., distance, time, or penalization). Parking assistancecircular planner program 200 compares the calculated values (e.g., distance, time) and/or stored weight factors (e.g., penalizations) associated with suggestedcircular path 116 to the predefined maximum values and determines whether the maximum value has been met and/or exceeded. - If parking assistance
circular planner program 200 determines suggestedcircular path 116 exceeds the maximum value (decision 224, yes branch), then parking assistancecircular planner program 200 resets the weight factors and clears traversed circular path repository 118 (step 226). If parking assistancecircular planner program 200 determines suggestedcircular path 116 does not exceed the maximum value (decision 224, no branch), then parking assistancecircular planner program 200 determines whether suggestedcircular path 116 is new (decision 228). - In
step 226, parking assistancecircular planner program 200 resets the weight factors and clears traversedcircular path repository 118. In one embodiment, parking assistancecircular planner program 200 resets the weight factors associated with the individual segments ofcircular path 116 to the original settings (e.g., removes promotions and penalizations) withinlocal navigation database 114. In another embodiment, parking assistancecircular planner program 200 resets the weight factors but maintains strong promotions and strong penalizations regarding user input street parking information (e.g., only removes standard penalizations and promotions). Parking assistancecircular planner program 200 removes previous stored versions of circular paths from traversedcircular path repository 118. By removing the previous stored versions of circular paths from traversedcircular path repository 118, in subsequent iterations, parking assistancecircular planner program 200 identifiescircular path 116 as a new circular path available for selection for a user to traverse again. - In
decision 228, parking assistancecircular planner program 200 determines whether the suggested circular path is new. Parking assistancecircular planner program 200 searches the stored circular paths within traversedcircular path repository 118 for a match with the suggested circular path with (e.g., identical individual street segments with identical destination). If parking assistancecircular planner program 200 determines the suggested circular path is new (decision 228, yes branch), then parking assistancecircular planner program 200 updates the suggested circular path to be the current circular path (step 230). If parking assistancecircular planner program 200 determines suggestedcircular path 116 is not new (decision 228, no branch), then parking assistancecircular planner program 200 applies weight rules to current circular path 116 (step 220). - In
step 230, parking assistancecircular planner program 200 updates the suggested circular path to be the current circular path (e.g., circular path 116). Parking assistancecircular planner program 200 then provides driving directions associated with current circular path 116 (step 206). -
FIG. 4 depicts a block diagram of components ofnavigation system environment 400, in accordance with an illustrative embodiment of the present invention. It should be appreciated thatFIG. 4 provides only an illustration of one implementation and does not imply any limitations with regard to the environments in which different embodiments may be implemented. Many modifications to the depicted environment may be made. -
Navigation system environment 400 includescommunications fabric 402, which provides communications between computer processor(s) 404,memory 406,persistent storage 408,communications unit 410, and input/output (I/O) interface(s) 412.Communications fabric 402 can be implemented with any architecture designed for passing data and/or control information between processors (such as microprocessors, communications and network processors, etc.), system memory, peripheral devices, and any other hardware components within a system. For example,communications fabric 402 can be implemented with one or more buses. -
Memory 406 andpersistent storage 408 are computer readable storage media. In this embodiment,memory 406 includes random access memory (RAM) 414 andcache memory 416. In general,memory 406 can include any suitable volatile or non-volatile computer readable storage media. -
User interface 112,local navigation database 114,circular path 116, traversedcircular path repository 118,navigation database 122, and parking assistancecircular planner program 200 are stored inpersistent storage 408 for execution and/or access by one or more of the respective computer processor(s) 404 via one or more memories ofmemory 406. In this embodiment,persistent storage 408 includes a magnetic hard disk drive. Alternatively, or in addition to a magnetic hard disk drive,persistent storage 408 can include a solid state hard drive, a semiconductor storage device, a read-only memory (ROM), an erasable programmable read-only memory (EPROM), a flash memory, or any other computer readable storage media that is capable of storing program instructions or digital information. - The media used by
persistent storage 408 may also be removable. For example, a removable hard drive may be used forpersistent storage 408. Other examples include optical and magnetic disks, thumb drives, and smart cards that are inserted into a drive for transfer onto another computer readable storage medium that is also part ofpersistent storage 408. -
Communications unit 410, in these examples, provides for communications with other data processing systems or devices, including resources of enterprise grid and client devices. In these examples,communications unit 410 includes one or more network interface cards.Communications unit 410 may provide communications through the use of either or both physical and wireless communications links.User interface 112,local navigation database 114,circular path 116, traversedcircular path repository 118,navigation database 122, and parking assistancecircular planner program 200 may be downloaded topersistent storage 408 throughcommunications unit 410. - I/O interface(s) 412 allows for input and output of data with other devices that may be connected to
navigation system environment 400. For example, I/O interface(s) 412 may provide a connection to external device(s) 418, such as a keyboard, a keypad, a touch screen, and/or some other suitable input device. External device(s) 418 can also include portable computer readable storage media such as, for example, thumb drives, portable optical or magnetic disks, and memory cards. Software and data used to practice embodiments of the present invention, e.g.,user interface 112,local navigation database 114,circular path 116, traversedcircular path repository 118,navigation database 122, and parking assistancecircular planner program 200, can be stored on such portable computer readable storage media and can be loaded ontopersistent storage 408 via I/O interface(s) 412. I/O interface(s) 412 also connect to adisplay 420. -
Display 420 provides a mechanism to display data to a user and may be, for example, a computer monitor. - The programs described herein are identified based upon the application for which they are implemented in a specific embodiment of the invention. However, it should be appreciated that any particular program nomenclature herein is used merely for convenience, and thus the invention should not be limited to use solely in any specific application identified and/or implied by such nomenclature.
- The present invention may be a system, a method, and/or a computer program product. The computer program product may include a computer readable storage medium (or media) having computer readable program instructions thereon for causing a processor to carry out aspects of the present invention.
- The computer readable storage medium can be a tangible device that can retain and store instructions for use by an instruction execution device. The computer readable storage medium may be, for example, but is not limited to, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination of the foregoing. A non-exhaustive list of more specific examples of the computer readable storage medium includes the following: a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), a static random access memory (SRAM), a portable compact disc read-only memory (CD-ROM), a digital versatile disk (DVD), a memory stick, a floppy disk, a mechanically encoded device such as punch-cards or raised structures in a groove having instructions recorded thereon, and any suitable combination of the foregoing. A computer readable storage medium, as used herein, is not to be construed as being transitory signals per se, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through a waveguide or other transmission media (e.g., light pulses passing through a fiber-optic cable), or electrical signals transmitted through a wire.
- Computer readable program instructions described herein can be downloaded to respective computing/processing devices from a computer readable storage medium or to an external computer or external storage device via a network, for example, the Internet, a local area network, a wide area network and/or a wireless network. The network may comprise copper transmission cables, optical transmission fibers, wireless transmission, routers, firewalls, switches, gateway computers and/or edge servers. A network adapter card or network interface in each computing/processing device receives computer readable program instructions from the network and forwards the computer readable program instructions for storage in a computer readable storage medium within the respective computing/processing device.
- Computer readable program instructions for carrying out operations of the present invention may be assembler instructions, instruction-set-architecture (ISA) instructions, machine instructions, machine dependent instructions, microcode, firmware instructions, state-setting data, or either source code or object code written in any combination of one or more programming languages, including an object oriented programming language such as Smalltalk, C++ or the like, and conventional procedural programming languages, such as the “C” programming language or similar programming languages. The computer readable program instructions may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider). In some embodiments, electronic circuitry including, for example, programmable logic circuitry, field-programmable gate arrays (FPGA), or programmable logic arrays (PLA) may execute the computer readable program instructions by utilizing state information of the computer readable program instructions to personalize the electronic circuitry, in order to perform aspects of the present invention.
- Aspects of the present invention are described herein with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the invention. It will be understood that each block of the flowchart illustrations and/or block diagrams, and combinations of blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer readable program instructions.
- These computer readable program instructions may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks. These computer readable program instructions may also be stored in a computer readable storage medium that can direct a computer, a programmable data processing apparatus, and/or other devices to function in a particular manner, such that the computer readable storage medium having instructions stored therein comprises an article of manufacture including instructions which implement aspects of the function/act specified in the flowchart and/or block diagram block or blocks.
- The computer readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other device to cause a series of operational steps to be performed on the computer, other programmable apparatus or other device to produce a computer implemented process, such that the instructions which execute on the computer, other programmable apparatus, or other device implement the functions/acts specified in the flowchart and/or block diagram block or blocks.
- The flowchart and block diagrams in the Figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of the present invention. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of instructions, which comprises one or more executable instructions for implementing the specified logical function(s). In some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems that perform the specified functions or acts or carry out combinations of special purpose hardware and computer instructions.
- The descriptions of the various embodiments of the present invention have been presented for purposes of illustration, but are not intended to be exhaustive or limited to the embodiments disclosed. Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the invention. The terminology used herein was chosen to best explain the principles of the embodiment, the practical application or technical improvement over technologies found in the marketplace, or to enable others of ordinary skill in the art to understand the embodiments disclosed herein.
Claims (20)
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/691,676 US9470540B1 (en) | 2015-04-21 | 2015-04-21 | Identifying a parking location with respect to a destination |
CN201610252129.0A CN106066180B (en) | 2015-04-21 | 2016-04-21 | About destination mark parking position |
US15/236,585 US9939287B2 (en) | 2015-04-21 | 2016-08-15 | Identifying a parking location with respect to a destination |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/691,676 US9470540B1 (en) | 2015-04-21 | 2015-04-21 | Identifying a parking location with respect to a destination |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US15/236,585 Continuation US9939287B2 (en) | 2015-04-21 | 2016-08-15 | Identifying a parking location with respect to a destination |
Publications (2)
Publication Number | Publication Date |
---|---|
US9470540B1 US9470540B1 (en) | 2016-10-18 |
US20160313136A1 true US20160313136A1 (en) | 2016-10-27 |
Family
ID=57120830
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/691,676 Expired - Fee Related US9470540B1 (en) | 2015-04-21 | 2015-04-21 | Identifying a parking location with respect to a destination |
US15/236,585 Expired - Fee Related US9939287B2 (en) | 2015-04-21 | 2016-08-15 | Identifying a parking location with respect to a destination |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US15/236,585 Expired - Fee Related US9939287B2 (en) | 2015-04-21 | 2016-08-15 | Identifying a parking location with respect to a destination |
Country Status (2)
Country | Link |
---|---|
US (2) | US9470540B1 (en) |
CN (1) | CN106066180B (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170176210A1 (en) * | 2015-12-17 | 2017-06-22 | Jaguar Land Rover Limited | Vehicle navigation system that provides location accessibility information |
US10417907B2 (en) * | 2014-06-26 | 2019-09-17 | Bayerische Motoren Werke Aktiengesellschaft | Method for processing measurement data of a vehicle in order to determine the start of a search for a parking space and computer program product |
US20200132482A1 (en) * | 2018-10-26 | 2020-04-30 | Here Global B.V. | Method and apparatus for generating a parking search route within a geofence |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180245943A1 (en) * | 2017-02-14 | 2018-08-30 | Panasonic Automatic Systems Company of America, Division of Panasonic Corporation of North America | Navigation ux enhancement - automatic routing to nearest parking lot or garage |
US10621867B2 (en) * | 2017-08-23 | 2020-04-14 | Continental Automotive Systems, Inc. | Unmanned aerial vehicle assisted system for vehicle reverse and parking |
US11055364B2 (en) * | 2017-11-30 | 2021-07-06 | International Business Machines Corporation | Parking search time estimation using cognitive analytics |
US10732622B2 (en) * | 2018-04-05 | 2020-08-04 | Ford Global Technologies, Llc | Advanced user interaction features for remote park assist |
CN109031382B (en) * | 2018-08-06 | 2021-03-16 | 武汉中海庭数据技术有限公司 | High-precision road calculation matching method and system based on parking spaces |
CN110196891B (en) * | 2018-11-15 | 2024-03-15 | 腾讯大地通途(北京)科技有限公司 | Method and device for determining block type, storage medium and electronic device |
US11257120B2 (en) * | 2018-12-14 | 2022-02-22 | Productive Application Solutions, Inc. | System and method for coordinated mobile media projection |
US11055743B2 (en) * | 2018-12-14 | 2021-07-06 | Productive Applications Solutions, Inc. | System and method for mobile media projector |
US10796340B2 (en) * | 2018-12-14 | 2020-10-06 | Productive Application Solutions, Inc. | System and method for targeting the distribution of media from a mobile platform |
US10991007B2 (en) * | 2018-12-14 | 2021-04-27 | Productive Application Solutions, Inc. | Aerial billboard |
US11741500B2 (en) * | 2018-12-14 | 2023-08-29 | Productive Application Solutions, Inc. | Pedestrian thoroughfare portable media kiosk |
US12106327B2 (en) * | 2018-12-14 | 2024-10-01 | Productive Application Solutions, Inc. | System and method for third party mobile media control |
US12112352B2 (en) * | 2018-12-14 | 2024-10-08 | Productive Application Solutions, Inc. | System and method for monitoring mobile media |
RU2749650C1 (en) | 2018-12-21 | 2021-06-16 | Общество С Ограниченной Ответственностью "Яндекс" | Method and server for generating parking recommendations displayed on an electronic device |
US20210325192A1 (en) * | 2018-12-31 | 2021-10-21 | Google Llc | Fine-Tuned Navigation Directions |
US11183059B2 (en) * | 2019-04-22 | 2021-11-23 | Baidu Usa Llc | Parking management architecture for parking autonomous driving vehicles |
WO2021079234A1 (en) * | 2019-10-20 | 2021-04-29 | 3M Innovative Properties Company | Route selection using infrastructure performance |
JP7541843B2 (en) * | 2020-03-19 | 2024-08-29 | 本田技研工業株式会社 | Vehicle control device |
CN112766544A (en) * | 2021-01-04 | 2021-05-07 | 北京嘀嘀无限科技发展有限公司 | Method, apparatus, electronic device, storage medium, and computer program product for optimizing a trip of a user |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7606663B2 (en) | 2003-02-26 | 2009-10-20 | Tomtom International B.V. | Navigation device and method for exchanging data between resident applications |
KR100522999B1 (en) | 2003-10-16 | 2005-10-19 | 현대모비스 주식회사 | Method for searching car navigation path by using log file |
US7516010B1 (en) | 2006-01-27 | 2009-04-07 | Navteg North America, Llc | Method of operating a navigation system to provide parking availability information |
JP2009162567A (en) * | 2007-12-28 | 2009-07-23 | Aisin Aw Co Ltd | Navigation device and computer program |
US20120161986A1 (en) * | 2010-12-27 | 2012-06-28 | Eyal Amir | Providing guidance for locating street parking |
EP2602777B1 (en) * | 2011-12-05 | 2013-11-27 | Skobbler GmbH | Method for guiding a vehicle driver searching for a parking space |
US8589065B2 (en) * | 2012-04-10 | 2013-11-19 | Inrix, Inc. | Parking based route navigation |
US20140214319A1 (en) | 2013-01-25 | 2014-07-31 | Parkwayz, Inc. | Computer System and Method for Search of a Parking Spot |
CN103196457A (en) * | 2013-03-11 | 2013-07-10 | 深圳市凯立德欣软件技术有限公司 | Parking lot guiding method and positioning and navigation device |
US8963740B2 (en) | 2013-03-14 | 2015-02-24 | Microsoft Corporation | Crowd-sourced parking advisory |
US9076336B2 (en) | 2013-03-15 | 2015-07-07 | Volkswagen Ag | Personalized parking assistant |
US9666074B2 (en) | 2014-08-21 | 2017-05-30 | Ford Global Technologies, Llc | Method and system for vehicle parking |
EP3040682B1 (en) | 2015-01-05 | 2020-02-26 | Harman International Industries, Incorporated | Learning and predictive navigation system |
-
2015
- 2015-04-21 US US14/691,676 patent/US9470540B1/en not_active Expired - Fee Related
-
2016
- 2016-04-21 CN CN201610252129.0A patent/CN106066180B/en not_active Expired - Fee Related
- 2016-08-15 US US15/236,585 patent/US9939287B2/en not_active Expired - Fee Related
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10417907B2 (en) * | 2014-06-26 | 2019-09-17 | Bayerische Motoren Werke Aktiengesellschaft | Method for processing measurement data of a vehicle in order to determine the start of a search for a parking space and computer program product |
US20170176210A1 (en) * | 2015-12-17 | 2017-06-22 | Jaguar Land Rover Limited | Vehicle navigation system that provides location accessibility information |
US20200132482A1 (en) * | 2018-10-26 | 2020-04-30 | Here Global B.V. | Method and apparatus for generating a parking search route within a geofence |
Also Published As
Publication number | Publication date |
---|---|
CN106066180A (en) | 2016-11-02 |
US9939287B2 (en) | 2018-04-10 |
US20160349074A1 (en) | 2016-12-01 |
CN106066180B (en) | 2019-11-29 |
US9470540B1 (en) | 2016-10-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9939287B2 (en) | Identifying a parking location with respect to a destination | |
US10914607B2 (en) | Method, apparatus and computer program product for providing route guidance to multiple points of interest | |
US10955252B2 (en) | Road-condition based routing system | |
US11346680B2 (en) | Driver experience-based vehicle routing and insurance adjustment | |
US10215581B2 (en) | Intelligent vehicle navigation assistance | |
US20160054137A1 (en) | Navigation device with enhanced widgets and applications | |
US11256728B2 (en) | Positional route guidance | |
WO2022111235A1 (en) | Navigation processing method and apparatus, service side device, intelligent terminal, and storage medium | |
CN109781132B (en) | Experience route replacing method and device, electronic equipment and storage medium | |
US10989549B2 (en) | Route recommendation in map service | |
EP3816582A1 (en) | Method and apparatus for providing speculative navigation routing in incomplete offline maps | |
US11181387B2 (en) | Dynamic routing system | |
US20240361146A1 (en) | Uncontrolled intersection detection and warning system | |
US20190128681A1 (en) | Smart city crosswalk and traffic navigation system | |
US10228271B2 (en) | Suppressing rerouting for intentional circumstances | |
US10690508B2 (en) | Navigational system utilizing local driver based route deviations | |
US9791573B2 (en) | Intelligent global positioning system service | |
US11293773B2 (en) | Methods and systems for event initiated navigational assistance | |
US10551209B2 (en) | Methods and systems for event initiated navigational assistance | |
US11030890B2 (en) | Local driver pattern based notifications | |
US9140575B2 (en) | Navigating to a selected location | |
US20230228579A1 (en) | Navigating method, electronic device and medium | |
US11933625B2 (en) | Managing navigation interface display | |
US20240102816A1 (en) | Customizing Instructions During a Navigations Session | |
KR20170040947A (en) | Method of guiding for path, navigation terminal, and vehicle including the same |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: INTERNATIONAL BUSINESS MACHINES CORPORATION, NEW Y Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:CASTELLUCCI, ANTONIO;GUARDA, ROBERTO;REEL/FRAME:035466/0150 Effective date: 20150420 |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
FEPP | Fee payment procedure |
Free format text: MAINTENANCE FEE REMINDER MAILED (ORIGINAL EVENT CODE: REM.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
LAPS | Lapse for failure to pay maintenance fees |
Free format text: PATENT EXPIRED FOR FAILURE TO PAY MAINTENANCE FEES (ORIGINAL EVENT CODE: EXP.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
STCH | Information on status: patent discontinuation |
Free format text: PATENT EXPIRED DUE TO NONPAYMENT OF MAINTENANCE FEES UNDER 37 CFR 1.362 |
|
FP | Expired due to failure to pay maintenance fee |
Effective date: 20201018 |