WO2013185254A1 - Contextual content for online previews - Google Patents

Contextual content for online previews Download PDF

Info

Publication number
WO2013185254A1
WO2013185254A1 PCT/CN2012/000795 CN2012000795W WO2013185254A1 WO 2013185254 A1 WO2013185254 A1 WO 2013185254A1 CN 2012000795 W CN2012000795 W CN 2012000795W WO 2013185254 A1 WO2013185254 A1 WO 2013185254A1
Authority
WO
WIPO (PCT)
Prior art keywords
file
preview
user
computer
accordance
Prior art date
Application number
PCT/CN2012/000795
Other languages
French (fr)
Inventor
Hongji Bao
Yaoting LIU
Chao Feng
Original Assignee
Google Inc.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Google Inc. filed Critical Google Inc.
Priority to PCT/CN2012/000795 priority Critical patent/WO2013185254A1/en
Publication of WO2013185254A1 publication Critical patent/WO2013185254A1/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

Definitions

  • This description relates to online content and, more particularly, to methods and systems for presenting contextual content with a preview.
  • a user may select one of the search results to view the content. If the selected search result does not present the desired content, the user may continue to select other search results to view the content or submit another search query to receive another set of search results.
  • At least some known Internet search engines allow a user to preview the search results before fully accessing one of the search results. For example, the search engine may display an archived version of a website in a preview window.
  • Known preview windows generally do not include any additional content embedded therein beyond the content corresponding to the search result.
  • a computer-implemented method for automatically displaying on a user interface at least one contextual advertisement to a user.
  • the user interface is coupled to a user computing device.
  • the method includes receiving, from the user computing device, a request to preview a data file.
  • the data file includes at least one of a webpage, an image file, a video file, and a document file.
  • File information associated with the data file is retrieved.
  • the file information includes at least one of a title, a description, content, and contextual information associated with the data file.
  • a contextual advertisement is identified based at least in part on the file information.
  • a file preview is presented to the user.
  • the file preview includes at least a portion of the data file and at least a portion of the contextual advertisement.
  • a computer system in another aspect, includes an advertisement module and a presentation module.
  • the advertisement module is configured to retrieve file information associated with a data file, and identify a contextual advertisement based at least in part on the file information.
  • the data file includes at least one of a webpage, an image file, a video file, and a document file.
  • the file information includes at least one of a title, a description, content, and contextual information associated with the data file.
  • the presentation module is configured to present a file preview to the user.
  • the file preview includes at least a portion of the data file and at least a portion of the contextual advertisement.
  • one or more computer-readable storage media having computer-executable instructions embodied thereon.
  • the computer-executable instructions When executed by at least one processor, the computer-executable instructions cause the processor to retrieve file information associated with a data file.
  • the data file includes at least one of a webpage, an image file, a video file, and a document file.
  • the file information includes at least one of a title, a description, content, and contextual information associated with the data file.
  • a contextual advertisement is identified based at least in part on the file information.
  • a file preview is presented to the user. The file preview includes at least a portion of the data file and at least a portion of the contextual advertisement.
  • a computer system includes a processor, and a computer-readable storage device having encoded thereon computer readable instructions that are executable by the processor to perform functions including retrieving file information associated with a data file.
  • the data file includes at least one of a webpage, an image file, a video file, and a document file.
  • the file information includes at least one of a title, a description, content, and contextual information associated with the data file.
  • a contextual advertisement is identified based at least in part on the file information.
  • a file preview is presented to the user. The file preview includes at least a portion of the data file and at least a portion of the contextual advertisement.
  • FIGS. 1-5 show exemplary embodiments of the methods and systems described herein.
  • FIG. 1 is a schematic illustration of an exemplary environment for presenting a contextual advertisement with a preview in accordance with one embodiment of the present invention.
  • FIG. 2 is a screenshot of exemplary search results that may be presented in the environment shown in FIG. 1;
  • FIG. 3 is a screenshot of an exemplary preview pane that may be presented in the environment shown in FIG. 1;
  • FIG. 4 is a flowchart of an exemplary method that may be implemented in the environment shown in FIG. 1 to automatically present a contextual advertisement with a preview.
  • FIG. 5 is a diagram of exemplary computing devices that may be used in the environment shown in FIG. 1 to implement the method shown in FIG. 4.
  • the subject matter described herein relates generally to the presentation of online content. More specifically, the methods and systems described herein enable contextual content to be presented with a preview, namely an online preview. That is, the methods and systems described herein present a preview of a requested data file (e.g., a web page) with contextual content, such as an advertisement related to the requested data file and/or the end user to increase an effectiveness of the advertisement. Accordingly, the methods and systems described herein facilitate presenting a contextual advertisement to an end user.
  • a requested data file e.g., a web page
  • Embodiments of the methods and systems described herein enable a computer system to (i) receive a request to preview a data file, (ii) retrieve file information associated with the data file, (iii) identify a contextual advertisement based at least in part on the file information, and (iv) present a file preview to the user, wherein the file preview includes at least a portion of the data file and at least a portion of the contextual advertisement.
  • the methods and systems described herein may be implemented using computer programming or engineering techniques including computer software, firmware, hardware or any combination or subset thereof, wherein the technical effects may include at least one of a) receiving a search request; b) transmitting a search result page including a plurality of search results and a code snippet configured to activate a preview link for at least one search result included in the search results; c) receiving a request to preview a data file (e.g., one of the search results); d) retrieving file information associated with the data file; e) identifying a contextual advertisement based at least in part on the file information; and f) presenting a file preview to the user, wherein the file preview includes at least a portion of the data file and at least a portion of the contextual advertisement.
  • FIG. 1 is a schematic illustration of an exemplary environment 100 for presenting a contextual advertisement with a preview in accordance with one embodiment of the present invention.
  • a server system 120 (or other computing device) includes a content module 130 that sends out or transmits a plurality of fetch bots 140 to autonomously "crawl" or retrieve information or data associated with a plurality of files 150 (e.g., webpages, images files, video files, document files).
  • the fetch bots 140 may retrieve, for example, data associated with a diverse set of websites on the Internet.
  • the environment 100 may include any number of files 150 that enables the environment 100 to function as described herein.
  • the retrieved data may include contextual data including, without limitation, a title, a summary, a description, and other content associated with each file 150.
  • the retrieved data may be any data that enables environment 100 to function as described herein.
  • the content module 130 parses the retrieved data to identify and/or determine outgoing links 160 (e.g., a hypertext reference or HREF links and source attribute or SRC links) included in the files 150.
  • the content module 130 maintains a list of addresses associated with the outgoing links 160 and systematically provides the fetch bots 140 with the list of addresses to autonomously "crawl" or retrieve data associated with the corresponding files 150.
  • the content module 130 generates a preview 170 for each file 150 based on the retrieved data.
  • the preview 170 is a smaller and/or simpler version of the file 150 to facilitate reducing downloading times and may include a link to the file 150 and/or contextual data associated with the file 150.
  • the preview 170 may be a "snapshot" or a thumbnail image of the file 150.
  • the fetch bots 140 retrieve data associated with a file 150 for which a preview 170 was previously generated by content module 130.
  • the content module 130 generates an updated preview for the file 150 based on the more recently retrieved data.
  • the preview 170 is generated "on the fly" or in substantially real-time upon receiving the preview request.
  • the content module 130 may store the retrieved data and/or the generated previews 170 in cache and/or a database 180.
  • the server system 120 includes an advertisement module 190 that manages a plurality of advertisements 200.
  • the plurality of advertisements 200 are received from a plurality of advertisers 210. Although only two advertisements 200 and two advertisers 210 are depicted, the environment 100 may include any number of advertisements 200 and/or advertisers 210 that enables the environment 100 to function as described herein.
  • the advertising module 190 identifies and/or determines at least one contextual advertisement 220 for each file 150 from the advertisements 200 based at least in part on keywords associated with the advertisements 200 and file information.
  • File information may include any information and/or data associated with the file 150 including, without limitation, a title, a description, content, and contextual data associated with the file 150 and/or the preview 170.
  • advertising module 190 may identify contextual advertisements 220 associated with automobile rentals, automobile repair, tires, and the like.
  • the contextual advertisement 220 is identified and/or determined based at least in part on user information.
  • User information may include any information and/or data associated with an end user (described in more detail below) including, without limitation, a search query, search history, transaction history, user activity history, profile information, and/or any other information explicitly or implicitly obtained.
  • the server system 120 may anonymize data for end users so that the stored data cannot be associated with the end users. For example, a search query may be associated with a unique 128-bit number that is not associated with any end user. Instead or in addition, opt-in and/or opt-out procedures may be provided, and if the end user opts-in for tracking of user history data, the systems and techniques described herein can associate search queries, clicks and/or other user activities with a user identifier that is uniquely associated with the end user. An end user may grant permission to the server system 120 to track user history so that historical data for the end user's search sessions and other user data are tracked and associated with the end user.
  • a search engine and/or a browser may be configured to track only data approved by the end user, such as only search queries and search result selections.
  • the end user may clear historical data associated with the end user at any time, and can opt-out of such tracking at any time.
  • an identifier may also anonymously identify a device (e.g., a laptop or a mobile phone) from which the user activity originated.
  • a device identifier can be, for example, a cookie or an Internet Protocol (IP) address.
  • IP Internet Protocol
  • the advertising module 190 may include and/or access functionality associated with the AdWords® and AdSense® systems (AdWords and AdSense are registered trademarks of Google Inc. headquartered in Mountain View, CA). While reference is made to managing advertisements 200, the environment 100 may be suitable for distributing other forms of content including other forms of sponsored content.
  • advertisements 200 may refer to any form of communication in which one or more products, services, ideas, messages, people, organizations or other items are identified and promoted or otherwise communicated. Advertisements 200 are not limited to commercial promotions or other communications. For example, advertisements 200 may be a public service announcement or any other type of notice. [0026] Advertisements 200 may be communicated via various mediums and in various forms.
  • advertisements 200 may be communicated through an interactive medium, such as the Internet, and may include graphical advertisements (e.g., banner advertisements), textual advertisements, image advertisements, audio advertisements, video advertisements, advertisements combining one of more of any of such components, or any form of electronically delivered advertisement.
  • Advertisements 200 may include embedded information, such as embedded media, links, meta-information, and/or machine executable instructions. Advertisements 200 may also be communicated through RSS (Really Simple Syndication) feeds, radio channels, television channels, print media, and other media.
  • RSS Resource Simple Syndication
  • the server system 120 includes a search engine module 230 that receives a search request 240 from an end user 250 via a user interface 260 coupled to a user computing device 270, and determines and/or identifies search results 280 based on the search request 240 (i.e., a set of files 150 associated with the search request 240).
  • the search engine module 230 transmits the search results 280 to the user computing device 270 with at least one code fragment or code "snippet".
  • a code snippet refers, for example, to a method used by one device (e.g., the server system 120) to ask another device (e.g., a browser running on the user computing device 270) to perform actions after or while downloading information.
  • a code snippet may be implemented in JavaScript® code or may be part of HyperText Markup Language (HTML) or other web page markup language or content (JavaScript is a registered trademark of Sun Microsystems, Inc. headquartered in Santa Clara, CA).
  • HTML HyperText Markup Language
  • JavaScript is a registered trademark of Sun Microsystems, Inc. headquartered in Santa Clara, CA.
  • the code snippet is programmed to present and/or activate a preview link 290 for each file 150 included in the search results 280.
  • the preview links 290 enable the end user 250 to preview specific content of each search result 280 without browsing through and/or opening the files 150.
  • the search engine module 230 receives an indication 285 of the end user 250 selecting a preview link 290 for one of the files 150 (i.e., a preview request) and, in response to the indication, retrieves the preview 170 generated by the content module 130.
  • the indication 285 may be received when a pointing device (e.g., an arrow) displayed on the user interface 260 is selectively positioned over the preview link 290 (e.g., a "mouse-over") and/or when a user input device (e.g., a mouse) is selectively clicked when the pointing device is selectively positioned over the preview link 290.
  • a pointing device e.g., an arrow
  • a user input device e.g., a mouse
  • the preview 170 is presented to the end user 250 in a preview window and/or a preview webpage with the contextual advertisement 220.
  • the code snippet is programmed to present a preview window including the preview 170, file information associated with the corresponding file 150, and/or the contextual advertisement 220 associated with the file 150.
  • the code snippet may include JavaScript® parameters reflecting various display settings (e.g., size, font, color, number of advertisements, display format, etc.) in the customization settings.
  • the code snippet may be any type of interpreted or executable software code such as a kernel component, an application program, a script, a linked library, an object with methods, and the like.
  • the preview 170 may be presented in any manner that enables environment 100 to function as described herein.
  • FIG. 4 is a flowchart of an exemplary method 300 that may be implemented in the environment 100 to automatically present a contextual advertisement 220 with a preview 170.
  • Components or steps described in FIG. 4 that are identical to components or steps described previously in FIGS. 1-3 are identified using the same reference numerals as shown in FIGS. 1-3.
  • a search request 240 is received 310 from an end user 250.
  • search results 280 are determined and transmitted 320 to the user computing device 270 with at least one code snippet.
  • a request to preview one of the search results 280 is received 330 from the user computing device 270. More particularly, in at least some implementations, the end user 250 mouses-over and/or clicks on a preview link 290 associated with the desired search result 280 to indicate a selection of the preview link 290.
  • the code snippet is implemented and/or executed 340, and at least the preview 170 and the contextual advertisement 220 are retrieved 350 and then transmitted 360 to the user computing device 270.
  • the previews 170, contextual advertisements 220, and/or other contextual data for each search result 280 are stored in the database 180.
  • the contextual advertisement 220 is identified and/or predetermined based at least in part on file information and/or user information (e.g., other search requests associated with the end user 250).
  • the user interface 260 presents a preview window with the preview 170 and the contextual advertisement 220.
  • FIG. 5 is a diagram of exemplary computing devices 400 and 450 that may be used in the environment 100. More specifically, FIG. 5 shows an exemplary computing device 400 and an exemplary mobile computing device 450, which may be used with the techniques described herein.
  • the end user may input a search query into computing device 450, which transmits the search query to computing device 400.
  • computing device 400 may store previews and/or advertisements and be configured to quickly and efficiently present contextual advertisements.
  • computing device 400 may include, for example, at least the content module 130, the advertisement module 190, and the search engine module 230 to implement method 300.
  • Computing device 400 is intended to represent various forms of digital computers, such as laptops, desktops, workstations, personal digital assistants, servers, blade servers, mainframes, and other appropriate computers.
  • Computing device 450 is intended to represent various forms of mobile devices, such as personal digital assistants, cellular telephones, smart phones, and other similar computing devices.
  • the components shown here, their connections and relationships, and their functions, are meant to be exemplary only, and are not meant to limit implementations of the inventions described and/or claimed in this document.
  • Computing device 400 includes a processor 402, memory 404, a storage device 406, a high-speed interface 408 connecting to memory 404 and high- speed expansion ports 410, and a low speed interface 412 connecting to low speed bus 414 and storage device 406.
  • Each of the components 402, 404, 406, 408, 410, and 412, are interconnected using various busses, and may be mounted on a common motherboard or in other manners as appropriate.
  • the processor 402 can process instructions for execution within the computing device 400, including instructions stored in the memory 404 or on the storage device 406 to display graphical information for a GUI on an external input/output device, such as display 416 coupled to high speed interface 408.
  • multiple processors and/or multiple buses may be used, as appropriate, along with multiple memories and types of memory.
  • multiple computing devices 400 may be connected, with each device providing portions of the necessary operations (e.g., as a server bank, a group of blade servers, or a multi-processor system).
  • the memory 404 stores information within the computing device 400.
  • the memory 404 is a volatile memory unit or units.
  • the memory 404 is a non- volatile memory unit or units.
  • the memory 404 may also be another form of computer-readable medium, such as a magnetic or optical disk.
  • the storage device 406 is capable of providing mass storage for the computing device 400.
  • the storage device 406 may be or contain a computer-readable medium, such as a floppy disk device, a hard disk device, an optical disk device, or a tape device, a flash memory or other similar solid state memory device, or an array of devices, including devices in a storage area network or other configurations.
  • a computer program product can be tangibly embodied in an information carrier.
  • the computer program product may also contain instructions that, when executed, perform one or more methods, such as those described above.
  • the information carrier is a computer- or machine-readable medium, such as the memory 404, the storage device 406, or memory on processor 402.
  • the high speed controller 408 manages bandwidth-intensive operations for the computing device 400, while the low speed controller 412 manages lower bandwidth-intensive operations.
  • the high-speed controller 408 is coupled to memory 404, display 416 (e.g., through a graphics processor or accelerator), and to high-speed expansion ports 410, which may accept various expansion cards (not shown).
  • low-speed controller 412 is coupled to storage device 406 and low- speed expansion port 414.
  • the low-speed expansion port which may include various communication ports (e.g., USB, Bluetooth, Ethernet, wireless Ethernet) may be coupled to one or more input/output devices, such as a keyboard, a pointing device, a scanner, or a networking device such as a switch or router, e.g., through a network adapter.
  • input/output devices such as a keyboard, a pointing device, a scanner, or a networking device such as a switch or router, e.g., through a network adapter.
  • the computing device 400 may be implemented in a number of different forms, as shown in the figure. For example, it may be implemented as a standard server 420, or multiple times in a group of such servers. It may also be implemented as part of a rack server system 424. In addition, it may be implemented in a personal computer such as a laptop computer 422. Alternatively, components from computing device 400 may be combined with other components in a mobile device (not shown), such as device 450. Each of such devices may contain one or more of computing device 400, 450, and an entire system may be made up of multiple computing devices 400, 450 communicating with each other.
  • Computing device 450 includes a processor 452, memory 464, an input/output device such as a display 454, a communication interface 466, and a transceiver 468, among other components.
  • the device 450 may also be provided with a storage device, such as a microdrive or other device, to provide additional storage.
  • a storage device such as a microdrive or other device, to provide additional storage.
  • Each of the components 450, 452, 464, 454, 466, and 468 are interconnected using various buses, and several of the components may be mounted on a common motherboard or in other manners as appropriate.
  • the processor 452 can execute instructions within the computing device 450, including instructions stored in the memory 464.
  • the processor may be implemented as a chipset of chips that include separate and multiple analog and digital processors.
  • the processor may provide, for example, for coordination of the other components of the device 450, such as control of user interfaces, applications run by device 450, and wireless communication by device 450.
  • Processor 452 may communicate with a user through control interface 458 and display interface 456 coupled to a display 454.
  • the display 454 may be, for example, a TFT LCD (Thin-Film-Transistor Liquid Crystal Display) or an OLED (Organic Light Emitting Diode) display, or other appropriate display technology.
  • the display interface 456 may comprise appropriate circuitry for driving the display 454 to present graphical and other information to a user.
  • the control interface 458 may receive commands from a user and convert them for submission to the processor 452.
  • an external interface 462 may be provide in communication with processor 452, so as to enable near area communication of device 450 with other devices.
  • External interface 462 may provide, for example, for wired communication in some implementations, or for wireless communication in other implementations, and multiple interfaces may also be used.
  • the memory 464 stores information within the computing device 450.
  • the memory 464 can be implemented as one or more of a computer- readable medium or media, a volatile memory unit or units, or a non-volatile memory unit or units.
  • Expansion memory 474 may also be provided and connected to device 450 through expansion interface 472, which may include, for example, a SIMM (Single In Line Memory Module) card interface.
  • SIMM Single In Line Memory Module
  • expansion memory 474 may provide extra storage space for device 450, or may also store applications or other information for device 450.
  • expansion memory 474 may include instructions to carry out or supplement the processes described above, and may include secure information also.
  • expansion memory 474 may be provided as a security module for device 450, and may be programmed with instructions that permit secure use of device 450.
  • secure applications may be provided via the SIMM cards, along with additional information, such as placing identifying information on the SIMM card in a non-hackable manner.
  • the memory may include, for example, flash memory and/or NVRAM memory, as discussed below.
  • a computer program product is tangibly embodied in an information carrier.
  • the computer program product contains instructions that, when executed, perform one or more methods, such as those described above.
  • the information carrier is a computer- or machine-readable storage medium, such as the memory 464, expansion memory 474, or memory on processor 452, that may be received, for example, over transceiver 468 or external interface 462.
  • Device 450 may communicate wirelessly through communication interface 466, which may include digital signal processing circuitry where necessary. Communication interface 466 may provide for communications under various modes or protocols, such as GSM voice calls, SMS, EMS, or MMS messaging, CDMA, TDMA, PDC, WCDMA, CDMA2000, or GPRS, among others. Such communications may occur, for example, through radio-frequency transceiver 468. In addition, short-range communication may occur, such as using a Bluetooth, WiFi, or other such transceiver (not shown). In addition, GPS (Global Positioning system) receiver module 470 may provide additional navigation- and location-related wireless data to device 450, which may be used as appropriate by applications running on device 450.
  • GPS Global Positioning system
  • Device 450 may also communicate audibly using audio codec 460, which may receive spoken information from a user and convert it to usable digital information. Audio codec 460 may likewise generate audible sound for a user, such as through a speaker, e.g., in a handset of device 450. Such sound may include sound from voice telephone calls, may include recorded sound (e.g., voice messages, music files, etc.) and may also include sound generated by applications operating on device 450.
  • Audio codec 460 may receive spoken information from a user and convert it to usable digital information. Audio codec 460 may likewise generate audible sound for a user, such as through a speaker, e.g., in a handset of device 450. Such sound may include sound from voice telephone calls, may include recorded sound (e.g., voice messages, music files, etc.) and may also include sound generated by applications operating on device 450.
  • the computing device 450 may be implemented in a number of different forms, as shown in the figure. For example, it may be implemented as a cellular telephone 480. It may also be implemented as part of a smart phone 482, personal digital assistant, a computer tablet, or other similar mobile device. [0047] Thus, various implementations of the systems and techniques described here can be realized in digital electronic circuitry, integrated circuitry, specially designed ASICs (application specific integrated circuits), computer hardware, firmware, software, and/or combinations thereof.
  • ASICs application specific integrated circuits
  • implementations can include implementation in one or more computer programs that are executable and/or interpretable on a programmable system including at least one programmable processor, which may be special or general purpose, coupled to receive data and instructions from, and to transmit data and instructions to, a storage system, at least one input device, and at least one output device.
  • a programmable processor which may be special or general purpose, coupled to receive data and instructions from, and to transmit data and instructions to, a storage system, at least one input device, and at least one output device.
  • the systems and techniques described here can be implemented on a computer having a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to the user and a keyboard and a pointing device (e.g., a mouse or a trackball) by which the user can provide input to the computer.
  • a display device e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor
  • a keyboard and a pointing device e.g., a mouse or a trackball
  • Other kinds of devices can be used to provide for interaction with a user as well; for example, feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form, including acoustic, speech, or tactile input.
  • the systems and techniques described here can be implemented in a computing system that includes a back end component (e.g., as a data server), or that includes a middleware component (e.g., an application server), or that includes a front end component (e.g., a client computer having a graphical user interface or a Web browser through which a user can interact with an implementation of the systems and techniques described here), or any combination of such back end, middleware, or front end components.
  • the components of the system can be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include a local area network ("LAN”), a wide area network (“WAN”), and the Internet.
  • LAN local area network
  • WAN wide area network
  • the Internet the global information network
  • the computing system can include clients and servers.
  • a client and server are generally remote from each other and typically interact through a communication network.
  • the relationship of client and server arises by virtue of computer programs running on the respective computers and having a client-server relationship to each other.
  • computing systems 400 and 450 are configured to transmit, receive, and/or retrieve previews, advertisements, search queries, and/or other information from various other computing devices connected to computing devices 400 and 450 through a communication network, and store these previews, advertisements, search queries, and/or other information within at least one of memory 404, storage device 406, and memory 464.
  • Computing systems 400 and 450 are further configured to manage and organize these previews, advertisements, search queries, and/or other information within at least one of memory 404, storage device 406, and memory 464 using the techniques described herein.
  • the particular naming of the components, capitalization of terms, the attributes, data structures, or any other programming or structural aspect is not mandatory or significant, and the mechanisms that implement the invention or its features may have different names, formats, or protocols.
  • the system may be implemented via a combination of hardware and software, as described, or entirely in hardware elements.
  • the particular division of functionality between the various system components described herein is merely exemplary, and not mandatory; functions performed by a single system component may instead be performed by multiple components, and functions performed by multiple components may instead performed by a single component.
  • Any such resulting program, having computer- readable and/or computer-executable instructions, may be embodied or provided within one or more computer-readable media, thereby making a computer program product, i.e., an article of manufacture, according to the discussed embodiments of the invention.
  • the computer readable media may be, for instance, a fixed (hard) drive, diskette, optical disk, magnetic tape, semiconductor memory such as read-only memory (ROM) or flash memory, etc., or any transmitting/receiving medium such as the Internet or other communication network or link.
  • the article of manufacture containing the computer code may be made and/or used by executing the instructions directly from one medium, by copying the code from one medium to another medium, or by transmitting the code over a network.

Abstract

A request to preview a data file is received from a user computing device. The data file includes at least one of a webpage, an image file, a video file, and a document file. File information associated with the data file is retrieved. The file information includes at least one of a title, a description, content, and contextual information associated with the data file. A contextual advertisement is identified based at least in part on the file information. A file preview is presented to the user. The file preview includes at least a portion of the data file and at least a portion of the contextual advertisement.

Description

CONTEXTUAL CONTENT FOR ONLINE
PREVIEWS
BACKGROUND OF THE INVENTION
[0001] This description relates to online content and, more particularly, to methods and systems for presenting contextual content with a preview.
[0002] In order to find desired content for a search query, a user may select one of the search results to view the content. If the selected search result does not present the desired content, the user may continue to select other search results to view the content or submit another search query to receive another set of search results. At least some known Internet search engines allow a user to preview the search results before fully accessing one of the search results. For example, the search engine may display an archived version of a website in a preview window. Known preview windows generally do not include any additional content embedded therein beyond the content corresponding to the search result.
[0003] Accordingly, it would be desirable to provide a method and system for presenting contextual content with a preview for online advertising purposes. By acquiring and/or using additional user information, advertisements may be more precisely targeted, thereby increasing an effectiveness of the advertisement.
BRIEF DESCRIPTION OF THE INVENTION
[0004] In one aspect, a computer-implemented method is provided for automatically displaying on a user interface at least one contextual advertisement to a user. The user interface is coupled to a user computing device. The method includes receiving, from the user computing device, a request to preview a data file. The data file includes at least one of a webpage, an image file, a video file, and a document file. File information associated with the data file is retrieved. The file information includes at least one of a title, a description, content, and contextual information associated with the data file. A contextual advertisement is identified based at least in part on the file information. A file preview is presented to the user. The file preview includes at least a portion of the data file and at least a portion of the contextual advertisement.
[0005] In another aspect, a computer system is provided. The computer system includes an advertisement module and a presentation module. The advertisement module is configured to retrieve file information associated with a data file, and identify a contextual advertisement based at least in part on the file information. The data file includes at least one of a webpage, an image file, a video file, and a document file. The file information includes at least one of a title, a description, content, and contextual information associated with the data file. The presentation module is configured to present a file preview to the user. The file preview includes at least a portion of the data file and at least a portion of the contextual advertisement.
[0006] In yet another aspect, one or more computer-readable storage media having computer-executable instructions embodied thereon is provided. When executed by at least one processor, the computer-executable instructions cause the processor to retrieve file information associated with a data file. The data file includes at least one of a webpage, an image file, a video file, and a document file. The file information includes at least one of a title, a description, content, and contextual information associated with the data file. A contextual advertisement is identified based at least in part on the file information. A file preview is presented to the user. The file preview includes at least a portion of the data file and at least a portion of the contextual advertisement.
[0007] In yet another aspect, a computer system is provided. The computer system includes a processor, and a computer-readable storage device having encoded thereon computer readable instructions that are executable by the processor to perform functions including retrieving file information associated with a data file. The data file includes at least one of a webpage, an image file, a video file, and a document file. The file information includes at least one of a title, a description, content, and contextual information associated with the data file. A contextual advertisement is identified based at least in part on the file information. A file preview is presented to the user. The file preview includes at least a portion of the data file and at least a portion of the contextual advertisement.
[0008] The features, functions, and advantages described herein may be achieved independently in various embodiments of the present disclosure or may be combined in yet other embodiments, further details of which may be seen with reference to the following description and drawings.
BRIEF DESCRIPTION OF THE DRAWINGS
[0009] FIGS. 1-5 show exemplary embodiments of the methods and systems described herein.
[0010] FIG. 1 is a schematic illustration of an exemplary environment for presenting a contextual advertisement with a preview in accordance with one embodiment of the present invention.
[0011] FIG. 2 is a screenshot of exemplary search results that may be presented in the environment shown in FIG. 1;
[0012] FIG. 3 is a screenshot of an exemplary preview pane that may be presented in the environment shown in FIG. 1;
[0013] FIG. 4 is a flowchart of an exemplary method that may be implemented in the environment shown in FIG. 1 to automatically present a contextual advertisement with a preview.
[0014] FIG. 5 is a diagram of exemplary computing devices that may be used in the environment shown in FIG. 1 to implement the method shown in FIG. 4.
[0015] Although specific features of various embodiments may be shown in some drawings and not in others, this is for convenience only. Any feature of any drawing may be referenced and/or claimed in combination with any feature of any other drawing. DETAILED DESCRIPTION OF THE INVENTION
[0016] The subject matter described herein relates generally to the presentation of online content. More specifically, the methods and systems described herein enable contextual content to be presented with a preview, namely an online preview. That is, the methods and systems described herein present a preview of a requested data file (e.g., a web page) with contextual content, such as an advertisement related to the requested data file and/or the end user to increase an effectiveness of the advertisement. Accordingly, the methods and systems described herein facilitate presenting a contextual advertisement to an end user. Embodiments of the methods and systems described herein enable a computer system to (i) receive a request to preview a data file, (ii) retrieve file information associated with the data file, (iii) identify a contextual advertisement based at least in part on the file information, and (iv) present a file preview to the user, wherein the file preview includes at least a portion of the data file and at least a portion of the contextual advertisement.
[0017] The following detailed description illustrates embodiments of the invention by way of example and not by way of limitation. It is contemplated that the invention has general application to presenting any electronic communication including, without limitation, advertisements, webpages, product and/or service reviews, news articles, editorials, text files, images, metadata files, audio files, presentations, and other electronic documents in industrial, commercial, and residential applications.
[0018] As used herein, an element or step recited in the singular and proceeded with the word "a" or "an" should be understood as not excluding plural elements or steps, unless such exclusion is explicitly recited. Furthermore, references to "one embodiment" of the present invention are not intended to be interpreted as excluding the existence of additional embodiments that also incorporate the recited features.
[0019] The methods and systems described herein may be implemented using computer programming or engineering techniques including computer software, firmware, hardware or any combination or subset thereof, wherein the technical effects may include at least one of a) receiving a search request; b) transmitting a search result page including a plurality of search results and a code snippet configured to activate a preview link for at least one search result included in the search results; c) receiving a request to preview a data file (e.g., one of the search results); d) retrieving file information associated with the data file; e) identifying a contextual advertisement based at least in part on the file information; and f) presenting a file preview to the user, wherein the file preview includes at least a portion of the data file and at least a portion of the contextual advertisement.
[0020] FIG. 1 is a schematic illustration of an exemplary environment 100 for presenting a contextual advertisement with a preview in accordance with one embodiment of the present invention. In the environment 100, a server system 120 (or other computing device) includes a content module 130 that sends out or transmits a plurality of fetch bots 140 to autonomously "crawl" or retrieve information or data associated with a plurality of files 150 (e.g., webpages, images files, video files, document files). The fetch bots 140 may retrieve, for example, data associated with a diverse set of websites on the Internet. The environment 100 may include any number of files 150 that enables the environment 100 to function as described herein. In the exemplary embodiment, the retrieved data may include contextual data including, without limitation, a title, a summary, a description, and other content associated with each file 150. Alternatively, the retrieved data may be any data that enables environment 100 to function as described herein.
[0021] In some implementations, the content module 130 parses the retrieved data to identify and/or determine outgoing links 160 (e.g., a hypertext reference or HREF links and source attribute or SRC links) included in the files 150. In at least some implementations, the content module 130 maintains a list of addresses associated with the outgoing links 160 and systematically provides the fetch bots 140 with the list of addresses to autonomously "crawl" or retrieve data associated with the corresponding files 150. [0022] In some implementations, the content module 130 generates a preview 170 for each file 150 based on the retrieved data. In at least some implementations, the preview 170 is a smaller and/or simpler version of the file 150 to facilitate reducing downloading times and may include a link to the file 150 and/or contextual data associated with the file 150. For example, the preview 170 may be a "snapshot" or a thumbnail image of the file 150. In at least some implementations, the fetch bots 140 retrieve data associated with a file 150 for which a preview 170 was previously generated by content module 130. In such implementations, the content module 130 generates an updated preview for the file 150 based on the more recently retrieved data. In at least some implementations, the preview 170 is generated "on the fly" or in substantially real-time upon receiving the preview request. The content module 130 may store the retrieved data and/or the generated previews 170 in cache and/or a database 180.
[0023] In some implementations, the server system 120 includes an advertisement module 190 that manages a plurality of advertisements 200. In the environment 100, the plurality of advertisements 200 are received from a plurality of advertisers 210. Although only two advertisements 200 and two advertisers 210 are depicted, the environment 100 may include any number of advertisements 200 and/or advertisers 210 that enables the environment 100 to function as described herein. In some implementations, the advertising module 190 identifies and/or determines at least one contextual advertisement 220 for each file 150 from the advertisements 200 based at least in part on keywords associated with the advertisements 200 and file information. File information may include any information and/or data associated with the file 150 including, without limitation, a title, a description, content, and contextual data associated with the file 150 and/or the preview 170. For example, if the file information for a particular file 150 and/or preview 170 is associated with automobiles, advertising module 190 may identify contextual advertisements 220 associated with automobile rentals, automobile repair, tires, and the like. In at least some implementations, the contextual advertisement 220 is identified and/or determined based at least in part on user information. User information may include any information and/or data associated with an end user (described in more detail below) including, without limitation, a search query, search history, transaction history, user activity history, profile information, and/or any other information explicitly or implicitly obtained.
[0024] In at least some implementations, the server system 120 may anonymize data for end users so that the stored data cannot be associated with the end users. For example, a search query may be associated with a unique 128-bit number that is not associated with any end user. Instead or in addition, opt-in and/or opt-out procedures may be provided, and if the end user opts-in for tracking of user history data, the systems and techniques described herein can associate search queries, clicks and/or other user activities with a user identifier that is uniquely associated with the end user. An end user may grant permission to the server system 120 to track user history so that historical data for the end user's search sessions and other user data are tracked and associated with the end user. For example, at the end user's option, a search engine and/or a browser may be configured to track only data approved by the end user, such as only search queries and search result selections. The end user may clear historical data associated with the end user at any time, and can opt-out of such tracking at any time. In another example, an identifier may also anonymously identify a device (e.g., a laptop or a mobile phone) from which the user activity originated. A device identifier can be, for example, a cookie or an Internet Protocol (IP) address.
[0025] In at least some implementations, the advertising module 190 may include and/or access functionality associated with the AdWords® and AdSense® systems (AdWords and AdSense are registered trademarks of Google Inc. headquartered in Mountain View, CA). While reference is made to managing advertisements 200, the environment 100 may be suitable for distributing other forms of content including other forms of sponsored content. For example, advertisements 200 may refer to any form of communication in which one or more products, services, ideas, messages, people, organizations or other items are identified and promoted or otherwise communicated. Advertisements 200 are not limited to commercial promotions or other communications. For example, advertisements 200 may be a public service announcement or any other type of notice. [0026] Advertisements 200 may be communicated via various mediums and in various forms. In some examples, advertisements 200 may be communicated through an interactive medium, such as the Internet, and may include graphical advertisements (e.g., banner advertisements), textual advertisements, image advertisements, audio advertisements, video advertisements, advertisements combining one of more of any of such components, or any form of electronically delivered advertisement. Advertisements 200 may include embedded information, such as embedded media, links, meta-information, and/or machine executable instructions. Advertisements 200 may also be communicated through RSS (Really Simple Syndication) feeds, radio channels, television channels, print media, and other media.
[0027] In some implementations, the server system 120 includes a search engine module 230 that receives a search request 240 from an end user 250 via a user interface 260 coupled to a user computing device 270, and determines and/or identifies search results 280 based on the search request 240 (i.e., a set of files 150 associated with the search request 240). The search engine module 230 transmits the search results 280 to the user computing device 270 with at least one code fragment or code "snippet". A code snippet refers, for example, to a method used by one device (e.g., the server system 120) to ask another device (e.g., a browser running on the user computing device 270) to perform actions after or while downloading information. In some examples, a code snippet may be implemented in JavaScript® code or may be part of HyperText Markup Language (HTML) or other web page markup language or content (JavaScript is a registered trademark of Sun Microsystems, Inc. headquartered in Santa Clara, CA). For example, as shown in FIG. 2, the code snippet is programmed to present and/or activate a preview link 290 for each file 150 included in the search results 280. The preview links 290 enable the end user 250 to preview specific content of each search result 280 without browsing through and/or opening the files 150.
[0028] In some implementations, the search engine module 230 receives an indication 285 of the end user 250 selecting a preview link 290 for one of the files 150 (i.e., a preview request) and, in response to the indication, retrieves the preview 170 generated by the content module 130. For example, the indication 285 may be received when a pointing device (e.g., an arrow) displayed on the user interface 260 is selectively positioned over the preview link 290 (e.g., a "mouse-over") and/or when a user input device (e.g., a mouse) is selectively clicked when the pointing device is selectively positioned over the preview link 290.
[0029] In some implementations, the preview 170 is presented to the end user 250 in a preview window and/or a preview webpage with the contextual advertisement 220. For example, as shown in FIG. 3, the code snippet is programmed to present a preview window including the preview 170, file information associated with the corresponding file 150, and/or the contextual advertisement 220 associated with the file 150. In at least some implementations, the code snippet may include JavaScript® parameters reflecting various display settings (e.g., size, font, color, number of advertisements, display format, etc.) in the customization settings. The code snippet may be any type of interpreted or executable software code such as a kernel component, an application program, a script, a linked library, an object with methods, and the like. Alternatively, the preview 170 may be presented in any manner that enables environment 100 to function as described herein.
[0030] FIG. 4 is a flowchart of an exemplary method 300 that may be implemented in the environment 100 to automatically present a contextual advertisement 220 with a preview 170. Components or steps described in FIG. 4 that are identical to components or steps described previously in FIGS. 1-3 are identified using the same reference numerals as shown in FIGS. 1-3. During operation, a search request 240 is received 310 from an end user 250. In response to receiving the search request 240, search results 280 are determined and transmitted 320 to the user computing device 270 with at least one code snippet.
[0031] In some implementations, a request to preview one of the search results 280 is received 330 from the user computing device 270. More particularly, in at least some implementations, the end user 250 mouses-over and/or clicks on a preview link 290 associated with the desired search result 280 to indicate a selection of the preview link 290. In response to receiving the file preview request, the code snippet is implemented and/or executed 340, and at least the preview 170 and the contextual advertisement 220 are retrieved 350 and then transmitted 360 to the user computing device 270. In at least some implementations, the previews 170, contextual advertisements 220, and/or other contextual data for each search result 280 are stored in the database 180. Moreover, in at least some implementations, the contextual advertisement 220 is identified and/or predetermined based at least in part on file information and/or user information (e.g., other search requests associated with the end user 250). In at least some implementations, the user interface 260 presents a preview window with the preview 170 and the contextual advertisement 220.
[0032] FIG. 5 is a diagram of exemplary computing devices 400 and 450 that may be used in the environment 100. More specifically, FIG. 5 shows an exemplary computing device 400 and an exemplary mobile computing device 450, which may be used with the techniques described herein. For example, in some implementations, the end user may input a search query into computing device 450, which transmits the search query to computing device 400. In such implementations, computing device 400 may store previews and/or advertisements and be configured to quickly and efficiently present contextual advertisements. For example, computing device 400 may include, for example, at least the content module 130, the advertisement module 190, and the search engine module 230 to implement method 300.
[0033] Computing device 400 is intended to represent various forms of digital computers, such as laptops, desktops, workstations, personal digital assistants, servers, blade servers, mainframes, and other appropriate computers. Computing device 450 is intended to represent various forms of mobile devices, such as personal digital assistants, cellular telephones, smart phones, and other similar computing devices. The components shown here, their connections and relationships, and their functions, are meant to be exemplary only, and are not meant to limit implementations of the inventions described and/or claimed in this document.
[0034] Computing device 400 includes a processor 402, memory 404, a storage device 406, a high-speed interface 408 connecting to memory 404 and high- speed expansion ports 410, and a low speed interface 412 connecting to low speed bus 414 and storage device 406. Each of the components 402, 404, 406, 408, 410, and 412, are interconnected using various busses, and may be mounted on a common motherboard or in other manners as appropriate. The processor 402 can process instructions for execution within the computing device 400, including instructions stored in the memory 404 or on the storage device 406 to display graphical information for a GUI on an external input/output device, such as display 416 coupled to high speed interface 408. In other implementations, multiple processors and/or multiple buses may be used, as appropriate, along with multiple memories and types of memory. Also, multiple computing devices 400 may be connected, with each device providing portions of the necessary operations (e.g., as a server bank, a group of blade servers, or a multi-processor system).
[0035] The memory 404 stores information within the computing device 400. In one implementation, the memory 404 is a volatile memory unit or units. In another implementation, the memory 404 is a non- volatile memory unit or units. The memory 404 may also be another form of computer-readable medium, such as a magnetic or optical disk.
[0036] The storage device 406 is capable of providing mass storage for the computing device 400. In one implementation, the storage device 406 may be or contain a computer-readable medium, such as a floppy disk device, a hard disk device, an optical disk device, or a tape device, a flash memory or other similar solid state memory device, or an array of devices, including devices in a storage area network or other configurations. A computer program product can be tangibly embodied in an information carrier. The computer program product may also contain instructions that, when executed, perform one or more methods, such as those described above. The information carrier is a computer- or machine-readable medium, such as the memory 404, the storage device 406, or memory on processor 402.
[0037] The high speed controller 408 manages bandwidth-intensive operations for the computing device 400, while the low speed controller 412 manages lower bandwidth-intensive operations. Such allocation of functions is exemplary only. In one implementation, the high-speed controller 408 is coupled to memory 404, display 416 (e.g., through a graphics processor or accelerator), and to high-speed expansion ports 410, which may accept various expansion cards (not shown). In the implementation, low-speed controller 412 is coupled to storage device 406 and low- speed expansion port 414. The low-speed expansion port, which may include various communication ports (e.g., USB, Bluetooth, Ethernet, wireless Ethernet) may be coupled to one or more input/output devices, such as a keyboard, a pointing device, a scanner, or a networking device such as a switch or router, e.g., through a network adapter.
[0038] The computing device 400 may be implemented in a number of different forms, as shown in the figure. For example, it may be implemented as a standard server 420, or multiple times in a group of such servers. It may also be implemented as part of a rack server system 424. In addition, it may be implemented in a personal computer such as a laptop computer 422. Alternatively, components from computing device 400 may be combined with other components in a mobile device (not shown), such as device 450. Each of such devices may contain one or more of computing device 400, 450, and an entire system may be made up of multiple computing devices 400, 450 communicating with each other.
[0039] Computing device 450 includes a processor 452, memory 464, an input/output device such as a display 454, a communication interface 466, and a transceiver 468, among other components. The device 450 may also be provided with a storage device, such as a microdrive or other device, to provide additional storage. Each of the components 450, 452, 464, 454, 466, and 468, are interconnected using various buses, and several of the components may be mounted on a common motherboard or in other manners as appropriate.
[0040] The processor 452 can execute instructions within the computing device 450, including instructions stored in the memory 464. The processor may be implemented as a chipset of chips that include separate and multiple analog and digital processors. The processor may provide, for example, for coordination of the other components of the device 450, such as control of user interfaces, applications run by device 450, and wireless communication by device 450.
[0041] Processor 452 may communicate with a user through control interface 458 and display interface 456 coupled to a display 454. The display 454 may be, for example, a TFT LCD (Thin-Film-Transistor Liquid Crystal Display) or an OLED (Organic Light Emitting Diode) display, or other appropriate display technology. The display interface 456 may comprise appropriate circuitry for driving the display 454 to present graphical and other information to a user. The control interface 458 may receive commands from a user and convert them for submission to the processor 452. In addition, an external interface 462 may be provide in communication with processor 452, so as to enable near area communication of device 450 with other devices. External interface 462 may provide, for example, for wired communication in some implementations, or for wireless communication in other implementations, and multiple interfaces may also be used.
[0042] The memory 464 stores information within the computing device 450. The memory 464 can be implemented as one or more of a computer- readable medium or media, a volatile memory unit or units, or a non-volatile memory unit or units. Expansion memory 474 may also be provided and connected to device 450 through expansion interface 472, which may include, for example, a SIMM (Single In Line Memory Module) card interface. Such expansion memory 474 may provide extra storage space for device 450, or may also store applications or other information for device 450. Specifically, expansion memory 474 may include instructions to carry out or supplement the processes described above, and may include secure information also. Thus, for example, expansion memory 474 may be provided as a security module for device 450, and may be programmed with instructions that permit secure use of device 450. In addition, secure applications may be provided via the SIMM cards, along with additional information, such as placing identifying information on the SIMM card in a non-hackable manner.
[0043] The memory may include, for example, flash memory and/or NVRAM memory, as discussed below. In one implementation, a computer program product is tangibly embodied in an information carrier. The computer program product contains instructions that, when executed, perform one or more methods, such as those described above. The information carrier is a computer- or machine-readable storage medium, such as the memory 464, expansion memory 474, or memory on processor 452, that may be received, for example, over transceiver 468 or external interface 462.
[0044] Device 450 may communicate wirelessly through communication interface 466, which may include digital signal processing circuitry where necessary. Communication interface 466 may provide for communications under various modes or protocols, such as GSM voice calls, SMS, EMS, or MMS messaging, CDMA, TDMA, PDC, WCDMA, CDMA2000, or GPRS, among others. Such communications may occur, for example, through radio-frequency transceiver 468. In addition, short-range communication may occur, such as using a Bluetooth, WiFi, or other such transceiver (not shown). In addition, GPS (Global Positioning system) receiver module 470 may provide additional navigation- and location-related wireless data to device 450, which may be used as appropriate by applications running on device 450.
[0045] Device 450 may also communicate audibly using audio codec 460, which may receive spoken information from a user and convert it to usable digital information. Audio codec 460 may likewise generate audible sound for a user, such as through a speaker, e.g., in a handset of device 450. Such sound may include sound from voice telephone calls, may include recorded sound (e.g., voice messages, music files, etc.) and may also include sound generated by applications operating on device 450.
[0046] The computing device 450 may be implemented in a number of different forms, as shown in the figure. For example, it may be implemented as a cellular telephone 480. It may also be implemented as part of a smart phone 482, personal digital assistant, a computer tablet, or other similar mobile device. [0047] Thus, various implementations of the systems and techniques described here can be realized in digital electronic circuitry, integrated circuitry, specially designed ASICs (application specific integrated circuits), computer hardware, firmware, software, and/or combinations thereof. These various implementations can include implementation in one or more computer programs that are executable and/or interpretable on a programmable system including at least one programmable processor, which may be special or general purpose, coupled to receive data and instructions from, and to transmit data and instructions to, a storage system, at least one input device, and at least one output device.
[0048] These computer programs (also known as programs, software, software applications or code) include machine instructions for a programmable processor, and can be implemented in a high-level procedural and/or object-oriented programming language, and/or in assembly/machine language. As used herein, the terms "machine -readable storage medium" and "computer-readable storage medium" refer to any computer program product, apparatus and/or device (e.g., magnetic discs, optical disks, memory, Programmable Logic Devices (PLDs)) used to provide machine instructions and/or data to a programmable processor, including a machine- readable storage medium that receives machine instructions as a machine-readable signal. The term "machine-readable signal" refers to any signal used to provide machine instructions and/or data to a programmable processor. The machine-readable storage medium does not include a machine-readable signal.
[0049] To provide for interaction with a user, the systems and techniques described here can be implemented on a computer having a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to the user and a keyboard and a pointing device (e.g., a mouse or a trackball) by which the user can provide input to the computer. Other kinds of devices can be used to provide for interaction with a user as well; for example, feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form, including acoustic, speech, or tactile input. [0050] The systems and techniques described here can be implemented in a computing system that includes a back end component (e.g., as a data server), or that includes a middleware component (e.g., an application server), or that includes a front end component (e.g., a client computer having a graphical user interface or a Web browser through which a user can interact with an implementation of the systems and techniques described here), or any combination of such back end, middleware, or front end components. The components of the system can be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include a local area network ("LAN"), a wide area network ("WAN"), and the Internet.
[0051] The computing system can include clients and servers. A client and server are generally remote from each other and typically interact through a communication network. The relationship of client and server arises by virtue of computer programs running on the respective computers and having a client-server relationship to each other.
[0052] In the example embodiment, computing systems 400 and 450 are configured to transmit, receive, and/or retrieve previews, advertisements, search queries, and/or other information from various other computing devices connected to computing devices 400 and 450 through a communication network, and store these previews, advertisements, search queries, and/or other information within at least one of memory 404, storage device 406, and memory 464. Computing systems 400 and 450 are further configured to manage and organize these previews, advertisements, search queries, and/or other information within at least one of memory 404, storage device 406, and memory 464 using the techniques described herein.
[0053] In addition, the logic flows depicted in the figures do not require the particular order shown, or sequential order, to achieve desirable results. In addition, other steps may be provided, or steps may be eliminated, from the described flows, and other components may be added to, or removed from, the described systems. Accordingly, other embodiments are within the scope of the following claims. [0054] It will be appreciated that the above embodiments that have been described in particular detail are merely example or possible embodiments, and that there are many other combinations, additions, or alternatives that may be included.
[0055] Also, the particular naming of the components, capitalization of terms, the attributes, data structures, or any other programming or structural aspect is not mandatory or significant, and the mechanisms that implement the invention or its features may have different names, formats, or protocols. Further, the system may be implemented via a combination of hardware and software, as described, or entirely in hardware elements. Also, the particular division of functionality between the various system components described herein is merely exemplary, and not mandatory; functions performed by a single system component may instead be performed by multiple components, and functions performed by multiple components may instead performed by a single component.
[0056] Some portions of the above description present features in terms of algorithms and symbolic representations of operations on information. These algorithmic descriptions and representations may be used by those skilled in the data processing arts to most effectively convey the substance of their work to others skilled in the art. These operations, while described functionally or logically, are understood to be implemented by computer programs. Furthermore, it has also proven convenient at times, to refer to these arrangements of operations as modules or by functional names, without loss of generality.
[0057] Unless specifically stated otherwise as apparent from the above discussion, it is appreciated that throughout the description, discussions utilizing terms such as "processing" or "computing" or "calculating" or "determining" or "displaying" or "providing" or "presenting" or the like, refer to the action and processes of a computer system, or similar electronic computing device, that manipulates and transforms data represented as physical (electronic) quantities within the computer system memories or registers or other such information storage, transmission or display devices. [0058] Based on the foregoing specification, the above-discussed embodiments of the invention may be implemented using computer programming or engineering techniques including computer software, firmware, hardware or any combination or subset thereof. Any such resulting program, having computer- readable and/or computer-executable instructions, may be embodied or provided within one or more computer-readable media, thereby making a computer program product, i.e., an article of manufacture, according to the discussed embodiments of the invention. The computer readable media may be, for instance, a fixed (hard) drive, diskette, optical disk, magnetic tape, semiconductor memory such as read-only memory (ROM) or flash memory, etc., or any transmitting/receiving medium such as the Internet or other communication network or link. The article of manufacture containing the computer code may be made and/or used by executing the instructions directly from one medium, by copying the code from one medium to another medium, or by transmitting the code over a network.
[0059] While the disclosure has been described in terms of various specific embodiments, it will be recognized that the disclosure can be practiced with modification within the spirit and scope of the claims.

