CN101887380B - 优化在多平台系统中执行的应用的分布 - Google Patents

优化在多平台系统中执行的应用的分布 Download PDF

Info

Publication number
CN101887380B
CN101887380B CN201010177487.2A CN201010177487A CN101887380B CN 101887380 B CN101887380 B CN 101887380B CN 201010177487 A CN201010177487 A CN 201010177487A CN 101887380 B CN101887380 B CN 101887380B
Authority
CN
China
Prior art keywords
platform
migration
aggregates
large scale
operating 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
CN201010177487.2A
Other languages
English (en)
Other versions
CN101887380A (zh
Inventor
M·尼夫特
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 CN101887380A publication Critical patent/CN101887380A/zh
Application granted granted Critical
Publication of CN101887380B publication Critical patent/CN101887380B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system
    • G06F9/5088Techniques for rebalancing the load in a distributed system involving task migration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • G06F9/4856Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5038Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2023Failover techniques
    • G06F11/203Failover techniques using migration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/4557Distribution of virtual machine instances; Migration and load balancing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • G06F9/4856Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration
    • G06F9/4862Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration the task being a mobile agent, i.e. specifically designed to migrate

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Feedback Control In General (AREA)
  • General Factory Administration (AREA)
  • Hardware Redundancy (AREA)

Abstract

本发明涉及优化在多平台系统中执行的应用的分布。具体地,要求保护的主题的实施方式涉及通过将一个平台上操作的特定过程向系统中的另一平台迁移、从而允许多在平台系统(诸如,大型机)上操作的过程的优化的方法和系统。在一个实施方式中,优化通过以下方式来执行:评估在专有操作系统下操作的分区中执行的过程;从过程中确定将被迁移的过程汇集;计算迁移该过程汇集的迁移成本;以迁移顺序为该过程汇集设置优先级;以及根据迁移顺序递增地将过程向大型机中执行较低成本(例如,开源)操作系统的另一分区迁移。

Description

优化在多平台系统中执行的应用的分布
优先权要求
本申请要求于2009年5月11日提交的序列号为61/177,149的临时专利申请的优先权,该申请名称为“Optimizing A Distribution ofApplications Operating In A Multiple Environment System(优化在多环境系统中操作的应用的分布)”。
技术领域
本申请涉及多平台系统中应用分布的优化。
背景技术
大型机是主要由大型商业机构和组织使用的计算系统,用于执行使命和任务关键的应用(诸如批量数据处理),这些应用对于商业机构或组织的核心常常至关重要。这些应用常常为组织提供竞争优势,因此,大型机是出于长使用寿命、容错以及耐久的目的而设计的。
另外,相对于普通个人计算机而言,大型机还提供了极大提高的计算性能。与诸如PC的个人计算机相比,大型机通常具有数百到数千倍的数据存储,并且能够快得多地对这些数据进行访问、操纵和执行操作。大型机被设计用于处理极大量的输入和输出(I/O),并且着眼于吞吐量计算。传统上,大型机设计包括若干附属计算机(称为通道或者外围处理器),其管理I/O设备,从而使中央处理单元(CPU)可以仅处理高速存储器。而且,典型的大型机应用通常用来执行对于操作该大型机的商业机构的核心而言至关重要的任务。
此外,几乎所有的传统大型机还具有运行(或者主控)多个操作系统的能力,由此不是作为单个计算机进行操作,而是作为多个虚拟机来进行操作。这最常见的是通过使用多个逻辑分区来实现的。每个逻辑分区(通常称为“LPAR”)是计算系统的硬件资源的子集,其被虚拟化为单独的计算机。在这方面,单个大型机可以替代很多或者说甚至数百个较小的服务器。作为通常的实践,大型机经常使用大型机制造商的专有操作系统,并且传统的实现可以包括操作同一操作系统的多个实例的单个大型机。近来的发展已经允许在同一大型机中结合在分布式逻辑分区中操作的各种异类操作系统。
不幸地,大型机的购买和取得通常非常昂贵。而且,大型机操作系统和应用的开发和/或许可也可能非常昂贵。由于大型机制造商和软件开发者的数目相对较少,因此大型机消费者通常除了大型机制造商的专有操作系统之外几乎没有什么其他选择。自然,对单个、专有的操作系统的依赖可能是昂贵的,并且专有操作系统的许可费可能构成拥有和操作大型机以及购买大型机计算服务的成本的重要部分。而且,由于维护和升级费用,这些费用对于大型机消费者而言几乎肯定将继续增长。对大型机的实际所有权的一个备选方案是,从大型机服务提供商处租赁大型机计算服务。然而,与这些提供商(其可能是大型机制造商本身)的服务采购计划经常可能随时间而变得同样昂贵。
不幸地,对大型机所有权和操作的成本进行限制是难以实现的。响应于该问题的传统方法包括:在现状范式下继续操作;向备选平台转移系统中的过程操作;购买附加的软件和硬件包;以及战术性地管理附加成本。然而,这些方法的每一个都受制于显著的缺陷。在现状范式下继续操作的方法不太可能限制大型机所有权和操作的增加的成本,因为这仍然依赖于商业大型机制造商和软件开发商。
向备选平台转移系统中的过程操作包括:获得在当前平台中操作的过程,以及向备选平台移动应用的操作。例如,可以向其他平台(诸如,服务器)移动商业机构或组织的、提供竞争优势的专有应用。然而,向备选平台转移系统中的过程操作可能是有风险的,并且可能导致附加的延迟、不一致的结果以及不可预测的行为。而且,备选平台可能导致浪费,可能同样是高成本,并且可能需要大量附加的资本支出。而且,使用这些备选平台可能排除了将特定过程转卸给支持较快和/或并行处理的其他驻留专用处理器的能力。
购买附加的第三方软件是限制成本的另一选项(例如,消除了开发专有软件的成本)。然而,该方法也消除了专有应用的竞争优势。而且,该方法需要附加的许可费,并且无法实际上降低操作和/或所有权的成本。
对于附加成本的战术性管理通常包括:前瞻性地控制由于量的增加而引起的成本增加,或者限制对当前实现的许可费。然而,如果操作增加,则这可能严重影响操作的效力,因为性能可能受制于陈旧的或不足的资源和应用。而且,战术性管理通常不是一种成功的长期解决方案,因为成本并没有真正得到降低,而是被重新分配(例如,作为性能的损失)。
发明内容
提供本发明内容部分是为了以简化的形式引入对概念的选择,其将在下文具体实施方式部分中进一步描述。本发明内容部分并非意在标识要求保护主题的关键特征或实质特征,也非意在用来限制要求保护主题的范围。
要求保护主题的实施方式涉及通过将一个平台上操作的特定过程向系统中的其他平台进行迁移,来允许对多平台系统(诸如,大型机)上操作的过程进行优化的方法和系统。在一个实施方式中,优化通过以下方式来执行:评估在专有操作系统下操作的分区中执行的过程;从过程中确定将被迁移的过程汇集;计算迁移该过程汇集的迁移成本;以迁移顺序为该过程汇集设置优先级;以及根据迁移顺序递增地将过程向执行开源操作系统的大型机中的其他分区迁移。
在另一实施方式中,在专有操作系统下操作的分区中执行的过程的迁移通过以下方式来执行:标识将被迁移的过程;在低成本操作系统下操作的单独逻辑分区中复制该过程;以及在该低成本操作系统中测试该过程的执行。可以通过确定迁移每个过程的具体复杂性,来标识将被迁移的过程。例如,在标识将被迁移的过程时,可以将依赖性(例如,同一平台中执行的其他过程的存在)、计算资源使用率、平台特性等纳入考虑。可以为过程的评估指派值或得分,其反映迁移每个过程的估计复杂性。按照其他实施方式,只有复杂性值或得分在特定阈值以下的过程才可以作为迁移的候选,而复杂性值在阈值之上的过程可以表示该过程的迁移过于困难或者低效。
这些实施方式还可以包括:在过程的测试完成之后,将过程的主要操作从第一(专有操作系统)分区向在低成本操作系统下操作的第二分区迁移,并且随后终止过程在第一分区中的执行。按照其他实施方式,过程的迁移可以在一系列预定阶段中进行,其中所述阶段至少部分地按照过程间的各种依赖性来安排。例如,对其他过程具有很小依赖性或者没有依赖性的过程可以在较早的阶段迁移。
在又一实施方式中,提供一种用于优化地迁移在多平台系统中的一个平台上操作的过程的系统。按照某些实施方式,该系统包括具有至少两个逻辑分区的大型机,其中在每个分区上执行至少一个平台。基于对迁移成本的评估将一个平台上执行的过程向其他平台迁移,以实现最优分布。
在另一实施方式中,对过程选择的标识包括确定对在第一平台上运行的多个过程对应的迁移复杂度。
在又一个实施方式中,对过程选择的标识还包括对被确定为小于预定阈值的迁移复杂度所对应的多个过程中的过程选择进行标识。
附图说明
附图包含在本说明书内并构成其一部分,其示出了本发明的实施方式,与描述一起用来阐释本发明的原理,其中:
图1按照本发明的各种实施方式描绘了多分区大型机中的应用的示例性传统分布;
图2按照本发明的各种实施方式描绘了执行至少两个操作系统的多分区大型机中的应用的示例性分布;
图3按照本发明的各种实施方式描绘了执行至少两个操作系统的多平台大型机中的过程按照第一预定义阶段的示例性迁移;
图4按照本发明的各种实施方式描绘了执行至少两个操作系统的多平台大型机中的过程按照第二预定义阶段的示例性迁移;
图5按照本发明的各种实施方式描绘了在过程迁移之后执行至少两个操作系统的多平台大型机中的过程的示例性分布;
图6按照本发明的各种实施方式描绘了在多平台系统中的平台之间优化过程分布的方法的示例性流程图;以及
图7按照本发明的各种实施方式描绘了在多平台系统中、在第一平台到第二平台之间迁移过程的处理的示例性流程图。
具体实施方式
现在将详细参考若干实施方式。尽管将结合备选实施方式来描述主题,但是将会理解,并非意在将要求保护的主题限制于这些实施方式。相反,要求保护的主题意在涵盖根据所附权利要求的限定可以被包括在要求保护主题的精神和范围之内的备选方案、修改和等效项。
此外,在下文详细描述中,为了提供对要求保护的主题的透彻理解,将记载多个具体细节。然而,本领域技术人员将会认识到,可以在没有这些具体细节或者具有其等效项的情况下实践实施方式。在其他情况下,没有详细地描述公知的处理、过程、组件和电路,以避免不必要地混淆主题的方面和特征。
下面的详细描述的一部分按照过程的形式来给出和讨论。尽管在这里描述该过程操作的附图(例如,图6、图7)中公开了其步骤和排序,但是这种步骤和排序是示例性的。实施方式同样适于执行其他步骤或者这里附图的流程图中记载的步骤的变形,以及按照在此描绘和描述以外的顺序来执行步骤。
详细描述的某些部分是按照过程、步骤、逻辑块、处理以及可以在计算机存储器上执行的针对数据位的操作的其他符号化表示的形式而给出的。这些描述和表示是数据处理领域的技术人员用来向本领域其他技术人员最为有效地传递其工作实质的手段。过程、计算机执行的步骤、逻辑块、处理等在此并且通常被构想为得到期望结果的步骤或指令的自洽序列。步骤是需要对物理量的物理操纵的那些步骤。通常,尽管不是必须的,这些量的形式是能够在计算机系统中存储、传输、组合、比较以及以其他方式操纵的电信号或者磁信号。已经证明,原则上出于共同使用的原因,有时将这些信号表示为比特、值、元素、符号、字符、项、数字等是方便的。
然而,应当意识到,所有这些以及类似的项将与适当的物理量相关联,并且仅仅是应用于这些量的方便的标示。除非在下文讨论中明显地另行特别声明,否则可以理解,贯穿全文中,使用诸如“访问”、“写入”、“包括”、“存储”、“传输”、“遍历”、“关联”、“标识”、等的所有讨论表示计算机或者类似电子计算设备的动作和过程,其操纵表示为计算机系统的寄存器和存储器中的物理(电子)量的数据,并将其转换为类似地表示为计算机系统存储器或寄存器、或者其他此类信息存储、传输或显示设备中的物理量的其他数据。大型机中的应用分布
按照本发明的实施方式,提供一种用于在多平台系统中的平台之间优化地分布过程的系统。在一个实施方式中,提供一种系统,包括多个逻辑分区,每个逻辑分区主控至少一个平台,并且每个平台执行一个或多个过程。在平台之间优化地分布过程例如可以包括:通过在较不昂贵的平台中执行过程,来更为有效地使用资金和/或技术资源。图1按照本发明的实施方式描绘了多平台系统100中的应用的示例性传统分布。
在一个实施方式中,系统100可以实现为例如大型机计算系统。如图所示,系统100实现为大型机计算系统,其在布置于该计算系统中的一个或多个硬驱动中包括多个逻辑分区(例如,LPAR-A 101和LPAR-B 103)。如所述的,每个逻辑分区主控至少一个平台。在一个实施方式中,平台实现为操作系统(例如,OS1 105)。在其他实施方式中,这些操作系统可以是由大型机制造商许可的专有操作系统。在典型配置中,每个分区经由分区间通信机制可通信地耦合,诸如通过总线或者经由协议(例如,超套接字(hipersocket)107)而通过存储器进行。如图1所绘,系统100包括超套接字107以促进单独分区101、103之间的通信。
在某些实施方式中,系统100可以具有在一个或多个系统分区101、103中执行的多个软件应用。在一个典型的实施方式中,这些应用可以包括但不限于:事务服务器111、数据库117和数据库管理应用113、网络通信软件115。在某些实施方式中,对于主控相同平台105的分区101、103,在一个分区(例如,分区101)中运行的一个或多个应用也可以在第二分区(例如,分区103)上主控的相同平台105中执行。在又一实施方式中,系统100还可以包括用于仅执行特定任务的专用处理器或者引擎(例如,处理器109)。
附加逻辑分区上的备选平台
在一个实施方式中,大型机或者类似的计算系统配置用于在多个逻辑分区中执行相异的平台。图2按照本发明的各种实施方式描绘了在执行至少两个操作系统的多分区系统200中的应用的示例性分布。如所示的,系统200包括逻辑分区(例如,LPAR-A 101和LPAR-B103),其执行相同平台105;超套接字107;应用(111、113、115和117)以及专用处理器109;如上文参照图1的系统100所述。在典型的配置中,在逻辑分区LPAR-A 101和LPAR-B 103上执行的平台可以是由大型机制造商许可的专有操作系统。然而,这可能导致明显的和/或过高的操作成本。
如图2所示,可以通过备选的、低成本的以及非专有平台的执行,来减少操作附加平台的成本。这些平台(例如,OS2 207)可以在系统200中的附加逻辑分区(例如,LPAR-C 201、LPAR-D 203)上执行。在一个实施方式中,平台可以直接作为操作系统(例如,LPAR-D203中的OS2 207的实例)来执行。在备选实施方式中,平台也可以实例化为虚拟机(例如,LPAR-C的VM 205)。因此,通过使用低成本和/或非专有的平台,大型机操作者或者大型机服务消费者能够减少由于传统上使用大型机不可避免的软件授权而引起的操作成本。
跨不同平台间的应用迁移
在某些实施方式中,可以通过将较高成本和/或专有平台中预先执行的过程向较低成本和/或非专有平台迁移,并同时将成本与效用、安全性、可靠性和/或性能进行平衡,来进一步降低操作大型机的成本。然而,平台中执行的每个应用并非都可以适于进行迁移。由此,在每个平台之间优化应用的平衡可以获得显著的节约,同时维持或者超过当前的性能水平。图3按照本发明的各种实施方式描绘了执行至少两个操作系统的多平台系统中的过程按照第一预定义阶段300的示例性迁移。在典型配置中,系统300包括多个逻辑分区(例如,LPAR-A 101和LPAR-C 103);在一个逻辑分区(例如,LPAR-A 101)上执行的第一平台(例如,OS1 105);在其他逻辑分区(例如,LPAR-C 201)上执行的第二平台(例如,OS2 207);以及多个应用(111、117、115)。
如图3所绘,在第一平台上执行的应用(例如,应用111)在执行期间可以执行多个过程和/或事务。这些过程和事务可以包含在第一平台之内和/或之外执行的附加应用。在一个实施方式中,应用和/或应用的特定过程或者事务可以从在第一平台中执行而迁移为在第二平台中执行。过程或事务的迁移例如可以这样来执行:在第二平台中复制目标事务或过程的执行,并且在两个平台中暂时地同时执行该过程或事务。由此,例如,第一平台中执行的过程或事务所使用的数据可以在第二平台中执行的过程或事务中复制和使用。在一个实施方式中,可以将过程复制为具有相同的源代码。在又一实施方式中,可以这样构造过程:即,使得相同的数据通过该过程的两个实例来运行。备选地,可以这样构造过程:即,使得特定的指令可以在交替的实例中执行,所述指令由负载处理器来委派。如上所述,可以经由分区间通信机制(例如,超套接字107)在平台之间转送通信和数据。
在某些实施方式中,某些应用可以依赖于特定应用或者特定应用的部分,并且可能无法轻易地迁移。在一个实施方式中,可以为具有最小量依赖性同时补偿最高节约量的应用设置优先级。为了确定应用在平台之间迁移的可行性,可以使用启发式方式来确定应用的候选资格。在一个实施方式中,可以通过评估应用对基础操作系统的依赖性以及相对耦合来确定应用的候选资格。在又一实施方式中,应用的候选资格可以包括估计的计算成本节约。
在一个实施方式中,可以通过以下方式针对多个过程来确定计算节约:生成应用或过程所使用的处理(例如,CPU消耗)量,以及解析应用或者过程的源代码以确定源代码中的操作元数目。随后,可以通过比较各自的操作元数目以及CPU消耗来确定估计的节约,从而为多个过程设置优先级。
在一个实施方式中,平台中特定应用的依赖性可以通过创建与每个特定应用对应的逻辑流来确定。逻辑流可以用来标识过程的划界,以便在不增加操作的延迟和/或复杂性的情况下向其他平台迁移过程。
在其他实施方式中,可以在第二平台中监测目标事务或者过程,以确保某些标准或者量度(例如,可靠性、性能)的维持。在又一些实施方式中,可以将过程或事务的主要操作从第一平台向第二平台迁移,以便根据期望来添加测试或者完成迁移。在一个实施方式中,可以在平台之间迁移一个或多个过程、事务或者甚至应用。按照这些实施方式,可以针对迁移的适当性来评估第一平台中执行的过程、事务和应用。例如,某些错综复杂地链接至第一平台的应用可能不适于迁移,因此不被选中进行迁移。在某些实施方式中,一个或多个应用的迁移可以在预定义的阶段中执行,例如用以最小化对整个系统的风险。如图3中所绘,事务1(例如,TR01)在第一平台OS1 105与第二平台OS2 207之间迁移。在一个实施方式中,第一平台(例如,OS1105)可以实现为由大型机制造商许可的专有操作系统。在某些实施方式中,第二平台(例如,OS2 207)可以实现为低成本和/或非专有操作系统。
图4按照本发明的各种实施方式描绘了执行至少两个操作系统的多平台系统中的过程按照第二预定义阶段400的示例性迁移。图4包括图3的组件,但是描绘出了包括应用(例如,应用111)的附加事务(例如,TR02、TR03)从第一平台OS1 105向第二平台OS2 207的迁移。
图5按照本发明的各种实施方式描绘了在过程迁移500之后包括至少两个操作系统的多平台大型机中的过程的示例性分布。图5包括图3和图4的组件,并且描绘了将包括应用111的所有事务(例如,TR02、TR03...TRNN)从第一平台OS1 105向第二平台OS2 207的最终迁移。一旦将一个或多个应用从第一平台成功地迁移到一个或多个其他平台,便可以转移应用的主要操作,并且可以终止该应用在第一平台中的执行。由此,在某些实施方式中,在迁移完成之后,只有错综复杂地链接至第一平台或者特定于第一平台的事务或过程(例如,编译器)将仍然在第一平台上执行。
为迁移而评估应用
参考图6,其按照本发明的各种实施方式描绘了优化多平台系统中的平台之间的应用分布的过程的示例性流程图600。在一个实施方式中,多平台系统包括至少一个低成本平台(例如,Linux之类的开源操作系统)。步骤601-615描述了按照在此描述的各种实施方式的流程图600的示例性步骤。在一个实施方式中,提供流程图600以在不增加组织风险或者不增加网络延迟的情况下,标识应当向低成本平台迁移系统中执行的应用的哪个部分。
在步骤601,发起在较高成本平台中执行的应用所执行的过程或事务的迁移适合性的评估。对过程或事务的评估例如可以包括,选择在较高成本平台中执行的过程以便评估。在一个实施方式中,可以通过评估应用对基础操作系统的依赖性以及相对耦合来确定应用的候选资格。在又一些实施方式中,应用的候选资格可以包括计算成本的估计节约。
在步骤603,确定过程是否为平台特定的。平台特定性例如可以包括对平台资源的高度依赖性,而非总体平台特定性。如果在步骤603中确定过程是依赖于平台的,则不认为该过程或事务是迁移的候选,并且方法进行到步骤615,在此,选择其他过程或事务以便评估。然而,如果在步骤603确定过程不是平台特定的,则方法进行到步骤605。
在步骤605,汇集多个迁移候选。通过将在步骤601被评估为候选并且还在步骤603被确定为未与基础平台或操作系统过度耦合的过程进行聚集,来汇集迁移候选。
在步骤607,计算过程汇集中每个迁移候选的迁移成本。迁移成本例如可以通过以下方式来计算:通过生成特定事务、应用或过程的CPU消耗,以及解析应用或者过程的源代码以确定源代码中的操作元数目,来考虑过程汇集的计算节约。还可以通过比较各自的操作元数目以及CPU消耗来确定估计的节约,从而计算多个过程的成本。在步骤609,可以按照迁移成本对每个过程、事务或者应用进行排序。
在步骤611,可以将迁移组织为一系列顺序阶段,以降低对系统的风险。最后,在步骤613,可以按照步骤611处定义的阶段来迁移过程。
过程迁移
参考图7,其按照本发明的各种实施方式描绘了在多平台系统中在第一平台向第二平台之间迁移过程的方法的示例性流程图700。步骤701-709描述了按照在此描述的各种实施方式的流程图700的示例性步骤。
在步骤701,标识对第一平台(操作系统)中执行的选定过程,以便向第二平台(不同的操作系统)迁移(例如,在其中执行)。在一个实施方式中,过程可以包括作为一个或多个应用的执行基础的处理线程,并且可以按照启发式评估(例如,上文描述的图6的步骤601到607)来标识。在步骤703,在异类的第二平台中复制在步骤701中标识的选定过程。复制例如可以包括:在第二平台中执行的过程实例中,复制在第一平台中执行的过程实例所使用的数据。在一个实施方式中,可以将过程复制为具有相同的源代码。在又一些实施方式中,可以这样来构造过程,使得相同的数据通过该过程的两个实例来运行。备选地,可以这样来构造过程,使得特定的指令可以在交替的实例中执行,所述指令由负载处理器来委派。
在步骤705,测试过程在第二平台中的执行。测试例如可以包括监测第二平台中的过程,以及诸如负载和容错的其他传统软件测试协议。在一个实施方式中,使用仿真事件来引发特定的环境。一旦测试完成,便可以在步骤707向第二平台中执行的过程转移过程的主要操作。主要操作可以包括特定的接口或入口,过程的预期服务通过该接口或入口与预期消费者(或其他用户)通信、和/或向预期消费者(或其他用户)通信。主要操作的转移例如可以包括将实际实时数据从第一平台向该过程传送(funnel)。在某些实施方式中,可以在步骤709终止第一平台中的该过程。
由此,通过优化过程分布,可以通过使用多个平台来减少大型机操作中的显著操作成本。该过程分布例如可以通过评估一个或多个过程的迁移适当性、复制过程以及在低成本的第二平台中测试过程来实现。
尽管已经通过特定于结构化特征和/或过程逻辑动作的语言描述了主题,但是将会理解,所附权利要求中限定的主题未必限于上文描述的特定特征或动作。相反,上文描述的特定特征和动作是作为实现权利要求的示例形式而公开的。

Claims (11)

1.一种用于优化多平台系统中的应用分布的方法,包括:
在多平台系统中,评估在所述系统的第一平台中执行的多个过程的候选资格,以便向所述系统的第二平台迁移,其中针对迁移来评估过程的候选资格包括:确定所述过程是否特定于所述第一平台;
基于对所述多个过程的候选资格的所述评估以及评估所述过程的所述候选资格,从所述多个过程中确定将要从所述第一平台向所述第二平台迁移的过程汇集;
计算迁移所述过程汇集的过程的迁移成本;
根据所述过程汇集的过程的所述迁移成本,以迁移顺序为所述过程汇集设置优先级;以及
按照所述迁移顺序,递增地将所述过程汇集从所述第一平台向所述第二平台迁移,
其中所述多平台系统包括计算系统中的多个逻辑分区,所述系统的所述第一平台包括在所述多个逻辑分区的第一逻辑分区中执行的第一操作系统,并且所述系统的所述第二平台包括在所述多个逻辑分区的第二逻辑分区中执行的第二操作系统,所述第二操作系统是不同于所述第一操作系统的操作系统。
2.根据权利要求1所述的方法,其中将被迁移的所述过程汇集包括所述多个过程中未被确定为特定于所述第一平台的过程。
3.根据权利要求1所述的方法,其中计算迁移所述过程汇集的过程的所述迁移成本包括:
测量所述多平台系统的中央处理单元执行所述过程汇集的过程所需要的处理量;
计算对应于所述过程的源代码中包括的操作元数目;
估计对应于所述过程的依赖性的数目;以及
基于以下至少一个来为所述过程指派成本:所述需要的处理量;所述源代码中包括的所述操作元数目;以及对应于所述过程的依赖性的数目。
4.根据权利要求3所述的方法,其中估计对应于过程的依赖性的数目包括:估计所述过程与其他过程执行的操作量。
5.根据权利要求3所述的方法,以迁移顺序为所述过程汇集设置优先级包括:为所述过程汇集中迁移成本较低的过程指派高于所述过程汇集中迁移成本较高的过程的优先级。
6.根据权利要求1所述的方法,其中递增地迁移所述过程汇集包括:
通过多个预定义阶段来分布所述过程汇集;以及
通过所述多个预定义阶段来迁移所述过程汇集。
7.一种用于优化多平台系统中的应用分布的系统,包括:
大型机;
在所述大型机上执行的第一平台;
在所述第一平台上执行的多个过程;以及
在所述大型机上执行的第二平台,
其中,在所述第一平台上执行的多个应用通过以下方式在所述大型机中优化地分布:
评估在所述第一平台中执行的所述多个过程的候选资格,其中评估过程的候选资格包括:确定所述过程是否特定于所述第一平台;
基于所述多个过程的候选资格,从所述多个过程中确定将要从所述第一平台向所述第二平台迁移的过程汇集;
根据包括所述过程汇集的过程的所述迁移成本为所述过程汇集设置优先级,以确定迁移顺序;以及
按照所述迁移顺序,递增地将所述过程汇集从所述第一平台向所述第二平台迁移,
其中所述第一平台包括在所述大型机的第一逻辑分区中,并且所述第二平台包括在所述大型机的第二逻辑分区中,
其中所述第一平台包括第一操作系统,
其中所述第二平台包括第二操作系统,其中所述第二操作系统包括不是所述第一操作系统的操作系统。
8.根据权利要求7所述的系统,其中所述第二平台包括低成本操作系统。
9.根据权利要求7所述的系统,其中所述过程汇集通过多个预定义阶段递增地从所述第一平台向所述第二平台迁移;
并且其中,所述多个预定义阶段的每个预定义阶段包括:
在所述第二平台中复制来自所述过程汇集的、在所述第一平台中执行的选定过程的执行;以及
在所述第二平台中测试来自所述过程汇集的所述选定过程的所述执行。
10.根据权利要求9所述的系统,将所述选定过程的主要操作从所述第一平台向所述第二平台迁移。
11.根据权利要求10所述的系统,其中,响应于将所述选定过程的所述主要操作从所述第一平台向所述第二平台迁移,终止所述选定过程在所述第一平台中的执行。
CN201010177487.2A 2009-05-11 2010-05-11 优化在多平台系统中执行的应用的分布 Active CN101887380B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US17714909P 2009-05-11 2009-05-11
US61/177,149 2009-05-11
US12/651,876 US8832699B2 (en) 2009-05-11 2010-01-04 Migrating processes operating on one platform to another platform in a multi-platform system
US12/651,876 2010-01-04

Publications (2)

Publication Number Publication Date
CN101887380A CN101887380A (zh) 2010-11-17
CN101887380B true CN101887380B (zh) 2015-08-05

Family

ID=42668332

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201010177487.2A Active CN101887380B (zh) 2009-05-11 2010-05-11 优化在多平台系统中执行的应用的分布

Country Status (4)

Country Link
US (3) US8832699B2 (zh)
EP (2) EP3285166B1 (zh)
CN (1) CN101887380B (zh)
CA (1) CA2703373C (zh)

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8813048B2 (en) * 2009-05-11 2014-08-19 Accenture Global Services Limited Single code set applications executing in a multiple platform system
US8832699B2 (en) 2009-05-11 2014-09-09 Accenture Global Services Limited Migrating processes operating on one platform to another platform in a multi-platform system
US8505020B2 (en) * 2010-08-29 2013-08-06 Hewlett-Packard Development Company, L.P. Computer workload migration using processor pooling
US8775593B2 (en) 2011-06-29 2014-07-08 International Business Machines Corporation Managing organizational computing resources in accordance with computing environment entitlement contracts
US20130006793A1 (en) 2011-06-29 2013-01-03 International Business Machines Corporation Migrating Computing Environment Entitlement Contracts Based on Seller and Buyer Specified Criteria
US9760917B2 (en) 2011-06-29 2017-09-12 International Business Machines Corporation Migrating computing environment entitlement contracts between a seller and a buyer
US8812679B2 (en) 2011-06-29 2014-08-19 International Business Machines Corporation Managing computing environment entitlement contracts and associated resources using cohorting
CN102929715B (zh) * 2012-10-31 2015-05-06 曙光云计算技术有限公司 基于虚拟机迁移的网络资源调度方法和系统
CN102968344A (zh) * 2012-11-26 2013-03-13 北京航空航天大学 一种多虚拟机迁移调度的方法
US9311214B2 (en) * 2012-11-29 2016-04-12 Dynatrace Llc System and methods for tracing individual transactions across a mainframe computing environment
CN103856548B (zh) * 2012-12-07 2017-11-03 华为技术有限公司 动态资源调度方法和动态资源调度器
US10135749B2 (en) * 2013-09-23 2018-11-20 Sears Brands, L.L.C. Mainframe migration tools
CN105745585B (zh) * 2013-11-26 2018-05-08 西门子公司 卸载人机交互任务
US10452418B2 (en) * 2013-12-17 2019-10-22 Vmware, Inc. Location based management of virtual machines in datacenters
US20150347188A1 (en) * 2014-05-30 2015-12-03 Appsfreedom, Inc. Delegated business process management for the internet of things
US9729632B2 (en) * 2014-10-17 2017-08-08 International Business Machines Corporation Managing migration of an application from a source to a target
CN104834560B (zh) * 2015-04-14 2018-02-09 浙江奇道网络科技有限公司 一种获取云中心和数据中心信息系统的发掘迁移方法
ES2703473B2 (es) * 2016-07-12 2020-10-22 Proximal Systems Corp Aparato, sistema y procedimiento de gestion de acoplamiento de intermediario
JP2018173881A (ja) * 2017-03-31 2018-11-08 富士通株式会社 評価処理プログラム、装置、及び方法
CN109697121B (zh) * 2017-10-20 2023-05-05 伊姆西Ip控股有限责任公司 用于向应用分配处理资源的方法、设备和计算机可读介质
CN109697115B (zh) * 2017-10-20 2023-06-06 伊姆西Ip控股有限责任公司 用于调度应用的方法、装置以及计算机可读介质
CN109697120B (zh) * 2017-10-20 2023-06-27 伊姆西Ip控股有限责任公司 用于应用迁移的方法、电子设备
US11422851B2 (en) * 2019-04-22 2022-08-23 EMC IP Holding Company LLC Cloning running computer systems having logical partitions in a physical computing system enclosure
US11263337B2 (en) 2020-02-11 2022-03-01 International Business Machines Corporation Continuous engineering migration of digital twin files from private to open sourced
US11675631B2 (en) 2020-09-29 2023-06-13 Kyndryl, Inc. Balancing mainframe and distributed workloads based on performance and costs
US11593161B2 (en) * 2020-10-16 2023-02-28 EMC IP Holding Company LLC Method to create and perform appropriate workflow for datacenter migration
US12039365B2 (en) 2021-03-30 2024-07-16 International Business Machines Corporation Program context migration

Family Cites Families (51)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5506987A (en) * 1991-02-01 1996-04-09 Digital Equipment Corporation Affinity scheduling of processes on symmetric multiprocessing systems
US5960200A (en) * 1996-05-03 1999-09-28 I-Cube System to transition an enterprise to a distributed infrastructure
US6161219A (en) 1997-07-03 2000-12-12 The University Of Iowa Research Foundation System and method for providing checkpointing with precompile directives and supporting software to produce checkpoints, independent of environment constraints
US6154877A (en) 1997-07-03 2000-11-28 The University Of Iowa Research Foundation Method and apparatus for portable checkpointing using data structure metrics and conversion functions
US6654954B1 (en) 1998-02-17 2003-11-25 International Business Machines Corporation Computer system, program product and method utilizing executable file with alternate program code attached as a file attribute
US6615166B1 (en) 1999-05-27 2003-09-02 Accenture Llp Prioritizing components of a network framework required for implementation of technology
US6370646B1 (en) * 2000-02-16 2002-04-09 Miramar Systems Method and apparatus for multiplatform migration
TW539951B (en) * 2001-01-17 2003-07-01 Duan-Huei Wu A method transferring resources among operating systems
US7418441B2 (en) 2001-02-28 2008-08-26 International Business Machines Corporation Data loading from a remote data source record by record
US7730468B1 (en) 2001-03-26 2010-06-01 Trowbridge Sean E System and method providing on-demand generation of specialized executables
US7065549B2 (en) 2002-03-29 2006-06-20 Illinois Institute Of Technology Communication and process migration protocols for distributed heterogeneous computing
US7150012B2 (en) 2002-10-15 2006-12-12 Nokia Corporation Method and apparatus for accelerating program execution in platform-independent virtual machines
US20040194055A1 (en) 2003-03-24 2004-09-30 International Business Machines Corporation Method and program product for costing and planning the re-hosting of computer-based applications
US7188339B2 (en) 2003-10-24 2007-03-06 Hewlett-Packard Development Company, L.P. ACPI preprocessor
US8051410B2 (en) 2003-12-15 2011-11-01 Evolveware, Inc. Apparatus for migration and conversion of software code from any source platform to any target platform
US7853742B2 (en) 2004-04-26 2010-12-14 Intel Corporation System and method to conditionally shrink an executable module
US7257811B2 (en) * 2004-05-11 2007-08-14 International Business Machines Corporation System, method and program to migrate a virtual machine
US20060031813A1 (en) * 2004-07-22 2006-02-09 International Business Machines Corporation On demand data center service end-to-end service provisioning and management
US7523286B2 (en) * 2004-11-19 2009-04-21 Network Appliance, Inc. System and method for real-time balancing of user workload across multiple storage systems with shared back end storage
US20060123111A1 (en) 2004-12-02 2006-06-08 Frank Dea Method, system and computer program product for transitioning network traffic between logical partitions in one or more data processing systems
US9766953B2 (en) 2004-12-16 2017-09-19 Openspan, Inc. System and method for non-programmatically constructing software solutions
US7765544B2 (en) 2004-12-17 2010-07-27 Intel Corporation Method, apparatus and system for improving security in a virtual machine host
US7735081B2 (en) 2004-12-17 2010-06-08 Intel Corporation Method, apparatus and system for transparent unification of virtual machines
US8479193B2 (en) 2004-12-17 2013-07-02 Intel Corporation Method, apparatus and system for enhancing the usability of virtual machines
US7752415B2 (en) 2004-12-22 2010-07-06 International Business Machines Corporation Method for controlling the capacity usage of a logically partitioned data processing system
US7634762B1 (en) * 2005-04-19 2009-12-15 Paravirtual Corp. Selective post-compile conversion
US7818410B1 (en) * 2005-09-27 2010-10-19 Sprint Communications Company L.P. System and method of implementing major application migration
US7720970B2 (en) 2005-09-30 2010-05-18 Microsoft Corporation Method for processing received networking traffic while playing audio/video or other media
US7757214B1 (en) 2005-11-10 2010-07-13 Symantec Operating Coporation Automated concurrency configuration of multi-threaded programs
ES2659651T3 (es) 2006-01-17 2018-03-16 Microsoft Technology Licensing, Llc Integración ininterrumpida de múltiples entornos informáticos
US8893118B2 (en) * 2006-01-30 2014-11-18 International Business Machines Corporation Migratable unit based application migration
US7788665B2 (en) 2006-02-28 2010-08-31 Microsoft Corporation Migrating a virtual machine that owns a resource such as a hardware device
US8341609B2 (en) 2007-01-26 2012-12-25 Oracle International Corporation Code generation in the presence of paged memory
US7792941B2 (en) * 2007-03-21 2010-09-07 International Business Machines Corporation Method and apparatus to determine hardware and software compatibility related to mobility of virtual servers
CN101281461B (zh) * 2007-04-04 2012-07-04 国际商业机器公司 用于迁移应用所依赖的系统环境的方法和装置
US8095929B1 (en) * 2007-04-16 2012-01-10 Vmware, Inc. Method and system for determining a cost-benefit metric for potential virtual machine migrations
US20080313257A1 (en) * 2007-06-15 2008-12-18 Allen James D Method and Apparatus for Policy-Based Transfer of an Application Environment
US10417041B2 (en) * 2007-10-03 2019-09-17 International Business Machines Corporation Moving a software application in a system cluster
US8266582B2 (en) 2008-03-31 2012-09-11 Oracle America, Inc. Method for creating unified binary files
US8745573B2 (en) 2008-06-16 2014-06-03 Beek Fund B.V. L.L.C. Platform-independent application development framework
US8191072B2 (en) * 2008-12-22 2012-05-29 International Business Machines Corporation System and method for shifting workloads across platform in a hybrid system
US8046468B2 (en) * 2009-01-26 2011-10-25 Vmware, Inc. Process demand prediction for distributed power and resource management
US8813048B2 (en) 2009-05-11 2014-08-19 Accenture Global Services Limited Single code set applications executing in a multiple platform system
US8832699B2 (en) 2009-05-11 2014-09-09 Accenture Global Services Limited Migrating processes operating on one platform to another platform in a multi-platform system
US8458676B2 (en) 2009-06-30 2013-06-04 International Business Machines Corporation Executing platform-independent code on multi-core heterogeneous processors
TWI515656B (zh) 2010-05-20 2016-01-01 緯創資通股份有限公司 程式安裝方法及裝置
US8789026B2 (en) 2011-08-02 2014-07-22 International Business Machines Corporation Technique for compiling and running high-level programs on heterogeneous computers
US8881139B1 (en) 2011-10-25 2014-11-04 Infinite Corporation Legacy application rehosting system
US9182963B2 (en) 2012-06-18 2015-11-10 Syntel, Inc. Computerized migration tool and method
US20160285958A1 (en) 2015-03-27 2016-09-29 Intel Corporation Application container for live migration of mobile applications
US9923881B2 (en) 2015-10-14 2018-03-20 Mcafee, Llc System, apparatus and method for migrating a device having a platform group

Also Published As

Publication number Publication date
US20140337851A1 (en) 2014-11-13
CA2703373A1 (en) 2010-11-11
US8832699B2 (en) 2014-09-09
US20160132363A1 (en) 2016-05-12
EP2251784A3 (en) 2013-06-12
US20100287560A1 (en) 2010-11-11
EP2251784B1 (en) 2017-10-04
EP3285166A1 (en) 2018-02-21
CA2703373C (en) 2016-02-09
EP3285166B1 (en) 2019-01-23
US9830194B2 (en) 2017-11-28
US9298503B2 (en) 2016-03-29
CN101887380A (zh) 2010-11-17
EP2251784A2 (en) 2010-11-17

Similar Documents

Publication Publication Date Title
CN101887380B (zh) 优化在多平台系统中执行的应用的分布
US9348586B2 (en) Method and system for migrating a plurality of processes in a multi-platform system based on a quantity of dependencies of each of the plurality of processes to an operating system executing on a respective platform in the multi-platform system
US11182717B2 (en) Methods and systems to optimize server utilization for a virtual data center
Joseph et al. IntMA: Dynamic interaction-aware resource allocation for containerized microservices in cloud environments
CN104854563B (zh) 资源使用的自动分析
CN101233489B (zh) 自适应进程分派的方法和系统
US20110119191A1 (en) License optimization in a virtualized environment
US20100205619A1 (en) Environment modification in a hybrid node computing environment
CN102193824A (zh) 虚拟机均质化以实现跨异构型计算机的迁移
CN102236578A (zh) 分布式工作流执行
US9672545B2 (en) Optimizing license use for software license attribution
US20060031813A1 (en) On demand data center service end-to-end service provisioning and management
Andrikopoulos et al. Designing for CAP-The Effect of Design Decisions on the CAP Properties of Cloud-native Applications.
Brebner et al. Performance modelling power consumption and carbon emissions for Server Virtualization of Service Oriented Architectures (SOAs)
Gouda et al. Migration management in cloud computing
Süß et al. Compute and Virtualization
Dewangan Smart: Self-management aware autonomic resource management technique in cloud
Brebner Performance Modelling for Service Oriented Architecture Server Virtualization
Trifan Resiliency in Distributed Workflow Systems for Numerical Applications
Andrikopoulos et al. DESIGNING FOR CAP
Al-Rifai Reliable Software Services in Multi-Cloud Systems

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
ASS Succession or assignment of patent right

Owner name: ACCENTURE GLOBAL SERVICES GMBH

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

Effective date: 20110113

Owner name: ACCENTURE INTERNATIONAL CO., LTD.

Free format text: FORMER OWNER: ACCENTURE GLOBAL SERVICES GMBH

Effective date: 20110113

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

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

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

TA01 Transfer of patent application right

Effective date of registration: 20110113

Address after: Dublin, Ireland

Applicant after: ACCENTURE GLOBAL SERVICES Ltd.

Address before: Luxemburg Luxemburg

Applicant before: Accenture international LLC

Effective date of registration: 20110113

Address after: Luxemburg Luxemburg

Applicant after: Accenture international LLC

Address before: Schaffhausen

Applicant before: ACCENTURE GLOBAL SERVICES Ltd.

C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant