CN101326515A - 元数据驱动的应用程序部署 - Google Patents
元数据驱动的应用程序部署 Download PDFInfo
- Publication number
- CN101326515A CN101326515A CNA2006800463543A CN200680046354A CN101326515A CN 101326515 A CN101326515 A CN 101326515A CN A2006800463543 A CNA2006800463543 A CN A2006800463543A CN 200680046354 A CN200680046354 A CN 200680046354A CN 101326515 A CN101326515 A CN 101326515A
- Authority
- CN
- China
- Prior art keywords
- metadata
- application program
- computing equipment
- deployment
- resource
- 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.)
- Pending
Links
Images
Abstract
一种计算设备包括与部署储存库通信的部署引擎,而该部署储存库则包括用于部署应用程序的元数据。元数据可以包括对在应用程序部署期间包括的资源的引用或链接。部署引擎确定部署储存库是否包含计算设备能够下载的新的或已更新的元数据和/或资源。元数据包括允许部署引擎在计算设备上正确部署或更新应用程序的信息。
Description
相关申请
本专利申请要求在35U.S.C.§119(e)下对2005年12月9日提交的美国临时专利申请第60/748,921号的优先权。
背景
许多组织都需要在大量的计算设备上安装应用程序。为了便于安装,已经研发出用于将新软件部署到组织内的自动化工具。这些自动化工具的某一些允许组织获取可能对计划有用的清单信息,还允许管理员调度并控制应用程序的安装。这些工具还可用于安排在一天的具体时刻进行部署以减轻对用户的影响。取决于应用程序需求,也可能需要其他工具来定制安装。
概述
提供本概述以便以简化形式介绍概念精选,这些概念将在以下的详细描述中被进一步描述。本概述并不旨在标识要求保护的主题的关键特征或本质特征,也不旨在用于帮助确定要求保护的主题的范围。
一种计算设备包括与部署储存库通信的部署引擎,而该部署储存库则包括则可指定对要包括在应用程序部署内的资源(例如,动态链接库、文件、部件等)的引用和/或链接的元数据。这些资源通常位于计算设备可访问的服务器上。部署引擎确定部署储存库是否包含计算设备上的部署引擎能够下载的新的或已更新的元数据和/或已更新的资源。元数据包括允许部署引擎在计算设备上正确安装或更新应用程序的信息。例如,元数据可以包括允许部署引擎正确安装和/或配置应用程序及其所需资源的信息。
附图简述
图1是表示支持元数据驱动的应用程序部署的示例性系统的框图;
图2是表示部署应用程序的示例性操作流程的流程图;以及
图3是示出了可根据示例性实施例使用的计算环境的框图。
详细描述
现在参考其中相似的数字代表相似的元素的附图,描述各实施例。具体地,图1和相应的讨论旨在提供对在其中可以实现各实施例的合适计算环境的简要描述。
一般而言,程序模块包括例程、程序、组件、数据结构和其它类型的结构,它们执行特定的任务或者实现特定的抽象数据类型。也可使用其它计算机系统配置,包括手持式设备、多处理器系统、基于微处理器或可编程消费电子产品、小型机、大型机等等。也可使用分布式计算环境,其中任务由通过通信网络链接的远程处理设备执行。在分布式计算环境中,程序模块可被置于本地或远程的存储器设备中。
图1根据一个实施例示出了支持元数据驱动的应用程序部署的示例性系统100。如图所示,系统100包括计算设备102(即,任何可以存储并执行软件应用程序的设备)、包括元数据和资源106的部署储存库104。在此实施例中,计算设备102可经由一个或多个服务器108访问部署储存库104和资源106。计算设备102包括部署引擎110、应用程序116、元数据(副本)112和资源(副本)114.虽然未在图1中示出,系统100可以包括类似于计算设备102的附加计算设备。
部署储存库104包括元数据信息,该信息允许部署引擎110正确部署或更新应用程序(例如,计算设备102上的应用程序116)。例如,元数据可以包括允许引擎110正确安装和/或配置计算设备102上的应用程序116的信息。部署储存库104可以包括有关系统100内所有计算设备的多个应用程序的信息,另外还可以包括用于确定要在每个计算设备上安装/更新什么应用程序的信息。此外,在一个实施例中,向对应于每个应用程序或应用程序更新的元数据加时间戳,以指示最近一次的元数据修改(或创建)的时间。该时间戳信息可以存储在时间戳105内。
计算设备102的部署引擎110周期性地访问或查询部署储存库104以确定是否有新的应用程序或应用程序更新要安装到计算设备102上。在一个实施例中,部署引擎110周期性地轮询部署储存库104以获取针对计算设备102的与新的或已更新的应用程序相对应的元数据。例如,在一个实施例中,引擎110可以查询部署储存库104以获取对应于当前驻留在计算设备102上的各应用程序(例如,应用程序116)的元数据的时间戳。部署引擎110随后可以将该时间戳与对应于上述应用程序的最近下载元数据的时间戳相比较,如果它们不相同(即,部署储存库104内的元数据时间戳是最近的),则部署引擎110就能够下载“新近的”元数据。在元数据对应于所部署的新应用程序而非对应于已经安装在计算设备102上的应用程序的更新的情况下,部署引擎110可以下载对应于该新应用程序的元数据而不用执行时间戳比较。下载至计算设备102的元数据在图1中被指示为元数据112.此外,在某些实施例中,可以使用应用程序、资源和/或元数据的版本标注(versioning)来代替“最近修改的”时间戳。
操作中,在要更新应用程序(或者资源已更新)时,诸如系统管理员的授权用户就更新部署储存库104上元数据,而非直接更新计算设备102上应用程序(或资源)。类似地,当要在计算设备102上安装新的应用程序和/或资源时,管理员可以装载元数据用于在部署储存库104上而非直接在计算设备102上安装上述新的应用程序。在系统100包括有相同的应用程序和/或资源需要更新或初始安装的多个计算设备的情况下,这一特征是有利的。这一特征提供了一种简单的过程(即,只更新部署储存库104)用以在多个计算设备上部署应用程序或更新。
在一个实施例中,部署引擎110以事务性(transacted)的基础下载元数据。例如,部署引擎110能够下载遵守ISO/IEC 10026-1:1992Section 4(第4节)的元数据,该节描述了要在事务性信息传输中保持的ACID(原子性、一致性、独立性和持久性)属性。因此,下载可以中断,而不会丢失和/或破坏当前驻留在计算设备上的元数据和/或资源。
在此实施例中,部署引擎110随后处理元数据以确定是否还有正确安装应用程序所需的额外资源。资源可以包括动态链接库、文件、部件等。在某些实施例中,元数据包括资源的位置信息(例如,URL)。部署引擎110随后可以使用该位置信息下载资源。例如,在系统100中,部署引擎110可以从元数据112中获取资源位置信息,并且使用该位置信息从服务器108上资源106中下载资源。下载至计算设备102的资源被指示为资源114。在某些实施例中,资源还可以具有能在下载之前被检查的时间戳或版本信息(107),以便仅下载新的或已更新的资源。
部署引擎110随后可以使用已经下载至计算设备102的元数据112和资源114来正确安装应用程序。在某些实施例中,元数据112包括安装程序或向导或其他合适程序(未示出)安装应用程序所需的信息,这些应用程序示出为计算设备102的应用程序116。在某些实施例中,一旦下载了元数据112和资源114,一个或多个预选择事件(例如,重新启动、应用程序的启动或重新启动等)就引发部署引擎110安装应用程序。
在一个实施例中,部署引擎110在临时持久目录(tempory persistentdirectory)中存储新下载的元数据112和/或资源114(即被高速缓存),直到用于安装应用程序116的事件(上述)出现。响应于该事件,部署引擎110将应用程序和/或资源的设置“重新映射”至新的/已更新的应用程序和/或资源。某些实施例允许用户在已更新版本正下载的同时使用当前驻留在计算设备上的应用程序。上述实施例提供了在计算设备102上部署或更新应用程序116的机制,这些机制对用户是透明的并且自动且便于管理。
在某些实施例中,在下载资源114时,部署引擎110保持除根以外的资源路径名。例如在一个实施例中,部署引擎110将原始根目录从服务器108改为计算设备102上的用户域。这一特征简化了应用程序116的安装以及对资源114的引用。
此外在某些实施例中,在存储资源114期间,部署引擎110提供从网络共享下载资源114的指示。例如,在一个实现中,部署引擎110让每个资源114的一性质指示其来自网络区域(与通常受应用程序信任的本地不同)。以此方式,资源如同对应用程序而言是“非本地的”,于是应用程序116就可以采取合适的安全措施。
在某些实施例中,系统110在将元数据112和资源114存储在计算设备102上时实现各安全特征。例如,部署储存库104在允许计算设备102访问部署储存库104的元数据之前要求角色(或用户名)和密码。此外,部署引擎110可以将访问控制列表(ACL)与下载资源114相关联以确保只有得到了许可的应用程序才能够访问资源114。
在某些实施例中,部署引擎110提供一种允许任何应用程序获取资源而无需具有该期望资源的位置信息的机制。例如,在一个实施例中,部署引擎110暴露API(应用编程接口)111,使得应用程序可以使用该API来尝试获取资源。应用程序可以使用该API在部署引擎110上用该资源的名称或标识符来进行调用。部署引擎110随后检查被请求资源的下载资源(例如,资源114),并且如果该资源不存在,就从部署储存库104获取该资源的位置(例如,URL)。部署引擎110随后将位置信息(本地或是远程)返回给进行调用的应用程序。
在某些实施例中,元数据112可以包括元数据和/或资源部署出现的时刻。这一特征可由系统100的管理员用于同步系统100内多个计算设备的应用程序和/或资源的部署。例如,在一个实现中,系统100的计算设备在指定时刻(为同步部署指定的时刻)之前下载并高速缓存用于部署具体应用程序的元数据和/或资源。随后当该指定时刻到达时,所有下载了元数据和/或资源的计算设备就能够基本同时执行部署。
现将参考图2描述使用元数据部署一个或多个应用程序的示例性过程。当阅读对在此提供的例程的讨论时,应当了解,各种实施例的逻辑操作是作为(1)运行于计算机系统上的一系列计算机实现的动作或程序模块,以及/或者(2)计算机系统内互连的机器逻辑电路或电路模块来实现的。该实现是取决于计算机系统的性能要求来选择的。因此,所例示的并且构成在此所述的实施例的逻辑操作被不同地表示为操作、结构性设备、动作或模块。这些操作、结构性设备、动作和模块可用软件、固件、专用数字逻辑以及它们的任何组合来实现。
在开始操作之后,操作流程200行进至操作202,其中确定是否有一个或多个新的或已更新的应用程序和/或资源要安装在计算设备上。在一个实施例中,计算设备包括部署引擎,诸如引擎110(图1),该引擎被配置为确定是否有一个或多个新的应用程序或更新要安装在计算设备上。例如在一个实施例中,部署引擎周期性地轮询部署储存库(例如,诸如图1的部署储存库104的储存库)以查找比已经驻留在计算设备上的相应元数据更加新或更新近的元数据。正如前述的部署储存库104一样,部署储存库存储可由部署引擎用来安装或更新应用程序(或由应用程序使用的资源)的元数据。在应用程序要被更新(或者资源已更新)时,管理员更新部署储存库上元数据,而非直接更新计算设备上应用程序(或资源)。类似地,当要在计算设备上安装新的应用程序和/或资源时,管理员可以装载元数据用于在部署储存库上而非直接在计算设备上安装上述新的应用程序。在此实施例中,由部署储存库存储的元数据包括允许部署引擎确定部署储存库上的元数据是否比已经驻留在计算设备上的相应元数据更加新或更新近的元数据的信息(例如,时间戳或版本指示)。
进行到判定操作204,确定部署储存库上的元数据是否是新的或者最近已被更新。根据一个实施例,做出驻留在部署储存库内的元数据是否比驻留在计算设备上的相应元数据更新近的判定。
如果部署储存库上的元数据不是新的或被更新,则操作流程200就返回操作202。但如果元数据是新的或被更新,则操作流程200就进行到操作206。
在操作206,计算设备从部署储存库中获取更加新的元数据并将该元数据存储在计算设备上。在一个实施例中,前述部署引擎将元数据从部署储存库下载至计算设备。在某些实施例中,元数据以事务性基础来下载。如前关于系统100(图1)所述,元数据可以存储在临时持久目录内(即,被高速缓存)。某些实施例允许用户在更新版本正下载的同时使用当前驻留在计算设备上的应用程序。
移动至操作208,计算设备获取在操作206所取得元数据内引用的一个或多个资源(如果有的话)。在一个实施例中,前述部署引擎从包括在元数据内的位置信息(例如,URL)下载所引用的资源。在某些实施例中,资源还可以具有能在下载该资源之前被检查的关联时间戳或版本信息,以便仅下载新的或已更新的资源。在某些实施例中,在资源下载期间,保留除根目录以外的资源路径名。例如在一个实施例中,资源路径名的原始根目录改变为计算设备上的用户域。
此外在某些实施例中,在资源存储期间,提供从网络共享下载资源的指示。例如,在一个实施例中,设置该资源的一性质以指示其来自网络区域(与通常受应用程序信任的本地不同)。以此方式,资源如同对应用程序而言是“非本地的”,于是应用程序就可以采取合适的安全措施。
移至操作210,使用获取的元数据来安装或更新该应用程序。在一个实施例中,前述部署引擎使用元数据来安装该新的或已更新的应用程序。例如在一个实施例中,当出现一事件(例如,重新启动、应用程序的启动或重新启动、到达指定时刻等)时,部署引擎就使用元数据安装应用程序。该事件在某些实施例中可以在元数据中指定。响应于该事件,部署引擎将应用程序和/或资源的设置“重新映射”至新的/已更新的应用程序和/或资源。
尽管这里以特定的顺序示出并描述了操作流200,然而在其它实施例中,各操作中所述操作能以不同的顺序、多次和/或并行执行。进一步来说,在某些实施例中,一个操作中描述的一个或多个操作可被分到另一操作中,被省略或被组合。此外,即时在计算设备当前正同时运行一具体应用程序的较老版本的情况下,也可以执行操作流程200的操作202、204、206和208来更新该应用程序。
图3示出了可用于实现这里所述技术的通用计算机环境300。计算机环境300只是合适的计算环境的一个示例,而非意在暗示对计算机和网络构件使用范围或功能性有任何限制。计算机环境300也不应解释成对于在示例性计算机环境300中所示出的任一组件或其组合有任何依赖或要求。
计算机环境300包括具有计算机302形式的通用计算设备。计算机302的各组件可以包括但不限于一个或多个处理器或处理单元304、系统存储器306、以及将包括处理器304的各系统组件耦合至系统存储器306的系统总线308。
系统总线308代表示任何若干类型的总线结构之一个或多个,包括存储器总线或存储器控制器、外设总线、加速图形端口以及使用任何各种总线体系结构的处理器或局部总线。作为示例,这样的体系结构包括工业标准体系结构(ISA)总线、微通道体系结构(MCA)总线、扩展的ISA(EISA)总线、视频电子技术标准协会(VESA)局部总线和外围部件互连(PCI)总线(也被称为Mezzanine总线)、PCI快速(Express)总线、通用串行总线(USB)、安全数字(SD)总线、或在IEEE 1394(即,FireWire)总线。
计算机302可以包括各种计算机可读介质。这些介质可以是能由计算机302访问的任何可用介质,而且包含易失性和非易失性介质以及可移动和不可移动介质。
系统存储器306包括具有诸如随机存取存储器(RAM)310的易失性存储器形式;和/或诸如只读存储器(ROM)312或闪速RAM的非易失性存储器形式的计算机可读介质。基本输入/输出系统(BIOS)314包含有助于诸如启动时在计算机302中各元件之间传递信息的基本例程,它通常存储在ROM 312或闪速RAM中。RAM 310通常包含处理单元304可以立即访问和/或目前正在操作的数据和/或程序模块。
计算机302还可以包括其他可移动/不可移动,易失性/非易失性计算机存储介质。举例说明,图3列举了硬盘驱动器316,其用于对不可移除、非易失性磁性介质(未示出)进行读写操作;还列举了磁盘驱动器318,其用于对可移除、非易失性磁盘320(如“软盘”)进行读写操作;以及光盘驱动器322,其用于对可移除、非易失性光盘324(如CD-ROM、DVD-ROM或其它光介质)进行读写操作。硬盘驱动器316、磁盘驱动器318和光盘驱动器322每个都通过一个或多个数据介质接口325与系统总线308相连。另外,硬盘驱动器316、磁盘驱动器318和光盘驱动器322也可通过一个或多个接口(未示出)与系统总线308相连。
盘驱动器及其相关的计算机可读介质提供计算机可读指令、数据结构、程序模块以及其它计算机302数据的非易失性存储。尽管该示例示出了硬盘316、可移动磁盘320和可移动光盘324,但应当认识到其它类型可存储由计算机访问的数据的计算机可读介质也可用来实现该示例性计算系统和环境,这些介质如盒式磁带或其它磁性存储设备、闪速存储卡、CD-ROM、数字多功能盘(DVD)或其它光盘存储器、随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)等等。
任何数量的程序模块可存储在硬盘316、磁盘320、光盘324、ROM 312和/或RAM 310中,例如,操作系统326(在某些实施例中包括上述低优先级I/O文件系统和高优先级I/O文件系统以及索引系统)、一个或多个应用程序328、其它程序模块330以及程序数据332。每个这样的操作系统326、一个或多个应用程序328、其它程序模块330以及程序数据332(或其某种组合)可实现所有或部分支持分布式文件系统的现有组件。
用户可通过诸如键盘334和点击设备336(如“鼠标”)这样的输入设备将命令和信息输入到计算机302中。其它输入设备338(未特别示出)可以包括麦克风、操纵杆、游戏垫、圆盘式卫星天线、串行接口和/或扫描仪等。这些和其它输入设备通过耦合到系统总线308的输入/输出接口340连接到处理单元304,但也可通过其它接口和总线结构如并行端口、游戏端口或通用串行总线(USB)来连接。
监视器342或其它类型的显示设备也可通过诸如视频适配器344这样的接口与系统总线308相连。除监视器342之外,其它的输出外围设备可包括诸如扬声器(未示出)和打印机346这样的组件,这些组件可通过I/O接口340与计算机302相连。
计算机302可在有一台或多台远程计算机(如远程计算设备348)逻辑连接的网络化环境中工作。举例来说,远程计算设备348可以是PC、便携式计算机、服务器、路由器、网络计算机、对等设备或者其他常见网络节点等。远程计算设备348示出作为可以包括在本文中关于计算机302描述的许多或全部元件和特征的便携式计算机。
计算机302和远程计算机348之间的逻辑连接被描述为本地网(LAN)350和通用广域网(WAN)352。这样的网络化环境常见于办公室、企业计算机网络、内联网和因特网中。
当在LAN网络化环境中应用时,计算机302通过网络接口或适配器354连接到本地网络350。当在WAN网络化环境中应用时,计算机302通常包括调制解调器356或其它用于在广域网352上建立通信的装置。调制解调器356可为计算机302内置或外置,其可通过I/O接口340或其它恰当的机制连接到系统总线308上。应当认识到所述网络连接是示例性的,也可使用在计算机302和348之间确立至少一个通信链接的其它装置。
在联网环境中,比如结合计算环境300所示出的,相对计算机302或其部分描绘的程序模块可存储在远程存储器存储设备中。例如,远程应用程序358驻留在远程计算机348的存储设备中。为说明起见,应用程序或程序以及如操作系统这样的其它可执行程序组件在这里以单独的块来阐明,但应到认识到这样的程序和组件多次以计算设备302的不同存储器组件形式存在,并由至少一台计算机数据处理器来执行。
各种模块和技术在本申请中可在诸如程序模块的由一个或多个计算机或其他设备执行的计算机可执行指令的一般上下文中描述。一般而言,程序模块包括用于执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等。通常,程序模块的功能可以在各个实施例中按需进行组合或分布。
这些模块和技术的实现可以存储在某种形式的计算机可读介质上或通过某种形式的计算机可读介质传输。计算机可读介质可以是可由计算机访问的任何可用介质。举例说明,但并非限定,计算机可读介质可包含“计算机存储器介质”和“通信介质”。
“计算机存储器介质”包括易失性和非易失性、可移除和不可移除介质,这样的介质能以任何信息存储的方法或技术来实现,如计算机可读指令、数据结构、程序模块或其它数据。计算机存储器介质包括但不局限于,RAM、ROM、EEPROM、闪速存储器或其它存储器技术、CD-ROM、数字多功能盘(DVD)或其它光盘存储器、盒式磁带、磁带、磁盘存储器或其它磁存储设备,或者任何其它可用于存储所需信息并可由计算机存取的介质。
“通信介质”通常包含计算机可读指令、数据结构、程序模块或者其它包含在已调制数据信号中的数据(如载波或其它传送机制)。通信介质也包括任意的信息传递介质。术语“已调制数据信号”是指以在该信号中编码信息的方式来设置或改变其一个或多个特性的信号。作为示例而非限制,通信介质包括诸如有线网络或直线连接这样的有线介质,以及诸如超声波、RF、远红外和其它无线介质这样的无线介质。任何以上组合也包括在计算机可读介质的范畴内。
本说明书通篇引述了“一个实施例”、“一实施例”或“一范例实施例”,这意指特定的说明特征、结构或特性是涵盖在至少一个实施例中的。于是,这样短语的使用可引用到不止一个实施例中。进一步,在一个或多个实施例中,所述特征、结构或特性能以任何合适的方式组合。
以上说明、示例和数据提供了对本发明成分的制造和使用的全面描述。因为可以在不背离本发明的精神和范围的情况下做出本发明的许多实施例,所以本发明落在所附权利要求的范围内。
Claims (20)
1.一种用于在第一计算设备上部署应用程序的计算机实现的方法,包括:
从位于第二计算设备上的部署储存库获取元数据;其中所述元数据包括用于部署所述应用程序的信息;以及
使用所获取的元数据在所述第一计算设备上部署所述应用程序。
2.如权利要求1所述的方法,其特征在于,还包括响应于检查所获取的元数据来获取资源。
3.如权利要求2所述的方法,其特征在于,还包括在所述第一计算设备上部署所述应用程序期间将所述资源视为非本地资源。
4.如权利要求2所述的方法,其特征在于,还包括周期性地轮询所述第二计算设备上的部署储存库。
5.如权利要求1所述的方法,其特征在于,还包括确定所述第二计算设备上涉及所述应用程序的元数据何时已被改变。
6.如权利要求5所述的方法,其特征在于,还包括在临时持久目录中存储所述元数据直到指示在所述第一计算设备上部署所述应用程序的事件发生。
7.如权利要求5所述的方法,其特征在于,确定所述第二计算设备上涉及所述应用程序的元数据何时已被改变包括,从所述第一计算设备获取第一指示符并从所述第二计算设备获取第二指示符,并将所述第一指示符与所述第二指示符相比较以确定所述元数据何时已被改变;其中所述第一指示符和所述第二指示符可以是时间戳和版本之一。
8.如权利要求1所述的方法,其特征在于,从所述第二计算设备上的部署储存库中获取所述元数据包括以事务性的基础将所述元数据下载至所述第一计算设备。
9.如权利要求3所述的方法,其特征在于,还包括获取指向所述资源的路径名并且仅把所述路径名的根目录从原始根目录改变为所述第一计算设备的域。
10.一种使用元数据部署应用程序的装置,包括:
被配置为连接至网络的网络接口;
处理器和计算机可读介质;
存储在所述计算机可读介质上并在所述处理器上执行的操作环境;以及
在所述操作环境的控制下进行操作的部署引擎,并且所述部署引擎用于执行以下动作:
从位于网络上的部署储存库获取元数据;其中所述元数据包括用于部署应用程序的信息;以及
在所述计算机可读介质上存储所获取的元数据;
获取涉及所获取的元数据的资源;以及
使用所获取的元数据部署所述应用程序。
11.如权利要求10所述的装置,其特征在于,从位于网络上的部署储存库获取元数据包括确定所述元数据何时已被更新。
12.如权利要求11所述的装置,其特征在于,在所述计算机可读介质上存储所获取的元数据包括在临时持久目录内存储所述元数据直到指示部署所述应用程序的事件发生。
13.如权利要求11所述的装置,其特征在于,确定所述元数据何时已被更新包括比较时间戳信息或版本信息。
14.如权利要求13所述的装置,其特征在于,从位于网络上的部署储存库获取元数据包括以事务性的基础下载所述元数据。
15.如权利要求13所述的装置,其特征在于,所获取的元数据包括至少一个访问控制。
16.如权利要求13所述的装置,其特征在于,所述应用程序被配置为查询所述部署引擎以取得所述资源的位置。
17.一种具有计算机可执行指令来提供部署应用程序的元数据的计算机可读介质,包括:
访问来自部署储存库的且与部署应用程序相关联的元数据;
访问与所述元数据相关联的资源;以及
将所述元数据和所述资源提供给计算设备;其中所述元数据包括用于在所述计算设备上部署所述应用程序的信息。
18.如权利要求17所述的计算机可读介质,其特征在于,还包括将指示所述元数据已被改变的指示符与所述元数据相关联。
19.如权利要求17所述的计算机可读介质,其特征在于,还包括当要在所述计算设备上更新所述应用程序时,更新所述部署储存库内的所述元数据。
20.如权利要求17所述的计算机可读介质,其特征在于,还包括当要在所述计算设备上安装所述应用程序时,在所述部署储存库内安装所述元数据。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US74892105P | 2005-12-09 | 2005-12-09 | |
US60/748,921 | 2005-12-09 | ||
US11/365,270 | 2006-03-01 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101326515A true CN101326515A (zh) | 2008-12-17 |
Family
ID=40189196
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2006800463543A Pending CN101326515A (zh) | 2005-12-09 | 2006-12-05 | 元数据驱动的应用程序部署 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101326515A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102591645A (zh) * | 2010-12-16 | 2012-07-18 | 微软公司 | 对数据的基于元数据的事件支持操作 |
CN105027126A (zh) * | 2012-12-13 | 2015-11-04 | 微软技术许可有限责任公司 | 元数据驱动的实时分析框架 |
CN105900391A (zh) * | 2013-02-28 | 2016-08-24 | 微软技术许可有限责任公司 | 使用restlike api进行实时通信 |
CN106897085A (zh) * | 2015-12-21 | 2017-06-27 | 因文西斯系统公司 | 为运行时间动作期间的部署监视应用程序状态 |
CN111712795A (zh) * | 2018-05-23 | 2020-09-25 | 西门子股份公司 | 用于评估应用部署的方法、设备、计算机程序产品和可读介质 |
CN112241276A (zh) * | 2019-07-19 | 2021-01-19 | 华为技术有限公司 | 一种设备的升级方法及装置 |
WO2023035899A1 (zh) * | 2021-09-10 | 2023-03-16 | 西门子(中国)有限公司 | 部署模型的方法、平台和计算机可读介质 |
-
2006
- 2006-12-05 CN CNA2006800463543A patent/CN101326515A/zh active Pending
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102591645A (zh) * | 2010-12-16 | 2012-07-18 | 微软公司 | 对数据的基于元数据的事件支持操作 |
US8793706B2 (en) | 2010-12-16 | 2014-07-29 | Microsoft Corporation | Metadata-based eventing supporting operations on data |
CN102591645B (zh) * | 2010-12-16 | 2015-05-27 | 微软公司 | 对数据的基于元数据的事件支持操作 |
CN105027126B (zh) * | 2012-12-13 | 2018-05-15 | 微软技术许可有限责任公司 | 元数据驱动的实时分析框架 |
CN105027126A (zh) * | 2012-12-13 | 2015-11-04 | 微软技术许可有限责任公司 | 元数据驱动的实时分析框架 |
US10013239B2 (en) | 2012-12-13 | 2018-07-03 | Microsoft Technology Licensing, Llc | Metadata driven real-time analytics framework |
CN105900391A (zh) * | 2013-02-28 | 2016-08-24 | 微软技术许可有限责任公司 | 使用restlike api进行实时通信 |
CN106897085A (zh) * | 2015-12-21 | 2017-06-27 | 因文西斯系统公司 | 为运行时间动作期间的部署监视应用程序状态 |
CN106897085B (zh) * | 2015-12-21 | 2021-10-15 | 阿韦瓦软件有限责任公司 | 为运行时间动作期间的部署监视应用程序状态 |
CN113835720A (zh) * | 2015-12-21 | 2021-12-24 | 阿韦瓦软件有限责任公司 | 为运行时间动作期间的部署监视应用程序状态 |
CN111712795A (zh) * | 2018-05-23 | 2020-09-25 | 西门子股份公司 | 用于评估应用部署的方法、设备、计算机程序产品和可读介质 |
CN112241276A (zh) * | 2019-07-19 | 2021-01-19 | 华为技术有限公司 | 一种设备的升级方法及装置 |
CN112241276B (zh) * | 2019-07-19 | 2022-04-22 | 华为技术有限公司 | 一种设备的升级方法及装置 |
WO2023035899A1 (zh) * | 2021-09-10 | 2023-03-16 | 西门子(中国)有限公司 | 部署模型的方法、平台和计算机可读介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101343148B1 (ko) | 자동화된 디바이스 드라이버 관리 | |
US7987459B2 (en) | Application programming interface for identifying, downloading and installing applicable software updates | |
CN100449524C (zh) | 维护基于组件的软件产品 | |
US8935687B2 (en) | Incrementally updating a software appliance | |
CN100547551C (zh) | 不同类型操作系统中使用通用预安装环境的方法和系统 | |
CN101960449B (zh) | 用于对远程资源的web访问的基于XML的web订阅源 | |
US8443361B2 (en) | Systems and methods for tracking a history of changes associated with software packages in a computing system | |
CN102804202B (zh) | 内容网格搜索 | |
CN101183379A (zh) | 用于检索数据的方法和系统 | |
CN107193607B (zh) | 用于更新代码文件的方法和装置、存储介质、处理器以及终端 | |
CN101326515A (zh) | 元数据驱动的应用程序部署 | |
US7440971B2 (en) | Context based access of files by file system to a client based on detection of related files opened by the client | |
WO2008069431A1 (en) | Download server and method for installing and updating application program using partitioning of shared library | |
EP2805233B1 (en) | Installation engine and package format for parallelizable, reliable installations | |
CN101268442A (zh) | 远程数据处理系统的配置 | |
Fonseca Cacho et al. | Reproducible research in document analysis and recognition | |
US20170140009A1 (en) | Caching linked queries for optimized compliance management | |
US8103863B2 (en) | Workflow management to automatically load a blank hardware system with an operating system, products, and service | |
CN102859512A (zh) | 可远程处理的项目 | |
CN114860202A (zh) | 项目运行方法、装置、服务器及存储介质 | |
US8423989B2 (en) | Software parameter management | |
US10782959B1 (en) | Storing a file list for a public file repository as a file to avoid rate limits on file list requests | |
US8812458B2 (en) | Adaptive methodology for updating solution building block architectures and associated tooling | |
US8805895B2 (en) | Adaptive methodology for updating solution building block architectures and designs | |
JP2002245296A (ja) | 製品選定装置およびこれを備えた製品選定システム並びに製品選定方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Open date: 20081217 |