CN101599047A - 软件升级分析系统 - Google Patents

软件升级分析系统 Download PDF

Info

Publication number
CN101599047A
CN101599047A CNA2009101382854A CN200910138285A CN101599047A CN 101599047 A CN101599047 A CN 101599047A CN A2009101382854 A CNA2009101382854 A CN A2009101382854A CN 200910138285 A CN200910138285 A CN 200910138285A CN 101599047 A CN101599047 A CN 101599047A
Authority
CN
China
Prior art keywords
program
default
present procedure
version
upgrading
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.)
Granted
Application number
CNA2009101382854A
Other languages
English (en)
Other versions
CN101599047B (zh
Inventor
S·萨拉夫
V·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.)
Accenture Global Services Ltd
Accenture International LLC
Original Assignee
Accenture Global Services GmbH
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 Accenture Global Services GmbH filed Critical Accenture Global Services GmbH
Publication of CN101599047A publication Critical patent/CN101599047A/zh
Application granted granted Critical
Publication of CN101599047B publication Critical patent/CN101599047B/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/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/658Incremental updates; Differential 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

软件升级分析系统
技术领域
本发明涉及软件安装,并且更具体地涉及软件升级。
背景技术
软件程序可能很大并且复杂。此类软件程序可能难于安装和/或升级,并且安装和/或升级是耗时的。已知的是,历经数月时间来升级企业商业应用。在某些示例中,由于在升级中引入的软件程序中的改变,在升级之后用户可能改变他们使用该软件程序的方式。此外,在升级之前可能对软件程序进行修改或定制。升级可能使得一个或多个修改失效或不能正常工作。因而,为了对生产系统中的软件程序升级进行规划,软件程序升级的影响可能是令人感兴趣的。
为了确定软件程序升级的影响,可以使用测试系统。测试系统可以包括当前在生成系统中使用的软件程序的副本。继而可以对该软件程序的副本进行升级而不干扰生产系统的用户。然后,在测试系统中分析该升级的影响。然而,在不对操作系统或测试系统执行升级的情况下,分析软件升级的影响可能更有效。
发明内容
在一个示例中,公开了一种系统,所述系统用于在不执行升级的情况下,分析已修改形式的软件程序的第一版本到已修改形式的软件程序的第二版本的升级,所述系统可以包括计算机代码。该计算机代码可以提供默认程序对象的默认状态信息。该默认程序对象包括在未修改形式的软件程序的第二版本的默认安装中。该计算机代码还可以从应用数据库获取当前程序对象的当前状态信息。已修改形式的软件程序可以包括当前程序对象。该计算机代码可以基于当前状态信息和默认状态信息之间的比较生成升级信息。该升级信息可以标识将受到升级影响的当前程序对象的子集。
在另一示例中,公开了一种方法,所述方法用于在不执行升级的情况下,对执行从已修改形式的软件程序的第一版本到第二版本的升级的影响进行分析,所述方法可以包括在库数据库中提供默认状态信息。默认状态信息可以包括第一组默认程序对象和第二组默认程序对象之间的差异。第一组默认程序对象将包括在未修改形式的软件程序的第一版本的默认安装中。第二组默认程序对象将包括在未修改形式的软件程序的第二版本的默认安装中。该方法可以进一步包括从应用数据库获取涉及当前程序对象的当前状态信息。已修改形式的软件程序的第一版本可以包括当前程序对象。该方法还可以包括为了生成升级信息,将当前状态信息与默认状态信息进行比较。升级信息可以标识将受到升级影响的当前程序对象的子集。
在又一示例中,公开了一种在计算机中使用的计算机程序产品,用于在不执行升级的情况下,对执行从已修改形式的软件程序的第一版本到第二版本的升级的影响进行分析,该计算机程序产品可以包括计算机可读介质。该计算机可读介质可以包括物理上包含在其中的计算机可执行程序代码和默认状态信息。默认状态信息可以包括第一组默认程序对象和第二组默认程序对象之间的差异。第一组默认程序对象将包括在未修改形式的软件程序的第一版本的默认安装中。第二组默认程序对象将包括在未修改形式的软件程序的第二版本的默认安装中。该计算机程序产品可以进一步包括计算机可执行程序代码,以使得计算机的处理器从应用数据库获取当前程序对象的当前状态信息。该已修改形式的软件程序可以包括当前程序对象。该计算机程序产品还可以包括计算机可执行程序代码,以使得处理器基于当前状态信息与默认状态信息之间的比较生成升级信息。升级信息可以标识将受到升级影响的当前程序对象的子集。
参考附图,本发明的其他目的和优势将从下文的说明书中变得明显,在附图中,清楚地示出了本发明优选实施方式。
附图说明
可以参考以下附图和描述更好地理解本发明。附图中的组件不必按比例绘制,而是将重点放在强调示出本发明的原理。而且,在附图中,贯穿不同视图,相同的参考标号指示相应的部分。
图1是在不执行升级的情况下分析软件程序的第一版本到软件程序的第二版本的升级的系统的示例;
图2是包括未修改形式的软件程序和应用数据库的测试系统的示例;
图3示出了包括从升级信息生成的、对于父任务影响的统计的示例概要报告的一部分;
图4示出了从升级信息生成的示例报告的一部分,该报告标识与父任务直接或间接相关联的修订的和过时的事务代码;以及
图5示出了系统中包括的方法的一个示例,该方法用于在不执行升级的情况下,执行从已修改形式的软件程序的第一版本到第二版本升级的影响进行分析。
具体实施方式
在不对测试系统执行升级的情况下,可以确定升级的影响。在示例实施方式中,一种在不执行升级的情况下用于分析软件程序的第一版本到软件程序的第二版本的升级的系统可以包括升级分析工具。升级分析工具例如可以包括.NET独立应用。升级分析工具可以从应用数据库获取程序对象的状态信息,其中程序对象包括在软件程序的第一版本中。例如,升级分析工具可以从Oracle数据库获取状态信息,该Oracle数据库由企业资源规划(ERP)的第一版本用于存储程序对象。包括在该ERP应用中的程序对象例如可以包括安全性相关对象,诸如安全性任务、事务代码、授权对象等。安全性任务的状态信息例如可以包括每个安全性任务的名称。
升级分析工具可以将从应用数据库获取的状态信息与在库数据库中提供的默认状态信息进行比较。库数据库例如可以包括Microsoft SQL Server数据库。SQL Server数据库中的数据库条目可以标识第一组默认程序对象和第二组默认程序对象之间的差异。第一组默认程序对象将被安装在ERP应用第一版本的默认安装中。第二组默认程序对象将被安装在ERP第二版本的默认安装中。标识的差异例如可以包括对默认安全性对象(诸如事务代码、授权对象等)进行改变的细节。改变的细节可以包括默认安全性对象是否被修订、过时或新被添加的指示。
升级工具可以生成升级信息,该升级信息标识升级对程序对象的影响或潜在影响。升级工具可以基于默认状态信息和从应用数据库获取的状态信息之间的比较而生成升级信息。例如,升级信息可以标识将被影响的安全性任务,因为与该安全性任务相关联的事务代码在ERP应用的第二版本中是过时的。
图1是系统100的一个实施方式的示例,该系统100用于在不执行升级的情况下,分析软件程序102第一版本到该软件程序的第二版本的升级。系统100可以包括升级分析工具104和库数据库106。系统100可以包括附加的、不同的或更少的组件。例如,系统100可以包括升级分析工具104与库数据库106进行通信所通过的网络。
升级分析工具104可以是任何设备或设备组合,该任何设备或设备组合可配置用于利用一个或多个处理器执行计算机代码,所述设备诸如计算机、服务器、移动计算机和个人数字助理。升级分析工具104可以包括:处理器108、存储器110和显示器112。升级分析工具104可以包括附加的、不同的或更少的组件。例如,升级分析工具104可以不包括显示器112并且仅生成关于升级的升级分析信息而不显示该信息。升级分析信息可以传输用于在其他系统上显示或输出。
处理器108可以与存储器110、显示器112和/或包括在系统100中的其他组件进行通信。处理器108可以是通用处理器、中央处理单元、服务器、专用集成电路(ASIC)、数字信号处理器、现场可编程门阵列(FPGA)、数字电路、模拟电路或它们的组合。处理器108可以是可用于执行计算机代码的一个或多个处理器或设备。可以以现在已知的或以后发现的任何可编程语言编写计算机代码,可编程语言诸如Java、C#、C++、PHP、汇编语言和Visual Basic。
存储器110可以是当前已知的或者在以后发现的任何存储设备。存储器110可以是非易失性和/或易失性存储器,诸如随机访问存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM)或闪存。存储器110可以包括光、磁(硬盘驱动器)或其他存储器设备。
显示器112可以是用于显示数据的任何光电设备,诸如液晶显示器(LCD)、阴极射线管(CRT)、场致发光(electro-luminescent)显示器、等离子显示板(PDP)、真空荧光显示器(VFD)或其他显示设备。
升级分析工具104可以是现在已知或以后开发的任何类型的应用,其包括上述系统组件和方法。在某些示例中,升级分析工具104可以包括单独的应用。在其他示例中,升级分析工具104可以包括基于web的应用。在其他示例中,升级分析工具104可以是客户端/服务器应用。
升级分析工具104可以与库数据库106通信。库数据库106可以是任何数据库。在某些示例中,库数据库106可以包括在升级分析工具104中。在其他示例中,库数据库106不包括在升级分析工具104中。
数据库可以是包括任何电子信息集合的存储器。例如,数据库可以包括经组织的信息,从而可以评估、管理以及更新该信息,诸如关系数据库管理系统(RDBMS)、面向对象数据库、可扩展标记语言(XML)数据库、文件系统、存储器结构、或现在已知或以后开发的任何其他数据库。数据库可以使用任何类型的存储器和结构,诸如随机访问存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM)、闪存、光存储器、磁(硬盘驱动器或带)存储器或其他存储器设备。
数据库可以包括数据库条目。数据库条目是可以从数据库获取的或存储在数据库中的信息。可以使用唯一的键(诸如主键值、全路径名称或存储器地址)访问或查找数据库条目。例如,数据库条目可以是RDBMS中表的行。在其他示例中,数据库条目可以存储在数据库的多个位置上,诸如跨越RDBMS中的多个表。RDBMS中的表可以包括一个或多个列。数据库可以包括数据库集合。
一个或多个数据库条目在数据库中可以与一个或多个其他数据库条目相关联。例如,第一安全性任务条目可以与第二安全性任务条目相关联,其中相应的父安全性任务包括相应的子安全性任务。
可以使用现在已知的或以后发现的将数据库中的数据库条目进行关联的任何方法。在某些示例中,第一数据库条目通过在第二数据库条目中包括唯一键来标识第一数据库条目,而与第二数据库条目相关联起来。在其他示例中,第一数据库条目通过在第一数据库条目中包括唯一键来标识第二数据库条目,而与第二数据库条目相关联起来。在其他示例中,数据库包括关联数据库条目,其中该关联数据库条目包括标识第一数据库条目的唯一键和标识第二数据库条目的唯一键。
升级分析工具104可以从应用数据库116获取状态信息114。应用数据库116可以是包含程序对象118和120的状态信息114的任何数据库,其中软件程序102包括程序对象118和120。软件程序102可以是任何安装的应用或应用组合,诸如企业资源规划应用、客户关系管理应用、会计程序、税务应用、CAD软件、医药软件、航空电子软件、引擎管理和诊断应用以及文字处理应用。软件程序102可以包括可执行代码122,其在执行时实例化一个或多个程序对象118和120。程序对象118和120是概念实体,其可以包含数据和/或对数据进行操作的一部分可执行代码122。程序对象118和120例如可以对可执行代码122呈现为特定位置处的特定大小的相邻计算机存储器块,即使程序对象的元素不是物理地存储在存储器的相邻块中。因此,程序对象118和120可以表示过程编程模型中的一个或多个变量和/或面向对象编程模型中的一个或多个变量或对象。程序对象118和120的示例可以包括销售订单、公司、联系人、产品、安全性任务、业务单元和雇员。程序对象118和120中的每个还可以具有如下类型。该类型可以是类、类的集合、数据类型、原语数据类型或对于该类型的程序对象118和120共同的任何其他结构。包括在程序对象118和120每个中的数据是已知状态。软件程序102可以在应用数据库116中存储一个或多个程序对象118和120的状态信息124或126。例如,雇员程序对象118和120的状态信息124或126可以包括雇员号、雇员姓名以及部门号。相应程序对象118和120中每个的状态信息124或126可以包括:状态、状态的一部分和/或涉及相应程序对象118和120中每个的状态的信息。存储在应用数据库116中的状态信息114可以包括程序对象118和120中每个的状态信息124或126和/或涉及程序对象118和120中每个的状态信息124或126的信息。
在其他示例中,代替升级分析工具104,库数据库106可以从应用数据库116获取状态信息114。在此类示例中,库数据库106可以提供一个或多个数据库链接,这些数据库链接允许数据库命令对数据库链接进行操作,以实际地对应用数据库116中的表进行操作。在其他示例中,升级分析工具104或库数据库106还将从应用数据库116获取的状态信息114存储为库数据库106中的当前状态信息128。例如,库数据库106可以包括应用数据库116一部分的快照。当前状态信息128可以与状态信息114相同或不同。
除了或替代当前状态信息128,库数据库106可以包括默认状态信息130。在下文参照图2对默认状态信息130进行描述。如下所述,升级分析工具104可以生成升级信息132。升级信息可以标识程序对象118和120的子集,该程序对象118和120的子集将受到软件程序102从第一版本到第二版本的升级的影响。在某些示例中,升级信息132可以存储在库数据库106中。在其他示例中,升级信息132可以传输到另一设备或过程以便进一步处理、显示和/或存储。
图2是包括未修改形式的软件程序102和应用数据库116的测试系统200的另一实施方式的示例。当软件程序102首次安装时,软件程序102可以包括一个或多个默认程序对象118和120。例如,当ERP应用首次安装时,ERP应用可以包括安全性相关对象、组织单元、产品和/或客户的默认集合。默认程序对象118和120的每个可以包括存储在应用数据库116中的相应默认状态信息124和126。存储在应用数据库116中的默认状态信息114可以包括默认程序对象118和120中每个的默认状态信息124或126和/或涉及默认程序对象118和120中每个的默认状态信息124或126的信息。
可以认为软件程序102在首次安装时是未修改形式。当使用软件程序102时,可以由软件程序的用户修改、移除、添加程序对象118和120或保持其不改变。在用户修改、移除或添加一个或多个程序对象118和120之后,可以认为软件程序102是已修改形式。如果用户还未修改、移除或添加一个或多个程序对象118和120,但是已经仅通过执行软件程序102修改、移除或添加了程序对象118和120,则仍旧认为软件程序102是未修改形式。
安装在测试系统200中的软件程序102可以是软件程序102的第一版本和/或软件程序102的第二版本。在一个示例中,软件程序102的第二版本可以与第一版本分别安装。在另一示例中,软件程序102的第一版本可以升级到该软件的第二版本。
未修改形式的软件程序102的第一和第二版本可以包括更少、更多、不同和/或已修改的默认程序对象118和120。第一版本的默认程序对象118和120和第二版本的默认程序对象118和120之间的差异可以利用自动过程和/或手工确定。例如,人们可以确定第一版本中特定类型的程序对象118和120中的哪个在第二版本中不再存在。例如,数据库命令可以传输到测试系统200中的应用数据库116以作出此类确定,其中将来自于第一版本和第二版本两者的默认状态信息114包括在应用数据库116中。在另一示例中,人们可以确定第一版本中特定类型的程序对象118和120中的哪个已经被添加到第二版本中。在又一示例中,人们可以手工检验第一版本中和第二版本中特定类型的程序对象118和120,以确定第一版本的程序对象118和120中的哪个已经由第二版本中的不同程序对象118和120替换。在另一示例中,可以由软件程序102的开发者标识一个或多个差异,并且通过安装第二版本和/或升级到第二版本而在应用数据库116中提供该一个或多个差异。一组已修改的默认程序对象可以包括一个或者多个默认程序对象118和120,该默认程序对象118和120将在此类升级中被替换、添加、移除或具有一个或多个改变的属性。
如果已经替换程序对象或该程序对象具有一个或多个改变的属性,则可以认为该程序对象被修订。如果已经移除程序对象,则可以认为该程序对象过时。如果已经修订程序对象或该程序对象过时,则认为该程序对象被修订或改变。
在一个示例中,软件程序的第一版本的默认程序对象118和120和第二版本的默认程序对象118和120之间的差异可以存储为图1的库数据库106中的默认状态信息130。在不同的示例中,未修改形式的软件程序102的第二版本的默认状态信息114可以存储为库数据库106中的默认状态信息130。在后者的示例中,第一版本和第二版本的默认程序对象118和120之间的差异可以通过比较包括在已修改形式的软件程序102的第一版本的程序对象118和120中的第二版本的默认程序对象118和120来确定。
升级分析工具104可以基于默认状态信息130与当前状态信息128的比较生成升级信息132。升级分析工具104因此可以在不执行升级的情况下,在分析已修改形式的软件程序102第一版本的任何给定的安装时,重用默认状态信息130。
如上所述,升级信息132可以标识将受到从未修改形式的软件程序102的第一版本到第二版本的升级的影响的程序对象118和120的子集。当然,包括在已修改的默认程序对象中的任何程序对象118和120都可能受到升级的影响。例如,如果包括在默认程序对象中的默认授权对象在未修改形式的软件程序102的升级中被移除,并且默认授权对象包括在已修改形式的软件程序102中,则在已修改形式的软件102的升级中,也可以移除该默认授权对象。直接或间接与已修改的默认程序对象集合相关联的任何程序对象118和120也可能受到升级的影响。例如,如果安全性任务包括在未修改形式的软件程序102中,并且该安全性任务间接地与过时的默认授权对象相关联,则该安全性任务可以受到升级的影响,因为该安全性任务在升级中将潜在地失去与授权对象的间接关联。
相反,与已修改的默认程序对象集合不相关联的程序对象118和120可以不受到升级的影响。例如,如果新供应商对象包括在已修改形式的软件程序102中,但是与默认安全性任务没有关系,则移除默认安全性任务可以不影响新供应商对象。因此,已修改的默认程序对象和程序对象118和120之间的关系可以用于标识将受到升级影响的程序对象118和120的子集。这些关系此后可以称为程序对象关系。
可以根据包括在已修改形式的软件程序102中的程序对象118和120的集合与已修改的默认程序对象的比较,来确定将受到升级影响的程序对象118和120的子集。通过比较那些程序对象的状态信息可以获得类似的结果。因此,升级信息132可以基于对默认状态信息130和当前状态信息128(状态信息114)的比较。该比较可以根据程序对象关系进行。
在某些示例中,该比较可以包括所有程序对象118和120的比较。然而,在某些示例中,可以选择性地比较程序对象118和120。一个原因在于,并非对所有类型的程序对象都感兴趣。例如,对于在已修改形式的软件程序102中很可能被移除的某类型的已修改的默认程序对象,可能不感兴趣。作为示例,ERP应用中的默认客户对象在已修改形式中很可能被移除。此外,在已修改形式的ERP应用中的其他程序对象很可能与默认客户对象不具有关系,因为很可能将移除默认客户对象。作为另一示例,在升级期间,可以自动升级一个或多个类型的程序对象。例如,ERP应用中的销售订单可以在升级期间自动升级,并且可能在执行升级之后不需要进一步的手工分析或修改。
相反,可能对在执行升级之后可能需要手工分析和/或修改的任何类型的程序对象感兴趣。例如,可能对涉及ERP应用中安全性的程序对象118和120的类型感兴趣,因为在已修改形式的ERP应用中保留了很多默认安全性对象,并且很多新的安全性对象和其他类型的对象可以涉及安全性对象。因此,可能对涉及安全性特征的对象特别感兴趣。在另一示例中,可能对仍旧与其他程序对象118和120相关联的、被保留的默认程序对象118和120感兴趣。例如,诸如数据库表和显示屏的程序对象118和120可以具有此类特点。如果在升级期间添加了数据库表的数据库字段,则可能需要改变存储到数据库表的和/或从数据库表获取的显示屏,以考虑添加的数据库字段。
详细示例可以进一步示出升级分析工具104的一个实施方式的操作。ERP应用可以包括很多不同类型程序对象118和120。程序对象118和120可以包括涉及安全性的程序对象。例如,SAP ERP应用的安全性相关程序对象118和120可以包括任务、简档、授权对象、授权字段、授权值、授权组和检查指示符。安全性对象提供用于控制对被称为对象类的特定程序对象的访问机制。对象类的示例包括销售订单、供应商、客户和其他业务对象。每个对象类可以具有应用数据库116中的一个或多个相应数据库表,以存储相应的状态信息124和126。对象类可以具有针对授权对象的一对多关系。每个授权对象标识一组许可活动,诸如读和/或写。每个授权对象可以具有针对授权字段的多对多关系。授权字段可以标识一个数据库表中的字段。
在ERP应用内执行的进程和/或线程可以尝试访问对象类的程序对象,从而访问一个或多个数据库字段。可以检查与对象类和授权字段两者都关联的每个授权对象,其中授权字段与所访问的一个或多个数据库字段相关联。如果该访问是包括在由被检查的授权对象所标识的许可活动集合中的许可活动,则准许访问。
而且,授权对象可以具有针对授权值的一对多关系。授权值基于所访问字段的值允许附加级别的访问控制。给定的授权值可以标识授权字段和允许的值。如果针对所尝试访问的字段中的值与允许的值相匹配,则准许访问。例如,工作顺序可以针对制造设施中的特定设备而存在。数据库表可以包含工作顺序程序对象118或120的状态信息124或126。数据库字段可以包含具有标识特定设备的值的数据库字段。如果满足以下条件,则可以准许尝试修改工作顺序程序对象的访问:(1)标识特定设备的值包括在授权值中;(2)授权值与授权对象相关联;(3)授权对象与工作顺序对象类和针对具有标识设备的值的数据库字段的授权字段对象两者相关联;以及(4)授权对象将“写”指定为许可活动。允许的值可以标识许可值而不是具体值的范围。
简档可以是分组到一起的授权值的集合,例如,用来执行业务活动或部分业务活动。简档可以具有针对授权值的多对多关系。
任务可以包括零个、一个或多个简档。任务可以与简档具有一对多的关系。可以对用户分配一个或多个任务,以控制用户对一个或多个对象类的访问。任务可以具有一个或多个父任务和/或一个或多个子任务。还可以将任务分配给事务代码。
事务代码或称为tcode可以标识ERP应用中的特定业务活动。例如,tcode可能是“MM01”并且标识创建ERP应用中材料对象的业务活动。例如,可以将tcode用于标识用于创建材料对象的显示屏或显示屏集合。因为某些任务可以提供支持业务活动或业务活动的部分的访问特权,任务可以与事务代码相关联。任务可以与事务代码具有多对多关系。此外,出于类似原因,可以将授权对象与事务代码相关联起来。
当在由tcode标识的业务活动期间访问给定的对象类的程序对象时,对与对象类相关联的授权对象可以不进行上述检查。检查指示符对象可以包括检查标志和事务代码和授权对象之间的映射。检查标志指示是否应该针对事务代码检查授权对象。因此,可以在不移除或创建任何授权对象的情况下,通过检查指示符选择性地使能或禁用由授权对象掌控的访问控制。
授权组可以提供备选的访问控制机制。授权组可以控制对数据库表以及那些数据库表的一个或多个数据库字段的访问。在ERP应用生成可以在表级别而不是对象类级别操作的报告时,可以使用授权组。授权组可以具有针对数据库表的多对多关系。
上述安全性相关程序对象118和120之间的关系可以用于设计存储在库数据库106中的默认状态信息130与当前状态信息128的定制的比较。定制的比较可以标识将受到升级影响并且感兴趣的程序对象118和120。
例如,该比较可以设计用于确定对任务的影响。该比较可以进一步设计用于确定对无父的父任务的影响,该无父的父任务可以是不作为另一任务的子任务的父任务。原因在于,如果子任务将受到升级影响,则父任务将隐含地也受到影响。
图3示出了示例概要报告的一部分,该示例概要报告包括从升级信息132生成的、对父任务的影响的统计。报告中的每行可以对应于一个父任务。可替换地,报告中的每行可以对应于无父的父任务。中间六列包括指示将在升级中改变的给定类型的程序对象的数量,其中程序对象直接或间接地涉及每行的任务。
例如,“TCode改变”列中的数字指示与任务或与该任务的任何直接或间接子任务相关联而改变的事务代码的数量。默认状态信息130可以包括将在升级中改变的所有默认事务代码的列表。例如,包括在默认状态信息130中的第一数据库表可以包括将在升级中改变的ERP应用中的每个默认事务代码。包括在当前状态信息128中的第二数据库表可以包括ERP应用中的每个任务和任何相关联的事务代码。包括在当前状态信息128中的第三数据库表可以包括ERP应用中每个任务的任何相关联的父任务和/或子任务的标识。可以使用一个或多个结构化查询语言(SQL)命令进行第一数据库表与第二和第三数据库表的比较。这些SOL命令可以计算将被修改以及与父任务直接或间接地相关联的默认事务代码的数量。例如,被修改的以及与父任务的子任务相关联的每个默认事务代码可以包括在针对父任务的数量中。该示例是标识受到升级影响的程序对象的示例,因为与该程序对象间接相关联的另一个对象将在升级中修改。在程序对象通过一个或多个其他对象与其他程序对象相关联时,该程序对象间接地与另一程序对象相关联。
在另一示例中,“检查指示符改变”列中的数字可以指示具有将在升级中将被修改的检查标记值的检查指示符的数量。在该数字中包括的每个检查指示符可以与事务代码相关联,该事务代码继而与任务或与该任务的任何直接或间接子任务相关联。该示例还是标识受到升级影响的程序对象的示例,因为间接地与该程序对象相关联的另一对象将在升级中修改。
在又一示例中,“授权对象改变”列中的数字可以指示将在升级中被修改的默认授权对象的数量。每个被计数的默认授权对象可以与一个或多个授权值相关联,该一个或多个授权值继而与一个或多个简档相关联,该一个或多个简档继而与任务或与该任务的任何直接或间接子任务相关联。
在另一示例中,“组织元素改变”列中的数字指示包含影响特定安全性任务的组织元素字段的已修改的授权对象的数量。组织元素可以是描述业务组织结构的元素的层级集合。例如,业务单元可以具有一个或多个设施,并且每个设施可以具有一个或多个设备。可用的组织元素可以存储在组织元素数据库表中。授权对象可以包括组织元素字段,其对应于标识与特定程序对象相关联的组织元素的数据库字段。组织元素字段可以不从父任务继承值,而其他授权字段可以这样做。因而,在衍生的安全性任务中的组织元素的值可能必须手工填写,而不仅仅是被继承。如果授权对象包括组织元素字段并且该授权对象将在升级中过时,则可能需要改变可能已经填写的衍生的安全性任务。如果授权对象包括在软件程序的第一版本中、但是不在软件程序的第二版本中的组织元素字段,则可能也需要改变衍生的安全性任务。如果授权对象包括在软件程序的第二版本中增加的组织元素字段,则可能也需要改变衍生的安全性任务。
图4示出了从升级信息132生成的示例报告的一部分,该升级信息132标识了与父任务相关联的已修改的事务代码。这是一个升级信息132可以具体地标识与给定程序对象相关联的已修改的程序对象时的示例。升级信息132还可以指示如何修改已修改的程序对象(例如,通过指示该已修改的程序对象是否被修订或过时)。升级信息132可以进一步指示修改程序对象时修订的值。升级信息132还可以标识与给定对象直接或间接相关联的修订的或过时的程序对象的属性值范围。程序对象的属性或性质可以是包括在该程序对象中的值或对象。例如,字段对象可以指示什么数据库和数据库字段包含程序对象的属性状态信息。例如,对于给定的任务和/或父任务、升级信息132针对第一版本和第二版本的每个,可以包括用于事务代码和与给定任务直接或间接相关联的授权对象的每个唯一组合的字段的许可值范围。
在某些示例中,库数据库106中的默认状态信息130可以包括涉及多于软件程序102的两个版本的状态信息。升级分析工具104可以确定待分析的软件程序102的当前版本和将升级到的期望版本。如果默认状态信息130包括关于当前版本和期望版本的信息,那么升级分析工具104可以继续分析该升级。
升级分析工具104从其获取状态信息114的应用数据库116可以不是其中软件程序102存储程序对象118和120的状态信息124或126的产品应用数据库116。升级分析工具104、不同应用或应用的组合可以将状态信息114从产品应用数据库116提取到应用数据库116中,其中升级分析工具104从该应用数据库116获取该状态信息114。后者的应用数据库116例如可以是具有以逗号分隔的值的文本文件。升级分析工具104获取的状态信息114和/或从产品应用数据库116提取的状态信息114可以限制为涉及与一个或多个特征相关的程序对象118和120的状态信息124或126的信息。例如,升级分析工具104获取的状态信息114可以限制为涉及安全性程序对象以及与该安全性程序对象相关联的程序对象的信息。
图5示出了系统100中包括的方法的一个示例,该方法用于在不执行升级的情况下,分析执行从已修改形式软件程序102的第一版本到第二版本的升级的影响。可以执行附加的、不同的或更少的动作。这些动作不必以图5所示的顺序执行。
在图5示出的示例的动作502中,可以通过在库数据库106中提供默认状态信息130而开始操作。在动作504中,可以通过从应用数据库116获取当前状态信息119而继续操作。在动作506中,还可以通过比较当前状态信息119与默认状态信息130以生成升级信息132来继续操作。升级信息132可以标识将受到升级影响的当前程序对象118和120的子集。
检查当前程序对象118和120的每个是否过时或被修订的动作508可以包括在动作506中,动作506用于将当前状态信息119与默认状态信息130进行比较。如果当前程序对象118和120是过时的或被修订的,那么操作可以继续到用于标识受到影响的当前程序对象的动作510。用于标识受到影响的当前程序对象的动作510也可以包括在动作506中,动作506用于将当前状态信息119与默认状态信息130进行比较。
如果当前程序对象118和120没有过时或未被修订,那么操作可以通过检查与该程序对象相关联的任何程序对象是否过时或被修订,而进行到动作512。如果与该程序对象相关联的任何程序对象过时或被修订,则操作可以通过将当前程序对象标识为受到影响,而进行到动作510。检查与该程序对象相关联的任何程序对象是否过时或被修订的动作512可以包括在动作506中,该动作506用于比较当前状态信息119与默认状态信息130。
在某些示例中,升级分析工具104可以对存储在生产应用数据库116中的信息的子集进行操作。对信息子集的操作可以具有优势,因为潜在具有高度机密的信息可以留在生产应用数据库116中而不被导出。升级分析工具104也可以在不执行升级的情况下执行。不执行升级可以具有优势,因为即使在测试系统上,执行升级也可能是困难的。即使在测试系统上执行了升级,也可能很难确定标识出哪些程序对象118和120已经受到影响。对受影响程序对象的标识可以涉及在升级后手工检验每个程序对象。在某些示例中,升级分析工具104可以自动标识哪个程序对象118和120可能受到影响以及哪个程序对象118和120可能没受影响。在某些示例中,升级分析工具104显示升级信息132,从而允许用户进一步分析受影响的程序对象118和120。
在一个示例中,提供一种用于在不实际执行升级的情况下,分析已修改形式的软件程序的第一版本到已修改形式的软件程序的第二版本的升级的系统。该系统可以包括存储器和处理器,其中处理器与存储器进行通信。存储器可以包括可执行用来分析升级的计算机代码。例如,该系统可以提供多个默认程序对象的默认状态信息,所述多个默认程序对象包括在未修改形式的软件程序的第二版本的默认安装中。该系统可以从应用数据库获取多个当前程序对象的当前状态信息,其中当前程序对象包括在已修改形式的软件程序中。该系统可以基于当前状态信息和默认状态信息之间的比较生成升级信息,其中该升级信息标识当前程序对象的子集,并且该当前程序对象的子集将受到升级的影响。
在上面的示例中,系统可以优选地提供库数据库中的默认状态信息。系统可以在库数据库中存储当前状态信息。
在上面的示例中,当前程序对象还可以优选地涉及软件程序的特征。例如,软件程序的特征可以是安全性特征。已修改形式的软件程序还优选地包括可执行代码。
在上面的示例中,升级信息可以优选地标识由于升级的结果而被改变的当前程序对象的子集中所包括的当前程序对象中的至少一个。该当前程序对象中的至少一个可以与未修改的程序对象相关联。未修改的程序对象可以不因为升级的结果而被修改,但是其包括在将受到升级影响的当前程序对象的子集中,因为未修改的程序对象与当前程序对象中的至少一个相关联。例如,未修改的程序对象可以包括安全性任务,其中当前程序对象中的至少一个包括多个事务代码中的至少一个。
在上面的示例中,系统可以将数据库命令传输到库数据库,以根据默认状态数据库表和当前状态数据库表填写升级信息数据库表。默认状态信息可以存储在默认状态数据库表中。当前状态信息可以存储在当前状态数据库表中。升级信息可以存储在升级信息数据库表中。
上述系统和方法可以用于分析软件程序的升级。可选地,继而可以基于生成的升级信息而作出关于是否执行升级的决定。该决定可以基于受到升级影响的程序对象的所标识子集。例如,为了作出该决定,可以考虑受影响的程序对象的数量、它们的重要性或关键级别。可以不进行升级,除非例如不存在受影响的程序对象或没有上面的重要性的特定级别。如果决定升级软件程序,那么,可以可选地执行、运行、转出(roll out)或实现升级,从而得到改变到该软件程序的第二版本的软件版本。在该备选示例中,可以在分析之后对软件程序进行升级。分析和升级过程可以一起形成系统和方法的一部分,即,用于执行从软件程序的第一版本到软件程序的第二版本的升级的系统和方法。可以利用已修改形式(或定制)或未修改形式(或默认安装)的两个版本之一或两者执行升级。该可选步骤可以是自动的或手工的。例如,软件程序的第二版本可以可选地具有与第一版本不同的功能,可以增加性能、可以利用不同类型的硬件、可以优化存储器使用、需要更少的计算或电能和/或可以在不同操作系统或环境上运行软件程序。换言之,运行升级可以导致具有不同以及更有效配置的计算机系统。
不管描述的特定实现,所有讨论本质上是示例性的而不是限制性的。例如,尽管实现所选的方面、特征或组件描述为存储在存储器中,根据本发明的所有或部分系统和方法可以存储在、分布在例如次级存储设备的其他机器可读介质上或从其读取,次级存储设备诸如硬盘、软盘以及CD-ROM;从网络接收的信号;或当前已知的或稍后开发的其他形式的ROM或RAM。而且,各种模块和屏幕显示功能仅是此类功能的一个示例,并且包括类似功能的任何其他配置也可行的。
此外,尽管描述了本发明的具体组件,但是根据本发明的方法、系统和产品可以包括附加或不同的组件。例如,可以将处理器实现为微处理器、微控制器、专用集成电路(ASIC)、离散逻辑或其他类型的电路或逻辑的组合。类似地,存储器可以是DRAM、SRAM、闪存或任何其他类型的存储器。可以分别存储和管理标记、数据、数据库、表、条目和其他数据结构,可以将其并入单个存储器或数据库中,或可以以多种不同方式在逻辑上以及物理上对其进行组织。程序可以是单个程序的一部分、独立程序或分布在多个存储器和处理器上。
虽然已经描述了本发明的各种实施方式,但是对于本领域的技术人员明显的是,在本发明的范围内,更多实施方式和实现时可能的。因而,本发明仅受到所附权利要求书和它们的等价物的限制。

