USING WIRELESS COOKIES TO DELIVER MOBILE-BASED LOCATION
INFORMATION
Cross Reference to Related Application
The present application is related to U.S. Patent Application No. 09/879,349, entitled "Using Wireless Cookies to Deliver Network-Based Location Information", filed June 12, 2001, the contents of which are incorporated herein.
BACKGROUND OF THE INVENTION
1. Field of the Invention
The present invention relates to cookies and more specifically to a system and method of using mobile-based location information in wireless cookies to provide location relevant content.
2. Description of Related Art
Cookies have been commonly used in Internet Client/Server environments. A cookie is a mechanism through which server-side connections can both store and retrieve information on the client side of the connection. Cookies are advantageous to both the use and the server by extending the capabilities of the Internet environment for the user in many different ways. Discussed first is the use of cookies in the personal computer context and then address how cookies in the mobile telephone or wireless device context differ and fail to address the particular needs for users of wireless devices.
Cookies are popular and controversial mechanisms used by web servers. A cookie is a small piece of information that is sent to an Internet browser, such as Microsoft's Internet Explorer®, Netscape®, or a browser within a mobile terminal,
along with an HTML page when a user accesses a particular site. The cookie is generally saved on the hard drive of the computer. When the user returns to that particular site, the stored information in the cookie is sent back to the web server, thus providing information about the user and the computer to the web server.
An Internet "Shopping Cart" is an example of cookie technology in action. As you browse web sites for items to buy, you can "add" items you want to your shopping cart. When you finally want to make a purchase, you can view all of these items together and make our purchase. Other uses for cookies include site personalization, website tracking, targeted tracking, and user ID's.
Depositing cookies on a client computer via the Internet browser is made possible by expanding the capabilities of the hypertext transfer protocol (HTTP). The HTTP is the group of protocol standards that govern the way the Web pages, graphics, and other data are transferred across the Internet. Thus every browser on the Internet uses this standard to communicate with the Internet. With each transaction of information, the server sends a small HTTP header telling the receiving end exactly what it's getting. The headers communicate both requests from browsers and responses from servers.
The HTTP standard has limitations. The standard provides for a "stateless" connection. This means that it works like a vending machine where you push a button, and if you gave the correct change, it delivers you a drink. Not much information is passed in the transaction. However, the HTTP cookie increases the intelligence of the information inside the HTTP header. By adding a "Set Cookie: ..." line to the header, the server can deliver cookie information to the user's browser. The browser saves this information and sends the same back to the web server the next time the same site is visited. The syntax of a set-cookie HTTP response header in the format of a CGI (Common Gateway Interface) script is as follows:
Set-Cookie: NAME=VALUE; expires=Date; path=PATH; domain= DOMAIN_NAME; secure
The "NAME= VALUE" string is a required field to name the cookie. The
"expires=Date" field specifies a date that defines the life of the cookie. At the end of the expiration date, the cookie is no longer stored or provided. The "domain=DOMAIN_NAME" field allows for a comparison of the domain attributes of the cookie with the Internet domain name of the host from which the URL will be fetched. If there is a match, the cookie checks the "path=PATH" field to see if it should be sent. For example, a domain attribute of "acme.com" will match host names "cars.acme.com" and "flowers.acme.com." The path will specify the subset of URLsin a domain for which the cookie is valid. For example, the path "/foo" would match "/foobar" and "/foo/bar.html." Typically, the path is simply set to "/". The "secure" field, if marked as secure, will cause communications to only be transmitted if the communication channel is a secure one.
There are limitations set on the number of cookies that a client can store at any one time. A client is limited to storing 300 total cookies at a limit of 4 kilobytes per cookie. Each domain or server is limited to 20 cookies. Servers do not expect the clients to be able to exceed these limits; therefore, if a server attempts to add cookie beyond these limits, the oldest cookies are deleted.
Using this cookie system, a "persistent state" can be maintained, although only intermittent communication between the user and the cookie-placing web server is taking place. When cookies are stored after a user completes a web session, and then retrieved for the next session with the same site, the cookie is considered a "persistent cookie."
Because of the many advantages of cookie technology, they are commonly used for personal or laptop computer internet access. However, with the advance of wireless technologies and wireless Internet access, the use of cookies becomes more difficult. The limitations of the wireless devices and wireless networks has restricted the use of cookies in this context. Wireless devices are significantly smaller and less powerful than laptops or PCs. Their functionality is limited by tiny displays, small keypads, slower processors and less memory. The radio networks that connect wireless devices compare unfavorably with land-line systems in terms of cost, bandwidth, availability and quality of features.
One standard protocol that has attempted to remove some of the wireless deficiencies is the wireless application protocol (WAP). The WAP comprises a client/server philosophy that requires a microbrowser in the mobile phone and a WAP "Gateway" connected to the mobile network. The WAP Gateway is essentially a piece of middleware that takes information from the web server, processes it, and sends it over the mobile network to the WAP client. In addition to mobile phones having decreased functionality when compared with laptop or table top computers, as discussed above, WAP clients (e.g., mobile phones) require a larger screen size and more memory to handle the WAP stack and are more expensive than other mobile phones.
According to the WAP standard, the client device (phone, pager, PDA or other) initiates a request for content, and the message is sent over the wireless network to a WAP gateway. The gateway converts the message from the wireless format to an Internet-compatible format and forwards the request to the web server. The web server receives the request and transmits the content to the gateway. The gateway then encodes the content back into the wireless format and sends it over the wireless network to the user's device.
The WAP protocol has been developed by industry participants and the protocol stack may be compared to the OSI model. The Wireless Application Environment (WAE) provides an interoperable platform with microbrowser capabilities including the ability to display WML-encoded content. The Wireless Session Protocol (WSP) provides a connection-oriented service that enable a server to recognize a group of client requests as belonging to the same session. The Wireless Transaction Protocol (WTP) provides services for sending messages and for a send/receive pair of messages. The Wireless Transport Layer Security (WTLS) provides data integrity, privacy and authentication services over the wireless network. The Wireless Datagram Protocol (WDP) provides an interface for the above-mentioned stack layers so they can operate independently of network type.
The ability of WAP to support the use of cookies is limited. As an alternative approach to cookies, some WAP applications use indexes in the URL. Because presently you can only provide from the client device an IP address (and not cookies with personalization information), the approach to identify a user between connections is to construct a URL that includes the user's authentication information, Allowing a user to bookmark that URL within their device provides a small level of cookie-like personalization.
One of the WAP layers that does provide some cookie support is the WAP Wireless Session Protocol, mentioned above. This portion of the protocol is based on using HTTP headers and therefore makes it possible to transmit cookie information to wireless clients if the clients support receiving the header information. The dearth of support for persistent cookies for session management is due to client-side deficiencies rather than the WAP WSP layer itself. Few client systems (wireless devices) are able to support handling the cookie HTTP header information or have the ability to store the cookie information in a persistent manner on the mobile phone.
Other server-side applications perform "web clipping" to reduce the standard amount of web information required to enable communication with mobile clients. These web-clipping applications require a web-based back end to serve the dynamic content and a client-side application that operates on the mobile phone or personal digital assistant, such as the Palm VII.
In addition to WAP discussed above, another server-side application is called the Common Gateway Interface (CGI). This application suffers from similar deficiencies in supporting cookie technology. When using CGI, the pages served to the client must use a restricted subset of the Hypertext Markup Language (HTML) 3.2, which removes the ability to deliver content such as style sheets, image maps, frames and cookies.
One of the advantages of cookie technology for laptop or desktop computers is the advantage of personalizing the Internet surfing experience. The personalization may take the form of building a profile of the user as a surfer based on the sites visited and the products purchased. Presently, the needs of the user for personalized services when browsing the Internet using a mobile telephone or other wireless device is very different. The number of web sites that can be browsed is dramatically less, the amount of information received is reduced, and there are other considerations - such as the mobility of the user - that are not addressed by present cookie technology, if it is available at all for the particular wireless device.
A faster version of WAP is called WAPlite. This was developed as having the full features of WAP but designed primarily to be fast and to scale from several users to several thousand users. In WAPlite, the mobile device or phone can be configured to enable the use of HTTP session cookies. In this case, the cookie is only stored and used for a particular session and is not saved between sessions. Thus, many of the benefits of
cookies are lost by the use of session cookies. WAPlite does not support persistent cookies.
The personalization needs for wireless devices differ from those for the standard personal computer. Presently, only sparse use of wireless cookies is available for wireless devices. Both the wireless protocol, gateway and wireless device must be capable of receiving, delivering and storing cookies to realize the advantage of cookies. Further, the present cookie technology, if available, does not address the particular mobile needs for the user of a wireless device. Given the small screen size, reduced amount of information available, and mobility of the user of a wireless device with Internet capability, the present cookie technology fails to provide such a user with the full capability of personalizing the user's experience. What is needed in the art is the ability to use cookie technology to provide personalization for wireless device users.
SUMMARY OF THE INVENTION
The present invention addresses the deficiencies in the art and enables wireless cookies to provide pertinent information to wireless device users. An important element used in wireless networks is location information for each wireless device. As wireless devices move from cell to cell, and from a home-based network to a roaming network, the location information for that wireless device is communicated between networks. The location information enables a service provider to deliver preferred information to the mobile user, based at least in part on the location of the mobile user.
Location information for a wireless device may be obtained either through network-based technology or mobile-based technology. Mobile-based location information is collected and stored on the mobile device, and periodically transmitted to the network or transmitted to the network based on a network request. The network- based technology is discussed in further detail in the related patent application referenced above and incorporated herein.
The present invention enables location information to be provided as part of the cookie mechanism to an Internet service provider in order to generate location-based services to the mobile user. These services may include, for example, weather information, hotel information and traffic in the city where the wireless device is located.
The invention comprises a wireless communication system having a mobile-based location information system. A wireless device associated with the wireless communication system is capable of communicating with the Internet via a microbrowser or the like. The wireless device and microbrowser are capable of receiving cookies. The cookies may be formatted for a wireless protocol or modified in a variety of ways as may be known in the art. The wireless device further includes a system for determining its location. For example, a global positioning system (GPS) receiver within the wireless device may receive from a satellite the wireless device's coordinates for storage in a memory unit. The wireless device will periodically transmit, or transmit upon network request, its location information to the wireless communication system.
When the microbrowser is operated to access an Internet site, the user will be asked for approval to attach location information to the cookie. If the user approves, the location information will be added to the cookie. Then as the cookie information is transmitted to the wireless web server, the location information may be used to deliver more targeted information that is relevant to a mobile user.
A method according to another embodiment of the present invention comprises receiving location information at the wireless device, storing the location information in the wireless device, requesting permission from a user to add the location information to a cookie, and if permission is granted, adding the location information to the cookie,
transmitting the cookie to a web server, and delivering content to the wireless device based at least in part on the contents of the cookie.
BRIEF DESCRIPTION OF THE DRAWINGS
The present invention may be best understood with reference to the attached drawings and associated description, of which:
FIG. 1 shows an exemplary system according to the first embodiment of the present invention; and FIG. 2 illustrates an exemplary method according to the second embodiment of the present invention.
DETAILED DESCRIPTION OF THE INVENTION
The first embodiment of the invention may be understood with reference to
FIG.l, which illustrates an exemplary wireless communication system 10 having a wireless device 12. The wireless device 12 may be any form of wireless device such as a mobile phone, personal digital assistant (PDA), palm pilot, or similar type of wireless device. The wireless device 12 has a processor 14, a memory unit 16, an antenna 18 and a GPS system 52. The GPS system 52 communicates with a satellite (not shown) for transmitting the position or location of the wireless device 12 directly to the wireless device 12. The present invention is not limited only to the GPS system 52 but any other mobile-based position system is contemplated as being applicable to the present invention. Other components are also part of the wireless device 12 but are not shown.
The wireless device 12 is capable of communicating with the Internet 42 or web servers 44, 46 and therefore has the necessary amount of memory in the memory unit 16 and processing abilities to operate a microbrowser (not shown) or other client engine for establishing a communication link to the Internet 42 or web server 44, 46.
The wireless device 12 communicates through an interface with a base station 30 and a mobile switching center (MSC) 32. This is an illustration of a circuit-switched network scenario by example. This invention also applies to a packet-switched network using a similar methodology, as would be understood by those of skill in the art. Further, other types of networks may also be employed and the present concepts are applicable to any future networks. In these cases, the MSC 32 can be replaced by a packet router 3G network element, etc. Therefore, although the examples here are explained in the context of a circuit-switched network, it is clearly applicable to other networks such as packet-switched networks.
A home location register 34 and visitor location register 36 are shown as communicating with the MSC 32. Other network components may be used depending on the network protocols, and any such additional hardware components are known to those skilled in the art.
The wireless communication system 10 of FIG. 1 is not limited to any specific protocol. For example, this may be a global system for mobile communications (GSM) based system, code divisional multiple access (CDMA), time divisional multiple access (TDMA), EDGE, or Third Generation Wireless Systems. The particular protocol used is irrelevant to the present invention.
The MSC 32 may be a home network node or roaming network node for the wireless device 12. The MSC 32 represents the network processing portion of the system for the base station 30 presently servicing the wireless device 12. For example, if the MSC 32 is servicing a roaming wireless device 12, then a communication link will exist between the MSC 32 and the home network node 50 to provide authentication and login information, as is known in the art.
The MSC 32 communicates through either a public switched telephone network (PSTN) 38 or a private network with a telephone 40 for communicating between calls. The MSC 32 also communicates through a packet-switched network (i.e., the Internet) 42 with web servers 44, 46. A gateway 54 provides the necessary functions to convert requests from the wireless device 12 from the wireless format to an Internet compatible format and forwards the requests to the web servers 44, 46. The web servers 44, 46 receive the requests and transmit content back to the gateway 54. According to one aspect of the present invention, the wireless protocol supports transmitted cookies to the wireless device 12 through the use of its Wireless Session Protocol or Wireless Transaction Protocol stack layers. The hardware used for the web servers 44, 46 is known to those of skill in the art and therefore the details are not provided herein.
The web servers 44, 46 may include databases with content to transmit to the wireless device 12. Web servers 44, 46 may also communicate with a local services server 48 that provides data such as weather reports, traffic conditions, hotel accommodations or other information that is localized to the present position of the wireless device.
The MSC 32 will periodically receive location information from the wireless device 12 for monitoring its location. For example, in the GSM protocol, the MSC 32 may receive updates on location information from the wireless device 12 on several occasions, such as when the wireless device 12 changes location, on a periodic basis, with an attach or detach signal or when the wireless device 12 is turned on. When the location is updated, such as when the wireless device 12 powers on, its new location is transmitted to the MSC 32 during the registration process.
With the location information stored at the MSC 32, the location information may be transmitted to the home network node 50 or to other roaming network nodes.
The location identification information may be in any known format including details such as city, state, country, or even more detailed location information within a city.
The MSC 32 communicates with a public switched telephone network (PSTN) 38 for telephone voice calls. The packet-switched network 42 shown in FIG. 1 may also represent a public packet-switched network or any other communication network that provides a data connection between the MSC 32 servicing the wireless device 12 and a web server 44 or 46. The web servers 44, 46 are shown as communicating with the packet-switched network 42 and a local services server 48.
According to the protocols used by the web servers 44, 46 to communicate with the wireless device 12, the web servers 44, 46 will download a cookie to be stored in the memory 16 of the wireless device 12. The cookies may be similar in structure to those used for laptop or desktop computers, or it may be in a different HTTP format. The microbrowser client engine operating on the wireless device 12 will store the cookie in a similar manner to that accomplished on a desktop PC.
Preferably, the user, when "surfing" the Internet by communicating with a host such as one of the web servers, 44, 46, will be asked whether he or she wishes to add the stored location information in the cookie. Cookies have been controversial because they provide information about the user to a web server often without the user's knowledge. Therefore, it is preferable to inquire and receive permission to add location information to the stored cookie on the wireless device 12.
In one aspect of the invention, the request for permission is directed to the user from the web server 44, 46. In another aspect of the invention, the wireless device 12 is operable to provide the request to the user and receive the permission or denial. If permission is granted, the wireless device 12 adds the location information to the cookie. The cookie format may have to be modified in the wireless context to be able to
receive the location information such that when the web server 44, 46 receives the cookie back, it will recognize the location information found in the cookie. Similarly, other data units that may not be termed "cookies" may also be used. If such data units are employed, then the present invention is contemplated to be applicable for those data units.
Using the location information found in the cookie, the web server, 44, 46 can more adequately provide content directed to the user's needs, which are likely to be associated with his or her location. For example, according to the present invention, a user can take her cell phone 12 from the United States to England. Once in England, the location information is stored in the wireless device 12 and, upon permission by the user, the location information may be added to the cookie. As the user is then surfing the Internet using the wireless device 12, the location information is provided to the web server 44, 46 through the cookie. Restaurants, weather information, or any other kind of location-sensitive information may then be narrowly tailored for the user. The information or location sensitive content may be drawn from databases associated with the web server 44, 46 or may be drawn from a separate server 48. A web server 44 or 46 chooses content based on a correlation between the content sent and the location information received via the cookie. The content transmitted from the web server 44, 46 to the wireless device 12 may be based, at least in part, on the cookie information, which includes (if the user approves) the location information.
The second embodiment of the invention relates to a method of transmitting content from a web server to a wireless device using location information associated with a cookie. The method according to the second embodiment is functional on a system similar to that shown in FIG. 1, including a wireless device capable of operating a client engine such as a microbrowser for establishing communication through a wireless communication system to web servers operating server engines for
communicating with wireless devices. The web servers may be operating, for example, a WAP - related protocol that supports cookies.
As shown in FIG. 2, the method comprises receiving location information at a wireless device (102). In this embodiment, the wireless device includes a GPS system or the like for receiving and storing its location information. The wireless device communicates its location information periodically to the network node. The next step may be optional but in included in FIG. 2, which is requesting permission to add the location information to a cookie (104). It is assumed that before step (102) executes, the wireless device has established communication with a web server that operates a protocol supporting cookies. The request for permission may originate from the web server or may be triggered at the wireless device upon the reception of a cookie from the web server.
If step (104) is used, then the user must respond to the inquiry and decide whether to allow the location information to be added to the cookie. This is represented in step (106). The request and response from the user may be accomplished via the display and push button response, or by voice recognition commands, or other means. If the user does not grant permission, then the cookie is transmitted to the web server without the location information included (108) and the web server responds with content as personalized as is available with the cookie information sent.
If the user grants permission, then the process continues to add the location information to the cookie data (110). This may involve defining a new field within the cookie and providing formatted information to identify the location of the wireless device. The cookie is then transmitted to the web server (112) according to the normal process of using the cookies for personalizing the wireless web experience. Finally, the content delivered to the wireless device from the web server may be modified or tailored to the wireless device according to the location of the device as indicated by the
cookie information (114). This may involve correlating data in a database with the location information and providing data such as weather, shops, hotels, traffic, news, or other information that is of local interest according to the current location of the wireless device.
In this manner, the wireless device can receive content more personalized and relevant to its operation and mobility than could otherwise be gained by using standard cookie data.
In some wireless scenarios, to compensate for the reduced capability of wireless devices to accept and store cookies, a proxy server has been introduced. A proxy server will intercept and store cookies sent from web servers. The proxy server not only stores the cookies but information regarding the web servers, such as its URL, and an identification identifying the user terminal. Then the next time the user accesses the same web server, the cookie is drawn from the proxy server and included in the request message so that the server is accessed with a copy of the cookie as desired. Another aspect of the present invention is to enable the location information to be added to the cookie that is stored on the proxy server. This may be accomplished in several ways. First, the wireless device storing the location information may transmit the location information to the proxy server either directly or through a network node. The same permissions may be used to provide the user a chance to prevent the location information from being added to the cookie.
In another aspect of the invention in the proxy server scenario, after permission is given by the user, the location information in the wireless device is added to the request message with the cookie as they are transmitted to the web server for processing. Therefore, when cookies are intercepted and stored on a proxy server, the present invention nevertheless enables the location information to be added to the
cookie before it is transmitted to the web server so that the relevant location-based content can be delivered to the wireless device by the web server.
Although the above description may contain specific details, they should not be construed as limiting the claims in any way. Other configurations of the described embodiments of the invention are part of the scope of this invention. For example, there may be other wireless protocols used and developed in the future for communicating between servers and wireless client. Any of these protocols that use cookies or technologies similar to cookies would be covered as within the contemplated scope of this invention. Furthermore, two cookie systems have been discussed, one in which cookies are stored on the wireless device and one using a proxy server to store cookies. Other ways of storing cookies or cookie-like data may also be used in the wireless context, given the storage and transmission restraints. Therefore, as other developments or capabilities using cookie technology are developed, the present invention contemplates that adding location information from the network to the cookie data is within the scope of this disclosure. Accordingly, the appended claims and their legal equivalents should only define the invention, rather than any specific examples given.