服务器侧最小下载和差错故障转移转让专利

申请号 : CN201380006024.1

文献号 : CN104067262B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : A·吉特勒曼P·M·莫都瓦努S·J·克罗克特

申请人 : 微软技术许可有限责任公司

摘要 :

提供了一种使用最小下载特征并包括差错故障转移功能的服务器计算架构。一种服务器计算机可接收电子页面请求,并且计算已知静态基准电子页面和所请求的电子页面之间的增量。该静态基准电子页面可包括利用了主电子页面的没有内容的电子页面。该主电子页面可包括与网站相关联的电子页面的共享内容。该服务器计算机可进一步确定一个或多个差错是否与呈现所计算的增量相关联,在确定没有一个或多个差错时呈现仅包括所计算的增量的有效载荷,而在确定一个或多个差错与呈现所结算的增量相关联时故障转移至一个或多个选项。

权利要求 :

1.一种服务器计算机,包括:

用于存储可执行程序代码的存储器;以及

功能上耦合至所述存储器的处理器,所述处理器响应包含在所述程序代码中的计算机可执行指令并用于:接收电子页面请求;

计算已知静态基准电子页面与所请求的电子页面之间的增量,所述静态基准电子页面包括利用主电子页面的没有内容的电子页面,所述主电子页面包括与网站相关联的电子页面的共享内容,其中,计算所述增量包括:将所述电子页面的页面控件安排为分层,

对于所述页面控件中的每一个,使用在所述分层上的迭代来呈现在所述静态基准页面和所述主电子页面之间的第一增量,所述第一增量包括对于所请求的电子页面的标记页面,在第一输出缓冲器中累积所述第一增量,

使用所累积的第一增量,使用在所述分层上的迭代来呈现包括对于所述页面控件中的每一个的可更新内容的第二增量,并且在第二输出缓冲器中累积所述第二增量作为对于所接收的请求的所计算的增量;

确定一个或多个差错是否与呈现所计算的增量相关联;以及在确定所述一个或多个差错与呈现所计算的增量相关联时故障转移至一个或多个选项。

2.如权利要求1所述的服务器计算机,其特征在于,所述处理器还用于:丢弃所述第一输出缓冲器;以及

仅利用所述第二输出缓冲器来生成有效载荷,所述有效载荷包括所述可更新内容。

3.如权利要求2所述的服务器计算机,其特征在于,所述可更新内容包括所请求的电子页面的内容区段和元数据。

4.如权利要求3所述的服务器计算机,其特征在于,所述内容区段包括以下各项中的一个或多个:标记、文本、脚本、样式表、隐藏文件、统一资源定位符(URL)和页面标题。

5.如权利要求4所述的服务器计算机,其特征在于,所述处理器进一步用于利用多个管理器来注册所述脚本和样式表中的一者或多者。

6.如权利要求5所述的服务器计算机,其特征在于,所述脚本和样式表中的一者或多者在呈现所述有效载荷期间作为文件列表从所述多个管理器输出。

7.如权利要求1所述的服务器计算机,其特征在于,所述处理器在确定一个或多个差错是否与呈现所计算的增量相关联时用于:确定网站是否支持增量呈现以提供所请求的电子页面;

确定是否从搜索代理接收到电子页面请求;

确定所述主页面是否支持增量呈现;以及

确定所请求的电子页面是否具有非增量呈现控件。

8.如权利要求7所述的计算机服务器,其特征在于,在确定所请求的电子页面不具有非增量呈现控件时,所述处理器进一步用于确定所述主页面最近是否已被更新。

9.如权利要求8所述的服务器计算机,其特征在于,在确定所述主页面最近未被更新时,所述处理器进一步用于:确定是否存在针对呈现所请求的电子页面的完整页面下载的安全原因;以及确定所请求的电子页面的所述主页面是否匹配先前请求。

10.如权利要求7所述的服务器计算机,其特征在于,所述处理器在故障转移到一个或多个选项时用于在确定所述网站不支持增量呈现以提供所请求的电子页面、确定从搜索代理接收到所述电子页面请求以及确定所请求的电子页面具有非增量呈现控件时响应于所述电子页面请求来返回完整呈现的电子页面。

11.如权利要求8所述的服务器计算机,其特征在于,所述处理器在故障转移至一个或多个选项时用于返回刷新消息。

12.如权利要求9所述的服务器计算机,其特征在于,所述处理器在故障转移至一个或多个选项时用于基于以下各项中的至少一者将所述请求重定向至所述网站的起始页面:针对呈现所请求的电子页面的完整页面下载的安全原因以及;

当所请求的电子页面无法匹配所述先前请求时。

说明书 :

服务器侧最小下载和差错故障转移

[0001] 背景
[0002] 计算时代已显著影响了消费者知识库,这进而要求设备和应用提供者提供用户友好且丰富的应用功能。协作或内容管理系统提供自然地方来共享思想和信息,部分地是由于为多个用户提供的访问和管理能力,丰富的定制选项,以及轻量协作环境。然而,一般问题涉及在导航操作期间减少发送到网页的数据量。一种解决方案使用数据压缩和非导航操作,这需要客户端请求特定数据改变。不幸的是,这一技术的缺点包括:a)网页的完整重写,b)页面的每一单独部分可分开地更新,这可能是非常昂贵且低效的,以及c)页面改变在浏览器历史中不被记录,导致前进和后退按钮或其他导航特征不像所期望的那样操作。

发明内容

[0003] 提供本概述是为了以简化的形式介绍将在以下详细描述中进一步描述的一些概念。本概述并不旨在标识所要求保护的主题的关键特征或必要特征,也不旨在用于帮助确定所要求保护的主题的范围。
[0004] 提供了一种使用最小下载特征并包括差错故障转移功能的服务器计算架构。一种服务器计算机可接收电子页面请求,并且计算已知静态基准电子页面和所请求的电子页面之间的增量。该静态基准电子页面可包括利用了主电子页面的没有内容的电子页面。该主电子页面可包括与网站相关联的电子页面的共享内容。该服务器计算机可进一步确定一个或多个差错是否与呈现所计算的增量相关联,在确定没有一个或多个差错时呈现仅包括所计算的增量的有效载荷,而在确定一个或多个差错与呈现所结算的增量相关联时故障转移至一个或多个选项。
[0005] 通过阅读下面的详细描述并参考相关联的附图,这些及其他特点和优点将变得显而易见。可以理解,前述一般描述和以下详细描述均仅是说明性的,且不限制所要求保护的本发明。

附图说明

[0006] 图1是根据一实施例的示例性计算环境的框图;
[0007] 图2是解说根据一实施例的示例性服务器最小下载组件的框图;
[0008] 图3是解说根据一实施例的示例性电子页面的框图;
[0009] 图4是解说根据一实施例的示例性服务器最小下载过程的流程图;
[0010] 图5是解说根据一实施例的示例性差错故障转移过程的流程图;以及
[0011] 图6是解说用于实现本文描述的各个实施例的示例性计算设备的框图。

具体实施方式

[0012] 提供了一种使用最小下载特征并包括差错故障转移功能的服务器计算架构。一种服务器计算机可接收电子页面请求,并且计算已知静态基准电子页面和所请求的电子页面之间的增量。该静态基准电子页面可包括利用了主电子页面的没有内容的电子页面。该主电子页面可包括与网站相关联的电子页面的共享内容。该服务器计算机可进一步确定一个或多个差错是否与呈现所计算的增量相关联,在确定没有一个或多个差错时呈现仅包括所计算的增量的有效载荷,而在确定一个或多个差错与呈现所结算的增量相关联时故障转移至一个或多个选项。
[0013] 图1是根据一实施例的示例性计算环境100的框图。计算环境100可包括提供电子页面导航特征和功能(包括服务器最小下载和针对所请求的电子页面的差错故障转移)的处理组件、存储器组件、联网组件和/或其它组件。如图1所示,示例性计算环境100包括被用作实现页面导航机制或过程的一部分的至少一个服务器系统或服务器102以及至少一个客户端104,但不限于此。本领域技术人员将认识到,多个客户端设备/系统可被配置成使用可用的无线和/或有线基础结构和功能,来与多个服务器和/或其他组件进行通信和/交互。例如,用户可使用客户端104作为与计算设备或系统进行交互的一部分,来访问并使用多个协作、web、文件、和/或其他服务器的信息和资源,作为浏览器电子页面的一部分。可以理解,在典型交互式会话期间,用户可使用客户端104从多个物理服务机器(例如,web服务器、协作服务器、数据库服务器等)中调用并访问服务器信息和/或服务。
[0014] 如下文描述的,服务器最小下载技术在向客户端发送所请求的电子页面之前确定所请求的电子页面与静态基准电子页面之间的增量(即区别)。应当领会,上述技术利用了网页中的大部分页面共享它们的用户界面(“UI”)、脚本文件和样式表中的大部分这一事实。根据一种实现或实施例,可以利用被称为主页面的主模板文件以及使用主页面的内容页面。静态基准页面通过创建没有内容的内容页面来产生。因而,静态基准页面表示上述公共特征的快照。应当进一步领会,各种差错情形可能导致上述服务器最小下载技术失败。根据一实施例,作为故障转移过程的一部分,评估各种差错情形,并且可以向客户端发送消息来代替增量内容。
[0015] 在一个实施例中,在服务器102确定最小下载页面过渡过程要被使用时,可以使用服务器最小下载组件106作为页面导航操作期间最小下载策略的一部分。服务器102可以处理电子页面请求(例如,从电子页面108中)并且确定是要将客户端104定向到故障转移过程还是正常页面导航规程,或者计算已知静态计算电子页面与所请求的电子页面之间的增量。
[0016] 可以理解,可以包括作为提供页面导航特征和功能的一部分、与环境100的一个或多个组件进行耦合、通信、和/或交互的其他用户设备/系统。每一服务器可包括一个或多个物理服务机器,包括位于同处、位于远程、和/或分布式体系结构。终端用户可使用不同的交互式应用,包括浏览器类型的应用(诸如与智能电话、膝上型计算机、平板计算机、台式计算机、和/或其他计算机/通信接口一起使用的那些应用),用于访问环境100的特征。例如,企业用户可使用浏览器或其他应用来创建和/或访问使用浏览器类型界面的SHAREPOINT工作站。在一个实施例中,用户可使用浏览器应用或界面来利用示例性计算环境100的特征和功能,包括现有和/或未来的标准、跨浏览器兼容的标记等。
[0017] 图2是解说根据一实施例的示例性服务器最小下载组件组件106的框图。服务器最小下载组件106可包括呈现逻辑202、第一输出缓冲器204、第二输出缓冲器206、主页面208、静态页面212、有效载荷214、一个或多个管理器组件218以及专用控制222。
[0018] 根据一实施例,服务器102可以响应于来自客户端计算设备的请求来执行呈现逻辑202以呈现电子页面增量。呈现逻辑202可包括经由在应用框架(诸如来自华盛顿州雷蒙德市微软公司的ASP.NET Web应用框架)中的控件树的迭代(即,电子页面上分层安排的控件)来调用的呈现方法。在产生电子页面增量时,服务器102执行从未被使用的第一输出缓冲器204中的呈现逻辑202。有效载荷214可包括可更新内容216,其可包括被包装在知晓呈现逻辑202的专用控件222中的控件(例如,页面内容、页面描述等)。专用控件222可利用第二输出缓冲器206来将经包装的控件传递至控制树中的子节点。最终结果是第一输出缓冲器204包含不应当被发送到客户端的标记(例如,HTML)而第二输出缓冲器206仅包含应当被发送到客户端的部分(即增量)。第一输出缓冲器204随后被丢弃,而第二输出缓冲器206被服务器102用来产生发送到客户端以供呈现的有效载荷214。本领域技术人员应当理解,电子页面可不仅仅包含标记。具体地,复杂web应用中的大部分电子页面包含至脚本的引用和样式表文件。管理器组件218可被用来在服务器处理期间注册上述电子页面和文件类型。随后,在增量呈现期间,管理器组件218输出发送到客户端以供处理的文件列表220。有效载荷214可进一步包括包含必须被更新的内容区段(即,可更新内容216)以及各种元数据(未示出)的专用数据块。应当理解,有效载荷214中的信息可由客户端解析并且用来更新浏览器中所请求的电子页面上的所有可更新区段。
[0019] 如上文参考图1简要讨论的,主页面208可包括使用电子内容页面的主模板文件。主页面208可包括共享内容210,其可包括但不限于,网站中的电子页面共享的常用UI、脚本文件和样式表。静态页面212可包括基准页面,其通过创建没有内容的内容页面来创建。
[0020] 图3是解说根据一实施例的示例性电子页面108的框图。电子页面108可包括但不限于,标记和文本302、脚本304(包括至外部脚本文件和脚本的内联块的引用)、样式表306(包括至外部样式表和内联样式块的引用)、隐藏表单输入字段308、统一资源定位符(“URL”)310(例如,主电子页面表格的“动作”URL)以及页面标题312。应当理解,上述元素表示服务器102可如上所述地计算其改变的“增量”控件。具体地,上述元素可包括电子页面中随着时间经历改变的内容。
[0021] 图4是解说根据一实施例的示例性服务器最小下载过程400的流程图。在405,过程400开始,作为服务器接收对电子页面(或网页)的请求的一部分。例如,用户可使用浏览器类型的应用来向专用服务器提交对特定电子页面的URL请求。
[0022] 在410,服务器计算已知静态基准电子页面与所请求的电子页面之间的增量。如上所讨论的,静态基准电子页面可包括没有内容的电子页面,其利用包括与网站相关联的电子页面的共享内容的主电子页面。
[0023] 在415,服务器确定一个或多个差错是否与呈现所计算的增量相关联。具体地,服务器可确定可能致使最小下载策略失败的各个差错情形中的一者或多者是否出现。应当理解,如此处所定义的,“差错”是使得呈现所计算的增量变得不可能或不合理的“情形”。下文将参考图5来描述解说了各种差错情形的流程图。
[0024] 如果在415服务器确定一个或多个差错与呈现所计算的增量相关联,则过程400分支到425,其中服务器发起故障转移过程,其可包括故障转移至一个或多个选项。根据一实施例,在故障转移的情形中,服务器还可生成小消息并将其发送到客户端,而不是发送所请求的电子页面的所计算的增量。下文将参考图5来描述服务器可选择的各种故障转移选项。过程400随后从425结束。
[0025] 如果在415服务器确定没有与呈现所计算的增量相关联的差错,则过程400继续至420,其中根服务器可呈现仅包括所计算的增量的有效载荷。过程400随后从420结束。
[0026] 将领会,处理、联网、和/或其他特征可有助于提供上述服务器最小下载过程。过程400的各方面可分布至计算体系结构的其他组件、客户端、服务器或在计算体系结构的其他组件、客户端、服务器之间分布,并且其他示例和实施例不旨在限制此处描述的特征。尽管针对图4中的示例性流程图描述了一定数量和次序的操作,但可以理解,可根据所期望的实现而使用其他数量和/或次序。
[0027] 图5是解说根据一实施例的示例性差错故障转移过程500的流程图。在505,过程500开始,作为由服务器确定网站是否支持增量呈现以提供所请求的电子页面的一部分。例如,服务器可作出网站是否已经被配置成支持用于向客户端呈现包括所计算的增量的有效载荷的最小下载策略的判断。
[0028] 如果在505服务器确定不支持增量呈现,则过程500在510继续,其中服务器向客户端返回“典型的”完整呈现的电子页面(而不是增量有效载荷)。过程500随后从510结束。
[0029] 如果在505服务器确定支持增量呈现,则过程500分支到515,其中服务器确定是否从搜索代理接收到对电子页面的请求。例如,服务器可被配置成根据来自web搜索引擎的搜索请求返回作为进行web爬行的结果而接收到的完整呈现的电子页面(而不是增量有效载荷),以避免对可能从搜索返回的混淆或无意义数据进行增量呈现。
[0030] 如果在515服务器确定从搜索引擎接收到对电子页面的请求,则过程500返回至510,其中服务器向客户端返回“典型的”完整呈现的电子页面(而不是增量有效载荷)。
[0031] 如果在515服务器确定未从搜索引擎接收到对电子页面的请求,则过程500在520继续,其中服务器确定主电子页面是否支持增量呈现。如上所讨论的,主电子页面(即主页面)包括与所请求的电子页面相关联的网站的共享内容。
[0032] 如果在520服务器确定主电子页面不支持增量呈现,则过程500返回至510,其中服务器向客户端返回“典型的”完整呈现的电子页面(而不是增量有效载荷)。
[0033] 如果在520服务器确定主电子页面支持增量呈现,则过程500在525继续,其中服务器确定所请求的电子页面是否具有任何非增量呈现控件。
[0034] 如果在525服务器确定所请求的电子页面包含非增量呈现控件,则过程500返回至510,其中服务器向客户端返回“典型的”完整呈现的电子页面(而不是增量有效载荷)。
[0035] 如果在525服务器确定所请求的电子页面不包含非增量呈现控件,则过程500在530继续,其中服务器确定主电子页面最近是否已被更新。
[0036] 如果在525服务器确定主电子页面最近已经被更新,则过程500分支到550,其中服务器向客户端返回刷新消息(即,“刷新全部”消息)。过程500随后从550结束。
[0037] 如果在525服务器确定主电子页面最近未被更新,则过程500在535继续,其中服务器确定是否存在针对呈现所请求的电子页面的完整页面下载的安全原因。例如,数据安全问题可能由于与所请求的电子页面相关联的不同(即非匹配)网站集合活动而产生。响应于上述数据安全问题,服务器可故障转移至向客户端呈现完整页面下载,而不是增量有效载荷。
[0038] 如果在535服务器确定存在针对呈现所请求的电子页面的完整页面下载的安全原因,则过程500在540继续,其中服务器将电子页面请求重定向到相关联的网站的起始页面。过程500随后从540结束。
[0039] 如果在535服务器确定不存在针对呈现所请求的电子页面的完整页面下载的安全原因,则过程500分支到545继续,其中服务器确定所请求的电子页面的主页面是否匹配对电子页面的先前请求。
[0040] 如果在545确定服务器确定对所请求的电子页面的主页面不匹配对电子页面的先前请求,则过程500返回到540,其中服务器将电子页面请求重定向到相关联的网站的起始页面。
[0041] 如果在545服务器确定所请求的电子页面的主页面匹配对电子页面的先前请求,则过程500分支到555,其中服务器向客户端返回所请求的电子页面的增量呈现(即,增量有效载荷)。过程500随后从555结束。
[0042] 将领会,处理、联网、和/或其他特征可有助于提供上述差错故障转移过程。过程500的各方面可分布至计算体系结构的其他组件、客户端、服务器或在计算体系结构的其他组件、客户端、服务器之间分布,并且其他示例和实施例不旨在限制此处描述的特征。尽管针对图5中的示例性流程图描述了一定数量和次序的操作,但可以理解,可根据所期望的实现而使用其他数量和/或次序。
[0043] 尽管在此描述了某些实施例,但其他实施例是可用的,并且不应该用所描述的各实施例来限制权利要求书。针对各个实施例的示例性通信环境可包括对安全网络、非安全网络、混合网络和/或某其他网络或各网络的组合的使用。作为示例而非限制,该环境可包括诸如有线网络或直接线连接之类的有线介质,和/或诸如声学、射频(RF)、红外线之类的无线介质和/或其他有线和/或无线介质和组件。除了计算系统、设备等以外,可将各个实施例实现为计算机过程(例如,方法)、计算机程序产品或计算机可读介质之类的制品、计算机可读存储介质和/或作为各种通信结构的一部分。
[0044] 合适的编程装置包括指示计算机系统或设备执行方法中的各步骤的任何装置,例如包括由处理单元和耦合到计算机存储器的各算术逻辑电路组成的系统,该系统具有在计算机存储器中进行存储的能力,该计算机存储器包括配置来存储数据和程序指令的电子电路。示例性计算机程序产品能与任何合适的数据处理系统一起使用。尽管此处描述了一定数量和类型的组件,但可以理解,可根据各个实施例可包括其他数量和/或类型和/或配置。因此,根据所期望的实现,还可将组件功能进一步进行划分和/或将其与其他组件功能组合在一起。
[0045] 如这里所使用的术语计算机可读介质可以包括计算机存储介质。计算机存储介质可包括以用于存储诸如计算机可读指令、数据结构、程序模块、或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。系统存储器、可移动存储和不可移动存储都是计算机存储介质示例(即,存储器存储)。计算机存储介质可以包括,但不限于,RAM、ROM、电可擦除只读存储器(EEPROM)、闪存或其它存储器技术、CD-ROM、数字多功能盘(DVD)或其它光存储、磁带盒、磁带、磁盘存储或其它磁性存储设备、或可用于存储信息且可以由计算设备访问的任何其它介质。任何这样的计算机存储介质都可以是设备的一部分。
[0046] 此处描述的各实施例和示例不旨在是限制性的,并且其他实施例也是可用的。此外,上述各组件可被实现为联网、分布式和/或其他计算机实现环境的一部分。这些组件可以经由有线、无线、和/或通信网络的组合来通信。网络组件和/或各组件之间的耦合可包括任何类型、数量和/或组合的网络,且相应的网络组件包括但不限于广域网(WAN)、局域网(LAN)、城域网(MAN)、专有网络、后端网络等。
[0047] 客户计算设备/系统和服务器可以是任何类型和/或组合的基于处理器的设备或系统。另外,服务器功能可包括许多组件并包括其他服务器。在单个时态中描述的计算环境的组合可包括这种组件的多个实例。尽管特定实施例包括软件实现,但它们不限于此并且它们涵盖硬件或混合硬件/软件解决方案。其他实施例和配置是可用的。
[0048] 示例性操作环境
[0049] 现在参考图6,以下讨论旨在提供可以在其中实现本发明的各实施例的合适计算环境的简要、一般的描述。尽管将在结合在个人计算机上的操作系统上运行的应用程序执行的程序模块的一般上下文中描述本发明,但本领域的技术人员可以认识到,本发明也可结合其他类型的计算系统、设备和/或程序模块实现。
[0050] 一般而言,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、组件、数据结构和其他类型的结构。此外,本领域的技术人员将理解,本发明的实施例可以使用其他计算机系统配置来实施,包括手持式设备、多处理器系统、基于微处理器或可编程的消费电子产品、小型计算机、大型计算机等。本发明也可在其中由通过通信网络链接的远程处理设备执行任务的分布式计算环境中实现。在分布式计算环境中,程序模块可位于本地和远程存储器存储设备两者中。
[0051] 现在参考图6,将描述用于本发明的各实施例的说明性计算设备。如图6所示,计算机2包括通用服务器、台式计算机、膝上型计算机、手持式计算机、平板计算机或能够执行一个或多个应用程序的其它类型的计算机。计算机2包括至少一个中央处理单元8(“CPU”)、包括随机存取存储器18(“RAM”)和只读存储器(“ROM”)20的系统存储器12、以及将存储器耦合至CPU8的系统总线10。在ROM20中存储基本输入/输出系统,该系统包含有助于诸如在启动期间在计算机内的各元件之间传输信息的基本例程。计算机2还包括用于存储操作系统24、应用程序、以及其他程序模块(例如,应用和/或其它程序模块26)的大容量存储设备14。
[0052] 大容量存储设备14通过连接至总线10的大容量存储控制器(未示出)连接至CPU8。大容量存储设备14及其相关联的计算机可读介质为计算机2提供非易失性存储。尽管此处包含的计算机可读介质的描述指的是大容量存储设备,诸如硬盘或CD-ROM驱动器,但本领域的技术人员应明白,计算机可读介质可以是可由计算机2访问或利用的任何可用介质。
[0053] 作为示例而非限制,计算机可读介质可包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据之类的信息的任何方法或技术来实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括,但不限于,RAM、ROM、EPROM、EEPROM、闪存或其他固态存储器技术、CD-ROM、数字多功能盘(“DVD”)或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备、或能用于存储所需信息且可以由计算机2访问的任何其他介质。
[0054] 根据本发明的各实施例,计算机2可以使用通过诸如局域网、因特网等的网络4与远程计算机的逻辑连接在联网环境中操作。计算机2可以通过连接至总线10的网络接口单元16来连接到网络4。应当明白,网络接口单元16也可用于连接至其它类型的网络和远程计算系统。计算机2也可包括输入/输出控制器22,用于接收和处理来自多个其他设备,包括键盘、鼠标等(未示出)的输入。类似地,输入/输出控制器22可将输出提供给显示屏、打印机、或其他类型的输出设备。
[0055] 如以上简要地提及的,许多程序模块和数据文件可以被存储在计算机2的大容量存储设备14和RAM18中,包括适用于控制联网的个人计算机的操作的操作系统24,诸如位于华盛顿州雷德蒙市的微软公司的WINDOWS操作系统。大容量存储设备14和RAM18还可以存储一个或多个程序模块。具体而言,大容量存储设备14和RAM18可存储应用和/或程序模块26,其可包括但不限于,web应用平台、文字处理、电子表格、绘图、电子邮件、和其他应用和/或程序模块等等。应当理解,web应用平台可允许管理和供应:内联网门户、外联网、网站、文档和文件管理、协作空间、社交工具、企业搜索、业务智能、过程集成、系统集成、工作流自动化、以及第三方解决方案的核心基础结构。根据一实施例,应用和/或程序模块26可包括华盛顿州雷蒙德市的微软公司(MICROSOFT CORPORATION)的SHAREPOINT web应用平台。
[0056] 应当明白,本发明的各种实施例可被实现为(1)运行于计算机系统上的一系列计算机实现的动作或程序模块,和/或(2)计算机系统内互连的机器逻辑电路或电路模块。这种实现是取决于实现本发明的计算系统的性能需求的选择问题。因此,包括相关算法的逻辑操作可被不同地称为操作、结构设备、动作或模块。本领域技术人员将认识到,这些操作、结构设备、动作和模块可以用软件、固件、专用数字逻辑、以及其任意组合实现,而不背离如本文中阐述的权利要求内陈述的本发明精神和范围。
[0057] 尽管已经结合各示例性实施例描述了本发明,但本领域普通技术人员将理解,可以在所附权利要求的范围内对其作出许多修改。因此,并非旨在以任何方式将本发明的范围限于以上的说明,而是应该完全参照所附权利要求书来确定。