IP Library Granted Patent US 12,632,337
Granted Patent B2
US 12,632,337 · App. 18/760,171 · Granted May 19, 2026

Storage network with audit records aggregation and methods for use therewith

Inventors: Jason K. Resch (Warwick, RI); Wesley B. Leggette (Chicago, IL)
Assignee: Pure Storage, Inc.
G06F11/1076G06F3/06G06F3/0604G06F3/0619G06F3/064G06F3/067G06F11/00G06F11/1612G06F15/17331G06F21/6272G06F21/64H04L9/085H04L9/0863H04L9/0869H04L9/0877H04L9/0894H04L9/32H04L9/321H04L9/3263H04L63/123G06F11/1446G06F2211/1028H04L9/00H04L67/1097H04L2209/16
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,632,337
App. No.
18/760,171
Granted
May 19, 2026
Kind
B2
Abstract

A storage network operates by: obtaining audit records, wherein each of the audit records indicates: a timestamp for a corresponding message, at least one event type code selected from a plurality of event type codes for a corresponding audit event of the corresponding message, and an identifier for a corresponding system entity associated with at least one event corresponding to the at least one event code; aggregating a number of audit records over a period of time; generating an audit file to include the number of audit records and integrity information; and facilitating storage of the audit file by utilizing a name of the audit file.

Claims (35)

1 . A method comprising:

obtaining audit records, wherein each of the audit records indicates: a timestamp for a corresponding message, at least one event type code selected from a plurality of event type codes for a corresponding audit event of the corresponding message, and an identifier for a corresponding system entity associated with at least one event corresponding to the at least one event type code;

aggregating a number of audit records over a period of time;

generating an audit file to include the number of audit records and integrity information; and

facilitating storage of the audit file by utilizing a name of the audit file.

2 . The method of claim 1 , wherein the name of the audit file is determined based on a virtual storage network address associated with accessing the audit file when stored as a plurality of audit file slices in a storage network.

3 . The method of claim 1 , wherein the name of the audit file further includes at least one of: a text string name or a sequence number.

4 . The method of claim 1 , wherein the name of the audit file further includes at least one of: a timestamp when created or a timestamp associated with when the audit file may be deleted.

5 . The method of claim 1 , wherein the integrity information is generated based on at least one of: utilizing an ID associated with a storage processing unit, querying another device of a storage network for ID information, or receiving the ID information.

6 . The method of claim 1 , wherein the integrity information is generated based on at least one of obtaining a certificate, generating a signature of the certificate, or calculating a hash of the audit file.

7 . The method of claim 1 , wherein facilitating storage of the audit file by utilizing the name of the audit file includes at least one of: sending the audit file and the name of the audit file to a storage network for storage or storing the audit file and the name of the audit file in the storage network.

8 . A processing system comprises:

at least one processor;

a memory that stores operational instructions that, when executed by the at least one processor, cause the processing system to perform operations that include:

obtaining audit records, wherein each of the audit records indicates: a timestamp for a corresponding message, at least one event type code selected from a plurality of event type codes for a corresponding audit event of the corresponding message, and an identifier for a corresponding system entity associated with at least one event corresponding to the at least one event type code;

aggregating a number of audit records over a period of time;

generating an audit file to include the number of audit records and integrity information; and

facilitating storage of the audit file by utilizing a name of the audit file.

9 . The processing system of claim 8 , wherein the name of the audit file is determined based on a virtual storage network address associated with accessing the audit file when stored as a plurality of audit file slices in a storage network.

10 . The processing system of claim 8 , wherein the name of the audit file includes at least one of: a text string name or a sequence number.

11 . The processing system of claim 8 , wherein the name of the audit file includes at least one of: a timestamp when created or a timestamp associated with when the audit file may be deleted.

12 . The processing system of claim 8 , wherein the integrity information is generated based on at least one of: utilizing an ID associated with the processing system, querying another device for ID information, or receiving the ID information.

13 . The processing system of claim 8 , wherein the integrity information is generated based on at least one of obtaining a certificate, generating a signature of the certificate, or calculating a hash of the audit file.

