Method and apparatus for an improved bulk read socket call
    1.
    发明授权
    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
    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 失效
    改进的批量读取套接字呼叫的方法和装置

    公开(公告)号: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
    4.
    发明授权
    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标志。

    Apparatus and method of improving network performance using virtual interfaces
    5.
    发明授权
    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, system and article for improved TCP performance during packet reordering
    6.
    发明授权
    Method, system and article for improved TCP performance during packet reordering 失效
    方法,系统和文章,用于在数据包重排序期间改进TCP性能

    公开(公告)号:US07742419B2

    公开(公告)日:2010-06-22

    申请号:US12101765

    申请日:2008-04-11

    IPC分类号: H04L1/00

    摘要: TCP congestion avoidance is implemented upon retransmission of a packet and is reverted back to the original congestion state upon receipt of an early acknowledgement (ACK), indicating reordering of packets, thereby eliminating a needless restriction on TCP bandwidth. Upon receiving an ACK to a retransmitted packet, it is determined if the ACK resulted from receipt of the original reordered packet or the retransmitted packet, based on the arrival time of the ACK at the sender. If the round-trip-time (RTT) for the retransmitted packet is much lower than the average or current calculated RTT for the network link between sender and receiver, then the retransmission occurred as a result of a reordering event, and the congestion window is restored back to its value prior to the retransmission, thereby permitting the network link to continue operating at its original increased throughput.

    摘要翻译: TCP拥塞避免在分组重传时实现,并且在接收到指示重新排序分组的早期确认(ACK)时被恢复到原始拥塞状态,从而消除对TCP带宽的不必要的限制。 在向重传的分组接收到ACK时,基于ACK在发送方的到达时间确定ACK是否从接收到原始重新排序的分组或重传分组而产生。 如果重发分组的往返时间(RTT)远低于发送方和接收方之间的网络链路的平均或当前计算的RTT,则重新发送作为重排序事件的结果,拥塞窗口为 在重传之前恢复其值,从而允许网络链路以其原始增加的吞吐量继续运行。

    Efficient send socket call handling by a transport layer
    7.
    发明授权
    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.

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

    Method, system, and computer program product for delivering data to a storage buffer assigned to an application
    8.
    发明授权
    Method, system, and computer program product for delivering data to a storage buffer assigned to an application 失效
    用于将数据传送到分配给应用程序的存储缓冲区的方法,系统和计算机程序产品

    公开(公告)号:US07519699B2

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

    申请号:US10912498

    申请日:2004-08-05

    IPC分类号: G06F15/173

    摘要: A method, system, and computer program product in a computer-readable medium for delivering data, received from a network, to a storage buffer assigned to an application is proposed. An application designates a communication buffer within a local data processing system for buffering data communicated with an application. The local data processing system reports to a network interface of the local data processing system a memory address of the designated communication buffer, and the data processing system creates a cookie containing the memory address. The data processing system then sends the cookie form the local data processing system to a remote data processing system, such that the remote data processing system may address data directly to the designated communication buffer.

    摘要翻译: 提出了一种用于将从网络接收的数据传送到分配给应用的存储缓冲器的计算机可读介质中的方法,系统和计算机程序产品。 应用程序指定本地数据处理系统内的通信缓冲器,用于缓冲与应用程序通信的数据。 本地数据处理系统向本地数据处理系统的网络接口报告指定通信缓冲器的存储器地址,并且数据处理系统创建包含存储器地址的cookie。 然后,数据处理系统将本地数据处理系统的cookie发送到远程数据处理系统,使得远程数据处理系统可以直接将数据寻址到指定的通信缓冲器。

    Method, system and article for rapid detection and avoidance of high data corrupting routes within a network
    9.
    发明授权
    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选项不再被设置在发送到 接收主机。

    Method, system and article for dynamic real-time stream aggregation in a network
    10.
    发明授权
    Method, system and article for dynamic real-time stream aggregation in a network 失效
    网络中动态实时流聚合的方法,系统和文章

    公开(公告)号:US07386624B2

    公开(公告)日:2008-06-10

    申请号:US10692124

    申请日:2003-10-23

    IPC分类号: G06F15/16

    摘要: A graphic user interface of a network client (106) includes a stock ticker from a stock server (110) and a news sidebar from a news server (112) over the IP addresses advertised to the client (106) in its list of mutli-homed addresses from the video server (104) specified under Stream Control Transmission Protocol (SCTP). The client accepts real-time data from the stock exchange server and the news agency server on the multi-homed IP addresses designated in the association with the video server (104) without knowing that the data is coming from a different source than the video server (104). The real-time data feeds from the video, stock and news servers are aggregated on the client (106) with enhanced speed because the feeds come directly to the client and not via the video server. The operating systems of the home server and remote servers utilize SCTP and specialized commands to implement the enhanced speed of real-time data aggregation being streamed to network clients without requiring modifications to existing client systems.

    摘要翻译: 网络客户端(106)的图形用户界面包括来自库存服务器(110)的股票行情和来自新闻服务器(112)的新闻侧栏,通过在其列表中通告给客户端(106)的IP地址, 来自在流控制传输协议(SCTP)下指定的视频服务器(104)的归属地址。 客户端接收来自证券交易所服务器和通讯社服务器的与视频服务器(104)相关联指定的多归属IP地址的实时数据,而不知道数据来自与视频服务器不同的源 (104)。 来自视频,股票和新闻服务器的实时数据馈送以高速度聚合在客户端(106)上,因为馈送直接进入客户端而不是经由视频服务器。 家庭服务器和远程服务器的操作系统使用SCTP和专用命令来实现流式传输到网络客户端的实时数据聚合的增强速度,而不需要修改现有的客户端系统。