Patents by Inventor Joshua Durgin

Joshua Durgin 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: 11809709
    Abstract: Metadata sizes for data objects in cloud storage systems can be reduced. For example, a computing system can receive, at a client device of a cloud storage system, a first object identifier associated with a data object in the cloud storage system. The computing system can use a reduction function to generate a second object identifier associated with the data object. The second object identifier can have a smaller byte size than the first object identifier. The computing system can transmit, to a server of the cloud storage system, the second object identifier to be stored in metadata associated with the data object in the cloud storage system.
    Type: Grant
    Filed: March 2, 2021
    Date of Patent: November 7, 2023
    Assignee: RED HAT, INC.
    Inventors: Gabriel Zvi BenHanokh, Joshua Durgin
  • Patent number: 11789908
    Abstract: Garbage collection for a log-structured file system can be offloaded from a processor to an internal controller of a storage device, such as a solid-state drive. For example, an internal controller of a storage device can determine characteristics of a log-structured file system hosted by a processor that is external to the storage device. The characteristics can indicate how data is arranged in the log-structured file system. The internal controller can then execute, based on the characteristics, a garbage collection process with respect to the data of the log-structured file system on behalf of the processor.
    Type: Grant
    Filed: November 11, 2020
    Date of Patent: October 17, 2023
    Assignee: RED HAT, INC.
    Inventors: Gabriel Zvi BenHanokh, Joshua Durgin
  • Patent number: 11782637
    Abstract: Aspects and features of the present disclosure can prefetch metadata in the nodes of a cloud-based storage system. At a node that stores at least one shard of a data object, metadata for the data object can be fetched from node storage and saved in a node cache prior to processing a read request for the shard. The metadata can be cached in response to a prefetch request transmitted to the node, for example, by the gateway that shards data objects for the storage system. Thus, the metadata can be available in the node cache when the read request for the data shard arrives later, reducing delays in accessing data object shards from the storage nodes of the system.
    Type: Grant
    Filed: January 5, 2021
    Date of Patent: October 10, 2023
    Assignee: Red Hat, Inc.
    Inventors: Gabriel Zvi BenHanokh, Joshua Durgin
  • Patent number: 11733903
    Abstract: Data units can be relocated in scale-out storage systems. For example, a computing device can receive, at a first node of a scale-out storage system, a request for a data unit. The first node can include a metadata entry associated with the data unit. The computing device can determine, based on the metadata entry, that a second node of the scale-out storage system includes the data unit. The computing device can determine, from the metadata entry, that a number of versions of the data unit in the scale-out storage system meets or exceeds a threshold. The computing device can output a command to cause the data unit to be relocated to the first node with the metadata entry.
    Type: Grant
    Filed: June 8, 2021
    Date of Patent: August 22, 2023
    Assignee: RED HAT, INC.
    Inventors: Joshua Durgin, Gabriel Zvi BenHanokh
  • Patent number: 11593035
    Abstract: Client devices associated with scale-out storage nodes can be managed based on scale-out storage nodes having backup power supplies. For example, a management node of a scale-out storage system can determine, from among a plurality of storage nodes of the scale-out system, that a first storage node is uncoupled to a backup power supply and that a second storage node is coupled to the backup power supply. The management node can receive device characteristics describing a type of workload and a configuration for a client device associated with the first storage node. The management node can determine the client device satisfies a migration policy based on the device characteristics. The management node can migrate the client device to the second storage node based on the client device satisfying the migration policy.
    Type: Grant
    Filed: January 6, 2021
    Date of Patent: February 28, 2023
    Assignee: Red Hat, Inc.
    Inventors: Gabriel Zvi BenHanokh, Joshua Durgin
  • Patent number: 11593247
    Abstract: Performance of devices can be evaluated and enhanced in software-defined systems. For example, a computing device can receive, at a server of a software-defined system, a first plurality of properties describing a client system in the software-defined system. The computing device can compare, by the server, the first plurality of properties to additional properties describing at least one additional client system in the software-defined system. The computing device can determine, by the server, an adjustment for the client system based on the comparison and a similarity of the client system to each of the at least one additional client system. The computing device can output, by the server, an indication of the adjustment to the client system.
    Type: Grant
    Filed: June 3, 2021
    Date of Patent: February 28, 2023
    Assignee: RED HAT, INC.
    Inventors: Gabriel Zvi BenHanokh, Joshua Durgin
  • Publication number: 20220391303
    Abstract: Performance of devices can be evaluated and enhanced in software-defined systems. For example, a computing device can receive, at a server of a software-defined system, a first plurality of properties describing a client system in the software-defined system. The computing device can compare, by the server, the first plurality of properties to additional properties describing at least one additional client system in the software-defined system. The computing device can determine, by the server, an adjustment for the client system based on the comparison and a similarity of the client system to each of the at least one additional client system. The computing device can output, by the server, an indication of the adjustment to the client system.
    Type: Application
    Filed: June 3, 2021
    Publication date: December 8, 2022
    Inventors: Gabriel Zvi BenHanokh, Joshua Durgin
  • Publication number: 20220391119
    Abstract: Data units can be relocated in scale-out storage systems. For example, a computing device can receive, at a first node of a scale-out storage system, a request for a data unit. The first node can include a metadata entry associated with the data unit. The computing device can determine, based on the metadata entry, that a second node of the scale-out storage system includes the data unit. The computing device can determine, from the metadata entry, that a number of versions of the data unit in the scale-out storage system meets or exceeds a threshold. The computing device can output a command to cause the data unit to be relocated to the first node with the metadata entry.
    Type: Application
    Filed: June 8, 2021
    Publication date: December 8, 2022
    Inventors: Joshua Durgin, Gabriel Zvi BenHanokh
  • Patent number: 11481143
    Abstract: Metadata of extent-based storage systems can be managed. For example, a computing device can store a first metadata object and a second metadata object in a first memory device. The first metadata object can specify locations of a first set of extents corresponding to a first data unit stored in a second memory device. The second metadata object can specify locations of a second set of extents corresponding to a second data unit stored in the second memory device. The computing device can determine that a first size of the first metadata object is smaller than a second size of the second metadata object. The computing device can remove the second metadata object from the first memory device based on determining that the first size is less than the second size.
    Type: Grant
    Filed: November 10, 2020
    Date of Patent: October 25, 2022
    Assignee: RED HAT, INC.
    Inventors: Gabriel Zvi BenHanokh, Joshua Durgin
  • Publication number: 20220335022
    Abstract: A metadata size can be reduced for online deduplication operations. For example, a computing device can generate a metadata entry describing a data block in a metadata table comprising a plurality of metadata entries describing a plurality of data blocks. The computing device can determine a length of time to be associated with the metadata entry for maintaining the metadata entry in the metadata table. The computing device can, subsequent to the length of time passing subsequent to generating the metadata entry, determine the metadata entry indicates a number of references to the data block is below a threshold. The computing device can, in response to determining the number of references is below the threshold, remove the metadata entry from the metadata table.
    Type: Application
    Filed: April 19, 2021
    Publication date: October 20, 2022
    Inventors: Joshua Durgin, Gabriel Zvi BenHanokh
  • Patent number: 11449229
    Abstract: A region of a volatile memory can be dynamically resized based on a charge level of a backup battery supply. For example, a computing device can have a volatile memory with a memory region for storing data. The computing device can also have an attached backup battery supply. The computing device can determine a charge level of the backup battery supply and adjust a size of the memory region based on the determined charge level. Adjusting the size of the memory region can involve changing an amount of the volatile memory that is allocated to the memory region.
    Type: Grant
    Filed: October 20, 2020
    Date of Patent: September 20, 2022
    Assignee: RED HAT, INC.
    Inventors: Gabriel Zvi BenHanokh, Joshua Durgin
  • Publication number: 20220283709
    Abstract: Metadata sizes for data objects in cloud storage systems can be reduced. For example, a computing system can receive, at a client device of a cloud storage system, a first object identifier associated with a data object in the cloud storage system. The computing system can use a reduction function to generate a second object identifier associated with the data object. The second object identifier can have a smaller byte size than the first object identifier. The computing system can transmit, to a server of the cloud storage system, the second object identifier to be stored in metadata associated with the data object in the cloud storage system.
    Type: Application
    Filed: March 2, 2021
    Publication date: September 8, 2022
    Inventors: Joshua Durgin, Gabriel Zvi BenHanokh
  • Patent number: 11397678
    Abstract: Distributed storage nodes having backup power supplies and write-back caching capabilities can be pooled for servicing write requests. For example, a management node of a distributed storage system can determine a subset of storage nodes, from among a group of storage nodes of the distributed storage system, coupled to backup power supplies based on status information received from the group of storage nodes. The status information can indicate whether a respective storage node of the group of storage nodes is coupled to a corresponding backup power supply. The management node can then generate a node pool that includes the subset of storage nodes with write-back caching enabled. The node pool can be configured to perform write-back caching in relation to a write request.
    Type: Grant
    Filed: October 20, 2020
    Date of Patent: July 26, 2022
    Assignee: RED HAT, INC.
    Inventors: Gabriel Zvi BenHanokh, Joshua Durgin
  • Publication number: 20220214815
    Abstract: Client devices associated with scale-out storage nodes can be managed based on scale-out storage nodes having backup power supplies. For example, a management node of a scale-out storage system can determine, from among a plurality of storage nodes of the scale-out system, that a first storage node is uncoupled to a backup power supply and that a second storage node is coupled to the backup power supply. The management node can receive device characteristics describing a type of workload and a configuration for a client device associated with the first storage node. The management node can determine the client device satisfies a migration policy based on the device characteristics. The management node can migrate the client device to the second storage node based on the client device satisfying the migration policy.
    Type: Application
    Filed: January 6, 2021
    Publication date: July 7, 2022
    Inventors: Gabriel Zvi BenHanokh, Joshua Durgin
  • Publication number: 20220214832
    Abstract: Aspects and features of the present disclosure can prefetch metadata in the nodes of a cloud-based storage system. At a node that stores at least one shard of a data object, metadata for the data object can be fetched from node storage and saved in a node cache prior to processing a read request for the shard. The metadata can be cached in response to a prefetch request transmitted to the node, for example, by the gateway that shards data objects for the storage system. Thus, the metadata can be available in the node cache when the read request for the data shard arrives later, reducing delays in accessing data object shards from the storage nodes of the system.
    Type: Application
    Filed: January 5, 2021
    Publication date: July 7, 2022
    Inventors: Gabriel Zvi BenHanokh, Joshua Durgin
  • Publication number: 20220147265
    Abstract: Metadata of extent-based storage systems can be managed. For example, a computing device can store a first metadata object and a second metadata object in a first memory device. The first metadata object can specify locations of a first set of extents corresponding to a first data unit stored in a second memory device. The second metadata object can specify locations of a second set of extents corresponding to a second data unit stored in the second memory device. The computing device can determine that a first size of the first metadata object is smaller than a second size of the second metadata object. The computing device can remove the second metadata object from the first memory device based on determining that the first size is less than the second size.
    Type: Application
    Filed: November 10, 2020
    Publication date: May 12, 2022
    Inventors: Joshua Durgin, Gabriel Zvi BenHanokh
  • Publication number: 20220147446
    Abstract: Garbage collection for a log-structured file system can be offloaded from a processor to an internal controller of a storage device, such as a solid-state drive. For example, an internal controller of a storage device can determine characteristics of a log-structured file system hosted by a processor that is external to the storage device. The characteristics can indicate how data is arranged in the log-structured file system. The internal controller can then execute, based on the characteristics, a garbage collection process with respect to the data of the log-structured file system on behalf of the processor.
    Type: Application
    Filed: November 11, 2020
    Publication date: May 12, 2022
    Inventors: Joshua Durgin, Gabriel Zvi BenHanokh
  • Publication number: 20220121371
    Abstract: A region of a volatile memory can be dynamically resized based on a charge level of a backup battery supply. For example, a computing device can have a volatile memory with a memory region for storing data. The computing device can also have an attached backup battery supply. The computing device can determine a charge level of the backup battery supply and adjust a size of the memory region based on the determined charge level.
    Type: Application
    Filed: October 20, 2020
    Publication date: April 21, 2022
    Inventors: Joshua Durgin, Gabriel Zyi BenHanokh
  • Publication number: 20220121572
    Abstract: Distributed storage nodes having backup power supplies and write-back caching capabilities can be pooled for servicing write requests. For example, a management node of a distributed storage system can determine a subset of storage nodes, from among a group of storage nodes of the distributed storage system, coupled to backup power supplies based on status information received from the group of storage nodes. The status information can indicate whether a respective storage node of the group of storage nodes is coupled to a corresponding backup power supply. The management node can then generate a node pool that includes the subset of storage nodes with write-back caching enabled. The node pool can be configured to perform write-back caching in relation to a write request.
    Type: Application
    Filed: October 20, 2020
    Publication date: April 21, 2022
    Inventors: Gabriel Zyi BenHanokh, Joshua Durgin
  • Patent number: 11307781
    Abstract: Replicas of content can be managed in storage systems. In one example, a storage system can determine an amount of load on the storage system based on values for performance metrics indicating a performance of the storage system. Next, the storage system can determine that the storage system is to have a target number of replicas of content based on the amount of load on the storage system. The storage system can then adjust itself to have the target number of replicas of the content.
    Type: Grant
    Filed: December 19, 2019
    Date of Patent: April 19, 2022
    Assignee: Red Hat, Inc.
    Inventors: David Zafman, Brett Niver, Neha Ojha, Joshua Durgin, Adam Kupczyk