用于在主机文档服务中提供离线访问的系统和方法.pdf

上传人:32 文档编号:6184723 上传时间:2019-05-18 格式:PDF 页数:23 大小:2.85MB
返回 下载 相关 举报
摘要
申请专利号:

CN201280041938.7

申请日:

2012.08.17

公开号:

CN103765419A

公开日:

2014.04.30

当前法律状态:

授权

有效性:

有权

法律详情:

专利权人的姓名或者名称、地址的变更IPC(主分类):G06F 17/30变更事项:专利权人变更前:谷歌公司变更后:谷歌有限责任公司变更事项:地址变更前:美国加利福尼亚州变更后:美国加利福尼亚州|||授权|||实质审查的生效IPC(主分类):G06F 17/30申请日:20120817|||公开

IPC分类号:

G06F17/30

主分类号:

G06F17/30

申请人:

谷歌公司

发明人:

大卫·巴雷特-卡恩; 尼古拉斯·亚历山大·可可玛

地址:

美国加利福尼亚州

优先权:

2011.08.29 US 61/528,472; 2012.07.30 US 13/561,173

专利代理机构:

中科专利商标代理有限责任公司 11021

代理人:

赵伟

PDF下载: PDF下载
内容摘要

当用户设备处于离线状态时在用户设备处接收到对文档的请求。该请求包括与远离用户设备的位置相对应的公共统一资源定位符(URL)。用户设备启动拦截该请求的应用并且基于公共URL选择多个本地缓存之一。多个本地缓存中的每个与私有URL相关联。用户设备经由相应的私有URL访问所选的本地缓存以取回编辑器。用户设备修改URL历史以使用公共URL替换私有URL并且经由该编辑器向用户设备提供文档。

权利要求书

权利要求书
1.  一种方法,包括:
当用户设备处于离线状态时在所述用户设备处接收对文档的请求,所述请求包括与远离所述用户设备的位置相对应的公共统一资源定位符;
启动拦截所述请求的应用;
基于所述公共统一资源定位符来选择多个本地缓存之一,所述多个本地缓存中的每个本地缓存与私有统一资源定位符相关联;
经由相应的私有统一资源定位符来访问所选择的本地缓存以取回编辑器;
修改统一资源定位符历史以使用所述公共统一资源定位符替换所述私有统一资源定位符;以及
经由所述编辑器向所述用户设备提供所述文档。

2.  根据权利要求1所述的方法,其中,所述私有统一资源定位符包括互联网页面的地址,所述互联网页面具有持久的本地所缓存的副本。

3.  根据权利要求1所述的方法,其中,所述文档被存储在所述用户设备上的数据库处。

4.  根据权利要求3所述的方法,还包括:
响应于确定所述用户设备处于在线状态,启动第二编辑器应用,所述第二编辑器应用被配置为与在远离所述用户设备的所述位置处的服务器进行通信。

5.  根据权利要求4所述的方法,还包括:
在所述用户设备处存储对所述文档进行的编辑;以及
向所述服务器发送所述改变。

6.  根据权利要求4所述的方法,还包括:
向所述服务器发送轮询对所述文档的更新的请求;以及
响应于向所述服务器轮询对所述文档的更新,接收所述更新。

7.  根据权利要求1所述的方法,还包括:
从存储设备取回与所述文档和所述用户设备有关的信息。

8.  一种存储有计算机程序指令的非瞬时计算机可读介质,当在处理器上执行所述计算机程序指令时,所述计算机程序指令使所述处理器执行包括以下步骤的方法:
当用户设备处于离线状态时在所述用户设备处接收对文档的请求,所述请求包括与远离所述用户设备的位置相对应的公共统一资源定位符;
启动拦截所述请求的应用;
基于所述公共统一资源定位符来选择多个本地缓存之一,所述多个本地缓存中的每个本地缓存与私有统一资源定位符相关联;
经由相应的私有统一资源定位符来访问所选择的本地缓存以取回编辑器;
修改统一资源定位符历史以使用所述公共统一资源定位符替换所述私有统一资源定位符;以及
经由所述编辑器向所述用户设备提供所述文档。

9.  根据权利要求8所述的非瞬时计算机可读介质,其中,所述私有统一资源定位符包括互联网页面的地址,所述互联网页面具有持久的本地所缓存的副本。

10.  根据权利要求8所述的非瞬时计算机可读介质,其中,能够经由网络访问远离所述用户设备的所述位置。

11.  根据权利要求8所述的非瞬时计算机可读介质,其中,所述文档被存储在所述用户设备上的数据库处。

12.  根据权利要求9所述的非瞬时计算机可读介质,还包括定义以下步骤的指令:
响应于确定所述用户设备处于在线状态,启动第二编辑器应用,所述第二编辑器应用被配置为与在远离所述用户设备的所述位置处的服务器进行通信。

13.  根据权利要求12所述的非瞬时计算机可读介质,还包括定义以下步骤的指令:
在所述用户设备处存储对所述文档进行的编辑;以及
向所述服务器发送所述改变。

14.  根据权利要求11所述的非瞬时计算机可读介质,还包括定义以下步骤的指令:
向所述服务器发送轮询对所述文档的更新的请求,以及
响应于向所述服务器轮询对所述文档的更新,接收所述更新。

15.  根据权利要求11所述的非瞬时计算机可读介质,还包括定义以下步骤的指令:
从存储设备取回与所述文档和所述用户设备有关的信息。

说明书

说明书用于在主机文档服务中提供离线访问的系统和方法
相关申请的交叉引用
本申请要求于2012年7月30日提交的美国专利申请No.13/561,173和于2011年8月29日提交的美国临时申请No.61/528,472的优先权,其均通过引用的方式完整地并入本文。
本申请与以下申请有关:于2011年6月23日提交的美国专利申请No.13/166,844;于2011年5月27日提交的美国专利申请No.13/117,386;于2011年5月5日提交的美国专利申请No.13/101,312;于2011年3月30日提交的美国专利申请No.13/075,402;于2011年8月10日提交的美国专利申请No.13/206,896;于2011年8月10日提交的美国专利申请No.13/207,051;于2011年8月10日提交的美国专利申请No.13/207,117;于2011年8月10日提交的美国专利申请No.13/207,176;于2011年1月13日提交的美国专利申请No.13/006,259;于2011年9月10日提交的美国临时申请No.61/381,780;于2011年3月3日提交的美国临时申请No.61/448,715;以及于2011年3月16日提交的美国临时申请No.61/453,238,其均通过引用的方式并入本文。
技术领域
本说明书大体上涉及用于在主机(hosted)文档服务中提供离线访问的系统、方法和装置,更具体地,涉及用于在主机文档服务中提供对多个文档的离线访问的系统、方法和装置。
背景技术
当处于离线模式时,现有的系统向用户提供有限的访问在线应用的能力。在现有的文档处理应用中,用户可以在本地编辑文档。在现有的在线文档处理应用中,当处于在线状态时,用户可以通过访问网 页来编辑文档。然而,当用户的设备处于离线模式时,功能受到限制。例如,如果用户设备在处于离线状态时尝试访问在线文档,则用户的浏览器可以返回错误消息,该错误消息指示互联网连接丢失或者不可用并且用户不能连接到网页。
当用户设备处于离线状态时,一些浏览器可以显示与特定网页相关的缓存数据(例如,存储在浏览器缓存中的数据)。然而,功能受到限制,并且当尝试访问网页中的超链接或者对网页中的文档进行编辑时,通常显示错误消息(如上所述)。
发明内容
根据一个实施例,当用户设备处于离线状态时在用户设备处接收到对文档的请求。该请求包括与远离用户设备的位置相对应的公共统一资源定位符。启动拦截请求的应用。基于公共统一资源定位符来选择包含能够查看文档的应用的多个本地缓存之一。多个本地缓存中的每一个本地缓存与私有统一资源定位符相关联。经由相应的私有统一资源定位符来访问所选择的本地缓存以取回编辑器。修改统一资源定位符历史以使用公共统一资源定位符来替换私有统一资源定位符。经由编辑器向用户设备提供文档。
在一个实施例中,私有统一资源定位符包括具有持久的本地缓存副本的互联网页面的地址。
在一个实施例中,文档被存储在用户设备上的数据库处。在另一个实施例中,响应于确定用户设备处于在线状态,启动第二编辑器应用,其中,第二编辑器应用被配置为与远离用户设备的位置处的服务器进行通信。在一个实施例中,在用户设备处存储在用户设备处对文档进行的编辑,以及向服务器发送改变。在另一实施例中,向服务器发送轮询对文档的更新的请求。响应于向服务器轮询对文档的更新,接收更新。
在一个实施例中,从存储设备取回与文档和用户设备有关的信息。
对于本领域普通技术人员而言,通过参照下面的详细描述和附图,本公开的这些和其他优点将显而易见。
附图说明
图1示出了根据一个实施例可以用于提供对文档的访问的通信系统;
图2示出了根据一个实施例的示例性用户设备的功能组件;
图3示出了根据一个实施例的示例性文档服务的功能组件;
图4示出了根据一个实施例在实现为网页的编辑器中显示的文档;
图5是描绘根据一个实施例在离线状态中提供对文档的访问的方法的流程图;
图6示出了根据一个实施例与文档相关联的公共地址和私有地址;
图7是描绘根据一个实施例访问文档的方法的流程图;以及
图8示出了可以用于实现本发明的计算机的组件。
具体实施方式
图1示出了根据一个实施例可以用于提供对文档的访问的通信系统100。通信系统100包括网络102、文档服务104和用户设备106。通信系统100可以包括多于一个的用户设备。
在图1的示例性实施例中,网络102是互联网。在其他实施例中,网络102可以包括多个不同类型的网络中的一个或多个,例如,内联网、局域网(LAN)、广域网(WAN)、无线网络、基于光纤通道的存储区域网(SAN)或以太网。可以使用其他网络。备选地,网络102可以包括不同类型的网络的组合。
通信系统100还包括网站108。在一个实施例中,文档服务104可以管理可以由用户设备106访问的网站108。文档服务104可以包括服务器。在备选实施例中,网站108可以由不同的服务器管理。文档服务104经由网站108向用户设备106提供对各种网页的访问。在一个实施例中,网站108向用户设备106提供对一个或多个网页的访问,从而提供对存储在文档服务104处的文档(例如,文档216-A)的访问,如图3中所示。用户设备106可以访问网站108上的万维网页面,其中,可以使用例如传统的web浏览器查看该万维网页面。
用户设备106可以是使用户能够经由网络102查看网站108的任何设备。用户设备106可以通过直接(有线)链路或者无线地连接到网络102。用户设备106可以具有用于显示信息的显示屏(未示出)。例如,用户设备106可以是个人计算机、膝上型计算机、工作站、大型计算机、诸如无线电话的移动通信设备、个人数字助理、蜂窝设备、膝上型计算机、上网本、平板电脑设备等。可以使用其他设备。
图2示出了根据一个实施例的用户设备106的功能组件。用户设备106包括web浏览器210和显示器270。web浏览器210可以是用于经由例如互联网访问万维网网站的传统web浏览器。显示器270提供对文档、文本、图像、软件应用、网页和其他信息的显示。例如,可以在显示器270上显示文档216-A的全部或一部分。
用户设备106还包括存储启动器应用214的存储器219和多个本地编辑器缓存(第一个本地编辑器缓存215-A、第二个本地编辑器缓存215-B、……、第N个本地编辑器缓存215-N,此后统称为215)。本地编辑器缓存215中的每个能够加载、显示并可能编辑文档216的特定子集。存储器219还存储URL(统一资源定位符)历史217。URL历史217是用户设备106访问的多个URL的汇集(compilation),并且可以包括与特定URL相对应的网页被访问时的日期和时间。URL历史217还确定当查看网页时向用户呈现哪个URL。存储器219另外存储数据库220。数据库220可以存储文档的集合(文档216-B、……、文档216-N)。在一个实施例中,每一个文档与一个编辑器缓存相对应,但是每个编辑器缓存可以用于多个文档。例如,数据库220可以包括本地结构化查询语言(SQL)存储设备、IndexedDB存储设备、“window.localstorage”DOM存储设备、HTML5沙盒文件系统、这些技术的组合、或者能够存储文档集合的任何其他系统。此外,数据库220可以包括应用缓存221(应用缓存)。在一个实施例中,应用缓存221可以存储多个本地编辑器缓存215。在一个实施例中,应用缓存221可以是如超文本标记语言5(HTML5)中所定义的AppCache。
在备选实施例中,在浏览器中可以包含应用缓存221、URL历史217和其他组件。在另一备选实施例中,数据库220可以包括应用缓 存221和其他组件。
多个本地编辑器缓存215中的每个包括冷启动编辑器。在图2描绘的示意性实施例中,第一本地编辑器缓存215-A包括冷启动编辑器212;第二本地编辑器缓存215-B包括冷启动编辑器213,并且第N本地编辑器缓存215-N包括冷启动编辑器218。当用户希望开始编辑文档并且用户设备106处于离线模式中时,将使用冷启动编辑器。下面详细描述冷启动编辑器。
在一个实施例中,用户设备106可以是非公共设备,例如,雇主向员工提供的个人膝上型计算机或计算机。用户可能需要在将文档存储到其本地设备上之前给予许可。与用户设备106进行通信的文档服务104可以执行针对新用户的选择加入(opt-in)过程(以在本地存储它们的文档之前征求许可)和针对不再希望在特定设备上离线访问文档的用户的选择退出(opt-out)过程。因此,仅可信任设备可以在离线模式中访问文档,而不可信设备将被限制于在线访问。
在一个实施例中,编辑器可以根据网络环境从该本地数据库、从服务器或者从组合中获得文档的内容以便查看。
在备选实施例中,应用缓存221可以存储在浏览器210中。
图3示出了根据一个实施例的文档服务104的功能组件。文档服务104包括处理器375和存储器325。存储器325存储文档和其他数据。例如,由用户设备106的用户创建和/或编辑的文档216-A可以存储在存储器325中,如图3中所示。在备选实施例中,文档216-A可以存储在文档服务104的外部。存储在文档服务104中或者文档服务104的外部(例如,存储在不同的服务器处)的文档216-A也可以在本地缓存到用户设备106上。因此,文档216-A的副本被存储在用户设备106上。在一个实施例中,当在文档服务104上改变文档216-A时,文档服务104向用户设备106发送改变的文档或者表示该改变的文档的数据。此后,用户设备106缓存改变的或更新的文档。
存储器325还可以存储包括文档216-A的热启动编辑器313、冷启动编辑器315和启动器应用316。文档服务104可以包括图3中未示出的其他组件。在一个实施例中,文档服务104向用户设备106提 供冷启动编辑器315、启动器应用316和热启动编辑器313。然后,用户设备106可以启动和/或运行冷启动编辑器315、启动器应用316、以及热启动编辑器313中的任意一个。
假设用户使用用户设备106来访问文档216-A,用户可以例如基于与文档相关联的地址(例如,URL)经由网站108来访问文档。图4示出了根据一个实施例在作为网页408实现的编辑器中显示的文档216-A。网页408是网站108的一部分,并且可以由用户设备106的用户来访问。因此,在浏览器210中经由网页408向使用用户设备106的用户显示文档216-A。在示意性实施例中,网站108还显示与文档216-A相关联的公共URL410。在图6中示出了公共地址(或公共URL地址)的示例。本文使用的术语地址可以是指代位置或针对位置的指针,例如,URL。在一个实施例中,浏览器210可以可选择地在网站108(或者屏幕上的任何其他位置)中显示离线/在线指示符430,其中,离线/在线指示符430指示用户设备106是否在线并且能够经由网络102与文档服务104连接。在一个实施例中,所有URL(公共的和私有的)可以处于在HTML web应用标准部分6.3中定义的相同起始点。在一个实施例中,文档管理器可以允许用户(例如,通过从文档列表中进行选择)选择他们希望查看或编辑的文档。可能存在两个版本的文档管理器,一个供离线使用,另一个供在线使用。图2中所示的离线文档管理器222可以构造针对应用缓存的编辑器应用的私有URL,并且可以启动该私有URL。离线文档管理器222可以具有与其在线对应方的地址不同的地址,例如,DocService[dot]com/offline。文档管理器的用户界面可以包括表格。该表格可以包括文档标题、当在线时最后一次在本地查看文档并且因此与文档同步的日期。离线文档管理器222可以存储在应用缓存中。
文档管理器可以显示文档列表以使用户能够选择要查看或编辑的文档。文档列表可以包括辅信息,例如,所给定的文档是否保存未传送的本地改变(如下所述)。在一个实施例中,文档管理器可以在“应用缓存维护”中起作用,因为文档管理器能够计算对于启动文档中的任意一个或全部所必需的编辑器应用缓存集合并且更新这些编辑器应 用缓存。
热启动编辑器
当使用用户设备106的用户能够上网并且经由网络102访问存储在文档服务104上的文档时,用户设备106请求运行热启动编辑器313。在一个实施例中,热启动编辑器313只能在用户设备106处于在线状态时被启动。例如,可以通过成功的ping通或对web的尝试接入来验证在线状态。热启动编辑器313由文档服务提供以在请求显示文档时在用户设备上立即运行,并且可以不被本地存储。所请求的文档可以与应用代码合并在一起。在一个实施例中,合并可以允许特定的延迟优化。在启动期间,热启动编辑器可以在数据库220中存储文档,或者更新已经存储在那里的任何版本。
例如,当用户设备106在在线模式中请求访问文档216-A时,从文档服务104获取文档216-A。在备选实施例中,热启动编辑器313还可以使用由用户设备106存储在存储器219或数据库220中的缓存的图像、文档数据和/或web字体,而不是从文档服务104获取它们,以在加载文档216-A时试图减小加载时间。只要用户设备在线,在其上运行的任何热启动编辑器就保持与文档服务104的连接。这使得它们能够持续地将它们正在显示的文档和存储在数据库220中的任何版本与服务器的文档和版本进行同步。如果在热启动编辑器正在运行时用户离线,则热启动编辑器可以继续运行,并且可以允许编辑。在用户从离线返回以后,在用户设备上运行的任何热启动编辑器可以与文档服务104重新连接,并且可以对它们正在显示的文档以及存储在数据库220中的版本进行同步。
在热启动时(即,当使用热启动编辑器313时),发现文档与编辑器应用合并在一起而不必经由XMLHttpRequest(XHR)来获取文档。该顺序也可以是热启动的启动顺序的实现。
冷启动编辑器
当使用用户设备106的用户处于离线模式并且尝试访问文档 216-A时,用户设备106启动冷启动编辑器212。冷启动编辑器212可以包括应用缓存,该应用缓存可以包括应用缓存清单。应用缓存清单是网页使用的所有URL的列表。应用缓存清单被提供给诸如浏览器210的浏览器。应用缓存清单中提到的资源被构造为不包括文档216-A,但是它们可以包含用户特有的数据。下面详细地描述应用缓存清单。每一个冷启动编辑器具有私有URL,该私有URL不会被公布。用户通常使用公共URL请求其文档,该公共URL描述只能在线使用的资源。启动器应用214拦截这些请求,创建相应的私有地址,并且导航至该私有地址,使得(例如)从第一个本地编辑器缓存215-A取回冷启动编辑器212并且启动冷启动编辑器212。然后,冷启动编辑器212使用公共地址替换页面的呈现URL(否则,页面将显示私有地址)。然后,看起来一直导航至公共地址。这向用户提供了熟悉的体验,并且确保将呈现URL作为例如书签的任何记录不包括私有地址。在图6中示出了私有地址610的示例。在一个实施例中,超文本标记语言5(HTML5)历史应用编程界面(API)可以用于掩盖私有地址610。私有地址610包括识别编辑器缓存的组成部分、识别文档的其他组成部分以及附加信息。在一个实施例中,当启动冷启动编辑器212时,冷启动编辑器212读取其私有URL并且确定用户打算打开哪个文档。然后,冷启动编辑器212从数据库220读取用户记录,以找到当前的离线用户(例如,使用用户设备106的已经选择加入以允许在本地缓存文档的用户)。用户记录可以列出有权访问相应文档的一个或多个用户。例如,可以将上述示例中的剧作家作为有权访问剧本的用户来列出。一旦确定用户被同意访问本地所存储的文档并且给予访问本地所存储的文档的许可时,冷启动编辑器212从数据库220读取文档216-A并且提供对该文档216-A的显示。
在当在线时启动冷启动编辑器(即,当使用冷启动编辑器212时)的情况下,可以发出超文本传输协议(http)请求,冷启动编辑器接受文档的标识(即,文档ID)并且返回数据,该数据包括包含文档的JavaScript对象表示法(JSON)响应。该数据用于填充本地数据库并且渲染文档106。
编辑器应用
在一个实施例中,冷启动编辑器(例如,冷启动编辑器212、213和218)以及启动器应用214被适配为从应用缓存(例如,应用缓存221)运行。在一个实施例中,冷启动编辑器应用的JavaScript(JS)或HTML组成部分均不包括引用特定文档的任何内容,并且能够在没有网络的情况下引导和运行。在一个实施例中,可能存在用于覆盖编辑模式和只读模式二者的单个应用;其中,只读模式禁用编辑特征。在一些情形中,在不同的清单和主输入URL下将多个编辑器应用缓存安装到用户设备106上。每个文档可以要求打开特定的冷启动编辑器,该特定的冷启动编辑器将被存储在特定的本地编辑器缓存中。为了确定使用哪一个本地编辑器缓存,可以使用很多因素。例如,因素之一可以是文档类型(例如,文本、电子数据表等)。
本文结合图5描述了用户设备106如何在离线状态中访问文档216-A的细节。
图5是描绘根据一个实施例在离线状态中提供对文档的访问的方法的流程图。在步骤5002,当用户设备处于离线状态时,在用户设备处接收到对文档的请求。该请求包括与远离用户设备的位置相对应的公共统一资源定位符。例如,可以当用户设备106处于离线状态时(例如,由于网络临时或永久中断或者断断续续的连接)在用户设备106处接收到对文档216-A的请求。该请求包括与远离用户设备106的位置相对应的公共URL410。例如,公共URL410可以是公共地址605,公共地址605可以指向存储在文档服务104上的文档216-A的位置。在一个实施例中,假设剧作家正在乘火车去米兰旅行。(可能或可能不知晓他的设备离线的)剧作家希望访问他的剧本。他通过点击、打字或者以其他方式访问与存储他的剧本的远端位置相对应的公共URL来发送对剧本的请求。
在一个实施例中,可以经由网络(例如,互联网)来访问远离用户设备的位置。例如,位置可以指向在文档服务104上存储文档216-A并且可以经由网络102(即,互联网)访问该位置。在一个实施例中, 文档216-A被存储在用户设备106上的数据库220处。
在步骤5004,启动拦截请求的应用。当用户设备106在离线模式时,启动器应用214拦截包括公共URL410的请求。在一个实施例中,启动器应用214被启动以拦截可以是公共地址605的公共URL410。在一个实施例中,应用缓存221可以使启动器应用214拦截公共URL。因此,启动拦截公共统一资源定位符的应用还包括:启动应用缓存。例如,启动启动器应用214还包括:启动应用缓存,当冷启动编辑器应用212与文档216-A相关联时,应用缓存选择冷启动编辑器应用212。
在步骤5006,基于公共统一资源定位符来选择多个本地缓存之一,其中,多个本地缓存中的每个本地缓存与私有统一资源定位符相关联。因此,基于公共URL410(可以是公共地址605)从多个本地编辑器缓存215中选择第二本地编辑器缓存215-B。多个本地编辑器缓存215中的每个与至少一个私有URL(或者私有地址,例如,私有地址610)相关联。
在步骤5008,经由相应的私有统一资源定位符来访问所选择的本地缓存以取回编辑器。因此,经由相应的私有地址610来访问第二个本地编辑器缓存215-B以取回冷启动编辑器213。在一个实施例中,私有地址610包括具有本地缓存的副本的互联网页面的地址,当离线时,它确实可用。一旦已经启动冷启动编辑器,它就从数据库220取回文档216-A并且提供文档的显示。
在步骤5010,修改统一资源定位符历史以使用公共统一资源定位符来替换私有统一资源定位符。参照图2,修改URL历史217以使用公共地址605(例如,公共URL410)来替换私有地址610(或私有URL)。通过这种方式,私有地址610(可能不能被用户查看)被屏蔽,并且在URL历史217中,看起来仅公共地址605而不是私有地址610曾被访问。因此,URL历史217不包括关于在离线模式曾访问一个或多个私有URL以获得文档的任何指示。在一个实施例中,当剧作家查看URL历史217时,看起来他已经访问公共地址605并且不存在关于他已经访问私有地址610以访问文档216-A的缓存副本的指示。在一个实施例中,通过以编程的方式处理浏览器历史来执行屏蔽。这种屏 蔽影响当正在查看编辑器页面时编辑器页面的呈现URL以及历史。
在步骤5012,经由冷启动编辑器向用户提供文档。经由冷启动编辑器213向使用用户设备106的用户提供文档216-A。因此,即使剧作家的设备处于离线状态,剧作家仍然可以访问文档216-A,这是因为在数据库220中本地缓存了文档216-A的本地副本。
在一个实施例中,启动器应用214响应于用户的导航操作而启动,读取用户已经输入的URL,并且确定是否存在对文档的请求。启动器应用214进行检查以确定文档是否在用户设备处的本地存储设备中。如果发现文档在本地存储设备中,则启动器应用214可以了解文档类型以确定可以使用哪一个编辑器缓存。例如,如果文档是电子数据表文档,则可以使用包含电子数据表应用的编辑器缓存。然后,启动器应用214构造针对所选择的编辑器缓存的私有URL并且启动私有URL。
在一个实施例中,从存储设备取回与文档和用户设备有关的信息。文档服务104从存储设备和/或数据库220取回与文档216-A和用户设备106有关的信息。
下文详细地描述关于启动器应用214如何实现对文档216-A的选择的细节。
启动器应用
启动器应用214(例如,应用缓存的启动器应用)经由其公共URL拦截对文档216-A的请求。启动器应用214启动正确版本的相应冷启动编辑器以向用户提供文档216-A的显示。当冷启动编辑器212与文档216-A相关联时,启动器应用214构造冷启动编辑器212的URL,这启动文档216-A和所选择的用户所需的冷启动编辑器版本。一旦已经启动了冷启动编辑器212,冷启动编辑器212就可以使用HTML5历史应用编程界面(API)来将其自身呈现的URL修改为针对热启动编辑器313的URL。
启动器应用214通过使用应用缓存清单回退输入来拦截当离线时对使用DocService[dot]com下的URL的尝试。通过使用文档216-A的 私有地址610(其存储在用户设备106上的本地编辑器缓存215-B中),启动器应用214可以使用冷启动编辑器212来启动文档216-A。此外,可以由启动器来拦截在线文档管理器的URL,并且离线文档管理器222在适当时启动。
在一个实施例中,文档管理器应用可以给出文档URL的列表。在一个实施例中,文档管理器的离线变体可以是启动器应用214的一部分。在如图2中所示的备选实施例中,离线文档管理器222可以与启动器应用214分离,并且当拦截到对导航至在线文档管理器的URL的尝试时,可以由启动器应用214启动离线文档管理器222。当使用处于离线状态的用户设备106的用户做出对文档和/或相关联的文档URL的选择时,离线文档管理器222选择并启动与该文档相关联的适当的冷启动编辑器。离线文档管理器222还可以在启动器应用214的帮助下或者独立地进行该操作。
现在参照图6,图6示出了与文档相关联的公共地址和私有地址的示例。用于访问文档216-A的公共地址605的示例是DocService[dot]com/document/ZZ。用于(在本地机器、用户设备106处)访问文档216-A的私有地址610的示例是DocService[dot]com/offline/document?cacheid=XX#ID=ZZ。在一个实施例中,出现在“uc”之后的“XX”是用户的特征字符串。在一个实施例中,文档ID出现在“#ID=”之后。在一个实施例中,在URL的“段标识符组成部分”中编码的文档ID和任何其他信息可能不在应用缓存选择中起作用。取而代之地,它由冷启动编辑器212在启动时读取以确定从多个本地缓存编辑器215加载哪个文档(例如,文档216-A、文档216-B、……、文档216-N)和可能的其他信息。“uc”字符串(和可选择的URL的一些其他部分)包括用于使文档服务104确定当在在线模式时向哪一个二进制提供服务的信息。
将在本文中参照图7来描述关于访问文档的细节。图7是描绘根据一个实施例访问文档的方法的流程图。在步骤7002,流程图或例程开始。在步骤7004,请求包括公共URL的文档。例如,使用用户设备106的用户通过打字、选择、点击或以其他方式访问与文档216-A 相关联的公共URL410(例如,公共地址605)来请求文档216-A。
在步骤7006,确定用户设备是否在线。用户设备106通过多种方式中的任意一种来确定它是否处于在线状态。如果确定用户设备106处于在线状态,则流程图前进至步骤7024。在步骤7024,公共URL用于从文档服务得到包括文档的热启动编辑器。用户设备106使用公共URL410来从文档服务104取回包括文档216-A的热启动编辑器,并且当热启动编辑器启动并且文档被显示时,流程图然后在步骤7022结束。
响应于在步骤7006中确定用户设备106不处于在线状态,流程图或例程前进至步骤7008。例如,浏览器确定用户设备106处于离线状态或模式。
在步骤7008,启动器应用检查公共URL以确定公共URL是否包括针对文档的链接。如果包括,则提取文档ID。当启动器应用214拦截到对文档216-A的请求时,启动器应用214检查公共URL410(例如,点击、选择、命令、或者其他访问请求)以找到要提取的文档ID。在一个实施例中,可以从公共URL410(其可以是公共地址605)提取或者通过其他方式获得文档ID。
在步骤7010,查询数据库以找出与文档相关联的冷启动编辑器。在一个实施例中,查询数据库220以找出与文档216-A相关联的冷启动编辑器。当选择编辑器二进制时,可以考虑与用户和文档相关联的因素。
在步骤7012,查询数据库以查明影响二进制选择的用户特征。在一个实施例中,查询数据库220以查明影响二进制选择的用户特征。
在步骤7014,构造包含来自步骤7008、7010和7012的信息的私有URL。例如,可以以图6所描绘的形式来构造私有地址610。
在步骤7016,启动器应用使浏览器导航至私有URL。浏览器210导航至私有地址610。
在步骤7018,HTML5历史API用于使用私有URL的等同公共URL来替换私有URL。例如,如上所述,HTML5历史API用于使用公共地址605来替换私有地址610。
在步骤7020,从本地数据库加载文档并且显示文档。从数据库220加载文档216-A(和与文档216-A相关联的数据)并且向使用用户设备106的用户显示文档216-A(和与文档216-A相关联的数据)。然后,流程图前进至步骤7022中的结束。
在备选实施例中,首先,冷启动编辑器尝试联系文档服务104以加载文档216-A。如果该步骤失败,则从本地数据库220加载文档216-A。如上所述,冷启动编辑器可以不包括与应用合并在一起的文档版本。
因为仅当用户设备106用于在处于离线模式时启动文档时才使用冷启动编辑器212,因此冷启动编辑器212可以具有与热启动编辑器313不同的启动过程。
当用户不能访问互联网并且不能上网(例如,由于网络临时或永久中断、或者断断续续的连接)时,用户可以经由在其数据库220中包含正确的文档数据并且在其编辑器缓存中包含正确的冷启动编辑器的任何设备(例如,用户设备106)来访问文档216-A。
批量同步器
批量同步器在无需打开编辑器的情况下同步文档。在一个实施例中,当用户设备106在线时使用批量同步器。在一个实施例中,批量同步器可以采用所有编辑器和文档管理器可以连接到的共享工作器的形式。批量同步器可以是应用缓存的。使编辑器当前打开的文档可以不被该工作器同步,并且它可以在协调对使相同的文档打开的多个编辑器的数据库访问中起作用。被选择用于离线访问并且不使编辑器打开的文档可以由该部件定期地同步。用户的服务器所存储的文档的、由批量同步器选择以存储在客户端上的子集可以取决于多个因素。这些因素可以包括手动用户选择以及基于文档内容和用户活动的自动化确定。例如,可以存储最近打开的文档。文档可以进入或离开该离线子集,这需要批量同步器移除现有的本地存储的文档并且添加新的文档以及更新现有的文档。批量同步器可以仅在文档管理器或编辑器打开时才保持活动,或者它可以永久地保持活动。
存储和传送未保存的改变
当离线时对文档进行的改变可以被存储在与用户设备106处的约定变化(即,其是当处于在线模式时做出的并且被传送到服务器)不同的数据结构中。可以在产生改变的会话回到在线时或者在用户设备106在存在离线改变时启动在线时对改变进行传送。在该情况下,可以由批量同步器或者由被打开以编辑该文档的编辑器会话来传送离线改变。一旦该传送完成,就可以从单独的客户端存储设备中移除这些改变,并且客户端的存储的文档版本被更新以包括这些改变。
当离线时编辑文档
在一个实施例中,热启动文档可以为可写入版本和只读版本的不同web应用提供服务。离线冷启动编辑器212(如上所述)能够在只读模式或可写入模式中显示自身。只读模式是在所有编辑动作被禁用并且与编辑有关的控制被禁用或者未被显示的情况下的可写入模式。
在一个实施例中,文档编辑器持续地尝试以建立与文档服务104的网络连接。如果通信被建立,则进行尝试以获取服务器已知的对文档的任何更新,并且向服务器传送本地进行的改变。如果由于浏览器没有有效的授权凭证因此通信尝试受阻,则可以显示用户界面从而请求凭证。
在可写入模式中,可以对文档216-A进行改变。现在假设剧作家希望在乘火车去米兰时将第四幕添加到他的剧本中。对剧本文档进行的任何改变被存储在本地,并且当剧作家的设备能够返回上网时,存储在他的设备上的所有改变被发送到文档服务104。剧作家进行的改变可以存储在与文档相同的数据结构中。该结构将包括关于是否存储任何未传送的本地改变的指示。在备选实施例中,未传送的改变可以存储在单独的数据结构中。
在一个实施例中,存储在用户设备106处对文档216-A进行的编辑。例如,如上所述,存储未传送的本地改变。当用户设备106与文档服务104连接时,改变被发送到服务器(即,文档服务104)。
在一个实施例中,用户设备106向服务器(即,文档服务104)发送轮询对文档216-A的更新的请求。通过这种方式,本地存储在用户设备106上的文档216-A与存储在文档服务104上的文档216-A同步,并且合作者或其他用户进行的任何改变由用户设备106接收。响应于向服务器轮询对文档216-A的更新,用户设备106接收更新。
当用户在用户设备106处于离线模式时选择文档216-A时,应用缓存221确定多个本地编辑器缓存215中的哪个应当用于打开文档216-A。可以基于与用户和文档216-A相关联的特征的组合来进行该确定。
在各个实施例中,本文所描述的方法步骤(包括图5和图7中所描述的方法步骤)可以以与所描述和示出的特定顺序不同的顺序来执行。在其他实施例中,可以提供其他步骤,或者可以从所描述的方法中消除步骤。
可以使用数字电路或者使用利用公知的计算机处理器、存储器单元、存储设备、计算机软件和其他组件的一个或多个计算机来执行本文所描述的系统、装置和方法。通常,计算机包括用于执行指令的处理器和用于存储指令和数据的一个或多个存储器。计算机还可以包括或者耦合到一个或多个大容量存储设备,例如,一个或多个磁盘、内部硬盘和可拆卸磁盘、磁光盘、光盘等。
可以使用以客户端-服务器关系操作的计算机来实现本文所描述的系统、装置和方法。通常,在这种系统中,客户端计算机位于服务器计算机远端,并且经由网络进行交互。可以通过在相应的客户端和服务器计算机上运行的计算机程序来定义和控制客户端-服务器关系。
可以在基于网络的云计算系统中使用本文所描述的系统、装置和方法。在这种基于网络的云计算系统中,连接到网络的服务器或另一处理器经由网络与一个或多个客户端计算机进行通信。客户端计算机可以经由驻留在例如客户端计算机上并且在客户端计算机上运行的网络浏览器应用与服务器进行通信。客户端计算机可以在服务器上存储数据并且经由网络访问该数据。客户端计算机可以经由网络向服务器发送对数据的请求、或者对在线服务的请求。服务器可以执行所请求 的服务,并且向客户端计算机提供数据。服务器还可以发送被适配为使客户端计算机执行指定的功能(例如,执行计算、在屏幕上显示指定的数据等)的数据。例如,服务器可以发送被适配为使客户端计算机执行本文所描述的方法步骤(包括图5和图7的步骤中的一个或多个步骤)中的一个或多个的请求。本文所描述的方法的某些步骤(包括图5和图7的步骤中的一个或多个步骤)可以由服务器或者由基于网络的云计算系统中的另一处理器来执行。本文所描述的方法的某些步骤(包括图5和图7的步骤中的一个或多个步骤)可以由基于网络的云计算系统中的客户端计算机来执行。本文所描述的方法的步骤(包括图5和图7的步骤中的一个或多个步骤)可以由服务器和/或由基于网络的云计算系统中的客户端计算机以任何组合来执行。
可以使用有形地具体实现在信息载体(例如,非瞬时机器可读存储设备)中以由可编程处理器来执行的计算机程序产品来实现本文所描述的系统、装置和方法;并且可以使用可以由这种处理器执行的一个或多个计算机程序来执行本文所描述的方法(包括图5和图7的步骤中的一个或多个步骤)。计算机程序是可以在计算机中直接或间接使用以执行特定活动或者引起特定结果的计算机程序指令集合。可以用任何形式的编程语言(包括编译或解释语言)来写计算机程序,并且可以以任意形式部署计算机程序,包括作为单独的程序或者作为适合于在计算环境中使用的模块、组件、子例程或其他单元。
在图8中示出了可以用于执行本文所描述的系统、装置和方法的示例性计算机的高层次框图。计算机800包括处理器801,处理器801可操作地耦合到数据存储设备802和存储器803。处理器801通过执行定义这些操作的计算机程序指令来控制计算机800的整体操作。计算机程序指令可以存储在数据存储设备802或者其他计算机可读介质中,并且当期望执行计算机程序指令时,被加载到存储器803中。因此,图5和图7的方法步骤可以由存储在存储器803和/或数据存储设备802中的计算机程序指令来定义并且由执行计算机程序指令的处理器801来控制。例如,计算机程序指令可以实现为由本领域技术人员编程以执行图5和图7的方法步骤定义的算法的计算机可执行代码。 因此,通过执行计算机程序指令,处理器801执行由图5和图7的方法步骤定义的算法。计算机800还包括用于经由网络与其他设备进行通信的一个或多个网络接口804。计算机800还包括能够实现与计算机800的用户交互的一个或多个输入/输出设备805(例如,显示器、键盘、鼠标、扬声器、按钮等)。
处理器801可以包括通用微处理器和专用微处理器,并且可以是单个处理器或计算机800的多个处理器之一。处理器801可以包括例如一个或多个中央处理单元(CPU)。处理器801、数据存储设备802和/或存储器803可以包括以下各项、由以下各项补充或者并入到以下各项中:一个或多个专用集成电路(ASIC)和/或一个或多个现场可编程门阵列(FPGA)。
数据存储设备802和存储器803均包括有形的非瞬时计算机可读存储介质。数据存储设备802和存储器803均可以包括高速随机存取存储器,例如,动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)、双倍数据速率同步动态随机存取存储器(DDR RAM)、或者其他随机存取固态存储器设备,并且可以包括非易失性存储器,例如,一个或多个磁盘存储设备(例如,内部硬盘和可拆卸磁盘)、磁光盘存储设备、光盘存储设备、闪存存储器设备、半导体存储器设备(例如,可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM))、紧致光盘只读存储器(CD-ROM)、、数字多功能盘压缩光盘只读存储器(DVD-ROM)盘、或者其他非易失性固态存储设备。
输入/输出设备805可以包括外围设备,例如,打印机、扫描仪、显示屏等。例如,输入/输出设备805可以包括用于向用户显示信息的显示设备(例如,阴极射线管(CRT)或液晶显示器(LCD)监控器)、键盘、以及用户可以使用以向计算机800提供输入的定点设备(例如,鼠标或轨迹球)。
可以使用诸如计算机800等的计算机来实现本文所讨论的系统和装置中的任意一个或全部,其包括文档服务104、用户设备106、网站108及其组件,所述组件包括:web浏览器210、显示器270、处理器 250、存储器219、处理器375和存储器325。
本领域技术人员将认识到,实际的计算机或计算机系统的实现可以具有其他结构并且还可以包含其他组件,并且图8是用于说明的目的的这种计算机的组件中的一些组件的高层次表示。
前面的详细描述应被理解为在每一个方面都是说明性和示例性的,而不是限制性的,并且本文公开的本发明的范围不应根据详细描述来确定,而是如根据专利法准许的全部范围所解释的权利要求来确定。将理解的是,本文所示和描述的实施例仅说明本发明的原理并且本领域技术人员可以在不脱离本发明的范围和精神的前提下执行各种修改。本领域技术人员可以在不脱离本发明的范围和精神的前提下实现各种其他特征组合。

