页面内安装器的制作方法

文档序号:6476681阅读:282来源:国知局
专利名称:页面内安装器的制作方法
技术领域
本发明涉及计算机软件领域,并且更具体地,提供了可将软件应用经
由web页面安装在用户计算机上的系统和方法。
背景技术
随着关于计算机安全问题(这些计算机安全问题许多都是由于将恶意 计算机软件安装到没有疑心的用户的计算机上而招致的)的新闻报导的盛 行,用户可理解地对安装任何新软件都很警惕。此外,对于大部分人而 言,安装新软件是一项令人畏惧的任务一他们被提示确认安装路径、安装 选项以及可能对初学用户而言难以理解的其他属性。因此,在制造商分发 新计算机时,计算机软件公司经常竞争将其软件安装到这些计算机上的机 会。通过对软件进行预安装,计算机软件公司可以消除用户以后安装软件 的需要。因此,这些计算机软件公司与不将其软件进行预安装的计算机软 件公司相比,能够实现其软件的更高采用率。
现有技术中的某些技术尝试了通过简化计算机软件安装过程来克服这 些缺点。作为示例,由加州圣克拉拉市的Macroviskm公司发行的 InstallShield安装工具,以及由犹他州林顿市的Altiris公司发行的Wise Installation Studio,提供了可以用来使大多数软件安装过程自动化的手段。 然而,这样的安装工具要求针对每个应用和应用版本来创建新的安装器 (installer)。安装器将整个安装打包到一个或多个经压縮的、经数字签名 的文件中,这些文件然后被安装器提取。安装器然后在软件被安装后去除其自身的至少一部分。
产业上的其他技术尝试了通过简化程序更新的安装来解决问题,从而 至少减少用户必须安装程序的次数。作为示例,华盛顿洲雷蒙德市的
Microsoft公司提供了 ClickOnce (—次点击)部署技术。ClickOnce是使得 软件开发者能够针对Microsoft Windows,系列操作系统创建自行更新的应 用的部署技术。自行更新的应用可以通过最少的用户交互而被安装并运 行。关于ClickOnce部署技术的更多信息可以参见 http:〃msdn2.microsoft.com/enus/library/142dbbz4.aspx。

