Patents by Inventor David McCarthy
David McCarthy 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: 20230270917Abstract: A heart valve replacement device and methods of manufacturing same are provided. The heart valve replacement device includes a substrate and a low-profile composite covering in conformal contact with the substrate and suturelessly attached to the substrate. The low-profile composite covering includes a textile base layer and a thermoplastic polymer coating integrated with the textile base layer. The thermoplastic polymer coating or select portions thereof are substantially fluid impermeable.Type: ApplicationFiled: May 2, 2023Publication date: August 31, 2023Inventors: David McCarthy, Tony Durkin, Dean King, Barry Nugent
-
Patent number: 11693737Abstract: A technique provides efficient data protection, such as erasure coding, for data blocks of volumes served by storage nodes of a cluster. Data blocks associated with write requests of unpredictable client workload patterns may be compressed. A set of the compressed data blocks may be selected to form a write group and an erasure code may be applied to the group to algorithmically generate one or more encoded blocks in addition to the data blocks. Due to the unpredictability of the data workload patterns, the compressed data blocks may have varying sizes. A pool of the various-sized compressed data blocks may be established and maintained from which the data blocks of the write group are selected. Establishment and maintenance of the pool enables selection of compressed data blocks that are substantially close to the same size and, thus, that require minimal padding.Type: GrantFiled: November 16, 2021Date of Patent: July 4, 2023Assignee: NetApp, Inc.Inventors: Sneheet Kumar Mishra, Daniel David McCarthy, Christopher Clark Corey, Austino Nicholas Longo, Christopher Cason
-
Publication number: 20230013281Abstract: A technique is configured to provide various data protection schemes, such as replication and erasure coding, for data blocks of volumes served by storage nodes of a cluster configured to perform deduplication of the data blocks. Additionally, the technique is configured to ensure that each deduplicated data block complies with data redundancy guarantees of the data protection schemes, while improving storage space of the storage nodes. In order to satisfy the data integrity guarantees while improving available storage space, the storage nodes perform periodic garbage collection for data blocks to optimize storage in accordance with currently applicable data protection schemes.Type: ApplicationFiled: September 16, 2022Publication date: January 19, 2023Applicant: NetApp, Inc.Inventors: Christopher Clark Corey, Daniel David McCarthy, Sneheet Kumar Mishra, Austino Nicholas Longo
-
Patent number: 11514181Abstract: A bin syncing technique ensures continuous data protection, such as replication and erasure coding, for content driven distribution of data served by storage nodes of a cluster in the event of failure to one or more block services configured to process the data. The cluster maintains information about the block services assigned to host a bin with a copy of the data in a bin assignment table associated with a state. The copies of the data are named, e.g., replica 0 (R0), replica 1 (R1) or replica 2 (R2). In response to failure of one or more block services assigned to host a bin with a replica of the data, an alternate or replacement block service may access the assignments maintained in the bin assignment table, which specify names of the replicas associated with the state.Type: GrantFiled: February 12, 2020Date of Patent: November 29, 2022Assignee: NetApp, Inc.Inventors: Austino Longo, Daniel David McCarthy, Christopher Clark Corey, Sneheet Kumar Mishra
-
Patent number: 11461015Abstract: A technique is configured to provide various data protection schemes, such as replication and erasure coding, for data blocks of volumes served by storage nodes of a cluster configured to perform deduplication of the data blocks. Additionally, the technique is configured to ensure that each deduplicated data block complies with data redundancy guarantees of the data protection schemes, while improving storage space of the storage nodes. In order to satisfy the data integrity guarantees while improving available storage space, the storage nodes perform periodic garbage collection for data blocks to optimize storage in accordance with currently applicable data protection schemes.Type: GrantFiled: October 15, 2019Date of Patent: October 4, 2022Assignee: NetApp, Inc.Inventors: Christopher Clark Corey, Daniel David McCarthy, Sneheet Kumar Mishra, Austino Nicholas Longo
-
Patent number: 11372544Abstract: A technique manages bandwidth allocated among input/output operations, such as reads and writes, to storage devices coupled to storage nodes of a cluster. The technique balances the writes in a manner that reduces latency of reads, while allowing the writes to complete in a desired amount of time. The writes include write types, such as client writes, data migration writes, block transfer writes, and recycling writes, which are defined by differing characteristics and relative priorities. To ensure timely completion of the write types, the technique provides periodic time intervals over which the writes may be balanced and allocated sufficient bandwidth to access the storage devices. The time intervals may include shuffle intervals within a larger distribution interval. In addition, the technique throttles certain write types at the storage device level to maintain consistent read performance. Throttling is based on a credit system that allocates bandwidth as “credits” based on write type.Type: GrantFiled: September 24, 2020Date of Patent: June 28, 2022Assignee: NetApp, Inc.Inventors: Ankit Kumar, Christopher Cason, Daniel David McCarthy
-
Publication number: 20220091739Abstract: A technique manages bandwidth allocated among input/output operations, such as reads and writes, to storage devices coupled to storage nodes of a cluster. The technique balances the writes in a manner that reduces latency of reads, while allowing the writes to complete in a desired amount of time. The writes include write types, such as client writes, data migration writes, block transfer writes, and recycling writes, which are defined by differing characteristics and relative priorities. To ensure timely completion of the write types, the technique provides periodic time intervals over which the writes may be balanced and allocated sufficient bandwidth to access the storage devices. The time intervals may include shuffle intervals within a larger distribution interval. In addition, the technique throttles certain write types at the storage device level to maintain consistent read performance. Throttling is based on a credit system that allocates bandwidth as “credits” based on write type.Type: ApplicationFiled: September 24, 2020Publication date: March 24, 2022Inventors: Ankit Kumar, Christopher Cason, Daniel David McCarthy
-
Publication number: 20220075691Abstract: A technique provides efficient data protection, such as erasure coding, for data blocks of volumes served by storage nodes of a cluster. Data blocks associated with write requests of unpredictable client workload patterns may be compressed. A set of the compressed data blocks may be selected to form a write group and an erasure code may be applied to the group to algorithmically generate one or more encoded blocks in addition to the data blocks. Due to the unpredictability of the data workload patterns, the compressed data blocks may have varying sizes. A pool of the various-sized compressed data blocks may be established and maintained from which the data blocks of the write group are selected. Establishment and maintenance of the pool enables selection of compressed data blocks that are substantially close to the same size and, thus, that require minimal padding.Type: ApplicationFiled: November 16, 2021Publication date: March 10, 2022Inventors: Sneheet Kumar Mishra, Daniel David McCarthy, Christopher Clark Corey, Austino Nicholas Longo, Christopher Cason
-
Patent number: 11223681Abstract: An Updating No Sync (UNS) technique ensures continuous data protection for content driven distribution of data served by storage nodes of a fault tolerant cluster in the event of a degraded cluster state. A storage service implemented in each node includes one or more slice services (SSs) configured to process and store metadata describing the data served by the storage nodes and one or more block services (BSs) configured to process and store the data on storage devices of the node. A bin assignment service may coopt one or more healthy BSs to temporarily store updates of data and metadata received at the SS while the cluster is in the degraded state as an overflow data path (hence the term “Updating No Sync,” which denotes updating without synchronizing, i.e., not distributing the data within the cluster, but only accumulating an overflow of SS information). Once the cluster is no longer degraded, the accumulated overflow SS information at the BSs may be synchronized back to restored BSs, i.e.Type: GrantFiled: April 10, 2020Date of Patent: January 11, 2022Assignee: NetApp, Inc.Inventor: Daniel David McCarthy
-
Patent number: 11210071Abstract: The present disclosure relates to devices and methods for transforming program source code using a rematerialization operation. The devices and methods may identify at least one hot spot with high register pressure in a program source code for an application and identify a plurality of live variables within the at least one hot spot. The devices and methods may group the plurality of live variables by a basic block that has contained a define or single use of the plurality of live variables. The devices and methods may build a directed acyclic graph (DAG) for each basic block that has a grouped plurality of live variables. The devices and methods may save the DAG as a candidate instruction to move in the program source code and may generate transformed program source code for the application by moving the candidate instruction.Type: GrantFiled: April 1, 2020Date of Patent: December 28, 2021Assignee: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: Xiang Li, David McCarthy Peixotto, Michael Alan Dougherty
-
Patent number: 11200061Abstract: Examples are disclosed herein that relate to performing rematerialization operation(s) on program source code prior to instruction scheduling. In one example, a method includes prior to performing instruction scheduling on program source code, for each basic block of the program source code, determining a register pressure at a boundary of the basic block, determining whether the register pressure at the boundary is greater than a target register pressure, based on the register pressure at the boundary being greater than the target register pressure, identifying one or more candidate instructions in the basic block suitable for rematerialization to reduce the register pressure at the boundary, and performing a rematerialization operation on at least one of the one or more candidate instructions to reduce the register pressure at the boundary to be less than the target register pressure.Type: GrantFiled: February 3, 2020Date of Patent: December 14, 2021Assignee: Microsoft Technology Licensing, LLCInventors: Xiang Li, Michael Alan Dougherty, David McCarthy Peixotto
-
Patent number: 11194501Abstract: A technique is configured to maintain multiple copies of data served by storage nodes of a cluster during upgrade of a storage node to ensure continuous protection of the data served by the nodes. The data is logically organized as one or more volumes on storage devices of the cluster and includes metadata that describe the data of each volume. A data protection system may be configured to maintain at least two copies of the data in the cluster during upgrade to a storage node that is assigned to host one of the copies of the data but that is taken offline during the upgrade. As a result, an original slice service of the node may be rendered unavailable during the upgrade. In response, the technique redirects replicated data targeted to the original slice service to a standby pool of slice services in accordance with a degraded redundant metadata service of the cluster.Type: GrantFiled: January 24, 2020Date of Patent: December 7, 2021Assignee: NetApp, Inc.Inventors: James Philip Wittig, Forrest Trimbell, Daniel David McCarthy, Jared Cantwell, Mark Olson, Christopher Cason
-
Publication number: 20210374868Abstract: A system and method for real-time risk-assessment and adjustment, risks associated with a plurality of risk exposed individuals being at least partially transferable from a risk exposed individual to a first insurance system and/or from the first insurance system to an associated second insurance system. The system including a table with retrievable stored risk classes each comprising assigned risk class criteria, individual-specific parameters of the risk exposed individuals being captured relating to criteria of the stored risk classes by the system and stored in a memory, and a specific risk class associated with the risk of the exposed individual being identified out and selected of the stored risk classes by the system based on the captured parameters.Type: ApplicationFiled: May 17, 2017Publication date: December 2, 2021Applicant: Swiss Reinsurance Company Ltd.Inventors: Thomas David MCCARTHY, William Edward MOORE, Michael Bruce CLARK, Jeffrey Stanton KATZ, Michael Wayne BERTSCHE, Edward Joseph WRIGHT, Anand KANAKAGIRI, Pratik DAVE, Janis PENNER
-
Patent number: 11175989Abstract: A technique provides efficient data protection, such as erasure coding, for data blocks of volumes served by storage nodes of a cluster. Data blocks associated with write requests of unpredictable client workload patterns may be compressed. A set of the compressed data blocks may be selected to form a write group and an erasure code may be applied to the group to algorithmically generate one or more encoded blocks in addition to the data blocks. Due to the unpredictability of the data workload patterns, the compressed data blocks may have varying sizes. A pool of the various-sized compressed data blocks may be established and maintained from which the data blocks of the write group are selected. Establishment and maintenance of the pool enables selection of compressed data blocks that are substantially close to the same size and, thus, that require minimal padding.Type: GrantFiled: April 24, 2020Date of Patent: November 16, 2021Assignee: NetApp, Inc.Inventors: Sneheet Kumar Mishra, Daniel David McCarthy, Christopher Clark Corey, Austino Nicholas Longo, Christopher Cason
-
Publication number: 20210334160Abstract: A technique provides efficient data protection, such as erasure coding, for data blocks of volumes served by storage nodes of a cluster. Data blocks associated with write requests of unpredictable client workload patterns may be compressed. A set of the compressed data blocks may be selected to form a write group and an erasure code may be applied to the group to algorithmically generate one or more encoded blocks in addition to the data blocks. Due to the unpredictability of the data workload patterns, the compressed data blocks may have varying sizes. A pool of the various-sized compressed data blocks may be established and maintained from which the data blocks of the write group are selected. Establishment and maintenance of the pool enables selection of compressed data blocks that are substantially close to the same size and, thus, that require minimal padding.Type: ApplicationFiled: April 24, 2020Publication date: October 28, 2021Inventors: Sneheet Kumar Mishra, Daniel David McCarthy, Christopher Clark Corey, Austino Nicholas Longo, Christopher Cason
-
Publication number: 20210334241Abstract: A technique transitions data blocks of volumes served by storage nodes of a storage cluster from an old data protection scheme (DPS) to a new DPS in a non-disruptive manner. Slice services of the storage nodes forward the data blocks associated with write requests to the block services for storage on storage devices of the nodes. Mapping of volume logical block addresses to block identifiers are contained in slice files, wherein there is a single slice file for each volume. To transition a volume between the old and new DPSs, the slice service tags the data blocks with the new DPS when forwarding new write requests to the block services. In accordance with a background transitioning process, the slice service also retrieves every data block referenced by the to slice file and then resends the data to the block service with the new DPS.Type: ApplicationFiled: April 24, 2020Publication date: October 28, 2021Inventors: Daniel David McCarthy, Austino Nicholas Longo, Christopher Clark Corey, Sneheet Kumar Mishra
-
Publication number: 20210320975Abstract: An Updating No Sync (UNS) technique ensures continuous data protection for content driven distribution of data served by storage nodes of a fault tolerant cluster in the event of a degraded cluster state. A storage service implemented in each node includes one or more slice services (SSs) configured to process and store metadata describing the data served by the storage nodes and one or more block services (BSs) configured to process and store the data on storage devices of the node. A bin assignment service may coopt one or more healthy BSs to temporarily store updates of data and metadata received at the SS while the cluster is in the degraded state as an overflow data path (hence the term “Updating No Sync,” which denotes updating without synchronizing, i.e., not distributing the data within the cluster, but only accumulating an overflow of SS information). Once the cluster is no longer degraded, the accumulated overflow SS information at the BSs may be synchronized back to restored BSs, i.e.Type: ApplicationFiled: April 10, 2020Publication date: October 14, 2021Inventor: Daniel David McCarthy
-
Publication number: 20210311708Abstract: The present disclosure relates to devices and methods for transforming program source code using a rematerialization operation. The devices and methods may identify at least one hot spot with high register pressure in a program source code for an application and identify a plurality of live variables within the at least one hot spot. The devices and methods may group the plurality of live variables by a basic block that has contained a define or single use of the plurality of live variables. The devices and methods may build a directed acyclic graph (DAG) for each basic block that has a grouped plurality of live variables. The devices and methods may save the DAG as a candidate instruction to move in the program source code and may generate transformed program source code for the application by moving the candidate instruction.Type: ApplicationFiled: April 1, 2020Publication date: October 7, 2021Inventors: Xiang LI, David McCarthy PEIXOTTO, Michael Alan DOUGHERTY
-
Patent number: 11099199Abstract: Test devices to detect pregnancy in a human female subject are provided. In various embodiments, test devices include an assay means to measure the absolute or relative amount of hCG in a sample from the subject; an assay means to measure the absolute or relative amount of FSH in a sample from the subject; and an assay means to measure the absolute or relative amount of one or more progesterone metabolites in a sample from the subject.Type: GrantFiled: March 7, 2019Date of Patent: August 24, 2021Assignee: SPD Swiss Precision Diagnostics GMBHInventors: David McCarthy, Saji Eapen
-
Publication number: 20210248254Abstract: A bin syncing technique ensures continuous data protection, such as replication and erasure coding, for content driven distribution of data served by storage nodes of a cluster in the event of failure to one or more block services configured to process the data. The cluster maintains information about the block services assigned to host a bin with a copy of the data in a bin assignment table associated with a state. The copies of the data are named, e.g., replica 0 (R0), replica 1 (R1) or replica 2 (R2). In response to failure of one or more block services assigned to host a bin with a replica of the data, an alternate or replacement block service may access the assignments maintained in the bin assignment table, which specify names of the replicas associated with the state.Type: ApplicationFiled: February 12, 2020Publication date: August 12, 2021Inventors: Austino Longo, Daniel David McCarthy, Christopher Clark Corey, Sneheet Kumar Mishra