CN101382886B - 针对应用执行环境的应用跟踪 - Google Patents

针对应用执行环境的应用跟踪 Download PDF

Info

Publication number
CN101382886B
CN101382886B CN200810134400.6A CN200810134400A CN101382886B CN 101382886 B CN101382886 B CN 101382886B CN 200810134400 A CN200810134400 A CN 200810134400A CN 101382886 B CN101382886 B CN 101382886B
Authority
CN
China
Prior art keywords
execution environment
application execution
version
aee
different editions
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.)
Active
Application number
CN200810134400.6A
Other languages
English (en)
Other versions
CN101382886A (zh
Inventor
O·戈德曼
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.)
Adobe Inc
Original Assignee
Adobe Systems Inc
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
Application filed by Adobe Systems Inc filed Critical Adobe Systems Inc
Publication of CN101382886A publication Critical patent/CN101382886A/zh
Application granted granted Critical
Publication of CN101382886B publication Critical patent/CN101382886B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

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

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

本申请公开的是针对应用执行环境的应用跟踪,具体来说是用于在计算机上管理应用执行环境的方法、系统和装置以及介质编码的计算机程序产品。本说明书中所描述主题的一个或多个方面可以在用于管理应用执行环境的一个或多个方法中实现,所述应用执行环境包括为该应用执行环境中运行的应用提供服务的跨平台应用程序接口,所述一个或多个方法包括:维护应用和安装在计算机上的应用执行环境的不同版本之间的关联,其中,所述关联指明所述应用在所述应用执行环境的所述不同版本的哪个版本中运行;以及基于应用和该应用在其中运行的应用执行环境的不同版本之间的关联来管理计算机上的应用执行环境的不同版本。

Description

