US20120117485A1 - Layered augmentation for web content - Google Patents

Layered augmentation for web content Download PDF

Info

Publication number
US20120117485A1
US20120117485A1 US13/353,175 US201213353175A US2012117485A1 US 20120117485 A1 US20120117485 A1 US 20120117485A1 US 201213353175 A US201213353175 A US 201213353175A US 2012117485 A1 US2012117485 A1 US 2012117485A1
Authority
US
United States
Prior art keywords
keyword
server
web page
client
resources
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
US13/353,175
Inventor
Richard Brindley
Craig Allen Gooding
Anna Kassoway
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Vibrant Media Inc
Original Assignee
Vibrant Media 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 US12/233,540 external-priority patent/US8122014B2/en
Application filed by Vibrant Media Inc filed Critical Vibrant Media Inc
Priority to US13/353,175 priority Critical patent/US20120117485A1/en
Publication of US20120117485A1 publication Critical patent/US20120117485A1/en
Assigned to VIBRANT MEDIA, INC. reassignment VIBRANT MEDIA, INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: BRINDLEY, RICHARD, GOODING, CRAIG ALLEN, KASSOWAY, ANNA
Assigned to SILICON VALLEY BANK reassignment SILICON VALLEY BANK SECURITY INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: VIBRANT MEDIA, INC.
Abandoned legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0241Advertisements
    • G06Q30/0251Targeted advertisements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/955Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
    • G06F16/9566URL specific, e.g. using aliases, detecting broken or misspelled links
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • G06F16/9577Optimising the visualization of content, e.g. distillation of HTML documents
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/953Organization of data
    • Y10S707/959Network
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/964Database arrangement
    • Y10S707/966Distributed
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99942Manipulating data structure, e.g. compression, compaction, compilation

Definitions

  • the disclosure generally relates to the field of data augmentation, in particular to augmenting textual content in documents.
  • Hypertext is commonly used to provide related (or supplemental) information in a web page.
  • Hypertext is the organization of computer based text into connected associations enabling a user to quickly access information that the user chooses. An instance of such an association is called a hyperlink or hypertext link.
  • a hyperlink when selected, leads the viewer to another web page (or file or resource, collectively called the destination page).
  • the hyperlinks are generated by human editors, a process that is both tedious and subject to human errors. Further, by the time a viewer tries to visit a destination page of a hyperlink, the destination page may cease to exist or have evolved to no longer provide the related information.
  • the art lacks, inter alia, a system and method for augmenting textual content in web pages with supplemental information (or resources), enabling viewers of the web pages to access the supplemental information without leaving the web pages, and maintaining the augmentation up-to-date.
  • Embodiments of the present disclosure include methods (and corresponding systems and computer program products) that augment content in web pages with resources and provide augmented content such as relevant information and advertisements based on user interaction with the augmented content in the web pages.
  • the disclosed embodiments comprise analyzing a web page to identify a keyword (or a set of keywords or phrases) in the web page, locating a piece of reference data from a reference database matching the identified keyword, generating an association of the located piece of reference data and the keyword, and embedding the association in an augmented web page corresponding to the web page.
  • the disclosed embodiments Upon receiving a request from a client computer corresponding to a pointer being positioned over the keyword in the augmented web page, the disclosed embodiments determine a plurality of resources relevant to the keyword by searching for the plurality of resources using the located piece of reference data in a resource database, and transmit the plurality of resources to the client computer for display in a multi-layered dialog box, such that a viewer can access the plurality of resources by interacting with the multi-layered dialog box without leaving the augmented web page.
  • Advantages of the disclosed embodiments include providing content providers with additional channels for delivering relevant advertisements and other content to viewers. Because the relevant resources are presented in a multi-layered dialog box, viewers can access more relevant resources in a well-organized manner. Because the augmented data is displayed as an overlay of the current web page, the disclosed embodiments in essence establish a third dimension (e.g., a “z-axis”) to present information (the first and second dimensions being the length (e.g., a “x-axis”) and width (e.g., a “y-axis”) of the web page), enabling viewers to access additional relevant content without leaving the current web page.
  • a third dimension e.g., a “z-axis”
  • This feature is beneficial for devices with limited screen space, for example, mobile computing devices (e.g., handheld computers) or conventional computer screens having many active windows that are simultaneously displayed.
  • the disclosed embodiments also enhance viewers' web browsing experience by providing relevant content overlays without the need to leave their current web page to augment the information to provide for a user.
  • FIG. 1 is a block diagram illustrating one embodiment of a computing environment for augmenting source data files with layered augmentation.
  • FIG. 2 is a block diagram illustrating one example architecture of an augmentation server in FIG. 1 .
  • FIGS. 3A through 3C are flowcharts collectively illustrating an example method for augmenting source data files with layered augmentation.
  • FIGS. 4A through 4E are screenshots illustrating a web page, its corresponding augmented web page, and a viewer's user experience interacting with the augmented web page according to one embodiment of the present disclosure.
  • the disclosed embodiments describe examples of a method (and corresponding system and computer program product) for augmenting files with related resources through layered augmentation.
  • Viewers of the augmented files can access the related resources through a multi-layered dialog box.
  • the process of providing additional resources through multi-layered dialog box and the multi-layered dialog box are collectively called layered augmentation.
  • the method identifies data in a file, associates the identified data with reference data in a reference database, and stores the associations in a corresponding augmented file.
  • a viewer of the augmented file can access resources related to a piece of augmented data through layered augmentation. When the viewer moves a pointer over the piece of augmented data (also called mouse-over), the related resources are provided in a multi-layered dialog box. The dialog box is overlaid on the augmented file approximate to the position where the mouse-over occurred. The viewer can navigate through the related resources in the dialog box without leaving the augmented file.
  • a file includes any types of documents such as web pages.
  • Augmented data the data with integrated association in an augmented file, include any types of content such as text and image.
  • Resources provided through layered augmentations include textual content, visual content such as images and videos, interactive controls such as dialog boxes, and services such as Internet search service and advertisement.
  • a pointer can be any pointer device such as a mouse, a trackball, a roller, and a touchpad.
  • the method and corresponding system and computer program product is described in terms of augmenting keywords (or key phrases) in web pages and delivering related advertisements through multi-layered dialog boxes based on user interactions with the augmented keywords, even though the disclosed embodiments apply to all other types of content, files, and resources as defined above.
  • FIG. 1 illustrates one embodiment of a computing environment 100 for augmenting web pages and providing viewers of the augmented web pages with related advertisements through layered augmentation based on user interaction.
  • the computing environment 100 includes an augmentation server 110 , multiple content providers (or websites) 120 , and one or more client computers (or user systems) 130 , all of which are communicatively coupled through a network 140 .
  • the augmentation server 110 is configured to augment keywords (or other types of content) in web pages (or other types of documents) with advertisements (or other types of resources), and deliver the advertisements based on user interaction with the augmented keywords.
  • the augmentation server 110 retrieves web pages from the content providers 120 and augments the web pages.
  • the augmentation server 110 augments a web page by identifying keywords in the web page, associating (or tagging) the keywords with one or more related references in a reference database, generating an augmented web page, and storing the associations in a database.
  • the augmentation server 110 displays (or avails) related advertisements in the client computer 130 through a multi-layered dialog box.
  • the augmentation server 110 displays (or avails) related advertisements in the client computer 130 through a multi-layered dialog box.
  • An example architecture of the augmentation server 110 is described in detail below with respect to FIG. 2 .
  • the content providers 120 are entities that provide (or generate), host, publish, control, or otherwise have rights over a collection of web pages (or other types of documents).
  • the content providers 120 are web servers hosting web pages for viewers to access.
  • the content providers 120 may provide web pages to the augmentation server 110 for layered augmentation.
  • the content providers 120 may either instruct or give permission to the augmentation server 110 to retrieve all or parts of their web pages for layered augmentation.
  • the client computers 130 are client devices for users to browse web pages (or other types of documents).
  • a client computer 130 includes a pointer device (e.g., a mouse, a trackball, a roller, a touchpad, or the like), a conventional web browser (e.g., Microsoft Internet ExplorerTM, Mozilla FirefoxTM, or Apple SafariTM), and can retrieve and display web pages from the content providers 120 in a conventional manner (e.g., using the HyperText Transfer Protocol).
  • the client computer 130 displays augmented keywords in an augmented web page differently than the non-augmented content. For example, the augmented keywords can be displayed in a double underline style and/or in a color distinctive from texts that are not augmented.
  • the client computer 130 When a user moves a pointer (e.g., mouse pointer) over (e.g., mouse-over) an augmented keyword in the augmented web page, the client computer 130 (or the utilized web browser) generates a request and transmits the request to the augmentation server 110 .
  • the augmentation server 110 receives the request and determines relevant advertisements to transmit to the client computer 130 .
  • the client computer 130 (or the utilized web browser) displays the advertisements retrieved from the augmentation server 110 in a multi-layered dialog box overlaying the augmented web page and proximate to the location where the mouse-over occurred.
  • the multi-layered dialog box displays an advertisement and multiple clickable tabs representing the other retrieved advertisements.
  • the viewer can select (e.g., click) a tab to request the dialog box to display the corresponding advertisement.
  • the viewer may navigate among the multiple advertisements and interact with the advertisements without leaving the augmented web page.
  • the network 140 is configured to communicatively connect the augmentation server 110 , the content providers 120 , and the client computers 130 .
  • the network 140 may be a wired or wireless network. Examples of the network 140 include the Internet, an intranet, a WiFi network, a WiMAX network, a mobile telephone network, or a combination thereof.
  • the augmentation server 110 , the content providers 120 , and/or the client computers 130 are structured to include a processor, memory, storage, network interfaces, and applicable operating system and other functional software (e.g., network drivers, communication protocols).
  • FIG. 2 is a block diagram illustrating one example architecture of the augmentation server 110 as described above with respect to FIG. 1 .
  • the augmentation server 110 includes a handler 36 , a locator 42 , an analyzer 45 , a generator 48 , and a reference database 39 .
  • the components 36 through 45 may include a software or firmware instruction that can be stored within a tangible computer readable medium (e.g., magnetic disk drive, optical disk or solid state memory such as flash memory, or random-access memory) and executed by a processor or equivalent electrical circuits, state machines, microcode, or the like.
  • a tangible computer readable medium e.g., magnetic disk drive, optical disk or solid state memory such as flash memory, or random-access memory
  • a source data file 30 (e.g., a web page) resides on a server (e.g., a content provider 120 ) on a network 140 (e.g., the Internet).
  • the handler 36 retrieves the source data file 30 for augmentation by the augmentation server 110 .
  • the locator 42 examines the retrieved source data file 30 for comparison to data in the reference database 39 .
  • the locator 42 analyzes content of the source data file 30 for keywords, searches corresponding reference data in the reference database 39 , and provides the keywords and the corresponding reference data to the analyzer 45 .
  • the locator 42 retrieves a list of keywords from the reference database 39 and enumerates through the textual content of the source data file 30 for matches.
  • the analyzer 45 creates associations between the keywords and the corresponding reference data found by the locator 42 .
  • the generator 48 generates an augmented data file 50 by embedding the associations created by the analyzer 45 in the source data file 30 .
  • the generator 48 embeds associations by generating intelligent tags for the keywords, and augmenting the keywords with the intelligent tags.
  • an intelligent tag is an alphabetic and/or numeric string that identifies its associated keywords, and/or reference data, and optionally includes an unique identification number (hereinafter called the association ID).
  • the generator 48 inserts the generated intelligent tags into the source data file 30 to generate the augmented data file 50 .
  • Web pages with the integrated intelligent tags are called augmented web pages. Keywords with the integrated intelligent tags are called augmented keywords.
  • the generator 48 also stores the identified keywords and/or the associations in a database for later references.
  • the resulting augmented data file 50 is returned to the handler 36 to reside at a Universal Resource Locator (URL) address on the network 140 (e.g., at the content provider 120 from which the source data file 30 is retrieved).
  • the handler 36 also receives requests (or signals) from client computers 130 indicating user interactions with the augmented data file, and transmits to the client computers 130 related advertisements for display through layered augmentation. Layered augmentation is described in detail below with respect to FIGS. 3A through 3C .
  • the handler 36 retrieves the activated keywords (e.g., from the requests), and determines one or more relevant advertisements from an advertising database (not shown) that matches the keywords, and/or the associated reference data.
  • the handler 36 transmits addresses (e.g., URLs) of the relevant advertisements to the requesting client computer 130 .
  • the client computer 130 resolves the addresses to retrieve the advertisements.
  • the reference database 39 stores reference data such as types of advertisements (e.g., television advertisements), categories of advertisements (e.g., storage rental, home equity loan), and/or information about specific advertisements (e.g., associated keywords, format information, price the advertiser is willing to pay, and URL of the advertisement).
  • the reference database 39 may be a relational database or any other type of database that stores the data, such as a flat file.
  • the reference database 39 is a web enabled reference database supporting remote calls through the Internet to the reference database 39 .
  • the components of the augmentation server 110 can reside on a single computer system or several computer systems located close by or remotely from each other.
  • the analyzer 45 and the generator 48 may reside on separate web servers, and the reference database 39 may be located in a dedicated database server.
  • any of the components or sub-components may be executed in one or multiple computer systems.
  • Web pages can provide additional information to viewers. For example, when a user places a mouse over a link label of a hyperlink, a web browser displays the associated destination URL (e.g., on a status bar of the web browser). As another example, when a user places a pointer over a keyword, the web browser may generate a pop-up dialog box, and display relevant information (e.g., an explanation of the keyword). The process of providing additional information to web page viewers is called augmentation.
  • a keyword often has multiple aspects of related information, each having multiple aspects of related information.
  • digital camera is related to its history, underlying technology, and available products and services.
  • a specific product related to digital camera has related information such as product description, customer review, and competing products.
  • Usually only one aspect of the related information is provided through augmentation due to limited display space.
  • Each aspect of related information can be assigned to one specific layer of the layered augmentation. Viewers can navigate among the multiple aspects of related information by accessing the different layers of the layered augmentation without leaving the web page.
  • the augmented information can be displayed in a multi-layered dialog box. A viewer can navigate among different layers by selecting associated tabs displayed in the dialog box in which each tab is associated with a layer.
  • the multiple layers may be stacked in a manner similar to windows in Microsoft WindowsTM Operating System.
  • the stacked layers may be arranged in a horizontal, vertical, or cascade style, showing a small exposed portion of each layer, such as a title area or a corner area. Navigation between each layer in the stack can be through selection of that small exposed portion of the layer within the stack.
  • the process of providing additional information (or resources) through multi-layered dialog box and the multi-layered dialog box are collectively called layered augmentation.
  • FIGS. 3A through 3C are flowcharts collectively illustrating an example process (or method) for augmenting web pages and providing viewers of augmented web pages with related advertisements through layered augmentation.
  • the illustrated method (or either of its sub-methods 300 , 350 , and 390 ) is implemented in a computing environment such as the computing environment 100 .
  • One or more portions of the method may be implemented in embodiments of hardware and/or software or combinations thereof.
  • the illustrated method may be embodied through instructions for performing the actions described herein and such instrumentations can be stored within a tangible computer readable medium and are executable by a processor.
  • the illustrated method may be implemented in modules like those in the augmentation server 110 described above with respect to FIG. 2 and/or other entities such as the content providers 120 and/or the client computers 130 .
  • those of skill in the art will recognize that other embodiments can perform the steps of the illustrated method in different order.
  • other embodiments can include different and/or additional steps than the ones described here.
  • FIG. 3A illustrates an example process (or method) 300 for augmenting web pages.
  • the method 300 begins by reading a piece of structured data from a source data file 30 at a block 13 (e.g., through the handler 36 ).
  • the source data file 30 may be one designated by an input uniform resource locator (URL) address or by any suitable means to designate a resource.
  • the method 300 may optionally identify the type of content on the page with a content identifier such as a MIME header (e.g., through the locator 42 ).
  • a content identifier such as a MIME header
  • the method 300 merely searches for the presence of a piece of reference data (e.g., through the locator 42 ), either informed by the content identifier or by simply searching an occurrence of a piece of well structured data (e.g., a keyword) within the source data file.
  • a piece of well structured data e.g., a keyword
  • the method 300 has its content available for comparison to reference data in the reference database 39 .
  • Other methods and examples to read a piece of structured data from the source data file are described in U.S. application Ser. No. 12/033,539, filed on Feb. 19, 2008, the content of which is incorporated by reference in its entirety.
  • the method 300 locates one or multiple pieces of reference data in the reference database 39 corresponding to the piece of structured data read in the source data file 30 (e.g., through the locator 42 ).
  • the locator 42 searches for reference data in the reference database 39 that match the piece of structured data by making function calls to the reference database 39 .
  • the structured data are keywords, and the reference data also contain keywords.
  • Keywords are a facile and efficient means of generating layered augmentation.
  • one embodiment uses a “fuzzy expert” or a neural network analysis of the source data file 30 , such as by a natural language search of the source data file 30 to generate a distinct identifier for the content in the source data file 30 .
  • a natural language search is the ability to better place content in context making links more contextually appropriate, for instance, security might relate to security of a physical plant such as security of a residence in one source data file 30 in one context and security of a website in another.
  • the method 300 determines a context of the keywords and/or the source data file 30 based on statistical modeling (e.g., through the locator 42 ).
  • a context can be assigned a pre-defined set of terms which acts as a fingerprint for the context (hereinafter called context fingerprint).
  • the locator 42 can compare the context fingerprints associated with a collection of contexts with the terms within the source data file 30 to determine a percentage match for each context in the collection. Where a high percentage match is achieved (e.g., exceeding a pre-defined percentage match threshold), the locator 42 determines that the associated context is the context for the source data file 30 . Alternatively or in conjunction, the locator 42 may determine the context associated with the highest percentage match as the context for the source data file 30 .
  • the context can be used to locate corresponding reference data and/or related resources.
  • the method 300 generates an association to the piece of structured data based upon the located matching reference data (e.g., through the analyzer 45 ).
  • a piece of reference data includes an identifier such as a keyword, a context, a unique identification number, and/or associated URL address(es) of intended destination resource(s) based upon the occurrence of the corresponding keywords in the source data file 30 .
  • Generating an association means to associate the piece of structured data located in the source data file 30 with the located reference data in the reference database 39 .
  • the generated association might optionally include additional identification codes such as an association ID.
  • the method 300 then augments the original source data file 30 with the generated association at a block 22 to generate an augmented data file 50 (e.g., through the generator 48 ).
  • the method 300 expresses the association as intelligent tags (e.g., through the generator 48 ).
  • the method 300 generates intelligent tags for the located keywords and tags the keywords with the generated intelligent tags.
  • the intelligent tags contain information about the associated keywords such as the keyword and related context, and information about the associated reference data such as IDs that uniquely identify the reference data in the reference database 39 .
  • the intelligent tags may contain requirement (or preference) information about advertisements (or other types of resources) to be associated with the keyword, such as types of advertisements and a minimum advertisement fee.
  • the intelligent tags also format the augmented keywords differently than the other textual content in the augmented web pages. Having generated the augmented data file 50 , the method 300 then terminates at a block 25 .
  • the augmentation server 110 also augments the web pages by including computer code (hereinafter called client code) to monitor and report viewers' interactions with the augmented keywords.
  • client code can be in any computer language, such as JavaScript. Additional functions of the client code are described in detail below with respect to FIGS. 3B and 3C .
  • the augmented data file 50 can be delivered (or transmitted) to client computers 130 for display through a web browser to viewers to provide related resources through layered augmentation.
  • the delivery of the augmented data file 50 and the process to provide layered augmentation is described in detail below with respect to FIGS. 3B and 3C .
  • the method is described in terms of web pages augmented with advertisements, even though the disclosed embodiments apply to other types of augmented data file and resources.
  • the method 350 transmits 355 an augmented web page to a client computer.
  • a user of the client computer 130 may enter the URL of an augmented web page (or the corresponding original web page) in the address bar of a conventional web browser (e.g., Microsoft Internet ExplorerTM, Mozilla FirefoxTM, or Apple SafariTM).
  • the web browser of the client computer 130 (hereinafter called the client web browser) resolves the URL and transmits a request for the web page to a corresponding content provider.
  • the content provider transmits 355 the augmented web page to the client web browser for display.
  • the client web browser displays augmented keywords in a double underline style and/or in a color distinctive from text that is not augmented in the augmented web page.
  • the method 350 receives 360 an intelligent tag request from the client computer 130 .
  • the augmented web page contains client code that monitors user interactions with augmented keywords.
  • the client code (which may be integrated with the web browser, for example, as a plug-in applet) generates an intelligent tag request and transmits the request to the augmentation server 110 .
  • the request indicates the mouse-over user activity to the augmentation server 110 .
  • the request may contain information that uniquely identifies the activated keyword (e.g., an association ID), and/or other information such as the activated keyword itself.
  • the method 350 determines 365 advertisements relevant to the activated keyword for the received request based on the keyword and/or the associated reference data.
  • the augmentation server 110 extracts the keyword and/or related context from the request, retrieves the associated reference data from the reference database 39 , and determines 365 the relevant advertisements by searching in an advertisement database using the keyword and/or requirements set forth in the associated reference data (e.g., advertisement category, context, fee requirements, etc.).
  • the method 350 determines 365 the advertisements that match the best (e.g., matching the activated keyword and/or satisfies the most number of reference requirements) as the relevant advertisements. In another embodiment, the method 350 determines 365 relevant advertisements based on a context of the augmented web page and/or the activated keyword. For example, for a key phrase “digital camera” in an article about digital camera, the method 350 may determines the following resources as relevant: a product review of a digital camera in CNET.com, a collection of user reviews at Buy.com, and a selection of similar digital cameras. The context can be determined when the activated keyword is identified in method 300 .
  • the method 350 determines a sequence for the related advertisements.
  • the top advertisement in the sequence (also called the default advertisement or the primary advertisement) is the advertisement being displayed on the top layer of the layered augmentation.
  • the lower ranked advertisements (also called secondary advertisements) are made available on lower layers of the layered augmentation.
  • the method 350 uses a bidding system to determine related advertisements sequence. For example, for a key phrase “digital camera,” there may be multiple related advertisements (e.g., advertisements for different brands or models of digital cameras), each having a bid (or budget or cost) for the key phrase.
  • the method 350 may determine a sequence of the advertisements based on their bids, the one with the highest bid ranked the highest and so on.
  • the method 350 may determine the sequence of multiple advertisements based on factors other than bidding prices. For example, the method may consider factors such as relationships among the multiple advertisements (e.g., prioritizing video advertisements over text ones), prior user interactions with the advertisements (e.g., prioritizing advertisements with higher interacting rate), and contexts of the augmented keyword (e.g., prioritizing advertisements from retailers or service providers having branches near a geographical context of the keyword and/or the augmented web page, or geographic locations of a substantial portion of viewers of the web page).
  • factors such as relationships among the multiple advertisements (e.g., prioritizing video advertisements over text ones), prior user interactions with the advertisements (e.g., prioritizing advertisements with higher interacting rate), and contexts of the augmented keyword (e.g., prioritizing advertisements from retailers or service providers having branches near a geographical context of the keyword and/or the augmented web page, or geographic locations of a substantial portion of viewers of the web page).
  • specific sequences may be set for specific keywords and/or parties (e.g., content providers, advertisers, users).
  • the keyword(s) is a music artist (or band, album) name
  • the method 350 may make available his songs (e.g., playback through an embedded music player) on the top layer and other resources on lower layers.
  • the keyword(s) is a location name (e.g., Yellowstone National Park)
  • the method 350 may make available the relevant map (e.g., MapQuestTM Map) on the top layer.
  • the resources made available through the layered augmentation need not to be advertisements and can be related contents such as related articles, videos, images, music, to name only a few.
  • a content provider may specify that the layered augmentations in its web pages make available a set of links to its other relevant web pages (e.g., within the same website) where the keyword(s) being augmented is cross-indexed.
  • viewers can set their preferences to determine a preferred sequence for the layered augmentation. For example, a viewer may prefer video advertisements while another may disfavor them (e.g., due to bandwidth constrains at receiving device). As a result, the method 350 may place video advertisements higher on a sequence for the first viewer, while not consider video advertisements for augmentation for the second viewer.
  • Viewer preferences can be stored in a database such as the reference database 39 along with other viewer related data (e.g., profile data).
  • the method 350 transmits 370 the relevant advertisements to the client computer 130 for display.
  • the method 350 retrieves the advertisements from an advertisement database, and transmits 370 them to the client web browser (or the client computer) for display.
  • the method 350 may transmit references of the advertisements (e.g., their URLs) to the client web browser for retrieval.
  • the method 350 generates computer code (hereinafter called the advertisement code) to facilitate user interaction with the advertisements. Similar to the client code, the advertisement code can be in any computer language, such as JavaScript. The advertisement code may display the relevant advertisements in a multi-layered dialog box (or popup box) when the viewer moves a pointer over the activated keyword. The method 350 transmits the generated advertisement code along with the related advertisements to the client web browser. In one embodiment, the advertisement code is a part of the client code, and is integrated in the augmented web page when the page is generated.
  • the client web browser displays 375 the relevant advertisements in a layered dialog box proximate to the activated keywords (or the position where the mouse-over is occurring) as an in-page overlay.
  • the client web browser utilizes the advertisement code to display the advertisements in a multi-layered dialog box.
  • the advertisements are displayed according to their sequence. In one embodiment, only the top advertisement is displayed and the lower ranked advertisements are represented by selectable tabs. An example process of the operation of the advertisement code and the client code is described in detail below with respect to FIG. 3C .
  • the method 390 determines whether a pointer is positioned over an augmented keyword (the activated keyword), and if so, sets 392 the primary advertisement as the active advertisement, and displays 394 the active advertisement in a multi-layered dialog box overlaying the augmented web page in a position proximate to the activated keyword or the mouse-over.
  • the multi-layered dialog box also displays multiple selectable (e.g., clickable) tabs representing the lower layers. The viewer can select a tab to request the multi-layered dialog box to display the corresponding layer. If the user selected a tab, the method 390 sets 396 the advertisement corresponding to the selected layer as the active advertisement and displays 394 it in place of the previously displayed advertisement.
  • the viewer can also interact with the currently displayed advertisement by selecting the advertisement. If the viewer selects the advertisement, the method 390 responds 398 to the user selection based on the nature of the user selection and the configuration of the advertisement. For example, if the user clicks on the active advertisement, the method 390 redirects the web browser to a web page related to the active advertisement. Alternatively, if the user drags a scrollbar displayed on the dialog box, the method displays different portions of the active advertisement as the user drags along the scrollbar. In one embodiment, if the viewer moves the pointer away from the activated keyword and/or the multi-layered dialog box for an extended period of time, the method 390 hides the dialog box.
  • the method 350 displays multiple aspects (or portions) of the same advertisement in the multi-layered dialog box.
  • the multi-layered dialog box may display an image and brief description of a product, and present two tabs, one for user reviews and the other for playback of a television advertisement of the product.
  • the viewer may interact with the advertisement through the multi-layered dialog box without having to navigate away from and otherwise leave the current web page the viewer is interacting with in the web browser.
  • the advertisement contains video
  • the multi-layered dialog box may overlay the video with video controls (e.g., forward, rewind, play/pause, volume, etc.).
  • the multi-layered dialog box may also provide functional resources such as web searches, enabling viewers to conduct web searches and/or review search results without leaving the augmented web page.
  • the method 350 tracks 380 the received requests, the advertisements displays, and/or the user's interactions with the advertisements. These activities may be logged in a database (e.g., the reference database 39 ) or reported to another device or person (e.g., via electronic mail).
  • a database e.g., the reference database 39
  • another device or person e.g., via electronic mail
  • the augmentation server 110 retrieves a web page 400 for augmentation.
  • the web page 400 may contain textual content of any subject.
  • FIG. 4A shows an example of the web page 400 as displayed in Microsoft Internet ExplorerTM. As shown in FIG. 4A , the web page 400 is retrieved from website www.computing.net and contains a paragraph about computer virus.
  • the augmentation server 110 reads 13 the web page 400 for keywords.
  • the augmentation server 110 identifies the keyword “security” 410 for layered augmentation.
  • the augmentation server 110 locates 16 a piece of reference data matching the keyword “security” 410 and determines a context of computer security for the keyword 410 .
  • the piece of reference data includes an advertisement category for computer security services.
  • the augmentation server 110 generates 19 an association of the keyword “security” 410 and the located piece of reference data.
  • the augmentation server 110 augments 22 the web page 400 by generating an intelligent tag encoding the generated association, and integrating the intelligent tag in an augmented web page 450 .
  • the augmentation server 110 also includes in the augmented web page 450 JavaScript code (client code) that captures user interactions with the augmented keyword 410 .
  • a web browser running on a client computer 130 retrieves the augmented web page 450 and displays it to a user (e.g., responding to the user entering an URL of the web page 400 or 450 in the address bar of the web browser).
  • FIG. 4B illustrates a screenshot of the augmented web page 450 as displayed on an Internet ExplorerTM web browser after it is retrieved by the browser. It is noted that in FIG. 4B the augmented keyword 410 is displayed in a double underline style to distinguish from conventional hyperlinks that are single underlined.
  • the user may move a pointer (e.g., controlled by a mouse, stylus, or touchpad) over the double underlined augmented keyword 410 (the activated augmented keyword).
  • a pointer e.g., controlled by a mouse, stylus, or touchpad
  • This user action is also referred to as a mouse-over.
  • the embedded JavaScript code (the client code) in the augmented web page 450 (or the web browser) generates an intelligent tag request that uniquely identifies the activated augmented keyword 410 and/or the related context, and transmits the request to the augmentation server 110 .
  • the augmentation server 110 receives 360 the request, retrieves stored association of the keyword 410 , and determines 365 relevant advertisements by searching for advertisements corresponding to the keyword 410 and/or the related context in an advertising database. In the present example, the augmentation server 110 determines 365 that an advertisement for Cisco security center is the relevant advertisement associated with the augmented keyword 410 .
  • the augmentation server 110 determines a sequence of various parts of the Cisco advertisement and/or other relevant advertisements. In the present example, the augmentation server 110 determines that a description of the Cisco security center ranks top in the sequence, followed by its customer reviews, and a list of competing services.
  • the augmentation server 110 transmits 370 the related advertisement(s) back to the web browser for display.
  • the augmentation server 110 also transmits JavaScript code (advertisement code) that enables layered representation of the transmitted advertisements.
  • the web browser (or the advertisement code) displays 375 the received advertisement(s) as an overlay in a multi-layered dialog box in proximity to the keyword 410 or the location where the mouse-over occurred. As illustrated in FIG. 4C , the user has moved a mouse pointer over the keyword 410 . As a result, the web browser receives advertisements related to the keyword “security” 410 and displays them in a multi-layered dialog box 460 proximate to the pointer.
  • the multi-layered dialog box 460 displays an advertisement about CISCO security center.
  • On the bottom of the multi-layered dialog box 460 are two tabs labeled “Click to view customer review” and “Click to view alternative services,” respectively. Note that this is consistent with the sequence of the advertisements (and/or advertisement portions) determined by the augmentation server 110 .
  • the user can navigate the advertisements within the multi-layered dialog box 460 by clicking the labeled tabs.
  • the user can also visit the corresponding advertiser's web page by clicking the advertisement.
  • the augmented web page 450 remains as the current web page displayed in the client web browser. The user can quickly resume browsing the rest of the augmented web page 450 .
  • the multi-layered dialog box 460 displays customer reviews for Cisco security center. It is noted that the label on the tab representing customer review changes to “Click to hide customer review.” The user can click the tab to resume viewing the previous advertisement for Cisco security center.
  • the advertisement code redirects the client web browser to the advertiser's web page, in this case a web page related to Cisco security center.
  • the augmentation server 110 delivers rich media content without augmenting web pages ahead of time.
  • the augmentation server 110 (or other entities) may install a plug-in module in the client web browser.
  • the plug-in module monitors the client's browsing activity and transmits related information (e.g., the URL of the displayed web page) to the augmentation server 110 in real time (or “on-the-fly”).
  • the augmentation server 110 may retrieve the web page and analyze it for keywords and/or related contexts in real time.
  • the augmentation server 110 transmits the information (e.g., the identified keywords) to the client web browser. If the user mouse-over one of the identified keywords (the activated keyword), the plug-in module sends a signal to the augmentation server identifying the activated keyword.
  • the augmentation server 110 may determine and transmit relevant advertisements to the client web browser for display in a manner similar to the one described above with respect to FIGS. 4C through 4E .
  • the web pages can be augmented on the client side (e.g., via plug-in modules in the client web browser) in a manner similar to the one described above with respect to FIGS. 3A and 3B .
  • the present invention can augment non-textual content (e.g., image, video), and/or overlay layered augmentation on content elements such as images and videos.
  • non-textual content e.g., image, video
  • overlay layered augmentation on content elements such as images and videos.
  • the metadata associated with an image (or video) can be examined to determine keywords and/or contexts related to the subject matter of the image.
  • the present invention can augment the image with layered augmentation in a manner similar to the one described above with respect to FIGS. 3A and 3 B.
  • the layered augmentation can include a set of tabbed overlays and, once engaged with, can display appropriate advertising message or other alternate content on top of the image.
  • Advantages of the disclosed embodiments include providing content providers with additional channels for delivering relevant advertisements and other content to viewers. Because the relevant resources are presented in a multi-layered dialog box, viewers can access more relevant resources in a well-organized manner. Because the augmented data is displayed as an overlay of the current web page, the disclosed embodiments in essence establish a third dimension (e.g., a “z-axis”) to present information (the first and second dimensions being the length (e.g., a “x-axis”) and width (e.g., a “y-axis”) of the web page), enabling viewers to access additional relevant content without leaving the current web page.
  • a third dimension e.g., a “z-axis”
  • This feature is beneficial for devices with limited screen space, for example, mobile computing devices (e.g., handheld computers) or conventional computer screens having many active windows that are simultaneously displayed.
  • the disclosed embodiments also enhance viewers' web browsing experience by providing relevant content overlays without the need to leave their current web page to augment the information to provide for a user.
  • any reference to “one embodiment” or “an embodiment” means that a particular element, feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment.
  • the appearances of the phrase “in one embodiment” in various places in the specification are not necessarily all referring to the same embodiment.
  • Coupled and “connected” along with their derivatives. It should be understood that these terms are not intended as synonyms for each other. For example, some embodiments may be described using the term “connected” to indicate that two or more elements are in direct physical or electrical contact with each other. In another example, some embodiments may be described using the term “coupled” to indicate that two or more elements are in direct physical or electrical contact. The term “coupled,” however, may also mean that two or more elements are not in direct contact with each other, but yet still co-operate or interact with each other. The embodiments are not limited in this context.
  • the terms “comprises,” “comprising,” “includes,” “including,” “has,” “having” or any other variation thereof, are intended to cover a non-exclusive inclusion.
  • a process, method, article, or apparatus that comprises a list of elements is not necessarily limited to only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus.
  • “or” refers to an inclusive or and not to an exclusive or. For example, a condition A or B is satisfied by any one of the following: A is true (or present) and B is false (or not present), A is false (or not present) and B is true (or present), and both A and B are true (or present).

