WIRELESS PROTOCOL INFORMATION FOR MARKETING OPPORTUNITIES

Abstract: A computer implemented method for utilizing information about a wireless device (10) requesting content (26) over a network to detect marketing opportunities (28). The method includes maintaining a database of information about products of interest to a user of a wireless device (10) based on characteristics of the wireless device (10) and receiving a request for content (26) from the wireless device (10). The request for content (26) includes characteristics of the wireless device (10). The method further includes detecting a marketing opportunity (28) by comparing the wireless device (10) characteristics received with the product information database and presenting the detected marketing opportunity (28) to the user of the wireless device (10).

Description: WIRELESS PROTOCOL INFORMATION FOR MARKETING OPORTUNITIES BACKGROUND OF THE INVENTION The present invention relates generally to wireless devices and, more particularly, to a method and system for using information obtained about the wireless device through the use of a wireless application protocol to market products based upon characteristics of the wireless device. Mobile communication devices such as cellular phones and personal digital assistants (PDAs) are becoming increasingly popular. These devices are often used to access information from the Internet at locations away from a user's home or office and may be used for on-line purchases. With the proliferation of Internet based sales, it has become increasingly important that companies carefully target their sales and marketing efforts toward appropriate and receptive audiences. Online profiling coupled with advances in database technology and knowledge base techniques enables increasingly targeted communications with consumers based upon the stated preferences of those consumers and their prior purchasing behavior. Certain methods exist today for marketing products to consumers based upon the stated preferences of the consumer. By way of example, a software manufacturer may elect to collect preferences of consumers and potential consumers through a survey. Such a survey can be conducted through the mail, by phone interview, or through a Web site. The software manufacturer places a survey on the Web site which is accessed and completed by the consumer. The software manufacturer generally provides some sort of incentive for the consumer to complete the survey. Results of the survey may be collected, stored, aggregated, and analyzed for the purpose of determining the behavior of the consumer. Based on this information, the software manufacturer may choose to send a print advertisement, email communication, or other marketing communication to the consumer based upon the answers to the questions provided on the survey. The marketing communication may be general, based upon grouping the responses into demographic groups, or may be individualized utilizing a knowledge-based determination of the consumer's preferences based upon that consumer's responses. In another example, a consumer may purchase a new hardware item for a wireless device for which the manufacturer includes a registration information packet. This registration information packet could be in the form of a registration card, requesting from the user of the device such information as name, address, and phone number and containing a number of questions designed to give the manufacturer insight into the consumer's purchasing behavior, profession, or income. Hardware manufacturers may include an electronic version of the registration packet or may link the registration packet to the Internet, where the information can be collected immediately into a database. When the user returns the registration information to the manufacturer, the manufacturer will then have a record of the manufacturer's product purchased by the user in addition to any of the supplementary information requested or supplied by the consumer. Based upon the knowledge of what product the user purchased, when the user purchased the item, and any combination of the supplementary information, the manufacturer can choose to target marketing communications to this user. This technique of collecting registration information is not restricted to hardware manufacturers. Indeed, this collection and use of registration data for marketing purposes is common in all types of business, including products such as software, consumer electronics, appliances, and many other products not related to wireless devices. Disadvantageous^, in typical existing mechanisms for collecting, storing, and analyzing consumer preferences, the process of generating notifications of new and related products can be time-consuming and imprecise. These methods of collecting consumer stated preferences and past purchasing behavior rely upon many factors, including: the consumer responding at all to marketing surveys or registration information requests; the consumer accurately answering questions about previously purchased products and answering other system configuration-based questions; and properly interpreting the consumer's stated preferences or observed behavior into relevant marketing tactics. To deliver hard-copy product notifications such as brochures, consumers are generally grouped into segments to minimize the number of different targeted product advertisements generated. If a preferred communication is email, the manufacturer or distributor must customize the email communication and send it after the fact. It would be more desirable for communications regarding the new or related product to be based on firm, timely knowledge of a consumer's computing environment and delivered in a timely manner. A method for scanning a user's computer for the presence of certain software programs for the purpose of providing updates to those software programs is disclosed in the application "Automatic Updating of Diverse Software Products on Multiple Client Computer Systems", U.S. Serial Number 08/660,488, filed on June 7, 1996, which is incoiporated herein by reference in its entirety. A service provider computer system comprises, among other elements, an update information database which contains information, such as update name, version, location, installation instructions and the like, about products for which updates are available. A client computer comprises an update application for periodically communicating with the service provider computer system for checking against the contents of the client computer products specified in the update information database. If a product specified in the product information database is identified on the client computer, the client computer is placed in communication with the relevant vendor computer system to download or install the software update. A method for marketing software, hardware, and related products to users of computer systems based upon the user's current computing environment is disclosed in the application, "Active Marketing Based on Client Computer Configurations", U.S. Serial Number 09/430,263, filed on October 29, 1999, which is incorporated herein by reference in its entirety. The disclosed method uses a marketing opportunity detection application that is downloaded to a client computer and executed to analyze the configuration of the client computer and generate a list of marketing opportunities. The above described software update and marketing applications both rely on software installed on the client computer that is to be updated or receive marketing information or an intermediary computer that scans the client computer to determine hardware configuration or installed software versions. These methods are not suitable for most wireless mobile devices since there is a wide variety of operating system platforms used by these devices and many of the devices do not support installation of software locally on the device. Thus, conventional client software used to retrieve software and hardware information about the client device is not suitable for these wireless devices. There is, therefore, a need for a method and system for detecting hardware and software configurations of a wireless device and using this information for marketing opportunities. SUMMARY OF THE INVENTION A computer implemented method for utilizing information about a wireless device requesting content over a network to detect marketing opportunities is disclosed. The method includes maintaining a database of information about products of interest to a user of a wireless device based on characteristics of the wireless device and receiving a request for content from the wireless device. The request for content includes characteristics of the wireless device. The method further includes detecting a marketing opportunity by comparing the wireless device characteristics received with the database product information and sending the detected marketing opportunity to the wireless device for presentation to the user of the device. The request for content may be sent over a wireless network using WAP, for example. The device characteristics are included in the WAP header. The request is translated by a WAP gateway from the WAP format into an HTTP request and forwarded to a server containing the content. The server may be a host for a Web site on the Internet, for example. The database of information may contain a list of accessories for use with specific types of wireless devices or a list of available software upgrades. The marketing opportunity presented to the user may include hardware accessories, software, software upgrades, or phone upgrades, for example. The user may select one of the products for purchase and complete the transaction on-line. In another aspect of the invention, a computer implemented method for identifying and using characteristics of a wireless device in communication with a network generally comprises receiving at the network a WAP request from a wireless device. A header of the WAP request contains capability and preference information about the wireless device. The method further includes querying a product database for products that can be used with the wireless device and sending a WAP response from the network to the wireless device. The response contains information for products identified in the query. A computer program product for utilizing information about a wireless device requesting content over a network generally comprises computer code that maintains a database of information about products of interest to a user of a wireless device based on characteristics of the wireless device and computer code that receives a request for content from the wireless device. The request contains characteristics of the wireless device. The product further includes computer code that detects marketing opportunities by comparing the wireless device characteristics received with the database product information and computer code that presents the detected marketing opportunity to the user of the wireless device. A computer readable medium is provided to store the computer codes. In another aspect of the invention, a system for utilizing information about a wireless device requesting content over a network to detect marketing opportunities generally comprises a database of information about products of interest to a user of a wireless device based on characteristics of the wireless device and a memory for storing the database. The system further includes a processor operable to receive a request for content from the wireless device, retrieve characteristics of the wireless device from the request, query the database to identify a marketing opportunity based on the characteristics of the wireless device, and send the detected marketing opportunity to the user of the wireless device. The above is a brief description of some deficiencies in the prior art and advantages of the present invention. Other features, advantages, and embodiments of the invention will be apparent to those skilled in the art from the following description, drawings, and claims. BRIEF DESCRIPTION OF THE DRAWINGS Fig. 1 is a schematic illustrating communication between a wireless device and a server using a wireless access protocol (WAP). Fig. 2 is a block diagram illustrating additional detail of the wireless device, gateway, and origin server. Fig. 3 is a block diagram illustrating an example of a computer system that can be utilized to execute software of an embodiment of the invention. Fig. 4 is a flowchart illustrating a process for transferring information about the wireless device to the server during a WAP session. Fig. 5 is a schematic illustrating a system of the present invention for utilizing wireless protocol information for marketing opportunities. Fig. 6 is a block diagram of a service provider of the system of Fig. 5 configured to provide software updates to the wireless device. Fig. 7 is a block diagram of the service provider of Fig. 5 configured to provide marketing information to the wireless device. Fig. 8 is a block diagram of the service provider of Fig. 5 configured to provide on-line purchasing of hardware with the wireless device. Fig. 9 is a flowchart illustrating a process for presenting product information to a user based on information received about the user's wireless device. Fig. 10 is a diagram illustrating a display screen of a wireless device and control buttons. Fig. 11 is an exemplary top-level screen displayed on the wireless device when a Web site of the service provider of Fig. 8 is accessed. Fig. 12 is example of a screen displayed on the wireless device to provide a user of the wireless device with a list of available accessories. Corresponding reference characters indicate corresponding parts throughout the several views of the drawings. DETAILED DESCRIPTION OF THE INVENTION The following description is presented to enable one of ordinary skill in the art to make and use the invention. Descriptions of specific embodiments and applications are provided only as examples and various modifications will be readily apparent to those skilled in the art. The general principles described herein may be applied to other embodiments and applications without departing from the scope of the invention. Thus, the present invention is not to be limited to the embodiments shown, but is to be accorded the widest scope consistent with the principles and features described herein. For purpose of clarity, details relating to technical material that is known in the technical fields related to the invention have not been described in detail. The method and system of the present invention operate in the context of a communications network such as shown in Fig. 1. A <wireless device 10 is used to receive content from an origin server 12 over a wireless network 14. A gateway 16 and one or more proxies 18, 20 may be used to transfer data over the network. The server 12 may be a host for a Web site on the Internet and may contain product information, software updates, or other marketing information related to the wireless device 10 requesting content from the Web site. The present invention allows the server 12 to use information received about the wireless device 10 to send information specifically targeted at a user of the device based on characteristics of the" device transmitted to the server during a wireless protocol session between the wireless device and the server. As described further below, information such as the manufacturer and model number of the device or software formats the device supports may be used to offer the user specific hardware accessories for the wireless device or software upgrades. This allows for the marketing of products based on the individual user' s wireless device and the configuration of software installed on the device. The wireless device 10 may be a handheld computer or a "smart" phone such as those manufactured by Nokia, Ericsson, NeoPoint, and Qualcomm. If the wireless device is a cellular phone it may communicate with a base station transceiver (not shown) that is used to transmit and receive signals over a cellular network. The base station transceiver is controlled by a base station controller which is connected to a mobile switching center. The mobile switching center is connected to a public switched telephone network, which switches calls to other mobile stations or land based telephones. The battery powered, hand-held telephone communicates via RF links with a network of base stations which interface the signals on the RF links into the land-based public telephone network, as well known by those skilled in the art. The phone is operable to transmit and receive voice information as well as other types of data. The wireless device 10 may also be configured such that it cannot be used as a conventional telephone but can be used to access a computer network, such as the Internet. This includes devices such as a personal digital assistant (PDA), Web appliance, or paging device, for example. It is to be understood that the term wireless device, as used herein, generally includes any wireless communication device operable to communicate with a computer network such as the Internet or an intranet. The term wireless device also includes devices which may be connected to a larger device, such as Clarion's AUTO PC, which is a personal assistant that can be placed in the dash board of an automobile. It is to be understood that the devices listed above are merely provided as examples and that the invention is not limited to use with these devices. The following describes one example of a wireless protocol used to transfer information about the wireless device 10 to the server 12. A description of the protocol and a system and method for utilizing the protocol to communicate with a Web server over the Internet to implement the present invention is provided. However, it is to be understood that other wireless protocols may be used to gather information about the client device and that information may be transferred over a network other than the Internet without departing from the scope of the invention. Examples of specific applications for using the information obtained about the wireless device are provided following the description of the wireless protocol. The wireless device 10 may utilize the Wireless Application Protocol (WAP) described in Wireless Application Protocol, Wireless Application Environment Overview Version 1.3 (WAP-195-WAE Overview, Version 29- March-2000, published by the Wireless Application Protocol Forum), which is incorporated herein by reference in its entirety. The Wireless Application Protocol specifies an application framework and network protocols for wireless devices such as mobile telephones, pagers, and PDAs. WAP content and applications are specified in formats based on the World Wide Web (WWW) content formats. The wireless device 10 includes an application referred to as a micro browser that operates in conjunction with a user interface to allow a user of the device to request and receive content from the server 12. The micro browser sends requests for named data objects to the server 12 and the server responds with data encoded using standard formats similar to a conventional Web browser used to obtain content on the Internet. As described in further detail below, the requests sent from the micro browser on the wireless device 10 include Capability and Preference Information (CPI) which is transmitted over the wireless network within WSP (Wireless Session Protocol) headers. The CPI includes information about the client device 10, user, and network that will be processing the content contained in a WAP response. As shown in Fig. 1, a system for transferring content between the wireless device 10 and the network server 12 with WAP includes the wireless device 10 operable to request and receive content, the wireless network 14, WAP gateway 16, WAP proxy 18, HTTP (HyperText Transfer Protocol) proxy 20 and the origin server 12 operable to generate requested content. The wireless client device 10 is configured for requesting and receiving content from the origin (Web) server, which may be connected to the Internet or an intranet using TCP/IP based protocols. The HTTP proxy 20, WAP proxy 18, and WAP gateway 16 are also in communication with the Internet or an intranet. The gateway 16 is responsible for translating WAP requests into HTTP requests for delivery over the Internet to the designated origin server 12. For example, the WAP gateway is preferably configured to translate requests from a WAP protocol stack (e.g., WSP), WTP (Wireless Transaction Protocol), WTLS (Wireless Transport Layer Security), and WDP (Wireless Datagram Protocol)) to a WWW protocol stack (HTTP and TCP/IP). When the gateway 16 forwards the requests, it also forwards the current CPI associated with the session or request. When generating the HTTP request, the gateway 16 may add information from local databases to the received CPI. The gateway 16 may also add information to override information provided by the requesting device 10. The gateway 16 is also responsible for translating HTTP responses into appropriate WAP responses for delivery over the wireless network 14 to the requesting wireless device 10. As the request or response passes through the network, it may pass through one or more proxies (WAP proxy 18, HTTP proxy 20) responsible for forwarding the request to the particular origin server 12 designated in the request or the gateway 16 designated for the response. The proxies 18, 20 forward the CPI information and may add information to the CPI. The WAP proxy 18 may be co-located with the WAP gateway 16 as shown in Fig. 1 The WAP proxy includes an HTML (HyperText Markup Language) filter used to' translate the HTML into WML (Wireless Markup Language). In some cases, the WAP proxy 18 may not be needed. For example, if the server is WAP compatible, the server may communicate directly with the wireless device 10 via the wireless network 14. A Wireless Telephony Application (WTA) server is an example of an origin server that can respond to requests from the wireless device 10 directly. The HTTP proxy 20 includes software that receives HTTP requests and forwards the requests to the origin server 12 using HTTP. The proxy 20 receives a response from the origin server 12 and forwards it to the requesting wireless device 10. The proxy 20 may be a stand alone HTTP proxy or may be co-located with a gateway or the origin server 12. The origin server 12 is the final recipient of the request initiated by the wireless device 10 and forwarded as an HTTP request from the WAP proxy 18. The origin server 12 receives the request and generates appropriate content that is subsequently transmitted as an HTTP response to the WAP proxy 18. In generating this response, the origin server 12 extracts the CPI conveyed with the HTTP request and uses that information to select or otherwise customize the content delivered to the client, as described below. Fig. 2 illustrates additional detail of the wireless device 10, gateway 16, and server 12. The wireless device 10 includes a user agent (micro browser) 22 which is software that interprets network content referenced by a URL (Uniform Resource Locator) and displays the content to the end user. The user agent 22 may be configured to recognize Wireless Markup Language (WML) and compiled Wireless Markup Language Script (WML Script), for example. The gateway 16 includes content encoders and decoders 24 that translate WAP content into compact encoded formats to reduce the size of data over the network. The encoders 24 allow the user agent to navigate Web content. The content encoding may include, for example, compressed encoding for WML and byte code encoding for WMLScript. The user agent 22 is configured to provide User Agent Profiling (UAProf) which makes information about the client device 10 available to third party web servers. Information transmitted by the wireless device 10 along with information about the device that is stored on the gateway 16 is transmitted to the server 12 as part of an HTTP header. This information is used to format WML pages for a specific type of device. Attributes transmitted include screen size, screen bit depth, image, and streaming video formats that are supported. Also provided are the device's manufacturer and model information and software formats that the device supports. For example, the header may provide information about downloadable software support, including what formats the browser knows how to run internally, what version of Java is present, and what MExE (Mobile Station Application Execution Environment) class the device belongs to (if the device is on a GSM (Global System for Mobile Communication) network). As described below, this information is used to target marketing data based on the configuration of the wireless device 10. The user agent 22 captures classes of device preference information which is used to form the CPI headers. These classes include, for example, the hardware and software characteristics of the device 10, as well as information about the network to which the device is connected. The agent 22 may also send a user preference profile that contains application specific information about the user for content selection purposes. The user preference profile may include, for example, whether the user is interested in learning about software updates or hardware on sale. More specifically, the user agent 22 profile includes description blocks for hardware platform, software platform, browser, network characteristics, and WAP characteristics. The hardware platform includes properties that describe the hardware characteristics of the client device. This may include, the type of device, vendor, model number, display size, input and output methods, screen size, color capabilities, and image capabilities. The hardware characteristics may further include such details as CPU type, bits per pixel, whether or not the device is color capable, sound capable, voice input capable, or image capable. The software platform may include attributes associated with the operating environment of the device such as information on operating system software (e.g., vendor and version), support for MExE, list of video and audio encoders supported by the device, the user's preferred language, and whether the device will accept downloadable software. The browser information may include attributes that describe the browser application (e.g., manufacturer and version, markup languages and versions supported, scripting languages supported). The network characteristics may include information about the network related infrastructure and environment such as bearer information (e.g., latency and reliability). The WAP characteristics include attributes pertaining to WAP capabilities supported on the device. This includes details on the capabilities and characteristics related to the WML browser. Additional components may be added to the schema to describe capabilities pertaining to other user agents such as an email application or hardware extensions. It is to be understood that information about the device 10 or user other than described herein may also be included in the CPI header. Additional details of the user Agent Profile are provided in the Wireless Application Group User Agent Profile Specification, WAGUAPROF version 10-Nov-1999, which is incorporated herein by reference in its entirety. The origin server 12 includes a content database 26 which contains data that makes up Web pages and the like, and a product information and marketing opportunity database 28. As described in further detail below, the product information database contains information about products of interest to a user of a wireless device 10 based on characteristics of the wireless device. The marketing opportunity database contains marketing information (e.g., product or software information) for the specific wireless device 10 identified in the CPI. Fig. 3 shows a system block diagram of computer system 30 that may be used as the origin server 12 or other computer system to execute software of an embodiment of the invention. The origin server 12 is a conventional server type computer, preferably supporting a large number of multiple clients simultaneously for requests for data and other processing operations. The computer system 30 includes memory 32 which can be utilized to store and retrieve software programs incorporating computer code that implements aspects of the invention, data for use with the invention, and the like. Exemplary computer readable storage media include CD-ROM, floppy disk, tape, flash memory, system memory, and hard drive. Additionally, a data signal embodied in a carrier wave (e.g., in a network including the Internet) may be the computer readable storage medium. Computer system 30 further includes subsystems such as a central processor 34, fixed storage 36 (e.g., hard drive), removable storage 38 (e.g., CD-ROM drive), and one or more network interfaces 40. Other computer systems suitable for use with the invention may include additional or fewer subsystems. For example, computer system 30 may include more than one processor 34 (i.e., a multi-processor system) or a cache memory. The computer system 30 may also include a display, keyboard, and mouse (not shown) for use as a host. The system bus architecture of computer system 30 is represented by arrows 42 in Fig. 3. However, these arrows are only illustrative of one possible interconnection scheme serving to link the subsystems. For example, a local bus may be utilized to connect the central processor 34 to the system memory 32. Computer system 30 shown in Fig. 3 is only one example of a computer system suitable for use with the invention. Other computer architectures having different configurations of subsystems may also be utilized. Communication between computers within the network is made possible with the use of communication protocols, which govern how computers exchange information over a network. Fig. 4 is a flowchart illustrating a process for transferring CPI from the wireless device 10 to the origin server 12. When a WAP session if first opened, the wireless device 10 conveys its profile information using headers within the WAP connect request (steps 50, 52, and 54). The CPI is initially conveyed when the WAP session is established with the WAP protocol gateway 16. The request may contain a request for content using a specific URL. The user agent 22 connects to the gateway 16 with WAP and sends a GET request with that URL. The WAP gateway 16 preferably caches the CPI and applies it to all requests initiated during the lifetime of the WAP session. The gateway 16 resolves the host address specified by the URL and creates an HTTP session to that host (step 56). The gateway 16 forwards the request to the designated origin server 12 along with the CPI associated with the WAP session over which the request was conveyed. The HTTP server at the contacted host 12 processes the request (step 58) and sends a reply (e.g., the requested content) (step 60). The origin server 12 also sends a header indicating whether the CPI was honored as the content was generated. The gateway 16 receives the content, encodes it, and returns it to the user agent 22 on the client device 10 (steps 62 and 64). Upon receiving the profile, the gateway 16 responds with a header informing the client that the CPI is being cached by the gateway and will be effective for the entire session. The client device may update the CPI at any time during the session by transmitting a WAP session resume message to the gateway 16. This message contains headers with the new CPI. Upon updating the cached headers, the gateway 16 responds with a header informing the client device that the new CPI is being cached by the gateway. All future requests issued on the WAP session are associated with the newly cached CPI. During a WAP session, a third party host may issue a request for this CPI so that it can generate content that will be pushed to the client device 10. The request is initiated from the third party host and delivered to a Push Protocol Gateway (PPG). Upon receiving the profile request, the gateway 16 accesses the cached headers and resolves them to form a complete CPI profile. As discussed briefly above, CPI may be used to target marketing information such as products related to the wireless device 10 or software upgrades to the user of the device. Fig. 5 is a diagram of a system for using CPI information for marketing opportunities. The system includes a plurality of vendor computer systems 70 which are communicatively coupled by a network, such as the Internet, to a service provider computer (origin server) 72. The wireless device 10 is also in communication with the network as previously described. The vendor and service provider computers 70, 72 may support protocols for FTP and HTTP and provide for the display and rendering of HTML or other text interface descriptions. Each computer 70, 72 has an IP address that specifies its location on the network, thereby allowing the computers to communicate with each other in a conventional manner. The service provider and vendor computers 70, 72 further include a network communication protocol layer that implements the necessary TCP/IP communication functions for connecting to the network and communicating with other computers. The computer systems 70, 72 may comprise servers having a Web site providing marketing, hardware, or software information related to wireless devices. The vendor computer systems 70 may be associated with a particular software or hardware manufacturer, which stores and maintains versions of specific wireless device accessories, applications, or update information, for example. The service provider 72 may be configured as shown in Fig. 6 to include components that are used to update software on wireless device 10, such as a update database 76, payment module 78, and activity log 80, as described in U.S. Patent Application Serial No. 08/660,488, referenced above. Each vendor computer 70 coupled to the service provider computer 72 stores software update information, software products, information files, and the like. The software update information includes applications, binary files, text files, and the like, for updating software products installed on the wireless device 10. The software vendor computers 70 may also include advertising or other information about such products that is useful to users for evaluating potential software for updating. The servers 70, 72 may also provide mechanisms for controlling distribution and payment of software updates, such as credit card payment front ends, code authentication and verifications subsystems, as described below. The service provider computer 72 may be used to present information directly to the wireless device 10 or may link to one of the vendor computers 70 to obtain software information or updates. The software installed on the device 10 may be from numerous software vendors 70. For each of the installed software products, the server 72 determines if there is an applicable or relevant update for the software product. This determination may be made in consultation with one of the vendor computers 70. A list of applicable software updates for the user is presented to the user on the wireless device 10. The list may include, for example, the name of the software product and the update version that is available. If the user is interested in a specific update, he can go to a next level screen that displays additional information on the update, such as what features are provided by the update. The user may then select one or more software products to update. For each selected software update, the server 72 may ask the user whether he wants to download the update or purchase the update. The downloading may be performed directly from the software vendor computer 70 using the URL data stored in the service provider computer 72 for the location of the software update on the network. In conjunction with the downloading process, a payment transaction may be conducted whereby the user of the wireless device 10 pays for the software update, if payment is required. Software may be downloaded directly to the wireless device 10 via an HTTP download. Some application services may require the use of a WAP Push Access Protocol to push periodic software news and updates (e.g., virus alerts and notification of the availability of new DAT files) to the user's device. This may be done on a subscription basis, for example. UAProf information that was transmitted when the user first signed up for the service may be used to automatically format the WML deck for the device that the user owns. If the user utilizes the content pushed to the device 10 in a way that generates another request to the server, the user's profile may be retrieved and the database updated, if needed. For example, if the user purchased a new mobile phone with a new model number the database will be updated. The update process may be initiated by the user or may occur automatically, at preset periods, such as once a month. As shown in Fig. 7, the service provider 72 may also include components used to target marketing opportunities to specific users, such as an active marketing host program 84, product information database 86, marketing rule knowledge database 88, and an opportunity detection object 90, as described in U.S. Patent Application Serial No. 09/430,263, referenced above. The product information database 86 contains information regarding one or more products for which a marketing opportunity exists. The marketing rule knowledge database 88 contains information about marketing opportunities for each product in the product information database 86. Once the service provider 72 receives the CPI from the wireless device 10, the product information database 86 is analyzed against the marketing rule knowledge database 88 to create a list of marketing opportunities. The user is then presented with marketing information regarding products recorded in the list of marketing opportunities. The client may be presented with, for example, an option to purchase products, advertisements pertaining to the products, further marketing information about the products, or an option to search for related products. Fig. 8 illustrates a service provider 72 configured for use in conducting on-line sale transactions with a user of the wireless device 10. The system includes a product inventory database 92, payment module 94, and store locator 96. The service provider shown in Fig. 8 may be combined with the software service provider of Fig. 6, marketing service provider of Fig. 7, or may be a stand alone system. Fig. 9 is a flowchart illustrating a process for purchasing accessories for a wireless device 10 using the service provider system of Fig. 8. At step 100 the user connects to the Internet using wireless device 10. The micro browser on the wireless device 10 is then used to access the service provider Web site. This begins the WAP session and CPI is sent to the service provider 72 as described above with respect to the flowchart of Fig. 4 (step 102). Upon receiving the device's UAProf information, the server 72 performs a standard database query with the information, or otherwise parses it, decoding it from the binary format it is transmitted in, if needed. The server 72 then retrieves a short list of hardware accessories, formats a WML deck so that the data appears correctly on the user's wireless device 10, and sends the response back to the user. The user is first presented with a top level display on a display screen of the wireless device 10 (Fig. 104). Fig. 10 illustrates an exemplary display screen 114 for wireless device 10. The display screen 114 is typically limited as to the amount of data that can be shown at one time (e.g., five lines of data). The wireless device 10 preferably includes a scroll button 116 and control buttons (e.g., forward, back buttons) 118, 120 so that the user can move between displayed screens. An example of a top level display 122 is shown in Fig. 11. The user may be asked to select from accessories, software, or phone upgrades, for example. Since the amount of information that can be displayed on the display screen 114 is limited, the user may also be presented with an option to view additional selections. At step 106, the user steps through a number of display screens until he finds a selection that interests him. For example, as shown in Fig. 12, the user may be presented with a list of accessories that are available for his mobile phone. Once the user selects a product for purchase he may be presented with a display screen requesting the user to enter a user ID (step 108). At step 110 the user selects a method for delivery. The user may request, for example, that the product be sent via mail or may request to see a list of stores located nearby. If the gateway 16 previously provided geographic information about the client's current home location, the client may be referred to a nearby retailer and provided directions to the store. Retailers may be charged a fee for each referral. At step 112, the user selects the method of payment. On-line purchases may be handled through a standard secure connection and billed to a credit card. Also, a user's wireless account may be billed directly. For example, the user may enter their credit card number and expiration date on a Web page accessed through a personal computer and this information may be later accessed by the server when the client enters his ID. Preferably, the user has to enter an ID rather then rely on a unique identifier in the wireless device 10, since the device may be stolen or lost. Once the session is completed, the wireless device 10 disconnects from the Internet (step 114). It is to be understood that the steps of the process may be different than described above or additional steps or fewer steps may be used without departing from the scope of the invention. Although the present invention has been described in accordance with the embodiments shown, one of ordinary skill in the art will readily recognize that there could be variations made to the embodiments without departing from the scope of the present invention. Accordingly, it is intended that all matter contained in the above description and shown in the accompanying drawings shall be interpreted as illustrative and not in a limiting sense.

Claims: CLAIMS WHAT IS CLAIMED IS: 1. A computer implemented method for utilizing information about a wireless device requesting content over a network to detect marketing opportunities, the method comprising: maintaining a database of information about products of interest to a user of a wireless device based on characteristics of the wireless device; receiving a request for content from the wireless device, the request containing characteristics of the wireless device; detecting a marketing opportunity by comparing the wireless device characteristics received with the product information database; and sending the detected marketing opportunity to the wireless device. 2. The method of claim 1 wherein receiving a request for content comprises receiving at a gateway the request for content in a wireless application protocol format, translating the request into an HTTP request, and forwarding the request to a server containing the content. 3. The method of claim 2 wherein presenting the detected marketing opportunity comprises sending the marketing opportunity to the gateway, translating the marketing opportunity to the wireless application protocol format and forwarding the marketing opportunity to the wireless device. 4. The method of claim 1 wherein the wireless device characteristics are contained within a wireless application protocol header. 5. The method of claim 1 wherein the wireless device characteristics include a model number for the wireless device. 6. The method of claim 1 wherein the wireless device characteristics include a list of software loaded on the wireless device. 7. The method of claim 6 wherein maintaining a database of information about products comprises maintaining a database of software for wireless devices. 8. The method of claim 7 further comprising sending software to the wireless device for installation thereon. 9. The method of claim 1 wherein maintaining a database of information about products comprises maintaining a database of accessories for wireless devices. 10. The method of claim 1 wherein receiving a request further comprises receiving user preferences. 11. The method of claim 1 further comprising receiving a request to purchase a product identified in the marketing opportunity. 12. The method of claim 11 further comprising receiving payment information for the identified product. 13. The method of claim 11 wherein receiving a request further comprises receiving geographic information about a location of a user of the wireless device. 14. The method of claim 13 further comprising identifying a location where a user of the device can purchase the identified product. 15. The method of claim 1 wherein maintaining a database comprises maintaining a database of information about software updates for a plurality of software products. 16. The method of claim 15 further comprising receiving a request to download a software update identified in the marketing opportunity. 17. The method of claim 16 further comprising installing the software update on the wireless device. 18. A computer implemented method for identifying and using characteristics of a wireless device in communication with a network, the method comprising: receiving at the network a WAP request from a wireless device, a header of the WAP request containing capability and preference information about the wireless device; 33 06 querying a product database for products that can be used with the wireless device; and sending a WAP response from the network to the wireless device, the response containing information for products identified in the query. 19. The method of claim 18 wherein the capability and preference information includes a model number for the wireless device. 20. The method of claim 18 wherein the capability and preference information includes a list of software loaded on the wireless device. 21. The method of claim 20 further comprising sending a software upgrade to the wireless device for installation thereon. 22. The method of claim 18 wherein the capability and preference information comprises geographic information about a location of a user of the wireless device. 23. The method of claim 22 further comprising sending a message to the wireless device indicating a location where a user of the device can purchase one of the identified products. 24. The method of claim 18 further comprising receiving a request to purchase an identified product. 25. A computer program product for utilizing information about a wireless device requesting content over a network, comprising: computer code that maintains a database of information about products of interest to a user of a wireless device based on characteristics of the wireless device; computer code that receives a request for content from the wireless device, the request containing characteristics of the wireless device; computer code that detects marketing opportunities by comparing the wireless device characteristics received with the product information database; computer code that presents the detected marketing opportunity to the user of the wireless device; and a computer readable medium that stores said computer codes. 26. A system for utilizing information about a wireless device requesting content over a network to detect marketing opportunities; the system comprising: a database of information about products of interest to a user of a wireless device based on characteristics of the wireless device; memory for storing the database; and a processor operable to receive a request for content from the wireless device, retrieve characteristics of the wireless device from the request, query the database to identify a marketing opportunity based on the characteristics of the wireless device, and send the detected marketing opportunity to the user of the wireless device. 27. The system of claim 26 wherein the characteristics of the device include a model number for the wireless device and the database contains a list of hardware accessories and a corresponding wireless device model number for each accessory. 28. The system of claim 26 wherein the characteristics of the device include a list of software installed on the device and the database contains a list of available software upgrades. 29. .The system of claim 26 wherein the system is a host for a Web site and the network is the Internet. 30. The system of claim 26 further comprising a gateway operable to receive the request from the wireless device in a WAP format, translate the request into an HTTP request, and forward the request.

Inventors: COX BRIAN, HAAGENSEN BRANDT, KIM DO, COX, BRIAN, HAAGENSEN, BRANDT, KIM, DO
Applicants: MCAFEE COM INC, MCAFEE.COM, INC.
Application year: 2001
Main classification: G06F11
IPC codes: G06Q30, H04L29, H04Q7