Claims (15)

1.一种系统,用于在不执行升级的情况下,分析已修改形式的软件程序的第一版本到所述已修改形式的所述软件程序的第二版本的升级,所述系统包括:
存储器;
处理器,与所述存储器进行通信,所述存储器包括计算机代码,其中所述计算机代码可执行用于:
提供多个默认程序对象的默认状态信息,其中所述默认程序对象包括在未修改形式的所述软件程序的第二版本的默认安装中;
从应用数据库获取多个当前程序对象的当前状态信息,其中所述已修改形式的所述软件程序包括所述当前程序对象;以及
在不执行所述升级的情况下,基于所述当前状态信息和所述默认状态信息之间的比较而生成升级信息,其中所述升级信息标识受到下述影响的所述当前程序对象的子集,所述影响来自于所述已修改形式的所述软件程序的第一版本到所述已修改形式的所述软件程序的第二版本的升级的完成。
2.根据权利要求1所述的系统,其中所述当前程序对象涉及所述软件程序的特征,并且所述已修改形式的所述软件程序包括附加的当前程序对象。
3.根据权利要求1到2中任一项所述的系统,其中所述升级信息标识所述当前程序对象中的至少一个,所述当前程序对象包括在由于所述升级的结果而改变的所述当前程序对象的所述子集中。
4.根据权利要求3所述的系统,其中所述当前程序对象中的所述至少一个与未修改的程序对象相关联,并且所述未修改的程序对象没有由于所述升级的结果而改变,但是其包括在所述当前程序对象的所述子集中,因为所述未修改的程序对象与所述当前程序对象中的所述至少一个相关联。
5.根据权利要求3所述的系统,其中所述当前程序对象中的所述至少一个由于所述升级的结果而被移除。
6.根据权利要求1到5中任一项所述的系统,其中所述默认程序对象是第一默认程序对象,所述默认安装是第一默认安装,并且所述默认状态信息包括所述第一默认程序对象和第二多个默认程序对象之间的差异,并且其中所述第二默认程序对象包括在未修改形式的所述软件程序的第一版本的第二默认安装中。
7.根据权利要求1到6中任一项所述的系统,其中所述计算机代码可进一步执行用于从所述升级信息生成概要报告,其中所述当前程序对象中的至少一个具有特定程序对象类型,所述当前程序对象中的所述至少一个与所述当前程序对象中的一个相关联,并且所述概要报告包括所述特定程序对象类型的列下的所述当前程序对象中所述至少一个的计数。
8.根据权利要求1到7中任一项所述的系统,其中所述计算机代码可进一步执行用于从所述升级信息生成概要报告,其中所述当前程序对象中的至少一个具有特定程序对象类型,所述当前程序对象中的所述至少一个与所述当前程序对象中的一个间接地相关联,并且所述概要报告包括所述特定程序对象类型列下的所述当前程序对象中所述至少一个的计数。
9.一种方法,用于在不执行升级的情况下,对执行从已修改形式的软件程序的第一版本到第二版本的所述升级的影响进行分析,所述方法包括:
提供在库数据库中的默认状态信息,其中所述默认状态信息包括第一多个默认程序对象和第二多个默认程序对象之间的差异,其中所述第一默认程序对象包括在未修改形式的所述软件程序的第一版本的第一默认安装中,并且其中所述第二默认程序对象将包括在未修改形式的所述软件程序的第二版本的第二默认安装中;
从应用数据库获取与多个当前程序对象相关的当前状态信息,其中所述已修改形式的所述软件程序的第一版本包括所述当前程序对象;以及
在不执行所述升级的情况下,通过将所述当前状态信息与所述默认状态信息进行比较,而标识受到所述升级完成的影响的所述当前程序对象的子集,以生成其中标识所述升级信息的升级信息。
10.根据权利要求9所述的方法,其中所述应用数据库是第一应用数据库,所述方法进一步包括:
从第二应用数据库获取所述当前状态信息,其中所述第二应用数据库由未修改形式的所述软件程序使用以存储状态信息;以及
在所述第一应用数据库中存储从所述第二应用数据库中获取的所述当前状态信息。
11.根据权利要求9到10中任一项所述的方法,其中比较所述当前状态信息与所述默认状态信息包括:
将包括在所述第一默认程序对象中、但不包括在所述第二默认程序对象中的所述当前程序对象中的每个标识为过时;
将包括在所述第一默认程序对象中、但在所述第二默认程序对象中被修订的所述当前程序对象中的每个标识为被修订;以及
将受到所述升级的影响的所述当前程序对象中的每个标识为过时或被修订。
12.根据权利要求11所述的方法,进一步包括:标识由于受到所述升级的影响、与标识为过时或修订的一个或多个所述当前程序对象间接地相关联的所述当前程序对象中的至少一个,其中通过多个相关联的程序对象与另一程序对象相关联的程序对象与所述另一程序对象间接地相关联。
13.根据权利要求9到12中任一项所述的方法,进一步包括生成报告,其中所述报告标识所述当前程序对象中的至少一个以及与所述当前程序对象中的所述至少一个相关联的多个所述当前程序对象,并且,与所述当前程序对象中的所述至少一个相关联的所述当前程序对象具有确定的程序对象类型。
14.根据权利要求9到13中任一项所述的方法,进一步包括将所述已修改形式的所述软件程序的第一版本升级到所述已修改形式的所述软件程序的第二版本的步骤。
15.一种包括指令的机器可读介质,当由处理器执行时,所述指令使得所述处理器执行权利要求9到14中任一项所述的方法。
CN2009101382854A 2008-06-05 2009-05-31 软件升级分析系统 Active CN101599047B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
IN1202/MUM/2008 2008-06-05
IN1202MU2008 2008-06-05

Publications (2)

Publication Number Publication Date
CN101599047A true CN101599047A (zh) 2009-12-09
CN101599047B CN101599047B (zh) 2012-08-22

Family

ID=41165854

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2009101382854A Active CN101599047B (zh) 2008-06-05 2009-05-31 软件升级分析系统

Country Status (5)

Country Link
US (2) US8745611B2 (zh)
EP (1) EP2131277A1 (zh)
JP (1) JP5235787B2 (zh)
CN (1) CN101599047B (zh)
CA (1) CA2666002C (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102156638A (zh) * 2010-02-11 2011-08-17 崴联科技股份有限公司 客制化软件源码的更新方法
CN102193859A (zh) * 2010-03-03 2011-09-21 腾讯科技(深圳)有限公司 一种代码分析方法及系统
CN102360333A (zh) * 2011-10-17 2012-02-22 哈尔滨工业大学 基于hisqm排队模型考虑故障排除过程的构件软件可靠性分析方法
CN110096302A (zh) * 2018-01-31 2019-08-06 阿里巴巴集团控股有限公司 软件数据储存、升级方法、装置、设备和存储介质
CN111008027A (zh) * 2019-11-22 2020-04-14 中国航空工业集团公司洛阳电光设备研究所 一种基于机载光电设备的网络化软件重注和加载方法
CN107408049B (zh) * 2015-03-16 2021-03-19 微软技术许可有限责任公司 计算系统和计算机实现的方法

Families Citing this family (102)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9292276B1 (en) 2004-07-19 2016-03-22 Micro Focus (IP) Development Limited Method and system for utilizing change packages
US8548967B1 (en) 2007-12-12 2013-10-01 Accurev, Inc. System for visual query and manipulation of configuration management records
US8341590B1 (en) 2007-12-12 2012-12-25 Accurev, Inc. System for relating workflow status to code component status in a software project
US8667465B2 (en) * 2008-03-31 2014-03-04 Accurev, Inc. System for estimating a software product release time from version information
US8473893B2 (en) * 2008-09-30 2013-06-25 Accurev, Inc. Integration of external software analysis processes with software configuration management applications
CN104902113B (zh) 2008-04-02 2018-10-19 特维里奥公司 处理电话会话的系统和方法
US8837465B2 (en) 2008-04-02 2014-09-16 Twilio, Inc. System and method for processing telephony sessions
US8745611B2 (en) 2008-06-05 2014-06-03 Accenture Global Services Limited Software upgrade analysis system
US8964726B2 (en) 2008-10-01 2015-02-24 Twilio, Inc. Telephony web event system and method
CN102415068B (zh) 2009-03-02 2015-09-02 特维里奥公司 用于多租户电话网络的方法和系统
US9210275B2 (en) 2009-10-07 2015-12-08 Twilio, Inc. System and method for running a multi-module telephony application
US8782001B2 (en) * 2010-02-19 2014-07-15 International Business Machines Corporation Computation of impacted and affected code due to database schema changes
US20110219365A1 (en) * 2010-03-05 2011-09-08 Microsoft Corporation High and low value application state
US9459925B2 (en) 2010-06-23 2016-10-04 Twilio, Inc. System and method for managing a computing cluster
US9459926B2 (en) 2010-06-23 2016-10-04 Twilio, Inc. System and method for managing a computing cluster
US9590849B2 (en) 2010-06-23 2017-03-07 Twilio, Inc. System and method for managing a computing cluster
US9338064B2 (en) * 2010-06-23 2016-05-10 Twilio, Inc. System and method for managing a computing cluster
US20120208495A1 (en) 2010-06-23 2012-08-16 Twilio, Inc. System and method for monitoring account usage on a platform
US8838707B2 (en) 2010-06-25 2014-09-16 Twilio, Inc. System and method for enabling real-time eventing
US9491238B2 (en) * 2010-07-22 2016-11-08 Sap Se Rapid client-side component processing based on component relationships
US8739128B1 (en) * 2010-08-22 2014-05-27 Panaya Ltd. Method and system for automatic identification of missing test scenarios
US8649268B2 (en) 2011-02-04 2014-02-11 Twilio, Inc. Method for processing telephony sessions of a network
US9201774B1 (en) * 2011-05-08 2015-12-01 Panaya Ltd. Generating test scenario templates from testing data of different organizations utilizing similar ERP modules
US9069904B1 (en) * 2011-05-08 2015-06-30 Panaya Ltd. Ranking runs of test scenarios based on number of different organizations executing a transaction
US9170809B1 (en) * 2011-05-08 2015-10-27 Panaya Ltd. Identifying transactions likely to be impacted by a configuration change
US9317404B1 (en) * 2011-05-08 2016-04-19 Panaya Ltd. Generating test scenario templates from test runs collected from different organizations
US9201773B1 (en) * 2011-05-08 2015-12-01 Panaya Ltd. Generating test scenario templates based on similarity of setup files
US9348735B1 (en) * 2011-05-08 2016-05-24 Panaya Ltd. Selecting transactions based on similarity of profiles of users belonging to different organizations
US9134961B1 (en) * 2011-05-08 2015-09-15 Panaya Ltd. Selecting a test based on connections between clusters of configuration changes and clusters of test scenario runs
US9201772B1 (en) * 2011-05-08 2015-12-01 Panaya Ltd. Sharing test scenarios among organizations while protecting proprietary data
US9170925B1 (en) * 2011-05-08 2015-10-27 Panaya Ltd. Generating test scenario templates from subsets of test steps utilized by different organizations
US9092579B1 (en) * 2011-05-08 2015-07-28 Panaya Ltd. Rating popularity of clusters of runs of test scenarios based on number of different organizations
US9398622B2 (en) 2011-05-23 2016-07-19 Twilio, Inc. System and method for connecting a communication to a client
US20140044123A1 (en) 2011-05-23 2014-02-13 Twilio, Inc. System and method for real time communicating with a client application
US9648006B2 (en) 2011-05-23 2017-05-09 Twilio, Inc. System and method for communicating with a client application
US8997085B2 (en) * 2011-06-24 2015-03-31 International Business Machines Corporation Image delta-based upgrade of complex stack in software appliance
CN102255748B (zh) * 2011-06-27 2017-12-29 中兴通讯股份有限公司 自动化测试系统及方法、版本服务器、以及终端
WO2013012690A1 (en) * 2011-07-15 2013-01-24 Integware, Inc. Software automated data and data model upgrade system
US9218180B2 (en) 2011-07-15 2015-12-22 Integware, Inc. Accelerated software services delivery system
US9348568B2 (en) * 2011-08-24 2016-05-24 Accenture Global Services Limited Software application porting system
WO2013044138A1 (en) 2011-09-21 2013-03-28 Twilio, Inc. System and method for authorizing and connecting application developers and users
US10182147B2 (en) 2011-09-21 2019-01-15 Twilio Inc. System and method for determining and communicating presence information
US8495612B2 (en) * 2011-10-21 2013-07-23 International Business Machines Corporation Systems and methods for upgrading a version of software
US9495227B2 (en) 2012-02-10 2016-11-15 Twilio, Inc. System and method for managing concurrent events
US9240941B2 (en) 2012-05-09 2016-01-19 Twilio, Inc. System and method for managing media in a distributed communication network
US9602586B2 (en) 2012-05-09 2017-03-21 Twilio, Inc. System and method for managing media in a distributed communication network
US20130304928A1 (en) 2012-05-09 2013-11-14 Twilio, Inc. System and method for managing latency in a distributed telephony network
US9247062B2 (en) 2012-06-19 2016-01-26 Twilio, Inc. System and method for queuing a communication session
US8737962B2 (en) 2012-07-24 2014-05-27 Twilio, Inc. Method and system for preventing illicit use of a telephony platform
US9280554B2 (en) 2012-09-28 2016-03-08 Oracle International Corporation Using confidence values for synchronizing file systems
US8948356B2 (en) 2012-10-15 2015-02-03 Twilio, Inc. System and method for routing communications
US8938053B2 (en) 2012-10-15 2015-01-20 Twilio, Inc. System and method for triggering on platform usage
CN102890720A (zh) * 2012-10-16 2013-01-23 南京通达海信息技术有限公司 数据库检查维护方法
US9253254B2 (en) 2013-01-14 2016-02-02 Twilio, Inc. System and method for offering a multi-partner delegated platform
US9282124B2 (en) 2013-03-14 2016-03-08 Twilio, Inc. System and method for integrating session initiation protocol communication in a telecommunications platform
US9292349B2 (en) 2013-03-15 2016-03-22 International Business Machines Corporation Detecting deployment conflicts in heterogenous environments
US9104520B2 (en) * 2013-04-28 2015-08-11 Tencent Technology (Shenzhen) Company Limited Method and apparatus for upgrading application
US9225840B2 (en) 2013-06-19 2015-12-29 Twilio, Inc. System and method for providing a communication endpoint information service
US9240966B2 (en) 2013-06-19 2016-01-19 Twilio, Inc. System and method for transmitting and receiving media messages
US9338280B2 (en) 2013-06-19 2016-05-10 Twilio, Inc. System and method for managing telephony endpoint inventory
US9483328B2 (en) 2013-07-19 2016-11-01 Twilio, Inc. System and method for delivering application content
US9348585B2 (en) * 2013-08-20 2016-05-24 Red Hat, Inc. System and method for estimating impact of software updates
US10026064B2 (en) 2013-09-13 2018-07-17 Microsoft Technology Licensing, Llc Automatically recommending updates based on stored lifecycle information
US9626176B2 (en) 2013-09-13 2017-04-18 Microsoft Technology Licensing, Llc Update installer with technical impact analysis
US9665359B2 (en) 2013-09-13 2017-05-30 Microsoft Technology Licensing, Llc Automatically resolving conflicts after installation of selected updates in a computer system
US9830142B2 (en) 2013-09-13 2017-11-28 Microsoft Technology Licensing, Llc Automatic installation of selected updates in multiple environments
US9274858B2 (en) 2013-09-17 2016-03-01 Twilio, Inc. System and method for tagging and tracking events of an application platform
US9137127B2 (en) 2013-09-17 2015-09-15 Twilio, Inc. System and method for providing communication platform metadata
US9338018B2 (en) 2013-09-17 2016-05-10 Twilio, Inc. System and method for pricing communication of a telecommunication platform
US9553799B2 (en) 2013-11-12 2017-01-24 Twilio, Inc. System and method for client communication in a distributed telephony network
US9325624B2 (en) 2013-11-12 2016-04-26 Twilio, Inc. System and method for enabling dynamic multi-modal communication
US9170921B2 (en) * 2014-01-24 2015-10-27 Bank Of America Corporation Application testing automation
US9344573B2 (en) 2014-03-14 2016-05-17 Twilio, Inc. System and method for a work distribution service
US9226217B2 (en) 2014-04-17 2015-12-29 Twilio, Inc. System and method for enabling multi-modal communication
US9383989B1 (en) 2014-06-16 2016-07-05 Symantec Corporation Systems and methods for updating applications
US9246694B1 (en) 2014-07-07 2016-01-26 Twilio, Inc. System and method for managing conferencing in a distributed communication network
US9251371B2 (en) 2014-07-07 2016-02-02 Twilio, Inc. Method and system for applying data retention policies in a computing platform
US9774687B2 (en) 2014-07-07 2017-09-26 Twilio, Inc. System and method for managing media and signaling in a communication platform
US9516101B2 (en) 2014-07-07 2016-12-06 Twilio, Inc. System and method for collecting feedback in a multi-tenant communication platform
US20160063050A1 (en) * 2014-08-28 2016-03-03 Joerg Schoen Database Migration Consistency Checker
WO2016065080A1 (en) 2014-10-21 2016-04-28 Twilio, Inc. System and method for providing a miro-services communication platform
US9477975B2 (en) 2015-02-03 2016-10-25 Twilio, Inc. System and method for a media intelligence platform
US10110442B2 (en) 2015-02-20 2018-10-23 Microsoft Technology Licensing, Llc Hierarchical data surfacing configurations with automatic updates
US9880832B2 (en) 2015-03-06 2018-01-30 Sap Se Software patch evaluator
US11226940B2 (en) * 2015-03-16 2022-01-18 Oracle International Corporation Adapting data for changes to data attributes
US9959114B2 (en) * 2015-03-16 2018-05-01 Microsoft Technology Licensing, Llc Representation of customizable types in a development environment
US10078501B2 (en) 2015-03-16 2018-09-18 Microsoft Technology Licensing, Llc Domain specific language modeling framework in a development environment
US10419891B2 (en) 2015-05-14 2019-09-17 Twilio, Inc. System and method for communicating through multiple endpoints
US9948703B2 (en) 2015-05-14 2018-04-17 Twilio, Inc. System and method for signaling through data storage
US9778923B2 (en) * 2015-08-12 2017-10-03 Oracle International Corporation Peoplesoft cloud manager
US10146671B2 (en) 2015-09-25 2018-12-04 International Business Machines Corporation Testing of software upgrade
JP6330206B2 (ja) * 2015-09-30 2018-05-30 東芝情報システム株式会社 バージョンアップ影響分析システム及びそのプログラム
US10659349B2 (en) 2016-02-04 2020-05-19 Twilio Inc. Systems and methods for providing secure network exchanged for a multitenant virtual private cloud
US10063713B2 (en) 2016-05-23 2018-08-28 Twilio Inc. System and method for programmatic device connectivity
US10686902B2 (en) 2016-05-23 2020-06-16 Twilio Inc. System and method for a multi-channel notification service
US10528741B1 (en) * 2016-07-13 2020-01-07 VCE IP Holding Company LLC Computer implemented systems and methods for assessing operational risks and mitigating operational risks associated with using a third party software component in a software application
US10521218B2 (en) * 2017-10-09 2019-12-31 Microsoft Technology Licensing, Llc Enhanced techniques for updating software
CN108710503A (zh) * 2018-05-17 2018-10-26 烽火通信科技股份有限公司 一种软件版本的管理方法、使用方法及系统
US20200210210A1 (en) * 2018-12-26 2020-07-02 Servicenow, Inc. Systems and methods for enabling widget customization via extension points
US11880224B2 (en) 2021-02-24 2024-01-23 Cisco Technology, Inc. Providing tailored software update relevance information for deployed software
US20230047978A1 (en) * 2021-08-16 2023-02-16 Datawire, Inc. System and Method for Real-Time Configuration Analysis
JP7250192B1 (ja) 2022-04-19 2023-03-31 アビームコンサルティング株式会社 アップグレード方法

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5586304A (en) * 1994-09-08 1996-12-17 Compaq Computer Corporation Automatic computer upgrading
US5850554A (en) * 1995-12-29 1998-12-15 Intel Corporation Compiler tool set for efficiently generating and easily managing multiple program versions of different types
JP2001514776A (ja) * 1997-02-27 2001-09-11 シーベル システムズ,インコーポレイティド ローカルな修正を組み込むソフトウェア配布の連続レベル移送の方法
US6825941B1 (en) * 1998-09-21 2004-11-30 Microsoft Corporation Modular and extensible printer device driver and text based method for characterizing printer devices for use therewith
US6385770B1 (en) * 1999-01-29 2002-05-07 Telefonaktiebolaget Lm Ericsson (Publ) Software upgrade
AU5025600A (en) * 1999-05-17 2000-12-05 Foxboro Company, The Process control configuration system with parameterized objects
US6907546B1 (en) * 2000-03-27 2005-06-14 Accenture Llp Language-driven interface for an automated testing framework
US7310653B2 (en) * 2001-04-02 2007-12-18 Siebel Systems, Inc. Method, system, and product for maintaining software objects during database upgrade
US7523142B2 (en) * 2001-12-17 2009-04-21 Sap Ag Systems, methods and articles of manufacture for upgrading a database with a shadow system
US7191435B2 (en) * 2002-06-07 2007-03-13 Sun Microsystems, Inc. Method and system for optimizing software upgrades
CN1570878A (zh) * 2003-07-11 2005-01-26 上海广电(集团)有限公司中央研究院 信息家电软件升级方法及其升级数据的编码解码方法
CA2539465C (en) * 2003-09-17 2012-12-04 Research In Motion Limited System and method for management of mutating applications
JP4541727B2 (ja) 2004-03-04 2010-09-08 三菱電機株式会社 ソフトウェア機能更新装置
US7921419B2 (en) * 2004-05-12 2011-04-05 Oracle International Corporation Method and mechanism for managing incompatible changes in a distributed system
US7614046B2 (en) * 2004-11-24 2009-11-03 Microsoft Corporation Method and system for analyzing the impact of a software update
US8495619B2 (en) * 2005-06-29 2013-07-23 Flexera Software Llc Method and system for pre-deployment conflict checking
JP4864557B2 (ja) * 2006-06-15 2012-02-01 富士通株式会社 ソフトウェアの更新処理プログラム及び更新処理装置
CN100517248C (zh) * 2007-11-20 2009-07-22 中兴通讯股份有限公司 软件版本升级管理装置和软件版本升级管理方法
US8745611B2 (en) 2008-06-05 2014-06-03 Accenture Global Services Limited Software upgrade analysis system

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102156638A (zh) * 2010-02-11 2011-08-17 崴联科技股份有限公司 客制化软件源码的更新方法
CN102193859A (zh) * 2010-03-03 2011-09-21 腾讯科技(深圳)有限公司 一种代码分析方法及系统
CN102193859B (zh) * 2010-03-03 2014-09-10 深圳市世纪光速信息技术有限公司 一种代码分析方法及系统
CN102360333A (zh) * 2011-10-17 2012-02-22 哈尔滨工业大学 基于hisqm排队模型考虑故障排除过程的构件软件可靠性分析方法
CN102360333B (zh) * 2011-10-17 2015-08-19 哈尔滨工业大学 基于hisqm排队模型考虑故障排除过程的构件软件可靠性分析方法
CN107408049B (zh) * 2015-03-16 2021-03-19 微软技术许可有限责任公司 计算系统和计算机实现的方法
CN110096302A (zh) * 2018-01-31 2019-08-06 阿里巴巴集团控股有限公司 软件数据储存、升级方法、装置、设备和存储介质
CN110096302B (zh) * 2018-01-31 2024-03-01 斑马智行网络(香港)有限公司 软件数据储存、升级方法、装置、设备和存储介质
CN111008027A (zh) * 2019-11-22 2020-04-14 中国航空工业集团公司洛阳电光设备研究所 一种基于机载光电设备的网络化软件重注和加载方法

Also Published As

Publication number Publication date
CA2666002A1 (en) 2009-12-05
US9400648B2 (en) 2016-07-26
JP5235787B2 (ja) 2013-07-10
US20090307650A1 (en) 2009-12-10
CN101599047B (zh) 2012-08-22
CA2666002C (en) 2015-06-23
US20140282473A1 (en) 2014-09-18
US8745611B2 (en) 2014-06-03
JP2009295158A (ja) 2009-12-17
EP2131277A1 (en) 2009-12-09

Similar Documents

Publication Publication Date Title
CN101599047B (zh) 软件升级分析系统
US7577934B2 (en) Framework for modeling and providing runtime behavior for business software applications
US7721259B2 (en) Configurable and customizable software application system and metadata
US7730446B2 (en) Software business process model
US8112742B2 (en) Method and system for debugging data integration applications with reusable synthetic data values
US7761530B2 (en) Configuration change management tool
Vassiliadis Data warehouse modeling and quality issues
US7966356B2 (en) Apparatus and methods for displaying and determining dependency relationships among subsystems in a computer software system
US11080305B2 (en) Relational log entry instituting system
US20160170719A1 (en) Software database system and process of building and operating the same
US20160217423A1 (en) Systems and methods for automatically generating application software
US8756091B2 (en) Methods and tools to support strategic decision making by specifying, relating and analyzing requirements, solutions and deployments
CN101197025A (zh) 用于管理企业资源计划项目的方法和系统
EP3113016A1 (en) Tracing dependencies between development artifacts in a development project
Sung et al. A component-based product data management system
El Beggar et al. Towards an MDA-oriented UML profiles for data warehouses design and development
US20170060729A1 (en) Oracle cemli analysis tool
Eide Quantification and traceability of requirements
Rahman Design and development of a software for production planning in textile industries
Garigan Republic of Azerbaijan
Qian Financial aid data warehouse (Master of Software Engineering)

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: ACCENTURE INTERNATIONAL CO., LTD.

Free format text: FORMER OWNER: ACCENTURE GLOBAL SERVICES GMBH

Effective date: 20101206

Owner name: ACCENTURE GLOBAL SERVICES GMBH

Free format text: FORMER OWNER: ACCENTURE INTERNATIONAL CO., LTD.

Effective date: 20101206

C41 Transfer of patent application or patent right or utility model
COR Change of bibliographic data

Free format text: CORRECT: ADDRESS; FROM: LUXEMBOURG TO: DUBLIN, IRELAND

Free format text: CORRECT: ADDRESS; FROM: SCHAFFHAUSEN, SWITZERLAND TO: LUXEMBOURG

TA01 Transfer of patent application right

Effective date of registration: 20101206

Address after: Dublin, Ireland

Applicant after: ACCENTURE GLOBAL SERVICES Ltd.

Address before: Luxemburg Luxemburg

Applicant before: Accenture international LLC

Effective date of registration: 20101206

Address after: Luxemburg Luxemburg

Applicant after: Accenture international LLC

Address before: Schaffhausen

Applicant before: ACCENTURE GLOBAL SERVICES Ltd.

C14 Grant of patent or utility model
GR01 Patent grant