Abstract

Embodiments of the present disclosure include methods (and corresponding systems and computer program products) that augment content in web pages with resources and provide the resources based on user interaction with the augmented content in the web pages. The disclosed embodiments analyzes a web page to identify a keyword, locates a piece of reference data matching the identified keyword, generates an association of the located piece of reference data and the keyword, and embeds the association in an augmented web page. Upon receiving a request from a client computer corresponding to a pointer being positioned over the keyword in the augmented web page, the disclosed embodiments determines relevant resources, and transmits the resources to the client computer for display in a multi-layered dialog box, such that a viewer can access the plurality of resources by interacting with the multi-layered dialog box without leaving the augmented web page.

Description

    CROSS-REFERENCE TO RELATED APPLICATIONS
  • This application claims the priority to and is a continuation of U.S. patent application Ser. No. 12/233,540, entitled “Layered Augmentation For Web Content” and filed on Sep. 18, 2008, which is a continuation-in-part of U.S. Pat. No. 7,698,311, entitled “Method And System For Augmenting and Tracking Web Content,” and filed on Jul. 17, 2007, which is a continuation-in-part of US. patent issued on Aug. 14, 2007 as U.S. Pat. No. 7,257,585, which claims the benefit of US. Provisional Patent Application Ser. No. 60/484,818, filed on Jul. 2, 2003, all of which are hereby incorporated by reference in their entirety.
  • BACKGROUND
  • 1. Field of Disclosure
  • The disclosure generally relates to the field of data augmentation, in particular to augmenting textual content in documents.
  • 2. Description of the Related Art
  • Hypertext is commonly used to provide related (or supplemental) information in a web page. Hypertext is the organization of computer based text into connected associations enabling a user to quickly access information that the user chooses. An instance of such an association is called a hyperlink or hypertext link. A hyperlink, when selected, leads the viewer to another web page (or file or resource, collectively called the destination page).
  • In order to access the supplemental information provided through hyperlinks, viewers are required to leave their current web pages. This requirement interrupts the viewers' web browsing experience. As a result, most viewers are reluctant to visit the destination page provided by hyperlinks.
  • In addition, traditionally the hyperlinks are generated by human editors, a process that is both tedious and subject to human errors. Further, by the time a viewer tries to visit a destination page of a hyperlink, the destination page may cease to exist or have evolved to no longer provide the related information.
  • Thus, the art lacks, inter alia, a system and method for augmenting textual content in web pages with supplemental information (or resources), enabling viewers of the web pages to access the supplemental information without leaving the web pages, and maintaining the augmentation up-to-date.
  • SUMMARY
  • Embodiments of the present disclosure include methods (and corresponding systems and computer program products) that augment content in web pages with resources and provide augmented content such as relevant information and advertisements based on user interaction with the augmented content in the web pages.
  • The disclosed embodiments comprise analyzing a web page to identify a keyword (or a set of keywords or phrases) in the web page, locating a piece of reference data from a reference database matching the identified keyword, generating an association of the located piece of reference data and the keyword, and embedding the association in an augmented web page corresponding to the web page. Upon receiving a request from a client computer corresponding to a pointer being positioned over the keyword in the augmented web page, the disclosed embodiments determine a plurality of resources relevant to the keyword by searching for the plurality of resources using the located piece of reference data in a resource database, and transmit the plurality of resources to the client computer for display in a multi-layered dialog box, such that a viewer can access the plurality of resources by interacting with the multi-layered dialog box without leaving the augmented web page.
  • Advantages of the disclosed embodiments include providing content providers with additional channels for delivering relevant advertisements and other content to viewers. Because the relevant resources are presented in a multi-layered dialog box, viewers can access more relevant resources in a well-organized manner. Because the augmented data is displayed as an overlay of the current web page, the disclosed embodiments in essence establish a third dimension (e.g., a “z-axis”) to present information (the first and second dimensions being the length (e.g., a “x-axis”) and width (e.g., a “y-axis”) of the web page), enabling viewers to access additional relevant content without leaving the current web page. This feature is beneficial for devices with limited screen space, for example, mobile computing devices (e.g., handheld computers) or conventional computer screens having many active windows that are simultaneously displayed. The disclosed embodiments also enhance viewers' web browsing experience by providing relevant content overlays without the need to leave their current web page to augment the information to provide for a user.
  • The features and advantages described in the specification are not all inclusive and, in particular, many additional features and advantages will be apparent to one of ordinary skill in the art in view of the drawings, specification, and claims. Moreover, it should be noted that the language used in the specification has been principally selected for readability and instructional purposes, and may not have been selected to delineate or circumscribe the disclosed subject matter.
  • BRIEF DESCRIPTION OF DRAWINGS
  • The disclosed embodiments have other advantages and features which will be more readily apparent from the detailed description, the appended claims, and the accompanying drawings. A brief description of the drawings is below:
  • Figure (“FIG.”) 1 is a block diagram illustrating one embodiment of a computing environment for augmenting source data files with layered augmentation.
  • FIG. 2 is a block diagram illustrating one example architecture of an augmentation server in FIG. 1.
  • FIGS. 3A through 3C are flowcharts collectively illustrating an example method for augmenting source data files with layered augmentation.
  • FIGS. 4A through 4E are screenshots illustrating a web page, its corresponding augmented web page, and a viewer's user experience interacting with the augmented web page according to one embodiment of the present disclosure.
  • DETAILED DESCRIPTION
  • The disclosed embodiments describe examples of a method (and corresponding system and computer program product) for augmenting files with related resources through layered augmentation. Viewers of the augmented files can access the related resources through a multi-layered dialog box. The process of providing additional resources through multi-layered dialog box and the multi-layered dialog box are collectively called layered augmentation.
  • The method identifies data in a file, associates the identified data with reference data in a reference database, and stores the associations in a corresponding augmented file. A viewer of the augmented file can access resources related to a piece of augmented data through layered augmentation. When the viewer moves a pointer over the piece of augmented data (also called mouse-over), the related resources are provided in a multi-layered dialog box. The dialog box is overlaid on the augmented file approximate to the position where the mouse-over occurred. The viewer can navigate through the related resources in the dialog box without leaving the augmented file.
  • As described herein, a file includes any types of documents such as web pages. Augmented data, the data with integrated association in an augmented file, include any types of content such as text and image. Resources provided through layered augmentations include textual content, visual content such as images and videos, interactive controls such as dialog boxes, and services such as Internet search service and advertisement. A pointer can be any pointer device such as a mouse, a trackball, a roller, and a touchpad. For purposes of illustration, the method (and corresponding system and computer program product) is described in terms of augmenting keywords (or key phrases) in web pages and delivering related advertisements through multi-layered dialog boxes based on user interactions with the augmented keywords, even though the disclosed embodiments apply to all other types of content, files, and resources as defined above.
  • The figures and the following description relate to preferred embodiments by way of illustration only. Reference will now be made in detail to several embodiments, examples of which are illustrated in the accompanying figures. The figures depict embodiments of the disclosed system (or method) for purposes of illustration only. It should be noted that from the following discussion, alternate embodiments of the structures and methods disclosed herein will be readily recognized by one skilled in the art as viable alternatives that may be employed without departing from the principles described herein.
  • Overview of Computing Environment
  • Figure (“FIG.”) 1 illustrates one embodiment of a computing environment 100 for augmenting web pages and providing viewers of the augmented web pages with related advertisements through layered augmentation based on user interaction. As illustrated, the computing environment 100 includes an augmentation server 110, multiple content providers (or websites) 120, and one or more client computers (or user systems) 130, all of which are communicatively coupled through a network 140.
  • The augmentation server 110 is configured to augment keywords (or other types of content) in web pages (or other types of documents) with advertisements (or other types of resources), and deliver the advertisements based on user interaction with the augmented keywords. The augmentation server 110 retrieves web pages from the content providers 120 and augments the web pages. The augmentation server 110 augments a web page by identifying keywords in the web page, associating (or tagging) the keywords with one or more related references in a reference database, generating an augmented web page, and storing the associations in a database. When a user views an augmented web page in a client computer 130 and moves a pointer over one of the augmented keywords (hereinafter “the activated keyword”), the augmentation server 110 displays (or avails) related advertisements in the client computer 130 through a multi-layered dialog box. An example architecture of the augmentation server 110 is described in detail below with respect to FIG. 2.
  • The content providers 120 are entities that provide (or generate), host, publish, control, or otherwise have rights over a collection of web pages (or other types of documents). In one embodiment, the content providers 120 are web servers hosting web pages for viewers to access. The content providers 120 may provide web pages to the augmentation server 110 for layered augmentation. Alternatively, the content providers 120 may either instruct or give permission to the augmentation server 110 to retrieve all or parts of their web pages for layered augmentation.
  • The client computers 130 are client devices for users to browse web pages (or other types of documents). In one embodiment, a client computer 130 includes a pointer device (e.g., a mouse, a trackball, a roller, a touchpad, or the like), a conventional web browser (e.g., Microsoft Internet Explorer™, Mozilla Firefox™, or Apple Safari™), and can retrieve and display web pages from the content providers 120 in a conventional manner (e.g., using the HyperText Transfer Protocol). In one embodiment, the client computer 130 displays augmented keywords in an augmented web page differently than the non-augmented content. For example, the augmented keywords can be displayed in a double underline style and/or in a color distinctive from texts that are not augmented. When a user moves a pointer (e.g., mouse pointer) over (e.g., mouse-over) an augmented keyword in the augmented web page, the client computer 130 (or the utilized web browser) generates a request and transmits the request to the augmentation server 110. The augmentation server 110 receives the request and determines relevant advertisements to transmit to the client computer 130. The client computer 130 (or the utilized web browser) displays the advertisements retrieved from the augmentation server 110 in a multi-layered dialog box overlaying the augmented web page and proximate to the location where the mouse-over occurred. The multi-layered dialog box displays an advertisement and multiple clickable tabs representing the other retrieved advertisements. The viewer can select (e.g., click) a tab to request the dialog box to display the corresponding advertisement. The viewer may navigate among the multiple advertisements and interact with the advertisements without leaving the augmented web page.
  • The network 140 is configured to communicatively connect the augmentation server 110, the content providers 120, and the client computers 130. The network 140 may be a wired or wireless network. Examples of the network 140 include the Internet, an intranet, a WiFi network, a WiMAX network, a mobile telephone network, or a combination thereof.
  • In one embodiment, the augmentation server 110, the content providers 120, and/or the client computers 130 are structured to include a processor, memory, storage, network interfaces, and applicable operating system and other functional software (e.g., network drivers, communication protocols).
  • Augmentation Server Architecture
  • FIG. 2 is a block diagram illustrating one example architecture of the augmentation server 110 as described above with respect to FIG. 1. As illustrated, the augmentation server 110 includes a handler 36, a locator 42, an analyzer 45, a generator 48, and a reference database 39. The components 36 through 45 may include a software or firmware instruction that can be stored within a tangible computer readable medium (e.g., magnetic disk drive, optical disk or solid state memory such as flash memory, or random-access memory) and executed by a processor or equivalent electrical circuits, state machines, microcode, or the like.
  • A source data file 30 (e.g., a web page) resides on a server (e.g., a content provider 120) on a network 140 (e.g., the Internet). The handler 36 retrieves the source data file 30 for augmentation by the augmentation server 110. The locator 42 examines the retrieved source data file 30 for comparison to data in the reference database 39. In one embodiment, the locator 42 analyzes content of the source data file 30 for keywords, searches corresponding reference data in the reference database 39, and provides the keywords and the corresponding reference data to the analyzer 45. In an alternate embodiment, rather than analyzing the source data file 30 for keywords, the locator 42 retrieves a list of keywords from the reference database 39 and enumerates through the textual content of the source data file 30 for matches.
  • The analyzer 45 creates associations between the keywords and the corresponding reference data found by the locator 42. The generator 48 generates an augmented data file 50 by embedding the associations created by the analyzer 45 in the source data file 30. The generator 48 embeds associations by generating intelligent tags for the keywords, and augmenting the keywords with the intelligent tags. In one embodiment, an intelligent tag is an alphabetic and/or numeric string that identifies its associated keywords, and/or reference data, and optionally includes an unique identification number (hereinafter called the association ID). The generator 48 inserts the generated intelligent tags into the source data file 30 to generate the augmented data file 50. Web pages with the integrated intelligent tags are called augmented web pages. Keywords with the integrated intelligent tags are called augmented keywords. The generator 48 also stores the identified keywords and/or the associations in a database for later references.
  • The resulting augmented data file 50 is returned to the handler 36 to reside at a Universal Resource Locator (URL) address on the network 140 (e.g., at the content provider 120 from which the source data file 30 is retrieved). In one embodiment, the handler 36 also receives requests (or signals) from client computers 130 indicating user interactions with the augmented data file, and transmits to the client computers 130 related advertisements for display through layered augmentation. Layered augmentation is described in detail below with respect to FIGS. 3A through 3C. The handler 36 retrieves the activated keywords (e.g., from the requests), and determines one or more relevant advertisements from an advertising database (not shown) that matches the keywords, and/or the associated reference data. In one embodiment, rather than transmitting the related advertisements, the handler 36 transmits addresses (e.g., URLs) of the relevant advertisements to the requesting client computer 130. The client computer 130 resolves the addresses to retrieve the advertisements.
  • The reference database 39 stores reference data such as types of advertisements (e.g., television advertisements), categories of advertisements (e.g., storage rental, home equity loan), and/or information about specific advertisements (e.g., associated keywords, format information, price the advertiser is willing to pay, and URL of the advertisement). The reference database 39 may be a relational database or any other type of database that stores the data, such as a flat file. In one embodiment, the reference database 39 is a web enabled reference database supporting remote calls through the Internet to the reference database 39.
  • The components of the augmentation server 110 can reside on a single computer system or several computer systems located close by or remotely from each other. For example, the analyzer 45 and the generator 48 may reside on separate web servers, and the reference database 39 may be located in a dedicated database server. In addition, any of the components or sub-components may be executed in one or multiple computer systems.
  • Overview of Layered Augmentation Methodology
  • Web pages (or web browsers) can provide additional information to viewers. For example, when a user places a mouse over a link label of a hyperlink, a web browser displays the associated destination URL (e.g., on a status bar of the web browser). As another example, when a user places a pointer over a keyword, the web browser may generate a pop-up dialog box, and display relevant information (e.g., an explanation of the keyword). The process of providing additional information to web page viewers is called augmentation.
  • A keyword (or phrase) often has multiple aspects of related information, each having multiple aspects of related information. For example, the key phrase “digital camera” is related to its history, underlying technology, and available products and services. A specific product related to digital camera has related information such as product description, customer review, and competing products. Usually only one aspect of the related information is provided through augmentation due to limited display space.
  • Multiple aspects of related information can be arranged and provided to viewers through layered augmentation. Each aspect of related information can be assigned to one specific layer of the layered augmentation. Viewers can navigate among the multiple aspects of related information by accessing the different layers of the layered augmentation without leaving the web page. For example, the augmented information can be displayed in a multi-layered dialog box. A viewer can navigate among different layers by selecting associated tabs displayed in the dialog box in which each tab is associated with a layer. Alternatively, the multiple layers may be stacked in a manner similar to windows in Microsoft Windows™ Operating System. The stacked layers may be arranged in a horizontal, vertical, or cascade style, showing a small exposed portion of each layer, such as a title area or a corner area. Navigation between each layer in the stack can be through selection of that small exposed portion of the layer within the stack. The process of providing additional information (or resources) through multi-layered dialog box and the multi-layered dialog box are collectively called layered augmentation.
  • FIGS. 3A through 3C are flowcharts collectively illustrating an example process (or method) for augmenting web pages and providing viewers of augmented web pages with related advertisements through layered augmentation. In one embodiment, the illustrated method (or either of its sub-methods 300, 350, and 390) is implemented in a computing environment such as the computing environment 100. One or more portions of the method may be implemented in embodiments of hardware and/or software or combinations thereof.
  • By way of example, the illustrated method may be embodied through instructions for performing the actions described herein and such instrumentations can be stored within a tangible computer readable medium and are executable by a processor. Alternatively (or additionally), the illustrated method may be implemented in modules like those in the augmentation server 110 described above with respect to FIG. 2 and/or other entities such as the content providers 120 and/or the client computers 130. Furthermore, those of skill in the art will recognize that other embodiments can perform the steps of the illustrated method in different order. Moreover, other embodiments can include different and/or additional steps than the ones described here.
  • FIG. 3A illustrates an example process (or method) 300 for augmenting web pages. As illustrated in FIG. 3A with reference to components of the augmentation server 110 in FIG. 2, at an appropriate starting terminus 10, the method 300 begins by reading a piece of structured data from a source data file 30 at a block 13 (e.g., through the handler 36). The source data file 30 may be one designated by an input uniform resource locator (URL) address or by any suitable means to designate a resource. Upon opening the source data file 30, the method 300 may optionally identify the type of content on the page with a content identifier such as a MIME header (e.g., through the locator 42). In one embodiment of the invention, the method 300 merely searches for the presence of a piece of reference data (e.g., through the locator 42), either informed by the content identifier or by simply searching an occurrence of a piece of well structured data (e.g., a keyword) within the source data file. In addition, once the source data file 30 is open, the method 300 has its content available for comparison to reference data in the reference database 39. Other methods and examples to read a piece of structured data from the source data file are described in U.S. application Ser. No. 12/033,539, filed on Feb. 19, 2008, the content of which is incorporated by reference in its entirety.
  • At a block 16, the method 300 locates one or multiple pieces of reference data in the reference database 39 corresponding to the piece of structured data read in the source data file 30 (e.g., through the locator 42). In one embodiment, the locator 42 searches for reference data in the reference database 39 that match the piece of structured data by making function calls to the reference database 39. In one embodiment, the structured data are keywords, and the reference data also contain keywords.
  • Keywords are a facile and efficient means of generating layered augmentation. In addition to or instead of using keywords, one embodiment uses a “fuzzy expert” or a neural network analysis of the source data file 30, such as by a natural language search of the source data file 30 to generate a distinct identifier for the content in the source data file 30. One advantage of a natural language search is the ability to better place content in context making links more contextually appropriate, for instance, security might relate to security of a physical plant such as security of a residence in one source data file 30 in one context and security of a website in another. In one embodiment, the method 300 determines a context of the keywords and/or the source data file 30 based on statistical modeling (e.g., through the locator 42). For example, a context can be assigned a pre-defined set of terms which acts as a fingerprint for the context (hereinafter called context fingerprint). The locator 42 can compare the context fingerprints associated with a collection of contexts with the terms within the source data file 30 to determine a percentage match for each context in the collection. Where a high percentage match is achieved (e.g., exceeding a pre-defined percentage match threshold), the locator 42 determines that the associated context is the context for the source data file 30. Alternatively or in conjunction, the locator 42 may determine the context associated with the highest percentage match as the context for the source data file 30. The context can be used to locate corresponding reference data and/or related resources.
  • At a block 19, the method 300 generates an association to the piece of structured data based upon the located matching reference data (e.g., through the analyzer 45). In one embodiment, a piece of reference data includes an identifier such as a keyword, a context, a unique identification number, and/or associated URL address(es) of intended destination resource(s) based upon the occurrence of the corresponding keywords in the source data file 30. Generating an association means to associate the piece of structured data located in the source data file 30 with the located reference data in the reference database 39. The generated association might optionally include additional identification codes such as an association ID. The method 300 then augments the original source data file 30 with the generated association at a block 22 to generate an augmented data file 50 (e.g., through the generator 48).
  • In one embodiment, the method 300 expresses the association as intelligent tags (e.g., through the generator 48). The method 300 generates intelligent tags for the located keywords and tags the keywords with the generated intelligent tags. The intelligent tags contain information about the associated keywords such as the keyword and related context, and information about the associated reference data such as IDs that uniquely identify the reference data in the reference database 39. For example, the intelligent tags may contain requirement (or preference) information about advertisements (or other types of resources) to be associated with the keyword, such as types of advertisements and a minimum advertisement fee. In one embodiment, the intelligent tags also format the augmented keywords differently than the other textual content in the augmented web pages. Having generated the augmented data file 50, the method 300 then terminates at a block 25.
  • In one embodiment, the augmentation server 110 (or the content providers 120) also augments the web pages by including computer code (hereinafter called client code) to monitor and report viewers' interactions with the augmented keywords. The computer code can be in any computer language, such as JavaScript. Additional functions of the client code are described in detail below with respect to FIGS. 3B and 3C.
  • The augmented data file 50 can be delivered (or transmitted) to client computers 130 for display through a web browser to viewers to provide related resources through layered augmentation. The delivery of the augmented data file 50 and the process to provide layered augmentation is described in detail below with respect to FIGS. 3B and 3C. For purpose of illustration, the method is described in terms of web pages augmented with advertisements, even though the disclosed embodiments apply to other types of augmented data file and resources.
  • Referring now to FIG. 3B, a flowchart illustrating an example process (or method) 350 for providing layered augmentation to viewers of augmented web pages. As illustrated, the method 350 transmits 355 an augmented web page to a client computer. For example, a user of the client computer 130 may enter the URL of an augmented web page (or the corresponding original web page) in the address bar of a conventional web browser (e.g., Microsoft Internet Explorer™, Mozilla Firefox™, or Apple Safari™). The web browser of the client computer 130 (hereinafter called the client web browser) resolves the URL and transmits a request for the web page to a corresponding content provider. Responding to the request, the content provider transmits 355 the augmented web page to the client web browser for display. In one embodiment, the client web browser displays augmented keywords in a double underline style and/or in a color distinctive from text that is not augmented in the augmented web page.
  • The method 350 receives 360 an intelligent tag request from the client computer 130. As described above with respect to FIG. 3A, the augmented web page contains client code that monitors user interactions with augmented keywords. In one embodiment, if the user moves a pointer (e.g., a pointer controlled by a mouse, navigation button, or touchpad) over (a mouse-over) an augmented keyword (the activated keyword), the client code (which may be integrated with the web browser, for example, as a plug-in applet) generates an intelligent tag request and transmits the request to the augmentation server 110. The request indicates the mouse-over user activity to the augmentation server 110. The request may contain information that uniquely identifies the activated keyword (e.g., an association ID), and/or other information such as the activated keyword itself.
  • The method 350 determines 365 advertisements relevant to the activated keyword for the received request based on the keyword and/or the associated reference data. In one embodiment, the augmentation server 110 extracts the keyword and/or related context from the request, retrieves the associated reference data from the reference database 39, and determines 365 the relevant advertisements by searching in an advertisement database using the keyword and/or requirements set forth in the associated reference data (e.g., advertisement category, context, fee requirements, etc.).
  • In one embodiment, the method 350 determines 365 the advertisements that match the best (e.g., matching the activated keyword and/or satisfies the most number of reference requirements) as the relevant advertisements. In another embodiment, the method 350 determines 365 relevant advertisements based on a context of the augmented web page and/or the activated keyword. For example, for a key phrase “digital camera” in an article about digital camera, the method 350 may determines the following resources as relevant: a product review of a digital camera in CNET.com, a collection of user reviews at Buy.com, and a selection of similar digital cameras. The context can be determined when the activated keyword is identified in method 300.
  • In one embodiment, the method 350 determines a sequence for the related advertisements. The top advertisement in the sequence (also called the default advertisement or the primary advertisement) is the advertisement being displayed on the top layer of the layered augmentation. The lower ranked advertisements (also called secondary advertisements) are made available on lower layers of the layered augmentation. In one embodiment, the method 350 uses a bidding system to determine related advertisements sequence. For example, for a key phrase “digital camera,” there may be multiple related advertisements (e.g., advertisements for different brands or models of digital cameras), each having a bid (or budget or cost) for the key phrase. The method 350 may determine a sequence of the advertisements based on their bids, the one with the highest bid ranked the highest and so on.
  • In another embodiment, the method 350 may determine the sequence of multiple advertisements based on factors other than bidding prices. For example, the method may consider factors such as relationships among the multiple advertisements (e.g., prioritizing video advertisements over text ones), prior user interactions with the advertisements (e.g., prioritizing advertisements with higher interacting rate), and contexts of the augmented keyword (e.g., prioritizing advertisements from retailers or service providers having branches near a geographical context of the keyword and/or the augmented web page, or geographic locations of a substantial portion of viewers of the web page).
  • Further, specific sequences may be set for specific keywords and/or parties (e.g., content providers, advertisers, users). For example, if the keyword(s) is a music artist (or band, album) name, the method 350 may make available his songs (e.g., playback through an embedded music player) on the top layer and other resources on lower layers. As another example, if the keyword(s) is a location name (e.g., Yellowstone National Park), the method 350 may make available the relevant map (e.g., MapQuest™ Map) on the top layer. As noted above, the resources made available through the layered augmentation need not to be advertisements and can be related contents such as related articles, videos, images, music, to name only a few. For example, a content provider may specify that the layered augmentations in its web pages make available a set of links to its other relevant web pages (e.g., within the same website) where the keyword(s) being augmented is cross-indexed.
  • In one embodiment, viewers can set their preferences to determine a preferred sequence for the layered augmentation. For example, a viewer may prefer video advertisements while another may disfavor them (e.g., due to bandwidth constrains at receiving device). As a result, the method 350 may place video advertisements higher on a sequence for the first viewer, while not consider video advertisements for augmentation for the second viewer. Viewer preferences can be stored in a database such as the reference database 39 along with other viewer related data (e.g., profile data).
  • The method 350 transmits 370 the relevant advertisements to the client computer 130 for display. In one embodiment, the method 350 retrieves the advertisements from an advertisement database, and transmits 370 them to the client web browser (or the client computer) for display. Alternatively, the method 350 may transmit references of the advertisements (e.g., their URLs) to the client web browser for retrieval.
  • In one embodiment, the method 350 generates computer code (hereinafter called the advertisement code) to facilitate user interaction with the advertisements. Similar to the client code, the advertisement code can be in any computer language, such as JavaScript. The advertisement code may display the relevant advertisements in a multi-layered dialog box (or popup box) when the viewer moves a pointer over the activated keyword. The method 350 transmits the generated advertisement code along with the related advertisements to the client web browser. In one embodiment, the advertisement code is a part of the client code, and is integrated in the augmented web page when the page is generated.
  • The client web browser displays 375 the relevant advertisements in a layered dialog box proximate to the activated keywords (or the position where the mouse-over is occurring) as an in-page overlay. In one embodiment, the client web browser utilizes the advertisement code to display the advertisements in a multi-layered dialog box. The advertisements are displayed according to their sequence. In one embodiment, only the top advertisement is displayed and the lower ranked advertisements are represented by selectable tabs. An example process of the operation of the advertisement code and the client code is described in detail below with respect to FIG. 3C.
  • Referring now to FIG. 3C, a flowchart illustrating an example process (or method) 390 of the client code and/or the advertisement code. As illustrated, the method 390 determines whether a pointer is positioned over an augmented keyword (the activated keyword), and if so, sets 392 the primary advertisement as the active advertisement, and displays 394 the active advertisement in a multi-layered dialog box overlaying the augmented web page in a position proximate to the activated keyword or the mouse-over. The multi-layered dialog box also displays multiple selectable (e.g., clickable) tabs representing the lower layers. The viewer can select a tab to request the multi-layered dialog box to display the corresponding layer. If the user selected a tab, the method 390 sets 396 the advertisement corresponding to the selected layer as the active advertisement and displays 394 it in place of the previously displayed advertisement.
  • The viewer can also interact with the currently displayed advertisement by selecting the advertisement. If the viewer selects the advertisement, the method 390 responds 398 to the user selection based on the nature of the user selection and the configuration of the advertisement. For example, if the user clicks on the active advertisement, the method 390 redirects the web browser to a web page related to the active advertisement. Alternatively, if the user drags a scrollbar displayed on the dialog box, the method displays different portions of the active advertisement as the user drags along the scrollbar. In one embodiment, if the viewer moves the pointer away from the activated keyword and/or the multi-layered dialog box for an extended period of time, the method 390 hides the dialog box.
  • Referring back to FIG. 3B, in one embodiment, rather than displaying multiple advertisements, the method 350 displays multiple aspects (or portions) of the same advertisement in the multi-layered dialog box. For example, the multi-layered dialog box may display an image and brief description of a product, and present two tabs, one for user reviews and the other for playback of a television advertisement of the product. The viewer may interact with the advertisement through the multi-layered dialog box without having to navigate away from and otherwise leave the current web page the viewer is interacting with in the web browser. For example, if the advertisement contains video, the multi-layered dialog box may overlay the video with video controls (e.g., forward, rewind, play/pause, volume, etc.). The multi-layered dialog box may also provide functional resources such as web searches, enabling viewers to conduct web searches and/or review search results without leaving the augmented web page.
  • The method 350 tracks 380 the received requests, the advertisements displays, and/or the user's interactions with the advertisements. These activities may be logged in a database (e.g., the reference database 39) or reported to another device or person (e.g., via electronic mail).
  • Example Process
  • The methods described above with respect to FIGS. 3A through 3C are illustrated below in an example together with accompanying screenshots in FIGS. 4A through 4E. Initially, the augmentation server 110 retrieves a web page 400 for augmentation. The web page 400 may contain textual content of any subject. FIG. 4A shows an example of the web page 400 as displayed in Microsoft Internet Explorer™. As shown in FIG. 4A, the web page 400 is retrieved from website www.computing.net and contains a paragraph about computer virus.
  • The augmentation server 110 reads 13 the web page 400 for keywords. The augmentation server 110 identifies the keyword “security” 410 for layered augmentation. The augmentation server 110 locates 16 a piece of reference data matching the keyword “security” 410 and determines a context of computer security for the keyword 410. The piece of reference data includes an advertisement category for computer security services. The augmentation server 110 generates 19 an association of the keyword “security” 410 and the located piece of reference data.
  • The augmentation server 110 augments 22 the web page 400 by generating an intelligent tag encoding the generated association, and integrating the intelligent tag in an augmented web page 450. The augmentation server 110 also includes in the augmented web page 450 JavaScript code (client code) that captures user interactions with the augmented keyword 410.
  • A web browser running on a client computer 130 retrieves the augmented web page 450 and displays it to a user (e.g., responding to the user entering an URL of the web page 400 or 450 in the address bar of the web browser). FIG. 4B illustrates a screenshot of the augmented web page 450 as displayed on an Internet Explorer™ web browser after it is retrieved by the browser. It is noted that in FIG. 4B the augmented keyword 410 is displayed in a double underline style to distinguish from conventional hyperlinks that are single underlined.
  • Subsequently, the user may move a pointer (e.g., controlled by a mouse, stylus, or touchpad) over the double underlined augmented keyword 410 (the activated augmented keyword). This user action is also referred to as a mouse-over. Detecting the mouse-over, the embedded JavaScript code (the client code) in the augmented web page 450 (or the web browser) generates an intelligent tag request that uniquely identifies the activated augmented keyword 410 and/or the related context, and transmits the request to the augmentation server 110. The augmentation server 110 receives 360 the request, retrieves stored association of the keyword 410, and determines 365 relevant advertisements by searching for advertisements corresponding to the keyword 410 and/or the related context in an advertising database. In the present example, the augmentation server 110 determines 365 that an advertisement for Cisco security center is the relevant advertisement associated with the augmented keyword 410.
  • The augmentation server 110 determines a sequence of various parts of the Cisco advertisement and/or other relevant advertisements. In the present example, the augmentation server 110 determines that a description of the Cisco security center ranks top in the sequence, followed by its customer reviews, and a list of competing services.
  • The augmentation server 110 transmits 370 the related advertisement(s) back to the web browser for display. The augmentation server 110 also transmits JavaScript code (advertisement code) that enables layered representation of the transmitted advertisements.
  • The web browser (or the advertisement code) displays 375 the received advertisement(s) as an overlay in a multi-layered dialog box in proximity to the keyword 410 or the location where the mouse-over occurred. As illustrated in FIG. 4C, the user has moved a mouse pointer over the keyword 410. As a result, the web browser receives advertisements related to the keyword “security” 410 and displays them in a multi-layered dialog box 460 proximate to the pointer.
  • As illustrated, the multi-layered dialog box 460 displays an advertisement about CISCO security center. On the bottom of the multi-layered dialog box 460 are two tabs labeled “Click to view customer review” and “Click to view alternative services,” respectively. Note that this is consistent with the sequence of the advertisements (and/or advertisement portions) determined by the augmentation server 110. The user can navigate the advertisements within the multi-layered dialog box 460 by clicking the labeled tabs. The user can also visit the corresponding advertiser's web page by clicking the advertisement. While the user navigates within the multi-layered dialog box 460, the augmented web page 450 remains as the current web page displayed in the client web browser. The user can quickly resume browsing the rest of the augmented web page 450.
  • As illustrated in FIG. 4D, when the user clicks (or mouse-over) the tab labeled “Click to view customer review,” the multi-layered dialog box 460 displays customer reviews for Cisco security center. It is noted that the label on the tab representing customer review changes to “Click to hide customer review.” The user can click the tab to resume viewing the previous advertisement for Cisco security center.
  • As illustrated in FIG. 4E, when the user clicks the Cisco security center advertisement, the advertisement code redirects the client web browser to the advertiser's web page, in this case a web page related to Cisco security center.
  • Alternate Embodiments
  • In one embodiment, the augmentation server 110 delivers rich media content without augmenting web pages ahead of time. The augmentation server 110 (or other entities) may install a plug-in module in the client web browser. The plug-in module monitors the client's browsing activity and transmits related information (e.g., the URL of the displayed web page) to the augmentation server 110 in real time (or “on-the-fly”). The augmentation server 110 may retrieve the web page and analyze it for keywords and/or related contexts in real time. The augmentation server 110 transmits the information (e.g., the identified keywords) to the client web browser. If the user mouse-over one of the identified keywords (the activated keyword), the plug-in module sends a signal to the augmentation server identifying the activated keyword. The augmentation server 110 may determine and transmit relevant advertisements to the client web browser for display in a manner similar to the one described above with respect to FIGS. 4C through 4E.
  • In another embodiment, the web pages can be augmented on the client side (e.g., via plug-in modules in the client web browser) in a manner similar to the one described above with respect to FIGS. 3A and 3B.
  • In another embodiment, in addition to augmenting keywords (and phrases), the present invention can augment non-textual content (e.g., image, video), and/or overlay layered augmentation on content elements such as images and videos. For example, the metadata associated with an image (or video) can be examined to determine keywords and/or contexts related to the subject matter of the image. The present invention can augment the image with layered augmentation in a manner similar to the one described above with respect to FIGS. 3A and 3B. The layered augmentation can include a set of tabbed overlays and, once engaged with, can display appropriate advertising message or other alternate content on top of the image.
  • One of ordinary skill in the art will readily recognize that the described system and method are not limited to augmenting keywords in web pages with advertisements and can be applied to augment any types of visual elements in any types of documents with any types of rich media content. Examples and detailed descriptions of an approach to augment still images on web pages with relevant additional information are provided in U.S. patent application Ser. No. 12/033,539, the disclosure of which is incorporated by reference in its entirety.
  • Advantages of the disclosed embodiments include providing content providers with additional channels for delivering relevant advertisements and other content to viewers. Because the relevant resources are presented in a multi-layered dialog box, viewers can access more relevant resources in a well-organized manner. Because the augmented data is displayed as an overlay of the current web page, the disclosed embodiments in essence establish a third dimension (e.g., a “z-axis”) to present information (the first and second dimensions being the length (e.g., a “x-axis”) and width (e.g., a “y-axis”) of the web page), enabling viewers to access additional relevant content without leaving the current web page. This feature is beneficial for devices with limited screen space, for example, mobile computing devices (e.g., handheld computers) or conventional computer screens having many active windows that are simultaneously displayed. The disclosed embodiments also enhance viewers' web browsing experience by providing relevant content overlays without the need to leave their current web page to augment the information to provide for a user.
  • Some portions of above description describe the embodiments in terms of algorithmic processes or operations. These algorithmic descriptions and representations are commonly used by those skilled in the data processing arts to convey the substance of their work effectively to others skilled in the art. These operations, while described functionally, computationally, or logically, are understood to be implemented by computer programs comprising instructions for execution by a processor or equivalent electrical circuits, microcode, or the like. Furthermore, it has also proven convenient at times, to refer to these arrangements of functional operations as modules, without loss of generality. The described operations and their associated modules may be embodied in software, firmware, hardware, or any combinations thereof.
  • As used herein any reference to “one embodiment” or “an embodiment” means that a particular element, feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment. The appearances of the phrase “in one embodiment” in various places in the specification are not necessarily all referring to the same embodiment.
  • Some embodiments may be described using the expression “coupled” and “connected” along with their derivatives. It should be understood that these terms are not intended as synonyms for each other. For example, some embodiments may be described using the term “connected” to indicate that two or more elements are in direct physical or electrical contact with each other. In another example, some embodiments may be described using the term “coupled” to indicate that two or more elements are in direct physical or electrical contact. The term “coupled,” however, may also mean that two or more elements are not in direct contact with each other, but yet still co-operate or interact with each other. The embodiments are not limited in this context.
  • As used herein, the terms “comprises,” “comprising,” “includes,” “including,” “has,” “having” or any other variation thereof, are intended to cover a non-exclusive inclusion. For example, a process, method, article, or apparatus that comprises a list of elements is not necessarily limited to only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. Further, unless expressly stated to the contrary, “or” refers to an inclusive or and not to an exclusive or. For example, a condition A or B is satisfied by any one of the following: A is true (or present) and B is false (or not present), A is false (or not present) and B is true (or present), and both A and B are true (or present).
  • In addition, use of the “a” or “an” are employed to describe elements and components of the embodiments herein. This is done merely for convenience and to give a general sense of the disclosure. This description should be read to include one or at least one and the singular also includes the plural unless it is obvious that it is meant otherwise.
  • Upon reading this disclosure, those of skill in the art will appreciate still additional alternative structural and functional designs for a system and a process for augmenting content in web pages with relevant resources through layered augmentation. Thus, while particular embodiments and applications have been illustrated and described, it is to be understood that the present invention is not limited to the precise construction and components disclosed herein and that various modifications, changes and variations which will be apparent to those skilled in the art may be made in the arrangement, operation and details of the method and apparatus disclosed herein without departing from the spirit and scope as defined in the appended claims.

Claims (20)

1. A method for augmenting a web page, the method comprising:
(a) identifying a keyword of a web page;
(b) determining, by a server, reference information corresponding to the keyword, the reference information identifying a plurality of resources associated with an advertisement;
(c) transmitting, by the server to the client to augment the keyword, an association of the reference information to the keyword;
(d) receiving, by server, a request from the client responsive to a pointer of the client being positioned over the augmented keyword on the web page; and
(e) transmitting, by the server to the client, a popup box providing a user of the client access to the plurality of resources without the user leaving the web page.
2. The method of claim 1, wherein step (a) further comprises identifying, by the server, the keyword of the web page.
3. The method of claim 1, wherein step (a) further comprises receiving, by the server, identification of the keyword from the client.
4. The method of claim 1, wherein step (b) further comprises determining, by the server, reference information identifying the plurality of resources comprising one or more of the following: textual content, visual content, interactive controls and services.
5. The method of claim 1, wherein step (c) further comprises generating, by the server, an intelligent tag that identifies the association of the reference information to the keyword.
6. The method of claim 5, further comprising transmitting, by the server to the client, the intelligent tag the association of the reference information to the keyword.
7. The method of claim 1, wherein step (d) further comprises receiving, by the server from a script in the web page responsive to a mouse over event from the pointer of the client positioned over the augmented keyword, the request.
8. The method of claim 1, wherein step (e) further comprises transmitting, by the server, the popup box comprising layered augmentation of the plurality of resources.
9. The method of claim 1, wherein step (e) further comprises transmitting, by the server, the popup box to display the advertisement and multiple clickable tabs to access one or more resources of the plurality of resources.
10. The method of claim 1, wherein step (e) further comprises transmitting, by the server, the popup box comprising a web search for the user to one of conduct a search or review search results without leaving the web page.
11. A system for augmenting a web page, the system comprising:
a locator executing on a server to determine reference information corresponding to a keyword identified for a webpage, the reference information identifying a plurality of resources associated with an advertisement;
a generator of the server transmitting to the client to augment the keyword an association of the reference information to the keyword;
a handler of the server receiving a request from the client responsive to a pointer of the client being positioned over the augmented keyword on the web page; and
wherein the server transmits to the client a popup box providing a user of the client access to the plurality of resources without the user leaving the web page.
12. The system of claim 11, wherein an analyzer of the server identifies the keyword of the web page.
13. The system of claim 11, wherein the saver received identification of the keyword from the client.
14. The system of claim 11, wherein the locator determines reference information identifying the plurality of resources comprising one or more of the following: textual content, visual content, interactive controls and services.
15. The system of claim 11, wherein the generator generates an intelligent tag that identifies the association of the reference information to the keyword.
16. The system of claim 15, wherein the server transmits to the client, the intelligent tag the association of the reference information to the keyword.
17. The system of claim 11, wherein the server receives from a script in the web page responsive to a mouse over event from the pointer of the client positioned over the augmented keyword, the request.
18. The system of claim 11, wherein the popup box comprises layered augmentation of the plurality of resources.
19. The system of claim 11, wherein the popup box comprises a display of the advertisement and multiple clickable tabs to access one or more resources of the plurality of resources.
20. The system of claim 11, wherein the popup box comprises a web search for the user to one of conduct a search or review search results without leaving the web page.
US13/353,175 2003-07-02 2012-01-18 Layered augmentation for web content Abandoned US20120117485A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US13/353,175 US20120117485A1 (en) 2003-07-02 2012-01-18 Layered augmentation for web content

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US48481803P 2003-07-02 2003-07-02
US10/645,313 US7257585B2 (en) 2003-07-02 2003-08-20 Method and system for augmenting web content
US11/779,254 US7698311B2 (en) 2003-07-02 2007-07-17 Method and system for augmenting and tracking web content
US12/233,540 US8122014B2 (en) 2003-07-02 2008-09-18 Layered augmentation for web content
US13/353,175 US20120117485A1 (en) 2003-07-02 2012-01-18 Layered augmentation for web content

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US10/645,313 Continuation US7257585B2 (en) 2003-07-02 2003-08-20 Method and system for augmenting web content

Publications (1)

Publication Number Publication Date
US20120117485A1 true US20120117485A1 (en) 2012-05-10

Family

ID=33555743

Family Applications (4)

Application Number Title Priority Date Filing Date
US10/645,313 Expired - Lifetime US7257585B2 (en) 2003-07-02 2003-08-20 Method and system for augmenting web content
US11/779,254 Expired - Fee Related US7698311B2 (en) 2003-07-02 2007-07-17 Method and system for augmenting and tracking web content
US12/718,056 Abandoned US20100169366A1 (en) 2003-07-02 2010-03-05 Method and system for augmenting web content
US13/353,175 Abandoned US20120117485A1 (en) 2003-07-02 2012-01-18 Layered augmentation for web content

Family Applications Before (3)

Application Number Title Priority Date Filing Date
US10/645,313 Expired - Lifetime US7257585B2 (en) 2003-07-02 2003-08-20 Method and system for augmenting web content
US11/779,254 Expired - Fee Related US7698311B2 (en) 2003-07-02 2007-07-17 Method and system for augmenting and tracking web content
US12/718,056 Abandoned US20100169366A1 (en) 2003-07-02 2010-03-05 Method and system for augmenting web content

Country Status (10)

Country Link
US (4) US7257585B2 (en)
EP (2) EP2315140A1 (en)
JP (1) JP2007524920A (en)
KR (1) KR100819739B1 (en)
CN (1) CN1882939A (en)
AU (1) AU2004255005B2 (en)
BR (1) BRPI0412039A (en)
CA (1) CA2531413A1 (en)
NZ (1) NZ544469A (en)
WO (1) WO2005003920A2 (en)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090327078A1 (en) * 2008-06-24 2009-12-31 Google Inc. Method and system for displaying information based on user actions
US20100218109A1 (en) * 2008-03-24 2010-08-26 Robb Fujioka Webtop and monetization engine, system and method
US20120254151A1 (en) * 2006-06-09 2012-10-04 Ebay Inc. System and method for keyword extraction
US20150169526A1 (en) * 2013-06-21 2015-06-18 Kobo Incorporated Heuristically determining key ebook terms for presentation of additional information related thereto
US9275148B1 (en) * 2011-09-23 2016-03-01 Shauki Elassaad System and method for augmented browsing and knowledge discovery
US9632654B1 (en) * 2013-03-15 2017-04-25 Shauki Elassaad System and method for augmented knowledge discovery
US20170228239A1 (en) * 2011-09-23 2017-08-10 Shauki Elassaad Knowledge discovery system
US11341531B2 (en) 2007-07-09 2022-05-24 Ebay Inc. System and method for contextual advertising and merchandizing based on user configurable preferences

