Patents by Inventor Amit Margalit

Amit Margalit 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: 11150890
    Abstract: A method, system, and computer program product for file system synchronization-based updating is provided. The method identifies an update request associated with a software update. Based on the update request, the method modifies one or more data object on a synchronization array. The modification to the data object corresponds to the software update of the update request. The method validates the modification to the one or more data objects to ensure a match between elements of the synchronization array. A persistent RAM state is established for an element of the synchronization array. The method initiates a reboot to complete the update request. The reboot applies the software update to one or more elements of the synchronization array.
    Type: Grant
    Filed: September 12, 2019
    Date of Patent: October 19, 2021
    Assignee: International Business Machines Corporation
    Inventors: Eliran Zada, Amit Margalit, Eli Koren, Vadim Idelchuk
  • Publication number: 20210081191
    Abstract: A method, system, and computer program product for file system synchronization-based updating is provided. The method identifies an update request associated with a software update. Based on the update request, the method modifies one or more data object on a synchronization array. The modification to the data object corresponds to the software update of the update request. The method validates the modification to the one or more data objects to ensure a match between elements of the synchronization array. A persistent RAM state is established for an element of the synchronization array. The method initiates a reboot to complete the update request. The reboot applies the software update to one or more elements of the synchronization array.
    Type: Application
    Filed: September 12, 2019
    Publication date: March 18, 2021
    Inventors: ELIRAN ZADA, AMIT MARGALIT, Eli Koren, VADIM IDELCHUK
  • Patent number: 10833702
    Abstract: Interpolated search is provided for navigating a compressed file to identify a desired offset in an uncompressed version of the file by: determining a low point and a high point in an uncompressed version of a stream corresponding to a compressed version of the stream that is divided into a plurality of chunks; calculating an average compression ratio between the low point and the high point; interpolating a position in the compressed version of a desired offset in the uncompressed version to identify a bifurcation chunk of the plurality of chunks that includes the interpolated position; reading an offset of the bifurcation chunk; and in response to determining that the desired offset is within a threshold distance of the offset of the bifurcation chunk, decompressing the compressed version from the bifurcation chunk until the desired offset is output.
    Type: Grant
    Filed: September 19, 2019
    Date of Patent: November 10, 2020
    Assignee: International Business Machines Corporation
    Inventors: Amit Margalit, Ovadi Somech, Eran Tzabari, Eliran Zada
  • Patent number: 10691343
    Abstract: Methods, computing systems and computer program products implement embodiments of the present invention that include identifying, in a storage system including multiple storage devices having respective sets of storage regions, respective default low storage region thresholds that are used for garbage collection. For each given storage region, a time threshold and an alternative low storage region threshold greater than the default low storage region threshold for the given storage device are defined. While processing input/output operations for each given storage device, a count of unused storage regions in the given storage device is maintained, a timer is initialized, and upon the timer matching the time threshold for the given storage device, a garbage collection operation is initiated. In some embodiments, processing the input/output operations includes using a log-structured array format.
    Type: Grant
    Filed: September 20, 2018
    Date of Patent: June 23, 2020
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Nikolas Ioannou, Ioannis Koltsidas, Amit Margalit, Rivka Matosevich
  • Patent number: 10642903
    Abstract: Methods, computing systems and computer program products implement embodiments of the present invention that include defining multiple group names, and identifying multiple system objects in a computer system such as a storage system. Examples of system objects include physical objects such as storage devices, network objects such as IP addresses, and logical objects such as logical volumes. Each of the system devices is tagged with a given group name, and upon receiving a query including a condition and an operation, one or more of the system devices matching the condition are identified, and the operation is performed on the one or more identified system objects. In some embodiments, the operation may include retrieving a parameter associated with the one or more identified system objects, and presenting a result of the query. In alternative embodiments, the operation may include updating a parameter associated with the one or more identified system objects.
    Type: Grant
    Filed: September 29, 2014
    Date of Patent: May 5, 2020
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Zah Barzik, Lior Chen, Dan Cohen, Amit Margalit
  • Patent number: 10637921
    Abstract: Methods, computing systems and computer program products implement embodiments of the present invention that include initializing multiple computing nodes to execute one or more software applications that provide a computing service, each of the computing nodes having a respective set of configuration data. Examples of the services include storage services, computational services and web service. Subsequent to deploying the multiple computing nodes as a software defined computing (SDC) cluster, an additional computing node is initialized using a given set of configuration data, and the additional computing node is added to the SDC cluster. In some embodiments, the additional node can be initialized and added to the SDC cluster in response to detecting a condition in the SDC cluster. In alternative embodiments, the additional node can be initialized and added to the SDC cluster in response to receiving a request to add an additional service to the SDC cluster.
    Type: Grant
    Filed: April 24, 2018
    Date of Patent: April 28, 2020
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Zah Barzik, Maxim Kalaev, Eli Koren, Amit Margalit, Eran Tzabari
  • Patent number: 10528408
    Abstract: A mechanism is provided in a data processing system comprising a processor and a memory, the memory comprising instructions that are executed by the processor to specifically configure the processor to implement an initiator entity in a symmetric split-direction connection. The initiator entity generates a custom keepalive command and sends the custom keepalive command to a target entity via the symmetric split-direction connection. Responsive to the initiator entity determining a number of consecutive acknowledgement commands received in response to custom keepalive commands exceed a first threshold, the initiator entity reports the symmetric split-direction connection as sufficient. Responsive to the initiator entity determining a second number of consecutive keepalive commands sent without receiving an acknowledgement is greater than a second threshold, the initiator entity reports the symmetric split-direction connection as insufficient.
    Type: Grant
    Filed: March 6, 2018
    Date of Patent: January 7, 2020
    Assignee: International Business Machines Corporation
    Inventors: Kobi Beifus, Dan Ben-Yaacov, Ofer Leneman, Amit Margalit, Rivka Matosevich, Tamar Shacked, Ovad Somech
  • Publication number: 20190294346
    Abstract: A data handling system includes multiple storage devices that each have a limited number of write and erase iterations. In one scheme, a deterministic endurance delta is created between a storage device (benchmark storage device), and the other storage devices so that the benchmark storage device has less endurance than the other storage devices. The benchmark storage device will likely reach endurance failure prior to the other storage devices and the probability of non-simultaneous endurance failure increases. In another scheme, a deterministic endurance delta is created between each of the storage devices so that each of the storage devices have a different endurance level than the other storage devices. By implementing the endurance delta simultaneous endurance failures of the storage devices may be avoided.
    Type: Application
    Filed: March 26, 2018
    Publication date: September 26, 2019
    Inventors: Zah Barzik, Ramy Buechler, Maxim Kalaev, Michael Keller, Amit Margalit, Rivka Matosevich
  • Publication number: 20190278650
    Abstract: A mechanism is provided in a data processing system comprising a processor and a memory, the memory comprising instructions that are executed by the processor to specifically configure the processor to implement an initiator entity in a symmetric split-direction connection. The initiator entity generates a custom keepalive command and sends the custom keepalive command to a target entity via the symmetric split-direction connection. Responsive to the initiator entity determining a number of consecutive acknowledgement commands received in response to custom keepalive commands exceed a first threshold, the initiator entity reports the symmetric split-direction connection as sufficient. Responsive to the initiator entity determining a second number of consecutive keepalive commands sent without receiving an acknowledgement is greater than a second threshold, the initiator entity reports the symmetric split-direction connection as insufficient.
    Type: Application
    Filed: March 6, 2018
    Publication date: September 12, 2019
    Inventors: Kobi Beifus, Dan Ben-Yaacov, Ofer Leneman, Amit Margalit, Rivka Matosevich, Tamar Shacked, Ovad Somech
  • Publication number: 20190138211
    Abstract: Methods, computing systems and computer program products implement embodiments of the present invention that include identifying, in a storage system including multiple storage devices having respective sets of storage regions, respective default low storage region thresholds that are used for garbage collection. For each given storage region, a time threshold and an alternative low storage region threshold greater than the default low storage region threshold for the given storage device are defined. While processing input/output operations for each given storage device, a count of unused storage regions in the given storage device is maintained, a timer is initialized, and upon the timer matching the time threshold for the given storage device, a garbage collection operation is initiated. In some embodiments, processing the input/output operations includes using a log-structured array format.
    Type: Application
    Filed: September 20, 2018
    Publication date: May 9, 2019
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Nikolas IOANNOU, Ioannis KOLTSIDAS, Amit MARGALIT, Rivka MATOSEVICH
  • Patent number: 10235283
    Abstract: A technique for supporting in-place updates in a data storage system includes in response to garbage collection for a logical block address (LBA) being indicated, determining whether an in-place update to the LBA is pending. In response to one or more in-place updates to the LBA being pending prior to the garbage collection for the LBA being indicated, the garbage collection for the LBA is initiated following completion of the one or more in-place updates to the LBA. In response to the one or more in-place updates to the LBA not being pending prior to the garbage collection for the LBA being indicated, the garbage collection for the LBA is completed prior to any subsequent in-place update to the LBA that occurs subsequent to initiation and prior to completion of the garbage collection for the LBA.
    Type: Grant
    Filed: March 14, 2017
    Date of Patent: March 19, 2019
    Assignee: International Business Machines Corporation
    Inventors: Zah Barzik, Nikolas Ioannou, Ioannis Koltsidas, Amit Margalit
  • Publication number: 20190057043
    Abstract: A storage system (system) includes two storage devices (first device and second device). The first device stores encrypted user data prior to being enrolled with an external key server. The system generates a device access key (DAK) and a device encryption key (DEK) used to encrypt such user data and encrypts the DEK with the DAK to generate an encrypted DEK (DEK?). The system stores DEK? in the second device and stores DAK in the first device. The system enrolls the first device with the key server and receives a secure encryption key (SEK). The system obtains DEK? and DAK, which are subsequently deleted from the first and second storage device, respectively. A new DAK? is generated utilizing SEK and a first device identifier. The DEK is encrypted utilizing DAK? to form DEK?. The system indicates DAK? is an externally derived key and saves DEK? to the second device.
    Type: Application
    Filed: August 17, 2017
    Publication date: February 21, 2019
    Inventors: Zah Barzik, Ronen Gazit, Ofer Leneman, Amit Margalit
  • Patent number: 10108346
    Abstract: Methods, computing systems and computer program products implement embodiments of the present invention that include identifying, in a storage system including multiple storage devices having respective sets of storage regions, respective default low storage region thresholds that are used for garbage collection. For each given storage region, a time threshold and an alternative low storage region threshold greater than the default low storage region threshold for the given storage device are defined. While processing input/output operations for each given storage device, a count of unused storage regions in the given storage device is maintained, a timer is initialized, and upon the timer matching the time threshold for the given storage device, a garbage collection operation is initiated. In some embodiments, processing the input/output operations includes using a log-structured array format.
    Type: Grant
    Filed: November 7, 2017
    Date of Patent: October 23, 2018
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Nikolas Ioannou, Ioannis Koltsidas, Amit Margalit, Rivka M. Matosevich
  • Publication number: 20180267893
    Abstract: A technique for supporting in-place updates in a data storage system includes in response to garbage collection for a logical block address (LBA) being indicated, determining whether an in-place update to the LBA is pending. In response to one or more in-place updates to the LBA being pending prior to the garbage collection for the LBA being indicated, the garbage collection for the LBA is initiated following completion of the one or more in-place updates to the LBA. In response to the one or more in-place updates to the LBA not being pending prior to the garbage collection for the LBA being indicated, the garbage collection for the LBA is completed prior to any subsequent in-place update to the LBA that occurs subsequent to initiation and prior to completion of the garbage collection for the LBA.
    Type: Application
    Filed: March 14, 2017
    Publication date: September 20, 2018
    Inventors: ZAH BARZIK, NIKOLAS IOANNOU, IOANNIS KOLTSIDAS, AMIT MARGALIT
  • Publication number: 20180241808
    Abstract: Methods, computing systems and computer program products implement embodiments of the present invention that include initializing multiple computing nodes to execute one or more software applications that provide a computing service, each of the computing nodes having a respective set of configuration data. Examples of the services include storage services, computational services and web service. Subsequent to deploying the multiple computing nodes as a software defined computing (SDC) cluster, an additional computing node is initialized using a given set of configuration data, and the additional computing node is added to the SDC cluster. In some embodiments, the additional node can be initialized and added to the SDC cluster in response to detecting a condition in the SDC cluster. In alternative embodiments, the additional node can be initialized and added to the SDC cluster in response to receiving a request to add an additional service to the SDC cluster.
    Type: Application
    Filed: April 24, 2018
    Publication date: August 23, 2018
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Zah BARZIK, Maxim KALAEV, Eli KOREN, Amit MARGALIT, Eran TZABARI
  • Patent number: 9992276
    Abstract: Methods, computing systems and computer program products implement embodiments of the present invention that include initializing multiple computing nodes to execute one or more software applications that provide a computing service, each of the computing nodes having a respective set of configuration data. Examples of the services include storage services, computational services and web service. Subsequent to deploying the multiple computing nodes as a software defined computing (SDC) cluster, an additional computing node is initialized using a given set of configuration data, and the additional computing node is added to the SDC cluster. In some embodiments, the additional node can be initialized and added to the SDC cluster in response to detecting a condition in the SDC cluster. In alternative embodiments, the additional node can be initialized and added to the SDC cluster in response to receiving a request to add an additional service to the SDC cluster.
    Type: Grant
    Filed: September 25, 2015
    Date of Patent: June 5, 2018
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Zah Barzik, Maxim Kalaev, Eli Koren, Amit Margalit, Eran Tzabari
  • Publication number: 20180059942
    Abstract: Methods, computing systems and computer program products implement embodiments of the present invention that include identifying, in a storage system including multiple storage devices having respective sets of storage regions, respective default low storage region thresholds that are used for garbage collection. For each given storage region, a time threshold and an alternative low storage region threshold greater than the default low storage region threshold for the given storage device are defined. While processing input/output operations for each given storage device, a count of unused storage regions in the given storage device is maintained, a timer is initialized, and upon the timer matching the time threshold for the given storage device, a garbage collection operation is initiated. In some embodiments, processing the input/output operations includes using a log-structured array format.
    Type: Application
    Filed: November 7, 2017
    Publication date: March 1, 2018
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Nikolas IOANNOU, Ioannis KOLTSIDAS, Amit MARGALIT, Rivka M. MATOSEVICH
  • Patent number: 9880745
    Abstract: Methods, computing systems and computer program products implement embodiments of the present invention that include identifying, in a storage system including multiple storage devices having respective sets of storage regions, respective default low storage region thresholds that are used for garbage collection. For each given storage region, a time threshold and an alternative low storage region threshold greater than the default low storage region threshold for the given storage device are defined. While processing input/output operations for each given storage device, a count of unused storage regions in the given storage device is maintained, a timer is initialized, and upon the timer matching the time threshold for the given storage device and upon the count of unused storage regions being less than or equal to the alternative low storage region threshold, a garbage collection operation is initiated.
    Type: Grant
    Filed: June 21, 2016
    Date of Patent: January 30, 2018
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Nikolas Ioannou, Ioannis Koltsidas, Amit Margalit, Rivka M. Matosevich
  • Publication number: 20170364264
    Abstract: Methods, computing systems and computer program products implement embodiments of the present invention that include identifying, in a storage system including multiple storage devices having respective sets of storage regions, respective default low storage region thresholds that are used for garbage collection. For each given storage region, a time threshold and an alternative low storage region threshold greater than the default low storage region threshold for the given storage device are defined. While processing input/output operations for each given storage device, a count of unused storage regions in the given storage device is maintained, a timer is initialized, and upon the timer matching the time threshold for the given storage device and upon the count of unused storage regions being less than or equal to the alternative low storage region threshold, a garbage collection operation is initiated.
    Type: Application
    Filed: June 21, 2016
    Publication date: December 21, 2017
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Nikolas IOANNOU, Ioannis KOLTSIDAS, Amit MARGALIT, Rivka M. MATOSEVICH
  • Patent number: 9798474
    Abstract: Methods, computing systems and computer program products implement embodiments of the present invention that include collecting, from a software-defined storage system including one or more computing nodes that are configured to provide a storage service, performance metrics for each of the computing nodes, and detecting, based on the performance metrics, a performance bottleneck in the software-defined storage system. In embodiments of the present invention, each of the computing nodes includes one or more software modules and one or more hardware components, and the performance bottleneck is either a given software module or a given hardware component. In some embodiments, detecting the performance bottleneck includes predicting the performance bottleneck. Upon detecting the performance bottleneck, a solution for the performance bottleneck can be determined, and the performance bottleneck and the solution can be presented to a user on a display.
    Type: Grant
    Filed: September 25, 2015
    Date of Patent: October 24, 2017
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Zah Barzik, Yaacov Frank, Tomer Goldberg, Amit Margalit, Rivka M. Matosevich, Osnat Shasha