首页> 中国专利> 在计算机系统中安装所选更新之后自动解决冲突

在计算机系统中安装所选更新之后自动解决冲突

摘要

更新安装程序为用户生成允许用户选择要被应用到计算机系统的更新的更新显示。因为将更新应用到该计算机系统而产生的冲突被自动解决且冲突解决的结果被显示。

著录项

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2019-09-17

    授权

    授权

  • 2016-06-22

    实质审查的生效 IPC(主分类):G06F9/445 申请日:20140909

    实质审查的生效

  • 2016-05-25

    公开

    公开

说明书

背景

计算机系统当前被广泛应用。一些此类系统在系统被部署在终端用户的场所之前被(某些在很大程度上)定制。这些系统通常还具有可被安装的更新。

作为示例,一些此类计算机系统包括业务系统,诸如顾客关系管理(CRM)系统、企业资源规划(ERP)系统、业务线(LOB)系统等。在这些类型的系统中,用户或顾客首先购买通用业务系统,且用户和顾客通常对该通用业务系统进行定制、扩展或其它修改,以便获得其自己的定制部署。

此类系统通常具有针对其发布的更新。更新可包括新版本以及隐错修正。例如,当业务系统的新版本被生成时,随后通常是针对在发布之前未被修复的问题的多个隐错修正。修正通常在其被生成时被零碎地发布。然而,周期性地,发布累积更新包,该累积更新包包括到该时刻所生成的所有修正。例如,这可包括数百或者甚至数千个修正。

当顾客希望将来自累积更新的修正应用到其自己的顾客产品时,他们通常必须应用累积更新中的全部修正,或不应用其中的任何修正。没有从累积更新中拣取并选择要应用哪些定制的任何能力。

而且,用户可能随着时间向其产品应用多个不同修正。对用户而言,知道产品的综合的更新状态可能是困难的。这不被跟踪或存储。

而且,在这些业务系统中,用户在多个不同环境中操作并不罕见。例如,用户可能是在开发环境、以及测试环境、或多个开发和测试环境中操作的开发者。类似地,在产品已被部署的情况下,也可能有生产环境,以及其它环境。

当前用户难以决定是否应用任何更新,且如果应用的话应用哪些更新。如果用户在多个环境中操作,则用户可能需要在所有环境中应用所选更新。这是耗时的。而且,在应用更新之前,用户无法确定更新将如何影响业务系统内的底层业务过程和对象。而且,如果用户选择应用累积更新中的所有更新,通常存在冲突。即,用户的定制可能与所应用的更新冲突。可能花费用户大量时间和努力来解决这些冲突。

提供以上讨论仅用作一般的背景信息,并不旨在用作帮助来确定所要求保护的主题的范围。

概述

更新安装程序为用户生成更新显示,该更新显示允许该用户选择应用到计算机系统的更新。因为向计算机系统应用更新而出现的冲突被自动解决且冲突解决的结果被显示。

提供本概述以便以简化的形式介绍以下在详细描述中进一步描述的一些概念。本概述并非旨在标识出要求保护的主题的关键特征或必要特征,亦非旨在用作辅助确定要求保护的主题的范围。所要求保护的主题不限于解决在背景中提及的任何或所有缺点的实现。

附图简述

图1是一个说明性更新架构的框图。

图1A示出更新安装程序组件的更详细框图的一个示例。

图1B-1到1B-3(统称为图1B)示出了解说图1所示的架构的整体操作的一个实施例的流程图。

图1C是解说图1中所示的架构在生成业务过程影响分析时的操作的一个实施例的流程图。

图1D是解说图1中所示的架构在生成对象和层级影响分析时的操作的一个实施例的流程图。

图2-33是说明性的用户界面显示。

图34示出被部署在云计算架构中的图1中示出的架构的一个实施例。

图35-40示出了移动设备的各实施例。

图41是一个说明性计算环境的框图。

详细描述

图1示出一个说明性架构100的框图。架构100包括顾客业务系统101(其可以是在场系统、基于云的系统、或另一系统)。架构100还解说性地包括生命周期系统200。业务系统101和生命周期系统200可解说性地由用户114通过系统101和200本身或通过用户设备116生成的用户界面显示115来访问。在一个实施例中,用户界面显示115具有用户输入机制117,用户114可致动该用户输入机制以便操纵和控制系统101和200。

顾客业务系统101解说性地包括处理器102、数据存储104、用户界面组件105、更新安装程序组件106、冲突解决组件108和业务过程组件121。数据存储104本身解说性地包括数据108、应用110、业务过程112、工作流114以及其它项116。在一个实施例中,应用110解说性地包括被用来运行业务系统101中的业务过程112和工作流114的业务逻辑。应用110解说性地对数据108操作,该数据可包括表示业务系统101中的项的实体。从而,应用110可包括总分类账应用、仓储应用、允许用户跟踪业务机会、跟踪业务系统中的销售或生产的应用、或各种其它业务应用。实体例如包括表示顾客的顾客实体、表示业务机会的机会实体、表示仓储项的仓储实体、表示报价和提议的报价和提议实体等。数据108可包括各种其它实体和数据,且上面提及的那些仅是作为示例提及的。用户114(或其它用户)可解说性地访问顾客业务系统101以便执行在执行部署业务系统101的组织的业务中进行的活动、任务、工作流等。

生命周期系统200解说性地包括项目信息206、环境信息208(其可包括表示顾客业务系统101中被用户使用的业务过程集209的信息)、更新状态跟踪信息210、服务202-204、更新信息203、更新推荐服务212、影响分析信息211、代码合并信息213和报告生成器服务214。服务202-204可被各个人使用以便标识、跟踪和解决在项目的各生命周期阶段期间出现的问题(例如,从预售到实现和维护)。例如,当业务系统101被设计、构建、部署和测试时,各服务202-204解说性地允许开发者以及用户组织跟踪出现的问题,并且确定在业务系统101的最终实例被部署在该组织处时是否满足用户的预期。

用户114可解说性地登录到生命周期系统200以查看服务202-204所提供的各信息。在一个实施例中,例如,服务202-204包括一服务,该服务允许用户标识组织的需要以及由业务系统提供的基本功能并生成标识需要对业务系统所做的功能或定制的安装间隙列表,以便满足部署业务系统的顾客的需要。所述服务还解说性地包括诊断服务,该诊断服务允许生命周期系统200标识定义所部署业务系统101的环境的特定环境信息。例如,环境数据可标识操作系统的版本号和身份、基本系统101的版本号、已被应用到系统101的特定修补、业务系统101所使用的数据库和其它应用平台的版本号、业务系统101是否在生产环境、测试环境、用户接受测试环境中等、以及各种其它信息。

用户114可访问生命周期系统200来查看定义用户的项目的项目信息206、包括上面提及的环境数据的环境信息208、以及在业务系统101上运行的业务过程集209的指示,标识业务系统101的更新状态的更新跟踪信息210(例如,哪些更新已经被应用及何时被应用),指示可用更新及与已被安装的更新相对应的详细信息的更新信息203,基于从业务系统101采集的信息来推荐业务系统101的更新的更新推荐服务212,显示所选更新对业务系统101(诸如业务过程112、对象、层等)的影响的影响分析信息211,显示自动冲突解决方案的影响的代码合并信息213,以及可被用来生成下面更详细地讨论的各种报告的报告生成器服务214。

在更详细地描述架构100的整体操作之前,将提供简要概览以增强理解。累积更新120可间歇性地变得可用于更新顾客业务系统101(且具体而言,系统101中的应用110或数据存储104中的信息)。累积更新120可包括热修复或以及各种其它更新。在一个实施例中,更新安装程序组件106使用用户界面组件105来生成用户界面显示115,该用户界面显示允许用户114选择期望的各种更新,并且还看到指示出那些更新对用户的业务系统101的影响(例如,在潜在冲突方面)的影响分析。更新安装程序组件106还解说性地允许用户114基于主题或以其它方式搜索各种更新,且查看对业务过程112的影响,以及保存所选更新以在其它环境中重播(或应用)。更新安装程序组件106还解说性地安装所选更新,并且在得到命令时可自动解决冲突。顾客业务系统101的更新状态被作为更新状态跟踪信息210解说性地上传到生命周期系统200。从而,用户114还可登录到生命周期系统200以便查看更新状态跟踪信息210并接收来自更新推荐服务212的推荐更新,并且查看各种其它信息和报告,如下面更详细地描述的。

图1A是更新安装程序组件106的更详细实施例的一个示例的框图。图1A示出了更新安装程序组件106解说性地包括更新搜索组件130、技术影响分析器组件(或影响分析器组件)132、业务过程分析器组件134、安装引擎136、以及回复组件138。其还可包括其它组件140。更新搜索组件130允许用户搜索更新。影响分析器组件132允许用户在应用所选更新之前查看所选更新对业务系统101中的对象和层的影响。业务过程分析器组件134允许用户在应用所选更新之前查看所选更新对系统101中的业务过程的影响。安装引擎136安装所选更新,且重播组件138在其它环境中重播(或安装)所选更新。

图1B-1到1B-3(统称为图1B)示出了图1所示的组件106和架构100的整体操作的一个示例性实施例的流程图。现在将彼此结合描述图1到1B。

为了开始安装更新,用户114首先启动更新安装程序组件106。这由图1B中的框250指示。更新安装程序组件106解说性地生成可由用户查看的各种不同的初步用户界面显示。这由框252指示。更新安装程序组件106还生成允许用户选择要向其应用更新的给定环境的用户界面显示。这由框254指示出。用户界面显示还可允许用户选择安装类型(诸如其中所有更新被自动应用的快速安装、或其中用户114可任选地登录到用户生命周期系统200来标识用户希望应用的特定更新的高级安装)。选择安装类型由图1B中的框256指示。

图2-12示出了表示生成初步用户界面显示的更新安装程序组件106的示例性用户界面显示以及允许用户选择环境和安装类型的用户界面显示集。图2示出用户界面显示258的一个示例。显示258解说性地包括介绍显示面板260,该面板显示解释用户可使用随后的用户界面显示以应用来自累积更新包的所选更新的介绍信息。显示258还解说性地包括导航面板262,该导航面板显示用户将经历以应用更新的各个步骤。

图3示出了在用户致动图2的显示中的“下一步”按钮264时可生成的用户界面显示。图3中所示的一些项与图2中所示的那些是类似的并且它们被类似地编号。图3示出显示266。显示266示出用户已前进至面板262中的“软件许可条款”节点。从而,面板260解说性地显示一组许可条款。用户可通过致动按钮266来接受许可条款。从而用户可继续更新过程。

图4-6是允许用户选择要被应用到业务系统101(或将从其应用特定更新)的更新包的示例性用户界面显示。显示268示出用户现在已前进至面板262中的“选择包”节点。显示268还包括包显示部分270和细节面板或显示部分272。包显示按钮270解说性地显示可被应用至业务系统101中的各组件的更新包。细节面板272解说性地显示与部分270中显示的包相对应的细节。例如,在图4中示出的实施例中,细节面板272指示与包面板270中的“应用对象服务器”节点274相对应的更新已被安装。

图5示出其中用户114已选择或突出显示面板270中的“数据导入/导出框架”节点278的示例性用户界面显示276。选择一个或多个更新包由图1B的流程图中的框257指示。从而可以看出,细节面板272被更新以显示关于突出显示的节点278的详细信息。当用户致动下一步按钮280时,用户将解说性地被导航到前提条件用户界面显示,诸如图6中示出的显示282。显示282显示为安装图5的显示中由用户选择的更新包所需的前提条件(在284处概括示出)。

再次参考图1B的流程图,一旦用户已选择了要应用到业务系统101的一个或多个更新包,更新安装程序组件106解说性地生成一组用户界面显示,该组用户界面显示允许用户指定更新要被应用到的环境。这由图1B中的框286指示。图7-11示出用于执行此动作的示例性用户界面显示。

图7示出用户界面显示288,其要求用户114指定针对更新安装过程的特定帐户。例如,在一个实施例中,要求用户114在字段290中输入与对待更新的各模型和业务系统101中的其它信息具有读/写访问权和管理权限的帐户相对应的用户名并在字段292中输入相对应的密码。一旦用户输入了此信息,更新安装程序组件106解说性地生成用户界面显示,诸如图8中示出的显示294,该显示允许用户指定运行将被用于应用更新的数据库整合服务的服务器的名称。例如,用户114可在字段296中输入服务器名。

当用户这样做且致动下一步致动器时,更新安装程序组件106解说性地生成允许用户指定要用所选更新来更新的模型存储的用户界面显示(诸如图9中示出的显示298)。例如,用户界面显示298允许用户使用用户输入机制300输入(诸如通过键入或通过下拉菜单或其它方式)存储要被更新的模型的数据存储。用户还可解说性地通过致动用户输入机制302来添加新模型存储。

作为示例,如果用户114致动机制302,则更新安装程序组件106解说性地生成显示(诸如图10中的显示304),该显示允许用户在字段306中输入服务器名称并在字段308中输入模型存储名称,以便添加用于更新的服务器。在该处理期间的任何点处,更新安装程序组件106可生成用户界面显示,诸如图11中示出的显示310,该显示向用户更新被执行的处理的进度。

一旦用户已标识了要被应用的特定更新包,以及所述更新包要被应用的特定环境,更新安装程序组件106解说性地生成用户界面显示,诸如图12中示出的显示312,该显示允许用户114选择要被执行的安装的类型。接收选择安装类型的用户输入由图1B中的框317指示。

例如,用户可选择快速安装,其中所选更新包中的所有更新被应用。例如,通过致动用户输入机制314,可以完成这一操作。选择所有更新由图1B中的流程图中的框313指示。然而,用户114还可选择用户输入机制316,该机制允许用户执行高级安装,其中用户可选择应用到所标识的环境的特定应用更新(来自所选包)。选择更新的子集由图1B中的流程图中的框315指示。当用户指示他或她将选择更新的子集时,组件106生成允许用户这样做的UI显示的集合。生成用户界面显示312来选择要安装的更新的子集由图1B的流程图中的框318指示。用户可用各种各样不同的方式来这么做。例如,在一个实施例中,用户可致动用户输入机制320以登录到生命周期系统200(图1中示出)以使用系统200中的信息来选择更新。登录到生命周期系统200由图1B中的框322指示。

然而,用户114可能已选择了要应用到不同环境(不同于如上所述地选择的环境)的更新的子集。在该情况下,用户114可能已把那些所选更新作为可被应用到其它环境的列表保存。从而,如果用户致动了用户输入机制324,则用户可输入更新列表来应用到新选择的环境。在一个实施例中,当用户致动机制324时,“浏览”按钮326变得激活且允许用户在框328中输入文件以导入到更新安装过程中。导入已保存的更新列表由图1B中的流程图中的框330指示。

现在假定用户已致动了用户输入机制320来选择要被应用的个体更新。响应于用户选择高级安装并登录到生命周期系统200,更新安装程序组件106解说性地生成用户界面显示,诸如图13中的显示332,该显示允许用户搜索并选择要在所标识环境中应用的各更新。用户界面显示332包括第一用户输入机制集合334。用户输入机制334允许用户选择所有更新来应用,或仅选择可应用的更新。当用户选择用户输入机制来仅应用可应用更新时,则可被用户访问、搜索和查看的那些更新仅是针对用户已选择的环境、以及针对用户在业务系统101中已经许可的各个特征的更新。

显示332还解说性地包括过滤器用户输入机制集合336。每个过滤器用户输入机制336解说性地允许用户选择一个或多个项,通过所述项来过滤可应用的更新。在所示示例中,机制336包括被示出为下拉菜单的“模块”用户输入机制。模块机制允许用户按照模块来过滤可应用的更新。在图3中示出的实施例中,用户已选择“cashandbankmanagement(现金和银行管理)”模块。

“许可证代码”过滤器机制336允许用户按照许可证代码元素来过滤可应用的更新。这些元素可包括例如电子银行(electronicbanking)代码元素、总分类账(generalledger)代码元素(或应用)等。

“国家上下文”过滤器机制336允许用户按照国家上下文来过滤可应用的更新。例如,被部署在一个国家的系统可能对专门针对另一国家的系统生成的一些更新不感兴趣。从而,可应用的更新可按照国家上下文来过滤。

“业务过程”过滤器机制336允许用户基于更新应用到的业务过程来过滤可应用的更新。作为示例,在一个实施例中,生命周期系统200包括服务202-204,该服务使用业务过程建模器来生成给定顾客业务系统101中的业务过程的模型。从而,针对个体顾客业务系统101的业务过程集209被存储,以使得用户可查看系统101中的各业务过程。更新安装程序组件106解说性地访问来自生命周期系统200的业务过程集209并在用户输入机制中显示那些过程。从而,用户可选择业务系统101中的特定业务过程来过滤可应用的更新。

在图13中示出的实施例中,用户界面显示332还解说性地包括搜索用户输入机制338。在所示实施例中,输入机制338仅是允许用户键入被更新安装程序组件106中的更新搜索组件130使用以便基于关键字搜索更新的关键字或搜索查询项的文本框。例如,用户可按照标题或按照更新标识符号来搜索更新。更新标识符号可以是知识库参考或另一标识符。

显示332还解说性地包括结果显示面板340。显示面板340解说性地显示与由更新安装程序组件106中的更新搜索组件130基于所有用户选择、过滤器和搜索项标识的可应用更新相对应的信息。返回的结果(或结果更新集)342可按各种不同方式分组。例如,分组用户输入机制344允许用户选择各种不同排序准则集合之一来对面板340中所显示的所返回的更新结果排序。

图13示出显示在面板340中的所得更新集342显示了分层树结构,其包括父节点346和348。每个节点可具有子节点,诸如节点350。每个节点具有相关联的复选框。在一个实施例中,当父节点被选择时,来自该父节点的所有子节点也被选择。图13还示出了每个父节点包括数字标识符352和354。与每个父节点相关联的数字标识符标识将被应用到那些节点中的每个节点的结果集342中的更新数目。在图13中所示的示例中,结果集中的12个更新被应用到银行(bank)节点且结果集中的19个更新被应用到电子银行节点。

