利用安全性、定制化和可扩展性向变化的用户分发内容文档的制作方法

文档序号:6456099阅读:126来源:国知局
专利名称:利用安全性、定制化和可扩展性向变化的用户分发内容文档的制作方法
技术领域
本发明的实施例涉及用于通过网络来派发内容的数字数据处理。
背景技术
门户网站使得用户可以对门户网站上的内容进行个性化。门户网 站是从门户网站开发者直接提供给最终用户的,并且不为第三方提供 增值的手段。对于很大数量的门户网站提供者,不能轻易地用定制方 式大批量生成门户网站。另外,门户网站允许最终用户并入的内容通 常由门户网站提供者所限制和规定。
当前系统存在这些或其他缺点。

发明内容
本说明书公开了用于在可扩展基础上将任意可选择的和动态的内 容安全地派发给用户的第三方服务的技术的各种实施例。实施例展示 了包括计算机程序产品装置的方法、系统、装置的特点。
因此,本发明的各种示例性实施例可以指向一种方法,包括提 供与第一实体相关联的可定制内容文档、使得第二实体能够为与实体 相关联的用户来规定要包括在可定制内容文档中的内容、并用安全的 方式将并入特定内容的定制内容文档传送给与第二实体相关联的用 户。各种示例性实施例也可以指向一种方法,包括接收与用户群组 相关联的一个或多个选择、并将容器文档派发给用户。在这些实施例 中, 一个或多个选择识别对于一个或多个容器文档将要派发给与用户 群组相关联的用户的内容,并且容器文档包括由一个或多个选择所识 别的用于用户与其相关联的用户群组的内容。而且,将内容安全地并 入容器文档。
各种示例性实施例还可以指向一种方法,包括接收与用户群组 相关联的一个或多个选择,并且将选择发送给容器服务器系统,该容 器服务器系统基于对内容的请求,将容器文档派发给用户群组的用户。 在这些实施例中, 一个或多个选择识别对于一个或多个容器文档将要 派发给与用户群组相关联的用户的内容。
各种示例性实施例还可以指向派发容器文档中的内容的系统。系 统包括服务器,用于接收对容器文档的请求;确定该请求是否是对 与用户群组相关联的容器文档的请求;基于该请求是对与用户群组相 关联的容器文档的请求的确定从配置服务器请求配置信息;从配置服 务器接收配置信息;并且使用该配置信息来派发所请求的容器文档。 在这些实施例中,配置服务器使得能够对容器文档的至少一部分进行 配置,并且该容器文档与用户群组相关联。
各种示例性实施例还可以指向一种方法,包括接收对容器文档 的请求;确定该请求是否是对与用户群组相关联的容器文档的请求; 基于该请求是对与用户群组相关联的容器文档的请求的确定来请求配 置信息;接收配置信息;并且使用该配置信息来派发容器文档。在这 些实施例中,配置信息定义与用户群组相关联的容器文档的至少一部 分。
各种示例性实施例还可以指向一种方法,包括接收对容器文档
7的请求;确定该请求是否是对与用户群组相关联的容器文档的请求、 确定该请求的请求者是否与在用户群组内的多个状态级别之中的用户 群组内的一状态级别相关联、基于请求者是与用户群组内的一状态级 别相关联的确定来确定请求者的状态级别、基于容器文档是与用户群 组相关联的确定以及状态级别来请求配置信息、接收配置信息、并且 使用该配置信息来派发容器文档。
各种示例性实施例还可以指向一种方法,包括接收对容器文档 的请求;确定该请求是否是对与用户群组相关联的容器文档的请求; 确定与请求相关联的位置;基于容器文档是与用户群组相关联的确定 以及位置来请求配置信息、接收配置信息;并且使用该配置信息来派 发容器文档。
各种示例性实施例还可以指向派发容器文档中的内容的系统。该 系统包括服务器,用于接收对容器文档的请求;确定该请求是否是 对与用户群组相关联的容器文档的请求、确定该请求的请求者是否与 在用户群组内的多个状态级别之中的用户群组内的一状态级别相关 联;基于请求者是与用户群组内的一状态级别相关联的确定来确定请 求者的状态级别;基于请求是对与用户群组相关联的容器文档的确定 以及状态级别来从配置服务器请求配置信息;从配置服务器接收配置 信息;并且使用该配置信息来派发所请求的容器文档。在这些实施例 中,配置服务器使得能够对容器文档的至少一部分进行配置,并且该 容器文档与用户群组相关联。
各种示例性实施例还可以指向派发容器文档中的内容的系统。该 系统包括服务器,用于接收对容器文档的请求;确定该请求是否是 对与用户群组相关联的容器文档的请求;确定与该请求相关联的位置; 基于该请求是对与用户群组相关联的容器文档的请求的确定以及位置 从配置服务器请求配置信息;从配置服务器接收配置信息;并且使用 该配置信息来派发所请求的容器文档。在这些实施例中,配置服务器使得能够对容器文档的至少一部分进行配置,并且该容器文档与用户 群组相关联。
各种示例性实施例还可以指向编码有计算机程序代码的计算机可 访问的介质。计算机程序代码用于接收对容器文档的请求;确定该 请求是否是对与用户群组相关联的容器文档的请求;确定该请求的请 求者是否与在用户群组内的多个状态级别之中的用户群组内的一状态 级别相关联;基于请求者是与用户群组内的一状态级别相关联的确定 来确定请求者的状态级别;基于容器文档是与用户群组相关联的确定 以及状态级别来请求配置信息;接收配置信息;并且使用该配置信息 来派发容器文档。
各种示例性实施例还可以指向编码有计算机程序代码的计算机可 访问的介质。计算机程序代码用于接收对容器文档的请求;确定该 请求是否是对与用户群组相关联的容器文档的请求;确定与请求相关 联的位置;基于容器文档与用户群组相关联的确定以及位置来请求配 置信息;接收配置信息;并且使用该配置信息来派发容器文档。
各种示例性实施例还可以指向一种方法,包括基于用户与用户 群组的关联对用户进行鉴权;向用户提供应用;从用户接收关于配置 与用户群组相关联的容器文档的输入;基于接收的输入将容器文档的 实际表示提供给用户;并且发布该容器文档。在这些实施例中,应用 使得用户能够配置与用户群组相关联的容器文档。
各种示例性实施例还可以指向一种方法,包括注册用户接口的 组件;注册关于容器文档的配置的事件、将已注册组件与已注册事件 相关联;接收已经对一个已注册组件发生的已注册事件相关联的信息; 并且将与已注册事件相关联的信息提供给所有其它相关联的组件。在 这些示例中,用户接口与对代表用户群组的容器文档进行配置相关联。各种示例性实施例还可以指向一种系统,其包括设备,用于注 册用户接口的组件;注册关于容器文档的配置的事件、将已注册组件 与已注册事件相关联;从用户接口接收己经对一个已注册组件发生的 已注册事件相关联的信息;并且将与已注册事件相关联的信息提供给 所有其它相关联的组件。
可以考虑其他实施例。


图l (a)描述根据本发明各种实施例的在所提供的系统以及方法
中的参与实体的概略图。
图l (b)描述根据本发明各种实施例的从用户和用户群组获取定
制的说明性过程。
图l (C)描述根据本发明各种实施例的整体系统架构。
图2描述根据本发明各种实施例的说明性容器文档。
图3描述根据本发明各种实施例的说明性配置服务器。
图4描述根据本发明各种实施例的用于确定验证器的说明性过程。
图5描述根据本发明各种实施例的用于配置个性化容器文档的说
明性过程。
图6描述根据本发明各种实施例的说明性应用接口。
图7描述根据本发明各种实施例的说明性应用接口。
图8描述根据本发明各种实施例的说明性应用接口。
图9描述根据本发明各种实施例的说明性应用接口。
图10描述根据本发明各种实施例的说明性应用接口。
图ll描述根据本发明各种实施例的说明性应用接口。
图12描述根据本发明各种实施例的说明性应用接口。
图13描述根据本发明各种实施例的说明性应用接口。
图14描述根据本发明各种实施例的说明性应用接口。
图15描述根据本发明各种实施例的说明性应用接口。
图16描述根据本发明各种实施例的用于派发个性化容器文档的说
10明性过程。
图17描述根据本发明各种实施例的说明性应用接口。 图18描述根据本发明各种实施例的说明性应用接口。 图19描述根据本发明各种实施例的说明性应用接口。
图20描述根据本发明各种实施例的说明性应用接口。 图21描述根据本发明各种实施例的说明性应用接口。 图22描述根据本发明各种实施例的用于派发个性化容器文档的说 明性过程。
具体实施例方式
第三方服务的概述
本发明的一个实施例涉及基于可扩展向用户安全地派发任意可选
择和动态的内容的第三方服务。例如, 一个实施例涉及四种实体(1)
托管服务器系统(例如,Google的个性化主页服务器),其将高度可配 置、动态和安全的容器文档(例如,诸如Google的个性化网页的门户页 面)分发给合作伙伴或其他用户群组;(2)合作伙伴,其中每个合作 伙伴通过选择其希望其用户在容器文档中看见的任意和动态的内容并 使得其最终用户能够进一步定制内容来提供配置;(3)与合作伙伴相 关联的最终用户,其可以选择包括附加任意和动态的内容的进一步定 制;以及(4)内容提供者。这些方以安全和可扩展的方式与托管服 务器系统相交互。然后,最终用户从可扩展的托管服务器系统接收容 器文档,该容器文档已经根据多级别的配置进行配置并包括以安全方 式并入的任意选择的内容(包括动态和静态内容两者)。
服务的特征
该服务和系统的一些特征包括第三方服务、安全性、任意可选 择性、动态内容、可扩展性、多级别的可配置性和容器文档的动态规 定。
第三方服务因为托管服务器系统(例如,Google)作用为相对于以下的第三方(i)正被派发内容的最终用户(iO规定对最终用户 可用的内容的实体,以及(iii)内容提供者,所以可以将该服务认为是 "第三方服务"。规定内容的实体典型地是用户群组,诸如合作伙伴。 作为一个示例,当本说明中使用术语合作伙伴时,应当理解也同样适 用于其他用户群组,并且当使用术语用户群组时,应当理解也适用于 合作伙伴。公司及其客户分别是合作伙伴实体和最终用户的示例。大 学及其学生也是合作伙伴实体及其最终用户的示例。因此,公司可以 为其用户提供经配置的主页体验,并选择公司希望其用户在该经配置
的主页上看见的内容。其通过利用容器文档的托管服务器系统的服务 来做到这点。换言之,合作伙伴可以在不提供输出由托管服务器系统 所提供的经配置的主页的技术的情况下来提供该服务。如在本说明中 所用的,术语内容提供者是指信息的源。内容提供者的示例包括但不 限于以下的提供者模块、新闻供稿、交通信息源、金融信息源、禾口/ 或娱乐信息源。
安全性容器文档可以是安全的但是任意可选择和动态的内容(即 托管服务器系统不限制由第三方或用户所进行的最初选择)。例如, 合作伙伴可以选择由对于托管服务器系统是未知的实体所创建的模 块。托管服务器系统可以通过实施安全特征以避免必须在选择每个实 体之前必须对其进行批准,来呈递包括未知实体的模块的容器文档。 可以通过划分、封装(例如通过使用如以下进一步详细描述的IFRAME 技术)和/或输入过滤(例如,内容的黑名单、白名单等)来实施安全 性。在本上下文中,划分涉及限制由恶意或易受攻击(例如,不安全) 的合作伙伴或最终用户对与合作伙伴或最终用户相关联的定制容器文 档的攻击的影响,并且没有从与用于访问定制的容器文档的相同登录 或身份相关联的系统可用的其它划分或账户。
划分是安全性的关键组件,因为尽管内容是任意可选和动态的的 事实,但是不危及第三方的安全性。如果例如恶意合作伙伴或由于合
作伙伴的易受攻击性(xss等)使危及了用户的鉴权,则仅危及用户的
12个性化网页。即使在成功攻击之后,攻击者也不能获得访问用户的搜 索历史或电子邮件消息或其他"划分"。实施的安全性特征使得合作 伙伴及其用户能够在利用托管服务器系统平台的同时配置其体验。
任意可选择性上述的安全性特征使得系统能够允许对内容的任 意选择。合作伙伴实体和相关联的用户可以从任何内容提供者(例如, 包括托管服务器系统的源、第三方和/或其他内容源)选择要使其可用 于向与合作伙伴实体相关联的用户派发的内容。合作伙伴可以选择限 制或不限制对其最终用户可用的选择。系统可以用这种方式避免使用 预先批准的内容提供者列表。如下所述,内容也可以是广泛的各种输 入类型。
动态内容所选的内容可以是动态内容、静态内容或其两者。内 容也可以是节目。
可扩展性托管服务器系统从例如通过对与非关系数据库服务器 一起使用的数据进行分割而获得的可扩展平台来提供该服务。该方案 平衡了数据一致的规模和方便性。某些类型的非关系数据存储系统允 许极为可扩展的写操作。例如,将不对条目提供事务或锁定支持而存 储时间序列数据的数据库不认为是关系数据库,因为用于关系(列1值、 列2值…)的条目不是唯一的而是时间序列的。通过使用这类非关系数 据库,系统可以变得极为可扩展。大部分对共享数据的写操作是从用 户的一个很小的组(一个或几个合作伙伴管理员)所启动的,而读操 作被广泛地(例如,每次最终用户请求页面,可能加载用于关联容器 文档的模板)启动。使用传统的关系数据库也可以实现可扩展性,对
于可扩展的读操作高度复制,具有主机故障转移(master failover), 以使能高度可扩展性使用这种方法可能增加开销,并增加系统的复杂 性和延迟。
然而,如上所述的简单非关系存储系统使得用于分发可配置容器文档的系统和服务能够在大规模上执行良好。这类系统和服务涉及集 中式写和分散式读、高吞吐量(可扩展性和简单性)以及高可用性(支 持故障转移)。上述数据库结构使得相比诸如高度复制的关系数据库 的其他替选可以低许多的费用(在给定规模上需要更少的服务器)来 实施。
多级别可配置性可以通过合作伙伴/用户群组来配置派发的内 容,该配置可以规定与实体相关联的最终用户在其下可以进一步对内 容进行配置的约束。
对容器文档的动态提供合作伙伴/用户群组可以选择唯一索引的 合作伙伴域,该合作伙伴域可以由托管服务器系统来存储在动态表中。 通过存储该唯一索引的合作伙伴域,托管服务器系统可以用高度可扩 展的方式来动态提供与合作伙伴/用户群组相关联的容器文档。
以下详细讨论本发明的示范性实施例。尽管讨论了特定示范性实 施例,但是应当理解这仅用于解释的目的。相关领域的技术人员将意 识到在不偏离本发明精神和范围的前提下,可以使用其他组件和配置。
服务的优点
该服务提供的一些优点包括诸如公司、大学、俱乐部、商人、 服务提供者等的实体(例如,合作伙伴或用户群组)可以使用服务而 不必派发内容来实现其品牌方案。其在将什么内容派发给与实体相关 联的用户上提供了极大的灵活性。该服务还为实体提供了一种机制来 将提供的唯一内容提供给其与实体相关联的用户。
而且,使用该服务的实体将费用中心转换为利润中心。诸如公司 的实体经常付费来将内容派发给其客户。使用上述服务,公司通过包 括产生收入的内容,诸如派发广告的内容,来取得利润,该利润在各 种付费基础上对派发广告的人进行付费。而且,经由直觉的和易于使用的接口,该服务是易于使用的,通 过该接口,与合作伙伴实体相关的人类操作员(例如代表)在实体层 或最终用户层上对内容进行配置。
系统及其运行的概述
图l (a)描述了在该系统和服务中涉及的各种实体的概述。可以 使用与一个或多个内容提供者31合作经由网络26 (例如因特网)向合 作伙伴系统40提供服务的托管服务器系统10来实施该服务和系统。合 作伙伴系统40可以通过使用合作伙伴管理员用户17来向托管服务器系
统10提供选择和配置,该选择和配置指示与合作伙伴系统相关联的
域、对一个或多个合作伙伴最终用户的鉴权方法、以及要在由托管服
务器系统10派发给一个或多个合作伙伴最终用户11的容器文档中所提 供的内容。
托管服务器系统10可以与分发服务器13—起运转,以将服务分发 给一个或多个合作伙伴系统。可以提供存储容器数据、用户数据和合 作伙伴数据的数据存储系统200。该数据可以被托管服务器系统10用来 基于由合作伙伴以及每个合作伙伴最终用户ll (如果提供)所设置的 配置来对用户配置容器文档。通常说来,合作伙伴管理员用户17具有 管理权限,而合作伙伴最终用户ll没有管理权限。合作伙伴管理员用 户17可以例如控制用于对合作伙伴最终用户ll进行鉴权的鉴权方法; 以及哪个内容提供者将对合作伙伴最终用户ll的选择可用;以及进一 步,可配置性的程度。
图l (b)提供了说明在该服务中可能涉及的动作的图。在框102 中,合作伙伴或用户群组与托管服务器系统建立关系。合作伙伴可以 是公司、大学、倶乐部或希望对其用户提供定制体验的其它组织。在 框104中,合作伙伴管理员用户然后可以用将均在下面详述的多种方式 配置容器文档,诸如因特网门户页面或个性化主页。定制可以包括例如其最终用户中的一个为选择内容和/或为配置个性网页所要服从的合 作伙伴的约束规定。注意,合作伙伴可以对不同的最终用户规定不同 的约束。系统然后可以使得经配置的容器文档对与该合作伙伴相关联 的用户可用。
在框106中,合作伙伴可以用某种方式将合作伙伴最终用户向主机 系统识别。合作伙伴最终用户可以包括公司的雇员、大学或其它学校 的学生、俱乐部的成员、服务的订户等。在框108中,可以将默认的合 作伙伴配置的容器文档派发给合作伙伴最终用户。该默认的合作伙伴 配置的容器文档包括由合作伙伴选择来派发给其用户的第一级别内容 和/或配置。在框110中,最终用户可以提供用于经配置的容器文档的配 置。该经配置的容器文档包括附加级别的基于最终用户期望的内容选 择和/或配置。
具体实施特征
在记住了整体一般框架的情况下,在该系统和服务中可以包括多 种实施特征,包括多级别配置、内容冻结、并入多种类型的模块、 访问经配置的容器文档的多条通道、使用偏好和用户标识来改变内容 模块和在模块中的内容、并入搜索或其它收入产生模块、模块的国际 化、数据驱动容器文档实施、使用基于订购的模块、根据合作伙伴配 置不断修改默认的容器文档、定制的实时预览以及对产生的经配置的 容器文档的实时更新。下面描述了每种实施特征,并且在该文档的随 后做进一步具体解释。
多级别配置控制用户体验合作伙伴可以设置一个级别的配置和/ 或偏好,包括在默认的合作伙伴配置的容器文档中要包括什么模块(例 如,合作伙伴想要天气模块、交通模块、股票模块和计算器模块)、 到模块的任意输入值(对天气和交通提供邮编,或对股票模块提供股 票列表)、颜色、皮肤类型、模块以及如以下说明页面中所示的很多 其他项的定位,以及如果有的话,可以冻结什么模块。如果合作伙伴
16对其配置做出任何改变,则它们可以自动应用于用于该合作伙伴相关 联的所有最终用户的所有经配置的容器文档。下面详述合作伙伴提供 配置/定制信息的方式。在这样的最终用户配置和合作伙伴配置应用到 用于该最终用户的合作伙伴配置的容器文档的情况下,最终用户然后 可以规定第二级别的配置/定制。
内容冻结合作伙伴配置的一种特定类型可以是内容冻结。服务 提供合作伙伴可以使用来使派发给最终用户的所有或仅一部分的内容 的可配置性失效的技术。被选择失效的内容本质上是被冻结,因为该 内容不能由合作伙伴最终用户做进一步配置。注意,内容冻结可以但 是不必要冻结动态内容,例如,其可以仍然在个性化网页的冻结部分 中实施。(也就是,冻结页面的一部分防止对该部分的进一步配置, 但是允许该部分包括动态内容)。例如,可以因而冻结个性化网页的 否则是可配置的内容的列。然而,当合作伙伴在配置容器文档的过程 中时,该失效的内容对于合作伙伴管理员用户实体可能不是被冻结的。 可以通过CGI参数和鉴权技术来实施该特征。例如,用于指定用户是合
作伙伴管理员用户的页面要求可以通过cookie来提供鉴权值、使能特定
的查询参数,从而托管服务器系统提供非冻结的页面,而与该合作伙 伴相关联的最终用户可以接收具有冻结内容的版本。
该服务还允许合作伙伴管理员如同该管理员是非特权用户那样查 看页面。如上所述,合作伙伴管理员用户可以在非冻结上下文中查看 冻结内容。然而,如果合作伙伴预览页面来确定其是否被适当配置了, 则合作伙伴也可以能够在冻结上下文中查看页面。服务使用鉴权令牌 来使能正确的依赖上下文的行为,该鉴权令牌不仅用于对页面的访问 进行鉴权,也对用于使能依赖上下文的行为的査询参数的访问进行鉴 权。
并入多种类型的模块该系统使得合作伙伴和最终用户能够指定 广泛的各种模块用于合并,包括RSS模块、远程模块、用于个性化主
17页的基于API的模块,诸如Google Gadget API模块等。在所附专利申请 中更详细地描述了合并这些模块的能力。
进入系统的多入口点最终用户可以与合作伙伴和托管服务器系
统都具有关系。因此,托管服务器系统可以通过使用与由托管服务器 系统所提供的账户和/或由合作伙伴所提供的账户相关联的鉴权值来使 得用户能够访问合作伙伴容器文档。例如,如果托管服务器系统是
Google,则用户可以能够通过使用Google登录和密码来访问特定于合作 伙伴的个性化主网。而且,用户可以能够通过使用与合作伙伴相关联 的登录和密码来访问特定于合作伙伴的个性化主网。也可以使用用户 标识来接收特定于合作伙伴的容器文档。而且,在配置合作伙伴容器 文档期间,合作伙伴管理员用户可以从系统可以采用的预定鉴权方法 列表中选择用于对最终用户进行鉴权的鉴权方法。例如,在一个实施 中,如果系统允许三种鉴权方法,则合作伙伴管理员可以仅选择三种 中的一种。替代地,合作伙伴管理员可以允许一种以上的鉴权方法。 然后,系统基于由管理员用户所选择的方法来进行鉴权。例如,合作 伙伴管理员用户可以选择经由托管服务器系统所提供的账户来对所有 的合作伙伴最终用户进行鉴权。即使该用户还具有与合作伙伴的账户, 也能使用该鉴权。在另一示例中,合作伙伴管理员用户可以选择经由 合作伙伴所提供的账户来对所有的合作伙伴最终用户进行鉴权。可以 使用该鉴权来代替由托管服务器系统所提供的账户。可以选择其他鉴 权方案,诸如例如仅基于cookie的匿名鉴权方法。
基于注册的受控体验可以基于注册或其它形式的鉴权来修改某 些模块。例如,作为计算机制造者的合作伙伴可以将帮助模块并入到 其合作伙伴定制主网上。在帮助模块中的内容可以根据用户的注册级 别而变化(例如,用户是否签约了目前的客户支持,他们要求什么级 别的支持等)。
模块中的商业受控体验可以使得合作伙伴能够将合作伙伴容器文档货币化。合作伙伴可以对用户访问某些模块或在该模块中的内容 来收取订购费用。例如,合作伙伴可以提供音乐模块。对合作伙伴的 音乐模块的订购可以使得用户能够基于订购来选择收听某些音乐选 集。而且,在音乐模块中,合作伙伴可以提供不同的订购。例如,一 个订购可以允许最终用户收听音乐,而另一个可以允许用户收听并下 载音乐。
搜索框模块合作伙伴可以选择的模块之一可以是搜索模块,其 引导至托管的派发广告的搜索页(例如,链接到现有的用于搜索的
AdSense)。与搜索模块相关联来显示广告,为合作伙伴提供了将合作 伙伴容器文档货币化的另一种方式。在一个示例中,搜索框模块可以 是请求的容器文档的模块。
选择性的和自动的国际化容器文档可以基于由合作伙伴或其用
户所提供的配置/定制来将容器文档国际化。
数据驱动的容器文档可以将用于合作伙伴的容器文档设计为基 于输入到系统的数据来产生具有不同内容的通用模板(例如,使用WiFi 检测来基于位置对合作伙伴容器文档进行修改)。系统还提供了不同 的本地化合作伙伴容器文档。
默认容器文档的修改系统可以提供合作伙伴随后配置的默认容 器文档。容器文档服务器和/或托管服务器系统然后与提供的接口协作, 以确保提供的内容以安全方式满足合作伙伴配置选择。
全功能预览与配置接口相交互的合作伙伴管理员用户可以査看 基于输入的配置信息的容器文档的实况版本,并且用户看到的内容是 包括来自托管服务器系统的实际内容和模块的容器文档(例如,不仅 是模型)。系统可以进一步允许对来自预览页面内的模块进行编辑。对容器文档的实时更新和实时预览使用与感兴趣方相关联的事 件的中央库使得系统能够基于与这些项相关的变化来更新实时预览和
实时容器文档。库可以跟踪要向哪些用户接口或模块通知改变其性能 的事件,并且然后立即通知它们。作为示例,如果合作伙伴管理员用 户请求改变合作伙伴定制容器文档的背景色,则一旦合作伙伴管理员 用户选择了颜色样本,背景色就自动改变(而不是要求用户例如表示 "应用")以用于真实的、实时的预览。
在以下讨论的随后系统、方法和示例页面的上下文中,将会更加 详细地理解这些特征中每一个。
多级别可配置性和内容冻结
用于该服务和系统的一个实施特征涉及容器文档的内容的多级别 可配置性。接下来,与示例系统一起描述示例容器文档,该示例系统 可以用于使得合作伙伴和最终用户能够提供配置信息。
容器文档的一个示例是与合作伙伴或其他用户群组的用户相关联 的个性化门户页面。可以由合作伙伴/用户群组来预先定义个性化门户 页面上的一部分内容,并且可以由最终用户来配置和定制一部分个性 化门户页面。
容器文档"包含" 一个或多个模块。可以由用户群组的代表来预 先定义"包含"在容器文档内的任意数量的模块或其它内容。如此处 所用,应当将术语"容器文档"或"容器"理解为包括网站的个性 化主页、与用户群组相关联的门户页面、侧边栏、合并一个或多个这 类模块的工具条、站点托管的页面、能够用模块的格式(例如,XML)
来呈现模块的文档(例如任何能够呈现HTML代码或XML代码的文 档)。而且,容器文档可以是并入从联合系统提供给网站的模块的另 一实体的网站。如此处所用,可以将术语"模块"理解为指呈现用于在容器文档 中使用的数据的一部分软件和/或硬件。例如,可以将模块个性化为用 户偏好、容器的偏好、环境或其它输入的偏好,包括由用户群组所定 义的偏好。可以将模块规范理解为包括用于使用已预先定义的元件来 呈现用于容器文档的数据的一组指令。
应当理解,可以存在各种形式的容器文档,但是在图2中描述了一
种这类说明性示例。图2描述了具有已经使用IFRAME和内嵌HTML技 术并入到容器文档的多个模块的容器页面200。这些IFRAME可以使得 托管服务器系统能够对由用户群组所定义的任意选择内容进行封装。 在一个示例中,也可以在有或没有封装层的情况下,在容器文档中派 发模块。封装层可以在多种类型的系统中提供有用的功能(例如,在 HTML文档中的IFRAME内派发模块提供了安全性增强屏障)。其它应
用可能更倾向于在没有这类封装层的情况下派发模块内容(例如,为 了提高性能或易于布局或内容管理)。
图2描述了在容器文档200中的多个模块和其他内容,包括页头 201、标志202、搜索框203、用户群组内容204、"添加内容"元件205、 用户选择的模块206、远程模块207、远程模块208、以及远程模块209。 用于各种模块的不同格式可以根据例如模块的创建人的规定和/或由用 户群组的代表对模块的定义而存在。按照描述, 一些模块可以提供滚 动条,而其它不能。 一些模块相对其它模块可能具有不同的大小或形 状。另外, 一些模块可以为用户提供机会来编辑显示偏好和/或与模块 相关联的每次使用的数据。(例如,参见提供编辑链接的模块206、 208 和209)。例如,如果模块与天气模块相关,则可以对用户提供机会来 编辑在该模块中对其显示天气的城市或邮编。
可以由用户群组和/或用户群组的代表来创建和/或预先定义在容 器页面200上的一部分内容。例如,页头201可以包括与该用户群组相 关联的链接201a。标志202也可以是与该用户群组相关联的标志。用户群组内容204可以由用户群组来创建和/或定义并且被可选地锁定或冻 结(如下所述),使得个性化容器文档的用户不能去除、编辑或增加 用户群组内容。
页头201可以包括HTML和/或XML代码,以例如在容器页面200上 创建标题。页头201可以包括可以与该用户群组相关联的链接201a。例 如,在用户群组与计算机硬件提供者相关联的情况下,链接201a可以包 括到由计算机硬件提供者所提供的特定服务(例如,服务和支持)的 链接,以及到由计算机硬件提供者所提供的特定商品(例如,台式机、 笔记本电脑、外设、和/或打印机)的链接。在用户群组与因特网服务 提供商(ISP)相关联的情况下,链接201a可以包括到电子邮件、ISP
所提供的内容驱动页面(例如,体育、金融、购物等)、顾客服务等 的链接。
搜索框203可以包括文本区203a和搜索按钮203b,其中用户可以将 文本输入到文本区203a,并激活(例如,点击)搜索按钮203b,其启动 可能与容器页面200相关联的搜索引擎以搜索输入到文本区203a之中的 文本。如以下更详细所述,当返回搜索结果时,与容器文档相关联的 搜索引擎可以跟踪用户所执行的任何继续动作。
容器页面200可以包括用户群组内容204。用户群组内容204可以包 括用户群组模块204a-204c。可以由用户群组来创建和/或定义用户群组 内容和用户群组模块204a-204c。模块204a-204c可以是与用户群组特定 相关联的模块,和/或可以选择来包括在用户群组内容204之中的任何其 它不相关的模块。可以给予与用户群组相关联的代表以管理特权,以 创建和/或定义用户群组内容204。
该示例容器文档200提供的功能之一是用户有机会通过选择"添加 内容"元件205来将内容添加到容器页面。可以由用户群组来定义和/ 或限制可用于添加到容器页面200的内容(例如,分类)。例如,用户群组可以限制用户添加竞争者的模块或可能认为是用户群组不期望的 任何其它模块。
例如, 一旦选择"添加内容"元件,则系统可以基于用户群组所 定义的分类,提供给最终用户机会来交互式地指示将要包括在容器页 面之中的附加模块。可以提供接收该输入的各种形式的接口。
用户选择的模块206和远程模块207-209可以是添加内容的结果。
内容冻结
可以将用户添加的内容根据用户的偏好放置在容器页面200之中。
然而,可以限制或防止用户放置、移动、或修改由用户群组所定义的 某些内容。换言之,合作伙伴/用户群组定义容器文档的某些部分可以
对用户冻结。于是,结果容器页面200可以包括根据用户群组所建立的 偏好由用户群组所定义的一部分容器页面,以及根据用户的偏好由用 户所定义的一部分容器页面。例如,可以冻结一列模块或一行模块, 使得用户不能消除、移动、改变、或变更其位置和/或内容。另外,可 以冻结在合作伙伴容器页面上的某些空白空间,以防止用户将模块添 加到该空白空间上。
与容器服各器系统的交互
如上所述,托管服务器系统10可以基于特定于合作伙伴的配置和 特定于最终用户的配置,将容器文档派发给合作伙伴的最终用户。为 了实际产生具有内容的容器文档,可以使用各种平台。
一种这类平台可以是远程模块系统和相关联的个性化Google主页 系统,其在2005年12月12日提交的共同待决美国专利申请No. 11/298,930,名称为"Remote Module Incorporation Into A Container Document"中被详细描述,将其内容附在这里作为附录A。(注意,在 本公开和附录A之间不一致的情况下,本公开对于每个实施例单独地具有权威性。在本公开和附录A相一致的情况下,但是范围不同,则更宽 范围的本公开对于每个实施例单独地具有权威性。该申请详细描述了 示例托管服务器系统IO。图l (C)描述了提供与托管服务器系统10共同
运行的多个系统的整体系统图。取自'930申请的示例主机系统的详情
在本文档中后面提供。
为了便于合作伙伴可以利用服务的优点,合作伙伴/用户群组可以 使得一个或多个合作伙伴管理员用户能够与配置服务器系统相交互,
该配置服务器系统与托管服务器系统10通信或者是它的一部分。这类 系统的一个示例如图l (c)中的元件40所示。配置服务器系统40可以具 有配置服务器41、授权/鉴权单元42、和数据服务器43。另外, 一个 或多个用户群组数据库系统44可以与配置服务器系统40的各种单元相 结合来运行。配置服务器系统40可以经由网络26 (例如因特网)连接 到托管服务器系统IO。在一个示例中,配置服务器40可以被托管。
关于配置服务器系统40,可以提供配置服务器41以允许用户群组 的代表来创建和/或定义容器文档、或要与用户群组相关联的一部分容 器文档(例如一组模块),并使得合作伙伴最终用户能够选择/识别要 应用于容器文档的鉴权方法。配置服务器41还可以与托管服务器系统 IO进行通信,以将容器文档派发给用户群组的用户。
可以提供授权/鉴权单元42来对用户群组的代表进行鉴权,可以就 创建和/或定义与用户群组相关联的容器文档向该用户群组的代表计 费。
可以提供数据服务器43来派发可以显示在容器文档之上的数据。 数据服务器43可以存储并派发例如可以在容器文档中使用的图像和/或 任何其它数据。例如,数据服务器43还可以存储用于可能专门为用户 群组的用户所设计的模块的HTML代码。
24尽管在图l (C)中示出了一种配置,但是本领域的普通技术人员 应当理解,这些各种单元的其它配置也会是可能的。例如,可以将所
描述的在托管服务器系统10中的各种单元放置在网络26附近的多个位
置或是在数个网络之上的多个点。类似地,所描述的在配置服务器系
统40中的各种单元也可以放置在网络26附近的多个位置附近,包括在 例如托管服务器系统10之内。另外,尽管描述了单个托管服务器系统 10和单个配置服务器系统40,应当理解,图l上描述的任意数量的每个 单元都可以在网络26内提供。
说明性配置服务器
图3描述了配置服务器300的示例性实施例。配置服务器300可以是 用于用户群组的代表来创建和/或定义用于用户群组的用户的一个或多 个容器文档和建立用于用户群组的用户的鉴权方法的工具。如图3所 述,配置服务器300可以包括servlet层301、验证层302、动作层303、以 及后端层304。
配置服务器300可以将web应用派发给用户群组的代表(例如合作 伙伴管理员用户17)的用户系统以使得这些代表能创建和/或定义用于 用户群组的用户的一个或多个个性化容器文档。配置服务器300也可以 是由用户所运行的本地应用。出于安全性的原因或是为了限制访问应 用的用户数,例如,合作伙伴可以将本地、独立应用提供给代表,以 安装在其用户系统上。代表可以被识别为具有对该用户群组的管理特 权。这些特权可以使得代表能够接收web应用(或安装本地应用)以创 建和/或定义用于用户群组的用户的一个或多个个性化容器文档。例如, 代表所接收的web应用(或安装的本地应用)可以包括HTML编辑器, 以使得代表能够对容器文档进行编辑。
配置服务器300允许代表和/或特权用户来定义例如跨越容器文档 的顶部的可选标题和/或页头,可选地锁定包含在容器文档内的一列或 多列模块,配置出现在容器文档上的默认的模块组,配置可以包括在用户的个性化容器文档上的一组可用模块(例如分类),配置用于出 现在用户的个性化容器文档上的模块的默认选项,和/或用任何其它可
能的方式来定义和/或配置容器文档。配置服务器300还允许代表和/或
特权用户来选择可以用于将容器文档动态提供给用户的唯一索引的合 作伙伴域,并选择用来对用户进行鉴权的鉴权方案。
例如,servlet层301可以与在代表的用户系统上执行的应用相协作 来执行三个示例性servlet。如将要理解的,在这样的实施例中,servlet 可以包括任何程序,诸如web服务器、servlet引擎、CGI脚本、或非基 于web的远程配置程序。例如,可以执行第一servlet来将用户接口派发 给配置服务器的授权用户。例如,第一servlet可以接受无参数的HTTP GET请求,并且可以将初始的HTML接口和JavaScript客户端派发给授权 用户,诸如用户群组的代表。而且,第一servlet可以从后端接口接收数 据(例如,可用于由授权用户来更新的页面列表),并将该数据呈现 给用户。
例如,可以执行第二servlet以接收对一个容器文档的更新。可以通 过该servlet以JavaScript对象符号(JSON)格式来分别接收和发送输入 和输出。可以将输入参数与"动作"相关联,并且值可以是一批"动 作"对象的JSON表达。该servlet可以将JSON表达反序列化(例如,将 "动作"对象转换为JAVA文件),并将反序列化的参数传递给在配置 服务器内的其它层。而且,该servlet可以一般将配置信息从其用户输入 格式(例如,JSON)转换为HTML、 XML、微软word宏等。
可以执行第三servlet以例如处理数据上载。可以将包括但不限于图 像的数据接收为"多部分/形式的数据",并且可能需要用不同于提取 GET/POST参数的方式来提取。 一旦提取出,可以将上载数据的请求传 递给配置服务器内的其它层。
上述的servlet可以仅对经授权的用户群组的那些代表才可访问。为了接收web应用,用户可以初始地将请求发布给第一servlet,由鉴权/ 授权单元来授权、被用户接口派发,并且随后经由用户接口将其它请 求间接地发布给其它servlet。而且,为了接收本地独立应用,合作伙伴 /用户群组可以在盘片上提供应用或使其可供用户下载:然后,用户可 以安装应用并运行应用,以经由用户接口将其它请求间接地发布给其 它servlet。
验证层302可以验证由servlet所接收的数据,并将数据进行转换, 以供配置服务器的其它层使用。例如,servlet层301可以接受外部请求, 并且由于该数据是外部的,所以可能需要将其验证为安全的。另外, servlet层301可以将参数作为字符串接收。当将参数作为字符串接收时, 可能需要将这些参数转换为诸如键入的参数。
验证层302可以从servlet层301接受"动作"对象。"动作"对象可 以提供请求的"动作",以及执行该"动作"所需要的参数的字符串-字符串的名称-值映射。给出"动作"后,验证层302可以从配置服务器 的另一层来确定需要什么类型的参数来执行该"动作"。基于该确定, 验证层302可以验证输入的字符串,并将输入的字符串转换为合适类型 的参数。
可以将参数的类型表示为"动作参数类型"。通过将参数的类型 表示为"动作参数类型",可以取代标准的Java类型。例如,统一资源 定位符(URL)以及HTML块在Java中可以表示为字符串。不同的验证 规则可以应用于这些不同的参数(例如,URL可以用已识别的方案来 完善形式并且仅包含有效字符,而可以洗刷(scrub) HTML,使得其 可以不包含可以打开安全漏洞的JavaScript)。为了将不同的验证规则 应用于不同类型的参数,验证层302可以通过不同的验证器来运行不同 的"动作参数类型"。
将每个"动作"映射到"动作参数类型"的列表也可以允许验证
27层302来自动选择对每个"动作"需要哪个验证器。图4描述了流程图 400的示例性实施例,用于自动选择哪个验证器可以解决特定的"动 作"。在框401中,可以从"动作"输入来确定"动作"。在框402之 中,可以确定执行"动作"所需要的参数类型。可以通过在配置服务 器之中的另一层来完成该确定。
对于执行"动作"所需要的每种参数类型,在框403中,可以接收 "动作参数类型"。在框404中,可以确定用于"动作参数类型"的验 证器。在框405中,可以确定来自"动作"输入的参数的字符串-值。在 框406中,字符串-值可以通过验证器传递。在框407中,对于对应的字 符串-值,验证器可以输出有效的Java-类型值。在框408中,可以保存 Java隱类型值。
可以使用一个或多个用于验证的方法。例如,简单参数(例如, 布尔表达式)可以使用布尔过滤器来进行解析,而复杂参数(例如, 对象)可以反序列化为Java对象。验证层302可以将验证的参数传送给 用于动作的动作层303。
动作层303可以执行"动作"。动作层303可以从验证层302接收请 求,并与后端层304相交互以执行"动作"。
可以将"动作"注册到"动作管理器",使得可以执行"动作"。 在这样的实施例中,为了将"动作"注册到"动作管理器",可以规 定指示例如java类的"动作信息"对象,以及包含执行"动作"所需要 的逻辑和参数的公共方法。当注册"动作"时,可以对"动作管理器" 査询执行"动作"所需要的参数,并且接着动作层303可以请求执行"动 作"并传递这些参数。
如上所述,动作层303可以与后端层304相交互以执行"动作"。 在这样的实施例中,当与后端层304交互时,动作层303可以缓冲从后端层304接收到的数据。类似地,动作层可以例如在将更新传递给后端 层304之前,存储多个更新。
后端层304可以提供与在系统中的后端单元的接口。在系统中的后
端单元可以存储并提供对与用户群组相关联的数据以及用于用户群组
的容器文档的访问。这类数据可以包括例如用户群组的偏好(例如,
用于容器文档的默认偏好)、将用户群组映射到用户群组的各自偏好 的数据、登录鉴权和授权数据(包括关于用户群组的授权代表的数据)、 图像、可以由用户群组来定义和/或个性化的一部分页面的内容、和/或 与用户群组相关的任何其它数据、用户群组的代表、或用户群组的用户。
用于配置容器文档的说明性过程
可以通过用户群组的代表来对容器文档(例如,门户页面或个性 化门户页面)进行初始配置。并且,可以将容器文档初始配置为群组 投票的结果或元群组要求(例如,在群组之中的群组)。也可以将内 容初始地确定为协作过滤的结果。如上所述,个性化容器文档可以包 括可以为用户群组来创建和/或设计和/或配置的一部分内容,以及可以 由用户群组的用户来配置的一部分内容。可以由用户群组所呈现的配 置和/或设计来限制用户群组的用户所做的配置。
图5描述了说明用于设计和配置容器文档的示例性方法的示例性 流程图500。在框501中,可以建立与用户群组的关系。例如,用户群 组可以与容器文档的主机建立关系。为了与主机建立关系,用户群组 可以识别自身和一个或多个代表,可以授权所述代表来代表用户群组 设计和/或配置容器文档。在一个示例中,用户群组也可以建立到主机 的账户。账户可以是GoogleAdSense账户,或可用于存储关于用户群组 的任何数据的任何其它账户。
在用户群组具有到主机的预先存在的账户的情况下,用户群组可以对此进行指示,并且系统可以将用户群组与预先存在的账户相关联。 当已经识别用户群组时,可以将与用户群组相关联的标识符存储在与 配置服务器相关联的数据库系统之中。也可以将域名包括在映射文件 中,例如,映射文件可以将用户群组映射到与用于用户群组的容器文 档相关联的数据。
在一个示例中,可以由用户群组来选择域名。例如,用户群组可
以选择例如"start.usergroup.net"的域名。然后,可以将该用户群组选 择的域名映射到例如更加明确的路径,诸如 "partnerpage.host.com/usergroup.net",并且可以由托管服务器系统将 该化名/别名信息存储在唯一索引的合作伙伴域的动态表之中。
为了开始配置过程,在框502中,用户群组的代表可以登录进配置 服务器系统。例如,代表可以包括用户群组的法人代表、用户群组 的web主人、由用户群组所选择的用户群组的代理人、或为了配置容器 文档而选出代表用户群组的任何其它人或一组人。授权/鉴权单元可以 接收包括例如与代表相关联的用户名和密码的登录请求,确定代表是 否有用于用户群组的管理特权,并且基于确定代表具有用于用户群组 的管理特权来批准对配置服务器系统的访问。
在框503中,配置服务器系统可以将web应用派发给代表。代表可 以运行能够将输入提供给web应用(或独立应用)的客户端设备和/或用 户系统,以配置容器文档或个性化容器文档。与配置服务器相关联的 servlet可以将web应用派发给客户端设备和/或用户系统。客户端设备可 以接收web应用并执行在客户端设备上的web应用。在应用是独立应用 的情况下,可以在客户端设备上安装并执行该独立应用。Web应用(或 独立应用)可以包括例如用于编辑容器文档的页头和/或其他部分的 编辑器以及用于配置和/或设计个性化容器文档的其它工具。这样的其 它工具可以包括例如动作条,用于接收待执行的动作;标签组,包 括布局标签、颜色标签、颜色代码编辑器、和其他模块;创建客户模块和/或定义模块分类的可用内容标签; 头和页脚标签;和URL编辑器标签。
说明书第26/43页
实时预览板;模块拾取器;页
动作条可以包括例如图标或按钮,当被激活吋,可以触发动作的 执行。这类动作可以包括保存、删除、编辑、打开文件、打开空白 容器文档、改变容器文档的格式、显示实时预览、插入对象或模块、 以及任何其他类似动作。布局标签可以包括对例如使得用户可以冻结
(或锁定)容器文档的某些部分或允许用户控制容器文档上的所有内 容的预定布局的选择。图6描述了根据示例性实施例的包括布局标签 601的示例性应用程序接口600。如图6所示,应用600也可以包括具有
"现在保存"按钮602a和"预览"元件602b的动作条602。如图6所示, 应用600也可以包括允许代表来选择是否冻结(或锁定) 一部分容器文 档的锁定部分。为了选择冻结(或锁定)选项,代表可以激活与冻结
(或锁定)内容相关联的单选按钮604。为了允许用户来完全定制容器 文档,代表可以选择与解锁内容相关联的单选按钮605。
一旦接收了应用,代表可以选择在框504中将要配置哪个容器文 档。如果用户群组先前没有配置容器文档,则代表可以初始化要配置 的容器文档。如果用户群组已经配置了 一个或多个容器文档的实例, 则可以将使得代表能够从容器文档中选择来进行配置的接口呈现给代 表。
在框506中,可以选择布局。代表可以选择是否可选地冻结(或锁 定)在容器文档上的一个或多个列,或允许用户来控制页面上的所有 内容。例如,图6示出布局标签601,用于使得代表能够选择用于容器 文档的布局。
在框506中,可以选择用于容器文档的颜色。图7描述了包括颜色 标签701的应用接口700的示例性实施例,以使得代表例如能够对容器 文档的各种部分来选择颜色。如图7所示,颜色标签701可以包括元
31件选择部分702、调色板703、文本框704、预览板705、以及复位按钮 706。元件选择部分702可以使得代表能够选择正发生改变的容器文档 的部分。例如,如描述的那样,用户可以选择改变容器文档的页头、 背景、标题等。调色板703可以使得用户能够从板上呈现的那些颜色中 为容器文档的选定部分选择颜色。文本框704可以使得代表能够将已知 的颜色代码直接输入文本框704,用来为容器文档的选定部分选择颜 色。预览板705可以显示为容器文档所选择的颜色的模型。图8描述了 应用接口800的另一实施例,用于说明为容器文档所选择的颜色。例如, 复位按钮706可以允许代表将所有的颜色恢复为灰色。如图8所示,识 别了容器文档的每个部分,并且可以将指示为该部分所选择的颜色的 颜色方块放置在该已识别部分的附近。例如,如图8所示,具有冻结(或 锁定)列的"标题条"包括靠近"标题条"文本的白色方块。
在框507中,可以定制用于该容器文档的页头和页脚。图9描述了 应用接口卯O的示例性实施例,应用接口900包括页头和页脚标签901, 以使得代表能够定制容器文档的页头和页脚。如图9所示,页头和页脚 标签卯1可以包括页头部分902,其可以使得代表能够定义在容器文档 的顶部出现的页头。如图9所示,页头部分902可以包括工具条908,其 使得代表能够将图像添加到页头、将链接添加到页头、定制用于页头 的字符、和/或编辑包含页头的HTML代码。如所描述的,页头部分902 可以显示可能出现在容器文档上的页头的模型。图17和18还说明了示 例性应用接口,其可以使得代表能够定制容器文档的页头和页脚。
例如,页头和页脚标签901还可以包括页脚部分903,其可以使得 代表能够定义在容器文档的底部出现的页脚。页脚可以包括与隐私页 面相关联的链接904、与服务条款页面相关联的链接905、与联系我们 页面相关联的链接906、以及与服务协议页面相关联的链接卯7。例如, 页头和页脚标签还可以包括"向页脚添加链接"的元件909,其可以使 得代表能够将客户链接添加到容器文档的页脚。如图9所示,页脚部分 903可以显示可能出现容器文档上的页头的模型。在框508中,可以选择用于容器文档的内容。在示例性实施例中, 代表可以从例如远程模块或可以包括在容器文档之中的其他模块(例
如,RSS,基于API的模块等)中进行选择,或创建要包括在容器文档 之中的客户模块。图10-14描述了使用远程模块和/或客户模块来定义 用于容器文档的内容的各种示例应用接口。图19-21还描述了使用远程 模块和/或客户模块来定义用于容器文档的内容的各种示例应用接口。
在框509中,可以发布容器文档。如此处所指,发布容器文档可以 包括使得容器文档对用户可用的任何方式,包括但不限于,保存容器 文档,并向托管服务器系统指示容器文档要对其用户可用。图15描述 了应用接口 1500的示例性实施例,包括发布标签1501,以使得代表能 够发布容器文档。代表可以选择发布按钮1503来发布页面。在这样的 实施例中,可以显示容器文档的URL 1502。发布标签1501还可以包括 取消发布按钮1504,其可以使得代表能够移除已发布的容器文档。
用于访问个性化容器文档的说明性过程
在示例性实施例中,例如,用户群组的用户可以访问已经由用户 群组进行配置的容器文档。如图5所示,用于容器文档的示例性URL可 以是例如"http:〃www.host.com/ig/p/usergroupname/instancename", 其 中"www.host.com"可以表示托管服务器系统的域,"usergroupname" 可以表示用户群组,以及"instancename"可以表示特定的容器文档。 用户也可以使用例如"主机"的目的地IP地址来访问容器文档。如以下 将要详细描述的,用户群组可以具有用于用户群组的用户的容器文档 的多个实例。在示例性实施例之中,URL之中的"/p/"例如可以指示 该特定的URL关联到与用户群组相关联的容器文档。
图16描述了流程图1600的示例性实施例,其说明根据示例性实施 例的用于将容器文档和/或个性化容器文档派发给用户群组的用户的方 法。在框1601中,可以接收对页面的请求。如上所述,请求可以是URL请求,或是使用容器文档的目的地IP地址(如果为用户所知)的请求。 例如,可以由托管服务器系统来接收请求。
在框1602中,托管服务器系统可以确定请求是否是对容器文档的。
如上所述,用于容器文档的URL可以是例如 "http:〃www.host.com/ig/p/usergroupname/instancename", 并且"/p〃, 可以指示该URL关联到与合作伙伴/用户群组相关联的容器文档。在一 个示例中,用户群组可以通过例如将其自己的域(例如 www.usergroupname.com)设定为经由CNAME指向该URL来选择对用 户隐藏该URL。托管服务器系统可以解析URL,以确定"/p/"是否出 现在URL之中。如果出现"/p/",则托管服务器系统可以继续派发服 务容器文档。如果没有出现"/p/",则托管服务器系统可以派发与URL 请求相关联的另一页面。应当理解,可以使用用于识别URL请求是对 与合作伙伴/用户群组相关联的容器文档的其它指示符和技术。例如, 在 一 个示例中,用于容器文档的URL可以是例如 "http:〃www.host.com/ig;/usergroupname/instancename ",并且 "/usergroupname/instancename"可以指示该URL是关联到与合作伙伴/ 用户群组相关联的容器文档。
在另一示例中,用户可以请求由用户群组所选择的URL,例如 "start.usergroup.net"。 一旦接收到该请求,托管服务器系统可以确定 与该请求相关联的实际路经(例如 "partnerpage.host.com/usergroup.net"),并将该实际路经进行解码以 确定域名。例如,托管服务器系统然后可以在通过合作伙伴域来唯一 索引的动态表或其他动态存储模块之中査找域名,以确定如何起作用。
在框1603中,可以从URL提取信息。可以从URL提取用户群组的 标识和容器文档的特定实例。例如,如果URL具有如上所述的格式, 则托管服务器系统可以解析URL,以从URL提取"usergroupname"和 "instancename"字符串。如以下将要详细解释的,然后可以使用该信息来査找用户群组偏好和/或个性化容器文档。 多入口点
在框1604中,托管服务器系统可以确定是否识别了用户。提供的 系统可以提供多入口点,意谓着可以使用多个不同的账户来使得用户 能够访问个性化容器文档。用户群组(例如,设置用户群组容器文档 的管理员用户)可以选择可以将哪种(些)鉴权方法(即,入口点) 用于对用户群组的用户进行鉴权。也可以由托管服务器系统将该鉴权 方法存储在由合作伙伴域所唯一索引的动态表或其它存储模块中。当 用户请求容器文档并且在该表之中查找域名时,也可以确定鉴权方法。 所以,基于域名和与域名相关联的鉴权方法,系统可以确定是否识别 了用户。
例如,用户可以具有对托管服务器系统(例如,Google)的账户, 其用于该托管服务器系统上的各种活动(例如,电子邮件、数据存储、 个性化主页等)。而且,同一用户可以拥有对用户正请求其容器文档 合作伙伴的账户(例如,用户可以是合作伙伴的客户)。所以,如果 待使用的鉴权方法是与特定账户相关联的,则托管服务器系统可以检 查来确定其是否具有与特定账户相关联的用户记录。其中,例如,可 以使用对托管服务器系统的账户来将用户对一个以上的用户群组进行 鉴权,托管服务器系统可以通过使用与托管服务器系统账户相关联的 域名和信息来将托管服务器系统账户对特定域名进行鉴权,从而确定 用户是否被特定的用户群组识别。如果在由合作伙伴域所唯一索引的 动态表之中指示了匿名/基于cookie的鉴权方法,则托管服务器系统还 可以检查例如在用户系统上的一个或多个cookie,以确定是否将用户识 别为具有对托管服务器系统的账户。如果根据用户群组为容器文档所
选择的鉴权方法,用户没有被识别或登录,则例如,流程图1600可以 前进到框1605。如果用户被识别或登录,则流程图1600可以前进到框 1607。在框1605中,托管服务器系统可以将请求发布给配置服务器,以 例如检索用户群组容器文档的偏好。在示例性实施例中,请求可以包 括用户群组的标识、关于用户群组的其它信息、以及已被请求的容 器文档的实例名称。为了确定用户群组的标识,托管服务器系统可以
将"usergroupname"转换为可以与用户群组的账户相关联的唯一标识 符。为了转换"usergroupname",例如,托管服务器系统可以在本地 映射文件中查找用户群组的标识符。可以使用类似的査找技术来检索 与用户群组相关联的其它信息。配置服务器可以检索该请求,并然后 查找其它用户群组信息。
在框1606中,托管服务器系统可以派发默认的容器文档。例如, 托管服务器系统可以将关于默认容器文档的信息接收进用户群组数据 分组中,并显示偏好数据分组。例如,用户群组数据分组可以规定 布局(例如,页头或无页头、固定列或无固定列等)、皮肤偏好(例 如,颜色)、以及分类。例如,显示偏好数据分组可以规定用于每个 容器文档的默认设置。然后,托管服务器系统可以使用该信息来将默 认容器文档派发给用户。结果容器文档对于可以由用户来配置的任何 内容,可以包含由用户群组所配置的内容以及由用户群组所配置的默 认设置。
在框1607之中,托管服务器系统可以确定用户是否已经根据用户 的个性偏好,将容器文档进行个性化。为了这样做,可以经由上述的 用户群组选择的鉴权方法来识别用户。具体而言,可以使得用户能够 使用合作伙伴账户信息、托管服务器系统账户信息或由用户群组所选 择的一些其他信息来进行登录。为了使此进行,可以将用户对接收合
作伙伴容器文档有效的账户登录与合作伙伴容器文档数据相关联存储 在托管服务器系统之中。所以,例如,如果合作伙伴是计算机公司 Computers4Sale,并且其拥有为基于合作伙伴的Google个性化主页的合 作伙伴容器文档,则用户应当能够通过使用Googk账户登录进Google (如果选定的鉴权方法经由对托管服务器系统的账户来对用户进行鉴
36权),或通过使用Google已经存储在其用于Computers4SaleGoogle个性 化主页的用户列表之中的Computers4Sale账户来登录进Computers4Sale
(如果选定的鉴权方法经由对合作伙伴的账户来对用户进行鉴权), 来访问Computers4Sale Google个性化主页。
如上所述,基于用户群组所定义的分类,用户可以对与用户群组 相关联的容器文档进行个性化(例如,选择哪些模块可以包括在个性 化容器文档之中、将个性偏好应用到这些模块、确定这些模块在容器 页面内的位置等)。在一个示例中,例如,用户可以对容器文档进行 个性化而不用登录进Google。在该示例中,用户可以在"离线"环境(例 如用户不登录)中定制容器文档。例如,可以将定制存储在cookie中, 使得当用户是第一次登录时(或在做出"离线"定制之后第一次), 可以将基于cookie的偏好传送给服务器。
如果用户已经将合作伙伴容器文档进行个性化,则在框1607中, 代替应用到合作伙伴容器文档的默认设置,可以将用户的个性设置应 用于容器文档。托管服务器系统可以确定用户是否被识别以及用户是 否已经同时对容器文档进行个性化。如果用户还没有对容器文档进行 个性化,则流程图1600可以前进到框1605。
在框1608中,托管服务器系统可以请求用户的个性偏好。可以将 这些个性偏好存储在与托管服务器系统相关联的数据库系统之中。
在框1609中,托管服务器系统可以派发个性化的合作伙伴容器文 档。例如,托管服务器系统可以将关于容器文档的信息接收进用户群 组数据分组中,并显示偏好数据分组。例如,用户群组数据分组可以 规定布局(例如,页头或无页头、固定列或无固定列等)、皮肤偏 好(例如,颜色)、以及分类。用户还可以添加附加的非群组内容, 如果用户群组已经用允许用户这么做的方式对容器文档进行了配置。 例如,显示偏好数据分组可以规定用于每个容器文档的用户个性设置。然后,托管服务器系统可以使用该信息来将个性化容器文档派发给用 户。例如,结果个性化容器文档可以包括由用户群组所配置的内容, 以及由用户所配置的个性化设置。
图22还描述了流程图2200的示例性实施例,其说明了用于将容器
文档和/或个性化容器文档派发给用户群组的用户的方法,框2201-2203 如以上对框1601-1603所描述的那样操作。
在图22所示的示例中,框2204和2205可以并行操作。在框2204中, 可以检索用户信息。用户群组可以选择对用户群组的用户进行鉴权的 鉴权方法。所以,为了检索用户信息,例如,托管服务器系统可以检 査由鉴权方法所识别的账户的信息。例如,用户可以具有对托管服务 器系统(例如,Google)的账户,其用于该托管服务器系统上的各种活 动(例如,电子邮件、数据存储、个性化主页等)。而且,同一用户 可以拥有用户正请求其容器文档的合作伙伴的账户(例如,用户可以 是合作伙伴的客户)。所以,基于鉴权方法,托管服务器系统可以用 由鉴权方法所识别的账户来检查确定其是否有正登录的用户的记录。 如果用户群组已经选择了匿名/基于cookie的鉴权方法,则托管服务器 系统可以检査例如在用户系统上的一个或多个cookie,以确定用户是否 被识别。
在框2205中,可以请求默认的门户网站数据。为了请求门户网站 数据,托管服务器系统可以将请求发布给配置服务器,以例如检索用 户群组容器文档的偏好。
在框2206中,托管服务器系统可以确定用户是否被识别以及用户 是否具有个性化容器文档。为了做到这点,可以通过上述的多入口点 中的一个或多个来识别用户。具体而言,可以使得用户能够使用合作 伙伴账户信息、托管服务器系统账户信息或某种其他信息来进行登录。 托管服务器系统可以例如检查用户cookie,以确定用户是否已经对容器文档进行个性化。托管服务器系统可以确定用户是否被识别以及用户 是否已经同时对容器文档进行个性化。如果用户已经对容器文档进行
个性化,则流程图2200可以前进到框2207。如果用户还没有对容器文 档进行个性化,则流程图2200可以前进到框2208。
在框2207中,可以将用户信息覆盖在容器文档上。为了将信息覆 盖在容器文档上,可以将由合作伙伴/用户群组所选择的内容与例如用 户的定制相结合以形成容器文档。
在框2208中,可以呈现用于容器文档的数据并且可以将容器文档 派发给用户。
数据驱动设计
用户群组可以具有与用户群组相关联的多个容器文档。在该情形 中,每个门户页面可以是单独的实例。其中,例如,如上所述,用于 每 个 个 性 化 容 器 文 档 的 URL 是
"http:〃www.host.com/ig/p/usergroupname/instancename", 每个实例可 以由不同的"instancename "来唯一的标识。在其中URL请求是 start.mydomain.net/instancename的示例中, 也可以用不同的
"instancename"来识别每个实例。例如,用户可以具体请求实例,或 者托管服务器系统和/或配置服务器系统可以通过检查在用户系统上的 cookie或关于用户的其它消息来确定将哪个实例派发给用户。而且,托 管服务器系统可以基于IP地址、地理编码信息、或诸如对用户群组已知 但对托管服务器系统不知道的信息的其他外部信息来确定派发哪个实 例。例如,以这种方式选择实例使得合作伙伴能够使用其对最终用户 的了解来确定默认将几个页面中的哪个派发给最终用户。
基于地理位置来改变内容
一个或多个实例可以是基于改变呈现给不同用户的内容。例如, 用户群组可以基于各种数据输入来改变呈现给其用户的内容,所述数据输入包括地理位置、用户人口统计、 一天中的时间、 一年中的时 间等。在地理位置的示例中,在美国东海岸的用户可以接收与美国东 海岸相关联的实例,而在美国西海岸的用户可以接收与美国西海岸相 关联的不同实例。在另一示例中,可以基于用户所处的特定城市来改 变内容。在这样的示例中,托管服务器系统可以通过确定用户是否已 经访问无线接入点(例如,WIFI或一些其它无线协议)来确定用户的 位置。从该确定,托管服务器系统可以确定无线接入点所处的城市, 并将与该城市相关联的实例派发给用户。在该实例中的内容可以包括 例如旅行模块,其显示从最靠近该城市的机场可用的班机。内容还可 以包括例如天气模块,其显示该城市的当前天气。
基于服务级别来改变内容
可以基于例如用户服务的级别来改变内容。例如,在用户群组可 以具有变化状态(例如,白银、黄金、白金)的用户的情况下,用户
群组可以基于这些状态级别改变呈现给其用户的内容。在这样的示例 中,托管服务器系统和/或配置服务器系统可以通过例如检查在用户系
统上的cookie或关于用户的其它信息来确定将哪个实例派发给用户。在
一个示例性实施例中,例如,用户群组可以与航空公司相关联。在这 样的实施例中,航空公司可以具有常客项目,并且用户可以加入该项 目。如果用户具有在该项目内的状态,则托管服务器系统可以将与该 状态级别相关联的容器文档派发给用户。例如,如果用户具有白银状 态,则与白银状态相关联的实例可以包括具有关于如何获取更高状态 级别的信息的模块。例如,如果用户具有白金状态,则与白金状态相 关联的实例可以包括允许用户自动升级到即将起飞航班的头等舱的模 块。
服务提供者可以拥有具有各种服务协议级别的用户。例如,用户 群组内的某些用户可能具有"在家"服务协议,而用户群组内的其他 用户可能具有需要用户将项目送来维修的"基本"服务协议。在这样 的示例中,与"在家"服务协议相关联的实例可以包括用于设置在家服务呼叫的模块。与"基本"服务协议相关联的实例可以包括例如基 于用户的地理区提供关于将项目发送到哪里来进行维修的指令的模 块。
基于订购的内容
合作伙伴/用户群组也可以基于订购来改变内容。例如, 一些用户 可以订购"优质"内容。可以将包含包括"优质"内容的模块的实例 派发给订购"优质"内容的那些用户。而且,用户可以订购基于内容 的模块。例如,合作伙伴可以提供音乐模块,对该合作伙伴的音乐模 块的订购可以使得用户能够基于订购来选择要收听的某些音乐选集。 而且,在音乐模块中,合作伙伴可以提供不同的订购。例如, 一个订 购可以允许最终用户收听音乐,而另一个可以允许用户收听并下载音 乐。在这些示例中,合作伙伴可以对用户就订购收取费用,由此使得 合作伙伴能够将容器文档内的模块货币化。
选择性国际化
合作伙伴容器文档的实例可以与不同的语言相关联。在这样的实 施例中,托管服务器系统和/或配置服务器系统可以例如如上所述确定 用户的位置,并派发以与该用户的位置相关联的语言的容器文档的实 例。例如,可以对在美国的用户派发以美式英语的容器文档的实例, 可以对在英国的用户派发以英式英语的容器文档的实例,而可以对在 法国的用户派发以法语的容器文档的实例。而且,合作伙伴或用户简 档可以识别语言偏好,并且可以使用这样的偏好,基于这样的内容来 将容器文档进行国际化。对于不同的语言也可以提供不同版本的容器 文档。
用于用户群组的多个实例可以基于公共模板。例如,在上述关于 航空公司模块的示例中,容器文档的每个实例可以包括显示航班的模 块,在该模块内的内容基于地理位置而变化。在另一实施例中,多个 实例可以不是基于公共模板,每个实例是唯一的。说明性配置用户接口
如上所述,与用户群组相关联的代表可以经由web应用来为用户群
组的用户配置容器文档。这样的应用可以包括用于可以交互地配置和/ 或定义容器文档的用户接口。这类接口将允许代表来查看尚未发布的 实际内容全功能预览。接口还可以允许代表来在全功能预览中编辑内 容。
实时容器文档预览
也可以存在用户接口的很多互连组件。当使用组件之一来进行改 变时,可能需要同步其他组件。为了同步用户接口的组件,组件可以 相互观察以识别变化并相应地进行更新。改变的源(例如,页面内容 标签)可以将改变"推"给所有的观察者。例如,如果用于模块的复 选框在可用内容标签之上的模块分类选择部分中没有选中,则模块应 当在选定的模块标签上的模块分类选择部分中消失。在这样的示例中, 复选框可以将改变"推"给选定的模块标签。
观察者也可以对改变的源主动地进行轮询用于对接口进行改变。 例如,用户接口的组件可以定期轮询后端层,以确定与用户群组相关 联的任何文件是否已经改变。如果改变,则可以在接口的其它组件之 中立即更新该改变。可以考虑以下示例。在一个示例中,当用户使用 上述的颜色标签编辑容器文档的颜色时,颜色标签的所有组件可以向 中央方(即,事件注册者)注册对"同步颜色"的事件感兴趣。当在 颜色标签中的一个组件反映改变时,组件可以通知事件注册者,事件 注册者可以进而通知对"同步颜色"事件注册的所有组件。
在容器文档内的搜索框
如上参照图2所述,在各种示例性实施例之中,容器文档可以包括
搜索框。在这样的实施例中,搜索框可以与容器文档的主机相关联。 当容器文档的用户将文本输入文本区并执行搜索时,搜素结果可以返
42回给用户。在一些实例中,搜索结果可以包括与广告相关联的链接。 如果用户后来点击了与广告相关联的一个链接,则容器文档的主机可 以补偿该用户群组。例如,主机可以贷记该用户群组的账户。在主机 和用户群组之间共享收入的方式可以包括收入的百分比、固定费用 安排(例如,每点击的特定量)、或在该领域之中已知的其他安排。
用于派发容器文档的示例托管服务器系统
托管服务器系统的操作可以涉及在所附专利申请中描述的多个任 务和单元。对于背景,相对图l (C)提供了对可以用于派发容器文档的
单元的简要描述。这里,托管服务器系统io包括多个单元,其可以包
括容器服务器12、模块服务器14、规范服务器16、后端服务器18、
分析单元28、模块创建服务器32、联合服务器34、广告服务器36、地 理代码服务器37和/或地图服务器39。
连接到网络26的其它系统可以包括 一个或多个用户系统22、 一 个或多个远程源系统24、 一个或多个模块开发系统30、 一个或多个内 容提供者、以及一个或多个联合接收服务器38。另外, 一个或多个数 据库系统20可以与托管服务器系统10的各种单元相结合来运行。
容器服务器12 (例如,web服务器)可以通过网络26将容器文档派 发给用户系统22。容器服务器12可以取数据和/或指令,并可以形成用 于经由网络传输给用户系统22的容器。
模块服务器14可以将来自模块的数据提供给容器服务器12,用于 合并进入容器文档。应当理解,在一个实施例中,容器服务器12以及 模块服务器14可以包括执行两个功能的单个单元。模块服务器14可以 通过解释和/或解析与模块相关联的模块规范中的指令来提供用于容器 文档的数据。根据一个实施例,模块服务器14可以通过使用浏览器 IFRAME将模块内容派发给容器文档。 一般可以将IFRAME理解为在容 器文档内独立运转的浏览器窗口实例。IFRAME的一个优点是其将容器文档对IFRAME的内容进行保护,反之亦然,例如,可能不允许在容器 文档上的JavaScript访问在内部IFRAME中的任何JavaScript代码(对 CSS、 DOM、或cookie对象也一样)。
模块格式的多种选择
为了加速容器文档的显示,可以在容器文档内内嵌显示模块。可 以将内嵌显示理解为指具有其他文档元件的显示。 一个示例是根据 HTML标准在主体中从HTML代码生成的显示。在一个实施例中,由于 内嵌模块可能产生的各种安全性问题的风险,模块服务器14或一些其 它组件可以在将模块内嵌包括在容器文档中之前,确定该模块是否被 视为可信。根据一个实施例,如下具体所述,模块可以并入由容器模 块或与该容器模块相关联的实体所发布的批准标记(例如数字证书)。 如果存在批准标记,则模块服务器14可以将用于内嵌呈现的来自模块 的数据呈现在容器文档中。
规范服务器16向模块服务器14提供模块规范文件。如随后具体所 述,模块规范可以在可由模块服务器14和/或规范服务器16访问的数据
库中进行缓存和存储,或可以从与规范相关联的位置检索。例如,规 范服务器16可以驻留在远程源系统24上。另外,规范服务器16可以通 过网络来连接到模块服务器,处于网络上的另一位置的模块规范可被 规范服务器16访问。
可以提供后端服务器18用于与一个或多个数据库(例如,信息的 大型或动态数据库)进行交互。例如,对于获取频繁更新和要求数据 流(例如从RSS输入)的新闻模块,后端服务器18可以将数据格式化为 用于容器的HTML。
在一个具体示例中,某人可以创建模块(例如,地图模块),诸 如使用到现有地图程序的应用程序接口 (API)来创建模块,以显示加 利福尼亚州市区山景城的地图。模块可以包括存储在规范服务器之上的XML规范文件或模块规范文件。规范服务器可以包括任何服务器, 包括在托管容器页面的站点或任何其它站点之上的服务器。然后,该 用户或其它人可以将该新模块包括在个性化主页(容器文档)上。派 发容器文档的服务器可以运行为模块服务器,而可以将通过来自其API 的查询产生映射数据的服务器认为是后端服务器。
根据本发明的一个实施例,分析单元28可以在各种时间(例如,
当用户第一次选择模块时,每次模块被容器调用来包含,或在确定是 有利于安全和安全性的任何其他时间以及其它时间)分析模块。分析
单元28可以执行多个动作,包括将模块与未批准或危险模块的列表或 批准模块的列表相比较。比较可能涉及匹配名称或位置(例如URL) 的准确或子字符串(例如,前缀、后缀和正则表达式)、规范的内容、 规范所在的位置的内容、或对模块可以确定的信息。响应于确定模块 是未批准的或危险的,分析单元28可以采取一个或多个动作,包括例 如静默地阻隔请求(即,提供一般错误)、用解释请求被阻隔的原 因或将请求重定向到已经确定为安全并涉及未批准模块(例如,如果 第一个是未批准的地图网站,是涉及地图的另一模块,或者如果未批 准模块是篮球模块,是包括关键词"篮球"的模块)的不同模块规范 的错误来阻隔请求。例如,通过重定向,可以将最初模块的URL传递 给"安全"模块。如下所述,安全模块然后可以使用代理服务器来检 索最初URL的内容。然后,为了能够显示最初模块的内容,开发者可 以替换错误处理器,以修改最初模块中的小缺陷。在另一实施例中, 分析单元28可以解析模块内容,以确定其是否是安全的,诸如通过编 译JavaScript或包含在模块中的其他脚本,以尝试识别模块可以执行的 不安全或不期望的动作。
可以提供一个或多个内容提供者31。内容提供者31可以提供待在 模块中派发的内容和/或可以向最终用户提供待派发的模块。内容提供 者的示例包括但不限于以下内容的提供者模块、新闻供稿、交通信 息源、金融信息源、娱乐信息源。
45可以提供一个或多个模块创建服务器32。该服务器可以运行为"向
导",以使得模块创建者可以通过由模块创建服务器32所控制的交互 过程来创建模块。例如,模块创建服务器32可以提供一系列用户接口, 其使得模块创建者可以提供输入,然后,模块创建者使用该输入来自 动产生模块规范。例如,可以将各种模块规范模板与对应的输入一起 提供。然后,模块创建服务器32可以取得模块创建者所提供的输入, 并将它们插入到模板,并随后产生用于该模块的模块规范。也可以将 预览、测试和调试功能作为该"向导"的一部分来提供。该web工具和 /或可下载应用也可以被下载,这样可以将其安装并运行在网络上的任 意节点。在本发明的各种实施例中,模块创建者可以是与用户群组相 关联的代表。而且,模块创建者可以是内容提供者的示例。
联合服务器34可以准备用于传输到与模块相关的一个或多个联合 收件服务器38的数据。联合服务器34可以接收对模块和/或模块内容的 请求,并将该模块或内容通过网络26传递给联合收件服务器38。联合 服务器34可以驻留在托管服务器系统10之上或网络上的其它位置。例 如,如果体育网站(联合接收系统38的示例)的运营者期望包括由远 程源系统24所创建的地图模块,它可以通过到联合服务器34的请求来 进行。然后,联合服务器34可以与模块服务器14协作,以产生用于容 器文档(此处是联合接收系统38的体育网站页面)的数据。其可以涉 及从远程源系统24检索模块规范,提供从联合收件服务器38接收到的 偏好(例如,用于正显示的页面的体育队的城市信息)和/或产生用于 容器的数据。也可以用IFRAME或内嵌将数据在联合收件服务器38上呈 现在其容器文档之中。由此,联合服务器34可以使得联合模块对其可 访问。其可以基于对特定模块的请求或其确定的其他标准(例如,内 容匹配、关键词匹配、与模块和/或联合请求者相关联的货币值)来进 行。
广告服务器36可以将与模块相关联的广告提供给容器。例如,当将数据传递给容器文档时,可以将广告与模块数据合并在一起。广告 服务器36可以与联合服务器34 —起运行,以基于对模块的联合请求,
将广告传递给联合收件服务器38。可以基于很广范围的标准来通过广
告服务器36选择广告,所述标准包括但不限于在容器、模块、在容
器内的其他模块的内容或关于它们的信息之间的关系、联合收件服务 器信息、关于上述任何一个的货币元件/关系和/或其组合。根据本发明
的一个实施例,广告服务器36可以包括GoogleAdSense系统。广告服务 器36可以按以下专利申请中的一个或多个所描述的那样运行。
可以提供地理代码服务器37,以如本领域所知从位置描述中产生 地理代码信息。地理代码服务器37可以从地理位置产生纬度和经度数 值。
地图服务器39可以产生地图输出。可以使用诸如Google地图和 Google Earth的地图系统来产生该数据。
可以提供一个或多个数据库系统20,其可以用任何数量的方式来 存储容器信息、模块规范和/或相关信息、格式化信息、每用户和每 模块偏好数据、远程模块ID数据、远程模块位置参考数据、广告数据、 广告者数据、内容/货币数据、联合接收数据、用于模块的模板、用于 模块的输入、受信任和不受信任的模块的列表、批准标准和相关信息 和/或由模块来使用按这里描述运行的任何其他信息。尽管对数据库系 统20示出了单个数据库结构,但是应当理解,可以将数据存储在多个 位置以及在一个或多个系统之中。
另外,示出为用户系统22的系统也可以运行为远程源系统24和/或 模块开发系统30。换言之, 一个计算机系统可以用不同的能力来运行 作为用户系统、作为远程源系统、作为联合服务器、作为目标内容服 务器、和/或模块开发系统。另外,按以下更加详细的解释,也可以将 所描述的在托管服务器系统10中的每个模块放置在用户系统22、远程源系统24、或模块开发系统30上。类似地,根据期望的配置,数据库 20可以与图1 (c)中描述的每个模块相关联。
本公开不受限于这里描述的具体实施例的范围。实际上,除了这 里已描述的以外,从以上描述和附图,本公开的其他各种实施例和修 改,对于本领域的普通技术人员来说是显而易见的。所以,这样的其 它实施例和修改旨在本公开的范围之内。另外,尽管出于特定目的, 已经在特定环境中的特定实现的上下文中描述了本公开,但是本领域 的普通技术人员将意识到其效用并非只限于此,并且可以出于任意数 量的目的,在任意数量的环境中有益地实施本公开。因此,应当考虑 如这里所述的本公开的全部范围和精神来解释所附的权利要求。
权利要求
1. 一种方法,包括接收对容器文档的请求;确定所述请求是否是对与用户群组相关联的容器文档的请求;确定所述请求的请求者是否与在所述用户群组内的多个状态级别中的所述用户群组内的一状态级别相关联;基于所述请求者是与所述用户群组内的一状态级别相关联的确定来确定所述请求者的状态级别;基于所述容器文档是与用户群组相关联的确定以及所述状态级别来请求配置信息;接收所述配置信息;以及使用所述配置信息来派发所述容器文档。
2. 如权利要求l所述的方法,其中所述容器文档的内容基于所述 多个状态级别变化。
3. 如权利要求l所述的方法,其中所述多个状态级别中的每个与 各自的容器文档相关联,并且所述容器文档中的每个的内容基于所述 状态级别变化。
4. 如权利要求3所述的方法,其中所有的所述各自的容器文档包 括通用模板,并且在所述各自的容器文档的每个的一部分内的内容基 于所述状态级别变化。
5. 如权利要求l所述的方法,其中所述状态级别基于用户订购。
6. —种方法,包括 接收对容器文档的请求;确定所述请求是否是对与用户群组相关联的容器文档的请求;确定与所述请求相关联的位置;基于所述容器文档是与用户群组相关联的确定以及所述位置来请 求配置信息;接收所述配置信息;以及 使用所述配置信息来派发所述容器文档。
7. 如权利要求6所述的方法,其中所述容器文档的内容基于所述 位置。
8. 如权利要求6所述的方法,其中多个位置中的每个位置与各自 的容器文档相关联,并且所述容器文档中的每个的内容基于所述位置 变化。
9. 如权利要求8所述的方法,其中所有的所述各自的容器文档包 括通用模板,并且在所述各自的容器文档的每个的一部分内的内容基 于所述位置变化。
10. 如权利要求6所述的方法,其中所述容器文档的语言基于所述位置。
11. 如权利要求6所述的方法,其中所述位置是使用与网络设备相 关联的信息自动确定的。
12. —种派发容器文档中的内容的系统,包括第一服务器,用于接收对容器文档的请求;确定所述请求是否 是对与用户群组相关联的容器文档的请求;确定所述请求的请求者是 否与在所述用户群组内的多个状态级别中的所述用户群组内的一状态 级别相关联;基于所述请求者是与所述用户群组内的一状态级别相关 联的确定来确定所述请求者的状态级别;基于所述请求是对与用户群 组相关联的容器文档的请求的确定以及所述状态级别来从配置服务器请求配置信息;从所述配置服务器接收所述配置信息;以及使用所述 配置信息来派发所请求的容器文档,其中所述配置服务器使得能够对容器文档的至少一部分进行配 置,以及其中所述容器文档与用户群组相关联。
13. —种派发容器文档中的内容的系统,包括-第一服务器,用于接收对容器文档的请求;确定所述请求是否 是对与用户群组相关联的容器文档的请求;确定与所述请求相关联的 位置;基于所述请求是对与用户群组相关联的容器文档的请求的确定 以及所述位置来从配置服务器请求配置信息;从所述配置服务器接收 所述配置信息;以及使用所述配置信息来派发所请求的容器文档,其中所述配置服务器使得能够对容器文档的至少一部分进行配 置,以及其中所述容器文档与用户群组相关联。
14. 一种编码有计算机程序代码的计算机可访问介质,所述计算 机程序代码用于执行以下步骤接收对容器文档的请求;确定所述请求是否是对与用户群组相关联的容器文档的请求;确定所述请求的请求者是否与在所述用户群组内的多个状态级别 中的所述用户群组内的一状态级别相关联;基于所述请求者是与所述用户群组内的一状态级别相关联的确定 来确定所述请求者的状态级别;基于所述容器文档是与用户群组相关联的确定以及所述状态级别 来请求配置信息;接收所述配置信息;以及使用所述配置信息来派发所述容器文档。
15. —种编码有计算机程序代码的计算机可访问介质,所述计算机程序代码用于执行以下步骤 接收对容器文档的请求;确定所述请求是否是对与用户群组相关联的容器文档的请求; 确定与所述请求相关联的位置;基于所述容器文档是与用户群组相关联的确定以及所述位置来请 求配置信息;接收所述配置信息;以及 使用所述配置信息来派发所述容器文档。
16. 如权利要求l所述的方法,其中对所述请求是否是对与用户群 组相关联的容器文档的请求的所述确定包括检索与域名相关联的信 息,其中所述域名可由所述用户群组来选择,并且与所述域名相关联 的所述信息存储在动态表中。
17. 如权利要求6所述的方法,其中对所述请求是否是对与用户 群组相关联的容器文档的请求的所述确定包括检索与域名相关联的信 息,其中所述域名可由所述用户群组来选择,并且与所述域名相关联 的所述信息存储在动态表中。
全文摘要
一种系统和方法,用于接收对容器文档的请求、确定该请求是否是对与用户群组相关联的容器文档、确定该请求的请求者是否与在用户群组内的多个状态级别之中的用户群组内的一状态级别相关联、基于请求者是与用户群组内的一状态级别相关联的确定来确定请求者的状态级别、基于容器文档是与用户群组相关联的确定以及状态级别来请求配置信息、接收配置信息、并且使用该配置信息来派发容器文档。
文档编号G06F7/00GK101523341SQ200780037141
公开日2009年9月2日 申请日期2007年8月7日 优先权日2006年8月7日
发明者乔恩·斯尼托, 杰西·谢, 肖门·萨哈 申请人:谷歌公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1