Patents by Inventor Liran Liss

Liran Liss 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).

  • Patent number: 10135739
    Abstract: A data processing device includes a first packet communication interface for communication with at least one host processor via a network interface controller (NIC) and a second packet communication interface for communication with a packet data network. A memory holds a flow state table containing context information with respect to multiple packet flows conveyed between the host processor and the network via the first and second interfaces packet communication interfaces. Acceleration logic, coupled between the first and second packet communication interfaces, performs computational operations on payloads of packets in the multiple packet flows using the context information in the flow state table.
    Type: Grant
    Filed: May 4, 2016
    Date of Patent: November 20, 2018
    Assignee: MELLANOX TECHNOLOGIES, LTD.
    Inventors: Shachar Raindel, Shlomo Raikin, Liran Liss
  • Patent number: 9925492
    Abstract: Remote transactions using transactional memory are carried out over a data network between an initiator host and a remote target. The transaction comprises a plurality of input-output (IO) operations between an initiator network interface controller and a target network interface controller. The IO operations are controlled by the initiator network interface controller and the target network interface controller to cause the first process to perform accesses to the memory location atomically.
    Type: Grant
    Filed: March 23, 2015
    Date of Patent: March 27, 2018
    Assignee: MELLANOX TECHNOLOGIES, LTD.
    Inventors: Shlomo Raikin, Liran Liss, Ariel Shachar, Noam Bloch, Michael Kagan
  • Patent number: 9894005
    Abstract: A method in a network element that includes multiple interfaces for connecting to a communication network includes receiving from the communication network via an ingress interface a flow including a sequence of packets, and routing the packets to a destination of the flow via a first egress interface. A permission indication for re-routing the flow is received in the ingress interface. In response to receiving the permission indication, subsequent packets of the flow are re-routed via a second egress interface that is different from the first egress interface. Further re-routing of the flow is refrained from, until receiving another permission indication.
    Type: Grant
    Filed: March 31, 2015
    Date of Patent: February 13, 2018
    Assignee: MELLANOX TECHNOLOGIES, LTD.
    Inventors: Shachar Raindel, Idan Burstein, Noam Bloch, Benny Koren, Barak Gafni, Dror Goldenberg, Liran Liss
  • Patent number: 9787590
    Abstract: A network node includes one or more network adapters and a bonding driver. The one or more network adapters are configured to communicate respective data flows over a communication network by applying a transport layer protocol that saves communication state information in a state of a respective network adapter. The bonding driver is configured to exchange traffic including the data flows of an application program that is executed in the network node, to communicate the data flows of the traffic via one or more physical links of the one or more network adapters, and, in response to a physical-transport failure, to switch a given data flow to a different physical link or a different network path, transparently to the application program.
    Type: Grant
    Filed: March 24, 2015
    Date of Patent: October 10, 2017
    Assignee: Mellanox Technologies, Ltd.
    Inventors: Gal Sivan, Saeed Mahameed, Vladimir Sokolovsky, Dotan Barak, Liran Liss, Oren Kladnitsky
  • Publication number: 20170242819
    Abstract: A method for management of a host computer that includes a management controller configured to carry out, independently of the host CPU, host management instructions contained in management packets compliant with a first data link protocol. The method includes receiving the management packets from a first network operating in accordance with the first data link protocol. The management packets are encapsulated in data packets compliant with a second data link protocol, different from the first data link protocol. The data packets are transmitted to a second network, operating in accordance with the second data link protocol. The transmitted data packets are received from the second network in a network interface controller (NIC), which is installed in the host computer and connected to the second network. The NIC decapsulates the management packets from the received data packets and passes the decapsulated management packets via a sideband connection to the management controller.
    Type: Application
    Filed: February 24, 2016
    Publication date: August 24, 2017
    Inventors: Yuval Itkin, Liran Liss, Amir Ancel, Ran Sofer
  • Patent number: 9699110
    Abstract: Lock access is managed in a data network having an initiator node and a remote target by issuing a lock command from a first process to the remote target via an initiator network interface controller to establish a lock on a memory location, and prior to receiving a reply to the lock command communicating a data access request to the memory location from the initiator network interface controller. Prior to receiving a reply to the data access request, an unlock command issues from the initiator network interface controller. The target network interface controller determines the lock content, and when permitted by the lock accesses the memory location. After accessing the memory location the target network interface controller executes the unlock command. When the lock prevents data access, the lock operation is retried a configurable number of times until data access is allowed or a threshold is exceeded.
    Type: Grant
    Filed: June 29, 2015
    Date of Patent: July 4, 2017
    Assignee: MELLANOX TECHNOLOGIES, LTD.
    Inventors: Dror Goldenberg, Liran Liss, Shlomo Raikin
  • Patent number: 9678818
    Abstract: A method for network access of remote memory directly from a local instruction stream using conventional loads and stores. In cases where network IO access (a network phase) cannot overlap a compute phase, a direct network access from the instruction stream greatly decreases latency in CPU processing. The network is treated as yet another memory that can be directly read from, or written to, by the CPU. Network access can be done directly from the instruction stream using regular loads and stores. Example scenarios where synchronous network access can be beneficial are SHMEM (symmetric hierarchical memory access) usages (where the program directly reads/writes remote memory), and scenarios where part of system memory (for example DDR) can reside over a network and made accessible by demand to different CPUs.
    Type: Grant
    Filed: January 29, 2015
    Date of Patent: June 13, 2017
    Assignee: MELLANOX TECHNOLOGIES, LTD.
    Inventors: Shlomo Raikin, Noam Bloch, Richard Graham, Ofer Hayut, Michael Kagan, Liran Liss
  • Patent number: 9639464
    Abstract: A method for data transfer includes receiving in an operating system of a host computer an instruction initiated by a user application running on the host processor identifying a page of virtual memory of the host computer that is to be used in receiving data in a message that is to be transmitted over a network to the host computer but has not yet been received by the host computer. In response to the instruction, the page is loaded into the memory, and upon receiving the message, the data are written to the loaded page.
    Type: Grant
    Filed: September 27, 2012
    Date of Patent: May 2, 2017
    Assignee: MELLANOX TECHNOLOGIES, LTD.
    Inventors: Haggai Eran, Shachar Raindel, Liran Liss, Noam Bloch
  • Patent number: 9632901
    Abstract: A method for data transfer includes receiving in a data transfer operation data to be written by a peripheral device to a specified virtual address in a random access memory (RAM) of a host computer. Upon receiving the data, it is detected that a page that contains the specified virtual address is marked as not present in a page table of the host computer. The peripheral device receives a notification that the page is not present and an estimate of a length of time that will be required to make the page available and selects a mode for handling of the data transfer operation depending upon the estimate.
    Type: Grant
    Filed: September 7, 2015
    Date of Patent: April 25, 2017
    Assignee: MELLANOX TECHNOLOGIES, LTD.
    Inventors: Shlomo Raikin, Shachar Raindel, Noam Bloch, Liran Liss
  • Publication number: 20160342547
    Abstract: Peripheral apparatus for use with a host computer includes an add-on device, which includes a first network port coupled to one end of a packet communication link and add-on logic, which is configured to receive and transmit packets containing data over the packet communication link and to perform computational operations on the data. A network interface controller (NIC) includes a host bus interface, configured for connection to the host bus of the host computer and a second network port, coupled to the other end of the packet communication link. Packet processing logic in the NIC is coupled between the host bus interface and the second network port, and is configured to translate between the packets transmitted and received over the packet communication link and transactions executed on the host bus so as to provide access between the add-on device and the resources of the host computer.
    Type: Application
    Filed: May 14, 2016
    Publication date: November 24, 2016
    Inventors: Liran Liss, Shachar Raindel, Shlomo Raikin, Adi Menachem, Yuval Itkin
  • Patent number: 9497125
    Abstract: In a data network congestion control in a virtualized environment is enforced in packet flows to and from virtual machines in a host. A hypervisor and network interface hardware in the host are trusted components. Enforcement comprises estimating congestion states in the data network attributable to respective packet flows, recognizing a new packet that belongs to one of the data packet flows, and using one or more of the trusted components and to make a determination based on the congestion states that the new packet belongs to a congestion-producing packet flow. A congestion-control policy is applied by one or more of the trusted components to the new packet responsively to the determination.
    Type: Grant
    Filed: July 23, 2014
    Date of Patent: November 15, 2016
    Assignee: MELLANOX TECHNOLOGIES LTD.
    Inventors: Shachar Raindel, Noam Bloch, Liran Liss, Diego Crupnicoff, Marina Lipshteyn, Adi Menachem
  • Publication number: 20160330301
    Abstract: Data processing apparatus includes a host processor and a network interface controller (NIC), which is configured to couple the host processor to a packet data network. A memory holds a flow state table containing context information with respect to computational operations to be performed on multiple packet flows conveyed between the host processor and the network. Acceleration logic is coupled to perform the computational operations on payloads of packets in the multiple packet flows using the context information in the flow state table.
    Type: Application
    Filed: May 4, 2016
    Publication date: November 10, 2016
    Inventors: Shachar Raindel, Shlomo Raikin, Liran Liss
  • Publication number: 20160330112
    Abstract: A data processing device includes a first packet communication interface for communication with at least one host processor via a network interface controller (NIC) and a second packet communication interface for communication with a packet data network. A memory holds a flow state table containing context information with respect to multiple packet flows conveyed between the host processor and the network via the first and second interfaces packet communication interfaces. Acceleration logic, coupled between the first and second packet communication interfaces, performs computational operations on payloads of packets in the multiple packet flows using the context information in the flow state table.
    Type: Application
    Filed: May 4, 2016
    Publication date: November 10, 2016
    Inventors: Shachar Raindel, Shlomo Raikin, Liran Liss
  • Publication number: 20160294715
    Abstract: A method in a network element that includes multiple interfaces for connecting to a communication network includes receiving from the communication network via an ingress interface a flow including a sequence of packets, and routing the packets to a destination of the flow via a first egress interface. A permission indication for re-routing the flow is received in the ingress interface. In response to receiving the permission indication, subsequent packets of the flow are re-routed via a second egress interface that is different from the first egress interface. Further re-routing of the flow is refrained from, until receiving another permission indication.
    Type: Application
    Filed: March 31, 2015
    Publication date: October 6, 2016
    Inventors: Shachar Raindel, Idan Burstein, Noam Bloch, Benny Koren, Barak Gafni, Dror Goldenberg, Liran Liss
  • Publication number: 20160294983
    Abstract: A method for data storage includes provisioning, in a cluster of computers, including at least first and second computers, which are connected to a packet data network, a range of RAM on the second computer for use by the first computer. Blocks of data are stored in the provisioned range for use by programs running on the first computer. Upon incurring a page fault on the first computer in response to a request for a page of virtual memory by a program running on the first computer, a block swap request is directed to the NIC of the first computer with respect to the requested page. In response to the block swap request, an RDMA read request is initiated by the NIC via the network to the NIC of the second computer, to retrieve the requested page from the provisioned range, so as to resolve the page fault.
    Type: Application
    Filed: March 30, 2015
    Publication date: October 6, 2016
    Inventors: Yevgeny Kliteynik, Aviad Yehezkel, Liran Liss, Amir Vadai, Eli Cohen, Erez Shitrit, Gabi Liron
  • Publication number: 20160117277
    Abstract: A method for interaction by a central processing unit (CPU) and peripheral devices in a computer includes allocating, in a memory, a work queue for controlling a first peripheral device of the computer. The CPU prepares a work request for insertion in the allocated work queue, the work request specifying an operation for execution by the first peripheral device. A second peripheral device of the computer submits an instruction to the first peripheral device to execute the work request that was prepared by the CPU and thereby to perform the operation specified by the work request.
    Type: Application
    Filed: October 21, 2015
    Publication date: April 28, 2016
    Inventors: Shachar Raindel, Liran Liss
  • Patent number: 9298642
    Abstract: A method for memory access includes maintaining in a host memory, under control of a host operating system running on a central processing unit (CPU), respective address translation tables for multiple processes executed by the CPU. Upon receiving, in a peripheral device, a work item that is associated with a given process, having a respective address translation table in the host memory, and specifies a virtual memory address, the peripheral device translates the virtual memory address into a physical memory address by accessing the respective address translation table of the given process in the host memory. The work item is executed in the peripheral device by accessing data at the physical memory address in the host memory.
    Type: Grant
    Filed: November 1, 2012
    Date of Patent: March 29, 2016
    Assignee: MELLANOX TECHNOLOGIES LTD.
    Inventors: Michael Kagan, Noam Bloch, Liran Liss, Shachar Raindel
  • Publication number: 20160077946
    Abstract: A method for data transfer includes receiving in a data transfer operation data to be written by a peripheral device to a specified virtual address in a random access memory (RAM) of a host computer. Upon receiving the data, it is detected that a page that contains the specified virtual address is marked as not present in a page table of the host computer. The peripheral device receives a notification that the page is not present and an estimate of a length of time that will be required to make the page available and selects a mode for handling of the data transfer operation depending upon the estimate.
    Type: Application
    Filed: September 7, 2015
    Publication date: March 17, 2016
    Inventors: Shlomo Raikin, Shachar Raindel, Noam Bloch, Liran Liss
  • Publication number: 20160043965
    Abstract: Lock access is managed in a data network having an initiator node and a remote target by issuing a lock command from a first process to the remote target via an initiator network interface controller to establish a lock on a memory location, and prior to receiving a reply to the lock command communicating a data access request to the memory location from the initiator network interface controller. Prior to receiving a reply to the data access request, an unlock command issues from the initiator network interface controller. The target network interface controller determines the lock content, and when permitted by the lock accesses the memory location. After accessing the memory location the target network interface controller executes the unlock command. When the lock prevents data access, the lock operation is retried a configurable number of times until data access is allowed or a threshold is exceeded.
    Type: Application
    Filed: June 29, 2015
    Publication date: February 11, 2016
    Inventors: Dror Goldenberg, Liran Liss, Shlomo Raikin
  • Publication number: 20150280972
    Abstract: A network node includes one or more network adapters and a bonding driver. The one or more network adapters are configured to communicate respective data flows over a communication network by applying a transport layer protocol that saves communication state information in a state of a respective network adapter. The bonding driver is configured to exchange traffic including the data flows of an application program that is executed in the network node, to communicate the data flows of the traffic via one or more physical links of the one or more network adapters, and, in response to a physical-transport failure, to switch a given data flow to a different physical link or a different network path, transparently to the application program.
    Type: Application
    Filed: March 24, 2015
    Publication date: October 1, 2015
    Inventors: Gal Sivan, Saeed Mahameed, Vladimir Sokolovsky, Dotan Barak, Liran Liss, Oren Kladnitsky