图13示出了子节点350对应于给定更新集。该更新集具有更新标识符356和更新描述358。该标识符是给定更新(或更新集)的唯一标识符且该描述描述该更新将如何影响该父节点。

图13还解说性地包括更详细信息部分360。在所示实施例中,部分360包括细节选项卡362和冲突选项卡364。当用户聚焦在结果面板340中的父节点时,细节选项卡362可解说性地为空。业务系统101中的冲突解决组件119解说性地生成冲突概述显示,其示出所选父节点下的所有更新的冲突的概述。这在以下参考图16和17更详细地描述。

当用户选择或聚焦面板340中的非父节点(诸如节点350)时,则细节选项卡362显示与所选的非父节点相对应的细节。在图13所示的实施例中,例如,细节选项卡362显示与更新标识符356所标识的更新相对应的细节。所述细节解说性地包括更新标识符356、概述描述358、受更新影响的模型360、受更新影响的层362、以及所选节点350内包括的任何其它更新364。

而且,当用户聚焦面板340中的非父节点时,冲突选项卡364解说性地示出该特定非父节点的冲突概述(例如,对应于标识符356所标识的特定更新)。同样,这在以下更详细地描述。

还要注意,在另一实施例中,给定用户的特定环境以及存储在生命周期系统200中的配置信息,更新安装程序组件106可自动显示推荐的更新。

再次返回到图1B的流程图,示出推荐的更新由框366指示,示出所有可用更新的列表(诸如当用户选择“所有更新”用户输入机制334时)由框368指示,显示搜索用户输入机制338由框370指示,允许用户按照可应用性、模块、国家上下文、配置等对搜索结果进行分组和过滤由框372指示,而允许用户按照其它方式选择可用更新由框374指示。

图14类似于图13,且类似的项目被类似地编号。然而,图14被提供以明确解说过滤器用户输入机制336可各自允许用户选择多个过滤器。例如,“许可代码证”用户输入机制允许用户选择“银行(bank)”代码元素、“电子银行(electronicbanking)”代码元素、或“总分类账(generalledger)”代码元素中的一个或全部。这些仅是示例性的且也可使用其它项。

图15示出另一用户界面显示。显示380类似于显示332(上面讨论的),并且类似的项被类似地编号。然而,可以看出,显示380还提供了关于结果面板340中显示的结果集中的所选更新如果被应用会对底层顾客业务系统101具有什么类型的影响的指示。生成如果所选更新被安装(或应用)系统将如何被影响的视图由图1B的流程图中的框382指示。

在本文所述的一个实施例中,所选更新对业务系统101的影响可以这些不同方式示出:对业务过程的影响、对业务系统101的对象和层的影响、以及将生成的冲突的级别。在一个实施例中,更新安装程序组件106中的业务过程分析器组件134解说性地生成业务过程热图,其标识业务系统101中将受所选更新影响的业务过程。这由图1B的流程图中的框384指示。在另一实施例中,更新安装程序组件106中的影响分析器组件132显示业务系统101中的哪些对象和层将受所选更新最多影响的分析。这由图2的框386指示。冲突解决组件119(图1中)还可生成如果所选更新被应用将出现的冲突概述或冲突细节的显示。这由框388指示。现在将描述这些中的每一个。

将首先描述所选更新对底层业务过程的影响。再次参考图15的用户界面显示380,可以看出,用户必须选择按照业务过程对面板340中显示的返回结果集分组。这可通过使用排序或分组依据(group-by)用户输入机制344做出选择来完成。从而,结果集按照业务过程被分组。该组父节点(具有相应的复选框392)各自表示如果所选更新被安装会受影响的业务过程。每个父节点具有标识影响相应业务过程的更新数量的数字指示符394。例如,“开发愿景和策略”业务过程将受89个更新的影响。另一方面,“管理顾客服务”业务过程将受1个更新的影响。

面板340中的分层结构还示出了结果集中的每个父节点包括热图指示符396。在图15中示出的实施例中,热图指示符是按颜色编码的视觉元素,其标识系统101中将受所选更新影响的底层业务过程以及其将受影响的程度。例如,如果与给定父节点相对应的指示符396的颜色为红色,则这可指示相应业务过程(如与该父节点相对应)将受到所选更新极大地影响。另一方面,如果其为黄色或绿色,则这可分别指示该底层业务过程将受较少影响或最少影响。

用于确定父节点是否具有指示其将受到极大影响还是较小影响的热图指示符396的阈值可按各种不同方式设置。例如,可零星地(anecdotally)设置阈值,可基于用户偏好设置阈值(例如,用户可能将某些业务过程标识为比其它业务过程更重要),可用试探法设置阈值,或以其它方式设置阈值。例如,在一个实施例中,前20%的最受影响的父节点可具有红色热图指示符396。即,如果将被应用到给定过程的更新总数在所有业务过程的前20%中,则该给定过程被指派一热图指示符396,该指示符指示它是最受影响的业务过程之一。具有接下来的60%的被应用更新的父节点可被指派中间热图指示符396,该指示符指示其比受最严重影响的过程更少地受影响。具有底部20%的向其应用的更新的父节点可被赋予指示其在各个业务过程中将受到最少影响的热图指示符396。当然,这仅是示例性分解,且各种其它阈值或分解可被使用。

在继续图1B的描述之前,现在将描述图1C。图1C是解说业务过程分析器组件134在生成图15中示出的业务过程热图时的操作的一个实施例的流程图。在一个实施例中,用户114首先访问生命周期系统200。这由框400指示。这可按各种方式完成,诸如通过提供认证信息402或其它信息404。这允许业务过程分析器组件134访问系统200中的信息以便执行其分析。该系统随后生成系统101中的业务过程的视图。例如,当用户访问业务过程过滤器输入机制336时,用户可从中进行选择的各业务过程被显示在该处。生成业务过程的视图由图1C中的框406指示。更新安装程序组件106随后接收各用户输入以选择在过滤中使用的业务过程,以及以其它方式选择可应用的更新。这由框408指示。业务过程分析器组件134随后生成显示所选更新对业务过程的影响的显示(例如,热图),如利用业务过程过滤器输入机制336通过用户输入选择所过滤的。这由框410指示。

