Patents by Inventor Peter Godman

Peter Godman 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: 11461286
    Abstract: A software and hardware facility persistently maintains metrics on directories at different levels within a tree of a filesystem. The facility hierarchically aggregates attributes of files contained by directories and stores them as metric values in inode date of each directory within a tree. The stored metric values represent summed or otherwise aggregated data from the descendant directories and files. The metric values are utilized to provide representative compositional samplings of data in the filesystem tree structure. Based on the metric value in its inode data, each directory is weighted in a manner that determines the likelihood that each file sample is taken from that directory.
    Type: Grant
    Filed: January 13, 2015
    Date of Patent: October 4, 2022
    Assignee: Qumulo, Inc.
    Inventors: Peter Godman, Kevin O'Neill, Thomas Urban, Graeme Williams
  • Patent number: 11132336
    Abstract: A software and hardware facility persistently maintains metrics on directories at different levels within a tree of a filesystem. The facility hierarchically aggregates attributes of files contained by directories and stores them as metric values in each directory within a tree. The stored values represent summed or otherwise aggregated data from the descendant directories and files. The metric values represent aggregated attributes such as checksums, MIN and/or MAX aggregates, sameness bits, bloom filter aggregates, queryable user tags, moving average aggregates, b-tree aggregates, etc.
    Type: Grant
    Filed: September 18, 2015
    Date of Patent: September 28, 2021
    Assignee: Qumulo, Inc.
    Inventors: Aaron Passey, Kevin O'Neill, Peter Godman, Iain Peet
  • Patent number: 10860547
    Abstract: A transactional block storage system is provided which is capable of supporting a single-phase commit for data writes specifying a protected storage unit. The storage system includes a data storage map that logically links the protected data storage unit to two or more block storage units associated with a layer of the protected data storage unit. The storage system also includes an address abstraction layer which translates write requests to the block storage units and resolves whether those write requests are atomically committed to the storage system in a single phase transaction. The address abstraction layer is further configured to detected when a block storage unit becomes unavailable during a transaction and create a cleaning kit for that block in order to prevent data loss. Additionally, the address abstraction layer facilitates moving, copying, and merging of block storage units without global locking in the storage system.
    Type: Grant
    Filed: October 4, 2018
    Date of Patent: December 8, 2020
    Assignee: Qumulo, Inc.
    Inventors: Aaron Passey, Neal Fachan, Peter Godman
  • Patent number: 10459892
    Abstract: A software and hardware facility persistently maintains metrics on directories at different levels within a tree of a filesystem. The facility hierarchically aggregates attributes of files contained by directories and stores them as metric values in each directory within a tree. The stored values represent summed or otherwise aggregated data from the descendant directories and files. The metric values represent aggregated attributes such as total space consumed by a directory and all the descendant directories and files, total number of files within a directory, total data blocks used by a directory and its descendant directories and data files, etc.
    Type: Grant
    Filed: January 12, 2015
    Date of Patent: October 29, 2019
    Assignee: Qumulo, Inc.
    Inventors: Peter Godman, Kevin O'Neill, Thomas Urban, Justin Husted, Graeme Williams
  • Publication number: 20190251065
    Abstract: A transactional block storage system is provided which is capable of supporting a single-phase commit for data writes specifying a protected storage unit. The storage system includes a data storage map that logically links the protected data storage unit to two or more block storage units associated with a layer of the protected data storage unit. The storage system also includes an address abstraction layer which translates write requests to the block storage units and resolves whether those write requests are atomically committed to the storage system in a single phase transaction. The address abstraction layer is further configured to detected when a block storage unit becomes unavailable during a transaction and create a cleaning kit for that block in order to prevent data loss. Additionally, the address abstraction layer facilitates moving, copying, and merging of block storage units without global locking in the storage system.
    Type: Application
    Filed: October 4, 2018
    Publication date: August 15, 2019
    Inventors: Aaron Passey, Neal Fachan, Peter Godman
  • Patent number: 10095708
    Abstract: A transactional block storage system is provided which is capable of supporting a single-phase commit for data writes specifying a protected storage unit. The storage system includes a data storage map that logically links the protected data storage unit to two or more block storage units associated with a layer of the protected data storage unit. The storage system also includes an address abstraction layer which translates write requests to the block storage units and resolves whether those write requests are atomically committed to the storage system in a single phase transaction. The address abstraction layer is further configured to detected when a block storage unit becomes unavailable during a transaction and create a cleaning kit for that block in order to prevent data loss. Additionally, the address abstraction layer facilitates moving, copying, and merging of block storage units without global locking in the storage system.
    Type: Grant
    Filed: March 13, 2015
    Date of Patent: October 9, 2018
    Assignee: Qumulo, Inc.
    Inventors: Aaron Passey, Neal Fachan, Peter Godman
  • Publication number: 20160371296
    Abstract: A software and hardware facility persistently maintains metrics on directories at different levels within a tree of a filesystem. The facility hierarchically aggregates attributes of files contained by directories and stores them as metric values in each directory within a tree. The stored values represent summed or otherwise aggregated data from the descendant directories and files. The metric values represent aggregated attributes such as checksums, MIN and/or MAX aggregates, sameness bits, bloom filter aggregates, queryable user tags, moving average aggregates, b-tree aggregates, etc.
    Type: Application
    Filed: September 18, 2015
    Publication date: December 22, 2016
    Inventors: Aaron Passey, Kevin O'Neill, Peter Godman, Iain Peet
  • Publication number: 20150310035
    Abstract: A software and hardware facility persistently maintains metrics on directories at different levels within a tree of a filesystem. The facility hierarchically aggregates attributes of files contained by directories and stores them as metric values in inode date of each directory within a tree. The stored metric values represent summed or otherwise aggregated data from the descendant directories and files. The metric values are utilized to provide representative compositional samplings of data in the filesystem tree structure. Based on the metric value in its inode data, each directory is weighted in a manner that determines the likelihood that each file sample is taken from that directory.
    Type: Application
    Filed: January 13, 2015
    Publication date: October 29, 2015
    Inventors: Peter Godman, Kevin O'Neill, Thomas Urban, Graeme Williams
  • Publication number: 20150310034
    Abstract: A software and hardware facility persistently maintains metrics on directories at different levels within a tree of a filesystem. The facility hierarchically aggregates attributes of files contained by directories and stores them as metric values in each directory within a tree. The stored values represent summed or otherwise aggregated data from the descendant directories and files. The metric values represent aggregated attributes such as total space consumed by a directory and all the descendant directories and files, total number of files within a directory, total data blocks used by a directory and its descendant directories and data files, etc.
    Type: Application
    Filed: January 12, 2015
    Publication date: October 29, 2015
    Inventors: Peter Godman, Kevin O'Neill, Thomas Urban, Justin Husted, Graeme Williams
  • Publication number: 20150310054
    Abstract: A transactional block storage system is provided which is capable of supporting a single-phase commit for data writes specifying a protected storage unit. The storage system includes a data storage map that logically links the protected data storage unit to two or more block storage units associated with a layer of the protected data storage unit. The storage system also includes an address abstraction layer which translates write requests to the block storage units and resolves whether those write requests are atomically committed to the storage system in a single phase transaction. The address abstraction layer is further configured to detected when a block storage unit becomes unavailable during a transaction and create a cleaning kit for that block in order to prevent data loss. Additionally, the address abstraction layer facilitates moving, copying, and merging of block storage units without global locking in the storage system.
    Type: Application
    Filed: March 13, 2015
    Publication date: October 29, 2015
    Inventors: Aaron Passey, Neal Fachan, Peter Godman
  • Patent number: 8745440
    Abstract: A computer-implemented method for providing software fault tolerance is provided. A multithreaded program is executed. The program execution includes a plurality of multithreaded processes. A set of inputs is provided to one of the multithreaded processes and the inputs set is copied to each of the other multithreaded processes. The executions of the multithreaded processes are divided into deterministic subsets of the execution that end at a checkpoint. An execution of the deterministic subset is speculatively executed continuously on one of the multithreaded processes. Upon completion of execution through the checkpoint, the successfully completed execution path through the deterministic subset is retired. Execution of the deterministic instructions subset on the other multithreaded process is continued along the completed execution path.
    Type: Grant
    Filed: September 21, 2011
    Date of Patent: June 3, 2014
    Assignee: F5 Networks, Inc.
    Inventors: Luis Ceze, Peter Godman, Mark Oskin
  • Publication number: 20070171919
    Abstract: Systems and methods are provided for passing control of message dependencies and ordering to one or more network nodes participating in a transaction. Thus, messages can be sent to the participating nodes and the participating nodes can handle the messages according to their respective dependencies without first sending a response or waiting for the next message to arrive. In one embodiment, at least one message is flagged with a checkpoint to indicate that messages sent before the checkpoint are to be handled by the participating nodes before messages after the checkpoint. Messages may also be flagged with error-handling information. For example, a message may be marked to indicate that if the message fails, no further messages are to be sent to the node had the failure. Responses to a group of messages can be collected in a single operation.
    Type: Application
    Filed: October 28, 2005
    Publication date: July 26, 2007
    Inventors: Peter Godman, Skye Poier, Aaron Passey, Neal Fachan
  • Publication number: 20070094310
    Abstract: Systems and methods are disclosed that provide an indexing data structure. In one embodiment, the indexing data structure is mirrored index tree where the copies of the nodes of the tree are stored across devices in a distributed system. In one embodiment, nodes that are stored on an offline device are restored, and an offline device that comes back online is merged into the distributed system and given access to the current indexing data structure. In one embodiment, the indexing data structure is traversed to locate and restore nodes that are stored on offline devices of the distributed system.
    Type: Application
    Filed: October 21, 2005
    Publication date: April 26, 2007
    Inventors: Aaron Passey, Darren Schack, Peter Godman, Robert Anderson, Neal Fachan
  • Publication number: 20070094269
    Abstract: Systems and methods are provided for scanning files and directories in a distributed file system on a network of nodes. The nodes include metadata with attribute information corresponding to files and directories distributed on the nodes. In one embodiment, the files and directories are scanned by commanding the nodes to search their respective metadata for a selected attribute. At least two of the nodes are capable of searching their respective metadata in parallel. In one embodiment, the distributed file system commands the nodes to search for metadata data structures having location information corresponding to a failed device on the network. The metadata data structures identified in the search may then be used to reconstruct lost data that was stored on the failed device.
    Type: Application
    Filed: October 21, 2005
    Publication date: April 26, 2007
    Inventors: Paul Mikesell, Robert Anderson, Peter Godman, Darren Schack, Nathan Dire
  • Publication number: 20060101062
    Abstract: Systems and methods are provided for reducing latency in distributed systems by executing commands as sufficient information and system resources become available. In one embodiment, commands in a transaction include dependency information and an execution engine is configured to execute the commands as the dependencies become satisfied. In some embodiments, the commands also include priority information. If sufficient resources are not available to execute two or more commands with satisfied dependencies, the execution engine determines an order for executing the commands based at least in part on the priority information. In one embodiment, time-intensive commands are assigned a higher priority than commands that are expected to take less time to execute.
    Type: Application
    Filed: October 28, 2005
    Publication date: May 11, 2006
    Inventors: Peter Godman, Darren Schack
  • Publication number: 20060095438
    Abstract: Systems and methods are provided for atomic single-failure non-blocking and double-failure non-blocking commitment protocols. The protocols may be used for a variety of transactions that involve two or more parties including an initiator of the transaction, a coordinator of the transaction, and one or more participants in the transaction. The participants notify the coordinator when they are prepared to commit the transaction. The coordinator then determines when to commit or abort the transaction. If the coordinator disconnects from one or more of the participants, the participants can resolve the transaction independently. Some embodiments also include a distributor that interacts with the coordinator and the participants to resolve the transaction. If one or more parties become disconnected from the coordinator or the distributor, the participants vote to determine whether to receive instructions from the coordinator or the distributor.
    Type: Application
    Filed: October 28, 2005
    Publication date: May 4, 2006
    Inventors: Neal Fachan, Peter Godman, Aaron Passey