Hardware-based congestion control for TCP traffic

    公开(公告)号:US10237376B2

    公开(公告)日:2019-03-19

    申请号:US15278143

    申请日:2016-09-28

    Abstract: A method for congestion control includes receiving at a destination computer a packet transmitted on a given flow, in accordance with a predefined transport protocol, through a network by a transmitting network interface controller (NIC) of a source computer, and marked by an element in the network with a forward congestion notification. Upon receiving the marked packet in a receiving NIC of the destination computer, a congestion notification packet (CNP) indicating a flow to be throttled is immediately queued for transmission from the receiving NIC through the network to the source computer. Upon receiving the CNP in the transmitting NIC, transmission of further packets on at least the flow indicated by the CNP from the transmitting NIC to the network is immediately throttled, and an indication of the given flow is passed from the transmitting NIC to a protocol processing software stack running on the source computer.

    Direct access to local memory in a PCI-E device

    公开(公告)号:US10120832B2

    公开(公告)日:2018-11-06

    申请号:US14721009

    申请日:2015-05-26

    Abstract: A method includes communicating between at least first and second devices over a bus in accordance with a bus address space, including providing direct access over the bus to a local address space of the first device by mapping at least some of the addresses of the local address space to the bus address space. In response to indicating, by the first device or the second device, that the second device requires to access a local address in the local address space that is not currently mapped to the bus address space, the local address is mapped to the bus address space, and the local address is accessed directly, by the second device, using the mapping.

    HYBRID TAG MATCHING
    17.
    发明申请
    HYBRID TAG MATCHING 有权
    混合标签匹配

    公开(公告)号:US20160072906A1

    公开(公告)日:2016-03-10

    申请号:US14834443

    申请日:2015-08-25

    Abstract: A method for communication includes posting, by a software process, a set of buffers in a memory of a host processor and creating in the memory a list of labels associated respectively with the buffers. The software process pushes a first part of the list to a network interface controller (NIC), while retaining a second part of the list in the memory under control of the software process. Upon receiving a message containing a label, sent over a network, the NIC compares the label to the labels in the first part of the list and, upon finding a match to the label, writes data conveyed by the message to a buffer in the memory. Upon a failure to find the match in the first part of the list, the NIC passes the message from the NIC to the software process for handling using the second part of the list.

    Abstract translation: 一种用于通信的方法包括通过软件处理将主机处理器的存储器中的一组缓冲器发布,并在存储器中创建分别与缓冲器相关联的标签的列表。 软件进程将列表的第一部分推送到网络接口控制器(NIC),同时在软件进程控制下将列表的第二部分保留在内存中。 在接收到包含通过网络发送的标签的消息时,NIC将标签与列表的第一部分中的标签进行比较,并且在找到与标签的匹配时,将消息传送的数据写入存储器中的缓冲器 。 如果在列表的第一部分找不到匹配项,则NIC将该消息从NIC传递到软件进程以使用列表的第二部分进行处理。

    Network interface controller supporting network virtualization

    公开(公告)号:US20150180959A1

    公开(公告)日:2015-06-25

    申请号:US14637414

    申请日:2015-03-04

    CPC classification number: H04L67/10 G06F9/45533 H04L12/4633 H04L45/64

    Abstract: A network interface device includes a host interface for connection to a host processor having a memory. A network interface is configured to transmit and receive data packets over a data network, which supports multiple tenant networks overlaid on the data network. Processing circuitry is configured to receive, via the host interface, a work item submitted by a virtual machine running on the host processor, and to identify, responsively to the work item, a tenant network over which the virtual machine is authorized to communicate, wherein the work item specifies a message to be sent to a tenant destination address. The processing circuitry generates, in response to the work item, a data packet containing an encapsulation header that is associated with the tenant network, and to transmit the data packet over the data network to at least one data network address corresponding to the specified tenant destination address.

    HANDLING TRANSPORT LAYER OPERATIONS RECEIVED OUT OF ORDER
    19.
    发明申请
    HANDLING TRANSPORT LAYER OPERATIONS RECEIVED OUT OF ORDER 审中-公开
    处理运输层操作接收订单

    公开(公告)号:US20150172226A1

    公开(公告)日:2015-06-18

    申请号:US14132014

    申请日:2013-12-18

    CPC classification number: H04L49/9057 G06F15/17331 H04L49/901 H04L67/1097

    Abstract: A method for communication includes receiving at a receiving node over a network from a sending node a succession of data packets belonging to a sequence of transactions, including at least one or more first packets belonging to a first transaction and one or more second packets belonging to a second transaction executed by the sending node after the first transaction, wherein at least one of the second packets is received at the receiving node before at least one of the first packets. At the receiving node, upon receipt of the data packets, data are written from the data packets in the succession to respective locations in a buffer. Execution of the second transaction at the receiving node is delayed until all of the first packets have been received and the first transaction has been executed at the receiving node.

    Abstract translation: 一种用于通信的方法包括在接收节点通过网络从发送节点接收属于事务序列的一系列数据分组,包括属于第一事务的至少一个或多个第一分组和属于第一事务的一个或多个第二分组 在所述第一事务之后由所述发送节点执行的第二事务,其中在所述第一分组中的至少一个之前在所述接收节点处接收所述第二分组中的至少一个。 在接收节点,在接收到数据分组时,将数据从连续的数据分组写入缓冲器中的相应位置。 在接收节点处的第二事务的执行被延迟,直到已经接收到所有第一个分组并且已经在接收节点处执行了第一个事务。

    Network interface controller supporting network virtualization
    20.
    发明授权
    Network interface controller supporting network virtualization 有权
    网络接口控制器支持网络虚拟化

    公开(公告)号:US09008097B2

    公开(公告)日:2015-04-14

    申请号:US13731130

    申请日:2012-12-31

    CPC classification number: H04L67/10 G06F9/45533 H04L12/4633 H04L45/64

    Abstract: A network interface device includes a host interface for connection to a host processor having a memory. A network interface is configured to transmit and receive data packets over a data network, which supports multiple tenant networks overlaid on the data network. Processing circuitry is configured to receive, via the host interface, a work item submitted by a virtual machine running on the host processor, and to identify, responsively to the work item, a tenant network over which the virtual machine is authorized to communicate, wherein the work item specifies a message to be sent to a tenant destination address. The processing circuitry generates, in response to the work item, a data packet containing an encapsulation header that is associated with the tenant network, and to transmit the data packet over the data network to at least one data network address corresponding to the specified tenant destination address.

    Abstract translation: 网络接口设备包括用于连接到具有存储器的主机处理器的主机接口。 网络接口被配置为通过数据网络发送和接收数据分组,数据网络支持覆盖在数据网络上的多个租户网络。 处理电路被配置为经由主机接口接收由主机处理器上运行的虚拟机提交的工作项,并且响应于工作项识别虚拟机被授权通信的租户网络,其中 工作项目指定要发送到租户目标地址的消息。 处理电路响应于工作项产生包含与租户网络相关联的封装头部的数据分组,并且通过数据网络将数据分组发送到与指定的租户目的地对应的至少一个数据网络地址 地址。

Patent Agency Ranking