The invention relates generally to method and system for displaying commercial content on a computing device, and specifically to displaying commercial content within or alongside an application on the computing device, based on a user's browsing history.
Internet has become a favorable medium for advertising due to its rising popularity. Typically, service providers provide advertisers with a platform to advertise online. Existing technologies allow a service provider to collect vast amounts of data from users based on various techniques such as determining the user's IP address, fetching cookies from the user's computing device etc. The service provider can then display the most relevant commercial content to a user based on the collected information.
Delivering targeted commercial content to users is a top priority for the service providers, since targeted commercial content has proved to be extremely useful and profitable. Display of targeted commercial content, based on the user behavior on the Internet, increases the likelihood of a user getting commercial content exactly based on his requirements leading to higher conversions for the advertisers.
Hence, there is a need to provide method and system for displaying commercial content relevant to a user directly in one or more application on the user's computing device.
The accompanying figures, where like reference numerals refer to identical or functionally similar elements throughout the separate views and which together with the detailed description below are incorporated in and form part of the specification, serve to further illustrate various embodiments and to explain various principles and advantages all in accordance with the invention.
Skilled artisans will appreciate that elements in the figures are illustrated for simplicity and clarity and have not necessarily been drawn to scale. For example, the dimensions of some of the elements in the figures may be exaggerated relative to other elements to help to improve understanding of embodiments of the invention.
Before describing in detail embodiments that are in accordance with the invention, it should be observed that the embodiments reside primarily in combinations of method steps and apparatus components related to displaying commercial content within or alongside an application on a computing device. Accordingly, the system components and method steps have been represented where appropriate by conventional symbols in the drawings, showing only those specific details that are pertinent to understanding the embodiments of the invention so as not to obscure the disclosure with details that will be readily apparent to those of ordinary skill in the art having the benefit of the description herein.
In this document, relational terms such as first and second, top and bottom, and the like may be used solely to distinguish one entity or action from another entity or action without necessarily requiring or implying any actual such relationship or order between such entities or actions. The terms “comprises,” “comprising,” or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. An element proceeded by “comprises . . . a” does not, without more constraints, preclude the existence of additional identical elements in the process, method, article, or apparatus that comprises the element.
It will be appreciated that embodiments of the invention described herein may be comprised of one or more conventional processors and unique stored program instructions that control the one or more processors to implement, in conjunction with certain non-processor circuits, some, most, or all of the functions of displaying the commercial content within or alongside the application on the computing device described herein. The non-processor circuits may include, but are not limited to, a radio receiver, a radio transmitter, signal drivers, clock circuits, power source circuits, and user input devices. As such, these functions may be interpreted as steps of a method and system for displaying the commercial content within or alongside the application on the computing device. Alternatively, some or all functions could be implemented by a state machine that has no stored program instructions, or in one or more Application Specific Integrated Circuits (ASICs), in which each function or some combinations of certain of the functions are implemented as custom logic. Of course, a combination of the two approaches could be used. Thus, methods and means for these functions have been described herein. Further, it is expected that one of ordinary skill, notwithstanding possibly significant effort and many design choices motivated by, for example, available time, current technology, and economic considerations, when guided by the concepts and principles disclosed herein will be readily capable of generating such software instructions and programs and ICs with minimal experimentation.
The present invention relates generally to displaying the commercial content, relevant to the user, within or alongside the application on the computing device. Those skilled in the art shall appreciate that commercial content can be any content that can either have a commercial value such as advertising content, or content that may lead a user to purchase a product or service or even content that can merely be informational in nature such as the weather of a city or stock quotes for the day or restaurants in places the user intends to visit or any such information. Further, those skilled in the art shall also appreciate that the application on which the commercial content is displayed can be an offline application, such as a media player, games etc. or web applications such as email systems, webpages, chat programs etc. Essentially, the application can be any application on the computing device or an application served on the computing device through a browser, which may enable the display of the commercial content. For instance, the commercial content such as advertisements, weather metadata information, stock quotes etc. can be displayed to a user browsing webpages using a browser. Alternatively, a chat client may use a plugin to display commercial content to users of the chat client. Hence, the scope of the present invention may extend to any and all applications on the computing device. Also, the commercial content can be displayed within the application, for instance, within a chat window or within the browser, or the commercial content can be displayed outside the application, for instance, in a view pane alongside the chat client or the browser.
Referring now to
For instance, if a user browses a cars related website on Browser 110, System 115 determines that the user may be interested in cars and car-related information. In accordance with the present invention, System 115 communicates with Ad Sever 120 to fetch the commercial content which is relevant to cars. The commercial content may be, but not limited to, advertisements of car companies, latest car races, etc. The commercial content can then be displayed on Application 125 on Computing Device 105. Application 125 can be Browser 110 itself, or other applications such as a media player, an email client etc.
The method of displaying the commercial content on Application 125 is described below in conjunction with
Turning now to
One or more user interest topics are extracted, at step 210, from one or more of the URLs and the content on the URLs. For instance, if the user accesses a website “http://www.computers.com/laptops”, the user interest topic of “laptops” and “computers” can be extracted from the URL of the website. Additional user interest topics can also be extracted from any query string parameters within the URL. For e.g. if the URL is a search engine URL, the user interest topic can be extracted using keywords searched by the user. The searched keywords are passed as request parameters in the resulting URL. For instance, if the user searches for laptops in a search engine, the search engine URL maybe of the form “www.searchengine.com/?q=laptop/”. From this URL, a user interest topic of “laptop” may be extracted at step 210.
Further, the user interest topics can also be extracted from the content on the URLs. The content can be extracted while the user is accessing the website or obtained from the browser history, or alternately, an independent request can be made to fetch the content on the URLs recorded.
In an embodiment of the present invention, the user interest topics for a given URL are extracted at step 210, only if the user interest topics have not already been extracted for the given URL earlier. Those skilled in the art will appreciate that this embodiment minimizes redundancy and consumption of resources.
The user interest topics are then stored, at step 215, in a topic database against the URL from which the user interest topics are extracted. For instance, in the example above, the user interest topics “laptop” and “computer” are stored in the topic database against the URL http://www.computers.com/laptops/. The user interest topics may not be extracted at step 210, if the user interest topics for a URL are already available in the topic database.
Also, the user interest topics can be stored, at step 215, in a user database against a unique user identifier. In the above example, the user interest topic of “laptops” and “computers” can be additionally stored in the user database against a unique user identifier of the user who was browsing http://www.computers.com/laptops/. The unique user identifier can be a generated alphanumeric string assigned to the user. The alphanumeric string can be such that it is independent of an identity of the user, so as to protect the identity of the user.
In an embodiment of the present invention, the topic database and the user database are stored in a temporary memory, for example the Random Access Memory (RAM), of Computing Device 105.
A unique user identifier can be created for each user of Computing Device 105. The user interest topics of different users are stored against their respective unique user identifiers in the user database, resulting in association of the correct user interest topics for all the users of Computing Device 105.
In an embodiment of the present invention, a user can request for creation of a new unique user identifier for the user. Further, part or all of the contents of the user database can be reset in response to a predetermined action. The predetermined action can be restarting Computing Device 105. This ensures that if a new user logs on, the user database contains user interest topics extracted from URLs accessed only by the new user. Similarly, the predetermined action can be restarting Browser 110. Alternately, the predetermined action can be a user action such as the user clicking on a reset button. Those skilled in the art will realize that resetting the user database can include, for instance, creation of a new unique user identifier, clearing the user database, clearing the user interest topics for a particular user, etc.
For instance, if a first user browses a laptop related URL, the extracted user interest topic is “laptops”. This user interest topic is stored against the first user's unique user identifier. If the first user logs off from Computing Device 105 and a second user logs on, a separate unique user identifier can be created or used for the second user. When the second user browses a cars related website, because of a different unique user identifier being created for the second user, commercial content related to ‘laptops’ will not be displayed on Application 125. Instead, cars related commercial content can be displayed to the second user. Hence, the present invention ensures that the commercial content is always relevant to a user currently using Computing Device 105.
In an embodiment of the present invention, the user database and the topic database are two different databases. In another embodiment of the present invention, the user database and the topic database are part of a relational database. In yet another database, the user database and the topic database are included in one single database. The topic database and the user database maybe in the form of a Relational Database or a temporary cache or an in-memory database, or a file, or any such storage form.
When the user uses Application 125 which wishes to display commercial content to the user, commercial content relevant to the user interest topics are obtained at step 220. In an embodiment, the commercial content can also be obtained and saved on Computing Device 105 beforehand, prior to the user starting Application 125. This ensures that the commercial content is available even when Computing Device 105 is offline.
A date and time when the user accesses a particular URL can be stored, at step 215, against the user interest topic extracted from that URL and against the user's unique user identifier in the user database. A user may use Computing Device 105 to search for laptops and then another user may use the same computing device, Computing Device 105, a few hours later and perform searches for cars. To ensure that laptops related commercial content is displayed to the first user and cars related commercial content to the second one, the user interest topics with a date and time greater than a predetermined date and time are used to obtain the commercial content at step 220 and following. The predetermined date and time can be the start-time of Computing Device 105, Application 125 or Browser 110.
In one embodiment, for obtaining the commercial content at step 220, the user interest topics are fetched from the user database at step 225 and the user interest topics are then provided to Ad Server 120 at step 230.
In an alternate embodiment, for obtaining the commercial content at step 220, the unique user identifier of the user is fetched from the user database at step 235 and is forwarded to Ad Server 120 at step 240. Ad Server 120 can then communicate with the user database to fetch the user interest topics corresponding to the unique user identifier at step 245.
Ad Server 120, upon receiving the user interest topics, returns the commercial content relevant to the user interest topics to Computing Device 105. Methods used for selecting commercial content relevant to a particular concept is known in the art and Ad Server 120 using any and all such methods to select the commercial content is within the scope of the present invention.
The commercial content relevant to the user interest topics is received at step 250. This commercial content can then be displayed within or alongside Application 125 at step 255. As mentioned earlier, Application 125 can be any application on Computing Device 105 or an application served on Computing Device 105 through Browser 110.
Turning now to
The sending of the user unique identifier or the user interest topics to the website page can be achieved through modifying the behavior of Browser 110 such that Browser 110 sends this information to the website page as a part of the request, or through creating cookies, which include one or more of the unique user identifiers or user interest topics, within the cookie folder of Browser 110 at step 305. The user accesses the website page on Browser 110 at step 310.
In one embodiment, Browser 110 forwards the cookie described above directly to the website page at step 315. The website page can be any website page. In this embodiment, separate cookies maybe created for various Top Level Domains (TLDs) by setting a cookie's domain to the TLD. For instance, separate cookies can be created for domain names with “com”, “net”, “org” etc. TLDs. So if the website page is has a “com” TLD, a cookie for “com” TLD is forwarded to the website page at step 315.
The website page sends either one of the unique user identifier and the user interest topics to Ad Server 120 at step 320. Ad Server 120 can obtain the user interest topics corresponding to the unique user identifier from the user database at step 325. Ad Server 120, finally, returns commercial content relevant to the user interest topics to the website page. The website page can then display the commercial content within the website page at step 355.
In an alternate embodiment, the cookies are created such that the cookie domain is specific to various ad servers. Hence, one or more cookies are created for one or more ad servers.
The website page, in this embodiment, includes an ad-request code. When the user accesses the website page, the ad-request code on the website page results in Browser 110 forwarding the cookie to its corresponding Ad Server 120 at step 335 along with a request for commercial content. Ad Server 120 extracts the unique user identifier or the user interest topics from the cookie at step 340. Ad Server 120 obtains the user interest topics corresponding to the unique user identifier from the user database at step 345. Upon receiving the user interest topics, Ad Server 120 returns the relevant commercial content to Browser 110 at step 350. Browser 110, then, displays the commercial content within the website page at step 355.
Those skilled in the art will appreciate that an advertiser may pay a publisher, for example an application provider of Application 125 or a browser provider of Browser 110, based on various pay models known in the art. For example, pay per click, pay per thousand impressions, pay per lead, pay per action etc. To minimize click spam or click fraud, an embodiment of the present invention includes verifying an authenticity of a request for the commercial content. The authenticity of a request can be determined based on the unique user identifier. Since a unique user identifier is created for each user, click spam or click fraud can be detected more easily than in conventional methods that use the user's Internet Protocol (IP) address to detect where a click is coming from.
Further, Ad Server 120 can reject a request for commercial content, if a number of requests coming from Application 125 or the website page for a specific unique user identifier exceeds a predetermined number of requests. For instance, the maximum number of requests coming from a same application or website page for a particular unique user identifier may be set to 10. If the number of requests exceeds 10, Ad Server 120 can reject these requests. This ensures that an advertiser does not pay for fraudulent clicks.
In an embodiment, a functionality of Application 125 is compromised or reduced, or an alternate version of the application is provided to the user, if Application 125 fails to find the unique user identifier or the user interest topics or both. For instance, if an email client does not find the unique user identifier and, consequently, cannot display the commercial content, the present invention can enable the email client to be operated only in a lite version, where certain functions of the email client are disabled. Alternately, a user can be given the permission to allow commercial content to be display on applications on Computing Device 105. If the user allows the display of commercial content, applications can be upgraded to premium version, which can include certain ad-on functions.
Turning now to
System 115 further includes a Topic Extractor 415. Topic Extractor 415 extracts user interest topics from the recorded URLs or the content on the URLs or both. In an embodiment, Topic Extractor 415 is configured to extract the user interest topics from the URLs only if those user interest topics are absent in a Topic Database 420. The method used by Topic Extractor 415 for extracting the user interest topics is described in detail in conjunction with
Topic Database 420 is configured to store the user interest topics against a URL, from which the user interest topics are extracted. For instance, if the user accesses a laptop related URL, “http://www.computers.com/laptops”, Topic Extractor 415 extracts user interest topic as “laptops” and “computers”. “laptops” and “computers” are then stored as a user interest topic in Topic Database 420 against the URL “http://www.computers.com/laptops”. Additional user interest topics can also be extracted from any query string parameters within the URL.
Further, Topic Database 420 can store the user interest topics for a predetermined period of time. Those skilled in the art will appreciate that the predetermined period of time can be, but is not included to, a time till Computing Device 105 is restarted, a time till content on the URL is updated, Browser 110 is restarted, user requests clearing of Topic Database 420, etc. In an embodiment, the Topic Database 420 may be stored on a temporary memory, for example the RAM, of Computing Device 105. In an embodiment, Topic Database 420 may be permanent.
The user interest topics can also be stored in a User Database 425, against a unique user identifier. For instance, the user interest topics of “laptops” and “computers” in the previous example can be stored in User Database 425 against a unique user identifier of the user. The unique user identifier can be a generated alphanumeric string assigned to the user. The alphanumeric string can be such that it is independent of an identity of the user, so as to protect the identity of the user. The user interest topics can be stored in User Database 425 for a predetermined period of time. In an embodiment of the present invention, User Database 425 can be stored in a temporary memory, such as RAM, of Computing Device 105.
As mentioned in conjunction with
In an embodiment of the present invention, a user can request Unique User Identifier Module 430 to create a new unique user identifier for the user. Further, to avoid displaying commercial content relevant to a previous user, but not the current user of Computing Device 105, part or all of the contents of User Database 425 can be reset in response to a predetermined action. The predetermined action can be restarting Computing Device 105. This ensures that if a new user logs on, User Database 425 contains the user interest topics extracted from URLs accessed only by the new user. Similarly, the predetermined action can be restarting Browser 110. Alternately, the predetermined action can be a user action such as the user clicking on a reset button. Those skilled in the art will realize that resetting User Database 425 can include, for instance, creation of a new unique user identifier, clearing User Database 425, clearing the user interest topics for a particular user, etc.
In an embodiment of the present invention, Topic Database 420 and/or User Database 425 can be configured to store a date and time when the user accesses a particular URL against the user interest topic extracted from that URL and against the user's unique user identifier. A user may use Computing Device 105 to search for laptops and then another user may use the same computing device, Computing Device 105, a few hours later and perform searches for cars. To ensure that laptops related commercial content is displayed to the first user and cars related commercial content to the second one, the user interest topics with a date and time greater than a predetermined date and time are used to obtain the commercial content at step 220 and following. The predetermined date and time can be the start-time of Computing Device 105, Application 125 or Browser 110.
In an embodiment of the present invention, Topic Database 420 and User Database 425 are two different databases. In another embodiment of the present invention, User Database 425 and Topic Database 420 are part of a relational database. In yet another database, User Database 425 and Topic Database 420 are included in one single database.
Topic Database 420 and User Database 425 maybe in the form of a Relational Database or a temporary cache or an in-memory database, or a file, or any such storage form.
Topic Database 420 and User Database 425 can be operatively coupled to Computing Device 105 or an independent server. The independent server can be, but is not limited to, an Internet Service Provider (ISP) server, and internet gateway, or any such server.
When the user uses Application 125 which wishes to display commercial content to the user, a Content Fetcher 435 obtains commercial content relevant to the user interest topics from Ad Server 120. In an embodiment, Content Fetcher 435 can also obtain and save the commercial content on Computing Device 105 beforehand, prior to the user starting Application 125. This ensures that the commercial content is available even when Computing Device 105 is offline.
In one embodiment of the present invention, Content Fetcher 435 obtains the user interest topics from User Database 425 and then provides the user interest topics to Ad Server 120. Content Fetcher 435 can also provide Ad Server 120 with only the user interest topics extracted from URLs accessed by the user after the predetermined date and time.
In an alternate embodiment, Content Fetcher 435 can obtain the unique user identifier of the user from User Database 425 and forward the unique user identifier to Ad Server 120. Ad Server 120 can then communicate with User Database 425 to fetch the user interest topics corresponding to the unique user identifier.
Ad Server 120, upon receiving the user interest topics, returns the commercial content relevant to the user interest topics to Content Fetcher 435. Methods used for selecting commercial content relevant to a particular concept are known in the art and Ad Server 120 using any and all such methods to select the commercial content is within the scope of the present invention.
In yet another embodiment of the present invention, System 115 includes an Intermediate Proxy Module 440. In this embodiment, the request from Content Fetcher 435 to Ad Server 120 for the commercial content is intercepted by Intermediate Proxy Module 440. The request can include the unique user identifier or the user interest topics corresponding to the user. In response to the request, Intermediate Proxy Module 440 can fetch the user interest topics corresponding to the unique user identifier from User Database 425. Intermediate Proxy Module 440, then, appends the user interest topics to the request for the commercial content and sends the request to Ad Server 120. Hence, in this embodiment, Ad Server 120 may not be required to be configured for fetching the user interest topics corresponding to a unique user identifier.
Next, Ad Server 120, upon receiving the user interest topics, returns the commercial content relevant to the user interest topics to Content Fetcher 435. Methods used for selecting commercial content relevant to a particular concept are known in the art and Ad Server 120 using any and all such methods to select the commercial content is within the scope of the present invention.
A Display Module 445 is configured to display the commercial content received from Ad Server 120. Display Module 445 can display this commercial content within or alongside Application 125. As mentioned earlier, Application 125 can be any application on Computing Device 105 or an application served on Computing Device 105 through Browser 110.
System 115 can also be configured to display commercial content within a website page being browsed by the user on Browser 110. This can be achieved by sending the user unique identifier or the user interest topics to the website page or by sending the user unique identifier or the user interest topics to Ad Server 120 which returns an ad block to be displayed directly within the website page. In this case, Application 125 can be considered to be Browser 110, the website page, or a combination of Browser 110 along with the website page being browsed.
In an embodiment, the website page contains a tag at a location where the commercial content has to be displayed. In this embodiment, System 115 includes a Second Proxy Module 450 which fetches the user interest topics using the unique user identifier from User Database 425. Second Proxy Module 450, receives the commercial content relevant to the user interest topics from Ad Server 120. Second Proxy Module 450, then, replaces a tag in the website page with the commercial content. Second Proxy Module 450 can be any in-between proxy module between Computing Device 105 and the website page.
In another embodiment, System 115 includes a Cookie Creator 455 for creating cookies within Browser 110 for fetching commercial content. Functioning of Cookie Creator 455 is described in detail in conjunction with
Further, as an add-on, System 115 can also include a Spam Detector 460. Spam Detector 460 is configured to verify the authenticity of a request for the commercial content to minimize click spam or click fraud. Spam Detector 460 can determine the authenticity of a request based on the unique user identifier. Since a unique user identifier is created for each user, click spam or click fraud can be detected more easily than in conventional methods that use the user's Internet Protocol (IP) address to detect where a click is coming from.
Further, Ad Server 120 can be configured to reject a request for commercial content, if a number of requests coming from Application 125 or the website page for a specific unique user identifier exceeds a predetermined number of requests. For instance, the maximum number of requests coming from a same application or website page for a particular unique user identifier may be set to 10. If the number of requests exceeds 10, Ad Server 120 can reject these requests. This ensures that an advertiser does not pay for fraudulent clicks.
In an embodiment of the present invention, System 115 is configured to prompt the user to install system modules, if Application 125 fails to find those System modules, the unique user identifier and/or the user interest topics. The System modules include one or more of Recording Module 405, Topic Extractor 415, Topic Database 420, User Database 425, Content Fetcher 435, Display Module 445, a browser plugin, a parsing program, a browser cache, First Proxy Module 410, an independent server, Unique User Identifier 430 module, Intermediate Proxy Module 440, Cookie Creator 455, the ad-request code on the website page, Second Proxy Module 450 and Spam Detector 460.
In an embodiment, System 115 is configured to launch an alternate version of Application 125, if Application 125 fails to find some system modules, the unique user identifier and/or the user interest topics. The alternate version of Application 125 can have reduced functionalities. For instance, if an email client does not find the unique user identifier and, consequently, cannot display the commercial content, the present invention can enable the email client to be operated only in a lite version, where certain functions of the email client are disabled. Alternately, a user can be given the permission to allow commercial content to be display on applications on Computing Device 105. If the user allows the display of commercial content, the relevant system modules can be installed and Application 125 can be upgraded to a premium version, which can include certain ad-on functions.
Turning now to
Cookie Creator 455 creates one or more Cookies 510, which include the unique user identifiers or the user interest topics, within the cookie folder of Browser 110. When the user accesses Website Page 505 on Browser 110, in one embodiment, Browser 110 forwards Cookies 510 directly to Website Page 505 as a part of the request for the commercial content. Website Page 505 can be any website page. In this embodiment, Cookie Creator 455 may create separate cookies for various Top Level Domains (TLDs) by setting a cookie's domain to the TLD. For instance, Cookie Creator 455 can create separate cookies for domain names with “com”, “net”, “org” etc. TLDs. So if Website Page 505 is has a “com” TLD, a cookie for “com” TLD is forwarded to Website Page 505.
Cookie 510 can be appended to a request for the website page. Website Page 505 sends either one of the unique user identifier and the user interest topics to Ad Server 120. Ad Server 120 can obtain the user interest topics corresponding to the unique user identifier from User Database 425. Ad Server 120, finally, returns commercial content relevant to the user interest topics to Website Page 505. Website Page 505 can then display the commercial content within Website Page 505.
In an alternate embodiment, Cookie Creator 455 Creates Cookies 510 specific to various ad servers. Hence, one or more cookies are created corresponding to one or more ad servers.
Website Page 505, in this embodiment, includes an Ad-request Code 515. When the user accesses Website Page 505, Ad-request Code 515 results in Browser 110 forwarding Cookies 510 to Ad Server 120 along with a request for commercial content. Ad Server 120 extracts the unique user identifier of the user interest topics from Cookies 510. Ad Server 120 then obtains the user interest topics corresponding to the unique user identifier from User Database 425. Upon receiving the user interest topics, Ad Server 120 returns the relevant commercial content to Browser 110. Browser 110, then, displays the commercial content within Website Page 505.
Various embodiments of the present invention allow applications, including offline applications and web applications, to display targeted commercial content, such as advertisements to its users without comprising on user privacy. Further, displaying targeted commercial content on the applications used by the user increases advertiser visibility and sales while providing users with the ability to obtain more meaningful content based on their needs.
The above mentioned advantages are merely exemplary and should not be restricted to the ones specified. Those skilled in the art shall appreciate that the advantages may be several and all such advantages are within the scope of the present invention.
Number | Date | Country | Kind |
---|---|---|---|
458/MUM2008 | Mar 2008 | IN | national |