【技术实现步骤摘要】
本文所描述的示例一般涉及路由通过服务器和客户端之间的多线程程序生成的数据。
技术介绍
与客户端计算装置耦合的网络服务器日益地被布置成支持或主管(host)虚拟计算机(VM),其使多个操作系统和/或应用能够由单一计算平台来支持。同样地,当对于的服务器主管VM希望高有效性时,主VM(PVM)和次VM(SVM)可以各自地在分开的服务器或节点(例如在数据中心内)上被主管,并且它们的状态可以被复制。这种状态的复制可以提供环境无关、软件实现硬件故障容错解决方案用于“非停止服务”。在主管PVM的服务器经受硬件故障和/或PVM进入故障状态时,故障容错解决方案可以考虑SVM来接管(故障转移)。锁步是可以按指令复制VM状态的故障容错解决方案。例如,PVM和SVM并联执行用于确定性指令,但是锁步用于非确定性指令。然而,在处理多处理器(MP)实现时,锁步可以经受很大的开销,其中每个存储器存取可以是非确定性的。检查点是在以周期性时期复制PVM状态到SVM的另一种故障容错解决方案。对于检查点,为了保证成功的故障转移,全部的输出分组可以需要被缓冲直到成功的检查点已被完成。在VM环境中缓冲直到成功的检查点可以导致额外的网络等待时间和开销,归因于输出分组缓冲和频繁的检查点。粗粒度锁步(COLO)是仍有的另一个故障容错解决方案,其使用来自客户端的相同的请求/数据(输入)网络分组来使PVM和SVM都反馈。支持C ...
【技术保护点】
一种设备,包括:在服务器的电路,所述服务器经由多个传输控制协议(TCP)连接耦合到客户端,所述服务器布置成主管能够单独地执行第一应用的主或次虚拟机(VM);截取组件,用于由所述电路执行以截取从所述第一应用调用的第一和第二套接字应用接口(API),所述第一和第二套接字API布置成路由相应的第一和第二会话以用于通过来自所述多个TCP连接之中的相同TCP连接的期望输出,所述第一和第二会话由所述第一应用响应于从在所述客户端的第二应用接收的请求而生成;索引组件,用于由所述电路执行以使用对于所述第一和第二会话的相应第一和第二标识符信息来生成会话索引;以及重映射组件,用于由所述电路执行以重映射所述第一和第二会话以用于通过来自所述多个TCP连接之中的分开的TCP连接的实际输出,使得所述会话索引能够在所述客户端用来将所述第一和第二会话与所述相同TCP连接重组合以用于向所述第二应用的递送。
【技术特征摘要】
2014.09.15 US 14/4862701.一种设备,包括:
在服务器的电路,所述服务器经由多个传输控制协议(TCP)连
接耦合到客户端,所述服务器布置成主管能够单独地执行第一应用的
主或次虚拟机(VM);
截取组件,用于由所述电路执行以截取从所述第一应用调用的第
一和第二套接字应用接口(API),所述第一和第二套接字API布置
成路由相应的第一和第二会话以用于通过来自所述多个TCP连接之中
的相同TCP连接的期望输出,所述第一和第二会话由所述第一应用响
应于从在所述客户端的第二应用接收的请求而生成;
索引组件,用于由所述电路执行以使用对于所述第一和第二会话
的相应第一和第二标识符信息来生成会话索引;以及
重映射组件,用于由所述电路执行以重映射所述第一和第二会话
以用于通过来自所述多个TCP连接之中的分开的TCP连接的实际输
出,使得所述会话索引能够在所述客户端用来将所述第一和第二会话
与所述相同TCP连接重组合以用于向所述第二应用的递送。
2.如权利要求1所述的设备,包括:
所述截取组件通过介入由所述应用用来路由会话以用于通过所
述多个TCP连接向所述客户端的期望输出的套接字API的动态链接
库,用TCP去耦链接库来介入所述动态链接库;以及
所述重映射组件重映射所述第一和第二会话,包括使用所述TCP
去耦链接库以促使所述第一和第二会话通过所述分开的TCP连接被实
际输出到所述客户端。
3.如权利要求1所述的设备,所述截取组件截取所述第一和第二
套接字API包括所述截取组件基于与所述客户端的TCP数据交换或与
所述客户端的TCP连接设置之一来模仿所述第一和第二套接字API。
4.如权利要求3所述的设备,包括:
所述截取组件基于所述TCP连接设置来模仿所述第一和第二套接
字API,所述截取组件创建对于所述第一和第二套接字API的多个操
作系统(OS)套接字API并且指派所述多个OS套接字到所述分开的
TCP连接;以及
重映射所述第一和第二会话的所述重映射组件使用所述多个OS
套接字以促使所述第一和第二会话通过所述分开的TCP连接被实际输
出到所述客户端。
5.如权利要求4所述的设备,包括:
截取组件响应于与所述客户端的TCP拆除的文件结束(EOF)消
息而移除对于所述第一和第二套接字API的所述多个OS套接字。
6.如权利要求3所述的设备,包括:
截取组件基于所述TCP数据交换来模仿所述第一和第二套接字
API并且使用所述会话索引以寻址将所述第一和第二会话映射到指派
到所述分开的TCP连接的多个操作系统(OS)套接字API的固定映射
表;以及
所述重映射组件基于所述固定映射表来重映射所述第一和第二
会话以促使所述第一和第二会话通过所述分开的TCP连接被实际输出
到所述客户端。
7.如权利要求1所述的设备,所述截取组件基于所述应用有选择
地被选取用于截取而能够由所述主或次VM执行的另一个应用不被选
取用于截取来截取所述第一和第二套接字API。
8.如权利要求1所述的设备,所述第一和第二标识符信息包括指
派给用来生成所述第一会话的第一线程的第一线程名或标识符以及
指派给用来生成所述第二会话的第二线程的第二线程名或标识符。
9.如权利要求1所述的设备,所述第一和第二标识符信息包括含
有与所述第一会话的生成关联的第一英特网(IP)地址的第一协议栈
模式以及含有与所述第二会话的生成关联的第二IP地址的第二协议
栈模式。
10.一种在布置成主管能够单独执行应用的主或次虚拟机(VM)
的服务器的电路实现的方法,所述方法包括:
截取从所述应用做出的第一和第二套接字应用接口(API)调用,
所述第一和第二套接字API布置成路由相应的第一和第二会话以用于
通过来自耦合到所述服务器的客户端的多个TCP连接之中的相同传输
控制协议(TCP)连接的期望输出,所述第一和第二会话由所述应用
响应于从所述客户端接收的数据而生成;
使用对于所述第一和第二会话的相应第一和第二标识符信息来
生成会话索引;以及
重映射所述第一和第二会话以用于通过来自所述多个TCP连接之
中的分开的TCP连接的实际输出,使得所述会话索引能够在所述客户
端用来将所述第一和第二会话与所述相同TCP连接重组合。
11.如权利要求10所述的方法,包括:
截取所述第一和第二套接字API包括替代由所述应用用来路由会
话以用于通过所述多个TCP连接向所述客户端的期望输...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。