用于在主机文档服务中提供离线访问的系统和方法.pdf_第1页
第1页 / 共23页
用于在主机文档服务中提供离线访问的系统和方法.pdf_第2页
第2页 / 共23页
用于在主机文档服务中提供离线访问的系统和方法.pdf_第3页
第3页 / 共23页
点击查看更多>>
资源描述

《用于在主机文档服务中提供离线访问的系统和方法.pdf》由会员分享,可在线阅读,更多相关《用于在主机文档服务中提供离线访问的系统和方法.pdf(23页珍藏版)》请在专利查询网上搜索。

1、(10)申请公布号 CN 103765419 A (43)申请公布日 2014.04.30 CN 103765419 A (21)申请号 201280041938.7 (22)申请日 2012.08.17 61/528,472 2011.08.29 US 13/561,173 2012.07.30 US G06F 17/30(2006.01) (71)申请人 谷歌公司 地址 美国加利福尼亚州 (72)发明人 大卫巴雷特 - 卡恩 尼古拉斯亚历山大可可玛 (74)专利代理机构 中科专利商标代理有限责任 公司 11021 代理人 赵伟 (54) 发明名称 用于在主机文档服务中提供离线访问的系统 和。

2、方法 (57) 摘要 当用户设备处于离线状态时在用户设备处接 收到对文档的请求。该请求包括与远离用户设备 的位置相对应的公共统一资源定位符 (URL) 。用 户设备启动拦截该请求的应用并且基于公共 URL 选择多个本地缓存之一。多个本地缓存中的每个 与私有URL相关联。 用户设备经由相应的私有URL 访问所选的本地缓存以取回编辑器。用户设备修 改 URL 历史以使用公共 URL 替换私有 URL 并且经 由该编辑器向用户设备提供文档。 (30)优先权数据 (85)PCT国际申请进入国家阶段日 2014.02.27 (86)PCT国际申请的申请数据 PCT/US2012/051404 2012.。

