Navigation system with event of interest routing mechanism and method of operation thereof

A method of operation of a navigation system includes: 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.

TECHNICAL FIELD

The present invention relates generally to a navigation system, and more particularly to a navigation system with event of interest routing mechanism.

BACKGROUND ART

Modern 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.

DISCLOSURE OF THE INVENTION

The 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.

BEST MODE FOR CARRYING OUT THE INVENTION

The 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 an environment100using an embodiment of the present invention. The environment100applies to any embodiment of the present invention described later. The environment includes a first device102, such as a server or client. The first device102can be linked to a second device104, such as a client or server, with a communication path106, such as a network.

The first device102can be any of a variety of centralized or decentralized computing devices. For example, the first device102can 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. The first device102can include routing functions or switching functions for coupling with the communication path106to communicate with the second device104.

As a further example, the first device102can 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).

The second device104can be of any of a variety of mobile devices. For example, the second device104can be a cellular phone, personal digital assistant, a notebook computer, or other multi-functional mobile communication or entertainment devices having means for coupling to the communication path106.

As a further example, the second device104can 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),

The communication path106can be a variety of networks. For example, the communication path106can 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 the communication 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 the communication path106.

Further, the communication path106can traverse a number of network topologies and distances. For example, the communication path106can include personal area network (PAN), local area network (LAN), metropolitan area network (MAN), and wide area network (WAN).

For illustrative purposes, the first device102is shown in a single location, although it is understood that the server can be centralized or decentralized and located at different locations. For example, the first device102can 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, the environment100is shown with the second device104as a mobile computing device, although it is understood that the second device104can be different types of computing devices. For example, the second device104can be a mobile computing device, such as notebook computer, another client device, or a different type of client device.

Further for illustrative purposes, the environment100is shown with the first device102and the second device104as end points of the communication path106, although it is understood that the environment100can have a different partition between the first device102, the second device104, and the communication path106. For example, the first device102, the second device104, or a combination thereof can also function as part of the communication path106.

Referring now toFIG. 2, therein is shown a flow chart for operating a navigation system200with event of interest routing mechanism in a first embodiment of the present invention. The navigation system200can generate and modify itineraries and routes based on events of interest, event start times, event duration times, and any changes to thereof.

A start module202depicts 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 a user input module204. The user input module204can display menus to the user and prompt the user to input information for operating the navigation system200. The user input module204will be explained in greater detail below. The user input module204can progress to a calculate route module206.

The calculate route module206can generate routes. The calculate route module206can also display information that can assist in generating an itinerary. The calculate route module206will be explained in greater detail below. After generating a route, the process can progress to a navigation decision module208.

The navigation decision module208can depict an option to continue to a run navigation module210or an option to return to the user input module204. If the navigation decision module208is set to yes, the process passes to the run navigation module210. If the navigation decision module208is set to no, the process passes to the user input module204. At the user input module204, the user can create a new itinerary or modify the previous itinerary.

The run navigation module210can 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. The run navigation module210can also play multimedia information about the surrounding area and about the upcoming event of interest. The process can then pass to an event options module212.

The event options module212can 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. The event options module212can execute tour programs and provide routing instructions within the event of interest. For example, the event of interest can be a historical landmark, and the event options module212can play a tour about the historical landmark. The event options module212can provide routing instructions to events of interest around or within the historical landmark.

The event options module212can 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 a resume decision module214.

The resume decision module214depicts the option to resume or end the process. If the resume decision module214is set to yes, the process passes to the navigation decision module208. The navigation decision module208can execute the run navigation module210to navigate to the next event of interest on the itinerary. If the itinerary has expired or the user decides to modify the itinerary, the navigation decision module208is set to no. The process can then return to the user 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 the resume decision module214is set to no, the process passes to an end 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. The end module216can depict one possible end of the process.

Referring now toFIG. 3, therein is shown a flow chart of the user input module204ofFIG. 2. The user input module204is linked to the start module202and the calculate route module206ofFIG. 2.

The user input module204can include a enter trip information module302, an update start location module304, an enter destination module310, an event inventory module308, and an event inventory313. The user input module204can also include a select first event module314, a reselect module318, a select first start time module320, a select second event module324, a select second start time module328, a select nth event module332, and a select nth start time module336.

The select nth event module332and the select nth start time module336can 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 enter trip information module302can receive input from the user to generate a trip information303. The trip information303can 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 enter trip information module302can send the trip information303to the event inventory module308. The trip information303can be used by the event inventory module308to update the event inventory313. The process can pass to the update start location module304from the enter trip information module302.

