Patents by Inventor Yiftach Shoolman

Yiftach Shoolman 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: 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
  • Patent number: 8954478
    Abstract: In some embodiments, systems for managing an in-memory NoSQL database are provided, the systems comprising a hardware processor that is configured to: receive a dataset; split the dataset into a plurality of parts of the dataset; and storing each of the plurality of parts of the dataset in a separate one of plurality of 32-bit software architecture in-memory NoSQL databases.
    Type: Grant
    Filed: March 28, 2013
    Date of Patent: February 10, 2015
    Inventors: Yiftach Shoolman, Ofer Bengal
  • Publication number: 20140052762
    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: Application
    Filed: October 28, 2013
    Publication date: February 20, 2014
    Inventors: Yiftach Shoolman, Ofer Bengal
  • Patent number: 8595268
    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: September 28, 2011
    Date of Patent: November 26, 2013
    Assignee: Garantia Data Ltd.
    Inventors: Yiftach Shoolman, Ofer Bengal
  • Publication number: 20130232177
    Abstract: In some embodiments, systems for managing an in-memory NoSQL database are provided, the systems comprising a hardware processor that is configured to: receive a dataset; split the dataset into a plurality of parts of the dataset; and storing each of the plurality of parts of the dataset in a separate one of plurality of 32-bit software architecture in-memory NoSQL databases.
    Type: Application
    Filed: March 28, 2013
    Publication date: September 5, 2013
    Inventors: Yiftach Shoolman, Ofer Bengal
  • Publication number: 20130226971
    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: March 28, 2013
    Publication date: August 29, 2013
    Inventors: Yiftach Shoolman, Ofer Bengal
  • Publication number: 20120078978
    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: Application
    Filed: September 28, 2011
    Publication date: March 29, 2012
    Inventors: Yiftach Shoolman, Ofer Bengal
  • Publication number: 20120079484
    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: Application
    Filed: September 28, 2011
    Publication date: March 29, 2012
    Inventors: Yiftach Shoolman, Ofer Bengal
  • Patent number: 7664833
    Abstract: A method for managing connections between at least one client and at least one data server, said method comprises: (a) providing an intermediary connection apparatus comprising connections to a plurality of clients over a WAN or a LAN environment, said apparatus comprising memory buffers and at least one connection to each of said at least one data server(s) being continuously open; (b) establishing a client network connection between said apparatus and one of said clients via a network; (c) receiving a client request to receive a response from a data server over said client network connection; (d) forwarding to the data server either a request or a partial request; (e) limiting the size of the response or partial response that the server is allowed to provide at a given time to said apparatus in response to said client request; and (f) buffering data encoding requests and responses in said apparatus according to data traffic load over the connection to said server and to said client, respectively.
    Type: Grant
    Filed: December 3, 2004
    Date of Patent: February 16, 2010
    Assignee: Crescendo Networks, Ltd.
    Inventors: Yiftach Shoolman, Yigal Rappaport, Yehuda Meiman
  • Publication number: 20060020598
    Abstract: A method for managing connections between at least one client and at least one data server, said method comprises: (a) providing an intermediary connection apparatus comprising connections to a plurality of clients over a WAN or a LAN environment, said apparatus comprising memory buffers and at least one connection to each of said at least one data server(s) being continuously open; (b) establishing a client network connection between said apparatus and one of said clients via a network; (c) receiving a client request to receive a response from a data server over said client network connection; (d) forwarding to the data server either a request or a partial request; (e) limiting the size of the response or partial response that the server is allowed to provide at a given time to said apparatus in response to said client request; and (f) buffering data encoding requests and responses in said apparatus according to data traffic load over the connection to said server and to said client, respectively.
    Type: Application
    Filed: December 3, 2004
    Publication date: January 26, 2006
    Inventors: Yiftach Shoolman, Yigal Rappaport, Yehuda Meiman
  • Publication number: 20050216554
    Abstract: A caching method for decreasing the number of access requests for object files that are forwarded from user computers to a server farm having computers operating with web-based applications via a network. A cache memory at the server farm function as an interface between the server computers and the network infrastructure, via which access requests are forwarded by the computers. The most current popular object files are stored in the cache memory; and the cache memory, in place of the server computers, accepts requests from one of the user computers for an object file. If the object file is stored in the cache memory it is forwarded to the requesting user computer; and if the object file is not stored in the cache memory, the request is forwarded to the server computers.
    Type: Application
    Filed: February 17, 2005
    Publication date: September 29, 2005
    Inventors: Yehuda Meiman, Yiftach Shoolman