[go: up one dir, main page]

CN102708004B - 虚拟应用交付机箱系统 - Google Patents

虚拟应用交付机箱系统 Download PDF

Info

Publication number
CN102708004B
CN102708004B CN201210007259.XA CN201210007259A CN102708004B CN 102708004 B CN102708004 B CN 102708004B CN 201210007259 A CN201210007259 A CN 201210007259A CN 102708004 B CN102708004 B CN 102708004B
Authority
CN
China
Prior art keywords
blade
message
main
specific
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
CN201210007259.XA
Other languages
English (en)
Other versions
CN102708004A (zh
Inventor
拉贾库玛·亚兰
丹尼斯·奥什巴
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.)
A10 Networks Inc
Original Assignee
A10 Networks Inc
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 A10 Networks Inc filed Critical A10 Networks Inc
Publication of CN102708004A publication Critical patent/CN102708004A/zh
Application granted granted Critical
Publication of CN102708004B publication Critical patent/CN102708004B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1008Server selection for load balancing based on parameters of servers, e.g. available memory or workload
    • 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/2025Failover techniques using centralised failover control functionality
    • 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
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/70Virtual switches
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/101Server selection for load balancing based on network conditions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1031Controlling of the operation of servers by a load balancer, e.g. adding or removing servers that serve requests
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1034Reaction to server failures by a load balancer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/61Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources taking into account QoS or priority requirements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/62Establishing a time schedule for servicing the requests
    • 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/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1469Backup restoration techniques
    • 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
    • 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/45595Network integration; Enabling network access in virtual machine instances
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0654Management of faults, events, alarms or notifications using network fault recovery
    • H04L41/0668Management of faults, events, alarms or notifications using network fault recovery by dynamic selection of recovery network elements, e.g. replacement by the most appropriate element after failure
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Computer And Data Communications (AREA)
  • Information Transfer Between Computers (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Hardware Redundancy (AREA)
  • Debugging And Monitoring (AREA)
  • General Factory Administration (AREA)

Abstract

本发明公开了一种虚拟应用交付机箱系统。一种用于在虚拟应用交付机箱(VADC)中选出主刀片的方法,包括:各个刀片将VADC消息发送至各个其他刀片;由各个刀片判定在预定时段内未接收到来自主刀片的VADC消息;作为响应,各个刀片将包含刀片优先级的主声明消息发送至其他刀片;由各个刀片判定从接收的主声明消息获得的刀片优先级中是否有高于接收刀片的刀片优先级;响应于判定获得的刀片优先级都不高于接收刀片的刀片优先级,将特定的接收刀片的状态设定为新的主刀片;以及特定的接收刀片将第二VADC消息发送至其他刀片,表明特定的接收刀片的新主刀片状态。

Description

虚拟应用交付机箱系统
技术领域
本发明大体上涉及数据通信,更具体地,涉及虚拟应用交付机箱系统。
背景技术
Web服务和云计算正以史无前例的速度部署。每天都在资料处理中心卸载和安装新的服务器。对于Web服务和企业计算的需求来自各个方面。面向用户的服务包括:iPhoneTM应用、移动应用(诸如基于位置的服务)、路线规划导航服务、诸如KindleTM的电子书服务、诸如YouTubeTM或HuluTM的视频应用、诸如PandoraTM或iTunesTM的音乐应用、诸如NetflixTM的互联网电视服务、以及许多其他快速发展的用户Web服务。在企业领域,包括诸如GoogleTMdocs的基于云计算的服务、MicrosoftTM Office Live和SharepointTM software、Salesforce.comTM的在线软件服务、远地呈现和网络会议服务、以及许多其他的企业云计算服务。
因此,部署越来越多的服务器从而适应日益增长的计算需求。这些服务器传统上是由服务器负载均衡器(SLB)或应用交付控制器(ADC)管理的。ADC通常是网络装置,诸如A10网络的AX系列流量管理器。ADC基于输入服务请求来管理负载平衡和从客户端主机计算机到服务器的服务会话交付。随着部署更多服务器,相应地部署更多ADC。相似地,随着更多服务器集中在数据中心或者跨多个数据中心延伸以提供可扩展服务解决方案,ADC成为瓶颈。
发明内容
在本发明的一个实施方式中,提供一种在虚拟应用交付机箱(virtualapplication distribution chassis)中选出主刀片的方法,该虚拟应用交付机箱包括多个刀片,该方法包括以下步骤:(a)多个刀片中各个刀片将虚拟应用交付机箱消息发送至该虚拟应用交付机箱中的各个其他刀片;(b)各个刀片判定是否在预定时段内接收到来自主刀片的虚拟应用交付机箱消息;(c)响应于判定在预定时段内未接收到来自主刀片的虚拟应用交付机箱消息,各个刀片将主声明消息(master claim message)发送至虚拟应用交付机箱中的各个其他刀片,各主声明消息包含针对发送刀片的刀片优先级;(d)接收主声明消息的各个刀片判定从接收的主声明消息获得的刀片优先级中是否有任意刀片优先级高于该接收刀片的刀片优先级;(e)响应于特定接收刀片判定从接收的主声明消息获得的刀片优先级都不高于该特定接收刀片的刀片优先级,将该特定接收刀片的状态设定为新主刀片;以及(f)该特定接收刀片将第二虚拟应用交付机箱消息发送至该虚拟应用交付机箱中的其他刀片,该第二虚拟应用交付机箱消息指示该特定接收刀片的新主刀片状态。
在本发明的一方面中,多个刀片包括主刀片和一个以上从刀片,其中,如果至少一个从刀片正在正确运行,那么该至少一个从刀片将虚拟应用交付机箱消息发送至虚拟应用交付机箱中的各个其他刀片,以及其中,如果主刀片正在正确运行,那么该主刀片将虚拟应用交付机箱消息发送至虚拟应用交付机箱中的各个其他刀片。
在本发明的一方面中,多个刀片包括一主刀片和一个以上从刀片,其中,判定(b)进一步包括以下步骤:(b1)由各个刀片判定是否在预定时段内接收到来自虚拟应用交付机箱的各个从刀片的虚拟应用交付机箱消息;(b2)响应于判定在预定时段内未接收到来自特定从刀片的虚拟应用交付机箱消息,接收该虚拟应用交付机箱消息的各个刀片将该特定从刀片标记为“故障”;以及(b3)响应于判定在预定时段内接收到来自特定从刀片的虚拟应用交付机箱消息,接收该虚拟应用交付机箱消息的各个刀片将该特定从刀片标记为正确运行。
在本发明的一方面中,判定(d)和设定(e)包括以下步骤:(d1)特定的接收刀片将从特定主声明消息获得的刀片优先级与该特定的接收刀片的刀片优先级进行比较;(e1)响应于判定该特定的接收刀片的刀片优先级高于从特定主声明消息获得的刀片优先级,重复与另一接收的主声明消息的比较(d1);以及(e2)响应于判定该特定的接收刀片的刀片优先级高于从各个其他接收的主声明消息获得的刀片优先级,将该特定的接收刀片的状态设定为新的主刀片。
在本发明的一方面中,判定(d)和设定(e)包括以下步骤:(d1)特定的接收刀片将从特定的主声明消息获得的刀片优先级与该特定的接收刀片的刀片优先级进行比较;以及(e1)响应于判定从特定的主声明消息获得的刀片优先级高于该特定的接收刀片的刀片优先级,保持该特定的接收刀片的从状态。
在本发明的一方面中,各个主声明消息进一步包括发送刀片的刀片标识,其中,比较(d1)、重复(e1)和设定(e2)包括以下步骤:(d1i)特定的接收刀片判定从特定的主声明消息获得的刀片优先级等于该特定的接收刀片的刀片优先级;(d1ii)响应于判定从特定主声明消息获得的刀片优先级等于该特定的接收刀片的刀片优先级,判定从特定的主声明消息获得的刀片优先级在数值上是否小于该特定的接收刀片的刀片优先级;(e1i)响应于判定从特定的主声明消息获得的刀片优先级在数值上小于该特定的接收刀片的刀片优先级,重复与另一接收的主声明消息的比较(d1);以及(e2i)响应于判定该特定的接收刀片的刀片优先级高于或等于并且在数值上小于从各个其他接收的主声明消息获得的刀片优先级,将该特定的接收刀片的状态设定为新的主刀片。
在本发明的一方面中,发送(f)包括以下步骤:(f1)由多个刀片中的特定从刀片判定是否在第二预定时段内接收到第二虚拟应用交付机箱消息;以及(f2)响应于由该特定从刀片判定在第二预定时段内未接收到第二虚拟应用交付机箱消息,将该特定从刀片的状态设定为新的主刀片,并且由该特定从刀片将第二虚拟应用交付消息发送至虚拟应用交付机箱中的其他刀片。
在本发明的一方面中,所述方法还包括以下步骤:(g)添加新刀片至虚拟应用交付机箱;(h)由该新刀片将第二主声明消息发送至虚拟应用交付机箱中的各个其他刀片;(i)响应于从该新刀片接收到第二主声明消息,由各个其他刀片判定主刀片是否被标记为正确运行;以及(j)响应于由各个其他刀片判定主刀片被标记为正确运行,忽略第二主声明消息,否则执行发送(c)、判定(d)、设定(e)和发送(f)。
在本发明的一方面中,多个刀片可操作地耦接为数据网络内的虚拟应用交付机箱,该数据网络包括网络交换机,其中,该方法进一步包括以下步骤:(g)将多个刀片中的第一刀片指定为对于虚拟地址的现役刀片,并且将多个刀片中的第二刀片指定为对于该虚拟地址的备用刀片,其中,目的地为该虚拟地址的服务请求由网络交换机发送至第一刀片。
在本发明的一方面中,该方法进一步包括以下步骤:(h)由各个刀片判定在预定时段内未接收到来自第一刀片的虚拟应用交付机箱消息;(i)响应于判定在预定时段内未接收到来自第一刀片的虚拟应用交付机箱消息,将第二刀片的状态改为针对该虚拟地址的现役刀片;以及(j)发送虚拟地址改变消息至网络交换机,以通知网络交换机将目的地为该虚拟地址的未来服务请求发送至第二刀片。
也在本文描述并要求对应于上面概括的方法的计算机程序产品和系统。
附图说明
图1示出根据本发明的实施方式将服务会话从主机分发至服务器的虚拟应用交付机箱。
图2示出根据本发明的实施方式的应用交付刀片、主机和服务器的部件。
图3示出根据本发明的实施方式在虚拟应用交付机箱中应用交付刀片的连接。
图4示出根据本发明的实施方式在虚拟应用交付机箱中刀片的角色。
图5示出根据本发明的实施方式在虚拟应用交付机箱中选出主刀片的处理。
图6示出根据本发明的实施方式将刀片加入虚拟应用交付机箱。
图7示出根据本发明的实施方式在虚拟应用交付机箱与主机之间的服务连接。
具体实施方式
呈现下面的描述使本领域的普通技术人员能够实现并使用本发明,并且在专利申请及其要求的语境中提供以下描述。实施方式的各种变形例对本领域的技术人员而言是显而易见的,并且本文的普通原理可以应用于其他实施方式。因此,本发明并不旨在限于所示实施方式,而是符合与本文所描述的原理和特征相一致的最宽范畴。
本发明可以采用完全硬件实施方式、完全软件实施方式、或包含硬件元件和软件元素这两者的实施方式的形式。在优选的实施方式中,以软件来实现本发明,该软件包括但不限于固件、常驻软件、微代码等。
此外,本发明可以采用从计算机可用或计算机可读介质可访问的计算机程序产品的形式,该计算机程序产品提供结合或由计算机或是任何指令执行系统使用的程序代码。出于描述的目的,计算机可用或计算机可读介质可以是能够含有、存储、通信、传播、或传输结合或由指令执行系统、装置、或设备使用的程序的任何装置。
该介质可以是电子的、磁的、光的、电磁的、红外线的、或半导体系统(或者是装置或设备)或传播介质。计算机可读介质的实例包括半导体或固态存储器、磁带、可移动计算机磁盘、随机存取存储器(RAM)、只读存储器(ROM)、硬磁盘以及光盘。目前的光盘实例包括光盘-只读存储器(CD-ROM)、光盘-读/写(CD-R/W)和DVD。
适用于存储和/或执行程序代码的数据处理系统将包括通过系统总线直接或间接耦接至存储器元件的至少一个处理器。存储器元件可以包括在执行程序代码期间使用的局部存储器、体存储器、以及高速缓冲存储器,该高速缓冲存储器提供对于某些程序代码的临时存储从而减少在执行期间必须从体存储器中检索代码的次数。
输入/输出或I/O设备(包括但不限于键盘、显示器、定点设备等)可以直接或通过介于其间的I/O控制器间接地耦接至系统。
网络适配器也可以耦接至系统,从而使数据处理系统能够通过介于其间的专用网络或公共网络耦接至其他数据处理系统或远程打印机或存储设备。调制解调器、电缆调制解调器以及以太网卡仅仅是一些当前可用类型的网络适配器。
附图中的框图示出了根据本发明的多种实施方式的系统、方法、和计算机程序产品的可能的实现方式的架构、功能以及操作。就这一点而言,框图中的每个框可以表示模块、片段、或部分代码,其包含用于实现指定的局部功能的一个或多个可执行指令。还应当注意的是,在一些可替换实现方式中,可以不按照图中所注解的顺序实现框中注解的功能。例如,接连示出的两个块实际上可以基本上同时地执行,或取决于所设计的功能,有时可以按照相反顺序来执行块。还应当注意的是,框图中块的组合可以由执行指定功能或动作的专用基于硬件的系统或专用硬件与计算机指令的组合来实现。
本文使用的术语只是为了描述具体的实施方式,并不旨在限制本发明。如本文所使用的,单数形式“一(a)”、“一(an)”、和“这个(the)”旨在包括复数形式,除非文中清楚地表明正相反。将进一步理解的是,当在该说明书中使用术语“包含(comprises)”和/或“包含(comprising)”时,指明存在所阐明的特征、整体、步骤、操作、元件、和/或部件,但并不排除存在或增加一个或多个其他特征、整体、步骤、操作、元件、部件、和/或其组合。
图1示出根据本发明的实施方式、将应用服务会话401从服务器200交付至主机100的虚拟应用交付机箱300。虚拟应用交付机箱300从主机100接收在主机100与服务器200之间的应用服务会话401的服务请求403。通过数据网络153传递服务请求403。在一个实施方式中,服务会话401为Web服务会话,并且服务请求403是Web服务请求,诸如HTTP(超文本传输协议)请求、安全HTTP请求、FTP(文件传输协议)请求、文件传输请求、SIP(会话初始化协议)会话请求、基于Web技术的请求、视频或音频流请求、Web会议会话请求、或通过互联网或企业网络的任何请求。
在一个实施方式中,服务会话401为非Web服务的会话,诸如远程访问服务、文件和打印服务、名称或文件夹服务、企业应用服务、数据库应用服务或者消息服务。服务请求403为服务会话401的相应请求。
图2示出根据本发明的实施方式的应用交付刀片、主机和服务器的部件。主机100是具有网络访问能力的计算设备。如图2所示,主机100可操作地耦接至处理器103、计算机可读介质104、以及网络接口105。计算机可读介质104存储当由处理器103执行时用于实现本文所描述的本发明的各种实施方式的计算机可读程序代码。网络接口105连接至数据网络153。网络接口105实例包括以太网、WiFi、移动网络接口、蓝牙、WiMAX、数字用户线(DSL)、电缆接口、诸如T1或T3的宽带网络接口、光网络接口、无线网络接口或者其他数据网络接口。在一个实施方式中,主机100是工作站、桌上型个人计算机或膝上型个人计算机。在一个实施方式中,主机100是个人数字助理(PDA)、智能手机、或蜂窝电话。在一个实施方式中,主机100是机顶盒、互联网媒体展示器(viewer)、互联网媒体播放器、智能传感器、智能医疗器械、网顶盒、网络电视、网络DVR、网络蓝光播放器、或媒体中心。
图1中,虚拟应用交付机箱300包括多个刀片,诸如刀片310、刀片312、刀片314和刀片316。如图2所示,各个刀片(例如,刀片310)可操作地耦接至处理器303、计算机可读媒介304和网络接口305。计算机可读介质304存储计算机可读程序代码,当处理器303执行该程序代码时实现本文所描述的本发明的各种实施方式。在某些实施方式中,虚拟应用交付机箱300被实现为服务器负载均衡器、应用交付控制器、服务交付平台、流量管理器、安全网关、防火墙系统的部件、虚拟专用网(VPN)的部件、用于视频服务器的负载均衡器、或将负载分配给多个服务器的网关。网络接口305连接至数据网络155。图1中,刀片310、312、314、316也连接至数据网络151。刀片310、312、314、316通过它们至数据网络151的连接来形成虚拟应用交付机箱300。在一个实施方式中,网络接口305包括网络接口105的各种实施方式。在一个实施方式中,网络接口305还包括光网络接口。
图2所示,服务器200可操作地耦接至处理器203、计算机可读介质204和网络接口205。计算机可读介质204存储计算机可读程序代码,当由处理器203执行该计算机可读程序代码时实现如本文所描述的本发明的各种实施方式。在一些实施方式中,计算机可读程序代码将服务器200实现为用作Web服务器、文件服务器、视频服务器、数据库服务器、消息服务器、打印机服务器、应用服务器、语音服务器、会议服务器、媒体网关、SIP服务器、远程访问服务器、VPN服务器或者媒体中心。网络接口205连接至数据网络155。
返回至图1,在一个实施方式中,数据网络153连接主机100和虚拟应用交付机箱300。在一个实施方式中,数据网络153为互联网协议(IP)网络。在一个实施方式中,数据网络153是企业数据网络或者区域企业数据网络,包括但不限于企业内部网、专用网络云、虚拟专用网络或者校园局域网络。在一个实施方式中,数据网络153为互联网服务提供商网络。在一个实施方式中,数据网络153为常驻数据网络,包括但不限于诸如DSL网络、电缆网络或者个人局域网络的宽带网络。在一个实施方式中,数据网络153包括诸如以太网的有线网络。在一个实施方式中,数据网络153包括无线网络,诸如WiFi网络或者蜂窝网络。在一个实施方式中,网络接口205包括网络接口105和网络接口305的各种实施方式。
数据网络151将虚拟应用交付机箱300连接至数据网络153。在一个实施方式中,数据网络151包括数据网络153的各种实施方式。在一个实施方式中,数据网络151常驻于数据中心中,通过诸如光网络的广域网跨越多个数据中心或者在校园局域网络中的多个建筑物上延伸。
数据网络155将服务器200连接至数据网络151。在一个实施方式中,数据网络155为数据网络151的子网络。在一个实施方式中,数据网路155包括数据网络151的各种实施方式。在一个实施方式中,数据网络151是不同于数据网络155的网络。
在一个实施方式中,主机100发起与服务器200的应用服务会话401。主机100将服务请求403发送至虚拟应用交付机箱300。在虚拟应用交付机箱300接收到服务请求403之后,虚拟应用交付机箱300建立服务器会话405,并且将服务请求403中继至服务器200。虚拟应用交付机箱300通过服务器会话405接收来自服务器200的响应。虚拟应用交付机箱300随后通过服务器会话405将作为对于服务请求403响应的响应进行中继。
图3示出根据本发明的实施方式的虚拟应用交付机箱的刀片的连接。在一个优选实施方式中,刀片310是与其他刀片分离的硬件。刀片310通过数据网络151连接至诸如刀片312、刀片314和刀片316的其他刀片。在一个实施方式中,数据网络151包括多个网络交换机,诸如交换机414、交换机412和交换机416。网络交换机412或者网络交换机414是连接多个刀片和其他网络交换机的联网装置。在一个实施方式中,交换机412是以太网交换机、IP路由器、光网络交换机、WAN网络设备、ATM交换机、MPLS交换机、层2网络交换机/集线器/桥接器、或者层3网络交换机/路由器。在如图3所示的一个实施方式中,交换机412连接刀片312、刀片310和交换机416;交换机414连接刀片314、刀片316和交换机416。在该实施方式中,刀片312使用交换机412与刀片310通信,以及使用交换机412、交换机416和交换机414通信至刀片316。
在一个实施方式中,交换机412、交换机414和交换机416位于相同地理位置,诸如数据中心。在一个实施方式中,交换机412、交换机414和交换机416位于不同地理位置,诸如两个以上数据中心。在该实施方式中,刀片310、312、314和316地理上位于不同的数据中心。
刀片310通过发送和接收虚拟应用交付机箱消息(VDS)500从而与虚拟应用交付机箱300中的其他刀片通信。在一个实施方式中,刀片310使用诸如以太网广播地址的广播网络地址来发送虚拟应用交付机箱消息500。在一个实施方式中,使用诸如以太网多播地址、IP多播地址或者其他多播网络地址的多播地址来发送虚拟应用交付机箱消息500。在一个实施方式中,刀片310建立与刀片312的通信会话(未示出),并且使用该通信会话将虚拟应用交付机箱消息500发送至刀片312。刀片310还建立与虚拟应用交付机箱300中其他刀片的单独通信会话,并且通过它们各自的通信会话将虚拟应用交付机箱消息500发送至其他刀片。通信会话的实例可为UDP会话、TCP会话、基于IP通信会话、点到点通信会话、单播通信会话或者其他形式数据通信会话。在一个实施方式中,刀片310使用广播、多播地址或者与刀片312或虚拟应用交付机箱300中其他刀片的通信会话来接收虚拟应用交付机箱消息500。
图4示出根据本发明的实施方式、在虚拟应用交付机箱中刀片的角色。各个刀片被配置为虚拟应用交付机箱300中的主角色或者从角色,其中,仅一个刀片被配置为主角色。例如,假设刀片312为主刀片,刀片310、314和316为从刀片。各个从刀片(包括从刀片310)将从报告消息510发送至虚拟应用交付机箱300中的其他刀片。从报告消息510为虚拟应用交付机箱消息500的一种形式。接收的来自从刀片310的从报告消息510自身向其他刀片表明从刀片310正在正确运行。可选地,从报告消息510包括对本发明范围以外的功能有用的、关于刀片310的其他信息。在实施方式中,从刀片310包括定时器320。定时器320测量预先配置的时段。当定时器320超时时,从刀片310将从报告消息510发送至虚拟应用交付机箱300中的其他刀片。在一个实施方式中,从刀片310每30秒、每5秒或者每3分钟定期发送消息510。在一个实施方式中,当从刀片310中信息改变(诸如由于升级所引起的软件版本改变)时,从刀片310发送消息510。在一个实施方式中,当从刀片310接收到来自虚拟应用交付机箱300中的另一刀片的对应从报告消息或者主通知消息504时,从刀片310发送消息510。
在图4所示的实例中,从刀片314和主刀片312接收来自从刀片310的从报告消息510。与在从报告消息510内包括状态指示相反,接收的从报告消息510自身向从刀片314和主刀片312表明从刀片310正在正确运行。从刀片314和主刀片312都将从刀片310标记为正处于正确运转状态。在一个实施方式中,从刀片314包括定时器324。如果在定时器324超时之前从刀片314未接收到来自从刀片310的消息510,那么从刀片314将从刀片310视为“故障”,即,对于处理服务请求不可用。相似地,如果在定时器322超时之前主刀片312未接收到来自从刀片310的消息510,那么主刀片312将从刀片310视为“故障”。
主刀片312发出虚拟应用交付机箱消息500的另一形式的主通知消息504,以向虚拟应用交付机箱300中的从刀片告知主刀片312正在正确运行。在一个实施方式中,主刀片312包括定时器322,该定时器被配置为测量预定时段,并且当定时器322超时时,主刀片发送主通知消息504。在一个实施方式中,主刀片312每半秒、每5秒、每30秒或者每分钟定期发送主通知消息504。在实施方式中,每当主刀片312的信息改变(诸如由于升级引起的软件版本改变)时,主刀片312就发送消息504。
在一个实施方式中,各个从刀片(包括从刀片314)接收来自主刀片312的主通知消息504。与在主通知消息504内包含状态指示相反,接收的主通知消息504自身向从刀片表明主刀片312处于正确运转状态。在图4所示的实例中,当从刀片314在定时器324超时之前接收到主通知消息504时,从刀片314将主刀片312标记为以正常操作运转。在实施方式中,如果从刀片314在定时器324超时之前未接收到来自主刀片312的主通知消息504,那么从刀片314将主刀片312标记为“故障”。在该情况下,相似地,从刀片310和316在它们各自定时器320和326超时之前未接收到来自主刀片312的主通知消息504,进而将主刀片312标记为“故障”。
在从刀片310、314和316识别出主刀片312的故障之后,从刀片将选出新的主刀片。图5示出根据本发明的实施方式在虚拟应用交付机箱中选出主刀片的处理。图5中,从刀片310、314和316都认为自身有资格成为新的主刀片。各个刀片310、314和316将主声明消息520、524、516发送至虚拟应用交付机箱300中的其他刀片,其中,主声明消息包括针对发送刀片的刀片优先级。刀片优先级被预先配置,并且基于由机箱管理员可配置的因子表达刀片要被指定为主角色的顺序。主声明消息是虚拟应用交付机箱消息500的一种形式。
例如,图5中,从刀片310发送包括其刀片优先级530的主声明消息520;从刀片314发送包括其刀片优先级534的主声明消息524;从刀片316发送包括其刀片优先级536的主声明消息526。从刀片314接收来自从刀片310的主声明消息520,并且从主声明消息520获得刀片优先级530。从刀片314将其自身的刀片优先级534与来自主声明消息520的刀片优先级530进行比较,进而判定刀片优先级530高于刀片优先级534。作为响应,从刀片314保持从角色。相似地,从刀片316接收来自从刀片310的主声明消息520,并且从主声明消息520获得刀片优先级530。从刀片316将其自身的刀片优先级536与来自主声明消息520的刀片优先级530进行比较,进而判定刀片优先级530高于其自身的刀片优先级536。作为响应,从刀片316保持从角色。
从刀片310接收来自从刀片314的主声明消息524,并且从主声明消息524获得刀片优先级534。从刀片310将其自身的刀片优先级530与来自主声明消息524的刀片优先级534进行比较,进而判定刀片优先级530高于刀片优先级534。从刀片310还接收来自从刀片316的主声明消息526,并且从主声明消息526获得刀片优先级536。从刀片310将其自身的刀片优先级530与刀片优先级536进行比较,进而判定刀片优先级530高于刀片优先级536。在一个实施方式中,作为响应,从刀片310将其角色改变为主刀片。在一个实施方式中,从刀片310包括定时器320,并且在定时器320超时之前未接收到任何包含高于刀片优先级530的刀片优先级的主声明消息。作为响应,从刀片310将其角色改变为主刀片。然后,新的主刀片310通过将主通知消息515发送至虚拟应用交付机箱300中的各个其他刀片从而将其新主角色告知其他刀片。
在一个实施方式中,从刀片310判定刀片优先级530等于刀片优先级534。作为响应,从刀片310使用预定判优处理来判定是从刀片310还是从刀片314具有较高优先级。例如,在一个实施方式中,从刀片310被分配刀片标识330。从刀片310在主声明消息520中包含刀片标识330。相似地,从刀片314被分配刀片标识334,并且在主声明消息524中包含刀片标识334。一旦接收到主声明消息524,从刀片310就将来自主声明消息524的刀片标识334与其自身的刀片标识330进行比较,进而判定刀片标识334在数值上小于刀片标识330。作为响应,从刀片310判定其自身具有比刀片314更高的优先级。假设从刀片310未接收到任何具有更高刀片优先级、或者具有相等刀片优先级并具有较高刀片标识的其他主声明消息,从刀片310将其角色改变为主刀片。在一个实施方式中,预定判优处理优选数值上较小的刀片标识,而不是较高刀片标识。在不脱离本发明的精神和范围的情况下,预定判优处理可使用除了刀片标识以外的信息。
当刀片310将其角色改变为主刀片时,刀片310将主通知消息515发送至虚拟应用交付机箱300中的各个其他刀片。接收的主通知消息515自身向各个其他刀片表明刀片310为主刀片。例如,当从刀片314接收到来自主刀片310的主通知消息515时,从刀片314将主刀片310记录为虚拟应用交付机箱300的主刀片。
在一个实施方式中,从刀片314包括定时器324,并且在定时器324超时之前未接收到任何主通知消息。从刀片314判定还未判定主刀片。作为响应,从刀片314选出它自己为主刀片,并且将主通知消息发送至虚拟应用交付机箱300中的其他刀片。
图6示出根据本发明的实施方式在添加刀片至虚拟应用交付机箱时的处理。刀片316被添加至虚拟应用交付机箱300,该虚拟应用交付机箱具有作为主刀片的刀片312。一旦添加,刀片316就发送包含其刀片优先级536的主声明消息526。虚拟应用交付机箱300中的其他刀片310、312、314接收来自刀片316的主声明消息526,判定它们都处于报告模式中(即,主刀片312被标记为处于正确运转状态)进而忽略消息526。一旦主刀片312的定时器322(图4)超时,主刀片就发出主通知消息504。在一个实施方式中,主通知消息504包含主刀片312的刀片优先级532。响应于接收到主通知消息504,刀片316将其角色设定为从刀片。接收的主通知消息504自身向刀片316表明虚拟应用交付机箱300已经具有正确运转的主刀片。随后,一旦从刀片316的定时器326(图4)超时,从刀片316就将从报告消息516发出至虚拟应用交付机箱300中的其他刀片。如上文参考图4所述,由其他刀片(包括主刀片312)接收到的来自从刀片316的从报告消息516表明刀片316已经新加入虚拟应用交付机箱300。在该实施方式中,上述处理可用于将刀片添加至现有机箱或者新形成的机箱。当形成新的虚拟应用交付机箱时,加入该机箱的各刀片将发出主声明消息。如上文参考图5所述,由于还没有主刀片(即,在刀片的各自定时器超时之前刀片都未接收到主通知消息),所以刀片进入选出主刀片的处理。
回顾虚拟应用交付机箱300与主机100之间的连接,图7示出根据本发明实施方式的、在主机100与虚拟应用交付机箱300之间的连接。在该实施方式中,主机100通过网络交换机418与虚拟应用交付机箱300通信。网络交换机418连接至刀片310和刀片314。虚拟应用交付机箱300包括虚拟地址423。虚拟地址423为网络地址,主机100使用该网络地址与虚拟应用交付机箱300通信。在一个实施方式中,虚拟地址423为IP地址或者其他网络地址。刀片310被指定为用于虚拟地址423的现役刀片。刀片314被指定为用于虚拟地址423的备用刀片。因此,虚拟应用交付机箱300中的现役刀片和备用刀片被指定用于数据网络151的各个虚拟地址。网络交换机418将目的地为虚拟地址423的数据包交付给现役刀片310。主机100使用虚拟地址423将服务请求403发送至虚拟应用交付机箱300。当网络交换机418接收到服务请求403包时,网络交换机418将该包发送至被指定用于虚拟地址423的现役刀片310。现役刀片310接收服务请求403并且处理服务请求403。
在一个实施方式中,现役刀片310出现故障,并且一旦定时器320超时时,如果现役刀片310为主刀片,现役刀片310未发送从报告消息510或者未发送主通知消息。在定时器324超时之前,备用刀片314未接收到来自现役刀片310的从报告消息510。作为响应,备用刀片314判定现役刀片310已经出现故障。备用刀片314将其角色改变为用于虚拟地址423的现役刀片。现役刀片314发送虚拟地址改变消息446以告知网络交换机418针对虚拟地址423的未来数据包应发送至现役刀片314。在一个实施方式中,虚拟地址423为IP地址,以及网络交换机418为以太网交换机。现役刀片314使用包含现役刀片314的网络接口的MAC地址和虚拟地址423的地址解析协议(ARP)消息来告知网络交换机418。一旦接收到虚拟地址改变消息446,网络交换机418就改变状态,以便目的地为虚拟地址423的未来数据包将发送至现役刀片314。
在一个实施方式中,当现役刀片310出现故障时,在主机100与服务器200之间基于服务请求403的服务会话失败。在实施方式中,主机100随后使用虚拟地址423来发送针对另一服务会话409的服务请求407。网络交换机418接收服务请求407,并且将具有虚拟地址423的服务请求407发送至现役刀片314。现役刀片314处理服务请求407,并且将该请求发送至服务器200。
尽管已经根据所示实施方式描述了本发明,本领域的普通技术人员将容易地认识到,可以存在对于这些实施方式的变形例,且那些变形例将在本发明的精神和范畴内。因此,在不偏离所附权利要求的精神和范畴的情况下,本领域的普通技术人员可以做出许多修改。

Claims (21)

1.一种在虚拟应用交付机箱中选出主刀片的方法,该虚拟应用交付机箱包括多个刀片,所述方法包括:
(a)所述多个刀片中的各个刀片将虚拟应用交付机箱消息发送至所述虚拟应用交付机箱中的各个其他刀片;
(b)各个刀片判定是否在预定时段内接收到来自所述主刀片的所述虚拟应用交付机箱消息;
(c)响应于判定在所述预定时段内未接收到来自所述主刀片的所述虚拟应用交付机箱消息,各个刀片将主声明消息发送至所述虚拟应用交付机箱中的各个其他刀片,各个主声明消息包含发送刀片的刀片优先级;
(d)接收所述主声明消息的各个刀片判定从所接收的所述主声明消息获得的所述刀片优先级中是否有高于接收刀片的刀片优先级的刀片优先级;
(e)响应于由特定的接收刀片判定从接收的所述主声明消息获得的所述刀片优先级都不高于所述特定的接收刀片的刀片优先级,将所述特定的接收刀片的状态设定为新的主刀片;
(f)由所述特定的接收刀片将第二虚拟应用交付机箱消息发送至所述虚拟应用交付机箱中的其他刀片,所述第二虚拟应用交付机箱消息指示所述特定的接收刀片的新主刀片状态;
(g)添加新刀片至所述虚拟应用交付机箱;
(h)由所述新刀片将第二主声明消息发送至所述虚拟应用交付机箱中的各个其他刀片;
(i)响应于接收到来自所述新刀片的所述第二主声明消息,所述各个其他刀片判定所述主刀片是否被标记为正确运行;以及
(j)响应于所述各个其他刀片判定所述主刀片被标记为正确运行,忽略所述第二主声明消息,否则执行所述发送(c)、所述判定(d)、所述设定(e)和所述发送(f)。
2.根据权利要求1所述的方法,其中,所述多个刀片包括主刀片和一个以上从刀片,
其中,如果所述从刀片正在正确运行,则所述从刀片将所述虚拟应用交付机箱消息发送至所述虚拟应用交付机箱中的各个其他刀片,
其中,如果所述主刀片正在正确运行,则所述主刀片将所述虚拟应用交付机箱消息发送至所述虚拟应用交付机箱中的各个其他刀片。
3.根据权利要求1所述的方法,其中,所述多个刀片包括主刀片和一个以上从刀片,其中,所述判定(b)进一步包括:
(b1)各个刀片判定是否在所述预定时段内接收到来自所述虚拟应用交付机箱的各个从刀片的所述虚拟应用交付机箱消息;
(b2)响应于判定在所述预定时段内未接收到来自特定的从刀片的虚拟应用交付机箱消息,接收该虚拟应用交付机箱消息的各个刀片将所述特定的从刀片标记为“故障”;以及
(b3)响应于判定在所述预定时段内接收到来自所述特定的从刀片的虚拟应用交付机箱消息,接收该虚拟应用交付机箱消息的各个刀片将所述特定的从刀片标记为正确运行。
4.根据权利要求1所述的方法,其中,所述判定(d)和所述设定(e)包括:
(d1)所述特定的接收刀片将从特定的主声明消息获得的刀片优先级与所述特定的接收刀片的刀片优先级进行比较;
(e1)响应于判定所述特定的接收刀片的刀片优先级高于从所述特定的主声明消息获得的刀片优先级,重复与接收的另一主声明消息的所述比较(d1);以及
(e2)响应于判定所述特定的接收刀片的刀片优先级高于从接收的各个其他主声明消息获得的刀片优先级,将所述特定的接收刀片的状态设定为所述新的主刀片。
5.根据权利要求1所述的方法,其中,所述判定(d)和所述设定(e)包括:
(d1)所述特定的接收刀片将从特定的主声明消息获得的刀片优先级与所述特定的接收刀片的刀片优先级进行比较;以及
(e1)响应于判定从所述特定的主声明消息获得的刀片优先级高于所述特定的接收刀片的刀片优先级,保持所述特定的接收刀片的从状态。
6.根据权利要求4所述的方法,其中,各个主声明消息进一步包含所述发送刀片的刀片标识,其中,所述比较(d1)、所述重复(e1)和所述设定(e2)包括:
(d1i)由所述特定的接收刀片判定从所述特定的主声明消息获得的刀片优先级等于所述特定的接收刀片的刀片优先级;
(d1ii)响应于判定从所述特定的主声明消息获得的刀片优先级等于所述特定的接收刀片的刀片优先级,判定从所述特定的主声明消息获得的刀片优先级在数值上是否小于所述特定的接收刀片的刀片优先级;
(e1i)响应于判定从所述特定的主声明消息获得的刀片优先级在数值上小于所述特定的接收刀片的刀片优先级,重复与接收的另一主声明消息的所述比较(d1);以及
(e2i)响应于判定所述特定的接收刀片的刀片优先级高于、或者等于并且在数值上小于从接收的各个其他主声明消息获得的刀片优先级,将所述特定的接收刀片的状态设定为所述新的主刀片。
7.根据权利要求1所述的方法,其中,所述发送(f)包括:
(f1)由所述多个刀片中的特定从刀片判定是否在第二预定时段内接收到所述第二虚拟应用交付机箱消息;以及
(f2)响应于由所述特定从刀片判定在所述第二预定时段内未接收到所述第二虚拟应用交付机箱消息,将所述特定从刀片的状态设定为所述新的主刀片,并且所述特定从刀片将所述第二虚拟应用交付消息发送至所述虚拟应用交付机箱中的其他刀片。
8.一种在虚拟应用交付机箱中选出主刀片的系统,包括:
多个刀片,可操作地耦接为数据网络内的虚拟应用交付机箱,其中,各个刀片包括处理器和具有计算机可读程序的计算机可读存储介质,所述计算机可读程序当由所述处理器执行时使得所述多个刀片:
(a)各个刀片将虚拟应用交付机箱消息发送至所述虚拟应用交付机箱中的各个其他刀片;
(b)各个刀片判定是否在预定时段内接收到来自所述主刀片的所述虚拟应用交付机箱消息;
(c)响应于判定在所述预定时段内未接收到来自所述主刀片的所述虚拟应用交付机箱消息,各个刀片将主声明消息发送至所述虚拟应用交付机箱中的各个其他刀片,各个主声明消息包含发送刀片的刀片优先级;
(d)由接收所述主声明消息的各个刀片判定从接收的所述主声明消息获得的所述刀片优先级中是否有高于所述接收刀片的刀片优先级的刀片优先级;
(e)响应于由特定的接收刀片判定从接收的所述主声明消息获得的所述刀片优先级都不高于所述特定的接收刀片的刀片优先级,将所述特定的接收刀片的状态设定为新的主刀片;
(f)由所述特定的接收刀片将第二虚拟应用交付机箱消息发送至所述虚拟应用交付机箱中的其他刀片,所述第二虚拟应用交付机箱消息指示所述特定的接收刀片的新主刀片状态;
(g)添加新刀片至所述虚拟应用交付机箱;
(h)由所述新刀片将第二主声明消息发送至所述虚拟应用交付机箱中的各个其他刀片;
(i)响应于接收到来自所述新刀片的所述第二主声明消息,所述各个其他刀片判定所述主刀片是否被标记为正确运行;以及
(j)响应于所述各个其他刀片判定所述主刀片被标记为正确运行,忽略所述第二主声明消息,否则执行所述发送(c)、所述判定(d)、所述设定(e)和所述发送(f)。
9.根据权利要求8所述的系统,其中,所述多个刀片包括主刀片和一个以上从刀片,
其中,如果所述从刀片正在正确运行,则所述从刀片将所述虚拟应用交付机箱消息发送至所述虚拟应用交付机箱中的各个其他刀片,
其中,如果所述主刀片正在正确运行,则所述主刀片将所述虚拟应用交付机箱消息发送至所述虚拟应用交付机箱中的各个其他刀片。
10.根据权利要求8所述的系统,其中,所述多个刀片包括主刀片和一个以上从刀片,其中,所述判定(b)进一步包括:
(b1)各个刀片判定是否在所述预定时段内接收到来自所述虚拟应用交付机箱的各个从刀片的所述虚拟应用交付机箱消息;
(b2)响应于判定在所述预定时段内未接收到来自特定的从刀片的虚拟应用交付机箱消息,接收该虚拟应用交付机箱消息的各个刀片将所述特定的从刀片标记为“故障”;以及
(b3)响应于判定在所述预定时段内接收到来自所述特定的从刀片的虚拟应用交付机箱消息,接收该虚拟应用交付机箱消息的各个刀片将所述特定的从刀片标记为正确运行。
11.根据权利要求8所述的系统,其中,所述判定(d)和所述设定(e)包括:
(d1)所述特定的接收刀片将从特定的主声明消息获得的刀片优先级与所述特定的接收刀片的刀片优先级进行比较;
(e1)响应于判定所述特定的接收刀片的刀片优先级高于从所述特定的主声明消息获得的刀片优先级,重复与接收的另一主声明消息的所述比较(d1);以及
(e2)响应于判定所述特定的接收刀片的刀片优先级高于从接收的各个其他主声明消息获得的刀片优先级,将所述特定的接收刀片的状态设定为所述新的主刀片。
12.根据权利要求11所述的系统,其中,所述判定(d)和所述设定(e)包括:
(d1)所述特定的接收刀片将从特定的主声明消息获得的刀片优先级与所述特定的接收刀片的刀片优先级进行比较;以及
(e1)响应于判定从所述特定的主声明消息获得的刀片优先级高于所述特定的接收刀片的刀片优先级,保持所述特定的接收刀片的从状态。
13.根据权利要求12所述的系统,其中,各个主声明消息进一步包含所述发送刀片的刀片标识,其中,所述比较(d1)、所述重复(e1)和所述设定(e2)包括:
(d1i)由所述特定的接收刀片判定从所述特定的主声明消息获得的刀片优先级等于所述特定的接收刀片的刀片优先级;
(d1ii)响应于判定从所述特定的主声明消息获得的刀片优先级等于所述特定的接收刀片的刀片优先级,判定从所述特定的主声明消息获得的刀片优先级在数值上是否小于所述特定的接收刀片的刀片优先级;
(e1i)响应于判定从所述特定的主声明消息获得的刀片优先级在数值上小于所述特定的接收刀片的刀片优先级,重复与接收的另一主声明消息的所述比较(d1);以及
(e2i)响应于判定所述特定的接收刀片的刀片优先级高于、或者等于并且在数值上小于从接收的各个其他主声明消息获得的刀片优先级,将所述特定的接收刀片的状态设定为所述新的主刀片。
14.根据权利要求8所述的系统,其中,所述发送(f)包括:
(f1)由所述多个刀片中的特定从刀片判定是否在第二预定时段内接收到所述第二虚拟应用交付机箱消息;以及
(f2)响应于由所述特定从刀片判定在所述第二预定时段内未接收到所述第二虚拟应用交付机箱消息,将所述特定从刀片的状态设定为所述新的主刀片,并且所述特定从刀片将所述第二虚拟应用交付消息发送至所述虚拟应用交付机箱中的其他刀片。
15.一种计算机可读存储介质,所述计算机可读存储介质具有计算机可读程序,其中,当在一个或多个计算机上执行所述计算机可读程序时使得所述计算机执行在虚拟应用交付机箱中选出主刀片的方法,该虚拟应用交付机箱包括多个刀片,所述方法包括:
(a)所述多个刀片中的各个刀片将虚拟应用交付机箱消息发送至所述虚拟应用交付机箱中的各个其他刀片;
(b)各个刀片判定是否在预定时段内接收到来自所述主刀片的所述虚拟应用交付机箱消息;
(c)响应于判定在所述预定时段内未接收到来自所述主刀片的所述虚拟应用交付机箱消息,各个刀片将主声明消息发送至所述虚拟应用交付机箱中的各个其他刀片,各个主声明消息包含发送刀片的刀片优先级;
(d)接收所述主声明消息的各个刀片判定从所接收的所述主声明消息获得的所述刀片优先级中是否有高于接收刀片的刀片优先级的刀片优先级;
(e)响应于由特定的接收刀片判定从接收的所述主声明消息获得的所述刀片优先级都不高于所述特定的接收刀片的刀片优先级,将所述特定的接收刀片的状态设定为新的主刀片;
(f)由所述特定的接收刀片将第二虚拟应用交付机箱消息发送至所述虚拟应用交付机箱中的其他刀片,所述第二虚拟应用交付机箱消息指示所述特定的接收刀片的新主刀片状态;
(g)添加新刀片至所述虚拟应用交付机箱;
(h)由所述新刀片将第二主声明消息发送至所述虚拟应用交付机箱中的各个其他刀片;
(i)响应于接收到来自所述新刀片的所述第二主声明消息,所述各个其他刀片判定所述主刀片是否被标记为正确运行;以及
(j)响应于所述各个其他刀片判定所述主刀片被标记为正确运行,忽略所述第二主声明消息,否则执行所述发送(c)、所述判定(d)、所述设定(e)和所述发送(f)。
16.根据权利要求15所述的计算机可读存储介质,其中,所述多个刀片包括主刀片和一个以上从刀片,
其中,如果所述从刀片正在正确运行,则所述从刀片将所述虚拟应用交付机箱消息发送至所述虚拟应用交付机箱中的各个其他刀片,
其中,如果所述主刀片正在正确运行,则所述主刀片将所述虚拟应用交付机箱消息发送至所述虚拟应用交付机箱中的各个其他刀片。
17.根据权利要求15所述的计算机可读存储介质,其中,所述多个刀片包括主刀片和一个以上从刀片,其中,所述判定(b)进一步包括:
(b1)各个刀片判定是否在所述预定时段内接收到来自所述虚拟应用交付机箱的各个从刀片的所述虚拟应用交付机箱消息;
(b2)响应于判定在所述预定时段内未接收到来自特定的从刀片的虚拟应用交付机箱消息,接收该虚拟应用交付机箱消息的各个刀片将所述特定的从刀片标记为“故障”;以及
(b3)响应于判定在所述预定时段内接收到来自所述特定的从刀片的虚拟应用交付机箱消息,接收该虚拟应用交付机箱消息的各个刀片将所述特定的从刀片标记为正确运行。
18.根据权利要求15所述的计算机可读存储介质,其中,所述判定(d)和所述设定(e)包括:
(d1)所述特定的接收刀片将从特定的主声明消息获得的刀片优先级与所述特定的接收刀片的刀片优先级进行比较;
(e1)响应于判定所述特定的接收刀片的刀片优先级高于从所述特定的主声明消息获得的刀片优先级,重复与接收的另一主声明消息的所述比较(d1);以及
(e2)响应于判定所述特定的接收刀片的刀片优先级高于从接收的各个其他主声明消息获得的刀片优先级,将所述特定的接收刀片的状态设定为所述新的主刀片。
19.根据权利要求15所述的计算机可读存储介质,其中,所述判定(d)和所述设定(e)包括:
(d1)所述特定的接收刀片将从特定的主声明消息获得的刀片优先级与所述特定的接收刀片的刀片优先级进行比较;以及
(e1)响应于判定从所述特定的主声明消息获得的刀片优先级高于所述特定的接收刀片的刀片优先级,保持所述特定的接收刀片的从状态。
20.根据权利要求18所述的计算机可读存储介质,其中,各个主声明消息进一步包含所述发送刀片的刀片标识,其中,所述比较(d1)、所述重复(e1)和所述设定(e2)包括:
(d1i)由所述特定的接收刀片判定从所述特定的主声明消息获得的刀片优先级等于所述特定的接收刀片的刀片优先级;
(d1ii)响应于判定从所述特定的主声明消息获得的刀片优先级等于所述特定的接收刀片的刀片优先级,判定从所述特定的主声明消息获得的刀片优先级在数值上是否小于所述特定的接收刀片的刀片优先级;
(e1i)响应于判定从所述特定的主声明消息获得的刀片优先级在数值上小于所述特定的接收刀片的刀片优先级,重复与接收的另一主声明消息的所述比较(d1);以及
(e2i)响应于判定所述特定的接收刀片的刀片优先级高于、或者等于并且在数值上小于从接收的各个其他主声明消息获得的刀片优先级,将所述特定的接收刀片的状态设定为所述新的主刀片。
21.根据权利要求15所述的计算机可读存储介质,其中,所述发送(f)包括:
(f1)由所述多个刀片中的特定从刀片判定是否在第二预定时段内接收到所述第二虚拟应用交付机箱消息;以及
(f2)响应于由所述特定从刀片判定在所述第二预定时段内未接收到所述第二虚拟应用交付机箱消息,将所述特定从刀片的状态设定为所述新的主刀片,并且所述特定从刀片将所述第二虚拟应用交付消息发送至所述虚拟应用交付机箱中的其他刀片。
CN201210007259.XA 2011-01-11 2012-01-11 虚拟应用交付机箱系统 Active CN102708004B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201113004861A 2011-01-11 2011-01-11
US13/004,861 2011-01-11

Publications (2)

Publication Number Publication Date
CN102708004A CN102708004A (zh) 2012-10-03
CN102708004B true CN102708004B (zh) 2017-11-24

Family

ID=46456090

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210007259.XA Active CN102708004B (zh) 2011-01-11 2012-01-11 虚拟应用交付机箱系统

Country Status (5)

Country Link
US (5) US8266235B2 (zh)
EP (1) EP2663919B1 (zh)
JP (1) JP5948345B2 (zh)
CN (1) CN102708004B (zh)
WO (1) WO2012097015A2 (zh)

Families Citing this family (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7675854B2 (en) 2006-02-21 2010-03-09 A10 Networks, Inc. System and method for an adaptive TCP SYN cookie with time validation
US9960967B2 (en) 2009-10-21 2018-05-01 A10 Networks, Inc. Determining an application delivery server based on geo-location information
US9215275B2 (en) 2010-09-30 2015-12-15 A10 Networks, Inc. System and method to balance servers based on server load status
US9609052B2 (en) 2010-12-02 2017-03-28 A10 Networks, Inc. Distributing application traffic to servers based on dynamic service response time
EP2663919B1 (en) 2011-01-11 2019-07-03 A10 Networks Inc. Virtual application delivery chassis system
US9154577B2 (en) 2011-06-06 2015-10-06 A10 Networks, Inc. Sychronization of configuration file of virtual application distribution chassis
US8949431B2 (en) * 2011-08-24 2015-02-03 Radware, Ltd. Method for live migration of virtual machines
US8897154B2 (en) 2011-10-24 2014-11-25 A10 Networks, Inc. Combining stateless and stateful server load balancing
US9094364B2 (en) 2011-12-23 2015-07-28 A10 Networks, Inc. Methods to manage services over a service gateway
US10044582B2 (en) 2012-01-28 2018-08-07 A10 Networks, Inc. Generating secure name records
US9843484B2 (en) 2012-09-25 2017-12-12 A10 Networks, Inc. Graceful scaling in software driven networks
US10021174B2 (en) 2012-09-25 2018-07-10 A10 Networks, Inc. Distributing service sessions
US10002141B2 (en) 2012-09-25 2018-06-19 A10 Networks, Inc. Distributed database in software driven networks
WO2014052099A2 (en) 2012-09-25 2014-04-03 A10 Networks, Inc. Load distribution in data networks
US9531846B2 (en) 2013-01-23 2016-12-27 A10 Networks, Inc. Reducing buffer usage for TCP proxy session based on delayed acknowledgement
JP5956940B2 (ja) * 2013-02-13 2016-07-27 日本電信電話株式会社 冗長化システムおよび現用機決定方法
US9900252B2 (en) 2013-03-08 2018-02-20 A10 Networks, Inc. Application delivery controller and global server load balancer
WO2014144837A1 (en) 2013-03-15 2014-09-18 A10 Networks, Inc. Processing data packets using a policy based network path
US10038693B2 (en) 2013-05-03 2018-07-31 A10 Networks, Inc. Facilitating secure network traffic by an application delivery controller
EP3073683B1 (en) 2013-12-24 2019-05-29 Huawei Technologies Co., Ltd. Method, network device and value-added service device for deploying value-added service
US9942152B2 (en) 2014-03-25 2018-04-10 A10 Networks, Inc. Forwarding data packets using a service-based forwarding policy
US9942162B2 (en) 2014-03-31 2018-04-10 A10 Networks, Inc. Active application response delay time
US9961130B2 (en) 2014-04-24 2018-05-01 A10 Networks, Inc. Distributed high availability processing methods for service sessions
US10742559B2 (en) 2014-04-24 2020-08-11 A10 Networks, Inc. Eliminating data traffic redirection in scalable clusters
US9906422B2 (en) 2014-05-16 2018-02-27 A10 Networks, Inc. Distributed system to determine a server's health
US9992229B2 (en) 2014-06-03 2018-06-05 A10 Networks, Inc. Programming a data network device using user defined scripts with licenses
US9986061B2 (en) 2014-06-03 2018-05-29 A10 Networks, Inc. Programming a data network device using user defined scripts
US10129122B2 (en) 2014-06-03 2018-11-13 A10 Networks, Inc. User defined objects for network devices
WO2016099530A1 (en) * 2014-12-19 2016-06-23 Hewlett Packard Enterprise Development Lp Electronic form to collect a client requirement associated with network traffic management
JP6514001B2 (ja) * 2015-03-31 2019-05-15 株式会社メガチップス 受信装置
US10581976B2 (en) 2015-08-12 2020-03-03 A10 Networks, Inc. Transmission control of protocol state exchange for dynamic stateful service insertion
US10243791B2 (en) 2015-08-13 2019-03-26 A10 Networks, Inc. Automated adjustment of subscriber policies
US10318288B2 (en) 2016-01-13 2019-06-11 A10 Networks, Inc. System and method to process a chain of network applications
CN107819628B (zh) * 2017-11-16 2018-07-13 国网山东省电力公司 一种基于互逆环路备份的认证服务器逃生系统和方法
JP6611995B1 (ja) * 2018-10-29 2019-11-27 三菱電機株式会社 通信システム、通信装置、及びプログラム
US11082882B2 (en) * 2019-01-18 2021-08-03 Lg Electronics Inc. Method for transmitting quality of service state report by wireless node in wireless communication system and apparatus therefor
CN110716818B (zh) * 2019-09-30 2022-02-11 腾讯科技(深圳)有限公司 一种异常处理方法、装置、硬件保护设备及存储介质
US11323507B2 (en) * 2020-04-07 2022-05-03 Supercell Oy Server system and method of managing server system
GB2600089A (en) * 2020-10-07 2022-04-27 Metaswitch Networks Ltd Processing communication sessions

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1554055A (zh) * 2001-07-23 2004-12-08 �Ƚ�΢װ�ù�˾ 高可用性集群虚拟服务器系统
CN101019387A (zh) * 2005-01-17 2007-08-15 美国博通公司 网络用户优先级分配系统
US7451221B2 (en) * 2000-04-07 2008-11-11 Network Appliance, Inc. Method and apparatus for election of group leaders in a distributed network

Family Cites Families (104)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4475192A (en) 1982-02-16 1984-10-02 At&T Bell Laboratories Data packet flow control scheme for switching networks
JPS5948345A (ja) 1982-08-07 1984-03-19 ハインリツヒ・シユネル 帯状連続製品の巻取装置
US5042032A (en) 1989-06-23 1991-08-20 At&T Bell Laboratories Packet route scheduling in a packet cross connect switch system for periodic and statistical packets
JPH0644090A (ja) * 1992-07-27 1994-02-18 Toshiba Corp マスタスレーブ計算機システム及びマスタ選定制御方法
US5732041A (en) 1993-08-19 1998-03-24 Mmc Networks, Inc. Memory interface unit, shared memory switch system and associated method
US5822512A (en) * 1995-05-19 1998-10-13 Compaq Computer Corporartion Switching control in a fault tolerant system
US5859835A (en) 1996-04-15 1999-01-12 The Regents Of The University Of California Traffic scheduling system and method for packet-switched networks
US6134217A (en) 1996-04-15 2000-10-17 The Regents Of The University Of California Traffic scheduling system and method for packet-switched networks with fairness and low latency
US5935207A (en) 1996-06-03 1999-08-10 Webtv Networks, Inc. Method and apparatus for providing remote site administrators with user hits on mirrored web sites
US5960174A (en) * 1996-12-20 1999-09-28 Square D Company Arbitration method for a communication network
US5909686A (en) 1997-06-30 1999-06-01 Sun Microsystems, Inc. Hardware-assisted central processing unit access to a forwarding database
US6047000A (en) 1997-07-24 2000-04-04 The Hong Kong University Of Science & Technology Packet scheduling system
US6118768A (en) 1997-09-26 2000-09-12 3Com Corporation Apparatus and methods for use therein for an ISDN LAN modem utilizing browser-based configuration with adaptation of network parameters
US6359861B1 (en) 1997-10-08 2002-03-19 Massachusetts Institute Of Technology Method for scheduling transmissions in a buffered switch
JP3927714B2 (ja) 1997-12-31 2007-06-13 ユーティースターコム コリア リミテッド 予想型/保障型サービスを提供するためのトラフィック制御方法
US6058116A (en) 1998-04-15 2000-05-02 3Com Corporation Interconnected trunk cluster arrangement
US6532213B1 (en) 1998-05-15 2003-03-11 Agere Systems Inc. Guaranteeing data transfer delays in data packet networks using earliest deadline first packet schedulers
US6314501B1 (en) 1998-07-23 2001-11-06 Unisys Corporation Computer system and method for operating multiple operating systems in different partitions of the computer system and for allowing the different partitions to communicate with one another through shared memory
US6594701B1 (en) 1998-08-04 2003-07-15 Microsoft Corporation Credit-based methods and systems for controlling data flow between a sender and a receiver with reduced copying of data
US6580721B1 (en) 1998-08-11 2003-06-17 Nortel Networks Limited Routing and rate control in a universal transfer mode network
CA2245367A1 (en) 1998-08-19 2000-02-19 Newbridge Networks Corporation Two-component bandwidth scheduler having application in multi-class digital communication systems
US6970424B2 (en) 1998-11-10 2005-11-29 Extreme Networks Method and apparatus to minimize congestion in a packet switched network
US6654374B1 (en) 1998-11-10 2003-11-25 Extreme Networks Method and apparatus to reduce Jitter in packet switched networks
US6714517B1 (en) 1998-11-10 2004-03-30 Extreme Networks Method and apparatus for interconnection of packet switches with guaranteed bandwidth
US6560230B1 (en) 1999-02-01 2003-05-06 Redback Networks Inc. Packet scheduling methods and apparatus
US6470016B1 (en) 1999-02-09 2002-10-22 Nortel Networks Limited Servicing output queues dynamically according to bandwidth allocation in a frame environment
US6813268B1 (en) 1999-05-21 2004-11-02 Broadcom Corporation Stacked network switch configuration
JP4078755B2 (ja) 1999-06-02 2008-04-23 株式会社日立製作所 帯域監視方法
US6650641B1 (en) 1999-07-02 2003-11-18 Cisco Technology, Inc. Network address translation using a forwarding agent
US6532501B1 (en) 1999-09-30 2003-03-11 Silicon Graphics, Inc. System and method for distributing output queue space
US6577596B1 (en) 1999-11-30 2003-06-10 Telefonaktiebolaget Ln Ericsson (Publ) Method and apparatus for packet delay reduction using scheduling and header compression
US6735206B1 (en) 2000-01-10 2004-05-11 Sun Microsystems, Inc. Method and apparatus for performing a fast service lookup in cluster networking
US6922408B2 (en) 2000-01-10 2005-07-26 Mellanox Technologies Ltd. Packet communication buffering with dynamic flow control
US6735210B1 (en) 2000-02-18 2004-05-11 3Com Corporation Transmit queue caching
US6674721B1 (en) 2000-03-07 2004-01-06 Cisco Technology, Inc. Method and apparatus for scheduling packets being sent from a component of a packet switching system
US6940861B2 (en) 2000-03-14 2005-09-06 General Instrument Corporation Data rate limiting
JP4484317B2 (ja) 2000-05-17 2010-06-16 株式会社日立製作所 シェーピング装置
US6765915B1 (en) 2000-05-25 2004-07-20 Conexant Systems, Inc. Packet communication scheduling with hierarchical tunnels
JP3640160B2 (ja) 2000-07-26 2005-04-20 日本電気株式会社 ルータ装置及びそれに用いる優先制御方法
US20020075875A1 (en) 2000-09-22 2002-06-20 Narad Networks, Inc. Broadband system with transmission scheduling and flow control
US6888806B1 (en) 2000-11-22 2005-05-03 Motorola, Inc. Method and system for scheduling packets for transmission from a wireless communication platform
US6785232B1 (en) 2000-11-27 2004-08-31 Orckit Communications Ltd. Rate control in transmission of packet data over an ATM network
US7236491B2 (en) 2000-11-30 2007-06-26 Industrial Technology Research Institute Method and apparatus for scheduling for packet-switched networks
JP3526269B2 (ja) 2000-12-11 2004-05-10 株式会社東芝 ネットワーク間中継装置及び該中継装置における転送スケジューリング方法
JP2002278787A (ja) * 2001-03-22 2002-09-27 Nec Corp マスタ/スレーブ動的構成制御方式
US20020188718A1 (en) * 2001-05-04 2002-12-12 Rlx Technologies, Inc. Console information storage system and method
US7139267B2 (en) 2002-03-05 2006-11-21 Industrial Technology Research Institute System and method of stacking network switches
TWI233734B (en) 2001-07-10 2005-06-01 Ind Tech Res Inst System and method of stacking network switches
US20030023898A1 (en) 2001-07-16 2003-01-30 Jacobs Dean Bernard Layered architecture for data replication
US20030158886A1 (en) 2001-10-09 2003-08-21 Walls Jeffrey J. System and method for configuring a plurality of computers that collectively render a display
US6934864B2 (en) * 2002-01-11 2005-08-23 International Business Machines Corporation System and method for co-operative thermal management of electronic devices within a common housing
US7188160B2 (en) 2002-01-22 2007-03-06 Ericsson Ab Method and apparatus for updating network device configuration information in a network management system
US6892309B2 (en) 2002-02-08 2005-05-10 Enterasys Networks, Inc. Controlling usage of network resources by a user at the user's entry point to a communications network based on an identity of the user
US7421478B1 (en) * 2002-03-07 2008-09-02 Cisco Technology, Inc. Method and apparatus for exchanging heartbeat messages and configuration information between nodes operating in a master-slave configuration
JP2003345640A (ja) * 2002-05-28 2003-12-05 Mitsubishi Electric Corp データベースバックアップシステム
TWI231424B (en) * 2002-06-28 2005-04-21 Quanta Comp Inc Management and preparation system of blade server
US20060164987A1 (en) 2002-07-18 2006-07-27 Carles Ruiz Floriach Adaptive dropping of prioritized transmission packets
US7154886B2 (en) * 2002-07-22 2006-12-26 Qlogic Corporation Method and system for primary blade selection in a multi-module fiber channel switch
AU2002334572A1 (en) 2002-09-06 2004-03-29 Infineon Technologies Ag Configurable fast ethernet and gigabit ethernet data port
US7765299B2 (en) * 2002-09-16 2010-07-27 Hewlett-Packard Development Company, L.P. Dynamic adaptive server provisioning for blade architectures
CA2404191A1 (en) 2002-09-19 2004-03-19 Alcatel Canada Inc. Methods and apparatus for configuration change management in communications networks
US7523184B2 (en) 2002-12-31 2009-04-21 Time Warner Cable, Inc. System and method for synchronizing the configuration of distributed network management applications
US7330999B2 (en) * 2003-04-23 2008-02-12 Dot Hill Systems Corporation Network storage appliance with integrated redundant servers and storage controllers
US7379460B2 (en) 2003-06-06 2008-05-27 Intel Corporation Packet processing system
US7567504B2 (en) 2003-06-30 2009-07-28 Microsoft Corporation Network load balancing with traffic routing
US7636917B2 (en) 2003-06-30 2009-12-22 Microsoft Corporation Network load balancing with host status information
US20060031506A1 (en) 2004-04-30 2006-02-09 Sun Microsystems, Inc. System and method for evaluating policies for network load balancing
US7660824B2 (en) 2004-05-20 2010-02-09 Bea Systems, Inc. System and method for performing batch configuration changes
US7624163B2 (en) 2004-10-21 2009-11-24 Apple Inc. Automatic configuration information generation for distributed computing environment
US20060101372A1 (en) 2004-11-10 2006-05-11 Dell Products L.P. Method, system, and software for determining platform management functionality
US8458467B2 (en) * 2005-06-21 2013-06-04 Cisco Technology, Inc. Method and apparatus for adaptive application message payload content transformation in a network infrastructure element
US7917624B2 (en) 2004-11-18 2011-03-29 Sanjay M. Gidwani Wireless network having control plane segregation
US7725934B2 (en) * 2004-12-07 2010-05-25 Cisco Technology, Inc. Network and application attack protection based on application layer message inspection
JP4239987B2 (ja) * 2005-02-24 2009-03-18 ブラザー工業株式会社 ネットワークシステム、デバイス、およびプログラム
US7552202B2 (en) 2005-03-10 2009-06-23 International Business Machines Corporation System and method to uniquely identify identically configured branches in a distributed enterprise
TWI277324B (en) 2005-10-19 2007-03-21 Ind Tech Res Inst Network packet storage method and network packet transmitting apparatus using the same
JP2007257023A (ja) * 2006-03-20 2007-10-04 Nec Corp サーバ多重化システムおよびサーバ多重化方法
US7797412B2 (en) 2006-10-25 2010-09-14 Oracle America Inc. Method and system for managing server configuration data
JP5366177B2 (ja) * 2007-05-18 2013-12-11 Necインフロンティア株式会社 スロットインターフェースアクセス装置、その方法及びそのプログラム並びに主装置の冗長構成及び代替方法
US8028193B2 (en) * 2007-12-13 2011-09-27 International Business Machines Corporation Failover of blade servers in a data center
CN101252506B (zh) 2007-12-29 2012-07-04 中国建设银行股份有限公司 一种数据传输系统
US7849178B2 (en) * 2008-04-11 2010-12-07 International Business Machines Corporation Grid computing implementation
US7949893B1 (en) 2008-04-30 2011-05-24 Netapp, Inc. Virtual user interface failover
US7827296B2 (en) 2008-10-15 2010-11-02 Patentvc Ltd. Maximum bandwidth broadcast-like streams
US9621366B2 (en) * 2008-12-18 2017-04-11 Telefonaktiebolaget Lm Ericsson (Publ) Network node and method for controlling resources in a communication network
US8316113B2 (en) * 2008-12-19 2012-11-20 Watchguard Technologies, Inc. Cluster architecture and configuration for network security devices
US7738504B1 (en) * 2008-12-22 2010-06-15 The United States Of America As Represented By The Director National Security Agency Method of establishing and updating master node in computer network
JP5480291B2 (ja) 2008-12-30 2014-04-23 トムソン ライセンシング ディスプレイシステムの設定の同期化
US8037364B2 (en) * 2009-01-09 2011-10-11 International Business Machines Corporation Forced management module failover by BMC impeachment consensus
US8108503B2 (en) * 2009-01-14 2012-01-31 International Business Machines Corporation Dynamic load balancing between chassis in a blade center
CN101519078B (zh) 2009-03-13 2011-06-29 国电南瑞科技股份有限公司 综合监控系统多区域数据同步方法
US8122289B2 (en) 2009-04-09 2012-02-21 Telefonaktiebolaget L M Ericsson (Publ) Load balancing and high availability of compute resources
US8825889B2 (en) * 2009-05-11 2014-09-02 Hewlett-Packard Development Company, L.P. Network traffic rate limiting system and method
US9600341B2 (en) 2009-09-14 2017-03-21 Red Hat, Inc. Transaction sticky load balance policies
US20110075571A1 (en) * 2009-09-30 2011-03-31 Fang Hao Distributed virtual home agent for mobile internet protocol
US8862697B2 (en) 2009-12-31 2014-10-14 Aten International Co., Ltd. Intelligent network management platform for IKVM servers
JP5413514B2 (ja) 2010-08-11 2014-02-12 富士通株式会社 管理装置、情報処理装置、制御方法及びプログラム
EP2663919B1 (en) 2011-01-11 2019-07-03 A10 Networks Inc. Virtual application delivery chassis system
US8743885B2 (en) 2011-05-03 2014-06-03 Cisco Technology, Inc. Mobile service routing in a network environment
US9154577B2 (en) 2011-06-06 2015-10-06 A10 Networks, Inc. Sychronization of configuration file of virtual application distribution chassis
US8897154B2 (en) 2011-10-24 2014-11-25 A10 Networks, Inc. Combining stateless and stateful server load balancing
US10951726B2 (en) 2013-07-31 2021-03-16 Citrix Systems, Inc. Systems and methods for performing response based cache redirection
US9614745B2 (en) 2014-01-09 2017-04-04 Citrix Systems, Inc. Systems and methods for cloud-based probing and diagnostics
US9961130B2 (en) 2014-04-24 2018-05-01 A10 Networks, Inc. Distributed high availability processing methods for service sessions

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7451221B2 (en) * 2000-04-07 2008-11-11 Network Appliance, Inc. Method and apparatus for election of group leaders in a distributed network
CN1554055A (zh) * 2001-07-23 2004-12-08 �Ƚ�΢װ�ù�˾ 高可用性集群虚拟服务器系统
CN101019387A (zh) * 2005-01-17 2007-08-15 美国博通公司 网络用户优先级分配系统

Also Published As

Publication number Publication date
US20120297240A1 (en) 2012-11-22
US9477563B2 (en) 2016-10-25
US20160062855A1 (en) 2016-03-03
EP2663919A2 (en) 2013-11-20
US8849938B2 (en) 2014-09-30
EP2663919A4 (en) 2016-07-27
US20120179770A1 (en) 2012-07-12
WO2012097015A2 (en) 2012-07-19
JP5948345B2 (ja) 2016-07-06
JP2014510324A (ja) 2014-04-24
US8266235B2 (en) 2012-09-11
US20170013051A1 (en) 2017-01-12
CN102708004A (zh) 2012-10-03
WO2012097015A3 (en) 2012-10-04
US9838472B2 (en) 2017-12-05
US20180054478A1 (en) 2018-02-22
US10530847B2 (en) 2020-01-07
EP2663919B1 (en) 2019-07-03

Similar Documents

Publication Publication Date Title
CN102708004B (zh) 虚拟应用交付机箱系统
US12047244B2 (en) Method and system of connecting to a multipath hub in a cluster
Rayes et al. Internet of things from hype to reality
US11671898B2 (en) Systems and methods for routing data
US9591064B2 (en) Method and apparatus for dynamic provisioning of communication services
US12143454B2 (en) Systems and methods for data routing management
CN102984194B (zh) 虚拟应用程序分布机架的配置文件的同步方法及系统
EP2989545B1 (en) Defining interdependent virtualized network functions for service level orchestration
CN102571742A (zh) 基于服务器负载状态均衡服务器的系统和方法
US12229037B2 (en) Methods and systems for status determination
CN102027714A (zh) 基于目的地网络执行联网任务
CN102845027A (zh) 用于在diameter节点处提供优先级路由的方法、系统和计算机可读介质
US20150081782A1 (en) Method of autonomic representative selection in local area networks
CN101631089A (zh) 基于私网vpn的流量统计方法、设备和系统
CN103001891A (zh) 一种用于提升局域网整体服务质量的方法
JP4566200B2 (ja) トランザクションをサポートするための方法
US20100192075A1 (en) Network connection management using connection profiles
CN105915458A (zh) 用于执行最短路径桥接-协议无关多播交互的方法
KR101368210B1 (ko) 정책 기반 클라우드 서비스 브로커리지 시스템 및 이를 이용한 네트워크 서비스 방법
US20240080319A1 (en) Targeted notification in heterogenous network environments
US20160050080A1 (en) Method of autonomic representative selection in local area networks
CN106576113A (zh) 传播通信会话的通信感知
Press et al. Cisco CID Exam Certification Guide
Nigatu Maritime Transit Services Enterprise networking architecture

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant