Patents by Inventor Douglas A. Hutchison
Douglas A. Hutchison 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: 11940969Abstract: Described are techniques for managing data locations of derived storage objects. The techniques include accessing a primary metadata tree providing a lookup path using a virtual address to locate data for a primary object in physical storage pointed to by a leaf node of the primary metadata tree and providing a sub-tree from a leaf node of the primary metadata tree associated with the primary object, the sub-tree providing lookup paths using virtual addresses for derived objects. Wherein a derived object is a view of the primary object at a specific point in time, with copy leaf nodes of the sub-tree pointing to stored data of the derived objects. The techniques further include maintaining an ancestry graph associated with the sub-tree with the ancestry graph linking derived object identifiers to provide an ancestral chain lookup to identify derived object identifiers of the closest stored physical data of a derived object.Type: GrantFiled: May 25, 2022Date of Patent: March 26, 2024Assignee: International Business Machines CorporationInventors: Ben Sasson, Lee Jason Sanders, Gordon Douglas Hutchison, William J. Scales
-
Patent number: 11907565Abstract: A method, computer system, and a computer program product for storing a write data in a storage system that operates using a log-structured filing system is provided. The present invention may include compressing a write data. The present invention may also include identifying a region of a storage system based on a first size of the compressed write data. The present invention may further include the storage system operating using a log-structured filing system. The present invention may also include a different region of the storage system having a different compression ratio. The present invention may further include writing the compressed write data in the identified region of the storage system.Type: GrantFiled: April 14, 2020Date of Patent: February 20, 2024Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Gareth Paul Jones, Ben Sasson, Lee Jason Sanders, Gordon Douglas Hutchison
-
Publication number: 20230385260Abstract: Described are techniques for managing data locations of derived storage objects. The techniques include accessing a primary metadata tree providing a lookup path using a virtual address to locate data for a primary object in physical storage pointed to by a leaf node of the primary metadata tree and providing a sub-tree from a leaf node of the primary metadata tree associated with the primary object, the sub-tree providing lookup paths using virtual addresses for derived objects. Wherein a derived object is a view of the primary object at a specific point in time, with copy leaf nodes of the sub-tree pointing to stored data of the derived objects. The techniques further include maintaining an ancestry graph associated with the sub-tree with the ancestry graph linking derived object identifiers to provide an ancestral chain lookup to identify derived object identifiers of the closest stored physical data of a derived object.Type: ApplicationFiled: May 25, 2022Publication date: November 30, 2023Inventors: Ben Sasson, Lee Jason Sanders, GORDON DOUGLAS HUTCHISON, WILLIAM J. SCALES
-
Patent number: 11625179Abstract: A cache storage system indexing method is provided that indexes a data address in a cache storage system based on a data fingerprint of the cached data, wherein the data fingerprint is generated by a deduplication fingerprint function used for referencing deduplication of data in the cache storage system. A computer-implemented method of data operations to a cache storage system is also provided including: obtaining a data fingerprint for the data of the data operation, either by applying a deduplication fingerprinting function to data of a write operation or by accessing deduplication metadata for a read operation to obtain the data fingerprint generated by using a deduplication fingerprinting function used for deduplication of data in the cache storage system; and using an indexing service to the cache storage system having an address schema based on the data fingerprints of the data.Type: GrantFiled: February 22, 2021Date of Patent: April 11, 2023Assignee: International Business Machines CorporationInventors: Lee Jason Sanders, Ben Sasson, Gordon Douglas Hutchison
-
Publication number: 20230108209Abstract: In a service mesh, back-pressure is applied and relieved as needed by a control mechanism which is applied between pairs of services to control the rate at which service requests are made from one of service to the other via monitoring hardware and/or software metrics. A proxy of one service is monitored to observe the rate at which it receives service requests from the other service. If it is observed that the monitored metrics have breached allowable limits, back-pressure is applied to reduce the rate at which the other proxy transmits these service requests. Through continued monitoring of the proxy, the back-pressure can be later relieved when appropriate by increasing the permitted request rate.Type: ApplicationFiled: October 5, 2021Publication date: April 6, 2023Inventors: Adam John Pilkington, GORDON DOUGLAS HUTCHISON, Timothy J. MITCHELL, Graham C. Charters
-
Patent number: 11621919Abstract: A computer system hosting (micro)services that uses a service mesh to govern communication between the services. The services include consumer services and an event stream service, the latter directing an event stream from a producer service to the individual consumer services. The control plane of the service mesh has the role of creating and removing service instances. Based on a specified event capacity that is to be provided by the consumer services collectively, the control plane manages service provisioning by estimating the current event capacity of the system. This is done by measuring the event capacities of each consumer service instance and summing them, from which any shortfall or excess of the current event capacity in relation to the specified event capacity can be determined. Consumer service instances are then added in case of a shortfall or removed in case of an excess as needed to avoid over or under-provisioning.Type: GrantFiled: September 2, 2021Date of Patent: April 4, 2023Assignee: International Business Machines CorporationInventors: Gordon Douglas Hutchison, Adam John Pilkington, Graham C. Charters, Timothy J. Mitchell
-
Publication number: 20230091573Abstract: Method and system are provided for recycling container storage objects at a storage controller. The method includes receiving a create operation of a new container by an orchestrator, including information indicating a purpose of the container, and associating a label with the new container, with the label indicating the orchestrator-defined information. The method includes checking labels of soft-deleted container objects for a suitable match with the label of the new container, where soft-deleted container objects are logical objects for deleted containers that are maintained for recycling. The method includes recycling metadata of a matched soft-deleted container object for the new container. The method includes checking received input/output operations for the new container against already stored data of the matched soft-deleted container to recycle data and skip writes where they match.Type: ApplicationFiled: September 23, 2021Publication date: March 23, 2023Inventors: Ben Sasson, Lee Jason Sanders, GORDON DOUGLAS HUTCHISON
-
Publication number: 20230069598Abstract: A computer system hosting (micro)services that uses a service mesh to govern communication between the services. The services include consumer services and an event stream service, the latter directing an event stream from a producer service to the individual consumer services. The control plane of the service mesh has the role of creating and removing service instances. Based on a specified event capacity that is to be provided by the consumer services collectively, the control plane manages service provisioning by estimating the current event capacity of the system. This is done by measuring the event capacities of each consumer service instance and summing them, from which any shortfall or excess of the current event capacity in relation to the specified event capacity can be determined. Consumer service instances are then added in case of a shortfall or removed in case of an excess as needed to avoid over or under-provisioning.Type: ApplicationFiled: September 2, 2021Publication date: March 2, 2023Inventors: Gordon Douglas Hutchison, Adam John Pilkington, Graham C. Charters, Timothy J. Mitchell
-
Patent number: 11494351Abstract: A data storage system configured to deduplicate and store sets of data is presented. The system comprises a computer readable storage device configured to store a plurality of sets of data for a plurality of hosts, wherein each sets of data of the plurality of sets of data corresponding to each host of the plurality of hosts is encrypted with one or more different encryption keys, and wherein at least one of the plurality of sets of data contains deduplicated data. The system also comprises a key translator configured to create at least one translation key based, at least in part, on the one or more different encryption keys and the deduplicated data, and wherein the at least one translation key is configured to translate from a first encryption key to a second encryption key of the one or more different encryption keys.Type: GrantFiled: May 1, 2020Date of Patent: November 8, 2022Assignee: International Business Machines CorporationInventors: Lee Jason Sanders, Gareth Paul Jones, Ben Sasson, Gordon Douglas Hutchison
-
Publication number: 20220269657Abstract: A cache storage system indexing method is provided that indexes a data address in a cache storage system based on a data fingerprint of the cached data, wherein the data fingerprint is generated by a deduplication fingerprint function used for referencing deduplication of data in the cache storage system. A computer-implemented method of data operations to a cache storage system is also provided including: obtaining a data fingerprint for the data of the data operation, either by applying a deduplication fingerprinting function to data of a write operation or by accessing deduplication metadata for a read operation to obtain the data fingerprint generated by using a deduplication fingerprinting function used for deduplication of data in the cache storage system; and using an indexing service to the cache storage system having an address schema based on the data fingerprints of the data.Type: ApplicationFiled: February 22, 2021Publication date: August 25, 2022Inventors: Lee Jason Sanders, Ben Sasson, GORDON DOUGLAS HUTCHISON
-
Patent number: 11372723Abstract: An apparatus for dynamically adjusting a journal snapshot window is disclosed. A computer-implemented method and computer program product also perform the functions of the apparatus. According to an embodiment of the present invention, a failure detection module detects a potential failure of at least a portion of a non-volatile storage device. The non-volatile storage device includes a journal for tracking metadata changes for data that is stored on the non-volatile storage device prior to committing the metadata changes to metadata for the non-volatile storage device. A notification receiving module receives an indication of the potential failure of the non-volatile storage device. A snapshot module adjusts a snapshot window for the journal in response to the indication of the potential failure. The snapshot window includes a set of metadata changes in the journal that have not been committed to the metadata of the non-volatile storage device.Type: GrantFiled: October 29, 2019Date of Patent: June 28, 2022Assignee: International Business Machines CorporationInventors: Ben Sasson, Lee Jason Sanders, Gordon Douglas Hutchison, Florent Rostagni
-
Publication number: 20220027049Abstract: Concepts for storing a data block in a plurality of at least three storage units forming a RAID drive array are presented. The RAID drive array operates using a log-structured filing system. Dividing the data block into at least two sets of data sub-blocks and generating check data for the at least two sets of data sub-blocks, the check data enabling the reconstruction of one of the sets of data sub-blocks using the other set or sets of data sub-blocks. Further storing each set of data sub-blocks and the check data in a different storage unit and obtaining location metadata that identifies a physical location for the data sub-blocks within the storage unit in which the respective data sub-blocks are stored and storing a copy of the location metadata in at least two storage units.Type: ApplicationFiled: July 23, 2020Publication date: January 27, 2022Inventors: Gareth Paul Jones, BEN SASSON, Lee Jason Sanders, GORDON DOUGLAS HUTCHISON
-
Patent number: 11226942Abstract: A method and a system are provided for controlling deduplication in a storage pool. The method includes creating one or more deduplication domains within a storage pool, wherein storage volumes that are within a deduplication domain are deduplicated only with other volumes within the same deduplication domain and assigning storage volumes to a deduplication domain in order to control deduplication between storage volumes. The method may include, within a deduplication domain, blocklisting a volume from deduplication with a specified volume whilst allowing deduplication with other volumes in the deduplication domain.Type: GrantFiled: October 16, 2019Date of Patent: January 18, 2022Assignee: International Business Machines CorporationInventors: Lee Jason Sanders, Ben Sasson, Gordon Douglas Hutchison
-
Publication number: 20210349705Abstract: A processor may identify a storage system having a cluster of multiple nodes with redundancy for sharing a load of host input/output (IO) operations. The processor may upgrade one or more nodes at a time making use of redundancy. The processor may collect performance statistics of the storage system with the upgraded nodes during active use of the host IO operations. The processor may compare the collected performance statistics with historical performance statistics for the storage system. If the upgraded nodes show a negative performance impact, the processor may take remedial action. Otherwise, the processor may continue to upgrade the remaining nodes.Type: ApplicationFiled: May 5, 2020Publication date: November 11, 2021Inventors: Ben Sasson, Lee Jason Sanders, Gordon Douglas Hutchison, Gareth Paul Jones
-
Publication number: 20210342318Abstract: A data storage system configured to deduplicate and store sets of data is presented. The system comprises a computer readable storage device configured to store a plurality of sets of data for a plurality of hosts, wherein each sets of data of the plurality of sets of data corresponding to each host of the plurality of hosts is encrypted with one or more different encryption keys, and wherein at least one of the plurality of sets of data contains deduplicated data. The system also comprises a key translator configured to create at least one translation key based, at least in part, on the one or more different encryption keys and the deduplicated data, and wherein the at least one translation key is configured to translate from a first encryption key to a second encryption key of the one or more different encryption keys.Type: ApplicationFiled: May 1, 2020Publication date: November 4, 2021Inventors: Lee Jason Sanders, Gareth Paul Jones, Ben Sasson, Gordon Douglas Hutchison
-
Publication number: 20210326271Abstract: Aspects of the present invention disclose a method, computer program product, and system for stale data recovery using virtual storage metadata. The method includes one or more processors generating a primary virtual storage metadata structure having virtual address areas for a data chunk. Each area includes a plurality of most recent updates of metadata for the data chunk. The metadata of each update includes a sequence number for the update and a pointer to the physical location of the data. The method further includes one or more processors generating an overflow virtual storage metadata structure for multiple virtual address areas. The overflow metadata structure includes updates that have overflowed from the virtual address areas. In addition, wherein an oldest update in a full virtual address area of the primary virtual storage metadata structure includes a link to an overflow location.Type: ApplicationFiled: April 18, 2020Publication date: October 21, 2021Inventors: Ben Sasson, Gordon Douglas Hutchison, Lee Jason Sanders, Gareth Paul Jones
-
Publication number: 20210318830Abstract: A method, computer system, and a computer program product for storing a write data in a storage system that operates using a log-structured filing system is provided. The present invention may include compressing a write data. The present invention may also include identifying a region of a storage system based on a first size of the compressed write data. The present invention may further include the storage system operating using a log-structured filing system. The present invention may also include a different region of the storage system having a different compression ratio. The present invention may further include writing the compressed write data in the identified region of the storage system.Type: ApplicationFiled: April 14, 2020Publication date: October 14, 2021Inventors: Gareth Paul Jones, Ben Sasson, Lee Jason Sanders, GORDON DOUGLAS HUTCHISON
-
Patent number: 11082526Abstract: A computer-implemented method, apparatus, system and computer program product for optimizing parameter data passing between services in a service mesh, the method including receiving, at a first service, a request for the first service, the request including parameter data; storing the parameter data in a request parameter store, retrieving the parameter data from the request parameter store; the first service initiating a request for a second service, the parameter data in the request being replaced by a unique token identifying the parameter data in the request parameter store; and responsive to the second service using the parameter data, retrieving the parameter data from the request parameter store.Type: GrantFiled: August 19, 2019Date of Patent: August 3, 2021Assignee: International Business Machines CorporationInventors: Adam John Pilkington, Gordon Douglas Hutchison, Timothy J. Mitchell, Graham C. Charters
-
Patent number: 11003559Abstract: Method and system are provided for handling an underperforming drive in a redundant array of independent disks (RAID) operating a distributed sparing mechanism. The method includes marking an underperforming drive in the array as resting and allocating distributed spare space of the array for data of operations to the resting drive. A data structure is designated to track operations diverted to the distributed spare space from the resting drive. If the resting drive is recovered, the method rebuilds data to the recovered drive from the distributed spare space by reference to the data structure.Type: GrantFiled: March 26, 2019Date of Patent: May 11, 2021Assignee: International Business Machines CorporationInventors: Gordon Douglas Hutchison, Ian Boden, John Paul Agombar, Alastair Cooper
-
Publication number: 20210124649Abstract: An apparatus for dynamically adjusting a journal snapshot window is disclosed. A computer-implemented method and computer program product also perform the functions of the apparatus. According to an embodiment of the present invention, a failure detection module detects a potential failure of at least a portion of a non-volatile storage device. The non-volatile storage device includes a journal for tracking metadata changes for data that is stored on the non-volatile storage device prior to committing the metadata changes to metadata for the non-volatile storage device. A notification receiving module receives an indication of the potential failure of the non-volatile storage device. A snapshot module adjusts a snapshot window for the journal in response to the indication of the potential failure. The snapshot window includes a set of metadata changes in the journal that have not been committed to the metadata of the non-volatile storage device.Type: ApplicationFiled: October 29, 2019Publication date: April 29, 2021Inventors: Ben Sasson, Lee Jason Sanders, Gordon Douglas Hutchison, Florent Rostagni