用于使通过网络的数据传输量最小化的系统和方法

文档序号:7666554阅读:170来源:国知局

专利名称::用于使通过网络的数据传输量最小化的系统和方法
技术领域
:本发明一般涉及计算机系统和网络,并且特别地涉及使需要传输通过网络的数据量最小化。
背景技术
:现今,诸如客户端计算机、服务器和因特网之类的计算机系统和网络为大家所公知。公知的web浏览器程序(诸如由AOl/M、Compuserve和RoadRunnerTM提供的web浏览器程序)被安装在客户端计算机上以经由因特网与web服务器进行交互。例如,用户可以通过web浏览器经由因特网从web服务器请求网页。网页可以是对于位于web服务器处的web应用的用户界面,并/或将数据提供给客户端计算机的用户。通常,以HTML的形式将网页下载到客户端计算机。还可以用例如XML或JSON形式将web文件下载到客户端。在web服务器与客户端计算机之间存在三类通信媒体。通常,在web服务器与因特网服务提供商("ISP")或者用于客户端计算机的其它路由器、交换机和/或网关计算机之间存在高速连接。然而,当从web服务器所请求的网页的量变得过大时,甚至连高速连接和相关联的网络设备都被淹没(overwhelm),也即"带宽,,不够。此外,某些客户端计算机具有到它们的ISP或网关计算机的相对低的连接(诸如"拨号"电话线),而且下载网页或包含许多数据的其它数据文件是费时的。本发明的一个目标是使需要从web服务器中下载到客户端计算机的数据量最小化。
发明内容本发明属于一种用于减少与针对网页的请求相关联的数据传输的计算机系统、方法和程序。响应于来自客户端计算机的对第一网页的第一请求,服务器将所述第一网页下载到客户端计算机,并且客户端计算机存储所述第一网页。响应于来自所述客户端计算机的对第二网页的第二、后续的请求,服务器将第二网页与第一网页之间的差异下载到客户端计算机。客户端计算机基于第一网页以及第二网页与第一网页之间的差异来构建所述第二网页。根据本发明的特征,所述差异包括第二网页的HTML容器,其中第二网页的容器中的至少一个字符不同于第一网页的对应容器中的至少一个对应字符。所述客户端计算机通过用所述第二网页的HTML容器替代所述第一网页的对应的HTML容器来构建所述第二网页。根据本发明的另一特征,所述服务器存储第一网页并且逐个容器地比较第二网页的HTML和第一网页的HTML,以标识第二网页中的哪些HTML容器不同于第一网页中的对应的HTML容器,以确定所述第二网页与所述第一网页之间的差异。图1是具有根据本发明的数据管理服务器和客户端计算机的分布式计算机系统的框图2是位于图1中的数据管理服务器处的网页差异计算程序和前端硬件和/或软件功能的流程图3是位于图1中的客户端计算机处的网页重建程序和其它浏览器功能的流程图4是更详细地图示了图2中的网页重建程序的流程图;图5是更详细地图示了图2中的网页重建程序的流程图;图6是更详细地图示了图2中的网页差异计算程序的流程图;图7是图示了图1中的网页转换例程的流程图;图8是图示了图1中的比较程序例程的流程图;图9是图示了图3中的网页重建程序的流程图。具体实施例方式现在,将参考附图来详细地描述本发明。图1图示了本发明被引入其中的、被指定为IO的分布式计算机系统。系统IO包括带有位于公共总线25上的7>知的CPU21、操作系统22、RAM23和ROM24、以及存储装置26的数据管理服务器20。在所图示的实施例中,数据管理服务器20是客户端计算机40和50与web服务器30之间的中介,所述web服务器30提供所^户端计算机的用户所请求的实际web服务和网页。Web服务器30中的每个都包括各种公知的诸如电子商务应用之类的web应用37中的任何一种。所述web服务器30中的每个还可包括诸如IBMDB/2数据库管理器或Oracle数据库管理器之类的公知的数据库应用38以供应(furnish)网页、web文件以及由电子商务应用所需要的其它数据,以给客户端计算机40和50的用户提供服务。在本发明的另一实施例中,web应用37和数据库应用38可以位于服务器20中以将web服务、网页和web文件提供给所述客户端计算机40和50。数据管理服务器20还包括根据本发明的网页差异计算(differencing)程序29、网页转换程序例程39、以及比较程序例程61。程序29跟踪哪些网页(其源自web服务器30)先前被经由数据管理服务器20和网络31(诸如因特网)供应^个客户端计算机。程序29将来自客户端计算机的针对网页的每个当前请求与先前被供应给相同客户端计算机的网页(或可选地是多个网页)进^f亍比较。接着,程序29将当前所请求的网页与先前被供应的(并且通常是当前被显示的)网页之间的差异供应给所ii^户端计算机。客户端计算^^已经高速緩存了先前所下载的网页(或可选地,多个网页),从而所^J1户端计算机可以通过所述差异和先前净皮供应的网页来构建当前被请求的网页。经常地,自服务器20下载到所述客户端计算机的差异文件整体上比当前所请求的网页要小得多。因此,要下载的信息较少,并且由此网络上的负担较小以及所使用的带宽较小。客户端计算才几40包括网页重建程序49,而客户端计算机50也包括相同的网页重建程序59。每个网页重建程序根据从web服务器20接收到的差异来修改先前所下载且被高速緩存的网页,以生成当前所请求的网页。下面参考附图2到9的流程图更详细地描述程序29、49和59的功能和操作。客户端计算机40还包括位于公共总线45上的公知的CPU41、操作系统42、RAM43和ROM44、以及存储装置46和web浏览器47。客户端计算机50还包括位于公共总线55上的公知的CPU51、操作系统52、RAM53和ROM55、以及存储装置56和web浏览器57。图2更加详细地图示了数据管理服务器20处的网页差异计算程序29和前端硬件和/或软件功能32在处理来自客户端计算机的初始请求时的操作和功能,所述请求经由服务器20从web服务器30中引出响应的网页。(继续)在步骤200中,前端功能32从客户端计算机之一(诸如客户端计算机40)接收针对web应用27的初始请求。所述请求发自于客户端计算机40处的用户或者客户端计算机40内的应用,并且作为响应将引出网页。这是在当前会话内M户端计算机40到应用27的所请求的第一网页。如下面更加详细地描述,虽然客户端计算机40处的用户或客户端计算机40内的应用直接向服务器30做出请求,但是所i^Jl户端计算机内的网页重建程序49将所述请求重定向给服务器20。响应于来自客户端计算机40的请求,前端功能32将所述请求转发给服务器20内的网页差异计算程序29(步骤202)。作为响应,程序29生成针对所述请求的唯一会话ID,并且将带有所述唯一会话ID的客户端请求(包括HTTP头部)转发给web服务器30内的web应用27(步骤204)。程序29还在文件33中将所述唯一会话ID和时间戳记录在一起(因此非激活的会话可被清除)以将所述请求与进行请求的客户端计算机关联起来。Web应用27处理所述请求,读取网页,并将所述网页返回给服务器20中的程序29(步骤206)。在这个例子中,所述网页是HTML形式的并且包括HTTP头部。接着,程序29调用以空串进行传递的服务器20中的网页转换程序例程39(步骤208)所述空串指示转换例程处理整个HTML。作为响应,所迷转换例程39标识所请求的网页的不同容器标签,并基于编号方案*个容器标签编制索引。在HTML中,"容器标签"是围绕数据的一对符号,其中所述符号指示所述数据的性质以^或者它将被如何显示。以下是唯一地标识HTML中的每个容器的编制索引方案的例子。"父亲"或主容器标签被顺序地编号。然而,如果父亲容器标签包含一个或多个其它"儿子,,容器标签,则通过父亲容器标签的后缀来对所述儿子容器标签进行编号。例如,如果父亲容器标签具有索引号"5",则它的两个儿子可以具有索引"5-1"和"5-2"。转换例程39接着将每个HTML的被编制了索引的容器作为"已转换的,,HTML返回给程序29。作为响应,程序29通过使用会话ID作为访问所述已转换的HTML的主码,将已转换的HTML(也即,具有HTML的容器各数据部分的被编制了索引的容器标签)存储在数据库34中(步骤210)。接着,程序29将对于所述请求客户端计算机处的网页重建程序49的"上载(onload)"调用和所述请求的会话ID—起添加到已转换的HTML。因为这是在本次会话期间所述客户端计算机向服务器30请求的初始网页,所以服务器20高速緩存所述已转换的HTML而不是差异文件,并还将其返回给所iij:户端计算机(步骤214)。(如下面更加详细地描述,对于在相同的会话期间来自客户端的后续请求,服务器20将返回当前所请求的HTML与先前所下载的HTML之间的差异以及所述上载调用,并且所述调用将调用客户端计算机处的网页重建程序49以通过将所述差异应用到先前所下载的HTML来生成当前所请求的网页(步骤212)。)图3更加详细地图示了在接收到针对客户端计算机所请求的初始网页的已转换的HTML时,客户端计算机40处的网页重建程序49和其它浏览器功能48的操作和功能。在步骤300中,客户端计算机40从服务器计算机20接收已转换的HTML和原始HTTP头部、上载调用以及会话ID。所述上载调用对网页重建程序49进行调用(步骤302)。作为响应,程序49加载已转换的HTML(作为直接对象模块或"DOM")并在所述已转换的HTML中寻找并获取第一HTML标签(步骤304)。接着,程序49确定所述标签是否是"<a>",也即指示出至另一网页的超链接(判决306)。如果所述标签是"<a>"(判决306,"是"分支),则程序49将通过"上击(onclick)"调用来修改所述超链接,从而如果用户在所述超链接上"点击"则基于祐修改的HTML的web浏览器47将把针对所述网页的请求转发给网页重建程序49(步骤308)。基于所述上击调用,网页重建程序49将发送所述请求到服务器20而不是发送所述请求到在原始超链接容器中所指示的URL。服务器20将充当客户端计算机与由原始超链接中的URL所指示的服务器之间的中介,并且将(从由所述原始超链接的URL所指示的服务器中所接收到的)所述被超链接的网页与先前所下载的网页之间的差异发送给所ii^户端计算机。在步骤308之后,程序49确定在所述已转换的HTML中是否有更多的标签(判决310)。如果有更多的标签(判决310,"是"分支),则程序49获取下一个标签(步骤312),并且确定所述下一个标签是否是超链接,也即"<a>"标签(判决306)。如果下一个标签是超链接(判决306,"是,,分支),则如前面一样在步骤208中处理这种情况。如果下一个标签不是超链接(判决306,"否"分支)或如果所述第一标签不是超链接标签,则程序49确定所述标签是否是供用户将数据输入到表格中的"<form>"标签(判决320)。如果所述标签是"<form>"标签(判决320,"是,,分支),则程序49通过"上提交(onsubmit)"调用来修改所述表格标签,从而如果用户将数据输入到字段中并接着在客户端web浏览器显示处的提交按钮上"点击",则基于HTML的所述客户端web浏览器将把提交请求转发给程序49从而表格数据可以被收集,并且发送所述请求给服务器20而不是给在原始表格中所指示的URL(步骤322)。如果所述标签不是超链接标签或表格标签,则程序49不修改所述HTML。接着,程序49检查在,皮修改的HTML中是否存在更多的标签(判决310),并且用上面所述的方式来处理任何附加的标签,直到所有标签都已经^Jt理为止(步骤330)。图4更加详细地图示了当客户端计算机40处的用户在web浏览器47所显示的超链接(由如上面所述的<&>标签来表示)上点击时程序49的操作和功能。响应于用户在所述超链接(其在步骤308中通过上击调用进行了修改)上点击,基于HTML的web浏览器告知程序49关于所请求的链接(步骤400)。作为响应,程序49将M链接的请求转换成一表格,其首先将所述请求定向到web服务器20,而且还包括将经由数据管理服务器20把所述被请求的网页提供给客户端计算机的web服务器(诸如web服务器30)的URL(步骤402和404)。接着,程序49将针对所述请求的响应标识设置到客户端计算机40,从而当服务器20异步地从web服务器30(或者提供所述网页的其它web服务器)接收所述响应时,web服务器20将知道将所述响应转发给客户端计算机40(步骤406)。接着,程序49在发送针对所述超链接的当前请求之前等待对先前的请求的响应(判决408和步骤410)。在接收到对先前的请求的响应之后(判决408,"否"分支),程序49将针对所迷超链接的下一个请求发送给将提供浮皮超链接的网页的web服务器(步骤420)。同样,程序49向客户端计算机40告知所述请求是悬而未决的,并且客户端计算机40将在客户端计算机40的显示器上向用户显示忙碌指示符(步骤422)。图5更加详细地图示了当用户在将数据输入到表格字段之后在提交按钮(由如上面所述的〈forn^标签表示)上点击时程序49的操作和功能。响应于用户在提交按钮上点击或另外提交已完成的表格(其在步骤322中通过上提交调用进行修改),基于HTML的web浏览器47告知程序49关于数据已经被输入且被提交的表格,并且程序49创建针对服务器20的提交请求(步骤500)。接着,程序49修改所述提交请求从而它将首先前往服务器20而不是将处理所述表格的web服务器(诸如web服务器30)(步骤502)。接着,程序49从HTML确定所M格的传输模式是否是"张贴(post)"模式(并且如果不是,则确定它是"获取(get)"模式)。所述模式由定义表格的原始HTML的创建者所设置。如果它是张贴模式(判决504,"是"分支),则程序49将被输入进所述表格的字段中的数据的值转换成张贴模式(步骤506)。否则(判决504,"否"分支),程序49将被输入进所述表格的字段中的数据的值转换成获取模式(步骤508)。在步骤506或者步骤508之后,程序49将提交请求的表格数据设置到服务器20的URL而不是将处理所述表格的web服务器的URL,并且还附加所述会话ID(步骤510)。即使所迷提交请求首先前往中介数据管理服务器20,所述提交请求仍然包括将处理所i^格的web服务器(诸如web服务器30)的URL。接着,当响应在客户端计算机40处被接收到并被处理时,在客户端计算才几40中程序49将针对诸如"linkResponse"之类的特定过程的"准备(onready)"调用附加到所述提交请求(步骤512)。如下面更详细地描述,客户端计算机40处的所述linkResponse过程将处理从web服务器20返回的JSON数据并且使用所述数据来更新所显示的网页。接着,程序49在发送下一个/提交请求给web服务器20之前等待对先前的请求的响应(判决528和步骤530)。在接收到对先前的请求的响应之后(判决528,"否"分支),程序49发送下一个/提交请求给服务器20(步骤540)。同样,程序49向web浏览器47告知下一个/表格请求是悬而未决的并且web浏览器将向客户端计算机40处的用户显示忙碌指示符(步骤542)。图6更加详细地图示了当从客户端计算机40接收到超链接请求或表格提交请求时程序29的操作和功能。在步骤600中,差异计算程序29从所述超链接请求或表格提交请求中读取会话ID。接着,程序29创建一请求来将客户端计算机的超链接请求或表格提交请求发送给将实际处理所述请求(也即供应#^链接的网页或处理所述提交表格)的web服务器(诸如web服务器30)(步骤602)。接着,程序29将它刚刚创建的请求发送给web服务器30(步骤604)。接着,web服务器30处理所述请求并提供响4形下是合适的响应,('例如z在表格搜索请求的情;下是搜索结果:^者在表格提交请求的情形下是确认)。在接收到来自web服务器30的响应之后,程序29调用以空串进行传递的转换例程39,所述空串的传递用于指示所述转换例程应当从最开始处开始(步骤608).如上所述,转换例程39响应于已转换的HTML表格转换所述网页(从web服务器30处收到的),也即标识所述容器标签和它们的数据,并将已转换的HTML转发给程序29。作为响应,程序29加载与当前已转换的HTML具有相同会话ID的先前所接收到的网页的先前被高速緩存的已转换的HTML(步骤612)。在步骤612中,程序29还调用比较例程61来逐个容器地比较当前响应中的已转换的HTML和先前响应中的已转换的HTML并确定差异。所述比较例程61将差异返回给程序29。作为响应,程序29在诸如JavaScriptObjectNotation数据结构文件之类的数据结构文件中存储所述差异(步骤614)。接着,程序29创建对客户端计算机40的响应,其将指示当前网页(以已转换的HTML表格的形式)与被供应给客户端的先前网页(以已转换的HTML表格的形式)的差异(步骤620)。如下面参考图9更加详细地解释,在服务器20处的比较例程61将标识与先前所下载或构建的HTML中的对应容器不相同的新HTML内的任何容器,并且针对已经改变的容器从新的HTML中下载数据。接着,所^J1户端计算机用已改变的容器中的数据来替代先前所下载或构建的网页/HTML中的对应容器,以生成用于新网页的HTML。图7更加详细地图示了转换例程39;所述转换例程39在图2的步骤208中#:调用。在步骤700中,所述转换例程将它的编号方案初始化到零。接着,所迷转换例程标识从web服务器30接收到的网页的标准HTML中的下一个(在第一次迭代时是第一个)标签(步骤702)。接着,转换例程39确定所述下一个标签是否是开头的(open)容器标签,也即标记用于标签的一类数据的开始的标签(判决704)。以下是开头的容器标签的一些例子<html>、<head>、<body>、<div>、<span>、<ul>、<ol>、<li>、<table>、<tr>、<td>、<blockquote>、<code>、<tt>、<form>、和〈select〉。如果所述第一标签是开头的容器标签,则转换例程39确定一唯一数字以标识所述容器标签(步骤706和708)。如果所述容器标签是父亲标签,则所述转换例程将分配下一个顺序编号(例如,在第一次迭代中,是编号"1")(步骤706)。然而,如果所述容器标签是(父亲标签的)儿子标签,则所述转换例程将把一后缀附加到所述父亲的编号(例如,编号"1-1"或"1-2")(步骤708)。在步骤708中,所述转换例程将分配编号给所述父亲的所有儿子、孙子等等。接着,所述转换例程确定在原始HTML中是否存在更多的可能是需要被标识的标签的字符(判决710)。如果是这样(判决710,"是,,分支),则所述转换例程循环返回步骤702以标识原始HTML中的下一个标签。如果所述下一个标签是结尾的(close)容器,也即标记针对开头的标签的数据的结尾的标签,则所述转换例程循环返回到步骤702以标识所述原始HTML中的下一个标签(判决720,"否"分支)。以下是各结尾的容器标签(针对上面所述的开头的容器标签)的一些例子</html>、</head>、</body>、</div>、</span>、</ul>、</ol>、</li>、</column></row><table>、</tr>、</td>、</blockquote>、</code>、</tt>、</form>、和々select、所述转换例程39针对标准HTML中的每个容器标签重复进行前面的转换处理,直到没有任何要处理的容器标签为止(判决712,"否"分支和步骤722),在此时,所述转换例程39返回带有已转换的HTML的程序29。图8更加详细地图示了在图6的步骤612中所引用的比较程序例程61。在步骤800中,网页差异计算程序29进行调用并由此调用所述比较程序例程61。作为响应,程序例程61每次一个字符地对当前HTML和针对先前的网页的先前被高速緩存的HTML的各字符进行迭代(步骤802)。接着,程序61比较新的/当前所请求的HTML的每个字符和先前所下载的HTML的对应的字符(判决803)。如果两个HTML中的第一字符(字母、数字或符号)不相同(判决803,"是,,分支),则程序61读取新HTML中的相同容器中的所有字符,也即在"开头的"容器标签之后且在对应的"结尾的"容器标签之前的所有字符(步骤804)。如下面更加详细地描述,包括其所有数据的所述容器将被下载到客户端计算机,从而所述客户端计算机可以用所下载的容器来替代在客户端计算机处先前所下载和高速緩存的容器。接着,程序61创建数据映射以存储在步骤804中所读取的信息并对以下容器内的字符编制索引(步骤806),所述容器带有由图7中的网页转换例程所生成的针对所述容器的ID。接着,程序61将所述数据映射返回给调用者(步骤808)。因此,当程序61正在执行下面参考步骤822所描述的中介递归功能时,调用者是程序61,因此程序61将所述数据映射返回给它自己,并且接着前进到步骤823以将针对当前所考虑的容器的数据映射添加到来自先前所考虑和所处理的容器的数据映射。当程序61完成新HTML与先前被高速緩存的HTML的比较时,接着程序61从步骤808返回到网页差异计算程序,并将针对整个HTML的数据映射供应给网页差异计算程序。再次参考判决803的"否"分支,其中新HTML的(当前在检查中的)字符匹配先前被高速緩存的HTML中的对应字符,接着程序例程61将确定所述字符是否是开头的容器标签(判决820)。如果不是(判决820,"否"分支),则程序例程61将确定所述字符是否是结尾的容器标签(判决830)。如果不是(判决830,"否"分支),则程序例程61将处理下一个字符(如果有的话)(判决840,"是"分支)。如果所述字符是开头的容器(判决820,"是"分支),则程序例程61获取并记录来自所述容器标签的ID,所述ID从所述转换例程39被分配给所述容器标签(步骤822),并且接着递归地循环返回步骤802以处理下一个字符。如果所述字符是结尾的容器(判决830,"是,,分支),则程序例程61前进到步骤808以将所述容器标签返回给所述数据映射,而不带有所述容器中的任何数据。此时不必包括所述容器中的任何数据,因为迄今为止,在新HTML的所述容器中的数据与在先前所下载的HTML中的对应容器中数据是相同的。然而,如果新HTML中的所述容器中的后续字符不同于先前所下载的HTML中的对应容器中的对应字符,则程序例程61将在数据映射/差异文件中包括所述容器的所有数据,供下载到客户端计算机,并将所述数据与所述容器标签的ID关^来。这样,所述客户端计算机将用所述数据映射/下载文件中的不同容器数据来替代先前所下载或所构建的HTML的容器。图9更加详细地图示了客户端计算机40和50中的网页重建程序49和59。在所述比较程序例程61完成之后,网页差异计算程序29将所述数据映射/差异文件发送给所述请求客户端计算机(例如,客户端计算机40)的web浏览器。作为响应,基于差异文件中的上载调用,web浏览器47将所述差异文件作为带有"responseText属性"的JSON数据结构转发给程序49。在步骤900中,程序49接收所述JSON数据结构(也即,差异文件),并使用公知的JavaScript程序功能将所述差异文件转换成JavaScript对象。接着,程序49获取先前所下载的网页的所有标签和它们的ID的列表(步骤卯2)。先前所下载的网页通常正被显示在客户端计算机上。接着,程序49读取当前所显示的HTML/先前所下载的HTML的笫一/下一个标签和它的ID(步骤906),并且确定所述差异文件是否包含标签和ID的相同的组合(判决910)。如果包含(判决910,"是"分支),则所述差异文件包含针对容器标签和ID的所述组合的已更新的容器数据。因此,程序49在先前所下载的HTML中用新容器数据来替代对应的容器(步骤920)。在当前所显示的HTML中的任何容器被用新数据更新而且程序49在步骤920设置标签的innerHTML属性时,web浏览器47根据已更新的HTML自动地更新当前所显示的网页。在步骤920之后或者如果在针对先前所下载的HTML的容器标签和ID的当前所考虑的组合的差异文件中没有任何匹配(判决910,"否"分支),则程序49确定在所述差异文件中是否存在更多的容器标签(判决930)。如果存在(判决930,"是"分支),则程序49循环返回到步骤906以考虑差异文件中的下一个容器标签。针对差异文件中的每个容器标签重复前面所述过程,直到所有容器标签已经都被考虑了为止(判决930,"否"分支),此时,程序49隐藏忙碌指示符以向用户告知网页已被完全更新以形成当前所请求的网页(步骤950)。程序29、39和61可从诸如磁带或磁盘、光学媒体、DVD、存储棒、半导体存储器等等之类的计算机可读媒体65中被加载进服务器20,或者可以经由TCP/IP适配器卡63从因特网中被下载。程序49可以从诸如磁带或磁盘、光学媒体、DVD、存储棒、半导体存储器等等之类的计算机可读媒体中被加载进客户端计算机40,或者可以经由TCP/IP适配器卡143从因特网中下载。程序59可以从诸如磁带或磁盘、光学媒体、DVD、存储棒、半导体存储器等等之类的计算机可读々某体中被加载进客户端计算机50,或者可以经由TCP/IP适配器卡153从因特网中下载。基于前面所述内容,已经公开了一种用于使数据传输最小化的计算机系统、方法和程序产品。然而,在不偏离本发明的范围的条件下,可以做许多修改和替换。因此,已经通过举例而不是限制的方式公开了本发明,并且应当参考以下权利要求来确定本发明的范围。权利要求1.一种用于减少与针对网页的请求相关联的数据传输的方法,所述方法包括以下步骤响应于来自客户端计算机的对第一网页的第一请求,服务器将所述第一网页下载到所述客户端计算机,并且所述客户端计算机存储所述第一网页;响应于来自所述客户端计算机的对第二网页的第二、后续的请求,所述服务器将所述第二网页与所述第一网页之间的差异下载到所述客户端计算机;以及所述客户端计算机基于所述第一网页以及所述第二网页与所述第一网页之间的所述差异来构建所述第二网页。2.根据权利要求1所述的方法,其中所述差异包括所述第二网页的HTML容器,其中所述第二网页的所述容器中的至少一个字符不同于所述第一网页的对应容器中的至少一个对应字符。3.根据权利要求2所述的方法,其中所述客户端计算机通过用所述第二网页的所述HTML容器替代所述笫一网页的对应的HTML容器来构建所述第二网页。4.根据权利要求l所述的方法,进一步包括以下步骤所述服务器存储所述第一网页并且逐个容器地比较所述第二网页的HTML和所述第一网页的HTML,以标识所述第二网页的哪些HTML容器不同于所述笫一网页的对应的HTML容器,以确定所述笫二网页与所述笫一网页之间的差异。5.—种用于减少与针对网页的请求相关联的数据传输的系统,所述系统包括服务器内的用于响应于来自客户端计算机的针对第一网页的第一请求将所述第一网页下载到所述客户端计算机的装置,以及所述客户端计算机内的用于存储所述第一网页的装置;所述服务器内的用于响应于来自所述客户端计算机的针对第二网页的笫二、后续的请求将所述第二网页与所述笫一网页之间的差异下载到所述客户端计算机的装置;以及所述客户端计算机内的用于基于所述第一网页以及所述第二网页与所述第一网页之间的所述差异来构建所述第二网页的装置。6.根据权利要求5所述的系统,其中所述差异包括所迷第二网页的HTML容器,其中所述第二网页的所述容器中的至少一个字符不同于所述第一网页的对应容器中的至少一个对应字符。7.根据权利要求6所述的系统,其中所迷客户端计算机内的所述构建装置通过用所述第二网页的所述HTML容器替代所述第一网页的对应的HTML容器来构建所述第二网页。8.根据权利要求5所述的系统,进一步包括所述服务器内的装置,用于存储所述第一网页并且逐个容器地比较所述第二网页的HTML和所迷第一网页的HTML,以标识所述第二网页的哪些HTML容器不同于所述第一网页的对应的HTML容器,以确定所述第二网页与所述第一网页之间的差异。9.一种用于减少与针对网页的请求相关联的数据传输的计算机程序产品,所述计算机程序产品包括计算机可读媒体,所述计算机可读媒体包括由处理器用来执行根据权利要求1至4所迷的方法的程序指令。全文摘要一种用于使通过网络的数据传输量最小化的计算机系统、方法和程序。响应于来自客户端计算机的对第一网页的第一请求,服务器将所述第一网页下载到所述客户端计算机,并且所述客户端计算机存储所述第一网页。响应于来自所述客户端计算机的对第二网页的第二、后续的请求,所述服务器将所述第二网页与所述第一网页之间的差异下载到所述客户端计算机。所述客户端计算机基于所述第一网页以及所述第二网页与所述第一网页之间的所述差异来构建所述第二网页。文档编号H04L29/02GK101207605SQ200710186630公开日2008年6月25日申请日期2007年11月14日优先权日2006年12月18日发明者J·M·斯塔佩尔斯申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1