Apparatus and method of improving network performance using virtual interfaces
    1.
    发明授权
    Apparatus and method of improving network performance using virtual interfaces 失效
    使用虚拟接口提高网络性能的装置和方法

    公开(公告)号:US07454456B2

    公开(公告)日:2008-11-18

    申请号:US10076357

    申请日:2002-02-14

    IPC分类号: G06F15/16

    摘要: A method, system and apparatus for improving network performance of a multiprocessor system that has a limited number of physical network interfaces by using virtual IP addresses are provided. When a processor of the multiprocessor system determines that it is processing network data, it uses a virtual IP address to transmit the data. The virtual IP address is associated with a buffer; and thus the data is sent to the buffer. This allows the processor to be free to process other data, network or otherwise. The buffer, with the help of a controller, then contends for the use of one of the limited physical network interfaces to transmit the data.

    摘要翻译: 提供了一种用于通过使用虚拟IP地址来提供具有有限数量的物理网络接口的多处理器系统的网络性能的方法,系统和装置。 当多处理器系统的处理器确定它正在处理网络数据时,它使用虚拟IP地址来传输数据。 虚拟IP地址与缓冲区相关联; 因此数据被发送到缓冲器。 这允许处理器可以自由处理其他数据,网络或其他数据。 缓冲区在控制器的帮助下,然后争论使用有限的物理网络接口之一传输数据。

    Method and apparatus for an improved bulk read socket call
    2.
    发明授权
    Method and apparatus for an improved bulk read socket call 失效
    用于改进大容量读取套接字呼叫的方法和装置

    公开(公告)号:US07065581B2

    公开(公告)日:2006-06-20

    申请号:US09892968

    申请日:2001-06-27

    IPC分类号: G06F15/16 G06F3/06

    CPC分类号: H04L49/90

    摘要: An apparatus and method for an improved bulk read socket call are provided. With the apparatus and method, a new field, so_rcvlen, is added to the socket structure that identifies the bulk read size requested by the user. The kernel of the prior art recv( ) function is also modified so that it sets the so_rcvlen to the size requested by the user prior to the recv( ) function going to sleep and waiting for the full data size requested by the user. A new flag, SP_MSGWAITALL, is also provided in the socket structure. In the TCP input processing, when data is received for a particular socket, the current setting of the SP_MSGWAITALL is checked. If the SP_MSGWAITALL flag is set, it is determined whether the amount of data stored in the socket receive buffer is less than the value of so_rcvlen. If not, the TCP input processing does not wake up the recv( ) thread. However, for every alternate segment, the TCP input processing sends back an acknowledgment (ACK). In the TCP output processing, when the SP_MSGWAITALL flag is set and the amount of data in the socket receive buffer is less than so_rcvlen, the full window is advertised. Once the TCP input processing determines that there is at least an amount of data in the socket receive buffer equal to the value of so_rcvlen, the TCP input processing will wake up the recv( ) thread and the SP_MSGWAITALL flag is reset.

    摘要翻译: 提供了一种改进的大容量读取插座呼叫的装置和方法。 使用设备和方法,将新字段so_rcvlen添加到标识用户请求的批量读取大小的套接字结构中。 现有技术recv()函数的内核也被修改,以便在recv()函数进入休眠状态并等待用户请求的完整数据大小之前,将so_rcvlen设置为用户请求的大小。 插座结构中还提供了一个新标志SP_MSGWAITALL。 在TCP输入处理中,当为特定套接字收到数据时,将检查SP_MSGWAITALL的当前设置。 如果设置了SP_MSGWAITALL标志,则确定存储在套接字接收缓冲区中的数据量是否小于so_rcvlen的值。 如果没有,TCP输入处理不会唤醒recv()线程。 然而,对于每个备用段,TCP输入处理发回确认(ACK)。 在TCP输出处理中,当设置了SP_MSGWAITALL标志并且套接字接收缓冲区中的数据量小于so_rcvlen时,将通告完整窗口。 一旦TCP输入处理确定套接字接收缓冲区中至少有一定数量的数据等于so_rcvlen的值,则TCP输入处理会唤醒recv()线程,并重置SP_MSGWAITALL标志。

    Method and apparatus for an improved bulk read socket call
    3.
    发明授权
    Method and apparatus for an improved bulk read socket call 失效
    用于改进大容量读取套接字呼叫的方法和装置

    公开(公告)号:US07970925B2

    公开(公告)日:2011-06-28

    申请号:US12274031

    申请日:2008-11-19

    CPC分类号: H04L49/90

    摘要: An apparatus and method for an improved bulk read socket call are provided. With the apparatus and method, a new field, so_rcvlen, is added to the socket structure that identifies the bulk read size requested by the user. The kernel of the prior art recv( ) function is also modified so that it sets the so_rcvlen to the size requested by the user prior to the recv( ) function going to sleep and waiting for the full data size requested by the user. A new flag, SP_MSGWAITALL, is also provided in the socket structure. In the TCP input processing, when data is received for a particular socket, the current setting of the SP_MSGWAITALL is checked. If the SP_MSGWAITALL flag is set, it is determined whether the amount of data stored in the socket receive buffer is less than the value of so_rcvlen. If not, the TCP input processing does not wake up the recv( ) thread. However, for every alternate segment, the TCP input processing sends back an acknowledgment (ACK). In the TCP output processing, when the SP_MSGWAITALL flag is set and the amount of data in the socket receive buffer is less than so_rcvlen, the full window is advertised. Once the TCP input processing determines that there is at least an amount of data in the socket receive buffer equal to the value of so_rcvlen, the TCP input processing will wake up the recv( ) thread and the SP_MSGWAITALL flag is reset.

    摘要翻译: 提供了一种改进的大容量读取插座呼叫的装置和方法。 使用设备和方法,将新字段so_rcvlen添加到标识用户请求的批量读取大小的套接字结构中。 现有技术recv()函数的内核也被修改,以便在recv()函数进入休眠状态并等待用户请求的完整数据大小之前,将so_rcvlen设置为用户请求的大小。 插座结构中还提供了一个新标志SP_MSGWAITALL。 在TCP输入处理中,当为特定套接字收到数据时,将检查SP_MSGWAITALL的当前设置。 如果设置了SP_MSGWAITALL标志,则确定存储在套接字接收缓冲区中的数据量是否小于so_rcvlen的值。 如果没有,TCP输入处理不会唤醒recv()线程。 然而,对于每个备用段,TCP输入处理发回确认(ACK)。 在TCP输出处理中,当设置了SP_MSGWAITALL标志并且套接字接收缓冲区中的数据量小于so_rcvlen时,将通告完整窗口。 一旦TCP输入处理确定套接字接收缓冲区中至少有一定数量的数据等于so_rcvlen的值,则TCP输入处理将唤醒recv()线程,并重置SP_MSGWAITALL标志。

    Method and Apparatus for an Improved Bulk Read Socket Call
    4.
    发明申请
    Method and Apparatus for an Improved Bulk Read Socket Call 失效
    改进的批量读取套接字呼叫的方法和装置

    公开(公告)号:US20090070481A1

    公开(公告)日:2009-03-12

    申请号:US12274031

    申请日:2008-11-19

    IPC分类号: G06F15/16

    CPC分类号: H04L49/90

    摘要: An apparatus and method for an improved bulk read socket call are provided. With the apparatus and method, a new field, so_rcvlen, is added to the socket structure that identifies the bulk read size requested by the user. The kernel of the prior art recv( ) function is also modified so that it sets the so_rcvlen to the size requested by the user prior to the recv( ) function going to sleep and waiting for the full data size requested by the user. A new flag, SP_MSGWAITALL, is also provided in the socket structure. In the TCP input processing, when data is received for a particular socket, the current setting of the SP_MSGWAITALL is checked. If the SP_MSGWAITALL flag is set, it is determined whether the amount of data stored in the socket receive buffer is less than the value of so_rcvlen. If not, the TCP input processing does not wake up the recv( ) thread. However, for every alternate segment, the TCP input processing sends back an acknowledgment (ACK). In the TCP output processing, when the SP_MSGWAITALL flag is set and the amount of data in the socket receive buffer is less than so_rcvlen, the full window is advertised. Once the TCP input processing determines that there is at least an amount of data in the socket receive buffer equal to the value of so_rcvlen, the TCP input processing will wake up the recv( ) thread and the SP_MSGWAITALL flag is reset.

    摘要翻译: 提供了一种改进的大容量读取插座呼叫的装置和方法。 使用设备和方法,将新字段so_rcvlen添加到标识用户请求的批量读取大小的套接字结构中。 现有技术recv()函数的内核也被修改,以便在recv()函数进入休眠状态并等待用户请求的完整数据大小之前,将so_rcvlen设置为用户请求的大小。 插座结构中还提供了一个新标志SP_MSGWAITALL。 在TCP输入处理中,当为特定套接字收到数据时,将检查SP_MSGWAITALL的当前设置。 如果设置了SP_MSGWAITALL标志,则确定存储在套接字接收缓冲区中的数据量是否小于so_rcvlen的值。 如果没有,TCP输入处理不会唤醒recv()线程。 然而,对于每个备用段,TCP输入处理发回确认(ACK)。 在TCP输出处理中,当设置了SP_MSGWAITALL标志并且套接字接收缓冲区中的数据量小于so_rcvlen时,将通告完整窗口。 一旦TCP输入处理确定套接字接收缓冲区中至少有一定数量的数据等于so_rcvlen的值,则TCP输入处理将唤醒recv()线程,并重置SP_MSGWAITALL标志。

    Method and apparatus for an improved bulk read socket call
    5.
    发明授权
    Method and apparatus for an improved bulk read socket call 失效
    用于改进大容量读取套接字呼叫的方法和装置

    公开(公告)号:US07469296B2

    公开(公告)日:2008-12-23

    申请号:US11375785

    申请日:2006-03-15

    CPC分类号: H04L49/90

    摘要: An apparatus and method for an improved bulk read socket call are provided. With the apparatus and method, a new field, so_rcvlen, is added to the socket structure that identifies the bulk read size requested by the user. The kernel of the prior art recv( ) function is also modified so that it sets the so_rcvlen to the size requested by the user prior to the recv( ) function going to sleep and waiting for the full data size requested by the user. A new flag, SP_MSGWAITALL, is also provided in the socket structure. In the TCP input processing, when data is received for a particular socket, the current setting of the SP_MSGWAITALL is checked. If the SP_MSGWAITALL flag is set, it is determined whether the amount of data stored in the socket receive buffer is less than the value of so_rcvlen. If not, the TCP input processing does not wake up the recv( ) thread. However, for every alternate segment, the TCP input processing sends back an acknowledgment (ACK). In the TCP output processing, when the SP_MSGWAITALL flag is set and the amount of data in the socket receive buffer is less than so_rcvlen, the full window is advertised. Once the TCP input processing determines that there is at least an amount of data in the socket receive buffer equal to the value of so_rcvlen, the TCP input processing will wake up the recv( ) thread and the SP_MSGWAITALL flag is reset.

    摘要翻译: 提供了一种改进的大容量读取插座呼叫的装置和方法。 使用设备和方法,将新字段so_rcvlen添加到标识用户请求的批量读取大小的套接字结构中。 现有技术recv()函数的内核也被修改,以便在recv()函数进入休眠状态并等待用户请求的完整数据大小之前,将so_rcvlen设置为用户请求的大小。 插座结构中还提供了一个新标志SP_MSGWAITALL。 在TCP输入处理中,当为特定套接字收到数据时,将检查SP_MSGWAITALL的当前设置。 如果设置了SP_MSGWAITALL标志,则确定存储在套接字接收缓冲区中的数据量是否小于so_rcvlen的值。 如果没有,TCP输入处理不会唤醒recv()线程。 然而,对于每个备用段,TCP输入处理发回确认(ACK)。 在TCP输出处理中,当设置了SP_MSGWAITALL标志并且套接字接收缓冲区中的数据量小于so_rcvlen时,将通告完整窗口。 一旦TCP输入处理确定套接字接收缓冲区中至少有一定数量的数据等于so_rcvlen的值,则TCP输入处理将唤醒recv()线程,并重置SP_MSGWAITALL标志。

    Efficient send socket call handling by a transport layer
    6.
    发明授权
    Efficient send socket call handling by a transport layer 失效
    传输层有效发送socket呼叫处理

    公开(公告)号:US07571247B2

    公开(公告)日:2009-08-04

    申请号:US11301106

    申请日:2005-12-12

    IPC分类号: G06F15/16

    摘要: A method, system, and program provide for efficient send socket call handling by a transport layer. A transport layer of a network protocol stack receives a send socket call for data of a specified length from an application layer. Responsive to detecting that there is insufficient memory for a single memory allocation to a buffer in the transport layer for at least the specified length, the transport layer blocks the send socket call. The transport layer only wakes the send socket call upon detection of sufficient memory for the single memory allocation within the buffer of the transport layer for at least the specified length, wherein waking the send socket call triggers a kernel to perform the single memory allocation in the buffer and to write the data to the single memory allocation in a single pass.

    摘要翻译: 方法,系统和程序提供传输层有效的发送套接字呼叫处理。 网络协议栈的传输层从应用层接收指定长度的数据的发送套接字调用。 响应于检测到对于至少指定长度的传输层中的缓冲器的单个存储器分配没有足够的存储器,传输层阻止发送套接字调用。 检测到传输层缓冲区内单个内存分配的足够内存至少达到指定长度时,传输层只会唤醒发送套接字调用,其中唤醒发送套接字调用会触发内核执行单个内存分配 缓冲区,并将数据写入单次存储器分配。

    Accessing data processing systems behind a NAT enabled network
    7.
    发明授权
    Accessing data processing systems behind a NAT enabled network 失效
    访问启用NAT的网络后面的数据处理系统

    公开(公告)号:US07478169B2

    公开(公告)日:2009-01-13

    申请号:US10687266

    申请日:2003-10-16

    IPC分类号: G06F15/16 G06F9/00

    摘要: A NAT data processing system is located behind a NAT enabled network with a NAT device as a gateway to the NAT enabled network. A client system located outside the NAT enabled network queries the NAT device for the address of the NAT data processing system located behind the NAT enabled network. The query is automatically routed through the NAT device to a DNS server. The DNS server returns an address for the NAT data processing system and source routing for the NAT device. The NAT device forwards the address and source routing to the client system. The client system sends packets to the NAT data processing system at the address with source routing through the NAT device, such that the NAT data processing system behind the NAT enabled network is directly accessed by the client system from outside the NAT enabled network.

    摘要翻译: NAT数据处理系统位于启用NAT的网络后面,NAT设备作为启用NAT的网络的网关。 位于NAT启用网络之外的客户端系统向NAT设备查询位于启用NAT的网络后面的NAT数据处理系统的地址。 该查询通过NAT设备自动路由到DNS服务器。 DNS服务器返回NAT数据处理系统的地址和NAT设备的源路由。 NAT设备将地址和源路由转发到客户端系统。 客户端系统通过NAT设备将数据包发送到具有源路由地址的NAT数据处理系统,使得NAT启用网络背后的NAT数据处理系统可以由NAT使能网络外部的客户端系统直接访问。

    Method, system and article for rapid detection and avoidance of high data corrupting routes within a network
    8.
    发明授权
    Method, system and article for rapid detection and avoidance of high data corrupting routes within a network 有权
    用于快速检测和避免网络内高数据损坏路由的方法,系统和文章

    公开(公告)号:US07394769B2

    公开(公告)日:2008-07-01

    申请号:US10640819

    申请日:2003-08-14

    IPC分类号: H04J1/16

    摘要: A receiving host in a TCP/IP network sends an acknowledgment indicating a received data packet is corrupt. The sending host will begin transmitting with a new field set in the IP header called a check-TCP-checksum bit, thereby requesting that all routers in the TCP/IP network perform a checksum on the entire received packet. Routers in the TCP/IP network will perform a complete checksum on an entire packet with the check-TCP-checksum bit set, and not just on the IP header. The routers continuously monitor the ratio of corrupt packets received on a particular port that fail the entire packet checksum to the total number of packets received on that port. If the ratio of corrupt-to-received packets exceeds a corruption threshold, the router assumes that the associated link is causing data corruption and issues a routing update indicating that the link is bad and should be avoided. Once the retransmission rate between the sender and receiver drops below a threshold level, the bad link has been detected and avoided within the TCP/IP network and the check-TCP-checksum option in the IP header is no longer set in data packets transmitted to the receiver host.

    摘要翻译: TCP / IP网络中的接收主机发送指示接收到的数据包已损坏的确认。 发送主机将开始使用称为检查TCP校验和位的IP报头中设置的新字段进行发送,从而请求TCP / IP网络中的所有路由器对整个接收到的数据包执行校验和。 TCP / IP网络中的路由器将对整个数据包执行完整的校验和,同时检查TCP-checksum位,而不仅仅是在IP报头上。 路由器连续监视在特定端口上接收的损坏数据包的总数与在该端口上接收的数据包的总数之间的比例。 如果损坏的数据包的比例超过了破坏阈值,则路由器假设相关联的链路导致数据损坏,并发出路由更新,指示链路不良,应该避免。 一旦发送方和接收方之间的重传速率下降到阈值以下,就会在TCP / IP网络内检测并避免不良链路,并且IP报头中的check-TCP-checksum选项不再被设置在发送到 接收主机。

    Apparatus and method for port sharing a plurality of server processes
    9.
    发明授权
    Apparatus and method for port sharing a plurality of server processes 失效
    用于端口共享多个服务器进程的装置和方法

    公开(公告)号:US06950873B2

    公开(公告)日:2005-09-27

    申请号:US09920457

    申请日:2001-08-02

    IPC分类号: G06F9/46 G06F9/50 G06F15/17

    CPC分类号: G06F9/546 H04L69/32

    摘要: An apparatus and method for port sharing among a plurality of server processes are provided. The apparatus and method provide an intermediate layer between the communication port and the server processes. This intermediate layer provides a port mapping such that data messages received via a shared communication port are mapped to separate ports based on the domain of the data message. Each server process is configured to listen to a different virtual communication port. The mapping of the present invention maps data messages received in the shared communication port to one of these virtual communication ports based on the domain to which the data message belongs. This mapping is also performed with outgoing messages from the server as well.

    摘要翻译: 提供了一种用于在多个服务器进程之间进行端口共享的装置和方法。 该装置和方法在通信端口和服务器进程之间提供中间层。 该中间层提供端口映射,使得经由共享通信端口接收的数据消息基于数据消息的域被映射到单独的端口。 每个服务器进程都配置为侦听不同的虚拟通信端口。 本发明的映射基于数据消息所属的域将在共享通信端口中接收的数据消息映射到这些虚拟通信端口之一。 也可以从服务器的传出消息执行此映射。

    Monitoring thread usage to dynamically control a thread pool
    10.
    发明授权
    Monitoring thread usage to dynamically control a thread pool 失效
    监控线程使用情况,以动态控制线程池

    公开(公告)号:US07568030B2

    公开(公告)日:2009-07-28

    申请号:US12027044

    申请日:2008-02-06

    IPC分类号: G06F13/00

    摘要: A method, system, and program for monitoring thread usage to dynamically control a thread pool are provided. An application running on the server system invokes a listener thread on a listener socket for receiving client requests at the server system and passing the client requests to one of multiple threads waiting in a thread pool. Additionally, the application sends an ioctl call in blocking mode on the listener thread. A TCP layer within the server system detects the listener thread in blocking mode and monitors a thread count of at least one of a number of incoming requests waiting to be processed and a number of said plurality of threads remaining idle in the thread pool over a sample period. Once the TCP layer detects a thread usage event, the ioctl call is returned indicating the thread usage event with the thread count, such that a number of threads in the thread pool may be dynamically adjusted to handle the thread count.

    摘要翻译: 提供了一种用于监视线程使用以动态控制线程池的方法,系统和程序。 在服务器系统上运行的应用程序调用侦听器套接字上的侦听器线程,以便在服务器系统上接收客户端请求,并将客户端请求传递给等待线程池的多个线程之一。 此外,应用程序在侦听器线程上以阻塞模式发送ioctl调用。 服务器系统内的TCP层以阻塞模式检测侦听器线程,并且监视等待被处理的多个传入请求中的至少一个的线程计数,并且线程池中的多个线程在一个样本上保持空闲 期。 一旦TCP层检测到线程使用事件,将返回指示线程计数的线程使用事件的ioctl调用,以使线程池中的线程数可以被动态调整以处理线程计数。