CN104067262A - 服务器侧最小下载和差错故障转移 - Google Patents

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

Info

Publication number
CN104067262A
CN104067262A CN201380006024.1A CN201380006024A CN104067262A CN 104067262 A CN104067262 A CN 104067262A CN 201380006024 A CN201380006024 A CN 201380006024A CN 104067262 A CN104067262 A CN 104067262A
Authority
CN
China
Prior art keywords
electronic page
page
increment
server
server computer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201380006024.1A
Other languages
English (en)
Other versions
CN104067262B (zh
Inventor
A·吉特勒曼
P·M·莫都瓦努
S·J·克罗克特
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of CN104067262A publication Critical patent/CN104067262A/zh
Application granted granted Critical
Publication of CN104067262B publication Critical patent/CN104067262B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0709Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a distributed system consisting of a plurality of standalone computer nodes, e.g. clusters, client-server systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/951Indexing; Web crawling techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

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

Description

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

Claims (12)

1.一种服务器计算机,包括:
用于存储可执行程序代码的存储器;以及
功能上耦合至所述存储器的处理器,所述处理器响应包含在所述程序代码中的计算机可执行指令并用于:
接收电子页面请求;
计算已知静态基准电子页面与所请求的电子页面之间的增量,所述静态基准电子页面包括利用主电子页面的没有内容的电子页面,所述主电子页面包括与网站相关联的电子页面的共享内容;
确定一个或多个差错是否与呈现所计算的增量相关联;
在确定没有所述一个或多个差错时呈现仅包括所计算的增量的有效载荷;以及
在确定所述一个或多个差错与呈现所计算的增量相关联时故障转移至一个或多个选项。
2.如权利要求1所述的服务器计算机,其特征在于,所述处理器在呈现仅包括所计算的增量的有效载荷时用于:
利用第一输出缓冲器来执行与呈现所述有效载荷相关联的逻辑;
在第二输出缓冲器中将可更新内容包装在知晓与呈现所述有效载荷相关联的逻辑的专用控件中;
丢弃所述第一输出缓冲器;以及
仅利用所述第二输出缓冲器来生成所述有效载荷,所述有效载荷包括所述可更新内容。
3.如权利要求2所述的服务器计算机,其特征在于,所述可更新内容包括所请求的电子页面的内容区段和元数据。
4.如权利要求3所述的服务器计算机,其特征在于,所述内容区段包括以下各项中的一个或多个:标记文本、脚本、样式表、隐藏文件、统一资源定位符(URL)和页面标题。
5.如权利要求4所述的服务器计算机,其特征在于,所述处理器进一步用于利用多个管理器来注册所述脚本和样式表中的一者或多者。
6.如权利要求5所述的服务器计算机,其特征在于,所述脚本和样式表中的一者或多者在呈现所述有效载荷期间作为文件列表从所述多个管理器输出。
7.如权利要求1所述的服务器计算机,其特征在于,所述处理器在确定一个或多个差错是否与呈现所计算的增量相关联时用于:
确定网站是否支持增量呈现以提供所请求的电子页面;
确定是否从搜索代理接收到电子页面请求;
确定所述主页面是否支持增量呈现;以及
确定所请求的电子页面是否具有非增量呈现控件。
8.如权利要求7所述的计算机服务器,其特征在于,在确定所请求的电子页面不具有非增量呈现控件时,所述处理器进一步用于确定所述主页面最近是否已被更新。
9.如权利要求8所述的服务器计算机,其特征在于,在确定所述主页面最近未被更新时,所述处理器进一步用于:
确定是否存在针对呈现所请求的电子页面的完整页面下载的安全原因;以及
确定所请求的电子页面的所述主页面是否匹配先前请求。
10.如权利要求7所述的服务器计算机,其特征在于,所述处理器在故障转移到一个或多个选项时用于在确定所述网站不支持增量呈现以提供所请求的电子页面、确定从搜索代理接收到所述电子页面请求以及确定所请求的电子页面具有非增量呈现控件时响应于所述电子页面请求来返回完整呈现的电子页面。
11.如权利要求8所述的服务器计算机,其特征在于,所述处理器在故障转移至一个或多个选项时用于返回刷新消息。
12.如权利要求9所述的服务器计算机,其特征在于,所述处理器在故障转移至一个或多个选项时用于基于以下各项中的至少一者将所述请求重定向至所述网站的起始页面:
针对呈现所请求的电子页面的完整页面下载的安全原因以及;
当所请求的电子页面无法匹配所述先前请求时。
CN201380006024.1A 2012-01-19 2013-01-16 服务器侧最小下载和差错故障转移 Active CN104067262B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/353,963 US9846605B2 (en) 2012-01-19 2012-01-19 Server-side minimal download and error failover
US13/353,963 2012-01-19
PCT/US2013/021612 WO2013109553A1 (en) 2012-01-19 2013-01-16 Server-side minimal download and error failover

Publications (2)

Publication Number Publication Date
CN104067262A true CN104067262A (zh) 2014-09-24
CN104067262B CN104067262B (zh) 2016-12-21

Family

ID=48798149

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201380006024.1A Active CN104067262B (zh) 2012-01-19 2013-01-16 服务器侧最小下载和差错故障转移

Country Status (4)

Country Link
US (1) US9846605B2 (zh)
EP (1) EP2805249A4 (zh)
CN (1) CN104067262B (zh)
WO (1) WO2013109553A1 (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8700691B2 (en) 2011-12-05 2014-04-15 Microsoft Corporation Minimal download and simulated page navigation features
US10289743B2 (en) 2012-01-19 2019-05-14 Microsoft Technology Licensing, Llc Client-side minimal download and simulated page navigation features
US8924850B1 (en) * 2013-11-21 2014-12-30 Google Inc. Speeding up document loading
CN109542688B (zh) * 2018-11-28 2023-05-30 深圳市瑞云科技有限公司 一种解决云渲染出错的方法
CN113672829B (zh) * 2021-07-20 2024-03-26 北京达佳互联信息技术有限公司 页面展示方法、装置、电子设备及存储介质
US11663615B1 (en) 2022-07-29 2023-05-30 Content Square SAS Pageview payload storage and replay system

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080228773A1 (en) * 2007-03-14 2008-09-18 Hand Held Products, Inc. Apparatus and method for data input device
US7434163B2 (en) * 2002-05-31 2008-10-07 Sap Aktiengesellschaft Document structures for delta handling in server pages
US7487261B1 (en) * 2002-02-22 2009-02-03 Digital River, Inc. Delta caching service
US20090300709A1 (en) * 2008-06-03 2009-12-03 International Business Machines Corporation Automated correction and reporting for dynamic web applications

Family Cites Families (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5781714A (en) 1994-05-27 1998-07-14 Bitstream Inc. Apparatus and methods for creating and using portable fonts
US6396500B1 (en) 1999-03-18 2002-05-28 Microsoft Corporation Method and system for generating and displaying a slide show with animations and transitions in a browser
US6691176B1 (en) 1999-11-04 2004-02-10 Microsoft Corporation Method for managing client services across browser pages
US7363361B2 (en) 2000-08-18 2008-04-22 Akamai Technologies, Inc. Secure content delivery system
US6820133B1 (en) 2000-02-07 2004-11-16 Netli, Inc. System and method for high-performance delivery of web content using high-performance communications protocol between the first and second specialized intermediate nodes to optimize a measure of communications performance between the source and the destination
US7058700B1 (en) * 2000-07-13 2006-06-06 Oracle International Corporation Delta caching
US8271333B1 (en) * 2000-11-02 2012-09-18 Yahoo! Inc. Content-related wallpaper
JP2002189618A (ja) 2000-12-21 2002-07-05 Hitachi Information Systems Ltd 差分キャッシュを用いたwwwサーバとwwwブラウザの処理方法、およびそのプログラム
US6931598B2 (en) * 2001-03-30 2005-08-16 Intel Corporation Dynamic web list display
US7185063B1 (en) 2001-06-22 2007-02-27 Digital River, Inc. Content delivery network using differential caching
US7092997B1 (en) * 2001-08-06 2006-08-15 Digital River, Inc. Template identification with differential caching
US7188214B1 (en) * 2001-08-07 2007-03-06 Digital River, Inc. Efficient compression using differential caching
AU2002332812A1 (en) 2001-09-04 2003-03-18 Soft2B Llc Browser-to-browser, dom-based, peer-to-peer communication with delta synchronization
US7346843B2 (en) 2001-09-18 2008-03-18 International Business Machines Corporation Low-latency, incremental rendering in a content framework
US20030135399A1 (en) * 2002-01-16 2003-07-17 Soori Ahamparam System and method for project optimization
US7296051B1 (en) 2002-02-19 2007-11-13 Digital River, Inc. Predictive predownload of templates with delta encoding
US7600021B2 (en) 2002-04-03 2009-10-06 Microsoft Corporation Delta replication of source files and packages across networked resources
US7703015B2 (en) 2002-04-30 2010-04-20 Sap Aktiengesellschaft Delta-handling in server-pages
JP2004038439A (ja) 2002-07-02 2004-02-05 Hitachi Ltd Webアクセス中継装置
ATE385589T1 (de) 2002-08-02 2008-02-15 Sap Ag Verfahren und rechnersystem zur behandlung von inkrementalen daten in klient-server kommunikation.
CA2415112A1 (en) 2002-12-24 2004-06-24 Gerald Michael O'brien System and method for real-time web fragment identification and extraction
US7904432B2 (en) 2003-01-24 2011-03-08 Hewlett-Packard Development Company, L.P. Compressed data structure for extracted changes to a database and method of generating the data structure
US7272658B1 (en) 2003-02-13 2007-09-18 Adobe Systems Incorporated Real-time priority-based media communication
US7275244B1 (en) 2003-03-18 2007-09-25 Microsoft Corporation System and method for incrementally saving web files to a web server using file hash values
US7984037B2 (en) 2004-07-16 2011-07-19 Canon Kabushiki Kaisha Method for evaluating xpath-like fragment identifiers of audio-visual content
US7543247B2 (en) * 2004-07-27 2009-06-02 International Business Machines Corporation Efficient method of migrating Lotus Domino documents to a non-Domino web server, while preserving sections, using portable javascript
CA2619141C (en) 2004-12-23 2014-10-21 Solera Networks, Inc. Method and apparatus for network packet capture distributed storage system
US7831556B2 (en) 2005-03-17 2010-11-09 International Business Machines Corporation Differential rendering and refreshing a portal page with a page delta
US7801970B2 (en) 2005-12-08 2010-09-21 International Business Machines Corporation Method and system for efficiently handling navigational state in a portal
US7861224B2 (en) * 2006-06-22 2010-12-28 Microsoft Corporation Delta compression using multiple pointers
US20080077653A1 (en) 2006-09-26 2008-03-27 Morris Robert P Methods, systems, and computer program products for enabling dynamic content in a markup-language-based page using a dynamic markup language element
US8745183B2 (en) * 2006-10-26 2014-06-03 Yahoo! Inc. System and method for adaptively refreshing a web page
US20090015599A1 (en) 2007-07-09 2009-01-15 Yahoo! Inc. Draggable mechanism for identifying and communicating the state of an application
US8127233B2 (en) 2007-09-24 2012-02-28 Microsoft Corporation Remote user interface updates using difference and motion encoding
US9460229B2 (en) 2007-10-15 2016-10-04 Viasat, Inc. Methods and systems for implementing a cache model in a prefetching system
US9269059B2 (en) * 2008-03-25 2016-02-23 Qualcomm Incorporated Apparatus and methods for transport optimization for widget content delivery
US20090259934A1 (en) 2008-04-11 2009-10-15 Go Hazel Llc System and method for rendering dynamic web pages with automatic ajax capabilities
US20090259552A1 (en) 2008-04-11 2009-10-15 Tremor Media, Inc. System and method for providing advertisements from multiple ad servers using a failover mechanism
US20110029899A1 (en) 2009-08-03 2011-02-03 FasterWeb, Ltd. Systems and Methods for Acceleration and Optimization of Web Pages Access by Changing the Order of Resource Loading
WO2012009441A2 (en) 2010-07-13 2012-01-19 Motionpoint Corporation Dynamic language translation of web site content
US9646100B2 (en) 2011-03-14 2017-05-09 Verisign, Inc. Methods and systems for providing content provider-specified URL keyword navigation
US10353563B2 (en) 2011-06-08 2019-07-16 Citrix Systems, Inc. Methods and system for locally generated gesture and transition graphics interaction with terminal control services
US8700691B2 (en) 2011-12-05 2014-04-15 Microsoft Corporation Minimal download and simulated page navigation features
US10289743B2 (en) 2012-01-19 2019-05-14 Microsoft Technology Licensing, Llc Client-side minimal download and simulated page navigation features

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7487261B1 (en) * 2002-02-22 2009-02-03 Digital River, Inc. Delta caching service
US7434163B2 (en) * 2002-05-31 2008-10-07 Sap Aktiengesellschaft Document structures for delta handling in server pages
US20080228773A1 (en) * 2007-03-14 2008-09-18 Hand Held Products, Inc. Apparatus and method for data input device
CN101689194A (zh) * 2007-03-14 2010-03-31 手持产品公司 用于数据输入装置的设备和方法
US20090300709A1 (en) * 2008-06-03 2009-12-03 International Business Machines Corporation Automated correction and reporting for dynamic web applications

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
ALI MESBAH, ET AL.: "Exposing the Hidden-Web Induced by Ajax", 《DELFT UNIVERSITY OF TECHNOLOGY SOFTWARE ENGINEERING RESEARCH GROUP TECHNICAL REPORT SERIES》 *

Also Published As

Publication number Publication date
US20130191492A1 (en) 2013-07-25
EP2805249A4 (en) 2016-01-06
WO2013109553A1 (en) 2013-07-25
CN104067262B (zh) 2016-12-21
EP2805249A1 (en) 2014-11-26
US9846605B2 (en) 2017-12-19

Similar Documents

Publication Publication Date Title
CN103001963B (zh) 用于最小下载和模拟的页面导航特征的方法和系统
US11132420B2 (en) Utilizing server pre-processing to deploy renditions of electronic documents in a computer network
US9594609B2 (en) Multi-application workflow integration
JP6463393B2 (ja) テナント移行にわたるテナント・データのリカバリ
CN104067276A (zh) 客户机侧最小下载和模拟的页面导航特征
US20130219307A1 (en) System and method for runtime user interface management
CN112800370B (zh) 业务单据的处理方法、装置、计算机设备和存储介质
CN104067262A (zh) 服务器侧最小下载和差错故障转移
CN107748740A (zh) 电子表格对象的无代码共享
CN103959281A (zh) 用于将第三方内容与在线文档签名相关联的方法
EP2645295A2 (en) Secure and reliable remote data protection
CN104081748A (zh) 文档通信运行时接口
CN104704468A (zh) Web应用程序的跨系统安装
CN105138313A (zh) 客户机应用程序和网页集成
CN111796727B (zh) 一种界面数据处理方法及装置
CN111754305A (zh) 产品定制方法、装置、设备和存储介质
US8959426B1 (en) Loading customer-supplied network page generation code
CN103562876A (zh) 在临时断线期间将请求重定向至次要位置
CN102591710A (zh) 共享对象表示
CN110825425A (zh) 配置数据管理方法及装置、电子设备、存储介质
CN108400929B (zh) 数据处理方法、装置、计算设备和介质
CN103597452A (zh) 灾难数据中心中的爬行新鲜度
CN113064987B (zh) 数据处理方法、装置、电子设备、介质和程序产品
CN102215252A (zh) 用于实现瘦客户机的四层体系结构
CN113296912B (zh) 任务处理方法及装置、系统、存储介质、电子设备

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150803

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20150803

Address after: Washington State

Applicant after: Micro soft technique license Co., Ltd

Address before: Washington State

Applicant before: Microsoft Corp.

C14 Grant of patent or utility model
GR01 Patent grant