The present disclosure relates to targeted mobile advertisement on a mobile device
Advertisers in general want to target a particular audience in order to ensure that their advertisements are successful. Preferably the advertisement is directed to the consumer's interests or needs. Further, it is beneficial to a user to receive advertisements which are directed more towards the user's interests as opposed to receiving advertisements which the user has no interest in at all.
Various solutions exist to providing targeted advertising. For example, the Google™ gmail application scans the contents of emails and provides the user with sponsored links that are related to the topic of the email.
In another example, the Google™ search engine provides sponsored links when a search is performed and when search tokens match advertisements campaigns of the advertisers paying for the sponsored links.
In the above examples, the “wired environment” utilizes information that is scanned by a server, which then aggregates advertisements into the html pages with the response to the end user. The model requires close coupling of application logic and ad processing and can work only with the predefined web sites. The model is not applicable to a generic mobile advertisements framework as this generic mobile advertisement framework is associated with arbitrary application servers and web sites that provide content for various device applications. Additionally, the server based model cannot work in the broadcast realm, where both content and ads are delivered using broadcast bearers.
The present disclosure will be better understood with reference to the drawings in which:
The present systems and methods provide for mobile advertising solutions. In one embodiment, a scan engine located on a mobile device can collect information from content consuming applications and content producing applications. Scanning can be done based on preconfigured keywords and/or rules and can be based on atomic keywords or on composite mode scanning. Alternatively, scanning may be performed by a learning module. In both cases, the scanning can be utilized to compile a User Interests Profile.
A mobile advertising server selects and provides advertisements based on ad trigger alerts sent by the scan engine. Ad content providers are registered with the mobile advertising server and in one embodiment provide the keywords and/or rules for the scan engine.
In a further embodiment, the scan engine can be located on the communication's path between an application server and an application. The scan engine monitors traffic between the application server and the application and can scan based on a preconfigured mode or a learning mode. In one embodiment, information can be added to request headers in messages destined for an application server to allow the application server to handle advertising. In an alternative embodiment, the scan engine can communicate with a mobile advertising server to provide ad trigger alerts. The scan engine on the communication's path can be located either on the mobile device or on a proxy server.
Advertising can be provided based on whether one, both or none of the application and application server are ad aware. If an application on a mobile device is not ad aware, an ad agent can be added to the mobile device to consume advertising content. If an application server is ad aware, the application server can communicate directly with the mobile advertising server or an ad content provider to obtain advertising content. Further, an ad aware application server could insert the advertising content into the data response to facilitate the consumption of the advertising.
In a further embodiment, the application server could provide application content with metadata. Such metadata could specify parameters such as location, selection criteria, matching criteria, etc. for advertisement correlated with the application content provided. A scan engine uses these parameters to get proper the advertisement using ad trigger alerts and insert it to the content if a placeholder exists for it or if the insertion method is specified in metadata embedded in the content. Otherwise, a scan engine can finds other way to display the ad content, such as passing the ad content to an ad agent on device, displaying the ad content on the ribbon, popup, among others. In a further embodiment, the metadata could point a scan engine to a mobile advertising server or ad content provider to obtain advertising content.
In a further embodiment, a mobile device could include a storage area to pre-store advertising content. In this way, a mobile advertising server or an applications server providing content with metadata could merely forward a reference to the pre-stored content, thus saving network transmission overhead. Further, in other embodiments pre-stored content could be used by a scan engine whenever a condition for ad trigger alert is satisfied. Other uses of pre-stored content are also possible.
In a further embodiment, advertising content can be broadcast from a broadcast server. In both broadcast and non-broadcast modes, the advertising content could have metadata associated therewith and in one case, the scan engine could merely act as a comparator between rules and keywords stored on the mobile device and add metadata found in ad content in order to filter the advertising content.
In a further embodiment, the scan engine can be dynamically configured based on available ad providers. Specifically, if a new advertising provider registers with a mobile advertising server, the keywords and rules forwarded by the new ad content provider can be sent as configuration data to the scan engine. The updates to the configuration could be periodic or upon registration or deregistration of the ad content providers.
The present disclosure therefore provides a system for facilitating targeted mobile advertisement comprising: a mobile device having: a communication subsystem adapted to send and receive data; at least one application adapted to consume data, create data or consume and create data; and a scan engine registered with the at least one application, the scan engine adapted to scan data consumed or created by the application, the scan engine further adapted to provide an ad trigger alert; and a mobile advertising server, said mobile advertising server adapted to receive ad trigger alerts from the scan engine and to provide advertising content from an advertising content provider to the mobile device.
The present disclosure further provides a method for facilitating targeted mobile advertisement comprising the steps of: monitoring data consumed or created by at least one application registered with a scan engine on a mobile device; generating an ad trigger alert based on results from the monitoring step; acquiring advertising content based on the ad trigger alert; and consuming the advertising content.
The present disclosure further provides a mobile device for facilitating targeted mobile advertising comprising: a communications subsystem; a scan engine; at least one application, the at least one application being registered with the scan engine; and a consuming module adapted to consume advertising content, wherein the scan engine is adapted to monitor data consumed or created by the at least one application and generate an ad trigger alert based on the results of monitoring the data, and wherein the communication's subsystem is adapted to receive advertising content.
Targeted advertising can be directed to the user of a mobile device through various means. In one embodiment this includes placing a scan engine to monitor a user's data consumption and creation on the mobile device, where the scan engine is registered with the content producing or consuming application. In further embodiments this includes placing the scan engine in the communications path between an application and an application server, such as on a mobile proxy or within the communications path on the mobile device itself. This embodiment involves the scan engine scanning the communications originating on the mobile device or targeted to the mobile device.
Each of the above embodiments is described below.
As used herein, an advertisement can be any advertisement that can be consumed by a mobile device. For example, the advertisement could be text to be displayed on a ribbon, an addition to be added to an email message, an addition to be added to an instant message, a clip to be viewed before a media clip, an audio message to be included before the listening of an audio clip, among others. The above is not meant to be limiting but is merely meant to indicate the variety of advertising that can be used.
Reference is now made to
In the embodiment of
Content consuming application 112 represents a logical block of an application that consumes content. Examples can include an email application which receives emails, a web browser showing web pages, an instant messaging application displaying instant messages, a video or multimedia viewer or player, among others. The above is not meant to limit content consuming application 112 to any particular content consuming application and content consuming application 112 is meant to be a general logical block.
Similarly, content producing application 114 represents an application that produces content. This can include, for example, but is not limited to, an email application on which an email can be produced, an instant messaging application on which an instant message can be created, a web browser into which information can be input, a scheduler into which data can be entered, among others. The above is not meant to limit the type of content producing application and content producing application 114 is a logical block representing any application in which content can be created.
As will be appreciated by those skilled in the art, content consuming application 112 and content producing application 114 may be the same application and the division into content consuming application 112 and content producing application 114 is merely meant to show a logical rather than a physical breakdown.
Further, in some embodiments, it is envisioned that a mobile device 110 may only have one of a content consuming application 112 or a content producing application 114, and therefore the other of the content consuming application 112 or content producing application 114 may be omitted from the mobile device.
In the embodiment of
Scan engine 120 includes a content scanning module 122, a learning module 124, a configuration module 126 and a collection module 128 in the embodiment of
Content scanning module 122 is adapted to scan content either being consumed by content consuming application 112 or being produced by content producing application 114. As will be appreciated, the scanning engine can either be registered as a content listener with content producing applications and content consuming applications. Alternatively, the scanning engine may listen to all traffic flowing between device applications and corresponding application servers.
Scan engine 120 further comprises a learning module 124. In accordance with the present disclosure, scanning can be performed in either a preconfigured or a learning mode.
In a preconfigured mode, a set of keywords or scanning rules is provided to the scan engine 120 externally. Sources of these keywords and/or scanning rules can include a device management agent or the provision of keywords or rules from an advertising server or other means.
In the preconfigured mode, when the content satisfies the predefined keywords and/or scanning rules, the scan engine issues an “ad trigger alert” message which is sent to a mobile advertisement server as described below. Examples of scanning in a preconfigured mode could include receiving keywords and either performing an atomic or composite scan. Specifically, an atomic scan is a scan for a single significant keyword. The keyword is analyzed in isolation and the results of the scan are based on the keyword in isolation. For example, if the scanning engine is scanning outgoing emails for the word “restaurant” and sees that a user has typed this word a specified number of times within a predefined number of characters, this can trigger the “ad trigger alert” message.
Conversely, a composite scan could depend on numerous keywords, each of the keywords having a specific weight. For example, if a scan engine is monitoring an email and is looking for the keyword “restaurant” it may also look for other keywords within that email message. For example, the type of restaurant may be important to advertisers. Specifically, if the user enters the keywords “restaurant” and a keyword “Chinese” this may determine the type of advertisement that is targeted to the user. In this case, the word “restaurant” may be given a weight X and the word “Chinese” may be given a weight Y and rules could be created to determine when a trigger occurs. For example, if the word “restaurant” is given a weight of 5 and the word “Chinese” is given a weight of “3” the advertisers may need a threshold of 15 before the ad can be targeted to the user. Thus, the number of times the word “restaurant” and “Chinese” appear in the email could determine whether the threshold is met.
An example of XML for a preconfigured atomic scan includes:
As will be appreciated by those skilled in the art, the above “atomic” mode scans for keywords within a specific scope. In this case, if the keyword tokens “football”, “football ticket” or “football game” occur with a predetermined frequency, an alert is triggered. The above indicates that a threshold of 30 is set, requiring the occurrence of the word “football”, which has a weight of 3, to occur 10 times within 10000 characters, the words “football ticket”, which have a weight of 10, to occur 3 times within 10000 characters, or the words “football game”, which have a weight of 5, to occur 6 times within 10000 characters.
An example of a composite mode includes:
As will be appreciated by those skilled in the art, the composite mode example allows the combination of words within a predetermined number of characters or predetermined period of time. Thus, unlike the atomic mode example above, the words “football” and “ticket” do not need to occur together to increase the value of the keywords. In the example above, if the words “I would like to buy a ticket for next week's football game” were input in an email, the composite scan would detect the words ticket, football, and game and assign each a weight. Thus the weight would be 13, comprised of 1 instance of football with a weight of 3, one instance of ticket with a weight of 5, and 1 instance of game with a weight of 5. In accordance with the rules, if a threshold of 50 was met within 10000 characters, an ad trigger would occur.
In both the atomic and composite mode examples above, the times for reporting the alerts are also specified. Thus, for example, in the composite mode a report is sent at 10 am, 2 pm and 8:30 pm.
Further, in one embodiment the contents of the report are also specified. Thus, in the XML example above, the report is to include all of the parameters between the <reported-data> and </reported data>tags, including the keyword-group, composite-weight, application name, application context, and date-time. These are merely examples however, and the report can be tailored to meet the needs of the mobile advertisement server.
In a further embodiment, an alternative to preconfigured keywords consists of the scan engine using XPath expressions in the scanning rules. These XPath expressions are used to identify content match to the rule. Further embodiments could utilize the analysis of meta tags (or their equivalents) from the HTML/xHTML/SVG/etc. content returned by a browser. The meta tags could be analyzed for keyword or rule match.
A User Interests Profile could be compiled by the scan engine or mobile advertising server based on the preconfigured scan results, and could be used similarly to the User Interests Profile described below with regard to the learning mode.
In the “learning mode”, when scanning the content, the scan engine “learns” significant tokens by building a frequency dictionary for words and optionally for word combinations encountered by scanned content. In the case of a learning mode, an “ad trigger alert” message could be sent to a mobile advertisement server, as described below, containing the most frequently used word and word combinations, as well as other information such as frequency or timing, among others. The frequency dictionary in this embodiment could be collected in the learning mode to allow scan engine 120 to establish a dynamic “user interests profile” with representative information on the device user's current interests.
Collected user interests profiles may enable a service provider such as a mobile operator to proactively seek and select applicable advertisement content providers on behalf of the user or group of homogeneous users.
In a further embodiment, the service provider may also utilize a “user interests profile” to offer applicable mobile content or applications to a user. In this case, the service provider operates as a content broker or contract aggregator.
In both the preconfigured and learning mode, the user interests profile may further be dynamically updated. For example, during the purchase of a car, a user may have significant usage of the keyword car. However, once the car is purchased, the use of the keyword likely will drop. Dynamically updating the user interests profile can occur based on usage of keywords and thresholds for removing keywords from the user interests profile.
A learning module may, for example, be used when there is a low coupling between the mobile advertiser server 140 and the scan engine 120 or if there are a significant number of advertisements available. As will be appreciate by those skilled in the art, if there are significant numbers of advertisements available, the keyword and rule utilization will not be efficient since it will likely overload the air with keywords to store on the devices.
Learning module 124 can be utilized to allow the user to receive advertising that is more directed to the user's interests. In an example, if a user is continuously talking about basketball in instant messaging to the exclusion of football, an advertisement directed to basketball is much more appropriate to the user. Learning module 124 can therefore provide scan engine 120 with information to produce more intelligent advertisement selections.
Learning module 124 can also use content scope or time scope as limiting factors. For example, content scope is the size of the block of characters being scanned by the scan engine. Time scope could be the number of times the user enters a word within a certain time period.
The mobile advertising server 140 or scan engine 120 could use the keywords found as significant by learning module 124 and content scope and time scope information to create the user interests profile.
In one embodiment, the user interests profile could also be augmented or edited by the user. In many cases a user will need to consent to the collection of data and the display of advertisements. This could, for example, be used to offset the cost of operating the mobile device. In this case, the user would also have an interest in viewing advertisements that are more suited to the user and the user could therefore view the profile that has been created and indicate whether certain characteristics are correct or incorrect or indicate a preference for receiving certain types of advertisements.
Scan engine 120 further includes a configuration module 126. Configuration module contains the keywords and/or rules required for content scanning module 122. As will be appreciated by those skilled in the art, the use of the term “keywords” in the present application is not meant to be limiting to specific words, and various other content scanning techniques besides keywords can be used including binary searches for specific binary combinations or any other searchable item. The use of “keywords” in the present disclosure encompasses these other scanning techniques and search items.
A collection module 128 is utilized to collect information that has been found by content scanning module 122 or learning module 124. Thus, if content scanning module 122 found that certain keywords and rules have been met by content producing application 114 or content consuming application 112, this information can be stored in collection module 128.
Mobile device 110 interacts with a mobile advertising server 140 in the embodiment of
Mobile advertising server could be a dedicated server or could be part of a mobile proxy or application server.
A registered ad content provider, as illustrated by ad content providers 150 and 155 in
When a new ad content provider such as ad content provider 150 registers with a mobile advertising server 140, it preferably provides an advertisement “manifest”. This advertising manifest can also be provided to the mobile advertising server 140 dynamically when new advertisements are created for display on a mobile device 110. Various options for the contents of the advertisement “manifest” are possible.
Ad with Keywords and Rules
A first option, designated by arrow 151, is for the ad content provider to provide mobile advertising server 140 with both advertising content as well as associated keywords and rules. In this case, a mobile advertising server 140 forwards the rules and keywords in a configuration data updates message 142 to configuration module 126, which stores the configuration updates, allowing content scanning module 122 to scan using the new rules. Once content scanning module 122 finds that the new rules and keywords have been met, this information is provided to collection module 128, which then issues an ad trigger alert 144 to be sent to mobile advertising server 140. As will be appreciated by those skilled in the art, ad trigger alert 144 can be sent based on rules within the collection module 128. For example, ad trigger alert 144 could be sent on a certain schedule, such as three times daily or only at midnight, or may be sent immediately if certain keywords and rules are met. The sending of ad trigger alert 144 is based on what is preconfigured in the scanning engine.
Mobile advertising server 140 receives ad trigger alert message 144 and, since it already has the ad based on message 151, it provides the ad to mobile device 110 for consumption by mobile device 110.
In an alternative embodiment, ad content provider 150 provides only the ad content in message 152 to a mobile advertising server 140. In this case, mobile advertising server 140 needs the capability to scan the ad content to create keywords and/or rules. These keywords and/or rules are then sent in configuration data updates message 142 to configuration module 126. Content scanning module 122 utilizes these new keywords and/or rules in order to scan content being created or consumed on mobile device 110 and provides information to collection module 128. Collection module 128 then issues and ad trigger alert 144 that is sent to mobile advertising server 140.
Mobile advertising server 140, upon receipt of ad trigger alert 144, provides mobile device 110 with the ad sent in message 152 in order that mobile device 110 can consume this ad.
Rules and/or Keywords Only
In a further embodiment, ad content provider 150 provides message 153 to mobile advertising server 140. Message 153 contains keywords and/or rules for ads of ad content provider 150. However, it does not contain the ad content.
Once mobile advertising server receives message 153, it forwards this as configuration data updates message 142 to configuration module 126 on mobile device 110.
As with the above, content scanning module 122 utilizes the new keywords and/or rules in order to scan content from either content consuming application 112 or content producing application 114 and provides the results of this to collection module 128. Collection module 128 then issues an ad trigger alert 144 to mobile advertising server 140.
In the case of message 153 in which only keywords and/or rules were received, mobile advertising server 140 does not have the advertising content and therefore utilizes message 154 to request ad content or just constructs or updates a user interests profile and uses it when ads are provided by the ad content provider. As will be appreciated by those skilled in the art, message 154 could include data from ad trigger alert message 144 in order to allow ad content provider to select appropriate content. However, in some cases, if ad content provider 150 only includes one advertisement, this is unnecessary and message 154 could merely include a request for ad content, as will be appreciated by those skilled in the art.
Ad content provider 150 can then provide the ad to mobile advertising server 140 which can then forward it to mobile device 110 for consumption.
In a further embodiment, ad trigger alert 144 could also provide context related information to optimize ad targeting. Such information may include, but is not limited to, device location, presence information, content consumption or creation time, among others. The context information could be derived from various applications. For example, presence information could be extracted from an instant messaging application, from an OMA Presence device client, XDMS, among others. Device location could be extracted from GPS, assisted GPS, OMA LOC device client, or other means.
The ad trigger alert 144 could, as indicated above, be sent at predefined times or upon satisfying conditions in the scanning rules. The mobile advertising server 140 could then use the context information, as well as other information within ad trigger alert 144, to select a subset of advertisements applicable to a device user and send these to mobile device 110 for consumption by mobile device 110.
As will be appreciate by those skilled in the art, the additional context information could help an advertising server select a subset of advertisements that are applicable. For example, if the user is using the word “restaurant” in emails, the use of GPS information could be very relevant since the user may be only interested in restaurants that are close by as opposed to restaurants in another city or another country.
The context may be also utilized to determine the choice of advertising media to use. Specifically, if the presence information indicates that a user is in a meeting, the user is unlikely to be looking at instant messaging and therefore this may be used to determine that an advertisement should not be sent by instant message. Rather, the advertisement may instead be provided within an email, for example. Alternatively, presence information could be used to temporary suspend advertisement to the device e.g. when a user is in a meeting.
In order to protect user privacy, the ad trigger alert message could be encrypted and/or user identity information could be excluded from the message data in one embodiment. The message may contain a device address that is disassociated from the user identity. Alternatively, the address information could be inserted by the underlying wireless network upon handling of the message for delivery.
Reference is now made to
As with scan engine 120 from
A device 210 includes a content consuming application 212 and a content producing application 214 which interact, through mobile proxy 240, with application server 230.
Scan engine 220 also communicates with a mobile advertising server 250. Mobile advertising server 250 further has ad content providers 260 and 265 registered with it.
Moving scan engine 220 to mobile proxy 240 allows the scan engine to collect information based on the traffic flowing through the proxy. Scanning can be based on both preconfigured and learning modes as described above with reference to
Collection module can provide an ad trigger to mobile advertising server 250 and mobile advertising server 250 can then provide an advertisement to be consumed by mobile device 210. The various options for mobile advertising server 250 to obtain ad content from ad content providers 260 and 265 is the same as the options for mobile advertising server 140 to obtain ad content from ad content providers 150 and 155 from
In the embodiment of
In a further alternative embodiment, the scan engine can be placed in a communication path on a mobile device rather than directly interacting with content consuming applications and content producing applications. Reference is now made to
In
The traffic then flows between mobile device 310 and either application server 330 or to mobile advertising server 340.
Mobile advertising server 340 is associated with ad content provider 350 and ad content provider 355 and, as in
The embodiment of
As will further be appreciated by those skilled in the art, the mobile advertisement agent to provide context could exist in the embodiment of
Various models exist for a mobile device to consume advertising. If the application server or the application is “ad aware”, then the ad aware application server or application can perform various functionality. “Ad aware”, as used herein, refers to applications or application servers that are enabled for an advertising environment, and are able to perform functionality related to the insertion and consumption of advertising.
Conversely, if neither the application server nor the application is ad aware, then various other agents need to facilitate the adding of advertisements to content or the consumption of advertisements.
In one embodiment, advertising can be added in response to a request made at the mobile device. This can, for example, include appending advertisements to email messages or instant messages, ad video or audio advertisements before video or audio clips, embed advertising into a web page, among others.
In other embodiments, the advertising can be directed to a different media than the media that is making the request. For example, if the user sends an email, a ribbon on the mobile device may display advertising.
Reference is now made to
A mobile data device 410 includes an application 412 and a message layer 414. The system further includes a proxy 420, which includes a scanning engine 430.
The system further includes an application server 440 and a mobile advertising server 450.
In message 460, data device 410 sends a request from application 412, through messaging layer 414 to proxy 420. The request is received at proxy 420 and is scanned, as shown by arrow 462 by the scan engine 430. The request is forwarded by proxy 420 to an application server 440 as shown by arrow 464. Application server then responds with a response as shown by arrow 466.
The scan engine 430, if it detects certain keywords, can send an ad alert or scan information to the mobile advertising server 450, as shown by arrow 470. Mobile advertising 450 server then responds with appropriate ads, if any, as shown with arrow 472.
The ads returned with arrow 472 and the response returned as shown with arrow 466 are combined and sent to mobile device 410, as illustrated by arrow 475.
At message layer 414, the message shown by arrow 475 is broken down into the response, which is sent to application 412 and the advertisement, which is sent to an advertisement agent 416. As will be appreciated by those skilled in the art, application 412 does not have the capabilities of handling advertisements since it is not an ad aware application and therefore advertising agent 416 is utilized to perform the correct functionality for the advertisement. In this case, advertising agent 416 could combine the advertisement with the data that was received by application 412, could display it in an alternate media or otherwise consume the advertisement.
Reference is now made to
In the embodiment of
Scan engine 530 sends an ad alert or scan information as shown by arrow 570 to the mobile advertising server 550 and mobile advertisement server 550 returns an ad, if any, as shown by arrow 572.
Proxy 520 combines the data from the message shown in arrow 566 and the message shown by arrow 572 and returns this as a message 575.
The message 575 is interpreted at the message layer 514 and is forwarded to application 512.
In the embodiment of
In a further embodiment, the application server could itself be ad aware. Reference is now made to
A mobile device 610 includes at least an application 612, a messaging layer 614 and an ad agent 616.
A system further includes a proxy 620 including a scanning engine 630.
The system further includes an application server 640 that is ad aware. The system further includes a mobile advertising server 650 and optionally includes an advertising content provider 655.
In the embodiment of
The results of the scan or the metadata implied by the results of the scan can then be added to the request before it is sent to an application server 640. Specifically, because application server 640 is ad aware, an extra header (e.g. HTTP header) can be added to a request allowing application server 640 to process the request and to further provide advertisement enablement at application server 640.
The request is sent from proxy 620 to application server 640, as shown by arrow 664.
Application server 640 processes the message and provides a request to the mobile advertising server 650, as shown by arrow 666, which then provides the ad as shown by arrow 668. Alternatively, the application server can provide a request 670 directly to an ad content provider 655 and receive a response 672 providing the ad.
As will be appreciated by those skilled in the art, the request sent in arrows 666 or 670 could include a request for an advertisement or could provide information that is found with the scan shown by arrow 662.
Once application server 640 receives response 668 or 672, it combines this with the response from application server 640 and sends this back to proxy 620, as shown in arrow 676.
The proxy then forwards this message to the mobile device 610 as shown by arrow 678.
If application server 640 combined the response and the advertisement in a way that can be handled by an application 612, the message sent in step 678 flows through message layer 614 directly to application 612.
Conversely, if application server 640 merely combined the response and the advertisement as a bundle and then sent the bundle back, message layer 614 breaks down the message from step 678 into the application response, which is sent to the application 612, and the advertisement, which is sent to an advertisement agent 616. Advertisement agent 616 can then allow the mobile device 610 to consume the content.
As will be appreciated by those skilled in the art, the embodiment of
In a further alternative embodiment, the ad can also be inserted at proxy 620 in
As will further be appreciate, the extra header information that is inserted by the scan engine in
In a further embodiment, the mobile advertising server can use a mobile proxy URL, if provided, to contact the scan engine 630. Scan engine 630 could then provide the appropriate information such as a list of matched keywords and the mobile advertisement server selects ads applicable to information from the scan engine 630 and returns these ads to the scan engine 630 or to the application server 640. This is, however, merely an example of one architecture and others would be apparent to those skilled in the art with reference to this disclosure.
In a further embodiment, application content coming from an application server can include metadata embedded therein. Reference is now made to
In the embodiment of
When providing content from applications server 730, application content 732 includes metadata 734 embedded therein. The metadata associated with the advertisement comprises a set of tokens, keywords, among others, to embed in the appropriate content and this metadata is provided from ad content provider 750. Alternatively, the metadata could come from the application server itself and could be used by the mobile advertising server, if forwarded by the scan engine, to select an appropriate advertisement. This is similar to the embodiment of
In a further alternative embodiment, the application server may just embed the URL of the ad content provider, or the URL of an advertisement in an ad content provider's domain, in the content associated with the advertisement domain of the ad content provider 750. In the case of a URL of an advertisement, the ad content provider could maintain the URL for an appropriate ad overwriting an older one with the new version. Further, a page redirector forwarding to an appropriate ad could be used.
In one embodiment, application server 730 also formats content in order to have a place holder for an advertisement.
As will be appreciated by those skilled in the art, by having an association between the content and ads through metadata embedded in the content, static content can have dynamic advertising associated therewith. For example, content can have the latest advertisement on a specific type of mobile device by utilizing metadata to go and retrieve this ad. Otherwise, an application provider such as application server 730 would need to manually insert a new ad every time the new ad became available.
When application content 732 with metadata 734 is passed to mobile device 710, scan engine 720 scans the content and detects the ad relevant information metadata. Upon this event, the scan engine 720 sends an ad trigger alert message 742 to mobile advertising server 740 providing the metadata and possibly associated contextual information. The mobile advertising server 740 contacts the appropriate ad content provider 750 and directs the appropriate ad to be forwarded to the device.
In an alternative embodiment, in the case where the ad content provider URL is provided in metadata, the scan engine 720 could directly contact the ad content provider 750, bypassing the mobile advertising server 740.
When application server 730 inserts metadata 734 into application content 732, scan engine 720 retrieves this metadata and provides an ad trigger alert to mobile advertising server 740. However, as will be appreciated by those skilled in the art, this may create a conflict in terms of the advertising that can be placed on the mobile device. Specifically, the application provider may have a different interest than the mobile service provider with regard to the advertising that is placed on the mobile device. For example, if an application provider is a provider for streaming football video, this application provider may only allow football advertising. Conversely, a mobile service provider will have registered this application as a sports application along with various other sports applications. The application provider and the mobile service provider will have different interests when targeting the end user. If metadata is attributed both by the ad content provider, the mobile advertising service 740 and the application provider, the scan engine 720 could use a “priority indicator” to match an ad when scanning content and receiving application metadata. If the content priority indicator is set to low within the application metadata, the scan engine can report this in its usual alerts. If the priority indicator is set to high, within the application metadata, the scan engine may have to modify its alert to the mobile advertising server.
Thus, the concept of priority can be introduced into metadata to indicate which advertising should be given priority. In the example of the football provider, since the user is using a football application, the priority should likely be given to the football advertising rather than sports advertising in general since the user may have no interest in sports advertising that is directed to sports besides football.
In a further embodiment, ads may be preloaded on the device by a service provider such as a mobile operator. Optionally, these ads may contain embedded metadata that indicates to the scan engine or mobile agent how to insert them into an application content to be consumed by user.
In a further alternative, the application content received by the device contains metadata indicating to a scan engine what preloaded ad needs to be presented to the user with the content. The metadata could facilitate the device to embed the ad inside the content for optimal user experience. In particular, the metadata in the application content could be a URI or URI pattern of the preloaded ad.
As will be appreciated by those skilled in the art, the content in the above example is ad aware and when content is received, the scan engine can utilize the metadata within the content to insert the advertisement.
Reference is now made to
In operation, application server 830 provides content 835 to mobile device 810. Content 835 optionally includes metadata 837 if the content is ad aware content.
If the content includes metadata 837, scan engine 820 strips metadata 837 and utilizes the metadata to find an ad that has been pre-stored in storage 825 to insert into content 835. In one embodiment, content 835 includes a place for the ad to be inserted into the content.
Scan engine 820 further interacts with a mobile advertising server 840 to provide the ad triggers 842 as described above with reference to
Mobile advertisement server 840 has ad content providers 850 and 855 associated therewith.
As will be appreciated by those skilled in the art, ads could be preloaded on to mobile device 810 utilizing mobile advertising server 840 when conditions for the downloading are optimized. For example, when the device is in a “low cost” network such as a WiFi hot spot, Wi Max, when the device is USB connected, when the data is preloaded on SIM or removable storage media, when the time of day provides lower charges, among other optimized downloading.
Scan engine 820 scans the content consumed by content consuming application 812 or content produced by content producing application 814. As will further be appreciated by those skilled in the art, scan engine 820 may only listen to a subset of content available either in content consuming application 812 or content producing application 814. For example, if the scan engine 820 is only interested in email programs, it can only listen to content consuming applications and content producing applications et cetera associated with email.
Preloaded ads in storage 825 could also include “default ads” that are displayed when no appropriate metadata is detected in the content. Thus, if content 835 is not ad aware content, scan engine 820 could still use an ad that is pre-stored in storage 825 merely choosing a default ad. As will be appreciated, the default ad is still directed to the consumer since the default ads stored in storage 825 are uploaded based on the mobile advertising server 840 and the user profile created and forwarded in the ad triggers sent from scan engine 820.
Alternatively, default preloaded ads can be used even if there is metadata when the mobile advertising server cannot identify any ads that match an ad trigger alert 842 message issued by the scan engine.
When the scan engine 820 is operating in a learning mode, as described above, the mobile advertisement server 840 could dynamically update a set of preloaded ads to match the user interests profile as described above based on the information presented by the scan engine and as a result of the learning mode data collection.
Preloading ads also allows a scanning mode of operations as described above, where in response to an ad trigger alert 842 from the scan engine 820, the mobile advertising server 840 will only need to provide an identifier of a preloaded ad already on the device. As will be appreciated, this saves both network bandwidth and battery life of the mobile device, since the ads are already preloaded on to the device and thus do not need to be transmitted over the air.
Again, rules could be implemented if more than one mechanism is available to provide which ad should be displayed on mobile device 810. In this case, priority as assigned by the service provider could be utilized in order to display the ad that the service provider prefers.
As will be appreciated by those skilled in the art, the pre-storage of advertisements can also be utilized with the embodiments of
In a broadcast environment, advertisements delivered over a broadcast may be augmented with metadata. Such metadata may contain keywords, pattern matching rules, or other information to facilitate ad selection.
Reference is now made to
A scan engine 920 is utilized in a broadcast application and contains content scanning module 922, learning module 924, configuration module 926 and collection module 928. These modules are similar to those described above with reference to
A broadcast server 930 broadcasts to a mobile device and in a preferred embodiment, the broadcast channels can be monitored by scan engine 920.
Reference is now made to
In the embodiment of
Referring again to
As with the examples of
In a further embodiment, ads can include metadata embedded therein. This leads to the simplified case where the scan engine is reduced to matching metadata of broadcast ads or pre-stored ads with preconfigured scan engine metadata or data collected during content scanning could be utilized. Reference is now made to
Conversely, the ad metadata in ad 1132 matches the metadata within scan engine 1120 and the ad is therefore accepted. Further, the ad metadata in ad 1134 does not match the metadata in scan engine 1120 and is therefore rejected.
In this way, scan engine 1120 is merely a comparer and selects ads based on preconfigured data. Further, no scanning needs to be performed in this particular case. Also, the scan engine preconfigured metadata could be dynamically updated, for example using a broadcast bearer.
As will be appreciated by those skilled in the art, the matching in
Metadata associated with ads could also be used by the mobile advertising server 940 of
As will be appreciated by those skilled in the art, this model is more dynamic than the one described above since the mobile advertisement server associates a user with an ad when the actual ad is available from the ad content provider as opposed to an association based on configuration information provided by the ad content provider at registration. The approach of the mobile advertising server associating ads with the appropriate users based on metadata embedded in the ads could work for point to point and mutli-cast bearers and is ideally suited for operating upon data collected by the scan engines functioning in the “learning mode” or “preconfigured mode”.
In a further embodiment, when an ad content provider registers with the mobile advertisement server as in
The mobile advertisement server updates the scan engine on the devices with the appropriate changes and the configuration data. These updates could be periodic, for example, scheduled, or upon registration and deregistration of the ad content providers.
As will be appreciated by those skilled in the art, the above is applicable for both scan engines located on mobile devices and scan engines that are located on a proxy as in
One exemplary mobile device is described below with reference to
Where mobile station 1200 is enabled for two-way communication, it will incorporate a communication subsystem 1211, including both a receiver 1212 and a transmitter 1214, as well as associated components such as one or more, preferably embedded or internal, antenna elements 1216 and 1218, local oscillators (LOs) 1213, and a processing module such as a digital signal processor (DSP) 1220. As will be apparent to those skilled in the field of communications, the particular design of the communication subsystem 1211 will be dependent upon the communication network in which the device is intended to operate.
Network access requirements will also vary depending upon the type of network 1219. In some CDMA networks network access is associated with a subscriber or user of mobile station 1200. A CDMA mobile station may require a removable user identity module (RUIM) or a subscriber identity module (SIM) card in order to operate on a CDMA network. The SIM/RUIM interface 1244 is normally similar to a card-slot into which a SIM/RUIM card can be inserted and ejected like a diskette or PCMCIA card. The SIM/RUIM card can have approximately 64K of memory and hold many key configuration 1251, and other information 1253 such as identification, and subscriber related information.
When required network registration or activation procedures have been completed, mobile station 1200 may send and receive communication signals over the network 1219. As illustrated in
Signals received by antenna 1216 through communication network 1219 are input to receiver 1212, which may perform such common receiver functions as signal amplification, frequency down conversion, filtering, channel selection and the like, and in the example system shown in
Mobile station 1200 preferably includes a microprocessor 1238 which controls the overall operation of the device. Communication functions, including at least data and voice communications, are performed through communication subsystem 1211. Microprocessor 1238 also interacts with further device subsystems such as the display 1222, flash memory 1224, random access memory (RAM) 1226, auxiliary input/output (I/O) subsystems 1228, serial port 1230, one or more keyboards or keypads 1232, speaker 1234, microphone 1236, other communication subsystem 1240 such as a short-range communications subsystem and any other device subsystems generally designated as 1242. Serial port 1230 could include a USB port or other port known to those in the art.
Some of the subsystems shown in
Operating system software used by the microprocessor 1238 is preferably stored in a persistent store such as flash memory 1224, which may instead be a read-only memory (ROM) or similar storage element (not shown). Those skilled in the art will appreciate that the operating system, specific device applications, or parts thereof, may be temporarily loaded into a volatile memory such as RAM 1226. Received communication signals may also be stored in RAM 1226.
As shown, flash memory 1224 can be segregated into different areas for both computer programs 1258 and program data storage 1250, 1252,1254 and 1256. These different storage types indicate that each program can allocate a portion of flash memory 1224 for their own data storage requirements. Microprocessor 1238, in addition to its operating system functions, preferably enables execution of software applications on the mobile station. A predetermined set of applications that control basic operations, including at least data and voice communication applications for example, will normally be installed on mobile station 1200 during manufacturing. Other applications could be installed subsequently or dynamically.
A preferred software application may be a personal information manager (PIM) application having the ability to organize and manage data items relating to the user of the mobile station such as, but not limited to, e-mail, calendar events, voice mails, appointments, and task items. Naturally, one or more memory stores would be available on the mobile station to facilitate storage of PIM data items. Such PIM application would preferably have the ability to send and receive data items, via the wireless network 1219. In a preferred embodiment, the PIM data items are seamlessly integrated, synchronized and updated, via the wireless network 1219, with the mobile station user's corresponding data items stored or associated with a host computer system. Further applications may also be loaded onto the mobile station 1200 through the network 1219, an auxiliary I/O subsystem 1228, serial port 1230, short-range communications subsystem 1240 or any other suitable subsystem 1242, and installed by a user in the RAM 1226 or preferably a non-volatile store (not shown) for execution by the microprocessor 1238. Such flexibility in application installation increases the functionality of the device and may provide enhanced on-device functions, communication-related functions, or both. For example, secure communication applications may enable electronic commerce functions and other such financial transactions to be performed using the mobile station 1200.
In a data communication mode, a received signal such as a text message or web page download will be processed by the communication subsystem 1211 and input to the microprocessor 1238, which preferably further processes the received signal for output to the display 1222, or alternatively to an auxiliary I/O device 1228.
A user of mobile station 1200 may also compose data items such as email messages for example, using the keyboard 1232, which is preferably a complete alphanumeric keyboard or telephone-type keypad, in conjunction with the display 1222 and possibly an auxiliary I/O device 1228. Such composed items may then be transmitted over a communication network through the communication subsystem 1211.
A scan engine 1260, which could be equivalent to scan engines 120, 320, 720, 820, 920,1020 and 1120, could scan the inputs and outputs from mobile device 1200.
For voice communications, overall operation of mobile station 1200 is similar, except that received signals would preferably be output to a speaker 1234 and signals for transmission would be generated by a microphone 1236. Alternative voice or audio I/O subsystems, such as a voice message recording subsystem, may also be implemented on mobile station 1200. Although voice or audio signal output is preferably accomplished primarily through the speaker 1234, display 1222 may also be used to provide an indication of the identity of a calling party, the duration of a voice call, or other voice call related information for example.
Serial port 1230 in
Other communications subsystems 1240, such as a short-range communications subsystem, is a further optional component which may provide for communication between mobile station 1200 and different systems or devices, which need not necessarily be similar devices. For example, the subsystem 1240 may include an infrared device and associated circuits and components or a Bluetooth™ communication module to provide for communication with similarly enabled systems and devices.
The embodiments described herein are examples of structures, systems or methods having elements corresponding to elements of the techniques of this application. This written description may enable those skilled in the art to make and use embodiments having alternative elements that likewise correspond to the elements of the techniques of this application. The intended scope of the techniques of this application thus includes other structures, systems or methods that do not differ from the techniques of this application as described herein, and further includes other structures, systems or methods with insubstantial differences from the techniques of this application as described herein.