Patents by Inventor Rafi Shalom

Rafi Shalom has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).

  • Publication number: 20070162619
    Abstract: Methods and systems for zero copy in a virtualized network environment are disclosed. Aspects of one method may include a plurality of GOSs that share a single NIC. The NIC may switch communication to a GOS to allow that GOS access to a network via the NIC. The NIC may offload, for example, OSI layer 3, 4, and/or 5 protocol operations from a host system and/or the GOSs. The data received from, or to be transmitted to, the network by the NIC may be copied directly between the NIC's buffer and a corresponding application buffer for one of the GOSs without copying the data to a TGOS. The NIC may access the GOS buffer via a virtual address, a buffer offset, or a physical address. The virtual address and the buffer offset may be translated to a physical address.
    Type: Application
    Filed: January 12, 2007
    Publication date: July 12, 2007
    Inventors: Eliezer Aloni, Uri El Zur, Rafi Shalom, Caitlin Bestler
  • Publication number: 20070076623
    Abstract: Certain aspects of a method and system for transparent transmission control protocol (TCP) offload are disclosed. Aspects of a method may include collecting TCP segments in a network interface card (NIC) processor without transferring state information to a host system. The collected TCP segments may be buffered in a coalescer. The coalescer may verify that the network flow associated with the collected TCP segments has an entry in a flow lookup table (FLT). When the FLT is full, the coalescer may close a current entry and assign the network flow to the available entry. The coalescer may also update information in the FLT. When an event occurs that terminates the collection of TCP segments, the coalescer may generate a single aggregated TCP segment based on the collected TCP segments. The aggregated TCP segment and state information may be communicated to the host system for processing.
    Type: Application
    Filed: July 18, 2006
    Publication date: April 5, 2007
    Inventors: Eliezer Aloni, Rafi Shalom, Shay Mizrachi, Dov Hirshfeld, Aviv Greenberg, Assaf Grunfeld, Eliezer Tamir, Guy Corem, Ori Hanegbi
  • Publication number: 20070033301
    Abstract: Certain aspects of a method and system for transparent transmission control protocol (TCP) offload with dynamic zero copy sending are disclosed. Aspects of a method may include enabling direct memory access of data for a particular user application directly from a user buffer to a buffer in a single integrated circuit, for example, a network interface card (NIC), without copying the data to a kernel buffer, based on an occurrence of a number of memory page faults. At least one page in the user buffer comprising data for the particular user application to be transmitted may be marked as a copy-on-write to prevent modification of contents of the buffer before receipt of at least one acknowledgement packet.
    Type: Application
    Filed: July 18, 2006
    Publication date: February 8, 2007
    Inventors: Eliezer Aloni, Rafi Shalom, Shay Mizrachi, Dov Hirshfeld, Aviv Greenberg, Assaf Grunfeld, Eliezer Tamir, Guy Corem, Ori Hanegbi
  • Publication number: 20070014246
    Abstract: Certain aspects of a method and system for transparent transmission control protocol (TCP) offload with per flow estimation of far end transmit window are disclosed. Aspects of a method may include storing at a network interface card (NIC) processor state information for a received TCP segment and state information for transmitted TCP segments for a determined network flow without transferring state information for the received TCP segment to a host system communicatively coupled to the NIC. The generation of a new TCP segment comprising the collected received TCP segments may be controlled based on the occurrence of a termination event and a transmit window size. The period of time for aggregation of received TCP segments may be calculated based on the sequence numbers of the next expected TCP segment and the next received acknowledgement packet.
    Type: Application
    Filed: July 18, 2006
    Publication date: January 18, 2007
    Inventors: Eliezer Aloni, Rafi Shalom, Shay Mizrachi, Dov Hirshfeld, Aviv Greenberg, Assaf Grunfeld, Eliezer Tamir, Guy Corem, Ori Hanegbi
  • Publication number: 20070014245
    Abstract: Certain aspects of a method and system for transparent transmission control protocol (TCP) offload with best effort direct placement of incoming traffic are disclosed. Aspects of a method may include collecting TCP segments in a network interface card (NIC) processor without transferring state information to a host processor every time a TCP segment is received. When an event occurs that terminates the collection of TCP segments, the NIC processor may generate a new aggregated TCP segment based on the collected TCP segments. If a placement sequence number corresponding to the generated new TCP segment for the particular network flow is received before the TCP segment is received, the generated new TCP segment may be transferred directly from the memory to the user buffer instead of transferring the data to a kernel buffer, which would require further copy by the host stack from kernel buffer to user buffer.
    Type: Application
    Filed: July 18, 2006
    Publication date: January 18, 2007
    Inventors: Eliezer Aloni, Rafi Shalom, Shay Mizrachi, Dov Hirshfeld, Aviv Greenberg, Assaf Grunfeld, Eliezer Tamir, Guy Corem, Ori Hanegbi
  • Patent number: 7032073
    Abstract: Cache apparatus, including first and second cache memories, coupled to receive and hold context information from an external memory with respect to tasks, each task activated by one or more activating events, so that the context information is available for access by a processor in performing the tasks. The cache apparatus further includes a mapper, which is coupled to receive a classification of the tasks as fast and slow tasks. The mapper is adapted, upon receipt of one of the activating events for one of the fast tasks to be performed by the processor, to cause the context information with respect thereto to be received in the first cache memory, and upon receipt of one of the activating events for one of the slow tasks to be performed by the processor, to cause the context information with respect thereto to be received in the second cache memory.
    Type: Grant
    Filed: April 30, 2002
    Date of Patent: April 18, 2006
    Inventors: Shay Mizrachi, Rafi Shalom, Amit Oren
  • Patent number: 6876669
    Abstract: A method for transmitting data over a channel includes receiving a first datagram for transmission at a first priority, and receiving a second datagram for transmission at a second priority, higher than the first priority, before the transmission of the first datagram is completed. The first datagram is divided into a plurality of fragments, including a first fragment and a last fragment. The fragments of the first datagram are transmitted over the channel, beginning with the first fragment. At least a fragment of the second datagram is transmitted over the channel before transmitting the last fragment of the first datagram.
    Type: Grant
    Filed: January 8, 2001
    Date of Patent: April 5, 2005
    Assignee: Corrigent Systems Ltd.
    Inventor: Rafi Shalom
  • Publication number: 20030128704
    Abstract: A method for a receiver to perform processing of incoming data segments transmitted over a network by a transmitter in accordance with a transport protocol. The segments incorporate sequence values indicative of a transmission order of the segments. The method consists of receiving the data segments over the network in a reception order. Then, for each segment received in the reception order, the sequence values of the received segment and of the segments received earlier in the reception order are compared in order to assign the received segment a classification identity as an in-order or out-of-order segment.
    Type: Application
    Filed: August 28, 2002
    Publication date: July 10, 2003
    Inventors: Shay Mizrachi, Rafi Shalom, Ron Grinfeld
  • Publication number: 20030076822
    Abstract: An off-load engine for processing a packet conveyed between a target and a network over a transport connection, the packet including a payload and a header. The engine includes a payload buffer, for holding data exchanged between the off-load engine, the network, and the target for inclusion in the payload, and a packet processor, for processing context of the transport connection.
    Type: Application
    Filed: September 26, 2002
    Publication date: April 24, 2003
    Inventors: Rafi Shalom, Amit Oren
  • Publication number: 20030058870
    Abstract: Apparatus for receiving a sequence of Transmission Control Protocol (TCP) segments, including a parsing machine which is adapted to parse at least one TCP segment so as to recover an Internet Small Computer Systems Interface Protocol Data Unit (iSCSI PDU), the PDU including a header and at least part of a payload. The apparatus further includes at least one analysis machine which is adapted to receive and evaluate the header and to receive and route the at least part of the payload for the iSCSI PDU, the parsing machine and the at least one analysis machine operating substantially autonomously.
    Type: Application
    Filed: September 6, 2002
    Publication date: March 27, 2003
    Applicant: Siliquent Technologies Inc.
    Inventors: Shay Mizrachi, Rafi Shalom, Ron Grinfeld
  • Publication number: 20030056009
    Abstract: A method for processing a datagram, including receiving an initial fragment of the datagram over a communication link and classifying in an initial classification the initial fragment as a first fragment, a middle fragment, or a last fragment of the datagram. The method further includes receiving one or more subsequent fragments over the communication link, following the initial fragment, and classifying each of the one or more subsequent fragments in respective subsequent classifications so as to find among the subsequent fragments at least one of the first fragment, the middle fragment, and the last fragment of the datagram.
    Type: Application
    Filed: September 6, 2002
    Publication date: March 20, 2003
    Applicant: Siliquent Technologies Inc.
    Inventors: Shay Mizrachi, Rafi Shalom, Ron Grinfeld
  • Publication number: 20030033486
    Abstract: Cache apparatus, including first and second cache memories, coupled to receive and hold context information from an external memory with respect to tasks, each task activated by one or more activating events, so that the context information is available for access by a processor in performing the tasks. The cache apparatus further includes a mapper, which is coupled to receive a classification of the tasks as fast and slow tasks. The mapper is adapted, upon receipt of one of the activating events for one of the fast tasks to be performed by the processor, to cause the context information with respect thereto to be received in the first cache memory, and upon receipt of one of the activating events for one of the slow tasks to be performed by the processor, to cause the context information with respect thereto to be received in the second cache memory.
    Type: Application
    Filed: April 30, 2002
    Publication date: February 13, 2003
    Inventors: Shay Mizrachi, Rafi Shalom, Amit Oren
  • Publication number: 20020131425
    Abstract: A method for transmitting data over a channel includes receiving a first datagram for transmission at a first priority, and receiving a second datagram for transmission at a second priority, higher than the first priority, before the transmission of the first datagram is completed. The first datagram is divided into a plurality of fragments, including a first fragment and a last fragment. The fragments of the first datagram are transmitted over the channel, beginning with the first fragment. At least a fragment of the second datagram is transmitted over the channel before transmitting the last fragment of the first datagram.
    Type: Application
    Filed: January 8, 2001
    Publication date: September 19, 2002
    Inventor: Rafi Shalom