Patent Publication Number: US-9852449-B2

Title: System and method for providing advertisement data to a mobile computing device

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS 
     This application is a Continuation of U.S. application Ser. No. 11/901,272, filed Sep. 14, 2007, entitled “SYSTEM AND METHOD FOR PROVIDING ADVERTISEMENT DATA TO A MOBILE COMPUTING DEVICE,” which is incorporated herein by reference in its entirety. 
    
    
     BACKGROUND 
     The present invention relates generally to the field of mobile computing devices, and more specifically to systems and methods for providing advertisement data to a mobile computing device. 
     Mobile devices may be used to provide location-based advertisements to users of mobile devices. As a user travels, advertisements may be displayed on a mobile device the user is carrying based upon the geographic location of the mobile device. For example, if a user walks past a restaurant, an advertisement (e.g., coupon, discount, general advertisement, etc.) may be displayed on the user&#39;s mobile device. 
     However, with the increasing usage of mobile devices and location-based advertisements, users may receive numerous advertisements, where many may be totally irrelevant to the user, and where it may be difficult to identify relevant or useful advertisements because of the high number of advertisements being received. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         FIG. 1  is a front view of a mobile computing device according to an exemplary embodiment. 
         FIG. 2  is a back view of the mobile computing device of  FIG. 1  according to an exemplary embodiment. 
         FIG. 3  is a side view of the mobile computing device of  FIG. 1  according to an exemplary embodiment. 
         FIG. 4  is a block diagram of the mobile computing device of  FIG. 1  according to an exemplary embodiment. 
         FIG. 5  is a block diagram showing a memory of the mobile computing device of  FIG. 1  according to an exemplary embodiment. 
         FIG. 6  is a schematic representation of the mobile computing device of  FIG. 1  in communication with a number of advertisement services according to an exemplary embodiment. 
         FIG. 7  is a flowchart illustrating a method of providing advertisement data according to an exemplary embodiment. 
         FIG. 8  is a flowchart illustrating a method of providing advertisement data according to another exemplary embodiment. 
         FIGS. 9-11  are schematic representations of a display of the mobile computing device of  FIG. 1  according to various exemplary embodiments. 
     
    
    
     DETAILED DESCRIPTION 
     Disclosed is a system and method for providing location-based advertisements using a mobile computing device. In some embodiments, the advertisement data is based upon both the location of the mobile computing device and user-specific data stored on or retrievable by the mobile computing device. 
     Referring to  FIGS. 1-3 , a mobile computing device  10  is shown. The teachings herein can be applied to device  10  or to other electronic devices (e.g., a desktop computer), mobile computing devices (e.g., a laptop computer) or handheld computing devices, such as a personal digital assistant (PDA), smartphone, mobile telephone, personal navigation device, etc. According to one embodiment, device  10  is a smartphone, which is a combination mobile telephone and handheld computer having PDA functionality. PDA functionality can comprise one or more of personal information management (e.g., including personal data applications such as email, calendar, phone, text messaging, etc.), database functions, word processing, spreadsheets, voice memo recording, Global Positioning System (GPS) functionality, etc. Device  10  is configured to synchronize personal information from these applications with a computer (e.g., a desktop, laptop, server, etc.). Device  10  is further configured to receive and operate additional applications provided to device  10  after manufacture, e.g., via wired or wireless download, SecureDigital card, etc. 
     As shown in  FIGS. 1-3 , device  10  includes a housing  12  and a front side  14  and a back side  16 . Device  10  further comprises a display  18  and a user input device  20  (e.g., a QWERTY keyboard, buttons, touch screen, speech recognition engine, etc.). Display  18  can comprise a touch screen display in order to provide user input to a processor  40  (see  FIG. 4 ) to control functions, such as to select options displayed on display  18 , enter text input to device  10 , or enter other types of input. Display  18  also provides images (see, e.g.,  FIG. 6 ) that are displayed and may be viewed by users of device  10 . User input device  20  can provide similar inputs as those of touch screen display  18 . Device  10  can further comprise a speaker  26 , and a stylus  30  to assist the user in making selections on display  18 . 
     According to an exemplary embodiment, housing  12  is configured to hold a screen such as display  18  in a fixed relationship above a user input device such as user input device  20  in a substantially parallel or same plane. This fixed relationship excludes a hinged or movable relationship between the screen and the user input device (e.g., a plurality of keys) in the fixed embodiment. Device  10  may be a handheld computer, which is a computer small enough to be carried in a hand of a user, comprising such devices as typical mobile telephones and personal digital assistants, but excluding typical laptop computers and tablet PCs. 
     In various embodiments, housing  12  could be any size, shape, and dimension. In some embodiments, housing  12  has a width  13  of no more than about 200 mm or, alternatively, no more than about 100 mm. According to some of these embodiments, housing  12  has a width  13  of no more than about 85 mm or, alternatively, no more than about 65 mm. According to some embodiments, housing  12  has a width  13  of at least about 30 mm or, alternatively, at least about 50 mm. According to some of these embodiments, housing  12  has a width  13  of at least about 55 mm. 
     In some embodiments, housing  12  has a length  15  of no more than about 200 mm or, alternatively, no more than about 150 mm. According to some of these embodiments, housing  12  has a length  15  of no more than about 135 mm or, alternatively, no more than about 125 mm. According to some embodiments, housing  12  has a length  15  of at least about 70 mm or, alternatively, at least about 100 mm. According to some of these embodiments, housing  12  has a length  15  of at least about 100 mm. 
     In some embodiments, housing  12  has a thickness  17  of no more than about 150 mm or, alternatively, no more than about SO mm. According to some of these embodiments, housing  12  has a thickness  17  of no more than about 30 mm or, alternatively, no more than about 25 mm. According to some embodiments, housing  12  has a thickness  17  of at least about 10 mm or, alternatively, at least about 15 mm. According to some of these embodiments, housing  12  has a thickness  17  of at least about 50 mm. 
     In some embodiments, housing  12  has a volume of up to about 2500 cubic centimeters or, alternatively, up to about 1500 cubic centimeters. In some alternative embodiments, housing  12  has a volume of up to about 1000 cubic centimeters or, alternatively, up to about 600 cubic centimeters. 
     Referring now to  FIG. 4 , device  10  comprises a processing circuit  46  comprising a processor  40 . Processor  40  can comprise one or more microprocessors, microcontrollers, and other analog and/or digital circuit components configured to perform the functions described herein. Processor  40  may comprise one or more memories (e.g., random access memory, read only memory, flash, etc.) configured to store software applications provided during manufacture or subsequent to manufacture by the user or by a distributor of device  10 . In one embodiment, processor  40  can comprise a first applications microprocessor configured to run a variety of personal information management applications, such as email, a calendar, contacts, etc., and a second, radio processor on a separate chip or as part of a dual-core chip with the application processor. The radio processor is configured to operate telephony functionality. Device  10  can be configured for cellular radio telephone communication, such as Code Division Multiple Access (CDMA), Global System for Mobile Communications (GSM), Third Generation (3G) systems such as Wide-Band CDMA (WCDMA), or other cellular radio telephone technologies. Device  10  can further be configured for data communication functionality, for example, via GSM with General Packet Radio Service (GPRS) systems (GSM/GPRS), CDMA/1×RTT systems, Enhanced Data Rates for Global Evolution (EDGE) systems, Evolution Data Only or Evolution Data Optimized (EV-DO), and/or other data communication technologies. 
     Device  10  comprises a receiver  38  which comprises analog and/or digital electrical components configured to receive and transmit wireless signals via antenna  22  to provide cellular telephone and/or data communications with a fixed wireless access point, such as a cellular telephone tower, in conjunction with a network carrier, such as, Verizon Wireless, Sprint, etc. Device  10  can further comprise circuitry to provide communication over a local area network, such as Ethernet or according to an IEEE 802.11x standard or a personal area network, such as a Bluetooth or infrared communication technology. 
     Device  10  further comprises a microphone  36  (see  FIG. 2 ) configured to receive audio signals, such as voice signals, from a user or other person in the vicinity of device  10 , typically by way of spoken words. Alternatively or in addition, processor  40  can further be configured to provide video conferencing capabilities by displaying on display  18  video from a remote participant to a video conference, by providing a video camera on device  10  for providing images to the remote participant, by providing text messaging, two-way audio streaming in full- and/or half-duplex mode, etc. 
     Device  10  further comprises a location determining application, shown in  FIG. 3  as GPS application  44 . GPS application  44  can communicate with and provide the location of device  10  at any given time. Device  10  may employ one or more location determination techniques including, for example, Global Positioning System (GPS) techniques, Cell Global Identity (CGI) techniques, CGI including timing advance (TA) techniques, Enhanced Forward Link Trilateration (EFLT) techniques, Time Difference of Arrival (TDOA) techniques, Angle of Arrival (AOA) techniques, Advanced Forward Link Trilateration (AFTL) techniques, Observed Time Difference of Arrival (OTDOA), Enhanced Observed Time Difference (EOTD) techniques, Assisted GPS (AGPS) techniques, hybrid techniques (e.g., GPS/CGI, AGPS/CGI, GPS/AFTL or AGPS/AFTL for CDMA networks, GPS/EOTD or AGPS/EOTD for GSM/GPRS networks, GPS/OTDOA or AGPS/OTDOA for UMTS networks), and so forth. 
     Device  10  may be arranged to operate in one or more location determination modes including, for example, a standalone mode, a mobile station (MS) assisted mode, and/or an MS-based mode. In a standalone mode, such as a standalone GPS mode, device  10  may be arranged to autonomously determine its location without real-time network interaction or support. When operating in an MS-assisted mode or an MS-based mode, however, device  10  may be arranged to communicate over a radio access network (e.g., UMTS radio access network) with a location determination entity such as a location proxy server (LPS) and/or a mobile positioning center (MPC). 
     Device  10  further comprises a memory  42  coupled to or as part of processor  40 . Memory  42  may store a variety of information, data, applications, files, etc. that may be used or accessed using device  10 . According to an exemplary embodiment as shown in  FIG. 5 , memory  42  may store user-specific data  48  (e.g., user profile data, user preference data, user-related data, personal information management data, etc.). User-specific data may include a number of different types of data related to a user of device  10 . For example, as shown in  FIG. 5 , user-specific data  48  may include calendar data  50 , contacts data  52 , messaging data  54 , personal preferences or profile data  56 , and other user-specific data  58 . 
     According to an exemplary embodiment, calendar data  50  may include various data related to an electronic calendar application capable of being run on device  10 . For example, calendar data  50  may include data regarding various appointments such as location data (e.g., an individual&#39;s residence, a commercial establishment, an address or other geographic indicator such as a city, state, etc., a conference room number, and so on), time/date data (e.g., a date and/or time for a specific appointment, data regarding a recurring appointment, etc.), attendee data, and other data related to an appoint or meeting. According to an exemplary embodiment, calendar data  50  may include, for example, a name of an individual or commercial establishment that may be used to determine an associated geographic location (e.g., by looking up the name in a contacts application). According to various other exemplary embodiments, calendar data  50  may include a variety of other types of data, information, and so on. 
     According to an exemplary embodiment, contacts data  52  may include information regarding specific contacts, such as names, addresses, phone numbers, email addresses, fax numbers, and contact-specific notes (e.g., notes about the specific contact such as a birthday, anniversary, etc.). Processor  40  may utilize contacts data  52  to look-up various types of data (e.g., to determine an address when only a name is known, etc.). According to various other exemplary embodiments, contacts data  52  may include a variety of other types of data, information, and so on. 
     According to an exemplary embodiment, messaging data  54  may include information related to a variety of messaging applications including email, text messaging, short message service (SMS), and so on. For example, messaging data may include the content of an email, a text message, etc., email addresses, text messaging addresses, etc., and so on. According to various other exemplary embodiments, messaging data  54  may include a variety of other types of data, information, and so on. 
     According to an exemplary embodiment, personal preference or personal profile data  56  may include data that is specific to a user. Personal preference data  56  may be data that a user may customize by providing input to device  10 . For example, device  10  may permit a user to set up a profile (e.g., by filling out an electronic form, answering a set of predetermined questions, providing key words, etc.) for himself or herself that identifies certain likes, dislikes, etc., such as favorite foods, favorite destinations, favorite sports, and so on (including least favorite preferences). As discussed in more detail below, this data may be accessed by processor  40  to filter advertisement data that is being directed to a user from various advertisement services, such that the relevancy of the advertisement data provided to the user, and therefore the usefulness of the advertisement data to the user, is improved. According to various alternative exemplary embodiments, personal preference data  56  may include a variety of other types of data, information, and so on, in addition to that disclosed herein. Furthermore, processor  40  may permit a user to update, customize, reconfigure, etc. personal preference data  56 . 
     According to an exemplary embodiment, personal preference data  56  may further include parameters that define the number, type, frequency, etc. of the advertisement data that is delivered to device  10 . For example, a user may indicate that they do not wish to receive any advertisement data (e.g., for a certain period of time), or the user may wish to limit the amount of advertisement data received (e.g., 2 ads per hour, 5 ads per day, etc.) or the type of advertisement data received (e.g., a user may indicate that they do not wish to receive pop-up ads or other types of ads). In a further exemplary embodiment, processor  40  may store any undelivered advertisement data that may later be accessed by a user (e.g., processor  40  may store all pop-up ads in a designated file or application that a user may access at their convenience). Other personal preference data  56  may be provided according to various other exemplary embodiments in order to further define and/or restrict the delivery of advertisement data to device  10 . 
     According to various other exemplary embodiments, device  10  may utilize other data  58  as user-specific data  48  in accordance with the various embodiments disclosed herein. It should be understood that the various types of user-specific data  48  described herein are provided for purposes of illustration, and not limitation, and user-specific data  48  may include other data  58  not specifically addressed herein depending on the specific embodiment (e.g., data related to web-sites the user has visited using device  10 , bookmarks or favorites for web-sites, data downloaded from a user&#39;s social networking account on a web-site (e.g., a MySpace or Facebook account), data related to audio and/or video clips (e.g., songs, videos, etc.), to-do lists, memo applications, gaming applications, etc.). The present disclosure is intended to be applicable to all such embodiments. 
     Referring to  FIG. 6 , device  10  is shown in communication with a number of advertisement services  60 ,  62 ,  64  according to an exemplary embodiment. Services  60 ,  62 ,  64  are located remotely from device  10  and are capable of wired and/or wireless communications with device  10 . According to an exemplary embodiment, services  60 ,  62 ,  64  are configured to provide advertisement data to various types of computing devices, including device  10 . Device  10  may communicate with services  60 ,  62 ,  64  while the location of device  10  changes (e.g., while a user of device  10  is walking, driving, traveling, etc.) such that the advertisement data may be provided based on the current location of device  10 . 
     According to various exemplary embodiments, the advertisement data may include a variety of information and be provided in a variety of ways. For example, advertisement data may be provided to a user of device  10  in the form of a visual image provided on display  18 . For example, an icon (see, e.g.,  FIG. 9 ) may be displayed on device  10  and may be selected by a user to provide an enlarged advertisement such as an electronic coupon, etc. (see, e.g.,  FIG. 10 ). Alternatively, rather than providing a visual display, device  10  may provide an audible message (e.g., a recording of an advertisement, etc.). Furthermore, the advertisement data may be provided on display  18  and superimposed over another image, such as the current image the user is viewing, a geographic map indicating the location of the establishment(s) the advertisement data is associated with (see  FIG. 11 ), and so on. According to various other exemplary embodiments, other types of advertisement data may be provided to device  10  (e.g., text, graphics, audio data, video data, etc.). 
     Referring to  FIG. 7 , a flow chart illustrating an exemplary method of providing advertisement data to a device such as device  10  is shown. Device  10  first determines its location using GPS application  44  or another suitable location-determining application (step  70 ). Processor  40  then accesses user-specific data  48  (step  72 ). Accessing user-specific data  48  may include a variety of actions, including accessing any of calendar data  50 , contacts data  52 , messaging data  54 , personal preference data  56 , and/or other user-specific data  58 . Processor  40  communicates with advertisement services  60 ,  62 ,  64  and, based upon the location of device  10  and user-specific data  48 , processor  40  provides advertisement data from one or more of advertisement services  60 ,  62 ,  64  to the user. 
     For example, referring to  FIGS. 7, 9, and 10 , a user may be walking down a street having a variety of restaurants while carrying device  10 . Device  10  is configured to determine its location using GPS application  44  and determine that advertisement services  60 ,  62 ,  64  have advertisements or advertisement data associated with the nearby restaurants. Processor  40  is configured to access user-specific data  48  and filter the advertisement data accordingly. For example, processor  40  may access messaging data  54  and parse the text of recent emails (or text messages, etc.) to determine whether there are key words, etc., that indicate a common theme, such as “sports,” “pizza,” etc., such that these key words may be used to select, for example, the restaurants that the user would most likely prefer (e.g., a sports bar, a pizza restaurant, etc.). Similarly, processor  40  may access personal preference data  56 , which may include information related to a user&#39;s favorite restaurants, etc. Furthermore, processor  40  may access contacts data  52  to, for example, identify any commercial establishments that are in the user&#39;s contacts application, are nearby the user&#39;s current location, and are offering advertisement data. Further yet, processor  40  may retrieve phone numbers of recently placed and/or received calls and, in conjunction with contacts data  52 , determine an address based on the phone number(s). Processor  40  may then determine whether the address(es) represent(s) any commercial establishments that offer advertisement data and are nearby the user. According to various exemplary embodiments, processor  40  may access one or more types of user-specific data  48  to provide a more or less rigorous filtering mechanism for providing advertisement data to device  10 . 
     Referring to  FIG. 9  the advertisement data may be provided as an icon  90  that is selectable by the user of device  10  such that upon selection by a user, a larger image is provided, such as image  96  shown in  FIG. 10 . As shown in  FIGS. 9 and 10 , “Add” and “Remove” buttons  92 ,  94  may be provided (e.g., as “soft buttons” on a display or touch screen) that permit a user to indicate whether to permit future advertisement data from the associated establishment, etc. to be provided on device  10  (e.g., by selecting “Remove,” processor  40  may filter out advertisement data from advertisement services  60 ,  62 ,  64  such that the user does not receive advertisement data from the establishment associated with the current advertisement in the future). The use of buttons  92 ,  94  may further be used by processor  40  to, for example, modify personal preference data  56 . 
     Referring to  FIG. 8 , a flow chart illustrating another exemplary method of providing advertisement data to a device such as device  10  is shown. As shown in  FIG. 8 , processor  40  accesses appointment data stored as a part of, for example, calendar data  50  (e.g., a date, time, and/or location for a future appointment of a user of device  10 ) (step  80 ). According to an exemplary embodiment, processor  40  accesses calendar data  50  without being prompted by a user by identifying the date and time of the appointment (e.g., by identifying any appointments in the next 2 hours, 1 day, next week, etc.) and accessing the data at a predetermined period of time prior to the appointment. According to another exemplary embodiment, a user may select a specific appointment the user wishes processor  40  to act upon (e.g., for planning purposes, etc.). 
     Processor  40  then identifies the location data (e.g., an address, a city, etc.) associated with the appointment (step  82 ). According to an exemplary embodiment, processor  40  may determine the location data for the appointment by parsing the text of a calendar entry (e.g., “Meeting at Joe&#39;s Restaurant”) and referencing contacts data  52  to determine whether there is an address associated with “Joe&#39;s Restaurant” in contacts data  52 . Alternatively, an address may be provided directly in the appointment data, which processor  40  may then use as the location data for the appointment. Further, a user may be prompted for or manually input the location data for an appointment if processor  40  cannot otherwise determine the location data for the appointment. 
     Processor  40  then determines the location of device  10  (step  84 ) using, for example, GPS application  44  or another suitable location-determining application. Alternatively, a user may be prompted for or otherwise manually input an alternative location (e.g., in the case of when the user knows he or she will be at another location in the near future, etc.). 
     Based upon the location data from the appointment and the location of device  10  (or other alternative location provided by the user), processor  40  may then provide advertisement data (step  86 ), for example, along the driving route between the location of the appointment and the current location of device  10  within a predetermined distance of the location of the appointment and/or the current location of device  10 , and so on. 
     For example, referring to  FIGS. 8 and 11 , a user may have an appointment (e.g., a sporting event the user wishes to watch such as a baseball game) at a specific time/date at location  102 . At a predetermined period of time prior to the appointment (e.g., 4 hours), processor  40  accesses the location data of the appointment (e.g., the location of a baseball stadium, etc.). Processor  40  also determines the current location  100  of device  10 . Based upon the current location  100  of device  10  and location  102  of the appointment, processor  40  may then provide advertisement data to device  10  in advance of the appointment based on the current location  100 , appointment location  102 , time of day, or a combination of these or other factors. Furthermore, processor  40  may provide the advertisement data based upon, for example, a driving route  104  between locations  100 ,  102 . As shown in  FIG. 11 , one or more icons  106 ,  108 ,  110  may be displayed that represent advertisements or advertisement data for various establishments (e.g., restaurants, parking ramps, etc.). Upon selecting one of icons  106 ,  108 ,  110 , the user may be provided with a larger image (such as image  96  shown in  FIG. 10 ) that includes additional advertisement data. 
     According to an alternative exemplary embodiment, processor  40  may further take into account user-specific data  48  in conjunction with locations  100 ,  102  in providing the advertisement data to device  10 . For example, processor  40  may filter the types of restaurants on driving route  104  for which advertisement data is provided to device  10 . This provides an additional filtering mechanism and increases the relevancy of the advertisement data delivered to the user of device  10 . According to various other exemplary embodiments, a wide variety of other user-specific data  48  may be taken into account in providing advertisement data to device  10  in accordance with the embodiments shown in  FIGS. 8 and 11 . 
     While the detailed drawings, specific examples and particular formulations given describe exemplary embodiments, they serve the purpose of illustration only. The hardware and software configurations shown and described may differ depending on the chosen performance characteristics and physical characteristics of the computing devices. The systems shown and described are not limited to the precise details and conditions disclosed. Furthermore, other substitutions, modifications, changes, and omissions may be made in the design, operating conditions, and arrangement of the exemplary embodiments without departing from the scope of the invention as expressed in the appended claims.