14 . The processing system of claim 8 , wherein facilitating storage of the audit file utilizing the name of the audit file includes at least one of: sending the audit file and the name of the audit file to a storage network for storage, or storing the audit file and the name of the audit file in the storage network.

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

at least one memory section that stores operational instructions that, when executed by a processing system that includes a processor and a memory, causes the processing system to perform operations that include:

obtaining audit records, wherein each of the audit records indicates: a timestamp for a corresponding message, at least one event type code selected from a plurality of event type codes for a corresponding audit event of the corresponding message, and an identifier for a corresponding system entity associated with at least one event corresponding to the at least one event type code;

aggregating a number of audit records over a period of time;

generating an audit file to include the number of audit records and integrity information; and

facilitating storage of the audit file by utilizing a name of the audit file.

16 . The non-transitory computer readable storage medium of claim 15 , wherein the name of the audit file is determined based on a virtual storage network address associated with accessing the audit file when stored as a plurality of audit file slices in a storage network.

17 . The non-transitory computer readable storage medium of claim 15 , wherein the name of the audit file includes at least one of: a text string name or a sequence number.

18 . The non-transitory computer readable storage medium of claim 15 , wherein the name of the audit file includes at least one of: a timestamp when created or a timestamp associated with when the audit file may be deleted.

19 . The non-transitory computer readable storage medium of claim 15 , wherein the integrity information is generated based on at least one of: utilizing an ID associated with the processing system, querying another device for ID information, or receiving the ID information.

20 . The non-transitory computer readable storage medium of claim 15 , wherein the integrity information is generated based on at least one of obtaining a certificate, generating a signature of the certificate, or calculating a hash of the audit file.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 2, 2024
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: PURE STORAGE, INC.
Reel/Frame 068094/0026 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 1, 2024
From: RESCH, JASON K.; LEGGETTE, WESLEY B.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 067888/0687 →
Continuity (9)
Continuation 18058986 · Nov 28, 2022
Continuation 16985400 · Aug 5, 2020
Continuation 16860222 · Apr 28, 2020
Continuation 16050920 · Jul 31, 2018
Continuation 15217585 · Jul 22, 2016
Continuation In Part 14954527 · Nov 30, 2015
Division 13587277 · Aug 16, 2012
Provisional Application 61524521 · Aug 17, 2011
Related Publication 20240354192A1 · Oct 24, 2024
References Cited (100)
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 5802364A · Senator · 1998 [cited by applicant]
US 5809285A · Hilland · 1998 [cited by applicant]
US 5890156A · Rekieta · 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 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 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 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 7636724B2 · De La Torre · 2009 [cited by applicant]
US 8132073B1 · Bowers · 2012 [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 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 20050100022A1 · Ramprashad · 2005 [cited by applicant]
US 20050114594A1 · Corbett · 2005 [cited by applicant]
US 20050125593A1 · Karpoff · 2005 [cited by applicant]
US 20050131993A1 · Fatula, Jr. · 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 20060047907A1 · Shiga · 2006 [cited by applicant]
US 20060136448A1 · Cialini · 2006 [cited by applicant]
US 20060156059A1 · Kitamura · 2006 [cited by applicant]
US 20060224603A1 · Correll, Jr. · 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 20070088970A1 · Buxton · 2007 [cited by applicant]
US 20070174192A1 · Gladwin · 2007 [cited by applicant]
US 20070214285A1 · Au · 2007 [cited by applicant]
US 20070234110A1 · Soran · 2007 [cited by applicant]
US 20070283167A1 · Venters, III · 2007 [cited by applicant]
US 20090037728A1 · Kamikura · 2009 [cited by applicant]
US 20090094251A1 · Gladwin · 2009 [cited by applicant]
US 20090094318A1 · Gladwin · 2009 [cited by applicant]
US 20090288164A1 · Adelstein · 2009 [cited by examiner]
US 20100023524A1 · Gladwin · 2010 [cited by applicant]
US 20100241595A1 · Felsher · 2010 [cited by examiner]
Chung; An Automatic Data Segmentation Method for 3D Measured Data Points; National Taiwan University; pp. 1-8; 1998. [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]
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]
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]
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]
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]