在具有电子资源数据库的客户端装置中高速缓存电子文档资源的制作方法

文档序号:6360712阅读:164来源:国知局
专利名称:在具有电子资源数据库的客户端装置中高速缓存电子文档资源的制作方法
在具有电子资源数据库的客户端装置中高速缓存电子文档资源相关申请的交叉引用本申请要求了 2010年5月7日提交的、美国临时专利申请号为61/332,435、发明名称为 “CACHING ELECTRONIC DOCUMENT RESOURCES IN A CLIENT DEVICE HAVING ANELECTRONIC RESOURCE DATABASE”的权益,其全部公开内容通过参考包括于此。
背景技术
电子文档,例如用于网站的网页,通常参考一个或多个可能非常大的、用于显示电子文档的外部资源。例如,电子文档可能参考图像文件、音频文件、视频文件、格式文件或其他电子文档资源。而且,电子文档可能参考作为电子文档资源的其他电子文档。另外,主机装置如网络服务器可存储电子文档资源,并且当客户端装置请求电子文档时,主机装置可传输电子文档和电子文档资源至客户端装置。由于每次电子文档被请求时都传输电子资源至客户端装置可能是耗费时间和浪费资源的,因此主机装置可请求客户端装置将电子资源临时地高速缓存在客户端装置的本地计算机可读介质上。可被客户端装置高速缓存的电子文档资源的示例包括Java脚本文件、级联样式表(“CSS”)文件、图像文件或其他类型的文件。一般地,主机装置可通过声明电子文档资源为外部资源并在对客户端装置的响应中使用特定的命令来请求客户端装置高速缓存电子文档资源。例如,在超文本传输协议(“HTTP”)中,对客户端装置的响应的开头处的数据块(称作“信头”)可提供用于控制电子文档资源的高速缓存的数个函数。这个信头在本技术领域被称作“高速缓存-控制信头”并可具有数个不同的可指定高速缓存行为的元素,称作“命令(directive)”。例如,高速缓存控制命令可指定哪些电子文档资源应被高速缓存、高速缓存的电子文档资源的持续时间、是否验证用于电子文档资源的高速缓存和其他高速缓存控制命令。但是,简单地声明电子文档资源为外部资源并依靠高速缓存-控制信头和高速缓存控制命令的使用的传统技术存在数个问题。而且,当客户端装置为移动装置,例如蜂窝电话、个人数字助理、智能手机或其他移动装置时,这些问题格外加剧。一个问题是移动装置上的高速缓存典型地在容量上非常有限。由于移动装置经常是容量受限的,因此有效的存储容量被高度保护且移动装置经常奉献很少的资源给瞬时对象,如高速缓存。因此,在具有典型的高速缓存的移动装置上,通过使用网络浏览器来查看电子文档如网页、请求大量的电子文档资源以显示电子文档、或者在查看依靠电子文档资源(每个电子文档资源需要移动装置的大量的高速缓存)的电子文档中可能简单地在几分钟内替换或移除(“冲洗”)高速缓存的电子资源。另外,传统的高速缓存可能被网站或网页共享,网页或网站可能无意地、或者甚至有意地为来自高速缓存的其他网站或网页冲洗一个或多个高速缓存的电子文档资源。其他问题是可能用于移动装置与主机装置的通信的信道经常具有有限数量的传输电子文档和电子文档资源的空间(“带宽”)。而且,当电子文档依靠大量的电子文档资源时,客户端装置和主机装置可能传输大量的请求和响应。由于客户端装置请求电子文档资源的时间与主机装置传输电子文档资源的时间之间存在时延(称作“延迟”),因此大量的请求和响应可能导致高延迟。高延迟是不理想的,因为它降低使用者在移动装置上查看电子文档的体验。因此,需要减少移动装置和主机装置之间的延迟。

