CN101382886B - 针对应用执行环境的应用跟踪 - Google Patents
针对应用执行环境的应用跟踪 Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 claims abstract description 28
- 238000012423 maintenance Methods 0.000 claims description 11
- 238000004590 computer program Methods 0.000 abstract description 13
- 238000009434 installation Methods 0.000 description 79
- 238000007726 management method Methods 0.000 description 47
- 238000007689 inspection Methods 0.000 description 8
- 238000004891 communication Methods 0.000 description 7
- 238000012545 processing Methods 0.000 description 7
- 230000007246 mechanism Effects 0.000 description 6
- 230000008859 change Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 230000000712 assembly Effects 0.000 description 3
- 238000000429 assembly Methods 0.000 description 3
- 238000011900 installation process Methods 0.000 description 3
- 238000013515 script Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 241001269238 Data Species 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 239000000654 additive Substances 0.000 description 1
- 230000000996 additive effect Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000006837 decompression Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000007599 discharging Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 238000012856 packing Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000001902 propagating effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000035807 sensation Effects 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
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)(例如,WindowsOS,MACOS,或者LinuxOS)。软件开发者通常创建可以针对各计算机平台而适当编译的源代码,继而独立地生成用于每个目标平台的本机安装包。每个本机安装包都与特定的计算机平台相关联,并且继而可以分发这些本机安装包以用于在适当机器上的安装。对于特定的目标平台,适当的本机安装包是从软件开发者处获取的,并且可以使用OS安装器来处理本机安装包,以便安装应用。例如,可以使用InstallShield软件来产生用于Windows机器上安装的.msi文件,并且可以使用不同的软件工具来产生用于MAC机器上安装的.pkg文件。
一些软件开发者已经创建了部署在最终用户系统上的跨平台安装包,例如JavaArchive(JAR)文件格式。继而可以展开(例如,解密和解压缩)跨平台包,并使用软件开发者和/或跨平台包格式的开发者所提供的代码将跨平台包直接写到磁盘。通常,这种跨平台软件在目标平台上的运行依赖于之前安装的虚拟机,例如Java虚拟机(JVM)(可以从Sun Microsystems公司获得)。
JVM为包括WindowsOS,MACOS以及LINUXOS在内的多数操作系统提供了运行时环境和Java解释器。Java源代码文件(具有.java扩展名的文件)被编译为称为字节码的格式(具有.class扩展名的文件),其继而由Java解释器来执行。字节码可以通过适时编译器(JIT)直接转换为机器语言指令。其他示例性运行时环境包括C运行时,.NET,以及Adobe集成运行时。
Flash播放器(可以从Adobe System Incorporated获得)是另一虚拟机,其可以用来运行或解析Flash文件,该Flash文件包括从ActionScript编译得到的Shockwave Flash(SWF)。通过将SWF数据嵌入到Flash播放器的可执行文件中以创建新的.exe文件,并操纵该.exe文件中的字节模式以指明SWF数据的存在,Flash播放器和Flash创作软件允许开发在特定目标平台上运行的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外壳的集成(例如,WindowsOS浏览器或MACOS Finder)、文件扩展名注册、文档处理支持(例如,超文本标记语言(HTML)引擎和便携文档格式(PDF)引擎)、字符串操作、图形、网络、通知工具、外围设备寻址,或者可以使用运行时库提供的其他类型功能。而且,应用执行环境110可以包括跨平台应用程序接口(API)112,其向运行在应用执行环境中的应用提供服务,并且抽象出应用执行环境110被设计为在其上运行的各种硬件和OS平台的细节。
由此,应用执行环境(AEE)110可以是跨平台的运行时环境,例如加利福尼亚州、圣何塞市的Adobe System公司提供的AdobeIntegrated Runtime(AIRTM)软件。在一些实现中,应用执行环境110可以从应用的编码表示中加载应用。例如,编码表示可以具有诸如编程语言的预定义句法结构(例如,源代码),或者可以包括良定义的虚指令(例如,与平台无关的字节码,诸如Macromedia Flash字节码)。为了加载这样的应用,应用执行环境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的主要位置。例如,在一些系统(例如,WindowsOS计算机)上,在安装AEE时,可以将这样的信息记录在注册表中,该信息将与AEE相关联的唯一标识符映射到安装位置。该唯一标识符还可以包括在AEE管理代码中,使得可以在注册表中查找标识符以便得到安装位置。在其他系统(例如,MACOS计算机)上,可以搜索预定义的有效AEE安装位置的列表,以便找到实际的安装位置。
具有AEE安装位置之后,可以找到AEE的不同版本。例如,所安装的AEE可以具有名为“版本”的目录,其包括一组子目录,子目录根据自身包含的AEE版本而命名。注意,用于特定版本的补丁级别可以分开记录,并且无需对应于所安装AEE内的版本目录结构。
可以在计算机上管理220AEE的不同版本。这可以包括:卸载AEE的特定版本、应用一个或多个补丁来更新AEE的已安装版本、向AEE的已安装版本添加组件或者开启/关闭其特征(例如,添加在一个或多个不同AEE版本之上运行的程序框架),以及安装AEE的一个或多个新版本。
可以使用应用执行环境的不同版本之一来执行标识210和管理220。由此,版本管理控制台程序(其可作为用于AEE的安装器的部分而被包括)可以在AEE自身中运行,并且使用构建在AEE中的安装/卸载工具。而且,在将要添加AEE的新版本时(或者需要应用更新时),可以提供安装包,其包括AEE的新版本(或者对AEE的更新)以及在AEE中运行的、用于该AEE(或者更新)的安装器。
新的AEE版本包括用于目标计算机平台(例如,用于运行WindowsOS、MACOS或者LinuxOS的计算机)的适当的本机的、平台特定的代码。可以将该新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(例如,供基于WindowsOS的计算机使用)。在执行时,可执行存根中的自提取器代码可以将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可以是压缩归档文件本身。例如,对于MACOS计算机而言,安装包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可以包含使用AdobeFlexTM软件、Flash代码或者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对接(例如,基于WindowsOS的计算机中的Windows安装器API)。
在上面给出的示例中,运行时安装器类在基于MACOS的计算机和基于WindowsOS的计算机上可能具有非常不同的实现。在基于WindowsOS的计算机上,运行时安装器可以使用AEE 110中的、仅涉及安装的API来进行操作,因为所述API使用Windows安装服务来执行安装操作。在基于MACOS的计算机或者基于LinuxOS的计算机上,运行时安装器可以使用AEE 110中的文件系统API进行操作。在任一情况下,运行时安装器类都可以定义跨平台接口,安装器/管理器115可以以相同的方式访问并使用该接口,而不论其运行在基于MACOS的计算机上还是基于WindowsOS的计算机上(也即,安装器/管理器中无需具有任何本机代码)。还可以使用其他方法。例如,AEE 110可以提供用于调用本机代码的机制,并且安装器/管理器115也可以使用该机制。
再次参考图2B,可以在计算机上创建用于应用120之一的可执行文件。可以将该可执行文件配置为加载与该应用所关联的命名空间相匹配的AEE版本。例如,可以将模板可执行文件转换为特定于应用的可执行文件。模板可执行文件是通用的本机应用可执行文件(例如,用于WindowsOS或者MACOS计算机),其可以被包含在安装包125、AEE 110或者二者之中,并且可以在特定计算机上的安装期间被转换为特定于应用的可执行文件。可替换地,转换可以较早进行,并且应用特定的可执行文件可以包含在安装包125中。
在任一情况下,应用信息可以通过安装包或者其他手段来提供,并且与来自特定于平台的模板可执行文件的信息相结合,以生成特定于应用的可执行文件。应用信息包括特定于应用的信息,例如实现算法,数据或者文档的代码。模板可执行文件是特定于目标计算机平台的,并且包含该平台的可执行文件通用的机器代码。
可以根据应用信息中包含的信息对模板进行复制和重命名。模板可以具有通用的填充材料(例如通用图标),其在创建应用可执行文件时被覆盖。模板可执行文件可以包括诸如公共代码的其他资源,其可以用于执行公共任务或者对诸如动态链接库(DLL)的系统库的链接。这些可以包括对AEE的新版本的DLL的一个或多个引用(例如,目录结构中特定于版本的路径),由此创建给定应用和AEE该版本之间的绑定。除了该AEE版本信息之外,模板可执行文件还可以包括版本资源,在生成应用可执行文件时,可以将关于应用的版本信息添加到所述版本资源。
应用信息可以包括应用名称,其可以用作应用可执行文件的名称。应用图标可以包括在应用信息中,并且可以在生成应用可执行文件时与模板可执行文件集成。例如,应用图标可以是便携式网络图形(PNG)格式的特定于应用的图形,其例如在转换为Windows图标格式(ICO)之后覆盖通用图标,以便生成应用可执行文件中的应用图标。该应用图标继而被用以启动应用,这例如通过在OS用户界面中呈现该图标以便用户双击。应用信息还可以具有版本号,以用于应用可执行文件的进一步标识,并且可以通过版本号来更新所复制的模板可执行文件中的版本资源,以形成应用可执行文件中的版本号。另外,应用信息可以包括代码,其可以是诸如SWF和超文本标记语言(HTML)的跨平台代码,或者是诸如目标平台本机机器代码的特定于平台的代码,或者是其结合。代码可以是源代码形式、编译(完全编译或部分编译)形式和/或解释形式,并且可以作为代码插入到应用可执行文件中。例如,提供用于新应用的逻辑和用户界面的SWF文件可以作为资源嵌入到可执行文件中。在此上下文中,“资源”是预留的可执行文件的部分,用于对各种类型的数据进行存储。通常,OS提供编程接口,其可被用以可编程地操纵资源,并且可以通过使用OS编程接口或者通过直接修改可执行文件镜像来将SWF代码作为资源嵌入(注意,任意给定平台的可执行格式的规范描述了如何组织可执行文件来包括这些资源)。而且,应用信息可以包括附加文件(包括数据和代码二者),诸如便携文档格式(PDF)文件和JavaScript文件。
由此,可以制作模板可执行文件的副本,并且该副本变为应用可执行文件。模板可执行文件中存在的一些项在应用可执行文件中被所使用的项替换,该所使用的项完全地或部分地来自于所提供的应用信息。一些系统资源在用于填充应用可执行文件之前可能需要进行转换。一些平台可能需要将图标转换为与应用信息所提供的格式不同的特定图形格式(例如,从.png到.ico格式的转换)。在一些情况下,可以改变应用信息提供的应用名称(或者安装目录位置),以符合目标平台的习惯;在这种情况下,可以将应用名称(以及应用可执行文件位置)转换为适当的等同项。在任何情况下,作为结果的应用可执行文件都是从模板生成的、可以作为本机软件在目标平台上运行,并且包括添加到可执行文件的新功能,而无需对来自源代码的可执行文件进行重新编译。该结果应用可执行文件还包括对AEE特定版本的引用,由此创建应用和AEE的该版本之间的绑定。
从上面的描述中可以意识到,在计算机上可以将AEE的不同版本作为其中绑定有不同版本的单个运行时环境程序进行管理。图3A示出了应用执行环境的版本管理的另一示例过程。可以使用其上运行有管理程序的基础应用执行环境来实现该过程,或者可以使用单独的管理程序来实现该过程,所述单独的管理程序在计算机上的运行不依赖于其不同版本有待管理的应用执行环境的任何版本。在任一情况下,可以通过用户调用管理程序来触发该管理程序,例如通过用户选择WindowsOS计算机上呈现的“添加或删除程序”控制界面中针对应用执行环境而呈现的管理/改变选项,或者例如通过MACOS计算机上的应用执行环境所提供的(并且位于MACOS 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中的哪些版本中运行。可以按照各种方式来创建和维护关联,包括通过不同的操作系统使用可替换的方法。例如,在MACOS计算机上,可以使用文件扩展名注册来维护关联410,下文将结合图4B进行描述;而在WindowsOS计算机上,可以使用通过Windows安装服务可用的已有组件参考计数工具来维护关联。而且,关联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”),其目的仅仅是支持应用跟踪(并且将不会干扰其他应用)。例如,在MACOS计算机上,应用可以声明支持这种假文件扩展名。由此,当MACOS检查应用时,其将对所支持的假文件名进行标识,并将该信息记录在其装载服务数据库中。继而可以使用该文件扩展名注册来标识依赖于应用执行环境的给定版本的应用(例如,依赖于AEE版本1.5的应用)是否安装在了具有这样的操作系统的计算机上,该操作系统不包括用于组件参考计数的内置工具,例如MACOS计算机。
基于应用是针对每个机器还是针对每个用户安装的,用于应用跟踪的文件扩展名可以是针对每个机器或针对每个用户的。而且,在查询文件扩展名以找到依赖的应用时,可以搜索计算机中的所有可见位置,这些位置包括对于在运行查询时登陆的用户可见的针对每个机器和针对每个用户的可见位置的组合。注意,这并不一定在每种情况下都能找到所有的已安装应用,但是该技术在很多情况下可以找到多数(如果不是全部的话)已安装应用。
在将要执行管理任务时(例如,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所述的设备,其中所述管理装置包括:
用于确定所述应用执行环境的所述不同版本中的哪些版本具有所述应用中的依赖应用的装置;以及
用于为用户提供选项以便在至少一个所述应用使用所述计算机上的所述应用执行环境的所述不同版本中的一个版本时将可用的更新应用于所述应用执行环境的所述不同版本中的所述一个版本的装置。
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)
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)
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 |
-
2007
- 2007-10-19 US US11/875,769 patent/US8448161B2/en active Active
-
2008
- 2008-07-30 CN CN200810134400.6A patent/CN101382886B/zh active Active
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 |