现在将描述生成用于显示所选冲突将带来的冲突程度的显示。图16-18示出了可由冲突解决组件119生成以便显示如果用户向业务系统101中的所标识的环境应用所选更新将遇到的各种冲突的各种用户界面显示。首先假定用户已选择了结果显示面板340中的父节点348(其将自动选择子节点,诸如子节点350)。还假定用户已致动了冲突选项卡364。冲突解决组件119随后分析业务系统101中由父节点348及其相应子节点350所表示的部分中将生成的各种冲突。当然,该系统可根据期望生成进度显示412。

图17示出冲突选项卡364现在被用冲突概述信息414填充,该冲突概述信息概述了在系统101中与父节点348相对应以及与子节点350相对应的部分中将出现的各种冲突。例如,可以看出,冲突将在两个表格、五个类、四个表单、零个报告以及三个其它元素中产生。冲突选项卡364还解说性地包括冲突细节用户输入机制416。如果用户致动了机制416,则冲突解决组件119解说性地生成冲突细节显示,诸如在图18中显示的。可以看出,图18中的显示包括冲突细节面板418。冲突细节面板418标识了在420概括示出的更新(或更新模型),其可与由用户选择的模型存储(或环境)中的对象冲突。冲突信息包括例如可具有冲突的特定层422、受影响的模型424、对象类型426、对象名称428、以及冲突数的标识430。在一个实施例中,面板418还包括用户输入机制432,其允许用户查看受更新影响的对象,即使没有标识出冲突。

现在将描述生成示出对象和层级影响的显示。用户可能希望查看示出被所选更新影响的特定层、模型、对象类型、以及具体对象的更详细的影响分析。在这样做时,用户可解说性地致动影响分析向导用户输入机制434以便调用更新安装程序组件106中的影响分析器组件132。当用户这样做时,影响分析器组件132生成影响分析面板,诸如图19中示出的面板436。面板436解说性地包括允许用户看到用户在影响分析流程中的何处的导航部分438。面板436还解说性地包括示出正针对其执行影响分析的特定更新422的更新显示440。用户可验证此信息并致动下一步按钮444。影响分析器组件132随后生成允许用户选择要在执行影响分析时使用的客户端配置或配置文件的用户界面显示446。用户可解说性地使用用户输入机制448选择客户端配置并使用用户输入机制450来选择配置文件。一旦客户端配置被选择,用户可解说性地致动下一步按钮444。这使得影响分析器组件132生成图21中示出的用户界面显示452,其允许用户选择将在执行影响分析时使用的模型存储。用户可使用用户输入机制454选择在系统101中检测到的多个模型存储之一。用户还可使用输入机制456来具体标识一不同模型存储。用户随后可致动下一步按钮444。

这使得影响分析器组件132生成在图2中示出的面板458。面板458允许用户选择与所选客户端配置相关联的基线模型存储,该模型存储保留要被影响分析器组件132分析的特定更新或更新集合。用户可解说性地使用输入机制460来选择已被检测的模型存储。用户还可解说性地使用输入机制462来选择现有基线模型存储,或用户可使用输入机制464来创建新基线模型存储。一旦用户标识了保留要被分析的特定更新或更新集合的基线模型存储,则用户可解说性地致动下一步按钮444。在处理期间的任何点处,该系统可解说性地生成进度指示符,诸如图23中示出的指示符460。

在任何情况下,影响分析器组件132随后显示用户已标识以供分析的整体配置。这可通过生成显示(诸如图24中示出的显示466)来完成。显示466解说性地显示所选配置的概述468且明确指示基线模型存储将在470处被盖写。显示466还解说性地允许用户使用输入机制472来选择要被影响分析器组件132分析的层。例如,作为示例,用户可选择要对受所选更新影响的所有层或仅对具有冲突的那些层执行的分析。

当用户致动开始分析按钮474时,影响分析器组件132执行在用户所指定的配置中的影响分析,以生成指示所选更新将如何影响系统101的模型文件和其它部分的信息。在这样做时,影响分析器组件132可生成进度更新显示,诸如在图25中示出的显示476。作为示例,显示476正显示影响分析器组件132当前正将更新模型导入到基线模型存储中。这在478处概括示出。

一旦影响分析器组件132已完成其分析,其解说性地生成显示影响信息的影响显示。影响信息一般指示所选更新将对用户所标识的对象具有的影响。影响分析显示的一个示例是在图26中示出的显示480。显示480解说性地包括标识特定受影响对象的分层结构482。结构482不仅标识节点484处的模型文件,还标识节点486处的类以及488处的子类。当然,各种其它信息也可被标识。此外,如果用户希望检查分析的结果,用户可解说性地致动结果按钮490来查看更详细的结果。

图1D是更详细地解说影响分析器组件132在执行所选更新将对系统101的所标识的配置的影响分析时的整体操作的一个实施例的流程图。影响分析器组件132首先接收调用它来执行分析的输入。这由框492指示。例如,这可通过使用户致动图18中的影响分析向导按钮来完成。组件132随后接收来自用户的标识所选客户端配置(或环境)的配置输入。这由框494指示且在上面参考图20描述。组件132随后接收标识要被分析的模型的位置的用户输入。这由框496指示且在上面参考图21描述。组件132随后接收标识保留要被分析的更新的基线模型存储的位置的输入。这由框498指示且在上面参考图22描述。影响分析组件132随后执行该分析来标识所选更新对所选环境的影响。这由框500指示。组件132随后显示基于所选更新和所选环境对受影响的对象的分析。这由框502指示出。

所显示的信息可采取各种不同的形式。例如,其可标识如由框504所指示地将改变的对象。其可标识如由框506所指示地存在的对象或冲突。其还可包括各种其它信息,诸如导致所述影响的特定更新标识符,更新模型,受影响的模型、层、对象类型、对象名称,以及冲突数,以及其它信息。这在框508处指示。影响分析器组件132随后可针对所选择的更新存储影响分析信息以供稍后使用。这由图1D中的框510指示。其可在所选更新安装时被存储,如由框512所指示的,或其还可在其它时间被存储,如由框514所指示的。

继续图1B的流程图的描述,在任何时间,用户114可通过访问生命周期系统200中的更新状态跟踪信息210来查看系统101的当前更新状态或历史。这由图1B的流程图中的框390指示。

