`Bandera et al.
`
`I IIIII IIIIIIII Ill lllll lllll lllll lllll lllll lllll lllll lllll 111111111111111111
`US006332127Bl
`US 6,332,127 Bl
`Dec. 18, 2001
`
`(10) Patent No.:
`(45) Date of Patent:
`
`(54) SYSTEMS, METHODS AND COMPUTER
`PROGRAM PRODUCTS FOR PROVIDING
`TIME AND LOCATION SPECIFIC
`ADVERTISING VIA THE INTERNET
`
`(75)
`
`Inventors: Daniel Quinto Bandera, Austin, TX
`(US); Mark F. Bregman, Ridgefield,
`CT (US); Ajei S. Gopal, Riverdale, NY
`(US); Sandeep Singha), Raleigh, NC
`(US)
`
`(73) Assignee: International Business Machines
`Corporation, Armonk, NY (US)
`
`( *) Notice:
`
`Subject to any disclaimer, the term of this
`patent is extended or adjusted under 35
`U.S.C. 154(b) by O days.
`
`(21) Appl. No.: 09/238,474
`
`(22) Filed:
`
`Jan.28, 1999
`
`Int. CI.7 ...................................................... G06F 17/60
`(51)
`(52) U.S. Cl. ................................................................ 705/14
`(58) Field of Search .................................... 705/1, 14, 50,
`705/86; 709/218, 227
`
`(56)
`
`References Cited
`
`U.S. PATENT DOCUMENTS
`
`7/1992 Lamphere et al. ..................... 283/37
`5,127,674
`3/1994 Malec et al. ......................... 364/401
`5,295,064
`5/1997 Park ..................................... 342/357
`5,627,549
`5/1997 Vela et al. ............................ 395/201
`5,630,068
`5,938,721 * 8/1999 Dussell et al. ....................... 701/211
`5,948,040 * 9/1999 DeLorme et al.
`................... 701/201
`6,047,327 * 4/2000 Tso et al. ............................. 709/232
`6,131,067 * 10/2000 Girerd et al.
`........................ 701/213
`6,133,853 * 10/2000 Obradovich et al. ................ 340/905
`6,148,261 * 11/2000 Obradovich et al. ... ... .... ... ... 701/208
`
`FOREIGN PATENT DOCUMENTS
`713317 * 5/1996 (EP) ....................................... 705/14
`9-231263 * 9/1997 (JP) ........................................ 705/14
`11-003072 * 1/1999 (JP) ........................................ 705/14
`WO 99/60504 * 11/1999 (WO) ..................................... 705/14
`OTHER PUBLICATIONS
`
`Wireless advertising is less advanced in the US than in
`Europe and Japan, but advertisers are eager to take advan(cid:173)
`tage of US miltary;s lifting of GPS technology restrictions,
`Industry Standard, May 29, 2000, by Ben Hammer.*
`Abstract, Information Service Receiver, Information Service
`Providing Device and Information Services Provision Sys(cid:173)
`tem, Japanese Patent Application No. JP09231263, filed
`Sep. 5, 1997.
`* cited by examiner
`Primary Examiner-Stephen Gravini
`(74) Attorney, Agent, or Firm-Myers Bigel Sibley &
`Sajovec; A Bruce Clay
`ABSTRACT
`(57)
`
`Systems, methods and computer program products are pro(cid:173)
`vided for selecting an advertising object to be displayed
`within a Web page requested by a user based on the
`geographic location of the user and/or on the time of day.
`Systems, methods and computer program products are pro(cid:173)
`vided for validating an offer within an advertising object of
`a Web page displayed within a Web client in communication
`with a Web server. Systems, methods and computer program
`products are also provided for changing content within an
`object displayed within a Web page based on changes in
`geographic location of a user. In addition, systems, methods
`and computer program products are provided for redeeming
`an electronic coupon stored within a first computing device,
`wherein the electronic coupon is valid within a designated
`geographic region and for a designated period of time.
`
`39 Claims, 7 Drawing Sheets
`
`HTTP Request
`
`22
`
`Get<URL>
`Mob1leCl1ent
`Location
`
`~---~"
`
`20
`
`/
`
`Global Positioning
`System
`
`24
`
`Mobile
`Web Client
`
`30
`
`Web
`Page
`Content
`Ob1ects
`
`Lookup Table
`
`Time
`
`Location
`
`27
`
`Advertising
`ObJects
`
`2B
`
`Web Page
`
`Advert1s1ngObject
`
`Remaining Web
`Page Content
`Objects
`
`26
`
`32
`
`34
`
`Starbucks Corporation, et al. – Ex. 1004
`U.S. Patent No. 9,454,748
`
`
`
`U.S. Patent
`
`Dec. 18, 2001
`
`Sheet 1 of 7
`
`US 6,332,127 Bl
`
`get the news
`when you
`log on
`
`(D
`
`I e/logo I
`e-business
`
`Click Here
`
`CNNIN
`interactive
`CNN.com
`
`(
`11
`
`sci-tech
`
`/10
`
`{ www.pgatour.com is an IBM e.business.
`
`Update: Wednesday. 02 Dec 98. 04:40:32 PM EST
`
`SCIENCE & NATURE
`World Bank called on
`energy lending policy
`
`/
`
`COMPUTING
`~11
`Military draft registration ,.?<;"
`now on Web
`
`SPACE
`Endeavour ready to go:
`NASA may return to Mir
`
`G) Tomorrow / Today ! ~~'f~
`
`FEATURE:
`
`COMICS
`by Rich
`Tennant
`
`(
`
`SPACE SHUTTLE PHOTO
`
`MAIN PAGE
`WORLD
`U.S.
`LOCAL
`POLITICS
`WEATHER
`11 BUSINESS
`SPORTS
`SCI-TECH
`computing
`Weather threatens to delay start of
`space
`ENTERTAINMENT Endeavour's ISS mission
`BOOKS
`TRAVEL
`FOOD
`HEALTH
`STYLE
`IN-DEPTH
`
`[I]
`
`The shuttle Endeavour is ready to carry its
`six-person crew and a vital part up to begin
`11 --z.. construction of the International Space
`Station, but weather conditions could delay
`the start of the historic mission.
`
`(FULL STORY)
`
`custom news
`Headline News brief
`daily almanac
`CNN networks
`on-air transcripts
`news quiz
`
`FIG. 1
`
`
`
`U.S. Patent
`
`Dec. 18, 2001
`
`Sheet 2 of 7
`
`US 6,332,127 Bl
`
`22
`
`Global Positioning
`System
`
`HTIP Request
`
`Get <URL>
`Mobile Client
`Location
`
`21 D~
`
`Mobile
`Web Client
`
`20
`
`/
`
`24
`
`Web Server
`
`Dynamic
`Execution Engine
`
`32
`
`34
`
`Web Page
`
`Advertising Object
`
`Remaining Web
`Page Content
`Objects
`
`Lookup Table
`
`Time
`
`Location
`
`27
`
`Advertising
`Objects
`
`FIG. 2
`
`
`
`U.S. Patent
`
`Dec. 18, 2001
`
`Sheet 3 of 7
`
`US 6,332,127 Bl
`
`/".../ 100
`In Response to User
`Request for a Web Page,
`Web Client Retrieves User's
`Current Location From
`Global Positioning System
`
`/'V 200
`
`/"'../ 300
`
`User Selects Validation
`Anchor Within Advertising
`Object to Validate Offer
`Within Advertising Object
`
`Object Retrieves User
`Location Information From
`Global Positioning System
`
`/"J 102
`
`'
`Web Client Transmits Web
`Page Request and User
`Location Information to
`Web Server
`
`~104
`Web Server Selects
`Advertising Object to Include
`in Requested Web Page
`Based on Retrieved User
`Location Information and/or
`Time of Day Information
`
`;-J106
`
`Generate Web Page With
`Selected Advertising
`Object
`
`/'V108
`
`Serve Generated Web
`Page to Web Client
`
`FIG. 3
`
`/"J 202
`In Response to User
`Selection of Validation
`Anchor, Web Client
`Retrieves User's Current
`Location From Global
`Positioning System
`
`!"J302
`
`Object Changes Displayed
`Content in Response to a
`Change in User Location
`
`~
`
`/"'-../ 204
`
`/"'-./304
`
`Object Changes Displayed
`Content In Response to a
`Change in Time of Day
`
`FIG. 7
`
`Web Client Transmits
`Validation Request With
`User Location Information
`and/or Time of Day
`Information to Web Server
`
`rv 206
`Web Server Determines
`Validity of Offer Within
`Advertising Object Based on
`User Location Information
`and/or Time of Day
`Information
`
`/".../ 208
`
`Web Server Communicates
`Validity of Offer to User
`
`FIG. 5
`
`
`
`U.S. Patent
`
`Dec. 18, 2001
`
`Sheet 4 of 7
`
`US 6,332,127 Bl
`
`Web Page
`
`36
`
`Advertising Object
`
`Validation Anchor:
`http://somewhere.com/servlet/BuyMe?199808280415
`
`Remaining Web Page
`Content Objects
`
`26
`
`32
`
`34
`
`FIG. 4
`
`
`
`U.S. Patent
`
`Dec. 18, 2001
`
`Sheet 5 of 7
`
`US 6,332,127 Bl
`
`Lookup Table
`
`Time
`
`Evening
`
`27
`
`GPS
`Region
`
`North
`Carolina
`
`Advertising
`Object
`Content
`
`Content "A"
`
`Morning
`
`Virginia
`
`Content "B"
`
`40
`
`22
`
`Advertising Object 1--1--------'::,.,.
`Applet
`
`Global Positioning
`System
`
`Remaining Web
`Page Content
`Objects
`
`26
`
`Web Page
`
`24
`
`Web Server
`
`Mobile
`Web Client
`
`25
`
`FIG. 6
`
`
`
`U.S. Patent
`
`Dec. 18, 2001
`
`Sheet 6 of 7
`
`US 6,332,127 Bl
`
`400
`
`Mobile Web Client Receives
`Encrypted Coupon From
`Web Server
`
`402
`
`Establish Communications
`Link Between Mobile Web
`Client and Another
`Computing Device
`
`404
`
`Computing Device Decrypts
`Coupon to Validate
`Information Contained
`Within Coupon
`
`FIG. 8
`
`
`
`U.S. Patent
`
`Dec. 18, 2001
`
`Sheet 7 of 7
`
`US 6,332,127 Bl
`
`40
`
`Coupon:
`10% Discount
`at Store "X"
`
`40
`
`Coupon:
`10% Discount
`at Store "X"
`
`21
`
`21
`
`24
`
`Mobile
`Web Client
`
`25
`
`FIG. 9A
`
`50
`
`D =
`
`Cash Register at Store "X"
`
`FIG. 98
`
`
`
`US 6,332,127 Bl
`
`1
`SYSTEMS, METHODS AND COMPUTER
`PROGRAM PRODUCTS FOR PROVIDING
`TIME AND LOCATION SPECIFIC
`ADVERTISING VIA THE INTERNET
`
`FIELD OF THE INVENTION
`
`The present invention relates generally to advertising and,
`more particularly, to advertising over the Internet.
`
`BACKGROUND OF THE INVENTION
`
`The Internet is a worldwide decentralized network of
`computers having the ability to communicate with each
`other. The Internet has gained broad recognition as a viable
`medium for communicating and interacting across multiple
`networks. The World-Wide Web (Web) was created in the
`early 1990's and is comprised of server-hosting computers
`(Web servers) connected to the Internet that have hypertext
`documents or Web pages stored therewithin. Web pages are
`accessible by client programs (i.e., Web browsers) utilizing
`the Hypertext Transfer Protocol (HTTP) via a Transmission
`Control Protocol/Internet Protocol (TCP/IP) connection
`between a client-hosting device and a server-hosting device.
`While HTTP and hypertext documents are the prevalent
`forms for the Web, the Web itself refers to a wide range of
`protocols including Secure Hypertext Transfer Protocol
`(HTTPS), File Transfer Protocol (FTP), and Gopher, and
`content formats including plain text, Extensible Markup
`Language (XML), as well as image formats such as Graph(cid:173)
`ics Interchange Format (GIF) and Joint Photographic
`Experts Group (JPEG).
`Specific to the Web, a Web server is a computer program
`(housed in a computer) that serves requested Web pages and
`files. A Web client is a requesting program associated with
`a user. A Web browser is an exemplary Web client for use in
`requesting Web pages and files from Web servers.
`A Web site is conventionally a collection of Web pages
`and files related to a particular subject that includes a
`beginning file called a home page. A large Web site may
`reside on a number of geographically-dispersed Web serv(cid:173)
`ers. The Web site of the International Business Machines
`Corporation (www.ibm.com), for example, consists of thou(cid:173)
`sands of Web pages and files spread out over various Web
`servers in locations world-wide.
`As is known to those skilled in this art, a Web page is 45
`conventionally formatted via a standard page description
`language such as HyperText Markup Language (HTML),
`which typically contains text, and can reference graphics,
`sound, animation, and video data. HTML provides for basic
`document formatting and allows a Web content provider to 50
`specify anchors or hypertext links (typically manifested as
`highlighted text) to other Web servers and files. When a user
`selects a particular hypertext link, a Web browser reads and
`interprets an address, called a Uniform Resource Locator
`(URL) associated with the link, connects the Web browser 55
`with a Web server at that address, and makes an HTTP
`request for the file identified in the link. The Web server then
`sends the requested file to the Web client which the Web
`browser interprets and displays to the user.
`Exemplary Web browsers include Netscape Navigator® 60
`(Netscape Communications Corporation, Mountain View,
`CA) and Internet Explorer® (Microsoft Corporation,
`Redmond, WA). Web browsers typically provide a graphical
`user interface for retrieving and viewing information,
`applications, and other resources hosted by Web servers.
`As the Web has evolved into a viable commercial
`medium, advertising has become an important source of
`
`2
`revenue for many commercial Web sites. Web pages served
`from commercial Web sites often utilize advertising to
`promote various goods and services. FIG. 1 illustrates an
`exemplary Web page 10 containing various content objects
`5 11, including a "banner" advertising object 12. To be
`effective, Web advertising is preferably targeted to the types
`of users likely to request a particular Web page in which the
`advertising is provided. In addition, advertising may be
`placed within a requested Web page based upon the identity
`10 of a user requesting the Web page.
`With the increasing mobility of today's society, the
`demand for mobile computing capabilities has also
`increased. Many workers and professionals are downsizing
`their laptop computers to smaller palm-top or hand-held
`15 devices, such as personal digital assistants (PDAs ). In
`addition, many people now utilize computing devices, such
`as cellular telephones, within their automobiles to access the
`Internet and to perform various other computing functions.
`Hand-held computing devices including, but not limited to,
`20 PDAs and cellular telephones are often collectively referred
`to as "pervasive" computing devices. Many hand-held com(cid:173)
`puting devices utilize the Microsoft® Windows CE and
`3Com Palm Computing® platforms.
`Accordingly, there is a need to enhance the efficacy of
`25 advertising to users accessing the Web via mobile Web
`clients.
`
`SUMMARY OF THE INVENTION
`
`30
`
`In view of the above discussion, it is an object of the
`present invention to enhance the efficacy of advertising via
`the Web.
`It is another object of the present invention to enhance the
`efficacy of advertising to users accessing the Web via mobile
`35 Web clients.
`According to one aspect of the present invention, these
`and other objects are provided by systems, methods and
`computer program products for selecting an advertising
`object to be displayed within a Web page requested by a user
`40 based on the geographic location of the user and/or on the
`time of day. A user makes a Web page request via a mobile
`Web client in communication with a Web server. The mobile
`Web client, in response to the user request, obtains user
`location information, for example from a Global Positioning
`System (GPS), and transmits the user request for the Web
`page to the Web server with the obtained user location
`information. The Web server selects an advertising object
`based upon the user's location and/or the time of day the
`Web page request is received. The Web server generates the
`requested Web page with the selected advertising object
`included therein and serves the generated Web page to the
`mobile Web client. Advertising objects can include text files,
`audio files, video files, image files, hyperlinks, and the like.
`According to another aspect of the present invention,
`systems, methods and computer program products are pro(cid:173)
`vided for validating an offer within a Web page advertising
`object displayed within a Web client in communication with
`a Web server. An advertising object contains a validation
`anchor that references a remotely located validation pro-
`gram. Furthermore, the validation anchor is associated with
`an indication of time. In response to user selection of the
`validation anchor for the purpose of validating the offer
`within the advertising object, the Web client retrieves user
`location information, for example from a GPS. The Web
`65 client then transmits the validation request to the Web server
`with the retrieved user location information and/or with time
`of day information. The Web server determines the validity
`
`
`
`US 6,332,127 Bl
`
`4
`FIG. 8 illustrates operations for obtaining and using
`electronic coupons according to an embodiment of the
`present invention.
`FIG. 9A illustrates a mobile Web client receiving an
`5 electronic coupon from a Web server.
`FIG. 9B illustrates the mobile Web client of FIG. 9A in
`communication with a computing device, such as a cash
`register, to redeem an electronic coupon.
`
`3
`of the offer based on the received user location information
`and/or the received time of day information. The Web server
`then communicates the validity of the offer to the user.
`According to another aspect of the present invention,
`systems, methods and computer program products are pro(cid:173)
`vided for changing content within a Web page object based
`on changes in geographic location of a user. The Web page
`object is configured to monitor a user's location via a GPS.
`In response to determining that a user has changed geo(cid:173)
`graphic locations, the content within the object can be 10
`changed. In addition, content within the Web page object can
`be changed in response to changes in time of day.
`Web page objects according to this aspect of the present
`invention are preferably JAVA® applets that are configured
`to communicate directly with a GPS or other user location 15
`identification systems. Content changes can be obtained
`remotely from a Web server or locally from a mobile Web
`client.
`According to another aspect of the present invention,
`systems, methods and computer program products are pro(cid:173)
`vided for redeeming an electronic coupon stored within a
`first computing device, wherein the electronic coupon is
`valid within a designated geographic region and for a
`designated period of time. A first computing device, such as
`a mobile Web client, receives an electronic coupon from a 25
`Web server. The electronic coupon has an identifier associ(cid:173)
`ated therewith. A user takes the mobile Web client and
`establishes a communications link between the mobile Web
`client and a second computing device, such as a point-of(cid:173)
`sale terminal at a commercial enterprise. The second com(cid:173)
`puting device verifies that the mobile Web client is located
`within the designated geographic region and that the desig(cid:173)
`nated period of time for redeeming the coupon has not
`expired. In addition, the second computing device verifies
`that an electronic coupon with the same identifier has not
`been previously redeemed.
`The various aspects of the present invention are advan(cid:173)
`tageous because advertising effectiveness over the Internet
`can be enhanced in various ways. As the use of mobile
`computing devices increases, advertisers can more effec(cid:173)
`tively target users on the basis of location and time of day.
`
`DETAILED DESCRIPTION OF THE
`INVENTION
`
`The present invention now is described more fully here(cid:173)
`inafter with reference to the accompanying drawings, in
`which preferred embodiments of the invention are shown.
`This invention may, however, be embodied in many different
`forms and should not be construed as limited to the embodi(cid:173)
`ments set forth herein; rather, these embodiments are pro(cid:173)
`vided so that this disclosure will be thorough and complete,
`and will fully convey the scope of the invention to those
`20 skilled in the art. Like numbers refer to like elements
`throughout.
`As will be appreciated by one of skill in the art, the
`present invention may be embodied as a method, data
`processing system, or computer program product.
`Accordingly, the present invention may take the form of an
`entirely hardware embodiment, an entirely software
`embodiment, or an embodiment combining software and
`hardware aspects. Furthermore, the present invention may
`30 take the form of a computer program product on a computer(cid:173)
`usable storage medium having computer-usable program
`code means embodied in the medium. Any suitable com(cid:173)
`puter readable medium may be utilized including hard disks,
`CD-ROMs, optical storage devices, or magnetic storage
`35 devices.
`Referring now to FIG. 2, a system 20 within which the
`present invention may be implemented is schematically
`illustrated. A mobile Web client 21 is in communication with
`a Web server 24 via a computer network, such as the Internet
`40 25. Throughout the following description, it shall be under(cid:173)
`stood that in certain circumstances, a Web server may be
`implemented as a process that, in fact, is co-located on a
`mobile Web client. These so-called micro-servers or embed(cid:173)
`ded Web servers typically require a smaller footprint than
`45 traditional Web servers.
`The mobile Web client 21 is configured to obtain location
`information from a Global Positioning System (GPS) 22. As
`will be described in detail below, location information for
`the mobile Web client 21 (and, thus for a user) can be
`50 included within a Web page request 23 such that advertising
`objects (as well as other content objects) can be selected for
`inclusion within the Web page based on the location of the
`mobile Web client 21. It will be understood that location
`information also may be obtained based upon an identifica-
`55 tion of a cellular base station or a satellite beam that is in
`communication with the mobile Web client 21. Although
`identification of a cellular base station or satellite beam may
`not provide as precise a location as a GPS, the location may
`be sufficiently precise to allow selection of advertising
`60 objects according to the present invention.
`The Web server 24 is configured to dynamically generate
`a requested Web page 26 using a dynamic execution engine
`(DEE) 28 and one or more Web page content objects. The
`DEE 28 defines the selection of content objects within the
`65 Web page and the layout of those content objects within the
`Web page 26 when displayed within a Web client (i.e., Web
`browser). Conventionally, each element of a Web page,
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`FIG. 1 illustrates an exemplary Web page containing
`various content objects and advertising objects.
`FIG. 2 illustrates a system within which time and
`location-specific Web advertising may be implemented,
`according to an embodiment of the present invention.
`FIG. 3 illustrates operations for selecting an advertising
`object to be displayed within a Web page requested by a user
`according to an embodiment of the present invention.
`FIG. 4 illustrates an exemplary Web page that contains an
`advertising object with a validation anchor according to an
`embodiment of the present invention.
`FIG. 5 illustrates operations for validating an offer within
`an advertising object displayed within a Web page according
`to an embodiment of the present invention.
`FIG. 6 illustrates a JAVA® applet configured to change
`content based on user location, and wherein the JAVA®
`applet is configured to communicate with a GPS so as to
`determine when the user moves with the mobile Web client
`from one GPS region to another.
`FIG. 7 illustrates operations for changing content within
`an object displayed within a Web page based on changes in
`user location and time of day according to another embodi(cid:173)
`ment of the present invention.
`
`
`
`US 6,332,127 Bl
`
`25
`
`5
`including, but not limited to, divisions, sections, headings,
`paragraphs, images, lists, tables, and hyperlinks, may be
`represented by a content object. In addition, a content object
`may include audio and video files. It is understood, however,
`that a single content object may represent one or more of
`these Web page elements. Dynamic generation of Web pages
`is well understood by those skilled in the art and need not be
`described further herein.
`In the illustrated embodiment, content objects, such as
`advertising objects, are stored within a database 30 that is
`accessible by the DEE 28. However, it is to be understood
`that content objects can be stored in a file system, as well.
`When a user request is received for a Web page 26, the DEE
`28 generates the Web page 26 using objects stored within the
`database 30.
`An advertising object 32 is contained within the generated
`Web page 26, as illustrated. According to an embodiment of
`the present invention, a lookup table 27 is utilized to
`associate time of day and user locations with a plurality of
`respective advertising objects stored within the database 30.
`Accordingly, as will be described below, an advertising
`object can be selected for display within a requested Web
`page based on a user location and/or on the time of day.
`Exemplary advertising objects may include text files, audio
`files, video files, image files, and the like.
`Computer program code for carrying out operations of the
`present invention is preferably written in an object oriented
`programming language such as JAVA®, Smalltalk, or C++.
`However, the computer program code for carrying out
`operations of the present invention may also be written in
`conventional procedural programming languages, such as
`the "C" programming language, in an interpreted scripting
`language, such as Perl, or in a functional ( or fourth
`generation) programming language such as Lisp, SML, or
`Forth.
`A particularly preferred programming language for imple(cid:173)
`menting aspects of the present invention is JAVA®. JAVA®
`is an object-oriented programming language developed by
`Sun Microsystems, Mountain View, California. JAVA® is a 40
`portable and architecturally neutral language. JAVA® source
`code is compiled into a machine-independent format that
`can be run on any machine with a JAVA® runtime system
`known as the JAVA® Virtual Machine (JVM). The JVM is
`defined as a virtual machine that is implemented by emu- 45
`lating a processor through the use of software on a real
`machine. Accordingly machines running under diverse oper(cid:173)
`ating systems, including UNIX, Windows NT, and MacIn(cid:173)
`tosh having a JVM can execute the same JAVA® program.
`Web browsers including Netscape Navigator® and
`Microsoft Internet Explorer® are referred to as JAVA®(cid:173)
`enabled browsers because they include a version of the
`JVM. JAVA® applets are programs written in JAVA® and
`configured to run within JAVA®-enabled browsers. Handled
`in a manner similar to the way images are handled, JAVA®
`applets are displayed as part of a HyperText MarkUp Lan(cid:173)
`guage (HTML) document. When a JAVA® applet is loaded,
`it can present special effects, such as animation, graphics,
`and sound; perform real-time data updates and applications;
`and interact with a user through a mouse, keyboard and 60
`various interface elements such as buttons, slides and text
`fields.
`As is known to those skilled in this art, JAVA® source
`code is compiled into bytecode using a JAVA® compiler,
`such as the one referred to as javac. Compiled JAVA®
`programs are saved in files with the extension "class". When
`a JAVA®-enabled Web browser recognizes that an applet
`
`6
`has been requested, a JAVA® interpreter program runs the
`JAVA® applet bytecode on the JVM.
`The program code for implementing the present invention
`may execute entirely on a Web server, or it may execute
`5 partly on a Web server and partly on a remote computer (i.e.,
`a user's mobile Web client). In the latter scenario, the remote
`computer may be connected to the Web server through a
`LAN or a WAN, or the connection may be made to an
`external computer (for example, through the Internet using
`10 an Internet Service Provider).
`The present invention is described below with reference
`to flowchart illustrations of methods, apparatus (systems),
`and computer program products according to an embodi(cid:173)
`ment of the invention. It will be understood that each block
`15 of the flowchart illustrations, and combinations of blocks in
`the flowchart illustrations, can be implemented by computer
`program instructions. These computer program instructions
`may be provided to a processor of a general purpose
`computer, special purpose computer, or other programmable
`20 data processing apparatus to produce a machine, such that
`the instructions, which execute via the processor of the
`computer or other programmable data processing apparatus,
`create means for implementing the functions specified in the
`flowchart block or blocks.
`These computer program instructions may also be stored
`in a computer-readable memory that can direct a computer
`or other programmable data processing apparatus to function
`in a particular manner, such that the instructions stored in the
`computer-readable memory produce an article of manufac-
`30 ture including instruction means which implement the func(cid:173)
`tion specified in the flowchart block or blocks.
`The computer program instructions may also be loaded
`onto a computer or other programmable data processing
`apparatus to cause a series of operational steps to be per-
`35 formed on the computer or other programmable apparatus to
`produce a computer implemented process such that the
`instructions which execute on the computer or other pro(cid:173)
`grammable apparatus provide steps for implementing the
`functions specified in the flowchart block or blocks.
`Time-Based and Location-Based Advertising
`Generation
`Referring now to FIG. 3, operations for selecting an
`advertising object to be displayed within a Web page
`requested by a user according to the present invention are
`illustrated. In response to a user's request for a Web page via
`a mobile Web client in communication with a Web server,
`the mobile Web client retrieves information about the user's
`current location (Block 100). User location information may
`50 be obtained via a GPS (22, FIG. 2) in communication with
`the mobile Web client (21, FIG. 2). A GPS is a constellation
`of spaced-apart satellites that orbit the Earth and make it
`possible for people with ground receivers to pinpoint their
`geographic location. A GPS is well understood by those
`55 skilled in the art and need not be described further herein.
`GPS communications may be integrated with a Web
`browser of a mobile Web client. Alternatively, user requests
`made via a Web client may be intercepted by a Web client
`operating system which is configured to fetch user location
`information via a GPS. Furthermore, it is understood that the
`present invention is not limited to the use of a GPS for
`retrieving user location information. For mobile Web clients
`accessing a Web server via a telephone system, a Web server
`may trace the calling telephone number to determine the
`65 local exchange within which the mobile Web client is
`presently located. The local exchange could then be used to
`broadly determine the current location of the user.
`
`
`
`US 6,332,127 Bl
`
`7
`Alternatively, location information may be obtained based
`upon an identification of a cellular base station or a satellite
`beam that is in communication with the mobile Web client
`(21, FIG. 2). Although identification of a cellular base
`station or satellite beam may not provide as precise a
`location as a GPS, the location may be sufficiently precise to
`allow selection of advertising objects according to the
`present invention.
`The Web client then transmits the retrieved user location
`information with the Web page request to the Web server
`(Block 102). Note that in cases described above where the
`server queries the telephone exchange or where the location
`is determined by the cellular base station, this information is
`not actually transmitted by the client within the request. The
`user location information may be conveyed to the Web 15
`server in an HTTP header as part of the Web page request
`(23, FIG. 2). The Web server then selects an advertising
`object (or objects) to include in the requested Web page
`based on the retrieved user location information (Block
`104). Additionally, the Web server may select an advertising 20
`object(s) based on the time of day the user request was
`received, alone or in combination with the retrieved user
`location information. Preferably, a dynamic execution
`engine (28, FIG. 2) searches a lookup table (27, FIG. 2) that
`contains a plurality of advertising objects each having 25
`location and time of day information associated therewith.
`The Web server generates the requested Web page with
`the selected advertising object(s) included therewithin
`(Block 106). The generated Web page is then served to the
`mobile Web client (Block 108).
`As an example of this aspect of the present invention, a
`user requests a Web page from a Web server via a mobile
`Web client. The Web server utilizes user location informa(cid:173)
`tion transmitted with the Web page request to select an
`advertisement object that presents information about some(cid:173)
`thing that is physically near the user's present location. For
`example, information relating to the nearest store in a
`national chain of stores can be presented within an adver(cid:173)
`tising object displayed within a Web page.
`As another example of this aspect of the present
`invention, an advertisement object(s) can be selected based
`on the time of day a user request is received by a Web server.
`For example, an advertisement object related to bagels may
`be selected and displayed within a requested Web page when
`the Web page request is received