发明内容
所需要的是可以用来使计算机软件安装和更新能够进一步简化的系统 和方法。因此,该公开致力于一种页面内(in-page)计算机软件安装器, 其实质上解决了由于相关技术的限制和缺点所致的一个或多个问题。
如上所述,许多计算设备被预装载了计算机软件,并且许多用户将其 自身限制为仅使用这些计算机软件,甚至是在可能更适合于用户需要的其 他计算机软件存在的情况下也是如此。类似地,虽然有益于特定用户的计 算机软件可能存在,但是用户可能不知道这样的软件存在。
存在许多这样的系统,通过这些系统,能够基于用户对传统web浏览 器(例如非限制性地,由华盛顿洲雷蒙德市的Microsoft公司发行的 Internet Explorer,以及由加州芒廷维尤市的Mozilla公司发行的Firefox) 的使用以及与之进行的交互来为用户建立简档(profile)。通过使用这样 的建立简档的系统,能够判断出是否存在很可能是用户感兴趣的计算机软 件。该公开利用这样的建立简档系统来提醒用户存在这样的软件,并使这 样的计算机软件的安装简化并且更高效。
本发明的额外特征和优点将在随后的描述中被提出,并且部分地将根 据本公开而变得清楚,或者可通过实践本发明而被认识到。本发明的目的 和其他优点将通过在此书写的描述(包括在此包含的任何权利要求和附 图)中具体指出的结构而被认识到并得到。
页面内计算机软件安装器的某些实施例为用户提供跨web下载相关情境(context)的软件的能力,以及尽可能快且不费气力地得到这样的软件 而不违背情境的能力。该方案使得Web页面等能够为用户提供适当软件的 安装,并且这些提供将以如下的方式被嵌入到现有Web页面中,所述方式 即基于由页面提供的情境以及用户计算设备的配置来动态定制提供和对采 取行动的号召(call to action)。这与支持基于Web的安装的那些传统安 装器(其中安装器必须从专用的Web页面启动)形成对比。作为示例而非 限制性地,用户可能为了找到将存储在用户计算机上的数字相片呈现为幻 灯片的软件,而搜索诸如widgets.yahoo.com之类的计算机软件储存库 (repository)。这样的搜索可能返回可能是用户感兴趣的若干个软件应 用。页面内计算机软件安装器能够容易地允许用户安装作为搜索的一部分 被返回的一个或多个软件应用。
在某些实施例中,页面内计算机软件安装器还能够在不请求或要求用 户输入的情况下,自动地管理依用户计算设备的配置而异的安装相关事 宜。这可以使用户能够通过点击Web页面上的对采取行动的号召来运行软 件而无需用户部分的额外的、中间动作。
页面内计算机软件安装器的某些实施例是开放的并且可扩展的,具有 基于由提交器提供的设置以及由母web页面的开发器指示的参数来针对提 交给储存库的任何软件动态管理安装相关事宜的能力,并且受制于用户计 算设备的配置。
某些实施例利用可分配的体系结构,从而辅助不同环境下的部署,并 且辅助下层体系结构的变化。在某些实施例中,这可以通过经由IFRAME (或者嵌入式帧,如在HTML 2.0规范中定义的那样)将"标记 (badge)"嵌入到web页面中的安装器中而被实现。在某些实施例中, 可以通过手动地将适当功能硬编码到个别Web页面中来实现页面内计算机 软件安装器。在另一些实施例中,可以通过创建能够被动态地嵌入到任一 Web页面中的模块来实现页面内计算机软件安装器。在另一些实施例中, 可以通过将适当功能嵌入到提供广告的媒体中来实现页面内计算机软件安 装器。
某些实施例包括一种通知用户存在相关软件并且辅助安装该软件的方法,包括以下步骤在浏览会话期间监视用户与正运行在计算设备上的浏 览器的交互;基于所监视到的用户交互来确定浏览会话的情境;确定与情 境相关的软件是否可用;向用户推荐所确定的软件;以及通过页面内安装 器来辅助安装所确定的软件。在某些实施例中,辅助步骤还包括判断浏 览器是否是支持的浏览器,并且如果浏览器不是支持的浏览器,那么通过 标准安装器来辅助安装所确定的软件;判断必需的代码库是否被安装在计 算设备上,并且将任何需要的代码库都安装到计算设备上;从中央应用服 务器得到安装脚本;以及使浏览器发起安装脚本。
在某些实施例中,安装脚本或其多个部分可以是经数字签名的,并且 数字签名可用来验证安装脚本是来自可信源的。如果安装脚本不是来自可 信源的,那么页面内安装器可以拒绝执行安装,或者页面内安装器可以在 发起安装之前请求用户的额外授权。
在某些实施例中,页面内安装器还可以包括基于所监视到的用户交互 来建立所述用户的简档。在某些实施例中,所确定的软件是通过广告被推 荐给用户的。在某些实施例中,所确定的软件是通过动态地并入到出现在 所述浏览器中的web页面中的内容而被推荐给所述用户的。
在某些实施例中,情境可以至少部分地基于与目前由浏览器所显示的 页面相关联的关键字、元数据或其他这样的信息而被确定。在某些实施例 中,情境可以至少部分地基于由用户所执行的搜索(例如,利用流行的雅 虎搜索引擎的搜索)的结果而被确定。
某些实施例包括一种用于辅助软件安装的系统,包括标准web服务 器;应用服务器;应用相关数据库(application dependency database);在 能够呈递(render)由标准web服务器所呈现的内容的计算设备上操作的 浏览器;以及命令集,该命令集可由浏览器解译,其中,所述命令集辅助 以下操作从应用相关数据库得到安装脚本;从应用服务器得到在安装脚 本中引用的文件;以及执行安装脚本以安装软件。在某些实施例中,应用 服务器包括应用相关数据库。某些实施例还可以包括第一代码库,其中, 第一代码库辅助运行在计算设备上的操作系统与浏览器之间的交互。某些 实施例还可以包括安装在计算设备上的第二代码库,其中,第二代码库辅助得到关于安装在计算设备上的操作系统和其他软件应用的信息。在某些 实施例中,第一代码库和第二代码库被并入到单个代码库中。
某些实施例可以包括并入到一个或多个计算机程序产品中的页面内安 装器的各个方面。
该方案具有巨大的潜在商业意义。它被设计为确保一旦少量核心文件 被安装到用户的PC上,任何额外软件的安装将完全不用用户费力。该方 案的实施例以开放并可扩展的方式被构造从而实现了十分轻质且可配置的 部署,这将很大程度上增大分配点的数目和相关性。此外,利用广告服务
器的定向(targeting)技术的能力,开始了全新的分配方法。该分配机会 的增殖结合对于传统可下载软件分配所关联的最费力的用户痛处的消除的 最终结果被预测为成功的软件安装次数的大幅提高,以及采用这样的软 件的这些用户的更高保持力。这使计算机制造商和计算机软件售卖商能够 不必再像当前的实践那样过分积极地将不太相关的软件与更流行的软件产 品进行捆绑,而取而代之地将注意力放在给予用户在他们所找寻的情境下 的、他们所希望的更多软件。
应理解,以上的一般描述和以下的详细描述二者都是示例性和说明性 的,并且意欲提供对所公开的页面内计算机软件安装器的更进一步的说 明。