3、08.17 (87)PCT国际申请的公布数据 WO2013/032743 EN 2013.03.07 (51)Int.Cl. 权利要求书 2 页 说明书 12 页 附图 8 页 (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书2页 说明书12页 附图8页 (10)申请公布号 CN 103765419 A CN 103765419 A 1/2 页 2 1. 一种方法, 包括 : 当用户设备处于离线状态时在所述用户设备处接收对文档的请求, 所述请求包括与远 离所述用户设备的位置相对应的公共统一资源定位符 ; 启动拦截所述请求的应用 ; 基于所述公共统一资源定位符来选择多个本地。

4、缓存之一, 所述多个本地缓存中的每个 本地缓存与私有统一资源定位符相关联 ; 经由相应的私有统一资源定位符来访问所选择的本地缓存以取回编辑器 ; 修改统一资源定位符历史以使用所述公共统一资源定位符替换所述私有统一资源定 位符 ; 以及 经由所述编辑器向所述用户设备提供所述文档。 2. 根据权利要求 1 所述的方法, 其中, 所述私有统一资源定位符包括互联网页面的地 址, 所述互联网页面具有持久的本地所缓存的副本。 3. 根据权利要求 1 所述的方法, 其中, 所述文档被存储在所述用户设备上的数据库处。 4. 根据权利要求 3 所述的方法, 还包括 : 响应于确定所述用户设备处于在线状态, 启动。

5、第二编辑器应用, 所述第二编辑器应用 被配置为与在远离所述用户设备的所述位置处的服务器进行通信。 5. 根据权利要求 4 所述的方法, 还包括 : 在所述用户设备处存储对所述文档进行的编辑 ; 以及 向所述服务器发送所述改变。 6. 根据权利要求 4 所述的方法, 还包括 : 向所述服务器发送轮询对所述文档的更新的请求 ; 以及 响应于向所述服务器轮询对所述文档的更新, 接收所述更新。 7. 根据权利要求 1 所述的方法, 还包括 : 从存储设备取回与所述文档和所述用户设备有关的信息。 8. 一种存储有计算机程序指令的非瞬时计算机可读介质, 当在处理器上执行所述计算 机程序指令时, 所述计算机。

6、程序指令使所述处理器执行包括以下步骤的方法 : 当用户设备处于离线状态时在所述用户设备处接收对文档的请求, 所述请求包括与远 离所述用户设备的位置相对应的公共统一资源定位符 ; 启动拦截所述请求的应用 ; 基于所述公共统一资源定位符来选择多个本地缓存之一, 所述多个本地缓存中的每个 本地缓存与私有统一资源定位符相关联 ; 经由相应的私有统一资源定位符来访问所选择的本地缓存以取回编辑器 ; 修改统一资源定位符历史以使用所述公共统一资源定位符替换所述私有统一资源定 位符 ; 以及 经由所述编辑器向所述用户设备提供所述文档。 9. 根据权利要求 8 所述的非瞬时计算机可读介质, 其中, 所述私有统一。

7、资源定位符包 括互联网页面的地址, 所述互联网页面具有持久的本地所缓存的副本。 10. 根据权利要求 8 所述的非瞬时计算机可读介质, 其中, 能够经由网络访问远离所述 用户设备的所述位置。 权 利 要 求 书 CN 103765419 A 2 2/2 页 3 11. 根据权利要求 8 所述的非瞬时计算机可读介质, 其中, 所述文档被存储在所述用户 设备上的数据库处。 12. 根据权利要求 9 所述的非瞬时计算机可读介质, 还包括定义以下步骤的指令 : 响应于确定所述用户设备处于在线状态, 启动第二编辑器应用, 所述第二编辑器应用 被配置为与在远离所述用户设备的所述位置处的服务器进行通信。 1。

8、3. 根据权利要求 12 所述的非瞬时计算机可读介质, 还包括定义以下步骤的指令 : 在所述用户设备处存储对所述文档进行的编辑 ; 以及 向所述服务器发送所述改变。 14. 根据权利要求 11 所述的非瞬时计算机可读介质, 还包括定义以下步骤的指令 : 向所述服务器发送轮询对所述文档的更新的请求, 以及 响应于向所述服务器轮询对所述文档的更新, 接收所述更新。 15. 根据权利要求 11 所述的非瞬时计算机可读介质, 还包括定义以下步骤的指令 : 从存储设备取回与所述文档和所述用户设备有关的信息。 权 利 要 求 书 CN 103765419 A 3 1/12 页 4 用于在主机文档服务中提供。

9、离线访问的系统和方法 0001 相关申请的交叉引用 0002 本申请要求于 2012 年 7 月 30 日提交的美国专利申请 No.13/561,173 和于 2011 年 8 月 29 日提交的美国临时申请 No.61/528,472 的优先权, 其均通过引用的方式完整地并 入本文。 0003 本 申 请 与 以 下 申 请 有 关 : 于 2011 年 6 月 23 日 提 交 的 美 国 专 利 申 请 No.13/166,844 ; 于 2011 年 5 月 27 日提交的美国专利申请 No.13/117,386 ; 于 2011 年 5 月 5 日提交的美国专利申请 No.13/10。

10、1,312 ; 于 2011 年 3 月 30 日提交的美国专利申请 No.13/075,402 ; 于 2011 年 8 月 10 日提交的美国专利申请 No.13/206,896 ; 于 2011 年 8 月 10 日提交的美国专利申请 No.13/207,051 ; 于 2011 年 8 月 10 日提交的美国专利申请 No.13/207,117 ; 于 2011 年 8 月 10 日提交的美国专利申请 No.13/207,176 ; 于 2011 年 1 月 13 日提交的美国专利申请 No.13/006,259 ; 于 2011 年 9 月 10 日提交的美国临时申请 No.61/3。

11、81,780 ; 于 2011 年 3 月 3 日提交的美国临时申请 No.61/448,715 ; 以及于 2011 年 3 月 16 日提交的美国临时申请 No.61/453,238, 其均通过引用的方式并入本文。 技术领域 0004 本说明书大体上涉及用于在主机 (hosted) 文档服务中提供离线访问的系统、 方法 和装置, 更具体地, 涉及用于在主机文档服务中提供对多个文档的离线访问的系统、 方法和 装置。 背景技术 0005 当处于离线模式时, 现有的系统向用户提供有限的访问在线应用的能力。在现有 的文档处理应用中, 用户可以在本地编辑文档。 在现有的在线文档处理应用中, 当处于在。

12、线 状态时, 用户可以通过访问网页来编辑文档。然而, 当用户的设备处于离线模式时, 功能受 到限制。 例如, 如果用户设备在处于离线状态时尝试访问在线文档, 则用户的浏览器可以返 回错误消息, 该错误消息指示互联网连接丢失或者不可用并且用户不能连接到网页。 0006 当用户设备处于离线状态时, 一些浏览器可以显示与特定网页相关的缓存数据 (例如, 存储在浏览器缓存中的数据) 。然而, 功能受到限制, 并且当尝试访问网页中的超链 接或者对网页中的文档进行编辑时, 通常显示错误消息 (如上所述) 。 发明内容 0007 根据一个实施例, 当用户设备处于离线状态时在用户设备处接收到对文档的请 求。该。

13、请求包括与远离用户设备的位置相对应的公共统一资源定位符。启动拦截请求的应 用。基于公共统一资源定位符来选择包含能够查看文档的应用的多个本地缓存之一。多个 本地缓存中的每一个本地缓存与私有统一资源定位符相关联。 经由相应的私有统一资源定 位符来访问所选择的本地缓存以取回编辑器。 修改统一资源定位符历史以使用公共统一资 源定位符来替换私有统一资源定位符。经由编辑器向用户设备提供文档。 说 明 书 CN 103765419 A 4 2/12 页 5 0008 在一个实施例中, 私有统一资源定位符包括具有持久的本地缓存副本的互联网页 面的地址。 0009 在一个实施例中, 文档被存储在用户设备上的数据。

14、库处。 在另一个实施例中, 响应 于确定用户设备处于在线状态, 启动第二编辑器应用, 其中, 第二编辑器应用被配置为与远 离用户设备的位置处的服务器进行通信。在一个实施例中, 在用户设备处存储在用户设备 处对文档进行的编辑, 以及向服务器发送改变。 在另一实施例中, 向服务器发送轮询对文档 的更新的请求。响应于向服务器轮询对文档的更新, 接收更新。 0010 在一个实施例中, 从存储设备取回与文档和用户设备有关的信息。 0011 对于本领域普通技术人员而言, 通过参照下面的详细描述和附图, 本公开的这些 和其他优点将显而易见。 附图说明 0012 图 1 示出了根据一个实施例可以用于提供对文档。

15、的访问的通信系统 ; 0013 图 2 示出了根据一个实施例的示例性用户设备的功能组件 ; 0014 图 3 示出了根据一个实施例的示例性文档服务的功能组件 ; 0015 图 4 示出了根据一个实施例在实现为网页的编辑器中显示的文档 ; 0016 图 5 是描绘根据一个实施例在离线状态中提供对文档的访问的方法的流程图 ; 0017 图 6 示出了根据一个实施例与文档相关联的公共地址和私有地址 ; 0018 图 7 是描绘根据一个实施例访问文档的方法的流程图 ; 以及 0019 图 8 示出了可以用于实现本发明的计算机的组件。 具体实施方式 0020 图 1 示出了根据一个实施例可以用于提供对文。

16、档的访问的通信系统 100。通信系 统 100 包括网络 102、 文档服务 104 和用户设备 106。通信系统 100 可以包括多于一个的用 户设备。 0021 在图 1 的示例性实施例中, 网络 102 是互联网。在其他实施例中, 网络 102 可以包 括多个不同类型的网络中的一个或多个, 例如, 内联网、 局域网 (LAN) 、 广域网 (WAN) 、 无线 网络、 基于光纤通道的存储区域网 (SAN) 或以太网。可以使用其他网络。备选地, 网络 102 可以包括不同类型的网络的组合。 0022 通信系统 100 还包括网站 108。在一个实施例中, 文档服务 104 可以管理可以由 。

17、用户设备 106 访问的网站 108。文档服务 104 可以包括服务器。在备选实施例中, 网站 108 可以由不同的服务器管理。文档服务 104 经由网站 108 向用户设备 106 提供对各种网页的 访问。在一个实施例中, 网站 108 向用户设备 106 提供对一个或多个网页的访问, 从而提供 对存储在文档服务 104 处的文档 (例如, 文档 216-A) 的访问, 如图 3 中所示。用户设备 106 可以访问网站108上的万维网页面, 其中, 可以使用例如传统的web浏览器查看该万维网页 面。 0023 用户设备 106 可以是使用户能够经由网络 102 查看网站 108 的任何设备。。

18、用户设 备 106 可以通过直接 (有线) 链路或者无线地连接到网络 102。用户设备 106 可以具有用于 显示信息的显示屏 (未示出) 。例如, 用户设备 106 可以是个人计算机、 膝上型计算机、 工作 说 明 书 CN 103765419 A 5 3/12 页 6 站、 大型计算机、 诸如无线电话的移动通信设备、 个人数字助理、 蜂窝设备、 膝上型计算机、 上网本、 平板电脑设备等。可以使用其他设备。 0024 图 2 示出了根据一个实施例的用户设备 106 的功能组件。用户设备 106 包括 web 浏览器 210 和显示器 270。web 浏览器 210 可以是用于经由例如互联网访。

19、问万维网网站的 传统 web 浏览器。显示器 270 提供对文档、 文本、 图像、 软件应用、 网页和其他信息的显示。 例如, 可以在显示器 270 上显示文档 216-A 的全部或一部分。 0025 用户设备 106 还包括存储启动器应用 214 的存储器 219 和多个本地编辑器缓存 (第一个本地编辑器缓存 215-A、 第二个本地编辑器缓存 215-B、 第 N 个本地编辑器缓 存 215-N, 此后统称为 215) 。本地编辑器缓存 215 中的每个能够加载、 显示并可能编辑文档 216 的特定子集。存储器 219 还存储 URL (统一资源定位符) 历史 217。URL 历史 217。

20、 是用户 设备106访问的多个URL的汇集 (compilation) , 并且可以包括与特定URL相对应的网页被 访问时的日期和时间。URL 历史 217 还确定当查看网页时向用户呈现哪个 URL。存储器 219 另外存储数据库 220。数据库 220 可以存储文档的集合 (文档 216-B、 文档 216-N) 。 在一个实施例中, 每一个文档与一个编辑器缓存相对应, 但是每个编辑器缓存可以用于多 个文档。例如, 数据库 220 可以包括本地结构化查询语言 (SQL) 存储设备、 IndexedDB 存储 设备、“window.localstorage” DOM 存储设备、 HTML5 沙。

21、盒文件系统、 这些技术的组合、 或者 能够存储文档集合的任何其他系统。此外, 数据库 220 可以包括应用缓存 221 (应用缓存) 。 在一个实施例中, 应用缓存 221 可以存储多个本地编辑器缓存 215。在一个实施例中, 应用 缓存 221 可以是如超文本标记语言 5(HTML5) 中所定义的 AppCache。 0026 在备选实施例中, 在浏览器中可以包含应用缓存 221、 URL 历史 217 和其他组件。 在另一备选实施例中, 数据库 220 可以包括应用缓存 221 和其他组件。 0027 多个本地编辑器缓存 215 中的每个包括冷启动编辑器。在图 2 描绘的示意性实施 例中,。

22、 第一本地编辑器缓存 215-A 包括冷启动编辑器 212 ; 第二本地编辑器缓存 215-B 包括 冷启动编辑器 213, 并且第 N 本地编辑器缓存 215-N 包括冷启动编辑器 218。当用户希望开 始编辑文档并且用户设备 106 处于离线模式中时, 将使用冷启动编辑器。下面详细描述冷 启动编辑器。 0028 在一个实施例中, 用户设备 106 可以是非公共设备, 例如, 雇主向员工提供的个人 膝上型计算机或计算机。用户可能需要在将文档存储到其本地设备上之前给予许可。与用 户设备 106 进行通信的文档服务 104 可以执行针对新用户的选择加入 (opt-in) 过程 (以在 本地存储它。

23、们的文档之前征求许可) 和针对不再希望在特定设备上离线访问文档的用户的 选择退出 (opt-out) 过程。因此, 仅可信任设备可以在离线模式中访问文档, 而不可信设备 将被限制于在线访问。 0029 在一个实施例中, 编辑器可以根据网络环境从该本地数据库、 从服务器或者从组 合中获得文档的内容以便查看。 0030 在备选实施例中, 应用缓存 221 可以存储在浏览器 210 中。 0031 图 3 示出了根据一个实施例的文档服务 104 的功能组件。文档服务 104 包括处理 器 375 和存储器 325。存储器 325 存储文档和其他数据。例如, 由用户设备 106 的用户创建 和 / 或。

24、编辑的文档 216-A 可以存储在存储器 325 中, 如图 3 中所示。在备选实施例中, 文档 216-A 可以存储在文档服务 104 的外部。存储在文档服务 104 中或者文档服务 104 的外部 说 明 书 CN 103765419 A 6 4/12 页 7 (例如, 存储在不同的服务器处) 的文档 216-A 也可以在本地缓存到用户设备 106 上。因此, 文档 216-A 的副本被存储在用户设备 106 上。在一个实施例中, 当在文档服务 104 上改变 文档 216-A 时, 文档服务 104 向用户设备 106 发送改变的文档或者表示该改变的文档的数 据。此后, 用户设备 106。

25、 缓存改变的或更新的文档。 0032 存储器325还可以存储包括文档216-A的热启动编辑器313、 冷启动编辑器315和 启动器应用 316。文档服务 104 可以包括图 3 中未示出的其他组件。在一个实施例中, 文档 服务 104 向用户设备 106 提供冷启动编辑器 315、 启动器应用 316 和热启动编辑器 313。然 后, 用户设备 106 可以启动和 / 或运行冷启动编辑器 315、 启动器应用 316、 以及热启动编辑 器 313 中的任意一个。 0033 假设用户使用用户设备 106 来访问文档 216-A, 用户可以例如基于与文档相关联 的地址 (例如, URL) 经由网站。

26、 108 来访问文档。图 4 示出了根据一个实施例在作为网页 408 实现的编辑器中显示的文档 216-A。网页 408 是网站 108 的一部分, 并且可以由用户设备 106 的用户来访问。因此, 在浏览器 210 中经由网页 408 向使用用户设备 106 的用户显示文 档 216-A。在示意性实施例中, 网站 108 还显示与文档 216-A 相关联的公共 URL410。在图 6 中示出了公共地址 (或公共 URL 地址) 的示例。本文使用的术语地址可以是指代位置或针 对位置的指针, 例如, URL。在一个实施例中, 浏览器 210 可以可选择地在网站 108(或者屏 幕上的任何其他位置。

27、) 中显示离线 / 在线指示符 430, 其中, 离线 / 在线指示符 430 指示用 户设备 106 是否在线并且能够经由网络 102 与文档服务 104 连接。在一个实施例中, 所有 URL(公共的和私有的) 可以处于在 HTML web 应用标准部分 6.3 中定义的相同起始点。在 一个实施例中, 文档管理器可以允许用户 (例如, 通过从文档列表中进行选择) 选择他们希 望查看或编辑的文档。 可能存在两个版本的文档管理器, 一个供离线使用, 另一个供在线使 用。图 2 中所示的离线文档管理器 222 可以构造针对应用缓存的编辑器应用的私有 URL, 并且可以启动该私有 URL。离线文档管。

28、理器 222 可以具有与其在线对应方的地址不同的地 址, 例如, DocServicedotcom/offline。文档管理器的用户界面可以包括表格。该表格可 以包括文档标题、 当在线时最后一次在本地查看文档并且因此与文档同步的日期。离线文 档管理器 222 可以存储在应用缓存中。 0034 文档管理器可以显示文档列表以使用户能够选择要查看或编辑的文档。 文档列表 可以包括辅信息, 例如, 所给定的文档是否保存未传送的本地改变 (如下所述) 。在一个实施 例中, 文档管理器可以在 “应用缓存维护” 中起作用, 因为文档管理器能够计算对于启动文 档中的任意一个或全部所必需的编辑器应用缓存集合并且。

29、更新这些编辑器应用缓存。 0035 热启动编辑器 0036 当使用用户设备 106 的用户能够上网并且经由网络 102 访问存储在文档服务 104 上的文档时, 用户设备106请求运行热启动编辑器313。 在一个实施例中, 热启动编辑器313 只能在用户设备 106 处于在线状态时被启动。例如, 可以通过成功的 ping 通或对 web 的尝 试接入来验证在线状态。热启动编辑器 313 由文档服务提供以在请求显示文档时在用户设 备上立即运行, 并且可以不被本地存储。所请求的文档可以与应用代码合并在一起。在一 个实施例中, 合并可以允许特定的延迟优化。在启动期间, 热启动编辑器可以在数据库 22。

30、0 中存储文档, 或者更新已经存储在那里的任何版本。 0037 例如, 当用户设备 106 在在线模式中请求访问文档 216-A 时, 从文档服务 104 获取 说 明 书 CN 103765419 A 7 5/12 页 8 文档216-A。 在备选实施例中, 热启动编辑器313还可以使用由用户设备106存储在存储器 219 或数据库 220 中的缓存的图像、 文档数据和 / 或 web 字体, 而不是从文档服务 104 获取 它们, 以在加载文档 216-A 时试图减小加载时间。只要用户设备在线, 在其上运行的任何热 启动编辑器就保持与文档服务 104 的连接。这使得它们能够持续地将它们正在。

31、显示的文档 和存储在数据库 220 中的任何版本与服务器的文档和版本进行同步。如果在热启动编辑器 正在运行时用户离线, 则热启动编辑器可以继续运行, 并且可以允许编辑。 在用户从离线返 回以后, 在用户设备上运行的任何热启动编辑器可以与文档服务 104 重新连接, 并且可以 对它们正在显示的文档以及存储在数据库 220 中的版本进行同步。 0038 在热启动时 (即, 当使用热启动编辑器313时) , 发现文档与编辑器应用合并在一起 而不必经由 XMLHttpRequest(XHR) 来获取文档。该顺序也可以是热启动的启动顺序的实 现。 0039 冷启动编辑器 0040 当使用用户设备 106。

32、 的用户处于离线模式并且尝试访问文档 216-A 时, 用户设备 106 启动冷启动编辑器 212。冷启动编辑器 212 可以包括应用缓存, 该应用缓存可以包括应 用缓存清单。应用缓存清单是网页使用的所有 URL 的列表。应用缓存清单被提供给诸如浏 览器210的浏览器。 应用缓存清单中提到的资源被构造为不包括文档216-A, 但是它们可以 包含用户特有的数据。 下面详细地描述应用缓存清单。 每一个冷启动编辑器具有私有URL, 该私有 URL 不会被公布。用户通常使用公共 URL 请求其文档, 该公共 URL 描述只能在线使 用的资源。启动器应用 214 拦截这些请求, 创建相应的私有地址, 并。

33、且导航至该私有地址, 使得 (例如) 从第一个本地编辑器缓存 215-A 取回冷启动编辑器 212 并且启动冷启动编辑器 212。然后, 冷启动编辑器 212 使用公共地址替换页面的呈现 URL(否则, 页面将显示私有 地址) 。然后, 看起来一直导航至公共地址。这向用户提供了熟悉的体验, 并且确保将呈现 URL 作为例如书签的任何记录不包括私有地址。在图 6 中示出了私有地址 610 的示例。在 一个实施例中, 超文本标记语言 5(HTML5) 历史应用编程界面 (API) 可以用于掩盖私有地址 610。私有地址 610 包括识别编辑器缓存的组成部分、 识别文档的其他组成部分以及附加信 息。。

34、在一个实施例中, 当启动冷启动编辑器 212 时, 冷启动编辑器 212 读取其私有 URL 并且 确定用户打算打开哪个文档。然后, 冷启动编辑器 212 从数据库 220 读取用户记录, 以找到 当前的离线用户 (例如, 使用用户设备106的已经选择加入以允许在本地缓存文档的用户) 。 用户记录可以列出有权访问相应文档的一个或多个用户。例如, 可以将上述示例中的剧作 家作为有权访问剧本的用户来列出。 一旦确定用户被同意访问本地所存储的文档并且给予 访问本地所存储的文档的许可时, 冷启动编辑器 212 从数据库 220 读取文档 216-A 并且提 供对该文档 216-A 的显示。 0041 。

35、在当在线时启动冷启动编辑器 (即, 当使用冷启动编辑器 212 时) 的情况下, 可以 发出超文本传输协议 (http) 请求, 冷启动编辑器接受文档的标识 (即, 文档 ID) 并且返回数 据, 该数据包括包含文档的 JavaScript 对象表示法 (JSON) 响应。该数据用于填充本地数 据库并且渲染文档 106。 0042 编辑器应用 0043 在一个实施例中, 冷启动编辑器 (例如, 冷启动编辑器 212、 213 和 218) 以及启动器 应用 214 被适配为从应用缓存 (例如, 应用缓存 221) 运行。在一个实施例中, 冷启动编辑器 说 明 书 CN 103765419 A 。

36、8 6/12 页 9 应用的 JavaScript(JS) 或 HTML 组成部分均不包括引用特定文档的任何内容, 并且能够 在没有网络的情况下引导和运行。在一个实施例中, 可能存在用于覆盖编辑模式和只读模 式二者的单个应用 ; 其中, 只读模式禁用编辑特征。在一些情形中, 在不同的清单和主输入 URL 下将多个编辑器应用缓存安装到用户设备 106 上。每个文档可以要求打开特定的冷启 动编辑器, 该特定的冷启动编辑器将被存储在特定的本地编辑器缓存中。为了确定使用哪 一个本地编辑器缓存, 可以使用很多因素。例如, 因素之一可以是文档类型 (例如, 文本、 电 子数据表等) 。 0044 本文结合。

37、图 5 描述了用户设备 106 如何在离线状态中访问文档 216-A 的细节。 0045 图 5 是描绘根据一个实施例在离线状态中提供对文档的访问的方法的流程图。在 步骤 5002, 当用户设备处于离线状态时, 在用户设备处接收到对文档的请求。该请求包括 与远离用户设备的位置相对应的公共统一资源定位符。例如, 可以当用户设备 106 处于离 线状态时 (例如, 由于网络临时或永久中断或者断断续续的连接) 在用户设备 106 处接收到 对文档 216-A 的请求。该请求包括与远离用户设备 106 的位置相对应的公共 URL410。例 如, 公共URL410可以是公共地址605, 公共地址605可。

38、以指向存储在文档服务104上的文档 216-A 的位置。在一个实施例中, 假设剧作家正在乘火车去米兰旅行。 (可能或可能不知晓 他的设备离线的) 剧作家希望访问他的剧本。他通过点击、 打字或者以其他方式访问与存储 他的剧本的远端位置相对应的公共 URL 来发送对剧本的请求。 0046 在一个实施例中, 可以经由网络 (例如, 互联网) 来访问远离用户设备的位置。例 如, 位置可以指向在文档服务 104 上存储文档 216-A 并且可以经由网络 102 (即, 互联网) 访 问该位置。在一个实施例中, 文档 216-A 被存储在用户设备 106 上的数据库 220 处。 0047 在步骤 500。

39、4, 启动拦截请求的应用。当用户设备 106 在离线模式时, 启动器应用 214 拦截包括公共 URL410 的请求。在一个实施例中, 启动器应用 214 被启动以拦截可以是 公共地址 605 的公共 URL410。在一个实施例中, 应用缓存 221 可以使启动器应用 214 拦截 公共 URL。因此, 启动拦截公共统一资源定位符的应用还包括 : 启动应用缓存。例如, 启动 启动器应用 214 还包括 : 启动应用缓存, 当冷启动编辑器应用 212 与文档 216-A 相关联时, 应用缓存选择冷启动编辑器应用 212。 0048 在步骤 5006, 基于公共统一资源定位符来选择多个本地缓存之一。

40、, 其中, 多个本地 缓存中的每个本地缓存与私有统一资源定位符相关联。因此, 基于公共 URL410(可以是公 共地址 605) 从多个本地编辑器缓存 215 中选择第二本地编辑器缓存 215-B。多个本地编辑 器缓存 215 中的每个与至少一个私有 URL(或者私有地址, 例如, 私有地址 610) 相关联。 0049 在步骤 5008, 经由相应的私有统一资源定位符来访问所选择的本地缓存以取回编 辑器。 因此, 经由相应的私有地址610来访问第二个本地编辑器缓存215-B以取回冷启动编 辑器 213。在一个实施例中, 私有地址 610 包括具有本地缓存的副本的互联网页面的地址, 当离线时,。

41、 它确实可用。一旦已经启动冷启动编辑器, 它就从数据库 220 取回文档 216-A 并 且提供文档的显示。 0050 在步骤 5010, 修改统一资源定位符历史以使用公共统一资源定位符来替换私有统 一资源定位符。参照图 2, 修改 URL 历史 217 以使用公共地址 605 (例如, 公共 URL410) 来替 换私有地址 610(或私有 URL) 。通过这种方式, 私有地址 610(可能不能被用户查看) 被屏 蔽, 并且在 URL 历史 217 中, 看起来仅公共地址 605 而不是私有地址 610 曾被访问。因此, 说 明 书 CN 103765419 A 9 7/12 页 10 UR。

42、L 历史 217 不包括关于在离线模式曾访问一个或多个私有 URL 以获得文档的任何指示。 在一个实施例中, 当剧作家查看 URL 历史 217 时, 看起来他已经访问公共地址 605 并且不存 在关于他已经访问私有地址 610 以访问文档 216-A 的缓存副本的指示。在一个实施例中, 通过以编程的方式处理浏览器历史来执行屏蔽。 这种屏蔽影响当正在查看编辑器页面时编 辑器页面的呈现 URL 以及历史。 0051 在步骤 5012, 经由冷启动编辑器向用户提供文档。经由冷启动编辑器 213 向使用 用户设备 106 的用户提供文档 216-A。因此, 即使剧作家的设备处于离线状态, 剧作家仍然。

43、 可以访问文档 216-A, 这是因为在数据库 220 中本地缓存了文档 216-A 的本地副本。 0052 在一个实施例中, 启动器应用 214 响应于用户的导航操作而启动, 读取用户已经 输入的URL, 并且确定是否存在对文档的请求。 启动器应用214进行检查以确定文档是否在 用户设备处的本地存储设备中。如果发现文档在本地存储设备中, 则启动器应用 214 可以 了解文档类型以确定可以使用哪一个编辑器缓存。 例如, 如果文档是电子数据表文档, 则可 以使用包含电子数据表应用的编辑器缓存。然后, 启动器应用 214 构造针对所选择的编辑 器缓存的私有 URL 并且启动私有 URL。 0053。

44、 在一个实施例中, 从存储设备取回与文档和用户设备有关的信息。文档服务 104 从存储设备和 / 或数据库 220 取回与文档 216-A 和用户设备 106 有关的信息。 0054 下文详细地描述关于启动器应用 214 如何实现对文档 216-A 的选择的细节。 0055 启动器应用 0056 启动器应用 214 (例如, 应用缓存的启动器应用) 经由其公共 URL 拦截对文档 216-A 的请求。启动器应用 214 启动正确版本的相应冷启动编辑器以向用户提供文档 216-A 的显 示。当冷启动编辑器 212 与文档 216-A 相关联时, 启动器应用 214 构造冷启动编辑器 212 的U。

45、RL, 这启动文档216-A和所选择的用户所需的冷启动编辑器版本。 一旦已经启动了冷启 动编辑器 212, 冷启动编辑器 212 就可以使用 HTML5 历史应用编程界面 (API) 来将其自身呈 现的 URL 修改为针对热启动编辑器 313 的 URL。 0057 启动器应用 214 通过使用应用缓存清单回退输入来拦截当离线时对使用 DocServicedotcom 下的 URL 的尝试。通过使用文档 216-A 的私有地址 610(其存储在用 户设备 106 上的本地编辑器缓存 215-B 中) , 启动器应用 214 可以使用冷启动编辑器 212 来 启动文档 216-A。此外, 可以由。

46、启动器来拦截在线文档管理器的 URL, 并且离线文档管理器 222 在适当时启动。 0058 在一个实施例中, 文档管理器应用可以给出文档 URL 的列表。在一个实施例中, 文 档管理器的离线变体可以是启动器应用 214 的一部分。在如图 2 中所示的备选实施例中, 离线文档管理器 222 可以与启动器应用 214 分离, 并且当拦截到对导航至在线文档管理器 的URL的尝试时, 可以由启动器应用214启动离线文档管理器222。 当使用处于离线状态的 用户设备 106 的用户做出对文档和 / 或相关联的文档 URL 的选择时, 离线文档管理器 222 选择并启动与该文档相关联的适当的冷启动编辑器。

47、。离线文档管理器 222 还可以在启动器 应用 214 的帮助下或者独立地进行该操作。 0059 现在参照图 6, 图 6 示出了与文档相关联的公共地址和私有地址的示例。用于访 问文档 216-A 的公共地址 605 的示例是 DocServicedotcom/document/ZZ。用于 (在本地 机器、 用户设备 106 处) 访问文档 216-A 的私有地址 610 的示例是 DocServicedotcom/ 说 明 书 CN 103765419 A 10 8/12 页 11 offline/document?cacheid=XX#ID=ZZ。在一个实施例中, 出现在 “uc” 之后的。

48、 “XX” 是用户 的特征字符串。在一个实施例中, 文档 ID 出现在 “#ID=” 之后。在一个实施例中, 在 URL 的 “段标识符组成部分” 中编码的文档 ID 和任何其他信息可能不在应用缓存选择中起作用。 取而代之地, 它由冷启动编辑器 212 在启动时读取以确定从多个本地缓存编辑器 215 加载 哪个文档 (例如, 文档 216-A、 文档 216-B、 、 文档 216-N) 和可能的其他信息。 “uc” 字符 串 (和可选择的 URL 的一些其他部分) 包括用于使文档服务 104 确定当在在线模式时向哪一 个二进制提供服务的信息。 0060 将在本文中参照图 7 来描述关于访问文。

49、档的细节。图 7 是描绘根据一个实施例 访问文档的方法的流程图。在步骤 7002, 流程图或例程开始。在步骤 7004, 请求包括公共 URL的文档。 例如, 使用用户设备106的用户通过打字、 选择、 点击或以其他方式访问与文档 216-A 相关联的公共 URL410(例如, 公共地址 605) 来请求文档 216-A。 0061 在步骤 7006, 确定用户设备是否在线。用户设备 106 通过多种方式中的任意一种 来确定它是否处于在线状态。如果确定用户设备 106 处于在线状态, 则流程图前进至步骤 7024。 在步骤7024, 公共URL用于从文档服务得到包括文档的热启动编辑器。 用户设备106 使用公共 URL410 来从文档服务 104 取回包括文档 216-A 的热启动编辑器, 并且当热启动编 辑器启动并且文档被显示时, 流程图然后在步骤 7022 结束。 0062 响应于在步骤7006中确定用户设备106不处于在线状态, 流程图或例程前进至步 骤 7008。例如, 浏览器确定用户设备 1。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1