CN106233252B - 用于定制软件的动态更新安装器 - Google Patents

用于定制软件的动态更新安装器 Download PDF

Info

Publication number
CN106233252B
CN106233252B CN201580021638.6A CN201580021638A CN106233252B CN 106233252 B CN106233252 B CN 106233252B CN 201580021638 A CN201580021638 A CN 201580021638A CN 106233252 B CN106233252 B CN 106233252B
Authority
CN
China
Prior art keywords
update
user
user interface
applicable
computing system
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201580021638.6A
Other languages
English (en)
Other versions
CN106233252A (zh
Inventor
A·纳奇穆图
S·J·托马斯
A·古普塔
N·S·普莱默
D·戈恩
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Publication of CN106233252A publication Critical patent/CN106233252A/zh
Application granted granted Critical
Publication of CN106233252B publication Critical patent/CN106233252B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

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

Landscapes

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

Abstract

提供了用于更新定制软件的系统的计算机实现的方法。该方法包括接收更新请求并收集与定制软件的系统有关的上下文信息。基于该上下文信息来生成对于可应用于定制软件的系统的更新的查询。接收到指示至少一个可应用更新的查询响应。接收到与至少一个可应用更新有关的选择。基于该选择来选择性地应用至少一个更新。

Description

用于定制软件的动态更新安装器
背景
计算机系统当前被广泛应用。一些此类系统在它们被部署在终端用户的场所之前被(某些在很大程度上)定制。这些系统通常还具有可被安装的更新。
作为示例,一些此类计算机系统包括业务系统,诸如顾客关系管理(CRM)系统、企业资源规划(ERP)系统、业务线(LOB)系统等。在这些类型的系统中,用户或顾客首先购买通用业务系统,且用户或顾客通常对该通用业务系统进行定制、扩展或其它修改,以便获得其自己的定制部署。
此类系统通常具有针对其发布的更新。更新可包括新版本以及隐错修正。例如,当业务系统的新版本被生成时,随后通常是针对在发布之前未被修复的问题的多个隐错修正。修正通常在其被生成时被零碎地发布。然而,周期性地,发布累积更新包,该累积更新包包括到该时刻所生成的所有修正。在过去,累积更新包通常以固定介质的形式(诸如在CD-ROM上)被提供给终端用户。该累积更新可例如包括数百或者甚至数千个修正和/或升级。在累积更新的情况下,如果顾客决定推迟对更新的安装,则软件系统可能由于无法充分利用作为该累积更新的一部分的特征增强或性能优化而滞后。
当前,定制软件系统的用户不具有用于确定在任意给定点什么关键更新可用的有效方式。由此,用户在他们按需主动地获得关键或甚至理想更新的能力方面受限。相反,这样的用户等待接着可被安排用于部署到定制软件系统的固定介质更新的发布。不像对于台式计算机的更新,这些更新可影响数十或甚至数百个一起工作来提供对于企业而言重要的功能的计算机。
提供以上讨论仅用作一般的背景信息,并不旨在用作帮助来确定所要求保护的主题的范围。
概述
提供了用于更新定制软件的系统的计算机实现的方法。该方法包括接收更新请求并收集与定制软件的系统有关的上下文信息。基于该上下文信息来生成对于可应用于定制软件的系统的更新的查询。接收到指示至少一个可应用更新的查询响应。接收到与至少一个可应用更新有关的选择。基于该选择来选择性地应用至少一个更新。
提供本概述以便以简化的形式介绍以下在详细描述中进一步描述的一些概念。本概述并非旨在标识出要求保护的主题的关键特征或必要特征,亦非旨在用作辅助确定要求保护的主题的范围。所要求保护的主题不限于解决在背景中提及的任何或所有缺点的实现。
附图简述
图1是一个示例性更新架构的框图。
图2是解说图1中所示的架构在生成用于定制软件的动态更新的操作的一个实施例的流程图。
图3是根据一实施例的充分利用生命周期系统的另一示例性更新架构的框图。
图4示出更新安装器组件的更详细框图的一个示例。
图5-28是说明性用户界面的屏幕截图。
图29示出被部署在云计算架构中的图3中示出的架构的一个实施例。
图30-33示出了移动设备的各实施例。
图34是一个说明性计算环境的框图。
详细描述
图1示出其中本文中描述的各实施例是有用的一个示例性架构的框图。架构100包括顾客业务系统101(其可以是在场系统、基于云的系统、或另一系统)。架构100还说明性地包括基于云的更新设施103。业务系统101可被用户通过由业务系统101或由用户设备116生成的用户界面115来访问。在一个实施例中,用户界面115具有用户输入机制117,用户114可致动该用户输入机制以便操纵业务系统101。
顾客业务系统101解说性地包括处理器102、数据存储104、用户界面组件105、更新安装器组件106、冲突解决组件119和业务过程组件121。数据存储104解说性地包括数据108、应用110、描述业务过程112的信息、描述工作流114的信息以及其它项107。在一个实施例中,应用110包括被用来运行业务系统101中的业务过程112和工作流114的业务逻辑。应用110解说性地对数据108操作,该数据可包括表示业务系统101中的项的实体。从而,应用110可包括总分类账应用、仓储应用、允许用户跟踪业务机会、跟踪业务系统中的销售或生产的应用、或各种其它业务应用。实体例如包括表示顾客的顾客实体、表示业务机会的机会实体、表示仓储项的仓储实体、表示报价和提议的报价和提议实体等。数据108可包括各种其它实体和数据,且上面提及的那些仅是作为示例提及的。用户可解说性地访问顾客业务系统101以便执行在执行采用业务系统101的组织的业务中被完成的活动、任务、工作流等。
业务系统101被提供为其中定制软件被采用的环境的一个示例。然而,许多类型的软件以第一状态被运到顾客,并且接着稍后被定制以供完全满足顾客的需要。该定制可被认为是一系列(spectrum)。该系列的一侧上是在部署之前被大量定制或甚至被进一步开发的软件。定制系列的另一侧上是以它运送的情况被操作的软件。根据定义,由于定制引入了与如被运送版本不同的改变,对这种定制软件的更新通常要求大量的关注和时间以便确保任意定制没有由于该更新而表现为不可操作或不稳定。
图2是根据一实施例的更新定制软件的方法的流程图。方法150开始于框152,其中接收到对于更新定制软件系统的请求。用户可出于任意数量的原因来请求该更新。例如,用户可能希望简单地作为例行更新过程的一部分来更新业务系统101。在另一示例中,用户可能希望更新业务系统101的任意或全部部分以便补救用户正在经历的问题。在还一示例中,用户可能希望更新业务系统101的任意或全部部分以便利用更新所提供的新特征。实质上,用户可能希望出于各种原因中的任一个原因在任一时间来进行更新。以前,定制软件的用户会需要等待,直到更新被提供在固定介质上。现在,用户可在他/她方便的时候出于任意数量的原因来开始更新过程。
这种用户发起的更新不需要与软件提供者所阐述的任意更新或发布安排同步。这样的异步更新对于用户而言例如在其中软件提供者根据一安排来发布更新的情况下可以是有益处的,该安排可以是或可以不是周期性的,并且可以依赖于不与业务系统(诸如业务系统101)的特定用户有关的因素。在这点上,本文中描述的系统或软件更新过程可在时间上与软件提供者的发布安排分离,从而允许软件更新独立于软件提供者的发布安排来作出。附加地,由于异步更新可更加频繁地或响应于除了经由软件制造商的更新安排将变得可用之外的特定事务来被执行以增强功能,定制计算系统自身的操作被改进。
响应于更新请求,处理器102致使更新安装器组件106收集与定制软件有关的版本和上下文信息。版本信息指示当前被部署在定制软件中的各个模块和应用的当前版本。上下文信息可以特定于业务系统101内的各个组件或其可被应用到更加宽泛的组件分组。上下文信息可包括业务过程和/或配置键。此外,上下文信息还可包括关于定制软件在其上操作的硬件的信息。进一步的,上下文信息可包括地点信息(诸如国家和/或州)以便促进符合当地规则或法律。附加地,上下文信息可包括关于已经对业务系统101作出的定制的信息。此外,上下文信息可包括错误频率、支持请求频率或任何可帮助标识可应用更新的其他信息。
在框156,处理器102致使更新安装器组件106基于版本信息和上下文信息来生成对于基于云的更新设施103的查询。更新设施103接收并处理该查询并用指示可应用更新的响应来对更新安装器组件106进行响应。如本文中使用的,可应用更新是基于上下文信息对于业务系统101而言是适当的并具有相比于更新组件106在框154中所收集的版本信息更加新的版本的更新。这样的可应用更新可以是关键更新、建议的更新、可选更新或具有其他重要性等级的更新。可应用更新经由用户界面115被显示给用户。用户界面可促进用户对可应用更新的审阅。例如,更新可根据一个或多个准则(诸如国家、模块、业务过程和配置键)被过滤和/或分组。在框158,业务系统101接收关于一个或多个可应用更新的选择。该选择可指示可应用更新中的全部、部分或没有将被应用。在框160,安装器组件选择性地从更新设施103获得任意所选更新并基于在框158处接收到的选择来应用可应用更新。
以上描述的实施例一般地包括与更新设施103进行交互以标识和获得可应用更新的自定义软件的系统(业务系统101)。然而,业务系统中的最近创新可被充分利用来进一步改进更新过程。该创新(本文中指生命周期系统)提供自定义软件系统的用户、技术人员和开发者之间改进的交互。
图3是根据一实施例的充分利用生命周期系统的另一示例性更新架构的框图。环境1000具有与环境100的一些相似性,并且类似的组件被相似地编号。生命周期系统200解说性地包括项目信息206、环境信息208(其可包括表示顾客业务系统101中被用户使用的业务过程集209的信息)、更新状态跟踪信息210、服务202-204、更新信息203、更新推荐服务212和报告生成器服务214。服务202-204可被各个人使用以便标识、跟踪和解决在项目的各生命周期阶段期间出现的问题(例如,从预售到执行和维护)。例如,当业务系统101被设计、构建、部署和测试时,各服务202-204解说性地允许开发者以及用户组织跟踪出现的问题,并且确定在业务系统101的最终实例被部署在该组织处时是否满足用户的预期。
用户可解说性地登录到生命周期系统200以查看服务202-204所提供的各信息。在一个实施例中,例如,服务202-204包括一服务,该服务允许用户标识组织的需要以及由业务系统提供的基本功能并生成标识需要对业务系统所做的功能或定制的安装间隙列表,以便满足部署业务系统的顾客的需要。所述服务还解说性地包括诊断服务,该诊断服务允许生命周期系统200标识定义所部署业务系统101的环境的特定环境信息。例如,环境数据可标识操作系统的版本号和身份、基本系统101的版本号、已被应用到系统101的特定修补、业务系统101所使用的数据库和其它应用平台的版本号、业务系统101是否在生产环境、测试环境、用户接受测试环境中等、以及各种其它信息。如可理解的,生命周期系统200的环境数据可提供充分的上下文信息以用于动态更新。
用户可访问生命周期系统200来查看定义用户的项目的项目信息206、包括以上提到的环境数据以及对运行在业务系统101上的业务过程集209的指示的环境信息208、标识业务系统101的更新状态的更新跟踪信息210(例如,哪些更新已经被应用以及何时已经被应用)、指示对应于已经被安装的更新的详细信息的更新信息203、基于从业务系统101收集的信息来推荐用于业务系统101的更新的更新推荐服务212以及可被用于生成在以下被更加详细描述的各种报告的报告生成器服务214。
当用户希望更新业务系统101中的任意或全部时,用户可登陆到生命周期系统200。一旦登陆,用户可请求更新。根据这样的请求,生命周期系统200使用收集的或以其他方式确定的关于业务系统101的环境信息208来提供上下文信息。生命周期系统200接着基于上下文信息生成查询并将该查询传递到更新设施103。更新设施103基于生命周期系统200提交的查询用可应用更新的列表来对生命周期系统200进行响应。可应用更新的列表被提供给用户以允许用户选择该用户希望应用哪些更新。一旦可应用更新已经被选择,所选更新就被下载并被提供到更新安装器组件106以供安装。更新安装器组件106解说性地安装所选更新,并且在得到命令时可自动解决冲突。顾客业务系统101的更新状态被作为更新状态跟踪信息210解说性地上传到生命周期系统200。从而,用户还可登录到生命周期系统200以便查看更新状态跟踪信息210并接收来自更新推荐服务212的推荐的更新,并且查看各种其它信息和报告,如下面更详细地描述的。
图4是更新安装器组件106的更详细实施例的一个示例的框图。图4示出更新安装器组件106解说性地包括影响分析器组件132、业务过程分析器组件134、安装引擎136和重播组件138。更新安装器106还可包括其它组件140。影响分析器组件132允许用户在应用所选更新之前查看所选更新对业务系统101中的对象和各层的影响。业务过程分析器组件134允许用户在应用所选更新之前查看所选更新对系统101中的业务过程的影响。安装引擎136安装所选更新,且重播组件138在其它环境中重播(或安装)所选更新。
图5-7示出根据一个实施例在更新过程期间所提供的示例性用户界面的屏幕截图。用户界面中的一个或多个可由更新安装器组件106提供。图5示出提供引导消息的用户界面的一个示例的屏幕截图。如图5中显示的,该用户被呈现允许用户下载更新安装器的“download(下载)”按钮。一旦被下载,更新安装器允许用户下载并评估用于自定义软件环境的更新。
图6示出更新安装器一旦被下载和启动就提供的用户界面的屏幕截图。用指示更新安装器的功能的欢迎消息来迎接用户。如果用户致动“next(下一步)”按钮,则图7中显示的用户界面将被提供。在图7中,“software license terms(软件许可条款)”被显示。用户可通过致动“Accept and continue(接受并继续)”按钮来接受许可条款。
如果用户接受许可条款,则图8中显示的另一用户界面被呈现给用户。用户被呈现通过登陆到生命周期服务系统200来“download and install updates(下载并安装更新)”或安装先前下载的更新包的选择。在图8中示出的屏幕截图中,用户已选择“download andinstall(下载并安装)”选项。在致动“Next(下一步)”按钮之际,用户将被呈现图9中示出的用户界面。
图9示出用户界面的一示例的屏幕截图,其中用户可登陆到生命周期系统200或在云计算环境中提供的另一合适的更新系统。用户可选择Customer/Partner(顾客/合作方)登陆或Microsoft Employee(微软雇员)登陆。一旦登陆,用户就可被呈现图10的用户界面显示。在图10中,用户可查看更新分组来评估。在所显示的实施例中,用户可选择显示“Mostrecent(最近)”更新的用户界面元素。附加地,用户界面元素(诸如复选框)被提供以允许用户使用来自生命周期系统200项目的业务过程信息来评估更新。在所显示的示例中,用户选择了复选框并由此这样的业务过程信息被用于评估。此外,用户可选择要更新的项目。图10中显示的可用项目包括:“aaaaaaaaaaaaa”、“test”和“foo”。一旦用户选择了一项目,用户可致动“OK”按钮来进行。
图11示出了在用户选择一项目之后提供的用户界面的一示例的屏幕截图。图11指示与所选项目有关的更新的下载进展。在下载的成功完成之际,下一用户界面显示被提供到用户。图12示出被提供给用户以允许对“Binary updates(二进制更新)”和/或“Application updates(应用更新)”进行选择的用户界面的一示例的屏幕截图。在所示的示例中,用户选择了两者。在致动“Next(下一步)”按钮之际,下一用户界面显示将被提供给用户。图13示出允许用户选择模型存储的用户界面的一示例的屏幕截图。在所示的示例中,用户选择了模型存储:“RDVM0026F9PRIYA-AXDB_model”。用户可接着通过致动“Next(下一步)”按钮来继续更新过程。
图14示出一旦用户选择了模型存储并致动了“Next(下一步)”按钮就被提供给用户的用户界面的一示例的屏幕截图。用户被提供“Select application updates(选择应用更新)”的能力。在这点上,用户可简单地选择指示所有更新被选择的单选按钮或其他合适的用户界面元素。然而,用户还可选择可应用更新。当用户这么选择时,附加的过滤器(诸如“Fix type(修复类型)”、“Module(模块)”、“License Code(许可代码)”、“Region/Country(地区/国家)”和“Business process(Lifecycle Services)(业务过程(生命周期服务))”)可被用于过滤可应用更新。
“许可代码”过滤器机制允许用户按照许可代码元素来过滤可应用更新。这些元素可包括例如电子银行(electronic banking)代码元素、总分类账(general ledger)代码元素(或应用)等。
“地区/国家”上下文过滤器机制允许用户按照地区/国家上下文来过滤可应用更新。例如,被部署在一个国家的系统可能对专门针对另一国家的系统生成的一些更新不感兴趣。从而,可应用更新可按照地区/国家上下文来过滤。
“业务过程”过滤器机制允许用户基于更新应用到的业务过程来过滤可应用更新。作为示例,在一个实施例中,生命周期系统200包括服务202-204,该服务使用业务过程建模器来生成给定顾客业务系统101中的业务过程的模型。从而,针对个体顾客业务系统101的业务过程集209被存储,以使得用户可查看系统101中的各业务过程。更新安装器组件106解说性地访问来自生命周期系统200的业务过程集209并在用户输入机制中显示那些过程。从而,用户可选择业务系统101中的特定业务过程来过滤可应用更新。
附加地,如在该示例中示出的,可提供搜索框,从而允许用户搜索特定更新。在图14中示出的示例中指示的更新根据修复类型被分组。由此,主要特征更新(KB2929061:Test12for Dependency Tool(针对依赖性工具的KB2929061:Test 12))与17个可选修复分开地显示。附加的显示面板具有用于“Details(细节)”的和用于“Conflicts(冲突)”的选项卡。在图14中,“Details”选项卡被选择并且没有细节被显示。相反,图15示出“Conflicts”选项卡被选择并且提供了指示存在针对17个可选修复的一个“Classes(类)”冲突的“Conflictsummary(冲突概要)”。用户可选择“Get conflict details(获得冲突细节)”链接并获得关于该冲突的更多信息。图16示出被提供给用户以便提供关于冲突的更多信息的用户界面的一个示例的屏幕截图。在所显示的示例中,该冲突与USR层中的类有关。更具体地,该冲突与名为SysChecklist_Servicing的Object(对象)有关。该显示还示出仅存在一个这样的冲突。此外,该用户界面显示还可包括用户界面元素,其允许用户将该冲突信息“Export toExcel(导出到Excel)”或开始“Impact Analysis wizard(影响分析向导)”。为了进行,用户致动“Next”按钮。
图17示出了被提供给用户以便审阅所选更新的用户界面的一示例的屏幕截图。如果用户同意所选更新的列表,则用户可选择“Next”按钮来进行。然而,如果用户希望改变选择,则用户可选择“Back(回退)”按钮来返回到较早的屏幕以便改变该选择。
一旦用户通过按压“Next”按钮接受了更新的列表,就提供允许用户保存更新的用户界面显示。图18示出允许用户保存更新的用户界面显示的一示例。用户被提供有按钮,当该按钮被致动时,将“Save custom update package(保存自定义更新包)”。在按压该按钮之际,提供允许用户命名该文件并选择其类型和位置的SaveAs(另存为)框。一旦用户输入了所需信息,用户就可按压“Save(保存)”按钮来保存自定义更新包。
一旦自定义更新包已经被保存,该更新就可以离线模式被应用。即,用户不需要登陆到基于云的更新提供者。应用所保存的自定义更新包的过程与在线版本类似地开始。例如,图20和21中显示的用户界面与图6和图7中的那些用户界面相同,由此不需要被再次描述。附加地,尽管图22中显示的用户界面类似于图8的用户界面,但是用户选择安装先前下载的更新包(“C:\Users\MBSUser\Desktop\DynamicsAXPackage.axupdate”)。在致动“Next”按钮之际,用户被呈现有下一用户界面显示。图23是被呈现给用户以允许对“Binaryupdates(二进制更新)”、“Application updates(应用更新)”或两者进行选择的用户界面的一示例的屏幕截图。附加地,图23中显示的用户界面允许用户在“Express(快速)”更新模式或“Custom(自定义)”模式之间进行选择,在Express更新模式中,从更新包中安装所有应用更新,在Custom模式中,用户可选择特定的应用更新来安装。一旦用户作出了他/她的选择,用户就通过按压“Next”按钮来继续。
图24、25和26中显示的用户界面分别与图13、16和17中的那些用户界面相同,并且由此其描述不被重复。
图27示出允许用户审阅组件并选择自定义软件系统的组件来更新的用户界面的一示例的屏幕截图。在所示的示例中,用户选择了更新:Database(数据库),ApplicationObject Server(应用对象服务器),Client and Office add-ins(客户端和Office插件),Components(组件),Setup Support Files(设置支持文件),Help Server(帮助服务器),以及Retail Components(零售组件)。此外,在Application Object Server组件内,用户选择了“01-Microsoft”组件以用于更新。类似地,在“Retail Components”组件中,用户选择了数个用于更新的子组件并留下数个子组件不被改变。具体地,用户选择了更新:RetailHeadquarters(零售总部),Retail POS(零售POS),Retail Store Database Utility(零售商店数据库设施),Commerce Data Exchange(商务数据交换):Real-Time Service(实时服务),RetailCommerceAsyncClient(零售商务异步客户端),以及RetailCommerceAsyncServer(零售商务异步服务器)。用户选择了留下以下子组件不改变:Retail Salt Utility(零售盐设施),Commerce Data Exchange(商务数据交换):SynchService(同步服务),Retail Online Channel(零售在线频道),Retail SDK(零售SDK),Retail Server(零售服务器),以及Retail Modern POS(零售现代POS)。附加地,如图27中显示的,用户被提供有“AOS instances will be stopped during the update process(AOS实例将在更新过程期间停止)”的通知。用户还可被呈现用于在安装之后重新启动这样的AOS实例的选项。一旦用户满意他/她的选择,用户就致动“Install(安装)”按钮,从而致使安装器执行对更新的安装。
在本说明书的此处,用户现在已选择了要被应用(或安装)的可能更新集,且已不仅审阅了所选更新将对业务系统101中的一组业务过程具有的影响,还审阅了其将对对象和层的级别所具有的影响。用户已审阅了将被产生的冲突且甚至可能审阅与影响和与冲突相对应的详细信息。更新选择被保存,以使得所述更新选择可被导出以同样在其它环境中应用。
一旦用户致动“安装(Install)”按钮,安装器将安装所选更新。在安装期间,安装引擎136可生成进度更新显示,诸如图28中示出的用户界面540。当然,其它进度更新显示也可被示出。
当安装引擎136完成安装所述更新时,其还解说性地更新生命周期系统200中的更新状态跟踪信息210。安装引擎136接着生成显示该安装的状态的用户界面显示。该用户界面可指示例如对各组件中的一些组件的更新已被成功安装,而对其它组件的更新尚未被成功安装。如果用户希望查看更多细节,用户可解说性地致动用户输入机制以被导航至示出相应安装的细节的更详细日志文件。
在安装完成后,冲突解决组件119解说性地生成允许用户请求冲突解决组件119将自动解决其能解决的尽可能多的冲突而无需用户干预的用户界面显示。解决冲突在此处还被称为执行代码合并。
冲突解决组件119可用各种不同的方式来这么做。例如,业务系统101的制造商所提供的业务系统101的基础系统可能正用累积更新包120来更新。从而,可能存在系统101的原始基础版本,其被更新以获得系统101的经更新版本。然而,部署系统101的组织还可能已修改或以其它方式定制了系统101的基础版本。从而,在一个实施例中,冲突解决组件119进行三方比较,其将系统101的原始基础版本、与系统101的经更新版本、以及与在该组织处被实际部署的系统101的定制版本进行比较。冲突解决组件119随后执行操作以使得被实际部署的系统101的定制版本将以消除冲突的方式被更新。
一示例可能是有帮助的。例如,假定系统101的基础版本具有名为“字符串S时钟(string S clock)”的元素。假定用户已定制了系统101的基础版本以使得系统101的部署版本中的元素现在被称为“字符串S+1时钟(string S+1clock)”。如果正被用户安装的特定更新改变了系统101的基础版本中的“字符串S时钟”的值,则存在冲突,因为用户已经将该元素定制为“字符串S+1时钟”。从而,冲突解决组件119进行基于文本的三方比较来修正更新以使得更新与用户将“字符串S时钟”定制成“字符串S+1时钟”相一致。当然,冲突解决组件119也用各种各样的其他方式来解决冲突。
冲突解决组件119随后存储冲突解决(或代码合并)结果信息以使得其可在稍后被审阅或使用。例如,组件119可存储合并在其中被执行的对象路径。其可存储冲突总数、所解决冲突数、以及时间戳。当然,其还可存储其它信息。
本讨论提到了处理器和服务器。在一个实施例中,处理器和服务器包括具有相关联的存储器和时序电路系统(未分别示出)的计算机处理器。它们是它们所属的系统或设备的功能部分,且由这些系统中的其他组件或项的功能来激活并促成这些功能。
同样,讨论了数个用户界面。这样的用户界面可以采取各种各样的不同形式且可包括布置于其上的各种各样不同的用户可致动输入机制。例如,用户可致动输入机制可以是文本框、复选框、图标、链接、下拉菜单、搜索框,等等。它们还可按各种不同的方式来致动。例如,可使用点击设备(诸如跟踪球或鼠标)来致动它们。可使用硬件按钮、开关、操纵杆或键盘、拇指开关或拇指垫等等来致动它们。还可使用虚拟键盘或其他虚拟致动器来致动它们。另外,在其上显示它们的屏幕是触敏屏的情况下,可以使用触摸手势来致动它们。同样,在显示它们的设备具有语音识别组件的情况下,可以使用语音命令来致动它们。
还讨论了数个数据存储。将注意,它们可各自被分解成多个数据存储。它们全部可位于访问它们的系统的本地,全部可以是远程的,或一些可以在本地而其他在远程。本文构想了所有这些配置。
同样,附图示出了具有归属于每一框的功能的多个框。将注意,可以使用更少的框,使得功能由更少的组件来执行。同样,可以使用更多框,其中功能被分布在更多组件之间。
图29是图3中所示的架构100的框图,不同之处在于其元件被部署在云计算架构500中。术语“云”、“基于云的系统”、“基于云的架构”或类似术语指代设备(例如,服务器计算机、路由器等)的网络。云计算提供了不要求终端用户知晓交付服务的系统的物理位置或配置的计算、软件、数据访问和存储服务。在各个实施例中,云计算通过诸如因特网之类的广域网使用合适的协议来交付服务。例如,云计算提供者通过广域网交付应用,并且它们可以通过web浏览器或任何其他计算组件被访问。架构100的软件或组件以及相对应的数据可被存储在远程位置处的服务器上。云计算环境中的计算资源可以被整合在远程数据中心位置处或者它们可以是分散的。云计算基础结构可以通过共享数据中心来交付服务,即使在用户看来它们是单个访问点。因此,在此所述的组件和功能可以从使用云计算架构的远程位置处的服务提供者来提供。替代地,它们可以从常规的服务器中提供,或者它们可以直接地或以其他方式安装在客户端设备上。
本说明书旨在包括公共云计算和私有云计算两者。云计算(公共和私有两者)提供了基本无缝的资源联营以及对管理和配置底层硬件基础结构的降低的需求。
公共云由供应商管理,并且通常支持使用同一基础结构的多个消费者。此外,与私有云相反,公共云能够将终端用户从管理硬件中释放出来。私有云可由机构本身管理,并且基础结构通常不与其他机构共享。该机构在某种程度上仍然维护着硬件,诸如安装和维修等。
在图29中所示的实施例中,一些项与图3中所示的那些是类似的,并且它们被类似地编号。图29具体地示出系统101和200可位于云502(可以是公共的、私有的或者其中某些部分是公共的而某些部分是私有的组合)中。因此,用户使用用户设备116通过云502来访问那些系统。
图29还描绘了云架构的另一实施例。图29示出还构想了架构100的某些元素被置于云502中而其他元素没有被置于云502中。作为示例,数据存储104可被置于云502的外部,并且通过云502来被访问。无论它们位于哪里,它们都可直接由设备116通过网络(广域网或局域网)访问,它们可由服务主存在远程站点处,或者它们可作为通过云来提供或通过驻留在云中的连接服务来访问的服务。本文构想了所有这些架构。
还将注意,架构100或其部分可被采用在各种各样不同的设备上。这些设备中的某些包括:服务器、台式计算机、膝上型计算机、平板计算机、或其他移动设备,诸如掌上计算机、蜂窝电话、智能电话、多媒体播放器、个人数字助理等。
图30是可被用作其中可部署本发明的系统(或其部分)的用户或客户的手持式设备16的手持式或移动计算设备的一个实施例的简化框图。图30-33是手持式或移动设备的示例。
图30提供了客户机设备16的组件的总体框图,该客户机设备16可以运行架构100的组件或与架构100交互。在设备16中,提供了通信链路13,该通信链路允许手持设备与其它计算设备通信,并且在一些实施例中提供用于诸如通过扫描来自动接收信息的信道。通信链路13的示例包括:红外端口、串行/USB端口、诸如以太网端口之类的电缆网络端口、以及允许通过一个或多个通信协议的通信的无线网络端口,所述通信协议包括作为用于提供对网络的蜂窝接入的无线服务的通用分组无线服务(GPRS)、LTE、HSPA、HSPA+、以及其他3G和4G无线电协议、1Xrtt和短消息服务,并包括提供对网络的本地无线连接的802.11和802.11b(WiFi)协议、和蓝牙协议。
根据其他实施例,应用或系统被容纳在连接到可移动安全数字(SD)卡接口15的SD卡上。SD卡接口15和通信链路13沿总线19与处理器17进行通信,该总线19还连接到存储器21和输入/输出(I/O)组件23、以及时钟25和定位系统27。
在一个实施例中,提供了I/O组件23以促成输入和输出操作。针对设备16的各个实施例的I/O组件23可以包括:输入组件,比如按钮、触摸传感器、多点触摸传感器、光学或视频传感器、语音传感器、触摸屏、邻近传感器、话筒、倾斜传感器以及重力开关;以及输出组件,比如显示设备、扬声器和或打印机端口。也可以使用其他I/O组件23。
时钟25说明性地包括输出时间和日期的真实时间时钟组件。时钟还可以说明性地为处理器17提供时序功能。
定位系统27说明性地包括输出设备16的当前地理位置的组件。这例如可以包括全球定位系统(GPS)接收机、LORAN系统、航位推算系统、蜂窝三角测量系统或者其他定位系统。这例如还可以包括生成所期望的地图、导航线路和其它地理功能的测绘软件或导航软件。
存储器21存储操作系统29、网络设置31、应用33、应用配置设置35、数据存储37、通信驱动程序39以及通信配置设置41。存储器21可以包括所有类型的有形易失性和非易失性计算机可读存储器设备。其还可以包括计算机存储介质(下面描述)。存储器21存储计算机可读指令,所述指令在被处理器17执行时致使处理器根据所述指令执行计算机实现的步骤或功能。处理器17可以也被其他组件激活以促成它们的功能性。
网络设置31的示例包括诸如代理信息、因特网连接信息以及测绘之类的事物。应用配置设置35包括为特定企业或用户定制应用的设置。通信配置设置41提供了用于与其他计算机进行通信的参数,并且包括诸如GPRS参数、SMS参数、连接用户名和口令之类的项目。
应用33可以是之前已经存储在设备16上的应用或是在使用期间安装的应用,但是这些应用可以是操作系统29的一部分,或者也可以在设备16之外被托管。
图31和图32提供了可被使用的设备16的附加示例,但是也可以使用其它设备。在图31,提供功能电话或移动电话45作为设备16。电话45包括:一组小键盘47,其用于拨打电话号码;显示器49,其能够显示包括应用图像在内的图像、图标、网页、照片和视频;以及控制按钮51,其用于选择在显示器上示出的项目。电话包括天线53,该天线53用于接收诸如通用分组无线服务(GPRS)和1Xrtt之类的蜂窝电话信号以及短消息服务(SMS)信号。在一些实施例中,电话45还包括容纳安全数字(SD)卡57的SD卡槽55。
图32的移动设备是个人数字助理(PDA)59或多媒体播放器或平板计算设备等等(在此称为PDA 59)。PDA 59包括电感屏61,所述电感屏感测指示笔63(或其他指示器,诸如用户的手指)在该指示笔被置于屏幕之上时的位置。这允许用户在屏幕上选择、突出显示和移动项目以及绘图和书写。PDA 59还包括多个用户输入键或按钮(比如按钮65),其允许用户将显示器61上所显示的菜单选项或其他显示选项滚屏,并且允许用户在没有接触显示器61的情况下改变应用或选择用户输入功能。尽管未被示出,但是PDA 59可以包括允许与其他计算机进行无线通信的内置天线和红外发射机/接收机、以及允许与其他计算设备的硬件连接的连接端口。这样的硬件连接通常是通过经由串行或USB端口连接到其他计算机的支架来完成的。因此,这些连接是非网络连接。在一个实施例中,移动设备59还包括容纳SD卡69的SD卡槽67。
图33类似于图31,不同之处在于电话是智能电话71。智能电话71具有显示图标或磁贴或其他用户输入机制75的触敏显示器73。机制75可由用户用来运行应用、进行呼叫、执行数据传输操作,等等。一般而言,智能电话71被构建在移动操作系统上且提供比功能电话更高级的计算能力和连接性。
图31到图33示出在图34中示出的设备16的特定形式。应当理解,除了图31-33中示出的那些之外,设备16的其他形式是可能的。
图34是其中可采用架构100或其一部分(作为示例)的计算环境的一个实施例。参考图34,用于实现一些实施例的示例性系统包括计算机810形式的通用计算设备。计算机810的组件可以包括,但不限于,处理单元820(可以包括系统200或设备16中的处理器102或各处理器)、系统存储器830和将包括系统存储器在内的各种系统组件耦合至处理单元820的系统总线821。系统总线821可以是若干类型的总线结构中的任一种,包括存储器总线或存储器控制器、外围总线和使用各种总线架构中的任一种的局部总线。作为示例而非限制,这样的架构包括工业标准架构(ISA)总线、微通道架构(MCA)总线、增强型ISA(EISA)总线、视频电子技术标准协会(VESA)局部总线和外围部件互连(PCI)总线(也称为夹层(Mezzanine)总线)。参考图1描述的存储器和程序可被部署在图34的对应部分中。
计算机810通常包括各种计算机可读介质。计算机可读介质可以是能由计算机810访问的任何可用介质,而且包含易失性和非易失性介质、可移动和不可移动介质。作为示例而非限制,计算机可读介质可包括计算机存储介质和通信介质。计算机存储介质不同于且不包括已调制数据信号或载波。计算机存储介质包括硬件存储介质,该硬件存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据的信息的任何方法和技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括,但不限于,RAM、ROM、EEPROM、闪存或其它存储器技术、CD-ROM、数字多功能盘(DVD)或其它光盘存储、磁带盒、磁带、磁盘存储或其它磁性存储设备、或能用于存储所需信息且可以由计算机810访问的任何其它介质。通信介质通常具体化计算机可读指令、数据结构、程序模块或传输机制中的其他数据,并包括任何信息递送介质。术语“已调制数据信号”是指使得以在信号中编码信息的方式来设定或改变其一个或多个特征的信号。作为示例而非限制,通信介质包括诸如有线网络或直接线连接之类的有线介质,以及诸如声学、RF、红外及其他无线介质之类的无线介质。上述任何组合也应该包括在计算机可读的介质范围内。
系统存储器830包括易失性和/或非易失性存储器形式的计算机存储介质,如只读存储器(ROM)831和随机存取存储器(RAM)832。包含诸如在启动期间帮助在计算机810内的元件之间传输信息的基本例程的基本输入/输出系统833(BIOS)通常存储在ROM 831中。RAM832通常包含处理单元820可立即访问和/或当前正在操作的数据和/或程序模块。作为示例而非限制,图34例示出了操作系统834、应用程序835、其它程序模块836和程序数据837。
计算机810还可以包括其它可移动/不可移动、易失性/非易失性计算机存储介质。仅作为示例,图34示出了从不可移动、非易失性磁介质中读取或向其写入的硬盘驱动器841,从可移动、非易失性磁盘852中读取或向其写入的磁盘驱动器851,以及从诸如CD ROM或其他光学介质等可移动、非易失性光盘856中读取或向其写入的光盘驱动器855。可在示例性操作环境中使用的其它可移动/不可移动、易失性/非易失性计算机存储介质包括但不限于,磁带盒、闪存卡、数字多功能盘、数字录像带、固态RAM、固态ROM等。硬盘驱动器841通常通过诸如接口840之类的不可移动存储器接口连接到系统总线821,并且磁盘驱动器851和光盘驱动器855通常通过诸如接口850之类的可移动存储器接口连接到系统总线821。
作为替换或补充,本文所述的功能可至少部分地由一个或多个硬件逻辑组件来执行。例如、但非限制,可使用的硬件逻辑组件的说明性类型包括现场可编程门阵列(FPGA)、程序专用的集成电路(ASIC)、程序专用的标准产品(ASSP)、片上系统系统(SOC)、复杂可编程逻辑器件(CPLD)、等等。
上文讨论并在图34中示出的驱动器及其相关联的计算机存储介质为计算机810提供了对计算机可读指令、数据结构、程序模块和其它数据的存储。例如,在图34中,硬盘驱动器841被示为存储操作系统844、应用程序845、其它程序模块846和程序数据847。注意,这些组件可与操作系统834、应用程序835、其它程序模块836和程序数据837相同,也可与它们不同。在此操作系统844、应用程序845、其它程序模块846以及程序数据847被给予了不同的编号,以至少说明它们是不同的副本。
用户可以通过诸如键盘862、话筒863以及诸如鼠标、跟踪球或触摸垫等定点设备861等输入设备来将命令和信息输入至计算机810中。其它输入设备(未示出)可以包括操纵杆、游戏手柄、圆盘式卫星天线、扫描仪等。这些以及其它输入设备通常通过耦合到系统总线的用户输入接口860连接到处理单元820,但也可通过诸如并行端口、游戏端口或通用串行总线(USB)之类的其它接口和总线结构来连接。视觉显示器891或其他类型的显示设备也经由诸如视频接口890之类的接口连接至系统总线821。除了监视器以外,计算机还可包括诸如扬声器897和打印机896之类的其它外围输出设备,它们可通过输出外围接口895来连接。
计算机810使用到诸如远程计算机880等一个或多个远程计算机的逻辑连接在网络化环境中操作。远程计算机880可以是个人计算机、手持设备、服务器、路由器、网络PC、对等设备或其它常见的网络节点,且一般包括以上关于计算机810描述的多个或所有的元件。图41中所示的逻辑连接包括局域网(LAN)871和广域网(WAN)873,但也可以包括其他网络。此类联网环境在办公室、企业范围的计算机网络、内联网和因特网中是常见的。
当在LAN联网环境中使用时,计算机810通过网络接口或适配器870连接到LAN871。当在WAN联网环境中使用时,计算机810通常包括调制解调器872或用于通过诸如因特网等WAN 873建立通信的其它手段。调制解调器872可以是内置的或外置的,可经由用户输入接口860或其它适当的机制连接到系统总线821。在联网环境中,相关于计算机810所示的程序模块或其部分可被存储在远程存储器存储设备中。作为示例而非限制,图34示出了远程应用程序885驻留在远程计算机880上。应当理解,所示的网络连接是示例性的,并且可使用在计算机之间建立通信链路的其它手段。
还应注意,本文描述的不同实施例可以按不同的方式来组合。即,一个或多个实施例的各部分可以与一个或多个其他实施例的各部分组合在一起。本文中构想了所有这些。
尽管用结构特征和/或方法动作专用的语言描述了本主题,但可以理解,所附权利要求书中定义的主题不必限于上述具体特征或动作。更确切而言,上述具体特征和动作是作为实现权利要求的示例形式公开的。

Claims (16)

1.一种自定义计算系统,包括:
处理器;
耦合到所述处理器并被配置成存储代码的存储设备,所述代码在被所述处理器执行时,致使所述处理器执行至少一个定制功能;
耦合到所述处理器并被配置成接收用户输入的输入组件;
耦合到所述处理器并被配置成生成用户界面的用户界面组件,所述用户界面组件被配置成呈现允许用户选择针对所述至少一个更新的模型存储的用户界面元素;
被配置成与一个或多个远程设备通信的更新安装器接口;以及
其中所述处理器被配置成获得关于定制系统的上下文信息并选择性地将至少一个更新应用到所述定制系统,其中所述至少一个更新通过所述更新安装器组件接收自所述一个或多个远程设备,并且所述至少一个更新基于用户对所述模型存储的选择来确定,所述模型存储与所述定制系统中的业务过程相关联。
2.如权利要求1所述的自定义计算系统,其特征在于,所述用户界面组件被配置成向所述用户呈现一元素,所述元素在被所述用户选择时,将致使所述计算系统从所述一个或多个远程设备下载安装器组件。
3.如权利要求1所述的自定义计算系统,其特征在于,所述用户界面组件被配置成向所述用户呈现一元素,所述元素在被所述用户选择时,将致使所述计算系统下载所述至少一个更新。
4.如权利要求1所述的自定义计算系统,其特征在于,所述用户界面组件被配置成呈现允许用户选择少于所述至少一个更新中的全部以供安装的用户界面元素。
5.如权利要求4所述的自定义计算系统,其特征在于,所述用户界面组件被配置成提供允许所述用户保存自定义更新包的用户界面元素。
6.如权利要求5所述的自定义计算系统,其特征在于,所述用户界面组件被配置成提供允许所述用户加载所述自定义更新包以供安装的用户界面元素。
7.一种用于更新定制系统的方法,所述方法包括:
接收来自定制系统的关于可应用更新的查询,所述查询包括与所述定制系统有关的上下文信息;
以至少一个可应用更新的形式来提供对所述查询的响应;
接收对于至少一个可应用更新的选择,所述选择基于用户对所述至少一个可应用更新的模型存储的选择,所述模型存储与所述定制系统中的业务过程相关联;以及
将至少一个可应用所选更新转移到所述定制系统。
8.一种用于更新定制计算系统的方法,所述方法包括:
通过所述计算系统的输入组件来接收更新请求;
收集与所述定制系统有关的上下文信息;
基于所述上下文信息生成针对可应用于所述定制计算系统的更新的查询;
接收指示至少一个可应用更新的查询响应;
接收与所述至少一个可应用更新有关的选择,所述选择基于用户对所述至少一个可应用更新的模型存储的选择,所述模型存储与所述定制计算机系统中的业务过程相关联;以及
基于所述选择来选择性地应用至少一个更新。
9.如权利要求8所述的方法,其特征在于,还包括在接收所述更新请求之前认证用户。
10.如权利要求9所述的方法,其特征在于,还包括提供至少一个可应用更新的显示。
11.如权利要求10所述的方法,其特征在于,还包括基于所述选择来下载所述至少一个可应用更新。
12.如权利要求8所述的方法,其特征在于,所述上下文信息包括关于所述定制计算系统在其上操作的硬件的信息。
13.如权利要求8所述的方法,其特征在于,所述上下文信息包括地点信息。
14.如权利要求8所述的方法,其特征在于,所述上下文信息包括关于先前已经被应用到所述系统的定制的信息。
15.一种计算机系统,包括用于执行如权利要求7-14中的任一项所述的方法的装置。
16.一种具有指令的计算机可读存储介质,所述指令在被执行时致使机器执行如权利要求7-14中的任一项所述的方法。
CN201580021638.6A 2014-04-30 2015-04-24 用于定制软件的动态更新安装器 Active CN106233252B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201461986488P 2014-04-30 2014-04-30
US61/986,488 2014-04-30
US14/456,679 2014-08-11
US14/456,679 US9606788B2 (en) 2014-04-30 2014-08-11 Dynamic update installer for customized software
PCT/US2015/027409 WO2015167943A1 (en) 2014-04-30 2015-04-24 Dynamic update installer for customized software

Publications (2)

Publication Number Publication Date
CN106233252A CN106233252A (zh) 2016-12-14
CN106233252B true CN106233252B (zh) 2020-01-07

Family

ID=54355285

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201580021638.6A Active CN106233252B (zh) 2014-04-30 2015-04-24 用于定制软件的动态更新安装器

Country Status (4)

Country Link
US (1) US9606788B2 (zh)
EP (1) EP3137991A1 (zh)
CN (1) CN106233252B (zh)
WO (1) WO2015167943A1 (zh)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9614724B2 (en) 2014-04-21 2017-04-04 Microsoft Technology Licensing, Llc Session-based device configuration
US9384335B2 (en) 2014-05-12 2016-07-05 Microsoft Technology Licensing, Llc Content delivery prioritization in managed wireless distribution networks
US9384334B2 (en) 2014-05-12 2016-07-05 Microsoft Technology Licensing, Llc Content discovery in managed wireless distribution networks
US10111099B2 (en) 2014-05-12 2018-10-23 Microsoft Technology Licensing, Llc Distributing content in managed wireless distribution networks
US9430667B2 (en) 2014-05-12 2016-08-30 Microsoft Technology Licensing, Llc Managed wireless distribution network
US9874914B2 (en) 2014-05-19 2018-01-23 Microsoft Technology Licensing, Llc Power management contracts for accessory devices
US10037202B2 (en) 2014-06-03 2018-07-31 Microsoft Technology Licensing, Llc Techniques to isolating a portion of an online computing service
US9367490B2 (en) 2014-06-13 2016-06-14 Microsoft Technology Licensing, Llc Reversible connector for accessory devices
US9717006B2 (en) 2014-06-23 2017-07-25 Microsoft Technology Licensing, Llc Device quarantine in a wireless network
US10445166B2 (en) 2014-06-24 2019-10-15 International Business Machines Corporation System verification of interactive screenshots and log files between client systems and server systems within a network computing environment
US20160125418A1 (en) * 2014-10-29 2016-05-05 Honeywell International Inc. Customer configurable support system
WO2016144385A1 (en) * 2015-03-08 2016-09-15 Apple Inc. Sharing user-configurable graphical constructs
US10810004B2 (en) * 2017-06-30 2020-10-20 Oracle International Corporation System and method for managing a public software component ecosystem using a distributed ledger
US10698677B2 (en) * 2018-05-04 2020-06-30 EMC IP Holding Company LLC Method and system for lifecycle management optimization
JP7354658B2 (ja) * 2018-08-10 2023-10-03 株式会社デンソー 車両用電子制御システム、進捗表示の画面表示制御方法及び進捗表示の画面表示制御プログラム
JP7128763B2 (ja) * 2019-03-18 2022-08-31 日立Astemo株式会社 電子制御装置及び制御データの設定方法
US11979303B2 (en) * 2019-04-10 2024-05-07 Avalara, Inc. Software service platform
CN110489142B (zh) * 2019-07-12 2020-05-22 中国人民解放军63961部队 设备软件升级的评估方法及装置、存储介质、终端
CN110450172B (zh) * 2019-08-15 2021-06-15 遨博(北京)智能科技有限公司 一种示教器及其插件的处理方法及装置
CN111475143A (zh) * 2020-04-07 2020-07-31 四川虹美智能科技有限公司 定制软件的方法及装置
EP4323992A1 (en) 2021-05-15 2024-02-21 Apple Inc. User interfaces for group workouts

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5867709A (en) * 1995-10-18 1999-02-02 Kapre Software, Inc. Method and system for reusing customizations to a software product
US6282709B1 (en) * 1997-11-12 2001-08-28 Philips Electronics North America Corporation Software update manager

Family Cites Families (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6151643A (en) * 1996-06-07 2000-11-21 Networks Associates, Inc. Automatic updating of diverse software products on multiple client computer systems by downloading scanning application to client computer and generating software list on client computer
US20030182414A1 (en) 2003-05-13 2003-09-25 O'neill Patrick J. System and method for updating and distributing information
US7251812B1 (en) 2001-10-31 2007-07-31 Microsoft Corporation Dynamic software update
US20040040021A1 (en) * 2002-05-06 2004-02-26 Microsoft Corporation Method and system for keeping an application up-to-date
US7984435B2 (en) * 2002-11-13 2011-07-19 Hewlett-Packard Development Company, L.P. Update system employing reference software to reduce number of update packages
WO2004072773A2 (en) * 2003-02-11 2004-08-26 Bitfone Corporation Electronic device supporting multiple update agents
US20040224674A1 (en) 2003-04-07 2004-11-11 O'farrell Robert System and method for context sensitive mobile data and software update
US20050114625A1 (en) * 2003-09-16 2005-05-26 Domonic Snyder Processing device security setting configuration system and user interface
DE10346478A1 (de) 2003-10-02 2005-05-25 Siemens Ag Flexibler Softwareupdate für Automatisierungssysteme über Internet
JP2007510987A (ja) * 2003-10-27 2007-04-26 アメリカン パワー コンバージョン コーポレイション ソフトウェアプログラムを更新するためのシステムおよび方法
US7496910B2 (en) 2004-05-21 2009-02-24 Desktopstandard Corporation System for policy-based management of software updates
US7370043B1 (en) * 2004-06-28 2008-05-06 Teradata Us, Inc. Method and system for upgrade validation of database query plans
US20060058009A1 (en) * 2004-09-15 2006-03-16 Vogedes Jerome O System and method for wireless download capability of media objects from multiple sources
US7614046B2 (en) 2004-11-24 2009-11-03 Microsoft Corporation Method and system for analyzing the impact of a software update
US8037106B2 (en) * 2005-03-02 2011-10-11 Computer Associates Think, Inc. Method and system for managing information technology data
JP2006309516A (ja) * 2005-04-28 2006-11-09 Sony Ericsson Mobilecommunications Japan Inc ソフトウェア更新システムおよびソフトウェア更新管理装置
CN101094308A (zh) * 2006-06-23 2007-12-26 乐金电子(南京)等离子有限公司 电视接收机自动安装程序的系统及其方法
US8074213B1 (en) 2006-08-11 2011-12-06 Symantec Operating Corporation Automatic software updates for computer systems in an enterprise environment
US8701102B2 (en) 2007-06-27 2014-04-15 Microsoft Corporation Techniques for automatic software provisioning
US8418168B2 (en) * 2008-05-29 2013-04-09 Research In Motion Limited Method and system for performing a software upgrade on an electronic device connected to a computer
US8539477B2 (en) 2009-02-24 2013-09-17 Microsoft Corporation Managed environment update selection
JP4845153B2 (ja) * 2009-03-30 2011-12-28 インターナショナル・ビジネス・マシーンズ・コーポレーション 複数のクライアントを用いた分散環境で更新作業のコンフリクトを回避するシステム、方法、サーバ及びコンピュータプログラム
US8918709B2 (en) 2009-05-29 2014-12-23 Microsoft Corporation Object templates for data-driven applications
US8516471B2 (en) 2009-10-06 2013-08-20 International Business Machines Corporation Detecting impact of operating system upgrades
US8689208B2 (en) 2010-06-24 2014-04-01 Microsoft Corporation Upgrade management of application components
US20120150548A1 (en) 2010-12-14 2012-06-14 Microsoft Corporation Business application lifecycle management
EP2482572B1 (de) 2011-01-27 2015-03-18 Gigaset Communications GmbH Kontext-sensitiver Software-Update für ein Kommunikationsgerät
US20140007074A1 (en) * 2012-06-27 2014-01-02 Google Inc. Methods for updating applications
US20140359593A1 (en) * 2013-05-31 2014-12-04 Microsoft Corporation Maintaining known dependencies for updates
US9665359B2 (en) * 2013-09-13 2017-05-30 Microsoft Technology Licensing, Llc Automatically resolving conflicts after installation of selected updates in a computer system
US9626176B2 (en) * 2013-09-13 2017-04-18 Microsoft Technology Licensing, Llc Update installer with technical impact analysis
US10026064B2 (en) 2013-09-13 2018-07-17 Microsoft Technology Licensing, Llc Automatically recommending updates based on stored lifecycle information
US9830142B2 (en) * 2013-09-13 2017-11-28 Microsoft Technology Licensing, Llc Automatic installation of selected updates in multiple environments

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5867709A (en) * 1995-10-18 1999-02-02 Kapre Software, Inc. Method and system for reusing customizations to a software product
US6282709B1 (en) * 1997-11-12 2001-08-28 Philips Electronics North America Corporation Software update manager

Also Published As

Publication number Publication date
WO2015167943A1 (en) 2015-11-05
EP3137991A1 (en) 2017-03-08
US9606788B2 (en) 2017-03-28
CN106233252A (zh) 2016-12-14
US20150317147A1 (en) 2015-11-05

Similar Documents

Publication Publication Date Title
CN106233252B (zh) 用于定制软件的动态更新安装器
US10268473B2 (en) Update installer with process impact analysis
US9830142B2 (en) Automatic installation of selected updates in multiple environments
US9665359B2 (en) Automatically resolving conflicts after installation of selected updates in a computer system
CN110832453B (zh) 使用基于云的系统的应用的分布式版本控制
US9886262B2 (en) Adaptive upgrade to computing systems
US9886675B2 (en) User support experience with automatically generated virtual environment
US10026064B2 (en) Automatically recommending updates based on stored lifecycle information
US20160048383A1 (en) Isv update delivery
US20160274885A1 (en) Controlling deployment of an industry-specific solution package
US20160274906A1 (en) Generating a deployable industry-specific solution package
US9684802B2 (en) Verification and access control for industry-specific solution package
US20140279823A1 (en) Lifecycle product analysis
US10275440B2 (en) Setup data extraction for deploying a solution package

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant