CN104106048B - 使用应用高速缓存来更新已安装应用的资源 - Google Patents

使用应用高速缓存来更新已安装应用的资源 Download PDF

Info

Publication number
CN104106048B
CN104106048B CN201380009645.5A CN201380009645A CN104106048B CN 104106048 B CN104106048 B CN 104106048B CN 201380009645 A CN201380009645 A CN 201380009645A CN 104106048 B CN104106048 B CN 104106048B
Authority
CN
China
Prior art keywords
application
resource
updated
cache
inventory
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.)
Expired - Fee Related
Application number
CN201380009645.5A
Other languages
English (en)
Other versions
CN104106048A (zh
Inventor
I.希列里奥
D.V.温克勒
D.R.索恩顿
M.R.科克斯
A.R.贝茨曼
J.D.麦加萨
K.E.P.安德森
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 Technology Licensing LLC
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
Priority to US13/398,321 priority Critical
Priority to US13/398,321 priority patent/US20130219383A1/en
Application filed by Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Priority to PCT/US2013/025795 priority patent/WO2013122965A1/en
Publication of CN104106048A publication Critical patent/CN104106048A/zh
Application granted granted Critical
Publication of CN104106048B publication Critical patent/CN104106048B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates

Abstract

各个实施例允许将被使用在本地客户端机器上的可安装应用利用远程地驻留在web上的应用高速缓存清单文件来定义将在所述可安装应用已被布置在本地客户端机器上之后被更新并且离线可用的各种资源。每当清单文件的内容在web上被更新时,已安装应用就自动更新其本地应用高速缓存资源,并且允许所述已安装应用离线使用那些资源。这是在无须安装所述应用的新的更新或者使得用户必须费力导行到一个位置以获得更新后的内容的情况下实现的。

Description

使用应用高速缓存来更新已安装应用的资源
背景技术
[0001] 现有的计算环境通常强制用户在可以离线使用新的内容之前更新其应用。也就是 说,如果一个应用具有可用的更新,则用户在使用新的内容之前通常必须变得知晓所述更 新并且物理地导航到远程应用商店以便获得及安装所述更新。
发明内容
[0002] 提供本发明内容是为了以简化形式介绍将在后面的具体实施方式中进一步描述 的概念的选择。本发明内容不意图标识出所要求保护的主题内容的关键特征或基本特征。
[0003] 各个实施例允许将被用在本地客户端机器上的可安装应用利用远程地驻留在web 上的应用高速缓存清单文件来定义将在所述己安装应用已被布置在本地客户端机器上之 后被更新并且离线可用的各种资源。已安装应用可以被视为在其自身的环境中运行并且不 取决于Web浏览器或运行在Web浏览器中的自含式应用。每当清单文件的内容在web上被更 新时,已安装应用就自动更新其本地应用高速缓存资源,并且允许所述已安装应用离线使 用这些资源。这是在无须安装所述应用的新的更新或者使得用户必须费力导航到一个位置 以获得更新后的内容的情况下实现的。
附图说明
[0004] 将参照附图来描述具体实施方式。在图中,附图标记的最左侧数字标识出该附图 标记首次出现在其中的图。在描述部分和图中的不同场合使用相同的附图标记可以指示类 似的或完全相同的项目。
[0005] 图1是可操作来施行这里所描述的各个实施例的一种示例性实现方式中的环境的 图示。
[0006] 图2描绘出根据一个或更多实施例的可以利用己安装应用的一种示例性实现方 式。
[0007] 图3图示出了根据一个或更多实施例的示例性处理的方面。
[0008] 图4是描述根据一个或更多实施例的方法中的步骤的流程图。
[0009] 图5图示出了包括参照图1所描述的计算设备的示例性系统。
[0010] 图6图示出了可以被实施为这里所描述的任何类型的计算设备的示例性设备的各 个组件。
具体实施方式
[0011] 簦述
[0012] 各个实施例允许将被用在本地客户端机器上的已安装应用利用远程地驻留在web 上的应用高速缓存清单文件来定义将在所述已安装应用已被布置在本地客户端机器上之 后被更新并且离线可用的各种资源,例如图片、媒体、脚本、CSS样式表、HTML等等。己安装应 用可以被视为在其自身的环境中运行并且不取决于Web浏览器或运行在Web浏览器中的自 含式应用。为此,在本文档的上下文中,已安装应用不是web浏览器。相反,已安装应用可以 利用并采用基于标记的内容,比如,作为举例而非限制地,ScaleForm、XUI (Xbox UI)、HTML、 XAML等等。已安装应用通常是针对利用HTML和/或其他web技术来提供用户体验的特定应用 体验,包括由用户利用来与其己安装应用进行交互的用户接口。每当清单文件的内容在web 上被更新时,已安装应用就自动更新其本地应用高速缓存资源,并且允许所述已安装应用 离线使用这些资源。对于更新后内容的检查可以在布置时立即发生,在布置之后异步发生, 或者可以在第一次执行时发生,或者在每一次执行时发生。这是在无须安装所述应用的新 的更新或者使得用户必须费力导航到一个位置(例如应用商店)以获得更新后的内容的情 况下实现的。
[0013]在后面的讨论中将首先描述可以采用这里所描述的技术的一种示例性环境。随后 将描述可以在所述示例性环境以及其他环境中施行的示例性过程。因此,所述示例性过程 的施行不是受限于所述示例性环境的网络,并且所述示例性环境不受限于施行所述示例性 过程。
[0014] 示例性环境
[0015]图1在100处总体上图示出了根据一个或更多实施例的操作环境。环境1〇〇包括计 算设备102 (其也被称作“本地客户端机器”),计算设备1〇2具有一个或更多处理器丨〇4、一项 或更多项计算机可读存储介质106、驻留在所述计算机可读存储介质上并且可由处理器1〇4 执行的一项或更多项应用108以及一项或更多项已安装应用110。计算设备102可以被具体 实现为任何适当的计算设备,比如,作为举例而非限制地,台式计算机、便携式计算机、比如 个人数字助理(PDA)之类的手持式计算机、移动电话、电视、平板计算机等等。后面将在图5 和6中示出并描述计算设备102的多种不同示例中的一个。
[0016]应用10S可以包括任何适当类型的应用,作为举例而非限制地包括web浏览器。web 浏览器被配置成经由网络112进行导航。虽然网络112被图示出为因特网,但是所述网络可 以采取多种多样的配置。举例来说,网络112可以包括广域网(WAN)、局域网(LAN)、无线网 络、公共电话网、内联网等等。此外,虽然示出了单一网络112,但是网络112可以被配置成包 括多个网络。
[0017]所述浏览器例如可以被配置成经由网络112进行导航,以便与可以从一台或更多 台web服务器114获得的内容进行交互以及向所述一台或更多台web服务器114传送数据,例 如施行下载和上传。web服务器114可以被配置成提供可以经由网络112访问的一项或更多 项服务。这样的服务的示例包括电子邮件、web页面、照片共享站点、社交网络、内容共享服 务、媒体流送服务等等。
[0018]应用108中的一项或更多项还可以被配置成访问网络112,例如它们自身直接访问 和/或通过浏览器110访问。举例来说,应用108中的一项或更多项可以被配置成传送消息, 例如电子邮件、即时消息等等。在附加的示例中,应用108例如可以被配置成访问社交网络, 获得天气更新,与由web服务器114中的一台或更多台实施的书店服务进行交互,支持字处 理,提供电子数据表功能,支持演示的创建和输出等等。
[0019]因此,应用108还可以被配置成用于可能涉及直接或间接网络112访问的多种功 能。举例来说,应用108可以包括配置设定和其他数据,所述配置设定和其他数据可以由应 用108本地利用并且与在另一计算设备上执行的应用同步。通过这种方式,这些设定可以由 所述设备共享。多种其他实例也被考虑。因此,计算设备102可以通过多种方式与来自多种 不同来源的内容进行交互。
[0020] 与web浏览器分开并且无关的已安装应用110代表可以周期性地访问web并且可以 在在线和离线情形中使用的应用功能。已安装应用通常从本地客户端机器上运行,其中本 地客户端机器充当用于web应用的起源站点。已安装应用在本地客户端机器连接到web时是 可更新的。在本文档的上下文中,已安装应用可以被视为在其自身的环境中运行并且不取 决于Web浏览器或运行在Web浏览器中的自含式应用。在至少一些情境中,己安装应用可以 被视为web页面,这些web页面作为应用被安装在计算设备102上,并且在托管可执行程序代 码或软件的专用应用内部再现。一种特定类型的己安装应用是Metro风格的应用或应用程 序(app)。这样的应用可以使用JavaScript,并且可以利用包括HTML、CSS、JavaScript和前 面提到的其他web技术的web技术来建立。与web站点不同,利用JavaScript的Metro风格的 应用程序不是从web服务器逐页布置的,而是由用户在执行之前作为软件包本地安装在其 机器上的。
[0021] 此外,计算设备102包括已安装应用存储装置118,已安装应用存储装置118进而包 括本地应用高速缓存120和更新模块116,所述更新模块116可以结合远程应用内容被用来 在计算设备102在线时自动更新本地应用高速缓存120,正如后面将变得显而易见的。应用 高速缓存120代表可以被用来存储从web站点获得的数据(例如资源)的一个或更多高速缓 存,所述数据比如是在结合已安装应用110使用的资源的生成和显示中所涉及的音频、视 频、样式表、脚本、图像、超文本标记语言(HTML)数据等等。在一种或更多种实现方式中,即 使当相应数据的来源不可用(例如提供所述数据的web服务器114离线、缺少网络连接等等) 时,也可以访问应用高速缓存120。通过这种方式,已安装应用110可以利用本地存储在计算 设备102处的内容和资源,就好像所述内容和资源是经由网络连接获得的那样,从而提供无 缝的用户体验。
[0022] 一般来说,这里所描述的任何功能可以利用软件、固件、硬件(例如固定逻辑电路) 或者这些实现方式的组合来实施。这里所使用的术语“模块”、“功能”和“逻辑”通常代表软 件、固件、硬件或者其组合。在软件实现方式的情况下,所述模块、功能或逻辑代表在处理器 (例如一个或多个CPU)上执行时施行指定任务的程序代码。所述程序代码可以被存储在一 个或更多计算机可读存储器设备中。后面所描述的技术的特征是与平台无关的,这意味着 所述技术可以被实施在具有多种处理器的多种商用计算平台上。
[0023]举例来说,计算设备102还可以包括使得计算设备102的硬件或虚拟机(例如处理 器、功能块等等)施行操作的实体(例如软件)。举例来说,计算设备102可以包括计算机可读 介质,所述计算机可读介质可以被配置成保持使得计算设备(更具体来说是计算设备102的 操作系统和相关联的硬件)施行操作的指令。因此,所述指令用来将所述操作系统和相关联 的硬件配置成施行所述操作,并且按照这种方式导致将所述操作系统和相关联的硬件变换 成施行功能。所述指令可以由计算机可读介质通过多种不同配置提供到计算设备102。
[0024]计算机可读介质的一种这样的配置是信号承载介质,并且从而被配置成例如经由 网络向计算设备发送指令(例如作为载波)。所述计算机可读介质还可以被配置成计算机可 读存储介质,并且从而不是信号承载介质。计算机可读存储介质的示例包括随机存取存储 器(RAM)、只读存储器(R0M)、光盘、闪存、硬盘存储器以及可以使用磁性、光学和其他技术来 存储指令和其他数据的其他存储器设备。
[0025] 己经描述了这里所描述的技术可以操作在其中的示例性环境,现在考虑可以利用 这里所描述的原理的一些示例性实施例的讨论。
[0026] 示例性实施例
[0027]图2结合后面的讨论在200处总体上图示出了来自图1的一些组件。
[0028]在一个或更多实施例中,已安装应用110利用应用高速缓存115 (更具体来说是驻 留在web上并且可以经由网络112访问的应用高速缓存清单文件115a)来定义所述已安装应 用将使用来在线以及离线显示内容的资源集合。在一个或更多实施例中,这些资源在第一 次使用所述应用时被下载,或者在服务器上更新应用清单时被下载,并且被本地高速缓存 在应用高速缓存120中以供后来使用。在一种具体实现方式中,应用高速缓存115被实施成 遵循W3C HTML5应用高速缓存。但是应当认识到并且理解的是,在不背离所要求保护的主题 内容的精神和范围的情况下,可以利用其他高速缓存实现方式。
[0029]在该示例中,一旦可安装应用110被安装并且资源已被下载和高速缓存,则下一次 所述已安装应用被使用并且希望使用所述资源时,将从计算设备102上的应用高速缓存120 供应清单文件中的指定资源,并且假设有在线连接,则更新模块116将检查清单文件115a是 否被更新以便访问并取回新的资源。
[0030] 举例来说,假设后来当开发者更新由已安装应用110使用的资源和清单文件115a 时,已安装应用110将通过更新模块116下载那些资源,以便在安装之后的第一次运行时立 即使用,或者在下一次启动或重新加载所述应用时使用。随后,当末端用户访问已安装应用 时,将从应用高速缓存120使用所述新的资源。这允许己安装应用110离线显示和操纵新的 资源(例如图像、声音、视频等等)而无须升级所述应用。此外,用户不用必须升级己安装应 用,并且在某些情况下可以不牵涉所述处理。
[0031] 此外,在至少一些实施例中,在可安装应用的安装期间,应用高速缓存清单文件 115a可以充当用以允许从web下载将在第一次应用运行期间处理的内容的机制。这允许开 发者使用应用高速缓存清单文件115a作为针对其可安装应用的一种配置工具。
[0032]现在结合图3考虑一个具体实现方式示例,图3在300处总体上图示出了根据一个 或更多实施例的示例性处理。
[0033] 在该示例中,存在两个分开的但是有关的处理一一应用布置处理302和应用执行 处理304。这些处理可以被实施在驻留在某种类型的计算机可读介质(比如计算机可读存储 介质)上的软件中。在所图示出并描述的示例中,每一项可安装应用具有相应的应用包306。 应用包306包括应用清单308以及针对包括所述可安装应用的标记文档(例如web页面310) 的索引。web应用清单308包含资源标识符,比如,作为举例而非限制地,指向远程应用高速 缓存清单文件115a (图1)的位置的URI。针对web页面310的索引包括构成所述可安装应用的 每一个相应的web页面(例如资源)的位置。
[0034]由应用清单308中的资源标识符索引的应用高速缓存清单文件被利用来在应用布 置处理302期间取回将被第一次安装的所有资源。相应地,在所述布置处理期间,如“1”处所 示,计算设备获得并读取应用包306。如“2”处所示,应用清单308被读取并利用来预取或下 载由可安装应用利用的所有资源或web页面。如“3”处所示,这些资源随后被存储在应用高 速缓存120中。一旦被存储在应用高速缓存120中,则可以在后面正好描述的应用执行处理 304期间在在线和离线情形中利用所述可安装或己安装应用。
[0035]在应用执行处理304期间,如“4”和“5”处所示,已安装应用利用应用高速缓存120 来取回由所述已安装应用利用的所有本地高速缓存的资源。此外,如“6”处所示,如果存在 网络连接,则应用执行处理304还检查更新后的应用清单308的存在。这例如可以通过检查 与本地应用高速缓存清单文件相关联的时间戳或者应用高速缓存的内容的改变来实现,以 便确定其是否与被远程保持的远程应用高速缓存清单文件115a (图1)共享相同的数值。如 果存在远程应用高速缓存清单文件的更新后的版本,则应用执行处理304可以如“6”处所示 下载并使用所述更新后的版本来下载相关联的资源,从而如“4”处所示在应用高速缓存120 中创建新的版本。这些新获得的资源随后可以在已安装应用的进一步执行中被使用。
[0036]应当认识到并且理解的是,更新后内容的下载可以在单独资源的粒度下发生。仅 指定几个示例,所述单独资源可以包括整个web页面或者出现在单独web页面内的资源。通 过这种方式,更新后内容的下载可以按照避免必须下载全新应用包的方式发生。这进而有 助于节约网络带宽,并且对于内容的本地接收方(例如由移动运营商收费的对于带宽的计 量使用)和服务器运营商(以出口成本的形式)都导致节省。
[0037]在至少一些实施例中,应用执行处理304可以向己安装应用发送消息,从而向所述 应用告知更新处理何时完成。在至少一些实施例中,所述应用可以向用户通知该新信息,并 且切换到新更新的高速缓存中的新代码和用户接口元素。一旦所述切换完成,已安装应用 就可以自动使用已下载的新资源。在至少一些实施例中,这可以允许用户与已安装应用的 最最新的版本及其资源进行交互,而无须用户物理导航到远程位置以便例如经由应用商店 更新相应的应用。也就是说,用户根本不必牵涉在更新处理中。相反,更新处理在幕后自动 发生,并且在许多情况下不为用户所知,直到其被通知新下载、更新的资源的存在或者用户 接口或用户功能的可感知元素被改变为止,正如前面所提到的那样。这可以通过允许已安 装应用访问最新的内容并且使得这样的内容在离线情形中可供使用,来允许已安装应用的 行为更像web站点。
[0038]关于如前所述的可以被下载的资源类型,作为举例而非限制地,这方面可以包括 通常由已安装应用采用的任何适当类型的媒体(例如视听文件)或其他资源,正如本领域技 术人员将认识到的那样。在至少一些实施例中,出于各种原因(比如,作为举例而非限制地, 由于安全性原因),所下载的资源的那些类型可以被限制。举例来说,包括可执行脚本(例如 JavaScript)的资源可能不一定被下载。
[0039]已经考虑了前面所描述的示例性实施例,现在将考虑根据一个或更多实施例的示 例性方法。
[0040] 示例性方法
[0041]图4是描述根据一个或更多实施例的方法中的步骤的流程图。所述方法可以结合 任何适当的硬件、软件、固件或者其组合来实施。在至少一些实施例中,所述方法被实施在 驻留在某种形式的计算机可读存储介质上的软件中。
[0042]步骤400发起应用安装。该步骤可以按照任何适当方式来施行。举例来说,用户可 以通过导航到与应用相关联的特定web站点并且点击“安装”链接而导致发起应用安装处 理。替换地或附加地,可以从应用商店安装应用。在所图示出并描述的实施例中,在安装应 用时,访问远程应用高速缓存,例如应用高速缓存115(图1),并且利用应用高速缓存清单来 确定将要下载的有关资源,从而在在线和离线情形中都可以利用所述资源。相应地,在访问 了应用高速缓存清单之后,步骤402下载与己安装应用相关联的资源。通过下载资源,己安 装应用可以是在安装程序之后立即离线可用的。在至少一些实施例中,该步骤可以通过使 用标准W3C HTML5应用高速缓存实现方式来施行。具体来说,在应用高速缓存清单内部存在 包括HTML5应用高速缓存清单的URI的一个部分。这在图3中最上方的HTML摘要中示出。在布 置期间,安装机制寻找该部分,并且使用HTML5应用高速缓存清单的内容来预取所有资源。 安装机制创建本地应用高速缓存存储装置并且把这些资源存储在所述存储装置中,正如前 面所提到的那样。替换地,一些实现方式可以使得布置机制从已安装应用的起始页面取回 HTML5应用高速缓存UR I并且遵循相同的处理,正如在图3中最下方的HTML摘要中所示出的 那样。
[0043]步骤404执行己安装应用。在执行己安装应用时,其利用本地应用高速缓存来取回 将由己安装应用利用的所有资源。此外,如果存在网络连接,则步骤406将确定更新后的应 用高速缓存清单的存在。如果在步骤408中不存在更新后的清单,则步骤410使用先前下载 的本地资源来执行已安装应用。另一方面,如果存在更新后的清单,则步骤412在所述应用 正在运行的同时下载已被更新的资源。在至少一些实施例中,该步骤可以至少部分地通过 使用HTML5应用高速缓存功能来施行,以便检查由HTML标签属性中的URI所指向的清单内容 是否已被修改。前面提供了示例性HTML标签属性。
[0044]步骤414使用所下载的资源来执行己安装应用。在一个或更多实施例中,作为举例 而非限制地,这可以包括创建应用高速缓存的新版本并且向己安装应用发送消息,从而向 己安装应用通知所述处理何时完成。随后,在至少一些实施例中,所述应用可以向用户通知 该新的信息,并且切换到所述资源。一旦所述切换完成,用户就可以在已安装应用中自动使 用新的资源。如前所提到的,这允许用户在线或离线执行已安装应用而不损失体验的任何 部分。此外,如前所提到的,可以在无须要求用户从应用商店安装更新的情况下施行这一处 理。这进而通过允许已安装应用访问可以在在线和离线情形中使用的最新内容,来允许已 安装应用的行为更像web站点。
[0045]已经考虑了根据一个或更多实施例的示例性方法,现在将考虑可以被利用来实施 前面描述的实施例的示例性系统和设备。
[0046] 示例性系统和设备
[0047]图5图示出了包括参照图1描述的计算设备102的示例性系统500。当在个人计算机 (PC)、电视设备和/或移动设备上运行应用时,示例性系统500实现了用于无缝用户体验的 无所不在的环境。当在利用应用、玩视频游戏、观看视频等等的同时从一个设备转变到下一 个设备时,对于共同用户体验,服务和应用在所有三种环境中基本上类似地运行。
[0048] 在示例性系统500中,多个设备通过中央计算设备互连。所述中央计算设备可以处 于所述多个设备本地,或者其位置可以远离所述多个设备。在一个实施例中,中央计算设备 可以是通过网络、因特网或其他数据通信链路而连接到所述多个设备的一台或更多台服务 器计算机的云。在一个实施例中,该互连架构允许在多个设备上递送功能,以便为所述多个 设备的用户提供共同的无缝体验。所述多个设备当中的每一个可以具有不同的物理要求和 能力,并且中央计算设备使用一个平台以允许向设备递送既适应于该设备又对于所有设备 都是共同的体验。在一个实施例中,创建一个目标设备类别,并且针对该通用设备类别来调 整体验。可以通过设备的物理特征、使用类型或其他共同特性来定义设备类别。
[0049] 在各种实现方式中,计算设备1〇2例如对于计算机502、移动504和电视506使用可 以采取多种不同配置。这些配置当中的每一种包括可以具有总体上不同的构造和能力的设 备,从而可以根据所述不同的设备类别中的一个或更多来配置计算设备102。举例来说,计 算设备1〇2可以被实施为计算机5〇2设备类别,该类别包括个人计算机、台式计算机、多屏幕 计算机、膝上型计算机、上网本等等。这些不同配置当中的每一种可以采用这里所描述的技 术,正如通过包括前面所描述的应用108、已安装应用110、HTML再现器111、更新模块116和 应用高速缓存12〇所示出的那样。在所示出并描述的实施例中,应用108和已安装应用110是 HTML再现器111的独立寄主。
[0050]计算设备102还可以被实施为移动装置504设备类别,该类别包括例如移动电话、 便携式音乐播放器、便携式游戏设备、平板计算机、多屏幕计算机等移动设备。计算设备102 还可以被实施为电视506设备类别,该类别包括具有或者连接到休闲观看环境中的通常更 大的屏幕的设备。这些设备包括电视、机顶盒、游戏控制台等等。这里所描述的技术可以得 到计算设备102的这些各种配置的支持,并且不限于这里所描述的技术的具体示例。
[0051]云5〇8包括和/或代表用于内容服务512的平台510。平台510抽象化云508的硬件 (例如服务器)和软件资源的底层功能。内容服务512可以包括能够当在远离计算设备102的 服务器上执行计算机处理的同时被利用的应用和/或数据。内容服务512可以通过因特网 和/或通过例如蜂窝或Wi-Fi网络之类的订户网络作为服务被提供。
[0052]平台510可以抽象化用以将计算设备102与其他计算设备连接的资源和功能。平台 510还可以用来抽象化资源缩放,以便为对于经由平台510实施的内容服务512所遇到的需 求提供相应的缩放水平。相应地,在互连设备实施例中,这里所描述的功能的实施可以被分 布在整个系统500上。举例来说,所述功能可以部分地被实施在计算设备1〇2上,以及经由抽 象化云508的功能的平台510来实施。
[0053]图6图示出了可以被实施为参照图1、2和5所描述的任何类型的计算设备以便实施 这里所描述的技术的实施例的示例性设备600的各个组件。设备600包括通信设备602,该通 信设备6〇2允许设备数据e〇4(例如所接收到的数据、正在接收的数据、被调度以用于广播的 数据、所述数据的数据分组等等)的有线和/或无线传送。设备数据604或其他设备内容可以 包括设备的配置设定、存储在设备上的媒体内容和/或与设备的用户相关联的信息。存储在 设备600上的媒体内容可以包括任何类型的音频、视频和/或图像数据。设备600包括一个或 更多数据输入6〇6,经由所述数据输入可以接收任何类型的数据、媒体内容和/或输入,比如 用户可选择的输入、消息、音乐、电视媒体内容、所记录的视频内容以及接收自任何内容和/ 或数据来源的任何其他类型的音频、视频和/或图像数据。
[00M]设备6〇0还包括通信接口 6〇8,该通信接口 608可以被实施为串行和/或并行接口、 无线接口、任何类型的网络接口、调制解调器当中的任何一项或更多项,并且可以被实施为 任何其他类型的通信接口。通信接口608提供设备600与通信网络之间的连接和/或通信链 路,其他电子、计算和通信设备通过所述连接和/或通信链路与设备6〇〇传送数据。
[0055]设备6〇〇包括一个或更多处理器610 (例如微处理器、控制器等等中的任何一种), 所述处理器610处理各种计算机可执行指令以便控制设备600的操作并且实施这里所描述 的技术的实施例。替换地或附加地,可以利用结合在612处总体上标识出的处理和控制电路 实施的硬件、固件或固定逻辑电路当中的任一项或任意组合来实施设备600。虽然没有示 出,但是设备6〇〇可以包括耦合该设备内的各个组件的系统总线或数据传输系统。系统总线 可以包括不同总线结构当中的任一种或任意组合,比如利用多种总线架构当中的任一种的 存储器总线或存储器控制器、外围总线、通用串行总线和/或处理器或局部总线。
[0056] 设备600还包括计算机可读介质614,比如一个或更多存储器组件,存储器组件的 不例包括随机存取存储器(RAM)、非易失性存储器(例如只读存储器(R〇M)、闪存、EPROM、 EEPR0M等等当中的任何一项或更多项)以及盘存储设备。盘存储设备可以被实施为任何类 型的磁性或光学存储设备,比如硬盘驱动器、可记录和/或可重写紧致盘(CD)、任何类型的 数字通用盘①VD)等等。设备600还可以包括大型存储介质设备616。
[0057]计算机可读介质614提供用以存储设备数据604以及各种设备应用618和与设备 600的操作方面有关的任何其他类型的信息和/或数据的数据存储机制。举例来说,操作系 统620可以作为计算机应用与计算机可读介质614保持在一起,并且在处理器610上执行。设 备应用eis可以包括设备管理器(例如控制应用、软件应用、信号处理和控制模块、原产于特 定设备的代码、针对特定设备的硬件抽象层等等)。设备应用618还包括用以实施这里所描 述的技术的实施例的任何系统组件或模块。在该示例中,设备应用618包括被示出为软件模 块和/或计算机应用的接口应用622和输入/输出模块624。输入/输出模块624代表被用来提 供与被配置成捕获输入的设备(比如触摸屏、轨迹板、照相机、麦克风等等)的接口的软件。 替换地或附加地,接口应用622和输入/输出模块624可以被实施为硬件、软件、固件或者其 任意组合。此外,输入/输出模块624可以被配置成支持多个输入设备,比如分别用于捕获视 觉和音频输入的分开的设备。
[0058]设备600还包括音频和/或视频输入-输出系统626,音频和/或视频输入-输出系统 626向音频系统似8提供音频数据和/或向显示系统630提供视频数据。音频系统628和/或显 示系统630可以包括处理、显示和/或以其他方式再现音频、视频和图像数据的任何设备。可 以经由RF(射频)链接、S-视频链接、复合视频链接、分量视频链接、Div(数字视频接口)、模 拟音频连接或者其他类似的通信链接从设备600向音频设备和/或显示设备传送视频信号 和音频信号。在一个实施例中,音频系统628和/或显示系统630被实施为设备600外部的组 件。替换地,音频系统628和/或显示系统630被实施为示例性设备600的集成组件。
[0059]
[0060]各个实施例允许将被使用在本地客户端机器上的已安装应用利用远程地驻留在 web上的应用高速缓存清单文件来定义将在所述已安装应用已被布置在本地客户端机器上 之后被更新并且离线可用的各种资源。每当清单文件的内容在web上被更新时,已安装应用 就自动更新其本地应用高速缓存资源,并且允许所述已安装应用离线使用那些资源。这是 在无须安装所述应用的新的更新或者使得用户必须费力导航到一个位置以获得更新后的 内容的情况下实现的。
[0061]虽然已经用特定于结构特征和/或方法动作的语言描述了本发明,但是应当理解 的是,在所附权利要求书中限定的本发明不一定受限于所描述的具体特征或动作。相反,所 述具体特征和动作是作为实施所要求保护的发明的示例性形式而公开的。

Claims (10)

1. 一种计算机实施的方法,其包括: 在本地计算设备上发起应用的安装,所述应用包括并非web浏览器的应用; 下载与针对该应用的应用清单相关联的资源; 确定针对该应用的更新后的远程应用高速缓存清单的存在; 在该更新后的远程应用高速缓存清单中标识针对该应用的已被更新的资源; 发起不依赖于用户交互的下载且根据针对该并非web浏览器的应用的该远程应用高速 缓存清单下载已被更新的资源中的一个或多个,其包括,通过基于所述资源中的至少一个 资源包括可执行代码来排除所述至少一个资源,而限制要从该远程应用高速缓存清单下载 的资源的类型;以及 使用所下载的资源来在本地计算设备上执行所述应用。
2. 如权利要求1的方法,其中,下载资源包括使用W3C HTML5应用高速缓存实现方式。
3. 如权利要求1的方法,其中,由针对应用的应用清单中的URI索引该远程应用高速缓 存清单。
4. 如权利要求1的方法,其中,所述资源被配置成在在线和离线情形中使用。
5. 如权利要求1的方法,其中,下载资源包括下载一个或更多标记文档。
6. 如权利要求1的方法,其中,下载资源包括下载被利用来再现单独的标记文档的资 源。
7.如权利要求1的方法,其中,下载与应用相关联的资源以及下载已被更新的资源是在 不让相关联的用户导航到一个位置以获得所述资源的情况下施行的。
8.—种或多种计算机可读存储介质,包含计算机可读指令,其在被系统执行时使得该 系统执行操作,包括: 获得并读取包括应用清单的可安装应用包,所述应用清单被利用来下载由相关联的应 用利用的资源,该相关联的应用并未在web浏览器中运行; 把所下载的资源存储在应用高速缓存中以供在在线和离线情形中使用;以及 利用该应用高速缓存来取回要由己安装应用利用的资源; 检查位于远处的更新后的应用清单; 在该位于远处的更新后的应用清单中标识针对该应用的一个或多个更新后的资源; 发起不依赖于用户交互的下载且根据针对该并未在web浏览器中运行的应用的该位于 远处的更新后的应用清单来下载所述一个或多个更新后的资源,其包括,通过基于至少一 个资源包括可执行代码来排除所述至少一个资源,而限制要从该位于远处的更新后的应用 清单下载的资源的类型; 利用所下载的一个或多个更新后的资源来更新该应用高速缓存;以及 允许使用所下载的一个或多个更新后的资源来执行应用。
9.如权利要求8的计算机可读存储介质,其中,所述应用包括不同于web浏览器的应用。 10•如权利要求8的计算机可读存储介质,其中,所述操作是利用W3C HTML5应用高速缓 存来执行的。
CN201380009645.5A 2012-02-16 2013-02-13 使用应用高速缓存来更新已安装应用的资源 Expired - Fee Related CN104106048B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US13/398,321 2012-02-16
US13/398,321 US20130219383A1 (en) 2012-02-16 2012-02-16 Using an Application Cache to Update Resources of Installed Applications
PCT/US2013/025795 WO2013122965A1 (en) 2012-02-16 2013-02-13 Using an application cache to update resources of installed applications

Publications (2)

Publication Number Publication Date
CN104106048A CN104106048A (zh) 2014-10-15
CN104106048B true CN104106048B (zh) 2018-07-06

Family

ID=48983370

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201380009645.5A Expired - Fee Related CN104106048B (zh) 2012-02-16 2013-02-13 使用应用高速缓存来更新已安装应用的资源

Country Status (6)

Country Link
US (1) US20130219383A1 (zh)
EP (1) EP2815311B1 (zh)
JP (1) JP6253110B2 (zh)
KR (1) KR20140126328A (zh)
CN (1) CN104106048B (zh)
WO (1) WO2013122965A1 (zh)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8812451B2 (en) * 2009-03-11 2014-08-19 Microsoft Corporation Programming model for synchronizing browser caches across devices and web services
US8650550B2 (en) * 2011-06-07 2014-02-11 Blackberry Limited Methods and devices for controlling access to computing resources
US9053337B2 (en) 2011-06-07 2015-06-09 Blackberry Limited Methods and devices for controlling access to a computing resource by applications executable on a computing device
US9582603B1 (en) * 2012-02-27 2017-02-28 Amazon Technologies, Inc. Managing preloading of data on client systems
SG194245A1 (en) * 2012-04-17 2013-11-29 ZingMobile Pte Ltd A method for real-time synchronization between a device and host servers
US9489193B2 (en) 2012-05-01 2016-11-08 Sophos Limited Method and system for providing software updates to local machines
US9043469B2 (en) * 2012-06-29 2015-05-26 International Business Machines Corporation Cache control for web application resources
US9736121B2 (en) * 2012-07-16 2017-08-15 Owl Cyber Defense Solutions, Llc File manifest filter for unidirectional transfer of files
US9128792B2 (en) * 2012-09-28 2015-09-08 Wal-Mart Stores, Inc. Systems and methods for installing, managing, and provisioning applications
US9253279B2 (en) * 2012-11-06 2016-02-02 International Business Machines Corporation Preemptive caching of data
US20140228014A1 (en) * 2013-02-12 2014-08-14 Mistral Mfs Oy Method, System and Computer Program for Remotely Configurable Mobile Application
US20140289609A1 (en) * 2013-03-20 2014-09-25 Tencent Technology (Shenzhen) Company Limited Method For Implementing Off-Line Application and Apparatus Therefor
US10195520B1 (en) * 2013-05-14 2019-02-05 Take-Two Interactive Software, Inc. System and method for network gaming architecture
GB2516009A (en) * 2013-07-01 2015-01-14 Muntedhar Sahib Alhakim Automated software deployment management
KR101525519B1 (ko) * 2013-11-21 2015-06-03 (주)판도라티비 Html5를 기반으로 하는 오프라인상에서의 웹브라우징 방법
US9400643B2 (en) 2014-03-03 2016-07-26 Google Inc. Methods and systems for updating components on a computing device
JP6385157B2 (ja) * 2014-04-25 2018-09-05 キヤノン株式会社 情報処理端末、制御方法及びプログラム
US9672026B2 (en) 2014-07-21 2017-06-06 Xiaomi Inc. Light app offline updating method, device and terminal
US9880824B2 (en) 2015-06-05 2018-01-30 Apple Inc. On demand resources
US10447812B2 (en) 2015-06-05 2019-10-15 Apple Inc. On demand resources
CN107666459B (zh) * 2016-07-27 2020-10-16 阿里巴巴(中国)有限公司 应用缓存校验方法和装置以及计算设备
CN108287758A (zh) * 2017-01-09 2018-07-17 阿里巴巴集团控股有限公司 一种应用资源管理方法、使用方法及装置
CN108600382A (zh) * 2018-04-28 2018-09-28 广州联欣信息科技有限公司 一种在网络离线时app内容缓存的方法和计算机可读存储介质
KR102256249B1 (ko) * 2018-08-16 2021-05-26 경희대학교 산학협력단 통합 보안 SoC를 이용한 IoT 디바이스의 안전한 펌웨어 업데이트 방법
EP3754486A1 (en) * 2019-06-20 2020-12-23 BlackBerry Limited Selectively installing applications based on manifest files
CN110377360A (zh) * 2019-07-12 2019-10-25 深圳市酷开网络科技有限公司 webview快速加载的方法、显示终端及计算机可读存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1961307A (zh) * 2003-10-23 2007-05-09 微软公司 用于渐进式安装软件应用程序的系统和方法以及api

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
IL121815A (en) * 1997-09-22 2000-09-28 Security 7 Software Ltd Method and system for the identification and the suppression of executable objects
US6182045B1 (en) * 1998-11-02 2001-01-30 Nortel Networks Corporation Universal access to audio maintenance for IVR systems using internet technology
US6968539B1 (en) * 1999-09-30 2005-11-22 International Business Machines Corporation Methods and apparatus for a web application processing system
US7305475B2 (en) * 1999-10-12 2007-12-04 Webmd Health System and method for enabling a client application to operate offline from a server
US7275105B2 (en) * 2002-01-16 2007-09-25 Laszlo Systems, Inc. Enabling online and offline operation
US8316361B2 (en) * 2003-01-09 2012-11-20 Hewlett-Packard Development Company, L.P. Method of enabling a user to update one or more low-level resources of a computer system in a user-friendly manner
EP1618482A2 (en) * 2003-05-01 2006-01-25 Long, Jim Network meeting system
US7395534B2 (en) * 2003-05-22 2008-07-01 Microsoft Corporation System and method for progressively installing a software application
US8271774B1 (en) * 2003-08-11 2012-09-18 Symantec Corporation Circumstantial blocking of incoming network traffic containing code
US20050091107A1 (en) * 2003-10-22 2005-04-28 Scott Blum Media player and access system and method and media player operating system architecture
US8930944B2 (en) * 2003-11-18 2015-01-06 Microsoft Corporation Application model that integrates the web experience with the traditional client application experience
US7353454B2 (en) * 2004-05-21 2008-04-01 International Business Machines Corporation Web based device management and monitoring interface
US20060148462A1 (en) * 2004-10-14 2006-07-06 Xiongwei Zhu Customizable mobile phone using at command
JP4405939B2 (ja) * 2005-05-18 2010-01-27 キヤノン株式会社 画像処理装置とその制御方法および画像処理システム
US7814234B2 (en) * 2006-10-30 2010-10-12 Microsoft Corporation Offline execution of web based applications
US20080313628A1 (en) * 2007-06-15 2008-12-18 Microsoft Corporation Metrics pack distribution for data reporting tool
US9483255B2 (en) * 2008-03-04 2016-11-01 Telefonaktiebolaget Lm Ericsson (Publ) Application resource updates
US20100318967A1 (en) * 2009-06-12 2010-12-16 Microsoft Corporation Supplementary deployment actions
US8386718B2 (en) * 2009-11-18 2013-02-26 Research In Motion Limited Method and apparatus for managing application data in a shared cache of a mobile electronic device
EP2383645B1 (en) * 2010-04-30 2015-03-04 BlackBerry Limited Method and device for application installation to multiple memory components
US8800050B2 (en) * 2010-11-09 2014-08-05 Microsoft Corporation Security system for computing resources pre-releases
JP5686046B2 (ja) * 2011-03-31 2015-03-18 富士通株式会社 アプリ提供システム、アプリ提供方法及びアプリ提供プログラム
US10136097B2 (en) * 2012-02-02 2018-11-20 Apple Inc. Digital camera raw image support

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1961307A (zh) * 2003-10-23 2007-05-09 微软公司 用于渐进式安装软件应用程序的系统和方法以及api

Also Published As

Publication number Publication date
KR20140126328A (ko) 2014-10-30
EP2815311A4 (en) 2015-08-26
WO2013122965A1 (en) 2013-08-22
CN104106048A (zh) 2014-10-15
JP6253110B2 (ja) 2017-12-27
EP2815311A1 (en) 2014-12-24
JP2015513726A (ja) 2015-05-14
EP2815311B1 (en) 2019-03-27
US20130219383A1 (en) 2013-08-22

Similar Documents

Publication Publication Date Title
CN104106048B (zh) 使用应用高速缓存来更新已安装应用的资源
KR102132137B1 (ko) 웹 페이지의 맞춤 최적화 기법
US8989715B2 (en) Method and system for rendering content on a wireless device
US10673916B1 (en) Executing applications in remotely emulated computing devices
US8266576B2 (en) Sharing live appliances
US20090037724A1 (en) Server method and system for rendering content on a wireless device
CN105378713A (zh) 用于预渲染和预取内容的方法和系统
US8131797B2 (en) System and method for providing and distributing game on network
US20150222616A1 (en) Private cloud connected device cluster architecture
CN102572557A (zh) 当前设备定位广告分发
US8856685B2 (en) Method and system for providing web content on a mobile device
US20120233559A1 (en) Method and apparatus for interworking application and web browser
EP3338181A1 (en) Application installs using remote applications
Helal et al. Mobile platforms and development environments
US20140278766A1 (en) Methods and apparatus for providing application provisioning
JP5148670B2 (ja) 固有アドレスにより電化製品の設定を行う設定方法、及びシステム
JP5541160B2 (ja) プログラム入手・実行クライアント、プログラム入手・実行方法およびプログラム
US20190146644A1 (en) Integrating remote assets from content management service with content developed by content creation applications
CN107844597A (zh) 游戏应用管理方法、电子设备、计算机可读介质
AU2015376591A1 (en) Desktop sharing method and mobile terminal
TWI669614B (zh) 電子裝置與其離線更新程式的方法
KR20140121101A (ko) 분산빌드를 위한 디스패쳐 및 디스패쳐를 이용한 클라우드 빌드 시스템 및 그 방법
KR102045917B1 (ko) 광고 정보 운용 방법 및 이를 지원하는 장치
EP2772850A1 (en) Apparatus and method for manufacturing web widget
CN104615622A (zh) 打开文件的方法、装置及移动终端

Legal Events

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

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150703

TA01 Transfer of patent application right

Effective date of registration: 20150703

Address after: Washington State

Applicant after: Micro soft technique license Co., Ltd

Address before: Washington State

Applicant before: Microsoft Corp.

C41 Transfer of patent application or patent right or utility model
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20180706

Termination date: 20190213