Families Citing this family (184)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8645137B2 (en) 2000-03-16 2014-02-04 Apple Inc. Fast, language-independent method for user authentication by voice
US7451099B2 (en) * 2000-08-30 2008-11-11 Kontera Technologies, Inc. Dynamic document context mark-up technique implemented over a computer network
US7478089B2 (en) * 2003-10-29 2009-01-13 Kontera Technologies, Inc. System and method for real-time web page context analysis for the real-time insertion of textual markup objects and dynamic content
US7284008B2 (en) * 2000-08-30 2007-10-16 Kontera Technologies, Inc. Dynamic document context mark-up technique implemented over a computer network
ITFI20010199A1 (en) 2001-10-22 2003-04-22 Riccardo Vieri SYSTEM AND METHOD TO TRANSFORM TEXTUAL COMMUNICATIONS INTO VOICE AND SEND THEM WITH AN INTERNET CONNECTION TO ANY TELEPHONE SYSTEM
AU2003283322A1 (en) * 2002-11-28 2004-06-18 International Business Machines Corporation Method and systems for hyperlinking files
US7401105B2 (en) * 2003-10-02 2008-07-15 International Business Machines Corporation Method, system, and program product for retrieving file processing software
US8396745B2 (en) * 2003-04-28 2013-03-12 The Pen Expanding computer display advertising method and system
US8122014B2 (en) * 2003-07-02 2012-02-21 Vibrant Media, Inc. Layered augmentation for web content
US8185604B2 (en) * 2003-11-25 2012-05-22 Forrester Glenn C Methods and systems for retrieving information over a computer network
US20060100610A1 (en) 2004-03-05 2006-05-11 Wallace Daniel T Methods using a robotic catheter system
US7976539B2 (en) * 2004-03-05 2011-07-12 Hansen Medical, Inc. System and method for denaturing and fixing collagenous tissue
US20060020615A1 (en) * 2004-07-22 2006-01-26 International Business Machines Corporation Method of automatically including parenthetical information from set databases while creating a document
US20110029892A1 (en) * 2004-10-14 2011-02-03 Cerulean Studios System and Method For Integrating Advanced Multimedia Features Within An Instant Messaging Environment
US9009074B2 (en) * 2005-01-25 2015-04-14 Siemens Aktiengesellschaft Systems and methods for generating electronic spare parts catalogs for complex systems and machines
US7788245B1 (en) 2005-06-16 2010-08-31 Google Inc. Method and system for dynamically generating search links embedded in content
US7526073B2 (en) 2005-07-01 2009-04-28 At&T Intellectual Property L.L.P. IVR to SMS text messenger
US7849048B2 (en) * 2005-07-05 2010-12-07 Clarabridge, Inc. System and method of making unstructured data available to structured data analysis tools
US7849049B2 (en) 2005-07-05 2010-12-07 Clarabridge, Inc. Schema and ETL tools for structured and unstructured data
US8677377B2 (en) 2005-09-08 2014-03-18 Apple Inc. Method and apparatus for building an intelligent automated assistant
US20080033924A1 (en) * 2006-08-04 2008-02-07 Leviathan Entertainment, Llc Keyword Advertising in Invention Disclosure Documents
US20070174255A1 (en) * 2005-12-22 2007-07-26 Entrieva, Inc. Analyzing content to determine context and serving relevant content based on the context
US8086756B2 (en) * 2006-01-25 2011-12-27 Cisco Technology, Inc. Methods and apparatus for web content transformation and delivery
US8122019B2 (en) 2006-02-17 2012-02-21 Google Inc. Sharing user distributed search results
US8862572B2 (en) * 2006-02-17 2014-10-14 Google Inc. Sharing user distributed search results
US7844603B2 (en) * 2006-02-17 2010-11-30 Google Inc. Sharing user distributed search results
US20070226190A1 (en) * 2006-03-21 2007-09-27 Myware, Inc. Enhanced content configuration
US20070226614A1 (en) * 2006-03-21 2007-09-27 Myware, Inc. Enhanced content manager
US20100138451A1 (en) * 2006-04-03 2010-06-03 Assaf Henkin Techniques for facilitating on-line contextual analysis and advertising
WO2007123783A2 (en) * 2006-04-03 2007-11-01 Kontera Technologies, Inc. Contextual advertising techniques implemented at mobile devices
US9318108B2 (en) 2010-01-18 2016-04-19 Apple Inc. Intelligent automated assistant
US8943401B2 (en) * 2006-09-29 2015-01-27 Yahoo! Inc. Script-based content-embedding code generation in digital media benefit attachment mechanism
US8660635B2 (en) * 2006-09-29 2014-02-25 Medtronic, Inc. Method and apparatus for optimizing a computer assisted surgical procedure
US9582804B2 (en) * 2006-12-22 2017-02-28 Excalibur Ip, Llc Link retrofitting of digital media objects
KR101342731B1 (en) * 2007-01-04 2013-12-19 니폰샤신인사츠가부시키가이샤 Protective panel having touch panel function
US8073850B1 (en) 2007-01-19 2011-12-06 Wordnetworks, Inc. Selecting key phrases for serving contextually relevant content
US8977255B2 (en) 2007-04-03 2015-03-10 Apple Inc. Method and system for operating a multi-function portable electronic device using voice-activation
US8045995B2 (en) 2007-05-31 2011-10-25 Yahoo! Inc. Centralized location broker
US7970649B2 (en) * 2007-06-07 2011-06-28 Christopher Jay Wu Systems and methods of task cues
KR20090003397A (en) * 2007-06-08 2009-01-12 엔에이치엔(주) Method and system for providing additional information service onto e-mail using indication of information-region
US8335719B1 (en) * 2007-06-26 2012-12-18 Amazon Technologies, Inc. Generating advertisement sets based on keywords extracted from data feeds
ITFI20070177A1 (en) 2007-07-26 2009-01-27 Riccardo Vieri SYSTEM FOR THE CREATION AND SETTING OF AN ADVERTISING CAMPAIGN DERIVING FROM THE INSERTION OF ADVERTISING MESSAGES WITHIN AN EXCHANGE OF MESSAGES AND METHOD FOR ITS FUNCTIONING.
US7853558B2 (en) 2007-11-09 2010-12-14 Vibrant Media, Inc. Intelligent augmentation of media content
US20100325143A1 (en) * 2007-11-13 2010-12-23 Route 66 Switzerland Gmbh Automatically linking geographic terms to geographic information
JP4465633B2 (en) * 2007-12-07 2010-05-19 ソニー株式会社 Information processing apparatus and method, and program
US20090150806A1 (en) * 2007-12-10 2009-06-11 Evje Bryon P Method, System and Apparatus for Contextual Aggregation of Media Content and Presentation of Such Aggregated Media Content
US20090164949A1 (en) * 2007-12-20 2009-06-25 Kontera Technologies, Inc. Hybrid Contextual Advertising Technique
EP2073504A1 (en) * 2007-12-21 2009-06-24 Gemplus Device and method for automatic insertion in data of hidden information as well as a mechanism allowing its distribution
US20090171906A1 (en) * 2008-01-02 2009-07-02 Research In Motion Limited System and method for providing information relating to an email being provided to an electronic device
US9330720B2 (en) 2008-01-03 2016-05-03 Apple Inc. Methods and apparatus for altering audio output signals
ITPO20080002A1 (en) 2008-01-22 2009-07-23 Riccardo Vieri SYSTEM AND METHOD FOR THE CONTEXTUAL ADVERTISING GENERATION DURING THE SENDING OF SMS, ITS DEVICE AND INTERFACE.
US8996376B2 (en) 2008-04-05 2015-03-31 Apple Inc. Intelligent text-to-speech conversion
US8726146B2 (en) * 2008-04-11 2014-05-13 Advertising.Com Llc Systems and methods for video content association
US11080678B2 (en) 2008-05-09 2021-08-03 Verient, Inc. Payment processing platform
US9953313B2 (en) 2008-05-09 2018-04-24 Verient, Inc. System and method for distributed payment products
US10496753B2 (en) 2010-01-18 2019-12-03 Apple Inc. Automatically adapting user interfaces for hands-free interaction
US20100030549A1 (en) 2008-07-31 2010-02-04 Lee Michael M Mobile device having human language translation capability with positional feedback
US8843522B2 (en) 2008-09-15 2014-09-23 Thomson Reuters (Markets) Llc Systems and methods for rapid delivery of tiered metadata
TW201013430A (en) * 2008-09-17 2010-04-01 Ibm Method and system for providing suggested tags associated with a target page for manipulation by a user
US9959870B2 (en) 2008-12-11 2018-05-01 Apple Inc. Speech recognition involving a mobile device
US8036990B1 (en) 2009-04-28 2011-10-11 GumGum, Inc. Systems and methods for electronically managing content licenses
US8949241B2 (en) * 2009-05-08 2015-02-03 Thomson Reuters Global Resources Systems and methods for interactive disambiguation of data
US10706373B2 (en) 2011-06-03 2020-07-07 Apple Inc. Performing actions associated with task items that represent tasks to perform
US9858925B2 (en) 2009-06-05 2018-01-02 Apple Inc. Using context information to facilitate processing of commands in a virtual assistant
US10241752B2 (en) 2011-09-30 2019-03-26 Apple Inc. Interface for a virtual digital assistant
US10241644B2 (en) 2011-06-03 2019-03-26 Apple Inc. Actionable reminder entries
US8719713B2 (en) * 2009-06-17 2014-05-06 Microsoft Corporation Rich entity for contextually relevant advertisements
US9431006B2 (en) 2009-07-02 2016-08-30 Apple Inc. Methods and apparatuses for automatic speech recognition
US9251538B1 (en) * 2009-09-23 2016-02-02 Verient Inc System and method for automatically filling webpage fields
WO2011050852A1 (en) * 2009-10-30 2011-05-05 Telefonaktiebolaget Lm Ericsson (Publ) Device selection for media rendering
US10276170B2 (en) 2010-01-18 2019-04-30 Apple Inc. Intelligent automated assistant
US10705794B2 (en) 2010-01-18 2020-07-07 Apple Inc. Automatically adapting user interfaces for hands-free interaction
US10679605B2 (en) 2010-01-18 2020-06-09 Apple Inc. Hands-free list-reading by intelligent automated assistant
US10553209B2 (en) 2010-01-18 2020-02-04 Apple Inc. Systems and methods for hands-free notification summaries
DE202011111062U1 (en) 2010-01-25 2019-02-19 Newvaluexchange Ltd. Device and system for a digital conversation management platform
US8682667B2 (en) 2010-02-25 2014-03-25 Apple Inc. User profiling for selecting user specific voice input processing information
CN102200974A (en) * 2010-03-25 2011-09-28 北京师范大学 Unified information retrieval intelligent agent system and method for search engine
US10762293B2 (en) 2010-12-22 2020-09-01 Apple Inc. Using parts-of-speech tagging and named entity recognition for spelling correction
US9262612B2 (en) 2011-03-21 2016-02-16 Apple Inc. Device access using voice authentication
WO2012135690A1 (en) * 2011-04-01 2012-10-04 Vibrant Media Inc. Systems and methods for invisible area detection and contextualization
US10057736B2 (en) 2011-06-03 2018-08-21 Apple Inc. Active transport based notifications
US20130013616A1 (en) * 2011-07-08 2013-01-10 Jochen Lothar Leidner Systems and Methods for Natural Language Searching of Structured Data
US8994660B2 (en) 2011-08-29 2015-03-31 Apple Inc. Text correction processing
US9432482B2 (en) 2011-08-31 2016-08-30 Google Inc. Asynchronous and synchronous resource links
US10372741B2 (en) 2012-03-02 2019-08-06 Clarabridge, Inc. Apparatus for automatic theme detection from unstructured data
US10134385B2 (en) 2012-03-02 2018-11-20 Apple Inc. Systems and methods for name pronunciation
US9483461B2 (en) 2012-03-06 2016-11-01 Apple Inc. Handling speech synthesis of content for multiple languages
US9280610B2 (en) 2012-05-14 2016-03-08 Apple Inc. Crowd sourcing information to fulfill user requests
US9721563B2 (en) 2012-06-08 2017-08-01 Apple Inc. Name recognition system
US9495129B2 (en) 2012-06-29 2016-11-15 Apple Inc. Device, method, and user interface for voice-activated navigation and browsing of a document
US9576574B2 (en) 2012-09-10 2017-02-21 Apple Inc. Context-sensitive handling of interruptions by intelligent digital assistant
US9547647B2 (en) 2012-09-19 2017-01-17 Apple Inc. Voice-based media searching
GB2507751A (en) 2012-11-07 2014-05-14 Ibm Storing data files in a file system which provides reference data files
JP2016508007A (en) 2013-02-07 2016-03-10 アップル インコーポレイテッド Voice trigger for digital assistant
JP6105094B2 (en) 2013-03-01 2017-03-29 クイクシー インコーポレイテッド Generate search results with status links to applications
US9323829B2 (en) 2013-03-13 2016-04-26 The Institute Of Electrical And Electronics Engineers, Incorporated Identification of concepts and associated processing
US9368114B2 (en) 2013-03-14 2016-06-14 Apple Inc. Context-sensitive handling of interruptions
WO2014144579A1 (en) 2013-03-15 2014-09-18 Apple Inc. System and method for updating an adaptive speech recognition model
KR101759009B1 (en) 2013-03-15 2017-07-17 애플 인크. Training an at least partial voice command system
WO2014197336A1 (en) 2013-06-07 2014-12-11 Apple Inc. System and method for detecting errors in interactions with a voice-based digital assistant
US9582608B2 (en) 2013-06-07 2017-02-28 Apple Inc. Unified ranking with entropy-weighted information for phrase-based semantic auto-completion
WO2014197334A2 (en) 2013-06-07 2014-12-11 Apple Inc. System and method for user-specified pronunciation of words for speech synthesis and recognition
WO2014197335A1 (en) 2013-06-08 2014-12-11 Apple Inc. Interpreting and acting upon commands that involve sharing information with remote devices
CN110442699A (en) 2013-06-09 2019-11-12 苹果公司 Operate method, computer-readable medium, electronic equipment and the system of digital assistants
US10176167B2 (en) 2013-06-09 2019-01-08 Apple Inc. System and method for inferring user intent from speech inputs
JP6163266B2 (en) 2013-08-06 2017-07-12 アップル インコーポレイテッド Automatic activation of smart responses based on activation from remote devices
US9620105B2 (en) 2014-05-15 2017-04-11 Apple Inc. Analyzing audio input for efficient speech and music recognition
US10592095B2 (en) 2014-05-23 2020-03-17 Apple Inc. Instantaneous speaking of content on touch devices
US9502031B2 (en) 2014-05-27 2016-11-22 Apple Inc. Method for supporting dynamic grammars in WFST-based ASR
US10078631B2 (en) 2014-05-30 2018-09-18 Apple Inc. Entropy-guided text prediction using combined word and character n-gram language models
US9966065B2 (en) 2014-05-30 2018-05-08 Apple Inc. Multi-command single utterance input method
US9785630B2 (en) 2014-05-30 2017-10-10 Apple Inc. Text prediction using combined word N-gram and unigram language models
US9760559B2 (en) 2014-05-30 2017-09-12 Apple Inc. Predictive text input
US9430463B2 (en) 2014-05-30 2016-08-30 Apple Inc. Exemplar-based natural language processing
US10170123B2 (en) 2014-05-30 2019-01-01 Apple Inc. Intelligent assistant for home automation
US9633004B2 (en) 2014-05-30 2017-04-25 Apple Inc. Better resolution when referencing to concepts
US9715875B2 (en) 2014-05-30 2017-07-25 Apple Inc. Reducing the need for manual start/end-pointing and trigger phrases
US9842101B2 (en) 2014-05-30 2017-12-12 Apple Inc. Predictive conversion of language input
US10289433B2 (en) 2014-05-30 2019-05-14 Apple Inc. Domain specific language for encoding assistant dialog
US9734193B2 (en) 2014-05-30 2017-08-15 Apple Inc. Determining domain salience ranking from ambiguous words in natural speech
US9338493B2 (en) 2014-06-30 2016-05-10 Apple Inc. Intelligent automated assistant for TV user interactions
US10659851B2 (en) 2014-06-30 2020-05-19 Apple Inc. Real-time digital assistant knowledge updates
US10446141B2 (en) 2014-08-28 2019-10-15 Apple Inc. Automatic speech recognition based on user feedback
US9818400B2 (en) 2014-09-11 2017-11-14 Apple Inc. Method and apparatus for discovering trending terms in speech requests
US9606986B2 (en) 2014-09-29 2017-03-28 Apple Inc. Integrated word N-gram and class M-gram language models
US10127911B2 (en) 2014-09-30 2018-11-13 Apple Inc. Speaker identification and unsupervised speaker adaptation techniques
US9668121B2 (en) 2014-09-30 2017-05-30 Apple Inc. Social reminders
US9646609B2 (en) 2014-09-30 2017-05-09 Apple Inc. Caching apparatus for serving phonetic pronunciations
US10074360B2 (en) 2014-09-30 2018-09-11 Apple Inc. Providing an indication of the suitability of speech recognition
US9886432B2 (en) 2014-09-30 2018-02-06 Apple Inc. Parsimonious handling of word inflection via categorical stem + suffix N-gram language models
US10552013B2 (en) 2014-12-02 2020-02-04 Apple Inc. Data detection
US9711141B2 (en) 2014-12-09 2017-07-18 Apple Inc. Disambiguating heteronyms in speech synthesis
US9865280B2 (en) 2015-03-06 2018-01-09 Apple Inc. Structured dictation using intelligent automated assistants
US10567477B2 (en) 2015-03-08 2020-02-18 Apple Inc. Virtual assistant continuity
US9886953B2 (en) 2015-03-08 2018-02-06 Apple Inc. Virtual assistant activation
US9721566B2 (en) 2015-03-08 2017-08-01 Apple Inc. Competing devices responding to voice triggers
US9899019B2 (en) 2015-03-18 2018-02-20 Apple Inc. Systems and methods for structured stem and suffix language models
US9842105B2 (en) 2015-04-16 2017-12-12 Apple Inc. Parsimonious continuous-space phrase representations for natural language processing
US10083688B2 (en) 2015-05-27 2018-09-25 Apple Inc. Device voice control for selecting a displayed affordance
US10127220B2 (en) 2015-06-04 2018-11-13 Apple Inc. Language identification from short strings
US10101822B2 (en) 2015-06-05 2018-10-16 Apple Inc. Language input correction
US9578173B2 (en) 2015-06-05 2017-02-21 Apple Inc. Virtual assistant aided communication with 3rd party service in a communication session
US10255907B2 (en) 2015-06-07 2019-04-09 Apple Inc. Automatic accent detection using acoustic models
US10186254B2 (en) 2015-06-07 2019-01-22 Apple Inc. Context-based endpoint detection
US11025565B2 (en) 2015-06-07 2021-06-01 Apple Inc. Personalized prediction of responses for instant messaging
CN105095441A (en) * 2015-07-23 2015-11-25 百度在线网络技术(北京)有限公司 Information acquisition method and device
US10671428B2 (en) 2015-09-08 2020-06-02 Apple Inc. Distributed personal assistant
US10747498B2 (en) 2015-09-08 2020-08-18 Apple Inc. Zero latency digital assistant
US9697820B2 (en) 2015-09-24 2017-07-04 Apple Inc. Unit-selection text-to-speech synthesis using concatenation-sensitive neural networks
US10366158B2 (en) 2015-09-29 2019-07-30 Apple Inc. Efficient word encoding for recurrent neural network language models
US11010550B2 (en) 2015-09-29 2021-05-18 Apple Inc. Unified language modeling framework for word prediction, auto-completion and auto-correction
US11587559B2 (en) 2015-09-30 2023-02-21 Apple Inc. Intelligent device identification
US10691473B2 (en) 2015-11-06 2020-06-23 Apple Inc. Intelligent automated assistant in a messaging environment
US10049668B2 (en) 2015-12-02 2018-08-14 Apple Inc. Applying neural network language models to weighted finite state transducers for automatic speech recognition
US10223066B2 (en) 2015-12-23 2019-03-05 Apple Inc. Proactive assistance based on dialog communication between devices
US10446143B2 (en) 2016-03-14 2019-10-15 Apple Inc. Identification of voice inputs providing credentials
US9934775B2 (en) 2016-05-26 2018-04-03 Apple Inc. Unit-selection text-to-speech synthesis based on predicted concatenation parameters
US9972304B2 (en) 2016-06-03 2018-05-15 Apple Inc. Privacy preserving distributed evaluation framework for embedded personalized systems
US10249300B2 (en) 2016-06-06 2019-04-02 Apple Inc. Intelligent list reading
US10049663B2 (en) 2016-06-08 2018-08-14 Apple, Inc. Intelligent automated assistant for media exploration
DK179309B1 (en) 2016-06-09 2018-04-23 Apple Inc Intelligent automated assistant in a home environment
US10509862B2 (en) 2016-06-10 2019-12-17 Apple Inc. Dynamic phrase expansion of language input
US10490187B2 (en) 2016-06-10 2019-11-26 Apple Inc. Digital assistant providing automated status report
US10192552B2 (en) 2016-06-10 2019-01-29 Apple Inc. Digital assistant providing whispered speech
US10067938B2 (en) 2016-06-10 2018-09-04 Apple Inc. Multilingual word prediction
US10586535B2 (en) 2016-06-10 2020-03-10 Apple Inc. Intelligent digital assistant in a multi-tasking environment
DK179415B1 (en) 2016-06-11 2018-06-14 Apple Inc Intelligent device arbitration and control
DK201670540A1 (en) 2016-06-11 2018-01-08 Apple Inc Application integration with a digital assistant
DK179049B1 (en) 2016-06-11 2017-09-18 Apple Inc Data driven natural language event detection and classification
DK179343B1 (en) 2016-06-11 2018-05-14 Apple Inc Intelligent task discovery
US10043516B2 (en) 2016-09-23 2018-08-07 Apple Inc. Intelligent automated assistant
US10593346B2 (en) 2016-12-22 2020-03-17 Apple Inc. Rank-reduced token representation for automatic speech recognition
CN108694047A (en) * 2017-04-11 2018-10-23 武汉斗鱼网络科技有限公司 resource loading method and device
DK201770439A1 (en) 2017-05-11 2018-12-13 Apple Inc. Offline personal assistant
DK179496B1 (en) 2017-05-12 2019-01-15 Apple Inc. USER-SPECIFIC Acoustic Models
DK179745B1 (en) 2017-05-12 2019-05-01 Apple Inc. SYNCHRONIZATION AND TASK DELEGATION OF A DIGITAL ASSISTANT
US10615966B2 (en) 2017-05-12 2020-04-07 International Business Machines Corporation Selective content security using visual hashing
DK201770431A1 (en) 2017-05-15 2018-12-20 Apple Inc. Optimizing dialogue policy decisions for digital assistants using implicit feedback
DK201770432A1 (en) 2017-05-15 2018-12-21 Apple Inc. Hierarchical belief states for digital assistants
DK179549B1 (en) 2017-05-16 2019-02-12 Apple Inc. Far-field extension for digital assistant services
EP3762769A1 (en) 2018-03-06 2021-01-13 Texas State University Augmented reality/virtual reality platform for a network analyzer
CN110569061A (en) * 2019-09-24 2019-12-13 河北环境工程学院 Automatic construction system of software engineering knowledge base based on big data
US11550844B2 (en) 2020-12-07 2023-01-10 Td Ameritrade Ip Company, Inc. Transformation of database entries for improved association with related content items
US11748556B1 (en) * 2022-08-09 2023-09-05 Ahmed Mohamed Hany AbdelAlim ElGamal System and method of enhancing PDF documents

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6172677B1 (en) * 1996-10-07 2001-01-09 Compaq Computer Corporation Integrated content guide for interactive selection of content and services on personal computer systems with multiple sources and multiple media presentation
WO2001086390A2 (en) * 2000-05-08 2001-11-15 Walker Digital, Llc Method and system for providing a link in an electronic file being presented to a user
US20010056370A1 (en) * 2000-02-10 2001-12-27 Sivan Tafla Method and system for presenting an animated advertisement on a web page
US20020049635A1 (en) * 2000-09-06 2002-04-25 Khanh Mai Multiple advertising
US20020130899A1 (en) * 2000-11-06 2002-09-19 Mark Ryan Weather information delivery systems and methods providing planning functionality and navigational tools

