自动应用更新的制作方法

文档序号:15517457发布日期:2018-09-25 18:42阅读:224来源:国知局

本申请属于申请日为2013年6月19日的中国发明专利申请no.201310244142.8的分案申请。

本公开涉及自动更新应用。



背景技术:

近年来,手持计算设备(例如,移动电话)激增。这些设备装配有处理器、存储器以及用于通过局域网和广域网(包括,因特网)进行通信的能力。这些设备可以配备允许设备执行多种计算机程序和软件应用(一般称为“应用程序”)的操作系统。手持计算设备(或移动设备)的用户可以通过移动电话网或无线局域网与服务器进行直接通信来下载和安装应用。备选地,用户可以尝试向个人计算机(例如,桌面型计算机或膝上型计算机)下载应用。一旦向个人计算机下载了应用,还可以通过涉及将移动设备连接到个人计算机的处理(例如,同步)来向移动设备发送应用。获得针对安装在移动设备上的应用的更新会需要将移动设备连接到个人计算机或其他类型的用户交互,以获得针对已安装应用的更新。



技术实现要素:

在一个实施方式中,公开了一种用于更新移动设备上的应用的方法。所述方法包括在所述移动设备处访问应用管理信息。所述应用管理信息标识安装在所述移动设备上的多个应用以及与每个已安装应用相关联的一个或更多个授权许可设置。所述方法还包括:从所述移动设备向服务器发送针对与每个已安装应用有关的更新信息的请求,并在所述移动设备处从所述服务器接收所述更新信息。所述更新信息标识针对多个已安装应用中的相应应用的更新包。所述方法还包括:如果在与所述多个已安装应用中的所述相应应用相关联的一个或更多个授权许可设置中包括与所述更新包相关联的一个或更多个所需许可设置,则安装所述更新包,而不需要来自所述移动设备的用户的用户交互。

在另一实施方式中,公开了一种移动设备。所述移动设备包括显示器、输入设备、用于控制所述移动设备的操作的一个或更多个处理器以及用于存储由所述一个或更多个处理器使用的数据和程序指令的存储器。所述一个或更多个处理器被配置为:执行在所述存储器中存储的指令,以访问应用管理信息,其中,所述应用管理信息标识安装在所述移动设备上的多个应用以及与每个已安装应用相关联的一个或更多个授权许可设置。所述一个或更多个处理器还被配置为:向服务器发送针对与每个已安装应用有关的更新信息的请求,并从所述服务器接收所述更新信息。所述更新信息标识针对多个已安装应用中的相应应用的更新包。所述一个或更多个处理器还被配置为:如果在与所述多个已安装应用中的所述相应应用相关联的一个或更多个授权许可设置中包括与所述更新包相关联的一个或更多个所需许可设置,则安装所述更新包,而不需要来自所述移动设备的用户的用户交互。

在另一实施方式中,公开了包括可由一个或更多个处理器执行的程序指令的非瞬时性计算机可读介质。当执行所述指令时,所述指令使所述一个或更多个处理器执行操作,包括在移动设备处访问应用管理信息。所述应用管理信息标识在所述移动设备上安装的多个应用以及与每个已安装应用相关联的一个或更多个授权许可设置。所述操作还包括:从所述移动设备向服务器发送针对与每个已安装应用有关的更新信息的请求。所述操作还包括:在所述移动设备处从所述服务器接收所述更新信息。所述更新信息标识针对多个已安装应用中的相应应用的更新包。所述操作还包括:从所述移动设备向服务器发送要求传送所述更新包的请求,并在所述移动设备处从所述服务器接收所述更新包。所述操作还包括:如果在与所述多个已安装应用中的所述相应应用相关联的一个或更多个授权许可设置中包括与所述更新包相关联的一个或更多个所需许可设置,则安装所述更新包,而不需要来自所述移动设备的用户的用户交互。

附图说明

这里的说明书参考附图,在整个若干附图中,类似附图标记指代类似部分,在附图中:

图1是用于自动更新应用的系统的方框图;

图2是示出了移动设备的示例的方框图;

图3是示出了用于自动更新应用的示例处理的流程图;以及

图4是示出了用于自动更新应用的另一示例处理的流程图。

具体实施方式

在本文中所描述的自动应用更新系统和方法中,移动设备可以接收针对已安装应用的更新,而不需要用户交互(例如,而不需要将移动设备连接到个人计算机,或使用用户设备显示的界面,手动地下载并安装更新)。基于标识在移动设备上安装的多个应用和与每个已安装应用相关联的授权许可设置,移动设备可以向服务器发送针对与每个已安装应用相关的更新信息的请求。如果更新是可获得的,则响应于该请求,移动设备可以接收标识针对相应应用的更新包的更新信息。只要在与相应应用相关联的授权许可设置中包括与更新包相关联的所需许可设置,那么移动设备就可以安装更新包,而不需要用户交互。本文所描述的系统和方法允许移动设备安装针对多个已安装应用的更新,而不需要与移动设备的用户交互。

图1是根据一个实施方式的系统10的方框图。系统10包括服务器12、网络14和移动设备16。

服务器12可以包括处理器(例如,中央处理单元(cpu)18)和存储器20。在一些实施例中,服务器12可以包括两个或更多个处理器。此外,可以在两个或更多个计算设备上实现服务器12。在其他实施例中,可以使用多个计算机和/或计算设备,将服务器12实现为分布式系统。在其他实施例中,可以在虚拟机上搭建服务器12,虚拟机自身可以在一个或更多个计算机和/或计算设备上运行。存储器20可以存储cpu18所使用的数据和程序指令。例如,服务器12可以从应用开发者接收更新管理器应用22,并通过网络14向移动设备16发送与更新管理器应用22相关的各种类型的信息。

网络14可以使服务器12与移动设备16进行通信,用于在服务器12和移动设备16之间发送信息。

移动设备16可以包括处理器(例如,cpu24)和存储器26。存储器26可以存储cpu24所使用的数据和程序指令。移动设备16还可以包括一个或更多个输出设备(例如,显示器28)或与它们进行通信。显示器28可以使移动设备16的设备用户能够与从服务器12向移动设备16传送的更新管理器应用22进行交互。图2中进一步描述了移动设备16的示例。

图2是图1的移动设备16的方框图。移动设备16可以是具有单个计算设备形式的任意类型的手持设备(例如,智能电话、桌面型计算机、笔记本计算机、移动电话、平板计算机、pda等)。

移动设备16中的cpu24可以是传统中央处理单元。备选地,cpu24可以是现有或以后开发的能够操控或处理信息的任意其他类型的一个或多个设备。尽管可以利用所示的单个cpu(例如,cpu24)实现所公开的实施例,但是可以使用多于一个处理器实现速度和效率上的优势。

移动设备16中的存储器26可以是随机存取存储器设备(ram)。可以使用任意其他类型的存储设备作为存储器26。存储器26可以包括cpu24使用总线30访问的代码和数据27。存储器26还可以包括操作系统32和已安装应用34,该已安装应用34包括使cpu24执行本文所描述的方法的程序。例如,已安装应用34可以包括图1中所描述的更新管理器应用22。移动设备还可以包括附加存储器36(例如,可以是存储卡、外部存储器、闪存或任意其他形式的合适的计算机可读介质)。因为已安装应用34(包括更新管理器应用22)可以包含大量信息,可以将它们完整地或部分地存储在次级存储器36中,并且按照处理的需要,加载到存储器26中。

移动设备16可以包括一个或更多个输出设备(例如,显示器28)。显示器28可以是液晶显示器(lcd)、阴极射线管(crt),或例如允许响应于接收到视频信号而向用户呈现输出的任意其他类型的显示器。移动设备16可以包括输入38,例如,键盘、鼠标、触摸敏感设备或可以接收用户输入并可以向cpu24输出指示用户输入的信号或数据的姿势敏感输入设备。

尽管图1和2将服务器12和移动设备16的cpu18、24以及存储器20、26示出为集成到单个单元中,但是可以使用其他配置。cpu18、24的操作可以分布在直接耦合或跨越局域网或其他网络耦合的多个机器(每个机器具有一个或更多个处理器)上。存储器20、26可以分布在多个机器(例如,基于网络的存储器或执行服务器12和移动设备16的操作的多个机器中的存储器)上。尽管本文中描绘为单根总线,移动设备16的总线30可以由多根总线构成。此外,次级存储器36可以与移动设备16的其他组件直接耦合,或可以经由网络访问次级存储器36,并且次级存储器36可以包括单个集成单元(例如,存储卡)或多个单元(例如,多个存储卡)。因此,可以以各种配置实现服务器12和移动设备16。

图3和4是示出了用于自动更新在计算设备上安装的应用的示例处理的流程图。图3中的处理50包括计算设备(例如,与系统10进行通信的移动设备16,如图1所示)。

在步骤52,可以在移动设备处使用更新管理器应用22来访问应用管理信息。应用管理信息可以包括标识移动设备16的信息以及与移动设备16相关的配置信息。应用管理信息还可以标识移动设备上安装的多个应用。应用管理信息可以包括例如在移动设备16上安装的应用的列表。标识已安装应用的信息可以包括诸如已安装应用的名称或其他基于文本的标识符和版本信息的信息。

应用管理信息还可以标识与每个已安装应用相关联的一个或更多个授权许可设置。针对每个已安装应用的许可设置可以控制每个应用如何与移动设备16的其他部分进行交互,如何与网络14和服务器12进行交互,以及如何与其他设备进行交互。许可设置可以包括连接设置、交互设置和设备用户数据设置。连接设置可以控制移动设备16如何使用例如usb、蓝牙、wifi或其他通信方法与其他设备进行通信。交互设置可以控制应用是否可以访问其他应用和移动设备16的基本功能,例如,模仿按下按键、改变其锁定显示屏的时间等。设备用户数据设置可以控制给定应用是否具有访问设备用户特定信息(包括,例如,电子邮件、文本消息、联系人、日历、gps位置等)的许可。

连接设置还可以包括设备用户设置用于自动更新已安装应用的偏好的选项。例如,设备用户可以设置仅在存在wifi连接时自动更新已安装应用的偏好。可以针对设备上的所有已安装应用或逐个应用来设置用于自动更新已安装应用的偏好。此外,连接设置可以包括应用更新大小限制。例如,可以将超过特定大小的应用更新限制于在wifi连接存在的情况下自动更新。

在访问应用管理信息之后,移动设备16可以在步骤54向服务器12发送针对与每个已安装应用相关的更新信息的请求,以确定是否可获得针对一个或更多个已安装应用的更新包。针对更新信息的请求可以包括标识移动设备16、标识安装在移动设备16上的应用以及标识与每个已安装应用相关联的授权许可设置的应用管理信息。可以发送针对更新信息的请求,而不需要设备用户与移动设备16进行交互。例如,移动设备16可以被配置为:自动地发起向服务器12请求更新信息的网络通信。由于设备用户不需要发送用于发起网络通信的请求,网络通信可以是自动的。如本文中所使用,网络通信可以意味着从客户端设备(例如,移动设备16)发送的并向服务器(例如,服务器12)发送的消息、信号或数据。

在移动设备16请求更新信息之后,移动设备16可以在步骤56从服务器12接收该更新信息。更新信息可以标识针对安装在移动设备16上的应用(例如,相应应用)的更新包。在一个示例中,更新信息可以标识多个更新包,每个更新包与安装在移动设备16上的不同应用相对应。更新信息还可以标识与相应应用相关联的一个或更多个所需许可设置。

在判决块58,移动设备16确定:与移动设备16上要更新的相应应用相关联的一个或更多个授权许可设置中是否包括与更新信息相关联的一个或更多个所需许可设置。

如果在与相应应用相关联的一个或更多个授权许可设置中包括与更新信息相关联的一个或更多个所需许可设置,则在步骤60,移动设备16可以向服务器12发送要求传送更新包的请求,而不需要用户交互。要求传送更新包的请求可以包括足够用于使服务器12获取并向移动设备16发送更新包的信息。传送请求可以是用于例如通过指定在更新包中包括的url来下载应用的httpget请求。例如,可以发送传送请求,而不需要设备用户发起该请求。在向服务器发送要求传送更新包的请求之后,移动设备16可以从服务器12接收更新包。

一旦接收到更新包,可以在步骤62安装更新包。可以安装更新包,而不需要任何交互或移动设备16的用户部分的行为。设备用户不需要查阅请求、向移动设备16输入命令以安装更新包或为了安装而与设备的其他交互。一旦安装了更新包,处理50结束。如与移动设备16相关联的应用管理设置所控制,可以在每个给定的调度或间歇性地重复处理50。

然而,如果在与相应应用相关联的一个或更多个授权许可设置中不包括与更新信息相关联的一个或更多个所需许可设置,则在步骤64,移动设备16可以发送与更新包的可用性相关的通知。通知被配置为被移动设备16的用户查阅。例如,通知可以具有电子邮件、文本、在状态条中出现的图标的形式,或向移动设备16的用户通知移动设备16的用户可以查阅通知的其他合适方法。关于更新包的通知可以包括标识相应应用的信息以及与对与相应应用相关联的一个或更多个所需许可设置进行访问有关的信息。

在步骤64中向用户发送通知之后,在步骤66,移动设备16可以接收这样的请求,所述请求要求修改与关于更新信息有关的通知中标识的相应应用相关联的一个或更多个授权许可设置,以包括与更新包相关联的一个或更多个所需许可设置。基于该请求,移动设备16可以修改与相应应用相关联的一个或更多个授权许可设置,以包括与更新包或更新信息相关联的一个或更多个所需许可设置。当一个或更多个授权许可设置包括一个或更多个所需许可设置时,处理50可以继续,并且移动设备16可以在步骤60发送针对更新包的请求,并且可以在步骤62接收并安装更新包。如上所述,一旦安装了更新包,处理50结束。