The update start location module304can detect a start location306. The start location306can represent a current location of the second device104ofFIG. 1, as an example. The start location306can be determined through various methods. For example, the update start location module304can utilize a global positioning system (GPS), inertial navigation system, cell-tower location system, accelerometer location system, or any combination thereof to determine the start location306. Additionally, the start location306can be received through user input into the update start location module304.

The update start location module304can send the start location306to the event inventory module308. After sending the start location306to the event inventory module308, the process can pass to the enter destination module310from the update start location module304.

The enter destination module310can allow the selection of a destination location312as a user input or based on the event inventory. The destination location312can include the last stop or an intermediate on the route. The destination location312can be selected from the event inventory313or can be manually inputted. For example, the destination location312can be the start 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. The enter destination module310can send the destination location312to the event inventory module308. The process can then pass to the event inventory module308.

The event inventory module308can update the event inventory313. The event inventory313can represent a database of events of interests and start times associated with the events of interest. The event inventory313can also include pre-generated tours based on a city, a region, the start location306, the destination location312, a calendar period, or a combination thereof.

The event inventory module308can receive and utilize the trip information303, the start location306, and the destination location312to update the event inventory313. Updates can be based on region, season, and other criteria. For example, the event inventory module308can update the event inventory313for local festivals and concerts. Events such as concerts require updates to the event inventory313because concerts can occur at certain times of the year and at different venues.

The event inventory module308can 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 the event inventory313. The event inventory module308can display the contents of the event inventory313including event start times and event duration times. The process can then pass to the select first event module314.

The select first event module314can allow the selection of a first event316from the event inventory313. The user can search the event inventory313in order to make the selection. The select first event module314can send the first event316to the reselect module318. The first event316can represent any location stored or inputted into the event inventory313.

The first event316can also include a pre-generated tour from the event 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 select first event module314to the select first start time module320. If the first event316is a pre-generated tour, the process can pass directly to the reselect module318.

The select first start time module320can allow the selection of a first start time322and a first stop time340from the event inventory313. The first start time322can include a suggested arrival time associated with the first event316. The first stop time340can depict the conclusion time or the duration of the first event316. The first start time322and the first stop time340can also be inputted by the user.

For example, the first event316can represent a theme park. The first start time322can be set to a 9:00 am arrival time. The first stop time340can be set to 3:00 pm. In addition, the first stop time340can be set to 6-hour duration from the first start time322.

The select first start time module320can be bypassed because the first event316may 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. The first event316can be set to the user's residence and no values can be inputted into the select first start time module320.

The select first start time module320can send the first start time322and the first stop time340to the reselect module318. The process can pass from the select first start time module320to the select second event module324.

The select second event module324can function in a similar method as the select first event module314. The select second event module324can allow the selection of a second event326from the event inventory313. The select second event module324can send the second event326to the reselect module318. The process can then pass to the select second start time module328.

The select second start time module328can function in a similar method as the select first start time module320. The select second start time module328can allow the selection of a second start time330and a second stop time342from the event inventory313. The select second start time module328can send the second start time330and the second stop time342to the reselect module318. The process can repeat up to “n” number of events and “n” is a positive integer. The process can then pass to the select nth event module332.

The select nth event module332can represent subsequent inputs of event of interest. The select nth event module332can allow the user to input an nth event334. The select nth event module332can send the nth event334to the reselect module318.

The select nth start time module336can represent subsequent “nth” start time and stop time inputs. The select nth start time module336can allow the user to input an nth start time338and an nth stop time346. The select nth start time module336can send the nth start time338and the nth stop time346to the reselect module318. This process can repeat until the user has finished inputting events and time information.

For illustrative purposes, the modules of the user input module204are described as discrete functional modules, although it is understood that the modules of the user input module204can have a different configuration. For example, the select first event module314, the select first start time module320, the select second event module324, and the select second start time module328may not be discrete functional modules but may have one or more of the aforementioned modules combined into one functional module.

The reselect module318can allow a new value to be entered into the select first event module314, the select first start time module320, the select second event module324, the select second start time module328, the select nth event module332, and the select nth start time module336. For example, the reselect module318can allow changes or mistakes to be corrected for the event of interest information.

If the reselect module318received the first event316as a pre-generated tour, the reselect module318can display each event of interest within the tour. The reselect module318can automatically assign event start times and event stop times from the pre-generated tour. The reselect module318can 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 calculate route module206ofFIG. 2.

