Patents by Inventor Ittai Abraham
Ittai Abraham 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: 10795871Abstract: An example computer system includes a memory storing program code and a storage system storing at least a portion of a fragmented log-structured merge (FLSM) tree implementing a key-value store. The FLSM tree includes H levels, where H is an integer greater than one. The computer system further includes a central processing unit (CPU) configured to execute the program code stored in the memory to store a plurality of key-value pairs in the FLSM tree, the key value pairs having keys defined within a key space, the key space divided by a plurality of guards for each of the H levels of the FLSM tree, each of the key-value pairs being stored a maximum of H times in the FLSM tree.Type: GrantFiled: September 26, 2016Date of Patent: October 6, 2020Assignee: VMware, Inc.Inventors: Vijaychidambaram Velayudhan Pillai, Ittai Abraham
-
Publication number: 20200301794Abstract: Techniques for implementing linear view-change in a Byzantine Fault Tolerant (BFT) protocol running on a distributed system comprising n replicas are provided. According to one set of embodiments, at a time of performing a view-change from a current view number v to a new view number v+1, a replica in the n replicas corresponding to a new proposer for new view number v+1 can generate a PREPARE message comprising a single COMMIT certificate, where the single COMMIT certificate is the highest COMMIT certificate the new proposer is aware of. The new proposer can then transmit the PREPARE message with the single COMMIT certificate to all other replicas in the n replicas.Type: ApplicationFiled: June 10, 2020Publication date: September 24, 2020Inventors: Ittai Abraham, Dahlia Malkhi, Guy Golan Gueta
-
Patent number: 10747629Abstract: Techniques for implementing linear view-change with optimistic responsiveness in a BFT protocol running on a distributed system comprising n replicas are provided. According to one set of embodiments, the replicas can execute, during a view v of the BFT protocol, a first voting round comprising communicating instances of a first type of COMMIT certificate among the replicas. Further, when 2f+1 instances of the first type of COMMIT certificate associated with view v have been received by the replicas, the replicas can execute a second voting round comprising communicating instances of a second type of COMMIT certificate among the replicas. If 2f+1 instances of the second type of COMMIT certificate associated with view v are not received by the replicas within a predetermined timeout period, a view change can be initiated from view v to a view v+1.Type: GrantFiled: December 27, 2018Date of Patent: August 18, 2020Assignee: VMware, Inc.Inventors: Ittai Abraham, Dahlia Malkhi, Guy Golan Gueta, Maofan Yin, Michael Reiter
-
Patent number: 10713133Abstract: Techniques for implementing linear view-change in a Byzantine Fault Tolerant (BFT) protocol running on a distributed system comprising n replicas are provided. According to one set of embodiments, at a time of performing a view-change from a current view number v to a new view number v+1, a replica in the n replicas corresponding to a new proposer for new view number v+1 can generate a PREPARE message comprising a single COMMIT certificate, where the single COMMIT certificate is the highest COMMIT certificate the new proposer is aware of. The new proposer can then transmit the PREPARE message with the single COMMIT certificate to all other replicas in the n replicas.Type: GrantFiled: June 11, 2018Date of Patent: July 14, 2020Assignee: VMware, Inc.Inventors: Ittai Abraham, Dahlia Malkhi, Guy Golan Gueta
-
Publication number: 20200151066Abstract: Techniques for implementing Byzantine fault tolerance with verifiable secret sharing at constant overhead are provided. In one set of embodiments, a client can determine a secret value s to be shared with N replicas in a distributed system, s being input data for a service operation provided by the N replicas. The client can further encode s into an f-degree polynomial P(x) where f corresponds to a maximum number of faulty replicas in the distributed system, evaluate P(x) at i for i=1 to N resulting in N evaluations P(i), generate at least one f-degree recovery polynomial R(x) based on a distributed pseudo-random function (DPRF) f?(x), and evaluate R(x) at i for i=1 to N resulting in at least N evaluations R(i). The client can then invoke the service operation, the invoking comprising transmitting a message including P(i) and R(i) to each respective replica i.Type: ApplicationFiled: January 10, 2020Publication date: May 14, 2020Inventors: Soumya Basu, Alin Tomescu, Dahlia Malkhi, Michael Reiter, Adrian Seredinschi, Ittai Abraham, Guy Golan Gueta
-
Publication number: 20200151268Abstract: A buffer tree structure includes, at each internal node, a buffer having a compacted portion and an uncompacted portion. Insertion of data elements to the buffer tree can occur units called packets. A packet is initially stored in the uncompacted portion of a receiving node's buffer. When a compaction trigger condition exists, packet compaction is performed including a data element compaction operation. A buffer-emptying (flush) operation pushes the compacted packets to children nodes.Type: ApplicationFiled: November 8, 2018Publication date: May 14, 2020Inventors: Robert T. Johnson, Abhishek Gupta, Jorge Guerra Delgado, Ittai Abraham, Richard P. Spillane, Srinath Premachandran, Sandeep Rangaswamy, Kapil Chowksey
-
Publication number: 20200089788Abstract: A buffer tree structure includes, at each internal node, a buffer having a compacted portion and an uncompacted portion. Insertion of data elements to the buffer tree can occur units called packets. A packet is initially stored in the uncompacted portion of a receiving node's buffer. When a compaction trigger condition exists, packet compaction is performed including a data element compaction operation. A buffer-emptying (flush) operation pushes the compacted packets to children nodes.Type: ApplicationFiled: September 18, 2018Publication date: March 19, 2020Inventors: Robert T. Johnson, Ittai Abraham, Abhishek Gupta, Richard P. Spillane, Srinath Premachandran, Jorge Guerra Delgado, Sandeep Rangaswamy, Kapil Chowksey
-
Publication number: 20200081805Abstract: The disclosure describes a failure-free execution agreement that includes n=3F+1 parties acting as replicas, and a number of parties acting as clients. One replica is designated as a primary. At most F replicas are presumed Byzantine faulty. The basic agreement protocol proceeds in three rounds: (1) client sends a request to the primary, who sends to all replicas; (2) each replica sends a threshold-part signature on hash to a first collector; (3) the collector combines the threshold-parts into a single signature and sends to all 3F+1 replicas which then commit and send to a second collector. The client proceeds when a signed block of requests arrives from the second collector.Type: ApplicationFiled: November 11, 2019Publication date: March 12, 2020Inventors: Ittai Abraham, Dahlia Malkhi, Alexander Spiegelman, Guy Golan Gueta
-
Patent number: 10572352Abstract: Techniques for implementing Byzantine fault tolerance with verifiable secret sharing at constant overhead are provided. In one set of embodiments, a client can determine a secret value s to be shared with N replicas in a distributed system, s being input data for a service operation provided by the N replicas. The client can further encode s into an f-degree polynomial P(x) where f corresponds to a maximum number of faulty replicas in the distributed system, evaluate P(x) at i for i=1 to N resulting in N evaluations P(i), generate at least one f-degree recovery polynomial R(x) based on a distributed pseudo-random function (DPRF) f?(x), and evaluate R(x) at i for i=1 to N resulting in at least N evaluations R(i). The client can then invoke the service operation, the invoking comprising transmitting a message including P(i) and R(i) to each respective replica i.Type: GrantFiled: November 1, 2017Date of Patent: February 25, 2020Assignee: VMWARE, INC.Inventors: Soumya Basu, Alin Tomescu, Dahlia Malkhi, Michael Reiter, Adrian Seredinschi, Ittai Abraham, Guy Golan Gueta
-
Publication number: 20200012735Abstract: A buffer tree structure includes, at each internal node, a buffer having a compacted portion and an uncompacted portion. Insertion of data elements to the buffer tree can occur units called packets. A packet is initially stored in the uncompacted portion of a receiving node's buffer. After a time, packets in the uncompacted portion of a buffer are combined into compacted packets in the compacted portion of the buffer. A buffer-emptying (flush) operation pushes the compacted packets to children nodes.Type: ApplicationFiled: July 6, 2018Publication date: January 9, 2020Inventors: Robert T Johnson, Ittai Abraham, Abhishek Gupta, Richard P Spillane, Sandeep Rangaswamy, Jorge Guerra Delgado, Srinath Premachandran, Kapil Chowksey
-
Publication number: 20190377645Abstract: Techniques for implementing linear view-change with optimistic responsiveness in a BFT protocol running on a distributed system comprising n replicas are provided. According to one set of embodiments, the replicas can execute, during a view v of the BFT protocol, a first voting round comprising communicating instances of a first type of COMMIT certificate among the replicas. Further, when 2f+1 instances of the first type of COMMIT certificate associated with view v have been received by the replicas, the replicas can execute a second voting round comprising communicating instances of a second type of COMMIT certificate among the replicas. If 2f+1 instances of the second type of COMMIT certificate associated with view v are not received by the replicas within a predetermined timeout period, a view change can be initiated from view v to a view v+1.Type: ApplicationFiled: December 27, 2018Publication date: December 12, 2019Applicant: VMware, Inc.Inventors: Ittai Abraham, Dahlia Malkhi, Guy Golan Gueta, Maofan Yin, Michael Reiter
-
Publication number: 20190377648Abstract: Techniques for implementing linear view-change in a Byzantine Fault Tolerant (BFT) protocol running on a distributed system comprising n replicas are provided. According to one set of embodiments, at a time of performing a view-change from a current view number v to a new view number v+1, a replica in the n replicas corresponding to a new proposer for new view number v+1 can generate a PREPARE message comprising a single COMMIT certificate, where the single COMMIT certificate is the highest COMMIT certificate the new proposer is aware of. The new proposer can then transmit the PREPARE message with the single COMMIT certificate to all other replicas in the n replicas.Type: ApplicationFiled: June 11, 2018Publication date: December 12, 2019Inventors: Ittai Abraham, Dahlia Malkhi, Guy Golan Gueta
-
Patent number: 10503614Abstract: The disclosure describes a failure-free execution agreement that includes n=3F+1 parties acting as replicas, and a number of parties acting as clients. One replica is designated as a primary. At most F replicas are presumed Byzantine faulty. The basic agreement protocol proceeds in three rounds: (1) client sends a request to the primary, who sends to all replicas; (2) each replica sends a threshold-part signature on hash to a first collector; (3) the collector combines the threshold-parts into a single signature and sends to all 3F+1 replicas which then commit and send to a second collector. The client proceeds when a signed block of requests arrives from the second collector.Type: GrantFiled: July 18, 2017Date of Patent: December 10, 2019Assignee: VMware, Inc.Inventors: Ittai Abraham, Dahlia Malkhi, Alexander Spiegelman, Guy Golan Gueta
-
Publication number: 20190268149Abstract: The current document is directed to distributed-secure-storage systems, and processes carried out within the distributed-secure-storage systems, that provide for secure storage and retrieval of secrets within distributed computer systems, including private encryption keys used for client authentication during establishment of secure communications channels. The secret-storage systems partition an input secret into multiple secret shares and distribute the secret shares among multiple secret-share-storing node subsystems, without persistently storing the secret itself. An agent within a client device subsequently requests a secret share corresponding to a secret, or a share of data derived from the secret share, from each of the multiple secret-share-storing nodes.Type: ApplicationFiled: February 28, 2018Publication date: August 29, 2019Applicant: VMware, Inc.Inventors: Asaf Kariv, Ittai Abraham, Yotam Harchol
-
Publication number: 20190129809Abstract: Techniques for implementing Byzantine fault tolerance with verifiable secret sharing at constant overhead are provided. In one set of embodiments, a client can determine a secret value s to be shared with N replicas in a distributed system, s being input data for a service operation provided by the N replicas. The client can further encode s into an f-degree polynomial P(x) where f corresponds to a maximum number of faulty replicas in the distributed system, evaluate P(x) at i for i=1 to N resulting in N evaluations P(i), generate at least one f-degree recovery polynomial R(x) based on a distributed pseudo-random function (DPRF) f?(x), and evaluate R(x) at i for i=1 to N resulting in at least N evaluations R(i). The client can then invoke the service operation, the invoking comprising transmitting a message including P(i) and R(i) to each respective replica i.Type: ApplicationFiled: November 1, 2017Publication date: May 2, 2019Inventors: Soumya Basu, Alin Tomescu, Dahlia Malkhi, Michael Reiter, Adrian Seredinschi, Ittai Abraham, Guy Golan Gueta
-
Publication number: 20180307573Abstract: The disclosure describes a failure-free execution agreement that includes n=3F+1 parties acting as replicas, and a number of parties acting as clients. One replica is designated as a primary. At most F replicas are presumed Byzantine faulty. The basic agreement protocol proceeds in three rounds: (1) client sends a request to the primary, who sends to all replicas; (2) each replica sends a threshold-part signature on hash to a first collector; (3) the collector combines the threshold-parts into a single signature and sends to all 3F+1 replicas which then commit and send to a second collector. The client proceeds when a signed block of requests arrives from the second collector.Type: ApplicationFiled: July 18, 2017Publication date: October 25, 2018Inventors: Ittai Abraham, Dahlia Malkhi, Alexander Spiegelman, Guy Golan Gueta
-
Publication number: 20180308091Abstract: A technique is disclosed for building agreement among a plurality of servers who receive a transaction from clients. The technique includes each server broadcasting its received transaction to all other servers. Each server uses the set of transactions that it received from all servers (including its own transaction) to produce an echo that represents the set of transactions, and broadcasts the echo. Each will commit its transaction to a log if its echo matches each echo received from the other servers. The present disclosure can detect byzantine failures and punishes deviating participating servers by reconfiguring the plurality of servers that participate in the protocol.Type: ApplicationFiled: July 18, 2017Publication date: October 25, 2018Inventors: Dahlia Malkhi, Ittai Abraham, Alexander Spiegelman, Guy Golan Gueta
-
Publication number: 20180089244Abstract: An example computer system includes a memory storing program code and a storage system storing at least a portion of a fragmented log-structured merge (FLSM) tree implementing a key-value store. The FLSM tree includes H levels, where H is an integer greater than one. The computer system further includes a central processing unit (CPU) configured to execute the program code stored in the memory to store a plurality of key-value pairs in the FLSM tree, the key value pairs having keys defined within a key space, the key space divided by a plurality of guards for each of the H levels of the FLSM tree, each of the key-value pairs being stored a maximum of H times in the FLSM tree.Type: ApplicationFiled: September 26, 2016Publication date: March 29, 2018Inventors: Vijaychidambaram VELAYUDHAN PILLAI, Ittai ABRAHAM
-
Patent number: 9792827Abstract: Entities that answer questions are organized into entity groups. An interface determines an answer to a question from one of the entity groups with a confidence that is greater than a second confidence threshold. To determine the answer, the interface performs an exploration phase where the interface asks the question to each of the entity groups. Entity groups that provide answers with a confidence that is greater than a first confidence threshold are selected for a subset. The interface enters an exploitation phase where the question is asked of the entity groups in the subset. If an answer is determined with a confidence that is greater than the second confidence threshold, then the answer is provided. If no answer is determined before a duration of time expires, then the interface enters a rollback phase where all of the entity groups are considered.Type: GrantFiled: April 2, 2012Date of Patent: October 17, 2017Assignee: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: Ittai Abraham, Omar Alonso, Vasilis Kandylas, Aleksandrs Slivkins
-
Patent number: 9439053Abstract: A graph of a social network is received. The graph may include a node for each user account and an edge between nodes that represent social networking relationships such as messages between the user accounts or a friend relationship. The graph is transformed into a transformed graph where nodes have direct edges depending on a local test among its neighbors in the original graph. Small subsets of the transformed graph are categorized. The categories are used to identify subgraphs in the transformed graph. Each subgraph is grown by adding an edge from the transformed graph to the subgraph depending on local tests among nodes associated with the edge that have at least one edge that is already in the subgraph. The categorized subgraphs are used to provide targeted advertising, suggest new connections, identify different personalities and interests of users, or to provide other services.Type: GrantFiled: January 30, 2013Date of Patent: September 6, 2016Assignee: Microsoft Technology Licensing, LLCInventors: Ittai Abraham, Joseph K. Bradley, Shiri Chechik, Moises Goldszmidt, Aleksandrs Slivkins, David Kempe