Claims

WHAT IS CLAIMED IS:
1. A computer-implemented method for automatically displaying on a user interface at least one contextual advertisement to a user, the user interface coupled to a user computing device, the method comprising: receiving, from the user computing device, a request to preview a data file, wherein the data file includes at least one of a webpage, an image file, a video file, and a document file; retrieving file information associated with the data file, wherein the file information includes at least one of a title, a description, content, and contextual information associated with the data file; identifying a contextual advertisement based at least in part on the file information; and presenting a file preview to the user, wherein the file preview includes at least a portion of the data file and at least a portion of the contextual advertisement.
2. A computer-implemented method in accordance with claim 1 further comprising: receiving a search request from the user computing device; and transmitting a search result page to the user computing device in response to receiving the search request, wherein the search result page includes a plurality of search results and a code snippet configured to activate a preview link for at least one search result included in the plurality of search results.
3. A computer-implemented method in accordance with claim 2, wherein the file preview is presented to the user with at least the portion of the contextual advertisement when the preview link is activated.
4. A computer-implemented method in accordance with claim 1, wherein the file preview and the portion of the contextual advertisement are presented to the user in a preview window.
5. A computer-implemented method in accordance with claim 1, wherein the file preview and the portion of the contextual advertisement are presented to the user in a preview webpage.
6. A computer-implemented method in accordance with claim 1, wherein the file preview is presented to the user without opening the data file.
7. A computer-implemented method in accordance with claim 1, wherein the contextual advertisement is identified based at least in part on user information.
8. A computer system comprising: an advertisement module configured to retrieve file information associated with a data file, and identify a contextual advertisement based at least on the file information, wherein the data file includes at least one of a webpage, an image file, a video file, and a document file, and wherein the file information includes at least one of a title, a description, content, and contextual information associated with the data file; and a presentation module configured to present a file preview to a user, wherein the file preview includes at least a portion of the data file and at least a portion of the contextual advertisement.
9. A computer system in accordance with claim 8, wherein the presentation module is further configured to transmit a search result page in response to receiving a search request, wherein the search result page includes a plurality of search results and a code snippet programmed to activate a preview link for at least one search result included in the plurality of search results.
10. A computer system in accordance with claim 9, wherein the presentation module is further configured to present the file preview to the user with at least the portion of the contextual advertisement when the preview link is activated.
11. A computer system in accordance with claim 8, wherein the presentation module is further configured to present the file preview and the portion of the contextual advertisement to the user in a preview window.
12. A computer system in accordance with claim 8, wherein the presentation module is further configured to present the file preview to the user without opening the data file.
13. A computer system in accordance with claim 8, wherein the advertisement module is further configured to identify the contextual advertisement based at least in part on user information.
14. Computer-readable storage media having computer-executable instructions embodied thereon, wherein, when executed by at least one processor, the computer-executable instructions cause the processor to: retrieve file information associated with a data file, wherein the data file includes at least one of a webpage, an image file, a video file, and a document file, and wherein the file information includes at least one of a title, a description, content, and contextual information associated with the data file; identify a contextual advertisement based at least in part on the file information; and present a file preview to a user, wherein the file preview includes at least a portion of the data file and at least a portion of the contextual advertisement.
15. The computer-readable storage media in accordance with claim 14, wherein the computer-executable instructions further cause the processor to transmit a search result page in response to receiving a search request, wherein the search result page includes a plurality of search results and a code snippet programmed to activate a preview link for at least one search result included in the plurality of search results.
16. The computer-readable storage media in accordance with claim 15, wherein the computer-executable instructions further cause the processor to present the file preview to the user with at least the portion of the contextual advertisement when the preview link is activated.
17. The computer-readable storage media in accordance with claim 14, wherein the computer-executable instructions further cause the processor to present the file preview and the portion of the contextual advertisement to the user in a preview window.
18. The computer-readable storage media in accordance with claim 14, wherein the computer-executable instructions further cause the processor to present the file preview to the user without opening the data file.
19. The computer-readable storage media in accordance with claim 14, wherein the computer-executable instructions further cause the processor to identify the contextual advertisement based at least in part on user information.
20. A computer system comprising: a processor; and a computer-readable storage device having encoded thereon computer readable instructions that are executable by the processor to perform functions comprising: retrieving file information associated with a data file, wherein the data file includes at least one of a webpage, an image file, a video file, and a document file, and wherein the file information includes at least one of a title, a description, content, and contextual information associated with the data file; identifying a contextual advertisement based at least in part on the file information; and presenting a file preview to a user, wherein the file preview includes at least a portion of the data file and at least a portion of the contextual advertisement.
21. A computer system in accordance with claim 20, wherein the functions performed by the processor further comprise transmitting a search result page in response to receiving a search request, wherein the search result page includes a plurality of search results and a code snippet programmed to activate a preview link for at least one search result included in the plurality of search results.
22. A computer system in accordance with claim 21, wherein the functions performed by the processor further comprise presenting the file preview to the user with at least the portion of the contextual advertisement when the preview link is activated.
23. A computer system in accordance with claim 20, wherein the functions performed by the processor further comprise presenting the file preview and the portion of the contextual advertisement to the user in a preview window.
24. A computer system in accordance with claim 20, wherein the functions performed by the processor further comprise presenting the file preview to the user without opening the data file.
25. A computer system in accordance with claim 20, wherein the functions performed by the processor further comprise identifying the contextual advertisement based at least in part on user information.
PCT/CN2012/000795 2012-06-11 2012-06-11 Contextual content for online previews WO2013185254A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/CN2012/000795 WO2013185254A1 (en) 2012-06-11 2012-06-11 Contextual content for online previews

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2012/000795 WO2013185254A1 (en) 2012-06-11 2012-06-11 Contextual content for online previews

