WO1999059283A2 - Integrated advertising for wireless communication devices with rich content and direct user response mechanism - Google Patents

Integrated advertising for wireless communication devices with rich content and direct user response mechanism Download PDF

Info

Publication number
WO1999059283A2
WO1999059283A2 PCT/US1999/010016 US9910016W WO9959283A2 WO 1999059283 A2 WO1999059283 A2 WO 1999059283A2 US 9910016 W US9910016 W US 9910016W WO 9959283 A2 WO9959283 A2 WO 9959283A2
Authority
WO
WIPO (PCT)
Prior art keywords
advertisement
advertisements
wireless communication
communication device
data
Prior art date
Application number
PCT/US1999/010016
Other languages
French (fr)
Other versions
WO1999059283A3 (en
Inventor
Adam De Boor
Michael D. Eggers
Original Assignee
Geoworks Corporation
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Geoworks Corporation filed Critical Geoworks Corporation
Priority to KR1020007012491A priority Critical patent/KR20010043446A/en
Priority to EP99950372A priority patent/EP1078490A2/en
Priority to JP2000548988A priority patent/JP2003533899A/en
Priority to AU43076/99A priority patent/AU4307699A/en
Publication of WO1999059283A2 publication Critical patent/WO1999059283A2/en
Publication of WO1999059283A3 publication Critical patent/WO1999059283A3/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising

Definitions

  • This invention relates to the distribution of electronic advertising for wireless communication devices.
  • Wireless communication devices are becoming increasingly prevalent for personal communication needs. These devices include, for example, cellular telephones, alphanumeric pagers, "palmtop” computers and personal information managers (PIMS), and other small, primarily handheld communication and computing devices.
  • Wireless communication devices have matured considerably in their features, and now support not only basic point-to-point communication functions like telephone calling, but more advanced communications functions, such as electronic mail, facsimile receipt and transmission, Internet access and browsing of the World Wide Web, and the like.
  • one current method of electronic advertising is via a paging service built into the messaging service operator's GSM cellular network.
  • Customers receive a "page" on their wireless communication device, the page being a text message that contains the promotion and instructions for reaching a customer service center to change to a new rate or service plan.
  • This method has a number of limitations.
  • users generally have a low tolerance for advertising, but they like it even less when it interferes with their use of their equipment.
  • advertisements must be displayed only when the user is not actively using the wireless communication device to accomplish a task.
  • the advertisements are very intrusive to the user.
  • the messages are delivered to the user's "in box” along with all other paging messages.
  • the user must read through and delete the advertisements in order to get to an important personal message.
  • Undeleted advertisements can "clog" the inbox (which can only hold a fixed number of messages) preventing the delivery of important messages to the user.
  • the paging advertisements do not contain "rich" content. These advertisements are subject to all the restrictions of the Short Messaging Service (SMS), particularly a single font, no graphics, and no character styles such as boldface or italic. It is nearly impossible to make such advertisements visually appealing or eye-catching. This limitation reduces the value of the advertisements to potential advertisers.
  • SMS Short Messaging Service
  • the paging method has a very limited and primitive response mechanism. All the advertisement can do is supply a telephone number that the user must manually dial, or other instructions to be taken by the user at his initiative. Further, because the user must initiate and make the telephone call, the user is responsible for explaining the purpose of the call and acquiring the advertised service. The customer service center receives no information other than that provided by the user.
  • a related type of electronic advertising is found on the World Wide Web. Most commercial pages on the World Wide Web contain a small "banner" advertisement at the top to generate additional income to the content provider. Web banner advertisements are typically animated images that transfer the user to another Web site when clicked upon with the mouse.
  • Web banner advertisements of this type are too expensive to transmit via data channels on cellular networks.
  • Web banner advertisements are typically large animated graphic images, and data transmission over cellular networks is either expensive (involving making a data phone call, which results in the normal air-time charges) or slow (SMS is inexpensive, but each message can only transmit 140 octets characters of information).
  • the size of the screen display on a typical wireless communication device is too small for a Web banner advertisement and other content to fit on a single screen.
  • graphical screens on wireless communication devices being generally 25x37mm, there is insufficient area to incorporate advertising with normal screen content of the user interface of the device.
  • conventional Web banner advertisements also have a very limited response mechanism.
  • Conventional Web banner advertisements merely transfer the user to a special advertising page hosted by a provider of the advertisement. This system is not useful for wireless communication devices because of the inherent latency and low bandwidth of the transmission medium. It is impractical to force the user to wait for up to half a minute for an advertising page to be downloaded.
  • conventional banner advertisements generally do not collect enough information to form a complete transaction.
  • Related to banner advertisements are screen-saver based advertisements found on desktop computers. In this approach, a screen saver can display advertising while the computer is idle. Screen saver advertisements are very similar to Web banner advertisements, and suffer from exactly the same problems when applied to wireless communication devices.
  • the present invention overcomes the various limitations of conventional electronic advertising by providing an advertising system, method, and software product that is fully integrated into the user interface features of a wireless communication device.
  • the present invention provides for rich content advertisements that include any variety of fonts, type styles, and graphic images to be included in an advertisement on the wireless communication device.
  • the present invention further provides an integrated response mechanism that enables users to directly respond to an advertisement with a variety of different actions.
  • response actions are initiated by the user and include directly telephoning a customer service center with a telephone number encoded in the advertisement, sending a message to a customer service center or other processing agent, retrieving a page from the World Wide Web to obtain additional information about an advertised item or to complete a purchase transaction, or creating a new entry of data in a locally stored phone book as a form or a repository for future information or data, such as stock quotations.
  • These various actions are directly encoded in the advertisements themselves, relieving the user of the burden of having to remember telephone numbers, construct messages, or the like. Rather, the user can select familiar user interface gadgets, such as softkeys and the like, to effect an action in response to the advertisement.
  • the present invention further provides a non-intrusive method of delivering advertisements so as not to interfere with the use of the wireless communication device.
  • This non-intrusive method includes the selective display of advertisements during idle periods of the wireless communication device, and displaying banner advertisements over the title bar areas of a screen display.
  • Yet another feature of the present invention is the ability to periodically receive, authenticate, and store advertisements in the wireless communication device. This allows the advertisements to be transmitted to the wireless communication device from a remote source and stored therein until displayed to the user at a subsequent time, again, without intrusively reducing the amount of storage available for the user's own content and messages, as in conventional paging systems. Authentication of advertisements prevents unauthorized advertisements from being stored in the wireless communication device and displayed.
  • the present invention provides the ability to configure the wireless communication device to receive, in a secure manner, selected information that is stored in a phone book data store, without the direct intervention of the user.
  • This feature facilities the delivery of information services, such as stock quotes, news items, and other data.
  • This feature augments the advertising features of the present invention by enabling to directly subscribe to an information service from one of its advertisements, and have information that is delivered by the information service transmitted and stored in the phone book without user intervention.
  • a system in accordance with the present invention includes a wireless communication device, having a screen display for displaying advertisements, a processor, and a memory storing an advertising manager executed by the processor, and advertisement file store storing advertisements.
  • the advertising manager manages the display of advertisements that are stored in the advertisement file store.
  • the advertising manager selects advertisements from the advertisement file store and causes them to be output on the screen display.
  • the advertising manager is preferably invoked to select an advertisement to display after the wireless communication device has been idle for a predetermined period of time.
  • Advertisements may be selected from a number of storage areas which contain groups of related advertisements. Advertisements are preferably selected on a randomized, priority basis, allowing higher priority advertisements to be displayed more frequently than lower priority ones. Also, advertisements may have expiration data indicating when they expire and are no longer to be displayed.
  • the advertising manager also authenticates advertisements received from a remote server to prevent storage and display of unauthorized advertisements.
  • Fig. 1 is an illustration of the software and system architecture of a wireless communication device in accordance with the present invention.
  • Fig. 2 is an illustration of a sample user interface page for a wireless communication device is accordance with the present invention.
  • Fig. 3 is a schema of the advertisement file store managed by the advertising manager.
  • Fig. 4 is a flowchart of the process of displaying advertisements and managing user responses.
  • Figs. 5a-5c is an example of a full screen advertisement and integrated handling of a user response.
  • Figs. 6a-6e is an example of a banner advertisement and user response.
  • Fig. 7 are illustrations of the data structures of advertisement packages and associated file packages.
  • Fig. 8 is a flowchart of the processing of a received advertisement or associated file package.
  • Fig. 9 is an illustration of the data structure of banner advertisements as received by the wireless communication device.
  • Fig. 10 is an illustration of the phone book related data structures.
  • Fig. 11 is a flowchart of the process of updating the phone book DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
  • FIG. 1 there is shown an illustration of the system and software architecture of a wireless communication device 100 with integrated advertising features in accordance with the present invention.
  • the hardware of the wireless communication device 100 includes a processor 124, memory 126, screen display 136, and keypad 128.
  • Memory 126 includes ROM, RAM, and a flash memory for long term storage of data.
  • a suitable wireless communication device 100 for providing the hardware features is a Nokia TM 6100 manufactured by Nokia Telecommunications, Inc.
  • the wireless communication device 100 stores in the memory 126 and executes a conventional real time operating system 122, which includes modules for managing power, memory, threads (communication connections), keypad inputs, and timer activities.
  • the real time operating system 122 provides a standard application programming interface to allow higher level components of the software to request functionality of the wireless communication device 100, and to send and receive data.
  • telephony control module 120 Also stored in the memory 126 and in communication with the real time operating system 122 is telephony control module 120 that provides the primary telephone controls, including making and receiving telephone calls, managing multiple telephone lines (if appropriate), management of text messaging (if appropriate), monitoring of telephone signals, and other basic telephony functions.
  • the telephony control module 120 includes a conventional telephone protocol stack that implements an air-interface protocol.
  • the telephony control module 120 provides an application programming interface to the man- machine interface 102 to access these features.
  • the telephony control module 120 and the real time operating system 122 are typically provided by the manufacturer of the wireless communication device 100, and their particular implementation is not material to the invention.
  • the screen display 136 is a bitmapped LCD or similar display device.
  • the screen display 136 is typically of very limited resolution, for example about 90x60 to 120x120 pixels (at about .28mm dot pitch) as would be appropriate for a compact, portable, hand-held electronic device. It is anticipated that advances in display technology will result in screen displays 136 of significantly higher resolution, but even so, the ergonomic and form factor requirements of wireless communication devices will result in screen displays that are relatively small (e.g., between 25x25mm and 80x120mm) as compared to the screen displays of notebook and desktop computers, and as a result will not display content designed for such larger screen displays in the exactly the same manner.
  • the present invention is adapted to provide rich content advertisements within the limits of the screen display 136.
  • the wireless communication device 100 has a keypad 128 that includes a number of fixed function keys 132 for accessing defined functions of the wireless communication device 100 (e.g., "Send,” “End,” and “Power”), number keys 134 for entering digits (and if suitably encoded, for entering other characters), and programmable softkeys 130 which have variable functionality that changes depending on the particular content of the user interface definition files 104 being shown.
  • a keypad 128 that includes a number of fixed function keys 132 for accessing defined functions of the wireless communication device 100 (e.g., "Send,” “End,” and “Power”), number keys 134 for entering digits (and if suitably encoded, for entering other characters), and programmable softkeys 130 which have variable functionality that changes depending on the particular content of the user interface definition files 104 being shown.
  • the wireless communication device 100 stores in its memory 126 and executes an instance of a man-machine interface ("MMI") 102 which provides user interface functionality for the wireless communication device 100, including the integrated advertising features of the present invention.
  • MMI man-machine interface
  • the MMI 102 executes as a single-threaded application, and is generally designed to run on any real time operating system 122, telephone control module 120, and wireless communication device 100 that provides sufficient ROM, RAM, and flash memory, a screen display 136, and basic services.
  • the MMI 102 includes a set of user interface definition files 104 and a user interface manager 107.
  • the user interface manager 107 provides the primary user interface mechanism to the user, allowing access to both telecommunication functions, and Internet/World Wide
  • the user interface manager 107 may be implemented as a browser as described in the above referenced patent application.
  • the user interface manager 107 provides the basic user interface of the wireless communication device 100 and is responsible for displaying content on the screen display 136, as defined by the user interface definition files 104, and as may be retrieved from remote sites, such as Web content accessed via a communication link to a remote Web site.
  • the user interface definition files 104 are a set of content and code files written in a markup language such as HTML, or the preferred variant described in the related application, HTMLp, and may include executable embedded code objects.
  • markup languages provides one implementation of rich content in advertisements, since markup languages, particularly HTML, allow for various fonts, typefaces, text formatting, graphic files, and the like.
  • the present invention is not limited to user interface definition files 104 constructed in HTML, but also operates with any other markup language, such as SGML, or XML, or other extended non-standard versions of HTML, such as the Netscape Communications' set of HTML extensions.
  • the present invention also may use any other language or mechanism for defining the content of user interfaces which includes the ability for a file to refer to other external data files, including text and images, for inclusion into the content of the file as displayed.
  • the particular content of the user interface definition files 104 is variable, and expected to be different from any of the illustrative user interface screens described herein.
  • the MMI 102 may be provided to a service operator without any user interface definition files 104 at all, leaving the service operator to create these files as desired; thus the user interface definition files 104, while used by the MMI 102 of the present invention, themselves are not an essential part of the invention.
  • the user interface definition files 104 define the user interface presented to the user, they allow the service operator to easily change the content of advertisements provided on the wireless communication device 100, by simple editing of the user interface definition files 104. This makes customization very easy and cost effective.
  • FIG. 2 there is shown a basic layout of a page 135 displayed on the screen display 136 by the user interface manager 107.
  • Each page 135 generally has four basic areas.
  • a status bar 200 that is preferably always present and displays items such as signal strength 202, battery strength 204, and message-waiting indicator 206.
  • a title bar 210 displays the name for a particular screen, if so defined. Scrolling banner advertisements in accordance with the present invention may be displayed in the title bar 210 or in the content area 214.
  • a status message area 212 may be used to present status messages particular to the current content, such as a telephone number being called or answered.
  • the content area 214 is used to display the particular content of a user interface page, for example, text of a message, phone book entries, and the like.
  • Full screen advertisements are generally displayed in the content area 214, and typically cover over the status message area 212 and title bar 210.
  • Softkey labels 216 are dynamically updated according to key definitions provided in the user interface definition files 104.
  • the softkey labels 216 are bound to softkeys 130 according to key associations defined in the user interface definition files 104.
  • a scroll arrow 215 indicates the current direction in which the user is scrolling (either up or down).
  • a focus and selection icon 220 may optionally be used to indicate the particular item or line of content that has the focus, i.e. is the current user interface gadget or input field.
  • a mode indicator 218 indicates the mode for text entry, whether alpha, numeric, or a combined alphanumeric mode.
  • Any of the pages or content displayed on the screen display 136 may be obtained locally from the user interface definition files 104 or remotely from the Internet or World Wide Web. Examples of local content include advertisements, a telephone book, received text messages, and the like.
  • the user interface manager 107 includes an executive 106 advertising manager 108, an advertisement content handler 110, a transport manager 112, a phone book manager 114, and an advertisement file store 118 that stores advertisement files.
  • the user interface manager 107 is a software product having the various functional and structural features described herein.
  • the user interface manager 107 and its components are executed by the processor 124.
  • the executive 106 is responsible for maintaining the universal parts of the screen display 136, for selectively activating the various managers to process user inputs and advertisement files, and for routing user input. User input routing involves passing user input keystrokes to the manager or other target entity for processing, such as entering input numbers and letters into a form, or dialing a telephone number.
  • the executive 106 is implemented as the shell as described in the related application.
  • the advertising manager 108 is responsible for managing the advertisement files, including selection of advertisement files from the advertisement file store 118 for display, the construction of advertisement files from message packets received from a remote source, and the updating or removal of advertisement files in the advertisement file store 118.
  • the phone book manager 114 is responsible for managing an internal phone book data store that stores phone book records containing phone book information, such as names and telephone numbers, but also contains arbitrary data, including uniform resource locators (URLs), and other information, such as stock quotations, news items, weather data, sport scores, travel information, and the like that are periodically downloaded into the wireless communication device 100 from a remote source, such as a subscription service.
  • the phone book manager 114 includes methods to get and set the fields of records in the phone book data store.
  • the transport manager 112 is responsible for receiving message packets containing data for advertisement files or for phone book entries, and routing such message packets to either the advertising manager 108 or the phone book manager 114 for construction of files and storage of data.
  • the advertisement content handler 110 is responsible for interpreting user interface definition files 104 and advertisement files and displaying the content of such files on the screen display 136.
  • the advertisement content handler 110 receives selected advertisement files from the advertising manager 108 and outputs them to the screen display 136.
  • the advertisement content handler 110 is implemented according to the general content handler design disclosed in the related application.
  • the advertisement content handler 110 interfaces with an markup language content handler, which provides for interpretation of pages encoded in a markup language.
  • An HTML content handler may be implemented according to the HTML 3.2 specification.
  • the user interface manager 107 incorporates a HyperText Transfer Protocol handler according to the specification defined in RFC 2068: Hypertext Transport Protocol - HTTP/1.1.
  • the advertisement file store 118 stores the advertisement files.
  • the advertisement file store 118 is a simple database, holding variable size records, each record having a record identifier. While the preferred embodiment uses a database organization for the advertisement file store 118 in which all entries (including advertisements and other descriptive data) are records identified by record identifiers, other data storage organizations may be used, such as a hierarchical file system using pathnames, or storage object identified by object handles.
  • advertisements are split into two types: full-screen advertisements that are displayed when the wireless communication device 100 is idle, and banner advertisements that are displayed in conjunction with a page that is part of the user interface of the wireless communication device 100.
  • Full-screen advertisements are pages with optional associated graphics files that are displayed to the user when she has not pressed a key for a certain amount of time, and nothing else is happening on the device.
  • full screen advertisements are defined in either stand-alone full screen advertisement files 320a, or template full screen advertisement files 320b.
  • a banner advertisement is text message that typically scrolls across the top of the screen display 136 or within the content area 214.
  • Banner advertisements are preferably in some way associated with the content that is being displayed on the screen display 136. For example, a screen that lists services that are offered by a service operator may include space for a banner advertisement from the service operator that advertises new services.
  • Banner advertisements are defined by banner advertisement files 320c.
  • advertisement files 320 there are three types of advertisement files 320:, stand-alone full screen advertisements 320a, template full screen advertisements 320b, and banner advertisements 320c.
  • advertisement files 320 there are three types of advertisement files 320:, stand-alone full screen advertisements 320a, template full screen advertisements 320b, and banner advertisements 320c.
  • reference numbers without letter subscripts are understood to refer generally to all subscripted items, and reference numbers with letter subscripts are understood to refer to the particular item referenced.
  • Fig. 3 illustrates the schema of the advertisement file store 118.
  • the first record 300 in the advertisement file store 118 is a list 300 of the storage areas 310 in the advertisement file store 118.
  • a storage area 310 is a master record for a group of related advertisement files 320. Multiple storage areas 310 are allowed to provide for a large variety of different advertisements. Any individual storage area 310 stores data for one type of advertisement file 320, either full screen advertisements or banner advertisements, though there may be multiple storage areas 310 for each type. In the preferred embodiment, there is a single storage area 310 for full screen advertisements, and multiple storage areas 310 for banner advertisements.
  • Each storage area 310 is defined by a record that contains the following data:
  • a label 311 that identifies the storage area 310, and may be used to define a category or topic for the advertisement files 320 identified in the storage 310.
  • one storage area 310 may have the label "Idle Screen" and store information identifying the various advertisement files 320 that are to be displayed during an idle time.
  • the label 311 is then encoded in a user interface definition file 104 or other file to be displayed to indicate from which storage area 310 advertisements for that file are to be selected by the advertising manager 108.
  • a key 312 of the storage area is string value that is used to authenticate an advertisement file 320 that is received and is to be added to the storage area 310. This ensures that only authorized advertisement files 320 are included in the advertisement file store 118.
  • a current display list 313 identifies a sequence of advertisement files 320 to be displayed.
  • the entries in the list are not necessarily unique, as a single advertisement file 320 may be listed multiple times at various locations in the list 313.
  • the display list 313 is a carousel (circular queue).
  • a current advertisement index 314 into the display list 313 identifies the advertisement file 320 that is the current one to be displayed. This index 314 is updated each time an advertisement file 320 is displayed.
  • a current advertisement list 315 is a list of all of the advertisement files 320 that are currently included in the storage area 310, and from which the display list 313 is constructed. All three types of advertisement files 320 are described by records that contain the following data:
  • a display limit 321 which is the number of times the advertisement file 320 should be displayed. This limit 321 is defined by either the service operator or the advertiser or both, and may be based on the amount of advertising revenue the service operator receives from the advertiser for displaying the advertisement file 320.
  • a display count 322 which is the number of times the advertisement file 320 has been displayed. This number is updated by the advertising manager 108 each time the advertisement file 320 is displayed, and compared against the display limit 321.
  • Banner advertisement files 320c are defined in the advertisement file store 118 by the following:
  • the text data 341 of the banner advertisement which is a string defining the text to be displayed, typically scrolled, in the banner.
  • the string may contain an escape sequence, such as "@k", which will be replaced by a description of the key or key sequence that has been assigned to allow the user to respond to the advertisement.
  • the escape sequence is defined by the service operator or manufacturer of the wireless communication device 100, and the protocol and functionality for recognizing the sequence is implemented within the wireless communication device 100.
  • Banner advertisement files 320c are linked to particular page or user interface definition file 104 by encoding a reference to the storage area 310 containing a number of banner advertisements in the page or file 104. In this fashion, the banner advertisement files 320c identified in the display list 313 for that storage area 310 are sequentially displayed on the page.
  • the reference to a storage area 310 is encoded in an URL, where "ad” specifies that the advertising manager 108 is to be invoked, and "banner” indicates a banner advertisement, and string specifies the label 311 of the storage area 310 to be used.
  • a banner advertisement storage area 310 can therefore be linked to multiple pages in the wireless communication device 100.
  • Full-screen stand-alone advertisements 320a contain the following:
  • Content data 325 for the advertisement describes the actual content of the advertisement to be displayed on the screen display 136.
  • This content data 325 is provided by the advertising manager 108 to the advertisement content handler 110, which interprets it and formats it for output.
  • the content data 325 is markup language data from any of the many varieties of markup languages, including HTML, SGML, and the like.
  • One preferred markup language is HTML with the HTMLp extensions described in the related application.
  • other content data 325 formats may be used, such as page description languages (e.g., Display Postscript), or simply programming language constructs from C or other programming languages.
  • a list 326 of associated files 350 This is a set of zero or more associated files 350 that contain text or graphics to be included in the advertisement when it is displayed.
  • the list 326 identifies the associated files 350 on which it particularly depends; these files may be present in the advertisement file store 118, or may be stored remotely, and fetched at the time the advertisement file 320 is displayed, or when the advertisement file 320 is stored in the advertisement file store 118.
  • the associated files 350 are stored in a file cache 360. Any associated file 350 may be used by any of the advertisement files 320.
  • the associated file 350 contains text, graphics or other data that are to be included in the advertisement file 320 when it is displayed on the screen display 136. This feature enables a very compact representation of an advertisement file 320, since it need only include the data that is particular to it, and may reference associated files 350 that contain data that is common to a number of advertisement files 320. For example, all advertisements from a particular vendor may share associated files 350 that contain the vendor's logo, introductory text, background graphics, and the like.
  • Full-screen template advertisement files 320b contain the following:
  • the templates files are defined in the HTMLp language using the ⁇ TEMPLATE> tag as described in the related application.
  • the template file 327 is always the first associated file 350 identified in the associated file list 326.
  • Each associated file 350, which is used by one or more advertisement files 320, is defined by a record that contains:
  • a long name 351 of the associated file which is a unique name that is used to specify the particular file.
  • a long name is useful since the name space for the actual file names may be limited; the long name provides a way of creating a unique name without regard for the namespace limitations of the storage device.
  • the actual file name 352 of the associated file This is the name of the file in a file system on the wireless communication device 100.
  • a reference count 353 which is the number of references there are to the associated file 350. This is the number of advertisement files 320 that refer to this associated file and incorporate its content when displayed.
  • Associated files 350 are stored in a file cache 360, and may remain there even after the advertisement files 320 that refer to them are deleted from the storage areas 310, so long as storage space allows.
  • Advertisements are frequently time-limited, and those that sell advertising space frequently price it based on the frequency or the time at which the advertisement is displayed. To accommodate this model, the present invention enables service operators to differentially control the frequency with which advertisement files 320 for various advertisers are displayed, and the length of time in which an advertisement file 320 is valid. These features allow for a variety of advertising revenue models and pricing plans to be developed.
  • the advertisement files 320 are records in the display list 313 with multiple levels of priority 324. One embodiment uses four priority levels (1-4). Advertisements with higher priority 324 are shown more frequently than lower priority advertisements.
  • Each advertisement file 320 identified in the display list 313 has a priority 324.
  • the priority 324 of an advertisement file 320 is determined by the service operator and the advertiser, and may be based on the revenue the service operator receives for placing the advertisement.
  • the advertising manager 108 uses the display list 313 to maintain the order in which to display the advertisement files 320 by summing the priorities 324 of all the advertisements and creating the list 313 with that many slots in it. For example, if there are ten advertisement files 320 in a storage area 310 with a total priority value of 30, then the diplay list 313 has 30 slots. The advertising manager 108 randomly assigns each advertisement file 320 to n slots in the list 313, where n is the priority 324 of the advertisement file 320. In this fashion, each advertisement file 320 appears in the display list 313 with a frequency dependent on its priority 324 relative to the priority of all other advertisement files 320 in the storage area 310.
  • the advertising manager 108 will sequence through it in order, retrieving the advertisement indicated by the current advertisement index 314.
  • the time during which an advertisement file 320 is valid is defined by the expiration date 323.
  • the method of determining when the expiration date has passed will vary from device to device.
  • One embodiment may use a system clock that can be consulted, while with other embodiments, a server that provides the advertisement files 320 will provide the necessary information.
  • the advertising manager 108 removes an advertisement file 320 from the current advertisement list 315 (e.g., an advertisement file 320 has expired, reached its display limit 321, or has been removed by the service provider), or adds a new advertisement file 320, it also removes it from the display list 315, recalculates the length of the display list 313, and reassigns the current advertisement files 320 in it.
  • the reference count 353 of each associated file 350 to which it referred is decremented, so that associated files 350 with a zero reference count may be removed if need be.
  • the display list 313 may be used without any priority based assignments, or may be eliminated.
  • the display list 313 is eliminated, and all advertisement files 320 in the current advertisement list 315 are displayed with the same frequency.
  • One advantage of the present invention is the ability for the user to respond to advertisements directly. Instead of acting on the advertisement at a later time and by his own initiative, for example by buying the advertised product at a store, dialing a telephone number or the like, the present invention allows the user to respond immediately to an advertisement.
  • the present invention includes the following types of actions:
  • More than one of these actions can be performed when the user responds to an advertisement.
  • an advertisement could both create an entry in the phone book and send a short text message to turn on periodic downloading of content to that created phone book entry.
  • any other type of action may be defined as an action in response to an advertisement, so long as that action can be activated directly from the advertisement as displayed on the screen display 136.
  • the data encoding the action for the user to respond to an advertisement is encoded in the advertisement file 320a,b itself.
  • the action is encoded in the action data 342 that accompanies the banner advertisement.
  • an action is a string that encodes data identifying a method of a functional entity of the wireless communication device 100 to effect the desired action, and argument data for the method.
  • the action for dialing a telephone number to respond to an advertisement may encode data identifying a dial function of the telephone control module 120 and a string of digits to be dialed.
  • an action to send a message may encode data identifying a send message function of a message system, and text data of the message contents.
  • An action to fetch a Web page would include the URL of the Web page, and a request to a HyperText Transfer Protocol handler to fetch the URL.
  • An action to create a phone book entry invokes the phone book manager 114, requests a new phone book entry, and passes in data defining the contents of the new phone book entry.
  • One preferred embodiment of the present invention encodes the action as a URL in which the protocol component identifies a functional entity of the wireless communication device 100 to effect the action, and the data component identifies a method of the functional entity to be invoked and argument data for the method.
  • a URL is used to identify a functional entity and its methods
  • any URL available in the wireless commumcation device 100 may be specified as an action.
  • the related application describes a particular embodiment for handling URL encoding of actions. However, URL encoding of actions is not essential to the present invention.
  • the action will be bound to a key on the keypad 128, identified by a name or number.
  • this key is also associated with a user interface gadget that will be contemporaneously displayed.
  • User selection of the key activates the action bound to the key.
  • the advertisement file 320 is removed from the current advertisement list 315 and the display list 313. Any associated files 350 have their reference count 353 reduced by one, allowing them to be deleted if the count reaches 0 and the storage space is required.
  • the wireless communication device 100 will generally include a key or key sequence that is defined to activate the action 342 for the current (or most-recent) banner advertisement. When that key or key sequence is pressed, the action 342 specified for the advertisement is taken. This predetermined binding is defined by the service operator or the manufacturer of the wireless communication device 100.
  • actions are taken with a least amount of privilege, which means that they will be confirmed with the user before they are performed, with the exception of fetching another page of content.
  • FIG. 4 there is shown a flowchart of the process of displaying full screen advertisements in a non-intrusive manner and managing user response actions. It should be noted here that it is assumed that advertisement files 320 have been received and stored in the advertisement file store 118, including assignment of slots within the various display lists 313.
  • the process of Fig. 4 is jointly handled by the executive 106, the advertising manager 108, and the advertisement content handler 110.
  • the process begins with an active state 400 of the wireless communication device 100, with some user interface definition file 104 or other content displayed on the screen display 136.
  • the executive 106 manages an idle counter which is reset to zero each time there is keypress or other event changing the content of the screen display 136. Accordingly, from the active state, the executive 106 waits 402 on a next keypress or a one second timeout. If a keypress is received 404, the executive 106 resets 405 the idle counter to zero, and processes 406 the keypress by routing it to a target entity, such as a user interface gadget on the currently displayed page, or a manager entity.
  • a target entity such as a user interface gadget on the currently displayed page, or a manager entity.
  • the executive 106 increments 408 the idle counter, and tests 410 the counter against a predetermined threshold for an idle time.
  • the idle time threshold is 30 seconds, but other thresholds may be used for more or less frequent display of advertisements. If the idle counter has not reached the idle time threshold, the executive 106 loops and waits 402 for the next one second timeout or a keypress.
  • the executive 106 invokes the advertising manager 108 to manage the display of the next advertisement.
  • the advertising manager 108 accesses the storage area 310 appropriate for idle screens, using the label 311 to identify the appropriate storage area 310.
  • the advertising manager 108 would match a label held in the currently displayed page against the labels 311 of the various storage areas 310, and select the matching storage area 310.
  • the advertising manager 108 increments 412 the current advertisement index 314 in the full screen storage area 310 to the next advertisement identified in the display list 313.
  • the advertising manager 108 tests 414 whether the advertisement file 320 has expired.
  • the advertising manager 108 increments 415 the display count 322 for the file.
  • the advertising manager 108 determines 416 whether it is a template advertisement file 320b. If so, the advertising manager 108 invokes the advertisement content handler 110, passing in the template data 331 and the contents of the template file 327, which as noted above, is the first associated file in the associated file list 326.
  • the advertisement content handler 110 also fetches any associated files 350 according to the associated file list 326, and uses the data therein to augment the content of the advertisement file 320.
  • the advertisement content handler 110 merges the template data 331 and the template file 327, and any associated content to form the complete advertisement, and displays 422 it on the screen display 136.
  • the advertising manager 108 invokes the advertisement content handler 110, and passes in the content data 325 of the advertisement file 320.
  • the advertisement content handler 110 also fetches any associated files 350 according to the associated file list 326, and uses the data therein to augment the content of the advertisement file 320.
  • the advertisement content handler 110 interprets the content data and displays 418 it on the screen display 136.
  • the advertisement content handler 110 waits 424 for a user keypress, which may be in response to the advertisement.
  • the advertisement content handler 110 tests 426 whether a received user keypress is defined by the advertisement file 320 to be one that is bound to a response action.
  • the binding of a key to an action is defined within the advertisement file 320 itself, by associating the action with a key identified by name or number.
  • keys are bound to actions using the ⁇ KEY> attribute defined in the related application.
  • the advertisement content handler 110 activates 430 the action, by either passing the action data to the executive 106, or directly calling the functional entity and method that is encoded in the action data. In either case, the functional entity responsible for effecting the action does so with any received argument data, such as a telephone number to dial, message text to send, a Web page to retrieve, or the like. If the key is not bound to an action in response to the advertisement, then the key is processed 428 as a normal keypress.
  • a side effect of activating the response is that the advertisement file 320 is deleted 432 from the current advertisement list 315, and the display list 313 is recomputed.
  • the page showing the advertisement content is also closed 434. Processing returns to the active state.
  • a full screen advertisement 500 is displayed on the screen display 136 following an idle time.
  • the advertisement file 320a defining the advertisement 500 includes a definition binding a "Yes" softkey 130 to the displayed softkey label 503 and to a user action.
  • Fig. 5b the user has pressed the appropriate softkey 130 on the wireless coirimunication device 100.
  • This page 502 defines the softkey label "Tell me more" 505 to initiate an action of dialing a telephone number (notice the "Dialing" status message 507 in the title bar 210) to a provider "TrafficWatch", as shown on the next page 504 in Fig. 5c.
  • the user is able to directly 5 respond to the advertisement without having to do more than select two softkeys 130. The response could have been made even more direct by eliminating the second page 502, and dialing directly from the "Yes" softkey.
  • banner advertisements operates somewhat differently. This is because w banner advertisements are meant to scroll across the screen display 136, and not to replace the current page content. Thus, they need not be limited to the long idle times of the wireless communication device 100.
  • the content for a banner advertisement is determined at the time the page containing the reference to the banner advertisement file 320c is loaded and displayed. When the page is loaded, the reference to the banner advertisement file 320c is
  • the advertising manager 108 retrieves the current advertisement file 320 from the display list 313, accounting for expired files in the manner described above.
  • the display of its contents depends on the location of the banner in the page that is being displayed.
  • the banner advertisement file 320c is included within a definition of a scrolling object in the title of the page.
  • a markup language to define user interface definition files 104 the
  • banner advertisement file 320c 25 reference to the banner advertisement file 320c would be included in a ⁇ MARQUEE> tag in the head portion of the file.
  • the preferred method of referencing a banner advertisement file 320c is the ⁇ INC> tag described in the related application.
  • banner text 341 is fetched by the advertising manager 108 when the page is loaded and held in cache.
  • the executive 106 maintains a delay counter with a predetermined, but short idle time threshold
  • the banner text 341 is passed by the executive 106 to the current content handler 110, which instantiates the scrolling banner object with the text in the title bar 212.
  • Scrolling Banner in Content Area In this page layout, the advertising manager 108 fetches the banner text 341 when the page is loaded, and passes it to the current content handler 110 that is displaying the current page, which creates a scrolling banner object using the banner text 341 and displays it in the content area 214. No idle time testing is required, and the banner advertisement scrolls as long as the page is loaded and displayed.
  • This embodiment may be implemented using the ⁇ MARQUEE> tag in the body section of a page, as described in the related application.
  • Fixed Banner in Content Area In this page layout, the banner text 341 is fetched and simply made part of the page that is displayed in the content area 214, without scrolling. The banner advertisement may be visually set off from the rest of the page, according to the sensibilities of the designer of that page.
  • the advertising manager 108 When displaying banner advertisements, the advertising manager 108 replaces any escape sequences with the appropriate key sequences before returning the text to the entity that is displaying the current page.
  • FIG. 6a shows an initial page 600 prior to the display of the banner advertisement.
  • a new banner advertisement 603 is beginning to scroll across in the title bar 210, replacing the text of the title bar.
  • the banner advertisement 603 continues to scroll, and includes a replacement string "Function+9" 605 for an escape sequence that was included in the banner text 341.
  • the action is defined as the creation of a new phone book entry with the telephone number of the "FlightAlert" service, and an entry form for requesting notifications on the status of a particular flight to be used each time the user has a plane to catch.
  • Fig. 6e shows the contents 608 of the new phone book entry, which is a form to request a message to be sent to the wireless communication device 100; the form allows the user to specify the airline (e.g., "Alaska") and the flight number (e.g., "333") that the user desires to be notified about.
  • the "OK" softkey label 609 is bound to an action to transmit the contents of the form as a message to the service provider of "FlightAlert" that requests message data to be delivered back to the phone book of the wireless communication device 100 if the specified flight "Alaska 333" is delayed.
  • the user can establish this service which uses the phone book through a very few number of softkey selections.
  • a subscription service may deliver data directly to the phone book.
  • One of the features of the present invention is the ability to update any of the stored advertisement files 320 at any time via a wireless connection between the wireless communication device 100 and a suitable server. To do this, the present invention does not rely upon a particular transmission mechanism. Transport of data for advertisement files 320 can be realized using a succession of short text or binary messages with high latency, or a network stream over a protocol such as TCP/IP.
  • the underlying protocol between the wireless communication device 100 and the server providing the advertisement files 320 provides the following semantics:
  • a timestamp approximating when the data were sent is made available on the receiving end. This is used to expire advertisements when no clock is available on the target wireless communication device 100.
  • Data are directed to particular ports on the wireless communication device 100, meaning data destined for multiple destinations may travel over the same channel, but are then dispersed to their appropriate destinations on the wireless communication device 100.
  • the present invention defines a number of different ports to which data can be addressed; the semantics of the data are discussed in section Processing of Incoming Advertisements and Phone Book Updates, below.
  • the ports are used by the transport manager 112 to determine which manager to call to assemble the packets and store them in the appropriate repository.
  • void Server (void *data, unsigned len, void *from, unsigned fromlen, LocalTimestamp *time)
  • the server procedure of the target manager receives the data bytes and the number of them, the originating address, in case additional requests must be sent back to the server, and the approximate time at which the datagram was sent.
  • the advertising manager 108 manager preferably has separate server procedures for handling full screen advertisement files 320a,b and banner advertisement files 320c.
  • the protocol provides a means for sending a datagram back to the originating server, with no guarantee of delivery: void Send (void *data, unsigned len, void *to, unsigned tolen, uint ⁇ port)
  • the caller is expected to retransmit the request if it gets no response in whatever time it deems appropriate.
  • the above described semantics are imposed upon the GSM Short Message Service.
  • the implementation is based on the Narrowband Sockets specification defined at http://developer.intel.com/ial/nbs/spec_10.htm, with the additions outlined below.
  • Narrowband Sockets is envisioned to allow a standard machine, such as a
  • the Narrowband Sockets datagram protocol is used to allow a message to be formatted in such a way as to be routed to the appropriate function inside the wireless communication device; no gateway is required, only properly-formatted messages.
  • the Narrowband Sockets specification does not address the issue of a timeout period after which the fragments that make up a datagram should be discarded.
  • fragments are retained for up to six hours, or until the start of a datagram whose sequence number is 16 greater than that of the incomplete datagram. If the remaining fragments have not been received by then, all fragments are discarded. For those devices that have no clock, the passage of time is noted by watching a service center time stamps of all incoming messages and comparing them to the timestamp of the last fragment that was received for a datagram.
  • the present invention allows new advertisements to be included in the advertisement file store 118 at any time. This enables the service operator to deliver a useful advertising service, providing new advertisements as old ones expire.
  • FIG. 7 illustrates the data structures for messages arriving at the full screen advertisement server of the advertising manager 108 on full-screen port 1. These messages take one of two forms:
  • the associated file flag bit 701 indicates the package 700 is for an advertisement file 320, otherwise it is an associated file 350.
  • the template flag bit 702 indicates if the advertisement is a template advertisement (702 is set) or a stand-alone advertisement (702 is clear).
  • Flags 703 are a count of the number of associated files 350.
  • Both associated file 700b and advertisement packages 700a follow the flags octet 704 with an 8-octet signature field 711 that is used for authentication. Authentication is used by the advertising manager 108 to prevent unauthorized advertisement files 320 or associated files 350 from being loaded into the advertisement file store 118.
  • Advertising packages 700a then follow the signature field 711 with the various advertising parameters: display count 705, priority 706, and expiration date 707. If the associated file count 703 is non-zero, this is followed by that many associated file names, each one identified by a length octet 708 for the length of the associated file name, followed by the name 709 of the associated file 350. The data for the advertisement follow in the data field 710. The associated file 350 is packaged in a subsequent associated file package 700b.
  • Associated file packages 700b follow the signature field 711 with the name of the associated file 350 being received, as a length octet 708 and name 709, and the data that make up the file 710.
  • FIG 8 there is shown the server process 800 of the advertising manager 108 in processing a package for a full screen advertisement:
  • Authenticate 801 the package using the key 312 stored in the storage area 310 (assuming a single storage area 310 for full screen advertisements). In the preferred embodiment, this is done by applying the MD5 algorithm (RFC 1321) to all parts of the package 700 other than the signature field 711, followed by the key 312, and comparing 802 the result to the signature field 711. Reject 804 the package if the two do not match. If the signatures match, the package is authenticated and can be safely stored in the advertisement file store 118. This step prevents unauthorized advertisements and associated files from being loaded into the wireless communication device 100. In particular, this means that the user does not receive advertisements that are not authorized by the service provider, and it further means that advertisements cannot be tampered with once sent from the server to the wireless communication device 100. Check 806 the associated file flag 701 to determine if the package 700 is an associated file 350 or an advertisement file 320.
  • RRC 1321 the MD5 algorithm
  • the package is an advertisement file 320, find 814 an empty slot in the current advertisement list 315 in the "Idle Screen" storage area 310. If there is none, discard 816 the oldest, lowest-priority advertisement (as determined by the display count 322 and priority 324).
  • Allocate 818 an advertisement record 320 and initialize it with the display count 705, priority 706, and expiration date 707 from the package 700.
  • For each (820-830) associated file (with the number extracted from field 703 of the flags octet 704):
  • Reject 804 the package if the two do not match 802. Locate 808 the associated file 350 in the file cache 360. If the associated file cannot be found 808, create 810 a file record 350 with a reference count 353 of 0. Create 820 a local file to hold the data and store its name in the local filename field 352.
  • the datagrams received by the banner advertisement server of the advertising manager 108 on port 2 take the form shown in Fig. 9.
  • the banner advertisement server takes the following actions, similar to the logic shown in Fig. 8.
  • the logic for processing banner advertisements is simpler however, because banner advertisements does not use associated files, and hence there is no need to ensure that the associated files are all received prior to entering a banner advertisement into the display list 313.
  • Use the storage area name given by the area name length 901 and area name 902 fields to locate the appropriate storage area 310 by matching this name 902 to the storage area label 311. If no such storage area 310 has a matching label, the datagram is discarded.
  • Authenticate the datagram preferably by applying the MD5 algorithm to all parts of the datagram but the signature field 903, followed by the key field 312 of the matching storage area 310. The result is compared to the signature 903, and if they do not match, the datagram is discarded. These steps serve to authenticate the banner advertisement to the wireless communication device 100, again preventing unauthorized advertisements from being introduced into the wireless communication device 100.
  • This advertised service which the user can immediately respond to and sign up for, can then in turn w deliver information and data on a regular basis to the phone book for storage therein.
  • the data is authenticated prior to entry in the phone book.
  • the information and data may be subscription data provided by a subscription service, such as stock quotations, or any data that is usefully subscribed to on a periodic or other basis.
  • Fig. 10 illustrates the relevant fields of a phone book record 1010 that provide this 15 functionality in one implementation of the present invention.
  • Fig. 10 illustrates a phone book record 1010 as stored in the wireless communication device 108, a phone book update record 1000 that is received to update a phone book record 1010, and various different data formats 1004a-1004d that the phone book update record 1000 can contain.
  • the phone book is a simple database that stores the phone book records under the control of the phone book manager 114.
  • the phone book record 1000 includes a name 1011, typically the name of the party for which the telephone number or any other data is stored.
  • a key 1012 provides for authentication of an incoming phone book update record 1000 which is intended to update a particular phone book record 1010.
  • the key 1012 string is concatenated with the incoming update record 1000 to authenticate the update 1000, in the 25 manner described above.
  • the data field 1013 begins with a null-terminated string that indicates the type of data in the record.
  • the possible values are "HTML” for the HTML markup language, "text” for straight text, or "GIF” GIF89a graphic format.
  • HTML HyperText Markup Language
  • text for straight text
  • GIF GIF89a graphic format
  • 30 string's null terminator are the octets that make up the data 1013.
  • the service field 1015 contains any arbitrary data, including a URL to any Web page, for example the Web page of a service provider for a purchased service.
  • the phone numbers field 1014 contains zero or more phone numbers for the named entity.
  • a datagram received by the phone book manager 114 can affect the data field 1013, the service field 1015, or one of the phone numbers in the phone numbers field 1014. In addition, if after the update all of these fields are empty, the phone book record 1010 will be deleted.
  • Fig. 11 is a flowchart of the processing of a received datagram by the phone book manager 114:
  • the phone book is searched 1102 for a record 1010 whose name 1011 matches 1104 that in the name field 1002 of the phone book update 1000. If no match is found, the datagram is discarded. A message is created and sent 1105 to the sender of the update record 1000 indicating the update record has been rejected; the sender, for example a information service providing the update record as an update of subscription data, can then appropriately cancel the subscription service providing the updates. The processing is then terminated 1116.
  • One advantage of this operation is that the user can cancel the subscription service merely by removing the phone book record that stores the subscription data.
  • the phone book update record 1010 is authenticated 1106. This is done preferably with the MD5 algorithm, as applied to all parts of the phone book update 1000 except the signature field 1003, concatenated with key field 1012 of the phone book record 1010. The result is compared 1108 to the signature field 1003. If they do not match, the datagram is discarded, and processing terminated 1116. This prevents unauthorized phone book updates from effecting an existing phone book record 1000. This feature is desirable because the present invention allows the user to subscribe to services which automatically send data, in the form of phone book updates 1000 directly to the phone book.
  • the user may subscribe to stock quotation services, sport score services, news headline services, and the like, which send appropriate phone book updates containing their particular type of data for storage in the data 1013 fields of the phone book record 1010.
  • Authentication protects both the user from receiving unauthorized data, and the service provider from interference with the customer relationship by tampering with the updates during transmission.
  • the operation field 1005 is examined to determine what operations 1110 are to be done upon the phone book record 1010.
  • the operation field is divided into two 4-bit fields, the action 1005 and the field 1006.
  • the meaning of the data 1004 of the update record 1000 differs depending on the values in these fields.
  • the possible values for these fields are:
  • the phone numbers field 1014 is searched to locate the affected phone number.
  • the record is checked 1112 to determine if it still has any remaining data, service or phone numbers. If not, it is deleted 1114.
  • the present invention uses the phone book as a data store for arbitrary data, those of skill in the art will appreciate that other data repositories may also be used in the above described fashion to hold updates and data.
  • the present invention uses the phone book because this data repository and functionality to manipulate it is present in the vast majority of wireless communication devices, such as cellular telephones. Thus, extending the phone book functionality of these devices to store more than just telephone data substantially enhances their utility.
  • the ' present invention provides an integrated advertising system and method by which advertisements can be delivered to a wireless communication device 100 and displayed thereon in a non-intrusive manner.
  • the present invention further enables direct user response to advertisements by encoding actions directly into the content of an advertisement. This enables the user to respond immediately to an advertisement.
  • the present invention also allows for the flexible advertising model to be implemented, with control over the length of time advertisements are displayed and their frequency.
  • the present invention allows for arbitrary data to be received, authenticated and stored in a phone book (or similar data store), thus facilitating subscription to information services delivering information to the wireless communication device 100.

Abstract

A system, method, and software product provide integrated advertising capabilities to a wireless communication device. The system includes an advertising manager that manages the display of advertisements, an advertisement file store that stores advertisements, including full screen advertisements and banner advertisements, and an advertisement content handler that interprets and displays the content of an advertisement. The advertising manager selects advertisements from the advertisement file store and provides them to the advertisement content handler for display. Advertisements may be selected from a number of storage areas which contain groups of related advertisements. Advertisements are selected on randomized but priority basis, allowing higher priority advertisements to be displayed more frequently than lower priority ones. Also, advertisements may have expiration data indicating when they expire and are no longer to be displayed. Advertisements are authenticated when received from a remote server to prevent storage and display of unauthorized advertisements. In conjunction with advertisements, a phone book can store arbitrary data, such as data provided over the air by a subscription service. Received phone book data is also authenticated before storage.

Description

INTEGRATED ADVERTISING FOR WIRELESS COMMUNICATION DEVICES WITH RICH CONTENT AND DIRECT USER RESPONSE MECHANISM
INVENTORS: ADAM DE BOOR, MICHAEL D. EGGERS CROSS REFERENCE TO RELATED APPLICAΉON This application is related to patent application serial number 09/057,394, entitled
WIRELESS COMMUNICATION DEVICE WITH MARKUP LANGUAGE BASED MAN-MACHINE INTERFACE, and filed on April 8, 1998 by Adam de Boor and Michael D. Eggers, assigned to the same assignee as the present application, which application is incorporated by reference herein in its entirety. BACKGROUND
Field of Invention
This invention relates to the distribution of electronic advertising for wireless communication devices.
Background of the Invention Wireless communication devices are becoming increasingly prevalent for personal communication needs. These devices include, for example, cellular telephones, alphanumeric pagers, "palmtop" computers and personal information managers (PIMS), and other small, primarily handheld communication and computing devices. Wireless communication devices have matured considerably in their features, and now support not only basic point-to-point communication functions like telephone calling, but more advanced communications functions, such as electronic mail, facsimile receipt and transmission, Internet access and browsing of the World Wide Web, and the like.
One of the current problems facing service operators providing cellular services on wireless communication devices is the delivery of electronic advertising. Service operators desire to provide advertising directly on the wireless communication device, but the software architecture of conventional wireless communication devices does not accommodate the direct integration of advertisements into the user interface or the ability for the user to directly respond to an advertisement.
For example, one current method of electronic advertising is via a paging service built into the messaging service operator's GSM cellular network. Customers receive a "page" on their wireless communication device, the page being a text message that contains the promotion and instructions for reaching a customer service center to change to a new rate or service plan.
This method has a number of limitations. First, users generally have a low tolerance for advertising, but they like it even less when it interferes with their use of their equipment. To be acceptable, advertisements must be displayed only when the user is not actively using the wireless communication device to accomplish a task.
However, in the paging method the advertisements are very intrusive to the user. The messages are delivered to the user's "in box" along with all other paging messages. The user must read through and delete the advertisements in order to get to an important personal message. Undeleted advertisements can "clog" the inbox (which can only hold a fixed number of messages) preventing the delivery of important messages to the user.
Second, the paging advertisements do not contain "rich" content. These advertisements are subject to all the restrictions of the Short Messaging Service (SMS), particularly a single font, no graphics, and no character styles such as boldface or italic. It is nearly impossible to make such advertisements visually appealing or eye-catching. This limitation reduces the value of the advertisements to potential advertisers.
Third, it is important to enable a user to respond immediately to an advertisement in order to "sign up on the spot," for the simple reason that he may lose interest while waiting for additional information to be downloaded to the wireless communication device. A variety of back-channels are important, since some advertisers will prefer to connect a potential customer directly to a sales agent, while others would rather have an automated system that can log the request and automatically start the service. (The latter is likely the case for information services.)
However, the paging method has a very limited and primitive response mechanism. All the advertisement can do is supply a telephone number that the user must manually dial, or other instructions to be taken by the user at his initiative. Further, because the user must initiate and make the telephone call, the user is responsible for explaining the purpose of the call and acquiring the advertised service. The customer service center receives no information other than that provided by the user. A related type of electronic advertising is found on the World Wide Web. Most commercial pages on the World Wide Web contain a small "banner" advertisement at the top to generate additional income to the content provider. Web banner advertisements are typically animated images that transfer the user to another Web site when clicked upon with the mouse.
This approach is inadequate for wireless communication devices for a number of reasons.
Web banner advertisements of this type are too expensive to transmit via data channels on cellular networks. Web banner advertisements are typically large animated graphic images, and data transmission over cellular networks is either expensive (involving making a data phone call, which results in the normal air-time charges) or slow (SMS is inexpensive, but each message can only transmit 140 octets characters of information).
Second, the size of the screen display on a typical wireless communication device is too small for a Web banner advertisement and other content to fit on a single screen. With graphical screens on wireless communication devices being generally 25x37mm, there is insufficient area to incorporate advertising with normal screen content of the user interface of the device.
Third, conventional Web banner advertisements also have a very limited response mechanism. Conventional Web banner advertisements merely transfer the user to a special advertising page hosted by a provider of the advertisement. This system is not useful for wireless communication devices because of the inherent latency and low bandwidth of the transmission medium. It is impractical to force the user to wait for up to half a minute for an advertising page to be downloaded. In addition, conventional banner advertisements generally do not collect enough information to form a complete transaction. Related to banner advertisements are screen-saver based advertisements found on desktop computers. In this approach, a screen saver can display advertising while the computer is idle. Screen saver advertisements are very similar to Web banner advertisements, and suffer from exactly the same problems when applied to wireless communication devices.
Accordingly, it is desirable to provide an electronic advertising system and method that is particularly suitable for wireless communication devices.
SUMMARY OF THE INVENTION
The present invention overcomes the various limitations of conventional electronic advertising by providing an advertising system, method, and software product that is fully integrated into the user interface features of a wireless communication device. The present invention provides for rich content advertisements that include any variety of fonts, type styles, and graphic images to be included in an advertisement on the wireless communication device. The present invention further provides an integrated response mechanism that enables users to directly respond to an advertisement with a variety of different actions. These response actions are initiated by the user and include directly telephoning a customer service center with a telephone number encoded in the advertisement, sending a message to a customer service center or other processing agent, retrieving a page from the World Wide Web to obtain additional information about an advertised item or to complete a purchase transaction, or creating a new entry of data in a locally stored phone book as a form or a repository for future information or data, such as stock quotations. These various actions are directly encoded in the advertisements themselves, relieving the user of the burden of having to remember telephone numbers, construct messages, or the like. Rather, the user can select familiar user interface gadgets, such as softkeys and the like, to effect an action in response to the advertisement.
The present invention further provides a non-intrusive method of delivering advertisements so as not to interfere with the use of the wireless communication device. This non-intrusive method includes the selective display of advertisements during idle periods of the wireless communication device, and displaying banner advertisements over the title bar areas of a screen display.
Yet another feature of the present invention is the ability to periodically receive, authenticate, and store advertisements in the wireless communication device. This allows the advertisements to be transmitted to the wireless communication device from a remote source and stored therein until displayed to the user at a subsequent time, again, without intrusively reducing the amount of storage available for the user's own content and messages, as in conventional paging systems. Authentication of advertisements prevents unauthorized advertisements from being stored in the wireless communication device and displayed.
Also, the present invention provides the ability to configure the wireless communication device to receive, in a secure manner, selected information that is stored in a phone book data store, without the direct intervention of the user. This feature facilities the delivery of information services, such as stock quotes, news items, and other data. This feature augments the advertising features of the present invention by enabling to directly subscribe to an information service from one of its advertisements, and have information that is delivered by the information service transmitted and stored in the phone book without user intervention. A system in accordance with the present invention includes a wireless communication device, having a screen display for displaying advertisements, a processor, and a memory storing an advertising manager executed by the processor, and advertisement file store storing advertisements. The advertising manager manages the display of advertisements that are stored in the advertisement file store. Preferably two types of advertisements are used, full screen advertisements and banner advertisements. The advertising manager selects advertisements from the advertisement file store and causes them to be output on the screen display. The advertising manager is preferably invoked to select an advertisement to display after the wireless communication device has been idle for a predetermined period of time. Advertisements may be selected from a number of storage areas which contain groups of related advertisements. Advertisements are preferably selected on a randomized, priority basis, allowing higher priority advertisements to be displayed more frequently than lower priority ones. Also, advertisements may have expiration data indicating when they expire and are no longer to be displayed. The advertising manager also authenticates advertisements received from a remote server to prevent storage and display of unauthorized advertisements.
BRIEF DESCRIPTION OF THE DRAWINGS
Fig. 1 is an illustration of the software and system architecture of a wireless communication device in accordance with the present invention.
Fig. 2 is an illustration of a sample user interface page for a wireless communication device is accordance with the present invention.
Fig. 3 is a schema of the advertisement file store managed by the advertising manager. Fig. 4 is a flowchart of the process of displaying advertisements and managing user responses.
Figs. 5a-5c is an example of a full screen advertisement and integrated handling of a user response.
Figs. 6a-6e is an example of a banner advertisement and user response. Fig. 7 are illustrations of the data structures of advertisement packages and associated file packages.
Fig. 8 is a flowchart of the processing of a received advertisement or associated file package. Fig. 9 is an illustration of the data structure of banner advertisements as received by the wireless communication device.
Fig. 10 is an illustration of the phone book related data structures. Fig. 11 is a flowchart of the process of updating the phone book DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
A. SYSTEM AND SOFTWARE ARCHITECTURE
B. ADVERTISING MANAGER
/. The Advertisement File Store 2. Priority and Time Based Display of Advertisements C. RESPONSE ACTIONS
D. DISPLAYING ADVERTISEMENTS AND HANDLING USER RESPONSE ACTIONS /. Full Screen Advertisements
2. Banner Advertisements
E. TRANSPORT MANAGER F. PROCESSING OF INCOMING ADVERTISEMENTS AND PHONE BOOK UPDATES
1. Processing of Banner Advertisements
2. Processing of Phone Book Updates
A. SYSTEM AND SOFTWARE ARCHITECTURE Referring now to Fig. 1 , there is shown an illustration of the system and software architecture of a wireless communication device 100 with integrated advertising features in accordance with the present invention. The hardware of the wireless communication device 100 includes a processor 124, memory 126, screen display 136, and keypad 128. Memory 126 includes ROM, RAM, and a flash memory for long term storage of data. A suitable wireless communication device 100 for providing the hardware features is a Nokia ™ 6100 manufactured by Nokia Telecommunications, Inc.
The wireless communication device 100 stores in the memory 126 and executes a conventional real time operating system 122, which includes modules for managing power, memory, threads (communication connections), keypad inputs, and timer activities. The real time operating system 122 provides a standard application programming interface to allow higher level components of the software to request functionality of the wireless communication device 100, and to send and receive data.
Also stored in the memory 126 and in communication with the real time operating system 122 is telephony control module 120 that provides the primary telephone controls, including making and receiving telephone calls, managing multiple telephone lines (if appropriate), management of text messaging (if appropriate), monitoring of telephone signals, and other basic telephony functions. The telephony control module 120 includes a conventional telephone protocol stack that implements an air-interface protocol. The telephony control module 120 provides an application programming interface to the man- machine interface 102 to access these features. The telephony control module 120 and the real time operating system 122 are typically provided by the manufacturer of the wireless communication device 100, and their particular implementation is not material to the invention. The screen display 136 is a bitmapped LCD or similar display device. The screen display 136 is typically of very limited resolution, for example about 90x60 to 120x120 pixels (at about .28mm dot pitch) as would be appropriate for a compact, portable, hand-held electronic device. It is anticipated that advances in display technology will result in screen displays 136 of significantly higher resolution, but even so, the ergonomic and form factor requirements of wireless communication devices will result in screen displays that are relatively small (e.g., between 25x25mm and 80x120mm) as compared to the screen displays of notebook and desktop computers, and as a result will not display content designed for such larger screen displays in the exactly the same manner. The present invention is adapted to provide rich content advertisements within the limits of the screen display 136. The wireless communication device 100 has a keypad 128 that includes a number of fixed function keys 132 for accessing defined functions of the wireless communication device 100 (e.g., "Send," "End," and "Power"), number keys 134 for entering digits (and if suitably encoded, for entering other characters), and programmable softkeys 130 which have variable functionality that changes depending on the particular content of the user interface definition files 104 being shown.
The wireless communication device 100 stores in its memory 126 and executes an instance of a man-machine interface ("MMI") 102 which provides user interface functionality for the wireless communication device 100, including the integrated advertising features of the present invention. The MMI 102 executes as a single-threaded application, and is generally designed to run on any real time operating system 122, telephone control module 120, and wireless communication device 100 that provides sufficient ROM, RAM, and flash memory, a screen display 136, and basic services. The MMI 102 includes a set of user interface definition files 104 and a user interface manager 107. The user interface manager 107 provides the primary user interface mechanism to the user, allowing access to both telecommunication functions, and Internet/World Wide
Web access. The user interface manager 107 may be implemented as a browser as described in the above referenced patent application.
The user interface manager 107 provides the basic user interface of the wireless communication device 100 and is responsible for displaying content on the screen display 136, as defined by the user interface definition files 104, and as may be retrieved from remote sites, such as Web content accessed via a communication link to a remote Web site. In a preferred embodiment, the user interface definition files 104 are a set of content and code files written in a markup language such as HTML, or the preferred variant described in the related application, HTMLp, and may include executable embedded code objects. The use of markup languages provides one implementation of rich content in advertisements, since markup languages, particularly HTML, allow for various fonts, typefaces, text formatting, graphic files, and the like. However, the present invention is not limited to user interface definition files 104 constructed in HTML, but also operates with any other markup language, such as SGML, or XML, or other extended non-standard versions of HTML, such as the Netscape Communications' set of HTML extensions. The present invention also may use any other language or mechanism for defining the content of user interfaces which includes the ability for a file to refer to other external data files, including text and images, for inclusion into the content of the file as displayed.
Since each service operator providing a wireless communication device using the MMI 102 of the present invention will design their own specific user interface, typically modifying some portion of the user interface definition files 104 provided by the device manufacturer, the particular content of the user interface definition files 104 is variable, and expected to be different from any of the illustrative user interface screens described herein. In addition, it is expected that the MMI 102 may be provided to a service operator without any user interface definition files 104 at all, leaving the service operator to create these files as desired; thus the user interface definition files 104, while used by the MMI 102 of the present invention, themselves are not an essential part of the invention. As the user interface definition files 104 define the user interface presented to the user, they allow the service operator to easily change the content of advertisements provided on the wireless communication device 100, by simple editing of the user interface definition files 104. This makes customization very easy and cost effective.
Following the terminology of the World Wide Web, an individual user interface screen is herein called a "page." Referring now to Fig. 2, there is shown a basic layout of a page 135 displayed on the screen display 136 by the user interface manager 107. Each page 135 generally has four basic areas. A status bar 200 that is preferably always present and displays items such as signal strength 202, battery strength 204, and message-waiting indicator 206. A title bar 210 displays the name for a particular screen, if so defined. Scrolling banner advertisements in accordance with the present invention may be displayed in the title bar 210 or in the content area 214. A status message area 212 may be used to present status messages particular to the current content, such as a telephone number being called or answered. The content area 214 is used to display the particular content of a user interface page, for example, text of a message, phone book entries, and the like. Full screen advertisements are generally displayed in the content area 214, and typically cover over the status message area 212 and title bar 210. Along the bottom (though other locations may be used) are softkey labels 216, which are dynamically updated according to key definitions provided in the user interface definition files 104. The softkey labels 216 are bound to softkeys 130 according to key associations defined in the user interface definition files 104. A scroll arrow 215 indicates the current direction in which the user is scrolling (either up or down). In the content area 214, a focus and selection icon 220 may optionally be used to indicate the particular item or line of content that has the focus, i.e. is the current user interface gadget or input field. A mode indicator 218 indicates the mode for text entry, whether alpha, numeric, or a combined alphanumeric mode.
Any of the pages or content displayed on the screen display 136 may be obtained locally from the user interface definition files 104 or remotely from the Internet or World Wide Web. Examples of local content include advertisements, a telephone book, received text messages, and the like.
The user interface manager 107 includes an executive 106 advertising manager 108, an advertisement content handler 110, a transport manager 112, a phone book manager 114, and an advertisement file store 118 that stores advertisement files. The user interface manager 107 is a software product having the various functional and structural features described herein. The user interface manager 107 and its components are executed by the processor 124. The executive 106 is responsible for maintaining the universal parts of the screen display 136, for selectively activating the various managers to process user inputs and advertisement files, and for routing user input. User input routing involves passing user input keystrokes to the manager or other target entity for processing, such as entering input numbers and letters into a form, or dialing a telephone number. In one embodiment, the executive 106 is implemented as the shell as described in the related application.
The advertising manager 108 is responsible for managing the advertisement files, including selection of advertisement files from the advertisement file store 118 for display, the construction of advertisement files from message packets received from a remote source, and the updating or removal of advertisement files in the advertisement file store 118.
The phone book manager 114 is responsible for managing an internal phone book data store that stores phone book records containing phone book information, such as names and telephone numbers, but also contains arbitrary data, including uniform resource locators (URLs), and other information, such as stock quotations, news items, weather data, sport scores, travel information, and the like that are periodically downloaded into the wireless communication device 100 from a remote source, such as a subscription service. The phone book manager 114 includes methods to get and set the fields of records in the phone book data store.
The transport manager 112 is responsible for receiving message packets containing data for advertisement files or for phone book entries, and routing such message packets to either the advertising manager 108 or the phone book manager 114 for construction of files and storage of data.
The advertisement content handler 110 is responsible for interpreting user interface definition files 104 and advertisement files and displaying the content of such files on the screen display 136. The advertisement content handler 110 receives selected advertisement files from the advertising manager 108 and outputs them to the screen display 136. In one embodiment the advertisement content handler 110 is implemented according to the general content handler design disclosed in the related application. In a preferred embodiment using markup language defined or HTML pages, the advertisement content handler 110 interfaces with an markup language content handler, which provides for interpretation of pages encoded in a markup language. An HTML content handler may be implemented according to the HTML 3.2 specification. In this embodiment, the user interface manager 107 incorporates a HyperText Transfer Protocol handler according to the specification defined in RFC 2068: Hypertext Transport Protocol - HTTP/1.1.
The advertisement file store 118 stores the advertisement files. In a preferred embodiment, the advertisement file store 118 is a simple database, holding variable size records, each record having a record identifier. While the preferred embodiment uses a database organization for the advertisement file store 118 in which all entries (including advertisements and other descriptive data) are records identified by record identifiers, other data storage organizations may be used, such as a hierarchical file system using pathnames, or storage object identified by object handles.
B. ADVERTISING MANAGER
In a preferred embodiment, advertisements are split into two types: full-screen advertisements that are displayed when the wireless communication device 100 is idle, and banner advertisements that are displayed in conjunction with a page that is part of the user interface of the wireless communication device 100. Full-screen advertisements are pages with optional associated graphics files that are displayed to the user when she has not pressed a key for a certain amount of time, and nothing else is happening on the device. Referring to Fig. 3, full screen advertisements are defined in either stand-alone full screen advertisement files 320a, or template full screen advertisement files 320b. A banner advertisement is text message that typically scrolls across the top of the screen display 136 or within the content area 214. Banner advertisements are preferably in some way associated with the content that is being displayed on the screen display 136. For example, a screen that lists services that are offered by a service operator may include space for a banner advertisement from the service operator that advertises new services. Banner advertisements are defined by banner advertisement files 320c.
1. The Advertisement File Store
Both full-screen and banner advertisements are stored in the advertisement file store
118 as advertisement files 320. In the preferred embodiment, there are three types of advertisement files 320:, stand-alone full screen advertisements 320a, template full screen advertisements 320b, and banner advertisements 320c. (In this disclosure, reference numbers without letter subscripts are understood to refer generally to all subscripted items, and reference numbers with letter subscripts are understood to refer to the particular item referenced.)
Fig. 3 illustrates the schema of the advertisement file store 118. The first record 300 in the advertisement file store 118 is a list 300 of the storage areas 310 in the advertisement file store 118. A storage area 310 is a master record for a group of related advertisement files 320. Multiple storage areas 310 are allowed to provide for a large variety of different advertisements. Any individual storage area 310 stores data for one type of advertisement file 320, either full screen advertisements or banner advertisements, though there may be multiple storage areas 310 for each type. In the preferred embodiment, there is a single storage area 310 for full screen advertisements, and multiple storage areas 310 for banner advertisements.
Each storage area 310 is defined by a record that contains the following data:
• A label 311 that identifies the storage area 310, and may be used to define a category or topic for the advertisement files 320 identified in the storage 310. For example, one storage area 310 may have the label "Idle Screen" and store information identifying the various advertisement files 320 that are to be displayed during an idle time. The label 311 is then encoded in a user interface definition file 104 or other file to be displayed to indicate from which storage area 310 advertisements for that file are to be selected by the advertising manager 108.
• A key 312 of the storage area is string value that is used to authenticate an advertisement file 320 that is received and is to be added to the storage area 310. This ensures that only authorized advertisement files 320 are included in the advertisement file store 118.
• A current display list 313 identifies a sequence of advertisement files 320 to be displayed. The entries in the list are not necessarily unique, as a single advertisement file 320 may be listed multiple times at various locations in the list 313.
In the preferred embodiment, the display list 313 is a carousel (circular queue).
• A current advertisement index 314 into the display list 313 identifies the advertisement file 320 that is the current one to be displayed. This index 314 is updated each time an advertisement file 320 is displayed. • A current advertisement list 315 is a list of all of the advertisement files 320 that are currently included in the storage area 310, and from which the display list 313 is constructed. All three types of advertisement files 320 are described by records that contain the following data:
• A display limit 321 which is the number of times the advertisement file 320 should be displayed. This limit 321 is defined by either the service operator or the advertiser or both, and may be based on the amount of advertising revenue the service operator receives from the advertiser for displaying the advertisement file 320.
• A display count 322 which is the number of times the advertisement file 320 has been displayed. This number is updated by the advertising manager 108 each time the advertisement file 320 is displayed, and compared against the display limit 321. • A date 323 at which the advertisement file 320 expires. This date is also defined by either the service operator or the advertiser or both, and may also be based on the amount of advertising revenue the service operator receives from the advertiser for displaying the advertisement file 320. The advertising manager 108 checks this date 323 against the current date when selecting an advertisement file 320 from the display list 313.
• The priority 324 of the advertisement file 320. Priority values are further described below in the next section on Priority and Time Based Displav of Advertisements.
Banner advertisement files 320c are defined in the advertisement file store 118 by the following:
• The text data 341 of the banner advertisement, which is a string defining the text to be displayed, typically scrolled, in the banner. The string may contain an escape sequence, such as "@k", which will be replaced by a description of the key or key sequence that has been assigned to allow the user to respond to the advertisement. The escape sequence is defined by the service operator or manufacturer of the wireless communication device 100, and the protocol and functionality for recognizing the sequence is implemented within the wireless communication device 100.
• An action 342 to be taken if the user responds to the banner advertisement. The encoding of actions 342 is further described below in section Response Actions. Banner advertisement files 320c are linked to particular page or user interface definition file 104 by encoding a reference to the storage area 310 containing a number of banner advertisements in the page or file 104. In this fashion, the banner advertisement files 320c identified in the display list 313 for that storage area 310 are sequentially displayed on the page. In one preferred embodiment using markup language encoding of user interface definition files 104, the reference to a storage area 310 is encoded in an
Figure imgf000016_0001
URL, where "ad" specifies that the advertising manager 108 is to be invoked, and "banner" indicates a banner advertisement, and string specifies the label 311 of the storage area 310 to be used. A banner advertisement storage area 310 can therefore be linked to multiple pages in the wireless communication device 100.
Full-screen stand-alone advertisements 320a contain the following:
• Content data 325 for the advertisement. The content data 325 describes the actual content of the advertisement to be displayed on the screen display 136. This content data 325 is provided by the advertising manager 108 to the advertisement content handler 110, which interprets it and formats it for output. In a preferred embodiment, the content data 325 is markup language data from any of the many varieties of markup languages, including HTML, SGML, and the like. One preferred markup language is HTML with the HTMLp extensions described in the related application. In other embodiments, other content data 325 formats may be used, such as page description languages (e.g., Display Postscript), or simply programming language constructs from C or other programming languages.
• A list 326 of associated files 350. This is a set of zero or more associated files 350 that contain text or graphics to be included in the advertisement when it is displayed. For a particular advertisement file 320, the list 326 identifies the associated files 350 on which it particularly depends; these files may be present in the advertisement file store 118, or may be stored remotely, and fetched at the time the advertisement file 320 is displayed, or when the advertisement file 320 is stored in the advertisement file store 118.
The associated files 350 are stored in a file cache 360. Any associated file 350 may be used by any of the advertisement files 320. The associated file 350 contains text, graphics or other data that are to be included in the advertisement file 320 when it is displayed on the screen display 136. This feature enables a very compact representation of an advertisement file 320, since it need only include the data that is particular to it, and may reference associated files 350 that contain data that is common to a number of advertisement files 320. For example, all advertisements from a particular vendor may share associated files 350 that contain the vendor's logo, introductory text, background graphics, and the like.
Full-screen template advertisement files 320b contain the following:
• Template data 331 to be used in a template file. A template file is a file that defines a basic form for an advertisement, and includes fields into which the particular template data 331 is inserted at the time the advertisement file 320b is displayed to instantiate the template. For example, a template file may be used to describe a new service offered by the service operator, and contain common introductory text, and template fields for the name of the new service, a text description of the new service, and a price of the new service. The template data 331 contains just the data for these fields, and is merged into the template fields when the advertisement file 320b is displayed.
In one preferred embodiment, the templates files are defined in the HTMLp language using the <TEMPLATE> tag as described in the related application. In this embodiment, the template data 331 is a string of name=value pairs in URL-encoded argument format.
• A list 326 of the associated files 350 on which the advertisement file 320b depends. For a template advertisement file 320b, the template file 327 is always the first associated file 350 identified in the associated file list 326. Each associated file 350, which is used by one or more advertisement files 320, is defined by a record that contains:
• A long name 351 of the associated file, which is a unique name that is used to specify the particular file. A long name is useful since the name space for the actual file names may be limited; the long name provides a way of creating a unique name without regard for the namespace limitations of the storage device.
• The actual file name 352 of the associated file. This is the name of the file in a file system on the wireless communication device 100.
• A reference count 353, which is the number of references there are to the associated file 350. This is the number of advertisement files 320 that refer to this associated file and incorporate its content when displayed.
• A date 354 on which the associated file 350 was last used. This date is used to identify associated files that have aged. Associated files 350 are stored in a file cache 360, and may remain there even after the advertisement files 320 that refer to them are deleted from the storage areas 310, so long as storage space allows.
2. Priority and Time Based Displav of Advertisements Advertisements are frequently time-limited, and those that sell advertising space frequently price it based on the frequency or the time at which the advertisement is displayed. To accommodate this model, the present invention enables service operators to differentially control the frequency with which advertisement files 320 for various advertisers are displayed, and the length of time in which an advertisement file 320 is valid. These features allow for a variety of advertising revenue models and pricing plans to be developed. In the preferred embodiment, the advertisement files 320 are records in the display list 313 with multiple levels of priority 324. One embodiment uses four priority levels (1-4). Advertisements with higher priority 324 are shown more frequently than lower priority advertisements.
Each advertisement file 320 identified in the display list 313 has a priority 324. The priority 324 of an advertisement file 320 is determined by the service operator and the advertiser, and may be based on the revenue the service operator receives for placing the advertisement.
The advertising manager 108 uses the display list 313 to maintain the order in which to display the advertisement files 320 by summing the priorities 324 of all the advertisements and creating the list 313 with that many slots in it. For example, if there are ten advertisement files 320 in a storage area 310 with a total priority value of 30, then the diplay list 313 has 30 slots. The advertising manager 108 randomly assigns each advertisement file 320 to n slots in the list 313, where n is the priority 324 of the advertisement file 320. In this fashion, each advertisement file 320 appears in the display list 313 with a frequency dependent on its priority 324 relative to the priority of all other advertisement files 320 in the storage area 310.
Once the display list 313 is created, the advertising manager 108 will sequence through it in order, retrieving the advertisement indicated by the current advertisement index 314.
The time during which an advertisement file 320 is valid is defined by the expiration date 323. The method of determining when the expiration date has passed will vary from device to device. One embodiment may use a system clock that can be consulted, while with other embodiments, a server that provides the advertisement files 320 will provide the necessary information. When the advertising manager 108 removes an advertisement file 320 from the current advertisement list 315 (e.g., an advertisement file 320 has expired, reached its display limit 321, or has been removed by the service provider), or adds a new advertisement file 320, it also removes it from the display list 315, recalculates the length of the display list 313, and reassigns the current advertisement files 320 in it. Also, when an advertisement file 320 is removed from the current advertisement list 315, the reference count 353 of each associated file 350 to which it referred is decremented, so that associated files 350 with a zero reference count may be removed if need be.
While priority based display is preferred, those of skill in the art will appreciate that the display list 313 may be used without any priority based assignments, or may be eliminated. For example, in a simple embodiment, the display list 313 is eliminated, and all advertisement files 320 in the current advertisement list 315 are displayed with the same frequency. C. RESPONSE ACTIONS
One advantage of the present invention is the ability for the user to respond to advertisements directly. Instead of acting on the advertisement at a later time and by his own initiative, for example by buying the advertised product at a store, dialing a telephone number or the like, the present invention allows the user to respond immediately to an advertisement. The present invention includes the following types of actions:
• Making a call to a particular telephone number (e.g., to talk to a customer service agent about an advertised item).
• Sending a short text message to a particular destination (e.g., to request further information or sign up for a service).
• Loading a particular page from the World-Wide Web (e.g., to obtain further information or go through multi-page procedure to purchase or obtain information). • Creating an entry in the local phone book (e.g., as a place for additional information to be periodically downloaded).
More than one of these actions can be performed when the user responds to an advertisement. For example, an advertisement could both create an entry in the phone book and send a short text message to turn on periodic downloading of content to that created phone book entry. Also, any other type of action may be defined as an action in response to an advertisement, so long as that action can be activated directly from the advertisement as displayed on the screen display 136.
For full screen advertisements, the data encoding the action for the user to respond to an advertisement is encoded in the advertisement file 320a,b itself. For banner advertisements, the action is encoded in the action data 342 that accompanies the banner advertisement.
In the preferred embodiment, an action is a string that encodes data identifying a method of a functional entity of the wireless communication device 100 to effect the desired action, and argument data for the method. For example, the action for dialing a telephone number to respond to an advertisement may encode data identifying a dial function of the telephone control module 120 and a string of digits to be dialed. Likewise, an action to send a message may encode data identifying a send message function of a message system, and text data of the message contents. An action to fetch a Web page would include the URL of the Web page, and a request to a HyperText Transfer Protocol handler to fetch the URL. An action to create a phone book entry invokes the phone book manager 114, requests a new phone book entry, and passes in data defining the contents of the new phone book entry.
One preferred embodiment of the present invention encodes the action as a URL in which the protocol component identifies a functional entity of the wireless communication device 100 to effect the action, and the data component identifies a method of the functional entity to be invoked and argument data for the method. Where a URL is used to identify a functional entity and its methods, any URL available in the wireless commumcation device 100 may be specified as an action. The related application describes a particular embodiment for handling URL encoding of actions. However, URL encoding of actions is not essential to the present invention.
For full screen advertisements, the action will be bound to a key on the keypad 128, identified by a name or number. Preferably, this key is also associated with a user interface gadget that will be contemporaneously displayed. User selection of the key activates the action bound to the key. When the user activates an action, the advertisement file 320 is removed from the current advertisement list 315 and the display list 313. Any associated files 350 have their reference count 353 reduced by one, allowing them to be deleted if the count reaches 0 and the storage space is required.
For banner advertisements, a slightly different action binding is used. The wireless communication device 100 will generally include a key or key sequence that is defined to activate the action 342 for the current (or most-recent) banner advertisement. When that key or key sequence is pressed, the action 342 specified for the advertisement is taken. This predetermined binding is defined by the service operator or the manufacturer of the wireless communication device 100.
In one embodiment, actions are taken with a least amount of privilege, which means that they will be confirmed with the user before they are performed, with the exception of fetching another page of content.
P. DISPLAYING ADVERTISEMENTS AND HANDLING USER RESPONSE ACTIONS 1. Full Screen Advertisements
Referring now to Fig. 4, there is shown a flowchart of the process of displaying full screen advertisements in a non-intrusive manner and managing user response actions. It should be noted here that it is assumed that advertisement files 320 have been received and stored in the advertisement file store 118, including assignment of slots within the various display lists 313.
The process of Fig. 4 is jointly handled by the executive 106, the advertising manager 108, and the advertisement content handler 110. The process begins with an active state 400 of the wireless communication device 100, with some user interface definition file 104 or other content displayed on the screen display 136. The executive 106 manages an idle counter which is reset to zero each time there is keypress or other event changing the content of the screen display 136. Accordingly, from the active state, the executive 106 waits 402 on a next keypress or a one second timeout. If a keypress is received 404, the executive 106 resets 405 the idle counter to zero, and processes 406 the keypress by routing it to a target entity, such as a user interface gadget on the currently displayed page, or a manager entity.
If a timeout is received, the executive 106 increments 408 the idle counter, and tests 410 the counter against a predetermined threshold for an idle time. In the preferred embodiment, the idle time threshold is 30 seconds, but other thresholds may be used for more or less frequent display of advertisements. If the idle counter has not reached the idle time threshold, the executive 106 loops and waits 402 for the next one second timeout or a keypress.
If the idle time threshold is reached, the executive 106 invokes the advertising manager 108 to manage the display of the next advertisement. To display an advertisement, the advertising manager 108 accesses the storage area 310 appropriate for idle screens, using the label 311 to identify the appropriate storage area 310. In embodiments where there are multiple storage areas 310 for full screen advertisements, the advertising manager 108 would match a label held in the currently displayed page against the labels 311 of the various storage areas 310, and select the matching storage area 310. The advertising manager 108 increments 412 the current advertisement index 314 in the full screen storage area 310 to the next advertisement identified in the display list 313. The advertising manager 108 tests 414 whether the advertisement file 320 has expired. Here, expired includes either by the current date exceeding the expiration date 323, or the display count 322 matching the display limit 321. If the advertisement file 320 has expired, then the advertising manager 108 deletes 420 the advertisement file 320 from the current advertisement list 315, and recomputes the display list 313. The recomputation may be in the preferred manner using priority based assignments of advertisement files 320 to the display list 313, or it may simply involve removing the references to the expired advertisement from the current advertisement list 315, compacting the display list 313, and adjusting the current advertisement index 314 to compensate for the compaction; in this way the display order originally computed is preserved. The advertising manager 108 then loops and increments 412 the current advertisement index 314. The reference count of any associated file 350 to which the deleted advertisement file 320 referred is decremented.
Once an unexpired advertisement file 320 is identified in the display list 313, the advertising manager 108 increments 415 the display count 322 for the file. The advertising manager 108 then determines 416 whether it is a template advertisement file 320b. If so, the advertising manager 108 invokes the advertisement content handler 110, passing in the template data 331 and the contents of the template file 327, which as noted above, is the first associated file in the associated file list 326. The advertisement content handler 110 also fetches any associated files 350 according to the associated file list 326, and uses the data therein to augment the content of the advertisement file 320. The advertisement content handler 110 merges the template data 331 and the template file 327, and any associated content to form the complete advertisement, and displays 422 it on the screen display 136.
If the current advertisement file 320 is not a template advertisement file 320b, then the advertising manager 108 invokes the advertisement content handler 110, and passes in the content data 325 of the advertisement file 320. The advertisement content handler 110 also fetches any associated files 350 according to the associated file list 326, and uses the data therein to augment the content of the advertisement file 320. The advertisement content handler 110 interprets the content data and displays 418 it on the screen display 136.
The advertisement content handler 110 waits 424 for a user keypress, which may be in response to the advertisement. The advertisement content handler 110 tests 426 whether a received user keypress is defined by the advertisement file 320 to be one that is bound to a response action. The binding of a key to an action is defined within the advertisement file 320 itself, by associating the action with a key identified by name or number. In one preferred embodiment, keys are bound to actions using the <KEY> attribute defined in the related application.
If the keypress is for a key that is bound to an action to respond to the advertisement, then the advertisement content handler 110 activates 430 the action, by either passing the action data to the executive 106, or directly calling the functional entity and method that is encoded in the action data. In either case, the functional entity responsible for effecting the action does so with any received argument data, such as a telephone number to dial, message text to send, a Web page to retrieve, or the like. If the key is not bound to an action in response to the advertisement, then the key is processed 428 as a normal keypress.
A side effect of activating the response is that the advertisement file 320 is deleted 432 from the current advertisement list 315, and the display list 313 is recomputed. The page showing the advertisement content is also closed 434. Processing returns to the active state.
Referring to Figs. 5a-5c there is shown an example of a full screen advertisement and the integrated handling of a user response. In Fig. 5a, a full screen advertisement 500 is displayed on the screen display 136 following an idle time. The advertisement file 320a defining the advertisement 500 includes a definition binding a "Yes" softkey 130 to the displayed softkey label 503 and to a user action.
In Fig. 5b, the user has pressed the appropriate softkey 130 on the wireless coirimunication device 100. This causes a subsequent advertisement page 502 to be fetched and displayed, containing additional information about the advertised service. This page 502 defines the softkey label "Tell me more" 505 to initiate an action of dialing a telephone number (notice the "Dialing" status message 507 in the title bar 210) to a provider "TrafficWatch", as shown on the next page 504 in Fig. 5c. Thus, the user is able to directly 5 respond to the advertisement without having to do more than select two softkeys 130. The response could have been made even more direct by eliminating the second page 502, and dialing directly from the "Yes" softkey.
2. Banner Advertisements
The display of banner advertisements operates somewhat differently. This is because w banner advertisements are meant to scroll across the screen display 136, and not to replace the current page content. Thus, they need not be limited to the long idle times of the wireless communication device 100. Generally, the content for a banner advertisement is determined at the time the page containing the reference to the banner advertisement file 320c is loaded and displayed. When the page is loaded, the reference to the banner advertisement file 320c is
15 examined, and the label string is extracted from the reference. This label is matched against the labels 311 for the various banner storage areas 310, and the storage area 310 with the matching label 311 is used to provide the current banner advertisement. The advertising manager 108 retrieves the current advertisement file 320 from the display list 313, accounting for expired files in the manner described above.
20 Once the current banner advertisement file 320c is selected, the display of its contents depends on the location of the banner in the page that is being displayed.
Scrolling Banner in Title Bar: In this page layout, the banner advertisement file 320c is included within a definition of a scrolling object in the title of the page. For example, in an embodiment using a markup language to define user interface definition files 104, the
25 reference to the banner advertisement file 320c would be included in a <MARQUEE> tag in the head portion of the file. (The preferred method of referencing a banner advertisement file 320c is the <INC> tag described in the related application.) In this case, banner text 341 is fetched by the advertising manager 108 when the page is loaded and held in cache. The executive 106 maintains a delay counter with a predetermined, but short idle time threshold,
30 such as 5-10 seconds. When the idle time threshold is reached, the banner text 341 is passed by the executive 106 to the current content handler 110, which instantiates the scrolling banner object with the text in the title bar 212.
Scrolling Banner in Content Area: In this page layout, the advertising manager 108 fetches the banner text 341 when the page is loaded, and passes it to the current content handler 110 that is displaying the current page, which creates a scrolling banner object using the banner text 341 and displays it in the content area 214. No idle time testing is required, and the banner advertisement scrolls as long as the page is loaded and displayed. This embodiment may be implemented using the <MARQUEE> tag in the body section of a page, as described in the related application. Fixed Banner in Content Area: In this page layout, the banner text 341 is fetched and simply made part of the page that is displayed in the content area 214, without scrolling. The banner advertisement may be visually set off from the rest of the page, according to the sensibilities of the designer of that page.
When displaying banner advertisements, the advertising manager 108 replaces any escape sequences with the appropriate key sequences before returning the text to the entity that is displaying the current page.
Referring to Figs. 6a-6e there is shown an example of a banner advertisement and user response. Fig. 6a shows an initial page 600 prior to the display of the banner advertisement. In Fig 6b, a new banner advertisement 603 is beginning to scroll across in the title bar 210, replacing the text of the title bar. In Fig. 6c, the banner advertisement 603 continues to scroll, and includes a replacement string "Function+9" 605 for an escape sequence that was included in the banner text 341. This allowed the service operator to custom define the key sequence for the response action. In this example the action is defined as the creation of a new phone book entry with the telephone number of the "FlightAlert" service, and an entry form for requesting notifications on the status of a particular flight to be used each time the user has a plane to catch.
In Fig. 6d, the user has pressed the Function+9 keys, and the resulting action has created a new phone book entry 607 in the phone book 602. Fig. 6e shows the contents 608 of the new phone book entry, which is a form to request a message to be sent to the wireless communication device 100; the form allows the user to specify the airline (e.g., "Alaska") and the flight number (e.g., "333") that the user desires to be notified about. Here, the "OK" softkey label 609 is bound to an action to transmit the contents of the form as a message to the service provider of "FlightAlert" that requests message data to be delivered back to the phone book of the wireless communication device 100 if the specified flight "Alaska 333" is delayed. Thus, the user can establish this service which uses the phone book through a very few number of softkey selections. In other examples, a subscription service may deliver data directly to the phone book.
E. TRANSPORT MANAGER
One of the features of the present invention is the ability to update any of the stored advertisement files 320 at any time via a wireless connection between the wireless communication device 100 and a suitable server. To do this, the present invention does not rely upon a particular transmission mechanism. Transport of data for advertisement files 320 can be realized using a succession of short text or binary messages with high latency, or a network stream over a protocol such as TCP/IP.
In a preferred embodiment, the underlying protocol between the wireless communication device 100 and the server providing the advertisement files 320 provides the following semantics:
• Data for an advertisement file 320 that is presented to the protocol as a unit is delivered as a unit.
• A timestamp approximating when the data were sent is made available on the receiving end. This is used to expire advertisements when no clock is available on the target wireless communication device 100.
• Data are directed to particular ports on the wireless communication device 100, meaning data destined for multiple destinations may travel over the same channel, but are then dispersed to their appropriate destinations on the wireless communication device 100. The present invention defines a number of different ports to which data can be addressed; the semantics of the data are discussed in section Processing of Incoming Advertisements and Phone Book Updates, below.
When a datagram is received for a particular port, it is expected to be provided to the manager assigned to that port to be processed; this will be either the advertising manager 108 or the phone book manager 114. The following ports are specified in the present invention:
Table 1 : Ports for Routing Datagrams
Figure imgf000027_0001
The ports are used by the transport manager 112 to determine which manager to call to assemble the packets and store them in the appropriate repository. The advertising manager
108 and phone book manager 114 each have a server procedure which is invoked by the transport manager 112 and receives and processes a datagram that is routed to it. The server procedure is called as: void Server (void *data, unsigned len, void *from, unsigned fromlen, LocalTimestamp *time)
The server procedure of the target manager receives the data bytes and the number of them, the originating address, in case additional requests must be sent back to the server, and the approximate time at which the datagram was sent. The advertising manager 108 manager preferably has separate server procedures for handling full screen advertisement files 320a,b and banner advertisement files 320c.
The protocol provides a means for sending a datagram back to the originating server, with no guarantee of delivery: void Send (void *data, unsigned len, void *to, unsigned tolen, uintδ port)
The caller is expected to retransmit the request if it gets no response in whatever time it deems appropriate.
In one embodiment, the above described semantics are imposed upon the GSM Short Message Service. The implementation is based on the Narrowband Sockets specification defined at http://developer.intel.com/ial/nbs/spec_10.htm, with the additions outlined below.
Generally, Narrowband Sockets is envisioned to allow a standard machine, such as a
Windows-based PC, to communicate with a mobile device using a high-latency, low- bandwidth connection by means of a gateway machine. In the present invention, the Narrowband Sockets datagram protocol is used to allow a message to be formatted in such a way as to be routed to the appropriate function inside the wireless communication device; no gateway is required, only properly-formatted messages. The Narrowband Sockets specification does not address the issue of a timeout period after which the fragments that make up a datagram should be discarded. In the present invention, fragments are retained for up to six hours, or until the start of a datagram whose sequence number is 16 greater than that of the incomplete datagram. If the remaining fragments have not been received by then, all fragments are discarded. For those devices that have no clock, the passage of time is noted by watching a service center time stamps of all incoming messages and comparing them to the timestamp of the last fragment that was received for a datagram.
The following sections describe the server procedures that are called by the transport manager 112. F. PROCESSING OF INCOMING ADVERTISEMENTS AND PHONE BOOK UPDATES
The present invention allows new advertisements to be included in the advertisement file store 118 at any time. This enables the service operator to deliver a useful advertising service, providing new advertisements as old ones expire.
Processing Full-screen Advertisements Fig. 7 illustrates the data structures for messages arriving at the full screen advertisement server of the advertising manager 108 on full-screen port 1. These messages take one of two forms:
An advertising package 700a for full screen advertisement file 320a,b.
An associated file package 700b for an associated file 350 that is referenced in an advertising package 700 for the advertisement file 320.
The specifics of the data structures are as follows:
If the associated file flag bit 701 is clear, it indicates the package 700 is for an advertisement file 320, otherwise it is an associated file 350. The template flag bit 702 indicates if the advertisement is a template advertisement (702 is set) or a stand-alone advertisement (702 is clear). Flags 703 are a count of the number of associated files 350.
Both associated file 700b and advertisement packages 700a follow the flags octet 704 with an 8-octet signature field 711 that is used for authentication. Authentication is used by the advertising manager 108 to prevent unauthorized advertisement files 320 or associated files 350 from being loaded into the advertisement file store 118.
Advertising packages 700a then follow the signature field 711 with the various advertising parameters: display count 705, priority 706, and expiration date 707. If the associated file count 703 is non-zero, this is followed by that many associated file names, each one identified by a length octet 708 for the length of the associated file name, followed by the name 709 of the associated file 350. The data for the advertisement follow in the data field 710. The associated file 350 is packaged in a subsequent associated file package 700b.
Associated file packages 700b follow the signature field 711 with the name of the associated file 350 being received, as a length octet 708 and name 709, and the data that make up the file 710.
Referring now to Fig 8, there is shown the server process 800 of the advertising manager 108 in processing a package for a full screen advertisement:
Authenticate 801 the package using the key 312 stored in the storage area 310 (assuming a single storage area 310 for full screen advertisements). In the preferred embodiment, this is done by applying the MD5 algorithm (RFC 1321) to all parts of the package 700 other than the signature field 711, followed by the key 312, and comparing 802 the result to the signature field 711. Reject 804 the package if the two do not match. If the signatures match, the package is authenticated and can be safely stored in the advertisement file store 118. This step prevents unauthorized advertisements and associated files from being loaded into the wireless communication device 100. In particular, this means that the user does not receive advertisements that are not authorized by the service provider, and it further means that advertisements cannot be tampered with once sent from the server to the wireless communication device 100. Check 806 the associated file flag 701 to determine if the package 700 is an associated file 350 or an advertisement file 320.
If the package is an advertisement file 320, find 814 an empty slot in the current advertisement list 315 in the "Idle Screen" storage area 310. If there is none, discard 816 the oldest, lowest-priority advertisement (as determined by the display count 322 and priority 324).
Allocate 818 an advertisement record 320 and initialize it with the display count 705, priority 706, and expiration date 707 from the package 700. For each (820-830) associated file (with the number extracted from field 703 of the flags octet 704):
822. Examine the file cache 360 to see if an associated file of the given name 709 is already known. 828. If the associated file is already known, place its record identifier in the associated files list 326 and increase its reference count 353.
824. If the associated file is unknown, create a record for the associated file in the cache 360, storing the filename 351 and a reference count 353 of 1. Store the identifier for the new associated file in the file cache 360 and in the associated files list 326 for the advertisement.
826. Issue a request to the sender of the package 700 for the named associated file. This request looks exactly like an associated file package 700b, except the data field 710 is missing. The sender of the package 700 should respond with the completed package containing the data 710. If the advertisement is a template (the template bit 702 is set), copy 832 the data 710 to the template data field 331. Otherwise, if the advertisement is not a template (the template bit
702 is clear), copy 832 the data 710 to the content data field 325.
Check 834 if all associated files 350 for the advertisement are on the wireless communication device 100 (the local file name 352 is not empty for each associated file record 350 in the associated files list 326). If so, recompute 836 the display list 313 for the storage area 310 to include the new advertisement file. If not, terminate. This step ensures that an advertisement is not displayed until all of the associated files on which it depends are received and stored in the advertisement file store 118. When any missing associated file is received, the logic of steps 806, 808, 812, and 836 will update the display list 313 and allow the advertisement file 320 to be displayed.
When an associated file package 700a is received per request 826 (the file flag bit 701 is set), the following steps are executed:
Authenticate 800 the package using the key stored in the key field 312 of the storage area 310, applying the MD5 algorithm to all parts of the package other than the signature field 111, followed by the key 312, and comparing the result to the signature field 711. Reject 804 the package if the two do not match 802. Locate 808 the associated file 350 in the file cache 360. If the associated file cannot be found 808, create 810 a file record 350 with a reference count 353 of 0. Create 820 a local file to hold the data and store its name in the local filename field 352.
Copy 832 the data 710 to this local file. Search the Idle' Screen storage area 310 for advertisements that refer to this associated file in their associated file lists 326. If any are found, and this is the last associated file whose data were missing, recompute 836 the display list 313 for the storage area 310.
1. Processing of Banner Advertisements
The datagrams received by the banner advertisement server of the advertising manager 108 on port 2 take the form shown in Fig. 9. When such a datagram is received, the banner advertisement server takes the following actions, similar to the logic shown in Fig. 8. The logic for processing banner advertisements is simpler however, because banner advertisements does not use associated files, and hence there is no need to ensure that the associated files are all received prior to entering a banner advertisement into the display list 313. Use the storage area name given by the area name length 901 and area name 902 fields to locate the appropriate storage area 310 by matching this name 902 to the storage area label 311. If no such storage area 310 has a matching label, the datagram is discarded.
Authenticate the datagram, preferably by applying the MD5 algorithm to all parts of the datagram but the signature field 903, followed by the key field 312 of the matching storage area 310. The result is compared to the signature 903, and if they do not match, the datagram is discarded. These steps serve to authenticate the banner advertisement to the wireless communication device 100, again preventing unauthorized advertisements from being introduced into the wireless communication device 100.
Find an empty slot in the advertisement list 313 in the storage area 310 that was matched. If there is none, discard the oldest, lowest-priority advertisement (as determined by the display count 322 and priority 324).
Allocate an advertising file 320c and initialize it with the display count 904, priority 905, and expiration date 906 from the datagram into the corresponding record fields.
Copy the advertising text 907 to the banner text 341 field of the file 320c. Copy the action 908 to the response action 342 field of the file 320c. Recompute the display list 313 of the storage area 310. This introduces the banner advertisement into the display list 313 and adjusts the relative frequency of occurrence of all other banner advertisements therein based on their respective priorities 905. 2. Processing of Phone Book Updates 5 Another feature of the present invention is the ability of the phone book to hold arbitrary data, in addition to phone numbers. This feature complements the advertising features described above. As shown in Figs. 6a-6e, an advertisement that is displayed may have an action which results in a new phone book entry for an advertised service. This advertised service, which the user can immediately respond to and sign up for, can then in turn w deliver information and data on a regular basis to the phone book for storage therein. The data is authenticated prior to entry in the phone book. The information and data may be subscription data provided by a subscription service, such as stock quotations, or any data that is usefully subscribed to on a periodic or other basis.
Fig. 10 illustrates the relevant fields of a phone book record 1010 that provide this 15 functionality in one implementation of the present invention. Fig. 10 illustrates a phone book record 1010 as stored in the wireless communication device 108, a phone book update record 1000 that is received to update a phone book record 1010, and various different data formats 1004a-1004d that the phone book update record 1000 can contain. The phone book is a simple database that stores the phone book records under the control of the phone book manager 114. 20 The phone book record 1000 includes a name 1011, typically the name of the party for which the telephone number or any other data is stored.
A key 1012 provides for authentication of an incoming phone book update record 1000 which is intended to update a particular phone book record 1010. The key 1012 string is concatenated with the incoming update record 1000 to authenticate the update 1000, in the 25 manner described above.
The data field 1013 begins with a null-terminated string that indicates the type of data in the record. In the preferred embodiment the possible values are "HTML" for the HTML markup language, "text" for straight text, or "GIF" GIF89a graphic format. Those of skill in the art will appreciate that other data formats may be identified and stored. Following the
30 string's null terminator are the octets that make up the data 1013.
The service field 1015 contains any arbitrary data, including a URL to any Web page, for example the Web page of a service provider for a purchased service. The phone numbers field 1014 contains zero or more phone numbers for the named entity.
A datagram received by the phone book manager 114 can affect the data field 1013, the service field 1015, or one of the phone numbers in the phone numbers field 1014. In addition, if after the update all of these fields are empty, the phone book record 1010 will be deleted.
Fig. 11 is a flowchart of the processing of a received datagram by the phone book manager 114:
The phone book is searched 1102 for a record 1010 whose name 1011 matches 1104 that in the name field 1002 of the phone book update 1000. If no match is found, the datagram is discarded. A message is created and sent 1105 to the sender of the update record 1000 indicating the update record has been rejected; the sender, for example a information service providing the update record as an update of subscription data, can then appropriately cancel the subscription service providing the updates. The processing is then terminated 1116. One advantage of this operation is that the user can cancel the subscription service merely by removing the phone book record that stores the subscription data.
The phone book update record 1010 is authenticated 1106. This is done preferably with the MD5 algorithm, as applied to all parts of the phone book update 1000 except the signature field 1003, concatenated with key field 1012 of the phone book record 1010. The result is compared 1108 to the signature field 1003. If they do not match, the datagram is discarded, and processing terminated 1116. This prevents unauthorized phone book updates from effecting an existing phone book record 1000. This feature is desirable because the present invention allows the user to subscribe to services which automatically send data, in the form of phone book updates 1000 directly to the phone book. For example, the user may subscribe to stock quotation services, sport score services, news headline services, and the like, which send appropriate phone book updates containing their particular type of data for storage in the data 1013 fields of the phone book record 1010. Authentication protects both the user from receiving unauthorized data, and the service provider from interference with the customer relationship by tampering with the updates during transmission.
The operation field 1005 is examined to determine what operations 1110 are to be done upon the phone book record 1010. The operation field is divided into two 4-bit fields, the action 1005 and the field 1006. The meaning of the data 1004 of the update record 1000 differs depending on the values in these fields. The possible values for these fields are:
Figure imgf000034_0001
When the field code 1006 indicates a phone number is being modified, the phone numbers field 1014 is searched to locate the affected phone number.
Once a record is modified, the record is checked 1112 to determine if it still has any remaining data, service or phone numbers. If not, it is deleted 1114.
While the present invention uses the phone book as a data store for arbitrary data, those of skill in the art will appreciate that other data repositories may also be used in the above described fashion to hold updates and data. The present invention uses the phone book because this data repository and functionality to manipulate it is present in the vast majority of wireless communication devices, such as cellular telephones. Thus, extending the phone book functionality of these devices to store more than just telephone data substantially enhances their utility.
In summary, the' present invention provides an integrated advertising system and method by which advertisements can be delivered to a wireless communication device 100 and displayed thereon in a non-intrusive manner. The present invention further enables direct user response to advertisements by encoding actions directly into the content of an advertisement. This enables the user to respond immediately to an advertisement. The present invention also allows for the flexible advertising model to be implemented, with control over the length of time advertisements are displayed and their frequency. Finally, the present invention allows for arbitrary data to be received, authenticated and stored in a phone book (or similar data store), thus facilitating subscription to information services delivering information to the wireless communication device 100.

Claims

We Claim:
1. A software product providing advertisements on a wireless communication device including a memory and a processor, the software product comprising: a data store in the memory and storing a plurality of advertisements; an executive, executed by the processor, that monitors an idle time of the wireless communication device, and responsive to the idle time reaching a predetermined threshold, invokes an advertising manager; and the advertising manager, executed by the processor, and responsive to the executive, that selectively reads an advertisement from the data store and causes the selected advertisement to be displayed on a screen display of the wireless communication device.
2. The software product of claim 1, wherein the advertising manager randomly selects an advertisement from the data store.
3. The software product of claim 1, wherein each advertisement has a display limit defining a limited number of time the advertisement may be displayed and a display count of a number of times the advertisement has been displayed, and the advertising manager does not display an advertisement if the display count equals or exceeds the display limit.
4. The software product of claim 1, wherein each advertisement has an expiration date, and the advertising manager does not display an advertisement if a current date equals or exceeds the expiration date.
5. The software product of claim 1, wherein: the data store includes at least one storage area for advertisements, each storage area including: a list of current advertisements in the storage area, each advertisement having a priority; the advertising manager selects an advertisement to display as a function of the priorities of the advertisements, such that advertisements having a higher priority are displayed more frequently than advertisements having a lower priority.
6. The software product of claim 1, wherein the advertising manager receives an advertisement from a remote source and authenticates the advertisement prior to storing the advertisement in the data store.
7. The software product of claim 1, wherein each advertisement in the data store includes an expiration date, and the advertising manager removes an oldest advertisement prior to storing a new advertisement received from a remote source.
8. A computer implemented method of providing advertising on a wireless communication device, the method comprising: storing a plurality of advertisements in the wireless communication device; monitoring an amount of time the wireless communication device is idle; responsive the wireless communication device being idle a predetermining amount of time: selecting one of the stored advertisements to display; and displaying the selected advertisement on the wireless communication device.
9. The method of claim 8, wherein selecting one of the store advertisements comprises: selecting a stored advertisement only if a number of times the advertisement has been previously displayed does not exceed a display limit for the number of times the advertisement may be displayed.
10. The method of claim 8, wherein selecting one of the advertisements comprises: selecting a stored advertisement only if a current date does not exceed an expiration date of the stored advertisement.
11. The method of claim 8, further comprising: receiving an advertisement from a remote source; authenticating the advertisement; responsive to the advertisement being authenticated, storing the advertisement in the wireless communication device; and responsive to the advertisement not being authenticated, discarding the advertisement.
12. The method of claim 8, wherein displaying the selected advertisement comprises: associating an action for responding to the advertisement and defined in the advertisement with a user selectable user interface element displayed on a screen display of the wireless communication device.
13. The method of claim 12, further comprising: receiving a user selection of a user interface element; responsive to the user interface element being associated with the action for responding to the advertisement, effecting the action.
14. The method of claim 13, wherein the action defined in the advertisement is to dial a telephone number, and effecting the action comprises dialing the telephone number.
15. The method of claim 13, wherein the action defined in the advertisement is to send a message containing predefined text to a predetermined recipient, and effecting the action comprises sending the message.
16. The method of claim 13, wherein the action defined in the advertisement is to fetch a Web page at a predefined uniform resource locator, and effecting the action comprises fetching the Web page.
17. The method of claim 13, wherein the action defined in the advertisement is to create a new entry with predetermined data in a phone book data store in the wireless communication device, and effecting the action comprises creating the phone book entry.
18. A computer-implemented method of providing advertising on a wireless communication device, comprising: storing a plurality of banner advertisements in the wireless communication device; receiving a page of content to be displayed on the wireless communication device; determining that the page is to contain a banner advertisement; selecting one of the stored banner advertisements; and displaying the page including the selected banner advertisement.
19. The method of claim 18, wherein selecting one of the stored banner advertisements comprises: randomly selecting one of the stored banner advertisements.
20. The method of claim 18, wherein displaying the banner advertisement comprises: monitoring an idle time of the wireless communication device; and responsive to the idle time reaching a predetermined threshold, displaying the banner advertisement by scrolling the banner advertisement across the displayed page.
21. A computer-implemented method of subscribing to an information service on a wireless communication device, the method comprising: storing a plurality of advertisements in the wireless communication device; selecting one of the stored advertisements to display; displaying the selected advertisement on the wireless communication device; storing an association between an action for responding to the selected advertisement by sending a message to the information service and a user selectable user interface element displayed with the selected advertisement, the association defined in the selected advertisement; responsive a user selection of the user interface element associated with the action for responding to the advertisement, sending the message to the information service to enable a subscription; and receiving from the information service subscription data, comprising: authenticating the subscription data as being originated by the information service; and responsive to the subscription data being authenticated, storing the data in a data repository of the wireless communication device, wherein the authenticating and storing operations are repeated each time subscription data is received from the information service.
22. The method of claim 21, wherein the data repository in which subscription data is stored is a phone book data repository.
23. The method of claim 21, further comprising: deleting a previously stored subscription data from the data repository; receiving a new subscription data to update the previously stored subscription data; and responsive to previously stored subscription data being deleting, rejecting the new subscription data.
24. The method of claim 23, further comprising: responsive to deleting a previously stored subscription data, automatically sending a message to the information service canceling the subscription.
PCT/US1999/010016 1998-05-08 1999-05-07 Integrated advertising for wireless communication devices with rich content and direct user response mechanism WO1999059283A2 (en)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020007012491A KR20010043446A (en) 1998-05-08 1999-05-07 Integrated advertising for wireless communication devices with rich content and direct user response mechanism
EP99950372A EP1078490A2 (en) 1998-05-08 1999-05-07 Integrated advertising for wireless communication devices with rich content and direct user response mechanism
JP2000548988A JP2003533899A (en) 1998-05-08 1999-05-07 Advertising integrated into wireless communication devices with rich content and direct user response mechanism
AU43076/99A AU4307699A (en) 1998-05-08 1999-05-07 Integrated advertising for wireless communication devices with rich content and direct user response mechanism

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US7540598A 1998-05-08 1998-05-08
US09/075,405 1998-05-08

Publications (2)

Publication Number Publication Date
WO1999059283A2 true WO1999059283A2 (en) 1999-11-18
WO1999059283A3 WO1999059283A3 (en) 2000-07-27

Family

ID=22125516

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US1999/010016 WO1999059283A2 (en) 1998-05-08 1999-05-07 Integrated advertising for wireless communication devices with rich content and direct user response mechanism

Country Status (5)

Country Link
EP (1) EP1078490A2 (en)
JP (1) JP2003533899A (en)
KR (1) KR20010043446A (en)
AU (1) AU4307699A (en)
WO (1) WO1999059283A2 (en)

Cited By (56)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1018832A2 (en) * 1999-01-08 2000-07-12 Sony Computer Entertainment Inc. Portable terminal with advertisement medium function
WO2001050712A2 (en) * 1999-12-30 2001-07-12 Nokia Corporation Script based interfaces for mobile phones
EP1130932A2 (en) * 2000-02-22 2001-09-05 Sagem Sa Method for broadcasting and displaying messages
JP2001309045A (en) * 2000-04-19 2001-11-02 Tu-Ka Cellular Tokyo Inc Speech service providing device
EP1170924A2 (en) * 2000-07-03 2002-01-09 Hitachi, Ltd. Data display method and system
EP1195701A1 (en) * 2000-10-03 2002-04-10 Gestweb S.p.A. Method for sending advertisements directly to users
FR2819606A1 (en) * 2001-01-17 2002-07-19 Sagem METHOD FOR PROCESSING ADS ON A COMPUTER NETWORK TERMINAL AND TERMINAL FOR IMPLEMENTING THE METHOD
JP2002222356A (en) * 2001-01-25 2002-08-09 Hitachi Software Eng Co Ltd Method and program for menu display of advertisement banner in web page
JP2002259794A (en) * 2001-02-26 2002-09-13 Koji Miyazaki Community-based real time electronic advertisement system and community-based real time electronic advertisement method
EP1253541A2 (en) * 2001-04-27 2002-10-30 Hewlett-Packard Company Information acquisition decision making by devices in a wireless network
EP1253540A2 (en) * 2001-04-27 2002-10-30 Hewlett-Packard Company Profiles for information acquisition by devices in a wireless network
JP2002333852A (en) * 2001-05-08 2002-11-22 Avec Kenkyusho:Kk System and method for displaying advertisement
JP2003162244A (en) * 2001-11-27 2003-06-06 Yasuteru Yamamoto Advertisement display system, advertisement display method and advertisement supply method
GB2384341A (en) * 2001-02-12 2003-07-23 Hewlett Packard Co Aggregation of services on network portals
EP1331798A2 (en) * 2002-01-23 2003-07-30 Fujitsu Limited Computer-readable storage medium containing program instructions for managing data in communication terminal
DE10205576A1 (en) * 2002-02-11 2003-09-04 Siemens Ag Method and system for the flexible definition of graphic information on communication terminals
WO2004042625A1 (en) * 2002-11-05 2004-05-21 Canal+ Technologies Selecting advertisement on a set top box in a television network
GB2373681B (en) * 2000-12-22 2005-03-09 Symbian Ltd Mobile telephone device with idle screen
WO2005059676A2 (en) * 2003-12-16 2005-06-30 Sunil Goyal A method and system for personalized request/subscription based advertising and content services
US6968178B2 (en) 2001-04-27 2005-11-22 Hewlett-Packard Development Company, L.P. Profiles for information acquisition by devices in a wireless network
US7057591B1 (en) 2001-07-11 2006-06-06 Nokia Corporation Advertising using an eBook with a bistable display
US7099659B1 (en) 2001-06-05 2006-08-29 Sprint Spectrum L.P. Method and system for management of messages
JP2007501453A (en) * 2003-08-01 2007-01-25 マクロポート インコーポレイテッド System and method for managing and providing multimedia and rich content data on removable storage devices
US7305442B1 (en) 2001-10-12 2007-12-04 Sprint Spectrum L.P. Asynchronous user-authorized advertising
GB2443953A (en) * 2006-11-15 2008-05-21 Cognima Ltd Displaying appropriate adverts on a mobile telephone
GB2446519A (en) * 2007-02-09 2008-08-13 Cognima Ltd Method of enabling a user to interact with content received from a remote server
WO2008124809A1 (en) * 2007-04-10 2008-10-16 Fox Entertainment Group Time dependent replacement of stored broadcast content
EP2156294A1 (en) * 2007-05-22 2010-02-24 Amazon Technologies, Inc. Probabilistic recommendation system
US7673229B1 (en) * 2000-06-07 2010-03-02 Ebay Inc. Apparatus and method for generating sub-codes to a turbo-encoder
US20100100442A1 (en) * 2003-12-03 2010-04-22 Cbs Interactive, Inc. Methods and Systems for Programmably Generating Electronic Aggregate Creatives for Display on an Electronic Network
US20110096759A1 (en) * 2007-11-04 2011-04-28 IndusEdge Innovations Private Limited System and method for implementing personalized interaction
US7979340B2 (en) 2005-09-21 2011-07-12 Overstock.Com, Inc. System, program product, and methods for online image handling
US8370196B2 (en) * 2002-03-23 2013-02-05 Sk Planet Co., Ltd. Multimedia advertising service through a mobile communication network and multimedia content controlling apparatus and method of a mobile terminal supporting said service
US8719075B2 (en) 2004-09-23 2014-05-06 Overstock.Com, Inc. System, program product, and methods for online image handling
US8977559B2 (en) 2000-04-07 2015-03-10 Zyzeba Holding Limited Interactive marketing system
US9047642B2 (en) 2011-03-24 2015-06-02 Overstock.Com, Inc. Social choice engine
US9741080B1 (en) 2007-12-21 2017-08-22 Overstock.Com, Inc. System, program product, and methods for social network advertising and incentives for same
US9747622B1 (en) 2009-03-24 2017-08-29 Overstock.Com, Inc. Point-and-shoot product lister
US9805425B2 (en) 2004-06-02 2017-10-31 Overstock.Com, Inc. System and methods for electronic commerce using personal and business networks
US9953349B2 (en) 2010-08-31 2018-04-24 Cbs Interactive Inc. Platform for serving online content
US10102287B2 (en) 2013-06-25 2018-10-16 Overstock.Com, Inc. System and method for graphically building weighted search queries
US10546262B2 (en) 2012-10-19 2020-01-28 Overstock.Com, Inc. Supply chain management system
CN110738516A (en) * 2019-09-17 2020-01-31 Oppo广东移动通信有限公司 data processing method, device, equipment and storage medium
US10810654B1 (en) 2013-05-06 2020-10-20 Overstock.Com, Inc. System and method of mapping product attributes between different schemas
US10872350B1 (en) 2013-12-06 2020-12-22 Overstock.Com, Inc. System and method for optimizing online marketing based upon relative advertisement placement
US10929890B2 (en) 2013-08-15 2021-02-23 Overstock.Com, Inc. System and method of personalizing online marketing campaigns
US10937056B2 (en) 2017-01-20 2021-03-02 Huawei Technologies Co., Ltd. Advertisement display control method, terminal, and advertisement server
US10949876B2 (en) 2012-10-29 2021-03-16 Overstock.Com, Inc. System and method for management of email marketing campaigns
US10970463B2 (en) 2016-05-11 2021-04-06 Overstock.Com, Inc. System and method for optimizing electronic document layouts
US10970769B2 (en) 2017-03-02 2021-04-06 Overstock.Com, Inc. Method and system for optimizing website searching with user pathing
US11023947B1 (en) 2013-03-15 2021-06-01 Overstock.Com, Inc. Generating product recommendations using a blend of collaborative and content-based data
US11205179B1 (en) 2019-04-26 2021-12-21 Overstock.Com, Inc. System, method, and program product for recognizing and rejecting fraudulent purchase attempts in e-commerce
US11463578B1 (en) 2003-12-15 2022-10-04 Overstock.Com, Inc. Method, system and program product for communicating e-commerce content over-the-air to mobile devices
US11514493B1 (en) 2019-03-25 2022-11-29 Overstock.Com, Inc. System and method for conversational commerce online
US11676192B1 (en) 2013-03-15 2023-06-13 Overstock.Com, Inc. Localized sort of ranked product recommendations based on predicted user intent
US11734368B1 (en) 2019-09-26 2023-08-22 Overstock.Com, Inc. System and method for creating a consistent personalized web experience across multiple platforms and channels

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7490166B2 (en) * 2000-05-26 2009-02-10 Citrix Systems, Inc. Remote control of a client's off-screen surface
JP2005326784A (en) * 2004-05-17 2005-11-24 Ntt Docomo Inc Communication terminal and advertising display program
JP6623187B2 (en) * 2017-03-10 2019-12-18 日鉄ソリューションズ株式会社 Information processing apparatus, system, information processing method, and program

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5572643A (en) * 1995-10-19 1996-11-05 Judson; David H. Web browser with dynamic display of information objects during linking
EP0797368A2 (en) * 1996-03-21 1997-09-24 Sony Corporation Telecommunication system, radio base station thereof, and portable telecommunication terminal thereof
WO1998047090A1 (en) * 1997-04-16 1998-10-22 Sony Electronics, Inc. Method of advertising on-line
US5852775A (en) * 1996-09-12 1998-12-22 Earthweb, Inc. Cellular telephone advertising system
US5854897A (en) * 1996-12-27 1998-12-29 Quantum Systems, Inc. Network communications marketing system

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03204259A (en) * 1990-01-04 1991-09-05 Nippon Telegr & Teleph Corp <Ntt> Database retrieval communication system

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5572643A (en) * 1995-10-19 1996-11-05 Judson; David H. Web browser with dynamic display of information objects during linking
EP0797368A2 (en) * 1996-03-21 1997-09-24 Sony Corporation Telecommunication system, radio base station thereof, and portable telecommunication terminal thereof
US5852775A (en) * 1996-09-12 1998-12-22 Earthweb, Inc. Cellular telephone advertising system
US5854897A (en) * 1996-12-27 1998-12-29 Quantum Systems, Inc. Network communications marketing system
WO1998047090A1 (en) * 1997-04-16 1998-10-22 Sony Electronics, Inc. Method of advertising on-line

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
PATENT ABSTRACTS OF JAPAN vol. 15, no. 476 (E-1140), 4 December 1991 (1991-12-04) & JP 03 204259 A (NIPPON TELEGR & TELEPH CORP <NTT>), 5 September 1991 (1991-09-05) *

Cited By (92)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1018832A2 (en) * 1999-01-08 2000-07-12 Sony Computer Entertainment Inc. Portable terminal with advertisement medium function
SG106575A1 (en) * 1999-01-08 2004-10-29 Sony Computer Entertainment Inc Portable terminal with advertisement medium
EP1018832A3 (en) * 1999-01-08 2002-05-22 Sony Computer Entertainment Inc. Portable terminal with advertisement medium function
US6892067B1 (en) 1999-12-30 2005-05-10 Nokia Corporation Script based interfaces for mobile phones
WO2001050712A2 (en) * 1999-12-30 2001-07-12 Nokia Corporation Script based interfaces for mobile phones
WO2001050712A3 (en) * 1999-12-30 2001-12-20 Nokia Corp Script based interfaces for mobile phones
EP1130932A2 (en) * 2000-02-22 2001-09-05 Sagem Sa Method for broadcasting and displaying messages
US8977559B2 (en) 2000-04-07 2015-03-10 Zyzeba Holding Limited Interactive marketing system
JP2001309045A (en) * 2000-04-19 2001-11-02 Tu-Ka Cellular Tokyo Inc Speech service providing device
US7673229B1 (en) * 2000-06-07 2010-03-02 Ebay Inc. Apparatus and method for generating sub-codes to a turbo-encoder
US9477773B2 (en) 2000-06-07 2016-10-25 Ebay Inc. Automated selection of images for web pages
US9116868B2 (en) 2000-06-07 2015-08-25 Ebay, Inc. Automated selection of images for web pages
US8335983B2 (en) 2000-06-07 2012-12-18 Ebay, Inc. Dynamic selection of images for web pages
EP1170924A3 (en) * 2000-07-03 2003-12-17 Hitachi, Ltd. Data display method and system
EP1170924A2 (en) * 2000-07-03 2002-01-09 Hitachi, Ltd. Data display method and system
EP1195701A1 (en) * 2000-10-03 2002-04-10 Gestweb S.p.A. Method for sending advertisements directly to users
US8498671B2 (en) 2000-12-22 2013-07-30 Core Wireless Licensing S.A.R.L. Mobile telephone device with user-selectable content displayed and updated during idle time
US10694314B2 (en) 2000-12-22 2020-06-23 Conversant Wireless Licensing S.A R.L. Mobile telephone device with user-selectable content displayed and updated during idle time
GB2373681B (en) * 2000-12-22 2005-03-09 Symbian Ltd Mobile telephone device with idle screen
EP1225529A1 (en) * 2001-01-17 2002-07-24 Sagem SA Method for processing advertisements in a computer network terminal and terminal for implementing the method
FR2819606A1 (en) * 2001-01-17 2002-07-19 Sagem METHOD FOR PROCESSING ADS ON A COMPUTER NETWORK TERMINAL AND TERMINAL FOR IMPLEMENTING THE METHOD
JP2002222356A (en) * 2001-01-25 2002-08-09 Hitachi Software Eng Co Ltd Method and program for menu display of advertisement banner in web page
GB2384341A (en) * 2001-02-12 2003-07-23 Hewlett Packard Co Aggregation of services on network portals
GB2384341B (en) * 2001-02-12 2005-02-09 Hewlett Packard Co Aggregation of services on network portals
JP2002259794A (en) * 2001-02-26 2002-09-13 Koji Miyazaki Community-based real time electronic advertisement system and community-based real time electronic advertisement method
EP1253540A2 (en) * 2001-04-27 2002-10-30 Hewlett-Packard Company Profiles for information acquisition by devices in a wireless network
EP1253541A3 (en) * 2001-04-27 2006-11-02 Hewlett-Packard Company Information acquisition decision making by devices in a wireless network
EP1253541A2 (en) * 2001-04-27 2002-10-30 Hewlett-Packard Company Information acquisition decision making by devices in a wireless network
US6950646B2 (en) 2001-04-27 2005-09-27 Hewlett-Packard Development Company, L.P. Information acquisition decision making by devices in a wireless network
US6968178B2 (en) 2001-04-27 2005-11-22 Hewlett-Packard Development Company, L.P. Profiles for information acquisition by devices in a wireless network
US7715533B2 (en) 2001-04-27 2010-05-11 Hewlett-Packard Development Company, L.P. Brokering of information acquisition by devices in a wireless network
EP1253540A3 (en) * 2001-04-27 2004-04-07 Hewlett-Packard Company Profiles for information acquisition by devices in a wireless network
JP2002333852A (en) * 2001-05-08 2002-11-22 Avec Kenkyusho:Kk System and method for displaying advertisement
US7099659B1 (en) 2001-06-05 2006-08-29 Sprint Spectrum L.P. Method and system for management of messages
US7057591B1 (en) 2001-07-11 2006-06-06 Nokia Corporation Advertising using an eBook with a bistable display
US7305442B1 (en) 2001-10-12 2007-12-04 Sprint Spectrum L.P. Asynchronous user-authorized advertising
JP2003162244A (en) * 2001-11-27 2003-06-06 Yasuteru Yamamoto Advertisement display system, advertisement display method and advertisement supply method
EP1331798A3 (en) * 2002-01-23 2006-12-20 Fujitsu Limited Computer-readable storage medium containing program instructions for managing data in communication terminal
EP1331798A2 (en) * 2002-01-23 2003-07-30 Fujitsu Limited Computer-readable storage medium containing program instructions for managing data in communication terminal
DE10205576B4 (en) * 2002-02-11 2004-04-15 Siemens Ag Method and system for the flexible definition of graphic information on communication terminals
DE10205576A1 (en) * 2002-02-11 2003-09-04 Siemens Ag Method and system for the flexible definition of graphic information on communication terminals
US8370196B2 (en) * 2002-03-23 2013-02-05 Sk Planet Co., Ltd. Multimedia advertising service through a mobile communication network and multimedia content controlling apparatus and method of a mobile terminal supporting said service
WO2004042625A1 (en) * 2002-11-05 2004-05-21 Canal+ Technologies Selecting advertisement on a set top box in a television network
US7640562B2 (en) 2002-11-05 2009-12-29 Thomson Licensing S.A. Selecting advertisement on a set top box in a television network
KR101055380B1 (en) 2002-11-05 2011-08-09 톰슨 라이센싱 How to choose advertising in a set-top box of a television network
JP2007501453A (en) * 2003-08-01 2007-01-25 マクロポート インコーポレイテッド System and method for managing and providing multimedia and rich content data on removable storage devices
US20100100442A1 (en) * 2003-12-03 2010-04-22 Cbs Interactive, Inc. Methods and Systems for Programmably Generating Electronic Aggregate Creatives for Display on an Electronic Network
US11463578B1 (en) 2003-12-15 2022-10-04 Overstock.Com, Inc. Method, system and program product for communicating e-commerce content over-the-air to mobile devices
WO2005059676A3 (en) * 2003-12-16 2006-01-26 Sunil Goyal A method and system for personalized request/subscription based advertising and content services
WO2005059676A2 (en) * 2003-12-16 2005-06-30 Sunil Goyal A method and system for personalized request/subscription based advertising and content services
US9805425B2 (en) 2004-06-02 2017-10-31 Overstock.Com, Inc. System and methods for electronic commerce using personal and business networks
US10853891B2 (en) 2004-06-02 2020-12-01 Overstock.Com, Inc. System and methods for electronic commerce using personal and business networks
US8719075B2 (en) 2004-09-23 2014-05-06 Overstock.Com, Inc. System, program product, and methods for online image handling
US7979340B2 (en) 2005-09-21 2011-07-12 Overstock.Com, Inc. System, program product, and methods for online image handling
US10423997B2 (en) 2005-09-21 2019-09-24 Overstock.Com, Inc. System, program product, and methods for online image handling
GB2443953A (en) * 2006-11-15 2008-05-21 Cognima Ltd Displaying appropriate adverts on a mobile telephone
GB2446519A (en) * 2007-02-09 2008-08-13 Cognima Ltd Method of enabling a user to interact with content received from a remote server
WO2008124809A1 (en) * 2007-04-10 2008-10-16 Fox Entertainment Group Time dependent replacement of stored broadcast content
EP2156294A4 (en) * 2007-05-22 2012-05-30 Amazon Tech Inc Probabilistic recommendation system
EP2156294A1 (en) * 2007-05-22 2010-02-24 Amazon Technologies, Inc. Probabilistic recommendation system
US20110096759A1 (en) * 2007-11-04 2011-04-28 IndusEdge Innovations Private Limited System and method for implementing personalized interaction
US8411655B2 (en) * 2007-11-04 2013-04-02 Indus Edge Innovations Private Limited System and method for implementing personalized interaction
US9741080B1 (en) 2007-12-21 2017-08-22 Overstock.Com, Inc. System, program product, and methods for social network advertising and incentives for same
US10269081B1 (en) 2007-12-21 2019-04-23 Overstock.Com, Inc. System, program product, and methods for social network advertising and incentives for same
US10074118B1 (en) 2009-03-24 2018-09-11 Overstock.Com, Inc. Point-and-shoot product lister
US9747622B1 (en) 2009-03-24 2017-08-29 Overstock.Com, Inc. Point-and-shoot product lister
US10896451B1 (en) 2009-03-24 2021-01-19 Overstock.Com, Inc. Point-and-shoot product lister
US9953349B2 (en) 2010-08-31 2018-04-24 Cbs Interactive Inc. Platform for serving online content
US10699312B2 (en) 2010-08-31 2020-06-30 Cbs Interactive Inc. Platform for serving online content
US9928752B2 (en) 2011-03-24 2018-03-27 Overstock.Com, Inc. Social choice engine
US9047642B2 (en) 2011-03-24 2015-06-02 Overstock.Com, Inc. Social choice engine
US10546262B2 (en) 2012-10-19 2020-01-28 Overstock.Com, Inc. Supply chain management system
US10949876B2 (en) 2012-10-29 2021-03-16 Overstock.Com, Inc. System and method for management of email marketing campaigns
US11023947B1 (en) 2013-03-15 2021-06-01 Overstock.Com, Inc. Generating product recommendations using a blend of collaborative and content-based data
US11676192B1 (en) 2013-03-15 2023-06-13 Overstock.Com, Inc. Localized sort of ranked product recommendations based on predicted user intent
US10810654B1 (en) 2013-05-06 2020-10-20 Overstock.Com, Inc. System and method of mapping product attributes between different schemas
US11631124B1 (en) 2013-05-06 2023-04-18 Overstock.Com, Inc. System and method of mapping product attributes between different schemas
US10102287B2 (en) 2013-06-25 2018-10-16 Overstock.Com, Inc. System and method for graphically building weighted search queries
US10769219B1 (en) 2013-06-25 2020-09-08 Overstock.Com, Inc. System and method for graphically building weighted search queries
US10929890B2 (en) 2013-08-15 2021-02-23 Overstock.Com, Inc. System and method of personalizing online marketing campaigns
US11475484B1 (en) 2013-08-15 2022-10-18 Overstock.Com, Inc. System and method of personalizing online marketing campaigns
US11694228B1 (en) 2013-12-06 2023-07-04 Overstock.Com, Inc. System and method for optimizing online marketing based upon relative advertisement placement
US10872350B1 (en) 2013-12-06 2020-12-22 Overstock.Com, Inc. System and method for optimizing online marketing based upon relative advertisement placement
US11526653B1 (en) 2016-05-11 2022-12-13 Overstock.Com, Inc. System and method for optimizing electronic document layouts
US10970463B2 (en) 2016-05-11 2021-04-06 Overstock.Com, Inc. System and method for optimizing electronic document layouts
US10937056B2 (en) 2017-01-20 2021-03-02 Huawei Technologies Co., Ltd. Advertisement display control method, terminal, and advertisement server
US10970769B2 (en) 2017-03-02 2021-04-06 Overstock.Com, Inc. Method and system for optimizing website searching with user pathing
US11514493B1 (en) 2019-03-25 2022-11-29 Overstock.Com, Inc. System and method for conversational commerce online
US11205179B1 (en) 2019-04-26 2021-12-21 Overstock.Com, Inc. System, method, and program product for recognizing and rejecting fraudulent purchase attempts in e-commerce
US11928685B1 (en) 2019-04-26 2024-03-12 Overstock.Com, Inc. System, method, and program product for recognizing and rejecting fraudulent purchase attempts in e-commerce
CN110738516A (en) * 2019-09-17 2020-01-31 Oppo广东移动通信有限公司 data processing method, device, equipment and storage medium
US11734368B1 (en) 2019-09-26 2023-08-22 Overstock.Com, Inc. System and method for creating a consistent personalized web experience across multiple platforms and channels

Also Published As

Publication number Publication date
EP1078490A2 (en) 2001-02-28
KR20010043446A (en) 2001-05-25
AU4307699A (en) 1999-11-29
JP2003533899A (en) 2003-11-11
WO1999059283A3 (en) 2000-07-27

Similar Documents

Publication Publication Date Title
WO1999059283A2 (en) Integrated advertising for wireless communication devices with rich content and direct user response mechanism
US7295862B2 (en) Push content filtering for broadcast communication
US20060031387A1 (en) System and method for delivering web content to a mobile device
US20030131095A1 (en) System to prevent inappropriate display of advertisements on the internet and method therefor
CA2346156C (en) Method and system for website overview
US8407296B2 (en) Multiple and multi-part message methods and systems for handling electronic message content for electronic communications devices
EP1209597A1 (en) Methods for sending and receiving content and system for delivering content through use of e-mail
US8407188B1 (en) Methods and systems for providing data form management
JP4007893B2 (en) Server device, program, and recording medium
US7590681B1 (en) Method and system for managing and delivering web content to internet appliances
JP2002222138A (en) Contents transmission method, contents receiving method, and contents delivery system
US6560454B2 (en) System and method for delivery and updating of data transmitted to a mobile terminal
EP2201798B1 (en) Methods and systems for handling electronic message content for electronic communications devices
WO2001063875A2 (en) System for automatic data retrieval on an internet protocol network
JP2003509929A (en) Method and apparatus for accessing personalized internet information using a mobile device
GB2334648A (en) Internet access for a mobile communications device
US20020143712A1 (en) Process for mediating price information, system for implementing thereof and computer readable medium storing program for implementing price mediating process
JP2004178073A (en) Notification message transfer method and device
KR20010094521A (en) A System and Method for Advertisement Using Wireless Communication Terminal
KR100732326B1 (en) A Method For Accessing Wireless Internet Using Callback URL
JP2002288224A (en) Method for site-map distribution and its system
JP2004348402A (en) Collection method and management system for customer information
KR20010007739A (en) Advertiment guidance system using guide code and operation method thereof
KR20040020694A (en) Method and system of providing web-contents to a mobile by using E-mail
JP2003296224A (en) Information distribution surrogating system and information distribution surrogating program

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A2

Designated state(s): AE AL AM AT AU AZ BA BB BG BR BY CA CH CN CU CZ DE DK EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MD MG MK MN MW MX NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT UA UG UZ VN YU ZA ZW

AL Designated countries for regional patents

Kind code of ref document: A2

Designated state(s): GH GM KE LS MW SD SL SZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
AK Designated states

Kind code of ref document: A3

Designated state(s): AE AL AM AT AU AZ BA BB BG BR BY CA CH CN CU CZ DE DK EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MD MG MK MN MW MX NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT UA UG UZ VN YU ZA ZW

AL Designated countries for regional patents

Kind code of ref document: A3

Designated state(s): GH GM KE LS MW SD SL SZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG

ENP Entry into the national phase

Ref document number: 2000 548988

Country of ref document: JP

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 1999950372

Country of ref document: EP

Ref document number: 1020007012491

Country of ref document: KR

WWP Wipo information: published in national office

Ref document number: 1999950372

Country of ref document: EP

REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

WWP Wipo information: published in national office

Ref document number: 1020007012491

Country of ref document: KR

WWW Wipo information: withdrawn in national office

Ref document number: 1999950372

Country of ref document: EP

WWW Wipo information: withdrawn in national office

Ref document number: 1020007012491

Country of ref document: KR