可移植程序模块的外部引用的制作方法

文档序号:6479127阅读:166来源:国知局
专利名称:可移植程序模块的外部引用的制作方法
技术领域
本文档论述用于将信息合并入可移植程序模块中的机制和技术,其可以包括使用 实时信息馈给来生成小组件(gadget)广告。
背景技术
定向web广告对于如同谷歌的公司而言已经成为非常成功的业务。这样的广告因 几乎相同的原因而成功某些搜索引擎是成功的-其带给用户与他们相关的信息。典型地, 通常在独立于实际结果本身的区域中,与搜索结果一起提供广告。在这样的情况下,所选择 的用于显示的广告可以与搜索请求中的词语相匹配。谷歌Adwords服务是这样的定向广告 的示例。还可以脱离搜索递送定向广告,诸如在网页本身上。例如,广告系统可以分析网页 的内容以确定与该页面相关联的重要单词或概念,并且可以在显示该页面时递送涉及那些 单词或概念的广告。这样的递送可以在为用户检索该页面时发生,其中页面的托管者递送 该页面内容以及广告服务器递送定向广告。谷歌AdSense服务是这样的定向广告的示例。

发明内容
本文档描述可以用来将信息从外部源提供到诸如网页的基于web的文档的机制 和技术。例如,网页或程序可以充当诸如小组件的可移植程序模块的容器文档。可以对小 组件进行编程以识别关于容器文档的信息、将这样的信息传递到广告服务器、从广告服务 器接收回定向信息以及将定向信息供给给独立于广告服务器的服务器。小组件然后可以使 用从独立服务器返回的信息来创建广告用于显示。在一个示例中,小组件可以生成被定向 到页面并且包括来自诸如易趣的在线拍卖服务的实时信息的广告。在一个实施方式中,公开了一种计算机实现的方法。该方法包括在计算机服务器 存储与该计算机服务器不相关联的第一 web可访问的文档的指示数据;从与该web可访问 的文档相关联的容器文档中的程序模块接收请求;以及响应于该请求提供与指示数据有关 的信息。Web可访问的文档可以包括容器文档,以及指示数据可以包括与web可访问的文档 上的文本内容相关联的关键词。在一些方面中,与指示数据有关的信息包括指示数据的至 少一部分。并且,关于web可访问的文档的信息可以包括web可访问的文档的URL。另外, 该方法还可以包括分析web可访问的文档以确定该文档的关键词。在另一个实施方式中,公开了计算机实现的方法。该方法包括获取用于识别容器 文档的信息,其中可移植程序模块位于该容器文档中;将信息提交给存储关于容器文档的 信息的概念服务器,并且作为响应接收与容器文档相关联的信息;以及向项搜索服务器提 交有关与容器文档相关联的信息的查询。该方法还可以包括响应于查询接收关于一个或 多个项的积极(actively)更新的信息;以及在容器文档上生成与一个或多个项有关的显 示。在一些方面中,积极更新的信息包括在线拍卖的状态信息,以及显示包括一个或多个超 链接。在某些方面中,该方法进一步包括接收对一个或多个超链接中的一个的选择并且促使与该超链接相关联的网页被显示。并且,超链接可以包括对实时改变的内容的返回 的查询。另外,显示可以包括定向广告,以及该方法可以进一步包括接收对一个或多个超链 接中的一个的选择并且向广告服务器报告点击事件。此外,该方法还可以包括确定显示的 大小以及对关于一个或多个项的信息进行格式化以在显示中显示。用于识别容器文档的信 息可以包括与该容器文档相关联的URL,以及与该容器文档相关联的信息可以包括表示容 器文档上的文本中的概念的一个或多个关键词。在某些方面中,该方法还包括从一个或多 个关键词的子集生成查询。在又一个实施例中,公开了可记录的介质。该介质以有形形式在其上记录并存储 了指令,在执行所述指令时执行包括以下的行为获取用于识别容器文档的信息,其中可移 植程序模块位于该容器文档中;将信息提交给存储关于容器文档的信息的概念服务器,并 且作为响应接收与容器文档相关联的信息;以及向项搜索服务器提交与和容器文档相关联 的信息有关的查询。在另一个实施例中,计算机实现的系统包括用于由客户端应用显示的web可访问 的容器文档,以及用于在容器文档上显示的广告可移植程序模块。广告可移植程序模块包 括计算机代码,其用来识别容器文档的场境(context)信息、将与场境信息相关联的场境 信息提交给广告服务器、将广告关键词信息提交给第三方服务器以及使用从第三方服务器 返回的信息生成广告。将在下面的附图和描述中阐述一个或多个实施例的细节。其它特征、目的和优势 从描述和附图以及从权利要求将是显而易见的。


