《用于在主机文档服务中提供离线访问的系统和方法.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。