US20140156414A1 - Systems and methods for providing event-triggered advertising to portable devices - Google Patents

Systems and methods for providing event-triggered advertising to portable devices Download PDF

Info

Publication number
US20140156414A1
US20140156414A1 US13/894,292 US201313894292A US2014156414A1 US 20140156414 A1 US20140156414 A1 US 20140156414A1 US 201313894292 A US201313894292 A US 201313894292A US 2014156414 A1 US2014156414 A1 US 2014156414A1
Authority
US
United States
Prior art keywords
portable device
advertisement
configuration parameters
portable
host system
Prior art date
Legal status (The legal status 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 status listed.)
Abandoned
Application number
US13/894,292
Inventor
Matthew A. Feadler
James Alex Wolfinger
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Iqzone Inc
Original Assignee
Iqzone Inc
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 Iqzone Inc filed Critical Iqzone Inc
Priority to US13/894,292 priority Critical patent/US20140156414A1/en
Assigned to IQZONE, INC. reassignment IQZONE, INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: FEADLER, Matthew Aaron, WOLFINGER, James Alex
Publication of US20140156414A1 publication Critical patent/US20140156414A1/en
Priority to US15/433,959 priority patent/US20170255967A1/en
Assigned to IQZONE, INC. reassignment IQZONE, INC. CORRECTIVE ASSIGNMENT TO CORRECT THE COMPANY NAME FROM IQZONE, INC. TO IQZONE, INC. PREVIOUSLY RECORDED ON REEL 031802 FRAME 0932. ASSIGNOR(S) HEREBY CONFIRMS THE CORRECTION OF THE COMPANY NAME FROM IQZONE, INC. TO IQZONE, INC. Assignors: FEADLER, Matthew Aaron, WOLFINGER, James Alex
Priority to US17/930,019 priority patent/US11663628B2/en
Abandoned legal-status Critical Current

Links

Images

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
    • G06Q30/0241Advertisements
    • G06Q30/0251Targeted advertisements
    • G06Q30/0265Vehicular advertisement
    • G06Q30/0266Vehicular advertisement based on the position of the vehicle
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/34Route searching; Route guidance
    • G01C21/3453Special cost functions, i.e. other than distance or default speed limit of road segments
    • G01C21/3492Special cost functions, i.e. other than distance or default speed limit of road segments employing speed data or traffic data, e.g. real-time or historical
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/34Route searching; Route guidance
    • G01C21/36Input/output arrangements for on-board computers
    • G01C21/3667Display of a road map
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S19/00Satellite radio beacon positioning systems; Determining position, velocity or attitude using signals transmitted by such systems
    • G01S19/38Determining a navigation solution using signals transmitted by a satellite radio beacon positioning system
    • G01S19/39Determining a navigation solution using signals transmitted by a satellite radio beacon positioning system the satellite radio beacon positioning system transmitting time-stamped messages, e.g. GPS [Global Positioning System], GLONASS [Global Orbiting Navigation Satellite System] or GALILEO
    • G01S19/42Determining position
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • G06F3/147Digital output to display device ; Cooperation and interconnection of the display device with other functional units using display panels
    • 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
    • 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
    • G06Q30/0241Advertisements
    • G06Q30/0242Determining effectiveness of advertisements
    • 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
    • G06Q30/0241Advertisements
    • G06Q30/0251Targeted advertisements
    • G06Q30/0267Wireless devices
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09FDISPLAYING; ADVERTISING; SIGNS; LABELS OR NAME-PLATES; SEALS
    • G09F21/00Mobile visual advertising
    • G09F21/04Mobile visual advertising by land vehicles
    • G09F21/049Mobile visual advertising by land vehicles giving information to passengers inside the vehicles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks

Definitions

  • the present disclosure relates generally to distribution of advertising to portable devices based on remotely programmable triggering events at the portable device. More particularly, but not exclusively, the present disclosure relates to systems and methods for detecting triggering events at a portable device and requesting advertisement information if programmable criteria are satisfied.
  • Advertising is by its nature disruptive. Very few people will voluntarily choose to be advertised to. People are typically angered by disruption that is caused by receiving pop-up advertisements and the like. Pop-up advertisements are typically delivered using a push model where a server remote from a user device forces advertising on the user device. Typically, the remote server is not aware of activities that the user is involved with on the user device.
  • Mobile advertising systems have used the push model, whereby some external source sends messages which contain advertising-related information to a handset, and an agent on the handset consumes these messages and renders an advertisement without concern of what the user is doing. For this reason and others, mobile advertising has yet to grow into its full potential.
  • the present disclosure generally relates to systems and methods for facilitating the delivery of advertising information to portable devices and the rendering of advertisements by such portable devices.
  • the disclosure relates to a host system for facilitating delivery of information to a portable device.
  • the host system includes a database, a network interface and a computer server in communication with the network interface and the database.
  • the computer server is configured to send, to a portable device via the network interface, configuration parameters defining at least one trigger event.
  • An advertising application of the portable device is configured to send, upon detection of an occurrence of the at least one trigger event at the portable device, an advertising request message.
  • the advertising application is further configured to receive, via the network interface, an indication generated by the advertising application that an advertisement provided to the portable device by a remote system was displayed on the portable device.
  • the disclosure relates to a portable communication device including a communication module, a processor and a memory.
  • the memory stores instructions for causing the processor to receive, via the communication module, configuration parameters and store the configuration parameters in the memory, the configuration parameters defining one or more trigger events.
  • the instructions further cause the processor to (i) monitor an operating system of the portable device to detect an event signal, the event signal being indicative of occurrence of a first event, (ii) determine the first event corresponds to one of the one or more trigger events, (iii) send, via the communication module, an advertisement request message, and (iv) receive, via the communication module, an advertisement to be rendered by the portable device.
  • FIG. 1 illustrates an example system on which may be implemented various embodiments of methods in accordance with the disclosure
  • FIG. 2 illustrates a device configuration for a portable device on which may be implemented various embodiments of systems and methods in accordance with the disclosure
  • FIG. 3 illustrates a host system configuration on which may be implemented various embodiments of systems and methods in accordance with the disclosure
  • FIG. 4 illustrates an exemplary process for facilitating delivery of information to a portable device in accordance with the disclosure
  • FIGS. 5A and 5B illustrate an exemplary process for requesting delivery of information to a portable device in accordance with the disclosure
  • the disclosed mode of mobile advertising may be accomplished by the presence of an intelligent background agent.
  • an intelligent background agent could comprise a persistent system service which monitors the system for arbitrarily defined triggering events, and takes appropriate action to communicate with advertising providers.
  • the background agent can be configured locally by default configuration parameters and/or remotely by the host system. This may be characterized as a pull advertising model where the mobile device requests the host system for content, as opposed to a push model where the host system forces content on the mobile device.
  • a host processing system (also denoted herein as a “host system” for brevity) includes one or more servers (also denoted herein as “host servers” configured to provide access to advertisement information from a myriad of sources, including brick and mortar retailers and wholesalers, online retail website or advertising services, and, in some embodiments, store this information in one or more databases in or association with the host processing system.
  • the host system may also be configured to interact with the users' portable devices to facilitate transfer of advertisements in a more pleasing fashion.
  • the host processing system may be configured to allow the host system or source to configure when information is displayed on a portable device.
  • Portable or mobile devices may be configured in conjunction with a client application to facilitate the display of media content, such as by displaying an advertisement for a device action such as terminating a call.
  • a user is provided with an application program (also denoted herein as a “client application”) that may be installed on the user's portable device to facilitate downloading of media content (e.g., advertisements).
  • the client application can be programmable with various configuration parameters.
  • the configuration parameters can be used to determine which events can cause the client application to request an advertisement for display, how frequently advertisements can be displayed, which activities being performed after the event but prior to display of an advertisement can prevent display of the advertisement, etc.
  • a user may be in the middle of a voice call while the client application is monitoring the operating system.
  • the operating system produces an event signal indicating the call termination event and this signal is detected by the client application.
  • the client application sends an advertisement request message to a remote system (e.g., an advertisement source system or the host system).
  • the host system in response to receiving the request message, retrieves a current advertisement from the database and communicates the advertisement to the client application on the portable device.
  • the client application then causes the operating system to display the advertisement on a display of the portable device.
  • FIG. 1 illustrates a system 100 on which may be implemented embodiments of the present disclosure.
  • content may originate from sources such as an ABC Manufacturing server 160 - 1 (i.e., a brick and mortar enterprise), an online retailer server 160 - 2 (i.e., a server associated with a website) or an advertising service server 160 - 3 , or any of many other sites that contain advertisement information, public service announcements and/or other timely information.
  • sources such as an ABC Manufacturing server 160 - 1 (i.e., a brick and mortar enterprise), an online retailer server 160 - 2 (i.e., a server associated with a website) or an advertising service server 160 - 3 , or any of many other sites that contain advertisement information, public service announcements and/or other timely information.
  • sources of advertising content are available and other means, in addition to the Internet and Cellular/Telephony networks, may be employed to provide such content. Accordingly, the above list of advertising content sources is only intended to be representative, not limiting.
  • System 100 includes one or more portable or mobile devices 110 (also denoted herein for brevity as “devices 110 ”) such as cellular phones, PDAs, Wi-Fi (802.11) devices or other portable devices. It is further noted that, in some embodiments, the device need not necessarily be portable and the functionality herein may be implemented on more stationary devices such as desktop or notebook computers or other types of fixed devices. In addition, portable devices as described herein may include other types of devices that are mobile but not necessarily portable.
  • portable or mobile devices 110 such as cellular phones, PDAs, Wi-Fi (802.11) devices or other portable devices.
  • the device need not necessarily be portable and the functionality herein may be implemented on more stationary devices such as desktop or notebook computers or other types of fixed devices.
  • portable devices as described herein may include other types of devices that are mobile but not necessarily portable.
  • system 100 may include one or more computers 120 such as desktop computers, portable or notebook computers or other devices or systems incorporating computer functionality along with wired or wireless network connectivity.
  • computers 120 such as desktop computers, portable or notebook computers or other devices or systems incorporating computer functionality along with wired or wireless network connectivity.
  • embodiments of the present disclosure may be implemented on various types of embedded devices or Internet appliance devices or similar types of devices.
  • System 100 further includes a host processing system 140 (also denoted herein as “host system 140 ”) comprising one or more servers as well as other associated computer and data processing hardware (not shown in FIG. 1 ) such as networking equipment, displays, monitors, I/O devices or other computer or data communication systems, hardware and/or software.
  • host system 140 may be provided by or operated by an associated host services company or host services supplier.
  • host system 140 includes one or more servers that include one or more databases 390 (as shown in FIG. 3 ) either internal or external to the servers 370 . These databases may be used to store advertisements and data such as is further described below. Host system 140 may also include one or more operating systems 362 associated with the servers, as well as one or more application programs to implement the various host service functionality as is described further herein. Host system 140 may be implemented at a centralized physical location such as a network connected server farm or other similar facility and/or may comprise a plurality of distributed servers connected by any of a variety of networking connections at different physical locations.
  • Devices 110 and computers 120 are typically configured to connect to each other and/or to host system 140 through network 130 as shown in FIG. 1 .
  • Network 130 may include wired or wireless networking elements such as Ethernet, LAN technologies, telephony networks such as POTS phone networks, cellular networks, data networks, or other telephony networks as well as Wi-Fi or Wi-Max networks, other wired or wireless Internet network connections and/or other networks as are known or developed in the art. These connections may be facilitated by one or more client applications 264 (as shown in FIG.
  • host system 140 is further configured to provide a network connection through the Internet 150 to one or more advertisement source sites 160 , such as the brick and mortar enterprise server 160 - 1 , the online retailer server 160 - 2 , the advertising service server 160 - 3 or similar sources. These connections may be facilitated by one or more application programs 364 running on host system 140 .
  • a “pull” method is used to deliver advertisements to the devices 110 or 120 .
  • the devices 110 and 120 can request an advertisement from one or more advertisement source sites 160 , such as the brick and mortar enterprise server 160 - 1 , the online retailer server 160 - 2 , the advertising service server 160 - 3 or similar sources.
  • the network 130 is coupled to the Internet 150 such that the requests can be routed from the devices 110 and 120 to the advertisement source sites 160 .
  • an advertisement is requested by devices 110 or 120 from the host system 140 .
  • the advertisements can be requested after a trigger event has been detected.
  • an advertisement is then pulled from either one of the advertisement sources 160 or the host system 140 , as determined by configuration parameters as described herein (as used herein, “advertisement source system” refers to either the host system 140 or one of the advertisement sources 160 ).
  • the client application 264 will create an advertisement request message, which is then sent to an advertisement source.
  • the request message may contain a user identifier, an indication of the type of event, an indication of the type of device, etc.
  • the advertisement source system retrieves a suitable advertisement from one of several databases.
  • the advertisement source system then sends the selected advertisement to the device 110 or 120 via the network 130 .
  • the client application determines if it is still a proper time (as determined by several factors discussed below) to display the advertisement. If it is still a proper time, the client application 264 causes the device 110 or 120 to display the advertisement. The client application 264 may send another message to the advertisement source system indicating whether or not the advertisement was displayed.
  • the user may be provided with a client application or applications 264 , as shown in FIG. 2 (also denoted herein as a “client” for purposes of brevity) that may be installed on the user's device 110 .
  • client application 264 may be provided with a download of the client application 264 from a host system 140 or affiliated web site.
  • the client application 264 may be installed on a ROM (read only memory) 230 at a factory, thereby negating the need for the user to download the client 264 .
  • the user may be supplied with the client application 264 on a computer media such as a CD or DVD, a thumb drive, or via other media known or developed in the art.
  • the user may then access the host system 140 and associated host service and advertising source systems to implement the functionality described herein.
  • the client application 264 is configured to determine when operating system 262 performs one of the trigger events and then transfers an advertising request message to the advertising source system and receives an advertisement.
  • the client application 264 is a game application, a video application or any other type of application that the user would use on the mobile device 110 and the functionality described herein is integrated into the application.
  • the client application 264 may be utilized by third party application developers and/or advertising services using what is known in the art as a software development kit or SDK.
  • a library of functions of the SDK could be stored in a data module 268 to provide the pull advertising functionality of the client application 264 to a third party applications so as to perform the methods discussed herein.
  • an application such as a game that utilizes the client application 264 of the SDK could be installed on the device 110 and the client application 264 would automatically be installed as a separate entity if the client application 264 were not already installed. There could be multiple applications on the device 110 that use the client application 264 .
  • the new application upon installation of a new application that utilizes the client application 264 , the new application registers with the client application 264 . Registration can include the new application providing a unique identifier to the client application 264 such that the client application 264 knows what type of application the new application is. Upon installation of the new application, the client application 264 informs the host system 140 that the new application is installed on the device 110 and is registered with the client application 264 .
  • FIG. 2 illustrates additional details of a typical configuration of a portable device 110 with example device elements that may be used to implement embodiments of the systems and methods in accordance with the disclosure.
  • device 110 may include one or more processors (CPUs) 210 , which are typically one or more specialized or dedicated portable device microprocessors or microcontrollers, an input/output device module 220 configured to allow users to input and output information and interact with applications installed on the device 110 , such as the client application 264 , as well as transfer and receive advertising data, one or more read only memory (ROM) devices 230 or equivalents to provide non-volatile storage of data and/or application or operating system programs, one or more display modules 250 , such as an LCD or equivalent display device, as well as one or more memory spaces 260 .
  • Other modules, such as optional GPS module 225 for providing position or location information may also be included.
  • Memory space 260 may comprise DRAM, SRAM, FLASH, hard disk drives or other memory storage devices configured to store and access operating systems 262 , client application programs 264 and/or data 268 .
  • Data 268 may include information such as advertisements received from an advertising source system. The advertisements may be in the form of images/photos, videos, music content, or other types of data.
  • memory space 260 may include one or more client applications 264 stored in the memory space 260 for execution on the CPU 210 to perform the various client-side functionality described herein, including displaying and storing advertisements, or other data or information, as well as interacting with host system 140 and advertising sources 160 .
  • FIG. 3 illustrates additional details of one example of a host system 140 with example device elements that may be used to implement embodiments of the present disclosure.
  • host system 140 may include one or more processors (CPUs) 310 , an input/output device module 320 configured to allow users to input and output information and interact with the host system 140 as well as transfer and receive data, one or more read only memory (ROM) devices 330 or equivalents to provide non-volatile storage of data and/or programs, one or more display modules 350 such as a computer monitor or other display device, one more network connections 340 and associated network interfaces 342 configured to allow host system 140 to connect to other systems, servers and/or portable devices, including other elements of system 140 in embodiments where the servers or other components are distributed at other physical locations, as well as one or more memory spaces 360 and one or more databases 390 .
  • processors CPUs
  • ROM read only memory
  • display modules 350 such as a computer monitor or other display device
  • network connections 340 and associated network interfaces 342 configured to allow host system 140 to
  • Database(s) 390 may be further divided or distributed as one or more sub-databases 390 a - 390 n , with the sub-databases storing feature or function specific information associated with a particular feature or function.
  • the various components shown in FIG. 3 may be incorporated in one or more physical servers 370 comprising part of host system 140 . It is noted that the various components shown in FIG. 3 , including database 390 , are typically included as part of server(s) 370 , however, they may be external to server(s) 370 in some embodiments. For example, in some embodiments database(s) 390 may be external to server(s) 370 and may comprise part of a separate database server system or networked database system.
  • Memory space 360 may comprise DRAM, SRAM, FLASH, hard disk drives or other memory storage devices, such as media drives 380 , configured to store operating systems, application programs and/or data, and memory space 360 may be shared with, distributed with or overlap with the memory storage capacity of database 390 .
  • memory space 360 may include database 390 or in some embodiments database 390 may include data 368 as shown in memory space 360 .
  • Data stored in memory space 360 and/or database 390 may include information such as advertising source system information, advertisements, images/photos, videos, music content, or other types of data.
  • memory space 360 may include a host system application or applications 364 stored in the memory space for execution on CPU 310 to perform the various host-side functionality described herein.
  • FIG. 4 illustrates an exemplary process 400 for facilitating delivery of information to a portable device in accordance with the disclosure.
  • the process 400 can involve the host system 140 and one or more advertising sources 160 communicating with the portable device 110 via one or more wired and/or wireless communication channels.
  • the host system 140 communicates an advertising application, such as the client application 264 of FIG. 2 , to the portable device 110 .
  • the client application 264 could be previously stored in a memory of the portable device 110 and stage 410 could be omitted from the process 400 .
  • the host system 140 communicates configuration parameters to the portable device 110 .
  • the configuration parameters can be communicated to the portable device 110 in response to receiving a configuration update request from the portable device 110 .
  • Such an update request can be made upon first receiving a registration message from the client application 264 with the host system 140 at stage 418 , for example.
  • an update request could be received periodically from the portable device 110 in order to change, for example, which trigger events result in an advertisement being requested by the portable device 110 , which advertising source systems to utilize for advertisements and how frequently advertisements can be displayed.
  • the host system 140 receives a registration message from the client application 264 installed on the portable device 110 .
  • the registration message can include information which describes the capabilities and other data, in conjunction with the portable device 110 and/or the client application 264 .
  • one of the portable device 110 capabilities may include display capabilities (number of pixels, video graphics capability, audio capability, etc.), which applications are utilizing the client application 264 .
  • the client application 264 may also tell the host system 140 which event triggers the operating system 262 is capable of reporting to the client application. For instance, trigger events reported by the operating system 262 may include voice call initiation and termination, text message initiation and termination, pausing of a video game application, termination of any type of interactive application, etc.
  • the client 264 may specify picture sizes and formats it wants to receive from the host system 140 , such as sizes and formats based on the capabilities of the device 110 and/or based on other parameters such as memory capacity, download connection capacity or costs, or other parameters.
  • the host system 140 receives this information from the client 264 , and, in response, in embodiments where the host system delivers advertisements, the host system 140 formats the advertising data specifically for each client based on the client's request and portable device 110 capabilities.
  • the advertising source system receives an advertisement request message from the client application 264 running on the portable device 110 .
  • the advertisement request message may be in response to any of the trigger events that the operating system 262 reports to the client application 264 .
  • the client application 264 can be programmed by the host system 140 via the configuration parameters communicated at stage 414 .
  • the advertising request message can include an identifier of the portable device 110 and/or an identity of a user of the portable device 110 .
  • the advertising request message can also include an indication of the trigger event that resulted in the request message being communicated.
  • the advertising source system determines, at decision block 426 , if there are any suitable advertisements to be communicated to the portable device 110 . Suitability of the advertisements may be determined based on an identity of the user, a time of day, a geographic location of the portable device, demographics of the user, etc. If no suitable advertisement is identified at the decision block 426 , the process 400 returns to stage 422 to receive another advertisement request message.
  • the process 400 continues to stage 430 where the advertising source system selects one of the suitable advertisements and communicates the selected advertisement via the network interface 342 to the portable device 110 to be displayed by the client application 264 .
  • the advertisement can be configured based on properties of the portable device 110 such as, for example, display size, video graphics capability, audio capability, etc.
  • the host system 140 receives an indication, from the portable device 110 via the network interface, of whether or not the advertisement was displayed on the portable device 110 .
  • the user of the portable device may initiate a new activity prior to the advertisement being communicated to the portable device 110 .
  • the client application 264 may determine that it is not a suitable time to display the advertisement because, for example, the advertisement may be a nuisance to the user performing the new activity. For example, if the user initiates another voice call immediately after terminating one call, this may be determined, based on the configuration parameters, to not be a proper time to display an advertisement.
  • the indication received at stage 434 may indicate which advertisement was displayed, which portable device it was displayed on and any user click-throughs or other interaction with the advertisement.
  • the host system 140 stores an indication in the database 390 of the advertisement that was displayed.
  • the host system 140 may also store information indicative of user interaction with the advertisement as well as an identity of the user or an identifier of the portable device.
  • the process 400 is exemplary only and not limiting.
  • the process 400 can be altered, e.g., by having stages added, removed or rearranged. Still other alterations to the process 400 as shown and described are possible.
  • FIGS. 5A and 5B illustrate an exemplary process 500 for requesting delivery of information to the portable device 110 in accordance with the disclosure.
  • a user After a user has installed the client application 264 on the portable device 110 , they can receive advertisement information in a number of ways. Examples are further described below.
  • the process 500 will be described in reference to the portable device 110 (e.g., using the processor 210 ) and the host system 140 , but other devices, portable and non-portable, for example, can be used.
  • the portable device 110 receives the client application 264 and stores the client application 264 in the memory 260 .
  • the client application 264 can be received over a wireless or wired connection via a communications module herein depicted by cellular/network connections 240 .
  • a user could download the application from an online applications website, or from one or more third parties that provide applications.
  • the client application can be received in a factory at the time of manufacture/provisioning of the portable device 110 prior to purchase by the user.
  • stage 514 an installation process is triggered, during which the client application 264 is installed and registers itself as a system service with the operating system 262 of the portable device 110 .
  • a system service is a term of art describing an application that, upon being registered, can run persistently in the background and monitor the operating system 262 for information regarding other events occurring such as the triggering events associated with receiving advertisements. The capabilities of a system service depend on the operating system 262 .
  • the client application 264 registers with the operating system 262 as a listener for events of interest associated with user interactions with the portable device 110 .
  • the events of interest include triggering events indicative of a non-disruptive moment suitable for display of an advertisement (e.g., termination of call, completion of outbound SMS, termination of specific application, etc.).
  • the operating system 262 may provide a signal indicating that an application identified by a unique identifier has terminated.
  • the client application 264 uses the registration information to identify exactly which application has terminated. In this way, the advertisements could be targeted to exactly which application has terminated, or paused, etc.
  • the user of the portable device 110 may be queried for permission to allow the client application 264 to register as a listener for the events of interest.
  • the permission could be an all or nothing permission where the user is asked once for permission for an application to be a listener and no further permission is needed.
  • the query for permission could be done periodically.
  • the installation of the client application 264 can be triggered by a user initiating the installation by actuating one of the input devices 220 on the portable device.
  • the process 500 continues to stage 518 where the client application 264 determines the update status of the configuration parameters controlling the operation of the client application 264 .
  • the configuration parameters may be set to default parameter and may not need updating at first. Alternatively, the configuration parameters may not be set at all and may be in need of immediate updating.
  • Configuration parameters can be stored with a date or version number in order for the client application 264 to be able to determine the update status based on a date or version number provided by the host system 140 , for example.
  • the client application determines if the configuration parameters are current. If the client application 264 has just been installed and the configuration parameters have been set to default values, it may determine at decision block 522 that the configuration parameters are current and not in need of updating. If the client application 264 has been installed with no default configuration parameters, it is determined at decision block 522 that the configuration parameters are not current. In addition, the client application 264 may be configured to update the configuration parameters periodically and it may be determined at decision block 522 that the configuration parameters are not current based on a timer or a version number.
  • the process 500 continues to stage 530 . If it is determined that the configuration parameters are not current, the process 500 continues to stage 526 where the client application 264 communicates a request for updated configuration parameters to the operating system 262 which then communicates the request to the host system 140 via one of the network connections 240 . In response to the request, the host system 140 sends updated configuration parameters to the portable device 110 which are received by the client application 264 and stored in the memory 260 .
  • the configuration parameters that are received at stage 526 define one or more events that can trigger the client application 264 to request an advertisement from the host system 140 .
  • the configuration parameters can define events that should not be interrupted by displaying an advertisement.
  • the configuration parameters can also be designed to define the frequency that the client application 264 wakes up to perform monitoring of the operating system 262 in order to preserve battery life. Depending on the type of portable device, the configuration parameters could be based on the type of radio connection and further tune the sleep mode/wakeup frequency.
  • the configuration parameters can also include steps used by the client application 264 to remain running at all times, at least in a sleep mode, and steps to enable the client application 264 to restart itself when terminated. Configuration parameters can be customized according to device manufacturer/model, wireless carrier, geographical location, etc. Trigger events defined by the configuration parameters could depend on other equipment connected to the portable device 110 . For example, the trigger events could be associated with whether there is a keyboard available or whether there is a Bluetooth headset.
  • configuration parameters received at stage 526 can define which advertising source systems the client application should request advertisements from.
  • the configuration parameters could define different advertising source systems depending on, for example, which application the event is associated with, what type of event occurred, the time of day, location, etc.
  • the client application 264 communicates a registration message to the operating system 262 to be communicated to the host system 140 via one of the network connections 240 .
  • the registration message informs the host system 140 that the user has registered the portable device 110 and/or one or more applications to receive advertisements.
  • the registration message can include a phone number of the portable device 110 , an identity of the user, demographics of the user, the type of portable device, the capabilities of the portable device (e.g., types of radio connections, graphics capability, audio capability, etc.), the type of application utilizing the client application and other information that could be used by the host system 140 to fine tune the delivery/targeting of advertisements to the user and the portable device 110 .
  • the client application 264 upon being activated and registered, begins monitoring the operating system 262 for event signals indicating the occurrences of triggering events that can signal an opportunity to request and display an advertisement.
  • the triggering events can be a termination of a user interaction with the portable device such that the user is not disturbed by an advertisement being displayed.
  • Such triggering events can include call termination, text message termination, application termination or pause, or any other event that signals that the user has completed some form of interaction with the portable device 110 .
  • the client application 264 Upon receiving the event signal, the client application 264 reads the event signal to determine what event is indicated to have occurred and queries for the current configuration parameters to determine if conditions are suitable for requesting and displaying an advertisement.
  • a trigger event could include non-terminating events such as a lock screen event or a display screen going dark.
  • the client application 264 can be configured such that advertisements that are requested to be displayed during a lock screen or a dark screen even can be persistent and be displayed after the user actuates an input device to unlock or undarken the display screen.
  • the process 500 continues to decision block 538 where the client application 264 determines if the indicated event is a trigger event, based on the current configuration parameters. If it is determined at decision block 538 that the indicated event is not a trigger event, the process 500 returns to stage 534 where the client application 264 continues to monitor the operating system 262 for event signals. If it is determined at decision block 538 that the indicated event is a trigger event, based on the current configuration parameters, the process continues to stage 542 .
  • the client application 264 communicates an advertisement request message to the operating system 262 to be communicated to an advertising source system, as determined by the configuration parameters, via one of the network connections 240 .
  • the advertisement request message can include the trigger event, the identifier of the portable device, the identity of the user, an identifier of the application associated with the event etc.
  • the portable device 110 receives an advertisement selected by the advertising source system. The selected advertisement is received via one of the network connections 240 .
  • the advertisement can be received by leveraging webservices over a data (IP) network using HTTP/S encapsulation of SOAP (Simple Object Access Protocol) envelopes containing custom XML payloads optimized for brevity, or via any other available network transport and data description protocols.
  • SOAP is a protocol for exchanging structured information in the implementation of web services.
  • the client application 264 avoids querying the host system 140 for new configuration parameters in order to reduce the amount of network transit, and therefore time required for an advertisement to be displayed. This also reduces the amount of time that the radio is used, thereby saving power because the radio typically uses the most power in the portable device 110 .
  • the client application 264 determines, at decision block 550 , whether the selected advertisement is suitable for display based on the current configuration parameters.
  • Reasons for an advertisement being unsuitable for display at the time the advertisement is received can include, for example, when the trigger event is closely followed by another event that is determined to be inappropriate to interrupt with an advertisement (e.g., a termination of a text message or call closely following an initiation of another text message or call), a threshold number or count of advertisements having been displayed within a threshold time period being exceeded, a threshold time period has not elapsed since the last advertisement was displayed, a battery power level on the portable device 110 registers below a threshold value, etc.
  • no advertisement were available from the advertising source system, there would also be no suitable advertisement for display.
  • the user could define types of advertisements that should be blocked as being unsuitable. For example, a user could choose to block advertisements for dating websites, alcohol, or other classes of advertisements. These blocked classes of advertisements could be input by the user at stage 518 in the form of configuration parameters.
  • the process can return to stage 534 to monitor for more trigger events indicated by event signals or, alternatively, return to stage 542 to request another advertisement.
  • the client application 264 causes the selected advertisement to be rendered on a display of the portable device 110 at stage 554 .
  • the client application 264 increments one or more advertisement counters, and in some embodiments stores a time the advertisement was rendered, in order to limit the frequency that future advertisements are displayed. Multiple counters can be used in order to limit the number of advertisements displayed during different time periods such, for example, a number per hour, a number per day, a number per week, etc.
  • the client application 264 causes the operating system 262 to communicate an indication that the selected advertisement was displayed to the host system 140 and/or the advertising source system via one of the network connections 240 .
  • the process 500 repeats to perform the functions of the various stages as discussed above.
  • the process 500 is exemplary only and not limiting.
  • the process 500 can be altered, e.g., by having stages added, removed or rearranged. Still other alterations to the process 500 as shown and described are possible.
  • the present disclosure may relate to processes such as are described or illustrated herein and/or in the related applications. These processes may be implemented on the host system 140 on one or more host system servers 370 by one or more host system application 364 , as well as one or more portable devices 110 by one or more client applications 264 . These processes are typically implemented in one or more modules comprising systems as described herein and/or in the related applications, and such modules may include computer software stored on a computer readable medium including instructions configured to be executed by one or more processors. It is further noted that, while the processes described and illustrated herein and/or in the related applications may include particular stages, it is apparent that other processes including fewer, more, or different stages than those described and shown are also within the spirit and scope of the present disclosure. Accordingly, the processes shown herein and in the related applications are provided for purposes of illustration, not limitation.
  • some embodiments of the present disclosure may include computer software and/or computer hardware/software combinations configured to implement one or more processes or functions associated with the present disclosure such as those described above and/or in the related applications. These embodiments may be in the form of modules implementing functionality in software and/or hardware software combinations. Embodiments may also take the form of a computer storage product with a computer-readable medium having computer code thereon for performing various computer-implemented operations, such as operations related to functionality as describe herein.
  • the media and computer code may be those specially designed and constructed for the purposes of the present disclosure, or they may be of the kind well known and available to those having skill in the computer software arts, or they may be a combination of both.
  • Examples of computer-readable media within the spirit and scope of the present disclosure include, but are not limited to: magnetic media such as hard disks; optical media such as CD-ROMs, DVDs and holographic devices; magneto-optical media; and hardware devices that are specially configured to store and execute program code, such as programmable microcontrollers, application-specific integrated circuits (“ASICs”), programmable logic devices (“PLDs”) and ROM and RAM devices.
  • Examples of computer code may include machine code, such as produced by a compiler, and files containing higher-level code that are executed by a computer using an interpreter.
  • Computer code may be comprised of one or more modules executing a particular process or processes to provide useful results, and the modules may communicate with one another via means known in the art.
  • some embodiments of the disclosure may be implemented using assembly language, Java, C, C#, C++, or other programming languages and software development tools as are known in the art.
  • Other embodiments of the disclosure may be implemented in hardwired circuitry in place of, or in combination with, machine-executable software instructions.

Abstract

A portable communication device including a communication module, a processor and a memory storing instructions which the cause the processor to receive, via the communication module, configuration parameters and store the configuration parameters in the memory, the configuration parameters defining one or more trigger events. The instructions further cause the processor to monitor an operating system of the portable device to detect an event signal, the event signal being indicative of occurrence of a first event; determine the first event corresponds to one of the one or more trigger events; send, via the communication module, an advertisement request message; and receive, via the communication module, an advertisement to be rendered by the portable device.

Description

    CROSS-REFERENCE TO RELATED APPLICATIONS
  • The present application claims the benefit of U.S. Provisional Application No. 61/646,768, entitled “Systems and Methods for Providing Event-Triggered Advertising to Portable Devices”, filed May 14, 2012 (the “'768 provisional application”), which is incorporated herein by reference in its entirety for all purposes. The present application is related to U.S. patent application Ser. No. 13/748,023, entitled “Systems and Methods for Providing Timely Advertising to Portable Devices”, filed Jan. 23, 2013, which also claims the benefit of the '768 provisional application and which is incorporated herein by reference in its entirety for all purposes.
  • FIELD
  • The present disclosure relates generally to distribution of advertising to portable devices based on remotely programmable triggering events at the portable device. More particularly, but not exclusively, the present disclosure relates to systems and methods for detecting triggering events at a portable device and requesting advertisement information if programmable criteria are satisfied.
  • BACKGROUND
  • Advertising is by its nature disruptive. Very few people will voluntarily choose to be advertised to. People are typically angered by disruption that is caused by receiving pop-up advertisements and the like. Pop-up advertisements are typically delivered using a push model where a server remote from a user device forces advertising on the user device. Typically, the remote server is not aware of activities that the user is involved with on the user device.
  • Mobile advertising systems have used the push model, whereby some external source sends messages which contain advertising-related information to a handset, and an agent on the handset consumes these messages and renders an advertisement without concern of what the user is doing. For this reason and others, mobile advertising has yet to grow into its full potential.
  • SUMMARY
  • The present disclosure generally relates to systems and methods for facilitating the delivery of advertising information to portable devices and the rendering of advertisements by such portable devices.
  • In one aspect the disclosure relates to a host system for facilitating delivery of information to a portable device. The host system includes a database, a network interface and a computer server in communication with the network interface and the database. The computer server is configured to send, to a portable device via the network interface, configuration parameters defining at least one trigger event. An advertising application of the portable device is configured to send, upon detection of an occurrence of the at least one trigger event at the portable device, an advertising request message. The advertising application is further configured to receive, via the network interface, an indication generated by the advertising application that an advertisement provided to the portable device by a remote system was displayed on the portable device.
  • In another aspect the disclosure relates to a portable communication device including a communication module, a processor and a memory. The memory stores instructions for causing the processor to receive, via the communication module, configuration parameters and store the configuration parameters in the memory, the configuration parameters defining one or more trigger events. The instructions further cause the processor to (i) monitor an operating system of the portable device to detect an event signal, the event signal being indicative of occurrence of a first event, (ii) determine the first event corresponds to one of the one or more trigger events, (iii) send, via the communication module, an advertisement request message, and (iv) receive, via the communication module, an advertisement to be rendered by the portable device.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • For a better understanding of the nature and objects of various embodiments disclosed herein, reference should be made to the following detailed description taken in conjunction with the accompanying drawings, wherein:
  • FIG. 1 illustrates an example system on which may be implemented various embodiments of methods in accordance with the disclosure;
  • FIG. 2 illustrates a device configuration for a portable device on which may be implemented various embodiments of systems and methods in accordance with the disclosure;
  • FIG. 3 illustrates a host system configuration on which may be implemented various embodiments of systems and methods in accordance with the disclosure;
  • FIG. 4 illustrates an exemplary process for facilitating delivery of information to a portable device in accordance with the disclosure;
  • FIGS. 5A and 5B illustrate an exemplary process for requesting delivery of information to a portable device in accordance with the disclosure;
  • In the appended figures, similar components and/or features may have the same reference label. Further, various components of the same type may be distinguished by following the reference label by a dash and a second label that distinguishes among the similar components. If only the first reference label is used in the specification, the description is applicable to any one of the similar components having the same first reference label irrespective of the second reference label.
  • DETAILED DESCRIPTION
  • As discussed above, individuals may become angered or annoyed by disruption of activity on computers, smart phones, tablets and the like. It has been found that an inverse relationship exists between the extent of an advertisement's disruptiveness and a user's willingness to engage it. Tests of user responsiveness bear this out. These tests have shown that a host system utilizing mobile advertising technology implementing a mechanism whereby mobile advertisements are rendered on behalf of a given application, but outside that application's runtime context are responded to more favorably than other forms of mobile advertising. Systems and methods in accordance with the disclosure identify triggers that ensure that advertising, including rich media advertisements, are rendered when the user completes an activity or otherwise interacts with the system in a way that leaves a window of non-disruptive time. What these triggers are, with what frequency they are leveraged, and which advertising sources to use for content are preferably fully customizable, often from a centralized, cloud-based mechanism (referred to herein as a host system), thereby allowing real-time modification of these parameters across entire user bases.
  • From the perspective of a client device, the disclosed mode of mobile advertising may be accomplished by the presence of an intelligent background agent. In one embodiment such an agent could comprise a persistent system service which monitors the system for arbitrarily defined triggering events, and takes appropriate action to communicate with advertising providers. The background agent can be configured locally by default configuration parameters and/or remotely by the host system. This may be characterized as a pull advertising model where the mobile device requests the host system for content, as opposed to a push model where the host system forces content on the mobile device.
  • It is believed that a person is psychologically more receptive to receiving unexpected content, including advertising content, if the advertising content is displayed in a non-disruptive manner. This approach has been shown by testing to achieve click-through rates (a standard measure of mobile and internet advertising's effectiveness) significantly higher than the industry standard.
  • In a typical embodiment, a host processing system (also denoted herein as a “host system” for brevity) includes one or more servers (also denoted herein as “host servers” configured to provide access to advertisement information from a myriad of sources, including brick and mortar retailers and wholesalers, online retail website or advertising services, and, in some embodiments, store this information in one or more databases in or association with the host processing system. The host system may also be configured to interact with the users' portable devices to facilitate transfer of advertisements in a more pleasing fashion.
  • In addition, the host processing system may be configured to allow the host system or source to configure when information is displayed on a portable device. Portable or mobile devices may be configured in conjunction with a client application to facilitate the display of media content, such as by displaying an advertisement for a device action such as terminating a call.
  • In an exemplary embodiment, a user is provided with an application program (also denoted herein as a “client application”) that may be installed on the user's portable device to facilitate downloading of media content (e.g., advertisements). The client application can be programmable with various configuration parameters. The configuration parameters can be used to determine which events can cause the client application to request an advertisement for display, how frequently advertisements can be displayed, which activities being performed after the event but prior to display of an advertisement can prevent display of the advertisement, etc.
  • By way of example, a user may be in the middle of a voice call while the client application is monitoring the operating system. When the voice call is ended, the operating system produces an event signal indicating the call termination event and this signal is detected by the client application. Assuming the client application is programmed to request an advertisement after detecting a call termination event, the client application sends an advertisement request message to a remote system (e.g., an advertisement source system or the host system). The host system, in response to receiving the request message, retrieves a current advertisement from the database and communicates the advertisement to the client application on the portable device. The client application then causes the operating system to display the advertisement on a display of the portable device.
  • The systems and methods disclosed herein are applicable to a wide range of applications related to input, display, storage, processing, transmission, delivery, and other aspects of mobile advertising systems. For purposes of explanation, the following description is provided with reference to specific nomenclature and implementation details, typically in the context of a portable device in the form of a cellular or mobile phone; however, it will be apparent to one skilled in the art that specific details described are not required in order to practice the disclosed systems and methods, and that other embodiments in keeping with the spirit and scope of the present disclosure are possible and fully contemplated herein.
  • Content Sources and Content Selection and Provision
  • Attention is now directed to FIG. 1, which illustrates a system 100 on which may be implemented embodiments of the present disclosure. As shown in FIG. 1, content may originate from sources such as an ABC Manufacturing server 160-1 (i.e., a brick and mortar enterprise), an online retailer server 160-2 (i.e., a server associated with a website) or an advertising service server 160-3, or any of many other sites that contain advertisement information, public service announcements and/or other timely information. In addition to those shown in FIG. 1, it will be apparent to one of ordinary skill in the art that other sources of advertising content are available and other means, in addition to the Internet and Cellular/Telephony networks, may be employed to provide such content. Accordingly, the above list of advertising content sources is only intended to be representative, not limiting.
  • Communications Between Devices and Systems
  • System 100 includes one or more portable or mobile devices 110 (also denoted herein for brevity as “devices 110”) such as cellular phones, PDAs, Wi-Fi (802.11) devices or other portable devices. It is further noted that, in some embodiments, the device need not necessarily be portable and the functionality herein may be implemented on more stationary devices such as desktop or notebook computers or other types of fixed devices. In addition, portable devices as described herein may include other types of devices that are mobile but not necessarily portable.
  • In addition to devices 110, system 100 may include one or more computers 120 such as desktop computers, portable or notebook computers or other devices or systems incorporating computer functionality along with wired or wireless network connectivity. For example, embodiments of the present disclosure may be implemented on various types of embedded devices or Internet appliance devices or similar types of devices.
  • System 100 further includes a host processing system 140 (also denoted herein as “host system 140”) comprising one or more servers as well as other associated computer and data processing hardware (not shown in FIG. 1) such as networking equipment, displays, monitors, I/O devices or other computer or data communication systems, hardware and/or software. In an exemplary embodiment, host system 140 may be provided by or operated by an associated host services company or host services supplier.
  • As noted previously, host system 140 includes one or more servers that include one or more databases 390 (as shown in FIG. 3) either internal or external to the servers 370. These databases may be used to store advertisements and data such as is further described below. Host system 140 may also include one or more operating systems 362 associated with the servers, as well as one or more application programs to implement the various host service functionality as is described further herein. Host system 140 may be implemented at a centralized physical location such as a network connected server farm or other similar facility and/or may comprise a plurality of distributed servers connected by any of a variety of networking connections at different physical locations.
  • Devices 110 and computers 120 (also denoted collectively herein as devices 110 and 120 for brevity) are typically configured to connect to each other and/or to host system 140 through network 130 as shown in FIG. 1. Network 130 may include wired or wireless networking elements such as Ethernet, LAN technologies, telephony networks such as POTS phone networks, cellular networks, data networks, or other telephony networks as well as Wi-Fi or Wi-Max networks, other wired or wireless Internet network connections and/or other networks as are known or developed in the art. These connections may be facilitated by one or more client applications 264 (as shown in FIG. 2) running on devices 110 or 120 as well as one or more host system applications 364 running on one or more host system servers 370 included in host system 140, along with one more network interfaces 342 and/or other networking hardware and/or software as is known or developed in the art (not shown).
  • In some embodiments, host system 140 is further configured to provide a network connection through the Internet 150 to one or more advertisement source sites 160, such as the brick and mortar enterprise server 160-1, the online retailer server 160-2, the advertising service server 160-3 or similar sources. These connections may be facilitated by one or more application programs 364 running on host system 140.
  • As discussed above, a “pull” method, as is known in the art, is used to deliver advertisements to the devices 110 or 120. The devices 110 and 120 can request an advertisement from one or more advertisement source sites 160, such as the brick and mortar enterprise server 160-1, the online retailer server 160-2, the advertising service server 160-3 or similar sources. The network 130 is coupled to the Internet 150 such that the requests can be routed from the devices 110 and 120 to the advertisement source sites 160. In some embodiments, an advertisement is requested by devices 110 or 120 from the host system 140. The advertisements can be requested after a trigger event has been detected. An advertisement is then pulled from either one of the advertisement sources 160 or the host system 140, as determined by configuration parameters as described herein (as used herein, “advertisement source system” refers to either the host system 140 or one of the advertisement sources 160). For example, when device 110 is a cell phone, when the cell phone terminates a call or performs some other trigger event, the client application 264 will create an advertisement request message, which is then sent to an advertisement source. The request message may contain a user identifier, an indication of the type of event, an indication of the type of device, etc. The advertisement source system then retrieves a suitable advertisement from one of several databases. The advertisement source system then sends the selected advertisement to the device 110 or 120 via the network 130. The client application determines if it is still a proper time (as determined by several factors discussed below) to display the advertisement. If it is still a proper time, the client application 264 causes the device 110 or 120 to display the advertisement. The client application 264 may send another message to the advertisement source system indicating whether or not the advertisement was displayed.
  • Client Application
  • In one aspect, the user may be provided with a client application or applications 264, as shown in FIG. 2 (also denoted herein as a “client” for purposes of brevity) that may be installed on the user's device 110. For example, the user may be provided with a download of the client application 264 from a host system 140 or affiliated web site. The client application 264 may be installed on a ROM (read only memory) 230 at a factory, thereby negating the need for the user to download the client 264. Alternately, the user may be supplied with the client application 264 on a computer media such as a CD or DVD, a thumb drive, or via other media known or developed in the art. Once the user downloads or otherwise obtains the client application 264 and installs the client application 264 on the user's device 110, the user may then access the host system 140 and associated host service and advertising source systems to implement the functionality described herein. The client application 264 is configured to determine when operating system 262 performs one of the trigger events and then transfers an advertising request message to the advertising source system and receives an advertisement.
  • For example, in some embodiments, the client application 264 is a game application, a video application or any other type of application that the user would use on the mobile device 110 and the functionality described herein is integrated into the application. In other embodiment, the client application 264 may be utilized by third party application developers and/or advertising services using what is known in the art as a software development kit or SDK. A library of functions of the SDK could be stored in a data module 268 to provide the pull advertising functionality of the client application 264 to a third party applications so as to perform the methods discussed herein. When the client application is part of an SDK, an application such as a game that utilizes the client application 264 of the SDK could be installed on the device 110 and the client application 264 would automatically be installed as a separate entity if the client application 264 were not already installed. There could be multiple applications on the device 110 that use the client application 264.
  • In cases where the client application 264 is part of an SDK on the device 110, upon installation of a new application that utilizes the client application 264, the new application registers with the client application 264. Registration can include the new application providing a unique identifier to the client application 264 such that the client application 264 knows what type of application the new application is. Upon installation of the new application, the client application 264 informs the host system 140 that the new application is installed on the device 110 and is registered with the client application 264.
  • FIG. 2 illustrates additional details of a typical configuration of a portable device 110 with example device elements that may be used to implement embodiments of the systems and methods in accordance with the disclosure. As shown in FIG. 2, device 110 may include one or more processors (CPUs) 210, which are typically one or more specialized or dedicated portable device microprocessors or microcontrollers, an input/output device module 220 configured to allow users to input and output information and interact with applications installed on the device 110, such as the client application 264, as well as transfer and receive advertising data, one or more read only memory (ROM) devices 230 or equivalents to provide non-volatile storage of data and/or application or operating system programs, one or more display modules 250, such as an LCD or equivalent display device, as well as one or more memory spaces 260. Other modules, such as optional GPS module 225 for providing position or location information may also be included.
  • Memory space 260 may comprise DRAM, SRAM, FLASH, hard disk drives or other memory storage devices configured to store and access operating systems 262, client application programs 264 and/or data 268. Data 268 may include information such as advertisements received from an advertising source system. The advertisements may be in the form of images/photos, videos, music content, or other types of data. In particular, memory space 260 may include one or more client applications 264 stored in the memory space 260 for execution on the CPU 210 to perform the various client-side functionality described herein, including displaying and storing advertisements, or other data or information, as well as interacting with host system 140 and advertising sources 160.
  • FIG. 3 illustrates additional details of one example of a host system 140 with example device elements that may be used to implement embodiments of the present disclosure. As shown in FIG. 3, host system 140 may include one or more processors (CPUs) 310, an input/output device module 320 configured to allow users to input and output information and interact with the host system 140 as well as transfer and receive data, one or more read only memory (ROM) devices 330 or equivalents to provide non-volatile storage of data and/or programs, one or more display modules 350 such as a computer monitor or other display device, one more network connections 340 and associated network interfaces 342 configured to allow host system 140 to connect to other systems, servers and/or portable devices, including other elements of system 140 in embodiments where the servers or other components are distributed at other physical locations, as well as one or more memory spaces 360 and one or more databases 390. Database(s) 390 may be further divided or distributed as one or more sub-databases 390 a-390 n, with the sub-databases storing feature or function specific information associated with a particular feature or function. The various components shown in FIG. 3 may be incorporated in one or more physical servers 370 comprising part of host system 140. It is noted that the various components shown in FIG. 3, including database 390, are typically included as part of server(s) 370, however, they may be external to server(s) 370 in some embodiments. For example, in some embodiments database(s) 390 may be external to server(s) 370 and may comprise part of a separate database server system or networked database system.
  • Memory space 360 may comprise DRAM, SRAM, FLASH, hard disk drives or other memory storage devices, such as media drives 380, configured to store operating systems, application programs and/or data, and memory space 360 may be shared with, distributed with or overlap with the memory storage capacity of database 390. In some embodiments memory space 360 may include database 390 or in some embodiments database 390 may include data 368 as shown in memory space 360.
  • Data stored in memory space 360 and/or database 390 may include information such as advertising source system information, advertisements, images/photos, videos, music content, or other types of data. In particular, memory space 360 may include a host system application or applications 364 stored in the memory space for execution on CPU 310 to perform the various host-side functionality described herein.
  • Host System Server Transmitting Information to Clients
  • FIG. 4 illustrates an exemplary process 400 for facilitating delivery of information to a portable device in accordance with the disclosure. The process 400 can involve the host system 140 and one or more advertising sources 160 communicating with the portable device 110 via one or more wired and/or wireless communication channels. At stage 410, the host system 140 communicates an advertising application, such as the client application 264 of FIG. 2, to the portable device 110. Alternatively, the client application 264 could be previously stored in a memory of the portable device 110 and stage 410 could be omitted from the process 400.
  • At stage 414, the host system 140 communicates configuration parameters to the portable device 110. The configuration parameters can be communicated to the portable device 110 in response to receiving a configuration update request from the portable device 110. Such an update request can be made upon first receiving a registration message from the client application 264 with the host system 140 at stage 418, for example. In addition, an update request could be received periodically from the portable device 110 in order to change, for example, which trigger events result in an advertisement being requested by the portable device 110, which advertising source systems to utilize for advertisements and how frequently advertisements can be displayed.
  • At stage 418, the host system 140 receives a registration message from the client application 264 installed on the portable device 110. The registration message can include information which describes the capabilities and other data, in conjunction with the portable device 110 and/or the client application 264. For example, one of the portable device 110 capabilities may include display capabilities (number of pixels, video graphics capability, audio capability, etc.), which applications are utilizing the client application 264. The client application 264 may also tell the host system 140 which event triggers the operating system 262 is capable of reporting to the client application. For instance, trigger events reported by the operating system 262 may include voice call initiation and termination, text message initiation and termination, pausing of a video game application, termination of any type of interactive application, etc.
  • Additionally, the client 264 may specify picture sizes and formats it wants to receive from the host system 140, such as sizes and formats based on the capabilities of the device 110 and/or based on other parameters such as memory capacity, download connection capacity or costs, or other parameters. The host system 140 receives this information from the client 264, and, in response, in embodiments where the host system delivers advertisements, the host system 140 formats the advertising data specifically for each client based on the client's request and portable device 110 capabilities.
  • At stage 422, the advertising source system (e.g., either the host system 140 or one of the advertising sources 160 as determined by the configuration parameters) receives an advertisement request message from the client application 264 running on the portable device 110. The advertisement request message may be in response to any of the trigger events that the operating system 262 reports to the client application 264. In addition, the client application 264 can be programmed by the host system 140 via the configuration parameters communicated at stage 414. The advertising request message can include an identifier of the portable device 110 and/or an identity of a user of the portable device 110. The advertising request message can also include an indication of the trigger event that resulted in the request message being communicated.
  • Upon receiving the advertising request message, the advertising source system determines, at decision block 426, if there are any suitable advertisements to be communicated to the portable device 110. Suitability of the advertisements may be determined based on an identity of the user, a time of day, a geographic location of the portable device, demographics of the user, etc. If no suitable advertisement is identified at the decision block 426, the process 400 returns to stage 422 to receive another advertisement request message.
  • If a suitable advertisement is identified at the decision block 426, the process 400 continues to stage 430 where the advertising source system selects one of the suitable advertisements and communicates the selected advertisement via the network interface 342 to the portable device 110 to be displayed by the client application 264. The advertisement can be configured based on properties of the portable device 110 such as, for example, display size, video graphics capability, audio capability, etc.
  • At stage 434, the host system 140 receives an indication, from the portable device 110 via the network interface, of whether or not the advertisement was displayed on the portable device 110. In some cases, the user of the portable device may initiate a new activity prior to the advertisement being communicated to the portable device 110. In these cases, the client application 264 may determine that it is not a suitable time to display the advertisement because, for example, the advertisement may be a nuisance to the user performing the new activity. For example, if the user initiates another voice call immediately after terminating one call, this may be determined, based on the configuration parameters, to not be a proper time to display an advertisement. If an advertisement was displayed, the indication received at stage 434 may indicate which advertisement was displayed, which portable device it was displayed on and any user click-throughs or other interaction with the advertisement.
  • At stage 438, the host system 140 stores an indication in the database 390 of the advertisement that was displayed. In addition, the host system 140 may also store information indicative of user interaction with the advertisement as well as an identity of the user or an identifier of the portable device.
  • The process 400 is exemplary only and not limiting. The process 400 can be altered, e.g., by having stages added, removed or rearranged. Still other alterations to the process 400 as shown and described are possible.
  • Receiving Advertisement Information on the Portable Device
  • FIGS. 5A and 5B illustrate an exemplary process 500 for requesting delivery of information to the portable device 110 in accordance with the disclosure. After a user has installed the client application 264 on the portable device 110, they can receive advertisement information in a number of ways. Examples are further described below. The process 500 will be described in reference to the portable device 110 (e.g., using the processor 210) and the host system 140, but other devices, portable and non-portable, for example, can be used.
  • At stage 510, the portable device 110 receives the client application 264 and stores the client application 264 in the memory 260. The client application 264 can be received over a wireless or wired connection via a communications module herein depicted by cellular/network connections 240. For example, a user could download the application from an online applications website, or from one or more third parties that provide applications. Alternatively, the client application can be received in a factory at the time of manufacture/provisioning of the portable device 110 prior to purchase by the user.
  • Upon completion of the download process, the process 500 continues to stage 514, where an installation process is triggered, during which the client application 264 is installed and registers itself as a system service with the operating system 262 of the portable device 110. A system service is a term of art describing an application that, upon being registered, can run persistently in the background and monitor the operating system 262 for information regarding other events occurring such as the triggering events associated with receiving advertisements. The capabilities of a system service depend on the operating system 262.
  • In some embodiments, the client application 264 registers with the operating system 262 as a listener for events of interest associated with user interactions with the portable device 110. The events of interest include triggering events indicative of a non-disruptive moment suitable for display of an advertisement (e.g., termination of call, completion of outbound SMS, termination of specific application, etc.). As an example, the operating system 262 may provide a signal indicating that an application identified by a unique identifier has terminated. In cases where applications on the portable device 110 register with the client application 264, the client application 264 uses the registration information to identify exactly which application has terminated. In this way, the advertisements could be targeted to exactly which application has terminated, or paused, etc. In some embodiments, the user of the portable device 110 may be queried for permission to allow the client application 264 to register as a listener for the events of interest. The permission could be an all or nothing permission where the user is asked once for permission for an application to be a listener and no further permission is needed. Alternatively, the query for permission could be done periodically.
  • The installation of the client application 264 can be triggered by a user initiating the installation by actuating one of the input devices 220 on the portable device. Upon installation and/or activation of the client application, the process 500 continues to stage 518 where the client application 264 determines the update status of the configuration parameters controlling the operation of the client application 264. Upon initial installation and/or activation of the client application, the configuration parameters may be set to default parameter and may not need updating at first. Alternatively, the configuration parameters may not be set at all and may be in need of immediate updating. Configuration parameters can be stored with a date or version number in order for the client application 264 to be able to determine the update status based on a date or version number provided by the host system 140, for example.
  • At decision block 522, the client application determines if the configuration parameters are current. If the client application 264 has just been installed and the configuration parameters have been set to default values, it may determine at decision block 522 that the configuration parameters are current and not in need of updating. If the client application 264 has been installed with no default configuration parameters, it is determined at decision block 522 that the configuration parameters are not current. In addition, the client application 264 may be configured to update the configuration parameters periodically and it may be determined at decision block 522 that the configuration parameters are not current based on a timer or a version number.
  • If it is determined at decision block 522 that the configuration parameters are current, the process 500 continues to stage 530. If it is determined that the configuration parameters are not current, the process 500 continues to stage 526 where the client application 264 communicates a request for updated configuration parameters to the operating system 262 which then communicates the request to the host system 140 via one of the network connections 240. In response to the request, the host system 140 sends updated configuration parameters to the portable device 110 which are received by the client application 264 and stored in the memory 260.
  • The configuration parameters that are received at stage 526 define one or more events that can trigger the client application 264 to request an advertisement from the host system 140. In addition, the configuration parameters can define events that should not be interrupted by displaying an advertisement. The configuration parameters can also be designed to define the frequency that the client application 264 wakes up to perform monitoring of the operating system 262 in order to preserve battery life. Depending on the type of portable device, the configuration parameters could be based on the type of radio connection and further tune the sleep mode/wakeup frequency. The configuration parameters can also include steps used by the client application 264 to remain running at all times, at least in a sleep mode, and steps to enable the client application 264 to restart itself when terminated. Configuration parameters can be customized according to device manufacturer/model, wireless carrier, geographical location, etc. Trigger events defined by the configuration parameters could depend on other equipment connected to the portable device 110. For example, the trigger events could be associated with whether there is a keyboard available or whether there is a Bluetooth headset.
  • In addition, configuration parameters received at stage 526 can define which advertising source systems the client application should request advertisements from. The configuration parameters could define different advertising source systems depending on, for example, which application the event is associated with, what type of event occurred, the time of day, location, etc.
  • At stage 530, the client application 264 communicates a registration message to the operating system 262 to be communicated to the host system 140 via one of the network connections 240. The registration message informs the host system 140 that the user has registered the portable device 110 and/or one or more applications to receive advertisements. The registration message can include a phone number of the portable device 110, an identity of the user, demographics of the user, the type of portable device, the capabilities of the portable device (e.g., types of radio connections, graphics capability, audio capability, etc.), the type of application utilizing the client application and other information that could be used by the host system 140 to fine tune the delivery/targeting of advertisements to the user and the portable device 110.
  • At stage 534, upon being activated and registered, the client application 264 begins monitoring the operating system 262 for event signals indicating the occurrences of triggering events that can signal an opportunity to request and display an advertisement. The triggering events can be a termination of a user interaction with the portable device such that the user is not disturbed by an advertisement being displayed. Such triggering events can include call termination, text message termination, application termination or pause, or any other event that signals that the user has completed some form of interaction with the portable device 110. Upon receiving the event signal, the client application 264 reads the event signal to determine what event is indicated to have occurred and queries for the current configuration parameters to determine if conditions are suitable for requesting and displaying an advertisement. In addition to terminating events such as call termination, game termination, text message termination, a trigger event could include non-terminating events such as a lock screen event or a display screen going dark. The client application 264 can be configured such that advertisements that are requested to be displayed during a lock screen or a dark screen even can be persistent and be displayed after the user actuates an input device to unlock or undarken the display screen.
  • When an event signal is detected at stage 534 by the client application 264, the process 500 continues to decision block 538 where the client application 264 determines if the indicated event is a trigger event, based on the current configuration parameters. If it is determined at decision block 538 that the indicated event is not a trigger event, the process 500 returns to stage 534 where the client application 264 continues to monitor the operating system 262 for event signals. If it is determined at decision block 538 that the indicated event is a trigger event, based on the current configuration parameters, the process continues to stage 542.
  • At stage 542, the client application 264 communicates an advertisement request message to the operating system 262 to be communicated to an advertising source system, as determined by the configuration parameters, via one of the network connections 240. The advertisement request message can include the trigger event, the identifier of the portable device, the identity of the user, an identifier of the application associated with the event etc. At stage 546, the portable device 110 receives an advertisement selected by the advertising source system. The selected advertisement is received via one of the network connections 240. The advertisement can be received by leveraging webservices over a data (IP) network using HTTP/S encapsulation of SOAP (Simple Object Access Protocol) envelopes containing custom XML payloads optimized for brevity, or via any other available network transport and data description protocols. SOAP is a protocol for exchanging structured information in the implementation of web services.
  • When an advertisement is being received, in one embodiment, the client application 264 avoids querying the host system 140 for new configuration parameters in order to reduce the amount of network transit, and therefore time required for an advertisement to be displayed. This also reduces the amount of time that the radio is used, thereby saving power because the radio typically uses the most power in the portable device 110.
  • Upon receiving the selected advertisement, the client application 264 determines, at decision block 550, whether the selected advertisement is suitable for display based on the current configuration parameters. Reasons for an advertisement being unsuitable for display at the time the advertisement is received can include, for example, when the trigger event is closely followed by another event that is determined to be inappropriate to interrupt with an advertisement (e.g., a termination of a text message or call closely following an initiation of another text message or call), a threshold number or count of advertisements having been displayed within a threshold time period being exceeded, a threshold time period has not elapsed since the last advertisement was displayed, a battery power level on the portable device 110 registers below a threshold value, etc. In addition, if no advertisement were available from the advertising source system, there would also be no suitable advertisement for display.
  • The user could define types of advertisements that should be blocked as being unsuitable. For example, a user could choose to block advertisements for dating websites, alcohol, or other classes of advertisements. These blocked classes of advertisements could be input by the user at stage 518 in the form of configuration parameters.
  • If it is determined at decision block 550 that the selected advertisement is not suitable for display, the process can return to stage 534 to monitor for more trigger events indicated by event signals or, alternatively, return to stage 542 to request another advertisement. If it is determined that the advertisement is suitable for display, the client application 264 causes the selected advertisement to be rendered on a display of the portable device 110 at stage 554. At stage 558, the client application 264 increments one or more advertisement counters, and in some embodiments stores a time the advertisement was rendered, in order to limit the frequency that future advertisements are displayed. Multiple counters can be used in order to limit the number of advertisements displayed during different time periods such, for example, a number per hour, a number per day, a number per week, etc. At stage 562, the client application 264 causes the operating system 262 to communicate an indication that the selected advertisement was displayed to the host system 140 and/or the advertising source system via one of the network connections 240.
  • The process 500 repeats to perform the functions of the various stages as discussed above. The process 500 is exemplary only and not limiting. The process 500 can be altered, e.g., by having stages added, removed or rearranged. Still other alterations to the process 500 as shown and described are possible.
  • It is noted that in various embodiments the present disclosure may relate to processes such as are described or illustrated herein and/or in the related applications. These processes may be implemented on the host system 140 on one or more host system servers 370 by one or more host system application 364, as well as one or more portable devices 110 by one or more client applications 264. These processes are typically implemented in one or more modules comprising systems as described herein and/or in the related applications, and such modules may include computer software stored on a computer readable medium including instructions configured to be executed by one or more processors. It is further noted that, while the processes described and illustrated herein and/or in the related applications may include particular stages, it is apparent that other processes including fewer, more, or different stages than those described and shown are also within the spirit and scope of the present disclosure. Accordingly, the processes shown herein and in the related applications are provided for purposes of illustration, not limitation.
  • As noted, some embodiments of the present disclosure may include computer software and/or computer hardware/software combinations configured to implement one or more processes or functions associated with the present disclosure such as those described above and/or in the related applications. These embodiments may be in the form of modules implementing functionality in software and/or hardware software combinations. Embodiments may also take the form of a computer storage product with a computer-readable medium having computer code thereon for performing various computer-implemented operations, such as operations related to functionality as describe herein. The media and computer code may be those specially designed and constructed for the purposes of the present disclosure, or they may be of the kind well known and available to those having skill in the computer software arts, or they may be a combination of both.
  • Examples of computer-readable media within the spirit and scope of the present disclosure include, but are not limited to: magnetic media such as hard disks; optical media such as CD-ROMs, DVDs and holographic devices; magneto-optical media; and hardware devices that are specially configured to store and execute program code, such as programmable microcontrollers, application-specific integrated circuits (“ASICs”), programmable logic devices (“PLDs”) and ROM and RAM devices. Examples of computer code may include machine code, such as produced by a compiler, and files containing higher-level code that are executed by a computer using an interpreter. Computer code may be comprised of one or more modules executing a particular process or processes to provide useful results, and the modules may communicate with one another via means known in the art. For example, some embodiments of the disclosure may be implemented using assembly language, Java, C, C#, C++, or other programming languages and software development tools as are known in the art. Other embodiments of the disclosure may be implemented in hardwired circuitry in place of, or in combination with, machine-executable software instructions.
  • The foregoing description, for purposes of explanation, used specific nomenclature to provide a thorough understanding of the disclosure. However, it will be apparent to one skilled in the art that specific details are not required in order to practice the disclosure. Thus, the foregoing descriptions of specific embodiments of the disclosure are presented for purposes of illustration and description. They are not intended to be exhaustive or to limit the disclosure to the precise forms disclosed; obviously, many modifications and variations are possible in view of the above teachings. The embodiments were chosen and described in order to best explain the principles of the disclosure and its practical applications, they thereby enable others skilled in the art to best utilize the disclosure and various embodiments with various modifications as are suited to the particular use contemplated. It is intended that the following claims and their equivalents define the scope of the disclosed inventions.

Claims (18)

What is claimed is:
1. A host system for facilitating delivery of information to a portable device, the host system comprising:
a database;
a network interface; and
a computer server in communication with the network interface and the database, the computer server being configured to:
send, to a portable device via the network interface, configuration parameters defining at least one trigger event wherein an advertising application of the portable device is configured to send, upon detection of an occurrence of the at least one trigger event at the portable device, an advertising request message;
receive, via the network interface, an indication generated by the advertising application that an advertisement provided to the portable device by a remote system was displayed on the portable device.
2. The host system of claim 1 wherein the at least one trigger event comprises a termination or temporary pausing of user interaction with the portable device.
3. The host system of claim 1, wherein the computer server is further configured to communicate the advertising application to the portable device via the network interface.
4. The host system of claim 1 wherein the computer server is further configured to:
receive a registration message from the portable device via the network interface, the registration message registering the portable device with the host system; and
store information associated with the registration message in the database.
5. The host system of claim 1 wherein the database stores a plurality of advertisements, the host system comprises the remote system, and the server computer is further configured to receive the advertisement request message and send the advertisement via the network interface.
6. The host system of claim 1, wherein the computer server is further configured to store information relating to the indication within the database.
7. A portable communication device comprising:
a communication module;
a processor; and
a memory storing instructions thereon for causing the processor to:
receive, via the communication module, configuration parameters and store the configuration parameters in the memory, the configuration parameters defining one or more trigger events
monitor an operating system of the portable device to detect an event signal, the event signal being indicative of occurrence of a first event;
determine the first event corresponds to one of the one or more trigger events;
send, via the communication module, an advertisement request message; and
receive, via the communication module, an advertisement to be rendered by the portable device.
8. The portable communication device of claim 7 wherein at least one of the one or more trigger events comprises a termination or temporary pausing of user interaction with the portable device.
9. The portable communication device of claim 8 wherein the instructions further cause the processor to install the advertising application to run on the portable device.
10. The portable communication device of claim 7 wherein the instructions further cause the processor to register the advertising application as a system service with the operating system of the portable device prior to the monitoring.
11. The portable communication device of claim 7 wherein the instructions further cause the processor to:
determine an update status of the configuration parameters associated with the advertising application; and
determine, based on the update status, if the set of configuration parameters are not current.
12. The portable communication device of claim 11 wherein the instructions further cause the processor to:
in response to determining that the configuration parameters are not current, receive current configuration parameters via the communication module, the current configuration parameters defining a new trigger event that cause the advertising application to request an advertisement for display on the portable device, the new trigger event being different than the one or more trigger events defined by the stored configuration parameters; and
store the current configuration parameters in the memory.
13. The portable communication device of claim 7 wherein the instructions further cause the processor to communicate a registration message to at least one of the host system and the advertising source system via the communication module, the registration message registering the portable device for receiving advertisements.
14. The portable communication device of claim 7 wherein the configuration parameters further define an Internet address of the remote system.
15. The portable communication device of claim 7 wherein the instructions further cause the processor to:
subsequent to receiving the selected advertisement, determine if the selected advertisement is suitable for display on the portable device based on the current configuration parameters; and
if the selected advertisement is determined to be suitable for display, cause the selected advertisement to be rendered on a display of the portable device.
16. The portable communication device of claim 15 wherein the instructions further cause the processor to determine if the selected advertisement is suitable for display based on a counter stored in the memory.
17. The portable communication device of claim 16 wherein the instructions further cause the processor to determine if the selected advertisement is suitable for display based at least in part on the counter stored in the memory; and
upon determining that the selected advertisement is suitable for display, increment the counter stored in the memory.
18. The portable communication device of claim 15 wherein the instructions further cause the processor to, upon causing the selected advertisement to be rendered, communicate an indication that the selected advertisement was rendered on the portable device to the host system.
US13/894,292 2012-05-14 2013-05-14 Systems and methods for providing event-triggered advertising to portable devices Abandoned US20140156414A1 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US13/894,292 US20140156414A1 (en) 2012-05-14 2013-05-14 Systems and methods for providing event-triggered advertising to portable devices
US15/433,959 US20170255967A1 (en) 2012-05-14 2017-02-15 Systems and methods for unobtrusively displaying media content on portable devices
US17/930,019 US11663628B2 (en) 2012-05-14 2022-09-06 Systems and methods for unobtrusively displaying media content on portable devices

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201261646768P 2012-05-14 2012-05-14
US13/894,292 US20140156414A1 (en) 2012-05-14 2013-05-14 Systems and methods for providing event-triggered advertising to portable devices

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US15/451,232 Continuation-In-Part US11599907B2 (en) 2012-05-14 2017-03-06 Displaying media content on portable devices based upon user interface state transitions

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US15/433,959 Continuation-In-Part US20170255967A1 (en) 2012-05-14 2017-02-15 Systems and methods for unobtrusively displaying media content on portable devices

Publications (1)

Publication Number Publication Date
US20140156414A1 true US20140156414A1 (en) 2014-06-05

Family

ID=49549398

Family Applications (3)

Application Number Title Priority Date Filing Date
US13/748,023 Active US8924252B2 (en) 2012-05-14 2013-01-23 Systems and methods for providing timely advertising to portable devices
US13/894,292 Abandoned US20140156414A1 (en) 2012-05-14 2013-05-14 Systems and methods for providing event-triggered advertising to portable devices
US14/547,044 Abandoned US20150178783A1 (en) 2012-05-14 2014-11-18 Systems and methods for providing timely advertising to portable devices

Family Applications Before (1)

Application Number Title Priority Date Filing Date
US13/748,023 Active US8924252B2 (en) 2012-05-14 2013-01-23 Systems and methods for providing timely advertising to portable devices

Family Applications After (1)

Application Number Title Priority Date Filing Date
US14/547,044 Abandoned US20150178783A1 (en) 2012-05-14 2014-11-18 Systems and methods for providing timely advertising to portable devices

Country Status (5)

Country Link
US (3) US8924252B2 (en)
EP (1) EP2850579A4 (en)
HK (1) HK1202959A1 (en)
IN (1) IN2014KN02917A (en)
WO (1) WO2013173390A1 (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160262205A1 (en) * 2015-03-06 2016-09-08 Apple Inc. Cloud support for discovery and data transfer for mobile client devices
CN106569971A (en) * 2016-11-04 2017-04-19 深圳市坐标软件开发有限公司 Information transmission method and apparatus
US11599907B2 (en) 2012-05-14 2023-03-07 Iqzone, Inc. Displaying media content on portable devices based upon user interface state transitions
US11663628B2 (en) 2012-05-14 2023-05-30 Iqzone, Inc. Systems and methods for unobtrusively displaying media content on portable devices
US11736777B2 (en) 2019-10-25 2023-08-22 Iqzone, Inc. Using activity-backed overlays to display rich media content on portable devices during periods of user inactivity

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8924252B2 (en) 2012-05-14 2014-12-30 Iqzone, Inc. Systems and methods for providing timely advertising to portable devices
GB2531932A (en) * 2013-03-15 2016-05-04 Blinkx Inc Systems and methods of processing data involving presentation of information on Android devices
US9729380B1 (en) * 2013-10-28 2017-08-08 Google Inc. Displaying content items based on device status
CN106104468B (en) 2013-12-13 2020-03-10 起元技术有限责任公司 Dynamically determining a mode of a data processing application
WO2015095297A1 (en) * 2013-12-18 2015-06-25 Zedo, Inc. "breaking news" ad format and system
US9996848B2 (en) 2014-06-12 2018-06-12 Outfit7 Limited Communication of reward data between applications
US10413818B2 (en) 2014-10-01 2019-09-17 Outfit7 Limited Monitoring an application on a processing device
US10643239B2 (en) 2014-10-01 2020-05-05 Outfit7 Limited Monitoring an application on a processing device and generating rewards
JP6464692B2 (en) * 2014-11-19 2019-02-06 セイコーエプソン株式会社 Information processing apparatus, information processing system, information processing method, and program
WO2018119417A1 (en) * 2016-12-22 2018-06-28 Nissan North America, Inc. Autonomous vehicle service system
US11403671B2 (en) * 2017-03-14 2022-08-02 Awaken Mobile Pty Ltd Method of mobile phone advertising
CN110381105A (en) * 2019-04-21 2019-10-25 泰州市海陵区一马商务信息咨询有限公司 The instant reporting system of equipment state
CN110223108B (en) * 2019-05-27 2022-05-24 北京金山安全软件有限公司 Click through rate prediction method, device and equipment
CN114339628B (en) * 2021-12-27 2023-07-04 中国农业银行股份有限公司 5G rich media message sending method, equipment, storage medium and product

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040103171A1 (en) * 2002-11-26 2004-05-27 Mullis Samuel L. Methods, systems and computer program products for non-intrusive subsequent provisioning of a mobile terminal
US20050143138A1 (en) * 2003-09-05 2005-06-30 Samsung Electronics Co., Ltd. Proactive user interface including emotional agent
US20050215238A1 (en) * 2004-03-24 2005-09-29 Macaluso Anthony G Advertising on mobile devices
US20090006211A1 (en) * 2007-07-01 2009-01-01 Decisionmark Corp. Network Content And Advertisement Distribution System and Method
US20100253764A1 (en) * 2007-09-05 2010-10-07 Creative Technology Ltd Method and system for customising live media content
US20100333130A1 (en) * 2009-06-25 2010-12-30 Qualcomm Incorporated Systems and methods for verifying receipt of broadcast transmissions prior to billing
US20110065451A1 (en) * 2009-09-17 2011-03-17 Ydreams-Informatica, S.A. Context-triggered systems and methods for information and services
US20110252378A1 (en) * 2010-04-07 2011-10-13 Freddy Allen Anzures Device, Method, and Graphical User Interface for Navigation of Multiple Applications

Family Cites Families (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7712657B1 (en) * 2007-11-13 2010-05-11 Diebold Self-Service Systems Division Of Diebold, Incorporated Automated banking machine that enables multiple users to conduct concurrent transactions at different areas of a display surface
US6425017B1 (en) * 1998-08-17 2002-07-23 Microsoft Corporation Queued method invocations on distributed component applications
JP2000242392A (en) * 1999-02-12 2000-09-08 Dbm Korea:Kk Computer system for dynamic information display and method thereof
KR20010037695A (en) 1999-10-19 2001-05-15 유은영 Display method of web-browser advertisement which senses rest time of user
AU2001247901B2 (en) 2000-03-31 2006-07-27 Rovi Guides, Inc. Interactive media system and method for presenting pause-time content
KR20020008492A (en) 2000-07-20 2002-01-31 선춘영 An auto dialing system of adverstisement, order, reservation using call center and cti phone basised on cti server and the method thereof
DE60143848D1 (en) 2000-10-15 2011-02-24 Directv Group Inc METHOD AND SYSTEM FOR ADVERTISING DURING A PAUSE
EP1346570A4 (en) 2000-12-27 2007-12-05 Digital Networks North America Advertisements in a television recordation system
US6993326B2 (en) * 2001-04-02 2006-01-31 Bellsouth Intellectual Property Corporation System and method for providing short message targeted advertisements over a wireless communications network
US20040044567A1 (en) 2002-09-03 2004-03-04 Daniel Willis Gaming service provider advertising system
US20040049419A1 (en) 2002-09-06 2004-03-11 Knight Leonard K. Advertising on an interactive screensaver
KR100468944B1 (en) 2002-12-17 2005-02-02 주식회사 팬택 Method for Advertising Service through Sub-LCD of Mobile Communication Terminal
AU2005215010A1 (en) * 2004-02-18 2005-09-01 Nielsen Media Research, Inc. Et Al. Methods and apparatus to determine audience viewing of video-on-demand programs
US8040319B2 (en) 2007-04-13 2011-10-18 Apple Inc. Modifying a value based on a user's directional motions independent of cursor position
US20050282614A1 (en) * 2004-06-17 2005-12-22 Atronic International Gmbh Gaming machine providing pop-up advertising
US20060004630A1 (en) * 2004-07-02 2006-01-05 Microsoft Corporation Advertising through digital watermarks
JP4220943B2 (en) * 2004-07-15 2009-02-04 ソフトバンクモバイル株式会社 Electronics
US20060217110A1 (en) 2005-03-25 2006-09-28 Core Mobility, Inc. Prioritizing the display of non-intrusive content on a mobile communication device
US20060224445A1 (en) 2005-03-30 2006-10-05 Brian Axe Adjusting an advertising cost, such as a per-ad impression cost, using a likelihood that the ad will be sensed or perceived by users
US20080076414A1 (en) 2006-07-25 2008-03-27 Akhshar Kharebov Mobile device advertising
US9432830B2 (en) 2006-08-29 2016-08-30 Nokia Technologies Oy Method of advertising using mobile communications
US20080120289A1 (en) * 2006-11-22 2008-05-22 Alon Golan Method and systems for real-time active refinement of search results
US20080162312A1 (en) * 2006-12-29 2008-07-03 Motorola, Inc. Method and system for monitoring secure applet events during contactless rfid/nfc communication
US20070214227A1 (en) 2007-05-08 2007-09-13 Quinn William V Assured comprehension advertising system
US8249922B2 (en) 2007-06-15 2012-08-21 Alcatel Lucent Method and apparatus for advertisement delivery in wireless networks
US8086494B2 (en) * 2007-08-30 2011-12-27 Product Spring, Llc System and method for an electronic gift key
FI122347B (en) 2008-02-14 2011-12-15 Madtag Oy Call termination in mobile telecommunication system
US8175992B2 (en) 2008-03-17 2012-05-08 Intelliscience Corporation Methods and systems for compound feature creation, processing, and identification in conjunction with a data analysis and feature recognition system wherein hit weights are summed
WO2010015072A1 (en) 2008-08-07 2010-02-11 Research In Motion Limited System and method for providing an interactive content portal on a mobile device
US20100100845A1 (en) 2008-10-20 2010-04-22 Ingboo Inc. Organization and Delivery of Information Updates
EP2224323A1 (en) 2009-02-27 2010-09-01 Research In Motion Limited A method and handheld electronic device for triggering advertising on a display screen
US8370811B2 (en) * 2009-07-16 2013-02-05 Accenture Global Services Limited Modularizing and aspectizing graphical user interface directed test scripts
US9635421B2 (en) * 2009-11-11 2017-04-25 Time Warner Cable Enterprises Llc Methods and apparatus for audience data collection and analysis in a content delivery network
EP2391075B1 (en) 2010-05-28 2012-12-19 Prim'Vision System and method for non intrusive delivery of messages to a device
US20120096431A1 (en) 2010-10-19 2012-04-19 Yuval Madar Method and apparatus for providing advertising during application loading processes
US10643238B2 (en) * 2010-11-08 2020-05-05 Mobitv, Inc. Non-intrusive advertisement presentation
KR20120088199A (en) 2011-01-31 2012-08-08 주식회사 팬택 Apparatus and method for providing advertisement information inserted application
US8924252B2 (en) 2012-05-14 2014-12-30 Iqzone, Inc. Systems and methods for providing timely advertising to portable devices

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040103171A1 (en) * 2002-11-26 2004-05-27 Mullis Samuel L. Methods, systems and computer program products for non-intrusive subsequent provisioning of a mobile terminal
US20050143138A1 (en) * 2003-09-05 2005-06-30 Samsung Electronics Co., Ltd. Proactive user interface including emotional agent
US20050215238A1 (en) * 2004-03-24 2005-09-29 Macaluso Anthony G Advertising on mobile devices
US20090006211A1 (en) * 2007-07-01 2009-01-01 Decisionmark Corp. Network Content And Advertisement Distribution System and Method
US20100253764A1 (en) * 2007-09-05 2010-10-07 Creative Technology Ltd Method and system for customising live media content
US20100333130A1 (en) * 2009-06-25 2010-12-30 Qualcomm Incorporated Systems and methods for verifying receipt of broadcast transmissions prior to billing
US20110065451A1 (en) * 2009-09-17 2011-03-17 Ydreams-Informatica, S.A. Context-triggered systems and methods for information and services
US20110252378A1 (en) * 2010-04-07 2011-10-13 Freddy Allen Anzures Device, Method, and Graphical User Interface for Navigation of Multiple Applications

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11599907B2 (en) 2012-05-14 2023-03-07 Iqzone, Inc. Displaying media content on portable devices based upon user interface state transitions
US11663628B2 (en) 2012-05-14 2023-05-30 Iqzone, Inc. Systems and methods for unobtrusively displaying media content on portable devices
US20160262205A1 (en) * 2015-03-06 2016-09-08 Apple Inc. Cloud support for discovery and data transfer for mobile client devices
CN106569971A (en) * 2016-11-04 2017-04-19 深圳市坐标软件开发有限公司 Information transmission method and apparatus
US11736777B2 (en) 2019-10-25 2023-08-22 Iqzone, Inc. Using activity-backed overlays to display rich media content on portable devices during periods of user inactivity
US11736776B2 (en) 2019-10-25 2023-08-22 Iqzone, Inc. Monitoring operating system methods to facilitate unobtrusive display of media content on portable devices

Also Published As

Publication number Publication date
WO2013173390A1 (en) 2013-11-21
HK1202959A1 (en) 2015-10-09
US20150178783A1 (en) 2015-06-25
EP2850579A4 (en) 2015-07-08
IN2014KN02917A (en) 2015-05-08
EP2850579A1 (en) 2015-03-25
US8924252B2 (en) 2014-12-30
US20130304580A1 (en) 2013-11-14

Similar Documents

Publication Publication Date Title
US20140156414A1 (en) Systems and methods for providing event-triggered advertising to portable devices
US20220366452A1 (en) Activity-backed overlay technique for media display on mobile devices
US20170255967A1 (en) Systems and methods for unobtrusively displaying media content on portable devices
US9111286B2 (en) Multiple actions and icons for mobile advertising
US9888342B2 (en) Communication method and system
US20160148270A1 (en) Campaign Management Systems for Creating and Managing Beacon Based Campaigns
US9922347B1 (en) Ad management using ads cached on a mobile electronic device
US11375289B2 (en) Using system broadcasts to unobtrusively display media content on portable devices
US20150058121A1 (en) System and method for controlling targeted advertising
KR20120104354A (en) Targeting applications with advertisements
JP2014056587A (en) Keyword tracking for microtargeting of mobile advertising
EP2817773A1 (en) Data capture for user interaction with promotional materials
US11663628B2 (en) Systems and methods for unobtrusively displaying media content on portable devices
CN107729093A (en) For not lofty the system and method for showing advertisement on portable devices
US20150324866A1 (en) Advertising Creative Delivery to Computing Devices
US10810615B2 (en) Advertising creative and application delivery to computing devices
KR20210037888A (en) Precise targeting of mobile ads with keyword tracking

Legal Events

Date Code Title Description
AS Assignment

Owner name: IQZONE, INC., ARIZONA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:FEADLER, MATTHEW AARON;WOLFINGER, JAMES ALEX;REEL/FRAME:031802/0932

Effective date: 20130828

STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION

AS Assignment

Owner name: IQZONE, INC., ARIZONA

Free format text: CORRECTIVE ASSIGNMENT TO CORRECT THE COMPANY NAME FROM IQZONE, INC. TO IQZONE, INC. PREVIOUSLY RECORDED ON REEL 031802 FRAME 0932. ASSIGNOR(S) HEREBY CONFIRMS THE CORRECTION OF THE COMPANY NAME FROM IQZONE, INC. TO IQZONE, INC;ASSIGNORS:FEADLER, MATTHEW AARON;WOLFINGER, JAMES ALEX;REEL/FRAME:050157/0070

Effective date: 20130828