发明名称 可容错的传输控制协议的实现方法
摘要 可容错的传输控制协议的实现方法属于因特网服务器和路由器中高可用TCP的技术领域,其特征在于它是一种把机群系统(Cluster)用作提供因特网服务的服务器,即机群服务器系统,而且它的上层容错应用系统与可容错的TCP状态的备份粒度保持一致的可容错的实现方法。它在需要进行TCP状态备份时上层容错应用系统同时备份一定数量过去的读写操作。这样,当应用程序在回滚恢复过程中重复进行套接字读写操作时可从备份的读写操作中返回相应的数据和结果从而避免了应用层次的逻辑错误。它不仅可用在机群服务器结构中提供高可用的数据服务,也可用于高可用的路由器设计。
申请公布号 CN1482773A 申请公布日期 2004.03.17
申请号 CN03109811.8 申请日期 2003.04.11
申请人 清华紫光比威网络技术有限公司;清华大学 发明人 李昭;徐恪;徐明伟;付立政
分类号 H04L12/28;H04L29/06;H04B1/74 主分类号 H04L12/28
代理机构 代理人
主权项 1、可容错的传输控制协议的实现方法,其特征在于,它是一种把机群系统(Cluster)用作提供因特网(Internet)服务的服务器,而且它的上层容错应用系统与可容错的传输控制协议(TCP)状态的备份粒度保持一致的可容错TCP的实现方法,它依次有如下步骤:(1)、把机群系统用作提供因特网服务的服务器,以构筑相应的上层容错应用系统:把机群系统中一部分节点作为与外部连接的连接节点(Connect node),连接节点的一个或多个网络接口与因特网连接,连接节点同时还与机群系统的内部交换系统(Switch Fabric)连接;另外一部分节点作为外部服务请求的响应节点(Compute node),响应节点只与机群系统的内部交换系统连接;连接节点在外部因特网和响应节点之间中转服务请求和响应数据,响应节点在获得连接节点转发来的请求后,进行相应的计算,再通过连接节点返回响应数据;它依次会有如下的步骤:(1.1)、建立实现容错TCP的硬件平台:它含有两个响应节点,一个连接节点,三个节点之间通过商品化的以太网实现节点间的互连,两个响应节点形成双机备份的硬件环境,其中,一个响应节点是另外一个活跃节点的备份节点;(1.2)、设立系统的状态标识,表示该容错TCP运行的响应节点状态:双机系统活跃状态(Active),该状态提供正常的计算服务,并且把当前的软件状态备份到另外一个响应节点;双机系统备份状态(Standby),该状态不提供计算服务,只从活跃节点获取并保存状态备份信息;单机系统工作状态(Oneworking),该状态提供正常的计算服务,不产生任何正常的软件状态备份信息;非工作状态(Noworking),该状态不做任何工作;(2)、上层容错应用系统对响应节点进行检查点(Check Point)状态备份,然后进行状态回滚恢复:其中,在进行TCP状态备份时,上层容错应用系统同时备份一定数量过去的套接字(Socket)读写操作,使得上层容错应用程序在回滚恢复过程中重复进行读写操作时避免在TCP上进行实际的数据读写操作,而是从备份的读写操作中返回相应的数据和结果,以防止应用层次的逻辑错误;(3)、容错TCP的实现依次含有如下几个步骤:(3.1)、响应节点上TCP的实现方法:一个TCP的控制块(TCB)对应一个响应节点上的TCP套接字连接,TCP任务接收来自其他系统的各种消息并把这些不同的输入全部转化为统一的信息,放在TCP任务的接收消息队列(TCP message queue)中,TCP消息处理任务不停地从消息队列中获取输入信息,根据消息的类型或者对TCB进行状态修改,或者产生一些输出;(3.2)、构建容错TCP的结构:它含有如下部分系统的状态标识:表示容错TCP运行的响应节点可能的状态:双机系统活跃状态,双机系统备份状态,单机系统工作状态和非工作状态;TCP消息队列:与普通TCP的消息队列相同,用于接收TCP的各种输入;TCP消息处理任务:在处理完每次消息后,根据当前响应节点的状态是否为双机活跃状态决定是否产生一个TCP连接状态备份消息,发送给备份节点上运行的容错TCP任务;TCB:若节点状态为双机活跃或单机工作状态,该TCB的作用与普通TCP中的TCB相同,若节点状态为双机备份状态,则该TCB的作用为TCP连接状态的数据备份;TCP备份消息队列:接收活跃节点发送来的TCP备份消息,该队列只在当前节点的状态为双机系统备份状态下有效;TCP备份消息处理任务:在当前活跃节点的状态为双机系统备份状态时,把TCP备份消息队列中的备份数据按照一定的规则写到TCB中;(3.3)、实现容错TCP任务:若当前节点的状态为双机系统活跃状态或单机系统工作状态,则TCP消息队列,TCP消息处理任务处于运转状态,备份消息队列和备份消息处理任务处于挂起状态;若当前节点处于双机备份状态,则备份消息队列,备份消息处理任务处于运转状态,TCP消息队列和TCP消息处理任务处于挂起状态;
地址 100084北京市海淀区清华大学东门外紫光大厦写字楼6楼