Patents Assigned to Redis Labs Ltd.
  • Patent number: 10984018
    Abstract: Method, media, and systems for compressing objects, comprising: receiving a request to write a first object including a first key and a first value, wherein the first object is of a given type; receiving a request to write a second object including a second key and a second value, wherein the second object is of the given type; classifying the first object to a compression dictionary according to at least one rule based on a value of the first object and/or the key of the first object; classifying the second object to the compression dictionary according to at least one rule based on a value of the second object and/or the key of the second object; and compressing the first object and the second object based on the compression dictionary.
    Type: Grant
    Filed: July 6, 2017
    Date of Patent: April 20, 2021
    Assignee: Redis Labs Ltd
    Inventors: Yiftach Shoolman, Ofer Bengal
  • Patent number: 10635649
    Abstract: Systems, methods, and media for managing an in-memory NoSQL database are provided. In some embodiments, systems for managing an in-memory NoSQL database are provided, the systems comprising a hardware processor that is configured to: identify a group of keys capable of being included in a complex multi-key database command, the group including a first key and a second key, the first key being associated with a first value and the second key being associated with a second value, the first value and the second value being stored on different servers that are part of the database; and cause the first value and the second value to be both stored on a given server.
    Type: Grant
    Filed: May 24, 2018
    Date of Patent: April 28, 2020
    Assignee: Redis Labs Ltd
    Inventors: Yiftach Shoolman, Ofer Bengal
  • Patent number: 10621235
    Abstract: Mechanisms are provided for resolving database queries. These mechanisms identify a connected component in a query graph corresponding to a database query. They then determine a longest path length for the connected component. Next, the mechanisms select a path having the longest path length and build an algebraic expression for the path. Finally, the mechanisms solve the algebraic expression using matrix-matrix multiplication to provide a solution, and then respond to the query based on the solution.
    Type: Grant
    Filed: June 27, 2019
    Date of Patent: April 14, 2020
    Assignee: Redis Labs Ltd.
    Inventor: Roi Lipman
  • Patent number: 10623486
    Abstract: Methods, systems, and media for providing distributed database access during a network split. In some embodiments, the method comprises: receiving, at a node of N nodes, configuration information of the database which indicates which of the N nodes stores replicated shards of the database including master shards and corresponding slave shards, N being an odd number greater than one; identifying, after a network split, a subset of the N nodes which are capable of communicating with each other; receiving, by a proxy, a request to perform a write operation to an object in the database; determining that a second node included in the subset of the N nodes stores a master shard including the object; determining that the subset includes at least (N+1)/2 nodes; and causing the request to perform the write operation to be routed to the second node.
    Type: Grant
    Filed: June 15, 2016
    Date of Patent: April 14, 2020
    Assignee: Redis Labs Ltd.
    Inventors: Yossi Gottlieb, Yoav Steinberg, Yiftach Shoolman
  • Publication number: 20180267969
    Abstract: Systems, methods, and media for managing an in-memory NoSQL database are provided. In some embodiments, systems for managing an in-memory NoSQL database are provided, the systems comprising a hardware processor that is configured to: identify a group of keys capable of being included in a complex multi-key database command, the group including a first key and a second key, the first key being associated with a first value and the second key being associated with a second value, the first value and the second value being stored on different servers that are part of the database; and cause the first value and the second value to be both stored on a given server.
    Type: Application
    Filed: May 24, 2018
    Publication date: September 20, 2018
    Applicant: Redis Labs Ltd.
    Inventors: Yiftach Shoolman, Ofer Bengal
  • Patent number: 9984106
    Abstract: Systems, methods, and media for managing an in-memory NoSQL database are provided. In some embodiments, systems for managing an in-memory NoSQL database are provided, the systems comprising a hardware processor that is configured to: identify a group of keys capable of being included in a complex multi-key database command, the group including a first key and a second key, the first key being associated with a first value and the second key being associated with a second value, the first value and the second value being stored on different servers that are part of the database; and cause the first value and the second value to be both stored on a given server.
    Type: Grant
    Filed: September 2, 2016
    Date of Patent: May 29, 2018
    Assignee: Redis Labs Ltd.
    Inventors: Yiftach Shoolman, Ofer Bengal
  • Patent number: 9727629
    Abstract: Method, media, and systems for compressing objects, comprising: receiving a request to write a first object including a first key and a first value, wherein the first object is of a given type; receiving a request to write a second object including a second key and a second value, wherein the second object is of the given type; classifying the first object to a compression dictionary according to at least one rule based on a value of the first object and/or the key of the first object; classifying the second object to the compression dictionary according to at least one rule based on a value of the second object and/or the key of the second object; and compressing the first object and the second object based on the compression dictionary.
    Type: Grant
    Filed: October 28, 2013
    Date of Patent: August 8, 2017
    Assignee: Redis Labs Ltd.
    Inventors: Yiftach Shoolman, Ofer Bengal
  • Publication number: 20160371268
    Abstract: Systems, methods, and media for managing an in-memory NoSQL database are provided. In some embodiments, systems for managing an in-memory NoSQL database are provided, the systems comprising a hardware processor that is configured to: identify a group of keys capable of being included in a complex multi-key database command, the group including a first key and a second key, the first key being associated with a first value and the second key being associated with a second value, the first value and the second value being stored on different servers that are part of the database; and cause the first value and the second value to be both stored on a given server.
    Type: Application
    Filed: September 2, 2016
    Publication date: December 22, 2016
    Applicant: Redis Labs Ltd.
    Inventors: Yiftach Shoolman, Ofer Bengal
  • Patent number: 9436710
    Abstract: Systems, methods, and media for managing an in-memory NoSQL database are provided. In some embodiments, systems for managing an in-memory NoSQL database are provided, the systems comprising a hardware processor that is configured to: identify a group of keys capable of being included in a complex multi-key database command, the group including a first key and a second key, the first key being associated with a first value and the second key being associated with a second value, the first value and the second value being stored on different servers that are part of the database; and cause the first value and the second value to be both stored on a given server.
    Type: Grant
    Filed: March 28, 2013
    Date of Patent: September 6, 2016
    Assignee: Redis Labs Ltd.
    Inventors: Yiftach Shoolman, Ofer Bengal
  • Patent number: 8972488
    Abstract: Providing a first control process that executes in a hardware processor, providing a first server process that executes in a hardware processor, that responds to write requests by storing objects in in-memory, non-relational data store, and that responds to read requests by providing objects from in-memory, non-relational data store, wherein the objects each have an object size; forming a plurality of persistent connections between the first control process and the first server process; using the first control process, pipelining, using a pipeline having a pipeline size, requests that include the read requests and the write requests over at least one of the plurality of persistent connections; using the first control process, adjusting the number of plurality of persistent connections and the pipeline size based on an average of the object sizes; and using the first control process, prioritizing requests by request type based on anticipated load from the requests.
    Type: Grant
    Filed: September 28, 2011
    Date of Patent: March 3, 2015
    Assignee: Redis Labs Ltd.
    Inventors: Yiftach Shoolman, Ofer Bengal