Family Cites Families (61)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4367348A (en) * 1980-10-10 1983-01-04 Occidental Chemical Corporation Novel trifluoromethyl benzal chlorides and process for the preparation thereof
US5251294A (en) * 1990-02-07 1993-10-05 Abelow Daniel H Accessing, assembling, and using bodies of information
US5204947A (en) * 1990-10-31 1993-04-20 International Business Machines Corporation Application independent (open) hypermedia enablement services
US5822720A (en) * 1994-02-16 1998-10-13 Sentius Corporation System amd method for linking streams of multimedia data for reference material for display
US5603025A (en) * 1994-07-29 1997-02-11 Borland International, Inc. Methods for hypertext reporting in a relational database management system
US5694594A (en) * 1994-11-14 1997-12-02 Chang; Daniel System for linking hypermedia data objects in accordance with associations of source and destination data objects and similarity threshold without using keywords or link-difining terms
US5617565A (en) * 1994-11-29 1997-04-01 Hitachi America, Ltd. Broadcast interactive multimedia system
GB9426165D0 (en) * 1994-12-23 1995-02-22 Anthony Andre C Method of retrieving and displaying data
US5963205A (en) * 1995-05-26 1999-10-05 Iconovex Corporation Automatic index creation for a word processor
US5708825A (en) * 1995-05-26 1998-01-13 Iconovex Corporation Automatic summary page creation and hyperlink generation
US5794257A (en) * 1995-07-14 1998-08-11 Siemens Corporate Research, Inc. Automatic hyperlinking on multimedia by compiling link specifications
US5764906A (en) * 1995-11-07 1998-06-09 Netword Llc Universal electronic resource denotation, request and delivery system
US5822539A (en) * 1995-12-08 1998-10-13 Sun Microsystems, Inc. System for adding requested document cross references to a document by annotation proxy configured to merge and a directory generator and annotation server
EP0954797A1 (en) 1995-12-08 1999-11-10 Bell Communications Research, Inc. Method and system for placing advertisements in a computer network
US6141666A (en) 1996-01-22 2000-10-31 Internet Consultants Llc Method and system for customizing marketing services on networks communicating with hypertext tagging conventions
US5751961A (en) * 1996-01-31 1998-05-12 Bell Communications Research, Inc. Integrated internet system for translating logical addresses of internet documents to physical addresses using integrated service control point
US5848396A (en) * 1996-04-26 1998-12-08 Freedom Of Information, Inc. Method and apparatus for determining behavioral profile of a computer user
US5999912A (en) * 1996-05-01 1999-12-07 Wodarz; Dennis Dynamic advertising scheduling, display, and tracking
US6098081A (en) * 1996-05-06 2000-08-01 Microsoft Corporation Hypermedia navigation using soft hyperlinks
US6018748A (en) 1996-05-28 2000-01-25 Sun Microsystems, Inc. Dynamic linkable labels in a network browser page
EP1018084B1 (en) 1996-07-25 2011-12-07 Xcelera Inc. Web serving system with primary and secondary servers
US5903889A (en) 1997-06-09 1999-05-11 Telaric, Inc. System and method for translating, collecting and archiving patient records
US6434567B1 (en) * 1996-07-30 2002-08-13 Carlos De La Huerga Method for specifying enterprise-wide database address formats
US6516321B1 (en) 1996-07-30 2003-02-04 Carlos De La Huerga Method for database address specification
US5948061A (en) * 1996-10-29 1999-09-07 Double Click, Inc. Method of delivery, targeting, and measuring advertising over networks
US6098065A (en) * 1997-02-13 2000-08-01 Nortel Networks Corporation Associative search engine
DE19732006C1 (en) * 1997-07-25 1998-11-19 Heinkel Ind Zentrifugen Drum centrifuge with continuous weight measurement indicating filling and degree of de-watering
US5999929A (en) * 1997-09-29 1999-12-07 Continuum Software, Inc World wide web link referral system and method for generating and providing related links for links identified in web pages
US6574644B2 (en) * 1997-11-26 2003-06-03 Siemens Corporate Research, Inc Automatic capturing of hyperlink specifications for multimedia documents
US6092074A (en) * 1998-02-10 2000-07-18 Connect Innovations, Inc. Dynamic insertion and updating of hypertext links for internet servers
US6748385B1 (en) * 1998-02-10 2004-06-08 National Broadcasting Company, Inc. Dynamic insertion and updating of hypertext links for internet servers
US6185598B1 (en) * 1998-02-10 2001-02-06 Digital Island, Inc. Optimized network resource location
US7437725B1 (en) * 1999-01-04 2008-10-14 General Electric Company Processing techniques for servers handling client/server traffic and communications
US6308202B1 (en) 1998-09-08 2001-10-23 Webtv Networks, Inc. System for targeting information to specific users on a computer network
US6108703A (en) 1998-07-14 2000-08-22 Massachusetts Institute Of Technology Global hosting system
US6271840B1 (en) * 1998-09-24 2001-08-07 James Lee Finseth Graphical search engine visual index
JP2000276471A (en) 1999-03-23 2000-10-06 Seiko Epson Corp Method and device for presenting outline of link destination information and recording medium for recording processing program for presenting outline of link destination information
US6578078B1 (en) * 1999-04-02 2003-06-10 Microsoft Corporation Method for preserving referential integrity within web sites
DE19959142A1 (en) 1999-12-08 2001-08-30 Cyberprofit Ag Method and device for transmitting content, in particular advertising
US7162493B2 (en) * 2000-02-23 2007-01-09 Penta Trading Ltd. Systems and methods for generating and providing previews of electronic files such as web files
US6507837B1 (en) 2000-06-08 2003-01-14 Hyperphrase Technologies, Llc Tiered and content based database searching
WO2002015103A1 (en) * 2000-08-17 2002-02-21 Day Adam S Website promotional applet process
US6434657B1 (en) 2000-09-20 2002-08-13 Lsi Logic Corporation Method and apparatus for accommodating irregular memory write word widths
JP2002133281A (en) 2000-10-26 2002-05-10 Koichi Teramoto Delivery system for text advertisement
US7617121B1 (en) * 2000-11-10 2009-11-10 Platform-A Inc. Apparatus and method for hyperlinking specific words in content to turn the words into advertisements
US6938101B2 (en) * 2001-01-29 2005-08-30 Universal Electronics Inc. Hand held device having a browser application
US20020143808A1 (en) 2001-01-31 2002-10-03 Rodger Miller Intelligent document linking system
US7130861B2 (en) * 2001-08-16 2006-10-31 Sentius International Corporation Automated creation and delivery of database content
JP2003108425A (en) 2001-09-21 2003-04-11 Kitora Llc Information processing system, information processing method, advertisement method, official site authentication method, and information recording medium in which program is recorded
US7305625B1 (en) * 2001-09-24 2007-12-04 Aloft Media, Llc Data networking system and method for interfacing a user
US7072947B1 (en) * 2001-11-06 2006-07-04 Ihance, Inc. Method and system for monitoring e-mail and website behavior of an e-mail recipient
WO2005057358A2 (en) * 2003-12-04 2005-06-23 Perfect Market Technologies, Inc. Search engine that dynamically generates search listings
JP2007522537A (en) * 2003-12-04 2007-08-09 パーフェクト マーケット テクノロジーズ,インコーポレイティド Transparent search engine
US20060064411A1 (en) * 2004-09-22 2006-03-23 William Gross Search engine using user intent
US20060248078A1 (en) * 2005-04-15 2006-11-02 William Gross Search engine with suggestion tool and method of using same
US20060282416A1 (en) * 2005-04-29 2006-12-14 William Gross Search apparatus and method for providing a collapsed search
CN100494366C (en) * 2006-10-19 2009-06-03 康辰医药股份有限公司 Thrombin
US20090171750A1 (en) * 2007-12-27 2009-07-02 Hanning Zhou Incorporating advertising in on-demand generated content
US8838489B2 (en) * 2007-12-27 2014-09-16 Amazon Technologies, Inc. On-demand generating E-book content with advertising
US8726146B2 (en) * 2008-04-11 2014-05-13 Advertising.Com Llc Systems and methods for video content association
US8036990B1 (en) * 2009-04-28 2011-10-11 GumGum, Inc. Systems and methods for electronically managing content licenses

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6172677B1 (en) * 1996-10-07 2001-01-09 Compaq Computer Corporation Integrated content guide for interactive selection of content and services on personal computer systems with multiple sources and multiple media presentation
US20010056370A1 (en) * 2000-02-10 2001-12-27 Sivan Tafla Method and system for presenting an animated advertisement on a web page
WO2001086390A2 (en) * 2000-05-08 2001-11-15 Walker Digital, Llc Method and system for providing a link in an electronic file being presented to a user
US20020049635A1 (en) * 2000-09-06 2002-04-25 Khanh Mai Multiple advertising
US20020130899A1 (en) * 2000-11-06 2002-09-19 Mark Ryan Weather information delivery systems and methods providing planning functionality and navigational tools

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120254151A1 (en) * 2006-06-09 2012-10-04 Ebay Inc. System and method for keyword extraction
US10621240B2 (en) * 2006-06-09 2020-04-14 Ebay Inc. System and method for keyword extraction
US11341531B2 (en) 2007-07-09 2022-05-24 Ebay Inc. System and method for contextual advertising and merchandizing based on user configurable preferences
US20100218109A1 (en) * 2008-03-24 2010-08-26 Robb Fujioka Webtop and monetization engine, system and method
US9501750B2 (en) * 2008-03-24 2016-11-22 Mattel, Inc. Webtop and monetization engine, system and method
US20090327078A1 (en) * 2008-06-24 2009-12-31 Google Inc. Method and system for displaying information based on user actions
US9275148B1 (en) * 2011-09-23 2016-03-01 Shauki Elassaad System and method for augmented browsing and knowledge discovery
US20170228239A1 (en) * 2011-09-23 2017-08-10 Shauki Elassaad Knowledge discovery system
US9817906B2 (en) * 2011-09-23 2017-11-14 Shauki Elassaad System for knowledge discovery
US10402502B2 (en) * 2011-09-23 2019-09-03 Shauki Elassaad Knowledge discovery system
US9632654B1 (en) * 2013-03-15 2017-04-25 Shauki Elassaad System and method for augmented knowledge discovery
US20150169526A1 (en) * 2013-06-21 2015-06-18 Kobo Incorporated Heuristically determining key ebook terms for presentation of additional information related thereto

