Patents by Inventor Garth Goodson

Garth Goodson 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: 9891839
    Abstract: Fault isolation capabilities made available by user space can be provided for a embedded network storage system without sacrificing efficiency. By giving user space processes direct access to specific devices (e.g., network interface cards and storage adapters), processes in a user space can initiate Input/Output requests without issuing system calls (and entering kernel mode). The multiple user spaces processes can initiate requests serviced by a user space device driver by sharing a read-only address space that maps the entire physical memory one-to-one. In addition, a user space process can initiate communication with another user space process by use of transmit and receive queues similar to transmit and receiver queues used by hardware devices. And, a mechanism of ensuring that virtual addresses that work in one address space reference the same physical page in another address space is used.
    Type: Grant
    Filed: February 5, 2016
    Date of Patent: February 13, 2018
    Assignee: NetApp, Inc.
    Inventors: Randy Thelen, Garth Goodson, Kiran Srinivasan, Sai Susarla
  • Patent number: 9565254
    Abstract: A distributed object store in a network storage system uses location-independent global object identifiers (IDs) for stored data objects. The global object ID enables a data object to be seamlessly moved from one location to another without affecting clients of the storage system, i.e., “transparent migration”. The global object ID can be part of a multilevel object handle, which also can include a location ID indicating the specific location at which the data object is stored, and a policy ID identifying a set of data management policies associated with the data object. The policy ID may be associated with the data object by a client of the storage system, for example when the client creates the object, thus allowing “inline” policy management. An object location subsystem (OLS) can be used to locate an object when a client request does not contain a valid location ID for the object.
    Type: Grant
    Filed: August 7, 2014
    Date of Patent: February 7, 2017
    Assignee: NetApp, Inc.
    Inventors: Sudhir Srinivasan, Shankar Pasupathy, Minglong Shao, Garth Goodson
  • Patent number: 9507799
    Abstract: A distributed object store in a network storage system uses location-independent global object identifiers (IDs) for stored data objects. The global object ID enables a data object to be seamlessly moved from one location to another without affecting clients of the storage system, i.e., “transparent migration”. The global object ID can be part of a multilevel object handle, which also can include a location ID indicating the specific location at which the data object is stored, and a policy ID identifying a set of data management policies associated with the data object. The policy ID may be associated with the data object by a client of the storage system, for example when the client creates the object, thus allowing “inline” policy management. An object location subsystem (OLS) can be used to locate an object when a client request does not contain a valid location ID for the object.
    Type: Grant
    Filed: December 8, 2009
    Date of Patent: November 29, 2016
    Assignee: NetApp, Inc.
    Inventors: Garth Goodson, Shankar Pasupathy, Kaladhar Voruganti, Ravi Kavuri, Sudhir Srinivasan
  • Publication number: 20160154584
    Abstract: Fault isolation capabilities made available by user space can be provided for a embedded network storage system without sacrificing efficiency. By giving user space processes direct access to specific devices (e.g., network interface cards and storage adapters), processes in a user space can initiate Input/Output requests without issuing system calls (and entering kernel mode). The multiple user spaces processes can initiate requests serviced by a user space device driver by sharing a read-only address space that maps the entire physical memory one-to-one. In addition, a user space process can initiate communication with another user space process by use of transmit and receive queues similar to transmit and receiver queues used by hardware devices. And, a mechanism of ensuring that virtual addresses that work in one address space reference the same physical page in another address space is used.
    Type: Application
    Filed: February 5, 2016
    Publication date: June 2, 2016
    Inventors: Randy Thelen, Garth Goodson, Kiran Srinivasan, Sai Susarla
  • Patent number: 9354954
    Abstract: Fault isolation capabilities made available by user space can be provided for a embedded network storage system without sacrificing efficiency. By giving user space processes direct access to specific devices (e.g., network interface cards and storage adapters), processes in a user space can initiate Input/Output requests without issuing system calls (and entering kernel mode). The multiple user spaces processes can initiate requests serviced by a user space device driver by sharing a read-only address space that maps the entire physical memory one-to-one. In addition, a user space process can initiate communication with another user space process by use of transmit and receive queues similar to transmit and receiver queues used by hardware devices. And, a mechanism of ensuring that virtual addresses that work in one address space reference the same physical page in another address space is used.
    Type: Grant
    Filed: March 4, 2014
    Date of Patent: May 31, 2016
    Assignee: NetApp, Inc.
    Inventors: Randy Thelen, Garth Goodson, Kiran Srinivasan, Sai Susarla
  • Publication number: 20150370486
    Abstract: The techniques introduced here provide for efficient management of storage resources in a modern, dynamic data center through the use of virtual storage appliances. Virtual storage appliances perform storage operations and execute in or as a virtual machine on a hypervisor. A storage management system monitors a storage system to determine whether the storage system is satisfying a service level objective for an application. The storage management system then manages (e.g., instantiates, shuts down, or reconfigures) a virtual storage appliance on a physical server. The virtual storage appliance uses resources of the physical server to meet the storage related needs of the application that the storage system cannot provide. This automatic and dynamic management of virtual storage appliances by the storage management system allows storage systems to quickly react to changing storage needs of applications without requiring expensive excess storage capacity.
    Type: Application
    Filed: December 29, 2014
    Publication date: December 24, 2015
    Inventors: Lakshmi Narayanan Bairavasundaram, Garth Goodson, Vipul Mathur, Shankar Pasupathy, Gokul Soundararajan, Kiran Srinivasan, Kaladhar Vorungati
  • Patent number: 8978034
    Abstract: This disclosure relates generally to automated workflow for data management, and specifically to efficient data manipulation and information extraction techniques used by a versatile data analytics platform. The information extraction techniques include micro-batching and provenance tracking, as well as integration of provenance-driven policies to improve the efficacy of the analytics. Embodiments disclosed here integrate the concept of real-time or near-real-time data stream processing and event/batch processing into one data processing layer, allowing a single processing definition to be applied at different granularities.
    Type: Grant
    Filed: March 15, 2013
    Date of Patent: March 10, 2015
    Assignee: Natero, Inc.
    Inventors: Garth Goodson, Craig Anthony Nigel Soules
  • Patent number: 8924658
    Abstract: The techniques introduced here provide for efficient management of storage resources in a modern, dynamic data center through the use of virtual storage appliances. Virtual storage appliances perform storage operations and execute in or as a virtual machine on a hypervisor. A storage management system monitors a storage system to determine whether the storage system is satisfying a service level objective for an application. The storage management system then manages (e.g., instantiates, shuts down, or reconfigures) a virtual storage appliance on a physical server. The virtual storage appliance uses resources of the physical server to meet the storage related needs of the application that the storage system cannot provide. This automatic and dynamic management of virtual storage appliances by the storage management system allows storage systems to quickly react to changing storage needs of applications without requiring expensive excess storage capacity.
    Type: Grant
    Filed: February 22, 2011
    Date of Patent: December 30, 2014
    Assignee: Netapp, Inc.
    Inventors: Lakshmi Narayanan Bairavasundaram, Garth Goodson, Vipul Mathur, Shankar Pasupathy, Gokul Soundararajan, Kiran Srinivasan, Kaladhar Voruganti
  • Publication number: 20140351388
    Abstract: A distributed object store in a network storage system uses location-independent global object identifiers (IDs) for stored data objects. The global object ID enables a data object to be seamlessly moved from one location to another without affecting clients of the storage system, i.e., “transparent migration”. The global object ID can be part of a multilevel object handle, which also can include a location ID indicating the specific location at which the data object is stored, and a policy ID identifying a set of data management policies associated with the data object. The policy ID may be associated with the data object by a client of the storage system, for example when the client creates the object, thus allowing “inline” policy management. An object location subsystem (OLS) can be used to locate an object when a client request does not contain a valid location ID for the object.
    Type: Application
    Filed: August 7, 2014
    Publication date: November 27, 2014
    Inventors: Sudhir Srinivasan, Shankar Pasupathy, Minglong Shao, Garth Goodson
  • Patent number: 8874850
    Abstract: A hierarchically tagged cache provides abstraction between access requests for data and the cached data. The cache is managed by hierarchical layers of indexes including reference to the data. Access requests indicate a header for the requested data, which is associated with one of the layers. Cache management determines what layer is associated with the header, and can traverse the indexes, beginning at the layer associated with the header, to access the data. If the header does not exist at the index of that layer, it can be created. Indexes can be appropriately updated with indexes at each layer being referenced by one or more indexes of the layer higher up in the hierarchy.
    Type: Grant
    Filed: May 10, 2012
    Date of Patent: October 28, 2014
    Assignee: NetApp, Inc.
    Inventors: Garth Goodson, Minglong Shao, Keith Smith
  • Patent number: 8832154
    Abstract: A distributed object store in a network storage system uses location-independent global object identifiers (IDs) for stored data objects. The global object ID enables a data object to be seamlessly moved from one location to another without affecting clients of the storage system, i.e., “transparent migration”. The global object ID can be part of a multilevel object handle, which also can include a location ID indicating the specific location at which the data object is stored, and a policy ID identifying a set of data management policies associated with the data object. The policy ID may be associated with the data object by a client of the storage system, for example when the client creates the object, thus allowing “inline” policy management. An object location subsystem (OLS) can be used to locate an object when a client request does not contain a valid location ID for the object.
    Type: Grant
    Filed: December 8, 2009
    Date of Patent: September 9, 2014
    Assignee: NetApp, Inc.
    Inventors: Sudhir Srinivasan, Shankar Pasupathy, Minglong Shao, Garth Goodson
  • Publication number: 20140237115
    Abstract: Methods and system for securely capturing workloads at a live network for replaying at a test network. The disclosed system captures file system states and workloads of a live server at the live network. In one embodiment the captured data is anonymized to protect confidentiality of the data. A file system of a test server at the test network is mirrored from a captured state of the live server. An anonymized version of the captured workloads is replayed as a request to the test server. A lost or incomplete command is recreated from the states of the live server. An order of the commands during replay can be based on an order in the captured workload, or based on a causal relationship. Performance characteristics of the live network are determined based on the response to the replayed command.
    Type: Application
    Filed: April 30, 2014
    Publication date: August 21, 2014
    Applicant: NetApp, Inc.
    Inventors: Shravan Gaonkar, Shankar Pasupathy, Kiran Srinivasan, Prashanth Radhakrishnan, Garth Goodson, Scott Dawkins
  • Publication number: 20140189434
    Abstract: Fault isolation capabilities made available by user space can be provided for a embedded network storage system without sacrificing efficiency. By giving user space processes direct access to specific devices (e.g., network interface cards and storage adapters), processes in a user space can initiate Input/Output requests without issuing system calls (and entering kernel mode). The multiple user spaces processes can initiate requests serviced by a user space device driver by sharing a read-only address space that maps the entire physical memory one-to-one. In addition, a user space process can initiate communication with another user space process by use of transmit and receive queues similar to transmit and receiver queues used by hardware devices. And, a mechanism of ensuring that virtual addresses that work in one address space reference the same physical page in another address space is used.
    Type: Application
    Filed: March 4, 2014
    Publication date: July 3, 2014
    Applicant: NetApp, Inc.
    Inventors: Randy Thelen, Garth Goodson, Kiran Srinivasan, Sai Susarla
  • Patent number: 8751450
    Abstract: Methods and system for securely capturing workloads at a live network for replaying at a test network. The disclosed system captures file system states and workloads of a live server at the live network. In one embodiment the captured data is anonymized to protect confidentiality of the data. A file system of a test server at the test network is mirrored from a captured state of the live server. An anonymized version of the captured workloads is replayed as a request to the test server. A lost or incomplete command is recreated from the states of the live server. An order of the commands during replay can be based on an order in the captured workload, or based on a causal relationship. Performance characteristics of the live network are determined based on the response to the replayed command.
    Type: Grant
    Filed: April 27, 2011
    Date of Patent: June 10, 2014
    Assignee: NetApp, Inc.
    Inventors: Shravan Gaonkar, Shankar Pasupathy, Kiran Srinivasan, Prashanth Radhakrishnan, Garth Goodson, Scott Dawkins
  • Patent number: 8667504
    Abstract: Fault isolation capabilities made available by user space can be provided for a embedded network storage system without sacrificing efficiency. By giving user space processes direct access to specific devices (e.g., network interface cards and storage adapters), processes in a user space can initiate Input/Output requests without issuing system calls (and entering kernel mode). The multiple user spaces processes can initiate requests serviced by a user space device driver by sharing a read-only address space that maps the entire physical memory one-to-one. In addition, a user space process can initiate communication with another user space process by use of transmit and receive queues similar to transmit and receiver queues used by hardware devices. And, a mechanism of ensuring that virtual addresses that work in one address space reference the same physical page in another address space is used.
    Type: Grant
    Filed: June 20, 2008
    Date of Patent: March 4, 2014
    Assignee: NetApp, Inc.
    Inventors: Randy Thelen, Garth Goodson, Kiran Srinivasan, Sai Susarla
  • Patent number: 8499132
    Abstract: Described herein is a flash remapping (FR) layer in a storage operating system for utilizing flash memory as a secondary permanent storage device in a storage system. The FR layer collects particular information (specified by collection parameters) of received access requests for data stored on primary storage devices of the storage system. Based on the collected information and a predetermined access pattern (specified by pattern parameters), the FR layer selects data sets on the primary storage devices to be transferred permanently to flash memory, whereby subsequent access requests to the selected data sets are redirected to flash memory. New parameters may be received by the FR layer (from a user or program) to dynamically reconfigure the functions of the FR layer. The FR layer may be implemented in the operating system without requiring other code of the storage operating system to be modified.
    Type: Grant
    Filed: February 12, 2008
    Date of Patent: July 30, 2013
    Assignee: NetApp, Inc.
    Inventors: Shankar Pasupathy, Garth Goodson, Kaladhar Voruganti, Kiran Srinivasan
  • Patent number: 8346730
    Abstract: Deduplication of data on disk devices based on a threshold number (THN) of sequential blocks is described herein, the threshold number being two or greater. Deduplication may be performed when a series of THN or more received blocks (THN series) match a sequence of THN or more stored blocks (THN sequence), whereby a sequence comprises blocks stored on the same track of a disk device. Deduplication may be performed using a block-comparison mechanism comprising metadata entries of stored blocks and a mapping mechanism containing mappings of deduplicated blocks to their matching blocks. The mapping mechanism may be used to perform later read requests received for the deduplicated blocks. The deduplication described herein may reduce the read latency as the number of seeks between tracks may be reduced. Also, when a seek to a different track is performed, the seek time cost is spread over THN or more blocks.
    Type: Grant
    Filed: April 25, 2008
    Date of Patent: January 1, 2013
    Assignee: NetApp. Inc.
    Inventors: Kiran Srinivasan, Garth Goodson, Kaladhar Voruganti
  • Patent number: 8180813
    Abstract: A network storage server system includes a distributed object store, a presentation layer, a metadata subsystem, and a content management subsystem. The object store has no namespace and provides location-independent addressing of data objects. The presentation layer provides multiple interfaces for accessing data stored in the object store, including a NAS interface and a Web Service interface, and provides at least one namespace for accessing data via the NAS interface or the Web Service interface. The Web Service interface allows access to stored data via the namespace or without using the namespace (“raw object” access). The metadata subsystem stores user-specified and/or system-generated metadata relating to data objects and allows data objects to be identified and retrieved by searching on the metadata.
    Type: Grant
    Filed: December 8, 2009
    Date of Patent: May 15, 2012
    Assignee: NetApp, Inc.
    Inventors: Garth Goodson, Shankar Pasupathy, Thirumale Niranjan, Ravi Kavuri, Kaladhar Voruganti, Sudhir Srinivasan
  • Patent number: 8145843
    Abstract: Deduplication of data using a low-latency random read memory (LLRRM) is described herein. Upon receiving a block, if a matching block stored on a disk device is found, the received block is deduplicated by producing an index to the address location of the matching block. In some embodiments, a matching block having a predetermined threshold number of associated indexes that reference the matching block is transferred to LLRRM, the threshold number being one or greater. Associated indexes may be modified to reflect the new address location in LLRRM. Deduplication may be performed using a mapping mechanism containing mappings of deduplicated blocks to matching blocks, the mappings being used for performing read requests. Deduplication described herein may reduce read latency as LLRRM has relatively low latency in performing random read requests relative to disk devices.
    Type: Grant
    Filed: February 7, 2011
    Date of Patent: March 27, 2012
    Assignee: NetApp, Inc.
    Inventors: Kiran Srinivasan, Garth Goodson, Kaladhar Voruganti
  • Patent number: 8112585
    Abstract: A method implements a cache-policy switching module in a storage system. The storage system includes a cache memory to cache storage data. The cache memory uses a first cache configuration. The cache-policy switching module emulates the caching of the storage data with a plurality of cache configurations. Upon a determination that one of the plurality of cache configurations performs better than the first cache configuration, the cache-policy switching module automatically applies the better performing cache configuration to the cache memory for caching the storage data.
    Type: Grant
    Filed: April 30, 2009
    Date of Patent: February 7, 2012
    Assignee: NetApp, Inc.
    Inventors: Naresh Patel, Jeffrey S. Kimmel, Garth Goodson