从在线应用仓库下载应用程序的方法、设备和系统的制作方法

文档序号:6598647阅读:164来源:国知局
专利名称:从在线应用仓库下载应用程序的方法、设备和系统的制作方法
技术领域
本发明涉及应用程序的下载,并且更具体地,涉及管理将应用程序下载到不同的计算设备。
背景技术
现在,用户通常访问在线仓库以便获取诸如歌曲、电视节目和电影的数字媒体资 产。更近以来,在线仓库(on-line repository)还支持应用程序的下载。与在线媒体仓库 的典型交互是用户从个人计算设备浏览在线仓库,选择将要下载的一个或多个项目,并且 然后通过网络在个人计算设备处接收这些项目的数字传递。计算设备采用许多不同形式,并且具有不同功能和能力。例如,计算设备可以是可 佩戴的、手持的、便携式的或台式的。这些计算设备的形状因子(form factor)和功能性也 往往不同。例如,台式计算机往往具有最大的处理能力和数据存储容量。手持计算设备小 巧并且重量轻,但是往往不具有台式计算机的高处理能力和数据存储设备。取决于硬件组 件(例如,GPS系统、无线通信、麦克风、扬声器等)和/或软件组件(例如,操作系统),相 同形状因子的不同计算设备甚至也可以具有不同的能力。对于给定的各种计算设备,应用程序通常被构建为在某些硬件和软件平台上运 行。当这种应用被提供给在线仓库以便进行分发时,不论其硬件平台和/或软件平台如何, 这些应用可被下载到其它平台。虽然在线仓库可以显示关于应用程序的所需最低硬件和/ 或软件组件的信息,用户可能仍然将应用程序下载到缺乏所需最低硬件和/或软件组件的 计算设备上。结果,如果真的被下载了,应用程序不能在这些计算设备上正确地运行。因此, 即使问题出自用户的计算设备而不是应用程序,用户也会对应用程序不满意。因此,需要用于管理将应用程序下载到兼容的计算设备的改进方法。

发明内容
本发明属于从远程应用仓库到不同客户计算设备的受控应用传递(例如,下载)。 应用程序通常被构建为在具有某些硬件和/或软件能力的计算设备上运行。因此,可从远 程应用仓库下载的应用程序可能不适合于在能够访问远程应用仓库的所有客户计算设备 上执行。根据一个方面,本发明可以操作,以便仅允许具有所需硬件和/或软件能力的那些 客户计算设备接收应用程序。在一个实施例中,施加的限制可以允许客户计算设备的用户 观看关于应用程序的信息,但是禁止下载到缺乏所需硬件和/或软件能力的那些客户计算 设备。在另一个实施例中,施加的警告可以允许在将应用程序下载到缺乏所需硬件和/或 软件能力的那些客户计算设备之前,警告这些客户计算设备的用户。在另一个实施例中,施 加的限制可以过滤关于可从远程应用仓库获得的应用程序的信息的可获得性,从而用户仅 可以观看关于他们能够下载到这些客户计算设备上的那些应用的信息。一般地,可以用多种方法实现本发明,包括实现为方法、系统、设备或装置(包括 图形用户界面和计算机可读介质)。下面讨论本发明的若干实施例。
作为用于将应用程序从在线应用仓库下载到手持计算设备的计算机实现方法,本 发明的一个实施例可以例如至少包括访问在线应用仓库;在所述在线应用仓库中导航以 便选择应用程序;显示属于所选择的应用程序的应用信息;接收下载请求;检索手持计算 设备的设备类型;确定所述设备类型是否是所选择的应用程序支持的一种或多种设备类型 中的一种设备类型;如果确定所述设备类型是所选择的应用程序支持的所述一种或多种设 备类型中的一种设备类型,则允许将所选择的应用程序下载到所述手持计算设备;和如果 确定所述设备类型不是所选择的应用程序支持的所述一种或多种设备类型中的一种设备 类型,则拒绝将所选择的应用程序下载到所述手持计算设备。作为用于将应用程序从在线应用仓库下载到手持计算设备的计算机实现方法,本发明的一个实施例可以例如至少包括访问在线应用仓库;在所述在线应用仓库中导航以 便选择应用程序;显示属于所选择的应用程序的应用信息;接收下载所选择的应用程序的 下载请求;检索所述手持计算设备的设备信息;基于所述设备信息确定所述手持计算设备 是否是所选择的应用程序所支持的设备;如果确定所述手持计算设备是所选择的应用程序 所支持的设备,则允许将所选择的应用程序下载到所述手持计算设备;和如果确定所述手 持计算设备不是所选择的应用程序所支持的设备,则显示拒绝将所选择的应用程序下载到 所述手持计算设备的消息。作为一种计算机可读介质,所述计算机可读介质至少包括存储在其上的用于将应 用程序从在线应用仓库下载到便携式计算设备的可执行的计算机程序代码,本发明的一个 实施例可以例如至少包括用于访问在线应用仓库的计算机程序代码;用于在所述在线应 用仓库中导航以便选择应用程序的计算机程序代码;用于显示属于所选择的应用程序的 应用信息的计算机程序代码;用于接收下载所选择的应用程序的下载请求的计算机程序代 码;用于检索所述便携式计算设备的设备信息的计算机程序代码;用于基于所述设备信息 确定便携式计算设备是否是所选择的应用程序所支持的设备的计算机程序代码;用于如果 确定便携式计算设备是所选择的应用程序所支持的设备,则允许将所选择的应用程序下载 到便携式计算设备的计算机程序代码;和用于如果确定便携式计算设备不是所选择的应 用程序所支持的设备,则拒绝将所选择的应用程序下载到便携式计算设备的计算机程序代 码。作为一种计算机可读介质,所述计算机可读介质至少包括存储在其上的用于在客 户设备处获取应用程序的可执行的计算机程序代码,本发明的一个实施例可以例如至少包 括用于在应用程序中导航以便选择应用程序的计算机程序代码;用于接收获取所选择的 应用程序的用户获取请求的计算机程序代码;用于检索客户设备的设备能力的计算机程序 代码;用于基于所述设备能力,确定客户设备是否支持所选择的应用程序的操作的计算机 程序代码;用于如果确定客户设备支持所选择的应用程序的操作,则在客户设备处获取所 选择的应用程序的计算机程序代码;和用于如果确定所述客户设备不支持所选择的应用程 序的操作,则拒绝在客户设备处获取所选择的应用程序的计算机程序代码。作为一种用于在手持计算设备上安装应用程序的计算机实现方法,本发明的一个 实施例可以例如至少包括接收可用于在所述手持计算设备上安装的多个应用程序,每个 应用程序具有相关联的设备要求;选择所述应用程序中的将被安装在所述手持计算设备上 的至少一个应用程序;和如果所述手持计算设备满足所选择的应用程序的相关联的设备要求,则提供用于在所述手持计算设备上安装所选择的应用程序的控件。从结合以示例方法示出了本发明原理的附图进行的下列详细描述中,将明了本发 明的其它方面和优点。