图4中的处理70还包括计算设备(例如,与系统10进行通信的移动设备16,如图1所示)。

在步骤72,可以在移动设备处使用更新管理器应用22来访问应用管理信息。如图3,应用管理信息可以包括标识移动设备16的信息以及与移动设备16相关的配置信息。应用管理信息可以标识安装在移动设备上的多个应用,并可以标识与每个已安装应用相关联的一个或更多个授权许可设置。

在访问应用管理信息之后,移动设备16可以在步骤74向服务器12发送针对与每个已安装应用有关的更新信息的请求。如图3,针对更新信息的请求可以包括标识移动设备16、标识安装在移动设备16上的应用以及标识与每个已安装应用相关联的授权许可设置的应用管理信息。

在移动设备16请求更新信息之后,移动设备16可以在步骤76从服务器12接收该更新信息。更新信息可以标识针对安装在移动设备16上的应用(例如,相应应用)的更新包。

在移动设备16从服务器12接收到更新信息之后,移动设备16可以在步骤78从服务器12接收该更新包。该更新包可以包括标识与移动设备16上要更新的相应应用相关联的一个或更多个授权许可设置的信息。

在判决块80,移动设备16确定:与移动设备16上要更新的相应应用相关联的一个或更多个授权许可设置中是否包括与更新包相关联的一个或更多个所需许可设置。

如果在与相应应用相关联的一个或更多个授权许可设置中包括与更新包相关联的一个或更多个所需许可设置,则在步骤82,移动设备16可以安装更新包。可以安装更新包,而不需要任何交互或移动设备的用户部分的行为。一旦安装了更新包,处理70结束。如与移动设备16相关联的应用管理设置所控制,可以在每个给定的调度或间歇性地重复处理70。

然而,如果在与相应应用相关联的一个或更多个授权许可设置中不包括与更新包相关联的一个或更多个所需许可设置,则在步骤84,移动设备16可以发送与更新包的可用性相关的通知。通知如图3所述。

在步骤84中向用户发送通知之后,在步骤86,移动设备16可以接收这样的请求,该请求要求修改与关于更新包的通知中标识的相应应用相关联的一个或更多个授权许可设置,以包括与更新包相关联的一个或更多个所需许可设置。基于该请求,移动设备16可以修改与相应应用相关联的一个或更多个授权许可设置,以包括与更新包或更新信息相关联的一个或更多个所需许可设置。当一个或更多个授权许可设置包括一个或更多个所需许可设置时,处理70可以继续,并且可以在步骤82安装更新包。如上所述,一旦安装了更新包,处理70结束。

可以以硬件(包括,例如,知识产权(ip)核、专用集成电路(asic)、可编程逻辑阵列、光处理器、可编程逻辑控制器、微码、固件、微控制器、服务器、微处理器、数字信号处理器或其他合适电路)实现服务器12和移动设备16的实施例(以及在其中存储的和/或通过其执行的算法、方法、指令等)。在权利要求中,术语“处理器”应当被理解为包括任意之前的处理器(单独或组合)。可互换地使用术语“信号”和“数据”。此外,不一定必须以相同方式实现服务器12和移动设备16的部分。

在一个实施例中,可以使用通用计算机/处理器连同当运行时执行本文中所描述的各个方法、算法和/或指令中任意一个的计算机程序,来实现服务器12和移动设备16。附加地或备选地,例如,可以使用包含用于执行本文中所描述的方法、算法或指令中任意一个的专用硬件的专用计算机/处理器。

此外,本发明的全部或部分实施例可以采用例如从非瞬时性计算机可用或计算机可读介质可访问的计算机程序产品的形式。例如,非瞬时性计算机可用或计算机可读的介质可以是有形地包含、存储、传送或传递由任意处理器使用或结合任意处理器使用的程序的任意设备。非瞬时性介质可以是例如电子设备、磁设备、光设备、电磁设备或半导体设备。其他合适介质也是可用的。作为示例,处理器50可以采用从服务器12的存储器20对移动设备16可访问的计算机程序产品的形式。

尽管本公开包括当前认为是最实用和优选的实施例,应当理解,本公开不限于所公开的实施例,相反,本公开意在覆盖在所附权利要求的精神和范围中包括的各种修改和等同布置,所附权利要求的范围应符合最宽的解释,以便包括法律允许的所有这些修改和等同结构。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1