WO2014150073A2 - Methods and systems for requesting, processing, and displaying content - Google Patents

Methods and systems for requesting, processing, and displaying content Download PDF

Info

Publication number
WO2014150073A2
WO2014150073A2 PCT/US2014/022096 US2014022096W WO2014150073A2 WO 2014150073 A2 WO2014150073 A2 WO 2014150073A2 US 2014022096 W US2014022096 W US 2014022096W WO 2014150073 A2 WO2014150073 A2 WO 2014150073A2
Authority
WO
WIPO (PCT)
Prior art keywords
user
content
advertisement
video
information
Prior art date
Application number
PCT/US2014/022096
Other languages
French (fr)
Other versions
WO2014150073A3 (en
Inventor
David S. Grant
Sanjeev Kuwadekar
Original Assignee
Ad-Vantage Networks, 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
Priority claimed from US13/836,672 external-priority patent/US20130276024A1/en
Application filed by Ad-Vantage Networks, Inc. filed Critical Ad-Vantage Networks, Inc.
Publication of WO2014150073A2 publication Critical patent/WO2014150073A2/en
Publication of WO2014150073A3 publication Critical patent/WO2014150073A3/en

Links

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/0277Online advertisement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • G06F21/645Protecting data integrity, e.g. using checksums, certificates or signatures using a third party
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
    • H04N21/23424Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving splicing one content stream with another content stream, e.g. for inserting or substituting an advertisement
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/258Client or end-user data management, e.g. managing client capabilities, user preferences or demographics, processing of multiple end-users preferences to derive collaborative data
    • H04N21/25866Management of end-user data
    • H04N21/25891Management of end-user data being end-user preferences
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • H04N21/47202End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for requesting content on demand, e.g. video on demand
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/475End-user interface for inputting end-user data, e.g. personal identification number [PIN], preference data
    • H04N21/4751End-user interface for inputting end-user data, e.g. personal identification number [PIN], preference data for defining user accounts, e.g. accounts for children
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/482End-user interface for program selection
    • H04N21/4828End-user interface for program selection for searching program descriptors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/812Monomedia components thereof involving advertisement data

Definitions

  • Embodiments disclosed herein are related to methods and systems for identifying and presenting information, such as information related to a search query or located in an electronic representation of data.
  • Embodiments disclosed herein relate to systems and methods controlling the transmission and display of digital content to users.
  • Embodiments of systems and methods disclosed herein are directed to online advertising, and more particularly, to targeted online advertising based on user- specific information.
  • the Internet has become an essential tool for large numbers of people.
  • the Internet is used to perform searches, run applications, review content, communicate with others, house emails and files, etc.
  • web pages typically provide display or video ads to site visitors. Certain web sites raise revenue by charging advertisers to display advertisements on the web site. However, disadvantageously, often such display advertisements are not of sufficient interest to a given user.
  • search engines typically utilize an algorithm to compile search results relevant to a user's search query.
  • Certain search engines raise revenue by charging advertisers to have their listings appear higher up in the search results and/or by displaying advertisements related to the search query on the same page as the unpaid search engine results.
  • disadvantageously, often such search engines fail to display items that are of sufficient interest to a given user.
  • Embedded content is also the vehicle typically used to deliver viruses to users such as the Trojan Virus and RootKit virus which can be used to damage a user's finances, breach the user's privacy, and damage the user's connected device.
  • Certain embodiments of the present invention are related to methods and systems for identifying and presenting information, such as information related to a search query or with respect to an electronic representation of data (e.g., a Web page, content stream, data provided via a service or application, etc.).
  • information related to a search query or with respect to an electronic representation of data (e.g., a Web page, content stream, data provided via a service or application, etc.).
  • Certain embodiments of the present invention are related to methods and systems for identifying and presenting information, such as information related to a search query or with respect to an electronic representation of data (e.g., a Web page, content stream, data provided via a service or application, etc.).
  • information related to a search query or with respect to an electronic representation of data (e.g., a Web page, content stream, data provided via a service or application, etc.).
  • Certain embodiments are related to methods and systems for allowing content publishers, media broadcasters and network access providers better ways to maximize the relevancy and value of the content and advertisements provided to users.
  • a node comprising: a processor; tangible, non-transitory memory configured to store a program that when executed by the processor is configured to cause the node to perform operations, the operations comprising: receiving data for a first document from a remote system, wherein the first document is to be displayed on a terminal associated with a user; causing, at least in part, an identification of available content space in the first document, the available content space including white space in which the first document does not display user-viewable information: causing, at least in part, an advertisement to be selected based at least in part on: information, accessed from memory, associated with an advertiser associated with the advertisement, user-related information, a dimension, shape, and/or size of the available content space; causing, after outputting the first document to a web browser associated with the terminal associated with the user, at least in part, the selected advertisement overlay at least a part of the available content space, or at least a portion of the available content space to be replaced with the advertisement; so that if the first document
  • Certain embodiments provide a method of processing a document, the comprising: receiving data for a first document from a remote system, wherein the first document is to be displayed on a terminal associated with a user; causing, at least in part, an automatic identification available content space in the first document, the available content space including white space in which the first document does not display user-viewable information: causing, at least in part, an advertisement to be selected based at least in part on at least one of: information, accessed from memory, associated with an advertiser associated with the second advertisement; user-related information; and a dimension, shape, and/or size of the available content space; causing after outputting the first document to a web browser associated with the terminal associated with the user, at least in part, the selected advertisement overlay at least a part of the available content space, or at least a part of the available content space to be replaced with the advertisement; so that if the first document is displayed on the terminal associated with the user, the advertisement is displayed in at least a portion of the available content space.
  • Certain embodiments provide non-transitory media storing program instructions configured to cause a computing system including one or more computing devices to perform operations comprising: receiving data for a first document from a remote system, wherein the first document is to be displayed on a terminal associated with a user; causing, at least in part, an identification of available content space in the first document, the available content space including white space in which the first document does not display user-viewable information: causing, at least in part, an advertisement to be selected based at least in part on: information, accessed from memory, associated with an advertiser associated with the advertisement, user-related information, a dimension, shape, and/or size of the available content space; causing, after outputting the first document to a web browser associated with the terminal associated with the user, at least in part, the selected advertisement overlay at least a part of the available content space, or at least a portion of the available content space to be replaced with the advertisement; so that if the first document is displayed on the terminal associated with the user, the advertisement is displayed in at least a
  • Certain embodiments modify, insert, overlay and/or replace content (collectively referred to as enhanced content placement).
  • the enhanced content placement can be performed with respect to search result listings or other content from a web page or data provider.
  • Certain embodiments substitute original content with replacement content, and/or augment the placement/position of certain content on a search results page, such as by reordering search results or inserting a listing within an original search result listing.
  • inserted/replacement content may overlay (e.g., as a pop-up or a layered content) unwanted or less desirable content.
  • a user and/or software application may be provided with a control via which the user/application is provided the ability to toggle the inserted content on or off to reveal the original content configuration (e.g., the original order of the content, such as the original ordering of a search result listing, or the original advertisements) before the page modification was made.
  • An example embodiment provides a system, comprising: a processor; tangible, non-transitory media that stores a program that when executed by the processor is configured to perform operations, comprising: receiving search results from a search engine, the search results including a listing including one or more links; selecting a link to a networked site associated with a first entity based on at least one selection criterion; determining at least one of the following: whether the search result listing includes the link to the networked site associated with the first entity; whether the link to the networked site associated with the first entity is at a list position that fails to satisfy a first criterion; at least partly in response to determining that: the link to the networked site associated with the first entity is not included in the search result listing, or the link to the networked site associated with the first entity is not at a position in the search result listing that satisfies the first criterion, modifying the search listing by causing the link to the networked site associated with the first entity to appear in a
  • An example embodiment provides a system, comprising: a processor; tangible, non-transitory media that stores a program that when executed by the processor is configured to perform operations, comprising: receiving over a network search results from a remote search engine, the search results including a listing including one or more links; selecting a networked site link, wherein the network site link is selected based on at least one selection criterion; and modifying the search listing, wherein the search listing is modified by causing the link to the networked site to be positioned at a selected position in the search listing, wherein the selected position is selected based at least in part on a level of service subscribed to by an entity associated with the network site link.
  • An example embodiment provides a method of processing search results, comprising: receiving over a network at a computer system search results from a remote search engine, the search results including a listing including one or more links; selecting, using the computer system, a networked site link, wherein the network site link is selected based on at least one selection criterion; and modifying, using the computer system, the search listing, wherein the search listing is modified by causing the link to the networked site to be positioned at a selected position in the search listing, wherein the selected position is selected based at least in part on a level of service subscribed to by an entity associated with the network site link.
  • Tangible, non-transitory media that stores a program that when executed by the processor is configured to perform operations, comprising: receiving search results from a remote search engine, the search results including a listing including one or more links; selecting a networked site link, wherein the network site link is selected based on at least one selection criterion; and modifying the search listing, wherein the search listing is modified by causing the link to the networked site to be positioned at a selected position in the search listing, wherein the selected position is selected based at least in part on a level of service subscribed to by an entity associated with the network site link.
  • An example embodiment provides a system, comprising: a processor; tangible, non-transitory media that stores a program that when executed by the processor is configured to perform operations, comprising: transmitting instructions to a plurality of nodes, the nodes including respective computing devices, wherein the instructions are configured to cause at least in part the plurality of nodes to: automatically issue search requests, activate links in search results, and/or issue uniform resource locator requests, so that a first of the plurality of nodes issues a search, activates a link, and/or issues a uniform resource locator request at a time different than a second of the plurality of nodes; issuing a report over a network, the report providing information related to the number of times the plurality of nodes issued search requests, activated links, and/or issued uniform resource requests.
  • An example embodiment provides a method, comprising: transmitting from a computing system instructions to a plurality of nodes, the nodes including respective computing devices, wherein the instructions are configured to cause at least in part the plurality of nodes to: automatically issue search requests, activate links in search results, and/or issue uniform resource locator requests, so that a first of the plurality of nodes issues a search, activates a link, and/or issues a uniform resource locator request at a time different than a second of the plurality of nodes; generating, using the computer system, a response, and issuing the report over a network, the report providing information related to the number of times the plurality of nodes issued search requests, activated links, and/or issued uniform resource requests.
  • An example embodiment provides an interactive television, comprising: a processor; tangible, non-transitory memory configured to store a program that when executed by the processor is configured to perform operations, comprising: receiving data for a first video content from a remote system, wherein the first video content is to be displayed on the interactive television to a user; causing, at least in part, an automatic identification of a first video advertisement in the first video content data, causing, at least in part, a second video advertisement to be selected based at least in part on: information, accessed from memory, associated with an advertiser associated with the second video advertisement, and user-related information; causing after outputting the first video content, at least in part, the first video advertisement to be replaced with the second video advertisement, or the first video advertisement to be obscured by the second video advertisement, so that if the first video content is displayed on the interactive television, the second video advertisement is displayed and the first video advertisement is not visible.
  • Another example embodiment provides a method of processing video content, the method comprising: receiving, at an interactive television, data for a first video content from a remote system, wherein the first video is to be displayed on the interactive television to a user; causing, at least in part, an automatic identification of a first video advertisement in the first video data; causing, at least in part, a second video advertisement to be selected based at least in part on: information, accessed from memory, associated with an advertiser associated with the second video advertisement, and user-related information; causing after outputting the first video content, at least in part, the first video advertisement to be replaced with the second video advertisement, or the first video advertisement to be obscured by the second video advertisement; so that if the first video content is displayed on the interactive television, the second video advertisement is displayed and the first video advertisement is not visible.
  • Another example embodiment provides a method of processing video content, comprising receiving, at a user terminal, data for a first video content from a remote system, wherein the first video is to be displayed via the user terminal to a user; causing, at least in part, an automatic identification of an integrated first video advertisement in the first video data; causing, at least in part, a modification to the integrated first video advertisement to be selected based in part on: information, accessed from memory, associated with an advertiser associated with the modification, and user-related information; causing after outputting the first video content, at least in part, the integrated first video advertisement to be modified in accordance with the selected modification; so that if the first video content is displayed via the user terminal, the modified integrated first video advertisement is displayed.
  • a method of selecting and displaying digital content at a user terminal comprises: receiving, at the user terminal, data for a webpage from a remote system, wherein the webpage is to be displayed on the user terminal; causing, at least in part, an automatic identification of a first advertisement in the webpage data, wherein the first advertisement is configured to be displayed in a first area of the webpage; replacing said first advertisement with a placeholder; collecting information comprising: (a) information related to the webpage; (b) information related to the user; or (c) both (a) and (b); soliciting bids for advertising content to be displayed in the first area corresponding to the placeholder, wherein soliciting the bids comprises providing at least a portion of the collected information; receiving bids for advertising content to be displayed in the first area; selecting a winning bid from among the received bids; and causing, at least in part, advertising content associated with the winning bid to be displayed on the user terminal in the first area corresponding to the placeholder.
  • the first advertisement comprises a link to advertisement content.
  • said placeholder comprises a container or ad tag.
  • information related to the user comprises demographic information.
  • soliciting bids comprises soliciting bids from multiple advertising exchanges.
  • a method of selecting and displaying digital content comprises: receiving, at a network node, data for a first document from a remote system, wherein the first document is to be displayed on a user terminal of a user; causing, at least in part, an automatic identification of a first advertisement in the first document data; soliciting bids for replacement content to be displayed on the user terminal in place of the first document; receiving bids for replacement content; selecting a winning bid from among the received bids; and causing, at least in part, replacement content associated with the winning bid to be displayed on the user terminal in place of the first document.
  • the network node is the user terminal.
  • the first document comprises a web page.
  • the first advertisement comprises a link to advertisement content.
  • soliciting bids for replacement content comprises: providing information related to the user, providing information related to the first document, or both.
  • soliciting bids comprises soliciting bids from multiple advertising exchanges substantially simultaneously.
  • selecting a winning bid comprises comparing the received bids and identifying a bid with the highest offered price.
  • storing a record of the winning bid further comprises causing, at least in part, said record to be provided to one or more of bidders of the received bids.
  • a system comprising: a processor; tangible, non-transitory media configured to store a program that when executed by the processor is configured to perform operations, comprising: receiving, at a network node, data for a first document from a remote system, wherein the first document is to be displayed on a user terminal of a user; causing, at least in part, an automatic identification of a first advertisement in the first document data; soliciting bids for replacement content to be displayed on the user terminal in place of the first document; receiving bids for replacement content; selecting a winning bid from among the received bids; and causing, at least in part, replacement content associated with the winning bid to be displayed on the user terminal in place of the first document.
  • the network node is the user terminal.
  • the first document comprises a web page.
  • the first advertisement comprises a link to advertisement content.
  • soliciting bids for replacement content comprises: providing information related to the user, providing information related to the first document, or both.
  • soliciting bids comprises soliciting bids from multiple advertising exchanges substantially simultaneously.
  • selecting a winning bid comprises comparing the received bids and identifying a bid with the highest offered price.
  • the operations further comprise storing a record of the winning bid.
  • the operations further comprise causing, at least in part, said record to be provided to one or more of bidders of the received bids.
  • An example embodiment provides a method of processing a uniform resource locator (URL) request from a user and providing venue information to an application node, the method comprising: receiving, at a network node, the URL request from a user terminal; causing, at least in part, a temporary identification to be associated with the URL request, wherein the temporary identification is associated with venue information regarding a venue associated by location with the user terminal; automatically appending the URL request with at least a portion of the temporary identification, wherein the temporary identification is locked; transmitting the modified URL request, including the locked temporary identification over a network to an application node; receiving at the network node, from the application node, a request to unlock the locked temporary identification; and at least partly in response to the request to unlock the locked temporary identification, transmitting the venue information to the application node.
  • URL uniform resource locator
  • An example embodiment provides a method of processing input from a user and providing user information to an application node, the method comprising: receiving, at a network node, the user input from a user terminal; causing, at least in part, a temporary identification to be associated with the user input, wherein the temporary identification is associated with information about the user; modifying the user input based at least in part on the temporary identification; transmitting the modified user input to an application node; receiving from the application node a request to unlock the temporary identification; and transmitting the user information user to the application node.
  • An example embodiment provides tangible, non-transitory media configured to store a program that when executed by a processor is configured to perform operations, comprising: receiving, at a network node, a user input from a user terminal; causing, at least in part, a temporary identification to be associated with the user input, wherein the temporary identification is associated with information about the user; modifying the user input based at least in part on the temporary identification; transmitting the modified user input to an application node; receiving from the application node a request to unlock the temporary identification; and transmitting the user information user to the application node.
  • An example embodiment provides a method of processing input from a user the method comprising: receiving, at a network node, a user input from a user terminal; causing, at least in part, a temporary identification to be associated with the user input, wherein the temporary identification is associated with information about the user; and modifying the user input based at least in part on the temporary identification.
  • An example embodiment provides a method of providing user information to an application node, the method comprising: receiving from the application node a request to unlock a temporary identification, wherein the temporary identification is associated with user information in a database accessible by the network node; and at least in part in response to receiving the request, accessing the database to retrieve user information associated with the temporary identification; and transmitting the user information user to the application node.
  • Figure 1 illustrates an example architecture for an advertisement enhancement/ranking improvement system.
  • Figure 2A illustrates an example process for inserting and/or improving the position of content.
  • Figure 2B illustrates an example process for inserting, selecting and displaying content.
  • Figure 2C illustrates another example process for inserting, selecting, and displaying content.
  • Figure 3 (which includes Figures 3A-3C) illustrates an example user interface.
  • Figure 4 (which includes Figures 4A-4C) illustrates another example user interface.
  • Figure 5 illustrates another example user interface
  • Figure 6 illustrates an example interaction process with respect to a client software application and components of a distributed search engine and content distribution system.
  • Figure 7 illustrates an example processes for setting up and configuring client software.
  • Figure 8 illustrates an example process with respect to merchant interaction and components of a distributed search engine and content distribution system.
  • Figure 9 illustrates an example architecture for a locally and automatically articulated content requester technology (LAACRT) system.
  • LAACRT locally and automatically articulated content requester technology
  • Figure 10 illustrates an example process for soliciting bids and displaying winning content.
  • Figure 1 1 illustrates an example user interface.
  • Figure 12 illustrates an example process for verifying a publisher's content.
  • Figure 13 illustrates a system for sending user-specific information to a web application.
  • Figure 14 illustrates a system for sending user-specific information to a web application through a centralized computing system.
  • Figure 15 illustrates a system for utilizing user-specific information for a web application.
  • Figure 16 illustrates an example process for providing user-specific information, which may optionally be implemented by software installed at, and executed by a network node or otherwise.
  • Figure 17 illustrates a revenue model according to an example embodiment.
  • Methods and systems are described for improving the ranking, position, and/or presentation of content (e.g., wherein the content is one or more HTML links, media, advertisements, summary text, or URLs (Uniform Resource Locators) in a list of search results or web site).
  • content e.g., wherein the content is one or more HTML links, media, advertisements, summary text, or URLs (Uniform Resource Locators) in a list of search results or web site).
  • certain embodiments utilize or operate in the environment of distributed networked system to modify, insert and/or replace content, such as one or more advertisements or one or more listings with respect to a search result listing (collectively referred to as enhanced content placement).
  • the enhanced content placement can be performed with respect to search results, such as search results provided via a web page by a third party search engine in response to a user query, or in a content web page/media stream accessed via a content provider, such as web pages or other media stream from a news web site, an entertainment related web site, a blog, a social networking site, a media sharing site, a web application (e.g., a web based email application or calendar), etc.
  • search results such as search results provided via a web page by a third party search engine in response to a user query, or in a content web page/media stream accessed via a content provider, such as web pages or other media stream from a news web site, an entertainment related web site, a blog, a social networking site, a media sharing
  • certain embodiments provide such enhanced content placement with the cooperation from the entity that operates the search engine and/or the web page provider to thereby provide content on their behalf to more relevant users and/or to provide more relevant content to their users.
  • certain embodiments provide such enhanced content placement without cooperation from the entity that operates the search engine (and optionally without providing a communication to the search engine site that indicates the enhanced content placement is being performed) and/or the web page provider.
  • Certain embodiments described herein provide a distributed contribution and reward system and process for payments or credits.
  • certain embodiments optionally address shortcomings of conventional search engines, search engine optimization techniques, content page/document delivery and online advertising industry models. For example, certain embodiments improve the user experience and the results of an advertisement program, optionally based at least in part on user rules and preferences, by substituting a given advertisement with another advertisement, by augmenting the placement of an advertisement or other content on a search results page and/or by reordering search results or other content, optionally without the cooperation from and/or knowledge of the search engine operator and/or web page provider.
  • Many conventional search engines display search results and related advertisements, where the displayed advertisements may be selected at least in part on the relevance of the advertisement to a search query and a payment from the advertiser.
  • many conventional search engines display search results and related advertisements, where the search results are ranked based on a variety of factors, such as number of matched words, frequency of matches, word proximities, age or date of the information, Boolean expressions, payment, and other criteria.
  • companies that operate search engines offer improved ranking or visibility to an advertiser for its advertisements/listings and their partners for a fee.
  • a site wishing to be more visible or gain relevance can utilize specific and often dynamic techniques to improve their ranking or pay a fee to improve their visibility.
  • a site that wants to improve their listing employs the help of a Search Engine Optimization (SEO) company to help enhance their visibility.
  • SEO Search Engine Optimization
  • These companies conventionally use techniques including customized text, embedding hidden text or metadata within the reference, submitting references to many search engines, creating multiple links to the same text and various other techniques to increase relevancy scores within search engine algorithms.
  • a challenge faced by many advertisers is that the desired content or the interests of a user to whom advertisements are to be displayed are not fully expressed though search queries or by general browsing, and conventionally there is no direct feedback from the user except for when an advertisement link is selected. While certain advertisers may attempt to use cookies, browsing behaviors, IP Address reverse location, and inferred demographic information by way of sustained login to a particular site to gather user information for advertisement targeting purposes, such methods are relatively ineffective and are often blocked by protection software. Thus, conventionally, advertisers are not adequately delivered the desired types of viewers for their advertisement, and the advertisers conventionally do not know which viewers viewed their advertisements (unless the viewer clicked on the advertisement, assuming it is linked, and completed a subsequent transaction with the advertiser or its partner).
  • An enhanced search engine architecture, content distribution architecture and related technology described herein overcome some or all of the foregoing disadvantages and provide a novel paradigm for Internet search portals, content providers, and/or advertisement networks.
  • certain embodiments may be used to supplement existing search technologies by substituting more relevant or participatory content in the search results presented to a user.
  • content may include one or more of advertisements, images, news feeds, text, links, streaming media, personal photographs, blogs, twitter messages, or other content.
  • embodiments may be implemented via hardware, software, or a combination of hardware and software.
  • certain embodiments may include software/program instructions stored on tangible, non-transitory computer-readable medium (e.g., magnetic memory/discs, optical memory/discs, RAM, ROM, FLASH memory, other semiconductor memory, etc.), accessible by one or more computing devices configured to execute the software (e.g., servers or other computing device including one or more processors, wired and/or wireless network interfaces (e.g., cellular, WiFi, Bluetooth, Tl , DSL, cable, optical, or other interface(s) which may be coupled to the Internet), content databases, customer account databases, etc.).
  • tangible, non-transitory computer-readable medium e.g., magnetic memory/discs, optical memory/discs, RAM, ROM, FLASH memory, other semiconductor memory, etc.
  • computing devices e.g., servers or other computing device including one or more processors, wired and/or wireless network interfaces (e.g., cellular, WiFi, Bluetooth
  • a given computing device may optionally include user interface devices, such as some or all of the following: one or more displays, keyboards, touch screens, speakers, microphones, mice, track balls, touch pads, etc. While certain embodiments may be illustrated or discussed as having certain example components, additional, fewer, or different components may be used. Further, with respect to the processes discussed herein, various states may be performed in a different order, not all states are required to be reached, and fewer, additional, or different states may be utilized.
  • While certain embodiments discussed herein utilize a client software application hosted on a user terminal and configured to perform certain functions, some or all of the functions are optionally performed instead or in addition by a device (e.g., a computing device) remote from the user terminal that is directly or indirectly in communication with the user terminal, such as a peer note, or proxy node, network appliance or another device, that may run software that provides some or all of the client software functionality described herein.
  • a device e.g., a computing device
  • an example embodiment may be utilized with client software executing on a client device (e.g., a terminal, such as a personal computer, a wireless cellular device, an interactive television, other entertainment device, a personal digital assistant, router, switch, other terminal, etc.), sometimes also referred to herein as a "node".
  • client device e.g., a terminal, such as a personal computer, a wireless cellular device, an interactive television, other entertainment device, a personal digital assistant, router, switch, other terminal, etc.
  • the client device may be coupled to one or more components of a distributed search engine and content distribution system, which may include a central system (wherein the term "central" is intended to be functional in nature, not geographical in nature), one or more proxies, and/or other nodes.
  • the client software may be downloaded over a network from one or more system components, such as the system 180 illustrated in Figure 1 , or may execute on a remote proxy system, peer note and/or other connected system.
  • a component may be configured to store and transmit the client software to the user device, or the client software may be provided by direct, tangible media, such as removable magnetic, optical, or solid state media.
  • the software is installed on the user's client system, or a proxy node accessed by the user.
  • one or more peer node(s) and/or other systems can be referenced by the user node as the user's proxy.
  • nodes can pull content (e.g., to be used in replacing or modifying original content) ahead of time to work independently against a locally stored cache.
  • nodes e.g., user peer nodes 92 and/or enterprise proxy nodes 94
  • nodes can serve up content, in part or in whole, to other nodes so that a modified page or media stream may have come from a plurality of nodes and the discrete ads or content may have been further subdivided so that any given node only provides a certain percentage (e.g., 5%, 10%, 50%, or other percentage) of the actual content, thereby reducing the load on a given node.
  • a given user node may receive portions of an advertisement from 2, 5, 10, or more other nodes, and the given user node then assembles the various portions into a complete advertisement for display to the user.
  • a peer node or nodes which may include one or more client software nodes, may be configured to share some or the entire processing and distribution load for another user node.
  • the client software installed on a device may optionally pull content from one or more peer node(s) that have already aggregated the same or similar content, rather than from a central system.
  • a proxy node may include client software executed by a computing device (which may be the same as or different software than that installed on the user device), that performs some or all the tasks that one or more client nodes have delegated to the proxy node.
  • the proxy node optionally may only return the updated page and content to the requesting client software nodes, rather than providing versions of a page/content that have already been received by the requesting client node.
  • This approach reduces the overall bandwidth utilization and processor utilization by the requesting client node and by the proxy node as duplicative data need not be transferred over the network between the client and the proxy node. Additionally, this approach allows the user to forgo installing some or all of the client software on their client node and to directly or indirectly access the proxy node to receive some or all of the functionality provided by the software.
  • content may be downloaded to a user terminal in batch mode, before it is even determined that it will be displayed to the user, based in part on the user's profile.
  • This enables the client software to access and parse content already received on the host user terminal, such as by pulling the content from the user terminal's local cache (or optionally, from a peer node, a proxy node, or other remote system). Accessing the content locally enables the parsing and process to be performed much faster than if the content had to be accessed remotely when needed, thereby improving for the user's experience and enabling large volumes to be managed effectively. Further, caching the content ahead of time enhances the operation of the merchant/partner interfaces.
  • the user's node may pull down "static ads" related to baseball, which may include expiration dates with these ads, for 90% of the replacement pool, while 10% of the ads may be in the form of dynamic content, such as a live news feed or fresh content, which would be accessed in real time, when needed.
  • static ads related to baseball
  • 10% of the ads may be in the form of dynamic content, such as a live news feed or fresh content, which would be accessed in real time, when needed.
  • the ad engine or peer or proxy
  • the user's node may pull down additional ads with expiration dates that have not yet been reached.
  • the user can optionally configure the client software to run automatically in the background (sometimes referred to herein as a "passive mode"), to automatically submit search queries/URL requests (e.g., based on an instruction from a remote system), optionally without providing the results for display to the user.
  • the user can also configure the client software to run interactively based at least in part on the user's actions (sometimes referred to herein as an "active mode").
  • the client software may parse, modify, and/or replace content received as a result of a user-submitted search query (e.g., search results from a search engine) and/or may parse, modify, and/or replace content received as a result of a URL specified by the user or received as a result of a link activation by the user.
  • a user-submitted search query e.g., search results from a search engine
  • the client software may parse, modify, and/or replace content received as a result of a URL specified by the user or received as a result of a link activation by the user.
  • Users can optionally configure execution preferences that affect the behavior of the client software (or remote software performing some of all of the functions described herein with respect to the client software) via a user interface (e.g., a form provided via the client software or via a web page accessed using a browser or other interface, wherein the user can check off or otherwise select performance parameters) provided for display by the client software, browser, or otherwise, and the preferences are stored in memory (e.g., local memory or remote memory).
  • a user may configure the software to operate:
  • a user interface is similarly provided (e.g., an electronic form) via which a user can enter in relevant demographic data about the user, the user's household, the user's place of employment, and/or other users of the user terminal.
  • the demographic data can include some or all of the following:
  • geographic location (which may include the user home and/or work address);
  • the demographic data is optionally provided by the system and used by advertisers and content providers (e.g., advertisers, ad servers, ad networks, DSPs, and/or the system operator) to select and provide for display content, search results, and/or advertisements relevant to the user.
  • Such demographic data may be provided in varying increments as incentives or rewards for participation or improved experience.
  • a user interface may be provided via which the user can enter demographic information. If the user provides a first type of information, such as age, the user may be provided with a first level of discount (e.g., 1 point or a 5% rebate/discount). If the user includes their gender the user may be provided with a second level of discount (e.g., 5 points or 15% rebate/discount).
  • the user may be provided with a third level of discount if the user provides both the user's age and gender (e.g., 10 points or 25% rebate/discount).
  • Other levels of discounts may be provided for such user-provided information and combinations thereof, such as income level/range and categories/topics of interest, to help advertisers better target ads that are relevant to the users age, income, gender, and field of interests.
  • Incentives and rewards may include one or more of the following: money deposited in a user account, shared revenues (e.g., where the user is provided a portion, such as a percentage or a fixed amount, of fees paid by advertisers), recognition (e.g., a thank you note or a banner acknowledgement), discounts on purchases of items or services (e.g., for items or services being advertised by the insert/overlay/replacement/modified advertisements), ISP access discounts, free access at HotSpots, redeemable coupons or certificates for services or products, credits, tokens, or other monetary or non-monetary reward.
  • shared revenues e.g., where the user is provided a portion, such as a percentage or a fixed amount, of fees paid by advertisers
  • recognition e.g., a thank you note or a banner acknowledgement
  • discounts on purchases of items or services e.g., for items or services being advertised by the insert/overlay/replacement/modified advertisements
  • ISP access discounts free access at HotSpots
  • the user's demographic data and interest data may be stored (e.g., locally and/or remotely in memory) as one or more quick reference profiles that allow the user to rapidly specify and/or to rapidly modify the demographic data and/or the interest data used by the system to select or create relevant content or ads and/or to insert a listing in a search result.
  • the user can access one or more electronic forms previously completed by the user and enter additional information and/or modify existing information, and the new and/or modified information is then stored for later access.
  • a user may be able to define and store multiple profiles.
  • a user may define a work profile that specifies areas of interest to be used in selecting advertisements/content for when the user is at work.
  • the same user may define a home profile that specifies areas of interest to be used in selecting advertisements/content for when the user is at home.
  • the user may manually select the profile to be used at a given session via a control provided on a web page, via the client software, by logging into to the desired profile, or otherwise.
  • the profile is automatically selected by the system client software based on information that indicates where the user is physically located (e.g., via an identifier associated with the terminal the user is currently using, via a MAC address, or otherwise).
  • systems and methods described herein may take into account the physical size and/or dimensions of content (e.g., an advertisement) being overlain or replaced, wherein the replacement content is identified and selected so as to fit within the dimensions of the content being replaced (or which can be scaled to fit within the dimensions of the content/advertisement being replaced while still being readable/adequately viewable).
  • content e.g., an advertisement
  • replacement content is identified and selected so as to fit within the dimensions of the content being replaced (or which can be scaled to fit within the dimensions of the content/advertisement being replaced while still being readable/adequately viewable).
  • the term "replace” as used herein includes removing an existing document/item of content, such as an image, photograph, video, or text document, as well as to removing a reference (e.g., a URL link) to such a document/item of content, and then replacing the existing content with different content or a reference thereto.
  • a reference e.g., a URL link
  • replacement original content with replacement content is intended to cover both the case where an actual item of received original content (e.g., received as part of a web page) is being replaced with an actual item of replacement content, and the case where a link (e.g., in an HTML text stream for a web page) to an item of original content is replaced with a link to the replacement content.
  • replacement original content with replacement content is further intended to encompass the case where the original content is "present” but made invisible (e.g., with a "hidden” attribute) and the replacement content is located at substantially the same location as the original content, but is not hidden.
  • the user may configure the client application to only access a specific category of sites or to only display content related to a user specified interest, or to remove advertisements completely from search results and/or other web pages, or to have personal or desired content follow them from page to page (e.g. a picture of their spouse that may be displayed overlaying/replacing unwanted advertisements on any web page including but not limited to their email page, their favorite news, entertainment or weather pages/sites and/or other page/site that is displayed).
  • a picture of their spouse that may be displayed overlaying/replacing unwanted advertisements on any web page including but not limited to their email page, their favorite news, entertainment or weather pages/sites and/or other page/site that is displayed.
  • the client software application optionally further provides a user interface via which the user can specify that the client software application is to only communicate with selected peer nodes, a proxy system, and/or a central system, or may communicate with any peer nodes (e.g., not just trusted nodes).
  • the client software application hosted on the user terminal, peer node and/or proxy node may optionally be configured to gather information and content from other peer nodes, and communicate content and information to other peer nodes, without having to communicate directly with a central system that may act as a central repository of content/advertisements and/or transactions, thus offloading the central system and enabling the client software application to operate even if the central system is overloaded, has failed, or is otherwise unavailable.
  • content or advertisement may be subdivided among one or more system nodes such that a portion of any given webpage, advertisement or other content may be retrieved of a plurality of nodes substantially simultaneously, in series or a combination thereof.
  • the client software may request content from another peer node (optionally based on its proximity to the node hosting the client software, which the request is provided to a peer node that is relatively closer to the requesting node than other nodes) that has already been distributed relevant content, thereby possibly providing faster and safer access to the content than having to access the content from a central repository system.
  • the client software may request content and a web page from a proxy node which may also host the client software.
  • the proxy node or the peer node may receive the web page request and create aggregated content (e.g., the subsequent web page with relevant content, ads and links), and transmit this aggregated content to the requesting client software, or store information or data without generating the aggregated content, thereby enabling the client software to more rapidly and securely access the stored information and data, and create the desired web page content.
  • aggregated content e.g., the subsequent web page with relevant content, ads and links
  • Figures 3, 4, and 5 include example user interfaces that illustrate the identification of content and advertisements (by the client application and/or other distributed search engine and content distribution system components), to thereby enhance or modify the content/advertisements based at least in part on the user's preferences, interests, demographic profiles and/or other information provided by the user via the client software or otherwise.
  • the software might be an add-on to the user's preferred browser or running on a proxy node that the users connect through to access internet content.
  • the user interfaces may be presented via a web page, a page panel, a model dialog form, and/or via a wizard that enables the user to specify information that may be used to help identify and present desirable content to the user, and to specify when and where the user may want such information, based in whole or in part on their configured preferences in a user friendly way.
  • Figure 3 illustrates the identification of image advertisements from specific providers.
  • identification may optionally be performed by recognizing known URLs (e.g., known to be associated with advertising content) or unknown URLs, SGML/HTML tags (e.g., associated with advertising content), template masks, page handler algorithms, parsing the Document Object Model (DOM) structure, by manually tagging and identifying advertising content, by performing a string search (e.g., to identify advertising text, such as words or phrases associated with general or specific advertising, or to identify specific URL codes), by performing a content index search, and/or using other techniques.
  • known URLs e.g., known to be associated with advertising content
  • SGML/HTML tags e.g., associated with advertising content
  • template masks e.g., associated with advertising content
  • page handler algorithms e.g., parsing the Document Object Model (DOM) structure
  • DOM Document Object Model
  • a user interface including the following interfaces via which a user can customize the identification and/or replacement of advertisements and/or the ranking of search results (although fewer or additional interfaces may be used):
  • Optional Interface 302 via which the user can select the types/sources of advertisements and/or links to target for overlay, replacement or modification;
  • Optional Interface 304 via which a user can manually specify whether advertisements on the current displayed page are to be located and identified to the user and/or whether the identified advertisements are to be hidden, overlaid or replaced;
  • Optional Interface 306 via which a user can specify advertisements and/or links that are of interest to the user (e.g., that the user would want to be used to replaced other advertisements of less interest), for example the user can specify topics of interest such as sports, music, technology, etc;
  • Optional Interface 308 via which the user can specify the user's demographic profile (e.g., gender, marital status, birth year, birth month, highest level of education, etc.);
  • Optional Interface 310 via which the user can specify proxy settings (e.g., use trusted peer nodes only, use any peer node, etc.).
  • an image advertisement 312 (e.g., a photograph, a graphic, streaming media, etc.) that is to be overlaid, modified or replaced is identified and optionally highlighted (in this example and illustration, by a border placed by the client application around the image advertisement, although other forms of highlighting may be used).
  • the original advertisement to be replaced was not selected as a result of a search query.
  • the image advertisement is not highlighted to the user and the replacement/modification is optionally performed automatically and transparently to the user so that the user is not aware that a given advertisement is being replaced or modified and the given advertisement is optionally not displayed to the user via the web page prior to being automatically replaced.
  • the user interface is omitted.
  • User consent for identification and/or replacement of advertisements may be obtained. For example, a user might be prompted with a dialog box or other interface indicating Terms of Use, including consent for identification and/or replacement of advertisements.
  • the user may be provided a desired service, for example access to a private network.
  • user information can be obtained using tracking data, cookies, etc.
  • Figure 4 illustrates the identification of textual links and sponsored text advertisements for specific providers.
  • a user interface is provided including the following interfaces via which a user can customize the identification, modification, overlaid and/or replacement of advertisements:
  • Optional Interface 402 via which the user can select the types/source of advertisements and/or links to target for replacement or modification;
  • Optional Interface 404 via which a user can manually specify whether advertisements on the current displayed page are to be located and identified to the user and/or whether the identified advertisements are to be modified, overlaid or replaced.
  • the advertisement is not highlighted to the user and the replacement/modification is optionally performed transparently to the user so that the user is not aware that a given advertisement is being replaced or modified.
  • Optional Interface 406 via which a user can specify types of content, advertisements and/or links that are of interest to the user (e.g., that the user would want to be used to make such information of interest more visible to the user and/or be used to replace other advertisements of less interest), for example the user can specify topics of interest such as sports, music, technology, etc;
  • Optional Interface 408 via which the user can specify the user's demographic profile (e.g., gender, marital status, birth year, birth month, highest level of education, etc.); [0117] Optional Interface 410 via which the user can specify proxy settings (e.g., use trusted peer nodes, use trusted proxy node, use any peer node or proxy node etc.) directly or indirectly connected to client software/client device.
  • the user's demographic profile e.g., gender, marital status, birth year, birth month, highest level of education, etc.
  • proxy settings e.g., use trusted peer nodes, use trusted proxy node, use any peer node or proxy node etc.
  • Figure 5 illustrates a user interface including the example identification of image or video advertisements from specific providers.
  • identification may optionally be performed by recognizing known URLs (e.g., known to be associated with advertising content) or unknown URLs, SGML/HTML tags (e.g., associated with advertising content), template masks, page handler algorithms, parsing the Document Object Model (DOM) structure, by manually tagging and identifying advertising content, by performing a string search (e.g., to identify advertising text, such as words or phrases associated with general or specific advertising, or to identify specific URL codes), by performing a content index search, and/or using other techniques.
  • known URLs e.g., known to be associated with advertising content
  • SGML/HTML tags e.g., associated with advertising content
  • template masks e.g., associated with advertising content
  • page handler algorithms e.g., associated with advertising content
  • parsing the Document Object Model (DOM) structure e.g., by manually tagging and identifying advertising content
  • the HTTP or other outbound request for advertising content may be detected, since the request is programmatically used to deliver the requested content.
  • the request may be detected by monitoring such requested URL.
  • an entity may use a proxy domain (e.g.
  • the requested advertising content may be replaced by substituting the URL being requested with a different URL associated with the system from which the replacement ad may be accessed (e.g., "ad-from.our-adserver.com"), or as described elsewhere herein.
  • non-content space may also be identified in a document, such as a web page or other document.
  • available space for inserting advertisements may not be limited to those spaces in which advertisements are presented.
  • web pages may include some amount of "white space".
  • white space refers to portions of the web page in which no content or user-readable information is provided. These portions of the web page need not be actually white, but may assume any color or combination of colors.
  • the white space may be located in margin areas or in the body of the web page.
  • Such white space can provide available content space, in addition to the available content space of identified advertisements.
  • Selected advertisements may then be inserted into the available content space, including white space and/or target advertisements to be replaced. The insertion may be performed by a client application executing on a user terminal, by a proxy system, or otherwise.
  • a user interface can be provided including the following interfaces via which a user can customize the identification, and/or replacement of advertisements, or the placement of advertisements over white space (although fewer or additional interfaces may be used, and one or more of the interfaces may be presented without displaying the other web page content):
  • Optional Interface 452 via which the user can select the types/sources of advertisements and/or links to target for overlay, replacement or modification;
  • Optional Interface 454 via which a user can manually specify whether advertisements and white space on the current displayed page are to be located and identified to the user and/or whether the identified advertisements are to be hidden, overlaid or replaced;
  • Optional Interface 456 via which a user can specify advertisements and/or links that are of interest to the user (e.g., that the user would want to be used to replace other advertisements of less interest or that the user would want to be overlaid over white space), for example the user can specify topics of interest such as sports, music, technology, etc;
  • Optional Interface 458 via which the user can specify the user's demographic profile (e.g., gender, marital status, birth year, birth month, highest level of education, etc.);
  • Optional Interface 460 via which the user can specify proxy settings (e.g., use trusted peer nodes only, use any peer node, etc.).
  • an image advertisement 462 (e.g., a photograph, a graphic, streaming media, etc.) that is to be overlaid, modified or replaced is identified and optionally highlighted (in this example and illustration, by a border placed by the client application around the image advertisement, although other forms of highlighting may be used).
  • an area of white space 464 that is to be overlaid is optionally highlighted (in this example and illustration, by a dashed border placed by the client application around the white area, although other forms of highlighting may be used).
  • the original advertisement to be replaced was not selected as a result of a search query.
  • the image advertisement and/or white space is not highlighted to the user and the replacement/modification is optionally performed automatically and invisibly to the user so that the user is not aware that a given advertisement is replacing a pre-existing advertisement or is being overlaid over white space.
  • the targeted ad for replacement 462 and the white space 464 form the available content space 466.
  • the client software may place one or more selected advertisements over any area of the available content space.
  • the user interface is omitted.
  • the user interface may take the form of a separate webpage to which a user can navigate, rather than a frame within a webpage.
  • the available content space may be identified by a number of methods.
  • original advertisements may be automatically identified by, for example, recognizing known URLs (e.g., known to be associated with advertising content) or unknown URLs, SGML/HTML tags (e.g., associated with advertising content), template masks, page handler algorithms, parsing the Document Object Model (DOM) structure, by manually tagging and identifying advertising content, by performing a string search (e.g., to identify advertising text, such as words or phrases associated with general or specific advertising, or to identify specific URL codes), by performing a content index search, and/or using other techniques.
  • the available content space may be in a content stream or may be static white space in a document. For example, a commercial of 15 seconds during a break between streaming video content may be identified as available content space and replaced with advertising video or static content. Similarly, audio commercials played during a break between streaming audio content may be identified as available content space and replaced with another audio commercial.
  • original advertisements and/or white space may be identified by manually tagging and identifying advertising content and white space. For example, one or more individuals may identify and mark the contours of advertisements and white space on a given web page. In some embodiments, individuals may be able to draw boxes over original advertisements and/or white space to identify available content space. This approach can be scaled with a crowd-sourcing model, in which large numbers of individuals working collectively identify and demarcate available content space on one or more web pages.
  • the page data can be analyzed automatically to identify white space.
  • a page can be analyzed in real time by removing java script, inner html, and other items identified as being extraneous for the purpose of identifying white space.
  • the analysis can limit the page to fewer items, whose attributes (e.g., anchoring position, size, color, etc.) can be identified. Other attributes may also be relied upon, for example paragraph markers as indicating the position of text.
  • these remaining items can be treated as content, with some or all remaining space being treated as non-content space. Once the content items are identified, the spaces outside those content items may be identified and mapped, and optionally the mapping is stored in memory.
  • identification of the white space can include reference to the container, device, and/or viewable surface on which the page is to be displayed. For example, the page may extend well beyond the monitor or at a place below that would require considerable scrolling. Identification of the white space available for insertion of advertisements may include identifying the available screen size and position of the page within that screen. [0132] In some embodiments, the white space may be identified by analysis of the document pixels. For example, the client application may automatically identify one or more points at which a certain number (e.g., a threshold number) of white pixels are adjacent to one another.
  • a certain number e.g., a threshold number
  • a document having a black background may identify a certain number of black pixels that are adjacent to one another. That point may be identified as a portion of white space.
  • patterns or color representations may be used to identify available content space - for example individual pixels of differing colors may be arranged to create a pattern or a color, such as alternating black and white pixels providing a gray image. This includes gradient colors, patterns, or other arrangements of pixels. By mapping some or all of a web page (or other document) using this approach, the contours of white space may be identified.
  • the available content space may be identified by analyzing a web page for user mouseover events.
  • a mouseover event occurs when the mouse pointer is moved onto or hovers over a particular element of the web page.
  • the mouseover event can be defined using a language, such as java script, for example.
  • the area of the page in which a mouseover event is triggered may be, for example, a clickable advertisement.
  • the position of the mouse pointer e.g., X and Y global screen coordinates
  • elements that trigger mouseover events may be advertisements, and accordingly the client software may treat such elements as part of available content space.
  • the portions of the web page in which no mouseover events occur and/or at which no text is identified can be mapped and identified as white space. This identified white space is available content space, and accordingly selected advertisements may be inserted or overlaid into this space.
  • the software providing functionality described herein may be installed on a local user device (e.g., a personal computer or other terminal).
  • an enterprise proxy system may be used (e.g., operated by an employer, a store, a government entity, on a vehicle (e.g., a train or plane) operator, a hotspot, etc.), wherein the user browser is re-pointing to the proxy system, such as using acceptance scripting ("do you accept") or a software utility installed on the user device to support the proxy.
  • a user may provide consent by actively or passively joining a network, in which case user acceptance or consent can be automatically transmitted. For example, if a user has previously connected to a network, the user's media access control (MAC) address, password, etc. may be configured to enable the user to automatically connect to the network, subject to the governing terms and conditions.
  • MAC media access control
  • a user interface is provided (e.g., via a web site) via which a user can configure user preferences and specify user demographics.
  • the functionality discussed herein can be provided in whole or in part utilizing a network/ISP model, optionally without the user having to install additional software on the user's device.
  • the proxy service may be performed by a user's ISP or network provider.
  • a user interface is provided (e.g., via a web site) via which a user can configure user preferences and specify user demographics.
  • Two or more implementations can work together as a hybrid, with various combinations of rights, priorities, and overrides.
  • the ISP or enterprise may specify preferred ad networks, but the user client software (based on user configuration information/controls) may still be permitted to select from those preferred ad networks what advertisements (if any) are to be displayed.
  • the user client software may be configured to override the enterprise instructions, which may in turn be configured to override the ISP instructions. Therefore, by way of example, the following possible combinations may be used (other combinations may be used as well):
  • Client device/client software + Enterprise + ISP override for user first, enterprise second and then ISP has last priority
  • Figure 6 illustrates an example interaction process involving the client application in the context of the novel distributed search engine and content distribution architecture.
  • a broker service is optionally contained completely within the client software, which can access content, advertisement and/or other information and services from existing or traditional ad brokers, ad service providers, ad servers, ad networks, ad network providers, advertisers, ad exchanges or Demand Site Platforms (DSP), from a web portal, and/or a content provider providing the web page for display.
  • a broker service is optionally contained completely within the client software, which can access content, advertisement and/or other information and services from existing or traditional ad brokers, ad service providers, ad servers, ad networks, ad network providers, advertisers, ad exchanges or Demand Site Platforms (DSP), from a web portal, and/or a content provider providing the web page for display.
  • DSP Demand Site Platform
  • the enhanced search engine and content distribution architecture enables users to influence and participate in the selection and delivery of content and advertisements, optionally utilizing client software installed and executing on a user terminal, peer nodes, proxy nodes, and/or a centralized system (e.g., central system 180 illustrated in Figure 1).
  • the architecture may leverage existing or conventional ad broker, ad server, ad network, DSP and/or ad provider services with enhanced methods using one or more parameters, including those described above, such as user interests, user demographics, ad size, ad source, ad content, other characteristics, etc.
  • a user may install client software, such as on user terminals 506, 510, 514, 518.
  • the user may enter the various parameters discussed herein.
  • the client software may or may not require registration based on user configuration parameters.
  • the client software and parameters input by the user are registered in a registration system which may optionally include a central system 520, peer nodes 508, 516, the client software system and/or the distributed network architecture 502, which may be the client software installed on one or more nodes/proxies/ISP systems.
  • a distributed software system may receive and transmit data across a network, such as the Internet, and may coordinate input and output with a central control system and one or more distributed nodes or client software.
  • the client software via the user terminal or proxy node, communicates with the centralized control system and/or may communicate with peer nodes 508, 516 or proxy nodes. Some or all the site requests (e.g., made by the client software) are optionally parsed for information and analysis.
  • the page structure may be analyzed to unmask template structure, URL randomization and other techniques that may be employed to make it difficult to identify ads.
  • an advertiser or entity working on behalf of the advertiser
  • An example embodiment overcomes such challenges by examining the source element value, which is much more difficult to randomize because the source element value is generally referenced by domain (e.g., adservice.acmeadserver.com?Your Randomized Add Link). In this example, the domain is relatively harder to mask than tags.
  • an example embodiment optionally parses the request, records the parsed request, and builds a counter-solution.
  • the client software is optionally configured to render, reformat or substitute content (e.g., advertisements) on a user terminal, such as user terminals 506, 510, 514, 518.
  • a replacement content e.g., more desired or relevant content for the user
  • the replacement content may be accessed from a replacement content system 520, which may be in the form of a remote server, proxy node, or network appliance such as a router, and the replacement content can be inserted into web pages served by web server 522.
  • the other content for the web pages served by the web server 522 may be provided by a content creator.
  • the content from the replacement content system 520 may be used to overlay (e.g., as a pop-up, or as layered content), modify , insert or replace content (such as advertisements, links, search results, etc.) served by a conventional ad broker system, ad network, ad exchange, DSP or other ad provider 524 to the web server 522.
  • overlay e.g., as a pop-up, or as layered content
  • modify e.g., modify , insert or replace content (such as advertisements, links, search results, etc.) served by a conventional ad broker system, ad network, ad exchange, DSP or other ad provider 524 to the web server 522.
  • the layered content may be selected and/or sized to have substantially the same dimensions as the original content being overlaid.
  • the original content may still be present in the page, but is not visible because it is overlaid with the replacement content.
  • the z-order attribute of the replacement content may be set to a higher order than the original content so that the replacement content with be layered above the original content and will obscure the original content.
  • an “invisible” attribute for the replacement content may be set to “false” and an “invisible” attribute for the original content may be set to “true,” so that when the replacement content is placed at the position of the original content, the replacement content will be visible, and the original content will not be visible.
  • the audio may be automatically muted when the replacement content is displayed.
  • other active/streaming media e.g., video, animation, scripted, etc.
  • streaming media or active media may be automatically or programmatically stopped, paused, muted, rewound, cancelled, or otherwise prevented from playing when the original content is replaced/overlaid to reduce the network bandwidth and/or processor utilization that would otherwise be used to reproduce such media of the "hidden" original media.
  • the replacement content may be provided on behalf of one or more merchants, advertiser or publishers 526, 528.
  • the user may configure the client software to receive (via a pull operation or a push operation) input from the central system, the content system 520, or one or more peer nodes 508, 512, 516, and post output to the central control system or one or more peer nodes 508, 512, 516, which participate in a search optimization and/or content replacement/modification process.
  • Content may also come from content providers, such as ad exchanges, ad servers, ad networks, DSPs, media sharing sites (e.g., photo/video sharing sites, blogs, social networking sites), web-based applications such email or calendar services, etc.
  • user terminal 506 optionally does not have the client software installed, and instead relies on the proxy 504, which does have such software installed, to provide the functionality of the client software for the user terminal 20.
  • user terminal 510 optionally does not have the client software installed, and instead relies on the peer node 506 and the peer and proxy 512, which do have such software installed, to provide the functionality of the client software for the user terminal 20.
  • user terminal 514 optionally does have the client software installed which can provide the functionality described herein.
  • user terminal 518 optionally does have the client software installed which can provide the functionality described herein and further can utilize the services of a peer node 516 and/or a proxy node.
  • Network nodes may serve as information beacons that communicate topology, frequency of display, page configurations, delivery methods, host configuration data (e.g., IP (Internet Protocol) address, OS (operating system) type/version, MAC (Media Access Control) address, etc.) and/or other configuration data between nodes and one or more system components.
  • Network nodes may also request content (actively or passively) from web portals, ad providers and other web sites based on randomized methods or rules, and post back to web portals, web sites and ad networks information randomly or by instruction.
  • the user may be provided, via the system and methods described herein, a share in proceeds, revenues, shared savings, monitory, other incentives and/or rewards (e.g., cash, coupon, monetary certificate, recognition, credit) for participating in the search optimization and/or content replacement/modification process.
  • incentives and/or rewards e.g., cash, coupon, monetary certificate, recognition, credit
  • rewards/incentives many include money, free software, free or discounted access to one or more services (e.g., network access via a hotspot or otherwise, certain content, etc.), advertising-free music/videos, discount coupons, reward vouchers, and/or other items or services.
  • incentives and/or rewards may be based in part on the level of participation and data configured in the client software (e.g., demographic data, utilization data, status or state data, such as CPU participation and availability, etc.).
  • a user may be provided a first or basic reward or incentive for installing the client software in passive mode (e.g., a first percentage of a service fee charged to an advertiser for increasing an ad's visibility).
  • the user may be provided with a second, larger incentive/reward for employing the client software in "active mode," where the user interacts with content delivered by the client software or peer nodes, such as a percentage of the fees paid by an advertiser for the user clicking on an advertisement, or a discount on a service or product.
  • the reward is optionally increased proportionally or incrementally with a corresponding increase in the amount of information and/or based on the type of information provided by the user.
  • Active and passive "participation,” with or without user intervention, may include some or all of the following:
  • indexing e.g., Cataloging, sequencing, structure, source and layout of SGML/HTML content
  • scoring of results to monitor and report specific reference location e.g., search a given site and determine that a given line is in X position of Y elements, report the foregoing back to a content selection system, wherein the reference location may be used to increase in identifying contents relevancy over time as measured from a system node;
  • positioning data and configuration data within resulting sets e.g., position (e.g., X, Y data, where Y is a list and X is the position in the list)/ranking information regarding a search list or with respect to a number of advertisement served);
  • simulated execution of the targeted reference to measure and improve results and to identify peer relationship and delivery network configurations e.g., identify target advertisement, target link, or target link in X position of Y list, and simulate a user's selection of the target advertisement/link by transmitting a request back to the web or content service or server with the target information, such as by sending the click-event back to a web portal with the desired link simulating the user's click on this actual link).
  • the "participation" behavior may be controlled by software configuration. Active or passive interaction may cause the reprioritization and formatting of results consistent with the user configuration and/or based on rules articulated by the central control systems or peer nodes or proxy and other system nodes.
  • the software may perform its tasks automatically (e.g., as a background process that does not require a user interface or display activity, status, or other information) and without user interaction, however, even in non- interactive mode, the software may still monitor user's activities and patterns, and adapt the software actions in a non-interactive mode.
  • the client software may operate in the background in non-interactive mode (e.g., while the client system or proxy node is not being used, is relatively idle, or is performing other tasks, such as interacting with web pages using other software), and the client software may still perform the functions of replacing, amending, navigation or communicating information with other systems and networks including the central system 180 illustrated in Figure 1 , with or without displaying the replacement content/modified content.
  • the software may automatically activate links and/or submit search queries to a search engine, optionally using links and/or search queries provided to the software in a file or otherwise.
  • the file may include timing instructions as to when and/or how often links are to be activated and/or searches are to be submitted.
  • the software may be instructed to activate links and/or submit search queries on a substantially random basis, optionally within a specified period of time (e.g., within 9:00AM to 1 1 :00 PM), assuming the host terminal is on.
  • the client software In interactive mode and in response to an Internet search for a particular item or general content browsing, the client software optionally parses an incoming web page (e.g., provided by a search engine and include search results in response to a user query or any page as a result of browsing) and inserts, substitutes or modifies content to provide the user with content that is more relevant based on the user's configuration characteristics and/or participatory rules defined by the system.
  • an incoming web page e.g., provided by a search engine and include search results in response to a user query or any page as a result of browsing
  • inserts, substitutes or modifies content to provide the user with content that is more relevant based on the user's configuration characteristics and/or participatory rules defined by the system.
  • This insertion/substitution/modification may include overlaying, reordering, summarizing, and/or replacing search results provided by the search engine to which the user submitted the search query, reordering advertisements, or replacing advertisements, or inserting new content (optionally providing the user with a control via which the user can cause the display of the inserted content to be toggled on or off).
  • an entry in a search result listing provided by a search engine may be moved up or down in the listing based on the user's configuration characteristics and/or participatory rules defined by the system.
  • the selection of replacement and/or additive content may include identifying content of similar size, origin, category, type, shape and other various attributes as the original page content in order to preserve page formatting and to conform to the user's expected experience.
  • the selection of replacement and/or additive content may also include identifying and communicating page characteristics, methods and configuration data between peer nodes or a central system.
  • Page characteristics and methods might include HTML Meta data, scripting, referring or embedded URLs, HTML IFrame or DIV tag content encapsulations, script activation methods, dynamically loaded content, and other HTML source code elements and methods used to identify, deliver and activate the requested content. This is optionally done "privately" within the user's device using the software hosted on the device or may be performed on behalf of the user on peer or proxy nodes.
  • the client software enhances the existing browser software to include some or all of the functions of the client software discussed herein, such that web pages or other interfaces displayed, requested or otherwise accessed by the existing Internet browser may be modified, amended, substituted, identified or replaced by the client software.
  • each client software node in the system may appear to act randomly and seemingly independently, the resulting patterns related to content modification or substitution are likely to be ignored and may be difficult for search engine sites and other web page providers to detect, thereby ensuring user privacy with respect to the user's participation in the processes described herein.
  • Figure 1 illustrates example components and process states that are optionally included to achieve one or more of the results described herein. Fewer, additional or different components may used.
  • Figure 1 illustrates an example distributed architecture system and the relationships between various example software components. Users, advertisers, and merchants may independently register with this system and may download software modules, such as the client software 40, which form part of the distributed system.
  • the client software 40 receives instructions and information from the central system 180 or peer node(s) or proxy node(s) to make active and passive requests to the search site portals or website providers and may either transform or record the results.
  • Figure 1 illustrates the client software modules 50-75 that may be used to act on this content to improve reference scoring.
  • Figure 1 further illustrates how a merchant may interact with the system to improve the ranking of their entries and/or advertisements in search results on a given search site or improve the visibility or ranking of an existing advertisement or new advertisement independently of service (e.g., where the merchant may provide advertisement/text content but does not actively control when or where such content is displayed and relies on the system to cause the display of the content in a manner that meets the merchant's criteria). Additionally, Figure 1 illustrates how system components may interact with a financial institution to distribute rewards or compensation.
  • the Internet browser and requestor module 45 is representative of example requester module, such as Internet browser software, which may or may not be an integrated element of the client software (which may be downloaded separately and from a different source than other modules of the client software 40).
  • the Internet browser and requester module 45 renders Internet web pages, although other embodiments may render different forms of documents/network resources.
  • a rule-based reorganizing and modification engine 50 enumerates and identifies the various web page elements (e.g., using a HTML Document Object Model parser, a string search, a page handler algorithm, etc.) such as some or all of the following: text, images, advertisement, etc., to identify possible target web page elements to modify/reorganize/replace.
  • various web page elements e.g., using a HTML Document Object Model parser, a string search, a page handler algorithm, etc.
  • An interface module 76 enables the client software to interface with other application software such as internet browsers, cell phone applications, instant messaging programs, chat software and other tools, applications and utilities.
  • An content placement engine 55 evaluates the cataloged elements and may communicate with other system components, or other service providers or peer nodes, to assemble part or all advertisements or content that may (or optionally may not be) more relevant to the user's profile(s) and/or the user's software configuration parameters.
  • a results parser module 60 catalogs and may disassemble the results page into discrete web page elements which than may be reviewed by a site analysis reader module 65 to determine if the site and the site content is known and/or expected.
  • a results analyzer 70 optionally then makes a determination as to what web page elements were included or will be returned. Based, in whole or in part, on the client software configuration and system rules, a stack automation (e.g., network device layer, operating system kernel, input/output stack layer, etc.) and switch server 75 and/or page/content reconstruction/modifier module 46 may then reassemble the rendered web page using some or all of the original elements and optionally using new elements that are substituted or inserted dynamically in the resulting web page. These elements may exist locally, may be delivered in whole or in part by peer nodes (such as those illustrated in Figure 6) or from the central system 180 or by partner systems, such as an ad exchange or ad server.
  • peer nodes such as those illustrated in Figure 6
  • partner systems such as an ad exchange or ad server.
  • Alternate or substitute advertisements and content may be selected based on configuration parameters, parity characteristics size, type, relevancy, interests, etc. For example, the selection may be performed so as to select replacement content of similar size and shape to an advertisement being overlaid, inserted or replaced, so as not to cause the reformatting of other portions of the user's page/content or otherwise adversely impact other portions of the user's page/content (e.g., to avoid the insertion of content causing article text adjacent to the inserted content to be only a few character wide and to avoid causing each word in the article to "break").
  • the user may or may not actually see the changed results as they may be hidden.
  • some of the content that may have been replaced may be an invisible inclusion and appears to the user and/or the original content sender as unaltered. For example, this may be accomplished by marking the corresponding tag's display attribute as hidden.
  • the content media download may be halted or paused.
  • the corresponding content size attribute may be set to 0.
  • the altered content may include a user feature (e.g., a control displayed on the altered/replacement content, such as a toggle control, or accessed via a toolbar or menu) to unhide or restore the original content as desired for display to the user.
  • An example merchant system 150 includes software hosted on a computing device that enables content contributors and advertisers to register their profiles and content, which optionally may be distributed within the distributed system. It may also include interfaces to partner providers such as ad networks, ad servers, DSP, etc.
  • the content may include renderable content, such as images, streamlining media, news feeds, blog text, textual content, links, program scripts, advertisements, other HTML and/or SGML data, etc.
  • information may be stored related to the content attributes, such as size, format, and/or other reference data.
  • the client software 40 may be hosted on a device 20, associated with a user 15.
  • the client software 40 may communicate over a network 90 (e.g., the Internet and/or other network) to a search entity 100 operating a search engine and/or Internet site 120 that provides search results 130 or other similar content provider or media including streaming media.
  • the client software 40 may be configured to insert, replace or modify advertisements and/or search results, and render the results 30.
  • a merchant via a merchant terminal 150, can interact with the client software and/or the system 180 as described elsewhere herein.
  • the user terminal 20 may obtain replacement content/advertisements from one or more other client nodes 92 and/or one or more proxy nodes 94 that may be operated by an enterprise.
  • the client terminal 20 may receive, directly or indirectly, one or more replacement advertisements via ad network 96.
  • Figure 2A illustrates an example process for inserting and/or improving the position of certain content.
  • the content may include an advertisement and/or a listing (which may include a link to the merchant) that is or appears to be a search result listing.
  • the process may be performed in whole or in part by the client software described herein, a proxy node, a peer node, or a central system.
  • data e.g., Web page data
  • a first content e.g., an advertisement and/or a listing of a merchant or advertising partner that has subscribed to have improved visibility of their advertisements and/or search rankings
  • specified criteria e.g., merchant specified criteria
  • the process will determine that the content is not a location/position that meets the criteria.
  • the determination may be stored in memory and the position may be reordered for display to the user.
  • the process does not determine if the search result listing from a search engine includes the first content.
  • the process identifies a location for the first content.
  • this state is performed without determining with the first content is absent.
  • the location may be selected based on merchant/advertiser specified criteria (e.g., content/advertisement is to be located as the first/top advertisement on page; or the content/listing is to be positioned as the first search result listing) and/or the amount of physical display space available on the page that is large enough/of the proper dimensions to hold the first content. If other content is at the identified location, the other content is identified to be replaced or moved.
  • the location of the first content is changed to a location that meets or more closely meets the first criterion or criteria (e.g., the advertisement is moved to the location as the top advertisement on page; or the content/listing is positioned as the first search result listing). If other content is at the new location, the other content is identified to be replaced or moved.
  • the first location criteria such as the merchant specified criteria discussed above
  • the process inserts the first content at the new location, so that the first content may be listed twice, at the original position (if the first content was in the original listing) and at the new position.
  • the process inserts the first content, or variations thereof (such as a related advertisement or related URL), at multiple locations in the search listing.
  • the first content or related content of the merchant/advertiser is inserted in the search listing and in a targeted advertisement area (e.g., above and/or on the side of the search result listing).
  • the number and placement of such insertions may be based at least in part on a fee paid by the merchant advertiser, wherein different fees may be charged for different levels of service. For example, a first fee may be charged to have the first content inserted in a targeted advertisement area above the search results, a second fee may be charged to have the first content inserted in a targeted advertisement area on the side of the search results, and a third fee may be charged to have the first content included in the search results, wherein the first, second, and third fees may also be based on the positioning of the first content within the corresponding areas (e.g., the top listing fee may be more expensive than a third position fee). In certain embodiments a fee may be paid to have the first content inserted/placed in multiple areas.
  • the process causes the first content to be rendered (e.g., via a browser on a user terminal) at the location that meets the first criterion or criteria.
  • Figure 2B illustrates an example process for inserting selecting and displaying content. The process may be performed in whole or in part by the client software described herein, a proxy node, a peer node, or a central system.
  • data e.g., web page data
  • data is received and parsed to identify one or more types of content (e.g., an advertisement and/or a listing of a merchant or advertising partner that has subscribed to have improved visibility of their advertisements and/or search rankings), referred to as first content, and parsed to identify the dimensions of such first content.
  • types of content e.g., an advertisement and/or a listing of a merchant or advertising partner that has subscribed to have improved visibility of their advertisements and/or search rankings
  • second content is selected based on one or more criteria.
  • the criteria can include one or more of the following or any combination thereof:
  • a user profile e.g., demographics and/or specified areas of interest
  • advertiser specified criteria e.g., desired demographics or interest of users to whom advertisements should be served; search terms, wherein if a user enters certain search terms in a search query, the advertiser's ads should be served to the user; payment of a placement fee by the advertiser, etc.
  • the second content is made more visible than the first content when the second content is displayed in the rendered web page.
  • the first content (or a link to the first content) may be removed entirely, and the second content may be displayed in substantially the same location that the first content was originally configured to be displayed at.
  • the first content may be made invisible using certain attributes while the second content is made visible.
  • the second content may overlay the first content (e.g., by having the z-order attribute of the second content set to a higher order than the first content) so that the first content cannot be viewed.
  • Figure 2C illustrates an example process for inserting, selecting and displaying content.
  • the process may be performed in whole or in part by the client software described herein, a proxy node, a peer node, or a central system.
  • data e.g., web page data
  • the available space may in some instances include two or more areas of non-contiguous available space, including two or more areas of non-contiguous white spaces.
  • first content is selected based on one or more criteria.
  • criteria can include one or more of the following or any combination thereof:
  • a user profile e.g., demographics and/or specified areas of interest
  • advertiser specified criteria e.g., desired demographics or interest of users to whom advertisements should be served; search terms, wherein if a user enters certain search terms in a search query, the advertiser's ads should be served to the user; payment of a placement fee by the advertiser, amount of placement fee by the advertiser, etc.
  • the first content is displayed in at least a portion of the available content space.
  • the first content may be overlaid over at least a part of the available content space (e.g., by having the z-order attribute of the first content set to a higher order than that of the available content space).
  • the first content may replace at least a portion of content (e.g., advertisements) located in the available content space.
  • more than first content candidate may be selected and displayed in at least a portion of the available content space.
  • FIG. 7 illustrates example features, workflow and functions performed by the client software.
  • the user obtains the client software and installs it on their computing device (e.g., a personal computer system).
  • the software will be installed as a plug-in to an existing Internet browser but could optionally be installed to work with other programs, such as instant messaging programs, or independently.
  • the user may then establish an account with a central system, such as central system 180 illustrated in Figure 1.
  • the user may then configure particular parameters that affect the behavior of the client software such as scheduled times to execute, maximum usage of system resources, and other settings.
  • the client software communicates with a central system, such a central system 180 illustrated in Figure 1 , or other peer nodes for further instructions such as a list of reference sites to access (e.g., for use in passive mode where the client software automatically accesses the reference sites at one or more specified uniform resource locators (URLs) to simulate a user navigating to the sites), the frequency at which these sites may be accessed, the targeted internal references to be found at these sites and/or the simulated behavior when accessing the sites.
  • a central system such as a central system 180 illustrated in Figure 1
  • other peer nodes for further instructions such as a list of reference sites to access (e.g., for use in passive mode where the client software automatically accesses the reference sites at one or more specified uniform resource locators (URLs) to simulate a user navigating to the sites), the frequency at which these sites may be accessed, the targeted internal references to be
  • the client software such as client software 40 illustrated in Figure 1 , may also be used to provide feedback data and beacon information to the central system or other peer nodes.
  • This feedback data can include a batch list of instructions or individual instructions to be executed sequentially or in parallel by the central system.
  • the client software may also receive a list of advertisements or content in whole or in part from peer nodes, the central system 180 or an external system that will be added to or substituted in one or more requested pages from these sites.
  • the content and/or communications may be encrypted.
  • the user utilizes the client software (e.g., an existing browser enhanced by a plug-in or instructed to use a proxy node providing the functionality discussed herein) to submit a search query (e.g., for a topic such as "Concert Tickets" for a particular event) or to access a web site web page.
  • the search engine provides search results to the client software, or the web site accessed by the client software returns a web page.
  • the returned search results or web page may include ads or merchant links within the search results and/or advertisements and links within the web page.
  • the client software parses the content of the search results page or other web contents. For example, the client software may evaluate the search results page to determine whether a merchant link/entry (e.g., for a merchant whose has been designated to benefit from the advertisement enhancement services) is absent from the search results or the merchant link entry is listed with a priority/ranking/position lower than the merchant is designated to receive, and/or that advertisements for the same or different merchant are not displayed, provided for display, and/or readily visible of the web page served by the site.
  • a merchant link/entry e.g., for a merchant whose has been designated to benefit from the advertisement enhancement services
  • the client software may modify the web page/search results to insert or substitute content, or to improve the positioning/ranking of a search result listing, to increase visibility for one or more merchants.
  • an advertisement for a merchant may be inserted in a list of sponsored advertisements, and a missing or hard to find reference link (e.g., hard to find because it has a relatively low positioning in the search results so that it will take navigations though several pages until the merchant reference link is accessed) may be inserted at the top of the list or at a higher position.
  • a subsequent background process may simulate the selection of the inserted link indicating to the search engine that the link was desired.
  • actions, processes and results may then be logged by the client software and communicated back to the central system (e.g., system 180 illustrated in Figure 1) or to peer nodes.
  • the central system e.g., system 180 illustrated in Figure 1
  • peer nodes e.g., some or all of the nodes can log the processes and results so the value of the processes described herein can be reported to one or more recipients (e.g., advertisers) and to enable funds/rewards to be distributed appropriately. This process may be repeated for the same or different instructions.
  • the process proceeds from state 608 to state 618.
  • the client software may behave in a similar ways as discussed above with respect to states 610-620, but without user interaction or with a reduced amount user interaction and with or without displaying requested web page or search results that are automatically requested.
  • the client software may optionally execute instructions and tasks as similarly discussed above.
  • the client application receives (via a pull operation (e.g., via a client application request) or via a push operation from remote system, such as the central system of a proxy node) a list of one or more sites/URLs.
  • the client software optionally automatically navigates to and issues a URL/web page request or a user search query to a particular site from the list received, emulating a user request/search.
  • the client software optionally evaluates the resulting pages and may optionally modify, insert, remove or substitute content from the resulting page (whether or not rendered), and based on the instruction set my simulate further actions on the modified page or via a direct link request to the sites enumerated by the instruction set.
  • the process proceeds to state 628, and the client software records and logs the activities performed by the client application (e.g., a record of the sites accessed, the advertisements modified/replaced, etc.).
  • the process forwards some or all of the logged events to the central system and/or one or more proxy nodes.
  • a system e.g., a financial or rewards system, which may be the central system
  • account settlement is performed (e.g., periodically, such as monthly), wherein the user is paid fees for participating in the services.
  • a merchant participating or that want to participate in the advertisement replacement/listing modification process may register with the system.
  • a new merchant may, and optionally is required to enter profile data, financial information and/or configuration parameters for use by the system in managing the distribution of content and advertisement.
  • a merchant may also include references to other data already existing with respect to certain websites, where the user wants to improve the visibility and ranking of such data on other sites.
  • a merchant may have their own web site or web presence and pay for advertisements and listings to be displayed with other respect to the sites/web pages of other website of other companies to provide better visibility and availability of the merchant's information.
  • the system may employ the client software nodes to augment or enhance the visibility and ranking of a particular merchants existing content.
  • a merchant site may rank poorly because the site owner has not paid to increase its ranking or visibility on a given search engine.
  • the client application hosted on one or more terminals of one or more users may be instructed to simulate a user by automatically searching and selecting or "clicking" on the merchant's site and/or links therein, thereby increasing the apparent random popularity of the site and resulting in improved ranking of the merchants existing site within an independent search engine company.
  • This same or similar technique can be used to affect the frequency and/or placement of merchant or competitor advertisements.
  • a system e.g., a central server
  • the system may also deliver configuration and command logic to the client software nodes, which supplements or augments user configuration data.
  • the central system may be configured to send and receive synchronous and/or asynchronous information over the Internet or other network to client software nodes, and performs data aggregation for the network.
  • client software nodes can operate independently with little or potentially no communication with the central system.
  • the client software nodes can still perform some or all of the functions (e.g., advertisement substitution, ranking modification, etc.).
  • the central system may store merchant registration information, including some or all of the following: method of payment, authorization of payment, and services purchased (e.g., ad replacement services, ad modification services, ranking improvement services, etc.).
  • Merchant data may also include data relating to the creation and formatting of customized text, images and/or other media.
  • the merchant may select or enter particular words, word associations or other data of interest and relate these selections to the included text, formatting and media, which are stored and communicated via the central system, peer nodes, and/or proxy nodes to one or more client software nodes.
  • the central system also may include an advertisement system and/or an interface to one or more advertising partners, such as described elsewhere herein, that enable merchants to promote advertiser content, text and/or media.
  • the advertising system may utilize some or all of client software nodes to command, monitor, record and/or enhance the advertisement process.
  • the central system also may include a payment and reporting system such that transaction and services may be recorded using data from the central system, one or more proxy nodes, and/or one or more client software nodes.
  • the payment system is optionally configured to manage the distribution of fees and proceeds to various participants based on configurable parameters and level of participation.
  • the merchant may configure a payment structure for services, wherein some or all of the merchants service payments are distributed to users based on their client software configuration and level of participation (e.g., the amount of demographic data provided, the number of searches performed using the client software, the number of times the merchant's advertisements have been displayed to the user, etc.).
  • Figure 8 is an example workflow process performed by a merchant system, which may be included as a component of the distributed search engine and content distribution system described herein.
  • the merchant system will be considered to be a hosted application with Internet web pages presenting the user interface(s).
  • a merchant enrolls with the system by providing data such as contact and financial data needed to identify and bill the merchant, and such information is stored in merchant system memory.
  • the merchant system may optionally request or require the input of security information, profile information, regulatory information and or/other information.
  • the merchant system interface may request and store data from the merchant such as some or all of the following: target Internet sites, reference links, keywords, Uniform Resource Locator (URLs), advertisement text, advertisement graphics, active media, (e.g., FLASH media), streaming media (e.g., real time video media), and/or other data.
  • the merchant selects payment terms (e.g., a flat monthly fee, a performance based fee based on improvements in search result rankings and/or advertisement placements) for the services being provided via the distributed search engine and content distribution system.
  • the received data and/or other data may be used to generate instructions for one or more instantiations of client software on one or more hosts, and optionally to search sites, identify content or results, evaluate page or link information, modify results, or to perform other actions or behaviors within the system or through the client software.
  • a user provides a search query to a search engine (e.g., a third party search engine) or a URL that corresponds to a search (e.g., a URL that corresponds to a search result, such might be forwarded from one user that performed a search to another user).
  • a search engine e.g., a third party search engine
  • a URL that corresponds to a search e.g., a URL that corresponds to a search result, such might be forwarded from one user that performed a search to another user.
  • the central system and/or peers determine which merchant is to be provided with an enhanced ranking and/or advertisement placement on the requesting user node based on the user characteristics (e.g., demographics) and/or the merchant profile. For example, the process may identify which advertisers' profile (which may profile the advertising merchant and/or the desired viewers) that more or most closely matches a give user's profile.
  • the user characteristics e.g., demographics
  • the process may identify which advertisers' profile (which may profile the advertising merchant and/or the desired viewers) that more or most closely matches a give user's profile.
  • the identified merchant's advertisements are inserted into the web page provided to the user (optionally replacing an existing advertisement or other content) as a result of the user request/query and/or the merchant's ranking in search results returned by the third party search engine is modified/improved.
  • the process proceeds to state 71 1.
  • the instructions are issued to one or a plurality of client applications to cause the client applications to execute one or more reference or search lists (as similarly described above) optionally in a manner configured to simulate random user requests/search queries.
  • references in returned pages to the merchant and/or competitors are identified.
  • one or more client applications simulate a user activation of the referenced links (e.g., associated with the merchant).
  • the client software of the client nodes records and logs the activities performed by the respective client software (e.g., a record of the sites accessed, the advertisements modified/replaced, etc.).
  • the process forwards some or all of the logged events to the central system and/or one or more proxy nodes.
  • a system e.g., a financial or rewards system, which may be the central system
  • the merchant is charged for the services provided via the distributed search engine and content distribution system.
  • the merchant system may store activity results of the system and the client software nodes. This stored data and other data may be used to create reports, calculate billings, optimize node inter-communications and pathways, or determine other compensation or rewards.
  • Figure 8 illustrates certain features and functions of an example system and interactions with merchants and client software nodes.
  • FIG. 1 a process stream is illustrated whereby users 10 may connect to a registration system 190, payment system 192, ad engine 194, reporting system 196, central system 180, and other peer nodes and/or proxy nodes.
  • the components of the system 180 may be hosted on a single computer system or the components may be hosted on a plurality of computer systems which may be geography distributed over a large area and over many systems.
  • a user registers with the central system 180 and configures elements of the software to run interactively or automatically from the user's device 20, or the system can configure the elements of the software.
  • a user may configure the client software to focus content based on user specified interests, demographics, and/or other data.
  • Merchants may also connect to the central system 180 and enter registration information in the registration system 190 and the payment system 192.
  • the payment system 192 optionally provides for a shared payment and reward methodology that are based on system parameters and participation.
  • the merchants can configure the ad engine 194 with desired representation media or reference information which is tracked within the reporting system 196.
  • the client software, peer node, or proxy node 40 retrieves information from the central system 180 or other peer or proxy nodes, and actively and/or passively makes requests to the third party search engine 100 or other Internet sites based on rules configured between the client software 40, other peer nodes, other proxy nodes and central system 180. These requests may be used to perform one or more of the following:
  • the system 180 may be connected via an interface 181 to a user bank or other financial site 198 in order to make deposits of fees being paid to the user 15 for participating in processes described herein.
  • the system 180 may be connected to a merchant bank or other financial site 199 in order to make withdrawals/charges for services rendered to the merchant and/or to made deposits.
  • the system 180 may also be connected to one or more partners 98.
  • the advertising content to be replaced can take the form of video content
  • the user terminal can take the form of a television or other device configured to reproduce or play video content, such as a tablet computer, smartphone, laptop computer, desktop computer, game console, etc.
  • a television can include a processor running client software as described above.
  • the television can be configured to receive and display video content via cable, and/or may be an internet-connected device configured to stream video from internet sources.
  • Such an internet-connected television is sometimes referred to as an IPTV.
  • the user terminal can take the form of a set-top box to be used in conjunction with a television.
  • the set-top box may be a dedicated piece of equipment for running the client software.
  • the set-top box may be adapted to provide other functionality.
  • the set-top box may be a gaming console, DVR device, or other device capable of running the client software (which may or may not have all of the functionality discussed herein).
  • video content can be received by the set-top box, which then provides the video content to the television for display.
  • a user may download the client software onto the television or set-top box.
  • the television or set-top box may be provided to a user with the client software pre-installed.
  • the client software may be activated or installed remotely through a service agreement either directly or via a third-party intermediary.
  • the software may be either pre-installed, dormant, or uninstalled.
  • the service operator may automatically or manually activate the client software or push-install, based at least in part on the user agreement.
  • advertisements are typically included within the video content or between items of video content. Advertisements may take the form of a discrete length of video. For example, a movie or television show may be interrupted to display one or more video advertisements, after which the movie or television show may be continued. Video advertisements may also take the form of so-called product placement, in which the advertisement is incorporated into the video content itself. Such advertisements may be referred to herein as "integrated" video advertisements.
  • a character in a movie or television show may consume a branded beverage, using a branded item of electronic equipment (e.g., a television or computer), or be shown driving a certain brand of car.
  • a character in a movie or television show may verbally reference the advertised service or product.
  • advertisements are incorporated into the video content.
  • DVR Digital Video Recording
  • the client software may identify video advertisements within the video content provided to the television or set-top box.
  • video advertisements may be identified by the client software through analysis of the video content.
  • video advertisements may be identified by recognizing certain tags or other markers indicating the presence and/or position of an advertisement (e.g., including the timing of the advertisement position relative to the beginning or other portion of the video content, identification of frame(s) corresponding to the advertisement, the dimensions of the advertisement, the position of the advertisement within the frame(s) (e.g., for product placement advertisement), color information for the advertisement, etc.).
  • Such information regarding the presence, position, appearance, movement, duration, format e.g., still image, video content, graphic, etc.
  • other aspects of the advertisement can be referred to generally as the "digital footprint" of the advertisement.
  • tags or other markers can provide information regarding the position of the object such as the angle or orientation, shading, angle of light rays incident on the object, texture, and/or other surface information. This information may be used to provide a suitable replacement advertisement.
  • tags or other markers may indicate the size of the can as displayed within the video content, along with the shading, orientation, illumination, angle of illumination, or other characteristics of incident light, or other digital footprint information. This information provided by the tags or other markers may then be used to select a suitable replacement advertisement, for example a soda can of a competing brand.
  • the replacement advertisement is adapted such that a viewer is unable to detect that it has replaced or overlaid an original advertisement.
  • the tag or other marker may be included by a provider of the video content, optionally during a post-product phase.
  • commercial breaks or other video advertisements may be manually identified via a corresponding user interface and the identification provided to the client software.
  • Identified video advertisements may be modified, replaced, or overlaid with other selected video advertisements.
  • systems and methods described herein may take into account the length of the video advertisement being overlain or replaced, wherein the replacement video content is identified and selected so as to fit within the given time-slot of the video content being replaced.
  • a video advertisement to be overlaid, modified, or replaced is identified and optionally highlighted (for example, a visual indicator may appear on the user's screen, although other forms of highlighting may be used).
  • the video advertisement is not highlighted to the user and the replacement/modification is optionally performed automatically and transparently to the user so that the user is not aware that a given video advertisement is being replaced or modified and the given video advertisement is optionally not displayed to the user prior to being automatically replaced.
  • certain data associated with the user terminal may be stored locally and/or remotely in memory.
  • data can include demographic, interest, behavior, and other information provided to or collected by the client software running on the television or set-top box.
  • a user may manually provide certain interest areas, location, age, etc. to the client software.
  • the client software may construct a user profile based at least in part on the video content viewed by the user. For example, a user who typically views historical documentaries may be assigned a different user profile from a user who typically views Spanish-language soap operas. Based on a user profile, the client software can select replacement video advertisements to be displayed to the user. Such video advertisements may also be selected based on the video content being viewed, for example the time of day, the type of content, the user's viewing habits (e.g., channel surfing vs. extended viewing of a single channel).
  • video content may be modified rather than replaced.
  • the video content to be modified may be an advertisement or may be programmed content such as a movie or television show.
  • the audio associated with a video advertisement may be modified.
  • audio associated with the video advertisement may be muted or paused, with other audio inserted in its place (e.g., if an actor audibly refers to a brand or product name, the corresponding audio may be replaced with audio that refers to a different brand or product name).
  • portions of the video content itself may be modified. For example, a video advertisement for a car might be modified to display different text depending on the location in which the video advertisement is displayed.
  • the images, audio, length, or other characteristics of the video advertisement may be modified by the client software. As discussed above, the modifications may be based at least in part on a user profile, viewing behavior, and/or other information available to the client software.
  • the client software can identify product placement advertising. For example, a character in a television show may consume a can of Coca- Cola®. The portion of the video displaying the can may be identified by the client software.
  • the video may then be modified. For example, the video may be modified to replace the image of the can with that of a can of another branded beverage.
  • audio data can be modified. For example, video of a character speaking favorably about Coca-Cola® may be modified so that the character speaks favorably about Pepsi®. The modification may take place in substantially real-time, or in some embodiments may be performed in advance.
  • the content creators may provide markets to indicate integrated video advertisements such as product placements or other in-content advertisements.
  • third parties may identify product placements or other in-content advertisements, and this information can be provided to the client software.
  • the client software itself may automatically analyze the video content and identify product placements or other in-content advertisements, without relying on provided markers.
  • Various other configurations are possible.
  • the replacement or modified product placement may rely on certain characteristics of the video content to provide an acceptable match.
  • a replacement image of a Pepsi® can replace an existing Coca-Cola® image.
  • the replacement image is configured to correspond to the exiting image, such that the can of cola is substantially identically sized in both the replacement and existing images.
  • the replacement image may be configured to correspond to the angle/orientation, shading, incident light, texture, or other surface characteristics of the existing image.
  • one movie scene with a product-placement of a Coca-Cola® can take place in a dimly lit room with a close-up image, such that the can may be relatively dim.
  • Another movie scene may include a can of Coca-Cola® in a bright outdoor scene. Due to the different lighting characteristics, the existing images of Coca-Cola® cans may differ significantly. Accordingly, in some embodiments a replacement image (such as a Pepsi® can) may be provided with differing colors, shading, etc. to match the different lighting characteristics. Similarly, the size, orientation, or other characteristics may vary from scene to scene or throughout an individual scene. In some embodiments, these and/or other characteristics are provided via tags or other markers.
  • these and other characteristics may be detected automatically by client software. This information may be used to provide a suitable replacement advertisement.
  • the replacement advertisement can be adapted such that a viewer is unable to detect that it has replaced or overlaid an original advertisement.
  • product placement may be "leased" to an advertiser for a period of time.
  • an advertisement may purchase the right to have their product included in a scene of content for a period of time or for certain avenues of distribution.
  • a first advertiser may pay to have their product included within one more scenes.
  • a second advertiser may pay to have their product replace the first advertiser's product on a Blu-ray optical disk release.
  • a third advertiser may pay to have their product included when the video content is initially provided via cable (e.g., the first 90 days).
  • a fourth advertiser may pay to have their product included during a subsequent period of time (e.g., within the period of 90 days-365 days after the video content is released to cable), and so on.
  • video content can be provided that includes a first available advertising space.
  • the available advertising space may be a product-placement type advertisement that may be replaced or overlaid as described above. Available advertising space may likewise be a verbal reference within the video content to the advertised product.
  • the available advertising space may take the form of a placeholder, which may be identified by the system, rather than a pre-existing product-placement advertisement.
  • video content may include a scene with an empty countertop in view.
  • a product-placement advertisement may be inserted such that the product is displayed on the countertop. In this approach, the inserted advertisement does not replace or overlay a pre-existing advertisement, but rather is inserted into available advertising space.
  • a video game may include a tattered billboard visible within the game. The billboard may initially be presented as blank, and an advertisement may be inserted such that it is displayed on the billboard within the video game.
  • the video content provided with available advertising space may include certain tags or other markers to identify and characterize the available advertising space.
  • tags or other markers may indicate the presence and/or position of available advertising space (e.g., including the timing of the available advertising space, position relative to the beginning or other portion of the video content, identification of frame(s) corresponding to the available advertising space, the dimensions of the available advertising space, the position of the advertisement within the frame(s) (e.g., for product placement advertisement), color information, etc.).
  • the available advertising space may be identified by client software automatically.
  • the video content may be analyzed, either in substantially real-time or prior to displaying the video content.
  • the analysis may identify available advertising space, including, for example, pre-existing product-placement advertisements within the video content.
  • the client software may select an advertisement for insertion into the available advertising space.
  • the advertisement may be selected based on characteristics of the available advertising space. For example, a first available advertising space may be appropriate for insertion of a product-placement advertisement for a beverage, while a second available advertising space may be appropriate for insertion of a product-placement advertisement for a car.
  • the selected advertisement may be inserted into the available advertising space for a first duration.
  • the advertisement may be inserted into the available advertising space for a certain period of time or for certain avenues of distribution (e.g., theatre release, cable television) or for certain regions (e.g., countries, states, cities, etc.).
  • the video content including the inserted selected advertisement may be referred to as modified video content.
  • This modified video content may either be displayed directly, or may be stored indefinitely.
  • a set-top box may insert selected advertisements and display the modified video content to a user in substantially real-time.
  • a cable operator may insert selected advertisements into a movie and store the modified video content for later distribution.
  • the cable operator may store multiple different versions of the modified video content.
  • first modified video content may include a Pepsi® advertisement
  • a second modified video content may include a Coca-Cola® advertisement.
  • a first modified video content may include an advertisement directed to the Northeast
  • a second modified video content may include an advertisement specific to California.
  • an advertiser may pay based on the number of times that modified video content in which its advertisement has been inserted is viewed. In some embodiments, an advertiser may pay a fee based on the duration of time during which the modified video content will include its advertisement. As noted above, for a newly released movie, a first advertiser may pay to have their advertisement included into one more scenes. A second advertiser may pay to have their advertisement inserted into on a Blu-ray optical disk release, and so on.
  • a user interface may be provided for display on an advertiser terminal, the user interface including a menu of product placement opportunities (e.g., within one or more listed movies and/or television content) and associated fees for different time periods, lengths of time, and/or avenues of distribution (e.g., movie houses, cable, rentals, streaming subscription service, Blu-ray, DVD, etc.).
  • the advertiser may select, via the user interface, the desired product placement target content (e.g., movie(s) or television content), for the desired time periods, lengths of time, and/or avenues of distribution, and may provide the image of video clip of the item to be included as product placement (e.g., via upload via the user interface or otherwise).
  • the advertiser may then be charged or invoiced for the product placement, and the product placement may be performed as similarly discussed above in accordance with the specified target content, desired time periods, lengths of time, and/or avenues of distribution.
  • certain embodiments can be utilized by an enterprise, such as an employer, merchant, vehicle operator, or venue operator to filter out certain advertisements on incoming pages directed to terminals (e.g., employee, customer, and/or visitor terminals, which will be referred to as "member terminals"), and replace those advertisements with enterprise selected content (or content selected by an entity, such as a partner of the enterprise, that has been authorized to select content by the enterprise) retrieved from an server (e.g., an enterprise or partner server).
  • the enterprise/partner content may include announcements regarding the enterprise, such as new product information, employee/customer/visitor events, employee benefit information, etc.
  • the enterprise can contract with an ad broker or other entity, to serve advertisements (e.g., of the enterprise or a partner) to the member terminals, optionally in exchange for benefits (such as those described above with respect to users) provided to the enterprise.
  • advertisements e.g., of the enterprise or a partner
  • benefits such as those described above with respect to users
  • the amount and/or type of benefits may be based on the participation of employees/customers/visitors as similarly described above with respect to users.
  • certain embodiments can be utilized by a user to replace advertisements on incoming pages to a user terminal with user selected content, such as user photographs, videos, or other content.
  • the user content may be accessed from the user terminal's memory, or via the user terminal from another system's data store or system node.
  • an example embodiment of the system described herein optionally employs a distributed architecture with user-configured software nodes that enhance the relationship between merchants and users to shift the content provider and search engine value paradigm.
  • LAACRT locally and automatically articulated content requester technology
  • Certain embodiments of the locally and automatically articulated content requester technology (LAACRT) described herein may enable content publishers, media broadcasters and network access providers to enhance the relevancy and value of the content and advertisement associated with the products and services they provide. Improved relevancy and value may enable service providers to gain higher revenues for providing improved or more convenient services for their members and consumers.
  • these revenues may be employed to lower or eliminate consumer access costs by reducing or offsetting the access provider's infrastructure costs to enable Internet access.
  • such revenues may be used to improve consumers' access experience by enhancing access to more quality content and restricting distracting or irrelevant content such as popups, or distracting advertisements, that are typically unwanted by consumers.
  • Data integrity may be adversely impacted, because data passed between intermediaries can degrade rapidly, where the degradation may increase as the number of intermediaries through which the data passes increases.
  • Ad entropy may be increased as well because the quality and the value of the ads can often spiral downward based on performance, data, and timing.
  • Certain embodiments of the LAACRT methods and systems disclosed herein may solve one or more drawbacks inherent with intermediaries by enabling a localized agent within the accepted security paradigm that automatically promotes advertising competition for a relevant advertising opportunity. This can help re-establish safety, market balance, and create a level playing field for advertisers, consumers, publishers, and access providers. This may enhance the user experience, reduce latency, reduce the costs and need for wasted advertisements, reduce the aggressive, and often annoying, techniques created by intermediaries to capture consumer attention, and mitigate the desire to breach security paradigms to gain more value from a closed system.
  • LAACRT Locally and automatically articulated content requester technology
  • an example embodiment may include script, such as HTML script, which may be in a form similar to an ad tag, an object code container, or browser add-on that was installed on behalf of the user or by a service selected by the user.
  • a script or container may be used to overlay or replace advertisements or advertising placeholders, to thereby maintain or substantially maintain the existing site or content format and user experience, and/or they can be placed in un-used or open spaces within a page or site so as not to materially affect the publisher content.
  • This HTML script may be self- aware, page-aware, and/or aware of other similarly placed scripts or containers within the destination page.
  • the script may know or be able to determine other IP addresses
  • the script may detect one or more of the version, IP address, URL, etc.
  • the script may know or be able to determine the page, location on the page (e.g., coordinates), URL, meta data, and other such data in the page; if the script is in a set top box or TV, it may know or be able to determine the channel, time, program, rating, etc.
  • LAACRT Unlike conventional intermediary ad tags and programs that are activated by virtue of their midway position between the websites and the user terminal, and therefore are also limited by industry standard security paradigms, the LAACRT script may be safely authorized within industry standard security paradigms to enable more accurate targeting information to a plurality of possible advertisers, ad networks, or ad exchanges from the user endpoint.
  • LAACRT in certain embodiments, is configured as a distributed, localized solution that executes from within the user's computer, the user's browser, the user's dedicated equipment, and/or a web page.
  • a user can provide, and the LAACRT system can receive, consent from the user for the system to run the HTML script and replace or overlay advertisements and/or to perform other functions discussed herein.
  • LAACRT script can run from within the user's computer, browser, etc., it can avoid many of the limitations imposed upon intermediaries by the standard security paradigms. This is a significantly different structure and enables a plurality of advertisers to openly and fairly compete for this opportunity.
  • LAACRT may also mitigate the need for considerable processing power of conventional techniques, and may reduce the latency often visible to users needed to maintain response.
  • LAACRT in certain embodiments, is configured as a distributed, localized solution that executes from within the user's computer (or other user terminal), the user's browser, the user's dedicated equipment (such as, but not limited to, a Wi- Fi router, set-top box, cable box, TV or DVR device), and/or a web page.
  • a single LAACRT container, LAACRT place holder, and/or LAACRT ad tag may optionally be configured to collect non-identifiable page information, user controlled demographic information, and/or other similar or non-similar information, and broadcast some or all of the collected information nearly simultaneously or in parallel to a pre-determined or a dynamically selected plurality of advertisers, ad networks and/or ad exchanges for their bid. Advertisers, ad networks, and/or ad exchanges receiving the more accurate, relevant and un- degraded information from the source user may selectively choose to respond with their bid for the right/opportunity to advertise to the user.
  • the LAACRT bid request may optionally also be configured to categorize the advertising opportunity with respect to various criteria, such as one or more of site location, page content, site rating, site type, advertising position in the page or stream.
  • the LAACRT bid request may also designate acceptable responses such as media type, MIME type, advertising rating, minimum price, latency expectation or requirements, and/or other attributes, so as to improve the quality of advertising with respect to the user and the publisher.
  • the bid request may specify an allowed time within a response will be considered, wherein after such time the bid may optionally be rejected or otherwise not accepted.
  • LAACRT may optionally be configured to receive and aggregate bids from responding advertisers to select from a number of advertisements an appropriate advertisement (e.g., the most appropriate advertisement) based at least in part on such bid categorization and requirements. For example, bidders that did not respond to the LAACRT advertising request in the allowed time might be ignored simply to reduce latency.
  • LAACRT may optionally be configured to accept bids and a reference to the advertising to reduce or minimize network delay and/or reduce or minimize back and forth communication.
  • the LAACRT system may be configured to cause the advertisement to be displayed directly. For example, if the advertisement has been included with the bid, then the LAACRT system can cause the advertisement to be displayed upon selection of the winning bid. Alternatively, upon selection of the winning bid, the LAACRT system may request the advertisement in a subsequent communication, or enable the advertiser's ad tag which is inherently limited by the security paradigms and does not include the same user authority granted to the LAACRT system by the user.
  • the LAACRT system may include a script executed on the user side (e.g., in the user's terminal, user's browser, etc.), and accordingly can be authorized with access unavailable to advertisers.
  • the LAACRT system is configured to optionally perform some or all of such functions asynchronously and in background via the distributed framework enabled by LAACRT, to thereby significantly reduce or eliminate user latency.
  • Certain embodiments also communicate information regarding the winning bid such as, by way of example, response times, amount of winning bid, reason for winning bid, and/or other information, back to some or all responders to the bid request so that they may continue to improve their service and enhance the value of such services to the user and publishers.
  • information regarding the winning bid such as, by way of example, response times, amount of winning bid, reason for winning bid, and/or other information
  • the LAACRT system is configured to track information regarding response times, content delivery, and/or other performance measurements of the bidders.
  • bidders with slower response times, or who introduce latency in the delivery of content are optionally penalized by the LAACRT system in future biddings.
  • bidders with fast response times and/or who do not introduce undue latency in the delivery of content may be rewarded with preferential treatment in future bids.
  • a fast bidder might get called first or more often (e.g., may be provided with offers to bid on opportunities relatively earlier than slower bidders, or relatively more often, and/or may be offer better/more preferred opportunities to bid on as compared to slower bidders).
  • Slow or unreliable bidders might get cut off (e.g., the system may inhibit the broadcast of offers to bid on opportunities to such unreliable bidders, the system may reject bids from such unreliable bidders) or relegated to lesser opportunities so as not to slow down the process, at least until their metrics demonstrate improvement (e.g., for a specified period of time) in which case they may manually or automatically be provided with enhanced treatment (of which there may be multiple levels) based at least in part on their performance and reliability. The same can be true with respect to cost and quality.
  • the LAACRT system is configured to pass additional information not available to intermediately placed technologies within the security paradigm that increases the value of the LAACRT technology and advertising integrity to eco-system participants to improve overall experience.
  • the LAACRT system may be configured to provide information indicating or demonstrating the advertisement was visible.
  • the LAACRT system may provide some or all of the following information: the time the advertisement was in viewable space, whether the page was scrolling, if mouse movement was detected, and/or other information received or detected when the advertisement was being displayed (e.g., which may indicate that the advertisement was displayed, viewed and/or interacted with by the user).
  • the LAACRT system may be configured to also refresh content, activate new content, cycle through subsequent bids in selective order (e.g., after displaying the winning bid's advertisement for a period of time, the second highest bidder's advertisement may be displayed), or request a new advertisement based at least in part on page characteristics, a specified display duration, a random display duration, user activity metrics, perceived value of a dormant advertisement, other page activities, and/or other LAACRT system objects.
  • An ad may be designated as exclusive (e.g., where the ad is not switched or rotated out for another ad) or as having an X display time, where X is a configurable time that the ad remains without rotation.
  • Ads may be considered dormant in the sense that they can become asymptotically less valuable after a few seconds (e.g., if the user was going to click or in interested they would have clicked or kept the ad in view). If there is no client, dwell or gesture indicating interest, the ad may be considered dormant.
  • the ad may trigger a change event.
  • a user may also park a page (i.e., no activity for a time), and the ad may be a changed or rotated once activity on the page resumes.
  • the LAACRT system may also be configured to communicate with other LAACRT system placeholders or with advertisements inserted by the LAACRT system, to enhance value and user experience.
  • the LAACRT system may be configured to synchronize the display of selected page advertisements, such as a banner advertisement and a streaming media advertisement, or a banner advertisement and a coupon advertisement matching the service or product in the banner advertisement, to enhance the value to the consumer and the opportunity to the advertiser.
  • the LAACRT system may be configured to use inter-page or inter- container communications between the LAACRT system scripts to reduce page clutter, reduce page annoyance to the user, or enhance the number of companion ads within a site as a user traverses a page, listens or watches a media stream, and/or scrolls around a page or navigates to other pages or sites.
  • LAACRT may be implemented as a distributed, localized solution that runs from within the user's computer, the user's browser, the user's dedicated equipment (such as, but not limited to, a Wi-Fi router, set-top box, cable box, TV or DVR device), or a web page.
  • the LAACRT system is privy to certain user information not otherwise available to intermediaries. This information can be used to provide increased value for advertisers, increased revenue for network access operators, and increased relevancy of content displayed to users.
  • the distributed nature of the LAACRT system may reduce latency as compared with the latency caused by intermediaries.
  • the LAACRT system can solicit bids substantially in parallel from a variety of ad exchanges. With this approach, two or more real-time bidding engines can compete with one another for price, speed of providing the advertisement to be displayed, and content.
  • a response time limit may be imposed to avoid or reduce latency.
  • the LAACRT system may specify and communicate to bidders/bidding engines that they need to provide a response to a request for bid within 56 milliseconds (or other desired time period), after which further bids will be ignored or otherwise treated adversely.
  • the LAACRT system can provide information to the advertising providers that submitted losing bids.
  • the LAACRT system can provide the advertisement for display on the user terminal, for example by inserting the advertisement in place of a LAACRT placeholder tag or by replacing an advertisement.
  • the manner in which the advertisement is displayed can be varied according to rules imposed by the LAACRT system.
  • the selected advertisement can be displayed for a pre-defined period of time, for example 5 seconds or other time period.
  • the selected advertisement may only be provided for display or run when the area in which the advertisement is to be positioned falls within the visible portion of the user's browser. For example, a plurality of advertisements may be positioned on a given web page.
  • one or more of the advertisements may not be visible to the user.
  • un-viewable advertisements are still included and executed in the page.
  • these advertisements may include video, Flash, other executable media, etc.
  • the running of such advertisements even when not visible may increase network bandwidth usage and deleteriously affect the user's browsing experience, without benefiting the advertiser. Accordingly, it can be advantageous to selectively provide for display and/or execute advertisements only when such advertisements would be viewable by a user, for example when a browser window is positioned with at least a portion of the ad in the viewable area.
  • advertisements may be rotated for display within a given page area so that the advertisements are displayed sequentially in that area. For example, after a first advertisement is displayed for a pre-defined period of time, such as 5 seconds, the first advertisement may be replaced by a second advertisement, which may similarly be displayed for a pre-defined period of time (which may be the same or different than that of the time period of another advertisement).
  • the rotation of ads can be ongoing indefinitely.
  • the rotation of ads can be selectively applied. For example, ads may only be rotated when the displayed advertisement is viewable by a user (e.g., the advertising space falls within a browser window).
  • Figure 9 illustrates an example HTML script implementation using pseudo-code and an example system architecture that may be used to demonstrate certain features of the LAACRT technology. Other components and configurations may be used as well.
  • a user browses a document, such as a webpage, on a connected device.
  • the document e.g., webpage
  • the document contains a plurality of items content from different sources. Some or all of the content may be dynamically created and determined only after reaching the user's connected device.
  • the connected device may be a terminal including a display and user input device.
  • a terminal may be in the form a general purpose computer, a laptop computer, a tablet computer, a phone, a networked television, a gaming device, etc.
  • the content publisher may surround some or all the content it publishes with tags, such as HTML tags, that identify the content source, the type of content that is being transmitted, the content rating, and/or other attributes that can be used to evaluate the safety and value of this content to the access provider and end user.
  • tags may be monitored by the script, and based at least in part on an examination of the tags, a determination may be made by the script as to which content is to be displayed and which content is to be blocked or substituted with other content.
  • Content 1 and Content 2 are permitted by the system executing the script, and so may be displayed on the page; however, the script determines that Content 3 fails to meet the requirements (e.g., specified by an access provider, premise operator, and/or user) and is blocked or substituted by the system, optionally without affecting other content or page layout.
  • Content 1 may be a news article of known origin as determined by inspection of Content 1 and/or associated metadata, such as associated tags (e.g., HTML tags).
  • the tags may identify the publisher as CNN or Wall Street Journal, for example.
  • the content type may be labeled, via a tag or otherwise, as news.
  • the fee (e.g., charged by the access provider or premise operator or a CPM (Cost per mille/thousand), CPC (Cost per click), or other fee (e.g., revenue) that the publisher or advertiser is willing to pay) may be specified via a tag or otherwise as $0.00, and the event tag may have a null value.
  • the tags and/or tag values may be omitted.
  • the fee, content type, height, and/or other attributes and associated tags may be omitted.
  • identified advertisement content may be stripped from the webpage or application and replaced with by the LAACRT system with a placeholder tag.
  • Content 2 may be an advertisement from a well-known ad serving provider, such as DoubleClick or ValueClick.
  • the content type may be advertisement, the fee (as described above) may be $0,001 and the event may include additional actions if the user clicks on the advertisement.
  • Content 3 may also be an advertisement but did not include the needed tags for identification purposes and/or failed to meet permission criteria, as indicated by a rating tag, such as a content rating for a given site.
  • the LAACRT script may examine Content 3 and/or associated tags and determine that if Content 3 failed a source identification determination and/or permission criteria.
  • ad toll technology may be employed by the system.
  • one or more toll booth locations or sites register with the registry and a given toll booth location records the passage of an ad based in whole or in part on delivery to a user. Further details of ad toll technology can be found in U.S. Provisional Application Nos. 61/648450 and 61/793832, which are hereby incorporated by reference in their entirety.
  • an advertisement has to be delivered to a user connected device in order for the network provider and/or publisher to be provided payment with respect to the advertisement.
  • revenues or payments with respect to the advertisement may be split among the multiple network operators and, in certain circumstances, the user to whom the advertisement is delivered.
  • the revenue may be split based at least in part on one or more network parameters (how many network segments (e.g., network operator A might traverse the advertisement from point A to B via a national network link, network operator B might traverse the advertisement from point B to point C via a local ISP link, and network operator C might traverse the advertisement from Point C to the user terminal via their WiFi network), how far or number of hops (e.g., the number of routers or routes traversed from the sender to the receiver, in which optionally a given router/route may have an associate detailed cost)) and/or what percentage or revenue share is indicated by the ad tag itself, registry rules, and/or otherwise.
  • the network parameters may be equally or unequally weighted in determining how the revenues/fees are to be split.
  • Access requirements may optionally be configured and managed in an access profile record via a web application or client application accessed by a customer or account manager.
  • This profile may include rules or access thresholds based, at least in part, on physical location, bandwidth characteristics, virtual location, cost metrics, or location type such as a hotel property or small coffee shop business and/or other criteria. Rules may also be configured based on account, physical or logical network, virtual network characteristics and/or the type of connection such as, but not limited to, free, paid limited access or paid full access. These rules may also be automatically or dynamically derived based on real-time factors or conditions such as active URL, page content, time of day, day of week, use, current events and/or other factors that might affect the triggering or targeting of dynamic content.
  • a user may access a network access device, such as a free public WiFi network hotspot (that is privately owned) with terms and conditions covering network usage and advertising (e.g., where the user clicks on an accept control or otherwise indicates acceptance of the terms and conditions).
  • a network access device such as a free public WiFi network hotspot (that is privately owned) with terms and conditions covering network usage and advertising (e.g., where the user clicks on an accept control or otherwise indicates acceptance of the terms and conditions).
  • the rules defined by the private network operator for the private network may cause the system to selectively enable (or block) specific advertisements to pass through the private network based on specific conditions, such as, by way of example, appropriate rating, publisher URL, and/or pre-established agreements such as an access fee or threshold revenue amount.
  • an advertiser may utilize an HTML tag and URL reference to return their advertisement.
  • the ad tag may be in the form of an HTML place holder, and may be inserted by the publisher when a page (e.g., an HTML Web page) is served.
  • a page e.g., an HTML Web page
  • an ad tag script is executed by the browser, and passes back information to the ad provider system, such as cookie data, IP address and/or the current URL, enabling the ad provider to dynamically select a relevant or best ad for the user.
  • the ad image may not actually be in the page. Instead, a reference to a program that will find the image may be included in the tag.
  • the LAACRT system or script may parse this tag and/or programmatically reference the tag's characteristics and determine inhibit the showing of this advertisement if the content rating is determined (e.g., by inspecting a content rating tag) to be inappropriate for the viewer and/or the location (e.g., the website the viewer is viewing or the physical facility housing the WiFi hotspot). For example, a coffee shop with a hotspot may not want obscene or offensive material to be displayed on user terminals, within the coffee shop, accessing the hotspot.
  • the rules, as applied by the LAACRT system or script, may also evaluate a revenue attribute for this particular advertisement (e.g., by inspecting an appropriate tag) by comparing the revenue attribute to an acceptance threshold value as pre- specified by the network operator or as otherwise specified, and choose not to prevent the advertisement from passing through the network if the revenue attribute is determined to be below the acceptance threshold.
  • the LAACRT system can block some or all identified advertising content and replace it with a the LAACRT Placeholder tag.
  • the system may enable the advertisement to be delivered to the user's terminal, the delivery of the advertisement may be recorded by the system, optionally in association with some or all of the associated tag information, such as tag information identifying the publisher, the advertisement, the revenue offered for the ad, the network or networks the advertisement passes through, and/or other such information.
  • tag information such as tag information identifying the publisher, the advertisement, the revenue offered for the ad, the network or networks the advertisement passes through, and/or other such information.
  • tag information such as tag information identifying the publisher, the advertisement, the revenue offered for the ad, the network or networks the advertisement passes through, and/or other such information.
  • tag information such as tag information identifying the publisher, the advertisement, the revenue offered for the ad, the network or networks the advertisement passes through, and/or other such information.
  • Such stored tag information may be utilized by the LAACRT system or otherwise to determine who revenue is to be collected from.
  • the LAACRT system may use the tag information to collect revenue from (e.g., charged to)
  • the LAACRT system or script may instead or in addition evaluate the source and attributes of a given content element to determine whether the defined rules of the access provider and/or user indicate that this content is permitted to be routed over their equipment and/or provided to the user terminal (e.g., laptop, tablet, desktop, cell phone, networked television, etc.), or whether the rules indicate that the content is not to be routed over their equipment and/or provided to the user terminal.
  • the user terminal e.g., laptop, tablet, desktop, cell phone, networked television, etc.
  • the advertisement had to pass through multiple private networks (previously registered in the network), such as passing first through an Internet service provider (ISP), and then through an operator's private hotel network, and finally to a WiFi network operated at a concession shop at the hotel, then a portion of the revenue may be shared between each of these operators equally or computed based on the network length, cost, number of routers or other similar characteristics of the networks.
  • ISP Internet service provider
  • WiFi Wireless Fidelity
  • a user's terminal e.g., a computer
  • the rules may also be applied with respect to the user and/or user terminal
  • the user may share in revenues enabling the distribution of content.
  • the registry may also store user-specific data and enable the user to also configure rules governing the permission or denial of content passing into their computer in the same or similar manner as the network operators.
  • the system may replace the content with a the LAACRT system placeholder tag.
  • the system may then solicit bids to identify and display replacement advertising content in place of the LAACRT placeholder tag.
  • relevant advertisement opportunity data is collected.
  • the LAACRT placeholder tags can be identified and information regarding the container, the page, the user, etc. can be collected or identified.
  • the LAACRT system may enumerate appropriate bidders. In some embodiments, bidders may be selected from an active exchange market.
  • bidders may be enrolled into a proprietary bid exchange platform.
  • the LAACRT system may establish bid requirements and timers with respect to the advertisement opportunities. For example, the LAACRT system may require any bids to be received within a given period of time (e.g., within 50 milliseconds) in order to be substantially evaluated or accepted, and/or may impose other requirements on the bids.
  • a bid process timer is initiated by the system (e.g., a bid process might be limited to 200 ms).
  • some or all of the opportunity data is broadcast to bidders (e.g., to bidder systems).
  • bidder timers are initiated by the LAACRT system (e.g., all bids might be required to be submitted within 50 ms, such that the entire processing and selection may take less than 200 ms).
  • the system checks for responses received from bidders, at state 1218 checks timers (e.g., to determine if the bids have been received within the specified time period), and at state 1220 collects (and optionally time stamps) the received bidder responses.
  • the LAACRT system determines the winning bid based on bid amounts and/or other criteria discussed herein (and the system may reject any bids received after timer expiration). If there are no winning bidders, the LAACRT system may, in accordance with bidding process procedures, and optionally begin the process again. In some embodiments, if there are no winning bidders, the LAACRT system may display a default advertisement. If the system selects a winning bidder, at state 1224 the LAACRT system retrieves the ad content associated with the winning bid (e.g., an image, video, animation script, etc.).
  • the ad content associated with the winning bid e.g., an image, video, animation script, etc.
  • the ad content is included along with the submitted bid or a link (e.g., a URL or other locator, may be submitted with the bid).
  • the LAACRT system then provides the winning content for display on the user's connected device in place of the LAACRT placeholder tag.
  • some or all of the winning bid data can then be communicated to the winning bidder and, optionally, to one or more of the losing bidders.
  • an access provider or user may permit content to be routed and/or displayed for value received.
  • the access provider may allow advertising content to pass over their network for a fee to help offset the cost of the equipment necessary to enable the user's connection.
  • the user may want to limit the type or size (e.g., in terms of the number of bytes) of the advertisement when bandwidth is limited or shared.
  • the system may enable the user to specify ad acceptance criteria, which may include size, type (e.g., text, graphics, photographs, video, and/or audio), source, rating, etc., which will be used by the system to determine whether or not to permit an ad to be displayed to the user.
  • ad acceptance criteria may include size, type (e.g., text, graphics, photographs, video, and/or audio), source, rating, etc., which will be used by the system to determine whether or not to permit an ad to be displayed to the user.
  • This form of advertisement control may also appeal to access providers who often pay significantly more to enable greater bandwidth. By restricting undesirable content from traversing their systems, access providers can reduce their costs and improve user browsing experience without requiring the installation of expensive equipment that throttles bandwidth at the network layer.
  • a LAACRT registration system may be implemented as a client program or an Internet application that may permit publishers and/or advertisers to register with a registry their entity, URL (or other locator information), and optionally other specific data such as publisher category (or categories), contact information, revenues share percentage, types of content, rating status, and optionally enables these registrants to create accounts to manage their registration profile.
  • the LAACRT registration system may optionally utilize a database or other data store to store certain characteristics regarding content publishers including, but not limited to, the publisher name, the business entity, the publisher URL, the IP address or IP addresses assigned to or used by the publisher, the type of published content, the publisher's self-determined rating (e.g., an age appropriateness rating, a violence rating, a sexual content rating, an obscene language rating, etc.), a public or industry accepting rating (e.g., an age appropriateness rating, a violence rating, a sexual content rating, an obscene language rating, etc.), fees associated with certain content, and/or other such information to enable the registry to accurately define and validate publishers.
  • a database or other data store to store certain characteristics regarding content publishers including, but not limited to, the publisher name, the business entity, the publisher URL, the IP address or IP addresses assigned to or used by the publisher, the type of published content, the publisher's self-determined rating (e.g., an age appropriateness rating, a violence rating, a sexual content rating
  • the LAACRT registration system may be implemented as a database in a central computer (which may comprise multiple geographically distributed systems) that is referenced by the network nodes in determining whether to pass published content to a viewer.
  • a central computer which may comprise multiple geographically distributed systems
  • This technique enables certain information to be omitted from the individual ad tags.
  • the fee structure for a particular publisher may be standardized, and a given an ad served that is provided by that publisher may be assigned that particular fee structure. Accordingly, the fee structure need not be included in the individual ad tags, but rather may be retrieved from the central computer containing the LAACRT registration system.
  • the LAACRT registration system may be implemented as a syndicated database or list, in which the database or list is copied to distributed locations on the network (e.g., the Internet).
  • the distributed locations may include a series of distributed servers or proxies. As noted above, this may permit certain information to be omitted from individual ad tags, such as Type, Fee, etc.
  • the database of registered ads may be accessed in a number of ways, including by way of example, via an HTML page, as a syndicated reference list, and/or as a central reference list.
  • whether a given advertiser has agreed to pay a fee can be determined by querying the database. If the database response to the query with an indication advertiser has not agreed to pay such a fee, the content may be blocked, and different content may be served instead.
  • the LAACRT registration system may optionally utilize other certificate authorities or listing services, such as the Internet Directory Naming Service (DNS) by way of example, to further validate a publisher.
  • DNS Internet Directory Naming Service
  • the Internet DNS is a service that resolves and translates URLs, such as Yahoo.com, Google.com, and NYTimes.com, into the physical Internet IP Addresses these URL represent, enabling computers and routers to connect with their respective Internet services.
  • an Internet PING for Yahoo.com may return 209.191.122.70 from DNS Service hosted by AT&T.
  • a PING for Google.com and NYTimes.com returns 74.125.224.180 and 199.239.136.200 respectively. This information may be used by the system to compare and match published content source address with registered addresses to validate publisher integrity.
  • Figure 1 1 illustrates further the utilization of the DNS to help verify a publisher's Internet credentials.
  • a popular sports destination site 1 100 is providing recent sports news 1200, and embedded next to or in-line with the article is an advisement from a large ad network or well-known advertiser 1300.
  • the sport news site 1 100 has previously registered with the LAACRT registration system as a publisher, and listed its known IP addresses from which the site 1 100 publishes.
  • the news article 1200 being published is encapsulated with HTML content tags that reference respective registry identifier(s) and other attributes regarding the article 1200 content.
  • the advertiser 1300 providing the advertisement and/or ad tag, also encapsulates their content with HTML tags referencing respective registry identifier(s) and other attributes describing the content being provided by the advertiser (an advertisement).
  • the advertiser may register their entity and IP addresses, which may be used by the system to authenticate the advertiser when placing the advertiser's ads.
  • the advertiser may also specify, via a form hosted by the system or otherwise, a revenue sharing specification (e.g., a general revenue share of 25%) which would be applied to the advertiser's paid ads.
  • an ad tag itself might include attributes (e.g., value pairs) identifying the publisher, advertisement, advertisement dimensions, advertisement type (e.g., CPM, CPC, etc.), ad revenue (e.g., ad revenue per impression), ad rating (e.g., G, Teen, PG, PG13, R, Mature, etc.), ad event (e.g., pay per click), ad encoding format (e.g., UTF), etc.
  • attributes e.g., value pairs
  • advertisement e.g., value pairs
  • advertisement dimensions e.g., CPM, CPC, etc.
  • ad revenue e.g., ad revenue per impression
  • ad rating e.g., G, Childhood, PG, PG13, R, Mature, etc.
  • ad event e.g., pay per click
  • ad encoding format e.g., UTF
  • Ad ID Number to track a particular impression for audit
  • Ad Revenue 0.0001/Ad or 0.1/1000 impressions
  • Ad Event Pay-Per-Click too
  • Ad Local UTF
  • the system may store, maintain and provide/output an audit record report indicating the ad detail and the network(s) the ad traversed, and optionally including an identification that the ad was delivered and/or displayed on the user's terminal.
  • the ad network may also register with system and may include an ad network identifier in the ad network's data associated with the ad.
  • the foregoing tags and/or other related tags may form the basis of a formal or informal standard, so that publishers may expose their revenue paid via a tag attribute (which may be relatively fast but viewable by end users and competitors) and/or a via reference look-up table where the look up is performed using an identifier, such as an Ad ID, that enables the system to identify the corresponding access rule(s) to be used to query the revenue amount and let the ad pass so that it may be delivered to a viewer terminal or prevent the ad from reaching the viewer terminal and/or from being displayed via the viewer terminal.
  • an identifier such as an Ad ID
  • another ad may be selected and substituted by the system (e.g., based on user demographics and/or user interests, or without taking into account user specific information) to take the place of the banned advertisement, and the replacement ad may be displayed with the surrounding content (if any) on the user's terminal.
  • the advertiser has previously registered with the registry and provided all the information to be validated in order to permit the advertiser's ads to be permitted to pass to the user terminal;
  • the advertiser has previously registered and has provided all the information to be validated but was not allowed to pass because of specific conditions or based at least in part on rules set by the network owner; [0332] the tag represents a previously registered advertiser but failed authentication or appears fraudulent and was not permitted.
  • Advertiser's 1300 content would have been served either directly from the Site Publisher 1 100 or as a reference using ad tags or a URL that link to the Advertiser's 1300 content or advertisement. Since the source of the content is inherently resolved by the DNS, its origination can be validated using the LAACRT registration system before the content is permitted to pass over the access provider's network.
  • the LAACRT system may prevent or inhibit the content from passing over the network at issue. For example, the LAACRT system may strip the advertiser's 1300 content by removing links, files, or documents from the site 1 100.
  • a message or error status may be transmitted by the system to the registered advertiser by email, instant message, short message, application, or other technique, and the message or error status may also be logged in the registry database, which may be provided via an advertiser account user interface for that advertiser to review.
  • the advertiser 1300 it is not sufficient for the advertiser 1300 to be validated in order to be permitted to pass through the access provider's network.
  • the LAACRT system begins script execution (see, e.g., the example of Figure 10). Accordingly, once content has been stripped or blocked, the LAACRT system may then replace the stripped or blocked content 1300 with a LAACRT Placeholder Tag, as described above. Beginning the script execution may solicit bids for advertisements to replace the Placeholder Tag, as described above with respect to Figure 10.
  • the LAACRT registration system may also help Internet access providers protect their customers from potential viruses because it optionally authenticates the source for a given script delivered to a computer. It also may help Internet access providers better manage their bandwidth by optionally implementing content publisher rules that actively select, default to lower bandwidth content options, block content, or substitute preferred content over higher cost content.
  • the LAACRT registration system may also provide reporting services that enable publishers to view where and when their content was permitted entry and where (e.g., over which private networks, on which terminals) and when their content was not allowed.
  • the database may record and report reasons why the content as not allowed, such as poor ratings, inappropriate content, insufficient entry fee, lost to competitive bid, or other reasons rules or requirements implemented by the Internet access provider.
  • the content authenticate registry service may also enable Internet Access Providers to register their networks and network nodes in this registry to enable the tracking and reporting of when and where content was permitted or denied access to pass through a particular network or portion thereof.
  • This data may include information describing the network and the admission rules.
  • Another optional feature of this system is its ability to help avoid DNS Poisoning or DNS Redirects. This occurs when a DNS service is compromised or a non- regulated, un-trusted DNS service is placed between the requesting URL and a valid DNS service.
  • An example embodiment of the LAACRT registration system helps ensures the content is being published from a validated source by comparing the resolved IP Address with the registered IP Address. When an invalid DNS is present, the system can intercept DNS requests, but the IP Address for the URL returned will not match the IP Address registered in the publisher and network registration service, causing an error or alert condition to be generated by the system.
  • the LAACRT registration system operates as an "allow” list, in which content is blocked from being presented to a user unless the publisher has been registered and the content meets any other criteria present.
  • the LAACRT registration system may be configured to operate as a "block” list, in which content is allowed to pass through to be viewed by a user unless the content has been identified by the system as impermissible.
  • the system may be configured to block all advertisements provided by a particular publisher, such as Double- Click or Value-Click. In either case, when the system prohibits certain content from passing to a user, for example by stripping the content from a web page, LAACRT can solicit bids and optionally display replacement content as described elsewhere herein.
  • Certain embodiments may be implemented via hardware, software stored on media, or a combination of hardware and software.
  • certain embodiments may include software/program instructions/modules stored on tangible, non-transitory computer-readable medium (e.g., magnetic memory/discs, optical memory/discs, RAM, ROM, FLASH memory, other semiconductor memory, etc.), accessible by one or more computing devices configured to execute the software (e.g., servers or other computing device including one or more processors, wired and/or wireless network interfaces (e.g., cellular, Wi-Fi, Bluetooth, Tl , DSL, cable, optical, or other interface(s) which may be coupled to the Internet), content databases, customer account databases, etc.).
  • Data stores e.g., databases
  • a given computing device may optionally include user interface devices, such as some or all of the following: one or more displays, keyboards, touch screens, speakers, microphones, mice, track balls, touch pads, tilt sensors, accelerometers, biometric sensors (e.g., fingerprint or face recognition sensors for authenticating a user) printers, etc.
  • the computing device may optionally include a media read/write device, such as a CD, DVD, Blu-ray, tape, magnetic disc, semiconductor memory, or other optical, magnetic, and/or solid state media device.
  • a computing device such as a user terminal, may be in the form of a general purpose computer, a personal computer, a laptop, a tablet computer, a mobile or stationary telephone, an interactive television, a set top box coupled to a display, etc. Certain embodiments may be able to conduct hundreds (or more) of transactions and processes described herein within a second.
  • Process described as being performed by a given system may be performed by a user terminal or other system or systems. Processes described as being performed by a user terminal may be performed by another system. Data described as being accessed from a given source may be stored by and accessed from other sources. Transmissions described herein may be via a wired and/or wireless network or other communications link. Further, with respect to the processes discussed herein, various states may be performed in a different order, not all states are required to be reached, and fewer, additional, or different states may be utilized.
  • User interfaces described herein are optionally presented (and user instructions may be received) via a user computing device using a browser, other network resource viewer, or otherwise.
  • the user interfaces may be presented (and user optionally instructions received) via an application (sometimes referred to as an "app") installed on the user's mobile phone, laptop, pad, desktop, television, set top box, phone, or other terminal.
  • an application sometimes referred to as an "app"
  • Various features described or illustrated as being present in different embodiments or user interfaces may be combined into the same embodiment or user interface. While reference may be made to webpages, other types of electronic documents (including those not based on HTML) may be used. While reference may be made to websites, other network resources may be used.
  • Venues that provide network access such as internet access (e.g., via a wired and/or wireless network) often possess valuable user-specific information.
  • venues can include hotels, coffee shops, airports, universities, stadiums, retailers, or any other suitable location.
  • the venue may possess/acquire information about a user through a variety of means.
  • the venue operator may possess information about products or services a user requested or purchased at the venue, as well as reservations made by the user. If the user is a regular customer, the venue operator may further possess information about the spending patterns of the user. The user's purchase(s) may reveal further information about the user's general preferences, demographic information, hobbies, etc.
  • a venue may possess information about a user through a check-in process at a hotel or airport.
  • a venue may possess demographic information, occupation, location of a user's residency, and other valuable information about a user.
  • user information may be stored in a data store, such as a database.
  • derived anonymous data may be stored in the data store.
  • ad-host refers to websites that host advertisements. Examples of ad-hosts include search engines, blogs, websites reporting current news, and websites through which third party merchants sell merchandise, such as eBay®.
  • ad-hosts may provide targeted advertising. For example, a venue might inform an ad-host, for a fee, that a user is at a luxury hotel. Such information may be transmitted over a network from a venue system and received by the ad- host system. Based at least in part on this information, the ad-host may select and provide for display ads for luxury merchants to the user via a user terminal (e.g., a laptop, desktop computer, tablet computer, smart phone, interactive television, game console coupled to a display, etc.).
  • a user terminal e.g., a laptop, desktop computer, tablet computer, smart phone, interactive television, game console coupled to a display, etc.
  • the ad-host may select ads for luxury merchants within a specified proximity to the user's current location (e.g., within a certain distance of the luxury hotel as which the user is residing).
  • ads or “advertisements” include images, photographs, videos, audio, text documents, graphics, and/or a references, such as references to network resources (e.g., a URL link).
  • the ad-host can store that information in its database and continue to use that information and/or can access such information from an external database, such as that of the information provider.
  • the ad-host may use the information each time the user visits different sub-pages of the ad-host's website, each time the user returns to the website after navigating to a different site, each time the user refreshes a browser, each time the user submits a search query on a search engine website, and/or for as long as the user is at the website.
  • such information is used periodically, rather than each time, in the foregoing examples.
  • an ad-host is sent a temporary unique ID associated with user-specific information that the ad-host desires.
  • the temporary unique ID may be "locked” in that it is encrypted, masked, symbolic, or otherwise obscured to the ad-host.
  • the locked temporary ID may then be "unlocked” by being decrypted, unmasked, deciphered, or otherwise revealed.
  • the ad-host pays (e.g., acting for the ad-host operator) a fee, such as a fee to a venue providing network access (e.g., via a wireless hotspot, or a wired network connection) according to an example embodiment.
  • the ad-host pays another fee to the venue to obtain a valid temporary ID according to an example embodiment.
  • the ad-host pays another fee to unlock the temporary ID.
  • the ad-host may enroll in a subscription service, and may automatically receive ID(s) on an as needed basis without having to pay a separate fee for each ID.
  • payment from the ad-host may be made to an intermediary or service provider, which may then pay the venue and/or individual user or user delegate.
  • "payment" as used herein may refer to an indication of an incurred credit or debit, as opposed to the actual transfer of currency.
  • an ad-host might "pay" a venue provider by indicating that payment will be owed to the venue by the entity associated with the ad-host.
  • the associated entity may then provide the actual transfer of currency to the venue separately, and/or at a later date.
  • Figure 13 illustrates an example system architecture 2100 configured to collect and provide information about a user 21 10 to an application, such as a web application 2192, which includes an ad-host 2160 and other web applications 2196.
  • the ad-host may be a third-party, separate from the web application.
  • a user 21 10 submits, via a user terminal 2120, a user input (e.g., a query) 2140 to the application node 2130 via a network node 2142, and internet web application node 2130 returns a webpage over a network (e.g., the internet) to the user 2120 terminal via the network node 2142.
  • a network e.g., the internet
  • the network node 2142 may be an internet access system in the form of a wireless (e.g., Wi-Fi) or wired (e.g., Ethernet) hot-spot.
  • An example embodiment comprises a module 2150 (e.g., a software and/or hardware module) configured to monitor and modify data packets sent between the user 21 10 and the application node 2130.
  • the module 2150 may be installed locally at the internet access system, may be accessible through a central server, and/or may be accessible on a "cloud.”
  • “module” may include any combination of the above.
  • the network node 2142 may be a proxy or collaboration system.
  • the node may comprise a router in the network through which data packets are sent to and from the user 21 10.
  • the network node 2142 may be positioned so as to receive only inbound data packets to the user or outbound data packets from the user.
  • a plurality of network nodes may be provided, in which one receives outbound data packets from the user, and another receives inbound data packets to the user.
  • the network node can comprise a cloud-based system.
  • the user may type "www.ad-host.com" and search for Asian Food.
  • the ad-host server or a third party service acting in concert e.g. cnn.com with Google search bar
  • the ad-host or third party may parse the data, and then call an API and pass the temporary ID to be unlocked.
  • user-specific information such as "Hyatt hotel at 22 S. Main, NY," can be provided so that the ad-host or third party can improve the resulting page.
  • Figure 14 illustrates an example system architecture configured to provide information about a user 21 10 to a web application 2192 through a centralized remote computing system 2330.
  • the remote computing system 2330 includes module 2332 configured to monitor and modify data packets transmitted by clients 2120, 2122 at the local network nodes (e.g., hot-spots), as similarly discussed elsewhere herein.
  • the local network nodes may access the module 2332 via a proxy relay 2312, 2322.
  • the user input 2140 may comprise the user 21 10 typing a domain name, such as www.adhost.com.
  • the user input 2140 may also comprise any action by the user 21 10 that changes or affects the content of the webpage the user 21 10 is currently browsing.
  • the user input 2140 may comprise the user's 21 10 navigating to sub-pages at a webpage, clicking on a link, submitting different search queries to a search engine, submitting different search queries at a webpage with a search feature, refreshing the browser, and so forth.
  • a web application 2192 can select an advertisement to appear on the webpage provided for display on the user terminal 2120, to be viewed by the user 21 10.
  • a web application 2192 may be configured to change advertisements on a webpage in an interval between user inputs.
  • module 150 when a user 21 10 submits a user input 2140, module 150, which may be located at a network access system 2142, transmits a notification to the appropriate web application 2192 that user-specific information is available, but optionally does not disclose what any or selective portions of such user-specific information. For example, if a user 21 10 is at a luxury hotel, the module 2150 informs the web application 192 that information is available characterizing the type of venue the user 21 10 is at, but does not disclose that the venue is a luxury hotel.
  • a given user input 2140 may be associated with a URL.
  • the module 2150 comprises an append module 2194, which appends the URL associated with the original user input 2140 with a label and a locked temporary ID.
  • the appended user input 2170 informs the web application 2192 that user-specific information is available.
  • the label is "venue,” which informs the web application 2192 that user-specific information about the venue is available, and the locked temporary ID is "10.”
  • the web application 2192 may receive, interpret or decode, and store the appended text.
  • Unlocking the temporary ID will allow the web application 2192 to receive user-specific information, such as information that the user is at a luxury hotel.
  • the web application 2192 only has the locked temporary ID (e.g. "10"), the web application 2192 is not informed of the user-specific information.
  • the locked temporary ID may be a composite key that includes different levels of information available for purchase.
  • the first two characters may correspond to a first category with a first associated fee (e.g., $0.50/1 ,000 requests), while the next four characters may correspond to a second category with a second associated fee (e.g., a type or subtype of information available for an additional $2/1000 requests), etc.
  • the module 2150 may append the user input 2140 with any combinations of labels and temporary IDs.
  • append refers to adding characters to a URL, or any other method of adding information to a user input 2140. For example, modifications may be made to one or more of the following: From Field, Session Variables, HTML hidden or post variables, a query string, AJAX feed, HTML Post, or Cookies.
  • the ad-host may call webservices or an API with authorized access. Access may then be throttled, controlled, denied, etc. based on one or more of standing, payment history, usage, etc. of the ad-host.
  • the temporary ID appended to a user query 2140 may comprise any combination of alphanumeric or other characters.
  • individual user data may be used to create a unique temporary ID. Therefore, the temporary ID for one user would not be applicable to another user.
  • session data may be used to create a unique temporary ID. Therefore, the temporary ID for one session would not be applicable to another session. Any combination of individual user data, session data, alphanumerics, and/or characters may form the temporary ID.
  • transactions may be "per use", and the call to unlock the temp ID may essentially void reuse.
  • temp ID is guaranteed unique ID for 64 alphanumeric characters
  • purchase threshold e.g., an ad-host can decide to purchase different levels of information.
  • the web application 2192 may send an indication 2180 to the unlock module 2193.
  • the unlock module 2193 then unlocks the temp ID and sends user-specific information 2182 to the web application 2192.
  • the unlock module 2193 may unlock the temporary ID "10” and send the web application 2192 information that "10" refers to a luxury hotel.
  • the web application 2192 uses a service implemented by the module 2150 to look up the user-specific information associated with the temporary ID.
  • the web application 2192 may modify the content of its webpage. For example, if an ad-host 2160 learns that a user 21 10 is at a luxury hotel, the ad-host 2160 may display luxury advertisements on its webpage.
  • the temp ID is valid only for a certain number of sessions, a certain amount of time, or a combination thereof.
  • the temp ID may be valid for (1) five sessions (2) five minutes or (3) five sessions or five minutes, whichever lasts longer.
  • module 2150 invalidates the temp ID. Using an invalidated temp ID causes the web application 2192 to receive no data or inaccurate data about the user, according to an example embodiment.
  • another fee by the web application 2192 needs to be provided for a valid temp ID.
  • the temp ID is valid only for one session. Thus, every time a user 1 10 submits a new user input 2140, the web application 2192 needs to pay another fee for a valid temp ID to obtain accurate user-specific information. In one embodiment, the temp ID is valid until the user 21 10 logs off the network access system 2142. When the user 21 10 logs back on, the web application 2192 must pay another fee for a valid temp ID.
  • the web application may pay for user-specific information under a variety of payment models.
  • the web application may purchase information under a "pay- to-play" model, in which a fee is paid per unlock.
  • the fee may be identified as a set price per 1000 unlock requests.
  • the unlock request may deactivate the temp ID and may be used to store the access data record detail.
  • the advertiser/information purchaser associated with the web application may purchase information under a subscription model (e.g., with a weekly, monthly, or yearly periodic subscription fee). For example, the advertiser/information purchaser associated with the web application may subscribe and have access to (via the web application) an unlimited number of unlock requests for a given time period.
  • a subscription model e.g., with a weekly, monthly, or yearly periodic subscription fee.
  • the advertiser/information purchaser associated with the web application may subscribe and have access to (via the web application) an unlimited number of unlock requests for a given time period.
  • an ad-host ID needs to be enabled to maintain the subscription, and a detection by the system of the failure to pay would in turn cause the system to deactivate the subscription account.
  • site data may change periodically to avoid reuse beyond a subscription term.
  • the advertiser/information purchaser associated with the web application may pre-pay or purchase in bulk a set number of unlock requests.
  • multiple repeat searches for the same words from the same IP address may be tracked regardless of session. For example, if a user closes a browser or does not have cookies enabled, yet searches for the same term on multiple occasions, this can be identified as the same user based on IP address.
  • the advertiser/information purchaser associated with the web application need only pay one time to unlock a temp ID associated with this user and this query, even if submitted multiple times.
  • a temp ID is valid only for a certain amount of time. After that amount of time elapses, the web application 2192 must pay another fee for a valid temp ID. When a temp ID is valid for a certain amount of time, the temp ID may expire in the middle of a session or before the session is over. Thus, the web application 2192 may optionally be required to pay fees multiple times during the same session for the correct user- specific information. In one embodiment, after the allotted time expires, the module 2150 forces a new session before the session would have otherwise terminated. The module 2150 may force a new session by automatically refreshing the user's browser. If the web application 2192 desires the correct user-specific information for the new session, it must pay another fee according to an example embodiment.
  • the web application 2192 may choose a prearranged fee package, or create its own fee package, according to an example embodiment.
  • a fee package may include five valid temp IDs, where each temp ID is valid for one session, and each temp ID can be used at any time.
  • module 2150 automatically invalidates the temp ID after a certain amount of sessions and/or time, such that the module 2150 determines the web application's 2192 payment pattern. For example, if the module 2150 automatically invalidates the temp ID every minute, the web application 2192 must pay for a new valid temp ID every minute in order to obtain accurate user-specific information.
  • the temp ID may be invalidated in any number of ways. It will be appreciated that the temp ID may be invalidated by utilizing any combination of the disclosed methods and/or using other techniques.
  • the previous label is “venue”
  • the previous temporary ID is “10”
  • the previous user description is “luxury hotel.”
  • venue 10, where “10” refers (and/or temporarily refers) to "luxury hotel.”
  • the append module 2194 appends the user input 2140 with an invalid temp ID after a temp ID expires.
  • the append module 2194 may cease appending the user input 2140 with any temp ID after a temp ID expires.
  • the application 2192 may cause a fee to be paid for a valid temp ID according to an example embodiment.
  • the web application 2192 is optionally required to pay a fee to unlock the temp ID.
  • An unlock fee may be required for a certain number of sessions, a certain amount of time, or a combination of thereof. Without the unlock feature, a web application 2192 will not be able to decipher what user-specific information it was that the temp ID referred to.
  • the web application 2192 may need to pay an unlock fee, but is not required to pay a fee for a valid temp ID. Even a valid temp ID needs to be unlocked if it is to provide accurate user-specific information according to one embodiment.
  • a valid temp ID is given to a web application 2192 for free, the web application 2192 must still pay an unlock fee in order to obtain accurate user- specific information.
  • a valid temp ID is free, but an unlock fee needs to be provided.
  • the value of the temp ID changes every time a web application 2192 is due to pay an additional unlock fee. In one embodiment, the previous temp ID is invalidated every time a web application 2192 is due to pay an additional unlock fee.
  • the web application 2192 needs to pay a fee for a valid temp ID, but is not required to pay an unlock fee. Unlocking an invalid temp ID causes the web application 2192 to receive inaccurate or no data about the user. Therefore, even if the temp IDs are unlocked for free, the web application 2192 must still pay a fee for a valid temp ID in order to obtain accurate user-specific information.
  • the web application is not charged for any valid temp ID fees or unlock fees, but is charged for a certain amount of time.
  • a valid temp ID fee may be utilized.
  • a web application 2192 may need to pay both a valid temp ID fee and an unlock fee.
  • the temp ID is invalidated and the unlock feature is blocked (or turned off, inactivated, disabled, etc.) according to an example embodiment.
  • "invalidate” shall refer to block, turn off, inactivate, disable, any similar term, or any combination thereof. If only one fee needs to be provided (e.g. unlock fee), when a web application 2192 fails to pay (e.g.
  • the feature for which the fee was needed e.g. an unlock fee
  • the feature for which a fee was not required e.g. valid temp ID fee
  • Other examples of fee structures, which the web application 2192 may need to pay include: an unlock fee for five sessions and a valid temp ID fee for five sessions, both fees for one session and a valid temp ID fee only for the remaining sessions, etc.
  • a time limit may be factored into any of these fee structures (e.g. unlock feature valid for five minutes).
  • the module 2250 may also block all ads (or a subset thereof) from reaching the user 21 10.
  • the module 2250 may block pop-ups and prevent ads from being displayed on a webpage.
  • the module 2250 may block all ads (or a subset thereof) in addition to or instead of inactivating the unlock feature and/or temp ID feature.
  • an example embodiment includes a network node 2142 with software 2250 to monitor and modify data packets sent between the user 21 10 and the application node 2130.
  • the module 2250 includes an append module 2230, unlock module 2240, an ads module 2210, and a search results module 2220.
  • the append module 2230 appends a user input 2140 with a label (e.g. venue) and a locked temporary ID (e.g. 10).
  • the unlock module 2240 unlocks the temporary ID (e.g. 10), revealing user-specific information (e.g. user is at a luxury hotel).
  • the ad module 210 seamlessly replaces ads on a webpage with other ads.
  • the search results module 2220 adjusts the search results from a user query, by re-ordering the list of search results, adding a search result that would not have been listed otherwise, and/or removing a search result that would have been listed otherwise.
  • the ad module 2210 and search results module 2220 may be used in combination with each other. Replacing ads and adjusting search results is described in the patent application Methods and Systems for Searching, Selecting, and Displaying Content, U.S. App. No. 12/728,037, filed March 19, 2010, the entirety of which is incorporated herein by reference.
  • a user 21 10 at a luxury hotel submits a user input with respect to a website (e.g. www.adhost.com).
  • the luxury hotel is the user-specific information in this example.
  • the appropriate web application 2192 in this case the ad-host website 2160, then receives the modified query 2170, and learns that user-specific information about the venue is available.
  • the ad-host 2160 may send an indication 2260 to the unlock module 2240.
  • the unlock module 2240 may then unlock the temporary ID of "10," revealing that the user is at a luxury hotel.
  • the unlock module 2240 may then send the unlocked query 2280 to the ads module 2210.
  • the ads module 2210 then replaces the ads on the website according to the user-specific information. For example, www.adhost.com now displays only luxury ads.
  • the ads module 2210 may permit the ads served by the ad-host 2160 (which have been improved in view of the user-specific information provided) to be displayed.
  • the ads module 2210 may replace only advertisements that are not associated with the ad-host 2160, for example if other ads are included on the page but were not a subject of the unlocking transaction.
  • the ad-host 2160 e.g., on behalf of an advertiser/information purchaser
  • the temp ID may be unlocked in an outbound request based on an existing subscription agreement. For example, if www.searchengineA.com is a subscription customer, then a temp ID with an outbound request to searchengineA.com may be unlocked in the outbound request. If www.searchengineA.com ceases to be in good standing (e.g., if they stop paying subscription fees), this unlocking of outbound requests can be terminated.
  • the temp ID remains locked with the outbound request.
  • An ad-host may then be required to initiate a call to the software module requesting that the temp ID be unlocked.
  • the ad-host may be required to present credentials, for example by indicating that the requestor is www.searchengineA.com and is requesting that temp ID abcl23xyz be unlocked.
  • the unlocked temp ID may be communicated to the ad-host via an API or webservice rather than providing an updated URL that includes the unlocked temp ID.
  • the ad-host may be provided with its own unlock module or software that continues to function only so long as the ad-host remains in good standing (e.g., continues paying the corresponding fees). For example, while the ad-host continues to pay subscription fees, it may employ its own unlock module or software to unlock temp IDs. This arrangement may provide for improved performance and efficiency.
  • the unlock process may require a private key pair.
  • the ad-host may be provided with a first private key that must be used in conjunction with another private key (held by the unlock module, for example) in order to unlock the temp ID.
  • This enables the unlock module to deactivate the unlock capability of any particular ad-host by deactivating or changing the corresponding private key, in which case any data retrieved would be unintelligible to the ad-host.
  • a user 21 10 at a luxury hotel submits a user input 2140, in the form of a query, for food at a search engine.
  • the luxury hotel is the user- specific information in this example.
  • the search engine website 2270 learning that user-specific information about the venue is available, may send an indication to the unlock module 2240 that it wishes to utilize the user-specific information.
  • the search results module 2220 may also send to the user 21 10 a modified listing of search results.
  • the search results module 2220 may re-order the listing of search results, add a search result that would not have been listed otherwise, and/or remove a search result that would not have been listed otherwise.
  • the ads module 2210 and the search results module 2220 can be used in combination. For example, if a webpage includes both ads and a listing of search results, the unlocked query may be sent to both modules 2210, 2220.
  • the web application 2192 is informed that user-specific information is available by the appended user input 2170 which includes a label and a locked temporary ID. While the web application is informed of the label (e.g. venue), the web application 2192 is not informed of the user-specific information is (e.g. luxury hotel) because the temporary code is unlocked internally at the network node 2142.
  • the unlock module 2240 unlocks the temporary code and sends the unlocked query 2280 to the ads module 2210 and/or the search engine module 2220, all at the network node 2142.
  • the user-specific information remains hidden from the web application 2192. With the temporary code unlocked, and the user-specific information, the ads module 2210 and/or the search engine module 2220 sends to the user 21 10 a webpage with improved ads based on the user-specific information.
  • the web application 2192 needs to pay a fee for the module 2250 to serve improved ads.
  • the web application 2192 may need to pay a temp ID fee, an unlock fee, a time limit fee, or any combination thereof.
  • the temp ID fee and the unlock fee may be valid for a certain number of sessions, a certain amount of time, or a combination thereof.
  • Figure 16 illustrates an example process for providing user-specific information, which may optionally be implemented by software installed at, and executed by a network node or otherwise.
  • the module receives a user input.
  • the module determines whether a fee for a valid temp ID has been paid, for example, by a web application. If the fee has been paid, at state 2430 the module appends the user input with a valid and locked temporary ID, and sends the appended user input to a web- application.
  • the module determines whether an unlock fee has been paid. If it has been paid, the module unlocks the temp ID and returns the unlocked temp ID and the associated user-specific information. In one embodiment, the module returns the unlocked temp ID to a web application.
  • the module returns the unlocked temp ID to an ads module 2210 and/or search results module 2280. If an unlock fee is not paid, the module disables the unlock module at state 2460. [0397] Returning to state 2420, if a valid temp ID is not paid, the module may invalidate the temp ID at state 2470. In one embodiment, at state 480 the module also appends the invalid temp ID to the user query. Further, at state 2490, the module may also unlock the invalid temp ID and return inaccurate user data.
  • a valid temp ID fee is not required, but an unlock fee needs to be provided.
  • state 2420 may optionally not be performed (determining whether a valid temp ID has been paid) and the process may proceed from state 2410 (receiving a user query) to state 2430 (appending the user input with a locked temp ID).
  • an unlock fee needs to be provided, and a valid temp ID fee is not required.
  • state 2440 may optionally not be performed (determining whether an unlock fee has been paid) and the process may proceed from state 430 (appending the user query with a locked temp ID) to state 2450 (unlocking the temp ID).
  • FIG 17 illustrates a revenue model according to an example embodiment.
  • a merchant 2510 may submit a fee to an ad-host 2160 so that the ad-host 2160 displays advertisements for the merchant 2510 on the ad-host 2160 website.
  • the ad-host 2160 may submit a portion of that fee to a venue 2520 in order to utilize specific information about a user at the venue 2520 and serve improved ads to the user at the venue 2520.
  • the venue 2520 may submit a portion of that fee to acquire software 2530.
  • the module 2530 comprises a system for requesting fees from an ad-host 2160 and receiving fees from the ad- host 2160 as described herein.
  • the module 2530 may thus allow the venue 2520 to acquire revenues from the ad-host 2160.
  • payment may be sent from the ad-host to the module, which may then in turn pay the venue.
  • a user may navigate to a search engine page or a page having a surrogate search bar (e.g., a search bar provided by Google or another searh provider).
  • the user may enter search terms.
  • a software module (which may be in the network (e.g., a proxy) or event driven (e.g., an add-on)) may act on the search request before sending it to the receiver.
  • the software module may concatenate information tnat enhances the relevancy and therefore the value of that search request. However, the information may be locked using a unique and possibly highly volatile key. The information may be unlocked in exchange for a fee.
  • the lock and/or unlock functions may each be hosted, installed, or localized (e.g., resides in a distributed server).
  • unlocking may be enabled such that a current customer is able to unlock the locked information independently, and fees may be charted to the customer based on concatenation volumes, trends, etc.
  • Certain embodiments may be implemented via hardware, software stored on media, or a combination of hardware and software.
  • certain embodiments may include software/program instructions/modules stored on tangible, non-transitory computer-readable medium (e.g., magnetic memory/discs, optical memory/discs, RAM, ROM, FLASH memory, other semiconductor memory, etc.), accessible by one or more computing devices configured to execute the software (e.g., servers or other computing device including one or more processors, wired and/or wireless network interfaces (e.g., cellular, Wi-Fi, Bluetooth, Tl , DSL, cable, optical, or other interface(s) which may be coupled to the Internet), content databases, customer account databases, etc.).
  • Data stores e.g., databases
  • a given computing device may optionally include user interface devices, such as some or all of the following: one or more displays, keyboards, touch screens, speakers, microphones, mice, track balls, touch pads, tilt sensors, accelerometers, biometric sensors (e.g., fingerprint or face recognition sensors for authenticating a user) printers, etc.
  • the computing device may optionally include a media read/write device, such as a CD, DVD, Blu-ray, tape, magnetic disc, semiconductor memory, or other optical, magnetic, and/or solid state media device.
  • a computing device such as a user terminal, may be in the form of a general purpose computer, a personal computer, a laptop, a tablet computer, a mobile or stationary telephone, an interactive television, a set top box coupled to a display, etc. Certain embodiments may be able to conduct hundreds (or more) of transactions and processes described herein within a second. [0405] While certain embodiments may be illustrated or discussed as having certain example components, additional, fewer, or different components may be used. Process described as being performed by a given system may be performed by a user terminal or other system or systems. Processes described as being performed by a user terminal may be performed by another system. Data described as being accessed from a given source may be stored by and accessed from other sources.
  • Transmissions described herein may be via a wired and/or wireless network or other communications link. Further, with respect to the processes discussed herein, various states may be performed in a different order, not all states are required to be reached, and fewer, additional, or different states may be utilized.
  • User interfaces described herein are optionally presented (and user instructions may be received) via a user computing device using a browser, other network resource viewer, or otherwise.
  • the user interfaces may be presented (and user optionally instructions received) via an application (sometimes referred to as an "app") installed on the user's mobile phone, laptop, pad, desktop, television, set top box, phone, or other terminal.
  • an application sometimes referred to as an "app"
  • Various features described or illustrated as being present in different embodiments or user interfaces may be combined into the same embodiment or user interface. While reference may be made to webpages, other types of electronic documents (including those not based on HTML) may be used. While reference may be made to websites, other network resources may be used.

Abstract

Methods and systems are described for requesting, processing, and displaying content. In some embodiments, an automatic identification is performed of available content space in the first web page data. Content is automatically selected and inserted into the available content space. Certain embodiments may enable bandwidth/internet access providers and premise operators to provide improved opportunities for advertising and content to be delivered to an end user. Advertising content may be identified by the system and, optionally, blocked and/or replaced prior to being transmitted to a user terminal. In some embodiments, a user query is received and appended with a temporary ID which contains information related to the user. The appended user input is provided to an application, which may request to unlock the temporary ID to thereby obtain information about the user.

Description

METHODS AND SYSTEMS FOR REQUESTING, PROCESSING, AND
DISPLAYING CONTENT
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] This application claims the benefit of priority of U.S. Patent Application No. 13/836672, filed March 15, 2013, U.S. Provisional Application No. 61/799624, filed March 15, 2013, U.S. Provisional Application No. 61/790237, filed March 15, 2013, and U.S. Provisional Application No. 61/791401 , filed March 15, 2013. The entire contents of each of the above-identified applications are hereby incorporated by reference in their entirety.
BACKGROUND
Field
[0002] Embodiments disclosed herein are related to methods and systems for identifying and presenting information, such as information related to a search query or located in an electronic representation of data.
[0003] Embodiments disclosed herein relate to systems and methods controlling the transmission and display of digital content to users.
[0004] Embodiments of systems and methods disclosed herein are directed to online advertising, and more particularly, to targeted online advertising based on user- specific information.
Description of the Related Art
[0005] The Internet has become an essential tool for large numbers of people. The Internet is used to perform searches, run applications, review content, communicate with others, house emails and files, etc.
[0006] With respect to advertisements, web pages typically provide display or video ads to site visitors. Certain web sites raise revenue by charging advertisers to display advertisements on the web site. However, disadvantageously, often such display advertisements are not of sufficient interest to a given user.
[0007] With respect to searching, search engines typically utilize an algorithm to compile search results relevant to a user's search query. Certain search engines raise revenue by charging advertisers to have their listings appear higher up in the search results and/or by displaying advertisements related to the search query on the same page as the unpaid search engine results. However, disadvantageously, often such search engines fail to display items that are of sufficient interest to a given user.
[0008] With respect to the Internet, conventionally it has been difficult for users and access providers to adequately manage programming and content. In particular, because the content is now embedded in web pages it makes it difficult for users and access providers to manage the content they see or execute on their devices. For example, the Internet generally does not adequately enable the restriction of certain product placement, such as tobacco advertisements in children's programming, or the monitoring of produced or realtime streaming content.
[0009] Further, from the perspective of consumers, the Internet suffers from other deficiencies. Publishers can add tags into their pages that display ads to the highest bidder or install scripts that access potentially private information. Embedded content is also the vehicle typically used to deliver viruses to users such as the Trojan Virus and RootKit virus which can be used to damage a user's finances, breach the user's privacy, and damage the user's connected device.
[0010] Currently, there are many websites that host advertisements. These websites desire information about the users visiting their websites so that they may provide advertising that is targeted to the user visiting their website. Targeted advertising can provide the user with a better browsing experience. In addition, targeted advertising can increase the likelihood that the user will click on an ad, generating more revenue to the website or network access provider. Further, merchants that advertise through the website also benefit through increased traffic to their sites.
SUMMARY OF THE INVENTION
[0011] Certain embodiments of the present invention are related to methods and systems for identifying and presenting information, such as information related to a search query or with respect to an electronic representation of data (e.g., a Web page, content stream, data provided via a service or application, etc.).
[0012] Certain embodiments of the present invention are related to methods and systems for identifying and presenting information, such as information related to a search query or with respect to an electronic representation of data (e.g., a Web page, content stream, data provided via a service or application, etc.).
[0013] Certain embodiments are related to methods and systems for allowing content publishers, media broadcasters and network access providers better ways to maximize the relevancy and value of the content and advertisements provided to users.
[0014] The following presents a simplified summary of one or more aspects in order to provide a basic understanding of such aspects. This summary is not an extensive overview of all contemplated aspects, and is intended to neither identify key or critical elements of all aspects nor delineate the scope of any or all aspects. Its sole purpose is to present some concepts of one or more aspects in a simplified form as a prelude to the more detailed description that is presented later.
[0015] Certain embodiments provide a node, comprising: a processor; tangible, non-transitory memory configured to store a program that when executed by the processor is configured to cause the node to perform operations, the operations comprising: receiving data for a first document from a remote system, wherein the first document is to be displayed on a terminal associated with a user; causing, at least in part, an identification of available content space in the first document, the available content space including white space in which the first document does not display user-viewable information: causing, at least in part, an advertisement to be selected based at least in part on: information, accessed from memory, associated with an advertiser associated with the advertisement, user-related information, a dimension, shape, and/or size of the available content space; causing, after outputting the first document to a web browser associated with the terminal associated with the user, at least in part, the selected advertisement overlay at least a part of the available content space, or at least a portion of the available content space to be replaced with the advertisement; so that if the first document is displayed on the terminal associated with the user, the advertisement is displayed in at least a portion the available content space.
[0016] Certain embodiments provide a method of processing a document, the comprising: receiving data for a first document from a remote system, wherein the first document is to be displayed on a terminal associated with a user; causing, at least in part, an automatic identification available content space in the first document, the available content space including white space in which the first document does not display user-viewable information: causing, at least in part, an advertisement to be selected based at least in part on at least one of: information, accessed from memory, associated with an advertiser associated with the second advertisement; user-related information; and a dimension, shape, and/or size of the available content space; causing after outputting the first document to a web browser associated with the terminal associated with the user, at least in part, the selected advertisement overlay at least a part of the available content space, or at least a part of the available content space to be replaced with the advertisement; so that if the first document is displayed on the terminal associated with the user, the advertisement is displayed in at least a portion of the available content space.
[0017] Certain embodiments provide non-transitory media storing program instructions configured to cause a computing system including one or more computing devices to perform operations comprising: receiving data for a first document from a remote system, wherein the first document is to be displayed on a terminal associated with a user; causing, at least in part, an identification of available content space in the first document, the available content space including white space in which the first document does not display user-viewable information: causing, at least in part, an advertisement to be selected based at least in part on: information, accessed from memory, associated with an advertiser associated with the advertisement, user-related information, a dimension, shape, and/or size of the available content space; causing, after outputting the first document to a web browser associated with the terminal associated with the user, at least in part, the selected advertisement overlay at least a part of the available content space, or at least a portion of the available content space to be replaced with the advertisement; so that if the first document is displayed on the terminal associated with the user, the advertisement is displayed in at least a portion the available content space.
[0018] Certain embodiments modify, insert, overlay and/or replace content (collectively referred to as enhanced content placement). For example, the enhanced content placement can be performed with respect to search result listings or other content from a web page or data provider.
[0019] Certain embodiments substitute original content with replacement content, and/or augment the placement/position of certain content on a search results page, such as by reordering search results or inserting a listing within an original search result listing. Optionally, inserted/replacement content may overlay (e.g., as a pop-up or a layered content) unwanted or less desirable content. Optionally, a user and/or software application may be provided with a control via which the user/application is provided the ability to toggle the inserted content on or off to reveal the original content configuration (e.g., the original order of the content, such as the original ordering of a search result listing, or the original advertisements) before the page modification was made.
[0020] An example embodiment provides a system, comprising: a processor; tangible, non-transitory media that stores a program that when executed by the processor is configured to perform operations, comprising: receiving search results from a search engine, the search results including a listing including one or more links; selecting a link to a networked site associated with a first entity based on at least one selection criterion; determining at least one of the following: whether the search result listing includes the link to the networked site associated with the first entity; whether the link to the networked site associated with the first entity is at a list position that fails to satisfy a first criterion; at least partly in response to determining that: the link to the networked site associated with the first entity is not included in the search result listing, or the link to the networked site associated with the first entity is not at a position in the search result listing that satisfies the first criterion, modifying the search listing by causing the link to the networked site associated with the first entity to appear in a first position in the search listing; and causing, at least in part, the modified search listing to be displayed on a user terminal.
[0021] An example embodiment provides a system, comprising: a processor; tangible, non-transitory media that stores a program that when executed by the processor is configured to perform operations, comprising: receiving over a network search results from a remote search engine, the search results including a listing including one or more links; selecting a networked site link, wherein the network site link is selected based on at least one selection criterion; and modifying the search listing, wherein the search listing is modified by causing the link to the networked site to be positioned at a selected position in the search listing, wherein the selected position is selected based at least in part on a level of service subscribed to by an entity associated with the network site link.
[0022] An example embodiment provides a method of processing search results, comprising: receiving over a network at a computer system search results from a remote search engine, the search results including a listing including one or more links; selecting, using the computer system, a networked site link, wherein the network site link is selected based on at least one selection criterion; and modifying, using the computer system, the search listing, wherein the search listing is modified by causing the link to the networked site to be positioned at a selected position in the search listing, wherein the selected position is selected based at least in part on a level of service subscribed to by an entity associated with the network site link.
[0023] Tangible, non-transitory media that stores a program that when executed by the processor is configured to perform operations, comprising: receiving search results from a remote search engine, the search results including a listing including one or more links; selecting a networked site link, wherein the network site link is selected based on at least one selection criterion; and modifying the search listing, wherein the search listing is modified by causing the link to the networked site to be positioned at a selected position in the search listing, wherein the selected position is selected based at least in part on a level of service subscribed to by an entity associated with the network site link.
[0024] An example embodiment provides a system, comprising: a processor; tangible, non-transitory media that stores a program that when executed by the processor is configured to perform operations, comprising: transmitting instructions to a plurality of nodes, the nodes including respective computing devices, wherein the instructions are configured to cause at least in part the plurality of nodes to: automatically issue search requests, activate links in search results, and/or issue uniform resource locator requests, so that a first of the plurality of nodes issues a search, activates a link, and/or issues a uniform resource locator request at a time different than a second of the plurality of nodes; issuing a report over a network, the report providing information related to the number of times the plurality of nodes issued search requests, activated links, and/or issued uniform resource requests.
[0025] An example embodiment provides a method, comprising: transmitting from a computing system instructions to a plurality of nodes, the nodes including respective computing devices, wherein the instructions are configured to cause at least in part the plurality of nodes to: automatically issue search requests, activate links in search results, and/or issue uniform resource locator requests, so that a first of the plurality of nodes issues a search, activates a link, and/or issues a uniform resource locator request at a time different than a second of the plurality of nodes; generating, using the computer system, a response, and issuing the report over a network, the report providing information related to the number of times the plurality of nodes issued search requests, activated links, and/or issued uniform resource requests.
[0026] An example embodiment provides an interactive television, comprising: a processor; tangible, non-transitory memory configured to store a program that when executed by the processor is configured to perform operations, comprising: receiving data for a first video content from a remote system, wherein the first video content is to be displayed on the interactive television to a user; causing, at least in part, an automatic identification of a first video advertisement in the first video content data, causing, at least in part, a second video advertisement to be selected based at least in part on: information, accessed from memory, associated with an advertiser associated with the second video advertisement, and user-related information; causing after outputting the first video content, at least in part, the first video advertisement to be replaced with the second video advertisement, or the first video advertisement to be obscured by the second video advertisement, so that if the first video content is displayed on the interactive television, the second video advertisement is displayed and the first video advertisement is not visible.
[0027] Another example embodiment provides a method of processing video content, the method comprising: receiving, at an interactive television, data for a first video content from a remote system, wherein the first video is to be displayed on the interactive television to a user; causing, at least in part, an automatic identification of a first video advertisement in the first video data; causing, at least in part, a second video advertisement to be selected based at least in part on: information, accessed from memory, associated with an advertiser associated with the second video advertisement, and user-related information; causing after outputting the first video content, at least in part, the first video advertisement to be replaced with the second video advertisement, or the first video advertisement to be obscured by the second video advertisement; so that if the first video content is displayed on the interactive television, the second video advertisement is displayed and the first video advertisement is not visible. [0028] Another example embodiment provides a system, comprising a processor; tangible, non-transitory memory configured to store a program that when executed by the processor is configured to perform operations, comprising: receiving data for a first video content from a remote system, wherein the first video content is to be displayed to a user; causing, at least in part, an automatic identification of an integrated first video advertisement in the first video content data, causing, at least in part, a modification to the integrated first video advertisement to be selected based at least in part on: information, accessed from memory, associated with an advertiser associated with the modification, and user-related information; causing after outputting the first video content, at least in part, the integrated first video advertisement to modified in accordance with the selected modification; so that if the first video content is displayed to the user, the modified integrated first video advertisement is displayed.
[0029] Another example embodiment provides a method of processing video content, comprising receiving, at a user terminal, data for a first video content from a remote system, wherein the first video is to be displayed via the user terminal to a user; causing, at least in part, an automatic identification of an integrated first video advertisement in the first video data; causing, at least in part, a modification to the integrated first video advertisement to be selected based in part on: information, accessed from memory, associated with an advertiser associated with the modification, and user-related information; causing after outputting the first video content, at least in part, the integrated first video advertisement to be modified in accordance with the selected modification; so that if the first video content is displayed via the user terminal, the modified integrated first video advertisement is displayed.
[0030] According to one aspect, a method of selecting and displaying digital content at a user terminal, the method comprises: receiving, at the user terminal, data for a webpage from a remote system, wherein the webpage is to be displayed on the user terminal; causing, at least in part, an automatic identification of a first advertisement in the webpage data, wherein the first advertisement is configured to be displayed in a first area of the webpage; replacing said first advertisement with a placeholder; collecting information comprising: (a) information related to the webpage; (b) information related to the user; or (c) both (a) and (b); soliciting bids for advertising content to be displayed in the first area corresponding to the placeholder, wherein soliciting the bids comprises providing at least a portion of the collected information; receiving bids for advertising content to be displayed in the first area; selecting a winning bid from among the received bids; and causing, at least in part, advertising content associated with the winning bid to be displayed on the user terminal in the first area corresponding to the placeholder.
[0031] In some embodiments, the first advertisement comprises a link to advertisement content. In some embodiments, said placeholder comprises a container or ad tag. In some embodiments, information related to the user comprises demographic information. In some embodiments, soliciting bids comprises soliciting bids from multiple advertising exchanges.
[0032] According to another aspect, a method of selecting and displaying digital content comprises: receiving, at a network node, data for a first document from a remote system, wherein the first document is to be displayed on a user terminal of a user; causing, at least in part, an automatic identification of a first advertisement in the first document data; soliciting bids for replacement content to be displayed on the user terminal in place of the first document; receiving bids for replacement content; selecting a winning bid from among the received bids; and causing, at least in part, replacement content associated with the winning bid to be displayed on the user terminal in place of the first document.
[0033] In some embodiments, the network node is the user terminal. In some embodiments, the first document comprises a web page. In some embodiments, the first advertisement comprises a link to advertisement content. In some embodiments, soliciting bids for replacement content comprises: providing information related to the user, providing information related to the first document, or both. In some embodiments, soliciting bids comprises soliciting bids from multiple advertising exchanges substantially simultaneously. In some embodiments, selecting a winning bid comprises comparing the received bids and identifying a bid with the highest offered price. In some embodiments, storing a record of the winning bid. In some embodiments, the method further comprises causing, at least in part, said record to be provided to one or more of bidders of the received bids.
[0034] In accordance with another aspect, a system, comprising: a processor; tangible, non-transitory media configured to store a program that when executed by the processor is configured to perform operations, comprising: receiving, at a network node, data for a first document from a remote system, wherein the first document is to be displayed on a user terminal of a user; causing, at least in part, an automatic identification of a first advertisement in the first document data; soliciting bids for replacement content to be displayed on the user terminal in place of the first document; receiving bids for replacement content; selecting a winning bid from among the received bids; and causing, at least in part, replacement content associated with the winning bid to be displayed on the user terminal in place of the first document.
[0035] In some embodiments, the network node is the user terminal. In some embodiments, the first document comprises a web page. In some embodiments, the first advertisement comprises a link to advertisement content. In some embodiments, soliciting bids for replacement content comprises: providing information related to the user, providing information related to the first document, or both. In some embodiments, soliciting bids comprises soliciting bids from multiple advertising exchanges substantially simultaneously. In some embodiments, selecting a winning bid comprises comparing the received bids and identifying a bid with the highest offered price. In some embodiments, the operations further comprise storing a record of the winning bid. In some embodiments, the operations further comprise causing, at least in part, said record to be provided to one or more of bidders of the received bids.
[0036] An example embodiment provides a method of processing a uniform resource locator (URL) request from a user and providing venue information to an application node, the method comprising: receiving, at a network node, the URL request from a user terminal; causing, at least in part, a temporary identification to be associated with the URL request, wherein the temporary identification is associated with venue information regarding a venue associated by location with the user terminal; automatically appending the URL request with at least a portion of the temporary identification, wherein the temporary identification is locked; transmitting the modified URL request, including the locked temporary identification over a network to an application node; receiving at the network node, from the application node, a request to unlock the locked temporary identification; and at least partly in response to the request to unlock the locked temporary identification, transmitting the venue information to the application node. [0037] An example embodiment provides a method of processing input from a user and providing user information to an application node, the method comprising: receiving, at a network node, the user input from a user terminal; causing, at least in part, a temporary identification to be associated with the user input, wherein the temporary identification is associated with information about the user; modifying the user input based at least in part on the temporary identification; transmitting the modified user input to an application node; receiving from the application node a request to unlock the temporary identification; and transmitting the user information user to the application node.
[0038] An example embodiment provides tangible, non-transitory media configured to store a program that when executed by a processor is configured to perform operations, comprising: receiving, at a network node, a user input from a user terminal; causing, at least in part, a temporary identification to be associated with the user input, wherein the temporary identification is associated with information about the user; modifying the user input based at least in part on the temporary identification; transmitting the modified user input to an application node; receiving from the application node a request to unlock the temporary identification; and transmitting the user information user to the application node.
[0039] An example embodiment provides a method of processing input from a user the method comprising: receiving, at a network node, a user input from a user terminal; causing, at least in part, a temporary identification to be associated with the user input, wherein the temporary identification is associated with information about the user; and modifying the user input based at least in part on the temporary identification.
[0040] An example embodiment provides a method of providing user information to an application node, the method comprising: receiving from the application node a request to unlock a temporary identification, wherein the temporary identification is associated with user information in a database accessible by the network node; and at least in part in response to receiving the request, accessing the database to retrieve user information associated with the temporary identification; and transmitting the user information user to the application node.
BRIEF DESCRIPTION OF THE DRAWINGS [0041] The disclosed aspects will hereinafter be described in conjunction with the appended drawings, provided to illustrate and not to limit the disclosed aspects, wherein like designations denote the elements.
[0042] Figure 1 illustrates an example architecture for an advertisement enhancement/ranking improvement system.
[0043] Figure 2A illustrates an example process for inserting and/or improving the position of content.
[0044] Figure 2B illustrates an example process for inserting, selecting and displaying content.
[0045] Figure 2C illustrates another example process for inserting, selecting, and displaying content.
[0046] Figure 3 (which includes Figures 3A-3C) illustrates an example user interface.
[0047] Figure 4 (which includes Figures 4A-4C) illustrates another example user interface.
[0048] Figure 5 illustrates another example user interface
[0049] Figure 6 illustrates an example interaction process with respect to a client software application and components of a distributed search engine and content distribution system.
[0050] Figure 7 illustrates an example processes for setting up and configuring client software.
[0051] Figure 8 illustrates an example process with respect to merchant interaction and components of a distributed search engine and content distribution system.
[0052] Figure 9 illustrates an example architecture for a locally and automatically articulated content requester technology (LAACRT) system.
[0053] Figure 10 illustrates an example process for soliciting bids and displaying winning content.
[0054] Figure 1 1 illustrates an example user interface.
[0055] Figure 12 illustrates an example process for verifying a publisher's content. [0056] Figure 13 illustrates a system for sending user-specific information to a web application.
[0057] Figure 14 illustrates a system for sending user-specific information to a web application through a centralized computing system.
[0058] Figure 15 illustrates a system for utilizing user-specific information for a web application.
[0059] Figure 16 illustrates an example process for providing user-specific information, which may optionally be implemented by software installed at, and executed by a network node or otherwise.
[0060] Figure 17 illustrates a revenue model according to an example embodiment.
DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS
[0061] Methods and systems are described for improving the ranking, position, and/or presentation of content (e.g., wherein the content is one or more HTML links, media, advertisements, summary text, or URLs (Uniform Resource Locators) in a list of search results or web site).
[0062] As will be described in greater detail below, certain embodiments utilize or operate in the environment of distributed networked system to modify, insert and/or replace content, such as one or more advertisements or one or more listings with respect to a search result listing (collectively referred to as enhanced content placement). For example, the enhanced content placement can be performed with respect to search results, such as search results provided via a web page by a third party search engine in response to a user query, or in a content web page/media stream accessed via a content provider, such as web pages or other media stream from a news web site, an entertainment related web site, a blog, a social networking site, a media sharing site, a web application (e.g., a web based email application or calendar), etc. Optionally, certain embodiments provide such enhanced content placement with the cooperation from the entity that operates the search engine and/or the web page provider to thereby provide content on their behalf to more relevant users and/or to provide more relevant content to their users. Optionally, certain embodiments provide such enhanced content placement without cooperation from the entity that operates the search engine (and optionally without providing a communication to the search engine site that indicates the enhanced content placement is being performed) and/or the web page provider. Certain embodiments described herein provide a distributed contribution and reward system and process for payments or credits.
[0063] In particular, certain embodiments optionally address shortcomings of conventional search engines, search engine optimization techniques, content page/document delivery and online advertising industry models. For example, certain embodiments improve the user experience and the results of an advertisement program, optionally based at least in part on user rules and preferences, by substituting a given advertisement with another advertisement, by augmenting the placement of an advertisement or other content on a search results page and/or by reordering search results or other content, optionally without the cooperation from and/or knowledge of the search engine operator and/or web page provider.
[0064] Many conventional search engines display search results and related advertisements, where the displayed advertisements may be selected at least in part on the relevance of the advertisement to a search query and a payment from the advertiser. For example, many conventional search engines display search results and related advertisements, where the search results are ranked based on a variety of factors, such as number of matched words, frequency of matches, word proximities, age or date of the information, Boolean expressions, payment, and other criteria. In addition to ranking items in a search result based on the relevance of the search criteria, companies that operate search engines offer improved ranking or visibility to an advertiser for its advertisements/listings and their partners for a fee. One disadvantage of these conventional fee-based methods is that they make the distributed input of users less relevant and often ignore user relevant weighting criteria or participation. Therefore, such conventional methods often fail to provide advertisements or other content (e.g., as part of search results) that are of sufficient relevance to a given user.
[0065] The Internet is so vast that it is overwhelming for Internet users to consider the entire search results from search engines providers. For example, at the time of this example a simple search on the topic of "Eagles" returned 565 million references on Yahoo, 170 million references on Google and 94 million references on MSN. Further, the references listed for each of these companies in this example were not consistent, meaning each of these engines used different criteria for storing, retrieving or displaying their results leaving the user to navigate the proverbial "needle in a haystack" to locate any particular reference or link desired. Statistically this creates an unbalanced model and disadvantages for users because the search results or advertisements that are of more relevance to a user are not presented first or with an appropriate ranking, and so a user has to navigate through large numbers of search results, advertisements, and web pages with little or no relevance to the user to find those of interest.
[0066] A site wishing to be more visible or gain relevance can utilize specific and often dynamic techniques to improve their ranking or pay a fee to improve their visibility. Often, a site that wants to improve their listing employs the help of a Search Engine Optimization (SEO) company to help enhance their visibility. These companies conventionally use techniques including customized text, embedding hidden text or metadata within the reference, submitting references to many search engines, creating multiple links to the same text and various other techniques to increase relevancy scores within search engine algorithms.
[0067] The challenge faced by SEOs and their customers is that conventionally their methods employed for improving customer visibility are static, very manual, and do not produce lasting or maintainable results. Search portals also attempt to normalize these techniques to increase their revenues by ignoring meta tags or repeated words to counter SEO tactics so that the advertiser, merchant or content provider has to pay equal or higher costs to achieve a certain ranking or to be recognized. Further, conventional SEO solutions do little to increase the frequency scoring attributes for search engines in the public forum and are therefore disadvantaged. Similarly, a company that desires to make their advertisements more visible may be required to pay extra fees and contract exclusively with delivery networks to display their advertisements, which may or may not be displayed relative to the user's interests.
[0068] A challenge faced by many advertisers is that the desired content or the interests of a user to whom advertisements are to be displayed are not fully expressed though search queries or by general browsing, and conventionally there is no direct feedback from the user except for when an advertisement link is selected. While certain advertisers may attempt to use cookies, browsing behaviors, IP Address reverse location, and inferred demographic information by way of sustained login to a particular site to gather user information for advertisement targeting purposes, such methods are relatively ineffective and are often blocked by protection software. Thus, conventionally, advertisers are not adequately delivered the desired types of viewers for their advertisement, and the advertisers conventionally do not know which viewers viewed their advertisements (unless the viewer clicked on the advertisement, assuming it is linked, and completed a subsequent transaction with the advertiser or its partner).
[0069] An enhanced search engine architecture, content distribution architecture and related technology described herein overcome some or all of the foregoing disadvantages and provide a novel paradigm for Internet search portals, content providers, and/or advertisement networks. For example, certain embodiments may be used to supplement existing search technologies by substituting more relevant or participatory content in the search results presented to a user. By way of example, content may include one or more of advertisements, images, news feeds, text, links, streaming media, personal photographs, blogs, twitter messages, or other content.
[0070] Described below are example embodiments. The embodiments may be implemented via hardware, software, or a combination of hardware and software. For example, certain embodiments may include software/program instructions stored on tangible, non-transitory computer-readable medium (e.g., magnetic memory/discs, optical memory/discs, RAM, ROM, FLASH memory, other semiconductor memory, etc.), accessible by one or more computing devices configured to execute the software (e.g., servers or other computing device including one or more processors, wired and/or wireless network interfaces (e.g., cellular, WiFi, Bluetooth, Tl , DSL, cable, optical, or other interface(s) which may be coupled to the Internet), content databases, customer account databases, etc.). By way of example, a given computing device may optionally include user interface devices, such as some or all of the following: one or more displays, keyboards, touch screens, speakers, microphones, mice, track balls, touch pads, etc. While certain embodiments may be illustrated or discussed as having certain example components, additional, fewer, or different components may be used. Further, with respect to the processes discussed herein, various states may be performed in a different order, not all states are required to be reached, and fewer, additional, or different states may be utilized. [0071] While certain embodiments discussed herein utilize a client software application hosted on a user terminal and configured to perform certain functions, some or all of the functions are optionally performed instead or in addition by a device (e.g., a computing device) remote from the user terminal that is directly or indirectly in communication with the user terminal, such as a peer note, or proxy node, network appliance or another device, that may run software that provides some or all of the client software functionality described herein.
[0072] As discussed above, an example embodiment may be utilized with client software executing on a client device (e.g., a terminal, such as a personal computer, a wireless cellular device, an interactive television, other entertainment device, a personal digital assistant, router, switch, other terminal, etc.), sometimes also referred to herein as a "node". The client device may be coupled to one or more components of a distributed search engine and content distribution system, which may include a central system (wherein the term "central" is intended to be functional in nature, not geographical in nature), one or more proxies, and/or other nodes.
[0073] By way of example, the client software may be downloaded over a network from one or more system components, such as the system 180 illustrated in Figure 1 , or may execute on a remote proxy system, peer note and/or other connected system. For example, a component may be configured to store and transmit the client software to the user device, or the client software may be provided by direct, tangible media, such as removable magnetic, optical, or solid state media. The software is installed on the user's client system, or a proxy node accessed by the user. In addition, one or more peer node(s) and/or other systems can be referenced by the user node as the user's proxy. Optionally, nodes can pull content (e.g., to be used in replacing or modifying original content) ahead of time to work independently against a locally stored cache.
[0074] Optionally, nodes (e.g., user peer nodes 92 and/or enterprise proxy nodes 94) can serve up content, in part or in whole, to other nodes so that a modified page or media stream may have come from a plurality of nodes and the discrete ads or content may have been further subdivided so that any given node only provides a certain percentage (e.g., 5%, 10%, 50%, or other percentage) of the actual content, thereby reducing the load on a given node. Thus for example, in either a pull or push operation, a given user node may receive portions of an advertisement from 2, 5, 10, or more other nodes, and the given user node then assembles the various portions into a complete advertisement for display to the user.
[0075] By way of example, a peer node or nodes, which may include one or more client software nodes, may be configured to share some or the entire processing and distribution load for another user node. By way of illustration, the client software installed on a device may optionally pull content from one or more peer node(s) that have already aggregated the same or similar content, rather than from a central system. A proxy node may include client software executed by a computing device (which may be the same as or different software than that installed on the user device), that performs some or all the tasks that one or more client nodes have delegated to the proxy node. The proxy node optionally may only return the updated page and content to the requesting client software nodes, rather than providing versions of a page/content that have already been received by the requesting client node. This approach reduces the overall bandwidth utilization and processor utilization by the requesting client node and by the proxy node as duplicative data need not be transferred over the network between the client and the proxy node. Additionally, this approach allows the user to forgo installing some or all of the client software on their client node and to directly or indirectly access the proxy node to receive some or all of the functionality provided by the software.
[0076] Optionally, content may be downloaded to a user terminal in batch mode, before it is even determined that it will be displayed to the user, based in part on the user's profile. This enables the client software to access and parse content already received on the host user terminal, such as by pulling the content from the user terminal's local cache (or optionally, from a peer node, a proxy node, or other remote system). Accessing the content locally enables the parsing and process to be performed much faster than if the content had to be accessed remotely when needed, thereby improving for the user's experience and enabling large volumes to be managed effectively. Further, caching the content ahead of time enhances the operation of the merchant/partner interfaces. By way of illustrative example, if a user's interest is baseball (e.g., as specified in the user's profile), the user's node may pull down "static ads" related to baseball, which may include expiration dates with these ads, for 90% of the replacement pool, while 10% of the ads may be in the form of dynamic content, such as a live news feed or fresh content, which would be accessed in real time, when needed. Thus, when the user node fetches a page, the ad engine (or peer or proxy) may pull from the local cache the same "static" ad that would have been served had the user node pulled the static ad from the remote server in real time. If the expiration date(s) for some or all of the cached ads is reached, the user's node may pull down additional ads with expiration dates that have not yet been reached.
[0077] In an example embodiment, once the client software is installed (e.g., on the user device and/or a proxy node), the user can optionally configure the client software to run automatically in the background (sometimes referred to herein as a "passive mode"), to automatically submit search queries/URL requests (e.g., based on an instruction from a remote system), optionally without providing the results for display to the user. Optionally, the user can also configure the client software to run interactively based at least in part on the user's actions (sometimes referred to herein as an "active mode"). For example, the client software may parse, modify, and/or replace content received as a result of a user-submitted search query (e.g., search results from a search engine) and/or may parse, modify, and/or replace content received as a result of a URL specified by the user or received as a result of a link activation by the user.
[0078] Users can optionally configure execution preferences that affect the behavior of the client software (or remote software performing some of all of the functions described herein with respect to the client software) via a user interface (e.g., a form provided via the client software or via a web page accessed using a browser or other interface, wherein the user can check off or otherwise select performance parameters) provided for display by the client software, browser, or otherwise, and the preferences are stored in memory (e.g., local memory or remote memory). For example, a user may configure the software to operate:
[0079] only when the user's systems is idle (e.g., when system resources are not being used by other applications, or when one or more specified system resources are being used at less than a specified threshold amount (e.g., 1%, 5%, 10%, 20%, etc.). For example, when the usage of one or more system resources, such as the central processing unit and/or disk drive, is less than a specified percentage of total resources);
[0080] at particular scheduled times; [0081] on specific sites;
[0082] for specific content; and/or
[0083] for specific advertisement/content providers.
[0084] Optionally, a user interface is similarly provided (e.g., an electronic form) via which a user can enter in relevant demographic data about the user, the user's household, the user's place of employment, and/or other users of the user terminal. For example, the demographic data can include some or all of the following:
[0085] age;
[0086] gender;
[0087] marital status;
[0088] level of education;
[0089] geographic location (which may include the user home and/or work address);
[0090] income;
[0091] work category/profession
[0092] etc.
[0093] The demographic data is optionally provided by the system and used by advertisers and content providers (e.g., advertisers, ad servers, ad networks, DSPs, and/or the system operator) to select and provide for display content, search results, and/or advertisements relevant to the user. Such demographic data may be provided in varying increments as incentives or rewards for participation or improved experience. For example, a user interface may be provided via which the user can enter demographic information. If the user provides a first type of information, such as age, the user may be provided with a first level of discount (e.g., 1 point or a 5% rebate/discount). If the user includes their gender the user may be provided with a second level of discount (e.g., 5 points or 15% rebate/discount). The user may be provided with a third level of discount if the user provides both the user's age and gender (e.g., 10 points or 25% rebate/discount). Other levels of discounts may be provided for such user-provided information and combinations thereof, such as income level/range and categories/topics of interest, to help advertisers better target ads that are relevant to the users age, income, gender, and field of interests. [0094] Incentives and rewards may include one or more of the following: money deposited in a user account, shared revenues (e.g., where the user is provided a portion, such as a percentage or a fixed amount, of fees paid by advertisers), recognition (e.g., a thank you note or a banner acknowledgement), discounts on purchases of items or services (e.g., for items or services being advertised by the insert/overlay/replacement/modified advertisements), ISP access discounts, free access at HotSpots, redeemable coupons or certificates for services or products, credits, tokens, or other monetary or non-monetary reward.
[0095] The user's demographic data and interest data (that specifies topics or areas of interest to the user) may be stored (e.g., locally and/or remotely in memory) as one or more quick reference profiles that allow the user to rapidly specify and/or to rapidly modify the demographic data and/or the interest data used by the system to select or create relevant content or ads and/or to insert a listing in a search result. For example, the user can access one or more electronic forms previously completed by the user and enter additional information and/or modify existing information, and the new and/or modified information is then stored for later access.
[0096] Optionally, a user may be able to define and store multiple profiles. For example, a user may define a work profile that specifies areas of interest to be used in selecting advertisements/content for when the user is at work. The same user may define a home profile that specifies areas of interest to be used in selecting advertisements/content for when the user is at home. Optionally, the user may manually select the profile to be used at a given session via a control provided on a web page, via the client software, by logging into to the desired profile, or otherwise. Optionally, the profile is automatically selected by the system client software based on information that indicates where the user is physically located (e.g., via an identifier associated with the terminal the user is currently using, via a MAC address, or otherwise).
[0097] Optionally, in addition to or instead of the other parameters described herein, systems and methods described herein may take into account the physical size and/or dimensions of content (e.g., an advertisement) being overlain or replaced, wherein the replacement content is identified and selected so as to fit within the dimensions of the content being replaced (or which can be scaled to fit within the dimensions of the content/advertisement being replaced while still being readable/adequately viewable).
[0098] Unless the context indicates otherwise, the term "replace" as used herein includes removing an existing document/item of content, such as an image, photograph, video, or text document, as well as to removing a reference (e.g., a URL link) to such a document/item of content, and then replacing the existing content with different content or a reference thereto. Thus, the phrase "replace original content with replacement content" is intended to cover both the case where an actual item of received original content (e.g., received as part of a web page) is being replaced with an actual item of replacement content, and the case where a link (e.g., in an HTML text stream for a web page) to an item of original content is replaced with a link to the replacement content. The phrase "replace original content with replacement content" is further intended to encompass the case where the original content is "present" but made invisible (e.g., with a "hidden" attribute) and the replacement content is located at substantially the same location as the original content, but is not hidden.
[0099] Optionally, the user may configure the client application to only access a specific category of sites or to only display content related to a user specified interest, or to remove advertisements completely from search results and/or other web pages, or to have personal or desired content follow them from page to page (e.g. a picture of their spouse that may be displayed overlaying/replacing unwanted advertisements on any web page including but not limited to their email page, their favorite news, entertainment or weather pages/sites and/or other page/site that is displayed).
[0100] The client software application optionally further provides a user interface via which the user can specify that the client software application is to only communicate with selected peer nodes, a proxy system, and/or a central system, or may communicate with any peer nodes (e.g., not just trusted nodes). The client software application hosted on the user terminal, peer node and/or proxy node may optionally be configured to gather information and content from other peer nodes, and communicate content and information to other peer nodes, without having to communicate directly with a central system that may act as a central repository of content/advertisements and/or transactions, thus offloading the central system and enabling the client software application to operate even if the central system is overloaded, has failed, or is otherwise unavailable. Additionally, content or advertisement may be subdivided among one or more system nodes such that a portion of any given webpage, advertisement or other content may be retrieved of a plurality of nodes substantially simultaneously, in series or a combination thereof.
[0101] For example, the client software may request content from another peer node (optionally based on its proximity to the node hosting the client software, which the request is provided to a peer node that is relatively closer to the requesting node than other nodes) that has already been distributed relevant content, thereby possibly providing faster and safer access to the content than having to access the content from a central repository system. By way of further example, the client software may request content and a web page from a proxy node which may also host the client software. In these two examples, the proxy node or the peer node may receive the web page request and create aggregated content (e.g., the subsequent web page with relevant content, ads and links), and transmit this aggregated content to the requesting client software, or store information or data without generating the aggregated content, thereby enabling the client software to more rapidly and securely access the stored information and data, and create the desired web page content.
[0102] Figures 3, 4, and 5 include example user interfaces that illustrate the identification of content and advertisements (by the client application and/or other distributed search engine and content distribution system components), to thereby enhance or modify the content/advertisements based at least in part on the user's preferences, interests, demographic profiles and/or other information provided by the user via the client software or otherwise. For example, the software might be an add-on to the user's preferred browser or running on a proxy node that the users connect through to access internet content. For example, the user interfaces may be presented via a web page, a page panel, a model dialog form, and/or via a wizard that enables the user to specify information that may be used to help identify and present desirable content to the user, and to specify when and where the user may want such information, based in whole or in part on their configured preferences in a user friendly way.
[0103] Figure 3 illustrates the identification of image advertisements from specific providers. By way of example, such identification may optionally be performed by recognizing known URLs (e.g., known to be associated with advertising content) or unknown URLs, SGML/HTML tags (e.g., associated with advertising content), template masks, page handler algorithms, parsing the Document Object Model (DOM) structure, by manually tagging and identifying advertising content, by performing a string search (e.g., to identify advertising text, such as words or phrases associated with general or specific advertising, or to identify specific URL codes), by performing a content index search, and/or using other techniques.
[0104] Referring to Figure 3, a user interface is provided including the following interfaces via which a user can customize the identification and/or replacement of advertisements and/or the ranking of search results (although fewer or additional interfaces may be used):
[0105] Optional Interface 302, via which the user can select the types/sources of advertisements and/or links to target for overlay, replacement or modification;
[0106] Optional Interface 304 via which a user can manually specify whether advertisements on the current displayed page are to be located and identified to the user and/or whether the identified advertisements are to be hidden, overlaid or replaced;
[0107] Optional Interface 306 via which a user can specify advertisements and/or links that are of interest to the user (e.g., that the user would want to be used to replaced other advertisements of less interest), for example the user can specify topics of interest such as sports, music, technology, etc;
[0108] Optional Interface 308 via which the user can specify the user's demographic profile (e.g., gender, marital status, birth year, birth month, highest level of education, etc.);
[0109] Optional Interface 310 via which the user can specify proxy settings (e.g., use trusted peer nodes only, use any peer node, etc.).
[0110] In this example, an image advertisement 312 (e.g., a photograph, a graphic, streaming media, etc.) that is to be overlaid, modified or replaced is identified and optionally highlighted (in this example and illustration, by a border placed by the client application around the image advertisement, although other forms of highlighting may be used). In this example, the original advertisement to be replaced was not selected as a result of a search query. Optionally, the image advertisement is not highlighted to the user and the replacement/modification is optionally performed automatically and transparently to the user so that the user is not aware that a given advertisement is being replaced or modified and the given advertisement is optionally not displayed to the user via the web page prior to being automatically replaced.
[0111] In some embodiments, the user interface is omitted. User consent for identification and/or replacement of advertisements may be obtained. For example, a user might be prompted with a dialog box or other interface indicating Terms of Use, including consent for identification and/or replacement of advertisements. In response to a user's indication of consent, the user may be provided a desired service, for example access to a private network. In some embodiments, user information can be obtained using tracking data, cookies, etc.
[0112] Figure 4 illustrates the identification of textual links and sponsored text advertisements for specific providers. Referring to Figure 4, a user interface is provided including the following interfaces via which a user can customize the identification, modification, overlaid and/or replacement of advertisements:
[0113] Optional Interface 402, via which the user can select the types/source of advertisements and/or links to target for replacement or modification;
[0114] Optional Interface 404 via which a user can manually specify whether advertisements on the current displayed page are to be located and identified to the user and/or whether the identified advertisements are to be modified, overlaid or replaced. Optionally, the advertisement is not highlighted to the user and the replacement/modification is optionally performed transparently to the user so that the user is not aware that a given advertisement is being replaced or modified.
[0115] Optional Interface 406 via which a user can specify types of content, advertisements and/or links that are of interest to the user (e.g., that the user would want to be used to make such information of interest more visible to the user and/or be used to replace other advertisements of less interest), for example the user can specify topics of interest such as sports, music, technology, etc;
[0116] Optional Interface 408 via which the user can specify the user's demographic profile (e.g., gender, marital status, birth year, birth month, highest level of education, etc.); [0117] Optional Interface 410 via which the user can specify proxy settings (e.g., use trusted peer nodes, use trusted proxy node, use any peer node or proxy node etc.) directly or indirectly connected to client software/client device.
[0118] In this example, several original textual advertisements 412 that have been selected by the search engine based at least in part on the user's search query, are identified to be modified or replaced and are highlighted (in this example, by a border placed by the client application around the textual advertisements to be overlaid, hidden, modified or otherwise replaced). In particular, in this example, a textual advertisement 414 in a targeted advertisement area on the side of the main search result listing, and a textual advertisement 416 in a targeted advertisement area above the main search result listing are selected for replacement.
[0119] Figure 5 illustrates a user interface including the example identification of image or video advertisements from specific providers. By way of example, such identification may optionally be performed by recognizing known URLs (e.g., known to be associated with advertising content) or unknown URLs, SGML/HTML tags (e.g., associated with advertising content), template masks, page handler algorithms, parsing the Document Object Model (DOM) structure, by manually tagging and identifying advertising content, by performing a string search (e.g., to identify advertising text, such as words or phrases associated with general or specific advertising, or to identify specific URL codes), by performing a content index search, and/or using other techniques. For example, the HTTP or other outbound request for advertising content may be detected, since the request is programmatically used to deliver the requested content. By way of illustration, if a user enters or selects the URL "www.desired-site-domain.com" to navigate to the respective site, and the user browser is then navigated via a site request to an ad serving domain (e.g., "get- ad.ad-server-doamin.com"), indicating a request to an advertising serving site for advertising content, the request for advertising content may be detected by monitoring such requested URL. Optionally, an entity may use a proxy domain (e.g. get-ad.from-decoy-domain.com) which would then be forwarded to the ad serving site "get-ad.ad-server-domain.com". Once the request is detected (e.g., by monitoring the URL or other locator being navigated to or requested), the requested advertising content may be replaced by substituting the URL being requested with a different URL associated with the system from which the replacement ad may be accessed (e.g., "ad-from.our-adserver.com"), or as described elsewhere herein.
[0120] In addition to identification of image or video advertisements as discussed above, non-content space may also be identified in a document, such as a web page or other document. On any given web page, available space for inserting advertisements may not be limited to those spaces in which advertisements are presented. For example, web pages may include some amount of "white space". As used herein, "white space" refers to portions of the web page in which no content or user-readable information is provided. These portions of the web page need not be actually white, but may assume any color or combination of colors. For example, the white space may be located in margin areas or in the body of the web page. Such white space can provide available content space, in addition to the available content space of identified advertisements. Selected advertisements may then be inserted into the available content space, including white space and/or target advertisements to be replaced. The insertion may be performed by a client application executing on a user terminal, by a proxy system, or otherwise.
[0121] Referring to Figure 5, a user interface can be provided including the following interfaces via which a user can customize the identification, and/or replacement of advertisements, or the placement of advertisements over white space (although fewer or additional interfaces may be used, and one or more of the interfaces may be presented without displaying the other web page content):
[0122] Optional Interface 452, via which the user can select the types/sources of advertisements and/or links to target for overlay, replacement or modification;
[0123] Optional Interface 454 via which a user can manually specify whether advertisements and white space on the current displayed page are to be located and identified to the user and/or whether the identified advertisements are to be hidden, overlaid or replaced;
[0124] Optional Interface 456 via which a user can specify advertisements and/or links that are of interest to the user (e.g., that the user would want to be used to replace other advertisements of less interest or that the user would want to be overlaid over white space), for example the user can specify topics of interest such as sports, music, technology, etc; [0125] Optional Interface 458 via which the user can specify the user's demographic profile (e.g., gender, marital status, birth year, birth month, highest level of education, etc.);
[0126] Optional Interface 460 via which the user can specify proxy settings (e.g., use trusted peer nodes only, use any peer node, etc.).
[0127] In this example, an image advertisement 462 (e.g., a photograph, a graphic, streaming media, etc.) that is to be overlaid, modified or replaced is identified and optionally highlighted (in this example and illustration, by a border placed by the client application around the image advertisement, although other forms of highlighting may be used). In this example, an area of white space 464 that is to be overlaid is optionally highlighted (in this example and illustration, by a dashed border placed by the client application around the white area, although other forms of highlighting may be used). In this example, the original advertisement to be replaced was not selected as a result of a search query. Optionally, the image advertisement and/or white space is not highlighted to the user and the replacement/modification is optionally performed automatically and invisibly to the user so that the user is not aware that a given advertisement is replacing a pre-existing advertisement or is being overlaid over white space. Together, the targeted ad for replacement 462 and the white space 464 form the available content space 466. The client software may place one or more selected advertisements over any area of the available content space. Optionally, the selected advertisement(s) or only placed in the white space, and do not overlay or replace an existing advertisement. As noted above, in some embodiments the user interface is omitted. In some embodiments, the user interface may take the form of a separate webpage to which a user can navigate, rather than a frame within a webpage.
[0128] The available content space may be identified by a number of methods. As noted above, original advertisements may be automatically identified by, for example, recognizing known URLs (e.g., known to be associated with advertising content) or unknown URLs, SGML/HTML tags (e.g., associated with advertising content), template masks, page handler algorithms, parsing the Document Object Model (DOM) structure, by manually tagging and identifying advertising content, by performing a string search (e.g., to identify advertising text, such as words or phrases associated with general or specific advertising, or to identify specific URL codes), by performing a content index search, and/or using other techniques. The available content space may be in a content stream or may be static white space in a document. For example, a commercial of 15 seconds during a break between streaming video content may be identified as available content space and replaced with advertising video or static content. Similarly, audio commercials played during a break between streaming audio content may be identified as available content space and replaced with another audio commercial.
[0129] In some embodiments, original advertisements and/or white space may be identified by manually tagging and identifying advertising content and white space. For example, one or more individuals may identify and mark the contours of advertisements and white space on a given web page. In some embodiments, individuals may be able to draw boxes over original advertisements and/or white space to identify available content space. This approach can be scaled with a crowd-sourcing model, in which large numbers of individuals working collectively identify and demarcate available content space on one or more web pages.
[0130] In some embodiments, the page data can be analyzed automatically to identify white space. For example, a page can be analyzed in real time by removing java script, inner html, and other items identified as being extraneous for the purpose of identifying white space. In this way, the analysis can limit the page to fewer items, whose attributes (e.g., anchoring position, size, color, etc.) can be identified. Other attributes may also be relied upon, for example paragraph markers as indicating the position of text. In some embodiments, these remaining items can be treated as content, with some or all remaining space being treated as non-content space. Once the content items are identified, the spaces outside those content items may be identified and mapped, and optionally the mapping is stored in memory.
[0131] In some embodiments, identification of the white space can include reference to the container, device, and/or viewable surface on which the page is to be displayed. For example, the page may extend well beyond the monitor or at a place below that would require considerable scrolling. Identification of the white space available for insertion of advertisements may include identifying the available screen size and position of the page within that screen. [0132] In some embodiments, the white space may be identified by analysis of the document pixels. For example, the client application may automatically identify one or more points at which a certain number (e.g., a threshold number) of white pixels are adjacent to one another. Optionally in addition or instead, other colors of pixels may be used - for example a document having a black background may identify a certain number of black pixels that are adjacent to one another. That point may be identified as a portion of white space. Optionally in addition or instead, patterns or color representations may be used to identify available content space - for example individual pixels of differing colors may be arranged to create a pattern or a color, such as alternating black and white pixels providing a gray image. This includes gradient colors, patterns, or other arrangements of pixels. By mapping some or all of a web page (or other document) using this approach, the contours of white space may be identified.
[0133] In some embodiments, the available content space may be identified by analyzing a web page for user mouseover events. A mouseover event occurs when the mouse pointer is moved onto or hovers over a particular element of the web page. The mouseover event can be defined using a language, such as java script, for example. The area of the page in which a mouseover event is triggered may be, for example, a clickable advertisement, The position of the mouse pointer (e.g., X and Y global screen coordinates) can be associated with the mouseover events, non-mouseover events, and/or other such events, particularly if such events can be mapped to a background or foreground object. Accordingly, the position of elements that trigger mouseover events can be mapped. In some embodiments, elements that trigger mouseover events may be advertisements, and accordingly the client software may treat such elements as part of available content space. In some embodiments, the portions of the web page in which no mouseover events occur and/or at which no text is identified can be mapped and identified as white space. This identified white space is available content space, and accordingly selected advertisements may be inserted or overlaid into this space. As discussed above, the software providing functionality described herein may be installed on a local user device (e.g., a personal computer or other terminal). Optionally, in addition or instead, an enterprise proxy system may used (e.g., operated by an employer, a store, a government entity, on a vehicle (e.g., a train or plane) operator, a hotspot, etc.), wherein the user browser is re-pointing to the proxy system, such as using acceptance scripting ("do you accept...") or a software utility installed on the user device to support the proxy. In some embodiments, a user may provide consent by actively or passively joining a network, in which case user acceptance or consent can be automatically transmitted. For example, if a user has previously connected to a network, the user's media access control (MAC) address, password, etc. may be configured to enable the user to automatically connect to the network, subject to the governing terms and conditions. This provides for a relatively broader reach, as the user can benefit from the functionality using terminals that have not been specifically configured, and the services can be reached via WiFi/hotspots (e.g., at hotels, chain stores, airplanes, etc.). Optionally, a user interface is provided (e.g., via a web site) via which a user can configure user preferences and specify user demographics.
[0134] Optionally, the functionality discussed herein can be provided in whole or in part utilizing a network/ISP model, optionally without the user having to install additional software on the user's device. For example, the proxy service may be performed by a user's ISP or network provider. Optionally, a user interface is provided (e.g., via a web site) via which a user can configure user preferences and specify user demographics.
[0135] Two or more implementations (e.g., client based, enterprise based, and ISP/networked based) can work together as a hybrid, with various combinations of rights, priorities, and overrides. For example, the ISP or enterprise may specify preferred ad networks, but the user client software (based on user configuration information/controls) may still be permitted to select from those preferred ad networks what advertisements (if any) are to be displayed. Optionally, the user client software may be configured to override the enterprise instructions, which may in turn be configured to override the ISP instructions. Therefore, by way of example, the following possible combinations may be used (other combinations may be used as well):
[0136] Client device/client software only;
[0137] Client device/client software + ISP; override for user;
[0138] Client device/client software + Enterprise + ISP; override for user first, enterprise second and then ISP has last priority;
[0139] Enterprise only; no override for user or ISP;
[0140] Enterprise + ISP; override for enterprise; [0141] ISP Only; no override for user or enterprise.
[0142] Figure 6 illustrates an example interaction process involving the client application in the context of the novel distributed search engine and content distribution architecture. In another embodiment, a broker service is optionally contained completely within the client software, which can access content, advertisement and/or other information and services from existing or traditional ad brokers, ad service providers, ad servers, ad networks, ad network providers, advertisers, ad exchanges or Demand Site Platforms (DSP), from a web portal, and/or a content provider providing the web page for display.
[0143] The enhanced search engine and content distribution architecture enables users to influence and participate in the selection and delivery of content and advertisements, optionally utilizing client software installed and executing on a user terminal, peer nodes, proxy nodes, and/or a centralized system (e.g., central system 180 illustrated in Figure 1). The architecture may leverage existing or conventional ad broker, ad server, ad network, DSP and/or ad provider services with enhanced methods using one or more parameters, including those described above, such as user interests, user demographics, ad size, ad source, ad content, other characteristics, etc.
[0144] As similarly discussed above, a user may install client software, such as on user terminals 506, 510, 514, 518. The user may enter the various parameters discussed herein. The client software may or may not require registration based on user configuration parameters. In certain embodiments, the client software and parameters input by the user are registered in a registration system which may optionally include a central system 520, peer nodes 508, 516, the client software system and/or the distributed network architecture 502, which may be the client software installed on one or more nodes/proxies/ISP systems. For example, a distributed software system may receive and transmit data across a network, such as the Internet, and may coordinate input and output with a central control system and one or more distributed nodes or client software. The client software, via the user terminal or proxy node, communicates with the centralized control system and/or may communicate with peer nodes 508, 516 or proxy nodes. Some or all the site requests (e.g., made by the client software) are optionally parsed for information and analysis.
[0145] For example, when a user (e.g., via a browser or otherwise) requests a site by URL, the page structure may be analyzed to unmask template structure, URL randomization and other techniques that may be employed to make it difficult to identify ads. By way of illustration, an advertiser (or entity working on behalf of the advertiser) may randomize the name of the link or tag name in order to make it more difficult to identify an associated advertisement. An example embodiment overcomes such challenges by examining the source element value, which is much more difficult to randomize because the source element value is generally referenced by domain (e.g., adservice.acmeadserver.com?Your Randomized Add Link). In this example, the domain is relatively harder to mask than tags. In the user post back or get request, which is a response to a request (e.g. the user clicks on an advertisement link), an example embodiment optionally parses the request, records the parsed request, and builds a counter-solution.
[0146] The client software is optionally configured to render, reformat or substitute content (e.g., advertisements) on a user terminal, such as user terminals 506, 510, 514, 518. For example, the replacement content (e.g., more desired or relevant content for the user) may be accessed from a replacement content system 520, which may be in the form of a remote server, proxy node, or network appliance such as a router, and the replacement content can be inserted into web pages served by web server 522. The other content for the web pages served by the web server 522 may be provided by a content creator. The content from the replacement content system 520 may be used to overlay (e.g., as a pop-up, or as layered content), modify , insert or replace content (such as advertisements, links, search results, etc.) served by a conventional ad broker system, ad network, ad exchange, DSP or other ad provider 524 to the web server 522.
[0147] For example, with respect to utilizing layered content, the layered content may be selected and/or sized to have substantially the same dimensions as the original content being overlaid. The original content may still be present in the page, but is not visible because it is overlaid with the replacement content. For example, with respect to HTML, the z-order attribute of the replacement content may be set to a higher order than the original content so that the replacement content with be layered above the original content and will obscure the original content. By way of further example, an "invisible" attribute for the replacement content may be set to "false" and an "invisible" attribute for the original content may be set to "true," so that when the replacement content is placed at the position of the original content, the replacement content will be visible, and the original content will not be visible.
[0148] Optionally, if there is audio associated with the original content, the audio may be automatically muted when the replacement content is displayed. Similarly, in addition to muting an audio component of original content, other active/streaming media (e.g., video, animation, scripted, etc.) of the original content may be managed. For example, such streaming media or active media may be automatically or programmatically stopped, paused, muted, rewound, cancelled, or otherwise prevented from playing when the original content is replaced/overlaid to reduce the network bandwidth and/or processor utilization that would otherwise be used to reproduce such media of the "hidden" original media. The replacement content may be provided on behalf of one or more merchants, advertiser or publishers 526, 528.
[0149] The user may configure the client software to receive (via a pull operation or a push operation) input from the central system, the content system 520, or one or more peer nodes 508, 512, 516, and post output to the central control system or one or more peer nodes 508, 512, 516, which participate in a search optimization and/or content replacement/modification process. Content may also come from content providers, such as ad exchanges, ad servers, ad networks, DSPs, media sharing sites (e.g., photo/video sharing sites, blogs, social networking sites), web-based applications such email or calendar services, etc.
[0150] By way of example, user terminal 506 optionally does not have the client software installed, and instead relies on the proxy 504, which does have such software installed, to provide the functionality of the client software for the user terminal 20. By way of example, user terminal 510 optionally does not have the client software installed, and instead relies on the peer node 506 and the peer and proxy 512, which do have such software installed, to provide the functionality of the client software for the user terminal 20. By way of yet further example, user terminal 514 optionally does have the client software installed which can provide the functionality described herein. By way of still further example, user terminal 518 optionally does have the client software installed which can provide the functionality described herein and further can utilize the services of a peer node 516 and/or a proxy node. [0151] Network nodes may serve as information beacons that communicate topology, frequency of display, page configurations, delivery methods, host configuration data (e.g., IP (Internet Protocol) address, OS (operating system) type/version, MAC (Media Access Control) address, etc.) and/or other configuration data between nodes and one or more system components. Network nodes may also request content (actively or passively) from web portals, ad providers and other web sites based on randomized methods or rules, and post back to web portals, web sites and ad networks information randomly or by instruction.
[0152] The user may be provided, via the system and methods described herein, a share in proceeds, revenues, shared savings, monitory, other incentives and/or rewards (e.g., cash, coupon, monetary certificate, recognition, credit) for participating in the search optimization and/or content replacement/modification process. Examples of such rewards/incentives many include money, free software, free or discounted access to one or more services (e.g., network access via a hotspot or otherwise, certain content, etc.), advertising-free music/videos, discount coupons, reward vouchers, and/or other items or services. These proceeds, rewards and incentives may be based in part on the level of participation and data configured in the client software (e.g., demographic data, utilization data, status or state data, such as CPU participation and availability, etc.).
[0153] By way of example, a user may be provided a first or basic reward or incentive for installing the client software in passive mode (e.g., a first percentage of a service fee charged to an advertiser for increasing an ad's visibility). The user may be provided with a second, larger incentive/reward for employing the client software in "active mode," where the user interacts with content delivered by the client software or peer nodes, such as a percentage of the fees paid by an advertiser for the user clicking on an advertisement, or a discount on a service or product. If the user provides demographic data such as age, gender, or interests (e.g., via the client software, a web page, or otherwise), the reward is optionally increased proportionally or incrementally with a corresponding increase in the amount of information and/or based on the type of information provided by the user.
[0154] Active and passive "participation," with or without user intervention, may include some or all of the following:
[0155] random searching; [0156] indexing (e.g., Cataloging, sequencing, structure, source and layout of SGML/HTML content);
[0157] scoring of results to monitor and report specific reference location (e.g., search a given site and determine that a given line is in X position of Y elements, report the foregoing back to a content selection system, wherein the reference location may be used to increase in identifying contents relevancy over time as measured from a system node);
[0158] positioning data and configuration data within resulting sets (e.g., position (e.g., X, Y data, where Y is a list and X is the position in the list)/ranking information regarding a search list or with respect to a number of advertisement served);
[0159] simulated execution of the targeted reference to measure and improve results and to identify peer relationship and delivery network configurations (e.g., identify target advertisement, target link, or target link in X position of Y list, and simulate a user's selection of the target advertisement/link by transmitting a request back to the web or content service or server with the target information, such as by sending the click-event back to a web portal with the desired link simulating the user's click on this actual link).
[0160] The "participation" behavior may be controlled by software configuration. Active or passive interaction may cause the reprioritization and formatting of results consistent with the user configuration and/or based on rules articulated by the central control systems or peer nodes or proxy and other system nodes.
[0161] In non-interactive mode, the software may perform its tasks automatically (e.g., as a background process that does not require a user interface or display activity, status, or other information) and without user interaction, however, even in non- interactive mode, the software may still monitor user's activities and patterns, and adapt the software actions in a non-interactive mode. For example, the client software may operate in the background in non-interactive mode (e.g., while the client system or proxy node is not being used, is relatively idle, or is performing other tasks, such as interacting with web pages using other software), and the client software may still perform the functions of replacing, amending, navigation or communicating information with other systems and networks including the central system 180 illustrated in Figure 1 , with or without displaying the replacement content/modified content. [0162] As previously discussed, in non-interactive/passive mode the software may automatically activate links and/or submit search queries to a search engine, optionally using links and/or search queries provided to the software in a file or otherwise. Optionally, the file may include timing instructions as to when and/or how often links are to be activated and/or searches are to be submitted. Optionally, the software may be instructed to activate links and/or submit search queries on a substantially random basis, optionally within a specified period of time (e.g., within 9:00AM to 1 1 :00 PM), assuming the host terminal is on.
[0163] In interactive mode and in response to an Internet search for a particular item or general content browsing, the client software optionally parses an incoming web page (e.g., provided by a search engine and include search results in response to a user query or any page as a result of browsing) and inserts, substitutes or modifies content to provide the user with content that is more relevant based on the user's configuration characteristics and/or participatory rules defined by the system. This insertion/substitution/modification may include overlaying, reordering, summarizing, and/or replacing search results provided by the search engine to which the user submitted the search query, reordering advertisements, or replacing advertisements, or inserting new content (optionally providing the user with a control via which the user can cause the display of the inserted content to be toggled on or off). For example, an entry in a search result listing provided by a search engine may be moved up or down in the listing based on the user's configuration characteristics and/or participatory rules defined by the system.
[0164] By way of illustration, the selection of replacement and/or additive content may include identifying content of similar size, origin, category, type, shape and other various attributes as the original page content in order to preserve page formatting and to conform to the user's expected experience. The selection of replacement and/or additive content may also include identifying and communicating page characteristics, methods and configuration data between peer nodes or a central system. Page characteristics and methods might include HTML Meta data, scripting, referring or embedded URLs, HTML IFrame or DIV tag content encapsulations, script activation methods, dynamically loaded content, and other HTML source code elements and methods used to identify, deliver and activate the requested content. This is optionally done "privately" within the user's device using the software hosted on the device or may be performed on behalf of the user on peer or proxy nodes.
[0165] For example, if the user added or modified their existing browser software to include the client software (e.g., as a browser plug-in, software add-on or extension to the network input/output driver stack) the client software enhances the existing browser software to include some or all of the functions of the client software discussed herein, such that web pages or other interfaces displayed, requested or otherwise accessed by the existing Internet browser may be modified, amended, substituted, identified or replaced by the client software.
[0166] Because each client software node in the system may appear to act randomly and seemingly independently, the resulting patterns related to content modification or substitution are likely to be ignored and may be difficult for search engine sites and other web page providers to detect, thereby ensuring user privacy with respect to the user's participation in the processes described herein.
[0167] Figure 1 illustrates example components and process states that are optionally included to achieve one or more of the results described herein. Fewer, additional or different components may used.
[0168] In particular, Figure 1 illustrates an example distributed architecture system and the relationships between various example software components. Users, advertisers, and merchants may independently register with this system and may download software modules, such as the client software 40, which form part of the distributed system. The client software 40 receives instructions and information from the central system 180 or peer node(s) or proxy node(s) to make active and passive requests to the search site portals or website providers and may either transform or record the results. Further, Figure 1 illustrates the client software modules 50-75 that may be used to act on this content to improve reference scoring.
[0169] Figure 1 further illustrates how a merchant may interact with the system to improve the ranking of their entries and/or advertisements in search results on a given search site or improve the visibility or ranking of an existing advertisement or new advertisement independently of service (e.g., where the merchant may provide advertisement/text content but does not actively control when or where such content is displayed and relies on the system to cause the display of the content in a manner that meets the merchant's criteria). Additionally, Figure 1 illustrates how system components may interact with a financial institution to distribute rewards or compensation.
[0170] The Internet browser and requestor module 45 is representative of example requester module, such as Internet browser software, which may or may not be an integrated element of the client software (which may be downloaded separately and from a different source than other modules of the client software 40). In this example, the Internet browser and requester module 45 renders Internet web pages, although other embodiments may render different forms of documents/network resources. Once the user navigates to a given search engine site or other web page or content service provider, a rule-based reorganizing and modification engine 50 enumerates and identifies the various web page elements (e.g., using a HTML Document Object Model parser, a string search, a page handler algorithm, etc.) such as some or all of the following: text, images, advertisement, etc., to identify possible target web page elements to modify/reorganize/replace.
[0171] An interface module 76 enables the client software to interface with other application software such as internet browsers, cell phone applications, instant messaging programs, chat software and other tools, applications and utilities.
[0172] An content placement engine 55 evaluates the cataloged elements and may communicate with other system components, or other service providers or peer nodes, to assemble part or all advertisements or content that may (or optionally may not be) more relevant to the user's profile(s) and/or the user's software configuration parameters. A results parser module 60 catalogs and may disassemble the results page into discrete web page elements which than may be reviewed by a site analysis reader module 65 to determine if the site and the site content is known and/or expected.
[0173] A results analyzer 70 optionally then makes a determination as to what web page elements were included or will be returned. Based, in whole or in part, on the client software configuration and system rules, a stack automation (e.g., network device layer, operating system kernel, input/output stack layer, etc.) and switch server 75 and/or page/content reconstruction/modifier module 46 may then reassemble the rendered web page using some or all of the original elements and optionally using new elements that are substituted or inserted dynamically in the resulting web page. These elements may exist locally, may be delivered in whole or in part by peer nodes (such as those illustrated in Figure 6) or from the central system 180 or by partner systems, such as an ad exchange or ad server.
[0174] Alternate or substitute advertisements and content may be selected based on configuration parameters, parity characteristics size, type, relevancy, interests, etc. For example, the selection may be performed so as to select replacement content of similar size and shape to an advertisement being overlaid, inserted or replaced, so as not to cause the reformatting of other portions of the user's page/content or otherwise adversely impact other portions of the user's page/content (e.g., to avoid the insertion of content causing article text adjacent to the inserted content to be only a few character wide and to avoid causing each word in the article to "break").
[0175] The user may or may not actually see the changed results as they may be hidden. For example, some of the content that may have been replaced may be an invisible inclusion and appears to the user and/or the original content sender as unaltered. For example, this may be accomplished by marking the corresponding tag's display attribute as hidden. By way of further example, the content media download may be halted or paused. By way of still further example, the corresponding content size attribute may be set to 0. Yet another example embodiment overlays content on top of original content. The altered content may include a user feature (e.g., a control displayed on the altered/replacement content, such as a toggle control, or accessed via a toolbar or menu) to unhide or restore the original content as desired for display to the user.
[0176] An example merchant system 150 includes software hosted on a computing device that enables content contributors and advertisers to register their profiles and content, which optionally may be distributed within the distributed system. It may also include interfaces to partner providers such as ad networks, ad servers, DSP, etc. The content may include renderable content, such as images, streamlining media, news feeds, blog text, textual content, links, program scripts, advertisements, other HTML and/or SGML data, etc. In addition to the renderable content, information may be stored related to the content attributes, such as size, format, and/or other reference data.
[0177] The client software 40 may be hosted on a device 20, associated with a user 15. The client software 40 may communicate over a network 90 (e.g., the Internet and/or other network) to a search entity 100 operating a search engine and/or Internet site 120 that provides search results 130 or other similar content provider or media including streaming media. The client software 40 may be configured to insert, replace or modify advertisements and/or search results, and render the results 30. A merchant, via a merchant terminal 150, can interact with the client software and/or the system 180 as described elsewhere herein.
[0178] As discussed in greater detail below, the user terminal 20 (e.g., via the client software 45) may obtain replacement content/advertisements from one or more other client nodes 92 and/or one or more proxy nodes 94 that may be operated by an enterprise. The client terminal 20 may receive, directly or indirectly, one or more replacement advertisements via ad network 96.
[0179] Figure 2A illustrates an example process for inserting and/or improving the position of certain content. For example, the content may include an advertisement and/or a listing (which may include a link to the merchant) that is or appears to be a search result listing. The process may be performed in whole or in part by the client software described herein, a proxy node, a peer node, or a central system.
[0180] At state 202A, data (e.g., Web page data) is received and parsed to determine whether a first content (e.g., an advertisement and/or a listing of a merchant or advertising partner that has subscribed to have improved visibility of their advertisements and/or search rankings) is either not present or is present but at a location that does not meet specified criteria (e.g., merchant specified criteria). For example, if the web page includes a search result listing from a search engine, and the listing includes a listing for the merchant, but the position/ranking of the merchant listing does not meet a position criteria (e.g., where the criteria specifies a specific position/ranking, such as the first listing, or a range, such as within the first 3 listings), the process will determine that the content is not a location/position that meets the criteria. The determination may be stored in memory and the position may be reordered for display to the user. Optionally, the process does not determine if the search result listing from a search engine includes the first content.
[0181] At state 204A, if the first content is absent, the process identifies a location for the first content. Optionally, this state is performed without determining with the first content is absent. The location may be selected based on merchant/advertiser specified criteria (e.g., content/advertisement is to be located as the first/top advertisement on page; or the content/listing is to be positioned as the first search result listing) and/or the amount of physical display space available on the page that is large enough/of the proper dimensions to hold the first content. If other content is at the identified location, the other content is identified to be replaced or moved.
[0182] At state 206A, if the first content was determined to be present at state 204A, but at a location that does not meet the first location criteria (such as the merchant specified criteria discussed above), the location of the first content is changed to a location that meets or more closely meets the first criterion or criteria (e.g., the advertisement is moved to the location as the top advertisement on page; or the content/listing is positioned as the first search result listing). If other content is at the new location, the other content is identified to be replaced or moved.
[0183] Optionally, even if the process does not determine if the first content is present in the original search listing, the process inserts the first content at the new location, so that the first content may be listed twice, at the original position (if the first content was in the original listing) and at the new position. Optionally, the process inserts the first content, or variations thereof (such as a related advertisement or related URL), at multiple locations in the search listing. Optionally the first content or related content of the merchant/advertiser is inserted in the search listing and in a targeted advertisement area (e.g., above and/or on the side of the search result listing). Optionally, the number and placement of such insertions may be based at least in part on a fee paid by the merchant advertiser, wherein different fees may be charged for different levels of service. For example, a first fee may be charged to have the first content inserted in a targeted advertisement area above the search results, a second fee may be charged to have the first content inserted in a targeted advertisement area on the side of the search results, and a third fee may be charged to have the first content included in the search results, wherein the first, second, and third fees may also be based on the positioning of the first content within the corresponding areas (e.g., the top listing fee may be more expensive than a third position fee). In certain embodiments a fee may be paid to have the first content inserted/placed in multiple areas.
[0184] At state 208A, the process causes the first content to be rendered (e.g., via a browser on a user terminal) at the location that meets the first criterion or criteria. [0185] Figure 2B illustrates an example process for inserting selecting and displaying content. The process may be performed in whole or in part by the client software described herein, a proxy node, a peer node, or a central system.
[0186] At state 202B, data (e.g., web page data) is received and parsed to identify one or more types of content (e.g., an advertisement and/or a listing of a merchant or advertising partner that has subscribed to have improved visibility of their advertisements and/or search rankings), referred to as first content, and parsed to identify the dimensions of such first content.
[0187] At state 204B, a determination is made as to whether there is an opportunity to alter the first content based on one or more criteria. At state 206B, second content is selected based on one or more criteria. For example, the criteria can include one or more of the following or any combination thereof:
[0188] a user search query;
[0189] a user profile (e.g., demographics and/or specified areas of interest);
[0190] advertiser specified criteria (e.g., desired demographics or interest of users to whom advertisements should be served; search terms, wherein if a user enters certain search terms in a search query, the advertiser's ads should be served to the user; payment of a placement fee by the advertiser, etc.).
[0191] At state 208B the second content is made more visible than the first content when the second content is displayed in the rendered web page. For example, the first content (or a link to the first content) may be removed entirely, and the second content may be displayed in substantially the same location that the first content was originally configured to be displayed at. By way of further example, the first content may be made invisible using certain attributes while the second content is made visible. By way of still further example, the second content may overlay the first content (e.g., by having the z-order attribute of the second content set to a higher order than the first content) so that the first content cannot be viewed.
[0192] Figure 2C illustrates an example process for inserting, selecting and displaying content. The process may be performed in whole or in part by the client software described herein, a proxy node, a peer node, or a central system. [0193] At state 202C, data (e.g., web page data) is received and parsed to identify advertisements and/or white space, herein referred to as available content space. The available space may in some instances include two or more areas of non-contiguous available space, including two or more areas of non-contiguous white spaces.
[0194] At state 204C, first content is selected based on one or more criteria. For example, the criteria can include one or more of the following or any combination thereof:
[0195] a user search query;
[0196] a user profile (e.g., demographics and/or specified areas of interest);
[0197] advertiser specified criteria (e.g., desired demographics or interest of users to whom advertisements should be served; search terms, wherein if a user enters certain search terms in a search query, the advertiser's ads should be served to the user; payment of a placement fee by the advertiser, amount of placement fee by the advertiser, etc.);
[0198] the continuity, dimensions, shape, and/or size of the available space
[0199] the dimensions, shape, and/or size of first content candidates.
[0200] At state 206C the first content is displayed in at least a portion of the available content space. For example, the first content may be overlaid over at least a part of the available content space (e.g., by having the z-order attribute of the first content set to a higher order than that of the available content space). By way of further example, the first content may replace at least a portion of content (e.g., advertisements) located in the available content space.
[0201] In some instances, depending at least in part on the continuity, dimensions, shape, and/or size of the available space, and the dimensions, shape, and/or size of first content candidates, more than first content candidate may be selected and displayed in at least a portion of the available content space.
[0202] Figure 7 illustrates example features, workflow and functions performed by the client software. In one such example of this workflow, at state 602 the user obtains the client software and installs it on their computing device (e.g., a personal computer system). For the purpose of this example the software will be installed as a plug-in to an existing Internet browser but could optionally be installed to work with other programs, such as instant messaging programs, or independently. At state 604, the user may then establish an account with a central system, such as central system 180 illustrated in Figure 1.
[0203] At state 606, the user may then configure particular parameters that affect the behavior of the client software such as scheduled times to execute, maximum usage of system resources, and other settings. At state 608, the client software communicates with a central system, such a central system 180 illustrated in Figure 1 , or other peer nodes for further instructions such as a list of reference sites to access (e.g., for use in passive mode where the client software automatically accesses the reference sites at one or more specified uniform resource locators (URLs) to simulate a user navigating to the sites), the frequency at which these sites may be accessed, the targeted internal references to be found at these sites and/or the simulated behavior when accessing the sites.
[0204] The client software, such as client software 40 illustrated in Figure 1 , may also be used to provide feedback data and beacon information to the central system or other peer nodes. This feedback data can include a batch list of instructions or individual instructions to be executed sequentially or in parallel by the central system. The client software may also receive a list of advertisements or content in whole or in part from peer nodes, the central system 180 or an external system that will be added to or substituted in one or more requested pages from these sites. Optionally, the content and/or communications may be encrypted.
[0205] At state 610, the user utilizes the client software (e.g., an existing browser enhanced by a plug-in or instructed to use a proxy node providing the functionality discussed herein) to submit a search query (e.g., for a topic such as "Concert Tickets" for a particular event) or to access a web site web page. At state 612, the search engine provides search results to the client software, or the web site accessed by the client software returns a web page. The returned search results or web page may include ads or merchant links within the search results and/or advertisements and links within the web page.
[0206] At state 614, the client software parses the content of the search results page or other web contents. For example, the client software may evaluate the search results page to determine whether a merchant link/entry (e.g., for a merchant whose has been designated to benefit from the advertisement enhancement services) is absent from the search results or the merchant link entry is listed with a priority/ranking/position lower than the merchant is designated to receive, and/or that advertisements for the same or different merchant are not displayed, provided for display, and/or readily visible of the web page served by the site.
[0207] Based at least in part on the evaluation performed at state 614, at state 616 the client software may modify the web page/search results to insert or substitute content, or to improve the positioning/ranking of a search result listing, to increase visibility for one or more merchants. By way of illustration, an advertisement for a merchant may be inserted in a list of sponsored advertisements, and a missing or hard to find reference link (e.g., hard to find because it has a relatively low positioning in the search results so that it will take navigations though several pages until the merchant reference link is accessed) may be inserted at the top of the list or at a higher position. Optionally, a subsequent background process may simulate the selection of the inserted link indicating to the search engine that the link was desired. These actions, processes and results may then be logged by the client software and communicated back to the central system (e.g., system 180 illustrated in Figure 1) or to peer nodes. For example, some or all of the nodes can log the processes and results so the value of the processes described herein can be reported to one or more recipients (e.g., advertisers) and to enable funds/rewards to be distributed appropriately. This process may be repeated for the same or different instructions.
[0208] If the client software is configured for automatic operation, the process proceeds from state 608 to state 618. When performing in automatic mode, the client software may behave in a similar ways as discussed above with respect to states 610-620, but without user interaction or with a reduced amount user interaction and with or without displaying requested web page or search results that are automatically requested. By way of illustration, when the user is not actively utilizing the host system or the user is executing other software (e.g., financial software, a word processor, an Internet browser, an email client, etc.), the client software may optionally execute instructions and tasks as similarly discussed above.
[0209] For example, at state 620, the client application receives (via a pull operation (e.g., via a client application request) or via a push operation from remote system, such as the central system of a proxy node) a list of one or more sites/URLs. At states 622, 624, 626 the client software optionally automatically navigates to and issues a URL/web page request or a user search query to a particular site from the list received, emulating a user request/search. Although the page(s) received via the automated request are optionally not rendered and the user does not see the pages, the client software optionally evaluates the resulting pages and may optionally modify, insert, remove or substitute content from the resulting page (whether or not rendered), and based on the instruction set my simulate further actions on the modified page or via a direct link request to the sites enumerated by the instruction set.
[0210] For both the manual process of states 610-616 and the automatic process of states 620-626, the process proceeds to state 628, and the client software records and logs the activities performed by the client application (e.g., a record of the sites accessed, the advertisements modified/replaced, etc.). At state 630, the process forwards some or all of the logged events to the central system and/or one or more proxy nodes. At state 632, a system (e.g., a financial or rewards system, which may be the central system), updates the user's account information to reflect and benefits the user is to receive (financial or otherwise) as a result of the advertisement replacement/modification processes performed at the foregoing states. At state 634, account settlement is performed (e.g., periodically, such as monthly), wherein the user is paid fees for participating in the services.
[0211] With respect to merchants, a merchant participating or that want to participate in the advertisement replacement/listing modification process may register with the system. A new merchant may, and optionally is required to enter profile data, financial information and/or configuration parameters for use by the system in managing the distribution of content and advertisement. A merchant may also include references to other data already existing with respect to certain websites, where the user wants to improve the visibility and ranking of such data on other sites. For example, a merchant may have their own web site or web presence and pay for advertisements and listings to be displayed with other respect to the sites/web pages of other website of other companies to provide better visibility and availability of the merchant's information. As described herein, the system may employ the client software nodes to augment or enhance the visibility and ranking of a particular merchants existing content.
[0212] By way of an illustrative example, a merchant site may rank poorly because the site owner has not paid to increase its ranking or visibility on a given search engine. Once the merchant registers with central system or otherwise is entitled to the advertisement/site ranking processes described herein (e.g., by registering with another authorized entity), the client application hosted on one or more terminals of one or more users may be instructed to simulate a user by automatically searching and selecting or "clicking" on the merchant's site and/or links therein, thereby increasing the apparent random popularity of the site and resulting in improved ranking of the merchants existing site within an independent search engine company. This same or similar technique can be used to affect the frequency and/or placement of merchant or competitor advertisements.
[0213] In an example embodiment, a system (e.g., a central server) stores global information, including system-wide activities, regarding the system. The system may also deliver configuration and command logic to the client software nodes, which supplements or augments user configuration data. The central system may be configured to send and receive synchronous and/or asynchronous information over the Internet or other network to client software nodes, and performs data aggregation for the network. However, optionally, one or more client software nodes can operate independently with little or potentially no communication with the central system. Thus, even if the central system/server is temporarily unable to communicate with the client software nodes, the client software nodes can still perform some or all of the functions (e.g., advertisement substitution, ranking modification, etc.).
[0214] The central system may store merchant registration information, including some or all of the following: method of payment, authorization of payment, and services purchased (e.g., ad replacement services, ad modification services, ranking improvement services, etc.). Merchant data may also include data relating to the creation and formatting of customized text, images and/or other media. The merchant may select or enter particular words, word associations or other data of interest and relate these selections to the included text, formatting and media, which are stored and communicated via the central system, peer nodes, and/or proxy nodes to one or more client software nodes.
[0215] The central system also may include an advertisement system and/or an interface to one or more advertising partners, such as described elsewhere herein, that enable merchants to promote advertiser content, text and/or media. The advertising system may utilize some or all of client software nodes to command, monitor, record and/or enhance the advertisement process.
[0216] The central system also may include a payment and reporting system such that transaction and services may be recorded using data from the central system, one or more proxy nodes, and/or one or more client software nodes. The payment system is optionally configured to manage the distribution of fees and proceeds to various participants based on configurable parameters and level of participation. For example, the merchant may configure a payment structure for services, wherein some or all of the merchants service payments are distributed to users based on their client software configuration and level of participation (e.g., the amount of demographic data provided, the number of searches performed using the client software, the number of times the merchant's advertisements have been displayed to the user, etc.).
[0217] Figure 8 is an example workflow process performed by a merchant system, which may be included as a component of the distributed search engine and content distribution system described herein. For the purpose of describing the example workflow described by Figure 8, the merchant system will be considered to be a hosted application with Internet web pages presenting the user interface(s). In this example, at state 702, a merchant enrolls with the system by providing data such as contact and financial data needed to identify and bill the merchant, and such information is stored in merchant system memory. The merchant system may optionally request or require the input of security information, profile information, regulatory information and or/other information.
[0218] At state 704, the merchant system interface may request and store data from the merchant such as some or all of the following: target Internet sites, reference links, keywords, Uniform Resource Locator (URLs), advertisement text, advertisement graphics, active media, (e.g., FLASH media), streaming media (e.g., real time video media), and/or other data. At state 706, the merchant selects payment terms (e.g., a flat monthly fee, a performance based fee based on improvements in search result rankings and/or advertisement placements) for the services being provided via the distributed search engine and content distribution system.
[0219] At state 708, the received data and/or other data may be used to generate instructions for one or more instantiations of client software on one or more hosts, and optionally to search sites, identify content or results, evaluate page or link information, modify results, or to perform other actions or behaviors within the system or through the client software. With respect to actual user searches or requests, at state 710 a user provides a search query to a search engine (e.g., a third party search engine) or a URL that corresponds to a search (e.g., a URL that corresponds to a search result, such might be forwarded from one user that performed a search to another user). At state 712, the central system and/or peers determine which merchant is to be provided with an enhanced ranking and/or advertisement placement on the requesting user node based on the user characteristics (e.g., demographics) and/or the merchant profile. For example, the process may identify which advertisers' profile (which may profile the advertising merchant and/or the desired viewers) that more or most closely matches a give user's profile.
[0220] At state 714, the identified merchant's advertisements are inserted into the web page provided to the user (optionally replacing an existing advertisement or other content) as a result of the user request/query and/or the merchant's ranking in search results returned by the third party search engine is modified/improved.
[0221] With respect to automatic mode, where client applications simulate user requests/search queries, the process proceeds to state 71 1. At state 712, the instructions are issued to one or a plurality of client applications to cause the client applications to execute one or more reference or search lists (as similarly described above) optionally in a manner configured to simulate random user requests/search queries. At state 714, references in returned pages to the merchant and/or competitors are identified. At 716, one or more client applications simulate a user activation of the referenced links (e.g., associated with the merchant).
[0222] At state 718, the client software of the client nodes records and logs the activities performed by the respective client software (e.g., a record of the sites accessed, the advertisements modified/replaced, etc.). At state 720, the process forwards some or all of the logged events to the central system and/or one or more proxy nodes. At state 722, a system (e.g., a financial or rewards system, which may be the central system), updates the users' account information to reflect and benefits the users are to receive (financial or otherwise) as a result of the advertisement replacement/modification processes performed at the foregoing states and/or update merchant account information to accordingly bill the merchant. At state 724, the merchant is charged for the services provided via the distributed search engine and content distribution system.
[0223] The merchant system may store activity results of the system and the client software nodes. This stored data and other data may be used to create reports, calculate billings, optimize node inter-communications and pathways, or determine other compensation or rewards.
[0224] Thus, Figure 8 illustrates certain features and functions of an example system and interactions with merchants and client software nodes.
[0225] Referring now in detail to Figures 1 and 6, a process stream is illustrated whereby users 10 may connect to a registration system 190, payment system 192, ad engine 194, reporting system 196, central system 180, and other peer nodes and/or proxy nodes. It should be noted that the components of the system 180 may be hosted on a single computer system or the components may be hosted on a plurality of computer systems which may be geography distributed over a large area and over many systems. Either directly or through the use of the client software 40 a user registers with the central system 180 and configures elements of the software to run interactively or automatically from the user's device 20, or the system can configure the elements of the software.
[0226] For example, a user may configure the client software to focus content based on user specified interests, demographics, and/or other data. Merchants may also connect to the central system 180 and enter registration information in the registration system 190 and the payment system 192. The payment system 192 optionally provides for a shared payment and reward methodology that are based on system parameters and participation.
[0227] The merchants can configure the ad engine 194 with desired representation media or reference information which is tracked within the reporting system 196. The client software, peer node, or proxy node 40 retrieves information from the central system 180 or other peer or proxy nodes, and actively and/or passively makes requests to the third party search engine 100 or other Internet sites based on rules configured between the client software 40, other peer nodes, other proxy nodes and central system 180. These requests may be used to perform one or more of the following:
[0228] 1) increase the search frequency of a desired reference;
[0229] 2) record the order of a particular reference within a search results; [0230] 3) monitor and report the relative prioritization of a particular reference within a search results;
[0231] 4) reorder or transform in some way the search results or content in a way to improve the score or visibility of a specific reference, most likely desired by a merchant;
[0232] 5) communicate between the distributed system elements information and data to optimize the delivery network.
[0233] 6) alter web page content based at least in part on client software configuration.
[0234] The system 180 may be connected via an interface 181 to a user bank or other financial site 198 in order to make deposits of fees being paid to the user 15 for participating in processes described herein. The system 180 may be connected to a merchant bank or other financial site 199 in order to make withdrawals/charges for services rendered to the merchant and/or to made deposits. The system 180 may also be connected to one or more partners 98.
[0235] As noted above, in certain embodiments the advertising content to be replaced can take the form of video content, and the user terminal can take the form of a television or other device configured to reproduce or play video content, such as a tablet computer, smartphone, laptop computer, desktop computer, game console, etc. For example, a television can include a processor running client software as described above. The television can be configured to receive and display video content via cable, and/or may be an internet-connected device configured to stream video from internet sources. Such an internet-connected television is sometimes referred to as an IPTV. In some embodiments, the user terminal can take the form of a set-top box to be used in conjunction with a television. In some embodiments, the set-top box may be a dedicated piece of equipment for running the client software. In other embodiments, the set-top box may be adapted to provide other functionality. For example the set-top box may be a gaming console, DVR device, or other device capable of running the client software (which may or may not have all of the functionality discussed herein). In some embodiments, video content can be received by the set-top box, which then provides the video content to the television for display. In some embodiments, a user may download the client software onto the television or set-top box. In some embodiments, the television or set-top box may be provided to a user with the client software pre-installed. In some embodiments, the client software may be activated or installed remotely through a service agreement either directly or via a third-party intermediary. For example, in some embodiments the software may be either pre-installed, dormant, or uninstalled. Once the user agrees to the service (for example through a web page, service call, affiliate agreement, etc.), the service operator may automatically or manually activate the client software or push-install, based at least in part on the user agreement.
[0236] Whether the television displays video content from standard cable connections, by streaming the video content from an internet location, or recordings of video content received via cable and/or the internet, advertisements are typically included within the video content or between items of video content. Advertisements may take the form of a discrete length of video. For example, a movie or television show may be interrupted to display one or more video advertisements, after which the movie or television show may be continued. Video advertisements may also take the form of so-called product placement, in which the advertisement is incorporated into the video content itself. Such advertisements may be referred to herein as "integrated" video advertisements. For example, a character in a movie or television show may consume a branded beverage, using a branded item of electronic equipment (e.g., a television or computer), or be shown driving a certain brand of car. Similarly, a character in a movie or television show may verbally reference the advertised service or product. Various other configurations are possible in which advertisements are incorporated into the video content.
[0237] Increasingly, individual viewers are able to "skip" or fast forward through video advertisements that interrupt movies or television shows by use of Digital Video Recording (DVR) or similar technology. This practice decreases the value of discrete video advertisements that are displayed during breaks in programmed content. Product placement video advertisements are not subject to this circumvention by DVR technology as they are embedded in content that viewers want to view, and accordingly may provide an attractive advertising venue for merchants and other advertisers.
[0238] In some embodiments, the client software may identify video advertisements within the video content provided to the television or set-top box. In some embodiments, video advertisements may be identified by the client software through analysis of the video content. For example, video advertisements may be identified by recognizing certain tags or other markers indicating the presence and/or position of an advertisement (e.g., including the timing of the advertisement position relative to the beginning or other portion of the video content, identification of frame(s) corresponding to the advertisement, the dimensions of the advertisement, the position of the advertisement within the frame(s) (e.g., for product placement advertisement), color information for the advertisement, etc.). Such information regarding the presence, position, appearance, movement, duration, format (e.g., still image, video content, graphic, etc.), and/or other aspects of the advertisement can be referred to generally as the "digital footprint" of the advertisement.
[0239] With respect to advertisements involving an object visually displayed within video content (wherein the video content may be a movie, television show, or web show, primarily directed to a subject other than the item being advertisement, but with the item being included in a small portion of the content, such as less than 10%, less than 5%, or less than 1% of the content), tags or other markers can provide information regarding the position of the object such as the angle or orientation, shading, angle of light rays incident on the object, texture, and/or other surface information. This information may be used to provide a suitable replacement advertisement. For example, if the product-placement advertisement includes a branded soda can, then tags or other markers may indicate the size of the can as displayed within the video content, along with the shading, orientation, illumination, angle of illumination, or other characteristics of incident light, or other digital footprint information. This information provided by the tags or other markers may then be used to select a suitable replacement advertisement, for example a soda can of a competing brand. In various embodiments, the replacement advertisement is adapted such that a viewer is unable to detect that it has replaced or overlaid an original advertisement. The tag or other marker may be included by a provider of the video content, optionally during a post-product phase. Optionally, commercial breaks or other video advertisements may be manually identified via a corresponding user interface and the identification provided to the client software.
[0240] Identified video advertisements may be modified, replaced, or overlaid with other selected video advertisements. Optionally, in addition to or instead of the other parameters described herein, systems and methods described herein may take into account the length of the video advertisement being overlain or replaced, wherein the replacement video content is identified and selected so as to fit within the given time-slot of the video content being replaced.
[0241] In an example, a video advertisement to be overlaid, modified, or replaced is identified and optionally highlighted (for example, a visual indicator may appear on the user's screen, although other forms of highlighting may be used). Optionally, the video advertisement is not highlighted to the user and the replacement/modification is optionally performed automatically and transparently to the user so that the user is not aware that a given video advertisement is being replaced or modified and the given video advertisement is optionally not displayed to the user prior to being automatically replaced.
[0242] As described above, certain data associated with the user terminal (for example, a television or set-top box) may be stored locally and/or remotely in memory. Such data can include demographic, interest, behavior, and other information provided to or collected by the client software running on the television or set-top box. In some embodiments, a user may manually provide certain interest areas, location, age, etc. to the client software. In some embodiments, the client software may construct a user profile based at least in part on the video content viewed by the user. For example, a user who typically views historical documentaries may be assigned a different user profile from a user who typically views Spanish-language soap operas. Based on a user profile, the client software can select replacement video advertisements to be displayed to the user. Such video advertisements may also be selected based on the video content being viewed, for example the time of day, the type of content, the user's viewing habits (e.g., channel surfing vs. extended viewing of a single channel).
[0243] By serving replacement video advertisements that are based at least in part on characteristics specific to the user terminal or even individual users, more relevant and directly targeted video advertisements can be provided. Advertisers may tailor video advertisements to specific regions, age groups, or other parameters, thereby providing a more targeted advertisement to the user. The above parameters are exemplary only, and various embodiments other user characteristics may be used, including, without limitation, demographic data, viewing behavior, interest data, location, or time of day. [0244] In some embodiments, video content may be modified rather than replaced. The video content to be modified may be an advertisement or may be programmed content such as a movie or television show. For example, in some embodiments, the audio associated with a video advertisement may be modified. In some embodiments, audio associated with the video advertisement may be muted or paused, with other audio inserted in its place (e.g., if an actor audibly refers to a brand or product name, the corresponding audio may be replaced with audio that refers to a different brand or product name). In some embodiments, portions of the video content itself may be modified. For example, a video advertisement for a car might be modified to display different text depending on the location in which the video advertisement is displayed. In various embodiments, the images, audio, length, or other characteristics of the video advertisement may be modified by the client software. As discussed above, the modifications may be based at least in part on a user profile, viewing behavior, and/or other information available to the client software.
[0245] In some embodiments, the client software can identify product placement advertising. For example, a character in a television show may consume a can of Coca- Cola®. The portion of the video displaying the can may be identified by the client software. In some embodiments, the video may then be modified. For example, the video may be modified to replace the image of the can with that of a can of another branded beverage. Similarly, audio data can be modified. For example, video of a character speaking favorably about Coca-Cola® may be modified so that the character speaks favorably about Pepsi®. The modification may take place in substantially real-time, or in some embodiments may be performed in advance. In some embodiments, the content creators may provide markets to indicate integrated video advertisements such as product placements or other in-content advertisements. In other embodiments, third parties may identify product placements or other in-content advertisements, and this information can be provided to the client software. In some embodiments, the client software itself may automatically analyze the video content and identify product placements or other in-content advertisements, without relying on provided markers. Various other configurations are possible.
[0246] Optionally, the replacement or modified product placement may rely on certain characteristics of the video content to provide an acceptable match. For example, a replacement image of a Pepsi® can replace an existing Coca-Cola® image. In some embodiments, the replacement image is configured to correspond to the exiting image, such that the can of cola is substantially identically sized in both the replacement and existing images. Similarly, the replacement image may be configured to correspond to the angle/orientation, shading, incident light, texture, or other surface characteristics of the existing image.
[0247] For example, one movie scene with a product-placement of a Coca-Cola® can take place in a dimly lit room with a close-up image, such that the can may be relatively dim. Another movie scene may include a can of Coca-Cola® in a bright outdoor scene. Due to the different lighting characteristics, the existing images of Coca-Cola® cans may differ significantly. Accordingly, in some embodiments a replacement image (such as a Pepsi® can) may be provided with differing colors, shading, etc. to match the different lighting characteristics. Similarly, the size, orientation, or other characteristics may vary from scene to scene or throughout an individual scene. In some embodiments, these and/or other characteristics are provided via tags or other markers. In some embodiments, these and other characteristics may be detected automatically by client software. This information may be used to provide a suitable replacement advertisement. In various embodiments, the replacement advertisement can be adapted such that a viewer is unable to detect that it has replaced or overlaid an original advertisement.
[0248] Optionally, product placement may be "leased" to an advertiser for a period of time. For example, an advertisement may purchase the right to have their product included in a scene of content for a period of time or for certain avenues of distribution. By way of illustration, when a movie is released as a first run release, a first advertiser may pay to have their product included within one more scenes. A second advertiser may pay to have their product replace the first advertiser's product on a Blu-ray optical disk release. A third advertiser may pay to have their product included when the video content is initially provided via cable (e.g., the first 90 days). A fourth advertiser may pay to have their product included during a subsequent period of time (e.g., within the period of 90 days-365 days after the video content is released to cable), and so on.
[0249] In various embodiments, video content can be provided that includes a first available advertising space. For example, the available advertising space may be a product-placement type advertisement that may be replaced or overlaid as described above. Available advertising space may likewise be a verbal reference within the video content to the advertised product. In some embodiments, the available advertising space may take the form of a placeholder, which may be identified by the system, rather than a pre-existing product-placement advertisement. For example, video content may include a scene with an empty countertop in view. A product-placement advertisement may be inserted such that the product is displayed on the countertop. In this approach, the inserted advertisement does not replace or overlay a pre-existing advertisement, but rather is inserted into available advertising space. In another example, a video game may include a tattered billboard visible within the game. The billboard may initially be presented as blank, and an advertisement may be inserted such that it is displayed on the billboard within the video game.
[0250] The video content provided with available advertising space may include certain tags or other markers to identify and characterize the available advertising space. For example, tags or other markers may indicate the presence and/or position of available advertising space (e.g., including the timing of the available advertising space, position relative to the beginning or other portion of the video content, identification of frame(s) corresponding to the available advertising space, the dimensions of the available advertising space, the position of the advertisement within the frame(s) (e.g., for product placement advertisement), color information, etc.).
[0251] In some embodiments, the available advertising space may be identified by client software automatically. For example, the video content may be analyzed, either in substantially real-time or prior to displaying the video content. The analysis may identify available advertising space, including, for example, pre-existing product-placement advertisements within the video content.
[0252] Once the available advertising space is identified in the video content, the client software may select an advertisement for insertion into the available advertising space. The advertisement may be selected based on characteristics of the available advertising space. For example, a first available advertising space may be appropriate for insertion of a product-placement advertisement for a beverage, while a second available advertising space may be appropriate for insertion of a product-placement advertisement for a car.
[0253] The selected advertisement may be inserted into the available advertising space for a first duration. For example, the advertisement may be inserted into the available advertising space for a certain period of time or for certain avenues of distribution (e.g., theatre release, cable television) or for certain regions (e.g., countries, states, cities, etc.).
[0254] The video content including the inserted selected advertisement may be referred to as modified video content. This modified video content may either be displayed directly, or may be stored indefinitely. For example, a set-top box may insert selected advertisements and display the modified video content to a user in substantially real-time. In another example, a cable operator may insert selected advertisements into a movie and store the modified video content for later distribution. Optionally, the cable operator may store multiple different versions of the modified video content. For example, first modified video content may include a Pepsi® advertisement, while a second modified video content may include a Coca-Cola® advertisement. Similarly, a first modified video content may include an advertisement directed to the Northeast, while a second modified video content may include an advertisement specific to California.
[0255] In some embodiments, an advertiser may pay based on the number of times that modified video content in which its advertisement has been inserted is viewed. In some embodiments, an advertiser may pay a fee based on the duration of time during which the modified video content will include its advertisement. As noted above, for a newly released movie, a first advertiser may pay to have their advertisement included into one more scenes. A second advertiser may pay to have their advertisement inserted into on a Blu-ray optical disk release, and so on.
[0256] A user interface may be provided for display on an advertiser terminal, the user interface including a menu of product placement opportunities (e.g., within one or more listed movies and/or television content) and associated fees for different time periods, lengths of time, and/or avenues of distribution (e.g., movie houses, cable, rentals, streaming subscription service, Blu-ray, DVD, etc.). The advertiser may select, via the user interface, the desired product placement target content (e.g., movie(s) or television content), for the desired time periods, lengths of time, and/or avenues of distribution, and may provide the image of video clip of the item to be included as product placement (e.g., via upload via the user interface or otherwise). The advertiser may then be charged or invoiced for the product placement, and the product placement may be performed as similarly discussed above in accordance with the specified target content, desired time periods, lengths of time, and/or avenues of distribution.
[0257] Optionally, certain embodiments can be utilized by an enterprise, such as an employer, merchant, vehicle operator, or venue operator to filter out certain advertisements on incoming pages directed to terminals (e.g., employee, customer, and/or visitor terminals, which will be referred to as "member terminals"), and replace those advertisements with enterprise selected content (or content selected by an entity, such as a partner of the enterprise, that has been authorized to select content by the enterprise) retrieved from an server (e.g., an enterprise or partner server). For example, the enterprise/partner content may include announcements regarding the enterprise, such as new product information, employee/customer/visitor events, employee benefit information, etc. Optionally, the enterprise can contract with an ad broker or other entity, to serve advertisements (e.g., of the enterprise or a partner) to the member terminals, optionally in exchange for benefits (such as those described above with respect to users) provided to the enterprise. The amount and/or type of benefits may be based on the participation of employees/customers/visitors as similarly described above with respect to users.
[0258] Optionally, certain embodiments can be utilized by a user to replace advertisements on incoming pages to a user terminal with user selected content, such as user photographs, videos, or other content. The user content may be accessed from the user terminal's memory, or via the user terminal from another system's data store or system node.
[0259] Unlike conventional centralized portal systems offered by typical search engine operators, an example embodiment of the system described herein optionally employs a distributed architecture with user-configured software nodes that enhance the relationship between merchants and users to shift the content provider and search engine value paradigm.
Locally and Automatically Articulated Content Requester Technology
[0260] Certain embodiments of the locally and automatically articulated content requester technology (LAACRT) described herein may enable content publishers, media broadcasters and network access providers to enhance the relevancy and value of the content and advertisement associated with the products and services they provide. Improved relevancy and value may enable service providers to gain higher revenues for providing improved or more convenient services for their members and consumers. Optionally, these revenues may be employed to lower or eliminate consumer access costs by reducing or offsetting the access provider's infrastructure costs to enable Internet access. In addition or instead, such revenues may be used to improve consumers' access experience by enhancing access to more quality content and restricting distracting or irrelevant content such as popups, or distracting advertisements, that are typically unwanted by consumers.
[0261] Over many years consumer access to free or low cost programming and content has been fueled by advertisements. This is true for radio, television, and cable. However, the rapid growth of the internet and overwhelming availability of digital media outlets have fundamentally transformed target marketing and the delivery of online display or streaming advertisements. The mathematical product of the abundance of possible internet content destinations, such as URLs, and the random probability that a consumer might visit any given site at a given point, makes the odds against a user viewing a given advertisement, at times astronomical.
[0262] To address this problem, data aggregators and other intermediaries have inadequately attempted to create statistical or predictive targeting models for advertisers based on site content, IP address and other derived data, to help advertisers ensure their ads are provided to the desired target users. Advertisers and publishers have come to rely on these often expensive intermediary services to help them mitigate the volume of possibilities to best reach their potential customers. To reduce missed opportunities which may result from the inadequacy of the targeting models, advertisers frequently bid or buy more opportunities than needed to improve the odds of reaching their desired target audience or to prevent their competition from reaching such target audience.
[0263] This conventional approach has resulted in escalating advertising and marketing costs which are often passed on to consumers. It has also fostered more aggressive advertising techniques that seek to identify users and control the user experience with forced ads, such as popups, pop-unders, modal ads, interstitial ads or other techniques, which may be highly annoying to consumers, to ensure that consumers receive and view the targeted advertisement.
[0264] The efforts to control the target data, the advertising, and the delivery methods have resulted in the consolidation of a few monolithic advertising intermediaries. These companies seek to control the holistic view of behavioral data across multiple destinations, even when such control and consolidation does not serve consumers, market economics, or innovation well.
[0265] In fact, several of these advertising intermediaries now face investigation for antitrust violations, monopolistic practice, and even admit to bypassing consumer safeguards to capture consumer or competitor data.
[0266] For example, consider that in roughly a decade a small search engine company with limited offerings other than the aggregation of data from other internet site (Google) grew to be one of the most powerful companies in the world with most of their revenues coming from advertising and the use of target data they quietly collected through their advertising services.
[0267] In recent years advertising intermediaries have introduced new "free" offerings that amplify their ability to capture end-user data and push more targeted advertisements, exacerbating the market economics while also introducing technical challenges. These ever larger advertising intermediaries are now drawing the attention of governmental authorities and consumer advocate organizations related to overreaching practices and are now under investigation by federal authorities for hacking, security breaches, privacy issues, and unfair trade practices.
[0268] Meanwhile, network operators and access providers who subsidize the networks that enable these advertisements and data targeting services conventionally do not share in these revenues. In order to maintain the historically stable media transmission ecosystem and continue to offer consumers Internet access services, more and more network operators and access providers are being forced to pass some or all of their access service costs onto consumers.
[0269] In this destabilizing ecosystem, advertisers now depend on a few large intermediaries to survive and compete because these intermediaries control the advertising and the target data, leaving advertisers with few options.
[0270] However, the rapid consolidation into few large companies have created some inherent disadvantages, some or all of which embodiments described herein may resolve. For example, in order to process the very large number of advertising possibilities discussed earlier, while remaining responsive from a user perspective, these large intermediaries require a considerable amount of processing power to aggregate data, processes this data, and deliver a result. Because their models are built on aggregation and disintermediation, they have introduced inherent latencies in serving advertisements and/or in serving documents, such as webpages. Further, because these intermediaries reside between the consumers, the publishers, and the advertisers, they limit direct, real-time communication and are limited by industry standard security techniques. Nonetheless some of these large intermediaries have attempted to cross these boundaries, lobby to change them, and have admitted to hacking or circumventing security paradigms to gain access to more consumer data. Several intermediaries have also introduced new technologies to completely bypass the security safeguards in order to reduce latencies, improve direct, real-time communication, and gain additional consumer data.
[0271] Other inadequate techniques have been developed in an attempt to address certain of the disadvantages, however in order to provide marginally competitive services publishers and advertisers rely on ad exchanges, demand side platforms and remnant advertising vendors, which often service less trafficked destinations sites or include less desirable ads. To mitigate their "low quality of offering" status these intermediaries attempt to offer real-time bidding or trade between ad networks in somewhat of a round-robin or sequentially diminishing hunt for the best advertisement to offer. These services introduce several disadvantages for publishers and access providers. Latency is disadvantageously increased because the advertising opportunity may have to be offered several times though multiple networks in an attempt to achieve the highest price (e.g., for the highest bid). Data integrity may be adversely impacted, because data passed between intermediaries can degrade rapidly, where the degradation may increase as the number of intermediaries through which the data passes increases. Ad entropy may be increased as well because the quality and the value of the ads can often spiral downward based on performance, data, and timing.
[0272] Certain embodiments of the LAACRT methods and systems disclosed herein may solve one or more drawbacks inherent with intermediaries by enabling a localized agent within the accepted security paradigm that automatically promotes advertising competition for a relevant advertising opportunity. This can help re-establish safety, market balance, and create a level playing field for advertisers, consumers, publishers, and access providers. This may enhance the user experience, reduce latency, reduce the costs and need for wasted advertisements, reduce the aggressive, and often annoying, techniques created by intermediaries to capture consumer attention, and mitigate the desire to breach security paradigms to gain more value from a closed system.
[0273] Locally and automatically articulated content requester technology (LAACRT) can be implemented as stand-alone software, add-on software, programming script or firmware that may run on one or a plurality of computer system (including one or more processing devices) connected to a network and/or via the use of dedicated hardware.
[0274] By way of illustration, an example embodiment may include script, such as HTML script, which may be in a form similar to an ad tag, an object code container, or browser add-on that was installed on behalf of the user or by a service selected by the user. Such a script or container may be used to overlay or replace advertisements or advertising placeholders, to thereby maintain or substantially maintain the existing site or content format and user experience, and/or they can be placed in un-used or open spaces within a page or site so as not to materially affect the publisher content. This HTML script may be self- aware, page-aware, and/or aware of other similarly placed scripts or containers within the destination page. For example, if the script is in the network (e.g., being executed by a network device), it may know or be able to determine other IP addresses, if the script is in the browser (e.g., being executed by the browser), it may detect one or more of the version, IP address, URL, etc.; if the script is in the page, it may know or be able to determine the page, location on the page (e.g., coordinates), URL, meta data, and other such data in the page; if the script is in a set top box or TV, it may know or be able to determine the channel, time, program, rating, etc. Unlike conventional intermediary ad tags and programs that are activated by virtue of their midway position between the websites and the user terminal, and therefore are also limited by industry standard security paradigms, the LAACRT script may be safely authorized within industry standard security paradigms to enable more accurate targeting information to a plurality of possible advertisers, ad networks, or ad exchanges from the user endpoint. For example, LAACRT, in certain embodiments, is configured as a distributed, localized solution that executes from within the user's computer, the user's browser, the user's dedicated equipment, and/or a web page. In some embodiments, a user can provide, and the LAACRT system can receive, consent from the user for the system to run the HTML script and replace or overlay advertisements and/or to perform other functions discussed herein. Since the LAACRT script can run from within the user's computer, browser, etc., it can avoid many of the limitations imposed upon intermediaries by the standard security paradigms. This is a significantly different structure and enables a plurality of advertisers to openly and fairly compete for this opportunity.
[0275] LAACRT may also mitigate the need for considerable processing power of conventional techniques, and may reduce the latency often visible to users needed to maintain response. LAACRT, in certain embodiments, is configured as a distributed, localized solution that executes from within the user's computer (or other user terminal), the user's browser, the user's dedicated equipment (such as, but not limited to, a Wi- Fi router, set-top box, cable box, TV or DVR device), and/or a web page. For example, optionally a single LAACRT container, LAACRT place holder, and/or LAACRT ad tag may optionally be configured to collect non-identifiable page information, user controlled demographic information, and/or other similar or non-similar information, and broadcast some or all of the collected information nearly simultaneously or in parallel to a pre-determined or a dynamically selected plurality of advertisers, ad networks and/or ad exchanges for their bid. Advertisers, ad networks, and/or ad exchanges receiving the more accurate, relevant and un- degraded information from the source user may selectively choose to respond with their bid for the right/opportunity to advertise to the user.
[0276] The LAACRT bid request may optionally also be configured to categorize the advertising opportunity with respect to various criteria, such as one or more of site location, page content, site rating, site type, advertising position in the page or stream. The LAACRT bid request may also designate acceptable responses such as media type, MIME type, advertising rating, minimum price, latency expectation or requirements, and/or other attributes, so as to improve the quality of advertising with respect to the user and the publisher. The bid request may specify an allowed time within a response will be considered, wherein after such time the bid may optionally be rejected or otherwise not accepted.
[0277] LAACRT may optionally be configured to receive and aggregate bids from responding advertisers to select from a number of advertisements an appropriate advertisement (e.g., the most appropriate advertisement) based at least in part on such bid categorization and requirements. For example, bidders that did not respond to the LAACRT advertising request in the allowed time might be ignored simply to reduce latency. To optimize or reduce latency, LAACRT may optionally be configured to accept bids and a reference to the advertising to reduce or minimize network delay and/or reduce or minimize back and forth communication.
[0278] After a winning bid is selected by LAACRT system and, on behalf of the user, the LAACRT system may be configured to cause the advertisement to be displayed directly. For example, if the advertisement has been included with the bid, then the LAACRT system can cause the advertisement to be displayed upon selection of the winning bid. Alternatively, upon selection of the winning bid, the LAACRT system may request the advertisement in a subsequent communication, or enable the advertiser's ad tag which is inherently limited by the security paradigms and does not include the same user authority granted to the LAACRT system by the user. As described elsewhere herein, in some embodiments the LAACRT system may include a script executed on the user side (e.g., in the user's terminal, user's browser, etc.), and accordingly can be authorized with access unavailable to advertisers. The LAACRT system is configured to optionally perform some or all of such functions asynchronously and in background via the distributed framework enabled by LAACRT, to thereby significantly reduce or eliminate user latency.
[0279] Certain embodiments also communicate information regarding the winning bid such as, by way of example, response times, amount of winning bid, reason for winning bid, and/or other information, back to some or all responders to the bid request so that they may continue to improve their service and enhance the value of such services to the user and publishers.
[0280] In some embodiments, the LAACRT system is configured to track information regarding response times, content delivery, and/or other performance measurements of the bidders. In some embodiments, bidders with slower response times, or who introduce latency in the delivery of content (as determined from the tracked information), are optionally penalized by the LAACRT system in future biddings. Conversely, bidders with fast response times and/or who do not introduce undue latency in the delivery of content (as determined from the tracked information), may be rewarded with preferential treatment in future bids. For example, a fast bidder might get called first or more often (e.g., may be provided with offers to bid on opportunities relatively earlier than slower bidders, or relatively more often, and/or may be offer better/more preferred opportunities to bid on as compared to slower bidders). Slow or unreliable bidders might get cut off (e.g., the system may inhibit the broadcast of offers to bid on opportunities to such unreliable bidders, the system may reject bids from such unreliable bidders) or relegated to lesser opportunities so as not to slow down the process, at least until their metrics demonstrate improvement (e.g., for a specified period of time) in which case they may manually or automatically be provided with enhanced treatment (of which there may be multiple levels) based at least in part on their performance and reliability. The same can be true with respect to cost and quality.
[0281] Optionally, the LAACRT system is configured to pass additional information not available to intermediately placed technologies within the security paradigm that increases the value of the LAACRT technology and advertising integrity to eco-system participants to improve overall experience. For example, the LAACRT system may be configured to provide information indicating or demonstrating the advertisement was visible. By way of further example, the LAACRT system may provide some or all of the following information: the time the advertisement was in viewable space, whether the page was scrolling, if mouse movement was detected, and/or other information received or detected when the advertisement was being displayed (e.g., which may indicate that the advertisement was displayed, viewed and/or interacted with by the user).
[0282] The LAACRT system may be configured to also refresh content, activate new content, cycle through subsequent bids in selective order (e.g., after displaying the winning bid's advertisement for a period of time, the second highest bidder's advertisement may be displayed), or request a new advertisement based at least in part on page characteristics, a specified display duration, a random display duration, user activity metrics, perceived value of a dormant advertisement, other page activities, and/or other LAACRT system objects. An ad may be designated as exclusive (e.g., where the ad is not switched or rotated out for another ad) or as having an X display time, where X is a configurable time that the ad remains without rotation. If a user scrolls so the ad is out of view, but the ad comes back into view, X might be for a viewable time or may be for total time. In another aspect, location on the page (e.g., top, top right, mid, etc.) may be incorporated into the analysis. [0283] Ads may be considered dormant in the sense that they can become asymptotically less valuable after a few seconds (e.g., if the user was going to click or in interested they would have clicked or kept the ad in view). If there is no client, dwell or gesture indicating interest, the ad may be considered dormant. Similarly, if the ad goes out of view for a period of time and comes back into view, it may trigger a change event. A user may also park a page (i.e., no activity for a time), and the ad may be a changed or rotated once activity on the page resumes.
[0284] The LAACRT system may also be configured to communicate with other LAACRT system placeholders or with advertisements inserted by the LAACRT system, to enhance value and user experience. For example, the LAACRT system may be configured to synchronize the display of selected page advertisements, such as a banner advertisement and a streaming media advertisement, or a banner advertisement and a coupon advertisement matching the service or product in the banner advertisement, to enhance the value to the consumer and the opportunity to the advertiser.
[0285] The LAACRT system may be configured to use inter-page or inter- container communications between the LAACRT system scripts to reduce page clutter, reduce page annoyance to the user, or enhance the number of companion ads within a site as a user traverses a page, listens or watches a media stream, and/or scrolls around a page or navigates to other pages or sites.
[0286] Currently, conventional intermediaries may lack the ability to offer features described herein because they are limited by security considerations and systems. As noted above, in some embodiments LAACRT may be implemented as a distributed, localized solution that runs from within the user's computer, the user's browser, the user's dedicated equipment (such as, but not limited to, a Wi-Fi router, set-top box, cable box, TV or DVR device), or a web page. By virtue of its distributed implementation, in some embodiments the LAACRT system is privy to certain user information not otherwise available to intermediaries. This information can be used to provide increased value for advertisers, increased revenue for network access operators, and increased relevancy of content displayed to users. Additionally, the distributed nature of the LAACRT system may reduce latency as compared with the latency caused by intermediaries. [0287] In various embodiments, the LAACRT system can solicit bids substantially in parallel from a variety of ad exchanges. With this approach, two or more real-time bidding engines can compete with one another for price, speed of providing the advertisement to be displayed, and content. In some embodiments, a response time limit may be imposed to avoid or reduce latency. For example, the LAACRT system may specify and communicate to bidders/bidding engines that they need to provide a response to a request for bid within 56 milliseconds (or other desired time period), after which further bids will be ignored or otherwise treated adversely. As noted above, in some embodiments the LAACRT system can provide information to the advertising providers that submitted losing bids.
[0288] Once a winning bid is determined by the LAACRT system (e.g., based on bid amount and/or other criteria discussed herein), the LAACRT system can provide the advertisement for display on the user terminal, for example by inserting the advertisement in place of a LAACRT placeholder tag or by replacing an advertisement. The manner in which the advertisement is displayed can be varied according to rules imposed by the LAACRT system. For example, the selected advertisement can be displayed for a pre-defined period of time, for example 5 seconds or other time period. In some embodiments, the selected advertisement may only be provided for display or run when the area in which the advertisement is to be positioned falls within the visible portion of the user's browser. For example, a plurality of advertisements may be positioned on a given web page. As a user scrolls vertically and/or horizontally along the web page, one or more of the advertisements may not be visible to the user. Under current approaches, un-viewable advertisements are still included and executed in the page. In some circumstances, these advertisements may include video, Flash, other executable media, etc. The running of such advertisements even when not visible may increase network bandwidth usage and deleteriously affect the user's browsing experience, without benefiting the advertiser. Accordingly, it can be advantageous to selectively provide for display and/or execute advertisements only when such advertisements would be viewable by a user, for example when a browser window is positioned with at least a portion of the ad in the viewable area.
[0289] In some embodiments, advertisements may be rotated for display within a given page area so that the advertisements are displayed sequentially in that area. For example, after a first advertisement is displayed for a pre-defined period of time, such as 5 seconds, the first advertisement may be replaced by a second advertisement, which may similarly be displayed for a pre-defined period of time (which may be the same or different than that of the time period of another advertisement). In some embodiments, the rotation of ads can be ongoing indefinitely. In some embodiments, the rotation of ads can be selectively applied. For example, ads may only be rotated when the displayed advertisement is viewable by a user (e.g., the advertising space falls within a browser window).
[0290] Figure 9 illustrates an example HTML script implementation using pseudo-code and an example system architecture that may be used to demonstrate certain features of the LAACRT technology. Other components and configurations may be used as well.
[0291] In the illustrative example of Figure 9, a user browses a document, such as a webpage, on a connected device. The document (e.g., webpage) contains a plurality of items content from different sources. Some or all of the content may be dynamically created and determined only after reaching the user's connected device. For example, the connected device may be a terminal including a display and user input device. By way of example and not limitation, a terminal may be in the form a general purpose computer, a laptop computer, a tablet computer, a phone, a networked television, a gaming device, etc. In this example, the content publisher may surround some or all the content it publishes with tags, such as HTML tags, that identify the content source, the type of content that is being transmitted, the content rating, and/or other attributes that can be used to evaluate the safety and value of this content to the access provider and end user. Thus, for example, the tags may be monitored by the script, and based at least in part on an examination of the tags, a determination may be made by the script as to which content is to be displayed and which content is to be blocked or substituted with other content.
[0292] For illustrative purposes, in the example of Figure 9 Content 1 and Content 2 are permitted by the system executing the script, and so may be displayed on the page; however, the script determines that Content 3 fails to meet the requirements (e.g., specified by an access provider, premise operator, and/or user) and is blocked or substituted by the system, optionally without affecting other content or page layout. In this example, Content 1 may be a news article of known origin as determined by inspection of Content 1 and/or associated metadata, such as associated tags (e.g., HTML tags). The tags may identify the publisher as CNN or Wall Street Journal, for example. The content type may be labeled, via a tag or otherwise, as news. The fee (e.g., charged by the access provider or premise operator or a CPM (Cost per mille/thousand), CPC (Cost per click), or other fee (e.g., revenue) that the publisher or advertiser is willing to pay) may be specified via a tag or otherwise as $0.00, and the event tag may have a null value. In various embodiments, one or more of the tags and/or tag values may be omitted. For example, as described in more detail below, in some embodiments the fee, content type, height, and/or other attributes and associated tags may be omitted.
[0293] In one embodiment, identified advertisement content may be stripped from the webpage or application and replaced with by the LAACRT system with a placeholder tag. For example, Content 2 may be an advertisement from a well-known ad serving provider, such as DoubleClick or ValueClick. The content type may be advertisement, the fee (as described above) may be $0,001 and the event may include additional actions if the user clicks on the advertisement. In this example, Content 3 may also be an advertisement but did not include the needed tags for identification purposes and/or failed to meet permission criteria, as indicated by a rating tag, such as a content rating for a given site. The LAACRT script may examine Content 3 and/or associated tags and determine that if Content 3 failed a source identification determination and/or permission criteria.
[0294] In some embodiments, ad toll technology may be employed by the system. In an example embodiment, one or more toll booth locations or sites register with the registry and a given toll booth location records the passage of an ad based in whole or in part on delivery to a user. Further details of ad toll technology can be found in U.S. Provisional Application Nos. 61/648450 and 61/793832, which are hereby incorporated by reference in their entirety.
[0295] Optionally, an advertisement has to be delivered to a user connected device in order for the network provider and/or publisher to be provided payment with respect to the advertisement. In an optional embodiment, if an advertisement traverses networks of multiple network operators, then revenues or payments with respect to the advertisement may be split among the multiple network operators and, in certain circumstances, the user to whom the advertisement is delivered. For example, if an ad traverses the networks of three network operators in order to reach the end user terminal, and each of the network operators (and optionally the user) is registered with the system, then the revenue may be split based at least in part on one or more network parameters (how many network segments (e.g., network operator A might traverse the advertisement from point A to B via a national network link, network operator B might traverse the advertisement from point B to point C via a local ISP link, and network operator C might traverse the advertisement from Point C to the user terminal via their WiFi network), how far or number of hops (e.g., the number of routers or routes traversed from the sender to the receiver, in which optionally a given router/route may have an associate detailed cost)) and/or what percentage or revenue share is indicated by the ad tag itself, registry rules, and/or otherwise. The network parameters may be equally or unequally weighted in determining how the revenues/fees are to be split.
[0296] Access requirements may optionally be configured and managed in an access profile record via a web application or client application accessed by a customer or account manager. This profile may include rules or access thresholds based, at least in part, on physical location, bandwidth characteristics, virtual location, cost metrics, or location type such as a hotel property or small coffee shop business and/or other criteria. Rules may also be configured based on account, physical or logical network, virtual network characteristics and/or the type of connection such as, but not limited to, free, paid limited access or paid full access. These rules may also be automatically or dynamically derived based on real-time factors or conditions such as active URL, page content, time of day, day of week, use, current events and/or other factors that might affect the triggering or targeting of dynamic content.
[0297] A non-limiting example illustrating an example process flow will now be described. A user may access a network access device, such as a free public WiFi network hotspot (that is privately owned) with terms and conditions covering network usage and advertising (e.g., where the user clicks on an accept control or otherwise indicates acceptance of the terms and conditions). When the user accesses Internet content, such as a web page, via the private network, the rules defined by the private network operator for the private network may cause the system to selectively enable (or block) specific advertisements to pass through the private network based on specific conditions, such as, by way of example, appropriate rating, publisher URL, and/or pre-established agreements such as an access fee or threshold revenue amount. [0298] By way of further example, an advertiser may utilize an HTML tag and URL reference to return their advertisement. The ad tag may be in the form of an HTML place holder, and may be inserted by the publisher when a page (e.g., an HTML Web page) is served. Optionally, when the page reaches the user terminal, an ad tag script is executed by the browser, and passes back information to the ad provider system, such as cookie data, IP address and/or the current URL, enabling the ad provider to dynamically select a relevant or best ad for the user. The ad image may not actually be in the page. Instead, a reference to a program that will find the image may be included in the tag. The LAACRT system or script, applying the private network operator rules, may parse this tag and/or programmatically reference the tag's characteristics and determine inhibit the showing of this advertisement if the content rating is determined (e.g., by inspecting a content rating tag) to be inappropriate for the viewer and/or the location (e.g., the website the viewer is viewing or the physical facility housing the WiFi hotspot). For example, a coffee shop with a hotspot may not want obscene or offensive material to be displayed on user terminals, within the coffee shop, accessing the hotspot. The rules, as applied by the LAACRT system or script, may also evaluate a revenue attribute for this particular advertisement (e.g., by inspecting an appropriate tag) by comparing the revenue attribute to an acceptance threshold value as pre- specified by the network operator or as otherwise specified, and choose not to prevent the advertisement from passing through the network if the revenue attribute is determined to be below the acceptance threshold. As noted above, in some embodiments the LAACRT system can block some or all identified advertising content and replace it with a the LAACRT Placeholder tag.
[0299] If, in this example, the LAACRT system or script determines that the rules indicate the advertisement is to be allowed to pass, the system may enable the advertisement to be delivered to the user's terminal, the delivery of the advertisement may be recorded by the system, optionally in association with some or all of the associated tag information, such as tag information identifying the publisher, the advertisement, the revenue offered for the ad, the network or networks the advertisement passes through, and/or other such information. Such stored tag information may be utilized by the LAACRT system or otherwise to determine who revenue is to be collected from. For example, the LAACRT system may use the tag information to collect revenue from (e.g., charged to) the registered publisher of the ad.
[0300] Unlike conventional URL or ad blockers applications, the LAACRT system or script may instead or in addition evaluate the source and attributes of a given content element to determine whether the defined rules of the access provider and/or user indicate that this content is permitted to be routed over their equipment and/or provided to the user terminal (e.g., laptop, tablet, desktop, cell phone, networked television, etc.), or whether the rules indicate that the content is not to be routed over their equipment and/or provided to the user terminal.
[0301] In a scenario in which the advertisement had to pass through multiple private networks (previously registered in the network), such as passing first through an Internet service provider (ISP), and then through an operator's private hotel network, and finally to a WiFi network operated at a concession shop at the hotel, then a portion of the revenue may be shared between each of these operators equally or computed based on the network length, cost, number of routers or other similar characteristics of the networks. Optionally, not all network private operators whose networks the advertisement traverses are entitled to such revenue. Optionally, where a user's terminal (e.g., a computer) may also contribute to this delivery (e.g., by receiving and display the advertisement), and the rules may also be applied with respect to the user and/or user terminal, the user may share in revenues enabling the distribution of content. The registry may also store user-specific data and enable the user to also configure rules governing the permission or denial of content passing into their computer in the same or similar manner as the network operators.
[0302] As noted above, in scenarios in which content is restricted from passing by the LAACRT system, the system may replace the content with a the LAACRT system placeholder tag. The system may then solicit bids to identify and display replacement advertising content in place of the LAACRT placeholder tag. A non-limiting example illustrating an example process flow for soliciting bids and displaying winning content will now be described with respect to Figure 10. At state 1202, the script execution may begin. At state 1204, relevant advertisement opportunity data is collected. For example, the LAACRT placeholder tags can be identified and information regarding the container, the page, the user, etc. can be collected or identified. At state 1206, the LAACRT system may enumerate appropriate bidders. In some embodiments, bidders may be selected from an active exchange market. In some embodiments, bidders may be enrolled into a proprietary bid exchange platform. At state 1208, the LAACRT system may establish bid requirements and timers with respect to the advertisement opportunities. For example, the LAACRT system may require any bids to be received within a given period of time (e.g., within 50 milliseconds) in order to be substantially evaluated or accepted, and/or may impose other requirements on the bids.
[0303] At state 1210, a bid process timer is initiated by the system (e.g., a bid process might be limited to 200 ms). At state 1212, some or all of the opportunity data is broadcast to bidders (e.g., to bidder systems). At state 1214, bidder timers are initiated by the LAACRT system (e.g., all bids might be required to be submitted within 50 ms, such that the entire processing and selection may take less than 200 ms). At state 1216, the system checks for responses received from bidders, at state 1218 checks timers (e.g., to determine if the bids have been received within the specified time period), and at state 1220 collects (and optionally time stamps) the received bidder responses. When timers have expired, the LAACRT system at state 1222 determines the winning bid based on bid amounts and/or other criteria discussed herein (and the system may reject any bids received after timer expiration). If there are no winning bidders, the LAACRT system may, in accordance with bidding process procedures, and optionally begin the process again. In some embodiments, if there are no winning bidders, the LAACRT system may display a default advertisement. If the system selects a winning bidder, at state 1224 the LAACRT system retrieves the ad content associated with the winning bid (e.g., an image, video, animation script, etc.). As noted above, in some embodiments the ad content is included along with the submitted bid or a link (e.g., a URL or other locator, may be submitted with the bid). At state 1226, the LAACRT system then provides the winning content for display on the user's connected device in place of the LAACRT placeholder tag. At state 1228, some or all of the winning bid data can then be communicated to the winning bidder and, optionally, to one or more of the losing bidders.
[0304] Additionally, an access provider or user may permit content to be routed and/or displayed for value received. For example, the access provider may allow advertising content to pass over their network for a fee to help offset the cost of the equipment necessary to enable the user's connection. As another example, there may be users who do not particularly like advertisements but who are willing to selectively accept the display of such advertisements on the user's terminal in exchange for free access or content. However, by way of example, the user may want to limit the type or size (e.g., in terms of the number of bytes) of the advertisement when bandwidth is limited or shared. Thus, the system may enable the user to specify ad acceptance criteria, which may include size, type (e.g., text, graphics, photographs, video, and/or audio), source, rating, etc., which will be used by the system to determine whether or not to permit an ad to be displayed to the user. This form of advertisement control may also appeal to access providers who often pay significantly more to enable greater bandwidth. By restricting undesirable content from traversing their systems, access providers can reduce their costs and improve user browsing experience without requiring the installation of expensive equipment that throttles bandwidth at the network layer.
[0305] A LAACRT registration system may be implemented as a client program or an Internet application that may permit publishers and/or advertisers to register with a registry their entity, URL (or other locator information), and optionally other specific data such as publisher category (or categories), contact information, revenues share percentage, types of content, rating status, and optionally enables these registrants to create accounts to manage their registration profile.
[0306] The LAACRT registration system may optionally utilize a database or other data store to store certain characteristics regarding content publishers including, but not limited to, the publisher name, the business entity, the publisher URL, the IP address or IP addresses assigned to or used by the publisher, the type of published content, the publisher's self-determined rating (e.g., an age appropriateness rating, a violence rating, a sexual content rating, an obscene language rating, etc.), a public or industry accepting rating (e.g., an age appropriateness rating, a violence rating, a sexual content rating, an obscene language rating, etc.), fees associated with certain content, and/or other such information to enable the registry to accurately define and validate publishers.
[0307] In some embodiments, the LAACRT registration system may be implemented as a database in a central computer (which may comprise multiple geographically distributed systems) that is referenced by the network nodes in determining whether to pass published content to a viewer. This technique enables certain information to be omitted from the individual ad tags. For example, the fee structure for a particular publisher may be standardized, and a given an ad served that is provided by that publisher may be assigned that particular fee structure. Accordingly, the fee structure need not be included in the individual ad tags, but rather may be retrieved from the central computer containing the LAACRT registration system.
[0308] In other embodiments, the LAACRT registration system may be implemented as a syndicated database or list, in which the database or list is copied to distributed locations on the network (e.g., the Internet). For example, the distributed locations may include a series of distributed servers or proxies. As noted above, this may permit certain information to be omitted from individual ad tags, such as Type, Fee, etc.
[0309] Accordingly, the database of registered ads may be accessed in a number of ways, including by way of example, via an HTML page, as a syndicated reference list, and/or as a central reference list. In any of these approaches, whether a given advertiser has agreed to pay a fee can be determined by querying the database. If the database response to the query with an indication advertiser has not agreed to pay such a fee, the content may be blocked, and different content may be served instead.
[0310] In order to prevent or inhibit fraud, spoofing or other method to circumvent validation, the LAACRT registration system may optionally utilize other certificate authorities or listing services, such as the Internet Directory Naming Service (DNS) by way of example, to further validate a publisher. For example, the Internet DNS is a service that resolves and translates URLs, such as Yahoo.com, Google.com, and NYTimes.com, into the physical Internet IP Addresses these URL represent, enabling computers and routers to connect with their respective Internet services. For example, an Internet PING for Yahoo.com may return 209.191.122.70 from DNS Service hosted by AT&T. A PING for Google.com and NYTimes.com returns 74.125.224.180 and 199.239.136.200 respectively. This information may be used by the system to compare and match published content source address with registered addresses to validate publisher integrity.
[0311] For example, Figure 1 1 illustrates further the utilization of the DNS to help verify a publisher's Internet credentials. In this example, a popular sports destination site 1 100 is providing recent sports news 1200, and embedded next to or in-line with the article is an advisement from a large ad network or well-known advertiser 1300.
[0312] In this example, the sport news site 1 100 has previously registered with the LAACRT registration system as a publisher, and listed its known IP addresses from which the site 1 100 publishes. The news article 1200 being published is encapsulated with HTML content tags that reference respective registry identifier(s) and other attributes regarding the article 1200 content. Similarly, the advertiser 1300, providing the advertisement and/or ad tag, also encapsulates their content with HTML tags referencing respective registry identifier(s) and other attributes describing the content being provided by the advertiser (an advertisement).
[0313] By way of example, the advertiser may register their entity and IP addresses, which may be used by the system to authenticate the advertiser when placing the advertiser's ads. The advertiser may also specify, via a form hosted by the system or otherwise, a revenue sharing specification (e.g., a general revenue share of 25%) which would be applied to the advertiser's paid ads. Optionally, an ad tag itself might include attributes (e.g., value pairs) identifying the publisher, advertisement, advertisement dimensions, advertisement type (e.g., CPM, CPC, etc.), ad revenue (e.g., ad revenue per impression), ad rating (e.g., G, Youth, PG, PG13, R, Mature, etc.), ad event (e.g., pay per click), ad encoding format (e.g., UTF), etc. The following are example attributes that may be associated with a particular example ad:
[0314] Publisher ID=234,
[0315] Ad ID=Number to track a particular impression for audit,
[0316] Ad Size/Shape
[0317] Ad Height = 300
[0318] Ad Width = 250
[0319] Ad Type= CPM
[0320] Ad Revenue = 0.0001/Ad or 0.1/1000 impressions
[0321] Ad Rating = G
[0322] Ad Event = Pay-Per-Click too
[0323] Ad Local = UTF [0324] As noted previously, in some embodiments one or more of these attributes may be omitted from the ad tag itself. The system may store, maintain and provide/output an audit record report indicating the ad detail and the network(s) the ad traversed, and optionally including an identification that the ad was delivered and/or displayed on the user's terminal.
[0325] Therefore, in certain embodiments, the ad network may also register with system and may include an ad network identifier in the ad network's data associated with the ad.
[0326] Optionally, the foregoing tags and/or other related tags may form the basis of a formal or informal standard, so that publishers may expose their revenue paid via a tag attribute (which may be relatively fast but viewable by end users and competitors) and/or a via reference look-up table where the look up is performed using an identifier, such as an Ad ID, that enables the system to identify the corresponding access rule(s) to be used to query the revenue amount and let the ad pass so that it may be delivered to a viewer terminal or prevent the ad from reaching the viewer terminal and/or from being displayed via the viewer terminal. If the ad is prevented from reaching the viewer terminal, another ad may be selected and substituted by the system (e.g., based on user demographics and/or user interests, or without taking into account user specific information) to take the place of the banned advertisement, and the replacement ad may be displayed with the surrounding content (if any) on the user's terminal.
[0327] For the purpose of this example the following scenarios may occur in determining whether to permit an advertisement from an advertiser to be permitted to pass through one or more network provider systems and be displayed on a user terminal:
[0328] the advertiser has not previously registered with the registry;
[0329] the advertiser has previously registered with the registry and provided all the information to be validated in order to permit the advertiser's ads to be permitted to pass to the user terminal;
[0330] the advertiser has previously registered and has not provided all the information to be validated;
[0331] the advertiser has previously registered and has provided all the information to be validated but was not allowed to pass because of specific conditions or based at least in part on rules set by the network owner; [0332] the tag represents a previously registered advertiser but failed authentication or appears fraudulent and was not permitted.
[0333] To simplify this example for illustrative purposes it will be assumed that the sport site 100 has previously registered with the LAACRT registration system and satisfies all authentication criteria needed to permit their content to pass, and only consider the Advertiser for this authentication example. Figure 12 helps illustrate this example.
[0334] Given that HTTP and similar Internet protocols use URL references to link content to a source publisher, then in this case the Advertiser's 1300 content would have been served either directly from the Site Publisher 1 100 or as a reference using ad tags or a URL that link to the Advertiser's 1300 content or advertisement. Since the source of the content is inherently resolved by the DNS, its origination can be validated using the LAACRT registration system before the content is permitted to pass over the access provider's network.
[0335] If the advertiser 300 has previously registered and entered its correct IP address then the values returned by the DNS will match those entered for this specific advertiser 1300 thereby enabling the LAACRT system to validate the authenticity and integrity of the publisher. If the advertiser 300 has not previously registered or the data stored in the advertiser's 1300 profile does not match DNS values, the LAACRT system may prevent or inhibit the content from passing over the network at issue. For example, the LAACRT system may strip the advertiser's 1300 content by removing links, files, or documents from the site 1 100. Similarly, if the advertiser 1300 has registered with the registry, but the advertisement data failed to be validate, a message or error status may be transmitted by the system to the registered advertiser by email, instant message, short message, application, or other technique, and the message or error status may also be logged in the registry database, which may be provided via an advertiser account user interface for that advertiser to review. However, optionally, it is not sufficient for the advertiser 1300 to be validated in order to be permitted to pass through the access provider's network. Optionally, there may be several rules or prerequisites each content provider or advertiser must meet before the content is permitted to traverse their networks.
[0336] As illustrated, once access is denied, the access status is logged, and then the LAACRT system begins script execution (see, e.g., the example of Figure 10). Accordingly, once content has been stripped or blocked, the LAACRT system may then replace the stripped or blocked content 1300 with a LAACRT Placeholder Tag, as described above. Beginning the script execution may solicit bids for advertisements to replace the Placeholder Tag, as described above with respect to Figure 10.
[0337] The LAACRT registration system may also help Internet access providers protect their customers from potential viruses because it optionally authenticates the source for a given script delivered to a computer. It also may help Internet access providers better manage their bandwidth by optionally implementing content publisher rules that actively select, default to lower bandwidth content options, block content, or substitute preferred content over higher cost content.
[0338] The LAACRT registration system may also provide reporting services that enable publishers to view where and when their content was permitted entry and where (e.g., over which private networks, on which terminals) and when their content was not allowed. When their content was not allowed, the database may record and report reasons why the content as not allowed, such as poor ratings, inappropriate content, insufficient entry fee, lost to competitive bid, or other reasons rules or requirements implemented by the Internet access provider.
[0339] In many cases there may be several Internet access providers connected together to form a complete path from the publisher to the end user. This series of network connections may represent a content distribution network in which each of the connect segments may be registered in the content authentication registry.
[0340] The content authenticate registry service may also enable Internet Access Providers to register their networks and network nodes in this registry to enable the tracking and reporting of when and where content was permitted or denied access to pass through a particular network or portion thereof. This data may include information describing the network and the admission rules.
[0341] Another optional feature of this system is its ability to help avoid DNS Poisoning or DNS Redirects. This occurs when a DNS service is compromised or a non- regulated, un-trusted DNS service is placed between the requesting URL and a valid DNS service. An example embodiment of the LAACRT registration system helps ensures the content is being published from a validated source by comparing the resolved IP Address with the registered IP Address. When an invalid DNS is present, the system can intercept DNS requests, but the IP Address for the URL returned will not match the IP Address registered in the publisher and network registration service, causing an error or alert condition to be generated by the system.
[0342] In some embodiments described herein, the LAACRT registration system operates as an "allow" list, in which content is blocked from being presented to a user unless the publisher has been registered and the content meets any other criteria present. However, in other embodiments, the LAACRT registration system may be configured to operate as a "block" list, in which content is allowed to pass through to be viewed by a user unless the content has been identified by the system as impermissible. For example, the system may be configured to block all advertisements provided by a particular publisher, such as Double- Click or Value-Click. In either case, when the system prohibits certain content from passing to a user, for example by stripping the content from a web page, LAACRT can solicit bids and optionally display replacement content as described elsewhere herein.
[0343] Certain embodiments may be implemented via hardware, software stored on media, or a combination of hardware and software. For example, certain embodiments may include software/program instructions/modules stored on tangible, non-transitory computer-readable medium (e.g., magnetic memory/discs, optical memory/discs, RAM, ROM, FLASH memory, other semiconductor memory, etc.), accessible by one or more computing devices configured to execute the software (e.g., servers or other computing device including one or more processors, wired and/or wireless network interfaces (e.g., cellular, Wi-Fi, Bluetooth, Tl , DSL, cable, optical, or other interface(s) which may be coupled to the Internet), content databases, customer account databases, etc.). Data stores (e.g., databases) may be used to store some or all of the information discussed herein in memory.
[0344] By way of example, a given computing device may optionally include user interface devices, such as some or all of the following: one or more displays, keyboards, touch screens, speakers, microphones, mice, track balls, touch pads, tilt sensors, accelerometers, biometric sensors (e.g., fingerprint or face recognition sensors for authenticating a user) printers, etc. The computing device may optionally include a media read/write device, such as a CD, DVD, Blu-ray, tape, magnetic disc, semiconductor memory, or other optical, magnetic, and/or solid state media device. A computing device, such as a user terminal, may be in the form of a general purpose computer, a personal computer, a laptop, a tablet computer, a mobile or stationary telephone, an interactive television, a set top box coupled to a display, etc. Certain embodiments may be able to conduct hundreds (or more) of transactions and processes described herein within a second.
[0345] While certain embodiments may be illustrated or discussed as having certain example components, additional, fewer, or different components may be used. Process described as being performed by a given system may be performed by a user terminal or other system or systems. Processes described as being performed by a user terminal may be performed by another system. Data described as being accessed from a given source may be stored by and accessed from other sources. Transmissions described herein may be via a wired and/or wireless network or other communications link. Further, with respect to the processes discussed herein, various states may be performed in a different order, not all states are required to be reached, and fewer, additional, or different states may be utilized.
[0346] User interfaces described herein are optionally presented (and user instructions may be received) via a user computing device using a browser, other network resource viewer, or otherwise. For example, the user interfaces may be presented (and user optionally instructions received) via an application (sometimes referred to as an "app") installed on the user's mobile phone, laptop, pad, desktop, television, set top box, phone, or other terminal. Various features described or illustrated as being present in different embodiments or user interfaces may be combined into the same embodiment or user interface. While reference may be made to webpages, other types of electronic documents (including those not based on HTML) may be used. While reference may be made to websites, other network resources may be used.
[0347] Various aspects and advantages of the embodiments have been described where appropriate. It is to be understood that not necessarily all such aspects or advantages may be achieved in accordance with any particular embodiment. Thus, for example, it should be recognized that the various embodiments may be carried out in a manner that achieves or optimizes one advantage or group of advantages as taught herein without necessarily achieving other aspects or advantages as may be taught or suggested herein. Further, embodiments may include several novel features, no single one of which is solely responsible for the embodiment's desirable attributes or which is essential to practicing the systems, devices, methods, and techniques described herein. In addition, various features of different embodiments may be combined to form still further embodiments. For example, aspects found in different user interfaces may be combined to form still further user interface.
[0348] Although this invention has been disclosed in the context of certain preferred embodiments and examples, it will be understood by those skilled in the art that the present invention extends beyond the specifically disclosed embodiments to other alternative embodiments and/or uses of the invention and obvious modifications and equivalents thereof. Thus, it is intended that the scope of the present invention herein disclosed should not be limited by the particular disclosed embodiments described above.
Utilization of User-Specific Information
[0349] Venues that provide network access, such as internet access (e.g., via a wired and/or wireless network) often possess valuable user-specific information. Such venues can include hotels, coffee shops, airports, universities, stadiums, retailers, or any other suitable location. The venue may possess/acquire information about a user through a variety of means. For example, the venue operator may possess information about products or services a user requested or purchased at the venue, as well as reservations made by the user. If the user is a regular customer, the venue operator may further possess information about the spending patterns of the user. The user's purchase(s) may reveal further information about the user's general preferences, demographic information, hobbies, etc. As another example, when a user attempts to log on to the internet at the venue, the user may be asked some basic information about himself/herself such as gender and age. As another example, a venue may possess information about a user through a check-in process at a hotel or airport. Thus, through various means, a venue may possess demographic information, occupation, location of a user's residency, and other valuable information about a user. Such user information may be stored in a data store, such as a database. In addition to the user information, derived anonymous data may be stored in the data store.
[0350] Because user-specific information is valuable to site operators (e.g., website operators), they are willing to pay a fee to acquire this information. In particular, operators of websites that host advertisements desire information about the users visiting their website in order to provide targeted advertising and/or other information. As used herein, "ad-host" refers to websites that host advertisements. Examples of ad-hosts include search engines, blogs, websites reporting current news, and websites through which third party merchants sell merchandise, such as eBay®.
[0351] With user-specific information, ad-hosts may provide targeted advertising. For example, a venue might inform an ad-host, for a fee, that a user is at a luxury hotel. Such information may be transmitted over a network from a venue system and received by the ad- host system. Based at least in part on this information, the ad-host may select and provide for display ads for luxury merchants to the user via a user terminal (e.g., a laptop, desktop computer, tablet computer, smart phone, interactive television, game console coupled to a display, etc.). Optionally, the ad-host may select ads for luxury merchants within a specified proximity to the user's current location (e.g., within a certain distance of the luxury hotel as which the user is residing). As used herein, "ads" or "advertisements" include images, photographs, videos, audio, text documents, graphics, and/or a references, such as references to network resources (e.g., a URL link).
[0352] However, once an ad-host purchases or otherwise obtains the user-specific information, the ad-host can store that information in its database and continue to use that information and/or can access such information from an external database, such as that of the information provider. For example, the ad-host may use the information each time the user visits different sub-pages of the ad-host's website, each time the user returns to the website after navigating to a different site, each time the user refreshes a browser, each time the user submits a search query on a search engine website, and/or for as long as the user is at the website. Optionally, such information is used periodically, rather than each time, in the foregoing examples.
[0353] Accordingly, in an example embodiment, an ad-host is sent a temporary unique ID associated with user-specific information that the ad-host desires. The temporary unique ID may be "locked" in that it is encrypted, masked, symbolic, or otherwise obscured to the ad-host. The locked temporary ID may then be "unlocked" by being decrypted, unmasked, deciphered, or otherwise revealed. In order to unlock the temporary ID and obtain the user-specific information, the ad-host pays (e.g., acting for the ad-host operator) a fee, such as a fee to a venue providing network access (e.g., via a wireless hotspot, or a wired network connection) according to an example embodiment. When the temporary ID expires, the ad-host pays another fee to the venue to obtain a valid temporary ID according to an example embodiment. In one embodiment, the ad-host pays another fee to unlock the temporary ID. Optionally, the ad-host may enroll in a subscription service, and may automatically receive ID(s) on an as needed basis without having to pay a separate fee for each ID. In some embodiments, payment from the ad-host may be made to an intermediary or service provider, which may then pay the venue and/or individual user or user delegate. As will be understood, "payment" as used herein may refer to an indication of an incurred credit or debit, as opposed to the actual transfer of currency. For example, an ad-host might "pay" a venue provider by indicating that payment will be owed to the venue by the entity associated with the ad-host. The associated entity may then provide the actual transfer of currency to the venue separately, and/or at a later date.
[0354] Figure 13 illustrates an example system architecture 2100 configured to collect and provide information about a user 21 10 to an application, such as a web application 2192, which includes an ad-host 2160 and other web applications 2196. In some embodiments, the ad-host may be a third-party, separate from the web application. As illustrated in Figure 13, a user 21 10 submits, via a user terminal 2120, a user input (e.g., a query) 2140 to the application node 2130 via a network node 2142, and internet web application node 2130 returns a webpage over a network (e.g., the internet) to the user 2120 terminal via the network node 2142. The network node 2142 may be an internet access system in the form of a wireless (e.g., Wi-Fi) or wired (e.g., Ethernet) hot-spot. An example embodiment comprises a module 2150 (e.g., a software and/or hardware module) configured to monitor and modify data packets sent between the user 21 10 and the application node 2130. The module 2150 may be installed locally at the internet access system, may be accessible through a central server, and/or may be accessible on a "cloud." As used herein, "module" may include any combination of the above.
[0355] In some embodiments, the network node 2142 may be a proxy or collaboration system. For example, the node may comprise a router in the network through which data packets are sent to and from the user 21 10. In some configurations, the network node 2142 may be positioned so as to receive only inbound data packets to the user or outbound data packets from the user. In some embodiments, a plurality of network nodes may be provided, in which one receives outbound data packets from the user, and another receives inbound data packets to the user. In some embodiments, the network node can comprise a cloud-based system. For example, the user may type "www.ad-host.com" and search for Asian Food. The proxy, collaboration system, or intermediate module appends "proximity=abcxyz&cookie-info=aabbccdd". The ad-host server or a third party service acting in concert (e.g. cnn.com with Google search bar) can receive the search criteria appended with a temporary ID. The ad-host or third party may parse the data, and then call an API and pass the temporary ID to be unlocked. In response, user-specific information, such as "Hyatt hotel at 22 S. Main, NY," can be provided so that the ad-host or third party can improve the resulting page.
[0356] Figure 14 illustrates an example system architecture configured to provide information about a user 21 10 to a web application 2192 through a centralized remote computing system 2330. The remote computing system 2330 includes module 2332 configured to monitor and modify data packets transmitted by clients 2120, 2122 at the local network nodes (e.g., hot-spots), as similarly discussed elsewhere herein. The local network nodes may access the module 2332 via a proxy relay 2312, 2322. Referring to Figure 13, the user input 2140 may comprise the user 21 10 typing a domain name, such as www.adhost.com. The user input 2140 may also comprise any action by the user 21 10 that changes or affects the content of the webpage the user 21 10 is currently browsing. For example, the user input 2140 may comprise the user's 21 10 navigating to sub-pages at a webpage, clicking on a link, submitting different search queries to a search engine, submitting different search queries at a webpage with a search feature, refreshing the browser, and so forth. Each time (or for selected inputs) the user 21 10 submits a user input 2140, a web application 2192 can select an advertisement to appear on the webpage provided for display on the user terminal 2120, to be viewed by the user 21 10. Optionally, in addition, a web application 2192 may be configured to change advertisements on a webpage in an interval between user inputs.
[0357] In an example embodiment, when a user 21 10 submits a user input 2140, module 150, which may be located at a network access system 2142, transmits a notification to the appropriate web application 2192 that user-specific information is available, but optionally does not disclose what any or selective portions of such user-specific information. For example, if a user 21 10 is at a luxury hotel, the module 2150 informs the web application 192 that information is available characterizing the type of venue the user 21 10 is at, but does not disclose that the venue is a luxury hotel.
[0358] In an example embodiment, a given user input 2140 may be associated with a URL. Referring to Figure 13, in one embodiment the module 2150 comprises an append module 2194, which appends the URL associated with the original user input 2140 with a label and a locked temporary ID. For example, if the original user input 2140 is www.adhost.com, the appended user input 2170 may be www.adhost.com ?venue=10. The appended user input 2170 informs the web application 2192 that user-specific information is available. In this example, the label is "venue," which informs the web application 2192 that user-specific information about the venue is available, and the locked temporary ID is "10." The web application 2192 may receive, interpret or decode, and store the appended text. Unlocking the temporary ID will allow the web application 2192 to receive user-specific information, such as information that the user is at a luxury hotel. When the web application 2192 only has the locked temporary ID (e.g. "10"), the web application 2192 is not informed of the user-specific information. In some embodiments, the locked temporary ID may be a composite key that includes different levels of information available for purchase. For example, the first two characters may correspond to a first category with a first associated fee (e.g., $0.50/1 ,000 requests), while the next four characters may correspond to a second category with a second associated fee (e.g., a type or subtype of information available for an additional $2/1000 requests), etc.
[0359] It will be appreciated that the module 2150 may append the user input 2140 with any combinations of labels and temporary IDs. Thus, for example, www.adhost.com/?venue=10?demographic=20 may indicate that information about the venue, as well as the demographic of the user 21 10, is available.
[0360] As used herein, "append" refers to adding characters to a URL, or any other method of adding information to a user input 2140. For example, modifications may be made to one or more of the following: From Field, Session Variables, HTML hidden or post variables, a query string, AJAX feed, HTML Post, or Cookies. To unlock, the ad-host may call webservices or an API with authorized access. Access may then be throttled, controlled, denied, etc. based on one or more of standing, payment history, usage, etc. of the ad-host.
[0361] The temporary ID appended to a user query 2140 may comprise any combination of alphanumeric or other characters. For example, venue=lAC475cF89 may represent a luxury hotel. In addition, individual user data may be used to create a unique temporary ID. Therefore, the temporary ID for one user would not be applicable to another user. Further, session data may be used to create a unique temporary ID. Therefore, the temporary ID for one session would not be applicable to another session. Any combination of individual user data, session data, alphanumerics, and/or characters may form the temporary ID.
[0362] In an example embodiment, transactions may be "per use", and the call to unlock the temp ID may essentially void reuse. For example, "www.ad-host.com?appended- info=tempID", where temp ID is guaranteed unique ID for 64 alphanumeric characters, may, in this example, represent all data stratified by purchase threshold (e.g., an ad-host can decide to purchase different levels of information). Once the temp ID has been accessed, that particular temp ID may be voided for future use and never used again or not used for an extended period of time. In some embodiments, the temp ID and access to it would contain the transaction counts and/or tracking information.
[0363] If the web application 2192 wishes to unlock the temp ID and receive the user-specific information associated with the modified user input 2170, it may send an indication 2180 to the unlock module 2193. The unlock module 2193 then unlocks the temp ID and sends user-specific information 2182 to the web application 2192. For example, where the modified user input 2170 includes an indication of venue=10, the unlock module 2193 may unlock the temporary ID "10" and send the web application 2192 information that "10" refers to a luxury hotel. In one embodiment, the web application 2192 uses a service implemented by the module 2150 to look up the user-specific information associated with the temporary ID.
[0364] With the user-specific information, the web application 2192 may modify the content of its webpage. For example, if an ad-host 2160 learns that a user 21 10 is at a luxury hotel, the ad-host 2160 may display luxury advertisements on its webpage. As another example, a search engine may append a user's search with user-specific information. For instance, if a user 21 10 submitted a query for food, www.searchengine.com/?query=food, the search engine may display results for www.searchengine.com/?query=food?venue=luxury, knowing that the user is at a luxury hotel. Accordingly, the user 21 10 may receive a webpage 2191 , 2195 with improved advertising according to an example embodiment.
[0365] According to an example embodiment, the temp ID is valid only for a certain number of sessions, a certain amount of time, or a combination thereof. For example, the temp ID may be valid for (1) five sessions (2) five minutes or (3) five sessions or five minutes, whichever lasts longer. In one embodiment, when the temp ID expires, module 2150 invalidates the temp ID. Using an invalidated temp ID causes the web application 2192 to receive no data or inaccurate data about the user, according to an example embodiment. In one embodiment, after the temp ID expires, another fee by the web application 2192 needs to be provided for a valid temp ID.
[0366] In one embodiment, the temp ID is valid only for one session. Thus, every time a user 1 10 submits a new user input 2140, the web application 2192 needs to pay another fee for a valid temp ID to obtain accurate user-specific information. In one embodiment, the temp ID is valid until the user 21 10 logs off the network access system 2142. When the user 21 10 logs back on, the web application 2192 must pay another fee for a valid temp ID.
[0367] In various embodiments, the web application (e.g., on behalf of the advertiser) may pay for user-specific information under a variety of payment models. For example, in some embodiments the web application may purchase information under a "pay- to-play" model, in which a fee is paid per unlock. The fee may be identified as a set price per 1000 unlock requests. In some embodiments, the unlock request may deactivate the temp ID and may be used to store the access data record detail.
[0368] In some embodiments, the advertiser/information purchaser associated with the web application may purchase information under a subscription model (e.g., with a weekly, monthly, or yearly periodic subscription fee). For example, the advertiser/information purchaser associated with the web application may subscribe and have access to (via the web application) an unlimited number of unlock requests for a given time period. In some embodiments, an ad-host ID needs to be enabled to maintain the subscription, and a detection by the system of the failure to pay would in turn cause the system to deactivate the subscription account. In some embodiments, site data may change periodically to avoid reuse beyond a subscription term.
[0369] In some embodiments, the advertiser/information purchaser associated with the web application may pre-pay or purchase in bulk a set number of unlock requests. In some embodiments, multiple repeat searches for the same words from the same IP address may be tracked regardless of session. For example, if a user closes a browser or does not have cookies enabled, yet searches for the same term on multiple occasions, this can be identified as the same user based on IP address. In some embodiments, the advertiser/information purchaser associated with the web application need only pay one time to unlock a temp ID associated with this user and this query, even if submitted multiple times.
[0370] In one embodiment, a temp ID is valid only for a certain amount of time. After that amount of time elapses, the web application 2192 must pay another fee for a valid temp ID. When a temp ID is valid for a certain amount of time, the temp ID may expire in the middle of a session or before the session is over. Thus, the web application 2192 may optionally be required to pay fees multiple times during the same session for the correct user- specific information. In one embodiment, after the allotted time expires, the module 2150 forces a new session before the session would have otherwise terminated. The module 2150 may force a new session by automatically refreshing the user's browser. If the web application 2192 desires the correct user-specific information for the new session, it must pay another fee according to an example embodiment.
[0371] The web application 2192 may choose a prearranged fee package, or create its own fee package, according to an example embodiment. As an example, a fee package may include five valid temp IDs, where each temp ID is valid for one session, and each temp ID can be used at any time.
[0372] In one embodiment, module 2150 automatically invalidates the temp ID after a certain amount of sessions and/or time, such that the module 2150 determines the web application's 2192 payment pattern. For example, if the module 2150 automatically invalidates the temp ID every minute, the web application 2192 must pay for a new valid temp ID every minute in order to obtain accurate user-specific information. [0373] The temp ID may be invalidated in any number of ways. It will be appreciated that the temp ID may be invalidated by utilizing any combination of the disclosed methods and/or using other techniques.
[0374] In the following examples, the previous label is "venue," the previous temporary ID is "10", and the previous user description is "luxury hotel." In other words, venue=10, where "10" refers (and/or temporarily refers) to "luxury hotel."
[0375] The temp ID may be invalidated by changing the temp ID associated with the previous label and/or user-specific information. For example, where previously "10" was associated with "venue" (venue=10), now "20" is associated with "venue" (venue=20). As another example, where previously "10" was associated with "luxury hotel," now "20" refers to "luxury hotel." In order to obtain the correct temp ID, venue=20, the web application 2192 needs to pay another fee according to an example embodiment. Attempting to use the now invalid temp ID venue=10 will return inaccurate user-specific information according to one embodiment.
[0376] The temp ID may also be invalidated by associating the old temp ID with a null value or inaccurate data. For example, where "10" previously referred to "luxury hotel," it may now refer to {null} or inaccurate data (e.g., reality television shows). Thus, attempting to use the now invalid temp ID venue=10 will return inaccurate user-specific information.
[0377] In one embodiment, the append module 2194 appends the user input 2140 with an invalid temp ID after a temp ID expires. An invalid temp ID may comprise an expired temp ID (e.g. venue=10) or any temp ID that returns inaccurate data about the user or any data that does not apply to the user. In addition, the append module 2194 may cease appending the user input 2140 with any temp ID after a temp ID expires. Thus, if a web application 2192 desires to access correct user-specific information, the application 2192 may cause a fee to be paid for a valid temp ID according to an example embodiment.
[0378] In one embodiment, the web application 2192 is optionally required to pay a fee to unlock the temp ID. An unlock fee may be required for a certain number of sessions, a certain amount of time, or a combination of thereof. Without the unlock feature, a web application 2192 will not be able to decipher what user-specific information it was that the temp ID referred to. [0379] In one example embodiment, the web application 2192 may need to pay an unlock fee, but is not required to pay a fee for a valid temp ID. Even a valid temp ID needs to be unlocked if it is to provide accurate user-specific information according to one embodiment. Therefore, even if a valid temp ID is given to a web application 2192 for free, the web application 2192 must still pay an unlock fee in order to obtain accurate user- specific information. In one embodiment, a valid temp ID is free, but an unlock fee needs to be provided.
[0380] In one embodiment, an unlock fee needs to be provided, and the value of the temp ID changes (e.g. venue=10 changes to venue=30) after a certain number of sessions, certain amount of time, or a combination thereof. After the value of the temp ID changes, the append module 2194 continues to append the correct valid temp ID (e.g. venue = 30) according to one embodiment, but a fee needs to be provided to unlock the temp ID. If the web application 2192 attempts to use an old temp ID (e.g. venue=10), the web application 2192 receives null or inaccurate user-specific information. In addition, the previous temp ID (e.g. venue=10) may be invalidated. In one embodiment, the value of the temp ID changes every time a web application 2192 is due to pay an additional unlock fee. In one embodiment, the previous temp ID is invalidated every time a web application 2192 is due to pay an additional unlock fee.
[0381] In one embodiment, the web application 2192 needs to pay a fee for a valid temp ID, but is not required to pay an unlock fee. Unlocking an invalid temp ID causes the web application 2192 to receive inaccurate or no data about the user. Therefore, even if the temp IDs are unlocked for free, the web application 2192 must still pay a fee for a valid temp ID in order to obtain accurate user-specific information.
[0382] In one embodiment, the web application is not charged for any valid temp ID fees or unlock fees, but is charged for a certain amount of time.
[0383] Any combination of a valid temp ID fee, an unlock fee, and/or a time limit fee or subscription may be utilized. For example, a web application 2192 may need to pay both a valid temp ID fee and an unlock fee. In order to ensure both fees are paid and received, when a web application 2192 fails to pay, the temp ID is invalidated and the unlock feature is blocked (or turned off, inactivated, disabled, etc.) according to an example embodiment. As used herein, "invalidate" shall refer to block, turn off, inactivate, disable, any similar term, or any combination thereof. If only one fee needs to be provided (e.g. unlock fee), when a web application 2192 fails to pay (e.g. on behalf of its operation), only the feature for which the fee was needed (e.g. an unlock fee) needs to be invalidated. In one embodiment, the feature for which a fee was not required (e.g. valid temp ID fee) is also invalidated. Other examples of fee structures, which the web application 2192 may need to pay, include: an unlock fee for five sessions and a valid temp ID fee for five sessions, both fees for one session and a valid temp ID fee only for the remaining sessions, etc. In addition, a time limit may be factored into any of these fee structures (e.g. unlock feature valid for five minutes).
[0384] Whenever any type of fee is not paid, the module 2250 may also block all ads (or a subset thereof) from reaching the user 21 10. The module 2250 may block pop-ups and prevent ads from being displayed on a webpage. The module 2250 may block all ads (or a subset thereof) in addition to or instead of inactivating the unlock feature and/or temp ID feature.
[0385] Referring to Figure 15, an example embodiment includes a network node 2142 with software 2250 to monitor and modify data packets sent between the user 21 10 and the application node 2130. As illustrated in Figure 15, the module 2250 includes an append module 2230, unlock module 2240, an ads module 2210, and a search results module 2220. The append module 2230 appends a user input 2140 with a label (e.g. venue) and a locked temporary ID (e.g. 10). The unlock module 2240 unlocks the temporary ID (e.g. 10), revealing user-specific information (e.g. user is at a luxury hotel). The ad module 210 seamlessly replaces ads on a webpage with other ads. The search results module 2220 adjusts the search results from a user query, by re-ordering the list of search results, adding a search result that would not have been listed otherwise, and/or removing a search result that would have been listed otherwise. The ad module 2210 and search results module 2220 may be used in combination with each other. Replacing ads and adjusting search results is described in the patent application Methods and Systems for Searching, Selecting, and Displaying Content, U.S. App. No. 12/728,037, filed March 19, 2010, the entirety of which is incorporated herein by reference.
[0386] In the example below, a user 21 10 at a luxury hotel submits a user input with respect to a website (e.g. www.adhost.com). The luxury hotel is the user-specific information in this example. Continuing the example, the append module 2230 receives the user input 140 www.adhost.com and appends the user input 2140 with a label and a locked temporary ID thereby forming a modified query 2170, www.adhost.com/?venue=10. The appropriate web application 2192, in this case the ad-host website 2160, then receives the modified query 2170, and learns that user-specific information about the venue is available. If the ad-host 2160 wishes to utilize the user-specific information, it may send an indication 2260 to the unlock module 2240. The unlock module 2240 may then unlock the temporary ID of "10," revealing that the user is at a luxury hotel. The unlock module 2240 may then send the unlocked query 2280 to the ads module 2210. Thus, the ads module 2210 receives the unlocked query 2280 www.adhost.com/?venue= luxury hotel. The ads module 2210 then replaces the ads on the website according to the user-specific information. For example, www.adhost.com now displays only luxury ads.
[0387] In some embodiments, the ads module 2210 may permit the ads served by the ad-host 2160 (which have been improved in view of the user-specific information provided) to be displayed. In some embodiments, the ads module 2210 may replace only advertisements that are not associated with the ad-host 2160, for example if other ads are included on the page but were not a subject of the unlocking transaction. For example, in some embodiments the ad-host 2160 (e.g., on behalf of an advertiser/information purchaser) may pay to unlock a temp ID for a single ad, but due to ads module 2210 replacement of other ads, the ad-host 2160 may have the opportunity to display multiple ads.
[0388] In some embodiments, the temp ID may be unlocked in an outbound request based on an existing subscription agreement. For example, if www.searchengineA.com is a subscription customer, then a temp ID with an outbound request to searchengineA.com may be unlocked in the outbound request. If www.searchengineA.com ceases to be in good standing (e.g., if they stop paying subscription fees), this unlocking of outbound requests can be terminated.
[0389] In some embodiments, the temp ID remains locked with the outbound request. An ad-host may then be required to initiate a call to the software module requesting that the temp ID be unlocked. In some embodiments, the ad-host may be required to present credentials, for example by indicating that the requestor is www.searchengineA.com and is requesting that temp ID abcl23xyz be unlocked. In some embodiments, the unlocked temp ID may be communicated to the ad-host via an API or webservice rather than providing an updated URL that includes the unlocked temp ID.
[0390] In some embodiments, the ad-host may be provided with its own unlock module or software that continues to function only so long as the ad-host remains in good standing (e.g., continues paying the corresponding fees). For example, while the ad-host continues to pay subscription fees, it may employ its own unlock module or software to unlock temp IDs. This arrangement may provide for improved performance and efficiency.
[0391] In some embodiments, the unlock process may require a private key pair. For example, the ad-host may be provided with a first private key that must be used in conjunction with another private key (held by the unlock module, for example) in order to unlock the temp ID. This enables the unlock module to deactivate the unlock capability of any particular ad-host by deactivating or changing the corresponding private key, in which case any data retrieved would be unintelligible to the ad-host.
[0392] In the example below, a user 21 10 at a luxury hotel submits a user input 2140, in the form of a query, for food at a search engine. The luxury hotel is the user- specific information in this example. Continuing the example, the append module 2230 receives the query 2140 www.searchengine.com/query=food. The append module 2230 then sends the appended locked query 170, www.searchengine.com/query=food?venue=10, to the applicable web application 2192, in this case the search engine website 2270. The search engine website 2270, learning that user-specific information about the venue is available, may send an indication to the unlock module 2240 that it wishes to utilize the user-specific information. Thus, the unlock module 2240 unlocks the query and sends the unlocked query 2280, www.searchengine.com/query=food?venue= luxury, to the search results module 220. The search results module 2220 then returns 2100 search results for www.searchengine.com/query=food?venue= luxury. The search results module 2220 may also send to the user 21 10 a modified listing of search results. For example, the search results module 2220 may re-order the listing of search results, add a search result that would not have been listed otherwise, and/or remove a search result that would not have been listed otherwise. [0393] It will be appreciated that the ads module 2210 and the search results module 2220 can be used in combination. For example, if a webpage includes both ads and a listing of search results, the unlocked query may be sent to both modules 2210, 2220.
[0394] As illustrated, the web application 2192 is informed that user-specific information is available by the appended user input 2170 which includes a label and a locked temporary ID. While the web application is informed of the label (e.g. venue), the web application 2192 is not informed of the user-specific information is (e.g. luxury hotel) because the temporary code is unlocked internally at the network node 2142. The unlock module 2240 unlocks the temporary code and sends the unlocked query 2280 to the ads module 2210 and/or the search engine module 2220, all at the network node 2142. Thus, the user-specific information remains hidden from the web application 2192. With the temporary code unlocked, and the user-specific information, the ads module 2210 and/or the search engine module 2220 sends to the user 21 10 a webpage with improved ads based on the user-specific information.
[0395] In an example embodiment, the web application 2192 needs to pay a fee for the module 2250 to serve improved ads. As discussed above, the web application 2192 may need to pay a temp ID fee, an unlock fee, a time limit fee, or any combination thereof. The temp ID fee and the unlock fee may be valid for a certain number of sessions, a certain amount of time, or a combination thereof.
[0396] Figure 16 illustrates an example process for providing user-specific information, which may optionally be implemented by software installed at, and executed by a network node or otherwise. At state 2410, the module receives a user input. At state 2420, the module determines whether a fee for a valid temp ID has been paid, for example, by a web application. If the fee has been paid, at state 2430 the module appends the user input with a valid and locked temporary ID, and sends the appended user input to a web- application. At state 2440, the module determines whether an unlock fee has been paid. If it has been paid, the module unlocks the temp ID and returns the unlocked temp ID and the associated user-specific information. In one embodiment, the module returns the unlocked temp ID to a web application. In another embodiment, the module returns the unlocked temp ID to an ads module 2210 and/or search results module 2280. If an unlock fee is not paid, the module disables the unlock module at state 2460. [0397] Returning to state 2420, if a valid temp ID is not paid, the module may invalidate the temp ID at state 2470. In one embodiment, at state 480 the module also appends the invalid temp ID to the user query. Further, at state 2490, the module may also unlock the invalid temp ID and return inaccurate user data.
[0398] In one embodiment, a valid temp ID fee is not required, but an unlock fee needs to be provided. Thus, state 2420 may optionally not be performed (determining whether a valid temp ID has been paid) and the process may proceed from state 2410 (receiving a user query) to state 2430 (appending the user input with a locked temp ID).
[0399] In one embodiment, an unlock fee needs to be provided, and a valid temp ID fee is not required. Thus, state 2440 may optionally not be performed (determining whether an unlock fee has been paid) and the process may proceed from state 430 (appending the user query with a locked temp ID) to state 2450 (unlocking the temp ID).
[0400] Figure 17 illustrates a revenue model according to an example embodiment. Referring to Figure 17, a merchant 2510 may submit a fee to an ad-host 2160 so that the ad-host 2160 displays advertisements for the merchant 2510 on the ad-host 2160 website. The ad-host 2160, in turn, may submit a portion of that fee to a venue 2520 in order to utilize specific information about a user at the venue 2520 and serve improved ads to the user at the venue 2520. The venue 2520, in turn, may submit a portion of that fee to acquire software 2530. The module 2530 comprises a system for requesting fees from an ad-host 2160 and receiving fees from the ad- host 2160 as described herein. The module 2530 may thus allow the venue 2520 to acquire revenues from the ad-host 2160. As noted above, in some embodiments payment may be sent from the ad-host to the module, which may then in turn pay the venue.
[0401] In an example embodiment, a user may navigate to a search engine page or a page having a surrogate search bar (e.g., a search bar provided by Google or another searh provider). The user may enter search terms. A software module (which may be in the network (e.g., a proxy) or event driven (e.g., an add-on)) may act on the search request before sending it to the receiver. The software module may concatenate information tnat enhances the relevancy and therefore the value of that search request. However, the information may be locked using a unique and possibly highly volatile key. The information may be unlocked in exchange for a fee. The lock and/or unlock functions may each be hosted, installed, or localized (e.g., resides in a distributed server). In some embodiments, unlocking may be enabled such that a current customer is able to unlock the locked information independently, and fees may be charted to the customer based on concatenation volumes, trends, etc.
[0402] Certain embodiments may be implemented via hardware, software stored on media, or a combination of hardware and software. For example, certain embodiments may include software/program instructions/modules stored on tangible, non-transitory computer-readable medium (e.g., magnetic memory/discs, optical memory/discs, RAM, ROM, FLASH memory, other semiconductor memory, etc.), accessible by one or more computing devices configured to execute the software (e.g., servers or other computing device including one or more processors, wired and/or wireless network interfaces (e.g., cellular, Wi-Fi, Bluetooth, Tl , DSL, cable, optical, or other interface(s) which may be coupled to the Internet), content databases, customer account databases, etc.). Data stores (e.g., databases) may be used to store some or all of the information discussed herein in memory.
[0403] Thus, systems and methods for providing user-specific information and utilizing user-specific information are described. Operators of network access devices are optionally compensated for providing network access by the provision of such user-specific information. The user-specific information may be used to target advertising to the user.
[0404] By way of example, a given computing device may optionally include user interface devices, such as some or all of the following: one or more displays, keyboards, touch screens, speakers, microphones, mice, track balls, touch pads, tilt sensors, accelerometers, biometric sensors (e.g., fingerprint or face recognition sensors for authenticating a user) printers, etc. The computing device may optionally include a media read/write device, such as a CD, DVD, Blu-ray, tape, magnetic disc, semiconductor memory, or other optical, magnetic, and/or solid state media device. A computing device, such as a user terminal, may be in the form of a general purpose computer, a personal computer, a laptop, a tablet computer, a mobile or stationary telephone, an interactive television, a set top box coupled to a display, etc. Certain embodiments may be able to conduct hundreds (or more) of transactions and processes described herein within a second. [0405] While certain embodiments may be illustrated or discussed as having certain example components, additional, fewer, or different components may be used. Process described as being performed by a given system may be performed by a user terminal or other system or systems. Processes described as being performed by a user terminal may be performed by another system. Data described as being accessed from a given source may be stored by and accessed from other sources. Transmissions described herein may be via a wired and/or wireless network or other communications link. Further, with respect to the processes discussed herein, various states may be performed in a different order, not all states are required to be reached, and fewer, additional, or different states may be utilized.
[0406] User interfaces described herein are optionally presented (and user instructions may be received) via a user computing device using a browser, other network resource viewer, or otherwise. For example, the user interfaces may be presented (and user optionally instructions received) via an application (sometimes referred to as an "app") installed on the user's mobile phone, laptop, pad, desktop, television, set top box, phone, or other terminal. Various features described or illustrated as being present in different embodiments or user interfaces may be combined into the same embodiment or user interface. While reference may be made to webpages, other types of electronic documents (including those not based on HTML) may be used. While reference may be made to websites, other network resources may be used.
Conclusion
[0407] Those of skill would further appreciate that the various illustrative logical blocks, modules, circuits, and algorithm steps described in connection with the embodiments disclosed herein may be implemented as electronic hardware, computer software, or combinations of both. To clearly illustrate this interchangeability of hardware and software, various illustrative components, blocks, modules, circuits, and steps have been described above generally in terms of their functionality. Whether such functionality is implemented as hardware or software may depend upon the particular application and design constraints imposed on the overall system. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present invention. It is understood, while example embodiments are discussed with respect to the analysis or display of web pages, such embodiments may also be utilized to analyze or display other types of documents.
[0408] The previous description of the disclosed embodiments is provided to enable any person skilled in the art to make or use the present invention. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the generic principles defined herein may be applied to other embodiments without departing from the spirit or scope of the invention. Thus, the present invention is not intended to be limited to the embodiments shown herein but is to be accorded the widest scope consistent with the principles and novel features disclosed herein.

Claims

WHAT IS CLAIMED IS:
1. A node, comprising: :
a processor;
tangible, non-transitory memory configured to store a program that when executed by the processor is configured to cause the node to perform operations, comprising:
receiving data for a first document from a remote system, wherein the first document is to be displayed on a terminal associated with a user;
causing, at least in part, an identification of available content space in the first document, the available content space including white space in which the first document does not display user-viewable information:
causing, at least in part, an advertisement to be selected based at least in part on:
information, accessed from memory, associated with an advertiser associated with the advertisement,
user-related information,
a dimension, shape, and/or size of the available content space; causing, after outputting the first document to a web browser associated with the terminal associated with the user, at least in part,
the selected advertisement overlay at least a part of the available content space, or
at least a portion of the available content space to be replaced with the advertisement;
so that if the first document is displayed on the terminal associated with the user, the advertisement is displayed in at least a portion the available content space.
2. The node of claim 1, wherein the identification of white space is performed by at least one of:
automatically analyzing a structure of the document;
identifying manually or dynamically created markers;
automatically analyzing pixels of the displayed document; or identifying mouseover events or non-mouseover events in the document.
3. The node of claim 2, wherein automatically analyzing the document structure comprises parsing a Document Object Model structure, identifying java script elements, identifying inner html, and/or identifying paragraph markers.
4. The node of claim 2, wherein automatically analyzing pixels of the displayed document comprises locating document locations at which pixels having identical color are adjacent to one another.
5. The node of claim 2, wherein analyzing the structure of the document comprises analyzing a viewable surface in which the document is to be displayed.
6. The node of claim 1 , wherein the advertisement is selected based in part on an indication related to a dimension of the available content space.
7. The node of claim 1 , the operations further comprising:
causing, at least in part, a user profile associated with the user to be accessed, the profile including:
demographic information regarding the user; or an identification of an area of interest of the user; or
both the demographic information regarding the user and the identification of the area of interest of the user,
wherein the advertisement is selected based at least in part on the user profile.
8. The node of claim 1 , wherein the white space is not white in color.
9. The node of claim 1, the operations further comprising providing the user an incentive to receive modifications of available content space.
10. A method of processing a document, comprising
receiving data for a first document from a remote system, wherein the first document is to be displayed on a terminal associated with a user;
causing, at least in part, an automatic identification available content space in the first document, the available content space including white space in which the first document does not display user-viewable information:
causing, at least in part, an advertisement to be selected based at least in part on at least one of: information, accessed from memory, associated with an advertiser associated with the second advertisement;
user-related information; and
a dimension, shape, and/or size of the available content space causing after outputting the first document to a web browser associated with the terminal associated with the user, at least in part,
the selected advertisement overlay at least a part of the available content space, or
at least a part of the available content space to be replaced with the advertisement;
so that if the first document is displayed on the terminal associated with the user, the advertisement is displayed in at least a portion of the available content space.
1 1. The method as defined in claim 10, wherein the identification of white space is performed by at least one of:
automatically analyzing the document structure;
identifying manually or dynamically created markers;
automatically analyzing pixels of the displayed document; and identifying mouseover events and non-mouseover events in the document.
12. The method as identified in claim 1 1, wherein automatically analyzing the document structure comprises parsing the Document Object Model structure, identifying java script elements, identifying inner html, and/or identifying paragraph markers.
13. The method as identified in claim 11, wherein automatically analyzing pixels of the displayed document comprises locating document locations at which pixels having identical color, color representation, or pattern, are adjacent to one another.
14. The method as defined in claim 10, wherein the advertisement is selected based in part on an indication related to a size of the available content space.
15. The method as defined in claim 10, the method further comprising:
causing, at least in part, a user profile associated with the user to be accessed, the profile including:
demographic information regarding the user; or an identification of an area of interest of the user; or
both the demographic information regarding the user and the identification of the area of interest of the user,
wherein the advertisement is selected based at least in part on the user profile.
16. The method as defined in claim 10, the method further comprising providing the user an incentive to receive modifications of available content space.
17. Non-transitory media storing program instructions configured to cause a computing system including one or more computing devices to perform operations comprising:
receiving data for a first document from a remote system, wherein the first document is to be displayed on a terminal associated with a user;
causing, at least in part, an identification of available content space in the first document, the available content space including white space in which the first document does not display user-viewable information:
causing, at least in part, an advertisement to be selected based at least in part on:
information, accessed from memory, associated with an advertiser associated with the advertisement,
user-related information,
a dimension, shape, and/or size of the available content space;
causing, after outputting the first document to a web browser associated with the terminal associated with the user, at least in part,
the selected advertisement overlay at least a part of the available content space, or
at least a portion of the available content space to be replaced with the advertisement;
so that if the first document is displayed on the terminal associated with the user, the advertisement is displayed in at least a portion the available content space.
18. The non-transitory media of Claim 17, wherein the identification of white space is performed by at least one of:
automatically analyzing a structure of the document; identifying manually or dynamically created markers;
automatically analyzing pixels of the displayed document; or
identifying mouseover events or non-mouseover events in the document.
19. The non-transitory media of Claim 18, wherein automatically analyzing the document structure comprises parsing a Document Object Model structure, identifying java script elements, identifying inner html, and/or identifying paragraph markers.
20. The non-transitory media of Claim 18, wherein automatically analyzing pixels of the displayed document comprises locating document locations at which pixels having identical color are adjacent to one another.
21. The non-transitory media of Claim 18, wherein analyzing the structure of the document comprises analyzing a viewable surface in which the document is to be displayed.
22. The non-transitory media of Claim 17, wherein the advertisement is selected based in part on an indication related to a dimension of the available content space.
23. The non-transitory media of Claim 17, the operations further comprising: causing, at least in part, a user profile associated with the user to be accessed, the profile including:
demographic information regarding the user; or an identification of an area of interest of the user; or
both the demographic information regarding the user and the identification of the area of interest of the user,
wherein the advertisement is selected based at least in part on the user profile.
24. The non-transitory media of Claim 17, wherein the white space is not white in color.
25. The non-transitory media of Claim 17, the operations further comprising providing the user an incentive to receive modifications of available content space.
26. An interactive television, comprising:
a processor;
tangible, non-transitory memory configured to store a program that when executed by the processor is configured to perform operations, comprising: receiving data for a first video content from a remote system, wherein the first video content is to be displayed on the interactive television to a user; causing, at least in part, an automatic identification of a first video advertisement in the first video content data,
causing, at least in part, a second video advertisement to be selected based at least in part on:
information, accessed from memory, associated with an advertiser associated with the second video advertisement, and user-related information;
causing after outputting the first video content, at least in part,
the first video advertisement to be replaced with the second video advertisement, or
the first video advertisement to be obscured by the second video advertisement,
so that if the first video content is displayed on the interactive television, the second video advertisement is displayed and the first video advertisement is not visible.
27. The interactive television of claim 26, wherein the replacement is performed by:
removing the first video advertisement; and
inserting the second video advertisement.
28. The interactive television of claim 26, wherein the second video advertisement is selected based in part on an indication related to parameters of the first video advertisement.
29. The interactive television of claim 26, the operations further comprising: causing, at least in part, a user profile associated with the user to be accessed, the profile including:
demographic information regarding the user; or an identification of an area of interest of the user; or
both the demographic information regarding the user and the identification of the area of interest of the user, wherein the second video advertisement is selected based at least in part on the user profile.
30. The interactive television of claim 26, the operations further comprising: providing the user an incentive to receive advertisement modifications.
31. The interactive television of claim 26, the operations further comprising receiving consent from a user of alteration of video advertising content.
32. The interactive television of claim 26, wherein the causing the first video advertisement to be replaced with the second video advertisement, or the first video advertisement to be obscured by the second video advertisements, includes analyzing the first video content structure to detect any specific technique or code that may be employed to make it difficult for the interactive television to identify video advertising content to be altered in accordance with the user consent of alteration of video advertising content.
33. A method of processing video content, comprising
receiving, at an interactive television, data for a first video content from a remote system, wherein the first video is to be displayed on the interactive television to a user;
causing, at least in part, an automatic identification of a first video advertisement in the first video data;
causing, at least in part, a second video advertisement to be selected based at least in part on:
information, accessed from memory, associated with an advertiser associated with the second video advertisement, and
user-related information;
causing after outputting the first video content, at least in part, the first video advertisement to be replaced with the second video advertisement, or
the first video advertisement to be obscured by the second video advertisement;
so that if the first video content is displayed on the interactive television, the second video advertisement is displayed and the first video advertisement is not visible.
34. The method as defined in claim 33, wherein the replacement is performed by: removing the first video advertisement; and
inserting the second video advertisement.
35. The method as defined in claim 33, wherein the second video advertisement is selected based in part on indication related to parameters of the first video advertisement.
36. The method as defined in claim 33, the method further comprising:
causing, at least in part, a user profile associated with the user to be accessed, the profile including:
demographic information regarding the user; or an identification of an area of interest of the user; or
both the demographic information regarding the user and the identification of the area of interest of the user,
wherein the second video advertisement is selected based at least in part on the user profile.
37. The method as defined in claim 33, the method further comprising providing the user an incentive to receive advertisement modifications.
38. The method as defined in claim 33, the method further comprising receiving consent from a user of alteration of video advertising content.
39. The interactive television of claim 38, wherein the causing the first video advertisement to be replaced with the second video advertisement, or the first video advertisement to be obscured by the second video advertisements, includes analyzing the first video content structure to detect any specific technique or code that may be employed to make it difficult for the interactive television to identify video advertising content to be altered in accordance with the user consent of alteration of video advertising content.
40. A system, comprising:
a processor;
tangible, non-transitory memory configured to store a program that when executed by the processor is configured to perform operations, comprising:
receiving data for a first video content from a remote system, wherein the first video content is to be displayed to a user; causing, at least in part, an automatic identification of an integrated first video advertisement in the first video content data,
causing, at least in part, a modification to the integrated first video advertisement to be selected based at least in part on:
information, accessed from memory, associated with an advertiser associated with the modification, and
user-related information;
causing after outputting the first video content, at least in part,
the integrated first video advertisement to modified in accordance with the selected modification;
so that if the first video content is displayed to the user, the modified integrated first video advertisement is displayed.
41. An interactive television or set-top box comprising the system of claim 40.
42. The system of claim 40, wherein the integrated first video advertisement comprises a product-placement advertisement displaying with a first product.
43. The system of claim 42, wherein the modification comprises replacing or overlaying video displaying the first product with replacement video.
44. The system of claim 43, wherein the replacement video comprises a product-placement advertisement displaying a second product.
45. The system of claim 40, wherein the integrated first video advertisement comprises video having associated audio referencing a first product or service.
46. The system of claim 45, wherein the modification comprises replacing or overlaying audio referencing the first product or service with replacement audio.
47. The system of claim 46, wherein the replacement audio references a second product or service.
48. The system of claim 40, the operations further comprising:
causing, at least in part, a user profile associated with the user to be accessed, the profile including:
demographic information regarding the user; or an identification of an area of interest of the user; or
viewing habits of the user; or any combination thereof;
wherein the modification is selected based at least in part on the user profile.
49. The system of claim 40, the operations further comprising:
providing the user an incentive to receive advertisement modifications.
50. The system of claim 40, the operations further comprising receiving consent from a user of modification of integrated video advertising content.
51. The interactive television of claim 50, wherein the causing the first video advertisement to be modified includes analyzing the first video content structure to detect any specific technique or code that may be employed to make it difficult for the system to identify video advertising content to be modified in accordance with the user consent of modification of integrated video advertising content.
52. A method of processing video content, comprising
receiving, at a user terminal, data for a first video content from a remote system, wherein the first video is to be displayed via the user terminal to a user;
causing, at least in part, an automatic identification of an integrated first video advertisement in the first video data;
causing, at least in part, a modification to the integrated first video advertisement to be selected based in part on:
information, accessed from memory, associated with an advertiser associated with the modification, and
user-related information;
causing after outputting the first video content, at least in part, the integrated first video advertisement to be modified in accordance with the selected modification;
so that if the first video content is displayed via the user terminal, the modified integrated first video advertisement is displayed.
53. The method of claim 52, wherein the user terminal comprises an interactive television or set-top box.
54. The method of claim 52, wherein the integrated first video advertisement comprises a product-placement advertisement displaying with a first product.
-I l l-
55. The method of claim 54, wherein the modification comprises replacing or overlaying video displaying the first product with replacement video.
56. The method of claim 55, wherein the replacement video comprises a product-placement advertisement displaying a second product.
57. The method of claim 52, wherein the integrated first video advertisement comprises video having associated audio referencing a first product or service.
58. The method of claim 57, wherein the modification comprises replacing or overlaying audio referencing the first product or service with replacement audio.
59. The method of claim 58, wherein the replacement audio references a second product or service.
60. The method of claim 52, the operations further comprising:
causing, at least in part, a user profile associated with the user to be accessed, the profile including:
demographic information regarding the user; or an identification of an area of interest of the user; or
viewing habits of the user; or
any combination thereof;
wherein the modification is selected based at least in part on the user profile.
61. The method of claim 52, the operations further comprising:
providing the user an incentive to receive advertisement modifications.
62. The method of claim 52, the operations further comprising receiving consent from a user of modification of video advertising content.
63. The method of claim 62, wherein the causing the first video advertisement to be modified includes analyzing the first video content structure to detect any specific technique or code that may be employed to make it difficult for the system to identify video advertising content to be modified in accordance with the user consent of modification of video advertising content.
64. A method of selecting and displaying digital content at a user terminal, the method comprising:
receiving, at the user terminal, data for a webpage from a remote system, wherein the webpage is to be displayed on the user terminal; causing, at least in part, an automatic identification of a first advertisement in the webpage data, wherein the first advertisement is configured to be displayed in a first area of the webpage;
replacing said first advertisement with a placeholder;
collecting information comprising:
(a) information related to the webpage;
(b) information related to the user; or
(c) both (a) and (b);
soliciting bids for advertising content to be displayed in the first area corresponding to the placeholder, wherein soliciting the bids comprises providing at least a portion of the collected information;
receiving bids for advertising content to be displayed in the first area;
selecting a winning bid from among the received bids; and
causing, at least in part, advertising content associated with the winning bid to be displayed on the user terminal in the first area corresponding to the placeholder.
65. The method of Claim 64, wherein the first advertisement comprises a link to advertisement content.
66. The method of Claim 64, wherein said placeholder comprises a container or ad tag.
67. The method of Claim 64, wherein information related to the user comprises demographic information.
68. The method of Claim 64, wherein soliciting bids comprises soliciting bids from multiple advertising exchanges.
69. A method of selecting and displaying digital content, the method comprising: receiving, at a network node, data for a first document from a remote system, wherein the first document is to be displayed on a user terminal of a user;
causing, at least in part, an automatic identification of a first advertisement in the first document data;
soliciting bids for replacement content to be displayed on the user terminal in place of the first document;
receiving bids for replacement content; selecting a winning bid from among the received bids; and causing, at least in part, replacement content associated with the winning bid to be displayed on the user terminal in place of the first document.
70. The method of Claim 69, wherein the network node is the user terminal.
71. The method of Claim 69, wherein the first document comprises a web page.
72. The method of Claim 69, wherein the first advertisement comprises a link to advertisement content.
73. The method of Claim 69, wherein soliciting bids for replacement content comprises:
providing information related to the user,
providing information related to the first document,
or both.
74. The method of Claim 69, wherein soliciting bids comprises soliciting bids from multiple advertising exchanges substantially simultaneously.
75. The method of Claim 69, wherein selecting a winning bid comprises comparing the received bids and identifying a bid with the highest offered price.
76. The method of Claim 69, further comprising storing a record of the winning bid.
77. The method of Claim 76, further comprising causing, at least in part, said record to be provided to one or more of bidders of the received bids.
78. A system, comprising:
a processor;
tangible, non-transitory media configured to store a program that when executed by the processor is configured to perform operations, comprising:
receiving, at a network node, data for a first document from a remote system, wherein the first document is to be displayed on a user terminal of a user;
causing, at least in part, an automatic identification of a first advertisement in the first document data;
soliciting bids for replacement content to be displayed on the user terminal in place of the first document; receiving bids for replacement content;
selecting a winning bid from among the received bids; and
causing, at least in part, replacement content associated with the winning bid to be displayed on the user terminal in place of the first document.
79. The system of Claim 78, wherein the network node is the user terminal.
80. The system of Claim 78, wherein the first document comprises a web page.
81. The system of Claim 78 wherein the first advertisement comprises a link to advertisement content.
82. The system of Claim 78, wherein soliciting bids for replacement content comprises:
providing information related to the user,
providing information related to the first document,
or both.
83. The system of Claim 78, wherein soliciting bids comprises soliciting bids from multiple advertising exchanges substantially simultaneously.
84. The system of Claim 78, wherein selecting a winning bid comprises comparing the received bids and identifying a bid with the highest offered price.
85. The system of Claim 78, wherein the operations further comprise storing a record of the winning bid.
86. The system of Claim 78, wherein the operations further comprise causing, at least in part, said record to be provided to one or more of bidders of the received bids.
87. A method of processing a uniform resource locator (URL) request from a user and providing venue information to an application node, the method comprising:
receiving, at a network node, the URL request from a user terminal;
causing, at least in part, a temporary identification to be associated with the URL request, wherein the temporary identification is associated with venue information regarding a venue associated by location with the user terminal;
automatically appending the URL request with at least a portion of the temporary identification, wherein the temporary identification is locked; transmitting the modified URL request, including the locked temporary identification over a network to an application node;
receiving at the network node, from the application node, a request to unlock the locked temporary identification; and
at least partly in response to the request to unlock the locked temporary identification, transmitting the venue information to the application node.
88. The method of Claim 87, wherein the URL request may be received from the user terminal directly, indirectly, or relayed.
89. The method of Claim 87, wherein the user terminal is remote from the network node and the user input is received over a network connection.
90. The method of Claim 87, further comprising receiving, from the application node, a fee prior to transmitting the venue information to the application node.
91. The method of Claim 87, wherein the venue information comprises the location of the venue.
92. The method of Claim 87, wherein the venue information comprises information regarding customers of the venue.
93. The method of Claim 87, wherein the temporary identification expires after a first duration, after which the temporary identification is no longer associated with the venue information.
94. The method of Claim 87, further comprising causing, at least in part, the temporary identification to cease to be associated with the venue information after a first duration.
95. The method of Claim 94, wherein the first duration comprises a number of sessions.
96. The method of Claim 94, wherein the first duration comprises a period of time.
97. The method of Claim 87, further comprising:
storing the temporary identification and associated venue information in a database; and at least partly in response to receiving the request to unlock the temporary identification, accessing the database to retrieve the associated venue information associated with the temporary identification;
98. The method of Claim 87, wherein the temporary identification and associated venue information are stored in a database, the method further comprising:
receiving, at the network node, consent from a user of modification of the URL request;
storing the temporary identification and associated venue information in a database;
at least in part in response to receiving the request to unlock the temporary identification, accessing the database to retrieve the associated venue information associated with the temporary identification;
causing, at least in part, a withdrawal or a debit to be made with respect to an account associated with the application node at least partly in response to transmitting the venue information; and
generating a report indicating that the venue information has been sent to the application node.
99. A method of processing input from a user and providing user information to an application node, the method comprising:
receiving, at a network node, the user input from a user terminal; causing, at least in part, a temporary identification to be associated with the user input, wherein the temporary identification is associated with information about the user;
modifying the user input based at least in part on the temporary identification; transmitting the modified user input to an application node;
receiving from the application node a request to unlock the temporary identification; and
transmitting the user information user to the application node.
100. The method of Claim 99, wherein the user input comprises a keyword query
101. The method of Claim 99, wherein the user input comprises a uniform resource locator (URL) request.
102. The method of Claim 99, wherein the user input comprises navigation by the user to a web page.
103. The method of Claim 99, wherein the user terminal is remote from the network node and the user input is received over a network connection.
104. The method of Claim 99, wherein modifying the user input comprises appending the temporary identification to the user input.
105. The method of Claim 99, wherein modifying the user input comprises appending characters to the user input associated with the temporary identification.
106. The method of Claim 99, wherein the temporary identification comprises user data or session data.
107. The method of Claim 99, wherein the user information comprises information regarding a venue at which the user terminal is located.
108. The method of Claim 99, wherein the user information comprises purchasing history of the user.
109. The method of Claim 99, wherein the user information comprises demographic information about the user.
1 10. The method of Claim 99, wherein the user information comprises occupation of the user.
1 11. The method of Claim 99, wherein the temporary identification expires after a first duration, after which the temporary identification is no longer associated with the user information.
1 12. The method of Claim 1 11, further comprising causing, at least in part, the temporary identification to cease to be associated with the user information after a first duration.
1 13. The method of Claim 112, wherein the first duration comprises a number of sessions.
1 14. The method of Claim 112, wherein the first duration comprises a period of time.
1 15. Tangible, non-transitory media configured to store a program that when executed by a processor is configured to perform operations, comprising:
receiving, at a network node, a user input from a user terminal; causing, at least in part, a temporary identification to be associated with the user input, wherein the temporary identification is associated with information about the user;
modifying the user input based at least in part on the temporary identification; transmitting the modified user input to an application node;
receiving from the application node a request to unlock the temporary identification; and
transmitting the user information user to the application node.
1 16. The media as defined in Claim 115, wherein the user input comprises a keyword query
1 17. The media as defined in Claim 115, wherein the user input comprises a uniform resource locator (URL) request.
1 18. The media as defined in Claim 1 15, wherein the user input comprises navigation by the user to a web page.
1 19. The media as defined in Claim 115, wherein the user terminal is remote from the network node and the user input is received over a network connection.
120. The media as defined in Claim 1 15, wherein modifying the user input comprises appending the temporary identification to the user input.
121. The media as defined in Claim 1 15, wherein modifying the user input comprises appending characters to the user input associated with the temporary identification.
122. The media as defined in Claim 1 15, wherein the temporary identification comprises user data or session data.
123. The media as defined in Claim 1 15, wherein the user information comprises information regarding a venue at which the user terminal is located.
124. The media as defined in Claim 1 15, wherein the user information comprises purchasing history of the user.
125. The media as defined in Claim 1 15, wherein the user information comprises demographic information about the user.
126. The media as defined in Claim 1 15, wherein the user information comprises occupation of the user.
127. The media as defined in Claim 1 15, wherein the temporary identification expires after a first duration, after which the temporary identification is no longer associated with the user information.
128. The media as defined in Claim 127, the operations further comprising causing, at least in part, the temporary identification to cease to be associated with the user information after a first duration.
129. The media as defined in Claim 128, wherein the first duration comprises a number of sessions.
130. The media as defined in Claim 128, wherein the first duration comprises a period of time.
PCT/US2014/022096 2013-03-15 2014-03-07 Methods and systems for requesting, processing, and displaying content WO2014150073A2 (en)

Applications Claiming Priority (8)

Application Number Priority Date Filing Date Title
US201361790237P 2013-03-15 2013-03-15
US201361791401P 2013-03-15 2013-03-15
US201361799624P 2013-03-15 2013-03-15
US61/791,401 2013-03-15
US13/836,672 US20130276024A1 (en) 2009-03-20 2013-03-15 Methods and systems for processing and displaying video content
US61/799,624 2013-03-15
US61/790,237 2013-03-15
US13/836,672 2013-03-15

Publications (2)

Publication Number Publication Date
WO2014150073A2 true WO2014150073A2 (en) 2014-09-25
WO2014150073A3 WO2014150073A3 (en) 2014-11-27

Family

ID=51581605

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2014/022096 WO2014150073A2 (en) 2013-03-15 2014-03-07 Methods and systems for requesting, processing, and displaying content

Country Status (1)

Country Link
WO (1) WO2014150073A2 (en)

Cited By (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106657677A (en) * 2017-02-28 2017-05-10 深圳天珑无线科技有限公司 Terminal control method and apparatus
CN107256231A (en) * 2017-05-04 2017-10-17 腾讯科技(深圳)有限公司 A kind of Team Member's identification equipment, method and system
WO2018005143A1 (en) * 2016-06-29 2018-01-04 Duo Security, Inc. Systems and methods for endpoint management classification
US9996616B2 (en) 2009-03-20 2018-06-12 Mediashift Acquisition, Inc. Methods and systems for searching, selecting, and displaying content
US10185841B2 (en) * 2013-10-10 2019-01-22 Elwha Llc Devices, methods, and systems for managing representations of entities through use of privacy beacons
US10346624B2 (en) 2013-10-10 2019-07-09 Elwha Llc Methods, systems, and devices for obscuring entities depicted in captured images
US10348756B2 (en) 2011-09-02 2019-07-09 Duo Security, Inc. System and method for assessing vulnerability of a mobile device
US10412113B2 (en) 2017-12-08 2019-09-10 Duo Security, Inc. Systems and methods for intelligently configuring computer security
US10542030B2 (en) 2015-06-01 2020-01-21 Duo Security, Inc. Method for enforcing endpoint health standards
US10706421B2 (en) 2010-03-03 2020-07-07 Duo Security, Inc. System and method of notifying mobile devices to complete transactions after additional agent verification
US10834290B2 (en) 2013-10-10 2020-11-10 Elwha Llc Methods, systems, and devices for delivering image data from captured images to devices
WO2021094828A1 (en) * 2019-11-11 2021-05-20 Cruz Moya Jose Antonio Video processing and modification
US11172361B2 (en) 2010-03-03 2021-11-09 Cisco Technology, Inc. System and method of notifying mobile devices to complete transactions
US11410109B2 (en) * 2018-11-01 2022-08-09 Precog, LLC Portable real-time experience communications device and monitoring system
CN115469923A (en) * 2022-10-28 2022-12-13 湖南映客互娱网络信息有限公司 Universal ranking list configuration method and device
WO2023003861A1 (en) * 2021-07-19 2023-01-26 Brandactif Ltd Method and system for digital marketing and the provision of digital content
US11658962B2 (en) 2018-12-07 2023-05-23 Cisco Technology, Inc. Systems and methods of push-based verification of a transaction
US11798038B2 (en) 2020-03-02 2023-10-24 BrandActif Ltd. Method and system for digital marketing and the provision of digital content
US20230386143A1 (en) * 2022-05-25 2023-11-30 Adobe Inc. System and methods for providing invisible augmented reality markers
US11854047B2 (en) 2020-03-03 2023-12-26 BrandActif Ltd. Method and system for digital marketing and the provision of digital content
US11922464B2 (en) 2020-03-03 2024-03-05 BrandActif Ltd. Sponsor driven digital marketing for live television broadcast

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20000037250A (en) * 2000-04-14 2000-07-05 주진용 System and Method for advertising banners in empty space of web pages
WO2003052582A1 (en) * 2001-12-19 2003-06-26 Redbank Manor Pty Ltd Document display system and method
KR100773206B1 (en) * 2006-10-02 2007-11-02 임두현 Method and system for providing advertisement corresponding to specific uniform resource locator
KR100961680B1 (en) * 2009-09-01 2010-06-09 김대중 System for inserting advertisement into webpage and method thereof
US20120144291A1 (en) * 2010-12-01 2012-06-07 Pantech Co., Ltd. Apparatus and method for controlling web browser display

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20000037250A (en) * 2000-04-14 2000-07-05 주진용 System and Method for advertising banners in empty space of web pages
WO2003052582A1 (en) * 2001-12-19 2003-06-26 Redbank Manor Pty Ltd Document display system and method
KR100773206B1 (en) * 2006-10-02 2007-11-02 임두현 Method and system for providing advertisement corresponding to specific uniform resource locator
KR100961680B1 (en) * 2009-09-01 2010-06-09 김대중 System for inserting advertisement into webpage and method thereof
US20120144291A1 (en) * 2010-12-01 2012-06-07 Pantech Co., Ltd. Apparatus and method for controlling web browser display

Cited By (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9996616B2 (en) 2009-03-20 2018-06-12 Mediashift Acquisition, Inc. Methods and systems for searching, selecting, and displaying content
US11832099B2 (en) 2010-03-03 2023-11-28 Cisco Technology, Inc. System and method of notifying mobile devices to complete transactions
US11341475B2 (en) 2010-03-03 2022-05-24 Cisco Technology, Inc System and method of notifying mobile devices to complete transactions after additional agent verification
US11172361B2 (en) 2010-03-03 2021-11-09 Cisco Technology, Inc. System and method of notifying mobile devices to complete transactions
US10706421B2 (en) 2010-03-03 2020-07-07 Duo Security, Inc. System and method of notifying mobile devices to complete transactions after additional agent verification
US10348756B2 (en) 2011-09-02 2019-07-09 Duo Security, Inc. System and method for assessing vulnerability of a mobile device
US10834290B2 (en) 2013-10-10 2020-11-10 Elwha Llc Methods, systems, and devices for delivering image data from captured images to devices
US10346624B2 (en) 2013-10-10 2019-07-09 Elwha Llc Methods, systems, and devices for obscuring entities depicted in captured images
US10289863B2 (en) 2013-10-10 2019-05-14 Elwha Llc Devices, methods, and systems for managing representations of entities through use of privacy beacons
US10185841B2 (en) * 2013-10-10 2019-01-22 Elwha Llc Devices, methods, and systems for managing representations of entities through use of privacy beacons
US10542030B2 (en) 2015-06-01 2020-01-21 Duo Security, Inc. Method for enforcing endpoint health standards
US10009344B2 (en) 2016-06-29 2018-06-26 Duo Security, Inc. Systems and methods for endpoint management classification
WO2018005143A1 (en) * 2016-06-29 2018-01-04 Duo Security, Inc. Systems and methods for endpoint management classification
CN106657677A (en) * 2017-02-28 2017-05-10 深圳天珑无线科技有限公司 Terminal control method and apparatus
CN107256231A (en) * 2017-05-04 2017-10-17 腾讯科技(深圳)有限公司 A kind of Team Member's identification equipment, method and system
CN107256231B (en) * 2017-05-04 2022-04-22 腾讯科技(深圳)有限公司 Team member identification device, method and system
US10412113B2 (en) 2017-12-08 2019-09-10 Duo Security, Inc. Systems and methods for intelligently configuring computer security
US11410109B2 (en) * 2018-11-01 2022-08-09 Precog, LLC Portable real-time experience communications device and monitoring system
US11658962B2 (en) 2018-12-07 2023-05-23 Cisco Technology, Inc. Systems and methods of push-based verification of a transaction
WO2021094828A1 (en) * 2019-11-11 2021-05-20 Cruz Moya Jose Antonio Video processing and modification
US11798038B2 (en) 2020-03-02 2023-10-24 BrandActif Ltd. Method and system for digital marketing and the provision of digital content
US11854047B2 (en) 2020-03-03 2023-12-26 BrandActif Ltd. Method and system for digital marketing and the provision of digital content
US11922464B2 (en) 2020-03-03 2024-03-05 BrandActif Ltd. Sponsor driven digital marketing for live television broadcast
WO2023003861A1 (en) * 2021-07-19 2023-01-26 Brandactif Ltd Method and system for digital marketing and the provision of digital content
US20230386143A1 (en) * 2022-05-25 2023-11-30 Adobe Inc. System and methods for providing invisible augmented reality markers
CN115469923A (en) * 2022-10-28 2022-12-13 湖南映客互娱网络信息有限公司 Universal ranking list configuration method and device
CN115469923B (en) * 2022-10-28 2023-02-17 湖南映客互娱网络信息有限公司 Universal ranking list configuration method and device

Also Published As

Publication number Publication date
WO2014150073A3 (en) 2014-11-27

Similar Documents

Publication Publication Date Title
WO2014150073A2 (en) Methods and systems for requesting, processing, and displaying content
US9996616B2 (en) Methods and systems for searching, selecting, and displaying content
US11503129B2 (en) Method and apparatus for dynamically presenting content using an interface for setting conditional network destinations
US10305997B2 (en) Method and apparatus for dynamically presenting content using an interface for setting conditional network destinations
US20150012363A1 (en) Methods and systems for processing and displaying content
KR101690167B1 (en) Viral marketing service providing system for sharing advertising cost with each marketers by analyzing behaviors of contents audiences, and method for the same
US20130276024A1 (en) Methods and systems for processing and displaying video content
US9092805B2 (en) Targeting online ads based on political demographics
US9826374B2 (en) System and method for sharing content on third-party mobile applications
US20150019350A1 (en) Locally and automatically articulated content requester technology
US20120191518A1 (en) Apparatus And Method For Anonymously Presenting Targeted Advertisements And Desirable Media Content In Association With A Virtual Currency
KR101782880B1 (en) System for configuring special offer of advertiser according to each of marketer for marketing service, and method for the same
US20230096236A1 (en) Systems and methods for mobile advertisement review
Russell et al. APIs and your privacy
US20150019952A1 (en) Systems and methods for providing and utilizing user-specific information
US20230259981A1 (en) Smart contract system and method for managing digital user engagement
CA3221730A1 (en) Smart contract system and method for managing digital user engagement

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 14770964

Country of ref document: EP

Kind code of ref document: A2

122 Ep: pct application non-entry in european phase

Ref document number: 14770964

Country of ref document: EP

Kind code of ref document: A2