CN101782863B - 用于对工作进行负载平衡的方法和系统 - Google Patents

用于对工作进行负载平衡的方法和系统 Download PDF

Info

Publication number
CN101782863B
CN101782863B CN2010100031800A CN201010003180A CN101782863B CN 101782863 B CN101782863 B CN 101782863B CN 2010100031800 A CN2010100031800 A CN 2010100031800A CN 201010003180 A CN201010003180 A CN 201010003180A CN 101782863 B CN101782863 B CN 101782863B
Authority
CN
China
Prior art keywords
blade
cabinet
data traffic
chassis
resource usage
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.)
Expired - Fee Related
Application number
CN2010100031800A
Other languages
English (en)
Other versions
CN101782863A (zh
Inventor
E·R·柯恩
W·G·帕根
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.)
IBM China Co Ltd
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN101782863A publication Critical patent/CN101782863A/zh
Application granted granted Critical
Publication of CN101782863B publication Critical patent/CN101782863B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • G06F11/3433Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment for load management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/349Performance evaluation by tracing or monitoring for interfaces, buses

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Debugging And Monitoring (AREA)
  • Multi Processors (AREA)

Abstract

提供了一种用于在刀片中心内的不同刀片机箱之间进行负载平衡的计算机实现的方法、系统和计算机程序产品。针对去往和来自刀片机箱的总数据流量监视每个刀片机箱。如果该刀片中心内的第一刀片机箱负担过重,则禁止该第一刀片机箱内负担最重的刀片。继而识别该刀片中心内的较少利用的第二刀片机箱,并且指派该第二刀片机箱内的负担最轻的刀片来接管从该第一刀片机箱被禁止的刀片的工作负载。

Description

用于对工作进行负载平衡的方法和系统
技术领域
本公开内容涉及计算机领域,并且具体涉及刀片服务器。更具体地,本公开内容涉及在刀片中心中的刀片机箱之间的动态负载平衡。
背景技术
虽然早期的计算机架构利用独立的单个计算机(通常称为个人计算机(PC)),但更强大的现代计算机系统经常使用在公共机箱中耦合在一起的多个计算机。一种示例性的公共机箱称为刀片机箱,其包括通过刀片机箱内的公共干线加以耦合的多个刀片。在刀片机箱充当企业的刀片服务器时被称作服务器刀片的每个刀片是可插拔的板,其包括至少一个处理器、板载存储器以及输入/输出(I/O)接口。多个刀片能够彼此通信并共享公共资源,诸如存储设备、监视器、输入设备(键盘、鼠标)等。
多个刀片机箱组成刀片中心。刀片中心通常专用于单个企业和/或特定功能,诸如处理贷款、管理工资表等。由于刀片中心包括多个刀片机箱,所以在不同刀片机箱之间经常发生工作负载的不平衡。当前的负载平衡通常仅仅是通过监视去往不同机箱的总数据流量,来将工作从超载的机箱移动到不太繁忙的机箱。此类负载平衡对检测和修正负载不平衡的潜在原因帮助不大。
发明内容
为了解决上述问题,提供了一种用于在刀片中心内的不同刀片机箱之间进行负载平衡的计算机实现的方法、系统和计算机程序产品。针对去往和来自刀片机箱的总数据流量监视每个刀片机箱。如果刀片机箱集群内的第一刀片机箱负担过重,则释放第一刀片机箱内负担最重的刀片。继而识别该刀片机箱集群内的较少利用的第二刀片机箱,并且指派该第二刀片机箱内的负担最轻的刀片来接管从第一刀片机箱释放的刀片的工作负载。
在以下的详细描述中,本发明的上述以及附加用途、特征和优势将变得明显。
附图说明
在所附权利要求书中记载了相信是本发明具有新颖特征的特性。然而,在结合附图阅读时,通过参考对示范实施方式的以下详细描述,将获得对本发明本身以及其优选的使用模式、其他目的和优势的最佳的理解。
图1示出了可以由本发明利用的示例性服务器刀片;
图2示出了在刀片中心内的刀片机箱之间自动进行负载平衡工作的独特且新颖的刀片中心;
图3示出了图2所示的刀片机箱的附加细节;
图4是用于在刀片中心内的刀片机箱之间进行负载平衡的示例性步骤的流程图;
图5示出了用于物理地以及机械地从刀片机箱解耦合服务器刀片的线性机构;以及
图6示出了用于智能地以及选择性地将服务器刀片与同一硬盘驱动器耦合/解耦合的机械耦合器。
具体实施方式
现在参考附图,并且特别地参考图1,其示出了本发明可以使用的示例性刀片102的框图。刀片102是服务器刀片机箱(在下面关于图2至图3的描述中,示出为刀片机箱202、204和/或302)的组件。刀片机箱202、204和/或302通常用作服务器;因此,刀片102可以称为服务器刀片。应该指出,针对刀片102所示出的一些或所有示例性架构可以由软件部署服务器150和/或其他刀片124使用,其他刀片124可以与刀片102处于同一刀片机箱内。
刀片102包括耦合至系统总线106的处理器单元104。处理器单元104可以利用每个都具有一个或多个处理器核心的一个或多个处理器。驱动/支持显示器110的视频适配器108也经由到机箱干线157的机箱接口131耦合至系统总线106(以下更详细地进行描述)。在一个实施方式中,开关107将视频适配器108耦合至系统总线106。备选地,开关107可以将视频适配器108耦合至显示器110。在另一实施方式中,开关107是开关,优选地为机械开关,其允许显示器110耦合至系统总线106,并且因此仅在执行这里所述方法的指令执行时发挥功能(例如,下面描述的刀片管理软件BMS 148)。该切换引起刀片102从一个其中不显示此处所述方法的未决步骤和/或结果的系统实质转变到一个其中显示这些结果的系统。
系统总线106经由总线桥112耦合至输入/输出(I/O)总线114。I/O接口116耦合至I/O总线114。I/O接口116担负与各种I/O设备的直接通信或经由机箱接口131的通信,机箱接口131是允许刀片102耦合至刀片机箱中的机箱干线157的硬件和/或软件。一旦耦合至机箱干线157,则刀片102能够与除了显示器110之外的其他设备通信,包括键盘118、鼠标120、媒体托盘122(其可以包括诸如CD-ROM驱动器、多媒体接口等的存储设备)、处于刀片机箱内的其他刀片124以及(如果没有以下面描述的方式使用VHDL芯片137)USB端口126。应该指出,虽然示出其他刀片124经由机箱接口131耦合至刀片102,但是在一个实施方式中,这些其他刀片124可以经由网络128(特别是如果网络128是刀片中心内的局域网(LAN))耦合至刀片102。虽然连接至I/O接口116的端口形式可能对与计算机架构领域的技术人员来说是已知的,但是在优选实施方式中,一些或所有这些端口是通用串行总线(USB)端口。
如上所述,刀片102能够与软件部署服务器150通信,并且在一个实施方式中,能够使用诸如网络接口卡(NIC)130之类的网络接口经由网络128与刀片机箱内的其他刀片124通信,网络接口卡(NIC)130直接耦合至系统总线106,或者备选地经由机箱接口131耦合至系统总线106。网络128可以是诸如因特网的外部网络,或者是诸如以太网或虚拟专用网(VPN)之类的内部网络。
硬盘驱动器接口132也耦合至系统总线106。硬盘驱动器接口132与硬盘驱动器134接口连接。在优选实施方式中,硬盘驱动器134构成系统存储器136,其也耦合至系统总线106。系统存储器被定义为刀片102中的易失性存储器的最低级别。该易失性存储器包括附加的更高级别的易失性存储器(未示出),包括但不限于高速缓冲存储器、寄存器和缓冲器。构成系统存储器136的数据包括刀片102的操作系统(OS)138和应用程序144。
OS 138包括壳140,用于提供到诸如应用程序144的资源的透明用户访问。通常,壳140是在用户和操作系统之间提供解译器和接口的程序。更具体地,壳140执行被输入到命令行用户接口或来自于文件的命令。因此,壳140还称为命令处理器,其通常是操作系统软件层次的最高级并且充当命令解译器。壳提供系统提示、解译由键盘、鼠标或其他用户输入介质输入的命令,以及向操作系统(例如,内核142)的适当的较低级发送已解译命令用于处理。应该指出,虽然壳140是基于文本的、面向行的用户接口,但是本发明将同样良好地支持其他用户接口模式,诸如图形、语音、手势等。
如上所述,OS 138还包括内核142,其包括OS 138的较低级的功能,包括由OS 138的其他部分和应用程序144所需的必要范围,包括存储器管理、进程和任务管理、磁盘管理以及鼠标和键盘管理。
应用程序144包括绘制器,以示例性方式示出为浏览器146。浏览器146包括使用超文本传输协议(HTTP)消息发送而支持万维网(WWW)客户端(即,刀片102)发送和接收网络消息到因特网,因此支持与软件部署服务器150和其他所述计算机系统进行通信的程序模块和指令。
刀片102的系统存储器(以及软件部署服务器150的系统存储器)中的应用程序144还包括刀片管理软件(BMS)148。BMS 148包括用于实现以下所述处理的代码,包括在图2至图3中描述的那些。在一个实施方式中,刀片102能够从软件部署服务器150下载BMS 148,包括按需下载。还应该进一步指出,在本发明的一个实施方式中,软件部署服务器150执行与本发明相关联的所有功能(包括执行BMS 148),因此将刀片102从必须使用其自己的内部计算资源来执行BMS 148中解脱。
在系统存储器136中还存储了VHDL(VHSIC硬件描述语言)程序139。VHDL是一种示例性设计输入语言,其用于现场可编程门阵列(FPGA)、专用集成电路(ASIC)和其他类似的电子设备。在一个实施方式中,执行来自于BMS 148的指令使得VHDL程序139配置VHDL芯片137,该芯片可以是FPGA、ASIC等。对VHDL芯片137进行编程引起刀片102架构的实质转变,其中(假设USB端口126没有耦合至I/O接口116,并且NIC 130没有直接耦合至系统总线106)USB端口126和NIC 130现在经由VHDL芯片137选择性地耦合至系统总线106。
在本发明的另一实施方式中,执行来自于BMS 148的指令导致使用VHDL程序139来对VHDL仿真芯片151进行编程。VHDL仿真芯片151可以合并与VHDL芯片137的上述架构类似的架构。一旦BMS 148和VHDL程序139对VHDL仿真芯片151编程,则VHDL仿真芯片151作为硬件执行由对在BMS 148找到的一些或所有指令的一个或多个进行描述的一些或所有功能。即,VHDL仿真芯片151是对在BMS 148中找到的一些或所有软件指令的硬件仿真。在一个实施方式中,VHDL仿真芯片151是可编程只读存储器(PROM),一旦根据来自于BMS 148和VHDL程序139对其进行烧制,该VHDL仿真芯片151被永久转变为执行下面在图2中示出的元件206、208、210、212和/或214a-b的功能的新电路。因此,VHDL仿真芯片151还被适当地视为在刀片102控制之下的机器。应该指出,虽然VHDL仿真芯片151被描述为是与刀片102分离的不同实体,但是在另一实施方式中,VHDL仿真芯片151可以是刀片102的整体部分。
在刀片102中描述的硬件元件不旨在穷举目的,而是本发明所需的必备组件的说明。例如,刀片102可以包括备选的存储器存储设备,诸如磁带、数字多功能盘(DVD)、Bernoulli盒式磁带等。这些和其他变形旨在处于本发明的精神和范围之内。
现在参考图2,示出了构思的由本发明使用的以及与本发明一起使用的示例性刀片中心200。刀片中心200包括至少两个刀片机箱,示出为刀片机箱202和刀片机箱204。在刀片机箱202内有多个刀片214a-n,其中“n”是任何整数,但优选为14。在刀片机箱204内有多个刀片216a-n,其中“n”是任何整数,并且其中“n”可以大于、小于或等于刀片机箱202中的刀片214的数量。刀片214a-n(在不指定为214的情况下,每个独立引用为集合/子集)耦合至机箱干线218,其在刀片214a-n中提供机械和逻辑连接(例如,数据和控制信号交换)。类似地,刀片216a-n耦合至机箱干线220。
刀片214a-n和刀片216a-n分别由管理模块(MM)210和212管理。每个MM包括处理器(未示出),用于控制特定刀片的输入/输出(I/O)功能、将特定刀片与网络(例如,网络222,在图1中示出为128)接口连接,并且向特定刀片分配任务和数据。
每个刀片包含主管代理(分别示出为示例性刀片214n的主管代理215a和刀片216a中的主管代理215b)。主管代理215a-b是与网络使用监视器208和/或负载平衡管理器206通信的相同软件的副本。网络使用监视器208是监视机箱和/或刀片的使用水平(例如,它们的繁忙程度)的软件逻辑。负载平衡管理器206通过经由诸如网络入口交换机(示出为网络入口交换机224和226)的软件交换机而使此类流量寻址到特定刀片,来将来自于网络222的工作和数据分组分配给特定刀片。
如图2所示,主管代理215(示出为215a或215b)负责监视特定刀片的活动水平(例如,正在使用的诸如总线带宽、CPU使用率等内部硬件资源的百分比)。网络入口交换机(示出为224或226)(经由MM)向负载平衡管理器206和/或网络使用监视器208提供流量监视信息,该信息反映全部刀片机箱(例如,特定刀片机箱内的所有刀片的活动水平)的活动水平。
如下面将进一步描述的,如果第一机箱中的刀片被认为超负荷使用(负担过重),那么第二机箱中的另一刀片将接管第一机箱中的负担过重的刀片的操作。在优选实施方式中,通过编程地将引导驱动从第一刀片重映射到第二刀片,来停用第一机箱中刀片。例如,假设刀片214n是负担过重的刀片。为了释放刀片214n,禁用引导驱动228,因此卸下刀片214n的操作系统。假设刀片216a将接管刀片214n的操作,现在指示刀片216a来映射到引导驱动228(存储在引导存储设备230中),从而使用与之前由刀片214n使用的引导驱动相同的引导驱动228来接合216a。
现在参考图3,示出了刀片(在图2中示出的示例性刀片214n)的附加细节。如图所示,刀片214n使用多个NIC 302a-n来与网络304(在图1中示出为网络128在图2中示出为网络222)通信。网络304提供去往和来自刀片214n的网络流量(例如,数据、指令、任务等)。该流量可以来自于刀片机箱202内的其他刀片214,但是在本发明的环境中优选是来自于刀片机箱202的外部,诸如来自于远程工作服务器306等。主管代理215a监视通过NIC 302a-n的流量活动水平。该监视允许主管代理215a确定刀片214n的繁忙程度。在本发明的一个实施方式中,主管代理215a将其监视集中于出站(排出)数据。因此,通过将有多少数据进入刀片214n(来自网络304经由负载平衡管理器206和网络入口交换机224)与有多少数据流量离开刀片214n(其中排出数据是刀片214n对从网络入口交换机224接收分组进行数据处理的结果)进行比较,可以由负载平衡管理器206和/或网络使用监视器208做出关于刀片214n超载的程度的确定。即,如果在任务进入刀片214n时和当来自该任务的输出离开刀片214n时之间存在过长的延迟(基于预定的时间长度),那么可以适当地假设刀片214n内的资源负担过度,并且因此刀片214n是被设置离线以及由另一机箱中的另一刀片(例如,更强大或不太忙)替换的良好候选。应该指出,在优选实施方式中,刀片机箱内的一个刀片不替换该同一刀片机箱中的另一刀片,因为优选实施方式的主要目的在于平衡刀片机箱之间的工作量而不仅仅是平衡独立刀片之间的工作量。
现在参考图4,示出了本发明采取的在不同刀片机箱之间或不同刀片机箱中进行负载平衡的示例性步骤的流程图。在初始块402之后,在第一机箱中引导第一刀片(块404)。使用可以选定的操作系统来引导该第一刀片,该选定的操作系统可以专用于将由管理模块发送到第一刀片的特定类型任务。该第一刀片经由网络入口交换机和多个NIC两者耦合至网络(块406),如图3所示。然后,管理模块针对寻址到第一机箱中的第一刀片的网络流量监视网络入口交换机(块408)。此外,第一刀片上的网络代理监视通过第一刀片上NIC的网络流量(块410)。
如查询块412所示,确定第一机箱是否超负荷使用。存在可以确定第一机箱是否超负荷使用的不同计算机实现的方法。在一个实施方式中,通过测量第一机箱的第一资源使用水平来做出该确定,其中,资源使用水平是基于与总共有多少来自于所述第一机箱中的刀片的硬件资源可用相比总共有多少来自于所述第一机箱中的刀片的硬件资源正在被使用。测量第二机箱的第二资源使用水平,其中第二资源使用水平小于第一资源使用水平。计算第一资源使用水平与第二资源使用水平之间的差,以确定资源使用水平差。因此,如果资源使用水平差超过了预定义的动作水平,则确定第一机箱超负荷使用。
在另一实施方式中,通过首先测量对第一刀片机箱数据流量,来实现确定第一机箱已经超负荷使用,其中,第一刀片机箱数据流量是寻址到第一刀片并且通过网络入口交换机的数据流量。下一步骤是测量第一刀片NIC数据流量,其中第一刀片NIC数据流量是已经由第一刀片处理并且从第一刀片排出的数据流量。最后,计算第一刀片机箱数据流量与第一刀片NIC数据流量之间的差,其中预定大的差指示第一机箱中的第一刀片中的资源过度使用。
在一个实施方式中,通过确定NIC上的数据流量超过预定的NIC数据流量水平,来将第一刀片识别为将被解耦合的超负荷使用的刀片。该预定的NIC数据流量水平可以由管理模块、网络使用管理器、网络使用监视器或具有适当监管权限的任何管理员设置。
如果第一机箱超负荷使用并且已经识别了负担过重的刀片,则针对未充分使用的第二机箱进行查询(查询块414)。使用上述相同的标准和设备进行该查询,以便确定第一机箱超负荷使用。即,如果第二机箱具有去往其的“轻”量网络流量(如由监视上述过程的网络入口交换机确定),那么确定第二机箱为用于从第一机箱中的负担过重的第一刀片接受工作的良好候选。未来工作(其本该被发送到第一机箱中的负担过重的第一刀片)的目的地将是第二机箱中的最少使用的刀片。使用用于识别第一机箱中的负担过重的第一刀片的同一过程来识别该最少使用的刀片。即,将第二机箱中的如下刀片分类为用于接管第一机箱中负担过重的第一刀片的工作负担的良好候选,其中该刀片来自于第二机箱中的网络入口交换机的网络流量为轻量,并来自于该刀片的NIC流量为轻量。
一旦已经识别了第一机箱中的负担过重的第一刀片以及第二机箱中的替换该第一刀片的第二刀片,则允许第一刀片完成任何正在运行的任务(块416)。这避免与上下文切换相关联的开销,而这将引起未决工作负担的意外取消。然而,一旦完成了未决任务(查询块418),则从第一机箱释放第一刀片(块420)。
如下所述,一旦使第一刀片释放(停用),则另一机箱中的第二刀片将接合(启用)。在本发明的优选实施方式中,通过编程地将引导驱动从第一刀片重映射到第二刀片来执行该停用/启用,如图2所示。如上所述,通过卸下负担过重的第一刀片的引导程序(以及操作系统)来停用该负担过重的第一刀片,从而禁用该负担过重的第一刀片。同时,将第二机箱中的失效备援(failover)刀片映射到同一引导驱动,其存储在外部存储系统中(例如,图2所示的引导存储230)。该同一引导驱动(图2中所示的引导驱动228)是在第一机箱中的负担过重的第一刀片在被卸下之前使用的同一引导驱动。
备选地,可以单独地或组合地使用四个备选过程,来释放/停用/禁用第一刀片并且接合/启用/使能失效备援刀片。第一释放方法是经由指示第一机箱中的管理模块不向第一刀片发送更多工作的软件。第二方式是经由软件机箱接口到第一机箱中的第一干线,使得通过禁用该软件机箱接口的软件实现将第一刀片从第一机箱的解耦合。第三方法使用耦合开关(在图中未示出),其是将刀片耦合至机箱干线/将刀片从机箱干线解耦合的软件控制的硬件开关。第四方法使用线性运动硬件,其中第一刀片经由硬件插口耦合至第一机箱中的机箱干线,并且其中通过物理上将第一刀片从第一机箱中的第一干线拔出的线性硬件机构,来执行将第一刀片从第一机箱的解耦合。如果使用第四方法,可以由响应于第一机箱超负荷使用的软件控制该线性硬件机构。在一个使用该线性硬件机构的实施方式中,该线性硬件机构使得拔出的第一刀片超过第一机箱中的其他刀片而从第一机箱突出离开,其中突出的刀片提供了刀片机箱中的哪个刀片已经物理地被拔出的可视指示符。
现在参考图5,为用于如上所述解耦合刀片的第四方法提供附加细节。考虑具有第一端504和第二端506的刀片502。第二端506包括与机箱干线510中的物理插口508相配合的耦合销/槽/接头(例如,图1至图2所示的机箱干线157、218和/或220)。刀片502安装在线性硬件机构512内,线性硬件机构512包括为这里所述的线性运动提供支撑而固定安装的线性致动器514。线性致动器可以是液压致动器、齿轨和小齿轮,或能够产生足够线性力以接合/释放第二端506和物理插口508的任何其他机构。当刀片502物理地释放于具有其他刀片的机箱,线性运动使得刀片502从机箱干线510突出离开,从而给出了关于相比于其他刀片516哪个刀片已经从机箱释放(并且因此应该针对缺陷、工作分布问题、异常等进行检验)的快速可视提示,其他刀片516由于耦合至机箱干线510而在物理上接近于机箱干线510。该物理释放防止刀片无意地被允许在机箱内保持活动。
现在返回图4,一旦已经将负担过重的第一刀片从第一机箱释放,则将第二机箱中的第二刀片接合到第二机箱中。该第二刀片可以是这样一种刀片,该第二刀片之前没有耦合至第二机箱,并且现在可以相反地使用用于释放第一机箱中的负担过重的第一刀片的上述四种方法中任何一种来进行接合。备选地,第二刀片可以仅是未充分使用的刀片,如由用于识别第一机箱中的负担过重的第一刀片的上述步骤确定的。在两个场景之一中,在本发明的优选实施方式中,第二刀片没有引导操作系统(如果其根本没有耦合至第二机箱)或具有错误的操作系统(如果其之前耦合至第二机箱)。因此,在将原本应该发送到第一机箱中的负担过重的第一刀片的工作分配给第二机箱中的第二刀片之前,利用关闭第一刀片之前正在运行的同一操作系统的副本来引导第二刀片(块424)。此后,原本应该发送到第一机箱中的第一刀片的任何未来工作现在由负载平衡管理器发送到第二机箱中的第二刀片(块46)。尽管示出该处理结束于终止块428,但是应该理解,如果第二机箱变得负担过重,则该处理可以重新迭代,因此使得失效备援回到同一第一刀片或第一机箱中的另一刀片。
现在参考图6,示出了本发明的备选实施方式,并且尤其示出了如何禁用第一刀片以及使能第二刀片(参见图4中的块420和422)。初始地,第一机箱中的第一刀片(示出为刀片602)经由机械耦合器606耦合至其专用硬盘驱动器604(例如,图1所示的硬盘驱动器134)。机械耦合器606(包括处于刀片耦合软件610控制之下的处理逻辑608)包括将刀片602机械耦合至硬盘驱动器604的物理开关。如果刀片耦合软件610检测到刀片602已经负担过重(根据上述参数),那么指示机械耦合器606将刀片602从硬盘驱动器604机械地断开,并且将刀片612机械地耦合至硬盘驱动器604。刀片612可以经由诸如LAN等网络614耦合至机械耦合器606。备选地,刀片612可以直接以及机械地连接至机械耦合器606。在优选实施方式中,刀片612处于与刀片602不同的另一刀片机箱中(例如,刀片602是刀片214n,而刀片612是图2所示的刀片216a)。备选地,刀片602和刀片612均处于同一刀片机箱内。通过将第二刀片612耦合至硬盘驱动器604,而将第一刀片602从硬盘驱动器604解耦合,现在第一刀片602不能读取去往和来自硬盘驱动器604的数据和指令,因此禁用它。此外,通过将第二刀片612耦合至硬盘驱动器604,第二刀片612现在能够1)引导第一刀片的操作系统,并且2)读取之前由第一刀片使用的环境数据和应用软件,从而使第二刀片能够无缝地承担第一刀片的角色和责任。
应该理解,本发明的至少一些方面可以备选地以包含程序产品的计算机可读介质来实现。定义本发明功能的程序可以经由各种有形的信号承载介质被递送到数据存储系统或计算机系统,这些信号承载介质包括但不限于:非可写存储介质(例如,CD-ROM)以及可写存储介质(例如,硬盘驱动器、读/写CD ROM、光介质)。因此,应该理解,当此类存储介质由计算机可读指令编码时,其表示本发明的备选实施方式,其中该计算机可读指令指导本发明的方法功能。此外,应该理解,本发明可以由如下系统实现,该系统具有硬件、软件或如上所述的软件和硬件的组合或其等同物形式的装置。
本文所使用的术语仅出于描述特定实施方式的目的,并且不旨在对本发明进行限制。如这里所用,除非上下文明确指出,单数形式“一个”、“一种”和“该”也旨在包括多个形式。还应该理解,当在说明书中使用术语“包括”和/或“包含”时,其指出了所述特征、整体、步骤、操作、元素和/或组件的存在,但不排除存在或添加一个或多个其他特征、整体、步骤、操作、元素、组件和/或其群组。类似地,术语“机箱”和“刀片机箱”应理解为可互换,可互换的术语还有“刀片”和“服务器刀片”、“机箱干线”和“干线”以及其上下文应该被理解为与类似术语同义的其他术语。
以下权利要求书中的所有装置或步骤加功能元件的相应结构、材料、动作以及等同物旨在包括用于执行与如特别要求保护的其他要求保护的元件组合的功能的任何结构、材料或动作。已经出于示出以及描述的目的示出了本发明的描述,但是其不旨在穷举本发明或将本发明限于公开的形式。在不释放本发明的范围和精神的情况下,对于本领域的技术人员而言很多修改和变形将变得明显。为了最好地解释本发明的原理和实际应用,并且为了使本领域的技术人员能够针对具有适于所构思的特定用途的各种修改的各种实施方式理解本发明,选择并描述了实施方式。
应该进一步指出,如上述示例性实施方式中所描述的、本公开内容中所描述的方法可以通过使用VHDL(VHSIC硬件描述语言)程序和VHDL芯片来实现。VHDL是一种示例性设计输入语言,其用于现场可编程门阵列(FPGA)、专用集成电路(ASIC)和其他类似的电子设备。因此,本文描述的任何软件实现的方法可以由基于硬件的VHDL程序来仿真,继而其可以应用于VHDL芯片,诸如FPGA。将VHDL指令应用于VHDL芯片不仅引起VHDL芯片的物理转变,而且此类VHDL指令应用还可以使得特定加载的VHDL芯片重新耦合(物理上和/或逻辑上)至计算机系统内的其他硬件,因此引起附加的计算机系统的物理转变。
因此,已经详细地并且通过参考其说明性实施方式描述了本申请的发明,所以在不释放所附权利要求书中限定的本发明的范围的情况下,修改和变形也是可能的。

