用于经由网络自动聚合内容的技术转让专利

申请号 : CN200980151659.4

文献号 : CN102257488B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : C·E·施蒂希G·豪威尔T·戴维斯D·帕里什E·梅格多S·德J·兰博瑞克

申请人 : 微软公司

摘要 :

描述了经由网络自动聚合内容的技术。一种装置可包括具有处理系统的客户机计算机,该处理系统具有处理器和计算机可读介质。该计算机可读介质可存储用于通信地耦合至被安排成由处理器执行的内容生产组件的聚合管理器组件的程序指令。该聚合管理器组件可操作用于从该内容生产组件接收聚合内容,并通过该内容生产组件提供聚合对话以使用内容递送平台来聚合该聚合内容。聚合管理器组件还可聚合该聚合内容以形成可使用聚合所指对象经由网络从该内容递送平台访问的聚合资源。对其他实施例也予以描述并要求保护。

权利要求 :

1.一种用于经由网络自动聚合内容的方法,包括:

从安排成由客户机计算机执行的内容生产组件接收聚合内容,所述聚合内容由所述内容生产组件来生成或检索并且包括电子文档;

通过所述内容生产组件提供聚合对话以使用内容递送平台来聚合所述聚合内容;以及聚合所述聚合内容以形成由所述内容递送平台所存储的、且可使用聚合所指对象经由网络从所述内容递送平台访问的聚合资源。

2.如权利要求1所述的方法,其特征在于,包括接收被安排成提供从所述内容递送平台对所述聚合资源的访问的所述聚合所指对象。

3.如权利要求1所述的方法,其特征在于,包括使用所述聚合对话修改被所述内容递送平台存储作为所述聚合资源的所述聚合内容,所述修改操作包括重新发布、更新或移除所述聚合内容。

4.如权利要求1所述的方法,其特征在于,包括从内容生产者接收控制指示以通过所述内容生产组件发起所述聚合对话。

5.如权利要求1所述的方法,其特征在于,包括为内容生产者生成所述内容递送平台的操作者帐户以在通过所述内容递送平台聚合所述聚合内容时使用。

6.如权利要求1所述的方法,其特征在于,包括接收控制指示从而为内容生产者选择所述内容递送平台的操作者帐户以在通过所述内容递送平台聚合所述聚合内容时使用。

7.如权利要求1所述的方法,其特征在于,包括通过所述内容生产组件执行认证操作以访问所述内容递送平台。

8.如权利要求1所述的方法,其特征在于,包括将所述聚合内容从第一格式转译成适于由所述内容递送平台进行聚合的第二格式。

9.如权利要求1所述的方法,其特征在于,包括从所述内容生产组件发送聚合控制参数以控制所述内容递送平台所执行的聚合操作。

10.一种用于经由网络自动聚合内容的系统,包括:

用于从安排成由客户机计算机执行的内容生产组件接收聚合内容的装置,所述聚合内容由所述内容生产组件来生成或检索并且包括电子文档;

用于通过所述内容生产组件提供聚合对话以使用内容递送平台来聚合所述聚合内容的装置;以及用于聚合所述聚合内容以形成由所述内容递送平台所存储的、且可使用聚合所指对象经由网络从所述内容递送平台访问的聚合资源的装置。

11.如权利要求10所述的系统,其特征在于,所述系统还包括用于接收被安排成提供从所述内容递送平台对所述聚合资源的访问的所述聚合所指对象的装置,所述聚合所指对象表示至可从所述内容递送平台访问的所述聚合资源的链接,所述聚合所指对象包括统一资源标识符、统一资源定位符、统一资源名称、可执行软件代码、或其组合。

12.如权利要求10所述的系统,其特征在于,所述系统还包括用于从内容生产者接收控制指示以通过所述内容生产组件发起所述聚合对话,并为所述内容生产者生成所述内容递送平台的操作者帐户以在通过所述内容递送平台来聚合所述聚合内容时使用、或者在已经生成时接收控制指示来为所述内容生产者选择所述内容递送平台的操作者帐户的装置。

13.如权利要求10所述的系统,其特征在于,所述系统还包括用于通过所述内容生产组件执行认证操作以访问所述内容递送平台的装置。

14.如权利要求10所述的系统,其特征在于,所述系统还包括用于将所述聚合内容从第一格式转译成适于由所述内容递送平台进行聚合的第二格式的装置。

15.如权利要求10所述的系统,其特征在于,所述系统还包括用于将控制所述内容递送平台所执行的聚合操作的聚合控制参数从所述内容生产组件发送到所述内容递送平台的装置。

16.如权利要求10所述的系统,其特征在于,所述系统还包括用于使用由服务器计算机所执行的发布应用来自动地发布所述聚合所指对象的装置。

说明书 :

用于经由网络自动聚合内容的技术

背景技术

[0001] web聚合是使网站材料对于多家其他站点可用的聚合形式。最常见的是,web聚合是指使得web订阅源可从一站点获得,以便为他人提供该网站最近所添加的内容,诸如最新的新闻或论坛帖子。聚合使提供信息的网站和显示信息的网站双方受益。对于接收方站点,内容聚合是为其页面添加信息的更大深度和直接性从而使其对于用户而言更具吸引力的有效方式。对于传送方站点,聚合推动了跨多个再现平台的展示。这为传送方站点生成了新的业务量,由此使得聚合成为一种免费且容易的广告形式。然而,聚合内容通常是迫使用户参与多个手动操作(有时跨多个应用和设备)的复杂过程。这种复杂性潜在地限制了经由网络聚合内容的可达性和有用性。本发明的改进正是针对这些和其他考虑事项而需要的。
[0002] 概述
[0003] 提供本概述以便以简化形式介绍将在以下的详细描述中进一步描述的概念精选。本概述并非旨在标识所要求保护的主题的关键特征或必要特征,也不旨在用于帮助确定所要求保护的主题的范围。
[0004] 各种实施例一般涉及自动执行聚合的技术。一些实施例尤其涉及用于自动管理内容的聚合以供跨多个在线平台的分发和访问的增强型聚合技术。
[0005] 在一实施例中,例如,一种装置可包括具有处理系统的客户机计算机。该处理系统可包括处理器和某种形式的存储器或计算机可读介质、以及其他元素。该计算机可读介质可存储用于通信地耦合至被安排成由处理器执行的内容生产组件的聚合管理器组件的程序指令。该聚合管理器组件可操作用于从该内容生产组件接收聚合内容,并通过该内容生产组件提供聚合对话以使用内容递送平台来聚合该聚合内容。该聚合管理器组件还可聚合该聚合内容以形成可使用聚合所指对象经由网络从该内容递送平台访问的聚合资源。该聚合所指对象随后可被在线发布,并被用于访问由内容递送平台所存储的聚合资源。对其他实施例也予以描述并要求保护。
[0006] 通过阅读下面的详细描述并参考相关联的附图,这些及其他特点和优点将变得显而易见。应该理解,前面的概括说明和下面的详细描述只是说明性的,不会对所要求保护的各方面形成限制。
[0007] 附图简述
[0008] 图1示出第一系统的一实施例。
[0009] 图2示出第二系统的一实施例。
[0010] 图3示出分布式系统的一实施例。
[0011] 图4示出集中式系统的一实施例。
[0012] 图5示出第一逻辑流程的实施例。
[0013] 图6示出第二逻辑流程的实施例。
[0014] 图7示出了计算体系结构的实施例。
[0015] 图8示出通信体系结构的实施例。
[0016] 详细描述
[0017] 各种实施例涉及用于自动管理内容的聚合以供跨多个在线平台的分发和访问的增强型聚合技术。该增强型聚合技术可以使用单个集成应用以使内容可供进行聚合来实现。该单个集成应用还可提供聚合所指对象以访问存储在网络可访问设备上的经聚合内容。具体地,该增强型聚合技术可被实现为用于检索、生成、存储或管理聚合内容的应用程序的一部分,由此允许内容生产者聚合该聚合内容而不必离开该应用程序所提供的上下文。该增强型聚合技术还可自动化和简化聚合内容所需的、通常跨不同的线程、进程或设备手动地执行的一些或全部操作。结果,各实施例可提高操作者、设备或网络的可承受性、可伸缩性、模块性、可扩展性或互操作性。
[0018] 图1示出了用于聚合内容以供跨多个在线平台分发的系统100的框图。在一个实施例中,例如,系统100可包括具有多个组件110、130的计算机实现的系统100。如此处所使用的,术语“系统”和“组件”旨在指示与计算机相关的实体,包括硬件、硬件和软件的组合、软件、或执行中的软件。例如,组件可被实现成,在处理器上运行的进程、处理器、硬盘驱动器、(光和/或磁存储介质和/或半导体的)多个存储驱动器、对象、可执行代码、执行的线程、程序、和/或计算机。作为说明,在服务器上运行的应用和该服务器两者都可以是组件。一个或多个组件可以驻留在进程和/或执行的线程内,且组件可以视给定实现所需而位于一台计算机上和/或分布在两台或更多的计算机之间。各实施例不限于此上下文的情况。
[0019] 在图1中示出的所示实施例中,系统100可被实现成电子设备的一部分。电子设备的示例可包括但不限于,移动设备、个人数字助理、移动计算设备、智能电话、蜂窝电话、手机、单向寻呼机、双向寻呼机、消息通信设备、计算机、个人计算机(PC)、台式计算机、膝上型计算机、笔记本计算机、手持式计算机、服务器、服务器阵列或服务器农场、web服务器、网络服务器、因特网服务器、工作站、小型计算机、大型计算机、超计算机、网络设备、web设备、分布式计算系统、多处理器系统、基于处理器的系统、消费电子产品、可编程消费电子产品、电视机、数字电视机、机顶盒、车载通信系统、车载娱乐系统、家用娱乐系统、视频游戏机、游戏系统、无线接入点、基站、用户站、移动用户中心、无线电网络控制器、路由器、集线器、网关、网桥、交换机、机器、或其组合。虽然图1中示出的系统100在特定拓扑结构中具有有限数量的元素,但可以理解,系统100可以视给定实现所需而在替换拓扑结构中包括更多或更少元素。
[0020] 组件110、130可以经由各种类型的通信介质来通信地耦合。组件110、130可以协调彼此之间的操作。该协调可以涉及单向或双向信息交换。例如,组件110、130可以传递通过通信介质传递的信号形式的信息。该信息可被实现成分配给各个信号线的信号。在这些分配中,每一个消息都是信号。然而,其他实施例可另选地采用数据消息。这些数据消息可以跨各个连接发送。示例性连接包括并行接口、串行接口和总线接口。
[0021] 在一个实施例中,系统100可被实现为各自具有一处理系统的客户机计算机或服务器系统的一部分,该处理系统具有处理器106和诸如存储器108之类的计算机可读介质。存储器108可存储用于内容生产组件110和通信地耦合至内容生产组件110的聚合管理器组件130的程序指令。组件110、130可被安排成由处理器106执行。
[0022] 内容生产组件110一般可包括被安排成为内容生产者检索、生成、或管理任何形式的多媒体内容的任何软件程序。在一个实施例中,内容生产组件110可包括生产力应用程序,诸如来自作为由华盛顿州雷蒙德市的微软公司制造的MICROSOFT OFFICE的一部分所提供的一组单机或互相关的生产力应用程序。MICROSOFT OFFICE生产力应用程序的示例可包括但不限于MICROSOFT WORD、EXCEL POWERPOINT OUTLOOK PUBLISHER、ACCESS INFOPATH GROOVE ONENOTE COMMUNICATOR、VISIO 等等。在一个实施例中,内容生产组件110可包括用于以一致地组织方式来创建、编辑、管理和发布内容的内容管理系统(CMS)。然而,各实施例不限于这些示例。
[0023] 内容生产组件110可被用于为内容生产者检索、生成或管理内容。内容生产者可包括例如检索、生成或生产聚合内容102的操作者或用户。另外地或者另选地,内容生产者不一定是人类,而可以是自动化系统。内容生产和聚合可以是全自动化或半自动化的。例如,聚合管理器组件130可具有以自动化方式使用的API。
[0024] 聚合内容102可包括适于聚合的任何形式的多媒体内容,诸如电子文档(例如,应用文档、电子表格、演示文稿等等)、引用、所指对象、对象、图像、图片、文件、视频文件、音频文件、媒体文件、文本、符号、项目、数据、元数据、超链接等等。例如,内容生产者可使用文字处理程序生成部分或者全部文字处理文档形式的聚合内容,或者使用电子表格程序生成部分或全部电子表格文档形式的聚合内容,等等。在其他示例中,内容生产者可检索聚合内容102,诸如数据存储所存储的文档。该数据存储可包括例如远程数据存储(例如,在线服务器)或本地数据存储(例如,硬盘驱动器或闪存存储器)。注意,尽管一些实施例中可提供指定所有聚合内容102进行聚合的机制,但其他实施例也可以允许指定聚合内容102的某些选择部分进行聚合。
[0025] 聚合管理器组件130一般可包括被安排成将内容自动聚合到内容递送平台的任何软件程序。聚合一般可指免费或花费地将内容递送给一个或多个订阅者。当在电子数据通信的上下文中使用时,诸如在经由公共网络(例如,因特网)或私用网络(例如,内联网)使用时,聚合有时可被称为web聚合。web聚合是使网站材料对于多家其他站点可用的聚合形式。最常见的是,web聚合是指使得web订阅源可从一站点获得,以便为他人提供该网站最近所添加的内容,诸如最新的新闻或论坛帖子。聚合使提供信息的网站和显示信息的网站双方受益。对于接收方站点,内容聚合是为其页面添加信息的更大深度和直接性从而使其对于用户而言更具吸引力的有效方式。对于传送方站点,聚合推动了跨多个再现平台的展示。这为传送方站点生成了新的业务量,由此使得聚合成为一种免费且容易的广告形式。这也为用户提供了各种益处,诸如市场营销、便利、公共展示等等。
[0026] Web聚合可使用不同的web聚合格式来实现。web聚合格式可包括适合使用给定的通信协议集在给定网络上传输的任何格式。各种web聚合格式的示例可包括但不限于超文本标记语言(HTML)文档、可扩展标记语言(XML)文档、Javascript、真正简单聚合(RSS)订阅源、原子聚合格式、Silverlight/XAML、或至此类文档和其他种类数字媒体的链接。web聚合格式可使用适合给定网络的任何通信协议来传输,诸如超文本传输协议(HTTP)、原子发布协议、或用于诸如因特网之类的公共网络的变形。
[0027] web聚合格式的一个示例是web订阅源或新闻订阅源。web订阅源是用于为用户提供频繁更新的内容的数据格式。内容分发者聚合web订阅源,由此允许用户订阅它。让web订阅源的合集可在一个点中被访问被称为聚集,这通常是由因特网聚集器来执行的。web订阅源有时也被称为经聚合订阅源。在使用web订阅源的典型情形中,内容提供商在其站点上发布订阅源链接,最终用户可用在其自己的机器上运行的聚集器程序(也称为订阅源阅读器或新闻阅读器)来注册该订阅源链接。该注册可以是将链接从web浏览器拖拽至聚集器一样简单。在受到指示时,聚集器可询问其订阅源列表中的所有服务器其是否有新内容,并且如果有新内容则聚集器要么记下该新内容要么下载该新内容。聚集器可被调度成周期性地检查新内容。web订阅源是拉技术的示例,尽管其可能看起来是将内容推送给用户的。web订阅源所递送的各种内容通常是网页内容。经常在网站提供web订阅源以向用户通知内容更新时,它们仅在该web订阅源中包括概要而不是整个内容本身。web订阅源是由许多新闻网站、网络日志(博客)、学校、和播客来操作的。
[0028] 然而,聚合内容通常是迫使用户参与诸如注册内容递送平台、执行认证过程、请求特定内容的聚集等多个手动操作的复杂过程。例如,常规的聚合技术导致用户向提供内容聚合的在线服务创建帐户。该用户随后需要向该在线服务认证其身份、将内容发布到该在线服务、并使得能够在该在线服务中对该内容的聚集。这些聚集操作通常是由用户手动执行的,并且有时可能必须使用不同的线程、进程或机器。例如,用户可能需要用一个应用生成内容、切换至web浏览器以访问在线服务、切换回到该应用以上传至该在线服务、与该在线服务交互以配置用于该内容的聚合参数等等。这对于用户可能是乏味和混乱的。当用户希望在不同的在线服务中诸如在用于为博客更新和发布内容的博客服务中发布该经聚合的内容时,该过程进一步恶化。因此,这潜在地限制了聚合和/或发布技术的可达性和有用性。
[0029] 系统100被设计成解决这些和其他问题。在各种实施例中,系统100的聚合管理器组件130实现各种被设计成使通常为聚合内容所必需的手动操作中的许多操作自动化的增强型聚合技术。聚合管理器组件130可被实现为能与内容生产组件110互操作的独立软件程序、可被实现为内容生产组件110的一集成部分、或者可被实现为能被内容生产组件110访问的一组应用程序接口(API)。然而,各实施例不限于这些示例性实现。
[0030] 聚合管理器组件130可使用诸如由内容递送平台、内容递送网络或内容分发网络所提供的任何合适的在线聚合服务来聚合内容。内容递送平台可包括用于实现聚合服务的适当硬件和/或软件,其中该聚合服务被安排成对聚合内容102进行聚合以供多个在线平台访问。由内容递送平台(例如作为聚合资源)所存储的聚合内容102可诸如由具有web浏览器的计算机通过网络来在线访问。内容递送平台可被实现为诸如提供经由网络可用的web服务的web服务器之类的执行各种类型的服务器应用的服务器的一部分。例如,在一个实施例中,内容递送平台可被实现为利用嵌入式软件代码来递送web内容的软件即服务(SaaS)内容服务,类似于内容管理系统(CMS)。不同于在客户机服务器上安装软件,内容递送平台通常经由JavaScript窗口小部件、Flash窗口小部件或服务器侧Ajax(编程)通过嵌入式代码片段来馈送内容。内容递送平台被用于所有类型的web内容,甚至是基于文本的内容。另外地或另选地,内容递送平台可被用于将各种经聚合内容导入一个中央位置并随后重新用于web聚合。内容递送平台的示例可包括但不限于MICROSOFT OFFICE LIVE TMWORKSPACE、WINDOWS LIVE 、WINDOWS LIVE SPACES等等。然而,各实施例不限于这些示例。
[0031] 在一般操作中,聚合管理器组件130可用于从内容生产组件110接收聚合内容102。聚合管理器组件130可通过内容生产组件110提供聚合对话以使用内容递送平台来聚合该聚合内容102。聚合管理器组件130还可聚合该聚合内容102以形成可使用聚合所指对象120经由网络从该内容递送平台访问的聚合资源。
[0032] 聚合所指对象120可包括对象之间的关系或关联的部分。具体地,聚合所指对象120可被用于提供从内容递送平台对聚合内容102的访问。在经聚合内容102被内容递送平台存储并准备好递送时,经聚合内容102有时在本文可被称为经聚合资源。聚合所指对象120可表示至可从内容递送平台访问的聚合资源的链接。聚合所指对象120的示例可包括但不限于统一资源标识符(URI)、统一资源定位符(URL)、统一资源名称(URN)、可执行软件代码(例如,HTML或XML代码)、超链接、或其任意组合。各实施例不限于此上下文。
[0033] 在各种实施例中,聚合所指对象120可由系统100或内容递送平台生成。在前一情形中,聚合管理器组件130有时可在与内容递送平台的交互聚合操作期间生成聚合所指对象120,并将该聚合所指对象120递送给内容生产组件110和内容递送平台。在后一情形中,内容递送平台可生成聚合所指对象120,并将该聚合所指对象120转发给聚合管理器组件130,后者将该聚合所指对象120传递给内容生产组件110。
[0034] 聚合管理器组件130还可用于从内容生产者(经由输入设备)接收控制指示104以发起通过内容生产组件110递送的聚合对话。聚合对话可被设计成以一种通过可供用于对聚合内容102进行聚合的各种选项来指导内容生产者的方式呈现与聚合操作有关的信息。聚合对话还可提示内容生产者执行对聚合内容102的聚合所需的某些信息,诸如创建或选择内容递送平台或内容递送平台的特定操作者帐户。该聚合对话还可被设计成从内容生产者接收命令、控制指示和其他输入,并将用户输入转发给适当的组件、应用和设备。聚合对话可由内容生产组件110本地生成、由聚合管理器组件130生成并通过内容生产组件110递送、或者由内容递送平台生成并通过组件110、130递送。
[0035] 聚合管理器组件130可呈现聚合对话以通过内容生产组件110来访问内容递送平台。以此方式,内容生产者可使用和内容生产组件110相同的用户接口工具、上下文、和操作环境,由此减少了利用不同应用对聚合内容102进行聚合的需求。作为对比,常规技术通常迫使内容生产者利用分开的网络接口诸如web浏览器来访问内容递送平台所提供的一些或所有特征。通过在单个应用内而不是通过web浏览器来实现增强型聚合技术,聚合管理器组件130允许内容生产组件110提供一种用于对聚合内容102进行聚合的更为集成且无缝的机制,由此对于内容生产者而言减少了复杂度并且增强了使用方便性。
[0036] 聚合管理器组件130可为内容生产者生成与内容递送平台相关联的操作者帐户以用于通过内容递送平台对聚合内容102进行聚合。另外地或另选地,在操作者帐户已经被生成时,聚合管理器组件130可接收控制指示104以选择内容生产者的与内容递送平台相关联的现有操作者帐户。尽管描述了一些使用操作者帐户进行聚合的实施例,但是应该理解可使用无需操作者帐户的共享网络位置来执行聚合。
[0037] 聚合管理器组件130可进一步用于通过内容生产组件110执行认证操作以访问内容递送平台。包括内容递送平台在内的许多在线服务实现安全过程,诸如被设计成建立或向该在线服务确认订阅者的身份的认证过程。例如,这可包括登录名和安全口令。认证操作通常是使用web浏览器来执行的。然而,聚合管理器组件130可被设计成从内容生产组件110内执行关于内容递送平台的认证操作,由此允许内容生产者留在内容生产组件110的上下文内。这可以减少对于内容生产者的混乱和复杂度。另外地或另选地,聚合管理器组件130可自动执行给定内容递送平台的适当认证操作,诸如自动从安全位置检索登录名和口令、并将该登录名和安全口令提供给该内容递送平台以认证该内容生产者。
[0038] 聚合管理器组件130可进一步用于将聚合内容102从第一格式转译成适于由给定内容递送平台进行聚合的第二格式。聚合内容102可具有各种类型的显示格式,其中一些可能与内容递送平台不兼容。在这些情形中,聚合管理器组件130可将聚合内容102转译成内容递送平台所使用的适当的显示格式。例如,文字处理文档可在适于不同的文字处理程序的不同文字处理格式之间转换,电子表格文档可在用于不同的电子表格程序的不同电子表格格式之间转换,文档可被转换成图像文件(例如,PNG、TIFF、PDF)等等。内容递送平台也可使用不同的web聚合格式。聚合管理器组件130可将聚合内容102转译成内容递送平台所使用的适当的web聚合格式。例如,聚合内容102可在HTML文档和XML文档之间、或者在适于RSS web订阅源的格式和适于原子web订阅源的格式之间转译。根据给定实现的需要,聚合管理器组件130可支持任意数量的内容生产应用和/或内容递送平台的任意数量的格式。应理解,这些转译操作可由聚合管理器组件130、或者内容递送平台来执行。各实施例不限于此上下文。
[0039] 图2示出了用于聚合和发布内容以供跨多个在线平台分发的系统200的框图。系统200可类似于系统100,并且还可包括发布组件210和对各种聚合控制参数220的数据存储。
[0040] 在图2中示出的所示实施例中,发布组件210可通信地耦合至内容生产组件110和聚合管理器组件130。发布组件210可用于使用服务器计算机所执行的发布应用来发布聚合所指对象120。该发布应用可包括任何适于发布内容的在线服务。例如,发布应用可包括主存网络日志(博客)的网站。发布组件210可自动将聚合所指对象120发布到发布应用。例如,一实体可导致以所定义的时间间隔(例如,每周、每月、每季度、每年等等)来聚合销售额。另外地或另选地,内容生产者可使用控制指示104来使发布组件210将聚合所指对象120发布到发布应用,诸如使用剪切和粘贴工具、拖放工具、以及其他用于在线程、进程或机器之间移动或传递信息的图形用户界面(GUI)工具。
[0041] 聚合管理器组件130可用于从内容生产组件110向内容递送平台发送聚合控制参数220以控制内容递送平台所执行的聚合操作。聚合控制参数220可控制内容递送平台如何对聚合内容102进行聚合。例如,聚合控制参数220可包括表示聚合内容102中的多少(全部或部分)应被实际聚合的聚合部分标识符。在另一示例中,聚合控制参数220可包括用于控制交互水平、大小、显示、效果等等的其他参数。在又一示例中,聚合控制参数220可被设计成影响聚合内容102,诸如在聚合对话期间在Excel工作簿中设置参数。
[0042] 图3示出了分布式系统300的框图。分布式系统300可使系统100、200的结构和/或操作的各部分跨多个计算实体分布。分布式300系统的示例可包括但不限于,客户机-服务器体系结构、3层体系结构、N层体系结构、紧耦合或群集的体系结构、对等体系结构、主-从体系结构、共享数据库体系结构、以及其他类型的分布式系统。各实施例不限于此上下文。
[0043] 在一个实施例中,例如,分布式系统300可被实现为客户机-服务器系统。客户机系统310可实现系统100,以及其他元素。服务器系统330可实现内容递送平台332,以及其他元素。内容递送平台332还可包括聚合资源334。服务器系统340可实现发布应用342,以及其他元素。发布应用342还可包括聚合所指对象120。
[0044] 客户机系统310和相应的服务器系统330、340可使用相应的通信信号322-1、322-2经由相应的通信介质320-1、320-2彼此通信。在一个实施例中,例如,通信介质
320-1、320-2可包括有线或无线通信介质。在一个实施例中,通信信号322-1可包括具有聚合信息且在聚合管理器组件130和内容递送平台332之间传递的聚合消息。例如,聚合消息可包括对内容递送平台332的控制指示、聚合内容102、一个或多个聚合控制参数222等等。在一个实施例中,通信信号322-2可包括具有发布信息并在发布组件210和发布应用
342之间传递的发布消息。例如,发布消息可包括对发布应用342的控制指示、聚合所指对象120等等。
[0045] 在一个实施例中,内容递送平台332可接收聚合内容102,并由内容递送平台332将该聚合内容102存储为聚合资源334。内容递送平台332和/或聚合管理器组件130可任选地在不同的格式——诸如显示格式、web聚合格式等等——之间转译聚合内容102。聚合资源334可由其他电子设备使用聚合所指对象120或其他引用技术来访问。
[0046] 图4示出了集中式系统400的框图。集中式系统400可在单个计算实体中实现系统100、200的全部结构和/或操作。在一个实施例中,例如,集中式系统400可完全在单个计算设备内实现系统100、200的结构和/或操作。
[0047] 上述实施例的操作可参考一个或多个逻辑流程来进一步描述。可以理解,除非另外指明,否则代表性的逻辑流程不一定要按所呈现的次序或者按任何特定次序来执行。此外,关于逻辑流程描述的各种活动可按串行或并行的方式执行。视给定一组设计和性能约束所需,逻辑流程可使用所述实施例的一个或多个硬件元件和/或软件元件或替换元件来实现。例如,逻辑流程可被实现为供逻辑设备(例如,通用或专用计算机)执行的逻辑(例如,计算机程序指令)。
[0048] 图5示出逻辑流程500的一个实施例。逻辑流程500可表示由在此所描述的一个或多个实施例(诸如系统100、200)所执行的操作中的部分或全部。
[0049] 在图5中示出的所示实施例中,在框502,逻辑流程500可从安排用于由客户机计算机执行的内容生产组件接收聚合内容。例如,客户机系统300可包括系统100,后者包括内容生产组件110和聚合管理器组件130。内容生产者可使用内容生产组件110从本地数据存储或远程数据存储检索聚合内容102。内容生产者还可使用内容生产组件110来生成聚合内容102。聚合管理器组件130可从内容生产组件110接收聚合内容102。
[0050] 在框504,逻辑流程500可通过内容生产组件提供聚合对话以使用内容递送平台聚合该聚合内容。例如,内容生产者可能希望对聚合内容102进行聚合。内容生产者可利用内容生产组件110的GUI向内容生产组件110发送控制指示104以发起对聚合管理器组件130的操作。聚合管理器组件130可通过内容生产组件110提供聚合对话以发起使用内容递送平台332聚合该聚合内容102所需的聚合操作。聚合对话可向内容生产者请求用于与内容递送平台332交互的信息,并代表内容生产者和内容生产组件110将该信息传达给内容递送平台332。
[0051] 在框506,逻辑流程500可聚合该聚合内容以形成可使用聚合所指对象经由网络从该内容递送平台访问的聚合资源。例如,聚合管理器组件130可聚合该聚合内容102以形成可使用聚合所指对象120经由网络(例如,介质320-1、320-2)从内容递送平台332访问的聚合资源334。例如,查看的用户可激活聚合所指对象120(例如,选择并点击)以检索、访问、或查看该聚合资源334。聚合管理器组件130、或内容递送平台332可对聚合内容102做一些工作以使其更适于聚合,诸如生成HTML、JavaScript、XAML、调整对象大小等等。
[0052] 除了自动将聚合内容102聚合到内容递送平台332之外,聚合管理器组件130可使用聚合对话修改被内容递送平台332存储为聚合资源334的聚合内容102。例如,修改操作可包括将聚合内容102重新发布到内容递送平台332、更新内容递送平台332所存储的聚合内容102、或从内容递送平台332移除一些或所有聚合内容102。
[0053] 图6示出逻辑流程600的一个实施例。逻辑流程600可表示由在此所描述的一个或多个实施例所执行的操作中的部分或全部。具体地,逻辑流程600可提供系统100、200、300或400所执行的聚合和发布操作的示例性实现。
[0054] 在图6中示出的所示实施例中,在框602,逻辑流程600可始于内容生产者打开聚合内容102(诸如电子表格文档)。
[0055] 在框604,逻辑流程600可从内容生产应用110的上下文内经由聚合管理器组件130提供聚合对话。例如,内容生产者可经由输入设备发送控制指示104以选择对聚合对话所提供的“聚合内容”的菜单选项。聚合对话可交互式地引导内容生产者通过关于内容递送平台的聚合操作,包括发现操作者帐户和内容递送平台、创建操作者帐户、执行诸如对内容生产者或设备的认证之类的安全操作、设置内容递送平台所提供的某些聚合特征或选项、指定是要聚合部分还是所有的聚合内容102、将聚合内容102从内容生产组件110传递给内容递送平台332、聚合或发布聚合内容102(例如,作为web订阅源的一部分)、管理聚合内容102的聚合所指对象120、发布供他人(经由推或拉技术)访问(作为聚合资源334被存储的)聚合内容102的聚合所指对象120、以及为了将内容聚合到在线聚合服务通常所执行的任何其他聚合操作。
[0056] 在菱形606,逻辑流程600可确定内容生产者是否已经登录到单个操作者帐户。单个操作者帐户可包括允许内容生产者使用单个操作者帐户登录到多个网站的登录服务TM
(或其他统一的帐户管理技术)。单个登录服务的示例可包括WINDOWS LIVE ID帐户。当内容生产者已经登录到单个操作者帐户时,在菱形608,作出关于该单个操作者帐户是否与一个或多个内容递送平台332相关联的确定。当该单个操作者帐户与一个或多个内容递送平台332相关联时,内容生产者可选择用于内容递送平台332的操作者帐户。当该单个操作者帐户不与一个或多个内容递送平台332相关联时,在框614,聚合对话可自动创建用于内容递送平台332的操作者帐户。
[0057] 在菱形606,逻辑流程600可确定内容生产者未登录到单个操作者帐户。在框610,当存在现有的单个操作者帐户时,聚合对话可自动地向该现有的单个操作者帐户提供登录信息、或者从内容生产者请求登录信息并将该登录信息提供给该现有的单个操作者帐户。在框610,当没有该内容生产者的现有的单个操作者帐户时,聚合对话可自动为该内容生产者创建单个操作者帐户、或者从内容生产者请求操作者信息并将该操作者信息提供给该单个登录服务以创建用于该内容生产者的单个操作者帐户。
[0058] 在框612,逻辑流程600可接收表示该内容生产者是希望创建用于内容递送平台332的新操作者帐户还是选择用于内容递送平台332的现有操作者帐户的控制指示104。控制指示104可导致聚合管理器组件130在框614创建用于内容递送平台332的新操作者帐户和在框616选择用于内容递送平台332的已创建的操作者帐户。控制指示104可另选地使聚合管理器组件130跳过操作者帐户生成并直接在框616选择用于内容递送平台332的现有操作者帐户。
[0059] 在菱形620,逻辑流程600可接收控制指示104以聚合一个或多个聚合内容102。这可包括将聚合内容102从客户机系统310传递给服务器系统330、以及传递一个或多个聚合控制参数220以控制对聚合内容102的聚合,以及其他聚合操作。例如,聚合控制参数
220可指示聚合内容102的哪些部分要被聚合。应理解,出于时间效率的目的,在内容生产者选择内容递送平台332所提供的聚合特征的同时可在后台模式下执行文件传递操作。这在聚合内容102包括较大的数据集时可能是特别期望的。一旦内容递送平台332接收聚合内容102和任何聚合控制参数220,就可执行任何必需的文件转译或文件转换以形成聚合资源334、以网络可访问方式存储该聚合资源334、向订阅者发出任何对聚合资源334的通知、以及以其他方式完成该聚合过程。内容递送平台332随后可将聚合资源334的聚合所指对象120发送给聚合管理器组件130。
[0060] 另外地或另选替换地,应理解任何文件转译或文件转换可以在聚合之前、期间或之后发生。例如,内容递送平台332可在接收到访问聚合资源334的请求之后执行这些操作,或者内容递送平台332可将聚合资源334发送给另一主机(诸如Office Live),在执行时使该主机将该文档转译成web浏览器可读的东西(例如,如HTML等)。
[0061] 当在框620控制指示104规定仅对聚合内容102的一个集合进行聚合时,聚合管理器组件130可用内容递送平台332对聚合内容102的该一个集合进行聚合以形成由服务器系统300的内容递送平台332所存储的聚合资源334。在框622,内容递送平台332随后可返回引用聚合资源334的单个聚合所指对象120。当在菱形620控制指示104规定对聚合内容102的多个集合进行聚合时,聚合管理器组件130可用内容递送平台332对聚合内容102的该多个集合进行聚合以形成由服务器系统330的内容递送平台332所存储的聚合资源334。在框624,内容递送平台332随后可返回引用相应聚合资源334的多个聚合所指对象120。
[0062] 一旦聚合管理器组件130接收到这一个或多个聚合所指对象120,聚合管理器组件130就将该些聚合所指对象120转发至发布组件210。在框626,发布组件210可将聚合所指对象120发送至服务器系统340的发布应用342。发布应用342可将聚合所指对象120作为发布(诸如博客)的一部分进行发布。用户随后可使用这一个或多个聚合所指对象120来访问这一个或多个聚合资源334。例如,用户可利用计算机或web浏览器来访问具有呈现该些聚合所指对象120的博客的网页。用户可激活一个或多个聚合所指对象120以查看任何对应的聚合资源334。
[0063] 在各种实施例中,聚合管理器组件130(和聚合所指对象120)可以编程地来访问,因此通过客户机的聚合可被自动化。此外,聚合管理器组件130可包括允许供应商或第三方为各种内容递送平台添加聚合特征或其他增强能力的可插入聚合管理器组件。另外,聚合管理器组件130(和聚合所指对象120)可自动将聚合内容102发布到发布应用或平台,诸如用户的个人页面或社区页面(例如,MySpace、Facebook等),而不一定要求用户实际地在该发布应用或平台中插入聚合所指对象120(例如,URL)。经聚合内容102可立即在用户的页面上显示而无需用户的任何进一步工作。还值得注意的是聚合对话可被用来生成用于内容递送平台332的操作者帐户、或用于另一系统的操作者帐户,诸如单个登录帐户(例如,来自Office Live)。在一些情形中,内容递送平台332可以不支持操作者帐户(例如,非营利性或免费服务),在这种情形下,可以省略操作者帐户操作。最后,聚合管理器组件130可允许用户指定实际对聚合内容102的哪些部分进行聚合。
[0064] 图7示出适用于实现上述各实施例的示例性计算体系结构700的实施例。计算体系结构700包括各种常见计算元素,如一个或多个处理器、协同处理器、存储器单元、芯片组、控制器、外围设备、接口、振荡器、定时设备、视频卡、音频卡、多媒体输入/输出(I/O)组件,等等。然而,各实施例不限于由计算体系结构700来实现。
[0065] 如图7所示,计算体系结构700包括处理单元704、系统存储器706以及系统总线708。处理单元704可以是市场上可买到的各种处理器中的任一种。双微处理器和其他多处理器体系结构也可用作处理单元704。系统总线708向包括但不限于系统存储器706的各系统组件提供到处理单元704的接口。系统总线708可以是若干类型的总线结构中的任何一种,这些总线结构还可互连到存储器总线(带有或没有存储器控制器)、外围总线、以及使用各类市场上可购买到的总线体系结构中的任一种的局部总线。
[0066] 系统存储器706可以包括各种类型的存储器单元,诸如只读存储器(ROM)、随机存取存储器(RAM)、动态RAM(DRAM)、双倍数据率DRAM(DDRAM)、同步DRAM(SDRAM)、静态RAM(SRAM)、可编程ROM(PROM)、可擦除可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、闪存、诸如铁电聚合物存储器等聚合物存储器、奥氏存储器、相变或铁电存储器、硅-氧化物-氮化物-氧化物-硅(SONOS)存储器、磁卡或光卡、或适于存储信息的任何其他类型的介质。在图7示出的所示实施例中,系统存储器706可包括非易失性存储器710和/或易失性存储器712。基本输入/输出系统(BIOS)可以存储在非易失性存储器710中。
[0067] 计算机702可包括各种类型的计算机可读存储介质,包括内置硬盘驱动器(HDD)714、用于读写可移动磁盘718的磁软盘驱动器(FDD)716、以及用于读写可移动光盘722(例如,CD-ROM或DVD)的光盘驱动器720。HDD 714、FDD 716、以及光盘驱动器720可分别由HDD接口724、FDD接口726和光盘驱动器接口728连接到系统总线708。用于外置驱动器实现的HDD接口724可包括通用串行总线(USB)和IEEE 1394接口技术中的至少一种或两者。
[0068] 驱动器及相关联的计算机可读介质提供了对数据、数据结构、计算机可执行指令等的易失性和/或非易失性存储。例如,多个程序模块可存储在驱动器和存储器单元710、712中,包括操作系统730、一个或多个应用程序732、其他程序模块734和程序数据736。这一个或多个应用程序732、其他程序模块734、以及程序数据736可包括例如系统100、200的各种元素和组件。
[0069] 用户可以通过一个或多个有线/无线输入设备,例如键盘738和诸如鼠标740等定点设备将命令和信息输入到计算机702中。其他输入设备可包括话筒、红外(IR)遥控器、操纵杆、游戏垫、指示笔、触摸屏等等。这些和其他输入设备通常通过耦合到系统总线708的输入设备接口742连接到处理单元704,但也可通过诸如并行端口、IEEE 1394串行端口、游戏端口、USB端口、IR接口等其他接口连接。
[0070] 监视器744或其他类型的显示设备也经由诸如视频适配器746等接口连接到系统总线708。除了监视器744之外,计算机通常包括诸如扬声器、打印机等其他外围输出设备。
[0071] 计算机702可使用经由有线和/或无线通信至一个或多个远程计算机,诸如远程计算机748的逻辑连接在联网环境中操作。远程计算机748可以是工作站、服务器计算机、路由器、个人计算机、便携式计算机、基于微处理器的娱乐设备、对等设备或其他常见的网络节点,并且通常包括相对于计算机702描述的许多或所有元件,但为简明起见仅示出了存储器/存储设备750。所描绘的逻辑连接包括到局域网(LAN)752和/或例如广域网(WAN)754等更大的网络的有线/无线连接。这些LAN和WAN联网环境常见于办公室和公司,并且方便了诸如内联网等企业范围计算机网络,所有这些都可连接到例如因特网等全球通信网络。
[0072] 当在LAN联网环境中使用时,计算机702通过有线和/或无线通信网络接口或适配器756连接到LAN 752。适配器756可以方便到LAN 752的有线和/或无线通信,并且还可包括其上设置的用于使用适配器756的无线功能进行通信的无线接入点。
[0073] 当在WAN联网环境中使用时,计算机702可以包括调制解调器758,或被连接到WAN 754上的通信服务器,或具有用于通过WAN 754(如通过因特网)建立通信的其他装置。或为内置或为外置以及有线和/或无线设备的调制解调器758经由输入设备接口742连接到系统总线708。在联网环境中,参考计算机702所描述的程序模块,或其某些部分,可以存储在远程存储器/存储设备750中。应该理解,所示网络连接是示例性的,并且可以使用在计算机之间建立通信链路的其他手段。
[0074] 计算机702可操作来使用IEEE 802标准家族来与有线和无线设备或实体进行通信,这些实体例如是在操作上安置成与例如打印机、扫描仪、台式和/或便携式计算机、个人数字助理(PDA)、通信卫星、任何一件与无线可检测标签相关联的设备或位置(例如,电话亭、报亭、休息室)以及电话进行无线通信(例如,IEEE 802.11空中调制技术)的无线TM设备。这至少包括Wi-Fi(即无线保真)、WiMax和蓝牙 无线技术。由此,通信可以是与常规网络相同的预定义的结构,或者,只是至少两台设备之间的特别通信。Wi-Fi网络使用称为IEEE 802.11x(a、b、g等等)的无线电技术来提供安全、可靠、快速的无线连接。Wi-Fi网络可用于将计算机彼此连接、连接到因特网以及连接到有线网络(使用IEEE 802.3相关介质和功能)。
[0075] 图8示出适用于实现上述各实施例的示例性通信体系结构800的框图。通信体系结构800包括各种常见通信元件,如发射机、接收机、收发机、无线电装、网络接口、基带处理器、天线、放大器、滤波器,等等。然而,各实施例不限于由通信体系结构800来实现。
[0076] 如图8所示,通信体系结构800包括一个或多个客户机802和服务器804。客户机802可实现客户机系统310、400。服务器804可实现服务器系统330、340。客户机802和服务器804在操作上连接到可被用来存储相应客户机802和服务器804本地的信息(如cookie和/或相关联的上下文信息)的一个或多个相应客户机数据存储808和服务器数据存储810。例如,数据存储808、810可存储聚合内容102的一个或多个集合。
[0077] 客户机802和服务器804可以使用通信框架806在彼此之间传递信息。通信框架806可以实现任何公知通信技术,如适用于与分组交换网络(例如,诸如因特网等公共网络、诸如企业内联网等专有网络,等等)、电路交换网络(例如,公共交换电话网)、或分组交换网络和电路交换网络的组合(使用合适的网关和转换器)一起使用的技术。客户机802和服务器804可以包括被设计成可与通信框架806进行互操作的各种类型的标准通信元件,如一个或多个通信接口、网络接口、网络接口卡(NIC)、无线电装置、无线发射机/接收机(收发机)、有线和/或无线通信介质、物理连接器等。作为示例而非限制,通信介质包括有线通信介质和无线通信介质。有线通信介质的示例可以包括导线、电缆、金属线、印刷电路板(PCB)、背板、交换光纤、半导体材料、双绞线、同轴电缆、光纤、所传播的信号等。无线通信介质的示例可以包括声学、射频(RF)频谱、红外和其他无线介质。客户机802和服务器804之间的一种可能的通信可以是以适用于在两个或更多计算机进程之间传输的数据包的形式。数据包可以包括,例如,cookie和/或相关联的上下文信息。
[0078] 可以使用硬件元件、软件元件或两者的组合来实现各种实施例。硬件元件的示例可以包括设备、组件、处理器、微处理器、电路、电路元件(例如,晶体管、电阻器、电容器、电感器等)、集成路、专用集成电路(ASIC)、可编程逻辑器件(PLD)、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、存储器单元、逻辑门、寄存器、半导体器件、芯片、微芯片、芯片组等。软件元件的示例可以包括软件组件、程序、应用软件、计算机程序、应用程序、系统程序、机器程序、操作系统软件、中间件、固件、软件模块、例程、子例程、函数、方法、过程、软件接口、应用程序接口(API)、指令集、计算代码、计算机代码、代码段、计算机代码段、文字、值、符号、或其任意组合。确定一实施例是否使用硬件元件和/或软件元件来实现可视给定实现所需根据任何数量的因素而变化,这些因素如所需计算速率、功率级、耐热性、处理周期预算、输入数据速率、输出数据速率、存储器资源、数据总线速度以及其他设计或性能约束。
[0079] 一些实施例可包括制品。制品可包括用于存储逻辑的存储介质。存储介质的示例可包括能够存储电子数据的一种或多种类型的计算机可读存储介质,包括易失性存储器或非易失性存储器、可移动或不可移动存储器、可擦除或不可擦除存储器、可写或可重写存储器等。逻辑的示例可包括各种软件元件,诸如软件组件、程序、应用软件、计算机程序、应用程序、系统程序、机器程序、操作系统软件、中间件、固件、软件模块、例程、子例程、函数、方法、过程、软件接口、应用程序接口(API)、指令集、计算代码、计算机代码、代码段、计算机代码段、文字、值、符号、或其任意组合。例如,在一个实施例中,制品可以存储可执行计算机程序指令,该指令在由计算机执行时使得该计算机执行根据所描述的各实施方式的一种方法和/或操作。可执行计算机程序指令可包括任何合适类型的代码,诸如源代码、已编译代码、已解释代码、可执行代码、静态代码、动态代码等。可执行计算机程序指令可根据用于指示计算机执行特定功能的预定义的计算机语言、方式或句法来实现。这些指令可使用任何合适的高级、低级、面向对象、可视、已编译和/或已解释编程语言来实现。
[0080] 一些实施例可使用表述“一个实施例”和“一实施例”及其派生词来描述。这些术语意味着结合该实施例描述的特定特征、结构、或特性包括在至少一个实施例中。出现在说明书中各个地方的短语在“一个实施例中”不必全都指的是同一实施例。
[0081] 可以用表述“耦合”和“连接”及其派生词对一些实施例进行描述。这些术语不必旨在互为同义词。例如,可以用术语“连接”和/或“耦合”对一些实施例进行描述,以表示两个或更多个元件彼此直接物理或电接触。然而,术语“耦合”也可以指两个或更多个元件彼此并非直接接触,但是仍然彼此协作或交互。
[0082] 要强调的是,提供了本发明的摘要以符合37C.F.R.1.72(b)节,该节要求可使读者快速确定本技术公开的特性的摘要。应当这样理解,摘要将不用于解释或限制权利要求书的范围或含义。此外,由上述“详细描述”可见,将各种特征组合在单个实施例中是为了使公开内容流畅。这种公开方式不应被解释为反映了这样一种意图,即所要求保护的实施例需要比各权利要求清楚记载的特征要多的特征。相反,如所附权利要求书所反映,发明性的主题存在于比单个已公开实施例的所有特征少的特征中。从而,据此将所附权利要求结合进详细描述中,其中每个权利要求独立地代表一个单独的实施例。在所附的各权利要求中,术语“包含”和“在其中”分别用作术语“包括”和“其中”的等价词。而且,术语“第一”、“第二”、“第三”等等只用作标记,而不旨在将数字要求强加于其对象上。
[0083] 尽管用结构特征和/或方法动作专用的语言描述了本主题,但可以理解,所附权利要求书中定义的主题不必限于上述具体特征或动作。更确切而言,上述具体特征和动作是作为实现权利要求的示例形式公开的。