IP Library Granted Patent US 12,316,612
Granted Patent B2
US 12,316,612 · App. 18/425,098 · Granted May 27, 2025

Storing, processing and analyzing large volumes of data in a storage network

Inventors: Andrew D. Baptist (Mt. Pleasant, WI); Greg R. Dhuse (Chicago, IL); Wesley B. Leggette (Chicago, IL); Jason K. Resch (Warwick, RI)
Assignee: Pure Storage, Inc.
H04L63/0428G06F3/0619G06F3/064G06F3/067H04L9/0825H04L9/085H04L9/0894H04L67/10H04L67/1097G06F11/1076G06F2211/1028H03M13/1515H04L2463/061
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,316,612
App. No.
18/425,098
Granted
May 27, 2025
Kind
B2
Abstract

A method for execution by a storage network begins by receiving data for storage by the storage network and continues by determining data preparation tasks for the data. The method continues by indexing the data in accordance with the data preparation tasks to generate a data index and processing the data in accordance with the data index to produce indexed data. The method then continues by determining distribution criteria for the data based on the data index and distributing the data and the data index to a set of distributed storage units in accordance with the distribution criteria, Finally, the method establishes criteria for analyzing found data of the data in the storage network.

Claims (45)

1. A method for execution by a storage network, the method comprises:

receiving data for storage by the storage network;

determining a plurality of data preparation tasks for the data;

indexing the data in accordance with the plurality of data preparation tasks to generate a data index;

processing the data in accordance with the data index to produce indexed data;

determining distribution criteria for the data based on the data index;

distributing the data and the data index to a set of distributed storage units in accordance with the distribution criteria; and

establishing criteria for analyzing found data of the data in the storage network.

2. The method of claim 1 , wherein the distribution criteria include dispersed error encoding parameters for the data.

3. The method of claim 1 , wherein the distribution criteria include one or more data preparation tasks of the plurality of data preparation tasks for execution by one or more distributed storage units of the set of distributed storage units.

4. The method of claim 1 , further comprising:

generating data indexing task information, the data indexing task information is a data preparation task of the plurality of data preparation tasks.

5. The method of claim 4 , wherein the data indexing task information includes at least one of data reduction instructions, a keyword filter, a data index reference, and a indexed data format.

6. The method of claim 1 , further comprising:

facilitating searching for found data on the storage network.

7. The method of claim 6 , further comprising:

determining data analyzing criteria for found data.

8. The method of claim 6 , wherein the data analyzing criteria are determined based on at least one of performing organization analysis, categorizing the found data and aggregating the found data, performing statistical analysis on the found data and performing interpretive analysis on the found data.

9. The method of claim 6 , further comprising:

analyzing, based on the data analyzing criteria, the found data to provide analyzed found data.

10. The method of claim 9 , further comprising:

generating a network data resultant from analyzed found data.

11. A method for execution by a storage unit in a storage network, the method comprises:

receiving one or more data preparation tasks from the storage network, wherein the data preparation tasks are associated with data for storage by the storage network;

indexing the data in accordance with the one or more data preparation tasks to generate a data index;

processing the data in accordance with the data index to produce indexed data;

storing the data and the data index.

12. The method of claim 11 , further comprising:

receiving, from the network, data analyzing criteria.

13. The method of claim 12 , wherein the data analyzing criteria are determined based on at least one of performing organization analysis, categorizing found data, aggregating found data, performing statistical analysis on found data and performing interpretive analysis on found data.

14. The method of claim 12 , further comprising:

analyzing, based on the data analyzing criteria, found data to provide analyzed found data.

15. The method of claim 14 , further comprising:

generating a network data resultant from analyzed found data.

16. The method of claim 15 , wherein the data indexing task information includes at least one of data reduction instructions, a keyword filter, a data index reference, and a indexed data format.

17. The method of claim 11 , wherein the one or more data preparation tasks include generating data indexing task information for the data.

18. The method of claim 11 , further comprising:

facilitating searching for found data in the storage unit.

19. A method for execution by a storage network, the method comprises:

receiving data for storage by the storage network;

determining a plurality of data preparation tasks for the data;

indexing the data in accordance with the plurality of data preparation tasks to generate a data index;

determining distribution criteria for the data based on the data index;

establishing criteria for analyzing found data in the storage network.