Claims (14)

1.一种用于在刀片中心中的多刀片机箱之间对工作进行负载平衡的计算机实现的方法,所述计算机实现的方法包括:
经由第一机箱中的管理模块,针对进入所述第一机箱的机箱数据流量监视网络入口交换机;
经由所述第一机箱中的第一刀片上的软件网络代理,针对进入所述第一刀片以及从所述第一刀片排出的第一刀片数据流量监视多个网络接口卡;以及
响应于所述对网络入口交换机的监视以及对第一刀片上的所述多个网络接口卡的监视,通过以下步骤之一确定所述第一机箱被超负荷使用:
(1)测量所述第一机箱的第一资源使用水平,其中资源使用水平是基于与总共有多少来自于所述第一机箱中的刀片的硬件资源可用相比总共有多少来自于所述第一机箱中的刀片的硬件资源正在被使用;测量第二机箱的第二资源使用水平,其中所述第二资源使用水平小于所述第一资源使用水平;计算所述第一资源使用水平与所述第二资源使用水平之间的差,来确定资源使用水平差;以及如果所述资源使用水平差超过预定义的动作水平,则确定所述第一机箱超负荷使用;
(2)测量第一刀片机箱数据流量,其中所述第一刀片机箱数据流量是寻址到所述第一刀片并且通过网络入口交换机的数据流量;测量第一刀片网络接口卡数据流量,其中所述第一刀片网络接口卡数据流量是已经由所述第一刀片处理的并且从所述第一刀片排出的数据流量;以及计算所述第一刀片机箱数据流量和所述第一刀片网络接口卡数据流量之间的差,其中所述第一刀片机箱数据流量和所述第一刀片网络接口卡数据流量之间的差超过了预定义的动作水平指示所述第一机箱中的所述第一刀片中资源的过度使用;
从所述第一机箱停用所述第一刀片,以及
启用第二机箱中的第二刀片。
2.根据权利要求1所述的计算机实现的方法,进一步包括:
将寻址到所述第一刀片的任何未来的数据流量重路由到所述第二刀片。
3.根据权利要求1所述的计算机实现的方法,其中通过确定网络接口卡上的数据流量超过预定的网络接口卡数据流量水平,而将所述第一刀片识别为将被解耦合的超负荷使用的刀片。
4.根据权利要求3所述的计算机实现的方法,进一步包括:
响应于所述第一刀片被从所述第一机箱解耦合,利用在所述第一刀片被解耦合之前由所述第一刀片使用的同一操作系统来引导所述第二刀片。
5.根据权利要求1所述的计算机实现的方法,其中所述第一刀片经由软件机箱接口耦合至所述第一机箱中的第一干线,并且其中所述第一刀片从所述第一机箱的停用是通过禁用所述软件机箱接口的软件来实现的。
6.根据权利要求1所述的计算机实现的方法,其中所述第一刀片经由硬件插口耦合至所述第一机箱中的第一干线,并且其中所述第一刀片从所述第一机箱的停用是通过由将所述第一刀片从所述第一机箱中的所述第一干线上物理地拔出的线性硬件机构执行的。
7.根据权利要求6所述的计算机实现的方法,其中所述线性硬件机构由响应于所述第一机箱正被超负荷使用的软件来控制,其中所述线性硬件机构使得被拔出的第一刀片超过所述第一机箱中的其他刀片而从所述第一机箱突出离开,以及其中突出的刀片提供了所述刀片机箱中的哪个所述刀片已经被物理地拔出的可视指示符。
8.一种用于在刀片中心中的多刀片机箱之间对工作进行负载平衡的计算机实现的系统,所述计算机实现的系统包括:
用于经由第一机箱中的管理模块,针对进入所述第一机箱的机箱数据流量监视网络入口交换机的装置;
用于经由所述第一机箱中的第一刀片上的软件网络代理,针对进入所述第一刀片以及从所述第一刀片排出的第一刀片数据流量监视多个网络接口卡的装置;以及
用于响应于所述对网络入口交换机的监视以及对第一刀片上的所述多个网络接口卡的监视,通过以下装置之一确定所述第一机箱被超负荷使用的装置:
(1)用于测量所述第一机箱的第一资源使用水平的装置,其中资源使用水平是基于与总共有多少来自于所述第一机箱中的刀片的硬件资源可用相比总共有多少来自于所述第一机箱中的刀片的硬件资源正在被使用;用于测量第二机箱的第二资源使用水平的装置,其中所述第二资源使用水平小于所述第一资源使用水平;用于计算所述第一资源使用水平与所述第二资源使用水平之间的差,来确定资源使用水平差的装置;以及用于如果所述资源使用水平差超过预定义的动作水平,则确定所述第一机箱超负荷使用的装置;
(2)用于测量第一刀片机箱数据流量的装置,其中所述第一刀片机箱数据流量是寻址到所述第一刀片并且通过网络入口交换机的数据流量;用于测量第一刀片网络接口卡数据流量的装置,其中所述第一刀片网络接口卡数据流量是已经由所述第一刀片处理的并且从所述第一刀片排出的数据流量;以及用于计算所述第一刀片机箱数据流量和所述第一刀片网络接口卡数据流量之间的差的装置,其中所述第一刀片机箱数据流量和所述第一刀片网络接口卡数据流量之间的差超过了预定义的动作水平指示所述第一机箱中的所述第一刀片中资源的过度使用;
用于从所述第一机箱停用所述第一刀片的装置,以及
用于启用第二机箱中的第二刀片的装置。
9.根据权利要求8所述的计算机实现的系统,进一步包括:
用于将寻址到所述第一刀片的任何未来的数据流量重路由到所述第二刀片的装置。
10.根据权利要求8所述的计算机实现的系统,其中还包括:用于通过确定网络接口卡上的数据流量超过预定的网络接口卡数据流量水平,而将所述第一刀片识别为将被解耦合的超负荷使用的刀片的装置。
11.根据权利要求10所述的计算机实现的系统,进一步包括:
用于响应于所述第一刀片被从所述第一机箱解耦合,利用在所述第一刀片被解耦合之前由所述第一刀片使用的同一操作系统来引导所述第二刀片的装置。
12.根据权利要求8所述的计算机实现的系统,其中所述第一刀片经由软件机箱接口耦合至所述第一机箱中的第一干线,并且其中所述第一刀片从所述第一机箱的停用是通过禁用所述软件机箱接口的软件来实现的。
13.根据权利要求8所述的计算机实现的系统,其中所述第一刀片经由硬件插口耦合至所述第一机箱中的第一干线,并且其中所述第一刀片从所述第一机箱的停用是通过由将所述第一刀片从所述第一机箱中的所述第一干线上物理地拔出的线性硬件机构执行的。
14.根据权利要求13所述的计算机实现的系统,其中所述线性硬件机构由响应于所述第一机箱正被超负荷使用的软件来控制,其中所述线性硬件机构使得被拔出的第一刀片超过所述第一机箱中的其他刀片而从所述第一机箱突出离开,以及其中突出的刀片提供了所述刀片机箱中的哪个所述刀片已经被物理地拔出的可视指示符。
CN2010100031800A 2009-01-14 2010-01-14 用于对工作进行负载平衡的方法和系统 Expired - Fee Related CN101782863B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/353,534 US8108503B2 (en) 2009-01-14 2009-01-14 Dynamic load balancing between chassis in a blade center
US12/353,534 2009-01-14

Publications (2)

Publication Number Publication Date
CN101782863A CN101782863A (zh) 2010-07-21
CN101782863B true CN101782863B (zh) 2013-04-03

Family

ID=42319799

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2010100031800A Expired - Fee Related CN101782863B (zh) 2009-01-14 2010-01-14 用于对工作进行负载平衡的方法和系统

Country Status (2)

Country Link
US (1) US8108503B2 (zh)
CN (1) CN101782863B (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8108503B2 (en) * 2009-01-14 2012-01-31 International Business Machines Corporation Dynamic load balancing between chassis in a blade center
WO2012097015A2 (en) * 2011-01-11 2012-07-19 A10 Networks Inc. Virtual application delivery chassis system
US8954979B1 (en) * 2011-08-15 2015-02-10 Netapp, Inc. Method and system for managing resources in a network
US9203772B2 (en) 2013-04-03 2015-12-01 Hewlett-Packard Development Company, L.P. Managing multiple cartridges that are electrically coupled together
US10459652B2 (en) 2016-07-27 2019-10-29 Pure Storage, Inc. Evacuating blades in a storage array that includes a plurality of blades
WO2018022779A1 (en) * 2016-07-26 2018-02-01 Pure Storage, Inc. Evacuating blades in a storage array that includes a plurality of blades
CN106371922A (zh) * 2016-08-29 2017-02-01 成都支付通卡友电子商务有限公司 动态负载平衡批量处理系统
CN115437739A (zh) * 2021-06-02 2022-12-06 伊姆西Ip控股有限责任公司 虚拟化系统的资源管理方法、电子设备和计算机程序产品
US20230110012A1 (en) * 2021-10-07 2023-04-13 Dell Products L.P. Adaptive application resource usage tracking and parameter tuning

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1821967A (zh) * 2005-02-18 2006-08-23 国际商业机器公司 用于将服务从第一服务器转移到第二服务器的方法和系统
CN1988477A (zh) * 2006-12-22 2007-06-27 武汉市中光通信公司 具有高可用性特征的网络管理系统

Family Cites Families (50)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6691165B1 (en) * 1998-11-10 2004-02-10 Rainfinity, Inc. Distributed server cluster for controlling network traffic
US7062556B1 (en) * 1999-11-22 2006-06-13 Motorola, Inc. Load balancing method in a communication network
US20020184369A1 (en) * 2001-05-31 2002-12-05 Parkinson Steven William Appointment scheme for redistributing service access
US7159017B2 (en) 2001-06-28 2007-01-02 Fujitsu Limited Routing mechanism for static load balancing in a partitioned computer system with a fully connected network
US7161939B2 (en) * 2001-06-29 2007-01-09 Ip Unity Method and system for switching among independent packetized audio streams
US7318095B2 (en) * 2001-11-21 2008-01-08 Clearcube Technology, Inc. Data fail-over for a multi-computer system
US20030154236A1 (en) * 2002-01-22 2003-08-14 Shaul Dar Database Switch enabling a database area network
US6724730B1 (en) * 2002-03-04 2004-04-20 Azimuth Networks, Inc. Test system for simulating a wireless environment and method of using same
US20050053008A1 (en) * 2002-03-04 2005-03-10 Griesing John Robert Wireless device isolation in a controlled RF test environment
GB2389479B (en) * 2002-06-07 2005-12-28 Hewlett Packard Co Method of serving out video over a network of video servers
GB0213073D0 (en) * 2002-06-07 2002-07-17 Hewlett Packard Co Method of maintaining availability of requested network resources
GB2389431A (en) * 2002-06-07 2003-12-10 Hewlett Packard Co An arrangement for delivering resources over a network in which a demand director server is aware of the content of resource servers
US7337236B2 (en) * 2002-07-02 2008-02-26 International Business Machines Corporation Application prioritization in a stateless protocol
US20040088414A1 (en) * 2002-11-06 2004-05-06 Flynn Thomas J. Reallocation of computing resources
US7353538B2 (en) * 2002-11-08 2008-04-01 Federal Network Systems Llc Server resource management, analysis, and intrusion negation
US20040111529A1 (en) * 2002-12-10 2004-06-10 Intel Corporation (A Delaware Corporation) Dynamic host based load balancing of a multihomed network
US7953074B2 (en) * 2003-01-21 2011-05-31 Emulex Design And Manufacturing Corporation Apparatus and method for port polarity initialization in a shared I/O device
US7480720B2 (en) * 2003-06-25 2009-01-20 International Business Machines Corporation Method and system for load balancing switch modules in a server system and a computer system utilizing the same
US8285881B2 (en) * 2003-09-10 2012-10-09 Broadcom Corporation System and method for load balancing and fail over
AU2003286412A1 (en) * 2003-12-11 2005-06-29 Bladefusion Technologies 2003 Ltd. Method and an apparatus for controlling executables running on blade servers
JP4610240B2 (ja) * 2004-06-24 2011-01-12 富士通株式会社 分析プログラム、分析方法及び分析装置
JP4826077B2 (ja) * 2004-08-31 2011-11-30 株式会社日立製作所 ブートディスク管理方法
US20060069761A1 (en) * 2004-09-14 2006-03-30 Dell Products L.P. System and method for load balancing virtual machines in a computer network
US7590727B1 (en) * 2004-09-28 2009-09-15 Sprint Communications Company L.P. System and method for software failover on a bladed system
EP1854250B1 (en) * 2005-02-28 2011-09-21 International Business Machines Corporation Blade server system with at least one rack-switch having multiple switches interconnected and configured for management and operation as a single virtual switch
US7643420B2 (en) * 2005-03-11 2010-01-05 Broadcom Corporation Method and system for transmission control protocol (TCP) traffic smoothing
US7805600B2 (en) * 2005-09-15 2010-09-28 Sas Institute Inc. Computer-implemented systems and methods for managing images
WO2007034826A1 (ja) * 2005-09-20 2007-03-29 Nec Corporation 資源量計算システム、方法およびプログラム
US8924467B2 (en) * 2005-12-28 2014-12-30 International Business Machines Corporation Load distribution in client server system
US20070180280A1 (en) * 2006-02-01 2007-08-02 Bolan Joseph E Controlling the allocation of power to a plurality of computers whose supply of power is managed by a common power manager
WO2007110942A1 (ja) * 2006-03-29 2007-10-04 Fujitsu Limited ネットワークシステムにおけるサーバ管理プログラム
US8301752B2 (en) * 2006-05-02 2012-10-30 International Business Machines Corporation Load balancing for network server
US8799918B2 (en) * 2006-09-11 2014-08-05 Microsoft Corporation Dynamic network load balancing using roundtrip heuristic
JP5115085B2 (ja) * 2006-10-27 2013-01-09 富士通株式会社 ネットワーク管理プログラム及びネットワーク管理装置
US9054964B2 (en) * 2006-11-28 2015-06-09 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Network switch load balance optimization
US7444459B2 (en) * 2006-12-12 2008-10-28 Lsi Logic Corporation Methods and systems for load balancing of virtual machines in clustered processors using storage related load information
US7916718B2 (en) * 2007-04-19 2011-03-29 Fulcrum Microsystems, Inc. Flow and congestion control in switch architectures for multi-hop, memory efficient fabrics
US8432788B2 (en) * 2007-05-18 2013-04-30 Nvidia Corporation Intelligent failback in a load-balanced networking environment
US7920560B2 (en) * 2007-06-12 2011-04-05 Hewlett-Packard Development Company, L.P. Method for detecting topology of computer systems
US8996707B2 (en) * 2007-09-28 2015-03-31 Alcatel Lucent Method and apparatus for performing load balancing for a control plane of a mobile communication network
US20090094594A1 (en) * 2007-10-03 2009-04-09 Ortronics, Inc. Blade-based modular system for supporting application specific functions
US7962587B2 (en) * 2007-12-10 2011-06-14 Oracle America, Inc. Method and system for enforcing resource constraints for virtual machines across migration
US7945647B2 (en) * 2007-12-10 2011-05-17 Oracle America, Inc. Method and system for creating a virtual network path
US20090172125A1 (en) * 2007-12-28 2009-07-02 Mrigank Shekhar Method and system for migrating a computer environment across blade servers
US7970951B2 (en) * 2008-02-29 2011-06-28 Oracle America, Inc. Method and system for media-based data transfer
US7944923B2 (en) * 2008-03-24 2011-05-17 Oracle America, Inc. Method and system for classifying network traffic
US7941539B2 (en) * 2008-06-30 2011-05-10 Oracle America, Inc. Method and system for creating a virtual router in a blade chassis to maintain connectivity
EP2316194B1 (en) * 2008-08-18 2015-02-25 F5 Networks, Inc Upgrading network traffic management devices while maintaining availability
US7908368B2 (en) * 2008-09-23 2011-03-15 International Business Machines Corporation Method and apparatus for redirecting data traffic based on external switch port status
US8108503B2 (en) * 2009-01-14 2012-01-31 International Business Machines Corporation Dynamic load balancing between chassis in a blade center

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1821967A (zh) * 2005-02-18 2006-08-23 国际商业机器公司 用于将服务从第一服务器转移到第二服务器的方法和系统
CN1988477A (zh) * 2006-12-22 2007-06-27 武汉市中光通信公司 具有高可用性特征的网络管理系统

Also Published As

Publication number Publication date
US8108503B2 (en) 2012-01-31
CN101782863A (zh) 2010-07-21
US20100180025A1 (en) 2010-07-15

Similar Documents

Publication Publication Date Title
CN101782863B (zh) 用于对工作进行负载平衡的方法和系统
CN101118521B (zh) 跨越多个逻辑分区分布虚拟输入/输出操作的系统和方法
US9852161B2 (en) Autonomic data partition placement in an in-memory data grid
CN106462498B (zh) 用于数据存储系统的模块化交换架构
CN103718535B (zh) 硬件故障的缓解
CN102859491B (zh) 通过利用接收侧缩放(rss)软件为网络适配器动态添加或移除队列对的资源关联
TWI410864B (zh) 在一處理環境中控制指令執行
CN102984214B (zh) 一种实现电信云中业务迁移的方法及装置
EP1837750A2 (en) Computer system for controlling allocation of physical links and method thereof
CN106030552A (zh) 计算机系统
US8612973B2 (en) Method and system for handling interrupts within computer system during hardware resource migration
CN110351149A (zh) 一种维护网络数据转发平面的方法及装置
CN111049670B (zh) 一种用于微服务的熔断隔离的方法及装置
CN108139928A (zh) 在cpu核之间的迁移
CN104335180A (zh) 虚拟化i/o处理延迟的实时测量
US20140297728A1 (en) Load distribution system
CN105009100A (zh) 计算机系统及计算机系统的控制方法
CN102929769A (zh) 一种基于代理服务的虚拟机内部数据采集方法
US20140157273A1 (en) Method, data processing program, and computer program product to compensate for coupling overhead in a distributed computing system, and corresponding overhead calculator for a distributed computing system and corresponding computer system
WO2024113721A1 (zh) 一种多控制器的数据备份方法及相关装置
CN102916831A (zh) 业务系统的健康度获得方法及系统
CN105009086A (zh) 一种实现处理器切换的方法、计算机和切换装置
WO2013128490A1 (en) Method for reusing resource and storage sub-system using the same
CN100487654C (zh) 使用转移中修改虚拟化设备自描述信息的方法
CN102546652A (zh) 一种服务器负载平衡系统及方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20180611

Address after: 7 floor, building 10, Zhang Jiang Innovation Park, 399 Keyuan Road, Zhang Jiang high tech park, Pudong New Area, Shanghai.

Patentee after: International Business Machines (China) Co., Ltd.

Address before: New York grams of Armand

Patentee before: International Business Machines Corp.

CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20130403

Termination date: 20190114