Referring now toFIG. 4, therein is shown a flow chart of the calculate route module206ofFIG. 2. The calculate route module206can receive the itinerary information of each event of interest from the user input module204ofFIG. 2. The calculate route module206can include a generate distance route module402, a manual decision module404, a generate intermediate route module406, a detect conflict module408, a calculate segment time module410, a probability route module412, a resolve conflict module414, a verify module416, a select route module418, an itinerary module420, and a generate manual route module422.

The generate distance route module402can calculate a distance route424. The distance route424can represent a route to each event of interest that utilizes the shortest available distance between the start location306ofFIG. 3, the destination location312ofFIG. 3, and the user-defined events of interest. The distance route424can also represent the route of a pre-generated tour that utilizes the shortest distance. The generate distance route module402can send the distance route424to the manual decision module404.

Based on the events of interest, the generate distance route module402can generate a route based on the shortest total distance. For example, the distance route424can represent a route that minimizes backtracking The distance route424can be used as an example if the user decides to generate a route manually.

The manual decision module404can depict an option for the process to pass to the generate intermediate route module406or to pass to the itinerary module420. The manual decision module404can 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 generate intermediate route module406. If the user chooses to generate an itinerary and route manually, the process can pass to the itinerary module420. The manual decision module404can send the distance route424to the itinerary module420or the generate intermediate route module406.

The generate intermediate route module406can generate an intermediate route426. The intermediate route426can represent a route that incorporates the available time information from the user input module204. The intermediate route426can include the start and stop time associations from the user input module204for each event of interest. If no times are entered into the user input module204, the intermediate route426can be the same as the distance route424. The generate intermediate route module406can send the intermediate route426to the detect conflict module408.

The detect conflict module408can scan the intermediate route426to detect a conflict428. The conflict428can represent information including problems between the events of interest that would make the intermediate route426invalid when navigating. The intermediate route426can be invalid if two events of interest are assigned to the same event start time or are overlapping. For example, the second start time330ofFIG. 3can be in-between the first start time322ofFIG. 3and the first stop time340ofFIG. 3where the first event316overlaps the second event326.

Further for example, the conflict428can represent an overbooked or expired event of interest. A movie theater can sell out of tickets for that scheduled time. The conflict428can also include the first event316being too far away from the second event326so that the user does not have enough time to reach the second event by the second start time330.

If the detect conflict module408does not detect the conflict428, the detect conflict module408can send the intermediate route426to the select route module418. If the detect conflict module408detects the conflict428, the detect conflict module408can send the conflict428to the calculate segment time module410.

The calculate segment time module410can generate a segment travel time432. The segment travel time432can represent the travel time between the event of interest with the conflict428and other events of interest. The segment travel time432can be used to modify the route to remove the conflict428. The calculate segment time module410can also determine if the user has enough time to reach each event of interest that is scheduled on the intermediate route426.

The calculate segment time module410can send the segment travel time432to the resolve conflict module414. The calculate segment time module410can also send the segment travel time432to the probability route module412.

The resolve conflict module414can receive the segment travel time432from the calculate segment time module410. The resolve conflict module414can use the segment travel time432, the distance route424, the trip information303ofFIG. 3, and the event inventory313ofFIG. 3to modify the intermediate route426. The resolve conflict module414can remove the conflict428from the intermediate route426by assigning events of interest to an alternative time436or a different day438.

The alternative time436can represent instructions to reassign each event of interest or a portion of the events of interest to a different time to remove the conflict428. These reassignments can resolve the conflict428. The different day438can represent information that is similar to the alternative time436. If the route is a multiple-day route, the different day438can represent instructions to reassign events of interest to a different day to resolve the conflict428.

If the trip information303is set to a multiple day trip, the different day438can be assigned to a non-conflicting day and time based on the distance route424, the intermediate route426, and the segment travel time432. For example, the resolve conflict module414can start with the distance route424to compute a different version of the intermediate route426to remove the conflict428across multiple days. The segment travel time432between events of interests can be used to calculate if the conflict428exists. As another example, the resolve conflict module414can start with the intermediate route426to compute a different version of the intermediate route426to remove the conflict428across multiple days.

If the trip information303is set to one day, the resolve conflict module414can assign the alternative time436to a non-conflicting time based on the distance route424, the intermediate route426, and the segment travel time432. For example, the resolve conflict module414can start with the distance route424to compute a different version of the intermediate route426to remove the conflict428within the one day. The segment travel time432between events of interests can be used to calculate if the conflict428exists. As another example, the resolve conflict module414can start with the intermediate route426to compute a different version of the intermediate route426to remove the conflict428within the one day.

The resolve conflict module414can resolve a conflict resulting from a change430, such as a change in schedule, a cancellation, or an additional showing, in one or more of the events of interest along the intermediate route426. The change430can represent the modifications to the events of interest in the route. The change430can be from the event inventory313ofFIG. 3. The change430can include the alternative time436, the different day438, or a combination thereof. The change430can be sent to the verify module416.

The verify module416can verify that the intermediate route426does not have the conflict428by searching for conflicts based on the change430. The verify module416can 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 verify module416detects new problem with the intermediate route426, the verify module416can return processing the intermediate route426to the resolve conflict module414.

The resolve conflict module414can remove the conflicts based on the change430. For example, if the first event316is assigned to the alternative time436that is after the second event326, the verify module416can verify that the second stop time of the second event326plus the segment travel time432is prior to the first start time322. If the conflict428still remains between the first event316and the second event326, the resolve conflict module414can remove the conflict428, as described in the earlier example. The process can repeat until the verify module416no longer detects the conflict428based on the change430.

The verify module416can generate a verified route440based on the change430. The verified route440can represent a route without any conflicts. The verify module416can send the verified route440to the select 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.

The probability route module412can receive the conflict428. The probability route module412can generate a change probability route434. The change probability route434can function as an alternative route to the verified route440and will be explained in greater detail below. The probability route module412can send the change probability route434to the select route module418.

The itinerary module420can allow the selection of a user-defined itinerary and route. The itinerary module420can depict the option for a user to select the route manually as an alternative to the verified route440and the probability route module412. The itinerary module420can generate a trip itinerary442. The trip itinerary442can represent a user-defined schedule of each event of interest.

The itinerary module420can display traffic, distance, and estimated arrival time associated with events of interest in the distance route424. The itinerary module420can also provide a graphical display of the distance route424, such as a map, with each event of interest as a point on the map. The itinerary module420can be used to customize the trip itinerary442. The itinerary module420can send the trip itinerary442to the generate manual route module422.

The generate manual route module422can receive the trip itinerary442. The generate manual route module422can convert the trip itinerary442into a manual route446. The manual route446can be sent to the select route module418.

The select route module418can generate an event route444. The event route444can represent the selection of the manual route446, the change probability route434, or the verified route440that will be used for navigation. The event route444can be sent to the run navigation module210ofFIG. 2.

The select route module418can display information about the manual route446, the change probability route434, and the verified route440to the user. For example, the select route module418can display the total time and total distance for the manual route446, the change probability route434, and the verified route440. The select route module418can send the event route444to the navigation decision module208. The process can then pass to the navigation 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 the probability route module412ofFIG. 4. The probability route module412considers possible changes to the event route444ofFIG. 4based on the probability of changes to any one of the event of interest along the event route444. This allows users to select the event route444that can have the conflict428for 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 the conflict428to another time or day, the probability route module412can extrapolate a percentage that the conflict428will resolve itself at a later scheduled start time. If this percentage is high, the probability route module412can provide an option for the event route444that includes the conflict428.

The probability route module412can include a historical module504, a generate change probability route module506, and a generate route module516. The historical module504can include a manifest module508, a calendar module510, and a traffic module512.

For illustrative purposes, the modules of the probability route module412are described as discrete functional modules, although it is understood that these modules can have a different configuration. For example, the manifest module508, the historical module504, the calendar module510, the traffic module512, the generate route module516, and the generate change probability route module506may 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. The probability route module412can 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. The probability route module412can determined the probability that the seat will open up in the afternoon and the user can plan the day trip accordingly.

The historical module504can provide historical changes for the events along the intermediate route426ofFIG. 4. The historical module504can request information from the manifest module508, the calendar module510, and the traffic module512.

The historical module504can generate a historical information520. The historical information520can include information from the manifest module508, the calendar module510, and the traffic module512.

The manifest module508can search manifests, guest lists, seating charts, and ticket list information. For example, the manifest module508can access the standby list for an air flight or ticket information for a concert. The manifest module508can make reservations or place the user on the waiting list for an event of interest and display the user's position of the waitlist. The manifest module508can contribute information to the historical information520.

The calendar module510can analyze seasonal and time information. For example, the calendar module510can 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. The calendar module510can contribute information to the historical information520.