图1示出了用于将实时信息递送给可移植程序模块的系统和过程的概念图。图2A-2C是可以由图1的系统和过程产生的小组件广告的示例显示。图2A-2B示出了媒体有关着陆页的显示。图3是用于将内容实时递送给可移植程序模块的示例系统的示意图。图4是用于生成展示实时数据的嵌入式广告的过程的流程图。图5是用于生成展示实时数据的嵌入式广告的过程的泳道图。图6示出了包括多个可移植程序模块的容器文档的示例布局。图7是用于动态生成广告和其它项的示例系统的示意图。图8示出了可以被用来实现在此描述的技术的计算机设备和移动计算机设备的 示例。图9A和9B是包括用于显示动态生成的广告的可移植程序模块的网页的显示。在各附图中相同的参考标记指示相同的元素。
具体实施例方式图1示出了用于将实时信息递送给可移植程序模块的系统100和过程的概念图。 在图示的示例中,系统100包括可移植程序模块104 (诸如web小组件)、广告服务器106以 及项搜索系统108。总的来说,这些组件协作以许可包含实时或几乎实时的数据的广告或其 它这样的显示在运行期间被构建并且向用户显示。如此,定向广告可以在运行中被构建,并且因此可以包含与用户当前相关的信息。在该示例中,该信息是关于与网页的内容有关的 一个或多个在线拍卖的状态信息。另外,在某些实施方式中,系统100可以以对现有系统很少或没有调整的方式来 实现。例如,可以对可移植程序模块104进行编程以使用认可的API向广告服务器106和 项搜索系统108提交标准HTTP请求,其与其它系统发出的请求一样。如此,可以在不必更 新服务器软件或进行其它类似的改变的情况下将在此描述的功能性添加到系统。另外,这 样的系统100可以提供额外的灵活性,其中可移植程序模块的作者和用户可以相对于其系 统与广告服务器106和项搜索系统108交互的方式具有更多控制。在某些实施方式中,这样的技术可以提供一个或多个优势。例如,在该示例中,页 面可以能够向查看者提供可能与用户特别相关的最新实时信息。例如,如果仅向用户提供 关于拍卖站点上的区域的信息,其中只具有可能存在在该站点发生的相关拍卖的指示,则 由于点击可能是浪费时间的,所以用户会有节制地点进来查阅拍卖。另一方面,如果用户看 到马上将要期满的拍卖中的实际产品,并且看到其当前价格,则用户会点击广告的可能性 将会显著提高。示例实施方式对用户、广告主、广告载体以及信息提供者可以有益。用户由于向他 们提供与其更相关的信息而获益。广告主由于他们可以驱使更多的查看者到达其商品而获 益。诸如谷歌的广告载体由于其服务的广告主获益而获益。而信息提供者_包含小组件广 告的文档的所有者_由于其查看者获益以及可能由于其能够获取广告收益的分享而获益。参见图1,示出了位于容器文档102中的可移植程序模块104。可移植程序模块104 可以包括从标记代码生成的显示,所述标记代码被存储为生成容器文档102的标记代码的 一部分或从生成容器文档102的标记代码引用。例如,标记代码可以包括各种形式的HTML 代码,诸如用于生成显示上的小组件的代码。可移植程序模块104可以是容器文档102表 示的网页上的iFrame的一部分。总的来说,iFrame是可以使用iFrame元素来嵌入在另一 个HTML文档中的HTML文档。在其中嵌入iFrame的文档-在该示例中的容器文档102-可 以在仍然还在生成iFrame本身时围绕iFrame生成。用于在网页中提供iFrame的示例HTML代码包括下述<html>...<iframe src = “ http://makinganiframe.com" height = “ 100 “width=" 200" frameborder = “ 0" scrolling = “ no" ></iframe></html>如该代码所示,iFrame元素可以引用待插入在iFrame中的文档、iFrame的尺寸以 及在iFrame内是否会允许滚动。通过使用HTML锚的“目标”属性或诸如在AJAX实施方式 中通过使用JavaScript,在iFrame中的文档在不用刷新容器文档(例如,周围页面)的情 况下可以用另一个文档替代或可以被修改或刷新。例如通过编辑文档的DOM树可以生成类 似的显示。可移植程序模块104可以与容器文档102、广告服务器106以及项搜索系统108通 信。容器文档可以显示各种信息,在该情况下,显示标题102a和正文文本102b。容器文档102还由可以由可移植程序模块104以及其它连接互联网的组件和系统使用来识别容器文 档的URL表示。可移植程序模块104可以使用广告服务器106来有效执行对容器文档102的文本 分析。广告服务器可以是包括爬取各种网站并且分析那些网站的内容的组件的服务器。特 别地,可以收集网页的文本内容,以及可以生成页面上的词语的列表并且将其从最常见词 语到最不常见词语排序。然后可以将该词语的列表提交到已用其它词语训练并且将各种概 念与那些词语相关联的专家系统。从这样的分析,可以确定与网页相关联的特定概念,并且 可移植程序模块104可以在查询中使用这样的概念(如下面进一步描述的)以从第三方获 取用于被可移植程序模块104执行以及显示的额外信息。可移植程序模块104可以通过发出对广告服务器106的恰当格式化的请求来访问 这样的信息。通过向广告服务器106提供诸如容器文档102的URL的容器文档102的识别 信息,该请求可以向广告服务器标识所需的信息。为了获取URL,可移植程序模块104可以 使用在页面上执行的页面上的javascript,使得其可以经由document, location获得URL。 如果javascript运行于广告框架内,则其可以使用document, referrer来获得内容页面的 URL。Javascript然后可以创建从广告服务器请求广告的iframe,该iframe然后可以返回 小组件,在其中填入了适当的URL。可移植程序模块104然后可以通过发出HTTP请求将URL 提交给广告服务器106,所述HTTP请求诸如如下格式化的请求http://pagead2. googlesyndication. com/pagead/ads ? url = slashdot. org&outp ut = xml&num—radlinks = 10广告服务器106被配置为接收与特定URL有关的请求并且作为响应提供描述与 URL相关联的内容的关键词。广告服务器106可以仅被配置为响应于接收URL执行查找,或 可以在返回描述信息之前识别与所接收的URL相关联的额外数据。广告服务器106可以查 找页面的已爬取的副本并且如上所述并根据需要取决于场境、关键词或广告,进行场境分 析。对于地理信息,服务器106可以在地理数据库中查找有关请求的IP地址。在接收描述信息后,可移植程序模块104可以将所接收的信息、信息的子集或与 所接收的信息有关的信息提交给项搜索系统(ISS) 108。项搜索系统108可以采用各种形 式,而在该示例中是维护诸如天气、股票价格或拍卖信息的不断改变的实时信息的服务器。 这样的系统的一个示例为易趣拍卖网站。项搜索系统108可以操作以经由公布的、公开的 协议接收查询,使得可移植程序模块104的开发者可以经由可移植程序模块104使用所接 收的描述信息来容易地通信查询。项搜索系统108然后可以以已知的方式响应,诸如通过 传送与由项搜索系统跟踪的行为有关的XML格式化信息。例如,项搜索系统108可以提供 关于与传递给其的查询相关联的拍卖中的顶端对象的描述信息,诸如描述、照片、当前价格 以及期满时间。图1中的字母箭头示出了系统100中的示例操作流。在该特定示例中,容器文档 102是用于在线购物站点的网页,其列出每一天用于出售的一种产品,并且在该产品售完后 停止出售任何东西。如此,该网站的运营者可能会在每一天该站点没有东西可卖时-可能 数小时_失掉产生收益的机会。同时,除每一天单个产品外,运营者可能不希望还必须管理 其它出售。为了帮助这一挑战,运营者可以将可移植程序模块104包括在容器文档102中,并且可以提供代码,使得可移植程序模块104仅在容器文档102上做广告的产品已经卖完后 被启用。直到那时,可以在关于可移植程序模块104的iFrame中显示各种其它信息,诸如 用户关于页面上正出售的产品的实时讨论。在访问可移植程序模块104时,诸如在用户访问容器文档102时被提供标记代码 时,可以首先开始执行用于容器文档102的代码,并且显示容器文档102。在处理到达用于 可移植程序模块104的iFrame代码时,可以访问并执行用于可移植程序模块104的代码。 该代码可以包括诸如容器文档的URL的用于访问关于容器文档的信息的元素,以及在容器 文档中为iFrame提供的尺寸。箭头A示出了从可移植程序模块104到容器文档102的请 求以获取关于容器文档102的某些信息。可移植程序模块104然后可以诸如以HTTP请求的形式向广告服务器106发出请 求以从广告服务器106获取关于容器的额外信息。箭头B示出了这样的请求。请求可以包 括从容器文档获取的以其原始形式或修改后的形式的一些或全部信息。例如,请求可以包 括容器文档的URL。请求还可以包括诸如用户的IP地址的其它信息,以及发布者乐于传递 的任何其它参数,诸如用户人口统计数据等。可以可选地对从可移植程序模块104到广告服务器106的请求进行加密或保护其 不被篡改。例如,在可移植程序模块104和广告服务器106之间可以商定独特的协议以阻 止从广告服务器106非法请求信息。在接收这样的请求后,广告服务器106可以在生成对请求的响应中执行各种操 作。在所描绘的示例中,广告服务器106的任务是向可移植程序模块104提供描述容器文 档102的信息。广告服务器106或与广告服务器106相关联的其它服务器可能先前诸如通 过上述技术已生成这样的描述信息。如果已经存在这样的信息,则广告服务器106可以只 是将该信息返回给可移植程序模块104。如果广告服务器106还没有关于容器文档102的 描述信息,则广告服务器106可以试图实时生成这样的信息。例如,广告服务器106可以促 使蜘蛛(spider)模块来访问容器文档102以从容器文档102获取内容(例如,网页的文本 以及可以指示文本的相对重要性的标签,诸如标题标签),并且可以从内容提取关键词。这 样的关键词然后可以由广告服务器106存储以供以后使用,并且还可以被传送回可移植程 序模块104。如果广告服务器106不能获取直接描述容器文档102的信息,则广告服务器106 可以试图生成对这样的信息的最佳猜测。例如,广告服务器106可以获取在与容器文档102 相同的域处的其它文档的关键词。广告服务器106然后可以创建关键词,其为例如容器文 档102的地址“附近”的其它文档的关键词的排名的联合。在一个示例中,在确定待递送的 用于容器文档102的适当描述信息时,可以给予最接近容器文档102的文档(例如,在相同 路径中的那些文档)比更远距离的文档更高的权重。在广告服务器106确定容器文档102的描述信息时,可以如箭头C所示将该描述 信息返回给可移植程序模块104。例如,可以以XML格式化消息或其它类似的消息格式提供 iMin 息。在从广告服务器106接收信息后,可移植程序模块104可以如箭头D所示在查询 中将信息提交给项搜索系统108。这样的行为可以仅包括将从广告服务器106接收的关键 词作为变量插入查询中。这样的行为还可以涉及额外步骤。例如,可移植程序模块104可以进行从广告服务器106接收的某些信息不会从项搜索系统108导致满意结果的确定。作 为一个示例,可移植程序模块104可能为项搜索系统108接收太多的关键词,并且可以被编 程以移除某些关键词(例如,最后接收的关键词)从广告服务器106返回给可移植程序模块104的信息可以包括除描述信息外的信 息。例如,广告服务器106可以通过分析描述信息来确定来自许多项搜索系统中的特定项 搜索系统108可能更适于向可移植程序模块104提供内容。作为一个示例,在返回给可移 植程序模块104的关键词与消费者指向的术语(例如,DVD、电视、收藏)有关的情况下,广 告服务器106可以提供参数,使得可移植程序模块104将查询发送给与易趣相关联的服务 器。另一方面,如果关键词指示用户可能正在查看更偏工业的文档(例如,钢材、钢坯、CRM 等),则可以将可移植程序模块104定向到聚焦工业的拍卖站点。以这种方式,作为过程的 结果示出的广告可能尤其适合,并且还可以被定向到最可能给出完整和有用结果的站点。响应于可移植程序模块104的提交,项搜索系统108可以返回查询的结果。例如, 通过标准API,项搜索系统108可以重新格式化查询以提交给数据库,诸如实时(其包括几 乎实时)跟踪拍卖状态的数据库。结果可以包括正在进行的拍卖的列表,如同如果用户将 相关关键词键入到诸如易趣的拍卖站点的主页则他会看到的那样。项搜索系统108可以如 箭头E所示将某一数量的结果(例如,响应于从可移植程序模块104接收的参数),诸如前 三个结果(例如,三个最靠近的结果或将要期满的三个拍卖),返回给可移植程序模块104。 可以将结果例如格式化为XML消息。从项搜索系统108返回给可移植程序模块104的消息 的示例可以采用以下形式在从项搜索系统108接收结果后,可移植程序模块104可以分析并格式化结果以 在由容器文档102表示的网页上向用户显示。例如,可移植程序模块104可以最初确定其 关联的iFrame的大小,以确定其可以显示多少结果以及其可以以哪种格式来显示结果。例 如,如果iFrame非常短,则可能没有用于图形(例如,拍卖中的项的照片)的空间,而可移 植程序模块104可以在这样的情况下拒绝显示图形。另外,可移植程序模块104可以确定iFrame太小而不能显示多个项的完整描 述,并且因此可以选择并置某些描述或仅显示从ISS接收的字段的子集,诸如仅显示项的 “short description (简短描述)”字段。而且,可移植程序模块104可以选择显示比iFrame 将容纳的项更多的项,并且可以提供滚动控件以允许对最初未显示的项访问。可移植程序 模块104还可以执行其它格式化操作,诸如扩展出iFrame外以示出更多项。在适当的实施方式中,在正加载与容器文档102相关联的页面时,可以发生从容 器文档102收集信息、将该信息提交给广告服务器106、从广告服务器接收关于容器文档 102的描述信息、向ISS提交查询以及接收并显示来自项搜索系统108的结果。如此,用户 在访问并加载关联的网页时可以几乎即刻可查看由可移植程序模块104创建的显示,诸如 积极生成的广告。可移植程序模块104还可以提供有用于访问用于与网页一起显示的信息的额外 功能性。例如,可移植程序模块104进行的调用可以是有条件或迭代的。作为一个示例, 可移植程序模块104可以请求有限数量的结果,并且在显示那些结果时,可以显示通过其 用户可以寻找额外结果的控件。在这样的情况下,可移植程序模块104然后可以请求额外 结果。(可移植程序模块104还可以最初获取所有结果并且存储部分结果直到用户请求它们。)可移植程序模块104还可以从自广告服务器106接收的信息确定多个项搜索系统 108可以是广告的可能源。在这样的情况下,可移植程序模块104可以生成向用户示出项 搜索系统108的各种选择的显示,并且然后可以在用户选择这样的选项后执行对特定项搜 索系统108的查询。应当理解的是,可移植程序模块104还可以实现由诸如Javascript和 JavaFX的语言提供的各种功能,因此启用一系列丰富的交互由可移植程序模块104产生的显示可以包括允许用户与结果交互的元数据,诸如 超链接。例如,显示在线拍卖中的某些项的文本可以与超链接相关联,对其的选择促使显示 容器文档102的浏览器被重定向到示出关于项的细节的页面(或促使打开新窗片或新窗口 以显示项细节屏)。对这样的超链接的选择还可以促使消息被传送给广告服务器106或与广告服务 器106相关联的服务器,以报告用户的选择。例如,广告系统可以基于用户点击特定广告的 次数来向广告主计费,并且这样的消息可以允许广告系统向诸如项搜索系统108的运营者 的广告主恰当地计费。另外,可移植程序模块104可以报告回用户在显示内选择的特定项, 使得可以发生更详细的报告和计费。作为涉及在线拍卖系统的一个示例,如果用户点击用 于一个项的链接,则营运拍卖的项搜索系统108可以向该项的出售者计费。项可以包括ISS 分配的ID号,并且可移植程序模块104可以在用户选择该项时将该ID号传递给广告服务 器106。广告服务器106然后可以在适当的时间,诸如在向项搜索系统108对选择计费时, 将该ID号提供给项搜索系统108。除使用这样的信息以公平和跟踪的方式将广告费用传递 给其用户外,项搜索系统108可以使用这样的信息来帮助分析在显示中提供某些信息的有 效性等。在某些实施方式中,可以缓存由可移植程序模块104到广告服务器106以及到项 搜索系统108的请求。由于上述的各种请求可能需要相对大规模的搜索和处理,尤其非常 大量地执行时,所以这样的缓存可以允许增强的性能。例如,如果将如同上述的用于广告的 可移植程序模块放置在■· nyt. com网站的首页,则可能有成千上万的页面加载,每一次 页面加载需要广告服务器106和ISS的完全搜索和处理。缓存可以允许搜索和处理发生一 次,其中仅通过在缓存中查找它们来服务随后的请求。在发生这样的缓存时,其可以在各个层级,包括在浏览器中、在ISP或共同的服务 器处以及在诸如谷歌的中央信息提供者处,来实现。在浏览器处,在用户返回到作为如同上 述的用于可移植程序模块的容器的网页(例如,在阅读文章后返回到报纸的主页时)时,模 块代码可以只是返回首次加载页面所获取的信息。在ISP处的缓存可以在第一用户从那些 源寻找信息后完全避免命中广告服务器106或项搜索系统108的任何需求。而在广告服务 器106和项搜索系统108处的缓存包括在那些系统上的一些加载,但避免以会比仅在缓存 中查找信息更加昂贵的方式重新查询和重新处理的需求。可以通过各种机制控制缓存终止,尤其在由可移植程序模块104所显示的数据为 如同天气信息和在线拍卖信息的实时数据时。例如,一种机制可以将适当粒度的时间戳插 入GET请求中。另外,在使用或能够使用缓存的情况下,可移植程序模块104可以被编程为 预期这样的缓存来格式化项。例如,如果在线拍卖系统将拍卖中剩余的时间报告为“剩余3 分钟”,则可移植程序模块104可以被编程来将这样的信息重新格式化成绝对而不是相对时 间,例如“在2:23pmCT期满”。
图2A-2C是可以由图1的系统和过程产生的小组件广告的示例显示202-206。在 该特定实施方式中,显示示出了已经被选择来匹配一个页面的场境的广告,其中例如该页 面与某个类别的计算机外围设备有关,使得所选择的广告为用于HP计算机外围设备的。该 页面还已经被定向到这样的数码摄影的主题,其中在显示202-206中示出的交互式广告的 各个部分还与数码摄影相关。显示202-206中的每一个为用户可以选择来与广告一起示出 的显示,并且用户还可以对广告上的超链接进行选择以被带到HP网站。类似的显示可以作为广告模拟程序的一部分生成,通过其可以向用户提供菜单选 择以识别用于广告的大小以及待与广告相关联的目标容器文档。因此,例如可移植程序模 块可以将用户选择的特定URL提交给广告服务器,并且广告服务器可以诸如通过用于对页 面的索引的爬取过程事先已分析相关URL页面,诸如用于对页面内容进行分析并分类的 AdSense过程的一部分。这样的分析可以确定“数码相机”的概念或关键词是关于该页面的 最相关的概念或关键词。结果,广告服务器可以将这样的关键词返回给可移植程序模块,并 且可移植程序模块可以促使在此示出的显示被生成。在其它实施例中,可以将关键词提交给诸如易趣的站点,其可以为可移植程序模 块返回至少一个数码照片以与广告一起显示。可以被直接编码入可移植程序模块的与广告 相关联的文本可以向用户强调所显示的信息为关于当前正发生(或在最近的过去已发生) 的拍卖的实时信息。还可以将显示的关于拍卖的每一个项作为超链接来提供,使得用户可 以容易地看到广告为交互式的,以及对相关超链接的选择会将他们带到对应拍卖的细节页以这种方式,可以向用户呈现显示,通过其他们将即刻明白他们可以在不需要任 何努力的情况下到达期望的拍卖。具体地,他们将不必在点击广告并且被带到易趣网站后 输入额外的搜索请求。结果,在此示出的广告的呈现可以促使用户以更加积极的方式作出 反应,即更重视广告并且更可能点击广告。结果,用户可以通过被定向到他们感兴趣的信息 来获益,广告主易趣(以及其对应的相机出售者)通过将额外的流量驱使至拍卖来获益,广 告的经营者可以通过产生广告收益来获益,以及容器文档的制作者可以通过分享广告收益 并且具有更满意的用户基础来获益。图3是用于将内容实时递送给可移植程序模块的示例系统的示意图。总的来说, 图3中示出的组件可以采用类似于图1中所示出的那些的形式。在此示出了某些组件的额 外细节和结构以额外说明示例系统300的操作。系统300 —般由容器文档304中的可移植程序模块306组成,该可移植程序模块 306可以通过诸如互联网的网络310从广告服务器302和项数据库308访问信息。容器文 档304可以具有与它相关联的多个参数,包括它的URL 323。可移植程序模块306包括代 码和嵌入在容器文档304中的作为结果的显示,并且可以包括从容器文档304引用的代码。 如上所述,可移植程序模块306可以被实现为在与容器文档304相关联的网页上的iFrame 中提供显示。可移植程序模块306包括允许它获取关于容器文档的信息并且使用这样的信息 来检索并显示诸如动态生成的广告的内容的多个组件。例如,场境请求器是诸如通过与显 示容器文档的浏览器程序通信来与容器文档304通信的程序模块。场境请求器可以获取定 义可移植程序模块306的场境的各种参数,诸如用于容器文档304的URL 323以及在其中待显示可移植程序模块306的帧的大小等。可移植程序模块306还包括请求格式器326。请求格式器326可以被用来诸如使 用由场境请求器324获取的场境信息(例如,容器文档URL)生成对广告服务器302的请 求。另外,请求格式器可以从广告服务器302接收响应,并且使用在这样的响应中的信息来 生成对项数据库308的请求,例如被设计来生成示出由项数据库308跟踪的实时信息的项 的列表,以供可移植程序模块306显示的查询。另外,可移植程序模块306还可以包括广告生成器328。广告生成器以如同上述那 些的方式接收诸如从项数据库308返回的信息的信息,包括实时信息,并且格式化所接收 的信息以在与容器文档304相关联的网页上显示。可移植程序模块306可以生成待通信至网络310并且经由网络310通信的各种形 式的消息。消息306a是以对广告服务器308的请求(例如HTTP请求)的形式的消息,包括 已由可移植程序模块306收集的与可移植程序模块306的场境有关的场境信息。消息306b 是可以以按照标准API的形式将其提交给项数据库(或与项数据库308相关联的web服务 器)的搜索查询。项数据库308本身可以采用与在此描述的技术一致的各种形式。在某些实施方式 中,项数据库308可以跟踪实时、不断改变的信息。在这样的实施方式中,可移植程序模块 306可以被用来收集这样的信息并且动态生成诸如广告的待在与容器文档304相关联的网 页上显示的内容。项数据库通常可以被配置为以作为例如对来自可移植程序模块306的搜 索查询的响应的搜索结果的形式生成消息。项数据库308还可以视情况生成并传送其它消 肩、ο广告服务器302可以包括用于支持生成到互联网网页的查看者的定向广告的多 个组件和结构。广告可以被生成以包括在操作广告服务器302的组织的页面(例如,搜索结 果页面)上或可以被生成以通过联合程序包括在第三方网页上。如在此的其它设备一样, 广告服务器302可以包括一个或多个不同的计算机和/或计算机系统;仅为说明的目的在 此示出了特定编组的模块和结构。广告服务器302从在请求处理器318处的其它组件接收消息。请求处理器318可 以解析并分析传入消息以确定如何响应。例如,传入消息可以请求与特定URL相关联的某 些概念或关键词的列表,以及请求处理器318可以分析这样的请求的结构以确定应当返回 关于与该URL相关联的网页的某些识别信息。如此,请求处理器318可以访问页面内容数 据316,其包括将特定URL关联到概念或关键词的信息。访问可以通过将URL用作为键的简 单查找。页面内容数据可以首先由文档分析器314使用爬取器312获取页面信息而生成。 爬取器可以通过各种机制操作来自动并且定期检查通过网络310可用的信息。文档分析器 314可以查阅爬取器312采集的信息,并且可以使用如同上述那些的机制来确定信息的概 念或关键词。文档分析器还可以获取其从爬取器312分析的用于各种文档的URL,并且可以 将URL和对应的概念或关键词存储在页面内容数据316中以供系统稍后访问。另外,诸如 在从可移植程序模块306发出对URL的请求,而对应的URL还未在页面内容数据316中出 现的情况下,爬取器312和文档分析器314可以实时获取并分析信息。在生成了响应时,响应格式器320可以将响应返回给请求器。响应格式器320可以例如将从页面内容数据316的查询接收的数据库结果重新格式化成一个或多个XML消息 以被返回给可移植程序模块306。消息可以包括例如关键词320a。尽管在此示出了有限的 服务以增加清晰度,但是广告服务器302还可以提供各种其它服务。例如,静态广告可以由 广告服务器302提供并且可以被递送以在与容器文档304相关联的网页上显示——而不必 引用如同项数据库308的实时信息的单独源。还可以提供其它服务,这可以在下面关于图 7更详尽地描述。图4是用于生成展示实时数据的嵌入式广告的过程400的流程图。总的来说,该 过程示出了可移植程序模块在收集信息并且向网页的查看者显示信息时可以采取的行为。 该过程宽泛地包括从诸如容器文档的与可移植程序模块有关的文档收集信息;将所收集 的信息(或所收集的信息的派生物)提交给远程服务器;作为响应从远程服务器接收信息 (例如,提供描述有关文档的信息的信息);将所接收的信息(或所接收的信息的派生物) 提交给另一个远程服务器;进而从另一个远程服务器接收信息;以及显示所接收的信息。在框402,可移植程序模块最初获取关于可移植程序模块和/或用于可移植程序 模块的容器文档的“场境”的信息。场境可以包括许多不同类别的信息,并且可以包括例如 容器文档中的主标题的文本、用于容器文档的URL、容器文档中的链接集等。在框404,可移植程序模块然后将场境信息传递给诸如关键词服务器的远程服务 器。可移植程序模块可以诸如通过将某些参数添加到信息来首先更改或重新格式化场境信 息,其中参数可以由远程服务器用来确定关于所提交的信息采取哪些行为。远程服务器可 以诸如通过在将容器文档的URL传递给服务器时识别描述容器文档的信息,使用所传递的 信息来生成响应。服务器然后可以诸如以关键词的形式将这样的信息传递回可移植程序模 块,如框406所示。在框408,可移植程序模块将关键词发送给项搜索数据库。可移植程序模块可以分 析所接收的关键词,并且可以增加它们、更改它们或在除可能格式化改变(例如,从XML到 匹配用于项搜索数据库的API的HTTP请求)外没有任何改变的情况下只是传递它们。另 外,可移植程序模块可以诸如通过从多个这样的数据库中选择项搜索数据库,来进行接收 查询的其它确定。可移植程序模块然后可以在项搜索数据库将所提交的查询应用于其数据 并生成响应时等待。响应可以包括例如对查询作出响应的一个或多个项。在框410,可移植程序模块从项搜索数据库接收结果,以及在框412,可移植程序 模块格式化并显示搜索结果。格式化可以包括除去用于显示的某些结果,以及还确定用于 可移植程序模块的空间的形式或大小,以及布置关于所返回的项的信息以容纳在所分配的 空间中。可移植程序模块然后可以等待行为。在框414,可移植程序模块诸如通过用户点击 表示由可移植程序模块显示的项的超链接,来接收控件选择。所选择的超链接可以促使正 显示可移植程序模块的浏览器向用户显示作为所选择的超链接的目标的细节页面。通过该 过程,位于中央的可移植程序模块可以协调对收集用于显示动态呈现的广告的数据以及显 示用于与这样的广告以与用户交互所需的信息的传递。图5是用于生成展示实时数据的嵌入式广告的过程500的泳道图。总的来说,过 程500示出了在可以为如同在图1和3中示出的结构的客户端设备、广告服务器以及项服 务器之间的交互的示例。
该示例过程在框502开始,其中客户端上的网页上的可移植模块请求关于网页的 场境的信息。容器文档或另一个适当的结构通过提供诸如文档的URL的场境信息来响应。 可移植模块然后将有关场境(例如URL)的信息提交给诸如广告服务器的远程服务器(框 506)。在接收请求后,广告服务器可以最初验证请求(框507),诸如以确保其不是垃圾 信息。服务器然后确定描述容器文档的信息是否可用,例如是否事先由服务器为文档生成 并且存储了描述页面内容的关键词或概念。如果已经存储了这样的信息,则可以简单地将 这样的信息返回给客户端(框514)。另外,如果最近发出过对相同信息的请求,则在不需要 在服务器上额外搜索(未示出)的情况下,缓存可以拦截并且回答请求。如果关于容器文档的这样的信息不可用,则广告服务器可以在运行时间促使容器 文档被web爬取器爬取(框510)并且然后被分析以生成新的关键词。如果爬取和分析是 成功的(框512),则可以将新生成的关键词返回给客户端(框514)。如果爬取和/或分析 没有生成可以返回给客户端的信息,则广告服务器可以获取用于描述容器文档的替代信息 (框516)。例如,广告服务器可以收集与容器文档相同域或相同路径的所有文档的关键词, 并且识别在所收集的关键词之中占主导的特定关键词。在收集了替代信息后,可以将替代 信息作为关于容器文档的信息返回给可移植程序模块(框514)。在框518,可移植程序模块诸如通过选择待传递给项服务器的某些关键词,或通 过仅将所接收的信息重新格式化成匹配项服务器可接受的格式的请求,来编辑所接收的信 息。在框520,客户端完成对请求重新格式化并且将其提交给项服务器,项服务器接收请求 并且返回对应于请求的结果(框522)。项服务器可以根据上述各种过程或根据其它适当过 程来操作。在框524客户端然后接收结果并且诸如通过除去被确定与容器文档一起显示不 恰当的某些结果,来过滤结果或改变结果。在对显示哪些结果以及如何显示它们作出决定 时,可移植程序模块可以检查显示参数,诸如iFrame或在其中待发生显示的类似结构的大 小(框526)。客户端然后可以格式化并显示诸如在例如图2中所示的结果(框528)。在一段时间后,用户可以选择由可移植程序模块显示的结果中的一个(框530), 这可以促使HTTP请求被递送给广告服务器(框522),其中用于项的超链接被格式化为定向 到广告服务器。广告服务器然后可以将用户的客户端应用(例如,浏览器)重定向到项服 务器(框532和534)。通过使项的超链接指向广告服务器,以及通过重定向而不是直接地 将浏览器指向项服务器,过程500可以向广告服务器给出项已被点击的通知,使得广告服 务器可以为点击向广告主计费。在其它情况下,诸如通过每闪现成本计费技术,可以不同地 对广告计费。在框534,客户端请求与广告服务器返回的结果有关的文档。所请求的文档通常 可以是文档,或可以更具体地包括向项服务器提交查询。项服务器然后可以派发所请求的 文档(框536),该派发可以包括对数据库查询实时改变的信息,以及从数据库返回匹配项。 最后,在框538,客户端显示文档,这可以包括格式化从项服务器接收的基于XML的数据以 供在网页上显示,诸如在小组件中显示。图6示出了包括多个可移植程序模块的容器文档600的示例布局。多个合并的方 法是可能的,包括对iFrame和内嵌HTML技术的使用。图6描述了多个模块,包括股票模块605、电子邮件模块606、实时广告模块608以及广告模块610、612。取决于模块的创建者所 提供的规范,可以存在用于各种模块的不同格式。一些模块可以提供滚动条,而其它可以不 提供。一些模块与其它模块相比可以有不同的大小或形状。另外,一些模块可以向用户提 供编辑与模块相关联的显示偏好和/或每次使用的数据的机会。在一个实施方式中,内嵌模块可以由容器文档自动调整大小,因此可以不提供滚 动、高度或缩放比例信息。如果模块开发者希望模块具有该实施例中的这些特性,则可以以 固定大小<DI V>标签以及放置在标签中的内容对内嵌模块进行封装。然后可以为内嵌内容 指定滚动条、高度或其它特征。属性中的一个允许指定scaling = "..."以让开发者指示 对于容器文档中的不同大小的置放可以如何按比例放大或缩小模块。以该示例容器文档600提供的功能中的一个是通过选择添加内容元素603将内容 添加到容器页面的机会。在选择“添加内容(addcontent)”元素603后,系统可以向用户提 供交互式地指示额外元素要被包括在容器页面中的机会。可以提供接收该输入的各种形式 的界面。另外,在添加、编辑或删除模块时,可能期望的是,使那些行为在不用刷新容器文 档的情况下发生。用于实现上述的一个说明性技术可以包括对AJAX编程技术的使用,因此 可以在不用刷新容器文档页面(可能仅刷新在其中呈现新的容器的IFRAME)的情况下将模 块添加到容器文档,或使用AJAX来以在不用刷新容器文档的情况下移除模块,或在开发者 开发模块时,能够在模块填充在其中的容器文档不必具有页面刷新以合并改变的模块的情 况下改变模块。图7是用于动态生成广告和其它项的示例系统700的示意图。总的来说,系统700 是将诸如小组件的可移植程序模块用于各种操作的系统的更一般的表示。在此描述的一般 操作在适当的时候可应用于图1和3中所示的系统。系统700可以包括具有可以与之相关 联的多个模块的主机服务器系统710。这样的模块可以包括容器服务器712、模块服务器 714、规范服务器716、后端服务器718、分析模块728、模块创建服务器732、联合服务器734 以及广告服务器736。如所图示,主机服务器系统710可以通过网络726连接到多个其它系 统或子系统。连接到网络的其它系统可以包括一个或多个用户系统722、一个或多个远程项服 务器724、一个或多个模块开发者系统730以及一个或多个联合接受者服务器738。另外, 一个或多个数据库系统720可以协同主机服务器系统710的各个模块操作。容器服务器712可以通过网络726将容器文档派发给用户系统722。容器服务器 712可以使用携带数据和/或指令并且制定(formulate)容器以通过网络向用户系统722 传送的web服务器或有关服务器系统。然而,该容器服务器712还可以驻留于用户系统722 中,使得可以不使用网络连接。例如,在容器文档包括字处理文档的示例中,容器服务器712 可以包括字处理模块。模块服务器714可以将来自模块的数据提供给容器服务器712以合并入容器文 档。在一个实施例中,容器服务器712和模块服务器714可以包括执行两者功能的单个单 元,在此描述的其它服务器和模块也可以如此。模块服务器714可以通过解释和/或解析 在与模块相关联的模块规范中的指令,来为容器文档提供数据。根据一个实施例,模块服务 器714可以通过对浏览器iFrame的使用将模块内容派发给容器文档。
15
为了加快容器文档的显示,可以将模块内嵌在容器文档内显示。可以将内嵌显示 理解为是指与其它文档元素一起显示。一个示例是根据HTML标准从用于主体中的HTML的 代码生成的显示。在一个实施例中,由于内嵌模块可能产生的各种安全问题的风险,模块服 务器714或一些其它组件可以在将模块包括在容器文档中之前确定是否将模块视为值得 信赖的。根据一个实施例,模块可以合并由容器模块或与容器模块相关联的实体颁发的认 可标记(例如,数字证书)。如果存在认可标记,则模块服务器714可以呈递来自模块的数 据以供在容器文档中内嵌呈现。规范服务器716向模块服务器714提供模块规范文件。模块规范如稍后详述可以 被缓存并且存储在模块服务器714和/或规范服务器716可访问的数据库中,或可以从与 规范相关联的位置检索。例如,规范服务器716可以驻留于远程项服务器724上。另外,规 范服务器716可以通过网络连接到模块服务器714,其中位于网络上的另一个位置处的模 块规范对规范服务器716而言是可访问的。可以提供后端服务器718以与一个或多个数据库交互(例如,大型或动态的信息 数据库),例如,对于(例如,从RSS馈给)获取频繁更新并且要求数据流的新闻模块,后端 服务器718可以将数据格式化为用于容器的HTML。在一个具体示例中,一个人可以创建模块(例如地图模块),诸如针对现有测绘程 序使用应用程序接口(API)来创建模块以显示加州山景城市中心的地图。模块可以包括存 储在规范服务器上的XML规范文件或模块规范文件。规范服务器可以包括任何适当的服务 器,包括在容器页面被托管的站点处的服务器。用户或另一个人然后可以将该新的模块包 括在个性化主页或另一种形式的网页(容器文档)上。派发容器文档的服务器可以作为模 块服务器操作,以及通过来自其API的询问生成测绘数据的服务器可以被认为是后端服务
ο在一个实施方式中,分析模块728可以在各个时间(例如,在模块首次由用户选择 时、每次模块由容器调用以被包括或在被确定为对安全和安保有利的任何其它时间以及其 它时间)分析模块。分析模块728可以执行多个行为,包括将模块与不批准或危险模块的 列表或批准模块的列表进行比较。比较可以包括按名称或位置(例如URL)、规范的内容、规 范驻留的位置的内容、或关于模块的可以是可查明的信息的精确或子字符串(例如,前缀、 后缀和正规表达式)匹配。分析模块728可以响应于模块是不被批准或危险的确定而采取一个或多个行为, 包括例如沉默地阻止请求(即提供通用错误)、以解释其被阻止的原因的错误阻止请求或 将请求重定向到已被确定为安全并且与不被批准的模块有关的不同的模块规范(例如,如 果第一模块为不被批准的测绘站点,则与地图有关的另一个模块,或如果不被批准的模块 为篮球模块,则包括关键词“basketball (篮球),,的模块)。例如,通过重定向,原始模块 的URL可以被传递给“安全”模块。安全模块然后可以如下所述使用代理服务器来检索原 始URL的内容。开发者然后可以替换错误句柄来修复原始模块中的小错误以能够显示原始 模块的内容。在另一个实施例中,分析模块128可以解析模块内容以确定其是否安全,诸如 通过编译包含在模块中的JavaScript或其它脚本以试图识别模块可能执行的不安全或不 期望的行为。可以提供一个或多个模块创建服务器732。这些服务器可以作为“向导”操作来使模块创建者能够通过交互式过程来创建模块。例如,模块创建服务器732可以提供使创建 模块的人能够提供被用来自动生成模块规范的输入的一系列用户界面。例如,可以向各种 模块规范模板提供对应的输入。模块创建服务器732然后可以获得由用户提供的输入、将 输入插入模板中并且生成用于模块的模块规范。还可以将预览、测试和调试功能作为该“向 导”的一部分提供。该模块对于客户端还可以是可下载的。联合服务器734可以准备数据以供传送给与模块有关的一个或多个联合接受者 服务器738。联合服务器734可以通过网络726接收对模块和/或模块内容的请求并且将 该模块或内容递送给联合接受者服务器738。联合服务器734可以驻留于主机服务器系统 710或网络上的另一个位置处。例如,如果体育网站(联合接受者系统738的示例)的运营者期望包括由远程源 系统724创建的广告模块,则其可以通过对联合服务器734的请求来这样做。联合服务器 734然后可以与模块服务器714协作来生成用于容器文档(在此联合接受者系统738的体 育网站页面)的数据。这可以包括从远程源系统724检索模块规范、提供从联合接受者服 务器738接收的偏好(例如,正被显示的页面的运动队的城市信息)和/或生成用于容器 的数据。还可能的是,可以在联合接受者服务器738处将数据以IFRAME或内嵌的方式呈现 在其容器文档中。联合服务器734因此可以联合对其而言可访问的模块。其可以基于对特 定模块的请求或其确定的其它标准(例如,内容匹配、关键词匹配、与模块和/或联合请求 者相关联的货币值等)来这样做。广告服务器736可以将与模块相关联的广告提供给容器和/或用于为这样的模块 创建显示的数据。例如,在将数据递送给容器文档时可以将广告与模块数据合并。广告服 务器736可以基于对模块的联合请求与联合服务器734 —起操作来将广告递送给联合接受 者服务器738。广告可以由广告服务器736基于各种各样的标准来选择,所述标准包括但 不限于容器的内容或关于容器的信息间的关系、模块、容器中的其它模块、联合接受者服务 器信息、与任何前述有关的货币元素/关系和/或以上的组合。根据本发明的一个实施例, 广告服务器736可以包括谷歌AdSense系统。广告服务器736可以如在下面的专利申请中 的一个或多个中所描述的那样操作,在此通过引用将所述专利申请的主题整体合并。具体 地,广告服务器736可以通过将与模块有关的两个或更多概念与广告相关联以及共同地将 出价与两个或更多个关键词相关联来管理在线广告。另外,联合服务器734或广告服务器 736可以对来自联合模块的请求作出响应,所述联合模块诸如发送对描述与模块相关联的 容器页面的信息的请求的广告相关模块。可以提供以许多适当的方式存储下述的一个或多个数据库系统720:容器信息、 模块规范和/或有关信息、格式化数据、每用户和每模块偏好数据、远程模块ID数据、远程 模块位置引用数据、广告数据、广告主数据、内容/货币数据、联合接受者数据、用于模块的 模板、用于模块的输入、可信和不可信模块的列表、批准标准和有关信息和/或由模块使用 来如在此描述的那样操作的任何其它信息。虽然示出了单个数据库结构,但是可以将数据 存储在多个位置以及一个或多个系统中。在一个实施方式中,提供了将模块合并入容器文档的系统和方法。容器文档的一 个示例将是个性化主页,诸如当前对因特网上的谷歌服务的用户可用的谷歌个性化主页。 替代限制用户能够包括在诸如个性化主页的容器文档中的内容的类型,本发明的一个或多
17个实施例使用户能够从除了容器文档的源之外的源选择模块。因此,例如用户可以选择将 来自不与谷歌相关联的源的模块包括在他或她的个性化谷歌主页中。图8示出了可以被用来实现在此描述的技术的计算机设备800和移动计算机设 备850的示例。计算设备800意在表示各种形式的数字计算机,诸如膝上型机、台式机、工 作站、个人数字助理、服务器、刀片服务器、大型机和其它适当的计算机。计算设备850意在 表示各种形式的移动设备,诸如个人数字助理、蜂窝电话、智能手机以及其它类似的计算设 备。在此示出的组件、其连接和关系以及其功能意在只是示例性的,并且并不意在限制在本 文档中描述和/或主张的本发明的实施方式。计算设备800包括处理器802、存储器804、存储设备806、连接到存储器804和高 速扩展端口 810的高速接口 808以及连接到低速总线814和存储设备806的低速接口 812。 组件802、804、806、808、810和812中的每一个使用各种总线互连,并且可以视情况被安装 在公共主板上或以其它方式安装。处理器802可以处理用于在计算设备800内执行的指令, 包括存储在存储器804中或存储设备806上用来在诸如耦接到高速接口 808的显示器816 的外部输入/输出设备上显示GUI的图形信息的指令。在其它实施方式中,可以视情况使 用多个处理器和/或多个总线以及多个存储器和存储器类型。并且,可以连接多个计算设 备800,其中每一个设备提供部分必需操作(例如,作为服务器簇、刀片服务器组或多处理 器系统)。存储器804存储在计算设备800内的信息。在一个实施方式中,存储器804是易 失性存储器单元。在另一个实施方式中,存储器804是非易失性存储器单元。存储器804 还可以是另一种形式的计算机可读介质,诸如磁或光盘。存储设备806能够为计算设备800提供海量存储。在一个实施方式中,存储设备 806可以是或包含计算机可读介质,诸如软盘设备、硬盘设备、光盘设备或磁带设备、闪存或 其它类似的固态存储器设备、或设备阵列,包括在存储区域网络或其它配置中的设备。可以 将计算机程序产品有形地包含在信息载体中。计算机程序产品还可以包含在被执行时执行 诸如上述那些方法的一个或多个方法的指令。信息载体是计算机或机器可读介质,诸如存 储器804、存储设备806、在处理器802上的存储器或传播信号。高速控制器808管理关于计算设备800的带宽密集型操作,而低速控制器812管 理较低带宽密集型操作。功能的这样的分配只是示例性的。在一个实施方式中,高速控制 器808 (例如通过图形处理器或加速器)耦接到存储器804、显示器816,以及耦接到可以接 受各种扩展卡(未示出)的高速扩展端口 810。在该实施方式中,低速控制器812耦接到存 储设备806和低速扩展端口 814。可以包括各种通信端口(例如USB、蓝牙、以太网、无线以 太网)的低速扩展端口可以耦接到诸如键盘、指示设备、扫描仪的一个或多个输入/输出设 备,或例如通过网络适配器耦接到诸如交换机或路由器的联网设备。计算设备800可以如图中所示以多种不同的形式实现。例如,其可以被实现为标 准服务器820或更多时间在一组这样的服务器中实现。其还可以被实现为机架服务器系统 824的一部分。另外,其可以在诸如膝上型计算机822的个人计算机中实现。替选地,来自 计算设备800的组件可以与诸如设备850的移动设备中的其它组件(未示出)相结合。这 样的设备中的每一个可以包含计算设备800、850中的一个或多个,以及整个系统可以由相 互通信的多个计算设备800、850组成。
18
除其它组件外,计算设备850包括处理器852、存储器864、诸如显示器854的输入 /输出设备、通信接口 866以及收发器868。设备850还可以提供有诸如微型驱动或其它设 备的存储设备以提供额外的存储。组件850、852、864、854、866和868中的每一个使用各种 总线互连,以及组件中的数个可以视情况被安装在公共主板上或以其它方式安装。处理器852可以执行在计算设备850内的指令,包括存储在存储器864中的指令。 处理器可以被实现为包括独立和多个模拟和数字处理器的芯片的芯片集。处理器可以提供 例如对设备850的其它组件的协调,诸如对用户接口、由设备850运行的应用以及通过设备 850的无线通信的控制。处理器852可以通过耦接到显示器854的控制接口 858和显示接口 856与用户通 信。显示器854可以是例如TFT (薄膜晶体管液晶显示)显示器或OLED (有机发光二极管) 显示器或其它适当的显示技术。显示接口 856可以包括用于驱动显示器854向用户呈现图 形和其它信息的适当的电路。控制接口 858可以从用户接收命令并且将命令进行转换以提 交给处理器852。另外,可以提供与处理器852通信的外部接口 862,以使设备850与其它 设备能够近区域通信。外部接口 862可以例如在一些实施方式中提供有线通信,或在其它 实施方式中提供无线通信,以及还可以使用多个接口。存储器864存储在计算设备850内的信息。存储器864可以被实现为计算机可读 介质、易失性存储器单元或非易失性存储器单元中的一个或多个。还可以提供扩展存储器 874并且通过可以包括例如SIMM(单列直插内存模块)卡接口的扩展接口 872将其连接到 设备850。这样的扩展存储器874可以为设备850提供额外的存储空间,或还可以存储用于 设备850的应用或其它信息。具体地,扩展存储器874可以包括指令来实现或补充上述过 程,以及还可以包括安全信息。因此,扩展存储器874可以例如作为用于设备850的安全模 块提供,以及可以被编程有允许安全使用设备850的指令。另外,安全应用以及额外的信息 可以经由SIMM卡提供,诸如以不可非法侵入的方式将识别信息放置在SIMM卡上。存储器可以如下所述包括例如闪存和/或NVRAM存储器。在一个实施方式中,将 计算机程序产品有形地包含在信息载体中。计算机程序产品包含在被执行时执行诸如上述 那些方法的一个或多个方法的指令。信息载体是计算机或机器可读介质,诸如存储器864、 扩展存储器874、在处理器852上的存储器或可以例如通过收发器868或外部接口 862接收 的传播信号。设备850可以在需要的情况下通过可以包括数字信号处理电路的通信接口 866无 线地通信。通信接口 866可以提供在各种模式或协议下的通信,诸如GSM语音呼叫、SMS、EMS 或匪S消息、CDMA、TDMA, PDC、WCDMA、容器文档102MA2000或GPRS等。这样的通信可以例 如通过射频收发器868发生。另外,诸如使用蓝牙、WiFi或其它这样的收发器(未示出), 短程通信可以发生。另外,GPS(全球定位系统)接收器模块870可以向设备850提供可以 由运行在设备850上的应用视情况使用的额外的导航和位置相关的无线数据。设备850还可以使用音频编解码器860可听地通信,音频编解码器860可以从用 户接收话音信息并且将其转换为可使用的数字信息。同样,音频编解码器860可以诸如通 过例如在设备850的送受话器中的扬声器,为用户生成可听的声音。这样的声音可以包括 来自语音电话呼叫的声音,可以包括已记录的声音(例如,语音消息、音乐文件等)以及还 可以包括由在设备850上操作的应用生成的声音。
计算设备850可以如图中所示以多种不同的形式实现。例如,其可以被实现为蜂 窝电话880。其还可以被实现为智能电话882、个人数字助理或其它类似的移动设备的部 分。图9A和9B是包括用于显示动态生成的广告的可移植程序模块的网页的显示900、 910。提供显示900、910以示出通过其可以实现上述概念的额外机制。不应当将对额外实 施方式的描述作为将论述限于特定技术或仅限于示出的具体技术的指示。显示900示出了用于电子零售商的网页,其中在页面上显示了一个或多个动态广 告。显示900包括网页主体902,其中显示关于公司的产品的标准信息,诸如以特价出售的 特定产品等。在显示900的底部示出了数个广告904a-c。广告904a_c可以采取各种形式, 包括定向和非定向广告、或静态和动态创建的广告。广告904c是静态广告,因为其包括由 广告主事先选择的内容,并且其基于在显示时或将近显示时确定的数据并不时常改变其显
7J\ ο广告904a_b是动态创建的广告,因为可以预定义广告的某些内容,而在显示时或 将近显示时定位并生成其它内容。动态生成的广告904a_b对于其内容可以取决于其内容 和实时信息。例如,可以通过使用在显示900上的文本来确定显示900上正显示的内容,并 且然后查询数据库以获取与这样的信息相关联的实时出售的信息来生成广告904a。例如, 对可以为广告902a的容器文档的显示900的分析可以示出正在那里讨论便携式音乐播放 器,因此生成广告904a的可移植程序模块可以查询以公司试图卖出产品的信息不断更新 的数据库,以找到正在进行的iPod出售,并且生成用于该iPod出售的广告。同样地,广告 904b可以促使电子零售商操作的在线拍卖数据库被查询并且可以从这样的查询返回结果。显示910在其主体912示出了示例互联网音乐站点。提供了标准控件,使得用户 可以浏览、选择以及购买音乐。另外,在显示910的底部示出了两个对象914a-b以分别提 示该天该站点上正出售的与正在显示910的主体912中显示的风格有关的最流行的歌曲和 专辑。在该示例中,对象914a在其被显示时可以获取诸如URL的关于主页的场境信息,并 且可以将其传递给搜索引擎。搜索引擎可以注意到该特定页面为重金属页面,并且可以将 “重金属”作为变量返回给对象914a。对象914a然后可以将该变量作为查询提交给数据库,诸如提交给与音乐商店相 关联的跟踪由商店出售的音乐的流行度的数据库,或提交给独立于音乐商店的运营者的第 三方服务器,以获取例如全国最高排名单曲信息。可以将每一个所显示的单曲作为超链接 示出,使得对该超链接的选择促使用户被带到用于特定歌曲的细节页面,在那里用户可以 购买该歌曲。关于对象914b示出了类似的行为,只是关于专辑。可以在数字电子电路、集成电路、专门设计的广告服务器ASIC(专用集成电路)、 计算机硬件、固件、软件和/或以上的组合中实现在此描述的系统和技术的各种实施方式。 这些各种实施方式可以包括在可编程系统上可执行和/或可解释的一个或多个计算机程 序中的实施方式,所述可编程系统包括至少一个可编程处理器,其可以是专用或通用的,被 耦接以从存储系统、至少一个输入设备和至少一个输出设备接收数据和指令以及向存储系 统、至少一个输入设备和至少一个输出设备传送数据和指令。这些计算机程序(也被称为程序、软件、软件应用或代码)包括用于可编程处理器 的机器指令,并且可以以高级程序和/或面向对象的编程语言、和/或汇编/机器语言来实
20现。如在此所使用的,术语“机器可读介质”、“计算机可读介质”是指用来向可编程处理器 提供机器指令和/或数据的任何计算机程序产品、装置和/或设备(例如,磁盘、光盘、存储 器、可编程逻辑设备(PLD)),包括接收作为机器可读信号的机器指令的机器可读介质。术语 “机器可读信号”是指用来向可编程处理器提供机器指令和/或数据的任何信号。为了提供与用户的交互,在此描述的系统和技术可以在具有下述的计算机上实 现用于向用户显示信息的显示设备(例如,CRT(阴极射线管)或LCD(液晶显示)监视 器),以及用户通过其可以向计算机提供输入的键盘和指示设备(例如,鼠标或跟踪球)。也 可以使用其它类型的设备来提供与用户的交互;例如,提供给用户的反馈可以是任何形式 的感知反馈(例如,视觉反馈、听觉反馈或触觉反馈);以及可以以任何形式,包括声学的、 语音或触觉的输入,接收来自用户的输入。在此描述的系统和技术可以在包括后端组件(例如作为数据服务器)、或包括中 间件组件(例如应用服务器)、或包括前端组件(例如具有用户通过其可以与在此描述的系 统和技术的实施方式交互的图形用户界面或Web浏览器的客户端计算机)、或者这样的后 端、中间件或前端组件的任何组合的计算系统中实现。系统的组件可以通过任何形式或介 质的数字数据通信(例如通信网络)互连。通信网络的示例包括局域网("LAN")、广域 网(〃 WAN")以及因特网。计算系统可以包括客户端和服务器。客户端和服务器通常彼此远离并且典型地 通过通信网络交互。客户端和服务器的关系依靠在各个计算机上运行并且彼此具有客户 端_服务器关系的计算机程序产生。已描述了多个实施例。然而,应理解的是,可以进行各种修改。例如,可以对步骤重 新排序、添加或移除步骤来使用在上面所示的各种形式的流程。并且,尽管已描述了内容递 送系统和方法的数个应用,但是应当认识到,许多其它应用是预期的。此外,尽管已关于实 时动态创建的广告描述了许多实施例,但是也可以以其它各种形式提供其它内容递送。因 此,其它实施例在权利要求的范围内。
权利要求
一种计算机实现的方法,包括在计算机服务器存储与所述计算机服务器不相关联的第一web可访问的文档的指示数据;从与所述web可访问的文档相关联的容器文档中的程序模块接收请求;以及响应于所述请求提供与所述指示数据有关的信息。
2.如权利要求1所述的方法,其中所述web可访问的文档包括所述容器文档。
3.如权利要求1所述的方法,其中所述指示数据包括与在所述web可访问的文档上的 文本内容相关联的关键词。
4.如权利要求3所述的方法,其中与所述指示数据有关的所述信息包括所述指示数据 的至少一部分。
5.如权利要求1所述的方法,其中关于所述web可访问的文档的所述信息包括所述 web可访问的文档的URL。
6.如权利要求1所述的方法,进一步包括分析所述web可访问的文档以确定所述文档 的关键词。
7.一种计算机实现的方法,包括获取用于识别容器文档的信息,其中可移植程序模块位于所述容器文档中;将所述信息提交给存储关于所述容器文档的信息的概念服务器,并且作为响应接收与 所述容器文档相关联的信息;以及向项搜索服务器提交与和所述容器文档相关联的所述信息有关的查询。
8.如权利要求7所述的方法,进一步包括响应于所述查询接收关于一个或多个项的积 极更新的信息,以及在所述容器文档上生成与所述一个或多个项有关的显示。
9.如权利要求8所述的方法,其中所述积极更新的信息包括在线拍卖的状态信息。
10.如权利要求8所述的方法,其中所述显示包括一个或多个超链接。
11.如权利要求10所述的方法,进一步包括接收对所述一个或多个超链接中的一个的 选择并且促使与所述超链接相关联的网页被显示。
12.如权利要求10所述的方法,其中所述超链接包括对实时改变的内容的返回的查询。
13.如权利要求10所述的方法,其中所述显示包括定向广告。
14.如权利要求13所述的方法,进一步包括接收对所述一个或多个超链接中的一个的 选择并且向广告服务器报告点击事件。
15.如权利要求8所述的方法,进一步包括确定所述显示的大小以及对所述关于一个 或多个项的信息进行格式化以在所述显示中显示。
16.如权利要求7所述的方法,其中所述用于识别容器文档的信息包括与所述容器文 档相关联的URL。
17.如权利要求7所述的方法,其中所述与所述容器文档相关联的信息包括表示在所 述容器文档上的文本中的概念的一个或多个关键词。
18.如权利要求17所述的方法,进一步包括从所述一个或多个关键词的子集生成所述 查询。
19.一种以有形形式在其上记录并存储了指令的可记录的介质,在执行所述指令时执行包括以下的行为获取用于识别容器文档的信息,其中可移植程序模块位于所述容器文档中; 将所述信息提交给存储关于所述容器文档的信息的概念服务器,并且作为响应接收与 所述容器文档相关联的信息;以及向项搜索服务器提交与和所述容器文档相关联的所述信息有关的查询。
20. 一种计算机实现的系统,包括 用于由客户端应用显示的web可访问的容器文档;以及 用于在所述容器文档上显示的广告可移植程序模块,所述广告可移植程序模块包括计算机代码,其用来识别所述容器文档的场境信息、将 与所述场境信息相关联的场境信息提交给广告服务器、将广告关键词信息提交给第三方服 务器以及使用从所述第三方服务器返回的信息生成广告。
全文摘要
一种计算机实现的方法,包括在计算机服务器存储与该计算机服务器不相关联的第一web可访问的文档的指示数据;从与该web可访问的文档相关联的容器文档中的程序模块接收请求;以及响应于该请求提供与指示数据有关的信息。
文档编号G06Q50/00GK101971205SQ200880120078
公开日2011年2月9日 申请日期2008年10月15日 优先权日2007年10月15日
发明者亚当·沙赫, 克里斯蒂安·厄斯特利恩, 迪帕克·吉恩达尔 申请人:谷歌公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1