在本说明书的此点,用户现在已选择了要被应用(或安装)的可能更新集,且已不仅审阅了所选更新将对业务系统101中的一组业务过程具有的影响,还审阅了其将对对象和层的级别所具有的影响。用户已审阅了将产生的冲突且甚至可能审阅与影响和与冲突相对应的详细信息。从而,在审阅此信息之后,用户可能希望选择不同更新且查看所述更新将具有的影响。这由图1B中的框516指示。如果这种情况发生,则处理返回至框318,在该处用户可选择不同更新。然而如果没发生,则当前更新选择被保存。其可连同显示所选更新将对系统101中的业务过程112具有的影响以及对系统101中的对象和层具有的影响的影响分析信息211一起保存。这由框518指示。更新选择被保存,以使得所述更新选择可被导出以还在其它环境中应用。

作为示例,更新安装程序组件106可生成用户界面显示,诸如图27中示出的显示520。显示520包括更新显示面板522,该面板显示已被用户选择以供安装的更新。显示520还解说性地包括导出用户输入机制524,该机制允许用户导出所选择的更新以使得所述更新可被稍后使用以加速在另一计算机上或在用户访问的不同环境中应用更新。当用户致动输入机制524时,解说性地允许用户使用用户输入机制526浏览以寻找更新列表将被导出到的位置。用户可选择要导出的位置且这将解说性地在框528中出现。所选更新被导出(或保存)到该位置。

当用户准备好安装更新时,安装引擎136解说性地生成用户界面显示,诸如允许用户确认所述更新要被安装的显示528。显示528解说性地包括组件显示面板530,该面板标识将被所选更新更新的特定组件。细节显示面板532显示与安装过程相对应的相关细节。例如,在图28中示出的实施例中,面板532指示一些实例将在更新过程期间被停止,且其允许用户在安装之后自动重启那些实例。

一旦用户已确认安装要开始,则用户可解说性地致动安装按钮534。这使得安装引擎136安装所选更新。这也由图1B的流程图中的框536和538指示。在安装期间,安装引擎136可生成进度更新显示,诸如图29中示出的显示540。当然,其它进度更新显示也可被示出。

当安装引擎136完成安装所述更新时,其还解说性地更新生命周期系统200中的更新状态跟踪信息210。这由图1B的流程图中的框542指示。安装引擎136随后生成显示安装状态的用户界面显示,诸如图30中示出的显示544。例如,可以看出,对各组件中的一些组件的更新已被成功安装,而对其它组件的更新尚未被成功安装。如果用户希望查看更多细节,用户可解说性地致动用户输入机制546以导航至示出相应安装的细节的更详细日志文件。

在安装完成后,冲突解决组件119解说性地生成允许用户请求冲突解决组件119将自动解决其能解决的尽可能多的冲突而无需用户干预的用户界面显示。解决冲突在此处还被称为执行代码合并。显示允许用户选择自动冲突解决(或代码合并)的用户界面显示由图1B的流程图中的框548指示。图31示出指示这一点的用户界面显示550的一个示例。

显示550包括可被用户致动以便指示该用户希望冲突解决组件119在可能时自动解决冲突的用户输入机制552。当用户致动机制552时,冲突解决组件119解说性地生成显示,诸如图32中示出的显示554。显示554允许用户使用输入机制556为特定合并项目名称命名。冲突解决组件119随后执行自动冲突解决。这也由图2的流程图中的框558和560指示。

冲突解决组件119可用各种不同的方式来这么做。例如,业务系统101的制造商所提供的业务系统101的基础系统可能正用累积更新包120来更新。从而,可能存在系统101的原始基础版本,其被更新以获得系统101的经更新版本。然而,部署系统101的组织还可能已修改或以其它方式定制了系统101的基础版本。从而,在一个实施例中,冲突解决组件119进行三向比较,其将系统101的原始基础版本、与系统101的经更新版本、以及与在该组织处实际部署的系统101的定制版本进行比较。冲突解决组件119随后执行操作以使得实际部署的系统101的定制版本将以消除冲突的方式被更新。

一示例可能是有帮助的。例如,假定系统101的基础版本具有名称为“字符串S时钟(stringSclock)”的元素。假定用户已定制了系统101的基础版本以使得系统101的部署版本中的元素现在被称为“字符串S+1时钟”。如果正被用户安装的特定更新改变了系统101的基础版本中的“字符串S时钟”的值,则存在冲突,因为用户已经将该元素定制为“字符串S+1时钟”。从而,冲突解决组件119进行基于文本的三向比较来修正更新以使得更新与用户将“字符串S时钟”定制成“字符串S+1时钟”相一致。执行基于文本的多级比较由图1B的流程图中的框562指示。当然,冲突解决组件119也可以各种其它方式解决冲突,且这由框564指示。

冲突解决组件119随后存储冲突解决(或代码合并)结果信息以使得其可在稍后被审阅或使用。这由图1B的流程图中的框566指示。例如,组件119可存储合并被执行处的对象路径,如由框568所指示的。其可存储冲突总数570、所解决冲突数572、以及时间戳574。当然,其还可存储其它信息576。这可被存储为生命周期系统200中或别处的代码合并信息213。

代码合并信息213可被业务系统101的制造商、更新安装程序组件106和/或冲突解决组件119或其它组件使用。例如,其可被用于改善冲突解决、基于用户通常定制什么来添加更多特征、或其它操作。

冲突解决组件119随后生成冲突解决(或代码合并)结果信息的显示以由用户审阅。这由框578指示。图33示出这种显示580的一个实施例。显示580解说性地包括未解决的冲突显示部分582和已合并(或已解决)冲突部分584。这两个部分均示出其中冲突仍旧存在或冲突已被解决的项或元素。

在一个实施例中,部分582和584中的信息根据用户可致动输入机制来显示。因此,当用户致动所述项之一时,用户可被导航到业务系统101的代码中冲突发生的代码位置。用户从而可以查看与那些冲突相对应的细节,或实际上工作以从该详细显示屏直接解决冲突。例如,如果用户致动显示部分582上的类声明节点586,则用户将被导航至包含未解决冲突的该特定类,以使得用户可查看并工作以解决该冲突。以此方式接收用户深钻输入由图2的流程图中的框588指示,且将用户导航至代码位置由框590指示。

还要领会,在用户已导出所选更新的情况下,还可使用图1B中示出的整体操作来在其它环境中应用所选更新。例如,在框318处,代替选择个体更新,用户可改为导入所保存的列表,如由框330所指示的。该处理从而继续至如图1B中所示的流程,除了所选更新将是导入列表上的那些更新而不是其它更新。

本讨论提到了处理器和服务器。在一个实施例中,处理器和服务器包括具有相关联的存储器和定时电路系统(未分别示出)的计算机处理器。它们是它们所属的系统或设备的功能部分,且由这些系统中的其他组件或项的功能来激活并促进这些功能。

同样,讨论了多个用户界面显示。它们可以采取各种各样的不同形式且可具有布置于其上的各种各样的不同用户可致动输入机制。例如,用户可致动输入机制可以是文本框、复选框、图标、链接、下拉菜单、搜索框,等等。它们还可按各种不同的方式来致动。例如,可使用点击设备(诸如跟踪球或鼠标)来致动它们。可使用硬件按钮、开关、操纵杆或键盘、拇指开关或拇指垫等等来致动它们。还可使用虚拟键盘或其他虚拟致动器来致动它们。另外,在其上显示它们的屏幕是触敏屏的情况下,可以使用触摸手势来致动它们。同样,在显示它们的设备具有语音识别组件的情况下,可以使用语音命令来致动它们。

还讨论了多个数据存储。将注意,它们可各自被分解成多个数据存储。它们全部可位于访问它们的系统的本地,全部可以是远程的,或一些可以在本地而其他在远程。本文构想了所有这些配置。

同样,附图示出了具有归属于每一框的功能的多个框。将注意,可以使用更少的框,使得功能由更少的组件来执行。同样,可以使用更多框,其中功能被分布在更多组件之间。

业务系统101和更新组件106或架构100中的其它项可以是在场的或(完全或部分)位于(公开或私有)云部署中。图34是图1中所示的架构100的框图,除了其元件被置于云计算架构500中。云计算提供了不要求最终用户知晓交付服务的系统的物理位置或配置的计算、软件、数据访问和存储服务。在各个实施例中,云计算通过诸如因特网之类的广域网使用合适的协议来交付服务。例如,云计算提供者通过广域网交付应用,并且它们可以通过web浏览器或任何其他计算组件被访问。体系结构100的软件或组件以及相对应的数据可被存储在远程位置处的服务器上。云计算环境中的计算资源可以被整合在远程数据中心位置处或者它们可以是分散的。云计算基础结构可以通过共享数据中心来交付服务,即使在用户看来它们是单个访问点。因此,在此所述的组件和功能可以从使用云计算体系结构的远程位置处的服务提供者来提供。替代地,它们可以从常规的服务器中提供,或者它们可以直接地或以其他方式安装在客户端设备上。

本说明书旨在包括公共云计算和私有云计算两者。云计算(公共和私有两者)提供了基本无缝的资源联营以及对管理和配置底层硬件基础结构的降低的需求。

公共云由供应商管理,并且通常支持使用同一基础结构的多个消费者。此外,与私有云相反,公共云能够将终端用户从管理硬件中释放出来。私有云可由机构本身管理,并且基础结构通常不与其他机构共享。该机构在某种程度上仍然维护着硬件,诸如安装和维修等。

在图34中所示的实施例中,一些项与图1中所示的那些是类似的,并且它们被类似地编号。图34具体地示出系统101和200可位于云502(可以是公共的、私有的或者其中某些部分是公共的而某些部分是私有的组合)中。因此,用户114使用用户设备116通过云502来访问那些系统。

图34还描绘了云架构的另一实施例。图34示出还构想了架构100的某些元素被置于云502中而某些元素没有被置于云502中。作为示例,数据存储104可被置于云502的外部,并且通过云502来被访问。在另一实施例中,更新安装程序组件也可在云502的外部。无论它们位于哪里,它们都可直接由设备116通过网络(广域网或局域网)访问,它们可由服务主存在远程站点处,或者它们可作为通过云来提供或通过驻留在云中的连接服务来访问的服务。本文构想了所有这些体系结构。

还将注意,架构100或其部分可被置于各种各样不同的设备上。这些设备中的某些包括:服务器、台式计算机、膝上型计算机、平板计算机、或其他移动设备,诸如掌上计算机、蜂窝电话、智能电话、多媒体播放器、个人数字助理等。

图35是可被用作其中可部署本发明中的系统(或其部分)的用户或客户端的手持式设备16的手持式或移动计算设备的一个说明性实施例的简化框图。图36-40是手持式或移动设备的示例。

图35提供了客户端设备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(也可实现来自图1的系统200或设备116中的处理器102或多个处理器)进行通信,该总线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之外被托管。

图36示出其中设备16是平板计算机600的一个实施例。在图36中,计算机600被示为具有在显示屏602上显示的(来自图13)的用户界面显示332。屏幕602可以是触摸屏(使得来自用户手指604的触摸姿势可以用于与应用交互)或者启用笔的界面,其接收来自笔或指示笔的输入。其还可以使用屏幕上虚拟键盘。当然,其还例如可以通过诸如无线链路或USB端口之类的合适的附连机制附连到键盘或其他用户输入设备。计算机600还可以说明性地接收语音输入。

图37和图38提供了可被使用的设备16的附加示例,但是也可以使用其他设备。在图37中,提供功能电话、智能电话或移动电话45作为设备16。电话45包括:一组小键盘47,其用于拨打电话号码;显示器49,其能够显示包括应用图像、图标、网页、照片和视频在内的图像;以及控制按钮51,其用于选择在显示器上示出的项目。电话包括天线53,该天线53用于接收诸如通用分组无线服务(GPRS)和1Xrtt之类的蜂窝电话信号以及短消息服务(SMS)信号。在一些实施例中,电话45还包括容纳安全数字(SD)卡57的SD卡槽55。