The traffic module512can track traffic statistics that can affect the segment travel time432ofFIG. 4. The traffic module512can use the calendar module510to determine seasonal traffic statistics. For example, the conflict428can represent an event of interest at 4:00 pm and the next event of interest at 4:30 pm. The conflict428can be based on the typical travel segment time of 45 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, the traffic module512can 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, the segment travel time432can become 28 minutes. The traffic module512can contribute information to the historical information520.

The generate change probability module506can receive the historical information520. The generate change probability module506can extrapolate a change probability526based on the historical information520. The change probability526can represent the probability that the conflict428can be resolved at the time the event of interest is scheduled or before the intermediate route426reaches that event.

When generating the change probability526, the generate change probability module506analyzes the historical information520, such as historical changes, trends in cancellations, seasonal traffic conditions, and current conditions about the event. The generate change probability module506can send the change probability526to the generate route 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, the navigation system200can generate the even route444with the change probability526of85percent of removing the conflict428. At the time when the intermediate route426was generated, the intermediate route426had the conflict428. The example 85 percent value for the change probability526can represent a high probability that the conflict428will be resolved at a future time. The navigation system200that can detect the change probability526can open up routing options that would normally not be available to other navigation systems.

The physical transformation of the distance route424, the intermediate route426, the verified route440, the change probability route434, and the event route444results in movement in the physical world, such as people using the second device104ofFIG. 1or vehicles, based on the operation of the navigation system200. As the movement in the physical world occurs, the movement itself creates additional information that is converted back to the distance route424, the intermediate route426, the verified route440, the change probability route434, and the event route444for the continued operation of the navigation system200and to continue the movement in the physical world.

The generate route module516can receive the change probability526. The generate route module516can generate the change probability route434ofFIG. 4based on the change probability526. The generate route module516can send the change probability route434to the select route module418ofFIG. 4.

Referring now toFIG. 6, therein is shown a block diagram of a navigation system600with event of interest routing mechanism in a second embodiment of the present invention. The navigation system600can include a device602that can link to a communication path604. The device602can represent the second device104ofFIG. 1. The communication path604can link to a global positioning system606. The communication path604can be linked to a second device608, such as a server.

The device602can access the communication path604for location services, such as the global positioning system606. The device602can be any of a variety of centralized or decentralized computing devices or any of a variety of mobile devices. For example, the device602can 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. The device602can include routing functions or switching functions for coupling with the communication path604.

As another example, the device602can be a cellular phone, personal digital assistant, a notebook computer, or other multi-functional mobile communication or entertainment devices having means for coupling to the communication path604. The communication path604can include the same variety of networks listed in the communication path106ofFIG. 1.

The device602can include a number of functional units. For example, the device602can include a control unit610such as a processor or computer, a communication unit612, a vehicle interface unit614, a user interface616, a memory618, a first software620, a location unit622, and a display interface624.

The components illustrated inFIG. 6are 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 the navigation system600are possible for the present invention.

The control unit610can be coupled to the communication unit612, the vehicle interface unit614, the user interface616, the memory618, and the location unit622. The memory618can include the first software620. The user interface616can be linked to the display interface624.

The display interface624can include a display or a projector. The user interface616can 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 the navigation system600.

For illustrative purposes, the navigation system600is described with discrete functional units, although it is understood that the navigation system600can have a different configuration. For example, the control unit610, the communication unit612, the vehicle interface unit614, and the location unit622may not be discrete functional units but may have one or more of the aforementioned units combined into one functional unit.

The first software620can include the navigation system200ofFIG. 2. The control unit610can execute the first software620and can provide the intelligence of the device602. The control unit610can interact with the vehicle interface unit614, the communication path604via the communication unit612, and the user interface616.

The vehicle interface unit614can interact with a vehicle or other device such as a laptop. For example, if linked to a vehicle, the vehicle interface unit614can access the speakers in the vehicle to play audio. The vehicle interface unit614can utilize a cable connection or a wireless connection such as blue-tooth to interact with the vehicle or other device.

The location unit622can provide location information and can be implemented in many ways. For example, the location unit622can be an inertial navigation system, cell-tower location system, accelerometer location system, or any combination thereof. The location unit622can be linked with the global positioning system606, through the communication path604, to determine location and provide location information. The location unit622can include the active and passive components, such as microelectronics or an antenna, for interaction with the communication path604.

The memory618, such as a volatile memory, a nonvolatile memory, an internal memory, an external memory, or a combination thereof, can store the first software620, setup data, multimedia data, photos, text, sounds recordings, video, and other data for the operation of the navigation device. The memory618can 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. The memory618can also store recorded, imaged, sampled, or created relevant information to be transmitted to the device602.