通过下列结合附图的详细描述,将容易理解本发明,其中相同的附图标记指示相 同的结构元件,并且其中图1是根据本发明的一个实施例的应用分发系统的方框图。图2是根据本发明的一个实施例的应用获取处理的流程图。
图3是根据本发明的另一个实施例的应用获取处理的流程图。图4是根据本发明的一个实施例的应用下载处理的流程图。图5是根据本发明的一个实施例的应用可获得性处理的流程图。图6是根据本发明的另一个实施例的应用下载处理的流程图。图7A-7C是根据本发明的实施例的web页面的示例屏幕图示。
具体实施例方式本发明属于从远程应用仓库到不同客户计算设备的受控应用传递(例如,下载)。 应用程序通常构建为在具有某些硬件和/或软件能力的计算设备上运行。因此,可从远程 应用仓库下载的应用程序可能不适合于在能够访问远程应用仓库的所有客户计算设备上 执行。根据一个方面,本发明可以操作,以便仅允许具有所需硬件和/或软件能力的那些客 户计算设备接收应用程序。在一个实施例中,施加的限制可以允许客户计算设备的用户观 看关于应用程序的信息,但是禁止下载到缺乏所需硬件和/或软件能力的那些客户计算设 备。在另一个实施例中,施加的警告可以允许在将应用程序下载到缺乏所需硬件和/或软 件能力的那些客户计算设备之前,警告这些客户计算设备的用户。在另一个实施例中,施加 的限制可以过滤关于可从远程应用仓库获得的应用程序的信息的可获得性,从而用户仅可 以观看关于他们能够下载到这些客户计算设备上的那些应用的信息。下面参考图1-7C讨论本发明的实施例。然而,本领域的技术人员应当理解,此处 针对这些附图给出的详细描述是出于解释的目的,本发明延及这些有限实施例之外。图1是根据本发明的一个实施例的应用分发系统100的方框图。应用分发系统 100包括在线媒体仓库102,在线媒体仓库102耦接到网络104,以便允许多个计算设备106 与在线媒体仓库102交互。在线媒体仓库102可以单个服务器计算机实现,或可被分布在 多个服务器计算机上。在一种实现中,网络104可以指一个或多个数据网络,典型地,高数 据带宽网络,即,诸如Internet、以太网、吉比特以太网和光纤的有线网络,以及诸如IEEE 802. 11(a), (b)或(g) (WiFi)、IEEE802. 16 (WiMax)和 Ultra-Wide Band (UffB)的无线网络。在线媒体仓库102存储多个应用程序108。这些应用程序108可以是运行在某些 或全部计算设备106上的计算机程序。开发者可以生成应用程序,并且将它们提交到在线 媒体仓库102以便进行分发。此处,在线媒体仓库102可以提供服务,以便存储和分发大 量应用程序。计算设备106可以具有不同的形状因子和能力。例如,如图1所示,计算设 备106可以属于便携式计算机106-1、手持计算机和个人数字助理(PDA) 106-2、移动电话106-3 (例如,蜂窝电话)或机顶盒106-4。根据本发明的一个实施例,为了以改进的方式从在线媒体仓库102分发应用程序 108,在线媒体仓库102存储某些或所有应用程序108的支持设备要求(Supported Device Requirement, SDR) 110。支持设备要求110可由开发者定义,并且可被在提供应用程序108 时提供给在线媒体仓库102。支持设备要求110属于任意计算设备106必须具有以便应用 程序108正确地在计算设备106上运行的最低设备要求。作为例子,在线媒体仓库102可 以将应用程序108的分发限制为仅仅分发到满足支持设备要求110的那些计算设备106。 在一个实施例中,在线媒体仓库102可以强制要求针对应用程序108的支持设备要求110。计算设备106可以包括设备信息112。设备信息112可以与计算设备106的设备能力有关。因此,当计算设备106的用户通过网络104访问在线媒体仓库102时,计算设备 106最初可以接收描述可从在线媒体仓库102获得的一个或多个应用程序108的信息,网络 104可以属于Internet。通过用户与计算设备106的交互,用户可在描述可从在线媒体仓库 102获得的一个或多个应用程序108的信息中导航,以便选择用户希望在计算设备106处接 收的特定应用程序108。计算设备106还可以与描述一个或多个应用程序108的信息一起 接收支持设备要求110’。在用户请求接收特定应用程序108的情况下,计算设备106可以 操作,以便评估计算设备106是否能够适当地支持特定应用程序108。在一个实施例中,计 算设备106对支持设备要求110’和设备信息112进行比较,以便确定计算设备106是否能 够适当地支持特定应用程序108。如果计算设备106确定计算设备106能够适当地支持特 定应用程序,则特定应用程序108可被通过网络104从在线媒体仓库102下载到计算设备 106。此后,可以安装应用程序108,以便成为计算设备106上的安装的应用程序108’。图2是根据本发明的一个实施例的应用获取处理200的流程图。例如,应用获取 处理200是在计算设备处执行的用于确定是否允许请求应用程序的用户获取该应用程序 的处理。应用获取处理200可以支持202对可获得的应用程序的用户导航。对可获得的应 用程序的用户导航允许用户识别其希望获取或安装的特定应用程序。在对识别特定应用程 序的用户导航的支持202之后,可以确定是否已经接收到针对特定应用程序的用户获取请 求的判断204。当判断204确定还未接收到用户获取请求时,应用获取处理200可以返回以 便重复方框202。可替换地,当判断204确定已经接收到针对特定应用程序的用户获取请 求时,可以检索206接收该特定应用程序的客户设备的设备能力。通常,客户设备在该客户 设备内的一个可访问的数据存储区域内存储其设备能力。客户设备可以直接存储其设备能 力,或可以存储表示或弓I用该客户设备的设备能力的类型指示符。接着,判断208确定客户设备是否支持特定应用程序的操作。此处,通过使用客户 设备的设备能力,应用获取处理200可以评估客户设备是否支持特定应用程序的操作。当 判断208确定客户设备不支持特定应用程序的操作时,可以给出210拒绝该获取请求的指 示。在另一方面,当判断208确定客户设备支持特定应用程序的操作时,可以处理212对特 定应用程序的获取请求。作为对应用请求的处理212的结果,特定应用程序被传递到客户 设备。一旦特定应用程序被提供给客户设备,则客户设备可以安装并且利用该特定应用程 序。在方框210或212之后,应用获取处理200可以结束。图3是根据本发明的一个实施例的应用获取处理300的流程图。可由例如客户设备执行应用获取处理300。该客户设备是能够执行计算机程序的计算设备。例如,可由图1 所示的计算设备106中的任意一个执行应用获取处理300。应用获取处理300可以访问302存储可用于分发的多个应用程序的在线应用仓 库。作为一个例子,该在线应用仓库可以属于图1所示的在线媒体仓库102。然后可以在该 在线应用仓库中导航304。通过导航304,可以显示306至少一个应用程序的应用信息。例 如,可以在与该计算设备相关联的显示设备上显示应用信息。应用程序具有该应用程序的 支持设备要求。支持设备要求可以属于为了正确操作计算设备所需的该计算设备的最低硬 件和/或软件组件。例如,最低硬件要求可能需要计算设备具有诸如GPS系统、无线通信、 麦克风、扬声器等的硬件组件,并且最低软件要求可能需要计算设备具有诸如特定操作系 统的软件组件。支持设备要求可被包含在应用信息内或与应用程序相关联。例如,可以用 包含对支持设备要求的描述(例如,XML描述)的诸如web页面的标记语言页面提供应用 fn息ο接着,判断308可以确定是否接收到获取请求。当判断308确定还未接收到获取请求时,应用获取处理300可以返回以便重复方框304和后续方框,从而可以继续对在线应 用仓库的导航304和对应用信息的显示306。在另一方面,一旦判断308确定已经接收到获取请求,则可以检索310客户设备的 设备信息。客户设备的设备信息(直接或间接地)描述客户设备的设备功能。可以对设备 信息和该应用程序的支持设备要求进行比较312。基于比较312,判断314可以确定该应用 程序是否被客户设备支持。当判断314确定客户设备不支持该应用程序时,可以给出316拒 绝获取请求的指示。可替换地,当判断314确定客户设备支持该应用程序时,可以处理318 对特定应用程序的获取请求,从而可以在客户设备处从在线应用仓库接收特定应用程序。 在方框316或318之后,应用获取处理300可以结束。图4是根据本发明的一个实施例的应用下载处理400的流程图。例如,由诸如图 1所示的计算设备106中的任意一个的计算设备执行应用下载处理400。应用下载处理400可以显示402应用描述页面。可由远程服务器所托管的在线应 用存储提供应用描述页面。例如,在线媒体仓库102可以属于托管在线应用存储的远程服 务器。应用描述页面可以属于标记语言页面,诸如可被在计算设备处运行的程序或浏览器 显示的web页面。应用描述页面提供对特定应用程序的描述,并且还包括一个或多个用户 接口控件,诸如,虚拟按钮。所述虚拟按钮中的至少一个是下载按钮,当被选择时,其请求从 远程服务器向计算设备下载该应用程序。在应用描述页面的显示402之后,判断404确定 是否已选择了应用描述页面上的下载按钮。当判断404确定还未选择下载按钮时,可以在 应用下载处理400返回以便重复方框402之前可选择地执行其它处理406,从而用户可以继 续查看应用描述页面并且与应用描述页面交互。在另一方面,当判断404确定已经选择了下载按钮时,可以执行(包括解释)408 应用描述页面中的嵌入代码,以便确定执行应用下载处理400的计算设备(客户设备)是 否支持该应用程序。然后,判断410确定计算设备是否支持该应用程序。此处,使用嵌入 代码确定计算设备是否支持特定应用程序。在一种实现中,可以对照计算设备已知的设备 信息检查与应用描述页面一起提供的支持设备要求。作为一个例子,可用脚本语言诸如 JavaScript提供嵌入代码。当判断410确定不支持该应用程序时,可以拒绝412应用程序的下载。在这种情况下,由于不能在计算设备上正确地使用该应用程序,因此拒绝412通过 选择下载按钮做出的下载请求。可替换地,当判断410确定支持该应用程序时,可以处理 414应用程序到计算设备的下载。在方框412或414之后,应用下载处理400可以结束。图5是根据本发明的一个实施例的应用可获得性处理500的流程图。可以使用应 用可获得性处理500,以便给出可由在线应用仓库分发的应用程序。例如,在线应用仓库是 图1所示的在线媒体仓库102。应用可获得性处理500最初以开发502应用程序开始。此处,软件开发者可以开 发将在计算设备上使用的应用程序。接着,应用程序可被随同支持设备要求一起提交504 到在线应用仓库。开发者将应用程序提交504到在线应用仓库,从而在线应用仓库可以帮 助开发者将应用程序分发给众多用户。通过提供支持设备要求,开发者可因此将针对计算 设备的要求通知给在线应用仓库以便正确运行应用程序。一旦已经提交504应用程序,判断506可以确定是否批准分发该应用程序。此处, 在线应用仓库可以执行一个或多个手工或自动检查或评估,以便确定该应用程序是否适合 于通过在线应用仓库分发。当判断506确定不 批准分发该应用时,判断508可以确定是否 重试提交。当判断508确定重试提交时,应用可获得性处理可以返回以便重复方框504,从 而开发者可以再次向在线应用仓库提交504应用程序。此处,开发者能够进行使得在线应 用仓库批准分发该应用程序的另一次尝试。因此,开发者可以纠正其以前提交中的缺陷,并 且将其应用程序重新提交到在线应用仓库。在另一方面,当判断506确定已经批准分发该应用程序,在在线应用仓库处将应 用程序呈现为可用于分发。这允许计算设备的各种用户与在线应用仓库交互以便获取应用 程序。在方框510之后,或当不重试提交时在判断508之后,应用可获得性处理500可以结
束ο图6是根据本发明的一个实施例的应用下载处理600的流程图。例如,可由客户 设备执行应用下载处理600。客户设备是诸如图1所示的计算设备106中的任意一个的计
算设备。应用下载处理600可以访问602在线应用仓库。一旦已经访问602 了在线应用仓 库,计算设备的用户可以在在线应用仓库中导航604,以便选择将要下载的应用程序。在选 择了应用程序之后,可以显示606属于选择的应用程序的应用信息。该应用信息可以至少 包括解释、表征或描述该应用程序的文本和/或图形。接着,判断608确定是否已经接收到 针对所选择的应用程序的下载请求。当判断608确定未接收到下载请求时,应用下载处理 600可以返回以便重复方框604,从而导航604和显示606可以继续。在另一方面,当判断608确定已经接收到下载请求时,可以检索610客户设备的设 备类型。该设备类型与可以与在线应用仓库交互以便下载应用程序的客户设备的特定类别 或种类相关联。然后判断612可以确定客户设备的设备类型是否是所选择的应用程序所支 持的设备类型。当判断612确定客户设备的设备类型不是所选择的应用程序所支持的设备 类型时,可以显示614指示拒绝该下载请求的消息。可替换地,当判断612确定设备类型是 所选择的应用程序所支持的设备类型时,可以允许616将所选择的应用程序下载到客户设 备。在方框614或616之后,应用下载处理600可以结束。在应用下载处理600中,可以检索610客户设备的设备类型。所述设备类型代表与所选择的应用程序兼容的那些设备类型。例如,设备类型可以表示支持设备要求的某个 集合。在一个实施例中,提供给客户设备的所选择的应用程序的应用信息是标记语言文档, 诸如,包括对所支持的设备类型的指示的Web页面。另外,对于每种所支持的设备类型,该 标记语言文档可以指出设备类型ID、最低产品版本、最低产品版本名称、最低产品版本描 述、最低设备名称或最低设备描述中的一个或多个。如果客户设备是与所支持的设备类型 中的一种设备类型相同的类型,并且客户设备的产品版本大于或等于最低产品版本,则认 为可以在该客户设备上兼容地使用所选择的应用程序。可替换地,如果客户设备是与所支持的设备类型中的一种设备类型相同(即,匹 配)的类型,但客户设备的产品版本低于最低产品版本,则认为不能在该客户设备上兼容 地使用所选择的应用程序。在这种情况下,可以使用最低产品版本名称和/或最低产品版 本描述,以便形成由该客户设备给出的通知。作为例子,该通知可以通知用户该客户设备不 支持所选择的应用程序,例如,“应用不兼容”,并且还提供原因,例如,“该应用需要你设备 上的软件更新”。例如,该软件更新可能属于客户设备的操作系统更新。所述最低产品版本 还可以属于产品版本或操作系统版本。在一个实施例中,最低产品版本名称和/或最低产 品版本描述可以包括指出关于不兼容性的附加信息的位置或获取所需一个或多个组件的 位置的统一资源位置(URL)。在另一种替换方案中,如果客户设备的类型不与所支持的设备类型中的任意一种相同,则认为不能在客户设备上兼容地使用所选择的应用程序。在这种情况下,可以使用最 低设备名称和/或最低设备描述,以便形成由该客户设备给出的通知。作为例子,该通知可 以通知用户该客户设备不支持所选择的应用程序,例如,“应用不兼容”,并且还提供原因, 例如,“不能在该设备上使用应用,该应用需要设备χ或设备y”。在一个实施例中,最低设 备名称和/或最低设备描述可以包括指出关于不兼容性的附加信息的位置或获取所需一 个或多个组件的位置的统一资源位置(URL)。在另一个替换方案中,不论客户设备是否与所支持的设备类型中的任意一种匹 配,可以禁止认为某类或某个序列号的客户设备是兼容的。在这种情况下,认为所选择的应 用程序不能用于该客户设备。作为例子,该通知可以通知用户所选择的应用程序不能在客 户设备上使用。在一个实施例中,该通知可以包括指出关于不可用性的附加信息的位置的 统一资源位置(URL)。图7A-7C是根据本发明的实施例的web页面的示例屏幕图示。由托管于或耦接到 在线仓库的应用分发web站点提供所述web页面,并且将其呈现在客户计算设备的显示设 备上。图7A示出了根据本发明的一个实施例的关于应用程序的web页面700的示例屏 幕图示。可由上述的处理产生web页面。作为例子,该web页面可以表示图3或6中提供 的应用信息的一种实现,或可以表示图4中提供的应用描述页面的一种实现。web页面700 可以包括列出了应用程序的特性或细节的应用特性部分702。所述特性或细节可以指出 名称、类别、发行日期、销售方名称、版本号、大小(例如,MB)、价格和评分中的一个或多个。 web页面700还可以包括应用程序的图片704,诸如封面图像、标志等。另外,web页面700 可以包括“获得应用”按钮706,在用户选择按钮706之后,请求从在线仓库下载(或获取) 该应用程序。web页面700还可以呈现属于该应用程序的一个或多个代表性屏幕708。web页面700还可以包括提供应用程序的文本描述的应用描述710。另外,web页面700可以包 括诸如关于该应用程序的顾客评论712的其它信息。图7B示出了根据本发明的一个实施例的web页面720的示例屏幕图示。当不允 许将所请求的应用程序下载到客户计算设备上时,可在客户计算设备上显示web页面720。 特别地,如上所述,响应于请求将应用程序下载到客户计算设备,可以确定客户计算设备是 否能够正确地运行该应用程序。在这个实施例中,web页面720显示通知722,通知722通 知客户计算设备的用户不允许将该应用程序下载到客户计算设备上。在图7B所示的特定 例子中,所显示的通知指出“对不起,你的客户设备与该应用不兼容”。在图7B中,通知722 被显示在web页面720的顶部。例如,可以通过将通知722插到显示的页面的顶部更新图 7A所示的web页面700,获得web页面720。然而,在其它实施例中,该通知可被显示在web 页面720上的任意位置或显示在另一个窗口内(例如,对话框)。在另一个实施例中,可以 用音频方式给出该通知(同时显示或不显示通知722)。图7C示出了根据本发明的一个实施例的web页面740的示例屏幕图示。当不允 许将所请求的应用程序下载到客户计算设备上时,可在客户计算设备上显示web页面740。 特别地,如上所述,响应于请求将应用程序下载到客户计算设备,可以确定客户计算设备是 否能够正确地运行该应用程序。在这个实施例中,web页面740阻止客户计算设备的用户 能够请求不允许被下载到该客户计算设备上的应用程序。例如,可以禁用“获得应用”按钮 706,其中,在用户选择按钮706之后,请求从在线仓库下载(或获取)该应用程序。可以在 视觉上识别对“获得应用”按钮706的禁用。例如,通过在按钮图像上叠加“X”,在图7C中 示出禁用了“获得应用”按钮706。在替换实施例中,“获得应用”按钮706 “变成灰色”,以 便指示不起作用,或可被从web页面740中完全删除。作为一种用于将应用程序从在线应用仓库下载到便携式计算设备的服务器计算 设备,在本发明的一个实施例中,所述服务器计算设备可以例如至少包括用于访问所述在 线应用仓库的装置;用于在所述在线应用仓库中导航以便选择应用程序的装置;用于显示 属于所选择的应用程序的应用信息的装置;用于接收下载所选择的应用程序的下载请求的 装置;用于检索所述便携式计算设备的设备信息的装置;用于基于所述设备信息确定所述 便携式计算设备是否是所选择的应用程序所支持的设备的装置;用于如果确定所述便携式 计算设备是所选择的应用程序所支持的设备,则允许将所选择的应用程序下载到所述便携 式计算设备的装置;和用于如果确定所述便携式计算设备不是所选择的应用程序所支持的 设备,则拒绝将所选择的应用程序下载到所述便携式计算设备的装置。根据本发明的实施例,其中所述服务器计算设备包括用于如果确定所述便携式 计算设备不是所选择的应用程序所支持的设备,则显示拒绝将所选择的应用程序下载到所 述便携式计算设备的消息的装置。根据本发明的实施例的服务器计算设备,其中所述所选择的应用程序具有支持设 备要求,和其中从所述在线应用仓库中提供所述支持设备要求。作为一种用于获取应用程序的客户计算设备,在本发明的一个实施例中,所述客 户计算设备可以例如至少包括用于在所述在应用程序中导航以便选择应用程序的装置; 用于接收获取所选择的应用程序的用户获取请求的装置;用于检索所述客户计算设备的设 备能力的装置;用于基于所述设备能力,确定所述客户计算设备是否支持所选择的应用程序的操作的装置;用于如果确定所述客户计算设备支持所选择的应用程序的操作,则在所 述客户计算设备处获取所选择的应用程序的装置;和用于如果确定所述客户计算设备不 支持所选择的应用程序的操作,则拒绝在所述客户计算设备处获取所选择的应用程序的装置。作为一种用于将应用程序从在线应用仓库下载到手持计算设备的系统,在本发明 的一个实施例中,所述系统可以例如至少包括用于访问所述在线应用仓库的装置;用于 在所述在线应用仓库中导航以便选择应用程序的装置;用于显示属于所选择的应用程序的 应用信息的装置;用于接收下载请求的装置;用于检索所述手持计算设备的设备类型的装 置;用于确定所述设备类型是否是所选择的应用程序支持的一种或多种设备类型中的一种 设备类型的装置;用于如果确定所述设备类型是所选择的应用程序支持的所述一种或多 种设备类型中的一种设备类型,则允许将所选择的应用程序下载到所述手持计算设备的装 置;和用于如果确定所述设备类型不是所选择的应用程序支持的所述一种或多种设备类型 中的一种设备类型,则拒绝将所选择的应用程序下载到所述手持计算设备的装置。
根据本发明的实施例,所述系统还包括用于如果确定所述设备类型不是所选择 的应用程序支持的所述一种或多种设备类型中的一种设备类型,则显示拒绝将所选择的应 用程序下载到所述手持计算设备的消息的装置。根据本发明的实施例的系统,其中所述在线应用仓库存储所述应用程序以及所选 择的应用程序所支持的所述一种或多种设备类型。作为一种用于将应用程序从在线应用仓库下载到手持计算设备的系统,在本发明 的一个实施例中,所述系统可以例如至少包括用于访问所述在线应用仓库的装置;用于 在所述在线应用仓库中导航以便选择应用程序的装置;用于显示属于所选择的应用程序的 应用信息的装置;用于接收下载所选择的应用程序的下载请求的装置;用于检索所述手持 计算设备的设备信息的装置;用于基于所述设备信息确定所述手持计算设备是否是所选择 的应用程序所支持的设备的装置;用于如果确定所述手持计算设备是所选择的应用程序所 支持的设备,则允许将所选择的应用程序下载到所述手持计算设备的装置;和用于如果确 定所述手持计算设备不是所选择的应用程序所支持的设备,则显示拒绝将所选择的应用程 序下载到所述手持计算设备的消息的装置。根据本发明的实施例的系统,其中所述所选择的应用程序具有支持设备要求。根据本发明的实施例的系统,其中从所述在线应用仓库中提供所述支持设备要 求。根据本发明的实施例的系统,其中所述支持设备要求被嵌入属于从所述在线应用 仓库接收的所选择的应用程序的应用信息中。根据本发明的实施例的系统,其中所述支持设备要求包括至少一个所支持的功能 能力。根据本发明的实施例的系统,其中所述支持设备要求包括最低操作系统版本。根据本发明的实施例的系统,其中所述应用信息的所述显示包括显示包含所述应 用信息的web页面。根据本发明的实施例的系统,其中所述支持设备要求包含在所述web页面内。根据本发明的实施例的系统,其中所述web页面包括至少一个用户接口控件,并且其中对于对所述用户接口控件的选择,所述手持计算设备操作,以便基于所述设备信息 和所述支持设备要求,确定所述手持计算设备是否是所选择的应用程序所支持的设备。根据本发明的实施例的系统,其中所述web页面还包括评估程序代码和一个用户接口控件,和其中对于对所述用户接口控件的选择,所述手持计算设备操作,以便执行所述 评估程序代码,所述评估程序代码基于所述设备信息和支持设备要求,确定所述手持计算 设备是否是所选择的应用程序所支持的设备。根据本发明的实施例的系统,其中所述系统包括用于如果确定所述手持计算设 备不是所选择的应用程序所支持的设备,则拒绝将所选择的应用程序下载到所述手持计算 设备的装置。根据本发明的实施例的系统,其中所述系统包括用于如果确定所述手持计算设 备不是所选择的应用程序所支持的设备,则提供关于拒绝将所选择的应用程序下载到所述 手持计算设备的信息的链接的装置。作为一种用于在手持计算设备上安装应用程序的系统,在本发明的一个实施例 中,所述系统可以例如至少包括用于接收可用于在所述手持计算设备上安装的多个应用 程序的装置,每个所述应用程序具有相关联的设备要求;用于选择所述应用程序中的将被 安装在所述手持计算设备上的至少一个应用程序的装置;和用于如果所述手持计算设备满 足所选择的应用程序的相关联的设备要求,则提供用于在所述手持计算设备上安装所选择 的应用程序的控件的装置。可以单独使用或以各种组合使用上述本发明的各个方面、特征、实施例或实现。本发明优选地被以软件、硬件或硬件和软件的组合实现。本发明还可以被表达为 计算机可读介质上的计算机可读代码。计算机可读介质是可以存储数据的任意数据存储设 备,在存储数据之后,计算机系统可以读取该计算机可读介质。计算机可读介质的例子一般 包括只读存储器和随机存取存储器。计算机可读介质的更特定的例子是可触知的,并且包 括闪存存储器、EEPROM存储器、存储卡、CD-ROM、DVD、硬盘驱动器、磁带和光学数据存储设 备。计算机可读介质还可以分布在联网的计算机系统上,从而以分布式方式存储和执行计 算机可读代码。本发明有许多优点。不同的方面、实施例或实现可以产生一个或多个下列优点。本 发明的一个实施例的一个优点是知道从远程应用仓库数字地传递到客户计算设备的那些 应用程序能够在这些客户计算设备上运行。不能在这些客户计算设备上运行的其它应用程 序不被数字地传递到客户计算设备。本发明的一个实施例的另一个优点是远程应用仓库可 以有效地给不同客户设备提供相同的web页面,并且如果有的话,可以使用客户设备限制 在客户设备处本地地修改该web页面。可以从书面描述中明了本发明的许多特征和优点。另外,由于本领域的技术人员 容易想到多种修改和改动,本发明不应局限于示出和描述的精确构造和操作。因此,可以采 用落在本发明的范围内的所有适合的修改和等同物。
权利要求
一种用于将应用程序从在线应用仓库下载到手持计算设备的方法,所述方法包括访问所述在线应用仓库;在所述在线应用仓库中导航以便选择应用程序;显示属于所选择的应用程序的应用信息;接收下载请求;检索所述手持计算设备的设备类型;确定所述设备类型是否是所选择的应用程序支持的一种或多种设备类型中的一种设备类型;如果确定所述设备类型是所选择的应用程序支持的所述一种或多种设备类型中的一种设备类型,则允许将所选择的应用程序下载到所述手持计算设备;和如果确定所述设备类型不是所选择的应用程序支持的所述一种或多种设备类型中的一种设备类型,则拒绝将所选择的应用程序下载到所述手持计算设备。
2.如权利要求1所述的方法,其中所述方法还包括如果确定所述设备类型不是所选择的应用程序支持的所述一种或多种设备类型中的 一种设备类型,则显示拒绝将所选择的应用程序下载到所述手持计算设备的消息。
3.如权利要求1所述的方法,其中所述在线应用仓库存储所述应用程序以及所选择的 应用程序所支持的所述一种或多种设备类型。
4.一种用于将应用程序从在线应用仓库下载到手持计算设备的方法,所述方法包括 访问所述在线应用仓库;在所述在线应用仓库中导航以便选择应用程序; 显示属于所选择的应用程序的应用信息; 接收下载所选择的应用程序的下载请求; 检索所述手持计算设备的设备信息;基于所述设备信息确定所述手持计算设备是否是所选择的应用程序所支持的设备; 如果确定所述手持计算设备是所选择的应用程序所支持的设备,则允许将所选择的应 用程序下载到所述手持计算设备;和如果确定所述手持计算设备不是所选择的应用程序所支持的设备,则显示拒绝将所选 择的应用程序下载到所述手持计算设备的消息。
5.如权利要求4所述的方法,其中所述所选择的应用程序具有支持设备要求。
6.如权利要求5所述的方法,其中从所述在线应用仓库中提供所述支持设备要求。
7.如权利要求5所述的方法,其中所述支持设备要求被嵌入属于从所述在线应用仓库 接收的所选择的应用程序的应用信息中。
8.如权利要求5所述的方法,其中所述支持设备要求包括至少一个所支持的功能能力。
9.如权利要求5所述的方法,其中所述支持设备要求包括最低操作系统版本。
10.如权利要求4所述的方法,其中所述应用信息的所述显示包括显示包含所述应用 信息的web页面。
11.如权利要求10所述的方法,其中所述支持设备要求包含在所述web页面内。
12.如权利要求11所述的方法,其中所述web页面包括至少一个用户接口控件,并且其中对于对所述用户接口控件的选择,所述手持计算设备操作,以便基于所述设备信息和所 述支持设备要求,确定所述手持计算设备是否是所选择的应用程序所支持的设备。
13.如权利要求11所述的方法,其中所述web页面还包括评估程序代码和一个用户接口控件,和 其中对于对所述用户接口控件的选择,所述手持计算设备操作,以便执行所述评估程 序代码,所述评估程序代码基于所述设备信息和支持设备要求,确定所述手持计算设备是 否是所选择的应用程序所支持的设备。
14.如权利要求4-13中任意一个所述的方法,其中所述方法包括如果确定所述手持计算设备不是所选择的应用程序所支持的设备,则拒绝将所选择的 应用程序下载到所述手持计算设备。
15.如权利要求14所述的方法,其中所述方法包括如果确定所述手持计算设备不是所选择的应用程序所支持的设备,则提供关于拒绝将 所选择的应用程序下载到所述手持计算设备的信息的链接。
16.一种用于将应用程序从在线应用仓库下载到便携式计算设备的服务器计算设备, 所述服务器计算设备包括用于访问所述在线应用仓库的装置; 用于在所述在线应用仓库中导航以便选择应用程序的装置; 用于显示属于所选择的应用程序的应用信息的装置; 用于接收下载所选择的应用程序的下载请求的装置; 用于检索所述便携式计算设备的设备信息的装置;用于基于所述设备信息确定所述便携式计算设备是否是所选择的应用程序所支持的 设备的装置;用于如果确定所述便携式计算设备是所选择的应用程序所支持的设备,则允许将所选 择的应用程序下载到所述便携式计算设备的装置;和用于如果确定所述便携式计算设备不是所选择的应用程序所支持的设备,则拒绝将所 选择的应用程序下载到所述便携式计算设备的装置。
17.如权利要求16所述的服务器计算设备,其中所述服务器计算设备包括用于如果确定所述便携式计算设备不是所选择的应用程序所支持的设备,则显示拒绝 将所选择的应用程序下载到所述便携式计算设备的消息的装置。
18.如权利要求17所述的服务器计算设备,其中所述所选择的应用程序具有支持设备要求,和 其中从所述在线应用仓库中提供所述支持设备要求。
19.一种用于获取应用程序的客户计算设备,所述客户计算设备包括 用于在所述在应用程序中导航以便选择应用程序的装置;用于接收获取所选择的应用程序的用户获取请求的装置; 用于检索所述客户计算设备的设备能力的装置;用于基于所述设备能力,确定所述客户计算设备是否支持所选择的应用程序的操作的 装置;用于如果确定所述客户计算设备支持所选择的应用程序的操作,则在所述客户计算设备处获取所选择的应用程序的装置;和用于如果确定所述客户计算设备不支持所选择的应用程序的操作,则拒绝在所述客户 计算设备处获取所选择的应用程序的装置。
20.一种用于在手持计算设备上安装应用程序的方法,所述方法包括接收可用于在所述手持计算设备上安装的多个应用程序,每个所述应用程序具有相关 联的设备要求;选择所述应用程序中的将被安装在所述手持计算设备上的至少一个应用程序;和 如果所述手持计算设备满足所选择的应用程序的相关联的设备要求,则提供用于在所 述手持计算设备上安装所选择的应用程序的控件。
21.一种用于将应用程序从在线应用仓库下载到手持计算设备的系统,所述系统包括用于访问所述在线应用仓库的装置;用于在所述在线应用仓库中导航以便选择应用程序的装置;用于显示属于所选择的应用程序的应用信息的装置;用于接收下载请求的装置;用于检索所述手持计算设备的设备类型的装置;用于确定所述设备类型是否是所选择的应用程序支持的一种或多种设备类型中的一 种设备类型的装置;用于如果确定所述设备类型是所选择的应用程序支持的所述一种或多种设备类型中 的一种设备类型,则允许将所选择的应用程序下载到所述手持计算设备的装置;和用于如果确定所述设备类型不是所选择的应用程序支持的所述一种或多种设备类型 中的一种设备类型,则拒绝将所选择的应用程序下载到所述手持计算设备的装置。
22.如权利要求21所述的系统,其中所述系统还包括用于如果确定所述设备类型不是所选择的应用程序支持的所述一种或多种设备类型 中的一种设备类型,则显示拒绝将所选择的应用程序下载到所述手持计算设备的消息的装置。
23.如权利要求21所述的系统,其中所述在线应用仓库存储所述应用程序以及所选择 的应用程序所支持的所述一种或多种设备类型。
24.一种用于将应用程序从在线应用仓库下载到手持计算设备的系统,所述系统包括用于访问所述在线应用仓库的装置; 用于在所述在线应用仓库中导航以便选择应用程序的装置; 用于显示属于所选择的应用程序的应用信息的装置; 用于接收下载所选择的应用程序的下载请求的装置; 用于检索所述手持计算设备的设备信息的装置;用于基于所述设备信息确定所述手持计算设备是否是所选择的应用程序所支持的设 备的装置;用于如果确定所述手持计算设备是所选择的应用程序所支持的设备,则允许将所选择 的应用程序下载到所述手持计算设备的装置;和用于如果确定所述手持计算设备不是所选择的应用程序所支持的设备,则显示拒绝将 所选择的应用程序下载到所述手持计算设备的消息的装置。
25.如权利要求24所述的系统,其中所述所选择的应用程序具有支持设备要求。
26.如权利要求25所述的系统,其中从所述在线应用仓库中提供所述支持设备要求。
27.如权利要求25所述的系统,其中所述支持设备要求被嵌入属于从所述在线应用仓 库接收的所选择的应用程序的应用信息中。
28.如权利要求25所述的系统,其中所述支持设备要求包括至少一个所支持的功能能力。
29.如权利要求25所述的系统,其中所述支持设备要求包括最低操作系统版本。
30.如权利要求24所述的系统,其中所述应用信息的所述显示包括显示包含所述应用 信息的web页面。
31.如权利要求30所述的系统,其中所述支持设备要求包含在所述web页面内。
32.如权利要求31所述的系统,其中所述web页面包括至少一个用户接口控件,并且其 中对于对所述用户接口控件的选择,所述手持计算设备操作,以便基于所述设备信息和所 述支持设备要求,确定所述手持计算设备是否是所选择的应用程序所支持的设备。
33.如权利要求31所述的系统,其中所述web页面还包括评估程序代码和一个用户接口控件,和其中对于对所述用户接口控件的选择,所述手持计算设备操作,以便执行所述评估程 序代码,所述评估程序代码基于所述设备信息和支持设备要求,确定所述手持计算设备是 否是所选择的应用程序所支持的设备。
34.如权利要求24-33中任意一个所述的系统,其中所述系统包括用于如果确定所述手持计算设备不是所选择的应用程序所支持的设备,则拒绝将所选 择的应用程序下载到所述手持计算设备的装置。
35.如权利要求34所述的系统,其中所述系统包括用于如果确定所述手持计算设备不是所选择的应用程序所支持的设备,则提供关于拒 绝将所选择的应用程序下载到所述手持计算设备的信息的链接的装置。
36.一种用于在手持计算设备上安装应用程序的系统,所述系统包括用于接收可用于在所述手持计算设备上安装的多个应用程序的装置,每个所述应用程 序具有相关联的设备要求;用于选择所述应用程序中的将被安装在所述手持计算设备上的至少一个应用程序的 装置;和用于如果所述手持计算设备满足所选择的应用程序的相关联的设备要求,则提供用于 在所述手持计算设备上安装所选择的应用程序的控件的装置。
全文摘要
本发明涉及从在线应用仓库下载应用程序的方法、设备和系统。公开了控制将应用程序从远程应用仓库传递到客户计算设备的技术。包括访问在线应用仓库;在在线应用仓库中导航以选择应用程序;显示属于所选应用程序的应用信息;接收下载请求;检索手持计算设备的设备类型;确定设备类型是否是所选应用程序支持的类型;如果是支持的类型,则允许将所选应用程序下载到手持计算设备;否则拒绝下载所选应用程序。应用程序通常被构建为在具有硬件能力的计算设备上运行。因此可从远程应用仓库下载的应用程序可能不适于在能访问远程应用仓库的所有计算设备上执行。改进技术可以操作以允许仅由具有所需硬件能力的客户计算设备接收应用以正确操作应用程序。
文档编号G06F9/445GK101799765SQ20101011596
公开日2010年8月11日 申请日期2010年2月9日 优先权日2009年2月9日
发明者S·凯利, S·贾拉巴丽 申请人:苹果公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1