IP Library › Granted Patent US 12,748,539
Granted Patent B2
US 12,748,539 · App. 18/595,785 · Granted Sep 29, 2026

Automatic space sharing of disaggregated storage of a storage pod by multiple nodes of a distributed storage system

Inventors: Anil Paul Thoppil (Pleasanton, CA); Ananthan Subramanian (San Ramon, CA); Suhas Urkude (San Ramon, CA); Arindam Banerjee (Pleasanton, CA); Richard Parvin Jernigan, IV (Sewickley, PA)
Assignee: NetApp, Inc.
G06F3/0631G06F3/0604G06F3/0689
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,748,539
App. No.
18/595,785
Granted
Sep 29, 2026
Kind
B2
Abstract

Systems and methods are provided for implementation and use of disaggregated storage by a distributed storage system. In various examples described herein, the association of blocks of storage space within a storage pod with a given dynamically extensible file system (DEFS) may be in large chunks of one or more gigabytes (GB), which may be referred to herein as “allocation areas” (AAs) that each include multiple RAID stripes. The use of large, multi-GB chunks, as the unit of space allocation/assignment to DEFSs of a distributed storage system facilitates ease of management and independence of write allocation. The use of AAs described herein further allows disk space to be used more fluidly across individual (nodes) storage systems of a distributed storage system (cluster of nodes working together), thereby eliminating silos of storage; and processing resource (e.g., CPU) load may be distributed across the cluster.

Claims (29)

1 . A method comprising:

providing a storage pod having a group of disks containing multiple Redundant Array of Independent Disks (RAID) groups, wherein storage space of the storage pod is accessible concurrently to all nodes of a plurality of nodes of a cluster, wherein the cluster represents a distributed storage system, and wherein the storage space is partitioned into a plurality of allocation areas (AAs), and wherein each AA of the plurality of AAs includes multiple RAID stripes of a given RAID group of the multiple RAID groups;

monitoring, by a node of the cluster, storage space availability or usage by one or more dynamically extensible file systems (DEFSs) of the node, wherein ownership of a given set of one or more AAs of the plurality of AAs is assigned to respective DEFSs of the plurality of nodes;

based on the storage space availability or usage meeting a predetermined or configurable threshold in relation to storage space availability or usage of one or more DEFSs of one or more other nodes of the plurality of nodes of the cluster, requesting ownership of one or more of the plurality of AAs currently owned by the one or more DEFSs of the one or more other nodes be transferred to a DEFS of the one or more DEFSs of the node.

2 . The method of claim 1 , wherein said requesting ownership includes sending a space request message from the node on behalf of a donee DEFS of the one or more DEFSs of the node to a donor DEFS of the one or more DEFSs of a second node of the one or more other nodes.

3 . The method of claim 2 , wherein the space request message is sent via an on-wire internode communication mechanism to the second node.

4 . The method of claim 2 , wherein the space request message is posted to a persistent message queue of the donor DEFS or the second node.

5 . The method of claim 2 , further comprising after receiving the space request message, selecting, by the donor DEFS, an AA to donate to the donee DEFS from among a plurality of AAs owned by the donor DEFS by prioritizing a free AA of the plurality of AAs owned by the donor DEFS over a partial AA of the plurality of AAs owned by the donor DEFS, wherein the free AA includes no blocks marked as used, and wherein the partial AA includes one or more blocks that are marked as used.

6 . The method of claim 5 , further comprising sending an AA ownership change message from the second node to the node, wherein the AA ownership change message includes an AA identifier of the selected AA.

7 . A non-transitory machine readable medium storing instructions, which when executed by one or more processing resources of a distributed storage system, cause the distributed storage system to:

provide a storage pod having a group of disks containing multiple Redundant Array of Independent Disks (RAID) groups, wherein storage space of the storage pod is accessible concurrently to all nodes of a plurality of nodes of a cluster, wherein the cluster represents a distributed storage system, and wherein the storage space is partitioned into a plurality of allocation areas (AAs), and wherein each AA of the plurality of AAs includes multiple RAID stripes of a given RAID group of the multiple RAID groups;

monitor storage space availability or usage by one or more dynamically extensible file systems (DEFSs) of a node of the plurality of nodes, wherein ownership of a given set of one or more AAs of the plurality of AAs is assigned to respective DEFSs of the plurality of nodes;

