Patents by Inventor David D. Wright
David D. Wright 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).
-
Publication number: 20180097707Abstract: Performance of a distributed storage system with data distributed substantially, evenly across a cluster of storage devices can be dynamically managed of the distributed storage system with respect to performance guarantees to clients of the distributed storage system. Capacity of the distributed storage system in terms of one or more metrics can be determined. This measured capacity can then be compared with allocations of the metric(s) to clients of the distributed storage system. The allocations are determined based on quality of service parameters specified for the clients. The quality of service parameters at least include a maximum value and a minimum value for each of the one or more metrics, and can also include burst credits allocated to the clients. Access to the distributed storage system by the clients can be throttled to ensure the performance guarantees corresponding to the quality of service parameters are fulfilled.Type: ApplicationFiled: December 5, 2017Publication date: April 5, 2018Inventors: David D. Wright, Michael Xu
-
Publication number: 20180089256Abstract: Methods for managing entitlements of products and services using blockchain are described. One method includes the steps of storing by a blockchain fabric a ledger that stores transaction data, smart contracts that process transactions, creating an entitlement, receiving by the blockchain a create entitlement transaction request, adding, by the smart contract, an entitlement block to the ledger, issuing by the entitled product a usage transaction that reports usage of the entitled product, upon receiving the usage transaction, adding, by a smart contract, a usage block to the ledger, and determining, by the smart contract, that an entitlement limit has been reached. Another method describes a container mechanism that provides a way to identify all blocks associated with a base entitlement.Type: ApplicationFiled: November 17, 2017Publication date: March 29, 2018Inventor: David D. Wright, SR.
-
Publication number: 20180052883Abstract: A computer-implemented method for using tags to manage software across a product life cycle, including storing by a server computer (i) a tag prototype database and (ii) a tag instance database, the method including the steps of creating a tag for a client software component, storing the tag in the tag instance database, receiving, by a client computer, the tag and the client software component, from an electronic software distribution computer, receiving a request from the client computer to initiate a session of the client software component, obtaining the tag, by the server computer, from the client computer, verifying the tag obtained from the client computer, updating the tag to include information about the session, and replacing the tag in the client computer with the updated tag.Type: ApplicationFiled: October 11, 2017Publication date: February 22, 2018Inventor: David D. Wright, SR.
-
Publication number: 20170364704Abstract: A server node with one or more processors is configured to receive a request to write data to a storage medium and compress the data to yield compressed data. The one or more processors are further configured to encrypt the compressed data according to an encryption key to yield compressed and encrypted data. The one or more processors are further configured to hash the compressed and encrypted data to yield one or more block identifiers that uniquely represent the compressed and encrypted data.Type: ApplicationFiled: June 20, 2016Publication date: December 21, 2017Inventors: David D. Wright, Daniel McCarthy
-
Patent number: 9838269Abstract: Disclosed are systems, computer-readable mediums, and methods for determining client metrics of a volume in a storage system for a first client of a plurality of clients. The storage system stores data from the plurality of clients. System metrics of a cluster in the storage system are determined based upon use of the storage system by the plurality of clients. A load value of the storage system is determined based upon the system metrics and the client metrics. The load value is determined to be above a predefined threshold. A target performance value is calculated based upon the load value, a minimum quality of service value, and a maximum quality of service value. Performance of the storage system is adjusted for the client based upon the target performance value and the determining the load value is above the predefined threshold.Type: GrantFiled: April 4, 2013Date of Patent: December 5, 2017Assignee: NETAPP, INC.Inventors: David D. Wright, Michael Xu
-
Publication number: 20170317895Abstract: A distributed storage system can maintain calculated load values of services throughout the system. The load values represent different types of load on the system. When a load value corresponding to a client changes, the load value is evaluated against thresholds to determine whether a different quality of service (QoS) policy is to be selected and implemented. If so, a function/formula indicated in the selected policy is used to calculate a scaling factor, which is then used to calculate a target performance value based on QoS parameters of the client. The system then manages access by the client according to the target performance value.Type: ApplicationFiled: July 17, 2017Publication date: November 2, 2017Inventors: David D. Wright, Michael Xu
-
Patent number: 9798763Abstract: A computer-implemented method for using tags to manage software across a product life cycle, including storing by a server computer (i) a tag prototype database and (ii) a tag instance database, the method including the steps of creating a tag for a client software component, storing the tag in the tag instance database, receiving, by a client computer, the tag and the client software component, from an electronic software distribution computer, receiving a request from the client computer to initiate a session of the client software component, obtaining the tag, by the server computer, from the client computer, verifying the tag obtained from the client computer, updating the tag to include information about the session, and replacing the tag in the client computer with the updated tag.Type: GrantFiled: September 22, 2014Date of Patent: October 24, 2017Inventor: David D. Wright, Sr.
-
Patent number: 9712401Abstract: Disclosed are systems, computer-readable mediums, and methods for receiving client quality of service values associated with a first client. Client metrics of a volume in a storage system are determined for the first client. The client metrics reflect usage of the storage system by the first client. A client load value based is determined upon the client metrics. A quality of service management policy for the first client is determined from a plurality of quality of service management policies based upon the client load value. Each quality of service management policy comprises a formula based on a quality of service parameter. A client target performance value is determined based upon the formula of the quality of service management policy and the received client quality of service values. Performance of the storage system is adjusted for the first client based upon the client target performance value.Type: GrantFiled: May 1, 2015Date of Patent: July 18, 2017Assignee: NetApp, Inc.Inventors: David D. Wright, Michael Xu
-
Publication number: 20170075587Abstract: Methods, systems, and apparatuses, including computer programs encoded on computer-readable media, for receiving a write request that includes data and a client address at which to store the data. The data is segmented into the one or more storage units. A storage unit identifier for each of the one or more storage units is computed that uniquely identifies content of a storage unit. A mapping between each storage unit identifier to a block server is determined. For each of the one or more storage units, the storage unit and the corresponding storage unit identifier is sent to a block server. The block server stores the storage unit and information on where the storage unit is stored on the block server for the storage unit identifier. Multiple client addresses associated with a storage unit with the same storage unit identifier are mapped to a single storage unit.Type: ApplicationFiled: November 22, 2016Publication date: March 16, 2017Inventor: David D. WRIGHT
-
Patent number: 9507537Abstract: Methods, systems, and apparatuses, including computer programs encoded on computer-readable media, for receiving a write request that includes data and a client address at which to store the data. The data is segmented into the one or more storage units. A storage unit identifier for each of the one or more storage units is computed that uniquely identifies content of a storage unit. A mapping between each storage unit identifier to a block server is determined. For each of the one or more storage units, the storage unit and the corresponding storage unit identifier is sent to a block server. The block server stores the storage unit and information on where the storage unit is stored on the block server for the storage unit identifier. Multiple client addresses associated with a storage unit with the same storage unit identifier are mapped to a single storage unit.Type: GrantFiled: April 13, 2015Date of Patent: November 29, 2016Assignee: NETAPP, INC.Inventor: David D. Wright
-
Publication number: 20160252440Abstract: A density meter for measuring the density of a fluid, having a base plate, wherein a spring element is clamped to the base plate; a torpedo, wherein the torpedo comprises a known weight, and wherein the torpedo is attached or coupled to the spring element; and a sensor, wherein the sensor measures a deflection of the spring element, as the torpedo displaces a volume of fluid.Type: ApplicationFiled: October 9, 2014Publication date: September 1, 2016Applicant: Parasitx, LLCInventors: David D. Wright, James H. Vogeley, Taylor D. McClenny, Peter R. Merrick, Paul A. Robinson
-
Patent number: 9423964Abstract: Disclosed are systems, computer-readable mediums, and methods for transforming data in a file system. As part of a recycling process, a determination is made that transformations should be attempted. A data block is determined to be in use by at least one user of the storage system. If a transformation should be attempted on the data block is determined. Parameters associated with the performance of the file system can be used in this determination. A type of transformation to be done is determined. The data block is transformed based upon the selected transformation. The transformed data block is written to the storage system. As part of the recycling process, the transformation requires no additional input/output requests.Type: GrantFiled: November 16, 2015Date of Patent: August 23, 2016Assignee: NETAPP, INC.Inventors: Charles Randall, David D. Wright, Michael Xu
-
Patent number: 9400609Abstract: Disclosed are systems, computer-readable mediums, and methods for transforming data in a file system. As part of a recycling process, a determination is made that transformations should be attempted. A data block is determined to be in use by at least one user of the storage system. If a transformation should be attempted on the data block is determined. Parameters associated with the performance of the file system can be used in this determination. A type of transformation to be done is determined. The data block is transformed based upon the selected transformation. The transformed data block is written to the storage system. As part of the recycling process, the transformation requires no additional input/output requests.Type: GrantFiled: November 4, 2015Date of Patent: July 26, 2016Assignee: NETAPP, INC.Inventors: Charles Randall, David D. Wright, Michael Xu
-
Patent number: 9383933Abstract: Methods, systems, and apparatuses, including computer programs encoded on computer-readable media, for receiving a write request that includes data and a client address at which to store the data. The data is segmented into the one or more storage units. A storage unit identifier for each of the one or more storage units is computed that uniquely identifies content of a storage unit. A mapping between each storage unit identifier to a block server is determined. For each of the one or more storage units, the storage unit and the corresponding storage unit identifier is sent to a block server. The block server stores the storage unit and information on where the storage unit is stored on the block server for the storage unit identifier. Multiple client addresses associated with a storage unit with the same storage unit identifier are mapped to a single storage unit.Type: GrantFiled: August 7, 2014Date of Patent: July 5, 2016Assignee: NETTAPP, INC.Inventor: David D. Wright
-
Patent number: 9372789Abstract: Disclosed are systems, computer-readable mediums, and methods for reading a sequence number from regions of a solid state storage device. A latest region is determined based upon the sequence numbers and a checkpoint file is read within the latest region. A request for a block of data of a first branch is received. A first block of pointers associated with the first branch from the checkpoint file is read. A first pointer from the first block of pointers and a second block of pointers pointed to by the first pointer are read. A second pointer from the second block of pointers and a third block of pointers pointed to by the second pointer are read. A third pointer from the third block of pointers and data pointed to by the third pointer are read. The block of data of the first branch is determined based upon the read data. The block of data is returned.Type: GrantFiled: May 30, 2014Date of Patent: June 21, 2016Assignee: NETAPP, INC.Inventors: Bill Minckler, David D. Wright
-
Patent number: 9342444Abstract: Disclosed are systems, computer-readable mediums, and methods for reading a sequence number from regions of a solid state storage device. A latest region is determined based upon the sequence numbers and a checkpoint file is read within the latest region. A request for a block of data of a first branch is received. A first block of pointers associated with the first branch from the checkpoint file is read. A first pointer from the first block of pointers and a second block of pointers pointed to by the first pointer are read. A second pointer from the second block of pointers and a third block of pointers pointed to by the second pointer are read. A third pointer from the third block of pointers and data pointed to by the third pointer are read. The block of data of the first branch is determined based upon the read data. The block of data is returned.Type: GrantFiled: April 13, 2015Date of Patent: May 17, 2016Assignee: NetApp, Inc.Inventors: William Minckler, David D. Wright
-
Publication number: 20150347449Abstract: Disclosed are systems, computer-readable mediums, and methods for reading a sequence number from regions of a solid state storage device. A latest region is determined based upon the sequence numbers and a checkpoint file is read within the latest region. A request for a block of data of a first branch is received. A first block of pointers associated with the first branch from the checkpoint file is read. A first pointer from the first block of pointers and a second block of pointers pointed to by the first pointer are read. A second pointer from the second block of pointers and a third block of pointers pointed to by the second pointer are read. A third pointer from the third block of pointers and data pointed to by the third pointer are read. The block of data of the first branch is determined based upon the read data. The block of data is returned.Type: ApplicationFiled: April 13, 2015Publication date: December 3, 2015Inventors: William Minckler, David D. Wright
-
Publication number: 20150347288Abstract: Disclosed are systems, computer-readable mediums, and methods for reading a sequence number from regions of a solid state storage device. A latest region is determined based upon the sequence numbers and a checkpoint file is read within the latest region. A request for a block of data of a first branch is received. A first block of pointers associated with the first branch from the checkpoint file is read. A first pointer from the first block of pointers and a second block of pointers pointed to by the first pointer are read. A second pointer from the second block of pointers and a third block of pointers pointed to by the second pointer are read. A third pointer from the third block of pointers and data pointed to by the third pointer are read. The block of data of the first branch is determined based upon the read data. The block of data is returned.Type: ApplicationFiled: May 30, 2014Publication date: December 3, 2015Inventors: Bill Minckler, David D. Wright
-
Patent number: 9203798Abstract: Technologies related to time based IP address hopping are generally described. In some examples, IP communications may involve IP network nodes including source nodes, which may configure and send IP packets via a network, gateway nodes, which may receive IP packets from the network and may send the IP packets to end point nodes, and end point nodes. The IP network nodes may hop between different IP addresses, which different IP addresses may be identified at least in part using shared time values.Type: GrantFiled: July 18, 2013Date of Patent: December 1, 2015Assignee: EMPIRE TECHNOLOGY DEVELOPMENT LLCInventor: David D. Wright, Sr.
-
Publication number: 20150236926Abstract: Disclosed are systems, computer-readable mediums, and methods for receiving client quality of service values associated with a first client. Client metrics of a volume in a storage system are determined for the first client. The client metrics reflect usage of the storage system by the first client. A client load value based is determined upon the client metrics. A quality of service management policy for the first client is determined from a plurality of quality of service management policies based upon the client load value. Each quality of service management policy comprises a formula based on a quality of service parameter. A client target performance value is determined based upon the formula of the quality of service management policy and the received client quality of service values. Performance of the storage system is adjusted for the first client based upon the client target performance value.Type: ApplicationFiled: May 1, 2015Publication date: August 20, 2015Inventors: David D. Wright, Michael Xu