Abstract:
For providing navigational information to a user of a mobile device ( 150 ), a browser ( 160 ) of a mobile device ( 150 ) is used to access through HTIP a remote computerized LBS server ( 100 ). With the location based services data from the LBS server ( 100 ), the browser ( 160 ) receives, in addition to geographical positions of points of interest, navigation command codes and at least one URL associated with a local HTTP server ( 211 ) located in the mobile device ( 150 ). The browser ( 160 ) receives instructions from the user for selecting a point of interest and a navigation command code. The local HTTP server ( 211 ) is accessed from the browser ( 160 ) by using the URL in association with the selected point of interest and the selected navigation command code. In response to the URL received in the local HTTP server ( 211 ), a navigation function is executed in the mobile device ( 150 ) in accordance with the selected navigation command code and the geographical position of the selected point of interest.

Description:
FIELD OF THE INVENTION 
       [0001]    The present invention relates to a system and a method for providing navigational information to a user of a mobile device. Specifically, the present invention relates to a system and a method for providing navigational information to a user of a mobile communication terminal using a browser to access through a transfer protocol, e.g. the Hypertext Transfer Protocol (HTTP), a remote computerized LBS server providing location based services (LBS). 
       BACKGROUND OF THE INVENTION 
       [0002]    A particularly useful utilization of mobile devices in combination with the Internet is providing to the mobile user location-specific information while he is traveling. Thus, using mobile devices, i.e. communication terminals configured to access the Internet via a mobile radio network, such as a GSM-network (Global System for Mobile Communication), a UMTS-network (Universal Mobile Telephone System) or another mobile radio telephone system, or a wireless local area network (WLAN), mobile users can access and receive location based services (LBS). Generally, LBS servers receive from mobile users geo-coded location data representative of a location X, e.g. in the form of an address, postal code, coordinates (WGS84 coordinates), and/or a category. Subsequently, the LBS server provides the mobile LBS user with one or more points of interest (POI) located in the vicinity of that location X. The location based services data provided by conventional LBS servers is limited, however, to the geographic location and other descriptive information about points of interest, such as hotels, restaurants, business listings, holiday resorts, etc. As most publishers of location based services data are interested in persuading mobile LBS users to visit their establishments, it would be advantageous to provide to the users not only the location of points of interest but also navigational information for navigating the user to a selected point of interest. 
       SUMMARY OF THE INVENTION 
       [0003]    It is an object of this invention to provide a new system and a new method for delivering navigational information to a user of a mobile device. In particular, it is an object of the present invention to provide a system and a method for delivering the navigational information to the mobile user based on location based services data provided by a LBS server. 
         [0004]    According to the present invention, these objects are achieved particularly through the features of the independent claims. In addition, further advantageous embodiments follow from the dependent claims and the description. 
         [0005]    The mobile user uses a browser of the mobile device to access through a transfer protocol, e.g. the Hypertext Transfer Protocol (HTTP) via a mobile radio network, a remote computerized LBS (location based services) server providing location based services (data). 
         [0006]    According to the present invention, the above-mentioned objects are particularly achieved in that, in addition to geographical positions of points of interest, the location based services data, received in the browser from the LBS server, includes navigation command codes and at least one resource locator, e.g. a Uniform Resource Locator (URL), associated with a local transfer protocol server located in the mobile device, e.g. a resident HTTP server. Instructions are received in the browser from the user for determining a selected one of the points of interest and a selected one of the navigation command codes. Preferably, in the location based services data, the LBS server transmits to the browser web page definition code enabling the browser to receive from the user the instructions for selecting the selected one of the points of interest and the selected one of the navigation command codes. The local transfer protocol server is accessed from the browser by using the resource locator in association with the selected one of the points of interest and the selected one of the navigation command codes. In response to the resource locator received in the transfer protocol server from the browser, a navigation function is executed in the mobile device. The navigation function is defined by the selected one of the navigation command codes, and provides to the user navigational information related to the geographical position of the selected one of the points of interest. For example, the navigation function provides to the user navigational information navigating the user from the current position of the mobile device to the geographical position of the selected one of the points of interest. 
         [0007]    By implementing a local transfer protocol server in the mobile device and by extending the LBS server to include in the location based services data navigation command codes and a resource locator associated with the local transfer protocol server, it is possible to extend the functionality of the LBS server with navigation functionality at the mobile device, with only minor changes at the LBS server. Moreover, if a mobile device is used that has an inherent navigation engine, e.g. a mobile navigation device, it is possible to provide navigation functionality to the location based services data received from the LBS server, by merely implementing the resident transfer protocol server in the mobile device in addition to the changes at the LBS server. 
         [0008]    In an embodiment, the location based services data received in the browser includes navigation command resource locators, whereby each navigation command resource locator is a resource locator associated with the local transfer protocol server located in the mobile device, a geographical position of a point of interest and/or a navigation command code. In the browser, instructions are received from the user for selecting a selected one of the navigation command resource locators. Preferably, in the location based services data, the LBS server transmits to the browser web page definition code enabling the browser to receive from the user the instructions for selecting the selected one of the navigation command resource locators. Subsequently, the local transfer protocol server located in the mobile device is accessed by using the selected navigation command resource locator. 
         [0009]    In an alternative embodiment, a navigation command resource locator is generated in the browser from the resource locator associated with the local transfer protocol server, the geographical position of the selected one of the points of interest and the selected one of the navigation command codes. Preferably, in the location based services data, the LBS server transmits to the browser web page definition code, enabling the browser to generate the navigation command resource locator, e.g. by means of a Java applet. Subsequently, the local transfer protocol server located in the mobile device is accessed by using the generated navigation command resource locator. 
         [0010]    In a preferred embodiment, the current geographical position of the mobile device is transmitted from the mobile device to the remote LBS server. The LBS server determines and includes in the location based services data points of interests having geographical positions within a defined distance from the current geographical position of the mobile device. 
         [0011]    In addition to a system and a method for providing navigational information to a user of a mobile device, the present invention also relates to a first computer program product including computer program code means for controlling one or more processors of an LBS server which provides location based services, and a second computer program product including computer program code means for controlling one or more processors of a mobile communication terminal. Particularly, the computer program products include a computer readable medium containing therein the computer program code means. 
         [0012]    The first computer program product comprises computer program code means for controlling the processors of the LBS server, such that the LBS server stores web page definition code including geographical positions of points of interest, navigation command codes, and at least one resource locator for accessing a transfer protocol server located in the mobile communication terminals. The web page definition code enables the browser to receive from a user instructions for selecting a selected one of the points of interest and a selected one of the navigation command codes. Furthermore, the LBS server receives requests for location based services from the browsers of the remote mobile devices and transmits to the mobile communication terminals, responsive to the requests, location based services data including the web page definition code with at least one of the geographical positions of points of interest, at least one of the navigation command codes, and the resource locator. 
         [0013]    The second computer program product comprises computer program code means for controlling the processors of the mobile communication terminal, such that the mobile communication terminal implements a local transfer protocol server, and requests and receives through a transfer protocol from a remote computerized LBS server location based services data including geographical positions of points of interest, navigation command codes, at least one resource locator for accessing the local transfer protocol server located in the mobile communication terminal, and web page definition code enabling a browser of the mobile communication terminal to receive from a user instructions for selecting a selected one of the points of interest and a selected one of the navigation command codes. Furthermore the mobile device executes navigation functions in response to the resource locator received in the transfer protocol server from the browser, a navigation function being defined by the selected one of the navigation command codes, received in the transfer protocol server in connection with the resource locator, and providing to the user navigational information related to the geographical position of the selected one of the points of interest, received in the transfer protocol server in connection with the resource locator. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0014]    The present invention will be explained in more detail, by way of example, with reference to the drawings in which: 
           [0015]      FIG. 1  shows a block diagram illustrating schematically a system for providing location based services (LBS) according to the prior art whereby a mobile device retrieves location based services data from an LBS server via a transfer protocol. 
           [0016]      FIG. 2  shows a block diagram illustrating schematically an exemplary configuration of a system for practicing embodiments of the present invention, said configuration comprising a mobile device configured to retrieve location based services data with navigational information from a computerized LBS server. 
           [0017]      FIG. 3  shows a flow diagram illustrating an example of a sequence of steps executed according to the present invention for providing navigation information to a user of a mobile device. 
           [0018]      FIG. 4  shows a flow diagram illustrating an example of a sequence of steps executed according to the present invention for providing navigation functionality to a user of a mobile device. 
           [0019]      FIG. 5  shows a flow diagram illustrating an example of a sequence of steps executed according to the present invention for providing navigation information related to nearby objects. 
           [0020]      FIG. 6  shows a flow diagram illustrating an example of a sequence of steps executed according to the present invention for providing navigation functionality related to nearby objects. 
       
    
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS 
       [0021]    As illustrated in  FIG. 1 , the publisher of a point of interest (POI) database  120  maintains a computerized LBS Server  100 , comprising a web server  110  with the web site layout/functionality definition  111  and a POI database  120  back end. 
         [0022]    In  FIGS. 1 and 2 , reference numeral  150  refers to a mobile device, e.g. a mobile communication terminal, such as a mobile radio telephone, a navigation device, a PDA (personal digital assistant) or laptop computer, having a communication module for communicating with the remote LBS Server  100  using a transfer protocol  130  such as HTTP via the Internet  140  through a mobile radio network such as a GSM-network, a UMTS-network or another mobile radio telephone system, or a WLAN. 
         [0023]    The mobile device  150  comprises an Internet browser  160  enabling the user of the mobile device  150  to connect to the LBS web site of the LBS server  100  via Internet  140  using the transfer protocol  130  (HTTP). 
         [0024]    The typical LBS web page  170  provided by the web server  110  features search controls  190  which make it possible for the mobile LBS user to specify criteria for searching for one or more specific POIs. Typical search criteria are address, postcode, and category. The LBS server  100  retrieves the relevant POI from the POI database  120  and lists them in a search result list  180  for the mobile device  150 . Typically, POI-specific URLs accompany each list entry  181 ,  182  for guiding the mobile LBS user to in-depth information about that POI. 
         [0025]    As illustrated in  FIG. 2 , according to the present invention, the prior art system of  FIG. 1  is extended for providing navigation information to the user of the mobile device  150 . First, the mobile device  150  is extended with a local navigation server  210  that runs as a local transfer protocol server  211  on the mobile device  150 , particularly a resident HTTP navigation server that runs as an HTTP server. Second, the web site definition  111  of the web server  110  is provided with extended web page definition code  200  including navigation command URLs  221 ,  222  (shown in  FIG. 2  after retrieval from the LBS server  100 , as part of the search list  220 ). The navigation command URLs refer to (address) the transfer server  211  located in the mobile device  150 , and include a navigation command code associated with a specific navigation command. In an alternative embodiment, the extended web page definition code  200  is configured to enable the Internet browser  160  to generate the navigation command URLs from a URL, referring to (addressing) the local transfer protocol server  211 , and from navigation command codes kept separate from this URL. Each of the navigation command URLs addresses the local navigation server  210  via the local transfer protocol  240  (HTTP) to execute a specific navigation command. 
         [0026]    In addition to the local transfer protocol server  211 , the local navigation server  210  comprises navigation modules  214 , preferably implemented as programmed software modules, which include a navigation command handler  212  and a navigation engine  213  with a navigation user interface (UI). The navigation command handler  212  is configured to parse and respond to navigation commands URLs received in the transfer protocol server  211  from the Internet browser  160 . After being launched and/or activated by one of the navigation commands, the navigation engine  213  provides to the mobile LBS user the navigation functionality corresponding to that respective command. Navigation commands trigger navigation related functions, such as “navigate to position”, “add position to route” or “show position on map”. 
         [0027]    The nearby search functionality (e.g. “find POIs nearby my current position”) is enabled, for example, by adding a publish position trigger element  230  to the extended web page definition code  200  (shown in  FIG. 2  after access to the LBS server  100 , as part of the navigation web page  170 ). 
         [0028]    The publish position trigger element  230  facilitates a publishing mechanism for making known to the LBS Server  100  the mobile device&#39;s current position, e.g. the current geographical coordinates. For example, the current position is determined by a GPS receiver (Global Positioning System) internal to the mobile device  150  or connected to the mobile device, e.g. through Bluetooth. 
         [0029]    The publish position trigger element is a URL embedded into the LBS web page  170 . The above information is interchanged between LBS Server  100  and mobile device  160  as follows. 
         [0030]    The position trigger element URL  230  retrieves an IMAGE type resource, e.g. in GIF (Graphics Interchange Format) format, from the transfer protocol server  211 . By using an IMAGE type resource a request to the transfer protocol server  211  is generated without requiring any user interaction, hence the term trigger. 
         [0031]    In the arguments of position trigger element URL  230 , the specific LBS Server address A, and a user session identifier B are transmitted to the transfer protocol server  211 . A and B are now known on the mobile device  160 . 
         [0032]    With this information, the local transfer protocol server  211  can now publish the current GPS coordinate (X, Y) of the device in use by the user identified by session identifier B to LBS server A. This is achieved by issuing a request to LBS server having address A, thereby transmitting the user session identifier B and the coordinate (X, Y). 
         [0033]    With this information on the LBS Server  100  a list of current mobile device users (accessing the Web pages  170  maintained by the LBS Server  100 ) with their positions can be maintained, facilitating the nearby search functionality for each of those users individually. 
         [0034]    In the following paragraphs, with reference to  FIGS. 3 ,  4 ,  5  and  6 , described are exemplary sequences of steps for providing the user of the mobile device  150  with navigational information. 
         [0035]    The mobile LBS user enters in the location bar of his/her Internet browser  160  an URL for requesting, in step  301 , a LBS web page from the LBS Server  100 . The publisher of LBS web page owns structured LBS content, consisting of POIs categories, e.g. restaurants, hotels, etc. In step  302 , responsive to the request of step  301  the LBS Server  100  responds to the mobile LBS user via transfer protocol  130  (HTTP). Based on this response, in the mobile LBS user&#39;s Internet browser  150 , an easy to identify LBS web page with POIs categories is provided in layout  310 . The mobile LBS user chooses the POI category of his/her interest, e.g. by clicking “restaurants” in step  320 . 
         [0036]    Optionally, the mobile LBS user can impose search criteria in the LBS web page (not shown in the flow diagram of  FIG. 3 ). When a search for specific restaurants is performed, a new request/response is addressed/provided to/by LBS Server  100 , and the mobile LBS user receives the POI(s) category filtered according to his/her wishes. In the example illustrated in the flow diagram of  FIG. 3 , in step  330 , restaurants located at a defined distance from the mobile device&#39;s current geographical position (coordinates) are outlined. 
         [0037]    From the list of restaurants shown in step  330 , e.g. “La Parra”, “Pittara”, etc., in step  340 , the mobile LBS user clicks the POI that he is interested in, for example the restaurant “La Parra”. This POI or any other potential POI is accompanied by a short description including street, phone number, city, zip code, URL and/or category, according to what the LBS publisher provides. In this way, after clicking the desired POI in step  340 , the mobile LBS user is empowered with navigation capabilities, as represented in layout  350 . This means that the mobile LBS user has the possibility to activate navigation related functions such as: “navigate to position”, “add position to route” or “show position on map”, the position referring to the location of the POI item selected by the user. 
         [0038]    The navigation related functions are provided when navigation command URLs are embedded in the LBS web page layout or generated in the Internet browser  160  by extended web page definition code  200 , respectively. To perform navigation related functions, in step  360 , the mobile LBS user clicks one of the navigation commands shown in layout  350 . The local navigation server  210  processes the navigation command and provides the navigational information and functionality in step  370 . 
         [0039]      FIG. 4  illustrates an exemplary succession of events that occur in the local navigation server  210  when the mobile LBS user performs a request for a navigation related function. 
         [0040]    In step  361 , the navigation related function is send via local transfer protocol  240  (HTTP) to the local transfer protocol server  211  (resident HTTP server) of the local navigation server  210 . 
         [0041]    Block  370  for showing the navigation functionality includes a succession of blocks responsible for providing the navigational information and functionality to the mobile LBS user. 
         [0042]    In step  371 , the transfer protocol server  211  gets the request in the form of a navigation command URL. In step  372 , it parses the request, and, in step  373 , identifies the parameters of the request in order to get the selected location. Based on the selected location, the navigation command handler  212  activates navigation related function, which parses the navigation command on the navigation UI and navigation engine  213 . In step  374 , the navigation UI and navigation engine are launched and/or activated, and navigation related functions are performed according to steps  375   a ,  375   b , or  375   c , respectively, based on the navigation command selected by the mobile LBS user. 
         [0043]    At step  375   a , when the mobile LBS user clicks the command “show on map”, a map with the selected POI is displayed, e.g. a map wherein the restaurant “La Parra” is marked by  1  and described in the rectangular callout from flow diagram of  FIG. 4 . 
         [0044]    At step  375   b , when the mobile LBS user clicks the command “navigate to”, a route is displayed in the application (local navigation server side), wherein the route has as the departure point the actual position obtained by GPS, marked by  2 , and as the destination point the selected restaurant, “La Parra”, marked by  1 , as shown in the flow diagram of  FIG. 4 . 
         [0045]    At step  375   c , when the mobile LBS user clicks the command “add to route”, the actual POI, i.e. “La Parra” restaurant, becomes a waypoint for the selected route (marked by dotted line arrow between  2  and  3 ). The new route adds point  1  and includes point  2  as departure, point  3  as destination and point  1  as waypoint to be added to the route, as indicated in the flow diagram of  FIG. 4 . 
         [0046]    The flow diagram shown in  FIG. 5  is an extension of the flow diagram of  FIG. 3 , providing nearby functionality to the mobile LBS user at the local navigation server  210 . The description is limited to events and diagram blocks that have not been described in the context of  FIG. 3 . 
         [0047]    In the LBS web page layout  310 , there is additionally provided an item for nearby functionality which is selectable and clickable by the mobile LBS user. The nearby functionality provides to the mobile LBS user the possibility to explore the POI(s), which are located around him/her, i.e. POI located within a defined distance of the current position. After clicking the nearby functionality in step  311 , a request is send in step  312  to the local navigation server  210 , which performs block  313  for showing the nearby functionality. Basically, the current position of the mobile LBS user is sent in step  314  to the LBS Server  100 . In step  315 , the LBS server  100  provides via HTTP a layout web page  316  to the mobile LBS user&#39;s Internet browser  160 . In the web page layout  316 , the mobile LBS user has the possibility to visualize the POIs categories and click for POI category of interest (step  320 ). 
         [0048]      FIG. 6  illustrates an exemplary succession of events that occur in the local navigation server  210  when the mobile LBS user performs a request for a navigation function with nearby functionality. The flow diagram shown in  FIG. 6  is an extension of the flow diagram of  FIG. 5 , providing nearby functionality to the mobile LBS user at the local navigation server  210  side. 
         [0049]    The nearby functionality is enabled when the publish position trigger element  230  is added in the extended web page definition code  200 . 
         [0050]    The sequence of events is described in the case when the mobile LBS user does not know his location and performs nearby search. The mechanism to obtain the current GPS position of the mobile LBS user is provided as described below. 
         [0051]    Processing of the request from step  312  in the local navigation server  210  is shown in block  313  for showing the nearby functionality. Upon the mobile LBS user clicking “find POIs nearby my current position” 
         [0052]    The request ( 312 ) means that when the mobile LBS user clicks the “nearby functionality”, an URL is addressed to local transfer protocol server  211  of the local navigation server  210  via the local transfer protocol  240  (HTTP). 
         [0053]    In step  313   a , the local transfer protocol server  211  gets the request in the form of the publish position trigger element  230 , containing a graphical resource, e.g. GIF. In the arguments of the URL associated with publish position trigger element  230 , the specific LBS Server address A, and the user session identifier B are included. 
         [0054]    It parses the request in step  313   b , then retrieves the graphical resource in step  313   c , and finally gets the position of the mobile LBS user in step  313   d.    
         [0055]    In step  314 , the local transfer protocol server  211  sends a response to LBS Server  100 , publishing to the specific LBS Server having address A the current GPS position of the specific user identified by session identifier B. With this information on the LBS Server  100  a list of current mobile device users (accessing the Web pages  170  maintained by the LBS Server  100 ) with their positions can be maintained, facilitating the nearby search functionality for each of those users individually.