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: 11461286Abstract: 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: GrantFiled: January 13, 2015Date of Patent: October 4, 2022Assignee: Qumulo, Inc.Inventors: Peter Godman, Kevin O'Neill, Thomas Urban, Graeme Williams
-
Patent number: 11132336Abstract: 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: GrantFiled: September 18, 2015Date of Patent: September 28, 2021Assignee: Qumulo, Inc.Inventors: Aaron Passey, Kevin O'Neill, Peter Godman, Iain Peet
-
Patent number: 10860547Abstract: 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: GrantFiled: October 4, 2018Date of Patent: December 8, 2020Assignee: Qumulo, Inc.Inventors: Aaron Passey, Neal Fachan, Peter Godman
-
Patent number: 10459892Abstract: 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: GrantFiled: January 12, 2015Date of Patent: October 29, 2019Assignee: Qumulo, Inc.Inventors: Peter Godman, Kevin O'Neill, Thomas Urban, Justin Husted, Graeme Williams
-
Publication number: 20190251065Abstract: 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: ApplicationFiled: October 4, 2018Publication date: August 15, 2019Inventors: Aaron Passey, Neal Fachan, Peter Godman
-
Patent number: 10095708Abstract: 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: GrantFiled: March 13, 2015Date of Patent: October 9, 2018Assignee: Qumulo, Inc.Inventors: Aaron Passey, Neal Fachan, Peter Godman
-
Publication number: 20160371296Abstract: 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: ApplicationFiled: September 18, 2015Publication date: December 22, 2016Inventors: Aaron Passey, Kevin O'Neill, Peter Godman, Iain Peet
-
Publication number: 20150310035Abstract: 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: ApplicationFiled: January 13, 2015Publication date: October 29, 2015Inventors: Peter Godman, Kevin O'Neill, Thomas Urban, Graeme Williams
-
Publication number: 20150310034Abstract: 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: ApplicationFiled: January 12, 2015Publication date: October 29, 2015Inventors: Peter Godman, Kevin O'Neill, Thomas Urban, Justin Husted, Graeme Williams
-
Publication number: 20150310054Abstract: 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: ApplicationFiled: March 13, 2015Publication date: October 29, 2015Inventors: Aaron Passey, Neal Fachan, Peter Godman
-
Patent number: 8745440Abstract: 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: GrantFiled: September 21, 2011Date of Patent: June 3, 2014Assignee: F5 Networks, Inc.Inventors: Luis Ceze, Peter Godman, Mark Oskin
-
Publication number: 20070171919Abstract: 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: ApplicationFiled: October 28, 2005Publication date: July 26, 2007Inventors: Peter Godman, Skye Poier, Aaron Passey, Neal Fachan
-
Publication number: 20070094310Abstract: 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: ApplicationFiled: October 21, 2005Publication date: April 26, 2007Inventors: Aaron Passey, Darren Schack, Peter Godman, Robert Anderson, Neal Fachan
-
Publication number: 20070094269Abstract: 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: ApplicationFiled: October 21, 2005Publication date: April 26, 2007Inventors: Paul Mikesell, Robert Anderson, Peter Godman, Darren Schack, Nathan Dire
-
Publication number: 20060101062Abstract: 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: ApplicationFiled: October 28, 2005Publication date: May 11, 2006Inventors: Peter Godman, Darren Schack
-
Publication number: 20060095438Abstract: 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: ApplicationFiled: October 28, 2005Publication date: May 4, 2006Inventors: Neal Fachan, Peter Godman, Aaron Passey