图38的移动设备是个人数字助理(PDA)59或多媒体播放器或平板计算设备等等(在此称为PDA59)。PDA59包括电感屏61,所述电感屏感测指示笔63(或其他指示器,诸如用户的手指)在该指示笔被置于屏幕之上时的位置。这允许用户在屏幕上选择、突出显示和移动项目以及绘图和书写。PDA59还包括多个用户输入键或按钮(比如按钮65),其允许用户将显示器61上所显示的菜单选项或其他显示选项滚屏,并且允许用户在没有接触显示器61的情况下改变应用或选择用户输入功能。尽管未被示出,但是PDA59可以包括允许与其他计算机进行无线通信的内置天线和红外发射机/接收机、以及允许与其他计算设备的硬件连接的连接端口。这样的硬件连接通常是通过经由串行或USB端口连接到其他计算机的支架来完成的。因此,这些连接是非网络连接。在一个实施例中,移动设备59还包括容纳SD卡69的SD卡槽67。

图39类似于图37,不同之处在于电话是智能电话71。智能电话71具有显示图标或图块或其他用户输入机制75的触敏显示器73。机制75可由用户用来运行应用、进行呼叫、执行数据传输操作,等等。一般而言,智能电话71被构建在移动操作系统上且提供比功能电话更高级的计算能力和连接性。图40示出了在其上显示有来自图12的用户界面显示的电话71。

注意,设备16的其他形式是可能的。

图41是其中可采用架构100或其一部分(作为示例)的计算环境的一个实施例。参考图41,用于实现一些实施例的示例性系统包括计算机810形式的通用计算设备。计算机810的组件可以包括,但不限于,处理单元820(可以包括系统200或设备116中的处理器102或各处理器)、系统存储器830和将包括系统存储器在内的各种系统组件耦合至处理单元820的系统总线821。系统总线821可以是若干类型的总线结构中的任一种,包括存储器总线或存储器控制器、外围总线和使用各种总线架构中的任一种的局部总线。作为示例而非限制,这样的架构包括工业标准架构(ISA)总线、微通道架构(MCA)总线、增强型ISA(EISA)总线、视频电子技术标准协会(VESA)局部总线和外围部件互连(PCI)总线(也称为夹层(Mezzanine)总线)。参考图1描述的存储器和程序可被部署在图41的对应部分中。

计算机810通常包括各种计算机可读介质。计算机可读介质可以是能由计算机810访问的任何可用介质,而且包含易失性和非易失性介质、可移动和不可移动介质。作为示例而非限制,计算机可读介质可包括计算机存储介质和通信介质。计算机存储介质不同于且不包括已调制数据信号或载波。计算机存储介质包括硬件存储介质,该硬件存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据的信息的任何方法和技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括,但不限于,RAM、ROM、EEPROM、闪存或其它存储器技术、CD-ROM、数字多功能盘(DVD)或其它光盘存储、磁带盒、磁带、磁盘存储或其它磁性存储设备、或能用于存储所需信息且可以由计算机810访问的任何其它介质。通信介质通常具体化计算机可读指令、数据结构、程序模块或传输机制中的其他数据,并包括任何信息递送介质。术语“已调制数据信号”是指使得以在信号中编码信息的方式来设置或改变其一个或多个特性的信号。作为示例而非限制,通信介质包括诸如有线网络或直接线连接之类的有线介质,以及诸如声学、RF、红外及其他无线介质之类的无线介质。上述任何组合也应该包括在计算机可读的介质范围内。

系统存储器830包括易失性和/或非易失性存储器形式的计算机存储介质,如只读存储器(ROM)831和随机存取存储器(RAM)832。包含诸如在启动期间帮助在计算机810内的元件之间传输信息的基本例程的基本输入/输出系统833(BIOS)通常存储在ROM831中。RAM832通常包含处理单元820可立即访问和/或当前正在操作的数据和/或程序模块。作为示例而非限制,图41例示出了操作系统834、应用程序835、其它程序模块836和程序数据837。

计算机810还可以包括其它可移动/不可移动、易失性/非易失性计算机存储介质。仅作为示例,图41示出了从不可移动、非易失性磁介质中读取或向其写入的硬盘驱动器841,从可移动、非易失性磁盘851中读取或向其写入的磁盘驱动器852,以及从诸如CDROM或其他光学介质等可移动、非易失性光盘855中读取或向其写入的光盘驱动器856。可在示例性操作环境中使用的其它可移动/不可移动、易失性/非易失性计算机存储介质包括但不限于,磁带盒、闪存卡、数字多功能盘、数字录像带、固态RAM、固态ROM等。硬盘驱动器841通常通过诸如接口840之类的不可移动存储器接口连接到系统总线821,并且磁盘驱动器851和光盘驱动器855通常通过诸如接口850之类的可移动存储器接口连接到系统总线821。

作为替换或补充,本文所述的功能可至少部分地由一个或多个硬件逻辑组件来执行。例如、但非限制,可使用的硬件逻辑组件的说明性类型包括现场可编程门阵列(FPGA)、程序专用的集成电路(ASIC)、程序专用的标准产品(ASSP)、片上系统系统(SOC)、复杂可编程逻辑器件(CPLD)、等等。

上文讨论并在图41中示出的驱动器及其相关联的计算机存储介质为计算机810提供了对计算机可读指令、数据结构、程序模块和其他数据的存储。例如,在图41中,硬盘驱动器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或用于通过诸如因特网等WAN873建立通信的其它手段。调制解调器872可以是内置的或外置的,可经由用户输入接口860或其它适当的机制连接到系统总线821。在联网环境中,相关于计算机810所示的程序模块或其部分可被存储在远程存储器存储设备中。作为示例而非限制,图41示出了远程应用程序885驻留在远程计算机880上。应当理解,所示的网络连接是示例性的,并且可使用在计算机之间建立通信链路的其它手段。

还应注意,本文描述的不同实施例可以按不同的方式来组合。即,一个或多个实施例的各部分可以与一个或多个其他实施例的各部分组合在一起。本文中构想了所有这些。

尽管用结构特征和/或方法动作专用的语言描述了本主题,但可以理解,所附权利要求书中定义的主题不必限于上述具体特征或动作。更确切而言,上述具体特征和动作是作为实现权利要求的示例形式公开的。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号