发明内容
提供一种用于高速缓存之前标识的电子文档资源的系统。所述系统可包括具有资源数据库的计算机可读介质,所述资源数据库包括可操作用于标识电子文档资源的资源记录。所述资源记录可包括资源记录标识符和资源记录内容。所述系统还可包括可操作用于传输对所述电子文档的第一请求以及接收包括所述电子文档的第一响应的处理器。所述处理器还可操作用于解析所述电子文档以识别已被标记有高速缓存标识符的电子文档资源,其中所述高速缓存标识符可操作用于标识所述电子文档资源将被高速缓存在所述计算机可读介质中。所述处理器还可操作用于将所述电子文档资源高速缓存在所述资源数据库中作为所述资源记录,其中所述资源记录内容包括所述电子文档资源,所述资源记录标识符包括所述高速缓存标识符。在所述系统的一个方面中,所述处理器进一步可操作用于基于所述资源记录生成电子资源目录,其中所述电子资源目录包括所述资源记录标识符。在所述系统的另一个方面中,所述处理器进一步可操作用于提供所述电子资源目录以标识存储在所述资源数据库中的所述电子文档资源。在所述系统的又一个方面中,所述处理器可操作用于传输对所述电子文档的第二请求,其中所述第二请求包括所述电子资源目录,以及接收包括所述电子文档的第二响应。所述处理器进一步还可操作用于基于所述第二响应从所述资源数据库中检索所述电子文档资源以显示所述电子文档。在所述系统的又另一个方面中,所述电子资源记录被建立用于预定的时间段。在所述系统的再另一个方面中,所述高速缓存标识符是基于所述电子文档资源的。在所述系统的另一个方面中,其中所述电子文档可操作用于识别多个电子文档资源和多个高速缓存标识符,其中每个高速缓存标识符在所述多个高速缓存标识符中是唯一的,且每个高速缓存标识符对应所述多个电子文档资源的电子文档资源。还提供一种用于高速缓存之前标识的电子文档资源的方法。所述方法可包括建立资源数据库,所述资源数据库包括可操作用于标识电子文档资源的资源记录,其中所述资源记录包括资源记录标识符和资源记录内容,以及传输对电子文档的第一请求。所述方法还包括接收包括所述电子文档的第一响应以及解析所述电子文档以识别已被标记有高速缓存标识符的电子文档资源,其中所述高速缓存标识符可操作用于标识所述电子文档资源将被高速缓存在所述计算机可读介质中。所述方法还包括将所述电子文档资源高速缓存在所述资源数据库中作为所述资源记录,其中所述资源记录内容包括所述电子文档资源,所述资源记录标识符包括所述高速缓存标识符。在所述方法的一个方面中,所述方法进一步包括基于所述资源记录生成电子资源目录,其中所述电子资源目录包括所述资源记录标识符。在所述方法的另一个方面中,所述方法包括提供所述电子资源目录以标识存储在所述资源数据库中的所述电子文档资源。在所述方法的又一个方面中,所述方法包括传输对所述电子文档的第二请求,其中所述第二请求包括所述电子资源目录;接收包括所述电子文档的第二响应;以及基于所述第二响应从所述资源数据库中检索所述电子文档资源以显示所述电子文档。在所述方法的又另一个方面中,所述电子资源记录被建立用于预定的时间段。在所述方法的再又一个方面中,所述高速缓存标识符是基于所述电子文档资源的。在所述方法的另一个方面中,所述电子文档可操作用于识别多个电子文档资源和多个高速缓存标识符,其中每个高速缓存标识符在所述多个高速缓存标识符中是唯一的,且每个高速缓存标识符对应于所述多个电子文档资源中的电子文档资源。还提供一种用于建立电子文档资源的高速缓存的系统。所述系统包括计算机可读介质,所述计算机可读介质具有用于通过客户端装置显示的电子文档,其中所述电子文档可操作用于识别用于显示所述电子文档的电子文档资源。所述系统还包括处理器,所述处理器可操作用于接收标识所述电子文档资源可被高速缓存在客户端装置中的请求,并基于所述电子文档资源生成第一高速缓存标识符,其中所述第一高速缓存标识符可操作用于区分所述电子文档资源。所述处理器还可操作用于将所述第一高速缓存标识符插入所述电子文档中,并在对所述电子文档的第一请求的响应中传输所述电子文档和所述电子文档资源。在所述系统的一个方面中,所述处理器进一步可操作用于接收对所述电子文档的第二请求,其中所述第二请求包括可操作用于标识所述电子文档资源是否已被所述客户端装置高速缓存的电子资源目录,并且所述处理器进一步可操作用于确定所述电子文档资源是否已通过参考所述电子资源目录而被高速缓存。所述处理器进一步可操作用于当确定所述电子文档资源已被所述客户端装置高速缓存时,修改所述电子文档以参考已被高速缓存的所述电子文档资源。在所述系统的另一个方面中,所述处理器进一步可操作用于接收对所述电子文档的第二请求,其中所述第二请求包括可操作用于标识所述电子文档资源是否已被所述客户端装置高速缓存的电子资源目录,以及确定所述电子文档资源是否已通过参考所述电子资源目录而被高速缓存。所述处理器进一步还可操作用于当确定所述电子文档资源未被所述客户端装置高速缓存时,传输所述电子文档资源。在所述系统的又另一个方面中,所述处理器进一步可操作用于接收用于替换所述电子文档资源的替换电子文档资源并生成用于所述替换电子文档资源的第二高速缓存标识符,其中所述第二高速缓存标识符可操作用于区分所述替换电子文档资源。所述处理器进一步还可操作用于使用所述第二高速缓存标识符替换所述电子文档中的第一高速缓存标识符。在所述系统的再另一个方面中,所述处理器进一步可操作用于接收对所述电子文档的第二请求,其中所述第二请求包括可操作用于标识所述替换电子文档资源是否已被高速缓存的电子资源目录,以及当所述电子资源目录标识所述替换电子文档资源未被高速缓存时,传输所述替换电子文档资源。在所述系统的另一个方面中,所述电子资源目录包括第一高速缓存标识符。在所述系统的又一个方面中,所述电子文档可操作用于识别多个电子文档资源和多个高速缓存标识符,其中每个高速缓存标识符在所述多个高速缓存标识符中是唯一的,且每个高速缓存标识符对应于所述多个电子文档资源中的电子文档资源。还提供一种用于建立电子文档资源的高速缓存的方法。所述方法包括将用于通过客户端装置显示的电子文档存储在计算机可读介质中,其中所述电子文档可操作用于识别用于显示所述电子文档的电子文档资源,以及通过处理器接收标识所述电子文档资源可被高速缓存在客户端装置中的请求。所述方法还包括通过处理器基于所述电子文档资源生成第一高速缓存标识符,其中所述第一高速缓存标识符可操作用于区分所述电子文档资源,以及通过所述处理器将所述第一高速缓存标识符插入所述电子文档中。所述方法进一步包括通过所述处理器在对所述电子文档的第一请求的响应中传输所述电子文档和所述电子文档资源。在一个方面中,所述方法包括通过所述处理器接收对所述电子文档的第二请求,其中所述第二请求包括可操作用于标识所述电子文档资源是否已被所述客户端装置高速缓存的电子资源目录。所述方法还包括通过所述处理器确定所述电子文档资源是否已通过参考所述电子资源目录而被高速缓存。所述方法进一步包括当确定所述电子文档资源已被所述客户端装置高速缓存时,通过所述处理器修改所述电子文档以参考已被高速缓存的所述电子文档资源。在另一个方面中,所述方法包括通过所述处理器接收对所述电子文档的第二请求,其中所述第二请求包括可操作用于标识所述电子文档资源是否已被所述客户端装置高速缓存的电子资源目录。所述方法还包括通过所述处理器确定所述电子文档资源是否已通过参考所述电子资源目录而被高速缓存。所述方法进一步包括当确定所述电子文档资源未被所述客户端装置高速缓存时,通过所述处理器传输所述电子文档资源。在又一个方面中,所述方法包括通过所述处理器接收用于替换所述电子文档资源的替换电子文档资源,以及通过所述处理器生成用于所述替换电子文档资源的第二高速缓存标识符,其中所述第二高速缓存标识符可操作用于区分所述替换电子文档资源。所述方法还包括通过所述处理器使用所述第二高速缓存标识符替换所述电子文档中的所述第一高速缓存标识符。在又另一个方面中,所述方法包括接收对所述电子文档的第二请求,其中所述第二请求包括可操作用于标识所述替换电子文档资源是否已被高速缓存的电子资源目录,以及当所述电子资源目录标识所述替换电子文档资源未被高速缓存时,传输所述替换电子文档资源。在又一个方面中,所述电子资源目录包括所述第一高速缓存标识符。在另一个方面中,所述电子文档可操作用于识别多个电子文档资源和多个高速缓存标识符,其中每个高速缓存标识符在所述多个高速缓存标识符中是唯一的,且每个高速缓存标识符对应于所述多个电子文档资源中的电子文档资源。


图I示出根据本技术一方面的多个客户端装置与主机装置通信以接收一个或多个电子文档的一个示例;图2示出根据本技术一方面的客户端装置与主机装置通信以接收一个或多个电子文档的一个示例;
图3示出根据本技术一方面的具有高速缓存标识符的电子文档的部分的一个示例;图4示出根据本技术一方面的用于存储电子文档资源的电子资源记录的示例;图5示出根据本技术一方面的电子资源记录的一个示例;图6示出根据本技术一方面的参考高速缓存在客户端装置上的电子文档资源的电子文档的部分的一个示例;图7是根据本技术一方面的用于传输将被客户端装置高速缓存的电子资源的逻辑流程的一个示例;图8是根据本技术一方面的用于替换之前高速缓存的电子文档资源的逻辑流程的一个示例;以及图9是根据本技术一方面的检索之前高速缓存的用于显示电子文档的电子文档资源的一个示例。
具体实施例方式图I示出客户端装置102-108通过网络130与主机装置110通信的一个示例。客户端装置102-108可以为任何类型的客户端装置,例如移动装置、台式电脑、笔记本电脑、上网本、平板电脑或任何其他类型的客户端装置。移动装置的示例包括个人显示助理、智能手机、移动电话、数字音乐播放器或任何其他类型的移动装置。客户端装置102-108可从主机装置110请求一个或多个电子文档。电子文档可以是任何类型的电子文档,如文字处理文档、电子表格文档、多媒体文档或已知的或后来开发的任何其他类型的电子文档。而且,电子文档可以是互联网相关的文档,如超文本标记语言(“HTML”)文档、Java脚本文档、CSS文档、可扩展标记语言(“XML”)文档或任何其他互联网相关的文档。在一种实施方式中,主机装置110可以是搜索引擎提供器,可操作用于提供用于被客户端装置102-108访问的搜索引擎的网站。在另一种实施方式中,主机装置110可以是在线购物提供器,可操作用于提供用于被客户端装置102-108访问的在线购物的网站。其他实施方式也是可行的,例如用于饮料供应商的网站、用于服装供应商的网站或其他类型的网站。主机装置110还可提供内部网站,例如,用于与其他雇主协作或被雇员访问的内联网网站。在任何实施方式中,用于主机装置110的网站可参考一个或多个电子文档资源,如多媒体文件、互联网相关的文件或其他任何类型的用于显示被主机装置110存储的一个或多个电子文档的电子文档资源。主机装置110和客户端装置102-108可通过网络130通信。例如,一个或多个客户端装置102-108可传输对一个或多个电子文档的请求到主机装置110。在响应中,主机装置110可传输一个或多个电子文档到客户端装置102-108。而且,主机装置110可传输一个或多个电子文档资源到客户端装置102-108以显示一个或多个电子文档。如下面所阐述的,客户端装置102-108还可通过网络130传输电子文档资源目录如“信息记录程序(cookie) ”至主机装置110。基于电子文档资源目录的内容,主机装置110可限制其传输至一个或多个客户端装置102-108的电子文档资源。参考图2-8说明电子文档资源目录的内容和主机装置110可能限制传输至客户端装置102-108的电子文档资源的方式。
尽管图I示出客户端装置102-108与单个主机装置110通信,但是客户端装置102-108可通过网络130与多个主机装置(未示出)通信。而且,客户端装置102-108之间可以彼此通信。在一种实施方式中,客户端装置102-108可以是主机装置110。类似地,在另一种实施方式中,主机装置110可以是客户端装置102-108。另外,单个主机装置110可包括多个主机装置,单个客户端装置如客户端装置102可包括多个客户端装置。图2示出图I的客户端装置102与主机装置110通信的一个示例。在一种实施方式中,主机装置110可包括计算机可读介质202、网络接口 204、处理器206和电子文档服务器208。计算机可读介质202可包括服务器资源数据库210,服务器资源数据库210可操作用于存储一个或多个用于提供一个或多个电子文档给客户端装置102的资源。服务器资源数据库210可以是任何类型的数据库,如平面文件数据库、分层数据库、网络数据库、关系数据库、面向对象的数据库或任何其他已知的或后来开发的数据库。在一种实施方式中,服务器资源数据库210可包括多个电子文档资源212-216和多个电子文档218-220。电子文档218或电子文档220可参考电子文档资源212-216的任一个或者不参考电子文档资源212-216。如参考图3和图5所讨论的,电子文档218-220可包含参考电子文档资源212-216的格式或文本。处理器206可操作用于为电子文档资源212-216的一个或多个准备用于嵌入一个或多个电子文档218-220的高速缓存标识符。高速缓存标识符可操作用于标识电子文档资源是否可被客户端装置102高速缓存。而且,高速缓存标识符可操作用于唯一地标识电子文档资源以及区分第一电子文档资源和第二电子文档资源。而且,根据处理器206如何生成高速缓存标识符,高速缓存标识符可标识自从处理器206最后一次生成电子文档资源的高速缓存标识符起,电子文档资源是否已被更新或修改。处理器206可基于电子文档资源被认为是静态的或动态的内容而准备用于电子文档资源的高速缓存标识符。例如,静态内容可包括不被期望在预定时间段内改变的内容或不被期望经常改变的内容,动态内容可包括被期望在预定时间段内改变的内容或被期望经常改变的内容。而且,处理器206可接收为特定类型的电子文档资源准备高速缓存标识符的选择或其他指令,或者可接收为特定的电子文档资源准备高速缓存标识符的选择或其他指令。主机装置110可采用用于为一个或多个电子文档资源212-2169准备高速缓存标识符的其他选择标准。高速缓存标识符可以是任何类型的标识电子文档资源的标识符。在一种实施方式中,处理器206可为电子文档资源218-220的每个生成“r: ID:fingerprint”形式的高速缓存标识符。在另一种实施方式中,电子文档资源218-220的每个可具有唯一的高速缓存标识符。在又另一个替换实施方式中,处理器206可为可被客户端装置102高速缓存的所有电子文档资源生成单一的高速缓存标识符。而且,处理器206可为被电子文档218-220的一个或多个参考的电子文档资源212-216的每个生成高速缓存标识符。高速缓存标识符可包括数个高速缓存标识符部分,例如高速缓存标识符前缀、高速缓存标识符主体和闻速缓存标识符后缀。但是,包括如缀、主体和后缀的任何组合的闻速缓存标识符也是可行的。另外,高速缓存标识符可以仅包括单个部分,例如仅包括高速缓存标识符前缀、仅包括高速缓存标识符主体或者仅包括高速缓存标识符后缀。在高速缓存标识符是“r: ID:fingerprint”的实施方式中,高速缓存标识符前缀“r:”可指示电子文档资源是可被客户端装置102高速缓存的,高速缓存标识符主体“ID:”可标识将被客户端装置102高速缓存的特定电子文档资源,高速缓存标识符后缀“ f ingerprint ”可用于检测电子文档资源的改变。高速缓存标识符前缀、高速缓存标识符主体和高速缓存标识符后缀可以是任何序列的字母数字字符。关于高速缓存标识符前缀,一种实施方式是使用字母数字字符“r:”,但是,也可使用其他字母数字字符,例如“5c”、“4#”、“prefiX”、“$$”或者任何其他序列的字母数字字符。关于高速缓存标识符主体,一种实施方式是为电子文档资源使用唯一的字母数字字符序列。例如,当电子文档参考第一电子文档资源和第二电子文档资源时,用于每个电子文档资源的高速缓存标识符可被分别分配一个唯一的高速缓存标识符。在另一种实施方式中,用于每个电子文档资源的每个高速缓存标识符是唯一的,并包括高速缓存标识符主体。在其他替换实施方式中,对于相同类型的电子文档资源,高速缓存标识符可以是相同的;对于所有电子文档资源,高速缓存标识符可以是相同的;仅对于一些电子文档资源,高速缓存标识符是不同的;或者其任何组合或派生。最后,关于高速缓存标识符后缀,一种实施方式是使用对于电子文档资源的内容是唯一的字母数字字符序列。换句话说,高速缓存标识符后缀可以是基于电子文档资源的。例如,处理器206可使用哈希算法如MD5哈希算法来生成电子文档资源212的高速缓存标识符后缀。因此,当电子文档资源212的内容改变时,处理器206可为更新的电子文档资源212准备不同的高速缓存标识符后缀。作为示例,假设电子文档218具有参考第一电子文档资源212的第一高速缓存标识符,并且处理器206接收到用于替换电子文档资源212的替换电子文档资源214。处理器206可生成用于替换电子文档资源214的第二高速缓存标识符,其中第二高速缓存标识符可操作用于区分替换电子文档资源214和电子文档资源212。然后,处理器206可使用第二高速缓存标识符替换电子文档218中的第一高速缓存标识符。网络接口 204可操作用于与处理器206通信并将来自客户端装置102的对电子文档的请求传输至处理器206。网络接口 204可以是任何类型的有线网络接口、无线网络接口或有线和无线网络接口的组合。然后,处理器206可将请求传送至电子文档服务器208,电子文档服务器208可操作用于提供电子文档218-220和/或电子文档资源212-216至客户端装置102。在一种实施方式中,电子文档服务器208可以是网络服务器,例如可从位于马里兰州的森林山的Apach软件基金会购买的Apache HTTP服务器。在电子文档服务器208是网络服务器的实施方式中,电子文档218-220可以是网页或其他互联网相关的电子文档,电子文档资源212-216可以是多媒体文件或其他类型的互联网相关的或视听文件。但是,电子文档服务器208可以是任何类型的服务器,例如文件传输协议(“FTP”)服务器、远程桌面协议(“RDP”)服务器、虚拟网络计算(“VNC”)服务器或已知的或稍后开发的任何其他类型的电子文档服务器。图3是具有数个分配给相应的电子文档资源312-318的高速缓存标识符304-310的电子文档302的部分的示例。高速缓存标识符304-310包括分配给具有第一计算机脚本语言(如Javascript)的第一电子文档资源312的第一高速缓存标识符304、分配给具有第二计算机脚本语言(如CSS)的第二电子文档资源314的第二高速缓存标识符306、分配给具有计算机标记语言和多媒体内容(如具有多媒体内容的HTML)的第三电子文档资源316的第三高速缓存标识符308、以及分配给具有计算机标记语言(如HTML)的第四电子文档资源318的第四高速缓存标识符310。通过示例并参考上面讨论的高速缓存标识符结构,第一高速缓存标识符304具有高速缓存标识符前缀“r: ”、高速缓存标识符主体“UTILS”和高速缓存标识符后缀“28f2a3bcle4d”。其余的高速缓存标识符306-310的每个具有类似的结构。但是,在替换实施方式中,用于电子文档的高速缓存标识符可以是结构不同的。再参考图2,主机装置110基于来自客户端装置102的对电子文档218-220的请求,提供电子文档218-220至客户端装置102。在一种实施方式中,客户端装置102包括计算机可读介质222、网络接口 224、处理器226、显示器228和输入接口 230。客户端装置102还可包括任何在主机装置110中示出的组件。类似地,主机装置110可包括任 何在客户端装置102中示出的组件。事实上,在一种实施方式中,客户端装置102和主机装置110可共享一套组件。客户端装置102可包括可操作用于接收客户端装置102要从主机装置110请求电子文档的输入的输入接口 230。输入接口 230可以是任何类型的输入接口,例如键盘、鼠标、轨迹球、与其他系统或组件连接的接口、或者任何其他已知的或后来开发的输入接口。处理器226可操作用于传输对电子文档的请求至主机装置110。在一种实施方式中,处理器206可通过网络接口 224传输请求。网络接口 224可以是有线网络接口、无线网络接口或者有线和无线网络接口的组合。另外,处理器226可进一步操作用于接收来自主机装置的包括被请求的电子文档的响应。当客户端装置102接收到来自主机装置110的电子文档时,客户端装置102可分析电子文档以确定电子文档是否参考可高速缓存的电子文档资源。例如,处理器226可解析电子文档以识别已被标记有高速缓存标识符的电子文档资源。如上面所讨论的,当电子文档资源被标记有“1':10:打1^611)1^1^”形式的高速缓存标识符时,处理器226可识别出电子文档资源将被高速缓存。在一种实施方式中,电子文档可包含用于帮助电子文档中被参考的可高速缓存的电子文档资源的识别的逻辑或模块。在另一种实施方式中,处理器226可从计算机可读介质中检索逻辑或模块以识别电子文档中被参考的可高速缓存的电子文档资源。在识别出可高速缓存的电子文档资源之后,处理器226可操作用于将可高速缓存的电子文档资源存储在一个或多个客户端资源数据库232-234中。客户端资源数据库232-234可以是任何类型的数据库,例如平面文件数据库、关系数据库、分层数据库、面向对象的数据库、或者任何其他已知的或后来开发的数据库。在一种实施方式中,客户端资源数据库232-234是HTML5结构化查询语言(“SQL”)数据库。计算机可读介质222还可包括用于访问或修改客户端资源数据库232-234的应用程序接口( “API”),如HTML5网络存储API。访问或修改客户端资源数据库232-234可包括从客户端资源数据库232-234读取、编辑客户端资源数据库232-234、向客户端资源数据库232-234添加、或从客户端资源数据库232-234中移除。客户端资源数据库232-234的每个可被分配给电子文档服务器。例如,客户端资源数据库234可被分配给电子文档服务器208,用于存储由电子文档服务器208提供的可高速缓存的电子文档资源。作为另一种示例,假设主机装置110被配置有位于“WWW. google,com”的统一资源定位符(URL)的第一电子文档服务器,且主机装置110还被配置有位于“mail, google, com”的URL的第二电子文档服务器。当客户端装置102访问“www. google,com”的URL时,处理器226可为第一电子文档服务器建立或分配第一客户端资源数据库。类似地,当客户端装置102访问“mail, google, com”的URL时,处理器226可为第二电子文档服务器建立或分配第二客户端资源数据库。因此,客户端资源数据库232-234的每个可被分配给不同的电子文档服务器。但是,在第一替换实施方式中,处理器226可操作用于为一个或多个电子文档服务器分配或建立单个客户端资源数据库。在另一个替换实施方式中,处理器226可操作用于为被客户端装置102访问的所有电子文档服务器分配或建立单个客户端资源数据库。客户端资源数据库232-234可包括一个或多个电子资源记录236-240。电子资源记录236-240可操作用于存储被标识为可被电子文档高速缓存的电子文档资源212-216。 因此,处理器226可将被标识为可被高速缓存在电子文档中的电子文档资源212-216高速缓存在一个或多个电子资源记录236-240中。在一种实施方式中,电子资源记录236-240可被格式化为键值对。电子资源记录的键可以是可操作用于标识电子资源记录的资源记录标识符。电子资源记录的值可以是资源记录的资源记录内容。但是,根据客户端资源数据库232-234的实施方式,可以使用其他值或键来格式化电子资源记录236-240。如上面所讨论的,处理器226可使用逻辑来标识和高速缓存客户端资源数据库232-234中的可被高速缓存的电子文档资源。以基于HTML5网络存储API的伪代码格式编
写的用于标识和高速缓存可被高速缓存的电子文档资源的逻辑的一个示例如下在上面的伪代码中,处理器226可标识将被高速缓存的电子文档资源,然后可生成用于存储电子文档资源的资源数据库的电子资源记录。而且,电子资源记录可包含与电子文档资源相关的特征,例如电子文档资源被访问的日期、电子文档资源的指纹或其他与电子文档资源相关的特征。在上面的示例中,处理器226生成具有电子文档资源的内容的第一电子资源记录、具有客户端装置102访问电子文档资源的当前日期的第二电子资源记录、以及具有分配给电子文档资源的指纹的第三电子资源记录。图4示出基于图3的电子文档302和第一高速缓存标识符304的电子资源记录236-240的电子资源记录组402的示例。电子资源记录组402包括第一电子资源记录236、第二电子资源记录238和第三电子资源记录240,第一电子资源记录236存储被第一高速缓存标识符304标识的电子文档资源的内容,第二电子资源记录238存储客户端装置102访问被第一高速缓存标识符304标识的电子文档资源的时间戳,第三电子资源记录240存储第一高速缓存标识符304的高速缓存标识符后缀(即,指纹)。如图4所示,电子文档资源236-240的每个的结构都为键值对。参考上面讨论的标识和存储被标识为可被高速缓存的电子文档资源的示例性逻辑,第一电子资源记录236的键404为“r:UTILS: content”,值410为电子文档资源的内容。类似地,第二电子资源记录235的键406为“r:UTILS: timestamp”,值412为“05/05/2010”。最后,第三电子资源记录 240 的键 408 为 “r:UTILS: fingerprint”,值 414 为 “28f2a3bcle4d”。尽管电子资源记录组402具有三个电子资源记录236-240,额外的电子资源记录也是可行的。尽管未示出,但是处理器226可操作用于存储用于第二高速缓存标识符306、第三高速缓存标识符308和第四高速缓存标识符310的额外的电子资源记录组。换句话说,在图3和图4示出的示例中,对于在电子文档302中标识的高速缓存标识符304-310的每个,处理器226可操作用于准备具有存储电子文档资源和相关特征的电子资源记录的电子资源记录组,相关特征例如为客户端装置102访问电子文档资源的日期和电子文档资源的指纹。另外,处理器226可使用用于管理客户端资源数据库232-234的电子资源记录236-240的逻辑或模块。例如,处理器226可操作用于在自从将电子文档资源存储到客户端资源数据库232-234起已经过去预定时间段后,更新或修改客户端资源数据库232-234。在一种实施方式中,处理器226可操作用于在将电子文档资源存储到客户端数据库一年后,将相应的电子文档资源移除。但是,处理器226可使用其他的预定时间段来确定是否移除电子文档资源记录,例如秒、分钟、月、年或其他时间量。在另一种实施方式中,处理器226可操作用于基于预定数量的最近或最经常被访问的电子文档资源来更新或修改客户端资源数据库232-234。例如,处理器226可操作用于更新或修改客户端资源数据库232-234以保存或保持10个最近或最经常被访问的电子文档资源。在这个实施方式中,预定数量的最近或最经常被访问的电子文档资源可被无限期地高速缓存。但是,在替换实施方式中,可基于计算机可读介质222的存储容量、客户端资源数据库232-234的存储容量或其组合来移除预定数量的最近或最经常被访问的电子文档资源。再参考图2,计算机可读介质还可包括可操作用于生成存储在客户端资源数据库232-234中的电子文档资源的目录的一个或多个电子资源目录242-244。第一电子资源目录242可被分配给第一客户端资源数据库232,其生成存储在第一电子资源数据库232中的电子文档资源的目录;第二电子资源目录244可被分配给第二客户端资源数据库234,其生成存储在第二客户端资源数据库234中的电子文档资源的目录。由于可在计算机可读介质222中分配或建立额外的客户端资源数据库(未示出),处理器226可操作用于为每个分配的或建立的客户端资源数据库生成或建立额外的电子资源目录。但是,在替换实施方式中,处理器226可生成或建立不同配置的电子资源目录,例如,为所有的客户端资源数据库生成或建立单个电子资源目录,或者为特定组的客户端资源数据库生成或建立电子资源目录。处理器226可生成或建立的电子资源目录的一个示例为“信息记录程序”,其可以是包括一个或多个名值对的字符串。参考图5示出信息记录程序的一个示例。处理器226可使用逻辑或模块以生成或建立电子资源目录242-244。在一种实施方式中,电子文档可包含逻辑或模块以帮助电子资源目录242-244的生成或建立。在另一种实施方式中,处理器226可从计算机可读介质222中检索逻辑或模块以生成或建立电子资源目录242-244。
下面示出以基于HTML5网络存储API的伪代码形式编写的用于生成电子资源目录242-244的逻辑的一个示例。下面的逻辑还包括用于管理预定时间段已经期满之后的电子资源记录的伪代码。
for each item in IocalStorage { if the item is of the format r:ID.timestamp {if the timestamp is older than the predetermined time period {
localStorage.removeItem(’r:’ + ID + ‘.timestamp’); localStorage.removeItem(,r:’ + ID + ‘.content); localStorage.removeItem(,r:5 + ID + ‘.fingerprint);
}
else {
fingerprint = localStorage.getItem(,r:,+ ID + ‘·fingerprint,); resourceList.add(ID + + fingerprint)
}
}
writeCookie(resourceList);在上面的伪代码中,逻辑指示处理器226首先通过分析电子资源记录是否具有“r: ID. timestamp”格式的键来确定客户端装置102是否已高速缓存用于电子文档的电子文档资源。参考图3,这种格式的键的一个示例是用于电子资源记录238的键406。如果处理器226确定客户端装置102已高速缓存电子文档资源,且电子资源记录具有“r: ID. timestamp”格式的键,那么处理器226将电子资源记录的值部分中指示的日期与预定时间段进行比较。例如,处理器226可将电子资源记录238的值412与预定时间段如一年进行比较。当电子资源记录的值部分中指示的日期比预定时间段迟,那么处理器226可移除与具有比预定时间段迟的日期的电子资源记录相应的电子文档资源对应的电子资源记录。通过从电子资源数据库中移除电子资源记录,处理器226强制客户端装置102使用存储在主机装置10上的电子文档资源。但是,处理器226可不从电子资源数据库中移除电子资源记录。例如,当日期值不比预定时间段迟时,处理器226可不从电子资源数据库中移除电子资源记录。当客户端装置102首次访问电子文档服务器208时,日期值可能不比预定时间段迟,因为客户端装置102之前未访问过电子文档服务器208,处理器226刚刚在客户端资源数据库中生成电子资源记录;或者,当客户端装置102接下来在预定时间段内访问电子文档服务器208时,日期值可能也不比预定时间段迟。如果电子资源记录的日期值不比预定时间段迟,那么服务器226可为电子资源目录增加高速缓存标识符主体(电子文档资源的“ID”)和高速缓存标识符后缀(电子文档资源的“fingerprint”)。因此,通过检查客户端装置102高速缓存电子文档资源的日期,处理器226可保证电子资源目录中列出的电子文档资源不比规定的预定时间段迟。图5示出用于图3中示出的电子文档的电子资源目录242的一个示例。电子资源目录242包括数个指示客户端装置102已高速缓存的电子文档资源的对502-508。如图5所示,电子资源目录242指示客户端组装置102已高速缓存具有“UTILS”的ID和“28f2a3bcle4d”的指纹的第一电子文档资源、具有“CSS”的ID和“d24ela2cb89f ”的指纹的第二电子文档资源、具有“HEADER”的ID和“ab394e3d2bc6”的指纹的第三电子文档资源、以及具有“FOOTER”的ID和“7144e8C2a28e”的指纹的第四电子文档资源。根据电子文档是否进一步识别将被客户端装置102高速缓存的电子文档资源,额外的对也是可行的。再参考图2,在高速缓存电子文档资源212-216时或之后,客户端装置102可在显示器228上显示被请求的一个或多个电子文档218-220。显示器228可以是任何类型的显 示器,例如视频显示器(例如,电脑显示器)、音频显示器(例如,音频扬声器)或音频和视频显示器的组合。当客户端装置102从主机装置102请求电子文档时,客户端装置102还可传输一个或多个电子资源目录242-244至主机装置110。通过一起传输对电子文档的请求和一个或多个电子资源目录242-244,客户端装置102可通知主机装置110哪些电子文档资源已被客户端装置102高速缓存在一个或多个客户端资源数据库232-234中。因此,一个或多个电子资源数据242-244的传输减少接收和/或显示电子文档的延迟,因为客户端装置102和主机装置110不必持续地通信以便主机装置110或客户端装置102确定哪些电子文档资源已被客户端装置102高速缓存以及确定那些已被高速缓存的电子文档资源与存在于主机装置110上的电子文档资源相比是否不同或过期。当主机装置110接下来传输电子文档至客户端装置102时,主机装置110可修改由客户端装置102显示的电子文档以使其包括对存在于客户端装置102上的高速缓存的电子文档资源的参考。下面的伪代码是可用于主机装置110确定是否修改发送至客户端装置102的电子文档的逻辑的一个示例
if (cookie contains resource_id) {
print(’’<script>load_resource(,r:’’ + resource_id + “‘)</script>”)
} else { print(resource_content)
}使用上面的伪代码,主机装置110的处理器206可首先确定随着对电子文档的请求一起发送的电子资源目录(例如,信息记录程序)是否包含用于被所请求的电子文档参考的电子文档资源的资源标识符,如高速缓存标识符主体。作为示例,并参考图3和图5,处理器206可确定电子资源目录242的对506是否具有与电子文档302的高速缓存标识符308的高速缓存标识符主体相匹配的高速缓存标识符主体,在这个示例中,高速缓存标识符主体为“HEADER”。当对506的高速缓存标识符主体与高速缓存标识符308的高速缓存标识符主体相匹配时,处理器206修改电子文档302以指示客户端装置102的处理器226从客户端资源数据库234中检索高速缓存的电子文档资源。而且,关于主机装置110已经更新或替换的电子文档资源,主机装置110传输更新的或替换的电子文档资源至客户端装置102,因为用于更新的或替换的电子文档资源的高速缓存标识符的高速缓存标识符后缀(例如,指纹)与被替换的电子文档资源的高速缓存标识符后缀(例如,指纹)不同。·
图6示出参考高速缓存在客户端装置102上的电子文档资源的修改的电子文档602的部分的一个示例。修改的电子文档602包括指示客户端装置102的处理器226参考存储在客户端资源数据库232-234中的高速缓存的电子文档资源以显示被请求的电子文档602的修改604-610。修改的电子文档602还可包括用于被客户端装置102的处理器226执行以确定是否从客户端资源数据库检索高速缓存的电子文档资源的逻辑或模块。尽管示出修改的电子文档602中的伪代码形式的逻辑,但是伪代码形式的逻辑也可被复制如下
function load resource(resource id) {
content = localStorage.getItem(,r:’ + ID + ‘.content’); if (content) {
document, write(content);
Il update the timestamp so that the content does not expire from cache
localStorage.setItem(’r:’ + ID + ‘.timestamp’, Date.now());
} else { clearCookie(); reloadPage();
}
}

上面的伪代码指示处理器226首先确定客户端资源数据库是否已高速缓存标识在电子资源目录中的电子文档资源。如果是,伪代码指示处理器226从客户端资源数据库检索用于显示电子文档的电子文档资源。另外,上面的伪代码指示处理器226确定电子资源目录是否错误地参考客户端装置102之前未高速缓存的电子文档资源。在这种情况下,处理器226可尝试纠正错误地记录的电子文档资源。例如,处理器226可删除电子资源目录的内容,或者移除电子资源目录,然后重新从主机装置110请求电子文档。在响应中,主机装置可传输电子文档资源至客户端装置102,因为重新请求不包括电子资源目录或具有移除的内容的电子资源目录。图7是用于传输将被客户端装置102高速缓存的电子资源的逻辑流程700的一个示例。首先,主机装置110可接收标识一个或多个电子文档资源212-216是否可被客户端装置102高速缓存的请求(块702)。主机装置110可从主机装置的使用者、主机装置110的组件、或其他计算机系统或其组合接收请求。然后,处理器206可生成用于一个或多个电子文档资源的一个或多个高速缓存标识符(块704),然后将一个或多个高速缓存标识符插入一个或多个电子文档218-220中(块706)。然后,主机装置110可接收对一个或多个电子文档218-220的请求(块708)。当主机装置Iio接收到对一个或多个电子文档218-220的请求时,主机装置110可确定请求是否包括一个或多个电子资源目录242-244(块710)。如果请求不包括一个或多个电子资源目录242-244,主机装置110可传输被请求的一个或多个电子文档218-220以及被一个或多个电子文档218-220参考的一个或多个电子文档资源212-216 (块712)。但是,主机装置110可能确定对一个或多个电子文档218-220的请求包括一个或多个电子资源目录242-244。那么,主机装置110可确定一个或多个电子资源目录242-244是否包括用于被一个或多个电子文档218-220参考的一个或多个电子文档资源212-216的高速缓存标识符(块714)。在一种场景中,一个或多个电子目录242-244不包括用于电子文档资源的高速缓存标识符,因为自从客户端装置102最后一次请求电子文档起,电子文档资源已被增加至电子文档。在另一种场景中,一个或多个电子目录242-244不包括用于电子文档资源的高速缓存标识符,因为自从客户端装置102最后一次请求电子文档起,电子文档资源被替换或更新。当一个或多个电子目录242-244不包括用于被一个或多个电子文档218-220参考的电子文档资源的高速缓存标识符时,主机装置110可传输电子文档资源至客户端装置102 (块712)。但是,当一个或多个电子目录242-244包括用于被所请求的一个或多个电子文档218-220参考的电子文档资源的高速缓存标识符时,主机装置110可修改被请求的一个或多个电子文档218-220以使其参考高速缓存在一个或多个客户端资源数据库232-234中的高速缓存的电子文档资源(块716)。图8是用于替换之前高速缓存的电子文档资源的逻辑流程802的一个示例。首先,主机装置110可接收替换电子文档资源或更新的电子文档资源(块804)。然后,处理器206可生成用于替换电子文档资源或更新的电子文档资源的替换高速缓存标识符或更新的高速缓存标识符(块806)。处理器206可将用于电子文档资源的原始高速缓存标识符替换为替换高速缓存标识符(块808)。但是,处理器206还可在电子文档之前不参考替换电子文档资源时,将替换高速缓存标识符插入电子文档中。例如,替换电子文档资源可以为额外的之前不被电子文档参考的电子文档资源。然后,主机装置110可接收对一个或多个电子文档218-220的请求(块810)。当主机装置Iio接收到对一个或多个电子文档218-220的请求时,主机装置110可确定请求是否包括一个或多个电子资源目录242-244(块812)。如果请求不包括一个或多个电子资源目录242-244,主机装置110可传输所请求的一个或多个电子文档218-220以及被一个或多个电子文档218-220参考的一个或多个电子文档资源212-216,其中一个或多个电子文档资源212-216包括更新的、额外的或替换的电子文档资源(块814)。但是,主机装置110可能确定对一个或多个电子文档218-220的请求包括一个或多个电子资源目录242-244。那么,主机装置110可确定一个或多个电子资源目录242-244是否包括用于被一个或多个电子文档218-220参考的替换电子文档资源的高速缓存标识符(块816)。在一种场景中,一个或多个电子目录242-244不包括用于替换电子文档资源的替换高速缓存标识符。当一个或多个电子目录242-244不包括用于被所请求的一个或多个电子文档218-220参考的替换电子文档资源的替换高速缓存标识符时,主机装置110可传输替换电子文档资源至客户端装置102 (块814)。但是,在另一种场景中,一个或多个电子目录242-244可能包括替换高速缓存标识符,其中主机装置110生成的替换高速缓存标识符不与用于被替换的电子文档资源的高速缓存标识符不同。换句话说,替换高速缓存标识符和高速缓存标识符是相同的,因此客户端装置102存储的高速缓存标识符与替换高速缓存标识符相匹配。因此,主机装置110可分析高速缓存的电子资源的时间戳或其他特征以确定是否传输替换电子文档资源。当主机装置110确定高速缓存的电子文档资源的特征与替换电子文档资源的特征不同时,主机装置110可传输替换电子文档资源至客户端装置102 (块 818)。图9是用于检索之前高速缓存的电子文档资源以显示电子文档的逻辑流程902的一个示例。首先,客户端装置102可传输对一个或多个电子文档218-220的请求(块904)。在传输请求的同时,或在传输请求之前,处理器226可确定是否包括与对一个或多个电子文档218-220的请求一起的一个或多个电子资源目录242-244(块906)。当处理器226确定不包括与对一个或多个电子文档218-220的请求一起的一个或多个电子资源目录242-244时,例如当客户端装置102之前未访问过电子文档服务器208时,处理器226传输请求并等待来自主机装置110的响应。然后,处理器226接收一个或多个所请求的电子文档218-220以及被一个或多个所请求的电子文档218-220参考的一个或多个电子文档资源212-216 (块908)。处理器226解析一个或多个所请求的电子文档以识别被参考的电子文档资源212-216及其相应的高速缓存标识符(块910)。由于处理器226识别出一个或多个电子文档218-220中的高速缓存标识符,因此处理器226可在用于高速缓存被标识为可被高速缓存的一个或多个电子文档资源212-216的一个或多个客户端资源数据库232-234中生成一个或多个资源记录236-240 (块912)。在一种实施方式中,处理器226还可生成或建立一个或多个的客户端资源数据库232-234。然后,处理器226可高速缓存一个或多个客户端资源记录236-240中的一个或多个电子文档资源212-216并生成标识高速缓存在一个或多个客户端资源数据库232-234中的电子文档资源的电子资源目录(块914)。但是,处理器226可能确定包括与对一个或多个电子文档218-220的请求一起的一个或多个电子资源目录242-244。例如,当客户端装置102之前访问过电子文档服务器208时,处理器226可能确定包括与对一个或多个电子文档218-220的请求一起的一个或多个电子资源目录242-244。当处理器226确定包括与对一个或多个电子文档218-220的请求一起的一个或多个电子资源目录242-244时,处理器226传输一个或多个电子资源目录242-244以及对一个或多个电子文档218-220的请求(块916)。在传输请求以及一个或多个电子资源目录242-244之后,处理器226可接收一个或多个电子文档218-220 (块918)。在一种场景中,当电子文档资源之前未被客户端装置102高速缓存时,处理器226还可接收这些电子文档资源。当处理器226接收到电子文档218-220时,处理器220识别出对一个或多个电子文档218-220的修改并从一个或多个电子资源记录236-240中检索一个或多个高速缓存的电子文档资源(块920)。然后,处理器226可使用高速缓存的电子资源显示所请求的一个或多个电子文档218-220 (块922)。上面描述的系统、组件和逻辑可以很多不同的方式实施,包括硬件和软件的结合、或者用于安装在任何期望的操作系统上的软件,操作系统包括Linux、UNIX或Windows。功能可在单个系统中实施,或者功能可被分割到多个系统。作为另一种示例,组件、系统和逻辑可被实施为计算机可执行的指令或者内存中的数据结构,并可被存储在、分布到、或读取自很多不同类型的机器可读介质。机器可读介质可包括RAM、R0M、硬盘、软盘、CD-ROMS、闪存或其他机器可读介质。组件、系统和逻辑还可被编码在信号中,例如从网络接收到的信号、或者分割成段的信号、以及在与网络通信的多个数据包中接收到的信号。系统可在软件、硬件或软件和硬件的组合中实施。系统、逻辑和/或模块可在计算机程序语言中实施,例如C#或Java、或任何其他已知的或后来开发的计算机程序语言。系统、逻辑和/或模块还可在计算机脚本语言中实施,例如Javascript、PHP、ASP、或任何其他已知的或后来开发的计算机脚本语言。而且,可以采用计算机程序语言和计算机脚本语言的结合来实施系统、逻辑和/或模块的一个或多个。而且,系统可使用额外的、不同的或更少的组件而实现。作为一种示例,处理器或任何其他的逻辑或组件可通过微处理器、微控制器、DSP、特定用途集成电路(ASIC)、程序指令、离散模拟或数字逻辑、或其他类型的电路或逻辑的组合而实现。作为另一种示例,内存可以为DRAM、SRAM、闪存或其他类型的内存。系统可以分布在多个组件之间,例如在多个处理器和内存之间,优选地包括多个分布式处理系统。逻辑,例如程序或电路,可以在多个程序之间组合或分割、分布在数个内存和处理器上、并可在函数库中或作为函数库实施,例如动态链接库(DLL)或其他共享的程序库。例如,DLL可存储用于执行如上所述的特定模块的功能的代码。作为另一种示例,DLL自身可提供系统的所有或一些功能。系统之间的接口和系统中的逻辑和模块之间的接口可以多种方式实施。例如,系统之间的接口可以是网络服务、简单对象访问协议或企业服务总线接口。接口的其他示例包括消息传递,例如发布/订阅消息传递、共享的内存和远程程序呼叫。尽管本文已经结合特定实施例描述本发明的方面,但是应理解这些实施例仅仅用于示意性地说明本发明的原理和应用。因此,应理解在不脱离所附的权利要求定义的本发明的精神和范围的前提下,可对示意性实施例做出多种修改并可以设计出其他配置。而且,尽管以特定的顺序示出某些操作和功能,但是除非另有明确的规定,它们可以不同的顺序执行。工业应用性本发明具有广泛的工业应用性,包括但不限于浏览系统和装置,以及互联网相关的服务器和其他互联网相关的高速缓存技术。
权利要求
1.一种用于高速缓存之前标识的电子文档资源的系统,所述系统包括 计算机可读介质,包括 包括资源记录的资源数据库,所述资源记录可操作用于标识电子文档资源,其中所述资源记录包括资源记录标识符和资源记录内容;以及处理器,可操作用于 传输对电子文档的第一请求; 接收包括所述电子文档的第一响应; 解析所述电子文档以识别已被标记有高速缓存标识符的电子文档资源,其中所述高速缓存标识符可操作用于标识所述电子文档资源将被高速缓存在所述计算机可读介质中;和将所述电子文档资源高速缓存在所述资源数据库中作为所述资源记录,其中 所述资源记录内容包括所述电子文档资源;和 所述资源记录标识符包括所述高速缓存标识符。
2.根据权利要求I所述的系统,其中所述处理器进一步可操作用于基于所述资源记录生成电子资源目录,其中所述电子资源目录包括所述资源记录标识符。
3.根据权利要求2所述的系统,其中所述处理器进一步可操作用于提供所述电子资源目录以标识存储在所述资源数据库中的所述电子文档资源。
4.根据权利要求2所述的系统,其中所述处理器进一步可操作用于 传输对所述电子文档的第二请求,其中所述第二请求包括所述电子资源目录; 接收包括所述电子文档的第二响应;以及 基于所述第二响应从所述资源数据库中检索所述电子文档资源以显示所述电子文档。
5.根据权利要求I所述的系统,其中所述电子资源记录被建立用于预定的时间段。
6.根据权利要求I所述的系统,其中所述高速缓存标识符是基于所述电子文档资源的。
7.根据权利要求I所述的系统,其中所述电子文档可操作用于识别 多个电子文档资源;以及 多个高速缓存标识符,其中 每个高速缓存标识符在所述多个高速缓存标识符中是唯一的;和 每个高速缓存标识符对应所述多个电子文档资源中的电子文档资源。
8.一种用于高速缓存之前标识的电子文档资源的方法,所述方法包括 建立资源数据库,所述资源数据库包括可操作用于标识电子文档资源的资源记录,其中所述资源记录包括资源记录标识符和资源记录内容; 传输对电子文档的第一请求; 接收包括所述电子文档的第一响应; 解析所述电子文档以识别已被标记有高速缓存标识符的电子文档资源,其中所述高速缓存标识符可操作用于标识所述电子文档资源将被高速缓存在所述计算机可读介质中;和将所述电子文档资源高速缓存在所述资源数据库中作为所述资源记录,其中 所述资源记录内容包括所述电子文档资源;和 所述资源记录标识符包括所述高速缓存标识符。
9.根据权利要求8所述的方法,进一步包括基于所述资源记录生成电子资源目录,其中所述电子资源目录包括所述资源记录标识符。
10.根据权利要求9所述的方法,进一步包括提供所述电子资源目录以标识存储在所述资源数据库中的所述电子文档资源。
11.根据权利要求8所述的方法,进一步包括 传输对所述电子文档的第二请求,其中所述第二请求包括所述电子资源目录; 接收包括所述电子文档的第二响应;以及 基于所述第二响应从所述资源数据库中检索所述电子文档资源以显示所述电子文档。
12.根据权利要求8所述的方法,其中所述电子资源记录被建立用于预定的时间段。
13.根据权利要求8所述的方法,其中所述高速缓存标识符是基于所述电子文档资源的。
14.根据权利要求8所述的方法,其中所述电子文档可操作用于识别 多个电子文档资源;以及 多个高速缓存标识符,其中 每个高速缓存标识符在所述多个高速缓存标识符中是唯一的;和 每个高速缓存标识符对应于所述多个电子文档资源中的电子文档资源。
15.一种用于建立电子文档资源的高速缓存的系统,所述系统包括 计算机可读介质,包括 用于通过客户端装置显示的电子文档,其中所述电子文档可操作用于识别用于显示所述电子文档的电子文档资源;以及处理器,可操作用于 接收标识所述电子文档资源可被高速缓存在客户端装置中的请求; 基于所述电子文档资源生成第一高速缓存标识符,其中所述第一高速缓存标识符可操作用于区分所述电子文档资源; 将所述第一高速缓存标识符插入所述电子文档中;和 在对所述电子文档的第一请求的响应中传输所述电子文档和所述电子文档资源。
16.根据权利要求15所述的系统,其中所述处理器进一步可操作用于 接收对所述电子文档的第二请求,其中所述第二请求包括可操作用于标识所述电子文档资源是否已被所述客户端装置高速缓存的电子资源目录; 确定所述电子文档资源是否已通过参考所述电子资源目录而被高速缓存;以及当确定所述电子文档资源已被所述客户端装置高速缓存时,修改所述电子文档以参考已被高速缓存的所述电子文档资源。
17.根据权利要求15所述的系统,其中所述处理器进一步可操作用于 接收对所述电子文档的第二请求,其中所述第二请求包括可操作用于标识所述电子文档资源是否已被所述客户端装置高速缓存的电子资源目录; 确定所述电子文档资源是否已通过参考所述电子资源目录而被高速缓存;以及 当确定所述电子文档资源未被所述客户端装置高速缓存时,传输所述电子文档资源。
18.根据权利要求15所述的系统,其中所述处理器进一步可操作用于 接收用于替换所述电子文档资源的替换电子文档资源; 生成用于所述替换电子文档资源的第二高速缓存标识符,其中所述第二高速缓存标识符可操作用于区分所述替换电子文档资源;以及 使用所述第二高速缓存标识符替换所述电子文档中的第一高速缓存标识符。
19.根据权利要求18所述的系统,其中所述处理器进一步可操作用于 接收对所述电子文档的第二请求,其中所述第二请求包括可操作用于标识所述替换电子文档资源是否已被高速缓存的电子资源目录;以及 当所述电子资源目录标识所述替换电子文档资源未被高速缓存时,传输所述替换电子文档资源。
20.根据权利要求19所述的系统,其中所述电子资源目录包括第一高速缓存标识符。
21.根据权利要求15所述的系统,其中所述电子文档可操作用于识别 多个电子文档资源;以及 多个高速缓存标识符,其中 每个高速缓存标识符在所述多个高速缓存标识符中是唯一的;和 每个高速缓存标识符对应于所述多个电子文档资源中的电子文档资源。
22.—种用于建立电子文档资源的高速缓存的方法,所述方法包括 将用于通过客户端装置显示的电子文档存储在计算机可读介质中,其中所述电子文档可操作用于识别用于显示所述电子文档的电子文档资源; 通过处理器接收标识所述电子文档资源可被高速缓存在客户端装置中的请求; 通过处理器基于所述电子文档资源生成第一高速缓存标识符,其中所述第一高速缓存标识符可操作用于区分所述电子文档资源; 通过所述处理器将所述第一高速缓存标识符插入所述电子文档中;以及通过所述处理器在对所述电子文档的第一请求的响应中传输所述电子文档和所述电子文档资源。
23.根据权利要求22所述的方法,进一步包括 通过所述处理器接收对所述电子文档的第二请求,其中所述第二请求包括可操作用于标识所述电子文档资源是否已被所述客户端装置高速缓存的电子资源目录; 通过所述处理器确定所述电子文档资源是否已通过参考所述电子资源目录而被高速缓存; 当确定所述电子文档资源已被所述客户端装置高速缓存时,通过所述处理器修改所述电子文档以参考已被高速缓存的所述电子文档资源。
24.根据权利要求22所述的方法,还包括 通过所述处理器接收对所述电子文档的第二请求,其中所述第二请求包括可操作用于标识所述电子文档资源是否已被所述客户端装置高速缓存的电子资源目录; 通过所述处理器确定所述电子文档资源是否已通过参考所述电子资源目录而被高速缓存;以及 当确定所述电子文档资源未被所述客户端装置高速缓存时,通过所述处理器传输所述电子文档资源。
25.根据权利要求22所述的方法,进一步包括 通过所述处理器接收用于替换所述电子文档资源的替换电子文档资源; 通过所述处理器生成用于所述替换电子文档资源的第二高速缓存标识符,其中所述第二高速缓存标识符可操作用于区分所述替换电子文档资源;以及 通过所述处理器使用所述第二高速缓存标识符替换所述电子文档中的所述第一高速缓存标识符。
26.根据权利要求25所述的方法,进一步包括 接收对所述电子文档的第二请求,其中所述第二请求包括可操作用于标识所述替换电子文档资源是否已被高速缓存的电子资源目录;以及 当所述电子资源目录标识所述替换电子文档资源未被高速缓存时,传输所述替换电子文档资源。
27.根据权利要求26所述的方法,其中所述电子资源目录包括所述第一高速缓存标识符。
28.根据权利要求22所述的方法,其中所述电子文档可操作用于识别 多个电子文档资源;以及 多个高速缓存标识符,其中 每个高速缓存标识符在所述多个高速缓存标识符中是唯一的;和 每个高速缓存标识符对应于所述多个电子文档资源中的电子文档资源。
全文摘要
一种参考存储在主机装置(120)上的一个或多个电子文档资源(212-216)的电子文档(302)。主机装置(120)可在电子文档(302)中指示电子文档(302)可被客户端装置(102)高速缓存。当电子文档资源(212-216)被标识为可被客户端装置(102)高速缓存时,客户端装置(102)将电子文档资源(212-216)高速缓存在存储在客户端装置(102)的计算机可读介质(222)中的数据库中。客户端装置(102)还可生成电子文档资源目录(242-244)以标识那些高速缓存在数据库中的电子文档资源。当客户端装置(102)接下来从主机装置(120)请求电子文档(302)时,客户端装置(102)可传输电子文档资源目录(242-244)至主机装置(120)。一旦接收到电子文档资源目录(242-244),主机装置(120)可修改电子文档(302)以便电子文档(302)参考高速缓存在客户端装置(102)的数据库中的电子文档资源(236-240)。
文档编号G06F17/30GK102985921SQ201180026187
公开日2013年3月20日 申请日期2011年5月6日 优先权日2010年5月7日
发明者史蒂文·T·卡纳弗斯凯 申请人:谷歌公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1