The memory618can be implemented in a number of ways. For example, the memory618can 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).

The communication unit612can connect with the communication path604and can include active and passive components, such as microelectronics or an antenna, for interaction to the telecommunication system of the communication path604.

The user interface616, for example, can receive the trip information303ofFIG. 3, the destination location312ofFIG. 3, the first event316ofFIG. 3, and the first start time322ofFIG. 3as user input. The control unit610can send the trip information303, the destination location312, and event of interest information to the memory618. The control unit610can access the global positioning system606through the communication unit612, the location unit622, or a combination thereof.

The update start location module304ofFIG. 3can use the communication unit612and the location unit622to detect the start location306ofFIG. 3. The event inventory module308ofFIG. 3can use the communication unit612to update the event inventory313ofFIG. 3. The historical module504ofFIG. 5can use the communication unit612and the location unit622to update the historical information520ofFIG. 5.

The memory618can receive and store the trip information303, the destination location312, the first event316, the first start time322, and the first stop time340ofFIG. 3. The first software620can generate the distance route424ofFIG. 4, the intermediate route426ofFIG. 4, the trip itinerary442ofFIG. 4, the change probability route434ofFIG. 4, the verified route440ofFIG. 4and the event route444ofFIG. 4. The distance route424, the trip itinerary442, the change probability route434, the verified route440, and the event route444can be displayed on the display interface624.

The display interface624can display and play audio information from the event options module212ofFIG. 2. The display interface624can also display routes and play audio directions from the run navigation module210ofFIG. 2.

Referring now toFIG. 7, therein is shown a block diagram of a navigation system700with event of interest routing mechanism in a third embodiment of the present invention. A first device702, such as a server or non-mobile computing device, can link to a second device706, such as a client device or a mobile computing device, with a communication path704. The first device702can include routing functions or switching functions for coupling with the communication path704to communicate with the second device706.

The second device706can be of any of a variety of mobile devices. For example, the second device706can be a cellular phone, personal digital assistant, a notebook computer, or other multi-functional mobile communication or entertainment devices having means for coupling to the communication path704. The communication path704can be a variety of networks similar to networks listed in the communication path106ofFIG. 1.

For illustrative purposes, the first device702is shown as a server. The first device702is shown in a single location, although it is understood that the server can be centralized or decentralized and located at different locations. For example, the first device702can 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, the navigation system700is shown with the second device706as a client. The second device706can be a mobile computing device, although it is understood that the second device706can be different types of computing devices. For example, the second device706can be a mobile computing device, such as notebook computer, another client device, or a different type of client device.

Yet further, for illustrative purposes, the navigation system700is shown with the first device702and the second device706as end points of the communication path704, although it is understood that the navigation system700can have a different partition between the first device702, the second device706, and the communication path704. For example, the first device702, the second device706, or a combination thereof can also function as part of the communication path704.

The first device702can include a server control unit710, such as a processor or a computer, a server communication unit708, a user interface716, and a memory714. The memory714can include a first software712. The server control unit710can be coupled to the server communication unit708, the user interface716, and the memory714.

For illustrative purposes, the navigation system700is shown with the first device702described with discrete functional units, although it is understood that the navigation system700can have the first device702in a different configuration. For example, the server control unit710, the server communication unit708, the memory714, and the first software712may not be discrete units but may have one or more of the aforementioned units combined into one functional unit.

The server control unit710can execute the first software712and can provide the intelligence of the first device702for interaction with the second device706. The server control unit710can interact with the communication path704via the server communication unit708. The server communication unit708can send and receive information through the communication path704.

The second device706can include, for example, a client control unit718, such as a processor, coupled with a client local storage720, a second software722, a client communication unit724, a client vehicle interface unit726, a client location unit728, and a client user interface730having a client display interface732. The client user interface730can 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 the second device706. The navigation system200ofFIG. 2can be partitioned between the first software712and the second software722.

The client control unit718can execute the second software722from the client local storage720. The client control unit718can provide the intelligence of the second device706for interaction with the first device702. The second software722can allow the second device706to interact with the communication path704via the client communication unit724and with the client location unit728.

The client vehicle interface unit726can interact with a vehicle or other device such as a laptop. For example, if linked to a vehicle, the client vehicle interface unit726can access the speakers in the vehicle to play audio. The client vehicle interface unit726can utilize a cable connection or a wireless connection such as blue-tooth to interact with the vehicle or other device.

