Abstract:
In a process for determining a route from a predetermined starting point to a predetermined destination, firstly, weights are assigned to route segments interconnected at route nodes. At least a first weight relating to a first route segment is varied by querying at least a data source based on at least a second weight relating to a second route segment. The second route segment is prior to the first route segment in a consideration of the route from the starting point to the destination. Subsequently, the route is determined by using a route finding algorithm, the algorithm taking the weights into account.

Description:
BACKGROUND  
       [0001]     1. Field of the Invention  
         [0002]     The present invention relates to methods for determining a route from a predetermined starting point to a predetermined destination.  
         [0003]     2. Background of the Invention  
         [0004]     Substantial effort has been exerted in the past and is continuing to be directed toward route planning between origins and destinations in a variety of networks. Such examples include directing traffic in a manner to facilitate travel by individuals between a wide variety of origin and destination combinations in an optimized amount of time, distance, cost or the combination thereof.  
         [0005]     For example, U.S. Pat. No. 6,63,812, entitled “Method for Influencing Source Data for Determining a Route in a Navigation System,” issued on Oct. 14, 2003 and assigned to Robert Bosch GmbH, discloses a method for manipulating source data to determine a route from a predetermined starting point to a predetermined destination for a motor vehicle, airplane or ship, based on a digital database that includes predetermined route segments with correspondingly assigned nodes that interconnect respective route segments. Respective weights are assigned to the route segments and/or the nodes. According to the &#39;812 patent, the weights are varied, as a function of external events such as traffic conditions at the time the shortest-path computation is executed, before a route finding algorithm determines the route.  
         [0006]     Inaccuracy may exist with this method in that in the &#39;812 patent the weights are determined statically without taking into consideration the possible dynamic variations of the weights. Take public transport planning for example, in  FIG. 13 , a user is to travel from starting point  101  to destination  103  via interchange point  105 . The traveling time between point  101  and point  105  is 30 minutes, while the traveling time between point  105  and point  103  is 45 minutes before 8:30 am but will decreases to 30 minutes after 8:30 am. Assuming the user is to leave point  101  at 8:15 am. According to the algorithm of the &#39;812 patent, the calculated total traveling time from point  101  to point  103  via point  105  would be 75 minutes. But the actual total traveling time is 60 minutes indeed. This inaccuracy occurs in that the algorithm of the &#39;812 patent calculates the traveling time based on the information at the time of calculation, i.e., 8:15 am, and at this time, the algorithm considers the traveling time between point  105  and point  103  to be 45 minutes. In reality, when the user reaches point  105 , it is 8:45 am already, and the traveling time between point  105  and point  103  has decreased to 30 minutes. The algorithm of the &#39;812 patent ignored the possible decrease in the traveling time between point  105  and  103  when it executes the calculation.  
       OBJECT OF THE INVENTION  
       [0007]     Therefore, it is an object of the present invention to provide an improved route planning method, which may simulate the real situation more accurately, or at least provide the public with a useful choice.  
       SUMMARY OF THE INVENTION  
       [0008]     According to an aspect of the present invention, in a process for determining a route from a predetermined starting point to a predetermined destination, firstly, weights are assigned to route segments interconnected at route nodes. At least a first weight relating to a first route segment is varied by querying at least a data source based on at least a second weight relating to a second route segment. The second route segment is prior to the first route segment in a consideration of the route from the starting point to the destination. Subsequently, the route is determined by using a route finding algorithm, the algorithm taking the weights into account.  
         [0009]     According to a second aspect of the present invention, a process for determining an optimized route from a starting node to a destination node, comprising 
        i. assigning fixed weights to static route segment, wherein the values of the fixed weights are pre-assigned;     ii. assigning dynamic weights to dynamic route segment, wherein the values of the dynamic weights can be varied dynamically, and wherein the static route segments and the dynamic route segments interconnected at route nodes;     iii. determining a preferred route using a route finding algorithm, with the fixed weights taken into account;     iv. querying the dynamic weights from a data source based on the value of at least one of the previous fixed weights and dynamic weights when the route finding algorithm comes into the consideration of the dynamic route segments;     v. assigning the values of the dynamic weights obtained from the data source to the dynamic route segment; and     vi. resuming the route finding algorithm and repeating steps iv and     v until the optimized path from a starting node to a destination node is determined.        
 
         [0017]     According to a third aspect of the present invention, a process for determining an optimized route from a starting node to a destination node for public transport planning and/or vehicular navigation which takes into consideration of preferred paths between multiple-station exchanges, wherein the starting node and the destination node are connected via a plurality of static route segments and a plurality of dynamic route segments, and whether the route segments are classified into a plurality of map layers, comprising 
        i. assigning known fixed weights to the static route segments in each map layer;     ii. assigning unknown dynamic weights to the dynamic route segments with a specific parameter in each map layer;     iii. combining a plurality of route segment graphs of all the layers into a single route segment graph;     iv. determining a preferred route using a route finding algorithm with the known fixed weights taken into account;     v. querying the unknown dynamic weights from a data source based on the value of previous weights when the route finding algorithm comes into the consideration of dynamic route segments;     vi. assigning the values of the unknown dynamic weights obtained is from the data source to the dynamic route segments; and     vii. resuming the route finding algorithm and repeating steps v and vi until the optimized path from a starting node to a destination node is determined.        
 
         [0025]     According to a further aspect of the present invention, a navigation system includes 
        a user interface for allowing a user to enter a starting point and a destination;     an output for informing the user of an optimized route between the starting point and the destination; and     a processor for executing the following steps to determine the optimized route: 
            assigning weights to route segments, the route segments interconnected at route nodes;     varying at least a first weight relating to a first route segment by querying at least a data source based on at least a second weight relating to a second route segment, wherein the second route segment is prior to the first route segment in a consideration of the route from the starting point to the destination; and     determining the optimized route using a route finding-algorithm, the algorithm taking the weights into account.    
               
 
         [0032]     Other aspects and advantages of the invention will become apparent from the following detailed description, taken in conjunction with the accompanying drawings, which description illustrates byway of example the principles of the invention. 
     
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0033]      FIG. 1  illustrates a graph with upper and lower layers, in which an exemplary embodiment of the present invention can be used;  
         [0034]      FIG. 2  illustrates a table and a graph with the connections between nodes of upper and lower layers of  FIG. 1   
         [0035]      FIG. 3  illustrates segments between the nodes in the upper and lower layers of  FIG. 1 ;  
         [0036]      FIG. 4   a  illustrates the query of data source, which is useful in the exemplary embodiment of the present invention;  
         [0037]      FIG. 4   b  illustrates the vehicle routes between regions, in which the exemplary embodiment can also be used;  
         [0038]      FIG. 4   c  illustrates the vehicle routes between regions with nodes in the lower layer of  FIG. 4   b;    
         [0039]      FIG. 4   d  illustrates the segments in the lower layer of  FIG. 4   b;    
         [0040]      FIG. 5   a  illustrates the segments in the upper layer of  FIG. 4   b;    
         [0041]      FIG. 5   b  illustrates the segments between the nodes in the upper and lower layers of  FIG. 5   a;    
         [0042]      FIG. 5   c  illustrates the vehicle routes between the regions in the upper and lower layers of  FIG. 5   b;    
         [0043]      FIG. 5   d  illustrates the addition of parameter nodes;  
         [0044]      FIG. 6   a  illustrates the addition of waiting time and duration time nodes;  
         [0045]      FIG. 6   b  illustrates the addition of distance/cost nodes;  
         [0046]      FIG. 6   c  illustrates the addition of combination of parameters;  
         [0047]      FIG. 7   a  illustrates the segments between nodes in the upper and lower layers;  
         [0048]      FIG. 7   b  illustrates the shortest paths in the lower layer;  
         [0049]      FIG. 7   c  illustrates the shortest paths in the beginning segment region of the lower layer;  
         [0050]      FIG. 7   d  illustrates the shortest paths in the ending segment region of the lower layer;  
         [0051]      FIG. 7   e  illustrates the reconstructed model in the upper and lower layers;  
         [0052]      FIG. 8   a  illustrates the shortest paths in the lower layer;  
         [0053]      FIG. 8   b  illustrates the reconstructed model of the transport routes;  
         [0054]      FIG. 9   a  illustrates the segments in the beginning and ending segment regions of the lower layer;  
         [0055]      FIG. 9   b  illustrates the shortest paths in the lower layer;  
         [0056]      FIG. 9   c  illustrates the reconstructed model in the upper and lower layers;  
         [0057]      FIG. 10  illustrates the reconstructed model of transport routes;  
         [0058]      FIG. 11   a  illustrates the reconstructed model of parameter segments;  
         [0059]      FIG. 11   b  illustrates the query of dynamic/real time information;  
         [0060]      FIG. 11   c  illustrates the result of the shortest path;  
         [0061]      FIG. 12   a  illustrates the reconstructed model of vehicle routes;  
         [0062]      FIG. 12   b  illustrates the query of dynamic/real time information;  
         [0063]      FIG. 12   c  illustrates the result of the shortest transportation path; and  
         [0064]      FIG. 13  illustrates a simplified route planning as an example for the purpose of comparison with prior designs. 
     
    
     DETAILED DESCRIPTION  
       [0065]     As shown in the Figures, in an exemplary embodiment, to handle real-time/dynamic information, additional nodes are added to the path between two nodes to represent various parameters, The added segment will obtain real-time information from data sources such as databases, web services of existing transport systems based on the weight and information of the previous starting node when applying in the shortest path algorithm.  
         [0066]     The exemplary system is a system based on multi-layer modeling method employing shortest path algorithm at each layer. In the upper layer, possible routes between source and destination are extracted. In each path, it stores its passed nodes in the lower layer. In lower layer, shortest path algorithm is used to minimize the path between multiple nodes exchanges and the resulting shortest path will combine with routes in upper layer to reconstruct the model. After that, the reconstructed model can be plugged into shortest path algorithm to-compute the best/shortest/smallest weight route in upper layer.  
         [0000]     Real Time Application  
         [0067]     Examples of real time application of the present invention includes: 
        1. Providing real-time route planning and guidance service for passengers of public transport systems.     2. Providing real-time information such as time, distance, costs or any kinds of variable or their combinations in computing the shortest/best/smallest weight route from original location to destination.     3. Minimizing the paths during multiple stations exchanges.     4. Integrating with tourism information and city information to provide guidance about sight seeing, shopping and traveling etc. 
 
 Definitions in Transport Route Planning 
       
 
         [0072]     The following terms are herein defined for the purpose of the present application.  
         [0073]     Real-time information, Weight and Parameter can be time, distance, cost or any kinds of parameter and their combinations depending on the requirements of systems or users.  
         [0074]     Data Sources can be databases, web services or any kinds of data storage.  
         [0075]     Data Sources Providers can be transport systems such as railway systems, vehicle systems, airline systems shipping systems or any kinds of transport information service provider.  
         [0076]     Shortest Path Algorithm or route finding algorithm can be Dijkstra algorithm or any kinds of shortest path algorithm.  
         [0077]     Layers can be nations, provinces, cities, districts or any kinds of location.  
         [0078]     The model can be reused in other areas (e.g. Compute Network) to consider real-time information and minimize the multiple nodes exchanges problems in shortest path algorithm.  
         [0000]     Data Sources  
         [0079]     Referring to  FIG. 1 , the graph (map) is separated into layers, an upper layer node represents multiple nodes in the lower layer. The nodes in each layer are used to query the segments between nodes from the data sources.  
         [0080]     The segments between nodes are obtained through the query of data source providers. Each segment connects two nodes together with the details about the route and the passed nodes In the lower layer, as shown in  FIG. 2 .  
         [0081]     In the lowest layer, each segment connects two nodes together and stores its weight, as shown in  FIG. 3 .  
         [0082]     In the following example of transport route planning referring as shown in  FIG. 4   a  to  4   d,  the routes between regions in upper layer are obtained through the query of the data sources of providers (e.g. railways, vehicles, airlines). The returned details about the path (e.g. route number) and passed nodes in lower layer (e.g. name and location of stations) are stored with the paths. In the lower layer, the segment represents the path within same region and node represents point of interest in that region.  
         [0083]     A modeling example is described, based on the lowest two layers as shown in  FIGS. 5   a  and  5   b.    
         [0084]     Steps 1-4 are executed in the exemplary process as detailed below,  
         [0000]     Step 1: Searching for all possible paths from the source to destination in the upper layer.  
         [0085]     a. Searching routes from source to destination by querying the data sources.  
         [0086]     b. Store the returned information about the path and the passed nodes in lower layer with the segments.  
         [0087]     In public transport route planning, the routes are obtained through the query of transport systems. The returned information about the route and the passed points in lower layer are stored with the route.  
         [0000]     Step 2: Adding an additional node for each parameter.  
         [0088]     To handle real-time parameter (e.g. time, distance, cost etc. or their combinations), an additional node is added in the segment between two connected nodes to represent the weight of that parameter. The real-time weight of the added segment will be obtained from data source during the computation of shortest path algorithm in that layer.  
         [0089]     This real-time information about the newly created segment is kept up-to-date and managed by the data source providers.  
         [0090]     The following as shown in  FIGS. 6   a  to  6   c,  is an example in transport route planning of adding parameters about time. Other parameters or their combinations can also be applied to the model depending on the requirements of systems or users.  
         [0091]     Additional weight can be added to each segment for considering more than one parameter in shortest path algorithm. Referring to the figures, the shortest path algorithm has to store an additional parameter to determine the shortest path.  
         [0092]     As shown in  FIGS. 7   a  to  7   e,  the following will use the time parameter as an example. Other kinds of parameter can also be applied to the model with the same approach as the example using time,  
         [0000]     Step 3:  
         [0000]     A. Computing the shortest exchange, paths of multiple stations exchanges in lower layer.  
         [0093]     In the upper layer, the segment has the information about the passed nodes in the lower layer. Therefore, in each upper layer node, the model has a list of lower layer nodes between two connected segments. Those nodes in the lower layer connecting to the beginning of a segment called beginning nodes while those connecting to the end of a segment called ending nodes. For each ending nodes, we compute shortest/smallest weight path with the shortest path algorithm to all beginning nodes of a segment and choose the smallest one to construct a new segment connecting from the ending node to the beginning node. This procedure repeats for each beginning segment region, as shown in  FIGS. 8   a  to  8   b.    
         [0094]     In transport route planning, the shortest/ smallest weight paths (e.g. walking paths within same region) in transport exchange are first calculated to minimize the weight of paths during exchanges and then combine with nodes in higher layer (e.g. transport route between regions) to reconstruct the model.  
         [0000]     B. Computing the shortest path in lower layer from the source nodes to the first beginning segment region &amp; from the last ending segment region to destination nodes.  
         [0095]     As shown in  FIGS. 9   a  to  9   c,  in the lower layer, the shortest/smallest weight path from the source nodes to the all beginning segment regions and from the all ending segment regions to destination nodes are first calculated with the shortest path algorithm and then combine with nodes in higher layer to reconstruct the model.  
         [0096]     In transport route planning the shortest/smallest weight paths (e.g. walking path) from the source to the first transport station and from the last transport station to the destination are first calculated to minimize the weight of paths and then combine with nodes in higher layer (e.g. transport route) to reconstruct the model, as shown in  FIG. 10 .  
         [0000]     Step 4: Plugging the model into shortest path algorithm and integrating with the real-time information and weight of segments from data source.  
         [0097]     As described in  FIGS. 11 a  to  11  c, the reconstructed model is plugged into the shortest path algorithm. The real-time weight and information about the parameter segment are obtained through the query of the data source based on the weight and information of the previous connected node. The real-time data are kept up-to-date and managed by the data source providers.  
         [0098]     In transport route planning, for example, as shown in  FIGS. 12   a  to  12   c,  the real-time weight and information about parameters segment (e.g. waiting time and duration time) are obtained through the query of the data source (e.g. databases of railway systems) based on the weight and information (e.g. time, station name, route number) of the previous connected node. The real-time data are kept up-to-date and managed by the data source providers (transport systems e.g. railway system).  
         [0099]     Hence, the modeling method applying in the shortest path algorithm allows the consideration of real-time information about routes and minimizes the weight of paths during multiple stations exchanges in transport route planning. This provides accurate and efficient solutions to users to minimize their traveling time, cost, distance etc. or their combinations.  
         [0100]     It is a multi-layer modeling method. The usage in transport route planning service can be extended from the use across regions to cities, provinces and nations. In a modern city, customers can easily access the detail information about public transports. With our model, this real-time information can be integrated together to provide the most efficient solutions to users. With the increasing use of mobile data services in the near future, users can access services constructed on the model to plan their transport route based on their requirements in anytime, anywhere and any devices.  
         [0101]     Referring to the example of  FIG. 13  again, according to the exemplary embodiment of the present invention, when the user calculates the traveling time between point.  101  and point  103 , the user firstly calculates the arrival time at point  105  to be 8:45 am based on the information that the traveling time from point  101  to point  105  is 30 minutes. The user then queries an external data source provided by, for example, a transportation authority and will get the information that the traveling time between point  105  and point  103  will be 30 minutes, based on the information that he arrives point  105  at 8:45 am. As a result, the user is able to accurately calculate the total traveling time from point  101  to point  103  via point  105  to be 60 minutes.  
         [0102]     It can be understood that a computing device or a navigation system (not shown) embedding the exemplary process and having access to external data sources can be developed for the above described route planning and/or transportation navigation purposes. The user may simply enter the starting point and destination on the navigation system and triggers the route planning process. The navigation system will automatically execute the exemplified process, access the necessary external data sources, determine and present a shortest route to the user, as could be generally understood by the person in the field.  
         [0103]     As could be appreciated by the people in the art, the route planning algorithm discussed thereabove can also be applied to computer network planning. Therefore, in the present application, the term “route” may also refer to a sequence of connections between different nodes in a computer network.  
         [0104]     It could also be understood that the external data source, from which the user or the system queries the dynamic weights based on the value of at least one of the previous fixed weights and/or dynamic weights when the route finding algorithm comes into the consideration of the dynamic route segments can be an “internal” data source embedded in the system as well. For example, the system may include a database to keep track the position of buses using GPS.