Abstract:
Embodiments of the present invention relate to a method and mechanism for managing location information in a wireless portal environment. The method consists of acquiring the location information from a user&#39;s location-enabled wireless device which is in communication with a wireless network, storing the location information in a storage device in the wireless network, retrieving the location information from the storage device in the wireless network, and disseminating the location information to a client which is also in communication with the wireless network. A client can be any type of network presence that is enabled to provide services that are enhanced with knowledge of a user&#39;s physical location in a wireless portal environment. The location information can be geophysical information derived from global positioning system (GPS) or any other location-specific information from a suitable source.

Description:
FIELD OF THE INVENTION  
         [0001]    Embodiments of the present invention relate to the field of methods and apparatus for communicating user location using computing devices in a wireless network.  
         BACKGROUND OF THE INVENTION  
         [0002]    The Internet has revolutionized the way people seek and acquire information. Sources of information continue to multiply, presenting enormous volumes of information; enough to overwhelm even highly sophisticated users. The portal server has emerged to aid the user in selecting, organizing and presenting information useful to, and desired by, the user.  
           [0003]    Rapidly developing wireless access to the Internet provides an additional challenge to portal servers in that the portable devices that enable wireless access have unique needs in the way information is presented to their users. The wireless portal server similarly requires features not required in the wired environment.  
           [0004]    A significant difference between the wired and wireless environments is the movement of users. In a wired environment, a user&#39;s location generally remains constant both during an access session and between sessions. In the wireless arena, due to the portable nature of wireless devices, a user&#39;s location can easily change between sessions and often does so during a session. The changing location puts another demand on a portal server if it is furnishing information and services from clients that are location dependent.  
           [0005]    A need exists, therefore, for a method for acquiring the location of a wireless portal user and of storing the location information in or by the wireless portal server. Such a method should also provide the location information to appropriate clients of the portal server, e.g., those sources of information and services that could better serve the user with accurate and timely knowledge of the user&#39;s location.  
         SUMMARY OF THE INVENTION  
         [0006]    Embodiments of the present invention allow the acquiring of the location of a wireless portal user and of storing the location information in or by the wireless portal server. The present invention also provides a method for clients of the portal server to obtain the location of the wireless portal user.  
           [0007]    Embodiments of the present invention relate to a method and mechanism for managing location information in a wireless portal environment. The method consists of acquiring the location information from a user&#39;s location-enabled wireless device which is in communication with a wireless network, storing the location information in a storage device in the wireless network, retrieving the location information from the storage device in the wireless network, and disseminating the location information to a client which is also in communication with the wireless network. A client can be any type of network presence that is enabled to provide services that are enhanced with knowledge of a user&#39;s physical location in a wireless portal environment. The location information can be geophysical information derived from global positioning system (GPS) or any other location-specific information from a suitable source.  
           [0008]    In one embodiment, the process can call a Java interface like “Give Me Location 0” and the underlying processes used for the retrieval of the information are transparent to the process, e.g., whether or not GPS is used, etc. The location service, in this embodiment, has the intelligence to determine the desired location.  
           [0009]    These and other objects and advantages of the present invention will become obvious to those of ordinary skill in the art after having read the following detailed description of the preferred embodiments which are illustrated in the various drawing figures.  
       
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0010]    The operation and components of this invention can be best visualized by reference to the drawings.  
         [0011]    [0011]FIG. 1 illustrates a wireless computer network in accordance with one embodiment of the present invention.  
         [0012]    [0012]FIG. 2 illustrates an exemplary computer in accordance with one embodiment of the present invention.  
         [0013]    [0013]FIG. 3 illustrates a block diagram representation of a wireless portal environment in accordance with one embodiment of the present invention.  
         [0014]    [0014]FIG. 4 is a flow chart that illustrates a method for acquiring, storing and retrieving the location of a wireless portal user in accordance with one embodiment of the present invention.  
     
    
     DETAILED DESCRIPTION  
       [0015]    Reference will now be made in detail to the preferred embodiments of the invention, examples of which are illustrated in the accompanying drawings. While the invention will be described in conjunction with the preferred embodiments, it will be understood that they are not intended to limit the invention to these embodiments. On the contrary, the invention is intended to cover alternatives, modifications and equivalents, which may be included within the spirit and scope of the invention as defined by the appended claims. Furthermore, in the following detailed description of the present invention, numerous specific details are set forth in order to provide a thorough understanding of the present invention. However, it will be obvious to one of ordinary skill in the art that the present invention may be practiced without these specific details. In other instances, well-known methods, procedures, components, and circuits have not been described in detail so as not to unnecessarily obscure aspects of the present invention. At times, concepts disclosed in this discussion of embodiments of the present invention will be made more readily apparent in reference to the Figures.  
         [0016]    [0016]FIG. 1 shows an Internet portal server  101  that serves wireless LAN (local area network)  110  through hub  102 . Network server  101  also wirelessly serves wired LAN  120  through wireless transceiver  115 . Server  101  is connected to and communicates with the Internet,  103  as well as wireless communication devices illustrated by PDA (personal data assistant)  105  and web-enabled cellular phone  106 . Communication with cellular phone  106  can be either directly in some implementations or through the Internet via Internet-connected cellular system  130 . Both cellular phone  106  and PDA  105  are, in this embodiment, enabled under the wireless access protocol (WAP), however, any wireless protocol could be used. In that protocol, devices so enabled are able to communicate with the Internet much like computers.  
         [0017]    [0017]FIG. 2 illustrates an exemplary computer system  200  which may act as the portal server system. In FIG. 2, computer system  200  includes bus  210  which connects processor  201 , volatile RAM  202 , non-volatile ROM  203  and one or more data storage devices  204 . Also connected to the bus can be optional display device  205 , optional alpha-numeric input device  206 , and optional cursor control  207 . Signal I/O device  208  allows for communication with other devices such as the web-enabled cellular phone  106  and PDA  105  shown in FIG. 1. Wireless communication with wireless devices can be implemented through a serial connection, infrared or RF links and any of these can, in some embodiments, be used as the link for network communication. In wireless access enabled telephones, PDAs or other wireless devices, the appropriate communications are also enabled. In the present embodiment, signal I/O device  208  includes an Internet interface module for coupling computer  200  to the Internet and appropriate interface modules for coupling to wireless devices such as  105  and  106  of FIG. 1.  
         [0018]    It should be noted that in the present embodiment, server  101  is an Internet portal server that includes some or all of the elements of exemplary computer  200  of FIG. 2. Server  101  provides access to a network and to the Internet for the devices it serves. Some of the served devices in this embodiment include wireless access devices. By providing a doorway into the Internet for wireless devices, server  101  is a wireless Internet portal server. Wireless portal services, such as the location service in this embodiment, may reside in a portal server such as server  101  or in some other physical device in communication in the Internet.  
         [0019]    [0019]FIG. 3 shows a wireless portal environment,  330 , that includes location service  305  for acquiring and storing a user&#39;s location information. There, providers  320 , those Internet entities that provide the dynamic content that users seek when using the Internet, access services within the wireless portal server to effectively present that content to wireless users. Wireless portal environment  332  also includes logging service  302  which communicates with the provider  320  via a logging API (application program interface)  351 . In this embodiment of the present invention, logging API  351  is implemented as a Java API, however, logging API  351  can be implemented in many different physical platforms within a network.  
         [0020]    The Internet portal server provides a Wireless Application Environment (WAE) which specifies an environment that allows operators and service providers to build applications and services that can reach a wide variety of different platforms. WAE is part of the Wireless Application Protocol. The WAE specifies a number of requirements. This embodiment serves as a means of communication between users and providers of services useful to wireless users within the WAE.  
         [0021]    Though logging service  302 , notification service  304 , IPS profiles service  306 , Desktop Service  310 , IPS session service  308 , IPS file manager  303  and location service  305  are shown as separate functional blocks within the WAE, individual services may actually be integrated with other services.  
         [0022]    As discussed above, each service communicates with a provider in accordance with the needs that develop in providing information and services to the user. Every user differs in the type of device used to access a wireless network, in the personalized way in which the user prefers to receive information, in the information the user is looking for in any given access session, and in the services the user wants to have made available. Each provider responds by complying with the users&#39; preferences which are stored and can be changed as required by the user.  
         [0023]    Each provider,  320 , is given the particular needs of a user&#39;s access device and preferred services from profile service  306 . The user&#39;s desktop preferences, what items the user wants displayed at any given time, are supplied from the desktop service  310 . The user&#39;s desired information sought, which can change from session to session, is located in session service  308 . Each service is available to the provider via an API which is peculiar to the service.  
         [0024]    User location knowledge is provided to service providers  320  by a location service,  305 , as in this discussion of this embodiment of the present invention. Location service  305  acquires user location information and stores it in anticipation of a query by a provider. Sessions service  308  in FIG. 3 is used to store the location information and storage is accomplished in a storage medium such as data storage device  204  in FIG. 2. In the embodiment shown in FIG. 1, user location information is acquired from a user device such as PDA as illustrated at  105  or a web-enabled cellular phone as illustrated at  106  or any other wireless access device. In order to provide location information, the device must be equipped with a means for determining location, such as a global positioning system receiver or, in the case of the cell phone, cellular triangulation within a cellular system. Any other location determining system can also be used.  
         [0025]    Note that, as used here, cellular triangulation refers to a method of locating a cellular phone user by determining what cell site the phone is currently using. By reference to adjacent cell sites which can passively acknowledge a user&#39;s phone, a location of the phone can be determined. This method is only mentioned here to indicate that any method of location determination can be used in this embodiment. It is the location information, not its form of acquisition, that is in discussion here.  
         [0026]    [0026]FIG. 4 is a flow diagram illustrating an operation in accordance with this embodiment of the present invention. When process  400  begins, the user&#39;s wireless access device, be it laptop computer, web-enabled wireless telephone, wireless access PDA or any other wireless, portable device, etc., determines the device&#39;s current location,  410 . The location service,  305  in FIG. 3, then acquires the location information,  420 , and stores it in an appropriate storage medium in a portal server, such as  101  in FIG. 1, at  430 . When a client provider,  320  in FIG. 3, requests the location information,  440 , the location service supplies the information to the client provider,  450 . If the client provider needs new location information,  460 , a request is again sent,  440 . If not, the process stops at  499 .  
         [0027]    In the present embodiment, a portal server is a service, usually resident in a network server as at  101  in FIG. 1. A portal service finds information that the user selects and presents it in a way suitable to the user and the user&#39;s device. The wireless portal server does these things through wireless communication with wireless access devices and presents information unique to the wireless user.  
         [0028]    The embodiment of the present invention discussed here, a location retrieval and storage service, uses application programming interfaces (API) that run in a wireless portal server.  
         [0029]    Generally the physical implementation of a wireless portal server includes some or all of the elements of the exemplary computer  200  illustrated in FIG. 2.  
         [0030]    In embodiments of the present invention, some providers  320  provide location-based or location-enhanced services. One exemplary provider provides an online mapping service that utilizes knowledge of the user&#39;s location. If the user is driving from one city to another, maps of the inter-city routes are more meaningful to the user when the user is starting out and can be presented on the user&#39;s laptop computer or PDA such as  106  in FIG. 1. When the user approaches the destination, detailed city street information becomes more useful than open road information. This mapping example is well established in the art of real-time global positioning system display systems but such a service is greatly enhanced by a real-time knowledge of the user&#39;s location.  
         [0031]    It is noted here that the specific user device determines the way information, such as mapping, is presented and the needs of the user device and preferences of the user are accounted for in the presentation. However, the acquiring and storage of location information is independent of platforms and would be transparent to the user.  
         [0032]    A provider of location-based services isn&#39;t limited to mapping. If the same inter-city travelling user as in the example above discovers that his or her car is low on fuel, a provider can immediately provide directions to the nearest gas stations and could even provide fuel price comparisons for a group of stations. A gas station could even provide an electronic coupon, delivered to the user in real time, to encourage the user&#39;s patronage.  
         [0033]    Another example of location-enabled or location-enhanced service that can be provided with the location service in this embodiment is a store sale coupon. If a user is walking down a street and nears a store subscribing to a providing service, when the users location is noted to be near the store, the user could be notified of a special sale on store merchandise and perhaps even deliver an electronic coupon to the user. Note that other, related, portal services can maintain a profile of user preferences and focus on those stores with merchandise most of use to the user. The same sorts of location related scenarios could apply to any number of situations. The common thread would be a providers&#39; knowledge of the user&#39;s location.  
         [0034]    Once location information is acquired as at  410  in FIG. 4, it is held by the user&#39;s access device, such as  105  or  106  in FIG. 1, until it is queried by the location service, at  420 , in the wireless portal server,  101 , or other location. The portal queries the user&#39;s wireless access device when prompted by location service,  305 , then the location information is stored by the location service. Then, when the provider queries the location service as at  440  in FIG. 4, the location information is sent to it,  450  in FIG. 4. Each of these transactions involving location information is performed through a location API,  358  in FIG. 3. Alternatively, step  450  is entered only if the location has not changed. In this case, if the location information is changed, then the process traverses from step  440  back to step  420 .  
         [0035]    The location API is, in this embodiment, written in Java. This allows the transmittal of location information to be transparent to and independent of the hardware platform involved at any of the applicable servers and at the user&#39;s wireless access device.  
         [0036]    The location service is, in this embodiment, coordinated with information that is acquired from profile service  306 , personalization service  307 , and session service  308 . Profile service  306 , via profile API  353 , supplies the information peculiar to the user&#39;s access device such as display size and bandwidth capability. Personalization service  307  supplies a wide range of user-peculiar items. The user&#39;s name and various identity numbers, the user&#39;s preferences in a wide array of consumer selections can all be supplied by the personalization service. In the gasoline example discussed earlier, the user&#39;s preference of gas brand name could be supplied to the service provider by the personalization service. Profile service  306  and personalization service  307  communicate with each other and with providers via a profile API.  
         [0037]    Profile service  306  acquires its profile information from profile store  309  through the use of an LDAP (Lightweight Directory Access Protocol) API. LDAP provides a simple protocol that allows the access and search of directories containing information which is often stored on a variety of incompatible systems.  
         [0038]    Session service  308  communicates with both personalization service  307  and location service  308  via a session API,  360 . The session service acquires and stores the information peculiar to session at hand, such as what information the user wants to receive during the session. Session information is dynamic, subject to change between sessions. The location service communicates with the session service via the session API in that the session service is the device by which location information is stored while awaiting delivery to the requesting provider.  
         [0039]    The embodiment of the present invention discussed here provides a means by which designers and providers of portal servers in a wireless environment can seamlessly and transparently acquire and manage location information. A wireless environment has all the functionality and operational considerations of any network environment and also includes wireless access in a portion of a network&#39;s structure.  
         [0040]    It must be remembered that each of the services and the APIs that communicate between them do not define data or data structures. They are tools for use by providers to use to build whatever portal sites that the providers choose. This embodiment of the present invention defines the interface whereby location information is acquired from a user device, stored, and supplied to a provider of location-based or location-enhanced services. With this embodiment of the present invention, a provider of those services can build a wireless portal site that can present user-specific, location-specific, information and services in a timely manner.  
         [0041]    The foregoing descriptions of specific embodiments of the present invention have been presented for purposes of illustration and description. They are not intended to be exhaustive or to limit the invention to the precise forms disclosed, and obviously many modifications and variations are possible in light of the above teaching. The embodiments were chosen and described in order to best explain the principles of the invention and its practical application, to thereby enable others skilled in the art to best utilize the invention and various embodiments with various modifications as are suited to the particular use contemplated. It is intended that the scope of the invention be defined by the Claims appended hereto and their equivalents.