Also Published As

Publication number Publication date
EP2315140A1 (en) 2011-04-27
EP1652029A4 (en) 2006-09-13
US20050004909A1 (en) 2005-01-06
JP2007524920A (en) 2007-08-30
EP1652029A2 (en) 2006-05-03
CN1882939A (en) 2006-12-20
US20100169366A1 (en) 2010-07-01
KR100819739B1 (en) 2008-04-07
WO2005003920A3 (en) 2005-06-02
BRPI0412039A (en) 2006-09-05
AU2004255005A1 (en) 2005-01-13
NZ544469A (en) 2007-10-26
WO2005003920A2 (en) 2005-01-13
AU2004255005B2 (en) 2008-11-06
US7257585B2 (en) 2007-08-14
KR20060061307A (en) 2006-06-07
US7698311B2 (en) 2010-04-13
CA2531413A1 (en) 2005-01-13
US20080021895A1 (en) 2008-01-24

Similar Documents

Publication Publication Date Title
US8122014B2 (en) Layered augmentation for web content
US20120117485A1 (en) Layered augmentation for web content
US9128909B2 (en) Intelligent augmentation of media content
US9348935B2 (en) Systems and methods for augmenting a keyword of a web page with video content
US9262766B2 (en) Systems and methods for contextualizing services for inline mobile banner advertising
US9760541B2 (en) Systems and methods for delivery techniques of contextualized services on mobile devices
US20130054672A1 (en) Systems and methods for contextualizing a toolbar
US9002895B2 (en) Systems and methods for providing modular configurable creative units for delivery via intext advertising
US20130054356A1 (en) Systems and methods for contextualizing services for images
US20110015996A1 (en) Systems and Methods For Providing Keyword Related Search Results in Augmented Content for Text on a Web Page
US20120095834A1 (en) Systems and methods for using a behavior history of a user to augment content of a webpage
US20120246561A1 (en) Systems and methods for extended content harvesting for contextualizing
US20110258529A1 (en) Systems and methods for excluding serving an advertisement campaign to undesired web pages
US20100161417A1 (en) Advertisement Server Device, Advertisement Display Method, and Advertisement Server Program
WO2012100173A1 (en) Systems and methods for providing a discover prompt to augmented content of a web page
US20110082850A1 (en) Network resource interaction detection systems and methods
US20130091415A1 (en) Systems and methods for invisible area detection and contextualization
US20140214541A1 (en) Method and system for user-controlled rendering of mobile advertisements
WO2013033445A2 (en) Systems and methods for contextualizing a toolbar, an image and inline mobile banner advertising

Legal Events

Date Code Title Description
AS Assignment

Owner name: VIBRANT MEDIA, INC., UNITED KINGDOM

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:BRINDLEY, RICHARD;GOODING, CRAIG ALLEN;KASSOWAY, ANNA;REEL/FRAME:029602/0009

Effective date: 20080911

AS Assignment

Owner name: SILICON VALLEY BANK, CALIFORNIA

Free format text: SECURITY INTEREST;ASSIGNOR:VIBRANT MEDIA, INC.;REEL/FRAME:035276/0879

Effective date: 20150325

STCB Information on status: application discontinuation

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