CN100591031C - 实现高可用性光纤信道交换机的方法和装置 - Google Patents

实现高可用性光纤信道交换机的方法和装置 Download PDF

Info

Publication number
CN100591031C
CN100591031C CN02828193A CN02828193A CN100591031C CN 100591031 C CN100591031 C CN 100591031C CN 02828193 A CN02828193 A CN 02828193A CN 02828193 A CN02828193 A CN 02828193A CN 100591031 C CN100591031 C CN 100591031C
Authority
CN
China
Prior art keywords
dog
watch
message
fibre channel
application
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
CN02828193A
Other languages
English (en)
Other versions
CN1650582A (zh
Inventor
马尔科迪·贝内代托
约翰·B·麦克尤恩
拉马纳·梅拉谢吕乌
乌梅什·马哈詹
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.)
Cisco Technology Inc
Original Assignee
Cisco Technology 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 Cisco Technology Inc filed Critical Cisco Technology Inc
Publication of CN1650582A publication Critical patent/CN1650582A/zh
Application granted granted Critical
Publication of CN100591031C publication Critical patent/CN100591031C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • 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/2097Error 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 maintaining the standby controller/processing unit updated
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • 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
    • 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/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • 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/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • H04L67/5682Policies or rules for updating, deleting or replacing the stored data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • 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/1675Temporal synchronisation or re-synchronisation of redundant processing components
    • 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/2038Error 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 with a single idle spare processing component
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5603Access techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Hardware Redundancy (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Optical Communication System (AREA)
  • Yarns And Mechanical Finishing Of Yarns Or Ropes (AREA)
  • Preliminary Treatment Of Fibers (AREA)
  • Chemical Or Physical Treatment Of Fibers (AREA)

Abstract

可以使用冗余监控器来实现存储区域网络中的光纤信道交换机的高可用性。活动监控器可以识别与消息相关联的高可用性特性,并确定所述消息是否应被镜像映射到冗余监控器上、记入日志和/或设为持久。消息可被记日志到待处理事务缓冲区中,并使用持久性存储服务来存储。可以使用同步队列来执行镜像映射,所述同步队列使得消息能够被异步地传递到冗余监控器,同时保持监控器之间的完全同步并几乎不对活动监控器的操作造成延迟。

Description

实现高可用性光纤信道交换机的方法和装置
技术领域
本发明涉及光纤信道网络交换机。更具体而言,本发明涉及为存储区域网络(storage area network)中的光纤信道交换机实现高可用性(highavailability)的方法和装置。高可用性包括诸如镜像映射、记日志、持久性、应用的重初始化,以及切换(switchover)之类的服务。
背景技术
存在于光纤信道网络中的高可用***是非常有限的。光纤信道存储区域网络的高可用性的一种形式是路由冗余。当一个诸如服务器之类的第一存储区域网络实体试图将一条消息发送到一个诸如光纤信道结构(fiberchannel fabric)中的磁盘阵列之类的第二存储区域网络实体时,所述消息传送通过所述光纤信道结构中的多个交换机。如果一个特定的交换机发生故障,则相邻的交换机可以识别出该故障,并沿替代路由传送所述消息。替代路由可绕过发生故障的交换机以维持网络操作。然而,不是总可以绕过发生故障的交换机。在一个例子中,发生故障的交换机可能直接连接到目标磁盘阵列,而可能没有到目的地的替代路由。绕过发生故障的交换机还可能扰乱光纤信道网络的操作。通过当前不得不承载额外流量的那些交换机的流量可能会减慢。整个结构的总带宽可能会降低。
许多其它高可用***无法保留状态信息,这导致网络操作缓慢,或导致应用的重初始化。
因此,希望提供用于在光纤信道交换机中提供高可用性、并且针对上述局限性中的一些或全部而改进高可用***的方法和装置。
发明内容
可以使用冗余监控器来实现存储区域网络中的光纤信道交换机的高可用性。活动监控器可以识别与消息相关联的高可用性特性,并确定所述消息是否应被镜像映射到冗余监控器上、记入日志和/或设为持久性的。消息可被记日志到待处理事务缓冲区中,并使用持久性存储服务来存储。可以使用同步队列来执行镜像映射,所述同步队列使得消息能够被异步地传递到冗余监控器,同时保持监控器之间的完全同步并几乎不对活动监控器的操作造成延迟。
根据一个实施例,提供了一种用于在存储区域网络中的光纤信道交换机中实现高可用性的方法。在第一应用处识别消息,所述第一应用运行在光纤信道交换机中的活动监控器上。确定与所述消息相关联的高可用性特性。高可用性特性提供用于使第二应用与所述第一应用同步的信息,所述第二应用运行在所述光纤信道交换机中的备用监控器上。当高可用性特性指示出所述消息应被镜像映射时,将所述消息提供给运行在所述备用监控器上的所述第二应用。
在一个例子中,还确定与所述消息相关联的预订者特性。预订者特性所提供的信息用于确定运行在所述活动监控器上的哪些应用已经预订了要接收所述消息。
在另一实施例中,提供了一种光纤信道交换机。该光纤信道交换机包括耦合到外部光纤信道网络实体的光纤信道线路卡,通过背板耦合到所述光纤信道线路卡的第一监控器以及耦合到所述第一监控器的第二监控器,其中所述第一监控器是活动监控器且所述第二监控器是备用监控器。所述第一监控器被配置为识别与来自所述外部光纤信道网络实体的、用于变更所述第一监控器状态的消息相关联的高可用性特性,并在所述消息被传递到所述第二监控器之前向所述外部光纤信道网络实体发送确认。
在本发明说明书的以下部分和附图中,将更详细地介绍本发明的这些及其它特征和优点,在附图中示例性地图示了本发明的原理。
附图说明
通过结合附图来参照以下描述,可以最好地理解本发明,附图是对本发明具体实施例的图示。
图1示出了可使用本发明技术的一个网络。
图2示出了可实现本发明技术的一个交换机。
图3示出了在光纤信道交换机上运行多种应用的活动监控器和冗余监控器。
图4示出了MTS(Message Transaction Services,消息事务服务)组件。
图5A-5B是示出活动监控器和备用监控器之间的事务的处理流程图。
图6是以前后紧接(lockstep)的方式示出活动监控器和备用监控器之间的消息传递的事务处理图。
图7是示出根据各个实施例,在活动监控器和备用监控器之间的消息传递的事务处理图。
图8是示出活动监控器上应用的重初始化的处理流程图。
图9是示出备用监控器上应用的重初始化的处理流程图。
图10示出了运行在监控器上的应用的可能状态。
具体实施方式
本发明涉及光纤信道结构中的安全性。更具体而言,本发明涉及在光纤信道结构中提供高可用***换机的方法和装置。
接下来将详细介绍本发明的一些具体实施例,其中包括发明人所构思的用于实施本发明的最佳模式。在附图中图示了这些具体实施例的例子。尽管本发明是结合这些具体实施例而描述的,但应当理解到,这并非意在将本发明局限于所描述的实施例。相反,希望覆盖被包括在由所附权利要求所定义的本发明的精神和范围之内的替代物、修改物和等同物。
例如,将会在特定的光纤信道交换机体系结构的上下文中对本发明的技术进行描述。然而应当注意的是,本发明的技术可被应用于具有许多不同的组件和***的多种不同的交换机体系结构。在以下描述中,阐述了大量具体细节以提供对本发明的透彻理解。没有这些具体细节中的一些或全部也可实施本发明。此外,并未详细描述公知的处理操作,以免不必要地模糊了本发明。
图1示出了可使用本发明技术的一个网络。光纤信道结构131可包括多个网络实体,例如交换机111和113以及一般服务提供者115,一般服务提供者115也可以是另一个交换机。这些交换机可被用来互连节点101、103、105和107。节点101、103、105和107可以是下述实体,例如服务器、磁带库、RAID(独立磁盘冗余阵列)、磁盘阵列或简单磁盘捆绑(JBOD)。图1所示的光纤信道体系结构是一种基于交换机的体系结构。然而应当注意的是,可以使用诸如仲裁环(arbitrated loop)和点到点之类的多种不同的体系结构来实现光纤信道网络。
在一个实施例中,光纤信道结构131是一个存储区域网络,其通过一个诸如光纤信道到IP网关121之类的设备连接到传统的IP网络141。光纤信道存储区域网络中的高可用性一般是通过使用替代性路由来保证的。当一个特定交换机发生故障时,被配置为穿过发生故障的交换机的流量被重路由到替代交换机。然而,将流量路由到替代交换机会造成扰乱,并降低存储区域网络中的可用带宽。根据各个实施例,提供了多种用于在单个光纤信道交换机中提供高可用性的技术。在此将用于使交换机变为高度可用的诸如冗余之类的机制称为高可用性。
图2示出了可被用来实现本发明技术的一个光纤交换机。光纤信道交换机201可包括一个或多个监控器(supervisor)211和213。在此将下述***称为监控器,所述***包括处理器及其自身的地址空间,所述地址空间可被用来在光纤信道结构中对消息进行定向。在一种具体实现中,监控器211被配置为活动的或主要的监控器,而监控器213被配置为备用的或备份的监控器,用于光纤信道交换机的高可用性。备份监控器可被配置为在活动监控器发生故障时承担光纤信道交换机201的操作。根据各个实施例,每个监控器都具有其自身的处理器、存储器和存储资源。
在一个实施例中,活动监控器211可以通过一个与背板(backplane)215无关的直接链路而与备用监控器213相连,或者这两个监控器可以通过与线路卡(line card)203、205和207共享的一个公共背板而相连。活动监控器211可通过背板接口逻辑231而连接到背板215,而备用监控器213可通过背板接口逻辑233而连接到背板215。根据各个实施例,背板215是以太网型的网络。线路卡203、205和207可以通过接口电路223、225和227以及背板215而与活动监控器211通信。背板215可为线路卡与监控器之间的所有流量提供通信通路。单独的线路卡203和207还可通过光纤信道(FC)端口243和247而耦合到外部光纤信道网络实体251和253。外部光纤信道网络实体251和253可以是下述节点,例如其它光纤信道交换机、磁盘、RAID、磁带库或服务器。
应当注意的是,交换机可以支持任意数量的线路卡和监控器。在一个实施例中,只有一个监控器连接到背板215,并且这一个监控器与许多不同的线路卡通信。
图3示出了图2所示的活动监控器和备用监控器。虽然活动监控器211和备用监控器213不一定相同,但是监控器211和213可包括多种类似的模块和组件。为避免混淆,接下来将更详细地描述与活动监控器211有关的各个组件和模块,应当理解到这些描述也适用于备用监控器213的相应组件和模块。
根据一个具体实施例,活动监控器211可被配置或设计为运行多个应用,例如路由应用321、域管理器应用325、***管理器应用327和公用应用323。根据一个实施例,路由应用321被配置为提供消息转发和路由功能。公用应用323可被配置为提供***时钟和时间截功能。域管理器应用325可被用来在光纤信道存储区域网络中分配域。各种监控器应用还可被配置为对于多个光纤信道协议层提供诸如服务质量(QoS)之类的功能。
***管理器可被配置为发起并监视各个应用。根据各个实施例,***管理器应用被用来发起监控器中的各种其它应用。***管理器还可以是唯一的清楚一个应用是位于活动监控器中还是备用监控器中的应用。在一种具体实现中,***管理器负责实现所述各个应用的高可用性策略。***管理器可以产生(spawn)进程,监视进程健康状况,并且只要有一个应用发生故障就重启动各个应用。***管理器还可以负责确定何时可能倾向于切换到备用监控器而非重启动应用。也就是说,***管理器可以确定故障的严重性,以确定是重启动应用还是将控制权从活动监控器转移到备用监控器。在一个例子中,任何希望启动应用的组件都通过***管理器来启动所述应用。
根据各个实施例,通过***管理器启动应用的请求包括应用到该特定应用上的高可用性策略。高可用性策略的一个例子是当进程或应用终止时不进行任何操作。这样,***管理器就无需在应用终止时重启动该应用。高可用性策略的另一个例子是重启动应用。如果对应用的重启动未持续长于预定秒数的时间,则停止重启动的尝试,转而尝试切换。***管理器随后可以将活动性切换到备用监控器。应当注意的是,应用可由***管理器在各种时刻启动,所述时刻例如是在引导序列(boot sequence)期间,或者是在接收到来自其它应用的显式请求的时候。
活动监控器211还可包括耦合到存储器315的处理器313。应当注意的是,为清楚起见而将组件描述成单数。本领域技术人员应当意识到,在此上下文以及其它上下文中,可以使用多个处理器和多种存储器格式,而仍落入本发明的范围当中。存储器315可以包括可由处理器313寻址的同步静态随机访问存储器(SDRAM)存储单元,用于存储可由组件访问的软件程序和数据结构。
监控器不仅包括存储器,而且还可包括持久性存储服务317,用于保存应用信息或***信息,例如状态信息,或者其它应用专用数据或***数据。应当注意的是,在此将任何被配置为提供对各个应用的持久性存储的服务都称为持久性存储服务。根据各个实施例,任何应用都可绑定到(bind to)与持久性存储服务317相关联的持久性表。在此将用于在光纤信道交换机中持久性地维护诸如状态信息之类的信息的数据结构和机制称为持久性表。
每个持久性表318都可与一个唯一的标识符相关联。当一个应用的第一实现版本(incarnation)试图绑定到一个与所述应用相关联的特定表时,该表可能还不存在,而是随后由持久性存储服务317创建。然后,与所述特定应用相关联的持久性表318可在所述应用的运行期间被填充。如果应用崩溃(crash)或以其它方式终止,则持久性表318可以保持不变。然后,所述应用的下一实现版本可以试图绑定到同一个表。所述绑定的结果是,新产生的应用可以访问由所述应用的先前实现版本存储在现有的持久性表318中的数据。
在一个例子中,持久性表使得新产生的应用可以立即访问由所述应用的先前实现版本所存储的状态信息。这可以允许新产生的应用继续操作而不会中断。应当注意的是,持久性表无需具有特定的表格式。例如,持久性表可以是文本数据文件或原始数据文件。此外,持久性存储服务317本身不需要知道存储在持久性表318中的是什么。应当注意的是,可以用不同于每个应用的运行时数据库的方式来组织持久性表。根据各个实施例,持久性表可以提供用于对多个运行时数据库的信息进行补充的信息。
活动监控器211还可包括耦合到冗余和高可用性(HA)管理器311的冗余驱动器335。冗余驱动器335可耦合到备用监控器中的冗余驱动器385。可使用各种硬件信号来传达每个***的可用性。
根据各个实施例,活动监控器还可包括MTS 331。在此,用于在活动监控器的多个应用之间传递消息,以及用于在活动监控器和备用监控器之间传递消息的任何机制都被称为MTS。
本领域技术人员将会意识到,多个应用可以使用一般称为套接口(socket)和消息队列的现有机制来彼此通信。在一种使用套接口的实现中,在内核存储器空间中分配了一个缓冲区。希望向另一应用发送消息的应用将所述消息从应用空间拷贝到内核空间中的所述缓冲区。然后,将所述消息从所述内核缓冲区拷贝到与目的地相关联的目标缓冲区中。然而,套接口有若干缺点。从应用空间到内核空间以及回到应用空间的消息拷贝是一种资源密集型的处理。此外,套接口是一种点到点的机制,其一般只允许单个应用与另外一个应用通信。而且套接口是临时的。即,如果套接口存在任何问题,信息就丢失了。在套接口体系结构中,难以恢复由于各个套接口的问题而导致丢失的消息。
多个应用彼此通信的另一种机制一般被称为消息队列。在内核空间中分配了一个全局缓冲区。来自应用的消息被拷贝到该全局缓冲区中。如果一个应用终止,则只要所述全局缓冲区存在,所述消息就存在。然而,消息队列仍旧只允许单个应用与另外一个应用通信。
根据各个实施例,本发明的技术提供了MTS 331,该MTS 331为一个应用与一个或多个目标应用之间的任何通信分配了一个消息队列339。MTS 331还允许各监控器之间的通信。消息队列339可以是一个允许多个目标应用进行访问的全局队列。在一个例子中,消息队列339提供了到域管理器325和公用应用323的引用,允许这两个应用访问消息队列339中的消息。消息队列339中的所述消息无需被拷贝到目标应用。MTS 331还提供了一个待处理事务缓冲区337,用于保存下述消息,所述消息已在消息队列339中被访问,但还未被与应用相关联的特定线程所处理。
在一个例子中,待处理事务缓冲区337保存下述消息,所述消息已从消息队列339中出队,但还未在应用空间中被所有能够访问所述消息的应用所处理。MTS 331还包括同步队列333,其使得在活动监控器211中处理的消息可以异步地与备用监控器213同步。即,消息被同步到备用监控器,而没有引起活动监控器上的操作延迟。在典型的实现中,如果活动监控器从外部实体接收到一条消息,则活动***在所述消息被转发到备用***,并且活动***从备用***接收到响应之前,不会对所述外部实体进行响应。然而,这种纯同步技术在等待来自备用***的响应的期间延迟了活动***的操作。
根据本发明的技术,活动监控器可以立即对外部实体进行响应,而不必等待来自备用监控器的响应,同时仍通过使用同步队列在活动监控器和备用监控器之间提供同步。下面将提供关于MTS和同步队列的更多细节。
如上所述,MTS 331被配置为允许一个应用与监控器内的多个应用通信,还允许不同的监控器彼此通信。MTS 331还可被配置为提供高可用***。例如,为了提供高可用***,MTS 331识别每条消息的高可用性特性。图4示出了消息401可能具有的高可用性特性。消息可能是持久性的403、被记入日志的405以及被镜像映射的407。在此将用于提供高可用***的任何特性称为高可用性特性。
持久性消息一般是导致状态改变的消息。例如,域无效化消息可能导致运行在活动监控器上的各个应用的状态发生改变。如果在消息仍处于消息队列中期间,一个应用将要崩溃,则希望所述消息能持久到足以通过所述应用的崩溃和重启动的过程。如果所述消息不是持久性的,那么应用将会崩溃,而该应用的下一实现版本将无法接收状态变更事件,并因而可能具有与其它实体不同的状态。
日志消息一般是导致持久性表更新的消息。在一条消息从消息队列中出队之后,该消息可能不会被立即处理并提交给持久性表。如果一个应用在一条消息出队之后但在对持久性表进行更新之前崩溃,则该持久性表可能与外部实体的持久性表不一致。根据各个实施例,可被用来更新持久性表的消息被标记为日志。当应用终止时,日志消息保持不变,并且所述应用的将来实现版本可以访问所述已出队的消息并更新所述持久性表。
消息还可能具有镜像映射这一高可用性特性。如果一条消息可被镜像映射,则活动监控器上的MTS组件可以试图将该消息传递给备用监控器的MTS组件。而且,具有镜像映射这一高可用性特性的消息一般是导致状态改变或导致对持久性表进行更新的消息。具有持久性但不被镜像映射的消息的例子包括任何“获得”消息的请求。根据各个实施例,当一个应用将对某些数据的“获得”请求发送到一个服务器时,该服务器可能不得不应答,从而使所述消息成为持久性的,但该服务器不必同步所述信息。所获取的数据可被客户端用来更新表。被镜像映射但不被记入日志的消息可包括不改变服务器状态的消息。应当注意的是,对于同一消息,持久性和日志的选项对于服务器和客户端来说是独立存在的。
MTS组件还可被配置为识别被设置来接收消息队列中的某一消息的应用。如上所述,应用预订(subscribe to)感兴趣的特定消息。例如,公用应用可能预订与域更新有关的任何消息。MTS组件对与每个消息或消息类型相关联的有关的预订者特性进行跟踪。在此,用于识别哪些预订者被配置为接收特定消息的数据和信息被称为预订者特性。当接收到的通信具有特定的预订者特性,例如属于特定的消息类型时,MTS组件就将该消息转发给任何预订者。
图5A和5B是示出活动监控器和备用监控器之间的事务的处理流程图。图5A示出了发送者处的处理流程。在501,在共享的消息池中创建一条消息。在503,识别出全局和局部的发送者高可用性特性。根据各个实施例,消息与诸如上述的镜像映射、记日志和持久性之类的特性相关联。如果在505确定出所述消息具有镜像映射特性,则在521将所述消息异步地传递到备用监控器的MTS组件。根据一个实施例,使用同步队列来传递消息。下面将提供关于使用同步队列将消息传递到备用监控器的更多细节。
在509,确定所述消息是否具有记日志特性。如果确定出所述消息具有记日志特性,则在所述消息出队但还未被提交给持久性表时,在525将日志信息写入到待处理事务缓冲区中。在511,可以通过在预订者队列中创建到消息池中所述消息的引用,而将所述消息传递给各个预订者。
图5B示出了接收者处的处理流程。在551,抽取预订者队列中的第一引用。该引用使得预订者可以访问共享消息池中的一条消息。在553,识别诸如持久性和日志特性之类的高可用性特性。如果在557所述消息具有持久性特性,则在573将所述引用保持在所述队列中。如果在559所述消息具有记日志特性,则在575写日志信息,并且预订者可以继续在561使用所述消息来执行应用专用处理。在563,所述消息被丢弃。
图6是以前后紧接的方式示出活动监控器和备用监控器之间的消息传递的事务处理图。在601,诸如外部光纤信道交换机之类的外部实体将一条消息发送到活动监控器(在611)。为了保持同步操作,活动监控器并不向所述外部实体立即发送应答。相反,活动监控器在613处将所述消息转发给备用监控器(在621),以使备用监控器与活动监控器同步。在623,备用监控器将对所述消息的确认或应答发送到活动监控器(在615)。当接收到确认或响应时,活动监控器在617将确认或响应发送到外部实体(在603)。虽然此事务序列保持了活动监控器和备用监控器的完全同步,但因为活动监控器在向外部实体发送响应之前等待来自备用监控器的响应,所以增加了活动监控器的响应时间。对于外部实体来说,活动监控器的响应时间可能显得很长。
图7是示出根据本发明的技术,在活动监控器和备用监控器之间的消息传递的事务处理图。在701,外部实体将一条消息发送到活动监控器(在711)。活动监控器可在713生成MTS消息,并将其发送到同步队列(在721)。然后,活动监控器可以继续在715同步地将一个序号发送到备用监控器(在731)。
应当注意的是,当活动监控器将MTS消息发送到同步队列时,同步队列中可能有其它消息。同步队列保持来自活动监控器的消息的顺序。
在733,备用监控器可将对所述序号的确认发送到活动监控器(在717)。无需等待对接收到MTS消息的确认,活动监控器在719就可确认来自所述外部实体的消息(在703)。然后,可在一个稍后的时间将该MTS消息从同步队列(在723)转发到备用监控器(在735)。
虽然这减少了活动监控器的响应时间,但如果在外部实体接收到对消息的确认的时间和备用监控器接收到所述消息前的中间发生故障的话,则该方案可能导致结果不一致,。
这段故障期741可能导致状态的不一致,因为外部实体可能会以为备用监控器已接收到并确认了一条消息,而实际上备用监控器还未接收到该消息。为了解决故障期741的问题,活动监控器在713向备用监控器731发送提前通知,告诉备用监控器期待一条消息。在一个实施例中,活动监控器在715向备用监控器731发送序号,告诉备用监控器期待一条消息。如果一直未在735处接收到消息,则备用监控器可以执行某些维护操作。在一个例子中,备用监控器可以让外部实体重新发起序列。
图8是示出一个应用的带状态(stateful)初始化的处理流程图。在801,确定对于一个特定应用是否有可用的持久性信息或持久性表。如果确定出没有可用的持久性表,则在821,在没有状态信息的情况下将所述应用初始化。如果有可用的持久性表,则所述应用在803绑定到持久性表。应当注意的是,这里的持久性表是由所述应用的早先实现版本创建的。在805,从待处理事务缓冲区获取待处理事务。在807,纠正持久性表中的不一致。在809,可以用来自持久性表的信息来填充一个运行时数据库。在811,可以提交待处理的事务。然后在813,可以将消息队列中的消息出队。
图9是示出在备用***上的一个应用的带状态初始化的处理流程图。在901,确定持久性信息是否可用。如果没有可用的诸如持久性表信息之类的持久性信息,则在921,所述应用在没有状态信息的情况下初始化。在903,用活动***上的持久性数据库的快照来填充与所述应用相关联的运行时数据库。在905,可以用初始同步(initial synchronization)来填充备用***上的运行时数据库。在907,所述应用可以登记或预订以得到消息或事件。在一个例子中,所述应用向MTS组件登记或预订以得到消息或事件。在931,等待切换(switchover)。在切换时,所述应用可在909接收关于待处理事务的信息,并可在911完成或异常终止(abort)待处理事务。此时,备用***上的所述应用可在913进入活动状态。图9示出了一个能进行切换的应用的处理流程。根据各个实施例,一个应用可以落入几种高可用性状态中,所述高可用性状态例如是备用、等待恢复和活动状态。
图10示出了能进行切换的应用的可能状态。当一个应用运行在备用监控器上时,所述应用从备用模式1001开始。当应用处于备用模式1001时,其负责更新运行时上下文,使得其在发生切换时可用。根据各个实施例,所述更新是由与所述应用相对应的活动应用所驱动的。
可以使用活动持久性数据库的快照来构建初始运行时数据库,所述活动持久性数据库应请求而由持久性存储服务来同步。为了使快照一致,用到了相对应的活动应用。相对应的活动应用告诉持久性存储服务何时适于进行初始同步。从初始快照出发,备用模式中的应用可以使用事件来更新运行时数据库并更新持久性数据库。在一个实施例中,不允许对持久性数据库进行额外的同步。
当发生切换时,进入等待恢复状态1003。等待恢复状态1003是所有备用应用的同步点。如果活动监控器崩溃,则该活动监控器可能留下了一些待处理的工作。消息事务服务组件利用相关的相对应的活动应用来通知每个应用,还剩下何种未决的事务。备用应用可以确定是有足够的可用信息可用于向前执行并完成事务,还是事务已经失败。在此阶段中还可提交已完成的待处理事务。
当已在所有应用队列中排队了一个恢复完成事件时,每个备用应用就可进入近似活动状态1005。在此状态下,应用基本上是活动的,但其并非完全活动,因为在某些时间,所述应用将会接收到在生成者转到活动状态之前已生成的事件。在一个诸如后切换(post-switchover)事件之类的事件之后,所述应用进入活动状态1007。
在任何时候,应用都可能会具有迫使其终止的故障条件。当一个应用终止时,***管理器可以采取不同的动作。如果应用从备用状态1001终止,则备用***管理器可以尝试重启动该应用。如果给定数量的重启动尝试失败,则禁止高可用性。如果应用从等待恢复状态1003终止,则该应用的恢复阶段失败,并且所述应用无法对与其交互的其它应用进行适当的清理(clean up),因此整个***的状态可能变得不一致。***可以杀死
(kill)所有高可用性应用并全部重启动,或者可以重启动单个应用。如果应用从近似活动状态1005或活动状态1007终止,则可以使用可重启动应用的通常行为。
因为可以采用这种信息和程序指令来实现这里所描述的***/方法,所以本发明涉及包括用于执行这里所描述的各种操作的程序指令、状态信息等在内的机器可读介质。机器可读介质包括但不局限于:诸如硬盘、软盘、随机访问存储器(RAM)和磁带之类的磁介质;诸如CD-ROM盘之类的光介质;诸如光盘之类的磁光介质;以及被专门配置用来存储和执行程序指令的硬件设备,例如只读存储器设备(ROM)和RAM。本发明还可被包含在通过诸如无线电波、光路、电线等适当的介质传播的载波中。程序指令的例子既包括诸如由编译器生成的机器码,又包括含有可由使用解释器的计算机来执行的高级代码的文件。
尽管已经特别示出并参照其具体实施例而描述了本发明,但本领域技术人员将会理解到,在不脱离本发明的精神和范围的情况下,可以对所公开的实施例的形式和细节做出改变。因此,希望将本发明解释为包括落入其真正精神和范围之内的所有变形和等同物。

Claims (26)

1.一种用于在存储区域网络中的光纤信道交换机中实现高可用性的方法,该方法包括:
在第一应用处识别消息,所述第一应用运行在光纤信道交换机中的活动监控器上;
确定与所述消息相关联的高可用性特性,其中高可用性特性提供用于使第二应用与所述第一应用同步的信息,所述第二应用运行在所述光纤信道交换机中的备用监控器上;
当高可用性特性指示出所述消息应被镜像映射时,将所述消息提供给运行在所述备用监控器上的所述第二应用。
2.如权利要求1所述的方法,还包括确定与所述消息相关联的预订者特性,其中预订者特性提供下述信息,该信息用于确定运行在所述活动监控器上的哪些应用已经预订要接收所述消息。
3.如权利要求2所述的方法,还包括将所述消息提供给运行在所述活动监控器上的多个预订者。
4.如权利要求3所述的方法,其中将所述消息提供给所述多个预订者包括将所述消息拷贝到第一监控器共享缓冲区。
5.如权利要求3和4中任一项所述的方法,其中将所述消息提供给所述多个预订者包括向所述预订者提供对所述第一监控器共享缓冲区中的所述消息的引用。
6.如权利要求3所述的方法,还包括将所述消息提供给运行在所述备用监控器上的多个预订者。
7.如权利要求3所述的方法,其中将所述消息提供给所述多个预订者包括将所述消息拷贝到第二监控器共享缓冲区。
8.如权利要求7所述的方法,其中所述消息是从所述第一监控器被异步地拷贝到所述第二监控器。
9.如权利要求8所述的方法,其中在所述消息被拷贝到所述第二监控器之前,由所述第一应用发送对所述消息的确认。
10.如权利要求3所述的方法,其中,将所述消息提供给运行在所述备用监控器上的所述多个预订者包括向所述预订者提供对所述第二监控器共享缓冲区中的所述消息的引用。
11.如权利要求3所述的方法,其中高可用性特性涉及镜像映射、持久性和记日志。
12.如权利要求11所述的方法,还包括如果高可用性特性指示出所述消息应被记入日志,则维护第一监控器事务日志。
13.一种光纤信道交换机,包括:
耦合到外部光纤信道网络实体的光纤信道线路卡;
通过背板耦合到所述光纤信道线路卡的第一监控器,其中所述第一监控器是活动监控器;
耦合到所述第一监控器的第二监控器,其中所述第二监控器是备用监控器;
其中所述第一监控器被配置为识别与来自所述外部光纤信道网络实体的、变更所述第一监控器状态的消息相关联的高可用性特性,并在所述消息被传递到所述第二监控器之前向所述外部光纤信道网络实体发送确认。
14.如权利要求13所述的光纤信道交换机,其中所述第一监控器还被配置为在将所述消息传递到所述第二监控器之前,将与所述消息相关联的提前通知发送到所述第二监控器。
15.如权利要求14所述的光纤信道交换机,其中所述提前通知是与所述消息相关联的序号。
16.如权利要求14所述的光纤信道交换机,其中在向所述外部光纤信道网络实体发送确认之前,同步地发送所述提前通知。
17.如权利要求16所述的光纤信道交换机,其中在所述消息被确认之后,异步地发送所述消息。
18.如权利要求14所述的光纤信道交换机,其中所述第二监控器被配置为使用所述提前通知来验证其内部状态的一致性。
19.如权利要求14所述的光纤信道交换机,其中所述第一监控器包括第一待处理事务缓冲区。
20.如权利要求19所述的光纤信道交换机,其中将所述消息拷贝到所述第一待处理事务缓冲区中,并将对所述消息的引用提供给运行在所述第一监控器上的第一组应用。
21.如权利要求20所述的光纤信道交换机,其中运行在所述第一监控器上的所述第一组应用是所述消息的预订者。
22.如权利要求20和21中任一项所述的光纤信道交换机,其中所述第二监控器包括第二待处理事务缓冲区。
23.如权利要求22所述的光纤信道交换机,其中将所述消息拷贝到所述第二待处理事务缓冲区中,并将对所述消息的引用提供给运行在所述第二监控器上的第二组应用。
24.如权利要求23所述的光纤信道交换机,其中运行在所述第二监控器上的所述第二组应用是所述消息的预订者。
25.如权利要求23所述的光纤信道交换机,其中如果所述消息的高可用性特性指示出所述消息应被镜像映射,则将所述消息拷贝到所述第二待处理事务缓冲区中。
26.一种用于在存储区域网络中的光纤信道交换机中实现高可用性的设备,该设备包括:
用于在第一应用处识别消息的装置,所述第一应用运行在所述光纤信道交换机中的活动监控器上;
用于确定与所述消息相关联的高可用性特性的装置,其中高可用性特性提供用于使第二应用与所述第一应用同步的信息,所述第二应用运行在所述光纤信道交换机中的备用监控器上;
用于在高可用性特性指示出所述消息应被镜像映射时,将所述消息提供给运行在所述备用监控器上的所述第二应用的装置。
CN02828193A 2001-12-21 2002-12-17 实现高可用性光纤信道交换机的方法和装置 Expired - Fee Related CN100591031C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/026,311 2001-12-21
US10/026,311 US7293105B2 (en) 2001-12-21 2001-12-21 Methods and apparatus for implementing a high availability fibre channel switch

Publications (2)

Publication Number Publication Date
CN1650582A CN1650582A (zh) 2005-08-03
CN100591031C true CN100591031C (zh) 2010-02-17

Family

ID=21831087

Family Applications (1)

Application Number Title Priority Date Filing Date
CN02828193A Expired - Fee Related CN100591031C (zh) 2001-12-21 2002-12-17 实现高可用性光纤信道交换机的方法和装置

Country Status (10)

Country Link
US (1) US7293105B2 (zh)
EP (1) EP1459487B1 (zh)
JP (1) JP2005539284A (zh)
KR (1) KR100954462B1 (zh)
CN (1) CN100591031C (zh)
AT (1) ATE337662T1 (zh)
AU (1) AU2002359739B2 (zh)
CA (1) CA2469757C (zh)
DE (1) DE60214234T2 (zh)
WO (1) WO2003061222A1 (zh)

Families Citing this family (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070094464A1 (en) * 2001-12-26 2007-04-26 Cisco Technology, Inc. A Corporation Of California Mirror consistency checking techniques for storage area networks and network based virtualization
US9009427B2 (en) 2001-12-26 2015-04-14 Cisco Technology, Inc. Mirroring mechanisms for storage area networks and network based virtualization
US20090259817A1 (en) * 2001-12-26 2009-10-15 Cisco Technology, Inc. Mirror Consistency Checking Techniques For Storage Area Networks And Network Based Virtualization
US20070094466A1 (en) * 2001-12-26 2007-04-26 Cisco Technology, Inc., A Corporation Of California Techniques for improving mirroring operations implemented in storage area networks and network based virtualization
US7386608B2 (en) * 2002-07-30 2008-06-10 Brocade Communications Systems, Inc. Fibre channel switch that aggregates registered state change notifications
US7583681B2 (en) * 2002-07-30 2009-09-01 Brocade Communications Systems, Inc. Method and apparatus for establishing metazones across dissimilar networks
US8320241B2 (en) 2002-07-30 2012-11-27 Brocade Communications System, Inc. Fibre channel network employing registered state change notifications with enhanced payload
EP1492006B1 (en) * 2003-06-24 2007-10-10 Research In Motion Limited Detection of out of memory and graceful shutdown
US20050089054A1 (en) * 2003-08-11 2005-04-28 Gene Ciancaglini Methods and apparatus for provisioning connection oriented, quality of service capabilities and services
US7539143B2 (en) * 2003-08-11 2009-05-26 Netapp, Inc. Network switching device ingress memory system
US7742401B2 (en) * 2003-08-11 2010-06-22 Netapp, Inc. Network having switchover with no data loss
CN100547583C (zh) * 2003-08-14 2009-10-07 甲骨文国际公司 数据库的自动和动态提供的方法
US20060064400A1 (en) * 2004-09-21 2006-03-23 Oracle International Corporation, A California Corporation Methods, systems and software for identifying and managing database work
US7953860B2 (en) * 2003-08-14 2011-05-31 Oracle International Corporation Fast reorganization of connections in response to an event in a clustered computing system
US7437460B2 (en) 2003-08-14 2008-10-14 Oracle International Corporation Service placement for enforcing performance and availability levels in a multi-node system
US7664847B2 (en) * 2003-08-14 2010-02-16 Oracle International Corporation Managing workload by service
US8365193B2 (en) * 2003-08-14 2013-01-29 Oracle International Corporation Recoverable asynchronous message driven processing in a multi-node system
US20050256971A1 (en) * 2003-08-14 2005-11-17 Oracle International Corporation Runtime load balancing of work across a clustered computing system using current service performance levels
US7552171B2 (en) * 2003-08-14 2009-06-23 Oracle International Corporation Incremental run-time session balancing in a multi-node system
US7441033B2 (en) 2003-08-14 2008-10-21 Oracle International Corporation On demand node and server instance allocation and de-allocation
US7516221B2 (en) * 2003-08-14 2009-04-07 Oracle International Corporation Hierarchical management of the dynamic allocation of resources in a multi-node system
US7437459B2 (en) * 2003-08-14 2008-10-14 Oracle International Corporation Calculation of service performance grades in a multi-node environment that hosts the services
US7535827B2 (en) * 2003-10-09 2009-05-19 Alcatel Lucent High availability of resources in telecommunications network using synchronized redundancy mechanism
CN1305265C (zh) * 2003-11-07 2007-03-14 清华大学 San***中基于负载自适应的异步远程镜像方法
US7376078B1 (en) * 2004-03-24 2008-05-20 Juniper Networks, Inc. Selective replay of a state information within a computing device
US7502824B2 (en) * 2004-08-12 2009-03-10 Oracle International Corporation Database shutdown with session migration
US9489424B2 (en) * 2004-12-20 2016-11-08 Oracle International Corporation Cursor pre-fetching
US7779418B2 (en) * 2004-12-30 2010-08-17 Oracle International Corporation Publisher flow control and bounded guaranteed delivery for message queues
US9176772B2 (en) 2005-02-11 2015-11-03 Oracle International Corporation Suspending and resuming of sessions
JP2006285448A (ja) * 2005-03-31 2006-10-19 Oki Electric Ind Co Ltd 冗長システム
DE102005044712B4 (de) 2005-09-19 2022-02-03 Airbus Operations Gmbh Avionikgeräteträgersystem mit Schnelleinbaugehäuse und Schnelleinbaumodulen
US9323311B2 (en) * 2006-06-22 2016-04-26 Broadcom Corporation Method and system for packet based signaling between A Mac and A PHY to manage energy efficient network devices and/or protocols
CN101403895B (zh) * 2008-11-13 2010-06-02 南京恩瑞特实业有限公司 高安全性冗余缓冲队列实现方法
US9165086B2 (en) 2010-01-20 2015-10-20 Oracle International Corporation Hybrid binary XML storage model for efficient XML processing
JP5494028B2 (ja) * 2010-03-09 2014-05-14 富士通株式会社 スイッチ装置
US8514856B1 (en) 2010-06-24 2013-08-20 Cisco Technology, Inc. End-to-end fibre channel over ethernet
CN101917231B (zh) * 2010-08-27 2013-10-09 华为技术有限公司 一种光纤通道交换机的数据缓存方法
WO2014105027A1 (en) * 2012-12-27 2014-07-03 Intel Corporation Reservation and execution image writing of native computing devices
US20150195167A1 (en) * 2014-01-03 2015-07-09 Horatio Lo Availability device, storage area network system with availability device and methods for operation thereof
US10474653B2 (en) 2016-09-30 2019-11-12 Oracle International Corporation Flexible in-memory column store placement
US12007941B2 (en) 2017-09-29 2024-06-11 Oracle International Corporation Session state tracking
CN110086666B (zh) * 2019-04-25 2022-04-26 深圳前海微众银行股份有限公司 一种告警方法、装置及***
US11936739B2 (en) 2019-09-12 2024-03-19 Oracle International Corporation Automated reset of session state

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5210871A (en) * 1988-07-15 1993-05-11 The Charles Stark Draper Labroatory, Inc. Interprocessor communication for a fault-tolerant, mixed redundancy distributed information processing system
US5655149A (en) * 1994-06-10 1997-08-05 Harris Corporation System for identifying a primary processor and non-primary processors after system reboot independent of processor positions and without using default primary processor identification
US5922077A (en) * 1996-11-14 1999-07-13 Data General Corporation Fail-over switching system
US6070251A (en) * 1997-06-26 2000-05-30 Sun Microsystems, Inc. Method and apparatus for high availability and caching data storage devices
US6003075A (en) * 1997-07-07 1999-12-14 International Business Machines Corporation Enqueuing a configuration change in a network cluster and restore a prior configuration in a back up storage in reverse sequence ordered
US6338110B1 (en) * 1997-11-14 2002-01-08 Sun Microsystems, Inc. Partitioning of storage channels using programmable switches
US7430164B2 (en) * 1998-05-04 2008-09-30 Hewlett-Packard Development Company, L.P. Path recovery on failure in load balancing switch protocols
US6427163B1 (en) * 1998-07-10 2002-07-30 International Business Machines Corporation Highly scalable and highly available cluster system management scheme
US6724756B2 (en) * 1999-01-12 2004-04-20 Cisco Technology, Inc. Method for introducing switched virtual connection call redundancy in asynchronous transfer mode networks
TW454120B (en) 1999-11-11 2001-09-11 Miralink Corp Flexible remote data mirroring
US7203732B2 (en) * 1999-11-11 2007-04-10 Miralink Corporation Flexible remote data mirroring
US6601187B1 (en) * 2000-03-31 2003-07-29 Hewlett-Packard Development Company, L. P. System for data replication using redundant pairs of storage controllers, fibre channel fabrics and links therebetween
US6876652B1 (en) * 2000-05-20 2005-04-05 Ciena Corporation Network device with a distributed switch fabric timing system
US6816905B1 (en) * 2000-11-10 2004-11-09 Galactic Computing Corporation Bvi/Bc Method and system for providing dynamic hosted service management across disparate accounts/sites
CA2387550A1 (en) 2000-08-07 2002-02-14 Inrange Technologies Corporation Fibre channel architecture
US7275100B2 (en) * 2001-01-12 2007-09-25 Hitachi, Ltd. Failure notification method and system using remote mirroring for clustering systems
US7437071B2 (en) * 2001-03-18 2008-10-14 Cisco Technology, Inc. Distributive optical switching control system
EP1381977A1 (en) * 2001-04-26 2004-01-21 Creekpath Systems, Inc. A system for global and local data resource management for service guarantees
WO2003001395A2 (en) * 2001-06-25 2003-01-03 Marathon Technologies Corporation Fault tolerant processing
US6931487B2 (en) * 2001-10-22 2005-08-16 Hewlett-Packard Development Company L.P. High performance multi-controller processing

Also Published As

Publication number Publication date
AU2002359739B2 (en) 2008-02-14
CN1650582A (zh) 2005-08-03
ATE337662T1 (de) 2006-09-15
JP2005539284A (ja) 2005-12-22
EP1459487B1 (en) 2006-08-23
CA2469757C (en) 2009-02-03
AU2002359739A1 (en) 2003-07-30
DE60214234T2 (de) 2007-07-19
DE60214234D1 (de) 2006-10-05
US20030135642A1 (en) 2003-07-17
WO2003061222A1 (en) 2003-07-24
EP1459487A1 (en) 2004-09-22
CA2469757A1 (en) 2003-07-24
KR20040081438A (ko) 2004-09-21
KR100954462B1 (ko) 2010-04-23
US7293105B2 (en) 2007-11-06

Similar Documents

Publication Publication Date Title
CN100591031C (zh) 实现高可用性光纤信道交换机的方法和装置
US7711820B2 (en) High availability for intelligent applications in storage networks
US7702947B2 (en) System and method for enabling site failover in an application server environment
KR100599912B1 (ko) 복제 서버용 프로토콜
US7660949B2 (en) Exactly once cache framework
EP1437658B1 (en) Coordinating persistent status information with multiple file servers
US7219103B2 (en) System and method for data replication in a computer system
US7716525B1 (en) Low latency, high throughput data storage system
CN110297801A (zh) 基于容错fpga的事务***的正好一次事务语义
US9319267B1 (en) Replication in assured messaging system
US6061807A (en) Methods systems and computer products for error recovery of endpoint nodes
US7987154B2 (en) System, a method and a device for updating a data set through a communication network
JPH08212095A (ja) クライアントサーバ制御システム
CN108512753B (zh) 一种集群文件***中消息传输的方法及装置
US6625753B1 (en) Recovery facility for an SNA communication network
EP3167372B1 (en) Methods for facilitating high availability storage services and corresponding devices
JP2005502957A (ja) 厳密に一回のキャッシュフレームワーク
CN110351122A (zh) 容灾方法、装置、***与电子设备
JP2009217765A (ja) 複数宛先への同期送信方法、その実施システム及び処理プログラム
Ellenberg DRBD 8.0. x and beyond: Shared-disk semantics on a shared-nothing cluster
JPH11265361A (ja) 多重計算機システム、通信処理装置、トランザクション処理システム、トランザクション処理システム運転引き継ぎ方法、トランザクション処理システム運転引き継ぎプログラムを記録した記録媒体
JP5106648B2 (ja) 複数のインターネットサービスを多重化するサービス中継装置及びサービス中継方法
Friedman et al. Using group communication technology to implement a reliable andscalable distributed in coprocessor

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
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20100217

Termination date: 20201217

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