CN102722381B - 优化升级任务的技术 - Google Patents

优化升级任务的技术 Download PDF

Info

Publication number
CN102722381B
CN102722381B CN201210081385.XA CN201210081385A CN102722381B CN 102722381 B CN102722381 B CN 102722381B CN 201210081385 A CN201210081385 A CN 201210081385A CN 102722381 B CN102722381 B CN 102722381B
Authority
CN
China
Prior art keywords
task
weight
data
data block
priority
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
CN201210081385.XA
Other languages
English (en)
Other versions
CN102722381A (zh
Inventor
里拉 迦萨 R·德
D·库玛
Z·丘
R·墨卢斯
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
Priority to US13/072,465 priority Critical
Priority to US13/072,465 priority patent/US9218177B2/en
Application filed by Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Publication of CN102722381A publication Critical patent/CN102722381A/zh
Application granted granted Critical
Publication of CN102722381B publication Critical patent/CN102722381B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

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

Abstract

提供了优化升级任务的技术。描述了用于对升级操作的执行区分优先级和优化的技术。技术可包括确定要被从一个存储介质复制到另一存储介质的数据块的大小,以及升级任务对数据块和其他任务的依赖性。可根据权重对任务区分优先级,该权重包括该任务及其依赖任务所依赖的数据块的累积大小。数据块复制可根据依赖于该数据块的任务的累积权重被区分优先级。一些实施例可并行地,而非顺序地,执行数个数据复制和/或任务。对其他实施例也予以描述并要求保护。

Description

优化升级任务的技术
技术领域
[0001] 本申请涉及优化升级任务的技术。背景技术
[0002] 升级或更新计算机系统上的软件和/或数据可包括将大量的数据从一个存储介质复制到另一存储介质,以及执行使用数据或对数据进行操作的多个脚本。数据被复制的次序实质上可以是随机的。依赖于要执行的数据的后同步任务不能够被执行,直到该数据被复制。此外,一些任务可依赖要首先执行的其他任务。升级复制操作和任务执行可顺序地发生。此外,除了依赖性考虑之外,升级任务可实质上随机地发生。这样的升级过程的总体效果可能在使用处理和网络资源方面是低效的,延长了升级过程并负面地影响了生产力。本发明的改进正是针对这些和其他考虑事项而需要的。发明内容
[0003] 提供本发明内容以便以简化形式介绍将在以下具体实施方式中进一步描述的一些概念。本发明内容并非旨在标识所要求保护的主题的关键特征或必要特征,也不旨在用于帮助确定所要求保护的主题的范围。
[0004] 各实施例总体上针对用于优化升级或更新过程的技术。一些实施例尤其涉及用于通过根据大小和依赖性对过程步骤区分优先级来优化包括复制数据和执行与数据相关的任务的升级过程的技术。在一实施例中,例如,技术可包括确定要被从一个存储介质复制到另一存储介质的数据块的大小,以及升级任务对数据块和其他任务的依赖性。可根据权重对任务区分优先级,该权重包括该任务及其依赖任务所依赖的数据块的累积大小。数据块复制可根据依赖于该数据块的任务的累积权重被区分优先级。一些实施例可并行地,而非顺序地,执行数个数据复制和/或任务。对其他实施例也予以描述并要求保护。
[0005] 通过阅读下面的详细描述并参考相关联的附图,这些及其它特点和优点将变得显而易见。应该理解,前面的概括说明和下面的详细描述只是说明性的,不会对所要求保护的各方面形成限制。附图说明
[0006] 图1示出了用于优化升级过程的第一系统的实施例。
[0007] 图2示出了用于优化升级过程的第二系统的实施例。
[0008] 图3示出了用于优化升级过程的第三系统的实施例。
[0009] 图4示出了要优化的一组数据和任务的实施例。
[0010] 图5示出了显示经区分优先级的列表的用户界面的实施例。[〇〇11]图6示出逻辑流程的实施例。[〇〇12]图7示出计算体系结构的实施例。[〇〇13]图8示出通信体系结构的实施例。具体实施方式
[0014] 各实施例针对用于优化升级任务的系统和技术。一实施例可考虑数据块(诸如表或文件)的大小和依赖于该数据的任务,来对复制和任务执行的次序区分优先级。一实施例可并行地执行复制和任务执行的一些。一实施例可允许任务或数据复制的优先级被覆盖。 结果,各实施例可提高操作者、设备或网络的可承受性、可伸缩性、模块性、可扩展性或互操作性。
[0015] —些计算机实现的应用使用大量的数据。数据可被存储在一个或多个数据库中。 这样的应用的示例可包括企业应用、库存管理应用等。应用可包括客户端组件和服务器组件。升级数据和/或应用可包括将新版本的数据从一个位置复制到不同的位置。虽然此处的讨论涉及升级过程,但是各实施例可包括其他过程,其他过程包括可被区分优先级的多个复制和任务步骤。这样的过程可包括例如用于恢复丢失或损坏的数据的恢复过程、或用于更新远程站点处的数据的更新过程。各实施方式不限于这些示例。
[0016] 图1示出了用于优化升级过程的系统100的框图。在一个实施例中,例如,系统100 可包括具有诸如服务器110和服务器120的多个组件的计算机实现的系统100。如此处所使用的,术语“系统”和“组件”旨在指代与计算机相关的实体,包括硬件、硬件和软件的组合、 软件、或执行中的软件。例如,组件可被实现为在处理器上运行的进程、处理器、硬盘驱动器、多个(光和/或磁存储介质的)存储驱动器、对象、可执行代码、执行的线程、程序、和/或计算机。作为说明,在服务器上运行的应用和服务器两者都可以是组件。一个或多个组件可以驻留在进程和/或执行的线程内,且组件可以视给定实现所需而位于一台计算机上和/或分布在两台或更多的计算机之间。各实施例不限于该上下文。[0〇17]在图1中不出的所不实施例中,系统100可用一个或多个电子设备实现。电子设备的示例可包括但不限于,移动设备、个人数字助理、移动计算设备、智能电话、蜂窝电话、手机、单向寻呼机、双向寻呼机、消息通信设备、计算机、个人计算机(PC)、台式计算机、膝上型计算机、笔记本计算机、手持式计算机、服务器、服务器阵列或服务器场、web服务器、网络服务器、因特网服务器、工作站、小型计算机、大型计算机、超级计算机、网络设备、web设备、分布式计算系统、多处理器系统、基于处理器的系统、消费电子产品、可编程消费电子产品、电视机、数字电视机、机顶盒、无线接入点、基站、订户站、移动订户中心、无线电网络控制器、 路由器、集线器、网关、网桥、交换机、机器、或其组合。虽然图1中示出的系统100具有按照某种拓扑结构的有限数量的元素,但可以理解,系统100可以视给定实现的需要而包括按照替代拓扑结构的更多或更少元素。
[0018] 服务器110和服务器120可以经由各种类型的通信介质来通信地耦合。服务器110 和服务器120可以协调彼此之间的操作。该协调可以涉及单向或双向信息交换。例如,服务器110和服务器120可以传递通过通信介质传递的信号形式的信息。该信息可被实现成分配给各条信号线的信号。在这些分配中,每一个消息都是信号。然而,其他实施方式可另选地采用数据消息。这些数据消息可以跨各个连接发送。示例性连接包括并行接口、串行接口和总线接口。
[0019] 在各实施例中,系统100可包括服务器110。服务器110可以是电子设备。服务器110 可包括存储数据112的计算机可读存储介质。数据112可以是存储在一个或多个数据块中的数据。数据块可以是例如,数据库表或文件。
[0020] 服务器110可包括在服务器110上操作的应用114。应用114可使用数据112并对数据112进行操作。应用114可以是例如,企业资源计划应用、客户关系管理应用、业务线应用、 或存储、管理和使用大量数据的其他应用。应用114可以是到由不同设备(诸如,服务器120) 提供的应用功能的接口,例如,“哑”终端。系统100可以包括一个以上的服务器110。
[0021] 在各实施例中,系统100可包括服务器120。服务器120可提供用于应用114的服务, 包括更新或升级功能。服务器120可执行例如数据的处理、备份和/或管理。数据可包括例如,人员数据、库存数据、客户数据、商业记录、信件、产品开发数据等。[〇〇22]服务器120可包括数据122。数据122可以是数据112的副本,或可以是数据112的不同版本。例如,数据122可包括相比于数据112而言更多的数据块、更少的数据块、或被不同结构化的数据块。数据122可具有与数据112相同数量和结构的数据块,但可包含不同的数据。数据122可包含例如相比于数据112而言更加新的数据。[〇〇23] 服务器120可包括更新器130。更新器130可以是对服务器110上的数据进行升级、 更新和/或恢复的组件。升级过程可包括将数据块复制到诸如服务器110的目标设备,以及对所复制的数据执行任务或使用所复制的数据来执行任务。复制数据块和执行任务的组合在此可被统称为“升级操作”。
[0024] 更新器130可包括任务132。任务132可包括要对数据122执行的或使用数据122来执行的一个或多个操作或操作集,包括后同步操作。操作可以是例如,脚本、经编译的软件指令、经解释的软件指令、小应用程序、宏、固件指令等。一些任务可依赖于一个或多个数据块,这意味着在任务可被执行之前,该任务可能需要具有数据122中被复制到服务器110的数据块。一些任务可依赖于其它任务,这意味着一任务可能需要在依赖于它的任务能被执行之前被执行。在一实施例中,在数据122被复制到服务器110后,任务132可由服务器120对该数据122执行。任务232的示例可包括排序数据、分析数据、使数据相关等。
[0025] 在一实施例中,更新器130可能够并行地一次执行一个以上的升级操作。例如,更新器130可能够一次将两个或更多个数据块复制到服务器110,或可能够在将一个或多个数据块复制到服务器110的同时执行一个或多个任务。
[0026] 在一实施例中,更新器130可包括优先级区分器134。优先级区分器134可以是更新器130的组件,或可用作服务器120上的独立应用或过程。优先级区分器134可检查数据122 和任务132以及它们的依赖性来对升级操作的次序区分优先级。在一实施例中,优先级区分器134可考虑数据块的大小、依赖于数据块的任务的数量、任务所依赖的数据块的数量、任务所依赖的数据块的大小、依赖于一任务的任务的数量、一任务所依赖的任务的数量、或它们的任何组合,来确定执行升级操作的次序。在一实施例中,优先级区分器134可在对升级操作区分优先级时附加地分析和考虑其它因素,诸如网络条件和/或硬件配置。在一实施例中,优先级区分器134可按顺序的升级次序对升级操作区分优先级。在一实施例中,优先级区分器134可根据可发生的指定数量的并行操作来将升级操作区分优先级为升级次序。 [〇〇27] 在一实施例中,服务器120可包括调度器140。调度器140可以是更新器130的组件, 或可用作服务器120上的独立应用或过程。调度器140可接收经区分优先级的升级次序并根据该次序来开始升级操作。在一实施例中,调度器140可请求或接收多个可用的并行处理资源,例如,处理器线程,并可将升级操作按次序地分配给各个可用的处理资源。例如,如果5个线程是可用的,则调度器140可在这些线程的各个线程中启动前5个升级操作中的各个升级操作。当升级操作完成并且处理资源变得可用时,调度器140可按优先级次序选择下一其依赖性已经得到满足的升级操作。在以上示例中,如果第六个升级操作是依赖于依然正在被复制的数据块的任务,则调度器140可跳过该第六个操作并选择第七个升级操作。[〇〇28]图2示出了用于优化升级过程的系统200的框图。系统200可类似于系统100,但可包括服务器210上而非服务器220上的更新器230。在系统200中,更新器230可在升级操作期间从服务器220获取数据222。更新器230可本地地、在服务器210上对所获取的数据执行任务232。如果任务232等同于系统100中的任务132,并且数据222等同于系统100中的数据 122,则优先级区分器234可相比于优先级区分器134而言不同地对任务和数据复制区分优先级。例如,如果任务232要被服务器210执行,则相比于服务器120,服务器210的硬件配置可建议不同的次序来优化升级操作。[〇〇29]调度器240可接收经区分优先级的升级次序并根据该次序来开始来自服务器210 的升级操作。在一实施例中,调度器240可请求或接收服务器210上多个可用的并行处理资源,例如,处理器线程,并可将升级操作按次序地分配给各个可用的处理资源。所得到的系统200中复制和任务的完成的实际次序可与系统100中的不同,尤其在服务器210相比于服务器120而言具有对其可用的不同数量的处理资源的情况下,或在服务器210相比于服务器 120而言具有不同的硬件配置使得复制和/或任务以不同的速度完成的情况下。
[0030]图3示出了用于优化升级过程的系统300的框图。系统300可类似于系统100和200。 然而,系统300可具有与应用服务器320分开的数据服务器350。数据服务器350可存储数据 322。如同数据122—样,数据322可以是服务器310上的数据312的副本,或可以是数据312的不同版本。数据服务器350可以是例如,备份服务器或多个客户端系统的集中式数据存储。 [〇〇31]类似于服务器120的应用服务器320可提供用于应用314的服务,包括由更新器330 管理的更新或升级功能。类似于更新器130和230,更新器330可以与数据服务器350进行通信,并作为升级过程的一部分,可分析数据322中需要被复制到服务器310的数据块的大小。
[0032] 如以上所述,优先级区分器334可根据数据块的大小以及任务和数据块之间的依赖性来对任务332和数据322的复制区分优先级。在确定任务和数据复制的优先级时,优先级区分器334可分析并考虑应用服务器320、数据服务器350和/或服务器310的硬件和网络配置。
[0033] 调度器340可接收经区分优先级的升级次序并根据该次序来开始升级操作。如同调度器140和240—样,调度器340可请求或接收多个可用的并行处理资源,并可将升级操作按次序地分配给各个可用的处理资源。所得到的系统300中的复制和任务的完成的实际次序可与系统100和200中的不同,例如在数据服务器350和服务器310之间的数据传输率不同于应用服务器320和服务器310之间的数据传输率的情况下。
[0034] 图4是示出包括任务和要复制的数据块的升级操作集的示例以及它们的依赖性的图400。在图4中,数据块由矩形表示,任务由圆圈表示,依赖性由箭头表示。图4中示出的操作集因此具有六个数据块:D1-D6,以及9个任务,T 1-T9。各个数据块的大小被显示为该数据块中的“S”值,例如,D1具有20兆字节(MB)的大小,而DB5具有2MB的大小。
[0035] 任务可依赖于一个或多个数据块和/或一个或多个任务。例如,任务T6依赖于数据块DB1和DB3,这意味着在任务T6能被执行之前,DB1和DB3必须被复制。任务T4例如依赖于任务T6和数据块DB3,这意味着在T4能被执行之前,DB3必须被复制并且任务T6必须完成。 [〇〇36]每个任务都可具有任务权重,显示为“TW”数值。在一实施例中,任务的任务权重是通过以下方式计算的:将该任务所依赖的所有数据块的大小相加作为第一权重(显示为 “W1”数值),并接着将依赖于该任务的所有其它任务的第一权重相加(显示为“W2”数值)。任务权重可以是W1和W2的和。例如,对于任务T1,W1是DB1和DB2的相加的大小,因为T1依赖于 DB1 和 DB2。对于 1'1:11 = 20+15 = 35。1'1被13所依赖,13具有15的11。1'1的12是12 = 35+15 = 50J1的任务权重是TW:35+50 = 85。任务T3依赖于DB2,并具有15的WUT3不被任何任务所依赖,因此其W2是0。T3的任务权重是TW: 15+0 = 15。[〇〇37]每个数据块都可具有复制权重,显示为“CW”数值。在一实施例中,复制权重可通过将数据块的大小加到直接依赖于该数据块的所有任务的W2值来计算。例如,DB4具有S = 2, 并且具有直接依赖于其的两个任务:T8和T2。T8具有W2 = 0,T2具有W2 = 18。因此,DB4的复制权重等于2+0+18 = 20。
[0038]在一实施例中,任务和数据块可分别根据任务权重和复制权重被区分优先级。在图4中示出了优先级排序的示例,由每个数据块和任务左上方的小圆圈中的数字表示。一般而言,具有最大复制权重的数据块可被分配给最高的优先级。相对于其它数据块而言,大的复制权重可反映出依赖于该数据块的任务的数量以及数据块本身的大小。剩余的数据块和任务可根据它们各自的复制权重和任务权重被区分优先级。[〇〇39]在图4中,DB 1具有第一优先级,因为它具有最大的复制权重231AB3具有第5优先级,具有为90的复制权重,而T4由于其任务权重为30而具有第9优先级。如果两个或更多个升级过程具有相同数值的复制权重或任务权重,则优先级可例如根据相应的W1和大小值或根据过程所具有的依赖性来确定。例如,在图4中,DB3和T6各自具有为90的权重。T6依赖于 DB3,并因此具有低于DB3的优先级。在其他实施例中,任务和数据块可根据附加的或替代的因素来被区分优先级,诸如但不限于,硬件配置、网络条件、可用的处理资源等。
[0040]分配给任务和数据块的优先级不一定反映出任务和数据块复制发生的实际次序。 一般而言,在给定N个并行处理资源的情况下,前N个升级过程可一起开始。在升级过程中的一个升级过程完成并且其处理资源变得可用时,调度器可检查下一最高优先级升级过程来确定它是否能被执行。然而,如果该过程依赖于还没有完成的数据块或任务,则调度器可跳过该过程并检查下一最高优先级,直到找到能被执行的过程。例如,在图4中,DB1,DB2,DB5, T7和DB3是前5个最高优先级任务。如果系统具有四个可用的处理资源,则DB1,DB2和DB5将实质上一起开始被复制。然而,T7依赖于DB1,DB2和DB5,因此不能在这三个数据块被复制之前执行。调度器可接着检查下一最高优先级项,DB3,并且由于它不依赖于任何其它过程,调度器可致使DB3的复制开始。T7可以作为在DB1,DB2和DB5被复制完成后的下一过程被开始。 [〇〇41]图5示出了用户界面(UI)500的实施例,该用户界面显示图4的各升级操作的经区分优先级的列表的示例。UI 500可向用户(例如,应用管理员)显示升级操作的经区分优先级的列表,并可允许用户覆盖优先级并对优先级重新排序。[〇〇42] UI 500可按表格的形式显示升级操作,该表格形式具有一个或多个列以及对应于前N个区分优先级的操作的N个行。列可包括例如,优先级列510、项目列512、任务权重列 514、复制权重列516以及“依赖”列518。优先级列510可标识由优先级区分器分配给升级操作的优先级次序。作为默认,UI 500可按优先级次序从最高到最低排序。在一实施例中,优先级列510可在UI 500中被省略,具有暗示的优先级次序。项目列512可包括升级操作的名称或描述,使得用户可能够标识任务或数据表。[〇〇43]任务权重列514可显示列表中的任务的任务权重,并可将0显示为数据表的值。复制权重列516可显示列表中的数据表的复制权重,并可将0显示为列表中的任务的值。在一实施例中,任务权重列514和复制权重列516可被组合到“权重”列,该“权重”列显示列表中任务和数据表的相应的任务和复制权重。在一实施例中,UI 500可不显示权重。
[0044] “依赖”列518可列出项目所依赖的其它任务和数据表。例如,第四优先级项目T7依赖于DB1,DB2和DB5。该信息在用户决定是否要对升级操作重新排序时是有用的。在一实施例中,UI500可附加地或替代地将依赖于行项目的项目显示在例如“被依赖”列中。在这样的实施例中,例如,第一优先级项目DB1将显示T1,T4,T6和T7作为依赖于它的项目。
[0045] UI 500可向用户提供一种改变所显示的项目的优先级的方式。例如,UI 500可提供增加按钮520和减少按钮522。在一实施例中,增加按钮520和减少按钮522可仅仅在重排序按钮526被选择后激活。选择表格中的项目并选择增加按钮520—次可将所选项目的优先级增加1,而将在所选项目之上的项目的优先级减少1。例如,如果第五优先级项目DB3被选择,并且增加按钮520被选择一次,那么DB3将被重新分配优先级4,而先前的第四优先级项目T7将被分配优先级5。减少按钮522可与增加按钮520类似地操作,但是降低项目的优先级。
[0046] 在一实施例中,优先级可例如通过以下方式被改变:用户用输入设备(诸如,鼠标) 选择、拖放列表中的项目到一对应于不同优先级的新的位置。在一实施例中,优先级列510 中的字段可以是可编辑的,并且用户可通过选择字段并从例如键盘在字段中输入新的数字优先级来改变优先级。在一实施例中,任务权重列514和复制权重列516中的字段可以是可编辑的,并允许用户改变数据块的复制权重或任务的任务权重。在一实施例中,任务编写器可包括任务的附加权重系数,该附加权重系数致使所计算的任务权重乘以该权重系数,从而改变任务的有效任务权重。权重系数可被包括在任务的属性中。各实施方式不限于这些示例。
[0047] —旦优先级次序在需要或不需要重新排序的情况下对用户而言是满意的,选择接受按钮524可关闭UI 500并致使优先级信息被提供给调度器。调度器可接着根据所接受的优先级来开始升级过程。在一实施例中,取消按钮可被提供来终止升级过程。[〇〇48] UI的其他实施例是可能的。例如,UI可将关于升级过程的信息提供为以某个次序安排的图形(诸如图标)来显示它们的优先级。图形可由输入设备选择拖曳到不同的优先级位置。UI可用连接线来显示升级过程之间的关系,类似于图4中的那些。各实施例不限于UI 500的示例。
[0049] 上述实施例的操作可参考一个或多个逻辑流程来进一步描述。可以理解,除非另外指明,否则代表性的逻辑流程不一定要按所呈现的次序或者按任何特定次序来执行。此夕卜,关于逻辑流程描述的各种活动可按串行或并行的方式执行。视给定一组设计和性能约束所需,逻辑流程可使用所述实施例的一个或多个硬件元件和/或软件元件或替换元件来实现。例如,逻辑流程可被实现为供逻辑设备(例如,通用或专用计算机)执行的逻辑(例如, 计算机程序指令)。
[0050] 图6示出逻辑流程600的一个实施例。逻辑流程600可表示由在此所描述的一个或多个实施方式所执行的操作中的部分或全部。[0051 ]在图6显示的示出的实施例中,逻辑流程600可在框602处确定升级过程的任务和数据块之间的依赖性。例如,升级器130可检测各个升级任务的代码来确定任务需要什么数据块,以及在任务可被执行之前需要执行什么其它任务。在一实施例中,各个任务都可包括例如,列出其依赖性的注释。在一实施例中,一分开的数据文件可包括针对各个任务和数据块的条目,条目列出什么任务和数据块依赖于条目中的项目。数据文件可以是例如,表格、 列表、数据库、电子表格等。[〇〇52]在一实施例中,任务可具有一个或多个属性,除其它功能,该一个或多个属性可以是将元数据应用到其它类和方法的专用类。属性可被用于公布一任务依赖于什么其它任务和数据块。更新器130可读取任务的属性中的信息来确定任务的依赖性。[〇〇53]逻辑流程400可在框604处计算升级过程中任务的任务权重。例如,优先级区分器 134可通过以下方式计算任务的任务权重:将任务所依赖的所有数据块的大小相加作为第一权重,并接着将依赖于该任务的所有其它任务的第一权重相加作为第二权重。任务权重可以是第一权重和第二权重的和。例如,如果一任务依赖于大小为15MB的数据块,并具有依赖于该任务的具有为30的第一权重的任务,那么该任务的第二权重是15+30 = 45。任务权重则是 30+45 = 75。[〇〇54]逻辑流程600可在框606处计算升级过程中数据块的复制权重。例如,优先级区分器134可通过将数据块的大小与直接依赖于该数据块的所有任务的第二权重相加来计算复制权重。例如,如果数据块具有20MB大小,并具有依赖于该数据块的三个任务分别具有为 10、5和2的第二权重,那么复制权重是20+10+5+2 = 37。
[0055]在一实施例中,可计算其它度量,诸如将数据块从一设备复制到一另一设备有多快、或在各个设备上执行该任务要花费多长时间。[〇〇56]逻辑流程600可在框608处根据任务权重、复制权重和/或依赖性来对升级操作区分优先级。例如,优先级区分器134可将最高优先级分配给具有最高权重(分别为任务权重或复制权重)的任务或数据块。在相同权重的情况下,可考虑其它因素,诸如依赖的数量、过程是数据块复制还是任务、操作之一是否依赖于其它操作、或其它考虑。在一实施例中,可在对升级操作区分优先级时分析并考虑附加的或替代的因素。例如,网络条件、硬件配置、 数据块结构和/或其它影响性能的条件可影响优先级的分配。[〇〇57]在一实施例中,更新器130可显示用户界面(UI),该用户界面示出具有其优先级的指示的升级操作的一些或全部。UI可允许用户覆盖升级操作的被分配的优先级。在一实施例中,UI可允许用户编辑数据块的复制权重或任务的任务权重,或编辑优先级。在一实施例中,UI可允许用户从升级过程的列表中移除任务或数据块复制操作。
[0058]逻辑流程600在框610可根据优先级来执行升级操作。例如,调度器140可获得一定数量的处理资源,诸如线程,并开始该数量个升级操作。在一实施例中,优先级排序可不同于执行次序。一些较高的优先级操作在它们能被执行之前可依赖于其它数据块或任务的完成。较低的优先级操作反而能被执行,直到所依赖的操作完成,较高的优先级操作可启动。 例如,当升级过程之一完成并且其处理资源变得可用时,调度器可检查下一最高优先级升级过程来确定它是否能被执行。然而,如果该过程依赖于还没有完成的数据块或任务,则调度器可跳过该过程并检查下一最高优先级,直到找到能被执行的过程。
[0059] 各实施例由此可利用并行的处理能力,并且通过分析依赖性,可优化复制和任务操作来最小化升级过程期间的停机时间。优化也可通过确保数据在依赖于它的任务之前被复制来保护功能数据完整性。
[0060] 图7示出适用于实现上述各实施例的示例性计算体系结构700的实施例。计算体系结构700包括各种常见计算元件,如一个或多个处理器、协同处理器、存储器单元、芯片组、 控制器、外围设备、接口、振荡器、定时设备、视频卡、音频卡、多媒体输入/输出(I/O)组件, 等等。然而,各实施方式不限于由计算体系结构700来实现。[0061 ]如图7所示,计算体系结构700包括处理单元704、系统存储器706以及系统总线 708。处理单元704可以是可购得的各种处理器中的任一种。双微处理器和其它多处理器体系结构也可用作处理单元704。系统总线708向包括但不限于系统存储器706的各系统组件提供到处理单元704的接口。系统总线708可以是若干种总线结构中的任一种,这些总线结构还可互连到存储器总线(带有或没有存储器控制器)、外围总线、以及使用各类市场上可购买到的总线体系结构中的任一种的局部总线。[〇〇62]系统存储器706可以包括各种类型的存储器单元,诸如只读存储器(R0M)、随机存取存储器(RAM)、动态RAM(DRAM)、双倍数据率DRAM(DDRAM)、同步DRAM(SDRAM)、静态RAM (SRAM)、可编程ROM(PROM)、可擦除可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、闪存、 诸如铁电聚合物存储器等聚合物存储器、奥氏存储器、相变或铁电存储器、硅-氧化物-氮化物-氧化物-硅(S0N0S)存储器、磁卡或光卡、或适于存储信息的任何其他类型的介质。在图7 示出的所示实施方式中,系统存储器706可包括非易失性存储器710和/或易失性存储器 712。基本输入/输出系统(B1S)可以存储在非易失性存储器710中。[〇〇63]计算机702可包括各种类型的计算机可读存储介质,包括内置硬盘驱动器(HDD) 714、用于读写可移动磁盘718的磁软盘驱动器(FDD)176、以及用于读写可移动光盘722(例如,CD-ROM或DVD)的光盘驱动器720ADD 714、FDD 716、以及光盘驱动器720可分别由HDD接口 724、FDD接口 726和光盘驱动器接口 728连接到系统总线708。用于外置驱动器实现的HDD 接口 724可包括通用串行总线(USB)和IEEE 1394接口技术中的至少一种或两者。
[0064]驱动器及相关联的计算机可读介质提供了对数据、数据结构、计算机可执行指令等的易失性和/或非易失性存储。例如,多个程序模块可存储在驱动器和存储器单元710、 712中,包括操作系统730、一个或多个应用程序732、其他程序模块734和程序数据736。一个或多个应用程序732、其他程序模块734、以及程序数据736可包括例如应用114和更新器 130〇[〇〇65]用户可以通过一个或多个有线/无线输入设备,例如键盘738和诸如鼠标740等定点设备将命令和信息输入到计算机702中。其他输入设备可包括话筒、红外(IR)遥控器、操纵杆、游戏垫、指示笔、触摸屏等等。这些和其他输入设备通常通过耦合到系统总线708的输入设备接口 742连接到处理单元704,但也可通过诸如并行端口、IEEE 1394串行端口、游戏端口、USB端口、IR接口等其他接口连接。[〇〇66]监视器744或其他类型的显示设备也经由诸如视频适配器746等接口连接到系统总线708。除了监视器744之外,计算机通常包括诸如扬声器、打印机等其他外围输出设备。 [〇〇67] 计算机702可使用经由有线和/或无线通信至一个或多个远程计算机(诸如远程计算机748)的逻辑连接在联网环境中操作。远程计算机748可以是工作站、服务器计算机、路由器、个人计算机、便携式计算机、基于微处理器的娱乐设备、对等设备或其他常见的网络节点,并且通常包括相对于计算机702描述的许多或所有元件,但为简明起见仅示出了存储器/存储设备750。所描绘的逻辑连接包括到局域网(LAN)752和/或例如广域网(WAN)754等更大网络的有线/无线连接。这种LAN和WAN联网环境常见于办公室和公司,并且方便了诸如内联网等企业范围计算机网络,所有这些都可连接到例如因特网等全球通信网络。[〇〇68]当在LAN联网环境中使用时,计算机702通过有线和/或无线通信网络接口或适配器756连接到LAN 752。适配器756可以方便到LAN 752的有线和/或无线通信,并且还可包括其上设置的用于使用适配器756的无线功能进行通信的无线接入点。[〇〇69] 当在WAN联网环境中使用时,计算机702可包括调制解调器758,或连接到WAN 754上的通信服务器,或具有用于诸如通过因特网等通过WAN 754建立通信的其它装置。或为内置或为外置以及有线和/或无线设备的调制解调器758经由输入设备接口 742连接到系统总线708。在联网环境中,相对于计算机702所描绘的程序模块或其部分可以存储在远程存储器/存储设备750中。应该理解,所示网络连接是示例性的,并且可以使用在计算机之间建立通信链路的其他手段。
[0070] 计算机702可操作来使用IEEE 802标准系列来与有线和无线设备或实体进行通信,这些实体例如是在操作上安置成与例如打印机、扫描仪、台式和/或便携式计算机、个人数字助理(PDA)、通信卫星、任何一件与无线可检测标签相关联的设备或位置(例如,电话亭、报亭、休息室)以及电话进行无线通信(例如,IEEE 802.7空中调制技术)的无线设备。这至少包括W1-Fi(即无线保真)、WiMax和蓝牙TM无线技术。由此,通信可以如对于常规网络那样是预定义结构,或者仅仅是至少两个设备之间的自组织(ad hoc)通信。W1-Fi网络使用称为IEEE 802.7x(a、b、g等等)的无线电技术来提供安全、可靠、快速的无线连接。W1-Fi网络可用于将计算机彼此连接、连接到因特网以及连接到有线网络(使用IEEE 802.3相关的介质和功能)。
[0071] 图8示出适用于实现上述各实施例的示例性通信体系结构800的框图。通信架构 800包括各种常见通信元件,如发射机、接收机、收发机、无线电装置、网络接口、基带处理器、天线、放大器、滤波器,等等。然而,各实施方式不限于由通信架构800来实现。[〇〇72] 如图8所示,通信架构800包括一个或多个客户机802和服务器804。客户机802可实现服务器系统110、210和/或310。服务器804可实现服务器系统120、220、320和/或350。客户机802和服务器804可操作地连接到可被用来存储相应客户机802和服务器804本地的信息 (如cookie和/或相关联的上下文信息)的一个或多个相应客户机数据存储808和服务器数据存储810。[〇〇73] 客户机802和服务器804可以使用通信框架806在彼此之间传递信息。通信框架806 可以实现任何公知通信技术,如适用于与分组交换网络(例如,诸如因特网等公共网络、诸如企业内联网等专有网络,等等)、电路交换网络(例如,公共交换电话网)、或分组交换网络和电路交换网络的组合(使用合适的网关和转换器)一起使用的技术。客户机802和服务器 804可以包括被设计成可与通信框架806进行互操作的各种类型的标准通信元件,如一个或多个通信接口、网络接口、网络接口卡(NIC)、无线电装置、无线发射机/接收机(收发机)、有线和/或无线通信介质、物理连接器等。作为示例而非限制,通信介质包括有线通信介质和无线通信介质。有线通信介质的示例可以包括导线、电缆、金属线、印刷电路板(PCB)、背板、交换光纤、半导体材料、双绞线、同轴电缆、光纤、所传播的信号等。无线通信介质的示例可以包括声学、射频(RF)频谱、红外和其他无线介质。客户机802和服务器804之间的一种可能的通信可以是以适用于在两个或更多计算机进程之间传输的数据包的形式。例如,数据包可以包括cookie和/或相关联的上下文信息。
[0074] 各实施例可以使用硬件元件、软件元件或两者的组合来实现。硬件元件的示例可以包括设备、组件、处理器、微处理器、电路、电路元件(例如,晶体管、电阻器、电容器、电感器等)、集成电路、专用集成电路(ASIC)、可编程逻辑器件(PLD)、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、存储器单元、逻辑门、寄存器、半导体器件、芯片、微芯片、芯片组等。软件元件的示例可以包括软件组件、程序、应用软件、计算机程序、应用程序、系统程序、 机器程序、操作系统软件、中间件、固件、软件模块、例程、子例程、函数、方法、过程、软件接口、应用程序接口(API)、指令集、计算代码、计算机代码、代码段、计算机代码段、文字、值、 符号、或其任意组合。确定一实施例是否使用硬件元件和/或软件元件来实现可视给定实现所需根据任何数量的因素而变化,这些因素如所需计算速率、功率级、耐热性、处理周期预算、输入数据速率、输出数据速率、存储器资源、数据总线速度以及其它设计或性能约束。
[0075] —些实施方式可包括制品。制品可包括用于存储逻辑的存储介质。存储介质的示例可包括能够存储电子数据的一种或多种类型的计算机可读存储介质,包括易失性存储器或非易失性存储器、可移动或不可移动存储器、可擦除或不可擦除存储器、可写或可重写存储器等。逻辑的示例可包括各种软件元件,诸如软件组件、程序、应用软件、计算机程序、应用程序、系统程序、机器程序、操作系统软件、中间件、固件、软件模块、例程、子例程、函数、 方法、过程、软件接口、应用程序接口(API)、指令集、计算代码、计算机代码、代码段、计算机代码段、文字、值、符号、或其任意组合。例如,在一个实施例中,制品可以存储可执行计算机程序指令,该指令在由计算机执行时使得该计算机执行根据所描述的各实施方式的方法和/或操作。可执行计算机程序指令可包括任何合适类型的代码,诸如源代码、已编译代码、 已解释代码、可执行代码、静态代码、动态代码等。可执行计算机程序指令可根据用于指示计算机执行特定功能的预定义的计算机语言、方式或句法来实现。这些指令可使用任何合适的高级、低级、面向对象、可视、已编译和/或已解释编程语言来实现。
[0076] —些实施例可使用表述“一个实施例”和“一实施例”及其派生词来描述。这些术语意味着结合该实施例描述的特定特征、结构、或特性包括在至少一个实施例中。出现在说明书中各个地方的短语“在一个实施例”并不必全都指的是同一实施例。
[0077] —些实施例可使用表述“親合的”和“连接的”及其派生词来描述。这些术语不必旨在互为同义词。例如,一些实施例可使用术语“连接的”和/或“親合的”来描述以指示两个或更多元件彼此有直接的物理或电接触。然而,术语“耦合的”还可以意味着两个或更多元件彼此不直接接触,而仍彼此合作或交互。
[0078] 要强调的是,提供了本公开的摘要以符合37C.F.R.1.72(b)节要求使读者能快速确定本技术公开的特性的摘要。提交摘要的同时要明白,将不用它来解释或限制权利要求的范围或含义。另外,在前面的详细描述中,可以看到,出于将本公开连成一个整体的目的而将各种特征组合在一起放在单个实施方式中。此公开方法将不被解释为反映所要求保护的实施方式要求比每个权利要求中明确陈述的更多特征的意图。相反,如所附权利要求书所反映,发明性的主题存在于比单个已公开实施方式的所有特征少的特征中。从而,据此将所附权利要求结合进详细描述中,其中每个权利要求独立地代表一个单独的实施方式。在所附权利要求书中,术语“包括”和“其中”分别用作术语“包含”和“其特征在于”的易懂的英文等价词。而且,术语“第一”、“第二”、“第三”等等只用作标记,而不旨在将数字要求强加于其对象上。
[0079]尽管用结构特征和/或方法动作专用的语言描述了本主题,但可以理解,所附权利要求书中定义的主题不必限于上述具体特征或动作。更确切而言,上述具体特征和动作是作为实现权利要求的示例形式公开的。

Claims (9)

1.一种在计算设备(702)上执行的方法,所述方法包括:确定要从第一设备(120)复制到目标设备(110)的多个数据块(122、222)的大小;为多个任务中的每一个确定任务(132)对多个数据块中的数据块(122)的第一依赖性 以及任务对所述多个任务中的另一任务的第二依赖性(602);为所述任务的每一个计算任务权重(514) (604),每个任务权重包括对应于所述第一依 赖性或所述第二依赖性的至少一个数据块的累积大小,计算任务权重包括将所述任务所依 赖的所有数据块的大小相加作为第一权重,将依赖于所述任务的所有其它任务的第一权重 相加作为第二权重;通过将数据块的大小与直接依赖于该数据块的所有任务的第二权重相加来为多个数 据块中的每个数据块计算复制权重(516)(606);将最高优先级分配给具有最大复制权重的复制数据块(608);以及 根据复制权重和任务权重中的至少一个对剩余的复制和任务区分优先级(608)。
2.如权利要求1所述的方法,其特征在于,还包括:并行地执行多个复制、任务或任务和复制的组合。
3.如权利要求1或2所述的方法,其特征在于,计算任务的任务权重还包括:将所述第一 权重和所述第二权重相加作为任务权重。
4.如权利要求1或2所述的方法,其特征在于,还包括:根据优先化来复制数据块和执行任务。
5.如权利要求1或2所述的方法,其特征在于,还包括:只有当一任务所依赖的所有数据块被复制时,才执行所述任务。
6 •—种计算机系统(100 ),包括:用于确定要从第一设备(120)复制到目标设备(110)的多个数据块(122、222)的大小的装置;用于为多个任务中的每一个确定任务(132)对多个数据块中的数据块(122)的第一依 赖性以及任务对所述多个任务中的另一任务的第二依赖性(602)的装置;用于为所述任务的每一个计算任务权重(514) (604)的装置,每个任务权重包括对应于 所述第一依赖性或所述第二依赖性的至少一个数据块的累积大小,计算任务权重包括将所 述任务所依赖的所有数据块的大小相加作为第一权重,将依赖于所述任务的所有其它任务 的第一权重相加作为第二权重;用于通过将数据块的大小与直接依赖于该数据块的所有任务的第二权重相加来为多 个数据块中的每个数据块计算复制权重(516)(606)的装置;用于将最高优先级分配给具有最大复制权重的复制数据块(608)的装置;以及 用于根据复制权重和任务权重中的至少一个对剩余的复制和任务区分优先级(608)的装置。
7.—种计算装置(120、210、702),包括:逻辑设备(704);存储数据块(122、222)的计算机可读存储介质(714、718、722);在所述逻辑设备上操作以执行以下操作的升级优先级区分器(134):通过加依赖数据块和依赖任务的大小来计算升级过程中任务的任务权重(604),包括将所述任务所依赖的所有数据块的大小相加作为第一权重,将依赖于所述任务的所有其它 任务的第一权重相加作为第二权重;通过将数据块的大小与直接依赖于该数据块的所有任务的第二权重相加来计算要在 升级过程期间被复制的数据块的复制权重(606);以及根据所述复制权重和所述任务权重中的至少一个对所述升级过程中的复制和任务区 分优先级(608),将最高优先级分配给具有最大复制权重的复制数据块;和更新器模块(130),所述更新器模块将数据块从所述计算机可读存储介质复制到另一 计算机可读存储介质,并根据所述优先级来执行任务。
8.如权利要求7所述的计算装置,其特征在于,所述升级优先级区分器还通过以下方式 来计算任务权重:将所述第一权重和所述第二权重相加作为任务权重。
9.如权利要求7或8所述的计算装置,其特征在于,还包括显示器,所述升级优先级区分 器进一步:以优先级次序来显示复制和任务的列表;接收接受所述次序或对复制和任务重新排序的输入;以及 根据所接收的输入来调整复制和任务的优先级。
CN201210081385.XA 2011-03-25 2012-03-23 优化升级任务的技术 Active CN102722381B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US13/072,465 2011-03-25
US13/072,465 US9218177B2 (en) 2011-03-25 2011-03-25 Techniques to optimize upgrade tasks

Publications (2)

Publication Number Publication Date
CN102722381A CN102722381A (zh) 2012-10-10
CN102722381B true CN102722381B (zh) 2017-03-01

Family

ID=46878440

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210081385.XA Active CN102722381B (zh) 2011-03-25 2012-03-23 优化升级任务的技术

Country Status (2)

Country Link
US (1) US9218177B2 (zh)
CN (1) CN102722381B (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5803886B2 (ja) * 2012-11-28 2015-11-04 コニカミノルタ株式会社 画像形成装置およびプログラム
CN103077086A (zh) * 2013-01-09 2013-05-01 苏州亿倍信息技术有限公司 一种任务分配控制的方法及系统
CN103077085A (zh) * 2013-01-09 2013-05-01 苏州亿倍信息技术有限公司 一种任务分配的方法及系统
CN103064745B (zh) * 2013-01-09 2015-09-09 苏州亿倍信息技术有限公司 一种任务分配处理的方法及系统
CN103077084A (zh) * 2013-01-09 2013-05-01 苏州亿倍信息技术有限公司 一种任务控制的方法及系统
US10635724B2 (en) * 2015-01-30 2020-04-28 International Business Machines Corporation Analysis of data utilization
CN107220263A (zh) * 2016-03-22 2017-09-29 阿里巴巴集团控股有限公司 数据迁移的优化方法、评估方法及处理方法及装置
CN106126271B (zh) * 2016-06-15 2020-02-07 北京金山安全管理系统技术有限公司 一种数据升级方法和装置
CN107463400B (zh) * 2017-07-31 2019-12-13 深圳壹账通智能科技有限公司 移动应用的热更新方法及终端设备
CN109117258A (zh) * 2018-07-24 2019-01-01 合肥工业大学 一种基于任务移动的多核系统静态任务调度方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101038559A (zh) * 2006-09-11 2007-09-19 中国工商银行股份有限公司 批量任务调度引擎及调度方法
CN101630252A (zh) * 2009-07-07 2010-01-20 中国科学院软件研究所 一种基于过程仿真技术进行软件项目进度控制的方法

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6694325B2 (en) * 2000-10-16 2004-02-17 Frank Jas Database method implementing attribute refinement model
US20030070157A1 (en) * 2001-09-28 2003-04-10 Adams John R. Method and system for estimating software maintenance
US7222129B2 (en) * 2002-03-29 2007-05-22 Canon Kabushiki Kaisha Database retrieval apparatus, retrieval method, storage medium, and program
US20040244005A1 (en) * 2003-05-30 2004-12-02 Ancier Leland J. Automatic urgency calculator and task scheduler
US7735086B2 (en) * 2004-02-27 2010-06-08 International Business Machines Corporation Methods and arrangements for planning and scheduling change management requests in computing systems
US7539625B2 (en) * 2004-03-17 2009-05-26 Schlumberger Technology Corporation Method and apparatus and program storage device including an integrated well planning workflow control system with process dependencies
US20070136731A1 (en) * 2005-12-09 2007-06-14 Caterpillar Inc. Systems and methods for prioritizing tasks
US8521706B2 (en) 2006-10-20 2013-08-27 Oracle International Corporation Low-downtime and zero-downtime upgrades of database-centric applications
US8117606B2 (en) * 2007-06-04 2012-02-14 Infosys Technologies Ltd. System and method for application migration in a grid computing environment
JP2009069921A (ja) * 2007-09-11 2009-04-02 Hitachi Ltd マルチプロセッサシステム
US20090100430A1 (en) * 2007-10-15 2009-04-16 Marco Valentin Method and system for a task automation tool
US8869165B2 (en) * 2008-03-20 2014-10-21 International Business Machines Corporation Integrating flow orchestration and scheduling of jobs and data activities for a batch of workflows over multiple domains subject to constraints
JP2012511204A (ja) * 2008-12-08 2012-05-17 ケーピーアイティ クミンズ インフォシステムズ リミテッド リソースを最適化するためのタスク再編成方法
US8370858B2 (en) * 2008-12-11 2013-02-05 Sap Ag Creating step descriptions for application program interfaces
US8332862B2 (en) * 2009-09-16 2012-12-11 Microsoft Corporation Scheduling ready tasks by generating network flow graph using information receive from root task having affinities between ready task and computers for execution
JP2011175362A (ja) * 2010-02-23 2011-09-08 Sony Corp 情報処理装置、重要度算出方法及びプログラム
JP5070315B2 (ja) * 2010-04-28 2012-11-14 株式会社日立製作所 ストレージ装置及びストレージ装置におけるデータ階層管理方法
US8836996B2 (en) * 2010-06-01 2014-09-16 Kabushiki Kaisha Toshiba Image forming apparatus, management method of image forming processing, and computer-readable recording medium on which program is recorded
US8375330B2 (en) * 2010-08-25 2013-02-12 Sap Ag Task importance indicator based on personalized rules
US9600255B2 (en) * 2010-10-08 2017-03-21 Microsoft Technology Licensing, Llc Dynamic data and compute resource elasticity
US20120137278A1 (en) * 2010-11-30 2012-05-31 International Business Machines Corporation Generating a customized set of tasks for migration of a deployed software solution

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101038559A (zh) * 2006-09-11 2007-09-19 中国工商银行股份有限公司 批量任务调度引擎及调度方法
CN101630252A (zh) * 2009-07-07 2010-01-20 中国科学院软件研究所 一种基于过程仿真技术进行软件项目进度控制的方法

Also Published As

Publication number Publication date
CN102722381A (zh) 2012-10-10
US20120246659A1 (en) 2012-09-27
US9218177B2 (en) 2015-12-22

Similar Documents

Publication Publication Date Title
CN102722381B (zh) 优化升级任务的技术
CN105324769B (zh) 用于产生用于自动数据库迁移的脚本集的解决方案
US20150379429A1 (en) Interactive interfaces for machine learning model evaluations
US8340995B2 (en) Method and system of using artifacts to identify elements of a component business model
US9292182B2 (en) Business intelligence dashboard assembly tool with indications of relationships among content elements
CN103488674B (zh) 计算系统和计算系统的执行控制方法
CN106371840A (zh) 基于众包的软件开发方法及装置
CN105793874B (zh) 用于管理团体信息的方法和系统
US20120278122A1 (en) Automated derivation, design and execution of industry-specific information environment
US20190243621A1 (en) Systems and methods for code clustering analysis and transformation
US10248919B2 (en) Task assignment using machine learning and information retrieval
CN103077192A (zh) 一种数据处理方法及其系统
Sturm et al. Application performance management (APM) in the digital enterprise: managing applications for cloud, mobile, iot and eBusiness
US10528343B2 (en) Systems and methods for code analysis heat map interfaces
US20190243629A1 (en) Systems and methods for entry point-based code analysis and transformation
US8494886B2 (en) Embedding planning components in transactional applications
US10073938B2 (en) Integrated circuit design verification
JP5206268B2 (ja) ルール作成プログラム、ルール作成方法及びルール作成装置
US10769143B1 (en) Composite index on hierarchical nodes in the hierarchical data model within case model
KR101351079B1 (ko) 데이터베이스와 연동되는 프로그램을 제어하는 서비스 제공 방법 및 시스템
CN109656802A (zh) 基于高耦合自动匹配技术的测试用例设计系统
US20080195453A1 (en) Organisational Representational System
KR102131446B1 (ko) 분석엔진 운용 시스템, 장치 및 이의 분석엔진 갱신 방법
US20140149186A1 (en) Method and system of using artifacts to identify elements of a component business model
Sarkar Microsoft SQL server 2012 with Hadoop

Legal Events

Date Code Title Description
PB01 Publication
C06 Publication
SE01 Entry into force of request for substantive examination
C10 Entry into substantive examination
TA01 Transfer of patent application right

Effective date of registration: 20150727

Address after: Washington State

Applicant after: Micro soft technique license Co., Ltd

Address before: Washington State

Applicant before: Microsoft Corp.

C41 Transfer of patent application or patent right or utility model
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150727

GR01 Patent grant
GR01 Patent grant