TECHNICAL FIELDThe present invention relates generally to a navigation system, and more particularly to a navigation system with event of interest routing mechanism.
BACKGROUND ARTModern portable consumer and industrial electronics, especially client devices such as navigation systems, cellular phones, portable digital assistants, and combination devices, are providing increasing levels of functionality to support modern life including location-based information services. Numerous technologies have been developed to utilize this new functionality.
As users become more empowered with the growth of mobile location based service devices, new and old paradigms begin to take advantage of this new device space. There are many technological solutions to take advantage of this new device location opportunity. One existing approach is to use location information to provide navigation services such as a global positioning system (GPS) for a car or on a mobile device such as a cell phone or a personal digital assistant (PDA).
Location based services allow users to create, transfer, store, and/or consume information in the “real world”. One such use of location-based services is to efficiently transfer or route users to the desired destination or service.
Navigation systems and location based services enabled systems have been incorporated in automobiles, notebooks, handheld devices, and other portable products. Today, these systems aid users by incorporating available, real-time relevant information, such as maps, directions, local businesses, or other points of interest (POI). The real-time information provides invaluable relevant information, when available or in service areas.
In response to consumer demand, navigation systems are providing ever-increasing functionality. Current navigation systems do not provide quick and easy ways to create tours and day trips. Unplanned or poorly planned trips can squander time and fuel. In contrast, efficient trips and tours can minimize time spent and reduce the stress of traveling. The advancements with navigation system need to incorporate these growing concerns.
Thus, a need still remains for a navigation system with event of interest routing mechanism, providing low cost, improved functionality, and improved reliability. In view of the ever-increasing need to save costs and improve efficiencies, it is more and more critical that answers be found to these problems.
Solutions to these problems have been long sought but prior developments have not taught or suggested any solutions and, thus, solutions to these problems have long eluded those skilled in the art.
DISCLOSURE OF THE INVENTIONThe present invention provides a method of operation of a navigation system including: receiving a start location and a destination location; receiving a first start time associated with a first event; receiving a second start time associated with a second event with the first start time subsequent to the second start time and the first event closer to the start location than the second event; and generating an event route, for displaying on a device, from the start location to the second event to the first event to the destination location based on the first start time relative to the second start time.
The present invention provides a navigation system including: a user interface for receiving a start location and a destination location; a select first start time module, coupled to a user interface, for receiving a first start time associated with a first event; a select second start time module, coupled to the select first start time module, for receiving a second start time associated with a second event with the first start time subsequent to the second start time; and a calculate route module, coupled to the select second start time module, for generating an event route, for displaying on a device, from the start location to the second event to the first event to the destination location based on the first start time relative to the second start time.
Certain embodiments of the invention have other aspects in addition to or in place of those mentioned above. The aspects can become apparent to those skilled in the art from a reading of the following detailed description when taken with reference to the accompanying drawings.
BRIEF DESCRIPTION OF THE DRAWINGSFIG. 1 is an example of an environment using an embodiment of the present invention.
FIG. 2 is a flow chart for operating a navigation system with event of interest routing mechanism in a first embodiment of the present invention.
FIG. 3 is a flow chart of the user input module ofFIG. 2.
FIG. 4 is a flow chart of the calculate route module ofFIG. 2.
FIG. 5 is a flow chart of the probability route module ofFIG. 4.
FIG. 6 is a block diagram of a navigation system with event of interest routing mechanism in a second embodiment of the present invention.
FIG. 7 is a block diagram of a navigation system with event of interest routing mechanism in a third embodiment of the present invention.
FIG. 8 is a first geographic view of an application of the navigation system ofFIG. 2.
FIG. 9 is a second geographic view of the application of the navigation system ofFIG. 2.
FIG. 10 is a flow chart of a method of operation of a navigation system in a further embodiment of the present invention.
BEST MODE FOR CARRYING OUT THE INVENTIONThe following embodiments are described in sufficient detail to enable those skilled in the art to make and use the invention. It is to be understood that other embodiments would be evident based on the present disclosure, and that system, process, or mechanical changes can be made without departing from the scope of the present invention.
In the following description, numerous specific details are given to provide a thorough understanding of the invention. However, it can be apparent that the invention can be practiced without these specific details. In order to avoid obscuring the present invention, some well-known circuits, system configurations, and process steps are not disclosed in detail. Likewise, the drawings showing embodiments of the system are semi-diagrammatic and not to scale and, particularly, some of the dimensions are for the clarity of presentation and are shown greatly exaggerated in the drawing FIGs.
Similarly, although the views in the drawings for ease of description generally show similar orientations, this depiction in the FIGs. is arbitrary for the most part. Generally, the invention can be operated in any orientation. The embodiments have been numbered first embodiment, second embodiment, etc. as a matter of descriptive convenience and are not intended to have any other significance or provide limitations for the present invention.
One skilled in the art would appreciate that the format with which navigation information is expressed is not critical to some embodiments of the invention. For example, in some embodiments, navigation information is presented in the format of (X, Y), where X and Y are two ordinates that define the geographic location, i.e., a position of a user.
The term “module” referred to herein, can include software, hardware, or a combination thereof. For example, the software can be machine code, firmware, embedded code, and application software. Also for example, the hardware can be circuitry, processor, computer, integrated circuit, integrated circuit cores, or a combination thereof.
The term “event of interest” referred to herein, can include a location, a stop, and/or a waypoint. The stops can include locations around a wide geographic region or stops in a single location such as a museum. In the context of a city tour, an event of interest can include historical landmarks, parks, stores, and restaurants. In a museum example, an event of interest can include exhibits, theater show times, gift shops, and parked vehicles.
The term “itinerary” referred to herein, can include a schedule of events of interest for a day, across multiple days, over a vacation period, or locations. The itinerary can include information regarding appointment times of events of interest, arrival times of events of interest, duration times of events of interest, and departure times of events of interest.
Referring now toFIG. 1, therein is an example of anenvironment100 using an embodiment of the present invention. Theenvironment100 applies to any embodiment of the present invention described later. The environment includes afirst device102, such as a server or client. Thefirst device102 can be linked to asecond device104, such as a client or server, with acommunication path106, such as a network.
Thefirst device102 can be any of a variety of centralized or decentralized computing devices. For example, thefirst device102 can be a computer, a computer in a grid computing pool, a virtualized computer, a computer in a cloud computing pool, or a computer in a distributed computing topology. Thefirst device102 can include routing functions or switching functions for coupling with thecommunication path106 to communicate with thesecond device104.
As a further example, thefirst device102 can be a particularized machine, such as a mainframe server, a cluster server, rack mounted server, or a blade server, or as more specific examples, an IBM System z10 (TM), Business Class mainframe or a HP ProLiant ML (TM).
Thesecond device104 can be of any of a variety of mobile devices. For example, thesecond device104 can be a cellular phone, personal digital assistant, a notebook computer, or other multi-functional mobile communication or entertainment devices having means for coupling to thecommunication path106.
As a further example, thesecond device104 can be a particularized machine, such as a portable computing device, a notebook, a netbook, a smartphone, a personal digital assistant, or a cellular phone, and as specific examples, an Apple iPhone (TM), Palm Centro (TM), or a Moto Q Global (TM),
Thecommunication path106 can be a variety of networks. For example, thecommunication path106 can include wireless communication, wired communication, optical, ultrasonic, or the combination thereof. Satellite communication, cellular communication, Bluetooth, Infrared Data Association standard (IrDA), radio data system (RDS), high density (HD) radio data, wireless fidelity (WiFi), and worldwide interoperability for microwave access (WiMAX) are examples of wireless communication that can be included in thecommunication path106. Ethernet, digital subscriber line (DSL), fiber to the home (FTTH), and plain old telephone service (POTS) are examples of wired communication that can be included in thecommunication path106.
Further, thecommunication path106 can traverse a number of network topologies and distances. For example, thecommunication path106 can include personal area network (PAN), local area network (LAN), metropolitan area network (MAN), and wide area network (WAN).
For illustrative purposes, thefirst device102 is shown in a single location, although it is understood that the server can be centralized or decentralized and located at different locations. For example, thefirst device102 can represent real or virtual servers in a single computer room, distributed across different rooms, distributed across different geographical locations, embedded within a telecommunications network, virtualized servers within one or more other computer systems including grid or cloud type computing resources, or in a high powered client device.
Also for illustrative purposes, theenvironment100 is shown with thesecond device104 as a mobile computing device, although it is understood that thesecond device104 can be different types of computing devices. For example, thesecond device104 can be a mobile computing device, such as notebook computer, another client device, or a different type of client device.
Further for illustrative purposes, theenvironment100 is shown with thefirst device102 and thesecond device104 as end points of thecommunication path106, although it is understood that theenvironment100 can have a different partition between thefirst device102, thesecond device104, and thecommunication path106. For example, thefirst device102, thesecond device104, or a combination thereof can also function as part of thecommunication path106.
Referring now toFIG. 2, therein is shown a flow chart for operating anavigation system200 with event of interest routing mechanism in a first embodiment of the present invention. Thenavigation system200 can generate and modify itineraries and routes based on events of interest, event start times, event duration times, and any changes to thereof.
Astart module202 depicts starting the user selection function. The “start” word is not to imply an absolute start of the invention but the word “start” is used for convenience to denote a particular entry point for this example of the present invention. The process can then pass to auser input module204. Theuser input module204 can display menus to the user and prompt the user to input information for operating thenavigation system200. Theuser input module204 will be explained in greater detail below. Theuser input module204 can progress to a calculateroute module206.
The calculateroute module206 can generate routes. The calculateroute module206 can also display information that can assist in generating an itinerary. The calculateroute module206 will be explained in greater detail below. After generating a route, the process can progress to anavigation decision module208.
Thenavigation decision module208 can depict an option to continue to arun navigation module210 or an option to return to theuser input module204. If thenavigation decision module208 is set to yes, the process passes to therun navigation module210. If thenavigation decision module208 is set to no, the process passes to theuser input module204. At theuser input module204, the user can create a new itinerary or modify the previous itinerary.
Therun navigation module210 can display route instructions as a multimedia display. The multimedia route instructions can include turn-by turn instructions in text, graphics, audio prompts, or a combination thereof. Therun navigation module210 can also play multimedia information about the surrounding area and about the upcoming event of interest. The process can then pass to anevent options module212.
Theevent options module212 can provide available services at an event of interest. For example, if available, the user can request maps and multimedia information regarding the event of interest. Theevent options module212 can execute tour programs and provide routing instructions within the event of interest. For example, the event of interest can be a historical landmark, and theevent options module212 can play a tour about the historical landmark. Theevent options module212 can provide routing instructions to events of interest around or within the historical landmark.
Theevent options module212 can also display an alert of the next event of interest start time. For example, the alert can warn that the next event start time is approaching and provide an estimation of how much time is required to reach the next event of interest. At the conclusion of an event of interest, the process can pass to aresume decision module214.
Theresume decision module214 depicts the option to resume or end the process. If theresume decision module214 is set to yes, the process passes to thenavigation decision module208. Thenavigation decision module208 can execute therun navigation module210 to navigate to the next event of interest on the itinerary. If the itinerary has expired or the user decides to modify the itinerary, thenavigation decision module208 is set to no. The process can then return to theuser input module204. An itinerary can expire if it is not possible to reach an event of interest by the start time of the event.
If theresume decision module214 is set to no, the process passes to anend module216. The “end” word is not to imply an absolute end of the invention but the word “end” is used for convenience to denote a particular exit point for this example of the present invention. Theend module216 can depict one possible end of the process.
Referring now toFIG. 3, therein is shown a flow chart of theuser input module204 ofFIG. 2. Theuser input module204 is linked to thestart module202 and the calculateroute module206 ofFIG. 2.
Theuser input module204 can include a entertrip information module302, an updatestart location module304, anenter destination module310, anevent inventory module308, and anevent inventory313. Theuser input module204 can also include a selectfirst event module314, areselect module318, a select firststart time module320, a selectsecond event module324, a select secondstart time module328, a selectnth event module332, and a select nthstart time module336.
The selectnth event module332 and the select nthstart time module336 can represent subsequent event of interest selections. For example, the “nth” notation can represent the “nth” event from the first event in a given itinerary, where “n” can represent a positive integer number.
The entertrip information module302 can receive input from the user to generate atrip information303. Thetrip information303 can include, for example, the target city of the trip, the target dates of the trip, the start time of the trip or other information relating to a trip. The entertrip information module302 can send thetrip information303 to theevent inventory module308. Thetrip information303 can be used by theevent inventory module308 to update theevent inventory313. The process can pass to the updatestart location module304 from the entertrip information module302.
The updatestart location module304 can detect astart location306. Thestart location306 can represent a current location of thesecond device104 ofFIG. 1, as an example. Thestart location306 can be determined through various methods. For example, the updatestart location module304 can utilize a global positioning system (GPS), inertial navigation system, cell-tower location system, accelerometer location system, or any combination thereof to determine thestart location306. Additionally, thestart location306 can be received through user input into the updatestart location module304.
The updatestart location module304 can send thestart location306 to theevent inventory module308. After sending thestart location306 to theevent inventory module308, the process can pass to theenter destination module310 from the updatestart location module304.
Theenter destination module310 can allow the selection of adestination location312 as a user input or based on the event inventory. Thedestination location312 can include the last stop or an intermediate on the route. Thedestination location312 can be selected from theevent inventory313 or can be manually inputted. For example, thedestination location312 can be thestart location306, an intersection, an address, an event of interest, a location in another city, a location in another state or province, or a parked vehicle. Theenter destination module310 can send thedestination location312 to theevent inventory module308. The process can then pass to theevent inventory module308.
Theevent inventory module308 can update theevent inventory313. Theevent inventory313 can represent a database of events of interests and start times associated with the events of interest. Theevent inventory313 can also include pre-generated tours based on a city, a region, thestart location306, thedestination location312, a calendar period, or a combination thereof.
Theevent inventory module308 can receive and utilize thetrip information303, thestart location306, and thedestination location312 to update theevent inventory313. Updates can be based on region, season, and other criteria. For example, theevent inventory module308 can update theevent inventory313 for local festivals and concerts. Events such as concerts require updates to theevent inventory313 because concerts can occur at certain times of the year and at different venues.
Theevent inventory module308 can be used to search for specific events of interest. Additionally, the user can create new events of interest by inputting the location, the event start time, and the event duration into theevent inventory313. Theevent inventory module308 can display the contents of theevent inventory313 including event start times and event duration times. The process can then pass to the selectfirst event module314.
The selectfirst event module314 can allow the selection of afirst event316 from theevent inventory313. The user can search theevent inventory313 in order to make the selection. The selectfirst event module314 can send thefirst event316 to thereselect module318. Thefirst event316 can represent any location stored or inputted into theevent inventory313.
Thefirst event316 can also include a pre-generated tour from theevent inventory313. Pre-generated tours can include tours based on different themes, interest, regions, calendar times, or any combination thereof. The process can pass from the selectfirst event module314 to the select firststart time module320. If thefirst event316 is a pre-generated tour, the process can pass directly to thereselect module318.
The select firststart time module320 can allow the selection of afirst start time322 and afirst stop time340 from theevent inventory313. Thefirst start time322 can include a suggested arrival time associated with thefirst event316. Thefirst stop time340 can depict the conclusion time or the duration of thefirst event316. Thefirst start time322 and thefirst stop time340 can also be inputted by the user.
For example, thefirst event316 can represent a theme park. Thefirst start time322 can be set to a 9:00 am arrival time. Thefirst stop time340 can be set to 3:00 pm. In addition, thefirst stop time340 can be set to 6-hour duration from thefirst start time322.
The select firststart time module320 can be bypassed because thefirst event316 may not have a start time associated with the event. For example, the user may need to stop at the user's residence before traveling to other events of interest. Thefirst event316 can be set to the user's residence and no values can be inputted into the select firststart time module320.
The select firststart time module320 can send thefirst start time322 and thefirst stop time340 to thereselect module318. The process can pass from the select firststart time module320 to the selectsecond event module324.
The selectsecond event module324 can function in a similar method as the selectfirst event module314. The selectsecond event module324 can allow the selection of asecond event326 from theevent inventory313. The selectsecond event module324 can send thesecond event326 to thereselect module318. The process can then pass to the select secondstart time module328.
The select secondstart time module328 can function in a similar method as the select firststart time module320. The select secondstart time module328 can allow the selection of asecond start time330 and asecond stop time342 from theevent inventory313. The select secondstart time module328 can send thesecond start time330 and thesecond stop time342 to thereselect module318. The process can repeat up to “n” number of events and “n” is a positive integer. The process can then pass to the selectnth event module332.
The selectnth event module332 can represent subsequent inputs of event of interest. The selectnth event module332 can allow the user to input annth event334. The selectnth event module332 can send thenth event334 to thereselect module318.
The select nthstart time module336 can represent subsequent “nth” start time and stop time inputs. The select nthstart time module336 can allow the user to input annth start time338 and annth stop time346. The select nthstart time module336 can send thenth start time338 and thenth stop time346 to thereselect module318. This process can repeat until the user has finished inputting events and time information.
For illustrative purposes, the modules of theuser input module204 are described as discrete functional modules, although it is understood that the modules of theuser input module204 can have a different configuration. For example, the selectfirst event module314, the select firststart time module320, the selectsecond event module324, and the select secondstart time module328 may not be discrete functional modules but may have one or more of the aforementioned modules combined into one functional module.
Thereselect module318 can allow a new value to be entered into the selectfirst event module314, the select firststart time module320, the selectsecond event module324, the select secondstart time module328, the selectnth event module332, and the select nthstart time module336. For example, thereselect module318 can allow changes or mistakes to be corrected for the event of interest information.
If thereselect module318 received thefirst event316 as a pre-generated tour, thereselect module318 can display each event of interest within the tour. Thereselect module318 can automatically assign event start times and event stop times from the pre-generated tour. Thereselect module318 can also customize the pre-generated tour with user-defined content. After the event of interest information has been entered, the process can pass to the calculateroute module206 ofFIG. 2.
Referring now toFIG. 4, therein is shown a flow chart of the calculateroute module206 ofFIG. 2. The calculateroute module206 can receive the itinerary information of each event of interest from theuser input module204 ofFIG. 2. The calculateroute module206 can include a generatedistance route module402, amanual decision module404, a generateintermediate route module406, a detectconflict module408, a calculatesegment time module410, aprobability route module412, aresolve conflict module414, a verifymodule416, aselect route module418, anitinerary module420, and a generate manual route module422.
The generatedistance route module402 can calculate adistance route424. Thedistance route424 can represent a route to each event of interest that utilizes the shortest available distance between thestart location306 ofFIG. 3, thedestination location312 ofFIG. 3, and the user-defined events of interest. Thedistance route424 can also represent the route of a pre-generated tour that utilizes the shortest distance. The generatedistance route module402 can send thedistance route424 to themanual decision module404.
Based on the events of interest, the generatedistance route module402 can generate a route based on the shortest total distance. For example, thedistance route424 can represent a route that minimizes backtracking Thedistance route424 can be used as an example if the user decides to generate a route manually.
Themanual decision module404 can depict an option for the process to pass to the generateintermediate route module406 or to pass to theitinerary module420. Themanual decision module404 can allow the user to generate an itinerary manually and route or to have the user select an automatically generated route.
If the user chooses an automatically generated route, the process can pass to the generateintermediate route module406. If the user chooses to generate an itinerary and route manually, the process can pass to theitinerary module420. Themanual decision module404 can send thedistance route424 to theitinerary module420 or the generateintermediate route module406.
The generateintermediate route module406 can generate anintermediate route426. Theintermediate route426 can represent a route that incorporates the available time information from theuser input module204. Theintermediate route426 can include the start and stop time associations from theuser input module204 for each event of interest. If no times are entered into theuser input module204, theintermediate route426 can be the same as thedistance route424. The generateintermediate route module406 can send theintermediate route426 to the detectconflict module408.
The detectconflict module408 can scan theintermediate route426 to detect aconflict428. Theconflict428 can represent information including problems between the events of interest that would make theintermediate route426 invalid when navigating. Theintermediate route426 can be invalid if two events of interest are assigned to the same event start time or are overlapping. For example, thesecond start time330 ofFIG. 3 can be in-between thefirst start time322 ofFIG. 3 and thefirst stop time340 ofFIG. 3 where thefirst event316 overlaps thesecond event326.
Further for example, theconflict428 can represent an overbooked or expired event of interest. A movie theater can sell out of tickets for that scheduled time. Theconflict428 can also include thefirst event316 being too far away from thesecond event326 so that the user does not have enough time to reach the second event by thesecond start time330.
If the detectconflict module408 does not detect theconflict428, the detectconflict module408 can send theintermediate route426 to theselect route module418. If the detectconflict module408 detects theconflict428, the detectconflict module408 can send theconflict428 to the calculatesegment time module410.
The calculatesegment time module410 can generate asegment travel time432. Thesegment travel time432 can represent the travel time between the event of interest with theconflict428 and other events of interest. Thesegment travel time432 can be used to modify the route to remove theconflict428. The calculatesegment time module410 can also determine if the user has enough time to reach each event of interest that is scheduled on theintermediate route426.
The calculatesegment time module410 can send thesegment travel time432 to theresolve conflict module414. The calculatesegment time module410 can also send thesegment travel time432 to theprobability route module412.
Theresolve conflict module414 can receive thesegment travel time432 from the calculatesegment time module410. Theresolve conflict module414 can use thesegment travel time432, thedistance route424, thetrip information303 ofFIG. 3, and theevent inventory313 ofFIG. 3 to modify theintermediate route426. Theresolve conflict module414 can remove theconflict428 from theintermediate route426 by assigning events of interest to analternative time436 or adifferent day438.
Thealternative time436 can represent instructions to reassign each event of interest or a portion of the events of interest to a different time to remove theconflict428. These reassignments can resolve theconflict428. Thedifferent day438 can represent information that is similar to thealternative time436. If the route is a multiple-day route, thedifferent day438 can represent instructions to reassign events of interest to a different day to resolve theconflict428.
If thetrip information303 is set to a multiple day trip, thedifferent day438 can be assigned to a non-conflicting day and time based on thedistance route424, theintermediate route426, and thesegment travel time432. For example, theresolve conflict module414 can start with thedistance route424 to compute a different version of theintermediate route426 to remove theconflict428 across multiple days. Thesegment travel time432 between events of interests can be used to calculate if theconflict428 exists. As another example, theresolve conflict module414 can start with theintermediate route426 to compute a different version of theintermediate route426 to remove theconflict428 across multiple days.
If thetrip information303 is set to one day, theresolve conflict module414 can assign thealternative time436 to a non-conflicting time based on thedistance route424, theintermediate route426, and thesegment travel time432. For example, theresolve conflict module414 can start with thedistance route424 to compute a different version of theintermediate route426 to remove theconflict428 within the one day. Thesegment travel time432 between events of interests can be used to calculate if theconflict428 exists. As another example, theresolve conflict module414 can start with theintermediate route426 to compute a different version of theintermediate route426 to remove theconflict428 within the one day.
Theresolve conflict module414 can resolve a conflict resulting from achange430, such as a change in schedule, a cancellation, or an additional showing, in one or more of the events of interest along theintermediate route426. Thechange430 can represent the modifications to the events of interest in the route. Thechange430 can be from theevent inventory313 ofFIG. 3. Thechange430 can include thealternative time436, thedifferent day438, or a combination thereof. Thechange430 can be sent to the verifymodule416.
The verifymodule416 can verify that theintermediate route426 does not have theconflict428 by searching for conflicts based on thechange430. The verifymodule416 can also recheck the status of each event of interest before the user begins navigating the route. For example, the event of interest, such as a concert, can quickly sell out during the process. If the verifymodule416 detects new problem with theintermediate route426, the verifymodule416 can return processing theintermediate route426 to theresolve conflict module414.
Theresolve conflict module414 can remove the conflicts based on thechange430. For example, if thefirst event316 is assigned to thealternative time436 that is after thesecond event326, the verifymodule416 can verify that the second stop time of thesecond event326 plus thesegment travel time432 is prior to thefirst start time322. If theconflict428 still remains between thefirst event316 and thesecond event326, theresolve conflict module414 can remove theconflict428, as described in the earlier example. The process can repeat until the verifymodule416 no longer detects theconflict428 based on thechange430.
The verifymodule416 can generate a verifiedroute440 based on thechange430. The verifiedroute440 can represent a route without any conflicts. The verifymodule416 can send the verifiedroute440 to theselect route module418.
It has been discovered that the present invention provides a navigation system with event of interest routing mechanism. The navigation system can generate and modify routes based on time associations to events of interest. For example, the navigation system can remove conflicts in a route by rearranging the order of events of interest while prioritizing a route with the shortest distance.
Theprobability route module412 can receive theconflict428. Theprobability route module412 can generate achange probability route434. Thechange probability route434 can function as an alternative route to the verifiedroute440 and will be explained in greater detail below. Theprobability route module412 can send thechange probability route434 to theselect route module418.
Theitinerary module420 can allow the selection of a user-defined itinerary and route. Theitinerary module420 can depict the option for a user to select the route manually as an alternative to the verifiedroute440 and theprobability route module412. Theitinerary module420 can generate atrip itinerary442. Thetrip itinerary442 can represent a user-defined schedule of each event of interest.
Theitinerary module420 can display traffic, distance, and estimated arrival time associated with events of interest in thedistance route424. Theitinerary module420 can also provide a graphical display of thedistance route424, such as a map, with each event of interest as a point on the map. Theitinerary module420 can be used to customize thetrip itinerary442. Theitinerary module420 can send thetrip itinerary442 to the generate manual route module422.
The generate manual route module422 can receive thetrip itinerary442. The generate manual route module422 can convert thetrip itinerary442 into amanual route446. Themanual route446 can be sent to theselect route module418.
Theselect route module418 can generate anevent route444. Theevent route444 can represent the selection of themanual route446, thechange probability route434, or the verifiedroute440 that will be used for navigation. Theevent route444 can be sent to therun navigation module210 ofFIG. 2.
Theselect route module418 can display information about themanual route446, thechange probability route434, and the verifiedroute440 to the user. For example, theselect route module418 can display the total time and total distance for themanual route446, thechange probability route434, and the verifiedroute440. Theselect route module418 can send theevent route444 to thenavigation decision module208. The process can then pass to thenavigation decision module208.
It has been also discovered that the present invention provides a navigation system that dynamically adapts to changes along an event route based on changes to events along the event route. If an event schedule changes, such as cancellations, rescheduling existing event times, or adding additional event times, the navigation system can dynamically adapt the event route as the changes.
Referring now toFIG. 5, therein is shown a flow chart of theprobability route module412 ofFIG. 4. Theprobability route module412 considers possible changes to theevent route444 ofFIG. 4 based on the probability of changes to any one of the event of interest along theevent route444. This allows users to select theevent route444 that can have theconflict428 for a desirable event and working with the probability of changes that the conflicts will resolve themselves before the actual conflict occurs.
Instead of reassigning the events having theconflict428 to another time or day, theprobability route module412 can extrapolate a percentage that theconflict428 will resolve itself at a later scheduled start time. If this percentage is high, theprobability route module412 can provide an option for theevent route444 that includes theconflict428.
Theprobability route module412 can include ahistorical module504, a generate changeprobability route module506, and a generateroute module516. Thehistorical module504 can include amanifest module508, acalendar module510, and atraffic module512.
For illustrative purposes, the modules of theprobability route module412 are described as discrete functional modules, although it is understood that these modules can have a different configuration. For example, themanifest module508, thehistorical module504, thecalendar module510, thetraffic module512, the generateroute module516, and the generate changeprobability route module506 may not be discrete functional modules but may have one or more of the aforementioned modules combined into one functional module.
For example, at the time of scheduling the route, an event of interest can be filled or overbooked. For illustrative purposes, the event of interest can be a boat tour or concert. Theprobability route module412 can determine the probability that the filled or overbooked event of interest will open, due to a canceling of a reservation for the event. For example, a user can start a day trip in the morning and schedule the boat tour in the afternoon. While scheduling the trip in the morning, the boat tour was overbooked. Theprobability route module412 can determined the probability that the seat will open up in the afternoon and the user can plan the day trip accordingly.
Thehistorical module504 can provide historical changes for the events along theintermediate route426 ofFIG. 4. Thehistorical module504 can request information from themanifest module508, thecalendar module510, and thetraffic module512.
Thehistorical module504 can generate ahistorical information520. Thehistorical information520 can include information from themanifest module508, thecalendar module510, and thetraffic module512.
Themanifest module508 can search manifests, guest lists, seating charts, and ticket list information. For example, themanifest module508 can access the standby list for an air flight or ticket information for a concert. Themanifest module508 can make reservations or place the user on the waiting list for an event of interest and display the user's position of the waitlist. Themanifest module508 can contribute information to thehistorical information520.
Thecalendar module510 can analyze seasonal and time information. For example, thecalendar module510 can analyze information including off-season, and off-peak hours that can affect the demand for events of interest like restaurant reservations and theme park ride lines. During off-season or at off-peak times, the probability of an opening in an overbooked or closed event of interest increases. Thecalendar module510 can contribute information to thehistorical information520.
Thetraffic module512 can track traffic statistics that can affect thesegment travel time432 ofFIG. 4. Thetraffic module512 can use thecalendar module510 to determine seasonal traffic statistics. For example, theconflict428 can represent an event of interest at4:00 pm and the next event of interest at4:30 pm. Theconflict428 can be based on the typical travel segment time of45 minutes between the events of interest. The user does not have enough time to reach the next event of interest because of the typical travel time.
With off-season or off-peak conditions, thetraffic module512 can detect a reduction in traffic that can increase the probability that the user will reach the next event of interest in time. For example, because of light traffic, thesegment travel time432 can become28 minutes. Thetraffic module512 can contribute information to thehistorical information520.
The generatechange probability module506 can receive thehistorical information520. The generatechange probability module506 can extrapolate achange probability526 based on thehistorical information520. Thechange probability526 can represent the probability that theconflict428 can be resolved at the time the event of interest is scheduled or before theintermediate route426 reaches that event.
When generating thechange probability526, the generatechange probability module506 analyzes thehistorical information520, such as historical changes, trends in cancellations, seasonal traffic conditions, and current conditions about the event. The generatechange probability module506 can send thechange probability526 to the generateroute module516.
It has been further discovered that the present invention provides a navigation system generating possible event routes based on the change probability. Although the event route can have the conflict, the event route could be an efficient route that minimizes time spent, minimizes distance traveled, and has a high percent rate of success regardless of the conflict.
For example, thenavigation system200 can generate theeven route444 with thechange probability526 of85 percent of removing theconflict428. At the time when theintermediate route426 was generated, theintermediate route426 had theconflict428. The example 85 percent value for thechange probability526 can represent a high probability that theconflict428 will be resolved at a future time. Thenavigation system200 that can detect thechange probability526 can open up routing options that would normally not be available to other navigation systems.
The physical transformation of thedistance route424, theintermediate route426, the verifiedroute440, thechange probability route434, and theevent route444 results in movement in the physical world, such as people using thesecond device104 ofFIG. 1 or vehicles, based on the operation of thenavigation system200. As the movement in the physical world occurs, the movement itself creates additional information that is converted back to thedistance route424, theintermediate route426, the verifiedroute440, thechange probability route434, and theevent route444 for the continued operation of thenavigation system200 and to continue the movement in the physical world.
The generateroute module516 can receive thechange probability526. The generateroute module516 can generate thechange probability route434 ofFIG. 4 based on thechange probability526. The generateroute module516 can send thechange probability route434 to theselect route module418 ofFIG. 4.
Referring now toFIG. 6, therein is shown a block diagram of anavigation system600 with event of interest routing mechanism in a second embodiment of the present invention. Thenavigation system600 can include adevice602 that can link to acommunication path604. Thedevice602 can represent thesecond device104 ofFIG. 1. Thecommunication path604 can link to a global positioning system606. Thecommunication path604 can be linked to asecond device608, such as a server.
Thedevice602 can access thecommunication path604 for location services, such as the global positioning system606. Thedevice602 can be any of a variety of centralized or decentralized computing devices or any of a variety of mobile devices. For example, thedevice602 can be a computer, a computer in a grid computing pool, a virtualized computer, a computer in a cloud computing pool, or a computer in a distributed computing topology. Thedevice602 can include routing functions or switching functions for coupling with thecommunication path604.
As another example, thedevice602 can be a cellular phone, personal digital assistant, a notebook computer, or other multi-functional mobile communication or entertainment devices having means for coupling to thecommunication path604. Thecommunication path604 can include the same variety of networks listed in thecommunication path106 ofFIG. 1.
Thedevice602 can include a number of functional units. For example, thedevice602 can include acontrol unit610 such as a processor or computer, acommunication unit612, avehicle interface unit614, auser interface616, amemory618, afirst software620, alocation unit622, and adisplay interface624.
The components illustrated inFIG. 6 are provided for the purposes of explaining and describing the present invention and are not intended to imply any architectural limitations. Varieties of alternative implementations for thenavigation system600 are possible for the present invention.
Thecontrol unit610 can be coupled to thecommunication unit612, thevehicle interface unit614, theuser interface616, thememory618, and thelocation unit622. Thememory618 can include thefirst software620. Theuser interface616 can be linked to thedisplay interface624.
Thedisplay interface624 can include a display or a projector. Theuser interface616 can include a key pad, a touchpad, soft-keys, a keyboard, a microphone, a speaker, or any combination thereof to provide data and command inputs for thenavigation system600.
For illustrative purposes, thenavigation system600 is described with discrete functional units, although it is understood that thenavigation system600 can have a different configuration. For example, thecontrol unit610, thecommunication unit612, thevehicle interface unit614, and thelocation unit622 may not be discrete functional units but may have one or more of the aforementioned units combined into one functional unit.
Thefirst software620 can include thenavigation system200 ofFIG. 2. Thecontrol unit610 can execute thefirst software620 and can provide the intelligence of thedevice602. Thecontrol unit610 can interact with thevehicle interface unit614, thecommunication path604 via thecommunication unit612, and theuser interface616.
Thevehicle interface unit614 can interact with a vehicle or other device such as a laptop. For example, if linked to a vehicle, thevehicle interface unit614 can access the speakers in the vehicle to play audio. Thevehicle interface unit614 can utilize a cable connection or a wireless connection such as blue-tooth to interact with the vehicle or other device.
Thelocation unit622 can provide location information and can be implemented in many ways. For example, thelocation unit622 can be an inertial navigation system, cell-tower location system, accelerometer location system, or any combination thereof. Thelocation unit622 can be linked with the global positioning system606, through thecommunication path604, to determine location and provide location information. Thelocation unit622 can include the active and passive components, such as microelectronics or an antenna, for interaction with thecommunication path604.
Thememory618, such as a volatile memory, a nonvolatile memory, an internal memory, an external memory, or a combination thereof, can store thefirst software620, setup data, multimedia data, photos, text, sounds recordings, video, and other data for the operation of the navigation device. Thememory618 can also store the relevant information, such as maps, route information, traffic information, vehicle information, advertisement, and point of interest (POI), navigation routing entries, driver profiles, or any combination thereof. Thememory618 can also store recorded, imaged, sampled, or created relevant information to be transmitted to thedevice602.
Thememory618 can be implemented in a number of ways. For example, thememory618 can be a nonvolatile storage such as non-volatile random access memory (NVRAM), Flash memory, or disk storage or a volatile storage such as static random access memory (SRAM).
Thecommunication unit612 can connect with thecommunication path604 and can include active and passive components, such as microelectronics or an antenna, for interaction to the telecommunication system of thecommunication path604.
Theuser interface616, for example, can receive thetrip information303 ofFIG. 3, thedestination location312 ofFIG. 3, thefirst event316 ofFIG. 3, and thefirst start time322 ofFIG. 3 as user input. Thecontrol unit610 can send thetrip information303, thedestination location312, and event of interest information to thememory618. Thecontrol unit610 can access the global positioning system606 through thecommunication unit612, thelocation unit622, or a combination thereof.
The updatestart location module304 ofFIG. 3 can use thecommunication unit612 and thelocation unit622 to detect thestart location306 ofFIG. 3. Theevent inventory module308 ofFIG. 3 can use thecommunication unit612 to update theevent inventory313 ofFIG. 3. Thehistorical module504 ofFIG. 5 can use thecommunication unit612 and thelocation unit622 to update thehistorical information520 ofFIG. 5.
Thememory618 can receive and store thetrip information303, thedestination location312, thefirst event316, thefirst start time322, and thefirst stop time340 ofFIG. 3. Thefirst software620 can generate thedistance route424 ofFIG. 4, theintermediate route426 ofFIG. 4, thetrip itinerary442 ofFIG. 4, thechange probability route434 ofFIG. 4, the verifiedroute440 ofFIG. 4 and theevent route444 ofFIG. 4. Thedistance route424, thetrip itinerary442, thechange probability route434, the verifiedroute440, and theevent route444 can be displayed on thedisplay interface624.
Thedisplay interface624 can display and play audio information from theevent options module212 ofFIG. 2. Thedisplay interface624 can also display routes and play audio directions from therun navigation module210 ofFIG. 2.
Referring now toFIG. 7, therein is shown a block diagram of anavigation system700 with event of interest routing mechanism in a third embodiment of the present invention. Afirst device702, such as a server or non-mobile computing device, can link to asecond device706, such as a client device or a mobile computing device, with acommunication path704. Thefirst device702 can include routing functions or switching functions for coupling with thecommunication path704 to communicate with thesecond device706.
Thesecond device706 can be of any of a variety of mobile devices. For example, thesecond device706 can be a cellular phone, personal digital assistant, a notebook computer, or other multi-functional mobile communication or entertainment devices having means for coupling to thecommunication path704. Thecommunication path704 can be a variety of networks similar to networks listed in thecommunication path106 ofFIG. 1.
For illustrative purposes, thefirst device702 is shown as a server. Thefirst device702 is shown in a single location, although it is understood that the server can be centralized or decentralized and located at different locations. For example, thefirst device702 can represent real or virtual servers in a single computer room, distributed across different rooms, distributed across different geographical locations, embedded within a telecommunications network, virtualized servers within one or more other computer systems including grid or cloud type computing resources, or in a high powered client device.
Further, for illustrative purposes, thenavigation system700 is shown with thesecond device706 as a client. Thesecond device706 can be a mobile computing device, although it is understood that thesecond device706 can be different types of computing devices. For example, thesecond device706 can be a mobile computing device, such as notebook computer, another client device, or a different type of client device.
Yet further, for illustrative purposes, thenavigation system700 is shown with thefirst device702 and thesecond device706 as end points of thecommunication path704, although it is understood that thenavigation system700 can have a different partition between thefirst device702, thesecond device706, and thecommunication path704. For example, thefirst device702, thesecond device706, or a combination thereof can also function as part of thecommunication path704.
Thefirst device702 can include aserver control unit710, such as a processor or a computer, aserver communication unit708, auser interface716, and amemory714. Thememory714 can include afirst software712. Theserver control unit710 can be coupled to theserver communication unit708, theuser interface716, and thememory714.
For illustrative purposes, thenavigation system700 is shown with thefirst device702 described with discrete functional units, although it is understood that thenavigation system700 can have thefirst device702 in a different configuration. For example, theserver control unit710, theserver communication unit708, thememory714, and thefirst software712 may not be discrete units but may have one or more of the aforementioned units combined into one functional unit.
Theserver control unit710 can execute thefirst software712 and can provide the intelligence of thefirst device702 for interaction with thesecond device706. Theserver control unit710 can interact with thecommunication path704 via theserver communication unit708. Theserver communication unit708 can send and receive information through thecommunication path704.
Thesecond device706 can include, for example, aclient control unit718, such as a processor, coupled with a clientlocal storage720, asecond software722, aclient communication unit724, a clientvehicle interface unit726, aclient location unit728, and aclient user interface730 having aclient display interface732. Theclient user interface730 can also include a projector, a key pad, a touchpad, soft-keys, a keyboard, a microphone, a speaker, or any combination thereof to provide data and command inputs to thesecond device706. Thenavigation system200 ofFIG. 2 can be partitioned between thefirst software712 and thesecond software722.
Theclient control unit718 can execute thesecond software722 from the clientlocal storage720. Theclient control unit718 can provide the intelligence of thesecond device706 for interaction with thefirst device702. Thesecond software722 can allow thesecond device706 to interact with thecommunication path704 via theclient communication unit724 and with theclient location unit728.
The clientvehicle interface unit726 can interact with a vehicle or other device such as a laptop. For example, if linked to a vehicle, the clientvehicle interface unit726 can access the speakers in the vehicle to play audio. The clientvehicle interface unit726 can utilize a cable connection or a wireless connection such as blue-tooth to interact with the vehicle or other device.
Theclient location unit728 can provide location information and be implemented in many ways. For example, theclient location unit728 can be a global positioning system (GPS), inertial navigation system, cell-tower location system, accelerometer location system, or any combination thereof. Theclient location unit728 can include the active and passive components, such as microelectronics or an antenna, for interaction with thecommunication path704.
The clientlocal storage720 can store thesecond software722, setup data, multimedia data, photos, text, sounds recordings, video, and other data for the operation of thesecond device706 as a navigation device. The clientlocal storage720 can also store relevant information, such as maps, route information, vehicle information, traffic information, advertisement, and point of interest (POI), navigation routing entries, driver profiles, or any combination thereof, from thefirst device702 or can be preloaded. The clientlocal storage720 can also store recorded, imaged, sampled, or created relevant information to be transmitted to thefirst device702.
The clientlocal storage720 can be implemented in a number of ways. For example, the clientlocal storage720 can be a nonvolatile storage such as non-volatile random access memory (NVRAM), Flash memory, or disk storage, or a volatile storage such as static random access memory (SRAM).
Theclient communication unit724 can connect to theserver communication unit708 through thecommunication path704. Theclient communication unit724 can include active and passive components, such as microelectronics or an antenna, for interaction to the telecommunication system of thecommunication path704.
The partitioning of thenavigation system200 can be based on the storage size of the clientlocal storage720. If the clientlocal storage720 has a large memory capacity, more modules of thenavigation system200 can be partitioned to thesecond device706. The partitioning the of thenavigation system200 can also be based on the processing power or access to the processing power.
For example, thefirst software712 can include theevent inventory313 ofFIG. 3 and thesecond software722 can include the other modules of thenavigation system200. As another example of a partition can have thefirst software712 include the calculateroute module206 ofFIG. 2, and theevent options module212 ofFIG. 2. Thesecond software722 can include theuser input module204 ofFIG. 2.
The partitions described above are provided for the purposes of describing examples of the present invention and are not intended to imply any limitations. A variety of alternative implementations for partitioning thenavigation system200 is possible for the present invention.
For illustrative purposes, user input, such as thetrip information303 ofFIG. 3, thedestination location312 ofFIG. 3, and event of interest information can be inputted into theclient user interface730. Theclient control unit718 can send thetrip information303, thedestination location312, and event of interest information to thefirst software712 through theclient communication unit724. For example, thesecond device706 can receive thetrip information303, thedestination location312, thefirst event316 of FIG, thefirst start time322 ofFIG. 3, and thefirst stop time340 ofFIG. 3 from thefirst device702 by using theclient communication unit724.
Thesecond software722 can include the calculateroute module206 ofFIG. 2, therun navigation module210 ofFIG. 2, and theevent options module212 ofFIG. 2. Theclient control unit718 can execute thesecond software722.
The updatestart location module304 ofFIG. 3 can use theclient communication unit724 and theclient location unit728 to detect thestart location306 ofFIG. 3. Theevent inventory module308 ofFIG. 3 can use theclient communication unit724 and theserver communication unit708 to update theevent inventory313 ofFIG. 3. Thehistorical module504 ofFIG. 5 can use theclient communication unit724 and theserver communication unit708 to update thehistorical information520 ofFIG. 5.
Thedistance route424 ofFIG. 4, theintermediate route426 ofFIG. 4, thetrip itinerary442 ofFIG. 4, thechange probability route434 ofFIG. 4, the verifiedroute440 ofFIG. 4 and theevent route444 ofFIG. 4 can be displayed on theclient display interface732.
Theclient display interface732 can display and play audio information from theevent options module212 ofFIG. 2. Theclient display interface732 can also display routes and play audio directions from therun navigation module210 ofFIG. 2.
Referring now toFIG. 8, therein is shown a first geographic view of an application of thenavigation system200 ofFIG. 2. The geographic view can represent a map of a city, country, or region. The geographic view can also represent an event of interest including other events of interest such as a theme park, a museum, or a shopping mall.
The geographic view can depict adistance route802, astart location803, afirst event804, asecond event806, athird event808, anfourth event810, adestination location812, afirst path814, asecond path816, athird path818, afourth path820, and afifth path822. The paths can represent the route or a route segment from one event to another event of interest. For example, thefirst path814 can represent the route from thestart location803 to thefirst event804. The combination of thefirst path814, thesecond path816, thethird path818, thefourth path820, and thefifth path822 can represent thedistance route802. Thedistance route802 can represent a route that minimizes the total distance traveled.
For illustrative purposes, the geographic view can represent the location of events of interest within a shopping mall. Thefirst event804 can represent a gift shop. Thesecond event806 can represent a hair salon. Thethird event808 can represent a clothing store. Thefourth event810 can represent a movie theater. Thestart location803 can represent the user's current location in the shopping mall. Thedestination location812 can represent the user's parked vehicle.
Also for illustrative purposes, thefirst path814, thesecond path816, thethird path818, thefourth path820, and thefifth path822 are shown as linear paths, although it is understood thatfirst path814, thesecond path816, thethird path818, thefourth path820, and thefifth path822 can be in different configurations. For example, some or all the paths can be nonlinear paths.
The generatedistance route module402 ofFIG. 4 can generate thedistance route802. Thedistance route802 can represent thedistance route424 ofFIG. 4. If no start times are assigned to any of the events of interest, thedistance route802 can be used as theevent route444 ofFIG. 4. For example, the user can input no preferences for event start times for thefirst event804, thesecond event806, thethird event808, and thefourth event810. Thedistance route802 can serve as theevent route444 for that trip.
Referring now toFIG. 9, therein is shown a second geographic view of the application of thenavigation system200 ofFIG. 2. The geographic view can represent the same events of interest fromFIG. 8. The geographic view can include thestart location803, thefirst event804, thesecond event806, thethird event808, thefourth event810, and thedestination location812 ofFIG. 8.
The geographic view can include anevent route902, asixth path903, aseventh path904, aneighth path906, aninth path908 and atenth path910. The paths can represent the route from one event of interest to another event of interest. For illustrative purposes, thesixth path903, theseventh path904, theeighth path906, theninth path908 and thetenth path910 are shown as linear paths, although it is understood that these paths can be nonlinear paths.
For illustrative purposes, the geographic view can include the same events of interest inside the shopping mall from the example fromFIG. 8. In this example, the user can input event start times and event stop times that correspond with each event of interest in theuser input module204 ofFIG. 2. The user can input start times for the hair salon and the movie theater while not assigning times to the gift shop and the clothing store. For example, thefirst event804 and thefourth event810 can have no event start time associations. Thesecond event806 can have a9:00 am hair salon appointment time association. The combination of thesixth path903, theseventh path904, theeighth path906, theninth path908, and thetenth path910 can represent theevent route902.
Theevent inventory module308 ofFIG. 3 can be used to search theevent inventory313 ofFIG. 3 for movie show times for thethird event808. For example, the user can input the movie theater into the selectnth event module332 ofFIG. 3. Theevent inventory313 can display the show times of a movie for that day.
For this example, the movie show times can be 3:00 pm, 6:00 pm, and 10:00 pm. The user can input the 3:00 pm time into the select nthstart time module336 ofFIG. 3. For illustrative purposes, thenth start time338 ofFIG. 3 can represent the start time assignment for thethird event808. It is understood that subsequent event of interest entries can be entered into theuser input module204 in a similar manner.
The generateintermediate route module406 ofFIG. 4 can generate theintermediate route426 ofFIG. 4. Theintermediate route426 can represent a route that is based on the time associations for the hair salon and the movie theater. The detectconflict module408 ofFIG. 4 can analyze theintermediate route426 for any conflicts. Theconflict428 ofFIG. 4 can represent the conflicts within theintermediate route426.
For example, the start time assigned to the hair salon can cause a conflict in the route. If the user begins theevent route902 at 8:55 am, the user cannot use thedistance route802 because thedistance route802 has the first stop at the gift shop or thefirst event804. If the user goes to the gift shop first, the user will miss the 9:00 am hair salon appointment. The detectconflict module408 can detect the overlap between thefirst event804 and thesecond event806. This overlap can represent theconflict428.
The calculatesegment time module410 ofFIG. 4 can scan thesegment travel time432 ofFIG. 4 between thestart location803, thefirst event804, and thesecond event806. The calculatesegment time module410 can generate thesegment travel time432 which can include the information needed to resolve theconflict428. Thesegment travel time432 can be sent to theresolve conflict module414 ofFIG. 4.
Theresolve conflict module414 ofFIG. 4 can assign theconflict428 to thealternative time436 ofFIG. 4. For example, theresolve conflict module414 can assign thefirst event804 to be after thesecond event806. Theresolve conflict module414 can generate thechange430 ofFIG. 4. Thechange430 can reflect thefirst event804 being assigned to after thesecond event806. Theresolve conflict module414 can send thechange430 to the verifymodule416 ofFIG. 4.
The verifymodule416 can generate the verifiedroute440 ofFIG. 4. The verifiedroute440 can represent a route with no conflicts. The verifiedroute440 can be sent to theselect route module418 ofFIG. 4. Theselect route module418 can convert the verifiedroute440 into theevent route444 ofFIG. 4. Theevent route444 can be sent to thenavigation decision module208 ofFIG. 2. Thenavigation decision module208 can send theevent route444 to therun navigation module210 ofFIG. 2. Theevent route444 can represent theevent route902.
Therun navigation module210 can execute theevent route902. Therun navigation module210 can display thesixth path903. Thesixth path903 can give directions to thesecond event806 because of the 9:00 am appointment time. After thesecond event806, theseventh path904 can give directions to thefirst event804 because the gift shop is the next closest event of interest. Since the user assigned a start time of 3:00 pm to the movie theater, thethird event808 can be assigned as the second to the last stop of theevent route902 before thedestination location812.
Theeighth path906 can give directions to thefourth event810. Thefourth event810 can represent the clothing store. While at thefourth event810, theevent options module212 ofFIG. 2 can alert the user of the next appointment time at 3:00 pm. The user can resume theevent route902 by taking theninth path908 to thethird event808.
If the user decides to prolong the stop at thefourth event810, theevent route902 can be modified at any time. Theuser input module204 ofFIG. 2 can be used to modify theevent route902. For example, the start time at thethird event808 can be modified to the 6:00 pm movie show time.
Thetenth path910 can give directions from thethird event808 to thedestination location812. In this example, thedestination location812 can represent the user's parked vehicle. At thedestination location812, theevent route902 has concluded.
Theevent route902 can also represent a route based on thechange probability526 ofFIG. 5. For example, the movie theater at thethird event808 could have sold out of tickets. Based off thehistorical information520 ofFIG. 5, the generatechange probability module506 ofFIG. 5 can generate thechange probability526. Thechange probability526 can represent a75 percent probability that a seat will open up for the scheduled movie at thethird event808. If the option is available, themanifest module508 can place the user on the waitlist for the movie theater. The user can select thechange probability route434 ofFIG. 4 as theevent route902 at theselect route module418.
Referring now toFIG. 10, therein is shown a flow chart of amethod1000 of operation of thenavigation system200 in a further embodiment of the present invention. Themethod1000 includes: receiving a start location and a destination location in ablock1002; receiving a first start time associated with a first event in ablock1004; receiving a second start time associated with a second event with the first start time subsequent to the second start time and the first event closer to the start location than the second event in ablock1006; and generating an event route, for displaying on a device, from the start location to the second event to the first event to the destination location based on the first start time relative to the second start time in ablock1008.
Yet another important aspect of the present invention is that it valuably supports and services the historical trend of reducing costs, simplifying systems, and increasing performance. These and other valuable aspects of the present invention consequently further the state of the technology to at least the next level.
Thus, it has been discovered that the navigation system of the present invention furnishes important and heretofore unknown and unavailable solutions, capabilities, and functional aspects for improving performance, increasing reliability, increasing safety and reducing cost of using a mobile client having location based services capability. The resulting processes and configurations are straightforward, cost-effective, uncomplicated, highly versatile, accurate, sensitive, and effective, and can be implemented by adapting known components for ready, efficient, and economical manufacturing, application, and utilization.
While the invention has been described in conjunction with a specific best mode, it is to be understood that many alternatives, modifications, and variations can be apparent to those skilled in the art in light of the aforegoing description. Accordingly, it is intended to embrace all such alternatives, modifications, and variations that fall within the scope of the included claims. All matters hithertofore set forth herein or shown in the accompanying drawings are to be interpreted in an illustrative and non-limiting sense.