The client location unit728can provide location information and be implemented in many ways. For example, the client location unit728can be a global positioning system (GPS), inertial navigation system, cell-tower location system, accelerometer location system, or any combination thereof. The client location unit728can include the active and passive components, such as microelectronics or an antenna, for interaction with the communication path704.

The client local storage720can store the second software722, setup data, multimedia data, photos, text, sounds recordings, video, and other data for the operation of the second device706as a navigation device. The client local storage720can 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 the first device702or can be preloaded. The client local storage720can also store recorded, imaged, sampled, or created relevant information to be transmitted to the first device702.

The client local storage720can be implemented in a number of ways. For example, the client local storage720can 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).

The client communication unit724can connect to the server communication unit708through the communication path704. The client communication unit724can include active and passive components, such as microelectronics or an antenna, for interaction to the telecommunication system of the communication path704.

The partitioning of the navigation system200can be based on the storage size of the client local storage720. If the client local storage720has a large memory capacity, more modules of the navigation system200can be partitioned to the second device706. The partitioning the of the navigation system200can also be based on the processing power or access to the processing power.

For example, the first software712can include the event inventory313ofFIG. 3and the second software722can include the other modules of the navigation system200. As another example of a partition can have the first software712include the calculate route module206ofFIG. 2, and the event options module212ofFIG. 2. The second software722can include the user input module204ofFIG. 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 the navigation system200is possible for the present invention.

For illustrative purposes, user input, such as the trip information303ofFIG. 3, the destination location312ofFIG. 3, and event of interest information can be inputted into the client user interface730. The client control unit718can send the trip information303, the destination location312, and event of interest information to the first software712through the client communication unit724. For example, the second device706can receive the trip information303, the destination location312, the first event316of FIG, the first start time322ofFIG. 3, and the first stop time340ofFIG. 3from the first device702by using the client communication unit724.

The second software722can include the calculate route module206ofFIG. 2, the run navigation module210ofFIG. 2, and the event options module212ofFIG. 2. The client control unit718can execute the second software722.

The update start location module304ofFIG. 3can use the client communication unit724and the client location unit728to detect the start location306ofFIG. 3. The event inventory module308ofFIG. 3can use the client communication unit724and the server communication unit708to update the event inventory313ofFIG. 3. The historical module504ofFIG. 5can use the client communication unit724and the server communication unit708to update the historical information520ofFIG. 5.

The distance route424ofFIG. 4, the intermediate route426ofFIG. 4, the trip itinerary442ofFIG. 4, the change probability route434ofFIG. 4, the verified route440ofFIG. 4and the event route444ofFIG. 4can be displayed on the client display interface732.

The client display interface732can display and play audio information from the event options module212ofFIG. 2. The client display interface732can also display routes and play audio directions from the run navigation module210ofFIG. 2.

Referring now toFIG. 8, therein is shown a first geographic view of an application of the navigation system200ofFIG. 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 a distance route802, a start location803, a first event804, a second event806, a third event808, an fourth event810, a destination location812, a first path814, a second path816, a third path818, a fourth path820, and a fifth path822. The paths can represent the route or a route segment from one event to another event of interest. For example, the first path814can represent the route from the start location803to the first event804. The combination of the first path814, the second path816, the third path818, the fourth path820, and the fifth path822can represent the distance route802. The distance route802can 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. The first event804can represent a gift shop. The second event806can represent a hair salon. The third event808can represent a clothing store. The fourth event810can represent a movie theater. The start location803can represent the user's current location in the shopping mall. The destination location812can represent the user's parked vehicle.

Also for illustrative purposes, the first path814, the second path816, the third path818, the fourth path820, and the fifth path822are shown as linear paths, although it is understood that first path814, the second path816, the third path818, the fourth path820, and the fifth path822can be in different configurations. For example, some or all the paths can be nonlinear paths.

The generate distance route module402ofFIG. 4can generate the distance route802. The distance route802can represent the distance route424ofFIG. 4. If no start times are assigned to any of the events of interest, the distance route802can be used as the event route444ofFIG. 4. For example, the user can input no preferences for event start times for the first event804, the second event806, the third event808, and the fourth event810. The distance route802can serve as the event route444for that trip.

Referring now toFIG. 9, therein is shown a second geographic view of the application of the navigation system200ofFIG. 2. The geographic view can represent the same events of interest fromFIG. 8. The geographic view can include the start location803, the first event804, the second event806, the third event808, the fourth event810, and the destination location812ofFIG. 8.

