CN101005504A - 网络协议栈隔离方法和系统 - Google Patents
网络协议栈隔离方法和系统 Download PDFInfo
- Publication number
- CN101005504A CN101005504A CN200710001974.1A CN200710001974A CN101005504A CN 101005504 A CN101005504 A CN 101005504A CN 200710001974 A CN200710001974 A CN 200710001974A CN 101005504 A CN101005504 A CN 101005504A
- Authority
- CN
- China
- Prior art keywords
- request
- interface
- network
- protocol stack
- user
- 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.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/161—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
Abstract
本发明提供了一种用于从操作系统隔离网络协议栈的方法和网络体系结构。该网络体系结构可以包括:IO接口,其被安排为从用户应用接收消息/向用户应用传送消息。所述消息可携带目标为由特定协议层执行的高级通用网络设备命令,所述消息属于该协议。该网络体系结构可以进一步包括隔离的网络协议栈和IO部件,所述隔离的网络协议栈被安排为处理用于执行的高级命令,并且进一步被安排为从所述高级命令生成设备特定的命令,而所述IO部件被安排为执行所述设备特定的命令。
Description
技术领域
本发明一般地涉及计算机和处理器体系结构的领域。特别地,本发明涉及用于从操作系统隔离网络协议栈的方法和系统。
背景技术
在传统的网络栈中,应用通常通过激活系统调用从操作系统(OS)请求传送数据。OS通常使用简单的基于包的接口与底层网络适配器交互。该模型强加了例如用于上下文交换、中断处理、存储器复制和OS内部结果管理的高开销。对于高速网络,总体连网开销通常远高于留给由中央处理单元(CPU)进行应用处理的时间。
另一问题涉及当前计算机系统的稳健性。通常,每个设备驱动器作为被信任实体在OS内核中执行。OS内核、协议栈和设备驱动器都在同样的保护和资源域中执行。因此,驱动器的质量影响系统的可靠性,并且系统相当复杂并且难以测试和调整。
卸载适配器,例如iSCSI(互联网小型计算机系统接口)适配器和RDMA(远程直接存储器存取)适配器,试图通过将用于数据路径的TCP/IP协议的处理(即,不包括其他与IP有关的协议或TCP连接建立)移到适配器而解决上述问题并且改进计算机系统的性能。然而,这种欠载适配器通常被直接暴露给应用数据传送接口,所述应用数据传送接口不同于上述的网络适配器的简单的基于包的接口。例如,作为一种RDMA适配器,RNIC是向用户(consumer)提供RDMA服务的网络接口卡,其提供允许应用绕过OS并且直接向硬件部件或从硬件部件传送数据的异步接口,这消除了一些上述开销。
该解决方法的一个问题在于这种欠载适配器通常在该适配器上在定制硬件或嵌入的微代码中执行所有或大部分的传送控制协议(TCP)处理。因此,对于基于硬件的解决方案,协议实现不够灵活,因为TCP拥塞控制算法在不断地进步,并且一般而言与OS一起提供的TCP实现频繁地改变。此外,对于基于微代码的解决方案,性能通常受到嵌入式处理器的能力的限制,该嵌入式处理器通常滞后于主机CPU。
该解决方法的另一个问题在于其还使IO栈的结构变得复杂,因为引入了新类型的设备功能。例如,新设备可能使用在软件与硬件之间划分TCP处理的不同模型,其需要IO栈的不同对待。
有助于解决上述问题的另一种尝试是在多个OS映像间共享单个物理适配器。在虚拟化的或分区的系统例如使用对诸如存储器的资源的分区以给出多于一个操作系统的外观和功能的物理机器中,该解决方法通常是必要的。在诸如刀片服务器之类的通常共享IO节点的机器群集中,这种解决方法可能也是必要的,所述机器群集例如是由高速局域连网系统使用由单独的节点提供的以太网连接性连接的机器群集。
使用现有技术的系统,适配器共享对于上述两种类的型共享适配器都是困难的,因为其增加了硬件和软件的复杂性和/或性能开销。为了支持多OS,共享的适配器通常必须提供多个虚拟适配器接口(即,单个物理适配器假装为多个独立的适配器),从而每个OS可以使用单独的虚拟适配器。使用这种解决方法,适配器实现变得复杂,例如需要更多的寄存器/队列/等,虚拟接口之间的仲裁复杂,等等。
另一种解决方法是使用现有的适配器并通过软件中介部件将其虚拟化,该软件中介部件向OS提供单独的适配器接口的假象。在该情况下,性能开销增加,因为每个操作要通过该中介。
发明内容
本发明可以提供由至少一个用户应用和至少一个操作系统使用的网络体系结构。
该网络体系结构可以包括IO接口,其被安排为从用户应用接收消息和向用户应用传送消息。所述消息可携带目标为由特定协议层执行的高级通用(generic)网络设备命令,该消息属于该特定的协议。网络体系结构可进一步包括隔离的网络协议栈以及IO部件,该网络协议栈被安排为处理所述高级命令,并进一步被安排为从高级命令生成设备特定的命令,而该IO部件被安排为执行设备特定的命令。
根据本发明的另一个实施例还提供了一种用于使用隔离的网络协议栈执行用户的IO请求的计算机执行的方法。
该方法可以包括:将IO请求记入(post)IO接口;从IO接口读取IO请求;以及基于IO请求发起操作。当完成操作时,可在IO接口上提交响应,并且可以读取该响应。
根据本发明的另一个实施例还提供了一种计算机软件产品,其包括其中存储了计算机程序指令的计算机可读介质,所述指令在被计算机读取时使得计算机执行上述的方法。
附图说明
现在将仅作为示例参考附图来描述本发明的实施例,在附图中:
图1是根据本发明实施例的网络体系结构的逻辑视图的示意框图;
图2是根据本发明实施例的网络体系结构的示例性示意框图;以及
图3是根据本发明实施例的用于执行IO请求的方法的示例性流程图。
具体实施方式
概述
在下述的详细描述中,为了提供对本发明的全面了解阐述了众多特定的细节。然而,本领域的普通技术人员应该理解,可以在不具有这些特定细节的情况下实现本发明。在其他示例中,没有对公知方法、过程和部件进行详细描述从而不会模糊本发明。
申请人认识到为了解决上面在“背景技术”部分提到的问题,并且为了改进现有技术,可以从例如操作系统(OS)之类的应用执行环境中分离出协议栈,这将在下文中进行详细描述。此外,申请人定义了一种通用异步请求-响应协议,其可独立于指令集体系结构、IO附件类型和设备的特定细节,以允许应用/用户访问网络协议栈服务。贯穿本申请使用的术语“网络协议栈”描述了以软件或硬件实现的包,其独立于使用的数据链路的特定类型而向应用软件提供通用连网服务。取决于栈的实际位置,该协议可以用在大范围的平台上,用于大范围的传送。可通过上述协议提供的网络服务包括访问网络协议栈的不同层,从基于包的媒体访问控制(MAC)接口开始,通过诸如传送控制协议(TCP)或用户数据报协议(UDP)之类的不同类型的传送接口,到诸如文件传送协议(FTP)等上层协议接口。
对系统的逻辑描述
现在参考图1,其是根据本发明实施例的网络体系结构的逻辑视图的示意框图。
网络体系结构可包括用户应用10,其可以运行在主CPU联合体(CPUcomplex)上。用户可以使用请求/响应消息语义经由OS服务与隔离的网络协议栈20交互。该请求/响应消息机制可以使用不同互连来实现,例如使用共享存储器中的消息队列,该共享存储器例如是用户应用10和栈20二者都可访问的存储器。请求/响应消息的格式和内容不取决于不同的互连。
由来自用户应用10和OS服务的粗箭头标记的请求,可以通过IO接口12属于网络协议栈20的不同层。例如,请求可以属于MAC层(例如,以太网)、网络层(例如,IPv4)、传送层(例如,TCP)、以及/或者会话层(例如,iSCSI)。IO接口12可以例如确定该请求可应用于哪一层。因此,IO接口12可以将来自用户应用10的传入请求转换成可被传送给栈20的请求,下文将对此进行描述。同样,IO接口12可以转换来自可以运行在一个或多个机器上的不同类型或版本的OS的传入请求。因此,栈20可以被多个异类的用户应用和OS共享。
请求可以通过IO接口12传送给隔离的网络协议栈20,并且接着,经由IO功能30,相应的部件32,例如网络、存储设备、外设或其他部件可以处理它们。接着,可以将请求进一步传送给IO部件34以便执行。应该注意,可被传递给栈的请求可以是与IO部件无关的。
应该注意,对MAC层的访问是可选的,并且可以要求来自传入请求的特殊特权。
对于每一层,以下是可以支持的示例性请求:
数据传送请求,其可以提供关于数据缓冲区位置和长度的信息,以及关于数据传送方向的指示。换言之,用户应用10可以记入发送缓冲区或接收缓冲区。缓冲区内的数据可以包含对应栈层的净荷。对于MAC层,它也可以包括MAC头。对于无连接协议,例如IP,发送请求可以指定接收方的地址,并且类似地,可以与接收数据一起提供远程地址信息以记入接收请求。对于面向连接的协议,发送请求和接收请求都可以指定应该在其上传送数据的连接。可以为每个协议指定另外的控制信息。
控制请求,诸如:
■获取/设置在MAC层支持的帧格式;
■打开和配置TCP连接;等
每个请求还可以包括用来标识相关“逻辑适配器”部件32的信息,以及请求ID,其对栈可以是透明的,并且与对应的响应一起被传递回用户。
对于每个请求,当其完成时向用户应用传递回响应。它可以包括:标识原始请求所需要的信息,例如工作请求id;以及相关状态信息,例如误码、实际传送的数据的量等。
应该注意,隔离的网络协议栈可以使用不同层的硬件支持来实现。内部执行对使用隔离的网络协议栈的服务的应用或OS可以是透明的。特别地,在异类的系统例如具有不同类型的OS的系统上,为了支持新类型的卸载设备,不需要在每种类型的OS中改变协议。
系统描述
现在参考图2,其是根据本发明的实施例的网络体系结构的示例性示意框图。如上所示,网络体系结构可以包括用户应用10,其可以运行在主CPU联合体上。用户可以使用请求/响应消息语义与隔离的网络协议栈20交互。该请求/响应消息机制可以例如使用共享存储器中的消息队列来实现,该共享存储器例如是用户应用10和栈20二者都可访问的存储器。用户应用10可以使用基于异步队列的接口(ReqQ/RespQ)120(其可以是IO接口12的一部分)来分别向网络协议栈20和从网络协议栈20提交请求。应该注意,所述ReqQ/RespQ120可以由特定用户应用使用来访问多个栈,和/或访问由每个栈管理的多个连接。下面将详细描述ReqQ/RespQ接口120的示例性实现。
隔离的网络协议栈20可以包括例如传送控制引擎(TCE)16和流转化器(streamer)18部件,其可以是上述隔离的网络协议栈的硬件支持的一个例子。将首先简要描述该隔离的网络协议栈的示例性实现的功能。
TCE16可以是运行在通用中央处理单元(CPU)上的软件实体。TCE16可以控制网络协议栈,并且它基本上不执行数据移动。流转化器18可以是可加速数据移动任务并且仅执行最小限度的传送协议处理的硬件实体。应该注意,流转化器18可以包括嵌入式固件以执行其任务。数据移动可以由TCE16代表用户10来配置。流转化器18可以异步地与TCE16进行交互,例如它不需要终止其操作来等待TCE16的决定。该功能允许栈协议与主CPU例如主机的CPU或应用一起伸缩,因为辅助该功能的硬件不包括在主CPU变得更快时可能变成瓶颈的任何复杂处理。
现在返回参照基于ReqQ/RespQ异步队列的接口120,下面描述了一种示例性的实现。根据本发明的实施例,用户可以与隔离的网络协议栈通信。在图2示出的例子中,在特定用户与隔离的网络协议栈之间可能存在单个请求队列120,所述隔离的网络协议栈可用于服务于到远程主机的多个连接,所述远程主机例如是具有其自己的(任何体系结构的)网络栈和使用这些栈与用户10通信的应用的其他计算机系统。上文中定义了可以通过队列120传递给隔离的网络协议栈的命令的格式的例子,所述命令例如用于数据传送请求和控制请求。流转化器18可以与TCE16协作以向用户应用10提供网络加速语义。流转化器18可以负责处理所有的数据密集型操作,如在下面将更详细描述的那样。
如上文简要描述的,TCE16可以是实现隔离的网络协议栈解决方案的协议处理部分的软件部件。TCE16可以实现TCP协议的决策部分。例如, 非限制性地,TCE16可以运行在主CPU上,专用CPU上或专用虚拟主机(分区)上。流转化器18和TCE16可以使用异步双队列接口24来在解决方案的两部分之间交换信息。双队列接口24可以包括两个单向队列。命令队列(CmdQ)可以用来从TCE16向流转化器18传递信息。事件队列(EvQ)可以用来从流转化器18向TCE16传递信息。流转化器18和TCE16可以异步地工作,完全不需要在它们之间串行化和/或同步操作。体系结构没有对流转化器18和TCE16之间的处理/接口等待时间设置限制或做出假设。
如上所示,对于与隔离的网络协议栈20交互的应用或用户10,协议处理可以在TCE16的专用或逻辑分立的CPU上执行。TCE16可以是对称多处理器系统(SMP)上的物理分立的CPU、分区机器上的单独的分区,或者群集中的单独的节点。
根据本发明的该实施例,在TCE16代表用户应用处理用于数据传送的应用请求(例如TCE16可以将经由隔离的网络协议栈的IO接口12(请求队列120)接收的应用请求转换到流转化器特定的接口)后,流转化器18可以处理所述应用请求。另外,在诸如段丢失或段重排序之类的异常情况下,TCE16可以参与对请求的处理。在传送端,TCE16可以指示流转化器18重传数据,并且在接收端,TCE16可以指示流转化器18将数据从重新组装缓冲区28移出到由IO接口的请求队列中的条目指向的应用缓冲区。
根据本发明的某些实施例,可以允许隔离的网络协议栈访问应用数据缓冲区,并且因此当向/从栈传递数据时,不需要复制数据。在标题为“使用凭证的存储器保护和安全性的方法和系统”、被转让给相同受让人且申请日为同一日的美国专利申请(代理机构案卷号IL920050027US1)中描述了用于保护存储器访问的示例性方法。
如图2所示,隔离的网络协议栈可以向多个OS映像提供连网服务。这可以简化OS的结构,并且其可以节省根据现有技术的系统与包含在每个OS实例中的网络协议栈的增殖相关联的资源。
根据本发明的某些实施例,隔离的网络协议栈可以提供不同级别的适配器共享。例如,当启动栈20时,可以建立多个面向连接的协议设备,诸如“虚拟TCP设备”。因此,该栈可以被视为在不同协议级别的多个虚拟设备。根据系统特定的策略,可以向某些OS映像准许对特定设备的排他访问,从而得到某虚拟TCP设备。在其他情况中,单个物理设备被抽象为多个逻辑适配器,并且向OS准许对逻辑适配器的排他访问,作为虚拟设备。
到不同连接对象和逻辑适配器的划分可以以若干方式进行。例如,在虚拟LAN(VLAN)环境中,可以例如使用VLAN标签将单个物理适配器表示为多个虚拟MAC设备。每个虚拟的或物理的MAC设备可以与绑定到该MAC设备的多个虚拟IP设备相关联。
应该注意,例如通过使用如在标题为“使用凭证的存储器保护和安全性的方法和系统”、被转让给本发明的共同受让人的美国专利申请(代理机构案卷号IL920050028US1)中描述的用于保护IO设备的方法和系统保护每个连接对象和虚拟设备免受其他对象的干扰。因此,用户ID和设备的凭证可以用来保护每个连接对象。
数据流
现在参考图3,其是根据本发明的实施例的用于执行IO请求的方法的示例性流程图。通过示出从用户应用到IO设备的数据流来说明该方法。可以修改该示例性方法,例如可以一起传递多个操作请求。
最初,应用可以将IO请求记入(步骤300)IO接口。该请求可以包括用来标识协议实例(即,虚拟网络设备)、请求的操作和在该操作涉及数据传送情况下的数据缓冲区的信息。
隔离的网络协议栈可以从用户的请求队列读取(步骤302)请求。它可以进一步解释该请求以决定执行哪个操作和在哪个设备上执行,以及取决于可用的硬件、协议、连接类型等发起(步骤304)适当的设备特定的操作。
例如,对于TCP发送操作,隔离的网络协议栈可以读取用户数据并且将其发送到远程主机。因为TCP数据通常不能被立即发送,栈可以例如首先构建指向用户数据的内部数据结构(以便刚好在传输之前读取它),或者它可以将数据复制到中间缓冲区(以便在TCP“规则”允许时,从那些缓冲区直接进行传输)。
在完成操作之后,隔离的网络协议栈可以在IO接口响应队列中生成(步骤306)响应条目。用户可以读取(步骤308)该响应条目。此时,用户可以再次使用其数据缓冲区。
在以上描述中,为了提供对本发明的全面理解,提出了大量的特定细节。然而,本领域的普通技术人员将理解,可以在不具有这些特定细节的情况下实现本发明。在其他情况中,没有对公知电路、控制逻辑和用于常规算法和过程的计算机程序指令进行详细描述从而不会模糊本发明。
体现本发明的各方面的软件编程代码通常保持在持久存储设备例如计算机可读介质中。在客户机-服务器环境中,这种软件编程代码可以存储在客户机或服务器上。软件编程代码可以体现在各种已知的与数据处理系统一起使用的介质中的任何一种上。这包括磁的和光的存储设备,诸如磁盘驱动器、磁带、光盘(CD)、数字视频盘(DVD)、以及体现在具有或不具有其上调制了信号的载波的传输介质中的计算机指令信号,但是不限于此。例如,传输介质可以包括通信网络,诸如因特网。另外,尽管可以以计算机软件来实现本发明,但是作为替代,实现本发明必需的功能可以部分地或全部使用硬件部件或者硬件部件与软件的组合来实现,所述硬件部件可以是诸如专用集成电路或其他硬件。例如,流转化器18可以体现在计算机软件中,或者作为替代,部分地或全部使用硬件部件来实现。
本发明通常实现为计算机程序产品,包括一组用于控制计算机或类似设备的程序指令。可以提供这些指令以预装入系统中或记录在诸如CD-ROM之类的存储介质上,或者使得其可以通过诸如因特网或移动电话网的网络下载得到。
可以对前述实施例进行改进和修改,而不偏离本发明的范围。
本领域的普通技术人员应该明白本发明不限于上文已经具体示出的和描述的内容。相反,本发明的范围包括上文描述的特征的组合和子组合,以及其不属于现有技术的变化和修改,这些变化和修改是本领域的普通技术人员在阅读前文描述时会想到的。
Claims (15)
1.一种由至少一个用户应用和至少一个操作系统使用的网络体系结构,所述网络体系结构包括:
IO接口,其被安排为从所述用户应用接收消息和向所述用户应用传送消息,所述消息携带目标为由特定协议层执行的高级通用网络设备命令,所述消息属于所述特定协议;
隔离的网络协议栈,其被安排为处理所述用于执行的高级命令,并且进一步被安排为从所述高级命令生成设备特定的命令;以及
IO部件,其被安排为执行所述设备特定的命令。
2.根据权利要求1所述的网络体系结构,其中所述IO接口是异步接口,所述异步接口被安排为接收和传送请求/响应消息语义,并且其中在所述用户应用与所述IO接口之间传递的所述请求/响应来自第一类型,而在所述IO接口与所述隔离的网络协议栈之间传递的所述请求/响应来自第二类型。
3.根据权利要求2所述的网络体系结构,其中所述IO接口用于在所述至少一个用户应用与所述至少一个操作系统与所述隔离的网络栈协议之间通信,其中如果存在多个操作系统,则所述操作系统来自至少一种类型或版本。
4.根据权利要求3所述的网络体系结构,其中所述IO接口包括多个请求/响应接口,其中每个请求/响应接口由所述用户应用使用以访问一个或多个栈。
5.根据权利要求1所述的网络体系结构,其中所述请求是数据传送请求或控制请求。
6.根据权利要求1所述的网络体系结构,其中所述隔离的网络协议栈进一步包括:传送控制引擎(TCE),其被安排为控制所述隔离的网络协议栈;流转化器,其被安排为加速数据移动任务,并进一步被安排为处理所述用于执行的高级命令。
7.根据权利要求6所述的网络体系结构,其中所述流转化器和所述TCE被安排为经由双队列接口进行通信以交换控制信息。
8.根据权利要求1所述的网络体系结构,其中所述隔离的网络协议栈通过至少一个互连与所述至少一个用户应用和所述至少一个操作系统相连接。
9.根据权利要求5所述的网络体系结构,其中所述数据传送请求或所述控制请求由所述隔离的网络协议栈使用来提供对网络协议栈的不同层的访问,其中所述数据传送请求或所述控制请求的目标为所述隔离的网络协议栈中的特定虚拟设备,并且其中所述数据传送请求或所述控制请求实例化可应用于所述特定虚拟设备的特定网络协议。
10.根据权利要求9所述的网络体系结构,其中所述不同层中的任何一个包括以下各项中的至少任何一个:基于包的媒体访问控制(MAC)接口、传送控制协议(TCP)或用户数据报协议(UDP)传送接口,以及文件传送协议(FTP)上层协议接口。
11.一种用于使用隔离的网络协议栈执行用户的IO请求的、计算机实现的方法,所述方法包括:
将IO请求记入IO接口;
从所述IO接口读取所述IO请求;
基于所述IO请求发起操作;
向主机计算机传送数据/从主机计算机传送数据;
当在所述主机中完成所述操作时,在所述IO接口中记入响应;以及
读取所述响应。
12.根据权利要求11所述的方法,其中所述IO请求包括用来识别下述各项中任何一项的信息:协议实例、请求的操作、以及在所述操作涉及数据传送的情况下的数据缓冲区。
13.根据权利要求11所述的方法,其中所述记入所述IO请求进一步包括在所述用户的请求队列中记入所述IO请求。
14.根据权利要求11所述的方法,其中所述记入所述IO响应进一步包括在所述IO接口的响应队列上生成响应条目。
15.所述权利要求11所述的方法,其中所述IO请求是数据传送请求或控制请求。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/333,028 US20070168536A1 (en) | 2006-01-17 | 2006-01-17 | Network protocol stack isolation |
US11/333,028 | 2006-01-17 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101005504A true CN101005504A (zh) | 2007-07-25 |
CN101005504B CN101005504B (zh) | 2012-12-05 |
Family
ID=38264561
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200710001974.1A Active CN101005504B (zh) | 2006-01-17 | 2007-01-17 | 网络协议栈隔离方法和系统 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20070168536A1 (zh) |
JP (1) | JP5107570B2 (zh) |
CN (1) | CN101005504B (zh) |
TW (1) | TW200810461A (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9694903B2 (en) * | 2013-06-27 | 2017-07-04 | Airbus Operations (Sas) | Secure aircraft-based mobile device connectivity systems and methods |
US10546302B2 (en) | 2016-06-30 | 2020-01-28 | Square, Inc. | Logical validation of devices against fraud and tampering |
US10715536B2 (en) | 2017-12-29 | 2020-07-14 | Square, Inc. | Logical validation of devices against fraud and tampering |
US11507958B1 (en) | 2018-09-26 | 2022-11-22 | Block, Inc. | Trust-based security for transaction payments |
US11494762B1 (en) * | 2018-09-26 | 2022-11-08 | Block, Inc. | Device driver for contactless payments |
CN111294221B (zh) * | 2018-12-07 | 2023-03-03 | 网宿科技股份有限公司 | 一种基于haproxy的网络隔离配置方法及其装置 |
CN113596118B (zh) * | 2021-07-16 | 2023-07-21 | 上海淇玥信息技术有限公司 | 一种桥接两个隔离网域的通信方法、装置和电子设备 |
CN115086173B (zh) * | 2022-05-09 | 2023-10-31 | 阿里巴巴(中国)有限公司 | 网络升级过程中的可靠性保障方法和装置 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB9012970D0 (en) * | 1989-09-22 | 1990-08-01 | Ibm | Apparatus and method for asynchronously delivering control elements with pipe interface |
US6687762B1 (en) * | 1996-10-10 | 2004-02-03 | Hewlett-Packard Development Company, L.P. | Network operating system adapted for simultaneous use by different operating systems |
US5987530A (en) * | 1997-07-10 | 1999-11-16 | National Instruments Coporation | Method for caching data and generating only one read request to read the requested data and additional data in universal serial bus system |
US6075740A (en) * | 1998-10-27 | 2000-06-13 | Monolithic System Technology, Inc. | Method and apparatus for increasing the time available for refresh for 1-t SRAM compatible devices |
DE10009570A1 (de) * | 2000-02-29 | 2001-08-30 | Partec Ag | Verfahren zur Steuerung der Kommunikation von Einzelrechnern in einem Rechnerverbund |
US6757768B1 (en) * | 2001-05-17 | 2004-06-29 | Cisco Technology, Inc. | Apparatus and technique for maintaining order among requests issued over an external bus of an intermediate network node |
US6832279B1 (en) * | 2001-05-17 | 2004-12-14 | Cisco Systems, Inc. | Apparatus and technique for maintaining order among requests directed to a same address on an external bus of an intermediate network node |
US6766389B2 (en) * | 2001-05-18 | 2004-07-20 | Broadcom Corporation | System on a chip for networking |
US6912612B2 (en) * | 2002-02-25 | 2005-06-28 | Intel Corporation | Shared bypass bus structure |
DE10234933A1 (de) * | 2002-07-31 | 2004-03-18 | Advanced Micro Devices, Inc., Sunnyvale | Pufferung von Non-Posted-Lesebefehlen und Antworten |
US7313638B2 (en) * | 2004-06-16 | 2007-12-25 | International Business Machines Corporation | Command accumulation tool |
-
2006
- 2006-01-17 US US11/333,028 patent/US20070168536A1/en not_active Abandoned
- 2006-12-19 JP JP2006341850A patent/JP5107570B2/ja not_active Expired - Fee Related
-
2007
- 2007-01-05 TW TW096100407A patent/TW200810461A/zh unknown
- 2007-01-17 CN CN200710001974.1A patent/CN101005504B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
JP5107570B2 (ja) | 2012-12-26 |
TW200810461A (en) | 2008-02-16 |
US20070168536A1 (en) | 2007-07-19 |
CN101005504B (zh) | 2012-12-05 |
JP2007193786A (ja) | 2007-08-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101005504B (zh) | 网络协议栈隔离方法和系统 | |
US11824962B2 (en) | Methods and apparatus for sharing and arbitration of host stack information with user space communication stacks | |
JP4347247B2 (ja) | データ転送要求を実行するための方法、システム、およびプログラム | |
US7502826B2 (en) | Atomic operations | |
US7760741B2 (en) | Network acceleration architecture | |
US8176187B2 (en) | Method, system, and program for enabling communication between nodes | |
US9483188B2 (en) | Multiple I/O request processing in a storage system | |
US20070162639A1 (en) | TCP-offload-engine based zero-copy sockets | |
US7733875B2 (en) | Transmit flow for network acceleration architecture | |
US8037154B2 (en) | Asynchronous dual-queue interface for use in network acceleration architecture | |
US20100220740A1 (en) | Method, system, and program for forwarding messages between nodes | |
EP1687716A2 (en) | Method, system, and program for interfacing with a network adaptor supporting a plurality of devices | |
US7209971B1 (en) | Architecture and run-time environment for network filter drivers | |
US7639715B1 (en) | Dedicated application interface for network systems | |
JPH07117929B2 (ja) | 無接続セッション指向プロトコルの第1メッセージの生成システム及び方法 | |
WO2006073541A1 (en) | Distributed graphics processing apparatus and method | |
US8527650B2 (en) | Creating a checkpoint for modules on a communications stream | |
JP2006121699A (ja) | 第1のデータネットワークから第2のデータネットワークへのデータパケットのカーネルレベルの通過のための方法及び装置 | |
JP3645885B2 (ja) | Ipパケット処理装置及びそれに用いるipパケット処理方法並びにそのプログラム | |
Chadalapaka et al. | Da: Datamover architecture for the internet small computer system interface (iscsi) | |
CN117544579A (zh) | 数据传输方法、装置、设备及介质 | |
Kcholi | Network Driver Interface Specification and Network Device Drivers | |
US20030084217A1 (en) | Method and apparatus for sending data toward a network destination | |
Chadalapaka et al. | RFC 5047: DA: Datamover Architecture for the Internet Small Computer System Interface (iSCSI) |
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 |