IP Library Granted Patent US 12,504,928
Granted Patent B2
US 12,504,928 · App. 18/891,434 · Granted Dec 23, 2025

Determining corrective actions for a storage network based on event records

Inventors: Greg R. Dhuse (Chicago, IL); Yogesh R. Vedpathak (Chicago, IL)
Assignee: Pure Storage, Inc.
G06F3/0659G06F3/0604G06F3/0619G06F3/0653G06F3/067G06F11/0769G06F11/0778G06F11/079G06F11/1076G06F11/3006G06F11/3034G06F11/3072G06F11/3086G06F11/3419G06F11/3476G06F11/1092G06F11/321G06F11/3485G06F16/248
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,504,928
App. No.
18/891,434
Granted
Dec 23, 2025
Kind
B2
Abstract

Methods and apparatus determining corrective actions in a storage network. In various examples, a method (e.g., executed by one or more processing modules) includes capturing event information relating to operations performed by the storage network. The method further includes receiving an event analysis request and filtering the event information based on the event analysis request. The method also includes identifying based on the event analysis request, one or more event record entries of the event information and generating a representation of the identified event record entries. Based on the representation of the identified event record entries, a determination is made to initiate a corrective action in the storage network. In an example, the event record entries relate to user access operations or system administrative operations initiated by a device affiliated with the storage network.

Claims (53)

1 . A method for execution by one or more processing modules of a storage network, the method comprising:

capturing event information relating to operations performed by the storage network;

receiving an event analysis request;

filtering, based on the event analysis request, the event information;

identifying, based on the event analysis request, one or more event record entries of the event information;

generating a representation of the identified one or more event record entries;

determining, based on the representation of the identified one or more event record entries, to initiate a corrective action; and

initiating the corrective action.

2 . The method of claim 1 , wherein the one or more event record entries relate to user access operations or system administrative operations initiated by a device affiliated with the storage network.

3 . The method of claim 1 , wherein the corrective action includes at least one of disabling a storage unit of the storage network or enabling a hot standby storage unit of the storage network.

4 . The method of claim 1 , wherein the corrective action includes at least one of: rebuilding a data slice, migrating a data slice, sending an error message, or blocking a data access request.

5 . The method of claim 1 , wherein determining to initiate a corrective action is based on one or more of: a comparison of at least a portion of the generated representation to a representation threshold, a trend identified by a comparison of at least a portion of the generated representation to a previous representation, or determining that a comparison of at least a portion of the generated representation to a threshold is unfavorable.

6 . The method of claim 1 , further comprising:

forwarding the representation of the identified one or more event record entries to a requesting entity.

7 . The method of claim 1 , wherein filtering the event information includes:

determining one or more event filters based on the event analysis request; and

applying the one or more event filters to the event information.

8 . A computing device for use in a storage network, the computing device comprises:

one or more network interfaces;

memory including operational instructions; and

a processing module operably coupled to the memory and the one or more network interfaces, the processing module configured to execute the operational instructions to:

capture event information relating to operations performed by the storage network;

receive, via the one or more network interfaces, an event analysis request;

filter, based on the event analysis request, the event information;

identify, based on the event analysis request, one or more event record entries of the event information;

generate a representation of the identified one or more event record entries;

determine, based on the representation of the identified one or more event record entries, to initiate a corrective action; and

initiate the corrective action.

9 . The computing device of claim 8 , wherein the one or more event record entries relate to user access operations or system administrative operations initiated by a device affiliated with the storage network.

10 . The computing device of claim 8 , wherein the corrective action includes at least one of disabling a storage unit of the storage network or enabling a hot standby storage unit of the storage network.

11 . The computing device of claim 8 , wherein the corrective action includes at least one of: rebuilding a data slice, migrating a data slice, sending an error message, or blocking a data access request.

12 . The computing device of claim 8 , wherein determining to initiate a corrective action is based on one or more of: a comparison of at least a portion of the generated representation to a representation threshold, a trend identified by a comparison of at least a portion of the generated representation to a previous representation, or determining that a comparison of at least a portion of the generated representation to a threshold is unfavorable.

13 . The computing device of claim 8 , wherein the processing module is further configured to execute the operational instructions to:

forward the representation of the identified one or more event record entries to a requesting entity.

14 . The computing device of claim 8 , wherein filtering the event information includes:

determining one or more event filters based on the event analysis request; and

applying the one or more event filters to the event information.

15 . A non-transitory computer readable storage medium comprises:

at least one memory section that stores operational instructions that, when executed by one or more processing modules of a computing device of a storage network, causes the computing device to:

capture event information relating to operations performed by the storage network;

receive an event analysis request;

filter, based on the event analysis request, the event information;

identify, based on the event analysis request, one or more event record entries of the event information;

generate a representation of the identified one or more event record entries;

determine, based on the representation of the identified one or more event record entries, to initiate a corrective action; and

initiate the corrective action.

16 . The non-transitory computer readable storage medium of claim 15 , wherein the one or more event record entries relate to user access operations or system administrative operations initiated by a device affiliated with the storage network.

17 . The non-transitory computer readable storage medium of claim 15 , wherein the corrective action includes at least one of disabling a storage unit of the storage network or enabling a hot standby storage unit of the storage network.

18 . The non-transitory computer readable storage medium of claim 15 , wherein the corrective action includes at least one of: rebuilding a data slice, migrating a data slice, sending an error message, or blocking a data access request.

19 . The non-transitory computer readable storage medium of claim 15 , wherein determining to initiate a corrective action is based on one or more of: a comparison of at least a portion of the generated representation to a representation threshold, a trend identified by a comparison of at least a portion of the generated representation to a previous representation, or determining that a comparison of at least a portion of the generated representation to a threshold is unfavorable.

20 . The non-transitory computer readable storage medium of claim 15 , wherein filtering the event information includes:

determining one or more event filters based on the event analysis request; and

applying the one or more event filters to the event information.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 24, 2024
From: DHUSE, GREG R.; VEDPATHAK, YOGESH R.
To: PURE STORAGE, INC.
Reel/Frame 068673/0486 →
Continuity (7)
Continuation 18105989 · Feb 6, 2023
Continuation In Part 17236144 · Apr 21, 2021
Continuation 16148012 · Oct 1, 2018
Continuation In Part 15716169 · Sep 26, 2017
Continuation In Part 13547769 · Jul 12, 2012
Provisional Application 61512122 · Jul 27, 2011
Related Publication 20250013392A1 · Jan 9, 2025
References Cited (147)
US 4092732A · Ouchi · 1978 [cited by applicant]
US 5454101A · Mackay · 1995 [cited by applicant]
US 5485474A · Rabin · 1996 [cited by applicant]
US 5774643A · Lubbers · 1998 [cited by applicant]
US 5794252A · Bailey et al. · 1998 [cited by applicant]
US 5802364A · Senator · 1998 [cited by applicant]
US 5809285A · Hilland · 1998 [cited by applicant]
US 5890156A · Rekieta · 1999 [cited by applicant]
US 5948110A · Hitz · 1999 [cited by applicant]
US 5987622A · Lo Verso · 1999 [cited by applicant]
US 5991414A · Garay · 1999 [cited by applicant]
US 6012159A · Fischer · 2000 [cited by applicant]
US 6016553A · Schneider · 2000 [cited by applicant]
US 6047353A · Vishlitzky et al. · 2000 [cited by applicant]
US 6058454A · Gerlach · 2000 [cited by applicant]
US 6128277A · Bruck · 2000 [cited by applicant]
US 6175571B1 · Haddock · 2001 [cited by applicant]
US 6192472B1 · Garay · 2001 [cited by applicant]
US 6199178B1 · Schneider · 2001 [cited by applicant]
US 6240527B1 · Schneider · 2001 [cited by applicant]
US 6256688B1 · Suetaka · 2001 [cited by applicant]
US 6272658B1 · Steele · 2001 [cited by applicant]
US 6301604B1 · Nojima · 2001 [cited by applicant]
US 6356949B1 · Katsandres · 2002 [cited by applicant]
US 6366995B1 · Nikolaevich · 2002 [cited by applicant]
US 6374336B1 · Peters · 2002 [cited by applicant]
US 6415373B1 · Peters · 2002 [cited by applicant]
US 6418539B1 · Walker · 2002 [cited by applicant]
US 6449688B1 · Peters · 2002 [cited by applicant]
US 6507852B1 · Dempsey · 2003 [cited by applicant]
US 6567948B2 · Steele · 2003 [cited by applicant]
US 6571282B1 · Bowman-Amuah · 2003 [cited by applicant]
US 6609223B1 · Wolfgang · 2003 [cited by applicant]
US 6718361B1 · Basani · 2004 [cited by applicant]
US 6760808B2 · Peters · 2004 [cited by applicant]
US 6785768B2 · Peters · 2004 [cited by applicant]
US 6785783B2 · Buckland · 2004 [cited by applicant]
US 6826711B2 · Moulton · 2004 [cited by applicant]
US 6879596B1 · Dooply · 2005 [cited by applicant]
US 7003688B1 · Pittelkow · 2006 [cited by applicant]
US 7024451B2 · Jorgenson · 2006 [cited by applicant]
US 7024609B2 · Wolfgang · 2006 [cited by applicant]
US 7080101B1 · Watson · 2006 [cited by applicant]
US 7103824B2 · Halford · 2006 [cited by applicant]
US 7103915B2 · Redlich · 2006 [cited by applicant]
US 7111115B2 · Peters · 2006 [cited by applicant]
US 7140044B2 · Redlich · 2006 [cited by applicant]
US 7146644B2 · Redlich · 2006 [cited by applicant]
US 7171493B2 · Shu · 2007 [cited by applicant]
US 7222133B1 · Raipurkar · 2007 [cited by applicant]
US 7240236B2 · Cutts · 2007 [cited by applicant]
US 7272613B2 · Sim · 2007 [cited by applicant]
US 7330997B1 · Odom · 2008 [cited by applicant]
US 7516209B2 · Raghuraman · 2009 [cited by applicant]
US 7627617B2 · Kavuri et al. · 2009 [cited by applicant]
US 7636724B2 · de la Torre · 2009 [cited by applicant]
US 7681105B1 · Sim-Tang · 2010 [cited by applicant]
US 7685269B1 · Thrasher · 2010 [cited by applicant]
US 8024712B1 · Korolev et al. · 2011 [cited by applicant]
US 8516343B2 · Flynn · 2013 [cited by applicant]
US 20020062422A1 · Butterworth · 2002 [cited by applicant]
US 20020166079A1 · Ulrich · 2002 [cited by applicant]
US 20030018927A1 · Gadir · 2003 [cited by applicant]
US 20030037261A1 · Meffert · 2003 [cited by applicant]
US 20030065617A1 · Watkins · 2003 [cited by applicant]
US 20030084020A1 · Shu · 2003 [cited by applicant]
US 20030212903A1 · Porras · 2003 [cited by applicant]
US 20040024963A1 · Talagala · 2004 [cited by applicant]
US 20040122917A1 · Menon · 2004 [cited by applicant]
US 20040215998A1 · Buxton · 2004 [cited by applicant]
US 20040228493A1 · Ma · 2004 [cited by applicant]
US 20040243699A1 · Koclanes · 2004 [cited by applicant]
US 20050100022A1 · Ramprashad · 2005 [cited by applicant]
US 20050114594A1 · Corbett · 2005 [cited by applicant]
US 20050125593A1 · Karpoff · 2005 [cited by applicant]
US 20050131993A1 · Fatula · 2005 [cited by applicant]
US 20050132070A1 · Redlich · 2005 [cited by applicant]
US 20050144382A1 · Schmisseur · 2005 [cited by applicant]
US 20050229069A1 · Hassner · 2005 [cited by applicant]
US 20050278476A1 · Teske · 2005 [cited by applicant]
US 20060047907A1 · Shiga · 2006 [cited by applicant]
US 20060136448A1 · Cialini · 2006 [cited by applicant]
US 20060156059A1 · Kitamura · 2006 [cited by applicant]
US 20060156190A1 · Finkelstein · 2006 [cited by examiner]
US 20060161805A1 · Tseng · 2006 [cited by applicant]
US 20060224603A1 · Correll · 2006 [cited by applicant]
US 20060236053A1 · Shiga et al. · 2006 [cited by applicant]
US 20070079081A1 · Gladwin · 2007 [cited by applicant]
US 20070079082A1 · Gladwin · 2007 [cited by applicant]
US 20070079083A1 · Gladwin · 2007 [cited by applicant]
US 20070083724A1 · Kitamura · 2007 [cited by applicant]
US 20070088970A1 · Buxton · 2007 [cited by applicant]
US 20070174192A1 · Gladwin · 2007 [cited by applicant]
US 20070192478A1 · Louie · 2007 [cited by applicant]
US 20070214285A1 · Au · 2007 [cited by applicant]
US 20070234110A1 · Soran · 2007 [cited by applicant]
US 20070283167A1 · Venters · 2007 [cited by applicant]
US 20070294565A1 · Johnston · 2007 [cited by applicant]
US 20080071793A1 · Cohen · 2008 [cited by applicant]
US 20080162592A1 · Huang et al. · 2008 [cited by applicant]
US 20090094245A1 · Kerns · 2009 [cited by applicant]
US 20090094251A1 · Gladwin · 2009 [cited by applicant]
US 20090094318A1 · Gladwin · 2009 [cited by applicant]
US 20090164979A1 · Fischer · 2009 [cited by applicant]
US 20090276566A1 · Coatney et al. · 2009 [cited by applicant]
US 20100023524A1 · Gladwin · 2010 [cited by applicant]
US 20100058313A1 · Hansmann · 2010 [cited by applicant]
US 20100229112A1 · Ergan · 2010 [cited by applicant]
US 20100235434A1 · Henders · 2010 [cited by applicant]
US 20100332818A1 · Prahlad · 2010 [cited by applicant]
US 20110026842A1 · Cilfone et al. · 2011 [cited by applicant]
US 20110078206A1 · Chen · 2011 [cited by applicant]
US 20110107103A1 · Dehaan et al. · 2011 [cited by applicant]
US 20110161680A1 · Grube · 2011 [cited by applicant]
US 20120047214A1 · Daly · 2012 [cited by applicant]
US 20120266011A1 · Storer et al. · 2012 [cited by applicant]
US 20130097367A1 · Flynn et al. · 2013 [cited by applicant]
US 20130159790A1 · Iikura · 2013 [cited by examiner]
US 20140134996A1 · Barclay · 2014 [cited by applicant]
US 20190329790A1 · Nandakumar · 2019 [cited by examiner]
US 20200379652A1 · Kannan · 2020 [cited by examiner]
WO 2011030164A1 · 2011 [cited by applicant]
Agrawal, Nitin, et al. “A five-year study of file-system metadata.” ACM Transactions on Storage (TOS) 3.3 (2007): 9. [cited by applicant]
Chung; An Automatic Data Segmentation Method for 3D Measured Data Points; National Taiwan University; pp. 1-8; 1998. [cited by applicant]
Douglis, Fred, and John Ousterhout. “Log-structured file system.” COMPCON Spring'89. Thirty-Fourth IEEE Computer Society International Conference: Intellectual Leverage, Digest of Papers. IEEE, 1989. [cited by applicant]
European Patent Office; Extended Search Report; EP Application No. 12817413.3; Feb. 24, 2015; 6 pgs. [cited by applicant]
Harrison; Lightweight Directory Access Protocol (LDAP): Authentication Methods and Security Mechanisms; IETF Network Working Group; RFC 4513; Jun. 2006; pp. 1-32. [cited by applicant]
International Search Report and Written Opinion; International Application No. PCT/US12/46544; Oct. 16, 2012; 7 pgs. [cited by applicant]
Kubiatowicz, et al.; OceanStore: An Architecture for Global-Scale Persistent Storage; Proceedings of the Ninth International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS 20… [cited by applicant]
Legg; Lightweight Directory Access Protocol (LDAP): Syntaxes and Matching Rules; IETF Network Working Group; RFC 4517; Jun. 2006; pp. 1-50. [cited by applicant]
Muhammad, Yousaf, “Evaluation and Implementation of Distributed NoSQL Database for MMO Gaming Environment,” Oct. 2011, http://www.diva-portal.org/smash/get/diva2:44721 0/FULL TEXT01.pdf. [cited by applicant]
Plank, T1: Erasure Codes for Storage Applications; FAST2005, 4th Usenix Conference on File Storage Technologies; Dec. 13-16, 2005; pp. 1-74. [cited by applicant]
Rabin; Efficient Dispersal of Information for Security, Load Balancing, and Fault Tolerance; Journal of the Association for Computer Machinery; vol. 36, No. 2; Apr. 1989; pp. 335-348. [cited by applicant]
Resch, Jason K., Plank, James S., “AONT-RS: Blending Security and Performance in Dispersed Storage Systems;” Feb. 2011, http://web.eecs.utk.edu/-plank!plank!papers/FAST-2011.pdf. [cited by applicant]
Satran, et al.; Internet Small Computer Systems Interface (ISCSI); IETF Network Working Group; RFC 3720; Apr. 2004; pp. 1-257. [cited by applicant]
Sciberras; Lightweight Directory Access Protocol (LDAP): Schema for User Applications; IETF Network Working Group; RFC 4519; Jun. 2006; pp. 1-33. [cited by applicant]
Sermersheim; Lightweight Directory Access Protocol (LDAP): The Protocol; IETF Network Working Group; RFC 4511; Jun. 2006; pp. 1-68. [cited by applicant]
Shamir; How to Share a Secret; Communications of the ACM; vol. 22, No. 11; Nov. 1979; pp. 612-613. [cited by applicant]
Smith; Lightweight Directory Access Protocol (LDAP): Uniform Resource Locator; IETF Network Working Group; RFC 4516; Jun. 2006; pp. 1-15. [cited by applicant]
Smith; Lightweight Directory Access Protocol (LDAP): String Representation of Search Filters; IETF Network Working Group; RFC 4515; Jun. 2006; pp. 1-12. [cited by applicant]
Tate, Jon, et al. Introduction to storage area networks. IBM Corporation, International Technical Support Organization, 2005. [cited by applicant]
Wildi; Java iSCSi Initiator; Master Thesis; Department of Computer and Information Science, University of Konstanz; Feb. 2007; 60 pgs. [cited by applicant]
Xin, et al.; Evaluation of Distributed Recovery in Large-Scale Storage Systems; 13th IEEE International Symposium on High Performance Distributed Computing; Jun. 2004; pp. 172-181. [cited by applicant]
Zeilenga; Lightweight Directory Access Protocol (LDAP): Directory Information Models; IETF Network Working Group; RFC 4512; Jun. 2006; pp. 1-49. [cited by applicant]
Zeilenga; Lightweight Directory Access Protocol (LDAP): Internationalized String Preparation; IETF Network Working Group; RFC 4518; Jun. 2006; pp. 1-14. [cited by applicant]
Zeilenga; Lightweight Directory Access Protocol (LDAP): String Representation of Distinguished Names; IETF Network Working Group; RFC 4514; Jun. 2006; pp. 1-15. [cited by applicant]
Zeilenga; Lightweight Directory Access Protocol (LDAP): Technical Specification Road Map; IETF Network Working Group; RFC 4510; Jun. 2006; pp. 1-8. [cited by applicant]