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: 20180097707
    Abstract: 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: Application
    Filed: December 5, 2017
    Publication date: April 5, 2018
    Inventors: David D. Wright, Michael Xu
  • Publication number: 20180089256
    Abstract: 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: Application
    Filed: November 17, 2017
    Publication date: March 29, 2018
    Inventor: David D. Wright, SR.
  • Publication number: 20180052883
    Abstract: 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: Application
    Filed: October 11, 2017
    Publication date: February 22, 2018
    Inventor: David D. Wright, SR.
  • Publication number: 20170364704
    Abstract: 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: Application
    Filed: June 20, 2016
    Publication date: December 21, 2017
    Inventors: David D. Wright, Daniel McCarthy
  • Patent number: 9838269
    Abstract: 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: Grant
    Filed: April 4, 2013
    Date of Patent: December 5, 2017
    Assignee: NETAPP, INC.
    Inventors: David D. Wright, Michael Xu
  • Publication number: 20170317895
    Abstract: 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: Application
    Filed: July 17, 2017
    Publication date: November 2, 2017
    Inventors: David D. Wright, Michael Xu
  • Patent number: 9798763
    Abstract: 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: Grant
    Filed: September 22, 2014
    Date of Patent: October 24, 2017
    Inventor: David D. Wright, Sr.
  • Patent number: 9712401
    Abstract: 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: Grant
    Filed: May 1, 2015
    Date of Patent: July 18, 2017
    Assignee: NetApp, Inc.
    Inventors: David D. Wright, Michael Xu
  • Publication number: 20170075587
    Abstract: 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: Application
    Filed: November 22, 2016
    Publication date: March 16, 2017
    Inventor: David D. WRIGHT
  • Patent number: 9507537
    Abstract: 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: Grant
    Filed: April 13, 2015
    Date of Patent: November 29, 2016
    Assignee: NETAPP, INC.
    Inventor: David D. Wright
  • Publication number: 20160252440
    Abstract: 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: Application
    Filed: October 9, 2014
    Publication date: September 1, 2016
    Applicant: Parasitx, LLC
    Inventors: David D. Wright, James H. Vogeley, Taylor D. McClenny, Peter R. Merrick, Paul A. Robinson
  • Patent number: 9423964
    Abstract: 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: Grant
    Filed: November 16, 2015
    Date of Patent: August 23, 2016
    Assignee: NETAPP, INC.
    Inventors: Charles Randall, David D. Wright, Michael Xu
  • Patent number: 9400609
    Abstract: 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: Grant
    Filed: November 4, 2015
    Date of Patent: July 26, 2016
    Assignee: NETAPP, INC.
    Inventors: Charles Randall, David D. Wright, Michael Xu
  • Patent number: 9383933
    Abstract: 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: Grant
    Filed: August 7, 2014
    Date of Patent: July 5, 2016
    Assignee: NETTAPP, INC.
    Inventor: David D. Wright
  • Patent number: 9372789
    Abstract: 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: Grant
    Filed: May 30, 2014
    Date of Patent: June 21, 2016
    Assignee: NETAPP, INC.
    Inventors: Bill Minckler, David D. Wright
  • Patent number: 9342444
    Abstract: 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: Grant
    Filed: April 13, 2015
    Date of Patent: May 17, 2016
    Assignee: NetApp, Inc.
    Inventors: William Minckler, David D. Wright
  • Publication number: 20150347449
    Abstract: 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: Application
    Filed: April 13, 2015
    Publication date: December 3, 2015
    Inventors: William Minckler, David D. Wright
  • Publication number: 20150347288
    Abstract: 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: Application
    Filed: May 30, 2014
    Publication date: December 3, 2015
    Inventors: Bill Minckler, David D. Wright
  • Patent number: 9203798
    Abstract: 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: Grant
    Filed: July 18, 2013
    Date of Patent: December 1, 2015
    Assignee: EMPIRE TECHNOLOGY DEVELOPMENT LLC
    Inventor: David D. Wright, Sr.
  • Publication number: 20150236926
    Abstract: 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: Application
    Filed: May 1, 2015
    Publication date: August 20, 2015
    Inventors: David D. Wright, Michael Xu