20. The method of claim 19 , wherein the data analyzing criteria are determined based on at least one of performing organization analysis, categorizing the found data, aggregating the found data, performing statistical analysis on the found data and performing interpretive analysis on the found data.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 1, 2024
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: PURE STORAGE, INC.
Reel/Frame 066404/0878 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 31, 2024
From: BAPTIST, ANDREW D.; DHUSE, GREG R.; LEGGETTE, WESLEY B.; RESCH, JASON K.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 066307/0036 →
Continuity (9)
Continuation 17937286 · Sep 30, 2022
Continuation 16858839 · Apr 27, 2020
Continuation 15824433 · Nov 28, 2017
Continuation In Part 15418164 · Jan 27, 2017
Continuation 13917017 · Jun 13, 2013
Continuation In Part 13707428 · Dec 6, 2012
Provisional Application 61679007 · Aug 2, 2012
Provisional Application 61569387 · Dec 12, 2011
Related Publication 20240171551A1 · May 23, 2024
References Cited (129)
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 6490353B1 · Tan · 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 examiner]
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 7480909B2 · McKean et al. · 2009 [cited by applicant]
US 7636724B2 · de la Torre · 2009 [cited by applicant]
US 9848044B2 · Leggette · 2017 [cited by examiner]
US 9998538B2 · Kazi · 2018 [cited by examiner]
US 20010021186A1 · Ono · 2001 [cited by applicant]
US 20020062422A1 · Butterworth · 2002 [cited by applicant]
US 20020091975A1 · Redlich · 2002 [cited by examiner]
US 20020099959A1 · Redlich · 2002 [cited by examiner]
US 20020144153A1 · LeVine · 2002 [cited by applicant]
US 20020166079A1 · Ulrich · 2002 [cited by applicant]
US 20030018927A1 · Gadir · 2003 [cited by applicant]
US 20030037261A1 · Meffert · 2003 [cited by examiner]
US 20030065617A1 · Watkins · 2003 [cited by applicant]
US 20030084020A1 · Shu · 2003 [cited by applicant]
US 20030115364A1 · Shu · 2003 [cited by examiner]
US 20030163507A1 · Chang et al. · 2003 [cited by applicant]
US 20040024963A1 · Talagala · 2004 [cited by applicant]
US 20040052369A1 · Stebbings · 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 · 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 · 2006 [cited by applicant]
US 20070030918A1 · Kobayashi · 2007 [cited by applicant]
US 20070050543A1 · Pomerantz · 2007 [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 examiner]
US 20080115143A1 · Shimizu · 2008 [cited by examiner]
US 20080212776A1 · Motoyama · 2008 [cited by applicant]
US 20090041244A1 · Lee · 2009 [cited by applicant]
US 20090094251A1 · Gladwin · 2009 [cited by applicant]
US 20090094318A1 · Gladwin · 2009 [cited by applicant]
US 20090217385A1 · Teow · 2009 [cited by applicant]
US 20100023524A1 · Gladwin · 2010 [cited by applicant]
US 20100268877A1 · Resch · 2010 [cited by applicant]
US 20110029524A1 · Baptist · 2011 [cited by applicant]
US 20110071988A1 · Resch · 2011 [cited by applicant]
US 20110072321A1 · Dhuse · 2011 [cited by applicant]
US 20110138192A1 · Kocher · 2011 [cited by examiner]
US 20110185258A1 · Grube et al. · 2011 [cited by applicant]
US 20110264717A1 · Grube et al. · 2011 [cited by applicant]
US 20110314058A1 · Motwani · 2011 [cited by examiner]
US 20180083930A1 · Baptist · 2018 [cited by examiner]
US 20190012234A1 · Grube · 2019 [cited by examiner]
EP 1903750A1 · 2008 [cited by applicant]
Chung; An Automatic Data Segmentation Method for 3D Measured Data Points; National Taiwan University; pp. 1-8; 1998. [cited by applicant]
Communication pursuant to Article 94(3) EPC; EP Application No. 12856963.9; May 26, 2017; 9 pages. [cited by applicant]
Editor: Valerie Illingworth for Market House Books, The Penguin Dictionary of Electronics, 1998, Penguin Group, Third Edition, Pertinent pp. 349 and 447. [cited by applicant]
European Patent Office; Extended Search Report; EP Application No. 12856963.9; Jun. 23, 2015; 7 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 Business Machines; Response to EP communication dated May 26, 2017; Nov. 1, 2017; 5 pgs. [cited by applicant]
International Search Report and Written Opinion; International Search Authority; International Application No. PCT/US12/68883; Feb. 26, 2013; 12 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]
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]