针对应用执行环境的应用跟踪
技术领域
本发明总体上涉及在计算机平台上管理应用执行环境,并且更具体地涉及针对应用执行环境的应用跟踪。
背景技术
本说明书涉及在计算机平台上管理应用执行环境(例如,虚拟机和运行时环境)。计算机平台是这样的计算机,其包括用于该计算机的特定操作系统(OS)(例如,Windows
Figure S2008101344006D00011
OS,MAC
Figure S2008101344006D00012
OS,或者Linux
Figure S2008101344006D00013
OS)。软件开发者通常创建可以针对各计算机平台而适当编译的源代码,继而独立地生成用于每个目标平台的本机安装包。每个本机安装包都与特定的计算机平台相关联,并且继而可以分发这些本机安装包以用于在适当机器上的安装。对于特定的目标平台,适当的本机安装包是从软件开发者处获取的,并且可以使用OS安装器来处理本机安装包,以便安装应用。例如,可以使用InstallShield
Figure S2008101344006D00014
软件来产生用于Windows
Figure S2008101344006D00015
机器上安装的.msi文件,并且可以使用不同的软件工具来产生用于MAC
Figure S2008101344006D00016
机器上安装的.pkg文件。
一些软件开发者已经创建了部署在最终用户系统上的跨平台安装包,例如Java
Figure S2008101344006D00017
Archive(JAR)文件格式。继而可以展开(例如,解密和解压缩)跨平台包,并使用软件开发者和/或跨平台包格式的开发者所提供的代码将跨平台包直接写到磁盘。通常,这种跨平台软件在目标平台上的运行依赖于之前安装的虚拟机,例如Java
Figure S2008101344006D00018
虚拟机(JVM)(可以从Sun Microsystems公司获得)。
JVM为包括WindowsOS,MAC
Figure S2008101344006D000110
OS以及LINUX
Figure S2008101344006D000111
OS在内的多数操作系统提供了运行时环境和Java解释器。Java源代码文件(具有.java扩展名的文件)被编译为称为字节码的格式(具有.class扩展名的文件),其继而由Java解释器来执行。字节码可以通过适时编译器(JIT)直接转换为机器语言指令。其他示例性运行时环境包括C运行时,.NET,以及Adobe集成运行时。
Flash播放器(可以从Adobe System Incorporated获得)是另一虚拟机,其可以用来运行或解析Flash
Figure S2008101344006D00023
文件,该Flash
Figure S2008101344006D00024
文件包括从ActionScript编译得到的Shockwave Flash(SWF)。通过将SWF数据嵌入到Flash
Figure S2008101344006D00025
播放器的可执行文件中以创建新的.exe文件,并操纵该.exe文件中的字节模式以指明SWF数据的存在,Flash
Figure S2008101344006D00026
播放器和Flash
Figure S2008101344006D00027
创作软件允许开发在特定目标平台上运行的projector(自运行的SWF影片)。继而可以分发这样的projector以便在目标平台上使用。
传统上,运行时及其安装器是分别开发的。通常,用于运行时的安装引擎是从第三方获取或许可的。用于运行时的安装包含其自己的用户界面以及用于与目标计算机平台的OS交互的其他工具。在生成运行时的新版本时,通常要卸载较旧的版本,并将较新的版本安装在较旧版本的位置。在这种情况下,先前使用运行时的较旧版本的应用应当能够使用较新的版本,以便适当地进行操作。在JVM的情况下,可以将JVM的两个版本安装在一个计算机上,并且继而分别管理这两个JVM版本。
发明内容
本说明书描述了涉及在计算机平台上管理应用执行环境(例如,虚拟机和运行时环境)的技术。总体上,本说明书中所描述主题的一个或多个方面可以实现在一个或多个管理应用执行环境的方法中,所述应用执行环境包括为该应用执行环境中运行的应用提供服务的跨平台应用程序接口,所述一个或多个方法包括:维护应用和安装在计算机上的应用执行环境的不同版本之间的关联,其中,所述关联指明了所述应用在所述应用执行环境的不同版本的哪个版本中运行;以及根据应用和应用在其中运行的应用执行环境的不同版本之间的关联来管理计算机上的应用执行环境的不同版本。其他实施方式包括相应的系统、装置和计算机程序产品。
这些和其他实施方式可以可选地包括以下特征中的一个或多个。所述维护可以包括在计算机上注册特定于应用执行环境的不同版本之一的文件扩展名,并且所述管理可以包括在针对应用执行环境的不同版本之一而执行管理任务之前检查文件扩展名的注册。所述管理可以包括根据管理任务来注册应用执行环境的所有不同版本的共同文件扩展名。而且,所述管理可以包括根据将安装在计算机上的应用执行环境的不同版本中的至少一个版本向计算机的操作系统进行注册。
所述管理可以包括:确定应用执行环境的不同版本中的哪些版本具有应用的依赖应用;以及在将应用执行环境的不同版本中的一个或多个版本从计算机上卸载之前,基于所述确定将应用和不同版本之间的依赖关系通知用户。所述管理可以包括:确定应用执行环境的不同版本中的哪些版本具有应用的依赖应用;以及在至少一个应用使用计算机上的应用执行环境的不同版本中的一个版本时,向用户提供将可用更新应用于应用执行环境的不同版本的所述一个版本的选项。
一种系统,可以包括用户接口设备以及一个或多个计算机,该一个或多个计算机可以进行操作来与用户接口设备进行交互以及执行管理应用执行环境的操作,所述应用执行环境包括为该应用执行环境中运行的应用提供服务的跨平台应用接口。所述一个或多个计算机可以包括其上安装有应用执行环境的不同版本的计算机,并且所述计算机可以包括用户接口设备。所述计算机可以包括运行web浏览器的个人计算机以及运行无线应用协议(WAP)浏览器的移动电话。
可以实现本说明书中所描述主题的特定实施方式,以实现一个或多个下述优点。运行时环境可以包含其自己的用于管理运行时环境的不同安装版本的逻辑和用户界面。运行时环境的版本管理代码可以从该运行时环境本身之内进行操作。而且,可以在计算机上将应用执行环境的不同版本作为其中捆绑有不同版本的单个运行时环境程序进行管理。从最终用户的角度看来,可以将应用执行环境视为单个程序(例如,“添加或删除程序”控制界面中的单个条目),并且可以认为应用执行环境的不同版本仅仅是插入到应用执行环境的各种组件。可以运行使用应用执行环境的任何应用,而无需用户了解计算机上安装了应用执行环境的哪些版本。
应用执行环境本身可以处理应用执行环境的不同版本的标识和安装。可以在没有用户输入的情况下,对应用与其中运行应用的应用执行环境的不同版本之间的关联进行管理,包括在需要时自动地下载和安装任何新版本。此外,可以提供用于管理安装在计算机上的应用执行环境的不同版本的公共用户界面,以供较为熟练的用户(例如,计算机系统管理员)使用。该用户界面可以允许用户对安装在计算机上的版本集合以及如何配置应用执行环境的特定版本二者进行管理。
在附图和下文的描述中记载了本说明书中所描述主题的一个或多个实施方式的细节。通过描述、附图和权利要求书,本发明的其他特征、方面和优点将变得显而易见。
附图说明
图1A示出了用于软件分发、安装和管理的示例系统。
图1B示出了可以用来安装应用执行环境的示例元素。
图2A示出了应用执行环境的版本管理的示例过程。
图2B示出了将应用绑定至应用执行环境的版本的示例过程。
图2C示出了与计算机目录相对应的命名空间的示例。
图3A示出了应用执行环境的版本管理的另一示例过程。
图3B示出了可以用来卸载应用执行环境的一个或多个版本的用户界面面板。
图3C示出了更新应用执行环境版本的示例过程。
图3D和图3E示出了可以用来对应用执行环境的不同版本进行卸载、安装以及对其进行更新的示例用户界面面板。
图4A示出了在应用和应用执行环境的不同版本之间维护的关联,以及基于这些关联对不同版本的管理。
图4B示出了维护关联以及基于这些关联来管理应用执行环境的不同版本的示例过程。
各附图中相同的附图标记和名称表示相同的元素。
具体实施方式
图1A示出了用于软件分发、安装和管理的示例系统。分发者105可以提供应用执行环境(AEE)程序110、一个或多个AEE管理器程序115(例如,一个或多个安装器以及版本管理控制台程序)以及将要安装在目标计算机130上的一个或多个软件应用120。分发者105使安装包125可以用于将一个或多个软件程序安装到计算机130上。安装包125可以是经过数字签名的文档,其中,在进一步使用安装包125之前,验证签名是否有效。安装包125可以包括AEE安装器和AEE程序。此外,安装包125可以包括随同应用执行环境程序110安装的一个或多个应用120或者对这类应用的引用。
分发者105可以是软件开发者、发布者、销售者或者分发软件的其他实体,或者是他们使用的计算机。例如,分发者105可以是通过网络100提供软件下载工具的服务器或者服务器集群,其中网络100例如局域网、端对端网络、无线网、互联网或者万维网。应用执行环境程序110和应用120可以由多方分别分发。安装包125可以在诸如压缩盘(CD)、数字通用盘(DVD)和软盘的物理介质上进行分发,或者由可以用来递送数字内容的其他技术来分发。
目标计算机130包括软件和硬件二者。硬件包括输入/输出设备140、一个或多个处理器145以及至少一个计算机可读介质150(例如,存储器设备、存储设备或者一个或多个这种设备的组合)。软件可以包括操作系统135,分发者105提供的软件元件在操作系统135上操作。应用执行环境110可以使用操作系统135来与计算机130的其他元件交互。应用执行环境110可以提供各种公用服务,以供应用执行环境中运行的应用使用。这些公用服务可以包括:文件系统访问、窗口和菜单、与OS外壳的集成(例如,Windows
Figure S2008101344006D00051
OS浏览器或MACOS Finder)、文件扩展名注册、文档处理支持(例如,超文本标记语言(HTML)引擎和便携文档格式(PDF)引擎)、字符串操作、图形、网络、通知工具、外围设备寻址,或者可以使用运行时库提供的其他类型功能。而且,应用执行环境110可以包括跨平台应用程序接口(API)112,其向运行在应用执行环境中的应用提供服务,并且抽象出应用执行环境110被设计为在其上运行的各种硬件和OS平台的细节。
由此,应用执行环境(AEE)110可以是跨平台的运行时环境,例如加利福尼亚州、圣何塞市的Adobe System公司提供的Adobe
Figure S2008101344006D00061
Integrated Runtime(AIRTM)软件。在一些实现中,应用执行环境110可以从应用的编码表示中加载应用。例如,编码表示可以具有诸如编程语言的预定义句法结构(例如,源代码),或者可以包括良定义的虚指令(例如,与平台无关的字节码,诸如Macromedia Flash
Figure S2008101344006D00062
字节码)。为了加载这样的应用,应用执行环境110可以将应用的编码表示解码为指令,并且可以执行该应用的指令。
除了充当应用执行环境之外,AEE 110还可以充当用于其自身以及AEE 110上运行的应用120二者的应用安装环境,以及充当用于其自身的版本管理环境。在编写用于AEE 110的管理控制台程序115时,可以使用AEE 110的用户接口和语言工具(例如,HTML、MXML(多媒体扩展标记语言)、以及诸如用于ActionScript和JavaScript的脚本支持)。
将要置于AEE 110中的安装/卸载工具扩展可以随实现而变化。在一些情况下,AEE 110可以提供这样的API,其根据来自一个或多个适当安装器的请求而执行全部安装操作。在其他情况下,一些安装操作可以在一个或多个安装器/管理器中提供,并且可以使用运行时的较低级API(例如,文件系统访问API)来完成在计算机130上的安装操作。在任何情况下,版本管理控制台程序可以使用AEE的安装/卸载工具来管理在计算机上安装和注册AEE的哪些版本,这或者是在AEE的安装期间自动进行(例如,在安装AEE的新版本时),或者是基于用户请求(例如,当用户在所安装程序的控制面板中选择针对AEE而给出的管理选项时)。
图2A示出了应用执行环境(AEE)的版本管理的示例过程。可以标识210在计算机上安装了AEE多个版本中的哪些版本。首先,可以找到AEE的主要位置。例如,在一些系统(例如,Windows
Figure S2008101344006D00071
OS计算机)上,在安装AEE时,可以将这样的信息记录在注册表中,该信息将与AEE相关联的唯一标识符映射到安装位置。该唯一标识符还可以包括在AEE管理代码中,使得可以在注册表中查找标识符以便得到安装位置。在其他系统(例如,MAC
Figure S2008101344006D00072
OS计算机)上,可以搜索预定义的有效AEE安装位置的列表,以便找到实际的安装位置。
具有AEE安装位置之后,可以找到AEE的不同版本。例如,所安装的AEE可以具有名为“版本”的目录,其包括一组子目录,子目录根据自身包含的AEE版本而命名。注意,用于特定版本的补丁级别可以分开记录,并且无需对应于所安装AEE内的版本目录结构。
可以在计算机上管理220AEE的不同版本。这可以包括:卸载AEE的特定版本、应用一个或多个补丁来更新AEE的已安装版本、向AEE的已安装版本添加组件或者开启/关闭其特征(例如,添加在一个或多个不同AEE版本之上运行的程序框架),以及安装AEE的一个或多个新版本。
可以使用应用执行环境的不同版本之一来执行标识210和管理220。由此,版本管理控制台程序(其可作为用于AEE的安装器的部分而被包括)可以在AEE自身中运行,并且使用构建在AEE中的安装/卸载工具。而且,在将要添加AEE的新版本时(或者需要应用更新时),可以提供安装包,其包括AEE的新版本(或者对AEE的更新)以及在AEE中运行的、用于该AEE(或者更新)的安装器。
新的AEE版本包括用于目标计算机平台(例如,用于运行Windows
Figure S2008101344006D00073
OS、MACOS或者Linux
Figure S2008101344006D00075
OS的计算机)的适当的本机的、平台特定的代码。可以将该新AEE程序与用于该新AEE程序的安装器(如果同时安装应用,则还有用于该应用的安装器)组合到安装包中。注意,该组合可以特定于一类计算机;由此,可以针对每个目标类型的计算机来执行标识和组合,以制作出用于每个目标类型的安装包,该安装包可以分别提供给作为该类型成员的每个目标计算机。可替换地,在例如所发送的安装器出于数字版权管理(DRM)的目的而需要特定于目标计算机时,可以针对每个目标计算机来动态地执行标识和组合。
此外,可以将每个应用120与应用执行环境的不同版本之一进行绑定230。该绑定可以确保不论何时调用应用120,该应用都将在这样的AEE版本上运行:已经针对该版本对该应用进行了测试。由此,可以在给定计算机上安装多个应用120和AEE 110的多个不同版本,并且每个应用120(或者其适当子集)可以与AEE 110的不同版本绑定。然而,从用户的角度看来,所有应用120可以表现为运行在相同的AEE 110上,并且AEE 110不同版本之间的差异可以在常规操作期间对用户完全保持透明。
图2B示出了将应用与应用运行环境的版本进行绑定的示例过程。可以针对计算机上安装的AEE的不同版本来检查250与应用之一相关联的命名空间。这可以包括检查与应用相关联的清单。例如,可以以这样的格式来分发应用120,该格式包括放置在预定义位置(例如,在用于每个应用的压缩归档文件内的特定位置)的文档(例如,“application.xml”),其中,该文档规定了用于应用以及用于文档内XML元素的命名空间。该文档还可以包括在安装应用时使用的信息(或者对这种信息的引用),例如应用名称、应用图标、应用的版本号以及用于该应用的代码。
图2C示出了与计算机上的目录297相对应的命名空间280的示例。在此示例中,父目录290包括用于AEE的文档以及名为“版本”的子目录295。在子目录295内,存在与AEE的不同已安装版本(例如,版本1.0、版本1.5和版本3.0)相对应的多个子目录。由此,在此示例中,命名空间280包括属于版本1.5的所有AEE程序,而不考虑在给定计算机上应用到版本1.5的补丁级别284。注意,可以针对AEE的每个版本创建多个补丁,由此,由于已经应用的不同补丁级别,不同计算机上的AEE的相同版本无需等同。在任何情况下,命名空间都可被映射到AEE的已安装版本,或可以用来构造查询以便发送到服务器来得到涉及该版本的信息(例如,该版本的安装器),其中查询例如统一资源定位符(URL),该URL对查询进行编码而不使用查询参数(URL中问号后面的部分)。
再次参考图2B,当与应用相关联的命名空间与新版本匹配时,可以在计算机上安装260应用执行环境的新版本,该新版本在检查250时尚未安装。例如,当要安装新应用时,AEE 110可以进行检查以查看新应用是否使用了尚未安装在本地计算机上的AEE 110新版本。如果是,AEE 110可以自动地获取AEE 110的新版本(例如,通过互联网从服务器获取),以便随同应用一起安装。
此外,新版本的安装可以采用将新AEE版本和用于该新AEE版本的安装器组合在一起的安装包。安装器本身可以在AEE中运行,并且可以将安装包提供给目标计算机,以便通过运行复制到目标计算机的应用执行环境中的安装器来安装新的AEE版本(以及潜在地安装依赖于该AEE版本的应用)。
图1B示出了可以用来安装应用执行环境的示例元素。如图1A和图1B所示,安装器115在应用执行环境110之上运行,其方式类似于被设计为在应用执行环境110中运行的应用120。安装包125可以包括压缩归档文件(例如.zip文件),其中已经封装了新AEE版本的副本。此外,可以将该压缩归档文件添加到自提取的可执行存根(stub.exe),以形成安装包125(例如,供基于Windows
Figure S2008101344006D00091
OS的计算机使用)。在执行时,可执行存根中的自提取器代码可以将AEE解归档到临时位置。AEE是这样设计的:其可以适当地运行,也即,除了简单地复制文件之外无需其他安装步骤。
由此,提取的AEE的副本可以立即用于运行安装器。可以将安装包125传送到计算机,以便在安装包被调用时(例如,在执行安装包可执行文件时)使计算机执行安装操作。可以将AEE程序的新版本复制到计算机(这可以包括将AEE程序版本从压缩归档文件中提取到目标计算机),此后,AEE的新版本可以用于运行安装器。可以按照x-copy模式将AEE程序的新版本装载到目标计算机上。在将新AEE程序版本安装到目标计算机之前(也即,该新AEE程序版本正运行在x-copy模式中),安装器便可在目标计算机上装载的AEE的新版本中运行。安装器可以向用户呈现用户界面(UI),其包括各种UI面板,并且可以使新AEE程序版本的第二副本(直接来自于运行的副本)位于其最终安装位置。
由此,可以使用AEE的第一版本来标识计算机上已经安装了AEE的多个版本中的哪些版本,并且可以使用AEE的第二版本来安装AEE的第二版本自身。例如,在要安装新应用时,可以在计算机上安装AEE的版本1.0。AEE版本1.0可以标识已安装的AEE版本,以确定新应用是否需要AEE的新版本(例如,版本2.0)。如果需要,可以使AEE版本2.0的第一副本位于计算机上的第一位置。这可以是已经下载到临时目录的AEE程序版本2.0的可执行副本,其在安装完成之前便可以运行。可以启动应用执行环境的第一副本的执行,并且可以使AEE程序版本2.0的第二副本位于计算机上的第二位置。可以在计算机上的第二位置对AEE程序的版本2.0进行注册。这可以包括注册文件扩展名和MIME(多用途互联网邮件扩展)内容类型以及注册用于AEE管理程序的指令。注意,只有AEE的最新版本需要对AEE所使用的通用文件扩展进行注册,因为对于特定的情况(例如,在对较旧的版本应用补丁时),AEE的最新版本可能根据需要而调用较旧的已安装版本。可以在计算机上的第一位置删除AEE程序版本2.0的第一副本。注意,制作第二副本和删除第一副本可以是已经与安装过程集成的移动操作的一部分。此外,复制、注册和删除可以包括使用构建到AEE程序内的逻辑。
在结合图1B描述的示例中,可以将安装包125本身视为安装器,因为包125是开始安装过程的可执行文件。在其他情况下,安装包125可以是压缩归档文件本身。例如,对于MAC
Figure S2008101344006D00111
OS计算机而言,安装包125可以是磁盘镜像格式的“.dmg”文件。在这种情况下,用户可以打开.dmg文件(例如,双击该文件)并继而装载其中包括的AEE安装器。而且,安装包125可以包括一个或多个附加安装器,下文将进一步讨论。
在任意情况下,应用执行环境110可以包括安装/卸载代码160,其用于软件在目标计算机130上的安装和卸载,并用于执行更新,例如应用补丁(例如,为了解决所发现的安全漏洞)或者将组件或特征添加到不同的AEE版本。跨平台应用程序接口112可以是操作系统无关的,并且可以包括到安装/卸载代码160的安装/卸载接口170。安装器115可以包括用户界面代码175。当安装器115在目标计算机上的AEE 110中运行时,安装器115可以使用AEE 110的安装接口170来实现新AEE版本的安装,并且安装器115可以使用用户界面代码175(例如,超文本标记语言、ActionScript或者SWF代码)来生成和呈现用于安装过程的用户界面180,其中用户界面代码175也可以使用AEE 110来运行。
例如,安装器115可以包含使用Adobe
Figure S2008101344006D00112
FlexTM软件、Flash
Figure S2008101344006D00113
代码或者ActionScript代码(或其组合)编写的用户界面,其中该用户界面(UI)与嵌入在AEE 110中的逻辑进行通信。(为此目的)AEE110中主类的名称可以是“运行时安装器”,并且可以创建运行时安装器的实例,可以在该实例上创建一些属性,继而可以启动运行时安装器。运行时安装器继而可以分派事件,以便随着安装的进行来报告进展(例如,下载的进度、已经安装的比例,是否发生错误等等)。这些事件可以由安装器115中的代码捕获,这导致UI更新。注意,两个方向的通信都可以使用事件来实现。由此,当用户接受用于AEE110的最终用户许可协议时,可以从UI向运行时安装器类发送事件,告知运行时安装器安装的进展。继而,进度事件可以反向返回,并使进度条更新。
当安装器115在目标计算机上的AEE 110上运行时,安装器115还可以导致将AEE管理器置于目标计算机上,其中,AEE管理器程序也可以在AEE 110中运行。AEE管理器程序可以是AEE 110的另一副本加上运行于其上的代码(例如,FlexTM代码)。由此,安装器可以使用接口170来实现AEE 110的新版本的安装,并且AEE管理器程序可以使用接口170来实现AEE 110的新版本的卸载、实现AEE110的其他版本的安装、或者对AEE 110的已安装版本应用更新。此外,可以将AEE 110中的安装/卸载代码160设计为直接在目标计算机上进行操作来执行安装和卸载任务(例如,在基于MACOS的计算机中),或者可以将安装/卸载代码160设计为与OS 135提供的安装/卸载工具165对接(例如,基于Windows
Figure S2008101344006D00122
OS的计算机中的Windows
Figure S2008101344006D00123
安装器API)。
在上面给出的示例中,运行时安装器类在基于MAC
Figure S2008101344006D00124
OS的计算机和基于WindowsOS的计算机上可能具有非常不同的实现。在基于Windows
Figure S2008101344006D00126
OS的计算机上,运行时安装器可以使用AEE 110中的、仅涉及安装的API来进行操作,因为所述API使用Windows
Figure S2008101344006D00127
安装服务来执行安装操作。在基于MACOS的计算机或者基于Linux
Figure S2008101344006D00129
OS的计算机上,运行时安装器可以使用AEE 110中的文件系统API进行操作。在任一情况下,运行时安装器类都可以定义跨平台接口,安装器/管理器115可以以相同的方式访问并使用该接口,而不论其运行在基于MAC
Figure S2008101344006D001210
OS的计算机上还是基于WindowsOS的计算机上(也即,安装器/管理器中无需具有任何本机代码)。还可以使用其他方法。例如,AEE 110可以提供用于调用本机代码的机制,并且安装器/管理器115也可以使用该机制。
再次参考图2B,可以在计算机上创建用于应用120之一的可执行文件。可以将该可执行文件配置为加载与该应用所关联的命名空间相匹配的AEE版本。例如,可以将模板可执行文件转换为特定于应用的可执行文件。模板可执行文件是通用的本机应用可执行文件(例如,用于Windows
Figure S2008101344006D001212
OS或者MAC
Figure S2008101344006D001213
OS计算机),其可以被包含在安装包125、AEE 110或者二者之中,并且可以在特定计算机上的安装期间被转换为特定于应用的可执行文件。可替换地,转换可以较早进行,并且应用特定的可执行文件可以包含在安装包125中。
在任一情况下,应用信息可以通过安装包或者其他手段来提供,并且与来自特定于平台的模板可执行文件的信息相结合,以生成特定于应用的可执行文件。应用信息包括特定于应用的信息,例如实现算法,数据或者文档的代码。模板可执行文件是特定于目标计算机平台的,并且包含该平台的可执行文件通用的机器代码。
可以根据应用信息中包含的信息对模板进行复制和重命名。模板可以具有通用的填充材料(例如通用图标),其在创建应用可执行文件时被覆盖。模板可执行文件可以包括诸如公共代码的其他资源,其可以用于执行公共任务或者对诸如动态链接库(DLL)的系统库的链接。这些可以包括对AEE的新版本的DLL的一个或多个引用(例如,目录结构中特定于版本的路径),由此创建给定应用和AEE该版本之间的绑定。除了该AEE版本信息之外,模板可执行文件还可以包括版本资源,在生成应用可执行文件时,可以将关于应用的版本信息添加到所述版本资源。
应用信息可以包括应用名称,其可以用作应用可执行文件的名称。应用图标可以包括在应用信息中,并且可以在生成应用可执行文件时与模板可执行文件集成。例如,应用图标可以是便携式网络图形(PNG)格式的特定于应用的图形,其例如在转换为Windows
Figure S2008101344006D00131
图标格式(ICO)之后覆盖通用图标,以便生成应用可执行文件中的应用图标。该应用图标继而被用以启动应用,这例如通过在OS用户界面中呈现该图标以便用户双击。应用信息还可以具有版本号,以用于应用可执行文件的进一步标识,并且可以通过版本号来更新所复制的模板可执行文件中的版本资源,以形成应用可执行文件中的版本号。另外,应用信息可以包括代码,其可以是诸如SWF和超文本标记语言(HTML)的跨平台代码,或者是诸如目标平台本机机器代码的特定于平台的代码,或者是其结合。代码可以是源代码形式、编译(完全编译或部分编译)形式和/或解释形式,并且可以作为代码插入到应用可执行文件中。例如,提供用于新应用的逻辑和用户界面的SWF文件可以作为资源嵌入到可执行文件中。在此上下文中,“资源”是预留的可执行文件的部分,用于对各种类型的数据进行存储。通常,OS提供编程接口,其可被用以可编程地操纵资源,并且可以通过使用OS编程接口或者通过直接修改可执行文件镜像来将SWF代码作为资源嵌入(注意,任意给定平台的可执行格式的规范描述了如何组织可执行文件来包括这些资源)。而且,应用信息可以包括附加文件(包括数据和代码二者),诸如便携文档格式(PDF)文件和JavaScript文件。
由此,可以制作模板可执行文件的副本,并且该副本变为应用可执行文件。模板可执行文件中存在的一些项在应用可执行文件中被所使用的项替换,该所使用的项完全地或部分地来自于所提供的应用信息。一些系统资源在用于填充应用可执行文件之前可能需要进行转换。一些平台可能需要将图标转换为与应用信息所提供的格式不同的特定图形格式(例如,从.png到.ico格式的转换)。在一些情况下,可以改变应用信息提供的应用名称(或者安装目录位置),以符合目标平台的习惯;在这种情况下,可以将应用名称(以及应用可执行文件位置)转换为适当的等同项。在任何情况下,作为结果的应用可执行文件都是从模板生成的、可以作为本机软件在目标平台上运行,并且包括添加到可执行文件的新功能,而无需对来自源代码的可执行文件进行重新编译。该结果应用可执行文件还包括对AEE特定版本的引用,由此创建应用和AEE的该版本之间的绑定。
从上面的描述中可以意识到,在计算机上可以将AEE的不同版本作为其中绑定有不同版本的单个运行时环境程序进行管理。图3A示出了应用执行环境的版本管理的另一示例过程。可以使用其上运行有管理程序的基础应用执行环境来实现该过程,或者可以使用单独的管理程序来实现该过程,所述单独的管理程序在计算机上的运行不依赖于其不同版本有待管理的应用执行环境的任何版本。在任一情况下,可以通过用户调用管理程序来触发该管理程序,例如通过用户选择Windows
Figure S2008101344006D00151
OS计算机上呈现的“添加或删除程序”控制界面中针对应用执行环境而呈现的管理/改变选项,或者例如通过MAC
Figure S2008101344006D00152
OS计算机上的应用执行环境所提供的(并且位于MAC
Figure S2008101344006D00153
OS Finder找到管理程序的目录的)管理程序。此外,可以针对AEE整体提供卸载工具,使得用户可以快速卸载AEE的所有已安装版本,这例如是通过选择WindowsOS计算机上呈现的“添加或删除程序”控制界面中针对应用执行环境呈现的卸载选项。
当版本管理程序被触发时,可以例如如上所述的标识305安装在计算机上的应用执行环境的不同版本。注意,不同的AEE版本可以以任意顺序单独、独立地安装、更新和卸载。每个AEE版本可以清晰地区别于其他版本,如上文结合图2C讨论的,这可以包括在版本特定的目录中存储特定于每个版本的代码。此外,如上所述,可以将每个应用绑定至AEE的一个版本,使得该应用的运行需要特定的AEE版本;每个应用可以准确地声明该应用需要AEE的哪个版本。
可以呈现310用户界面,以允许用户对应用执行环境的不同版本进行管理。用户界面可以包括多个不同的界面面板,这些界面面板包括至少一个显示目前安装在计算机上的AEE所有版本的面板,并且包括可选择地卸载AEE不同版本中的一个或多个版本的选项。
可以基于经由用户接口接收的输入,在计算机上将AEE的不同版本作为其内绑定有不同版本的单个运行时环境程序进行管理315。这里应当注意,现在所使用的术语“版本”不同于传统的使用,因为捆绑在AEE中的AEE的不同版本无需是一个真实的AEE软件。当被捆绑到单个运行时环境程序中时,AEE的每个不同版本可以是跨平台API的不同版本,并且每个应用可以绑定至该单个运行时环境程序中所包括的不同跨平台API的特定版本。此外,AEE版本的管理可以包括卸载AEE的一个或多个版本(例如,AEE API的一个或多个版本)、对AEE的一个或多个版本(例如,AEE API的一个或多个版本)应用更新、以及安装AEE的一个或多个版本(例如,AEE API的一个或多个版本)。
图3B示出了可以用来卸载应用执行环境的一个或多个版本的示例用户界面面板320。用户界面(UI)面板320包括关于通过接口可用的功能的信息:“应用执行环境设置:管理应用执行环境(AEE);您可以卸载对特定AEE运行时版本的支持,或者检查可用于特定版本的任何更新”。UI面板320还可以包括目前安装在计算机上的AEE的所有不同版本(例如,版本1.0、1.5和2.0)的列表322,以及在卸载所选的AEE版本中使用的选择控件324(例如,用于每个已安装版本的超链接式控件,标示为“卸载”)。可以意识到,可以使用多种其他界面控件来提供卸载AEE不同版本中一个或多个版本的选项。例如,可以针对每个AEE版本提供复选框控件,并一起提供卸载按钮控件,使得用户可以选中要卸载的版本,并通过选择卸载按钮来启动卸载。
UI面板320还包括“检查更新”按钮控件326和“关闭”按钮控件328。当用户选择“关闭”按钮控件328时,管理UI关闭。当用户选择“检查更新”按钮控件326时,可以开始针对AEE已安装版本的任何补丁以及针对AEE新版本的检查。这可以包括通过网络(例如,互联网)与服务器通信,以发现对AEE的任何可用更新。
图3C示出了更新应用执行环境的版本的示例过程。可以发现355用于AEE的任何可用更新,而不考虑版本。由此,可以找到这样的更新,该更新可应用于AEE不同版本中一个较早的版本,但是无法应用于AEE不同版本中靠后的版本。例如,可能针对AEE的较旧版本发现了安全性问题,其中,相同的问题在AEE的较新版本中并不存在。在这种情况下,可以使安全补丁可通过网络(例如,互联网)下载,并应用于具有该安全性问题的较旧版本的任何已安装副本。
此外,还可以发现340AEE的任何新版本,这例如是通过使用通过网络的与服务器的相同通信。继而,基于用户输入,可以应用345任何可用的更新,和/或可以安装345所发现的任何新版本。注意,任何可用更新的发现和应用每个都可以自动完成,或者响应于用户输入而完成。例如,当用户选择图3B中所示的UI面板320中的“检查更新”按钮控件326时,这会导致AEE管理程序去发现任何可用的更新,该更新包括对AEE的现有已安装版本的更新和AEE的新版本二者。UI面板320继而可以如图3D所示进行更新。
现在UI面板320中包括可用更新330(包括对已安装版本1.0和1.5的补丁以及新版本3.0)的列表。此外,UI面板320中已经包括了“应用更新”按钮控件332。在此示例中,用户可以通过对“应用更新”按钮控件332的单选来启动补丁的应用和新版本的安装。由此,可以将用来获取对AEE不同版本的更新(例如,应用安全性补丁和添加新的组件或特征)和AEE新版本的安装进行授权的输入的机制集成在一起。通过单次点击,用户可以启动对AEE的所有可用更新。与前面一样,可以提供复选框控件,以允许用户取消对在选择“应用更新”按钮控件332时不想应用的更新的选择。还可以获取并通过用户界面呈现关于任何最终用户许可协议的通知(例如,针对将要安装的新版本)或者关于将要应用的更新(例如,针对安全性补丁的自述文档)的文档。
除了呈现被配置为管理AEE不同版本的安装、更新和卸载的用户界面之外,还可以在用户界面内分别显示多个AEE管理任务的进度。在图3E中,用户已经选择了“应用更新”按钮控件332,并且用户继而选择了针对AEE版本2.0的卸载选项。由此在更新的UI面板320中显示了进度信息340(“应用所选择的更新-状态:完成40%”以及进度条)以及相应的取消按钮控件342。此外,更新的UI面板320中还示出了进度信息350(“卸载版本2.0-状态:完成20%”和进度条)和相应的取消按钮控件352。由此,多个管理任务可以从AEE管理UI启动并且并行地处理,并且可以在UI中内联地显示这些管理任务的进度。
当管理任务包括对AEE的已安装版本应用更新时,可以首先进行检查,以查看是否存在依赖于将要更新的AEE版本的任何应用正在运行;如果是,可以将这一事实提示给用户,并且要求用户在开始更新之前关闭这些应用。这可以避免需要重启计算机。可以使用应用间通信(IAC)机制来检查正在运行的应用,其中IAC机制例如本地连接(其使用共享存储器段进行操作)或者其他IAC机制。此外,在卸载任何AEE版本之前,都可以针对依赖的正在运行的应用执行相同的检查。
对AEE版本的管理可以部分地基于计算机上安装的AEE版本和应用之间的依赖关系。图4A示出了在应用415和应用执行环境的不同版本405之间维护的关联410,以及基于该关联410对不同版本的管理400。关联410指明了应用415在应用执行环境的不同版本405中的哪些版本中运行。可以按照各种方式来创建和维护关联,包括通过不同的操作系统使用可替换的方法。例如,在MAC
Figure S2008101344006D00181
OS计算机上,可以使用文件扩展名注册来维护关联410,下文将结合图4B进行描述;而在Windows
Figure S2008101344006D00182
OS计算机上,可以使用通过Windows
Figure S2008101344006D00183
安装服务可用的已有组件参考计数工具来维护关联。而且,关联410可以是单向的(例如,从应用指向AEE版本)或双向的。
版本管理400在一个或多个管理任务期间考虑关联410。例如,在被选择卸载的AEE版本具有仍然安装在计算机上的依赖应用时,对用户进行提示,在这种情况下,用户可能根本不希望卸载该版本。由此,如图4A所示,如果用户要选择针对AEE版本2.0的卸载,无需产生提示,因为目前安装的所有应用415都不依赖于AEE版本2.0。但是如果用户选择了针对AEE版本1.5的卸载,则可以产生提示,以便让用户了解APP 4仍然依赖于AEE版本1.5。提示可以枚举依赖于AEE版本的应用,或者简单地告知存在至少一个依赖应用。提示可以包括用户界面控件,其允许用户确认或取消卸载,并确定是否在AEE版本1.5被卸载的同时卸载APP 4。其他管理任务也可以使用关联410。
图4B示出了维护关联以及基于这些关联来管理应用执行环境的不同版本的示例过程。总体上,只要AEE管理程序被启动,便进入维护和管理状态450,这可以在AEE的不同版本之一被调用时(例如,当用户启动应用之一时)自动地发生,或者在用户打开管理控制台时发生。不同的管理任务继而可以导致维护和管理状态450中不同的操作,其中,这些操作可以包括一个或多个维护操作、管理操作或者二者。
当要安装新应用时,可以为该应用在计算机上注册文件扩展名,该文件扩展名特定于应用执行环境的不同版本之一,以此来维护关联。该文件扩展名可以是假文件扩展名(例如“.AEE-1-5”),其目的仅仅是支持应用跟踪(并且将不会干扰其他应用)。例如,在MAC
Figure S2008101344006D00191
OS计算机上,应用可以声明支持这种假文件扩展名。由此,当MAC
Figure S2008101344006D00192
OS检查应用时,其将对所支持的假文件名进行标识,并将该信息记录在其装载服务数据库中。继而可以使用该文件扩展名注册来标识依赖于应用执行环境的给定版本的应用(例如,依赖于AEE版本1.5的应用)是否安装在了具有这样的操作系统的计算机上,该操作系统不包括用于组件参考计数的内置工具,例如MAC
Figure S2008101344006D00193
OS计算机。
基于应用是针对每个机器还是针对每个用户安装的,用于应用跟踪的文件扩展名可以是针对每个机器或针对每个用户的。而且,在查询文件扩展名以找到依赖的应用时,可以搜索计算机中的所有可见位置,这些位置包括对于在运行查询时登陆的用户可见的针对每个机器和针对每个用户的可见位置的组合。注意,这并不一定在每种情况下都能找到所有的已安装应用,但是该技术在很多情况下可以找到多数(如果不是全部的话)已安装应用。
在将要执行管理任务时(例如,AEE卸载或者AEE更新时),AEE版本管理可以包括在执行管理任务之前检查460特定于给定AEE版本的文件扩展名注册。例如,如果用户选择卸载AEE的版本2.0,可以进行检查来查看是否有任何应用注册了文件扩展名“.AEE-2-0”,并且该检查的结果可以影响如何执行所请求的管理任务。
此外,在选择任何特定的管理任务之前,可以针对目前安装的所有AEE版本来执行该检查。例如,当用户打开AEE管理用户界面时,AEE管理程序可以确定470哪些AEE版本具有已安装的依赖应用,其中每个应用的运行需要AEE的特定版本。这可以包括检查特定于每个已安装AEE版本的文件扩展名。
继而可以为用户提供475选项,以便在一个或多个应用使用一个或多个AEE版本时,将任何可用更新应用于该一个或多个AEE版本。由此,无需对没有依赖应用的AEE版本进行更新;尽管在实践中,当网络访问不受限制时,可以更新所有已安装AEE版本作为默认动作,或者更新的顺序可以基于应用依赖关系(例如,使用最多的AEE版本可以首先更新)。此外,可以在从计算机上卸载不同AEE版本的一个或多个版本之前,将应用和不同AEE版本之间的依赖关系通知480用户。这可以包括在做出了卸载选择之后如上所述地提示用户,或者这可以包括在UI面板(例如,UI面板320)中标识哪些AEE版本具有目前安装在计算机上的依赖应用。注意,提供475更新选项和通知480用户二者可以在一个UI面板中一起完成,或者这些操作可以分别完成。
此外,当从所选的管理任务得到AEE新的最新版本时,可以将AEE的最新版本向操作系统注册为AEE,由此保持从操作系统的角度看来,AEE的最新版本是单个运行时环境程序(具有捆绑于其中的不同版本)。例如,如果在计算机上安装AEE的版本3.5,其中版本3.0是先前安装的AEE的最新版本,则可以将AEE的版本3.5(替代版本3.0)注册为AEE的所有不同版本通用的文件扩展名。由此,不论何时要打开具有该通用文件扩展名的AEE文件,将由操作系统来调用AEE的最新版本(在此示例中是版本3.5)。如果证明仍然需要较早的版本(例如,为了完成依赖于较早版本运行的应用的安装),则AEE的较新版本可以调用AEE的较早版本来完成处理。
应当注意,除了安装新AEE版本之外的其他任务也可能导致最新版本。例如,如果计算机目前具有已安装的版本1.0、1.5、2.0和3.0,则卸载版本3.0可以导致版本2.0变成最新版本。由此,在这种情况下,将向操作系统注册AEE的版本2.0。还要注意,最新AEE版本对操作系统的注册可以包括除了注册通用文件扩展名之外的多个操作。例如,AEE的最新版本可以注册其管理控制台程序,该程序将是在用户打开管理用户界面时被调用的程序。
本说明书中描述的主题和功能性操作的实施方式可以在数字电子电路中实现,或者在计算机软件、固件或硬件中实现,该计算机软件、固件或硬件包括本说明书中公开的结构及其等同结构、或是它们的一个或多个的组合。本说明书中描述的主题的实施方式可以实现为一个或多个计算机程序产品,也即,在计算机可读介质上编码的、以便由数据处理装置执行或控制数据处理装置操作的一个或多个计算机程序指令模块。有形程序载体可以是传播的信号或者计算机可读介质。传播信号是人工产生的信号,例如,机器产生的电信号、光信号或者电磁信号,生成该信号以对信息进行编码,以便传输到适当的接收器装置。计算机可读介质可以是机器可读的存储设备、机器可读的存储衬底、存储设备、实现计算机可读的传播信号的组合、或者它们中的一个或多个的结合。
术语“数据处理装置”包括用于处理数据的所有装置、设备和机器,例如包括可编程处理器、计算机,或者多个处理器或计算机。除了硬件之外,该装置可以包括为考虑中的计算机程序创建执行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统、跨平台运行时环境,或者它们中一个或多个的结合的代码。
计算机程序(也公知为程序、软件、软件应用、脚本或代码)可以由任意形式的编程语言编写,包括编译语言或解释语言,说明性语言或过程语言,并且该计算机程序可以任意形式部署,包括部署为单独的程序或模块、组件、子例程,或者适于在计算环境中使用的其他单元。计算机程序无需对应于文件系统中的文件。程序可以存储在保存其他程序或数据(例如,存储在标记语言文档中的一个或多个脚本)的文件的一部分中、可以存储在专门用于考虑中的程序的单个文件中,或者存储在多个协同文件中(例如,存储一个或多个模块、子程序,或代码部分的文件)。可以将计算机程序部署为在一个计算机上执行,或者将其部署为在位于一个地点的多个计算机上执行或跨过多个地点分布且通过通信网络互连的多个计算机上执行。
本说明书中描述的处理和逻辑流程可以由执行一个或多个计算机程序的一个或多个可编程处理器执行,用于通过对输入数据进行操作以及产生输出来执行功能。该处理和逻辑流程还可以由例如FPGA(现场可编程门阵列)或ASIC(专用集成电路)的专用逻辑电路执行,并且也可以将装置实现为所述专用逻辑电路。
适于计算机程序执行的处理器例如包括通用和专用处理器两者、以及任意类型的数字计算机的任意一个或多个处理器。通常,处理器将从只读存储器或随机访问存储器或两者处接收指令和数据。计算机的基本元件是用于执行指令的处理器以及用于存储指令和数据的一个或多个存储器设备。通常,计算机还将包括用于存储数据的一个或多个海量存储设备,或被操作性地耦合为从所述用于存储数据的一个或多个海量存储设备接收数据、向其传送数据、或者进行两者,该海量存储设备例如磁盘、磁光盘、或光盘。然而,计算机不必一定具有这样的设备。而且,计算机可以嵌入在其他设备中,例如移动电话、个人数字助理(PDA)、移动音频或视频播放器、全球定位系统(GPS)接收器、或者便携式存储设备(例如,通用串行总线(USB)闪存驱动),这仅是几例。适于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储设备,例如包括:半导体存储设备,如EPROM、EEPROM和闪存设备;磁盘,如内部硬盘或可移动硬盘;磁光盘;以及CD-ROM和DVD-ROM盘。处理器和存储器可以由专用逻辑电路补充或是包括在专用逻辑电路中。
为了提供与用户的交互,本说明书中描述的主题的实施方式可以在具有用于向用户显示信息的显示设备以及用户可以通过其向计算机提供输入的键盘和指点设备的计算机上实现,其中显示设备例如CRT(阴极射线管)或者LCD(液晶显示器)监视器,指点设备例如鼠标或者轨迹球。也可以使用其他类型的设备来提供与用户的交互;例如,提供给用户的反馈可以是任何形式的感观反馈,例如视觉反馈、声觉反馈、或者触觉反馈;并且可以接收来自用户的任意形式的输入,包括声音、语音或触觉输入。
本说明书中描述的主题的实施方式可以实现在包括后端组件的计算系统中,例如数据服务器;或实现在包括中间件组件的计算系统中,例如应用服务器;或实现在包括前端组件的计算系统中,例如具有图形用户界面或者Web浏览器的客户端计算机,用户通过该图形用户界面或Web浏览器可以与本说明书中描述的主题的实现进行交互;或实现在一个或多个这样的后端、中间件、或前端组件的任意结合中。系统组件可以与任意形式或介质的数字数据通信(例如,通信网络)互连。通信网络的示例包括局域网(“LAN”),广域网(“WAN”),网际网(例如,互联网)以及端对端网络(例如,ad hoc端对端网络)。
计算系统可以包括客户端和服务器。客户端和服务器一般相互远离,并且通常通过通信网络进行交互。客户端和服务器的关系是借助于在各自计算机上运行的、彼此具有客户端-服务器关系的计算机程序得到的。
尽管本说明书包含多种特定细节,但是不应将其理解为是对本发明的范围或者所要求保护内容的限制,而应当理解为是本发明具体实施方式的特定特征的描述。本说明书中描述的在各个实施方式的上下文中的某些特征也可以在单个实施方式中结合实现。相反,在单个实施方式上下文中描述的各种特征也可以分别实现在多个实施方式中或者任意适当的子组合中。而且,尽管上文可能将特征描述为在特定的组合中操作,甚至初始也是这样要求保护的,但是来自所要求保护的组合的一个或多个特征在一些情况下可以从该组合中去除,并且所要求保护的组合可以针对子组合或组合的变形。
类似地,尽管在附图中以特定的顺序描述操作,但是不应将其理解为要求按照所示的特定顺序或是串行顺序来执行这些操作,或是要求执行全部所示的操作以得到期望的结果。在特定环境中,多任务和并行处理可能是有利的。而且,在上述实施方式中多个系统组件的分离不应被理解为在所有实施方式中需要这些操作,应当将其理解为所描述的程序组件和系统通常可以在单个软件产品中集成在一起,或是被打包到多个软件产品中。
由此,已经描述了本发明的具体实施方式。其他实施方式处于所附权利要求的范围之内。例如,权利要求中陈述的动作可以按照不同的顺序来执行并且仍然达到预期的结果。针对已安装AEE版本的更新的检查以及针对新AEE版本的检查可以在没有用户输入的情况下自动完成(例如,在装载应用并由此调用AEE时),还可以在新版本或更新可用时呈现通知UI。每个应用可以绑定至应用执行环境的多个版本,提供应用使用AEE版本的灵活性。应用跟踪无需是AEE版本特定的。还支持各种移动和其他设备(例如,具有嵌入式操作系统的设备)。

Claims (12)

1.一种用于管理应用执行环境的方法,所述应用执行环境包括为所述应用执行环境中运行的应用提供服务的跨平台应用程序接口,所述方法包括:
维护所述应用与安装在计算机上的所述应用执行环境的不同版本之间的关联,其中所述关联指示所述应用在所述应用执行环境的所述不同版本的哪个版本中运行;以及
基于由所述应用与所述应用在其中运行的所述应用执行环境的所述不同版本之间的所述关联所指示的所述应用执行环境的所述不同版本是否具有依赖应用,来管理所述计算机上的所述应用执行环境的所述不同版本。
2.根据权利要求1所述的方法,其中所述维护包括在所述计算机上注册特定于所述应用执行环境的所述不同版本之一的文件扩展名,并且所述管理包括在针对所述应用执行环境的所述不同版本之一来执行管理任务之前,检查针对所述文件扩展名的注册。
3.根据权利要求2所述的方法,其中所述管理包括:根据所述管理任务,注册所述应用执行环境的全部所述不同版本通用的文件扩展名。
4.根据权利要求1所述的方法,其中所述管理包括根据安装在所述计算机上的所述应用执行环境的所述不同版本的至少一个版本向所述计算机的操作系统进行注册。
5.根据权利要求1所述的方法,其中所述管理包括:
确定所述应用执行环境的所述多个版本中的哪些版本具有所述应用中的依赖应用;以及
基于所述确定,在从所述计算机上卸载所述应用执行环境的所述不同版本中的一个或多个版本之前,将所述应用和所述不同版本之间的依赖关系通知用户。
6.根据权利要求1所述的方法,其中所述管理包括:
确定所述应用执行环境的所述不同版本中的哪些版本具有所述应用中的依赖应用;以及
为用户提供选项,以便在至少一个所述应用使用所述计算机上的所述应用执行环境的所述不同版本中的一个版本时,将可用的更新应用于所述应用执行环境的所述不同版本中的所述一个版本。
7.一种用于管理应用执行环境的设备,所述应用执行环境包括为所述应用执行环境中运行的应用提供服务的跨平台应用程序接口,所述设备包括:
维护装置,用于维护所述应用与安装在计算机上的所述应用执行环境的不同版本之间的关联,其中所述关联指示所述应用在所述应用执行环境的所述不同版本的哪个版本中运行;以及
管理装置,用于基于由所述应用与所述应用在其中运行的所述应用执行环境的所述不同版本之间的所述关联所指示的所述应用执行环境的所述不同版本是否具有依赖应用来管理所述计算机上的所述应用执行环境的所述不同版本。
8.根据权利要求7所述的设备,其中所述维护装置包括用于在所述计算机上注册特定于所述应用执行环境的所述不同版本之一的文件扩展名的装置,并且所述管理装置包括用于在针对所述应用执行环境的所述不同版本之一来执行管理任务之前检查针对所述文件扩展名的注册的装置。
9.根据权利要求8所述的设备,其中所述管理装置包括用于根据所述管理任务来注册所述应用执行环境的全部所述不同版本通用的文件扩展名的装置。
10.根据权利要求7所述的设备,其中所述管理装置包括用于根据安装在所述计算机上的所述应用执行环境的所述不同版本的至少一个版本向所述计算机的操作系统进行注册的装置。
11.根据权利要求7所述的设备,其中所述管理装置包括:
用于确定所述应用执行环境的所述多个版本中的哪些版本具有所述应用中的依赖应用的装置;以及
用于基于所述确定在从所述计算机上卸载所述应用执行环境的所述不同版本中的一个或多个版本之前将所述应用和所述不同版本之间的依赖关系通知用户的装置。
12.根据权利要求7所述的设备,其中所述管理装置包括:
用于确定所述应用执行环境的所述不同版本中的哪些版本具有所述应用中的依赖应用的装置;以及
用于为用户提供选项以便在至少一个所述应用使用所述计算机上的所述应用执行环境的所述不同版本中的一个版本时将可用的更新应用于所述应用执行环境的所述不同版本中的所述一个版本的装置。
CN200810134400.6A 2007-07-30 2008-07-30 针对应用执行环境的应用跟踪 Active CN101382886B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US95279907P 2007-07-30 2007-07-30
US60/952,799 2007-07-30
US11/875,769 US8448161B2 (en) 2007-07-30 2007-10-19 Application tracking for application execution environment
US11/875,769 2007-10-19