Publications (1)

Publication Number Publication Date
WO2013185254A1 true WO2013185254A1 (en) 2013-12-19

Family

ID=49757384

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2012/000795 WO2013185254A1 (en) 2012-06-11 2012-06-11 Contextual content for online previews

Country Status (1)

Country Link
WO (1) WO2013185254A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113051504A (en) * 2021-03-23 2021-06-29 北京百度网讯科技有限公司 Document preview method, apparatus, device, storage medium and program product

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060294476A1 (en) * 2005-06-23 2006-12-28 Microsoft Corporation Browsing and previewing a list of items
US20070130602A1 (en) * 2005-12-07 2007-06-07 Ask Jeeves, Inc. Method and system to present a preview of video content
US20070130203A1 (en) * 2005-12-07 2007-06-07 Ask Jeeves, Inc. Method and system to provide targeted advertising with search results

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060294476A1 (en) * 2005-06-23 2006-12-28 Microsoft Corporation Browsing and previewing a list of items
US20070130602A1 (en) * 2005-12-07 2007-06-07 Ask Jeeves, Inc. Method and system to present a preview of video content
US20070130203A1 (en) * 2005-12-07 2007-06-07 Ask Jeeves, Inc. Method and system to provide targeted advertising with search results

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113051504A (en) * 2021-03-23 2021-06-29 北京百度网讯科技有限公司 Document preview method, apparatus, device, storage medium and program product
CN113051504B (en) * 2021-03-23 2023-08-01 北京百度网讯科技有限公司 Document preview method, device, apparatus, storage medium and program product

Similar Documents

Publication Publication Date Title
USRE49262E1 (en) Providing content to a user across multiple devices
US11361344B2 (en) Combining content with a search result
US8688984B2 (en) Providing content to a user across multiple devices
US10862888B1 (en) Linking a forwarded contact on a resource to a user interaction on a requesting source item
US9514446B1 (en) Remarketing content to a user associated with multiple devices
US20120265607A1 (en) Click-to-reveal content
US20180144375A1 (en) Bidding based on the relative value of identifiers
US20130291123A1 (en) Privacy management across multiple devices
US20160344831A1 (en) Proxy service for content requests
US8892685B1 (en) Quality score of content for a user associated with multiple devices
US11620686B2 (en) Third party customized content based on first party identifer
US10460098B1 (en) Linking devices using encrypted account identifiers
US11720920B1 (en) Combining content with a search result
US20140156381A1 (en) Methods and systems for creating and managing user interest lists for providing online content
US9258279B1 (en) Bookmarking content for users associated with multiple devices
WO2013185254A1 (en) Contextual content for online previews
US10129323B1 (en) Sharing data across partner websites

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: 12878688

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 12878688

Country of ref document: EP

Kind code of ref document: A1