被包括用来提供对所公开的页面内计算机软件安装器的进一步理解 的、并且被并入且构成本说明书一部分的附图,示出各种实施例,并且与具体实施方式
一起用来说明所公开的页面内计算机软件安装器的至少一个 实施例的原理。
在附图中
图1是示出能够告知用户存在其可能感兴趣的软件的示例性用户界面
的截屏(screen capture)。
图2是示出能够识别出用户感兴趣的软件的示例性方法的流程图。
图3a和3b是示出能够利用页面内安装器来安装软件的示例性方法的流程图。
图4是能够告知用户关于感兴趣的软件的更多细节的示例性用户界面 的截屏。
图5是用户凭借其能够利用页面内安装器来发起软件的下载和安装的 示例性用户界面的截屏。
图6是用户凭借其能够使软件被打开的示例性页面内安装器用户界面 的截屏。
图7是用户凭借其能够确认软件和相关支持组件的安装的示例性页面
内安装器用户界面的截屏。
图8是用户凭借其能够得到关于相关支持组件的更多信息的示例性用
户界面的截屏。
图9是示例性状态条的截屏。 图IO是示例性状态条的截屏。 图ll是示例性状态条的截屏。 图12是指示安装被撤销的示例性状态条的截屏。 图13是告知用户安装完成的示例性用户界面的截屏。 图14是告知用户安装和/或下载错误的示例性用户界面的截屏。 图15是用户凭借其能够发起对先前安装软件的更新的示例性用户界 面的截屏。
图16是示出支持页面内安装器的实现方式的示例性网络体系结构的 功能框图。
具体实施例方式
现在将详细描述所公开的页面内计算机软件安装器的实施例,在附图 中示出了这些实施例的示例。
本公开描述了一种可基于用户与web浏览器的交互来将软件推荐给用 户并且随后为用户安装软件的系统和方法。作为示例而非限制性地,存在 允许基于用户所访问的万维网("Web")站点以及输入其中的信息(例 如非限制性地,由用户经由一个或多个搜索引擎执行的搜索)来对用户建立简档的若干种系统。这样的简档可被用来确定用户的兴趣范围,并且这 些兴趣范围可随后被用来识别出可能对用户有益的或用户需要的软件。图 1是可以告知用户存在这样的软件的示例性用户界面的截屏。在图1所示
的示例中,该系统正在推荐"YME遥控器"(YME Remote),它是已知 为"窗口小部件(widget)"的小型专用应用,其辅助对大家熟知的雅虎 音乐引擎(Yahoo! Music Engine "YME")进行控制。窗口小部件的优 点之一在于利用相对少的微处理器时间和/或存储器来进行操作。在某些实 施例中,窗口小部件可以被写为ActiveX控件,或者以JAVA、 Java Script、 VBScript等来编写,这辅助了这样的窗口小部件在浏览器中的操 作。虽然该公开描述了向用户推荐窗口小部件的系统和方法,但是本领域 中的技术人员应理解,替代软件可以对其进行替换而不会背离本发明的精 神和范围。
图2是示出可向用户推荐软件的示例性方法的原理框图。在块200, 用户与web浏览器的交互被监视,并且随后简档基于这些交互而被形成 (块210)。在块220,随着用户与浏览器的进一步交互,该系统和方法 可确定用户与浏览器的交互的特定情境。该系统和方法可以然后确定与用 户的情境和简档相关的和/或适用于用户的情境和简档的软件是否可用(块 230),并且可向用户推荐软件(块240)。作为示例而非限制性地,简档 可以确定用户是男性,很可能在18到25岁之间,以及用户经常购买数字 音乐并使用YME来管理其数字音乐。当用户随后使用浏览器来搜索"媒 体播放器"或访问具有可下载的媒体播放器的web页面时,该系统和方法 还可以搜索可用窗口小部件和其他软件的数据库来识别出用户可能感兴趣 的软件。 一旦被识别出,该方法和系统就可通过将提醒作为广告进行替换 或插入,或者否则通过号召用户采取行动,经由如图1所示界面之类的界 面来提醒用户注意YME遥控器软件存在的事实。在某些实施例中,对采 取行动的号召可并入页面内软件安装器,从而使软件的安装简化并且更有 效率。
图3a和3b是示出能够利用页面内软件安装器将软件安装到用户计算 设备上的示例性方法的框图。方法始于图3a的块300。在该实施例中,浏览器判断在用户计算设备上运行的操作系统是否是支持计算机软件的页面 内安装的操作系统,适当的脚本引擎是否存在于计算设备上,以及是否存 在可用于计算设备的页面内安装版本的软件(块301)。在某些实施例
中,该方法可利用JAVA脚本来实现页面内安装,然而替代性脚本语言可 对其进行替换而不会背离本发明的精神和范围。如果操作系统是计算机软 件的页面内安装对其而言不可用的操作系统,如果适当的脚本引擎未存在 于计算设备上,或者如果页面内可安装版本的软件不可用,那么该方法得 到这样的链接,软件可以通过该链接而被下载(块302)。该方法随后显 示用户凭借其能够发起对软件的标准安装器的下载的对话框、web页面或 其他用户界面,例如非限制性地显示如图5所示的web页面(块303)。 用户然后能够选择运行和/或保存安装器(块304),或者选择取消。
如果该系统和方法支持在运行于用户计算设备上的操作系统中的软件 的页面内安装,如果适当的脚本引擎存在于计算设备上,然而如果页面内 可安装版本的软件不可用(块305),那么用户被给予这样的机会,即利 用传统安装程序来下载并安装软件(块302)。如果软件的页面内可安装 版本可用,那么该方法判断辅助软件的页面内安装所必需的代码是否已经 与目前在用户计算设备上所使用的操作系统相关联(块310)。
页面内软件安装器的某些实施例使用两个代码库,这两个代码库被安 装在用户计算设备上或者对用户计算设备而言可访问。在此被称作YInst 和YVerlnfo的这两个代码库使得Web页面内附加的计算机软件代码(例 如非限制性地,以JAVA、 JAVAScript、 VBScript等编写的计算机软件代 码)能够以大多数Web页面所不能够的方式与计算设备的操作系统进行通 信。Web页面可以利用YVerlnfo来询问计算设备以得到系统配置信息, 版本信息,以及操作系统自身和任何已安装软件应用的相关信息。这样的 数据然后可用作由Web页面和应用相关数据库所指示的业务逻辑的输入, 从而确定出哪个软件(如果有的话)需要被安装以使得用户能够体验他们 已请求了的内容。
YInst代码库基于业务逻辑的输出,通过从一个或多个储存库得到所 需组件并以适当顺序和位置来安装所得到的组件来管理安装过程。在某些实施例中,所有这些操作可以发生而甚至无需用户看到浏览器安全对话或 客户安装器界面。所有需要的信息的用户输入和显示能够完全发生在被嵌
入在Web页面中的原始的号召采取行动的情境中。在某些实施例中,由 YInst和YVerlnfo代码库所提供的功能可被组合到单个代码库中。针对这 样的经组合的代码库的示例性对象模型定义被作为附录A随附于此,并且 其全部内容通过引用被结合于此。
如果页面内安装代码不可用或者与计算设备上所使用的浏览器不相关 联,那么向用户呈现对话框或其他用户界面(块312和314),例如如图 6所示的用户界面。当用户指示软件可被安装时,可向用户呈现诸如图7 的用户界面之类的后续用户界面。诸如图7所示的示例性用户界面之类的 用户界面使得用户能够确认页面内安装器代码和软件二者将被安装到用户 计算设备上,并且确认页面内安装器代码至少将与目前运行在用户计算设 备上的浏览器相关联。图8是用户凭借其能够得到关于将被安装到用户计 算机上的页面内安装器代码或其他文件的附加信息的示例性用户界面。图 4是用户凭借其能够得到关于软件的附加信息的替代示例性界面。如果用 户选择不使页面内安装器代码与浏览器相关联,那么用户可以被给予利用 传统软件安装器来安装软件的机会。 一旦页面内安装器代码被安装(块 316和318),方法就前进到块320。
如果页面内安装器代码与目前运行在用户计算设备上的浏览器相关 联,那么该方法判断最新版本的页面内安装器代码是否目前驻存于用户计 算设备上(块320)。如果最新版本的页面内安装器代码未驻存于用户计 算设备上,那么该方法利用当前安装版本的页面内安装器代码来发起对最 新版本的下载和安装(块322、 324和326)。在某些实施例中,可将确认 最新版本的页面内安装器代码要被安装的机会呈现给用户。在任何较大文 件或文件组的下载期间,该方法可使计算设备和/或浏览器显示状态条或下 载进程的其他指示,例如如图9所示的示例性状态条。类似地,该方法可 使状态条被显示以传达安装进程,该状态条例如是如图10、 11和12所示 的状态条。 一旦成功更新了页面内安装器代码,该方法就可以判断一版本 软件是否已经安装在用户计算设备上(块328)。如果软件已经被安装,那么该方法可选地使祝贺的用户界面(例如非限制性地,如图13所示的
用户界面)被显示,并启动软件(块360)。如果软件未被安装,那么该 方法发起软件安装过程(块334)。
如果最新版本的页面内安装器代码驻存于用户计算设备上,那么该方 法前进到块330。在块330,用户计算设备被轮询以判断一版本软件是否 已经驻存于用户计算设备上。作为示例而非限制性地,在公共或共享计算 设备上,用户可能不知道之前下载并安装了软件,因此可能排除重新安装 的需要。如果软件被安装,那么该方法可判断最新版本是否驻存于计算设 备上(块340),如果软件被安装并且最新版本驻存于计算设备上,那么 软件被启动(块350)。如果软件未驻存于计算设备上,或者更新版本的 软件可用,那么该方法可发起对软件的下载和安装(块332和342)。在 安装是更新的情况下,该方法可仅下载发生了变化的那些文件或部分文 件,从而降低带宽需求并加快安装。此外,可向用户呈现与图15的用户 界面相类似的、用户凭借其能够确认软件要被更新的用户界面。
在某些实施例中,该方法还能够判断实现软件所必须的和/或有益于实 现软件的支持组件是否驻存于计算设备上(块334),并且判断驻存于计 算设备上的任何支持组件是否需要被更新(块344)。如果最新版本的支 持组件已经驻存于用户计算设备上,那么该方法可发起对辅助软件安装或 升级所必需的文件的下载和安装(块336)。如果支持组件需要被安装和/ 或更新,那么该方法下载并安装必需的文件(块370),包括用于软件的 那些文件。 一旦完成安装,就可以向用户呈现诸如图13所示的用户界面 之类的、告知用户安装成功并完成的用户界面。如果在软件或支持组件的 下载或安装期间出错(块338和372),那么可向用户呈现与图14的用户 界面类似的、能够告知用户出错的用户界面。
用户还可以在任何时间撤销对软件或支持组件的下载和/或安装(块 374)。如果支持组件安装已被发起(块376),那么清除过程可以被发起 以去除那些支持组件(块377),此后撤销被完成(块378)。
如上所述,页面内安装器使用浏览器和相关联的脚本引擎来辅助用户 计算设备上的软件安装。存在页面内安装器的若干分配实施例,所有这些实施例都能够利用如上所述的示例性方法或类似方法。这些分配实施例包 括但并不限于
1 ) 将该功能手动地硬编码到个别Web页面中
2) 创建能够被动态地嵌入到任一 Web页面中的模块
3) (利用IFRAME)创建能够被动态地嵌入到任一 Web页面中的 "标记"
4) 将该功能嵌入到提供广告的媒体中
图16示出页面内安装器能够进行操作的示例性体系结构。在所示出 的实施例中,页面内安装器被分配为浏览器可解译命令1608,其在用户计 算设备1600上的浏览器1605中运行。当用户使用浏览器1605来访问由标 准web服务器提供的Web页面时,可以向用户呈现安装(如通过将用户 兴趣和/或偏好与从中央应用服务器1620可用的软件进行比较而确定的) 其感兴趣的软件的机会。当用户指示希望安装软件时,浏览器可解译命令 1608能够从应用相关数据库1625得到必需的文件和安装脚本。应用相关 数据库1625可提供标准的安装脚本,或者可基于用户偏好、浏览器1605 的配置和/或用户计算设备1600的配置来创建经定制的安装脚本。在某些 实施例中,从应用相关数据库1625得到的任何安装脚本的至少部分可以 是经数字签名的,从而允许浏览器可解译命令1608验证安装脚本是来自 可信源的。可以通过各种方式来完成这样的数字签名,包括但不限于使用 RSA、 SHA和GMR签名机制。在某些实施例中,数字签名信息能够被嵌 入在较大的脚本集中,从而允许脚本是自认证的(self-authenticating)。 在某些实施例中,脚本的经数字签名的多个部分可被限制为仅是需要提升 的权限(elevated privilege)来与操作系统、浏览器、设备等进行适当交互 的那些指令。
虽然在此描述了页面内计算机软件安装器的详细且具体的实施例,但 是本领域中的普通技术人员应理解,可以在其中做出各种改变和修改而不 会背离页面内计算机软件安装器的精神和范围。因此,本发明意欲覆盖这 些修改和改变,只要它们落入任一个随附的权利要求和/或其等效物的范围 之内。附录AYlnst对象模型
ydpp1atf ormobject
YDPPIatformObject是默认对象并且可经由所嵌入的对象直接访问
特性
st:H,,yIniReader 「、W",iR、"w!t、r()h〗" objectN抓ei〗......
■ - 'j ,'-.
object
version
方法("ring a/v〃c^t 'o"W ) h'r"'/vir'li'—.、! "、',ohj,、. 1
f ,' ndApp"h cati onByBundl eldobject「、T〕1V,!、|:-1 " .Ui(,:"K、l-'10:';
getApp"l icationByName〖V!)I、、"I,'〖"K ',n',(.it)〕,.-'' : 1
getinstaller(.、t r"〗q j(rey )〖VDi,!r:M ."〗
objectgetU)calF"i leob ject("丫i' 'ap/ 77'caf'o〃jvy,、' hr'("- ,i'、 11
"M叩C vn ,':l )
g et NewOown 1 o adQu eu e(v(, ) ! "M''iv.',':'
'->.j
sr,'in;:; st,' ,n(j voidgetPropertyNames jn a, at C 、'("(1 ) / 、- 11/i 、
rel easelnst3"H er、、1)1。 j
voidrunsignedscript(w m〖i t/厂7 )
voidru打SignedScriptStringUt>o 1 -c广& tT5助se"f/w:octetf
YDPOSObject
提供关于操作系统环境的基本信息特性
w architecturew ing objectw加estr'阔 platformst',n《j version
方法
string getMethodNames C void )
string getPropertyNames C void )
YDP加Readerob j ect
使用YDPIniReaderobject来解析您下载的INI文件
特性
objectN柳e
方法
voidcloseF"e(串d )
(、't>:〖1 〉
stringgetPropei"tyNa敝s(W>l,'〖)
stnr,(jsi ring j(rey )
(string i/r7 )
voidresetSect i onE加鹏rato rC void )
YDPAppl1 cat1 onobject
Mr *V7.fl^r>W " /)7""/"-^1>(/>/177 ",.0〃炒说/"//76工^/广'£"讽,>^/'00. ^'勿6 ^/^7>/6",-
提供在给出应用的名称或应用包ID的情况下对查询应用属性(例如
版本)以及开始和退出应用的支持。
特性
string3ppName
string
strincjobjectN柳e
path
st'.ingversion
方法
s t r i m ggetwetbodN抓es(v,id )
Si r ,getPfopertyNamesC id )
boolC void )
bool"launchC void 〕
boo"lquitByldC void )quitByName
(、'"(1 〉
YDPDownl oade rob ject
提供下载队列再加上管理队列并提供进程反馈的功能
特性
string
currentDownload[y附i I 。obj" r J
"length
objectMame
timeR柳sin1ng
方法
vo icf cancel Download
void 柳ptyQueue
s u. , mj getMethodNames
m' im〕 gewopertyN細es
oL) ]" r getQueu战nt ry
boo 1 removeFromQueue
void sta e
void suspendQueue
事件
vo i d fl/w3c 沐"7oa必e- /"
vo i d o"/tonr 7加沈《 ^ 7
(wiru、, wW, oimonal v、,Hanr co"te^T,
oca 7f/ 7maAie1, 《r't ,
vi 1 i(f
「i'、g a广7 )
!")"I )
nl)〕m: I Y附i leOi)jen I i 行7e勿'ecf〗
(W)Of厕l<xifif〖',b le':i rV77'知/ )ect,object [、WFilr(:4)ie"l 行7ed6jfect 5
(ol);je". 1、WLKm'"l(jai"".Oi-屮-、(-! 1 t/ 7'506j^cT,
Mrfri(j厂e3SOrt, u、t )
(ob卜 " IYWD簡"Of、ncr0b
。l:j M7's加j'ect,oIj j i: I Ym'i- i 1 e()h i ot' t.行7e幼j.ecf )
"ring netw[/广7 )
YDPmeObject提供对所下载的特定本地文件的访问特性
int content"ngthvariant context
ir、tcurrentLength
im'expected匕ength
.str "u)
objectN柳e
percentage
intti鹏R柳aining
url
方法
boo 1exists
boo"lextractAnd邻en(/War7ve绍r力7"of/7eJ7Mrc力,ke )
"ringC vo , ,'i ;>
w叩getMethodNa鹏es(、'u"i )
getPropertyNamesC void )
w",ajietve「sion
boo!C 、'o"l )
removeC 、'(j,d 〉
ver1fysignatureC v(.ikl 〉
wrlteBuddyFile
YDPinsMl 1 erob;J ect
YPDInstaller对象允许对最终用户系统的不受限的访问。在某些实施例中,所有动作(action)作为根来执行。实际动作调用YDPAgen魂执行动作。在最初执行YDPAgent时,将尝试经由0辣提高其权限,这可能需要终端用户在操作系统授权对话等中输入其密码。
特性
方法
void c叩yFi"le
void de"IeteFi"le
void executeProcess
(w r' i,q 行7e户at/7, opi i nr,,,' 1
(string f/7e/"ar/ , oprioua I variant aw3A7e'optionaf string 3r_fit_0, 0pT,0na"ivoidexists
voidext ract
string诉tLocal Fi 1 en細e
get附thodN柳es
getPropertyNames
v。itiopenDocumervt
vo,'dreboot
voidren柳纤i"le
事件
void
".i,"、t c卯Ar,'e 〉
variant: c加We )
srri叩w广7, option:, I
void )
、string /77ePa汰optional o(:'t:"fona, variant cr o/r/e ) (〗pU'oruiT variant cwAre 〕
提供对平台ui的访问 特性
"r , obj ectN柳e
方法
getMethodNames getPropertyNames
"r一 眺ssageBox
C vcn(i )
(str"ig t7.t7e, string鹏ssa《e,
"「— ite/^Wi:敏加,"ring c新"7助tr加,
string otAerflt/tro")
问题?建议?
权利要求
1.一种通知用户存在相关软件并且辅助安装这种软件的方法,包括以下步骤在浏览会话期间监视用户与正运行在计算设备上的浏览器的交互;基于所监视到的用户交互来确定所述浏览会话的情境;确定与所述情境相关的软件是否可用;向所述用户推荐所确定的软件;以及通过页面内安装器来辅助安装所确定的软件。
2. 根据权利要求1所述的方法,其中,所述辅助步骤还包括 判断所述浏览器是否是支持的浏览器,并且如果所述浏览器不是支持的浏览器,那么通过标准安装器来辅助安装所确定的软件;判断必需的代码库是否被安装在所述计算设备上,并且将任何需要的代码库都安装到所述计算设备上;从中央应用服务器得到安装脚本;以及 使所述浏览器发起所述安装脚本。
3. 根据权利要求2所述的方法,其中,所述安装脚本的至少一部分是 经数字签名的。
4. 根据权利要求3所述的方法,其中,所述安装脚本的经数字签名的 部分包括需要提升的权限来运行的指令。
5. 根据权利要求3所述的方法,还包括 基于所述数字签名来验证所述安装脚本是来自可信源的。
6. 根据权利要求5所述的方法,还包括 如果所述安装脚本未经验证,那么拒绝执行所述安装。
7. 根据权利要求5所述的方法,还包括 通知所述用户所述安装脚本不能被验证; 向用户请求对继续所述安装的授权;以及 如果所述用户未授权所述安装,那么退出所述方法。
8. 根据权利要求1所述的方法,还包括基于所监视到的用户交互来建立所述用户的简档。
9. 根据权利要求1所述的方法,其中,所确定的软件是通过广告被推 荐给所述用户的。
10. 根据权利要求1所述的方法,其中,所确定的软件通过以下内容而被推荐给所述用户,所述内容动态地并入到出现在所述浏览器中的web 页面中。
11. 根据权利要求1所述的方法,其中,所述情境是部分地基于由所 述用户经由所述浏览器所执行的搜索的结果而被确定的。
12. 根据权利要求11所述的方法,其中,所述搜索包括对计算机软件 应用储存库的搜索。
13. 根据权利要求1所述的方法,其中,所述情境是部分地基于目前 由所述浏览器所显示的页面内的关键字而被确定的。
14. 根据权利要求1所述的方法,其中,所述情境是部分地基于与目 前由所述浏览器所显示的页面相关联的元数据而被确定的。
15. —种用于辅助软件安装的系统,包括-应用服务器;应用相关数据库;以及命令集,所述命令集可由在计算设备上进行操作的浏览器解译, 其中,所述命令集在被所述浏览器解译时辅助以下操作 从所述应用相关数据库得到安装脚本; 从所述应用服务器得到在所述安装脚本中引用的文件; 验证所述安装脚本中需要提升的权限来操作的至少部分是经可信源数字签名的;以及执行所述安装脚本以安装所述软件。
16. 根据权利要求15所述的系统,其中,所述应用服务器包括所述应 用相关数据库。
17. 根据权利要求15所述的系统,还包括安装在所述计算设备上的第 一代码库,其中,所述第一代码库辅助运行在所述计算设备上的操作系统 与所述浏览器之间的交互。
18. 根据权利要求17所述的系统,还包括安装在所述计算设备上的第 二代码库,其中,所述第二代码库辅助得到关于安装在所述计算设备上的 所述操作系统和其他软件应用的信息。
19. 根据权利要求18所述的系统,其中,所述第一代码库和所述第二 代码库被并入到单个代码库中。
20. 根据权利要求15所述的系统,其中,所述命令集还包括用于在可 信脚本的至少一部分未经可信源数字签名的情况下通知所述用户并且向用 户请求对继续所述安装的授权的指令。
21. 根据权利要求15所述的系统,其中,所述命令集还包括用于确定 浏览器会话的情境的指令。
22. 根据权利要求21所述的系统,其中,所述情境是部分地基于由所 述用户经由所述浏览器所执行的搜索的结果而被确定的。
23. 根据权利要求22所述的系统,其中,所述搜索包括对计算机软件应用储存库的搜索。
24. 根据权利要求21所述的系统,其中,所述情境是部分地基于目前由所述浏览器所显示的页面内的关键字而被确定的。
25. 根据权利要求21所述的系统,其中,所述情境是部分地基于与目 前由所述浏览器所显示的页面相关联的元数据而被确定的。
26. —种具有其上记录了计算机程序逻辑的计算机可读介质的计算机 程序产品,所述计算机程序产品包括用于通知用户存在相关软件并且辅助 安装这种软件的指令,所述指令包括以下指令用于在浏览会话期间监视用户与正运行在计算设备上的浏览器的交互 的指令;用于基于所监视到的用户交互来确定所述浏览会话的情境的指令; 用于确定与所述情境相关的软件是否可用的指令; 用于向所述用户推荐所确定的软件的指令;以及 用于通过页面内安装器来辅助安装所确定的软件的指令。
27. 根据权利要求26所述的计算机程序产品,还包括 用于判断所述浏览器是否是支持的浏览器,并且如果所述浏览器不是支持的浏览器那么通过标准安装器来辅助安装所确定的软件的指令;用于判断必需的代码库是否被安装在所述计算设备上,并且将任何需要的代码库都安装到所述计算设备上的指令;用于从中央应用服务器得到安装脚本的指令;以及 用于使所述浏览器发起所述安装脚本的指令。
28. 根据权利要求27所述的计算机程序产品,还包括用于基于数字签 名来验证所述安装脚本是来自可信源的指令。
29. 根据权利要求28所述的计算机程序产品,还包括用于在所述安装 脚本未经验证的情况下拒绝执行所述安装的指令。
30. 根据权利要求28所述的计算机程序产品,还包括 用于通知所述用户所述安装脚本无法被验证的指令; 用于向用户请求对继续所述安装的授权的指令;以及 用于在所述用户未授权所述安装的情况下中止所述安装的指令。
31. 根据权利要求27所述的计算机程序产品,还包括用于基于所监视 到的用户交互来建立所述用户的简档的指令。
32. 根据权利要求27所述的计算机程序产品,还包括用于通过广告将 所确定的软件推荐给所述用户的指令。
33. 根据权利要求27所述的计算机程序产品,还包括通过以下内容来将所确定的软件推荐给所述用户的指令,所述内容动态地并入到出现在所 述浏览器中的web页面中。
34. 根据权利要求26所述的方法,其中,所述情境是部分地基于由所 述用户经由所述浏览器所执行的搜索的结果而被确定的。
35. 根据权利要求34所述的方法,其中,所述搜索包括对计算机软件应用储存库的搜索。
36. 根据权利要求26所述的方法,其中,所述情境是部分地基于目前 由所述浏览器所显示的页面内的关键字而被确定的。
37. 根据权利要求26所述的方法,其中,所述情境是部分地基于与目 前由所述浏览器所显示的页面相关联的元数据而被确定的。
38. —种用于辅助软件安装的系统,包括web服务器; 应用服务器; 应用相关数据库;通信路径,经由所述通信路径,所述web服务器能与能够呈递由所述 web服务器所呈现的内容的浏览器通信;以及命令集,所述命令集可由所述浏览器解译,其中,所述命令集辅助以 下操作-从所述应用相关数据库得到安装脚本; 从所述应用服务器得到在所述安装脚本中引用的文件; 验证所述安装脚本中需要提升的权限来操作的的至少部分是经可 信源数字签名的;以及执行所述安装脚本以将所述软件安装到计算设备上。
39. 根据权利要求38所述的系统,其中,所述应用服务器包括所述应 用相关数据库。
40. 根据权利要求38所述的系统,还包括安装在所述计算设备上的第 一代码库,其中,所述第一代码库辅助运行在所述计算设备上的操作系统 与所述浏览器之间的交互。
41. 根据权利要求40所述的系统,还包括安装在所述计算设备上的第 二代码库,其中,所述第二代码库辅助得到关于安装在所述计算设备上的 所述操作系统和其他软件应用的信息。
42. 根据权利要求41所述的系统,其中,所述第一代码库和所述第二 代码库被并入到单个代码库中。
43. 根据权利要求38所述的系统,其中,所述命令集还包括用于在可 信脚本的至少一部分未经可信源数字签名的情况下通知所述用户并且向用 户请求对继续所述安装的授权的指令。
44. 根据权利要求38所述的系统,其中,所述命令集还包括用于确定浏览器会话的情境的指令。
45. 根据权利要求44所述的系统,其中,所述情境是部分地基于由所述用户经由所述浏览器所执行的搜索的结果而被确定的。
46. 根据权利要求45所述的系统,其中,所述搜索包括对计算机软件 应用储存库的搜索。
47. 根据权利要求44所述的系统,其中,所述情境是部分地基于目前 由所述浏览器所显示的页面内的关键字而被确定的。
48. 根据权利要求44所述的系统,其中,所述情境是部分地基于与目 前由所述浏览器所显示的页面相关联的元数据而被确定的。
全文摘要
一种通知用户存在相关软件并且利用浏览器来辅助安装这样的软件的方法。用户与浏览器的交互被监视以确定给定浏览会话的情境,并且与该情境相关的软件是否可用被判断。如果这样的软件可用,那么向用户推荐该软件,并且如果用户希望安装该软件,那么安装能够经由浏览器而被执行。软件可以通过多种方式被推荐给用户,包括将推荐并入静态的web页面中,将推荐并入动态的web页面中,以及将推荐作为广告内容的一部分进行递送。推荐可以包括到辅助通过浏览器来安装软件的安装脚本等的链接。
文档编号G06F17/30GK101689193SQ200880009222
公开日2010年3月31日 申请日期2008年3月13日 优先权日2007年3月21日
发明者乔纳森·斯特拉斯, 约翰尼·J·斯皮克斯, 迪瑞克·维托尔, 阿什特·甘德伊, 麦克·波尔里斯 申请人:雅虎公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1