based on the storage space availability or usage meeting a predetermined or configurable threshold in relation to storage space availability or usage of one or more DEFSs of one or more other nodes of the plurality of nodes of the cluster, requesting ownership of one or more of the plurality of AAs currently owned by the one or more DEFSs of the one or more other nodes be transferred to a DEFS of the one or more DEFSs of the node.

8 . The non-transitory machine readable medium of claim 7 , wherein requesting transfer of ownership includes sending a space request message from the node on behalf of a donee DEFS of the one or more DEFSs of the node to a donor DEFS of the one or more DEFSs of a second node of the one or more other nodes.

9 . The non-transitory machine readable medium of claim 8 , wherein the space request message is sent via an on-wire internode communication mechanism to the second node.

10 . The non-transitory machine readable medium of claim 8 , wherein the space request message is posted to a persistent message queue of the donor DEFS or the second node.

11 . The non-transitory machine readable medium of claim 10 , wherein the instructions further cause the distributed storage system to, after receipt of the space request message, select, by the donor DEFS, an AA to donate to the donee DEFS from among a plurality of AAs owned by the donor DEFS by prioritizing a free AA of the plurality of AAs owned by the donor DEFS over a partial AA of the plurality of AAs owned by the donor DEFS, wherein the free AA includes no blocks marked as used, and wherein the partial AA includes one or more blocks that are marked as used.

12 . The non-transitory machine readable medium of claim 11 , wherein the instructions further cause the distributed storage system to send an AA ownership change message from the second node to the node, wherein the AA ownership change message includes an AA identifier of the selected AA.

13 . A distributed storage system comprising:

one or more processing resources; and

instructions that when executed by the one or more processing resources cause the distributed storage system to:

provide a storage pod having a group of disks containing multiple Redundant Array of Independent Disks (RAID) groups, wherein storage space of the storage pod is accessible concurrently to all nodes of a plurality of nodes of a cluster, wherein the cluster represents a distributed storage system, and wherein the storage space is partitioned into a plurality of allocation areas (AAs), and wherein each AA of the plurality of AAs includes multiple RAID stripes of a given RAID group of the multiple RAID groups;

monitor storage space availability or usage by one or more dynamically extensible file systems (DEFSs) of a node of the plurality of nodes, wherein ownership of a given set of one or more AAs of the plurality of AAs is assigned to respective DEFSs of the plurality of nodes;

based on the storage space availability or usage meeting a predetermined or configurable threshold in relation to storage space availability or usage of one or more DEFSs of one or more other nodes of the plurality of nodes of the cluster, request ownership of one or more of the plurality of AAs currently owned by the one or more DEFSs of the one or more other nodes be transferred to a DEFS of the one or more DEFSs of the node.

14 . The distributed storage system of claim 13 , wherein requesting transfer of ownership includes sending a space request message from the node on behalf of a donee DEFS of the one or more DEFSs of the node to a donor DEFS of the one or more DEFSs of a second node of the one or more other nodes.

15 . The distributed storage system of claim 14 , wherein the space request message is sent via an on-wire internode communication mechanism to the second node.

16 . The distributed storage system of claim 14 , wherein the space request message is posted to a persistent message queue of the donor DEFS or the second node.

17 . The distributed storage system of claim 14 , wherein the instructions further cause the distributed storage system to, after receipt of the space request message, select, by the donor DEFS, an AA to donate to the donor DEFS from among a plurality of AAs owned by the donee DEFS by prioritizing a free AA of the plurality of AAs owned by the donor DEFS over a partial AA of the plurality of AAs owned by the donor DEFS, wherein the free AA includes no blocks marked as used, and wherein the partial AA includes one or more blocks that are marked as used.

18 . The distributed storage system of claim 17 , wherein the instructions further cause the distributed storage system to send an AA ownership change message from the second node to the node, wherein the AA ownership change message includes an AA identifier of the selected AA.

Assignments (2)
CORRECTIVE ASSIGNMENT TO CORRECT THE THE CONVEYING PARTY DATA FROM ANANTHAN SUBRANANIAN TO ANANTHAN SUBRAMANIAN PREVIOUSLY RECORDED AT REEL: 67393 FRAME: 435. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded May 24, 2024
From: THOPPIL, ANIL PAUL; SUBRAMANIAN, ANANTHAN; URKUDE, SUHAS; BANERJEE, ARINDAM; JERNIGAN, RICHARD PARVIN, IV
To: NETAPP, INC.
Reel/Frame 067529/0586 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 13, 2024
From: THOPPIL, ANIL PAUL; SUBRANANIAN, ANANTHAN; URKUDE, SUHAS; BANERJEE, ARINDAM; JERNIGAN, RICHARD PARVIN, IV
To: NETAPP, INC.
Reel/Frame 067393/0435 →
Continuity (1)
Related Publication 20250284417A1 · Sep 11, 2025
References Cited (140)
US 6189015B1 · Reed et al. · 2001 [cited by applicant]
US 7409511B2 · Edwards et al. · 2008 [cited by applicant]
US 7730277B1 · Prakash et al. · 2010 [cited by applicant]
US 7958168B2 · Chen et al. · 2011 [cited by applicant]
US 7979402B1 · Hamilton et al. · 2011 [cited by applicant]
US 8005793B1 · Jernigan, IV · 2011 [cited by applicant]
US 8086603B2 · Nasre et al. · 2011 [cited by applicant]
US 8095730B1 · Jiang et al. · 2012 [cited by applicant]
US 8200630B1 · Park et al. · 2012 [cited by applicant]
US 8671265B2 · Wright · 2014 [cited by applicant]
US 8671445B1 · Wang et al. · 2014 [cited by applicant]
US 8812450B1 · Kesavan et al. · 2014 [cited by applicant]
US 8832363B1 · Sundaram et al. · 2014 [cited by applicant]
US 8903761B1 · Zayas et al. · 2014 [cited by applicant]
US 8903830B2 · Edwards · 2014 [cited by applicant]
US 9003021B2 · Wright et al. · 2015 [cited by applicant]
US 9122398B2 · Gupta et al. · 2015 [cited by applicant]
US 9407433B1 · Sohi et al. · 2016 [cited by applicant]
US 9846539B2 · Babu et al. · 2017 [cited by applicant]
US 10311019B1 · Vijendra et al. · 2019 [cited by applicant]
US 10365983B1 · Foley et al. · 2019 [cited by applicant]
US 10430279B1 · Dittia et al. · 2019 [cited by applicant]
US 10459806B1 · He et al. · 2019 [cited by applicant]
US 10810054B1 · Martinez Lerin · 2020 [cited by examiner]
US 10970259B1 · Bono et al. · 2021 [cited by applicant]
US 11023133B2 · Beloussov et al. · 2021 [cited by applicant]
US 11175984B1 · Lercari et al. · 2021 [cited by applicant]
US 11341099B1 · Wolfson et al. · 2022 [cited by applicant]
US 11755627B1 · Puente et al. · 2023 [cited by applicant]
US 11868656B2 · Dronamraju et al. · 2024 [cited by applicant]
US 12204784B1 · Thoppil et al. · 2025 [cited by applicant]
US 20010042221A1 · Moulton · 2001 [cited by examiner]
US 20020133512A1 · Milillo et al. · 2002 [cited by applicant]
US 20030093509A1 · Li · 2003 [cited by examiner]
US 20040015655A1 · Willis et al. · 2004 [cited by applicant]
US 20050114594A1 · Corbett et al. · 2005 [cited by applicant]
US 20050246401A1 · Edwards et al. · 2005 [cited by applicant]
US 20060036602A1 · Unangst et al. · 2006 [cited by applicant]
US 20060253856A1 · Hu · 2006 [cited by examiner]
US 20070174673A1 · Kawaguchi et al. · 2007 [cited by applicant]
US 20080071906A1 · Thoennes et al. · 2008 [cited by applicant]
US 20080154984A1 · Andrews et al. · 2008 [cited by applicant]
US 20100070764A1 · Ishii et al. · 2010 [cited by applicant]
US 20110202705A1 · Hayashi et al. · 2011 [cited by applicant]
US 20110302358A1 · Yu et al. · 2011 [cited by applicant]
US 20120023385A1 · Scouarnec et al. · 2012 [cited by applicant]
US 20120089797A1 · Shibayama et al. · 2012 [cited by applicant]
US 20120278382A1 · Faith et al. · 2012 [cited by applicant]
US 20120310892A1 · Dam et al. · 2012 [cited by applicant]
US 20130227145A1 · Wright et al. · 2013 [cited by applicant]
US 20140025909A1 · Naor · 2014 [cited by examiner]
US 20140122636A1 · Peake · 2014 [cited by examiner]
US 20140237321A1 · Gold · 2014 [cited by applicant]
US 20150244795A1 · Cantwell et al. · 2015 [cited by applicant]
US 20160105311A1 · Thakkar et al. · 2016 [cited by applicant]
US 20160202935A1 · Hoch et al. · 2016 [cited by applicant]
US 20160350358A1 · Patel et al. · 2016 [cited by applicant]
US 20170026263A1 · Gell et al. · 2017 [cited by applicant]
US 20180131749A1 · Dobrenko et al. · 2018 [cited by applicant]
US 20180314725A1 · Subramanian et al. · 2018 [cited by applicant]
US 20190114117A1 · Patel · 2019 [cited by examiner]
US 20190147069A1 · Ben Dayan et al. · 2019 [cited by applicant]
US 20200089420A1 · Sharoni et al. · 2020 [cited by applicant]
US 20200097404A1 · Cason · 2020 [cited by applicant]
US 20200117362A1 · McCarthy et al. · 2020 [cited by applicant]
US 20200117372A1 · Corey et al. · 2020 [cited by applicant]
US 20200136943A1 · Banyai et al. · 2020 [cited by applicant]
US 20210011640A1 · Hua et al. · 2021 [cited by applicant]
US 20210081292A1 · Jmt et al. · 2021 [cited by applicant]
US 20210081352A1 · Yang et al. · 2021 [cited by applicant]
US 20210124645A1 · Chinthekindi et al. · 2021 [cited by applicant]
US 20210349853A1 · Duttagupta et al. · 2021 [cited by applicant]
US 20210349859A1 · Bafna et al. · 2021 [cited by applicant]
US 20220137847A1 · Roche et al. · 2022 [cited by applicant]
US 20220197532A1 · Muthiah et al. · 2022 [cited by applicant]
US 20220222002A1 · Danilov · 2022 [cited by examiner]
US 20220308794A1 · Fukatani et al. · 2022 [cited by applicant]
US 20220391359A1 · Dronamraju et al. · 2022 [cited by applicant]
US 20220391361A1 · Subramanian et al. · 2022 [cited by applicant]
US 20230121460A1 · Banerjee et al. · 2023 [cited by applicant]
US 20230152986A1 · Sun et al. · 2023 [cited by applicant]
US 20230367517A1 · Dronamraju et al. · 2023 [cited by applicant]
US 20230367746A1 · Dronamraju et al. · 2023 [cited by applicant]
US 20230393787A1 · Dronamraju et al. · 2023 [cited by applicant]
US 20240143233A1 · Dronamraju et al. · 2024 [cited by applicant]
US 20250284424A1 · Curtis-Maury et al. · 2025 [cited by applicant]
US 20250284425A1 · Thoppil et al. · 2025 [cited by applicant]
US 20250284427A1 · Thoppil et al. · 2025 [cited by applicant]
US 20250284628A1 · Natarajan et al. · 2025 [cited by applicant]
US 20250284662A1 · Krishnamoorthy et al. · 2025 [cited by applicant]
US 20250284663A1 · Thoppil et al. · 2025 [cited by applicant]
EP 1369772A2 · 2003 [cited by applicant]
WO 2021050875A1 · 2021 [cited by applicant]
Vast., “Universal Storage Explained,” An E-White Paper, Feb. 12, 2024, 222 pages. [cited by applicant]
Final Office Action mailed on Jul. 3, 2025 for U.S. Appl. No. 18/595,768, filed Mar. 5, 2024, 18 pages. [cited by applicant]
Non-Final Office Action mailed on Dec. 19, 2024 for U.S. Appl. No. 18/595,768, filed Mar. 5, 2024, 14 pages. [cited by applicant]
Containers as a Service. Bring Data Rich Enterprise Applications to your Kubernetes Platform [online]. Portworx, Inc. 2021,8 pages [retrieved on Nov. 9, 2021]. Retrieved from the Internet: https://portworx.com/container… [cited by applicant]
Containers vs. Microservices: What's the Difference? [online]. BMC, 2021, 19 pages [retrieved on Nov. 9, 2021]. Retrieved from the Internet: https://www.bmc.com/blogs/containers-vs-microservices/. [cited by applicant]
Docker vs Virtual Machines (VMs): A Practical Guide to Docker Containers and VMs [online]. Jan. 16, 2020. Weaveworks, 2021, 8 pages, [retrieved on Nov. 9, 2021]. Retrieved from the Internet: https://www.weave.works/blog… [cited by applicant]
Extended European Search Report for Application No. EP22177676 mailed on Nov. 10, 2022, 10 pages. [cited by applicant]
GitHub., “Stork—Storage Orchestration Runtime for Kubernetes,” Libopenstorage/Stork, 2022, pp. 1-14. Retrieved from the Internet: https://github.com/libopenstorage/stork. [cited by applicant]
Joshi A., “From there to here, from here to there, Containers are Everywhere!,” Dec. 16, 2020 [online], Nutanix. Dev, 2021, 14 pages. [Retrieved on Nov. 9, 2021], Retrieved from the Internet: URL: https://www.nutanix.de… [cited by applicant]
Karbon Kubernetes Orchestration. Management Made Simple, [online]. Nutanix, 2021, 12 pages [Retrieved on Nov. 9, 2021]. Retrieved from the Internet: https://www.nutanix.com/products/karbon. [cited by applicant]
Kralj M., “How to Orchestrate the Modern Cloud with Kubernetes,” Jul. 2020, Software Engineering Blog, Retrieved from the Internet at: https://www.accenture.com/us-en/blogs/software-engineering-blog/kralj-orchestrate-mo… [cited by applicant]
Kubernetes., “Production-Grade Container Orchestration,” 2021, 6 pages. Retrieved from the Internet: [https://kubernetes.io/]. [cited by applicant]
NetApp SolidFire Element OS User Guide for Element OS Version 10.0, Sep. 2017, 215-12504_A0, 160 pages. [cited by applicant]
Non-Final Office Action mailed on Dec. 7, 2023 for U.S. Appl. No. 17/449,760, filed Oct. 1, 2021, 10 pages. [cited by applicant]
Non-Final Office Action mailed on Mar. 15, 2023 for U.S. Appl. No. 17/449,753, filed Oct. 1, 2021, 8 pages. [cited by applicant]
Non-Final Office Action mailed on Oct. 30, 2023 for U.S. Appl. No. 18/047,774, filed Oct. 19, 2022, 8 pages. [cited by applicant]
Notice of Allowance mailed on Apr. 8, 2024 for U.S. Appl. No. 18/359,192, filed Jul. 26, 2023, 08 pages. [cited by applicant]
Notice of Allowance mailed on Apr. 24, 2024 for U.S. Appl. No. 18/047,774, filed Oct. 19, 2022, 09 pages. [cited by applicant]
Notice of Allowance mailed on Aug. 31, 2023 for U.S. Appl. No. 17/449,753, filed Oct. 1, 2021, 7 pages. [cited by applicant]
Notice of Allowance mailed on Mar. 13, 2024 for U.S. Appl. No. 17/449,758, filed Oct. 1, 2021, 08 pages. [cited by applicant]
Notice of Allowance mailed on Nov. 8, 2023 for U.S. Appl. No. 17/449,758, filed Oct. 1, 2021, 8 pages. [cited by applicant]
Ontap 9, Concepts, Jun. 2021,215-11959_2021-06_en-us, 38 pages. [cited by applicant]
Ontap 9, Disks and Aggregates Power Guide, Jul. 2021,215-11204_2021-07_en-us, 54 pages. [cited by applicant]
Ontap 9, Replication between NetApp Element Software and Ontap, May 2021, 215-12645_2021-05_en-us, 23 pages. [cited by applicant]
Ontap 9, System Administration Reference, Jul. 2021, 15-11148_2021-07_en-us, 150 pages. [cited by applicant]
Pods [online]. Kubernetes, 2021, 6 pages [retrieved on Nov. 9, 2021]. Retrieved from the Internet: https://kubernetes.io/docs/concepts/workloads/pods/. [cited by applicant]
Portworx Data Services, the Complete Solution for Deploying Production-Grade Data Services on Kubernetes. [online]. Portworx, Inc. 2021,5 pages. [Retrieved on Nov. 9, 2021]. Retrieved from the Internet: https://portworx… [cited by applicant]
Portworx Enterprise is the Complete Kubernetes Storage Platform Trusted in Production by the Global 2000 [online]. Portworx, Inc. 2021, 10 pages [Retrieved on Nov. 9, 2021]. Retrieved from the Internet: https://portworx… [cited by applicant]
Portworx., “Guarantee Your Cloud Native Success with the Portworx Data Services Platform for Kubernetes,” Pure Storage, 2 pages. Retrieved from the Internet: https://portworx.com/platform/. [cited by applicant]
Portworx., “Portworx Releases STORK, An Open-Source Kubernetes Scheduler Extender to Add Additional Capabilities for Stateful Applications in Production,” GlobeNewswire, 2018, pp. 1-6. Retrieved from the Internet: https… [cited by applicant]
Portwrox., “Introducing STORK: Intelligent Storage Orchestration for Kubernetes,” STORK, 2018, pp. 1-10. Retrieved from the Internet: https://portworx.com/blog/stork-storage-orchestration-kubernetes/. [cited by applicant]
Restriction Requirement mailed Jun. 16, 2023 for U.S. Appl. No. 17/449,758, filed Oct. 1, 2021, 6 pages. [cited by applicant]
Sanglaji M., etal., “Nutanix Karbon: Enterprise-grade Kubernetes Solution,” Nov. 28, 2018, 5 pages [online], [retrieved on Nov. 9, 2021]. Retrieved from the Internet: https://www.nutanix.com/blog/nutanix-karbon-enterpri… [cited by applicant]
Screen Captures from YouTube Video Clip Entitled “Pure Storage Portworx Deep Dive,” 5 pages, Uploaded on Nov. 6, 2020 by User “Tech Field Day”. Retrieved from the Internet: https://www.youtube.com/watch?v=WTCI98RAbZg. [cited by applicant]
Software Defined Storage (SDS) Solutions, [online]. Trustradius, 2021, 14 pages [Retrieved on Nov. 9, 2021]. Retrieved from the Internet: https://www.trustradius.com/software-defined-storage-sds. [cited by applicant]
Software-defined Storage, [online] IBM, 2021, 12 pages [retrieved on Nov. 9, 2021]. Retrieved from the Internet: https://www.ibm.com/it-infrastructure. [cited by applicant]
Solution Brief. Easily Operate a Database-as-a-Service Platform, [online], Portworx, Inc. 2021, 2 pages [retrieved on Nov. 9, 2021]. Retrieved from the Internet: https://portworx.com/wp-content/uploads/2021/09/pds-solut… [cited by applicant]
Tanase C.D., “Portworx—Brief Introduction—k8s Persistent Storage, Mobility, Backup, DR Made Easier,” Backup and Restore of Kubernetes Containers, 2021, pp. 1-5. Retrieved from the Internet: https://www.linkedin.com/puls… [cited by applicant]
Weil S.A., et al., Ceph: A Scalable, High-performance Distributed File System. In Proceedings of the 7th Symposium on Operating Systems Design and Implementation (OSDI '06), USENIX Association, USA, 2006, pp. 307-320. [cited by applicant]
What Is Container Orchestration, Exactly? Everything to Know [online], LaunchDarkly, Apr. 28, 2021, 8 pages. [retrieved on Nov. 9, 2021]. Retrieved from the Internet: https://launchdarkly.com/blog/what-is-container-orch… [cited by applicant]
What is Container Orchestration? [online], CapitalOne, 2021, 8 pages [retrieved on Nov. 9, 2021], Retrieved from the Internet: https://www.capitalone.com/tech/cloud/what-is-container-orchestration/. [cited by applicant]
Non-Final Office Action mailed on Jul. 2, 2024 for U.S. Appl. No. 18/649,906, filed Apr. 29, 2024, 09 pages. [cited by applicant]
Notice of Allowance mailed on Sep. 18, 2024 for U.S. Appl. No. 18/649,906, filed Apr. 29, 2024, 08 pages. [cited by applicant]
International Search Report and Written Opinion for Application No. PCT/US2025/018334, mailed on May 9, 2025, 14 pages. [cited by applicant]
Non-Final Office Action mailed on Mar. 4, 2026 for U.S. Appl. No. 18/595,799, filed Mar. 5, 2024, 10 pages. [cited by applicant]
Non-Final Office Action mailed on Mar. 4, 2026 for U.S. Appl. No. 19/183,991, filed Apr. 21, 2025, 22 pages. [cited by applicant]
Notice of Allowance mailed on Apr. 15, 2026 for U.S. Appl. No. 18/595,768, filed Mar. 5, 2024, 13 pages. [cited by applicant]