The geographic view can include an event route902, a sixth path903, a seventh path904, an eighth path906, a ninth path908and a tenth path910. The paths can represent the route from one event of interest to another event of interest. For illustrative purposes, the sixth path903, the seventh path904, the eighth path906, the ninth path908and the tenth path910are 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 the user input module204ofFIG. 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, the first event804and the fourth event810can have no event start time associations. The second event806can have a9:00am hair salon appointment time association. The combination of the sixth path903, the seventh path904, the eighth path906, the ninth path908, and the tenth path910can represent the event route902.

The event inventory module308ofFIG. 3can be used to search the event inventory313ofFIG. 3for movie show times for the third event808. For example, the user can input the movie theater into the select nth event module332ofFIG. 3. The event inventory313can 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 nth start time module336ofFIG. 3. For illustrative purposes, the nth start time338ofFIG. 3can represent the start time assignment for the third event808. It is understood that subsequent event of interest entries can be entered into the user input module204in a similar manner.

The generate intermediate route module406ofFIG. 4can generate the intermediate route426ofFIG. 4. The intermediate route426can represent a route that is based on the time associations for the hair salon and the movie theater. The detect conflict module408ofFIG. 4can analyze the intermediate route426for any conflicts. The conflict428ofFIG. 4can represent the conflicts within the intermediate route426.

For example, the start time assigned to the hair salon can cause a conflict in the route. If the user begins the event route902at 8:55 am, the user cannot use the distance route802because the distance route802has the first stop at the gift shop or the first event804. If the user goes to the gift shop first, the user will miss the 9:00 am hair salon appointment. The detect conflict module408can detect the overlap between the first event804and the second event806. This overlap can represent the conflict428.

The calculate segment time module410ofFIG. 4can scan the segment travel time432ofFIG. 4between the start location803, the first event804, and the second event806. The calculate segment time module410can generate the segment travel time432which can include the information needed to resolve the conflict428. The segment travel time432can be sent to the resolve conflict module414ofFIG. 4.

The resolve conflict module414ofFIG. 4can assign the conflict428to the alternative time436ofFIG. 4. For example, the resolve conflict module414can assign the first event804to be after the second event806. The resolve conflict module414can generate the change430ofFIG. 4. The change430can reflect the first event804being assigned to after the second event806. The resolve conflict module414can send the change430to the verify module416ofFIG. 4.

The verify module416can generate the verified route440ofFIG. 4. The verified route440can represent a route with no conflicts. The verified route440can be sent to the select route module418ofFIG. 4. The select route module418can convert the verified route440into the event route444ofFIG. 4. The event route444can be sent to the navigation decision module208ofFIG. 2. The navigation decision module208can send the event route444to the run navigation module210ofFIG. 2. The event route444can represent the event route902.

The run navigation module210can execute the event route902. The run navigation module210can display the sixth path903. The sixth path903can give directions to the second event806because of the 9:00 am appointment time. After the second event806, the seventh path904can give directions to the first event804because 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, the third event808can be assigned as the second to the last stop of the event route902before the destination location812.

The eighth path906can give directions to the fourth event810. The fourth event810can represent the clothing store. While at the fourth event810, the event options module212ofFIG. 2can alert the user of the next appointment time at 3:00 pm. The user can resume the event route902by taking the ninth path908to the third event808.

If the user decides to prolong the stop at the fourth event810, the event route902can be modified at any time. The user input module204ofFIG. 2can be used to modify the event route902. For example, the start time at the third event808can be modified to the 6:00 pm movie show time.

The tenth path910can give directions from the third event808to the destination location812. In this example, the destination location812can represent the user's parked vehicle. At the destination location812, the event route902has concluded.

The event route902can also represent a route based on the change probability526ofFIG. 5. For example, the movie theater at the third event808could have sold out of tickets. Based off the historical information520ofFIG. 5, the generate change probability module506ofFIG. 5can generate the change probability526. The change probability526can represent a75percent probability that a seat will open up for the scheduled movie at the third event808. If the option is available, the manifest module508can place the user on the waitlist for the movie theater. The user can select the change probability route434ofFIG. 4as the event route902at the select route module418.

Referring now toFIG. 10, therein is shown a flow chart of a method1000of operation of the navigation system200in a further embodiment of the present invention. The method1000includes: receiving a start location and a destination location in a block1002; receiving a first start time associated with a first event in a block1004; 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 a block1006; 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 a block1008.

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.