Publications (2)

Publication Number Publication Date
CN101382886A CN101382886A (zh) 2009-03-11
CN101382886B true CN101382886B (zh) 2013-04-24

Family

ID=40339309

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200810134400.6A Active CN101382886B (zh) 2007-07-30 2008-07-30 针对应用执行环境的应用跟踪

Country Status (2)

Country Link
US (1) US8448161B2 (zh)
CN (1) CN101382886B (zh)

Families Citing this family (188)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8584239B2 (en) 2004-04-01 2013-11-12 Fireeye, Inc. Virtual machine with dynamic data flow analysis
US7587537B1 (en) 2007-11-30 2009-09-08 Altera Corporation Serializer-deserializer circuits formed from input-output circuit registers
US8898788B1 (en) 2004-04-01 2014-11-25 Fireeye, Inc. Systems and methods for malware attack prevention
US9106694B2 (en) 2004-04-01 2015-08-11 Fireeye, Inc. Electronic message analysis for malware detection
US8566946B1 (en) 2006-04-20 2013-10-22 Fireeye, Inc. Malware containment on connection
US8881282B1 (en) 2004-04-01 2014-11-04 Fireeye, Inc. Systems and methods for malware attack detection and identification
US8171553B2 (en) 2004-04-01 2012-05-01 Fireeye, Inc. Heuristic based capture with replay to virtual machine
US8549638B2 (en) 2004-06-14 2013-10-01 Fireeye, Inc. System and method of containing computer worms
US8793787B2 (en) 2004-04-01 2014-07-29 Fireeye, Inc. Detecting malicious network content using virtual environment components
US8528086B1 (en) 2004-04-01 2013-09-03 Fireeye, Inc. System and method of detecting computer worms
US8620817B2 (en) * 2006-09-14 2013-12-31 Flexera Software, Inc. Method and system for creating license management in software applications
EP2130164A1 (en) * 2007-04-03 2009-12-09 International Business Machines Corporation A method and system for populating a software catalogue with related product information
US8230417B1 (en) * 2007-06-08 2012-07-24 Adobe Systems Incorporated Combined application and execution environment install
US8448161B2 (en) 2007-07-30 2013-05-21 Adobe Systems Incorporated Application tracking for application execution environment
US7930273B1 (en) 2007-07-30 2011-04-19 Adobe Systems Incorporated Version management for application execution environment
US8375381B1 (en) * 2007-07-30 2013-02-12 Adobe Systems Incorporated Management user interface for application execution environment
US9454411B2 (en) * 2007-08-30 2016-09-27 International Business Machines Corporation User-selectable progress bar threshold triggers and notification by detecting color change
US20090063978A1 (en) * 2007-09-05 2009-03-05 Sony Corporation Network status icon in navigable toolbar
US8161479B2 (en) * 2008-06-13 2012-04-17 Microsoft Corporation Synchronizing virtual machine and application life cycles
US20090328234A1 (en) * 2008-06-26 2009-12-31 Condel International Technologies Inc. Method and system for performing interoperable digital rights management among different operating system platforms
US8997219B2 (en) 2008-11-03 2015-03-31 Fireeye, Inc. Systems and methods for detecting malicious PDF network content
US8850571B2 (en) 2008-11-03 2014-09-30 Fireeye, Inc. Systems and methods for detecting malicious network content
US8219652B2 (en) * 2009-02-11 2012-07-10 Cbeyond Communcations, LLC Client application installer
US20100295376A1 (en) * 2009-05-22 2010-11-25 True Sol Innovations, Inc. Systems and methods for dynamic power allocation
JP5471883B2 (ja) * 2009-07-17 2014-04-16 株式会社リコー 情報処理装置、情報処理方法、情報処理プログラム
JP5526668B2 (ja) * 2009-09-09 2014-06-18 株式会社リコー パッケージのインストール対象装置、インストール方法、プログラム
US8464249B1 (en) * 2009-09-17 2013-06-11 Adobe Systems Incorporated Software installation package with digital signatures
WO2011041175A1 (en) * 2009-09-30 2011-04-07 Zynga Game Network Inc. Apparatuses, methods and systems for an api call abstractor
US8645936B2 (en) * 2009-09-30 2014-02-04 Zynga Inc. Apparatuses, methods and systems for an a API call abstractor
US8832829B2 (en) 2009-09-30 2014-09-09 Fireeye, Inc. Network-based binary file extraction and analysis for malware detection
US8739298B2 (en) * 2009-11-19 2014-05-27 Adobe Systems Incorporated Method and system for enforcing a license dependency rule for a software application
US20150205489A1 (en) * 2010-05-18 2015-07-23 Google Inc. Browser interface for installed applications
US8739150B2 (en) * 2010-05-28 2014-05-27 Smartshift Gmbh Systems and methods for dynamically replacing code objects via conditional pattern templates
JP5641843B2 (ja) * 2010-09-24 2014-12-17 シスメックス株式会社 検体分析システム、検体分析装置および検体分析装置の制御方法
US8683462B2 (en) 2010-10-22 2014-03-25 Adobe Systems Incorporated Handling calls to native code in a managed code environment
US8694988B2 (en) * 2010-10-22 2014-04-08 Adobe Systems Incorporated Runtime extensions
KR101383691B1 (ko) * 2010-10-25 2014-04-09 한국전자통신연구원 무선 메쉬 네트워크에서의 협력적 무선 펌웨어 업데이트 장치 및 방법
US9959103B2 (en) * 2010-11-19 2018-05-01 Microsoft Technology Licensing, Llc Code deployment assistance
US9128803B2 (en) 2010-12-15 2015-09-08 Microsoft Technology Licensing, Llc Application model for implementing composite applications
US8914784B2 (en) 2011-06-10 2014-12-16 International Business Machines Corporation Method and system for checking the consistency of application jar files
US8782630B2 (en) * 2011-06-30 2014-07-15 International Business Machines Corporation Smart rebinding for live product install
US20130045803A1 (en) * 2011-08-21 2013-02-21 Digital Harmony Games, Inc. Cross-platform gaming between multiple devices of multiple types
US9430206B2 (en) * 2011-12-16 2016-08-30 Hsiu-Ping Lin Systems for downloading location-based application and methods using the same
CN102684913B (zh) * 2012-04-23 2016-03-02 华为技术有限公司 业务处理方法和相关装置及相关系统
US8806434B2 (en) 2012-06-28 2014-08-12 International Business Machines Corporation Dynamically configuring an integrated development environment
US10572665B2 (en) 2012-12-28 2020-02-25 Fireeye, Inc. System and method to create a number of breakpoints in a virtual machine via virtual machine trapping events
US9367681B1 (en) 2013-02-23 2016-06-14 Fireeye, Inc. Framework for efficient security coverage of mobile software applications using symbolic execution to reach regions of interest within an application
US9176843B1 (en) 2013-02-23 2015-11-03 Fireeye, Inc. Framework for efficient security coverage of mobile software applications
US9009823B1 (en) 2013-02-23 2015-04-14 Fireeye, Inc. Framework for efficient security coverage of mobile software applications installed on mobile devices
US8990944B1 (en) 2013-02-23 2015-03-24 Fireeye, Inc. Systems and methods for automatically detecting backdoors
US9195829B1 (en) 2013-02-23 2015-11-24 Fireeye, Inc. User interface with real-time visual playback along with synchronous textual analysis log display and event/time index for anomalous behavior detection in applications
US9626509B1 (en) 2013-03-13 2017-04-18 Fireeye, Inc. Malicious content analysis with multi-version application support within single operating environment
US9491222B2 (en) * 2013-03-13 2016-11-08 Nice-Systems Ltd. System and method for interoperability between flex applications and .NET applications
US9355247B1 (en) 2013-03-13 2016-05-31 Fireeye, Inc. File extraction from memory dump for malicious content analysis
US9104867B1 (en) 2013-03-13 2015-08-11 Fireeye, Inc. Malicious content analysis using simulated user interaction without user involvement
US9311479B1 (en) 2013-03-14 2016-04-12 Fireeye, Inc. Correlation and consolidation of analytic data for holistic view of a malware attack
US9430646B1 (en) 2013-03-14 2016-08-30 Fireeye, Inc. Distributed systems and methods for automatically detecting unknown bots and botnets
WO2014145805A1 (en) 2013-03-15 2014-09-18 Mandiant, Llc System and method employing structured intelligence to verify and contain threats at endpoints
US10713358B2 (en) 2013-03-15 2020-07-14 Fireeye, Inc. System and method to extract and utilize disassembly features to classify software intent
US9495180B2 (en) 2013-05-10 2016-11-15 Fireeye, Inc. Optimized resource allocation for virtual machines within a malware content detection system
US9635039B1 (en) 2013-05-13 2017-04-25 Fireeye, Inc. Classifying sets of malicious indicators for detecting command and control communications associated with malware
US10133863B2 (en) 2013-06-24 2018-11-20 Fireeye, Inc. Zero-day discovery system
US9300686B2 (en) 2013-06-28 2016-03-29 Fireeye, Inc. System and method for detecting malicious links in electronic messages
CN103412797B (zh) * 2013-08-27 2016-05-18 国家电网公司 一种电力运营监控中心大屏展示用控制系统
US10515214B1 (en) 2013-09-30 2019-12-24 Fireeye, Inc. System and method for classifying malware within content created during analysis of a specimen
US9690936B1 (en) 2013-09-30 2017-06-27 Fireeye, Inc. Multistage system and method for analyzing obfuscated content for malware
US9171160B2 (en) 2013-09-30 2015-10-27 Fireeye, Inc. Dynamically adaptive framework and method for classifying malware using intelligent static, emulation, and dynamic analyses
US9294501B2 (en) 2013-09-30 2016-03-22 Fireeye, Inc. Fuzzy hash of behavioral results
US9736179B2 (en) 2013-09-30 2017-08-15 Fireeye, Inc. System, apparatus and method for using malware analysis results to drive adaptive instrumentation of virtual machines to improve exploit detection
US9628507B2 (en) 2013-09-30 2017-04-18 Fireeye, Inc. Advanced persistent threat (APT) detection center
US9921978B1 (en) 2013-11-08 2018-03-20 Fireeye, Inc. System and method for enhanced security of storage devices
JP2015114865A (ja) * 2013-12-12 2015-06-22 ソニー株式会社 情報処理装置、中継コンピュータ、情報処理システム、および情報処理プログラム
US9747446B1 (en) 2013-12-26 2017-08-29 Fireeye, Inc. System and method for run-time object classification
US9756074B2 (en) 2013-12-26 2017-09-05 Fireeye, Inc. System and method for IPS and VM-based detection of suspicious objects
US9292686B2 (en) 2014-01-16 2016-03-22 Fireeye, Inc. Micro-virtualization architecture for threat-aware microvisor deployment in a node of a network environment
US9262635B2 (en) 2014-02-05 2016-02-16 Fireeye, Inc. Detection efficacy of virtual machine-based analysis with application specific events
US9241010B1 (en) 2014-03-20 2016-01-19 Fireeye, Inc. System and method for network behavior detection
US10242185B1 (en) 2014-03-21 2019-03-26 Fireeye, Inc. Dynamic guest image creation and rollback
US9591015B1 (en) 2014-03-28 2017-03-07 Fireeye, Inc. System and method for offloading packet processing and static analysis operations
US9432389B1 (en) 2014-03-31 2016-08-30 Fireeye, Inc. System, apparatus and method for detecting a malicious attack based on static analysis of a multi-flow object
US9223972B1 (en) 2014-03-31 2015-12-29 Fireeye, Inc. Dynamically remote tuning of a malware content detection system
US9973531B1 (en) 2014-06-06 2018-05-15 Fireeye, Inc. Shellcode detection
US9594912B1 (en) 2014-06-06 2017-03-14 Fireeye, Inc. Return-oriented programming detection
US9438623B1 (en) 2014-06-06 2016-09-06 Fireeye, Inc. Computer exploit detection using heap spray pattern matching
US10084813B2 (en) 2014-06-24 2018-09-25 Fireeye, Inc. Intrusion prevention and remedy system
US10805340B1 (en) 2014-06-26 2020-10-13 Fireeye, Inc. Infection vector and malware tracking with an interactive user display
US9398028B1 (en) 2014-06-26 2016-07-19 Fireeye, Inc. System, device and method for detecting a malicious attack based on communcations between remotely hosted virtual machines and malicious web servers
US10002252B2 (en) 2014-07-01 2018-06-19 Fireeye, Inc. Verification of trusted threat-aware microvisor
US9363280B1 (en) 2014-08-22 2016-06-07 Fireeye, Inc. System and method of detecting delivery of malware using cross-customer data
US9400663B2 (en) 2014-09-03 2016-07-26 International Business Machines Corporation Managing middleware using an application manager
US10671726B1 (en) 2014-09-22 2020-06-02 Fireeye Inc. System and method for malware analysis using thread-level event monitoring
US10027689B1 (en) 2014-09-29 2018-07-17 Fireeye, Inc. Interactive infection visualization for improved exploit detection and signature generation for malware and malware families
US9773112B1 (en) 2014-09-29 2017-09-26 Fireeye, Inc. Exploit detection of malware and malware families
US9363311B1 (en) 2014-12-05 2016-06-07 Tealium Inc. Delivery of instructions in host applications
US9942351B2 (en) 2014-12-16 2018-04-10 International Business Machines Corporation Enabling and disabling execution environments
US9690933B1 (en) 2014-12-22 2017-06-27 Fireeye, Inc. Framework for classifying an object as malicious with machine learning for deploying updated predictive models
US10075455B2 (en) 2014-12-26 2018-09-11 Fireeye, Inc. Zero-day rotating guest image profile
US9934376B1 (en) 2014-12-29 2018-04-03 Fireeye, Inc. Malware detection appliance architecture
US9838417B1 (en) 2014-12-30 2017-12-05 Fireeye, Inc. Intelligent context aware user interaction for malware detection
US9870260B2 (en) * 2015-03-20 2018-01-16 International Business Machines Corporation Managing a set of assets for a user in a shared pool of configurable computing resources
US9690606B1 (en) 2015-03-25 2017-06-27 Fireeye, Inc. Selective system call monitoring
US10148693B2 (en) 2015-03-25 2018-12-04 Fireeye, Inc. Exploit detection system
US9438613B1 (en) 2015-03-30 2016-09-06 Fireeye, Inc. Dynamic content activation for automated analysis of embedded objects
US10474813B1 (en) 2015-03-31 2019-11-12 Fireeye, Inc. Code injection technique for remediation at an endpoint of a network
US10417031B2 (en) 2015-03-31 2019-09-17 Fireeye, Inc. Selective virtualization for security threat detection
US9483644B1 (en) 2015-03-31 2016-11-01 Fireeye, Inc. Methods for detecting file altering malware in VM based analysis
US9654485B1 (en) 2015-04-13 2017-05-16 Fireeye, Inc. Analytics-based security monitoring system and method
US9594904B1 (en) 2015-04-23 2017-03-14 Fireeye, Inc. Detecting malware based on reflection
US10642753B1 (en) 2015-06-30 2020-05-05 Fireeye, Inc. System and method for protecting a software component running in virtual machine using a virtualization layer
US10454950B1 (en) 2015-06-30 2019-10-22 Fireeye, Inc. Centralized aggregation technique for detecting lateral movement of stealthy cyber-attacks
US11113086B1 (en) 2015-06-30 2021-09-07 Fireeye, Inc. Virtual system and method for securing external network connectivity
US10726127B1 (en) 2015-06-30 2020-07-28 Fireeye, Inc. System and method for protecting a software component running in a virtual machine through virtual interrupts by the virtualization layer
US10715542B1 (en) 2015-08-14 2020-07-14 Fireeye, Inc. Mobile application risk analysis
US10176321B2 (en) 2015-09-22 2019-01-08 Fireeye, Inc. Leveraging behavior-based rules for malware family classification
US10033747B1 (en) 2015-09-29 2018-07-24 Fireeye, Inc. System and method for detecting interpreter-based exploit attacks
US10210329B1 (en) 2015-09-30 2019-02-19 Fireeye, Inc. Method to detect application execution hijacking using memory protection
US10817606B1 (en) 2015-09-30 2020-10-27 Fireeye, Inc. Detecting delayed activation malware using a run-time monitoring agent and time-dilation logic
US9825976B1 (en) 2015-09-30 2017-11-21 Fireeye, Inc. Detection and classification of exploit kits
US10601865B1 (en) 2015-09-30 2020-03-24 Fireeye, Inc. Detection of credential spearphishing attacks using email analysis
US10706149B1 (en) 2015-09-30 2020-07-07 Fireeye, Inc. Detecting delayed activation malware using a primary controller and plural time controllers
US9825989B1 (en) 2015-09-30 2017-11-21 Fireeye, Inc. Cyber attack early warning system
US10284575B2 (en) 2015-11-10 2019-05-07 Fireeye, Inc. Launcher for setting analysis environment variations for malware detection
US10846117B1 (en) 2015-12-10 2020-11-24 Fireeye, Inc. Technique for establishing secure communication between host and guest processes of a virtualization architecture
US10447728B1 (en) 2015-12-10 2019-10-15 Fireeye, Inc. Technique for protecting guest processes using a layered virtualization architecture
US10108446B1 (en) 2015-12-11 2018-10-23 Fireeye, Inc. Late load technique for deploying a virtualization layer underneath a running operating system
US10565378B1 (en) 2015-12-30 2020-02-18 Fireeye, Inc. Exploit of privilege detection framework
US10133866B1 (en) 2015-12-30 2018-11-20 Fireeye, Inc. System and method for triggering analysis of an object for malware in response to modification of that object
US10050998B1 (en) 2015-12-30 2018-08-14 Fireeye, Inc. Malicious message analysis system
US10621338B1 (en) 2015-12-30 2020-04-14 Fireeye, Inc. Method to detect forgery and exploits using last branch recording registers
US11552986B1 (en) 2015-12-31 2023-01-10 Fireeye Security Holdings Us Llc Cyber-security framework for application of virtual features
US9824216B1 (en) 2015-12-31 2017-11-21 Fireeye, Inc. Susceptible environment detection system
US10581874B1 (en) 2015-12-31 2020-03-03 Fireeye, Inc. Malware detection system with contextual analysis
US11593342B2 (en) 2016-02-01 2023-02-28 Smartshift Technologies, Inc. Systems and methods for database orientation transformation
US10476906B1 (en) 2016-03-25 2019-11-12 Fireeye, Inc. System and method for managing formation and modification of a cluster within a malware detection system
US10785255B1 (en) 2016-03-25 2020-09-22 Fireeye, Inc. Cluster configuration within a scalable malware detection system
US10601863B1 (en) 2016-03-25 2020-03-24 Fireeye, Inc. System and method for managing sensor enrollment
US10671721B1 (en) 2016-03-25 2020-06-02 Fireeye, Inc. Timeout management services
US10893059B1 (en) 2016-03-31 2021-01-12 Fireeye, Inc. Verification and enhancement using detection systems located at the network periphery and endpoint devices
US10826933B1 (en) 2016-03-31 2020-11-03 Fireeye, Inc. Technique for verifying exploit/malware at malware detection appliance through correlation with endpoints
US10585655B2 (en) 2016-05-25 2020-03-10 Smartshift Technologies, Inc. Systems and methods for automated retrofitting of customized code objects
US10169585B1 (en) 2016-06-22 2019-01-01 Fireeye, Inc. System and methods for advanced malware detection through placement of transition events
US10462173B1 (en) 2016-06-30 2019-10-29 Fireeye, Inc. Malware detection verification and enhancement by coordinating endpoint and malware detection systems
US10089103B2 (en) 2016-08-03 2018-10-02 Smartshift Technologies, Inc. Systems and methods for transformation of reporting schema
US10592678B1 (en) 2016-09-09 2020-03-17 Fireeye, Inc. Secure communications between peers using a verified virtual trusted platform module
US10491627B1 (en) 2016-09-29 2019-11-26 Fireeye, Inc. Advanced malware detection using similarity analysis
US10795991B1 (en) 2016-11-08 2020-10-06 Fireeye, Inc. Enterprise search
US10587647B1 (en) 2016-11-22 2020-03-10 Fireeye, Inc. Technique for malware detection capability comparison of network security devices
US10581879B1 (en) 2016-12-22 2020-03-03 Fireeye, Inc. Enhanced malware detection for generated objects
US10552610B1 (en) 2016-12-22 2020-02-04 Fireeye, Inc. Adaptive virtual machine snapshot update framework for malware behavioral analysis
US10523609B1 (en) 2016-12-27 2019-12-31 Fireeye, Inc. Multi-vector malware detection and analysis
US10904286B1 (en) 2017-03-24 2021-01-26 Fireeye, Inc. Detection of phishing attacks using similarity analysis
US10848397B1 (en) 2017-03-30 2020-11-24 Fireeye, Inc. System and method for enforcing compliance with subscription requirements for cyber-attack detection service
US10798112B2 (en) 2017-03-30 2020-10-06 Fireeye, Inc. Attribute-controlled malware detection
US10791138B1 (en) 2017-03-30 2020-09-29 Fireeye, Inc. Subscription-based malware detection
US10902119B1 (en) 2017-03-30 2021-01-26 Fireeye, Inc. Data extraction system for malware analysis
US10503904B1 (en) 2017-06-29 2019-12-10 Fireeye, Inc. Ransomware detection and mitigation
US10855700B1 (en) 2017-06-29 2020-12-01 Fireeye, Inc. Post-intrusion detection of cyber-attacks during lateral movement within networks
US10601848B1 (en) 2017-06-29 2020-03-24 Fireeye, Inc. Cyber-security system and method for weak indicator detection and correlation to generate strong indicators
US10893068B1 (en) 2017-06-30 2021-01-12 Fireeye, Inc. Ransomware file modification prevention technique
US10747872B1 (en) 2017-09-27 2020-08-18 Fireeye, Inc. System and method for preventing malware evasion
US10805346B2 (en) 2017-10-01 2020-10-13 Fireeye, Inc. Phishing attack detection
US10853753B1 (en) * 2017-10-11 2020-12-01 EMC IP Holding Company LLC Closed-loop information technology issue remediation
US11108809B2 (en) 2017-10-27 2021-08-31 Fireeye, Inc. System and method for analyzing binary code for malware classification using artificial neural network techniques
US11005860B1 (en) 2017-12-28 2021-05-11 Fireeye, Inc. Method and system for efficient cybersecurity analysis of endpoint events
US11240275B1 (en) 2017-12-28 2022-02-01 Fireeye Security Holdings Us Llc Platform and method for performing cybersecurity analyses employing an intelligence hub with a modular architecture
US11271955B2 (en) 2017-12-28 2022-03-08 Fireeye Security Holdings Us Llc Platform and method for retroactive reclassification employing a cybersecurity-based global data store
JP7010005B2 (ja) * 2018-01-11 2022-01-26 富士フイルムビジネスイノベーション株式会社 情報処理装置及びプログラム
US10740075B2 (en) 2018-02-06 2020-08-11 Smartshift Technologies, Inc. Systems and methods for code clustering analysis and transformation
US10528343B2 (en) 2018-02-06 2020-01-07 Smartshift Technologies, Inc. Systems and methods for code analysis heat map interfaces
US10698674B2 (en) 2018-02-06 2020-06-30 Smartshift Technologies, Inc. Systems and methods for entry point-based code analysis and transformation
US10826931B1 (en) 2018-03-29 2020-11-03 Fireeye, Inc. System and method for predicting and mitigating cybersecurity system misconfigurations
US10956477B1 (en) 2018-03-30 2021-03-23 Fireeye, Inc. System and method for detecting malicious scripts through natural language processing modeling
US11558401B1 (en) 2018-03-30 2023-01-17 Fireeye Security Holdings Us Llc Multi-vector malware detection data sharing system for improved detection
US11003773B1 (en) 2018-03-30 2021-05-11 Fireeye, Inc. System and method for automatically generating malware detection rule recommendations
US11314859B1 (en) 2018-06-27 2022-04-26 FireEye Security Holdings, Inc. Cyber-security system and method for detecting escalation of privileges within an access token
US11075930B1 (en) 2018-06-27 2021-07-27 Fireeye, Inc. System and method for detecting repetitive cybersecurity attacks constituting an email campaign
US11228491B1 (en) 2018-06-28 2022-01-18 Fireeye Security Holdings Us Llc System and method for distributed cluster configuration monitoring and management
US11316900B1 (en) 2018-06-29 2022-04-26 FireEye Security Holdings Inc. System and method for automatically prioritizing rules for cyber-threat detection and mitigation
US11182473B1 (en) 2018-09-13 2021-11-23 Fireeye Security Holdings Us Llc System and method for mitigating cyberattacks against processor operability by a guest process
US11763004B1 (en) 2018-09-27 2023-09-19 Fireeye Security Holdings Us Llc System and method for bootkit detection
US11368475B1 (en) 2018-12-21 2022-06-21 Fireeye Security Holdings Us Llc System and method for scanning remote services to locate stored objects with malware
US12074887B1 (en) 2018-12-21 2024-08-27 Musarubra Us Llc System and method for selectively processing content after identification and removal of malicious content
US11258806B1 (en) 2019-06-24 2022-02-22 Mandiant, Inc. System and method for automatically associating cybersecurity intelligence to cyberthreat actors
US11556640B1 (en) 2019-06-27 2023-01-17 Mandiant, Inc. Systems and methods for automated cybersecurity analysis of extracted binary string sets
US11392700B1 (en) 2019-06-28 2022-07-19 Fireeye Security Holdings Us Llc System and method for supporting cross-platform data verification
US11886585B1 (en) 2019-09-27 2024-01-30 Musarubra Us Llc System and method for identifying and mitigating cyberattacks through malicious position-independent code execution
US11637862B1 (en) 2019-09-30 2023-04-25 Mandiant, Inc. System and method for surfacing cyber-security threats with a self-learning recommendation engine
CN112328296B (zh) * 2020-11-30 2024-04-02 北京百度网讯科技有限公司 针对跨平台应用的软件更新方法、装置、设备和介质

Family Cites Families (156)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5157763A (en) 1987-10-15 1992-10-20 International Business Machines Corporation Visually assisted method for transfer of data within an application or from a source application to a receiving application
US4953080A (en) 1988-04-25 1990-08-28 Hewlett-Packard Company Object management facility for maintaining data in a computer system
US5301268A (en) 1990-10-10 1994-04-05 Fuji Xerox Co., Ltd. Apparatus for transferring information between different window systems
US5361358A (en) * 1992-08-07 1994-11-01 International Business Machines Corporation System and method for installing program code for operation from multiple bootable operating systems
EP0592079A2 (en) 1992-09-20 1994-04-13 Sun Microsystems, Inc. Automated software installation and operating environment configuration on a computer system
US6061058A (en) 1993-03-03 2000-05-09 Apple Computer, Inc. Method and apparatus for transferring data by type according to data types available
US5860012A (en) 1993-09-30 1999-01-12 Intel Corporation Installation of application software through a network from a source computer system on to a target computer system
US5694546A (en) 1994-05-31 1997-12-02 Reisman; Richard R. System for automatic unattended electronic information transport between a server and a client by a vendor provided transport software with a manifest list
US5694563A (en) 1994-12-13 1997-12-02 Microsoft Corporation Method and system for transferring data to common destinations using a common destination list
DE69531119T2 (de) 1994-12-13 2003-12-04 Microsoft Corp., Redmond Datentransfer mit erweitertem Format für die Zwischenablage
US5606674A (en) 1995-01-03 1997-02-25 Intel Corporation Graphical user interface for transferring data between applications that support different metaphors
US5781192A (en) 1996-01-16 1998-07-14 Canon Information Systems, Inc. Data transfer system
US5835777A (en) 1996-03-20 1998-11-10 Hewlett-Packard Company Method of automatically generating a software installation package
US5784058A (en) 1996-05-28 1998-07-21 Sun Microsystems, Inc. User-controllable persistent browser display pages
US5801693A (en) 1996-07-03 1998-09-01 International Business Machines Corporation "Clear" extension to a paste command for a clipboard function in a computer system
US6961907B1 (en) 1996-07-03 2005-11-01 International Business Machines Corporation “Append” extension to cut and copy commands for a clipboard function in a computer system
US6067582A (en) 1996-08-13 2000-05-23 Angel Secure Networks, Inc. System for installing information related to a software application to a remote computer over a network
GB9623298D0 (en) 1996-11-08 1997-01-08 Int Computers Ltd Updating mechanism for software
US6009274A (en) 1996-12-13 1999-12-28 3Com Corporation Method and apparatus for automatically updating software components on end systems over a network
US6028965A (en) 1997-05-13 2000-02-22 Lg Electronics, Inc Method and apparatus for intelligent codec system
US6314565B1 (en) 1997-05-19 2001-11-06 Intervu, Inc. System and method for automated identification, retrieval, and installation of multimedia software components
US6496979B1 (en) 1997-10-24 2002-12-17 Microsoft Corporation System and method for managing application installation for a mobile device
US6216152B1 (en) 1997-10-27 2001-04-10 Sun Microsystems, Inc. Method and apparatus for providing plug in media decoders
US9009345B1 (en) 1997-12-24 2015-04-14 Aol Inc. Asynchronous data protocol
US6202207B1 (en) 1998-01-28 2001-03-13 International Business Machines Corporation Method and a mechanism for synchronized updating of interoperating software
GB2333864B (en) 1998-01-28 2003-05-07 Ibm Distribution of software updates via a computer network
US6052531A (en) 1998-03-25 2000-04-18 Symantec Corporation Multi-tiered incremental software updating
US6330717B1 (en) * 1998-03-27 2001-12-11 Sony Corporation Of Japan Process and system for developing an application program for a distributed adaptive run-time platform
US6043816A (en) 1998-05-29 2000-03-28 Hewlett-Packard Company User interface mechanism for maintaning quick access to important information in a windows-based computer environment
US6381742B2 (en) 1998-06-19 2002-04-30 Microsoft Corporation Software package management
CA2336387A1 (en) 1998-06-30 2000-01-06 Paragon Software (Developments) Ltd. Telephone directory management system having wireless telephone interface capability
US6418555B2 (en) 1998-07-21 2002-07-09 Intel Corporation Automatic upgrade of software
US6433794B1 (en) 1998-07-31 2002-08-13 International Business Machines Corporation Method and apparatus for selecting a java virtual machine for use with a browser
US6378128B1 (en) 1998-10-08 2002-04-23 Microsoft Corporation System and method for dynamically modifying an install-set
US6301710B1 (en) * 1999-01-06 2001-10-09 Sony Corporation System and method for creating a substitute registry when automatically installing an update program
US6272493B1 (en) 1999-01-21 2001-08-07 Wired Solutions, Llc System and method for facilitating a windows based content manifestation environment within a WWW browser
US6321209B1 (en) 1999-02-18 2001-11-20 Wired Solutions, Llc System and method for providing a dynamic advertising content window within a window based content manifestation environment provided in a browser
US20020069264A1 (en) 1999-03-25 2002-06-06 Sandro Pasquali System and method for building and executing a navigation instruction via corresponding sentence construction
US6536040B1 (en) 1999-03-29 2003-03-18 International Business Machines Corporation Cross-platform program, system, and method having a system independent registry for use on operating systems irrespective of a registry equivalent
US6629316B1 (en) 1999-03-29 2003-09-30 International Business Machines Corporation Overriding program properties using a specially designated environment variable statement
US6601236B1 (en) 1999-03-29 2003-07-29 International Business Machines Corporation Cross platform program installation on drives using drive object
US6374401B1 (en) 1999-03-29 2002-04-16 International Business Machines Corporation System, method, and program for updating registry objects with a cross-platform installation program
US7779406B2 (en) * 1999-04-16 2010-08-17 Microsoft Corporation Method and system for managing lifecycles of deployed applications
US6385766B1 (en) 1999-05-20 2002-05-07 Dell Usa L.P. Method and apparatus for windows-based installation for installing software on build-to-order computer systems
US6687745B1 (en) 1999-09-14 2004-02-03 Droplet, Inc System and method for delivering a graphical user interface of remote applications over a thin bandwidth connection
US6539539B1 (en) 1999-11-16 2003-03-25 Lucent Technologies Inc. Active probes for ensuring software package compatibility
US6606744B1 (en) 1999-11-22 2003-08-12 Accenture, Llp Providing collaborative installation management in a network-based supply chain environment
US6944821B1 (en) 1999-12-07 2005-09-13 International Business Machines Corporation Copy/paste mechanism and paste buffer that includes source information for copied data
US20050257128A1 (en) 1999-12-09 2005-11-17 Simple.Com. WWW browser configured to provide a windowed content manifestation environment
US7127405B1 (en) 1999-12-30 2006-10-24 Bellsouth Intellectual Property Corp. System and method for selecting and protecting intellectual property assets
US7337210B2 (en) 2000-01-13 2008-02-26 International Business Machines Corporation Method and apparatus for determining availability of a user of an instant messaging application
US6546554B1 (en) * 2000-01-21 2003-04-08 Sun Microsystems, Inc. Browser-independent and automatic apparatus and method for receiving, installing and launching applications from a browser on a client computer
US6874142B1 (en) 2000-02-29 2005-03-29 Fujitsu Limited System and method for automatically setting applet latest version
US6618857B1 (en) 2000-03-27 2003-09-09 Microsoft Corporation Method and system for installing software on a computer system
CA2417763A1 (en) 2000-08-04 2002-02-14 Infoglide Corporation System and method for comparing heterogeneous data sources
US7131122B1 (en) 2000-08-24 2006-10-31 International Business Machines Corporation Apparatus, system and method for detecting old version of an applet in a client brower's JVM
US20030050932A1 (en) 2000-09-01 2003-03-13 Pace Charles P. System and method for transactional deployment of J2EE web components, enterprise java bean components, and application data over multi-tiered computer networks
US6748591B1 (en) 2000-09-14 2004-06-08 International Business Machines Corporation Method, system, program, and data structures for loading programs into a runtime environment
US7085817B1 (en) 2000-09-26 2006-08-01 Juniper Networks, Inc. Method and system for modifying requests for remote resources
US6757365B1 (en) 2000-10-16 2004-06-29 Tellme Networks, Inc. Instant messaging via telephone interfaces
US7299259B2 (en) 2000-11-08 2007-11-20 Genesys Telecommunications Laboratories, Inc. Method and apparatus for intelligent routing of instant messaging presence protocol (IMPP) events among a group of customer service representatives
US7089563B2 (en) 2000-12-01 2006-08-08 Cisco Technology, Inc. Methods and apparatus for exchanging information between browser pages
US20020080179A1 (en) 2000-12-25 2002-06-27 Toshihiko Okabe Data transfer method and data transfer device
US6785885B2 (en) 2000-12-28 2004-08-31 Intel Corporation Mechanism for automatically securing licensing for unlicenced codec
JP4291467B2 (ja) * 2001-03-01 2009-07-08 株式会社ソニー・コンピュータエンタテインメント エンタテインメント装置、メニュー表示方法および情報記録媒体
US7140012B2 (en) 2001-03-09 2006-11-21 Bea Systems, Inc. Method and apparatus for multi-version updates of application services
US7047257B2 (en) 2001-04-03 2006-05-16 Qnx Software Systems Computer file management system
US7440980B2 (en) 2001-04-03 2008-10-21 Qnx Software Systems Gmbh & Co. Kg Computer file management system
US6948166B2 (en) 2001-04-05 2005-09-20 International Business Machines Corporation System and method for automatically de-installing previously installed software based on user defined preferences
GB2374689B (en) 2001-04-20 2005-11-23 Eldama Systems Ip Ltd Communications system
US7080139B1 (en) 2001-04-24 2006-07-18 Fatbubble, Inc Method and apparatus for selectively sharing and passively tracking communication device experiences
US7240106B2 (en) 2001-04-25 2007-07-03 Hewlett-Packard Development Company, L.P. System and method for remote discovery and configuration of a network device
US6636856B2 (en) 2001-04-26 2003-10-21 Simple.Com Inc. System and method for facilitating a windows based content manifestation environment within a WWW browser
US7711771B2 (en) 2001-05-25 2010-05-04 Oracle International Corporation Management and synchronization application for network file system
JP3880337B2 (ja) 2001-07-03 2007-02-14 富士通株式会社 コンテンツ変換方法及び変換後コンテンツ取得方法
US6803929B2 (en) 2001-07-05 2004-10-12 International Business Machines Corporation Method, apparatus and computer program product for moving or copying information
US6904569B1 (en) 2001-07-26 2005-06-07 Gateway, Inc. Link-level browser instance control
US7243163B1 (en) 2001-08-07 2007-07-10 Good Technology, Inc. System and method for full wireless synchronization of a data processing apparatus with a messaging system
US20030037328A1 (en) 2001-08-15 2003-02-20 International Business Machines Corporation Extending installation suites to include topology of suite's run-time environment
US20030037327A1 (en) 2001-08-15 2003-02-20 International Business Machines Corporation Run-time rule-based topological installation suite
US7296244B2 (en) 2001-10-18 2007-11-13 International Business Machines Corporation Method of visually indicating transfer of data in response to a transfer data command
AU2002359001A1 (en) * 2001-12-28 2003-07-24 Access Co., Ltd. Usage period management system for applications
US7519589B2 (en) 2003-02-04 2009-04-14 Cataphora, Inc. Method and apparatus for sociological data analysis
US7032220B2 (en) 2002-02-14 2006-04-18 International Business Machines Corporation Method and apparatus for saving install properties in a fileset object and/or system registry for use during uninstall
US20030163807A1 (en) 2002-02-27 2003-08-28 International Business Machines Corporation Weighted selection of target systems for distributed software installation
GB2402781A (en) * 2002-03-22 2004-12-15 Sun Microsystems Inc Mobile download system
US7797403B2 (en) 2002-07-12 2010-09-14 Microsoft Corporation Deployment of configuration information
US7370278B2 (en) 2002-08-19 2008-05-06 At&T Delaware Intellectual Property, Inc. Redirection of user-initiated distinctive presence alert messages
US7293242B2 (en) 2002-10-15 2007-11-06 International Business Machines Corporation Facilitated source to target object editing functions
US7814476B2 (en) 2002-10-31 2010-10-12 Oracle America, Inc. Systems and methods for updating software
US7409405B1 (en) * 2002-12-06 2008-08-05 Adobe Systems Incorporated File dispatcher for multiple application targets
US7853652B2 (en) 2003-01-18 2010-12-14 International Business Machines Corporation Instant messaging system with privacy codes
US7263545B2 (en) 2003-02-14 2007-08-28 Convoq, Inc. System and method for immediate and delayed real-time communication activities using availability data from and communications through an external instant messaging system
US8204938B2 (en) 2003-02-14 2012-06-19 Devereux Research Ab Llc System and method for immediate and delayed real-time communication activities using availability data from and communications through an external instant messaging system
US7181740B2 (en) 2003-03-31 2007-02-20 Sony Corporation Method and system for automated provision of build images
US7383356B2 (en) 2003-04-30 2008-06-03 Hewlett-Packard Development Company, L.P. Digital media distribution methods, General purpose computers, and digital media distribution systems
US7694277B2 (en) * 2003-05-14 2010-04-06 Microsoft Corporation Cross version customization of design environment
US7987449B1 (en) * 2003-05-22 2011-07-26 Hewlett-Packard Development Company, L.P. Network for lifecycle management of firmware and software in electronic devices
US20040243997A1 (en) 2003-05-29 2004-12-02 Sun Microsystems, Inc. Method, system, and program for installing program components on a computer
US7260818B1 (en) 2003-05-29 2007-08-21 Sun Microsystems, Inc. System and method for managing software version upgrades in a networked computer system
US7310781B2 (en) 2003-06-05 2007-12-18 International Business Machines Corporation System and method for content and information transfer between program entities
WO2005003969A1 (en) * 2003-06-27 2005-01-13 Sun Microsystems, Inc. Hybrid system implementing distinct and co-existing application execution environments and methods for implementing the same
EP1649392A4 (en) 2003-07-10 2009-05-13 Computer Ass Think Inc DEVICES AND METHOD FOR THE DYNAMIC GENERATION OF PHASE GANTT DIAGRAMS
US20050021652A1 (en) 2003-07-25 2005-01-27 Sun Microsystems, Inc. Synchronous collaborative shell integrated instant messaging
US7549149B2 (en) 2003-08-21 2009-06-16 International Business Machines Corporation Automatic software distribution and installation in a multi-tiered computer network
US20050049960A1 (en) 2003-08-25 2005-03-03 Yeager Wayne B. Methods and apparatus for tracking online auction visitors
US7395500B2 (en) 2003-08-29 2008-07-01 Yahoo! Inc. Space-optimizing content display
US7434048B1 (en) 2003-09-09 2008-10-07 Adobe Systems Incorporated Controlling access to electronic documents
EP1665040A2 (en) 2003-09-17 2006-06-07 Research In Motion Limited System and method for dynamic version management of applications
US7624393B2 (en) 2003-09-18 2009-11-24 International Business Machines Corporation Computer application and methods for autonomic upgrade maintenance of computer hardware, operating systems and application software
US7451218B2 (en) 2003-10-14 2008-11-11 At&T Intellectual Property I, L.P. Automated instant messaging state control based upon email persona utilization
WO2005048121A1 (en) 2003-10-17 2005-05-26 Aspect Communications Corporation Method and system to provide expert support with a customer interaction system
US20050086640A1 (en) 2003-10-21 2005-04-21 Mikko Kolehmainen Initiating execution of application programs on a data processing arrangement
US8151280B2 (en) 2003-10-27 2012-04-03 Microsoft Corporation Simple and dynamic configuration of network devices
US7523116B2 (en) * 2003-10-30 2009-04-21 International Business Machines Corporation Selection of optimal execution environment for software applications
US7930757B2 (en) 2003-10-31 2011-04-19 Adobe Systems Incorporated Offline access in a document control system
US7386841B2 (en) 2003-11-06 2008-06-10 International Business Machines Corporation Technique for determining a target data type in a heterogeneous multi-level environment
US7478336B2 (en) 2003-11-06 2009-01-13 International Business Machines Corporation Intermediate viewer for transferring information elements via a transfer buffer to a plurality of sets of destinations
US20050172241A1 (en) 2004-01-08 2005-08-04 International Business Machines Corporation System and method for improved direct system clipboard
US7383308B1 (en) 2004-02-11 2008-06-03 Aol Llc, A Delaware Limited Liability Company Buddy list-based sharing of electronic content
US20050203892A1 (en) 2004-03-02 2005-09-15 Jonathan Wesley Dynamically integrating disparate systems and providing secure data sharing
US8650500B2 (en) 2004-03-05 2014-02-11 Hewlett-Packard Development Company, L.P. Copy-and-paste functionality for network reconfiguration
US20050210401A1 (en) 2004-03-18 2005-09-22 Nokia Corporation Method and system for centralized copy/paste functionality
US7934210B1 (en) 2004-03-26 2011-04-26 Adobe Systems Incorporated System and method for updating one or more programs and their environment
US8020101B2 (en) 2004-05-20 2011-09-13 International Business Machines Corporation User specified transfer of data between applications
US20050289538A1 (en) * 2004-06-23 2005-12-29 International Business Machines Corporation Deploying an application software on a virtual deployment target
US7664834B2 (en) * 2004-07-09 2010-02-16 Maxsp Corporation Distributed operating system management
US7389505B2 (en) 2004-07-30 2008-06-17 Extreme Networks, Inc. Method and apparatus for modifying software
US20060025091A1 (en) 2004-08-02 2006-02-02 Matsushita Electric Industrial Co., Ltd Method for creating and using phrase history for accelerating instant messaging input on mobile devices
US7703090B2 (en) 2004-08-31 2010-04-20 Microsoft Corporation Patch un-installation
US20060048140A1 (en) 2004-08-31 2006-03-02 International Business Machines Corporation Method, system and article for generating installation merge packages
US7552430B2 (en) 2004-08-31 2009-06-23 Microsoft Corporation Patch sequencing
JP2006099307A (ja) 2004-09-29 2006-04-13 Hitachi Ltd 分散サーバへのアプリケーションセットのインストール方法
US7698698B2 (en) 2004-09-30 2010-04-13 Smith Micro Software, Inc. Method for over-the-air firmware update of NAND flash memory based mobile devices
US8180834B2 (en) 2004-10-07 2012-05-15 Computer Associates Think, Inc. System, method, and computer program product for filtering messages and training a classification module
US8099736B2 (en) 2004-10-14 2012-01-17 The Trizetto Group, Inc. Systems and methods providing intelligent routing of data between software systems
WO2006067841A1 (ja) * 2004-12-22 2006-06-29 Fujitsu Limited 仮想マシン管理プログラムおよび仮想マシン管理方法
US20060168575A1 (en) 2005-01-21 2006-07-27 Ankur Bhatt Defining a software deployment
US20060212329A1 (en) 2005-03-16 2006-09-21 Microsoft Corporation Consolidated management of administrative tasks in an aynchronous, multi-application environment
US7907966B1 (en) 2005-07-19 2011-03-15 Aol Inc. System and method for cross-platform applications on a wireless phone
US20070038993A1 (en) 2005-08-11 2007-02-15 Corpening Owen J Method of identifying and checking software installation requirements
US8286158B2 (en) 2006-02-06 2012-10-09 Imation Corp. Method and system for installing portable executable applications
US7971202B2 (en) 2006-03-14 2011-06-28 International Business Machines Corporation Method for advanced management of software distribution tasks
US7836440B2 (en) * 2006-04-27 2010-11-16 Oracle America, Inc. Dependency-based grouping to establish class identity
US8191060B2 (en) 2006-08-29 2012-05-29 Adobe Systems Incorporated Software installation using template executables
US8171470B2 (en) 2006-08-29 2012-05-01 Adobe Systems Incorporated Software installation and support
US7752574B2 (en) 2006-10-02 2010-07-06 Sas Institute Inc. System, method and article for displaying data distributions in data trees
US7987460B2 (en) 2006-10-10 2011-07-26 Intel Corporation Automation tool for application installations
US20080127175A1 (en) 2006-11-01 2008-05-29 Microsoft Corporation Packaging software products as single-file executables containing scripting logic
US7890930B2 (en) 2006-12-11 2011-02-15 International Business Machines Corporation Method and system for allowing an eclipse feature to create/remove/update program groups and shortcuts, via an eclipse install handler
US7853336B2 (en) 2007-02-27 2010-12-14 Rockwell Automation Technologies, Inc. Dynamic versioning utilizing multiple controller engine instances to limit complications
US20080244589A1 (en) 2007-03-29 2008-10-02 Microsoft Corporation Task manager
CA2682988A1 (en) 2007-04-05 2008-10-16 Sentillion, Inc. Augmenting a virtual machine hosting environment from within a virtual machine
US8448161B2 (en) 2007-07-30 2013-05-21 Adobe Systems Incorporated Application tracking for application execution environment
KR100927442B1 (ko) 2007-08-16 2009-11-19 주식회사 마크애니 가상 응용프로그램 생성 시스템, 가상 응용프로그램 설치방법, 네이티브 api 호출 처리 방법 및 가상응용프로그램 수행 방법
US8522227B2 (en) * 2009-08-24 2013-08-27 Microsoft Corporation Runtime activation and version selection

Also Published As

Publication number Publication date
US8448161B2 (en) 2013-05-21
US20090037835A1 (en) 2009-02-05
CN101382886A (zh) 2009-03-11

Similar Documents

Publication Publication Date Title
CN101382886B (zh) 针对应用执行环境的应用跟踪
CN101681265B (zh) 组合的应用和执行环境安装
US8554732B2 (en) Version management for application execution environment
US8375381B1 (en) Management user interface for application execution environment
US8136100B1 (en) Software installation and icon management support
US20140040877A1 (en) Application execution and installation environment
US20130047150A1 (en) Software installation and process management support
US8191060B2 (en) Software installation using template executables
US8694981B2 (en) Shared resource dependencies
US6496979B1 (en) System and method for managing application installation for a mobile device
CN102455912B (zh) 运行时扩展
US8392906B2 (en) Enabling parallel websphere runtime versions
US20080127170A1 (en) Software installation and support
US20130167136A1 (en) Component-based installation
JP2007524875A (ja) ネットワーク・ベースの処理のためのシステムおよび方法
EP1597654A2 (en) System and method and api for progressively installing a software application
WO2005084202A2 (en) Execution of unverified programs in a wireless device operating environment
US20080163166A1 (en) Technique for integrating a distributed object system component with a service oriented architecture application
Cinar Android quick APIs reference
WO2013141786A1 (en) Methods of distributing a computer program product, and a computer system
WO2024169325A1 (zh) 快应用部署方法及相关设备
CA2517431C (en) System and method for managing application installation for a mobile device
Mai Android app to search local venues with Foursquare API
Cinar Android
Friesen Java 7 Meets Android

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant